本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。 FUJITSU SEMICONDUCTOR CONTROLLER MANUAL MN702-00010-2v0-J 8 ビット・マイクロコントローラ New 8FX MB95850K/860K/870K シリーズ ハードウェアマニュアル 8 ビット・マイクロコントローラ New 8FX MB95850K/860K/870K シリーズ ハードウェアマニュアル 富士通セミコンダクターのマイコンを効率的に開発するための情報を下記 URL にてご紹介いたします。 ご採用を検討中 , またはご採用いただいたお客様に有益な情報を公開しています。 http://edevice.fujitsu.com/micom/jp-support/ 富士通セミコンダクター株式会社 はじめに ■ 本書の目的と対象読者 富士通セミコンダクター製品につきまして , 平素より格別のご愛読を賜り厚くお礼申 し上げます。 MB95850K/860K/870Kシリーズは, ASIC (Application Specific IC) 対応が可能なオリジナ ル 8 ビット・ワンチップ・マイクロコントローラである New 8FX ファミリの汎用品の 1 つとして開発された製品です。MB95850K/860K/870K シリーズは , 携帯機器をはじめ民 生機器から産業機器まで , 幅広い用途でご利用いただけます。 本書は , 実際に MB95850K/860K/870K シリーズマイクロコントローラを使って製品を 設計する技術者を対象に , その機能や動作について記載していますので , ぜひご一読く ださい。 なお , 各種命令の詳細については ,「F2MC-8FX プログラミングマニュアル」を参照して ください。 本マニュアルは周辺機能の構成および動作を説明するものであり , 各デバイスの使用 を説明するものではありません。 デバイス仕様の詳細については , それぞれのデータシートを参照してください。 ■ 商標 F2MCは, FUJITSU Flexible Microcontrollerの略で富士通セミコンダクター株式会社の登 録商標です。 本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商 標です。 ■ サンプルプログラム 富士通セミコンダクター株式会社は , New 8FX ファミリマイクロコントローラの周辺 機器を動作させるためのサンプルプログラムを無償で提供いたします。サンプルプロ グラムを使用し , 富士通マイクロコントローラの動作仕様や使用方法の確認にお役立 てください。 サンプルプログラムは, 予告なく変更される場合がありますのでご注意ください。これ らのソフトウェアは , 標準的な動作や使い方を示したものですので , お客様のシステム 上でご使用の際には十分に評価した上でご使用ください。富士通セミコンダクター株 式会社は , これらサンプルプログラムの使用に起因する損害などについては一切責任 を負いません。 i 本書の使い方 ■ 機能の探し方 本書では次の方法で , 使いたい機能の説明を探すことができます。 • 目次から探す 本書の内容を記載順に示します。 • レジスタから探す 本文中では各レジスタの配置アドレスを記載しておりません。各レジスタのアドレスを確認する ときはデータシートの「■ I/O マップ」を参照してください。 ■ 章について 本書では , 基本的に 1 つの周辺機能を 1 つの章で説明しています。 ■ 用語について 本書で使用している用語について示します。 用語 説明 ワード 16 ビット単位によるアクセスを指します。 バイト 8 ビット単位によるアクセスを指します。 ■ 表記について 本書の「■ レジスタ構成」のレジスタ構成表では以下のように表記しています。 • bit: ビット番号 • Field: ビットフィールド名 • 属性 : 各ビットのリード , ライト属性 - R: リードオンリ - W: ライトオンリ - R/W: リード ・ ライト可能 - —: 未定義 • 初期値 : リセット直後のレジスタ初期値 - 0: 初期値 "0" - 1: 初期値 "1" - X: 初期値不定 本書では , 複数のビットを以下のように表記しています。 例 1: bit7 から bit0 の場合は bit7:0 例 2: SCM2 から SCM0 の場合は SCM[2:0] 本書では , アドレスなどの数値を以下のように表記しています。 • 16 進数 : プレフィックス ( 接頭辞 ) として "0x" を付けて表記しています ( 例 : 0xFFFF)。 • 2 進数 : プレフィックス ( 接頭辞 ) として "0b" を付けて表記しています ( 例 : 0b1111)。 • 10 進数 : 数値だけで表記しています ( 例 : 1234)。 本書では , 端子名とレジスタ略称にある "n" はチャネル番号を示します。 ii • • • • • • • 本資料の記載内容は , 予告なしに変更することがありますので , ご用命の際は営業部門にご確認くださ い。 本資料に記載された動作概要や応用回路例は , 半導体デバイスの標準的な動作や使い方を示したもので , 実際に使用する機器での動作を保証するものではありません。したがいまして , これらを使用するにあ たってはお客様の責任において機器の設計を行ってください。これらの使用に起因する損害などについ ては , 当社はその責任を負いません。 本資料に記載された動作概要・回路図を含む技術情報は , 当社もしくは第三者の特許権 , 著作権等の知的 財産権やその他の権利の使用権または実施権の許諾を意味するものではありません。また , これらの使用 について , 第三者の知的財産権やその他の権利の実施ができることの保証を行うものではありません。し たがって , これらの使用に起因する第三者の知的財産権やその他の権利の侵害について , 当社はその責任 を負いません。 本資料に記載された製品は , 通常の産業用 , 一般事務用 , パーソナル用 , 家庭用などの一般的用途に使用 されることを意図して設計・製造されています。 極めて高度な安全性が要求され , 仮に当該安全性が確保 されない場合 , 社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途(原子力 施設における核反応制御 , 航空機自動飛行制御 , 航空交通管制 , 大量輸送システムにおける運行制御 , 生 命維持のための医療機器 , 兵器システムにおけるミサイル発射制御をいう) , ならびに極めて高い信頼性 が要求される用途(海底中継器 , 宇宙衛星をいう)に使用されるよう設計・製造されたものではありませ ん。したがって , これらの用途にご使用をお考えのお客様は , 必ず事前に営業部門までご相談ください。ご 相談なく使用されたことにより発生した損害などについては , 責任を負いかねますのでご了承ください。 半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても , 結果的に人身事故 , 火災事故 , 社会的な損害を生じさせないよう , お客様は , 装置の冗長設計 , 延焼対策設計 , 過電流防止対策 設計 , 誤動作防止設計などの安全設計をお願いします。 本資料に記載された製品を輸出または提供する場合は , 外国為替及び外国貿易法および米国輸出管理関 連法規等の規制をご確認の上 , 必要な手続きをおとりください。 本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商標です。 Copyright © 2012-2013 FUJITSU SEMICONDUCTOR LIMITED All rights reserved. iii iv 目次 第1章 1.1 第2章 メモリアクセスモード ............................................................................... 1 メモリアクセスモード............................................................................................................ 2 CPU............................................................................................................ 3 2.1 専用レジスタ .......................................................................................................................... 4 2.1.1 レジスタバンクポインタ (RP)......................................................................................... 7 2.1.2 ダイレクトバンクポインタ (DP) ..................................................................................... 8 2.1.3 コンディションコードレジスタ (CCR) ......................................................................... 10 2.2 汎用レジスタ ........................................................................................................................ 12 2.3 16 ビットデータのメモリ上の配置 ...................................................................................... 14 第3章 クロック制御部 ........................................................................................ 15 3.1 概要 ...................................................................................................................................... 16 3.2 発振安定待ち時間 ................................................................................................................. 24 3.3 レジスタ ............................................................................................................................... 27 3.3.1 システムクロック制御レジスタ (SYCC) ....................................................................... 28 3.3.2 PLL 制御レジスタ (PLLC) ............................................................................................. 29 3.3.3 発振安定待ち時間設定レジスタ (WATR) ...................................................................... 31 3.3.4 スタンバイ制御レジスタ (STBC) .................................................................................. 33 3.3.5 システムクロック制御レジスタ 2 (SYCC2) .................................................................. 35 3.3.6 スタンバイ制御レジスタ 2 (STBC2) ............................................................................. 38 3.4 クロックモード .................................................................................................................... 39 3.5 低消費電力モード ( スタンバイモード ) の動作 ................................................................... 44 3.5.1 スタンバイモード使用上の注意 .................................................................................... 45 3.5.2 スリープモード ............................................................................................................. 50 3.5.3 ストップモード ............................................................................................................. 51 3.5.4 タイムベースタイマモード ........................................................................................... 53 3.5.5 時計モード..................................................................................................................... 55 3.6 クロック発振回路 ................................................................................................................. 56 3.7 プリスケーラの概要 ............................................................................................................. 57 3.8 プリスケーラの構成 ............................................................................................................. 58 3.9 プリスケーラの動作 ............................................................................................................. 59 3.10 プリスケーラ使用上の注意................................................................................................... 61 第4章 リセット................................................................................................... 63 4.1 リセット動作 ........................................................................................................................ 64 4.2 レジスタ ............................................................................................................................... 68 4.2.1 リセット要因レジスタ (RSRR) ..................................................................................... 69 4.3 使用上の注意 ........................................................................................................................ 72 第5章 割込み ...................................................................................................... 73 5.1 割込み ................................................................................................................................... 74 5.1.1 割込みレベル設定レジスタ (ILR0 ~ ILR5) ................................................................... 75 5.1.2 割込み動作時の処理 ...................................................................................................... 77 v 5.1.3 5.1.4 5.1.5 5.1.6 第6章 6.1 6.2 多重割込み..................................................................................................................... 80 割込み処理時間 ............................................................................................................. 81 割込み処理時のスタック動作........................................................................................ 82 割込み処理のスタック領域 ........................................................................................... 83 I/O ポート................................................................................................. 85 概要 ...................................................................................................................................... 86 構成と動作............................................................................................................................ 87 第7章 タイムベースタイマ................................................................................. 91 7.1 概要 ...................................................................................................................................... 92 7.2 構成 ...................................................................................................................................... 93 7.3 割込み ................................................................................................................................... 95 7.4 動作説明と設定手順例.......................................................................................................... 96 7.5 レジスタ ............................................................................................................................. 100 7.5.1 タイムベースタイマ制御レジスタ (TBTC) .................................................................. 101 7.6 使用上の注意 ...................................................................................................................... 103 第8章 ハードウェア / ソフトウェアウォッチドッグタイマ ............................. 105 8.1 概要 .................................................................................................................................... 106 8.2 構成 .................................................................................................................................... 108 8.3 動作説明と設定手順例........................................................................................................ 110 8.4 レジスタ ............................................................................................................................. 113 8.4.1 ウォッチドッグタイマ制御レジスタ (WDTC)............................................................. 114 8.5 使用上の注意 ...................................................................................................................... 116 第9章 時計プリスケーラ .................................................................................. 119 9.1 概要 .................................................................................................................................... 120 9.2 構成 .................................................................................................................................... 121 9.3 割込み ................................................................................................................................. 123 9.4 動作説明と設定手順例........................................................................................................ 124 9.5 レジスタ ............................................................................................................................. 127 9.5.1 時計プリスケーラ制御レジスタ (WPCR) .................................................................... 128 9.6 使用上の注意 ...................................................................................................................... 130 第 10 章 時計カウンタ.......................................................................................... 131 10.1 概要 .................................................................................................................................... 132 10.2 構成 .................................................................................................................................... 133 10.3 割込み ................................................................................................................................. 135 10.4 動作説明と設定手順例........................................................................................................ 136 10.5 レジスタ ............................................................................................................................. 138 10.5.1 時計カウンタデータレジスタ (WCDR) ....................................................................... 139 10.5.2 時計カウンタ制御レジスタ (WCSR) ........................................................................... 140 10.6 使用上の注意 ...................................................................................................................... 141 第 11 章 ワイルドレジスタ機能 ........................................................................... 143 11.1 概要 .................................................................................................................................... 144 11.2 構成 .................................................................................................................................... 145 11.3 動作説明 ............................................................................................................................. 147 vi 11.4 レジスタ ............................................................................................................................. 148 11.4.1 ワイルドレジスタデータ設定レジスタ (WRDR0 ~ WRDR2) .................................... 149 11.4.2 ワイルドレジスタアドレス設定レジスタ (WRAR0 ~ WRAR2) ................................. 150 11.4.3 ワイルドレジスタアドレス比較許可レジスタ (WREN) .............................................. 151 11.4.4 ワイルドレジスタデータテスト設定レジスタ (WROR).............................................. 152 11.5 一般的なハードウェア接続例 ............................................................................................. 153 第 12 章 8/16 ビット複合タイマ........................................................................... 155 12.1 概要 .................................................................................................................................... 156 12.2 構成 .................................................................................................................................... 158 12.3 チャネル ............................................................................................................................. 161 12.4 端子 .................................................................................................................................... 162 12.5 割込み ................................................................................................................................. 164 12.6 インターバルタイマ機能 ( ワンショットモード ) の動作説明............................................ 165 12.7 インターバルタイマ機能 ( 連続モード ) の動作説明 .......................................................... 167 12.8 インターバルタイマ機能 ( フリーランモード ) の動作説明 ............................................... 169 12.9 PWM タイマ機能 ( 周期固定モード ) の動作説明............................................................... 171 12.10 PWM タイマ機能 ( 周期可変モード ) の動作説明............................................................... 173 12.11 PWC タイマ機能の動作説明 .............................................................................................. 175 12.12 インプットキャプチャ機能の動作説明............................................................................... 177 12.13 ノイズフィルタの動作説明................................................................................................. 179 12.14 レジスタ ............................................................................................................................. 180 12.14.1 8/16 ビット複合タイマステータス制御レジスタ 0 (Tn0CR0/Tn1CR0) ...................... 181 12.14.2 8/16 ビット複合タイマステータス制御レジスタ 1 (Tn0CR1/Tn1CR1) ...................... 184 12.14.3 8/16 ビット複合タイマタイマモード制御レジスタ (TMCRn) ..................................... 188 12.14.4 8/16 ビット複合タイマデータレジスタ (Tn0DR/Tn1DR) ........................................... 191 12.15 使用上の注意 ...................................................................................................................... 194 第 13 章 外部割込み回路 ...................................................................................... 197 13.1 概要 .................................................................................................................................... 198 13.2 構成 .................................................................................................................................... 199 13.3 チャネル ............................................................................................................................. 200 13.4 端子 .................................................................................................................................... 201 13.5 割込み ................................................................................................................................. 202 13.6 動作説明と設定手順例........................................................................................................ 203 13.7 レジスタ ............................................................................................................................. 205 13.7.1 外部割込み制御レジスタ (EIC).................................................................................... 206 13.8 使用上の注意 ...................................................................................................................... 209 第 14 章 割込み端子選択回路.............................................................................. 211 14.1 概要 .................................................................................................................................... 212 14.2 構成 .................................................................................................................................... 213 14.3 端子 .................................................................................................................................... 216 14.4 動作 .................................................................................................................................... 217 14.5 レジスタ ............................................................................................................................. 218 14.5.1 割込み端子選択回路制御レジスタ (WICR).................................................................. 219 14.6 使用上の注意 ...................................................................................................................... 225 vii 第 15 章 8/10 ビット A/D コンバータ .................................................................. 227 15.1 概要 .................................................................................................................................... 228 15.2 構成 .................................................................................................................................... 229 15.3 端子 .................................................................................................................................... 231 15.4 割込み ................................................................................................................................. 232 15.5 動作説明と設定手順例........................................................................................................ 233 15.6 レジスタ ............................................................................................................................. 236 15.6.1 8/10 ビット A/D コンバータ制御レジスタ 1 (ADC1) .................................................. 237 15.6.2 8/10 ビット A/D コンバータ制御レジスタ 2 (ADC2) .................................................. 239 15.6.3 8/10 ビット A/D コンバータデータレジスタ ( 上位 / 下位 ) (ADDH/ADDL) ................ 241 15.7 使用上の注意 ...................................................................................................................... 242 第 16 章 低電圧検出リセット回路........................................................................ 245 16.1 概要 .................................................................................................................................... 246 16.2 構成 .................................................................................................................................... 247 16.3 端子 .................................................................................................................................... 248 16.4 動作説明 ............................................................................................................................. 249 16.5 レジスタ ............................................................................................................................. 250 16.5.1 LVD リセット電圧選択 ID レジスタ (LVDR) ............................................................... 251 16.5.2 LVD リセット回路パスワードレジスタ (LVDPW)....................................................... 252 16.5.3 LVD リセット回路制御レジスタ (LVDCC) .................................................................. 253 第 17 章 クロックスーパバイザカウンタ ............................................................. 255 17.1 概要 .................................................................................................................................... 256 17.2 構成 .................................................................................................................................... 257 17.3 動作説明 ............................................................................................................................. 259 17.4 レジスタ ............................................................................................................................. 264 17.4.1 クロック監視データレジスタ (CMDR)........................................................................ 265 17.4.2 クロック監視制御レジスタ (CMCR) ........................................................................... 266 17.5 使用上の注意 ...................................................................................................................... 268 第 18 章 8/16 ビット PPG .................................................................................... 271 18.1 概要 .................................................................................................................................... 272 18.2 構成 .................................................................................................................................... 273 18.3 チャネル ............................................................................................................................. 275 18.4 端子 .................................................................................................................................... 276 18.5 割込み ................................................................................................................................. 277 18.6 動作説明と設定手順例........................................................................................................ 278 18.6.1 8 ビット PPG 独立モード ........................................................................................... 279 18.6.2 8 ビットプリスケーラ + 8 ビット PPG モード ........................................................... 281 18.6.3 16 ビット PPG モード ................................................................................................ 284 18.7 レジスタ ............................................................................................................................. 287 18.7.1 8/16 ビット PPG タイマ n1 制御レジスタ (PCn1) ...................................................... 288 18.7.2 8/16 ビット PPG タイマ n0 制御レジスタ (PCn0) ...................................................... 290 18.7.3 8/16 ビット PPG タイマ n1/n0 周期設定バッファレジスタ (PPSn1/PPSn0) ............. 292 18.7.4 8/16 ビット PPG タイマ n1/n0 デューティ設定バッファレジスタ (PDSn1/PDSn0) .......................................................................................................... 293 18.7.5 18.7.6 8/16 ビット PPG 起動レジスタ (PPGS)...................................................................... 294 8/16 ビット PPG 出力反転レジスタ (REVC) .............................................................. 296 viii 18.8 使用上の注意 ...................................................................................................................... 298 第 19 章 UART/SIO .............................................................................................. 299 19.1 概要 .................................................................................................................................... 300 19.2 構成 .................................................................................................................................... 301 19.3 チャネル ............................................................................................................................. 303 19.4 端子 .................................................................................................................................... 304 19.5 割込み ................................................................................................................................. 305 19.6 動作説明と設定手順例........................................................................................................ 306 19.6.1 動作モード 0 の動作説明............................................................................................. 307 19.6.2 動作モード 1 の動作説明............................................................................................. 314 19.7 レジスタ ............................................................................................................................. 320 19.7.1 UART/SIO シリアルモード制御レジスタ 1 ch. n (SMC1n)......................................... 321 19.7.2 UART/SIO シリアルモード制御レジスタ 2 ch. n (SMC2n)......................................... 323 19.7.3 UART/SIO シリアルステータスアンドデータレジスタ ch. n (SSRn)......................... 325 19.7.4 UART/SIO シリアル入力データレジスタ ch. n (RDRn) .............................................. 327 19.7.5 UART/SIO シリアル出力データレジスタ ch. n (TDRn) .............................................. 328 第 20 章 UART/SIO 専用 ボーレートジェネレータ ............................................. 329 20.1 概要 .................................................................................................................................... 330 20.2 チャネル ............................................................................................................................. 331 20.3 動作説明 ............................................................................................................................. 332 20.4 レジスタ ............................................................................................................................. 333 20.4.1 UART/SIO 専用ボーレートジェネレータプリスケーラ選択レジスタ ch. n (PSSRn) ...................................................................................................................... 334 20.4.2 第 21 章 UART/SIO 専用ボーレートジェネレータボーレート設定レジスタ ch. n (BRSRn) .... 335 I2C バスインタフェース......................................................................... 337 21.1 概要 .................................................................................................................................... 338 21.2 構成 .................................................................................................................................... 339 21.3 チャネル ............................................................................................................................. 342 21.4 端子 .................................................................................................................................... 343 21.5 割込み ................................................................................................................................. 344 21.6 動作説明と設定手順例........................................................................................................ 346 21.6.1 l2C バスインタフェース .............................................................................................. 347 21.6.2 MCU スタンバイモードに対するウェイクアップ機能................................................ 355 21.7 レジスタ ............................................................................................................................. 357 21.7.1 I2C バス制御レジスタ 0 ch. n (IBCR0n) ...................................................................... 358 21.7.2 I2C バス制御レジスタ 1 ch. n (IBCR1n) ...................................................................... 362 21.7.3 I2C バスステータスレジスタ ch. n (IBSRn) ................................................................ 366 21.7.4 I2C データレジスタ ch. n (IDDRn) .............................................................................. 369 21.7.5 I2C アドレスレジスタ ch. n (IAARn) ........................................................................... 370 21.7.6 I2C クロック制御レジスタ ch. n (ICCRn) ................................................................... 371 21.8 使用上の注意 ...................................................................................................................... 373 第 22 章 シリアル書込み接続例 ........................................................................... 375 22.1 シリアル書込み接続の基本構成 ......................................................................................... 376 22.2 シリアル書込み接続例........................................................................................................ 377 ix 第 23 章 デュアルオペレーションフラッシュメモリ ........................................... 379 23.1 概要 .................................................................................................................................... 380 23.2 セクタ / バンク構成 ............................................................................................................ 382 23.3 フラッシュメモリ自動アルゴリズムの起動方法 ................................................................ 383 23.4 自動アルゴリズム実行状態の確認...................................................................................... 385 23.4.1 データポーリングフラグ (DQ7) .................................................................................. 387 23.4.2 トグルビットフラグ (DQ6) ......................................................................................... 389 23.4.3 タイミングリミット超過フラグ (DQ5) ....................................................................... 391 23.4.4 セクタ消去タイマフラグ (DQ3) .................................................................................. 392 23.4.5 トグルビット 2 フラグ (DQ2)...................................................................................... 393 23.5 フラッシュメモリの書込み / 消去....................................................................................... 394 23.5.1 フラッシュメモリの読出し / リセット状態への遷移................................................... 395 23.5.2 フラッシュメモリへのデータ書込み ........................................................................... 396 23.5.3 フラッシュメモリの全データ消去 ( チップ消去 ) ....................................................... 398 23.5.4 フラッシュメモリの特定データ消去 ( セクタ消去 ) .................................................... 399 23.5.5 フラッシュメモリセクタ消去の一時停止.................................................................... 401 23.5.6 フラッシュメモリセクタ消去の再開 ........................................................................... 402 23.5.7 アンロックバイパス書込み ......................................................................................... 403 23.6 動作説明 ............................................................................................................................. 404 23.7 フラッシュセキュリティ .................................................................................................... 406 23.8 レジスタ ............................................................................................................................. 407 23.8.1 フラッシュメモリステータスレジスタ 2 (FSR2) ........................................................ 408 23.8.2 フラッシュメモリステータスレジスタ (FSR) ............................................................. 411 23.8.3 フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) ......................................... 414 23.8.4 フラッシュメモリステータスレジスタ 3 (FSR3) ........................................................ 416 23.8.5 フラッシュメモリステータスレジスタ 4 (FSR4) ........................................................ 418 23.9 使用上の注意 ...................................................................................................................... 426 第 24 章 不揮発性レジスタ (NVR) インタフェース ............................................. 427 24.1 概要 .................................................................................................................................... 428 24.2 構成 .................................................................................................................................... 429 24.3 レジスタ ............................................................................................................................. 430 24.3.1 メイン CR クロックトリミングレジスタ ( 上位 ) (CRTH) .......................................... 431 24.3.2 メイン CR クロックトリミングレジスタ ( 下位 ) (CRTL) ........................................... 432 24.3.3 メイン CR クロック温度依存調節レジスタ (CRTDA)................................................. 433 24.3.4 ウォッチドッグタイマ選択 ID レジスタ ( 上位 / 下位 ) (WDTH/WDTL)...................... 434 24.4 メイン CR クロックトリミング使用上の注意 .................................................................... 435 24.5 使用上の注意 ...................................................................................................................... 437 第 25 章 コンパレータ.......................................................................................... 439 25.1 概要 .................................................................................................................................... 440 25.2 構成 .................................................................................................................................... 441 25.3 専用 BGR............................................................................................................................ 443 25.4 端子 .................................................................................................................................... 444 25.5 割込み ................................................................................................................................. 445 25.6 動作説明と設定手順例........................................................................................................ 446 25.7 レジスタ ............................................................................................................................. 448 25.7.1 コンパレータ制御レジスタ ch. n (CMRn) ................................................................... 449 x 第 26 章 タッチセンサ.......................................................................................... 453 26.1 概要 .................................................................................................................................... 454 26.2 構成 .................................................................................................................................... 455 26.3 端子 .................................................................................................................................... 458 26.4 割込み ................................................................................................................................. 459 26.5 動作説明と設定手順例........................................................................................................ 462 26.6 レジスタ ............................................................................................................................. 472 26.6.1 TS タッチチャネル許可レジスタ 0 (TER0)................................................................. 473 26.6.2 TS タッチチャネル許可レジスタ 1 (TER1)................................................................. 475 26.6.3 TS プリスケーラ制御レジスタ (PSC) ......................................................................... 477 26.6.4 TS ウォームリセットレジスタ (WRESET) ................................................................. 480 26.6.5 TS 感度選択レジスタ 0 (RSEL0)................................................................................. 481 26.6.6 TS 感度選択レジスタ 1 (RSEL1)................................................................................. 482 26.6.7 TS 感度選択レジスタ 2 (RSEL2)................................................................................. 483 26.6.8 TS 感度選択レジスタ 3 (RSEL3)................................................................................. 484 26.6.9 TS 感度選択レジスタ 4 (RSEL4)................................................................................. 485 26.6.10 TS 感度選択レジスタ 5 (RSEL5)................................................................................. 486 26.6.11 TS 感度選択レジスタ 6 (RSEL6)................................................................................. 487 26.6.12 TS ビープ期間設定レジスタ (BPDUR)........................................................................ 488 26.6.13 TS ダイレクト出力制御レジスタ 1 (DIOR1) ............................................................... 489 26.6.14 TS ダイレクト出力制御レジスタ 2 (DIOR2) ............................................................... 491 26.6.15 TS ダイレクト出力制御レジスタ 3 (DIOR3) ............................................................... 493 26.6.16 TS 機能選択レジスタ (FTSEL).................................................................................... 494 26.6.17 TS AIC 待ち時間設定レジスタ (AICWAT)................................................................... 495 26.6.18 TS 校正間隔設定レジスタ (CALITV) ........................................................................... 496 26.6.19 TS 統合時間設定レジスタ (ITGTM)............................................................................. 497 26.6.20 TS アイドル時間設定レジスタ (IDLETM) ................................................................... 499 26.6.21 TS 制御レジスタ (CONTROL)..................................................................................... 500 26.6.22 TS 割込みマスクレジスタ (INTMR) ............................................................................ 502 26.6.23 TS 割込みクリアレジスタ (INTCR)............................................................................. 504 26.6.24 TS 割込み保留レジスタ (INTPR)................................................................................. 506 26.6.25 TS フィルタ期間設定レジスタ (FLTP)........................................................................ 508 26.6.26 TS フィルタしきい値設定レジスタ (FLTTH) .............................................................. 509 26.6.27 TS 基準遅延設定レジスタ (REFDLY).......................................................................... 510 26.6.28 TS アルファ値設定レジスタ ch. n (ALPHn) ................................................................ 511 26.6.29 TS ベータ値設定レジスタ (BETA) .............................................................................. 512 26.6.30 TS タッチ強度しきい値設定レジスタ ch. n (STRTHn) ............................................... 513 26.6.31 TS タッチ強度レジスタ ch. n (STRn) ......................................................................... 514 26.6.32 TS 校正済みインピーダンスレジスタ ch. n (CALIPn)................................................. 515 26.6.33 TS インピーダンスレジスタ ch. n (IMPEn)................................................................. 516 26.6.34 TS タッチデータレジスタ ( 下位 ) (TOUCHL)............................................................. 517 26.6.35 TS タッチデータレジスタ ( 上位 ) (TOUCHH) ............................................................ 519 第 27 章 27.1 27.2 27.3 27.4 27.5 ビープ出力ユニット............................................................................... 521 概要 .................................................................................................................................... 522 構成 .................................................................................................................................... 523 端子 .................................................................................................................................... 524 動作説明と設定手順例........................................................................................................ 525 レジスタ ............................................................................................................................. 527 xi 27.5.1 第 28 章 ビープ出力周波数レジスタ (BPFREQ) ....................................................................... 528 システム構成コントローラ .................................................................... 531 28.1 概要 .................................................................................................................................... 532 28.2 レジスタ ............................................................................................................................. 533 28.2.1 システム構成レジスタ (SYSC) ................................................................................... 534 28.3 使用上の注意 ...................................................................................................................... 536 付録 付録 A A.1 A.2 A.3 A.4 A.5 ............................................................................................................... 537 命令概要 ........................................................................................................................ 538 アドレッシング ........................................................................................................... 541 特殊な命令について.................................................................................................... 545 ビット操作命令 (SETB, CLRB)................................................................................... 549 F2MC-8FX 命令一覧表 ................................................................................................ 550 命令マップ .................................................................................................................. 554 xii 本版での主な変更内容 ページ 69 変更内容 ( 詳細は本文を参照してください。) 第 4 章 リセット 4.2.1 リセット要因レジスタ (RSRR) ■ レジスタ機能 EXTS ビットの詳細にある以下の記述を変更 読出し動作により , このビットは "0" になります。書込 み動作 ("0" または "1" の書込み ) はこのビットを "0" に 設定します。 → 読出し動作または書込み動作 ("0" または "1" の書込み ) はこのビットを "0" に設定します。 WDTR ビットの詳細にある以下の記述を変更 読出し動作により , このビットは "0" になります。書込 み動作 ("0" または "1" の書込み ) はこのビットを "0" に 設定します。 → 読出し動作または書込み動作 ("0" または "1" の書込み ) はこのビットを "0" に設定します。 PONR ビットの詳細にある以下の記述を変更 読出し動作により , このビットは "0" になります。書込 み動作 ("0" または "1" の書込み ) はこのビットを "0" に 設定します。 → 読出し動作または書込み動作 ("0" または "1" の書込み ) はこのビットを "0" に設定します。 HWR ビットの詳細にある以下の記述を変更 読出し動作により , このビットは "0" になります。書込 み動作 ("0" または "1" の書込み ) はこのビットを "0" に 設定します。 → 読出し動作または書込み動作 ("0" または "1" の書込み ) はこのビットを "0" に設定します。 70 SWR ビットの詳細にある以下の記述を変更 読出し動作により , このビットは "0" になります。書込 み動作 ("0" または "1" の書込み ) はこのビットを "0" に 設定します。 → 読出し動作または書込み動作 ("0" または "1" の書込み ) またはパワーオンリセットはこのビットを "0" に設定し ます。 378 第 22 章 シリアル書込み接続例 22.2 シリアル書込み接続例 ■ シリアル書込み接続例 プルアップ抵抗の使用に関する記述を追加 455 第 26 章 タッチセンサ 26.2 構成 ■ TS のブロックダイヤグラム 図 26.2-1 注記 *2 を追加 xiii ページ 変更内容 ( 詳細は本文を参照してください。) 456 26.2 構成 ■ TS のブロックダイヤグラム ● AIC コントローラ 458 26.3 端子 ■ TS の端子 ● AREF 端子 460 26.4 割込み ■ GINT の詳細 461 466 ~ 470 26.5 動作説明と設定手順例 ■ TS の動作 472 26.6 478 26.6.3 TS プリスケーラ制御レジ スタ (PSC) ■ レジスタ機能 479 481 レジスタ 26.6.5 TS 感度選択レジスタ 0 (RSEL0) 以下の記述を変更 AIC コントローラは AIC を制御します。 → AIC コントローラは自動インピーダンス校正機能を制御 します。 「● AREF 端子」を追加 表 26.4-1 の内容を変更 <注意事項>の注記を変更 最小 TINT 間隔 = ITGTM の設定 × FLTP の設定 × SNCLK → 最小 TINT 間隔 = ITGTM の設定 × FLTP の設定 × SNCLKs 「■ TS の動作」を追加 表 26.6-1 を変更 図 26.6-1 を変更 DIVSEL[3:0] ビットの詳細に以下の記述を追加 SNCLKs 周波数域の詳細について , デバイスのデータ シートを参照してください。 RSEL0 レジスタのレジスタ名を変更 TS 抵抗選択レジスタ 0 → TS 感度選択レジスタ 0 本節の要約を変更 TS 抵抗選択レジスタ 0 (RSEL0) はタッチ基準チャネルの 感度に抵抗値を選択します。 → TS 感度選択レジスタ 0 (RSEL0) はタッチ基準チャネルの 感度を選択します。 26.6.5 TS 感度選択レジスタ 0 (RSEL0) ■ レジスタ機能 SREFB[2:0] ビットの詳細を変更 これらのビットはタッチ基準チャネルの感度を決める 抵抗値を選択します。 → これらのビットはタッチ基準チャネルの感度を選択し ます。 SREFB[2:0] ビットの表を変更 xiv ページ 482 変更内容 ( 詳細は本文を参照してください。) 26.6.6 TS 感度選択レジスタ 1 (RSEL1) RSEL1 レジスタのレジスタ名を変更 TS 抵抗選択レジスタ 1 → TS 感度選択レジスタ 1 本節の要約を変更 TS 感度選択レジスタ 1 (RSEL1) はタッチ ch. 0 の感度と タッチ ch. 1 の感度にそれぞれの抵抗値を選択します。 → TS 感度選択レジスタ 1 (RSEL1) はタッチ ch. 0 の感度と タッチ ch. 1 の感度を選択します。 26.6.6 TS 感度選択レジスタ 1 (RSEL1) ■ レジスタ機能 S01B[2:0] ビットの詳細を変更 これらのビットはタッチ ch. 1 の感度を決める抵抗値を 選択します。 → これらのビットはタッチ ch. 1 の感度を選択します。 S01B[2:0] ビットの表を変更 S00B[2:0] ビットの詳細を変更 これらのビットはタッチ ch. 0 の感度を決める抵抗値を 選択します。 → これらのビットはタッチ ch. 0 の感度を選択します。 S00B[2:0] ビットの表を変更 483 26.6.7 TS 感度選択レジスタ 2 (RSEL2) RSEL2 レジスタのレジスタ名を変更 TS 抵抗選択レジスタ 2 → TS 感度選択レジスタ 2 本節の要約を変更 TS 感度選択レジスタ 2 (RSEL2) はタッチ ch. 2 の感度と タッチ ch. 3 の感度にそれぞれの抵抗値を選択します。 → TS 感度選択レジスタ 2 (RSEL2) はタッチ ch. 2 の感度と タッチ ch. 3 の感度を選択します。 26.6.7 TS 感度選択レジスタ 2 (RSEL2) ■ レジスタ機能 S03B[2:0] ビットの詳細を変更 これらのビットはタッチ ch. 3 の感度を決める抵抗値を 選択します。 → これらのビットはタッチ ch. 3 の感度を選択します。 S03B[2:0] ビットの表を変更 S02B[2:0] ビットの詳細を変更 これらのビットはタッチ ch. 2 の感度を決める抵抗値を 選択します。 → これらのビットはタッチ ch. 2 の感度を選択します。 S02B[2:0] ビットの表を変更 xv ページ 484 変更内容 ( 詳細は本文を参照してください。) 26.6.8 TS 感度選択レジスタ 3 (RSEL3) RSEL3 レジスタのレジスタ名を変更 TS 抵抗選択レジスタ 3 → TS 感度選択レジスタ 3 本節の要約を変更 TS 感度選択レジスタ 3 (RSEL3) はタッチ ch. 4 の感度と タッチ ch. 5 の感度にそれぞれの抵抗値を選択します。 → TS 感度選択レジスタ 3 (RSEL3) はタッチ ch. 4 の感度と タッチ ch. 5 の感度を選択します。 26.6.8 TS 感度選択レジスタ 3 (RSEL3) ■ レジスタ機能 S05B[2:0] ビットの詳細を変更 これらのビットはタッチ ch. 5 の感度を決める抵抗値を 選択します。 → これらのビットはタッチ ch. 5 の感度を選択します。 S05B[2:0] ビットの表を変更 S04B[2:0] ビットの詳細を変更 これらのビットはタッチ ch. 4 の感度を決める抵抗値を 選択します。 → これらのビットはタッチ ch. 4 の感度を選択します。 S04B[2:0] ビットの表を変更 485 26.6.9 TS 感度選択レジスタ 4 (RSEL4) RSEL4 レジスタのレジスタ名を変更 TS 抵抗選択レジスタ 4 → TS 感度選択レジスタ 4 本節の要約を変更 TS 感度選択レジスタ 4 (RSEL4) はタッチ ch. 6 の感度と タッチ ch. 7 の感度にそれぞれの抵抗値を選択します。 → TS 感度選択レジスタ 4 (RSEL4) はタッチ ch. 6 の感度と タッチ ch. 7 の感度を選択します。 26.6.9 TS 感度選択レジスタ 4 (RSEL4) ■ レジスタ機能 S07B[2:0] ビットの詳細を変更 これらのビットはタッチ ch. 7 の感度を決める抵抗値を 選択します。 → これらのビットはタッチ ch. 7 の感度を選択します。 S07B[2:0] ビットの表を変更 S06B[2:0] ビットの詳細を変更 これらのビットはタッチ ch. 6 の感度を決める抵抗値を 選択します。 → これらのビットはタッチ ch. 6 の感度を選択します。 S06B[2:0] ビットの表を変更 xvi ページ 486 変更内容 ( 詳細は本文を参照してください。) 26.6.10 TS 感度選択レジスタ 5 (RSEL5) RSEL5 レジスタのレジスタ名を変更 TS 抵抗選択レジスタ 5 → TS 感度選択レジスタ 5 本節の要約を変更 TS 感度選択レジスタ 5 (RSEL5) はタッチ ch. 8 の感度と タッチ ch. 9 の感度にそれぞれの抵抗値を選択します。 → TS 感度選択レジスタ 5 (RSEL5) はタッチ ch. 8 の感度と タッチ ch. 9 の感度を選択します。 26.6.10 TS 感度選択レジスタ 5 (RSEL5) ■ レジスタ機能 S09B[2:0] ビットの詳細を変更 これらのビットはタッチ ch. 9 の感度を決める抵抗値を 選択します。 → これらのビットはタッチ ch. 9 の感度を選択します。 S09B[2:0] ビットの表を変更 S08B[2:0] ビットの詳細を変更 これらのビットはタッチ ch. 8 の感度を決める抵抗値を 選択します。 → これらのビットはタッチ ch. 8 の感度を選択します。 S08B[2:0] ビットの表を変更 487 26.6.11 TS 感度選択レジスタ 6 (RSEL6) RSEL6 レジスタのレジスタ名を変更 TS 抵抗選択レジスタ 6 → TS 感度選択レジスタ 6 本節の要約を変更 TS 感度選択レジスタ 6 (RSEL6) はタッチ ch. 10 の感度と タッチ ch. 11 の感度にそれぞれの抵抗値を選択します。 → TS 感度選択レジスタ 6 (RSEL6) はタッチ ch. 10 の感度と タッチ ch. 11 の感度を選択します。 26.6.11 TS 感度選択レジスタ 6 (RSEL6) ■ レジスタ機能 S11B[2:0] ビットの詳細を変更 これらのビットはタッチ ch. 11 の感度を決める抵抗値を 選択します。 → これらのビットはタッチ ch. 11 の感度を選択します。 S11B[2:0] ビットの表を変更 S10B[2:0] ビットの詳細を変更 これらのビットはタッチ ch. 10 の感度を決める抵抗値を 選択します。 → これらのビットはタッチ ch. 10 の感度を選択します。 S10B[2:0] ビットの表を変更 xvii ページ 変更内容 ( 詳細は本文を参照してください。) 495 26.6.17 TS AIC 待ち時間設定レジ 以下の記述を変更 センサ入力がなく , AIC 待ち時間が経過すると , AIC が スタ (AICWAT) 開始します。 ■ レジスタ機能 → タッチパッドに触れたことがなく , AIC 待ち時間が経過 すると , AIC が開始します。 496 26.6.18 TS 校正間隔設定レジスタ CALI[7:0] ビットの詳細を変更 (CALITV) ■ レジスタ機能 497 26.6.19 TS 統合時間設定レジスタ INTET[7:0] ビットの詳細にある以下の記述を変更 (ITGTM) 統合時間はタッチ出力を累積する時間です。 ■ レジスタ機能 → 統合時間は , 図 26.6-2 に示された , タッチ出力を累積す る時間です。 図 26.6-2 を追加 498 506, 507 26.6.24 TS 割込み保留レジスタ (INTPR) 506 26.6.24 TS 割込み保留レジスタ (INTPR) ■ レジスタ機能 本節の位置を 26.6.35 から 26.6.24 に変更 NEW ビットの詳細に以下の記述を追加 INTCR レジスタの NEW ビットに "1" が書き込まれると , このビットはクリアされます。 EOC ビットの詳細に以下の記述を追加 INTCR レジスタの EOC ビットに "1" が書き込まれると , このビットはクリアされます。 ITA ビットの詳細に以下の記述を追加 INTCR レジスタの ITA ビットに "1" が書き込まれると , このビットはクリアされます。 507 ATI ビットの詳細に以下の記述を追加 INTCR レジスタの ATI ビットに "1" が書き込まれると , このビットはクリアされます。 TINT ビットの詳細に以下の記述を追加 INTCR レジスタの TINT ビットに "1" が書き込まれると , このビットはクリアされます。 508 26.6.25 TS フィルタ期間設定レジ FILP[7:0] ビットの詳細に以下の記述を追加 ( この動作用のアルゴリズムは APIS に類似します。) スタ (FLTP) ■ レジスタ機能 511 26.6.28 TS アルファ値設定レジス ALP[6:0] ビットの詳細に書かれた解像度を訂正 0.06 pF → 0.063 pF タ ch. n (ALPHn) ■ レジスタ機能 ALP[6:0] ビットの詳細に書かれた容量値を訂正 0.3 pF (5 × 0.06 pF) → 0.315 pF (5 × 0.063 pF) 以上 513 26.6.30 TS タッチ強度しきい値設 STH0 ビットの初期値を訂正 0→1 定設定レジスタ ch. n (STRTHn) ■ レジスタ構成 xviii ページ 変更内容 ( 詳細は本文を参照してください。) 515 26.6.32 TS 校正済みインピーダン CIR[6:0] ビットの詳細にある以下の記述を変更 スレジスタ ch. n (CALIPn) タッチパッドに触れ , タッチによるインピーダンスの低 下がアルファ値より大きい場合 , TS はそのタッチを認識 ■ レジスタ機能 できます。 → タッチパッドに触れ , タッチによるインピーダンス (IMPEn レジスタ値 ) の低下 * がアルファ値より大きい場 合 , TS はそのタッチを認識できます。 CIR[6:0] ビットの詳細に注記を追加 516 26.6.33 TS インピーダンスレジス IR[6:0] ビットの詳細にある以下の記述を変更 これらのビットは , タッチ ch. n を校正するために , タッ タ ch. n (IMPEn) チ ch. n のタッチパッドにおける現在のインピーダンス ■ レジスタ機能 の変化を反映します。 → これらのビットはタッチ ch. n のタッチパッドにおける インピーダンスの変化を反映します。AIC コントローラ は , タッチ ch. n を校正するために , IMPEn レジスタ値を 使用します。 519 26.6.35 TS タッチデータレジスタ TOUCHH レジスタの構成を訂正 ( 上位 ) (TOUCHH) ■ レジスタ構成 26.6.35 TS タッチデータレジスタ 未定義ビットのビット数を訂正 [bit7:3] → [bit7:4] ( 上位 ) (TOUCHH) ■ レジスタ機能 TS11 ビットのビット番号を訂正 bit2 → bit3 TS10 ビットのビット番号を訂正 bit1 → bit2 TS09 ビットのビット番号を訂正 bit0 → bit1 TS08 ビットの詳細を追加 xix xx 第1章 メモリアクセスモード メモリアクセスモードについて説明します。 1.1 MN702-00010-2v0-J メモリアクセスモード FUJITSU SEMICONDUCTOR LIMITED 1 第 1 章 メモリアクセスモード 1.1 メモリアクセスモード MB95850K/860K/870K シリーズ メモリアクセスモード 1.1 本シリーズ のメモリアクセスは , シングルチップモードのみです。 ■ シングルチップモード シングルチップモードでは , 内部の RAM およびフラッシュメモリのみが使用され , 外 部バスアクセスは行いません。 ● モードデータ モードデータは ,CPU のメモリアクセスモードを決定するデータです。 モードデータアドレスは ,"0xFFFD" に固定されます。フラッシュメモリのモードデータ は必ず "0x00" に設定してシングルチップモードを選択してください。 図 1.1-1 モードデータの設定 アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0xFFFD 動作 データ 0x00 0x00以外 シングルチップモード選択 予約済み, 0x00以外モードデータに設定しないでください リセット解除後に , CPU は最初にモードデータをフェッチします。 CPU はモードデータの次に , リセットベクタをフェッチします。リセットベクタで設定 されたアドレスから命令の実行を開始します。 2 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第2章 CPU CPU の機能と動作について説明します。 MN702-00010-2v0-J 2.1 専用レジスタ 2.2 汎用レジスタ 2.3 16 ビットデータのメモリ上の配置 FUJITSU SEMICONDUCTOR LIMITED 3 第 2 章 CPU 2.1 専用レジスタ 2.1 MB95850K/860K/870K シリーズ 専用レジスタ CPU には , プログラムカウンタ (PC), 2 つの演算用レジスタ (A, T), 3 つのアドレスポ インタ (IX, EP, SP) およびプログラムステータス (PS) の専用レジスタがあります。各 レジスタは , 16 ビット長です。PS レジスタは , レジスタバンクポインタ (RP), ダイレ クトバンクポインタ (DP) およびコンディションコードレジスタ (CCR) から構成され ます。 ■ 専用レジスタの構成 CPU 内の専用レジスタは , 7 つの 16 ビットレジスタから構成されます。アキュムレータ (A) およびテンポラリアキュムレータ (T) については , 下位 8 ビットのみの使用もでき ます。 図 2.1-1 に , 専用レジスタの構成を示します。 図 2.1-1 専用レジスタの構成 16 ビット 初期値 : プログラムカウンタ PC 0xFFFD 現在の命令格納位置を示します。 0x0000 AH AL : アキュムレータ (A) 0x0000 TH TL : テンポラリアキュムレータ (T) 演算や転送などの一時記憶レジスタです。 アキュムレータとの間で演算を行います。 0x0000 IX : インデックスレジスタ 0x0000 EP : エクストラポインタ インデックスアドレスを示すレジスタです。 メモリアドレスを示すポインタです。 0x0000 : スタックポインタ SP 現在のスタック位置を示します。 0x0030 RP DP PS 4 CCR : プログラムステータス レジスタバンクポインタ, ダイレクトバンクポインタ やコンディションコードを格納するレジスタです。 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 2 章 CPU 2.1 専用レジスタ ■ 専用レジスタの機能 ● プログラムカウンタ (PC) プログラムカウンタは , CPU により現在実行されている命令のメモリアドレスを示す 16 ビットのカウンタです。プログラムカウンタは , 命令の実行 , 割込み , リセットなど によりその内容が更新されます。リセット直後の初期値は , モードデータの読出しアド レス (0xFFFD) です。 ● アキュムレータ (A) アキュムレータは, 16ビット長の演算用レジスタで, メモリ上のデータやテンポラリア キュムレータ (T) などほかのレジスタ内のデータと各種の演算および転送処理を行い ます。アキュムレータ内のデータは , ワード長 (16 ビット)としてもバイト長 (8 ビット) としても扱えます。バイト長データの演算処理や転送処理では , アキュムレータの下位 8 ビット (AL) のみが使用され , 上位 8 ビット (AH) は変化しません。リセット直後の初 期値は "0x0000" です。 ● テンポラリアキュムレータ (T) テンポラリアキュムレータは , 16 ビット長の演算用補助レジスタで , アキュムレータ (A) 内のデータと各種の演算を行います。テンポラリアキュムレータ内のデータは , ア キュムレータ (A) に対する演算がワード長 (16 ビット ) の場合はワード長で , バイト長 (8 ビット ) の場合はバイト長で扱われます。バイト長演算が行われると , テンポラリア キュムレータの下位 8 ビット (TL) のみが使用され , 上位 8 ビット (TH) は使われません。 MOV 命令を使用してアキュムレータ (A) にデータを転送する場合 , アキュムレータに 格納されていたデータは自動的にテンポラリアキュムレータへと転送されます。バイ ト長のデータを転送する場合は , テンポラリアキュムレータの上位 8 ビット (TH) は変 化しません。リセット後の初期値は "0x0000" です。 ● インデックスレジスタ (IX) インデックスレジスタは , インデックスアドレスを保持するための 16 ビット長のレジ スタで , 1 バイト分 , オフセット (-128 ~ +127) して使用します。インデックスアドレス にオフセット値を加えることにより , データアクセスのためのメモリアドレスが生成 されます。 リセット後の初期値は "0x0000" です。 ● エクストラポインタ (EP) エクストラポインタは , データアクセスのためのメモリアドレスを示す値を保持する 16 ビット長のレジスタです。リセット後の初期値は "0x0000" です。 ● スタックポインタ (SP) スタックポインタは , 割込みやサブルーチン呼び出しが生じたとき , スタックの退避 / 復帰命令によって参照されるアドレスを保持する 16 ビット長のレジスタです。プログ ラムの実行中 , スタックポインタの値は , スタックに退避された最新データのアドレス となっています。 リセット後の初期値は "0x0000" です。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 5 第 2 章 CPU 2.1 専用レジスタ MB95850K/860K/870K シリーズ ● プログラムステータス (PS) プログラムステータスは , 16 ビット長の制御レジスタです。上位 8 ビットは , レジスタ バンクポインタ (RP) とダイレクトバンクポインタ (DP) から構成され , 下位 8 ビットは , コンディションコードレジスタ (CCR) となっています。 上位 8 ビットのうち , 上位 5 ビットはレジスタバンクポインタで , 汎用レジスタバンク のアドレスを保持するために使用します。下位 3 ビットはダイレクトバンクポインタ で , ダイレクトアドレッシングにより高速にアクセスされる領域を示します。 下位 8 ビットはコンディションコードレジスタ (CCR) で , CPU の状態を表す各種フラ グで構成されます。 プログラムステータスにアクセス可能な命令は , MOVW A,PS と MOVW PS,A です。プ ログラムステータスレジスタ内のレジスタバンクポインタ (RP) とダイレクトバンクポ インタ (DP) は , ミラーアドレス (0x0078) をアクセスすることでも書込み / 読出しがで きます。 なお , コンディションコードレジスタ (CCR) は , プログラムステータスレジスタの一部 であり , コンディションコードレジスタのみのアクセスはできません。 専用レジスタの詳しい使用方法については,「F2MC-8FXプログラミングマニュアル」を 参照してください。 6 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 2 章 CPU 2.1 専用レジスタ MB95850K/860K/870K シリーズ 2.1.1 レジスタバンクポインタ (RP) プログラムステータス (PS) の bit15 ~ bit11 であるレジスタバンクポインタ (RP) は , 現在使用している汎用レジスタバンクのアドレスを示し , 汎用レジスタアドレッ シング時に実アドレスに変換されます。 ■ レジスタバンクポインタ (RP) の構成 図 2.1-2 に , レジスタバンクポインタの構成を示します。 図 2.1-2 レジスタバンクポインタの構成 RP DP CCR RP 初期値 bit15 bit14 bit13 bit12 bit11 bit10 bit9 PS R4 R3 R2 R1 R0 DP2 DP1 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 DP0 H I IL1 IL0 N Z V C 0b00000 レジスタバンクポインタは , 現在使用されているレジスタバンクのアドレスを示しま す。 レジスタバンクポインタの内容は , 図 2.1-3 に示す規則にしたがって , 実アドレスに 変換されます。 図 2.1-3 汎用レジスタ領域の実アドレス変換規則 RP 上位 固定値 "0" 発生アドレス "0" "0" "0" "0" "0" オペコード 下位 "0" "1" R4 R3 R2 R1 R0 b2 b1 b0 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 レジスタバンクポインタは , RAM 領域の中で汎用レジスタとして使用するレジスタバ ンクを指定します。レジスタバンクは全部で 32 個あり , レジスタバンクポインタの上 位 5 ビットに 0 ~ 31 の値を設定することにより指定されます。1 つのレジスタバンク には , 8 つの 8 ビット長の汎用レジスタがあり , オペコードの下位 3 ビットで選択され ます。 このレジスタバンクポインタによって , "0x0100" ~ "0x01FF"( 最大 ) までを , 汎用レジ スタ領域として使用できます。ただし , 一部の製品には , 汎用レジスタ領域として使用 可能な領域のサイズに制限があります。レジスタバンクポインタのリセット後の初期 値は "0x0000" です。 ■ レジスタバンクポインタおよびダイレクトバンクポインタのミラーアドレス レジスタバンクポインタ (RP) およびダイレクトバンクポインタ (DP) の値は ,「MOVW PS,A」命令によってプログラムステータス (PS) レジスタにアクセスすることにより , 書 き込めます。読出しは ,「MOVW A,PS」 命令によってプログラムステータス (PS) にアク セスすることにより行えます。 また , レジスタバンクポインタのミラーアドレス "0x0078" にアクセスすることで , 両ポインタを直接書込み / 読出しできます。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 7 第 2 章 CPU 2.1 専用レジスタ MB95850K/860K/870K シリーズ ダイレクトバンクポインタ (DP) 2.1.2 プログラムステータス (PS) の bit10 ~ bit8 であるダイレクトバンクポインタ (DP) は , ダイレクトアドレッシングでアクセスする領域を指定するためのものです。 ■ ダイレクトバンクポインタ (DP) の構成 図 2.1-4 に , ダイレクトバンクポインタの構成を示します。 図 2.1-4 ダイレクトバンクポインタの構成 RP DP CCR DP 初期値 bit15 bit14 bit13 bit12 bit11 bit10 bit9 PS R4 R3 R2 R1 R0 DP2 DP1 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 DP0 H I IL1 IL0 N Z V C 0b000 0x0000 ~ 0x007F および 0x0090 ~ 0x047F の領域は , ダイレクトアドレッシングにより アクセスできます。ダイレクトバンクポインタの値にかかわらず 0x0000 ~ 0x007F への アクセスはオペランドで指定します。0x0090 ~ 0x047F へのアクセスは , ダイレクトバ ンクポインタの値とオペランドにより指定します。 表 2.1-1 に , ダイレクトバンクポインタ (DP) とアクセス領域の関係を , 表 2.1-2 にダイ レクトアドレッシング命令一覧を示します。 表 2.1-1 ダイレクトバンクポインタとアクセス領域 ダイレクトバンクポインタ (DP[2:0]) オペランドで指定された dir アクセス領域 * 0bXXX( マッピングに影響しません ) 0x0000 ~ 0x007F 0x0000 ~ 0x007F 0b000( 初期値 ) 0b001 0x0090 ~ 0x00FF 0x0090 ~ 0x00FF 0x0100 ~ 0x017F 0b010 0x0180 ~ 0x01FF 0b011 0x0200 ~ 0x027F 0b100 0x0080 ~ 0x00FF 0x0280 ~ 0x02FF 0b101 0x0300 ~ 0x037F 0b110 0x0380 ~ 0x03FF 0b111 0x0400 ~ 0x047F *: 使用可能なアクセス領域は品種によって異なります。詳細は , 各品種のデータシートを参照 してください。 8 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 表 2.1-2 第 2 章 CPU 2.1 専用レジスタ ダイレクトアドレッシング命令一覧 適用可能な命令 CLRB dir:bit SETB dir:bit BBC dir:bit,rel BBS dir:bit,rel MOV A,dir CMP A,dir ADDC A,dir SUBC A,dir MOV dir,A XOR A,dir AND A,dir OR A,dir MOV dir,#imm CMP dir,#imm MOVW A,dir MOVW dir,A MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 9 第 2 章 CPU 2.1 専用レジスタ MB95850K/860K/870K シリーズ コンディションコードレジスタ (CCR) 2.1.3 プログラムステータス (PS) レジスタの下位 8 ビットであるコンディションコードレ ジスタ (CCR) は , 演算結果や転送データに関する情報を示すビット (H, N, Z, V, C) と 割込み要求の受付けを制御するためのビット (I, IL[1:0]) によって構成されます。 ■ コンディションコードレジスタ (CCR) の構成 図 2.1-5 コンディションコードレジスタの構成 RP DP CCR CCR 初期値 bit15 bit14 bit13 bit12 bit11 bit10 bit9 PS R4 R3 R2 R1 R0 DP2 DP1 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 DP0 H I IL1 IL0 N Z V C 0b00110000 ハーフキャリフラグ 割込み許可フラグ 割込みレベルビット ネガティブフラグ ゼロフラグ オーバフローフラグ キャリフラグ コンディションコードレジスタは , プログラムステータス (PS) レジスタの一部であり , そのためコンディションコードレジスタに独立してアクセスすることはできません。 ■ 演算結果を示すビット ● ハーフキャリフラグ (H) このフラグは , 演算の結果 , bit3 から bit4 への繰上げ ( キャリ ) や bit4 から bit3 への借 越し ( ボロー) が発生した場合に "1" になります。発生しなかった場合には , "0" になり ます。このフラグは10進補正命令用であるため, 加減算以外の演算には使用しないでく ださい。 ● ネガティブフラグ (N) このフラグは , 演算の結果 , 最上位ビットの値が "1" となった場合に "1" になり , "0" と なった場合に "0" になります。 ● ゼロフラグ (Z) このフラグは , 演算の結果が "0" のときは "1" になり , それ以外のときは "0" になります。 ● オーバフローフラグ (V) このフラグは, 演算に用いたオペランドを2の補数で表現される整数とみなしての演算 の結果 , オーバフローが発生したかどうかを示します。オーバフローが発生した場合 , オーバフローフラグは "1" に , オーバフローが発生しなかった場合は "0" になります。 10 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 2 章 CPU 2.1 専用レジスタ MB95850K/860K/870K シリーズ ● キャリフラグ (C) このフラグは , 演算の結果 , bit7 からの繰上げ ( キャリ ) や bit7 への借越し ( ボロー) が 発生した場合に "1" になります。発生しなかった場合には , "0" になります。また , シフ ト命令の実行時には , シフトアウトした値がこのフラグに設定されます。 図 2.1-6 に , シフト命令によるキャリフラグの変化を示します。 図 2.1-6 シフト命令によるキャリフラグの変化 • 左シフトの場合 (ROLC) • 右シフトの場合 (RORC) bit7 bit0 bit7 bit0 C C ■ 割込みの受付けを制御するビット ● 割込み許可フラグ (I) このフラグが "1" のときは割込みが許可され , CPU は割込みを受け付けます。 "0" のと きは割込みが禁止され , CPU は割込みを受け付けません。 リセット後の初期値は "0" です。 このフラグは , SETI 命令で "1" になり , CLRI 命令で "0" になります。 ● 割込みレベルビット (IL[1:0]) これらのビットは , CPU が現在受け付けている割込みのレベルを示します。 割込みレベルは , 各周辺機能の割込み要求 (IRQ00 ~ IRQ23) に対応する割込みレベル 設定レジスタ (ILR0 ~ ILR5) の値と比較されます。 割込み許可フラグが許可 (CCR:I=1) 状態であり , 割込み要求の割込みレベルがこれらの ビットが示す値より小さい場合のみ , CPU はその割込み要求を処理します。 表 2.1-3 に , 割 込みレベルの優先度を示します。リセット後の初期値は "0b11" になります。 表 2.1-3 割込みレベル IL1 IL0 割込みレベル 優先度 0 0 0 高い 0 1 1 1 0 2 1 1 3 低い ( 割込みなし ) CPU が割込み処理中でなければ ( メインプログラム実行中 ), 割込みレベルビット (IL[1:0]) は通常 , "0b11" となっています。 割込みの詳細については 「5.1 , 割込み」を参照してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 11 第 2 章 CPU 2.2 汎用レジスタ 2.2 MB95850K/860K/870K シリーズ 汎用レジスタ 汎用レジスタは , 8 ビット ×8 個を 1 バンクとするメモリブロックです。最大 32 バン クまで使用できます。レジスタバンクの指定には , レジスタバンクポインタ (RP) を使 用します。 レジスタバンクは , 割込み処理 , ベクタコール処理およびサブルーチンの呼出しに使 用すると有効です。 ■ 汎用レジスタの構成 • 汎用レジスタは 8 ビット長のレジスタで , 汎用レジスタ領域 (RAM 上 ) のレジスタ バンク内にあります。 • 1 バンクあたり 8 つのレジスタ (R0 ~ R7) があり , 最大 32 バンクまで使用できます。 • 現在使用しているレジスタバンクはレジスタバンクポインタ (RP) で指定され , オペ コードの下位 3 ビットが汎用レジスタ 0(R0) ~汎用レジスタ 7(R7) を示します。 図 2.2-1 に , レジスタバンクの構成を示します。 図 2.2-1 レジスタバンクの構成 8 ビット 0x1F8 ここのアドレス = 0x0100 + 8 × (RP) アドレス 0x100 R0 R0 R0 R1 R2 R3 R4 R5 R6 0x107 R1 R2 R3 R4 R5 R6 R7 R1 R2 R3 R4 R5 R6 0x1FF R7 バンク 31 R7 バンク 0 32 バンク 使用できるRAM容量に よって, バンク数は 制限されます。 メモリ領域 各品種で使用可能な汎用レジスタ領域については , 各品種のデータシートの「■ 特定用 途の領域」 を参照してください。 12 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 2 章 CPU 2.2 汎用レジスタ ■ 汎用レジスタの特長 汎用レジスタには , 以下のような特長があります。 • 短い命令によるRAMへの高速アクセス(汎用レジスタアドレッシング)が可能です。 • レジスタバンクのブロックにレジスタをまとめることで , データの保護と , 機能に よるレジスタの分類が容易になります。 個々の割込みサービスルーチンやベクタコール (CALLV #0 ~ #7) 処理ルーチンに対し て , 専用の汎用レジスタバンクを割り当てることができます。例えば , 「2 番目の割込 みには必ず 4 番目のレジスタバンクを割り当てる」という使い方ができます。 割込みサービスルーチンの先頭で専用レジスタバンクを指定するだけで , 割込み前に 汎用レジスタに格納されていたデータを , そのレジスタバンクに保存できます。これに よって , 汎用レジスタのデータをスタックに退避する必要がなくなり , CPU は高速に割 込みを受け付けることができるようになります。 <注意事項> レジスタバンクを指定するためにレジスタバンクポインタ (RP) を変更するときには , コ ンディションコードレジスタの割込みレベルビット (CCR:IL[1:0]) の値が変更されないよ うにするために , 割込みサービスルーチンのプログラムに , 以下の処理のいずれかを入れ てください。 • RP の値を書き込む前に , 割込みレベルビットを読み出し , その値を保存する。 • RP のミラーアドレス "0x0078" に新しい値を直接書き込んでください。 • RAMサイズが256バイトである製品では, 汎用レジスタとして使用可能な領域は"0x0100" ~ "0x018F" であり , RAM サイズが 512 バイト以上である製品の半分となっています。し たがって C コンパイラなどのプログラム開発ツールを用いて汎用レジ スタ領域を設定 する際には , 汎用レジスタとして使用する領域がインストールされた RAM のサイズを 超えていないことを確認してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 13 第 2 章 CPU 2.3 16 ビットデータのメモリ上の配置 2.3 MB95850K/860K/870K シリーズ 16 ビットデータのメモリ上の配置 16 ビットデータのメモリ上の格納状態について説明します。 ■ 16 ビットデータのメモリ上の配置 ● RAM による 16 ビットデータの格納状態 メモリに 16 ビットデータを書き込む場合 , アドレス値の小さい方にデータの上位バイ トが , その次のアドレスにデータの下位バイトがそれぞれ格納されます。 16 ビットデー タの読出し時も同様に扱われます。 図 2.3-1 に , メモリ上の 16 ビットデータの配置を示します。 図 2.3-1 16 ビットデータのメモリ上の配置 実行前 実行後 メモリ MOVW 0091H, A 0x0090 0x0091 0x0092 0x0093 A 0x1234 メモリ A 0x1234 0x12 0x34 0x0090 0x0091 0x0092 0x0093 ● オペランドにより指定された 16 ビットデータの格納状態 命令内のオペランドで 16 ビットデータを指定した場合も , オペコード ( 命令 ) に近い アドレスに上位バイトが , その次のアドレスに下位バイトが格納されます。 これはオペランドがメモリアドレスを示す場合でも , 16 ビットのイミディエートデー タ ( 即値 ) の場合でも同じです。 図 2.3-2 に , 命令による 16 ビットデータの配置を示します。 図 2.3-2 16 ビットデータの命令における配置 [例] ; エクステンドアドレス MOV A, 5678H MOVW A, #1234H ; 16ビットイミディエートデータ アセンブルすると 0xXXX0 0xXXX2 0xXXX5 0xXXX8 XX XX 60 56 78 ; エクステンドアドレス E4 12 34 ; 16ビットイミディエートデータ XX ● スタックにおける 16 ビットデータの格納状態 割込み時にスタックに退避される 16 ビット長のレジスタのデータも , オペランドによ り指定された 16 ビットデータと同様に , アドレス値の小さい方に上位バイトが格納さ れます。 14 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第3章 クロック制御部 クロック制御部の機能と動作について説明します。 3.1 概要 3.2 発振安定待ち時間 3.3 レジスタ 3.4 クロックモード 3.5 低消費電力モード ( スタンバイモード ) の動作 3.6 クロック発振回路 3.7 プリスケーラの概要 3.8 プリスケーラの構成 3.9 プリスケーラの動作 3.10 プリスケーラ使用上の注意 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 15 第 3 章 クロック制御部 3.1 概要 3.1 MB95850K/860K/870K シリーズ 概要 New 8FX ファミリは , 消費電力の最適な制御を行うクロック制御部を搭載していま す。このクロック制御部は外部メインクロックと外部サブクロックの両方をサポート しています。 クロック制御部は , クロック発振の許可 / 停止 , 内部回路へのクロック信号供給の許 可 / 停止 , クロックソースの選択および内蔵 CR 発振器と周波数分周回路の制御を行 います。 ■ クロック制御部の概要 クロック制御部はクロック発振の許可 / 停止 , 内部回路へのクロック供給の許可 / 停止 , クロックソースの選択および内蔵 CR 発振器と周波数分周回路の制御を行います。 クロック制御部ではクロックモードの設定 , スタンバイモードの設定 , リセット動作に 従い内部クロックを制御します。クロックモードにより内部動作クロックの選択が行 われ , スタンバイモードによりクロック発振および信号供給の許可 / 停止を行います。 クロック制御部はクロックモードおよびスタンバイモードの組み合わせに応じた最適 な消費電力と機能を選択します。 本デバイスには 5 種類のソースクロックがあります。これらはメイン発振クロックを 2 分周したメインクロック , サブ発振クロックを 2 分周したサブクロック , メイン CR クロック , PLL 逓倍率をメイン CR 発振クロックにかけて生成したメイン CR PLL ク ロックおよびサブ CR 発振クロックを 2 分周したサブ CR クロックの 5 種類です。 16 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 3 章 クロック制御部 3.1 概要 MB95850K/860K/870K シリーズ ■ クロック制御部のブロックダイヤグラム 図 3.1-1 に , クロック制御部のブロックダイヤグラムを示します。 図 3.1-1 クロック制御部のブロックダイヤグラム スタンバイ制御レジスタ2 (STBC2) - - - - - - - DSTBYX フラッシュメモリへ システムクロック制御レジスタ 2 (SYCC2) スタンバイ制御レジスタ (STBC) SRDY MRDY SCRDY MCRDY SOSCE MOSCE SCRE MCRE STP SLP SPL SRST TMD - - - 時計モードまたは タイムベースタイマモード スリープモード ストップモード システムクロックセレクタ メインCR クロック 発振回路 (5) プリスケーラ サブCR クロック 発振回路 メイン クロック 発振回路 サブ クロック 発振回路 (6) (7) 2分周 分周なし 4分周 8分周 (1) 2分周 (2) 2分周 発振安定 待ち回路 (3) 16分周 (4) ソース クロック 選択制御回路 メインCR PLL クロック 発振回路 (8) クロック 制御回路 CPUへの供給 周辺機能への供給 (9) タイムベースタイマ用クロック 時計タイマ用クロック MPEN MPMC1 MPMC0 MPRDY - - - - PLL制御レジスタ (PLLC) SWT3 SWT2 SWT1 SWT0 MWT3 MWT2 MWT1 MWT0 発振安定待ち時間設定レジスタ (WATR) (1): メインクロック (FCH) (2): サブクロック (FCL) (3): メインクロック (4): サブクロック MN702-00010-2v0-J SCM2 SCM1 SCM0 SCS2 SCS1 SCS0 DIV1 DIV0 システムクロック制御レジスタ (SYCC) (5): メインCRクロック (FCRH) (6): サブCRクロック (FCRL) (7): ソースクロック (SCLK) (8): マシンクロック (MCLK) (9): メインCR PLLクロック (FMCRPLL) FUJITSU SEMICONDUCTOR LIMITED 17 第 3 章 クロック制御部 3.1 概要 MB95850K/860K/870K シリーズ ■ クロック制御部の構成 ● メインクロック発振回路 このブロックはメインクロックの発振回路です。 ● サブクロック発振回路 このブロックはサブクロックの発振回路です。 ● メイン CR クロック発振回路 このブロックはメイン CR クロックの発振回路です。 ● メイン CR PLL クロック発振回路 このブロックはメイン CR PLL クロックの発振回路です。 ● サブ CR クロック発振回路 このブロックはサブ CR クロックの発振回路です。 ● システムクロックセレクタ このブロックはクロックモードに対応して , メインクロック , サブクロック , メイン CR クロック , メイン CR PLL クロックおよびサブ CR クロックの 5 種類のソースクロック 中から 1 種類のクロックが選択されます。選択されたソースクロックはプリスケーラ により分周され , クロック制御回路へ供給されます。この分周されたクロックを「マシ ンクロック」とよびます。 ● クロック制御回路 CPU および各周辺機能へのマシンクロックの供給を , 選択されているスタンバイモー ドまたは発振安定待ち時間に対応して制御します。 ● 発振安定待ち回路 動作許可されているクロックにしたがって発振安定待ち時間信号を出力します。 メインクロックの場合は , 発振安定待ち回路の専用タイマにより生成された 14 種類の 発振安定信号から 1 つを選択できます。サブクロックの場合は , 発振安定待ち回路の専 用タイマにより生成された 15 種類の発振安定信号から 1 つを選択できます。 ● システムクロック制御レジスタ (SYCC) このレジスタは , クロックモードの選択 , マシンクロック分周比の選択および現在のク ロックモードの表示のために使用されます。 ● PLL 制御レジスタ (PLLC) このレジスタは , メイン CR PLL クロック逓倍率の設定を制御します。 ● スタンバイ制御レジスタ (STBC) このレジスタはRUN状態からスタンバイモードへの遷移, ストップモード, タイムベー スタイマモードまたは時計モードの端子状態の設定およびソフトウェアリセットの発 生を制御するために使用されます。 ● システムクロック制御レジスタ 2 (SYCC2) このレジスタはメインクロック , メイン CR クロック , サブクロック , サブ CR クロッ クの発振の許可 / 停止およびメインクロック , メイン CR クロック , サブクロック , サ ブ CR クロックの発振のレディ信号の表示のために使用されます。 18 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 3 章 クロック制御部 3.1 概要 ● 発振安定待ち時間設定レジスタ (WATR) このレジスタはメインクロックとサブクロックの発振安定待ち時間を設定するために 使用されます。 ● スタンバイ制御レジスタ 2 (STBC2) このレジスタはディープスタンバイモードを制御します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 19 第 3 章 クロック制御部 3.1 概要 MB95850K/860K/870K シリーズ ■ クロックモード クロックモードが 5 種類あります。 • メインクロックモード • メイン CR クロックモード • メイン CR PLL クロックモード • サブクロックモード • サブ CR クロックモード 表 3.1-1 に , クロックモードとマシンクロック (CPU と周辺機能の動作クロック ) との 関係を示します。 表 3.1-1 クロックモードとマシンクロックの選択 クロックモード マシンクロック メインクロックモード マシンクロックはメインクロックの 2 分周より生成されま す。 メイン CR クロックモード マシンクロックはメイン CR クロックより生成されます。 メイン CR PLL クロックモード マシンクロックは PLL 逓倍率をメイン CR クロックにかけ て生成されます。 サブクロックモード マシンクロックはサブクロックの 2 分周 より生成されます。 サブ CR クロックモード マシンクロックはサブ CR クロックの 2 分周より生成されま す。 選択されたクロックの周波数の分周は , どのクロックモードでも可能です。 20 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 3 章 クロック制御部 3.1 概要 MB95850K/860K/870K シリーズ ■ スタンバイモード 選択されたスタンバイモードによりクロック発振の許可 / 停止および内部回路へのク ロック供給の許可 / 停止を選択できます。タイムベースタイマモードおよび時計モー ドを除き , クロックモードの設定とは別にスタンバイモードを設定できます。 表 3.1-2 に , スタンバイモードとクロック供給の状態との関係を示します。 表 3.1-2 スタンバイモードとクロック供給の状態 スタンバイモード クロック供給の状態 スリープモード CPU へのクロック供給が停止します。その結果 CPU は動作を停止 しますが , ほかの周辺機能は動作を継続します。 タイムベースタイマ モード タイムベースタイマおよび時計プリスケーラへのみクロック信号 を供給し , ほかの回路へのクロック供給は停止します。その結果 , タイムベースタイマ , 時計プリスケーラ , 外部割込みおよび低電圧 検出リセット ( オプション ) を除くすべての機能は停止します。 タイムベースタイマモードはメインクロックモード , メイン CR ク ロックモードおよびメイン CR PLL クロックモードにおいて使用 可能です。 時計モード メインクロック発振は停止します。時計プリスケーラへのみク ロック信号を供給し , ほかの回路へのクロック供給は停止します。 その結果 , 時計プリスケーラ , 外部割込みおよび低電圧検出リセッ ト ( オプション ) を除くすべての機能は停止します。 時計モードはサブクロックモードおよびサブ CR クロックモード において使用されるスタンバイモードです。 ストップモード メインクロック発振およびサブクロック発振を停止し , すべての回 路へのクロック供給を停止します。その結果 , 外部割込みおよび低 電圧検出リセット ( オプション ) を除くすべての機能は停止しま す。 各スタンバイモードにおいては, スタンバイ制御レジスタ2のディープスタンバイモー ド制御ビット (STBC2:DSTBYX) により , ノーマルスタンバイモードおよびディープス タンバイモードの 2 つの動作モードを選択できます。 詳細は , 「3.5.1 スタンバイモード使用上の注意」を参照してください。 <注意事項> 特別な設定を行うことで , 表 3.1-2 以外にクロックが供給される場合があります。 例えば , メインクロックモードでストップモードにする場合 , SYCC2:SOSCE または SYCC2:SCRE に "1" が書かれていれば , 時計プリスケーラが動作します。 また , ハードウェアウォッチドッグタイマを起動した場合は , 不揮発性レジスタインタ フェースの設定によっては , スタンバイモードでもハードウェアウォッチドッグタイマが 動作します。詳細は , 「第 24 章 不揮発性レジスタ (NVR) インタフェース」を参照して ください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 21 第 3 章 クロック制御部 3.1 概要 MB95850K/860K/870K シリーズ ■ クロックモードとスタンバイモードの組合せ 表 3.1-3 と表 3.1-4 に , クロックモードとスタンバイモードの組合せおよび各種クロッ クモードとスタンバイモードの組合せを有する異なる内部回路の動作状態をそれぞれ 示します。 表 3.1-3 スタンバイモードとクロックモードの組合せおよび内部動作状態 (1) スリープ RUN 機能 メイン クロック メイン CR クロック / メイン CR PLL クロック サブクロック サブ CR クロック CPU メイン クロック モード メイン CR クロック モード / メイン CR PLL クロック モード 動作 停止 *1 停止 *2 動作 メイン クロック モード メイン CR クロック モード / メイン CR PLL クロック モード 停止 動作 停止 *1 停止 停止 停止 *2 動作 停止 サブ CR クロック モード サブ クロック モード サブ CR クロック モード サブ クロック モード 動作 *3 動作 動作 *3 動作 *3 動作 動作 *3 動作 *4 動作 *4 動作 動作 *4 動作 *4 動作 動作 動作 停止 停止 動作 動作 値保持 *6 値保持 *6 動作 動作 値保持 値保持 動作 動作 出力保持 出力保持 動作 停止 動作 停止 動作 *3, *4 動作 動作 *3, *4 動作 動作 動作 動作 動作 動作 動作 動作 *5 動作 *5 動作 動作 停止 停止 動作 動作 動作 動作 タッチセンサ 動作 動作 動作 動作 そのほかの周 辺機能 動作 動作 動作 動作 フラッシュ メモリ RAM I/O ポート タイムベース タイマ 時計プリス ケーラ 外部割込み ハードウェア ウォッチドッ グタイマ ソフトウェア ウォッチドッ グタイマ 低電圧検出 リセット *1: システムクロック制御レジスタ 2 のメインクロック発振許可ビット (SYCC2:MOSCE) を "1" に設定すると , メ インクロックが動作します。 *2: システムクロック制御レジスタ 2 のメイン CR クロック発振許可ビット (SYCC2:MCRE) を "1" に設定すると , メイン CR クロックまたはメイン CR PLL クロックが動作します。 *3: システムクロック制御レジスタ 2 のサブクロック発振許可ビット (SYCC2:SOSCE) を "1" に設定すると , このモ ジュールが動作します。 *4: システムクロック制御レジスタ 2 のサブ CR クロック発振許可ビット (SYCC2:SCRE) を "1" に設定すると , こ のモジュールが動作します。 *5: 不揮発性レジスタ (NVR) インタフェースによりハードウェアウォッチドッグタイマが禁止されると , ハード ウェアウォッチドッグタイマが停止します。 *6: スタンバイ制御レジスタ 2 のディープスタンバイモード制御ビット (STBC2:DSTBYX) により , スタンバイモー ド時のフラッシュメモリの状態を通常状態と低電力状態から選択できます。 22 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 3 章 クロック制御部 3.1 概要 MB95850K/860K/870K シリーズ 表 3.1-4 スタンバイモードとクロックモードの組合せおよび内部動作状態 (2) タイムベースタイマ 機能 メイン クロック メイン CR クロック / メイン CR PLL クロック 時計 ストップ メイン クロック モード メイン CR クロック モード / メイン CR PLL クロック モード 動作 停止 *1 停止 停止 停止 *2 動作 停止 停止 サブクロック サブ CR クロック CPU サブ CR クロック モード サブ クロック モード メイン クロック モード メイン CR クロック モード / メイン CR PLL クロック モード 動作 *3 動作 動作 *3 動作 *3 停止 動作 *4 動作 *4 動作 動作 *4 停止 停止 停止 停止 値保持 *6 値保持 *6 値保持 *6 値保持 値保持 値保持 出力保持 /Hi-Z 出力保持 /Hi-Z 出力保持 /Hi-Z 動作 停止 停止 動作 *3, *4 動作 動作 動作 動作 動作 *5 動作 *5 動作 *5 停止 停止 停止 動作 動作 動作 タッチセンサ 動作 *7 動作 *7 そのほかの周 辺機能 停止 停止 フラッシュ メモリ RAM I/O ポート タイムベース タイマ 時計プリス ケーラ 外部割込み ハードウェア ウォッチドッ グタイマ ソフトウェア ウォッチドッ グタイマ 低電圧検出 リセット サブ CR クロック モード サブ クロック モード 動作 *3, *4 停止 動作 *7 停止 停止 *1: システムクロック制御レジスタ 2 のメインクロック発振許可ビット (SYCC2:MOSCE) を "1" に設定すると , メ インクロックが動作します。 *2: システムクロック制御レジスタ 2 のメイン CR クロック発振許可ビット (SYCC2:MCRE) を "1" に設定すると , メイン CR クロックまたはメイン CR PLL クロックが動作します。 *3: システムクロック制御レジスタ 2 のサブクロック発振許可ビット (SYCC2:SOSCE) を "1" に設定すると , このモ ジュールが動作します。 *4: システムクロック制御レジスタ 2 のサブ CR クロック発振許可ビット (SYCC2:SCRE) を "1" に設定すると , こ のモジュールが動作します。 *5: 不揮発性レジスタ (NVR) インタフェースによりハードウェアウォッチドッグタイマが禁止されると , ハード ウェアウォッチドッグタイマが停止します。 *6: スタンバイ制御レジスタ 2 のディープスタンバイモード制御ビット (STBC2:DSTBYX) により , スタンバイモー ド時のフラッシュメモリの状態を通常状態と低電力状態から選択できます。 *7: SYCC2 レジスタの SCRE ビットも TSC プリスケーラ制御レジスタのストップモード許可ビット (PSC:STPE) も "1" に設定すると , タッチセンサが動作します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 23 第 3 章 クロック制御部 3.2 発振安定待ち時間 MB95850K/860K/870K シリーズ 発振安定待ち時間 3.2 発振安定待ち時間とは , 発振回路が発振を停止した状態から発振器が固有の周波数で 安定し , 発振状態を再開するまでの時間です。クロック制御部は発振開始後に発振ク ロック周期を所定の回数までカウントすることにより , 発振安定待ち時間を確保しま す。発振安定待ち時間中 , クロック制御部は内部回路へのクロック供給を停止します。 ■ 発振安定待ち時間 クロック制御部は , 発振開始後に発振クロック周期を所定の回数までカウントするこ とにより , 発振安定待ち時間を確保します。発振安定待ち時間中 , クロック制御部は内 部回路へのクロック供給を停止します。 電源投入時またはリセット , ストップモード時の割込み , ソフトウェア動作によるク ロックモードの変更により , 発振停止状態から発振を開始する状態遷移の要求が発生 した場合 , クロック制御部はほかのクロックモードへ遷移する前に , 自動的に遷移先の 発振安待ち時間の経過を待ちます。 図 3.2-1 に , 発振開始直後の発振の動作を示します。 図 3.2-1 発振開始直後の発振器の動作 振動子の発振時間 通常動作 ストップモードからの 復帰またはリセット動作 ( ) 発振安定待ち時間 X1 ↑ 発振開始 発振安定 発振安定 メインクロック , サブクロック , メイン CR クロック , メイン CR PLL クロックおよび サブ CR クロックの発振安定待ち時間は専用カウンタを使用してカウントされます。メ インクロック , サブクロックのカウント値は発振安定待ち時間設定レジスタ (WATR) で設定可能です。発振器の特性に合わせて指定してください。 パワーオンリセットの場合 , 発振安定待ち時間は初期値に固定されます。 表 3.2-1 に , 発振安定待ち時間の長さを示します。 表 3.2-1 発振安定待ち時間 クロック メインクロック サブクロック 24 リセット要因 パワーオンリセット パワーオンリセット以外 パワーオンリセット パワーオンリセット以外 発振安定待ち時間 14 初期値 : (2 -2)/FCH (FCH: メインクロック周波数 ) レジスタの設定値 (WATR:MWT[3:0]) 初期値 : (215-2)/FCL (FCL: サブクロック周波数 ) レジスタの設定値 (WATR:SWT[3:0]) FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 3 章 クロック制御部 3.2 発振安定待ち時間 ■ PLL クロック発振安定待ち時間 発振器の発振安定待ち時間と同様 , ストップモード時の割込み , あるいはソフトウェア によるクロックモードの変更により , PLL 発振停止状態から PLL 発振を開始する状態 遷移の要求が発生すると , クロック制御部はまずメイン CR クロックの発振安定待ち時 間の経過を待った後 , PLL クロックの発振安定待ち時間の経過を自動的に待ちます。 表 3.2-2 に , PLL 発振安定待ち時間を示します。 表 3.2-2 PLL 発振安定待ち時間 PLL 発振安定待ち時間 212/FMCRPLL* メイン CR PLL クロック *: FMCRPLL: 16 MHz ■ CR クロックの発振安定待ち時間 発振器の発振安定待ち時間と同様 , スタンバイモード時の割込みやソフトウェア動作 によるクロックモードの変更により , CR 発振停止状態から CR 発振を開始する状態遷 移の要求が発生すると , クロック制御部は自動的に CR 発振安定待ち時間の経過を待ち ます。 表 3.2-3 に , CR 発振安定待ち時間を示します。 表 3.2-3 CR 発振安定待ち時間 CR 発振安定待ち時間 メイン CR クロック 210/FCRH*1 サブ CR クロック 25/FCRL*2 *1: FCRH: 4 MHz *2: FCRL: 150 kHz ■ 発振安定待ち時間とクロックモード・スタンバイモードの遷移 モード状態の遷移が発生すると , クロック制御部は必要に応じて自動で発振安定待ち 時間の経過を待ちます。モード状態の遷移が発生する状況によってはクロック制御部 は , モード状態の遷移が発生していても発振安定待ち時間の経過を待たない場合があ ります。 状態遷移の詳細については , 「3.4 クロックモード」および「3.5 低消費電力モード ( スタンバイモード ) の動作」を参照してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 25 第 3 章 クロック制御部 3.2 発振安定待ち時間 MB95850K/860K/870K シリーズ ■ 発振安定待ちの優先順位について 複数のクロックの動作が同時に許可された場合 , クロック制御部は決められた優先順 位にしたがってクロックごとに発振安定待ち時間をカウントします。発振安定待ちカ ウント動作の優先順位を以下に示します。 • メインクロックモードの場合 サブ CR クロック > サブクロック > メイン CR クロック > メイン CR PLL クロック • メイン CR クロックモードの場合 サブ CR クロック > サブクロック > メイン CR PLL クロック > メインクロック • メイン CR PLL クロックモードの場合 サブ CR クロック > サブクロック > メインクロック • サブクロックモードの場合 サブ CR クロック > メイン CR クロックまたはメインクロック > メイン CR PLL ク ロック • サブ CR クロックモードの場合 メイン CR クロックまたはメインクロック > サブクロック > メイン CR PLL クロック 26 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 3.3 レジスタ 第 3 章 クロック制御部 3.3 レジスタ クロック制御部のレジスタについて説明します。 表 3.3-1 クロック制御部のレジスタ一覧 レジスタ略称 レジスタ名 参照先 SYCC システムクロック制御レジスタ 3.3.1 PLLC PLL 制御レジスタ 3.3.2 WATR 発振安定待ち時間設定レジスタ 3.3.3 STBC スタンバイ制御レジスタ 3.3.4 SYCC2 システムクロック制御レジスタ 2 3.3.5 STBC2 スタンバイ制御レジスタ 2 3.3.6 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 27 第 3 章 クロック制御部 3.3 レジスタ 3.3.1 MB95850K/860K/870K シリーズ システムクロック制御レジスタ (SYCC) システムクロック制御レジスタ (SYCC) はマシンクロックの分周比の選択 , クロック モードの選択および現在のクロックモードの確認に使用されます。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field SCM2 SCM1 SCM0 SCS2 SCS1 SCS0 DIV1 DIV0 属性 R R R R/W R/W R/W R/W R/W 初期値 X X X 1 1 0 1 1 ■ レジスタ機能 [bit7:5] SCM[2:0]: クロックモードモニタビット これらのビットは現在のクロックモードを示します。 これらのビットはリードオンリです。これらのビットに値を書き込んでも動作に影響はありませ ん。 説明 bit7:5 "000" が読み出された場合 現在のクロックモードはサブクロックモードであることを示します。 "010" が読み出された場合 現在のクロックモードはメインクロックモードであることを示します。 "100" が読み出された場合 現在のクロックモードはサブ CR クロックモードであることを示します。 "110" が読み出された場合 現在のクロックモードはメイン CR クロックモードであることを示します。 "111" が読み出された場合 現在のクロックモードはメイン CR PLL クロックモードであることを示しま す。 [bit4:2] SCS[2:0]: クロックモード選択ビット これらのビットはクロックモードを選択します。 説明 bit4:2 "000" を書き込んだ場合 サブクロックモード "010" を書き込んだ場合 メインクロックモード "100" を書き込んだ場合 サブ CR クロックモード "110" を書き込んだ場合 メイン CR クロックモード "111" を書き込んだ場合 メイン CR PLL クロックモード ( 注意事項 ) SCS[2:0] に上記以外の値を書き込まないでください。 [bit1:0] DIV[1:0]: マシンクロック分周比選択ビット これらのビットはソースクロックに対するマシンクロックの分周比を選択します。 マシンクロックはこれらのビットで設定された分周比により , ソースクロックから生成されます。 説明 bit1:0 28 "00" を書き込んだ場合 ソースクロック ( 分周なし ) "01" を書き込んだ場合 ソースクロック / 4 "10" を書き込んだ場合 ソースクロック / 8 "11" を書き込んだ場合 ソースクロック / 16 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 3 章 クロック制御部 3.3 レジスタ MB95850K/860K/870K シリーズ 3.3.2 PLL 制御レジスタ (PLLC) PLL 制御レジスタ (PLLC) はメイン CR PLL クロック逓倍率の設定を制御します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field MPEN MPMC1 MPMC0 MPRDY — — — — 属性 R/W R/W R/W R — — — — 初期値 0 0 0 X 0 0 0 0 ■ レジスタ機能 [bit7] MPEN: メイン CR PLL クロック許可ビット このビットはメイン CR PLL クロックを許可または禁止します。 SCS[2:0] が "0b111" に設定されると , このビットは自動的に "1" に設定されます。 SCS[2:0] または SCM[2:0] が "0b111" に設定された場合 , このビットに "0" を書き込んでも動作に影 響はありません。 クロックモードがメイン CR PLL クロックモード以外のモードに切り換わると , このビットは自動 的に "0" に設定されます。 現在のクロックモードがサブクロックモードまたはサブ CR クロックモードの場合 , このビットに "1" を書き込んでも動作に影響はありません。 説明 bit7 "0" を書き込んだ場合 メイン CR PLL クロックを禁止します。 "1" を書き込んだ場合 メイン CR PLL クロックを許可します。 [bit6:5] MPMC[1:0]: メイン CR PLL クロック逓倍率選択ビット これらのビットはメイン CR PLL クロックの逓倍率を選択します。 メイン CR PLL クロックが停止しているときのみ , これらのビットの設定を変更できます。よって , メインクロックモード , メイン CR クロックモード , サブクロックモードまたはサブ CR クロック モードで , これらのビットの設定が変更できます。 説明 bit6:5 "00" を書き込んだ場合 メイン CR クロック × 2 "01" を書き込んだ場合 メイン CR クロック × 2.5 "10" を書き込んだ場合 メイン CR クロック × 3 "11" を書き込んだ場合 メイン CR クロック × 4 ( 注意事項 ) SCS[2:0] または SCM[2:0] が "0b111" に設定された場合 , MPMC[1:0] ビットに値を書き 込むことは禁止されます。 [bit4] MPRDY: メイン CR PLL クロック発振安定ビット このビットはメイン CR PLL クロック発振の準備ができているか否かを示します。 bit4 説明 "0" が読み出された場合 メイン CR PLL クロックの発振安定待ち状態またはメイン CR PLL クロック発振 が停止していることを示します。 "1" が読み出された場合 メイン CR PLL クロックの発振安定待ちが完了していることを示します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 29 第 3 章 クロック制御部 3.3 レジスタ MB95850K/860K/870K シリーズ [bit3:0] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 30 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 3 章 クロック制御部 3.3 レジスタ MB95850K/860K/870K シリーズ 3.3.3 発振安定待ち時間設定レジスタ (WATR) 発振安定待ち時間設定レジスタ (WATR) は発振安定待ち時間を設定するレジスタで す。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field SWT3 SWT2 SWT1 SWT0 MWT3 MWT2 MWT1 MWT0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 1 1 1 1 1 1 1 1 ■ レジスタ機能 [bit7:4] SWT[3:0]: サブクロック発振安定待ち時間選択ビット これらのビットはサブクロック発振安定待ち時間を選択します。 詳細 bit7:4 サブクロック FCL = 32.768 kHz の場合 サイクル数 "1111" を書き込んだ場合 215-2 (215-2)/FCL 約 1.0 s "1110" を書き込んだ場合 214-2 (214-2)/FCL 約 0.5 s "1101" を書き込んだ場合 213-2 (213-2)/FCL 約 0.25 s "1100" を書き込んだ場合 212-2 (212-2)/FCL 約 0.125 s "1011" を書き込んだ場合 211-2 (211-2)/F CL 約 62.44 ms "1010" を書き込んだ場合 210-2 (210-2)/FCL 約 31.19 ms "1001" を書き込んだ場合 29-2 (29-2)/FCL 約 15.56 ms "1000" を書き込んだ場合 28-2 (28-2)/FCL 約 7.75 ms 7 "0111" を書き込んだ場合 27-2 (2 -2)/FCL 約 3.85 ms "0110" を書き込んだ場合 26-2 (26-2)/FCL 約 1.89 ms "0101" を書き込んだ場合 25-2 (25-2)/FCL 約 915.5 µs "0100" を書き込んだ場合 24-2 (24-2)/FCL 約 427.2 µs 3 "0011" を書き込んだ場合 23-2 (2 -2)/FCL 約 183.1 µs "0010" を書き込んだ場合 22-2 (22-2)/FCL 約 61.0 µs "0001" を書き込んだ場合 21-2 (21-2)/FCL 0.0 µs "0000" を書き込んだ場合 21-2 (21-2)/FCL 0.0 µs 上記表のサイクル数は最小値です。最大値は , 上記表のサイクル数に 1/FCL を加えたものです。 ( 注意事項 ) これらのビットをサブクロック発振安定待ち時間中には書き換えないでください。書 き換える場合は , システムクロック制御レジスタ 2 のサブクロック発振安定ビット (SYCC2:SRDY) が "1" に設定されているときに行ってください。 メインクロックモー ド , メイン CR クロックモード , メイン CR PLL クロックモードまたはサブ CR クロッ クモードにおいて , システムクロック制御レジスタ 2 のサブクロック発振停止ビット (SYCC2:SOSCE) が "0" に設定され , サブクロックが停止している時にこれらのビット を書き換えられます。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 31 第 3 章 クロック制御部 3.3 レジスタ MB95850K/860K/870K シリーズ [bit3:0] MWT[3:0]: メインクロック発振安定待ち時間選択ビット これらのビットはメインクロック発振安定待ち時間を選択します。 詳細 bit3:0 メインクロック FCH = 4 MHz の場合 サイクル数 "1111" を書き込んだ場合 214-2 (214-2)/FCH 約 4.10 ms "1110" を書き込んだ場合 213-2 (213-2)/FCH 約 2.05 ms 12 "1101" を書き込んだ場合 212-2 (2 -2)/FCH 約 1.02 ms "1100" を書き込んだ場合 211-2 (211-2)/FCH 約 511.5 µs "1011" を書き込んだ場合 210-2 (210-2)/FCH 約 255.5 µs "1010" を書き込んだ場合 29-2 (29-2)/FCH 約 127.5 µs "1001" を書き込んだ場合 28-2 (28-2)/FCH 約 63.5 µs "1000" を書き込んだ場合 27-2 (27-2)/F CH 約 31.5 µs "0111" を書き込んだ場合 26-2 (26-2)/FCH 約 15.5 µs "0110" を書き込んだ場合 25-2 (25-2)/FCH 約 7.5 µs "0101" を書き込んだ場合 24-2 (24-2)/FCH 約 3.5 µs "0100" を書き込んだ場合 23-2 (23-2)/F CH 約 1.5 µs "0011" を書き込んだ場合 22-2 (22-2)/FCH 約 0.5 µs "0010" を書き込んだ場合 21-2 (21-2)/FCH 0.0 µs "0001" を書き込んだ場合 21-2 (21-2)/FCH 0.0 µs "0000" を書き込んだ場合 21-2 (21-2)/FCH 0.0 µs 上記表のサイクル数は最小値です。最大値は上記表のサイクル数に 1/FCH を加えたものです。 ( 注意事項 ) これらのビットをメインクロック発振安定待ち時間中には書き換えないでください。 書き換える場合は, システムクロック制御レジスタ2のメインクロック発振安定ビット (SYCC2:MRDY) を "1" に設定されているときに行ってください。メイン CR クロック モード , メイン CR PLL クロックモード , サブクロックモードまたはサブ CR クロック モードにおいて , システムクロック制御レジスタ 2 のメインクロック発振停止ビット (SYCC2:MOSCE) が "0" に設定され , メインクロックが停止しているときにこれらの ビットを書き換えられます。 32 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 3 章 クロック制御部 3.3 レジスタ MB95850K/860K/870K シリーズ 3.3.4 スタンバイ制御レジスタ (STBC) スタンバイ制御レジスタ (STBC) は, RUN状態からスリープモード, ストップモード, タイムベースタイマモードまたは時計モードへの遷移 , ストップモード , タイムベー スタイマモードおよび時計モードの端子状態の設定およびソフトウェアリセットの 発生制御を行います。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field STP 属性 W SLP SPL SRST TMD — — — W R/W W W — — — 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7] STP: ストップビット このビットはストップモードへの遷移を設定します。 このビットの読出し値は常に "0" です。 説明 bit7 "0" を書き込んだ場合 動作に影響はありません。 "1" を書き込んだ場合 デバイスはストップモードに遷移します。 ( 注意事項 ) 割込み要求が発生した場合は , このビットへの "1" の書込みは無視されます。詳細は , 「3.5.1 スタンバイモード使用上の注意」を参照してください。 [bit6] SLP: スリープビット このビットはスリープモードへの遷移を設定します。 このビットの読出し値は常に "0" です。 説明 bit6 "0" を書き込んだ場合 動作に影響はありません。 "1" を書き込んだ場合 デバイスはスリープモードに遷移します。 ( 注意事項 ) 割込み要求が発生した場合は , このビットへの "1" の書込みは無視されます。詳細は , 「3.5.1 スタンバイモード使用上の注意」を参照してください。 [bit5] SPL: 端子状態設定ビット このビットはストップモード , タイムベースタイマモードおよび時計モードの外部端子の状態を設 定します。 bit5 説明 "0" を書き込んだ場合 ストップモード , タイムベースタイマモードおよび時計モードにおける外部端子 の状態 ( レベル ) を保持します。 "1" を書き込んだ場合 外部端子はストップモード , タイムベースタイマモードおよび時計モードでハイ インピーダンスになります。( プルアップレジスタにてプルアップ抵抗への接続 を選択した端子は , プルアップ状態になります ) 。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 33 第 3 章 クロック制御部 3.3 レジスタ MB95850K/860K/870K シリーズ [bit4] SRST: ソフトウェアリセットビット このビットはソフトウェアリセットを設定します。 このビットの読出し値は常に "0" です。 説明 bit4 "0" を書き込んだ場合 動作に影響はありません。 "1" を書き込んだ場合 3 マシンクロックリセット信号を発生します。 [bit3] TMD: 時計ビット このビットはタイムベースタイマモードまたは時計モードへの遷移を設定します。 メインクロックモード , メイン CR クロックモードまたはメイン CR PLL クロックモードでこのビッ トに "1" を書き込むと , デバイスはタイムベースタイマモードに遷移します。 サブクロックモードまたはサブ CR クロックモードでこのビットに "1" を書き込むと , デバイスは時 計モードに遷移します。 このビットに "0" を書き込んでも動作に影響はありません。 このビットの読出し値は常に "0" です。 説明 bit3 メインクロックモード / メイン CR クロックモード / メイン CR PLL クロックモード サブクロックモード / サブ CR クロックモード "0" を書き込んだ場合 動作に影響はありません。 動作に影響はありません。 "1" を書き込んだ場合 デバイスはタイムベースタイマモード に遷移します。 デバイスは時計モードに遷移します。 ( 注意事項 ) 割込み要求が発生した場合は , このビットへの "1" の書込みは無視されます。詳細は , 「3.5.1 スタンバイモード使用上の注意」を参照してください。 [bit2:0] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 <注意事項> • スタンバイモードを設定する前に , システムクロック制御レジスタにおけるクロック モードモニタビット (SYCC:SCM[2:0]) とクロックモード選択ビット (SYCC:SCS[2:0]) の値を比較して , クロックモードへの遷移が完了していることを確認してください。 • ストップビット (STP), スリープビット (SLP), ソフトウェアリセットビット (SRST) お よび時計ビット (TMD) の中から , 2 つ以上のビットに対し同時に "1" を書き込んだ場合 の優先順位は下記のとおりです。 (1) ソフトウェアリセットビット (SRST) (2) ストップビット (STP) (3) 時計ビット (TMD) (4) スリープビット (SLP) スタンバイモードが解除されるとデバイスは通常動作状態に戻ります。 34 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 3 章 クロック制御部 3.3 レジスタ MB95850K/860K/870K シリーズ 3.3.5 システムクロック制御レジスタ 2 (SYCC2) システムクロック制御レジスタ 2(SYCC2) は , メインクロック , サブクロック , メイ ン CR クロックおよびサブ CR クロックのそれぞれの発振安定状態を示し , またメイ ンクロック発振 , サブクロック発振 , メイン CR クロック発振およびサブ CR クロッ ク発振を制御します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field SRDY MRDY SCRDY MCRDY SOSCE MOSCE SCRE MCRE 属性 R R R R R/W R/W R/W R/W 初期値 X X X X 0 0 1 1 ■ レジスタ機能 [bit7] SRDY: サブクロック発振安定ビット このビットはサブクロックの発振が安定したかどうかを示します。 このビットはリードオンリです。このビットに値を書き込んでも動作に影響はありません。 bit7 説明 "0" が読み出された場合 クロック制御部がサブクロック発振安定待ち状態にあることかまたはサブク ロック発振が停止していることを示します。 "1" が読み出された場合 サブクロックの発振安定待ち時間が完了していることを示します。 [bit6] MRDY: メインクロック発振安定ビット このビットはメインクロックの発振が安定したかどうかを示します。 このビットはリードオンリです。このビットに値を書き込んでも動作に影響はありません。 bit6 説明 "0" が読み出された場合 クロック制御部がメインクロック発振安定待ち状態にあることかまたはメイン クロック発振が停止していることを示します。 "1" が読み出された場合 メインクロックの発振安定待ち時間が完了していることを示します。 [bit5] SCRDY: サブ CR クロック発振安定ビット このビットはサブ CR クロックの発振が安定したかどうかを示します。 このビットはリードオンリです。このビットに値を書き込んでも動作に影響はありません。 bit5 説明 "0" が読み出された場合 クロック制御部がサブ CR クロック発振安定待ち状態にあることかまたはサブ CR クロック発振が停止していることを示します。 "1" が読み出された場合 サブ CR クロックの発振安定待ち時間が完了していることを示します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 35 第 3 章 クロック制御部 3.3 レジスタ MB95850K/860K/870K シリーズ [bit4] MCRDY: メイン CR クロック発振安定ビット このビットはメイン CR クロックの発振が安定したかどうかを示します。 このビットはリードオンリです。このビットに値を書き込んでも動作に影響はありません。 説明 bit4 "0" が読み出された場合 クロック制御部がメイン CR クロック発振安定待ち状態にあることかまたはメ イン CR クロック発振が停止していることを示します。 "1" が読み出された場合 メイン CR クロックの発振安定待ち時間が完了していることを示します。 [bit3] SOSCE: サブクロック発振許可ビット このビットはサブクロック発振を許可または禁止します。 SCS[2:0] が "0b000" に設定された場合 , このビットは自動的に "1" 設定されます。 SCS[2:0] または SCM[2:0] が "0b000" に設定された場合 , このビットに "0" を書き込んでも動作に影 響はありません。 説明 bit3 "0" を書き込んだ場合 サブクロック発振を禁止します。 "1" を書き込んだ場合 サブクロック発振を許可します。 [bit2] MOSCE: メインクロック発振許可ビット このビットはメインクロック発振を許可または禁止します。 SCS[2:0] が "0b010" に設定された場合 , このビットは自動的に "1" 設定されます。 SCS[2:0] または SCM[2:0] が "0b010" に設定された場合 , このビットに "0" を書き込んでも動作に影 響はありません。 クロックモードがメインクロックモード以外のモードに切り換わると , このビットは自動的に "0" に設定されます。 現在のクロックモードがサブクロックモードまたはサブ CR クロックモードの場合 , このビットに "1" を書き込んでも動作に影響はありません。 説明 bit2 "0" を書き込んだ場合 メインクロック発振を禁止します。 "1" を書き込んだ場合 メインクロック発振を許可します。 [bit1] SCRE: サブ CR クロック発振許可ビット このビットはサブ CR クロック発振を許可または禁止します。 SCS[2:0] が "0b100" に設定された場合 , このビットは自動的に "1" 設定されます。 SCS[2:0] または SCM[2:0] が "0b100" に設定された場合 , このビットに "0" を書き込んでも動作に影 響はありません。 SCS[2:0] と SCM[2:0] が "0b100" 以外の値に設定された場合 , このビットはほかのビットと無関係に 設定できます。 説明 bit1 36 "0" を書き込んだ場合 サブ CR クロック発振を禁止します。 "1" を書き込んだ場合 サブ CR クロック発振を許可します。 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 3 章 クロック制御部 3.3 レジスタ MB95850K/860K/870K シリーズ [bit0] MCRE: メイン CR クロック発振許可ビット このビットはメイン CR クロック発振を許可または禁止します。 SCS[2:0] が "0b110" または "0b111" に設定された場合 , このビットは自動的に "1" 設定されます。 SCS[2:0] または SCM[2:0] が "0b110" または "0b111" に設定された場合 , このビットに "0" を書き込 んでも動作に影響はありません。 クロックモードがメイン CR クロックモードとメイン CR PLL クロックモード以外のモードに切り 換わると , このビットは自動的に "0" に設定されます。 現在のクロックモードがサブクロックモードまたはサブ CR クロックモードの場合 , このビットに "1" を書き込んでも動作に影響はありません。 bit0 説明 "0" を書き込んだ場合 メイン CR クロック発振を禁止します。 "1" を書き込んだ場合 メイン CR クロック発振を許可します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 37 第 3 章 クロック制御部 3.3 レジスタ MB95850K/860K/870K シリーズ スタンバイ制御レジスタ 2 (STBC2) 3.3.6 スタンバイ制御レジスタ 2 (STBC2) は , ディープスタンバイモードを制御します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — — — — — — DSTBYX 属性 — — — — — — — R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7:1] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit0] DSTBYX: ディープスタンバイモード制御ビット このビットは , スタンバイモードでフラッシュメモリを低電力状態にすることにより , デバイスを ディープスタンバイモードに遷移させます。 説明 bit0 "0" を書き込んだ場合 スタンバイ制御レジスタ (STBC) の設定によりデバイスがスタンバイモードに入 るとき , フラッシュメモリを低電力状態にします。( ディープスタンバイモード ) "1" を書き込んだ場合 スタンバイ制御レジスタ (STBC) の設定によりデバイスがスタンバイモードに入 るとき , フラッシュメモリは通常状態を保持します。( ノーマルスタンバイモー ド) <注意事項> • デバイスをディープスタンバイモードから復帰させる場合 , ノーマルスタンバイモー ドから復帰させるのに比べ , 以下のような違いがあります。 デバイスをディープスタンバイモードから復帰させるため に必要な時間の最大値 (SCLK: ソースクロック , MCLK: マシンクロック ) メインクロックモード , メイン CR クロックモードまたはメイン CR PLL クロックモードの場合 デバイスをノーマルスタン (10 SCLK + 150 µs + 6 MCLK) + バイモードから復帰させる ために必要な時間 サブクロックモードまたはサブ CR クロックモードの場合 デバイスをノーマルスタン (2 SCLK + 150 µs + 6 MCLK) + バイモードから復帰させる ために必要な時間 • ディープスタンバイモードとノーマルスタンバイモードとの消費電力の違いについて は , デバイスのデータシートの「■ 電気的特性」を参照してください。 • フラッシュコマンドシーケンス ( 読出し / リセット以外 ) 実行中にデバイスをディープ スタンバイモードに遷移させないでください。 38 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 3.4 クロックモード 第 3 章 クロック制御部 3.4 クロックモード クロックモードには , メインクロックモード , サブクロックモード , メイン CR クロッ クモード , メイン CR PLL クロックモードおよびサブ CR クロックモードの 5 種類が あります。システムクロック制御レジスタ (SYCC) の設定によってモードの切換えを 行います。 ■ メインクロックモードの動作 メインクロックモードでは CPU と周辺機能のマシンクロックとして , メインクロック を使用します。 タイムベースタイマはメインクロックで動作します。 時計プリスケーラはサブクロックまたはサブ CR クロックで動作します。 メインクロックモードで動作中にスタンバイモードを設定すると , スリープモード , ス トップモードまたはタイムベースタイマモードに遷移できます。 リセット後はリセット前のクロックモードに関係なく , デバイスは常にメイン CR ク ロックモードになります。 ■ サブクロックモードの動作 サブクロックモードではメインクロック発振 が停止され *, サブクロックが CPU と周 辺機能のマシンクロックとして使用されます。タイムベースタイマはメインクロック を使用しているため停止しています。 サブクロックモードで動作中にスタンバイモードを設定すると , スリープモード , ス トップモードまたは時計モードへ移行できます。 ■ メイン CR クロックモードまたはメイン CR PLL クロックモードの動作 メイン CR クロックモードでは CPU と周辺機能のマシンクロックとして , メイン CR ク ロックを使用します。タイムベースタイマおよびウォッチドッグタイマは , メイン CR クロックで動作します。 メイン CR PLL クロックモードでは CPU と周辺機能のマシンクロックとして , メイン CR PLL クロックを使用します。タイムベースタイマおよびウォッチドッグタイマは , メイン CR PLL クロックで動作します。 時計プリスケーラはサブクロックまたはサブ CR クロックで動作します。 メイン CR クロックモードまたはメイン CR PLL クロックモードで動作中にスタンバイ モードを設定すると , スリープモード , ストップモードまたはタイムベースタイマモー ドへ移行できます。 ■ サブ CR クロックモードの動作 サブCRクロックモードではメインクロック発振 が停止され *, サブCRクロックがCPU と周辺機能のマシンクロックとして使用されます。このモードではメインクロックの 動作を必要とするタイムベースタイマは動作しません。時計プリスケーラは , サブ CR クロックで動作します。 サブ CR クロックモードで動作中にスタンバイモードを設定すると , スリープモード , ストップモードまたは時計モードへ移行できます。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 39 第 3 章 クロック制御部 3.4 クロックモード MB95850K/860K/870K シリーズ *: クロックモードがメインクロックモード , メイン CR クロックモードまたはメイン CR PLL クロックモードからサブクロックまたはサブ CR クロックモードに遷移すると , メインク ロック , メイン CR クロックおよびメイン CR PLL クロックは自動的に発振禁止になります (SYCC2: MOSCE を "0", SYCC2:MCRE を "0" および PLLC:MPEN を "0" に設定 )。クロック モードがサブクロックモードまたはサブ CR クロックモードの場合 , SYCC2:MOSCE に "1", SYCC2:MCRE に "1", あるいは PLLC:MPEN に "1" を書き込んでもメインクロック , メイン CR クロック , あるいは メイン CR PLL クロックを許可できません。 40 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 3 章 クロック制御部 3.4 クロックモード MB95850K/860K/870K シリーズ ■ クロックモードの状態遷移図 クロックモードには , メインクロックモード , サブクロックモード , メイン CR クロッ クモード , メイン CR PLL クロックモード , サブ CR クロックモードの 5 種類がありま す。このデバイスではシステムクロック制御レジスタ (SYCC) の設定によって , クロッ クモードを切り換えられます。 図 3.4-1 クロックモードの状態遷移図 電源投入 各ステートでリセット発生 リセット状態 <1> メインCRクロック 発振安定待ち時間 + サブCRクロック 発振安定待ち時間 (10) メインCR クロックモード メインCR PLL クロック (またはメインCR クロック) 発振安定待ち時間 メインCR クロックモード (またはメインCR PLLクロックモード) (8) (7) メイン クロックモード (5) (6) (4) メインクロック 発振安定 待ち時間 (3) (2) (9) (12) (11) (1) サブCR クロック発振 安定待ち時間 メインCRクロック (またはメインCR PLLクロック) 発振安定 サブクロック 発振安定 待ち時間 メインクロック 発振安定 待ち時間 (13) (18) (17) サブCR クロック発振 安定待ち時間 (20) (19) サブCRクロック モード (15) サブクロックモード (16) サブクロック 発振安定 待ち時間 (14) MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 41 第 3 章 クロック制御部 3.4 クロックモード 表 3.4-1 MB95850K/860K/870K シリーズ クロックモードの状態遷移表 ( 1 / 2 ) 現在の状態 <1> リセット状態 次の状態 メイン CR クロック リセット後にデバイスは , メイン CR クロック発振安定待ち時間と サブ CR クロック発振安定待ち時間との経過を待ってからメイン CR クロックモードに遷移します。リセットが任意のクロックモー ドによるウォッチドッグリセット , ソフトウェアリセットまたは 外部リセットの場合でも , デバイスはサブ CR クロックとメイン CR クロック発振安定待ち時間の経過を待ちます。 サブ CR クロック システムクロック制御レジスタのクロックモード選択ビット (SYCC:SCS[2:0]) を "0b100" に設定すると , デバイスはサブ CR ク ロックモードに遷移します。 ただし , システムクロック制御レジスタ 2 のサブ CR クロック発振 許可ビット (SYCC2:SCRE) の設定によりサブ CR が停止していた 場合 , デバイスはサブ CR クロック発振安定待ち時間の経過を待っ てからサブ CR クロックモードに遷移します。サブ CR クロック発 振があらかじめ許可されており , システムクロック制御レジスタ 2 のサブ CR クロック発振安定ビット (SYCC2:SCRDY) が "1" の場合 は , デバイスはクロックモード選択ビット (SYCC:SCS[2:0]) が "0b100"に設定された直後にサブCRクロックモードに遷移します。 サブクロック システムクロック制御レジスタのクロックモード選択ビット (SYCC:SCS[2:0]) に "0b000" を設定すると , デバイスはサブクロッ ク発振安定待ち時間の経過を待ってからサブクロックモードに遷 移します。 システムクロック制御レジスタ 2 のサブクロック発振許可ビット (SYCC2:SOSCE) の設定によりサブクロックの発振が許可されてお り, システムクロック制御レジスタ2のサブクロック発振安定ビッ ト (SYCC2:SRDY) が "1" の場合は , デバイスはクロックモード選 択ビット (SYCC:SCS[2:0]) が "0b000" に設定された直後 , サブク ロックモードに遷移します。 メインクロック システムクロック制御レジスタのクロックモード選択ビット (SYCC:SCS[2:0]) を "0b010" に設定すると , デバイスはメインク ロック発振安定待ち時間の経過を待ってからメインクロックモー ドに遷移します。 システムクロック制御レジスタ 2 のメインクロック発振許可ビッ ト (SYCC2: MOSCE) の設定によりメインクロックの発振が許可さ れており, システムクロック制御レジスタ2のメインクロック発振 安定ビット (SYCC2:MRDY) が "1" の場合は , デバイスはクロック モード選択ビット (SYCC:SCS[2:0]) が "0b010" に設定された直後 , メインクロックモードに遷移します。 (1) (2) (3) メイン CR クロック / メイン CR PLL クロック (4) (5) (6) 42 説明 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 3 章 クロック制御部 3.4 クロックモード MB95850K/860K/870K シリーズ 表 3.4-1 クロックモードの状態遷移表 ( 2 / 2 ) 現在の状態 (7) (8) 次の状態 説明 システムクロック制御レジスタのクロックモード選択ビット (SYCC:SCS[2:0]) を "0b110" に設定すると , デバイスはメイン CR クロック発振安定待ち時間の経過を待ってからメイン CR クロッ クモードに遷移します。システムクロック制御レジスタ 2 のメイ ン CR クロック発振許可ビット (SYCC2:MCRE) の設定によりメイ ン CR クロックの発振が許可されており , システムクロック制御レ ジスタ 2 のメイン CR クロック発振安定ビット (SYCC2:MCRDY) が "1" の場合は , デバイスはクロックモード選択ビット メイン CR クロック / (SYCC:SCS[2:0]) が "0b110" に設定された直後 , メイン CR クロッ メイン CR PLL クモードに遷移します。 クロック システムクロック制御レジスタのクロックモード選択ビット (SYCC:SCS[2:0]) を "0b111" に設定すると , デバイスはメイン CR メインクロック PLLクロック発振安定待ち時間の経過を待ってからメインCR PLL クロックモードに遷移します。PLL 制御レジスタのメイン CR PLL クロック許可ビット (PLLC:MPEN) の設定によりメイン CR PLL ク ロックの発振が許可されており , PLL 制御レジスタのメイン CR PLL クロック発振安定ビット (PLLC:MPRDY) が "1" の場合は , デ バイスはクロックモード選択ビット (SYCC:SCS[2:0]) が "0b111" に 設定された直後 , メイン CR PLL クロックモードに遷移します。 (9) (10) (11) (12) (13) サブ CR クロック (14) (15) (16) サブ CR クロック (1) および (2) と同様 サブクロック (3) および (4) と同様 システムクロック制御レジスタのクロックモード選択ビット (SYCC:SCS[2:0]) を "0b110" に設定すると , デバイスはメイン CR クロック発振安定待ち時間の経過を待ってからメイン CR クロッ メイン CR クロック / クモードに遷移します。 メイン CR PLL システムクロック制御レジスタのクロックモード選択ビット クロック (SYCC:SCS[2:0]) を "0b111" に設定すると , デバイスはメイン CR PLLクロック発振安定待ち時間の経過を待ってからメインCR PLL クロックモードに遷移します。 メインクロック システムクロック制御レジスタのクロックモード選択ビット (SYCC:SCS[2:0])を"0b010"に設定すると, デバイスはメインクロッ ク発振安定待ち時間の経過を待ってからメインクロックモードに 遷移します。 サブクロック (3) および (4) と同様 (17) メイン CR クロック / メイン CR PLL (13) と同様 クロック (18) サブクロック メインクロック (14) と同様 サブ CR クロック (1) および (2) と同様 (19) (20) MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 43 第 3 章 クロック制御部 3.5 低消費電力モード ( スタンバイモード ) の動作 3.5 MB95850K/860K/870K シリーズ 低消費電力モード ( スタンバイモード ) の動作 スタンバイモードには , スリープモード , ストップモード , タイムベースタイマモー ド , 時計モードの 4 種類があります。 ■ スタンバイモードの遷移と復帰の概要 スタンバイモードには , スリープモード , ストップモード , タイムベースタイマモード , 時計モードの 4 種類があります。スタンバイ制御レジスタ (STBC) の設定によって , デ バイスはスタンバイモードに遷移します。 スタンバイモードの解除は , 割込みまたはリセットにより行われます。通常動作に遷移 する前に , デバイスは必要に応じて自動的に発振安定待ち時間の経過を待ちます。 リセットによりクロックモードがスタンバイモードから復帰する場合は , デバイスは メイン CR クロックモードに戻ります。割込みによりクロックモードがスタンバイモー ドから復帰する場合は , スタンバイモードに遷移する前のクロックモードに復帰しま す。 ■ スタンバイモード時の端子の状態 スタンバイ制御レジスタの端子状態設定ビット (STBC:SPL) によって , ストップモード , タイムベースタイマモードまたは時計モード時の I/O ポートまたは周辺機能端子の状 態を直前の状態保持または周辺機能端子をハイインピーダンスに設定できます。 スタンバイモード時の全端子の状態については , デバイスのデータシートを参照して ください。 44 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 3 章 クロック制御部 3.5 低消費電力モード ( スタンバイモード ) の動作 MB95850K/860K/870K シリーズ 3.5.1 スタンバイモード使用上の注意 スタンバイ制御レジスタ (STBC) をスタンバイモードに設定した場合でも , 周辺機能 から割込み要求が発生しているときには , スタンバイモードに遷移しません。デバイ スが割込みに反応してスタンバイモードから通常動作状態へ復帰する場合は , 割込み 要求が受け付けられるかどうかによって復帰後の動作が異なります。 ■ スタンバイモード設定を行う命令の直後に NOP 命令を 3 命令以上入れてください。 スタンバイ制御レジスタに設定した後 , デバイスはスタンバイモードへ移行するまで に 4 マシンクロック周期が必要となります。その間 CPU はプログラムを実行します。 スタンバイモードへの遷移時にプログラムの実行を回避するためには , 必ず NOP 命令 を 3 命令以上入れてください。 デバイスがスタンバイモードへ遷移するように設定した命令の後に , NOP 以外の命令 を配置してもデバイスは正常に動作します。その場合 , 下記の 2 つのイベントが起こり 得ます。スタンバイモード解除後に実行するはずの命令がスタンバイモードへ遷移す る前に実行されることがあります。次に , デバイスが命令実行の途中でスタンバイモー ドに入り , スタンバイモード解除後に同じ命令の実行が再開されることもあります (命 令実行サイクル数の増加 ) 。 ■ スタンバイモード設定前にクロックモードの遷移が完了していることを確認して ください。 スタンバイモードの設定前に , システムクロック制御レジスタにおけるクロックモード モニタビット (SYCC:SCM[2:0]) とクロックモード選択ビット (SYCC:SCS[2:0]) の値を比 較して , クロックモードの遷移が完了していることを確認してください。 ■ 割込み要求によりスタンバイモードへの遷移が抑止されることがあります。 スタンバイモードの設定を行う時に割込みレベルが "0b11" より強い割込み要求が発生 していると , デバイスはスタンバイ制御レジスタへの書込みを無視し , 設定されたスタ ンバイモードへの遷移はしないで命令の実行を続けます。割込み要求の処理後にもデ バイスはスタンバイモードへ遷移しません。 CPU のコンディションコードレジスタにおける割込み許可フラグ (CCR:I) および割込 みレベルビット (CCR:IL[1:0]) によって割込みが禁止されている場合にも , 同様の動作 が実行されます。 ■ スタンバイモードは CPU が割込みを受け付けない場合も解除されます。 スタンバイモード中に割込みレベルが "0b11" より強い割込み要求が発生すると , デバ イスは CPU のコンディションコードレジスタ (CCR) における割込み許可フラグ (CCR:I) および割込みレベルビット (CCR:IL[1:0]) の設定に関係なくスタンバイモードから解除 されます。 スタンバイモードからの解除後 , CPU のコンディションコードレジスタ (CCR) の設定 により割込みを受け付けられる状態のときは , デバイスは割込みを処理します。もし CCR の設定が割込みを受け付けられない場合 , デバイスはスタンバイモードに遷移す る前に実行した次の命令から実行を再開します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 45 第 3 章 クロック制御部 3.5 低消費電力モード ( スタンバイモード ) の動作 MB95850K/860K/870K シリーズ ■ 各スタンバイモードにおいては , 以下の 2 つの動作モードを選択できます。 1. ディープスタンバイモード (STBC2:DSTBYX = 0) スタンバイモード時の消費電力をノーマルスタンバイモードに比べ低く抑えるこ とができます。ただし , リセットや割込み要因によりデバイスが復帰する際 , フラッ シュリカバリ待ち時間が必要なため , ノーマルスタンバイモードに比べデバイスが 復帰するまでに時間がかかります。 2. ノーマルスタンバイモード (STBC2:DSTBYX = 1) スタンバイモード時の消費電力はディープスタンバイモードに比べ高くなります が , リセットや割込み要因によりデバイスが復帰する際 , フラッシュリカバリ待ち 時間が不要なため , ディープスタンバイモードに比べデバイスが復帰するまでの時 間が短くなります。 フラッシュリカバリ待ち時間の詳細については , 表 3.5-2 を参照してください。また , ディープスタンバイモードとノーマルスタンバイモードとの消費電力の違いについて は , デバイスのデータシートの「■ 電気的特性」を参照してください。 46 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 3 章 クロック制御部 3.5 低消費電力モード ( スタンバイモード ) の動作 MB95850K/860K/870K シリーズ ■ スタンバイモードの状態遷移図 ( ディープスタンバイモードを禁止したとき ) 図 3.5-1 にスタンバイモードの状態遷移図 ( ディープスタンバイモードを禁止したと き ) を示します。 図 3.5-1 スタンバイモードの状態遷移図 ( ディープスタンバイモードを禁止したとき ) 電源投入 各ステートでリセット発生 リセット状態 <1> メインCRクロック 発振安定待ち時間 + サブCRクロック 発振安定待ち時間 (3) ストップモード (4) メインクロック/ メインCRクロック/ メインCR PLLクロック/ サブクロック/ サブCRクロック 発振安定待ち時間 (7) 通常動作 (RUN状態) (5) (8) 時計モード (1) (6) タイムベース タイマモード 表 3.5-1 (2) スリープモード ディープスタンバイモード禁止時の状態遷移表 ( スタンバイモードへの遷移と解除 ) 状態遷移 説明 リセット後 , デバイスがメイン CR クロックモードに遷移します。 <1> リセット状態後の通常動作 パワーオンリセット , ウォッチドッグリセット , ソフトウェアリセット , 外部 リセットの場合 , デバイスは常にサブ CR クロックとメイン CR クロック発 振安定待ち時間の経過を待ちます。 スタンバイ制御レジスタのスリープビット (STBC:SLP) に "1" を書き込むと , (1) デバイスはスリープモードに遷移します。 スリープモード (2) デバイスは周辺機能からの割込みにより RUN 状態に復帰します。 スタンバイ制御レジスタのストップビット (STBC:STP) に "1" を書き込むと , (3) デバイスはストップモードに遷移します。 ストップモード 外部割込みにより , 現在のクロックモードに応じて必要な発振安定待ち時間 (4) の経過を待ってからデバイスは RUN 状態に復帰します。 (5) (6) (7) (8) メインクロックモード , メイン CR クロックモードまたはメイン CR PLL ク ロックモードで , スタンバイ制御レジスタ (STBC:TMD) の時計ビットに "1" タイムベースタイマモード を書き込むと , デバイスはタイムベースモードに遷移します。 デバイスは周辺機能からの割込みにより RUN 状態に復帰します。 サブクロックモードまたはサブ CR クロックモードで , スタンバイ制御レジ スタの時計ビット (STBC:TMD) に "1" を書き込むと , デバイスは時計モード 時計モード に遷移します。 デバイスは周辺機能からの割込みにより RUN 状態に復帰します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 47 第 3 章 クロック制御部 3.5 低消費電力モード ( スタンバイモード ) の動作 MB95850K/860K/870K シリーズ ■ スタンバイモードの状態遷移図 ( ディープスタンバイモードを許可したとき ) 図 3.5-2 にスタンバイモードの状態遷移図 ( ディープスタンバイモードを許可したとき ) を示します。 図 3.5-2 スタンバイモードの状態遷移図 ( ディープスタンバイモードを許可したとき ) 電源投入 各ステートでリセット発生 リセット状態 <1> メインCRクロック 発振安定待ち時間 + サブCRクロック 発振安定待ち時間 (3) ストップモード (4) メインクロック/メインCRクロック/メインCR PLLクロック/ サブクロック/サブCRクロック 発振安定待ち時間 スリープモード (フラッシュリカバリ待ち時間*) (7) 通常動作 (RUN状態) スリープモード (フラッシュリカバリ待ち時間*) (8) 時計モード (1) (5) スリープモード (フラッシュリカバリ待ち時間*) (6) (2) スリープモード (フラッシュリカバリ待ち時間*) スリープモード タイムベース タイマモード *: フラッシュメモリリカバリ待ち時間 (SCLK: ソースクロック , MCLK: マシンクロック ) • メインクロックモード , メイン CR クロックモードまたはメイン CR PLL クロックモード の場合 最大値 : 10 SCLK + 150 µs + 6 MCLK • サブクロックモードまたはサブ CR クロックモードの場合 最大値 : 2 SCLK + 150 µs + 6 MCLK 48 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 表 3.5-2 第 3 章 クロック制御部 3.5 低消費電力モード ( スタンバイモード ) の動作 ディープスタンバイモード許可時の状態遷移表 ( スタンバイモードへの遷移と解除 ) 状態遷移 説明 リセット後 , デバイスがメイン CR クロックモードに遷移します。 <1> リセット状態後の通常動作 パワーオンリセット , ウォッチドッグリセット , ソフトウェアリセット , 外部 リセットの場合 , デバイスは常にサブ CR クロックとメイン CR クロック発 振安定待ち時間の経過を待ちます。 (1) スタンバイ制御レジスタのスリープビット (STBC:SLP) に "1" を書き込むと , デバイスはスリープモードに遷移します。 (2) 周辺機能からの割込みにより , フラッシュリカバリ待ち時間の経過を待って からデバイスは RUN 状態に復帰します。 また , フラッシュリカバリ待ち時間の間はスリープモード (CPU は動作停止 , 周辺機能は動作再開 ) となります。 ただし , RAM でプログラムを実行している場合は , フラッシュリカバリ待ち 時間は発生しません。 (3) スタンバイ制御レジスタのストップビット (STBC:STP) に "1" を書き込むと , デバイスはストップモードに遷移します。 (4) 外部割込みにより , 現在のクロックモードに応じて必要な発振安定待ち時間 の経過およびフラッシュリカバリ待ち時間の経過を待ってからデバイスは RUN 状態に復帰します。 発振安定待ち時間がフラッシュリカバリ待ち時間より短い場合 , 発振安定待 ち時間経過後 , フラッシュリカバリ待ち時間が経過するまでスリープモード となります。 発振安定待ち時間がフラッシュリカバリ待ち時間より長い場合 , 発振安定待 ち時間経過後 , デバイスは RUN 状態に復帰します。 ただし , RAM でプログラムを実行している場合は , フラッシュリカバリ待ち 時間は発生しません。 (5) メインクロックモードまたはメイン CR クロックモード中のスタンバイ制御 レジスタ (STBC:TMD) の時計ビットに "1" を書き込むと , デバイスはタイム ベースモードに遷移します。 (6) 周辺機能からの割込みにより , フラッシュリカバリ待ち時間の経過を待って タイムベースタイマモード からデバイスは RUN 状態に復帰します。 また , フラッシュリカバリ待ち時間の間はスリープモード (CPU は動作停止 , 周辺機能は動作再開 ) となります。 ただし , RAM でプログラムを実行している場合は , フラッシュリカバリ待ち 時間は発生しません。 (7) サブクロックモードまたはサブ CR クロックモードのスタンバイ制御レジス タの時計ビット (STBC:TMD) に "1" を書き込むと , デバイスは時計モードに 遷移します。 スリープモード ストップモード 時計モード (8) MN702-00010-2v0-J 周辺機能からの割込みにより , フラッシュリカバリ待ち時間の経過を待って からデバイスは RUN 状態に復帰します。 また , フラッシュリカバリ待ち時間の間はスリープモード (CPU は動作停止 , 周辺機能は動作再開 ) となります。 ただし , RAM でプログラムを実行している場合は , フラッシュリカバリ待ち 時間は発生しません。 FUJITSU SEMICONDUCTOR LIMITED 49 第 3 章 クロック制御部 3.5 低消費電力モード ( スタンバイモード ) の動作 3.5.2 MB95850K/860K/870K シリーズ スリープモード スリープモードでは CPU とウォッチドッグタイマの動作は停止となります。 ■ スリープモードの動作 スリープモードでは CPU とウォッチドッグタイマの動作クロックは停止となります。 CPU はデバイスがスリープモードへ遷移する直前に存在しているレジスタと RAM の 内容を保持して停止しますが , ウォッチドッグタイマを除く周辺機能は動作を続けま す。 ハードウェアウォッチドッグタイマの場合 , 不揮発性レジスタ機能によってスタンバ イモードが許可されたとき , スリープモードでサブ CR クロックは停止せず , ハード ウェアウォッチドッグタイマは動作します。詳細は ,「第 24 章 不揮発性レジスタ (NVR) インタフェース」を参照してください。 ● スリープモードへの遷移 スタンバイ制御レジスタのスリープビット (STBC:SLP) を "1" に設定すると , デバイス はスリープモードに入ります。 ● スリープモードの解除 リセットまたは周辺機能からの割込みによって , デバイスはスリープモードから解除 されます。 ディープスタンバイモード制御ビット (STBC2:DSTBYX) が "0" に設定されているとき , リセットまたは周辺機能からの割込み発生後 , フラッシュリカバリ待ち時間が経過す るまでデバイスはスリープモードを継続します。 ただし , RAM でプログラムを実行している場合は , フラッシュリカバリ待ち時間は発 生しません。 50 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 3.5.3 ストップモード 第 3 章 クロック制御部 3.5 低消費電力モード ( スタンバイモード ) の動作 ストップモードでは , メインクロック , メイン CR クロック , メイン CR PLL クロッ クおよびサブクロックは停止となります。 ■ ストップモードの動作 ストップモードでは , メインクロック , メイン CR クロック , メイン CR PLL クロック およびサブクロックは停止となります。このモードでは , デバイスはストップモードへ 遷移する直前にレジスタと RAM の内容を保持しつつ , 外部割込みと低電圧検出リセッ トを除くすべての機能を停止します。 ハードウェアウォッチドッグタイマの場合 , 不揮発性レジスタ機能によってスタンバ イモードが許可されたとき , ストップモードでサブ CR クロックは停止せず , ハード ウェアウォッチドッグタイマは動作します。詳細は「第 24 章 不揮発性レジスタ (NVR) インタフェース」を参照してください。 ● ストップモードへの遷移 スタンバイ制御レジスタのストップビット (STBC:STP) に "1" を書き込むと , デバイス はストップモードに入ります。このとき , スタンバイ制御レジスタの端子状態設定ビッ ト (STBC:SPL) が "0" の場合 , 外部端子の状態は保持され , SPL ビットが "1" の場合には 外部端子の状態はハイインピーダンスになります ( プルアップレジスタでプルアップ 抵抗を選択している端子はプルアップ状態になります ) 。 ● ストップモードの解除 ストップモードはリセットまたは外部割込みによって解除されます。どのクロック モードも , スタンバイモードにおいて , ハードウェアウォッチドッグタイマが不揮発性 レジスタ機能によって許可された場合 , サブ CR クロックは停止せず , ウォッチドッグ タイマおよび時計プリスケーラはストップモードで動作します。また , 時計プリスケー ラからの割込みによりデバイスはストップモードから解除されます。詳細は , 「第 24 章 不揮発性レジスタ (NVR) インタフェース」を参照してください。 ディープスタンバイモード制御ビット (STBC2:DSTBYX) が "0" に設定されているとき , リセットまたは周辺機能からの割込み発生後の動作は , 発振安定待ち時間とフラッ シュリカバリ待ち時間の関係で以下のようになります。 • 発振安定待ち時間がフラッシュリカバリ待ち時間より短い場合 発振安定待ち時間経過後 , デバイスはスリープモードに遷移し , フラッシュリカバ リ待ち時間が経過するまでスリープモードを継続します。 • 発振安定待ち時間がフラッシュリカバリ待ち時間より長い場合 発振安定待ち時間経過後 , デバイスは RUN 状態に復帰します。 ただし , RAM でプログラムを実行している場合は , フラッシュリカバリ待ち時間は発 生しません。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 51 第 3 章 クロック制御部 3.5 低消費電力モード ( スタンバイモード ) の動作 MB95850K/860K/870K シリーズ <注意事項> デバイスが割込みによってストップモードから解除された場合 , 動作途中でストップモー ドとなった周辺機能はストップモードに遷移した時点の動作から再開します。そのため , インターバルタイマにおける初回のインターバル時間などの周辺機能設定が不定になり ます。デバイスをストップモードから解除した後は必要に応じて周辺機能を初期化してく ださい。 52 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 3 章 クロック制御部 3.5 低消費電力モード ( スタンバイモード ) の動作 MB95850K/860K/870K シリーズ 3.5.4 タイムベースタイマモード タイムベースタイマモードではメインクロック発振 , サブクロック発振 , タイムベー スタイマおよび時計プリスケーラのみ動作します。このモードでは CPU と周辺機能 の動作クロックは停止となります。 ■ タイムベースタイマの動作 タイムベースタイマモードは , タイムベースタイマへのクロック供給を除きメインク ロックの供給を停止させるモードです。このモードではデバイスはタイムベースタイ マモードへ遷移する直前に存在しているレジスタと RAM の内容を保持しつつ , タイム ベースタイマ , 外部割込みと低電圧検出リセットを除くすべての機能を停止します。 システムクロック制御レジスタ 2 のサブクロック発振許可ビットおよびサブ CR クロッ ク発振許可ビット (SYCC2:SOSCE, SCRE) の設定により , それぞれサブクロック発振お よびサブ CR クロック発振をそれぞれ許可または禁止できます。サブクロックが発振 する場合 , 時計プリスケーラが動作します。 ハードウェアウォッチドッグタイマの場合 , 不揮発性レジスタ機能によってスタンバ イモードが許可されたとき, タイムベースタイマモードでサブCRクロックは停止せず, ハードウェアウォッチドッグタイマは動作します。詳細は, 「第24章 不揮発性レジス タ (NVR) インタフェース」 を参照してください。 ● タイムベースタイマモードへの遷移 システムクロック制御レジスタのクロックモードモニタビット (SYCC:SCM[2:0]) が "0b010", "0b110" ま た は "0b111" の 場 合 , ス タ ン バ イ 制 御 レ ジ ス タ の 時 計 ビ ッ ト (STBC:TMD) に "1" を書き込むことによりデバイスはタイムベースタイマモードに遷 移します。 タイムベースタイマモードへの遷移はデバイスのクロックモードがメインクロック モード , メイン CR クロックモードまたはメイン CR PLL クロックモードのときのみ可 能です。 デバイスがタイムベースタイマモードに遷移したとき , スタンバイ制御レジスタの端 子状態設定ビット (STBC:SPL) が "0" の場合 , 外部端子の状態を保持し , SPL ビットが "1" の場合には外部端子の状態はハイインピーダンスになります ( プルアップレジスタ でプルアップ抵抗を選択している端子はプルアップ状態になります ) 。 ● タイムベースタイマモードからの解除 リセット , タイムベースタイマ割込み , 外部割込みにより , デバイスはタイムベースタ イマモードから解除されます。 システムクロック制御レジスタ 2 (SYCC2) のサブクロック発振許可ビット (SOSCE) と サブ CR クロック発振許可ビット (SCRE) の設定により , サブクロック発振およびサブ CR クロック発振を許可または禁止できます。サブクロックが発振する場合 , 時計プリ スケーラからの割込みによりデバイスはタイムベースタイマモードから解除されま す。 ディープスタンバイモード制御ビット (STBC2:DSTBYX) が "0" に設定されているとき , リセットまたは周辺機能からの割込み発生後 , フラッシュリカバリ待ち時間が経過す るまでデバイスはスリープモードで動作を継続します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 53 第 3 章 クロック制御部 3.5 低消費電力モード ( スタンバイモード ) の動作 ただし , RAM でプログラムを実行している場合は , フラッシュリカバリ待ち時間は発 MB95850K/860K/870K シリーズ 生しません。 <注意事項> デバイスが割込みによってタイムベースタイマモードから解除された場合 , 動作途中でタ イムベースタイマモードとなった周辺機能は , タイムベースタイマモードに遷移した時点 の動作から再開します。そのため , インターバルタイマにおける初回のインターバル時間 などの周辺機能設定が不定になります。デバイスをタイムベースタイマモードから解除し た後は必要に応じて周辺機能を初期化してください。 54 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 3.5.5 時計モード 第 3 章 クロック制御部 3.5 低消費電力モード ( スタンバイモード ) の動作 時計モードではサブクロック , サブ CR クロックおよび時計プリスケーラのみが動作 します。このモードでは CPU と周辺機能の動作クロックは停止となります。 ■ 時計モードの動作 時計モードでは , デバイスは時計モードへ遷移する直前にレジスタと RAM の内容を保 持しつつ , デバイスは時計プリスケーラ , 外部割込みと低電圧検出リセットを除くすべ ての機能を停止します。 スタンバイモード中に , 不揮発性レジスタによってハードウェアウォッチドッグタイ マが許可されていると , 時計モードでサブ CR クロックは停止せず , ハードウェア ウォッチドッグタイマは動作します。詳細は , 「第 24 章 不揮発性レジスタ (NVR) イ ンタフェース」を参照してください。 ● 時計モードへの遷移 システムクロック制御レジスタのクロックモードモニタビット (SYCC:SCM[2:0]) が "0b000" または "0b100" の場合 , スタンバイ制御レジスタの時計ビット (STBC:TMD) に "1" を書き込むことによりデバイスは時計モードに遷移します。 時計モードへの遷移はデバイスのクロックモードがサブクロックモードまたはサブ CR クロックモードのときのみ遷移できます。 デバイスが時計モードに遷移したとき , スタンバイ制御レジスタの端子状態設定ビッ ト (STBC:SPL) が "0" の場合 , 外部端子の状態を保持し , SPL ビットが "1" の場合には外 部端子の状態はハイインピーダンスになります ( プルアップレジスタでプルアップ抵 抗を選択している端子はプルアップ状態になります ) 。 ● 時計モードからの解除 リセット , 時計割込みまたは外部割込みによりデバイスは時計モードから解除されま す。 ディープスタンバイモード制御ビット (STBC2:DSTBYX) が "0" に設定されているとき , リセットまたは周辺機能からの割込み発生後 , フラッシュリカバリ待ち時間が経過す るまでデバイスはスリープモードで動作を継続します。 ただし , RAM でプログラムを実行している場合は , フラッシュリカバリ待ち時間は発 生しません。 <注意事項> デバイスが割込みによって時計モードから解除された場合 , 動作途中で時計モードとなっ た周辺機能は , 時計モードに遷移した時点の動作から再開します。そのため , インターバ ルタイマにおける初回のインターバル時間などの周辺機能設定が不定になります。デバイ スを時計モードから解除した後は , 必要に応じて周辺機能を初期化してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 55 第 3 章 クロック制御部 3.6 クロック発振回路 3.6 MB95850K/860K/870K シリーズ クロック発振回路 クロック発振回路はクロック発振端子に振動子を接続するかまたはクロック信号を 入力することによって内部クロックを生成します。 ■ クロック発振回路 ● 水晶振動子またはセラミック振動子の場合 図 3.6-1 のように水晶振動子またはセラミック振動子を接続してください。 図 3.6-1 水晶振動子とセラミック振動子の接続例 2系統の外部クロックに接続 メインクロック 発振回路 X0 X1 C C サブクロック 発振回路 X0A X1A C C ● 外部クロックの場合 図 3.6-2 に示すように , 外部クロックを X0 端子に接続してください。X1 端子は開放に しておくか , X0 端子の反転クロックを X1 端子に供給してください。( 本シリーズの データシートを参照。) また , サブクロックを外部クロックから供給する場合 , 外部ク ロックは X0A 端子に接続し , X1A 端子は開放にしてください。 図 3.6-2 外部クロックの接続例 X1 開放 メインクロック 発振回路 X0 X1 開放 56 X1へX0 反転入力 サブクロック 発振回路 X0A X1A メインクロック 発振回路 X0 X1 開放 FUJITSU SEMICONDUCTOR LIMITED サブクロック 発振回路 X0A X1A 開放 MN702-00010-2v0-J MB95850K/860K/870K シリーズ 3.7 プリスケーラの概要 第 3 章 クロック制御部 3.7 プリスケーラの概要 プリスケーラは , マシンクロック (MCLK) とタイムベースタイマから出力されるカウ ントクロックより , 各種周辺機能へ供給するカウントクロックソースを生成します。 ■ プリスケーラ プリスケーラは CPU の動作するマシンクロック (MCLK) とタイムベースタイマから出 力 さ れ る カ ウ ン ト ク ロ ッ ク (FCH/27, FCH/28, FCRH/26, FCRH/27, FMCRPLL/26 ま た は FMCRPLL/27) より , 各種周辺機能へ供給するカウントクロックソースを生成します。こ のカウントクロックソースはプリスケーラで分周されたクロックまたはバッファされ たクロックです。下記の周辺機能はこのプリスケーラによって分周されたクロック周 波数をカウントクロックソースとして使用しています。 なお , 本プリスケーラには制御用のレジスタはなく , マシンクロック (MCLK) およびタ イムベースタイマのカウントクロック (FCH/27, FCH/28, FCRH/26, FCRH/27, FMCRPLL/26 ま たは FMCRPLL/27) にて常に動作します。 • 8/16 ビット複合タイマ • 8/10 ビット A/D コンバータ • 8/16 ビット PPG • UART/SIO 専用ボーレートジェネレータ MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 57 第 3 章 クロック制御部 3.8 プリスケーラの構成 MB95850K/860K/870K シリーズ プリスケーラの構成 3.8 図 3.8-1 に , プリスケーラのブロックダイヤグラムを示します。 ■ プリスケーラのブロックダイヤグラム 図 3.8-1 プリスケーラのブロックダイヤグラム プリスケーラ MCLK/2 MCLK/4 カウンタ値 MCLK/8 MCLK (マシンクロック) 5ビット カウンタ 出力制御回路 各周辺機能へ カウントクロック を供給する MCLK/16 MCLK/32 タイムベースタイマから FCH/27 FCRH/26 あるいは FCH/28 FMCRLL/26 あるいは FCRH/27 FMCRPLL/27 MCLK FCH FCRH FMCRPLL • FCH/27, FCRH/26 あるいは FMCRPLL/26 FCH/28, FCRH/27 あるいは FMCRPLL/27 : マシンクロック(内部動作周波数) : メインクロック周波数 : メインCRクロック周波数 : メインCR PLLクロック周波数 5 ビットカウンタ 本カウンタは , マシンクロック (MCLK) をカウントし , 出力制御回路へカウンタ値 を出力します。 • 出力制御回路 本回路は , 5 ビットカウンタ値に基づき , マシンクロック (MCLK) を 2 分周 , 4 分周 , 8 分周 , 16 分周 , 32 分周したクロックを各周辺機能へ供給する回路です。この回路 は タ イ ム ベ ー ス タ イ マ (FCH/27, FCH/28, FCRH/26, FCRH/27, FMCRPLL/26 ま た は FMCRPLL/27) からのクロックをバッファリングして各周辺機能へ供給します。 ■ 入力クロック プリスケーラはマシンクロックまたはタイムベースタイマの出力クロックを入力ク ロックとして使用します。 ■ 出力クロック プリスケーラは以下の周辺機能にクロックを供給します。 58 • 8/16 ビット複合タイマ • 8/10 ビット A/D コンバータ • 8/16 ビット PPG • UART/SIO 専用ボーレートジェネレータ FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 3 章 クロック制御部 3.9 プリスケーラの動作 MB95850K/860K/870K シリーズ 3.9 プリスケーラの動作 プリスケーラは , 各周辺機能へ供給するカウントクロックソースを生成します。 ■ プリスケーラの動作 プリスケーラは , マシンクロック (MCLK) を分周して生成される周波数のクロックお よ び タ イ ム ベ ー ス タ イ マ (FCH/27, FCH/28, FCRH/26, FCRH/27, FMCRPLL/26 ま た は FMCRPLL/27) のバッファ信号からカウントクロックソースを生成し , 各周辺機能へ供給 します。このプリスケーラはマシンクロックとタイムベースタイマからのクロックが 供給されている間は動作を継続します。 表 3.9-1, 表 3.9-2と表 3.9-3に, プリスケーラの生成するカウントクロックソースを示し ます。 表 3.9-1 プリスケーラの生成するカウントクロックソース (FCH) カウントクロック ソース周波数 表 3.9-2 周波数 (FCH = 20 MHz, MCLK = 10 MHz) 周波数 (FCH = 32 MHz, MCLK = 16 MHz) 周波数 (FCH = 32.5 MHz, MCLK = 16.25 MHz) MCLK/2 5 MHz 8 MHz 8.125 MHz MCLK/4 2.5 MHz 4 MHz 4.0625 MHz MCLK/8 1.25 MHz 2 MHz 2.0313 MHz MCLK/16 0.625 MHz 1 MHz 1.0156 MHz MCLK/32 0.3125 MHz 0.5 MHz 0.5078 MHz FCH /27 156.25 kHz 250 kHz 253.9 kHz FCH /28 78.125 kHz 125 kHz 126.95 kHz プリスケーラの生成するカウントクロックソース (FCRH) カウントクロック ソース周波数 MCLK/2 周波数 (FCRH = 4 MHz, MCLK = 4 MHz) 2 MHz MCLK/4 1 MHz MCLK/8 0.5 MHz MCLK/16 0.25 MHz MCLK/32 125 kHz /26 62.5 kHz FCRH/27 31.25 kHz FCRH MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 59 第 3 章 クロック制御部 3.9 プリスケーラの動作 表 3.9-3 プリスケーラの生成するカウントクロックソース (FMCRPLL) カウントクロック ソース周波数 60 MB95850K/860K/870K シリーズ 周波数 (FMCRPLL = 8 MHz, MCLK = 8 MHz) 周波数 (FMCRPLL = 10 MHz, MCLK = 10 MHz) 周波数 (FMCRPLL = 12 MHz, MCLK = 12 MHz) 周波数 (FMCRPLL = 16 MHz, MCLK = 16 MHz) MCLK/2 4 MHz 5 MHz 6 MHz 8 MHz MCLK/4 2 MHz 2.5 MHz 3 MHz 4 MHz MCLK/8 1 MHz 1.25 MHz 1.5 MHz 2 MHz MCLK/16 0.5 MHz 0.625 MHz 0.75 MHz 1 MHz MCLK/32 0.25 MHz 0.3125 MHz 0.375 MHz 0.5 MHz FMCRPLL/26 125 kHz 156.25 kHz 187.5 kHz 0.25 MHz FMCRPLL/27 62.5 kHz 78.125 kHz 93.75 kHz 125 kHz FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 3.10 プリスケーラ使用上の注意 第 3 章 クロック制御部 3.10 プリスケーラ使用上の注意 プリスケーラ使用上の注意を示します。 プリスケーラは , マシンクロックとタイムベースタイマから発生するクロックにより 動作し , これらのクロックが供給されている間は動作を継続します。したがって , 周辺 機能が起動した直後の動作は , プリスケーラの出力値に応じて , 周辺機能のクロック取 込みに , 最大 1 クロックリソース分の誤差が発生します。 図 3.10-1 周辺機能起動直後に発生するクロック取込み誤差 プリスケーラ の出力 周辺機能起動 周辺機能側の クロック取込み 周辺機能起動直後の クロック取込み誤差 以下の周辺機能は , プリスケーラのカウント値の影響を受けます。 • 8/16 ビット複合タイマ • 8/10 ビット A/D コンバータ • 8/16 ビット PPG • UART/SIO 専用ボーレートジェネレータ MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 61 第 3 章 クロック制御部 3.10 プリスケーラ使用上の注意 62 MB95850K/860K/870K シリーズ FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第4章 リセット リセットの動作について説明します。 MN702-00010-2v0-J 4.1 リセット動作 4.2 レジスタ 4.3 使用上の注意 FUJITSU SEMICONDUCTOR LIMITED 63 第 4 章 リセット 4.1 リセット動作 MB95850K/860K/870K シリーズ リセット動作 4.1 リセット要因が発生すると , CPU は現在実行中の処理を直ちに中断してリセット解 除待ち状態になります。リセットが解除されると , CPU はフラッシュメモリから モードデータとリセットベクタを読み出します ( モードフェッチ )。電源投入時また はデバイスがサブクロックモード , サブ CR クロックモードおよびストップモードの リセットから解除されると , CPU は発振安定待ち時間が経過した後にモードフェッ チを行います。 ■ リセット要因 リセットには , 5 つのリセット要因があります。 表 4.1-1 リセット要因 リセット要因 リセット条件 外部リセット 外部リセット端子に "L" レベルを入力する。 ソフトウェアリセット スタンバイ制御レジスタのソフトウェアリセットビット (STBC:SRST) を "1" に設定する。 ウォッチドッグリセット ウォッチドッグタイマのオーバフロー。 パワーオンリセット 電源の投入 低電圧検出リセット 供給電圧が検出電圧より低下する。 ● 外部リセット 外部リセット端子 (RST) を "L" レベルにすることによって , 外部リセットを発生します。 外部から入力されたリセット信号は , 内部のノイズフィルタを通してマイコンの動作 クロックに非同期で受け付けられ , 内部回路を初期化するためにマシンクロックに同 期した内部リセット信号を発生します。したがって , 内部回路の初期化のためにマイコ ンの動作クロックが必要です。ただし , 外部クロックで動作するためには , 外部クロッ ク信号が入力されなければいけません。外部端子 (I/O ポートおよび周辺機能を含む ) は 非同期でリセットされます。また , 外部リセット入力には , パルス幅の標準値がありま す。値が標準値を下回る場合は , リセット信号が受け付けられないことがあります。 なお , 規格値はデータシートに記載しているため , 規格値を満足するように外部のリ セット回路を設計してください。 ● ソフトウェアリセット スタンバイ制御レジスタのソフトウェアリセットビット (STBC:SRST) を "1" に設定す ることによって , ソフトウェアリセットが発生します。 ● ウォッチドッグリセット ウォッチドッグタイマの起動後 , 所定時間にウォッチドッグタイマのクリアが行われ ないときには , ウォッチドッグリセットが発生します。 ● パワーオンリセット 電源が投入されると , パワーオンリセットが発生します。 64 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 4 章 リセット 4.1 リセット動作 ● 低電圧検出リセット 低電圧検出リセット回路は , 電源電圧が定められた電圧より低下したときにリセット を発生します。 低電圧検出リセットの論理機能はパワーオンリセットと同じです。本マニュアルにお けるパワーオンリセットに関するすべての記述は , 低電圧検出リセットにも適応され ます。 低電圧検出リセットの詳細については「第 16 章 低電圧検出リセット回路」を参照し てください。 ■ リセット中の時間 リセット中の時間はリセット要因により異なります。 • ソフトウェアリセット , ウォッチドッグリセットまたは外部リセットの場合 リセット時間は , リセット前に選択したマシンクロックの周期 , RAM アクセス中の リセットを抑止する RAM アクセス保護機能およびサブ CR クロック発振安定待ち 時間から影響を受けます。RAM アクセス保護機能はリセット前に選択したマシン クロックの周期によって延長されることがあります。 システムクロック制御レジスタ 2 のサブ CR クロック発振安定ビット (SYCC2: SCRDY) が "1" のときにリセットが発生した場合 , メイン CR クロック発振安定待ち 時間経過後 , リセット状態が解除されます。 システムクロック制御レジスタ 2 のサブ CR クロック発振安定ビット (SYCC2: SCRDY) が "0" のときにリセットが発生した場合 , サブ CR クロック発振安定待ち時 間とメイン CR クロック発振安定待ち時間が経過した後に , リセット状態が解除さ れます。 • パワーオンリセットおよび低電圧検出リセットの場合 リセット状態は , サブ CR クロック発振安定待ち時間とメイン CR クロック発振安 定待ち時間が経過した後に , 解除されます。 ■ リセット出力 RST端子は, リセット入力機能が有効であり, かつリセット出力機能が有効である場合, リセット中に "L" レベルを出力します。ただし , 外部リセットの場合はリセット端子に は "L" レベルを出力する機能はありません。 リセット入力機能 , リセット出力機能設定については ,「第 28 章 システム構成コント ローラ」を参照してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 65 第 4 章 リセット 4.1 リセット動作 MB95850K/860K/870K シリーズ ■ リセット動作の概要 図 4.1-1 リセット動作フロー ソフトウェアリセット ウォッチドッグリセット リセット中 RAMアクセス中 リセット抑止 パワーオンリセット/ 低電圧検出リセット 外部リセット入力 RAMアクセス中 リセット抑止 サブCRクロックで動作中? YES サブCRクロックで動作中? YES NO サブCRクロック 発振安定待ち時間 リセット状態 NO サブCRクロック 発振安定待ち時間 リセット状態 外部リセット 解除? サブCRクロック 発振安定待ち時間 リセット状態 NO YES メインCRクロック 発振安定待ち時間 モードフェッチ モードデータ取込み リセットベクタ取込み リセットベクタが示すアドレスから 命令コードを取り込み, 命令を実行 通常動作 (Run 状態) 任意のリセットで , CPU はモードフェッチをメイン CR クロック発振安定待ち時間が 経過した後に実行します。 ■ RAM 内容のリセットによる影響 リセットが発生した場合 , CPU は現在実行中の命令の動作を中断し , リセット状態にな ります。ただし , RAM アクセス中は , RAM アクセスの保護のために RAM アクセスの 終了後にマシンクロックに同期して内部リセット信号を発生します。この機能は 2 バ イトのデータの書込み中 , ワードデータの書込み動作がリセットにより割り込まれる のを防止します。 66 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 4 章 リセット 4.1 リセット動作 ■ リセット中の端子の状態 リセットが発生すると I/O ポートまたは周辺機能端子は , リセット解除後ソフトウェア による設定が行われるまで , ハイインピーダンスになります。 <注意事項> デバイスの誤作動防止ため , リセット中はハイインピーダンスとなる端子に対してプル アップ抵抗を接続してください。 リセット中の全端子の状態については , デバイスのデータシートを参照してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 67 第 4 章 リセット 4.2 レジスタ MB95850K/860K/870K シリーズ レジスタ 4.2 リセット用のレジスタについて説明します。 表 4.2-1 リセット用のレジスタ一覧 レジスタ略称 RSRR 68 レジスタ名 リセット要因レジスタ FUJITSU SEMICONDUCTOR LIMITED 参照先 4.2.1 MN702-00010-2v0-J 第 4 章 リセット 4.2 レジスタ MB95850K/860K/870K シリーズ 4.2.1 リセット要因レジスタ (RSRR) リセット要因レジスタは , 発生したリセットの要因を示します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — — EXTS WDTR PONR HWR SWR 属性 — — — R/W R/W R/W R/W R/W 初期値 0 0 0 X X X X X ■ レジスタ機能 [bit7:5] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit4] EXTS: 外部リセットフラグビット このビットが "1" になった場合 , 外部リセットが発生したことを示します。 それ以外のリセットでは , リセット発生前の値を保持します。 読出し動作または書込み動作 ("0 " または "1" の書込み ) はこの ビットを "0" に設定します。 説明 bit4 読出し動作 読出し値は常に "0" です。 "1" に設定された場合 リセット要因が外部リセットであることを示します。 書込み動作 このビットを "0" に設定します。 [bit3] WDTR: ウォッチドッグリセットフラグビット このビットが "1" になった場合 , ウォッチドッグリセットが発生したことを示します。 それ以外のリセットでは , リセット発生前の値を保持します。 読出し動作または書込み動作 ("0 " または "1" の書込み ) はこの ビットを "0" に設定します。 説明 bit3 読出し動作 読出し値は常に "0" です "1" に設定された場合 リセット要因がウォッチドッグリセットであることを示します。 書込み動作 このビットを "0" に設定します。 [bit2] PONR: パワーオンリセットフラグビット このビットが "1" になった場合 , パワーオンリセット / 低電圧検出リセットが発生したことを示しま す。 それ以外のリセットでは , リセット発生前の値を保持します。 読出し動作または書込み動作 ("0 " または "1" の書込み ) はこの ビットを "0" に設定します。 説明 bit2 読出し動作 読出し値は常に "0" です。 "1" に設定された場合 リセット要因がパワーオンリセット / 低電圧検出リセットであることを示しま す。 書込み動作 このビットを "0" に設定します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 69 第 4 章 リセット 4.2 レジスタ MB95850K/860K/870K シリーズ [bit1] HWR: ハードウェアリセットフラグビット このビットが "1" になった場合 , ハードウェアリセット ( パワーオンリセット , 低電圧検出リセット , 外部リセットまたはウォッチドッグリセット ) が発生したことを示します。したがって , bit2 ~ bit4 のいずれかのビットが "1" になった場合 , このビットも "1" になります。 ソフトウェアリセットが発生した場合は , リセット発生前の値を保持します。 読出し動作または書込み動作 ("0 " または "1" の書込み ) はこの ビットを "0" に設定します。 説明 bit1 読出し動作 読出し値は常に "0" です。 "1" に設定された場合 リセット要因がハードウェアリセットであることを示します。 書込み動作 このビットを "0" に設定します。 [bit0] SWR: ソフトウェアリセットフラグビット このビットが "1" になった場合 , ソフトウェアリセットが発生したことを示します。 ソフトウェアリセットが発生した場合は , リセット発生前の値を保持します。 読出し動作または書込み動作 ("0 " または "1" の書込み ) またはパワーオンリセットはこの ビットを "0" に設定します。 説明 bit0 読出し動作 読出し値は常に "0" です。 "1" に設定された場合 リセット要因がソフトウェアリセットであることを示します。 書込み動作 このビットを "0" に設定します。 <注意事項> リセット要因レジスタを読み出すとその内容がクリアされるため , レジスタの内容を演算 に使用する前に RAM に保存してください。 70 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 4 章 リセット 4.2 レジスタ MB95850K/860K/870K シリーズ ■ リセット要因レジスタ (RSRR) の状態 表 4.2-2 リセット要因レジスタの状態 リセット要因 EXTS WDTR PONR HWR SWR パワーオンリセット × × 1 1 0 低電圧検出リセット × × 1 1 0 ソフトウェアリセット 1 ウォッチドッグリセット 1 外部リセット 1 1 1 フラグセット 1: : ×: 前の状態を保持 不定 EXTS: このビットが "1" に設定されたときには , 外部リセットが発生したことを示し ています。 WDTR: このビットが "1" に設定されたときには , ウォッチドッグリセットが発生した ことを示しています。 PONR: このビットが "1" に設定されたときには , パワーオンリセットまたは低電圧検 出リセットが発生したことを示しています。 HWR: このビットが"1"に設定されたときには, 外部リセット, ウォッチドッグリセッ ト , パワーオンリセット , 低電圧検出リセットのリセットのうちの 1 つが発生 したことを示しています。 SWR: このビットが "1" に設定されたときには , ソフトウェアリセットが発生したこ とを示しています。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 71 第 4 章 リセット 4.3 使用上の注意 4.3 MB95850K/860K/870K シリーズ 使用上の注意 リセット使用上の注意を示します。 ■ リセット使用上の注意 ● リセットの要因によるレジスタおよびビットの初期化について リセットが発生しても , 初期化されないレジスタやビットがあります。 • リセット要因の種類により , リセット要因レジスタ (RSRR) のどのビットを初期化 するか決定されます。 • クロック制御部の発振安定待ち時間設定レジスタ (WATR) はパワーオンリセットに よってのみ初期化されます。 72 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第5章 割込み 割込みについて説明します。 5.1 MN702-00010-2v0-J 割込み FUJITSU SEMICONDUCTOR LIMITED 73 第 5 章 割込み 5.1 割込み 5.1 MB95850K/860K/870K シリーズ 割込み 割込みについて説明します。 ■ 割込みの概要 New 8FX ファミリには , 周辺機能に関連する 24 本の割込み要求入力があり , それぞれ 独立に割込みレベルを設定できます。 周辺機能で割込み要求が発生した場合 , この割込み要求は割込みコントローラに出力 されます。割込みコントローラは , その割込み要求の割込みレベルを判定し , CPU に割 込みの発生を伝えます。CPU は割込み受付け状態に従って割込み動作を行います。ま た , スタンバイモード時の割込み要求によりデバイスはスタンバイモードから復帰し , 命令実行を再開します。 ■ 周辺機能からの割込み要求 CPU が割込み要求を受け付けると , 割込み要求に対応する割込みベクタテーブルアド レスを分岐先アドレスとして , 割込みサービスルーチンへ分岐します。 各割込み要求の割込み処理優先順位は , 割込みレベル設定レジスタ (ILR0 ~ ILR5) によ り , 割込み処理の優先順位を 4 段階に設定できます。 割込みサービスルーチンで割込みが処理されている間 , 同一またはそれ以下のレベル の割込み要求が発生した場合は , 現在の割込みサービスルーチンが終了した後に , 処理 が実行されます。 また, 複数の割込み要求が同一割込みレベルに設定された場合, IRQ00 が最優先順位になります。 割込み要因については , デバイスのデータシートの「■ 割込み要因のテーブル」を参照 してください。 74 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 5 章 割込み 5.1 割込み MB95850K/860K/870K シリーズ 5.1.1 割込みレベル設定レジスタ (ILR0 ~ ILR5) 割込みレベル設定レジスタ (ILR0 ~ ILR5) には , 各周辺機能からの割込み要求に対応 した 2 ビットのデータが 24 組が割り当てられています。これら 2 ビットのデータ ( 割込みレベル設定ビット ) を使用して , 割込み要求の割込みレベルを設定します。 ■ レジスタ構成 ILR0 bit 7 Field 6 5 L03[1:0] 4 3 L02[1:0] 2 1 L01[1:0] 0 L00[1:0] 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 1 1 1 1 1 1 1 1 6 5 4 3 2 1 ILR1 bit 7 Field L07[1:0] L06[1:0] L05[1:0] 0 L04[1:0] 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 1 1 1 1 1 1 1 1 6 5 4 3 2 1 ILR2 bit 7 Field L11[1:0] L10[1:0] L09[1:0] 0 L08[1:0] 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 1 1 1 1 1 1 1 1 6 5 4 3 2 1 ILR3 bit 7 Field L15[1:0] L14[1:0] L13[1:0] 0 L12[1:0] 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 1 1 1 1 1 1 1 1 6 5 4 3 2 1 ILR4 bit 7 Field L19[1:0] L18[1:0] L17[1:0] 0 L16[1:0] 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 1 1 1 1 1 1 1 1 6 5 4 3 2 1 ILR5 bit 7 Field L23[1:0] L22[1:0] L21[1:0] 0 L20[1:0] 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 1 1 1 1 1 1 1 1 割込みレベル設定レジスタは, 各割込み要求に対し2ビットずつのデータを割り当てら れています。これらレジスタの割込みレベル設定ビットの値が , 割込み処理における割 込み要求の優先順位を表します。( 割込みレベル:0 ~ 3) 割込みレベル設定ビットは , コンディションコードレジスタ (CCR:IL[1:0]) の割込みレ MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 75 第 5 章 割込み 5.1 割込み MB95850K/860K/870K シリーズ ベルビットと比較されます。 割込み要求の割込みレベル 3 を設定した場合 , CPU は割込み要求を受け付けません。 表 5.1-1 に , 割込みレベル設定ビットと割込みレベルとの関係を示します。 表 5.1-1 割込みレベル設定ビットと割込みレベルとの関係 00 割込みレベル 0 01 1 10 2 11 3 LXX[1:0] 優先順位 高い 低い ( 割込みなし ) XX:00 ~ 23 割込み要求の番号 メインプログラム実行中は , コンディションコードレジスタの割込みレベルビット (CCR:IL[1:0]) は , "0b11" です。 76 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 5.1.2 割込み動作時の処理 第 5 章 割込み 5.1 割込み 周辺機能により割込み要求が発生すると , 割込みコントローラはその割込み要求の割 込みレベルを CPU に通知します。CPU が割込みを受け付けられる状態になっている と , 現在実行中のプログラムを一時中断し , 割込みサービスルーチンを実行します。 ■ 割込み動作時の処理 割込み処理の手順は , 周辺機能の割込み要因発生 , メインプログラムの実行 , 割込み要 求フラグビットの設定 , 割込み要求許可ビットの判定 , 割込みレベル (ILR0 ~ ILR5 お よび CCR:IL[1:0]) の判定 , 同一割込みレベルの同時要求の確認 , 割込み許可フラグ (CCR:I) の判定 , という順で行われます。 図 5.1-1 に , 割込み動作時の処理を示します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 77 第 5 章 割込み 5.1 割込み MB95850K/860K/870K シリーズ 図 5.1-1 割込み動作時の処理 内部データバス コンディションコードレジスタ(CCR) I CPU IL チェック (7) 比較器 (5) START ストップモード解除 スリープモード解除 タイムベースタイマモード/ 時計モード解除 RAM (1) 周辺リソースの初期化 割込み要求フラグ 周辺リソースの 割込みあり? NO YES AND 割込み要求許可 (3) (3) 周辺リソースの 割込み要求出力は許可されて いるか? NO (4) レベル比較器 (6) 各周辺リソース (4) 割込み コント ローラ YES 割込みの優先順位を判定し 該当レベルをCPUへ転送 (5) 該当レベルとPS内の ILビットを比較 該当レベル がILより強い? YES NO (2) Iフラグ=1? メインプログラム の実行 YES NO 割込みサービスルーチン 割込み要求クリア (7) PCとPSをスタックに退避 PCとPSを復帰 割込み処理の実行 (6) RETI 78 FUJITSU SEMICONDUCTOR LIMITED PC←割込みベクタ PS内のILの更新 MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 5 章 割込み 5.1 割込み (1) リセット直後は , すべての割込み要求は禁止状態になっています。周辺機能の初期 化プログラムで , 割込みを発生する各周辺機能を初期化して , 該当する割込みレベ ル設定レジスタ (ILR0 ~ ILR5) に割込みレベルを設定してから周辺機能を動作させ ます。割込みレベルは , 0, 1, 2, 3 のいずれかを設定できます。レベル 0 が最も優先 され , レベル 1 がその次に優先されます。周辺機能にレベル 3 を設定した場合は , 該当する周辺機能の割込みは禁止されます。 (2) メインプログラム ( 多重割込みの場合は , 割込みサービスルーチン ) を実行します。 (3) 周辺機能で割込み要因が発生したとき , 周辺機能の割込み要求フラグビットが "1" に設定されます。このとき , 周辺機能の割込み要求許可ビットが許可されていると , 割込み要求が割込みコントローラへ出力されます。 (4) 割込みコントローラは , 各周辺機能からの割込み要求を常に監視しており , 現在発 生している割込み要求の割込みレベルの中から , 最も優先された割込みレベルを CPU に伝達します。このとき , 同一の割込みレベルで同時に要求があった場合の 優先順位も , 割込みコントローラにて比較されます。 (5) CPU は受け取った割込みレベルがコンディションコードレジスタの割込みレベル ビット (CCR:IL[1:0]) に設定されているレベルより優先度が高い ( 割込みレベル番 号が低い ) 場合 , CPU は割込み許可フラグ (CCR:I) の内容をチェックし , 割込み許 可 (CCR:I=1) になっていれば割込みを受け付けます。 (6) CPU は , プログラムカウンタ (PC) およびプログラムステータス (PS) の内容をスタッ クに退避し , 該当する割込みベクタテーブルアドレスから割込みサービスルーチン の先頭アドレスを取り込み , コンディションコードレジスタの割込みレベルビット (CCR:IL[1:0]) の値を受け付けた割込みレベルの値に変更した後 , 割込み処置ルーチ ンを実行しはじめます。 (7) CPU は最後に , RETI 命令を実行し , スタックに退避しておいたプログラムカウンタ (PC) およびプログラムステータス (PS) の値を復帰して , 割込みの直前に実行した命 令の次の命令から処理を実行します。 <注意事項> 周辺機能の割込み要求フラグビットは , 割込み要求が受け付けられても自動的には "0" に なりません。したがって , 割込みサービスルーチンでプログラム ( 割込み要求フラグビッ トへの "0" の書込み ) を使用して "0" にしてください。 低消費電力モード ( スタンバイモード ) は , 割込みによって解除されます。詳細は ,「3.5 低消費電力モード ( スタンバイモード ) の動作」を参照してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 79 第 5 章 割込み 5.1 割込み 5.1.3 MB95850K/860K/870K シリーズ 多重割込み 周辺機能からの複数の割込み要求に対し , 割込みレベル設定レジスタ (ILR0 ~ ILR5) に異なる割込みレベルを設定することにより , 多重割込みを行います。 ■ 多重割込み 割込みサービスルーチン実行中に , 優先レベルの高い割込みレベルに設定された割込 み要求が発生すると , CPU は現在の割込み処理を中断して , 順位の優先される割込み要 求を受け付けます。割込み要求の割込みレベルは 0 ~ 3 まで設定できますが , レベル 3 に設定した場合 , CPU は割込み要求を受け付けません。 [ 例:多重割込み ] 多重割込み処理の例として , タイマ割込みより外部割込みを優先させる場合を想定し , タイマ割込みのレベルを 2 に , 外部割込みレベルを 1 に設定します。このとき , タイマ 割込み処理中に外部割込みが発生後は , 図 5.1-2 に示す処理を行います。 図 5.1-2 多重割込みの例 メインプログラム タイマ割込み処理 外部割込み処理 割込みレベル1 (CCR:IL[1:0]=0b01) 割込みレベル2 (CCR:IL[1:0]=0b10) 周辺リソース初期化(1) タイマ割込み発生(2) (3)外部割込み発生 (4)外部割込み処理 中断 再開 メインプログラム再開(8) (6)タイマ割込み処理 (5)外部割込み復帰 (7)タイマ割込み復帰 • タイマ割込み処理中 , コンディションコードレジスタの割込みレベルビット (CCR: IL1, IL0) は , タイマ割込みに対応する割込みレベル設定レジスタ (ILR0 ~ ILR5) の 値と同じ値 ( 上記の例ではレベル 2) になります。このとき , タイマ割込みの割込み レベル ( 上記の例ではレベル 1) より優先されるレベルの割込み要求が発生後は , そ の割込みが先に処理されます。 • タイマ割込み中に多重割込みを一時的に禁止したい場合は , コンディションコード レジスタ (CCR:I) の割込み許可フラグを "0" にするかまたは , 割込みレベルビット (CCR:IL[1:0]) を "0b00" にします。 • 割込み処理の終了後に割込み復帰命令 (RETI) が実行されると , プログラムカウンタ (PC) およびプログラムステータス (PS) の値が復帰され , CPU は割り込まれたプログ ラムを実行しはじめます。また , コンディションコードレジスタ (CCR) の値は , プ ログラムステータス (PS) が復帰されることにより , 割込み前の値を示します。 80 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 5 章 割込み 5.1 割込み MB95850K/860K/870K シリーズ 5.1.4 割込み処理時間 割込み要求の発生後に CPU が割込みサービスルーチンに移行するまでには , 割込み 要求が発生してから実行中の命令が終了するまでの時間と , 割込みハンドリング時間 ( 割込み処理準備に要する時間 ) の合計時間を必要とします。割込み処理時間は , 最大 26 マシンクロック周期となります。 ■ 割込み処理時間 割込み要求が発生して割込みサービスルーチンが実行される前に , CPU は , 割込み要求 サンプル待ち時間および割込みハンドリング時間が必要です。 ● 割込み要求サンプル待ち時間 割込み要求が発生しているかどうかは , 各命令の最後のサイクルで割込み要求をサン プリングして判断します。そのため , CPU は命令実行中には割込み要求を認識できま せん。このサンプリング待ち時間は , 最も実行サイクルの長い DIVU 命令 (17 マシンク ロック周期 ) の実行開始直後に割込み要求が発生した場合に最大となります。 ● 割込みハンドリング時間 CPU は割込みを受け付けた後 , 以下の割込み処理準備を行うために , 9 マシンクロック 周期を必要します。 • プログラムカウンタ (PC) およびプログラムステータス (PS) の値をスタックに退避 する。 • 割込みサービスルーチンの先頭アドレス ( 割込みベクタ ) を PC に設定する。 • プログラムステータス (PS) 内の割込みレベルビット (CCR:IL[1:0]) を更新する。 図 5.1-3 割込み処理時間 通常命令実行 割込みハンドリング 割込みサービスルーチン CPUの動作 割込み待ち時間 割込み要求 サンプル待ち時間 割込みハンドリング時間 (9マシンクロック周期) 割込み要求発生 : 命令最終サイクル, ここで割込み要求をサンプルする 最も実行サイクルの長い DIVU 命令 (17 マシンクロック周期 ) の実行開始直後に割込み 要求が発生した場合 , 割込み処理時間は 26 マシンクロック周期となります。 マシンクロック周期は , クロックモードおよびメインクロック速度の切換え ( ギア機能 ) によって変化します。詳細は , 「第 3 章 クロック制御部」を参照してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 81 第 5 章 割込み 5.1 割込み 5.1.5 MB95850K/860K/870K シリーズ 割込み処理時のスタック動作 割込み処理時のレジスタ内容の退避および復帰について説明します。 ■ 割込み処理開始時のスタック動作 割込みが受け付けられると , CPU は現在のプログラムカウンタ (PC) およびプログラム ステータス (PS) の内容を自動的にスタックに退避します。 図 5.1-4 に , 割込み処理開始時のスタック動作を説明します。 図 5.1-4 割込み処理開始時のスタック動作 割込み直前 割込み直後 アドレス メモリ PS 0x0870 PC 0xE000 SP 0x0280 0x027C 0x027D 0x027E 0x027F 0x0280 0x0281 0xXX 0xXX 0xXX 0xXX 0xXX 0xXX アドレス メモリ SP 0x027C PS 0x0870 PC 0xE000 0x027C 0x08 0x027D 0x70 0x027E 0xE0 0x027F 0x00 0x0280 0xXX 0x0281 0xXX } } PS PC ■ 割込みからの復帰時のスタック動作 CPU が割込み処理終了時に割込み復帰命令 (RETI) を実行後は , 最初にプログラムス テータス (PS) の値 , 次いでプログラムカウンタ (PC) の値をスタックから復帰させます。 復帰するときの順序は 2 つの値をスタックに退避する順序とは逆の順序になります。復 帰後 , PS および PC は割込み処理開始直前の状態に戻ります。 <注意事項> アキュムレータ (A) の値とテンポラリアキュムレータ (T) の値は自動的にスタックに退避 されないため , PUSHW および POPW 命令で A, T の値を退避 , 復帰させてください。 82 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 5.1.6 割込み処理のスタック領域 第 5 章 割込み 5.1 割込み 割込み処理の実行には , RAM 上のスタック領域を使用します。スタックポインタ (SP) にはスタック領域の先頭アドレスがあります。 ■ 割込み処理のスタック領域 スタック領域は , サブルーチンコール命令 (CALL) またはベクタコール命令 (CALLV) を実行するときのプログラムカウンタ (PC) の退避や復帰 , PUSHW, POPW 命令による 一時的なレジスタ類の退避や復帰にも使われます。 • スタック領域は , データ領域とともに RAM 上に確保されます。 • スタックポインタ (SP) は , RAM アドレスの最大値を示すよう初期化し , データ領域 は , RAM アドレスの小さい方から配置してください。 図 5.1-5 に , 割込み処理のスタック領域の設定例を説明します。 図 5.1-5 割込み処理のスタック領域の設定例 0x0000 I/0 0x0080 データ領域 RAM 0x0100 汎用 レジスタ 0x0200 スタック領域 SPの推奨設定値 例:RAMアドレスの最大値が0x0280の場合 0x0280 アクセス禁止 アドレスは品種によって異なります。詳細は, デバイスのデータシートを参照してください。 フラッシュ メモリ 0xFFFF <注意事項> スタック領域は , アドレス値の大きいほうから小さい方に向かって , 割込み , サブルーチ ンコール , PUSHW 命令などにより使用されます。領域を開放する場合は , 小さい方から 大きい方に向かって , 復帰命令 (RETI, RET), POPW 命令などにより開放されます。多重 割込みやサブルーチンコールにより使用されるスタック領域のアドレス値が小さくなっ た場合 , スタック領域をデータ領域や汎用レジスタ領域に重ねないでください。これら 2 つの領域にはほかのデータが保持されています。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 83 第 5 章 割込み 5.1 割込み 84 MB95850K/860K/870K シリーズ FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第6章 I/O ポート I/O ポートの機能と動作について説明します。 MN702-00010-2v0-J 6.1 概要 6.2 構成と動作 FUJITSU SEMICONDUCTOR LIMITED 85 第 6 章 I/O ポート 6.1 概要 6.1 MB95850K/860K/870K シリーズ 概要 I/O ポートは , 汎用入出力端子を制御するときに使用します。 ■ I/O ポートの概要 I/O ポートは , ポートデータレジスタ (PDR) によって , CPU からデータを出力したり , 入力された信号を CPU に取り込んだりする機能があります。また , ポート方向レジスタ (DDR) によって I/O 端子の入出力の方向をビット単位で任意に設定できます。 各製品の I/O ポート数は異なります。各製品の I/O ポート数はデバイスのデータシート を参照してください。 本章において , レジスタ名にある "x" は I/O ポート番号を示します。実際のレジスタ名 とその略称は , 各製品のデータシートを参照してください。 表 6.1-1 にポートレジスタ一覧を示します。 表 6.1-1 ポートレジスタ一覧 レジスタ名 レジスタの略称 ポート x データレジスタ PDRx ポート x 方向レジスタ DDRx ポート x プルアップレジスタ PULx A/D 入力禁止レジスタ ( 下位 )* AIDRL タッチ入力禁止レジスタ 0* TIDR0 タッチ入力禁止レジスタ 1* TIDR1 *: A/D 入力禁止レジスタ ( 下位 ), タッチ入力禁止レジスタ 0 とタッチ入力禁止レジスタ 1 の有 無について , デバイスのデータシートの「■ I/O マップ」を参照してください。 86 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 6.2 構成と動作 第 6 章 I/O ポート 6.2 構成と動作 I/O ポートを汎用入出力ポートとして使用するときの構成と動作を中心に説明しま す。 周辺機能の詳細については , それぞれの章を参照してください。 ■ I/O ポートの構成 I/O ポートは以下の要素から構成されます。 • 汎用入出力端子 / 周辺機能入出力端子 • ポート x データレジスタ (PDRx) • ポート x 方向レジスタ (DDRx) • ポート x プルアップレジスタ (PULx) • A/D 入力禁止レジスタ ( 下位 ) (AIDRL) • タッチ入力禁止レジスタ 0 (TIDR0) • タッチ入力禁止レジスタ 1 (TIDR1) MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 87 第 6 章 I/O ポート 6.2 構成と動作 MB95850K/860K/870K シリーズ ■ I/O ポートの動作 ● 出力ポートとしての動作 • 端子に対応する DDRx レジスタのビットを "1" に設定すると , その端子は出力ポー トになります。 • 端子を兼用する周辺機能においては , その出力を禁止してください。 • 端子が出力ポートとして使用されている時は , その端子から PDRx レジスタの値が 外部端子に出力されます。 • PDRx レジスタにデータを書き込むと , その値は出力ラッチに保持され , そのまま出 力ポートとして設定した端子へ出力されます。 • PDRx レジスタを読み出すと , PDRx レジスタの値が読み出されます。 ● 入力ポートとしての動作 • 端子に対応する DDRx レジスタのビットを "0" に設定すると , その端子は入力ポー トになります。 • 端子を兼用する周辺機能においては , その出力を禁止してください。 • アナログ入力機能兼用端子を入力ポートとして使用している時は , A/D 入力禁止レ ジスタ ( 下位 ) (AIDRL) の対応するビットを "1" に設定してください。 • タッチ入力機能兼用端子を入力ポートとして使用している時は , タッチ入力禁止レ ジスタ 0/1 (TIDR0/TIDR1) の対応するビットを "1" に設定してください。 • PDRx レジスタにデータを書き込むと , その値が出力ラッチに保持されますが , 入力 ポートとして設定した端子へは出力されません。 • PDRxレジスタを読み出すと, 端子の値が読み出されます。ただし, リードモディファ イライト (RMW) 系命令を使用して PDRx レジスタを読み出す場合は , PDRx レジス タの値を読み出します。 ● 周辺機能出力端子としての動作 • 端子に対応する周辺機能に出力許可ビットを設定し , 周辺出力機能を許可すると , その端子は , 周辺機能出力端子となります。 • 周辺機能出力を許可した場合でも , PDRx レジスタから端子の値を読み出せます。し たがって , PDRx レジスタの読出し動作により , 周辺機能の出力値を読み出せます。 ただし , リードモディファイライト (RMW) 系命令を使用して PDRx レジスタを読み 出す場合は , PDRx レジスタの値を読み出します。 ● 周辺機能入力端子としての動作 • 端子を入力ポートとして設定するには , 周辺機能の入力端子に対応する DDRx レジ スタのビットを "0" に設定します。 • アナログ入力機能兼用端子をその他の周辺機能入力端子として使用する場合は , AIDRL レジスタのその端子に対応するビットを "1" に設定して , その端子を入力ポートと して設定してください。 • 周辺機能がその端子を入力端子として使用しているかどうかに関係なく, PDRxレジ スタを読み出すと , 端子の値が読み出されます。ただし , リードモディファイライト (RMW) 系命令を使用して PDRx レジスタを読み出す場合は , PDRx レジスタの値を 読み出します。 88 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 6 章 I/O ポート 6.2 構成と動作 ● リセット時の動作 CPU がリセットされると , DDRx レジスタのすべてのビットが "0" に初期化され , ポー ト入力が許可された状態になります。アナログ入力機能と兼用となる端子については , AIDRL レジスタが "0" に初期化されるため , ポート入力は禁止されます。タッチ入力機 能と兼用となる端子については , TIDR0/TIDR1 レジスタ が "0" に初期化されるため , ポート入力は禁止されます。 ● ストップモードおよび時計モード時の動作 • スタンバイ制御レジスタの端子状態設定ビット (STBC:SPL) が "1" に設定され , デバ イスがストップモードもしくは時計モードに移行すると , DDRx レジスタの値に関 係なく強制的に端子はハイインピーダンス状態になります。入力開放によるリーク を防止するために , 端子入力は "L" レベルに固定され遮断されます。ただし , 外部割 込みによる割込み入力が許可されている場合 , 入力可能になり入力は遮断されませ ん。 • 端子状態設定ビットが "0" の場合は , ポート入出力の状態または周辺機能入出力の 状態は変更されず , 出力レベルは維持されます。 ● アナログ入力端子としての動作 • アナログ入力端子に対応する DDRx レジスタのビットに "0" を , AIDRL レジスタの その端子に対応するビットに "0" を設定してください。 • ほかの周辺機能と兼用されている端子では , それらの周辺機能の出力を禁止してく ださい。 また , PULx レジスタの対応するビットを "0" に設定してください。 ● タッチ入力端子としての動作 • タッチ入力端子に対応する DDRx レジスタのビットに "0" を , TIDR0/TIDR1 レジス タのその端子に対応するビットに "0" を設定してください。 • ほかの周辺機能と兼用されている端子では , それらの周辺機能の出力を禁止してく ださい。 また , PULx レジスタの対応するビットを "0" に設定してください。 ● 外部割込み入力端子としての動作 • 外部割込み入力端子に対応する DDRx レジスタのビットを "0" に設定します。 • 端子を兼用する周辺機能においては , その出力を禁止してください。 • 端子の値は常に外部割込み回路に入力されます。 端子を割込み以外の機能に使用す る場合は , その端子に対応する外部割込み機能を禁止にします。 ● プルアップレジスタの動作 PULx レジスタのビットに "1" を設定すると , プルアップ抵抗は端子に内部接続されま す。 端子出力が "L" レベルのときは , PULx レジスタの値にかかわらずに , プルアップ抵 抗は切断されます。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 89 第 6 章 I/O ポート 6.2 構成と動作 90 MB95850K/860K/870K シリーズ FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第7章 タイムベースタイマ タイムベースタイマの機能と動作について説明し ます。 MN702-00010-2v0-J 7.1 概要 7.2 構成 7.3 割込み 7.4 動作説明と設定手順例 7.5 レジスタ 7.6 使用上の注意 FUJITSU SEMICONDUCTOR LIMITED 91 第 7 章 タイムベースタイマ 7.1 概要 7.1 MB95850K/860K/870K シリーズ 概要 タイムベースタイマは , メインクロックの 2 分周 , メイン CR クロックまたはメイン CR PLL クロックに同期してカウントダウンする 24 ビットのフリーランカウンタで す。クロックは , SYCC レジスタの SCS[2:0] ビットによって選択できます。このタ イムベースタイマには , 一定のインターバル時間で繰返し割込み要求を発生させる インターバルタイマ機能があります。 ■ インターバルタイマ機能 インターバルタイマ機能は , メインクロックの 2 分周 , メイン CR クロックまたはメイ ン CR PLL クロックをカウントクロックとして一定のインターバル時間で繰返し割込 み要求を発生させる機能です。 • タイムベースタイマのカウンタがカウントダウンを行い , 選択したインターバル時 間が経過するごとに割込み要求を発生させます。 • インターバル時間の長さは , 次の 16 種類の中から選択できます。 表 7.1-1 に , タイムベースタイマのインターバル時間を示します。 表 7.1-1 タイムベースタイマのインターバル時間 メインクロックを使用した場 合のインターバル時間 メイン CR クロックを使用し た場合のインターバル時間 PLL 逓倍率 2 をかけたメイン CR クロックを使用した場合 のインターバル時間 (2n×2/FCH*1) (2n×1/FCRH*2) (2n×1/FMCRPLL*3) n=9 256 µs 128 µs 64 µs n=10 512 µs 256 µs 128 µs n=11 1.024 ms 512 µs 256 µs n=12 2.048 ms 1.024 ms 512 µs n=13 4.096 ms 2.048 ms 1.024 ms n=14 8.192 ms 4.096 ms 2.048 ms n=15 16.384 ms 8.192 ms 4.096 ms n=16 32.768 ms 16.384 ms 8.192 ms n=17 65.536 ms 32.768 ms 16.384 ms n=18 131.072 ms 65.536 ms 32.768 ms n=19 262.144 ms 131.072 ms 65.536 ms n=20 524.288 ms 262.144 ms 131.072 ms n=21 1.049 s 524.288 ms 262.144 ms n=22 2.097 s 1.049 s 524.288 ms n=23 4.194 s 2.097 s 1.049 s n=24 8.389 s 4.194 s 2.097 s *1: FCH = 4 MHz ∴2/FCH = 0.5 µs *2: FCRH = 4 MHz ∴1/FCRH = 0.25 µs *3: FMCRPLL = 8 MHz PLL 逓倍率 = 2 FCRH × PLL 逓倍率 = 4 MHz × 2 = 8 MHz ∴1/FMCRPLL = 0.125 µs 92 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 7 章 タイムベースタイマ 7.2 構成 MB95850K/860K/870K シリーズ 7.2 構成 タイムベースタイマは , 以下のブロックから構成されます。 • タイムベースタイマカウンタ • カウンタクリア回路 • インターバルタイマセレクタ • タイムベースタイマ制御レジスタ (TBTC) ■ タイムベースタイマのブロックダイヤグラム 図 7.2-1 タイムベースタイマのブロックダイヤグラム タイムベースタイマカウンタ プリスケーラへ ソフトウェアウォッチドッグタイマへ FCHの2分周 ×21 ×22 ×23 ×24 ×25 ×26 ×27 ×28 ×29 ×210 ×211 ×212 ×213 ×214 ×215 ×216 ×217 ×218 ×219 ×220 ×221 ×222 ×223 ×224 FCRH FMCRPLL SCM2 SCM1 SCM0 SCS2 SCS1 システムクロック制御レジスタ(SYCC) SCS0 DIV1 DIV0 カウンタクリア ソフトウェアウォッチドッグタイマクリア リセット メインクロック, メインCRクロックの発振停止 カウンタクリア 回路 インターバルタイマ セレクタ タイムベースタイマ割込み TBIF TBIE - TBC3 TBC2 TBC1 TBC0 TCLR タイムベースタイマ制御レジスタ (TBTC) FCH : メインクロック FCRH : メインCRクロック FMCRPLL : メインCR PLLクロック MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 93 第 7 章 タイムベースタイマ 7.2 構成 MB95850K/860K/870K シリーズ ● タイムベースタイマカウンタ メインクロックの 2 分周 , メイン CR クロックまたはメイン CR PLL クロックをカウン トクロックとする 24 ビットのダウンカウンタです。 ● カウンタクリア回路 タイムベースタイマのカウンタのクリアを制御する回路です。 ● インターバルタイマセレクタ 24ビットのタイムベースタイマカウンタの中の16ビットからインターバルタイマ用の 1 ビットを選択する回路です。 ● タイムベースタイマ制御レジスタ (TBTC) インターバル時間の選択 , カウンタのクリア , 割込み制御およびタイムベースタイマの 状態確認を行うレジスタです。 ■ 入力クロック タイムベースタイマは , メインクロックの 2 分周 , メイン CR クロックまたはメイン CR PLL クロックを入力クロック ( カウントクロック ) として使用します。 ■ 出力クロック タイムベースタイマは , クロックスーパバイザカウンタ , ソフトウェアウォッチドッグ タイマとプリスケーラにクロックを供給しています。 94 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 7 章 タイムベースタイマ 7.3 割込み MB95850K/860K/870K シリーズ 7.3 割込み タイムベースタイマにより選択したインターバル時間が経過すると , 割込み要求が 発生します ( インターバルタイマ機能 )。 ■ インターバル機能動作時の割込み タイムベースタイマカウンタが内部カウントクロックでカウントダウンし , 選択され たインターバル時間の経過により , タイムベースタイマカウンタがアンダフローする と , タイムベースタイマの割込み要求フラグビット (TBTC:TBIF) が "1" に設定されま す。そのとき , タイムベースタイマの割込み要求許可ビットを許可 (TBTC:TBIE = 1) に した場合 , 割込み要求が発生し , 割込みコントローラへ送られます。 • TBIE ビットの値に関係なく , 選択されたビットがアンダフローすると TBIF ビット は , "1" に設定されます。 • TBIF ビットが "1" に設定されているときには , TBIE ビットを禁止から許可 (0 → 1) にすると , 直ちに割込み要求が発生します。 • カウンタクリア (TBTC:TCLR = 1) とタイムベースタイマカウンタのアンダフローが 同時に発生した場合は , TBIF ビットは "1" に設定されません。 • 割込みサービスルーチンでは TBIF ビットに "0" を書き込んで割込み要求をクリア してください。 <注意事項> リセット解除後に割込み要求出力を許可 (TBTC:TBIE = 1) する場合は , 必ず TBIF ビット を同時にクリア (TBTC:TBIF = 0) してください。 表 7.3-1 タイムベースタイマの割込み 項目 割込みの条件 説明 割込みフラグ TBTC:TBC[3:0] で設定したインターバル時間が経過した。 TBTC:TBIF 割込み許可 TBTC:TBIE MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 95 第 7 章 タイムベースタイマ 7.4 動作説明と設定手順例 7.4 MB95850K/860K/870K シリーズ 動作説明と設定手順例 タイムベースタイマのインターバルタイマ機能の動作について説明します。 ■ タイムベースタイマの動作 タイムベースタイマのカウンタは, リセット後"0xFFFFFF"に初期化され, メインクロッ クの 2 分周 , メイン CR クロックまたはメイン CR PLL クロックに同期してカウントを 開始します。 タイムベースタイマは , メインクロック , メイン CR クロックまたはメイン CR PLL ク ロックが発振している限り , カウントダウンを続けます。メインクロック , メイン CR クロックまたはメイン CR PLL クロックが停止すると , カウンタは停止し , "0xFFFFFF" に初期化されます。 インターバルタイマ機能を使用するには , 図 7.4-1 に示された設定をしてください。 図 7.4-1 インターバルタイマ機能の設定 TBTC bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 TBIF TBIE - TBC3 TBC2 TBC1 TBC0 TCLR 0 1 0 : 使用ビット 1 : "1"を設定 0 : "0"を設定 タイムベースタイマ制御レジスタのタイムベースタイマクリアビット (TBTC:TCLR) に "1" を設定すると , タイムベースタイマのカウンタは "0xFFFFFF" に初期化され , カウン トダウンを継続します。選択されたインターバル時間が経過すると , タイムベースタイ マ制御レジスタのタイムベースタイマ割込み要求フラグビット (TBTC:TBIF) が "1" に なります。つまり , 最後にカウンタがクリアされた時間を基準にして , 選択されたイン ターバル時間ごとに割込み要求を発生します。 ■ タイムベースタイマのクリア タイムベースタイマの出力をほかの周辺機能で使用している際にタイムベースタイマ をクリアすると , カウント時間が変化するなど動作に影響を与えます。 タイムベースタイマクリアビット (TBTC:TCLR) を使ってカウンタをクリアする場合は , このクリアによって予期せぬ影響が及ばないようにそのほかの周辺機能の設定を必要 に応じて変更してください。 なお , タイムベースタイマの出力がウォッチドッグタイマのカウントクロックとして 選択されているときにタイムベースタイマがクリアされると , 同時にウォッチドッグ タイマもクリアされます。 タイムベースタイマは , TCLR ビットによってクリアされるだけでなく , メインクロッ ク , メイン CR クロックまたはメイン CR PLL クロックが停止し , 発振安定待ち時間の カウントが必要になったときにもクリアされます。タイムベースタイマは以下の状況 でクリアされます。 • デバイスが , メインクロックモード , メイン CR クロックモードまたはメイン CR PLL クロックモードからストップモードへ遷移したとき • 96 デバイスが , メインクロックモード , メイン CR クロックモードまたはメイン CR FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 7 章 タイムベースタイマ 7.4 動作説明と設定手順例 PLL クロックモードからサブクロックモードまたはサブ CR クロックモードへ遷移 したとき • 電源投入時 • 低電圧検出リセット時 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 97 第 7 章 タイムベースタイマ 7.4 動作説明と設定手順例 MB95850K/860K/870K シリーズ ■ タイムベースタイマの動作例 図 7.4-2 に , 以下の条件下の動作例を示します。 1. パワーオンリセットが発生した場合 2. デバイスが , メインクロックモード , メイン CR クロックモードまたはメイン CR PLL クロックモードにおいてインターバルタイマ機能の動作中に , スリープモード へ遷移した場合 3. デバイスが , メインクロックモード , メイン CR クロックモードまたはメイン CR PLL クロックモード中に , ストップモードへ遷移した場合 4. カウンタクリアの要求が発生した場合 デバイスがタイムベースタイマモードに遷移した場合 , スリープモードに遷移した際 と同様の動作が実行されます。 クロックモードがサブクロックモード , サブ CR クロックモード , メインクロックモー ド , メイン CR クロックモードまたはメイン CR PLL クロックモード時のストップモー ドでは , タイマ動作はクリアされ , メインクロックが停止するために , タイマは動作を 停止します。 図 7.4-2 タイムベースタイマの動作 カウント値 (カウントダウン) 0xFFFFFF TBTC:TBC[3:0]で 検出するカウント値 インターバル周期 (TBTC:TBC[3:0] = 0b0011) ストップモードへの 移行によるクリア 0x000000 発振安定待ち 時間 発振安定待ち時間 4) カウンタクリア (TBTC:TCLR = 1) 1) パワーオンリセット インターバル 設定時のクリア 割込みサービスルーチン でクリア TBIFビット TBIEビット スリープ 2) SLPビット (STBCレジスタ) ストップ タイムベースタイマ割込み によるスリープ解除 3) STPビット (STBCレジスタ) 外部割込みによるストップモード解除 16 • タイムベースタイマ制御レジスタのインターバル時間選択ビット (TBTC:TBC[3:0]) に "0b0011"を設定した場合 (2 × 2/FCH) • • • • • • 98 TBTC:TBC[3:0] TBTC:TCLR TBTC:TBIF TBTC:TBIE STBC:SLP STBC:STP : : : : : : タイムベースタイマ制御レジスタのインターバル時間選択ビット タイムベースタイマ制御レジスタのタイムベースタイマ初期化ビット タイムベースタイマ制御レジスタのタイムベースタイマ割込み要求フラグビット タイムベースタイマ制御レジスタのタイムベースタイマ割込み要求許可ビット スタンバイ制御レジスタのスリープビット スタンバイ制御レジスタのストップビット FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 7 章 タイムベースタイマ 7.4 動作説明と設定手順例 ■ 設定手順例 タイムベースタイマの設定手順例を以下に示します。 ● 初期設定 1. 割込みレベルを設定してください (ILR*)。 2. インターバル時間を設定してください (TBTC:TBC[3:0])。 3. 割込み許可を設定し , 割込み要求フラグをクリアしてください (TBTC:TBIE = 1, TBTC:TBIF = 0)。 4. カウンタをクリアしてください (TBTC:TCLR = 1)。 *: 割込みレベル設定レジスタ (ILR) の詳細について , 本ハードウェアマニュアルの「第 5 章 割込み」とデバイスのデータシートの「■ 割込み要因のテーブル」を参照してください。 ● 割込み処理 1. 割込み要求フラグをクリアしてください (TBTC:TBIF = 0)。 2. カウンタをクリアしてください (TBTC:TCLR = 1)。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 99 第 7 章 タイムベースタイマ 7.5 レジスタ MB95850K/860K/870K シリーズ レジスタ 7.5 タイムベースタイマのレジスタについて説明します。 表 7.5-1 タイムベースタイマのレジスタ一覧 レジスタ略称 TBTC 100 レジスタ名 タイムベースタイマ制御レジスタ FUJITSU SEMICONDUCTOR LIMITED 参照先 7.5.1 MN702-00010-2v0-J 第 7 章 タイムベースタイマ 7.5 レジスタ MB95850K/860K/870K シリーズ 7.5.1 タイムベースタイマ制御レジスタ (TBTC) タイムベースタイマ制御レジスタ (TBTC) は , インターバル時間の選択 , カウンタの クリア , 割込み制御およびタイムベースタイマの状態確認を行います。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field TBIF TBIE — TBC3 TBC2 TBC1 TBC0 TCLR 属性 R/W R/W — R/W R/W R/W R/W W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7] TBIF: タイムベースタイマ割込み要求フラグビット このビットはタイムベースタイマにより選択されたインターバル時間が経過すると, "1"に設定され るフラグです。 このビットとタイムベースタイマ割込み要求許可ビット (TBIE) が "1" のとき , 割込み要求を出力し ます。 リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。 説明 bit7 "0" が読み出された場合 インターバル時間がまだ経過していないことを示します。 "1" が読み出された場合 インターバル時間が経過したことを示します。 "0" を書き込んだ場合 このビットをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 [bit6] TBIE: タイムベースタイマ割込み要求許可ビット このビットは割込みコントローラへの割込み要求の出力を許可または禁止します。 このビットとタイムベースタイマ割込み要求フラグビット (TBIF) が "1" のとき , 割込み要求を出力 します。 bit6 説明 "0" を書き込んだ場合 タイムベースタイマの割込み要求を禁止します。 "1" を書き込んだ場合 タイムベースタイマの割込み要求を許可します。 [bit5] 未定義ビット 読出し値は常に "0" です。このビットに値を書き込んでも動作に影響はありません。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 101 第 7 章 タイムベースタイマ 7.5 レジスタ MB95850K/860K/870K シリーズ [bit4:1] TBC[3:0]: インターバル時間選択ビット これらのビットはインターバル時間を選択します。 bit4:1 インターバル時間 ( メインクロック , FCH = 4 MHz) インターバル時間 ( メイン CR クロック , FCRH = 4 MHz) インターバル時間 (PLL 逓倍率 2 をかけた メイン CR クロック , FMCRPLL = 8 MHz) "0100" を書き込んだ場合 29×2/FCH (256 µs) 29×1/FCRH (128 µs) 29×1/FMCRPLL (64 µs) "0000" を書き込んだ場合 210×2/FCH (512 µs) 210×1/FCRH (256 µs) 210×1/FMCRPLL (128 µs) "0101" を書き込んだ場合 211×2/FCH (1.024 ms) 211×1/FCRH (512 µs) 211×1/FMCRPLL (256 µs) "0001" を書き込んだ場合 212×2/FCH (2.048 ms) 212×1/FCRH (1.024 ms) 212×1/FMCRPLL (512 µs) "0110" を書き込んだ場合 213×2/FCH (4.096 ms) 213×1/FCRH (2.048 ms) 213×1/FMCRPLL (1.024 ms) "0010" を書き込んだ場合 214×2/FCH (8.192 ms) 214×1/FCRH (4.096 ms) 214×1/FMCRPLL (2.048 ms) "0111" を書き込んだ場合 215×2/FCH (16.384 ms) 215×1/FCRH (8.192 ms) 215×1/FMCRPLL (4.096 ms) "0011" を書き込んだ場合 216×2/FCH (32.768 ms) 216×1/FCRH (16.384 ms) 216×1/FMCRPLL (8.192 ms) "1000" を書き込んだ場合 217×2/FCH (65.536 ms) 217×1/FCRH (32.768 ms) 217×1/FMCRPLL (16.384 ms) "1001" を書き込んだ場合 218×2/FCH (131.072 ms) 218×1/FCRH (65.536 ms) 218×1/FMCRPLL (32.768 ms) "1010" を書き込んだ場合 219×2/FCH (262.144 ms) 219×1/FCRH (131.072 ms) 219×1/FMCRPLL (65.536 ms) "1011" を書き込んだ場合 220×2/FCH (524.288 ms) 220×1/FCRH (262.144 ms) 220×1/FMCRPLL (131.072 ms) "1100" を書き込んだ場合 221×2/FCH (1.049 s) 221×1/FCRH (524.288 ms) 221×1/FMCRPLL (262.144 ms) "1101" を書き込んだ場合 222×2/FCH (2.097 s) 222×1/FCRH (1.049 s) 222×1/FMCRPLL (524.288 ms) "1110" を書き込んだ場合 223×2/FCH (4.194 s) 223×1/FCRH (2.097 s) 223×1/FMCRPLL (1.049 s) "1111" を書き込んだ場合 224×2/FCH (8.389 s) 224×1/FCRH (4.194 s) 224×1/FMCRPLL (2.097 s) [bit0] TCLR: タイムベースタイマクリアビット このビットはタイムベースタイマのカウンタの全ビットを "1" にクリアします。 説明 bit0 読出し動作 読出し値は常に "0" です。 "0" を書き込んだ場合 動作に影響はありません。 "1" を書き込んだ場合 タイムベースタイマのカウンタの全ビットを "1" にクリアします。 ( 注意事項 ) タイムベースタイマの出力が , ソフトウェアウォッチドッグタイマのカウントクロッ クとして選択されている時には , このビットによりタイムベースタイマをクリアする と , ソフトウェアウォッチドッグタイマもクリアされます。 102 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 7.6 使用上の注意 第 7 章 タイムベースタイマ 7.6 使用上の注意 タイムベースタイマ使用上の注意を示します。 ■ タイムベースタイマ使用上の注意 ● プログラムで設定する場合 タイムベースタイマ割込み要求フラグビット (TBTC:TBIF) が "1"に設定され , 割込み要 求許可ビットが許可された (TBTC:TBIE = 1) 状態のとき , タイマは , 割込み処理から復 帰できません。割込みサービスルーチン内で TBIF ビットのクリアを必ず行ってくださ い。 ● タイムベースタイマのクリアについて タイムベースタイマは , タイムベースタイマクリアビットによるクリア (TBTC:TCLR = 1) 以外に , メインクロックの発振安定待ち時間 , メイン CR クロックの発振安定待ち時間 またはメイン CR PLL クロックの発振安定待ち時間が必要となる場合にクリアされま す。 ソフトウェアウォッチドッグタイマ (WDTC:CS[1:0] = 0b00 または CS[1:0] = 0b01) のカウントクロックとしてタイムベースタイマが選択されている場合 , タイムベース タイマがクリアされるとソフトウェアウォッチドッグタイマもクリアされます。 ● タイムベースタイマからクロックを供給される周辺機能について メインクロックの原発振が停止するモードでは , カウンタはクリアされ , タイムベース タイマは動作を停止します。また , タイムベースタイマの出力をほかの周辺機能で使用 している際にタイムベースタイマのカウンタをクリアすると , 動作周期が変化するな ど , 周辺機能の動作に影響を与えます。 なお , タイムベースタイマのカウンタがクリアされた後 , タイムベースタイマから出力 されたソフトウェアウォッチドッグタイマ用のクロックは , 初期状態となります。ただ し , ソフトウェアウォッチドッグタイマが初期状態に戻ると同時に , ソフトウェア ウォッチドッグタイマのカウンタもクリアされるため , ソフトウェアウォッチドッグ タイマは正常の周期で動作します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 103 第 7 章 タイムベースタイマ 7.6 使用上の注意 104 MB95850K/860K/870K シリーズ FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第8章 ハードウェア / ソフトウェア ウォッチドッグタイマ ウォッチドッグタイマの機能と動作について説明 します。 MN702-00010-2v0-J 8.1 概要 8.2 構成 8.3 動作説明と設定手順例 8.4 レジスタ 8.5 使用上の注意 FUJITSU SEMICONDUCTOR LIMITED 105 第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ 8.1 概要 MB95850K/860K/870K シリーズ 8.1 概要 ウォッチドッグタイマは , プログラム暴走対策用のカウンタです。 ■ ウォッチドッグタイマ機能 ウォッチドッグタイマは , プログラム暴走対策用のカウンタです。ウォッチドッグタイ マが一度起動すると , 一定時間内で定期的にウォッチドッグタイマのカウンタをクリ アし続けてください。 プログラムが無限ループに陥るなどして , 一定時間以上クリアさ れない場合 , ウォッチドッグリセットを発生します。 ● ソフトウェア / ハードウェアウォッチドッグタイマのカウントクロック • ソフトウェアウォッチドッグタイマでは , タイムベースタイマの出力 , 時計プリス ケーラの出力またはサブ CR タイマの出力がカウントクロックとして選択できま す。 • ハードウェアウォッチドッグタイマでは , サブ CR タイマの出力のみがカウントク ロックとして使用できます。 ● ソフトウェア / ハードウェアウォッチドッグタイマの起動 106 • ソフトウェア / ハードウェアウォッチドッグタイマは , フラッシュメモリ上にある アドレス 0xFFBE, 0xFFBF の値にしたがって起動されます。また , これらの値は ウォッチドッグタイマ選択 ID レジスタ ( 上位 / 下位 ) (WDTH/WDTL) (0x0FEB/ 0x0FEC) へコピーされます。 • ソフトウェア起動の場合 ( ソフトウェアウォッチドッグ ), ウォッチドッグタイマ機 能を開始するためには , ウォッチドッグタイマレジスタ (WDTC) を設定しなければ なりません。 • ハードウェア起動の場合 ( ハードウェアウォッチドッグ ), リセット後にウォッチ ドッグタイマは自動的に起動します。ウォッチドッグタイマは , フラッシュメモリ 上にあるアドレス 0xFFBE, 0xFFBF の値にしたがって , ストップモードで停止また は実行します。これらの値はウォッチドッグタイマ選択 ID レジスタ ( 上位 / 下位 ) (WDTH/WDTL) (0x0FEB/0x0FEC) へコピーされます。ウォッチドッグタイマ選択 ID についての詳細は ,「第 24 章 不揮発性レジスタ (NVR) インタフェース」を参照して ください。 • 表 8.1-1 に , ウォッチドッグタイマのインターバル時間を示します。ウォッチドッグ タイマのカウンタがクリアされない場合 , 最小時間~最大時間の間にウォッチドッ グリセットが発生します。インターバル時間の最小時間内にウォッチドッグタイマ のカウンタをクリアしてください。 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ 8.1 概要 MB95850K/860K/870K シリーズ 表 8.1-1 ウォッチドッグタイマのインターバル時間 カウントクロック切換えビット CS[1:0], CSP カウントクロックの種類 タイムベースタイマ出力 ( メインクロック = 4 MHz) 時計プリスケーラ出力 ( サブクロック = 32.768 kHz) サブ CR タイマ ( サブ CR クロック = 50 ~ 150 kHz) インターバル時間 最小時間 最大時間 0b000 ( ソフトウェアウォッチドッグタイマ ) 524 ms 1.05 s 0b010 ( ソフトウェアウォッチドッグタイマ ) 262 ms 524 ms 0b100 ( ソフトウェアウォッチドッグタイマ ) 500 ms 1.00 s 0b110 ( ソフトウェアウォッチドッグタイマ ) 250 ms 500 ms 0bXX1*1( ソフトウェアウォッチドッグタイマ ) または ハードウェアウォッチドッグタイマ *2 437 ms 2.62 s *1: X = 0 または 1 *2: CS[1:0] = 0b00, CSP = 1 ( リードオンリ ) MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 107 第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ 8.2 構成 MB95850K/860K/870K シリーズ 8.2 構成 ウォッチドッグタイマは , 以下のブロックで構成されます。 • カウントクロックセレクタ • ウォッチドッグタイマカウンタ • リセット制御回路 • ウォッチドッグタイマクリアセレクタ • カウンタクリア制御回路 • ウォッチドッグタイマ制御レジスタ (WDTC) ■ ウォッチドッグタイマのブロックダイヤグラム 図 8.2-1 ウォッチドッグタイマのブロックダイヤグラム ウォッチドッグタイマ制御レジスタ(WDTC) CS1 221/FCH (または220/FCRHまたは220/FMCRPLL), 220/FCH (または219/FCRHまたは219/FMCRPLL) (タイムベースタイマ出力) 214/FCL (または213/FCRL), 213/FCL (または212/FCRL) (時計プリスケーラ出力) CS0 CSP HWWDT WTE3 WTE2 WTE1 WTE0 ウォッチドッグタイマ カウントクロック セレクタ クリア 起動 216/FCRL (サブCRタイマ) タイムベースタイマ からのクリア信号 ウォッチドッグ タイマ クリアセレクタ 時計プリスケーラ からのクリア信号 リセット 制御回路 ウォッチドッグ タイマカウンタ スリープモード開始 ストップモード開始 タイムベースタイマ/時計モード開始 ストップモードで停止中または動作中 リセット 信号 オーバフロー カウンタクリア 制御回路 FCH : メインクロック FCRH : メインCRクロック FMCRPLL : メインCR PLLクロック FCL : サブクロック FCRL : サブCRクロック 108 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ 8.2 構成 MB95850K/860K/870K シリーズ ● カウントクロックセレクタ このセレクタは , ウォッチドッグタイマカウンタのカウントクロックを選択します。 ● ウォッチドッグタイマカウンタ このカウンタは , タイムベースタイマの出力 , 時計プリスケーラの出力またはサブ CR タイマの出力をカウントクロックとする 1 ビットのカウンタです。 ● リセット制御回路 この回路は , ウォッチドッグタイマカウンタのオーバフローによってリセット信号を 発生させます。 ● ウォッチドッグタイマクリアセレクタ ウォッチドッグタイマクリア信号を選択します。 ● カウンタクリア制御回路 ウォッチドッグタイマカウンタのクリアと動作停止を制御する回路です。 ● ウォッチドッグタイマ制御レジスタ (WDTC) ウォッチドッグタイマカウンタの起動とクリアおよびカウントクロックの選択を設定 するレジスタです。 ■ 入力クロック ウォッチドッグタイマは , タイムベースタイマの出力クロック , 時計プリスケーラから の出力クロックまたはサブ CR タイマからの出力クロックを入力クロック ( カウントク ロック ) として使用します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 109 第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ 8.3 動作説明と設定手順例 MB95850K/860K/870K シリーズ 8.3 動作説明と設定手順例 ウォッチドッグタイマは , ウォッチドッグタイマカウンタのオーバフローによって ウォッチドッグリセットを発生します。 ■ ウォッチドッグタイマの動作 ● ウォッチドッグタイマの起動方法 ソフトウェアウォッチドッグの場合 • ウォッチドッグタイマ制御レジスタのウォッチドッグ制御ビット (WDTC:WTE[3:0]) に , リセット後 , 1 回目の "0b0101" を書き込むとウォッチドッグ タイマは起動します。このとき , ウォッチドッグタイマ制御レジスタのカウントク ロック切換えビット (WDTC:CS[1:0], CSP) を同時に指定します。 • ウォッチドッグタイマを一度起動すると , リセット以外にその動作を止める方法は ありません。 ハードウェアウォッチドッグの場合 • ハードウェアウォッチドッグタイマを起動するために , フラッシュメモリ上にある アドレス 0xFFBE と 0xFFBF に "0xA596" 以外の任意の値を書き込んでください。リ セット後, フラッシュメモリ上にあるアドレス0xFFBEと0xFFBFのデータは, ウォッ チドッグタイマ選択 ID レジスタ ( 上位 / 下位 ) (WDTH/WDTL) (0x0FEB/0x0FEC) へ コピーされます。フラッシュメモリ上にあるアドレス 0xFFBE および 0xFFBF に "0xA597" を書き込むと , ハードウェアウォッチドッグタイマはスタンバイモードで 停止しますが, "0xA596" および "0xA597" 以外の任意の値を書き込むことで, ハード ウェアウォッチドッグタイマはすべてのモードで動作します。ウォッチドッグタイ マ選択 ID についての詳細は ,「第 24 章 不揮発性レジスタ (NVR) インタフェース」を 参照してください。 • リセット解除後に動作を開始します。 • CS[1:0] および CSP は , "0b001" に固定されたリードオンリのビットです。 • リセットによりタイマはクリアされ , す。 リセットが解除された後に動作は再開しま ● ウォッチドッグタイマのクリア • ウォッチドッグタイマのカウンタがインターバル時間内にクリアされない場合 , カ ウンタはオーバフローし , ウォッチドッグリセットが発生します。 • ウォッチドッグタイマ制御レジスタのウォッチドッグ制御ビット (WDTC:WTE[3:0]) に , "0b0101" を書き込むと , ハードウェアウォッチドッグタイマ のカウンタはクリアされます。ウォッチドッグタイマ制御レジスタのウォッチドッ グ制御ビット (WDTC:WTE[3:0]) への , 2 回目以降の , "0b0101" の書込みによって , ソフトウェアウォッチドッグタイマのカウンタはクリアされます。 ウォッチドッグタイマは,カウントクロックとして選択しているタイマ(タイムベー スタイマまたは時計プリスケーラ ) がクリアされると同時にクリアされます。 • 110 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ 8.3 動作説明と設定手順例 MB95850K/860K/870K シリーズ ● スタンバイモード時の動作 • ソフトウェアウォッチドッグタイマまたはスタンバイモード中の動作を禁止した ハードウェアウォッチドッグタイマの起動時は , 選択されたクロックモードに関係 なく スタンバイモードに移行すると , ウォッチドッグタイマカウンタをクリアして 動作を停止します。 また , スタンバイモードからの復帰により , ウォッチドッグタイ マは動作を再開します。 • スタンバイモード中の動作を許可したハードウェアウォッチドッグタイマの起動 時は , スタンバイモードへの移行およびスタンバイモードからの復帰時にウォッチ ドッグタイマカウンタはクリアされず , 動作を継続します。 <注意事項> ウォッチドッグタイマは , カウントクロックとして選択されているタイマ ( タイムベース タイマまたは時計プリスケーラ ) のクリアと同時にクリアされます。このため , ウォッチ ドッグタイマのカウントクロックとして選択されたタイマを , ウォッチドッグタイマ用に 選択されたインターバル時間内で繰返しクリアするようにソフトウェアが設定されてい ると , ウォッチドッグタイマは機能できません。 ● インターバル時間 インターバル時間は , ウォッチドッグタイマをクリアするタイミングによって変化し ます。図 8.3-1 に , タイムベースタイマ出力 FCH/221 (FCH: メインクロック ) がカウント クロックとして選択された場合 ( メインクロック = 4 MHz) の , ウォッチドッグタイマ のクリアのタイミングとインターバル時間との関係を示します。 図 8.3-1 ウォッチドッグタイマのクリアのタイミングとインターバル時間 最小時間 524ms タイムベースタイマ カウントクロック出力 ウォッチドッグクリア オ―バフロー ウォッチドッグ 1ビットカウンタ ウォッチドッグ リセット 最大時間 1.05s タイムベースタイマ カウントクロック出力 ウォッチドッグクリア オーバフロー ウォッチドッグ 1ビットカウンタ ウォッチドッグ リセット MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 111 第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ 8.3 動作説明と設定手順例 MB95850K/860K/870K シリーズ ● サブクロックモード時の動作 サブクロックモードでウォッチドッグリセットが発生した場合 , タイマは発振安定待 ち時間の経過後にメインクロックモードで動作を開始します。この発振安定待ち時間 内にリセット信号が出力されます。 ■ 設定手順例 以下に , ソフトウェアウォッチドッグタイマの設定手順を示します。 1. カウントクロックを選択してください (WDTC:CS[1:0], CSP)。 2. ウォッチドッグタイマを起動してください (WDTC:WTE[3:0] = 0b0101)。 3. ウォッチドッグタイマをクリアしてください (WDTC:WTE[3:0] = 0b0101)。 以下に , ハードウェアウォッチドッグタイマの設定手順を示します。 1. フラッシュメモリ上にあるアドレス 0xFFBE と 0xFFBF に "0xA596" 以外の任意の値 を書き込んでください。リセット後 , フラッシュメモリ上にあるアドレス 0xFFBE と 0xFFBF のデータは , ウォッチドッグタイマ選択 ID レジスタ ( 上位 / 下位 ) (WDTH/ WDTL) (0x0FEB/0x0FEC) へコピーされます。フラッシュメモリ上にあるアドレス 0xFFBE および 0xFFBF に "0xA597" を書き込むと , ハードウェアウォッチドッグタ イマはスタンバイモードで停止しますが , "0xA596" および "0xA597" 以外の任意の 値を書き込むことで , ハードウェアウォッチドッグタイマはすべてのモードで動作 します。ウォッチドッグタイマ選択 ID についての詳細は , 「第 24 章 不揮発性レジ スタ (NVR) インタフェース」を参照してください。 2. ウォッチドッグタイマをクリアしてください (WDTC:WTE[3:0] = 0b0101)。 112 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ 8.4 レジスタ MB95850K/860K/870K シリーズ 8.4 レジスタ ウォッチドッグタイマのレジスタについて説明します。 表 8.4-1 ウォッチドッグタイマのレジスタ一覧 レジスタ略称 WDTC MN702-00010-2v0-J レジスタ名 ウォッチドッグタイマ制御レジスタ FUJITSU SEMICONDUCTOR LIMITED 参照先 8.4.1 113 第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ 8.4 レジスタ MB95850K/860K/870K シリーズ ウォッチドッグタイマ制御レジスタ (WDTC) 8.4.1 ウォッチドッグタイマ制御レジスタ (WDTC) は , ウォッチドッグタイマの起動とクリ アを行うレジスタです。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field CS1 CS0 CSP HWWDT WTE3 WTE2 WTE1 WTE0 ソフトウェアウォッチドッグタイマ使用時の属性と初期値 属性 R/W R/W R/W R W W W W 初期値 0 0 0 0 0 0 0 0 ハードウェアウォッチドッグタイマ使用時の属性と初期値 属性 R R R R W W W W 初期値 0 0 1 1 0 0 0 0 ■ レジスタ機能 [bit7:6] CS[1:0]: カウントクロック切換えビット [bit5] CSP: カウントクロック選択サブ CR 選択ビット これらのビットはウォッチドッグタイマのカウントクロックを選択します。 ウォッチドッグ制御ビットによってウォッチドッグタイマを起動すると同時に , これらのビットに 書き込んでください。 ウォッチドッグタイマを起動した後にはこれらのビットは変更できません。 説明 (FCH: メインクロック , FCRH: メイン CR クロック , FMCRPLL: メイン bit7 bit6 bit5 CR PLL クロック , FCL: サブクロック , FCRL: サブ CR クロック ) 0 0 0 を書き込んだ場合 タイムベースタイマの出力周期 (221/FCH, 220/FCRH または 220/FMCRPLL) 0 1 0 を書き込んだ場合 タイムベースタイマの出力周期 (220/FCH, 219/FCRH または 219/FMCRPLL) 1 0 0 を書き込んだ場合 時計プリスケーラの出力周期 (214/FCL または 213/FCRL) 1 1 0 を書き込んだ場合 時計プリスケーラの出力周期 (213/FCL または 212/FCRL) 0/1 0/1 1 を書き込んだ場合 サブ CR タイマの出力周期 (216/FCRL) ( 注意事項 ) サブクロックモードまたはサブ CR クロックモードでは , タイムベースタイマが停止す るため , 時計プリスケーラの出力を常に選択してください。 [bit4] HWWDT: ハードウェアウォッチドッグタイマ起動ビット このビットはハードウェアウォッチドッグタイマの開始・停止を確認するために使用されるリード オンリのビットです。 bit4 説明 "0" が読み出された場合 ハードウェアウォッチドッグタイマは停止されています ( ソフトウェアウォッ チドッグタイマは起動できます )。 "1" が読み出された場合 ハードウェアウォッチドッグタイマは起動されています。 114 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ 8.4 レジスタ MB95850K/860K/870K シリーズ [bit3:0] WTE[3:0]: ウォッチドッグ制御ビット これらのビットはウォッチドッグタイマを制御します。 これらのビットの読出し値は常に "0b0000" です。 説明 bit3:0 "0101" を書き込んだ場合 ウォッチドッグタイマを起動 ( リセット後の 1 回目の書込み ) ま たはウォッチドッグタイマをクリア ( リセット後の 2 回目以降の 書込み ) します。 • ウォッチドッグタイマの起動 リセット後の1回目の書込みはソフトウェアウォッチドッグタイ マを起動します。 • ウォッチドッグタイマのクリア リセット後の1回目以降の書込みはハードウェアウォッチドッグ タイマをクリアします。 リセット後の2回目以降の書込みはソフトウェアウォッチドッグ タイマをクリアします。 "0101" 以外の値を書き込んだ場合 動作に影響はありません。 <注意事項> 本レジスタはリードモディファイライト (RMW) 系命令が使用できません。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 115 第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ 8.5 使用上の注意 MB95850K/860K/870K シリーズ 8.5 使用上の注意 ウォッチドッグタイマの使用に関する注意を示します。 ■ ウォッチドッグタイマ使用上の注意 ● ウォッチドッグタイマの停止について ソフトウェアウォッチドッグの場合 ウォッチドッグタイマは , 一度起動すると , リセットが発生するまで停止できません。 ● カウントクロックの選択について ソフトウェアウォッチドッグの場合 カウントクロック切換えビット (WDTC:CS[1:0], CSP) は , ウォッチドッグタイマ起動後 に , ウォッチドッグ制御ビット (WDTC:WTE[3:0]) を "0b0101" にしたときのみ書換え可 能です。カウントクロック切換えビットは , ビット操作命令によって設定はできませ ん。 また , 一度タイマが起動すると , ビット設定を変更できません。 サブクロックモードまたはサブ CR クロックモードでは , メインクロック , メイン CR クロックまたはメイン CR PLL クロックの発振が停止するため , タイムベースタイマは 動作しません。 ウォッチドッグタイマをサブクロックモードまたはサブ CR クロックモードで動作さ せるためには , あらかじめカウントクロックとして時計プリスケーラを選択し , "WDTC:CS[1:0], CSP" を "0b100" または "0b110" または "0bXX1" (X = 0 または 1) に設 定してください。 ● ウォッチドッグタイマのクリアについて ウォッチドッグタイマのカウントクロックに使用しているカウンタ ( タイムベースタ イマ , 時計プリスケーラまたはサブ CR タイマ ) をクリアすると , 同時にウォッチドッ グタイマのカウンタもクリアされます。 ウォッチドッグタイマがスリープモード , ストップモードまたは時計モードに遷移す ると , ウォッチドッグタイマのカウンタはクリアされます。ただし , スタンバイモード 中の動作を許可したハードウェアウォッチドッグタイマを起動している場合を除きま す。 ● プログラム作成上の注意 メインループの中で , 繰返しウォッチドッグタイマをクリアするようなプログラムを 作成する場合 , 割込み処理時間を含むメインループの処理時間が , ウォッチドッグタイ マインターバル時間の最小時間以下となるように設定してください。 ● ハードウェアウォッチドッグ ( スタンバイモード中の動作を許可した場合 ) ハードウェアウォッチドッグタイマは , ストップモード , スリープモード , タイムベー スタイマモードまたは時計モードでは停止しません。したがって , 内部クロックが停止 しても , ウォッチドッグタイマは , CPU によってクリアされることはありません ( ス リープモード , ストップモード , タイムベースタイマモードまたは時計モード )。 定期的にデバイスをスタンバイモードから解除し , ウォッチドッグタイマをクリアし ます。ただし , 発振安定待ち時間設定レジスタの設定に応じて , ウォッチドッグリセッ トは , CPU がサブクロックモードまたはサブ CR クロックモード中のストップモード から復帰した後に発生することがあります。 116 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ 8.5 使用上の注意 MB95850K/860K/870K シリーズ サブクロックを選択する際にはサブクロックの安定待ち時間の設定にも留意してくだ さい。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 117 第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ 8.5 使用上の注意 MB95850K/860K/870K シリーズ 118 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第9章 時計プリスケーラ 時計プリスケーラの機能と動作について説明します。 MN702-00010-2v0-J 9.1 概要 9.2 構成 9.3 割込み 9.4 動作説明と設定手順例 9.5 レジスタ 9.6 使用上の注意 FUJITSU SEMICONDUCTOR LIMITED 119 第 9 章 時計プリスケーラ 9.1 概要 9.1 MB95850K/860K/870K シリーズ 概要 時計プリスケーラは , サブクロックの 2 分周またはサブ CR クロックの 2 分周に同期 してカウントダウンする 16 ビットのフリーランカウンタです。このプリスケーラに は , 一定のインターバル時間で繰返し割込み要求を発生させるインターバルタイマ機 能があります。 ■ インターバルタイマ機能 インターバルタイマ機能とは , サブクロックの 2 分周またはサブ CR クロックの 2 分周 をカウントクロックとして , 一定の時間間隔で繰返し割込み要求を発生させる機能で す。 • 時計プリスケーラのカウンタがカウントダウンを行い , 選択したインターバル時間 が経過するごとに割込み要求を発生します。 • インターバル時間は , 次の 8 種類の中から選択できます。 表 9.1-1 に , 時計プリスケーラのインターバル時間を示します。 表 9.1-1 時計プリスケーラのインターバル時間 インターバル時間 ( サブ CR クロック ) (2n × 2/FCRL*1) インターバル時間 ( サブクロック ) (2n × 2/FCL*2) n=10 20.48 ms 62.5 ms n=11 40.96 ms 125 ms n=12 81.92 ms 250 ms n=13 163.84 ms 500 ms n=14 327.68 ms 1s n=15 655.36 ms 2s n=16 1.311 s 4s n=17 2.621 s 8s *1: FCRL=100 kHz の場合 , 2/FCRL=20 μs *2: FCL=32.768 kHz の場合 , 2/FCL=61.035 μs <注意事項> サブ CR の周波数の精度については , デバイスのデータシートを参照してください。 120 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 9 章 時計プリスケーラ 9.2 構成 MB95850K/860K/870K シリーズ 9.2 構成 時計プリスケーラは , 以下のブロックから構成されます。 • 時計プリスケーラカウンタ • カウンタクリア回路 • インターバルタイマセレクタ • 時計プリスケーラ制御レジスタ (WPCR) ■ 時計プリスケーラのブロックダイヤグラム 図 9.2-1 時計プリスケーラのブロックダイヤグラム ソフトウェアウォッチドッグタイマ 時計プリスケーラカウンタ(カウンタ) FCL の2分周 FCRL の2分周 X 21 X 22 X 23 X 24 X 25 X 26 X 27 X 28 X 29 X 210 X 211 X 212 X 213 X 214 X 215 X 216 X 217 カウンタクリア SYCC:SCM[2:0] SYCC2:SRDY, SYCC2:SCRDY ウォッチドッグタイマクリア リセット,サブクロック発振の停止, またはサブCRクロック発振の停止 インターバルタイマ セレクタ カウンタクリア 回路 時計プリスケーラ割込み WTIF WTIE - - WTC2 WTC1 WTC0 WCLR 時計プリスケーラ制御レジスタ (WPCR) FCL : サブクロック FCRL : サブCRクロック MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 121 第 9 章 時計プリスケーラ 9.2 構成 MB95850K/860K/870K シリーズ ● 時計プリスケーラカウンタ ( カウンタ ) サブクロックの 2 分周またはサブ CR クロックの 2 分周をカウントクロックとする 16 ビットのダウンカウンタです。 ● カウンタクリア回路 時計プリスケーラのクリアを制御する回路です。 ● インターバルタイマセレクタ 時計プリスケーラカウンタ中にある 17 ビットの内の 8 ビットから , インターバルタイ マ用の 1 ビットを選択する回路です。 ● 時計プリスケーラ制御レジスタ (WPCR) インターバル時間の選択 , カウンタのクリア , 割込み制御および状態の確認を行うレジ スタです。 ■ 入力クロック 時計プリスケーラは , サブクロックの 2 分周またはサブ CR クロックの 2 分周を入力ク ロック ( カウントクロック ) として使用します。 ■ 出力クロック 時計プリスケーラは , ソフトウェアウォッチドッグタイマにクロックを供給します。 122 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 9 章 時計プリスケーラ 9.3 割込み MB95850K/860K/870K シリーズ 9.3 割込み 時計プリスケーラで選択されたインターバル時間が経過すると , 割込み要求が発生し ます ( インターバルタイマ機能 )。 ■ インターバルタイマ機能動作時の割込み ( 時計プリスケーラ割込み ) サブクロックモードまたはサブ CR クロックモード時のストップモード以外のモード では , 時計プリスケーラ用カウンタがサブクロックの 2 分周またはサブ CR クロックの 2 分周でカウントダウンし , 設定したインターバル時間が経過すると , 時計プリスケー ラ割込み要求フラグビットが "1" に設定 (WPCR:WTIF = 1) されます。そのとき , 割込み 要求許可ビットが許可 (WPCR:WTIE = 1) されている場合 , 時計プリスケーラから割込 みコントローラへ割込み要求が出力されます。 • WTIF ビットは , WTIE ビットの値に関係なく , 時計プリスケーラ割込みインターバ ル時間選択ビットで設定した時間が経過すると "1" に設定されます。 • WTIF ビットが "1" に設定された場合 , WTIE ビットを禁止状態から許可状態 (WPCR:WTIE = 0 → 1) に変化させると , 直ちに割込み要求が発生します。 • 選択されたビットがオーバフローすると同時にカウンタがクリア (WPCR:WCLR = 1) した場合は , WTIF ビットは "1" に設定されません。 • 割込み要求をクリアするには , 割込み処理ルーチンで WTIF ビットに "0" を書き込 んでください。 <注意事項> リセット解除後に , 割込み要求出力を許可 (WPCR:WTIE = 1) するには , 必ず同時に WTIF ビットをクリアしてください。 表 9.3-1 時計プリスケーラの割込み 項目 説明 割込みの条件 WPCR: WTC[2:0] で設定したインターバル時間が経過した。 割込みフラグ WPCR:WTIF 割込み許可 WPCR:WTIE MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 123 第 9 章 時計プリスケーラ 9.4 動作説明と設定手順例 9.4 MB95850K/860K/870K シリーズ 動作説明と設定手順例 時計プリスケーラは , インターバルタイマ機能として動作します。 ■ インターバルタイマ機能の動作 ( 時計プリスケーラ ) 時計プリスケーラのカウンタは , サブクロックまたはサブ CR クロックが発振している 間 , サブクロックの 2 分周またはサブ CR クロックの 2 分周をカウントクロックとして カウントダウンを続けます。 カウントがクリア (WPCR:WCLR = 1) されると , カウンタは "0xFFFF" からカウントダ ウンを開始し , "0x0000" に達すると , "0xFFFF" に戻ってカウントを継続します。カウン トダウン中に , 割込みインターバル時間選択ビットで設定した時間が経過すると , サブ クロックモードまたはサブ CR クロックモード時のストップモード以外の場合 , 時計割 込み要求フラグビット (WPCR:WTIF) が "1" に設定されます。すなわち , カウンタが最 後にクリアされた時間を基準にして , 選択されたインターバル時間ごとに時計割込み 要求が発生します。 ■ 時計プリスケーラのクリア 時計プリスケーラをクリアすると , 時計プリスケーラの出力を使用しているほかの周 辺機能は , カウント時間が変化するなど動作に影響を受けます。 時計プリスケーラ初期化ビット (WPCR:WCLR) によってカウンタをクリアする場合は , カウンタのクリアにより予期せぬ影響を及ぶことがないようにそのほかの周辺機能の 設定を必要に応じて変更してください。 なお , 時計プリスケーラの出力をカウントクロックとして選択しているとき , 時計プリ スケーラがクリアされると , ウォッチドッグタイマもクリアされます。 時計プリスケーラは , 時計プリスケーラ初期化ビット (WPCR:WCLR) によるクリアに 加え , サブクロックまたはサブ CR クロックが停止し , 発振安定待ち時間が必要になっ た場合クリアされます。 時計プリスケーラは , 以下の状況でクリアされます。 • デバイスが , サブクロックモードまたはサブ CR クロックモードからストップモー ドへ移行したとき • メインクロックモード , メイン CR クロックモードまたはメイン CR PLL クロック モードにおいて , システムクロック制御レジスタ 2 のサブクロック発振許可ビット またはサブ CR クロック発振許可ビット (SYCC2:SOSCE または SCRE) を "0" に設定 したとき また , リセットが発生した場合 , 時計プリスケーラのカウンタはクリアされ , 動作を停 止します。 ■ 時計プリスケーラの入力クロック選択について 時計プリスケーラの入力クロック選択は , 各クロックモードで以下のようになります。 • メインクロックモード , メイン CR クロックモードとメイン CR PLL クロックモー ドの場合 サブクロックの発振が許可され , サブクロック発振安定待ち時間が経過した場合 , サブクロックは時計プリスケーラの入力クロックとして選択されます。 サブ CR クロックの発振が許可され , サブ CR クロック発振安定待ち時間が経過し た場合 , サブ CR クロックは時計プリスケーラの入力クロックとして選択されます。 サブクロックの発振とサブ CR クロックの発振が許可され , サブクロック発振安定 124 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 9 章 時計プリスケーラ 9.4 動作説明と設定手順例 MB95850K/860K/870K シリーズ 待ち時間とサブ CR クロック発振安定待ち時間が経過した場合 , サブクロックは時 計プリスケーラの入力クロックとして選択されます。 • サブクロックモードの場合 時計プリスケーラの入力クロックはサブクロックに固定されます。 • サブ CR クロックモードの場合 時計プリスケーラの入力クロックはサブ CR クロックに固定されます。 ■ 時計プリスケーラの動作例 図 9.4-1 に , 以下の条件下の動作例を示します。 1. パワーオンリセットが発生した場合 2. デバイスが, サブクロックモードもしくはサブCRクロックモードにおいてインター バルタイマ機能の動作中に , スリープモードへ移行した場合 3. デバイスが, サブクロックモードもしくはサブCRクロックモードにおいてインター バルタイマ機能の動作中に , ストップモードへ移行した場合 4. カウンタクリアの要求が発生した場合 時計モードへの移行は , スリープモードへの移行と同じ動作で行います。 図 9.4-1 時計プリスケーラの動作例 カウンタ値 (カウントダウン) 0xFFFF WPCR:WTC[2:0]で 検出するカウント値 インターバル時間 (WPCR:WTC[2:0] = 0b011) 0x0000 発振安定待ち時間 1) パワーオンリセット 4) カウンタクリア (WPCR:WCLR = 1) インターバル 設定時のクリア ストップモードへの 移行によるクリア 発振安定 待ち時間 割込みサービスルーチンで クリア WTIFビット WTIEビット 2) SLPビット (STBCレジスタ) スリープ 時計割込みによる スリープモード解除 3) STPビット (STBCレジスタ) ストップ 外部割込みによるストップモード解除 • 時計プリスケーラ制御レジスタのインターバル時間選択ビット(WPCR:WTC[2:0])に"0b011"を設定した場合(214 × 2/FCL) • WPCR:WTC[2:0] • WPCR:WCLR • WPCR:WTIF • WPCR:WTIE • STBC:SLP • STBC:STP MN702-00010-2v0-J : 時計プリスケーラ制御レジスタの時計プリスケーラ割込みインターバル時間選択ビット : 時計プリスケーラ制御レジスタの時計プリスケーラクリアビット : 時計プリスケーラ制御レジスタの時計プリスケーラ割込み要求フラグビット : 時計プリスケーラ制御レジスタの時計プリスケーラ割込み要求許可ビット : スタンバイ制御レジスタのスリープビット : スタンバイ制御レジスタのストップビット FUJITSU SEMICONDUCTOR LIMITED 125 第 9 章 時計プリスケーラ 9.4 動作説明と設定手順例 MB95850K/860K/870K シリーズ ■ 設定手順例 以下に , 時計プリスケーラの設定手順例を示します。 ● 初期設定 1. 割込みレベルを設定してください (ILR*)。 2. インターバル時間を設定してください (WPCR:WTC[2:0])。 3. 割込み許可を設定し , 割込み要求フラグをクリアしてください (WPCR:WTIE = 1, WPCR:WTIF = 0)。 4. カウンタをクリアしてください (WPCR:WCLR = 1)。 *: 割込みレベル設定レジスタ (ILR) の詳細について , 本ハードウェアマニュアルの「第 5 章 割 込み」とデバイスのデータシートの「■ 割込み要因のテーブル」を参照してください。 ● 割込み処理 1. 割込み要求フラグをクリアしてください (WPCR:WTIF = 0)。 2. カウンタをクリアしてください (WPCR:WCLR = 1)。 126 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 9.5 レジスタ 第 9 章 時計プリスケーラ 9.5 レジスタ 時計プリスケーラのレジスタについて説明します。 表 9.5-1 時計プリスケーラのレジスタ一覧 レジスタ略称 WPCR MN702-00010-2v0-J レジスタ名 時計プリスケーラ制御レジスタ FUJITSU SEMICONDUCTOR LIMITED 参照先 9.5.1 127 第 9 章 時計プリスケーラ 9.5 レジスタ 9.5.1 MB95850K/860K/870K シリーズ 時計プリスケーラ制御レジスタ (WPCR) 時計プリスケーラ制御レジスタ (WPCR) は , インターバル時間の選択 , カウンタのク リア , 割込み制御および時計プリスケーラの状態確認を行うレジスタです。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field WTIF WTIE — — WTC2 WTC1 WTC0 WCLR 属性 R/W R/W — — R/W R/W R/W W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7] WTIF: 時計プリスケーラ割込み要求フラグビット 時計プリスケーラにより選択されたインターバル時間が経過後は , このビットは "1" になります。 このビットと時計プリスケーラ割込み要求許可ビット (WTIE) が "1" に設定されたとき , 割込み要求 が発生します。 リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。 説明 bit7 "0" が読み出された場合 インターバル時間がまだ経過していないことを示します。 "1" が読み出された場合 インターバル時間が経過したことを示します。 "0" を書き込んだ場合 このビットをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 [bit6] WTIE: 時計プリスケーラ割込み要求許可ビット このビットは割込みコントローラへの割込み要求出力を許可または禁止します。 このビットと時計プリスケーラ割込み要求フラグビット (WTIF) が "1" に設定されたとき , 割込み要 求が出力されます。 bit6 説明 "0" を書き込んだ場合 時計プリスケーラの割込み要求を禁止します。 "1" を書き込んだ場合 時計プリスケーラの割込み要求を許可します。 [bit5:4] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 128 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 9 章 時計プリスケーラ 9.5 レジスタ MB95850K/860K/870K シリーズ [bit3:1] WTC[2:0]: 時計プリスケーラ割込みインターバル時間選択ビット これらのビットはインターバル時間を選択します。 説明 bit3:1 インターバル時間 ( サブクロック , FCL = 32.768 kHz) インターバル時間 ( サブ CR クロック , FCRL = 100 kHz) "100" を書き込んだ場合 210 × 2/FCL (62.5 ms) 210 × 2/FCRL (20.48 ms) "000" を書き込んだ場合 211 × 2/FCL (125 ms) 211 × 2/FCRL (40.96 ms) "001" を書き込んだ場合 212 × 2/FCL (250 ms) 212 × 2/FCRL (81.92 ms) "010" を書き込んだ場合 213 × 2/FCL (500 ms) 213 × 2/FCRL (163.84 ms) "011" を書き込んだ場合 214 × 2/FCL (1 s) 214 × 2/FCRL (327.68 ms) "101" を書き込んだ場合 215 × 2/FCL (2 s) 215 × 2/FCRL (655.36 ms) "110" を書き込んだ場合 216 × 2/FCL (4 s) 216 × 2/FCRL (1.311 s) "111" を書き込んだ場合 217 × 2/FCL (8 s) 217 × 2/FCRL (2.621 s) [bit0] WCLR: 時計プリスケーラクリアビット このビットは時計プリスケーラのカウンタの全ビットを "1" にクリアします。 説明 bit0 読出し動作 読出し値は常に "0" です。 "0" を書き込んだ場合 動作に影響はありません。 "1" を書き込んだ場合 時計プリスケーラのカウンタの全ビットを "1" にクリアします。 ( 注意事項 ) 時計プリスケーラの出力がソフトウェアウォッチドッグタイマのカウントクロックと して選択されているときには , このビットで時計プリスケーラがクリアされるとソフ トウェアウォッチドッグタイマもクリアされます。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 129 第 9 章 時計プリスケーラ 9.6 使用上の注意 9.6 MB95850K/860K/870K シリーズ 使用上の注意 時計プリスケーラ使用上の注意を示します。 ■ 時計プリスケーラ使用上の注意 ● プログラムで割込み処理を設定する場合 時計プリスケーラ割込み要求フラグビット (WPCR:WTIF) が "1" に設定され , 割込み 要求 が許可 (WPCR:WTIE = 1) されている場合には , 時計プリスケーラは割込み処理か ら復帰できません。必ず割込みルーチン内で WTIF ビットをクリアしてください。 ● 時計プリスケーラのクリアについて ソフトウェアウォッチドッグタイマのカウントクロックとして時計プリスケーラを選 択 (WDTC:CS[1:0], CSP = 0b100 または 0b110) した場合 , 時計プリスケーラをクリアす るとソフトウェアウォッチドッグタイマもクリアされます。 ● 時計プリスケーラ割込みについて メインクロック , メイン CR クロックまたはメイン CR PLL クロック使用時のストップ モードでは , 時計プリスケーラはカウント動作を行い , 時計プリスケーラ割込みを発生 できます。 ● 時計プリスケーラからクロックを供給される周辺機能について 時計プリスケーラのカウンタをクリアすると , 時計プリスケーラの出力を使用してい るほかの周辺機能は , 動作周期が変化するなど周辺機能の動作に影響を受けます。 なお , 時計プリスケーラのカウンタがクリアされた後 , 時計プリスケーラから出力され たソフトウェアウォッチドッグタイマ用のクロックは , 初期状態となります。ソフト ウェアウォッチドッグタイマのクロックが初期状態に戻ると同時に , ソフトウェア ウォッチドッグタイマのカウンタがクリアされるため , ソフトウェアウォッチドッグ タイマは正常な周期で動作します。 130 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 10 章 時計カウンタ 時計カウンタの機能と動作について説明します。 10.1 概要 10.2 構成 10.3 割込み 10.4 動作説明と設定手順例 10.5 レジスタ 10.6 使用上の注意 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 131 第 10 章 時計カウンタ 10.1 概要 10.1 MB95850K/860K/870K シリーズ 概要 時計カウンタは , 最小 40.96 ms から最大 63 s の範囲のインターバル時間によって割 込み要求を発生します。 ■ 時計カウンタの機能 時計カウンタは , 選択されたカウントクロックを基に , 時計カウンタデータレジスタ (WCDR) に特定された回数のカウントを実行し , 割込み要求を発生します。カウントク ロックは表 10.1-1 に示される 8 種類から選択できます。カウント値として "0" から "63" までの値が設定できます。"0" がカウント値として選択されると , 割込み要求が発生さ れません。 カウントクロックとして "1 s" を設定し , カウント値として "60" を設定すると , 割込は 1 分ごとに発生します。 表 10.1-1 カウントクロックの種類 カウントクロック ( サブ CR クロック ) (2n×2/FCRL*1) カウントクロック ( サブクロック ) (2n×2/FCL*2) n = 11 40.96 ms 125 ms n = 12 81.92 ms 250 ms n = 13 163.84 ms 500 ms n = 14 327.68 ms 1s *1: FCRL = 100 kHz の場合 , 2/FCRL = 20 µs *2: FCL = 32.768 kHz の場合 , 2/FCL = 61.035 µs <注意事項> サブ CR クロック周波数の精度について , デバイスのデータシートを参照してください。 132 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 10 章 時計カウンタ 10.2 構成 MB95850K/860K/870K シリーズ 10.2 構成 時計カウンタは以下のブロックで構成されています。 • カウンタ • 時計カウンタ制御レジスタ (WCSR) • 時計カウンタデータレジスタ (WCDR) ■ 時計カウンタのブロックダイヤグラム 図 10.2-1 時計カウンタのブロックダイヤグラム 時計カウンタ制御レジスタ(WCSR) ISEL WCFLG CTR5 CTR4 CTR3 CTR2 CTR1 CTR0 カウンタ値 時計プリスケーラの割込み 時計カウンタの割込み アンダフロー 内部バス 割込み許可 カウンタクリア 212/FCL (FCRL) 213/FCL (FCRL) カウントクロック選択 14 2 /FCL (FCRL) 時計プリスケーラから 215/FCL (FCRL) CS1 CS0 カウンタ (6ビットカウンタ) リロード値 RCTR5 RCTR4 RCTR3 RCTR2 RCTR1 RCTR0 時計カウンタデータレジスタ(WCDR) FCL : サブクロック FCRL : サブCRクロック MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 133 第 10 章 時計カウンタ 10.2 構成 MB95850K/860K/870K シリーズ ● カウンタ 時計プリスケーラの出力クロックをカウントクロックとして使用する 6 ビットダウン カウンタです。 ● 時計カウンタ制御レジスタ (WCSR) 割込みを制御し , 割込みステータスを確認し , カウント値を読み出します。 ● 時計カウンタデータレジスタ (WCDR) カウンタクロックを選択し , カウンタリロード値を設定します。 ■ 入力クロック 時計カウンタは時計プリスケーラの出力クロックを入力クロック ( カウントクロック ) として使用します。 134 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 10 章 時計カウンタ 10.3 割込み MB95850K/860K/870K シリーズ 10.3 割込み 時計カウンタは , カウンタがアンダフローするときに ( カウンタ値 = 0b000001) 割込 み要求を出力します。 ■ 時計カウンタの割込み 時計カウンタのカウンタがアンダフローするときは , 時計カウンタ制御レジスタ (WCSR) の時計カウンタ割込み要求フラグビット (WCFLG) は "1" に設定されます。 WCSR レジスタの時計カウンタ起動および割込み要求許可ビット (ISEL) も "1" に設定 されている場合 , 時計カウンタの割込み要求は割込みコントローラに対して出力され ます。 表 10.3-1 は時計カウンタの割込み制御ビットと割込み発生要因を示します。 表 10.3-1 時計カウンタの割込み制御ビットと割込み発生要因 項目 説明 割込み要求フラグビット WCSR:WCFLG 割込み要求許可ビット WCSR:ISEL 割込み要因 カウンタのアンダフロー MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 135 第 10 章 時計カウンタ 10.4 動作説明と設定手順例 10.4 MB95850K/860K/870K シリーズ 動作説明と設定手順例 時計カウンタは , WCSR レジスタの ISEL ビットが "1" に設定されたとき , WCDR レ ジスタの CS[1:0] ビットによって選択されたカウントクロックを使用して , WCDR レ ジスタの RCTR[5:0] ビットに設定されたカウント値までカウントダウンします。カウ ンタがアンダフローすると , WCSR レジスタの WCFLG ビットは "1" に設定され , 時 計カウンタは割込み要求を発生します。 ■ 時計カウンタの設定手順 時計カウンタの設定手順を以下に示します。 1. カウントクロック (CS[1:0]) を選択し , カウンタのリロード値 (RCTR[5:0]) を設定し てください。 2. ISEL ビットを "1" に設定してダウンカウントを開始し , 割込みを許可してください。 また , 時計プリスケーラの割込みを禁止してください。 時計カウンタは時計プリスケーラからの分周クロック ( 非同期性 ) を基にカウント を実行します。これにより , ISEL ビットを "1" に設定するタイミングによっては , カウントサイクルの最初に , 最大 1 カウントクロックのエラーが発生することがあ ります。 3. カウンタがアンダフローすると , WCFLG ビットは "1" に設定され , 割込みが発生し ます。 4. WCFLG ビットに "0" を書き込んでこのビットをクリアしてください。 5. RCTR[5:0] ビットがカウント中に変更された場合 , リロード値はカウンタが "1" に 設定された後のリロード中に更新されます。 6. ISEL ビットに "0" が書き込まれると , カウンタは "0" になり動作を停止します。 図 10.4-1 時計カウンタの動作 ISEL (2) (6) カウントクロック CS[1:0] 0b11 (1) RCTR[5:0] 7 9 (5) CTR[5:0] 0 7 6 5 4 3 2 1 9 8 7 6 5 4 0 WCFLG (3) 136 (4) FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 10 章 時計カウンタ 10.4 動作説明と設定手順例 <注意事項> ISEL ビットに "0" を書き込んでカウンタを停止した後に , カウンタを再起動させる場合 , WCSR レジスタの CTR[5:0] ビットを二度読み出して , CTR[5:0] ビットが "0b000000" に クリアされたことを確認してからカウンタを再起動させてください。 ■ サブストップモードとサブ CR クロックストップモードにおける動作 デバイスがサブストップモードまたはサブ CR クロックストップモードに入ったとき , 時計カウンタはカウント動作を停止し , 時計プリスケーラもクリアされます。従って , 時計カウンタは , サブストップモードまたはサブ CR クロックストップモードのクリア 後は正確なカウント値をカウントできません。サブストップモードまたはサブ CR ク ロックストップモードのクリア後は , 常に WCSR レジスタの ISEL ビットを "0" に設定 してカウンタをクリアしなければなりません。サブストップモードとサブ CR クロッ クストップモード以外のスタンバイモード時において , 時計カウンタは継続して動作 します。 ■ メインストップモードとメイン CR クロックストップモードにおける動作 デバイスがメインストップモードまたはメイン CR クロックストップモードに入った とき , 時計カウンタはカウント動作を継続しますが , 割込みは発生しません。システム クロック制御レジスタ 2 (SYCC2) のサブクロック発振許可ビット (SOSCE) とサブ CR クロック発振許可ビット (SCRE) がともに "0" に設定されたとき , 時計カウンタは停止 します。 ■ 設定手順例 時計カウンタの設定手順例を以下に示します。 ● 初期設定 1. 割込みレベルを設定してください (ILR*)。 2. カウントクロックを選択してください (WCDR:CS[1:0])。 3. カウンタリロード値を設定してください (WCDR:RCTR[5:0])。 4. 時計カウンタを起動し , 割込みを許可してください (WCSR:ISEL = 1)。 *: 割込みレベル設定レジスタ (ILR) の詳細について , 本ハードウェアマニュアルの「第 5 章 割 込み」とデバイスのデータシートの「■ 割込み要因のテーブル」を参照してください。 ● 割込み処理 1. 割込み要求フラグをクリアしてください (WCSR:WCFLG = 0)。 2. 任意の割込みを処理してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 137 第 10 章 時計カウンタ 10.5 レジスタ 10.5 MB95850K/860K/870K シリーズ レジスタ 時計カウンタのレジスタについて説明します。 表 10.5-1 時計カウンタのレジスタ一覧 レジスタ略称 138 レジスタ名 参照先 WCDR 時計カウンタデータレジスタ 10.5.1 WCSR 時計カウンタ制御レジスタ 10.5.2 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 10.5.1 時計カウンタデータレジスタ (WCDR) 第 10 章 時計カウンタ 10.5 レジスタ 時計カウンタデータレジスタ (WCDR) はカウントクロックを選択し , カウンタリロー ド値を設定します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field CS1 CS0 RCTR5 RCTR4 RCTR3 RCTR2 RCTR1 RCTR0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 1 1 1 1 1 1 ■ レジスタ機能 [bit7:6] CS[1:0]: 時計カウンタカウントクロック選択ビット これらのビットは時計カウンタのカウントクロックを選択します。 これらのビットを書き換える前に , WCSR レジスタの ISEL ビットが "0" に設定されていることを確 認してください。 説明 bit7:6 カウントクロック ( サブクロック , FCL = 32.768 kHz) カウントクロック ( サブ CR クロック , FCRL = 100 kHz) "00" を書き込んだ場合 212/FCL (125 ms) 212/FCRL (40.96 ms) "01" を書き込んだ場合 213/FCL (250 ms) 213/FCRL (81.92 ms) "10" を書き込んだ場合 214/FCL (500 ms) 214/FCRL (163.84 ms) "11" を書き込んだ場合 215/FCL (1 s) 215/FCRL (327.68 ms) [bit5:0] RCTR[5:0]: 時計カウンタカウンタリロード値設定ビット これらのビットはカウンタリロード値を設定します。 カウンタ中にカウンタリロード値が変更された場合 , 新しいカウンタリロード値は , カウンタがア ンダフローした後のリロードに有効になります。 RCTR[5:0] ビットが "0" に設定される場合 , 割込み要求が発生されません。 割込みの発生 (WCSR:WCFLG = 1) と同時にカウンタリロード値が変更された場合 , リロードされる 値が正確ではありません。したがって , カウンタリロード値の変更は , 割込み要求が発生される前 に行うべきです。すなわち , カウンタリロード値の変更は , 割込みサービスルーチン中または時計 カウンタの停止後 (WCSR:ISEL = 0) に行うべきです。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 139 第 10 章 時計カウンタ 10.5 レジスタ 10.5.2 MB95850K/860K/870K シリーズ 時計カウンタ制御レジスタ (WCSR) 時計カウンタ制御レジスタ (WCSR) は時計カウンタの動作と割込みを制御し , カウン タ値を読み出します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field ISEL WCFLG CTR5 CTR4 CTR3 CTR2 CTR1 CTR0 属性 R/W R/W R R R R R R 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7] ISEL: 時計カウンタ起動および割込み要求許可ビット このビットは時計カウンタを起動し , 時計カウンタの割込み要求と時計プリスケーラの割込み要求 を許可または禁止します。 このビットに "1" を書き込んで時計カウンタの割込み要求を許可する前に , 必ず時計プリスケーラ の割込み要求を禁止してください。 時計カウンタは , 時計プリスケーラからの非同期クロックを使用してカウントを実行します。これ により , ISEL ビットを "1" に設定するタイミングによっては , カウントサイクルの最初に , 最大 1 カ ウントクロックのエラーが発生することがあります 説明 bit7 "0" を書き込んだ場合 時計カウンタを停止し , 時計カウンタの割込み要求を禁止します ( 時計プリス ケーラの割込み要求を許可します )。 "1" を書き込んだ場合 時計カウンタを起動し , 時計カウンタの割込み要求を許可します ( 時計プリス ケーラの割込み要求を禁止します )。 [bit6] WCFLG: 時計カウンタ割込み要求フラグビット カウンタがアンダフローすると , このビットは "1" に設定されます。 このビットと ISEL ビットがともに "1" に設定されると , 時計カウンタ割込み要求が生成されます。 リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。 説明 bit6 "0" が読み出された場合 時計カウンタ割込み要求が生成されていないことを示します。 "1" が読み出された場合 時計カウンタ割込み要求が生成されていることを示します。 "0" を書き込んだ場合 このビットをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 [bit5:0] CTR[5:0]: 時計カウンタカウンタ読出しビット これらのビットはカウント中にカウンタ値を読み出します。 カウンタ値が変更されている間にこれらのビットの値を読み出す場合 , 正確なカウント値を読み出 せないことがあります。したがって , これらのビットが読み出すカウンタ値を使用する前に , これ らのビットの値を二度読み出し , 二度とも同じ数値であることを確認してください。 これらのビットに値を書き込んでも動作に影響はありません。 140 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 10.6 使用上の注意 第 10 章 時計カウンタ 10.6 使用上の注意 時計カウンタ使用上の注意を示します。 • 時計プリスケーラが時計カウンタの動作中にクリアされた場合 , 時計カウンタは通 常の動作ができないことがあります。時計プリスケーラをクリアする前に , WCSR レジスタの ISEL ビットに "0" を書き込んで時計カウンタを停止してください。 • 時計カウンタを停止した後 , ISEL ビットに "1" を書き込んで時計カウンタを再起動 する前に , WCSR レジスタの CTR[5:0] ビットの値を 2 回読み出して , CTR[5:0] ビッ トが "0b000000" にクリアされたことを確認してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 141 第 10 章 時計カウンタ 10.6 使用上の注意 142 MB95850K/860K/870K シリーズ FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 11 章 ワイルドレジスタ機能 ワイルドレジスタの機能と動作について説明しま す。 11.1 概要 11.2 構成 11.3 動作説明 11.4 レジスタ 11.5 一般的なハードウェア接続例 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 143 第 11 章 ワイルドレジスタ機能 11.1 概要 11.1 MB95850K/860K/870K シリーズ 概要 ワイルドレジスタ機能を使うことで , 内蔵レジスタに設定したアドレスと修正データ で , プログラムのバグにパッチをあてることができます。 ワイルドレジスタの機能について説明します。 ■ ワイルドレジスタ機能 ワイルドレジスタは , 3 本のワイルドレジスタデータ設定レジスタ , 3 本のワイルドレ ジスタアドレス設定レジスタ , 1 バイトのアドレス比較許可レジスタおよび 1 バイトの ワイルドレジスタデータテスト設定レジスタから構成されます。これらのレジスタに 修正したいアドレスとデータを設定すると , ROM データはレジスタに設定した修正 データに置き換えることができます。最大 3 つの異なるアドレスのデータを修正できま す。 ワイルドレジスタの機能を使用して , マスク生成後にプログラムのデバッグをするこ とと , プログラムの不良箇所にパッチをあてることができます。 144 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 11 章 ワイルドレジスタ機能 11.2 構成 MB95850K/860K/870K シリーズ 11.2 構成 ワイルドレジスタのブロックダイヤグラムを示します。 ワイルドレジスタは , 以下のブ ロックで構成されます。 • メモリ領域部 ワイルドレジスタデータ設定レジスタ (WRDR0 ~ WRDR2) ワイルドレジスタアドレス設定レジスタ (WRAR0 ~ WRAR2) ワイルドレジスタアドレス比較許可レジスタ (WREN) ワイルドレジスタデータテスト設定レジスタ (WROR) • 制御回路部 ■ ワイルドレジスタ機能のブロックダイヤグラム 図 11.2-1 ワイルドレジスタ機能のブロックダイヤグラム ワイルドレジスタ機能 制御回路部 アクセス制御回路 デコーダと ロジック制御回路 アドレス 比較回路 メモリ領域部 内 部 バス ワイルドレジスタ アドレス設定レジスタ (WRAR) アクセス 制御回路 ワイルドレジスタ データ設定レジスタ (WRDR) ワイルドレジスタ アドレス比較許可レジスタ (WREN) ● ● ● ワイルドレジスタ データテスト設定レジスタ (WROR) メモリ空間 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 145 第 11 章 ワイルドレジスタ機能 11.2 構成 MB95850K/860K/870K シリーズ ● メモリ領域部 メモリ領域部は , ワイルドレジスタデータ設定レジスタ (WRDR), ワイルドレジスタア ドレス設定レジスタ (WRAR), ワイルドレジスタアドレス比較許可レジスタ (WREN) お よびワイルドレジスタデータテスト設定レジスタ(WROR)より構成されます。ワイルド レジスタ機能を使用して , 置き換えたいアドレスおよびデータを設定します。ワイルド レジスタアドレス比較許可レジスタ (WREN) は , ワイルドレジスタデータ設定レジス タ (WRDR) に対応するワイルドレジスタ機能を許可にします。また , ワイルドレジスタ データテスト設定レジスタ (WROR) は , ワイルドレジスタデータ設定レジスタ (WRDR) に対応する通常読出し機能を有効にします。 ● 制御回路部 この回路は , ワイルドレジスタアドレス設定レジスタ (WRAR) に設定されているアド レスと実際のアドレスデータとを比較します。一致している場合には , 制御回路部は , ワイルドレジスタデータ設定レジスタ(WRDR)からデータバスへデータを出力します。 制御回路部は , ワイルドレジスタアドレス比較許可レジスタ (WREN) により動作を制 御する回路です。 146 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 11 章 ワイルドレジスタ機能 11.3 動作説明 MB95850K/860K/870K シリーズ 11.3 動作説明 ワイルドレジスタ機能の設定順序について説明します。 ■ ワイルドレジスタ機能の設定順序 ワイルドレジスタ機能を使用する前に , ユーザプログラム内にある , 外部メモリ ( 例え ば , EEPROM や FRAM) からワイルドレジスタに設定する値を読み出すプログラムを準 備してください。 以下に , ワイルドレジスタの設定方法を示します。 本節では , 外部メモリとデバイス間の通信方法については説明しません。 • ワイルドレジスタアドレス設定レジスタ (WRAR0 ~ WRAR2) に , 変更する内蔵の ROM コードのアドレスを書き込みます。 • アドレスが書き込まれたワイルドレジスタアドレス設定レジスタに対応するワイ ルドレジスタデータ設定レジスタ (WRDR0 ~ WRDR2) に , 新しいコードを書き込み ます。 • ワイルドレジスタアドレス比較許可レジスタ (WREN) のワイルドレジスタ番号に対 応する EN ビットに , "1" を書き込み , ワイルドレジスタ機能を許可にします。 表 11.3-1 は , ワイルドレジスタ機能のレジスタの設定順序を示します。 表 11.3-1 ワイルドレジスタ機能のレジスタの設定手順 ステップ 動作 動作例 1 変更する内蔵 ROM コードがアドレス 0xF011 にあ ある一定の通信方法を通じて , 外部周辺機 り , 変更するデータが 0xB5 である場合 , 変更する 能より , 置換データを読み出します。 内蔵 ROM コードは 3 つです。 2 置換アドレスをワイルドレジスタアドレ ワイルドレジスタアドレス設定レジスタ ス設定レジスタ (WRAR0 ~ WRAR2) へ書 (WRAR0 = 0xF011 , WRAR1 = ..., WRAR2 = ...) を設 き込みます。 定します。 3 ワイルドレジスタデータ設定レジスタ (WRDR0 ~ WRDR2) に新しい ROM コー ドを書き込みます ( 内蔵 ROM コードを置 き換えます )。 4 ワイルドレジスタアドレス比較許可レジ スタ (WREN) のワイルドレジスタ番号に 対応する EN ビットを許可にします。 ワイルドレジスタデータ設定レジスタ (WRDR0 = 0xB5 , WRDR1 = ..., WRDR2 =... ) を設定 します。 ワイルドレジスタ番号 0 のワイルドレジスタ機能を 許可するには , アドレス比較許可レジスタ (WREN) の bit0 に "1" を設定します。もし , アドレスがワイ ルドレジスタアドレス設定レジスタ (WRAR) に設 定されている値と一致すれば , ワイルドレジスタ データ設定レジスタ (WRDR) の値は , 内蔵 ROM コードに置き換えられます。複数の内蔵 ROM コー ドを置き換える際は , それぞれの内蔵 ROM コード に対応するワイルドレジスタアドレス比較許可レジ スタ (WREN) の EN ビットを許可してください。 ■ ワイルドレジスタ機能適用アドレス ワイルドレジスタ機能が適用できるアドレス空間は , "0x0078" を除くすべての空間です。 アドレス "0x0078" はレジスタバンクポインタおよびダイレクトバンクポインタのミ ラーアドレスとなっているため , このアドレスにパッチをあてることはできません。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 147 第 11 章 ワイルドレジスタ機能 11.4 レジスタ MB95850K/860K/870K シリーズ レジスタ 11.4 ワイルドレジスタ機能のレジスタについて説明します。 表 11.4-1 タイムベースタイマのレジスタ一覧 レジスタ略称 レジスタ名 参照先 WRDR0 ワイルドレジスタデータ設定レジスタ 0 11.4.1 WRDR1 ワイルドレジスタデータ設定レジスタ 1 11.4.1 WRDR2 ワイルドレジスタデータ設定レジスタ 2 11.4.1 WRAR0 ワイルドレジスタアドレス設定レジスタ 0 11.4.2 WRAR1 ワイルドレジスタアドレス設定レジスタ 1 11.4.2 WRAR2 ワイルドレジスタアドレス設定レジスタ 2 11.4.2 WREN ワイルドレジスタアドレス比較許可レジスタ 11.4.3 WROR ワイルドレジスタデータテスト設定レジスタ 11.4.4 ■ ワイルドレジスタ番号 ワイルドレジスタ番号は , 各ワイルドレジスタアドレス設定レジスタ (WRAR) および 各ワイルドレジスタデータ設定レジスタ (WRDR) に割当てられます。 表 11.4-2 ワイルドレジスタアドレス設定レジスタおよびワイルドレジスタデータ設定レジスタに 対応するワイルドレジスタ番号 ワイルドレジスタ番号 ワイルドレジスタアドレス設定レジスタ (WRAR) ワイルドレジスタデータ設定レジスタ (WRDR) 0 WRAR0 WRDR0 1 WRAR1 WRDR1 2 WRAR2 WRDR2 148 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 11 章 ワイルドレジスタ機能 11.4 レジスタ MB95850K/860K/870K シリーズ 11.4.1 ワイルドレジスタデータ設定レジスタ (WRDR0 ~ WRDR2) ワイルドレジスタデータ設定レジスタ (WRDR0 ~ WRDR2) を使用して , ワイルドレ ジスタ機能により修正するデータを指定します。 ■ レジスタ構成 WRDR0 bit 7 6 5 4 3 2 1 0 Field RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 WRDR1 WRDR2 ■ レジスタ機能 [bit7:0] RD[7:0]: ワイルドレジスタデータ設定ビット これらのビットはワイルドレジスタ機能により修正されるデータを指定します。 これらのビットを使い , ワイルドレジスタアドレス設定レジスタ (WRAR) で割り当てられたアドレ スに修正データを設定します。それぞれのワイルドレジスタ番号に対応したアドレスにてデータが 有効になります。 これらのビットの読出しは , ワイルドレジスタデータテスト設定レジスタ (WROR) で対応するデー タテスト設定ビットを "1" に設定した場合のみ許可となります。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 149 第 11 章 ワイルドレジスタ機能 11.4 レジスタ 11.4.2 MB95850K/860K/870K シリーズ ワイルドレジスタアドレス設定レジスタ (WRAR0 ~ WRAR2) ワイルドレジスタアドレス設定レジスタ (WRAR0 ~ WRAR2) を使用して , ワイルド レジスタ機能により修正するアドレスを設定します。 ■ レジスタ構成 WRAR0 bit 15 14 13 12 11 10 9 8 Field RA15 RA14 RA13 RA12 RA11 RA10 RA9 RA8 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 WRAR1 bit 15 14 13 12 11 10 9 8 Field RA15 RA14 RA13 RA12 RA11 RA10 RA9 RA8 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 Field RA15 RA14 RA13 RA12 RA11 RA10 RA9 RA8 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 WRAR2 bit 7 6 5 4 3 2 1 0 Field RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ動作 [bit15:0] RA[15:0]: ワイルドレジスタアドレス設定ビット これらのビットはワイルドレジスタ機能により修正するアドレスを設定します。 修正データに割り当てられたアドレスを設定します。アドレスは , ワイルドレジスタアドレス設定 レジスタに対応するワイルドレジスタ番号に従って設定されます。 150 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 11 章 ワイルドレジスタ機能 11.4 レジスタ MB95850K/860K/870K シリーズ 11.4.3 ワイルドレジスタアドレス比較許可レジスタ (WREN) ワイルドレジスタアドレス比較許可レジスタ (WREN) は , それぞれのワイルドレジス タ番号に対応して , ワイルドレジスタ機能の動作を許可または禁止します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — 予約 予約 予約 EN2 EN1 EN0 属性 — — W W W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7:6] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit5:3] 予約ビット これらのビットは常に "0" に設定してください。 [bit2:0] EN[2:0]: ワイルドレジスタアドレス比較許可ビット これらのビットはワイルドレジスタの動作を許可または禁止します。 • EN0 はワイルドレジスタ番号 0 に対応します。 • EN1 はワイルドレジスタ番号 1 に対応します。 • EN2 はワイルドレジスタ番号 2 に対応します。 bit2/bit1/bit0 説明 "0" を書き込んだ場合 ワイルドレジスタ機能の動作を禁止します。 "1" を書き込んだ場合 ワイルドレジスタ機能の動作を許可します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 151 第 11 章 ワイルドレジスタ機能 11.4 レジスタ 11.4.4 MB95850K/860K/870K シリーズ ワイルドレジスタデータテスト設定レジスタ (WROR) ワイルドレジスタデータテスト設定レジスタ (WROR) は , 対応するワイルドレジスタ データ設定レジスタ(WRDR0~WRDR2)より読出しデータを許可または禁止します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — 予約 予約 予約 DRR2 DRR1 DRR2 属性 — — W W W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7:6] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit5:3] 予約ビット これらのビットは常に "0" に設定してください。 [bit2:0] DRR[2:0]: ワイルドレジスタデータテスト設定ビット これらのビットは対応するワイルドレジスタデータ設定レジスタからの読出しを許可または禁止 します。 • DRR0 はワイルドレジスタ番号 0 に対応します。 • DRR1 はワイルドレジスタ番号 1 に対応します。 • DRR2 はワイルドレジスタ番号 2 に対応します。 bit2/bit1/bit0 説明 "0" を書き込んだ場合 ワイルドレジスタデータ設定レジスタからの読出しを禁止します。 "1" を書き込んだ場合 ワイルドレジスタデータ設定レジスタからの読出しを許可します。 152 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 11.5 一般的なハードウェア接続例 第 11 章 ワイルドレジスタ機能 11.5 一般的なハードウェア接続例 以下に , ワイルドレジスタ機能を使用するときのハードウェア間の一般的な接続につ いて例示します。 ■ ハードウェア接続例 図 11.5-1 一般的なハードウェア接続例 EEPROM (修正プログラム格納) MN702-00010-2v0-J MCU SO SIN SI SOT SCK SCK FUJITSU SEMICONDUCTOR LIMITED 153 第 11 章 ワイルドレジスタ機能 11.5 一般的なハードウェア接続例 154 MB95850K/860K/870K シリーズ FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 12 章 8/16 ビット複合タイマ 8/16 ビット複合タイマの機能と動作について説明 します。 12.1 概要 12.2 構成 12.3 チャネル 12.4 端子 12.5 割込み 12.6 インターバルタイマ機能 ( ワンショットモード ) の動 作説明 12.7 インターバルタイマ機能 ( 連続モード ) の動作説明 12.8 インターバルタイマ機能 ( フリーランモード ) の動作 説明 12.9 PWM タイマ機能 ( 周期固定モード ) の動作説明 12.10 PWM タイマ機能 ( 周期可変モード ) の動作説明 12.11 PWC タイマ機能の動作説明 12.12 インプットキャプチャ機能の動作説明 12.13 ノイズフィルタの動作説明 12.14 レジスタ 12.15 使用上の注意 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 155 第 12 章 8/16 ビット複合タイマ 12.1 概要 12.1 MB95850K/860K/870K シリーズ 概要 8/16 ビット複合タイマは , 2 つの 8 ビットカウンタで構成されます。2 つの 8 ビット タイマとして , 2 つのカウンタをカスケード接続して 1 つの 16 ビットタイマとしても 使用できます。 8/16 ビット複合タイマには , 以下の機能があります。 • インターバルタイマ機能 • PWM タイマ機能 • PWC タイマ機能 ( パルス幅測定 ) • インプットキャプチャ機能 ■ インターバルタイマ機能 ( ワンショットモード ) インターバルタイマ機能 ( ワンショットモード ) が選択されると , タイマが起動した時 点でカウンタは "0x00" からカウント動作を開始します。カウンタの値が 8/16 ビット複 合タイマデータレジスタの値と一致すると , タイマ出力が反転し , 割込み要求が発生し て , カウント動作が停止します。 ■ インターバルタイマ機能 ( 連続モード ) インターバルタイマ機能 ( 連続モード ) が選択されると , タイマが起動した時点でカウ ンタは "0x00" からカウント動作を開始します。カウンタの値が 8/16 ビット複合タイマ データレジスタの値と一致すると , タイマ出力が反転し , 割込み要求が発生して , カウ ンタは再び "0x00" からカウントします。この連続動作の結果 , タイマは方形波を出力 します。 ■ インターバルタイマ機能 ( フリーランモード ) インターバルタイマ機能 ( フリーランモード ) が選択されると , カウンタは "0x00" から カウント動作を開始します。カウンタの値が 8/16 ビット複合タイマデータレジスタの 値と一致すると , タイマ出力が反転し , 割込み要求が発生します。このような条件下で , カウント動作を継続し , カウント値が "0xFF" に達すると , 再度 "0x00" からカウント動 作を開始します。この連続動作の結果 , タイマは方形波を出力します。 ■ PWM タイマ機能 ( 周期固定モード ) PWM タイマ機能 ( 周期固定モード ) が選択されると , 周期固定で "H" パルス幅可変の PWM 信号が生成されます。この周期は , 8 ビット動作モードでは "0xFF" に , 16 ビット 動作モードでは "0xFFFF" に固定されます。カウントクロックを選択することによって 時間が決定されます。"H" パルス幅はレジスタを設定して指定します。 ■ PWM タイマ機能 ( 周期可変モード ) PWM タイマ機能 ( 周期可変モード ) が選択されると , 2 つの 8 ビットカウンタを使用 して , 周期と "L" パルス幅をレジスタで指定することにより , 任意の周期とデューティ の 8 ビット PWM 信号を生成します。 この動作モードでは , 2 つの 8 ビットカウンタが別々に使用されるため , 複合タイマは 16 ビットカウンタとして動作できません。 156 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 12 章 8/16 ビット複合タイマ 12.1 概要 ■ PWC タイマ機能 PWC タイマ機能が選択されると , 外部入力パルスの幅および周期を測定できます。 この動作モードでは , 外部入力信号のカウント開始エッジを検出した直後に , カウンタ は "0x00" からカウント動作を開始します。 この後 , カウント終了エッジが検出されると , カウンタは , カウント値をレジスタに転送し , 割込みを発生させます。 ■ インプットキャプチャ機能 インプットキャプチャ機能が選択されると , 外部入力信号のエッジを検出した直後に , カウンタ値をレジスタに格納します。 この機能には , カウント動作にフリーランモードとクリアモードがあります。 クリアモードでは , カウンタは "0x00" からカウント動作を開始し , エッジを検出すると , カウンタの値をレジスタに転送して割込みを発生させます。その後 , カウンタは "0x00" からカウントを再開します。 フリーランモードでは , カウンタはエッジを検出した時点で , カウンタ値をレジスタに 転送して割込みを発生させます。この後 , クリアモードの場合とは異なり , カウンタは , "0x00" にクリアすることなく , そのままカウント動作を継続します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 157 第 12 章 8/16 ビット複合タイマ 12.2 構成 12.2 MB95850K/860K/870K シリーズ 構成 8/16 ビット複合タイマは , 以下のブロックで構成されます。 • 8 ビットカウンタ • 8 ビットコンパレータ ( テンポラリラッチを含む ) • 8/16 ビット複合タイマデータレジスタ (Tn0DR/Tn1DR) • 8/16 ビット複合タイマステータス制御レジスタ 0 (Tn0CR0/Tn1CR0) • 8/16 ビット複合タイマステータス制御レジスタ 1 (Tn0CR1/Tn1CR1) • 8/16 ビット複合タイマタイマモード制御レジスタ (TMCRn) • アウトプットコントローラ • 制御ロジック • カウントクロックセレクタ • エッジ検出器 • ノイズフィルタ 品種により , 8/16 ビット複合タイマの端子数およびチャネル数は異なります。詳細は , デバイスのデータシートを参照してください。 本章において , 端子名とレジスタ略称にある "n" はチャネル番号を示します。各品種の 端子名 , レジスタ名とレジスタ略称について , デバイスのデータシートを参照してくだ さい。 158 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 12 章 8/16 ビット複合タイマ 12.2 構成 MB95850K/860K/870K シリーズ ■ 8/16 ビット複合タイマのブロックダイヤグラム 図 12.2-1 8/16 ビット複合タイマのブロックダイヤグラム Tn0CR0 IFE C2 C1 C0 F3 F2 F1 F0 タイマn0 CK00 8ビットカウンタ : : カウント クロック セレクタ タイマ出力 制御回路部 プリスケーラ/ : タイムベースタイマ : からのクロック CK06 CK07 8ビットコンパレータ TOn0 出力 コントローラ ENn0 8ビットデータレジスタ エッジ 検出器 ノイズ フィルタ ECn0 STA HO IE IR BF IF SO OE Tn0CR1 TMCRn TO1 TO0 TIS MOD IRQXX 16ビットモード制御信号 FE11 FE10 FE01 FE00 Tn1CR0 IFE C2 C1 C0 F3 F2 F1 F0 ECn IRQXX IRQ 回路部 タイマn1 16ビット モードクロック 8ビットカウンタ : : カウント クロック セレクタ 制御回路部 CK10 プリスケーラ/ : タイムベース : タイマ CK16 からの クロック CK17 タイマ出力 8ビットコンパレータ 出力 コントローラ TOn1 ENn1 8ビットデータレジスタ 外部入力 ノイズ フィルタ ECn1 エッジ 検出器 Tn1CR1 STA HO IE IR BF IF SO OE ● 8 ビットカウンタ 各種タイマ動作の基本となるカウンタです。2 つの 8 ビットカウンタとしてまたは 1 つ の 16 ビットカウンタとして使用できます。 ● 8 ビットコンパレータ 8/16 ビット複合タイマデータレジスタの値とカウンタの値を比較するコンパレータで す。8/16 ビット複合タイマデータレジスタの値を一時的に格納するラッチを内蔵して います。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 159 第 12 章 8/16 ビット複合タイマ 12.2 構成 MB95850K/860K/870K シリーズ ● 8/16 ビット複合タイマデータレジスタ (Tn0DR/Tn1DR) このレジスタは , インターバルタイマ動作または PWM タイマ動作時にカウントされた 最大値の書込みおよびPWCタイマ動作またはインプットキャプチャ動作時のカウント 値の読出しを行います。 ● 8/16 ビット複合タイマステータス制御レジスタ 0 (Tn0CR0/Tn1CR0) タイマ動作モードの選択や , カウントクロックの選択および IF フラグ割込みの許可ま たは禁止を行うレジスタです。 ● 8/16 ビット複合タイマステータス制御レジスタ 1 (Tn0CR1/Tn1CR1) 割込みフラグの制御 , タイマ出力の制御およびタイマ動作の制御を行うレジスタです。 ● 8/16 ビット複合タイマタイマモード制御レジスタ (TMCRn) ノイズフィルタ機能の選択 , 8 ビットまたは 16 ビット動作モードの選択 , タイマ n0/n1 への信号入力の選択およびタイマ出力値の表示を行うレジスタです。 ● アウトプットコントローラ このアウトプットコントローラは , タイマ出力を制御します。端子出力が許可されてい るとき , タイマ出力は外部端子に出力されます。 ● 制御回路部 この制御回路部は , タイマ動作を制御します。 ● カウントクロックセレクタ このセレクタは , カウンタの動作クロック信号をプリスケーラの出力信号 ( マシンク ロックの分周信号およびタイムベースタイマの出力信号 ) から選択します。 ● エッジ検出器 エッジ検出器は , PWC タイマ動作やインプットキャプチャ動作時のイベントとして使 用される外部入力信号のエッジを選択します。 ● ノイズフィルタ このフィルタは , 外部入力信号のノイズフィルタとして動作します。"H" パルスノイズ 除去 , "L" パルスノイズ除去または "H"/"L" パルスノイズ除去から選択できます。 ■ 入力クロック 8/16 ビット複合タイマは , プリスケーラからの出力クロックを入力クロック ( カウント クロック ) として使用します。 160 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 12 章 8/16 ビット複合タイマ 12.3 チャネル MB95850K/860K/870K シリーズ 12.3 チャネル 8/16 ビット複合タイマのチャネルについて説明します。 ■ 8/16 ビット複合タイマのチャネル 1 チャネル内には , 8 ビットカウンタが 2 つあり , それらは 2 つの 8 ビットタイマとし てまたは 1 つの 16 ビットタイマとしても使用できます。 表 12.3-1 に , チャネルの外部端子を示します。 表 12.3-1 チャネルの外部端子 端子名 端子機能 TOn0 タイマ n0 出力 TOn1 タイマ n1 出力 ECn タイマ n0 入力およびタイマ n1 入力 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 161 第 12 章 8/16 ビット複合タイマ 12.4 端子 12.4 MB95850K/860K/870K シリーズ 端子 8/16 ビット複合タイマの端子について説明します。 ■ 8/16 ビット複合タイマの端子 8/16 ビット複合タイマの外部端子は , TOn0, TOn1, ECn です。 ● TOn0 端子 TOn0: この端子は , 8 ビット動作時には , タイマ n0 のタイマ出力端子として , また 16 ビッ ト動作時にはタイマ n0 とタイマ n1 のタイマ出力端子として機能します。インター バルタイマ機能時 , PWM タイマ機能時または PWC タイマ機能時に出力を許可 (Tn0CR1:OE = 1) されているときには , ポート方向レジスタ (DDR) の設定に関係なく 自動的に出力端子となり , タイマ出力 TOn0 端子として機能します。 インプットキャプチャ機能の使用時に出力が許可されると , 出力は不定となります。 ● TOn1 端子 TOn1: この端子は , 8 ビット動作時のタイマ n1 のタイマ出力端子になります。インターバ ルタイマ機能時 , PWM タイマ機能 ( 周期固定モード ) 時または PWC タイマ機能時に 出力を許可 (Tn1CR1:OE = 1) すると , ポート方向レジスタ (DDR) の設定に関係なく 自動的に出力端子となり , タイマ出力 TOn1 端子として機能します。 16ビット動作時は, PWMタイマ機能 (周期可変モード) またはインプットキャプチャ 機能の使用時に出力を許可すると , 出力は不定となります。 ● ECn 端子 ECn 端子は , ECn0 内部端子および ECn1 内部端子に接続しています。 ECn0 内部端子 : この端子は , インターバルタイマ機能または PWM タイマ機能が選択されている時に は , タイマ n0 の外部カウントクロック入力端子として機能し , PWC タイマ機能また はインプットキャプチャ機能が選択されているときには , タイマ n0 の信号入力端子 として機能します。PWC タイマ機能またはインプットキャプチャ機能が選択されて いるときには , 外部カウントクロック入力端子として設定できません。 この入力機能を使用するときには, ECn端子に対応するポート方向レジスタのビット を "0" に設定して , 入力ポートにしてくでさい。 ECn1 内部端子 : この端子は , インターバルタイマ機能または PWM タイマ機能が選択されている時に は , タイマ n1 の外部カウントクロック入力端子として機能し , PWC タイマ機能また はインプットキャプチャ機能が選択されている時には , タイマ n1 の信号入力端子と して機能します。PWC タイマ機能またはインプットキャプチャ機能が選択されてい るときには , 外部カウントクロック入力端子として設定できません。 162 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 12 章 8/16 ビット複合タイマ 12.4 端子 16 ビット動作時には , この端子の入力機能は使用されません。PWM タイマ機能 ( 周 期可変モード ) が選択されているときには , この端子の入力機能は使用可能です。 この入力機能を使用するときには, ECn端子に対応するポート方向レジスタのビット を "0" に設定して , 入力ポートにしてください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 163 第 12 章 8/16 ビット複合タイマ 12.5 割込み 12.5 MB95850K/860K/870K シリーズ 割込み 8/16 ビット複合タイマは , 以下の割込みを発生します。それぞれの割込みには , 割込 み番号と割込みベクタが割り当てられます。 • タイマ n0 割込み • タイマ n1 割込み ■ タイマ n0 の割込み 表 12.5-1 に , タイマ n0 の割込みおよびその要因を示します。 表 12.5-1 タイマ n0 の割込み 項目 説明 割込み発生の要因 インターバルタイマ動 作または PWM タイマ動 作 ( 周期可変モード ) の ときの比較一致 Tn0CR1:IF 割込みフラグ 割込み許可 Tn0CR1:IE と Tn0CR0:IFE PWC タイマ動作または インプットキャプチャ 動作のときのオーバフ ロー PWC タイマ動作のとき の測定完了またはイン プットキャプチャ動作 のときのエッジ検出 Tn0CR1:IF Tn0CR1:IR Tn0CR1:IE と Tn0CR0:IFE Tn0CR1:IE ■ タイマ n1 の割込み 表 12.5-2 に , タイマ n1 の割込みおよびその要因を示します。 表 12.5-2 タイマ n1 の割込み 項目 説明 割込み発生の要因 インターバルタイマ動 作または PWM タイマ動 作 ( 周期可変モード ) の ときの比較一致。16 ビット動作時を除く。 Tn1CR1:IF 割込みフラグ 割込み許可 164 Tn1CR1:IE と Tn1CR0:IFE PWC タイマ動作または インプットキャプチャ 動作のときのオーバフ ロー。16 ビット動作時 を除く。 PWC タイマ動作のとき の測定完了またはイン プットキャプチャ動作 のときのエッジ検出。 16 ビット動作時を除く。 Tn1CR1:IF Tn1CR1:IR Tn1CR1:IE と Tn1CR0:IFE Tn1CR1:IE FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 12 章 8/16 ビット複合タイマ 12.6 インターバルタイマ機能 ( ワンショッ トモード ) の動作説明 MB95850K/860K/870K シリーズ 12.6 インターバルタイマ機能 ( ワンショットモード ) の動作 説明 8/16 ビット複合タイマのインターバルタイマ機能 ( ワンショットモード ) の動作を説 明します。 ■ インターバルタイマ機能 ( ワンショットモード ) の動作 インターバルタイマ機能 ( ワンショットモード ) として動作させるには , 図 12.6-1 に示 された設定をしてください。 図 12.6-1 インターバルタイマ機能 ( ワンショットモード ) の設定 Tn0CR0/Tn1CR0 Tn0CR1/Tn1CR1 TMCRn bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 IFE C2 C1 C0 F3 F2 F1 F0 ❍ ❍ ❍ ❍ 0 0 0 0 STA HO IE IR BF IF SO OE 1 ❍ ❍ × × ❍ ❍ ❍ TO1 TO0 TIS MOD FE11 FE10 FE01 FE00 ❍ ❍ × ❍ ❍ ❍ ❍ ❍ インターバル時間 ( カウンタコンペア値 ) Tn0DR/Tn1DR ❍: 使用ビット ×: 未使用ビット 1: "1" に設定 0: "0" に設定 インターバルタイマ機能 ( ワンショットモード ) では , タイマ動作を許可 (Tn0CR1/ Tn1CR1:STA=1) すると , 選択されたカウントクロック信号の立上りエッジでカウンタ が "0x00" からカウント動作を開始します。カウンタの値が 8/16 ビット複合タイマデー タレジスタ (Tn0DR/Tn1DR) の値と一致すると , タイマ出力 (TMCRn:TO0/TO1) が反転 して , 割込みフラグ (Tn0CR1/Tn1CR1:IF) が "1" に , タイマ動作許可ビット (Tn0CR1/ Tn1CR1: STA) が "0" になり , カウント動作が停止します。 8/16 ビット複合タイマデータレジスタ (Tn0DR/Tn1DR) の値は , カウント動作開始時に コンパレータ内部の一時格納用のラッチ ( 比較データ格納用ラッチ ) に転送されます。 8/16 ビット複合タイマデータレジスタに "0x00" を書き込まないでください。 図 12.6-2 に , 8 ビット動作時のインターバルタイマ機能の動作を示します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 165 第 12 章 8/16 ビット複合タイマ 12.6 インターバルタイマ機能 ( ワンショッ トモード ) の動作説明 図 12.6-2 8 ビット動作時のインターバルタイマ機能 ( ワンショットモード ) の動作 MB95850K/860K/870K シリーズ カウンタ値 0xFF 0x80 0x00 時間 Tn0DR/Tn1DR値 (0xFF) タイマサイクル Tn0DR/Tn1DR値変更(0xFF→0x80)* プログラムにより クリア IFビット STAビット 自動的にクリア 反転 再起動 自動的にクリア 再起動 出力初期値の変更なし(“0”)に再起動する タイマ出力端子 初期値“1”で起動 *: Tn0DR/Tn1DRデータレジスタ値が動作中に変更された場合,新しい値が次のアクティブサイクルから使用されます。 166 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 12 章 8/16 ビット複合タイマ 12.7 インターバルタイマ機能 ( 連続モード ) の動作説明 MB95850K/860K/870K シリーズ 12.7 インターバルタイマ機能 ( 連続モード ) の動作説明 8/16 ビット複合タイマのインターバルタイマ機能 ( 連続モード ) を説明します。 ■ インターバルタイマ機能 ( 連続モード ) の動作 インターバルタイマ機能 ( 連続モード ) として動作させるには , 図 12.7-1 に示された設 定をしてください。 図 12.7-1 インターバルタイマ機能 ( 連続モード ) の設定 Tn0CR0/Tn1CR0 Tn0CR1/Tn1CR1 TMCRn bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 IFE C2 C1 C0 F3 F2 F1 F0 ❍ ❍ ❍ ❍ 0 0 0 1 STA HO IE IR BF IF SO OE 1 ❍ ❍ × × ❍ ❍ ❍ TO1 TO0 TIS MOD FE11 FE10 FE01 FE00 ❍ ❍ × ❍ ❍ ❍ ❍ ❍ インターバル時間 ( カウンタコンペア値 ) Tn0DR/Tn1DR ❍: 使用ビット ×: 未使用ビット 1: "1" に設定 0: "0" に設定 インターバルタイマ機能 ( 連続モード ) では , タイマ動作を許可 (Tn0CR1/Tn1CR1:STA = 1) すると , 選択されたカウントクロック信号の立上りエッジでカウンタが "0x00" か らカウント動作を開始します。カウンタの値が 8/16 ビット複合タイマデータレジスタ (Tn0DR/Tn1DR) の値と一致すると , タイマ出力ビット (TMCRn:TO0/TO1) が反転し , 割 込みフラグ (Tn0CR1/Tn1CR1:IF) が "1" になり , カウンタは "0x00" に戻り再びカウント 動作を開始します。この連続動作の結果 , タイマは方形波を出力します。 8/16 ビット複合タイマデータレジスタ (Tn0DR/Tn1DR) の値は , カウント動作を開始し たときまたはカウンタ値の比較一致を検出したときに , コンパレータ内部の一時格納 用のラッチ ( 比較データ格納用ラッチ ) に転送されます。カウンタがカウント動作をし ているとき , 8/16 ビット複合タイマデータレジスタに "0x00" を書き込まないでくださ い。 タイマ動作を停止すると, タイマ出力ビット (TMCRn:TO0/TO1) は最後の値を保持しま す。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 167 第 12 章 8/16 ビット複合タイマ 12.7 インターバルタイマ機能 ( 連続モード ) の動作説明 図 12.7-2 インターバルタイマ機能 ( 連続モード ) の動作図 MB95850K/860K/870K シリーズ コンペア値 コンペア値(0xE0) コンペア値(0xFF) コンペア値(0x80) 0xFF 0xE0 0x80 0x00 時間 Tn0DR/Tn1DR Tn0DR/Tn1DR値変更 Tn0DR/Tn1TDR値(0xE0) 値変更 (0xFF→0x80)*1 (0xE0→0xFF)*1 プログラムによるクリア IFビット STAビット 起動 一致 一致 一致 一致 一致 カウンタクリア*2 タイマ出力端子 *1: Tn0DR/Tn1DRデータレジスタ値が動作中に変更された場合, 新しい値が次のアクティブサイクルから使用されます。 *2: 動作中に一致が検出されるとカウンタはクリアされ, データレジスタの設定が比較データラッチにロードされます。 168 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 12 章 8/16 ビット複合タイマ 12.8 インターバルタイマ機能 ( フリーラン モード ) の動作説明 MB95850K/860K/870K シリーズ 12.8 インターバルタイマ機能 ( フリーランモード ) の動作説 明 8/16 ビット複合タイマのインターバルタイマ機能 ( フリーランモード ) の動作を説明 します。 ■ インターバルタイマ機能 ( フリーランモード ) の動作 インターバルタイマ機能 ( フリーランモード ) として動作させるには , 図 12.8-1 に示され た設定をしてください。 図 12.8-1 インターバルタイマ機能 ( フリーランモード ) の設定 Tn0CR0/Tn1CR0 Tn0CR1/Tn1CR1 TMCRn bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 IFE C2 C1 C0 F3 F2 F1 F0 ❍ ❍ ❍ ❍ 0 0 1 0 STA HO IE IR BF IF SO OE 1 ❍ ❍ × × ❍ ❍ ❍ TO1 TO0 TIS MOD FE11 FE10 FE01 FE00 ❍ ❍ × ❍ ❍ ❍ ❍ ❍ インターバル時間 ( カウンタコンペア値 ) Tn0DR/Tn1DR ❍: 使用ビット ×: 未使用ビット 1: "1" を設定 0: "0" を設定 インターバルタイマ機能 ( フリーランモード ) では , タイマ動作を許可 (Tn0CR1/ Tn1CR1:STA = 1) すると , 選択されたカウントクロック信号の立上りエッジでカウンタ が "0x00" からカウント動作を開始します。カウンタの値が 8/16 ビット複合タイマデー タレジスタ (Tn0DR/Tn1DR) の値と一致すると , タイマ出力ビット (TMCRn:TO0/TO1) が反転して割込みフラグ (Tn0CR1/Tn1CR1:IF) が "1" になります。上記の設定でカウン ト動作を継続し , カウント値が "0xFF" に達すると , カウンタは再度 "0x00" からカウン ト動作を継続します。この連続動作の結果 , タイマは方形波を出力します。 8/16 ビット複合タイマデータレジスタ (Tn0DR/Tn1DR) の値は , カウンタがカウント動 作を開始したときまたはカウンタ値の比較一致を検出したときに , コンパレータ内部 の一時格納用のラッチ ( 比較データ格納用ラッチ ) に転送されます。8/16 ビット複合タ イマデータレジスタに "0x00" を書き込まないでください。 タイマ動作を停止すると, タイマ出力ビット (TMCRn:TO0/TO1) は最後の値を保持しま す。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 169 第 12 章 8/16 ビット複合タイマ 12.8 インターバルタイマ機能 ( フリーラン モード ) の動作説明 図 12.8-2 インターバルタイマ機能 ( フリーランモード ) の動作図 MB95850K/860K/870K シリーズ (0xE0) カウンタ値 0xFF 0xE0 0x80 0x00 時間 Tn0DR/Tn1DR値(0xE0) プログラムによるクリア IFビット STAビット 起動 一致 一致 一致 一致 カウンタ値一致* タイマ出力端子 *: 動作中に一致が検出されても, カウンタはクリアされません。データレジスタの設定は比較データラッチにリロードされます。 170 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 12 章 8/16 ビット複合タイマ 12.9 PWM タイマ機能 ( 周期固定モード ) の 動作説明 MB95850K/860K/870K シリーズ 12.9 PWM タイマ機能 ( 周期固定モード ) の動作説明 8/16 ビット複合タイマの PWM タイマ機能 ( 周期固定モード ) の動作を説明します。 ■ PWM タイマ機能 ( 周期固定モード ) の動作 PWM タイマ機能 ( 周期固定モード ) として動作させるには , 図 12.9-1 に示された設定 をしてください。 図 12.9-1 PWM タイマ機能 ( 周期固定モード ) の設定 Tn0CR0/Tn1CR0 Tn0CR1/Tn1CR1 TMCRn bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 IFE C2 C1 C0 F3 F2 F1 F0 × ❍ ❍ ❍ 0 0 1 1 STA HO IE IR BF IF SO OE 1 ❍ × × × × × × TO1 TO0 TIS MOD FE11 FE10 FE01 FE00 ❍ ❍ × ❍ ❍ ❍ ❍ ❍ "H" パルス幅 ( コンペア値 ) の設定 Tn0DR/Tn1DR ❍: 使用ビット ×: 未使用ビット 1: "1" を設定 0: "0" を設定 PWM タイマ機能 ( 周期固定モード ) では , 周期固定で "H" パルス幅可変 PWM 信号を タイマ出力端子 (TOn0/TOn1) から出力します。この周期は , 8 ビット動作モードでは "0xFF", 16 ビット動作モードでは "0xFFFF" に固定されます。選択したカウントクロッ クにより時間が決定されます。"H" パルス幅は 8/16 ビット複合タイマデータレジスタ (Tn0DR/Tn1DR) の値で指定してください。 この機能は割込みフラグ (Tn0CR1/Tn1CR1:IF) には影響しません。また , 各周期は常に "H" パルス出力から開始するため , タイマ出力初期値設定ビット (Tn0CR1/Tn1CR1:SO) は動作に影響を与えません。 8/16 ビット複合タイマデータレジスタ (Tn0DR/Tn1DR) の値は , カウンタがカウント動 作を開始したときまたはカウンタ値の比較一致を検出したときに , コンパレータ内部 の一時格納用のラッチ ( 比較データ格納用ラッチ ) に転送されます。 タイマ動作を停止すると, タイマ出力ビット (TMCRn:TO0/TO1) は最後の値を保持しま す。 タイマ起動 (STA ビットに "1" を書き込む ) 直後の出力波形では , "H" パルスが , Tn0DR/ Tn1DR レジスタの設定値よりも , 1 カウントクロック少なくなります。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 171 第 12 章 8/16 ビット複合タイマ 12.9 PWM タイマ機能 ( 周期固定モード ) の 動作説明 図 12.9-2 PWM タイマ機能 ( 周期固定モード ) の動作図 MB95850K/860K/870K シリーズ Tn0DR/Tn1DR レジスタ値 : "0x00" (デューティ比 = 0%) カウンタ値 PWM 波形 0x00 0xFF, 0x00 "H" "L" Tn0DR/Tn1DR レジスタ値 : "0x80" (デューティ比 = 50%) カウンタ値 PWM 波形 0x00 0x80 0xFF, 0x00 "H" "L" Tn0DR/Tn1DR レジスタ値 : "0xFF" (デューティ比 = 99.6%) カウンタ値 0x00 0xFF, 0x00 "H" PWM 波形 "L" 1カウント幅 (注意事項) PWM機能が選択されているとき, タイマ出力端子はカウンタが停止した時点(Tn0CR1/Tn1CR1:STA=0)のレベルを維持します。 172 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 12 章 8/16 ビット複合タイマ 12.10 PWM タイマ機能 ( 周期可変モード ) の動作説明 MB95850K/860K/870K シリーズ 12.10 PWM タイマ機能 ( 周期可変モード ) の動作説明 8/16 ビット複合タイマの PWM タイマ機能 ( 周期可変モード ) の動作を説明します。 ■ PWM タイマ機能 ( 周期可変モード ) の動作 PWM タイマ機能 ( 周期可変モード ) として動作させるには , 図 12.10-1 に示された設定 をしてください。 図 12.10-1 PWM タイマ機能 ( 周期可変モード ) の設定 Tn0CR0/Tn1CR0 Tn0CR1/Tn1CR1 TMCRn bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 IFE C2 C1 C0 F3 F2 F1 F0 ❍ ❍ ❍ ❍ 0 1 0 0 STA HO IE IR BF IF SO OE 1 ❍ ❍ × × ❍ × × TO1 TO0 TIS MOD FE11 FE10 FE01 FE00 ❍ ❍ × × ❍ ❍ ❍ ❍ Tn0DR "L" パルス幅 ( コンペア値 ) を指定 Tn1DR PWM 波形 の周期 ( コンペア値 ) を指定 ❍: 使用ビット ×: 未使用ビット 1: "1" を設定 0: "0" を設定 PWM タイマ機能 ( 周期可変モード ) では , タイマ n0 とタイマ n1 の両方を使用します。 任意の周期と任意のデューティとの PWM 信号がタイマ出力端子 (TOn0) から出力され ます。8/16 ビット複合タイマ n1 データレジスタ (Tn1DR) で周期を指定して , 8/16 ビッ ト複合タイマ n0 データレジスタ (Tn0DR) で "L" パルス幅時間を指定してください。 この機能では , 2 つの 8 ビットカウンタを使用するため , 複合タイマは 16 ビットカウン タを構成できません。 タイマ動作を許可 (Tn0CR1/Tn1CR1:STA = 1) すると , モードビット (TMCRn:MOD) は "0" になります。また , 最初の周期は常に "L" パルス出力から開始するため , タイマ初 期値設定ビット (Tn0CR1/Tn1CR1:SO) は動作に影響を与えません。 割込みフラグ (Tn0CR1/Tn1CR1:IF) は , その割込みフラグに対応する 8 ビットカウンタ が , 8/16 ビット複合タイマデータレジスタ (Tn0DR/Tn1DR) の値と一致したときに設定 されます。 8/16 ビット複合タイマデータレジスタの値はカウンタがカウント動作を開始したとき またはそれぞれのカウンタ値の比較一致を検出したときに , コンパレータ内部の一時 格納用のラッチ ( 比較データ格納用ラッチ ) に転送されます。 "L" パルス幅の設定値が周期の設定値より大きい場合は "H" は出力されません。 カウントクロックの選択は , タイマ n0 とタイマ n1 の両方に対してそれぞれ行ってくだ さい。この際 , 2 つのタイマに対し異なるカウントクロックを選択することは禁止され ます。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 173 第 12 章 8/16 ビット複合タイマ 12.10 PWM タイマ機能 ( 周期可変モード ) の動作説明 タイマ動作を停止したとき , タイマ出力ビット (TMCRn:TO0) は最後の出力値を保持し MB95850K/860K/870K シリーズ ます。 動作中に 8/16 ビット複合タイマデータレジスタを書き換えた場合 , 書き込まれたデー タは同期一致が検出された次のサイクルより有効となります。 図 12.10-2 PWM タイマ機能 ( 周期可変モード ) の動作図 Tn0DR レジスタ値 : "0x80", Tn1DR レジスタ値 : "0x80" (デューティ比 = 0%) (タイマn0値≧タイマn1値) カウンタタイマ00値 カウンタタイマ01値 0x00 0x00 "H" 0x80,0x00 0x80,0x00 0x80,0x00 0x80,0x00 PWM 波形 "L" Tn0DR レジスタ値 : "0x40", Tn1DR レジスタ値 : "0x80" (デューティ比 = 50%) カウンタタイマn0値 カウンタタイマn1値 0x00 0x00 0x40 0x00 0x40 0x00 0x80,0x00 0x80,0x00 "H" PWM 波形 "L" Tn0DR レジスタ値 : "0x00", Tn1DR レジスタ値 : "0xFF" (デューティ比 = 99.6%) カウンタタイマn0値 カウンタタイマn1値 PWM 波形 0x00 0x00 "H" "L" 174 0x00 0xFF,0x00 1カウント幅 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 12 章 8/16 ビット複合タイマ 12.11 PWC タイマ機能の動作説明 MB95850K/860K/870K シリーズ 12.11 PWC タイマ機能の動作説明 8/16 ビット複合タイマの PWC タイマ機能の動作を説明します。 ■ PWC タイマ機能の動作 PWC タイマ機能として動作させるには , 図 12.11-1 に示された設定をしてください。 図 12.11-1 PWC タイマ機能の設定 Tn0CR0/Tn1CR0 Tn0CR1/Tn1CR1 TMCRn bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 IFE C2 C1 C0 F3 F2 F1 F0 ❍ ❍ ❍ ❍ ❍ ❍ ❍ ❍ STA HO IE IR BF IF SO OE 1 ❍ ❍ ❍ ❍ ❍ ❍ × TO1 TO0 TIS MOD FE11 FE10 FE01 FE00 ❍ ❍ ❍ ❍ ❍ ❍ ❍ ❍ パルス幅測定値を保持 Tn0DR/Tn1DR ❍: 使用ビット ×: 未使用ビット 1: "1" を設定 PWC タイマ機能を選択しているときには , 外部入力パルスの幅および周期を測定でき ます。カウント開始・終了のエッジはタイマ動作モード選択ビット (Tn0CR0/Tn1CR0: F[3:0]) で選択してください。 この機能の動作では , 外部入力信号の指定されたカウント開始エッジを検出した直後 に , カウンタは "0x00" からカウント動作を開始します。指定されたカウント終了エッ ジを検出すると , カウント値が 8/16 ビット複合タイマデータレジスタ (Tn0DR/Tn1DR) に 転 送 さ れ , 割 込 み フ ラ グ (Tn0CR1/Tn1CR1:IR) と バ ッ フ ァ フ ル フ ラ グ (Tn0CR1/ Tn1CR1:BF) を "1" にします。バッファフルフラグは , 8/16 ビット複合タイマデータレ ジスタ (Tn0DR/Tn1DR) が読み出されたとき , "0" になります。 バッファフルフラグが "1" の場合 , 8/16 ビット複合タイマデータレジスタはデータを保 持します。この間に次のエッジが検出されても , カウント値は 8/16 ビット複合タイマ データレジスタに転送されないため , 次の測定結果を喪失します。 例外として , Tn0CR0/Tn1CR0 レジスタの F[3:0] ビットが "0b1001" に設定されていると きは , BF ビットが "1" 状態でも "H" パルスの測定結果は 8/16 ビット複合タイマデータ レジスタに転送されます。ただし , 周期の測定結果は 8/16 ビット複合タイマデータレ ジスタに転送されません。したがって , 周期測定を行うためには周期が終了する前に "H" パルス測定の結果を読み出してください。また , "H" パルス測定の結果および周期 測定の結果は , 次の "H" パルスが終了する前に読み出さないと喪失します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 175 第 12 章 8/16 ビット複合タイマ 12.11 PWC タイマ機能の動作説明 MB95850K/860K/870K シリーズ カウンタの値を超える時間を測定する場合は , カウンタオーバフローの回数をソフト ウェアでカウントすることにより , カウンタの値を超えた時間を求めることができま す。すなわち , カウンタがオーバフローすると , 割込みフラグ (Tn0CR1/Tn1CR1:IF) が "1" になるため , この割込みサービスルーチンによりオーバフローの回数をカウントし ます。また , オーバフローによりタイマ出力は反転します。タイマ出力の初期値は , タイ マ出力初期値ビット (Tn0CR1/Tn1CR1:SO) により設定できます。 タイマ動作を停止したとき, タイマ出力ビット (TMCRn:TO0/TO1) は最後の値を保持し ます。 図 12.11-2 PWC タイマの動作図 (H パルス幅測定例 ) "H" 幅 パルス入力 (PWC端子への入力波形) 0xFF カウンタ値 時間 STAビット カウンタ動作 プログラムによるクリア IRビット BFビット カウンタから Tn0DR/Tn1DR にデータ転送 176 FUJITSU SEMICONDUCTOR LIMITED Tn0DR/Tn1DR データレジスタ 読出し MN702-00010-2v0-J 第 12 章 8/16 ビット複合タイマ 12.12 インプットキャプチャ機能の動作説 明 MB95850K/860K/870K シリーズ 12.12 インプットキャプチャ機能の動作説明 8/16 ビット複合タイマのインプットキャプチャ機能の動作を説明します。 ■ インプットキャプチャ機能の動作 インプットキャプチャ機能として動作させるには , 図 12.12-1 に示された設定をしてくだ さい。 図 12.12-1 インプットキャプチャ機能の設定 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 Tn0CR0/Tn1CR0 IFE C2 C1 C0 F3 F2 F1 F0 ❍ ❍ ❍ ❍ ❍ ❍ ❍ ❍ Tn0CR1/Tn1CR1 STA HO IE IR BF IF SO OE 1 ❍ ❍ ❍ × ❍ × × TMCRn TO1 TO0 TIS MOD FE11 FE10 FE01 FE00 × × ❍ ❍ ❍ ❍ ❍ ❍ パルス幅測定値を保持 Tn0DR/Tn1DR ❍: 使用ビット ×: 未使用ビット 1: "1" を設定 インプットキャプチャ機能が選択されると , 外部信号入力のエッジ検出の直後に , カウ ンタの値を , 8/16 ビット複合タイマデータレジスタ (Tn0DR/Tn1DR) に格納します。検 出するエッジは , タイマ動作モード選択ビット (Tn0CR0/Tn1CR0:F[3:0]) により選択し ます。 この機能には , フリーランモードとクリアモードがあり , タイマ動作モード選択ビット により選択します。 クリアモードでは , カウンタは "0x00" からカウント動作を開始します。エッジを検出 すると , カウンタの値を 8/16 ビット複合タイマデータレジスタ (Tn0DR/Tn1DR) に転送 して割込みフラグ (Tn0CR1/Tn1CR1:IR) が "1" になり , 再び "0x00" からカウント動作を 開始します。 フリーランモードでは , エッジが検出されると , カウンタの値を 8/16 ビット複合タイ マデータレジスタ (Tn0DR/Tn1DR) に転送して , 割込みフラグ (Tn0CR1/Tn1CR1:IR) が "1" になります。この場合には , カウンタはクリアされることなく , そのままカウント 動作を継続します。 この機能は , バッファフルフラグ (Tn0CR1/Tn1CR1:BF) に影響を与えません。 カウンタの値を超える時間を測定する場合は , カウンタオーバフローの回数をソフト ウェアでカウントして求めることができます。すなわち , カウンタがオーバフローする と , 割込みフラグ (Tn0CR1/Tn1CR1:IF) が "1" になるため , この割込みサービスルーチ ンによりオーバフローの回数をカウントできます。また , オーバフローによりタイマ出 力 は 反 転 し ま す。タ イ マ 出 力 の 初 期 値 は , タ イ マ 出 力 初 期 値 ビ ッ ト (Tn0CR1/ Tn1CR1:SO) により設定できます。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 177 第 12 章 8/16 ビット複合タイマ 12.12 インプットキャプチャ機能の動作説 明 MB95850K/860K/870K シリーズ <注意事項> インプットキャプチャ機能の使用上の注意については , 「12.15 使用上の注意」を参照し てください。 図 12.12-2 インプットキャプチャ機能動作図 0xFF 0xBF 0x9F 0x7F 0x3F Tn0DR/Tn1DRの キャプチャ値 0xBF キャプチャ立下りエッジ 0x3F キャプチャ 立下りエッジ 外部入力 カウンタクリアモード 178 0x7F キャプチャ立上りエッジ 0x9F キャプチャ 立上りエッジ カウンタフリーランモード FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 12.13 ノイズフィルタの動作説明 第 12 章 8/16 ビット複合タイマ 12.13 ノイズフィルタの動作説明 8/16 ビット複合タイマのノイズフィルタの動作を説明します。 インプットキャプチャ機能または PWC タイマ機能が選択されているときには , 外部入 力端子 (ECn) からの信号のパルスノイズをノイズフィルタにより除去できます。 TMCRn レジスタの FE11, FE10, FE01 と FE00 ビットで "H" パルスノイズ除去 , "L" パ ルスノイズ除去または "H/L" パルスノイズ除去のいずれかを選択してください。除去 できる最大のパルス幅は 3 マシンクロック周期です。ノイズフィルタ機能が作動中の 場合 , 信号入力に 4 マシンクロック周期の遅れが発生します。 図 12.13-1 ノイズフィルタの動作 サンプリング フィルタクロック 外部入力信号 出力フィルタ "H" ノイズ 出力フィルタ "L" ノイズ 出力フィルタ "H"/"L" ノイズ MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 179 第 12 章 8/16 ビット複合タイマ 12.14 レジスタ 12.14 MB95850K/860K/870K シリーズ レジスタ 8/16 ビット複合タイマのレジスタについて説明します。 表 12.14-1 8/16 ビット複合タイマのレジスタ一覧 レジスタ略称 180 レジスタ名 参照先 Tn0CR0 8/16 ビット複合タイマ n0 ステータス制御レジスタ 0 12.14.1 Tn1CR0 8/16 ビット複合タイマ n1 ステータス制御レジスタ 0 12.14.1 Tn0CR1 8/16 ビット複合タイマ n0 ステータス制御レジスタ 1 12.14.2 Tn1CR1 8/16 ビット複合タイマ n1 ステータス制御レジスタ 1 12.14.2 TMCRn 8/16 ビット複合タイマタイマモード制御レジスタ 12.14.3 Tn0DR 8/16 ビット複合タイマ n0 データレジスタ 12.14.4 Tn1DR 8/16 ビット複合タイマ n1 データレジスタ 12.14.4 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 12 章 8/16 ビット複合タイマ 12.14 レジスタ MB95850K/860K/870K シリーズ 12.14.1 8/16 ビット複合タイマステータス制御レジスタ 0 (Tn0CR0/Tn1CR0) 8/16 ビット複合タイマステータス制御レジスタ 0 (Tn0CR0/Tn1CR0) は , タイマの動 作モードの選択 , カウントクロックの選択および IF フラグ割込みの許可または禁止を 行います。Tn0CR0 レジスタはタイマ n0 に , Tn1CR0 レジスタはタイマ n1 に対応し ます。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field IFE C2 C1 C0 F3 F2 F1 F0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7] IFE: IF フラグ割込み許可ビット このビットは IF フラグ割込みを許可または禁止します。 タイマ動作中 (Tn0CR1/Tn1CR1:STA = 1), このビットへの書込み動作は無効です。このビットを書き 換える前に , タイマが停止していることを確認してください。 このビットが "1" に設定されているとき , IE ビット (Tn0CR1/Tn1CR1:IE) と , IF フラグ (Tn0CR1/ Tn1CR1:IF) の両方 が "1" に設定されると , IF フラグ割込み要求が出力されます。 説明 bit7 "0" を書き込んだ場合 IF フラグ割込みを禁止します。 "1" を書き込んだ場合 IF フラグ割込みを許可します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 181 第 12 章 8/16 ビット複合タイマ 12.14 レジスタ MB95850K/860K/870K シリーズ [bit6:4] C[2:0] カウントクロック選択ビット これらのビットはカウントクロックを選択します。 カウントクロックはプリスケーラにより生成されます。 「3.9 プリスケーラの動作」を参照してくだ さい。 タイマ動作中 (Tn0CR1/Tn1CR1:STA = 1), これらのビットへの書込み動作は無効です。 16 ビット動作時には Tn1CR0 ( タイマ n1) のクロック選択は無効です。 PWC 機能またはインプットキャプチャ機能のとき , これらのビットは "0b111" に設定できません。 使用中の PWC 機能またはインプットキャプチャ機能で "0b111" を書き込むと , これらのビットは "0b000" にリセットされます。 また , これらのビットが "0b111" の状態でインプットキャプチャ動作モードに遷移した場合も "0b000" にリセットされます。 これらのビットを "0b110" に設定した場合 , タイムベースタイマからのカウントクロックがカウン トクロックとして使用されます。タイムベースタイマからのカウントクロックは , SYCC レジスタ の設定により , メインクロック , メイン CR クロックまたはメイン CR PLL クロックから生成されま す。タイムベースタイマからのカウントクロックをカウントクロックとして使用する場合は , タイ ムベースタイマ制御レジスタのタイムベースタイマクリアビット (TBTC:TCLR) に "1" を書き込んで タイムベースタイマをリセットすると , カウント時間が影響されます。 bit6:4 説明 (MCLK: マシンクロック , FCH: メインクロック , FCRH: メイン CR クロック , FMCRPLL: メイン CR PLL クロック ) "000" を書き込んだ場合 1 MCLK "001" を書き込んだ場合 MCLK/2 "010" を書き込んだ場合 MCLK/4 "011" を書き込んだ場合 MCLK/8 "100" を書き込んだ場合 MCLK/16 "101" を書き込んだ場合 MCLK/32 "110" を書き込んだ場合 FCH/27, FCRH/26 または FMCRPLL/26* "111" を書き込んだ場合 外部クロック *: カウントクロックとして使用される値は , SYCC レジスタの SCS[2:0] ビットにより決まりま す。 182 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 12 章 8/16 ビット複合タイマ 12.14 レジスタ MB95850K/860K/870K シリーズ [bit3:0] F[3:0]: タイマ動作モード選択ビット これらのビットはタイマ動作モードを選択します。 PWM タイマ機能 ( 周期可変モード ) (F[3:0] = 0b0100) は , Tn0CR0 ( タイマ n0) または Tn1CR0( タイ マ n1) のいずれか一方のレジスタから設定します。この場合 , 一方のタイマが作動すると (Tn0CR1/ Tn1CR1:STA = 1), 他方のタイマの F[3:0] ビットが自動的に "0b0100" に設定されます。 16 ビット動作モードを選択 (TMCRn:MOD = 1) した状態で , 複合タイマが PWM タイマ機能 ( 周期可 変モード ) で動作を開始 (Tn0CR1/Tn1CR1:STA = 1) すると , MOD ビットは自動的に "0" になります。 タイマ動作中 (Tn0CR1/Tn1CR1:STA = 1) のとき , これらのビットへの書込み動作は無効です。 説明 bit3:0 "0000" を書き込んだ場合 インターバルタイマ ( ワンショットモード ) "0001" を書き込んだ場合 インターバルタイマ ( 連続モード ) "0010" を書き込んだ場合 インターバルタイマ ( フリーランモード ) "0011" を書き込んだ場合 PWM タイマ ( 周期固定モード ) "0100" を書き込んだ場合 PWM タイマ ( 周期可変モード ) "0101" を書き込んだ場合 PWC タイマ (H パルス=立上りエッジ~立下りエッジ ) "0110" を書き込んだ場合 PWC タイマ (L パルス=立下りエッジ~立上りエッジ ) "0111" を書き込んだ場合 PWC タイマ ( 周期=立上りエッジ~立上りエッジ ) "1000" を書き込んだ場合 PWC タイマ ( 周期=立下りエッジ~立下りエッジ ) "1001" を書き込んだ場合 PWC タイマ (H パルス=立上りエッジ~立下りエッジ ; 周期=立上りエッジ~立 上りエッジ ) "1010" を書き込んだ場合 インプットキャプチャ ( 立上りエッジ , フリーランカウンタ ) "1011" を書き込んだ場合 インプットキャプチャ ( 立下りエッジ , フリーランカウンタ ) "1100" を書き込んだ場合 インプットキャプチャ ( 両エッジ , フリーランカウンタ ) "1101" を書き込んだ場合 インプットキャプチャ ( 立上りエッジ , カウンタクリア ) "1110" を書き込んだ場合 インプットキャプチャ ( 立下りエッジ , カウンタクリア ) "1111" を書き込んだ場合 インプットキャプチャ ( 両エッジ , カウンタクリア ) MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 183 第 12 章 8/16 ビット複合タイマ 12.14 レジスタ 12.14.2 MB95850K/860K/870K シリーズ 8/16 ビット複合タイマステータス制御レジスタ 1 (Tn0CR1/Tn1CR1) 8/16 ビット複合タイマステータス制御レジスタ 1 (Tn0CR1/Tn1CR1) は , 割込みフラ グの制御 , タイマ出力の制御およびタイマ動作を制御します。Tn0CR1 はタイマ n0 に , Tn1CR1 はタイマ n1 に対応します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field STA HO IE IR BF IF SO OE 属性 R/W R/W R/W R/W R R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7] STA: タイマ動作許可ビット このビットはタイマ動作を許可または停止します。 "0" を書き込んだ場合:タイマ動作を停止し , カウント値は "0x00" になります。 • PWM タイマ機能 ( 周期可変モード ) (Tn0CR0/Tn1CR0:F[3:0] = 0b0100) のときは , Tn0CR1( タイマ n0) または Tn1CR1 ( タイマ n1) のどちらかのレジスタの STA ビットを使いタイマ動作を許可また は停止できます。この場合 , 一方のレジスタの STA ビットに "0" を書き込んだ場合 , 他方のレジ スタの STA ビットは自動的に同じ値に設定されます。 • 16 ビット動作 (TMCRn:MOD = 1) のときには , Tn0CR1( タイマ n0) レジスタの STA ビットにより タイマ動作の許可または停止を行ってください。この場合 , 一方のタイマの STA ビットにを "0" を書き込んだ場合 , 他方のタイマの STA ビットは自動的に同じ値に設定されます。 "1" を書き込んだ場合:カウント値 "0x00" からタイマ動作を開始します。 • カウントクロック選択ビット (Tn0CR0/Tn1CR0:C[2:0]), タイマ動作モード選択ビット (Tn0CR0/ Tn1CR0:F[3:0]), タイマ出力初期値ビット (Tn0CR1/Tn1CR1:SO), 8 ビット / 16 ビット動作モード選 択ビット (TMCRn:MOD) およびフィルタ機能選択ビット (TMCRn:FEn1, FEn0) の設定は , このビッ トを "1" に設定する前に行ってください。 説明 bit7 "0" を書き込んだ場合 タイマ動作を停止します。 "1" を書き込んだ場合 タイマ動作を許可します。 184 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 12 章 8/16 ビット複合タイマ 12.14 レジスタ MB95850K/860K/870K シリーズ [bit6] HO: タイマ一時停止ビット このビットはタイマ動作を一時停止または再開します。 タイマ動作中にこのビットに "1" を書き込むと , タイマ動作は一時停止します。 タイマ動作が許可されている状態 (Tn0CR1/Tn1CR1:STA = 1) でこのビットに "0" を書き込むと , タ イマ動作は再開します。 PWM タイマ機能 ( 周期可変モード ) (Tn0CR0/Tn1CR0:F[3:0] = 0b0100) が使用されている時 , Tn0CR1 ( タイマ n0) または Tn1CR1 ( タイマ n1) のいずれかのレジスタの HO ビットによりタイマ一時停止 許可または動作再開が可能です。この場合 , 一方のレジスタの HO ビットに "0" または "1" を書き込 んだ場合 , 他方のレジスタの HO ビットは自動的に同じ値に設定されます。 16 ビット動作 (TMCRn:MOD = 1) のときは , Tn0CR1( タイマ n0) の HO ビットによりタイマ一時停 止・動作再開を行ってください。この場合 , 一方のレジスタの HO ビットに "0" または "1" を書き込 んだ場合 , 他方のレジスタの HO ビットは自動的に同じ値に設定されます。 説明 bit6 "0" を書き込んだ場合 タイマ動作を再開します。 "1" を書き込んだ場合 タイマ動作を一時停止します。 [bit5] IE: 割込み要求許可ビット このビットは割込み要求を許可または禁止します。 "0" の書込みは 割込み要求を禁止します。 "1" の書込みは 割込み要求を許可します。 このビットが "1" のときに , パルス幅測定完了 / エッジ検出フラグ (Tn0CR1/Tn1CR1:IR) またはタイ マリロード / オーバフローフラグ (Tn0CR1/Tn1CR1:IF) が "1" に設定されると , 複合タイマは割込み 要求を出力します。 ただし , タイマリロード / オーバフローフラグ (Tn0CR1/Tn1CR1:IF) からの割込み要求は , IF フラグ 割込み許可ビット (Tn0CR0/Tn1CR0:IFE) も "1" に設定しないと出力されません。 説明 bit5 "0" を書き込んだ場合 割込み要求を禁止します。 "1" を書き込んだ場合 割込み要求を許可します。 [bit4] IR: パルス幅測定完了 / エッジ検出フラグ このビットはパルス幅測定の完了またはエッジが検出されたことを示します。 このビットに "0" を書き込むと , このビットは "0" になります。 "1" を書き込んでも動作に影響はありません。 PWC タイマ機能が使用されているときに , パルス幅測定の完了直後にこのビットは "1" に設定され ます。 インプットキャプチャ機能が使用されているとき , エッジが検出された直後にこのビットは "1" に 設定されます。 選択された複合タイマの機能が , PWC タイマ機能やインプットキャプチャ機能以外のとき , この ビットは "0" に設定されます。 リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。 16 ビット動作のとき , Tn1CR1( タイマ n1) レジスタの IR ビットは "0" に設定されます。 説明 bit4 "0" が読み出された場合 パルス幅測定が完了していることまたはエッジが検出されていないことを示し ます。 "1" が読み出された場合 パルス幅測定が完了していることまたはエッジ検出がされていることを示しま す。 "0" を書き込んだ場合 このフラグをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 185 第 12 章 8/16 ビット複合タイマ 12.14 レジスタ MB95850K/860K/870K シリーズ [bit3] BF: データレジスタフルフラグ PWC タイマ機能が使用されているときには , パルス幅測定の完了直後にカウント値が 8/16 ビット 複合タイマデータレジスタ (Tn0DR/Tn1DR) に格納されると , このビットは "1" に設定されます。 8 ビット動作のとき , Tn0DR/Tn1DR を読み出すとこのビットは "0" になります。 このビットが "1" に設定されると , Tn0DR/Tn1DR は , データを保持します。このビットが "1" のと き , 次のエッジが検出されてもカウント値は Tn0DR/Tn1DR に転送されず , 次の測定結果は喪失され ます。ただし , 例外として Tn0CR0/Tn1CR0 の F[3:0] ビットが "0b1001" に設定されているときは , BF ビットが "1" の状態でも "H" パルスの測定結果が Tn0DR/Tn1DR に転送されます。ただし , 周期 の測定結果は Tn0DR/Tn1DR に転送されません。したがって , 周期測定を行うためには周期が終了 する前に "H" パルス測定の結果を読み出してください。また , "H" パルス測定の結果または周期測 定の結果は次の "H" パルスが終了する前に読み出さないと喪失されます。 16 ビット動作のとき , Tn0CR1( タイマ n0) レジスタの BF ビットは , Tn1DR( タイマ n1) レジスタを 読み出すと "0" になります。 16 ビット動作のとき , Tn1CR1( タイマ n1) レジスタの BF ビットは "0" になります。 PWC タイマ機能以外のタイマ機能が選択されているとき , このビットは "0" になります。 このビットに値を書き込んでも動作に影響はありません。 説明 bit3 "0" が読み出された場合 8/16 ビット複合タイマデータレジスタ (Tn0DR/Tn1DR) には測定データがないこ とを示します。 "1" が読み出された場合 8/16 ビット複合タイマデータレジスタ (Tn0DR/Tn1DR) には測定データがあるこ とを示します。 [bit2] IF: タイマリロード / オーバフローフラグ このビットはカウント値の一致またはカウントのオーバフローを検出します。 インターバルタイマ機能 ( ワンショットモードまたは連続モード ) または PWM タイマ機能 ( 周期可 変モード ) のとき , 8/16 ビット複合タイマデータレジスタ (Tn0DR/Tn1DR) の値とカウント値が一致 すると , このビットは "1" になります。 インプットキャプチャ機能またはPWC機能が使用されているときには, カウンタがオーバフローす るとこのビットは "1" になります。 リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。 このビットに "0" を書き込むと , このビットは "0" になります。 このビットに "1" を書き込んでも 動作に影響はありません。 PWM 機能 ( 周期可変モード ) が選択されると , このビットは "0" になります。 16 ビット動作のとき , Tn1CR1( タイマ n1) レジスタの IF ビットは "0" になります。 説明 bit2 "0" が読み出された場合 タイマリロードまたはオーバフローがないことを示します。 "1" が読み出された場合 タイマリロードまたはオーバフローが発生したことを示します。 "0" を書き込んだ場合 このフラグをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 186 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 12 章 8/16 ビット複合タイマ 12.14 レジスタ MB95850K/860K/870K シリーズ [bit1] SO: タイマ出力初期値ビット このビットに値を書き込むことによりタイマ出力 (TMCRn:TO1/TO0) 初期値が設定されます。この ビットの値は , タイマ動作許可ビット (Tn0CR1/Tn1CR1:STA) が "0" から "1" に変化したときタイマ 出力に反映されます。 16 ビット動作モード (TMCRn:MOD = 1) で , Tn0CR1( タイマ n0) レジスタの SO ビットによりタイマ 出力初期値を設定してください。この場合 , 他方のレジスタの SO ビットの値は動作に影響を与え ません。 タイマ動作中 (Tn0CR1/Tn1CR1:STA = 1), このビットへの書込みは無効です。ただし , 16 ビット動作 モードではタイマ動作中でも Tn1CR1( タイマ n1) レジスタの SO ビットへ値を書き込めますが , 書 き込まれた値はタイマ出力に直接的な影響を与えることはありません。 PWM タイマ機能 ( 周期固定モードまたは周期可変モード ) またはインプットキャプチャ機能が使用 されているときに , このビットの値は動作に影響を与えません。 説明 bit1 "0" を書き込んだ場合 タイマ出力初期値を "0" に設定します。 "1" を書き込んだ場合 タイマ出力初期値を "1" に設定します。 [bit0] OE: タイマ出力許可ビット このビットはタイマ出力を許可または禁止します。 "0" の書込みは外部端子へのタイマ値 (TMCRn:TO1/TO0) 出力を禁止します。この場合 , 外部端子は 汎用ポートとして機能します。 "1" の書込みは外部端子へのタイマ値出力を許可します。 説明 bit0 "0" を書き込んだ場合 タイマ出力を禁止します。 "1" を書き込んだ場合 タイマ出力を許可します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 187 第 12 章 8/16 ビット複合タイマ 12.14 レジスタ 12.14.3 MB95850K/860K/870K シリーズ 8/16 ビット複合タイマタイマモード制御レジスタ (TMCRn) 8/16 ビット複合タイマタイマモード制御レジスタ (TMCRn) は , フィルタ機能の選択 , 8 ビットまたは 16 ビット動作モードの選択 , タイマ n0 への信号入力の選択およびタ イマ出力値の表示を行います。このレジスタはタイマ n0 とタイマ n1 の両方に対応し ます。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field TO1 TO0 TIS MOD FE11 FE10 FE01 FE00 属性 R R R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7] TO1: タイマ n1 出力ビット このビットはタイマ n1 の出力値を示します。タイマ動作を開始 (Tn0CR1/Tn1CR1:STA = 1) すると , 選択したタイマ機能に応じてこのビット値は変化します。 このビットに値を書き込んでも動作に影響はありません。 16 ビット動作のとき , PWM タイマ機能 ( 周期可変モード ) またはインプットキャプチャ機能が選択 されると , このビットの値は不定となります。 インターバルタイマ機能または PWC タイマ機能のとき , タイマ動作を停止 (Tn0CR1/Tn1CR1:STA = 0) すると , このビットは最後の値を保持します。 PWMタイマ機能(周期可変モード)が選択された状態で,タイマ動作を停止(Tn0CR1/Tn1CR1:STA = 0) すると , このビットは最後の値を保持します。 タイマ動作モード選択ビット (Tn0CR0/Tn1CR0:F[3:0]) をタイマ動作停止中に変更したとき , この ビットは , 過去に同じタイマ動作を行ったことがある場合にはそのタイマ動作の最後の値を示し , そうでない場合には初期値 "0" となります。 [bit6] TO0: タイマ n0 出力ビット このビットはタイマ n0 の出力値を示します。タイマ動作を開始 (Tn0CR1/Tn1CR1:STA = 1) すると , 選択したタイマ機能に応じてこのビット値は変化します。 このビットに値を書き込んでも動作に影響はありません。 インプットキャプチャ機能のとき , このビットの値は不定になります。 インターバルタイマ機能または PWC タイマ機能のとき , タイマ動作を停止 (Tn0CR1/Tn1CR1:STA = 0) すると , このビットは最後の値を保持します。 PWM タイマ機能 ( 周期可変モード ) のとき , タイマ動作を停止 (Tn0CR1/Tn1CR1:STA = 0) すると , このビットは最後の値を保持します。 タイマ動作モード選択ビット (Tn0CR0/Tn1CR0:F[3:0]) をタイマ動作停止中に変更したとき , この ビットは , 過去に同じタイマ動作を行ったことがある場合にはそのタイマ動作の最後の値を示し , そうでない場合には初期値 "0" となります。 188 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 12 章 8/16 ビット複合タイマ 12.14 レジスタ MB95850K/860K/870K シリーズ [bit5] TIS: タイマ n0 内部信号選択ビット このビットは , PWC タイマ機能またはインプットキャプチャ機能が選択されているときに , タイマ n0 の信号入力を選択します。 説明 bit5 "0" を書き込んだ場合 外部信号 (ECn) をタイマ n0 の信号入力として選択します。 "1" を書き込んだ場合 設定禁止 [bit4] MOD: 8 ビット /16 ビット動作モード選択ビット このビットは 8 ビットまたは 16 ビット動作モードを選択します。 このビットに"0"を書き込んだ場合,タイマn0とタイマn1は個別の8ビットタイマとして動作します。 このビットに "1" を書き込んだ場合 , タイマ n0 とタイマ n1 は一つの 16 ビットタイマとして動作し ます。 このビットが "1" の状態で , PWM タイマ機能 ( 周期可変モード ) のタイマ動作を開始 (Tn0CR1/ Tn1CR1:STA = 1) すると , このビットは自動的に "0" になります。 タイマ動作中 (Tn0CR1/Tn1CR1:STA = 1) に , このビットへの書込みアクセスは無効です。 説明 bit4 "0" を書き込んだ場合 8 ビット動作モードを選択します。 "1" を書き込んだ場合 16 ビット動作モードを選択します。 [bit3:2] FE1[1:0]: タイマ n1 フィルタ機能選択ビット これらのビットは , PWC タイマ機能またはインプットキャプチャ機能が選択されているとき , タイ マ n1 への外部信号 (ECn) に対するフィルタ機能を選択します。 タイマ動作中 (Tn1CR1:STA = 1), このビットへの書込みアクセスは無効です。 インターバルタイマ機能または PWM タイマ機能が選択されているときには , これらのビットを設 定しても動作に影響しません ( フィルタ機能は動作しません )。 説明 bit3:2 "00" を書き込んだ場合 フィルタなし "01" を書き込んだ場合 "H" パルスノイズ除去 "10" を書き込んだ場合 "L" パルスノイズ除去 "11" を書き込んだ場合 "H" と "L" パルスノイズ除去 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 189 第 12 章 8/16 ビット複合タイマ 12.14 レジスタ MB95850K/860K/870K シリーズ [bit1:0] FE0[1:0]: タイマ n0 フィルタ機能選択ビット これらのビットは , PWC タイマ機能またはインプットキャプチャ機能が選択されているとき , タイ マ n0 への外部信号 (ECn) に対するフィルタ機能を選択します。 タイマ動作中 (Tn0CR1:STA = 1), このビットへの書込みアクセスは無効です。 インターバルタイマ機能または PWM タイマ機能が選択されているときには , これらのビットを設 定しても動作に影響しません ( フィルタ機能は動作しません )。 説明 bit1:0 "00" を書き込んだ場合 フィルタなし "01" を書き込んだ場合 "H" パルスノイズ除去 "10" を書き込んだ場合 "L" パルスノイズ除去 "11" を書き込んだ場合 "H" と "L" パルスノイズ除去 190 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 12 章 8/16 ビット複合タイマ 12.14 レジスタ MB95850K/860K/870K シリーズ 12.14.4 8/16 ビット複合タイマデータレジスタ (Tn0DR/ Tn1DR) 8/16 ビット複合タイマデータレジスタ (Tn0DR/Tn1DR) は , インターバルタイマ動作 または PWM タイマ動作時にカウント最大値を設定するレジスタです。また , PWC タ イマ動作またはインプットキャプチャ動作時のカウント値の読出しを行います。 Tn0DR レジスタはタイマ n0 に , Tn1DR レジスタはタイマ n1 に対応します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field TDR7 TDR6 TDR5 TDR4 TDR3 TDR2 TDR1 TDR0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ● インターバルタイマ機能 8/16 ビット複合タイマデータレジスタ (Tn0DR/Tn1DR) を使用してインターバル時間を 設定します。タイマが動作を開始 (Tn0CR1/Tn1CR1:STA = 1) すると , このレジスタの 値は 8 ビットコンパレータのラッチに転送され , カウントが開始されます。カウント値 と8ビットコンパレータのラッチの中にある値とが一致すると, このレジスタの値は再 びラッチに転送され , カウント値が "0x00" に戻ってカウントを継続します。 現在のカウント値は , このレジスタから読み出せます。 インターバルタイマ機能を使用するとき , このレジスタに "0x00" を書き込むことは禁 止されます。 16 ビット動作のときは , データの上位を Tn1DR, 下位を Tn0DR に書き込んでください。 また , 書込みまたは読出しは Tn1DR, Tn0DR の順番で行ってください。 ● PWM タイマ機能 ( 周期固定 ) 8/16 ビット複合タイマデータレジスタ (Tn0DR/Tn1DR) を使用して "H" パルス幅時間を 設定します。タイマが動作を開始 (Tn0CR1/Tn1CR1:STA = 1) すると , このレジスタの値 は 8 ビットコンパレータのラッチに転送され , タイマ出力 "H" からカウントが開始さ れます。 カウント値とラッチに転送された値が一致すると , タイマ出力は "L" になり , カウント値が "0xFF" に達するまでカウント動作を継続します。オーバフローが発生す ると , このレジスタの値は再び 8 ビットコンパレータのラッチに転送され , 次のカウント サイクルを実行します。 このレジスタから , 現在の値を読み出せます。16 ビット動作のときは , データの上位を Tn1DR, 下位を Tn0DR に書き込んでください。また , 書込みまたは読出しは Tn1DR, Tn0DR の順番で行ってください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 191 第 12 章 8/16 ビット複合タイマ 12.14 レジスタ MB95850K/860K/870K シリーズ ● PWM タイマ機能 ( 周期可変 ) 8/16 ビット複合タイマ n0 データレジスタ (Tn0DR) で , "L" パルス幅時間を , 8/16 ビッ ト複合タイマ n1 データレジスタ (Tn1DR) で , 周期を設定します。タイマが動作を開始 (Tn0CR1/Tn1CR1:STA = 1) すると , それぞれのレジスタの値は 8 ビットコンパレータの ラッチに転送され , 2 つのカウンタがタイマ出力 "L" からカウントを開始します。ラッ チに転送された Tn0DR の値がタイマ n0 カウンタの値と一致すると , タイマ出力は "H" になり , ラッチに転送された Tn1DR の値がタイマ n1 カウンタの値と一致するまでカウ ント動作を継続します。8 ビットコンパレータのラッチに転送された Tn1DR の値がタ イマ n1 カウンタの値と一致すると , Tn0DR および Tn1DR レジスタの値は再びラッチ に転送され , 次の PWM 周期のカウント動作を継続します。 このレジスタから , 現在のカウント値を読み出せます。 16 ビット動作モードのときは , データの上位を Tn1DR, 下位を Tn0DR に書き込んでく ださい。また , 読出しは Tn1DR, Tn0DR の順番で行ってください。 ● PWC タイマ機能 8/16 ビット複合タイマデータレジスタ (Tn0DR/Tn1DR) を使用して , PWC 測定結果を読 み出します。PWC 測定が完了するとカウンタ値がこのレジスタに転送されて BF ビッ トが "1" になります。 8/16 ビット複合タイマデータレジスタを読むと , BF ビットは "0" になります。BF ビッ トが"1"のとき, 8/16ビット複合タイマデータレジスタへのデータ転送は行われません。 例外として , Tn0CR0/Tn1CR0 レジスタにおける F[3:0] ビットが "0b1001" に設定されて いる状態のとき , BF ビットが "1" に設定されていても , "H" パルスの測定結果は 8/16 ビット複合タイマデータレジスタに転送されますが , 周期の測定結果は 8/16 ビット複 合タイマデータレジスタに転送されません。したがって , 周期測定を行うためには周期 が完了する前に "H" パルス測定の結果を読み出してください。また , "H" パルス測定結 果または周期測定結果は次の "H" パルスが終了する前に読み出さないと喪失されます。 8/16 ビット複合タイマデータレジスタを読み込んでいるときに , BF ビットを誤ってク リアしないように注意してください。 8/16 ビット複合タイマデータレジスタに新たなデータを書き込むと , 格納された測定 データが新たなデータと入れ替わります。したがって , データをレジスタに書き込まな いでください。16 ビット動作モードのときは , データの上位を Tn1DR, 下位を Tn0DR に書き込んでください。また , 読出しは Tn1DR, Tn0DR の順番で行ってください。 ● インプットキャプチャ機能 8/16 ビット複合タイマデータレジスタ (Tn0DR/Tn1DR) は , インプットキャプチャ結果 の読出しに使用します。指定されたエッジが検出されると , カウンタ値が 8/16 ビット 複合タイマデータレジスタに転送されます。 8/16 ビット複合タイマデータレジスタに新たなデータを書き込むと , 格納された測定 データが新たなデータと入れ替わります。したがって , データをレジスタに書き込まな いでください。16 ビット動作モードのときは , データの上位を Tn1DR, 下位を Tn0DR に書き込んでください。また , 読出しは Tn1DR, Tn0DR の順番で行ってください。 192 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 12 章 8/16 ビット複合タイマ 12.14 レジスタ MB95850K/860K/870K シリーズ ● 読出し , 書込み動作について Tn0DR と Tn1DR の 16 ビット動作時および PWM タイマ機能 ( 周期可変 ) 時の読出し , 書込み動作は以下のように行われます。 • Tn1DR からの読出し : 同レジスタの読出し動作に加えて , Tn0DR の値を内部の読 出しバッファへ格納する動作も同時に行われます。 • Tn0DR からの読出し : 内部の読出しバッファからの読出し動作が行われます。 • Tn1DR への書込み : 内部の書込みバッファへの書込み動作が行われます。 • Tn0DR への書込み : 同レジスタの書込み動作に加え , 内部の書込みバッファの 値を Tn1DR へ格納する動作も同時に行われます。 図 12.14-1 に , Tn0DR と Tn1DR レジスタの 16 ビット動作における読み書き動作を示し ます。 図 12.14-1 Tn0DR と Tn1DR レジスタの 16 ビット動作におけるリードおよびライト動作 読出し バッファ Tn0DR レジスタ 書込み データ 書込み バッファ Tn1DR 書込み MN702-00010-2v0-J 読出し データ Tn1DR レジスタ Tn0DR 書込み Tn1DR 読出し FUJITSU SEMICONDUCTOR LIMITED Tn0DR 読出し 193 第 12 章 8/16 ビット複合タイマ 12.15 使用上の注意 12.15 MB95850K/860K/870K シリーズ 使用上の注意 8/16 ビット複合タイマ使用上の注意を示します。 ■ 8/16 ビット複合タイマの使用上の注意 • タイマ動作モード選択ビット (Tn0CR0/Tn1CR0:F[3:0]) によりタイマ機能を変更する 場合は , あらかじめタイマ動作を停止 (Tn0CR1/Tn1CR1:STA = 0) してから , 割込み フラグ (Tn0CR1/Tn1CR1:IF, IR), 割込み許可ビット (Tn0CR1/Tn1CR1:IE, Tn0CR0/ Tn1CR0:IFE) およびバッファフルフラグ (Tn0CR1/Tn1CR1:BF) をクリアしてくださ い。 • インプットキャプチャ機能を使用しているとき , "H" レベル外部信号を入力中に , 外 部入力信号の両エッジ検出が8/16ビット複合タイマがカウンタ値をキャプチャする タイミングとして選択される場合 (Tn0CR0/Tn1CR0:F[3:0] = 0b1100 または 0b1111), 最初の立下りエッジは無視されます。また , カウンタ値のデータレジスタ (Tn0DR/ Tn1DR) への転送は行われず , パルス幅測定完了 / エッジ検出フラグ (Tn0CR1/ Tn1CR1:IR) はセットされません。 - カウンタクリアモードでは最初の立下りエッジでカウンタはクリアされず , デー タレジスタへのデータの転送は行われません。8/16 ビット複合タイマは次の立上 りエッジよりキャプチャ動作を開始します。 - カウンタフリーランモードでは最初の立下りエッジでデータレジスタへのデー タ転送は行われません。8/16 ビット複合タイマは次の立上りエッジよりキャプ チャ動作を開始します。 194 • PWM 周期可変モードの 8 ビット動作 (TMCRn:MOD = 0) において , カウンタ動作中 に 8/16 ビット複合タイマデータレジスタ (Tn0DR と Tn1DR) を変更する場合 , Tn1DR レジスタを変更した後に , Tn0DR レジスタを変更してください。 • マイコンがストップモードまたは時計モードに移行すると , カウンタは値を保持し て動作を停止します。ストップモードまたは時計モードが割込みによって解除され ると , カウンタは保持した値から動作を再開します ( 図 12.15-1 と図 12.15-2 を参照 してください )。このため , 初回のインターバル時間や初期外部クロックのカウント 数は正しい値ではありません。マイコンがストップモードまたは時計モードから解 除された後には , 必ずカウンタ値を初期化してください。 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 12 章 8/16 ビット複合タイマ 12.15 使用上の注意 MB95850K/860K/870K シリーズ 図 12.15-1 スタンバイモードまたは一時停止時のカウンタの動作 (PWM タイマ機能以外 ) Tn0DR/Tn1DRデータレジスタ値 (0xFF) カウンタ値 0xFF 0x80 0x00 タイマサイクル 時間 要求終了 HO要求 HO要求終了 発振安定待ち遅延時間 ストップモード(不確定)からの 起動後のインターバル時間 IFビット プログラムに よるクリア 動作停止 STAビット 動作再開 動作再起動 HOビット IEビット スリープモード SLPビット (STBCレジスタ) 外部割込みによるストップモードからの復帰 割込みによるスリープモードからの復帰 STPビット (STBCレジスタ) ストップモード 図 12.15-2 スタンバイモードおよび一時停止時のカウンタの動作 (PWM タイマ機能のとき ) カウンタ値 0xFF (0xFF) 0x00 時間 発振安定待ち遅延時間 Tn0DR/Tn1DR値 (0xFF) STA ビット * PWMタイマ出力端子 スリープモード SLP ビット (STBC レジスタ) 停止前のレベルを維持 一時停止前のレベルを維持 外部割込みによるストップモードからの復帰 割込みによるスリープモードからの復帰 STP ビット (STBC レジスタ) HO ビット *: PWMタイマ出力はストップモードへの移行前の値を保持します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 195 第 12 章 8/16 ビット複合タイマ 12.15 使用上の注意 196 MB95850K/860K/870K シリーズ FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 13 章 外部割込み回路 外部割込み回路の機能と動作について説明します。 13.1 概要 13.2 構成 13.3 チャネル 13.4 端子 13.5 割込み 13.6 動作説明と設定手順例 13.7 レジスタ 13.8 使用上の注意 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 197 第 13 章 外部割込み回路 13.1 概要 13.1 MB95850K/860K/870K シリーズ 概要 外部割込み回路は , 外部割込み端子に入力された信号のエッジを検出し , 割込みコン トローラへ割込み要求を出力します。 ■ 外部割込み回路の機能 外部割込み回路は , 外部割込み端子に入力された信号の任意のエッジを検出し , 割込み コントローラに対して割込み要求を発生します。この割込み要求によって , デバイスを スタンバイモードから復帰させ , 通常の動作状態に戻せます。そのため , デバイスの動 作モードは , 外部割込み端子に信号が入力されたときに変更可能となります。 198 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 13 章 外部割込み回路 13.2 構成 MB95850K/860K/870K シリーズ 13.2 構成 外部割込み回路は , 以下のブロックで構成されます。 • エッジ検出回路 • 外部割込み制御レジスタ ■ 外部割込み回路のブロックダイヤグラム 図 13.2-1 に , 外部割込み回路のブロックダイヤグラムを示します。 図 13.2-1 外部割込み回路のブロックダイヤグラム 端子 INTn エッジ検出回路1 01 10 01 外部割込み制御 レジスタ(EIC) EIR1 SL11 SL10 11 EIE1 EIR0 SL01 SL00 EIE0 内部データバス 11 セレクタ 端子 INTn+1 セレクタ 10 エッジ検出回路0 IRQXX IRQXX (注意事項) 端子名および割込み要求番号は品種によって異なります。詳細は, デバイスのデータシートの「■ 端子機能説明」と「■ 割込み要因 のテーブル」を参照してください。 ● エッジ検出回路 外部割込み回路端子 (INT) への信号入力時に検出されたエッジの極性が , 割込み制御レ ジスタ (EIC) で選択されているエッジの極性と一致すると , 対応する外部割込み要求フ ラグビット (EIR) は "1" に設定されます。 ● 外部割込み制御レジスタ (EIC) このレジスタは , エッジの選択 , 割込み要求の許可または禁止 , 割込み要求の確認など を行うために使用します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 199 第 13 章 外部割込み回路 13.3 チャネル 13.3 MB95850K/860K/870K シリーズ チャネル 外部割込み回路のチャネルについて説明します。 ■ 外部割込み回路のチャネル 表 13.3-1 に , 外部割込み回路の端子とそれに対応するレジスタを示します。 表 13.3-1 外部割込み回路の端子およびレジスタ 端子名 端子機能 INTn 外部割込み入力 ch. n INTn+1 外部割込み入力 ch. n+1 INTn+2 外部割込み入力 ch. n+2 INTn+3 外部割込み入力 ch. n+3 対応するレジスタ 外部割込み制御レジスタ (EIC) 外部割込み回路のチャネル数は品種によって異なります。各品種のチャネル数につい て , デバイスのデータシートを参照してください。 200 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 13.4 端子 第 13 章 外部割込み回路 13.4 端子 外部割込み回路の端子について説明します。 ■ 外部割込み回路の端子 ● INT 端子 この端子は , 外部割込み入力端子および汎用 I/O ポートとして機能します。 INT 端子は , ポート方向レジスタ (DDR) によって対応する端子を入力ポートに設定し , 外部割込み制御レジスタ (EIC) によって対応する外部割込み入力を許可すると , 外部割 込み入力端子 (INT) として機能します。 端子が入力ポートとして設定されている場合 , その端子の状態は , 常にポートデータレ ジスタ (PDR) から読み出せます。PDR の値はリードモディファイライト (RMW) 系命令 で読み出せます。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 201 第 13 章 外部割込み回路 13.5 割込み 13.5 MB95850K/860K/870K シリーズ 割込み 外部割込み回路の割込み要因としては , 外部割込み端子に入力された信号の指定エッ ジの検出があります。 ■ 外部割込み回路の動作中の割込み 外部割込み入力の指定されたエッジが検出された場合 , 対応する外部割込み要求フラ グビット (EIC:EIR0 または EIR1) が "1" に設定されます。このとき , その外部割込み要 求フラグビットに対応する割込み要求許可ビット (EIC:EIE0 または EIE1 = 1) が許可さ れていれば , 割込みコントローラへの割込み要求が発生します。割込みサービスルーチ ンでは , 発生した割込み要求に対応する外部割込み要求フラグビットに "0" を書き込ん で割込み要求をクリアしてください。 202 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 13 章 外部割込み回路 13.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ 13.6 動作説明と設定手順例 外部割込み回路の動作について説明します。 ■ 外部割込み回路の動作 外部割込み端子 (INTn, INTn+1) より入力された信号のエッジの極性が , 外部割込み制 御レジスタ (EIC:SL0[1:0] または SL1[1:0]) により選択されているエッジの極性と一致 した場合は , 対応する外部割込み要求フラグビット (EIC:EIR0 または EIR1) が "1" とな り , 割込み要求が発生します。 デバイスのスタンバイモードからの復帰に外部割込みを使用しない場合は , 必ず割込 み要求許可ビットを "0" に設定してください。 エッジ極性選択ビット (SL0[1:0] または SL1[1:0]) を設定する際には , 誤って割込み要求 が発生することがないように , 割込み要求許可ビット (EIE0 または EIE1) を "0" に設定 してください。 また , エッジ極性を変更した後には , 割込み要求フラグビット (EIR0 ま たは EIR1) を "0" にクリアしてください。 図 13.6-1 に , INTn 端子を外部割込み入力に設定した際の動作を示します。 図 13.6-1 外部割込みの動作 INTn端子への 入力波形 プログラムにより 割込み要求ビットクリア EIR0ビット EIE0ビット SL01ビット SL00ビット IRQ エッジ検出なし MN702-00010-2v0-J 立上りエッジ 立下りエッジ FUJITSU SEMICONDUCTOR LIMITED 両エッジ 203 第 13 章 外部割込み回路 13.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ ■ 設定手順例 以下に , 外部割込み回路の設定手順例を示します。 ● 初期設定 1. 割込みレベルを設定してください (ILR*)。 2. エッジ極性を選択してください (EIC:SL0[1:0])。 3. 割込み要求を許可してください (EIC:EIE0 = 1)。 *: 割込みレベル設定レジスタ (ILR) の詳細について , 本ハードウェアマニュアルの「第 5 章 割 込み」とデバイスのデータシートの「■ 割込み要因のテーブル」を参照してください。 ● 割込み処理 1. 割込み要求フラグをクリアしてください (EIC:EIR0 = 0)。 2. 割込み処理を行ってください。 <注意事項> 外部割込み入力ポートは , 汎用 I/O ポートと同一の端子を共用しています。したがって , この端子を外部割込み入力ポートとして使用する場合は , その端子に対応するポート方向 レジスタ (DDR) 内のビットを "0"( 入力 ) に設定してください。 204 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 13.7 レジスタ 第 13 章 外部割込み回路 13.7 レジスタ 外部割込み回路のレジスタについて説明します。 表 13.7-1 外部割込み回路のレジスタ一覧 レジスタ略称 EIC MN702-00010-2v0-J レジスタ名 外部割込み制御レジスタ FUJITSU SEMICONDUCTOR LIMITED 参照先 13.7.1 205 第 13 章 外部割込み回路 13.7 レジスタ 13.7.1 MB95850K/860K/870K シリーズ 外部割込み制御レジスタ (EIC) 外部割込み制御レジスタ (EIC) は , 外部割込み入力に対するエッジ極性の選択と , 割 込みを制御します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field EIR1 SL11 SL10 EIE1 EIR0 SL01 SL00 EIE0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7] EIR1: 外部割込み要求フラグビット 1 エッジ極性選択ビット 1 (SL1[1:0]) により選択されているエッジが外部割込み端子 INTn+1 に入力さ れた場合に , このフラグビットは "1" となります。 このビットと割込み要求許可ビット 1 (EIE1) が "1" になったとき , 割込み要求が出力されます。 このビットに "0" を書き込むと , このビットはクリアされます。"1" を書き込んでも動作に影響はあ りません。 リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。 説明 bit7 "0" が読み出された場合 選択されたエッジが入力されていないことを示します。 "1" が読み出された場合 選択されたエッジが入力されたことを示します。 "0" を書き込んだ場合 このビットをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 [bit6:5] SL1[1:0]: エッジ極性選択ビット 1 これらのビットは外部割込み端子 INTn+1 に入力されるパルスのエッジ極性を選択します。 選択されたエッジが割込み要因となります。 これらのビットが "0b00" のとき , エッジ検出は実行されず , 割込み要求は発生しません。 これらのビットが "0b01" のとき , 立上りエッジが検出されます。"0b10" の場合には , 立下りエッジ が検出されます。"0b11" の場合には , 両方のエッジが検出されます。 説明 bit6:5 "00" を書き込んだ場合 エッジ検出なし "01" を書き込んだ場合 立上りエッジ "10" を書き込んだ場合 立下りエッジ "11" を書き込んだ場合 両エッジ 206 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 13 章 外部割込み回路 13.7 レジスタ MB95850K/860K/870K シリーズ [bit4] EIE1: 割込み要求許可ビット 1 このビットは , 割込みコントローラへの割込み要求の出力を許可または禁止します。このビットと 外部割込み要求フラグビット 1 (EIR1) が "1" のとき , 割込み要求が出力されます。 外部割込み端子を使用するには , ポート方向レジスタ (DDR) の対応するビットに "0" を書き込み , その端子を入力ポートとして設定してください。 外部割込み端子の状態は , 割込み要求許可ビットの状態にかかわらず , ポートデータレジスタから 直接読み出せます。 説明 bit4 "0" を書き込んだ場合 割込み要求出力を禁止します。 "1" を書き込んだ場合 割込み要求出力を許可します。 [bit3] EIR0: 外部割込み要求フラグビット 0 エッジ極性選択ビット 0 (SL0[1:0]) により選択されているエッジが外部割込み端子 INTn に入力され た場合に , このフラグビットは "1" となります。 このビットと割込み要求許可ビット 0 (EIE0) が "1" になったとき , 割込み要求が出力されます。 このビットに "0" を書き込むと , このビットはクリアされます。"1" を書き込んでも動作に影響はあ りません。 リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。 説明 bit3 "0" が読み出された場合 選択されたエッジが入力されていないことを示します。 "1" が読み出された場合 選択されたエッジが入力されたことを示します。 "0" を書き込んだ場合 このビットをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 [bit2:1] SL0[1:0]: エッジ極性選択ビット 0 これらのビットは外部割込み端子 INTn に入力されるパルスのエッジ極性を選択します。 選択されたエッジが割込み要因となります。 これらのビットが "0b00" のとき , エッジ検出は実行されず , 割込み要求は発生しません。 これらのビットが "0b01" のとき , 立上りエッジが検出されます。"0b10" の場合には , 立下りエッジ が検出されます。"0b11" の場合には , 両方のエッジが検出されます。 説明 bit2:1 "00" を書き込んだ場合 エッジ検出なし "01" を書き込んだ場合 立上りエッジ "10" を書き込んだ場合 立下りエッジ "11" を書き込んだ場合 両エッジ MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 207 第 13 章 外部割込み回路 13.7 レジスタ MB95850K/860K/870K シリーズ [bit0] EIE0: 割込み要求許可ビット 0 このビットは , 割込みコントローラへの割込み要求の出力を許可または禁止します。このビットと 外部割込み要求フラグビット 0 (EIR0) が "1" のとき , 割込み要求が出力されます。 外部割込み端子を使用するには , ポート方向レジスタ (DDR) の対応するビットに "0" を書き込み , その端子を入力ポートとして設定してください。 外部割込み端子の状態は , 割込み要求許可ビットの状態にかかわらず , ポートデータレジスタから 直接読み出せます。 説明 bit0 "0" を書き込んだ場合 割込み要求出力を禁止します。 "1" を書き込んだ場合 割込み要求出力を許可します。 208 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 13.8 使用上の注意 第 13 章 外部割込み回路 13.8 使用上の注意 外部割込み回路使用上の注意事項を示します。 ■ 外部割込み回路使用上の注意 • エッジ極性選択ビット (SL0[1:0] または SL1[1:0]) を設定する際には , 割込み要求 許可ビット (EIE0 または EIE1) を "0"( 割込み要求を禁止する ) に設定してくださ い。また , エッジ極性を設定した後には , 外部割込み要求フラグビット (EIR0 また は EIR1) を "0" にクリアしてください。 • 外部割込み要求フラグビットが "1" で , 割込み要求許可ビットが許可となっている 場合は , デバイスを割込みサービスルーチンから復帰させることはできません。割 込みサービスルーチンでは , 必ず外部割込み要求フラグビットをクリアしてくださ い。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 209 第 13 章 外部割込み回路 13.8 使用上の注意 210 MB95850K/860K/870K シリーズ FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 14 章 割込み端子選択回路 割込み端子選択回路の機能と動作について説明し ます。 14.1 概要 14.2 構成 14.3 端子 14.4 動作 14.5 レジスタ 14.6 使用上の注意 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 211 第 14 章 割込み端子選択回路 14.1 概要 14.1 MB95850K/860K/870K シリーズ 概要 割込み端子選択回路は , 複数の周辺機能入力端子の中から割込み入力端子を選択しま す。 ■ 割込み端子選択回路 割込み端子選択回路は , 複数の周辺機能入力 (EC0, EC1, INT00, UCK0 と UI0)* の中か ら割込み入力端子を選択します。各周辺機能端子の入力信号は, 本回路によって選択さ れ , 外部割込みの INT00 (ch.0) 入力として扱われます。これにより , 各周辺機能端子の 入力信号に外部割込み端子としての機能も持たせることができます。 *: MB95850K シリーズでは , 使用可能な周辺機能入力は EC0 と INT00 です。 MB95860K シリーズでは , 使用可能な周辺機能入力は EC0, EC1 と INT00 です。 MB95870K シリーズでは , 使用可能な周辺機能入力は EC0, EC1, INT00, UCK0 と UI0 です。 212 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 14.2 構成 第 14 章 割込み端子選択回路 14.2 構成 図 14.2-1 ~図 14.2-3 に , 割込み端子選択回路のブロックダイヤグラムを示します。 ■ 割込み端子選択回路のブロックダイヤグラム 図 14.2-1 割込み端子選択回路のブロックダイヤグラム (MB95850K シリーズ ) 外部割込み回路 各周辺機能へ INT01 P14 INT01 割込み端子選択回路 選択回路 INT00 (ユニット0) 内部データバス INT00 P15 EC0 P10 WICRレジスタ MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 213 第 14 章 割込み端子選択回路 14.2 構成 MB95850K/860K/870K シリーズ 図 14.2-2 割込み端子選択回路のブロックダイヤグラム (MB95860K シリーズ ) 外部割込み回路 各周辺機能へ INT01 P14 INT01 割込み端子選択回路 選択回路 EC0 P10 INT00 (ユニット0) 内部データバス INT00 P15 EC1 P60 WICRレジスタ 214 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 14 章 割込み端子選択回路 14.2 構成 図 14.2-3 割込み端子選択回路のブロックダイヤグラム (MB95870K シリーズ ) 外部割込み回路 各周辺機能へ INT01 P01 INT01 割込み端子選択回路 選択回路 EC0 P11 EC1 P60 INT00 (ユニット0) 内部データバス INT00 P00 UI0 P13 UCK0 P15 WICRレジスタ • WICR レジスタ ( 割込み端子選択回路制御レジスタ ) このレジスタにより , 割込み回路へ出力する周辺機能入力端子と , 割込み端子を選 択します。 • 選択回路 WICR レジスタにて選択された端子からの入力を外部割込み回路 (ch. 0) の INT00 入力へ出力する回路です。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 215 第 14 章 割込み端子選択回路 14.3 端子 14.3 MB95850K/860K/870K シリーズ 端子 割込み端子選択回路の端子について説明します。 ■ 割込み端子選択回路の端子 割込み端子選択回路の周辺機能端子として , EC0, EC1, INT00, UCK0 と UI0 端子 * があ ります。これらの入力端子 (INT00 を除く ) は , 各周辺機能へも並行して接続されてお り , 本機能とともに , 同時に使用が可能です。各周辺機能と周辺機能入力端子の対応を 表 14.3-1 ~表 14.3-3 に示します。 *: MB95850K シリーズでは , 使用可能な周辺機能入力は EC0 と INT00 です。 MB95860K シリーズでは , 使用可能な周辺機能入力は EC0, EC1 と INT00 です。 MB95870K シリーズでは , 使用可能な周辺機能入力は EC0, EC1, INT00, UCK0 と UI0 です。 表 14.3-1 各周辺機能と周辺機能入力端子の対応 (MB95850K シリーズ ) 周辺機能入力端子名 周辺機能名 EC0 8/16 ビット複合タイマ ( イベント入力 ) INT00 割込み端子選択回路 表 14.3-2 各周辺機能と周辺機能入力端子の対応 (MB95860K シリーズ ) 周辺機能入力端子名 周辺機能名 EC0 8/16 ビット複合タイマ ( イベント入力 ) EC1 8/16 ビット複合タイマ ( イベント入力 ) INT00 割込み端子選択回路 表 14.3-3 各周辺機能と周辺機能入力端子の対応 (MB95870K シリーズ ) 周辺機能入力端子名 216 周辺機能名 EC0 8/16 ビット複合タイマ ( イベント入力 ) EC1 8/16 ビット複合タイマ ( イベント入力 ) INT00 割込み端子選択回路 UCK0 UART/SIO ( クロック入出力 ) UI0 UART/SIO ( データ入力 ) FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 14.4 動作 第 14 章 割込み端子選択回路 14.4 動作 割込み端子は WICR レジスタの設定により選択されます。 ■ 割込み端子選択回路の動作 WICR ( 割込み端子選択回路制御レジスタ ) の設定により , 外部割込み回路 (ch. 0) の INT00 へ入力される入力端子を選択します。EC0 端子を割込み端子として選択する場 合の , 割込み端子選択回路と外部割込み回路 (ch. 0) の設定手順を下記に示します。 1. ポート方向 (DDR) レジスタの対応するビットに "0" を書き込んで端子を入力に設 定する。 2. WICR レジスタにより EC0 端子を割込み入力端子として選択する。 - WICR レジスタへ "0x08" を書き込む。このとき , 外部割込み回路は外部割込み回 路の EIC00 レジスタの EIE0 ビットへ "0" を書き込んで割込み禁止にしておく。 3. 外部割込み回路 (ch. 0) に INT00 の動作を許可する。 - 外部割込み回路の EIC00 レジスタの SL0[1:0] ビットへ "0b00" 以外を設定し,有効 エッジを選択するとともに , EIE0 ビットへ "1" を 書き込んで割込みを許可する。 4. 以降の割込み動作は外部割込み回路と同等となる。 - リセット解除後,WICR レジスタは "0x40" に初期化され, INT00 ビットのみ割込み 端子として選択された状態になります。INT00 端子以外の端子を外部割込み端子 として使用する場合は , 本レジスタを書き換えた後に , 外部割込み回路の動作を 許可してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 217 第 14 章 割込み端子選択回路 14.5 レジスタ 14.5 MB95850K/860K/870K シリーズ レジスタ 割込み端子選択回路のレジスタについて説明します。 表 14.5-1 割込み端子選択回路のレジスタ一覧 レジスタ略称 WICR 218 レジスタ名 割込み端子選択回路制御レジスタ FUJITSU SEMICONDUCTOR LIMITED 参照先 14.5.1 MN702-00010-2v0-J 第 14 章 割込み端子選択回路 14.5 レジスタ MB95850K/860K/870K シリーズ 14.5.1 割込み端子選択回路制御レジスタ (WICR) このレジスタは周辺機能入力端子からのどの入力をどの割込み端子として割込み回 路へ出力するかを選択します。 ■ レジスタ構成 (MB95850K シリーズ ) bit 7 6 5 4 3 2 1 0 Field — INT00 予約 予約 EC0 予約 予約 予約 属性 — R/W W W R/W W W W 初期値 0 1 0 0 0 0 0 0 ■ レジスタ機能 (MB95850K シリーズ ) [bit7] 未定義ビット 読出し値は常に "0" です。このビットに値を書き込んでも動作に影響はありません。 [bit6] INT00: INT00 割込み端子選択ビット このビットは INT00 端子を割込み入力端子として選択するかどうかを設定します。 このビットに "0" が書き込まれた場合 , INT00 端子は割込み入力端子として非選択となり , 割込み端 子選択回路は INT00 端子への入力を "0" 固定として扱います。 このビットに "1" が書き込まれた場合 , INT00 端子は割込み入力端子として選択され , 本回路は INT00 端子への入力を外部割込み回路の INT00 (ch. 0) へ出力します。このとき , 外部割込み回路の INT00 (ch. 0) の動作が許可されていると , INT00 端子への入力信号により外部割込みが発生します。 説明 bit6 "0" を書き込んだ場合 INT00 は割込み入力端子として非選択となります。 "1" を書き込んだ場合 INT00 を割込み入力端子として選択します。 [bit5:4] 予約ビット これらのビットは常に "0" に設定してください。 [bit3] EC0: EC0 割込み端子選択ビット このビットは EC0 端子を割込み入力端子として選択するかどうかを設定します。 このビットに "0" が書き込まれた場合 , EC0 端子は割込み入力端子として非選択となり , 割込み端子 選択回路は EC0 端子への入力を "0" 固定として扱います。 このビットに "1" が書き込まれた場合 , EC0 端子は割込み入力端子として選択され , 本回路は EC0 端子への入力を外部割込み回路の INT00 (ch. 0) へ出力します。このとき , 外部割込み回路の INT00 (ch. 0) の動作が許可されていると , EC0 端子への入力信号により外部割込みが発生します。 説明 bit3 "0" を書き込んだ場合 EC0 は割込み入力端子として非選択となります。 "1" を書き込んだ場合 EC0 を割込み入力端子として選択します。 [bit2:0] 予約ビット これらのビットは常に "0" に設定してください。 デバイスの スタンバイモードで , 本レジスタの ( 未定義ビット以外の ) いずれかのビッ トが "1" に設定されており , かつ外部割込み回路の INT00 (ch.0) の動作が許可されてい る場合 , 選択された端子は入力動作の実行が許可された状態となります。端子への有効 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 219 第 14 章 割込み端子選択回路 14.5 レジスタ MB95850K/860K/870K シリーズ エッジパルス入力により,デバイス はスタンバイモードからウェイクアップします。ス タンバイモードについては「3.5 , 低消費電力モード ( スタンバイモード ) の動作」を参照 してください。 220 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 14 章 割込み端子選択回路 14.5 レジスタ MB95850K/860K/870K シリーズ ■ レジスタ構成 (MB95860K シリーズ ) bit 7 6 5 4 3 2 1 0 Field — INT00 予約 予約 EC0 予約 予約 EC1 属性 — R/W W W R/W W W R/W 初期値 0 1 0 0 0 0 0 0 ■ レジスタ機能 (MB95860K シリーズ ) [bit7] 未定義ビット 読出し値は常に "0" です。このビットに値を書き込んでも動作に影響はありません。 [bit6] INT00: INT00 割込み端子選択ビット このビットは INT00 端子を割込み入力端子として選択するかどうかを設定します。 このビットに "0" が書き込まれた場合 , INT00 端子は割込み入力端子として非選択となり , 割込み端 子選択回路は INT00 端子への入力を "0" 固定として扱います。 このビットに "1" が書き込まれた場合 , INT00 端子は割込み入力端子として選択され , 本回路は INT00 端子への入力を外部割込み回路の INT00 (ch. 0) へ出力します。このとき , 外部割込み回路の INT00 (ch. 0) の動作が許可されていると , INT00 端子への入力信号により外部割込みが発生します。 説明 bit6 "0" を書き込んだ場合 INT00 は割込み入力端子として非選択となります。 "1" を書き込んだ場合 INT00 を割込み入力端子として選択します。 [bit5:4] 予約ビット これらのビットは常に "0" に設定してください。 [bit3] EC0: EC0 割込み端子選択ビット このビットは EC0 端子を割込み入力端子として選択するかどうかを設定します。 このビットに "0" が書き込まれた場合 , EC0 端子は割込み入力端子として非選択となり , 割込み端子 選択回路は EC0 端子への入力を "0" 固定として扱います。 このビットに "1" が書き込まれた場合 , EC0 端子は割込み入力端子として選択され , 本回路は EC0 端子への入力を外部割込み回路の INT00 (ch. 0) へ出力します。このとき , 外部割込み回路の INT00 (ch. 0) の動作が許可されていると , EC0 端子への入力信号により外部割込みが発生します。 説明 bit3 "0" を書き込んだ場合 EC0 は割込み入力端子として非選択となります。 "1" を書き込んだ場合 EC0 を割込み入力端子として選択します。 [bit2:1] 予約ビット これらのビットは常に "0" に設定してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 221 第 14 章 割込み端子選択回路 14.5 レジスタ MB95850K/860K/870K シリーズ [bit0] EC1: EC1 割込み端子選択ビット このビットは EC1 端子を割込み入力端子として選択するかどうかを設定します。 このビットに "0" が書き込まれた場合 , EC1 端子は割込み入力端子として非選択となり , 割込み端子 選択回路は EC1 端子への入力を "0" 固定として扱います。 このビットに "1" が書き込まれた場合 , EC1 端子は割込み入力端子として選択され , 本回路は EC1 端子への入力を外部割込み回路の INT00 (ch. 0) へ出力します。このとき , 外部割込み回路の INT00 (ch. 0) の動作が許可されていると , EC1 端子への入力信号により外部割込みが発生します。 説明 bit0 "0" を書き込んだ場合 EC1 は割込み入力端子として非選択となります。 "1" を書き込んだ場合 EC1 を割込み入力端子として選択します。 デバイスの スタンバイモードで , 本レジスタの ( 未定義ビット以外の ) いずれかのビッ トが "1" に設定されており , かつ外部割込み回路の INT00 (ch.0) の動作が許可されてい る場合 , 選択された端子は入力動作の実行が許可された状態となります。端子への有効 エッジパルス入力により,デバイス はスタンバイモードからウェイクアップします。ス タンバイモードについては「3.5 , 低消費電力モード ( スタンバイモード ) の動作」を参照 してください。 222 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 14 章 割込み端子選択回路 14.5 レジスタ MB95850K/860K/870K シリーズ ■ レジスタ構成 (MB95870K シリーズ ) bit 7 6 5 4 3 2 1 0 Field — INT00 予約 予約 属性 — R/W W W EC0 UI0 UCK0 EC1 R/W R/W R/W R/W 初期値 0 1 0 0 0 0 0 0 ■ レジスタ機能 (MB95870K シリーズ ) [bit7] 未定義ビット 読出し値は常に "0" です。このビットに値を書き込んでも動作に影響はありません。 [bit6] INT00: INT00 割込み端子選択ビット このビットは INT00 端子を割込み入力端子として選択するかどうかを設定します。 このビットに "0" が書き込まれた場合 , INT00 端子は割込み入力端子として非選択となり , 割込み端 子選択回路は INT00 端子への入力を "0" 固定として扱います。 このビットに "1" が書き込まれた場合 , INT00 端子は割込み入力端子として選択され , 本回路は INT00 端子への入力を外部割込み回路の INT00 (ch. 0) へ出力します。このとき , 外部割込み回路の INT00 (ch. 0) の動作が許可されていると , INT00 端子への入力信号により外部割込みが発生します。 説明 bit6 "0" を書き込んだ場合 INT00 は割込み入力端子として非選択となります。 "1" を書き込んだ場合 INT00 を割込み入力端子として選択します。 [bit5:4] 予約ビット これらのビットは常に "0" に設定してください。 [bit3] EC0: EC0 割込み端子選択ビット このビットは EC0 端子を割込み入力端子として選択するかどうかを設定します。 このビットに "0" が書き込まれた場合 , EC0 端子は割込み入力端子として非選択となり , 割込み端子 選択回路は EC0 端子への入力を "0" 固定として扱います。 このビットに "1" が書き込まれた場合 , EC0 端子は割込み入力端子として選択され , 本回路は EC0 端子への入力を外部割込み回路の INT00 (ch. 0) へ出力します。このとき , 外部割込み回路の INT00 (ch. 0) の動作が許可されていると , EC0 端子への入力信号により外部割込みが発生します。 bit3 説明 "0" を書き込んだ場合 EC0 は割込み入力端子として非選択となります。 "1" を書き込んだ場合 EC0 を割込み入力端子として選択します。 [bit2] UI0: UI0 割込み端子選択ビット このビットは UI0 端子を割込み入力端子として選択するかどうかを設定します。 このビットに "0" が書き込まれた場合 , UI0 端子は割込み入力端子として非選択となり , 割込み端子 選択回路は UI0 端子への入力を "0" 固定として扱います。 このビットに "1" が書き込まれた場合 , UI0 端子は割込み入力端子として選択され , 本回路は UI0 端 子への入力を外部割込み回路の INT00 (ch. 0) へ出力します。このとき , 外部割込み回路の INT00 (ch. 0) の動作が許可されていると , UI0 端子への入力信号により外部割込みが発生します。 bit2 説明 "0" を書き込んだ場合 UI0 は割込み入力端子として非選択となります。 "1" を書き込んだ場合 UI0 を割込み入力端子として選択します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 223 第 14 章 割込み端子選択回路 14.5 レジスタ MB95850K/860K/870K シリーズ [bit1] UCK0: UCK0 割込み端子選択ビット このビットは UCK0 端子を割込み入力端子として選択するかどうかを設定します。 このビットに "0" が書き込まれた場合 , UCK0 端子は割込み入力端子として非選択となり , 割込み端 子選択回路は UCK0 端子への入力を "0" 固定として扱います。 このビットに"1"が書き込まれた場合, UCK0端子は割込み入力端子として選択され, 本回路は UCK0 端子への入力を外部割込み回路の INT00 (ch. 0) へ出力します。このとき , 外部割込み回路の INT00 (ch. 0) の動作が許可されていると , UCK0 端子への入力信号により外部割込みが発生します。 説明 bit1 "0" を書き込んだ場合 UCK0 は割込み入力端子として非選択となります。 "1" を書き込んだ場合 UCK0 を割込み入力端子として選択します。 [bit0] EC1: EC1 割込み端子選択ビット このビットは EC1 端子を割込み入力端子として選択するかどうかを設定します。 このビットに "0" が書き込まれた場合 , EC1 端子は割込み入力端子として非選択となり , 割込み端子 選択回路は EC1 端子への入力を "0" 固定として扱います。 このビットに "1" が書き込まれた場合 , EC1 端子は割込み入力端子として選択され , 本回路は EC1 端子への入力を外部割込み回路の INT00 (ch. 0) へ出力します。このとき , 外部割込み回路の INT00 (ch. 0) の動作が許可されていると , EC1 端子への入力信号により外部割込みが発生します。 説明 bit0 "0" を書き込んだ場合 EC1 は割込み入力端子として非選択となります。 "1" を書き込んだ場合 EC1 を割込み入力端子として選択します。 デバイスの スタンバイモードで , 本レジスタの ( 未定義ビット以外の ) いずれかのビッ トが "1" に設定されており , かつ外部割込み回路の INT00 (ch.0) の動作が許可されてい る場合 , 選択された端子は入力動作の実行が許可された状態となります。端子への有効 エッジパルス入力により,デバイス はスタンバイモードからウェイクアップします。ス タンバイモードについては「3.5 , 低消費電力モード ( スタンバイモード ) の動作」を参照 してください。 <注意事項> 外部割込み回路の INT00 (ch. 0) が動作許可されていない場合 ,これらのビットに "1" を書 き込んでも , 各周辺機能端子の入力信号で外部割込みは発生しません。 外部割込み回路の INT00 (ch. 0) が動作許可されている場合,これらのビットを書き換えな いでください。もし書き換えた場合 , 該当端子の入力レベルによっては , 外部割込み回路 が有効エッジを検出してしまうことがあります。 WICR レジスタにより複数の割込み端子を同時に選択し , かつ外部割込み回路の INT00 (ch. 0) の動作が許可 ( 外部割込み回路の EIC レジスタの SL0[1:0] ビットに "0b00" 以外を 書き込む ) されている場合 , 選択された端子はスタンバイモード時においても , 割込み受 付けのために入力許可状態となります。 224 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 14.6 使用上の注意 第 14 章 割込み端子選択回路 14.6 使用上の注意 割込み端子選択回路使用上の注意を示します。 • WICR レジスタにより , 複数の割込み端子を同時に選択し , かつ外部割込み回路の INT00 (ch. 0) の動作が許可されている ( 外部割込み回路の EIC レジスタの SL0[1:0] ビットに "0b00" 以外を書き込んで , 有効エッジを選択するとともに , EIE0 ビットに "1" を書き込んで割込みを許可する ) 場合 , 選択された端子はスタンバイモードにお いても , 割込み受付けのために入力許可状態となります。 • WICR レジスタにより , 複数の割込み端子を同時に選択した場合 , それらの端子へ 入力された信号のいずれかが "H" のとき , 外部割込み回路の INT00 (ch. 0) への入力 は "H" として扱われます ( 選択された端子に入力された信号の "OR" となります )。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 225 第 14 章 割込み端子選択回路 14.6 使用上の注意 226 MB95850K/860K/870K シリーズ FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 15 章 8/10 ビット A/D コンバータ 8/10 ビット A/D コンバータの機能と動作について 説明します。 15.1 概要 15.2 構成 15.3 端子 15.4 割込み 15.5 動作説明と設定手順例 15.6 レジスタ 15.7 使用上の注意 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 227 第 15 章 8/10 ビット A/D コンバータ 15.1 概要 15.1 MB95850K/860K/870K シリーズ 概要 8/10 ビット A/D コンバータは , 10 ビット逐次比較型の 8/10 ビット A/D コンバータ です。複数のアナログ入力端子から 1 つの入力信号を選択し, ソフトウェアと内部 ク ロックによって起動できます。 ■ A/D 変換機能 A/Dコンバータは, アナログ入力端子から入力されたアナログ電圧 (入力電圧) を8ビッ トまたは 10 ビットのデジタル値に変換します。 • 入力信号は , 複数のアナログ入力端子から選択できます。 • 変換速度は , プログラムで設定可能です ( 動作電圧と周波数によって選択可能 )。 • A/D 変換が完了すると割込みが発生します。 • 変換完了は , ADC1 レジスタの ADI ビットで確認できます。 A/D 変換機能を起動するには , 以下のいずれかの方法を使用します。 • ADC1 レジスタの AD ビットによる起動 • 8/16 ビット複合タイマ出力 TO00 による連続起動 228 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 15 章 8/10 ビット A/D コンバータ 15.2 構成 MB95850K/860K/870K シリーズ 15.2 構成 8/10 ビット A/D コンバータは , 以下のブロックで構成されます。 • クロックセレクタ (A/D 変換起動用入力クロックセレクタ ) • アナログチャネルセレクタ • サンプルアンドホールド回路 • 制御回路 • 8/10 ビット A/D コンバータデータレジスタ ( 上位 / 下位 ) (ADDH/ADDL) • 8/10 ビット A/D コンバータ制御レジスタ 1 (ADC1) • 8/10 ビット A/D コンバータ制御レジスタ 2 (ADC2) 品種により , 8/10 ビット A/D コンバータのアナログ入力端子数およアナログチャネル 数は異なります。 詳細は , デバイスのデータシートを参照してください。 本章において , 端子名にある "n" はアナログ入力端子番号を示します。各品種の端子名 について , デバイスのデータシートを参照してください。 ■ 8/10 ビット A/D コンバータのブロックダイヤグラム 図 15.2-1 に , 8/10 ビット A/D コンバータのブロックダイヤグラムを示します。 図 15.2-1 8/10 ビット A/D コンバータのブロックダイヤグラム 8/10ビットA/D コンバータ制御レジスタ 2 (ADC2) AD8 起動信号 セレクタ ANn アナログ チャネル セレクタ TIM0 ADCK ADIE サンプルアンド ホールド回路 EXT CKDIV1 CKDIV0 内部データバス 8/16 ビット 複合タイマ 出力端子 (TO00) TIM1 制御回路 8/10ビットA/Dコンバータデータレジスタ(上位/下位) (ADDH/ADDL) ANS3 ANS2 ANS1 ANS0 ADI ADMV 予約 AD 8/10ビットA/D コンバータ制御レジスタ 1 (ADC1) IRQ MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 229 第 15 章 8/10 ビット A/D コンバータ 15.2 構成 MB95850K/860K/870K シリーズ ● クロックセレクタ このセレクタは , 連続起動を許可 (ADC2:EXT = 1) した状態で , A/D 変換クロックを選 択 します。 ● アナログチャネルセレクタ このセレクタは , 複数のアナログ入力端子から入力チャネルを選択する回路です。 ● サンプルアンドホールド回路 アナログチャネルセレクタにより選択された入力電圧を保持する回路です。この回路 は , A/D 変換を起動した直後の入力電圧をサンプルホールドすることにより , A/D 変換 中 ( 比較中 ) の入力電圧の変動の影響を受けずに変換できます。 ● 制御回路 A/D 変換機能では , コンパレータからの電圧比較信号を基に , 10 ビットの A/D データ レジスタの値を , 最上位ビット (MSB) から最下位ビット (LSB) に向かって順に決定し ます。A/D 変換が完了すると , A/D 変換機能は割込み要求フラグビット (ADC1:ADI) を "1" に設定します。 ● 8/10 ビット A/D コンバータデータレジスタ ( 上位 / 下位 ) (ADDH/ADDL) 10 ビットの A/D データの上位 2 ビットが ADDH レジスタに , 下位 8 ビットが ADDL レ ジスタに格納されます。 AD 変換精度ビット (ADC2:AD8) を "1" にすると , AD 変換精度は 8 ビット精度となり , ADDL レジスタに 10 ビット A/D データの上位 8 ビットが格納されます。 ● 8/10 ビット A/D コンバータ制御レジスタ 1 (ADC1) A/D コンバータの各機能の許可と禁止 , アナログ入力端子の選択 , ステータスの確認を 行うためのレジスタです。 ● 8/10 ビット A/D コンバータ制御レジスタ 2 (ADC2) 入力クロックの選択 , 割込みの許可と禁止 , A/Dコンバータの各機能の制御を行うため のレジスタです。 ■ 入力クロック 8/10 ビット A/D コンバータは , プリスケーラからの出力クロックを入力クロック ( 動 作クロック ) として使用します。 230 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 15.3 端子 第 15 章 8/10 ビット A/D コンバータ 15.3 端子 8/10 ビット A/D コンバータの端子について説明します。 ■ 8/10 ビット A/D コンバータの端子 アナログ入力端子は , 汎用入出力ポートとしても使用されます。 ● ANn 端子 A/D 変換機能を使用する場合は , ANn 端子に変換したいアナログ 電圧を入力します。 ANn 端子をアナログ入力端子として使用するには , 対象の端子に対応するポート方向 レジスタ (DDR) の端子ビットに "0" を , 8/10 ビット A/D コンバータ制御レジスタのア ナログ入力端子選択ビット (ADC1:ANS[3:0]) にその端子に対応する値を書き込んでく ださい。 アナログ入力端子として使用されていない端子は , 8/10 ビット A/D コンバータ が使用されている場合も汎用入出力ポートとして使用できま す。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 231 第 15 章 8/10 ビット A/D コンバータ 15.4 割込み 15.4 MB95850K/860K/870K シリーズ 割込み 8/10 ビット A/D コンバータの割込み要因には , A/D 変換機能動作時の変換終了があり ます。 ■ 8/10 ビット A/D コンバータ動作中の割込み A/D 変換が完了すると , 割込み要求フラグビット (ADC1:ADI) が "1" になります。この とき割込み要求許可ビットが許可になっていると (ADC2:ADIE = 1), 割込みコントロー ラへの割込み要求が発生します。割込み要求をクリアするには, 割込み処理ルーチンな どで ADI ビットに "0" を書き込んでください。 ADI ビットは , ADIE ビットの値に関係なく , A/D 変換が完了すると "1" に設定されま す。 割込み要求フラグビット (ADC1:ADI) が "1" で , 割込み要求が許可されている場合 (ADC2:ADIE = 1) は, CPU は割込み処理から復帰できません。必ず割込み処理ルーチン 内で ADI ビットをクリアしてください。 232 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 15 章 8/10 ビット A/D コンバータ 15.5 動作説明と設定手順例 MB95850K/860K/870K シリーズ 15.5 動作説明と設定手順例 8/10 ビット A/D コンバータは , ADC2 レジスタの EXT ビットにより A/D 変換のソフ トウェア起動または連続起動を選択できます。 ■ 8/10 ビット A/D コンバータ変換機能の動作 ● ソフトウェア起動 ソフトウェアにより A/D 変換機能を起動するには , 図 15.5-1 の設定をしてください。 図 15.5-1 A/D 変換機能 ( ソフトウェア起動 ) の設定 ADC1 bit7 ANS3 bit6 ANS2 bit5 ANS1 bit4 ANS0 bit3 ADI bit2 ADMV bit1 ADC2 AD8 TIM1 TIM0 ADCK × ADIE EXT 0 CKDIV1 CKDIV0 ADDH - - - - - - A/D 変換値を保持 予約 0 bit0 AD 1 A/D 変換値を保持 ADDL :使用ビット × :未使用ビット 0 :"0" に設定 1 :"1" に設定 A/D 変換機能が起動されると , A/D 変換が開始します。また , 変換中においても A/D 変 換機能を再起動できます。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 233 第 15 章 8/10 ビット A/D コンバータ 15.5 動作説明と設定手順例 MB95850K/860K/870K シリーズ ● 連続起動 A/D 変換機能を連続起動するには , 図 15.5-2 の設定をしてください。 図 15.5-2 A/D 変換機能 ( 連続起動 ) の設定 ADC1 bit7 ANS3 bit6 ANS2 bit5 ANS1 bit4 ANS0 bit3 ADI bit2 ADMV bit1 ADC2 AD8 TIM1 TIM0 ADCK ADIE EXT 1 CKDIV1 CKDIV0 ADDH - - - - - - A/D 変換値を保持 予約 0 bit0 AD × A/D 変換値保持 ADDL :使用ビット × :未使用ビット 0 :"0" に設定 1 :"1" に設定 連続起動が許可されると , 選択された入力クロックの立上りエッジで A/D 変換機能が 起動され , A/D 変換が開始します。連続起動が禁止されると (ADC2:EXT = 0), 連続起動 動作は停止します。 ■ A/D 変換機能の動作 8/10 ビット A/D コンバータの動作について説明します。 1. A/D 変換が開始すると , 変換フラグビットが設定され (ADC1:ADMV = 1), 選択され たアナログ入力端子がサンプルアンドホールド回路に接続されます。 2. アナログ入力端子の電圧をサンプリング期間中にサンプルアンドホールド回路内 のサンプルアンドホールド用コンデンサに取り込みます。この電圧は , A/D 変換が 終了するまで保持されます。 3. サンプルアンドホールド用コンデンサに取り込まれた電圧と , A/D 変換用のリファ レンス電圧をコントロール回路内のコンパレータで最上位ビット (MSB) から最下 位ビット (LSB) まで比較し , 結果を ADDH レジスタと ADDL レジスタへ転送しま す。 結果の転送が終わ ると , 変換中フラグビットがクリア (ADC1:ADMV = 0) され , 割 込み要求フラグビットが "1" に設定 (ADC1:ADI = 1) されます。 <注意事項> • ADDH レジスタと ADDL レジスタの内容は , A/D 変換終了時に保持されます。した がって , A/D 変換中は前回変換した値が読み出されます。 • A/D 変換機能の使用中は , アナログ入力端子選択ビット (ADC1:ANS[3:0]) を変更しない でください。特に連続起動中は , アナログ入力端子を変更する前に連続起動を禁止 (ADC2:EXT = 0) してください。 • リセットが発生するか , あるいはストップモードまたは時計モードが開始すると , A/D コンバータは停止して , ADMV ビットは "0" にクリアされます。 234 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 15 章 8/10 ビット A/D コンバータ 15.5 動作説明と設定手順例 ■ 設定手順例 以下に , 8/10 ビット A/D コンバータの設定手順例を示します。 ● 初期設定 1. 入力ポートを設定してください (DDR)。 2. 割込みレベルを設定してください (ILR*)。 3. A/D 入力端子を選択してください (ADC1:ANS[3:0])。 4. サンプリング時間を設定してください (ADC2:TIM[1:0])。 5. クロックを選択してください (ADC2:CKDIV[1:0])。 6. A/D 変換精度を設定してください (ADC2:AD8)。 7. 動作モードを選択してください (ADC2:EXT)。 8. 起動トリガを選択してください (ADC2:ADCK)。 9. 割込みを許可してください (ADC2:ADIE = 1)。 10. A/D 変換機能を起動してください (ADC1:AD = 1)。 *: 割込みレベル設定レジスタ (ILR) の詳細について , 本ハードウェアマニュアルの「第 5 章 割 込み」とデバイスのデータシートの「■ 割込み要因のテーブル」を参照してください。 ● 割込み処理 1. 割込み要求フラグを "0" にクリアしてください (ADC1:ADI = 0)。 2. 変換値を読み出してください (ADDH, ADDL)。 3. A/D 変換を起動してください (ADC1:AD = 1)。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 235 第 15 章 8/10 ビット A/D コンバータ 15.6 レジスタ 15.6 MB95850K/860K/870K シリーズ レジスタ 8/10 ビット A/D コンバータのレジスタについて説明します。 表 15.6-1 8/10 ビット A/D コンバータのレジスタ一覧 レジスタ略称 236 レジスタ名 参照先 ADC1 8/10 ビット A/D コンバータ制御レジスタ 1 15.6.1 ADC2 8/10 ビット A/D コンバータ制御レジスタ 2 15.6.2 ADDH 8/10 ビット A/D コンバータデータレジスタ ( 上位 ) 15.6.3 ADDL 8/10 ビット A/D コンバータデータレジスタ ( 下位 ) 15.6.3 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 15 章 8/10 ビット A/D コンバータ 15.6 レジスタ MB95850K/860K/870K シリーズ 15.6.1 8/10 ビット A/D コンバータ制御レジスタ 1 (ADC1) 8/10 ビット A/D コンバータ制御レジスタ 1 (ADC1) は , 8/10 ビット A/D コンバータ の各機能の許可 / 禁止 , アナログ入力端子の選択およびコンバータの状態の確認を 行 うためのレジスタです。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field ANS3 ANS2 ANS1 属性 R/W R/W R/W ANS0 ADI ADMV 予約 AD R/W R/W R W W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7:4] ANS[3:0]: アナログ入力端子選択ビット これらのビットは , 使用されるアナログ入力端子を選択し ます。 ソフトウェアにより A/D 変換が起動 (AD = 1) された場合は (ADC2:EXT = 0), これらのビットを同 時に変更できます。 説明 * bit7:4 "0000" を書き込んだ場合 AN00 端子 "0001" を書き込んだ場合 AN01 端子 "0010" を書き込んだ場合 AN02 端子 "0011" を書き込んだ場合 AN03 端子 "0100" を書き込んだ場合 AN04 端子 "0101" を書き込んだ場合 AN05 端子 "0110" を書き込んだ場合 AN06 端子 "0111" を書き込んだ場合 AN07 端子 "1000" を書き込んだ場合 AN08 端子 "1001" を書き込んだ場合 AN09 端子 "1010" を書き込んだ場合 AN10 端子 "1011" を書き込んだ場合 AN11 端子 *: アナログ入力端子数は品種によって異なります。詳細は , デバイスのデータシートを参照し てください。 ( 注意事項 ) • 上記以外の値を ANS[3:0] に書き込まないでください。 • ADMV ビットが "1" の場合は , これらのビットを変更しないで ください。アナログ入力端子とし て使用されない端子は , 汎用入出力ポートとして使用できます。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 237 第 15 章 8/10 ビット A/D コンバータ 15.6 レジスタ MB95850K/860K/870K シリーズ [bit3] ADI: 割込み要求フラグビット このビットは , A/D 変換の完了を検出します。 A/D 変換機能を使用している場合は , このビットは A/D 変換の完了直後に "1" に設定されます。 このビットと割込み要求許可ビット (ADC2: ADIE) が "1" になったとき , 割込み要求が出力されま す。 このビットに "0" を書き込むと, このビットはクリアされます。このビットに "1" を書き込んでもこ のビットは変化せず , ほかのビットにも影響はありませ ん。 リードモディファイライト (RMW) 系命令によりこのビットを読み出すと , 常に "1" が読み出されま す。 説明 bit3 "0" が読み出された場合 A/D 変換がまだ完了していないことを示します。 "1" が読み出された場合 A/D 変換が完了していることを示します。 "0" を書き込んだ場合 このビットをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 [bit2] ADMV: 変換中フラグビット このビットは , A/D 変換が実行中であることを示します。 A/D 変換中 , このビットの値は "1" となります。 このビットはリードオンリです。このビットに値を書き込んでも意味はなく , 動作に影響はありま せん。 説明 bit2 "0" が読み出された場合 A/D 変換が実行中ではないことを示します。 "1" が読み出された場合 A/D 変換が実行中であることを示します。 [bit1] 予約ビット このビットは常に "0" に設定してください。 [bit0] AD: A/D 変換起動ビット このビットは , ソフトウェアにより A/D 変換機能を起動します。 このビットに "1" 書き込むと , A/D 変換機能が起動します。 連続起動許可ビット (ADC2:EXT) が "1" のとき , このビットによる A/D 変換の起動は禁止されます。 EXT ビットが "0" に設定されている場合 , A/D 変換実行中にこのビットに "1" を書き込むと , A/D 変 換は再起動します。 説明 bit0 "0" を書き込んだ場合 動作に影響はありません。 "1" を書き込んだ場合 A/D 変換機能を起動します。 ( 注意事項 ) このビットに "0" を書き込んでも , A/D 変換機能の動作を停止させることはできませ ん。このビットの読出し値は常に "0" です。 238 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 15 章 8/10 ビット A/D コンバータ 15.6 レジスタ MB95850K/860K/870K シリーズ 15.6.2 8/10 ビット A/D コンバータ制御レジスタ 2 (ADC2) 8/10 ビット A/D コンバータ制御レジスタ 2 (ADC2) は , 8/10 ビット A/D コンバータ の各機能の制御 , 入力クロックの選択および割込みの許可 / 禁止を行うためのレジス タです。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field AD8 TIM1 TIM0 ADCK ADIE EXT CKDIV1 CKDIV0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7] AD8: 精度選択ビット このビットは , A/D 変換の分解能を選択します。 このビットに "0" を書き込んだ場合 , 10 ビット精度が選択されます。 このビットに "1" を書き込んだ場合 , 8 ビット精度が選択されます。ADDL レジスタを読み出すこと により , 8 ビットデータを取得できます。 説明 bit7 "0" を書き込んだ場合 10 ビット精度 "1" を書き込んだ場合 8 ビット精度 ( 注意事項 ) 選択された分解能によって , 使用するデータビットが異なります。このビットを変更す る前に , A/D コンバータの動作が停止していることを確認してください。 [bit6:5] TIM[1:0]: サンプリング時間選択ビット このビットは , サンプリング時間を選択します。 動作条件 ( 電圧と周波数 ) に従ってサンプリング時間を変更してください。 CKIN の値はクロック選択ビット (ADC2:CKDIV[1:0]) によって決まります。 説明 bit6:5 "00" を書き込んだ場合 CKIN × 4 "01" を書き込んだ場合 CKIN × 7 "10" を書き込んだ場合 CKIN × 10 "11" を書き込んだ場合 CKIN × 16 ( 注意事項 ) これらのビットを変更する前に, A/Dコンバータの動作が停止していることを確認して ください。 [bit4] ADCK: 外部起動信号選択ビット このビットは , 外部起動時の起動信号を選択します (ADC2:EXT = 1)。 説明 bit4 "0" を書き込んだ場合 外部起動信号を使用しません。 "1" を書き込んだ場合 8/16 ビット複合タイマ出力端子 (TO00) を A/D 変換機能起動端子として選択しま す。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 239 第 15 章 8/10 ビット A/D コンバータ 15.6 レジスタ MB95850K/860K/870K シリーズ [bit3] ADIE: 割込み要求許可ビット このビットは , 割込みコントローラへの割込みの出力を許可または禁止します。 このビットと割込み要求フラグビット (ADC1:ADI) が "1" のとき , 割込み要求が出力されます。 説明 bit3 "0" を書き込んだ場合 割込み要求出力を禁止します。 "1" を書き込んだ場合 割込み要求出力を許可します。 [bit2] EXT: 連続起動許可ビット このビットは , A/D 変換機能の起動をソフトウェアで行うか , 入力クロックの立上りエッジ検出で 連続的に行うかを選択します。 説明 bit2 "0" を書き込んだ場合 ADC1 レジスタの AD ビットで A/D 変換機能を起動します。 "1" を書き込んだ場合 ADC2 レジスタの ADCK ビットで選択されたクロックで A/D 変換機能を連続的 に起動します。 [bit1:0] CKDIV[1:0]: クロック選択ビット これらのビットは , A/D 変換に使用するクロック (CKIN) を選択します。入力クロックはプリスケー ラにより生成されます。詳細は , 「3.9 プリスケーラの動作」を参照してください。 サンプリング時間は , これらのビットで選択されたクロックによって異なります。 動作条件 ( 電圧と周波数 ) に従って , これらのビットを変更してください。 説明 bit1:0 "00" を書き込んだ場合 1 MCLK "01" を書き込んだ場合 MCLK/2 "10" を書き込んだ場合 MCLK/4 "11" を書き込んだ場合 MCLK/8 ( 注意事項 ) これらのビットを変更する前に, A/Dコンバータの動作が停止していることを確認して ください。 240 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 15 章 8/10 ビット A/D コンバータ 15.6 レジスタ MB95850K/860K/870K シリーズ 15.6.3 8/10 ビット A/D コンバータデータレジスタ ( 上位 / 下位 ) (ADDH/ADDL) 8/10 ビット A/D コンバータデータレジスタ ( 上位 / 下位 ) (ADDH/ADDL) は , 10 ビッ ト A/D 変換中に , 10 ビット A/D 変換結果を格納します。 10 ビットデータの上位 2 ビットが ADDH レジスタに , 下位 8 ビットが ADDL レジ スタに格納されます。 ■ レジスタ構成 ADDH bit 7 6 5 4 3 2 1 0 Field — — — — — — SAR9 SAR8 属性 — — — — — — R R 初期値 0 0 0 0 0 0 0 0 ADDL bit 7 6 5 4 3 2 1 0 Field SAR7 SAR6 SAR5 SAR4 SAR3 SAR2 SAR1 SAR0 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 10 ビットの A/D データのうち , 上位 2 ビットが ADDH レジスタの bit1 と bit0 に対応 し , 下位 8 ビットが ADDL レジスタの bit7 ~ bit0 に対応します。 ADC2 レジスタの AD8 ビットに "1" が設定されている場合は , 8 ビット精度が選択さ れます。ADDL レジスタを読み 出すことにより , 8 ビットデータを取得できます。 これらのレジスタはリードオンリです。データを書き込んでも動作に影響はありませ ん。 8 ビット精度が選択された A/D 変換では , ADDH レジスタの SAR8 と SAR9 は "0" に な ります。 ● A/D 変換機能 A/D 変換を起動すると , レジスタの設定による変換時間の経過後に変換結果が確定し , ADDH レジスタと ADDL のレジスタに格納されます。A/D 変換完了後 , 次の A/D 変換 が完了する前に , A/D データレジスタ ( 変換結果 ) を読み出し , ADC1 レジスタの ADI フラグビット (ADI) をクリアしてください。A/D 変換中 , ADDH レジスタと ADDL レ ジスタの値は , 前回の A/D 変換結果となります。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 241 第 15 章 8/10 ビット A/D コンバータ 15.7 使用上の注意 15.7 MB95850K/860K/870K シリーズ 使用上の注意 8/10 ビット A/D コンバータ使用上の注意を示します。 ■ 8/10 ビット A/D コンバータ使用上の注意 ● プログラムによる 8/10 ビット A/D コンバータの設定に関する注意事項 • A/D 変換機能時 , ADDH, ADDL レジスタの内容は A/D 変換終了時に保持されます。 したがって , A/D 変換中は前回変換した値が読み出されます。 • A/D 変換機能の使用中は , アナログ入力端子選択ビット (ADC1:ANS[3:0]) を変更し ないでく ださい。特に連続起動中は , アナログ入力端子を変更する前に連続起動を 禁止 (ADC2:EXT = 0) してください。 • リセットが発生するか , あるいはストップモードまたは時計モードを開始すると , A/D コンバータは停止し , ADMV ビットは "0" にクリアされます。 • 割込み要求フラグビット (ADC1:ADI) が "1" で , 割込み要求が許可されている場合 (ADC2:ADIE = 1) は , CPU は割込み処理から復帰できません。必ず割込み処理ルー チン内で ADI ビットをクリアしてください。 ● 割込み要求に関する注意事項 A/D 変換の再起動 (ADC1:AD = 1) と A/D 変換の完了が同時に発生した場合は , 割込み 要求フラグビット (ADC1:ADI) が "1" に設定されます。 ● 誤差について | Vcc - Vss | が小さくなるに従い , それに比例して A/D 変換の誤差は増大します。 ● 8/10 ビット A/D コンバータのアナログ入力順序 アナログ入力 (ANn) とデジタル電源 (VCC) を同時に投入するかまたはデジ タル電源投 入後にアナログ入力を投入してください。 デジタル電源 (VCC) は , アナログ入力 (ANn) と同時に切断するかまたはア ナログ入力 (ANn) 切断後に切断してください。 8/10 ビット A/D コンバータの電源投入 / 切断時には , アナログ入力電圧がデジタル電 源の電圧を超えないでください。 ● 変換時間 A/D 変換の変換速度は , クロックモード , メインクロック発振周波数 , メインクロック の速度切換え ( ギア機能 ) に影響されます。 例: サンプリング時間 = CKIN × (ADC2:TIM[1:0] 設定 ) 比較 ( コンペア ) 時間 = CKIN × 10 ( 固定値 ) + MCLK A/D コンバータ起動時間 : 最短時間 = MCLK + MCLK 最長時間 = MCLK + CKIN 変換時間 = A/D コンバータ起動時間 + サンプリング時間 + 比較時間 242 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 15 章 8/10 ビット A/D コンバータ 15.7 使用上の注意 • A/D 変換が開始した時間によって , 変換時間には最大 (1 CKIN - 1 MCLK) の誤差が 生じる可能性があります。 • ソフトウェアで A/D コンバータを設定する場合は , その設定がデバイスのデータ シートに記載された A/Dコンバータの「サンプリング時間」 と「コンペア時間」の仕様 を満たしていることを確認してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 243 第 15 章 8/10 ビット A/D コンバータ 15.7 使用上の注意 244 MB95850K/860K/870K シリーズ FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 16 章 低電圧検出リセット回路 低電圧検出リセット回路の機能と動作について説 明します。 16.1 概要 16.2 構成 16.3 端子 16.4 動作説明 16.5 レジスタ MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 245 第 16 章 低電圧検出リセット回路 16.1 概要 16.1 MB95850K/860K/870K シリーズ 概要 低電圧検出リセット回路は , 電源電圧を監視し , 電源電圧が低電圧検出の電圧レベル より低くなった場合に , リセット信号を発生します。 ■ 低電圧検出リセット回路 低電圧検出リセット回路は , 電源電圧を監視し , 電源電圧が検出電圧レベルより低下し たときにリセット信号を発生します。 LVD リセット電圧選択 ID レジスタ (LVDR) はリセットしきい値電圧を選択します。 LVD リセット回路パスワードレジスタ (LVDPW) はパスワードを設定することによっ て , リセットしきい値電圧の変更および誤って低電圧検出リセット回路を禁止するこ とを防止します。 電源投入時 , リセットしきい値電圧の最小値が LVDR レジスタで選択されます。 低電圧検出リセット回路は , 電源投入直後に自動的に許可され , また , LVD リセット回 路制御レジスタ (LVDCC) によって禁止できます。 電気的特性の詳細について , デバイスのデータシートを参照してください。 246 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 16 章 低電圧検出リセット回路 16.2 構成 MB95850K/860K/870K シリーズ 16.2 構成 図 16.2-1 に , 低電圧検出リセット回路のブロックダイヤグラムを示します。 ■ 低電圧検出リセット回路のブロックダイヤグラム 図 16.2-1 低電圧検出リセット回路のブロックダイヤグラム LVDリセット回路制御レジスタ(LVDCC) - VCC - - - - - - LVDEON 0xAA 0x5A リセット信号 0x55 上記以外 N-ch Vref パスワード照合 回路 0 0x00 1 LVRS7 LVRS6 LVRS5 LVRS4 LVRS3 LVRS2 LVRS1 LVRS0 LVDリセット電圧選択IDレジスタ(LVDR) MN702-00010-2v0-J LVDPW7 LVDPW6 LVDPW5 LVDPW4 LVDPW3 LVDPW2 LVDPW1 LVDPW0 LVDリセット回路パスワードレジスタ(LVDPW) FUJITSU SEMICONDUCTOR LIMITED 247 第 16 章 低電圧検出リセット回路 16.3 端子 16.3 MB95850K/860K/870K シリーズ 端子 低電圧検出リセット回路の端子について説明します。 ■ 低電圧検出リセット回路の端子 ● VCC 端子 低電圧検出リセット回路は , 本端子の電圧を監視します。 ● VSS 端子 この端子は , 電圧検出の基準となる GND 端子です。 ● RST 端子 低電圧検出リセット信号はマイコン内部と本端子へ出力されます。 248 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 16.4 動作説明 第 16 章 低電圧検出リセット回路 16.4 動作説明 低電圧検出リセット回路は , 電源電圧が検出電圧よりも低下したときにリセット信 号を発生します。 ■ リセットしきい値電圧 パスワードに保護されたリセットしきい値を変更するには , あらかじめ正しいパス ワードを LVDPW レジスタに入力してください。 リセットしきい値電圧を選択したあとに , LVDPW レジスタの値を保持してください。 さもなければ , リセットしきい値電圧は初期化されます。 LVDR レジスタに設定したリセットしきい値電圧を変更した場合 , 新しく設定したリ セットしきい値電圧は , LVD リセットしきい値電圧遷移安定時間 (tstb) が経過してから 有効になります。tstb の詳細については , デバイスのデータシートを参照してください。 ■ 低電圧検出リセット回路の動作 低電圧検出リセット回路は , 電源電圧が検出電圧レベルよりも低下したときにリセッ ト信号を発生します。その後 , 解除電圧を検出すると , 発振安定待ち時間の間リセット 信号を継続して出力し , リセットを解除します。 電気的特性の詳細については , デバイスのデータシートを参照してください。 図 16.4-1 低電圧検出リセット回路の動作 Vcc 検出電圧/ リセット解除電圧 動作下限電圧 リセット信号 B B A A B A A: 遅延 B: 発振安定待ち時間 ■ スタンバイモード時の動作 低電圧検出リセット回路は , スタンバイモード ( ストップモード , スリープモード , サ ブクロックモード , 時計モード ) においても常に動作します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 249 第 16 章 低電圧検出リセット回路 16.5 レジスタ 16.5 MB95850K/860K/870K シリーズ レジスタ 低電圧検出リセット回路のレジスタについて説明します。 表 16.5-1 低電圧検出リセット回路のレジスタ一覧 レジスタ略称 250 レジスタ名 参照先 LVDR LVD リセット電圧選択 ID レジスタ 16.5.1 LVDPW LVD リセット回路パスワードレジスタ 16.5.2 LVDCC LVD リセット回路制御レジスタ 16.5.3 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 16 章 低電圧検出リセット回路 16.5 レジスタ MB95850K/860K/870K シリーズ 16.5.1 LVD リセット電圧選択 ID レジスタ (LVDR) LVD リセット電圧選択 ID レジスタ (LVDR) はリセットしきい値電圧を選択します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field LVRS7 LVRS6 LVRS5 LVRS4 LVRS3 LVRS2 LVRS1 LVRS0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7:0] LVRS[7:0]: LVD リセット電圧選択ビット これらのビットは 8 ビットコードでリセットしきい値電圧を選択します。パワーオンリセットが発 生すると , これらのビットはクリアされます。 リセットしきい値電圧 bit7:0 検出電圧 ( 標準値 ) 解除電圧 ( 標準値 ) "01010101" を書き込んだ場合 2.7 V 2.8 V "01011010" を書き込んだ場合 3V 3.1 V "10101010" を書き込んだ場合 3.2 V 3.3 V 上記以外の値を書き込んだ場合 2.6 V 2.7 V <注意事項> 低電圧検出リセット回路のリセットは LVDR レジスタをクリアできないため , リセットし きい値電圧の設定に影響はありません。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 251 第 16 章 低電圧検出リセット回路 16.5 レジスタ MB95850K/860K/870K シリーズ LVD リセット回路パスワードレジスタ (LVDPW) 16.5.2 LVD リセット回路パスワードレジスタ (LVDPW) は , リセットしきい値電圧の変更と LVD リセット回路の禁止に必要とされるパスワードを設定します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field LVDPW7 LVDPW6 LVDPW5 LVDPW4 LVDPW3 LVDPW2 LVDPW1 LVDPW0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7:0] LVDPW[7:0]: LVD リセット回路パスワードビット これらのビットはリセットしきい値電圧の変更と LVD リセット回路の禁止に必要とされるパス ワードを設定します。 "0b11001000" が LVDPW[7:0] に書き込まれたときのみ , リセットしきい値電圧を変更でき , また低 電圧検出リセット回路を禁止できます。 説明 bit7:0 "11001000" を書き込んだ場合 リセットしきい値電圧の変更と低電圧検出リセット回路の禁止を許可し ます。 "11001000" 以外の値を書き込ん だ場合 リセットしきい値電圧を最小値に初期化し , 低電圧検出リセット回路を 許可します。 <注意事項> 252 • 低電圧検出リセット回路のリセットは LVDPW レジスタを初期化できません。 • リセットしきい値電圧または LVDCC レジスタ値を変更したあとに , リセットしきい値 電圧と LVDCC レジスタが初期化されないよう , "0b11001000" を LVDPW レジスタの 値として保持してください。 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 16 章 低電圧検出リセット回路 16.5 レジスタ MB95850K/860K/870K シリーズ 16.5.3 LVD リセット回路制御レジスタ (LVDCC) LVD リセット回路制御レジスタ (LVDCC) は低電圧検出れセット回路を禁止します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — — — — — — LVDEON 属性 — — — — — — — R/W 初期値 0 0 0 0 0 0 0 1 ■ レジスタ機能 [bit7:1] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit0] LVDEON: LVD リセット回路禁止ビット このビットは低電圧検出リセット回路を禁止します。低電圧検出リセット回路は電源投入直後に自 動的に許可されます。 低電圧検出リセット回路を禁止するには , LVDPW レジスタに "0b11001000" を書き込んでください。 "0"がLVDEONビットに書き込まれた後, このビットに"1"を書き込んでも動作に影響はありません。 説明 bit0 "0" を書き込んだ場合 低電圧検出リセット回路を禁止します。 "1" を書き込んだ場合 動作に影響はありません。 <注意事項> • 低電圧検出リセット回路のリセットは LVDCC レジスタを初期化できません。 • 低電圧検出リセット回路は , LVDCC レジスタに "0" を書き込んだことによって禁止さ れた後 , パワーオンリセットによる LVDCC レジスタの初期化によってのみ再度許可で きます。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 253 第 16 章 低電圧検出リセット回路 16.5 レジスタ 254 MB95850K/860K/870K シリーズ FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 17 章 クロックスーパバイザ カウンタ クロックスーパバイザカウンタの機能と動作につ いて説明します。 17.1 概要 17.2 構成 17.3 動作説明 17.4 レジスタ 17.5 使用上の注意 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 255 第 17 章 クロックスーパバイザ カウンタ 17.1 概要 17.1 MB95850K/860K/870K シリーズ 概要 クロックスーパバイザカウンタは , 外部クロック周波数を調べて , 外部クロックの異 常状態を検出します。 ■ クロックスーパバイザカウンタの概要 クロックスーパバイザカウンタは , 外部クロック周波数を調べて , 外部クロックの異常 状態を検出します。 クロックスーパバイザカウンタは, 8つのオプションから選ばれたタイムベースタイマの インターバル時間内で , 外部クロック入力に基づいてカウンタを自動的にカウント アップします。 このモジュールのカウントクロックは , メイン発振クロックとサブ発振クロックのど ちらか選択できます。 <注意事項> クロックスーパバイザカウンタは , メイン CR クロックモードで , ( スタンバイモードで動 作する ) ハードウェアウォッチドッグタイマとともに動作させてください。 上記以外の場合 , このカウンタは外部クロックの異常状態を正しく検出することはできず , 外部クロックが停止するとハングアップしてしまいます。 ( スタンバイモードで動作する ) ハードウェアウォッチドッグタイマについては ,「第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ」を参照してください。 256 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 17.2 構成 第 17 章 クロックスーパバイザ カウンタ 17.2 構成 クロックスーパバイザカウンタは , 以下のブロックで構成されます。 • 制御回路 • クロック監視制御レジスタ (CMCR) • クロック監視データレジスタ (CMDR) • タイムベースタイマ出力セレクタ • カウンタソースクロックセレクタ ■ クロックスーパバイザカウンタのブロックダイヤグラム 図 17.2-1 に , クロックスーパバイザカウンタのブロックダイヤグラムを示します。 図 17.2-1 クロックスーパバイザカウンタのブロックダイヤグラム エッジ検出 タイムベースタイマ出力 タイムベース タイマ出力 セレクタ 8ビットカウンタ 3 メイン発振クロック サブ発振クロック カウンタ ソース クロック セレクタ 1回目: カウント開始 2回目: カウント停止 CLK 制御回路 カウンタ動作許可 クロック監視制御レジスタ(CMCR) クロック監視データレジスタ(CMDR) 内部バス MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 257 第 17 章 クロックスーパバイザ カウンタ 17.2 構成 MB95850K/860K/870K シリーズ ● 制御回路 このブロックは , クロック監視制御レジスタ (CMCR) の設定に基づき , カウンタの開始 と停止 , カウンタクロックソースとカウンタ許可期間を制御します。 ● クロック監視制御レジスタ (CMCR) このレジスタは , カウンタソースクロックの選択 , 8 種類の異なるタイムベースタイマ インターバルからのカウンタ許可期間の選択 , カウンタの開始およびカウンタが動作 中かどうかの確認を行います。 ● クロック監視データレジスタ (CMDR) このレジスタブロックは , カウンタ停止後にカウンタ値を読み出すために使用します。 ソフトウェアが , このレジスタの内容に従い , 外部クロック周波数が正しいかどうかを 判断します。 ● タイムベースタイマインターバルセレクタ このブロックは , 8 種類のタイムベースタイマインターバルからカウンタ許可期間を選 択するために使用します。 ● カウンタソースクロックセレクタ このブロックは , メイン発振クロックとサブ発振クロックからカウンタソースクロッ クを選択するために使用します。 258 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 17 章 クロックスーパバイザ カウンタ 17.3 動作説明 MB95850K/860K/870K シリーズ 17.3 動作説明 クロックスーパバイザカウンタの動作について説明します。 ■ クロックスーパバイザカウンタ ● クロックスーパバイザカウンタの動作 1 ソフトウェアによってクロックスーパバイザカウンタの動作が許可されると(CMCEN = 1), クロックスーパバイザカウンタは , TBTSEL[2:0] ビットによって 8 種類から選択された タイムベースタイマインターバルで動作します。選択されたタイムベースタイマイン ターバルの2つの立上りエッジの間, 内部カウンタは外部クロックにより時間が計測さ れます。 このモジュールのカウントクロックとして , メイン発振クロックとサブ発振クロック とのどちらかを選択できます。 図 17.3-1 クロックスーパバイザカウンタの動作 1 選択したタイムベースタイマインターバル メイン/サブ発振クロック CMCEN 内部カウンタ 0 CMDRレジスタ 30 0 30 ● クロックスーパバイザカウンタの動作 2 CMCEN ビットが "0" から "1" に変わると , CMDR レジスタがクリアされます。 図 17.3-2 クロックスーパバイザカウンタの動作 2 選択したタイムベースタイマインターバル メイン/サブ発振クロック CMCEN 内部カウンタ CMDRレジスタ MN702-00010-2v0-J クリア 0 10 0 10 FUJITSU SEMICONDUCTOR LIMITED 10 0 0 10 259 第 17 章 クロックスーパバイザ カウンタ 17.3 動作説明 MB95850K/860K/870K シリーズ ● クロックスーパバイザカウンタの動作 3 カウント値が "255" に達すると , カウンタは停止します。それ以上カウントを続けるこ とはできません。 図 17.3-3 クロックスーパバイザカウンタの動作 3 選択したタイムベースタイマインターバル メイン/サブ発振クロック CMCEN 内部カウンタ 0 CMDRレジスタ 255 0 255 ● クロックスーパバイザカウンタの動作 4 選択されている外部クロックが停止すると , カウントを停止します。このカウンタ停止 により , ソフトウェアは選択されている外部クロックが異常状態にあることを認識し ます。 図 17.3-4 クロックスーパバイザカウンタの動作 4 選択したタイムベースタイマインターバル メイン/サブ発振クロック CMCEN 内部カウンタ 0 CMDRレジスタ 0 ● クロックスーパバイザカウンタの動作 5 カウンタの動作中に CMCEN に "0" が設定されると , カウンタはソフトウェアにより "0" にクリアされます。 図 17.3-5 クロックスーパバイザカウンタの動作 5 選択したタイムベースタイマインターバル メイン/サブ発振クロック ソフトウェアにより設定 CMCEN 内部カウンタ CMDRレジスタ 260 0 0 0 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 17 章 クロックスーパバイザ カウンタ 17.3 動作説明 ■ タイムベースタイマインターバルとクロックスーパバイザカウンタ値の対応表 表 17.3-1 に , 様々な外部クロックを測定するための各種のメイン CR クロック周波数に 対し , 適切なタイムベースタイマインターバルを示します。 表 17.3-1 TBTSEL 設定に対するカウンタ値の表 メイン メイン / メイ CR サブ水 測定 ン CR (FCRH) 晶発振 誤差 [MHz] [MHz] 誤差 0.03277 0.5 1 4 4 6 10 20 32.5 +2% -2% +2% -2% +2% -2% +2% -2% +2% -2% +2% -2% +2% -2% +2% -2% -1 +1 -1 +1 -1 +1 -1 +1 -1 +1 -1 +1 -1 +1 -1 +1 TBTSEL[2:0] "000" "001" "010" "011" "100" "101" "110" "111" (23×1/FCRH) (25×1/FCRH) (27×1/FCRH (29×1/FCRH) (211×1/FCRH) (213×1/FCRH) (215×1/FCRH) (217×1/FCRH) 0 1 0 1 0 2 2 5 4 7 8 11 18 21 30 34 0 1 0 3 2 5 14 17 22 25 38 41 77 82 126 133 0 1 6 9 14 17 61 66 93 98 155 164 312 327 508 531 1 3 30 33 61 66 249 262 375 392 626 654 1253 1307 2038 2123 7 9 124 131 249 262 1002 1045 1504 1568 2508 2613 5018 5225 8155 8490 31 35 500 523 1002 1045 4014 4180 6022 6270 10038 10449 20077 20898 32626 33960 130 137 2006 2090 4014 4180 16061 16719 24093 25078 40155 41796 80312 83592 130508 135837 525 548 8030 8360 16061 16719 64249 66874 96375 100311 160626 167184 321253 334368 522038 543347 : 推奨設定 : カウンタ値は "0" または "255" になります。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 261 第 17 章 クロックスーパバイザ カウンタ 17.3 動作説明 MB95850K/860K/870K シリーズ 表 17.3-1 は , 以下の式により計算されています。 3 カウンタ値 = 2 × 1/FCRH(TBTSEL=000) 5 2 × 1/FCRH(TBTSEL=001) 7 2 × 1/FCRH(TBTSEL=010) 9 2 × 1/FCRH(TBTSEL=011) 11 2 × 1/FCRH(TBTSEL=100) 13 2 × 1/FCRH(TBTSEL=101) 15 2 × 1/FCRH(TBTSEL=110) 17 2 × 1/FCRH(TBTSEL=111) × メイン/サブ発振クロック周波数 ± 1 (測定誤差) 2 *値の小数を切り捨ててください。 選択したタイムベースタイマインターバル この間では, 上記の式の値はメイン/サブ発振クロック によりカウントされます。 発振が安定するまでクロックスーパバイザカウンタを待機させるために , タイムベー スタイマ割込みを使用する場合は , 以下の条件を満たしてください。 タイムベースタイマインターバル > メイン / サブ発振安定時間 × 1.05 例:FCH = 4 MHz, FCRH = 1 MHz, MWT[3:0] = 0b1111 (WATR レジスタ内 ) 14 タイムベースタイマインターバル > (2 – 2 ) ----------------------× 1.05 ≈ 4.3 ms 6 4 × 10 TBC[3:0] = 0b0110 (213 × 1/FCRH) <注意事項> • タイムベースタイマインターバルの設定については ,「7.1 概要」を参照してください。 • メイン / サブ発振安定時間の設定については , 「3.3.3 発振安定待ち時間設定レジスタ (WATR)」を参照してください。 262 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 17 章 クロックスーパバイザ カウンタ 17.3 動作説明 ■ クロックスーパバイザの動作フローチャート例 図 17.3-6 クロックスーパバイザの動作フローチャート例 クロック監視開始 NO 発振安定待ち時間 経過 メインCRクロックモードにて,タイムベースタイ マ割込みやそのほかの方法を使用し, 設定した発 振安定待ち時間が経過するまで待ってください。 YES メインクロック/ サブクロック 発振安定ビットを 読み出す “0” “1” CMCSEL,TBTSEL[2:0],CMCENを設定 CMCENを読み出す “1” “0” CMDR値 = 予測値? NO YES 対象外部クロックを変更 (正常発振) メインCRクロックモードを維持 します。 (外部クロックが異常周波数で 発振しています。) メインCRクロックモードを維持し ます。 (発振安定待ち時間が経過したにも かかわらず, メインクロック/サブ クロック発振安定ビットが"1"にな っていないため, 外部クロックは 既に停止しているかまたは異常周 波数になっています。) * : メインクロック発振安定ビット - SYCC2:MRDY サブクロック発振安定ビット - SYCC2:SRDY MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 263 第 17 章 クロックスーパバイザ カウンタ 17.4 レジスタ 17.4 MB95850K/860K/870K シリーズ レジスタ クロックスーパバイザカウンタのレジスタについて説明します。 表 17.4-1 クロックスーパバイザカウンタのレジスタ一覧 レジスタ略称 264 レジスタ名 参照先 CMDR クロック監視データレジスタ 17.4.1 CMCR クロック監視制御レジスタ 17.4.2 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 17 章 クロックスーパバイザ カウンタ 17.4 レジスタ MB95850K/860K/870K シリーズ 17.4.1 クロック監視データレジスタ (CMDR) クロック監視データレジスタ (CMDR) は , クロックスーパバイザカウンタの停止後に カウント値を読み出すために使用します。ソフトウェアが , このレジスタの内容に従 い , 外部クロック周波数が正しいかどうかを確認できます。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field CMDR7 CMDR6 CMDR5 CMDR4 CMDR3 CMDR2 CMDR1 CMDR0 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 クロック監視データレジスタ (CMDR) は , クロックスーパバイザカウンタの停止後にカウンタ値を 読み出すために使用されます。 • カウンタ値は , このクロック監視データレジスタ (CMDR) から読み出せます。ソフトウェアは , 読 み出したカウンタ値と選択されているタイムベースタイマインターバルに従い , 外部クロック周 波数が正しいかどうかを確認できます。 [bit7:0] CMDR[7:0]: クロック監視データビット これらのビットは , カウンタ停止後のクロックスーパバイザカウンタの値を示します。 以下のいずれかのイベントが発生すると , これらのビットはクリアされます。 • リセット • ソフトウェアにより CMCR レジスタの CMCEN ビット (CMCR:CMCEN) が "0" から "1" に変更さ れます。 • カウンタ動作中に , ソフトウェアにより CMCEN ビットが "1" から "0" に変更されます。 • 外部クロックの停止後 , 選択されているタイムベースタイマクロックの立下りエッジを 2 回検出 します ( 図 17.5-2 を参照してください )。 <注意事項> カウンタが動作している間 (CMCR:CMCEN = 1) は , このレジスタの値は "0b00000000" です。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 265 第 17 章 クロックスーパバイザ カウンタ 17.4 レジスタ 17.4.2 MB95850K/860K/870K シリーズ クロック監視制御レジスタ (CMCR) クロック監視制御レジスタ (CMCR) は , カウンタソースクロックの選択 , カウンタ許 可期間として使われるタイムベースタイマインターバルの選択 , カウンタの開始およ びカウンタが動作中かどうかの確認を行うために使用します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — 予約 CMCSEL TBTSEL2 TBTSEL1 TBTSEL0 CMCEN 属性 — — W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7:6] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit5] 予約ビット このビットは常に "0" に設定してください。 [bit4] CMCSEL: カウンタクロック選択ビット このビットは , カウンタのソースクロックを選択します。 説明 bit4 "0" を書き込んだ場合 外部メイン発振クロックをカウンタのソースクロックとして選択します。 "1" を書き込んだ場合 外部サブ発振クロックをカウンタのソースクロックとして選択します。 [bit3:1] TBTSEL[2:0]: タイムベースタイマカウンタ出力選択ビット これらのビットは , タイムベースタイマのインターバルを選択します。 クロックスーパバイザカウンタの動作は , これらのビットによって選択されたタイムベースタイマ の出力にしたがって , 特定の時間に許可または禁止されます。 選択されたインターバルの最初の立上りエッジでカウンタ動作が許可され , 2 回目の立上りエッジ でカウンタ動作が禁止されます。 説明 (FCRH: メイン CR クロック ) bit3:1 "000" を書き込んだ場合 23 × 1/FCRH "001" を書き込んだ場合 25 × 1/FCRH "010" を書き込んだ場合 27 × 1/FCRH "011" を書き込んだ場合 29 × 1/FCRH "100" を書き込んだ場合 211 × 1/FCRH "101" を書き込んだ場合 213 × 1/FCRH "110" を書き込んだ場合 215 × 1/FCRH "111" を書き込んだ場合 217 × 1/FCRH 266 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 17 章 クロックスーパバイザ カウンタ 17.4 レジスタ [bit0] CMCEN: カウンタ許可ビット このビットは , クロックスーパバイザカウンタの動作を許可または禁止します。 このビットに "0" を書き込んだ場合 , カウンタが停止し , CMDR レジスタが "0b00000000" にクリア されます。 このビットへの "1" の書込みは カウンタの動作を許可します。カウンタは , タイムベースタイマイ ンターバルの最初の立上りエッジを検出した時点で動作を開始します。同じインターバルの 2 回目 の立上りエッジを検出すると , 動作を停止します。 カウンタが停止すると , このビットが自動的に "0" に設定されます。 説明 bit0 "0" を書き込んだ場合 カウンタ動作を禁止します。 "1" を書き込んだ場合 カウンタ動作を許可します。 <注意事項> • CMCEN ビットが "1" のときに , CMCSEL ビットの設定を変更しないでください。 • CMCEN ビットが "1" のときに , TBTSEL[2:0] ビットの設定を変更しないでください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 267 第 17 章 クロックスーパバイザ カウンタ 17.5 使用上の注意 17.5 MB95850K/860K/870K シリーズ 使用上の注意 クロックスーパバイザカウンタ使用上の注意を示します。 ■ クロックスーパバイザカウンタの使用上の注意 ● 制限事項 • クロックスーパバイザカウンタは , メイン CR クロックモードで , ( スタンバイモー ドで動作する)ハードウェアウォッチドッグタイマとともに動作させてください。そ うしないと , 外部クロックの異常状態を正しく検出することはできず , 外部クロッ クが停止するとハングアップしてしまいます。( スタンバイモードで動作する ) ハー ドウェアウォッチドッグタイマについては ,「第 8 章 ハードウェア / ソフトウェア ウォッチドッグタイマ」を参照してください。 • メインCRクロックモードのみを使用してください。それ以外のクロックモードは使 用しないでください。 • タイムベースタイマが停止すると , 内部カウンタは動作を停止します。 クロックスー パバイザカウンタが外部クロックによりカウントしている間は , タイムベースタイ マをクリアしないでください。 • タイムベースタイマインターバルは , クロックスーパバイザカウンタの動作に対し 十分に余裕のあるものを選択してください。タイムベースタイマのインターバルに ついては , 表 17.3-1 を参照してください。 • CMDR レジスタは , CMCEN = 0 のときに読み出してください ( クロックスーパバイ ザカウンタの動作中 (CMCEN = 1) は , CMDR の値は "0b00000000" のままです )。 • クロックスーパバイザカウンタを使用する場合は , 必ずマシンクロックサイクルが 選択されたタイムベースタイマインターバルの半分よりも短くなるようにしてく ださい。マシンクロックサイクルが選択されたタイムベースタイマインターバルの 半分よりも長いと , クロックスーパバイザカウンタの停止後も CMCEN が "1" のま まとなることがあります。 表 17.5-1 に , 各 TBTSEL 設定に対する適切なクロックギア設定を示します。 表 17.5-1 各 TBTSEL 設定に対する適切なクロックギア設定 TBTSEL[2:0] DIV[1:0] ( クロックギア設定 ) 000 001 010 ~ 111 23×1/FCRH 25×1/FCRH 27×1/FCRH ~ 217×1/FCRH 00 (1×1/FCRH) ○ ○ ○ 01 (4×1/FCRH) × ○ ○ 10 (8×1/FCRH) × ○ ○ 11 (16×1/FCRH) × × ○ ○ : 推奨 × 268 : 設定禁止 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 17 章 クロックスーパバイザ カウンタ 17.5 使用上の注意 ● クロックスーパバイザカウンタの動作中に外部クロックが停止し , 選択されたタイムベー スタイマインターバルの 2 回目の立上りエッジ後に再開した場合は , CMCEN は外部ク ロック再開後に "0" になります。 図 17.5-1 クロックスーパバイザカウンタの動作 1 選択したタイムベースタイマインターバル メイン/サブ発振クロック CMCEN 内部カウンタ 0 5 6 0 CMDRレジスタ 6 ● クロックスーパバイザカウンタの動作中に外部クロックが停止した場合 , 選択されたタイ ムベースタイマインターバルにおいて 2 回目の立上りエッジ後に立下りエッジが検出され ると , CMCEN が "0" になります。カウンタも同じ立下りエッジでクリアされます。 図 17.5-2 クロックスーパバイザカウンタの動作 2 選択したタイムベースタイマインターバル メイン/サブ発振クロック CMCEN 内部カウンタ CMDRレジスタ MN702-00010-2v0-J 0 5 0 0 FUJITSU SEMICONDUCTOR LIMITED 269 第 17 章 クロックスーパバイザ カウンタ 17.5 使用上の注意 270 MB95850K/860K/870K シリーズ FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 18 章 8/16 ビット PPG 8/16ビットPPGの機能と動作について説明します。 18.1 概要 18.2 構成 18.3 チャネル 18.4 端子 18.5 割込み 18.6 動作説明と設定手順例 18.7 レジスタ 18.8 使用上の注意 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 271 第 18 章 8/16 ビット PPG 18.1 概要 18.1 MB95850K/860K/870K シリーズ 概要 8/16 ビット PPG は , 8 ビットのリロードタイマモジュールです。タイマ動作に応じた パルス出力制御によりPPG出力を行います。また, カスケード接続(8 ビット + 8 ビッ ト ) により 16 ビット PPG として動作できます。 ■ 8/16 ビット PPG の概要 品種により , 8/16 ビット PPG の端子数およびチャネル数は異なります。詳細は , デバイ スのデータシートを参照してください。 本章において , 端子名とレジスタ略称にある "n" はチャネル番号を示します。各品種の 端子名 , レジスタ名とレジスタ略称について , デバイスのデータシートを参照してくだ さい。 以下に 8/16 ビット PPG の機能概要を示します。 ● 8 ビット PPG 独立モード 2 つの (PPG タイマ n0, PPG タイマ n1) の 8 ビット PPG として動作できます。 ● 8 ビットプリスケーラ + 8 ビット PPG モード PPG タイマ n1 の PPG 出力の両エッジ検出パルスを PPG タイマ n0 のダウンカウンタへ 入力することにより , PPG タイマ n0 に任意周期の 8 ビット PPG 出力が可能です。 ● 16 ビット PPG モード カスケード接続 (PPG タイマ n1 ( 上位 8 ビット ) + PPG タイマ n0 ( 下位 8 ビット )) によ り 16 ビット PPG 出力として動作できます。 ● PPG 出力動作 任意周期 , デューティ比のパルス波を出力します。 外付け回路により D/A コンバータとしても使用できます。 ● 出力反転モード PPG の出力値を反転できます。 272 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 18 章 8/16 ビット PPG 18.2 構成 MB95850K/860K/870K シリーズ 18.2 構成 8/16 ビット PPG のブロックダイヤグラムを示します。 ■ 8/16 ビット PPG のブロックダイヤグラム 図 18.2-1 に , 8/16 ビット PPG のブロックダイヤグラムを示します。 図 18.2-1 8/16 ビット PPG のブロックダイヤグラム CKS02 CKS01 デューティ設定レジスタ CKS00 周期設定レジスタ プリスケーラ 1 MCLK MCLK/2 MCLK/4 MCLK/8 MCLK/16 MCLK/32 FCH/27またはFCRH/26またはFMCRPLL/26 FCH/28またはFCRH/27またはFMCRPLL/27 デューティ設定レジスタバッファ PPG タイマ n0 01 CLK 00 10 11 PEN00 比較 回路 LOAD REV00 8 ビットダウンカウンタ (PPG タイマ n0) STOP 0 S Q R 1 端子 PPGn0 エッジ 検出 BORROW START 0 1 0 1 PIE0 MD1 PUF0 POEN0 POEN0 MD0 IRQXX 各セレクタの選択信号として使用 CKS12 プリスケーラ CKS11 周期設定レジスタ デューティ設定レジスタ 周期設定 バッファレジスタ デューティレジスタ バッファ周期設定 CKS10 1 MCLK MCLK/2 MCLK/4 MCLK/8 MCLK/16 MCLK/32 FCH/27またはFCRH/26またはFMCRPLL/26 FCH/28またはFCRH/27またはFMCRPLL/27 1 1 0 エッジ 検出 0 LOAD エッジ 検出 比較 回路 0 1 PEN01 CLK PPG タイマ n1 1 8 ビットダウンカウンタ (PPG タイマ n1) STOP START 1 S Q R REV01 0 端子 PPGn1 BORROW 0 PIE1 PUF1 POEN1 POEN1 IRQXX MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 273 第 18 章 8/16 ビット PPG 18.2 構成 MB95850K/860K/870K シリーズ ● カウントクロックセレクタ 8 種類の内部カウントクロックから 8 ビットダウンカウンタのカウントダウン用ク ロックを選択します。 ● 8 ビットダウンカウンタ カウントクロックセレクタで選択されたカウントクロックでカウントダウンします。 ● 比較回路 8 ビットダウンカウンタの値が 8/16 ビット PPG 周期設定バッファレジスタの値から 8/ 16 ビット PPG デューティ設定バッファレジスタの値に一致するまで出力 を "H" レベ ルに保ちます。 その後 , カウンタ値が "1" になるまで出力を "L" レベルに保った後 , 8 ビットダウンカ ウンタは 8/16 ビット PPG 周期設定の値からカウントを続けます。 ● 8/16 ビット PPG タイマ n1 制御レジスタ (PCn1) 8/16 ビット PPG タイマの PPG タイマ n1 側の動作条件を設定します。 ● 8/16 ビット PPG タイマ n0 制御レジスタ (PCn0) 8/16 ビット PPG タイマの動作モードと PPG タイマ n0 側の動作条件を設定します。 ● 8/16 ビット PPG タイマ n1/n0 周期設定バッファレジスタ (PPSn1/PPSn0) 8/16 ビット PPG タイマの周期用コンペア値を設定します。 ● 8/16 ビット PPG タイマ n1/n0 デューティ設定バッファレジスタ (PDSn1/PDSn0) 8/16 ビット PPG タイマの "H" 幅用コンペア値を設定します。 ● 8/16 ビット PPG 起動レジスタ 8/16 ビット PPG タイマの起動または停止を設定します。 ● 8/16 ビット PPG 出力反転レジスタ 8/16 ビット PPG タイマの出力を初期レベルも含めて反転させます。 ■ 入力クロック 8/16 ビット PPG は , プリスケーラからの出力クロックを入力クロック ( カウントクロッ ク ) として使用します。 274 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 18 章 8/16 ビット PPG 18.3 チャネル MB95850K/860K/870K シリーズ 18.3 チャネル 8/16 ビット PPG のチャネルについて説明します。 ■ 8/16 ビット PPG のチャネル 8/16 ビット PPG は 8 ビット PPG タイマ n0 と 8 ビット PPG タイマ n1 から構成されま す。 それぞれ , 2 つの 8 ビット PPG としてまたは 1 つの 16 ビット PPG として使用でき ます。 表 18.3-1 は 8/16 ビット PPG の端子 , 表 18.3-2 はそのレジスタを示します。 表 18.3-1 8/16 ビット PPG の端子 端子名 端子機能 PPGn0 PPG タイマ n0 (8 ビット PPG (n0), 16 ビット PPG) PPGn1 PPG タイマ n1 (8 ビット PPG (n1), 8 ビットプリスケーラ ) 表 18.3-2 8/16 ビット PPG のレジスタ レジスタ略称 該当レジスタ ( 本マニュアル上の表記 ) PCn1 8/16 ビット PPG タイマ n1 制御レジスタ PCn0 8/16 ビット PPG タイマ n0 制御レジスタ PPSn1 8/16 ビット PPG タイマ n1 周期設定バッファレジスタ PPSn0 8/16 ビット PPG タイマ n0 周期設定バッファレジスタ PDSn1 8/16 ビット PPG タイマ n1 デューティ設定バッファレジスタ PDSn0 8/16 ビット PPG タイマ n0 デューティ設定バッファレジスタ PPGS 8/16 ビット PPG 起動レジスタ REVC 8/16 ビット PPG 出力反転レジスタ MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 275 第 18 章 8/16 ビット PPG 18.4 端子 18.4 MB95850K/860K/870K シリーズ 端子 8/16 ビット PPG の端子について説明します。 ■ 8/16 ビット PPG の端子 ● PPGn0 端子と PPGn1 端子 この端子は汎用入出力ポートとしての機能と , 8/16 ビット PPG 出力としての機能を兼 用しています。 PPGn0 , PPGn1: この端子に PPG 波形が出力されます。8/16 ビット PPG タイマ n0/n1 制 御レジスタで出力を許可 (PCn0:POEN0 = 1, PCn1:POEN1 = 1) するこ とにより , PPG 波形を出力できます。 276 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 18 章 8/16 ビット PPG 18.5 割込み MB95850K/860K/870K シリーズ 18.5 割込み 8/16 ビット PPG はカウンタボロー検出時に割込み要求を出力します。 ■ 8/16 ビット PPG の割込み 表 18.5-1 は 8/16 ビット PPG の割込み制御ビットと割込み要因を示します。 表 18.5-1 8/16 ビット PPG の割込み制御ビットと割込み要因 説明 項目 PPG タイマ n1 (8 ビット PPG, 8 ビットプリスケーラ ) PPG タイマ n0 (8 ビット PPG, 16 ビット PPG) 割込み要求フラグビット PCn1 の PUF1 ビット PCn0 の PUF0 ビット 割込み要求許可ビット PCn1 の PIE1 ビット PCn0 の PIE0 ビット 割込み要因 PPG 周期ダウンカウンタのカウンタボロー 8/16 ビット PPG では , ダウンカウンタのカウンタボローにより , 8/16 ビット PPG タイ マ n0/n1 制御レジスタ (PC) のカウンタボロー検出フラグビット (PUF) に "1" が設定さ れます。割込み要求許可ビット (PIE = 1) を許可にしている場合 , 割込み要求を割込み コントローラへ出力します。 16 ビット PPG モードの場合 , 8/16 ビット PPG タイマ n0 制御レジスタ (PCn0) が有効と なります。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 277 第 18 章 8/16 ビット PPG 18.6 動作説明と設定手順例 18.6 MB95850K/860K/870K シリーズ 動作説明と設定手順例 8/16 ビット PPG の動作について説明します。 8/16 ビット PPG は以下の 3 つの動作モードがあります。 • 8 ビット PPG 独立モード • 8 ビットプリスケーラ +8 ビット PPG モード • 16 ビット PPG モード 278 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 18.6.1 8 ビット PPG 独立モード 第 18 章 8/16 ビット PPG 18.6 動作説明と設定手順例 このモードは 8/16 ビット PPG を 2 チャネル (PPG タイマ n0, PPG タイマ n1) の 8 ビット PPG として動作させます。 ■ 8 ビット PPG 独立モードの設定 8/16 ビット PPG を 8 ビット PPG 独立モードで動作させるには , 関連するレジスタを図 18.6-1 のように設定してください。 図 18.6-1 8 ビット PPG 独立モード bit7 - bit6 - bit5 PIE1 bit4 bit3 bit2 bit1 bit0 PUF1 POEN1 CKS12 CKS11 CKS10 PCn0 MD1 0 MD0 0 PIE0 PUF0 POEN0 CKS02 CKS01 CKS00 PPSn1 PH7 PH6 PH5 PH4 PH3 PH2 PH1 PPG タイマ n1 の PPG 出力周期を設定 PH0 PPSn0 PL7 PL6 PL5 PL4 PL3 PL2 PL1 PPG タイマ n0 の PPG 出力周期を設定 PL0 PDSn1 DH7 DH6 DH5 DH4 DH3 DH2 DH1 PPG タイマ n1 の PPG 出力デューティ比を設定 DH0 PDSn0 DL7 DL6 DL5 DL4 DL3 DL2 DL1 PPG タイマ n0 の PPG 出力デューティ比を設定 DL0 PPGS * * PEN21 PEN20 PEN11 PEN10 PEN01 PEN00 * * * * REVC * * REV21 REV20 REV11 REV10 REV01 REV00 * * * * PCn1 :使用ビット 0 :"0" に設定 * :搭載するチャネル数によります。 ■ 8 ビット PPG 独立モードの動作 • 8/16 ビット PPG タイマ n0 制御レジスタ (PCn0) の動作モード選択ビット (MD[1:0]) を "0b00" に設定すると本モードとなります。 • 8/16 ビット PPG 起動レジスタ (PPGS) の対応するパリティ制御ビット (PEN) に "1" を設定すると , 8/16 ビット PPG 周期設定バッファレジスタ (PPS) の値をロードして , ダウンカウント動作が開始されます。カウント値が "1" に達したとき , 再び周期設定 レジスタの値がロードされ , カウント動作が繰り返されます。 • ダウンカウンタの値と 8/16 ビット PPG タイマ n1/n0 デューティ比設定バッファレジ スタ (PDS) の値が一致したとき , カウントクロックに同期して PPG 出力に "H" を出 力します。デューティ比設定値分 "H" を出力した後 , PPG 出力に "L" を出力します。 ただし , PPG 出力反転ビットが "1" の場合 , PPG 出力は上記の説明の逆になります。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 279 第 18 章 8/16 ビット PPG 18.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ 図 18.6-2 は 8 ビット PPG 独立モードの動作を示します。 図 18.6-2 8 ビット PPG 独立モードの動作 カウントクロック (周期 T) PEN (カウンタ起動) 停止 周期設定 m=5 (PPS) デューティ比設定 (PDS) n=4 PPG タイマ n0 カウンタ値 5 4 3 2 1 5 4 3 2 1 5 3 4 2 ダウンカウンタ値と デューティ比設定値の一致 カウンタボロー PPG 出力ソース マシンクロックによる同期 停止 PPGn0 端子 (通常極性) (反転極性) (1) α (2) (1) = n × T (2) = m × T T m n α : カウントクロック周期 : PPS レジスタ値 : PDS レジスタ値 : カウントクロック選択, 起動の タイミングにより異なります。 デューティ比を 50% にする場合の例 PPS レジスタが "0x04" の場合 , PDS レジスタ を "0x02" に設定すると , PPG 出力が デューティ比 50% になります (PPS レジスタの 設定値 /2 を PDS レジスタ に設定 ) 。 280 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 18 章 8/16 ビット PPG 18.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ 18.6.2 8 ビットプリスケーラ + 8 ビット PPG モード このモードでは , PPG タイマ n1 の PPG 出力の両エッジ検出パルスを PPG タイマ n0 のダウンカウンタのカウントクロックとすることで , PPG タイマ n0 に任意周期の 8 ビット PPG 出力が可能となります。 ■ 8 ビットプリスケーラ+ 8 ビット PPG モードの設定 8/16 ビット PPG を 8 ビットプリスケーラ+ 8 ビット PPG モードで動作させるには , 関 連するレジスタを図 18.6-3 のように設定してください。 図 18.6-3 8 ビットプリスケーラ+ 8 ビット PPG モードの設定 bit7 - bit6 - bit5 PIE1 bit4 bit3 bit2 bit1 bit0 PUF1 POEN1 CKS12 CKS11 CKS10 PCn0 MD1 0 MD0 1 PIE0 PUF0 POEN0 CKS02 CKS01 CKS00 × × × PPSn1 PH7 PH6 PH5 PH4 PH3 PH2 PH1 PPG タイマ n1 の PPG 出力周期を設定 PH0 PPSn0 PL7 PL6 PL5 PL4 PL3 PL2 PL1 PPG タイマ n0 の PPG 出力周期を設定 PL0 PDSn1 DH7 DH6 DH5 DH4 DH3 DH2 DH1 PPG タイマ n1 の PPG 出力デューティ比を設定 DH0 PDSn0 DL7 DL6 DL5 DL4 DL3 DL2 DL1 PPG タイマ n0 の PPG 出力デューティ比を設定 DL0 PPGS * * PEN21 PEN20 PEN11 PEN10 PEN01 PEN00 * * * * REVC * * REV21 REV20 REV11 REV10 REV01 REV00 * * * * PCn1 0 1 × * :使用ビット :"0" に設定 :"1" に設定 :設定無効 :搭載するチャネル数によります。 ■ 8 ビットプリスケーラ + 8 ビット PPG モードの動作 • 8/16 ビット PPG タイマ n0 制御レジスタ (PCn0) の動作モード選択ビット (MD[1:0]) を "0b01" に設定すると本モードとなります。PPG タイマ n1 を 8 ビットプリスケー ラとして使用し , PPG タイマ n0 を 8 ビット PPG として使用します。 • 8 ビットプリスケーラ (PPG タイマ n1) は , PPG タイマ n1 (ch.0) ダウンカウンタ動作 許可ビット (PEN01) を "1" に設定したとき , 8/16 ビット PPG タイマ n1 周期設定バッ ファレジスタ (PPS01) の値をロードしてダウンカウント動作を開始します。ダウン カウンタの値と 8/16 ビット PPG タイマ n1 デューティ比設定バッファレジスタ (PDSn1) の値が一致したとき , カウントクロックに同期して PPGn1 出力に "H" が設 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 281 第 18 章 8/16 ビット PPG 18.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ 定され , デューティ比設定値分 "H" を出力した後 , PPGn1 出力に "L" が設定されま す。出力反転ビット (REV01) が "0" の場合 , PPG のパルス波がこのままの極性で PPG 端子に出力されます。REV01 が "1" に設定される場合 , PPG のパルス波は , 極性が反 転されてから , PPGn1 端子に出力されます。 • 8 ビット PPG (PPG タイマ n0) は , PPG 動作許可ビット (PEN00) に "1" を設定したと き , 8/16 ビット PPG タイマ n0 周期設定バッファレジスタ (PPSn0) の値をロードして ダウンカウント動作を開始します ( カウントクロックは PPG タイマ n1 が動作許可 状態になった後の PPGn1 出力の両エッジ検出パルス ) 。カウント値が "1" に達した とき , 再び PPSn0 レジスタの値をロードし , カウント動作を繰り返します。ダウンカ ウンタの値と 8/16 ビット PPG タイマ n0 デューティ設定バッファレジスタ (PDSn0) の値が一致したとき , カウントクロックに同期して PPGn0 出力を "H" に設定し , デューティ設定値分 "H" を出力した後 , PPGn0 出力を "L" にリセットします。出力 反転ビット (REV00) が "0" の場合 , PPG のパルス波がこのままの極性で PPGn0 端子 に出力されます。REV00 が "1" に設定される場合 , PPG のパルス波は , 極性が反転さ れてから , PPGn0 端子に出力されます。 • 8 ビットプリスケーラ (PPG タイマ n1) の出力のデューティは 50% となるように設 定してください。 • PPG タイマ n0 を起動し , 8 ビットプリスケーラ (PPG タイマ n1) が停止している場 合 , PPG タイマ n0 はカウント動作を行いません。 • 8 ビットプリスケーラ (PPG タイマ n1) のデューティ設定を 0% または 100% にした 場合 , 8 ビットプリスケーラ (PPG タイマ n1) の出力はトグルしないため , PPG タイ マ n0 はカウント動作を行いません。 図 18.6-4 は 8 ビットプリスケーラ + 8 ビット PPG モードの動作を示します。 282 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 18 章 8/16 ビット PPG 18.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ 図 18.6-4 8 ビットプリスケーラ + 8 ビット PPG モードの動作 カウントクロック (周期 T) PEN01 周期設定 (PPSn1) デューティ比設定 (PDSn1) PPG タイマ n1 カウンタ値 m1=4 n1=2 4 3 2 1 4 3 2 1 4 3 2 1 4 3 1 2 4 ダウンカウンタ値と デューティ比設定値の 一致 カウンタボロー PPG 出力ソース マシンクロックによる同期 PPGn1 (通常極性) (反転極性) (1) α (2) PEN00 周期設定 m0=3 (PPSn0) デューティ比設定 n0=2 (PDSn0) PPG タイマ 00 カウンタ値 ダウンカウンタ値と デューティ比設定値の 一致 カウンタボロー 3 2 1 3 2 3 1 2 PPG 出力ソース マシンクロックによる同期 PPGn0 (通常極性) (反転極性) (3) β (4) (1) = n1 × T (2) = m1 × T (3) = (1) × n0 (4) = (1) × m0 MN702-00010-2v0-J T : カウントクロック周期 m0 : PPSn0 レジスタ値 n0 : PDSn0 レジスタ値 m1 : PPSn1 レジスタ値 n1 : PDSn1 レジスタ値 α : カウントクロック選択, PEN01 による 起動タイミングにより異なります。 β : PPGn1 出力 (ch. n) 波形, PEN00 による 起動のタイミングにより異なります。 FUJITSU SEMICONDUCTOR LIMITED 283 第 18 章 8/16 ビット PPG 18.6 動作説明と設定手順例 18.6.3 MB95850K/860K/870K シリーズ 16 ビット PPG モード このモードでは , PPG タイマ n1 を上位 , PPG タイマ n0 を下位に割り当てることで 8/16 ビット PPG は 16 ビット PPG として動作します。 ■ 16 ビット PPG モードの設定 8/16 ビット PPG を 16 ビット PPG モードで動作させるには , 関連するレジスタを 図 18.6-5 のように設定してください。 図 18.6-5 16 ビット PPG モードの設定 bit7 - bit6 - bit5 PIE1 bit4 bit3 bit2 bit1 bit0 PUF1 POEN1 CKS12 CKS11 CKS10 PCn0 MD1 0 MD0 0/1 PIE0 PUF0 POEN0 CKS02 CKS01 CKS00 PPSn1 PH7 PH6 PH5 PCn1 PH4 PH3 PH2 PH1 PH0 PPG タイマ n1 の PPG 出力周期を設定 ( 上位 8 ビット ) PPSn0 PL7 PL6 PL5 PL4 PL3 PL2 PL1 PL0 PPG タイマ n0 の PPG 出力周期を設定 ( 下位 8 ビット ) PDSn1 DH7 DH6 DH5 DH4 DH3 DH2 DH1 DH0 PPG タイマ n1 の PPG 出力デューティ比を設定 ( 上位 8 ビット ) PDSn0 DL7 DL6 DL5 DL4 DL3 DL2 DL1 DL0 PPG タイマ n0 の PPG 出力デューティ比を設定 ( 下位 8 ビット ) 0 1 × * PPGS * * PEN21 PEN20 PEN11 PEN10 PEN01 PEN00 * * * * × REVC * * REV21 REV20 REV11 REV10 REV01 REV00 * * * * × :使用ビット :"0 " に設定 :"1 " に設定 :設定無効 :搭載するチャネル数によります。 ■ 16 ビット PPG モードの動作 • PPG タイマ n0 制御レジスタ (PCn0) の動作モード選択ビット (MD[1:0]) を "0b10" ま たは "0b11" に設定すると本モードとなります。 • 16 ビット PPG モードの場合 , 8 ビットダウンカウンタ (PPG タイマ n0) と 8 ビット ダウンカウンタ (PPG タイマ n1) は , PPG 動作許可ビット (PEN00) を "1" に設定した 場合 , 8/16 ビット PPG タイマ n0/n1 周期設定バッファレジスタ (PPG タイマ n1 には PPSn1, PPG タイマ n0 には PPSn0) の値をロードして , ダウンカウント動作を開始し ます。カウント値が "1" に達したとき , 再び周期設定レジスタの値がロードされ , カ ウント動作が繰り返されます。 • ダウンカウンタの値と 8/16 ビット PPG タイマデューティ設定バッファレジスタの 284 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 18 章 8/16 ビット PPG 18.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ 値が (PPG タイマ n1 は PDS01, PPG タイマ n0 は PDSn0 の値がともに ) 一致したと き , カウントクロックに同期して PPGn0 端子に "H" を設定し , デューティ設定値分 "H" を出力した後 , PPGn0 端子を "L" に設定します。出力反転ビット (REV00) が "0" の場合 , PPG のパルス波がこのままの極性で PPGn0 端子に出力されます。 REV00 が "1" に設定される場合 , PPG のパルス波は , 極性が反転されてから , PPGn0 端子 に出 力されます。 図 18.6-6 は 16 ビット PPG モードの動作を示します。 図 18.6-6 16 ビット PPG モードの動作 カウントクロック (周期 T) PEN00 周期設定 (PPSn1 および PPSn0) m=256 デューティ比設定 (PDSn1 および PDSn0) n=2 カウンタ値 256 255 254 ... 2 1 256 255 ... 2 1 256 255 ダウンカウンタ値と デューティ比設定値の一致 カウンタボロー PPG 出力ソース マシンクロックによる 同期 PPGn0 端子 (通常極性) (反転極性) (1) α (2) (1) = n × T (2) = m × T MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED T : カウントクロック周期 m : PPSn1 および PPSn0 n : PDSn1 および PDSn0 α : カウントクロック選択, 起動の タイミングにより異なります。 285 第 18 章 8/16 ビット PPG 18.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ ■ 設定手順例 以下に , 8/16 ビット PPG の設定手順例を示します。 ● 初期設定 1. ポートの出力を設定してください (DDR)。 2. 割込みレベルを設定してください (ILR*)。 3. 動作クロック選択 , 出力許可および割込み許可を行ってください (PCn1)。 4. 動作クロック選択 , 出力許可 , 割込み許可および動作モード選択を行ってください (PCn0)。 5. 周期を設定してください (PPS)。 6. デューティを設定してください (PDS)。 7. 8/16 ビット PPG 出力反転レジスタを設定してください (REVC)。 8. 8/16 ビット PPG を起動してください (PPGS)。 *: 割込みレベル設定レジスタ (ILR) の詳細について , 本ハードウェアマニュアルの「第 5 章 割 込み」とデバイスのデータシートの「■ 割込み要因のテーブル」を参照してください。 ● 割込み処理 1. 任意の割込み処理を行ってください。 2. 割込み要求フラグをクリアしてください (PCn1:PUF1, PCn0:PUF0)。 3. 8/16 ビット PPG を起動してください (PPGS)。 286 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 18.7 レジスタ 第 18 章 8/16 ビット PPG 18.7 レジスタ 8/16 ビット PPG のレジスタについて説明します。 表 18.7-1 8/16 ビット PPG のレジスタ一覧 レジスタ略称 レジスタ名 参照先 PCn1 8/16 ビット PPG タイマ n1 制御レジスタ 18.7.1 PCn0 8/16 ビット PPG タイマ n0 制御レジスタ 18.7.2 PPSn1 8/16 ビット PPG タイマ n1 周期設定バッファレジスタ 18.7.3 PPSn0 8/16 ビット PPG タイマ n0 周期設定バッファレジスタ 18.7.3 PDSn1 8/16 ビット PPG タイマ n1 デューティ設定バッファレジスタ 18.7.4 PDSn0 8/16 ビット PPG タイマ n0 デューティ設定バッファレジスタ 18.7.4 PPGS 8/16 ビット PPG 起動レジスタ 18.7.5 REVC 8/16 ビット PPG 出力反転レジスタ 18.7.6 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 287 第 18 章 8/16 ビット PPG 18.7 レジスタ 18.7.1 MB95850K/860K/870K シリーズ 8/16 ビット PPG タイマ n1 制御レジスタ (PCn1) 8/16 ビット PPG タイマ n1 制御レジスタ (PCn1) は PPG タイマ n1 側の動作条件を 設定します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — PIE1 PUF1 POEN1 CKS12 CKS11 CKS10 属性 — — R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7:6] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit5] PIE1: 割込み要求許可ビット このビットは PPG タイマ n1 の割込みを許可または禁止します。 カウンタボロー検出ビット (PUF1) が "1" で , かつ PIE1 ビットが "1" の場合 , 割込み要求 (IRQ) が出 力されます。 説明 bit5 "0" を書き込んだ場合 PPG タイマ n1 割込みを禁止します。 "1" を書き込んだ場合 PPG タイマ n1 割込みを許可します。 [bit4] PUF1: PPG 周期ダウンカウンタのカウンタボロー検出フラグビット このビットは PPG タイマ n1 の PPG 周期ダウンカウンタのカウンタボロー検出フラグです。 8 ビット PPG 独立モードまたは 8 ビットプリスケーラ + 8 ビット PPG モードでカウンタボローが 発生した場合 , このビットは "1" となります。 16 ビット PPG モードで , カウンタボローが発生してもこのビットは "1" になりません。 このビットへの "1" の書込みは 動作に影響を与えません。"0" の書込みはこのビットをクリアしま す。 リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。 説明 bit4 "0" が読み出された場合 PPG タイマ n1 のカウンタボローが検出されていないことを示します。 "1" が読み出された場合 PPG タイマ n1 のカウンタボローが検出されていることを示します。 "0" を書き込んだ場合 このビットをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 [bit3] POEN1: 出力許可ビット このビットは PPG タイマ n1 の端子の出力を許可または禁止します。 16 ビット PPG モードでこのビットに "1" を書き込んだ場合 , PPG タイマ n1 端子は出力固定となり ます (REV01 の設定値が出力されます。REV01= 0 の場合は "L" が 出力されます。)。 bit3 説明 "0" を書き込んだ場合 PPG タイマ n1 端子は汎用ポートとして機能します。 "1" を書き込んだ場合 PPG タイマ n1 端子は PPG 出力端子として機能します。 288 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 18 章 8/16 ビット PPG 18.7 レジスタ [bit2:0] CKS1[2:0]: 動作クロック選択ビット これらのビットは 8 ビットダウンカウンタ PPG タイマ n1 の動作クロックを選択します。 動作クロックはプリスケーラにより生成されます。詳細は ,「3.9 プリスケーラの動作」を参照して ください。 16 ビット PPG モードでは , これらのビットの設定は動作に関係ありません。 説明 (MCLK: マシンクロック , FCH: メインクロック , bit2:0 FCRH: メイン CR クロック , FMCRPLL: メイン CR PLL クロック ) "000" を書き込んだ場合 1 MCLK "001" を書き込んだ場合 MCLK/2 "010" を書き込んだ場合 MCLK/4 "011" を書き込んだ場合 MCLK/8 "100" を書き込んだ場合 MCLK/16 "101" を書き込んだ場合 MCLK/32 "110" を書き込んだ場合 FCH/27 または FCRH/26 または FMCRPLL/26 "111" を書き込んだ場合 FCH/28 または FCRH/27 または FMCRPLL/27 ( 注意事項 ) サブクロックモードまたはサブ CR クロックモードで , タイムベースタイマが停止して いるため , CKS1[2:0] ビットを "0b110" または "0b111" に設定することは禁止されます。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 289 第 18 章 8/16 ビット PPG 18.7 レジスタ 18.7.2 MB95850K/860K/870K シリーズ 8/16 ビット PPG タイマ n0 制御レジスタ (PCn0) 8/16 ビット PPG タイマ n0 制御レジスタ (PCn0) は PPG タイマ n0 側の動作条件と 動作モードを設定します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field MD1 MD0 PIE0 PUF0 POEN0 CKS02 CKS01 CKS00 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7:6] MD[1:0]: 動作モード選択ビット これらのビットは 8/16 ビット PPG の動作モードを選択します。 カウント動作中には , これらのビットの設定を変更しないでください。 説明 bit7:6 "00" を書き込んだ場合 8 ビット PPG 独立モード "01" を書き込んだ場合 8 ビットプリスケーラ + 8 ビット PPG モード "10" を書き込んだ場合 "11" を書き込んだ場合 16 ビット PPG モード [bit5] PIE0: 割込み要求許可ビット このビットは PPG タイマ n0 の割込みを許可または禁止します。 16 ビット PPG モードでは , このビットを使って 8/16 ビット PPG の割込み要求を制御してください。 カウンタボロー検出ビット (PUF0) が "1" で , かつ PIE0 ビットが "1" の場合 , 割込み要求 (IRQ) が出 力されます。 説明 bit5 "0" を書き込んだ場合 PPG タイマ n0 割込みを禁止します。 "1" を書き込んだ場合 PPG タイマ n0 割込みを許可します。 [bit4] PUF0: PPG 周期ダウンカウンタのカウンタボロー検出フラグビット このビットは PPG タイマ n0 の PPG 周期ダウンカウンタのカウンタボロー検出フラグです。 16 ビット PPG モードでは , PUF0 ビットのみが有効な PPG 周期ダウンカウンタのカウンタボロー検 出フラグで , PCn1 レジスタの PUF1 ビットは無効です。 ( 注意事項 ) 8 ビット PPG モードまたは 8 ビットプリスケーラ + 8 ビット PPG モードでは , カウン タボロー検出は常に許可されます。 このビットへの "1" の書込みは 動作に影響を与えません。"0" の書込みはこのビットをクリアしま す。 リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。 説明 bit4 "0" が読み出された場合 PPG タイマ n0 のカウンタボローが検出されていないことを示します。 "1" が読み出された場合 PPG タイマ n0 のカウンタボローが検出されていることを示します。 "0" を書き込んだ場合 このビットをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 290 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 18 章 8/16 ビット PPG 18.7 レジスタ MB95850K/860K/870K シリーズ [bit3] POEN0: 出力許可ビット このビットは PPG タイマ n0 端子の出力を許可または禁止します。 16 ビット PPG モードでは , 8/16 ビット PPG が PPG タイマ n0 端子よりパルス波を出力するため , POEN0 ビットは 8/16 ビット PPG の出力を制御します。 説明 bit3 "0" を書き込んだ場合 PPG タイマ n0 端子は汎用ポートとして機能します。 "1" を書き込んだ場合 PPG タイマ n0 端子は PPG 出力端子として機能します。 [bit2:0] CKS0[2:0]: 動作クロック選択ビット これらのビットは 8 ビットダウンカウンタ PPG タイマ n0 の動作クロックを選択します。 動作クロックはプリスケーラにより生成されます。詳細は ,「3.9 プリスケーラの動作」を参照して ください。 8 ビットプリスケーラ + 8 ビット PPG モードでは , PPG タイマ n0 のカウント動作クロックは PPG タイマ n1 の PPG 出力の両エッジ検出パルスとなります。そのため , 本ビットの設定は動作に関係 ありません。 16 ビット PPG モードでは , 動作クロックを選択するにはこれらのビットを使ってください。 説明 (MCLK: マシンクロック , FCH: メインクロック , bit2:0 FCRH: メイン CR クロック , FMCRPLL: メイン CR PLL クロック ) "000" を書き込んだ場合 1 MCLK "001" を書き込んだ場合 MCLK/2 "010" を書き込んだ場合 MCLK/4 "011" を書き込んだ場合 MCLK/8 "100" を書き込んだ場合 MCLK/16 "101" を書き込んだ場合 MCLK/32 "110" を書き込んだ場合 FCH/27 または FCRH/26 または FMCRPLL/26 "111" を書き込んだ場合 FCH/28 または FCRH/27 または FMCRPLL/27 ( 注意事項 ) サブクロックモードまたはサブ CR クロックモードで , タイムベースタイマが停止して いるため , CKS0[2:0] ビットを "0b110" または "0b111" に設定することは禁止されます。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 291 第 18 章 8/16 ビット PPG 18.7 レジスタ 18.7.3 MB95850K/860K/870K シリーズ 8/16 ビット PPG タイマ n1/n0 周期設定バッファレジ スタ (PPSn1/PPSn0) 8/16 ビット PPG タイマ n1/n0 周期設定バッファレジスタ (PPSn1/PPSn0) は PPG 出 力の周期を設定します。 ■ レジスタ構成 PPSn1 bit 7 6 5 4 3 2 1 0 Field PH7 PH6 PH5 PH4 PH3 PH2 PH1 PH0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 1 1 1 1 1 1 1 1 PPSn0 bit 7 6 5 4 3 2 1 0 Field PL7 PL6 PL5 PL4 PL3 PL2 PL1 PL0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 1 1 1 1 1 1 1 1 ■ レジスタ機能 PPSn1 レジスタと PPSn0 レジスタは PPG 出力周期を設定します。 • 16 ビット PPG モードの場合 , PPSn1 が上位 8 ビット , PPSn0 が下位 8 ビットです。 • 16 ビット PPG モードの場合 , 上位 , 下位の順番に書き込んでください。上位のみの 書込みの場合は前回の書込み値が次のロードで再度使用されます。 • 8 ビットモード:周期は最大 255 (0xFF) × 入力クロックの周期となります。 • 16 ビットモード:周期は最大 65535 (0xFFFF) × 入力クロックの周期となります。 • リセットで初期化されます。 • 8 ビット PPG 独立モードまたは 8 ビットプリスケーラモード + 8 ビット PPG モー ドで使用する場合 , 周期を "0x00" または "0x01" に設定しないでください。 • 16 ビット PPG モードで使用する場合 , 周期を "0x0000" または "0x0001" に設定しな いでください。 • 動作中に周期設定を変更した場合 , 次の PPG 周期から変更した設定が有効となりま す。 292 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 18 章 8/16 ビット PPG 18.7 レジスタ MB95850K/860K/870K シリーズ 18.7.4 8/16 ビット PPG タイマ n1/n0 デューティ設定バッ ファレジスタ (PDSn1/PDSn0) 8/16 ビット PPG タイマ n1/n0 デューティ設定バッファレジスタ (PDSn1/PDSn0) は PPG 出力のデューティを設定します。 ■ レジスタ構成 PDSn1 bit 7 6 5 4 3 2 1 0 Field DH7 DH6 DH5 DH4 DH3 DH2 DH1 DH0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 1 1 1 1 1 1 1 1 7 6 5 4 3 2 1 0 PDSn0 bit Field DL7 DL6 DL5 DL4 DL3 DL2 DL1 DL0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 1 1 1 1 1 1 1 1 ■ レジスタ機能 PDSn1 レジスタと PDSn0 レジスタは PPG 出力のデューティ( 通常極性の場合は "H" パ ルス幅 ) を設定します。 • 16 ビット PPG モードの場合 , PDSn1 が上位 8 ビット , PDSn0 が下位 8 ビットです。 • 16 ビット PPG モードの場合 , 上位 , 下位の順番に書き込んでください。上位のみの 書込みの場合は前回の書込み値が次のロードで再度使用されます。PDSn0 の書込み により PDSn1 も反映されます。 • リセットで初期化されます。 • デューティを 0% にする場合は , "0x00" を設定してください。 • デューティを 100% にする場合は , 8/16 ビット PPG タイマ n1/n0 周期設定バッファ レジスタ (PPSn0, PPSn1) と同じ値を設定してください。 • 8/16 ビット PPG タイマ n1/n0 デューティ設定バッファレジスタ (PDS) に 8/16 ビット PPG 周期設定バッファレジスタ (PPS) の設定値より大きな値を設定すると , PPG 出 力は通常極性 (8/16 ビット PPG 出力反転レジスタの出力レベル反転ビットが "0" の 場合 ) で "L" 出力になります。 • 動作中にデューティ設定を変更した場合 , 次の PPG 周期から変更した値が有効とな ります。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 293 第 18 章 8/16 ビット PPG 18.7 レジスタ 18.7.5 MB95850K/860K/870K シリーズ 8/16 ビット PPG 起動レジスタ (PPGS) 8/16 ビット PPG 起動レジスタ (PPGS) は , ダウンカウンタを起動または停止します。 各チャネルの動作許可ビットが PPGS レジスタに配置されているため , PPG 各チャ ネルの同時起動が可能です。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — PEN21* PEN20* PEN11* PEN10* PEN01 PEN00 属性 — — R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 *: 品種によって 8/16 ビット PPG のチャネル数が異なるため , 一部の品種ではこれらのビットが未定義ビットに なることがあります。チャネル数に関しては , デバイスのデータシートを参照してください。 ■ レジスタ機能 [bit7:6] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit5] PEN21: PPG タイマ 21 (ch. 2) ダウンカウンタ動作許可ビット このビットは PPG タイマ 21 (ch. 2) ダウンカウンタ動作を許可または停止します。 bit5 説明 "0" を書き込んだ場合 PPG タイマ 21 (ch. 2) ダウンカウンタ動作を停止します。 "1" を書き込んだ場合 PPG タイマ 21 (ch. 2) ダウンカウンタ動作を許可します。 [bit4] PEN20: PPG タイマ 20 (ch. 2) ダウンカウンタ動作許可ビット このビットは PPG タイマ 20 (ch. 2) ダウンカウンタ動作を許可または停止します。 bit4 説明 "0" を書き込んだ場合 PPG タイマ 20 (ch. 2) ダウンカウンタ動作を停止します。 "1" を書き込んだ場合 PPG タイマ 20 (ch. 2) ダウンカウンタ動作を許可します。 [bit3] PEN11: PPG タイマ 11 (ch. 1) ダウンカウンタ動作許可ビット このビットは PPG タイマ 11 (ch. 1) ダウンカウンタ動作を許可または停止します。 bit3 説明 "0" を書き込んだ場合 PPG タイマ 11 (ch. 1) ダウンカウンタ動作を停止します。 "1" を書き込んだ場合 PPG タイマ 11 (ch. 1) ダウンカウンタ動作を許可します。 [bit2] PEN10: PPG タイマ 10 (ch. 1) ダウンカウンタ動作許可ビット このビットは PPG タイマ 10 (ch. 1) ダウンカウンタ動作を許可または停止します。 bit2 説明 "0" を書き込んだ場合 PPG タイマ 10 (ch. 1) ダウンカウンタ動作を停止します。 "1" を書き込んだ場合 PPG タイマ 10 (ch. 1) ダウンカウンタ動作を許可します。 294 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 18 章 8/16 ビット PPG 18.7 レジスタ MB95850K/860K/870K シリーズ [bit1] PEN01: PPG タイマ 01 (ch. 0) ダウンカウンタ動作許可ビット このビットは PPG タイマ 01 (ch. 0) ダウンカウンタ動作を許可または停止します。 bit1 説明 "0" を書き込んだ場合 PPG タイマ 01 (ch. 0) ダウンカウンタ動作を停止します。 "1" を書き込んだ場合 PPG タイマ 01 (ch. 0) ダウンカウンタ動作を許可します。 [bit0] PEN00: PPG タイマ 00 (ch. 0) ダウンカウンタ動作許可ビット このビットは PPG タイマ 00 (ch. 0) ダウンカウンタ動作を許可または停止します。 bit0 説明 "0" を書き込んだ場合 PPG タイマ 00 (ch. 0) ダウンカウンタ動作を停止します。 "1" を書き込んだ場合 PPG タイマ 00 (ch. 0) ダウンカウンタ動作を許可します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 295 第 18 章 8/16 ビット PPG 18.7 レジスタ 18.7.6 MB95850K/860K/870K シリーズ 8/16 ビット PPG 出力反転レジスタ (REVC) 8/16 ビット PPG 出力反転レジスタ (REVC) は PPG 出力を初期レベルも含めて反転 させます。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — REV21* REV20* REV11* REV10* REV01 REV00 属性 — — R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 *: 品種によって 8/16 ビット PPG のチャネル数が異なるため , 一部の品種ではこれらのビットが未定義ビットに なることがあります。チャネル数に関しては , デバイスのデータシートを参照してください。 ■ レジスタ機能 [bit7:6] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit5] REV21: PPG タイマ 21 (ch. 2) 出力レベル反転ビット このビットは PPG タイマ 21 (ch. 2) 出力レベルの極性を選択します。 説明 bit5 "0" を書き込んだ場合 通常極性を選択します。 "1" を書き込んだ場合 反転極性を選択します。 [bit4] REV20: PPG タイマ 20 (ch. 2) 出力レベル反転ビット このビットは PPG タイマ 20 (ch. 2) 出力レベルの極性を選択します。 説明 bit4 "0" を書き込んだ場合 通常極性を選択します。 "1" を書き込んだ場合 反転極性を選択します。 [bit3] REV11: PPG タイマ 11 (ch. 1) 出力レベル反転ビット このビットは PPG タイマ 11 (ch. 1) 出力レベルの極性を選択します。 説明 bit3 "0" を書き込んだ場合 通常極性を選択します。 "1" を書き込んだ場合 反転極性を選択します。 [bit2] REV10: PPG タイマ 10 (ch. 1) 出力レベル反転ビット このビットは PPG タイマ 10 (ch. 1) 出力レベルの極性を選択します。 説明 bit2 "0" を書き込んだ場合 通常極性を選択します。 "1" を書き込んだ場合 反転極性を選択します。 296 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 18 章 8/16 ビット PPG 18.7 レジスタ MB95850K/860K/870K シリーズ [bit1] REV01: PPG タイマ 01 (ch. 0) 出力レベル反転ビット このビットは PPG タイマ 01 (ch. 0) 出力レベルの極性を選択します。 説明 bit1 "0" を書き込んだ場合 通常極性を選択します。 "1" を書き込んだ場合 反転極性を選択します。 [bit0] REV00: PPG タイマ 00 (ch. 0) 出力レベル反転ビット このビットは PPG タイマ 00 (ch. 0) 出力レベルの極性を選択します。 説明 bit0 "0" を書き込んだ場合 通常極性を選択します。 "1" を書き込んだ場合 反転極性を選択します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 297 第 18 章 8/16 ビット PPG 18.8 使用上の注意 18.8 MB95850K/860K/870K シリーズ 使用上の注意 8/16 ビット PPG 使用上の注意を示します。 ■ 8/16 ビット PPG 使用上の注意 ● 動作上の注意 PPG の起動時とカウントクロックのタイミングによって , 起動後 1 周期目の PPG 出力 の周期に誤差が生じる可能性があり , その誤差はカウントクロックの選択により異な ります。2 周期目以降は正常に出力されます。 ● 割込みに関する注意 割込み許可ビット (PIE1/PIE0) に "1" を設定している場合 , 8/16 ビット PPG タイマ n1/ n0 制御レジスタ (PCn1/PCn0) の割込み要求フラグビット (PUF1/PUF0) が "1" に設定さ れると , PPG 割込みが発生します。割込み処理ルーチン内では , 割込み要求フラグビッ ト (PUF1/PUF0) は必ず "0" にクリアしてください。 298 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 19 章 UART/SIO UART/SIO の機能と動作について説明します。 19.1 概要 19.2 構成 19.3 チャネル 19.4 端子 19.5 割込み 19.6 動作説明と設定手順例 19.7 レジスタ MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 299 第 19 章 UART/SIO 19.1 概要 MB95850K/860K/870K シリーズ 概要 19.1 UART/SIO は , 汎用のシリアルデータ通信インタフェースです。クロック同期 ( シン クロナス ) またはクロック非同期 ( アシンクロナス ) で , 可変データ長のシリアルデー タ転送ができます。転送フォーマットは ,NRZ 方式で , 転送レートは専用ボーレート ジェネレータまたは外部クロック ( クロック同期モード (SIO) のとき ) から設定でき ます。 ■ UART/SIO の機能 UART/SIO は , ほかの CPU や周辺装置とシリアルデータの送受信 ( シリアル入出力 ) を 行う機能があります。 • 全二重ダブルバッファがあり , 全二重で双方向通信ができます。 • 同期転送モード ( シンクロナス ) と非同期転送モード ( アシンクロナス ) を選択でき ます。 • 専用のボーレートジェネレータによって最適なボーレートを選択できます。 • データ長は可変で , パリティなしの場合は 5 ビット~ 8 ビット , パリティありの場 合は 6 ビット~ 9 ビットの設定ができます ( 表 19.1-1 を参照 )。 • シリアルデータの方向 ( エンディアン ) を選択できます。 • データ転送フォーマットは , NRZ (Non Return to Zero) 方式です。 • 2 種類の動作モード ( 動作モード 0,1) があります。 動作モード 0 は , クロック非同期モード (UART) として動作します。 動作モード 1 は , クロック同期モード (SIO) として動作します。 表 19.1-1 UART/SIO の動作モード 動作モード 0 1 300 データ長 パリティなし パリティあり 5 6 6 7 7 8 8 9 5 6 7 8 - 同期モード ストップビット長 非同期 1 ビットまたは 2 ビット 同期 - FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 19 章 UART/SIO 19.2 構成 MB95850K/860K/870K シリーズ 19.2 構成 UART/SIO は , 以下のブロックで構成されます。 • UART/SIO シリアルモード制御レジスタ 1 ch. n (SMC1n) • UART/SIO シリアルモード制御レジスタ 2 ch. n (SMC2n) • UART/SIO シリアルステータスアンドデータレジスタ ch. n (SSRn) • UART/SIO シリアル入力データレジスタ ch. n (RDRn) • UART/SIO シリアル出力データレジスタ ch. n (TDRn) 品種により , UART/SIO の端子数およびチャネル数は異なります。詳細は , デバイスの データシートを参照してください。 本章において , 端子名とレジスタ略称にある "n" はチャネル番号を示します。各品種の 端子名 , レジスタ名とレジスタ略称について , デバイスのデータシートを参照してくだ さい。 ■ UART/SIO のブロックダイヤグラム 図 19.2-1 UART/SIO のブロックダイヤグラム PER 各部から 状態 OVE 受信状態 判定回路 FER RDRF RIE 専用ボーレートジェネレータ 1/4 外部クロック入力 UCKn 各部から 状態 クロック セレクタ 端子 受信割込み TDRE TEIE 送信状態 判定回路 TCPL 送信割込み TCIE シリアルクロック出力 スタート ビット 検出 端子 受信用 シフト レジスタ データサンプルクロック入力 シリアルデータ出力 UOn 端子 UART/SIOシリアル ステータスアンドデ ータレジスタch. n パリティ 演算 送信用 シフト レジスタ パリティ 演算 UART/SIOシリアル 入力データレジスタ ch. n 内部バス シリアルデータ入力 UIn 受信 ビット カウント UART/SIOシリアル 出力データレジスタ ch. n 送信 ビット カウント UART/SIOシリアルモ ード制御レジスタ1, 2 ch. n ポート制御 各部へ設定 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 301 第 19 章 UART/SIO 19.2 構成 MB95850K/860K/870K シリーズ ● UART/SIO シリアルモード制御レジスタ 1 ch. n (SMC1n) UART/SIO の動作モードを制御するレジスタです。シリアルデータの方向 (エンディア ン ), パリティの有無と極性 , ストップビット長 , 動作モード ( 同期 / 非同期 ), データ長 およびシリアルクロックを設定します。 ● UART/SIO シリアルモード制御レジスタ 2 ch. n (SMC2n) UART/SIO の動作モードを制御するレジスタです。シリアルクロック出力の許可 / 禁 止 , シリアルデータ出力の許可 / 禁止 , 送信受信の許可 / 禁止 , 受信エラーフラグクリ アおよび割込みの許可 / 禁止を設定します。 ● UART/SIO シリアルステータスアンドデータレジスタ ch. n (SSRn) UART/SIO の送受信やエラーの状態を示します。 ● UART/SIO シリアル入力データレジスタ ch. n (RDRn) 受信データを保持するレジスタです。シリアル入力が変換されてこのレジスタに格納 されます。 ● UART/SIO シリアル出力データレジスタ ch. n (TDRn) 送信データを設定するレジスタです。このレジスタに書き込まれたデータがシリアル 変換されて出力されます。 ■ 入力クロック UART/SIO は , 専用ボーレートジェネレータからの出力クロック ( 内部クロック ) また は UCKn 端子からの入力信号 ( 外部クロック ) を入力クロック ( シリアルクロック ) と して使用します。 302 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 19 章 UART/SIO 19.3 チャネル MB95850K/860K/870K シリーズ 19.3 チャネル UART/SIO のチャネルについて説明します。 ■ UART/SIO のチャネル UART/SIO の端子とレジスタを表 19.3-1 および表 19.3-2 にそれぞれ示します。 表 19.3-1 UART/SIO の端子 端子名 端子機能 クロック入出力 データ出力 データ入力 UCKn UOn UIn 表 19.3-2 UART/SIO のレジスタ レジスタ対応 ( 本マニュアル上の表記 ) レジスタ略称 SMC1n UART/SIO シリアルモード制御レジスタ 1 ch. n SMC2n UART/SIO シリアルモード制御レジスタ 2 ch. n SSRn UART/SIO シリアルステータスアンドデータレジスタ ch. n TDRn UART/SIO シリアル出力データレジスタ ch. n RDRn UART/SIO シリアル入力データレジスタ ch. n MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 303 第 19 章 UART/SIO 19.4 端子 19.4 MB95850K/860K/870K シリーズ 端子 UART/SIO の端子を示します。 ■ UART/SIO の端子 UART/SIO の端子は,クロック入出力端子 (UCKn),シリアルデータ出力端子 (UOn) およ びシリアルデータ入力端子 (UIn) です。 ● UCKn UART/SIO のクロック入出力端子です。 クロック出力を許可 (SMC2n:SCKE = 1) すると,対応するポート方向レジスタの値に関 係なく ,UART/SIO のクロック出力端子 (UCKn) として機能します。このとき , 外部ク ロックは選択しないでください (SMC1n:CKS = 0 に設定 ) 。 UART/SIO のクロック入力端子として使用する場合は , クロック出力を禁止 (SMC2n: SCKE = 0) し , 対応するポート方向レジスタによって入力ポートに設定してください。 このとき , 必ず外部クロックを選択 (SMC1n:CKS = 0 に設定 ) してください。 ● UOn UART/SIO のシ リア ルデ ータ出 力端 子で す。シ リア ルデ ータ 出力 を許 可 (SMC2n: TXOE = 1) すると , 対応するポート方向レジスタの値に関係なく ,UART/SIO のシリア ルデータ出力端子 (UOn) として機能します。 ● UIn UART/SIO のシリアルデータ入力端子です。UART/SIO のシリアルデータ入力端子と して使用する場合は,対応するポート方向レジスタによって入力ポートに設定してくだ さい。 304 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 19 章 UART/SIO 19.5 割込み MB95850K/860K/870K シリーズ 19.5 割込み UART/SIO には , 割込みに関連したエラーフラグビット (PER,OVE,FER), 受信データ レジスタフルフラグビット (RDRF), 送信データレジスタエンプティフラグビット (TDRE) および送信完了フラグビット (TCPL) の 6 つのビットがあります。 ■ UART/SIO の割込み 表 19.5-1 に , UART/SIO の割込み制御ビットと割込み要因を示します。 表 19.5-1 UART/SIO の割込み制御ビットと割込み要因 項目 割込み要求フラ グビット 割込み要求許可 ビット 説明 割込み要因 SSRn:TDRE SSRn:TCPL SSRn:RDRF SSRn:PER SSRn:OVE SSRn:FER SMC2n:TEIE SMC2n:TCIE SMC2n:RIE SMC2n:RIE SMC2n:RIE SMC2n:RIE 送信データレ ジスタエンプ ティ 送信完了 受信データフ ル パリティエ ラー オーバランエ ラー フレーミング エラー ■ 送信割込み 送信データが UART/SIO シリアル出力データレジスタ ch. n (TDRn) に書き込まれると, 書き込まれたデータが送信用シフトレジスタに転送されます。次のデータの書込みが 可能な状態になると , TDRE ビットが "1" に設定されます。このとき , 送信データレジ スタエンプティ割込み許可ビットが許可 (SMC2n:TEIE = 1) されていると , 割込みコン トローラへの割込み要求が発生します。 また , すべての送信データの送信が完了すると ,TCPL ビットが "1" に設定されます。こ のとき , 送信完了割込み許可ビットが許可 (SMC2n:TCIE = 1) されていると , 割込みコ ントローラへの割込み要求が発生します。 ■ 受信割込み データがストップビットまで正常に入力されると RDRF ビットが "1" に設定されま す。 また , オーバラン , パリティまたはフレーミングエラーが発生した場合には , 各エ ラーフラグビット (PER, OVE, FER) が "1" に設定されます。 これらのビットは , ストップビット検出時に設定され , 受信割込み許可ビットが許可 (SMC2n:RIE = 1) されていると , 割込みコントローラへの割込み要求が発生します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 305 第 19 章 UART/SIO 19.6 動作説明と設定手順例 19.6 MB95850K/860K/870K シリーズ 動作説明と設定手順例 UART/SIO には , シリアル通信機能 ( 動作モード 0,1) があります。 ■ UART/SIO の動作 ● 動作モード UART/SIO には , 2 種類の動作モードがあります。クロック同期モード (SIO) とクロッ ク非同期モード (UART) を選択できます ( 表 19.6-1 を参照 )。 表 19.6-1 UART/SIO の動作モード 動作モード 0 1 データ長 パリティなし パリティあり 5 6 6 7 7 8 8 9 5 6 7 8 - 同期モード ストップビット長 非同期 1 ビットまたは 2 ビット 同期 - ■ 設定手順例 UART/SIO の設定手順例を以下に示します。 ● 初期設定 1. ポートの入力を設定してください (DDR)。 2. 割込みレベルを設定してください (ILR*)。 3. プリスケーラを設定してください (PSSRn)。 4. ボーレートを設定してください (BRSRn)。 5. クロックを選択してください (SMC1n:CKS)。 6. 動作モードを設定してください (SMC1n:MD)。 7. シリアルクロック出力を許可または 禁止してください (SMC2n:SCKE)。 8. 受信動作を許可してください (SMC2n:RXE = 1)。 9. 割込みを許可してください (SMC2n:RIE = 1)。 *: 割込みレベル設定レジスタ (ILR) の詳細について , 本ハードウェアマニュアルの「第 5 章 割 込み」とデバイスのデータシートの「■ 割込み要因のテーブル」を参照してください。 ● 割込み処理 受信データを読み出してください (RDRn)。 306 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 19 章 UART/SIO 19.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ 19.6.1 動作モード 0 の動作説明 動作モード 0 は , クロック非同期モード (UART) として動作します。 ■ UART/SIO の動作モード 0 の動作説明 UART/SIO シリアルモード制御レジスタ 1 ch. n (SMC1n) の MD ビットを "0" に設定す ると , クロック非同期モード (UART) が選択されます。 ● ボーレート UART/SIO の SMC1n レジスタの CKS ビットで UART/SIO 専用ボーレートジェネレー タをシリアルクロックとして選択してください。 ボーレートは専用ボーレートジェネレータの出力クロック周波数の 4 分周になりま す。UART は選択されたボーレートの −3% から +3% までの範囲で通信可能です。 専用ボーレートジェネレータによるボーレート算出式を以下に示します ( 専用ボー レートジェネレータについては ,「第 20 章 UART/SIO 専用 ボーレートジェネレータ」も 参照してください 。 図 19.6-1 専用ボーレートジェネレータ使用時のボーレート算出 マシンクロック (MCLK) ボーレート値= 1 2 4 8 4× × [bps] 2 : 255 UART 専用ボーレートジェネレータプリスケーラ UART 専用ボーレートジェネレータボーレート 選択レジスタ ch. n (PSSRn) 設定レジスタ ch. n (BRSRn) プリスケーラ選択 (PSS[1:0]) ボーレート設定 (BRS[7:0]) 表 19.6-2 専用ボーレートジェネレータによるクロック非同期モード (UART) における転送レートの例 ( マシンクロック:10 MHz, 16 MHz, 16.25 MHz の場合 ) 専用ボーレートジェネレータの設定 UART 内 トータル分周比 プリスケーラ選択 ボーレートカウン 部分周 (PSS × BRS×4) PSS[1:0] タ設定 BRS[7:0] ボーレート (10 MHz ÷ トータル 分周比 ) ボーレート (16 MHz ÷ トータル 分周比 ) ボーレート (16.25 MHz ÷ トータル 分周比 ) 1 ( 設定値 : 0, 0) 20 4 80 125000 200000 203125 1 ( 設定値 : 0, 0) 22 4 88 113636 181818 184659 1 ( 設定値 : 0, 0) 44 4 176 56818 90909 92330 1 ( 設定値 : 0, 0) 87 4 348 28736 45977 46695 1 ( 設定値 : 0, 0) 130 4 520 19231 30769 31250 2 ( 設定値 : 0, 1) 130 4 1040 9615 15385 15625 4 ( 設定値 : 1, 0) 130 4 2080 4808 7692 7813 8 ( 設定値 : 1, 1) 130 4 4160 2404 3846 3906 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 307 第 19 章 UART/SIO 19.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ また , クロック非同期モード (UART) におけるボーレート設定が可能な範囲は以下のと おりです。 表 19.6-3 クロック非同期モード (UART) におけるボーレート設定可能範囲 PSS[1:0] BRS[7:0] 0b00 ~ 0b11 0x02(2) ~ 0xFF(255) ● 転送データフォーマット UART は,NRZ (Non Return to Zero) 形式のデータのみを扱えます。 図 19.6-2 に,転送デー タフォーマットを示します。 キャラクタビット長は , SMC1n:CBL[1:0] ビット の設定により 5 ビット~ 8 ビットを選 択できます。 ストップビット長は SMC1n:SBL ビットの設定により 1 ビットもしくは 2 ビットに設 定できます。 パリティの有無 , パリティの極性は SMC1n レジスタの PEN ビットと TDP ビット によ り設定できます。 図 19.6-2 に示すように , 転送データは必ずスタートビット ("L" レベル ) より始まり , MSBファーストもしくは LSBファースト(SMC1nレジスタのBDS ビットでLSB ファー スト /MSB ファーストの選択可能 ) で指定されたデータビット長転送が行われ , ストッ プビット ("H" レベル ) で終了します。アイドル時は "H" レベルになります。 図 19.6-2 転送データフォーマット ST D0 D1 D2 D3 D4 SP ST D0 D1 D2 D3 D4 SP ST D0 D1 D2 D3 D4 P SP ST D0 D1 D2 D3 D4 P SP P なし SP データ 5 ビット P あり SP 注意事項: 6ビット長のデータと7ビット長のデータは5ビット長のデータと同じフォーマットを持ちます。 ST D0 D1 D2 D3 D4 D5 D6 D7 SP P なし ST D0 D1 D2 D3 D4 D5 D6 D7 SP SP データ 8 ビット ST D0 D1 D2 D3 D4 D5 D6 D7 P SP ST D0 D1 D2 D3 D4 D5 D6 D7 P SP P あり SP ST : スタートビット SP : ストップビット P : パリティビット D0 ~ D7: データ。順序は方向制御レジスタ(BDSビット)によりLSBファースト/MSBファーストの 選択が可能です。 308 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 19 章 UART/SIO 19.6 動作説明と設定手順例 ● クロック非同期モード (UART) の受信動作 UART/SIO シリアルモード制御レジスタ 1 ch. n (SMC1n) により , シリアルデータの方 向 ( エンディアン ), パリティの有無 , パリティの極性 , ストップビット長 , キャラクタ ビット長およびクロックを選択します。 受信動作許可ビット (SMC2n:RXE) が "1" に設定されていると常に受信動作が行われ ます。 RXE ビットが "1" の場合 , 受信データのスタートビットを検出すると ,UART/SIO シリ アルモード制御レジスタ 1 ch. n (SMC1n) に設定されているデータフォーマットに従っ て 1 フレームのデータを受信します。 1 フレームのデータ受信が完了すると,受信データを UART/SIO シリアル入力データレ ジスタ ch. n (RDRn) に転送し , 次のシリアルデータを受信できるようになります。 RDRn レジスタにデータが格納されると , 受信データレジスタフルフラグビット (SSRn:RDRF) が "1" に設定されます。 受信割込み許可ビット (SMC2n:RIE) が "1" に設定されている場合は , RDRF ビットが "1" に設定されると受信割込みが発生します。 受信データを読み出す場合は , UART/SIO シリアルステータスアンドデータレジスタ ch. n (SSRn) の各エラーフラグビット (PER, OVE, FER) を確認し , RDRn レジスタを読 み出します。 受信データが RDRn レジスタから読み出されると , RDRF ビットが "0" にクリアされま す。 なお , 受信動作中に SMC1n レジスタが変更された場合の動作は保証されません。また , 受信動作中に RXE ビットを "0" にした場合 , 直ちに受信動作が禁止され , 初期化され ます。途中まで受信したデータはシリアル入力データレジスタには転送されません。 図 19.6-3 クロック非同期モード (UART) の受信動作 RXE UIn St D0 D1 D2 D3 D4 D5 D6 D7 Sp Sp St D0 D1 D2 RDRn のリード RDRF MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 309 第 19 章 UART/SIO 19.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ ● クロック非同期モード (UART) 時の受信エラー 以下の 3 つのエラーフラグビット (PER, FER, OVE) があるときは , 受信データは UART/SIO シリアル入力データレジスタ ch. n (RDRn) に転送されず , 受信データレジス タフルフラグビット (RDRF) も "1" に設定されません。 • パリティエラー (PER) パリティ制御ビット (PEN) が "1" に設定されている場合,受信シリアルデータのパリ ティビットがパリティ極性ビット (TDP) と異なったとき , パリティエラーフラグ ビット (PER) が "1" に設定されます。 • フレーミングエラー (FER) 設定されているキャラクタビット長 (CBL), パリティ制御 (PEN) により , シリアル データの受信を行った結果,シリアルデータの最初のストップビットの位置に "1" を 検出しなかった場合 , フレーミングエラーフラグビット (FER) が "1" に設定されま す。 なお , 2 ビット目以降のストップビットに対してはチェックを行いません。 • オーバランエラー (OVE) シリアルデータの受信が完了したとき , 前回の受信データが読み出される前に次の 受信が行われた場合 , オーバランエラーフラグビット (OVE) が "1" に設定されます。 また , 各フラグビットは最初のストップビットの位置で設定されます。 図 19.6-4 受信エラーフラグビットの設定タイミング UIn D5 D6 D7 P SP SP PER OVE FER 受信割込み 310 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 19 章 UART/SIO 19.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ ● 受信動作時のスタートビットの検出と受信データの確定 受信動作許可ビット (RXE) が "1" に設定されてから専用ボーレートジェネレータのク ロック (BRCLK) によってシリアルデータ入力をサンプリングし , シリアル入力の立下 りと連続した 3 回の "L" によりスタートビットは検出されます。したがって , BRCLK のサンプリングにおいて , 最初に "H","L","L","L" が検出されたとき , そのビットをス タートビットとみなします。 スタートビット検出から 4 分周回路を起動し ,BRCLK の 4 周期ごとにシリアルデータ を受信用シフトレジスタに取り込みます。 データの受信は , ボーレートクロック (BRCLK) とデータサンプリングクロック (DSCLK) の 3 箇所でサンプリングして 3 ビット中 2 ビット一致の多数決で受信データ を確定します。 図 19.6-5 スタートビット検出とシリアルデータの取込み RXE スタートビット シリアルデータ入力 (UIn) D1 D0 ボーレートクロック (BRCLK) "H" "L" "L" "L" "L" スタートビット検出 4 分周カウンタ X 0 1 2 3 0 1 2 3 データサンプリングクロック (DSCLK) 3 箇所サンプリングし, 3 ビット中 2 ビット一致の多数決で “0” または “1” を判定する 受信用シフトレジスタ MN702-00010-2v0-J X FUJITSU SEMICONDUCTOR LIMITED D0 D1 311 第 19 章 UART/SIO 19.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ ● クロック非同期モード (UART) の送信動作 UART/SIO シリアルモード制御レジスタ 1 ch. n (SMC1n) により , シリアルデータの方 向 ( エンディアン ), パリティの有無 , パリティの極性 , ストップビット長 , キャラクタ ビット長およびクロックを選択します。 送信動作の起動は次の 2 種類の手順で行えます。 • 送信動作許可ビット (TXE) を "1" に設定してから UART/SIO シリアル出力データレ ジスタ ch. n (TDRn) へ送信データを書き込むことによって送信を開始する。 • TDRn レジスタに送信データを書き込んだ後 , 送信動作許可ビット (TXE) を "1" に設 定することによって送信を開始する。 送信データは , 送信データレジスタエンプティフラグビット (TDRE) が "1" になってい ることを確認してから , TDRn レジスタに書き込みます。 送信データが TDRn レジスタに書き込まれると TDRE ビットが "0" に設定されます。 送信データが TDRn レジスタから送信用シフトレジスタに転送され , TDRE ビット が "1" に設定されます。 送信割込み許可ビット (TIE) を "1" に設定している場合は , TDRE ビットが "1" に設定 されると送信割込みを発生します。これにより , 割込み処理において次の送信データを TDRn レジスタに書き込めます。 シリアル送信が完了したことを送信割込みによって検知する場合は送信完了割込み許 可ビットの設定を TEIE=0, TCIE=1 にしてください。送信が完了すると送信完了フラグ ビット (SSRn:TCPL) が "1" に設定されて送信割込みが発生します。 TCPL ビットと , 連続送信時の TDRE ビットは , 図 19.6-6 に示すように , 最終ビットの 送信が完了した位置 ( データ長 , パリティ許可 , ストップビット長設定により異なる ) において設定されます。 送信動作中に UART/SIO シリアルモード制御レジスタ 1 ch. n (SMC1n) が変更された 場合の動作は保証されません。 図 19.6-6 クロック非同期モード (UART) の送信動作 UOn D5 D6 D7 P SP SP TCPL TDRE 送信割込み ストップビット長を 1 ビットに設定した場合 312 FUJITSU SEMICONDUCTOR LIMITED ストップビット長を 2 ビットに設定した場合 MN702-00010-2v0-J 第 19 章 UART/SIO 19.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ TDRE ビットは , 前の送信データが送信シフトレジスタにない場合は , 図 19.6-7 または 図 19.6-8 の位置で設定されます。 図 19.6-7 送信データレジスタエンプティフラグビット (TDRE) の設定タイミング 1 (TXE が "1" の場合 ) TXE = 1 送信データの 書込み UOn D0 D1 D2 D3 TDRE 送信割込み UART/SIOシリアル出力データレジスタch.n (TDRn)から送信シフトレジスタへの 転送は1マシンクロック(MCLK) 周期で行われます。 図 19.6-8 送信データレジスタエンプティフラグビット (TDRE) の設定タイミング 2 (TXE を "0" → "1" にした場合 ) TXE 送信データの 書込み UOn D0 D1 D2 D3 TDRE 送信割込み ● 送受信同時動作 クロック非同期モード (UART) では , 送信と受信は独立して動作できます。したがって , 送信と受信が同時または位相がずれて送信フレームと受信フレームが重なり合う場合 であっても動作します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 313 第 19 章 UART/SIO 19.6 動作説明と設定手順例 19.6.2 MB95850K/860K/870K シリーズ 動作モード 1 の動作説明 動作モード 1 は , クロック同期モード (SIO) として動作します。 ■ UART/SIO の動作モード 1 の動作説明 UART/SIO シリアルモード制御レジスタ 1 ch. n (SMC1n) の MD ビットを "1" に設定す るとクロック同期モード (SIO) が選択されます。 クロック同期モード (SIO) におけるキャラクタビット長は 5 ビット~ 8 ビットの可変 長になります。 ただし , パリティは禁止 , ストップビットはなしになります。 シリアルクロックは , SMC1n レジスタの CKS ビットで選択します。専用ボーレート ジェネレータか外部クロックかを選択します。SIO は選択されたシリアルクロックを シフトクロックとしてシフト動作を行います。 外部クロックを入力するときは , SMC2n:SCKE ビットは "0" にしてください。 専用ボーレートジェネレータの出力をシフトクロックとして出力するときは , SCKE ビットを "1" にしてください。この場合のシリアルクロックは , 専用ボーレートジェネ レータからのクロックを 2 分周して作られます。SIO モードにおけるボーレート設定 が可能な範囲は以下のとおりです ( 専用ボーレートジェネレータについては「 , 第 20 章 UART/SIO 専用 ボーレートジェネレータ」も参照 )。 表 19.6-4 クロック同期モード (SIO) におけるボーレート設定可能範囲 PSS[1:0] BRS[7:0] 0b00 ~ 0b11 0x01(1) ~ 0xFF(255), 0x00(256) ( 最速となる設定は 0x01 最も遅い設定は 0x00 です。) 外部クロックによるボーレート算出式と , 専用ボーレートジェネレータ使用時のボー レート算出式を以下に示します。 図 19.6-9 外部クロックによるボーレート算出式 1 ボーレート値= [bps] 外部クロック * 4 マシンクロック以上 *: 外部クロック 4 マシンクロック以上 314 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 19 章 UART/SIO 19.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ 図 19.6-10 専用ボーレートジェネレータ使用時のボーレート算出式 マシンクロック (MCLK) ボーレート値= 2× 1 2 4 8 × [bps] 1 : 256 UART 専用ボーレートジェネレータプリスケーラ UART 専用ボーレートジェネレータボーレート 選択レジスタ ch. n (PSSRn) 設定レジスタ ch. n (BRSRn) プリスケーラ選択 (PSS[1:0]) ボーレート設定 (BRS[7:0]) ● シリアルクロックについて シリアルクロックは送信データの出力制御に合わせて出力されます。そのため , 受信の み行う場合であっても , 送信動作を許可 (SMC2n:TXE = 1) してダミーの送信データを UART/SIO シリアル出力レジスタ ch. n に書き込んでください。また , UCKn のクロック 値はデバイスのデータシートを参照してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 315 第 19 章 UART/SIO 19.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ ● UART/SIO 動作モード 1 受信動作 動作モード 1 の受信では , 各レジスタを図 19.6-11 のように使用します。 図 19.6-11 動作モード 1 の受信時使用レジスタ SMC1n (UART/SIO シリアルモード制御レジスタ 1) bit7 bit6 bit5 bit4 BDS PEN TDP SBL × × × bit3 CBL1 bit2 CBL0 bit1 CKS bit0 MD 1 SMC2n (UART/SIO シリアルモード制御レジスタ 2) bit7 bit6 bit5 bit4 SCKE TXOE RERC RXE 0 bit3 TXE bit2 RIE bit1 TCIE × bit0 TEIE × bit2 RDRF bit1 TCPL × bit0 TDRE × SSRn (UART/SIO シリアルステータスアンドデータレジスタ ) bit7 bit6 bit5 bit4 bit3 PER OVE FER × × × × TDRn (UART/SIO シリアル出力データレジスタ ) bit7 bit6 bit5 bit4 TD7 TD6 TD5 TD4 × × × × bit3 TD3 × bit2 TD2 × bit1 TD1 × bit0 TD0 × RDRn (UART/SIO シリアル入力データレジスタ ) bit7 bit6 bit5 bit4 RD7 RD6 RD5 RD4 bit3 RD3 bit2 RD2 bit1 RD1 bit0 RD0 :使用ビット × :未使用ビット 1 :"1" に設定 0 :"0" に設定 受信動作は , シリアルクロックが外部クロック / 内部クロックのどちらかに設定されて いるかによります。 <外部クロックの場合> 受信動作許可ビット (RXE) が "1" に設定されていると , 常に外部クロックの立上り エッジでシリアルデータを受信します。 <内部クロックの場合> シリアルクロックは送信動作に合わせて出力されます。そのため , 受信であっても送 信動作を行わなければなりません。以下の 2 種類の手順で行えます。 • 送信動作許可ビット (TXE) を "1" に設定してから ,UART/SIO シリアル出力データ レジスタ ch. n (TDRn) へ送信データを書き込むことによってシリアルクロックを発 生させて受信を開始する。 • TDRn レジスタに送信データを書き込んだ後 , TXE ビットを "1" に設定することに よってシリアルクロックを発生させて受信を開始する。 316 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 19 章 UART/SIO 19.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ 受信用シフトレジスタに 5 ビット~ 8 ビットのシリアルデータが受信されると , 受信 データを UART/SIO シリアル入力データレジスタ ch. n (RDRn) へ転送し , 次のシリア ルデータの受信を可能にします。 RDRn レジスタにデータが格納されると , 受信データレジスタフルフラグビット (RDRF) が "1" に設定されます。 受信割込み許可ビット (RIE) が "1" に設定されている場合は , RDRF ビットが "1" に設 定されると受信割込みが発生します。 受信データを読み出す場合は ,UART/SIO シリアルステータスアンドデータレジスタ ch. n (SSRn) のオーバランエラーフラグビット (OVE) を確認し , RDRn レジスタから読 み出します。 受信データが RDRn レジスタから読み出されると , RDRF ビットが "0" にクリアされま す。 図 19.6-12 クロック同期モード (SIO) の 8 ビット受信動作 UCKn UIn D0 D1 D2 D3 D4 D5 D6 D7 RDRnへのリード RDRF 割込みコントローラへの割込み 受信エラー時の動作 オーバランエラー (OVE = 1) があるときは , 受信データは RDRn レジスタには転送さ れません。 オーバランエラー (OVE = 1) シリアルデータの受信が完了したとき , 前回の受信によって RDRF ビットが "1" に設 定されていた場合 , OVE ビット が "1" に設定されます。 図 19.6-13 オーバランエラー UCKn UIn ... ... ... D0 D1 ... D6 D7 D0 D1 ... D6 D7 D0 D1 ... D6 D7 RDRnへの リード RDRF OVE MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 317 第 19 章 UART/SIO 19.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ ● UART/SIO 動作モード 1 送信動作 動作モード 1 の送信では , 各レジスタを図 19.6-14 のように使用します。 図 19.6-14 動作モード 1 の送信時使用レジスタ SMC1n (UART/SIO シリアルモード制御レジスタ 1) bit7 bit6 bit5 bit4 BDS PEN TDP SBL × × × bit3 CBL1 bit2 CBL0 bit1 CKS bit0 MD 1 SMC2n (UART/SIO シリアルモード制御レジスタ 2) bit7 bit6 bit5 bit4 SCKE TXOE RERC RXE 1 × × bit3 TXE bit2 RIE × bit1 TCIE bit0 TEIE bit2 RDRF × bit1 TCPL bit0 TDRE SSRn (UART/SIO シリアルステータスアンドデータレジスタ ) bit7 bit6 bit5 bit4 bit3 PER OVE FER × × × × × TDRn (UART/SIO シリアル出力データレジスタ ) bit7 bit6 bit5 bit4 TD7 TD6 TD5 TD4 bit3 TD3 bit2 TD2 bit1 TD1 bit0 TD0 RDRn (UART/SIO シリアル入力データレジスタ ) bit7 bit6 bit5 bit4 RD7 RD6 RD5 RD4 × × × × bit3 RD3 × bit2 RD2 × bit1 RD1 × bit0 RD0 × :使用ビット × :未使用ビット 1 :"1" に設定 0 :"0" に設定 送信動作の起動は次の 2 種類の手順で行えます。 • 送信動作許可ビット (TXE) を "1" に設定してから, TDRnレジスタへ送信データを書 き込むことによって送信を開始する。 • TDRn レジスタに送信データを書き込んだ後 , TXE ビットを "1" に設定することに よって送信を開始する。 送信データは , 送信データレジスタエンプティフラグビット (TDRE) が "1" になってい ることを確認してから , TDRn レジスタに書き込んでください。 送信データが TDRn レジスタに書き込まれると , TDRE ビットが "0" に設定されます。 送信データが TDRn レジスタから送信用シフトレジスタに転送されてシリアル送信が 開始されると , TDRE ビットが "1" に設定されます。 318 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 19 章 UART/SIO 19.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ 外部クロックを使用する設定では,送信動作が起動した最初のシリアルクロックの立下 りからシリアルデータが送信されます。 送信割込み許可ビット (TIE) が "1" に設定されている場合は , TDRE ビットが "1" に設 定されると送信完了割込みが発生します。このとき , 次の送信データを TDRn レジスタ に書き込めます。また , TXE ビットが "1" に設定されたままであれば , 連続してシリア ル送信を行えます。 シリアル送信が完了したことを送信完了割込みによって検知する場合は,送信完了割込 み出力許可の設定を TEIE = 0,TCIE = 1 にしてください。送信が完了すると送信完了フ ラグ ビット (SSRn:TCPL) が "1" に設定されて送信完了割込みが発生します。 図 19.6-15 クロック同期モード (SIO) の 8 ビット送信動作 TDRnへの 書込み UCKn UIn D0 D1 D2 D3 D4 D5 D6 D7 TDRE TCPL 割込み コントローラ への割込み 外部クロックの 場合は, UCKnの 立下り後です。 割込み コントローラ への割込み 内部クロックの 場合は, 最終 1 ビット 周期後です。 ● 送受信同時動作 <外部クロックの場合> 送信と受信はそれぞれ独立して動作できます。したがって , 送信と受信が同時または 位相がずれて重なり合う場合でも動作します。 <内部クロックの場合> 送信側がシリアルクロックを発生しているため , 受信は送信の影響を受けます。 受信途中に送信が終了してしまった場合 , 受信側は停止した状態となります。 受信 は , 送信側が再起動されたときに継続されます。 シリアルクロックを出力および入力して使用する方法については , 「19.4 端子」を 参照してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 319 第 19 章 UART/SIO 19.7 レジスタ 19.7 MB95850K/860K/870K シリーズ レジスタ UART/SIO のレジスタについて説明します。 表 19.7-1 UART/SIO のレジスタ一覧 レジスタ略称 320 レジスタ名 参照先 SMC1n UART/SIO シリアルモード制御レジスタ 1 ch. n 19.7.1 SMC2n UART/SIO シリアルモード制御レジスタ 2 ch. n 19.7.2 SSRn UART/SIO シリアルステータスアンドデータレジスタ ch. n 19.7.3 RDRn UART/SIO シリアル入力データレジスタ ch. n 19.7.4 TDRn UART/SIO シリアル出力データレジスタ ch. n 19.7.5 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 19 章 UART/SIO 19.7 レジスタ MB95850K/860K/870K シリーズ 19.7.1 UART/SIO シリアルモード制御レジスタ 1 ch. n (SMC1n) UART/SIO シリアルモード制御レジスタ 1 ch. n (SMC1n) は , UART/SIO の動作モー ドを制御します。シリアルデータの方向 ( エンディアン ), パリティの有無と極性 , ス トップビット長 , 動作モード ( クロック同期モード / クロック 非同期モード ), データ 長およびシリアルクロックを設定します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field BDS PEN TDP SBL CBL1 CBL0 CKS MD 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7] BDS: シリアルデータ方向制御ビット このビットはシリアルデータの方向 ( エンディアン ) を制御します。 説明 bit7 "0" を書き込んだ場合 UART/SIO シリアル入力 / 出力データレジスタ ch. n (RDRn/TDRn) の LSB 側から 順に送受信します。 "1" を書き込んだ場合 UART/SIO シリアル入力 / 出力データレジスタ ch. n (RDRn/TDRn) の MSB 側から 順に送受信します。 [bit6] PEN: パリティ制御ビット このビットはクロック非同期モード (UART) におけるパリティの有無を制御します。 説明 bit6 "0" を書き込んだ場合 パリティなし "1" を書き込んだ場合 パリティあり [bit5] TDP: パリティ極性制御ビット このビットは偶数 / 奇数パリティを制御します。 説明 bit5 "0" を書き込んだ場合 偶数パリティ "1" を書き込んだ場合 奇数パリティ MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 321 第 19 章 UART/SIO 19.7 レジスタ MB95850K/860K/870K シリーズ [bit4] SBL: ストップビット長制御ビット このビットはクロック非同期モード (UART) におけるストップビット長を制御します。 説明 bit4 "0" を書き込んだ場合 1 ビット "1" を書き込んだ場合 2 ビット ( 注意事項 ) 本ビットの設定はクロック非同期モード (UART) の送信動作のみに対して有効です。受 信動作において , 本ビットの設定にかかわらず , UART/SIO は , ストップビット (1 ビッ ト ) を検出すると , 受信を完了し , 受信データレジスタフルフラグビット (SSRn:RDRF) を "1" に設定します。 [bit3:2] CBL[1:0]: キャラクタビット長選択ビット これらのビットはキャラクタビット長を選択します。 これらのビットの設定はクロック非同期モード (UART) とクロック同期モード (SIO) の両方に有効 です。 説明 bit3:2 "00" を書き込んだ場合 5 ビット "01" を書き込んだ場合 6 ビット "10" を書き込んだ場合 7 ビット "11" を書き込んだ場合 8 ビット [bit1] CKS: クロック選択ビット このビットは外部クロックと UART/SIO 専用ボーレートジェネレータからシリアルクロックを選択 します。 説明 bit1 "0" を書き込んだ場合 UART/SIO 専用ボーレートジェネレータ "1" を書き込んだ場合 外部クロック ( 注意事項 ) 本ビットに "1" を書き込んだ場合は , 強制的に UCKn 端子の出力が禁止されます。ク ロック非同期モード (UART) では外部クロックは使用できません。 [bit0] MD: 動作モード選択ビット このビットはクロック非同期モード (UART) とクロック同期モード (SIO) から動作モードを選択し ます。 説明 bit0 "0" を書き込んだ場合 クロック非同期モード (UART) "1" を書き込んだ場合 クロック同期モード (SIO) <注意事項> シリアルデータの送受信中にUART/SIO シリアルモード制御レジスタ 1 ch. n (SMC1n)の 設定 を変更しないでください。 322 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 19 章 UART/SIO 19.7 レジスタ MB95850K/860K/870K シリーズ 19.7.2 UART/SIO シリアルモード制御レジスタ 2 ch. n (SMC2n) UART/SIO シリアルモード制御レジスタ 2 ch. n (SMC2n) は , UART/SIO の動作モー ドを制御します。シリアルクロック出力の許可 / 禁止,シリアルデータ出力の許可 / 禁 止 , 送信受信の許可 / 禁止 , 受信エラーフラグクリアおよび割込みの許可 / 禁止を設定 します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field SCKE TXOE RERC RXE TXE RIE TCIE TEIE 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 1 0 0 0 0 0 ■ レジスタ機能 [bit7] SCKE: シリアルクロック出力許可ビット このビットはクロック同期モード (SIO) におけるシリアルクロック端子 (UCKn) の入出力を制御し ます。 説明 bit7 "0" を書き込んだ場合 シリアルクロック出力を禁止し , UCKn 端子を汎用入出力ポートとして使用しま す。 "1" を書き込んだ場合 シリアルクロック出力を許可し , UCKn 端子をシリアルクロック出力端子として 使用します。 ( 注意事項 ) クロック選択ビット (SMC1n:CKS) が "1" のとき , 本ビットが "1" に設定されても内部 クロックは出力されません。 動作モード選択ビット (SMC1n:MD) が "0" のとき ( クロック非同期モード (UART)) は , 本ビットが "1" に設定されると , UCKn からの出力は常に "H" になります。 [bit6] TXOE: シリアルデータ出力許可ビット このビットはシリアルデータ端子 (UOn) の出力を制御します。 説明 bit6 "0" を書き込んだ場合 シリアルデータ出力を禁止し , UOn 端子を汎用入出力ポートとして使用します。 "1" を書き込んだ場合 シリアルデータ出力を許可し , UOn 端子をシリアルデータ出力端子として使用 します。 [bit5] RERC: 受信エラーフラグクリアビット このビットは受信エラーフラグをクリアします。 このビットの読出し値は常に "1" です。 説明 bit5 "0" を書き込んだ場合 SSRn レジスタの各受信エラーフラグビット (PER, OVE, FER) をクリアします。 "1" を書き込んだ場合 動作に影響はありません。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 323 第 19 章 UART/SIO 19.7 レジスタ MB95850K/860K/870K シリーズ [bit4] RXE: 受信動作許可ビット このビットはシリアルデータの受信を許可または禁止します。 受信動作中にこのビットが "0" に設定された場合 , 直ちに受信動作が禁止され , 初期化されます。途 中まで受信したデータは UART/SIO シリアル入力データレジスタ ch. n には転送されません。 説明 bit4 "0" を書き込んだ場合 シリアルデータの受信を禁止します。 "1" を書き込んだ場合 シリアルデータの受信を許可します。 ( 注意事項 ) RXE ビット に "0" を書き込んだ場合 , 初期化されるのは受信動作です。SSRn レジスタ のエラーフラグビット (SSRn:PER, OVE, FER, RDRF) は影響されません。 [bit3] TXE: 送信動作許可ビット このビットはシリアルデータの送信を許可または禁止します。 送信動作中にこのビットが "0" に設定された場合 , 直ちに送信動作が禁止され , 初期化されます。送 信完了フラグビット (SSRn:TCPL) が "1" に設定され , 送信データレジスタエンプティフラグビット (SSRn:TDRE) も "1" に設定されます。 説明 bit3 "0" を書き込んだ場合 シリアルデータの送信を禁止します。 "1" を書き込んだ場合 シリアルデータの送信を許可します。 [bit2] RIE: 受信割込み許可ビット このビットは受信割込みを許可または禁止します。 このビットが "1"( 受信割込み許可 ) のときに , 受信データレジスタフルフラグビット (SSRn:RDRF) およびそのほかの受信エラーフラグビット (SSRn:PER, OVE, FER) のいずれかが "1" になると , 直ち に受信割込みが発生します。 説明 bit2 "0" を書き込んだ場合 受信割込みを禁止します。 "1" を書き込んだ場合 受信割込みを許可します。 [bit1] TCIE: 送信完了割込み許可ビット このビットは送信完了割込みを許可または禁止します。 このビットが "1"( 送信完了割込み許可 ) のときに , 送信完了フラグビット (SSRn:TCPL) が "1" にな ると , 直ちに送信完了割込みが発生します。 説明 bit1 "0" を書き込んだ場合 送信完了割込みを禁止します。 "1" を書き込んだ場合 送信完了割込みを許可します。 [bit0] TEIE: 送信データレジスタエンプティ割込み許可ビット このビットは送信データレジスタエンプティ割込みを許可または禁止します。 このビットが "1"( 送信データレジスタエンプティ割込み許可 ) のときに , 送信データレジスタエン プティフラグビット (SSRn:TDRE) が "1" になると , 直ちに送信データレジスタエンプティ割込みが 発生します。 bit0 説明 "0" を書き込んだ場合 送信データレジスタエンプティ割込みを禁止します。 "1" を書き込んだ場合 送信データレジスタエンプティ割込みを許可します。 324 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 19 章 UART/SIO 19.7 レジスタ MB95850K/860K/870K シリーズ 19.7.3 UART/SIO シリアルステータスアンドデータレジス タ ch. n (SSRn) UART/SIO シリアルステータスアンドデータレジスタ ch. n (SSRn) は , UART/SIO の 送受信やエラーの状態を示します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — PER OVE FER RDRF TCPL TDRE 属性 — — R R R R R/W R 初期値 0 0 0 0 0 0 0 1 ■ レジスタ機能 [bit7:6] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit5] PER: パリティエラーフラグビット このビットは受信データのパリティエラーを検出します。 受信時にパリティエラーが発生すると , このビットが "1" に設定され , SMC2n レジスタの RERC ビッ トに "0" を書き込むことによって , このビットがクリアされます。 パリティエラーの検出と RERC ビットによるクリアが同時に発生する場合は , このパリティエラー フラグの設定が優先されます。 説明 bit5 "0" が読み出された場合 パリティエラーなし "1" が読み出された場合 パリティエラーあり [bit4] OVE: オーバランエラーフラグビット このビットは受信データのオーバランエラーを検出します。 受信時にオーバランエラーが発生すると , このビットが "1" に設定され , SMC2n レジスタの RERC ビットに "0" を書き込むことによって , このビットがクリアされます。 オーバランエラーの検出と RERC ビットに "0" を書き込むことによるクリアが同時に発生する場合 は , このオーバランエラーフラグの設定が優先されます。 説明 bit4 "0" が読み出された場合 オーバランエラーなし "1" が読み出された場合 オーバランエラーあり MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 325 第 19 章 UART/SIO 19.7 レジスタ MB95850K/860K/870K シリーズ [bit3] FER: フレーミングエラーフラグビット このビットは受信データのフレーミングエラーを検出します。 受信時にフレーミングエラーが発生すると , このビットが "1" に設定され , SMC2n レジスタの RERC ビットに "0" を書き込むことによって , このビットがクリアされます。 フレーミングエラーの検出と RERC ビットに "0" を書き込むことによるクリアが同時に発生する場 合は , このフレーミングエラーフラグの設定が優先されます。 説明 bit3 "0" が読み出された場合 フレーミングエラーなし "1" が読み出された場合 フレーミングエラーあり [bit2] RDRF: 受信データレジスタフルフラグビット このビットは UART/SIO シリアル入力データレジスタ ch. n (RDRn) の状態を示します。 RDRn レジスタへ受信データがロードされると , このビットが "1" に設定されます。 RDRn レジスタのデータが読み出されると , このビットが "0" にクリアされます。 説明 bit2 "0" が読み出された場合 RDRn レジスタに受信データがないことを示します。 "1" が読み出された場合 RDRn レジスタに受信データがあることを示します。 [bit1] TCPL: 送信完了フラグビット このビットはデータの送信状態を示します。 シリアル送信が完了したとき , このビットが "1" に設定されます。ただし , 連続して送信されるデー タが UART/SIO シリアル出力データレジスタ ch. n (TDRn) にある場合 ,1 回の送信が完了しても , こ のビットは "1" に設定されません。 このビットへの "0" の書込みはこのビットをクリアします。 送信完了によりこのビットが "1" に設定されることと , "0" の書込みによりこのビットがクリアされ ることが同時に発生する場合は , 前者が優先されます。 このビットに "1" を書き込んでも動作に影響はありません。 説明 bit1 "0" が読み出された場合 データの送信が完了していないことを示します。 "1" が読み出された場合 データの送信が完了していることを示します。 "0" を書き込んだ場合 このビットをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 [bit0] TDRE: 送信データレジスタエンプティフラグビット このビットは UART/SIO シリアル出力データレジスタ ch. n (TDRn) の状態を示します。 TDRn レジスタへ送信データが書き込まれると , このビットが "0" に設定されます。 送信用シフトレジスタに送信データがロードされて送信が開始されると , このビットが "1" に設定 されます。 bit0 説明 "0" が読み出された場合 TDRn レジスタに送信データがあることを示します。 "1" が読み出された場合 TDRn レジスタに送信データがないことを示します。 326 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 19 章 UART/SIO 19.7 レジスタ MB95850K/860K/870K シリーズ 19.7.4 UART/SIO シリアル入力データレジスタ ch. n (RDRn) UART/SIO シリアル入力データレジスタ ch. n (RDRn) は , シリアルデータの入力 ( 受 信 ) 用レジスタです。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 このレジスタは受信したデータを格納します。 シリアルデータ入力端子 (UIn) に送ら れてきたシリアルデータ信号がシフトレジスタで変換されて,このレジスタに格納され ます。 受信データが正常にこのレジスタに設定されると , 受信データレジスタフルフラグ ビット (SSRn:RDRF) が "1" に設定されます。このとき , 受信割込み要求が許可されてい れば割込みが発生します。プログラムによる RDRF ビットチェックまたは割込みでこ のレジスタに格納された受信データが示されていれば,このレジスタの内容を読み出す ことにより , RDRF ビットが "0" にクリアされます。 キャラクタビット長 (SMC1n:CBL[1:0]) を 8 ビット未満に設定した場合 , 不要となる上 位のビット ( 設定したビット長以外のビット ) は "0" になります。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 327 第 19 章 UART/SIO 19.7 レジスタ 19.7.5 MB95850K/860K/870K シリーズ UART/SIO シリアル出力データレジスタ ch. n (TDRn) UART/SIO シリアル出力データレジスタ ch. n (TDRn) は , シリアルデータの出力 ( 送 信 ) 用レジスタです。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field TD7 TD6 TD5 TD4 TD3 TD2 TD1 TD0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 このレジスタには送信するデータが書き込まれます。送信データレジスタエンプティ フラグビット (TDRE) が "1" の場合 , 書込みができます。"0" の場合 , 書込みは無視され ます。 送信データが UART/SIO シリアル出力データレジスタ ch. n (TDRn) に書き込まれると, TDRE ビットは "0" に設定されます。送信用シフトレジスタに送信データの転送が終了 すれば , TDRE ビットは "1" に設定され , 次の送信用データを TDRn レジスタに書き込 めます。このとき, 送信データレジスタエンプティ割込みが許可されていれば割込みが 発生します。次の送信データの書込みは , 送信データレジスタエンプティの発生のとき に行うか , TDRE ビットが "1" のときに行ってください。 キャラクタビット長 (SMC1n:CBL[1:0]) を 8 ビット未満に設定した場合 , 上位のビット ( 設定したビット長以外のビット ) は無視されます。 <注意事項> UART/SIO シリアルステータスアンドデータレジスタch. n (SSRn)の TDRE ビットが "0" のとき , このレジスタのデータは更新できません。 既に送信データが書き込まれ ,TDRE ビットが "0" のときに , このレジスタを更新する場合 は (SMC2n レジスタの TXE ビット の設定にかかわらず ) TXE ビット に "0" を書き込むこ とにより送信動作が初期化され ,TDRE ビット が "1" となり , このレジスタを更新できる ようになります。 また , 送信が開始されていないとき (TDRn レジスタ に送信データを書き込んで ,TXE ビッ ト をまだ "1" に設定していないとき ) に TXE ビットに "0" を書き込む場合は , SSRn レジ スタの TCPL ビット は "1" に設定されません。データを変更する場合は ,TXE ビット に "0" を書き込むことにより , 一度 TDRE ビット を "1" にしてからデータを変更してください。 328 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 20 章 UART/SIO 専用 ボーレート ジェネレータ UART/SIO 専用ボーレートジェネレータの機能と 動作について説明します。 20.1 概要 20.2 チャネル 20.3 動作説明 20.4 レジスタ MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 329 第 20 章 UART/SIO 専用 ボーレートジェネレータ 20.1 概要 MB95850K/860K/870K シリーズ 20.1 概要 UART/SIO 専用ボーレートジェネレータは ,UART/SIO のボーレートを発生します。 UART/SIO 専用ボーレートジェネレータプリスケーラ選択レジスタ ch. n (PSSRn) と UART/SIO 専用ボーレートジェネレータボーレート設定レジスタ ch. n (BRSRn) から構成されます。 品種により, UART/SIO専用ボーレートジェネレータの端子数およびチャネル数は異な ります。 詳細は , デバイスのデータシートを参照してください。 本章において , 端子名とレジスタ略称にある "n" はチャネル番号を示します。各品種の 端子名 , レジスタ名とレジスタ略称について , デバイスのデータシートを参照してくだ さい。 ■ UART/SIO 専用ボーレートジェネレータのブロックダイヤグラム 図 20.1-1 UART/SIO 専用ボーレートジェネレータのブロックダイヤグラム ボーレートジェネレータ PSS[1:0] MCLK (マシンクロック) BRS[7:0] CLK MCLK/2 プリスケーラ UART/SIO MCLK/4 8ビット ダウンカウンタ BRCLK 1/4 MCLK/8 ■ 入力クロック UART/SIO 専用ボーレートジェネレータは,プリスケーラからの出力クロックまたはマ シンクロックを入力クロックとして使用します。 ■ 出力クロック UART/SIO 専用ボーレートジェネレータは , UART/SIO にクロックを供給しています。 330 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 20 章 UART/SIO 専用 ボーレートジェネレータ 20.2 チャネル MB95850K/860K/870K シリーズ 20.2 チャネル UART/SIO 専用ボーレートジェネレータのチャネルについて説明します。 ■ UART/SIO 専用ボーレートジェネレータのチャネル 表 20.2-1 に ,UART/SIO 専用ボーレートジェネレータのレジスタを示します。 表 20.2-1 UART/SIO 専用ボーレートジェネレータのレジスタ レジスタ略称 該当レジスタ ( 本マニュアル上の表記 ) PSSRn UART/SIO 専用ボーレートジェネレータプリスケーラ選択レジスタ ch. n BRSRn UART/SIO 専用ボーレートジェネレータボーレート設定レジスタ ch. n MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 331 第 20 章 UART/SIO 専用 ボーレートジェネレータ 20.3 動作説明 MB95850K/860K/870K シリーズ 20.3 動作説明 UART/SIO 専用ボーレートジェネレータは,クロック非同期モード(UART)のボーレー トジェネレータとして動作します。 ■ ボーレート設定 UART/SIO の SMC1n レジスタの CKS ビットで UART/SIO 専用ボーレートジェネレー タをシリアルクロックとして選択してください。 クロック 非同期モード (UART) では , CKS ビットで選択されたシフトクロックの 4 分 周になり , 選択されたボーレートの −3% から +3% までの範囲で転送可能です。UART/ SIO 専用ボーレートジェネレータによるボーレート算出式を以下に示します。 図 20.3-1 UART/SIO 専用ボーレートジェネレータ使用時のボーレート算出式 マシンクロック (MCLK) ボーレート値= 1 2 4 8 4× UART 専用ボーレートジェネレータプリスケー ラ選択レジスタ ch. n (PSSRn) プリスケーラ選択 (PSS[1:0]) × [bps] 2 : 255 UART 専用ボーレートジェネレータボーレート 設定レジスタ ch. n (BRSRn) ボーレート設定 (BRS[7:0]) 表 20.3-1 ボーレートジェネレータによるクロック非同期モード (UART) における転送レートの例 ( マシンクロック:10 MHz,16 MHz,16.25 MHz の場合 ) UART/SIO 専用ボーレートジェネレー タの設定 UART 内 トータル分周比 プリスケーラ選択 ボーレート カウン 部分周 (PSS × BRS × 4) PSS[1:0] タ設定 BRS[7:0] ボーレート (10 MHz ÷ トータル 分周比 ) ボーレート (16 MHz ÷ トータル 分周比 ) ボーレート (16.25 MHz ÷ トータル 分周比 ) 1 ( 設定値 : 0,0) 20 4 80 125000 200000 203125 1 ( 設定値 : 0,0) 22 4 88 113636 181818 184659 1 ( 設定値 : 0,0) 44 4 176 56818 90909 92330 1 ( 設定値 : 0,0) 87 4 348 28736 45977 46695 1 ( 設定値 : 0,0) 130 4 520 19231 30769 31250 2 ( 設定値 : 0,1) 130 4 1040 9615 15385 15625 4 ( 設定値 : 1,0) 130 4 2080 4808 7692 7813 8 ( 設定値 : 1,1) 130 4 4160 2404 3846 3906 また , クロック非同期モード (UART) におけるボーレート設定が可能な範囲は以下のと おりです。 表 20.3-2 クロック非同期モード (UART) におけるボーレート設定可能範囲 332 PSS[1:0] BRS[7:0] 0b00 ~ 0b11 0x02(2) ~ 0xFF(255) FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 20 章 UART/SIO 専用 ボーレートジェネレータ 20.4 レジスタ MB95850K/860K/870K シリーズ 20.4 レジスタ UART/SIO 専用ボーレートジェネレータのレジスタについて説明します。 表 20.4-1 UART/SIO 専用ボーレートジェネレータのレジスタ一覧 レジスタ略称 レジスタ名 参照先 PSSRn UART/SIO 専用ボーレートジェネレータプリスケーラ選択レジスタ ch. n BRSRn UART/SIO 専用ボーレートジェネレータボーレート設定レジスタ ch. n 20.4.2 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 20.4.1 333 第 20 章 UART/SIO 専用 ボーレートジェネレータ 20.4 レジスタ 20.4.1 MB95850K/860K/870K シリーズ UART/SIO 専用ボーレートジェネレータプリスケー ラ選択レジスタ ch. n (PSSRn) UART/SIO 専用ボーレートジェネレータプリスケーラ選択レジスタ ch. n (PSSRn) は , ボーレートクロックの出力とプリスケーラを制御するレジスタです。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — — — — BRGE PSS1 PSS0 属性 — — — — — R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7:3] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit2] BRGE: ボーレートクロック出力許可ビット このビットはボーレートクロック "BRCLK" の出力を許可または禁止します。 このビットに "1" が書き込まれた場合 , BRSRn レジスタの BRS[7:0] ビットの値が 8 ビットダウンカ ウンタにロードされ , UART/SIO に供給される BRCLK が出力されます。 このビットに "0" が書き込まれた場合 , BRCLK の出力が停止します。 説明 bit2 "0" を書き込んだ場合 ボーレートクロックの出力を禁止します。 "1" を書き込んだ場合 ボーレートクロックの出力を許可します。 [bit1:0] PSS[1:0]: プリスケーラ選択ビット これらのビットはプリスケーラを選択します。 説明 bit1:0 "00" を書き込んだ場合 1 "01" を書き込んだ場合 1/2 "10" を書き込んだ場合 1/4 "11" を書き込んだ場合 1/8 334 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 20 章 UART/SIO 専用 ボーレートジェネレータ 20.4 レジスタ MB95850K/860K/870K シリーズ 20.4.2 UART/SIO 専用ボーレートジェネレータボーレート 設定レジスタ ch. n (BRSRn) UART/SIO 専用ボーレートジェネレータボーレート設定レジスタ ch. n (BRSRn) は , ボーレートの設定を制御するレジスタです。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field BRS7 BRS6 BRS5 BRS4 BRS3 BRS2 BRS1 BRS0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 このレジスタは 8 ビットダウンカウンタの周期を設定します。このレジスタにより任 意のボーレートクロック (BRCLK) が設定できます。このレジスタへの書込みは UART/ SIO の動作停止中に行ってください。 クロック非同期モード (UART) では , BRS[7:0] を "0x00" または "0x01" に設定しないで ください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 335 第 20 章 UART/SIO 専用 ボーレートジェネレータ 20.4 レジスタ MB95850K/860K/870K シリーズ 336 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 21 章 I2C バスインタフェース I2C バスインタフェース の機能と動作について説 明します。 21.1 概要 21.2 構成 21.3 チャネル 21.4 端子 21.5 割込み 21.6 動作説明と設定手順例 21.7 レジスタ 21.8 使用上の注意 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 337 第 21 章 I2C バスインタフェース 21.1 概要 21.1 MB95850K/860K/870K シリーズ 概要 I2C バスインタフェースは, マスタ / スレーブモードの送信と受信, アービトレーショ ンロスト検出, スレーブアドレス / ゼネラルコールアドレス検出, スタート / ストップ 条件の発生と検出 , バスエラー検出および MCU スタンバイウェイクアップ機能を提 供します。 ■ I2C バスインタフェースの機能 I2C バスインタフェースは双方向バスで , シリアルデータライン (SDAn) とシリアルク ロックライン (SCLn) の 2 本のワイヤから構成されます。この 2 本のワイヤによってバ スに接続される各装置は , 互いに情報伝達が行われ , 各装置にある固有のアドレスを認 識することにより , それぞれの装置の機能に応じて送信装置および受信装置として動 作が可能となります。 装置間にはマスタとスレーブという関係が成り立ちます。 I2C バスインタフェースはバスのキャパシタンスの上限値が 400 pF を超えなければ , バスに複数の装置を接続できます。複数のマスタが同時にデータ転送を開始しようと した場合でも , データの破壊を防ぐために , 衝突検出および通信調整手順を備えている 本格的なマルチマスタバスです。 通信調整手順とは複数のマスタが同時にバスを制御しようとした場合に, 1 つのマスタ だけがバスを制御できるようにし , さらにメッセージが失われたり , 内容が変更された りしないようにする手順です。また , マルチマスタとはメッセージを失うことなく , 複 数のマスタが同時にバスを制御しようとすることです。 本 I2C バスインタフェースは , MCU スタンバイモードウェイクアップ機能を内蔵して います。 図 21.1-1 I2C バスインタフェースの構成例 マイクロコントローラA LCDドライバ スタティックRAM/ EEPROM SDAn SCLn ゲートアレイ 338 A/Dコンバータ FUJITSU SEMICONDUCTOR LIMITED マイクロコントローラB MN702-00010-2v0-J MB95850K/860K/870K シリーズ 21.2 構成 第 21 章 I2C バスインタフェース 21.2 構成 I2C バスインタフェース は , 以下のブロックで構成されます。 • クロックセレクタ • クロック分周器 • シフトクロック発生器 • スタート / ストップ条件発生回路 • スタート / ストップ条件検出回路 • アービトレーションロスト検出回路 • スレーブアドレス比較回路 • IBSRn レジスタ • IBCR0n レジスタ • IBCR1n レジスタ • ICCRn レジスタ • IAARn レジスタ • IDDRn レジスタ 品種により , I2C バスインタフェースの端子数およびチャネル数は異なります。詳細は , デバイスのデータシートを参照してください。 本章において , 端子名とレジスタ略称にある "n" はチャネル番号を示します。各品種の 端子名 , レジスタ名とレジスタ略称について , デバイスのデータシートを参照してくだ さい。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 339 第 21 章 I2C バスインタフェース 21.2 構成 MB95850K/860K/870K シリーズ ■ I2C バスインタフェースのブロックダイヤグラム 図 21.2-1 I2C バスインタフェースのブロックダイヤグラム I2Cバスインタフェース許可 ICCRn 5 EN 6 7 8 クロックセレクタ 1 CS4 CS3 CS2 CS1 CS0 マシンクロック クロック分周器 1 DMBP クロック分周器 2 4 8 22 38 98 128 256 512 クロックセレクタ 2 IBSRn BB RSC LRB Sync シフトクロック 発生器 シフトクロックエッジ バスビジー リピートスタート スタート / ストップ 条件検出回路 ラストビット 送信 / 受信 エラー TRX 第 1 バイト FBT F2 MC-8FX 内部バス アービトレーションロスト検出回路 IBCR1n BER BEIE 転送割込み INTE INT SCC MSS DACKE 終了 スタート マスタ ACK 許可 スタート / ストップ 条件発生回路 GC-ACK 許可 アドレス ACK 許可 GACKE INT タイミング選択 IDDRnレジスタ IBSRn AAS GCA IBCR0n スレーブ ゼネラル コール スレーブアドレス 比較回路 IAARnレジスタ AACKX INTS SCLnライン ALF SDAnライン ALE SPF ストップ割込み SPE WUF WUE 340 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 21 章 I2C バスインタフェース 21.2 構成 ● クロックセレクタ・クロック分周器・シフトクロック発生器 この回路はマシンクロックを使用し , I2C バスのシフトクロックを発生します。 ● スタート / ストップ条件発生回路 バス開放時 (SCLn と SDAn が "H" レベルの場合 ), スタート条件を送信することによっ てマスタは通信を開始します。SCLn="H" の場合に , SDAn ラインを "H" → "L" にすると スタート条件になります。マスタはストップ条件を発生することによって通信を終了 できます。SCLn="H" の場合に , SDAn ラインが "L" → "H" にするとストップ条件になり ます。 ● スタート / ストップ条件検出回路 この回路は , データ転送のスタート / ストップ条件を検出します。 ● アービトレーションロスト検出回路 このインタフェース回路はマルチマスタシステムに対応しています。複数のマスタが 同時送信すると , アービトレーションロスト (SDAn ラインが "L" レベルのときに論理 レベル "1" を送信した場合 ) が発生します。アービトレーションロストを検出すると , IBCR0n:ALF が "1" になり , マスタは自動的にスレーブに変わります。 ● スレーブアドレス比較回路 スレーブアドレス比較回路は , スタート条件後 , スレーブアドレスを受信して自己のス レーブアドレスと比較します。このアドレスは 7 ビットのデータで , その後部に 8 ビッ ト目のデータ方向ビット (R/W) が続きます。受信したアドレスが自己のスレーブアド レスと一致した場合にアクノリッジを送信します。 ● IBSRn レジスタ IBSRn レジスタ は I2C バスインタフェースのステータスを表します。 ● IBCR0n レジスタと IBCR1n レジスタ IBCR0n レジスタと IBCR1n レジスタはオペレーティングモードの選択 , 割込みの許可 / 禁止 , アクノリッジの許可 / 禁止 , ゼネラルコールアクノリッジの許可 / 禁止および MCU スタンバイモードウェイクアップ機能の許可 / 禁止時に使用されます。 ● ICCRn レジスタ ICCRn レジスタは I2C バスインタフェースの動作許可とシフトクロック周波数の選択 に使用されます。 ● IAARn レジスタ IAARn レジスタはスレーブアドレスの設定に使用されます。 ● IDDRn レジスタ IDDRn レジスタは , 送受信されるシフトデータ / アドレスを保持するレジスタです。送 信のとき , このレジスタに書かれたデータ / アドレスが MSB ファーストからバスに転 送されます。 ■ 入力クロック I2C バスインタフェースは , マシンクロックを入力クロック ( シフトクロック ) として 使用します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 341 第 21 章 I2C バスインタフェース 21.3 チャネル 21.3 MB95850K/860K/870K シリーズ チャネル I2C バスインタフェースのチャネルについて説明します。 ■ I2C バスインタフェースのチャネル I2C バスインタフェース の端子とレジスタを表 21.3-1 および表 21.3-2 にそれぞれ示し ます。 表 21.3-1 I2C バスインタフェースの端子 端子名 端子機能 SDAn I2C バスインタフェース I/O SCLn 表 21.3-2 I2C バスインタフェースのレジスタ レジスタ略称 342 レジスタ対応 ( 本マニュアル上の表記 ) IBCR0n I2C バス制御レジスタ 0 ch. n IBCR1n I2C バス制御レジスタ 1 ch. n IBSRn I2C バスステータスレジスタ ch. n IDDRn I2C データレジスタ ch. n IAARn I2C アドレスレジスタ ch. n ICCRn I2C クロック制御レジスタ ch. n FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 21.4 端子 第 21 章 I2C バスインタフェース 21.4 端子 I2C バスインタフェースの端子について説明します。 ■ I2C バスインタフェースの端子 I2C バスインタフェースの端子には , SDAn 端子および SCLn 端子があります。 ● SDAn 端子 SDAn 端子は , I2C バスインタフェースのデータ入出力端子です。 I2C バスインタフェース が許可 (ICCRn:EN = 1) された場合 , 自動的にデータ入出力端 子になり , SDAn 端子として機能します。 ● SCLn 端子 SCLn 端子は , I2C バスインタフェースのシフトクロック入出力端子です。 I2C バスインタフェースが許可 (ICCRn:EN = 1) された場合 , 自動的にシフトクロック 入出力端子になり , SCLn 端子として機能します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 343 第 21 章 I2C バスインタフェース 21.5 割込み 21.5 MB95850K/860K/870K シリーズ 割込み I2C バスインタフェースは , 転送割込みとストップ割込みがあり , 次に示す要因で割込 みを発生します。 • 転送割込み データ転送が完了した場合またはバスエラーが発生した場合 • ストップ割込み ストップ条件を検出した場合 , アービトレーションロストを検出した場合または ストップモード / 時計モードで I2C バスインタフェースにアクセスがあった場合 ■ 転送割込み 表 21.5-1 に, 転送割込みの制御ビットと I2Cバスインタフェースの割込み要因について 示します。 表 21.5-1 転送割込みの制御ビットと I2C バスインタフェースの割込み要因 割込み要求 フラグビット 項目 転送完了 IBCR1n:INT = 1 バスエラー IBCR1n:BER = 1 割込み要求許可ビット IBCR1n:INTE = 1 IBCR1n:BEIE = 1 割込み要因 データ転送完了 バスエラー発生 • 転送完了時の割込み データ転送が完了して転送完了割込み要求許可ビットが許可 (IBCR1n:INTE = 1) さ れている場合 , CPU に割込み要求を出力します。 割込みサービスルーチン内で転送 完了割込み要求フラグビット (IBCR1n:INT) に "0" を書き込んで割込み要求をクリ アしてください。 IBCR1n:INTE ビット値にかかわらず , データ転送を完了した場合 は , IBCR1n:INT ビットが "1" に設定されます。 • バスエラー時の割込み 以下の条件が成立した場合はバスエラーと判断され , I2C バスインタフェースは停 止状態となります。 - マスタ時にストップ条件を検出した場合。 - 第 1 バイト送受信中にスタートまたはストップ条件を検出した場合。 - データ送受信中 ( スタート , 1 番目のデータおよびストップビットを除く ) にス タートまたはストップ条件を検出した場合。 この場合 , バスエラー割込み要求許可ビットが許可 (IBCR1n:BEIE = 1) されていると CPU に割込み要求を出力します。割込みサービスルーチン内でバスエラー割込み要求 フラグビット (IBCR1n:BER) に "0" を書き込んで , 割込み要求をクリアしてください。 IBCR1n:BEIE ビット値にかかわらず , バスエラーが発生した場合は , IBCR1n:BER ビッ トが "1" に設定されます。 344 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 21 章 I2C バスインタフェース 21.5 割込み MB95850K/860K/870K シリーズ ■ ストップ割込み 表 21.5-2 に , ストップ割込みの制御ビットと I2C バスインタフェース の割込み要因 ( ト リガイベント ) について示します。 表 21.5-2 ストップ割込みの制御ビットと I2C バスインタフェースの割込み要因 割込み要求フラグビット IBCR0n:SPF = 1 IBCR0n:ALF = 1 MCU のストップ / 時計 モードに対する ウェイクアップ機能 IBCR0n:WUF =1 割込み要求許可ビット IBCR0n:SPE = 1 IBCR0n:ALE = 1 IBCR0n:WUE = 1 割込み要因 ストップ条件検出 アービトレーションロス トを検出している場合 スタート条件検出 項目 ストップ条件検出 アービトレーション ロスト検出 • ストップ条件検出時の割込み 以下のすべての条件が成立しているときにストップ条件が検出された場合 , ストッ プ条件は正常として扱われます。 - バスビジー中 ( スタート条件が検出されている状態 ) - IBCR1n:MSS = 0 - アクノリッジを含む 1 バイトのデータ転送後 この場合 , ストップ条件検出割込み要求許可ビットが許可 (IBCR0n:SPE = 1) されてい ると CPU に割込み要求を出力します。割込みサービスルーチン内で IBCR0n:SPF ビッ トに "0" を書き込んで , 割込み要求をクリアしてください。 IBCR0n:SPE ビット値にかかわらず , 有効なストップ条件が発生した場合 , IBCR0n:SPF ビットが "1" に設定されます。 • アービトレーションロスト検出時の割込み アービトレーションロストが検出され , アービトレーションロスト検出割込み要求 許可ビットが許可 (IBCR0n:ALE = 1) されていると , CPU に割込み要求を出力しま す。バ ス が ア イ ド ル 中 に ア ー ビ ト レ ー シ ョ ン ロ ス ト 割 込 み 要 求 フ ラ グ ビ ッ ト (IBCR0n:ALF) に "0" を書き込むかバスビジー中に割込みサービスルーチン内で IBCR1n:INT ビットに "0" を書き込んで , 割込み要求をクリアしてください。 IBCR0n:ALE ビット値にかかわらず , アービトレーションロストが発生した場合 , IBCR0n:ALF ビットが "1" に設定されます。 • MCU のストップ モード / 時計モードに対するウェイクアップ機能時の割込み MCU のストップモード / 時計モードに対するウェイクアップ機能が許可 (IBCR0n: WUE = 1) されており , スタート条件が検出されると , CPU に割込み要求が出力され ます。 割込みサービスルーチン内で MCU スタンバイモードウェイクアップ割込み要求フ ラグビット (IBCR0n:WUF) に "0" を書き込んで , 割込み要求をクリアしてください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 345 第 21 章 I2C バスインタフェース 21.6 動作説明と設定手順例 21.6 MB95850K/860K/870K シリーズ 動作説明と設定手順例 I2C バスインタフェースの動作について説明します。 ■ I2C バスインタフェースの動作 ● I2C バスインタフェース I2C バスインタフェースは , シフトクロックに同期した 8 ビットデータのシリアルイン タフェースです。 ● MCU スタンバイモードに対するウェイクアップ機能 MCU をストップモード / 時計モード の低消費電力モードで動作させておいた場合で も , スタート条件の検出により , ウェイクアップさせることができるウェイクアップ機 能があります。 ■ 設定手順例 I2C バスインタフェース の設定手順例を以下に示します。 ● 初期設定 1. ポートの入力を設定してください (DDR)。 2. 割込みレベルを設定してください (ILR*)。 3. スレーブアドレスを設定してください (IAARn)。 4. クロック選択 , I2C バスインタフェース動作を許可してください (ICCRn)。 5. バスエラー割込み要求を許可してください (IBCR0n:BEIE = 1)。 *: 割込みレベル設定レジスタ (ILR) の詳細について , 本ハードウェアマニュアルの「第 5 章 割 込み」とデバイスのデータシートの「■ 割込み要因のテーブル」を参照してください。 ● 割込み処理 1. 任意の処理を行ってください。 2. バスエラー割込み要求フラグをクリアしてください (IBCR1n:BER = 0)。 346 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 21 章 I2C バスインタフェース 21.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ l2C バスインタフェース 21.6.1 I2C バスインタフェースは , シフトクロックに同期した 8 ビットデータのシリアルイ ンタフェースです。 ■ I2C のシステム I2C バスシステムはデータ転送にシリアルデータライン (SDAn) とシリアルクロック ライン (SCLn) を使用します。バスに接続された全装置はオープンドレインまたはオー プンコレクタ出力である必要があり , プルアップ抵抗を接続して使用します。 バスに接続された各デバイスには固有のアドレスがあり , アドレスは , ソフトウェアで 設定が可能です。 そして常に単純なマスタ / スレーブ関係が存在し , マスタはマスタト ランスミッタまたはマスタレシーバとして機能します。 万一 , 複数のマスタが同時に データ転送を開始しようとした場合でも , データ破壊を防ぐために衝突検出機能およ びアービトレーション機能を備えた本格的なマルチマスタバスです。 ■ I2C のプロトコル 図 21.6-1 に , データ転送に必要なフォーマットを示します。 図 21.6-1 データ転送例 MSB LSB MSB LSB SDAn SCLn スタート 条件 (S) 7 ビットアドレス R/W アクノリッジビット 8 ビットデータ ストップ 条件 (P) アクノリッジなし スタート条件 (S) 発生後 , スレーブアドレスが送信されます。このアドレスは 7 ビット 長で , 8 ビット目にデータ方向ビット (R/W) があります。アドレスの後にデータが送信 されます。 データは 8 ビット長で , その後にアクノリッジビットがあります。 データは 8 ビット+アクノリッジの単位で連続させることにより同一スレーブアドレ スに連続して送信できます。 データ転送は常にマスタストップ条件 (P) で終了します。しかし , 繰返しスタート条件 (S) を行うことによって , ストップ条件を発生せずに別のスレーブを示すアドレスを送 信することも可能です。 ■ スタート条件 バスが開放されている状態 (SCLn と SDAn の両方が論理 "H" である ) において , マス タはスタート条件を発生することによって送信を開始します。図 21.6-1 に示したとお り , SCLn="H" の場合に SDAn ラインを "H" → "L" にするとスタート条件となります。 この場合 , 新しいデータ転送が始まり , マスタ / スレーブ動作を開始します。 スタート条件を発生させる条件として , 次の 2 とおりがあります。 • I2C バスインタフェースが使用されていない状態 (IBCR1n:MSS = 0, IBSRn:BB = 0, IBCR1n:INT = 0, IBCR0n:ALF=0) での IBCR1n:MSS ビットの"1"の書込みを行った場 合 ( その後 , IBSRn:BB が "1" に設定され , バスビジーを示します ) 。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 347 第 21 章 I2C バスインタフェース 21.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ • バスマスタ時の割込み状態 (IBCR1n:MSS = 1, IBSRn:BB = 1, IBCR1n:INT = 1, IBCR0n:ALF = 0) での IBCR1n:SCC ビットへの "1" の書込みを行った場合 ( これによ り繰返しスタート条件を発生します ) 。 上記の条件以外において , IBCR1n:MSS = 1 または IBCR1n:SCC = 1 の書込みは無視され ます。ほかのシステムがバス使用中に , IBCR1n:MSS ビットへの "1" の書込みを行うと , IBCR0n:ALF ビットが "1" に設定されます。 ■ アドレッシング ● マスタモードにおいてスレーブアドレッシングをする場合 マスタモードでは , スタート条件発生後 , IBSRn:BB = 1, IBSRn:TRX = 1 に設定され , ス レーブアドレスの IDDRn レジスタの内容を上位ビット MSB からバスに出力します。こ のアドレスデータは , 7 ビットのスレーブアドレスとデータの転送方向を示す R/W ビット (IDDRn レジスタ の bit0) の 8 ビットで構成されます。 アドレスデータ送信後 , スレーブからアクノリッジを受信します。 9 番目のクロックサ イクルで SDAn が "L" レベルになって , 受信デバイスからアクノリッジビットを受信し ます ( 図 21.6-1 を参照 )。 この場合 , R/W ビット (IDDRn:bit0) が論理的に反転し , SDAn が "L" の場合は "1" として IBSRn:TRX ビットに格納されます。 ● スレーブモードにおいてアドレッシングを受ける場合 スレーブモードではスタート条件検出後, IBSRn:BB = 1, IBSRn:TRX = 0 に設定され, マ スタからの受信データを IDDRn レジスタへ格納します。アドレスデータ受信後 , IDDRn レジスタと IAARn レジスタとの比較が行われ , 一致している場合 , IBSRn:AAS = 1 に設 定し , マスタに対してアクノリッジを送信します。その後, 受信データの bit0 (IDDRn レ ジスタの bit0) を IBSRn:TRX ビットへ格納します。 ■ データ転送 スレーブとしてアドレス指定されると , マスタが送った R/W ビットによって決定され る方向で , バイトごとにデータ送受信ができます。 SDAn ラインに出力される各バイトは 8 ビット固定です。図 21.6-1 に示したとおりア クノリッジクロックパルスが "H" の状態の場合に SDAn ラインを "L" レベルの状態に 安定させることで , 受信装置はアクノリッジを送信側に伝えるようになっています。 MSB を先頭に 1 ビットごとに 1 クロックパルスでデータを転送します。バイト転送ご とに, アクノリッジの送受信が行われる必要があります。そのため, 1 つの完全なデータ バイト転送は 9 つのクロックパルスが必要です。 ■ アクノリッジ アクノリッジは , 次に示す条件の元 , 送信側データバイト転送の 9 番目のクロックサイ クルに対して受信側から送信されます。 アドレスアクノリッジは下記条件で発生します。 • 受信アドレスが IAARn の設定アドレスと一致し, さらにアドレスアクノリッジ自動 出力 (IBCR0n:AACKX = 0) の場合 • ゼネラルコールアドレス (0x00) を受信し , さらにゼネラルコールアドレスアクノ リッジ出力許可 (IBCR1n:GACKE = 1) の場合 データを受信したときのデータアクノリッジビットは , IBCR1n:DACKE ビットにより 許可 / 禁止できます。マスタモードでは IBCR1n:DACKE = 1 のときにデータアクノ 348 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 21 章 I2C バスインタフェース 21.6 動作説明と設定手順例 リッジが発生し , スレーブモードでは , アドレスアクノリッジが既に発生しており , か つ IBCR1n:DACKE = 1 の場合に , データアクノリッジが発生します。また , 受信したア クノリッジは , 9 番目の SCLn サイクルで IBSRn:LRB に保持されます。 • データアクノリッジが受信データの内容に依存する場合 (SM バスで使われるパケッ トエラーチェッキングなど ), IBCR0n:INTS ビットに "1" を書き込む ( 例えば前の転 送完了割込みにて ) ことで最新の受信データを読み出せるようにした上で , データ アクノリッジ許可ビット (IBCR1n:DACKE) の設定によりデータアクノリッジを制御 してください。 • 最新のデータアクノリッジ (IBSRn:LRB) の読出しは , アクノリッジ受信後に行えま す (LRB の読出しは , 9 番目の SCLn サイクルにおける転送終了割込みで行われる必 要があります ) 。 そのため , IBCR0n:INTS ビットが "1" のときにアクノリッジを読み 出す場合は , 8 番目の SCLn サイクルによる転送終了割込み中に , このビットに "0" を書き込んで , 9 番目の SCLn サイクルで , 再度 , 転送終了割込みが発生するように 設定してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 349 第 21 章 I2C バスインタフェース 21.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ ■ ゼネラルコールアドレス ゼネラルコールアドレスは , スタートアドレスバイト (0x00) とそれに続く第 2 アドレ スバイトから構成されます。ゼネラルコールアドレスを使用するためには , 第 1 バイト のゼネラルコールアドレスに対するアクノリッジの前に , IBCR1n:GACKE = 1 を設定 しておいてください。 また , 第 2 アドレスバイトのアクノリッジは , 図 21.6-2 に示され るような方法で制御できます。 図 21.6-2 ゼネラルコール動作 スレーブモード 第 1 バイトゼネラルコールアドレス 第 2 バイトゼネラルコールアドレス ACK ACK/NACK 9th SCL↓で IBCR1n:INTが設定される IBSRn:LRB を読み出す 9th SCL↓で IBCR1n:INT が設定される IBCR0n:INTS=1を設定する IBCR1n:GACKE=1のとき ACK が与えられ IBSRn:GCAが設定される 8th SCL↓でIBCR1n:INT が設定される IDDRnを読み出してIBCR1n:DACKE によりACK/NACKを制御 IBSRn:LRBを読み出す必要がある場合は INTS=0に設定する (a) スレーブモード時のゼネラルコール動作 マスタモード GACKE=1 第 1 バイトゼネラルコールアドレス 第 2 バイトゼネラルコールアドレス ACK 9th SCL↓で IBCR1n:INT が設定される IBCR0n:INTS=1, GACKE=0 を設定する ACK が与えられ, IBSRn:GCAが設定される ACK/NACK 9th SCL↓でIBCR1n:INTが設定される IBSRn:LRBを読み出す GCAがクリアされる 8th SCL↓でIBCR1n:INTが設定される IBSRn:LRBを読み出すためINTS=0に設定する (b) マスタモード時のゼネラルコール動作 (AL なし, GACKE=1 からスタート) マスタモード GACKE=1 第 1 バイトゼネラルコールアドレス 第 2 バイトゼネラルコールアドレス ACK ACK/NACK 9th SCL↓でIBCR1n:INTが設定される IBSRn:LRBを読み出す 9th SCL↓で IBCR1n:INTが設定される IBCR0n:INTS=1, GACKE=0 を設定する 8th SCL↓で IBCR1n:INTが設定される IDDRnを読み出してIBCR1n:DACKEによりACK/NACKを制御 IBSRn:LRBを読み出す必要がある場合はINTS=0に設定する ACK が与えられ, IBSRn:GCA が設定される 第2アドレスでALが発生してスレーブモードへ切り換える (c) マスタモード時のゼネラルコール動作 (第 2 アドレスで AL あり, GACKE=1 からスタート) マスタモード GACKE=0 第1バイトゼネラルコールアドレス NACK 第2バイトゼネラルコールアドレス 9th SCL↓で IBCR1n:INT が設定される IBCR0n:INTS=1を設定する ACK は与えられず, IBSRn:GCAは設定されない ACK/NACK 9th SCL↓で IBCR1n:INTが設定される IBSRn:LRBを読み出す 8th SCL↓でIBCR1n:INTが設定される IBSRn:LRBを読み出すため INTS=0に設定する (d) マスタモード時のゼネラルコール動作 (ALなし, GACKE=0 からスタート) マスタモード GACKE=0 第1バイトゼネラルコールアドレス NACK 第2バイトゼネラルコールアドレス 9th SCL↓で IBCR1n:INTが設定される IBCR0n:INTS=1を設定する ACK は与えられず,IBSRn:GCAは設定されない ACK/NACK 9th SCL↓で IBCR1n:INTが設定される IBSRn:LRBを読み出す 8th SCL↓で IBCR1n:INTが設定される IDDRnを読み出して IBCR1n:DACKEによりACK/NACKを制御 IBSRn:LRBを読み出す必要がある場合は INTS=0に設定する 第2アドレスで AL が発生し, IBSRn:GCAが設定され, スレーブモードへ切換える (e) マスタモード時のゼネラルコール動作 (第2アドレスでALあり, GACKE=0からスタート) ACK NACK GCA AL : アクノリッジ : アクノリッジなし : ゼネラルコールアドレス : アービトレーションロスト 本モジュールとほかのデバイスがゼネラルコールアドレスを同時に送信した場合, 第 2 アドレスバイト転送時にアービトレーションロストが検出されていないかどうかで , バスを獲得したかどうかを確認できます。もし , アービトレーションロストが検出され た場合 , 本モジュールはスレーブモードとなり , マスタからのデータ受信を継続しま す。 350 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 21 章 I2C バスインタフェース 21.6 動作説明と設定手順例 ■ ストップ条件 ストップ条件を発生させることによって , マスタはバスを開放して通信を終了します。 SCLn が "H" の場合に , SDAn ラインを "L" → "H" にするとストップ条件となります。マ スタモード時の通信終了 ( 以後バスフリー) をバス上のデバイスに知らせるための信号 です。また , マスタはストップ条件を発生させずに , 連続してスタート条件を発生でき ます。これを繰返しスタート条件とよびます。 バスマスタ時の割込み状態 (IBCR1n:MSS = 1 , IBSRn:BB = 1, IBCR1n:INT = 1 および IBCR0n:ALF = 0) で , IBCR1n:MSS ビットに "0" を書き込むとストップ条件が発生して スレーブモードになります。上記以外において , IBCR1n:MSS ビットへの "0" の書込み は無視されます。 ■ アービトレーション このインタフェース回路は複数のマスタを接続できる本格的なマルチマスタバスで す。 マスタ転送で , システム内のほかのマスタが同時にデータ転送をした場合 , アービ トレーションが発生します。 アービトレーションは , SCLn ラインが "H" レベルの場合に SDAn ラインで発生しま す。マスタは , 自身の送信データが "1", SDAn ライン上のデータが "L" レベルの場合 , アービトレーションロストが発生したとみなし , データ出力をオフにして , IBCR0n:ALF = 1 に設定します。このとき , アービトレーションロスト割込みが許可 (IBCR0n:ALE = 1) されていると , 割込みが発生します。IBCR0n:ALF = 1 に設定される と , IBCR1n:MSS = 0, IBSRn:TRX = 0 となり , TRX ビットがクリアされてスレーブ受信 モードとなります。 もし , IBSRn:BB=0 のときに IBCR0n:ALF が "1" に設定された場合 , IBCR0n:ALF は "0" の書込みでのみクリアされます。また , IBSRn:BB = 1 のときに IBCR0n:ALF が "1" に設 定された場合 , IBCR0n:ALF は IBCR1n:INT を "0" にクリアすることによってのみクリ アされます。 ● IBSRn:BB = 0 でアービトレーションロスト割込みが発生する条件 図 21.6-3 や 図 21.6-4 に示されるようなタイミングにて , プログラムによりスタート条 件を発生させた場合 (IBCR1n:MSS を "1" に設定 ), アービトレーションロスト検出 (IBCR0n:ALF = 1) により割込みの発生 (IBCR1n:INT = 1) が抑止されます。 • アービトレーションロストにより割込みが発生しない条件 1 スタート条件が検出されておらず (IBSRn:BB = 0), SDAn と SCLn ラインの端子状態が "L" レベルとなっている状態で , プログラムによりスタート条件を発生 (IBCR1n:MSS を "1" に設定 ) させた場合。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 351 第 21 章 I2C バスインタフェース 21.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ 図 21.6-3 IBCR0n:ALF = 1 で割込みが発生しない場合のタイミングダイヤグラム SCLn端子もしくはSDAn端子が “L” レベル "L" SCLn端子 "L" SDAn端子 1 I2C 動作許可状態 (ICCRn:EN = 1) マスタモード設定 (IBCR1n:MSS = 1) アービトレーションロスト検出ビット (IBCR0n:ALF = 1) 352 バスビジー (IBSRn:BB) 0 割込み (IBCR1n:INT) 0 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 21 章 I2C バスインタフェース 21.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ • アービトレーションロストにより割込みが発生しない条件 2 I2C バスがほかのマスタにより使用されているとき , プログラムにより I2C バスインタ フェース の動作を許可 (ICCRn:ENを"1"に設定) し, スタート条件を発生 (IBCR1n:MSS を "1" に設定 ) させた場合。 これは , 図 21.6-4 に示すように , 本 I2C バスインタフェースの動作が禁止 (ICCRn:EN = 0) のときに I2C バス上のほかのマスタが通信を開始した場合, 本 I2Cバスインタフェー ス はスタート条件を検出できないためです (IBSRn:BB = 0)。 図 21.6-4 IBCR0n:ALF = 1 で割込みが発生しない場合のタイミングダイヤグラム スタート条件 9番目のクロックサイクルで IBCR1n:INTの 割込みは発生しない ストップ条件 SCLn端子 スレーブアドレス SDAn端子 ACK データ ACK ICCRn:EN IBCR1n:MSS IBCR0n:ALF IBSRn:BB 0 IBCR1n:INT 0 上記のような現象が発生し得る場合 , 以下のソフトウェアの設定手順に従ってくださ い。 1. プログラムによりスタート条件を発生させる (IBCR1n:MSS を "1" に設定 ) 。 2. アービトレーションロスト割込みで IBCR0n:ALF と IBSRn:BB を確認。 IBCR0n:ALF = 1かつIBSRn:BB = 0であった場合, IBCR0n:ALFを "0" にクリアします。 IBCR0n:ALF = 1 かつ IBSRn:BB = 1 であった場合 , IBCR0n:ALE を "0" にクリアして 通常制御を行います ( 通常制御の INT 割込みにて , IBCR1n:INT への "0" の書込みで IBCR0n:ALF を "0" にクリアします )。 それ以外は , 通常制御を行います ( 通常制御の INT 割込みにて , IBCR1n:INT への "0" の書込みで IBCR0n:ALF をクリアします )。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 353 第 21 章 I2C バスインタフェース 21.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ 図 21.6-5 に , サンプルフローを示します。 図 21.6-5 サンプルフロー 1 AL割込みを許可 (IBCR0n:ALE=1) マスタモードに設定 I2Cバス制御レジスタ1 ch. n (IBCR1n)のMSSビットを“1”に設定 IBCR0n:ALF = 1 NO YES IBSRn:BB = 0 NO YES IBCR0n:ALFに“0”をライトして ALフラグと割込みをクリア IBCR0n:ALEに“0”をライトして AL割込みをクリア 通常制御 ● 「IBCR0n:ALF = 1」の検出時における割込み (IBCR1n:INT = 1) 発生例 バスビジー(IBSRn:BB = 1) およびアービトレーションロストが検出されたとき , プロ グラムがスタート条件を発生させた場合 (IBCR1n:MSS を "1" に設定 ),「IBCR0n:ALF = 1」の検出により転送完了割込み (IBCR1n:INT = 1) が発生します。 図 21.6-6 「IBCR0n:ALF = 1」検出時における割込み発生のタイミングダイヤグラム スタート条件 9 番目のクロックサイクルにおける割込み SCLn端子 SDAn端子 スレーブアドレス データ ACK ICCRn:EN IBCR1n:MSS IBCR0n:ALF ソフトウェアにより IBCR0n:ALFをクリア IBSRn:BB IBCR1n:INT 354 ソフトウェアにより IBCR1n:INTを クリアして SCLnラインをリリース FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 21 章 I2C バスインタフェース 21.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ 21.6.2 MCU スタンバイモードに対するウェイクアップ機能 ウェイクアップ機能により , MCU のストップモード / 時計モードで I2C バスインタ フェースへアクセスできます。 ■ MCU スタンバイモードに対するウェイクアップ機能 本 I2C バスインタフェースは , MCU スタンバイモードウェイクアップ機能を内蔵して おり , MCU スタンバイモードウェイクアップ機能許可ビット (IBCR0n:WUE) に "1" を 書き込むと動作を許可できます。 MCU がストップ モード / 時計モードで WUE ビットが "1" のとき , I2C バス上にスター ト条件を検出すると , MCU スタンバイモードウェイクアップ割込み要求フラグビット (IBCR0n:WUF) が "1" に設定され , MCU をストップモード / 時計モードからウェイク アップさせるためのウェイクアップ割込み要求を発生します。 • MCU をストップ モード / 時計モードに入れる直前に , WUE ビットを "1" に設定し てください。 また , MCU がストップモード / 時計モードからウェイクアップした後 , 2 I C の動作を直ちに再開できるように WUE ビット をクリア ("0" 書込み ) してくだ さい。 • このウェイクアップ機能は MCU のストップ モード / 時計モードでのみ有効です。 図 21.6-7 通常の I2C バスインタフェース動作とウェイクアップ中の動作との比較 SDAn SCLn 5 IBCR0n:WUF による IRQ マシン クロック 1 2 3 4 ➀ ストップモード / 時計モードに入る直前に IBCR0n:WUE を "1" に設定し , IBSRn:BB = 0 を確認する。 ➁ MCU をストップモード / 時計モードに設定し , マシンクロックを停止させる。 ➂ ストップモード / 時計モード中に , スタート条件を検出。IBCR0n:WUF = 1 となり , ウェイクアップ IRQ が発生。ス トップモードの場合 , 発振安定待ち時間後 , MCU はウェイクアップし , ストップモード / 時計モードに入る前の クロックモードとなる。 ➃ I2C が通常動作を再び開始できるよう , WUE ビットを "0" にクリアし , さらに WUF ビットを "0" にしてウェイク アップ割込みをクリアする。 ➄ データバイトを正確に受信するため , I2C 送信開始 (SDAn の立下りエッジ検出 ) から 100 μs ( 最小の発振安定待ち 時間が 100 μs と仮定した場合 ) 後に ,SCLn が最初のサイクルとして開放されなければなりません。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 355 第 21 章 I2C バスインタフェース 21.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ 図 21.6-8 に , ウェイクアップ機能のサンプルフローを示します。 図 21.6-8 サンプルフロー 2 ストップモード / 時計 モードへの遷移手順 IBSRn:BB=0 NO YES IBCR0n:WUE =1 の設定により ウェイクアップ機能許可 IBSRn:BB=0 NO IBCR0n:WUE = 0 YES ストップ モード / 時計モードへ遷移 356 IBCR0n:ALE に "0" を書き込んで AL 割込みをクリア FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 21.7 レジスタ 第 21 章 I2C バスインタフェース 21.7 レジスタ I2C バスインタフェースのレジスタについて説明します。 表 21.7-1 I2C バスインタフェースのレジスタ一覧 レジスタ略称 レジスタ名 2 参照先 IBCR0n I C バス制御レジスタ 0 ch.n 21.7.1 IBCR1n I2C バス制御レジスタ 1 ch. n 21.7.2 IBSRn I2C バスステータスレジスタ ch. n 21.7.3 2 IDDRn I C データレジスタ ch. n 21.7.4 IAARn I2C アドレスレジスタ ch. n 21.7.5 ICCRn I2C クロック制御レジスタ ch. n 21.7.6 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 357 第 21 章 I2C バスインタフェース 21.7 レジスタ 21.7.1 MB95850K/860K/870K シリーズ I2C バス制御レジスタ 0 ch. n (IBCR0n) I2C バス制御レジスタ 0 ch. n (IBCR0n) は , アドレスアクノリッジ , 転送完了フラグ (INT) タイミングの選択 , アービトレーションロスト割込みの許可 / 禁止 , ストップ条 件検出割込みの許可 / 禁止および MCU スタンバイウェイクアップ機能の許可 / 禁止 を制御します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field AACKX INTS ALF ALE SPF SPE WUF WUE 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7] AACKX: アドレスアクノリッジ禁止ビット このビットは第 1 バイト送信時のアドレスアクノリッジを制御します。 このビットに "0" が書き込まれた場合 , アドレスアクノリッジが自動的に出力されます ( スレーブア ドレスと一致すると , アドレスアクノリッジが自動的に返されます ) 。 このビットに "1" が書き込まれた場合 , アドレスアクノリッジは出力されません。 このビットの書き換えは , 次のどちらかの方法で行ってください。 • マスタモードで , このビットに "1" を書き込んでください。 • バスビジービットが "0" (IBSRn:BB) であることを確認後 , このビットを "0" にクリアしてくださ い。 ( 注意事項 ) • 転送完了割込み発生 (IBCR1n:INT = 1) 時に AACKX = 1 かつ IBSRn:FBT = 0 の場合 , I2C のアド レスとスレーブアドレスが一致してもアドレスアクノリッジは出力されませんが , アドレッシ ングされた場合と同様に 1 バイトのアドレス / データ転送終了ごとに割込みを発生するため , IBCR1n:INT ビットを "0" にクリアしてください。 • 転送完了割込み発生 (IBCR1n:INT = 1) 時に AACKX = 1 かつ IBSRn:FBT = 1 の場合 , スレーブ モードとしてアドレッシングされた後に AACKX に "1" を書き込んだことが考えられるため , 再度 AACKX に "0" を設定した後に通常の通信を続けるか , I2C バスインタフェースの動作を 禁止 (ICCRn:EN=0) した後に通信を再開するかしてください。 bit7 説明 "0" を書き込んだ場合 アドレスアクノリッジを許可します。 "1" を書き込んだ場合 アドレスアクノリッジを禁止します。 358 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 21 章 I2C バスインタフェース 21.7 レジスタ MB95850K/860K/870K シリーズ [bit6] INTS: データ受信時の転送完了フラグビットタイミング選択ビット このビットはデータ受信時における転送完了割込み (IBCR1n:INT) のタイミングを選択します。こ のビットの設定を変更したい場合 , IBSRn:TRX = 0 かつ IBSRn:FBT = 0 のときに変更してください。 このビットに "0" が書き込まれた場合 , 9 番目の SCLn サイクルで転送完了割込み要求フラグビット (IBCR1n:INT) が "1" に設定されます。 このビットに "1" が書き込まれた場合 , 8 番目の SCLn サイクルで転送完了割込み要求フラグビット (IBCR1n:INT) が "1" に設定されます。 ( 注意事項 ) • データ受信時 (IBSRn:TRX = 1 もしくは IBSRn:FBT = 1) 以外 , 転送完了割込み要求フラグビッ ト (IBCR1n:INT) は常に 9 番目の SCLn サイクルで "1" に設定されます。 • データアクノリッジが受信データの内容に依存する場合 (SM バスで使われるパケットエラー チェッキングなど ), このビットに "1" を書き込む ( 例えば前の転送完了割込みにて ) ことで最 新の受信データを読み出せるようにした上で, データアクノリッジ許可ビット(IBCR1n:DACKE) の設定によりデータアクノリッジを制御してください。 • 最新のデータアクノリッジ(IBSRn:LRB)の読出しは, アクノリッジ受信後に実行できます (LRB の読出しは , 9 番目の SCLn サイクルにおける転送終了割込みで行われる必要があります ) 。そ のため , このビットが "1" のときにデータアクノリッジを読み出す場合は , 8 番目の SCLn サイ クルによる転送終了割込み中に , このビットに "0" を書き込んで , 9 番目の SCLn サイクルで , 再度 , 転送終了割込みが発生するよう設定してください。 説明 bit6 "0" を書き込んだ場合 9 番目の SCLn サイクルで INT を設定します。 "1" を書き込んだ場合 8 番目の SCLn サイクルで INT を設定します。 [bit5] ALF: アービトレーションロスト割込み要求フラグビット このビットはアービトレーションロストを検出します。 このビットと IBCR0n:ALE ビットがともに "1" のとき , アービトレーションロスト割込み要求が発 生します。 このビットは以下の条件で "1" になります。 • マスタとしてデータ / アドレス送信中にアービトレーションロストが検出された場合 • ほかのシステムがバスを使用中に IBCR1n:MSS ビットに "1" を書き込んだ場合 ただし , スレーブとして AACK または GACK を返した後 , MSS ビットに "1" を書き込んだ場合は このビットは "1" に設定されません。 このビットは以下の条件で "0" になります。 • IBSRn:BB=0 のときに IBCR0n:ALF ビットに "0" を書き込んだ場合 • 転送終了フラグのクリアのために IBCR1n:INT ビットに "0" を書き込んだ場合 このビットに "1" を書き込んでも動作に影響はありません。 リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。 説明 bit5 "0" が読み出された場合 アービトレーションロストが検出されていないことを示します。 "1" が読み出された場合 アービトレーションロストが検出されていることを示します。 "0" を書き込んだ場合 このビットをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 359 第 21 章 I2C バスインタフェース 21.7 レジスタ MB95850K/860K/870K シリーズ [bit4] ALE: アービトレーションロスト割込み許可ビット このビットはアービトレーションロスト割込みを許可または 禁止します。 このビットと IBCR0n:ALF ビットがともに "1" のとき , アービトレーションロスト割込み要求が発 生します。 説明 bit4 "0" を書き込んだ場合 アービトレーションロスト割込みを禁止します。 "1" を書き込んだ場合 アービトレーションロスト割込みを許可します。 [bit3] SPF: ストップ検出割込み要求フラグビット このビットはストップ条件を検出します。 このビットと IBCR0n:SPE ビットがともに "1" のとき , ストップ検出割込み要求が発生します。 このビットは , バスビジー中にストップ条件が正当に検出された場合は "1" になります。 リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。 説明 bit3 "0" が読み出された場合 ストップ条件が検出されていないことを示します。 "1" が読み出された場合 ストップ条件が検出されていることを示します。 "0" を書き込んだ場合 このビットをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 [bit2] SPE: ストップ検出割込み許可ビット このビットはストップ検出割込みを許可 または 禁止します。 このビットと IBCR0n:SPF ビットがともに "1" のとき , ストップ検出割込み要求が発生します。 説明 bit2 "0" を書き込んだ場合 ストップ検出割込みを禁止します。 "1" を書き込んだ場合 ストップ検出割込みを許可します。 [bit1] WUF: MCU スタンバイモードウェイクアップ割込み要求フラグビット このビットはストップモード / 時計モード中の MCU スタンバイモードウェイクアップを検出しま す。 このビットと IBCR0n:WUE ビットがともに "1" のとき , ウェイクアップ割込み要求が発生します。 このビットは , ウェイクアップ機能の許可 (IBCR0n:WUE = 1) 時に , スタート条件が検出された場合 は "1" になります。 リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。 説明 bit1 "0" が読み出された場合 スタート条件が検出されていないことを示します。 "1" が読み出された場合 スタート条件が検出されていることを示します。 "0" を書き込んだ場合 このビットをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 360 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 21 章 I2C バスインタフェース 21.7 レジスタ MB95850K/860K/870K シリーズ [bit0] WUE: MCU スタンバイモードウェイクアップ機能許可ビット このビットはストップモード / 時計モード中の MCU スタンバイモードウェイクアップ機能を許可 または禁止します。 ストップモード / 時計モードでこのビットが "1" で , かつスタート条件が検出された場合 , I2C の動 作開始のためにウェイクアップ割込み要求が発生します。 bit0 説明 "0" を書き込んだ場合 ストップモード / 時計モードにおける MCU スタンバイモードウェイクアップ機 能を禁止します。 "1" を書き込んだ場合 ストップモード / 時計モードにおける MCU スタンバイモードウェイクアップ機 能を許可します。 ( 注意事項 ) • このビットへの "1" の書込みは , MCU がストップモード / 時計モードに入る直前に行ってくだ さい。また , MCU がストップモード / 時計モードからウェイクアップした後 , I2C の動作をす ぐに再開できるように , できるだけ早くこのビットをクリア ("0" の 書込み ) してください。 • ウェイクアップ割込み要求が発生した後 , MCU は発振安定待ち時間の経過後にウェイクアッ プします。したがって , ウェイクアップ直後のデータの取り逃しを避けるため , I2C 送信開始 (SDAn の立下りエッジ検出 ) によるウェイクアップから 100 µs ( 最小の発振安定待ち時間が 100 µs と仮定した場合 ) 以降に , SCLn が最初のサイクルとして立ち上り , 第 1 ビットがデータ として受信されなければなりません。 • MCU スタンバイモード中 , 本 I2C 機能のステータスフラグ , ステートマシンおよび I2C バス出 力は , スタンバイモードに入る直前の状態を保持します。I2C バスシステム全体のハングアッ プを避けるため , スタンバイモードに入れる前に , IBSRn:BB = 0 となっていることを確認して ください。 • ウェイクアップ機能は , IBSRn:BB = 1 における MCU のストップモード / 時計モードへの遷移 をサポートしていません。IBSRn:BB = 1 で MCU がストップモード / 時計モードへ遷移した場 合 , スタート条件が検出された段階でバスエラーが発生します。 • ウェイクアップ機能は MCU のストップモード / 時計モードでのみ有効です 。 <注意事項> I2C の動作が禁止 (ICCRn:EN = 0) された場合 , IBCR0n レジスタの AACKX ビット , INTS ビットおよび WUE ビットは , "0" になり , 値の書込みができなくなります。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 361 第 21 章 I2C バスインタフェース 21.7 レジスタ 21.7.2 MB95850K/860K/870K シリーズ I2C バス制御レジスタ 1 ch. n (IBCR1n) I2C バス制御レジスタ 1 ch. n (IBCR1n) は , バスエラー割込みの許可 / 禁止 , スター ト条件発生 , マスタ / スレーブモードの選択 , データアクノリッジの許可 / 禁止 , ゼネ ラルコールアクノリッジの許可 / 禁止および転送完了割込みの許可 / 禁止を制御しま す。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field BER BEIE SCC MSS DACKE GACKE INTE INT 属性 R/W R/W W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7] BER: バスエラー割込み要求フラグビット このビットはバスエラーを検出します。 このビットと BEIE ビットがともに "1" のとき , バスエラー割込み要求が発生します。 不正なスタート条件または不正なストップ条件が検出された場合 , このビットは "1" になります。 リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。 説明 bit7 "0" が読み出された場合 バスエラーが検出されていないことを示します。 "1" が読み出された場合 不正なスタート条件または不正なストップ条件が検出されていることを示しま す。 "0" を書き込んだ場合 このビットをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 [bit6] BEIE: バスエラー割込み要求許可ビット このビットはバスエラー割込みを許可または禁止します。 このビットと BER ビットがともに "1" のとき , バスエラー割込み要求が発生します。 説明 bit6 "0" を書き込んだ場合 バスエラー割込みを禁止します。 "1" を書き込んだ場合 バスエラー割込みを許可します。 362 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 21 章 I2C バスインタフェース 21.7 レジスタ MB95850K/860K/870K シリーズ [bit5] SCC: スタート条件発生ビット このビットは , マスタモード中に繰返しスタート条件を発生し , 通信を再スタートさせます。 マスタモードでこのビットに "1" が書き込まれた場合 , 繰返しスタート条件が発生します。 このビットに "0" を書き込んでも動作に影響はありません。 説明 bit5 読出し動作 読出し値は常に "0" です。 "0" を書き込んだ場合 動作に影響はありません。 "1" を書き込んだ場合 マスタモードで繰返しスタート条件が発生します。 ( 注意事項 ) • IBCR1n:SCC = 1 と IBCR1n:MSS = 0 を同時に設定しないでください。 • IBCR1n:INT = 0 のときに , このビットに "1" を書き込んだ場合 , 書込みは無視されます ( スター ト条件は発生しません ) 。また , IBCR1n:INT = 1 のときに , このビットへの "1" の書込みと , IBCR1n:INT ビットへの "0" の書込みが同時に行われた場合 , このビットが優先されてスタート 条件が発生します。 [bit4] MSS: マスタ / スレーブ選択ビット このビットはマスタモードとスレーブモードから動作モードを選択します。 I2C バスがアイドル状態 (IBSRn:BB = 0) のときに , このビットに "1" が書き込まれると , マスタモー ドが選択され , スタート条件の発生後にアドレス転送が開始されます。 I2C バスがビジー状態 (IBSRn:BB = 1) のときに , このビットに "0" が書き込まれると , スレーブモー ドが選択され , ストップ条件の発生後にデータ転送が終了します。 マスタモードのデータ / アドレス転送中にアービトレーションロストが発生した場合 , このビット は "0" にクリアされて動作モードがスレーブモードになります。 説明 bit4 "0" を書き込んだ場合 スレーブモード "1" を書き込んだ場合 マスタモード ( 注意事項 ) • IBCR1n:SCC = 1 と IBCR1n:MSS = 0 を同時に設定しないでください。 • IBCR1n:INT = 0 のときに , このビットに "0" を書き込んだ場合 , 書込みは無視されます。また , IBCR1n:INT = 1 のときに , このビットへ の "0" の書込みと , IBCR1n:INT ビットへの "0" の書込 みが同時に行われた場合 , このビットが優先されてストップ条件が発生します。 • スレーブモードで送受信中に MSS ビットに "1" が書き込まれても , IBCR0n:ALF ビットは設定 されません。スレーブモードで送受信中に MSS ビットに "1" を書き込まないでください。 [bit3] DACKE: データアクノリッジ許可ビット このビットはデータ受信時のデータアクノリッジを制御します。 このビットに "0" が書き込まれた場合 , データアクノリッジ出力は禁止されます。 このビットに "1" が書き込まれた場合 , データアクノリッジ出力は許可されます。このとき , マスタ モードでは , データアクノリッジがデータ受信の 9 番目の SCLn サイクルで出力されます。また , ス レーブモードでは , アドレスアクノリッジが既に出力されている場合のみ , データアクノリッジが データ受信の 9 番目の SCLn サイクルで出力されます。 bit3 説明 "0" を書き込んだ場合 データアクノリッジ出力を禁止します。 "1" を書き込んだ場合 データアクノリッジ出力を許可します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 363 第 21 章 I2C バスインタフェース 21.7 レジスタ MB95850K/860K/870K シリーズ [bit2] GACKE: ゼネラルコールアドレスアクノリッジ許可ビット このビットはゼネラルコールアドレスアクノリッジを制御します。 このビットに "0" が書き込まれた場合 , ゼネラルコールアドレスアクノリッジ出力は禁止されます。 このビットに "1" が書き込まれた場合 , マスタモード / スレーブモードで , ゼネラルコールアドレス (0x00) が受信されると , ゼネラルコールアドレスアクノリッジが出力されます。 説明 bit2 "0" を書き込んだ場合 ゼネラルコールアドレスアクノリッジを禁止します。 "1" を書き込んだ場合 ゼネラルコールアドレスアクノリッジを許可します。 [bit1] INTE: 転送完了割込み許可ビット このビットは転送完了割込みを許可または禁止します。 このビットと IBCR1n:INT ビットがともに "1" のとき , 転送完了割込み要求が発生します。 説明 bit1 "0" を書き込んだ場合 転送完了割込みを禁止します。 "1" を書き込んだ場合 転送完了割込みを許可します。 [bit0] INT: 転送完了割込み要求フラグビット このビットは転送完了を検出します。 このビットと INTE ビットがともに "1" のとき , 転送完了割込み要求が発生します。 このビットは , 以下の 4 つのいずれかの条件で , 1 バイトのアドレス / データ転送が完了 ( アクノ リッジを含むかどうかは INTS ビットの設定に依存する ) した場合に "1" になります。 • バスマスタモードの場合 • スレーブとしてアドレッシングされている場合 • ゼネラルコールアドレスを受信している場合 • アービトレーションロストを検出している場合 このビットは以下の条件で "0" になります。 • このビットに "0" を書き込んだ場合 • マスタモードで , 繰返しスタート条件 (IBCR1n:SCC = 1) もしくはストップ条件 (IBCR1n:MSS = 0) が発生した場合 このビットに "1" を書き込んでも動作に影響はありません。 リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。 このビットが "1" のとき , SCLn ラインは "L" を保持します。 このビットに "0" を書き込んでクリアすると ( 値が "0" になります ), SCLn ラインは開放されて次の バイトデータ送信が可能となります。 説明 bit0 "0" が読み出された場合 データ転送がまだ完了していないことを示します。 "1" が読み出された場合 1 バイトデータ ( アクノリッジを含む ) の転送が完了していることを示します。 "0" を書き込んだ場合 このビットをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 ( 注意事項 ) • このビットが "0" のときに IBCR1n:SCC に "1" が書き込まれた場合 , IBCR1n:SCC ビットが優先 されてスタート条件が発生します。 • このビットが "0" のときに IBCR1n:MSS に "0" が書き込まれた場合 , IBCR1n:MSS ビットが優 先されてストップ条件が発生します。 • データ受信時に IBCR0n:INTS が "1" の場合 , このビットは 1 バイトデータ転送完了後 ( アクノ リッジを含みません ) に "1" になります。それ以外の場合 , このビットはアクノリッジを含む 1 バイトのデータ / アドレス送受信完了後に "1" になります。 364 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 21 章 I2C バスインタフェース 21.7 レジスタ I <注意事項> • 割込み要求フラグビット (IBCR1n:BER) に "0" を書き込んでクリアするとき , 割込み 要求許可ビット (IBCR1n:BEIE) を同時に書き換えないでください。 • BER ビット と BEIE ビットを除く IBCR1n レジスタ のすべてのビットは , I2C バスイ ンタフェースの動作禁止 (ICCRn:EN = 0) により , "0" にクリアされます。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 365 第 21 章 I2C バスインタフェース 21.7 レジスタ 21.7.3 MB95850K/860K/870K シリーズ I2C バスステータスレジスタ ch. n (IBSRn) I2C バスステータスレジスタ ch. n (IBSRn) は I2C バスインタフェースのステータス を示します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field BB RSC — LRB TRX AAS GCA FBT 属性 R R — R R R R R 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7] BB: バスビジービット このビットはバスの状態を示します。 bit7 説明 "0" が読み出された場合 ストップ条件が検出され , バスはアイドル状態になったことを示します。 "1" が読み出された場合 スタート条件が検出され , バスはビジー状態になったことを示します。 [bit6] RSC: 繰返しスタート条件検出ビット このビットは繰返しスタート条件を検出します。 このビットは , 繰返しスタート条件が検出された場合に "1" になります。 このビットは以下の条件で "0" になります。 • IBCR1n:INT ビットに "0" を書き込んだ場合 • スレーブモードでスレーブアドレスが IAARn の設定アドレスと一致しない場合 • スレーブモードでスレーブアドレスが IAARn の設定アドレスと一致するが , IBCR0n:AACKX ビッ トが "1" である場合 • スレーブモードでデバイスはゼネラルコールアドレスを受信したが , IBCR1n:GACKE ビットが "0" で ある場合 • ストップ条件が検出された場合 bit6 説明 "0" が読み出された場合 繰返しスタート条件がまだ検出されていないことを示します。 "1" が読み出された場合 バス使用中に繰返しスタート条件が検出されていることを示します。 [bit5] 未定義ビット 読出し値は常に "0" です。このビットに値を書き込んでも動作に影響はありません。 366 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 21 章 I2C バスインタフェース 21.7 レジスタ MB95850K/860K/870K シリーズ [bit4] LRB: アクノリッジ格納ビット このビットは , データバイト転送時に , 9 番目のシフトクロックで SDAn ラインの値を取り込みま す。 このビットは , アクノリッジが未検出のとき (SDAn = "H") に "1" になります。 このビットは以下の条件で "0" になります。 • アクノリッジを検出 (SDAn = "L") した場合 • スタート条件またはストップ条件を検出した場合 bit4 説明 "0" が読み出された場合 アクノリッジが 9 番目のシフトクロックで検出されていることを示します。 "1" が読み出された場合 アクノリッジが 9 番目のシフトクロックで検出されていないことを示します。 ( 注意事項 ) 上記のことから , このビットの読出しはアクノリッジの後に行う必要があります (9 番 目の SCLn サイクルにおける転送完了割込みで値を読み出してください )。そのため , IBCR0n:INTS ビットが "1" のときにアクノリッジを読み出す場合は , 9 番目の SCLn サ イクルで再度転送完了割込みが発生するように , 8 番目の SCLn サイクルにおける転送 完了割込み中に , IBCR0n:INTS ビットに "0" を書き込んでください。 [bit3] TRX: データ転送状態ビット このビットはデータ転送モードを示します。 このビットは , 送信モードでデータ転送が行われた場合に "1" になります。 このビットは以下の条件で "0" になります。 • 受信モードでデータ転送が行われた場合 • デバイスはスレーブ送信モードで NACK を受信した場合 bit3 説明 "0" が読み出された場合 データ転送モードが受信モードであることを示します。 "1" が読み出された場合 データ転送モードが送信モードであることを示します。 [bit2] AAS: アドレッシング検出ビット このビットはスレーブモードで MCU がアドレッシングされているかどうかを示します。 このビットは , スレーブモードで MCU がアドレッシングされた場合に "1" になります。 このビットは , スタート条件またはストップ条件が検出された場合に "0" になります。 bit2 説明 "0" が読み出された場合 スレーブモードで MCU がアドレッシングされていないことを示します。 "1" が読み出された場合 スレーブモードで MCU がアドレッシングされていることを示します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 367 第 21 章 I2C バスインタフェース 21.7 レジスタ MB95850K/860K/870K シリーズ [bit1] GCA: ゼネラルコールアドレス検出ビット このビットはゼネラルコールアドレスを検出します。 このビットは以下の条件で "1" になります。 • デバイスはスレーブモードでゼネラルコールアドレス (0x00) を受信した場合 • IBCR1n:GACKE=1 のとき , デバイスはマスタモードでゼネラルコールアドレス (0x00) を受信した 場合 • マスタモードで , 2 バイト目のゼネラルコールアドレス送信中に , アービトレーションロストが検 出された場合 このビットは以下の条件で "0" になります。 • スタート条件またはストップ条件が検出された場合 • マスタモードで , 2 バイト目のゼネラルコールアドレス送信中に , アービトレーションロストが検 出されなかった場合 bit1 説明 "0" が読み出された場合 スレーブモードでゼネラルコールアドレス (0x00) の受信がないことを示します。 "1" が読み出された場合 スレーブモードでゼネラルコールアドレス (0x00) の受信があることを示します。 [bit0] FBT: 第 1 バイト検出ビット このビットは第 1 バイトを検出します。 このビットは , スタート条件が検出された場合に "1" になります。 このビットは以下の条件で "0" になります。 • IBCR1n:INT ビットに "0" を書き込んだ場合 • スレーブモードでスレーブアドレスが IAARn レジスタの設定アドレスと一致しない場合 • スレーブモードでスレーブアドレスが IAARn レジスタの設定アドレスと一致するが , IBCR0n: AACKX ビットが "1" である場合 • スレーブモードでデバイスはゼネラルコールアドレスを受信したが , IBCR1n:GACKE ビットが "0" で ある場合 • スレーブモードでストップ条件が検出された場合 bit0 説明 "0" が読み出された場合 データ受信時に受信データが第 1 バイトではないことを示します。 "1" が読み出された場合 データ受信時に受信データが第 1 バイト ( アドレス ) であることを示します。 368 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 21 章 I2C バスインタフェース 21.7 レジスタ MB95850K/860K/870K シリーズ 21.7.4 I2C データレジスタ ch. n (IDDRn) I2C データレジスタch. n (IDDRn) レジスタは, 送信データ / アドレスの設定および受 信データ / アドレスの保持を行います。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field D7 D6 D5 D4 D3 D2 D1 D0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 送信モード時 , レジスタに書かれたデータ / アドレスが MSB ビットから SDAn ライン にビットごとにシフトされます。このレジスタの書込み側はダブルバッファになって おり , バスが使用中 (IBSRn:BB = 1) の場合 , 書込みデータは , 現在のデータ転送完了割 込みのクリア時 (IBCR1n:INT ビットへの "0" の書込み ) または繰返しスタート条件発 生時 (IBCR1n:SCC ビットへの "1" 書込み ) に , 8 ビットのシフトレジスタにロードされ ます。シフトレジスタのデータはビットごとに SDAn ラインにシフト出力されます。 なお , このレジスタへの書込みは現在のデータ転送には影響がありません。ただし , ス レーブモード時は , アドレスの確定後にシフトレジスタへデータが転送されます。 転送終了割込みの間 (IBCR1n:INT = 1), 受信データ / アドレスをこのレジスタから読み 出せます。ただし , 読出し時はシリアル転送用のレジスタを直接読み出すため , 受信 データは IBCR1n:INT = 1 の場合のみ有効です。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 369 第 21 章 I2C バスインタフェース 21.7 レジスタ 21.7.5 MB95850K/860K/870K シリーズ I2C アドレスレジスタ ch. n (IAARn) I2C アドレスレジスタ ch. n (IAARn) はスレーブアドレスを設定します。 スレーブアドレスの設定に使用されます。スレーブモード時に , マスタからのアドレ スデータの受信後 , IAARn レジスタの値との比較判定に使用されます。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — A6 A5 A4 A3 A2 A1 A0 属性 — 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:0] A[6:0]: アドレスビット これらのビットはスレーブアドレスを設定します。 370 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 21 章 I2C バスインタフェース 21.7 レジスタ MB95850K/860K/870K シリーズ 21.7.6 I2C クロック制御レジスタ ch. n (ICCRn) I2C クロック制御レジスタ ch. n (ICCRn) は , I2C 動作の許可とシフトクロック周波数 の選択を行います。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field DMBP 予約 EN CS4 CS3 CS2 CS1 CS0 属性 R/W W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7] DMBP: 分周器 m バイパスビット このビットはシフトクロック周波数を発生させるための分周器 m のバイパスに使用されます。 このビットに "0" が書き込まれた場合 , CS[4:3] で選択された値が分周器 m の値になります (m = ICCRn:CS[4:3]) 。 このビットに "1" が書き込まれた場合 , 分周器 m はバイパスされます。 分周器 n = 4 (ICCRn:CS[2:0] = 0b000) のとき , このビットに "1" を書き込まないでください。 説明 bit7 "0" を書き込んだ場合 ICCRn:CS[4:3]( 分周器 m) の設定が有効になります。 "1" を書き込んだ場合 ICCRn:CS[4:3]( 分周器 m) の設定が無効になります。 [bit6] 予約ビット このビットは常に "0" に設定してください。 [bit5] EN: I2C バスインタフェース動作許可ビット このビットは I2C バスインタフェースの動作を許可または禁止します。 このビットに "0" が書き込まれた場合 , I2C バスインタフェースの動作が禁止され , 以下のビットが "0" にクリアされます。 • IBCR0n レジスタの AACKX, INTS および WUE ビット • IBCR1n レジスタの BER および BEIE ビットを除くすべてのビット • IBSRn レジスタのすべてのビット このビットに "1" が書き込まれた場合 , I2C バスインタフェースの動作が許可されます。 説明 bit5 2 "0" を書き込んだ場合 I C バスインタフェースの動作を禁止します。 "1" を書き込んだ場合 I2C バスインタフェースの動作を許可します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 371 第 21 章 I2C バスインタフェース 21.7 レジスタ MB95850K/860K/870K シリーズ [bit4:3] CS[4:3]: クロック -1 選択ビット ( 分周器 m) [bit2:0] CS[2:0]: クロック -2 選択ビット ( 分周器 n) これらのビットは , シフトクロックの周波数を設定します。 シフトクロック周波数 (Fsck) は次式のように設定されます。 φ Fsck = ---------------------------(m × n + 2) φ はマシンクロックの周波数 (MCLK) です。 説明 bit4:3 "00" を書き込んだ場合 5 "01" を書き込んだ場合 6 "10" を書き込んだ場合 7 "11" を書き込んだ場合 8 説明 bit2:0 "000" を書き込んだ場合 4 "001" を書き込んだ場合 8 "010" を書き込んだ場合 22 "011" を書き込んだ場合 38 "100" を書き込んだ場合 98 "101" を書き込んだ場合 128 "110" を書き込んだ場合 256 "111" を書き込んだ場合 512 <注意事項> スタンバイモードウェイクアップ機能を使用しない場合 , MCU をストップモード / 時計 モードに遷移させる前に , I2C バスインタフェース の動作を禁止してください。 372 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 21.8 使用上の注意 第 21 章 I2C バスインタフェース 21.8 使用上の注意 I2C バスインタフェース使用上の注意を示します。 ■ I2C バスインタフェース使用上の注意 ● I2C バスインタフェースのレジスタの設定時の注意 • I2C バス制御レジスタ ch. n (IBCR0n, IBCR1n) を設定する前に , I2C バスインタ フェースの動作を許可してください (ICCRn:EN)。 • マスタ / スレーブ選択ビット (IBCR1n:MSS) を設定する ("1" を書き込む ) と , 転送が 開始されます。 ● シフトクロック周波数を設定する場合の注意 • Fsck 計算式を使用して , 分周器 m, 分周器 n および DMBP ビット の値を決めること により , シフトクロック周波数を計算できます。 Fsck 計算式について ,「21.7.6 I2C ク ロック制御レジスタ ch. n (ICCRn)」 を参照してください。 • 分周器 n の値が "4" (ICCRn:CS[2:0] = 0b000) の場合は , DMBP を " 1" に書き込まない でください。 ● 同時書込み時の優先度の注意 • 次バイト転送とストップ条件の競合 IBCR1n:INT をクリアすると同時に IBCR1n:MSS に "0" を書き込むと , MSS ビットが 優先されてストップ条件が発生します。 • 次バイト転送とスタート条件の競合 IBCR1n:INT をクリアすると同時に IBCR1n:SCC に "1" を書き込むと , SCC ビットが 優先されてスタート条件が発生します。 ● ソフトウェアによる設定の注意 • 繰返しスタート条件 (IBCR1n:SCC = 1) とスレーブモード (IBCR1n:MSS = 0) を同時 に選択しないでください。 • 割込み要求フラグビット (IBCR1n:BER/INT) が "1" で , 割込み要求 (IBCR1n:BEIE / INTE = 1) が許可されたとき , 割込み処理から復帰できません。割込み処理から復帰 するには , 必ず先に IBCR1n:BER/INT ビットを "0" にクリアしてください。 • I2C バスインタフェースの動作が禁止された場合 (ICCRn:EN = 0), 以下のビットが "0" にクリアされます。 - IBCR0n レジスタの AACKX, INTS および WUE ビット - IBCR1n レジスタの BER および BEIE ビットを除くすべてのビット - IBSRn レジスタのすべてのビット ● データアクノリッジに対する注意 スレーブモードでは , データアクノリッジは以下の条件で発生します。 - 受信アドレスがアドレスレジスタ (IAARn) の値と一致し , IBCR0n:AACKX = 0 の 場合 - ゼネラルコールアドレス (0x00) が受信され , IBCR1n:GACKE = 1 の場合 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 373 第 21 章 I2C バスインタフェース 21.8 使用上の注意 MB95850K/860K/870K シリーズ ● 転送完了タイミング選択時の注意 • データ受信時の転送完了フラグ(INT)タイミング選択ビット (IBCR0n:INTS) は, デー タ受信時 (IBSRn:TRX = 0 かつ IBSRn:FBT = 0) のみ有効です。 • データ受信時以外 (IBSRn:TRX = 1 か IBSRn:FBT = 1) では , 転送完了割込み要求 (IBCR1n: INT = 1) は常に 9 番目の SCLn サイクルで発生します。 • データアクノリッジが受信データの内容に依存する場合 (SM バスで使われるパケッ トエラーチェッキングなど ), IBCR0n:INTS ビットに "1" を書き込む ( 例えば前の転 送完了割込みにて ) ことで最新の受信データを読み出せるようにした上で , データ アクノリッジ許可ビット(IBCR1n:DACKE) の設定によりデータアクノリッジを制御 してください。 • 最新のデータアクノリッジ (IBSRn:LRB) の読出しは , アクノリッジ受信後に行えま す (IBSRn:LRB の読出しは , 9 番目の SCLn サイクルにおける転送終了割込みで行わ れる必要があります ) 。 そのため , INTS ビットが "1" のときにアクノリッジを読み出 す場合は , 9 番目の SCLn サイクルで , 再度転送終了割込みが発生するように , 8 番 目の SCLn サイクルによる転送終了割込み中に , INTS ビットに "0" を書き込んでく ださい。 ● MCU スタンバイモードウェイクアップ機能使用上の注意 • MCU をストップモード / 時計モードに入れる直前に , IBCR0n:WUE ビット を "1" に 設定してください。また , MCU がストップモード / 時計モードからウェイクアップ した後 , I2C バスインタフェースの動作を直ちに再開できるように WUE ビット をク リア ("0" の書込み ) してください。 • ウェイクアップ割込み要求が発生された後 , MCU は発振安定待ち時間の経過後に ウェイクアップします。したがって , ウェイクアップ直後のデータの取逃しを避け るため, I2C 送信開始 (SDAn の立下りエッジ検出)によるウェイクアップから 100 μs ( 最小の発振安定待ち時間が 100 μs と仮定した場合 ) 以降に , SCLn が最初のサイク ルとして立ち上り , 第 1 ビットがデータとして送信されるようにシステムを設計し てください。 • MCU スタンバイモードで , 本 I2C バスインタフェースのステータスフラグ , ステー トマシンおよび I2C バス出力は, スタンバイモードに入る直前の状態を保持します。 I2C バスシステム全体のハングアップを避けるため , スタンバイモードに入れる前 に , IBSRn:BB = 0 となっていることを確認してください。 • ウェイクアップ機能は , IBSRn:BB = 1 における MCU のストップ モード / 時計モード への遷移をサポートしません。 IBSRn:BB = 1 で MCU がストップモード / 時計モード へ遷移した場合 , スタート条件が検出された段階でバスエラーが発生します。 • I2C バスインタフェースの動作を確実に行うため , I2C のウェイクアップ機能かほか の周辺機能を使ったウェイクアップ機能 ( 外部割込みなど ) にかかわらず , ストップ モード / 時計モードから MCU がウェイクアップした後 , WUE ビットを "0" にクリ アしてください。 374 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 22 章 シリアル書込み接続例 シリアル書込み接続例を示します。 22.1 シリアル書込み接続の基本構成 22.2 シリアル書込み接続例 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 375 第 22 章 シリアル書込み接続例 22.1 シリアル書込み接続の基本構成 22.1 MB95850K/860K/870K シリーズ シリアル書込み接続の基本構成 MB95850K/860K/870K シリーズは , フラッシュメモリのシリアルオンボード書込み をサポートしています。本節では , 構成について説明します。 ■ シリアル書込み接続の基本構成 シリアルオンボード書込みには , 富士通セミコンダクター株式会社製の BGM アダプタ MB2146-07-E または MB2146-08-E が使用されます。 図 22.1-1 に , シリアル書込み接続の基本構成を示します。 図 22.1-1 シリアル書込み接続の基本構成 ホストインタフェースケーブル USB BGMアダプタ (MB2146-07-E/ MB2146-08-E) 1線式UART フラッシュメモリ品 ユーザシステム 表 22.1-1 標準シリアルオンボード書込みに使用する端子 端子 機能 説明 VCC 電源電圧供給端子 書込み電圧 (2.4 V ~ 5.5 V) は , ユーザシステムから供給されます。 VSS GND 端子 フラッシュマイコンプログラマの GND と兼用となっています。 C バイパスコンデンサ接続端子 バイパスコンデンサに接続してから , グランドに接続してください。 RST リセット RST 端子は , VCC に設定 ( プルアップ ) されます。 DBG 1 線式 UART 設定シリアル書込みモード DBG 端子は , プログラマとの 1 線式 UART 通信を提供します。 特定のタイミングで DBG 端子と VCC 端子に電圧が供給されると , シ リアル書込みモードが設定されます。 ( そのタイミングについては , 図 22.2-1 を参照してください。) ● UART クロック UART クロックは , メイン CR クロックにより供給されます。 376 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 22 章 シリアル書込み接続例 22.2 シリアル書込み接続例 MB95850K/860K/870K シリーズ 22.2 シリアル書込み接続例 MCU は , 次のタイミングで PGM モードに遷移します。 ■ MCU の PGM モードへの遷移 MCU は , 次のタイミングで PGM モードに遷移します。 シリアルプログラマは , VCC 入力に従って , DBG 端子を制御します。 図 22.2-1 タイミングダイヤグラム Vcc H L PGM モードに遷移 ↓ DBG H L → MN702-00010-2v0-J ≧1s ← FUJITSU SEMICONDUCTOR LIMITED 377 第 22 章 シリアル書込み接続例 22.2 シリアル書込み接続例 MB95850K/860K/870K シリーズ ■ シリアル書込み接続例 図 22.2-2 はシリアル書込みのための接続例を示したものです。 図 22.2-2 シリアル書込み接続例 IDC10 (オス・コネクタ) インデックス・マーク MCU 端子 9 端子 1 1 Vcc アダプタによる電源 (MB2146-07-Eのみ) 端子10 6 端子 2 Vcc (TOP VIEW) MB2146-07-E MB2146-08-E 名称 No. DBG 8 Vcc 名称 No. 1 UVCC 1 UVCC 2 VSS 2 VSS 4 RSTOUT 4 RSTOUT 6 POUT3V 8 DBG 8 DBG IDC10 RST IC 4 2 Vss アダプタによる電源のための MB2146-07-Eのジャンパ接続 2 6 10 ターゲットボード 1 9 プルアップ抵抗値は , 使用するツールや配線長に依存するため , ツールのドキュメント に従ってプルアップ抵抗を選択してください。 富士通セミコンダクター株式会社製の BGM アダプタ MB2146-07-E を使用する場合 , 約 2 kΩ ~ 10 kΩ のプルアップ抵抗を使用することを推奨します。 378 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 288 K ビットデュアルオペレーションフラッシュ メモリの機能と動作について説明します。 23.1 概要 23.2 セクタ / バンク構成 23.3 フラッシュメモリ自動アルゴリズムの起動方法 23.4 自動アルゴリズム実行状態の確認 23.5 フラッシュメモリの書込み / 消去 23.6 動作説明 23.7 フラッシュセキュリティ 23.8 レジスタ 23.9 使用上の注意 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 379 第 23 章 デュアルオペレーション フラッシュメモリ 23.1 概要 MB95850K/860K/870K シリーズ 23.1 概要 デュアルオペレーションフラッシュメモリは , 288 K ビットフラッシュメモリでは CPU メモリマップの 0x1000 ~ 0x1FFF および 0x8000 ~ 0xFFFF に配置されていま す。 デュアルオペレーションフラッシュは , 上位バンクと下位バンク * で構成されており , 従来のフラッシュ品では行えなかったバンクごとの消去 / 書込みと読出しの同時実行 が可能です。 *: 上位バンク : 32 K バイト × 1, 下位バンク : 2 K バイト × 2 ■ デュアルオペレーションフラッシュメモリの概要 フラッシュメモリへのデータの書込み / 消去の方法には , 以下の方法があります。 • 専用シリアルプログラマによる書込み / 消去 • プログラム実行による書込み / 消去 プログラム実行によるフラッシュメモリへのデータの書込み / 消去は , フラッシュメモ リインタフェース回路を介して CPU からの命令により実行できるため , デバイスが回 路基板に実装された状態でプログラムコードやデータを効率的に書き換えられます。 また , セクタ構成も最小 2K バイトと小セクタで , プログラム / データ領域として扱い やすい構成になっています。 データの書換え方法は , RAM 上でのプログラム実行またはデュアルオペレーションに おけるフラッシュメモリ上でのプログラム実行があります。また , 異なるバンク ( 上位 バンク / 下位バンク ) での消去 / 書込みと読出しの同時実行が可能です。 デュアルオペレーションフラッシュでは , 次の組合せが可能です。 上位バンク 下位バンク 読出し 読出し 書込み / セクタ消去 書込み / セクタ消去 読出し チップ消去 380 セクタ消去 ( 消去一時中断 ) 書込み 書込み セクタ消去 ( 消去一時中断 ) FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 23.1 概要 MB95850K/860K/870K シリーズ ■ デュアルオペレーションフラッシュメモリの特長 • セクタ構成 - 36 K バイト (32 K バイト + 2 K バイト × 2) • 2 バンク構成 , 書込み / 消去動作と読込み動作を同時に行える • 自動アルゴリズム (Embedded Algorithm) • 消去一時停止 / 消去再開機能を搭載 • データポーリングフラグまたはトグルビットによる書込み / 消去完了の検出 • CPU 割込みによる書込み / 消去完了の検出 • セクタごとの消去が可能 ( セクタ組合せ自由 ) • JEDEC 標準規格コマンドとの互換性 • 書込み / 消去回数 ( 最小 ):100000 回 • フラッシュ読込みサイクルタイム ( 最小 ) :1 マシンサイクル ■ フラッシュメモリの書込み / 消去 • フラッシュメモリは,同一バンクの書込みと読出しを同時に行うことはできません。 • フラッシュメモリバンクのデータを書込み/消去するには,ほかのバンクまたはRAM に書込み / 読込みプログラムをコピーしてから , そのプログラムを実行してくださ い。 • デュアルオペレーションフラッシュメモリにより , フラッシュメモリ上でのプログ ラム実行および割込みを用いた書込み制御が可能となります。また , 書込みの際に プログラムを RAM 上へダウンロードして実行する必要もなく , ダウンロードの時 間削減および RAM データの電源瞬断のケアも不要となります。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 381 第 23 章 デュアルオペレーション フラッシュメモリ 23.2 セクタ / バンク構成 MB95850K/860K/870K シリーズ 23.2 セクタ / バンク構成 デュアルオペレーションフラッシュメモリのセクタ / バンク構成を示します。 ■ セクタ / バンク構成 図 23.2-1 に , デュアルオペレーションフラッシュメモリのセクタ / バンク構成を示しま す。図中アドレスは , 各セクタの上位アドレスと下位アドレスを示します。 ● バンク構成 フラッシュメモリの下位バンクは SA0 と SA1 で , 上位バンクは SA2 です。 図 23.2-1 デュアルオペレーションフラッシュメモリのセクタ / バンク構成 フラッシュメモリ (36 K バイト ) SA0: 2 K バイト 下位バンク SA1: 2 K バイト CPU アドレス 0x1000 0x17FF 0x1800 0x1FFF 0x2000 - 0x7FFF 0x8000 SA2: 32 K バイト 上位バンク 0xBFFF 0xC000 0xFFFF 382 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 23.3 フラッシュメモリ自動アルゴリズムの起 動方法 MB95850K/860K/870K シリーズ 23.3 フラッシュメモリ自動アルゴリズムの起動方法 フラッシュメモリ自動アルゴリズムを起動するコマンドには , 読出し / リセット , 書 込み , チップ消去 , セクタ消去の 4 種類があります。セクタ消去コマンドで , セクタ 消去の停止 / 再開ができます。 ■ コマンドシーケンス表 表 23.3-1 に , フラッシュメモリの書込み / 消去時に使用するコマンドの一覧を示します。 表 23.3-1 コマンドシーケンス バス書 コマンド 込みサ シーケンス イクル 読出し / リセット 書込み チップ消去 セクタ消去 アンロック バイパス エントリ アンロック バイパス 書込み アンロック バイパス リセット 1 アドレス データ 3 回目の バス書込み サイクル アドレス データ アドレス データ - - 5 回目の バス書込み サイクル アドレス データ アドレス データ 6 回目の バス書込み サイクル アドレス データ - 4 0xUAAA 0xAA 0xU554 0x55 0xUAAA 0xA0 6 0xUAAA 0xAA 0xU554 0x55 0xUAAA 0x80 0xUAAA 0xAA 0xU554 0x55 0xUAAA 0x10 6 0xUAAA 0xAA 0xU554 0x55 0xUAAA 0x80 0xUAAA 0xAA 0xU554 0x55 3 0xUAAA 0xAA 0xU554 0x55 0xUAAA 0x20 2 0xUXXX 0xA0 PA 2 0xUXXX 0x90 0xUXXX セクタ消去再開 - 4 回目の バス書込み サイクル 0xUXXX 0xF0 セクタ消去一時停止 PA SA PD U X any 2 回目の バス書込み サイクル 最初の バス書込み サイクル - - - - - - PA PD - - - - SA 0x30 - - - - - - PD - - - - - - - - any - - - - - - - - アドレス "0xUXXX" にデータ "0xB0" を入力することで , セクタ消去を一時停止しま す。 アドレス "0xUXXX" にデータ "0x30" を入力することで , セクタ消去一時停止後 , 消 去を再開します。 SA にデータ "0x30" を入力することで , 新しい消去セクタを追加します。 消去セクタ追加 : 書込みアドレス : セクタアドレス ( セクタ内の任意のアドレスを指定する。) : 書込みデータ : 上位 4 ビットは , 書込みが許可されているセクタ内の任意のアドレスです。 : 任意の値 : 任意の書込みデータ MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 383 第 23 章 デュアルオペレーション フラッシュメモリ 23.3 フラッシュメモリ自動アルゴリズムの起 動方法 MB95850K/860K/870K シリーズ <注意事項> • 表 23.3-1 にあるアドレスは , CPU メモリマップ上の値です。アドレスおよびデータは すべて 16 進数で表記しています。ただし , "X" は任意の値です。 • 表 23.3-1 のアドレスにおける "U" は任意の値ではなく , アドレスの上位 4 ビット (bit15 ~ bit12) を表します。 • すべてのセクタへのデータ書込みが許可されている場合のみ , チップ消去コマンドが 受け入れられます。フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) のどのセ クタのビットであっても , "0" に設定されている ( セクタへのデータ書込みが禁止され ている ) 場合は , チップ消去コマンドは無視されます。 ■ コマンドの発行に関する注意事項 コマンドシーケンス表のコマンドを発行する際には , 以下のことを行ってください。 • 384 第一コマンドを発行する前に, 必要なセクタへのデータ書込みを許可してください。 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 23.4 自動アルゴリズム実行状態の確認 MB95850K/860K/870K シリーズ 自動アルゴリズム実行状態の確認 23.4 フラッシュメモリは , 自動アルゴリズムを用いて書込み / 消去のフローを実行するた め , フラッシュメモリ内部の動作状態をハードウェアシーケンスフラグによって確 認できます。 ■ ハードウェアシーケンスフラグ ● ハードウェアシーケンスフラグの概要 ハードウェアシーケンスフラグは , 以下の 5 ビットの出力で構成されます。 - データポーリングフラグ (DQ7) - トグルビットフラグ (DQ6) - タイミングリミットフラグ (DQ5) - セクタ消去タイマフラグ (DQ3) - トグルビット 2 フラグ (DQ2) ハードウェアシーケンスフラグは , 書込みコマンド , チップ消去コマンド , あるいはセ クタ消去コマンドが終了したかどうか , 消去コードが書き込まれたかおよび読出され ているセクタが消去セクタであるか否かを示します。 ハードウェアシーケンスフラグの値は , コマンドシーケンス設定後にフラッシュメモ リ内の対象セクタのアドレスにリードアクセスすることにより確認できます。ハード ウェアシーケンスフラグは , コマンドが発行されたバンクにのみ出力されることに注 意してください。 表 23.4-1 に , ハードウェアシーケンスフラグのビット割当てを示します。 表 23.4-1 ハードウェアシーケンスフラグのビット割当て ビット No. 7 6 5 4 3 2 1 0 ハードウェアシーケンスフラグ DQ7 DQ6 DQ5 - DQ3 DQ2 - - • 書込み / チップ消去 , あるいはセクタ消去コマンドが実行中であるかまたは完了し ているかを判断するためには , 対応するハードウェアシーケンスフラグまたはフ ラッシュメモリステータスレジスタのフラッシュメモリ書込み / 消去ステータス ビット (FSR:RDY) を確認します。書込みまたはチップ消去の完了後 , フラッシュメ モリは読出し / リセット状態に戻ります。 • 書込み / チップ消去プログラムを作成する際には , DQ2, DQ3, DQ5, DQ6 および DQ7 フラグにより書込み / チップ消去が完了していることを確認してから , データを読 み出すように , プログラムを作成してください。 • ハードウェアシーケンスフラグは , 2 回目セクタ消去コード書込みおよびその後に 実行されるこれらが有効であるか否かを確認するために使用できます。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 385 第 23 章 デュアルオペレーション フラッシュメモリ 23.4 自動アルゴリズム実行状態の確認 MB95850K/860K/870K シリーズ ● ハードウェアシーケンスフラグの説明 表 23.4-2 に , ハードウェアシーケンスフラグの機能を示します。 表 23.4-2 ハードウェアシーケンスフラグの機能一覧 状態 通常動作時 の状態遷移 DQ7 DQ6 DQ5 DQ3 DQ2 書込み → 書込み完了 ( 書込みアドレス指定時 ) DQ7 → DATA: 7 Toggle → DATA: 6 0→ DATA: 5 0→ DATA: 3 0→ DATA: 2 チップ / セクタ消去 → 消去完了 0→ 1 Toggle →1 0→ 1 1 Toggle →1 セクタ消去待ち → 消去開始 0 Toggle 0 0→ 1 Toggle 消去 → セクタ消去一時停止 ( セクタ消去実行中 ) 0 Toggle → 0 0 1 Toggle セクタ消去一時停止 → 消去再開 ( セクタ消去実行中 ) 0 0 → Toggle 0 1 Toggle セクタ消去一時停止中 ( セクタ消去停止 ) DATA: 7 DATA: 6 DATA: 5 DATA: 3 DATA: 2 DQ7 Toggle 1 0 0 0 Toggle 1 1 Toggle 書込み 異常動作 386 チップ / セクタ消去 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 23.4 自動アルゴリズム実行状態の確認 MB95850K/860K/870K シリーズ データポーリングフラグ (DQ7) 23.4.1 データポーリングフラグ (DQ7) は , 自動アルゴリズム実行が進行中もしくは終了状 態であることをデータポーリング機能によって知らせるハードウェアシーケンスフ ラグです。 ■ データポーリングフラグ (DQ7) 表 23.4-3 と表 23.4-4 に , 正常動作時と異常動作時のそれぞれのデータポーリングフラ グの状態遷移を示します。 表 23.4-3 データポーリングフラグの状態遷移 ( 正常動作時の状態変化 ) 動作状態 書込み → 書込み完了 チップ / セクタ 消去 → 消去完了 セクタ消去 待ち → 消去開始 消去 → セクタ消去一時 停止 ( セクタ消去実 行中 ) セクタ消去一時 停止 → 消去再開 ( セクタ消去実 行中 ) セクタ消去 一時停止中 ( セクタ消去 停止 ) DQ7 DQ7 → DATA: 7 0→1 0 0 0 DATA: 7 表 23.4-4 データポーリングフラグの状態遷移 ( 異常動作時の状態変化 ) 動作状態 書込み チップ / セクタ消去 DQ7 DQ7 0 ● 書込みの場合 自動書込みアルゴリズム実行中にリードアクセスを行った場合 , フラッシュメモリは 最後に書き込まれたデータの bit7 を反転させた値を DQ7 に出力します。 自動書込みアルゴリズム終了時にリードアクセスを行った場合 , フラッシュメモリは リードアクセスを行ったアドレスの読出し値の bit7 を DQ7 に出力します。 ● チップ / セクタ消去の場合 チップ / セクタ消去の自動アルゴリズム実行中に現在消去しているセクタをリードア クセスすると , フラッシュメモリの bit7 は "0" を出力します。チップ / セクタ消去が終 了すると , フラッシュメモリの bit7 は "1" を出力します。 ● セクタ消去一時停止の場合 • セクタ消去一時停止時にリードアクセスすると , フラッシュメモリはアドレスの指 し示す番地が消去中のセクタであれば "0" を DQ7 に出力し , 消去中のセクタでなけ ればアドレスの指し示す番地の読出し値の bit7 (DATA: 7) を DQ7 に出力します。 • トグルビットフラグ (DQ6) とともにデータポーリングフラグ (DQ7) を参照すること で , 現在セクタ一時停止状態であるか , どのセクタが消去中であるかの判定が可能 です。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 387 第 23 章 デュアルオペレーション フラッシュメモリ 23.4 自動アルゴリズム実行状態の確認 MB95850K/860K/870K シリーズ <注意事項> 自動アルゴリズムを起動した場合は , 指定したアドレスへのリードアクセスは無視されま す。データの読出しは , データポーリングフラグ (DQ7) が "1" に設定された後 , 可能にな ります。自動アルゴリズム終了後のデータの読出しは , データポーリング終了を確認した リードアクセスの後に行ってください。 388 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 23.4 自動アルゴリズム実行状態の確認 MB95850K/860K/870K シリーズ トグルビットフラグ (DQ6) 23.4.2 トグルビットフラグ (DQ6) は , 自動アルゴリズム実行が進行中 , もしくは終了状態 であることをトグルビット機能によって知らせるハードウェアシーケンスフラグで す。 ■ トグルビットフラグ (DQ6) 表 23.4-5 と表 23.4-6 に , 正常動作時と異常動作時のそれぞれのトグルビットフラグの 状態遷移を示します。 表 23.4-5 トグルビットフラグの状態遷移 ( 正常動作時の状態変化 ) 動作状態 書込み → 書込み完了 チップ / セクタ 消去 → 消去完了 セクタ消去 待ち → 消去開始 消去 → セクタ消去一時 停止 ( セクタ消去実 行中 ) セクタ消去一時 停止 → 消去再開 ( セクタ消去実 行中 ) セクタ消去 一時停止中 ( セクタ消去 停止 ) DQ6 Toggle → DATA: 6 Toggle → 1 Toggle Toggle → 0 0 → Toggle DATA: 6 表 23.4-6 トグルビットフラグの状態遷移 ( 異常動作時の状態変化 ) 動作状態 書込み チップ / セクタ消去 DQ6 Toggle Toggle ● 書込みとチップ / セクタ消去の場合 • 自動書込みアルゴリズムまたはチップ / セクタ消去の自動アルゴリズムを実行中に リードアクセスを連続して行った場合 , フラッシュメモリは , 読出しを行うごとに "1" と "0" を交互にトグル出力します。 • 自動書込みアルゴリズムまたはチップ / セクタ消去の自動アルゴリズムが終了した 後にリードアクセスを連続して行った場合 , フラッシュメモリは読出しを行うごと にリードアドレスの読出し値の bit6 (DATA: 6) を出力します。 ● セクタ消去一時停止時 セクタ消去一時停止時にリードアクセスすると,フラッシュメモリはアドレスの指し示 す番地が消去中のセクタに属するならば , "0" を出力します。消去中のセクタに属さな い場合には , アドレスの指し示す番地の読出し値の bit6(DATA: 6) を出力します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 389 第 23 章 デュアルオペレーション フラッシュメモリ 23.4 自動アルゴリズム実行状態の確認 MB95850K/860K/870K シリーズ <注意事項> デュアルオペレーションフラッシュメモリ ( フラッシュメモリ書込み制御プログラムをフ ラッシュメモリ上で実行する ) を用いる場合 , トグルビットフラグ (DQ6) を使用して書込 み / 消去中の状態を確認することができません。 「23.9 使用上の注意」記載の注意事項を 参照の上 , プログラムを作成してください。 なお , フラッシュメモリ書込み制御プログラムを RAM 上で実行する場合は , 本注意事項 は該当しません。 390 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 23.4 自動アルゴリズム実行状態の確認 MB95850K/860K/870K シリーズ タイミングリミット超過フラグ (DQ5) 23.4.3 タイミングリミット超過フラグ (DQ5) は , 自動アルゴリズムの実行時間がフラッ シュメモリ内の規定時間 ( 書込み / 消去に要する時間 ) を超えてしまったことを示す ハードウェアシーケンスフラグです。 ■ タイミングリミット超過フラグ (DQ5) 表 23.4-7 と表 23.4-8 に , 正常動作時と異常動作時のフラグそれぞれのタイミングリ ミット超過フラグの状態遷移を示します。 表 23.4-7 タイミングリミット超過フラグの状態遷移 ( 正常動作時 ) 動作状態 書込み → 書込み完了 チップ / セクタ 消去 → 消去完了 セクタ消去 待ち → 消去開始 消去 → セクタ消去一時 停止 ( セクタ消去実 行中 ) セクタ消去一時 停止 → 消去再開 ( セクタ消去実 行中 ) セクタ消去 一時停止中 ( セクタ消去 停止 ) DQ5 0 → DATA: 5 0→1 0 0 0 DATA: 5 表 23.4-8 タイミングリミット超過フラグの状態遷移 ( 異常動作時 ) 動作状態 書込み チップ / セクタ消去 DQ5 1 1 ● 書込みとチップ / セクタ消去時について 書込みまたはチップ / セクタ消去の自動アルゴリズム起動後にこのフラグにリードア クセスを行うと , 自動アルゴリズム実行時間が , 規定の時間 ( 書込み / 消去に要する時 間 ) 以内であれば "0" が , また超えている場合は "1" が出力されます。 タイミングリミット超過フラグ (DQ5) は , 自動アルゴリズムが実行中か終了している かにかかわらず , 書込み / 消去の成功または失敗を確認するために使用できます。タイ ミングリミット超過フラグ(DQ5)が"1"で, フラッシュメモリステータスレジスタ(FSR) のフラッシュメモリ書込み / 消去ステータスビット (RDY) が "0" ならば , 書込みは失敗 したと判断できます。 例えば , "0" が書き込まれているフラッシュメモリアドレスに "1" を書き込もうとする と , フラッシュメモリはロックされます。この場合 , 自動アルゴリズムは終了すること ができず , その実行時間がフラッシュメモリ内で設定された規定時間を超えてしまう ため , タイミングリミット超過フラグ (DQ5) は "1" を出力します。DQ5 が "1" であるこ とは , フラッシュメモリの不良ではなく , それが正しく使用されなかったことを示しま す。DQ5 が "1" を出力する場合は , リセットコマンドを実行してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 391 第 23 章 デュアルオペレーション フラッシュメモリ 23.4 自動アルゴリズム実行状態の確認 MB95850K/860K/870K シリーズ セクタ消去タイマフラグ (DQ3) 23.4.4 セクタ消去タイマフラグ (DQ3) は , セクタ消去コマンド起動後にセクタ消去ウェイ ト期間中であるか否かを知らせるフラグです。 ■ セクタ消去タイマフラグ (DQ3) 表 23.4-9 と表 23.4-10 に , 正常動作時と異常動作時のフラグそれぞれのセクタ消去タイ マフラグの状態遷移を示します。 表 23.4-9 セクタ消去タイマフラグの状態遷移 ( 正常動作時 ) 動作状態 書込み → 書込み完了 チップ / セクタ 消去 → 消去完了 セクタ消去 待ち → 消去開始 消去 → セクタ消去一時 停止 ( セクタ消去実 行中 ) セクタ消去一時 停止 → 消去再開 ( セクタ消去実 行中 ) セクタ消去 一時停止中 ( セクタ消去 停止 ) DQ3 0 → DATA: 3 1 0→1 1 1 DATA: 3 表 23.4-10 セクタ消去タイマフラグの状態遷移 ( 異常動作時 ) 動作状態 書込み チップ / セクタ消去 DQ3 0 1 ● セクタ消去動作時 • セクタ消去コマンド起動後にリードアクセスが行われると , セクタ消去タイマフラ グ (DQ3) は , セクタ消去ウェイト期間中の場合には "0" を , セクタ消去ウェイト期 間を超えてしまっている場合には "1" を出力します。 • データポーリング機能やトグルビット機能によって消去アルゴリズムが実行中を 示している場合に (DQ7 = 0, DQ6 はトグル出力を示す ), フラッシュメモリはセクタ 消去を行います。続けて設定されるコマンドがセクタ消去一時停止コマンドでなけ れば , 消去が終了されるまでそのコマンドは無視されます。 • このフラグが "0" の場合には , フラッシュメモリはセクタ消去コマンドを受付け可 能です。フラッシュメモリへのセクタ消去コマンドの書込みに先立って , セクタ消 去タイマフラグ (DQ3) が "0" であることを確かめてください。フラグが "1" であっ た場合には , フラッシュメモリはセクタ消去コマンドの一時停止を受け付けないこ とがあります。 ● セクタ消去一時停止時 セクタ消去一時停止中にリードアクセスが行われると,フラッシュメモリはアドレスの 示す番地が消去中のセクタに属する場合には "1" を出力します。消去中のセクタに属 さない場合にはアドレスの示す番地の読出し値の bit3(DATA: 3) を出力します。 392 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 23.4 自動アルゴリズム実行状態の確認 MB95850K/860K/870K シリーズ トグルビット 2 フラグ (DQ2) 23.4.5 トグルビット 2 フラグ (DQ2) は , セクタ消去一時停止状態で読出しアドレスが消去 対象セクタであるか否かおよび出力データがトグルされたかどうかをトグルビット 機能によって知らせるハードウェアシーケンスフラグです ■ トグルビット 2 フラグ (DQ2) 表 23.4-11 と表 23.4-12 に , 正常動作時と異常動作時のそれぞれのトグルビット 2 フラ グの状態遷移を示します。 表 23.4-11 トグルビット 2 フラグの状態遷移 ( 正常動作時の状態変化 ) 動作状態 書込み → 書込み完了 チップ / セクタ 消去 → 消去完了 セクタ消去 待ち → 消去開始 消去 → セクタ消去一時 停止 ( セクタ消去実 行中 ) セクタ消去一時 停止 → 消去再開 ( セクタ消去実 行中 ) セクタ消去 一時停止中 ( セクタ消去 停止 ) DQ2 0 → DATA: 2 Toggle → 1 Toggle Toggle Toggle DATA: 2 表 23.4-12 トグルビット 2 フラグの状態遷移 ( 異常動作時の状態変化 ) 動作状態 書込み チップ / セクタ消去 DQ2 0 Toggle ● チップ / セクタ消去の場合 • チップ / セクタ消去の自動アルゴリズムを実行中に消去対象セクタにリードアクセ スを連続して行った場合 , フラッシュメモリはリードアクセスを行うごとに "1" と "0" を交互にトグル出力します。 • チップ / セクタ消去の自動アルゴリズムを実行中に消去対象ではないセクタにリー ドアクセスを連続して行った場合 , フラッシュメモリはリードアクセスを行うごと にリードアドレスの読出し値の bit2 (DATA: 2) を出力します。 ● セクタ消去一時停止時 • • セクタ消去一時停止時に消去対象セクタにリードアクセスを連続して行った場合 , フラッシュメモリはリードアクセスを行うごとに "1" と "0" を交互にトグル出力し ます。 セクタ消去一時停止時に消去対象ではないセクタにリードアクセスを連続して 行った場合 , フラッシュメモリはリードアクセスを行うごとにリードアドレスの読 出し値の bit2 (DATA: 2) を出力します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 393 第 23 章 デュアルオペレーション フラッシュメモリ 23.5 フラッシュメモリの書込み / 消去 23.5 MB95850K/860K/870K シリーズ フラッシュメモリの書込み / 消去 自動アルゴリズムを起動する各コマンドを入力し , フラッシュメモリに読出し / リ セット , 書込み , チップ消去 , セクタ消去 , セクタ消去一時停止 , セクタ消去再開の それぞれの動作を行う手順を説明します。 ■ フラッシュメモリの書込み / 消去の詳細説明 自動アルゴリズムは , 読出し / リセット , 書込み , チップ消去 , セクタ消去 , セクタ消去 一時停止 , セクタ消去再開のコマンドシーケンスを CPU からフラッシュメモリに書き 込むことにより起動できます。CPU からフラッシュメモリへのコマンドシーケンスの コマンドの書込みは , 必ず連続して行ってください。自動アルゴリズムの終了は , デー タポーリング機能により確認できます。自動アルゴリズムの正常終了後は , フラッシュ メモリは読出し / リセット状態に戻ります。 動作について , 以下の順序で説明します。 394 • 読出し / リセット状態への遷移 • データの書込み • 全データの消去 ( チップ消去 ) • 任意のデータの消去 ( セクタ消去 ) • • セクタ消去の一時停止 セクタ消去の再開 • アンロックバイパス書込み FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 23.5 フラッシュメモリの書込み / 消去 MB95850K/860K/870K シリーズ 23.5.1 フラッシュメモリの読出し / リセット状態への遷移 読出し / リセットコマンドを入力して , フラッシュメモリを読出し / リセット状態に する手順について説明します。 ■ フラッシュメモリの読出し / リセット状態への遷移 • フラッシュメモリを読出し / リセット状態にするには , コマンドシーケンス表の読 出し / リセットコマンドを CPU からフラッシュメモリに送信してください。 • 読出し / リセット状態はフラッシュメモリの初期状態であるため , フラッシュメモ リは電源投入後またはコマンドの正常終了後は , 必ず読出し / リセット状態となり ます。読出し / リセット状態は , コマンドの入力待ち状態でもあります。 • 読出し / リセット状態では , フラッシュメモリへのリードアクセスによって , その データを読み出せます。 • フラッシュメモリにリードアクセスする場合は , 読出し / リセットコマンドは必要 ありません。コマンドが正常に終了しなかった場合は , 自動アルゴリズムを初期化 するために , 読出し / リセットコマンドを使用してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 395 第 23 章 デュアルオペレーション フラッシュメモリ 23.5 フラッシュメモリの書込み / 消去 23.5.2 MB95850K/860K/870K シリーズ フラッシュメモリへのデータ書込み 書込みコマンドを入力して , フラッシュメモリにデータを書き込む手順について説 明します。 ■ フラッシュメモリへのデータ書込み • フラッシュメモリにデータを書き込むための自動アルゴリズムを起動するには , コ マンドシーケンス表の書込みコマンドを連続的に CPU からフラッシュメモリに送 信してください。 • 4 サイクル目に対象のアドレスへデータを書き込むと , 自動アルゴリズムが起動さ れ自動書込みを開始します。 ● アドレッシング方式 • 書込みは , どのようなアドレスの順番でも , セクタの境界を越えても行えます。1 回 の書込みコマンドによって書き込むことのできるデータは 1 バイトのみです。 ● データ書込みに関する注意事項 • 書込みによって , ビットデータを "0" から "1" に戻すことはできません。"0" であっ たビットデータに "1" が書き込まれると , データポーリング機能 (DQ7), あるいはト グル動作 (DQ6) が終了せず , フラッシュメモリ素子が不良であると判断され , 自動 アルゴリズムの実行時間が規定の書込み時間を超えてしまうため , タイミングリ ミット超過フラグ (DQ5) がエラーの発生を示すことになります。読出し / リセット 状態でデータを読み出すと , ビットデータは "0" のままとなります。ビットデータ を "0" から "1" に戻すには , フラッシュメモリの消去を行ってください。 • 書込みの実行中は , すべてのコマンドが無視されます。 • 書込み中にハードウェアリセットが生じた場合は , その時点のアドレスに書込み中 であったデータの整合性は保証されません。チップ消去コマンドまたはセクタ消去 コマンドからデータの書込みをやり直してください。 ■ フラッシュメモリ書込み手順 • 図 23.5-1 に , フラッシュメモリへのデータ書込み手順の例を示します。ハードウェ アシーケンスフラグにより , フラッシュメモリ内の自動アルゴリズムの動作状態を 確認できます。この例では , データポーリングフラグ (DQ7) を使用して , フラッシュ メモリへのデータ書込みの終了を確認しています。 • フラグチェックのために読み出すデータは , 最後に書込みを行ったアドレスからの 読出しとなります データポーリングフラグ (DQ7) およびタイミングリミット超過フラグ (DQ5) は , 同 時に変更されるため, タイミングリミット超過フラグ(DQ5)が, "1"であっても, デー タポーリングフラグ (DQ7) を確認してください。 • • 396 同様に , トグルビットフラグ (DQ6) は , タイミングリミット超過フラグ (DQ5) が , "1" に変化すると同時にトグルを停止するため , DQ5 が "1" に変化した後に , DQ6 を 確認してください。 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 23.5 フラッシュメモリの書込み / 消去 MB95850K/860K/870K シリーズ 図 23.5-1 フラッシュメモリへの書込み手順の例 書込み開始 FSR:WRE フラッシュメモリ書込み許可 SWRE0 セクタへのデータ書込みの禁止/許可 ("0"を書き込んでセクタへのデータ書込みを禁止,あるいは "1"を書き込んでセクタへのデータ書込みを許可) 書込みコマンドシーケンス (1) 0xUAAA ← 0xAA (2) 0xU554 ← 0x55 (3) 0xUAAA ← 0xA0 (4) 書込みアドレス←書込みデータ 次のアドレス 内部アドレスの読出し データポーリング (DQ7) Data Data 0 タイミングリミット (DQ5) 1 内部アドレスの読出し Data データポーリング (DQ7) Data 書込みエラー 最終アドレス? NO YES FSR:WRE フラッシュメモリ書込み禁止 書込み完了 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 397 第 23 章 デュアルオペレーション フラッシュメモリ 23.5 フラッシュメモリの書込み / 消去 23.5.3 MB95850K/860K/870K シリーズ フラッシュメモリの全データ消去 ( チップ消去 ) チップ消去コマンドを発行して , フラッシュメモリの全データを消去する手順につ いて説明します。 ■ フラッシュメモリからのデータ消去 ( チップ消去 ) • フラッシュメモリから全データを消去するには , コマンドシーケンス表のチップ消 去コマンドを連続的に CPU からフラッシュメモリに送信してください。 • チップ消去コマンドは , 6 回のバス動作で実行されます。チップ消去は , 書込みコマ ンドの 6 サイクル目が完了した時点で開始します。 • チップ消去では , データ消去を開始する前にユーザがフラッシュメモリにデータを 書き込む必要はありません。自動消去アルゴリズム実行中には , フラッシュメモリ はデータを消去する前にフラッシュメモリのすべてのセルに "0" を自動的に書き込 んでから消去します。 ■ チップ消去に関する注意事項 398 • すべてのセクタへのデータ書込みが許可されている場合のみチップ消去コマンド が受け付けられます。フラッシュメモリ書込み制御レジスタ 0 (SWRE0) 内の 1 セク タでもビットが "0" に設定 ( 当該セクタへのデータ書込みが禁止 ) されている場合 は , チップ消去コマンドは無視されます。 • チップ消去中にハードウェアリセットが生じた場合は , フラッシュメモリ内のデー タの整合性は保証されません。 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 23.5 フラッシュメモリの書込み / 消去 MB95850K/860K/870K シリーズ 23.5.4 フラッシュメモリの特定データ消去 ( セクタ消去 ) フラッシュメモリの特定セクタの消去のため , セクタ消去コマンドを入力する手順 を説明します。セクタ別消去が可能で , かつ同時に複数のセクタも指定できます。 ■ フラッシュメモリの特定データ消去 ( セクタ消去 ) フラッシュメモリの特定セクタからデータを消去するには , コマンドシーケンス表の セクタ消去コマンドを連続的に CPU からフラッシュメモリに送信してください。 ● セクタの指定 • セクタ消去コマンドは 6 回のバス動作で行われます。6 サイクル目のアドレスに消 去対象のセクタ内のアドレスを指定し , データとしてセクタ消去コード (0x30) を書 き込むことにより最小 35 µs のセクタ消去待ち時間が開始します。 • 複数のセクタを消去する場合は , 上記に続き消去する消去対象のセクタ内のアドレ スに消去コード (0x30) を書き込んでください。 ● 複数セクタ指定する場合の注意事項 • 最後のセクタ消去コードの書込みから最小 35 µs のセクタ消去待ち時間終了後 , 消 去が開始します。 • 複数のセクタを同時に消去する場合は , 消去セクタのアドレスと消去コード ( コマ ンドシーケンス 6 サイクル目 ) を 35 µs 以内に入力してください。35 µs が経過した 後に消去コードを入力した場合は , セクタ消去待ち時間終了により消去コードは受 け付けられません。 • セクタ消去コードの連続書込みが有効であるかどうかは , セクタ消去タイマフラグ (DQ3) で確認できます。 • セクタ消去タイマフラグ (DQ3) を読み出す場合のアドレスには , 消去しようとして いるセクタを指定してください。 ■ フラッシュメモリセクタ消去手順 • • • フラッシュメモリの自動アルゴリズムの状態をチェックするためにハードウェア シーケンスフラグを使用できます。図 23.5-2 に , フラッシュメモリセクタ消去手順 の例を示します。この例では , トグルビットフラグ (DQ6) を , セクタ消去の終わり を確認するために使用します。 トグルビットフラグ (DQ6) は , タイミングリミット超過フラグ (DQ5) が "1" に変更 されると同時に , 出力のトグルを停止します。タイミングリミット超過フラグ (DQ5) が "1" であっても , トグルビットフラグ (DQ6) を確認してください。 データポーリングフラグ (DQ7) とタイミングリミット超過フラグ (DQ5) は同時に変 化するため , データポーリングフラグ (DQ7) を確認してください。 ■ セクタデータ消去の注意事項 データ消去中に , ハードウェアリセットが起こると , フラッシュメモリ内のデータの整 合性は保証されません。ハードウェアリセットが発生した後に , 再度セクタ消去手順を 実行してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 399 第 23 章 デュアルオペレーション フラッシュメモリ 23.5 フラッシュメモリの書込み / 消去 MB95850K/860K/870K シリーズ 図 23.5-2 フラッシュメモリのセクタからのデータ消去手順例 消去開始 FSR:WRE フラッシュメモリ消去許可 SWRE0 セクタへのデータ書込みの禁止/許可 ("0"を書き込んでセクタへのデータ書込みを禁止,あるいは "1"を書き込んでセクタへのデータ書込みを許可) 消去コマンドシーケンス (1) 0xUAAA ← 0xAA (2) 0xU554 ← 0x55 (3) 0xUAAA ← 0x80 (4) 0xUAAA ← 0xAA (5) 0xU554 ← 0x55 (6) 消去セクタへコード 入力 (0x30) YES 消去セクタがほかに あるか NO 内部アドレスリード 0 内部アドレスリード1 DQ3 内部アドレスリード2 1 消去指定の追加が35 μs以内 にされなかった。残りをや り直すフラグを立て, いった ん消去を終える。 トグルビット(DQ6) データ1=データ2 YES NO 0 タイミングリミット (DQ5) 1 内部アドレスリード 内部アドレスリード NO トグルビット(DQ6) データ1=データ2 YES 消去エラー 残りやり直し フラグ? YES NO FSR:WRE フラッシュメモリ消去禁止 消去完了 400 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 23.5 フラッシュメモリの書込み / 消去 MB95850K/860K/870K シリーズ フラッシュメモリセクタ消去の一時停止 23.5.5 フラッシュメモリのセクタ消去を一時停止するためにセクタ消去一時停止コマンド を入力する手順を説明します。消去実行中でないセクタからはデータの読出しが可 能です。 ■ フラッシュメモリのセクタ消去の一時停止 • フラッシュメモリセクタ消去を一時停止させるには , コマンドシーケンス表のフ ラッシュメモリセクタ消去一時停止コマンドを CPU からフラッシュメモリに送信 します。 • セクタ消去一時停止コマンドは , セクタ消去中に消去を一時停止し , 消去中でない セクタからデータを読み出せます。 • セクタ消去一時停止コマンドは , 消去待ち時間を含むセクタ消去時間においてのみ 許可されます。チップ消去時 , あるいは書込み時には , 本コマンドは無視されます。 • セクタ消去一時停止コマンドは, 消去一時停止コード (0xB0) を書き込むことで実行 されます。このときのアドレスは , 消去指定したセクタ内の任意のアドレスを設定 してください。消去一時停止中に再度 , セクタ消去一時停止コマンドを実行した場 合 , 再度入力したコマンドは無視されます。 • セクタ消去ウェイト期間中に , セクタ消去一時停止コマンドを入力した場合 , 直ち にセクタ消去ウェイトを終了し , 消去動作を中断して消去停止状態になります。 • セクタ消去待ち期間後のセクタ消去中に , セクタ消去一時停止コマンドが入力され ると , 最大 35 µs 後に消去一時停止状態となります。 <注意事項> セクタ消去一時停止コマンドを発行する場合,セクタ消去コマンド発行後35 µs + 2 MCLK ( マシンクロック ) 以上経過してから発行してください。 また , セクタ消去再開コマンドによりセクタ消去再開後 , 再びセクタ消去一時停止コマン ドを発行する場合 , セクタ消去再開コマンド発行後 2 ms 以上経過してから発行してくだ さい。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 401 第 23 章 デュアルオペレーション フラッシュメモリ 23.5 フラッシュメモリの書込み / 消去 23.5.6 MB95850K/860K/870K シリーズ フラッシュメモリセクタ消去の再開 フラッシュメモリのセクタ消去の一時停止を再開するためのセクタ消去再開コマン ドを入力する手順を説明します。 ■ フラッシュメモリのセクタ消去の再開 402 • 一時停止しているセクタ消去を再開するには , コマンドシーケンス表のセクタ消去 再開コマンドを CPU からフラッシュメモリに送信してください。 • セクタ消去再開コマンドは , セクタ消去一時停止コマンドで中断したセクタ消去動 作を再開します。セクタ消去再開コマンドは , 消去再開コード (0x30) を書き込むこ とによって実行されますが , アドレスは消去を指定したセクタ内の任意のアドレス を指定してください。 • セクタ消去中は , セクタ消去再開コマンド入力は無視さます。 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 23.5 フラッシュメモリの書込み / 消去 MB95850K/860K/870K シリーズ 23.5.7 アンロックバイパス書込み アンロックバイパス状態を説明します。 ■ ノーマルコマンド状態からアンロックバイパス状態への遷移 ノーマルコマンド状態でアンロックバイパス書込みコマンドが入力されると , フラッ シュメモリはアンロックバイパス状態に遷移します。アンロックバイパス状態では , 書 込みコマンドが表 23.3-1 のように 2 サイクルで書込みコマンドを実行できます。 ■ アンロックバイパス状態からノーマルコマンド状態への復帰 アンロックバイパス状態でアンロックバイパスリセットコマンドが入力されると , フ ラッシュメモリはアンロックバイパス状態からノーマルコマンド状態に復帰します。 また , アンロックバイパス状態で , ハードウェアリセットを実行することによっても , フラッシュメモリはノーマルコマンド状態に復帰します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 403 第 23 章 デュアルオペレーション フラッシュメモリ 23.6 動作説明 MB95850K/860K/870K シリーズ 23.6 動作説明 デュアルオペレーションフラッシュを使用する際には , 以下について注意してくだ さい。 • 上位バンクの書換え時における割込み発生 • フラッシュメモリステータスレジスタのセクタ変換許可ビット (FSR:SSEN) の設 定手順 ■ 上位バンクの書換え時における割込み発生 デュアルオペレーションフラッシュは , 2 つのバンクで構成されていますが , 従来のフ ラッシュ同様 , 同一バンクでの消去 / 書込みと読出しの実行は行えません。 SA2 には割込みベクタがあるため , 上位バンク書込み時に割込みが発生した場合には CPU からの割込みベクタを正常に読み出せません。上位バンクの書換えを行う際には セクタ変換許可ビットを "1" に設定 (FSR:SSEN = 1) してください。そのため , 割込み発 生時は , SA1 に割込みベクタのデータを読み出すため , FSR:SSEN ビットを "1" に設定す る前に SA1 と SA2 に同じデータをコピーしておいてください。 ■ セクタ変換許可ビット (FSR:SSEN) の設定手順 図 23.6-1 に , セクタ変換許可ビット (FSR:SSEN) の設定手順例を示します。 上位バンクのデータを書き換える際には , FSR:SSEN ビットを "1" に設定してください。 また , フラッシュメモリへの書込み中に FSR:SSEN ビットの設定変更は禁止です。 FSR:SSEN ビットの設定は必ずフラッシュメモリへの書込み開始前または終了後に 行ってください。また , FSR:SSEN ビットを設定する前に , フラッシュメモリの割込み を禁止とし , FSR:SSEN ビットを設定した後に , フラッシュメモリの割込みを許可して ください。 図 23.6-1 セクタ変換許可ビット (FSR:SSEN) の設定手順例 フラッシュデータ書換え開始 下位バンクのデータ書換え 書込み作業開始 上位バンクのデータ書換え SA2のデータを SA1にコピー FSR:SSENを“1”に設定 書込み作業開始 フラッシュデータ書換え終了 フラッシュデータ書換え終了 FSR:SSENを“0”に設定 404 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 23.6 動作説明 MB95850K/860K/870K シリーズ ■ 書込み / 消去中の動作について フラッシュメモリへの書込み / 消去中に割込みが発生した場合 , 割込みルーチン内でフ ラッシュメモリへの書込みは禁止されています。 書込み / 消去ルーチンが複数存在する場合 , その書込み / 消去ルーチンが完了してから ほかの書込み / 消去ルーチンを実行するようにしてください。 フラッシュメモリへの書込み / 消去中に , 書込み / 消去中のモード ( クロックモードお よびスタンバイモード ) から状態遷移することは禁止されています。書込み / 消去終了 後に状態遷移するようにしてください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 405 第 23 章 デュアルオペレーション フラッシュメモリ 23.7 フラッシュセキュリティ 23.7 MB95850K/860K/870K シリーズ フラッシュセキュリティ フラッシュセキュリティコントローラ機能により , フラッシュメモリの内容が外部 端子から読み出されることを防ぎます。 ■ フラッシュセキュリティ フラッシュメモリアドレス (0xFFFC) に保護コード "0x01" を書き込むと , フラッシュメ モリへのアクセスが制限され , どの外部端子からもフラッシュメモリへの読出し / 書込 みアクセスができなくなります。フラッシュメモリが一度保護されると , チップ消去コ マンドを実行するまでこの機能のロックを解除することはできません。 保護コードは, フラッシュプログラミングの最後にコーディングしてください。これは, プログラミング中の不要な保護を回避するためです。 フラッシュメモリを一度保護すると , 再度フラッシュメモリにデータを書き込めるよ うにするにはチップ消去が必要になります。 406 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 23.8 レジスタ MB95850K/860K/870K シリーズ 23.8 レジスタ デュアルオペレーションフラッシュメモリのレジスタについて説明します。 表 23.8-1 デュアルオペレーションフラッシュメモリのレジスタ一覧 レジスタ略称 レジスタ名 参照先 FSR2 フラッシュメモリステータスレジスタ 2 23.8.1 FSR フラッシュメモリステータスレジスタ 23.8.2 SWRE0 フラッシュメモリセクタ書込み制御レジスタ 0 23.8.3 FSR3 フラッシュメモリステータスレジスタ 3 23.8.4 FSR4 フラッシュメモリステータスレジスタ 4 23.8.5 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 407 第 23 章 デュアルオペレーション フラッシュメモリ 23.8 レジスタ 23.8.1 MB95850K/860K/870K シリーズ フラッシュメモリステータスレジスタ 2 (FSR2) フラッシュメモリステータスレジスタ 2 (FSR2) について説明します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field PEIEN PGMEND PTIEN PGMTO EEIEN ERSEND ETIEN ERSTO 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7] PEIEN: PGMEND 割込み許可ビット このビットは , フラッシュメモリ書込みの完了による割込み要求の発生を許可または禁止します。 説明 bit7 "0" を書き込んだ場合 フラッシュメモリ書込みの完了 (FSR2:PGMEND = 1) による割込みを禁止しま す。 "1" を書き込んだ場合 フラッシュメモリ書込みの完了 (FSR2:PGMEND = 1) による割込みを許可しま す。 [bit6] PGMEND: PGMEND 割込み要求フラグビット このビットはフラッシュメモリ書込みの完了を示します。 PGMEND ビットはフラッシュメモリ自動アルゴリズムの完了直後に "1" に設定されます。 フラッシュメモリ書込み完了による割込み要求の発生が許可されている場合は (FSR2:PEIEN = 1), PGMEND ビットが "1" に設定されると , 割込み要求が発生します。 フラッシュメモリ書込みが完了した後 , PGMEND ビットが "0" に設定されていた場合 , これ以降フ ラッシュメモリ書込み / 消去はできません。リセットコマンドを書き込むことによりノーマルコマ ンド状態に復帰できます。 フラッシュメモリ書込みが失敗した場合 (FSR3:HANG = 1), PGMEND ビットが "0" にクリアされま す。 このビットへの "0" の書込みはこのビットをクリアします。 このビットに "1" を書き込んでも動作に影響はありません。 リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。 説明 bit6 "0" が読み出された場合 デバイスがコマンド入力待ち状態にあることまたはフラッシュメモリ書込み中 であることを示します。 "1" が読み出された場合 フラッシュメモリ書込みが完了していることを示します。 "0" を書き込んだ場合 このビットをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 408 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 23.8 レジスタ MB95850K/860K/870K シリーズ [bit5] PTIEN: PGMTO 割込み許可ビット このビットはフラッシュメモリ書込みの失敗による割込み要求の発生を許可または禁止します。 説明 bit5 "0" を書き込んだ場合 フラッシュメモリ書込みの失敗 (FSR2:PGMTO = 1) による割込みを禁止します。 "1" を書き込んだ場合 フラッシュメモリ書込みの失敗 (FSR2:PGMTO = 1) による割込みを許可します。 [bit4] PGMTO: PGMTO 割込み要求フラグビット このビットはフラッシュメモリ書込みの失敗を示します。 フラッシュメモリ書込みが失敗すると , PGMTO ビットはフラッシュメモリ自動アルゴリズムの完 了直後に "1" に設定されます。これ以降フラッシュメモリ書込み / 消去はできませんが , リセットコ マンドを書き込むことによりノーマルコマンド状態に復帰できます。 フラッシュメモリ書込み失敗による割込み要求の発生が許可されている場合は (FSR2:PTIEN = 1), PGMTO ビットが "1" に設定されると , 割込み要求が発生します。 このビットへの "0" の書込みはこのビットをクリアします。 このビットに "1" を書き込んでも動作に影響はありません。 リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。 説明 bit4 "0" が読み出された場合 デバイスがコマンド入力待ち状態にあることまたはフラッシュメモリ書込み中 であることを示します。 "1" が読み出された場合 フラッシュメモリ書込みが失敗していることを示します。 "0" を書き込んだ場合 このビットをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 [bit3] EEIEN: ERSEND 割込み許可ビット このビットはフラッシュメモリセクタ消去の完了による割込み要求の発生を許可または禁止しま す。 bit3 説明 "0" を書き込んだ場合 フラッシュメモリセクタ消去の完了 (FSR2:ERSEND = 1) による割込みを禁止し ます。 "1" を書き込んだ場合 フラッシュメモリセクタ消去の完了 (FSR2:ERSEND = 1) による割込みを許可し ます。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 409 第 23 章 デュアルオペレーション フラッシュメモリ 23.8 レジスタ MB95850K/860K/870K シリーズ [bit2] ERSEND: ERSEND 割込み要求フラグビット このビットはフラッシュメモリセクタ消去の完了を示します。 ERSEND ビットはフラッシュメモリ自動アルゴリズムの完了直後に "1" に設定されます。 フラッシュメモリセクタ消去完了による割込み要求の発生が許可されている場合(FSR2:EEIEN = 1), ERSEND ビットが "1" に設定されると , 割込み要求が発生します。 フラッシュメモリセクタ消去が完了した後 , ERSEND ビットが "0" に設定されていた場合 , これ以 降フラッシュメモリ書込み / 消去はできません。リセットコマンドを書き込むことによりノーマル コマンド状態に復帰できます。 フラッシュメモリセクタ消去が失敗した場合 (FSR3:HANG = 1), ERSEND ビットは "0" にクリアされ ます。 このビットへの "0" の書込みはこのビットをクリアします。 このビットに "1" を書き込んでも動作に影響はありません。 リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。 説明 bit2 "0" が読み出された場合 デバイスがコマンド入力待ち状態にあることまたはフラッシュメモリセクタ消 去中であることを示します。 "1" が読み出された場合 フラッシュメモリセクタ消去が完了していることを示します。 "0" を書き込んだ場合 このビットをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 [bit1] ETIEN: ERSTO 割込み許可ビット このビットはフラッシュメモリセクタ消去の失敗による割込み要求の発生を許可または禁止しま す。 説明 bit1 "0" を書き込んだ場合 フラッシュメモリセクタ消去の失敗 (FSR2:ERSTO = 1) による割込みを禁止しま す。 "1" を書き込んだ場合 フラッシュメモリセクタ消去の失敗 (FSR2:ERSTO = 1) による割込みを許可しま す。 [bit0] ERSTO: ERSTO 割込み要求フラグビット このビットはフラッシュメモリセクタ消去の失敗を示します。 フラッシュメモリセクタ消去に失敗すると , ERSTO ビットはフラッシュメモリ自動アルゴリズムの 完了直後に "1" に設定されます。これ以降フラッシュメモリ書込み / 消去はできませんが , リセット コマンドを書き込むことによりノーマルコマンド状態に復帰できます。 フラッシュメモリセクタ消去失敗による割込み要求の発生が許可されている場合(FSR2:ETIEN = 1), ERSTO ビットが "1" に設定されると , 割込み要求が発生します。 このビットへの "0" の書込みはこのビットをクリアします。 このビットに "1" を書き込んでも動作に影響はありません。 リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。 説明 bit0 "0" が読み出された場合 デバイスがコマンド入力待ち状態にあることまたはフラッシュメモリセクタ消 去中であることを示します。 "1" が読み出された場合 フラッシュメモリセクタ消去が失敗したことを示します。 "0" を書き込んだ場合 このビットをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 410 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 23.8 レジスタ MB95850K/860K/870K シリーズ 23.8.2 フラッシュメモリステータスレジスタ (FSR) フラッシュメモリステータスレジスタ (FSR) について説明します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — RDYIRQ RDY 予約 IRQEN WRE SSEN 属性 — — R/W R W R/W R/W R/W 初期値 0 0 0 X 0 0 0 0 ■ レジスタ機能 [bit7:6] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit5] RDYIRQ: フラッシュメモリ動作フラグビット このビットはフラッシュメモリの動作状態を示します。 フラッシュメモリ書込み / 消去が完了すると , フラッシュメモリの自動アルゴリズムが終了した時 点で RDYIRQ ビットに "1" が設定されます。 フラッシュメモリ書込み / 消去の完了による割込みが許可されている場合は (FSR:IRQEN=1), RDYIRQ ビットに "1" が設定されると , 割込み要求が発生します。 フラッシュメモリ書込み / 消去の完了後 , RDYIRQ ビットが "0" に設定されていた場合 , これ以降フ ラッシュメモリ書込み / 消去はできません。リセットコマンドを書き込むことによりノーマルコマ ンド状態に復帰できます。 このビットへの "0" の書込みはこのビットをクリアします。 このビットに "1" を書き込んでも動作に影響はありません。 リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。 説明 bit5 "0" が読み出された場合 フラッシュメモリ書込み / 消去が実行中であることを示します。 "1" が読み出された場合 フラッシュメモリ書込み / 消去が完了していることを示します。 "0" を書き込んだ場合 このビットをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 [bit4] RDY: フラッシュメモリ書込み / 消去ステータスビット このビットはフラッシュメモリの書込み / 消去状態を示します。 RDY ビットが "0" の場合は , フラッシュメモリへのデータの書込み / 消去は禁止されます。 RDY ビットが "0" の場合でも , 読出し / リセットコマンド / セクタ消去一時停止コマンドを受け付 けることができます。書込みまたは消去が終了すると , RDY ビットに "1" が設定されます。 書込み / 消去コマンドの発行後 , RDY ビットが "0" となるまでに 2 マシンクロック (MCLK) サイク ルの遅延があります。書込み / 消去コマンドの発行後は , この 2 マシンクロックサイクルが経過す るのを待ってから (NOP 命令を 2 個挿入するなど ) , このビットを読み出してください。 bit4 説明 "0" が読み出された場合 フラッシュメモリ書込み / 消去が実行中であることを示します。( 次のデータの 書込み / 消去は禁止されます。) "1" が読み出された場合 フラッシュメモリ書込み / 消去が完了していることを示します。( 次のデータの 書込み / 消去は許可されます。) MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 411 第 23 章 デュアルオペレーション フラッシュメモリ 23.8 レジスタ MB95850K/860K/870K シリーズ [bit3] 予約ビット このビットは常に "0" に設定してください。 [bit2] IRQEN: フラッシュメモリ書込み / 消去割込み許可ビット このビットはフラッシュメモリの書込み / 消去の完了による割込み要求の発生を許可または禁止し ます。 bit2 説明 "0" を書き込んだ場合 フラッシュメモリ書込み / 消去による割込みを禁止します。 "1" を書き込んだ場合 フラッシュメモリ書込み / 消去による割込みを許可します。 [bit1] WRE: フラッシュメモリ書込み / 消去許可ビット このビットはフラッシュメモリ領域の書込み / 消去を許可または禁止します。 WRE ビットはフラッシュメモリの書込み / 消去コマンドの起動前に設定してください。 このビットに "0" が書き込まれた場合 , 書込み / 消去コマンドが入力されても , 書込み / 消去信号は 生成されません。 このビットに "1" が書き込まれた場合 , 書込み / 消去コマンドが入力された後 , フラッシュメモリへ のデータ書込み / 消去が許可されます。 フラッシュメモリへのデータの書込み / 消去を行わない時には , データが誤ってフラッシュメモリ に書き込まれたり , フラッシュメモリから消去されたりすることを防ぐために , WRE ビットを "0" に設定してください。 フラッシュメモリにデータを書き込むには, FSR:WREを"1"に設定して, フラッシュメモリへのデー タ書込みを許可し , さらにデータが書き込まれるフラッシュメモリのセクタに対応するフラッシュ メモリセクタ書込み制御レジスタ 0 (SWRE0) を設定してください。フラッシュメモリ書込みが禁止 されている場合 (FSR:WRE = 0) は , セクタに対応するフラッシュセクタ書込み制御レジスタ 0 (SWRE0) のビットが "1" に設定されて書込みが許可されていても , そのフラッシュメモリセクタへ の書込みアクセスは実行できません。 bit1 説明 "0" を書き込んだ場合 フラッシュメモリ領域の書込み / 消去を禁止します。 "1" を書き込んだ場合 フラッシュメモリ領域の書込み / 消去を許可します。 [bit0] SSEN: セクタスワップ許可ビット このビットは割込みベクタが存在する領域である上位バンクに位置する SA2 の一部を , 下位バンク に位置する SA1 と入れ替えるために使用します。 bit0 説明 "0" を書き込んだ場合 SA1 を 0x1800 ~ 0x1FFF に , SA2 の 2K バイトを 0xF800 ~ 0xFFFF にマッピン グします。 "1" を書き込んだ場合 SA2 の 2K バイトを 0x1800 ~ 0x1FFF に , SA1 を 0xF800 ~ 0xFFFF にマッピン グします。 412 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 23.8 レジスタ MB95850K/860K/870K シリーズ 図 23.8-1 FSR:SSEN 設定値におけるアクセスセクタマップ 下位バンク CPUアドレス 0x1000 SA0: 2 Kバイト 0x17FF 0x1800 SA1: 2 Kバイト 0x1FFF 0x2000 SA0: 2 Kバイト SA2: 2 Kバイト - - 上位バンク 0x7FFF 0x8000 SA2: 30 Kバイト SA2: 32 Kバイト 0xF7FF 割込み 0xF800 ベクタ 0xFFFF SA1: 2 Kバイト FSR:SSEN=0 MN702-00010-2v0-J FSR:SSEN=1 FUJITSU SEMICONDUCTOR LIMITED 413 第 23 章 デュアルオペレーション フラッシュメモリ 23.8 レジスタ 23.8.3 MB95850K/860K/870K シリーズ フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) は , フラッシュメモリイン タフェースにあるレジスタで , フラッシュメモリの誤書込み防止機能の設定を行う 際に使用します。 フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) には , 個々のセクタ (SA2 ~ SA0) へのデータ書込みを許可 / 禁止するためのビットがあります。各ビットの初期値 は "0" で , 書込み禁止の状態です。SWRE0 のビットに "1" を書き込むと , そのビットに 対応するセクタへのデータ書込みが許可されます。SWRE0 のビットに "0" を書き込む と , そのビットに対応するセクタへの誤ったデータ書込みが防止されます。SWRE0 の ビットに "0" を書き込むと , その後そのビットに "1" を書き込んでも , そのビットに対 応するセクタへのデータを書き込むことはできません。再度書き込む場合はリセット してください。 SWRE0 への書込みは , 必ずバイト書込みで行ってください。ビット操作命令での設定 は禁止となります。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field 予約 予約 予約 予約 予約 SA2E SA1E SA0E 属性 W W W W W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7:3] 予約ビット これらのビットは常に "0" に設定してください。 [bit2:0] SA2E, SA1E, SA0E: 書込み機能セットアップビット これらのビットは , データが誤ってフラッシュメモリのセクタに書き込まれることを防止する機能 を設定するために使用されます。SWRE0 のビットに "1" を書き込むと , そのビットに対応するセク タにデータを書き込むことが可能になります。 SWRE0 のビットに "0" を書き込むことにより , そのビットに対応するセクタに誤ってデータが書き 込まれることを防止します。また , リセットにより , そのビットが "0" に初期化されます ( 書込み禁 止 )。 書込み機能設定ビットとそれらに対応するフラッシュメモリセクタの一覧 414 ビット名 対応するフラッシュメモリセクタ SA2E SA2 SA1E SA1 SA0E SA0 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 23.8 レジスタ MB95850K/860K/870K シリーズ SAxE (x = 0, 1 または 2) の設定とそれに対応する書込み機能 : • 書込み禁止 (SAxE = 0): フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) の SAxE ビットに "0" が書き込まれてい ない状態で , セクタに対応する SAxE ビットに "1" を書き込むことによって , セクタへのデータ書 込みを許可します。( これはリセットされた後の状態です。) • 書込み許可 (SAxE = 1): SAxE ビットに対応するセクタへデータを書き込めます。 • 誤書込み防止 (SAxE = 0): フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) の SAxE ビットに "0" が書き込まれた状 態で , セクタに対応する SAxE ビットを "1" に書き込んでも , そのセクタへのデータ書込みは許可 できません。 図 23.8-2 フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) による フラッシュメモリの書込み禁止 , 書込み許可 , 誤書込み防止の状態例 レジスタへの 書込み 初期化 レジスタへの 書込み 初期化 RST 書込み禁止 書込み許可 誤書込み防止 書込み禁止 SA0E 書込み禁止 誤書込み防止 書込み禁止 書込み禁止 書込み許可 書込み禁止 SA1E SA2E ■ SWRE0 レジスタの設定上の注意 FSR:SSEN が "0" である場合 , フラッシュメモリの SA0 (0x1000 ~ 0x17FF), あるいは SA1 (0x1800 ~ 0x1FFF) へのデータ書込み / データ消去を行うには , 最初に , SWRE0 レ ジスタの SA0E と SA1E の両方に "1" を設定してください。 FSR:SSEN が "1" である場合 , データ書込み / データ消去を行うには , SWRE0 レジスタ の SA0E, SA1E, SA2E ビットをすべて "1" に設定してください。 フラッシュメモリのセクタマップの詳細に関しては , 図 23.2-1 および図 23.8-1 を参照 してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 415 第 23 章 デュアルオペレーション フラッシュメモリ 23.8 レジスタ 23.8.4 MB95850K/860K/870K シリーズ フラッシュメモリステータスレジスタ 3 (FSR3) フラッシュメモリステータスレジスタ 3 (FSR3) について説明します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — — CERS ESPS SERS PGMS HANG 属性 — — — R R R R R 初期値 0 0 0 X X X X X ■ レジスタ機能 [bit7:5] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit4] CERS: フラッシュメモリチップ消去ステータスビット このビットはフラッシュメモリのチップ消去ステータスを示します。 bit4 説明 "0" が読み出された場合 フラッシュメモリのチップ消去が完了していることを示します。 "1" が読み出された場合 フラッシュメモリのチップ消去が実行中であることを示します。 [bit3] ESPS: フラッシュメモリセクタ消去一時中断ステータスビット このビットはフラッシュメモリのセクタ消去一時中断ステータスを示します。 bit3 説明 "0" が読み出された場合 フラッシュメモリのセクタ消去が一時中断されていないことを示します。 "1" が読み出された場合 フラッシュメモリのセクタ消去が一時中断されていることを示します。 [bit2] SERS: フラッシュメモリセクタ消去ステータスビット このビットはフラッシュメモリのセクタ消去ステータスを示します。 bit2 説明 "0" が読み出された場合 フラッシュメモリのセクタ消去が完了していることを示します。 "1" が読み出された場合 フラッシュメモリのセクタ消去が実行中であることを示します。 [bit1] PGMS: フラッシュメモリ書込みステータスビット このビットはフラッシュメモリの書込みステータスを示します。 マシンンクロック (MCLK) サイクルタイムが 1 µs より長い場合 , このビットはアサートされません。 サイクルタイムが 1 µs 以下のマシンクロック (MCLK) でこのビットを使用してください。 bit1 説明 "0" が読み出された場合 フラッシュメモリの書込みが完了していることを示します。 "1" が読み出された場合 フラッシュメモリの書込みが実行中であることを示します。 416 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 23.8 レジスタ MB95850K/860K/870K シリーズ [bit0] HANG: フラッシュメモリハングアップステータスビット このビットはフラッシュメモリの誤動作の有無を示します。 bit0 説明 "0" が読み出された場合 それまでコマンド入力の誤動作がないことを示します。 "1" が読み出された場合 コマンド入力の誤動作が発生していることを示します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 417 第 23 章 デュアルオペレーション フラッシュメモリ 23.8 レジスタ 23.8.5 MB95850K/860K/870K シリーズ フラッシュメモリステータスレジスタ 4 (FSR4) フラッシュメモリステータスレジスタ 4 (FSR4) について説明します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — CEREND CTIEN CERTO — — — — 属性 — R/W R/W R/W — — — — 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7] 未定義ビット 読出し値は常に "0" です。このビットに値を書き込んでも動作に影響はありません。 [bit6] CEREND: CEREND 割込み要求フラグビット このビットはフラッシュメモリチップ消去の完了を示します。 CEREND ビットはフラッシュメモリ自動アルゴリズムの完了直後に "1" に設定されます。 フラッシュメモリチップ消去が完了した後 , CEREND ビットが "0" に設定されていた場合 , これ以 降フラッシュメモリ書込み / 消去はできません。リセットコマンドを書き込むことによりノーマル コマンド状態に復帰できます。 フラッシュメモリチップ消去が失敗した場合 (FSR3:HANG = 1), このビットは "0" にクリアされま す。 このビットへの "0" の書込みはこのビットをクリアします。 このビットに "1" を書き込んでも動作に影響はありません。 リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。 説明 bit6 "0" が読み出された場合 デバイスがコマンド入力待ち状態にあることまたはフラッシュメモリチップ消 去中であることを示します。 "1" が読み出された場合 フラッシュメモリチップ消去が完了していることを示します。 "0" を書き込んだ場合 このビットをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 [bit5] CTIEN: CERTO 割込み許可ビット このビットはフラッシュメモリチップ消去の失敗による割込み要求の発生を許可または禁止しま す。 bit5 説明 "0" を書き込んだ場合 フラッシュメモリチップ消去の失敗 (FSR4:CERTO = 1) による割込みを禁止しま す。 "1" を書き込んだ場合 フラッシュメモリチップ消去の失敗 (FSR4:CERTO = 1) による割込みを許可しま す。 418 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 23.8 レジスタ MB95850K/860K/870K シリーズ [bit4] CERTO: CERTO 割込み要求フラグビット このビットはフラッシュメモリチップ消去の失敗を示します。 フラッシュメモリチップ消去が失敗すると , CERTO ビットはフラッシュメモリ自動アルゴリズム の完了直後に "1" に設定されます。 フラッシュメモリチップ消去失敗による割込み要求の発生が許可されている場合(FSR4:CTIEN = 1), CERTO ビットは "1" に設定されると , 割込み要求が発生します。 フラッシュメモリチップ消去が完了した後 , CERTO ビットが "1" に設定されていた場合 , これ以降 フラッシュメモリ書込み / 消去はできません。リセットコマンドを書き込むことによりノーマルコ マンド状態に復帰できます。 このビットへの "0" の書込みはこのビットをクリアします。 このビットに "1" を書き込んでも動作に影響はありません。 リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。 説明 bit4 "0" が読み出された場合 デバイスがコマンド入力待ち状態にあることまたはフラッシュメモリチップ消 去中であることを示します。 "1" が読み出された場合 フラッシュメモリチップ消去が失敗していることを示します。 "0" を書き込んだ場合 このビットをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 [bit3:0] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 419 第 23 章 デュアルオペレーション フラッシュメモリ 23.8 レジスタ MB95850K/860K/870K シリーズ ■ フラッシュメモリステータスレジスタ 2, フラッシュメモリステータスレジスタ 3, フラッシュメモリステータスレジスタ 4 および RDY ビット (FSR:RDY) の状態例 図 23.8-3 FSR2:PGMEND ( フラッシュメモリ書込み中 ) 書込みコマンド 書込みEND FSR:RDY FSR3:PGMS FSR3:SERS FSR3:ESPS FSR3:HANG FSR2:PGMEND 図 23.8-4 FSR2:PGMTO ( フラッシュメモリ書込み失敗時 ) 書込みコマンド 書込みタイムアウト リセットコマンド FSR:RDY FSR3:PGMS FSR3:SERS FSR3:ESPS FSR3:HANG FSR2:PGMTO 図 23.8-5 FSR2:ERSEND ( フラッシュメモリセクタ消去時 ) セクタ消去コマンド セクタ消去END FSR:RDY FSR3:PGMS FSR3:SERS FSR3:ESPS FSR3:HANG FSR2:ERSEND 420 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 23.8 レジスタ MB95850K/860K/870K シリーズ 図 23.8-6 FSR2:ERSTO ( フラッシュメモリセクタ消去失敗時 ) セクタ消去タイムアウト セクタ消去コマンド リセットコマンド FSR:RDY FSR3:PGMS FSR3:SERS FSR3:ESPS FSR3:HANG FSR2:ERSTO 図 23.8-7 FSR2:PGMEND, FSR2:ERSEND ( フラッシュメモリセクタ消去一時停止中のフラッシュメモリ書込み ) セクタ消去 セクタ消去 コマンド 一時停止 コマンド 書込み コマンド セクタ消去 一時停止解除 コマンド FSR:RDY FSR3:PGMS FSR3:SERS FSR3:ESPS FSR3:HANG FSR2:PGMEND FSR2:ERSEND 図 23.8-8 FSR2:PGMTO, FSR2:ERSEND ( フラッシュメモリセクタ消去一時停止中のフラッシュメモリ書込み ) セクタ消去 コマンド セクタ消去 一時停止 コマンド 書込み コマンド 書込み タイムアウト リセット コマンド セクタ消去 一時停止解除 コマンド FSR:RDY FSR3:PGMS FSR3:SERS FSR3:ESPS FSR3:HANG FSR2:PGMTO FSR2:ERSTO FSR2:ERSEND MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 421 第 23 章 デュアルオペレーション フラッシュメモリ 23.8 レジスタ MB95850K/860K/870K シリーズ 図 23.8-9 FSR2:ERSEND ( フラッシュメモリセクタ消去一時停止中のフラッシュメモリ読出し ) セクタ消去 コマンド セクタ消去 一時停止 コマンド リセットコマンド (読出し) セクタ消去 一時停止解除 コマンド FSR:RDY FSR3:PGMS FSR3:SERS 影響なし FSR3:ESPS FSR3:HANG FSR2:ERSEND 図 23.8-10 FSR2:PGMEND, FSR2:ERSTO ( セクタ消去再開後のフラッシュメモリセクタ消去失敗時 ) セクタ消去 コマンド セクタ消去 一時停止 コマンド 書込み コマンド セクタ消去 一時停止解除 コマンド セクタ消去 タイムアウト リセット コマンド FSR:RDY FSR3:PGMS FSR3:SERS FSR3:ESPS FSR3:HANG FSR2:PGMEND FSR2:ERSTO 図 23.8-11 FSR4:CERTO ( チップ消去失敗時 ) チップ消去 コマンド リセット コマンド チップ消去 タイムアウト FSR:RDY FSR3:CERS FSR3:HANG FSR4:CERTO 422 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 23.8 レジスタ MB95850K/860K/870K シリーズ 図 23.8-12 FSR4:CEREND ( チップ消去中 ) チップ消去 コマンド チップ消去 終了 FSR:RDY FSR3:CERS FSR3:SERS FSR4:CEREND MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 423 第 23 章 デュアルオペレーション フラッシュメモリ 23.8 レジスタ MB95850K/860K/870K シリーズ ■ フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) フローチャート FSR:WRE を "1" に設定してフラッシュメモリの書込みを可能にし , フラッシュメモリ セクタ書込み制御レジスタ 0 (SWRE0) のセクタに対応するビットに "1" または "0" を 設定することで , それぞれ許可 / 禁止を設定できます。 図 23.8-13 フラッシュメモリ書込み許可 / 禁止の手順例 書込み開始 FSR:WRE フラッシュメモリ書込み許可 SWRE0 セクタへのデータ書込みの禁止/許可 ("0"を書き込んでセクタへのデータ書込みを禁止,あるいは "1"を書き込んでセクタへのデータ書込みを許可) 書込みコマンドシーケンス (1) 0xUAAA ← 0xAA (2) 0xU554 ← 0x55 (3) 0xUAAA ← 0xA0 (4) 書込みアドレス←書込みデータ 次のアドレス 内部アドレスの読出し データポーリング (DQ7) Data Data 0 タイミングリミット (DQ5) 1 内部アドレスの読出し Data データポーリング (DQ7) Data 書込みエラー 最終アドレス? NO YES FSR:WRE フラッシュメモリ書込み禁止 書込み完了 424 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 23 章 デュアルオペレーション フラッシュメモリ 23.8 レジスタ MB95850K/860K/870K シリーズ ■ (FSR:WRE) 設定上の注意事項 フラッシュメモリに書き込む際には , WRE ビットを "1" に設定し , 書込み許可にして からフラッシュメモリセクタ書込み制御レジスタ0 (SWRE0)の設定を行ってください。 WRE ビットが書込み禁止 ("0") の場合 , フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) のセクタに対応するビットを書込み許可 ("1") にしても , セクタへの書込み動 作は行われません。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 425 第 23 章 デュアルオペレーション フラッシュメモリ 23.9 使用上の注意 MB95850K/860K/870K シリーズ 23.9 使用上の注意 デュアルオペレーションフラッシュメモリ使用上の注意を示します。 ■ トグルビットフラグ (DQ6) に関する制限事項 デュアルオペレーションフラッシュメモリ ( フラッシュメモリ書込み制御プログラム をフラッシュメモリ上で実行する ) を用いる場合 , トグルビットフラグ (DQ6) を使用し て書込み / 消去中の状態を確認することができません。このため , フラッシュメモリへ の書込み , セクタ消去実行後のフラッシュメモリ内部動作状態は , 図 23.5-1 および図 23.5-2 の例を参考にデータポーリングフラグ (DQ7) を用いて確認してください。 なお , フラッシュ書込み制御プログラムを RAM 上で実行する場合は , 本注意事項は該 当しません。 426 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 24 章 不揮発性レジスタ (NVR) インタフェース NVR インタフェースの機能と動作について説明し ます。 24.1 概要 24.2 構成 24.3 レジスタ 24.4 メイン CR クロックトリミング使用上の注意 24.5 使用上の注意 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 427 第 24 章 不揮発性レジスタ (NVR) インタフェース 24.1 概要 MB95850K/860K/870K シリーズ 24.1 概要 システム情報やオプション設定を格納する不揮発性レジスタ (NVR) 領域は , フラッ シュメモリにおける予約領域です。リセット後 , NVR フラッシュ領域のデータは読 み出され , NVR I/O 領域のレジスタに格納されます。MB95850K/860K/870K シリー ズでは , NVR インタフェースを用いて以下のデータを保存します。 • メイン CR クロックのコアーストリミング値 (5 ビット ) • メイン CR クロックのファイントリミング値 (5 ビット ) • ウォッチドッグタイマ選択 ID (16 ビット ) • メイン CR クロックの温度依存調整値 (5 ビット ) ■ NVR インタフェースの機能 NVR インタフェースには , 以下のような機能があります。 1. NVRインタフェースはリセット後, NVRフラッシュ領域からすべてのデータを取り 出し , NVR I/O 領域のレジスタに格納します ( 図 24.1-1 と図 24.2-1 を参照 )。 2. NVRインタフェースにより, ユーザは, CRトリミング設定の初期値を確認できます。 3. NVR インタフェースにより , ユーザは , 16 ビットのウォッチドッグタイマ選択 ID を変更し , ハードウェアウォッチドッグタイマまたはソフトウェアウォッチドッグ タイマを選択できます (CPU の稼働中は , ウォッチドッグタイマ選択 ID を変更でき ません )。 図 24.1-1 に , リセット中の NVR の読出しを示します。 図 24.1-1 リセット中の NVR の読出し 0x0FE4 0bXXX01010 0x0FE5 NVR インタフェース 0x0FE7 (I/O 領域) 0x0FEB 0x0FEC 0bXXX00001 0bXXX10101 0b11111111 0b00000000 0xFFBB 0xFFBC 0xFFBD 0xFFBE 0bXXX10101 0bXXX01010 0bXXX00001 0b11111111 0xFFBF 0b00000000 NVR (フラッシュ領域) メモリマップ 428 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 24 章 不揮発性レジスタ (NVR) インタフェース 24.2 構成 MB95850K/860K/870K シリーズ 24.2 構成 NVR インタフェースは , 以下のブロックで構成されます。 • メイン CR クロックのトリミング (CRTH と CRTL) • ウォッチドッグタイマ選択 ID(WDTH と WDTL) • メイン CR 温度依存調整 (CRTDA) ■ NVR インタフェースのブロックダイヤグラム 図 24.2-1 NVR インタフェースのブロックダイヤグラム CRTH - - - CRTH4 CRTH3 CRTH2 CRTH1 CRTH0 5 4 MHz メイン CR クロック 5 CRTL - - - CRTL4 CRTL3 CRTL2 CRTL1 メイン CR クロック 発振器 CRTL0 5 CRTDA - - - CRTDA4 CRTDA3 CRTDA2 CRTDA1 CRTDA0 WDTH WDTH7 WDTH6 WDTH5 WDTH4 WDTH3 WDTH2 WDTH1 WDTH0 8 0xA5と等値? 0x96と等値? ウォッチドッグタイマ 8 0x97と等値? WDTL WDTL7 WDTL6 MN702-00010-2v0-J WDTL5 WDTL4 WDTL3 WDTL2 WDTL1 WDTL0 FUJITSU SEMICONDUCTOR LIMITED 429 第 24 章 不揮発性レジスタ (NVR) インタフェース 24.3 レジスタ MB95850K/860K/870K シリーズ 24.3 レジスタ NVR インタフェースのレジスタについて説明します。 表 24.3-1 NVR インタフェースのレジスタ一覧 レジスタ略称 430 レジスタ名 参照先 CRTH メイン CR クロックトリミングレジスタ ( 上位 ) 24.3.1 CRTL メイン CR クロックトリミングレジスタ ( 下位 ) 24.3.2 CRTDA メイン CR クロック温度依存調整レジスタ 24.3.3 WDTH ウォッチドッグタイマ選択 ID レジスタ ( 上位 ) 24.3.4 WDTL ウォッチドッグタイマ選択 ID レジスタ ( 下位 ) 24.3.4 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 24 章 不揮発性レジスタ (NVR) インタフェース 24.3 レジスタ MB95850K/860K/870K シリーズ 24.3.1 メイン CR クロックトリミングレジスタ ( 上位 ) (CRTH) メイン CR クロックトリミングレジスタ ( 上位 ) (CRTH) について説明します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — — CRTH4 CRTH3 CRTH2 CRTH1 CRTH0 属性 — — — R/W R/W R/W R/W R/W 初期値 0 0 0 X X X X X ■ レジスタ機能 [bit7:5] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit4:0] CRTH[4:0]: メイン CR クロックコアーストリミングビット これらのビットの設定はリセット後 , フラッシュメモリアドレス 0xFFBC (bit4:0) からロードされま す。これらのビットの初期値は , NVR フラッシュ領域にプリロードされた値により決まります。 コアーストリミングでは , メイン CR クロック周波数を粗調整できます。コアーストリミング値が 大きくされると , メイン CR クロック周波数は小さくなります。 bit4:0 説明 "00000" を書き込んだ場合 メイン CR クロック周波数の最大値 : : "11111" を書き込んだ場合 メイン CR クロック周波数の最小値 メイン CR クロックトリミングの詳細と , メイン CR クロックの値の変更に関する注意事項について は , それぞれ「24.4 メイン CR クロックトリミング使用上の注意」と「24.5 使用上の注意」を参照 してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 431 第 24 章 不揮発性レジスタ (NVR) インタフェース 24.3 レジスタ 24.3.2 MB95850K/860K/870K シリーズ メイン CR クロックトリミングレジスタ ( 下位 ) (CRTL) メイン CR クロックトリミングレジスタ ( 下位 ) (CRTL) について説明します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — — CRTL4 CRTL3 CRTL2 CRTL1 CRTL0 属性 — — — R/W R/W R/W R/W R/W 初期値 0 0 0 X X X X X ■ レジスタ機能 [bit7:5] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit4:0] CRTL[4:0]: メイン CR クロックファイントリミングビット これらのビットの設定はリセット後 , フラッシュメモリアドレス 0xFFBD (bit4:0) からロードされま す。これらのビットの初期値は , NVR フラッシュ領域にプリロードされた値により決まります。 ファイントリミングでは , メイン CR クロック周波数を微調整できます。ファイントリミング値が 大きくされると , メイン CR クロック周波数は小さくなります。 bit4:0 説明 "00000" を書き込んだ場合 メイン CR クロック周波数の最大値 : : "11111" を書き込んだ場合 メイン CR クロック周波数の最小値 メイン CR クロックトリミングの詳細と , メイン CR クロックの値の変更に関する注意事項について は , それぞれ「24.4 メイン CR クロックトリミング使用上の注意」と「24.5 使用上の注意」を参照 してください。 432 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 24 章 不揮発性レジスタ (NVR) インタフェース 24.3 レジスタ MB95850K/860K/870K シリーズ 24.3.3 メイン CR クロック温度依存調節レジスタ (CRTDA) メイン CR クロック温度依存調節レジスタ (CRTDA) について説明します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — — CRTDA4 CRTDA3 CRTDA2 CRTDA1 CRTDA0 属性 — — — R/W R/W R/W R/W R/W 初期値 0 0 0 X X X X X ■ レジスタ機能 [bit7:5] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit4:0] CRTDA[4:0]: メイン CR クロック温度依存調節ビット これらのビットはリセット後 , フラッシュアドレス 0xFFBB (bit4:0) からロードされます。これらの ビットの初期値は , NVR フラッシュ領域にプリロードされた値により決まります。 温度依存調節はメイン CR クロック周波数を微調整できます。メイン CR クロック周波数は , CRTH レジスタのコアーストリミング値の設定と , CRTL レジスタのファイントリミング値の設定の組み 合わせで決まります。また , CRTDA レジスタの値を大きくするとメイン CR クロック周波数は小さ くなります。 bit4:0 説明 "00000" を書き込んだ場合 メイン CR クロック周波数の最大値 : : "11111" を書き込んだ場合 メイン CR クロック周波数の最小値 メイン CR クロックトリミングの詳細と , メイン CR クロックの値の変更に関する注意事項について は , それぞれ「24.4 メイン CR クロックトリミング使用上の注意」と「24.5 使用上の注意」を参照 してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 433 第 24 章 不揮発性レジスタ (NVR) インタフェース 24.3 レジスタ 24.3.4 MB95850K/860K/870K シリーズ ウォッチドッグタイマ選択 ID レジスタ ( 上位 / 下位 ) (WDTH/WDTL) ウォッチドッグタイマ選択 ID レジスタ ( 上位 / 下位 ) (WDTH/WDTL) について説明 します。 ■ レジスタ構成 WDTH bit 7 6 5 4 3 2 1 0 Field WDTH7 WDTH6 WDTH5 WDTH4 WDTH3 WDTH2 WDTH1 WDTH0 属性 R R R R R R R R 初期値 X X X X X X X X bit 7 6 5 4 3 2 1 0 Field WDTL7 WDTL6 WDTL5 WDTL4 WDTL3 WDTL2 WDTL1 WDTL0 属性 R R R R R R R R 初期値 X X X X X X X X WDTL ■ WDTH レジスタの機能 [bit7:0] WDTH[7:0]: ウォッチドッグタイマ選択 ID ( 上位 ) ビット これらのビットはリセット後 , フラッシュアドレス 0xFFBE (bit7:0) からロードされます。これらの ビットの初期値は , NVR フラッシュ領域にプリロードされた値により決まります。 CPU の稼働中は , これらのビットを変更できません。 ウォッチドッグタイマ選択については , 表 24.3-2 を参照してください。 NVR 値の書込みに関する注意事項については , 「24.5 使用上の注意」を参照してください。 ■ WDTL レジスタの機能 [bit7:0] WDTL[7:0]: ウォッチドッグタイマ選択 ID ( 下位 ) ビット これらのビットはリセット後 , フラッシュアドレス 0xFFBF (bit7:0) からロードされます。これらの ビットの初期値は , NVR フラッシュ領域にプリロードされた値により決まります。 CPU の稼働中は , これらのビットを変更できません。 ウォッチドッグタイマ選択については , 表 24.3-2 を参照してください。 NVR 値の書込みに関する注意事項については , 「24.5 使用上の注意」を参照してください。 表 24.3-2 ウォッチドッグタイマ選択 ID レジスタ WDTH[7:0], WDTL[7:0] 434 説明 0xA596 ハードウェアウォッチドッグタイマは無効になり , ソフトウェアウォッチドッグタ イマは有効になります。 0xA597 ハードウェアウォッチドッグタイマが選択され , ソフトウェアウォッチドッグタイ マは無効になります。 スタンバイモード ( ストップモード , スリープモード , タイムベースタイマモードお よび時計モード ) でハードウェアウォッチドッグタイマは動作を停止します。 上記以外の値 ハードウェアウォッチドッグタイマが選択され , ソフトウェアウォッチドッグタイ マは無効になります。 スタンバイモード ( ストップモード , スリープモード , タイムベースタイマモードお よび時計モード ) でハードウェアウォッチドッグタイマは動作を継続します。 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 24 章 不揮発性レジスタ (NVR) インタフェース 24.4 メイン CR クロックトリミング使用上の注意 MB95850K/860K/870K シリーズ 24.4 メイン CR クロックトリミング使用上の注意 メイン CR クロックトリミング使用上の注意を示します。 ハードウェアリセット後 , 10 ビットのメイン CR クロックトリミング値と 5 ビットの 温度依存調節値は , NVR フラッシュ領域から NVR I/O 領域のレジスタへとロードされ ます。 表 24.4-1 に , メイン CR クロックトリミングの変更幅を示します。 表 24.4-1 メイン CR クロックトリミングの変更幅 機能 コアーストリミング値 CRTH[4:0] ファイントリミング値 CRTL[4:0] 周波数が最小となる値 0b11111 0b11111 周波数が最大となる値 0b00000 0b00000 変更幅 220 kHz ~ 300 kHz 14 kHz ~ 20 kHz MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 435 第 24 章 不揮発性レジスタ (NVR) インタフェース 24.4 メイン CR クロックトリミング使用上の注意 MB95850K/860K/870K シリーズ 図 24.4-1 に , メイン CR クロック周波数とトリミング変更幅の関係を示します。 図 24.4-1 メイン CR クロック周波数とトリミング変更幅の関係 (CRTDA[4:0] = 0b10000 の場合 ) 10000 9000 メインCRクロック周波数 (kHz) 8000 7000 6000 5000 4000 3000 2000 1000 F x1 F ,0 0 x0 ,0 00 0x ,0 x0 0 0x 00 ,0 x1 F 01 0x ,0 x0 0 0x 01 ,0 x1 F 04 0x ,0 x0 0 0x 04 ,0 x1 F 07 07 0x 0A ,0 x0 0 0x 0A ,0 x1 0 0x x0 0x 0x 0D ,0 0 0x x0 ,0 x1 F F 0D ,0 ,0 x1 F 10 0x ,0 x0 0 0x 10 ,0 x1 F 13 13 0x 16 ,0 x0 0 0x 16 ,0 x1 F x1 0 0x 0x 0x 19 ,0 x0 0 0x 19 ,0 x1 1F ,0 x0 1C ,0 0x 0x 1F ,0 x0 0 0x 0x 1F ,0 x1 F F 0 CRTH[4:0]設定, CRTL[4:0]設定 トリミングデータ (CRTH[4:0], CRTL[4:0]) 436 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 24 章 不揮発性レジスタ (NVR) インタフェース 24.5 使用上の注意 MB95850K/860K/870K シリーズ 24.5 使用上の注意 NVR 使用上の注意を示します。 ■ メイン CR 周波数の変更に関する注意事項 変更値が NVR フラッシュ領域には書き込まれないことに留意してください。CRTH, CRTL および CRTDA レジスタを変更すると , その変更値は , フラッシュライタにより NVR フラッシュ領域に書き込まれます。 ■ フラッシュ消去およびトリミング値に関する注意事項 1. フラッシュ消去操作では , すべての NVR データが消去されます。 フラッシュライタは , 元のシステム設定を保持するために , 以下の処理を実行しま す。 (1) CRTH:CRTH[4:0], CRTL:CRTL[4:0] および CRTDA:CRTDA[4:0] のデータのバッ クアップを作成します。 (2) フラッシュを消去します。 (3) CRTH:CRTH[4:0], CRTL:CRTL[4:0] および CRTDA:CRTDA[4:0] のすべてのデー タを , NVR フラッシュ領域に復元します。 CRTH:CRTH[4:0], CRTL:CRTL[4:0] および CRTDA:CRTDA[4:0] に新しいデータが存 在する場合は , フラッシュライタが新しいデータを NVR フラッシュ領域に書き込み ます。 2. トリミング値は , 本デバイスが出荷される前にプリセットされています。プリセッ トされたトリミング値が出荷後に変更された場合 , 変更されたトリミング値に基づ いた使用に対し , デバイスの正常な動作を保証しません。 3. ユーザプログラムコードによりフラッシュ操作が実行された場合は , 元のトリミン グデータもユーザプログラムコードにより NVR フラッシュ領域に復元してくださ い。そうしなければ , 出荷前にデバイスにプリセットされたトリミング値は , フラッ シュ消去操作により消去されてしまいます。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 437 第 24 章 不揮発性レジスタ (NVR) インタフェース 24.5 使用上の注意 MB95850K/860K/870K シリーズ 438 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 25 章 コンパレータ コンパレータの機能と動作について説明します。 25.1 概要 25.2 構成 25.3 専用 BGR 25.4 端子 25.5 割込み 25.6 動作説明と設定手順例 25.7 レジスタ MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 439 第 25 章 コンパレータ 25.1 概要 25.1 MB95850K/860K/870K シリーズ 概要 コンパレータは 2 つのアナログ入力電圧を監視し , コンパレータ出力エッジの変化を 検出すると自動的に割込みを発生させます。 ■ コンパレータの機能 コンパレータには2つのアナログ外部入力電圧を監視し, それらを比較するという機能 があります。コンパレータは反転アナログ入力電圧 ( 負入力 ) または専用 BGR の電圧 を基準電圧として使用し , 非反転アナログ入力電圧 ( 正入力 ) が基準電圧よりも高けれ ば "H" レベルを , そうでなければ "L" レベルを出力します。さらに , コンパレータ出力 の立上りエッジまたは立下りエッジを検出すると , コンパレータは対応する割込みを 出力します。 440 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 25 章 コンパレータ 25.2 構成 MB95850K/860K/870K シリーズ 25.2 構成 コンパレータモジュール全体は以下のブロックで構成されます。 • コンパレータ • エッジ検出回路 • コンパレータ制御レジスタ ch. n (CMRn) 品種により , コンパレータの端子数およびチャネル数は異なります。詳細は , デバイス のデータシートを参照してください。 本章において , 端子名とレジスタ略称にある "n" はチャネル番号を示します。各品種の 端子名 , レジスタ名とレジスタ略称について , デバイスのデータシートを参照してくだ さい。 ■ コンパレータのブロックダイヤグラム 図 25.2-1 コンパレータのブロックダイヤグラム コンパレータch. n 外部端子制御回路へ*2 + CMPn_P端子 CMPn_O (外部端子へ) − エッジ検出 回路 0 CMPn_N端子 外部端子制御回路へ (外部端子を介して CMPn_O出力を許可) 1 専用BGR 割込み要求 BGRPD BGRS OS IF IE VCID VCOE PD VCID VCOE PD 内部バス コンパレータ制御レジスタch. n (CMRn) コンパレータch. n+1*1 BGRPD BGRS OS IF IE コンパレータ制御レジスタch. n+1 (CMRn+1) CMPn+1_O (外部端子へ) 外部端子制御回路へ (外部端子を介して CMPn+1_O出力を許可) CMPn+1_P端子 割込み要求 外部端子制御回路へ*2 CMPn+1_N端子 *1: コンパレータch. n+1の回路はコンパレータch. nのそれとまったく同じです。 *2: コンパレータアナログ入力が許可された(VCID = 0)場合, CMPn_P/CMPn+1_P と端子を共有する汎用入出力ポートの入出力機能は禁止されます。 コンパレータアナログ入力が許可され(VCID = 0), かつ外部端子から入力され た場合, CMPn_N/CMPn+1_Nと端子を共有する汎用入出力ポートの入出力機 能は禁止されます。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 441 第 25 章 コンパレータ 25.2 構成 MB95850K/860K/870K シリーズ ● コンパレータ コンパレータは2つの外部アナログ入力電圧を監視し比較します。コンパレータは反転 アナログ入力電圧 ( 負入力 ) または専用 BGR を基準電圧として使用し , 非反転アナロ グ入力電圧 ( 正入力 ) が基準電圧よりも高ければ "H" レベルを , そうでなければ "L" レ ベルを出力します。 ● エッジ検出回路 ストップモード , 時計モードまたはタイムベースタイマモード以外の状態で , コンパ レータ出力の立上りエッジまたは立下りエッジが検出されると , エッジ検出回路は自 動的に割込みフラグを立てます (CMRn:IF)。 ● コンパレータ制御レジスタ ch. n (CMRn) 本レジスタは以下の機能を持っています。 • コンパレータの電源の投入または切断 (CMRn:PD) • コンパレータの出力の許可または禁止 (CMRn:VCOE) • コンパレータのアナログ入力の許可または禁止 (CMRn:VCID) • 専用 BGR の電源の投入または切断 (CMRn:BGRPD) • コンパレータ基準電圧源の選択 (CMRn:BGRS) ストップモード , 時計モードまたはタイムベースタイマモード以外の状態で , CMRn レ ジスタの割込み要求許可ビット (IE) が "1" に設定された場合 , コンパレータ出力の立上 りエッジまたは立下りエッジが検出されると , コンパレータは割込み要求を発生し , 同 時に CMRn レジスタの出力エッジ検出割込みフラグビット (IF) が自動的に "1" に設定 されます。 コンパレータの出力状態は CMRn レジスタの出力状態ビット (OS) から読み出せます。 442 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 25.3 専用 BGR 第 25 章 コンパレータ 25.3 専用 BGR 専用 BGR の機能について説明します。 ■ 専用 BGR の機能 専用 BGR は , コンパレータにアナログ電圧を出力する基準電圧生成回路です。 <注意事項> コンパレータは 1 つの BGR だけを内蔵します。それはコンパレータのすべてのチャネル に共有されます。あるチャネルが専用 BGR を使用すると , 専用 BGR が許可されます。各 チャネルの BGRPD ビット (CMRn:BGRPD) が "1" に設定されることによって専用 BGR の電源が切断できます。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 443 第 25 章 コンパレータ 25.4 端子 25.4 MB95850K/860K/870K シリーズ 端子 コンパレータの端子について説明します。 ■ コンパレータの端子 コンパレータの端子を表 25.4-1 に示します。 表 25.4-1 コンパレータの端子 端子名 444 端子機能 CMPn_P コンパレータ非反転アナログ入力 ( 正入力 ) CMPn_N コンパレータ反転アナログ入力 ( 負入力 ) CMPn_O コンパレータデジタル出力 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 25 章 コンパレータ 25.5 割込み MB95850K/860K/870K シリーズ 25.5 割込み コンパレータは出力エッジ検出割込みとよばれる割込みを発生させます。割込み要求 番号と割込みベクタがこの割込みに割り当てられます。 ■ 出力エッジ検出割込み 出力エッジ検出割込みを表 25.5-1 に示します。 表 25.5-1 出力エッジ検出割込み 項目 内容 割込み発生条件 出力立上りエッジまたは出力立下りエッジが発生。 割込みフラグ CMRn:IF 割込み許可ビット CMRn:IE <注意事項> ストップモード , 時計モードまたはタイムベースタイマモードでは , エッジ検出回路は動 作を停止し , かつそれぞれのコンパレータ制御レジスタ ch. n (CMRn) の IF ビットはコン パレータの電源が投入されていても更新されません。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 445 第 25 章 コンパレータ 25.6 動作説明と設定手順例 25.6 MB95850K/860K/870K シリーズ 動作説明と設定手順例 コンパレータは , CMRn レジスタの PD ビットの設定に従って , ソフトウェアにより 起動可能です。 ■ コンパレータのソフトウェア起動 ( 外部端子からのアナログ入力を使用する場合 ) 外部端子からのアナログ入力を使用してコンパレータを起動するためには , 図 25.6-1 に示された設定をしてください。 図 25.6-1 コンパレータ起動のための設定 ( 外部端子からのアナログ入力を使用する場合 ) bit7 BGRPD 1 CMRn bit6 BGRS 0 bit5 OS ❍ bit4 IF ❍ bit3 IE 0 bit2 VCID 0 bit1 VCOE 0 bit0 PD 0 ❍ : 使用ビット × : 未使用ビット 0 : "0" に設定 1 : "1" に設定 上記設定によりコンパレータは起動された後 , 安定待ち時間の経過を待つ必要があり ます。コンパレータの安定待ち時間については , デバイスのデータシートを参照してく ださい。 <注意事項> 起動時にコンパレータが不安定になり予期しない割込みが発生しないよう , コンパレータ を起動する前にあらかじめ CMRn レジスタの IE ビットを "0" に設定してください。 ■ 設定手順例 以下に , 反転アナログ入力 ( 負入力 ) 電圧が外部端子から入力される場合のコンパレー タ設定手順例を示します。 ● 初期設定 1. 反転アナログ入力 ( 負入力 ) 電圧源を変更する前に , コンパレータの割込み要求を 禁止し , コンパレータの電源を切断してください (CMRn:IE = 0, CMRn:PD = 1)。 2. 図 25.6-1 に示された設定に従ってコンパレータを起動してください。 3. コンパレータが安定するまで待ってください。 4. 割込みフラグビットをクリアしてください (CMRn:IF = 0)。 5. コンパレータの割込み要求を許可し , 必要に応じコンパレータの出力を許可してく ださい (CMRn:IE = 1, CMRn:VCOE = 1)。 446 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 25 章 コンパレータ 25.6 動作説明と設定手順例 MB95850K/860K/870K シリーズ ■ コンパレータのソフトウェア起動 ( 専用 BGR からのアナログ入力を使用する場合 ) 専用 BGR からのアナログ入力を使用してコンパレータを起動するためには , 図 25.6-2 に示された設定をしてください。 図 25.6-2 コンパレータ起動のための設定 ( 専用 BGR からのアナログ入力を使用する場合 ) bit7 BGRPD 0 CMRn bit6 BGRS 1 bit5 OS ❍ bit4 IF ❍ bit3 IE 0 bit2 VCID 0 bit1 VCOE 0 bit0 PD 0 ❍ : 使用ビット × : 未使用ビット 0 : "0" に設定 1 : "1" に設定 上記設定により BGR は起動されたた後 , 安定待ち時間の経過を待つ必要があります。 専用 BGR の安定待ち時間については , デバイスのデータシートを参照してください。 <注意事項> 起動時にコンパレータが不安定になり予期しない割込みが発生しないよう , コンパレータ を起動する前にあらかじめ CMRn レジスタの IE ビットを "0" に設定してください。 ■ 設定手順例 以下に , 反転アナログ入力 ( 負入力 ) 電圧が専用 BGR から入力される場合のコンパレー タ設定手順例を示します。 ● 初期設定 1. コンパレータの割込み要求を禁止してください (CMRn:IE = 0)。 2. 図 25.6-1 に示された設定に従ってコンパレータを起動してください。 3. コンパレータが安定するまで待ってください。 4. 割込みフラグビットをクリアしてください (CMRn:IF = 0)。 5. コンパレータの割込み要求を許可し , 必要に応じコンパレータの出力を許可してく ださい (CMRn:IE = 1, CMRn:VCOE = 1)。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 447 第 25 章 コンパレータ 25.7 レジスタ 25.7 MB95850K/860K/870K シリーズ レジスタ コンパレータのレジスタについて説明します。 表 25.7-1 コンパレータのレジスタ一覧 レジスタ略称 CMRn 448 レジスタ名 コンパレータ制御レジスタ ch. n FUJITSU SEMICONDUCTOR LIMITED 参照先 25.7.1 MN702-00010-2v0-J 第 25 章 コンパレータ 25.7 レジスタ MB95850K/860K/870K シリーズ 25.7.1 コンパレータ制御レジスタ ch. n (CMRn) コンパレータ制御レジスタ ch. n (CMRn) は以下の機能があります。 • コンパレータの電源の投入 / 切断 (CMRn:PD) • コンパレータの出力の許可 / 禁止 (CMRn:VCOE) • コンパレータのアナログ入力の許可 / 禁止 (CMRn:VCID) • 専用 BGR の電源の投入 / 切断 (CMRn:BGRPD) • コンパレータの基準電圧源の選択 (CMRn:BGRS) ストップモード , 時計モードまたはタイムベースタイマモード以外の状態で , 割込み 要求許可ビット (CMRn:IE) が "1" に設定された場合 , コンパレータ出力の立上りエッ ジまたは立下りエッジが検出されると , コンパレータは割込み要求を発生し , 同時に 割込みフラグビット (CMRn:IF) が自動的に "1" に設定されます。コンパレータの出力 状態は出力状態ビット (CMRn:OS) から読み出せます。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field BGRPD BGRS OS IF IE VCID VCOE PD 属性 R/W R/W R R/W R/W R/W R/W R/W 初期値 1 1 0 0 0 1 0 1 ■ レジスタ機能 [bit7] BGRPD: 専用 BGR 電源切断制御ビット このビットは専用 BGR の電源を投入または切断します。 説明 bit7 "0" を書き込んだ場合 専用 BGR の電源を投入します。 "1" を書き込んだ場合 専用 BGR の電源を切断します。 ( 注意事項 ) 専用 BGR は , 電源が投入された後 , 安定時間の経過を待つ必要があります。専用 BGR の安定時間については , デバイスのデータシートを参照してください。 [bit6] BGRS: 反転アナログ入力 ( 負入力 ) 電圧源選択ビット このビットは外部端子または専用 BGR を反転アナログ入力 ( 負入力 ) 電圧源として選択します。 bit6 説明 "0" を書き込んだ場合 外部端子を反転アナログ入力 ( 負入力 ) 電圧源として選択します。 "1" を書き込んだ場合 専用 BGR を反転アナログ入力 ( 負入力 ) 電圧源として選択します。 ( 注意事項 ) 反転アナログ入力 ( 負入力 ) 電圧源を変更する前に , コンパレータの電源を切断してく ださい (CMRn:PD = 1)。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 449 第 25 章 コンパレータ 25.7 レジスタ MB95850K/860K/870K シリーズ [bit5] OS: 出力状態ビット このビットはコンパレータの出力状態を示します。 説明 bit5 "0" が読み出された場合 コンパレータの出力が "L" であることを示します。 "1" が読み出された場合 コンパレータの出力が "H" であることを示します。 ( 注意事項 ) このビットは , ストップモード , 時計モードまたはタイムベースタイマモードでは更新 されません。PD ビットが "1"( コンパレータ電源の切断 ) に設定されると , OS ビットは "0" になります。 [bit4] IF: 出力エッジ検出割込みフラグビット このビットはコンパレータの出力立上りエッジおよび出力立下りエッジを検出します。 コンパレータの動作中に出力立上りエッジまたは出力立下りエッジが発生すると, このビットは"1" に設定されます。 リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。 説明 bit4 "0" が読み出された場合 出力立上りエッジ / 立下りエッジが発生していないことを示します。 "1" が読み出された場合 出力立上りエッジ / 立下りエッジが発生していることを示します。 "0" を書き込んだ場合 このビットをクリアします。 "1" を書き込んだ場合 動作に影響はありません。 ( 注意事項 ) このビットは , ストップモード , 時計モードまたはタイムベースタイマモードでは更新 されません。 [bit3] IE: 割込み要求許可ビット このビットはコンパレータの割込み要求を許可または禁止します。 このビットに "0" が書き込まれた場合 , コンパレータの割込み要求が禁止されます。 このビットに "1" が書き込まれた場合 , コンパレータの割込み要求が許可されます。割込み要求が 許可されている場合 , コンパレータは出力立上りエッジまたは出力立下りエッジを検出すると割込 み要求を発生させます。 bit3 説明 "0" を書き込んだ場合 コンパレータの割込み要求を禁止します。 "1" を書き込んだ場合 コンパレータの割込み要求を許可します。 [bit2] VCID: コンパレータアナログ入力禁止ビット このビットはコンパレータのアナログ入力を許可または禁止します。 bit2 説明 "0" を書き込んだ場合 コンパレータのアナログ入力を許可します。 "1" を書き込んだ場合 コンパレータのアナログ入力を禁止します。 ( 注意事項 ) • 非反転アナログ入力 ( 正入力 ) 機能を持つ端子の場合 , このビットによってアナログ入力機能が許 可されると , その端子の汎用 I/O ポート機能が禁止されます。 • 反転アナログ入力 ( 負入力 ) 機能を持つ端子の場合 , このビットによってアナログ入力機能が許可 され , 外部端子が反転アナログ入力 ( 負入力 ) 電圧源として選択される (CMRn:BGRS = 0) と , その 端子の汎用 I/O ポート機能が許可されます。 450 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 25 章 コンパレータ 25.7 レジスタ MB95850K/860K/870K シリーズ [bit1] VCOE: コンパレータ出力許可ビット このビットはコンパレータの出力を許可または禁止します。 説明 bit1 "0" を書き込んだ場合 コンパレータの出力を禁止します。コンパレータの出力端子は汎用入出力ポー トとして使用されます。 "1" を書き込んだ場合 コンパレータの出力を許可します。 [bit0] PD: コンパレータ電源切断制御ビット このビットはコンパレータの電源を投入または切断するために使用されます。 説明 bit0 "0" を書き込んだ場合 コンパレータの電源を投入します。 "1" を書き込んだ場合 コンパレータの電源を切断します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 451 第 25 章 コンパレータ 25.7 レジスタ 452 MB95850K/860K/870K シリーズ FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ タッチセンサの機能と動作について説明します。 26.1 概要 26.2 構成 26.3 端子 26.4 割込み 26.5 動作説明と設定手順例 26.6 レジスタ MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 453 第 26 章 タッチセンサ 26.1 概要 26.1 MB95850K/860K/870K シリーズ 概要 タッチセンサ (TS) は白物家電や消費者向け電子製品などのタッチキーやタッチパネ ル , マウスやキーボードなどのコンピュータ入力装置を制御します。 ■ TS の機能 TS は以下の機能を備えます。 • 自動的にインピーダンスを補正する機能 AIC™ (Automatic Impedance Calibration) を 備えます。補正間隔が調整できます。 • 各チャネルに異なる感度が設定できます。 • APIS™ (Adjacent Pattern Interference Suppression)* という隣接チャネルからの干渉を 抑制するフィルタリング機能を備えます。APIS は標本化回路で計測されたタッチ 強度情報を使用します。APIS には 3 つのモードがあります。 - APIS モード 1 : 既定義の強度しきい値を超えるすべてのタッチ入力のうち , 最も 強い強度を持つものを採用します。 - APIS モード 2 : 同時センシング動作の回数に上限がなく , 既定義の強度しきい値 を超えるすべてのタッチ入力を採用します。 - APIS モード 3 : 既定義の強度しきい値を超えるすべてのタッチ入力のうち , 最大 で強度が最も強い 2 つタッチ入力を採用します。同時センシング 動作の回数の上限が 2 回に制限されます。 *: AIC™ および APIS™ は韓国 ATLab Inc. の商標です。 454 • 2 種類の割込み : GINT ( ジェネラル割込み ) と TINT ( タッチ割込み ) • タッチ強度を読み取れます。 • 電源節約のためのアイドルモードを備えます。 • 構成設定できるダイレクトタッチ出力端子 (DIO 端子 ) を備えます。タッチチャネ ルのタッチパッドに触れると , そのタッチパッドに対応する DIO 端子が LED を点 灯します。 • アプリケーションをカスタマイズするためのプログラマブルレジスタを備えます。 • 触感をフィードバックするビープを発生させます。詳細については ,「第 27 章 ビー プ出力ユニット」を参照してください。 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.2 構成 MB95850K/860K/870K シリーズ 26.2 構成 TS は以下のブロックで構成されます。 • リセットジェネレータ • クロックジェネレータ • 電源管理モジュール • タッチパッド • デジタル処理モジュール • DIO 制御回路 • 割込み制御モジュール • ビープ期間コントローラ • AIC コントローラ • APIS コントローラ • フィルタモジュール • レジスタモジュール 品種により , TS の端子数 , タッチチャネル数およびダイレクト出力 (DIO) チャネル数 は異なります。 詳細は , デバイスのデータシートを参照してください。 本章において , 端子名とレジスタ略称にある "n" はタッチチャネル番号とダイレクト出 力チャネル番号を示します。各品種の端子名 , レジスタ名とレジスタ略称について , デ バイスのデータシートを参照してください。 ■ TS のブロックダイヤグラム 図 26.2-1 TS のブロックダイヤグラム リセット クロック リセット ジェネレータ クロック ジェネレータ 電源管理モジュール タッチチャネル(Sn端子)*1 DIO制御回路 DIOn端子*1 割込み コントローラ GINT TINT ビープ期間 コントローラ BEEP端子 デジタル処理モジュール*2 タッチパッド タッチ基準チャネル(AREF端子) フィルタ モジュール APIS コントローラ AIC コントローラ レジスタモジュール 内部バス *1: 品種により , TS の Sn 端子 ( タッチチャネル入力端子 ) 数と DIOn 端子 ( ダイレクト出力 チャネル端子 ) 数は異なります。詳細は , デバイスのデータシートを参照してください。 *2: このモジュールについて , 図 26.6-2 を参照してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 455 第 26 章 タッチセンサ 26.2 構成 MB95850K/860K/870K シリーズ ● リセットジェネレータ TS はチップリセットとウォームリセットとの 2 種類のリセットを備えます。チップリ セットは , TS をリセットするとき , すべてのレジスタをそれぞれの初期値に初期化し ます。チップリセットに対して , ウォームリセットは , TS をリセットするとき , INTCR レジスタ , INTPR レジスタ , CALIPn レジスタと IMPEn レジスタを除き , すべてのレジ スタの現在の値を維持します。レジスタ値を変更したら , 変更したレジスタ値をすぐ適 用する場合に , ウォームリセットを使用してください。 ● クロックジェネレータ クロックジェネレータは入力センサクロックを選択し , TS がストップモードと時計 モードで動作するか停止するかを制御します。 ● 電源管理モジュール 電源管理モジュールは IDLETM レジスタと CONTROL レジスタで TS をアイドルモー ドに遷移させます。 ● タッチパッド タッチパッドはタッチチャネルのインピーダンス変化を受け , その変化をデジタル処 理モジュールに出力します。 ● デジタル処理モジュール デジタル処理モジュールは関連するレジスタの設定に応じてタッチチャネルのイン ピーダンス変化を処理します。 ● DIO 制御回路 DIO 制御回路はタッチチャネルと DIO チャネルとの関係を制御します。 ● 割込みコントローラ 割込みコントローラは割込みを発生させます。割込みは汎用の GINT とタッチ検出の TINT の 2 種類あります。GINT には新インピーダンス割込み , EOC (End Of Calibration) 割込み , IDLE-to-ACTIVE 割込み , ACTIVE-to-IDLE 割込みと TINT があります。 ● ビープ期間コントローラ ビープ期間コントローラは , BPDUR レジスタで , タッチパッドに触れるとビープ波が 出力される期間を選択します。 ● AIC コントローラ AIC コントローラは自動インピーダンス校正機能を制御します。 ● APIS コントローラ APIS コントローラは FTSEL レジスタによって APIS モードを選択します。 456 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 26 章 タッチセンサ 26.2 構成 ● フィルタモジュール フィルタモジュールは APIS 出力を安定させ , タッチ割込み率を低減します。 ● レジスタモジュール レジスタモジュールにはすべての TS レジスタが入っており , 内部バスを通じてアクセ スできます。 ■ 入力クロック TS は , タッチプリスケーラから出力されるクロック (PSC レジスタで選択 ) をセンサク ロックとして使用します。 レジスタの読出し動作と書込み動作にはマシンクロック (MCLK) を使用します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 457 第 26 章 タッチセンサ 26.3 端子 26.3 MB95850K/860K/870K シリーズ 端子 TS の端子について説明します。 ■ TS の端子 ● Sn 端子 この端子はタッチチャネル入力端子として機能します。 TS は Sn 端子上のインピーダンス変化を処理します。Sn 端子をタッチチャネル入力端 子として使用するために , その Sn 端子に対応する , ポート方向レジスタ (DDRx) のビッ トに "0" を書き込み , その Sn 端子に対応するタッチチャネルを許可してください。そ のタッチチャネルを許可するために , そのタッチチャネルに対応する , TER0/TER1 レ ジスタの ENSn ビットに "1" を書き込んでください。 ● DIOn 端子 この端子はダイレクト出力チャネル端子として機能します。 DIOn 端子はタッチチャネルの状態を出力します。タッチチャネルのタッチパッドに触 れた場合 , "L" レベルが DIOn 端子に出力されます。タッチチャネルのタッチパッドに 触れていない場合 , "H" レベルが DIOn 端子に出力されます。DIOn 端子はタッチチャ ネルの状態を示す DIO 信号を出力します。DIOR1/DIOR2/DIOR3 レジスタの DIOnS[3:0] ビットで , チャネルの状態を DIOn 端子に出力されるタッチチャネルを選択してくださ い。DIOR1, DIOR2 と DIOR3 レジスタの詳細については , 「26.6.13 TS ダイレクト出力 制御レジスタ 1 (DIOR1)」, 「26.6.14 TS ダイレクト出力制御レジスタ 2 (DIOR2)」と 「26.6.15 TS ダイレクト出力制御レジスタ 3 (DIOR3)」を参照してください。 ● AREF 端子 この端子は TS 基準インピーダンス入力端子として機能します。 AREF 端子を使用するには , AREF 端子に対応するポート方向レジスタ (DDRx) のビッ トに "0" を書き込み , TER1 レジスタの EN_REF ビットに "1" を書き込んでタッチ基準 チャネルを許可してください。 458 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 26.4 割込み 第 26 章 タッチセンサ 26.4 割込み TS は GINT ( ジェネラル割込み ) と TINT ( タッチ割込み ) の 2 種類の割込みを発生さ せます。 • GINT ( ジェネラル割込み ) GINT には新インピーダンス割込み , EOC 割込み , IDLE-to-ACTIVE 割込み , ACTIVE-to-IDLE 割込みと TINT の 5 つの割込みがあります。すべての GINT がマス クできます。INTPR レジスタは GINT の要因を示します。 • TINT ( タッチ割込み ) タッチパッドが指で押された場合またはタッチパッドから指が離れた場合 , TINT が発生します。TS タッチデータレジスタ ( 上位 ) (TOUCHH) と TS タッチデータレ ジスタ ( 下位 ) (TOUCHL) が読み出されると , TINT が自動的に解除されます。 ■ TINT の詳細 タッチパッドが指で押された場合またはタッチパッドから指が離れた場合 (TOUCHH レジスタ値と TOUCHL レジスタ値が変化した場合 ), TINT が発生します。TS タッチ データレジスタ ( 上位 ) (TOUCHH) と TS タッチデータレジスタ ( 下位 ) (TOUCHL) が 読み出されると , TINT が自動的に解除されます。TS は TINT をマスクできません。 <注意事項> TINT をマスクする (TINT を処理しない ) ために , ILR1 レジスタの L07[1:0] ビットに "0b11" を書き込んでください。ILR1 レジスタの詳細については , 「第 5 章 割込み」を参照して ください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 459 第 26 章 タッチセンサ 26.4 割込み MB95850K/860K/870K シリーズ ■ GINT の詳細 表 26.4-1 に GINT に関連するレジスタとビットの詳細を示します。 表 26.4-1 GINT に関連するレジスタとビットの詳細 項目 詳細 割込み 新インピーダンス IMPEn レジスタの 値が変化します。 割込み要因 EOC キャリブレーショ ンが終了します。 IDLE-to-ACTIVE TS がアイドルモー ドからアクティブ モードに遷移しま す。 ACTIVE-to-IDLE TS がアクティブ モードからアイド ルモードに遷移し ます。 TINT タッチパッドが指 で押されるかタッ チパッドから指が 離れます。つまり , TOUCHH レジスタ の値と TOUCHL レ ジスタの値が変化 します。 TS 割込みマスクレジ スタ (INTMR) の割込 みマスクビット NEW EOC ITA ATI TINT TS 割込みクリアレジ スタ (INTCR) の割込 みクリアビット NEW EOC ITA ATI TINT TS 割込み待ちレジス タ (INTPR) の割込みフ ラグビット NEW EOC ITA ATI TINT ● 新インピーダンス割込み IMPEn レジスタの値が変化すると , TS 割込み待ちレジスタの新インピーダンス割込み フラグビット (INTPR:NEW) が "1" に設定され , また新インピーダンス割込みのマスク が禁止されている場合 (INTMR:NEW = 0), 新インピーダンス割込み要求が割込みコン トローラに送信されます。"1" が TS 割込みクリアレジスタの新インピーダンス割込み クリアビット (INTCR:NEW) に書き込まれると , 新インピーダンス割込み要求がクリア されます。 ● EOC (End Of Calibration) 割込み TS がキャリブレーションを完了すると , TS 割込み待ちレジスタの EOC 割込みフラグ ビット (INTPR:EOC) が "1" に設定され , また EOC 割込みのマスクが禁止されている場 合 (INTMR:EOC = 0), EOC 割込み要求が割込みコントローラに送信されます。"1" が TS 割込みクリアレジスタの EOC 割込みクリアビット (INTCR:EOC) に書き込まれると , EOC 割込み要求がクリアされます。 ● IDLE-to-ACTIVE 割込み TS がアイドルモードからアクティブモードに遷移すると , TS 割込み待ちレジスタの IDLE-to-ACTIVE 割込みフラグビット (INTPR:ITA) が "1" に設定され , また IDLE-toACTIVE 割込みのマスクが禁止されている場合 (INTMR:ITA = 0), IDLE-to-ACTIVE 割込 み要求が割込みコントローラに送信されます。"1" が TS 割込みクリアレジスタの IDLEto-ACTIVE 割込みクリアビット (INTCR:ITA) に書き込まれると , IDLE-to-ACTIVE 割込 み要求がクリアされます。 460 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 26 章 タッチセンサ 26.4 割込み ● ACTIVE-to-IDLE 割込み TS がアクティブモードからアイドルモードに遷移すると , TS 割込み待ちレジスタの ACTIVE-to-IDLE 割込みフラグビット (INTPR:ATI) が "1" に設定され , また ACTIVE-toIDLE 割込みのマスクが禁止されている場合 (INTMR:ATI = 0), ACTIVE-to-IDLE 割込み 要求が割込みコントローラに送信されます。"1"がTS割込みクリアレジスタのACTIVEto-IDLE 割込みクリアビット (INTCR:ATI) に書き込まれると , ACTIVE-to-IDLE 割込み 要求がクリアされます。 ● TINT タッチパッドに触れると , TS 割込み待ちレジスタの TINT フラグビット (INTPR:TINT) が "1" に設定され , また TINT のマスクが禁止されている場合 (INTMR:TINT = 0), TINT 要求が割込みコントローラに送信されます。TOUCHH レジスタと TOUCHL レジスタ が読み出され , "1" が TS 割込みクリアレジスタの TINT クリアビット (INTCR:TINT) に 書き込まれると , TINT 要求がクリアされます。 <注意事項> ウォームリセットは INTPR レジスタと INTCR レジスタを初期化できます。最小 TINT 間 隔 * が ITGTM レジスタの設定と FLTP レジスタの設定に依存します。 *: 最小 TINT 間隔 = ITGTM の設定 × FLTP の設定 × SNCLKs MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 461 第 26 章 タッチセンサ 26.5 動作説明と設定手順例 26.5 MB95850K/860K/870K シリーズ 動作説明と設定手順例 TS はインピーダンス変化検出 (ICD) エンジンを備えます。ICD エンジンは基準入力と センサ入力のインピーダンス差を検出します。 ■ タッチ検出 図 26.5-1 タッチパッドに触れていない場合 ( ノータッチ状態 ) タッチパッド Zin Zin インピーダンス 変化検出 Zref Zref Zin < Zref タッチパッドシステムモデル インピーダンス状態 図 26.5-2 タッチパッドに触れた場合 ( タッチ状態 ) Ztouch タッチパッド Zin Zin インピーダンス 変化検出 Zref Zref タッチが検出された Zin > Zref タッチパッドシステムモデル インピーダンス状態 図 26.5-1 に示されたように , タッチパッドに触れていない場合 , センサ入力 Zin のイン ピーダンスが基準入力 Zref のインピーダンスより小さくなります。図 26.5-2 に示され たように , タッチパッドに触れた場合 , Zin が Ztouch 増加します。Ztouch がノータッチ 状態における Zin と Zref の差より大きい場合 , TS の ICD エンジンはアクノリッジされ た出力信号を発生させます。 Zin は入力ラインの寄生容量 , 入力端子の同調容量とオンチップ入力インピーダンスを 含めます。Zref はオンチップインピーダンスと AIC 制御値を含めます。また , Zref には 外部同調容量が加算できます。詳細は , 図 26.5-3 を参照してください。 462 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.5 動作説明と設定手順例 MB95850K/860K/870K シリーズ 図 26.5-3 Zin および Zref Cp(1) Ct(1) S01 C touch(1) C couple C touch(0) S00 Cp(0) Ct(0) AREF Cref Zin = Ct(n) + Cp(n) + C couple Zref = Cref Cp Ct Cref C couple C touch : : : : : 入力ラインレイアウトの寄生容量 感度調整のための同調容量 基準容量値 入力ライン間の結合容量 人体とタッチパッドの間における容量 ■ AIC™ (Automatic Impedance Calibration) AIC は , 温度 , 供給電圧 , 供給電流 , 湿度やシステムレベルの変動などの外部環境変化 に対して , 安定した感度を維持します。各センサ入力の実際のインピーダンス値を提供 することによって , ユーザが容易にアプリケーションを開発できます。 TS 内の ICD エンジンは , 各入力インピーダンスデータを取得することによって , 各セ ンサ入力端子の基準インピーダンス値を制御します。12 タッチパッドが全部ノータッ チ状態にあるとの条件下では, ICDエンジンは定期的にすべての基準インピーダンス値 を更新します。本補正機能は環境変化による影響を軽減することによって , 製品の安定 性を保証します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 463 第 26 章 タッチセンサ 26.5 動作説明と設定手順例 MB95850K/860K/870K シリーズ ■ APIS™ タッチ出力 タッチパッド間の配置が近接している場合 , どのパッドに触れたか特定することが難 しいことがあります。APIS™ (Adjacent Pattern Interference Suppression) は , どのパッド に意図的に触れたか確認するためのフィルタリング機能です。APIS モードが定義され ていない場合 , すべてのタッチデータが APIS によってフィルタリングされず , MCU に 送信されます。例えば , アプリケーションが数値キーパッドの場合 , APIS モード 1 を 使用して最強出力を取得し , それより弱く触れたタッチパッドの入力をすべて除去し ます。 APIS には 3 つのモードがあります。 • APIS モード 1 : STRTHn レジスタで定義されたしきい値を超える出力のうち , 最強 のもののみを伝えます。図 26.5-4 を参照してください。 • APIS モード 2 : STRTHn レジスタで定義されたしきい値を超えるすべての出力を伝 えます。図 26.5-5 を参照してください。 • APIS モード 3 : STRTHn レジスタで定義されたしきい値を超える出力のうち , 最強 の 2 つを伝えます ( マルチタッチのアプリケーションに適していま す )。図 26.5-6 を参照してください。 図 26.5-4 APIS モード 1 強度 強度しきい値 1 2 3 1 2 3 4 5 6 4 5 6 * 8 0 # APISモード1における 出力データ 7 8 9 タッチ干渉エリア * 0 # 実タッチ出力 464 7 8 9 * 0 # タッチ干渉エリア APISモード1におけるタッチ出力 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.5 動作説明と設定手順例 MB95850K/860K/870K シリーズ 図 26.5-5 APIS モード 2 強度 強度しきい値 1 2 3 1 2 3 4 5 6 4 5 6 * 8 0 # 0 # APISモード2における 出力データ 7 8 9 * 0 # タッチ干渉エリア 7 8 9 * 0 # タッチ干渉エリア 実タッチ出力 APISモード2におけるタッチ出力 図 26.5-6 APIS モード 3 強度 強度しきい値 1 2 3 1 2 3 4 5 6 4 5 6 * 8 APISモード3における 出力データ 7 8 9 タッチ干渉エリア * 0 # 実タッチ出力 MN702-00010-2v0-J 7 8 9 * 0 # タッチ干渉エリア APISモード3におけるタッチ出力 FUJITSU SEMICONDUCTOR LIMITED 465 第 26 章 タッチセンサ 26.5 動作説明と設定手順例 MB95850K/860K/870K シリーズ ■ TS の動作 ● AREF 端子の SNCLK と Sn 端子の SNCLK の立上りエッジフェーズ差を比較することによる インピーダンス測定 AREF 端子の SNCLK (AREF SNCLK) と Sn 端子の SNCLK (Sn SNCLK) の立上りエッジ フェーズ差を比較することによって , インピーダンスが測定されます。Sn SNCLK の立 上りエッジフェーズが電極のインピーダンスに依存します。電極のインピーダンスが 大きいほど Sn SNCLK の遅延が長くなります。基準遅延は , REFDLY レジスタ値と AREF 端子に外部コンデンサが取り付けられているかに依存します。AREF SNCLK と Sn SNCLK の立上りエッジフェーズ差が遅延チェーンによって測定されます。 立上りエッジフェーズ差が遅延チェーンで測定できる範囲を超える場合 , 基準遅延を 使用して立上りエッジフェーズ差をその範囲に抑えてください。詳細については , 図 26.5-7 と図 26.5-8 を参照してください。 図 26.5-7 インピーダンス測定の波形 SNCLK Sn SNCLK REFDLY AREF フェーズ差 図 26.5-8 インピーダンス測定のブロックダイヤグラム SREFB AREF ダイナミックレンジ REFDLY 128遅延ステップ 遅延 SNCLKs / SNCLKc 遅延チェーン AREF SNCLKの立上りエッジ フェーズ比較 S00B S0 SNCLKの立上りエッジ S0 S01B S1 SNCLKの立上りエッジ S1 SnB Sn SNCLKの立上りエッジ Sn 466 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.5 動作説明と設定手順例 MB95850K/860K/870K シリーズ <注意事項> IMPEn レジスタは電極のインピーダンスを保存します。回路動作原理によると , 電極のイ ンピーダンスの増加が IMPEn レジスタ値の減少として , 電極のインピーダンスの減少が IMPEn レジスタ値の増加として測定されます。実際のインピーダンスは , 127 を IMPEn レジスタ値から引くことによって取得されます。実際の校正済みインピーダンスは , 127 を CALIPn レジスタ値から引くことによって取得されます。 ● ダイナミックレンジとタッチ検出しきい値 適切なダイナミックレンジを選択することは TS の動作において重要です。図 26.5-9 に 示された例では , 容量を完全かつ正確に測定するため 8.06 pF のダイナミックレンジが より適しています。ALPHn レジスタはタッチのしきい値とノータッチのしきい値を制 御します。 ALPHnレジスタの初期値をタッチとノータッチの平均容量差の80%に相当する値にす ることを推奨します。APIS モードが使用された場合 , 使用されるダイナミックレンジ が STRn レジスタと STRTHn レジスタにより決定されます。 図 26.5-9 ダイナミックレンジとタッチ検出しきい値 127 ダイナミックレンジ 19.07 pF RSEL1~RSEL6レジスタのいずれかを使用して ダイナミックレンジを選択してください。 “0”ポイントは, AREF端子に容量を追加すること またはREFDLYレジスタを使用することによっ て調整できます。 容量差 タッチのしきい値 ALPHn 8.06 pF 3.58 pF ノータッチのしきい値 0 時間 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 467 第 26 章 タッチセンサ 26.5 動作説明と設定手順例 MB95850K/860K/870K シリーズ ● タッチ検出と校正 タッチ検出と校正の動作を図 26.5-10 に示します。 図 26.5-10 タッチ検出と校正 人間による実際のタッチ 校正済み容量は校正終了時に“127 − IMPEn + ALPHn” (“127 − CALIPn”に相当)に更新されます。 容量差 + ALPHn 測定容量 = 127 − IMPEn 環境変動による容量ドリフトがタッチしきい値を 調整することによって除去できます。 時間 実際の容量がALPHnレジスタによって決定された校 正済み容量以上の場合, タッチが検出されます。 タッチ(内部) 1ビット 校正間隔 = CALITV × 50 × サンプリングクロック期間 最初の139クロックがtSNCLKcで, それからのクロックがtSNCLKsです。 校正フェーズ = 139 × tSNCLKc センシングフェーズ 468 タッチが検出された場合または現在の容量と前回容量の差が BETAレジスタ値以上の場合, 校正が取り消されます。 統合フェーズ FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.5 動作説明と設定手順例 MB95850K/860K/870K シリーズ ● タッチ強度と統合時間 タッチ強度と統合時間の関係を図 26.5-11 に示します。 図 26.5-11 タッチ強度と統合時間 人間による実際のタッチ 校正済み容量 = 127 − CALIPn チャタリングが観察されます。STRnレジスタ を調整することによって, チャタリングによる 影響が効率的に減少できます。 測定容量 = 127 − IMPEn 7 bits SNCLKs期間 統合時間 = ITGTM × tSNCLKs STRTHn 左側のチャートは, 統合時間中に測定容量が校 正容量以上の回数を示します。 ITGTMレジスタ値をSTRTHnレジスタ値以上 の値に維持してください。 タッチ強度(STRn) 8ビット 0 4 2 4 3 タッチ(APIS) 1ビット 統合期間 = 統合時間 + tSNCLKs MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED STRnレジスタ値がSTRTHnレジス タ値以上になった場合に, APISは タッチを検出します。ただし, そのタッチがまだチャタリングを 含めます。フィルタリングはチャ タリングの除去に有効的です。 (注意事項) 実際のタッチ(APIS)が次の統合時 間にされます。 469 第 26 章 タッチセンサ 26.5 動作説明と設定手順例 MB95850K/860K/870K シリーズ ● フィルタリング フィルタリングの詳細を図 26.5-12 に示します。 図 26.5-12 フィルタリング タッチ (APIS) 1ビット フィルタ時間 = FLTP × 統合期間 統合期間 左側のチャートはタッチ(APIS)が各フィ ルタ時間中に“1”になった回数を示します 。FLTPレジスタ値をFLTTHレジスタ値以 上に維持してください。 FTSELレジスタのENAFビットに“1”が書 き込まれたときにのみ, フィルタリングが 許可されます。 FLTTH 累積タッチ (APIS) 8ビット 2 2 2 4 3 累積タッチ(APIS)がFLTTHレジスタ値以 上のときに, TINTが生成されます。 TINT 1ビット 470 (注意事項) TINITの生成タイミングは次のフィルタ時 間です。 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 第 26 章 タッチセンサ 26.5 動作説明と設定手順例 ■ 設定手順例 以下に , TS の設定手順例を示します。 ● 初期設定 1. 入力ポートを設定してください (DDR)。 2. 割込みレベルを設定してください (ILR*1)。 3. タッチ入力を許可してください (TIDR0/TIDR1)。 4. タッチチャネルを許可してください (TER0/TER1*2)。 5. APIS モード (FTSEL) やアルファ値 (ALPHn) などの必要なタッチセンサパラメータ を設定してください。 6. ビープ機能のパラメータを設定してください (BPDUR と BPFREQ)。 7. ダイレクト出力機能を設定してください (DIOR1/DIOR2/DIOR3)。 8. 割込みを許可してください (GINT*3)。 9. プリスケーラ制御レジスタを設定してください (PSC)。 10. ウォームリセットを発生させてください (WRESET:WRER[7:0] = 0b01011010)。 *1; 割込みレベル設定レジスタ (ILR) の詳細について , 本ハードウェアマニュアルの「第 5 章 割 込み」とデバイスのデータシートの「■ 割込み要因のテーブル」を参照してください。 *2: いずれかのタッチチャネルを使用する場合でも , 必ず TS の基準チャネルを許可してくださ い (TER1:EN_REF = 1, TIDR0:bit3 = 0)。 *3: TINT が常に許可されます。TS は TINT をマスクできません。 ● タッチチャネルの切換え 1. 使用中のチャネルを禁止してください (TER0/TER1:ENSn = 0)。 2. 使用対象のチャネルを許可してください (TER0/TER1:ENSn = 1)。 <注意事項> • • タッチチャネルの切換え後に , ウォームリセットで TS を再起動してください。 いずれかの TS レジスタの設定を変更した後に , ウォームリセットを発生させることを 推奨します。 ● 割込み処理 1. 割込み要因を確認してください (INTPR) 。 2. すべての割込みをマスクしてください (INTMR = 0b00011111)。 3. 割込みサービスルーチンを実行してください。 4. その割込み要因に対応する , INTPR レジスタのビットを "0" にクリアしてください。 5. その割込み要因に対応する , INTMR レジスタのビットに "0" を書き込むことによっ て , INTPR レジスタが示す割込み要因をアンマスクしてください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 471 第 26 章 タッチセンサ 26.6 レジスタ 26.6 MB95850K/860K/870K シリーズ レジスタ TS のレジスタについて説明します。 表 26.6-1 TS のレジスタ一覧 レジスタ略称 472 レジスタ名 参照先 TER0 TS タッチチャネル許可レジスタ 0 26.6.1 TER1 TS タッチチャネル許可レジスタ 1 26.6.2 PSC TS プリスケーラ制御レジスタ 26.6.3 WRESET TS ウォームリセットレジスタ 26.6.4 RSEL0 TS 感度選択レジスタ 0 26.6.5 RSEL1 TS 感度選択レジスタ 1 26.6.6 RSEL2 TS 感度選択レジスタ 2 26.6.7 RSEL3 TS 感度選択レジスタ 3 26.6.8 RSEL4 TS 感度選択レジスタ 4 26.6.9 RESL5 TS 感度選択レジスタ 5 26.6.10 RSEL6 TS 感度選択レジスタ 6 26.6.11 BPDUR TS ビープ期間設定レジスタ 26.6.12 DIOR1 TS ダイレクト出力制御レジスタ 1 26.6.13 DIOR2 TS ダイレクト出力制御レジスタ 2 26.6.14 DIOR3 TS ダイレクト出力制御レジスタ 3 26.6.15 FTSEL TS 機能選択レジスタ 26.6.16 AICWAT TS AIC 待ち時間設定レジスタ 26.6.17 CALITV TS 校正間隔設定レジスタ 26.6.18 ITGTM TS 統合時間設定レジスタ 26.6.19 IDLETM TS アイドル時間設定レジスタ 26.6.20 CONTROL TS 制御レジスタ 26.6.21 INTMR TS 割込みマスクレジスタ 26.6.22 INTCR TS 割込みクリアレジスタ 26.6.23 INTPR TS 割込み保留レジスタ 26.6.24 FLTP TS フィルタ期間設定レジスタ 26.6.25 FLTTH TS フィルタしきい値設定レジスタ 26.6.26 REFDLY TS 基準遅延設定レジスタ 26.6.27 ALPHn TS アルファ値設定レジスタ ch. n 26.6.28 BETA TS ベータ値設定レジスタ 26.6.29 STRTHn TS タッチ強度しきい値設定レジスタ ch. n 26.6.30 STRn TS タッチ強度レジスタ ch. n 26.6.31 CALIPn TS 校正済みインピーダンスレジスタ ch. n 26.6.32 IMPEn TS インピーダンスレジスタ ch. n 26.6.33 TOUCHL TS タッチデータレジスタ ( 下位 ) 26.6.34 TOUCHH TS タッチデータレジスタ ( 上位 ) 26.6.35 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ 26.6.1 TS タッチチャネル許可レジスタ 0 (TER0) TS タッチチャネル許可レジスタ 0 (TER0) はタッチ ch. 0 ~タッチ ch. 7 を許可また は禁止します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field ENS07 ENS06 ENS05 ENS04 ENS03 ENS02 ENS01 ENS00 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7] ENS07: タッチ ch. 7 許可ビット このビットはタッチ ch. 7 を許可または禁止します。 説明 bit7 "0" を書き込んだ場合 タッチ ch. 7 を禁止します。 "1" を書き込んだ場合 タッチ ch. 7 を許可します。 [bit6] ENS06: タッチ ch. 6 許可ビット このビットはタッチ ch. 6 を許可または禁止します。 説明 bit6 "0" を書き込んだ場合 タッチ ch. 6 を禁止します。 "1" を書き込んだ場合 タッチ ch. 6 を許可します。 [bit5] ENS05: タッチ ch. 5 許可ビット このビットはタッチ ch. 5 を許可または禁止します。 説明 bit5 "0" を書き込んだ場合 タッチ ch. 5 を禁止します。 "1" を書き込んだ場合 タッチ ch. 5 を許可します。 [bit4] ENS04: タッチ ch. 4 許可ビット このビットはタッチ ch. 4 を許可または禁止します。 説明 bit4 "0" を書き込んだ場合 タッチ ch. 4 を禁止します。 "1" を書き込んだ場合 タッチ ch. 4 を許可します。 [bit3] ENS03: タッチ ch. 3 許可ビット このビットはタッチ ch. 3 を許可または禁止します。 説明 bit3 "0" を書き込んだ場合 タッチ ch. 3 を禁止します。 "1" を書き込んだ場合 タッチ ch. 3 を許可します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 473 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ [bit2] ENS02: タッチ ch. 2 許可ビット このビットはタッチ ch. 2 を許可または禁止します。 説明 bit2 "0" を書き込んだ場合 タッチ ch. 2 を禁止します。 "1" を書き込んだ場合 タッチ ch. 2 を許可します。 [bit1] ENS01: タッチ ch. 1 許可ビット このビットはタッチ ch. 1 を許可または禁止します。 説明 bit1 "0" を書き込んだ場合 タッチ ch. 1 を禁止します。 "1" を書き込んだ場合 タッチ ch. 1 を許可します。 [bit0] ENS00: タッチ ch. 0 許可ビット このビットはタッチ ch. 0 を許可または禁止します。 説明 bit0 "0" を書き込んだ場合 タッチ ch. 0 を禁止します。 "1" を書き込んだ場合 タッチ ch. 0 を許可します。 <注意事項> 474 • いずれかのタッチチャネルを使用する場合でも , 必ず TS の基準チャネルを許可してく ださい (TER1:EN_REF = 1, TIDR0:bit3 = 0)。 • 品種により , タッチチャネルの数が異なります。詳細は , デバイスのデータシートを参 照してください。 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ 26.6.2 TS タッチチャネル許可レジスタ 1 (TER1) TS タッチチャネル許可レジスタ 1 (TER1) はタッチ基準チャネルとタッチ ch. 8 ~ タッチ ch. 11 を許可または禁止します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — — EN_REF ENS11 ENS10 ENS09 ENS08 属性 — — — R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7:5] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit4] EN_REF: タッチ基準チャネル許可ビット このビットはタッチ基準チャネルを許可または禁止します。 説明 bit4 "0" を書き込んだ場合 タッチ基準チャネルを禁止します。 "1" を書き込んだ場合 タッチ基準チャネルを許可します。 [bit3] ENS11: タッチ ch. 11 許可ビット このビットはタッチ ch. 11 を許可または禁止します。 説明 bit3 "0" を書き込んだ場合 タッチ ch. 11 を禁止します。 "1" を書き込んだ場合 タッチ ch. 11 を許可します。 [bit2] ENS10: タッチ ch. 10 許可ビット このビットはタッチ ch. 10 を許可または禁止します。 説明 bit2 "0" を書き込んだ場合 タッチ ch. 10 を禁止します。 "1" を書き込んだ場合 タッチ ch. 10 を許可します。 [bit1] ENS09: タッチ ch. 9 許可ビット このビットはタッチ ch. 9 を許可または禁止します。 説明 bit1 "0" を書き込んだ場合 タッチ ch. 9 を禁止します。 "1" を書き込んだ場合 タッチ ch. 9 を許可します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 475 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ [bit0] ENS08: タッチ ch. 8 許可ビット このビットはタッチ ch. 8 を許可または禁止します。 説明 bit0 "0" を書き込んだ場合 タッチ ch. 8 を禁止します。 "1" を書き込んだ場合 タッチ ch. 8 を許可します。 <注意事項> 476 • いずれかのタッチチャネルを使用する場合でも , 必ず TS の基準チャネルを許可してく ださい (TER1:EN_REF = 1, TIDR0:bit3 = 0)。 • 品種により , タッチチャネルの数が異なります。詳細は , デバイスのデータシートを参 照してください。 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 26.6.3 TS プリスケーラ制御レジスタ (PSC) 第 26 章 タッチセンサ 26.6 レジスタ TS プリスケーラ制御レジスタ (PSC) はセンサクロック周波数 (SNCLK) を選択し , TS がストップモードと時計モードで動作できるかを決めます。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — TRDY STPE DIVSEL3 DIVSEL2 DIVSEL1 DIVSEL0 属性 — — R R/W R/W R/W R/W R/W 初期値 0 0 1 0 0 0 0 0 ■ レジスタ機能 [bit7:6] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit5] TRDY: TS レディビット このビットは TS のレジスタにアクセスできるかを示します。 bit5 説明 "0" が読み出された場合 TS のレジスタにアクセスできないことを示します。 "1" が読み出された場合 TS のレジスタにアクセスできることを示します。 ( 注意事項 ) TS をストップモードまたは時計モードから復帰させた後 , TS のいずれかのレジスタに アクセスする前に , このビットが "1" を読み出したことを確認してください。 [bit4] STPE: ストップ許可ビット このビットは TS がストップモードと時計モードで動作できるかを決めます。詳細については ,「第 3 章 クロック制御部」の「表 3.1-4」を参照してください。 bit4 説明 "0" を書き込んだ場合 TS をストップモードと時計モードで動作させません。 "1" を書き込んだ場合 TS をストップモードと時計モードで動作させます。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 477 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ [bit3:0] DIVSEL[3:0]: デバイダ選択ビット これらのビットは TS の SNCLK 周波数のためのデバイダを選択します。 図 26.6-1 に示されたように , 校正間隔は校正フェーズとセンシングフェーズを含めます。 校正フェーズにおいて , TS はインピーダンス校正を自動的に実行するか , ホスト MCU はインピー ダンス校正を実行します。センシングフェーズにおいて , TS はタッチ出力を発生させます。 校正フェーズとセンシングフェーズは異なる SNCLK 周波数を使用できます。 図 26.6-1 校正間隔 校正フェーズ (SNCLKc*1を使用してください。) センシングフェーズ (SNCLKs*2を使用してください。) 校正間隔 *1: 校正フェーズにおけるTSクロック *2 : センシングフェーズにおけるTSクロック 478 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ 説明 (MCLK: マシンクロック ) bit3:0 "0000" を書き込んだ場合 "0001" を書き込んだ場合 SNCLK の使用を禁止します。 "0010" を書き込んだ場合 SNCLKs 周波数 = MCLK/2 SNCLKc 周波数 = MCLK/2 "0011" を書き込んだ場合 SNCLKs 周波数 = MCLK/22 SNCLKc 周波数 = MCLK/2 "0100" を書き込んだ場合 SNCLKs 周波数 = MCLK/23 SNCLKc 周波数 = MCLK/2 "0101" を書き込んだ場合 SNCLKs 周波数 = MCLK/24 SNCLKc 周波数 = MCLK/2 "0110" を書き込んだ場合 SNCLKs 周波数 = MCLK/25 SNCLKc 周波数 = MCLK/22 "0111" を書き込んだ場合 SNCLKs 周波数 = MCLK/26 SNCLKc 周波数 = MCLK/23 "1000" を書き込んだ場合 SNCLKs 周波数 = MCLK/27 SNCLKc 周波数 = MCLK/24 "1001" を書き込んだ場合 SNCLKs 周波数 = MCLK/28 SNCLKc 周波数 = MCLK/25 "1010" を書き込んだ場合 SNCLKs 周波数 = MCLK/29 SNCLKc 周波数 = MCLK/26 "1011" を書き込んだ場合 SNCLKs 周波数 = MCLK/210 SNCLKc 周波数 = MCLK/27 "1100" を書き込んだ場合 SNCLKs 周波数 = MCLK/211 SNCLKc 周波数 = MCLK/28 "1101" を書き込んだ場合 SNCLKs 周波数 = MCLK/212 SNCLKc 周波数 = MCLK/29 "1110" を書き込んだ場合 SNCLKs 周波数 = MCLK/213 SNCLKc 周波数 = MCLK/210 "1111" を書き込んだ場合 SNCLKs 周波数 = MCLK/214 SNCLKc 周波数 = MCLK/211 SNCLKs 周波数域の詳細について , デバイスのデータシートを参照してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 479 第 26 章 タッチセンサ 26.6 レジスタ 26.6.4 MB95850K/860K/870K シリーズ TS ウォームリセットレジスタ (WRESET) TS ウォームリセットレジスタ (WRESET) は TS ウォームリセットの発生を制御しま す。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field WRER7 WRER6 WRER5 WRER4 WRER3 WRER2 WRER1 WRER0 属性 W W W W W W W W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7:0] WRER[7:0]: ウォームリセットビット これらのビットは TS のウォームリセットの発生を制御します。 レジスタ値を変更したら , 変更したレジスタ値をすぐ適用する場合に , ウォームリセットを使用し てください。 説明 bit7:0 "01011010" を書き込んだ 場合 TS にウォームリセット信号を発生させます。 "01011010" 以外の値を書 き込んだ場合 動作に影響はありません。 480 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ 26.6.5 TS 感度選択レジスタ 0 (RSEL0) TS 感度選択レジスタ 0 (RSEL0) はタッチ基準チャネルの感度を選択します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — — — — SREFB2 SREFB1 SREFB0 属性 — — — — — R/W R/W R/W 初期値 0 0 0 0 0 0 1 0 ■ レジスタ機能 [bit7:3] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit2:0] SREFB[2:0]: タッチ基準チャネルの感度ビット これらのビットはタッチ基準チャネルの感度を選択します。 bit2:0 説明 ダイナミックレンジ (pF) 解像度 * (pF) "000" を書き込んだ場合 19.10 0.149 "001" を書き込んだ場合 10.96 0.086 "010" を書き込んだ場合 8.05 0.063 "011" を書き込んだ場合 6.03 0.047 "100" を書き込んだ場合 5.12 0.040 "101" を書き込んだ場合 4.27 0.033 "110" を書き込んだ場合 3.84 0.030 "111" を書き込んだ場合 3.42 0.027 *: 解像度 = ダイナミックレンジ / 128 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 481 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ TS 感度選択レジスタ 1 (RSEL1) 26.6.6 TS 感度選択レジスタ 1 (RSEL1) はタッチ ch. 0 の感度とタッチ ch. 1 の感度を選択 します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — S01B2 S01B1 S01B0 S00B2 S00B1 S00B0 属性 — — R/W R/W R/W R/W R/W R/W 初期値 0 0 0 1 0 0 1 0 ■ レジスタ機能 [bit7:6] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit5:3] S01B[2:0]: タッチ ch. 1 の感度ビット これらのビットはタッチ ch. 1 の感度を選択します。 bit5:3 説明 ダイナミックレンジ (pF) 解像度 * (pF) "000" を書き込んだ場合 19.10 0.149 "001" を書き込んだ場合 10.96 0.086 "010" を書き込んだ場合 8.05 0.063 "011" を書き込んだ場合 6.03 0.047 "100" を書き込んだ場合 5.12 0.040 "101" を書き込んだ場合 4.27 0.033 "110" を書き込んだ場合 3.84 0.030 "111" を書き込んだ場合 3.42 0.027 *: 解像度 = ダイナミックレンジ / 128 [bit2:0] S00B[2:0]: タッチ ch. 0 の感度ビット これらのビットはタッチ ch. 0 の感度を選択します。 bit2:0 説明 ダイナミックレンジ (pF) 解像度 * (pF) "000" を書き込んだ場合 19.10 0.149 "001" を書き込んだ場合 10.96 0.086 "010" を書き込んだ場合 8.05 0.063 "011" を書き込んだ場合 6.03 0.047 "100" を書き込んだ場合 5.12 0.040 "101" を書き込んだ場合 4.27 0.033 "110" を書き込んだ場合 3.84 0.030 "111" を書き込んだ場合 3.42 0.027 *: 解像度 = ダイナミックレンジ / 128 <注意事項> 品種により , タッチチャネルの数が異なります。詳細は , デバイスのデータシートを参照 してください。 482 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ 26.6.7 TS 感度選択レジスタ 2 (RSEL2) TS 感度選択レジスタ 2 (RSEL2) はタッチ ch. 2 の感度とタッチ ch. 3 の感度を選択 します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — S03B2 S03B1 S03B0 S02B2 S02B1 S02B0 属性 — — R/W R/W R/W R/W R/W R/W 初期値 0 0 0 1 0 0 1 0 ■ レジスタ機能 [bit7:6] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit5:3] S03B[2:0]: タッチ ch. 3 の感度ビット これらのビットはタッチ ch. 3 の感度を選択します。 bit5:3 説明 ダイナミックレンジ (pF) "000" を書き込んだ場合 "001" を書き込んだ場合 "010" を書き込んだ場合 "011" を書き込んだ場合 "100" を書き込んだ場合 "101" を書き込んだ場合 "110" を書き込んだ場合 "111" を書き込んだ場合 解像度 * (pF) 19.10 10.96 8.05 6.03 5.12 4.27 3.84 3.42 0.149 0.086 0.063 0.047 0.040 0.033 0.030 0.027 *: 解像度 = ダイナミックレンジ / 128 [bit2:0] S02B[2:0]: タッチ ch. 2 の感度ビット これらのビットはタッチ ch. 2 の感度を選択します。 bit2:0 説明 ダイナミックレンジ (pF) 解像度 * (pF) "000" を書き込んだ場合 19.10 0.149 "001" を書き込んだ場合 10.96 0.086 "010" を書き込んだ場合 8.05 0.063 "011" を書き込んだ場合 6.03 0.047 "100" を書き込んだ場合 5.12 0.040 "101" を書き込んだ場合 4.27 0.033 "110" を書き込んだ場合 3.84 0.030 "111" を書き込んだ場合 3.42 0.027 *: 解像度 = ダイナミックレンジ / 128 <注意事項> 品種により , タッチチャネルの数が異なります。詳細は , デバイスのデータシートを参照 してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 483 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ TS 感度選択レジスタ 3 (RSEL3) 26.6.8 TS 感度選択レジスタ 3 (RSEL3) はタッチ ch. 4 の感度とタッチ ch. 5 の感度を選択 します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — S05B2 S05B1 S05B0 S04B2 S04B1 S04B0 属性 — — R/W R/W R/W R/W R/W R/W 初期値 0 0 0 1 0 0 1 0 ■ レジスタ機能 [bit7:6] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit5:3] S05B[2:0]: タッチ ch. 5 の感度ビット これらのビットはタッチ ch. 5 の感度を選択します。 bit5:3 説明 ダイナミックレンジ (pF) 解像度 * (pF) "000" を書き込んだ場合 19.10 0.149 "001" を書き込んだ場合 10.96 0.086 "010" を書き込んだ場合 8.05 0.063 "011" を書き込んだ場合 6.03 0.047 "100" を書き込んだ場合 5.12 0.040 "101" を書き込んだ場合 4.27 0.033 "110" を書き込んだ場合 3.84 0.030 "111" を書き込んだ場合 3.42 0.027 *: 解像度 = ダイナミックレンジ / 128 [bit2:0] S04B[2:0]: タッチ ch. 4 の感度ビット これらのビットはタッチ ch. 4 の感度を選択します。 bit2:0 説明 ダイナミックレンジ (pF) 解像度 * (pF) "000" を書き込んだ場合 19.10 0.149 "001" を書き込んだ場合 10.96 0.086 "010" を書き込んだ場合 8.05 0.063 "011" を書き込んだ場合 6.03 0.047 "100" を書き込んだ場合 5.12 0.040 "101" を書き込んだ場合 4.27 0.033 "110" を書き込んだ場合 3.84 0.030 "111" を書き込んだ場合 3.42 0.027 *: 解像度 = ダイナミックレンジ / 128 <注意事項> 品種により , タッチチャネルの数が異なります。詳細は , デバイスのデータシートを参照 してください。 484 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ 26.6.9 TS 感度選択レジスタ 4 (RSEL4) TS 感度選択レジスタ 4 (RSEL4) はタッチ ch. 6 の感度とタッチ ch. 7 の感度を選択 します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — S07B2 S07B1 S07B0 S06B2 S06B1 S06B0 属性 — — R/W R/W R/W R/W R/W R/W 初期値 0 0 0 1 0 0 1 0 ■ レジスタ機能 [bit7:6] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit5:3] S07B[2:0]: タッチ ch. 7 の感度ビット これらのビットはタッチ ch. 7 の感度を選択します。 bit5:3 説明 ダイナミックレンジ (pF) 解像度 * (pF) "000" を書き込んだ場合 19.10 0.149 "001" を書き込んだ場合 10.96 0.086 "010" を書き込んだ場合 8.05 0.063 "011" を書き込んだ場合 6.03 0.047 "100" を書き込んだ場合 5.12 0.040 "101" を書き込んだ場合 4.27 0.033 "110" を書き込んだ場合 3.84 0.030 "111" を書き込んだ場合 3.42 0.027 *: 解像度 = ダイナミックレンジ / 128 [bit2:0] S06B[2:0]: タッチ ch. 6 の感度ビット これらのビットはタッチ ch. 6 の感度を選択します。 bit2:0 説明 ダイナミックレンジ (pF) 解像度 * (pF) "000" を書き込んだ場合 19.10 0.149 "001" を書き込んだ場合 10.96 0.086 "010" を書き込んだ場合 8.05 0.063 "011" を書き込んだ場合 6.03 0.047 "100" を書き込んだ場合 5.12 0.040 "101" を書き込んだ場合 4.27 0.033 "110" を書き込んだ場合 3.84 0.030 "111" を書き込んだ場合 3.42 0.027 *: 解像度 = ダイナミックレンジ / 128 <注意事項> 品種により , タッチチャネルの数が異なります。詳細は , デバイスのデータシートを参照 してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 485 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ TS 感度選択レジスタ 5 (RSEL5) 26.6.10 TS 感度選択レジスタ 5 (RSEL5) はタッチ ch. 8 の感度とタッチ ch. 9 の感度を選択 します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — S09B2 S09B1 S09B0 S08B2 S08B1 S08B0 属性 — — R/W R/W R/W R/W R/W R/W 初期値 0 0 0 1 0 0 1 0 ■ レジスタ機能 [bit7:6] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit5:3] S09B[2:0]: タッチ ch. 9 の感度ビット これらのビットはタッチ ch. 9 の感度を選択します。 bit5:3 説明 ダイナミックレンジ (pF) 解像度 * (pF) "000" を書き込んだ場合 19.10 0.149 "001" を書き込んだ場合 10.96 0.086 "010" を書き込んだ場合 8.05 0.063 "011" を書き込んだ場合 6.03 0.047 "100" を書き込んだ場合 5.12 0.040 "101" を書き込んだ場合 4.27 0.033 "110" を書き込んだ場合 3.84 0.030 "111" を書き込んだ場合 3.42 0.027 *: 解像度 = ダイナミックレンジ / 128 [bit2:0] S08B[2:0]: タッチ ch. 8 の感度ビット これらのビットはタッチ ch. 8 の感度を選択します。 bit2:0 説明 ダイナミックレンジ (pF) 解像度 * (pF) "000" を書き込んだ場合 19.10 0.149 "001" を書き込んだ場合 10.96 0.086 "010" を書き込んだ場合 8.05 0.063 "011" を書き込んだ場合 6.03 0.047 "100" を書き込んだ場合 5.12 0.040 "101" を書き込んだ場合 4.27 0.033 "110" を書き込んだ場合 3.84 0.030 "111" を書き込んだ場合 3.42 0.027 *: 解像度 = ダイナミックレンジ / 128 <注意事項> 品種により , タッチチャネルの数が異なります。詳細は , デバイスのデータシートを参照 してください。 486 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ 26.6.11 TS 感度選択レジスタ 6 (RSEL6) TS 感度選択レジスタ 6 (RSEL6) はタッチ ch. 10 の感度とタッチ ch. 11 の感度を選 択します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — S11B2 S11B1 S11B0 S10B2 S10B1 S10B0 属性 — — R/W R/W R/W R/W R/W R/W 初期値 0 0 0 1 0 0 1 0 ■ レジスタ機能 [bit7:6] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit5:3] S11B[2:0]: タッチ ch. 11 の感度ビット これらのビットはタッチ ch. 11 の感度を選択します。 bit5:3 説明 ダイナミックレンジ (pF) 解像度 * (pF) "000" を書き込んだ場合 19.10 0.149 "001" を書き込んだ場合 10.96 0.086 "010" を書き込んだ場合 8.05 0.063 "011" を書き込んだ場合 6.03 0.047 "100" を書き込んだ場合 5.12 0.040 "101" を書き込んだ場合 4.27 0.033 "110" を書き込んだ場合 3.84 0.030 "111" を書き込んだ場合 3.42 0.027 *: 解像度 = ダイナミックレンジ / 128 [bit2:0] S10B[2:0]: タッチ ch. 10 の感度ビット これらのビットはタッチ ch. 10 の感度を選択します。 bit2:0 説明 ダイナミックレンジ (pF) 解像度 * (pF) "000" を書き込んだ場合 19.10 0.149 "001" を書き込んだ場合 10.96 0.086 "010" を書き込んだ場合 8.05 0.063 "011" を書き込んだ場合 6.03 0.047 "100" を書き込んだ場合 5.12 0.040 "101" を書き込んだ場合 4.27 0.033 "110" を書き込んだ場合 3.84 0.030 "111" を書き込んだ場合 3.42 0.027 *: 解像度 = ダイナミックレンジ / 128 <注意事項> 品種により , タッチチャネルの数が異なります。詳細は , デバイスのデータシートを参照 してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 487 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ TS ビープ期間設定レジスタ (BPDUR) 26.6.12 TS ビープ期間設定レジスタ (BPDUR) はタッチパッドへのタッチによって発生した ビープ出力の期間を設定します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field BDR7 BDR6 BDR5 BDR4 BDR3 BDR2 BDR1 BDR0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7:0] BDR[7:0]: ビープ出力期間ビット これらのビットはビープ出力期間を設定します。 以下はビープ出力期間を算出する数式です。 ビープ出力期間 = BPDUR レジスタ値 × tSNCLKs × 32 tSNCLKs: センシングフェーズにおける TS クロック期間 例: BPDUR = 0b00000001 tSNCLKs = 0.1 ms ビープ出力期間 = 1 × 0.1 × 32 = 3.2 ms <注意事項> ビープ出力機能の詳細については ,「第 27 章 ビープ出力ユニット」を参照してください。 488 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ 26.6.13 TS ダイレクト出力制御レジスタ 1 (DIOR1) TS ダイレクト出力制御レジスタ 1 (DIOR0) は DIO ch. 0 と DIO ch. 1 のタッチチャネ ル状態出力を制御します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field DIO01S3 DIO01S2 DIO01S1 DIO01S0 DIO00S3 DIO00S2 DIO00S1 DIO00S0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7:4] DIO01S[3:0]: DIO ch. 1 制御ビット これらのビットは DIO ch. 1 のタッチチャネル状態出力を制御します。 その状態が DIO ch. 1 により出力されるタッチチャネルのタッチパッドに触れた場合 , DIO ch. 1 が "L" を出力します。同タッチパッドに触れていない場合 , DIO ch. 1 が "H" を出力します。 説明 bit7:4 "0000" を書き込んだ場合 DIO ch. 1 を禁止します。 "0001" を書き込んだ場合 DIO ch. 1 にタッチ ch. 0 の状態を出力させます。 "0010" を書き込んだ場合 DIO ch. 1 にタッチ ch. 1 の状態を出力させます。 "0011" を書き込んだ場合 DIO ch. 1 にタッチ ch. 2 の状態を出力させます。 "0100" を書き込んだ場合 DIO ch. 1 にタッチ ch. 3 の状態を出力させます。 "0101" を書き込んだ場合 DIO ch. 1 にタッチ ch. 4 の状態を出力させます。 "0110" を書き込んだ場合 DIO ch. 1 にタッチ ch. 5 の状態を出力させます。 "0111" を書き込んだ場合 DIO ch. 1 にタッチ ch. 6 の状態を出力させます。 "1000" を書き込んだ場合 DIO ch. 1 にタッチ ch. 7 の状態を出力させます。 "1001" を書き込んだ場合 DIO ch. 1 にタッチ ch. 8 の状態を出力させます。 "1010" を書き込んだ場合 DIO ch. 1 にタッチ ch. 9 の状態を出力させます。 "1011" を書き込んだ場合 DIO ch. 1 にタッチ ch. 10 の状態を出力させます。 "1100" を書き込んだ場合 "1101" を書き込んだ場合 "1110" を書き込んだ場合 DIO ch. 1 にタッチ ch. 11 の状態を出力させます。 "1111" を書き込んだ場合 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 489 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ [bit3:0] DIO00S[3:0]: DIO ch. 0 制御ビット これらのビットは DIO ch. 0 のタッチチャネル状態出力を制御します。 その状態が DIO ch. 0 により出力されるタッチチャネルのタッチパッドに触れた場合 , DIO ch. 0 が "L" を出力します。同タッチパッドに触れていない場合 , DIO ch. 0 が "H" を出力します。 説明 bit3:0 "0000" を書き込んだ場合 DIO ch. 0 を禁止します。 "0001" を書き込んだ場合 DIO ch. 0 にタッチ ch. 0 の状態を出力させます。 "0010" を書き込んだ場合 DIO ch. 0 にタッチ ch. 1 の状態を出力させます。 "0011" を書き込んだ場合 DIO ch. 0 にタッチ ch. 2 の状態を出力させます。 "0100" を書き込んだ場合 DIO ch. 0 にタッチ ch. 3 の状態を出力させます。 "0101" を書き込んだ場合 DIO ch. 0 にタッチ ch. 4 の状態を出力させます。 "0110" を書き込んだ場合 DIO ch. 0 にタッチ ch. 5 の状態を出力させます。 "0111" を書き込んだ場合 DIO ch. 0 にタッチ ch. 6 の状態を出力させます。 "1000" を書き込んだ場合 DIO ch. 0 にタッチ ch. 7 の状態を出力させます。 "1001" を書き込んだ場合 DIO ch. 0 にタッチ ch. 8 の状態を出力させます。 "1010" を書き込んだ場合 DIO ch. 0 にタッチ ch. 9 の状態を出力させます。 "1011" を書き込んだ場合 DIO ch. 0 にタッチ ch. 10 の状態を出力させます。 "1100" を書き込んだ場合 "1101" を書き込んだ場合 "1110" を書き込んだ場合 DIO ch. 0 にタッチ ch. 11 の状態を出力させます。 "1111" を書き込んだ場合 <注意事項> 品種により , タッチチャネルの数が異なります。詳細は , デバイスのデータシートを参照 してください。 490 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ 26.6.14 TS ダイレクト出力制御レジスタ 2 (DIOR2) TS ダイレクト出力制御レジスタ 2 (DIOR2) は DIO ch. 2 と DIO ch. 3 のタッチチャネ ル状態出力を制御します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field DIO03S3 DIO03S2 DIO03S1 DIO03S0 DIO02S3 DIO02S2 DIO02S1 DIO02S0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7:4] DIO03S[3:0]: DIO ch. 3 制御ビット これらのビットは DIO ch. 3 のタッチチャネル状態出力を制御します。 その状態が DIO ch. 3 により出力されるタッチチャネルのタッチパッドに触れた場合 , DIO ch. 3 が "L" を出力します。同タッチパッドに触れていない場合 , DIO ch. 3 が "H" を出力します。 説明 bit7:4 "0000" を書き込んだ場合 DIO ch. 3 を禁止します。 "0001" を書き込んだ場合 DIO ch. 3 にタッチ ch. 0 の状態を出力させます。 "0010" を書き込んだ場合 DIO ch. 3 にタッチ ch. 1 の状態を出力させます。 "0011" を書き込んだ場合 DIO ch. 3 にタッチ ch. 2 の状態を出力させます。 "0100" を書き込んだ場合 DIO ch. 3 にタッチ ch. 3 の状態を出力させます。 "0101" を書き込んだ場合 DIO ch. 3 にタッチ ch. 4 の状態を出力させます。 "0110" を書き込んだ場合 DIO ch. 3 にタッチ ch. 5 の状態を出力させます。 "0111" を書き込んだ場合 DIO ch. 3 にタッチ ch. 6 の状態を出力させます。 "1000" を書き込んだ場合 DIO ch. 3 にタッチ ch. 7 の状態を出力させます。 "1001" を書き込んだ場合 DIO ch. 3 にタッチ ch. 8 の状態を出力させます。 "1010" を書き込んだ場合 DIO ch. 3 にタッチ ch. 9 の状態を出力させます。 "1011" を書き込んだ場合 DIO ch. 3 にタッチ ch. 10 の状態を出力させます。 "1100" を書き込んだ場合 "1101" を書き込んだ場合 "1110" を書き込んだ場合 DIO ch. 3 にタッチ ch. 11 の状態を出力させます。 "1111" を書き込んだ場合 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 491 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ [bit3:0] DIO02S[3:0]: DIO ch. 2 制御ビット これらのビットは DIO ch. 2 のタッチチャネル状態出力を制御します。 その状態が DIO ch. 2 により出力されるタッチチャネルのタッチパッドに触れた場合 , DIO ch. 2 が "L" を出力します。同タッチパッドに触れていない場合 , DIO ch. 2 が "H" を出力します。 説明 bit3:0 "0000" を書き込んだ場合 DIO ch. 2 を禁止します。 "0001" を書き込んだ場合 DIO ch. 2 にタッチ ch. 0 の状態を出力させます。 "0010" を書き込んだ場合 DIO ch. 2 にタッチ ch. 1 の状態を出力させます。 "0011" を書き込んだ場合 DIO ch. 2 にタッチ ch. 2 の状態を出力させます。 "0100" を書き込んだ場合 DIO ch. 2 にタッチ ch. 3 の状態を出力させます。 "0101" を書き込んだ場合 DIO ch. 2 にタッチ ch. 4 の状態を出力させます。 "0110" を書き込んだ場合 DIO ch. 2 にタッチ ch. 5 の状態を出力させます。 "0111" を書き込んだ場合 DIO ch. 2 にタッチ ch. 6 の状態を出力させます。 "1000" を書き込んだ場合 DIO ch. 2 にタッチ ch. 7 の状態を出力させます。 "1001" を書き込んだ場合 DIO ch. 2 にタッチ ch. 8 の状態を出力させます。 "1010" を書き込んだ場合 DIO ch. 2 にタッチ ch. 9 の状態を出力させます。 "1011" を書き込んだ場合 DIO ch. 2 にタッチ ch. 10 の状態を出力させます。 "1100" を書き込んだ場合 "1101" を書き込んだ場合 "1110" を書き込んだ場合 DIO ch. 2 にタッチ ch. 11 の状態を出力させます。 "1111" を書き込んだ場合 <注意事項> 品種により , タッチチャネルの数が異なります。詳細は , デバイスのデータシートを参照 してください。 492 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ 26.6.15 TS ダイレクト出力制御レジスタ 3 (DIOR3) TS ダイレクト出力制御レジスタ 3 (DIOR3) は DIO ch. 4 のタッチチャネル状態出力 を制御します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — — — DIO04S3 DIO04S2 DIO04S1 DIO04S0 属性 — — — — R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7:4] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit3:0] DIO04S[3:0]: DIO ch. 4 制御ビット これらのビットは DIO ch. 4 のタッチチャネル状態出力を制御します。 その状態が DIO ch. 4 により出力されるタッチチャネルのタッチパッドに触れた場合 , DIO ch. 4 が "L" を出力します。同タッチパッドに触れていない場合 , DIO ch. 4 が "H" を出力します。 説明 bit3:0 "0000" を書き込んだ場合 DIO ch. 4 を禁止します。 "0001" を書き込んだ場合 DIO ch. 4 にタッチ ch. 0 の状態を出力させます。 "0010" を書き込んだ場合 DIO ch. 4 にタッチ ch. 1 の状態を出力させます。 "0011" を書き込んだ場合 DIO ch. 4 にタッチ ch. 2 の状態を出力させます。 "0100" を書き込んだ場合 DIO ch. 4 にタッチ ch. 3 の状態を出力させます。 "0101" を書き込んだ場合 DIO ch. 4 にタッチ ch. 4 の状態を出力させます。 "0110" を書き込んだ場合 DIO ch. 4 にタッチ ch. 5 の状態を出力させます。 "0111" を書き込んだ場合 DIO ch. 4 にタッチ ch. 6 の状態を出力させます。 "1000" を書き込んだ場合 DIO ch. 4 にタッチ ch. 7 の状態を出力させます。 "1001" を書き込んだ場合 DIO ch. 4 にタッチ ch. 8 の状態を出力させます。 "1010" を書き込んだ場合 DIO ch. 4 にタッチ ch. 9 の状態を出力させます。 "1011" を書き込んだ場合 DIO ch. 4 にタッチ ch. 10 の状態を出力させます。 "1100" を書き込んだ場合 "1101" を書き込んだ場合 "1110" を書き込んだ場合 DIO ch. 4 にタッチ ch. 11 の状態を出力させます。 "1111" を書き込んだ場合 <注意事項> 品種により , タッチチャネルの数が異なります。詳細は , デバイスのデータシートを参照 してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 493 第 26 章 タッチセンサ 26.6 レジスタ 26.6.16 MB95850K/860K/870K シリーズ TS 機能選択レジスタ (FTSEL) TS 機能選択レジスタ (FTSEL) はフィルタ機能を許可または禁止し , APIS (Adjacent Pattern Interference Suppression) モードを選択します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — — — — APSEL1 APSEL0 ENAF 属性 — — — — — R/W R/W R/W 初期値 0 0 0 0 0 1 0 0 ■ レジスタ機能 [bit7:3] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit2:1] APSEL[1:0]: APIS モード選択ビット これらのビットは APIS のモードを選択します。APIS は隣接キーからの干渉または隣接パターンか らの干渉を消去します。 説明 bit2:1 "00" を書き込んだ場合 APIS をバイパスします。 "01" を書き込んだ場合 APIS モード 1 を選択します。 APIS モード 1 において , TS 統合時間設定レジスタ (ITGTM) で設定された統合時 間以内に , TS タッチ強度しきい値設定レジスタ ch. n (STRTHn) で定義されたしき い値を超えるすべてのセンサ出力のうち , 強度が最も強いものはそれに対応する TS タッチ強度レジスタ ch. n (STRn) に保存されます。 "10" を書き込んだ場合 APIS モード 2 を選択します。 APIS モード 2 において , ITGTM レジスタで設定された統合時間以内に , STRTHn レジスタで定義されたしきい値を超えるすべてのセンサ出力は , それに対応する STRn レジスタに保存されます。 "11" を書き込んだ場合 APIS モード 3 を選択します。 APIS モード 3 において , ITGTM レジスタで設定された統合時間以内に , STRTHn レジスタで定義されたしきい値を超えすべてのセンサ出力のうち , 強度が最も強 い 2 つのものはそれに対応する STRn レジスタに保存されます。 [bit0] ENAF: フィルタ機能許可ビット このビットはフィルタ機能を許可または禁止します。フィルタ機能の詳細については , 「26.6.26 TS フィルタしきい値設定レジスタ (FLTTH)」を参照してください。 説明 bit0 "0" を書き込んだ場合 フィルタ機能を禁止します。 "1" を書き込んだ場合 フィルタ機能を許可します。 494 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ 26.6.17 TS AIC 待ち時間設定レジスタ (AICWAT) TS AIC待ち時間設定レジスタ(AICWAT)はAIC (Automatic Impedance Calibration) 待ち時間を設定します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field AICW7 AICW6 AICW5 AICW4 AICW3 AICW2 AICW1 AICW0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 1 0 0 1 1 1 ■ レジスタ機能 [bit7:0] AICW[7:0]: AIC 待ち時間設定ビット これらのビットは AIC 待ち時間を設定します。 以下は AIC 待ち時間を算出する数式です。 AIC 待ち時間 = AICWAT レジスタ値 × tSNCLKs × 64 tSNCLKs: センシングフェーズにおける TS クロック期間 例: AICWAT = 0b00000001 tSNCLKs = 0.1 ms AIC 待ち時間 = 1 × 0.1 × 64 = 6.4 ms AICWAT レジスタと TS ベータ値設定レジスタ (BETA) をいっしょに使用することは , 指などがタッ チパッドからゆっくりと離されることによる誤った校正を避けるため , AIC の動作を安定させられ ます。 いずれかのタッチパッドに触れたとき , AIC が禁止されます。タッチパッドに触れたことがなく , AIC 待ち時間が経過すると , AIC が開始します。 AIC 待ち時間中に , タッチパッドに触れると , AIC コントローラが AIC 待ち時間をリロードし , AIC 待ち時間が再開します。 AICWAT レジスタ値が大きいほど , AIC 開始前の待ち時間が長くなります。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 495 第 26 章 タッチセンサ 26.6 レジスタ 26.6.18 MB95850K/860K/870K シリーズ TS 校正間隔設定レジスタ (CALITV) TS 校正間隔設定レジスタ (CALITV) は校正間隔を設定します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field CALI7 CALI6 CALI5 CALI4 CALI3 CALI2 CALI1 CALI0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 1 1 0 0 0 0 ■ レジスタ機能 [bit7:0] CALI[7:0]: 校正間隔設定ビット これらのビットは校正間隔を設定します。 以下は校正間隔を算出する数式です。 校正間隔 = CALITV レジスタ値 × tSNCLKs × 50 − 139 × tSNCLKs + 139 × tSNCLKc tSNCLKc: 校正フェーズにおける TS クロック期間 tSNCLKs: センシングフェーズにおける TS クロック期間 SNCLKs と SNCLKc について , 「26.6.3 TS プリスケーラ制御レジスタ (PSC)」を参照してください。 ( 注意事項 ) 校正間隔を以下のように設定してください。 校正間隔 > 139 × tSNCLKc + センシングフェーズにおける統合時間 例えば , 統合時間が 1 tSNCLKs の場合 , CALITV レジスタ値を "3" 以上に設定してください。 496 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ 26.6.19 TS 統合時間設定レジスタ (ITGTM) TS 統合時間設定レジスタ (ITGTM) は APIS の統合時間を設定します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field INTET7 INTET6 INTET5 INTET4 INTET3 INTET2 INTET1 INTET0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 1 1 1 1 ■ レジスタ機能 [bit7:0] INTET[7:0]: 統合時間設定ビット これらのビットは統合時間を設定します。 以下は統合時間を算出する数式です。 統合時間 = ITGTM レジスタ値 × tSNCLKs tSNCLKs: センシングフェーズにおける TS クロック期間 例: ITGTM = 0b00000001 tSNCLKs = 0.1 ms 統合時間 = 1 × 0.1 = 0.1 ms 統合時間は , 図 26.6-2 に示された , タッチ出力を累積する期間です。 APIS は各統合時間間隔で出力を決めます。 ITGTM レジスタ値を STRTHn レジスタ値以上に設定してください。 ITGTM レジスタ値が小さいほど , タッチ出力の応答時間が短くなります。一方 , APIS フィルタリン グ性能が ITGTM レジスタ値の増加につれて向上していきます。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 497 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ 図 26.6-2 TS のデジタル処理モジュール 未処理インピーダンス値 タッチ検出と校正 CALIPn > IMPE(n)の場合,タッチ出力Tout(n) = 1 (n: タッチch.番号) 上記の比較動作はサンプリングクロックごとに実 行されます。サンプリングクロックが20 kHzの場 合, 比較動作は0.05 msごとに実行されます。 ALPHA (ALPHn) BETA Tout(n) サンプラ 統合時間(ITGTM) = 10 強度しきい値(STRTHn) Tout(n)は統合時間内で累積されます。 APIS ブロック Σ Tout (STRn) > STRTHnの場合, APIS出力(APIS(n))は1になります。 AICが実行されない場合, APIS出力は0.5 msごとに生成されます。 以下の例において, APIS(1)とAPIS(2)は1になります。 APISモード1では, APIS(1)のみは1になります。 APISモード3では, APIS(1)とAPIS(2)は1になります。 APISモード2 (FTSEL) 強度しきい値(STRTHn) = 5 APIS(n) フィルタ ブロック フィルタ期間(FLTP) フィルタしきい値(FLTTH) 強度しきい値 タッチch. 1の強度 (STR1 = 10) タッチch. 2の強度 (STR1 = 7) タッチch. 3の強度 (STR3 = 4) タッチch. 4の強度 (STR4 = 0) Tout(n) = 1 Tout(n) = 0 498 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ 26.6.20 TS アイドル時間設定レジスタ (IDLETM) TS アイドル時間設定レジスタ (IDLETM) は , すべてのタッチパッドがノータッチ状態 に入った後に , TS がアイドルモードに移行する前にどのくらいのアイドル時間が経 過すべきかを設定します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field IDLET7 IDLET6 IDLET5 IDLET4 IDLET3 IDLET2 IDLET1 IDLET0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 1 1 1 1 ■ レジスタ機能 [bit7:0] IDLET[7:0]: アイドル時間設定ビット これらのビットはアイドル時間を設定します。 以下はアイドル時間を算出する数式です。 アイドル時間 = IDLETM レジスタ値 × tSNCLKs × 5000 tSNCLKs: センシングフェーズにおける TS クロック期間 アイドル時間内に , どのタッチパッドにも触れていない場合 , タイムアウト条件が満たされ , TS は アイドルモードに遷移します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 499 第 26 章 タッチセンサ 26.6 レジスタ 26.6.21 MB95850K/860K/870K シリーズ TS 制御レジスタ (CONTROL) TS 制御レジスタ (CONTROL) は AIC と TS の動作モードを制御します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — — — F2A HDC_U HDC_C HOLD 属性 — — — — R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7:4] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit3] F2A: 強制アクティブビット このビットへの "1" の書込みは , TS にアイドルモードからアクティブモードに移行させ , またタイ ムアウト条件が満たされても TS をアクティブモードに残るようにさせます。 説明 bit3 "0" を書き込んだ場合 動作に影響はありません。 "1" を書き込んだ場合 TS にアイドルモードからアクティブモードに移行させ , またタイムアウト条件 が満たされても TS をアクティブモードに残るようにさせます。 [bit2] HDC_U: 無条件ホスト駆動ビット このビットへの "1" の書込みは , TS に無条件で校正を実行させます。校正サイクルが完了すると , このビットは自動的に "0" にクリアされます。 TS に無条件で校正を実行させる前に , AIC を禁止 (CONTROL:HOLD = 1) してください。 説明 bit2 "0" を書き込んだ場合 動作に影響はありません。 "1" を書き込んだ場合 TS に無条件で校正を実行させます。 [bit1] HDC_C: 条件付きホスト駆動ビット このビットへの "1" の書込みは , TS が誤って校正を実行することを避けるため , TS にどのタッチ パッドにも触れていないときのみに校正を実行させます。校正サイクルが完了すると , このビット は自動的に "0" にクリアされます。 TS に ど の タ ッ チ パ ッ ド に も 触 れ て い な い と き の み に 校 正 を 実 行 さ せ る 前 に , AIC を 禁 止 (CONTROL:HOLD = 1) してください。 説明 bit1 "0" を書き込んだ場合 動作に影響はありません。 "1" を書き込んだ場合 TS にどのタッチパッドにも触れていないときのみに校正を実行させます。 500 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ [bit0] HOLD: AIC ホールドビット このビットは AIC を許可または禁止 ( ホールド ) します。 説明 bit0 "0" を書き込んだ場合 AIC を許可します。 "1" を書き込んだ場合 AIC を禁止します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 501 第 26 章 タッチセンサ 26.6 レジスタ 26.6.22 MB95850K/860K/870K シリーズ TS 割込みマスクレジスタ (INTMR) TS 割込みマスクレジスタ (INTMR) は , GINT が使用されるとき , CPU に出力される TS の割込みのマスキングを制御します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — — NEW EOC 属性 — — — R/W R/W ITA ATI TINT R/W R/W R/W 初期値 0 0 0 1 1 0 0 0 ■ レジスタ機能 [bit7:5] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit4] NEW: 新インピーダンス割込みマスクビット このビットは新インピーダンス割込みをマスクまたはアンマスクします。 説明 bit4 "0" を書き込んだ場合 新インピーダンス割込みをアンマスクします。 "1" を書き込んだ場合 新インピーダンス割込みをマスクします。 [bit3] EOC: EOC 割込みマスクビット このビットは EOC 割込みをマスクまたはアンマスクします。 説明 bit3 "0" を書き込んだ場合 EOC 割込みをアンマスクします。 "1" を書き込んだ場合 EOC 割込みをマスクします。 [bit2] ITA: IDLE-to-ACTIVE 割込みマスクビット このビットは IDLE-to-ACTIVE 割込みをマスクまたはアンマスクします。 bit2 説明 "0" を書き込んだ場合 IDLE-to-ACTIVE 割込みをアンマスクします。 "1" を書き込んだ場合 IDLE-to-ACTIVE 割込みをマスクします。 [bit1] ATI: ACTIVE-to-IDLE 割込みマスクビット このビットは ACTIVE-to-IDLE 割込みをマスクまたはアンマスクします。 bit1 説明 "0" を書き込んだ場合 ACTIVE-to-IDLE 割込みをアンマスクします。 "1" を書き込んだ場合 ACTIVE-to-IDLE 割込みをマスクします。 502 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ [bit0] TINT: TINT マスクビット このビットは TINT をマスクまたはアンマスクします。 説明 bit0 "0" を書き込んだ場合 TINT をアンマスクします。 "1" を書き込んだ場合 TINT をマスクします。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 503 第 26 章 タッチセンサ 26.6 レジスタ 26.6.23 MB95850K/860K/870K シリーズ TS 割込みクリアレジスタ (INTCR) TS 割込みクリアレジスタ (INTCR) は TS の割込みをクリアします。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — — NEW EOC ITA ATI TINT 属性 — — — R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7:5] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit4] NEW: 新インピーダンス割込みクリアビット このビットは新インピーダンス割込みをクリアします。TS 割込み保留レジスタの新インピーダンス 割込みフラグビット (INTPR:NEW) が "0" にクリアされると , このビットは自動的に "0" にクリアさ れます。 説明 bit4 "0" を書き込んだ場合 動作に影響はありません。 "1" を書き込んだ場合 新インピーダンス割込みをクリアします。 [bit3] EOC: EOC 割込みクリアビット このビットは EOC 割込みをクリアします。TS 割込み保留レジスタの EOC 割込みフラグビット (INTPR:EOC) が "0" にクリアされると , このビットは自動的に "0" にクリアされます。 説明 bit3 "0" を書き込んだ場合 動作に影響はありません。 "1" を書き込んだ場合 EOC 割込みをクリアします。 [bit2] ITA: IDLE-to-ACTIVE 割込みクリアビット このビットは IDLE-to-ACTIVE 割込みをクリアします。TS 割込み保留レジスタの IDLE-to-ACTIVE 割込みフラグビット (INTPR:ITA) が "0" にクリアされると , このビットは自動的に "0" にクリアされ ます。 説明 bit2 "0" を書き込んだ場合 動作に影響はありません。 "1" を書き込んだ場合 IDLE-to-ACTIVE 割込みをクリアします。 [bit1] ATI: ACTIVE-to-IDLE 割込みクリアビット このビットは ACTIVE-to-IDLE 割込みをクリアします。TS 割込み保留レジスタの ACTIVE-to-IDLE 割込みフラグビット (INTPR:ATI) が "0" にクリアされると , このビットは自動的に "0" にクリアされ ます。 説明 bit1 "0" を書き込んだ場合 動作に影響はありません。 "1" を書き込んだ場合 ACTIVE-to-IDLE 割込みをクリアします。 504 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ [bit0] TINT: TINT ビット このビットは TINT をクリアします。TS 割込み保留レジスタの TINT フラグビット (INTPR:TINT) が "0" にクリアされると , このビットは自動的に "0" にクリアされます。 説明 bit0 "0" を書き込んだ場合 動作に影響はありません。 "1" を書き込んだ場合 TINT をマスクします。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 505 第 26 章 タッチセンサ 26.6 レジスタ 26.6.24 MB95850K/860K/870K シリーズ TS 割込み保留レジスタ (INTPR) TS 割込み保留レジスタ (INTPR) は TS の割込み要因を示します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — — NEW EOC ITA ATI TINT 属性 — — — R R R R R 初期値 0 0 0 X X X X X ■ レジスタ機能 [bit7:5] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit4] NEW: 新インピーダンス割込みフラグビット このビットは IMPEn レジスタ値が変化しているかを示します。 このビットはリードオンリです。このビットに値を書き込んでも動作に影響はありません。INTCR レジスタの NEW ビットに "1" が書き込まれると , このビットはクリアされます。 説明 bit4 "0" が読み出された場合 IMPEn レジスタ値が変化していないことを示します。 "1" が読み出された場合 IMPEn レジスタ値が変化していることを示します。 [bit3] EOC: EOC 割込みフラグビット このビットは校正が終了しているかを示します。 このビットはリードオンリです。このビットに値を書き込んでも動作に影響はありません。INTCR レジスタの EOC ビットに "1" が書き込まれると , このビットはクリアされます。 説明 bit3 "0" を書き込んだ場合 校正が実行中のことを示します。 "1" を書き込んだ場合 校正が終了していることを示します。 [bit2] ITA: IDLE-to-ACTIVE 割込みフラグビット このビットは TS がアイドルモードからアクティブモードに移行しているかを示します。 このビットはリードオンリです。このビットに値を書き込んでも動作に影響はありません。INTCR レジスタの ITA ビットに "1" が書き込まれると , このビットはクリアされます。 bit2 説明 "0" を書き込んだ場合 TS がまだアイドルモード中のことを示します。 "1" を書き込んだ場合 TS がアイドルモードからアクティブモードに移行していることを示します。 506 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ [bit1] ATI: ACTIVE-to-IDLE 割込みフラグビット このビットは TS がアクティブモードからアイドルモードに移行しているかを示します。 このビットはリードオンリです。このビットに値を書き込んでも動作に影響はありません。INTCR レジスタの ATI ビットに "1" が書き込まれると , このビットはクリアされます。 bit1 説明 "0" を書き込んだ場合 TS がまだアクティブモード中のことを示します。 "1" を書き込んだ場合 TS がアクティブモードからアイドルモードに移行していることを示します。 [bit0] TINT: TINT フラグビット このビットは , タッチ動作またはタッチ解除動作が実行されていないこと , あるいはタッチ動作ま たはタッチ解除動作が実行されていることを示します。 このビットはリードオンリです。このビットに値を書き込んでも動作に影響はありません。INTCR レジスタの TINT ビットに "1" が書き込まれると , このビットはクリアされます。 bit0 説明 "0" を書き込んだ場合 タッチ動作またはタッチ解除動作が実行されていないことを示します。 "1" を書き込んだ場合 タッチ動作またはタッチ解除動作が実行されていることを示します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 507 第 26 章 タッチセンサ 26.6 レジスタ 26.6.25 MB95850K/860K/870K シリーズ TS フィルタ期間設定レジスタ (FLTP) TS フィルタ期間設定レジスタ (FLTP) は追加 APIS フィルタリング期間の長さを決め ます。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field FILP7 FILP6 FILP5 FILP4 FILP3 FILP2 FILP1 FILP0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7:0] FILP[7:0]: フィルタ期間設定ビット これらのビットは追加 APIS フィルタリング期間の長さを決めます。 「FLTP レジスタ値 × 統合時間 (「26.6.19 TS 統合時間設定レジスタ (ITGTM)」を参照 )」の長さの期 間中に , フィルタが APIS 出力を累積します。( この動作用のアルゴリズムは APIS に類似します。) 累積 APIS 出力が TS フィルタしきい値設定レジスタ (FLTTH) を超えると , フィルタはタッチ出力を 出力します。 フィルタは APIS 出力を安定し , TINT の発生を抑制できます。 508 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ 26.6.26 TS フィルタしきい値設定レジスタ (FLTTH) TS フィルタしきい値設定レジスタ (FLTTH) はフィルタされたタッチ出力のしきい値 を設定します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field FILT7 FILT6 FILT5 FILT4 FILT3 FILT2 FILT1 FILT0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7:0] FILT[7:0]: フィルタしきい値設定ビット これらのビットはフィルタされたタッチ出力のしきい値を設定します。 APIS 出力は「FLTP レジスタ値 × 統合時間 (「26.6.19 TS 統合時間設定レジスタ (ITGTM)」を参照 )」 の長さの期間中に累積され , このレジスタで設定されたしきい値と比較されます。累積 APIS 出力が このレジスタで設定されたしきい値より大きいときのみ , タッチパッドへのタッチが有効とみなさ れます。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 509 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ TS 基準遅延設定レジスタ (REFDLY) 26.6.27 TS 基準遅延設定レジスタ (REFDLY) は基準インピーダンスを設定します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — REFD6 REFD5 REFD4 REFD3 REFD2 REFD1 REFD0 属性 — 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:0] REFD[6:0]: 基準遅延設定ビット これらのビットは基準インピーダンスを (0 と 127 も含めて ) 0 ~ 127 の範囲で設定します。 基準インピーダンスはタッチセンサ動作ポイントの判定に必要です。この判定によって , タッチセ ンサに適切な容量入力ダイナミックレンジが与えられます。 基準遅延は , TS 基準入力端子 (AREF) に外部コンデンサを取り付けることと同じ効果を生じます。 基準遅延チェーンには 128 遅延ステップがあります。詳細は , RSEL0 レジスタの SREFB[2:0] ビッ トの説明に記載された表を参照してください。 例えば , SREFB[2:0] ビットが "0b010" に設定される場合 , REFD[6:0] ビットの最大値が 8.05 pF のコ ンデンサを AREF 端子に取り付けることによって発生された容量に相当します。 <注意事項> REFDLY レジスタ値を変更した後に , 必ずウォームリセットで TS を再起動してください。 510 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ 26.6.28 TS アルファ値設定レジスタ ch. n (ALPHn) TS アルファ値設定レジスタ ch. n (ALPHn) はタッチ ch. n の感度を設定します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — ALP6 ALP5 ALP4 ALP3 ALP2 ALP1 ALP0 属性 — R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 1 0 0 0 ■ レジスタ機能 [bit7] 未定義ビット 読出し値は常に "0" です。このビットに値を書き込んでも動作に影響はありません。 [bit6:0] ALP[6:0]: アルファ値設定ビット これらのビットはタッチ ch. n のアルファ値 ( 感度 ) を設定します。 アルファ値が小さいほど , 感度が高くなります。 例えば , タッチ ch. n の感度ビット (SnB[2:0]) が "0b010" に設定された場合 , アルファ値の各ステッ プが約 0.063 pF の解像度を持ちます。詳細は , RSEL1/RSEL2/RSEL3/RSEL4/RSEL5/RSEL6 レジスタ の SnB[2:0] ビットの説明に記載された表を参照してください。 アルファ値が "5" に設定される場合 , タッチはタッチ出力をアクティブにするには , 0.315 pF (5 × 0.063 pF) 以上の容量を誘導する必要があります。タッチによって誘導される容量は , パッドカ バーの厚さと金属電極の表面積に依存します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 511 第 26 章 タッチセンサ 26.6 レジスタ 26.6.29 MB95850K/860K/870K シリーズ TS ベータ値設定レジスタ (BETA) TS ベータ値設定レジスタ (BETA) は AIC 開始用のしきい値を設定します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — BETA6 BETA5 BETA4 BETA3 BETA2 BETA1 BETA0 属性 — R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 1 0 0 ■ レジスタ機能 [bit7] 未定義ビット 読出し値は常に "0" です。このビットに値を書き込んでも動作に影響はありません。 [bit6:0] BETA[6:0]: ベータ値設定ビット これらのビットは AIC 起動用のベータ値を設定します。 どのタッチパッドにも触れていないときのみ , AIC は許可されます。ベータ値は , どのタッチチャ ネルのタッチパッドが触れていないことを確認するための基準です。 TS は , AIC を開始する前に , すべてのセンサ入力の現在のインピーダンスをすべてのセンサ入寮ク の直前のインピーダンスと比較します。現在のインピーダンスと直前のインピーダンスの差がベー タ値より大きい場合 , TS は AIC をキャンセルします。詳細については , 図 26.5-10 を参照してくだ さい。 デフォルトのベータ値は "4" です。最小ベータ値は "0" で , 最大ベータ値は "127" です。ベータ値の 増大は AIC が一定期間内にキャンセルされる確率を低下させます。 512 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ 26.6.30 TS タッチ強度しきい値設定レジスタ ch. n (STRTHn) TS タッチ強度しきい値設定レジスタ ch. n (STRTHn) はタッチ ch. n のタッチ強度し きい値を設定します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field STH7 STH6 STH5 STH4 STH3 STH2 STH1 STH0 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 1 ■ レジスタ機能 [bit7:0] STH[7:0]: 強度しきい値設定ビット これらのビットはタッチ ch. n のタッチ強度しきい値を設定します。 TS の内部標本化回路は各タッチの強度を測定します。APIS は , STH[7:0] ビットで設定されたタッ チ強度しきい値をあるタッチの強度と比較して , そのタッチが最後のタッチであるかを判定しま す。 タッチ強度しきい値の増大は , タッチ出力感度を低下させますが , より多くの非意図的なタッチを 消去することによってフィルタリング能力を向上させます。 <注意事項> STRTHn レジスタ値を ITGTM レジスタ値以下に設定してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 513 第 26 章 タッチセンサ 26.6 レジスタ 26.6.31 MB95850K/860K/870K シリーズ TS タッチ強度レジスタ ch. n (STRn) TS タッチ強度レジスタ ch. n (STRn) は , APIS モード 1/2/3 で , タッチ ch. n のタッ チ強度を統合時間ごとに読み出します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field SR7 SR6 SR5 SR4 SR3 SR2 SR1 SR0 属性 R R R R R R R R 初期値 X X X X X X X X ■ レジスタ機能 [bit7:0] SR[7:0]: 強度読出しビット これらのビットはタッチ ch. n のタッチ強度を読み出し , タッチ ch. n のタッチ強度を統合時間ごと に保存します。 STRn レジスタの最大値が ITGTM レジスタ値と同じです。したがって , 最大タッチ強度を増加する には , ITGTM レジスタ値を増大してください。 514 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ 26.6.32 TS 校正済みインピーダンスレジスタ ch. n (CALIPn) TS 校正済みインピーダンスレジスタ ch. n (CALIPn) は AIC による校正済みインピー ダンスを監視します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — CIR6 CIR5 CIR4 CIR3 CIR2 CIR1 CIR0 属性 — R R R R R R R 初期値 0 X X X X X X X ■ レジスタ機能 [bit7] 未定義ビット 読出し値は常に "0" です。このビットに値を書き込んでも動作に影響はありません。 [bit6:0] CIR[6:0]: 校正済みインピーダンス読出しビット これらのビットはタッチ ch. n の校正済みインピーダンスを読み出します。校正済みインピーダン スはタッチ ch. n の基準インピーダンスで , これらのビットに監視されます。 AIC は , タッチパッドへのタッチがないときタッチ ch. n のインピーダンスを測定します。また , イ ンピーダンス (IMPEn レジスタ ) からアルファ値 (APLHn レジスタ ) を引いてタッチ ch. n の校正済 みインピーダンスを取得します。 タッチパッドへのタッチがないとき , タッチ ch. n の校正済みインピーダンスは , IMPEn レジスタ値 から ALPHn レジスタ値を引いた残りです。 タッチパッドに触れ , タッチによるインピーダンス (IMPEn レジスタ値 ) の低下 * がアルファ値より 大きい場合 , TS はそのタッチを認識できます。 *: 回路動作原理によると , 電極のインピーダンスの増加が IMPEn レジスタ値の減少として , 電 極のインピーダンスの減少が IMPEn レジスタ値の増加として測定されます。実際のインピー ダンスが 127 を IMPEn レジスタ値から引くことによって取得されます。実際の校正済みイン ピーダンスが 127 を CALIPn レジスタ値から引くことによって取得されます。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 515 第 26 章 タッチセンサ 26.6 レジスタ 26.6.33 MB95850K/860K/870K シリーズ TS インピーダンスレジスタ ch. n (IMPEn) TS インピーダンスレジスタ ch. n (IMPEn) は , タッチ ch. n のタッチパッドにおける 現在のインピーダンスの変化を反映します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — IR6 IR5 IR4 IR3 IR2 IR1 IR0 属性 — R R R R R R R 初期値 0 X X X X X X X ■ レジスタ機能 [bit7] 未定義ビット 読出し値は常に "0" です。このビットに値を書き込んでも動作に影響はありません。 [bit6:0] IR[6:0]: インピーダンス読出しビット これらのビットはタッチ ch. n のタッチパッドにおけるインピーダンスの変化を反映します。AIC コ ントローラは , タッチ ch. n を校正するために , IMPEn レジスタ値を使用します。 516 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ 26.6.34 TS タッチデータレジスタ ( 下位 ) (TOUCHL) TS タッチデータレジスタ ( 下位 ) (TOUCHL) はタッチ ch. n の最後のタッチ状態を保 存します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field TS07 TS06 TS05 TS04 TS03 TS02 TS01 TS00 属性 R R R R R R R R 初期値 X X X X X X X X ■ レジスタ機能 [bit7] TS07: タッチ ch. 7 のタッチ状態ビット このビットはタッチ ch. 7 の最後のタッチ状態を保存します。 bit7 説明 "0" が読み出された場合 タッチ ch. 7 のタッチパッドに触れていないことを示します。 "1" が読み出された場合 タッチ ch. 7 のタッチパッドに触れていることを示します。 [bit6] TS06: タッチ ch. 6 のタッチ状態ビット このビットはタッチ ch. 6 の最後のタッチ状態を保存します。 bit6 説明 "0" が読み出された場合 タッチ ch. 6 のタッチパッドに触れていないことを示します。 "1" が読み出された場合 タッチ ch. 6 のタッチパッドに触れていることを示します。 [bit5] TS05: タッチ ch. 5 のタッチ状態ビット このビットはタッチ ch. 5 の最後のタッチ状態を保存します。 bit5 説明 "0" が読み出された場合 タッチ ch. 5 のタッチパッドに触れていないことを示します。 "1" が読み出された場合 タッチ ch. 5 のタッチパッドに触れていることを示します。 [bit4] TS04: タッチ ch. 4 のタッチ状態ビット このビットはタッチ ch. 4 の最後のタッチ状態を保存します。 bit4 説明 "0" が読み出された場合 タッチ ch. 4 のタッチパッドに触れていないことを示します。 "1" が読み出された場合 タッチ ch. 4 のタッチパッドに触れていることを示します。 [bit3] TS03: タッチ ch. 3 のタッチ状態ビット このビットはタッチ ch. 3 の最後のタッチ状態を保存します。 bit3 説明 "0" が読み出された場合 タッチ ch. 3 のタッチパッドに触れていないことを示します。 "1" が読み出された場合 タッチ ch. 3 のタッチパッドに触れていることを示します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 517 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ [bit2] TS02: タッチ ch. 2 のタッチ状態ビット このビットはタッチ ch. 2 の最後のタッチ状態を保存します。 bit2 説明 "0" が読み出された場合 タッチ ch. 2 のタッチパッドに触れていないことを示します。 "1" が読み出された場合 タッチ ch. 2 のタッチパッドに触れていることを示します。 [bit1] TS01: タッチ ch. 1 のタッチ状態ビット このビットはタッチ ch. 1 の最後のタッチ状態を保存します。 bit1 説明 "0" が読み出された場合 タッチ ch. 1 のタッチパッドに触れていないことを示します。 "1" が読み出された場合 タッチ ch. 1 のタッチパッドに触れていることを示します。 [bit0] TS00: タッチ ch. 0 のタッチ状態ビット このビットはタッチ ch. 0 の最後のタッチ状態を保存します。 bit0 説明 "0" が読み出された場合 タッチ ch. 0 のタッチパッドに触れていないことを示します。 "1" が読み出された場合 タッチ ch. 0 のタッチパッドに触れていることを示します。 <注意事項> 518 • 品種により , タッチチャネルの数が異なります。詳細は , デバイスのデータシートを参 照してください。 • TOUCHL レジスタのいずれかのビットの値が変化するごとに , TINT は "H" に立ち上 がって , そのビットに対応するタッチチャネルのタッチ状態が変化したと示します。 TINT は , "H" に立ち上がった後に , TOUCHL レジスタが読みされるまで , "H" を維持し ます。TOUCHL レジスタが読み出された直後に , TINT はすぐ "L" に立ち下ります。し たがって , TINT に再度 "L" から "H" に立ち上がらせるには , TOUCHL レジスタを読み 出してください。 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ 26.6.35 TS タッチデータレジスタ ( 上位 ) (TOUCHH) TS タッチデータレジスタ ( 上位 ) (TOUCHH) はタッチ ch. n の最後のタッチ状態を保 存します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — — — TS11 TS10 TS09 TS08 属性 — — — — R R R R 初期値 0 0 0 0 X X X X ■ レジスタ機能 [bit7:4] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit3] TS11: タッチ ch. 11 のタッチ状態ビット このビットはタッチ ch. 11 の最後のタッチ状態を保存します。 bit3 説明 "0" が読み出された場合 タッチ ch. 11 のタッチパッドに触れていないことを示します。 "1" が読み出された場合 タッチ ch. 11 のタッチパッドに触れていることを示します。 [bit2] TS10: タッチ ch. 10 のタッチ状態ビット このビットはタッチ ch. 10 の最後のタッチ状態を保存します。 bit2 説明 "0" が読み出された場合 タッチ ch. 10 のタッチパッドに触れていないことを示します。 "1" が読み出された場合 タッチ ch. 10 のタッチパッドに触れていることを示します。 [bit1] TS09: タッチ ch. 9 のタッチ状態ビット このビットはタッチ ch. 9 の最後のタッチ状態を保存します。 bit1 説明 "0" が読み出された場合 タッチ ch. 9 のタッチパッドに触れていないことを示します。 "1" が読み出された場合 タッチ ch. 9 のタッチパッドに触れていることを示します。 [bit0] TS08: タッチ ch. 8 のタッチ状態ビット このビットはタッチ ch. 8 の最後のタッチ状態を保存します。 bit0 説明 "0" が読み出された場合 タッチ ch. 8 のタッチパッドに触れていないことを示します。 "1" が読み出された場合 タッチ ch. 8 のタッチパッドに触れていることを示します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 519 第 26 章 タッチセンサ 26.6 レジスタ MB95850K/860K/870K シリーズ <注意事項> 520 • 品種により , タッチチャネルの数が異なります。詳細は , デバイスのデータシートを参 照してください。 • TOUCHH レジスタのいずれかのビットの値が変化するごとに , TINT は "H" に立ち上 がって , そのビットに対応するタッチチャネルのタッチ状態が変化したと示します。 TINT は , "H" に立ち上がった後に , TOUCHH レジスタが読みされるまで , "H" を維持 します。TOUCHH レジスタが読み出された直後に , TINT はすぐ "L" に立ち下ります。 したがって , TINT に再度 "L" から "H" に立ち上がらせるには , TOUCHH レジスタを読 み出してください。 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 27 章 ビープ出力ユニット ビープ出力ユニットの機能と動作について説明し ます。 27.1 概要 27.2 構成 27.3 端子 27.4 動作説明と設定手順例 27.5 レジスタ MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 521 第 27 章 ビープ出力ユニット 27.1 概要 27.1 MB95850K/860K/870K シリーズ 概要 ビープ出力ユニットは , 14 種類のビープ出力周波数 ( 矩形波 ) オプションがあります。 ブザーを鳴らしてキーの入力を確認するようなアプリケーションに使用できます。 ■ ビープ出力ユニットの機能 ビープ出力ユニットは以下の機能を備えます。 • ビープ出力ユニットは , ブザーを鳴らしてキーの入力を確認するようなアプリケー ションに適した周波数 ( 矩形波 ) を出力します。 • 14 種類のビープ出力周波数 ( 矩形波 ) があり , そのうち 10 種類がタイムベースタイ マから , 4 種類が時計プリスケーラから出力されます。ビープ出力機能は禁止でき ます。 • ビープ出力ユニットはビープ出力周波数レジスタのソフトウェア起動信号選択 ビット (BPFREQ:SW) の設定で , ソフトウェアまたは TS によって起動できます。 <注意事項> 522 • タイムベースタイマまたは時計プリスケーラから出力された周波数がビープ出力ユ ニットにビープ入力信号として入力されるため , 選択されたビープ入力信号源 ( タイム ベースタイマまたは時計プリスケーラ ) がクリアされる場合 , ビープ出力ユニットは周 波数を出力できません。 • サブクロックモードとサブ CR クロックモードでは , メインクロックもメイン CR ク ロックも停止することによって , タイムベースタイマは動作を停止するため , タイム ベースタイマから出力される周波数をビープ出力周波数として選択してください。 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 27 章 ビープ出力ユニット 27.2 構成 MB95850K/860K/870K シリーズ 27.2 構成 ビープ出力ユニットは以下のブロックで構成されます。 • ビープ出力周波数セレクタ • ビープ出力周波数レジスタ (BPFREQ) • タッチ起動ビープ回路 ■ ビープ出力ユニットのブロックダイヤグラム 図 27.2-1 ビープ出力ユニットのブロックダイヤグラム BPFREQ - - - SW BP3 BP2 BP1 BP0 ビープ出力許可信号 ビープ出力周波数選択 タイムベースタイマ から 時計プリスケーラ から FCH/216またはFCRH/215またはFMCRPLL/215 FCH/215またはFCRH/214またはFMCRPLL/214 FCH/214またはFCRH/213またはFMCRPLL/213 FCH/213またはFCRH/212またはFMCRPLL/212 FCH/212またはFCRH/211またはFMCRPLL/211 FCH/211またはFCRH/210またはFMCRPLL/210 FCH/210またはFCRH/29またはFMCRPLL/29 FCH/29またはFCRH/28またはFMCRPLL/28 FCH/28またはFCRH/27またはFMCRPLL/27 FCH/27またはFCRH/26 またはFMCRPLL/26 FCL/26またはFCRL/26 FCL/25またはFCRL/25 FCL/24またはFCRL/24 FCL/23またはFCRL/23 タッチ起動 ビープ回路 ビープ出力周波数セレクタ ビープ出力 周波数 BEEP端子 タッチトリガ(TSから) FCH FCL FCRH FCRL FMCRPLL : メインクロック : サブクロック : メインCRクロック : サブCRクロック : メインCR PLLクロック ● ビープ周波数出力セレクタ ビープ周波数出力セレクタは , 14 種類からビープ出力周波数 ( 矩形波 ) を選択し , 選択 したビープ出力周波数を出力するための回路です。14 種類のビープ出力周波数には , 10 種類がタイムベースタイマから , 4 種類が時計プリスケーラから出力されます。 ● ビープ出力周波数レジスタ (BPFREQ) ビープ出力周波数レジスタ (BPFREQ) は , ビープ出力ユニットの起動方法を選択し , ビープ出力機能を許可し , ビープ出力周波数を選択します。このレジスタの BP[3:0] ビットに値を書き込んでビープ出力周波数を選択することはビープ出力機能を自動的 に許可します。 ● タッチ起動ビープ回路 タッチ起動ビープ回路はビープ出力ユニットの起動方法を選択します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 523 第 27 章 ビープ出力ユニット 27.3 端子 27.3 MB95850K/860K/870K シリーズ 端子 ビープ出力ユニットの端子について説明します。 ■ ビープ出力ユニットの端子 ● BEEP 端子 この端子はビープ出力端子として機能します。 BEEP 端子は BPFREQ レジスタの BP[3:0] ビットで指定された周波数の矩形波を出力し ます。ポート方向レジスタ (DDR) の設定にかかわらず , BP[3:0] ビットに値を書き込ん でビープ出力周波数を選択することによって , この端子は自動的にビープ出力端子に なります。 524 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 27 章 ビープ出力ユニット 27.4 動作説明と設定手順例 MB95850K/860K/870K シリーズ 27.4 動作説明と設定手順例 ビープ出力ユニットはソフトウェアまたは TS によって起動できます。 ■ ビープ出力ユニットの起動 ビープ出力ユニットはソフトウェアまたは TS によって起動できます。ソフトウェアで ビープ出力ユニットを起動するには , ビープ出力周波数レジスタのソフトウェア起動 信号選択ビット (BPFREQ:SW) に "1" を書き込んでください。TS でビープ出力ユニッ トを起動するには , BPFREQ レジスタの SW ビットに "0" を書き込んで , TS の TS ビー プ期間設定レジスタ (BPDUR) でビープ期間を設定してください。BPDUR レジスタの 詳細については ,「26.6.12 TS ビープ期間設定レジスタ (BPDUR)」を参照してください。 BPFREQ レジスタの BP[3:0] ビットはビープ出力周波数を選択し , ビープ出力機能を許 可します。 ● ソフトウェアによる起動 ソフトウェアでビープ出力ユニットを起動するには , 図 27.4-1 に示された設定をして ください。 図 27.4-1 ソフトウェアによるビープ出力ユニットの起動 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 — — — SW BP3 BP2 BP1 BP0 × × × 1 ❍ ❍ ❍ ❍ bit7 BDR7 0 bit6 BDR6 0 bit5 BDR5 0 bit4 BDR4 0 bit3 BDR3 0 bit2 BDR2 0 bit1 BDR1 0 bit0 BDR0 0 BPFREQ BPDUR ❍ : 使用ビット × : 未使用ビット 0 : "0" に設定 1 : "1" に設定 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 525 第 27 章 ビープ出力ユニット 27.4 動作説明と設定手順例 MB95850K/860K/870K シリーズ ● TS による起動 TS でビープ出力ユニットを起動するには , 図 27.4-2 に示された設定をしてください。 図 27.4-2 TS によるビープ出力ユニットの起動 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 — — — SW BP3 BP2 BP1 BP0 × × × 0 ❍ ❍ ❍ ❍ bit7 BDR7 ❍ bit6 BDR6 ❍ bit5 BDR5 ❍ bit4 BDR4 ❍ bit3 BDR3 ❍ bit2 BDR2 ❍ bit1 BDR1 ❍ bit0 BDR0 ❍ BPFREQ BPDUR ❍ : 使用ビット × : 未使用ビット 0 : "0" に設定 1 : "1" に設定 ■ 設定手順例 以下に , ビープ出力ユニットの設定手順例を示します。 ● 初期設定 1. ビープ出力ユニットを設定してください (BPDUR)。 2. ビープ出力ユニットの起動方法を選択してください (BPFREQ:SW)。 3. ビープ出力周波数を選択してください (BPFREQ:BP[3:0])。 526 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 27.5 レジスタ 第 27 章 ビープ出力ユニット 27.5 レジスタ ビープ出力ユニットのレジスタについて説明します。 表 27.5-1 TS のレジスタ一覧 レジスタ略称 BPFREQ MN702-00010-2v0-J レジスタ名 ビープ出力周波数レジスタ FUJITSU SEMICONDUCTOR LIMITED 参照先 27.5.1 527 第 27 章 ビープ出力ユニット 27.5 レジスタ 27.5.1 MB95850K/860K/870K シリーズ ビープ出力周波数レジスタ (BPFREQ) ビープ出力周波数レジスタ (BPFREQ) は , ビープ出力ユニットの起動方法を選択し , ビープ出力機能を許可し , ビープ出力周波数を選択します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field — — — SW BP3 BP2 BP1 BP0 属性 — — — R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ■ レジスタ機能 [bit7:5] 未定義ビット 読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。 [bit4] SW: ソフトウェア起動信号選択ビット このビットはビープ出力ユニットの起動方法を選択します。 bit4 説明 "0" を書き込んだ場合 TS の BPDUR レジスタによってビープ出力ユニットを起動する方法を選択しま す。 "1" を書き込んだ場合 ソフトウェアによってビープ出力ユニットを起動する方法を選択します。 528 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 27 章 ビープ出力ユニット 27.5 レジスタ MB95850K/860K/870K シリーズ [bit3:0] BP[3:0]: ビープ出力周波数選択ビット これらのビットは BEEP 端子に出力されるビープ出力周波数を選択し , ビープ出力機能を許可また は禁止します。ビープ出力周波数を選択することによって , ビープ出力機能は自動的に許可されま す。 説明 bit3:0 周波数供給源 メインクロックモード FCH = 4 MHz "0000" を書き込んだ場合 — メイン CR クロック モード FCRH = 4 MHz メイン CR PLL クロック モード FMCRPLL = 8 MHz ビープ出力機能を禁止します。 FCH/216 (61 Hz) を選択し FCRH/215 (122 Hz) を選択 FMCRPLL/215 (244 Hz) を "0001" を書き込んだ場合 ます。 します。 15 14 (122 Hz) を選択 (244 Hz) を選択 FMCRPLL/214 (488 Hz) を "0010" を書き込んだ場合 FCH/2 します。 します。 "0011" を書き込んだ場合 FCH/214 (244 Hz) を選択 FCRH/213 (488 Hz) を選択 FMCRPLL/213 (977 Hz) を します。 します。 "0100" を書き込んだ場合 FCH/213 (488 Hz) を選択 FCRH/212 (977 Hz) を選択 FMCRPLL/212 (1.953 kHz) します。 します。 "0101" を書き込んだ場合 FCH/212 (977 Hz) を選択 FCRH/211 (1.953 kHz) を選 FMCRPLL/211 (3.906 kHz) "0110" を書き込んだ場合 タイムベース します。 タイマ FCH/211 (1.953 kHz) を選 択します。 10 (3.906 kHz) を選 FCRH/2 選択します。 選択します。 選択します。 を選択します。 択します。 を選択します。 FCRH/210 (3.906 kHz) を選 FMCRPLL/210 (7.813 kHz) 択します。 を選択します。 9 FCRH/2 (7.813 kHz) を選 FMCRPLL/29 (15.625 kHz) "0111" を書き込んだ場合 FCH/2 "1000" を書き込んだ場合 FCH/29 (7.813 kHz) を選択 FCRH/28 (15.625 kHz) を選 FMCRPLL/28 (31.25 kHz) 択します。 "1001" を書き込んだ場合 択します。 を選択します。 します。 択します。 FCH/28 (15.625 kHz) を選 FCRH/27 (31.25 kHz) を選 FMCRPLL/27 (62.5 kHz) を を選択します。 択します。 択します。 選択します。 FCH/27 (31.25 kHz) を選択 FCRH/26 (62.5 kHz) を選択 FMCRPLL/26 (125 kHz) を "1010" を書き込んだ場合 します。 します。 選択します。 説明 bit3:0 周波数供給源 "1011" を書き込んだ場合 FCL /26 (512 Hz) を選択します。 5 "1101" を書き込んだ場合 FCL/2 (1.024 kHz) を選択します。 時計 プリスケーラ F /24 (2.048 kHz) を選択します。 CL "1110" を書き込んだ場合 FCL/23 (4.096 kHz) を選択します。 "1100" を書き込んだ場合 "1111" を書き込んだ場合 — サブ CR クロックモード サブクロックモード FCL = 32.768 kHz FCRL = 100 kHz FCRL /26 (1.5625 kHz) を選択します。 5 FCRL/2 (3.125 kHz) を選択します。 FCRL/24 (6.25 kHz) を選択します。 FCRL/23 (12.5 kHz) を選択します。 "1" を BEEP 端子に出力される値として選択します。 ( 注意事項 ) • サブクロックモードとサブ CR クロックモードでは , メインクロックもメイン CR クロックも停止 することによって , タイムベースタイマは動作を停止するため , タイムベースタイマから出力され る周波数をビープ出力周波数として選択してください。 • メインストップモードでは , サブクロックとサブ CR クロックは , それぞれに対応する発振許可 ビット (SYCC2 レジスタの SOSCE ビットと SCRE ビット ) が "1" に設定されるとき動作できます。 したがって , メインストップモードでビープ出力機能を使用するには , 以下の設定をしてくださ い。 - スタンバイ制御レジスタの端子状態設定ビット (STBC:SPL) に "0" を書き込んでください。 - SYCC2 レジスタの SOSCE ビットに "1" を書き込んでサブクロック発振を許可するか , SYCC2 レジスタの SCRE ビットに "1" を書き込んでサブ CR クロック発振を許可してください。 - 時計プリスケーラから出力されるビープ周波数を選択してください (BPFREQ:BP[3:0] = 0b1011, 0b1100, 0b1101 または 0b1110)。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 529 第 27 章 ビープ出力ユニット 27.5 レジスタ 530 MB95850K/860K/870K シリーズ FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 28 章 システム構成コントローラ システム構成コントロー ラ ( 本章では「コント ローラ」とよびます ) の機能 と動作について説明 します。 28.1 概要 28.2 レジスタ 28.3 使用上の注意 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 531 第 28 章 システム構成コントローラ 28.1 概要 28.1 MB95850K/860K/870K シリーズ 概要 コントローラは , システム構成レジスタ (SYSC) で構成されています。この SYSC レ ジスタは , クロックおよびリセットシステムを構成設定し , タッチセンサ (TS) ダイレ クト出力端子を選択するための 8 ビットのレジスタです。 ■ SYSC の機能 • PF2/RST 端子の汎用入出力ポート / リセット機能の選択 • RST 端子のリセット出力の許可 / 禁止 • PF0/X0 端子および PF1/X1 端子の汎用入出力ポート / 発振機能の選択 • PG1/X0A/DIO04 端子および PG2/X1A/DIO03 端子の汎用入出力ポート / 発振機能の 選択 • TS ダイレクト出力端子の DIO03 と DIO04 を P44 と P45 または PG2 と PG1 にそれ ぞれマッピング 532 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J MB95850K/860K/870K シリーズ 28.2 レジスタ 第 28 章 システム構成コントローラ 28.2 レジスタ コントローラのレジスタについて説明します。 表 28.2-1 コントローラのレジスタ一覧 レジスタ略称 SYSC MN702-00010-2v0-J レジスタ名 システム構成レジスタ FUJITSU SEMICONDUCTOR LIMITED 参照先 28.2.1 533 第 28 章 システム構成コントローラ 28.2 レジスタ 28.2.1 MB95850K/860K/870K シリーズ システム構成レジスタ (SYSC) システム構成レジスタ (SYSC) について説明します。 ■ レジスタ構成 bit 7 6 5 4 3 2 1 0 Field PGSEL PFSEL 予約 予約 予約 DIOSEL RSTOE RSTEN 属性 R/W R/W W W W R/W R/W R/W 初期値 1 1 0 0 0 0 1 1 ■ レジスタ機能 [bit7] PGSEL: PG1 と PG2 機能選択ビット このビットは PG1 と PG2 端子の機能を選択します。 このビットに "0" が書き込まれた場合 , PG1 と PG2 端子はサブクロック発振端子として機能します。 サブクロック発振は , サブクロック発振許可ビット (SYCC2:SOSCE) により許可または禁止されま す。 このビットに "1" が書き込まれた場合 , PG1 と PG2 端子は汎用入出力ポートとして機能します。 説明 bit7 "0" を書き込んだ場合 PG1 と PG2 端子はサブクロック発振端子として機能します。 "1" を書き込んだ場合 PG1 と PG2 端子は汎用入出力ポートとして機能します。 [bit6] PFSEL: PF0 と PF1 機能選択ビット このビットは PF0 と PF1 端子の機能を選択します。 このビットに "0" が書き込まれた場合 , PF0 と PF1 端子は メインクロック発振端子として機能しま す。メインクロック発振は , メインクロック発振許可ビット (SYCC2:MOSCE) により許可または禁 止されます。 このビットに "1" が書き込まれた場合 , PF0 と PF1 端子は汎用入出力ポートとして機能します。 説明 bit6 "0" を書き込んだ場合 PF0 と PF1 端子はメインクロック発振端子として機能します。 "1" を書き込んだ場合 PF0 と PF1 端子は汎用入出力ポートとして機能します。 [bit5:3] 予約ビット これらのビットは常に "0" に設定してください。 534 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 第 28 章 システム構成コントローラ 28.2 レジスタ MB95850K/860K/870K シリーズ [bit2] DIOSEL: TS ダイレクト出力端子選択ビット このビットは , DIO03 端子 (TS ダイレクト出力 ch. 3 端子 ) と DIO04 (TS ダイレクト出力 ch. 4 端子 ) をどの端子にマッピングするかを選択します。 説明 bit2 "0" を書き込んだ場合 DIO03 端子と DIO04 端子を PG2 端子と PG1 端子にそれぞれマッピングするこ とを選択します。 "1" を書き込んだ場合 DIO03 端子と DIO04 端子を P44 端子と P45 端子にそれぞれマッピングすること を選択します。 TS ダイレクト出力チャネルと端子との対応表 TS ダイレクト出力チャネル DIOSEL = 0 DIOSEL = 1 ch. 3 PG2 P44 ch. 4 PG1 P45 [bit1] RSTOE: リセット出力許可 / 禁止ビット このビットは , リセット入力機能が許可されている場合に , PF2 /RST 端子のリセット出力機能を許 可または禁止します。リセット入力機能が禁止されている (SYSC:RSTEN = 0) 場合は , このビットの 設定にかかわらず , リセット出力機能は禁止されます。 リセット入力機能の選択について , PF2 機能選択ビット (SYSC:RSTEN) を参照してください。 bit1 説明 "0" を書き込んだ場合 PF2/RST 端子のリセット出力機能を禁止します。 "1" を書き込んだ場合 PF2/RST 端子のリセット出力機能を許可します。 [bit0] RSTEN: PF2 機能選択ビット このビットは PF2/RST 端子のリセット入力機能を許可または禁止します。 このビットに "0" が書き込まれた場合 , PF2/RST 端子のリセット入力機能は禁止され , 汎用入出力 ポート機能が許可されます。 このビットに "1" が書き込まれた場合 , PF2/RST 端子のリセット入力機能は許可され , 汎用入出力 ポート機能が禁止されます。 このビットを変更する前に , PDRF レジスタの bit2 を "1" に設定してください。 bit0 説明 "0" を書き込んだ場合 PF2/RST 端子の汎用入出力ポート機能を選択します。 "1" を書き込んだ場合 PF2/RST 端子のリセット入力機能を選択します。 <注意事項> リセット後にリセット入出力機能を維持するために , SYSC:RSTEN および SYSC:RSTOE は , 電源投入後に "1" に初期化されます。そのほかのリセットでは , これらのビットは初 期化されません。 システムにおいてリセット入出力機能を使用する必要がある場合は , 安定した動作を維持 するために , リセット後の初期化プログラムルーチンにおいて SYSC:RSTEN を "1" に初 期化することを強く推奨します。リセット入出力機能が許可されている場合には , ウォッ チドッグリセットを含むすべての種類のリセットが使用可能です。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 535 第 28 章 システム構成コントローラ 28.3 使用上の注意 28.3 MB95850K/860K/870K シリーズ 使用上の注意 コントローラの使用上の注意を示します。 ■ 8/16 ビット複合タイマ使用時に DIOSEL ビットを "0" に設定 8/16 ビット複合タイマの出力機能使用中に , P44 端子と P45 端子が 8/16 ビット複合タ イマ出力端子として使用されています。この場合には , TS のダイレクト出力機能を使 用するために , DIOSEL ビットを "0" に設定して TS ダイレクト出力端子を PG1 端子と PG2 端子にマッピングしてください。 536 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 付録 命令概要について説明します。 MN702-00010-2v0-J A.1 アドレッシング A.2 特殊な命令について A.3 ビット操作命令 (SETB, CLRB) A.4 F2MC-8FX 命令一覧表 A.5 命令マップ FUJITSU SEMICONDUCTOR LIMITED 537 付録 付録 A 命令概要 付録 A MB95850K/860K/870K シリーズ 命令概要 F2MC-8FX に使用している命令について説明します。 ■ F2MC-8FX の命令の概要 F2MC-8FX には , 140 種類の 1 バイト命令 ( マップとしては 256 バイト ) があり , 命令 とそれに続くオペランドによって命令コードを構成します。 付図 A-1 に命令コードと命令マップの対応について示します。 付図 A-1 命令コードと命令マップの対応 命令によって0~2バイトを与える 命令コード 1バイト 命令 オペランド 上位4ビット オペランド [命令マップ] 下位4ビット • 命令は転送系 , 演算系 , 分岐系 , そのほかの 4 つに分類されます。 • アドレッシングには各種の方法があり , 命令の選択とオペランド指定により 10 種類 のアドレッシングを選択できます。 • ビット操作命令を備えており , リードモディファイライト動作が可能です。 • 特殊な動作を指示する命令があります。 管理番号 : CM26-00118-1 538 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 付録 付録 A 命令概要 MB95850K/860K/870K シリーズ ■ 命令コードの記号の説明 付表 A-1 に , この付録 A の命令コードの説明で使用している記号の意味を示します。 付表 A-1 命令コードの記号の説明 表 記 意 味 dir ダイレクトアドレス (8 ビット長 ) off オフセット (8 ビット長 ) ext エクステンドアドレス (16 ビット長 ) #vct ベクタテーブル番号 (3 ビット長 ) #d8 イミディエートデータ (8 ビット長 ) #d16 イミディエートデータ (16 ビット長 ) dir:b ビットダイレクトアドレス (8 ビット長 :3 ビット長 ) rel 分岐相対アドレス (8 ビット長 ) @ レジスタ間接 ( 例 :@A,@IX,@EP) A アキュムレータ ( 使用する命令によって 8 ビット長か 16 ビット長かが決まる ) AH アキュムレータの上位 8 ビット (8 ビット長 ) AL アキュムレータの下位 8 ビット (8 ビット長 ) T テンポラリアキュムレータ ( 使用する命令によって 8 ビット長か 16 ビット長かが決まる ) TH テンポラリアキュムレータの上位 8 ビット (8 ビット長 ) TL テンポラリアキュムレータの下位 8 ビット (8 ビット長 ) IX インデックスレジスタ (16 ビット長 ) EP エクストラポインタ (16 ビット長 ) PC プログラムカウンタ (16 ビット長 ) SP スタックポインタ (16 ビット長 ) PS プログラムステータス (16 ビット長 ) dr アキュムレータまたはインデックスレジスタのいずれか (16 ビット長 ) CCR コンディションコードレジスタ (8 ビット長 ) RP レジスタバンクポインタ (5 ビット長 ) DP ダイレクトバンクポインタ (3 ビット長 ) Ri 汎用レジスタ (8 ビット長 , i=0 ~ 7) × × が即値データそのものであることを示す ( 使用する命令によって 8 ビット長か 16 ビット長かが決まる ) (×) × の中身がアクセスの対象であることを示す ( 使用する命令によって 8 ビット長か 16 ビット長かが決まる ) ((×)) × の中身が示すアドレスがアクセスの対象であることを示す ( 使用する命令によって 8 ビット長か 16 ビット長かが決まる ) MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 539 付録 付録 A 命令概要 MB95850K/860K/870K シリーズ ■ 命令一覧表の項目の説明 付表 A-2 命令一覧表の項目の説明 項目 540 説明 MNEMONIC 命令のアセンブル記述を表します。 ~ 命令のサイクル数を示します。1 命令サイクルは 1 マシンサイク ルです。 ( 注意事項 ) 命令のサイクル数は , 直前の命令によって 1 サイクル延期される 場合があります。また , I/O 領域へのアクセスでは , 命令のサイク ル数が延長される場合があります。 # 命令のバイト数を示します。 動作 命令の動作を示します。 TL, TH, AH TL, TH, AH の各命令実行時の内容の変化 (A から T への自動転送 ) を示します。欄内の記号は以下のものを , それぞれ示します。 ・- は変化なし ・dH は動作に記述したデータの上位 8 ビット ・AL と AH はその命令実行直前の AL と AH の内容になること ・00 は 00 になること N, Z, V, C それぞれに対応するフラグが変化する命令を示します。欄内の記 号は以下のものを , それぞれ表します。 ・-:変化しないこと ・+:変化すること ・R:"0" になること ・S:"1" になること OP CODE 命令のコードを示します。該当命令が複数のコードを占める場合 は , 次のような記載規約に則っています。 【例】 48 ~ 4F ← これは 48, 49, …… 4F を示します。 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 付録 付録 A 命令概要 MB95850K/860K/870K シリーズ A.1 アドレッシング F2MC-8FX には , 次の 10 種類のアドレッシングがあります。 • ダイレクトアドレッシング • エクステンドアドレッシング • ビットダイレクトアドレッシング • インデックスアドレッシング • ポインタアドレッシング • 汎用レジスタアドレッシング • イミディエートアドレッシング • ベクタアドレッシング • 相対アドレッシング • インヘレントアドレッシング ■ アドレッシングの説明 ● ダイレクトアドレッシング 命令表中で "dir" と示したアドレッシングで , ダイレクト領域 "0x0000" ~ "0x047F" を アクセスする際に使用します。このアドレッシングでは , オペランドアドレスが "0x00" ~ "0x7F" の場合 ,"0x0000" ~ "0x007F" にアクセスします。また , オペランドアドレス が "0x80" ~ "0xFF" の場合 , ダイレクトバンクポインタ DP の設定により "0x0080" ~ "0x047F" にアクセスがマッピングできます。付図 A.1-1 に例を示します。 付図 A.1-1 ダイレクトアドレッシング例 MOV 92H, A DP 0b001 0x112 A 0x45 0x45 ● エクステンドアドレッシング 命令表の中で "ext" と示したアドレッシングで , 64K バイト全体の領域をアクセスする ときに使用します。このアドレッシングでは , 第 1 オペランドでアドレスの上位 1 バイ トを , 第 2 オペランドでアドレスの下位 1 バイトを指定します。 付図 A.1-2 に例を示します。 付図 A.1-2 エクステンドアドレッシング例 MOVW A, 1 2 3 4H MN702-00010-2v0-J 0x1234 0x56 0x1235 0x78 A 0x5678 FUJITSU SEMICONDUCTOR LIMITED 541 付録 付録 A 命令概要 MB95850K/860K/870K シリーズ ● ビットダイレクトアドレッシング 命令表中で "dir:b" と示したアドレッシングで , ダイレクト領域 "0x0000" ~ "0x047F" を ビット単位でアクセスする際に使用します。このアドレッシングでは , オペランドアド レスが "0x00" ~ "0x7F" の場合 , "0x0000" ~ "0x007F" にアクセスします。また , オペラ ンドアドレスが "0x80" ~ "0xFF" の場合 , ダイレクトバンクポインタ DP の設定により "0x0080" ~ "0x047F" にアクセスがマッピングできます。指定したアドレス内のビット の位置は命令コードの下位 3 ビットの値で指定します。 付図 A.1-3 に例を示します。 付図 A.1-3 ビットダイレクトアドレッシング例 SETB 34H : 2 DP 0bXXX 0x0034 7 6 5 4 3 2 1 0 0bXXXXX1XX ● インデックスアドレッシング 命令表の中で "@IX + off" と示したアドレッシングで , 64K バイト全体の領域をアクセ スするときに使用します。このアドレッシングでは , 第 1 オペランドの内容を符号拡張 した上で IX( インデックスレジスタ ) に加算してその結果をアドレスとします。付図 A.1-4 に例を示します。 付図 A.1-4 インデックスアドレッシング例 MOVW A, @IX+ 5AH IX 0x27A5 0x27FF 0x12 0x2800 0x34 A 0x1234 ● ポインタアドレッシング 命令表の中で "@EP" と示したアドレッシングで , 64K バイト全体の領域をアクセスす るときに使用します。このアドレッシングでは , EP( エクストラポインタ ) の内容をア ドレスとします。付図 A.1-5 に例を示します。 付図 A.1-5 ポインタアドレッシング例 MOVW A, @EP EP 0x27A5 0x27A5 0x12 0x27A6 0x34 A 0x1234 ● 汎用レジスタアドレッシング 命令表の中で "Ri" と示したアドレッシングで , 汎用レジスタ領域のレジスタバンクを アクセスするときに使用します。このアドレッシングでは , アドレスの上位 1 バイトは "01" に固定し , 下位 1 バイトを RP ( レジスタバンクポインタ ) の内容とオペコードの 下位 3 ビットから作成し , このアドレスに対してアクセスを行います。付図 A.1-6 に例 を示します。 542 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 付録 付録 A 命令概要 MB95850K/860K/870K シリーズ 付図 A.1-6 汎用レジスタアドレッシング例 MOV A, R 6 RP 0b01010 0x0156 0xAB A 0xAB ● イミディエートアドレッシング 命令表の中で "#d8" と示したアドレッシングで , 即値データを必要とするときに使用し ます。このアドレッシングでは , オペランドがそのまま即値データになります。バイト / ワードの指定はオペコードにより決まります。付図 A.1-7 に例を示します。 付図 A.1-7 イミディエートアドレッシング例 MOV A, #56H A 0x56 ● ベクタアドレッシング 命令表の中で "#vct" と示したアドレッシングで , テーブル内に登録したサブルーチン アドレスに分岐するときに使用します。このアドレッシングでは , オペコード内に "#vct" の情報を含み , 付表 A.1-1 に示す対応でテーブルのアドレスを作成します。 付表 A.1-1 "#vct" に対応したベクタテーブルアドレス #vct ベクタテーブルアドレス ( ジャンプ先上位アドレス : 下位アドレス ) 0 0xFFC0 : 0xFFC1 1 0xFFC2 : 0xFFC3 2 0xFFC4 : 0xFFC5 3 0xFFC6 : 0xFFC7 4 0xFFC8 : 0xFFC9 5 0xFFCA : 0xFFCB 6 0xFFCC : 0xFFCD 7 0xFFCE : 0xFFCF 付図 A.1-8 に例を示します。 付図 A.1-8 ベクタアドレッシング例 CALLV #5 (変換) MN702-00010-2v0-J 0xFFCA 0xFE 0xFFCB 0xDC PC 0xFEDC FUJITSU SEMICONDUCTOR LIMITED 543 付録 付録 A 命令概要 MB95850K/860K/870K シリーズ ● 相対アドレッシング 命令表の中で "rel" と示したアドレッシングで , PC( プログラムカウンタ ) の前後 128 バ イトの領域に分岐するときに使用します。このアドレッシングでは , オペランドの内容 を PC に符号付きで加算し , その結果を PC に格納します。付図 A.1-9 に例を示します。 付図 A.1-9 相対アドレッシング例 BNE FEH 旧PC 0x9ABC + 0xFFFE 0x9ABC 新PC 0x9ABA この例では , BNE のオペコードが格納されているアドレスへジャンプするため , 結果と して無限ループになります。 ● インヘレントアドレッシング 命令表の中でオペランドを持たないアドレッシングで,オペコードで決まる動作を行う ときに使用します。このアドレッシングでは , 動作が命令ごとに異なります。 付図 A.1-10 に例を示します。 付図 A.1-10 インヘレントアドレッシング例 NOP 旧PC 544 0x9ABC 新PC FUJITSU SEMICONDUCTOR LIMITED 0x9ABD MN702-00010-2v0-J 付録 付録 A 命令概要 MB95850K/860K/870K シリーズ A.2 特殊な命令について アドレッシング以外の特殊な命令について説明します。 ■ 特殊な命令について ● JMP @A この命令は , A( アキュムレータ ) の内容をアドレスとして PC( プログラムカウンタ ) へ 分岐するというものです。N 個のジャンプ先をテーブル上に並べておき , その内容のい ずれか 1 つを選択して A に転送します。この命令を実行することによって N 分岐処理 が行えます。 付図 A.2-1 に概要図を示します。 付図 A.2-1 JMP @A (実行前) A (実行後) 0x1234 A 0x1234 旧PC 0xXXXX 新PC 0x1234 ● MOVW A,PC この命令は ,"JMP @A" と反対の動作を行うものです。すなわち , PC の内容を A に格納 するものです。メインルーチン内でこの命令を実行しておき , 特定のサブルーチンを呼 び出すような設定において , そのサブルーチン内で A の内容が決められた値になって いることを確認できます。予想できない部分からの分岐でないことが識別でき , 暴走判 断に使用できます。 付図 A.2-2 に概要図を示します。 付図 A.2-2 MOVW A,PC (実行前) A 0xXXXX 旧PC 0x1233 (実行後) A 0x1234 新PC 0x1234 この命令を実行したときの A の内容は , この命令のオペコードが格納されているアド レスではなく , 次の命令が格納されているアドレスと同じ値になります。したがって , 付図 A.2-2 では A に格納した値 "0x1234" は「MOVW A,PC」の次のオペコードが格 納されているアドレスに一致します。 ● MULU A この命令は , AL( アキュムレータの下位 8 ビット ) と TL( テンポラリアキュムレータの 下位 8 ビット ) を符号なしで掛け合わせ , 16 ビット長の結果を A に格納します。T( テ ンポラリアキュムレータ ) の内容は変化しません。演算に関して , 実行前の AH( アキュ ムレータの 8 上位ビット ), TH( テンポラリアキュムレータの上位 8 ビット ) の内容は 使用していません。フラグは変化しないため , 乗算の結果によって分岐するときには注 意してください。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 545 付録 付録 A 命令概要 MB95850K/860K/870K シリーズ 付図 A.2-3 に概要図を示します。 付図 A.2-3 MULU A (実行前) (実行後) A 0x5678 A 0x1860 T 0x1234 T 0x1234 ● DIVU A この命令は , T の 16 ビットを A の 16 ビットで符号なしデータとして割り , 結果を 16 ビットとして A に , 余りも 16 ビットとして T に格納するものです。実行前の A の値 が "0" の場合 , ゼロ除算が実行されたことを示すために Z フラグが "1" になります。そ のほかのフラグは変化しないため除算の結果によって分岐するときには注意してくだ さい。 付図 A.2-4 に概要図を示します。 付図 A.2-4 DIVU A (実行前) (実行後) A 0x1234 A 0x0004 T 0x5678 T 0x0DA8 ● XCHW A,PC この命令は , A と PC の内容を交換するもので , 結果として実行前の A の内容が示す番 地へ分岐します。実行後の A は ,「XCHW A,PC」のオペコードが格納されているア ドレスの次のアドレスの値になります。この命令は , 特にメインルーチンでテーブルを 指定し , サブルーチンで使用するときに有効です。 付図 A.2-5 に概要図を示します。 付図 A.2-5 XCHW A,PC (実行前) (実行後) A 0x5678 A 0x1235 PC 0x1234 PC 0x5678 この命令を実行したときの A の内容は , この命令のオペコードが格納されているアド レスではなく , 次の命令が格納されているアドレスと同じ値になります。したがって , 付図 A.2-5 では A に格納した値 "0x1235" は「XCHW A,PC」の次のオペコードが格納 されているアドレスに一致します。そのため , "0x1234" ではなく "0x1235" となってい ます。 546 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 付録 付録 A 命令概要 MB95850K/860K/870K シリーズ 付図 A.2-6 にアセンブラ表記例を示します。 付図 A.2-6 「XCHW A,PC」の使用例 (メインルーチン) MOVW XCHW DB MOVW (サブルーチン) A, #PUTSUB A, PC PUTSUB 'PUT OUT DATA', EOL A, 1234H PTS1 XCHW A, EP PUSHW A MOV A, @EP INCW EP MOV IO, A ここでテーブル データを出力 CMP A, #EOL BNE PTS1 POPW A XCHW A, EP JMP @A ● CALLV #vct テーブル内に登録したサブルーチンアドレスに分岐するときに使用します。リターン アドレス (PC の内容 ) を SP( スタックポインタ ) が示すアドレスへ退避した後 , ベクタ アドレッシングによってベクタテーブルに記載したアドレスへ分岐します。1 バイトの 命令のため , 頻繁に使用するサブルーチンに対してこの命令を使用することによって , プログラム全体のサイズを縮小できます。 付図 A.2-7 に概要図を示します。 付図 A.2-7 CALLV #3 の実行例 (実行前) PC 0x5678 SP 0x1234 (実行後) (−2) PC 0xFEDC SP 0x1232 0x1232 0xXX 0x1232 0x56 0x1233 0xXX 0x1233 0x79 0xFFC6 0xFE 0xFFC6 0xFE 0xFFC7 0xDC 0xFFC7 0xDC この命令を実行したときにスタック領域に退避される PC の内容は , この命令のオペ コードが格納されているアドレスではなく,次の命令が格納されているアドレスと同じ 値になります。したがって , 付図 A.2-7 ではスタック (0x1232, 0x1233) に退避された値 "0x5679" は「CALLV #vct」の次のオペコードが格納されているアドレス ( リターンア ドレス ) に一致します。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 547 付録 付録 A 命令概要 MB95850K/860K/870K シリーズ 付表 A.2-1 ベクタテーブル べクタ用途 ( コール命令 ) 548 ベクタテーブルのアドレス 上位 下位 CALLV #7 0xFFCE 0xFFCF CALLV #6 0xFFCC 0xFFCD CALLV #5 0xFFCA 0xFFCB CALLV #4 0xFFC8 0xFFC9 CALLV #3 0xFFC6 0xFFC7 CALLV #2 0xFFC4 0xFFC5 CALLV #1 0xFFC2 0xFFC3 CALLV #0 0xFFC0 0xFFC1 FUJITSU SEMICONDUCTOR LIMITED MN702-00010-2v0-J 付録 付録 A 命令概要 MB95850K/860K/870K シリーズ A.3 ビット操作命令 (SETB, CLRB) 周辺機能のレジスタには , ビット操作命令に対して , 通常の読出し動作と異なる動作 をするビットがあります。 ■ リードモディファイライト動作 ビット操作命令では , レジスタまたは RAM の指定ビットのみを "1" に設定 (SETB) し たり ,"0" にクリア (CLRB) したりできます。しかし , CPU は 8 ビット単位でデータを 取り扱うため , 実際の動作としては , 8 ビットのデータを読み出し , 指定されたビット を変更し , 元のアドレスに書き戻す , という一連の動作 ( リードモディファイライト動 作 ) を行います。 付表 A.3-1 にビット操作命令時のバス動作を示します。 付表 A.3-1 ビット操作命令時のバス動作 CODE MNEMONIC ~ サイクル アドレスバス データバス RD WR RMW A0 ~ A7 CLRB dir:b 4 A8 ~ AF SETB dir:b 1 2 3 4 N+2 dir アドレス dir アドレス N+3 次の命令 データ データ 次の次の命令 1 1 0 1 0 0 1 0 1 1 0 0 ■ ビット操作命令実行時の読出し先 一部の I/O ポートや割込み要求フラグビットでは , 通常読出しによる読出し先と , リー ドモディファイライト時の読出し先が異なります。 ● I/O ポート ( ビット操作時 ) I/O ポートの中には , 通常読出し時は I/O 端子の値が読み出され , ビット操作時はポー トデータレジスタの値が読み出されるものがあります。これは , 端子の入出力方向や端 子の状態にかかわらず , ポートデータレジスタの , ほかのビットの不用意な変化を防止 するためです。 ● 割込み要求フラグビット ( ビット操作時 ) 割込み要求フラグビットは,通常読出し時は割込み要求の確認用フラグビットとして機 能しますが , ビット操作時は常に "1" が読み出されます。これは , ほかのビットをビッ ト操作したときに , 割込み要求フラグビットへの "0" の書込みによって , フラグが不用 意にクリアされるのを防止するためです。 MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 549 付録 付録 A 命令概要 A.4 MB95850K/860K/870K シリーズ F2MC-8FX 命令一覧表 付表 A.4-1 ~付表 A.4-4 に , F2MC-8FX で使用している命令の一覧を示します。 ■ 転送系命令 付表 A.4-1 転送系の命令一覧 (1 / 2) № MNEMONIC ~ # 2 (dir) ← (A) 2 ( (IX) + off) ← (A) 3 (ext) ← (A) - - - - - - - 45 - - - - - - - 46 - - - - - - - 61 1 ( (EP) ) ← (A) 1 (Ri) ← (A) - - - - - - - 47 - - - - - - - 48 ~ 4F 2 (A) ← d8 2 (A) ← (dir) 2 (A) ← ( (IX) + off) 04 3 (A) ← (ext) 1 (A) ← ( (A) ) AL - - + + - - AL - - + + - - AL - - + + - - AL - - + + - - AL - - + + - - 1 (A) ← ( (EP) ) 1 (A) ← (Ri) AL - - + + - - AL - - + + - - 1 MOV dir, A 3 2 MOV 3 3 MOV @IX + off, A ext, A 4 MOV @EP, A 2 5 MOV Ri, A 2 4 動 作 TL TH AH N Z V C OPCODE 6 MOV A, #d8 2 7 MOV A, dir 3 8 MOV 3 9 MOV A, @IX + off A, ext 10 MOV A, @A 2 11 MOV A, @EP 2 12 MOV A, Ri 2 13 MOV dir, #d8 4 - - - - - - - 14 MOV 4 - - - - - - - 86 15 MOV @IX + off, #d8 @EP, #d8 3 (dir) ← d8 3 ( (IX) + off) ← d8 08 ~ 0F 85 3 2 ( (EP) ) ← d8 - - - - - - - 87 16 MOV Ri, #d8 3 2 (Ri) ← d8 2 (dir) ← (AH) , (dir + 1) ← (AL) 2 ( (IX) + off) ← (AH) , ( (IX) + off + 1) ← (AL) - - - - - - - - - - - - - - 88 ~ 8F D5 - - - - - - - D6 4 17 MOVW dir, A 4 18 MOVW @IX + off, A 19 MOVW ext, A 4 20 MOVW @EP, A 3 5 21 MOVW EP, A 1 22 MOVW A, #d16 3 23 MOVW A, dir 4 24 MOVW A, @IX + off 25 MOVW A, ext 4 26 MOVW A, @A 3 27 MOVW A, @EP 3 5 28 MOVW A, EP 1 29 MOVW EP, #d16 3 30 MOVW IX, A 1 31 MOVW A, IX 1 32 MOVW SP, A 1 33 MOVW A, SP 1 34 MOV @A, T 2 35 MOVW @A, T 3 36 MOVW IX, #d16 3 37 MOVW A, PS 1 38 MOVW PS, A 1 06 60 92 07 3 (ext) ← (AH) , (ext + 1) ← (AL) 1 ( (EP) ) ← (AH) , ( (EP) + 1) ← (AL) - - - - - - - D4 - - - - - - - D7 1 (EP) ← (A) 3 (A) ← d16 2 (AH) ← (dir) , (AL) ← (dir + 1) - - - - - - - AL AH dH + + - - AL AH dH + + - - AL AH dH + + - - AL AH dH + + - - 2 (AH) ← ( (IX) + off) , (AL) ← ( (IX) + off + 1) 3 (AH) ← (ext) , (AL) ← (ext + 1) 1 (AH) ← ( (A) ) , (AL) ← ( (A) + 1) 1 (AH) ← ( (EP) ) , (AL) ← ( (EP) + 1) 1 (A) ← (EP) 3 (EP) ← d16 1 (IX) ← (A) 1 (A) ← (IX) 1 (SP) ← (A) 1 (A) ← (SP) E3 E4 C5 C6 C4 AL AH dH + + - - AL AH dH + + - - - - dH - - - - C7 - - - - - - - E7 - - - - - - - E2 93 F3 - - dH - - - - F2 - - - - - - - - - dH - - - - E1 1 ( (A) ) ← (T) 1 ( (A) ) ← (TH) , ( (A) + 1) ← (TL) - - - - - - - 82 - - - - - - - 83 3 (IX) ← d16 1 (A) ← (PS) - - - - - - - - - dH - - - - - - - + + + + E6 - - - - - - - - - AL - - - - E5 39 MOVW SP, #d16 3 1 (PS) ← (A) 3 (SP) ← d16 40 SWAP 1 1 (AH) ←→ (AL) 550 05 FUJITSU SEMICONDUCTOR LIMITED F1 70 71 10 MN702-00010-2v0-J 付録 付録 A 命令概要 MB95850K/860K/870K シリーズ 付表 A.4-1 転送系の命令一覧 (2 / 2) № MNEMONIC ~ # 41 SETB dir:b 4 42 CLRB dir:b A, T 4 2 (dir) :b ← 1 2 (dir) :b ← 0 動 作 TL TH AH N Z V - - - - - - - A8 ~ AF A0 ~ A7 42 44 XCHW A, T 1 1 (AL) ←→ (TL) 1 (A) ←→ (T) 45 XCHW A, EP 1 1 (A) ←→ (EP) - - - - - - AL - - - - - AL AH dH - - - - - dH - - - 46 XCHW A, IX 1 47 XCHW A, SP 1 48 MOVW A, PC 2 1 (A) ←→ (IX) 1 (A) ←→ (SP) 1 (A) ← (PC) 43 XCH 1 C OPCODE - - - 43 - F7 - - dH - - - - - - dH - - - - - - dH - - - - F6 F5 F0 <注意事項> A へのバイト転送動作時の T への自動転送は , TL ← AL となります。 複数オペランド命令にあるオペランドは , MNEMONIC で表示された順に格納されるもの とします。 ■ 演算系命令 付表 A.4-2 演算系の命令一覧 (1 / 2) № ~ # 1 ADDC A, Ri 2 - - - + + + + 2 ADDC A, #d8 2 1 (A) ← (A) + (Ri) + C 2 (A) ← (A) + d8 + C - - - + + + + 28 ~ 2F 24 3 ADDC A, dir 3 25 A, @IX + off A, @EP 3 2 (A) ← (A) + (dir) + C 2 (A) ← (A) + ( (IX) + off) + C - - - + + + + 4 ADDC - - - + + + + 26 2 1 (A) ← (A) + ( (EP) ) + C - - - + + + + 27 6 ADDCW A 1 23 1 1 (A) ← (A) + (T) + C 1 (AL) ← (AL) + (TL) + C - - dH + + + + 7 ADDC - - - + + + + 22 - - - + + + + - - - + + + + 38 ~ 3F 34 - - - + + + + 35 - - - + + + + 36 - - - + + + + - - dH + + + + 37 MNEMONIC 5 ADDC A 8 SUBC A, Ri 2 9 SUBC A, #d8 2 10 SUBC A, dir 3 11 SUBC A, @IX + off A, @EP 3 12 SUBC 2 動 作 1 (A) ← (A) - (Ri) - C 2 (A) ← (A) - d8 - C 2 (A) ← (A) - (dir) - C 2 (A) ← (A) - ( (IX) + off) - C 1 (A) ← (A) - ( (EP) ) - C 13 SUBCW A 1 14 SUBC A 1 1 (A) ← (T) - (A) - C 1 (AL) ← (TL) - (AL) - C 15 INC Ri 3 16 INCW EP 1 17 INCW IX 1 18 INCW A 1 19 DEC Ri 3 20 DECW EP 1 21 DECW IX 1 22 DECW A 1 23 MULU A 8 24 DIVU A 17 25 ANDW A 1 26 ORW A 1 27 XORW A 1 28 CMP A 1 29 CMPW A 1 MN702-00010-2v0-J TL TH AH N Z V C OPCODE 33 - - - + + + + 32 1 (Ri) ← (Ri) + 1 - - - + + + - C8 ~ CF 1 (EP) ← (EP) + 1 1 (IX) ← (IX) + 1 1 (A) ← (A) + 1 - - - - - - - C3 - - - - - - - - - dH + + - - C2 1 (Ri) ← (Ri) - 1 1 (EP) ← (EP) - 1 - - - + + + - D8 ~ DF D3 1 (IX) ← (IX) - 1 1 (A) ← (A) - 1 1 (A) ← (AL) × (TL) 1 (A) ← (T) / (A) , MOD → (T) 1 (A) ← (A) ∧ (T) - - - - - - - - - - - - - - - dH + + - - - dH - - - dL dH dH - + - C0 - D2 - D0 - 01 - 11 - - dH + + R - 63 1 (A) ← (A) ∨ (T) 1 (A) ← (A) ∀ (T) - - dH + + - - dH + + R - 73 R - 53 1 (TL) - (AL) 1 (T) - (A) - - - + + + + 12 - - - + + + + 13 FUJITSU SEMICONDUCTOR LIMITED 551 付録 付録 A 命令概要 MB95850K/860K/870K シリーズ 付表 A.4-2 演算系の命令一覧 (2 / 2) № ~ # 30 RORC A 1 1 31 ROLC A 1 1 32 CMP A, #d8 2 33 CMP A, dir 3 34 CMP A, @EP 2 35 CMP A, @IX + off 3 36 CMP A, Ri MNEMONIC 37 DAA 動 作 TL TH AH N Z V C OPCODE C→A - - - + + - + 03 C←A 2 (A) - d8 2 (A) - (dir) - - - + + - + 02 - - - + + + + 14 - - - + + + + 15 1 (A) - ( (EP) ) 2 (A) - ( (IX) + off) - - - + + + + 17 - - - + + + + 16 1 (A) - (Ri) 1 decimal adjust for addition - - - + + + + 1 18 ~ 1F 84 2 - - - + + + + 1 1 decimal adjust for subtraction 39 XOR A 1 40 XOR A, #d8 2 1 (A) ← (AL) ∀ (TL) 2 (A) ← (AL) ∀ d8 - - - + + + + - - - + + R - - - - + + R - 41 XOR A, dir 3 R - 55 A, @EP 2 2 (A) ← (AL) ∀ (dir) 1 (A) ← (AL) ∀ ( (EP) ) - - - + + 42 XOR - - - + + R - 57 43 XOR A, @IX + off A, Ri 3 R - 56 2 2 (A) ← (AL) ∀ ( (IX) + off) 1 (A) ← (AL) ∀ (Ri) - - - + + 44 XOR - - - + + R - 45 AND A 1 1 (A) ← (AL) ∧ (TL) - - - + + R - 58 ~ 5F 62 46 AND A, #d8 2 R - 64 A, dir 3 2 (A) ← (AL) ∧ d8 2 (A) ← (AL) ∧ (dir) - - - + + 47 AND - - - + + R - 65 48 AND A, @EP 2 - - - + + R - 67 49 AND 3 - - - + + R - 66 50 AND A, @IX + off A, Ri 1 (A) ← (AL) ∧ ( (EP) ) 2 (A) ← (AL) ∧ ( (IX) + off) 2 1 (A) ← (AL) ∧ (Ri) - - - + + R - 68 ~ 6F 51 OR A 1 R - 72 A, #d8 2 1 (A) ← (AL) ∨ (TL) 2 (A) ← (AL) ∨ d8 - - - + + 52 OR - - - + + R - 74 53 OR A, dir 3 - - - + + R - 75 54 OR A, @EP 2 2 (A) ← (AL) ∨ (dir) 1 (A) ← (AL) ∨ ( (EP) ) - - - + + R - 77 55 OR A, @IX + off 3 2 (A) ← (AL) ∨ ( (IX) + off) - - - + + R - 76 56 OR A, Ri 2 R - dir, #d8 4 - - - + + + + 78 ~ 7F 95 58 CMP @EP, #d8 3 1 (A) ← (AL) ∨ (Ri) 3 (dir) - d8 2 ( (EP) ) - d8 - - - + + 57 CMP - - - + + + + 97 59 CMP 60 CMP @IX + off, #d8 Ri, #d8 4 3 61 INCW SP 1 62 DECW SP 1 38 DAS 552 3 ( (IX) + off) - d8 2 (Ri) - d8 1 (SP) ← (SP) + 1 1 (SP) ← (SP) - 1 FUJITSU SEMICONDUCTOR LIMITED 94 52 54 - - - + + + + 96 - - - + + + + 98 ~ 9F - - - - - - - C1 - - - - - - - D1 MN702-00010-2v0-J 付録 付録 A 命令概要 MB95850K/860K/870K シリーズ ■ 分岐系命令 付表 A.4-3 分岐系の命令一覧 № ~ # TL TH AH N Z V C rel( 分岐時 ) 4 2 if Z = 1 then PC ← PC + rel - - - - - - - FD rel( 非分岐時 ) 2 2 BNZ/BNE rel( 分岐時 ) BNZ/BNE rel( 非分岐時 ) 4 2 if Z = 0 then PC ← PC + rel - - - - - - - FC 2 if C = 1 then PC ← PC + rel - - - - - - - F9 2 if C = 0 then PC ← PC + rel - - - - - - - F8 2 if N = 1 then PC ← PC + rel - - - - - - - FB 2 if N = 0 then PC ← PC + rel - - - - - - - FA 2 if V ∀ N = 1 then PC ← PC + rel - - - - - - - FF 2 if V ∀ N = 0 then PC ← PC + rel - - - - - - - FE 3 if (dir:b) = 0 then PC ← PC + rel 3 if (dir:b) = 1 then PC ← PC + rel - - - - + - - B0 ~ B7 - - - - + - - B8 ~ BF MNEMONIC 1 BZ/BEQ BZ/BEQ 4 rel( 非分岐時 ) 2 4 BNC/BHS rel( 分岐時 ) BNC/BHS rel( 非分岐時 ) 4 BC/BLO 5 BN BN 6 BP BP 7 BLT BLT 8 BGE OPCODE 2 rel( 分岐時 ) 3 BC/BLO 動 作 2 rel( 分岐時 ) 4 rel( 非分岐時 ) 2 rel( 分岐時 ) 4 rel( 非分岐時 ) 2 rel( 分岐時 ) 4 rel( 非分岐時 ) 2 rel( 分岐時 ) 4 rel( 非分岐時 ) 2 9 BBC dir:b, rel 5 10 BBS dir:b, rel 5 11 JMP @A 3 - - - - - - E0 ext 4 1 (PC) ← (A) 3 (PC) ← ext - 12 JMP - - - - - - - 21 13 CALLV #vct 7 1 vector call - - - - - - - 14 CALL 15 XCHW ext A, PC 6 3 3 subroutine call 1 (PC) ← (A) , (A) ← (PC) + 1 - - - - - dH - - - - - - - - E8 ~ EF 31 F4 6 8 1 return from subroutine 1 return from interrupt - - - - - - - - - restore - 20 30 BGE 16 RET 17 RETI ■ そのほかの命令 付表 A.4-4 そのほかの命令一覧 № ~ # 1 PUSHW A 4 2 POPW 3 1 ((SP)) ← (A), (SP) ← (SP) - 2 1 (A) ← ((SP)), (SP) ← (SP) + 2 MNEMONIC A 動 作 TL TH AH N Z V C OPCODE - - - - dH - - - - 40 - - - - 50 - - - - - - - 41 - - - - - - - 51 - 3 PUSHW IX 4 4 POPW 3 1 ((SP)) ← (IX), (SP) ← (SP) - 2 1 (IX) ← ((SP)), (SP) ← (SP) + 2 1 1 No operation - - - - - - - 00 6 CLRC 1 - - - - - R 81 1 - - - - - - S 91 8 CLRI 1 1 (C) ← 0 1 (C) ← 1 1 (I) ← 0 - 7 SETC - - - - - - - 80 9 SETI 1 1 (I) ← 1 - - - - - - - 90 IX 5 NOP MN702-00010-2v0-J FUJITSU SEMICONDUCTOR LIMITED 553 L 554 FUJITSU SEMICONDUCTOR LIMITED F E D C B A 9 8 7 6 5 4 3 2 A A A A A, dir A A CMP CMP A, dir A, #d8 CMP CMPW A ADDC A, dir ADDC A, #d8 ADDC ADDCW A addr16 ADDC A SUBC A, dir SUBC A, #d8 SUBC SUBCW A addr16 SUBC MOV MOV IX A A, T dir, A A, T XCHW XCH PUSHW PUSHW 4 A A IX XOR XOR A, dir A, #d8 XOR XORW XOR POPW A AND AND A, dir A, #d8 AND A ext, A ANDW AND MOV OR OR OR A, dir A, #d8 A A PS, A ORW OR MOVW A, PS MOVW A, ext MOV POPW A 7 6 5 MOV dir, #d8 MOV DAA @A, T MOVW @A, T MOV CLRC CLRI 8 CMP dir, #d8 CMP DAS A, @A MOVW A, @A MOV SETC SETI 9 CLRB dir : 5 CLRB dir : 4 CLRB dir : 3 CLRB dir : 2 CLRB dir : 1 CLRB dir : 0 CLRB A BBC dir : 5, rel BBC dir : 4, rel BBC dir : 3, rel BBC dir : 2, rel BBC dir : 1, rel BBC dir : 0, rel BBC B EP IX SP MOVW A, dir MOVW A, ext MOVW INCW INCW INCW EP IX SP A MOVW dir, A MOVW ext, A MOVW DECW DECW DECW DECW INCW A D C @A MOVW SP, #d16 MOVW A, #d16 MOVW EP, A MOVW IX, A MOVW SP, A MOVW JMP E XCHW A, SP XCHW A, PC XCHW A, EP MOVW A, IX MOVW A, SP MOVW A, PC MOVW F MOV MOV MOV MOV A, R7 A, R6 A, R5 A, R4 CMP CMP CMP CMP A, R7 A, R6 A, R5 A, R4 A, R7 ADDC A, R6 ADDC A, R5 ADDC A, R4 ADDC A, R7 SUBC A, R6 SUBC A, R5 SUBC A, R4 SUBC A, @IX+d SUBC A, @IX+d ADDC A, @IX+d CMP A, @IX+d MOV MOV MOV MOV MOV MOV R7, A R6, A R5, A R4, A @IX+d, A XOR XOR XOR XOR A, R7 A, R6 A, R5 A, R4 AND AND AND AND A, R7 A, R6 A, R5 A, R4 A, @IX+d AND A, @IX+d XOR OR OR OR OR OR A, R7 A, R6 A, R5 A, R4 R7, #d8 MOV R6, #d8 MOV R5, #d8 MOV R4, #d8 MOV R7, #d8 CMP R6, #d8 CMP R5, #d8 CMP R4, #d8 CMP SETB SETB SETB SETB dir : 7 dir : 6 dir : 5 dir : 4 dir : 7, rel BBS dir : 6, rel BBS dir : 5, rel BBS dir : 4, rel BBS INC INC INC INC R7 R6 R5 R4 DEC DEC DEC DEC R7 R6 R5 R4 CALLV CALLV CALLV CALLV #7 #6 #5 #4 BLT BGE BZ BNZ rel rel rel rel dir : 6 dir : 6, rel A, @IX+d @IX+d, A IX, #d16 A, IX A, @IX+d @IX+d,#d8 @IX+d,#d8 BBC CLRB MOVW CMP MOVW MOV XCHW MOVW dir : 7 dir : 7, rel A, @EP EP, #d16 A, @EP @EP, A A, @EP A, EP @EP, A A, @EP @EP, #d8 @EP, #d8 A, @EP A, @EP A, @EP A, @EP BBS SETB AND CALLV CMP XOR DEC ADDC MOV BNC MOV OR CMP INC SUBC MOV dir : 0 dir : 0, rel A, R0 #0 R0, #d8 A, R0 R0 A, R0 R0, #d8 rel R0, A A, R0 A, R0 R0 A, R0 A, R0 BBS SETB AND CALLV CMP XOR DEC ADDC MOV BC MOV OR CMP INC SUBC MOV dir : 1 dir : 1, rel A, R1 #1 R1, #d8 A, R1 R1 A, R1 R1, #d8 rel R1, A A, R1 A, R1 R1 A, R1 A, R1 BBS AND SETB CALLV CMP XOR DEC ADDC MOV BP MOV OR CMP INC SUBC MOV A, R2 dir : 2 dir : 2, rel #2 R2, #d8 A, R2 R2 A, R2 R2, #d8 rel R2, A A, R2 A, R2 R2 A, R2 A, R2 BBS AND SETB CALLV CMP XOR DEC ADDC MOV BN MOV OR CMP INC SUBC MOV A, R3 dir : 3 dir : 3, rel #3 R3, #d8 A, R3 R3 A, R3 R3, #d8 rel R3, A A, R3 A, R3 R3 A, R3 A, R3 MOV MOV A, #d8 MOV RORC CMP CALL JMP DIVU MULU ROLC RETI 3 RET 2 SWAP 1 NOP 0 A.5 1 0 H 付録 付録 A 命令概要 MB95850K/860K/870K シリーズ 命令マップ 付表 A.5-1 に , F2MC-8FX の命令マップを示します。 ■ 命令マップ 付表 A.5-1 F2MC-8FX の命令マップ MN702-00010-2v0-J MN702-00010-2v0-J FUJITSU SEMICONDUCTOR • CONTROLLER MANUAL 8 ビット・マイクロコントローラ New 8FX MB95850K/860K/870K シリーズ ハードウェアマニュアル 2013 年 2 月 第 2 版発行 発行 富士通セミコンダクター株式会社 編集 企画部 プロモーション推進部