8.1MB

本ドキュメントは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 版発行
発行
富士通セミコンダクター株式会社
編集
企画部 プロモーション推進部