8.9MB

本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。
FUJITSU SEMICONDUCTOR
CONTROLLER MANUAL
MN702-00012-2v0-J
8 ビット・マイクロコントローラ
New 8FX
MB95810K シリーズ
ハードウェアマニュアル
8 ビット・マイクロコントローラ
New 8FX
MB95810K シリーズ
ハードウェアマニュアル
富士通セミコンダクターのマイコンを効率的に開発するための情報を下記 URL にてご紹介いたします。
ご採用を検討中 , またはご採用いただいたお客様に有益な情報を公開しています。
http://edevice.fujitsu.com/micom/jp-support/
富士通セミコンダクター株式会社
はじめに
■ 本書の目的と対象読者
富士通セミコンダクター製品につきまして , 平素より格別のご愛読を賜り厚くお礼申
し上げます。
MB95810K シリーズは , ASIC (Application Specific IC) 対応が可能なオリジナル 8 ビッ
ト・ワンチップ・マイクロコントローラである New 8FX ファミリの汎用品の 1 つとし
て開発された製品です。MB95810K シリーズは , 携帯機器をはじめ民生機器から産業機
器まで , 幅広い用途でご利用いただけます。
本書は , 実際に MB95810K シリーズマイクロコントローラを使って製品を設計する技
術者を対象に , その機能や動作について記載していますので , ぜひご一読ください。
なお , 各種命令の詳細については ,「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 端子 .................................................................................................................................... 214
14.4 動作 .................................................................................................................................... 215
14.5 レジスタ ............................................................................................................................. 216
14.5.1 割込み端子選択回路制御レジスタ (WICR).................................................................. 217
14.6 使用上の注意 ...................................................................................................................... 220
vii
第 15 章
LIN-UART .............................................................................................. 221
15.1 概要 .................................................................................................................................... 222
15.2 構成 .................................................................................................................................... 224
15.3 端子 .................................................................................................................................... 229
15.4 割込み ................................................................................................................................. 230
15.4.1 受信割込み発生とフラグ設定のタイミング ................................................................ 233
15.4.2 送信割込み発生とフラグ設定のタイミング ................................................................ 235
15.5 LIN-UART ボーレート ........................................................................................................ 237
15.5.1 ボーレート設定 ........................................................................................................... 239
15.5.2 リロードカウンタ........................................................................................................ 243
15.6 動作説明と設定手順例........................................................................................................ 245
15.6.1 非同期モード ( 動作モード 0, 1) の動作 ...................................................................... 247
15.6.2 同期モード ( 動作モード 2) の動作.............................................................................. 251
15.6.3 LIN 機能 ( 動作モード 3) の動作 .................................................................................. 255
15.6.4 シリアル端子直接アクセス ......................................................................................... 258
15.6.5 双方向通信機能 ( ノーマルモード ) ............................................................................. 259
15.6.6 マスタ / スレーブ型通信機能 ( マルチプロセッサモード ) .......................................... 261
15.6.7 LIN 通信機能................................................................................................................ 264
15.6.8 LIN-UART の LIN 通信フローチャートの例 ( 動作モード 3) ....................................... 265
15.7 レジスタ ............................................................................................................................. 267
15.7.1 LIN-UART シリアル制御レジスタ (SCR) .................................................................... 268
15.7.2 LIN-UART シリアルモードレジスタ (SMR) ................................................................ 270
15.7.3 LIN-UART シリアルステータスレジスタ (SSR).......................................................... 273
15.7.4 LIN-UART 受信データレジスタ /LIN-UART 送信データレジスタ (RDR/TDR) ........... 276
15.7.5 LIN-UART 拡張ステータス制御レジスタ (ESCR) ....................................................... 278
15.7.6 LIN-UART 拡張通信制御レジスタ (ECCR).................................................................. 281
15.7.7 LIN-UART ボーレートジェネレータレジスタ 1, 0 (BGR1, BGR0) ............................. 283
15.8 使用上の注意 ...................................................................................................................... 284
第 16 章
8/10 ビット A/D コンバータ .................................................................. 289
16.1 概要 .................................................................................................................................... 290
16.2 構成 .................................................................................................................................... 291
16.3 端子 .................................................................................................................................... 293
16.4 割込み ................................................................................................................................. 294
16.5 動作説明と設定手順例........................................................................................................ 295
16.6 レジスタ ............................................................................................................................. 298
16.6.1 8/10 ビット A/D コンバータ制御レジスタ 1 (ADC1) .................................................. 299
16.6.2 8/10 ビット A/D コンバータ制御レジスタ 2 (ADC2) .................................................. 301
16.6.3 8/10 ビット A/D コンバータデータレジスタ ( 上位 / 下位 ) (ADDH/ADDL) ................ 303
16.7 使用上の注意 ...................................................................................................................... 304
第 17 章
低電圧検出リセット回路........................................................................ 307
17.1 概要 .................................................................................................................................... 308
17.2 構成 .................................................................................................................................... 309
17.3 端子 .................................................................................................................................... 310
17.4 動作説明 ............................................................................................................................. 311
17.5 レジスタ ............................................................................................................................. 312
17.5.1 LVD リセット電圧選択 ID レジスタ (LVDR) ............................................................... 313
17.5.2 LVD リセット回路パスワードレジスタ (LVDPW)....................................................... 314
viii
17.5.3
第 18 章
LVD リセット回路制御レジスタ (LVDCC) .................................................................. 315
クロックスーパバイザカウンタ ............................................................. 317
18.1 概要 .................................................................................................................................... 318
18.2 構成 .................................................................................................................................... 319
18.3 動作説明 ............................................................................................................................. 321
18.4 レジスタ ............................................................................................................................. 326
18.4.1 クロック監視データレジスタ (CMDR)........................................................................ 327
18.4.2 クロック監視制御レジスタ (CMCR) ........................................................................... 328
18.5 使用上の注意 ...................................................................................................................... 330
第 19 章
8/16 ビット PPG .................................................................................... 333
19.1 概要 .................................................................................................................................... 334
19.2 構成 .................................................................................................................................... 335
19.3 チャネル ............................................................................................................................. 337
19.4 端子 .................................................................................................................................... 338
19.5 割込み ................................................................................................................................. 339
19.6 動作説明と設定手順例........................................................................................................ 340
19.6.1 8 ビット PPG 独立モード ........................................................................................... 341
19.6.2 8 ビットプリスケーラ + 8 ビット PPG モード ........................................................... 343
19.6.3 16 ビット PPG モード ................................................................................................ 346
19.7 レジスタ ............................................................................................................................. 349
19.7.1 8/16 ビット PPG タイマ n1 制御レジスタ (PCn1) ...................................................... 350
19.7.2 8/16 ビット PPG タイマ n0 制御レジスタ (PCn0) ...................................................... 352
19.7.3 8/16 ビット PPG タイマ n1/n0 周期設定バッファレジスタ (PPSn1/PPSn0) ............. 354
19.7.4 8/16 ビット PPG タイマ n1/n0 デューティ設定バッファレジスタ
(PDSn1/PDSn0) .......................................................................................................... 355
19.7.5 8/16 ビット PPG 起動レジスタ (PPGS)...................................................................... 356
19.7.6 8/16 ビット PPG 出力反転レジスタ (REVC) .............................................................. 358
19.8 使用上の注意 ...................................................................................................................... 360
第 20 章
16 ビット PPG タイマ ........................................................................... 361
20.1 概要 .................................................................................................................................... 362
20.2 構成 .................................................................................................................................... 363
20.3 チャネル ............................................................................................................................. 365
20.4 端子 .................................................................................................................................... 366
20.5 割込み ................................................................................................................................. 367
20.6 動作説明と設定手順例........................................................................................................ 368
20.7 レジスタ ............................................................................................................................. 373
20.7.1 16 ビット PPG ダウンカウンタレジスタ ( 上位 / 下位 ) ch. n (PDCRHn/PDCRLn) ... 374
20.7.2 16 ビット PPG 周期設定バッファレジスタ ( 上位 / 下位 ) ch. n
(PCSRHn/PCSRLn)..................................................................................................... 375
20.7.3
16 ビット PPG デューティ設定バッファレジスタ ( 上位 / 下位 ) ch. n
(PDUTHn/PDUTLn) ..................................................................................................... 376
20.7.4 16 ビット PPG ステータス制御レジスタ ( 上位 ) ch. n (PCNTHn) ............................. 377
20.7.5 16 ビット PPG ステータス制御レジスタ ( 下位 ) ch. n (PCNTLn).............................. 379
20.8 使用上の注意 ...................................................................................................................... 381
ix
第 21 章
16 ビットリロードタイマ ...................................................................... 383
21.1 概要 .................................................................................................................................... 384
21.2 構成 .................................................................................................................................... 386
21.3 チャネル ............................................................................................................................. 388
21.4 端子 .................................................................................................................................... 389
21.5 割込み ................................................................................................................................. 390
21.6 動作説明と設定手順例........................................................................................................ 391
21.6.1 内部クロックモード .................................................................................................... 393
21.6.2 イベントカウントモード ............................................................................................. 397
21.7 レジスタ ............................................................................................................................. 399
21.7.1 16 ビットリロードタイマ制御ステータスレジスタ ( 上位 ) ch. n (TMCSRHn) .......... 400
21.7.2 16 ビットリロードタイマ制御ステータスレジスタ ( 下位 ) ch. n (TMCSRLn)........... 402
21.7.3 16 ビットリロードタイマタイマレジスタ ( 上位 / 下位 ) ch. n (TMRHn/TMRLn)....... 405
21.7.4 16 ビットリロードタイマリロードレジスタ ( 上位 / 下位 ) ch. n
(TMRLRHn/TMRLRLn)................................................................................................ 406
21.8 使用上の注意 ...................................................................................................................... 407
第 22 章
UART/SIO .............................................................................................. 409
22.1 概要 .................................................................................................................................... 410
22.2 構成 .................................................................................................................................... 411
22.3 チャネル ............................................................................................................................. 413
22.4 端子 .................................................................................................................................... 414
22.5 割込み ................................................................................................................................. 415
22.6 動作説明と設定手順例........................................................................................................ 416
22.6.1 動作モード 0 の動作説明............................................................................................. 417
22.6.2 動作モード 1 の動作説明............................................................................................. 424
22.7 レジスタ ............................................................................................................................. 430
22.7.1 UART/SIO シリアルモード制御レジスタ 1 ch. n (SMC1n)......................................... 431
22.7.2 UART/SIO シリアルモード制御レジスタ 2 ch. n (SMC2n)......................................... 433
22.7.3 UART/SIO シリアルステータスアンドデータレジスタ ch. n (SSRn)......................... 435
22.7.4 UART/SIO シリアル入力データレジスタ ch. n (RDRn) .............................................. 437
22.7.5 UART/SIO シリアル出力データレジスタ ch. n (TDRn) .............................................. 438
第 23 章
UART/SIO 専用 ボーレートジェネレータ ............................................. 439
23.1 概要 .................................................................................................................................... 440
23.2 チャネル ............................................................................................................................. 441
23.3 動作説明 ............................................................................................................................. 442
23.4 レジスタ ............................................................................................................................. 443
23.4.1 UART/SIO 専用ボーレートジェネレータプリスケーラ選択レジスタ ch. n
(PSSRn) ...................................................................................................................... 444
23.4.2
第 24 章
24.1
24.2
24.3
24.4
24.5
24.6
UART/SIO 専用ボーレートジェネレータボーレート設定レジスタ ch. n (BRSRn) .... 445
I2C バスインタフェース......................................................................... 447
概要 .................................................................................................................................... 448
構成 .................................................................................................................................... 449
チャネル ............................................................................................................................. 452
端子 .................................................................................................................................... 453
割込み ................................................................................................................................. 454
動作説明と設定手順例........................................................................................................ 456
x
24.6.1 l2C バスインタフェース .............................................................................................. 457
24.6.2 MCU スタンバイモードに対するウェイクアップ機能................................................ 465
24.7 レジスタ ............................................................................................................................. 467
24.7.1 I2C バス制御レジスタ 0 ch. n (IBCR0n) ...................................................................... 468
24.7.2 I2C バス制御レジスタ 1 ch. n (IBCR1n) ...................................................................... 472
24.7.3 I2C バスステータスレジスタ ch. n (IBSRn) ................................................................ 476
24.7.4 I2C データレジスタ ch. n (IDDRn) .............................................................................. 479
24.7.5 I2C アドレスレジスタ ch. n (IAARn) ........................................................................... 480
24.7.6 I2C クロック制御レジスタ ch. n (ICCRn) ................................................................... 481
24.8 使用上の注意 ...................................................................................................................... 483
第 25 章
シリアル書込み接続例 ........................................................................... 485
25.1 シリアル書込み接続の基本構成 ......................................................................................... 486
25.2 シリアル書込み接続例........................................................................................................ 487
第 26 章
デュアルオペレーションフラッシュメモリ ........................................... 489
26.1 概要 .................................................................................................................................... 490
26.2 セクタ / バンク構成 ............................................................................................................ 492
26.3 フラッシュメモリ自動アルゴリズムの起動方法 ................................................................ 493
26.4 自動アルゴリズム実行状態の確認...................................................................................... 495
26.4.1 データポーリングフラグ (DQ7) .................................................................................. 497
26.4.2 トグルビットフラグ (DQ6) ......................................................................................... 499
26.4.3 タイミングリミット超過フラグ (DQ5) ....................................................................... 501
26.4.4 セクタ消去タイマフラグ (DQ3) .................................................................................. 502
26.4.5 トグルビット 2 フラグ (DQ2)...................................................................................... 503
26.5 フラッシュメモリの書込み / 消去....................................................................................... 504
26.5.1 フラッシュメモリの読出し / リセット状態への遷移................................................... 505
26.5.2 フラッシュメモリへのデータ書込み ........................................................................... 506
26.5.3 フラッシュメモリの全データ消去 ( チップ消去 ) ....................................................... 508
26.5.4 フラッシュメモリの特定データ消去 ( セクタ消去 ) .................................................... 509
26.5.5 フラッシュメモリセクタ消去の一時停止.................................................................... 511
26.5.6 フラッシュメモリセクタ消去の再開 ........................................................................... 512
26.5.7 アンロックバイパス書込み ......................................................................................... 513
26.6 動作説明 ............................................................................................................................. 514
26.7 フラッシュセキュリティ .................................................................................................... 516
26.8 レジスタ ............................................................................................................................. 517
26.8.1 フラッシュメモリステータスレジスタ 2 (FSR2) ........................................................ 518
26.8.2 フラッシュメモリステータスレジスタ (FSR) ............................................................. 521
26.8.3 フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) ......................................... 524
26.8.4 フラッシュメモリステータスレジスタ 3 (FSR3) ........................................................ 526
26.8.5 フラッシュメモリステータスレジスタ 4 (FSR4) ........................................................ 528
26.9 使用上の注意 ...................................................................................................................... 536
第 27 章
不揮発性レジスタ (NVR) インタフェース ............................................. 537
27.1 概要 .................................................................................................................................... 538
27.2 構成 .................................................................................................................................... 539
27.3 レジスタ ............................................................................................................................. 540
27.3.1 メイン CR クロックトリミングレジスタ ( 上位 ) (CRTH) .......................................... 541
27.3.2 メイン CR クロックトリミングレジスタ ( 下位 ) (CRTL) ........................................... 542
xi
27.3.3 メイン CR クロック温度依存調節レジスタ (CRTDA)................................................. 543
27.3.4 ウォッチドッグタイマ選択 ID レジスタ ( 上位 / 下位 ) (WDTH/WDTL)...................... 544
27.4 メイン CR クロックトリミング使用上の注意 .................................................................... 545
27.5 使用上の注意 ...................................................................................................................... 547
第 28 章
コンパレータ.......................................................................................... 549
28.1 概要 .................................................................................................................................... 550
28.2 構成 .................................................................................................................................... 551
28.3 専用 BGR............................................................................................................................ 553
28.4 端子 .................................................................................................................................... 554
28.5 割込み ................................................................................................................................. 555
28.6 動作説明と設定手順例........................................................................................................ 556
28.7 レジスタ ............................................................................................................................. 558
28.7.1 コンパレータ制御レジスタ ch. n (CMRn) ................................................................... 559
第 29 章
システム構成コントローラ .................................................................... 563
29.1 概要 .................................................................................................................................... 564
29.2 レジスタ ............................................................................................................................. 565
29.2.1 システム構成レジスタ (SYSC) ................................................................................... 566
付録
付録 A
A.1
A.2
A.3
A.4
A.5
............................................................................................................... 569
命令概要 ........................................................................................................................ 570
アドレッシング ........................................................................................................... 573
特殊な命令について.................................................................................................... 577
ビット操作命令 (SETB, CLRB)................................................................................... 581
F2MC-8FX 命令一覧表 ................................................................................................ 582
命令マップ .................................................................................................................. 586
xii
本版での主な変更内容
変更箇所は , 本文中のページ左側の│によって示しています。
ページ
変更内容 ( 詳細は本文を参照してください。)
17
第 3 章 クロックコントローラ
3.1
クロック制御部の概要
■ クロック制御部のブロックダ
イヤグラム
図 3.1-1
メイン CR PLL クロック発振回路と PLLC 制御レジスタ
(PLLC) の接続を訂正
65
第 4 章 リセット
4.1 リセット動作
■ リセット要因
● 低電圧検出リセット
以下の記述を追加
ただし , 低電圧検出リセット回路の LVD リセット電圧
選択 ID レジスタ (LVDR), LVD リセット回路パスワード
レジスタ (LVDPW) と LVD リセット回路制御レジスタ
(LVDCC) は低電圧検出リセットによってはリセットさ
れません。
69
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" に設定します。
70
HWR ビットの詳細にある以下の記述を変更
読出し動作により , このビットは "0" になります。書込
み動作 ("0" または "1" の書込み ) はこのビットを "0" に
設定します。
→
読出し動作または書込み動作 ("0" または "1" の書込み )
はこのビットを "0" に設定します。
SWR ビットの詳細にある以下の記述を変更
読出し動作により , このビットは "0" になります。書込
み動作 ("0" または "1" の書込み ) はこのビットを "0" に
設定します。
→
読出し動作または書込み動作 ("0" または "1" の書込み )
またはパワーオンリセットはこのビットを "0" に設定し
ます。
xiii
ページ
変更内容 ( 詳細は本文を参照してください。)
291
第16章 8/10ビットA/Dコンバータ アナログ入力端子とアナログチャネルに関する記述を
追加
16.2 構成
293
「● AN 端子」を「● ANn 端子」に改名
16.3 端子
■ 8/10ビットA/Dコンバータの端
子
アナログ入力端子の名前を訂正
16.3 端子
■ 8/10ビットA/Dコンバータの端 AN → ANn
子
● ANn 端子
304
アナログ入力端子の名前を訂正
16.7 使用上の注意
■ 8/10ビットA/Dコンバータ使用 AN → ANn
上の注意
● 8/10ビットA/Dコンバータのア
ナログ入力順序
488
第 25 章 シリアル書込み接続例
25.2 シリアル書込み接続例
■ シリアル書込み接続例
プルアップ抵抗の使用に関する記述を追加
xiv
第1章
メモリアクセスモード
メモリアクセスモードについて説明します。
1.1
MN702-00012-2v0-J
メモリアクセスモード
FUJITSU SEMICONDUCTOR LIMITED
1
第 1 章 メモリアクセスモード
1.1 メモリアクセスモード
MB95810K シリーズ
メモリアクセスモード
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-00012-2v0-J
第2章
CPU
CPU の機能と動作について説明します。
MN702-00012-2v0-J
2.1
専用レジスタ
2.2
汎用レジスタ
2.3
16 ビットデータのメモリ上の配置
FUJITSU SEMICONDUCTOR LIMITED
3
第 2 章 CPU
2.1 専用レジスタ
2.1
MB95810K シリーズ
専用レジスタ
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-00012-2v0-J
MB95810K シリーズ
第 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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
5
第 2 章 CPU
2.1 専用レジスタ
MB95810K シリーズ
● プログラムステータス (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-00012-2v0-J
第 2 章 CPU
2.1 専用レジスタ
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
7
第 2 章 CPU
2.1 専用レジスタ
MB95810K シリーズ
ダイレクトバンクポインタ (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-00012-2v0-J
MB95810K シリーズ
表 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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
9
第 2 章 CPU
2.1 専用レジスタ
MB95810K シリーズ
コンディションコードレジスタ (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-00012-2v0-J
第 2 章 CPU
2.1 専用レジスタ
MB95810K シリーズ
● キャリフラグ (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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
11
第 2 章 CPU
2.2 汎用レジスタ
2.2
MB95810K シリーズ
汎用レジスタ
汎用レジスタは , 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-00012-2v0-J
MB95810K シリーズ
第 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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
13
第 2 章 CPU
2.3 16 ビットデータのメモリ上の配置
2.3
MB95810K シリーズ
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-00012-2v0-J
第3章
クロック制御部
クロック制御部の機能と動作について説明します。
3.1
概要
3.2
発振安定待ち時間
3.3
レジスタ
3.4
クロックモード
3.5
低消費電力モード ( スタンバイモード ) の動作
3.6
クロック発振回路
3.7
プリスケーラの概要
3.8
プリスケーラの構成
3.9
プリスケーラの動作
3.10 プリスケーラ使用上の注意
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
15
第 3 章 クロック制御部
3.1 概要
3.1
MB95810K シリーズ
概要
New 8FX ファミリは , 消費電力の最適な制御を行うクロック制御部を搭載していま
す。このクロック制御部は外部メインクロックと外部サブクロックの両方をサポート
しています。
クロック制御部はクロック発振の許可 / 停止 , 内部回路へのクロック信号供給の
許可 / 停止 , クロックソースの選択および内蔵 CR 発振器と周波数分周回路の制御を
行います。
■ クロック制御部の概要
クロック制御部はクロック発振の許可 / 停止 , 内部回路へのクロック供給の許可 / 停止 ,
クロックソースの選択および内蔵 CR 発振器と周波数分周回路の制御を行います。
クロック制御部ではクロックモードの設定 , スタンバイモードの設定 , リセット動作に
従い内部クロックを制御します。クロックモードにより内部動作クロックの選択が行
われ , スタンバイモードによりクロック発振および信号供給の許可 / 停止を行います。
クロック制御部はクロックモードおよびスタンバイモードの組み合わせに応じた最適
な消費電力と機能を選択します。
本デバイスには 5 種類のソースクロックがあります。これらはメイン発振クロックを
2 分周したメインクロック , サブ発振クロックを 2 分周したサブクロック , メイン CR
クロック , PLL 逓倍率をメイン CR 発振クロックにかけて生成したメイン CR PLL ク
ロックおよびサブ CR 発振クロックを 2 分周したサブ CR クロックの 5 種類です。
16
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 3 章 クロック制御部
3.1 概要
MB95810K シリーズ
■ クロック制御部のブロックダイヤグラム
図 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-00012-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 概要
MB95810K シリーズ
■ クロック制御部の構成
● メインクロック発振回路
このブロックはメインクロックの発振回路です。
● サブクロック発振回路
このブロックはサブクロックの発振回路です。
● メイン 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-00012-2v0-J
MB95810K シリーズ
第 3 章 クロック制御部
3.1 概要
● 発振安定待ち時間設定レジスタ (WATR)
このレジスタはメインクロックとサブクロックの発振安定待ち時間を設定するために
使用されます。
● スタンバイ制御レジスタ 2 (STBC2)
このレジスタはディープスタンバイモードを制御します。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
19
第 3 章 クロック制御部
3.1 概要
MB95810K シリーズ
■ クロックモード
クロックモードが 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-00012-2v0-J
第 3 章 クロック制御部
3.1 概要
MB95810K シリーズ
■ スタンバイモード
選択されたスタンバイモードによりクロック発振の許可 / 停止および内部回路へのク
ロック供給の許可 / 停止を選択できます。タイムベースタイマモードおよび時計モー
ドを除き , クロックモードの設定とは別にスタンバイモードを設定できます。
表 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" が書かれていれば , 時計プリスケーラ
が動作します。
また , ハードウェアウォッチドッグタイマを起動した場合は , 不揮発性レジスタインタ
フェースの設定によっては , スタンバイモードでもハードウェアウォッチドッグタイマが
動作します。詳細は , 「第 27 章 不揮発性レジスタ (NVR) インタフェース」を参照して
ください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
21
第 3 章 クロック制御部
3.1 概要
MB95810K シリーズ
■ クロックモードとスタンバイモードの組合せ
表 3.1-3 と表 3.1-4 に , クロックモードとスタンバイモードの組合せおよび各種クロッ
クモードとスタンバイモードの組合せを有する異なる内部回路の動作状態をそれぞれ
示します。
表 3.1-3
スタンバイモードとクロックモードの組合せおよび内部動作状態 (1)
スリープ
RUN
機能
メイン
クロック
メイン CR
クロック /
メイン CR
PLL クロック
サブクロック
サブ CR
クロック
CPU
フラッシュ
メモリ
RAM
I/O ポート
タイムベース
タイマ
時計プリス
ケーラ
外部割込み
ハードウェア
ウォッチドッ
グタイマ
ソフトウェア
ウォッチドッ
グタイマ
低電圧検出
リセット
そのほかの周
辺機能
メイン
クロック
モード
メイン
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
動作
動作
停止
停止
動作
動作
動作
動作
動作
動作
動作
動作
*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-00012-2v0-J
第 3 章 クロック制御部
3.1 概要
MB95810K シリーズ
表 3.1-4
スタンバイモードとクロックモードの組合せおよび内部動作状態 (2)
タイムベースタイマ
機能
メイン
クロック
メイン CR
クロック /
メイン CR
PLL クロック
動作
停止 *1
停止
停止
停止 *2
動作
停止
停止
サブ CR
クロック
CPU
I/O ポート
タイムベース
タイマ
時計プリス
ケーラ
ストップ
メイン
クロック
モード
サブクロック
フラッシュ
メモリ
RAM
時計
メイン
CR クロック
モード /
メイン
CR PLL
クロック
モード
サブ CR
クロック
モード
サブ
クロック
モード
メイン
クロック
モード
メイン
CR クロック
モード /
メイン
CR PLL
クロック
モード
動作 *3
動作
動作 *3
動作 *3
停止
動作 *4
動作 *4
動作
動作 *4
停止
停止
停止
停止
値保持 *6
値保持 *6
値保持 *6
値保持
値保持
値保持
出力保持 /Hi-Z
出力保持 /Hi-Z
出力保持 /Hi-Z
動作
停止
停止
動作 *3, *4
動作
動作
動作
動作
動作 *5
動作 *5
動作 *5
停止
停止
停止
動作
動作
動作
停止
停止
停止
外部割込み
ハードウェア
ウォッチドッ
グタイマ
ソフトウェア
ウォッチドッ
グタイマ
低電圧検出
リセット
そのほかの周
辺機能
サブ CR
クロック
モード
サブ
クロック
モード
動作 *3, *4
停止
*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) により , スタンバイモー
ド時のフラッシュメモリの状態を通常状態と低電力状態から選択できます。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
23
第 3 章 クロック制御部
3.2 発振安定待ち時間
MB95810K シリーズ
発振安定待ち時間
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-00012-2v0-J
第 3 章 クロック制御部
3.2 発振安定待ち時間
MB95810K シリーズ
■ 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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
25
第 3 章 クロック制御部
3.2 発振安定待ち時間
MB95810K シリーズ
■ 発振安定待ちの優先順位について
複数のクロックの動作が同時に許可された場合 , クロック制御部は決められた優先順
位にしたがってクロックごとに発振安定待ち時間をカウントします。発振安定待ちカ
ウント動作の優先順位を以下に示します。
•
メインクロックモードの場合
サブ CR クロック > サブクロック > メイン CR クロック > メイン CR PLL クロック
•
メイン CR クロックモードの場合
サブ CR クロック > サブクロック > メイン CR PLL クロック > メインクロック
•
メイン CR PLL クロックモードの場合
サブ CR クロック > サブクロック > メインクロック
•
サブクロックモードの場合
サブ CR クロック > メイン CR クロックまたはメインクロック > メイン CR PLL ク
ロック
•
サブ CR クロックモードの場合
メイン CR クロックまたはメインクロック > サブクロック > メイン CR PLL クロック
26
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 3 章 クロック制御部
3.3 レジスタ
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
27
第 3 章 クロック制御部
3.3 レジスタ
3.3.1
MB95810K シリーズ
システムクロック制御レジスタ (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-00012-2v0-J
第 3 章 クロック制御部
3.3 レジスタ
MB95810K シリーズ
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" に設定された場合 , これらのビットに値を書き込
むことは禁止されます。
[bit4] MPRDY: メイン CR PLL クロック発振安定ビット
このビットはメイン CR PLL クロック発振の準備ができているか否かを示します。
bit4
説明
"0" が読み出された場合
メイン CR PLL クロックの発振安定待ち状態またはメイン CR PLL クロック発振
が停止していることを示します。
"1" が読み出された場合
メイン CR PLL クロックの発振安定待ちが完了していることを示します。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
29
第 3 章 クロック制御部
3.3 レジスタ
MB95810K シリーズ
[bit3:0] 未定義ビット
読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。
30
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 3 章 クロック制御部
3.3 レジスタ
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
31
第 3 章 クロック制御部
3.3 レジスタ
MB95810K シリーズ
[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-00012-2v0-J
第 3 章 クロック制御部
3.3 レジスタ
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
33
第 3 章 クロック制御部
3.3 レジスタ
MB95810K シリーズ
[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-00012-2v0-J
第 3 章 クロック制御部
3.3 レジスタ
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
35
第 3 章 クロック制御部
3.3 レジスタ
MB95810K シリーズ
[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-00012-2v0-J
第 3 章 クロック制御部
3.3 レジスタ
MB95810K シリーズ
[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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
37
第 3 章 クロック制御部
3.3 レジスタ
MB95810K シリーズ
スタンバイ制御レジスタ 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-00012-2v0-J
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
39
第 3 章 クロック制御部
3.4 クロックモード
MB95810K シリーズ
*: クロックモードがメインクロックモード , メイン 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-00012-2v0-J
第 3 章 クロック制御部
3.4 クロックモード
MB95810K シリーズ
■ クロックモードの状態遷移図
クロックモードには , メインクロックモード , サブクロックモード , メイン 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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
41
第 3 章 クロック制御部
3.4 クロックモード
表 3.4-1
MB95810K シリーズ
クロックモードの状態遷移表 (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-00012-2v0-J
第 3 章 クロック制御部
3.4 クロックモード
MB95810K シリーズ
表 3.4-1
クロックモードの状態遷移表 (2 / 2)
現在の状態
(7)
(8)
次の状態
説明
システムクロック制御レジスタのクロックモード選択ビット
(SYCC:SCS[2:0]) を "0b110" に設定すると , デバイスはメイン CR
クロック発振安定待ち時間の経過を待ってからメイン CR クロッ
クモードに遷移します。システムクロック制御レジスタ 2 のメイ
ンクロック発振許可ビット(SYCC2:MCRE)の設定によりメインCR
クロックの発振が許可されており , システムクロック制御レジス
タ 2 のメイン CR クロック発振安定ビット (SYCC2:MCRDY) が "1"
の場合は,デバイスはクロックモード選択ビット(SYCC2:SCS[2:0])
メイン CR クロック / が "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" の場合は , デ
バイスはクロックモード選択ビット (SYCC2: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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
43
第 3 章 クロック制御部
3.5 低消費電力モード ( スタンバイモード ) の動作
3.5
MB95810K シリーズ
低消費電力モード ( スタンバイモード ) の動作
スタンバイモードには , スリープモード , ストップモード , タイムベースタイマモー
ド , 時計モードの 4 種類があります。
■ スタンバイモードの遷移と復帰の概要
スタンバイモードには , スリープモード , ストップモード , タイムベースタイマモード ,
時計モードの 4 種類があります。スタンバイ制御レジスタ (STBC) の設定によって , デ
バイスはスタンバイモードに遷移します。
スタンバイモードの解除は , 割込みまたはリセットにより行われます。通常動作に遷移
する前に , デバイスは必要に応じて自動的に発振安定待ち時間の経過を待ちます。
リセットによりクロックモードがスタンバイモードから復帰する場合は , デバイスは
メイン CR クロックモードに戻ります。割込みによりクロックモードがスタンバイモー
ドから復帰する場合は , スタンバイモードに遷移する前のクロックモードに復帰しま
す。
■ スタンバイモード時の端子の状態
スタンバイ制御レジスタの端子状態設定ビット (STBC:SPL) によって , ストップモード ,
タイムベースタイマモードまたは時計モード時の I/O ポートまたは周辺機能端子の状
態を直前の状態保持または周辺機能端子をハイインピーダンスに設定できます。
スタンバイモード時の全端子の状態については , デバイスのデータシートを参照して
ください。
44
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 3 章 クロック制御部
3.5 低消費電力モード ( スタンバイモード ) の動作
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
45
第 3 章 クロック制御部
3.5 低消費電力モード ( スタンバイモード ) の動作
MB95810K シリーズ
■ 各スタンバイモードにおいては , 以下の 2 つの動作モードを選択できます。
1. ディープスタンバイモード (STBC2:DSTBYX = 0)
スタンバイモード時の消費電力をノーマルスタンバイモードに比べ低く抑えるこ
とができます。ただし , リセットや割込み要因によりデバイスが復帰する際 , フラッ
シュリカバリ待ち時間が必要なため , ノーマルスタンバイモードに比べデバイスが
復帰するまでに時間がかかります。
2. ノーマルスタンバイモード (STBC2:DSTBYX = 1)
スタンバイモード時の消費電力はディープスタンバイモードに比べ高くなります
が , リセットや割込み要因によりデバイスが復帰する際 , フラッシュリカバリ待ち
時間が不要なため , ディープスタンバイモードに比べデバイスが復帰するまでの時
間が短くなります。
フラッシュリカバリ待ち時間の詳細については , 表 3.5-2 を参照してください。また ,
ディープスタンバイモードとノーマルスタンバイモードとの消費電力の違いについて
は , デバイスのデータシートの「■ 電気的特性」を参照してください。
46
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 3 章 クロック制御部
3.5 低消費電力モード ( スタンバイモード ) の動作
MB95810K シリーズ
■ スタンバイモードの状態遷移図 ( ディープスタンバイモードを禁止したとき )
図 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 クロック発
振安定待ち時間の経過を待ちます。
(1)
スリープモード
スタンバイ制御レジスタのスリープビット (STBC:SLP) に "1" を書き込むと ,
デバイスはスリープモードに遷移します。
(2)
デバイスは周辺機能からの割込みにより RUN 状態に復帰します。
(3)
スタンバイ制御レジスタのストップビット (STBC:STP) に "1" を書き込むと ,
デバイスはストップモードに遷移します。
ストップモード
(4)
外部割込みにより , 現在のクロックモードに応じて必要な発振安定待ち時間
の経過を待ってからデバイスは RUN 状態に復帰します。
(5)
メインクロックモード , メイン CR クロックモードまたはメイン CR PLL ク
ロックモードで , スタンバイ制御レジスタ (STBC:TMD) の時計ビットに "1"
タイムベースタイマモード を書き込むと , デバイスはタイムベースモードに遷移します。
(6)
デバイスは周辺機能からの割込みにより RUN 状態に復帰します。
(7)
サブクロックモードまたはサブ CR クロックモードで , スタンバイ制御レジ
スタの時計ビット (STBC:TMD) に "1" を書き込むと , デバイスは時計モード
に遷移します。
時計モード
(8)
MN702-00012-2v0-J
デバイスは周辺機能からの割込みにより RUN 状態に復帰します。
FUJITSU SEMICONDUCTOR LIMITED
47
第 3 章 クロック制御部
3.5 低消費電力モード ( スタンバイモード ) の動作
MB95810K シリーズ
■ スタンバイモードの状態遷移図 ( ディープスタンバイモードを許可したとき )
図 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-00012-2v0-J
MB95810K シリーズ
表 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-00012-2v0-J
周辺機能からの割込みにより , フラッシュリカバリ待ち時間の経過を待って
からデバイスは RUN 状態に復帰します。
また , フラッシュリカバリ待ち時間の間はスリープモード (CPU は動作停止 ,
周辺機能は動作再開 ) となります。
ただし , RAM でプログラムを実行している場合は , フラッシュリカバリ待ち
時間は発生しません。
FUJITSU SEMICONDUCTOR LIMITED
49
第 3 章 クロック制御部
3.5 低消費電力モード ( スタンバイモード ) の動作
3.5.2
MB95810K シリーズ
スリープモード
スリープモードでは CPU とウォッチドッグタイマの動作は停止となります。
■ スリープモードの動作
スリープモードでは CPU とウォッチドッグタイマの動作クロックは停止となります。
CPU はデバイスがスリープモードへ遷移する直前に存在しているレジスタと RAM の
内容を保持して停止しますが , ウォッチドッグタイマを除く周辺機能は動作を続けま
す。
ハードウェアウォッチドッグタイマの場合 , 不揮発性レジスタ機能によってスタンバ
イモードが許可されたとき , スリープモードでサブ CR クロックは停止せず , ハード
ウェアウォッチドッグタイマは動作します。詳細は ,「第 27 章 不揮発性レジスタ (NVR)
インタフェース」を参照してください。
● スリープモードへの遷移
スタンバイ制御レジスタのスリープビット (STBC:SLP) を "1" に設定すると , デバイス
はスリープモードに入ります。
● スリープモードの解除
リセットまたは周辺機能からの割込みによって , デバイスはスリープモードから解除
されます。
ディープスタンバイモード制御ビット (STBC2:DSTBYX) が "0" に設定されているとき ,
リセットまたは周辺機能からの割込み発生後 , フラッシュリカバリ待ち時間が経過す
るまでデバイスはスリープモードを継続します。
ただし , RAM でプログラムを実行している場合は , フラッシュリカバリ待ち時間は発
生しません。
50
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
3.5.3
ストップモード
第 3 章 クロック制御部
3.5 低消費電力モード ( スタンバイモード ) の動作
ストップモードでは , メインクロック , メイン CR クロック , メイン CR PLL クロッ
クおよびサブクロックは停止となります。
■ ストップモードの動作
ストップモードでは , メインクロック , メイン CR クロック , メイン CR PLL クロック
およびサブクロックは停止となります。このモードでは , デバイスはストップモードへ
遷移する直前にレジスタと RAM の内容を保持しつつ , 外部割込みと低電圧検出リセッ
トを除くすべての機能を停止します。
ハードウェアウォッチドッグタイマの場合 , 不揮発性レジスタ機能によってスタンバ
イモードが許可されたとき , ストップモードでサブ CR クロックは停止せず , ハード
ウェアウォッチドッグタイマは動作します。詳細は「第 27 章 不揮発性レジスタ (NVR)
インタフェース」を参照してください。
● ストップモードへの遷移
スタンバイ制御レジスタのストップビット (STBC:STP) に "1" を書き込むと , デバイス
はストップモードに入ります。このとき , スタンバイ制御レジスタの端子状態設定ビッ
ト (STBC:SPL) が "0" の場合 , 外部端子の状態は保持され , SPL ビットが "1" の場合には
外部端子の状態はハイインピーダンスになります ( プルアップレジスタでプルアップ
抵抗を選択している端子はプルアップ状態になります ) 。
● ストップモードの解除
ストップモードはリセットまたは外部割込みによって解除されます。どのクロック
モードも , スタンバイモードにおいて , ハードウェアウォッチドッグタイマか不揮発性
レジスタ機能によって許可された場合 , サブ CR クロックは停止せず , ウォッチドッグ
タイマおよび時計プリスケーラはストップモードで動作します。また , 時計プリスケー
ラからの割込みによりデバイスはストップモードから解除されます。詳細は , 「第 27
章 不揮発性レジスタ (NVR) インタフェース」を参照してください。
ディープスタンバイモード制御ビット (STBC2:DSTBYX) が "0" に設定されているとき ,
リセットまたは周辺機能からの割込み発生後の動作は , 発振安定待ち時間とフラッ
シュリカバリ待ち時間の関係で以下のようになります。
•
発振安定待ち時間がフラッシュリカバリ待ち時間より短い場合
発振安定待ち時間経過後 , デバイスはスリープモードに遷移し , フラッシュリカバ
リ待ち時間が経過するまでスリープモードを継続します。
•
発振安定待ち時間がフラッシュリカバリ待ち時間より長い場合
発振安定待ち時間経過後 , デバイスは RUN 状態に復帰します。
ただし , RAM でプログラムを実行している場合は , フラッシュリカバリ待ち時間は発
生しません。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
51
第 3 章 クロック制御部
3.5 低消費電力モード ( スタンバイモード ) の動作
MB95810K シリーズ
<注意事項>
デバイスが割込みによってストップモードから解除された場合 , 動作途中でストップモー
ドとなった周辺機能はストップモードに遷移した時点の動作から再開します。そのため ,
インターバルタイマにおける初回のインターバル時間などの周辺機能設定が不定になり
ます。デバイスをストップモードから解除した後は必要に応じて周辺機能を初期化してく
ださい。
52
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 3 章 クロック制御部
3.5 低消費電力モード ( スタンバイモード ) の動作
MB95810K シリーズ
3.5.4
タイムベースタイマモード
タイムベースタイマモードではメインクロック発振 , サブクロック発振 , タイムベー
スタイマおよび時計プリスケーラのみ動作します。このモードでは CPU と周辺機能
の動作クロックは停止となります。
■ タイムベースタイマの動作
タイムベースタイマモードは , タイムベースタイマへのクロック供給を除きメインク
ロックの供給を停止させるモードです。このモードではデバイスはタイムベースタイ
マモードへ遷移する直前に存在しているレジスタと RAM の内容を保持しつつ , タイム
ベースタイマ , 外部割込みと低電圧検出リセットを除くすべての機能を停止します。
システムクロック制御レジスタ 2 のサブクロック発振許可ビットおよびサブ CR クロッ
ク発振許可ビット (SYCC2:SOSCE, SCRE) の設定により , それぞれサブクロック発振お
よびサブ CR クロック発振をそれぞれ許可または禁止できます。サブクロックが発振
する場合 , 時計プリスケーラが動作します。
ハードウェアウォッチドッグタイマの場合 , 不揮発性レジスタ機能によってスタンバ
イモードが許可されたとき, タイムベースタイマモードでサブCRクロックは停止せず,
ハードウェアウォッチドッグタイマは動作します。詳細は, 「第27章 不揮発性レジス
タ (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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
53
第 3 章 クロック制御部
3.5 低消費電力モード ( スタンバイモード ) の動作
MB95810K シリーズ
ただし , RAM でプログラムを実行している場合は , フラッシュリカバリ待ち時間は発
生しません。
<注意事項>
デバイスが割込みによってタイムベースタイマモードから解除された場合 , 動作途中でタ
イムベースタイマモードとなった周辺機能は , タイムベースタイマモードに遷移した時点
の動作から再開します。そのため , インターバルタイマにおける初回のインターバル時間
などの周辺機能設定が不定になります。デバイスをタイムベースタイマモードから解除し
た後は必要に応じて周辺機能を初期化してください。
54
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
3.5.5
時計モード
第 3 章 クロック制御部
3.5 低消費電力モード ( スタンバイモード ) の動作
時計モードではサブクロック , サブ CR クロックおよび時計プリスケーラのみが動作
します。このモードでは CPU と周辺機能の動作クロックは停止となります。
■ 時計モードの動作
時計モードでは , デバイスは時計モードへ遷移する直前にレジスタと RAM の内容を保
持しつつ , デバイスは外部割込みと低電圧検出リセットを除くすべての機能を停止し
ます。
スタンバイモード中に , 不揮発性レジスタによってハードウェアウォッチドッグタイ
マが許可されていると , 時計モードでサブ CR クロックは停止せず , ハードウェア
ウォッチドッグタイマは動作します。詳細は , 「第 27 章 不揮発性レジスタ (NVR) イ
ンタフェース」を参照してください。
● 時計モードへの遷移
システムクロック制御レジスタのシステムクロックモニタビット (SYCC:SCM[2:0]) が
"0b000" または "0b100" の場合 , スタンバイ制御レジスタの時計ビット (STBC:TMD) に
"1" を書き込むことによりデバイスは時計モードに遷移します。
時計モードへの遷移はデバイスのクロックモードがサブクロックモードまたはサブ
CR クロックモードのときのみ遷移できます。
デバイスが時計モードに遷移したとき , スタンバイ制御レジスタの端子状態設定ビッ
ト (STBC:SPL) が "0" の場合 , 外部端子の状態を保持し , SPL ビットが "1" の場合には外
部端子の状態はハイインピーダンスになります ( プルアップレジスタでプルアップ抵
抗を選択している端子はプルアップ状態になります ) 。
● 時計モードからの解除
リセット , 時計割込みまたは外部割込みによりデバイスは時計モードから解除されま
す。
ディープスタンバイモード制御ビット (STBC2:DSTBYX) が "0" に設定されているとき ,
リセットまたは周辺機能からの割込み発生後 , フラッシュリカバリ待ち時間が経過す
るまでデバイスはスリープモードで動作を継続します。
ただし , RAM でプログラムを実行している場合は , フラッシュリカバリ待ち時間は発
生しません。
<注意事項>
デバイスが割込みによって時計モードから解除された場合 , 動作途中で時計モードとなっ
た周辺機能は , 時計モードに遷移した時点の動作から再開します。そのため , インターバ
ルタイマにおける初回のインターバル時間などの周辺機能設定が不定になります。デバイ
スを時計モードから解除した後は , 必要に応じて周辺機能を初期化してください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
55
第 3 章 クロック制御部
3.6 クロック発振回路
3.6
MB95810K シリーズ
クロック発振回路
クロック発振回路はクロック発振端子に振動子を接続するかまたはクロック信号を
入力することによって内部クロックを生成します。
■ クロック発振回路
● 水晶振動子またはセラミック振動子の場合
図 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-00012-2v0-J
MB95810K シリーズ
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
•
16 ビット PPG タイマ
•
16 ビットリロードタイマ
•
UART/SIO 専用ボーレートジェネレータ
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
57
第 3 章 クロック制御部
3.8 プリスケーラの構成
3.8
MB95810K シリーズ
プリスケーラの構成
図 3.8-1 に , プリスケーラのブロックダイヤグラムを示します。
■ プリスケーラのブロックダイヤグラム
図 3.8-1 プリスケーラのブロックダイヤグラム
プリスケーラ
MCLK/2
MCLK/4
カウンタ値
MCLK/8
MCLK(マシンクロック)
5ビット
カウンタ
出力制御回路
タイムベースタイマから
FCH/27
FCRH/26
あるいは
FCH/28
FMCRPLL/26
あるいは
FCRH/27
FMCRPLL/27
各周辺機能へ
カウントクロック
を供給する
MCLK/16
MCLK/32
FCH/27,FCRH/26 あるいは FMCRPLL/26
FCH/28,FCRH/27 あるいは FMCRPLL/27
MCLK :マシンクロック(内部動作周波数)
FCH
:メインクロック周波数
FCRH :メインCRクロック周波数
FMCRPLL :メイン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
•
16 ビット PPG タイマ
•
16 ビットリロードタイマ
•
UART/SIO 専用ボーレートジェネレータ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 3 章 クロック制御部
3.9 プリスケーラの動作
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
59
第 3 章 クロック制御部
3.9 プリスケーラの動作
表 3.9-3
プリスケーラの生成するカウントクロックソース (FMCRPLL)
カウントクロック
ソース周波数
60
MB95810K シリーズ
周波数
(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-00012-2v0-J
MB95810K シリーズ
3.10
プリスケーラ使用上の注意
第 3 章 クロック制御部
3.10 プリスケーラ使用上の注意
プリスケーラ使用上の注意を示します。
プリスケーラは , マシンクロックとタイムベースタイマから発生するクロックにより
動作し , これらのクロックが供給されている間は動作を継続します。したがって , 周辺
機能が起動した直後の動作は , プリスケーラの出力値に応じて , 周辺機能のクロック取
込みに , 最大 1 クロックリソース分の誤差が発生します。
図 3.10-1 周辺機能起動直後に発生するクロック取込み誤差
プリスケーラ
の出力
周辺機能起動
周辺機能側の
クロック取込み
周辺機能起動直後の
クロック取込み誤差
以下の周辺機能は , プリスケーラのカウント値の影響を受けます。
•
8/16 ビット複合タイマ
•
8/10 ビット A/D コンバータ
•
8/16 ビット PPG
•
16 ビット PPG タイマ
•
16 ビットリロードタイマ
•
UART/SIO 専用ボーレートジェネレータ
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
61
第 3 章 クロック制御部
3.10 プリスケーラ使用上の注意
62
MB95810K シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第4章
リセット
リセットの動作について説明します。
MN702-00012-2v0-J
4.1
リセット動作
4.2
レジスタ
4.3
使用上の注意
FUJITSU SEMICONDUCTOR LIMITED
63
第 4 章 リセット
4.1 リセット動作
MB95810K シリーズ
リセット動作
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-00012-2v0-J
MB95810K シリーズ
第 4 章 リセット
4.1 リセット動作
● 低電圧検出リセット
低電圧検出リセット回路は , 電源電圧が定められた電圧より低下したときにリセット
を発生します。
低電圧検出リセットの論理機能はパワーオンリセットと同じです。本マニュアルにお
けるパワーオンリセットに関するすべての記述は , 低電圧検出リセットにも適応され
ます。
ただし , 低電圧検出リセット回路の LVD リセット電圧選択 ID レジスタ (LVDR), LVD
リセット回路パスワードレジスタ (LVDPW) と LVD リセット回路制御レジスタ
(LVDCC) は低電圧検出リセットによってはリセットされません。
低電圧検出リセットの詳細については「第 17 章 低電圧検出リセット回路」を参照し
てください。
■ リセット中の時間
リセット中の時間はリセット要因により異なります。
•
ソフトウェアリセット , ウォッチドッグリセットまたは外部リセットの場合
リセット時間は , リセット前に選択したマシンクロックの周期 , RAM アクセス中の
リセットを抑止する RAM アクセス保護機能およびサブ CR クロック発振安定待ち
時間から影響を受けます。RAM アクセス保護機能はリセット前に選択したマシン
クロックの周期によって延長されることがあります。
システムクロック制御レジスタ 2 のサブ CR クロック発振安定ビット (SYCC2:
SCRDY) が "1" のときにリセットが発生した場合 , メイン CR クロック発振安定待ち
時間経過後 , リセット状態が解除されます。
システムクロック制御レジスタ 2 のサブ CR クロック発振安定ビット (SYCC2:
SCRDY) が "0" のときにリセットが発生した場合 , サブ CR クロック発振安定待ち時
間とメイン CR クロック発振安定待ち時間が経過した後に , リセット状態が解除さ
れます。
•
パワーオンリセットおよび低電圧検出リセットの場合
リセット状態は , サブ CR クロック発振安定待ち時間とメイン CR クロック発振安
定待ち時間が経過した後に , 解除されます。
■ リセット出力
RST端子は, リセット入力機能が有効であり, かつリセット出力機能が有効である場合,
リセット中に "L" レベルを出力します。ただし , 外部リセットの場合はリセット端子に
は "L" レベルを出力する機能はありません。
リセット入力機能 , リセット出力機能設定については ,「第 29 章 システム構成コント
ローラ」を参照してください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
65
第 4 章 リセット
4.1 リセット動作
MB95810K シリーズ
■ リセット動作の概要
図 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-00012-2v0-J
MB95810K シリーズ
第 4 章 リセット
4.1 リセット動作
■ リセット中の端子の状態
リセットが発生すると I/O ポートまたは周辺機能端子は , リセット解除後ソフトウェア
による設定が行われるまで , ハイインピーダンスになります。
<注意事項>
デバイスの誤作動防止ため , リセット中はハイインピーダンスとなる端子に対してプル
アップ抵抗を接続してください。
リセット中の全端子の状態については , デバイスのデータシートを参照してください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
67
第 4 章 リセット
4.2 レジスタ
MB95810K シリーズ
レジスタ
4.2
リセット用のレジスタについて説明します。
表 4.2-1
リセット用のレジスタ一覧
レジスタ略称
RSRR
68
レジスタ名
リセット要因レジスタ
FUJITSU SEMICONDUCTOR LIMITED
参照先
4.2.1
MN702-00012-2v0-J
第 4 章 リセット
4.2 レジスタ
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
69
第 4 章 リセット
4.2 レジスタ
MB95810K シリーズ
[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-00012-2v0-J
第 4 章 リセット
4.2 レジスタ
MB95810K シリーズ
■ リセット要因レジスタ (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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
71
第 4 章 リセット
4.3 使用上の注意
4.3
MB95810K シリーズ
使用上の注意
リセット使用上の注意を示します。
■ リセット使用上の注意
● リセットの要因によるレジスタおよびビットの初期化について
リセットが発生しても , 初期化されないレジスタやビットがあります。
•
リセット要因の種類により , リセット要因レジスタ (RSRR) のどのビットを初期化
するか決定されます。
•
クロック制御部の発振安定待ち時間設定レジスタ (WATR) はパワーオンリセットに
よってのみ初期化されます。
72
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第5章
割込み
割込みについて説明します。
5.1
MN702-00012-2v0-J
割込み
FUJITSU SEMICONDUCTOR LIMITED
73
第 5 章 割込み
5.1 割込み
5.1
MB95810K シリーズ
割込み
割込みについて説明します。
■ 割込みの概要
New 8FX ファミリには , 周辺機能に関連する 24 本の割込み要求入力があり , それぞれ
独立に割込みレベルを設定できます。
周辺機能で割込み要求が発生した場合 , この割込み要求は割込みコントローラに出力
されます。割込みコントローラは , その割込み要求の割込みレベルを判定し , CPU に割
込みの発生を伝えます。CPU は割込み受付け状態に従って割込み動作を行います。ま
た , スタンバイモード時の割込み要求によりデバイスはスタンバイモードから復帰し ,
命令実行を再開します。
■ 周辺機能からの割込み要求
CPU が割込み要求を受け付けると , 割込み要求に対応する割込みベクタテーブルアド
レスを分岐先アドレスとして , 割込みサービスルーチンへ分岐します。
各割込み要求の割込み処理優先順位は , 割込みレベル設定レジスタ (ILR0 ~ ILR5) によ
り , 割込み処理の優先順位を 4 段階に設定できます。
割込みサービスルーチンで割込みが処理されている間 , 同一またはそれ以下のレベル
の割込み要求が発生した場合は , 現在の割込みサービスルーチンが終了した後に , 処理
が実行されます。
また, 複数の割込み要求が同一割込みレベルに設定された場合, IRQ00
が最優先順位になります。
割込み要因については , デバイスのデータシートの「■ 割込み要因のテーブル」を参照
してください。
74
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 5 章 割込み
5.1 割込み
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
75
第 5 章 割込み
5.1 割込み
MB95810K シリーズ
ベルビットと比較されます。
割込み要求の割込みレベル 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-00012-2v0-J
MB95810K シリーズ
5.1.2
割込み動作時の処理
第 5 章 割込み
5.1 割込み
周辺機能により割込み要求が発生すると , 割込みコントローラはその割込み要求の割
込みレベルを CPU に通知します。CPU が割込みを受け付けられる状態になっている
と , 現在実行中のプログラムを一時中断し , 割込みサービスルーチンを実行します。
■ 割込み動作時の処理
割込み処理の手順は , 周辺機能の割込み要因発生 , メインプログラムの実行 , 割込み要
求フラグビットの設定 , 割込み要求許可ビットの判定 , 割込みレベル (ILR0 ~ ILR5 お
よび CCR:IL[1:0]) の判定 , 同一割込みレベルの同時要求の確認 , 割込み許可フラグ
(CCR:I) の判定 , という順で行われます。
図 5.1-1 に , 割込み動作時の処理を示します。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
77
第 5 章 割込み
5.1 割込み
MB95810K シリーズ
図 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-00012-2v0-J
MB95810K シリーズ
第 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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
79
第 5 章 割込み
5.1 割込み
5.1.3
MB95810K シリーズ
多重割込み
周辺機能からの複数の割込み要求に対し , 割込みレベル設定レジスタ (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-00012-2v0-J
第 5 章 割込み
5.1 割込み
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
81
第 5 章 割込み
5.1 割込み
MB95810K シリーズ
割込み処理時のスタック動作
5.1.5
割込み処理時のレジスタ内容の退避および復帰について説明します。
■ 割込み処理開始時のスタック動作
割込みが受け付けられると , 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-00012-2v0-J
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
83
第 5 章 割込み
5.1 割込み
84
MB95810K シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第6章
I/O ポート
I/O ポートの機能と動作について説明します。
MN702-00012-2v0-J
6.1
概要
6.2
構成と動作
FUJITSU SEMICONDUCTOR LIMITED
85
第 6 章 I/O ポート
6.1 概要
6.1
MB95810K シリーズ
概要
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 入力禁止レジスタ ( 上位 )*
AIDRH
A/D 入力禁止レジスタ ( 下位 )*
AIDRL
*: A/D 入力禁止レジスタ ( 上位 ) と A/D 入力禁止レジスタ ( 下位 ) の有無について , デバイス
のデータシートの「■ I/O マップ」を参照してください。
86
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
6.2
構成と動作
第 6 章 I/O ポート
6.2 構成と動作
I/O ポートを汎用入出力ポートとして使用するときの構成と動作を中心に説明しま
す。
周辺機能の詳細については , それぞれの章を参照してください。
■ I/O ポートの構成
I/O ポートは以下の要素から構成されます。
• 汎用入出力端子 / 周辺機能入出力端子
• ポート x データレジスタ (PDRx)
• ポート x 方向レジスタ (DDRx)
• ポート x プルアップレジスタ (PULx)
• A/D 入力禁止レジスタ ( 上位 ) (AIDRH)
• A/D 入力禁止レジスタ ( 下位 ) (AIDRL)
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
87
第 6 章 I/O ポート
6.2 構成と動作
MB95810K シリーズ
■ I/O ポートの動作
● 出力ポートとしての動作
• 端子に対応する DDRx レジスタのビットを "1" に設定すると , その端子は出力ポー
トになります。
• 端子を兼用する周辺機能においては , その出力を禁止してください。
• 端子が出力ポートとして使用されている時は , その端子から PDRx レジスタの値が
外部端子に出力されます。
• PDRx レジスタにデータを書き込むと , その値は出力ラッチに保持され , そのまま出
力ポートとして設定した端子へ出力されます。
• PDRx レジスタを読み出すと , PDRx レジスタの値が読み出されます。
● 入力ポートとしての動作
• 端子に対応する DDRx レジスタのビットを "0" に設定すると , その端子は入力ポー
トになります。
• 端子を兼用する周辺機能においては , その出力を禁止してください。
• アナログ入力機能兼用端子を入力ポートとして使用している時は , A/D 入力禁止レ
ジスタ ( 上位 / 下位 ) (AIDRH/AIDRL) の対応するビットを "1" に設定してください。
• PDRx レジスタにデータを書き込むと , その値が出力ラッチに保持されますが , 入力
ポートとして設定した端子へは出力されません。
• PDRxレジスタを読み出すと, 端子の値が読み出されます。ただし, リードモディファ
イライト (RMW) 系命令を使用して PDRx レジスタを読み出す場合は , PDRx レジス
タの値を読み出します。
● 周辺機能出力端子としての動作
• 端子に対応する周辺機能に出力許可ビットを設定し , 周辺出力機能を許可すると ,
その端子は , 周辺機能出力端子となります。
• 周辺機能出力を許可した場合でも , PDRx レジスタから端子の値を読み出せます。し
たがって , PDRx レジスタの読出し動作により , 周辺機能の出力値を読み出せます。
ただし , リードモディファイライト (RMW) 系命令を使用して PDRx レジスタを読み
出す場合は , PDRx レジスタの値を読み出します。
● 周辺機能入力端子としての動作
• 端子を入力ポートとして設定するには , 周辺機能の入力端子に対応する DDRx レジ
スタのビットを "0" に設定します。
• アナログ入力機能兼用端子をその他の周辺機能入力端子として使用する場合は, AIDRH/
AIDRLレジスタのその端子に対応するビットを"1"に設定して, その端子を入力ポー
トとして設定してください。
• 周辺機能がその端子を入力端子として使用しているかどうかに関係なく, PDRxレジ
スタを読み出すと , 端子の値が読み出されます。ただし , リードモディファイライト
(RMW) 系命令を使用して PDRx レジスタを読み出す場合は , PDRx レジスタの値を
読み出します。
● リセット時の動作
CPU がリセットされると , DDRx レジスタのすべてのビットが "0" に初期化され , ポー
ト入力が許可された状態になります。アナログ入力機能と兼用となる端子については ,
AIDRH/AIDRL が "0" に初期化されるため , ポート入力は禁止されます。
88
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
第 6 章 I/O ポート
6.2 構成と動作
● ストップモードおよび時計モード時の動作
• スタンバイ制御レジスタの端子状態設定ビット (STBC:SPL) が "1" に設定され , デバ
イスがストップモードもしくは時計モードに移行すると , DDRx レジスタの値に関
係なく強制的に端子はハイインピーダンス状態になります。入力開放によるリーク
を防止するために , 端子入力は "L" レベルに固定され遮断されます。ただし , 外部割
込みによる割込み入力が許可されている場合 , 入力可能になり入力は遮断されませ
ん。
• 端子状態設定ビットが "0" の場合は , ポート入出力の状態または周辺機能入出力の
状態は変更されず , 出力レベルは維持されます。
● アナログ入力端子としての動作
• アナログ入力端子に対応する DDRx レジスタのビットに "0" を , AIDRH/AIDRL レジ
スタのその端子に対応するビットに "0" を設定してください。
• ほかの周辺機能と兼用されている端子では , それらの周辺機能の出力を禁止してく
ださい。
また , PULx レジスタの対応するビットを "0" に設定してください。
● 外部割込み入力端子としての動作
• 外部割込み入力端子に対応する DDRx レジスタのビットを "0" に設定します。
• 端子を兼用する周辺機能においては , その出力を禁止してください。
• 端子の値は常に外部割込み回路に入力されます。
端子を割込み以外の機能に使用す
る場合は , その端子に対応する外部割込み機能を禁止にします。
● プルアップレジスタの動作
PULx レジスタのビットに "1" を設定すると , プルアップ抵抗は端子に内部接続されま
す。
端子出力が "L" レベルのときは , PULx レジスタの値にかかわらずに , プルアップ抵
抗は切断されます。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
89
第 6 章 I/O ポート
6.2 構成と動作
90
MB95810K シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第7章
タイムベースタイマ
タイムベースタイマの機能と動作について説明し
ます。
MN702-00012-2v0-J
7.1
概要
7.2
構成
7.3
割込み
7.4
動作説明と設定手順例
7.5
レジスタ
7.6
使用上の注意
FUJITSU SEMICONDUCTOR LIMITED
91
第 7 章 タイムベースタイマ
7.1 概要
7.1
MB95810K シリーズ
概要
タイムベースタイマは , メインクロックの 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-00012-2v0-J
第 7 章 タイムベースタイマ
7.2 構成
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
93
第 7 章 タイムベースタイマ
7.2 構成
MB95810K シリーズ
● タイムベースタイマカウンタ
メインクロックの 2 分周 , メイン CR クロックまたはメイン CR PLL クロックをカウン
トクロックとする 24 ビットのダウンカウンタです。
● カウンタクリア回路
タイムベースタイマのカウンタのクリアを制御する回路です。
● インターバルタイマセレクタ
24ビットのタイムベースタイマカウンタの中の16ビットからインターバルタイマ用の
1 ビットを選択する回路です。
● タイムベースタイマ制御レジスタ (TBTC)
インターバル時間の選択 , カウンタのクリア , 割込み制御およびタイムベースタイマの
状態確認を行うレジスタです。
■ 入力クロック
タイムベースタイマは , メインクロックの 2 分周 , メイン CR クロックまたはメイン CR
PLL クロックを入力クロック ( カウントクロック ) として使用します。
■ 出力クロック
タイムベースタイマは , クロックスーパバイザカウンタ , ソフトウェアウォッチドッグ
タイマとプリスケーラにクロックを供給しています。
94
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 7 章 タイムベースタイマ
7.3 割込み
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
95
第 7 章 タイムベースタイマ
7.4 動作説明と設定手順例
7.4
MB95810K シリーズ
動作説明と設定手順例
タイムベースタイマのインターバルタイマ機能の動作について説明します。
■ タイムベースタイマの動作
タイムベースタイマのカウンタは, リセット後"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-00012-2v0-J
MB95810K シリーズ
第 7 章 タイムベースタイマ
7.4 動作説明と設定手順例
PLL クロックモードからサブクロックモードまたはサブ CR クロックモードへ遷移
したとき
•
電源投入時
•
低電圧検出リセット時
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
97
第 7 章 タイムベースタイマ
7.4 動作説明と設定手順例
MB95810K シリーズ
■ タイムベースタイマの動作例
図 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-00012-2v0-J
MB95810K シリーズ
第 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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
99
第 7 章 タイムベースタイマ
7.5 レジスタ
MB95810K シリーズ
レジスタ
7.5
タイムベースタイマのレジスタについて説明します。
表 7.5-1
タイムベースタイマのレジスタ一覧
レジスタ略称
TBTC
100
レジスタ名
タイムベースタイマ制御レジスタ
FUJITSU SEMICONDUCTOR LIMITED
参照先
7.5.1
MN702-00012-2v0-J
第 7 章 タイムベースタイマ
7.5 レジスタ
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
101
第 7 章 タイムベースタイマ
7.5 レジスタ
MB95810K シリーズ
[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-00012-2v0-J
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
103
第 7 章 タイムベースタイマ
7.6 使用上の注意
104
MB95810K シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第8章
ハードウェア / ソフトウェア
ウォッチドッグタイマ
ウォッチドッグタイマの機能と動作について説明
します。
MN702-00012-2v0-J
8.1
概要
8.2
構成
8.3
動作説明と設定手順例
8.4
レジスタ
8.5
使用上の注意
FUJITSU SEMICONDUCTOR LIMITED
105
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.1 概要
8.1
MB95810K シリーズ
概要
ウォッチドッグタイマは , プログラム暴走対策用のカウンタです。
■ ウォッチドッグタイマ機能
ウォッチドッグタイマは , プログラム暴走対策用のカウンタです。ウォッチドッグタイ
マが一度起動すると , 一定時間内で定期的にウォッチドッグタイマのカウンタをクリ
アし続けてください。
プログラムが無限ループに陥るなどして , 一定時間以上クリアさ
れない場合 , ウォッチドッグリセットを発生します。
● ソフトウェア / ハードウェアウォッチドッグタイマのカウントクロック
•
ソフトウェアウォッチドッグタイマでは , タイムベースタイマの出力 , 時計プリス
ケーラの出力またはサブ CR タイマの出力がカウントクロックとして選択できま
す。
•
ハードウェアウォッチドッグタイマでは , サブ CR タイマの出力のみがカウントク
ロックとして使用できます。
● ソフトウェア / ハードウェアウォッチドッグタイマの起動
106
•
ソフトウェア / ハードウェアウォッチドッグタイマは , フラッシュメモリ上にある
アドレス 0xFFBE, 0xFFBF の値にしたがって起動されます。また , これらの値は
ウォッチドッグタイマ選択 ID レジスタ ( 上位 / 下位 ) (WDTH/WDTL) (0x0FEB/
0x0FEC) へコピーされます。
•
ソフトウェア起動の場合 ( ソフトウェアウォッチドッグ ), ウォッチドッグタイマ機
能を開始するためには , ウォッチドッグタイマレジスタ (WDTC) を設定しなければ
なりません。
•
ハードウェア起動の場合 ( ハードウェアウォッチドッグ ), リセット後にウォッチ
ドッグタイマは自動的に起動します。ウォッチドッグタイマは , フラッシュメモリ
上にあるアドレス 0xFFBE, 0xFFBF の値にしたがって , ストップモードで停止また
は実行します。これらの値はウォッチドッグタイマ選択 ID レジスタ ( 上位 / 下位 )
(WDTH/WDTL) (0x0FEB/0x0FEC) へコピーされます。ウォッチドッグタイマ選択 ID
についての詳細は ,「第 27 章 不揮発性レジスタ (NVR) インタフェース」を参照して
ください。
•
表 8.1-1 に , ウォッチドッグタイマのインターバル時間を示します。ウォッチドッグ
タイマのカウンタがクリアされない場合 , 最小時間~最大時間の間にウォッチドッ
グリセットが発生します。インターバル時間の最小時間内にウォッチドッグタイマ
のカウンタをクリアしてください。
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.1 概要
MB95810K シリーズ
表 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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
107
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.2 構成
8.2
MB95810K シリーズ
構成
ウォッチドッグタイマは , 以下のブロックで構成されます。
• カウントクロックセレクタ
• ウォッチドッグタイマカウンタ
• リセット制御回路
• ウォッチドッグタイマクリアセレクタ
• カウンタクリア制御回路
• ウォッチドッグタイマ制御レジスタ (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-00012-2v0-J
MB95810K シリーズ
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.2 構成
● カウントクロックセレクタ
このセレクタは , ウォッチドッグタイマカウンタのカウントクロックを選択します。
● ウォッチドッグタイマカウンタ
このカウンタは , タイムベースタイマの出力 , 時計プリスケーラの出力またはサブ CR
タイマの出力をカウントクロックとする 1 ビットのカウンタです。
● リセット制御回路
この回路は , ウォッチドッグタイマカウンタのオーバフローによってリセット信号を
発生させます。
● ウォッチドッグタイマクリアセレクタ
ウォッチドッグタイマクリア信号を選択します。
● カウンタクリア制御回路
ウォッチドッグタイマカウンタのクリアと動作停止を制御する回路です。
● ウォッチドッグタイマ制御レジスタ (WDTC)
ウォッチドッグタイマカウンタの起動とクリアおよびカウントクロックの選択を設定
するレジスタです。
■ 入力クロック
ウォッチドッグタイマは , タイムベースタイマの出力クロック , 時計プリスケーラから
の出力クロックまたはサブ CR タイマからの出力クロックを入力クロック ( カウントク
ロック ) として使用します。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
109
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.3 動作説明と設定手順例
8.3
MB95810K シリーズ
動作説明と設定手順例
ウォッチドッグタイマは , ウォッチドッグタイマカウンタのオーバフローによって
ウォッチドッグリセットを発生します。
■ ウォッチドッグタイマの動作
● ウォッチドッグタイマの起動方法
ソフトウェアウォッチドッグの場合
•
ウォッチドッグタイマ制御レジスタのウォッチドッグ制御ビット
(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 についての詳細は ,「第 27 章 不揮発性レジスタ (NVR) インタフェース」を
参照してください。
•
リセット解除後に動作を開始します。
•
CS[1:0] および CSP は , "0b001" に固定されたリードオンリのビットです。
•
リセットによりタイマはクリアされ ,
す。
リセットが解除された後に動作は再開しま
● ウォッチドッグタイマのクリア
•
ウォッチドッグタイマのカウンタがインターバル時間内にクリアされない場合 , カ
ウンタはオーバフローし , ウォッチドッグリセットが発生します。
•
ウォッチドッグタイマ制御レジスタのウォッチドッグ制御ビット
(WDTC:WTE[3:0]) に , "0b0101" を書き込むと , ハードウェアウォッチドッグタイマ
のカウンタはクリアされます。ウォッチドッグタイマ制御レジスタのウォッチドッ
グ制御ビット (WDTC:WTE[3:0]) への , 2 回目以降の , "0b0101" の書込みによって ,
ソフトウェアウォッチドッグタイマのカウンタはクリアされます。
ウォッチドッグタイマは,カウントクロックとして選択しているタイマ(タイムベー
スタイマまたは時計プリスケーラ ) がクリアされると同時にクリアされます。
•
110
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.3 動作説明と設定手順例
MB95810K シリーズ
● スタンバイモード時の動作
•
ソフトウェアウォッチドッグタイマまたはスタンバイモード中の動作を禁止した
ハードウェアウォッチドッグタイマの起動時は , 選択されたクロックモードに関係
なく スタンバイモードに移行すると , ウォッチドッグタイマカウンタをクリアして
動作を停止します。
また , スタンバイモードからの復帰により , ウォッチドッグタイ
マは動作を再開します。
•
スタンバイモード中の動作を許可したハードウェアウォッチドッグタイマの起動
時は , スタンバイモードへの移行およびスタンバイモードからの復帰時にウォッチ
ドッグタイマカウンタはクリアされず , 動作を継続します。
<注意事項>
ウォッチドッグタイマは , カウントクロックとして選択されているタイマ ( タイムベース
タイマまたは時計プリスケーラ ) のクリアと同時にクリアされます。このため , ウォッチ
ドッグタイマのカウントクロックとして選択されたタイマを , ウォッチドッグタイマ用に
選択されたインターバル時間内で繰返しクリアするようにソフトウェアが設定されてい
ると , ウォッチドッグタイマは機能できません。
● インターバル時間
インターバル時間は , ウォッチドッグタイマをクリアするタイミングによって変化し
ます。図 8.3-1 に , タイムベースタイマ出力 FCH/221 (FCH: メインクロック ) がカウント
クロックとして選択された場合 ( メインクロック = 4 MHz) の , ウォッチドッグタイマ
のクリアのタイミングとインターバル時間との関係を示します。
図 8.3-1 ウォッチドッグタイマのクリアのタイミングとインターバル時間
最小時間
524ms
タイムベースタイマ
カウントクロック出力
ウォッチドッグクリア
オ―バフロー
ウォッチドッグ
1ビットカウンタ
ウォッチドッグ
リセット
最大時間
1.05s
タイムベースタイマ
カウントクロック出力
ウォッチドッグクリア
オーバフロー
ウォッチドッグ
1ビットカウンタ
ウォッチドッグ
リセット
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
111
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.3 動作説明と設定手順例
MB95810K シリーズ
● サブクロックモード時の動作
サブクロックモードでウォッチドッグリセットが発生した場合 , タイマは発振安定待
ち時間の経過後にメインクロックモードで動作を開始します。この発振安定待ち時間
内にリセット信号が出力されます。
■ 設定手順例
以下に , ソフトウェアウォッチドッグタイマの設定手順を示します。
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 についての詳細は , 「第 27 章 不揮発性レジ
スタ (NVR) インタフェース」を参照してください。
2. ウォッチドッグタイマをクリアしてください (WDTC:WTE[3:0] = 0b0101)。
112
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
8.4
レジスタ
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.4 レジスタ
ウォッチドッグタイマのレジスタについて説明します。
表 8.4-1
ウォッチドッグタイマのレジスタ一覧
レジスタ略称
WDTC
MN702-00012-2v0-J
レジスタ名
ウォッチドッグタイマ制御レジスタ
FUJITSU SEMICONDUCTOR LIMITED
参照先
8.4.1
113
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.4 レジスタ
MB95810K シリーズ
ウォッチドッグタイマ制御レジスタ (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-00012-2v0-J
MB95810K シリーズ
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.4 レジスタ
[bit3:0] WTE[3:0]: ウォッチドッグ制御ビット
これらのビットはウォッチドッグタイマを制御します。
これらのビットの読出し値は常に "0b0000" です。
説明
bit3:0
"0101" を書き込んだ場合
ウォッチドッグタイマを起動 ( リセット後の 1 回目の書込み ) ま
たはウォッチドッグタイマをクリア ( リセット後の 2 回目以降の
書込み ) します。
• ウォッチドッグタイマの起動
リセット後の1回目の書込みはソフトウェアウォッチドッグタイ
マを起動します。
• ウォッチドッグタイマのクリア
リセット後の1回目以降の書込みはハードウェアウォッチドッグ
タイマをクリアします。
リセット後の2回目以降の書込みはソフトウェアウォッチドッグ
タイマをクリアします。
"0101" 以外の値を書き込んだ場合
動作に影響はありません。
<注意事項>
本レジスタはリードモディファイライト (RMW) 系命令が使用できません。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
115
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.5 使用上の注意
8.5
MB95810K シリーズ
使用上の注意
ウォッチドッグタイマの使用に関する注意を示します。
■ ウォッチドッグタイマ使用上の注意
● ウォッチドッグタイマの停止について
ソフトウェアウォッチドッグの場合
ウォッチドッグタイマは , 一度起動すると , リセットが発生するまで停止できません。
● カウントクロックの選択について
ソフトウェアウォッチドッグの場合
カウントクロック切換えビット (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-00012-2v0-J
MB95810K シリーズ
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.5 使用上の注意
サブクロックを選択する際にはサブクロックの安定待ち時間の設定にも留意してくだ
さい。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
117
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.5 使用上の注意
118
MB95810K シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第9章
時計プリスケーラ
時計プリスケーラの機能と動作について説明します。
MN702-00012-2v0-J
9.1
概要
9.2
構成
9.3
割込み
9.4
動作説明と設定手順例
9.5
レジスタ
9.6
使用上の注意
FUJITSU SEMICONDUCTOR LIMITED
119
第 9 章 時計プリスケーラ
9.1 概要
9.1
MB95810K シリーズ
概要
時計プリスケーラは , サブクロックの 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-00012-2v0-J
第 9 章 時計プリスケーラ
9.2 構成
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
121
第 9 章 時計プリスケーラ
9.2 構成
MB95810K シリーズ
● 時計プリスケーラカウンタ ( カウンタ )
サブクロックの 2 分周またはサブ CR クロックの 2 分周をカウントクロックとする 16
ビットのダウンカウンタです。
● カウンタクリア回路
時計プリスケーラのクリアを制御する回路です。
● インターバルタイマセレクタ
時計プリスケーラカウンタ中にある 17 ビットの内の 8 ビットから , インターバルタイ
マ用の 1 ビットを選択する回路です。
● 時計プリスケーラ制御レジスタ (WPCR)
インターバル時間の選択 , カウンタのクリア , 割込み制御および状態の確認を行うレジ
スタです。
■ 入力クロック
時計プリスケーラは , サブクロックの 2 分周またはサブ CR クロックの 2 分周を入力ク
ロック ( カウントクロック ) として使用します。
■ 出力クロック
時計プリスケーラは , ソフトウェアウォッチドッグタイマにクロックを供給します。
122
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 9 章 時計プリスケーラ
9.3 割込み
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
123
第 9 章 時計プリスケーラ
9.4 動作説明と設定手順例
9.4
MB95810K シリーズ
動作説明と設定手順例
時計プリスケーラは , インターバルタイマ機能として動作します。
■ インターバルタイマ機能の動作 ( 時計プリスケーラ )
時計プリスケーラのカウンタは , サブクロックまたはサブ 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-00012-2v0-J
第 9 章 時計プリスケーラ
9.4 動作説明と設定手順例
MB95810K シリーズ
待ち時間とサブ 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-00012-2v0-J
: 時計プリスケーラ制御レジスタの時計プリスケーラ割込みインターバル時間選択ビット
: 時計プリスケーラ制御レジスタの時計プリスケーラクリアビット
: 時計プリスケーラ制御レジスタの時計プリスケーラ割込み要求フラグビット
: 時計プリスケーラ制御レジスタの時計プリスケーラ割込み要求許可ビット
: スタンバイ制御レジスタのスリープビット
: スタンバイ制御レジスタのストップビット
FUJITSU SEMICONDUCTOR LIMITED
125
第 9 章 時計プリスケーラ
9.4 動作説明と設定手順例
MB95810K シリーズ
■ 設定手順例
以下に , 時計プリスケーラの設定手順例を示します。
● 初期設定
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-00012-2v0-J
第 9 章 時計プリスケーラ
9.5 レジスタ
MB95810K シリーズ
9.5
レジスタ
時計プリスケーラのレジスタについて説明します。
表 9.5-1
時計プリスケーラのレジスタ一覧
レジスタ略称
WPCR
MN702-00012-2v0-J
レジスタ名
時計プリスケーラ制御レジスタ
FUJITSU SEMICONDUCTOR LIMITED
参照先
9.5.1
127
第 9 章 時計プリスケーラ
9.5 レジスタ
9.5.1
MB95810K シリーズ
時計プリスケーラ制御レジスタ (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-00012-2v0-J
第 9 章 時計プリスケーラ
9.5 レジスタ
MB95810K シリーズ
[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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
129
第 9 章 時計プリスケーラ
9.6 使用上の注意
9.6
MB95810K シリーズ
使用上の注意
時計プリスケーラ使用上の注意を示します。
■ 時計プリスケーラ使用上の注意
● プログラムで割込み処理を設定する場合
時計プリスケーラ割込み要求フラグビット (WPCR:WTIF) が "1" に設定され , 割込み
要求 が許可 (WPCR:WTIE = 1) されている場合には , 時計プリスケーラは割込み処理か
ら復帰できません。必ず割込みルーチン内で WTIF ビットをクリアしてください。
● 時計プリスケーラのクリアについて
ソフトウェアウォッチドッグタイマのカウントクロックとして時計プリスケーラを選
択 (WDTC:CS[1:0], CSP = 0b100 または 0b110) した場合 , 時計プリスケーラをクリアす
るとソフトウェアウォッチドッグタイマもクリアされます。
● 時計プリスケーラ割込みについて
メインクロック , メイン CR クロックまたはメイン CR PLL クロック使用時のストップ
モードでは , 時計プリスケーラはカウント動作を行い , 時計プリスケーラ割込みを発生
できます。
● 時計プリスケーラからクロックを供給される周辺機能について
時計プリスケーラのカウンタをクリアすると , 時計プリスケーラの出力を使用してい
るほかの周辺機能は , 動作周期が変化するなど周辺機能の動作に影響を受けます。
なお , 時計プリスケーラのカウンタがクリアされた後 , 時計プリスケーラから出力され
たソフトウェアウォッチドッグタイマ用のクロックは , 初期状態となります。ソフト
ウェアウォッチドッグタイマのクロックが初期状態に戻ると同時に , ソフトウェア
ウォッチドッグタイマのカウンタがクリアされるため , ソフトウェアウォッチドッグ
タイマは正常な周期で動作します。
130
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 10 章
時計カウンタ
時計カウンタの機能と動作について説明します。
10.1 概要
10.2 構成
10.3 割込み
10.4 動作説明と設定手順例
10.5 レジスタ
10.6 使用上の注意
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
131
第 10 章 時計カウンタ
10.1 概要
10.1
MB95810K シリーズ
概要
時計カウンタは , 最小 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-00012-2v0-J
第 10 章 時計カウンタ
10.2 構成
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
133
第 10 章 時計カウンタ
10.2 構成
MB95810K シリーズ
● カウンタ
時計プリスケーラの出力クロックをカウントクロックとして使用する 6 ビットダウン
カウンタです。
● 時計カウンタ制御レジスタ (WCSR)
割込みを制御し , 割込みステータスを確認し , カウント値を読み出します。
● 時計カウンタデータレジスタ (WCDR)
カウンタクロックを選択し , カウンタリロード値を設定します。
■ 入力クロック
時計カウンタは時計プリスケーラの出力クロックを入力クロック ( カウントクロック )
として使用します。
134
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 10 章 時計カウンタ
10.3 割込み
MB95810K シリーズ
10.3
割込み
時計カウンタは , カウンタがアンダフローするときに ( カウンタ値 = 0b000001) 割込
み要求を出力します。
■ 時計カウンタの割込み
時計カウンタのカウンタがアンダフローするときは , 時計カウンタ制御レジスタ
(WCSR) の時計カウンタ割込み要求フラグビット (WCFLG) は "1" に設定されます。
WCSR レジスタの時計カウンタ起動および割込み要求許可ビット (ISEL) も "1" に設定
されている場合 , 時計カウンタの割込み要求は割込みコントローラに対して出力され
ます。
表 10.3-1 は時計カウンタの割込み制御ビットと割込み発生要因を示します。
表 10.3-1 時計カウンタの割込み制御ビットと割込み発生要因
項目
説明
割込み要求フラグビット
WCSR:WCFLG
割込み要求許可ビット
WCSR:ISEL
割込み要因
カウンタのアンダフロー
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
135
第 10 章 時計カウンタ
10.4 動作説明と設定手順例
10.4
MB95810K シリーズ
動作説明と設定手順例
時計カウンタは , 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-00012-2v0-J
MB95810K シリーズ
第 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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
137
第 10 章 時計カウンタ
10.5 レジスタ
10.5
MB95810K シリーズ
レジスタ
時計カウンタのレジスタについて説明します。
表 10.5-1 時計カウンタのレジスタ一覧
レジスタ略称
138
レジスタ名
参照先
WCDR
時計カウンタデータレジスタ
10.5.1
WCSR
時計カウンタ制御レジスタ
10.5.2
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
139
第 10 章 時計カウンタ
10.5 レジスタ
10.5.2
MB95810K シリーズ
時計カウンタ制御レジスタ (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-00012-2v0-J
MB95810K シリーズ
10.6
使用上の注意
第 10 章 時計カウンタ
10.6 使用上の注意
時計カウンタ使用上の注意を示します。
• 時計プリスケーラが時計カウンタの動作中にクリアされた場合 , 時計カウンタは通
常の動作ができないことがあります。時計プリスケーラをクリアする前に , WCSR
レジスタの ISEL ビットに "0" を書き込んで時計カウンタを停止してください。
• 時計カウンタを停止した後 , ISEL ビットに "1" を書き込んで時計カウンタを再起動
する前に , WCSR レジスタの CTR[5:0] ビットの値を 2 回読み出して , CTR[5:0] ビッ
トが "0b000000" にクリアされたことを確認してください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
141
第 10 章 時計カウンタ
10.6 使用上の注意
142
MB95810K シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 11 章
ワイルドレジスタ機能
ワイルドレジスタの機能と動作について説明しま
す。
11.1 概要
11.2 構成
11.3 動作説明
11.4 レジスタ
11.5 一般的なハードウェア接続例
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
143
第 11 章 ワイルドレジスタ機能
11.1 概要
11.1
MB95810K シリーズ
概要
ワイルドレジスタ機能を使うことで , 内蔵レジスタに設定したアドレスと修正データ
で , プログラムのバグにパッチをあてることができます。
ワイルドレジスタの機能について説明します。
■ ワイルドレジスタ機能
ワイルドレジスタは , 3 本のワイルドレジスタデータ設定レジスタ , 3 本のワイルドレ
ジスタアドレス設定レジスタ , 1 バイトのアドレス比較許可レジスタおよび 1 バイトの
ワイルドレジスタデータテスト設定レジスタから構成されます。これらのレジスタに
修正したいアドレスとデータを設定すると , ROM データはレジスタに設定した修正
データに置き換えることができます。最大 3 つの異なるアドレスのデータを修正できま
す。
ワイルドレジスタの機能を使用して , マスク生成後にプログラムのデバッグをするこ
とと , プログラムの不良箇所にパッチをあてることができます。
144
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 11 章 ワイルドレジスタ機能
11.2 構成
MB95810K シリーズ
11.2
構成
ワイルドレジスタのブロックダイヤグラムを示します。
ワイルドレジスタは , 以下のブ
ロックで構成されます。
• メモリ領域部
ワイルドレジスタデータ設定レジスタ (WRDR0 ~ WRDR2)
ワイルドレジスタアドレス設定レジスタ (WRAR0 ~ WRAR2)
ワイルドレジスタアドレス比較許可レジスタ (WREN)
ワイルドレジスタデータテスト設定レジスタ (WROR)
• 制御回路部
■ ワイルドレジスタ機能のブロックダイヤグラム
図 11.2-1 ワイルドレジスタ機能のブロックダイヤグラム
ワイルドレジスタ機能
制御回路部
アクセス制御回路
デコーダと
ロジック制御回路
アドレス
比較回路
メモリ領域部
内 部 バス
ワイルドレジスタ
アドレス設定レジスタ
(WRAR)
アクセス
制御回路
ワイルドレジスタ
データ設定レジスタ
(WRDR)
ワイルドレジスタ
アドレス比較許可レジスタ
(WREN)
●
●
●
ワイルドレジスタ
データテスト設定レジスタ
(WROR)
メモリ空間
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
145
第 11 章 ワイルドレジスタ機能
11.2 構成
MB95810K シリーズ
● メモリ領域部
メモリ領域部は , ワイルドレジスタデータ設定レジスタ (WRDR), ワイルドレジスタア
ドレス設定レジスタ (WRAR), ワイルドレジスタアドレス比較許可レジスタ (WREN) お
よびワイルドレジスタデータテスト設定レジスタ(WROR)より構成されます。ワイルド
レジスタ機能を使用して , 置き換えたいアドレスおよびデータを設定します。ワイルド
レジスタアドレス比較許可レジスタ (WREN) は , ワイルドレジスタデータ設定レジス
タ (WRDR) に対応するワイルドレジスタ機能を許可にします。また , ワイルドレジスタ
データテスト設定レジスタ (WROR) は , ワイルドレジスタデータ設定レジスタ (WRDR)
に対応する通常読出し機能を有効にします。
● 制御回路部
この回路は , ワイルドレジスタアドレス設定レジスタ (WRAR) に設定されているアド
レスと実際のアドレスデータとを比較します。一致している場合には , 制御回路部は ,
ワイルドレジスタデータ設定レジスタ(WRDR)からデータバスへデータを出力します。
制御回路部は , ワイルドレジスタアドレス比較許可レジスタ (WREN) により動作を制
御する回路です。
146
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 11 章 ワイルドレジスタ機能
11.3 動作説明
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
147
第 11 章 ワイルドレジスタ機能
11.4 レジスタ
MB95810K シリーズ
レジスタ
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-00012-2v0-J
第 11 章 ワイルドレジスタ機能
11.4 レジスタ
MB95810K シリーズ
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
WRDR1
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
WRDR2
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
■ レジスタ機能
[bit7:0] RD[7:0]: ワイルドレジスタデータ設定ビット
これらのビットはワイルドレジスタ機能により修正されるデータを指定します。
これらのビットを使い , ワイルドレジスタアドレス設定レジスタ (WRAR) で割り当てられたアドレ
スに修正データを設定します。それぞれのワイルドレジスタ番号に対応したアドレスにてデータが
有効になります。
これらのビットの読出しは , ワイルドレジスタデータテスト設定レジスタ (WROR) で対応するデー
タテスト設定ビットを "1" に設定した場合のみ許可となります。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
149
第 11 章 ワイルドレジスタ機能
11.4 レジスタ
11.4.2
MB95810K シリーズ
ワイルドレジスタアドレス設定レジスタ
(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
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
WRAR1
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
WRAR2
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
■ レジスタ動作
[bit15:0] RA[15:0]: ワイルドレジスタアドレス設定ビット
これらのビットはワイルドレジスタ機能により修正するアドレスを設定します。
修正データに割り当てられたアドレスを設定します。アドレスは , ワイルドレジスタアドレス設定
レジスタに対応するワイルドレジスタ番号に従って設定されます。
150
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 11 章 ワイルドレジスタ機能
11.4 レジスタ
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
151
第 11 章 ワイルドレジスタ機能
11.4 レジスタ
11.4.4
MB95810K シリーズ
ワイルドレジスタデータテスト設定レジスタ
(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-00012-2v0-J
MB95810K シリーズ
11.5
一般的なハードウェア接続例
第 11 章 ワイルドレジスタ機能
11.5 一般的なハードウェア接続例
以下に , ワイルドレジスタ機能を使用するときのハードウェア間の一般的な接続につ
いて例示します。
■ ハードウェア接続例
図 11.5-1 一般的なハードウェア接続例
EEPROM
(修正プログラム格納)
MN702-00012-2v0-J
MCU
SO
SIN
SI
SOT
SCK
SCK
FUJITSU SEMICONDUCTOR LIMITED
153
第 11 章 ワイルドレジスタ機能
11.5 一般的なハードウェア接続例
154
MB95810K シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
155
第 12 章 8/16 ビット複合タイマ
12.1 概要
12.1
MB95810K シリーズ
概要
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-00012-2v0-J
MB95810K シリーズ
第 12 章 8/16 ビット複合タイマ
12.1 概要
■ PWC タイマ機能
PWC タイマ機能が選択されると , 外部入力パルスの幅および周期を測定できます。
この動作モードでは , 外部入力信号のカウント開始エッジを検出した直後に , カウンタ
は "0x00" からカウント動作を開始します。
この後 , カウント終了エッジが検出されると ,
カウンタは , カウント値をレジスタに転送し , 割込みを発生させます。
■ インプットキャプチャ機能
インプットキャプチャ機能が選択されると , 外部入力信号のエッジを検出した直後に ,
カウンタ値をレジスタに格納します。
この機能には , カウント動作にフリーランモードとクリアモードがあります。
クリアモードでは , カウンタは "0x00" からカウント動作を開始し , エッジを検出すると ,
カウンタの値をレジスタに転送して割込みを発生させます。その後 , カウンタは "0x00"
からカウントを再開します。
フリーランモードでは , カウンタはエッジを検出した時点で , カウンタ値をレジスタに
転送して割込みを発生させます。この後 , クリアモードの場合とは異なり , カウンタは ,
"0x00" にクリアすることなく , そのままカウント動作を継続します。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
157
第 12 章 8/16 ビット複合タイマ
12.2 構成
12.2
MB95810K シリーズ
構成
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-00012-2v0-J
第 12 章 8/16 ビット複合タイマ
12.2 構成
MB95810K シリーズ
■ 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
TII0
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
159
第 12 章 8/16 ビット複合タイマ
12.2 構成
MB95810K シリーズ
● 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" パルスノイズ除去から選択できます。
● TII0 内部端子 (LIN-UART に内部接続 , タイマ 00 にのみ搭載 )
TII0 端子はタイマ 00 の信号入力端子として機能しますが , チップ内部で LIN-UART に
接続されています。その使用方法については「第 15 章 LIN-UART」を参照してくださ
い。なお , タイマ 00 以外の TII0 端子は内部で "0" に固定されています。
■ 入力クロック
8/16 ビット複合タイマは , プリスケーラからの出力クロックを入力クロック ( カウント
クロック ) として使用します。
160
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 12 章 8/16 ビット複合タイマ
12.3 チャネル
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
161
第 12 章 8/16 ビット複合タイマ
12.4 端子
12.4
MB95810K シリーズ
端子
8/16 ビット複合タイマの端子について説明します。
■ 8/16 ビット複合タイマの端子
8/16 ビット複合タイマの外部端子は , TOn0, TOn1, ECn です。TII0 はチップ内部接続用
です。
● 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-00012-2v0-J
MB95810K シリーズ
第 12 章 8/16 ビット複合タイマ
12.4 端子
16 ビット動作時には , この端子の入力機能は使用されません。PWM タイマ機能 ( 周
期可変モード ) が選択されているときには , この端子の入力機能は使用可能です。
この入力機能を使用するときには, ECn端子に対応するポート方向レジスタのビット
を "0" に設定して , 入力ポートにしてください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
163
第 12 章 8/16 ビット複合タイマ
12.5 割込み
12.5
MB95810K シリーズ
割込み
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-00012-2v0-J
第 12 章 8/16 ビット複合タイマ
12.6 インターバルタイマ機能 ( ワンショットモード ) の
動作説明
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
165
第 12 章 8/16 ビット複合タイマ
12.6 インターバルタイマ機能 ( ワンショットモード ) の
動作説明
図 12.6-2 8 ビット動作時のインターバルタイマ機能 ( ワンショットモード ) の動作
MB95810K シリーズ
カウンタ値
0xFF
0x80
0x00
時間
Tn0DR/Tn1DR値
(0xFF)
タイマサイクル
Tn0DR/Tn1DR値変更(0xFF→0x80)*
プログラムにより
クリア
IFビット
STAビット
自動的にクリア
反転
再起動
自動的にクリア 再起動
出力初期値の変更なし(“0”)に再起動する
タイマ出力端子
初期値“1”で起動
*: Tn0DR/Tn1DRデータレジスタ値が動作中に変更された場合,新しい値が次のアクティブサイクルから使用されます。
166
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 12 章 8/16 ビット複合タイマ
12.7 インターバルタイマ機能 ( 連続モード ) の動作説明
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
167
第 12 章 8/16 ビット複合タイマ
12.7 インターバルタイマ機能 ( 連続モード ) の動作説明
MB95810K シリーズ
図 12.7-2 インターバルタイマ機能 ( 連続モード ) の動作図
コンペア値
コンペア値(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-00012-2v0-J
第 12 章 8/16 ビット複合タイマ
12.8 インターバルタイマ機能 ( フリーランモード ) の動
作説明
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
169
第 12 章 8/16 ビット複合タイマ
12.8 インターバルタイマ機能 ( フリーランモード ) の動
作説明
図 12.8-2 インターバルタイマ機能 ( フリーランモード ) の動作図
MB95810K シリーズ
(0xE0)
カウンタ値
0xFF
0xE0
0x80
0x00
時間
Tn0DR/Tn1DR値(0xE0)
プログラムによるクリア
IFビット
STAビット
起動
一致
一致
一致
一致
カウンタ値一致*
タイマ出力端子
*: 動作中に一致が検出されても, カウンタはクリアされません。データレジスタの設定は比較データラッチにリロードされます。
170
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 12 章 8/16 ビット複合タイマ
12.9 PWM タイマ機能 ( 周期固定モード ) の動作説明
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
171
第 12 章 8/16 ビット複合タイマ
12.9 PWM タイマ機能 ( 周期固定モード ) の動作説明
MB95810K シリーズ
図 12.9-2 PWM タイマ機能 ( 周期固定モード ) の動作図
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-00012-2v0-J
第 12 章 8/16 ビット複合タイマ
12.10 PWM タイマ機能 ( 周期可変モード ) の動作説明
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
173
第 12 章 8/16 ビット複合タイマ
12.10 PWM タイマ機能 ( 周期可変モード ) の動作説明
MB95810K シリーズ
タイマ動作を停止したとき , タイマ出力ビット (TMCRn:TO0) は最後の出力値を保持し
ます。
動作中に 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-00012-2v0-J
第 12 章 8/16 ビット複合タイマ
12.11 PWC タイマ機能の動作説明
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
175
第 12 章 8/16 ビット複合タイマ
12.11 PWC タイマ機能の動作説明
MB95810K シリーズ
カウンタの値を超える時間を測定する場合は , カウンタオーバフローの回数をソフト
ウェアでカウントすることにより , カウンタの値を超えた時間を求めることができま
す。すなわち , カウンタがオーバフローすると , 割込みフラグ (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-00012-2v0-J
第 12 章 8/16 ビット複合タイマ
12.12 インプットキャプチャ機能の動作説明
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
177
第 12 章 8/16 ビット複合タイマ
12.12 インプットキャプチャ機能の動作説明
MB95810K シリーズ
<注意事項>
インプットキャプチャ機能の使用上の注意については , 「12.15 使用上の注意」を参照し
てください。
図 12.12-2 インプットキャプチャ機能動作図
0xFF
0xBF
0x9F
0x7F
0x3F
Tn0DR/Tn1DRの
キャプチャ値
0xBF
キャプチャ立下りエッジ
0x3F
キャプチャ
立下りエッジ
外部入力
カウンタクリアモード
178
0x7F
キャプチャ立上りエッジ
0x9F
キャプチャ
立上りエッジ
カウンタフリーランモード
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
179
第 12 章 8/16 ビット複合タイマ
12.14 レジスタ
12.14
MB95810K シリーズ
レジスタ
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-00012-2v0-J
第 12 章 8/16 ビット複合タイマ
12.14 レジスタ
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
181
第 12 章 8/16 ビット複合タイマ
12.14 レジスタ
MB95810K シリーズ
[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-00012-2v0-J
第 12 章 8/16 ビット複合タイマ
12.14 レジスタ
MB95810K シリーズ
[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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
183
第 12 章 8/16 ビット複合タイマ
12.14 レジスタ
12.14.2
MB95810K シリーズ
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-00012-2v0-J
第 12 章 8/16 ビット複合タイマ
12.14 レジスタ
MB95810K シリーズ
[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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
185
第 12 章 8/16 ビット複合タイマ
12.14 レジスタ
MB95810K シリーズ
[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-00012-2v0-J
第 12 章 8/16 ビット複合タイマ
12.14 レジスタ
MB95810K シリーズ
[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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
187
第 12 章 8/16 ビット複合タイマ
12.14 レジスタ
12.14.3
MB95810K シリーズ
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-00012-2v0-J
第 12 章 8/16 ビット複合タイマ
12.14 レジスタ
MB95810K シリーズ
[bit5] TIS: タイマ n0 内部信号選択ビット
このビットは , PWC タイマ機能またはインプットキャプチャ機能が選択されているときに , タイマ
n0 の信号入力を選択します。
このビットの機能はチャネルにより異なります。以下は各チャネルの機能詳細を説明します。
• ch. 0
このビットへの "0" の書込みは外部信号 (EC0) をタイマ 00 の信号入力として選択します。
このビットへの "1" の書込みは内部信号 (TII0) をタイマ 00 の信号入力として選択します。
EC0 端子の外部端子割当てが選択できます。詳細は ,「第 29 章 システム構成コントローラ」を参
照してください。
タイマ動作中 (T00CR1:STA = 1) に , このビットへの書込みアクセスは無効です。
説明
bit5
"0" を書き込んだ場合
外部信号 (EC0) をタイマ 00 の信号入力として選択します。
"1" を書き込んだ場合
内部信号 (TII0) をタイマ 00 の信号入力として選択します。
• ch. 0 以外のチャネル
このビットへの "0" の書込みは外部信号 (ECn) をタイマ n0 の信号入力として選択します。
このビットへの "1" の書込みは禁止されます。必ずこのビットに "0" を書き込んでください。
説明
bit5
"0" を書き込んだ場合
外部信号 (ECn) をタイマ n0 の信号入力として選択します。
"1" を書き込んだ場合
設定禁止
[bit4] MOD: 8 ビット /16 ビット動作モード選択ビット
このビットは 8 ビットまたは 16 ビット動作モードを選択します。
このビットに"0"を書き込んだ場合,タイマn0とタイマn1は個別の8ビットタイマとして動作します。
このビットに"1"を書き込んだ場合,タイマn0とタイマn1は1つの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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
189
第 12 章 8/16 ビット複合タイマ
12.14 レジスタ
MB95810K シリーズ
[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-00012-2v0-J
第 12 章 8/16 ビット複合タイマ
12.14 レジスタ
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
191
第 12 章 8/16 ビット複合タイマ
12.14 レジスタ
MB95810K シリーズ
● 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-00012-2v0-J
第 12 章 8/16 ビット複合タイマ
12.14 レジスタ
MB95810K シリーズ
● 読出し , 書込み動作について
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-00012-2v0-J
読出し
データ
Tn1DR
レジスタ
Tn0DR
書込み
Tn1DR
読出し
FUJITSU SEMICONDUCTOR LIMITED
Tn0DR
読出し
193
第 12 章 8/16 ビット複合タイマ
12.15 使用上の注意
12.15
MB95810K シリーズ
使用上の注意
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) を変更する場合 , 8/16
ビット複合タイマ n1 データレジスタ (Tn1DR) を変更した後に , 8/16 ビット複合タ
イマ n0 データレジスタ (Tn0DR) を変更してください。
•
マイコンがストップモードまたは時計モードに移行すると , カウンタは値を保持し
て動作を停止します。ストップモードまたは時計モードが割込みによって解除され
ると , カウンタは保持した値から動作を再開します ( 図 12.15-1 と図 12.15-2 を参照
してください )。このため , 初回のインターバル時間や初期外部クロックのカウント
数は正しい値ではありません。マイコンがストップモードまたは時計モードから解
除された後には , 必ずカウンタ値を初期化してください。
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 12 章 8/16 ビット複合タイマ
12.15 使用上の注意
MB95810K シリーズ
図 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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
195
第 12 章 8/16 ビット複合タイマ
12.15 使用上の注意
196
MB95810K シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 13 章
外部割込み回路
外部割込み回路の機能と動作について説明します。
13.1 概要
13.2 構成
13.3 チャネル
13.4 端子
13.5 割込み
13.6 動作説明と設定手順例
13.7 レジスタ
13.8 使用上の注意
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
197
第 13 章 外部割込み回路
13.1 概要
13.1
MB95810K シリーズ
概要
外部割込み回路は , 外部割込み端子に入力された信号のエッジを検出し , 割込みコン
トローラへ割込み要求を出力します。
■ 外部割込み回路の機能
外部割込み回路は , 外部割込み端子に入力された信号の任意のエッジを検出し , 割込み
コントローラに対して割込み要求を発生します。この割込み要求によって , デバイスを
スタンバイモードから復帰させ , 通常の動作状態に戻せます。そのため , デバイスの動
作モードは , 外部割込み端子に信号が入力されたときに変更可能となります。
198
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 13 章 外部割込み回路
13.2 構成
MB95810K シリーズ
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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
199
第 13 章 外部割込み回路
13.3 チャネル
13.3
MB95810K シリーズ
チャネル
外部割込み回路のチャネルについて説明します。
■ 外部割込み回路のチャネル
表 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-00012-2v0-J
MB95810K シリーズ
13.4
端子
第 13 章 外部割込み回路
13.4 端子
外部割込み回路の端子について説明します。
■ 外部割込み回路の端子
● INT 端子
この端子は , 外部割込み入力端子および汎用 I/O ポートとして機能します。
INT 端子は , ポート方向レジスタ (DDR) によって対応する端子を入力ポートに設定し ,
外部割込み制御レジスタ (EIC) によって対応する外部割込み入力を許可すると , 外部割
込み入力端子 (INT) として機能します。
端子が入力ポートとして設定されている場合 , その端子の状態は , 常にポートデータレ
ジスタ (PDR) から読み出せます。PDR の値はリードモディファイライト (RMW) 系命令
で読み出せます。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
201
第 13 章 外部割込み回路
13.5 割込み
13.5
MB95810K シリーズ
割込み
外部割込み回路の割込み要因としては , 外部割込み端子に入力された信号の指定エッ
ジの検出があります。
■ 外部割込み回路の動作中の割込み
外部割込み入力の指定されたエッジが検出された場合 , 対応する外部割込み要求フラ
グビット (EIC:EIR0 または EIR1) が "1" に設定されます。このとき , その外部割込み要
求フラグビットに対応する割込み要求許可ビット (EIC:EIE0 または EIE1 = 1) が許可さ
れていれば , 割込みコントローラへの割込み要求が発生します。割込みサービスルーチ
ンでは , 発生した割込み要求に対応する外部割込み要求フラグビットに "0" を書き込ん
で割込み要求をクリアしてください。
202
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 13 章 外部割込み回路
13.6 動作説明と設定手順例
MB95810K シリーズ
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-00012-2v0-J
立上りエッジ
立下りエッジ
FUJITSU SEMICONDUCTOR LIMITED
両エッジ
203
第 13 章 外部割込み回路
13.6 動作説明と設定手順例
MB95810K シリーズ
■ 設定手順例
以下に , 外部割込み回路の設定手順例を示します。
● 初期設定
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-00012-2v0-J
第 13 章 外部割込み回路
13.7 レジスタ
MB95810K シリーズ
13.7
レジスタ
外部割込み回路のレジスタについて説明します。
表 13.7-1
外部割込み回路のレジスタ一覧
レジスタ略称
EIC
MN702-00012-2v0-J
レジスタ名
外部割込み制御レジスタ
FUJITSU SEMICONDUCTOR LIMITED
参照先
13.7.1
205
第 13 章 外部割込み回路
13.7 レジスタ
13.7.1
MB95810K シリーズ
外部割込み制御レジスタ (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-00012-2v0-J
第 13 章 外部割込み回路
13.7 レジスタ
MB95810K シリーズ
[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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
207
第 13 章 外部割込み回路
13.7 レジスタ
MB95810K シリーズ
[bit0] EIE0: 割込み要求許可ビット 0
このビットは , 割込みコントローラへの割込み要求の出力を許可または禁止します。このビットと
外部割込み要求フラグビット 0 (EIR0) が "1" のとき , 割込み要求が出力されます。
外部割込み端子を使用するには , ポート方向レジスタ (DDR) の対応するビットに "0" を書き込み ,
その端子を入力ポートとして設定してください。
外部割込み端子の状態は , 割込み要求許可ビットの状態にかかわらず , ポートデータレジスタから
直接読み出せます。
説明
bit0
"0" を書き込んだ場合
割込み要求出力を禁止します。
"1" を書き込んだ場合
割込み要求出力を許可します。
208
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
13.8
使用上の注意
第 13 章 外部割込み回路
13.8 使用上の注意
外部割込み回路使用上の注意事項を示します。
■ 外部割込み回路使用上の注意
•
エッジ極性選択ビット (SL0[1:0] または SL1[1:0]) を設定する際には , 割込み要求
許可ビット (EIE0 または EIE1) を "0"( 割込み要求を禁止する ) に設定してくださ
い。また , エッジ極性を設定した後には , 外部割込み要求フラグビット (EIR0 また
は EIR1) を "0" にクリアしてください。
•
外部割込み要求フラグビットが "1" で , 割込み要求許可ビットが許可となっている
場合は , デバイスを割込みサービスルーチンから復帰させることはできません。割
込みサービスルーチンでは , 必ず外部割込み要求フラグビットをクリアしてくださ
い。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
209
第 13 章 外部割込み回路
13.8 使用上の注意
210
MB95810K シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 14 章
割込み端子選択回路
割込み端子選択回路の機能と動作について説明し
ます。
14.1 概要
14.2 構成
14.3 端子
14.4 動作
14.5 レジスタ
14.6 使用上の注意
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
211
第 14 章 割込み端子選択回路
14.1 概要
14.1
MB95810K シリーズ
概要
割込み端子選択回路は , 複数の周辺機能入力端子の中から割込み入力端子を選択しま
す。
■ 割込み端子選択回路
割込み端子選択回路は,複数の周辺機能入力(EC0, INT00, SCK, SIN, TRG0/ADTG, UCK0
と UI0) の中から割込み入力端子を選択します。各周辺機能端子の入力信号は , 本回路
によって選択され , 外部割込みの INT00 (ch.0) 入力として扱われます。これにより , 各
周辺機能端子の入力信号に外部割込み端子としての機能も持たせることができます。
212
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 14 章 割込み端子選択回路
14.2 構成
MB95810K シリーズ
14.2
構成
図 14.2-1 に , 割込み端子選択回路のブロックダイヤグラムを示します。
■ 割込み端子選択回路のブロックダイヤグラム
図 14.2-1 割込み端子選択回路のブロックダイヤグラム
外部割込み回路
各周辺機能へ
INT01
P01
INT01
割込み端子選択回路
選択回路
INT00
P00
TRG0/ADTG
P13/P83*
UI0
INT00
(ユニット0)
P10
EC0
P24
内部データバス
UCK0
P13
SCK
P65
SIN
P67
WICRレジスタ
*: SYSCレジスタを使用して, TRG0とADTGはP13またはP83にマップできます。
•
WICR レジスタ ( 割込み端子選択回路制御レジスタ )
このレジスタにより , 割込み回路へ出力する周辺機能入力端子と , 割込み端子を選
択します。
•
選択回路
WICR レジスタにて選択された端子からの入力を外部割込み回路 (ch. 0) の INT00
入力へ出力する回路です。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
213
第 14 章 割込み端子選択回路
14.3 端子
14.3
MB95810K シリーズ
端子
割込み端子選択回路の端子について説明します。
■ 割込み端子選択回路の端子
割込み端子選択回路の周辺機能端子として , EC0, INT00, SCK, SIN, TRG0/ADTG, UCK0
と UI0 端子があります。これらの入力端子 (INT00 を除く ) は , 各周辺機能へも並行し
て接続されており , 本機能とともに , 同時に使用が可能です。各周辺機能と周辺機能入
力端子の対応を表 14.3-1 に示します。
表 14.3-1 各周辺機能と周辺機能入力端子の対応
周辺機能入力端子名
214
周辺機能名
EC0
8/16 ビット複合タイマ ( イベント入力 )
INT00
割込み端子選択回路
SCK
LIN-UART ( クロック入出力 )
SIN
LIN-UART ( データ入力 )
TRG0/ADTG
16 ビット PPG タイマ ( トリガ入力 )/
8/10 ビット A/D コンバータ ( トリガ入力 )
UCK0
UART/SIO ( クロック入出力 )
UI0
UART/SIO ( データ入力 )
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
14.4
動作
第 14 章 割込み端子選択回路
14.4 動作
割込み端子は WICR レジスタの設定により選択されます。
■ 割込み端子選択回路の動作
WICR ( 割込み端子選択回路制御レジスタ ) の設定により , 外部割込み回路 (ch. 0) の
INT00 へ入力される入力端子を選択します。TRG0 端子を割込み端子として選択する場
合の , 割込み端子選択回路と外部割込み回路 (ch. 0) の設定手順を下記に示します。
1. ポート方向 (DDR) レジスタの対応するビットに "0" を書き込んで端子を入力に設
定する。
2. WICR レジスタにより TRG0 端子を割込み入力端子として選択する。
- WICR レジスタへ "0x01" を書き込む。このとき , 外部割込み回路は外部割込み回
路の EIC00 レジスタの EIE0 ビットへ "0" を書き込んで割込み禁止にしておく。
3. 外部割込み回路 (ch. 0) に INT00 の動作を許可する。
- 外部割込み回路の EIC00 レジスタの SL0[1:0] ビットへ "0b00" 以外を設定し,有効
エッジを選択するとともに , EIE0 ビットへ "1" を 書き込んで割込みを許可する。
4. 以降の割込み動作は外部割込み回路と同等となる。
- リセット解除後,WICR レジスタは "0x40" に初期化され, INT00 ビットのみ割込み
端子として選択された状態になります。INT00 端子以外の端子を外部割込み端子
として使用する場合は , 本レジスタを書き換えた後に , 外部割込み回路の動作を
許可してください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
215
第 14 章 割込み端子選択回路
14.5 レジスタ
14.5
MB95810K シリーズ
レジスタ
割込み端子選択回路のレジスタについて説明します。
表 14.5-1
割込み端子選択回路のレジスタ一覧
レジスタ略称
WICR
216
レジスタ名
割込み端子選択回路制御レジスタ
FUJITSU SEMICONDUCTOR LIMITED
参照先
14.5.1
MN702-00012-2v0-J
第 14 章 割込み端子選択回路
14.5 レジスタ
MB95810K シリーズ
14.5.1
割込み端子選択回路制御レジスタ (WICR)
このレジスタは周辺機能入力端子からのどの入力をどの割込み端子として割込み回
路へ出力するかを選択します。
■ レジスタ構成
bit
7
6
5
4
3
2
1
0
Field
—
INT00
SIN
SCK
EC0
UI0
UCK0
TRG0
属性
—
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
1
0
0
0
0
0
0
■ レジスタ機能
[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] SIN: SIN 割込み端子選択ビット
このビットは SIN 端子を割込み入力端子として選択するかどうかを設定します。
このビットに "0" が書き込まれた場合 , SIN 端子は割込み入力端子として非選択となり , 割込み端子
選択回路は SIN 端子への入力を "0" 固定として扱います。
このビットに "1" が書き込まれた場合 , SIN 端子は割込み入力端子として選択され , 本回路は SIN 端
子への入力を外部割込み回路の INT00 (ch. 0) へ出力します。このとき , 外部割込み回路の INT00 (ch.
0) の動作が許可されていると , SIN 端子への入力信号により外部割込みが発生します。
bit5
説明
"0" を書き込んだ場合
SIN は割込み入力端子として非選択となります。
"1" を書き込んだ場合
SIN を割込み入力端子として選択します。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
217
第 14 章 割込み端子選択回路
14.5 レジスタ
MB95810K シリーズ
[bit4] SCK: SCK 割込み端子選択ビット
このビットは SCK 端子を割込み入力端子として選択するかどうかを設定します。
このビットに "0" が書き込まれた場合 , SCK 端子は割込み入力端子として非選択となり , 割込み端
子選択回路は SCK 端子への入力を "0" 固定として扱います。
このビットに "1" が書き込まれた場合 , SCK 端子は割込み入力端子として選択され , 本回路は SCK
端子への入力を外部割込み回路の INT00 (ch. 0) へ出力します。このとき , 外部割込み回路の INT00
(ch. 0) の動作が許可されていると , SCK 端子への入力信号により外部割込みが発生します。
bit4
説明
"0" を書き込んだ場合
SCK は割込み入力端子として非選択となります。
"1" を書き込んだ場合
SCK を割込み入力端子として選択します。
[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 を割込み入力端子として選択します。
[bit1] UCK0: UCK0 割込み端子選択ビット
このビットは UCK0 端子を割込み入力端子として選択するかどうかを設定します。
このビットに "0" が書き込まれた場合 , UCK0 端子は割込み入力端子として非選択となり , 割込み端
子選択回路は UCK0 端子への入力を "0" 固定として扱います。
このビットに"1"が書き込まれた場合, UCK0端子は割込み入力端子として選択され, 本回路は UCK0
端子への入力を外部割込み回路の INT00 (ch. 0) へ出力します。このとき , 外部割込み回路の INT00
(ch. 0) の動作が許可されていると , UCK0 端子への入力信号により外部割込みが発生します。
bit1
説明
"0" を書き込んだ場合
UCK0 は割込み入力端子として非選択となります。
"1" を書き込んだ場合
UCK0 を割込み入力端子として選択します。
218
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 14 章 割込み端子選択回路
14.5 レジスタ
MB95810K シリーズ
[bit0] TRG0: TRG0 割込み端子選択ビット
このビットは TRG0 端子を割込み入力端子として選択するかどうかを設定します。
このビットに "0" が書き込まれた場合 , TRG0 端子は割込み入力端子として非選択となり , 割込み端
子選択回路は TRG0 端子への入力を "0" 固定として扱います。
このビットに"1" が書き込まれた場合, TRG0端子は割込み入力端子として選択され, 本回路は TRG0
端子への入力を外部割込み回路の INT00 (ch. 0) へ出力します。このとき , 外部割込み回路の INT00
(ch. 0) の動作が許可されていると , TRG0 端子への入力信号により外部割込みが発生します。
bit0
説明
"0" を書き込んだ場合
TRG0 は割込み入力端子として非選択となります。
"1" を書き込んだ場合
TRG0 を割込み入力端子として選択します。
デバイスの スタンバイモードで , 本レジスタの ( 未定義ビット以外の ) いずれかのビットが "1" に
設定されており , かつ外部割込み回路の INT00 (ch.0) の動作が許可されている場合 , 選択された端子
は入力動作の実行が許可された状態となります。端子への有効エッジパルス入力により , デバイス
はスタンバイモードからウェイクアップします。スタンバイモードについては ,「3.5 低消費電力
モード ( スタンバイモード ) の動作」を参照してください。
<注意事項>
外部割込み回路の INT00 (ch. 0) が動作許可されていない場合 ,これらのビットに "1" を書
き込んでも , 各周辺機能端子の入力信号で外部割込みは発生しません。
外部割込み回路の INT00 (ch. 0) が動作許可されている場合,これらのビットを書き換えな
いでください。もし書き換えた場合 , 該当端子の入力レベルによっては , 外部割込み回路
が有効エッジを検出してしまうことがあります。
WICR レジスタにより複数の割込み端子を同時に選択し , かつ外部割込み回路の INT00
(ch. 0) の動作が許可 ( 外部割込み回路の EIC レジスタの SL0[1:0] ビットに "0b00" 以外を
書き込む ) されている場合 , 選択された端子はスタンバイモード時においても , 割込み受
付けのために入力許可状態となります。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
219
第 14 章 割込み端子選択回路
14.6 使用上の注意
14.6
MB95810K シリーズ
使用上の注意
割込み端子選択回路使用上の注意を示します。
220
•
WICR レジスタにより , 複数の割込み端子を同時に選択し , かつ外部割込み回路の
INT00 (ch. 0) の動作が許可されている ( 外部割込み回路の EIC レジスタの SL0[1:0]
ビットに "0b00" 以外を書き込んで , 有効エッジを選択するとともに , EIE0 ビットに
"1" を書き込んで割込みを許可する ) 場合 , 選択された端子はスタンバイモードにお
いても , 割込み受付けのために入力許可状態となります。
•
WICR レジスタにより , 複数の割込み端子を同時に選択した場合 , それらの端子へ
入力された信号のいずれかが "H" のとき , 外部割込み回路の INT00 (ch. 0) への入力
は "H" として扱われます ( 選択された端子に入力された信号の "OR" となります )。
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 15 章
LIN-UART
LIN-UART の機能と動作について説明します。
15.1 概要
15.2 構成
15.3 端子
15.4 割込み
15.5 LIN-UART ボーレート
15.6 動作説明と設定手順例
15.7 レジスタ
15.8 使用上の注意
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
221
第 15 章 LIN-UART
15.1 概要
15.1
MB95810K シリーズ
概要
LIN (Local Interconnect Network) -UART は , 外部装置と同期通信もしくは非同期通
信 ( 調歩同期 ) をするための汎用のシリアルデータ通信インタフェースです。双方向通
信機能 ( ノーマルモード ) とマスタ / スレーブ型通信機能 ( マルチプロセッサモード :
マスタ動作とスレーブ動作の両方をサポート ) に加え , LIN バスに対応するための特
別な機能もサポートします。
■ LIN-UART の機能
LIN-UART は , ほかの CPU や周辺装置とシリアルデータを送受信するための汎用シリ
アルデータ通信インタフェースです。表 15.1-1 に , LIN-UART の機能を示します。
表 15.1-1 LIN-UART の機能
機能
データバッファ
全二重ダブルバッファ
シリアル入力
LIN-UART は , 受信したデータを 5 回オーバサンプリングし , サンプリング値
の多数決により受信値を決定します ( 非同期モードのみ )。
転送モード
• クロック同期 ( スタート / ストップ同期またはスタートビット / ストップ
ビットを選択 )
• クロック非同期 ( スタートビットまたはストップビットが使用可能 )
ボーレート
• 専用ボーレートジェネレータあり (15 ビットのリロードカウンタで構成さ
れている )
• 外部クロック入力可能。リロードカウンタにより調整できます。
データ長
信号方式
• 7 ビット ( 同期モードまたは LIN モード以外 )
• 8 ビット
NRZ (Non Return to Zero)
スタートビットタイミング
非同期モード時は , スタートビット立下りエッジに同期
受信エラー検出
• フレーミングエラー
• オーバランエラー
• パリティエラー ( 動作モード 1 ではサポートされません )
割込み要求
• 受信割込み ( 受信完了 , 受信エラー検出 , LIN synch break 検出 )
• 送信割込み ( 送信データエンプティ)
• TII0 への割込み要求 (LIN synch field 検出 : LSYN)
マスタ / スレーブ型通信機能
( マルチプロセッサモード )
1 ( マスタ ) - n ( スレーブ ) 間の通信が可能
( マスタとスレーブシステムの両方をサポート )
同期モード
シリアルクロックの送信側 / 受信側
端子アクセス
シリアル入出力端子の状態を直接読出し可能
LIN バスオプション
•
•
•
•
•
同期シリアルクロック
スタート / ストップビットを用いて同期通信するために , SCK 端子に連続出
力可能
クロック遅延オプション
クロックを遅らせるための特殊な同期クロックモード ( シリアルペリフェラ
ルインタフェース (SPI) で使用 )
222
マスタデバイス動作
スレーブデバイス動作
LIN synch break 検出
LIN synch break 生成
8/16 ビット複合タイマに接続している LIN synch field のスタート / ストッ
プエッジの検出
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 15 章 LIN-UART
15.1 概要
MB95810K シリーズ
LIN-UART は 4 つの異なるモードで動作します。
動作モードは , LIN-UART シリアルモー
ドレジスタ (SMR) の MD0, MD1 ビットにより選択されます。
動作モード 0 と動作モード
2 は双方向シリアル通信 , 動作モード 1 はマスタ / スレーブ型通信 , 動作モード 3 は LIN
マスタ / スレーブ型通信に使用します。
表 15.1-2 LIN-UART の動作モード
動作モード
データ長
パリティなし
0
ノーマルモード
1
マルチプロセッサ
モード
2
ノーマルモード
3
LIN モード
パリティあり
7 ビットまたは 8 ビット
7 ビットまたは
8 ビット +1*
-
8 ビット
8 ビット
-
同期
方式
ストップ
ビット長
非同期
非同期
1 ビットまた
は 2 ビット
同期
なし , 1 ビッ
ト , 2 ビット
非同期
1 ビット
データビット
フォーマット
LSB ファースト
MSB ファースト
LSB ファースト
-: 使用不可
*: 「+1」は , マルチプロセッサモードで通信制御に使用されるアドレス / データ選択ビット (AD)
LIN-UART シリアルモードレジスタ (SMR) の MD0 と MD1 ビットで , 以下の LIN-UART
の動作モードを選択します。
表 15.1-3 LIN-UART の動作モード
MD1
MD0
0
0
モード
0
非同期 ( ノーマルモード )
種類
0
1
1
非同期 ( マルチプロセッサモード )
1
0
2
同期 ( ノーマルモード )
1
1
3
非同期 (LIN モード )
• 動作モード 1 は , マルチプロセッサモードにおけるマスタとスレーブのいずれの動
作にも対応します。
• 動作モード 3 は , 通信フォーマットが 8 ビットデータ , パリティなし , 1 ストップ
ビット , LSB ファーストに固定されます。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
223
第 15 章 LIN-UART
15.2 構成
15.2
MB95810K シリーズ
構成
LIN-UART は以下のブロックで構成されます。
• リロードカウンタ
• 受信制御回路
• 受信シフトレジスタ
• LIN-UART 受信データレジスタ (RDR)
• 送信制御回路
• 送信シフトレジスタ
• LIN-UART 送信データレジスタ (TDR)
• エラー検出回路
• オーバサンプリング回路
• 割込み生成回路
• LIN synch break/synch field 検出回路
• バスアイドル検出回路
• LIN-UART シリアル制御レジスタ (SCR)
• LIN-UART シリアルモードレジスタ (SMR)
• LIN-UART シリアルステータスレジスタ (SSR)
• LIN-UART 拡張ステータス制御レジスタ (ESCR)
• LIN-UART 拡張通信制御レジスタ (ECCR)
224
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 15 章 LIN-UART
15.2 構成
MB95810K シリーズ
■ LIN-UART のブロックダイヤグラム
図 15.2-1 LIN-UART のブロックダイヤグラム
OTO,
EXT,
REST
マシン
クロック
PE
ORE FRE
TIE
RIE
LBIE
LBD
送信クロック
リロード
カウンタ
割込み
生成回路
受信クロック
SCK
送信制御回路
受信制御回路
RBI
TBI
端子
送信スタート
回路
スタートビット
検出回路
受信
IRQ
SIN
再スタート受信
リロードカウンタ
端子
受信ビット
カウンタ
送信ビット
カウンタ
受信パリティ
カウンタ
送信パリティ
カウンタ
送信
IRQ
TDRE
SOT
オーバサン
プリング
回路
端子
RDRF
SOT
8/1 6 ビット複合
タイマへの内部
信号
SIN
LIN break/
Synch Field
検出回路
SIN
送信シフト
レジスタ
受信シフト
レジスタ
LIN break
生成回路
バスアイドル LBR
LBL1
検出回路
LBL0
エラー
検出
PE
ORE
FRE
送信開始
RDR
TDR
RBI
LBD
TBI
内部データバス
PE
ORE
FRE
RDRF
TDRE
BDS
RIE
TIE
SSR
レジスタ
MD1
MD0
OTO
EXT
REST
UPCL
SCKE
SOE
PEN
P
SBL
SMR
CL
レジスタ AD
CRE
RXE
TXE
SCR
レジスタ
LBIE
LBD
LBL1
LBL0
SOPE
SIOP
CCO
SCES
LBR
MS
ESCR SCDE
レジスタ SSM
ECCR
レジスタ
RBI
TBI
● リロードカウンタ
このブロックは , 専用ボーレートジェネレータとして機能する 15 ビットのリロードカ
ウンタで , リロード値に対する 15 ビットレジスタから構成されており , 外部クロック
または内部クロックから送受信クロックを生成します。送信リロードカウンタのカウ
ント値は , ボーレートジェネレータ 1, 0(BGR1, BGR0) より読み出せます。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
225
第 15 章 LIN-UART
15.2 構成
MB95810K シリーズ
● 受信制御回路
このブロックは , 受信ビットカウンタ , スタートビット検出回路および受信パリティカ
ウンタから構成されます。受信ビットカウンタは , 受信データビットをカウントし , 指
定されたデータ長に応じて 1 データの受信完了後は , LIN-UART 受信データレジスタに
フラグを設定します。
このとき受信割込みが許可されている場合には , 受信割込み要求
が発生します。
スタートビット検出回路は , シリアル入力信号におけるスタートビット
を検出します。スタートビットが検出されると , この回路はスタートビットの立下り
エッジに同期して , リロードカウンタに信号を送信します。受信パリティカウンタは ,
受信データのパリティを計算します。
● 受信シフトレジスタ
SIN 端子から入力された受信データをビットシフトしながら取り込み , 受信完了後は ,
RDR レジスタに受信データを転送します。
● LIN-UART 受信データレジスタ (RDR)
このレジスタは, 受信データを保持します。シリアル入力データは変換され, LIN-UART
受信データレジスタに格納されます。
● 送信制御回路
このブロックは , 送信ビットカウンタ , 送信スタート回路および送信パリティカウンタ
から構成されます。送信ビットカウンタは , 送信データビットをカウントし , 指定され
たデータ長に応じて1データの送信完了後は, 送信データレジスタのフラグを設定しま
す。このとき送信割込みが許可されている場合には , 送信割込み要求が発生します。送
信スタート回路は , TDR にデータが書き込まれると送信を開始します。送信パリティカ
ウンタは , データがパリティありの場合 , 送信するデータのパリティビットを生成しま
す。
● 送信シフトレジスタ
LIN-UART 送信データレジスタ (TDR) に書き込まれたデータは , 送信シフトレジスタ
に転送されます。
そして送信シフトレジスタは , データをビットシフトしながら SOT 端
子に出力します。
● LIN-UART 送信データレジスタ (TDR)
送信データを設定します。このレジスタに書き込まれたデータは , シリアルデータに変
換されて出力されます。
● エラー検出回路
この回路は , 受信終了時に発生するエラーを検出します。エラーが発生すると , 対応す
るエラーフラグを設定します。
● オーバサンプリング回路
非同期モード動作では, オーバサンプリング回路は受信したデータを5回オーバサンプ
リングし , サンプリング値の多数決により受信値を決定します。また , 同期モードでは
動作を停止します。
226
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
第 15 章 LIN-UART
15.2 構成
● 割込み生成回路
この回路は , すべての割込み要因を制御します。対応する割込み許可ビットが設定され
ている場合は , 直ちに割込みが発生します。
● LIN synch break/synch field 検出回路
この回路は , LIN マスタノードがメッセージヘッダを送信すると , LIN synch break を検
出します。LIN synch break が検出されると , LBD フラグが設定されます。
LIN synch field
の 1 回目と 5 回目の立下りエッジを検出し , マスタノードが送信する実際のシリアルク
ロック同期を測定するために , 8/16 ビット複合タイマへ内部信号を出力します。
● LIN synch break 生成回路
この回路は , 設定された長さの LIN synch break を生成します。
● バスアイドル検出回路
この回路は , 送信または受信が行われていないことを検出すると , TBI フラグビットま
たは RBI フラグビットにそれぞれ "1" を設定します。
● LIN-UART シリアル制御レジスタ (SCR)
以下に動作機能を示します。
•
•
•
•
•
パリティビットの有無の設定
パリティビットの選択
ストップビット長の設定
データ長の設定
動作モード 1 におけるフレームデータ形式の選択
• エラーフラグのクリア
• 送信の許可 / 禁止
• 受信の許可 / 禁止
● LIN-UART シリアルモードレジスタ (SMR)
以下に動作機能を示します。
• LIN-UART 動作モードの選択
• クロック入力ソースの選択
• 外部クロックへの 1 対 1 接続またはリロードカウンタ接続の選択
• 専用リロードタイマのリセット
• LIN-UART ソフトウェアリセット ( レジスタの設定の維持 )
• シリアルデータ端子への出力の許可 / 禁止
• クロック端子への出力の許可 / 禁止
● LIN-UART シリアルステータスレジスタ (SSR)
以下に動作機能を示します。
• 送受信やエラーの状態確認
• 転送方向 (LSB ファーストまたは MSB ファースト ) の選択
• 受信割込みの許可 / 禁止
• 送信割込みの許可 / 禁止
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
227
第 15 章 LIN-UART
15.2 構成
MB95810K シリーズ
● 拡張制御ステータスレジスタ (ESCR)
以下に動作機能を示します。
• LIN synch break 割込みの許可 / 禁止
• LIN synch break 検出
• LIN synch break 長の選択
• SIN 端子 , SOT 端子への直接アクセス
• LIN-UART 同期クロックモードにおける連続クロック出力の設定
• サンプリングクロックエッジの選択
● LIN-UART 拡張通信制御レジスタ (ECCR)
以下に動作機能を示します。
• バスアイドル検出
• 同期クロックの設定
• LIN synch break 生成
■ 入力クロック
LIN-UART は , マシンクロックまたは SCK 端子からの入力信号を , 入力クロックとし
て使用します。
入力クロックは , LIN-UART の送受信クロックソースとして使用されます。
228
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 15 章 LIN-UART
15.3 端子
MB95810K シリーズ
15.3
端子
LIN-UART の端子について説明します。
■ LIN-UART の端子
LIN-UART の端子は , 汎用ポートとしても使用されます。
表 15.3-1 に , LIN-UART 端子
の機能と , 使用時の設定を示します。
表 15.3-1 LIN-UART の端子
端子名
端子機能
端子を使用するために必要となる設定
SIN
シリアルデータ入力
入力ポートに設定する。
(DDR: 対応するビット = 0)
SOT
シリアルデータ出力
出力を許可する。
(SMR:SOE = 1)
SCK
MN702-00012-2v0-J
シリアルクロック入出力
この端子をクロック入力に使用する場合は , 入力ポート
に設定する。
(DDR: 対応するビット = 0)
この端子をクロック出力端子として使用する場合は , 出
力を許可する。
(SMR:SCKE = 1)
FUJITSU SEMICONDUCTOR LIMITED
229
第 15 章 LIN-UART
15.4 割込み
MB95810K シリーズ
割込み
15.4
LIN-UART には , 受信割込みと送信割込みがあり , 以下の要因で発生します。各割込み
には , 割込み番号と割込みベクタが割り当てられています。また , 8/16 ビット複合タ
イマの割込みを使用した LIN synch field エッジ検出割込み機能もあります。
• 受信割込み
LIN-UART 受信データレジスタ (RDR) に受信データが設定された場合 , 受信エ
ラーが発生した場合 , また , LIN synch break が検出されたときに発生します。
• 送信割込み
送信データが LIN-UART 送信データレジスタ (TDR) から送信シフトレジスタに転
送され , データ送信が開始した場合に発生します。
■ 受信割込み
表 15.4-1 に , 受信割込みの制御ビットと割込み要因を示します。
表 15.4-1 受信割込みの割込み制御ビットと割込み要因
割込み要求
フラグ
フラグ
レジスタ
ビット
動作モード
0
1
2
3
割込み要因
割込み要因
許可ビット
受信データの RDR への書
込み
RDRF
SSR
○
○
○
○
ORE
SSR
○
○
SSR
○
PE
SSR
○
○
×
○
Δ
○ オーバランエラー
FRE
LBD
ESCR
×
×
Δ
○ フレーミングエラー
× パリティエラー
×
○ LIN synch break 検出
割込み要求フラグの
クリア
受信データの読出し
SSR:RIE
ESCR:LBIE
受信エラーフラグクリ
アビット (SCR:CRE) へ
の "1" の書込み
ESCR:LBD への "0" の
書込み
○ : 使用ビット
× : 未使用ビット
Δ :ECCR:SSM = 1 の場合のみ使用可能
● 受信割込み
以下に示す動作のいずれかが受信モードで発生すると, その動作に対応するLIN-UART
シリアルステータスレジスタ (SSR) のビットに "1" が設定されます。
データ受信完了
受信データが , LIN-UART シリアル入力シフトレジスタから LIN-UART 受信データ
レジスタ (RDR) へ転送された場合 (RDRF=1)
オーバランエラー
RDRF = 1 の状態で , CPU が RDR レジスタを読み出す前に次のシリアルデータを受
信した場合 (ORE = 1)
フレーミングエラー
ストップビット受信エラーが発生した場合 (FRE = 1)
パリティエラー
パリティ検出エラーが発生した場合 (PE = 1)
230
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 15 章 LIN-UART
15.4 割込み
MB95810K シリーズ
上記フラグビットのいずれかが "1" のとき , 受信割込みが許可 (SSR:RIE = 1) されてい
る場合は , 受信割込み要求が発生します。
RDRF フラグは , LIN-UART 受信データレジスタ (RDR) を読み出すと , 自動的に "0" に
クリアされます。
エラーフラグはすべて , LIN-UART シリアル制御レジスタ (SCR) の受
信エラーフラグクリアビット (CRE) が "1" に設定されると , "0" にクリアされます。
● LIN synch break 割込み
動作モード 3 で , LIN-UART が LIN スレーブ動作を実行する場合は , LIN synch break 割
込みが機能します。
内部データバス ( シリアル入力 ) が 11 ビットの間以上 "0" になると , LIN-UART 拡張制
御ステータスレジスタ (ESCR) の LIN synch break 検出フラグビット (LBD) が "1" に設
定されます。LIN synch break 割込みと LBD フラグは , LBD フラグに "0" に設定すると
クリアされます。LIN synch field内で8/16ビット複合タイマ割込みが発生する前に, LBD
フラグをクリアしてください。
LIN synch break 検出を行うには , 受信禁止 (SCR:RXE=0) にしてください。
■ 送信割込み
表 15.4-2 に , 送信割込みの制御ビットと割込み要因を示します。
表 15.4-2 送信割込みの割込み制御ビットと割込み要因
割込み要求
フラグ
ビット
フラグ
レジスタ
動作モード
0
1
2
3
TDRE
SSR
○
○
○
○
割込み要因
割込み要因許可
ビット
送信レジスタが空き
になった
SSR:TIE
割込み要求フラグの
クリア
送信データの書込み
○ : 使用ビット
● 送信割込み
送信データが LIN-UART 送信データレジスタ (TDR) から送信シフトレジスタに転送さ
れ , データ送信が開始すると , LIN-UART シリアルステータスレジスタ (SSR) の送信
データレジスタエンプティフラグビット (TDRE) が "1" に設定されます。このとき , 送
信割込みが許可されている場合 (SSR:TIE = 1) には , 送信割込み要求が発生します。
<注意事項>
ハードウェアリセット / ソフトウェアリセット後の TDRE ビットの初期値は "1" であるた
め , ハードウェアリセット / ソフトウェアリセット後に TIE ビットが "1" に設定されると ,
直ちに割込みが発生します。TDRE ビットは , LIN-UART 送信データレジスタ (TDR) にデー
タを書き込むことでのみクリアされます。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
231
第 15 章 LIN-UART
15.4 割込み
MB95810K シリーズ
■ LIN Synch Field エッジ検出割込み (8/16 ビット複合タイマ割込み )
表 15.4-3 に , LIN synch field エッジ検出割込みの制御ビットと割込み要因を示します。
表 15.4-3 LIN Synch Field エッジ検出割込みの割込み制御ビットと割込み要因
割込み要求
フラグ
フラグビット レジスタ
IR
IR
Tn0CR1
Tn0CR1
0
動作モード
1
2
3
×
×
×
×
割込み要因
LIN synch field の 1 回目の
立下りエッジ
×
○
×
LIN synch field の 5 回目の
○
立下りエッジ
割込み要因
許可ビット
割込み要求フラグの
クリア
Tn0CR1:IE
Tn0CR1:IR への "0"
の書込み
○ : 使用ビット
×: 未使用ビット
● LIN synch field エッジ検出割込み (8/16 ビット複合タイマ割込み )
動作モード 3 で , LIN-UART が LIN スレーブ動作を実行する場合は , LIN synch field エッ
ジ検出割込みが機能します。
LIN synch break 検出後 , 内部信号 (LSYN) は LIN synch field の 1 回目の立下りエッジで
"1" に設定され , 5 回目の立下りエッジ後に "0" に設定されます。
8/16 ビット複合タイマ
が内部信号を受信し , 立上りエッジと立下りエッジを検出するように設定され , かつ ,
8/16 ビット複合タイマ割込みが許可されている場合は , 2 つの立下りエッジの間で 8/16
ビット複合タイマ割込みが発生します。
8/16 ビット複合タイマで検出されたカウント値の差 ( 図 15.4-1 を参照 ) は , マスタシリ
アルクロックの 8 ビット分に相当します。この値から新しいボーレートを計算できま
す。新しいボーレートは 設定された後 , 次のスタートビットで検出された立下りエッ
ジから有効となります。
図 15.4-1 8/16 ビット複合タイマによるボーレートの計算
LIN synch field
受信データ
スタート RDR
RDR
RDR
RDR
RDR
RDR
RDR
RDR ストップ
ビット ビット0 ビット1 ビット2 ビット3 ビット4 ビット5 ビット6 ビット7 ビット
内部信号
(LSYN)
8/16ビット
複合タイマ
データ=0x55
キャプチャ値1
キャプチャ値2
カウント値の差 = キャプチャ値2 - キャプチャ値1
232
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 15 章 LIN-UART
15.4 割込み
MB95810K シリーズ
15.4.1
受信割込み発生とフラグ設定のタイミング
受信が完了したとき (SSR:RDRF) または受信エラーが発生した場合 (SSR:PE, ORE,
FRE) に , 受信割込みが発生します。
■ 受信割込み発生とフラグ設定のタイミング
動作モード 0, 1, 2(SSM = 1), 3 で最初のストップビットが検出された場合または動作
モード 2(SSM = 0) で最終データビットが検出された場合に , 受信データが LIN-UART
受信データレジスタ (RDR) に格納されます。受信が完了した場合 (SSR:RDRF = 1) また
は受信エラーが発生した場合(SSR:PE, ORE, FRE = 1)に, 各エラーフラグが設定されます。
エラーフラグが設定された場合に , 受信割込みが許可されている (SSR:RIE = 1) と , 受信
割込みが発生します。
<注意事項>
各動作モードで , 受信エラーが発生した場合は , LIN-UART 受信データレジスタ (RDR) の
データは無効となります。
図 15.4-2 に , 受信動作とフラグ設定のタイミングを示します。
図 15.4-2 受信動作とフラグ設定のタイミング
受信データ
( モード 0/3)
受信データ
( モード 1)
受信データ
( モード 2)
ST
D0
D1
D2
…
D5
D6
D7/P
SP
ST
ST
D0
D1
…
D2
D6
D7
AD
SP
ST
D0
D1
D2
…
D4
D5
D6
D7
D0
PE*1, FRE
RDRF
ORE*2
(RDRF = 1)
受信割込み発生
* 1:PE フラグは , 動作モード 1 および 3 では常に "0" となります。
* 2: オーバランエラーは , 受信データが読み出される前に次のデータが転送された場合 (RDRF = 1) に発生します。
ST: スタートビット , SP: ストップビット , AD: モード 1( マルチプロセッサ ) アドレスデータ選択ビット
<注意事項>
図 15.4-2 は , 動作モード 0 におけるすべての受信動作を示すものではなく , 異なった通信
フォーマットの 2 つの受信動作例を示したものです。1 つは 通信フォーマットが 7 ビット
データ , パリティあり ( パリティビット =" 偶数パリティ" または " 奇数パリティ"), ストッ
プビット1の場合, もう1つは8ビットデータ, パリティなし, ストップビット1の場合です。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
233
第 15 章 LIN-UART
15.4 割込み
MB95810K シリーズ
図 15.4-3 ORE フラグ設定のタイミング
受信データ
ST 0
1 2
3 4 5 6
7
SP
ST 0
1 2
3 4 5 6
7
SP
RDRF
ORE
234
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 15 章 LIN-UART
15.4 割込み
MB95810K シリーズ
15.4.2
送信割込み発生とフラグ設定のタイミング
送信割込みは , 送信データが LIN-UART 送信データレジスタ (TDR) から送信シフトレ
ジスタに転送され , データ送信が開始した場合に発生します。
■ 送信割込み発生とフラグ設定のタイミング
LIN-UART 送信データレジスタ (TDR) に書き込まれたデータが送信シフトレジスタに
転送され, そのデータの送信が開始すると, TDRレジスタへの次のデータの書込みが可
能な状態 (SSR:TDRE = 1) になります。送信割込みが許可されている場合 (SSR:TIE = 1)
には , データ送信が開始された時点で , 送信割込みが発生します。
TDRE ビットはリードオンリです。LIN-UART 送信データレジスタ (TDR) にデータが書
き込まれた場合にのみ , "0" にクリアされます。
図 15.4-4 に , 送信動作とフラグ設定のタイミングを示します。
図 15.4-4 送信動作とフラグ設定のタイミング
送信割込み発生
送信割込み発生
モード 0/1/3:
TDR書込み
TDRE
シリアル出力
ST D0 D1 D2 D3 D4 D5 D6 D7
P SP ST D0 D1 D2 D3 D4 D5 D6 D7 P SP
AD
AD
送信割込み発生
送信割込み発生
モード 2 (SSM = 0):
TDR書込み
TDRE
シリアル出力
D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4
ST: スタートビット, D0~D7: データビット, P: パリティ, SP: ストップビット
AD: アドレスデータ選択ビット (モード1)
<注意事項>
図 15.4-4 は , 動作モード 0 におけるすべての送信動作を示すものではありません。8 ビッ
トデータ , パリティあり (" 偶数パリティ" または " 奇数パリティ"), ストップビット 1 によ
る送信動作例を示しています。
パリティビットは動作モード 3 の場合 , もしくは動作モード 2 で SSM = 0 の場合には送
信されません。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
235
第 15 章 LIN-UART
15.4 割込み
MB95810K シリーズ
■ 送信割込み要求発生タイミング
送信割込みが許可されている場合 (SSR:TIE=1) に , TDRE ビットに "1" が設定されると ,
送信割込みが発生します。
<注意事項>
初期状態では , TDRE ビットが "1" になっているため , 送信割込みが許可 (SSR:TIE=1) さ
れると , 直ちに送信割込みが発生します。TDRE ビットのクリアは , 送信データレジスタ
(TDR) に新規データを書き込むことしかないため , 送信割込み許可のタイミングには注意
してください。
各周辺機能の割込み要求番号およびベクタテーブルアドレスについては , 本シリーズ
のデータシートの「■ 割込み要因テーブル」を参照してください。
236
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
15.5
LIN-UART ボーレート
第 15 章 LIN-UART
15.5 LIN-UART ボーレート
LIN-UART の入力クロック ( 送受信クロックソース ) は , 次の中からいずれかを選択
できます。
• マシンクロックをボーレートジェネレータ ( リロードカウンタ ) に入力
• 外部クロックをボーレートジェネレータ ( リロードカウンタ ) に入力
• 外部クロック (SCK 端子入力クロック ) を直接使用
■ LIN-UART ボーレート選択
ボーレートは , 次の 3 種類の中から 1 種類を選択できます。図 15.5-1 に , ボーレート選
択回路を示します。
● 専用ボーレートジェネレータ ( リロードカウンタ ) で内部クロックを分周して得られるボー
レート
内部リロードカウンタは 2 つあり , それぞれ送信シリアルクロックと受信シリアルク
ロックに対応しています。LIN-UART ボーレートジェネレータレジスタ 1, 0 (BGR1,
BGR0) で 15 ビットのリロード値を設定することにより , ボーレートを選択します。
リロードカウンタは , BGR1 と BGR0 に設定された値で内部クロックを分周します。
このボーレートは , 非同期モードと同期モード ( シリアルクロック送信側 ) 時に使用し
ます。
クロックソースの設定は , 内部クロックとボーレートジェネレータクロック使用を選
択 (SMR:EXT = 0, OTO = 0) してください。
● 専用ボーレートジェネレータ ( リロードカウンタ ) で外部クロックを分周して得られるボー
レート
リロードカウンタのクロックソースに外部クロックを使用します。
LIN-UART ボーレートジェネレータレジスタ 1, 0 (BGR1, BGR0) で 15 ビットのリロー
ド値を設定することにより , ボーレートを選択します。
リロードカウンタは , BGR1 と BGR0 に設定された値で外部クロックを分周します。
このボーレートは , 非同期モード時に使用します。
クロックソースの設定は , 外部クロックとボーレートジェネレータクロック使用を選
択 (SMR:EXT = 1, OTO = 0) してください。
● 外部クロック (1 対 1 モード ) によるボーレート
LIN-UART のクロック入力端子 (SCK) から入力されたクロックをそのままボーレート
として使用します ( 動作モード 2 スレーブ動作 ( 同期 )(ECCR:MS = 1))。
このクロックは , 同期モード ( シリアルクロック受信側 ) 時に使用します。
クロックソースの設定は,外部クロックと,外部クロック直接使用を選択(SMR:EXT = 1,
OTO = 1) してください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
237
第 15 章 LIN-UART
15.5 LIN-UART ボーレート
MB95810K シリーズ
図 15.5-1 LIN-UART ボーレート選択回路
REST
リロード値:V
セット
受信
15ビットリロードカウンタ
スタートビット
立下りエッジ検出
Rxc = 0?
受信クロック
F/F
リロード
Rxc = v/2?
0
リセット
1
リロード値:V
EXT
MCLK
0
送信
15ビットリロードカウンタ
(マシンクロック)
SCK
セット
Txc = 0?
OTO
F/F
リロード
1
(外部クロック入力)
カウンタ値:Txc
Txc = v/2?
0
リセット
1
送信クロック
内部データバス
EXT
REST
OTO
238
SMR
レジスタ
BGR14
BGR13
BGR12
BGR11
BGR10
BGR9
BGR8
BGR1
レジスタ
BGR7
BGR6
BGR5
BGR4
BGR3
BGR2
BGR1
BGR0
FUJITSU SEMICONDUCTOR LIMITED
BGR0
レジスタ
MN702-00012-2v0-J
第 15 章 LIN-UART
15.5 LIN-UART ボーレート
MB95810K シリーズ
15.5.1
ボーレート設定
ボーレート設定と , シリアルクロック周波数の計算結果を示します。
■ ボーレートの計算
2 つの 15 ビットリロードカウンタは , LIN-UART ボーレートジェネレータレジスタ 1,
0 (BGR1, BGR0) で設定します。
ボーレート計算式を以下に示します。
リロード値 :
v=(
MCLK
b
)-1
v: リロード値 , b: ボーレート , MCLK: マシンクロックまたは外部クロック周波数
計算例
マシンクロック 10MHz, 内部クロック使用 , ボーレートを 19200 bps に設定する場合 ,
次のようになります。
リロード値 :
v= (
10 × 106
19200
) -1 = 519.83... ≒ 520
よって , 実際のボーレートは以下のように計算できます。
b=
MCLK
(v + 1)
=
10 × 106
521
= 19193.8579
<注意事項>
リロードカウンタは , リロード値に "0" が設定されると停止します。このため , 最小のリ
ロード値は "1" としてください。
非同期モードで送受信する場合は , 受信値を決定するために 5 回オーバサンプリングしな
ければならないため , リロード値は最小でも "4" に設定してください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
239
第 15 章 LIN-UART
15.5 LIN-UART ボーレート
MB95810K シリーズ
■ 各クロック速度のリロード値とボーレート
表 15.5-1 に , 各クロック速度のリロード値とボーレートを示します。
表 15.5-1 リロード値とボーレート
8 MHz (MCLK)
10 MHz (MCLK)
16 MHz (MCLK)
16.25 MHz (MCLK)
ボーレート
リロード値
周波数偏差
リロード値
周波数偏差
リロード値
周波数偏差
リロード値
周波数偏差
2M
-
-
4
0
7
0
-
-
1M
7
0
9
0
15
0
-
-
500000
15
0
19
0
31
0
-
-
400800
-
-
-
-
-
-
-
-
250000
31
0
39
0
63
0
64
0
230400
-
-
-
-
68
- 0.64
-
-
153600
51
- 0.16
64
- 0.16
103
- 0.16
105
0.19
125000
63
0
79
0
127
0
129
0
115200
68
- 0.64
86
0.22
138
0.08
140
- 0.04
76800
103
0.16
129
0.16
207
- 0.16
211
0.19
57600
138
0.08
173
0.22
277
0.08
281
- 0.04
38400
207
0.16
259
0.16
416
0.08
422
- 0.04
28800
277
0.08
346
- 0.06
555
0.08
563
- 0.04
19200
416
0.08
520
0.03
832
- 0.04
845
- 0.04
10417
767
< 0.01
959
< 0.01
1535
< 0.01
1559
< 0.01
9600
832
- 0.04
1041
0.03
1666
0.02
1692
0.02
7200
1110
< 0.01
1388
< 0.01
2221
< 0.01
2256
< 0.01
4800
1666
0.02
2082
- 0.02
3332
< 0.01
3384
< 0.01
2400
3332
< 0.01
4166
< 0.01
6666
< 0.01
6770
< 0.01
1200
6666
< 0.01
8334
< 0.01
13332
< 0.01
13541
< 0.01
600
13332
< 0.01
16666
< 0.01
26666
< 0.01
27082
< 0.01
300
26666
< 0.01
-
-
53332
< 0.01
54166
< 0.01
周波数偏差の単位は % です。
MCLK はマシンクロックです。
240
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
第 15 章 LIN-UART
15.5 LIN-UART ボーレート
■ 外部クロック
LIN-UART シリアルモードレジスタ (SMR) の EXT ビットを "1" に設定すると外部ク
ロックが選択されます。
ボーレートジェネレータでは , 外部クロックは内部クロックと
同じように使用できます。
動作モード 2( 同期 ) でスレーブ動作を使用する場合は , 1 対 1 外部クロック入力モード
(SMR:OTO=1) を選択します。このモードでは , SCK に入力された外部クロックが LINUART シリアルクロックに直接入力されます。
<注意事項>
外部クロック信号は LIN-UART で , 内部クロック (MCLK: マシンクロック ) に同期します。
したがって , 外部クロックの周期が内部クロックの周期の半分より高速である場合 , 外部
クロックが分周不可能となるため , 外部クロック信号は不安定な状態になります。
SCK クロックの値はご使用製品のデータシートを参照してください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
241
第 15 章 LIN-UART
15.5 LIN-UART ボーレート
MB95810K シリーズ
■ 専用ボーレートジェネレータ ( リロードカウンタ ) の動作
図 15.5-2 に , リロード値 "832" を用いた 2 つのリロードカウンタの動作例を示します。
図 15.5-2 専用ボーレートジェネレータ ( リロードカウンタ ) の動作
送受信クロック
リロードカウンタ
(V+1)/2 で立下り
002
001
832
831
830
829
828
417
416
415
414
413
412
411
リロードカウンタ値
<注意事項>
シリアルクロック信号の立下りエッジは , リロード値を 2 で割った値 [(V+1)/2] をカウン
トした後に発生します。
242
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
15.5.2
リロードカウンタ
第 15 章 LIN-UART
15.5 LIN-UART ボーレート
専用ボーレートジェネレータとして機能する15ビットのリロードカウンタです。外部
クロックまたは内部クロックより , 送受信クロックを生成します。
また , 送信リロードカウンタのカウント値を LIN-UART ボーレートジェネレータレジ
スタ 1, 0 (BGR1, BGR0) より読み出せます。
■ リロードカウンタの機能
リロードカウンタには, 送信リロードカウンタと受信リロードカウンタの2種類があり
ます。
リロードカウンタは , 専用ボーレートジェネレータとして機能します。リロード
値に対する 15 ビットレジスタから構成されており , 外部クロックまたは内部クロック
より送受信クロックを生成します。また , 送信リロードカウンタのカウント値を LINUART ボーレートジェネレータレジスタ 1, 0 (BGR1, BGR0) より読み出せます。
● カウントの開始
LIN-UART ボーレートジェネレータレジスタ 1, 0 (BGR1, BGR0) にリロード値を書き込
むと , リロードカウンタはカウントを開始します。
● リスタート
リロードカウンタは以下の条件でリスタートします。
送信 / 受信リロードカウンタ共通の条件
• LIN-UART プログラマブルリセット (SMR:UPCL ビット )
• プログラマブルリスタート (SMR:REST ビット )
受信リロードカウンタの条件
• 非同期モードによる , スタートビット立下りエッジの検出
● 簡易タイマ機能
LIN-UART シリアルモードレジスタ (SMR) の REST ビットを "1" に設定すると , 次のク
ロックサイクルで 2 つのリロードカウンタはリスタートします。
この機能により , 送信リロードカウンタを簡易的なタイマとして使用できます。
図 15.5-3 に , この機能の使用例を示します ( リロード値が 100 の場合 )。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
243
第 15 章 LIN-UART
15.5 LIN-UART ボーレート
MB95810K シリーズ
図 15.5-3 リロードタイマのリスタートによる簡易的タイマの使用例
MCLK
(マシンクロック)
書込み
SMRレジスタ
RESTビット
書込み信号
リロード
リロードカウンタ
37 36 35 100 99 98 97 96 95 94 93 92 91 90 89 88 87
BGR0/BGR1レジスタ
読出し信号
90
レジスタ読出し値
: 動作に影響がありません
この例におけるリスタート後のマシンクロックサイクル数 "cyc" は , 以下の式で求めら
れます。
cyc = v - c + 1 = 100 - 90 + 1 = 11
v: リロード値 , c: リロードカウンタ値
<注意事項>
SMR:UPCL ビットを "1" に設定することにより LIN-UART をリセットした場合にも , 送信
リロードカウンタはリスタートします。
自動リスタート ( 受信リロードカウンタのみ )
非同期モードでスタートビット立下りエッジが検出されると , 受信リロードカウン
タがリスタートします。この自動リスタート機能は , 受信シフトレジスタを受信デー
タに同期させるためのものです。
● カウンタのクリア
リセットが実行されると , LIN-UART ボーレートジェネレータレジスタ 1, 0 (BGR1,
BGR0) のリロード値とリロードカウンタは "0x00" にクリアされ , リロードカウンタは
停止します。
LIN-UART リセット (SMR:UPCL への "1" の書込み ) により , カウンタ値は一時的に
"0x00" にクリアされますが , リロード値は保持されているため , リロードカウンタはリ
スタートします。
再スタートが設定 (SMR:REST への "1" の書込み ) された場合 , リロードカウンタは , カ
ウンタ値を "0x00" にクリアすることなく , リスタートします。
244
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 15 章 LIN-UART
15.6 動作説明と設定手順例
MB95810K シリーズ
15.6
動作説明と設定手順例
LIN-UART は , 動作モード 0/2 の双方向シリアル通信 , 動作モード 1 のマスタ / スレー
ブ通信 , 動作モード 3 の LIN マスタ / スレーブ通信で動作します。
■ LIN-UART の動作
● 動作モード
LIN-UART には , 4 種類の動作モード (0 ~ 3) があり , 表 15.6-1 に示すように , それぞれ
CPU 間の接続方式やデータ転送方式が異なります。
表 15.6-1 LIN-UART の動作モード
データ長
動作モード
0
1
パリティなし
ノーマルモード
パリティあり
7 ビットまたは 8 ビット
マルチプロセッサ 7 ビットまたは
モード
8 ビット +1*
2
ノーマルモード
3
LIN モード
8 ビット
8 ビット
非同期
非同期
-
ストップ
ビット長
同期方式
同期
1 ビットまたは 2
ビット
LSB ファースト
MSB ファースト
なし , 1 ビット ,
2 ビット
1 ビット
非同期
-
データビット
フォーマット
LSB ファースト
-: 使用不可
*: 「+1」は , マルチプロセッサモードにおける通信制御に使用されるアドレス / データ選択ビット (AD)
LIN-UART シリアルモードレジスタ (SMR) の MD0 と MD1 ビットにより , 以下の LINUART の動作モードを選択します。
表 15.6-2 LIN-UART の動作モード
MD1
MD0
0
0
モード
0
非同期 ( ノーマルモード )
種類
0
1
1
非同期 ( マルチプロセッサモード )
1
0
2
同期 ( ノーマルモード )
1
1
3
非同期 (LIN モード )
<注意事項>
• 動作モード 1 でマスタ / スレーブ接続されたシステムは , マスタとスレーブいずれの動
作にも対応しています。
• 動作モード 3 では , 通信フォーマットは 8 ビットデータ , パリティなし , 1 ストップビッ
ト , LSB ファーストに固定されます。
• 動作モードを切り換えた場合 , すべての送受信動作は中止され , LIN-UART は次の送受
信待ち状態になります。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
245
第 15 章 LIN-UART
15.6 動作説明と設定手順例
MB95810K シリーズ
■ CPU 間接続方式
CPU 間接続方式として , 外部クロック 1 対 1 接続 ( ノーマルモード ) とマスタ / スレー
ブ型接続 ( マルチプロセッサモード ) のいずれかを選択できます。どちらの方式でも ,
CPU はデータ長 , パリティ設定 , 同期方式などをすべての CPU 間で統一しておいてく
ださい。CPU の動作モードは , 次のように選択します。
• 1 対 1 接続 :
2 つの CPU 間で動作モード 0, 動作モード 2 のいずれかの同じ方式を
採用してください。非同期方式では動作モード 0, 同期方式では動作
モード 2 を選択してください。また , 動作モード 2 では 1 つの CPU 側
をシリアルクロック送信側へ , もう 1 つの CPU 側をシリアルクロッ
ク受信側へ設定してください。
• マスタ / スレーブ接続 : 動作モード 1 を選択します。CPU をマスタ / スレーブ
システムとして使用してください。
■ 非同期 / 同期方式
非同期方式では , 受信クロックは受信スタートビットの立下りエッジに同期します。同
期方式では , 受信クロックはシリアルクロック送信側のクロック信号または送信側と
して動作する LIN-UART のクロック信号に同期させることができます。
■ 信号方式
NRZ (Non Return to Zero) 形式です。
■ 送受信許可
LIN-UART は , SCR:TXE ビットと SCR:RXE ビットによって , それぞれ送信と受信の動
作を制御します。
送信または受信を禁止するには , 次の操作を実行します。
• 受信動作中に受信を禁止する場合 , 受信が終了するのを待ち , 受信データレジスタ
(RDR) を読み出してから , 受信を禁止します。
• 送信動作中に送信を禁止する場合 , 送信が終了するのを待ってから , 送信を禁止し
ます。
■ 設定手順例
以下に , LIN-UART の設定手順例を示します。
● 初期設定
1) ポート入力を設定してください (DDR)。
2) 割込みレベルを設定してください (ILR*)。
3) データ形式を設定し , 送受信動作を許可してください (SCR)。
4) 動作モードとボーレートを選択し , 端子出力を許可してください (SMR)。
5) ボーレートジェネレータ 1, 0 (BGR1, BGR0) を設定してください。
*: 割込みレベル設定レジスタ (ILR) の詳細について , 本ハードウェアマニュアルの「第 5 章 割
込み」とデバイスのデータシートの「■ 割込み要因のテーブル」を参照してください。
246
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 15 章 LIN-UART
15.6 動作説明と設定手順例
MB95810K シリーズ
15.6.1
非同期モード ( 動作モード 0, 1) の動作
LIN-UART を動作モード 0 ( ノーマルモード ) または動作モード 1( マルチプロセッサ
モード ) で使用する場合 , 転送方式は非同期となります。
■ 非同期モードの動作
● 送受信データ形式
送受信データは必ずスタートビット ("L" レベル ) で始まり , その後に指定されたデー
タビット長の送受信が行なわれ , 最後に少なくとも 1 ビットのストップビット ("H" レベ
ル ) で終了します。
ビット転送方向 (LSB ファーストまたは MSB ファースト ) は , LIN-UART シリアルス
テータスレジスタ (SSR) の BDS ビットで決定されます。パリティありの場合は , パリ
ティビットは常に最終データビットと最初のストップビットの間に配置されます。
動作モード 0 では , データ長は 7 ビットまたは 8 ビットです。パリティありを選択でき
ます。ストップビット長は , 1 ビットまたは 2 ビットから選択できます。
動作モード 1 では , データ長は 7 ビットまたは 8 ビットです。アドレス / データビット
が付加され , パリティは付加されません。ストップビット長は , 1 ビットまたは 2 ビット
から選択できます。
送受信フレームのビット長に関する式を , 以下に示します。
長さ = 1 + d + p + s
(d = データビット数 [7 または 8], p = パリティ[0 または 1],
s = ストップビット数 [1 または 2])
図 15.6-1 に , 非同期モード ( 動作モード 0 または動作モード 1) における送受信データ
形式を示します。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
247
第 15 章 LIN-UART
15.6 動作説明と設定手順例
MB95810K シリーズ
図 15.6-1 送受信データ形式 ( 動作モード 0, 1)
[動作モード0]
ST D0
D1 D2 D3 D4 D5 D6 D7 SP SP
ST D0
D1 D2 D3 D4 D5 D6 D7 SP
ST D0
D1 D2 D3 D4 D5 D6 D7
P
SP SP
ST D0
D1 D2 D3 D4 D5 D6 D7
P
SP
ST D0
D1 D2 D3 D4 D5 D6 SP SP
ST D0
D1 D2 D3 D4 D5 D6 SP
ST D0
D1 D2 D3 D4 D5 D6
P:なし
8ビットデータ
P:あり
P:なし
7ビットデータ
P
SP SP
P:あり
ST D0
D1 D2 D3 D4 D5 D6
P
SP
ST D0
D1 D2 D3 D4 D5 D6 D7 AD SP SP
ST D0
D1 D2 D3 D4 D5 D6 D7 AD SP
ST D0
D1 D2 D3 D4 D5 D6 AD SP SP
ST D0
D1 D2 D3 D4 D5 D6 AD SP
[動作モード1]
8ビットデータ
ST: スタートビット
SP: ストップモード
P: パリティビット
AD: アドレス/データビット
7ビットデータ
<注意事項>
LIN-UART シリアルステータスレジスタ (SSR) の BDS ビットを "1"(MSB ファースト ) に
設定すると , ビットは D7, D6, …D1, D0(P) の順序で処理されます。
248
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
第 15 章 LIN-UART
15.6 動作説明と設定手順例
● 送信
LIN-UART シリアルステータスレジスタ (SSR) の送信データレジスタエンプティフラ
グビット (TDRE) が "1" の場合には , LIN-UART 送信データレジスタ (TDR) に送信デー
タを書き込めます。データを書き込むと , TDRE ビットは "0" となります。
TDRE ビット
が "0" になったときに送信が許可 (SCR:TXE = 1) されていれば , TDR に書き込まれた
データは送信シフトレジスタに書き込まれ , シリアルクロックの次のサイクルでス
タートビットから順に送信が開始します。
送信割込みが許可されている場合 (TIE = 1) に , 送信データが LIN-UART 送信データレ
ジスタ (TDR) から送信シフトレジスタに転送されると , TDRE ビットが "1" に設定され ,
割込みが発生します。
データ長が 7 ビットに設定 (CL = 0) されている場合 , 転送方向選択ビット (BDS) の設
定 (LSB ファーストまたは MSB ファースト ) にかかわらず , TDR レジスタの bit7 が不
使用ビットになります。
<注意事項>
送信データレジスタエンプティフラグビット (SSR:TDRE) の初期値は "1" であるため , 送
信割込みが許可 (SSR:TIE=1) されると , 直ちに割込みが発生します。
● 受信
受信が許可されていると (SCR:RXE=1), 受信動作を行います。スタートビットを検出す
ると , LIN-UART シリアル制御レジスタ (SCR) で定義されているデータ形式に従って 1
フレームデータの受信が行われます。エラーが発生した場合には , エラーフラグ
(SSR:PE, ORE, FRE) が設定されます。1 フレームデータの受信完了後は , 受信データは
受信シフトレジスタから LIN-UART 受信データレジスタ (RDR) へ転送され , 受信デー
タレジスタフルフラグビット (SSR:RDRF) が "1" に設定されます。このとき , 受信割込
み要求が既に許可 (SSR:RIE=1) されていれば , 受信割込み要求が出力されます。
受信データを読み出す際には , まずエラーフラグの状態を調べて正常に受信が行われ
たことを確認し , 受信が正常の場合は , LIN-UART 受信データレジスタ (RDR) からデー
タを読み出してください。
受信エラーが発生している場合には , エラー処理を行ってくだ
さい。
受信データを読み出すと , 受信データレジスタフルフラグビット (SSR:RDRF) がクリア
されます。
データ長が 7 ビットに設定 (CL=0) されている場合 , 転送方向選択ビット (BDS) の設定
(LSB ファーストまたは MSB ファースト ) にかかわらず , RDR レジスタの bit7 が不使
用ビットになります。
<注意事項>
LIN-UART 受信データレジスタ (RDR) のデータは , 受信データレジスタフルフラグビット
(SSR:RDRF) が "1" に設定され , エラーが発生しなかった (SSR:PE, ORE, FRE=0) 場合に
有効となります。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
249
第 15 章 LIN-UART
15.6 動作説明と設定手順例
MB95810K シリーズ
● 入力クロック
内部クロックまたは外部クロックを使用します。ボーレートについては , ボーレート
ジェネレータを選択してください (SMR:EXT=0 または 1, OTO=0)。
● ストップビットと受信バスアイドルフラグ
送信のとき , ストップビット数を 1 ビットまたは 2 ビットから選択できます。2 ビット
を選択した場合には , 両方のストップビットが受信中に検出されます。
最初のストップビットが検出されると , 受信データレジスタフルフラグビット
(SSR:RDRF) が "1" になります。その後にスタートビットが検出されなければ , 受信バス
アイドルフラグビット (ECCR:RBI) が "1" になり , 受信動作がないことを示します。
● エラー検出
動作モード 0 では , パリティエラー, オーバランエラーおよびフレームエラーを検出で
きます。
動作モード 1 では , オーバランエラーとフレームエラーを検出できます。ただし , パリ
ティエラーは検出できません。
● パリティ
パリティビットの付加 ( 送信時 ) と検出 ( 受信時 ) の設定が可能です。
パリティ許可ビット (SCR:PEN) でパリティの有無を , パリティ選択ビット (SCR:P) で
奇数 / 偶数パリティを選択できます。
動作モード 1 では , パリティは使用できません。
図 15.6-2 パリティありの場合の送信データ
SIN
ST
SP
受信中 , 偶数パリティエラー発
生
(SCR:P = 0)
SP
偶数パリティの送信
(SCR:P = 0)
SP
奇数パリティの送信
(SCR:P = 1)
1 0 1 1 0 0 0 0 0
SOT
ST
1 0 1 1 0 0 0 0 1
SOT
ST
1 0 1 1 0 0 0 0 0
データ
パリティ
ST: スタートビット , SP: ストップビット , パリティあり (PEN = 1)
( 注意事項 ) 動作モード 1 では , パリティは使用できません。
● データ信号方式
NRZ データ形式です。
● データビット転送方式
データビット転送方式は , LSB ファーストまたは MSB ファーストが選択できます。
250
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
15.6.2
同期モード ( 動作モード 2) の動作
第 15 章 LIN-UART
15.6 動作説明と設定手順例
LIN-UART を動作モード 2( ノーマルモード ) で使用する場合 , 転送方式はクロック同
期転送となります。
■ 同期モード ( 動作モード 2) の動作
● 送受信データ形式
同期モードでは , 8 ビットデータが送受信されます。データフォーマットは , スタート
ビットとストップビットの有無を選択できます (ECCR:SSM)。また , スタート / ストッ
プ ビ ッ ト あ り の 場 合 (ECCR:SSM=1) は , パ リ テ ィ ビ ッ ト の 有 無 も 選 択 で き ま す
(SCR:PEN)。
図 15.6-3 に , 同期モード ( 動作モード 2) におけるデータ形式を示します。
図 15.6-3 送受信データ形式 ( 動作モード 2)
送受信データ
(ECCR:SSM=0,SCR:PEN=0)
D0 D1 D2 D3 D4 D5 D6 D7
*
送受信データ
(ECCR:SSM=1,SCR:PEN=0)
ST D0 D1 D2 D3 D4 D5 D6 D7
SP
送受信データ
(ECCR:SSM=1,SCR:PEN=1)
ST D0
P
SP
*
D1 D2 D3 D4 D5 D6 D7
SP
SP
*: 2ストップビットに設定 (SCR:SBL = 1)した場合
ST:スタートビット, SP:ストップビット, P:パリティビット
データ転送方法:LSBファースト
● クロック反転機能
LIN-UART 拡張制御ステータスレジスタ (ESCR) の SCES ビットが "1" の場合 , シリア
ルクロックは反転します。シリアルクロック受信側が選択されている場合 , LIN-UART
は受信したシリアルクロックの立下りエッジでデータをサンプリングします。シリア
ルクロック送信側が選択されている場合は , SCES ビットが "1" のとき , マークレベル
が "0" になります。
図 15.6-4 クロック反転時の送信データ形式
マークレベル
送受信クロック
(SCES = 0, CCO = 0)
送受信クロック
(SCES = 1, CCO = 0)
データストリーム (SSM = 1)
(パリティなし, 1ストップビット)
マークレベル
ST
SP
データフレーム
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
251
第 15 章 LIN-UART
15.6 動作説明と設定手順例
MB95810K シリーズ
● スタート / ストップビット
LIN-UART 拡張通信制御レジスタ (ECCR) の SSM ビットが "1" の場合は , 非同期モー
ドと同様にスタートビットとストップビットがデータ形式に付加されます。
● クロックの供給
クロック同期モード ( ノーマル ) では , 送受信データビット数はクロックサイクル数と
同じでなければなりません。スタート / ストップビットが許可されている場合 , ク
ロックサイクル数は追加されたスタート / ストップビット分まで一致させてください。
シリアルクロック送信側が選択されており(ECCR:MS=0), シリアルクロック出力が許
可されている (SMR:SCKE = 1) 場合は , 送受信中に同期クロックが自動的に出力され
ます。シリアルクロック受信側 (ECCR:MS = 1) が選択されているか , シリアルクロック
出力が禁止されている (SMR:SCKE = 0) 場合は , 送受信データビット数と等しいクロッ
クサイクルが , 外部クロック端子から供給されるようにしてください。
シリアルデータが送受信動作に関係ない場合には , クロック信号をマークレベル ("H")
に保持してください。
● クロックの遅延
ECCR レジスタの SCDE ビットに "1" を設定すると , 図 15.6-5 に示すような遅延した送
信クロックが出力されます。この機能は , 受信側のデバイスが , シリアルクロックの立
上りエッジまたは立下りエッジでデータをサンプリングする際に必要です。
図 15.6-5 送信クロックの遅延 (SCDE = 1)
送信データ書込み
受信データサンプルエッジ (SCES = 0)
マークレベル
送受信クロック
( ノーマル)
マークレベル
送信クロック
(SCDE = 1)
送受信データ
マークレベル
0
1
LSB
1
0
1
0
0
データ
1
MSB
● クロックの反転
LIN-UART 拡張ステータスレジスタ (ESCR) の SCES ビットが "1" の場合 , LIN-UART
のクロックは反転し , 受信データは LIN-UART クロックの立下りエッジでサンプリン
グされます。このとき , LIN-UART クロックのエッジで送信 / 受信データの値が有効と
なるようにしてください。
252
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 15 章 LIN-UART
15.6 動作説明と設定手順例
MB95810K シリーズ
● クロックの連続供給
ESCR レジスタの CCO ビットが "1" のとき , シリアルクロック送信側に , SCK 端子か
らのシリアルクロック出力が連続供給されます。この場合は , データフレームの開始と
終了を明確にするために , スタートビットとストップビットをデータ形式 (SSM = 1) に
付加してください。図 15.6-6 に , クロックの連続供給動作 ( 動作モード 2) を示します。
図 15.6-6 クロックの連続供給 ( 動作モード 2)
送受信クロック
(SCES = 0, CCO = 1)
送受信クロック
(SCES = 1, CCO = 1)
データストリーム (SSM = 1)
( パリティなし, 1 ストップビット)
ST
SP
データフレーム
● エラー検出
スタートビット / ストップビットが有効でない (ECCR:SSM=0) 場合は , オーバランエ
ラーのみが検出されます。
● 同期モードの通信設定
同期モードで通信を行うためには , 以下の設定をしてください。
• LIN-UART ボーレートジェネレータレジスタ 1, 0 (BGR1, BGR0)
専用ボーレートリロードカウンタに必要な値を設定します。
• LIN-UART シリアルモードレジスタ (SMR)
MD1, MD0: "0b10" ( モード 2)
SCKE : "1" - 専用ボーレートリロードカウンタを使用します
: "0" - 外部クロックを入力します
SOE
: "1" - 送受信を許可します
: "0" - 受信のみを許可します
• LIN-UART シリアル制御レジスタ (SCR)
RXE, TXE: いずれかのビットを "1" に設定します。
AD
: アドレス / データ形式選択機能は使用されないため , このビットの値は動作
に影響を与えません。
CL
: ビット長は自動的に 8 ビットに設定されるため , このビットの値は動作に影
響を与えません。
CRE
: "1" に設定した場合 : エラーフラグがクリアされます。
- SSM = 0 の場合 :
PEN, P, SBL : パリティビット , ストップビットも使用しないため , これら 3 ビッ
トの値は動作に影響を与えません。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
253
第 15 章 LIN-UART
15.6 動作説明と設定手順例
MB95810K シリーズ
- SSM = 1 の場合 :
PEN :"1": パリティビットを付加 / 検出する P
:"1": 奇数パリティ "0": パリティビットを使用しな
い
"0": 偶数パリティ
SBL :"1": ストップビット長 2 "0": ストップビット長 1
• LIN-UART シリアルステータスレジスタ (SSR)
BDS
: "0" - LSB ファースト ,
"1" - MSB ファースト
RIE
: "1" - 受信割込みを許可 , "0" - 受信割込みを禁止
TIE
: "1" - 送信割込みを許可 , "0" - 送信割込みを禁止
• LIN-UART 拡張通信制御レジスタ (ECCR)
SSM : "0" - スタート / ストップビットを使用しない ( 通常 )
: "1" - スタート / ストップビットを使用する ( 拡張機能 )
MS
: "0" - シリアルクロック送信側 ( シリアルクロック出力 )
: "1" - シリアルクロック受信側 ( シリアルクロック送信側のデバイスからの
シリアルクロックを入力 )
<注意事項>
通信を開始するには , LIN-UART 送信データレジスタ (TDR) にデータを書き込んでくださ
い。
データのみを受信する場合は , シリアル出力を禁止 (SMR:SOE=0) してから , TDR レジス
タにダミーデータを書き込んでください。
連続クロック出力を許可し, スタート/ストップビットを許可することにより, 非同期モー
ドの場合と同様の双方向通信が行えるようになります。
254
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
15.6.3
LIN 機能 ( 動作モード 3) の動作
第 15 章 LIN-UART
15.6 動作説明と設定手順例
動作モード 3 において , LIN-UART は LIN マスタおよび LIN スレーブとして動作しま
す。動作モード 3 では , 通信フォーマットは 8 ビットデータ , パリティなし , ストップ
ビット 1, LSB ファーストに設定されます。
■ 非同期 LIN モード動作
● LIN マスタとしての動作
LIN モードでは , マスタがバス全体のボーレートを決定し , スレーブはマスタに同期し
ます。
LIN-UART 拡張通信制御レジスタ (ECCR) の LBR ビットを "1" に設定すると , SOT 端
子から "L" レベルが 13 ビット~ 16 ビット出力されます。これらのビットは , LIN メッ
セージの開始を示す LIN synch break です。
ここで LIN-UART シリアルステータスレジスタ (SSR) の TDRE ビットは "0" になりま
す。LIN synch break 後 , TDRE ビットは "1"( 初期値 ) になります。このとき SSR の TIE
ビットが "1" の場合は , 送信割込みが出力されます。
送信される LIN synch break の長さは ESCR の LBL0/LBL1 ビットによって , 表 15.6-3 の
ように設定されます。
表 15.6-3 LIN Synch Break 長
LBL0
LBL1
Synch break 長
0
0
13 ビット
1
0
14 ビット
0
1
15 ビット
1
1
16 ビット
LIN synch field は , LIN synch break の後にバイトデータ 0x55 として送信されます。送信
割込みの発生を防ぐため , TDRE ビットが "0" であっても , ECCR の LBR ビットを "1"
に設定した後で 0x55 を TDR に書き込めます。
● LIN スレーブとしての動作
LIN スレーブモードでは , LIN-UART をマスタのボーレートに同期してください。受信
が禁止 (RXE = 0) されていても , LIN break 割込みが許可 (LBIE = 1) されていれば , LINUART は受信割込みを発生します。受信割込みが発生するとき , ESCR の LBD ビット
は "1" になります。
LBD ビットを "0" に設定すると , 受信割込み要求フラグがクリアされます。
以下は , LIN-UART の動作を例として , ボーレートの計算について説明します。LINUART が synch field の最初の立下りエッジを検出すると , 8/16 ビット複合タイマに入力
される内部信号を "H" にして , 8/16 ビット複合タイマをスタートさせます。この内部信
号は 5回目の立下りエッジで "L"になります。8/16 ビット複合タイマは, インプットキャ
プチャモードに設定してください。
また , 8/16 ビット複合タイマ割込みを許可し , 両
エッジを検出するように設定してください。
8/16 ビット複合タイマに入力信号が入力
される時間は , ボーレートを 8 倍した値です。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
255
第 15 章 LIN-UART
15.6 動作説明と設定手順例
MB95810K シリーズ
ボーレート設定は , 以下の式で算出してください。
8/16 ビット複合タイマのカウンタがオーバフローしていない場合
: BGR 値 = (b - a) / 8 - 1
8/16 ビット複合タイマのカウンタがオーバフローした場合
: BGR 値 = (max + b - a) / 8 - 1
最大 : フリーランタイマの最大値
a:1 回目の割込み後の TII0 データレジスタ値
b:2 回目の割込み後の TII0 データレジスタ値
<注意事項>
上記のように LIN スレーブモード時 , Synch field で新たに計算された BGR 値にボーレー
トの ±15% 以上の誤差が生じた場合は , ボーレートの設定は行わないでください。
8/16 ビット複合タイマのインプットキャプチャ機能の動作については ,「12.12 イン
プットキャプチャ機能の動作説明」を参照してください。
● LIN synch break 検出割込みとフラグ
スレーブモードにおいて LIN synch break が検出されると , ESCR の LIN break 検出 (LBD)
フラグに "1" が設定されます。LIN break 割込みが許可されている場合 (LBIE = 1) は , 割
込みが発生します。
図 15.6-7 LIN Synch Break 検出とフラグセットのタイミング
シリアルクロック
シリアル入力
(LINバス)
CPUによるLBDクリア
LBD
TII0入力
(LSYN)
Synch break (14ビット設定の場合)
Synch field
上図は LIN synch break 検出とフラグのタイミングを示しています。
SSR のデータフレーミングエラー(FRE) フラグビットは , LIN break 割込みよりも 2 ビッ
ト前に受信割込みを生成する ( 通信フォーマットが 8 ビットデータ , パリティなし , 1
ストップビットである場合 ) ため , LIN break を使用する場合は , RXE を "0" に設定し
てください。
LIN synch break 検出は , 動作モード 3 のみで機能します。
図 15.6-8 に , LIN スレーブモードにおける LIN-UART の動作を示します。
256
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 15 章 LIN-UART
15.6 動作説明と設定手順例
MB95810K シリーズ
図 15.6-8 LIN スレーブモードにおける LIN-UART の動作
シリアルクロックサイクル#
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
シリアル
クロック
シリアル入力
(LINバス)
FRE
(RXE=1)
LBD
(RXE=0)
RXE=1の場合に受信割込み発生
RXE=0の場合に受信割込み発生
● LIN バスタイミング
図 15.6-9 LIN バスタイミングと LIN-UART 信号
前回のシリアルクロック
クロックなし
(計算フレーム)
新たに計算されたシリアルクロック
8/16ビット複合タイマのカウント
LIN
バス
(SIN)
RXE
LBD
(IRQ)
LBIE
TII0入力
(LSYN)
IRQ(TII0)
RDRF
(IRQ)
RIE
CPUによる
RDR読出し
受信割込み許可
LIN break開始
LIN break検出, 割込み発生
CPUによるIRQクリア(LBD→0)
IRQ (8/16ビット複合タイマ)
IRQクリア:8/16ビット複合タイマのインプットキャプチャスタート
IRQ (8/16ビット複合タイマ)
IRQクリア:ボートレートを計算して設定
LBIE禁止
受信許可
スタートビットの立下りエッジ
受信データ1バイトをRDRに保存
CPUによるRDR読出し
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
257
第 15 章 LIN-UART
15.6 動作説明と設定手順例
MB95810K シリーズ
シリアル端子直接アクセス
15.6.4
送信端子 (SOT) および受信端子 (SIN) には , 直接アクセスできます。
■ LIN-UART 端子直接アクセス
LIN-UART では , プログラマがシリアル入出力端子に直接アクセスできます。
シリアル入力端子 (SIN) の状態は , シリアル入出力端子直接アクセスビット (ESCR:
SIOP) により読み出せます。
シリアル出力端子 (SOT) への直接書込みを可能 (ESCR:SOPE=1) にし , シリアル入出力
端子直接アクセスビット (ESCR:SIOP) へ "0" または "1" を書き込んだ後 , シリアル出力
を許可 (SMR:SOE=1) にすると , シリアル出力端子 (SOT) の値を任意に設定できます。
LIN モードでは , 送信したデータの読出しおよび , 物理的な LIN バス線信号エラーが発
生した場合のエラー処理にこの機能を使用できます。
<注意事項>
送信動作中ではない ( 送信シフトレジスタが空である ) 場合のみ , 直接アクセスができま
す。
送信を許可 (SMR:SOE=1) する前に , シリアル出力端子直接アクセスビット (ESCR: SIOP)
に値を書き込んでください。
これは , SIOP ビットが以前の値を保持しているために , 予期
せぬレベルの信号が出力されることを防ぐためです。
SIOP ビットに対しては , 通常の読出しのとき SIN 端子の値が読み出されますが , リード
モディファイライト (RMW) 系命令では SOT 端子の値が読み出されます。
258
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
15.6.5
双方向通信機能 ( ノーマルモード )
第 15 章 LIN-UART
15.6 動作説明と設定手順例
動作モード 0, 動作モード 2 では , 通常の双方向通信を行えます。動作モード 0 では非
同期モード , 動作モード 2 では同期モードを選択できます。
■ 双方向通信機能
LIN-UART をノーマルモード ( 動作モード 0, 動作モード 2) で動作させるためには ,
図 15.6-10 に示された設定をしてください。
図 15.6-10 LIN-UART の動作モード 0, 動作モード 2 の設定
SCR, SMR
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
PEN P SBL CL AD CRE RXE TXE MD1 MD0 OTO EXT REST UPCL SCKE SOE
モード 0 →
モード 2 →
SSR,
RDR/TDR
+
×
0
0
0
×
0
1
0
0
0
0
0
0
変換データをセット ( 書込み時 )
受信データを保持 ( 読込み時 )
PE ORE FRE RDRF TDRE BDS RIE TIE
モード 0 →
モード 2 →
ESCR, ECCR LBIE LBD LBL1 LBL0 SOPE SIOP CCO SCES 予約 LBR MS SCDE SSM 予約 RBI TBI
×
×
×
×
0
0
0
0
×
×
×
0
モード 0 →
モード 2 →
×
×
×
×
0
×
0
: 使用ビット
× : 未使用ビット
1 : "1" に設定
0 : "0" に設定
: SSM = 1( 同期スタート / ストップビットモード ) の場合に使用
+ : 自動的に正しい値が設定されます
● CPU 間接続
双方向通信を使用する場合は , 図 15.6-11 に示すように 2 つの CPU を接続します。
図 15.6-11 LIN-UART モード 2 における双方向通信の接続例
SOT
SIN
SOT
出力
入力
SCK
SCK
CPU1
(シリアルクロック送信側)
MN702-00012-2v0-J
SIN
CPU2
(シリアルクロック受信側)
FUJITSU SEMICONDUCTOR LIMITED
259
第 15 章 LIN-UART
15.6 動作説明と設定手順例
MB95810K シリーズ
● 通信手順例
通信は送信側から , 送信データの準備が完了次第開始されます。受信側は送信データを
受け取った後に , 定期的に ANS( 例では 1 バイトごと ) を返します。
図 15.6-12 に , 双方
向通信のフローチャート例を示します。
図 15.6-12 双方向通信フローチャートの例
(マスタ)
(スレーブ)
スタート
スタート
動作モード設定
(0, 2いずれか)
動作モード設定
(マスタと合わせる)
TDR に1バイトデータを
設定して通信
データ送信
受信データあり
NO
YES
NO
受信データあり
受信データ読出しと処理
YES
受信データ読出しと処理
260
データ送信
(ANS)
1バイトデータ送信
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 15 章 LIN-UART
15.6 動作説明と設定手順例
MB95810K シリーズ
15.6.6
マスタ / スレーブ型通信機能 ( マルチプロセッサモー
ド)
動作モード 1 では , 複数 CPU のマスタ / スレーブモード接続による通信が可能です。
LIN-UART はマスタまたはスレーブとして使用できます。
■ マスタ / スレーブ型通信機能
LIN-UART をマルチプロセッサモード ( 動作モード 1) で動作させるためには , 図 15.6-13
に示された設定をしてください。
図 15.6-13 LIN-UART の動作モード 1 の設定
SCR, SMR
モード 1 →
SSR,
RDR1/TDR
モード 1 →
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
PEN P SBL CL AD CRE RXE TXE MD1 MD0 OTO EXT REST UPCL SCKE SOE
+
×
0
0
1
0
0
0
PE ORE FRE RDRF TDRE BDS RIE TIE
比較データをセット ( 書込み時 )
受信データを保持 ( 読出し時 )
×
ESCR, ECCR LBIE LBD LBL1 LBL0 SOPE SIOP CCO SCES 予約 LBR MS SCDE SSM 予約 RBI TBI
×
×
×
×
0
0
0
×
×
×
×
0
モード 1 →
: 使用ビット
× : 未使用ビット
1 : "1" に設定
0 : "0" に設定
+ : 自動的に正しい値が設定されます
● CPU 間接続
マスタ / スレーブ型通信では , 通信システムは図 15.6-14 に示すように , 1 つのマスタ
CPUと複数のスレーブCPUが2本の共通通信ラインで接続された構成となります。
LINUART はマスタまたはスレーブのどちらとしても使用できます。
図 15.6-14 LIN-UART のマスタ / スレーブ型通信の接続例
SOT
SIN
マスタCPU
SOT
SIN
スレーブCPU #0
MN702-00012-2v0-J
SOT
SIN
スレーブCPU #1
FUJITSU SEMICONDUCTOR LIMITED
261
第 15 章 LIN-UART
15.6 動作説明と設定手順例
MB95810K シリーズ
● 機能の選択
マスタ / スレーブ型通信では , 表 15.6-4 に示すように動作モードとデータ転送方式を選
択してください。
表 15.6-4 マスタ / スレーブ型通信機能の選択
動作モード
マスタ CPU
アドレス
送受信
データ
送受信
モード 1
( 送受信
AD ビット )
スレーブ
CPU
モード 1
( 送受信
AD ビット )
データ
AD = 1
+
7 ビットまたは 8
ビットアドレス
AD = 0
+
7 ビットまたは 8
ビットデータ
パリ
ティ
なし
同期方式
ストップ
ビット
ビット方向
非同期
1 ビット
または
2 ビット
LSB ファー
スト
または
MSB ファー
スト
● 通信手順
マスタ / スレーブ型通信は , マスタ CPU がアドレスデータを送信すると開始します。ア
ドレスデータとは , AD ビットを "1" としたデータで , 通信先となるスレーブ CPU を選
択します。
各スレーブCPU はプログラムでアドレスデータを判断し, 割り当てられたア
ドレスと一致した場合にマスタ CPU との通信をします。
図 15.6-15 に , マスタ / スレーブ型通信 ( マルチプロセッサモード ) のフローチャート
を示します。
262
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 15 章 LIN-UART
15.6 動作説明と設定手順例
MB95810K シリーズ
図 15.6-15 マスタ / スレーブ型通信のフローチャート
(マスタCPU)
(スレーブCPU)
スタート
スタート
動作モード1に設定
動作モード1に設定
SIN端子をシリアルデータ
入力に設定
SOT 端子をシリアルデータ
出力に設定
SIN端子をシリアルデータ
入力に設定
SOT 端子をシリアルデータ
出力に設定
7または8データビット設定
1または2ストップビット
設定
7または8データビット設定
1または2ストップビット
設定
ADビットを"1"に設定
送受信動作許可
送受信動作許可
受信バイト
スレーブへアドレスを送信
ADビット= 1
NO
YES
スレーブアドレス
がアドレスデータ
に一致
ADビットを"0"に設定
NO
YES
マスタCPUと通信
スレーブCPUと通信
通信終了?
NO
通信終了?
NO
YES
YES
ほかのスレーブ
CPUと通信
NO
YES
送受信動作禁止
エンド
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
263
第 15 章 LIN-UART
15.6 動作説明と設定手順例
15.6.7
MB95810K シリーズ
LIN 通信機能
LIN-UART 通信は , LIN デバイスを LIN マスタシステムまたは LIN スレーブシステム
に使用できます。
■ LIN マスタ / スレーブ型通信機能
LIN-UART を LIN 通信モード ( 動作モード 3) で動作させるためには , 図 15.6-16 に示さ
れた設定をしてください。
図 15.6-16 LIN-UART の動作モード 3(LIN) の設定
SCR, SMR
モード 3 →
SSR,
RDR/TDR
モード 3 →
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
PEN P SBL CL AD CRE RXE TXE MD1 MD0 OTO EXT REST UPCL SCKE SOE
+
×
+
+
×
0
1
1
0
0
0
PE ORE FRE RDRF TDRE BDS RIE TIE
×
変換データをセット ( 書込み時 )
受信データを保持 ( 読込み時 )
+
ESCR, ECCR LBIE LBD LBL1 LBL0 SOPE SIOP CCO SCES 予約 LBR MS SCDE SSM 予約 RBI TBI
0
0
0
×
×
×
0
モード 3 →
: 使用ビット
× : 未使用ビット
1 : "1" に設定
0 : "0" に設定
+ : 自動的に正しい値が設定されます
● LIN デバイス接続
図 15.6-17 に , LIN バスシステムの通信例を示します。
LIN-UART は , LIN マスタまたは LIN スレーブとして動作できます。
図 15.6-17 LIN バスシステム通信の例
SOT
SOT
LINバス
SIN
LINマスタ
264
SIN
トランシーバ
トランシーバ
FUJITSU SEMICONDUCTOR LIMITED
LINスレーブ
MN702-00012-2v0-J
第 15 章 LIN-UART
15.6 動作説明と設定手順例
MB95810K シリーズ
15.6.8
LIN-UART の LIN 通信フローチャートの例
( 動作モード 3)
LIN-UART の LIN 通信フローチャート例を示します。
■ LIN マスタデバイス
図 15.6-18 LIN マスタのフローチャート
スタート
初期設定:
動作モード3を設定
シリアルデータ出力許可, ボーレート設定
Synch break長設定
TXE = 1, TIE = 0, RXE = 1, RIE = 1
NO
メッセージ?
(受信)
(送信)
YES
YES
ウェイクアップ?
(0x80受信)
YES
NO
Data field
受信?
RDRF = 1
受信割込み
Data 1 受信
*1
送信data 1設定
TDR = Data 1
送信割込み許可
RDRF = 1
受信割込み
RXE = 0
Synch break割込み許可
Synch break送信:
ECCR:LBR = 1
Synch field送信:
TDR = 0x55
NO
Data N 受信
TDRE = 1
送信割込み
*1
送信data N設定
TDR = Data N
送信割込み禁止
LBD = 1
Synch break割込み
RDRF = 1
受信割込み
受信許可
LBD = 0
Synch break割込み禁止
Data 1 受信
Data 1 読出し
RDRF = 1
受信割込み
*1
RDRF = 1
受信割込み
Synch field受信 *1
Identify field設定: TDR = ID
Data N 受信
Data N 読出し
*1
RDRF = 1
受信割込み
ID field受信
*1
エラーなし?
NO
エラー処理 *2
YES
* 1: エラーが発生した場合, エラー処理を行なってください。
* 2: - FRE, OREが"1"になっていた場合, SCR:CREビットに"1"を書き込んでエラーフラグをクリアしてください。
- ESCR:LBDビットが"1"になっていた場合, LIN-UARTリセットを実行してください。
(注意事項)各処理中で検出されたエラーを適切に処理してください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
265
第 15 章 LIN-UART
15.6 動作説明と設定手順例
MB95810K シリーズ
■ LIN スレーブデバイス
図 15.6-19 LIN スレーブのフローチャート
スタート
初期設定:
動作モード3を設定
シリアルデータ出力許可
TXE = 1, TIE = 0, RXE = 0, RIE = 1
LIN-UARTと8/16ビット複合タイマとの接続
受信禁止
8/16ビット複合タイマ割込み許可
Synch break割込み許可
(受信)
(送信)
YES
LBD = 1
Synch break割込み
Data field
受信?
NO
RDRF = 1
受信割込み
Synch break検出クリア
ESCR:LBD = 0
Synch break割込み禁止
Data 1 受信
*1
送信data 1設定
TDR = Data 1
送信割込み許可
RDRF = 1
受信割込み
TII0割込み
Data N 受信
TDRE = 1
送信割込み
*1
8/16ビット複合タイマデータ読出し
8/16ビット複合タイマ割込みフラグクリア
TII0割込み
送信data N設定
TDR = Data N
送信割込み禁止
受信禁止
RDRF = 1
受信割込み
8/16ビット複合タイマデータ読出し
ボーレート調整
受信許可
8/16ビット複合タイマ割込みフラグクリア
8/16ビット複合タイマ割込み禁止
Data 1 受信
Data 1 読出し
RDRF = 1
受信割込み
RDRF = 1
受信割込み
*1
Identify field受信
スリープモード?
*1
Data N 受信
Data N 読出し
受信禁止
*1
NO
YES
エラーなし?
NO
エラー処理
*2
YES
ウェイクアップ
受信?
NO
YES
ウェイクアップ
送信?
NO
YES
ウェイクアップコード送信
* 1: エラーが発生した場合, エラー処理を行なってください。
* 2: - FRE, OREが"1"になっていた場合, SCR:CREビットに"1"を書き込んでエラーフラグをクリアしてください。
- ESCR:LBDビットが"1"になっていた場合, LIN-UARTリセットを実行してください。
(注意事項)各処理中で検出されたエラーを適切に処理してください。
266
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 15 章 LIN-UART
15.7 レジスタ
MB95810K シリーズ
15.7
レジスタ
LIN-UART のレジスタについて説明します。
表 15.7-1
LIN-UART のレジスタ一覧
レジスタ略称
レジスタ名
参照先
SCR
LIN-UART シリアル制御レジスタ
15.7.1
SMR
LIN-UART シリアルモードレジスタ
15.7.2
SSR
LIN-UART シリアルステータスレジスタ
15.7.3
RDR
LIN-UART 受信データレジスタ
15.7.4
TDR
LIN-UART 送信データレジスタ
15.7.4
ESCR
LIN-UART 拡張ステータス制御レジスタ
15.7.5
ECCR
LIN-UART 拡張通信制御レジスタ
15.7.6
BGR1
LIN-UART ボーレートジェネレータレジスタ 1
15.7.7
BGR0
LIN-UART ボーレートジェネレータレジスタ 0
15.7.7
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
267
第 15 章 LIN-UART
15.7 レジスタ
15.7.1
MB95810K シリーズ
LIN-UART シリアル制御レジスタ (SCR)
LIN-UARTシリアル制御レジスタ(SCR)は, パリティの設定, ストップビット長やデー
タ長の選択 , モード 1 におけるフレームデータ形式の選択 , 受信エラーフラグのクリア
および送受信動作の許可 / 禁止の設定を行うためのレジスタです。
■ レジスタ構成
bit
7
6
5
4
3
2
1
0
Field
PEN
P
SBL
CL
AD
CRE
RXE
TXE
属性
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] PEN: パリティ許可ビット
このビットは , パリティビットの付加 ( 送信時 ) と検出 ( 受信時 ) を行うかどうかを指定します。
説明
bit7
"0" を書き込んだ場合
パリティなし
"1" を書き込んだ場合
パリティあり
( 注意事項 ) パリティビットは動作モード 0 の場合または動作モード 2 で , 同期データ形式にスター
ト / ストップビットあり (ECCR:SSM = 1) に設定した場合にのみ付加されます。この
ビットは , 動作モード 3 (LIN) では "0" に固定されます。
[bit6] P: パリティ選択ビット
このビットは , パリティビットあり (SCR:PEN = 1) に設定した場合に , 奇数パリティ (1) か偶数パリ
ティ (0) のいずれかを設定します。
説明
bit6
"0" を書き込んだ場合
偶数パリティ
"1" を書き込んだ場合
奇数パリティ
[bit5] SBL: ストップビット長選択ビット
このビットは , 動作モード 0, 1 ( 非同期 ) の場合または動作モード 2 ( 同期 ) で , 同期データ形式にス
タート / ストップビットあり (ECCR:SSM = 1) を設定した場合の , ストップビット ( 送信データのフ
レームエンドマーク ) のビット長を設定します。
このビットは , 動作モード 3 (LIN) では "0" に固定されます。
説明
bit5
"0" を書き込んだ場合
1 ビット
"1" を書き込んだ場合
2 ビット
( 注意事項 ) 受信時は , 常にストップビットのビット長分のフレミングエラーが検出されます。
268
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 15 章 LIN-UART
15.7 レジスタ
MB95810K シリーズ
[bit4] CL: データ長選択ビット
このビットは , 送受信データのデータ長を指定します。動作モード 2, 動作モード 3 では "1" に固定
されます。
説明
bit4
"0" を書き込んだ場合
7 ビット
"1" を書き込んだ場合
8 ビット
[bit3] AD: アドレス / データ形式選択ビット
このビットは , マルチプロセッサモード ( 動作モード 1) で , 送受信するフレームのデータ形式を指
定します。このビットの値は , マスタモードで書き込んで , スレーブモードで読み出してください。
読出し値は , 最後に受信したデータ形式となります。
説明
bit3
"0" を書き込んだ場合
データフレームを設定します。
"1" を書き込んだ場合
アドレスデータのフレームを設定します。
( 注意事項 ) このビットの使用方法については , 「15.8 使用上の注意」を参照してください。
[bit2] CRE: 受信エラーフラグクリアビット
このビットは , シリアルステータスレジスタ (SSR) の受信エラーフラグ (FRE, ORE, PE) をクリアし
ます。
説明
bit2
読出し動作
読出し値は常に "0" です
"0" を書き込んだ場合
動作に影響はありません。
"1" を書き込んだ場合
受信エラーフラグ (SSR:FRE, ORE, PE) をクリアします。
[bit1] RXE: 受信動作許可ビット
このビットは , LIN-UART の受信を許可または禁止します。
動作モード 3 における LIN synch break 検出は , このビットの設定に影響されません。
説明
bit1
"0" を書き込んだ場合
データフレーム受信を禁止します。
"1" を書き込んだ場合
データフレーム受信を許可します。
( 注意事項 ) 受信中にデータフレーム受信が禁止 (RXE = 0) された場合には , 直ちに受信動作が停止
します。この場合 , データの整合性は保証されません。
[bit0] TXE: 送信動作許可ビット
このビットは , LIN-UART の送信を許可または禁止します。
説明
bit0
"0" を書き込んだ場合
データフレーム送信を禁止します。
"1" を書き込んだ場合
データフレーム送信を許可します。
( 注意事項 ) 送信中にデータフレーム送信が禁止 (TXE = 0) された場合には , 直ちに送信動作が停止
します。この場合 , データの整合性は保証されません。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
269
第 15 章 LIN-UART
15.7 レジスタ
15.7.2
MB95810K シリーズ
LIN-UART シリアルモードレジスタ (SMR)
LIN-UART シリアルモードレジスタ (SMR) は , 動作モードの選択 , ボーレートクロッ
クの選択およびシリアルデータとクロック端子への出力許可または禁止の設定を行
うためのレジスタです。
■ レジスタ構成
bit
7
6
5
4
3
2
1
0
Field
MD1
MD0
OTO
EXT
REST
UPCL
SCKE
SOE
属性
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]: 動作モード選択ビット
これらのビットは動作モードを選択します。
bit7:6
動作モード
説明
"00" を書き込んだ場合
0
非同期 ( ノーマルモード )
"01" を書き込んだ場合
1
非同期 ( マルチプロセッサモード )
"10" を書き込んだ場合
2
同期 ( ノーマルモード )
"11" を書き込んだ場合
3
非同期 (LIN モード )
( 注意事項 ) 通信中にモードを変更した場合 , LIN-UART の送受信は一時停止し , LIN-UART は次の
通信の開始待ち状態となります。
[bit5] OTO: 1 対 1 外部クロック入力許可ビット
このビットは , LIN-UART シリアルクロックとして外部クロックを直接に使用することを許可しま
す。
動作モード 2 ( 非同期 ) に , シリアルクロックの受信側が選択されている場合 (ECCR:MS = 1) は , 外
部クロックが使用されます。
SMR:EXT = 0 の場合 , OTO ビットは "0" に固定されます。
説明
bit5
"0" を書き込んだ場合
ボーレートジェネレータ ( リロードカウンタ ) を LIN-UART シリアルクロック
として使用します。
"1" を書き込んだ場合
外部クロックを LIN-UART シリアルクロックとして直接使用します。
[bit4] EXT: 外部シリアルクロックソース選択ビット
このビットはクロック入力を選択します。
bit4
説明
"0" を書き込んだ場合
ボーレートジェネレータ ( リロードカウンタ ) のクロックを選択します。
"1" を書き込んだ場合
外部シリアルクロックソースを選択します。
270
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 15 章 LIN-UART
15.7 レジスタ
MB95810K シリーズ
[bit3] REST: リロードカウンタ再スタートビット
このビットはリロードカウンタを再スタートします。
説明
bit3
読出し動作
読出し値は常に "0" です。
"0" を書き込んだ場合
動作に影響はありません。
"1" を書き込んだ場合
リロードカウンタを再スタートします。
[bit2] UPCL: LIN-UART プログラマブルクリアビット (LIN-UART ソフトウェアリセット )
このビットは LIN-UART をリセットします。
このビットに "0" を書き込んでも動作に影響はありません。
このビットに "1" が書き込まれると , LIN-UART は即時リセットされます (LIN-UART ソフトウェア
リセット )。ただし , レジスタの設定は維持されます。リセット直後 , 送受信は中断され , すべての
送受信割込み要因 (TDRE, RDRF, LBD, PE, ORE, FRE) は解除されます。
割込みおよび送信を禁止に設定した後には , LIN-UART をリセットしてください。
また , LIN-UART のリセット後は , 受信データレジスタがクリアされ (RDR = 0x00), リロードカウン
タがリスタートします。
説明
bit2
読出し動作
読出し値は常に "0" です。
"0" を書き込んだ場合
動作に影響はありません。
"1" を書き込んだ場合
LIN-UART をリセットします。
[bit1] SCKE: LIN-UART シリアルクロック出力許可ビット
このビットは LIN-UART シリアルクロックの入出力ポートを制御します。
このビットに "0" が書き込まれた場合 , SCK 端子は , 汎用入出力ポートまたは LIN-UART シリアル
クロック入力端子として機能します。
このビットに "1" が書き込まれた場合 , SCK 端子は , LIN-UART シリアルクロック出力端子として
機能し , 動作モード 2( 同期 ) でクロックを出力します。
SCK 端子が , LIN-UART シリアルクロック出力端子として設定されている場合 (SCKE= 1), SCK と同
じ端子を使用する汎用入出力ポートの状態にかかわらず , シリアルクロック出力端子として機能し
ます。
bit1
説明
"0" を書き込んだ場合
SCK 端子は汎用入出力ポートまたは LIN-UART シリアルクロック入力端子とし
て機能します。
"1" を書き込んだ場合
SCK 端子は LIN-UART シリアルクロック出力端子として機能します。
( 注意事項 ) SCK 端子を LIN-UART シリアルクロック入力端子として使用する場合 (SCKE = 0) は ,
SCK と同じ端子を使用する汎用入出力ポートに対応する DDR レジスタのビットを入
力ポートに設定してください。また , 外部シリアルクロックソース選択ビットによって
外部クロックを選択 (EXT = 1) してください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
271
第 15 章 LIN-UART
15.7 レジスタ
MB95810K シリーズ
[bit0] SOE: LIN-UART シリアルデータ出力許可ビット
このビットは LIN-UART シリアルデータの出力を許可または禁止します。
SOT 端子は , LIN-UART シリアルデータ出力端子として設定されている場合 (SOE = 1), SOT と同じ
端子を使用する汎用入出力ポートの状態にかかわらず , LIN-UART シリアルデータ出力端子 (SOT)
として機能します。
bit0
説明
"0" を書き込んだ場合
SOT 端子は汎用入出力ポートとして機能します。
"1" を書き込んだ場合
SOT 端子は LIN-UART シリアルデータ出力端子として機能します。
272
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 15 章 LIN-UART
15.7 レジスタ
MB95810K シリーズ
15.7.3
LIN-UART シリアルステータスレジスタ (SSR)
LIN-UART シリアルステータスレジスタ (SSR) は , 送受信やエラーの状態の確認およ
び割込みの許可または禁止の設定を行うためのレジスタです。
■ レジスタ構成
bit
7
6
5
4
3
2
1
0
Field
PE
ORE
FRE
RDRF
TDRE
BDS
RIE
TIE
属性
R
R
R
R
R
R/W
R/W
R/W
初期値
0
0
0
0
1
0
0
0
■ レジスタ機能
[bit7] PE: パリティエラーフラグビット
このビットは受信データのパリティエラーを検出します。
受信中にパリティエラーが発生すると "1" に設定され , LIN-UART シリアル制御レジスタ (SCR) の
CRE ビットを "1" に設定するとクリアされます。
PE ビットと RIE ビットが "1" の場合 , 受信割込み要求を出力します。
このフラグが設定された場合は , LIN-UART 受信データレジスタ (RDR) のデータは無効となります。
説明
bit7
"0" が読み出された場合
パリティエラーなし
"1" が読み出された場合
パリティエラーあり
[bit6] ORE: オーバランエラーフラグビット
このビットは受信データのオーバランエラーを検出します。
受信中にオーバランが発生すると "1" に設定され , LIN-UART シリアル制御レジスタ (SCR) の CRE
ビットを "1" に設定するとクリアされます。
ORE ビットと RIE ビットが "1" の場合 , 受信割込み要求を出力します。
このフラグが設定された場合は , LIN-UART 受信データレジスタ (RDR) のデータは無効となります。
説明
bit6
"0" が読み出された場合
オーバランエラーなし
"1" が読み出された場合
オーバランエラーあり
[bit5] FRE: フレーミングエラーフラグビット
このビットは受信データのフレーミングエラーを検出します。
受信中にフレーミングエラーが発生すると "1" に設定され , LIN-UART シリアル制御レジスタ (SCR)
の CRE ビットを "1" に設定するとクリアされます。
FRE ビットと RIE ビットが "1" の場合 , 受信割込み要求を出力します。
このフラグが設定された場合は , LIN-UART 受信データレジスタ (RDR) のデータは無効となります。
説明
bit5
"0" が読み出された場合
フレーミングエラーなし
"1" が読み出された場合
フレーミングエラーあり
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
273
第 15 章 LIN-UART
15.7 レジスタ
MB95810K シリーズ
[bit4] RDRF: 受信データレジスタフルフラグビット
このフラグビットは , LIN-UART 受信データレジスタ (RDR) の状態を示します。
RDR に受信データがロードされると "1" に設定され , LIN-UART 受信データレジスタ (RDR) を読み
出すと "0" にクリアされます。
RDRF ビットと RIE ビットが "1" の場合 , 受信割込み要求が出力されます。
説明
bit4
"0" が読み出された場合
受信データレジスタ (RDR) が空いています。
"1" が読み出された場合
受信データレジスタ (RDR) にデータが存在します。
[bit3] TDRE: 送信データレジスタエンプティフラグビット
このフラグビットは , LIN-UART 送信データレジスタ (TDR) の状態を示します。
TDR に送信データを書き込むと "0" となり , TDR に有効なデータが存在していることを示します。
データが送信シフトレジスタにロードされてデータ転送が開始すると"1"となり, TDRに有効なデー
タが存在しないことを示します。
TDRE ビットと TIE ビットが "1" の場合 , 送信割込み要求を出力します。
TDRE ビットが "1" のときに , LIN-UART 拡張通信制御レジスタ (ECCR) の LBR ビットに "1" を設定
すると , TDRE ビットは "0" になります。LIN synch break 生成後 , TDRE ビットは "1" に戻ります。
説明
bit3
"0" が読み出された場合
送信データレジスタ (TDR) にデータが存在します。
"1" が読み出された場合
送信データレジスタ (TDR) が空いています。
( 注意事項 ) TDRE ビットの初期値は "1" です。
[bit2] BDS: 転送方向選択ビット
このビットは , シリアルデータを最下位ビット側から先に転送するか (LSB ファースト , BDS = 0), 最
上位ビット側から先に転送するか (MSB ファースト , BDS = 1) を選択します。
説明
bit2
"0" を書き込んだ場合
LSB ファースト ( 最下位ビットから転送 )
"1" を書き込んだ場合
MSB ファースト ( 最上位ビットから転送 )
( 注意事項 ) シリアルデータレジスタのデータの書込み / 読出し時には , 上位側と下位側のデータが
入れ換わります。このため , RDR レジスタにデータを書き込んだ後に BDS ビットを変
更すると , RDR レジスタのデータは無効になります。動作モード 3(LIN) では , BDS ビッ
トは "0" に固定されます。
[bit1] RIE: 受信割込み要求許可ビット
このビットは割込みコントローラへの受信割込み要求の出力を許可または禁止します。
RIE ビットと受信データフラグビット (RDRF) が "1" の場合または 1 つ以上のエラーフラグビット
(PE, ORE, FRE) が "1" の場合は , 受信割込み要求が出力されます。
説明
bit1
"0" を書き込んだ場合
受信割込みを禁止します。
"1" を書き込んだ場合
受信割込みを許可します。
274
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 15 章 LIN-UART
15.7 レジスタ
MB95810K シリーズ
[bit0] TIE: 送信割込み要求許可ビット
このビットは 割込みコントローラへの送信割込み要求の出力を許可または禁止します。
TIE ビットと TDRE ビットが "1" の場合 , 送信割込み要求が出力されます。
説明
bit0
"0" を書き込んだ場合
送信割込みを禁止します。
"1" を書き込んだ場合
送信割込みを許可します。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
275
第 15 章 LIN-UART
15.7 レジスタ
15.7.4
MB95810K シリーズ
LIN-UART 受信データレジスタ /LIN-UART 送信デー
タレジスタ (RDR/TDR)
LIN-UART 受信データレジスタと LIN-UART 送信データレジスタは , 同一アドレスに
配置されています。読出し時には受信データレジスタとして機能し , 書込み時には送
信データレジスタとして機能します。
■ レジスタ構成
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
■ レジスタ機能
説明
読出し動作
LIN-UART 受信データレジスタからデータを読み出します。
書込み動作
LIN-UART 送信データレジスタにデータを書き込みます。
■ LIN-UART 受信データレジスタ (RDR)
LIN-UART 受信データレジスタ (RDR) は , シリアルデータ受信用のデータバッファレジスタです。
シリアル入力端子 (SIN) に送信されたシリアル入力データ信号が , シフトレジスタで変換され , その
変換データが RDR レジスタに格納されます。
データ長が 7 ビットの場合は , 最上位ビット (RDR:D7) は "0" となります。
受信データが , RDR レジスタに格納されると , 受信データレジスタフルフラグビット (SSR:RDRF)
が "1" に設定されます。受信割込みが許可されている場合 (SSR:RIE = 1) には , 受信割込み要求が発
生します。
RDR レジスタは , 受信データレジスタフルフラグビット (SSR:RDRF) が "1" の状態で読み出してく
ださい。RDRF ビットは , RDR レジスタを読み出すと自動的に "0" にクリアされます。また , 受信
割込みが許可されていて , エラーが生じていない場合には受信割込みもクリアされます。
受信エラーが発生 (SSR:PE, ORE, FRE のいずれかが "1") した場合 , RDR レジスタのデータは無効と
なります。
■ LIN-UART 送信データレジスタ (TDR)
LIN-UART 送信データレジスタ (TDR) は , シリアルデータ送信用のデータバッファレジスタです。
送信が許可されている場合 (SCR:TXE=1) に , 送信するデータを TDR レジスタに書き込むと , 送信
データは送信シフトレジスタに転送され , シリアルデータに変換されて , シリアルデータ出力端子
(SOT) から送出されます。
データ長が 7 ビットの場合 , 最上位ビット (TDR:D7) のデータは無効となります。
送信データレジスタエンプティフラグビット (SSR:TDRE) は , 送信データが TDR レジスタに書き込
まれると "0" にクリアされます。
TDRE ビットは , データが送信シフトレジスタに転送され , データ送信が開始すると "1" に設定され
ます。
TDRE ビットが "1" になると , 次の送信データを TDR レジスタに書き込めます。送信割込みが許可
されている場合には , 送信割込みが発生します。TDR レジスタへの次の送信データの書込みは , 送
信割込みの発生後または , TDRE ビットが "1" になったときに行ってください。
276
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
第 15 章 LIN-UART
15.7 レジスタ
<注意事項>
LIN-UART 送信データレジスタは書込み専用のレジスタで , 受信データレジスタは読出し
専用のレジスタです。2つのレジスタは同一アドレスに配置されているため, 書込み値と読
出し値が異なります。
したがって , INC 命令や DEC 命令などのリードモディファイライト
(RMW) 系命令は使用できません。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
277
第 15 章 LIN-UART
15.7 レジスタ
15.7.5
MB95810K シリーズ
LIN-UART 拡張ステータス制御レジスタ (ESCR)
LIN-UART 拡張ステータス制御レジスタ (ESCR) は , LIN synch break 割込み許可 / 禁
止 , LIN synch break 長選択 , LIN synch break 検出 , SIN および SOT 端子への直接
アクセス , LIN-UART 同期クロックモードにおける連続クロック出力およびサンプリ
ングクロックエッジを設定します。
■ レジスタ構成
bit
7
6
5
4
3
2
1
0
Field
LBIE
LBD
LBL1
LBL0
SOPE
SIOP
CCO
SCES
属性
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
1
0
0
■ レジスタ機能
[bit7] LBIE: LIN synch break 検出割込み許可ビット
このビットは , LIN synch break 検出割込みを許可または禁止します。
LIN synch break 検出フラグ (LBD) が "1" で , 割込みが許可されている (LBIE = 1) と , 割込みが発生し
ます。
動作モード 1, 動作モード 2 では "0" に固定されます。
説明
bit7
"0" を書き込んだ場合
LIN synch break 検出割込みを禁止します。
"1" を書き込んだ場合
LIN synch break 検出割込みを許可します。
[bit6] LBD: LIN synch break 検出フラグビット
このビットは , LIN synch break を検出します。
動作モード 3 で LIN synch break が検出されると ( シリアル入力が 11 ビット幅以上の場合は "0" にな
る ), LBD ビットは "1" に設定されます。このビットを "0" に設定すると , このビットと割込みはク
リアされます。
リードモディファイライト (RMW) 系命令によりこのビットを読み出すと , 常に "1" が読み出されま
すが , これは LIN synch break が検出されたことを示すものではありません。
説明
bit6
"0" が読み出された場合
LIN synch break が検出されていないことを示します。
"1" が読み出された場合
LIN synch break が検出されていたことを示します。
"0" を書き込んだ場合
このビットをクリアします。
"1" を書き込んだ場合
動作に影響はありません。
( 注意事項 ) LIN synch break 検出を行う際には , LIN synch break 検出割込みを許可 (LBIE = 1) に設定
した後 , 受信禁止 (SCR:RXE = 0) に設定してください。
278
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 15 章 LIN-UART
15.7 レジスタ
MB95810K シリーズ
[bit5:4] LBL[1:0]: LIN synch break 長選択ビット
これらのビットは , LIN synch break 生成時間を何ビット分とするかを選択します。
受信 LIN synch break 長は常に 11 ビットです。
説明
bit5:4
"00" を書き込んだ場合
13 ビット分
"01" を書き込んだ場合
14 ビット分
"10" を書き込んだ場合
15 ビット分
"11" を書き込んだ場合
16 ビット分
[bit3] SOPE: シリアル出力端子直接アクセス許可ビット *
このビットは , SOT 端子への直接書込みを許可または禁止します。
シリアルデータ出力が許可されている (SMR:SOE = 1) 状態で , このビットに "1" を設定すると , SOT
端子への直接書込みが可能となります。
説明
bit3
"0" を書き込んだ場合
シリアル出力端子直接アクセスを禁止します。
"1" を書き込んだ場合
シリアル出力端子直接アクセスを許可します。
[bit2] SIOP: シリアル入出力端子直接アクセスビット *
このビットは , シリアル入出力端子への直接アクセスを制御します。
通常の読出し命令で SIOP ビットを読み出すと , 常に SIN 端子の値を返します。
シリアル出力端子への直接アクセスが許可されている場合 (SOPE = 1) は , このビットに値に設定す
ると , その値は SOT 端子に反映されます。
説明
bit2
SIN 端子の値を読み出します。
読出し動作
SOPE が "0" のとき
"0" を書き込んだ場合
"1" を書き込んだ場合
動作に影響はありません。
SOPE が "1" のとき
"0" を書き込んだ場合
SOT 端子を "0" に固定します。
"1" を書き込んだ場合
SOT 端子を "1" に固定します。
( 注意事項 ) ビット操作命令を使用した場合は, SIOPビットは, 読出しサイクル内のSOT端子のビッ
ト値を返します。
*: SOPE と SIOP の相互関係
SIOP への書込み
SIOP の読出し
SOPE
SIOP
0
R/W
動作に影響はありません。( ただし , 書込み
値は保持されます。)
1
R/W
SOT 端子に "0" または "1" を書き込みます。 SIN 端子の値を返します。
1
RMW SOT 端子の値を読み出し , "0" または "1" を SOT 端子に書き込みます。
MN702-00012-2v0-J
SIN 端子の値を返します。
FUJITSU SEMICONDUCTOR LIMITED
279
第 15 章 LIN-UART
15.7 レジスタ
MB95810K シリーズ
[bit1] CCO: 連続クロック出力許可ビット
このビットは , SCK 端子からの連続シリアルクロック出力を許可または禁止します。
シリアルクロック送信側が選択された動作モード 2 ( 同期 ) で , CCO ビットに "1" を書き込むと , SCK
端子がクロック出力端子として使用されている場合に , SCK 端子からの連続シリアルクロック出力
が可能となります。
bit1
説明 ( 動作モード 2 のときのみ )
"0" を書き込んだ場合
連続クロック出力を禁止します。
"1" を書き込んだ場合
連続クロック出力を許可します。
( 注意事項 ) CCO ビットが "1" のときは , ECCR レジスタの SSM ビットを "1" に設定してください。
[bit0] SCES: サンプリングクロックエッジ選択ビット
このビットは , サンプリングエッジを選択します。シリアルクロック受信側が選択された動作モー
ド 2 ( 同期 ) で , SCES ビットに "1" を設定すると , サンプリングエッジが立上りエッジから立下り
エッジへと切り換わります。
シリアルクロック送信側が選択されている動作モード 2( 同期 )(ECCR:MS = 0) で , SCK 端子がクロッ
ク出力端子として使用されている場合 , 内部シリアルクロック信号と出力クロック信号は反転しま
す。
動作モード 0/1/3 では , このビットを "0" に設定してください。
本ビットが "1" に設定されている場合 , ソフトウェアリセットは禁止されます。
本ビットを変更する前に , 送受信を禁止してください。
bit0
説明 ( 動作モード 2 のときのみ )
"0" を書き込んだ場合
クロックの立上りエッジをサンプリングエッジとして選択します ( ノーマル )。
"1" を書き込んだ場合
クロックの立下りエッジをサンプリングエッジとして選択します ( 反転クロッ
ク )。
280
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 15 章 LIN-UART
15.7 レジスタ
MB95810K シリーズ
15.7.6
LIN-UART 拡張通信制御レジスタ (ECCR)
LIN-UART 拡張通信制御レジスタ (ECCR) は , バスアイドル検出 , 同期クロック設定お
よび LIN synch break の生成を行うためのレジスタです。
■ レジスタ構成
bit
7
6
5
4
3
2
1
0
Field
予約
属性
W
LBR
MS
SCDE
SSM
予約
RBI
TBI
W
R/W
R/W
R/W
W
R
R
初期値
0
0
0
0
0
0
X
X
■ レジスタ機能
[bit7] 予約ビット
このビットは常に "0" に設定してください。
[bit6] LBR: LIN synch break 生成ビット
動作モード 3 で , このビットに "1" が設定されている場合は , ESCR レジスタの LBL[1:0] ビットで指
定された長さの LIN synch break が生成されます。
動作モード 0/1/2 では , このビットを "0" に設定してください。
bit6
説明 ( 動作モード 3 のときのみ )
読出し動作
読出し値は常に "0" です。
"0" を書き込んだ場合
動作に影響はありません。
"1" を書き込んだ場合
LIN synch break を生成します。
[bit5] MS: シリアルクロック送信側 / 受信側選択ビット
このビットは , 動作モード 2 において , シリアルクロックの送信側 / 受信側を選択します。
送信側 (MS = 0) が選択されている場合 , LIN-UART は同期クロックを生成します。
受信側 (MS = 1) が選択されている場合 , LIN-UART は外部シリアルクロックを受信します。動作モー
ド 0/1/3 では , このビットは "0" に固定されます。
このビットの変更は , SCR:TXE ビットが "0" の場合にのみ行ってください。
bit5
説明 ( 動作モード 2 のときのみ )
"0" を書き込んだ場合
シリアルクロック送信側を選択します。( シリアルクロック発生 )
"1" を書き込んだ場合
シリアルクロック受信側を選択します。( 外部シリアルクロック受信 )
( 注意事項 ) シリアルクロック受信側選択時は , クロックソースを外部クロックに設定し , 外部ク
ロック入力を許可 (SMR:SCKE = 0, EXT = 1, OTO = 1) にしてください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
281
第 15 章 LIN-UART
15.7 レジスタ
MB95810K シリーズ
[bit4] SCDE: シリアルクロック遅延許可ビット
シリアルクロック送信側が選択された動作モード 2 で , SCDE ビットが "1" に設定されると , 図 15.65 に示すような遅延したシリアルクロックが出力されます。遅延したシリアルクロックを出力する
この機能は , シリアルペリフェラルインタフェース (SPI) に有効です。
このビットは , 動作モード 0/1/3 では "0" に固定されます。
説明 ( 動作モード 2 のときのみ )
bit4
"0" を書き込んだ場合
シリアルクロックの遅延を禁止します。
"1" を書き込んだ場合
シリアルクロックの遅延を許可します。
[bit3] SSM: スタート / ストップ許可ビット
動作モード 2 で , このビットに "1" を設定すると , 同期データ形式にスタート / ストップビットが付
加されます。
動作モード 0/1/3 では , このビットは "0" に固定されます。
説明 ( 動作モード 2 のときのみ )
bit3
"0" を書き込んだ場合
スタート / ストップビットなし
"1" を書き込んだ場合
スタート / ストップビットあり
[bit2] 予約ビット
このビットは常に "0" に設定してください。
[bit1] RBI: 受信バスアイドル検出フラグビット
SIN 端子が "H" レベルで , かつ受信動作をしていない場合 , このビットは "1" になります。動作モー
ド 2 で SSM が "0" の場合は , このビットを使用しないでください。
説明
bit1
"0" が読み出された場合
受信中を示します。
"1" が読み出された場合
受信動作がないことを示します。
[bit0] TBI: 送信バスアイドル検出フラグビット
SOT 端子に送信動作がない場合 , このビットは "1" になります。動作モード 2 で SSM が "0" の場合
は , このビットを使用しないでください。
説明
bit0
"0" が読み出された場合
送信中を示します。
"1" が読み出された場合
送信動作がないことを示します。
282
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 15 章 LIN-UART
15.7 レジスタ
MB95810K シリーズ
15.7.7
LIN-UART ボーレートジェネレータレジスタ 1, 0
(BGR1, BGR0)
LIN-UART ボーレートジェネレータレジスタ 1, 0 (BGR1, BGR0) は , シリアルクロッ
クの分周比を設定します。また , 送信リロードカウンタのカウント値を読み出せます。
■ レジスタ構成
BGR1
bit
7
6
5
4
3
2
1
0
Field
—
BGR14
BGR13
BGR12
BGR11
BGR10
BGR9
BGR8
属性
—
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
BGR0
bit
7
6
5
4
3
2
1
0
Field
BGR7
BGR6
BGR5
BGR4
BGR3
BGR2
BGR1
BGR0
属性
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
■ BGR1 レジスタの機能
[bit7] 未定義ビット
読出し値は常に "0" です。このビットに値を書き込んでも動作に影響はありません。
[bit6:0] BGR[14:8]
説明
bit6:0
読出し動作
送信リロードカウンタの bit8:14 の値を読み出します。
書込み動作
リロードカウンタの bit8:14 に値を書き込みます。
■ BGR0 レジスタの機能
[bit7:0] BGR[7:0]
bit7:0
説明
読出し動作
送信リロードカウンタの bit0:7 の値を読み出します。
書込み動作
リロードカウンタの bit0:7 に値を書き込みます。
BGR1 および BGR0 は , シリアルクロックの分周比を設定します。
BGR1 は上位ビット , BGR0 は下位ビットに対応します。BGR1 および BRG0 は , カウンタのリロー
ド値を書き込むことと , 送信リロードカウンタの値を読み出せます。また , BGR1 および BGR0 は ,
バイトアクセスおよびワードアクセスが可能です。
BGR1 および BGR0 にリロード値を設定すると , リロードカウンタはカウントを開始します。
BGR1 および BGR0 への書込みは , LIN-UART の動作停止中にのみ行ってください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
283
第 15 章 LIN-UART
15.8 使用上の注意
15.8
MB95810K シリーズ
使用上の注意
LIN-UART 使用上の注意を示します。
■ LIN-UART 使用上の注意
● 動作の許可
LIN-UART には , それぞれ送信と受信を許可するための TXE ビットと RXE ビットが ,
LIN-UART シリアル制御レジスタ (SCR) にあります。デフォルト ( 初期値 ) では , 送受
信ともに禁止されているため , 転送開始前には動作を許可してください。また , 必要に
応じて動作禁止にして送受信を中止できます。
● 通信モードの設定
通信モードの設定は , LIN-UART の動作停止中にしてください。送信または受信中に通
信モードを設定した場合は, モード設定時に送受信中であったデータは保証されません。
● 送信割込み許可のタイミング
送信データレジスタエンプティフラグビット (SSR:TDRE) はデフォルト ( 初期 ) 値が
"1"( 送信データなし , 送信データ書込み許可 ) であるため , 送信割込み要求が許可
(SSR:TIE = 1) されると , 直ちに送信割込み要求が発生します。送信割込み要求が発生す
るのを防ぐため , 送信データ設定後には必ず TIE フラグビットを "1" に設定してくださ
い。
● 動作設定の変更
サンプリングクロックエッジ選択ビット (ESCR:SCES) が "0" のときに , 以下のビット
を変更する場合 , 送受信を禁止にしてビットを変更し , 変更後に LIN-UART のソフト
ウェアリセットを実行してください。
• LIN-UART シリアル制御レジスタ (SCR)
パリティ許可ビット (PEN), ストップビット長選択ビット (SBL), データ長選択ビッ
ト (CL)
• LIN-UART シリアルモードレジスタ (SMR)
動作モード選択ビット (MD1, MD0)
• LIN-UART 拡張ステータス制御レジスタ (ESCR)
連続クロック出力許可ビット (CCO)
• LIN-UART 拡張通信制御レジスタ (ECCR)
シリアルクロック送信側 / 受信側選択ビット (MS), シリアルクロック遅延許可ビッ
ト (SCDE), スタート / ストップ許可ビット (SSM)
LIN-UARTのソフトウェアリセット(SMR:UPCL = 1)は, シリアルモードレジスタ(SMR)
の設定を変更した後 , 再度レジスタにアクセスして行ってください。
この順番で動作設定の変更が行われなかった場合は , 正しい動作が保証されません。
LIN break field の送信ビット長は可変ですが , 検出は 11 ビット長固定になっています。
284
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
第 15 章 LIN-UART
15.8 使用上の注意
● サンプリングクロックエッジ選択ビット (ESCR:SCES) の変更
SCES ビットに "1" を設定している場合 , ソフトウェアリセットは禁止されます。
• SCES ビットを "0" から "1" に変更する場合
送受信を禁止し , ソフトウェアリセットを実行した (SCR:UPCL = 1) 後 , SCES ビッ
トを "1" に変更してください。
• SCES ビットを "1" から "0" に変更する場合
送受信を禁止し , SCES ビットを "0" に変更した後 , ソフトウェアリセットを実行し
てください (SCR:UPCL = 1)。
● LIN 機能の使用
LIN 機能は動作モード 3 で使用可能です。このモードでは , 通信フォーマットは 8 ビッ
トデータ , パリティなし , 1 ストップビット , LSB ファーストに固定されます。
LIN synch break の送信ビット長は可変ですが , 検出ではビット長は 11 ビット固定とな
ります。
● LIN スレーブ設定
LIN スレーブを開始するときは , LIN synch break の最小 13 ビット長を確実に検出する
ために , 必ず最初の LIN synch break を受信する前にボーレートを設定してください。
● バスアイドル機能
バスアイドル機能は , 同期モード ( 動作モード 2) では使用できません。
● AD ビット (LIN-UART シリアル制御レジスタ (SCR): アドレス / データ形式選択ビット )
AD ビットを使用する際には下記の点に注意してください。
AD ビットに書き込まれた値により , アドレス / データのどちらを送信するかが選択さ
れます。AD ビットを読み出すと , 最後に受信した AD ビットの値が読み出されます。マ
イクロコントローラの内部では , 受信した AD ビット値と送信した AD ビット値が個別
のレジスタに保存されます。
リードモディファイライト (RMW) 系命令を使用した場合は , 送信した AD ビット値が
読み出されます。
このため , SCR レジスタのほかのビットにビットアクセスした場合 ,
AD ビットに誤った値が書き込まれる可能性があります。
上記の理由により , AD ビットの設定は送信前の SCR レジスタへの最後のアクセス時
に行ってください。SCR レジスタへの値の書込み時には常にバイトアクセスすること
によって , 上記の問題を防げます。
● LIN-UART ソフトウェアリセット
LIN-UART シリアル制御レジスタ (SCR) の TXE ビットが "0" のときに , LIN-UART ソ
フトウェアリセット (SMR:UPCL = 1) を実行してください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
285
第 15 章 LIN-UART
15.8 使用上の注意
MB95810K シリーズ
● Synch Break 検出
動作モード 3(LIN モード ) 時に , シリアル入力が 11 ビット幅以上で "L" になると , 拡張
制御ステータスレジスタ (ESCR) の LBD ビットが "1" になり (synch break 検出 ), LINUART は synch field 待ちとなります。このため , synch break 以外のところでシリアル入
力が 11 ビット以上 "0" になった場合 , LIN-UART は synch break が入力されたものと認
識 (LBD = 1) し , synch field 待ちとなります。
この場合 , LIN-UART リセット (SMR:UPCL = 1) を実行してください。
● フレーミングエラー対処方法
フレーミングエラーが起こり ( ストップビット:SIN = 0), 次のスタートビット (SIN = 0)
がすぐ後に続く場合,そのスタートビットの立下りエッジの有無にかかわらずスタート
ビットと認識し , 受信が開始されます。これはデータストリームに同期した状態で次に
フレーミングエラーが検出されることにより , シリアルデータ入力 (SIN) が "L" の状態
が続いていることを検出するために使用されます ( 図 15.8-1 上 )。この動作が必要ない
場合は , フレーミングエラー後 , 一時的に受信を禁止してください (RXE=1 → 0 → 1)。
これにより , シリアルデータ入力 (SIN) の立下りエッジが検出され , 受信サンプリング
ポイントで "L" を検出するとスタートビットと認識し , 受信が開始されます ( 図 15.8-1
下 )。
286
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 15 章 LIN-UART
15.8 使用上の注意
MB95810K シリーズ
図 15.8-1 UART ドミナントバス動作
受信が常に許可される場合(RXE = 1)
SIN
FRE
CRE
フレーミング
エラー発生
エラー
クリア
立下りエッジの有無に
かかわらず受信を継続
次のフレーミン
グエラー
立下りエッジが次の
スタートビットエッジ
受信が一時的に禁止される場合(RXE = 1→0→1)
SIN
FRE
CRE
RXE
受信リセット:
エラークリア
フレーミングエラー
発生
立下りエッジの有無に
かかわらず受信を継続
MN702-00012-2v0-J
立下りエッジが次の
スタートビットエッジ
立下りエッジまで待機
エラーは発生
しない
FUJITSU SEMICONDUCTOR LIMITED
287
第 15 章 LIN-UART
15.8 使用上の注意
288
MB95810K シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 16 章
8/10 ビット A/D コンバータ
8/10 ビット A/D コンバータの機能と動作について
説明します。
16.1 概要
16.2 構成
16.3 端子
16.4 割込み
16.5 動作説明と設定手順例
16.6 レジスタ
16.7 使用上の注意
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
289
第 16 章 8/10 ビット A/D コンバータ
16.1 概要
16.1
MB95810K シリーズ
概要
8/10 ビット A/D コンバータは , 10 ビット逐次比較型の 8/10 ビット A/D コンバータ
です。複数のアナログ入力端子から 1 つの入力信号を選択し, ソフトウェアと内部 ク
ロックによって起動できます。
■ A/D 変換機能
A/Dコンバータは, アナログ入力端子から入力されたアナログ電圧 (入力電圧) を8ビッ
トまたは 10 ビットのデジタル値に変換します。
• 入力信号は , 複数のアナログ入力端子から選択できます。
• 変換速度は , プログラムで設定可能です ( 動作電圧と周波数によって選択可能 )。
• A/D 変換が完了すると割込みが発生します。
• 変換完了は , ADC1 レジスタの ADI ビットで確認できます。
A/D 変換機能を起動するには , 以下のいずれかの方法を使用します。
• ADC1 レジスタの AD ビットによる起動
• 外部端子 (ADTG) による連続起動
• 8/16 ビット複合タイマ出力 TO00 による連続起動
290
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 16 章 8/10 ビット A/D コンバータ
16.2 構成
MB95810K シリーズ
16.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 コンバータのブロックダイヤグラム
図 16.2-1 に , 8/10 ビット A/D コンバータのブロックダイヤグラムを示します。
図 16.2-1 8/10 ビット A/D コンバータのブロックダイヤグラム
8/10ビットA/D コンバータ制御レジスタ 2 (ADC2)
AD8
ADTG端子
8/16 ビット
複合タイマ
出力端子 (TO00)
TIM0
ADCK
ADIE
EXT
CKDIV1 CKDIV0
起動信号
セレクタ
アナログ
チャネル
セレクタ
サンプルアンド
ホールド回路
内部データバス
ANn
TIM1
制御回路
8/10ビットA/Dコンバータデータレジスタ(上位/下位)
(ADDH/ADDL)
AVR
AVcc
AVss
ANS3
ANS2
ANS1
ANS0
ADI
ADMV
予約
AD
8/10ビットA/D コンバータ制御レジスタ 1 (ADC1)
IRQ
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
291
第 16 章 8/10 ビット A/D コンバータ
16.2 構成
MB95810K シリーズ
● クロックセレクタ
このセレクタは , 連続起動を許可 (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 コンバータは , プリスケーラからの出力クロックを入力クロック ( 動
作クロック ) として使用します。
292
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
16.3
端子
第 16 章 8/10 ビット A/D コンバータ
16.3 端子
8/10 ビット A/D コンバータの端子について説明します。
■ 8/10 ビット A/D コンバータの端子
アナログ入力端子は , 汎用入出力ポートとしても使用されます。
● ANn 端子
A/D 変換機能を使用する場合は , ANn 端子に変換したいアナログ 電圧を入力します。
ANn 端子をアナログ入力端子として使用するには , 対象の端子に対応するポート方向
レジスタ (DDR) の端子ビットに "0" を , 8/10 ビット A/D コンバータ制御レジスタのア
ナログ入力端子選択ビット (ADC1:ANS) にその端子に対応する値を書き込んでくださ
い。
アナログ入力端子として使用されていない端子は , 8/10 ビット A/D コンバータが使
用されている場合も汎用入出力ポートとして使用できま す。
● ADTG 端子
外部トリガで A/D 変換機能を起動するための端子です。外部トリガで A/D 変換起動に
ADTG 端子を使用する前に , ADTG 端子に対応する DDR レジスタを使用して , ADTG
端子を入力ポートとして設定してください。
● AVCC 端子
8/10 ビット A/D コンバータの電源端子です。
VCC と同じ電位で使用してください。A/D
変換の精度を求める場合 , VCC のノイズを AVCC に入れない , または別の電源を使用し
てください。8/10 ビット A/D コンバータが使用中ではないときも , この端子を電源に接
続してください。
● AVSS 端子
8/10 ビット A/D コンバータのグランド端子です。VSS と同じ電位で使用してください。
8/10 ビッ
A/D 変換の精度を求める場合 , VSS のノイズを AVSS に入れないでください。
ト A/D コンバータを使用しないとき , この端子をグランド (GND) に接続してください。
● AVR 端子
8/10 ビット A/D コンバータの基準入力端子です。10 ビット A/D 変換は AVR 端子と AVSS
端子によって実行されます。8/10 ビット A/D コンバータを使用しないとき , AVR 端子
を AVSS 端子に接続してください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
293
第 16 章 8/10 ビット A/D コンバータ
16.4 割込み
16.4
MB95810K シリーズ
割込み
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 ビットをクリアしてください。
294
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 16 章 8/10 ビット A/D コンバータ
16.5 動作説明と設定手順例
MB95810K シリーズ
16.5
動作説明と設定手順例
8/10 ビット A/D コンバータは , ADC2 レジスタの EXT ビットにより A/D 変換のソフ
トウェア起動または連続起動を選択できます。
■ 8/10 ビット A/D コンバータ変換機能の動作
● ソフトウェア起動
ソフトウェアにより A/D 変換機能を起動するには , 図 16.5-1 の設定をしてください。
図 16.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
295
第 16 章 8/10 ビット A/D コンバータ
16.5 動作説明と設定手順例
MB95810K シリーズ
● 連続起動
A/D 変換機能を連続起動するには , 図 16.5-2 の設定をしてください。
図 16.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" にクリアされます。
296
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
第 16 章 8/10 ビット A/D コンバータ
16.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
297
第 16 章 8/10 ビット A/D コンバータ
16.6 レジスタ
16.6
MB95810K シリーズ
レジスタ
8/10 ビット A/D コンバータのレジスタについて説明します。
表 16.6-1
8/10 ビット A/D コンバータのレジスタ一覧
レジスタ略称
298
レジスタ名
参照先
ADC1
8/10 ビット A/D コンバータ制御レジスタ 1
16.6.1
ADC2
8/10 ビット A/D コンバータ制御レジスタ 2
16.6.2
ADDH
8/10 ビット A/D コンバータデータレジスタ ( 上位 )
16.6.3
ADDL
8/10 ビット A/D コンバータデータレジスタ ( 下位 )
16.6.3
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 16 章 8/10 ビット A/D コンバータ
16.6 レジスタ
MB95810K シリーズ
16.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
299
第 16 章 8/10 ビット A/D コンバータ
16.6 レジスタ
MB95810K シリーズ
[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" です。
300
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 16 章 8/10 ビット A/D コンバータ
16.6 レジスタ
MB95810K シリーズ
16.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" を書き込んだ場合
ADTG 端子を A/D 変換機能起動端子として選択します。
"1" を書き込んだ場合
8/16 ビット複合タイマ出力端子 (TO00) を A/D 変換機能起動端子として選択しま
す。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
301
第 16 章 8/10 ビット A/D コンバータ
16.6 レジスタ
MB95810K シリーズ
[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コンバータの動作が停止していることを確認して
ください。
302
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 16 章 8/10 ビット A/D コンバータ
16.6 レジスタ
MB95810K シリーズ
16.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
303
第 16 章 8/10 ビット A/D コンバータ
16.7 使用上の注意
16.7
MB95810K シリーズ
使用上の注意
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" に設定されます。
● 誤差について
| AVR - AVss | が小さくなるに従い , それに比例して A/D 変換の誤差は増大します。
● 8/10 ビット A/D コンバータのアナログ入力順序
アナログ入力 (ANn) と 8/10 ビット A/D コンバータ電源 (AVCC, AVSS) をデジタル電源
(VCC) と同時に投入するかまたはデジ タル電源投入後に投入してください。
デジタル電源 (VCC) は , アナログ入力 (ANn) と 8/10 ビット A/D コンバータ電源 (AVCC,
AVSS) と同時に切断するかまたはア ナログ入力と 8/10 ビット A/D コンバータ電源を切
断したあとに切断してください。
8/10 ビット A/D コンバータの電源投入 / 切断時には , AVCC, AVSS とアナログ入力電圧
がデジタル電源の電圧を超えないでください。
304
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 16 章 8/10 ビット A/D コンバータ
16.7 使用上の注意
MB95810K シリーズ
● 変換時間
A/D 変換の変換速度は , クロックモード , メインクロック発振周波数 , メインクロック
の速度切換え ( ギア機能 ) に影響されます。
例:
サンプリング時間 = CKIN × (ADC2:TIM[1:0] 設定 )
比較 ( コンペア ) 時間 = CKIN × 10 ( 固定値 ) + MCLK
A/D コンバータ起動時間 : 最短時間 = MCLK + MCLK
最長時間 = MCLK + CKIN
変換時間 = A/D コンバータ起動時間 + サンプリング時間 + 比較時間
• A/D 変換が開始した時間によって , 変換時間には最大 (1 CKIN - 1 MCLK) の誤差が
生じることがあります。
• ソフトウェアで A/D コンバータを設定する場合は , その設定がデバイスのデータ
シートに記載された A/Dコンバータの「サンプリング時間」
と「コンペア時間」の仕様
を満たしていることを確認してください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
305
第 16 章 8/10 ビット A/D コンバータ
16.7 使用上の注意
306
MB95810K シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 17 章
低電圧検出リセット回路
低電圧検出リセット回路の機能と動作について説
明します。
17.1 概要
17.2 構成
17.3 端子
17.4 動作説明
17.5 レジスタ
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
307
第 17 章 低電圧検出リセット回路
17.1 概要
17.1
MB95810K シリーズ
概要
低電圧検出リセット回路は , 電源電圧を監視し , 電源電圧が低電圧検出の電圧レベル
より低くなった場合に , リセット信号を発生します。
■ 低電圧検出リセット回路
低電圧検出リセット回路は , 電源電圧を監視し , 電源電圧が検出電圧レベルより低下し
たときにリセット信号を発生します。
LVD リセット電圧選択 ID レジスタ (LVDR) はリセットしきい値電圧を選択します。
LVD リセット回路パスワードレジスタ (LVDPW) はパスワードを設定することによっ
て , リセットしきい値電圧の変更および誤って低電圧検出リセット回路を禁止するこ
とを防止します。
電源投入時 , リセットしきい値電圧の最小値が LVDR レジスタで選択されます。
低電圧検出リセット回路は , 電源投入直後に自動的に許可され , また , LVD リセット回
路制御レジスタ (LVDCC) によって禁止できます。
電気的特性の詳細について , デバイスのデータシートを参照してください。
308
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 17 章 低電圧検出リセット回路
17.2 構成
MB95810K シリーズ
17.2
構成
図 17.2-1 に , 低電圧検出リセット回路のブロックダイヤグラムを示します。
■ 低電圧検出リセット回路のブロックダイヤグラム
図 17.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-00012-2v0-J
LVDPW7 LVDPW6 LVDPW5 LVDPW4 LVDPW3 LVDPW2 LVDPW1 LVDPW0
LVDリセット回路パスワードレジスタ(LVDPW)
FUJITSU SEMICONDUCTOR LIMITED
309
第 17 章 低電圧検出リセット回路
17.3 端子
17.3
MB95810K シリーズ
端子
低電圧検出リセット回路の端子について説明します。
■ 低電圧検出リセット回路の端子
● VCC 端子
低電圧検出リセット回路は , 本端子の電圧を監視します。
● VSS 端子
この端子は , 電圧検出の基準となる GND 端子です。
● RST 端子
低電圧検出リセット信号はマイコン内部と本端子へ出力されます。
310
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 17 章 低電圧検出リセット回路
17.4 動作説明
MB95810K シリーズ
17.4
動作説明
低電圧検出リセット回路は , 電源電圧が検出電圧よりも低下したときにリセット信
号を発生します。
■ リセットしきい値電圧
パスワードに保護されたリセットしきい値を変更するには , あらかじめ正しいパス
ワードを LVDPW レジスタに入力してください。
リセットしきい値電圧を選択したあとに , LVDPW レジスタの値を保持してください。
さもなければ , リセットしきい値電圧は初期化されます。
LVDR レジスタに設定したリセットしきい値電圧を変更した場合 , 新しく設定したリ
セットしきい値電圧は , LVD リセットしきい値電圧遷移安定時間 (tstb) が経過してから
有効になります。tstb の詳細については , デバイスのデータシートを参照してください。
■ 低電圧検出リセット回路の動作
低電圧検出リセット回路は , 電源電圧が検出電圧レベルよりも低下したときにリセッ
ト信号を発生します。その後 , 解除電圧を検出すると , 発振安定待ち時間の間リセット
信号を継続して出力し , リセットを解除します。
電気的特性の詳細については , デバイスのデータシートを参照してください。
図 17.4-1 低電圧検出リセット回路の動作
Vcc
検出電圧/
リセット解除電圧
動作下限電圧
リセット信号
B
B
A
A
B
A
A: 遅延
B: 発振安定待ち時間
■ スタンバイモード時の動作
低電圧検出リセット回路は , スタンバイモード ( ストップモード , スリープモード , サ
ブクロックモード , 時計モード ) においても常に動作します。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
311
第 17 章 低電圧検出リセット回路
17.5 レジスタ
17.5
MB95810K シリーズ
レジスタ
低電圧検出リセット回路のレジスタについて説明します。
表 17.5-1
低電圧検出リセット回路のレジスタ一覧
レジスタ略称
312
レジスタ名
参照先
LVDR
LVD リセット電圧選択 ID レジスタ
17.5.1
LVDPW
LVD リセット回路パスワードレジスタ
17.5.2
LVDCC
LVD リセット回路制御レジスタ
17.5.3
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 17 章 低電圧検出リセット回路
17.5 レジスタ
MB95810K シリーズ
17.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
313
第 17 章 低電圧検出リセット回路
17.5 レジスタ
MB95810K シリーズ
LVD リセット回路パスワードレジスタ (LVDPW)
17.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" 以外の値を書き込ん
だ場合
リセットしきい値電圧を最小値に初期化し , 低電圧検出リセット回路を
許可します。
<注意事項>
314
•
低電圧検出リセット回路のリセットは LVDPW レジスタを初期化できません。
•
リセットしきい値電圧または LVDCC レジスタ値を変更したあとに , リセットしきい値
電圧と LVDCC レジスタが初期化されないよう , "0b11001000" を LVDPW レジスタの
値として保持してください。
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 17 章 低電圧検出リセット回路
17.5 レジスタ
MB95810K シリーズ
17.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
315
第 17 章 低電圧検出リセット回路
17.5 レジスタ
316
MB95810K シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 18 章
クロックスーパバイザ
カウンタ
クロックスーパバイザカウンタの機能と動作につ
いて説明します。
18.1 概要
18.2 構成
18.3 動作説明
18.4 レジスタ
18.5 使用上の注意
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
317
第 18 章 クロックスーパバイザ カウンタ
18.1 概要
18.1
MB95810K シリーズ
概要
クロックスーパバイザカウンタは , 外部クロック周波数を調べて , 外部クロックの異
常状態を検出します。
■ クロックスーパバイザカウンタの概要
クロックスーパバイザカウンタは , 外部クロック周波数を調べて , 外部クロックの異常
状態を検出します。
クロックスーパバイザカウンタは, 8つのオプションから選ばれたタイムベースタイマの
インターバル時間内で , 外部クロック入力に基づいてカウンタを自動的にカウント
アップします。
このモジュールのカウントクロックは , メイン発振クロックとサブ発振クロックのど
ちらか選択できます。
<注意事項>
クロックスーパバイザカウンタは , メイン CR クロックモードで , ( スタンバイモードで動
作する ) ハードウェアウォッチドッグタイマとともに動作させてください。
上記以外の場合 , このカウンタは外部クロックの異常状態を正しく検出することはできず ,
外部クロックが停止するとハングアップしてしまいます。
( スタンバイモードで動作する ) ハードウェアウォッチドッグタイマについては ,「第 8 章
ハードウェア / ソフトウェアウォッチドッグタイマ」を参照してください。
318
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 18 章 クロックスーパバイザ カウンタ
18.2 構成
MB95810K シリーズ
18.2
構成
クロックスーパバイザカウンタは , 以下のブロックで構成されます。
• 制御回路
• クロック監視制御レジスタ (CMCR)
• クロック監視データレジスタ (CMDR)
• タイムベースタイマ出力セレクタ
• カウンタソースクロックセレクタ
■ クロックスーパバイザカウンタのブロックダイヤグラム
図 18.2-1 に , クロックスーパバイザカウンタのブロックダイヤグラムを示します。
図 18.2-1 クロックスーパバイザカウンタのブロックダイヤグラム
エッジ検出
タイムベースタイマ出力
タイムベース
タイマ出力
セレクタ
8ビットカウンタ
3
メイン発振クロック
サブ発振クロック
カウンタ
ソース
クロック
セレクタ
1回目: カウント開始
2回目: カウント停止
CLK
制御回路
カウンタ動作許可
クロック監視制御レジスタ(CMCR)
クロック監視データレジスタ(CMDR)
内部バス
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
319
第 18 章 クロックスーパバイザ カウンタ
18.2 構成
MB95810K シリーズ
● 制御回路
このブロックは , クロック監視制御レジスタ (CMCR) の設定に基づき , カウンタの開始
と停止 , カウンタクロックソースとカウンタ許可期間を制御します。
● クロック監視制御レジスタ (CMCR)
このレジスタは , カウンタソースクロックの選択 , 8 種類の異なるタイムベースタイマ
インターバルからのカウンタ許可期間の選択 , カウンタの開始およびカウンタが動作
中かどうかの確認を行います。
● クロック監視データレジスタ (CMDR)
このレジスタブロックは , カウンタ停止後にカウンタ値を読み出すために使用します。
ソフトウェアが , このレジスタの内容に従い , 外部クロック周波数が正しいかどうかを
判断します。
● タイムベースタイマインターバルセレクタ
このブロックは , 8 種類のタイムベースタイマインターバルからカウンタ許可期間を選
択するために使用します。
● カウンタソースクロックセレクタ
このブロックは , メイン発振クロックとサブ発振クロックからカウンタソースクロッ
クを選択するために使用します。
320
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 18 章 クロックスーパバイザ カウンタ
18.3 動作説明
MB95810K シリーズ
18.3
動作説明
クロックスーパバイザカウンタの動作について説明します。
■ クロックスーパバイザカウンタ
● クロックスーパバイザカウンタの動作 1
ソフトウェアによってクロックスーパバイザカウンタの動作が許可されると(CMCEN = 1),
クロックスーパバイザカウンタは , TBTSEL[2:0] ビットによって 8 種類から選択された
タイムベースタイマインターバルで動作します。選択されたタイムベースタイマイン
ターバルの2つの立上りエッジの間, 内部カウンタは外部クロックにより時間が計測さ
れます。
このモジュールのカウントクロックとして , メイン発振クロックとサブ発振クロック
とのどちらかを選択できます。
図 18.3-1 クロックスーパバイザカウンタの動作 1
選択したタイムベースタイマインターバル
メイン/サブ発振クロック
CMCEN
内部カウンタ
0
CMDRレジスタ
30
0
30
● クロックスーパバイザカウンタの動作 2
CMCEN ビットが "0" から "1" に変わると , CMDR レジスタがクリアされます。
図 18.3-2 クロックスーパバイザカウンタの動作 2
選択したタイムベースタイマインターバル
メイン/サブ発振クロック
CMCEN
内部カウンタ
CMDRレジスタ
MN702-00012-2v0-J
クリア
0
10
0
10
FUJITSU SEMICONDUCTOR LIMITED
10
0
0
10
321
第 18 章 クロックスーパバイザ カウンタ
18.3 動作説明
MB95810K シリーズ
● クロックスーパバイザカウンタの動作 3
カウント値が "255" に達すると , カウンタは停止します。それ以上カウントを続けるこ
とはできません。
図 18.3-3 クロックスーパバイザカウンタの動作 3
選択したタイムベースタイマインターバル
メイン/サブ発振クロック
CMCEN
内部カウンタ
0
CMDRレジスタ
255
0
255
● クロックスーパバイザカウンタの動作 4
選択されている外部クロックが停止すると , カウントを停止します。このカウンタ停止
により , ソフトウェアは選択されている外部クロックが異常状態にあることを認識し
ます。
図 18.3-4 クロックスーパバイザカウンタの動作 4
選択したタイムベースタイマインターバル
メイン/サブ発振クロック
CMCEN
内部カウンタ
0
CMDRレジスタ
0
● クロックスーパバイザカウンタの動作 5
カウンタの動作中に CMCEN に "0" が設定されると , カウンタはソフトウェアにより
"0" にクリアされます。
図 18.3-5 クロックスーパバイザカウンタの動作 5
選択したタイムベースタイマインターバル
メイン/サブ発振クロック
ソフトウェアにより設定
CMCEN
内部カウンタ
CMDRレジスタ
322
0
0
0
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 18 章 クロックスーパバイザ カウンタ
18.3 動作説明
MB95810K シリーズ
■ タイムベースタイマインターバルとクロックスーパバイザカウンタ値の対応表
表 18.3-1 に , 様々な外部クロックを測定するための各種のメイン CR クロック周波数に
対し , 適切なタイムベースタイマインターバルを示します。
表 18.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
323
第 18 章 クロックスーパバイザ カウンタ
18.3 動作説明
MB95810K シリーズ
表 18.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)」を参照してください。
324
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 18 章 クロックスーパバイザ カウンタ
18.3 動作説明
MB95810K シリーズ
■ クロックスーパバイザの動作フローチャート例
図 18.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
325
第 18 章 クロックスーパバイザ カウンタ
18.4 レジスタ
18.4
MB95810K シリーズ
レジスタ
クロックスーパバイザカウンタのレジスタについて説明します。
表 18.4-1
クロックスーパバイザカウンタのレジスタ一覧
レジスタ略称
326
レジスタ名
参照先
CMDR
クロック監視データレジスタ
18.4.1
CMCR
クロック監視制御レジスタ
18.4.2
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 18 章 クロックスーパバイザ カウンタ
18.4 レジスタ
MB95810K シリーズ
18.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 回検出
します ( 図 18.5-2 を参照してください )。
<注意事項>
カウンタが動作している間 (CMCR:CMCEN = 1) は , このレジスタの値は "0b00000000"
です。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
327
第 18 章 クロックスーパバイザ カウンタ
18.4 レジスタ
18.4.2
MB95810K シリーズ
クロック監視制御レジスタ (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
328
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
第 18 章 クロックスーパバイザ カウンタ
18.4 レジスタ
[bit0] CMCEN: カウンタ許可ビット
このビットは , クロックスーパバイザカウンタの動作を許可または禁止します。
このビットに "0" を書き込んだ場合 , カウンタが停止し , CMDR レジスタが "0b00000000" にクリア
されます。
このビットへの "1" の書込みは カウンタの動作を許可します。カウンタは , タイムベースタイマイ
ンターバルの最初の立上りエッジを検出した時点で動作を開始します。同じインターバルの 2 回目
の立上りエッジを検出すると , 動作を停止します。
カウンタが停止すると , このビットが自動的に "0" に設定されます。
説明
bit0
"0" を書き込んだ場合
カウンタ動作を禁止します。
"1" を書き込んだ場合
カウンタ動作を許可します。
<注意事項>
• CMCEN ビットが "1" のときに , CMCSEL ビットの設定を変更しないでください。
• CMCEN ビットが "1" のときに , TBTSEL[2:0] ビットの設定を変更しないでください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
329
第 18 章 クロックスーパバイザ カウンタ
18.5 使用上の注意
18.5
MB95810K シリーズ
使用上の注意
クロックスーパバイザカウンタ使用上の注意を示します。
■ クロックスーパバイザカウンタの使用上の注意
● 制限事項
• クロックスーパバイザカウンタは , メイン CR クロックモードで , ( スタンバイモー
ドで動作する)ハードウェアウォッチドッグタイマとともに動作させてください。そ
うしないと , 外部クロックの異常状態を正しく検出することはできず , 外部クロッ
クが停止するとハングアップしてしまいます。( スタンバイモードで動作する ) ハー
ドウェアウォッチドッグタイマについては ,「第 8 章 ハードウェア / ソフトウェア
ウォッチドッグタイマ」を参照してください。
• メインCRクロックモードのみを使用してください。それ以外のクロックモードは使
用しないでください。
• タイムベースタイマが停止すると , 内部カウンタは動作を停止します。
クロックスー
パバイザカウンタが外部クロックによりカウントしている間は , タイムベースタイ
マをクリアしないでください。
• タイムベースタイマインターバルは , クロックスーパバイザカウンタの動作に対し
十分に余裕のあるものを選択してください。タイムベースタイマのインターバルに
ついては , 表 18.3-1 を参照してください。
• CMDR レジスタは , CMCEN = 0 のときに読み出してください ( クロックスーパバイ
ザカウンタの動作中 (CMCEN = 1) は , CMDR の値は "0b00000000" のままです )。
• クロックスーパバイザカウンタを使用する場合は , 必ずマシンクロックサイクルが
選択されたタイムベースタイマインターバルの半分よりも短くなるようにしてく
ださい。マシンクロックサイクルが選択されたタイムベースタイマインターバルの
半分よりも長いと , クロックスーパバイザカウンタの停止後も CMCEN が "1" のま
まとなることがあります。
表 18.5-1 に , 各 TBTSEL 設定に対する適切なクロックギア設定を示します。
表 18.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)
×
×
○
○ : 推奨
×
330
: 設定禁止
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 18 章 クロックスーパバイザ カウンタ
18.5 使用上の注意
MB95810K シリーズ
● クロックスーパバイザカウンタの動作中に外部クロックが停止し , 選択されたタイムベー
スタイマインターバルの 2 回目の立上りエッジ後に再開した場合は , CMCEN は外部ク
ロック再開後に "0" になります。
図 18.5-1 クロックスーパバイザカウンタの動作 1
選択したタイムベースタイマインターバル
メイン/サブ発振クロック
CMCEN
内部カウンタ
0
5
6
0
CMDRレジスタ
6
● クロックスーパバイザカウンタの動作中に外部クロックが停止した場合 , 選択されたタイ
ムベースタイマインターバルにおいて 2 回目の立上りエッジ後に立下りエッジが検出され
ると , CMCEN が "0" になります。カウンタも同じ立下りエッジでクリアされます。
図 18.5-2 クロックスーパバイザカウンタの動作 2
選択したタイムベースタイマインターバル
メイン/サブ発振クロック
CMCEN
内部カウンタ
CMDRレジスタ
MN702-00012-2v0-J
0
5
0
0
FUJITSU SEMICONDUCTOR LIMITED
331
第 18 章 クロックスーパバイザ カウンタ
18.5 使用上の注意
332
MB95810K シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 19 章
8/16 ビット PPG
8/16ビットPPGの機能と動作について説明します。
19.1 概要
19.2 構成
19.3 チャネル
19.4 端子
19.5 割込み
19.6 動作説明と設定手順例
19.7 レジスタ
19.8 使用上の注意
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
333
第 19 章 8/16 ビット PPG
19.1 概要
19.1
MB95810K シリーズ
概要
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 の出力値を反転できます。
334
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 19 章 8/16 ビット PPG
19.2 構成
MB95810K シリーズ
19.2
構成
8/16 ビット PPG のブロックダイヤグラムを示します。
■ 8/16 ビット PPG のブロックダイヤグラム
図 19.2-1 に , 8/16 ビット PPG のブロックダイヤグラムを示します。
図 19.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
335
第 19 章 8/16 ビット PPG
19.2 構成
MB95810K シリーズ
● カウントクロックセレクタ
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 は , プリスケーラからの出力クロックを入力クロック ( カウントクロッ
ク ) として使用します。
336
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 19 章 8/16 ビット PPG
19.3 チャネル
MB95810K シリーズ
19.3
チャネル
8/16 ビット PPG のチャネルについて説明します。
■ 8/16 ビット PPG のチャネル
8/16 ビット PPG は 8 ビット PPG タイマ n0 と 8 ビット PPG タイマ n1 から構成されま
す。
それぞれ , 2 つの 8 ビット PPG としてまたは 1 つの 16 ビット PPG として使用でき
ます。
表 19.3-1 は 8/16 ビット PPG の端子 , 表 19.3-2 はそのレジスタを示します。
表 19.3-1 8/16 ビット PPG の端子
端子名
端子機能
PPGn0
PPG タイマ n0 (8 ビット PPG (n0), 16 ビット PPG)
PPGn1
PPG タイマ n1 (8 ビット PPG (n1), 8 ビットプリスケーラ )
表 19.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
337
第 19 章 8/16 ビット PPG
19.4 端子
19.4
MB95810K シリーズ
端子
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 波形を出力できます。
338
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 19 章 8/16 ビット PPG
19.5 割込み
MB95810K シリーズ
19.5
割込み
8/16 ビット PPG はカウンタボロー検出時に割込み要求を出力します。
■ 8/16 ビット PPG の割込み
表 19.5-1 は 8/16 ビット PPG の割込み制御ビットと割込み要因を示します。
表 19.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
339
第 19 章 8/16 ビット PPG
19.6 動作説明と設定手順例
19.6
MB95810K シリーズ
動作説明と設定手順例
8/16 ビット PPG の動作について説明します。
8/16 ビット PPG は以下の 3 つの動作モードがあります。
• 8 ビット PPG 独立モード
• 8 ビットプリスケーラ +8 ビット PPG モード
• 16 ビット PPG モード
340
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
19.6.1
8 ビット PPG 独立モード
第 19 章 8/16 ビット PPG
19.6 動作説明と設定手順例
このモードは 8/16 ビット PPG を 2 チャネル (PPG タイマ n0, PPG タイマ n1) の 8
ビット PPG として動作させます。
■ 8 ビット PPG 独立モードの設定
8/16 ビット PPG を 8 ビット PPG 独立モードで動作させるには , 関連するレジスタを図
19.6-1 のように設定してください。
図 19.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
341
第 19 章 8/16 ビット PPG
19.6 動作説明と設定手順例
MB95810K シリーズ
図 19.6-2 は 8 ビット PPG 独立モードの動作を示します。
図 19.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 レジスタ に設定 ) 。
342
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 19 章 8/16 ビット PPG
19.6 動作説明と設定手順例
MB95810K シリーズ
19.6.2
8 ビットプリスケーラ + 8 ビット PPG モード
このモードでは , PPG タイマ n1 の PPG 出力の両エッジ検出パルスを PPG タイマ n0
のダウンカウンタのカウントクロックとすることで , PPG タイマ n0 に任意周期の 8
ビット PPG 出力が可能となります。
■ 8 ビットプリスケーラ+ 8 ビット PPG モードの設定
8/16 ビット PPG を 8 ビットプリスケーラ+ 8 ビット PPG モードで動作させるには , 関
連するレジスタを図 19.6-3 のように設定してください。
図 19.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
343
第 19 章 8/16 ビット PPG
19.6 動作説明と設定手順例
MB95810K シリーズ
定され , デューティ比設定値分 "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 はカウント動作を行いません。
図 19.6-4 は 8 ビットプリスケーラ + 8 ビット PPG モードの動作を示します。
344
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 19 章 8/16 ビット PPG
19.6 動作説明と設定手順例
MB95810K シリーズ
図 19.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-00012-2v0-J
T : カウントクロック周期
m0 : PPSn0 レジスタ値
n0 : PDSn0 レジスタ値
m1 : PPSn1 レジスタ値
n1 : PDSn1 レジスタ値
α : カウントクロック選択, PEN01 による
起動タイミングにより異なります。
β : PPGn1 出力 (ch. n) 波形, PEN00 による
起動のタイミングにより異なります。
FUJITSU SEMICONDUCTOR LIMITED
345
第 19 章 8/16 ビット PPG
19.6 動作説明と設定手順例
19.6.3
MB95810K シリーズ
16 ビット PPG モード
このモードでは , PPG タイマ n1 を上位 , PPG タイマ n0 を下位に割り当てることで
8/16 ビット PPG は 16 ビット PPG として動作します。
■ 16 ビット PPG モードの設定
8/16 ビット PPG を 16 ビット PPG モードで動作させるには , 関連するレジスタを
図 19.6-5 のように設定してください。
図 19.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 タイマデューティ設定バッファレジスタの
346
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 19 章 8/16 ビット PPG
19.6 動作説明と設定手順例
MB95810K シリーズ
値が (PPG タイマ n1 は PDS01, PPG タイマ n0 は PDSn0 の値がともに ) 一致したと
き , カウントクロックに同期して PPGn0 端子に "H" を設定し , デューティ設定値分
"H" を出力した後 , PPGn0 端子を "L" に設定します。出力反転ビット (REV00) が "0"
の場合 , PPG のパルス波がこのままの極性で PPGn0 端子に出力されます。
REV00 が
"1" に設定される場合 , PPG のパルス波は , 極性が反転されてから , PPGn0 端子 に出
力されます。
図 19.6-6 は 16 ビット PPG モードの動作を示します。
図 19.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
T : カウントクロック周期
m : PPSn1 および PPSn0
n : PDSn1 および PDSn0
α : カウントクロック選択, 起動の
タイミングにより異なります。
347
第 19 章 8/16 ビット PPG
19.6 動作説明と設定手順例
MB95810K シリーズ
■ 設定手順例
以下に , 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)。
348
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 19 章 8/16 ビット PPG
19.7 レジスタ
MB95810K シリーズ
19.7
レジスタ
8/16 ビット PPG のレジスタについて説明します。
表 19.7-1
8/16 ビット PPG のレジスタ一覧
レジスタ略称
レジスタ名
参照先
PCn1
8/16 ビット PPG タイマ n1 制御レジスタ
19.7.1
PCn0
8/16 ビット PPG タイマ n0 制御レジスタ
19.7.2
PPSn1
8/16 ビット PPG タイマ n1 周期設定バッファレジスタ
19.7.3
PPSn0
8/16 ビット PPG タイマ n0 周期設定バッファレジスタ
19.7.3
PDSn1
8/16 ビット PPG タイマ n1 デューティ設定バッファレジスタ
19.7.4
PDSn0
8/16 ビット PPG タイマ n0 デューティ設定バッファレジスタ
19.7.4
PPGS
8/16 ビット PPG 起動レジスタ
19.7.5
REVC
8/16 ビット PPG 出力反転レジスタ
19.7.6
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
349
第 19 章 8/16 ビット PPG
19.7 レジスタ
19.7.1
MB95810K シリーズ
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 出力端子として機能します。
350
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 19 章 8/16 ビット PPG
19.7 レジスタ
MB95810K シリーズ
[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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
351
第 19 章 8/16 ビット PPG
19.7 レジスタ
19.7.2
MB95810K シリーズ
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" を書き込んだ場合
動作に影響はありません。
352
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 19 章 8/16 ビット PPG
19.7 レジスタ
MB95810K シリーズ
[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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
353
第 19 章 8/16 ビット PPG
19.7 レジスタ
19.7.3
MB95810K シリーズ
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 周期から変更した設定が有効となりま
す。
354
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 19 章 8/16 ビット PPG
19.7 レジスタ
MB95810K シリーズ
19.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
355
第 19 章 8/16 ビット PPG
19.7 レジスタ
19.7.5
MB95810K シリーズ
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) ダウンカウンタ動作を許可します。
356
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 19 章 8/16 ビット PPG
19.7 レジスタ
MB95810K シリーズ
[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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
357
第 19 章 8/16 ビット PPG
19.7 レジスタ
19.7.6
MB95810K シリーズ
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" を書き込んだ場合
反転極性を選択します。
358
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 19 章 8/16 ビット PPG
19.7 レジスタ
MB95810K シリーズ
[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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
359
第 19 章 8/16 ビット PPG
19.8 使用上の注意
19.8
MB95810K シリーズ
使用上の注意
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" にクリアしてください。
360
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 20 章
16 ビット PPG タイマ
16 ビット PPG タイマの機能と動作について説明
します。
20.1 概要
20.2 構成
20.3 チャネル
20.4 端子
20.5 割込み
20.6 動作説明と設定手順例
20.7 レジスタ
20.8 使用上の注意
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
361
第 20 章 16 ビット PPG タイマ
20.1 概要
20.1
MB95810K シリーズ
概要
16 ビット PPG タイマは , PWM (Pulse Width Modulation) 出力や , ワンショット ( の
矩形波 ) 出力を行えます。
その出力波形の周期とデューティはソフトウェアで自由に
変更できます。さらに, スタートトリガの発生, 出力波形の立上り / 立下りエッジにお
いて割込みを発生できます。
■ 16 ビット PPG タイマ
16 ビット PPG タイマは , PWM 出力やワンショット出力を行えます。レジスタの設定に
より出力波形を反転させることができます ( 通常極性⇔反転極性 )。
出力波形
PWM 波形
通常極性
L
H
L
L
H
反転極性
H
L
H
H
L
ワンショット波形
通常極性
L
H
L
反転極性
H
L
H
• カウント動作クロックは , 12 種類 (MCLK, MCLK/2, MCLK/4, MCLK/8, MCLK/16,
MCLK/32, FCH/27, FCH/28, FCRH/26, FCRH/27, FMCRPLL/26 または FMCRPLL/27) の中から
選択できます (MCLK:マシンクロック , FCH:メインクロック , FCRH: メイン CR ク
ロック , FMCRPLL: メイン CR PLL クロック ) 。
• 割込み発生は以下の 4 条件の中から選択できます。
- PPG タイマのスタートトリガ発生
- 16 ビットダウンカウンタのカウンタボロー発生 ( 設定した周期が一致 )
- 通常極性での PPG 立上りエッジまたは反転極性での PPG 立下りエッジ
- カウンタボローまたは通常極性での PPG 立上りエッジまたは反転極性での PPG
立下りエッジ
362
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 20 章 16 ビット PPG タイマ
20.2 構成
MB95810K シリーズ
20.2
構成
16 ビット PPG タイマの構成について説明します。
■ 16 ビット PPG タイマのブロックダイヤグラム
品種により , 16 ビット PPG の端子数およびチャネル数は異なります。詳細は , デバイス
のデータシートを参照してください。
本章において , 端子名とレジスタ略称にある "n" はチャネル番号を示します。各品種の
端子名 , レジスタ名とレジスタ略称について , デバイスのデータシートを参照してくだ
さい。
図 20.2-1 16 ビット PPG タイマのブロックダイヤグラム
デューティ設定レジスタの
上位 8 ビットのみ書込みが
行われ, 下位 8 ビットの
書込みが行われていない
場合 =1 それ以外の場合=0
CKS02
プリスケーラ
CKS01
16 ビット PPG 周期
設定バッファレジスタ
(上位 8 ビット) ch. n
16ビットPPG周期設定
バッファレジスタch. n
上位8ビットバッファ
CKS00
1
16 ビット PPG デューティ
設定バッファレジスタ
(上位 8 ビット) ch. n
16 ビット PPG デューティ
設定バッファレジスタ
(下位 8 ビット) ch. n
16 ビット PPG デューティ
設定バッファレジスタch. n
上位 8 ビットバッファ
16 ビット PPG デューティ
設定バッファレジスタch. n
下位 8 ビットバッファ
0
CLK
比較
回路
LOAD
16 ビット
ダウンカウンタ
MDSE PGMS OSEL POEN
STOP
START
BORROW
16 ビット PPG ダウンカウンタレジスタ ch. n
内部データバス
1 MCLK
MCLK/2
MCLK/4
MCLK/8
MCLK/16
MCLK/32
FCH/27またはFCRH/26またはFMCRPLL/26
FCH/28またはFCRH/27またはFMCRPLL/27
下位 8 ビット
16 ビット PPG 周期
設定バッファレジスタ
(下位 8 ビット) ch. n
POEN
端子
S
Q
PPGn
R
割込み
選択
エッジ検出
16 ビット
PPG 割込み
IRS1 IRS0 IRQF IREN
端子
TRGn
EGS1 EGS0
STRG CNTE RTRG
● カウントクロックセレクタ
8 種類の内部カウントクロックから 16 ビットダウンカウンタのカウントダウン用ク
ロックを選択します。
● 16 ビットダウンカウンタ
カウントクロックセレクタで選択されたカウントクロックでカウントダウンします。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
363
第 20 章 16 ビット PPG タイマ
20.2 構成
MB95810K シリーズ
● 比較回路
16 ビットダウンカウンタの値が 16 ビット PPG 周期設定バッファレジスタの値から 16
ビット PPG デューティ設定バッファレジスタの値に一致するまで出力を "H" に保ちま
す。
その後 , カウンタ値が "1" に一致するまで出力を "L" に保った後 , 16 ビットダウンカウ
ンタは 16 ビット PPG 周期設定バッファレジスタの値からカウントを続けます。
● 16 ビット PPG ダウンカウンタレジスタ ( 上位 / 下位 ) ch. n (PDCRHn/PDCRLn)
16 ビット PPG タイマの 16 ビットダウンカウンタの値を読み出します。
● 16 ビット PPG 周期設定バッファレジスタ ( 上位 / 下位 ) ch. n (PCSRHn/PCSRLn)
16 ビット PPG タイマの周期用コンペア値を設定します。
● 16 ビット PPG デューティ設定バッファレジスタ ( 上位 / 下位 ) ch. n (PDUTHn/PDUTLn)
16 ビット PPG タイマの "H" 幅用コンペア値の設定を行います。
● 16 ビット PPG ステータス制御レジスタ ( 上位 / 下位 ) ch. n (PCNTHn/PCNTLn)
16 ビット PPG タイマの動作モードや動作条件を設定します。
■ 入力クロック
16 ビット PPG タイマは , プリスケーラからの出力クロックを入力クロック ( カウント
クロック ) として使用します。
364
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 20 章 16 ビット PPG タイマ
20.3 チャネル
MB95810K シリーズ
20.3
チャネル
16 ビット PPG タイマのチャネルについて説明します。
■ 16 ビット PPG タイマのチャネル
16ビットPPGタイマの端子とレジスタを表 20.3-1および表 20.3-2にそれぞれ示 します。
表 20.3-1 16 ビット PPG タイマの端子
端子名
端子機能
PPGn
16 ビット PPG タイマ PPGn 出力
TRGn
トリガ n 入力
表 20.3-2 16 ビット PPG タイマのレジスタ
レジスタ略称
レジスタ対応 ( 本マニュアル上の表記 )
PDCRHn
16 ビット PPG ダウンカウンタレジスタ ( 上位 ) ch. n
PDCRLn
16 ビット PPG ダウンカウンタレジスタ ( 下位 ) ch. n
PCSRHn
16 ビット PPG 周期設定バッファレジスタ ( 上位 ) ch. n
PCSRLn
16 ビット PPG 周期設定バッファレジスタ ( 下位 ) ch. n
PDUTHn
16 ビット PPG デューティ設定バッファレジスタ ( 上位 ) ch. n
PDUTLn
16 ビット PPG デューティ設定バッファレジスタ ( 下位 ) ch. n
PCNTHn
16 ビット PPG ステータス制御レジスタ ( 上位 ) ch. n
PCNTLn
16 ビット PPG ステータス制御レジスタ ( 下位 ) ch. n
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
365
第 20 章 16 ビット PPG タイマ
20.4 端子
20.4
MB95810K シリーズ
端子
16 ビット PPG タイマの端子について説明します。
■ 16 ビット PPG タイマの端子
16 ビット PPG タイマの端子は , PPGn 端子と TRGn 端子 です。
● PPGn 端子
この端子は汎用入出力ポートとしての機能と , 16 ビット PPG タイマ出力としての機能
を兼用しています。
PPGn: この端子に PPG 波形が出力されます。16 ビット PPG ステータス制御レジスタ
ch. n で出力 を許可 (PCNTLn:POEN = 1) することにより , PPG 波形を出力できま
す。
● TRGn 端子
TRGn:16 ビット PPG タイマをハードウェアトリガで起動させる場合に使用します。
366
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 20 章 16 ビット PPG タイマ
20.5 割込み
MB95810K シリーズ
20.5
割込み
16 ビット PPG タイマは , 以下の場合に割込み要求を発生できます。
• トリガ発生またはカウンタボローが発生した場合
• 通常極性で PPG 立上りが発生した場合
• 反転極性で PPG 立下りが発生した場合
これらの割込み動作は PCNTLn レジスタの IRS[1:0] ビットで設定されます。
■ 16 ビット PPG タイマ割込み
表 20.5-1 に , 16 ビット PPG タイマの割込み制御ビットと割込み要因を示します。
表 20.5-1 16 ビット PPG タイマの割込み制御ビットと割込み要因
項目
説明
割込みフラグビット
PCNTLn:IRQF
割込み要求許可ビット
PCNTLn:IREN
割込み種類選択ビット
PCNTLn:IRS[1:0]
PCNTLn:IRS[1:0] = 0b00
16 ビットダウンカウンタの TRGn 端子入力によるハードウェアトリガ , ソ
フトウェアトリガ , リトリガ
PCNTLn:IRS[1:0] = 0b01
16 ビットダウンカウンタのカウンタボロー
割込み要因
PCNTLn:IRS[1:0] = 0b10
通常極性での PPGn 出力立上りエッジまたは反転極性での PPGn 出力立下
りエッジ
PCNTLn:IRS[1:0] = 0b11
16 ビットダウンカウンタのカウンタボローまたは通常極性での PPGn 出力
立上りエッジまたは反転極性での PPGn 出力立下りエッジ
16 ビット PPG タイマでは , 16 ビット PPG ステータス制御レジスタ ch. n (PCNTLn) の
IRQF ビット に "1" が設定され , 割込み要求が許可されると (PCNTLn :IREN = 1) , 割込
み要求が割込みコントローラへ出力されます。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
367
第 20 章 16 ビット PPG タイマ
20.6 動作説明と設定手順例
20.6
MB95810K シリーズ
動作説明と設定手順例
16 ビット PPG タイマは , PWM モードまたはワンショットモードで動作します。また ,
16 ビット PPG タイマではリトリガを使用できます。
■ PWM モード (PCNTHn レジスタの MDSE ビット = 0)
PWM モードで , ソフトウェアトリガまたは TRGn 端子入力によるハードウェアトリガ
を入力すると , 16 ビットダウンカウンタは , 16 ビット PPG 周期設定バッファレジスタ
(PCSRHn, PCSRLn) の値をロードしてダウンカウントを開始します。カウント値が "1"
に達すると , 16 ビット PPG 周期設定バッファレジスタ (PCSRHn, PCSRLn) の値をリ
ロードし , ダウンカウント動作を繰り返します。
PPG 出力は , 初期状態では "L" を出力しています。16 ビットダウンカウンタの値と
デューティ設定レジスタの値が一致したとき , カウントクロックに同期して "H" を出
力してデューティ設定値分 "H" 出力した後に "L" を出力します (OSEL = 1 に設定して
いる場合は逆のレベルが出力されます ) 。
リトリガ無効に設定されている場合 (RTRG = 0), ダウンカウンタは既に動作している
状態でのソフトウェアトリガ (STRG = 1) を無視します。
ダウンカウンタが動作していない状態から有効なトリガ入力によりダウンカウンタが
動作し始めるまでの時間の最大値は , 下記のようになります。
ソフトウェアトリガの場合:1 カウントクロック周期 + 2 マシンクロック周期
TRGn 端子入力によるハードウェアトリガの場合: 1 カウントクロック周期 + 3 マシン
クロック周期
最小値は下記のようになります。
ソフトウェアトリガの場合:2 マシンクロック周期
TRGn 端子入力によるハードウェアトリガの場合:3 マシンクロック周期
ダウンカウンタが動作している状態から有効リトリガ入力によりダウンカウンタが再
度 , 動作し始めるまでの時間の最大は , 下記のようになります。
ソフトウェアトリガの場合:1 カウントクロック周期 + 2 マシンクロック周期
TRGn 端子入力によるハードウェアトリガの場合: 1 カウントクロック周期 + 3 マシン
クロック周期
最小値は下記のようになります。
ソフトウェアトリガの場合:2 マシンクロック周期
TRGn 端子入力によるハードウェアトリガの場合:3 マシンクロック周期
368
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 20 章 16 ビット PPG タイマ
20.6 動作説明と設定手順例
MB95810K シリーズ
● リトリガを無効にする (PCNTHn レジスタの RTRG ビット = 0)
図 20.6-1 PWM モードにおいてリトリガ無効の場合
16 ビットダウンカウンタ値
m
n
時間
0
立上りエッジが検出されます
トリガが無視されます
ソフトウェアトリガ
PPG
(通常極性)
PPG
(反転極性)
(1)
(2)
(1)=n × T ns
(2)=m × T ns
T : カウントクロック周期
m: PCSRH, PCSRLレジスタ値
n : PDUTH, PDUTLレジスタ値
● リトリガを有効にする (PCNTHn レジスタの RTRG ビット = 1)
図 20.6-2 PWM モードにおいてリトリガ有効の場合
カウンタ値
m
n
0
ソフトウェアトリガ
時間
立上りエッジが検出されます
トリガで再起動されます
PPG
(通常極性)
PPG
(反転極性)
(1)
(2)
(1)=n × T ns
(2)=m × T ns
MN702-00012-2v0-J
T : カウントクロック周期
m: PCSRH, PCSRLレジスタ値
n : PDUTH, PDUTLレジスタ値
FUJITSU SEMICONDUCTOR LIMITED
369
第 20 章 16 ビット PPG タイマ
20.6 動作説明と設定手順例
MB95810K シリーズ
■ ワンショットモード (PCNTHn レジスタの MDSE ビット = 1)
ワンショットモードで , 有効なトリガ入力により指定された幅の単一パルスを出力で
きます。リトリガを有効にすると , カウンタ動作中に有効なトリガを検出した場合 , ダ
ウンカウンタに値がリロードされます。
PPGn 出力は , 初期状態では "L" を出力しています。16 ビットダウンカウンタの値と
デューティ設定レジスタの値が一致したときに "H" を出力し , カウンタが "1" に達し
たときに "L" を出力します (OSEL = 1 に設定している場合は逆のレベルが出力されま
す)。
● リトリガを無効にする (PCNTHn レジスタの RTRG ビット = 0)
図 20.6-3 ワンショットモードにおいてリトリガ無効の場合
カウンタ値
m
n
時間
0
立上りエッジが検出されます
トリガが無視されます
ソフトウェアトリガ
PPG
(通常極性)
PPG
(反転極性)
(1)
(2)
(1)=n × T ns
(2)=m × T ns
370
T : カウントクロック周期
m: PCSRH, PCSRLレジスタ値
n : PDUTH, PDUTLレジスタ値
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 20 章 16 ビット PPG タイマ
20.6 動作説明と設定手順例
MB95810K シリーズ
● リトリガを有効にする (PCNTHn レジスタの RTRG ビット = 1)
図 20.6-4 ワンショットモードにおいてリトリガが有効な場合
カウンタ値
m
n
時間
0
立上りエッジが検出されます
トリガが再起動されます
ソフトウェアトリガ
PPG
(通常極性)
PPG
(反転極性)
(1)
(2)
(1)=n × T ns
(2)=m × T ns
MN702-00012-2v0-J
T : カウントクロック周期
m: PCSRH, PCSRLレジスタ値
n : PDUTH, PDUTLレジスタ値
FUJITSU SEMICONDUCTOR LIMITED
371
第 20 章 16 ビット PPG タイマ
20.6 動作説明と設定手順例
MB95810K シリーズ
■ ハードウェアトリガ
TRGn 入力端子に信号を入力して PPG を 起動させることを , ハードウェアトリガとい
います。EGS1, EGS0 を "0b11" に設定して TRGn 入力によるハードウェアトリガを使
用した場合, PPG は立上りエッジで動作を開始し, 立下りエッジが検出されると動作を
停止します。
また , PPG タイマは次の立上りエッジで最初から動作を開始します。
TRGn 入力によるハードウェアトリガの場合 , RTRG ビットによるリトリガ設定にかか
わらず , 有効 TRGn 入力によるハードウェアトリガによって , リトリガされます。
図 20.6-5 PWM モードにおけるハードウェアトリガ
カウンタ値
m
n
時間
0
立上りエッジが検出されます
立下りエッジが検出されます
ハードウェアトリガ
PPG
(通常極性)
PPG
(反転極性)
(1)
(2)
(1)=n × T ns
(2)=m × T ns
T : カウントクロック周期
m: PCSRH, PCSRLレジスタ値
n : PDUTH, PDUTLレジスタ値
■ 設定手順例
以下に , 16 ビット PPG タイマの設定手順例を示します。
● 初期設定
1. 割込みレベルを設定してください (ILR*)。
2. ハードウェアトリガ許可 , 割込み許可 , 割込みの種類選択 , 出力の許可を行ってくだ
さい (PCNTLn)。
3. カウントクロック選択 , モード選択 , タイマ動作許可を行ってください (PCNTHn)。
4. 周期を設定してください (PCSRHn, PCSRLn)。
5. デューティを設定してください (PDUTHn, PDUTLn)。
6. ソフトウェアトリガで PPG を起動してください (PCNTHn:STRG = 1)。
*: 割込みレベル設定レジスタ (ILR) の詳細について , 本ハードウェアマニュアルの「第 5 章 割
込み」とデバイスのデータシートの「■ 割込み要因のテーブル」を参照してください。
● 割込み処理
1. 任意の割込み処理を行ってください。
2. 割込み要求フラグをクリアしてください (PCNTLn:IRQF)。
372
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 20 章 16 ビット PPG タイマ
20.7 レジスタ
MB95810K シリーズ
20.7
レジスタ
16 ビット PPG タイマのレジスタについて説明します。
表 20.7-1
16 ビット PPG タイマのレジスタ一覧
レジスタ略称
レジスタ名
参照先
PDCRHn
16 ビット PPG ダウンカウンタレジスタ ( 上位 ) ch. n
20.7.1
PDCRLn
16 ビット PPG ダウンカウンタレジスタ ( 下位 ) ch. n
20.7.1
PCSRHn
16 ビット PPG 周期設定バッファレジスタ ( 上位 ) ch. n
20.7.2
PCSRLn
16 ビット PPG 周期設定バッファレジスタ ( 下位 ) ch. n
20.7.2
PDUTHn
16 ビット PPG デューティ設定バッファレジスタ ( 上位 ) ch. n
20.7.3
PDUTLn
16 ビット PPG デューティ設定バッファレジスタ ( 下位 ) ch. n
20.7.3
PCNTHn
16 ビット PPG ステータス制御レジスタ ( 上位 ) ch. n
20.7.4
PCNTLn
16 ビット PPG ステータス制御レジスタ ( 下位 ) ch. n
20.7.5
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
373
第 20 章 16 ビット PPG タイマ
20.7 レジスタ
MB95810K シリーズ
16 ビット PPG ダウンカウンタレジスタ ( 上位 / 下位 )
ch. n (PDCRHn/PDCRLn)
20.7.1
16 ビット PPG ダウンカウンタレジスタ ( 上位 / 下位 ) ch. n (PDCRHn/PDCRLn) は ,
16 ビット PPG ダウンカウンタのカウント値を読み出すための 16 ビットレジスタで
す。
■ レジスタ構成
PDCRHn
bit
7
6
5
4
3
2
1
0
Field
DC15
DC14
DC13
DC12
DC11
DC10
DC09
DC08
属性
R
R
R
R
R
R
R
R
初期値
0
0
0
0
0
0
0
0
bit
7
6
5
4
3
2
1
0
Field
DC07
DC06
DC05
DC04
DC03
DC02
DC01
DC00
属性
R
R
R
R
R
R
R
R
初期値
0
0
0
0
0
0
0
0
PDCRLn
■ レジスタ機能
このレジスタは , 16 ビットダウンカウンタのカウント値を読み出すために使用する 16
ビットレジスタで , このレジスタの初期値はすべて "0" です。
このレジスタから読み出す場合 , 必ず以下のいずれかの方法でアクセスしてください。
• 「MOVW」
命令を使用してください (PDCRHn レジスタアドレスに対して 16 ビット
アクセス命令を使用する )。
• 「MOV」命令を使用して , PDCRHn → PDCRLn の順番で読出しを行ってください
(PDCRHn の読出しにより , ダウンカウンタ下位 8 ビットの値が PDCRLn に自動的に
格納される )。
このレジスタはリードオンリです。書込みは動作に影響を与えません。
<注意事項>
「MOV」命令を使用して PDCRLn → PDCRHn の順番で読み出した場合 , PDCRLn は前回
読み出したときの値が読み出されるため 16 ビットダウンカウンタの値は正しく読み出せ
ません。
374
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 20 章 16 ビット PPG タイマ
20.7 レジスタ
MB95810K シリーズ
20.7.2
16 ビット PPG 周期設定バッファレジスタ ( 上位 / 下
位 ) ch. n (PCSRHn/PCSRLn)
16 ビット PPG 周期設定バッファレジスタ ch. n は , PPG で生成される出力パルスの
周期を設定します。
■ レジスタ構成
PCSRHn
bit
7
6
5
4
3
2
1
0
Field
CS15
CS14
CS13
CS12
CS11
CS10
CS09
CS08
属性
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
1
1
1
1
1
1
1
1
PCSRLn
bit
7
6
5
4
3
2
1
0
Field
CS07
CS06
CS05
CS04
CS03
CS02
CS01
CS00
属性
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
1
1
1
1
1
1
1
1
■ レジスタ機能
このレジスタは , PPG で生成する出力パルスの周期を設定するために使用する 16 ビッ
トレジスタで , ダウンカウンタにはこのレジスタに設定された値がロードされます。
このレジスタに書き込む場合 , 必ず以下のいずれかの方法でアクセスしてください。
• 「MOVW」
命令を使用してください (PCSRHn レジスタアドレスに対して 16 ビット
アクセス命令を使用してアクセスする )。
• 「MOV」
命令を使用して PCSRHn → PCSRLn の順番で書き込んでください。
PCSRHn にデータを書き込んだ後 (PCSRLn にデータ書込み以前に ) ダウンカウンタ
のロードが発生した場合 , ダウンカウンタには前回書き込まれた PCSRHn, PCSRLn
の値がロードされます。カウントの途中で PCSRHn, PCSRLn の値を変更した場合 ,
次のダウンカウンタのロードにより , 変更した値が有効となります。
• PCSRHn = 0x00, PCSRLn = 0x00, もしくは PCSRHn = 0x01, PCSRLn = 0x01 を設定し
ないでください。
<注意事項>
「MOV」命令を使用して PCSRLn → PCSRHn の順番でデータを書き込んだ後 , ダウンカ
ウンタのロードが発生した場合 , ダウンカウンタには前回書き込まれた PCSRHn の値と
新たに書き込まれた PCSRLn の値がロードされます。正しい周期が設定できないため注
意してください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
375
第 20 章 16 ビット PPG タイマ
20.7 レジスタ
20.7.3
MB95810K シリーズ
16 ビット PPG デューティ設定バッファレジスタ ( 上
位 / 下位 ) ch. n (PDUTHn/PDUTLn)
16 ビット PPG デューティ設定バッファレジスタ ch. n は , PPG で生成する出力パル
スのデューティ比を制御します。
■ レジスタ構成
PDUTHn
bit
7
6
5
4
3
2
1
0
Field
DU15
DU14
DU13
DU12
DU11
DU10
DU09
DU08
属性
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
1
1
1
1
1
1
1
1
PDUTLn
bit
7
6
5
4
3
2
1
0
Field
DU07
DU06
DU05
DU04
DU03
DU02
DU01
DU00
属性
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
1
1
1
1
1
1
1
1
■ レジスタ機能
これらのレジスタは , PPG で生成される出力パルスのデューティ比を制御するために
使用する 16 ビットレジスタです。ダウンカウンタのロードタイミングで 16 ビット
PPG デューティ設定バッファレジスタ ch. n から 16 ビット PPG デューティ設定レジス
タ ch. n へデータが転送されます。
このレジスタに書き込む場合 , 必ず以下のいずれかの方法でアクセスしてください。
• 「MOVW」
命令を使用してください (PDUTHn レジスタアドレスに対して 16 ビット
アクセス命令を使用してアクセスする )。
• 「MOV」命令を使用して PDUTHn → PDUTLn の順番で書き込んでください。
PDUTHn にデータを書き込んだ後 (PDUTLn にデータ書込み以前に ) ダウンカウン
タ のロードが発生した場合 , 16 ビット PPG デューティ設定バッファレジスタ ch. n
の値は 16 ビット PPG デューティ設定レジスタ ch. n には転送されません。
16 ビットデューティ設定レジスタ ch. n への設定値と出力パルスの関係は , 以下のよう
になります。
• 16 ビット PPG 周期設定バッファレジスタ ch. n と 16 ビット PPG デューティ設定レ
ジスタ ch. n に同じ値を設定すると , 通常極性の場合は常に "H" を出力し , 反転極性
の場合は常に "L" を出力します。
• 16 ビット PPG デューティ設定レジスタ ch. n に "0x0000" を設定した場合 , 通常極性
の場合は常に "L" を出力し , 反転極性の場合は常に "H" を出力します。
• 16 ビット PPG 周期設定バッファレジスタより大きい値をデューティ設定レジスタ
に設定すると, 通常極性の場合は常に "L" を出力し, 反転極性の場合は常に "H" を出
力します。
376
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 20 章 16 ビット PPG タイマ
20.7 レジスタ
MB95810K シリーズ
20.7.4
16 ビット PPG ステータス制御レジスタ ( 上位 )
ch. n (PCNTHn)
16 ビット PPG ステータス制御レジスタ ch. n ( 上位 ) は , 16 ビット PPG タイマの許
可 / 禁止 , ソフトウェアトリガ , 動作モード , 動作クロックおよび出力マスクを制御し
ます。
■ レジスタ構成
bit
7
6
5
4
3
2
1
0
Field
CNTE
STRG
MDSE
RTRG
CKS2
CKS1
CKS0
PGMS
属性
R/W
W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
■ レジスタ機能
[bit7] CNTE: タイマ許可ビット
このビットは 16 ビット PPG タイマの動作を許可または停止します。
このビットに "0" が書き込まれた場合 , 16 ビット PPG 動作が直ちに停止し , PPGn 出力は初期レベ
ルを出力します (OSEL = 0 で "L" 出力 , OSEL = 1 で "H" 出力 ) 。
このビットに "1" が書き込まれた場合 , 16 ビット PPG 動作が許可され , 16 ビット PPG タイマは , 動
作がトリガによって開始されるのを待つ状態になります。
説明
bit7
"0" を書き込んだ場合
16 ビット PPG タイマの動作を停止します。
"1" を書き込んだ場合
16 ビット PPG タイマの動作を許可します。
[bit6] STRG: ソフトウェアトリガビット
このビットは 16 ビット PPG タイマをソフトウェアで起動させます。
CNTE ビットが "1" のとき , このビットに "1" を書き込むと , 16 ビット PPG タイマが起動します。
説明
bit6
読出し動作
常に "0" を読み出します。
"0" を書き込んだ場合
動作に影響はありません。
"1" を書き込んだ場合
ソフトウェアトリガを発生します。
[bit5] MDSE: モード選択ビット
このビットは 16 ビット PPG タイマ の動作モードを選択します。
説明
bit5
"0" を書き込んだ場合
PWM モード
"1" を書き込んだ場合
ワンショットモード
( 注意事項 ) 16 ビット PPG タイマの動作中にこのビットの設定を変更することは禁止されます。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
377
第 20 章 16 ビット PPG タイマ
20.7 レジスタ
MB95810K シリーズ
[bit4] RTRG: ソフトウェアリトリガ許可ビット
このビットは 16 ビット PPG タイマの動作中にソフトウェアリトリガ機能を使用することを許可ま
たは禁止します。
説明
bit4
"0" を書き込んだ場合
16 ビット PPG タイマの動作中にソフトウェアリトリガ機能を使用することを禁
止します。
"1" を書き込んだ場合
16 ビット PPG タイマの動作中にソフトウェアリトリガ機能を使用することを許
可します。
[bit3:1] CKS[2:0]: 動作クロック選択ビット
これらのビットは 16 ビット PPG タイマの動作クロックを選択します。
動作クロックはプリスケーラにより生成されます。詳細は ,「 3.9 プリスケーラの動作」を参照して
ください。
説明
(MCLK: マシンクロック , FCH: メインクロック ,
bit3:1
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 クロックモードで , タイムベースタイマが停止して
いるため , CKS[2:0] ビットを "0b110" または "0b111" に設定することは禁止されます。
[bit0] PGMS: PPG 出力マスク許可ビット
このビットは , モード設定 (PCNTHn:MDSE) , 周期設定 (PCSRHn/PCSRLn レジスタ ) またはデュー
ティ設定 (PDUTHn/PDUTLn レジスタ ) とは無関係に特定レベルへ PPGn 出力をマスクするために使
用します。
このビットに "0" を書き込んだ場合 , PPGn 出力はマスクされません。
このビットに "1" を書き込んだ場合 , PPGn 出力はマスクされます。極性設定が通常極性 (PCNTLn:
OSEL = 0) の場合は , PPGn 出力は必ず "L" にマスクされます。
極性設定が反転極性 (PCNTLn:OSEL = 1) の場合 , PPGn 出力は必ず "H" にマスクされます。
説明
bit0
"0" を書き込んだ場合
PPGn 出力マスク機能を禁止します。
"1" を書き込んだ場合
PPGn 出力マスク機能を許可します。
378
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 20 章 16 ビット PPG タイマ
20.7 レジスタ
MB95810K シリーズ
20.7.5
16 ビット PPG ステータス制御レジスタ ( 下位 )
ch. n (PCNTLn)
16 ビット PPG ステータス制御レジスタ ( 下位 ) ch. n は , 16 ビット PPG タイマの
ハードウェアトリガ , 割込み , 出力および出力極性を制御します。
■ レジスタ構成
bit
7
6
5
4
3
2
1
0
Field
EGS1
EGS0
IREN
IRQF
IRS1
IRS0
POEN
OSEL
属性
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] EGS1: ハードウェアトリガ許可ビット 1
このビットは TRGn 入力の立下りエッジにより 16 ビット PPG の動作が停止されるか , また TRGn
入力の立下りエッジが無効であるかを選択します。
説明
bit7
"0" を書き込んだ場合
TRGn の立下りエッジは動作に影響を与えません。
"1" を書き込んだ場合
TRGn の立下りエッジにより 16 ビット PPG の動作が停止されます。
[bit6] EGS0: ハードウェアトリガ許可ビット 0
このビットは TRGn 入力 の立上りエッジにより 16 ビット PPG の動作が開始されるか , また TRGn
入力の立上りエッジが無効であるかを選択します。
説明
bit6
"0" を書き込んだ場合
TRGn の立上りエッジは動作に影響を与えません。
"1" を書き込んだ場合
TRGn の立上りエッジにより 16 ビット PPG の動作が開始されます。
[bit5] IREN: PPG 割込み要求許可ビット
このビットは割込みコントローラへの 16ビットPPGタイマの 割込み要求を許可または禁止します。
説明
bit5
"0" を書き込んだ場合
16 ビット PPG タイマの割込み要求を禁止します。
"1" を書き込んだ場合
16 ビット PPG タイマの割込み要求を許可します。
[bit4] IRQF: PPG 割込みフラグビット
このビットは , 16 ビット PPG タイマの割込みが発生したとき , "1" に設定されます。
リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。
説明
bit4
"0" が読み出された場合
16 ビット PPG タイマの割込みが発生していないことを示します。
"1" が読み出された場合
16 ビット PPG タイマの割込みが発生していることを示します。
"0" を書き込んだ場合
このビットをクリアします。
"1" を書き込んだ場合
動作に影響はありません。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
379
第 20 章 16 ビット PPG タイマ
20.7 レジスタ
MB95810K シリーズ
[bit3:2] IRS[1:0]: 割込み種類選択ビット
これらのビットは 16 ビット PPG タイマの割込み発生要因を選択します。
説明
bit3:2
"00" を書き込んだ場合
入力によるトリガ , ソフトウェアトリガ , リトリガ
"01" を書き込んだ場合
カウンタボロー
"10" を書き込んだ場合
通常極性での 16 ビット PPG タイマ出力の立上りエッジまたは反転極性での 16
ビット PPG タイマ出力の立下りエッジ
"11" を書き込んだ場合
カウンタボロー , 通常極性での 16 ビット PPG タイマ出力の立上りエッジまたは
反転極性での 16 ビット PPG タイマ出力の立下りエッジ
[bit1] POEN: 出力許可ビット
このビットは 16 ビット PPG タイマの出力端子からの出力を許可または禁止します。
説明
bit1
"0" を書き込んだ場合
16 ビット PPG タイマ出力端子は汎用入出力ポートとして機能します。
"1" を書き込んだ場合
16 ビット PPG タイマ出力端子は 16 ビット PPG タイマの出力端子として機能し
ます。
[bit0] OSEL: 出力反転ビット
このビットは 16 ビット PPG タイマ出力端子の極性を選択します。
このビットに "0" が書き込まれた場合 , 16 ビット PPG タイマ出力は , 初期状態で "L" を出力し , 16
ビットダウンカウンタ値がデューティ設定レジスタ値と一致したとき "H" を出力し , ダウンカウン
タのボローによって "L" を出力します ( 通常極性 )。
このビットに "1" が書き込まれた場合 , 16 ビット PPG タイマ出力は反転します ( 反転極性 )。
説明
bit0
"0" を書き込んだ場合
通常極性
"1" を書き込んだ場合
反転極性
380
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
20.8
使用上の注意
第 20 章 16 ビット PPG タイマ
20.8 使用上の注意
16 ビット PPG タイマ使用上の注意を示します。
■ 16 ビット PPG タイマ使用上の注意
● プログラム設定上の注意
周期とデューティ設定を同じ値に設定している場合 , リトリガは行わないでください。
リトリガした場合 , 16 ビット PPG タイマ出力はリトリガ後 , 通常極性にて 1 カウント
クロック分 "L" が出力された後 , "H" 固定となります。
デバイスがスタンバイモードに遷移した場合, TRGn 端子設定が変化して誤動作する可
能性があります。このため , 16 ビット PPG タイマの動作を停止 (PCNTHn:CNTE = 0) す
るか , ハードウェアトリガを禁止 (PCNTLn:EGS1 = 0, EGS0 = 0) してください。
周期とデューティ設定を同じ値に設定している場合 , デューティ一致による割込みは
一度しか発生しません。また , 周期よりデューティ設定が大きい値の場合 , デューティ
一致による割込みは発生しません。
カウント動作中に, ソフトウェアによるリトリガ許可 (PCNTHn:RTRG = 1), 割込み要因
選択がリトリガ (PCNTLn:IRS[1:0] = 0b00) の状態で , 16 ビット PPG タイマの動作の禁
止 (PCNTHn:CNTE = 0) とソフトウェアトリガの発生 (PCNTHn:STRG = 1) を同時に設
定しないでく ださい。上記の設定を同時に行った場合 , 16 ビット PPG タイマは停止し
ますが , リトリガの発生により割込みフラグビットが設定される場合があります。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
381
第 20 章 16 ビット PPG タイマ
20.8 使用上の注意
382
MB95810K シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 21 章
16 ビットリロードタイマ
16 ビットリロードタイマの機能と動作について説
明します。
21.1 概要
21.2 構成
21.3 チャネル
21.4 端子
21.5 割込み
21.6 動作説明と設定手順例
21.7 レジスタ
21.8 使用上の注意
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
383
第 21 章 16 ビットリロードタイマ
21.1 概要
21.1
MB95810K シリーズ
概要
16ビットリロードタイマは, 2 つのクロックモードにおいて 2 つのカウンタ動作モー
ドが選択できます。
16 ビットリロードタイマのアンダフローが発生した場合に割込みを発生させること
により , インターバルタイマとして利用できます。
■ 16 ビットリロードタイマの動作モード
16 ビットリロードタイマの動作モードを表 21.1-1 に示します。
表 21.1-1 16 ビットリロードタイマの動作モード
クロックモード
内部クロックモード
カウンタ動作モード
トリガ動作モード
リロードモード
ソフトウェアトリガ動作
外部トリガ入力動作
外部ゲート入力動作
ワンショットモード
リロードモード
イベントカウントモード
( 外部クロックモード )
ワンショットモード
ソフトウェアトリガ動作
■ 内部クロックモード
16 ビットリロードタイマ制御ステータスレジスタ ( 上位 ) ch. n (TMCSRHn) のカウント
クロック設定ビット (CSL[2:0]) に "0b111" 以外を設定した場合は, 内部クロックモード
になります。
内部クロックモード時には , 以下の 3 種類のトリガ動作モードを選択できます。
● ソフトウェアトリガ動作
16 ビットリロードタイマ制御ステータスレジスタ ( 下位 ) ch. n (TMCSRLn) のカウント
許可ビット (CNTE) に "1" が設定されている場合に , ソフトウェアトリガビット (TRG)
を "1" に設定すると , カウントを開始します。
● 外部トリガ入力動作
16 ビットリロードタイマ制御ステータスレジスタ ( 下位 ) ch. n (TMCSRLn) のカウント
許可ビット (CNTE) に "1" が設定されている場合に , 動作モード選択ビット (MOD[2:0])
によって設定されている有効エッジ ( 立上り , 立下り , 両エッジから設定可能 ) が TIn
端子へ入力されると , カウントを開始します。
● 外部ゲート入力動作
16 ビットリロードタイマ制御ステータスレジスタ ( 下位 ) ch. n (TMCSRLn) のカウント
許 可 ビ ッ ト (CNTE) に "1" が 設 定 さ れ て い る 場 合 に , 動 作 モ ー ド 選 択 ビ ッ ト
(MOD[2:0]) によって設定されている有効なトリガ入力レベル ("L" または "H" を設定
可能 ) が TIn 端子へ入力されると , カウントを開始します。
■ イベントカウントモード ( 外部クロックモード )
16 ビットリロードタイマ制御ステータスレジスタ ( 上位 ) ch. n (TMCSRHn) のカウント
クロック設定ビット (CSL[2:0]) に "0b111" を設定した場合に , 動作モード選択ビット
(MOD[2:0]) によって設定されているトリガ入力の有効エッジ ( 立上り , 立下り , 両エッ
ジから設定可能 ) が TIn 端子へ入力されると , カウントを開始します。一定周期の外部
384
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
第 21 章 16 ビットリロードタイマ
21.1 概要
クロックを入力する場合は , インターバルタイマとしても使用できます。
■ カウンタ動作モード
● リロードモード
16 ビットダウンカウンタでアンダフロー ("0x0000"→"0xFFFF") により , 16 ビットリ
ロードタイマリロードレジスタ ch. n (TMRLRHn/TMRLRLn) の値を 16 ビットダウンカ
ウンタへロードし , カウントを継続します。また , アンダフローにより割込み要求が出
力されるため , インターバルタイマとして使用できます。
● ワンショットモード
16 ビットダウンカウンタでアンダフローが発生した場合に割込みが生成されます。
カウンタ動作中 , カウンタが進行中であることを示す矩形波が TOn 端子から出力され
ます。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
385
第 21 章 16 ビットリロードタイマ
21.2 構成
21.2
MB95810K シリーズ
構成
16 ビットリロードタイマは , 以下のブロックで構成されます。
• カウントクロック生成回路
• リロード制御回路
• 出力制御回路
• 動作制御回路
• 16 ビットリロードタイマタイマレジスタ ch. n (TMRHn, TMRLn)
• 16 ビットリロードタイマリロードレジスタ ch. n (TMRLRHn, TMRLRLn)
• 16 ビットリロードタイマ制御ステータスレジスタ ch. n (TMCSRHn, TMCSRLn)
品種により , 16 ビットリロードタイマの端子数およびチャネル数は異なります。 詳細
は , デバイスのデータシートを参照してください。
本章において , 端子名とレジスタ略称にある "n" はチャネル番号を示します。各品種の
端子名 , レジスタ名とレジスタ略称について , デバイスのデータシートを参照してくだ
さい。
■ 16 ビットリロードタイマのブロックダイヤグラム
16 ビットリロードタイマのブロックダイヤグラムを図 21.2-1 に示します。
図 21.2-1 16 ビットリロードタイマのブロックダイヤグラム
内部バス
16 ビットリロードタイマリロードレジスタch. n
(TMRLRHn/TMRLRLn)
リロード
リロード
制御回路
16 ビットリロードタイマタイマレジスタch. n
(TMRHn/TMRLn)
CLK
カウントクロック生成回路
端子
出力制御回路
入力制御回路
有効クロック
判定回路
TIn
反転
出力信号
生成回路
端子
許可
内部クロック
クロック選択
CLK
待ち
動作
制御回路
選択
機能選択
16ビットリロードタイマ
状態制御レジスタ(上位) ch. n
(TMCSRHn)
TOn
16ビットリロードタイマ
CSL2
CSL1 CSL0 MOD2 MOD1 MOD0
OUTE OUTL RELD INTE
UF CNTE TRG 状態制御レジスタ(下位) ch. n
(TMCSRLn)
割込み要求信号
内部バス
386
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
第 21 章 16 ビットリロードタイマ
21.2 構成
● カウントクロック生成回路
内部クロックまたは TIn 端子の入力信号から 16ビットリロードタイマ用のカウントク
ロックを生成します。
● リロード制御回路
タイマ起動またはアンダフロー発生時にリロード動作を制御します。
● 出力制御回路
16 ビットダウンカウンタのアンダフローによる TOn 端子出力の反転制御と , TOn 端子
出力の許可 / 禁止を制御します。
● 動作制御回路
16 ビットダウンカウンタの起動 / 停止を制御します。
● 16 ビットリロードタイマタイマレジスタ ( 上位 / 下位 ) ch. n (TMRHn/TMRLn)
TMRHn と TMRLn が 16 ビットダウンカウンタを形成します。このレジスタの読出し
は , 現在のカウンタ値となります。
● 16 ビットリロードタイマリロードレジスタ ( 上位 / 下位 ) ch. n (TMRLRHn/TMRLRLn)
16 ビットダウンカウンタへのロード値を設定するレジスタです。16 ビットリロードタ
イマリロードレジスタの設定値を 16 ビットダウンカウンタにロードし , ダウンカウン
トします。
● 16ビットリロードタイマ制御ステータスレジスタ(上位/下位) ch. n (TMCSRHn/TMCSRLn)
このレジスタは 16 ビットリロードタイマのカウントクロック , 動作モード , クロック
選択 , 割込みなどを制御するとともに , 現在の動作状態を示します。
■ 入力クロック
16 ビットリロードタイマは , プリスケーラからの出力クロックまたは TIn 端子からの
入力信号を入力クロック ( カウントクロック ) として使用します。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
387
第 21 章 16 ビットリロードタイマ
21.3 チャネル
21.3
MB95810K シリーズ
チャネル
16 ビットリロードタイマのチャネルについて説明します。
■ 16 ビットリロードタイマのチャネル
16 ビットリロードタイマの端子とレジスタを表 21.3-1 および表 21.3-2 にそれぞれ示し
ます。
表 21.3-1 16 ビットリロードタイマの端子
端子名
端子機能
TOn
タイマ出力
TIn
タイマ入力
表 21.3-2 16 ビットリロードタイマのレジスタ
レジスタ略称
388
該当レジスタ ( 本マニュアル上の表記 )
TMCSRHn
16 ビットリロードタイマ制御ステータスレジスタ ( 上位 ) ch. n
TMCSRLn
16 ビットリロードタイマ制御ステータスレジスタ ( 下位 ) ch. n
TMRHn
16 ビットリロードタイマタイマレジスタ ( 上位 ) ch. n
TMRLn
16 ビットリロードタイマタイマレジスタ ( 下位 ) ch. n
TMRLRHn
16 ビットリロードタイマリロードレジスタ ( 上位 ) ch. n
TMRLRLn
16 ビットリロードタイマリロードレジスタ ( 下位 ) ch. n
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
21.4
端子
第 21 章 16 ビットリロードタイマ
21.4 端子
16 ビットリロードタイマの端子について説明します。
■ 16 ビットリロードタイマの端子
16 ビットリロードタイマの端子は TIn 端子と TOn 端子 です。
● TIn 端子
この端子は , 汎用入出力ポートおよびカウンタに対する外部パルス入力端子 (TIn) とし
て使用されます。
TIn: カウンタ動作時にこの端子に入力されたパルスの任意エッジをカウントしま
す。カウンタ動作で TIn 端子として使用するときは , ポート方向レジスタ (DDR)
を "0" に設定して入力ポートにしてください。
● TOn 端子
この端子は , 汎用入出力ポートおよび 16 ビットリロードタイマの出力端子 (TOn) とし
て使用されます。
TOn: 16 ビットリロードタイマの波形が出力されます。
この端子を 16 ビットリロードタイマの TOn 端子として使用するとき , タイマ出
力を許可 (TMCSRLn:OUTE = 1) すると , ポート方向レジスタ (DDR) の設定にか
かわらず自動的に出力が実行され , 端子はタイマ出力の TOn 端子としての機能
をします。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
389
第 21 章 16 ビットリロードタイマ
21.5 割込み
21.5
MB95810K シリーズ
割込み
16 ビットリロードタイマは , 16 ビットダウンカウンタでのアンダフロー発生時に割
込み要求を出力します。
■ 16 ビットリロードタイマの割込み
16 ビットリロードタイマの割込み制御ビットと割込み要因を表 21.5-1 に示します。
表 21.5-1 16 ビットリロードタイマの割込み制御ビットと割込み要因
項目
説明
割込み要求フラグビット
TMCSRLn レジスタの UF ビット
割込み要求許可ビット
TMCSRLn レジスタの INTE ビット
割込み要因
ダウンカウンタ ch. n (TMRHn/TMRLn) のアンダフロー
16 ビットリロードタイマは , 16 ビットダウンカウンタにアンダフローが発生すると
("0x0000"→"0xFFFF"), 16 ビットリロードタイマ制御ステータスレジスタ ( 下位 ) ch. n
(TMCSRLn) のアンダフロー割込み要求フラグビット (UF) を "1" に設定します。アン
ダフロー割込み要求許可ビットが許可 (INTE = 1) に設定されている場合 , 割込み要求
が割込みコントローラに出力されます。
390
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 21 章 16 ビットリロードタイマ
21.6 動作説明と設定手順例
MB95810K シリーズ
21.6
動作説明と設定手順例
16 ビットリロードタイマカウンタの動作状態について説明します。
■ カウンタの動作状態
カウンタの状態は, 16ビットリロードタイマ制御ステータスレジスタ ch. n (TMCSRLn)
のカウント許可ビット (CNTE) の値と内部信号の起動トリガ待ち信号値 (WAIT) で決
まります。STOP 状態 ( 停止状態 ), WAIT 状態 ( 起動トリガ待ち状態 ) および RUN 状態
( 動作状態 ) の設定が可能です。
これらのカウンタの状態遷移を図 21.6-1 に示します。
図 21.6-1 カウンタ状態遷移図
リセット
STOP 状態 CNTE = 0, WAIT = 1
TIn端子 : 入力禁止
TOn端子 : 汎用出入力ポート
16 ビットリロードタイマタイマレジスタ :
停止時の値を保持
リセット直後の値 = 0x0000
CNTE = 0
CNTE = 0
CNTE = 0
CNTE = 1
TRG = 0
CNTE = 1
TRG = 1
WAIT 状態 CNTE = 1, WAIT = 1
TIn端子 : トリガ入力のみ有効
RUN 状態
TOn端子 : 16 ビットリロードタイマリロードレジスタ出力
16 ビットリロードタイマタイマレジスタ :
停止時の値を保持
リセット後ロードされるまで = 0x0000
UF=1 &
RELD=0
(ワンショット
モード)
TOn端子 : 16 ビットリロードタイマリロードレジスタ出力
16 ビットリロードタイマタイマレジスタ :
カウント動作
UF=1 &
RELD=1
(リロードモード)
TRG=1
(ソフトウェアトリガ)
TOn端子からの外部トリガ
WAIT
TRG
CNTE
UF
RELD
MN702-00012-2v0-J
CNTE = 1, WAIT = 0
TIn端子 : 16 ビットリロードタイマ入力
LOAD
TRG=1
(ソフトウェアトリガ)
CNTE = 1, WAIT = 0
16 ビットリロードタイマタイマ
レジスタにロードされた 16 ビット
リロードタイマリロードレジスタ値
TIn端子からの外部トリガ
ロード完了
: ハードウェアによる状態遷移
: レジスタアクセスによる状態遷移
: WAIT 信号 (内部信号)
: ソフトウェアトリガビット (TMCSRLn)
: タイマ動作許可ビット (TMCSRLn)
: アンダフロー発生フラグビット (TMCSRLn)
: リロード選択ビット (TMCSRLn)
FUJITSU SEMICONDUCTOR LIMITED
391
第 21 章 16 ビットリロードタイマ
21.6 動作説明と設定手順例
MB95810K シリーズ
■ 設定手順例
16 ビットリロードタイマの設定手順例を示します。
● 初期設定
1. 割込みレベルを設定してください (ILR*)。
2. リロード値を設定してください (TMRHn/TMRLn)。
3. クロックを選択してください (TMCSRHn:CSL[2:0])。
4. 動作モードを選択してください (TMCSRHn:MOD[2:0])。
5. 出力を許可してください (TMCSRLn:OUTE = 1)。
6. 出力レベルを選択してください (TMCSRLn:OUTL)。
7. リロードを選択してください (TMCSRLn:RELD)。
8. カウントを許可してください (TMCSRLn:CNTE = 1)。
9. ソフトウェアトリガを実行してください (TMCSRLn:TRG = 1)。
10. アンダフロー割込みを許可 してください (TMCSRLn:INTE = 1)。
*: 割込みレベル設定レジスタ (ILR) の詳細について , 本ハードウェアマニュアルの「第 5 章 割
込み」とデバイスのデータシートの「■ 割込み要因のテーブル」を参照してください。
● 割込み処理
1. アンダフロー割込み要求フラグをクリアしてください (TMCSRLn:UF=0)。
2. アンダフロー割込みを禁止してください (TMCSRLn:INTE = 0)。
3. 任意の割込み処理を行ってください。
4. アンダフロー割込みを許可してください (TMCSRLn:INTE = 1)。
392
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 21 章 16 ビットリロードタイマ
21.6 動作説明と設定手順例
MB95810K シリーズ
21.6.1
内部クロックモード
このモードでは, 16ビットダウンカウンタは内部カウントクロックと同期している間
カウントダウンし , アンダフローが発生 ("0x0000"→"0xFFFF") するたびに割込み要
求を割込みコントローラに出力します。また , TOn 端子はトグル波形を出力できま
す。
■ 内部クロックモードの設定
インターバルタイマとして動作させるには , 関連するレジスタを図 21.6-2 のように設
定してください。
図 21.6-2 内部クロックモードの設定
TMCSRHn
bit7
-
bit6
-
bit5
CSL2
bit4
CSL1
bit3
CSL0
"0b111" 以外
TMCSRLn
TMRLRHn
bit2
bit1
bit0
MOD2 MOD1 MOD0
0
bit7
0
bit6
OUTE
bit5
OUTL
bit4
RELD
bit3
INTE
bit2
UF
bit1
CNTE
1
bit0
TRG
bit7
D15
bit6
D14
bit5
D13
bit4
D12
bit3
D11
bit2
D10
bit1
D9
bit0
D8
カウンタの初期値 ( リロード値 ) を設定 ( 上位 )
TMRLRLn
bit7
D7
bit6
D6
bit5
D5
bit4
D4
bit3
D3
bit2
D2
bit1
D1
bit0
D0
カウンタの初期値 ( リロード値 ) を設定 ( 下位 )
: 使用ビット
0 : "0" に設定
1 : "1" に設定
■ 内部クロックモード ( リロードモード ) の動作
カウント許可ビット (CNTE) に "1" を設定してカウントを許可している場合 , ソフト
ウェアトリガビット (TRG) に "1" を設定するかまたは外部トリガによってタイマが開
始されると , 16 ビットリロードタイマリロードレジスタ ch. n (TMRLRHn/TMRLRLn)
に設定した値が 16 ビットダウンカウンタにリロードされ , ダウンカウントが開始され
ます。カウント許可ビット (CNTE) とソフトウェアトリガビット (TRG) を同時に "1"
に設定し , カウント動作を許可すると , 同時にカウントを開始します。
リロード選択ビット (RELD) が "1" の場合 , 16 ビットカウンタでアンダフローが発生す
ると("0x0000"→"0xFFFF"),16ビットリロードタイマリロードレジスタch. n (TMRLRHn/
TMRLRLn) の値が 16 ビットダウンカウンタにリロードされ , カウントが継続します。
アンダフロー割込み要求フラグビット (UF) が "1" の場合 , アンダフロー割込み要求許
可ビット (INTE) を "1" に設定すると , 割込み要求が出力されます。
TOn 端子は , アンダフローの発生ごとに反転するトグル波形を出力できます。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
393
第 21 章 16 ビットリロードタイマ
21.6 動作説明と設定手順例
MB95810K シリーズ
● ソフトウェアトリガ動作
カウント許可ビット (CNTE) の設定が "1" の場合に , ソフトウェアトリガビット (TRG)
に "1" を設定すると , カウントを開始します。
リロードモードにおけるソフトウェアトリガ動作を図 21.6-3 に示します。
図 21.6-3 リロードモードのカウント動作 ( ソフトウェアトリガ動作 )
カウントクロック
-1
カウンタ
0000
リロードデータ
データロード信号
-1
0000
リロードデータ
-1
-1
0000
リロードデータ
リロードデータ
UF ビット
CNTE ビット
TRG ビット
TOn 端子
● 外部トリガ入力動作
カウント許可ビット (CNTE) の設定が "1" の場合に , 動作モード選択ビット (MOD[2:0])
で設定しているトリガ入力の有効エッジ ( 立上り , 立下り , 両エッジから選択可能 ) が
TIn 端子に入力されると , カウントを開始します。
なお , ソフトウェアトリガによるタイマ起動も , 外部トリガによる起動と同様に有効と
なります。
リロードモードにおける外部トリガ入力動作を図 21.6-4 に示します。
図 21.6-4 リロードモードのカウント動作 ( 外部トリガ入力動作 )
カウントクロック
-1
カウンタ
データロード信号
リロードデータ
0000
-1
リロードデータ
0000
-1
0000
リロードデータ
-1
リロードデータ
UF ビット
CNTE ビット
TIn 端子
TOn 端子
● ゲート入力動作
カウント許可ビット (CNTE) の設定" が1" の場合に, ソフトウェアトリガビット (TRG)
も "1" に設定すると , カウントを開始します。
動作モード選択ビット (MOD[2:0]) で設定されたゲート入力の有効レベル ("L" または
"H" が設定可能 ) が TIn 端子に入力されている間 , タイマはカウントを継続します。
なお , ソフトウェアトリガによるタイマ起動も , 外部トリガによる起動と同様に有効と
なります。
リロードモードにおけるゲート入力動作を図 21.6-5 に示します。
394
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 21 章 16 ビットリロードタイマ
21.6 動作説明と設定手順例
MB95810K シリーズ
図 21.6-5 リロードモードのカウント動作 ( 外部ゲート入力動作 )
カウントクロック
カウンタ
-1
リロードデータ
-1
-1
-1
0000
-1
リロードデータ
データロード信号
UF ビット
CNTE ビット
TRG ビット
TIn 端子
TOn 端子
■ 内部クロックモード ( ワンショットモード ) の動作
カウント許可ビット (CNTE) の設定が "1" の場合に , ソフトウェアトリガビット (TRG)
に "1" が設定されるか , 動作モード選択ビット (MOD[2:0]) で選択された有効エッジ ( 立
上り , 立下り , 両エッジから選択可能 ) が TIn 端子に入力されると , 16 ビットリロード
タイマリロードレジスタ ch. n に設定した値が 16 ビットダウンカウンタにリロードさ
れ , ダウンカウントを開始します。カウント許可ビット (CNTE) とソフトウェアトリガ
ビット (TRG) が同時に "1" に設定され , カウント動作が許可されると , 同時にカウント
を開始します。
リロード選択ビット (RELD) が "0" の場合, 16ビットカウンタでアンダフローが発生す
ると ("0x0000"→"0xFFFF"), 16 ビットカウンタは "0xFFFF" の状態でカウントを停止し
ます。このとき , アンダフロー割込み要求フラグビット (UF) が "1" に設定され , アンダ
フロー割込み要求許可ビット (INTE) が "1" の場合 , 割込み要求を出力します。
TOn 端子からは , カウント中を示す矩形波を出力できます。
● ソフトウェアトリガ動作
カウント許可ビット (CNTE) の設定が "1" の場合に , ソフトウェアトリガビット (TRG)
が "1" に設定されると , カウントを開始します。
ワンショットモードにおけるソフトウェアトリガ動作を図 21.6-6 に示します。
図 21.6-6 ワンショットモードのカウント動作 ( ソフトウェアトリガ動作 )
カウントクロック
カウンタ
データロード信号
-1
0000 FFFF
リロードデータ
-1
0000 FFFF
リロードデータ
UF ビット
CNTE ビット
TRG ビット
TOn 端子
起動トリガ入力待ち
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
395
第 21 章 16 ビットリロードタイマ
21.6 動作説明と設定手順例
MB95810K シリーズ
● 外部トリガ入力
カ ウ ン ト 許 可 ビ ッ ト (CNTE) の 設 定 が "1" の 場 合 に , 動 作 モ ー ド 選 択 ビ ッ ト
(MOD[2:0]) で設定しているトリガ入力の有効エッジ ( 立上り , 立下り , 両エッジから設
定可能 ) が TIn 端子に入力されると , カウントを開始します。
ワンショットモードにおける外部トリガ入力動作を図 21.6-7 に示します。
図 21.6-7 ワンショットモードのカウント動作 ( 外部トリガ入力動作 )
カウントクロック
-1
カウンタ
データロード信号
-1
0000 FFFF
リロードデータ
0000 FFFF
リロードデータ
UF ビット
CNTE ビット
TIn 端子
TOn 端子
起動トリガ入力待ち
● ゲート入力動作
カウント許可ビット (CNTE) の設定が "1" の場合に , ソフトウェアトリガビット (TRG)
が "1" に設定されると , カウントを開始します。
動作モード選択ビット (MOD[2:0]) で設定しているトリガ入力の許可レベル ("L" また
は "H" が設定可能 ) が TIn 端子に入力されている間 , タイマはカウントを継続します。
ワンショットモードにおける外部ゲート入力動作を図 21.6-8 に示します。
図 21.6-8 ワンショットモードのカウント動作 ( 外部ゲート入力動作 )
カウントクロック
カウンタ
リロードデータ
-1
0000 FFFF
-1
-1
リロードデータ
データロード信号
UF ビット
CNTE ビット
TRG ビット
TIn 端子
TOn 端子
起動トリガ入力待ち
396
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 21 章 16 ビットリロードタイマ
21.6 動作説明と設定手順例
MB95810K シリーズ
21.6.2
イベントカウントモード
このモードでは , TIn 端子に入力されたパルスで有効エッジが検出されるごとに 16 ビット
ダウンカウンタをダウンカウントし , アンダフローが発生すると ("0x0000" →"0xFFFF"),
割込みコントローラに割込み要求を出力します。また , TOn 端子からトグル波形または矩
形波を出力できます。
■ イベントカウントモードの設定
イベントカウンタとして動作させるには , 関連するレジスタを図 21.6-9 のように設定
してください。
図 21.6-9 イベントカウントモードの設定
TMCSRHn
bit7
-
bit6
-
bit5
CSL2
1
bit4
CSL1
1
bit3
CSL0
1
bit2
bit1
bit0
MOD2 MOD1 MOD0
TMCSRLn
bit7
-
bit6
OUTE
bit5
OUTL
bit4
RELD
bit3
INTE
bit2
UF
bit1
CNTE
1
bit0
TRG
TMRLRHn
bit7
D15
bit6
D14
bit5
D13
bit4
D12
bit3
D11
bit2
D10
bit1
D9
bit0
D8
カウンタの初期値 ( リロード値 ) を設定 ( 上位 )
TMRLRLn
bit7
D7
bit6
D6
bit5
D5
bit4
D4
bit3
D3
bit2
D2
bit1
D1
bit0
D0
カウンタの初期値 ( リロード値 ) を設定 ( 下位 )
: 使用ビット
1 : "1" を設定
■ イベントカウントモード
カウント許可ビット (CNTE) の設定が "1" の場合に , ソフトウェアトリガビット (TRG)
に "1" を設定すると , 16 ビットリロードタイマリロードレジスタ ch. n (TMRLRHn/
TMRLRLn) に設定した値が 16 ビットカウンタにリロードされます。TIn 端子に入力さ
れたパルス ( 外部カウントクロック ) の有効エッジ ( 立上り , 立下り , 両エッジから選
択可能 ) を検出するごとにカウントします。
● リロードモードの動作
リロード選択ビット (RELD) が "1" の場合, 16ビットカウンタにアンダフローが発生す
ると("0x0000"→"0xFFFF"),16ビットリロードタイマリロードレジスタch. n (TMRLRHn/
TMRLRLn) に設定した値が 16 ビットカウンタにリロードされ , カウントを継続しま
す。
16ビットカウンタにアンダフローが発生すると ("0x0000"→"0xFFFF"), 16ビットリロー
ドタイマ制御ステータスレジスタ ( 下位 ) ch. n (TMCSRLn) のアンダフロー割込み要求
フラグビット (UF) に "1" が設定されます。アンダフロー割込み許可ビット (INTE) に
"1" を設定している場合は割込み要求を出力します。
TOn 端子からは , アンダフローの発生ごとに反転するトグル波形を出力できます。リ
ロードモードにおけるカウント動作を図 21.6-10 に示します。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
397
第 21 章 16 ビットリロードタイマ
21.6 動作説明と設定手順例
MB95810K シリーズ
図 21.6-10 リロードモードのカウント動作 ( イベントカウントモード )
TIn 端子
-1
カウンタ
データロード信号
-1
0000
リロードデータ
0000
リロードデータ
-1
-1
0000
リロードデータ
リロードデータ
UF ビット
CNTE ビット
TRG ビット
TOn 端子
● ワンショットモードの動作
リロード選択ビット (RELD) が "0" の場合, 16ビットカウンタでアンダフローが発生す
ると ("0x0000"→"0xFFFF"), 16 ビットカウンタの値は "0xFFFF" の状態で停止します。
16 ビットリロードタイマ制御ステータスレジスタ ( 下位 ) ch. n (TMCSRLn) のアンダフ
ロー要求フラグビット (UF) に "1" が設定され , アンダフロー割込み許可ビット (INTE)
の設定が "1" の場合には割込み要求を出力します。
TOn 端子はカウント中を示す矩形波を出力します。ワンショットモードにおけるカウ
ント動作を図 21.6-11 に示します。
図 21.6-11 ワンショットモードのカウント動作 ( イベントカウントモード )
TIn 端子
カウンタ
データロード信号
-1
0000 FFFF
リロードデータ
-1
0000 FFFF
リロードデータ
UF ビット
CNTE ビット
TRG ビット
TOn 端子
起動トリガ入力待ち
398
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 21 章 16 ビットリロードタイマ
21.7 レジスタ
MB95810K シリーズ
21.7
レジスタ
16 ビットリロードタイマのレジスタについて説明します。
表 21.7-1
16 ビットリロードタイマのレジスタ一覧
レジスタ略称
レジスタ名
参照先
TMCSRHn
16 ビットリロードタイマ制御ステータスレジスタ ( 上位 ) ch. n
21.7.1
TMCSRLn
16 ビットリロードタイマ制御ステータスレジスタ ( 下位 ) ch. n
21.7.2
TMRHn
16 ビットリロードタイマタイマレジスタ ( 上位 ) ch. n
21.7.3
TMRLn
16 ビットリロードタイマタイマレジスタ ( 下位 ) ch. n
21.7.3
TMRLRHn
16 ビットリロードタイマリロードレジスタ ( 上位 ) ch. n
21.7.4
TMRLRLn
16 ビットリロードタイマリロードレジスタ ( 下位 ) ch. n
21.7.4
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
399
第 21 章 16 ビットリロードタイマ
21.7 レジスタ
21.7.1
MB95810K シリーズ
16 ビットリロードタイマ制御ステータスレジスタ
( 上位 ) ch. n (TMCSRHn)
16 ビットリロードタイマ制御ステータスレジスタ ( 上位 ) ch. n (TMCSRHn) は , 16
ビットリロードタイマの動作モードと動作条件を設定します。
■ レジスタ構成
bit
7
6
5
4
3
2
1
0
Field
—
—
CSL2
CSL1
CSL0
MOD2
MOD1
MOD0
属性
—
—
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
■ レジスタ機能
[bit7:6] 未定義ビット
読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。
[bit5:3] CSL[2:0]: カウントクロック選択ビット
これらのビットは 16 ビットリロードタイマのカウントクロックを選択します。
"0b000" ~ "0b110" のいずれの値がこれらのビットに書き込まれた場合 , 16 ビットリロードタイマは
内部クロックでカウントします (内部クロックモード) 。内部クロックはプリスケーラにより生成さ
れます。詳細は ,「 3.9 プリスケーラの動作」を参照してください。
"0b111" がこれらのビットに書き込まれた場合 , 16 ビットリロードタイマは外部イベントクロック
のエッジでカウントします ( イベントカウントモード ) 。
説明
bit5:3
カウントクロック *
動作モード
"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" を書き込んだ場合
イベントカウントモード
外部クロック
*: MCLK: マシンクロック
FCH: メインクロック
FCRH: メイン CR クロック
FMCRPLL: メイン CR PLL クロック
400
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 21 章 16 ビットリロードタイマ
21.7 レジスタ
MB95810K シリーズ
[bit2:0] MOD[2:0]: 動作モード選択ビット
これらのビットは 16 ビットリロードタイマの動作条件を設定します。
• 内部クロックモード (CSL[2:0] = 0b000 ~ 0b110 のいずれかの値 )
MOD2 ビットで入力端子の機能を選択してください。
MOD2 ビットが "0" の場合:
- TIn 端子はトリガ入力端子として機能します。
- MOD[1:0] ビットで検出されるエッジを選択してください。
- MOD[1:0] で選択されたエッジが検出されると , 16 ビットリロードタイマリロードレジスタ ( 上
位 / 下位 ) ch. n (TMRLRHn/TMRLRLn) に設定された値が 16 ビットリロードタイマタイマレジス
タ ( 上位 / 下位 ) ch. n (TMRHn/TMRLn) にリロードされ , 16 ビットリロードタイマ ch. n は TMRHn/
TMRLn でカウント動作を開始します。
MOD2 ビットが "1" の場合:
- TIn 端子はゲート入力として機能します。
- MOD1 ビットの設定は無効となります。
- MOD0 ビットで有効とする信号レベル ("H" または "L") を選択してください。 有効な信号レベ
ルが入力されている間のみ , 16 ビットリロードタイマは TMRHn/TMRLn でカウント動作を行い
ます。
( 注意事項 ) MOD[2:0] が "0b000" の場合は外部端子からの入力が無効となります。その場合 , TRG
ビットを使用して, ソフトウェアにより16ビットリロードタイマを起動してください。
説明 ( 内部クロックモード )
bit2:0
"000" を書き込んだ場合
TIn 端子機能
有効なエッジ / レベル
外部端子からの入力が無効になります。
—
"001" を書き込んだ場合
"010" を書き込んだ場合
立上りエッジ
トリガ入力
立下りエッジ
"011" を書き込んだ場合
両エッジ
"100" を書き込んだ場合
"L" レベル
"101" を書き込んだ場合
"110" を書き込んだ場合
"H" レベル
ゲート入力
"L" レベル
"111" を書き込んだ場合
"H" レベル
• イベントカウントモード (CSL[2:0] = 0b111)
- MOD2 ビットは常に "0" に固定されます。
- 外部イベントクロックは TIn 端子から入力されます。
- MOD[1:0] ビットで検出されるエッジを選択してください。
説明 ( イベントカウントモード )
bit2:0
"000" を書き込んだ場合
TIn 端子機能
有効なエッジ
外部端子からの入力が無効になります。
—
"001" を書き込んだ場合
"010" を書き込んだ場合
立上りエッジ
トリガ入力
"011" を書き込んだ場合
立下りエッジ
両エッジ
"100" を書き込んだ場合
"101" を書き込んだ場合
"110" を書き込んだ場合
設定禁止
"111" を書き込んだ場合
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
401
第 21 章 16 ビットリロードタイマ
21.7 レジスタ
21.7.2
MB95810K シリーズ
16 ビットリロードタイマ制御ステータスレジスタ
( 下位 ) ch. n (TMCSRLn)
16 ビットリロードタイマ制御ステータスレジスタ ( 下位 ) ch. n (TMCSRLn) は , 16
ビットリロードタイマの動作条件の設定 , カウント動作の許可 / 禁止の設定 , 割込み
制御および割込み要求状態の確認などを行います。
■ レジスタ構成
bit
7
6
5
4
3
2
1
0
Field
—
OUTE
OUTL
RELD
INTE
UF
CNTE
TRG
属性
—
R/W
R/W
R/W
R/W
R/W
R/W
W
初期値
0
0
0
0
0
0
0
0
■ レジスタ機能
[bit7] 未定義ビット
読出し値は常に "0" です。このビットに値を書き込んでも動作に影響はありません。
[bit6] OUTE: タイマ出力許可ビット
このビットは 16 ビットリロードタイマの TOn 端子機能を設定します。
説明
bit6
"0" を書き込んだ場合
TOn 端子は汎用入出力ポートとして機能します。
"1" を書き込んだ場合
TOn 端子は 16 ビットリロードタイマの出力端子として機能します。
[bit5] OUTL: 端子出力レベル選択ビット
このビットは 16 ビットリロードタイマの出力端子の出力レベルを選択します。
説明
bit5
ワンショットモード
(TMCSRLn:RELD = 0)
リロードモード
(TMCSRLn:RELD = 1)
"0" を書き込んだ場合
出力端子は 16 リロードタイマの起動時
出力端子は 16 リロードタイマのカウン
に "L" を出力し , アンダフロー発生のた
ト中に "H" の矩形波を出力します。
びにトグルします。
"1" を書き込んだ場合
出力端子は 16 リロードタイマの起動時
出力端子は 16 リロードタイマのカウン
に "H" を出力し , アンダフロー発生の
ト中に "L" の矩形波を出力します。
たびにトグルします。
402
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 21 章 16 ビットリロードタイマ
21.7 レジスタ
MB95810K シリーズ
[bit4] RELD: リロード選択ビット
このビットはアンダフロー発生時のリロード動作を選択します。
このビットに "0" が書き込まれた場合 , 16 ビットリロードタイマはワンショットモードに入ります。
このワンショットモードでは , アンダフローが発生すると , 16 ビットリロードタイマはカウントを
停止します。
このビットに "1" が書き込まれた場合 , 16 ビットリロードタイマはリロードモードに入ります。こ
のリロードモードでは , アンダフローが発生すると , 16 ビットリロードタイマリロードレジスタ
ch. n (TMRLRHn/TMRLRLn) にあらかじめ設定された値が 16 ビットリロードタイマタイマレジスタ
ch. n (TMRHn/TMRLn) にロードされ , 16 ビットリロードタイマはカウントを続行します。
説明
bit4
"0" を書き込んだ場合
ワンショットモード
"1" を書き込んだ場合
リロードモード
[bit3] INTE: アンダフロー割込み要求許可ビット
このビットはアンダフロー割込みを許可または禁止します。
説明
bit3
"0" を書き込んだ場合
アンダフロー割込み要求を禁止します。
"1" を書き込んだ場合
アンダフロー割込み要求を許可します。
[bit2] UF: アンダフロー割込み要求フラグビット
このビットは 16 ビットリロードタイマでアンダフローが発生しているかを示します。
リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。
説明
bit2
"0" が読み出された場合
アンダフローが発生していないことを示します。
"1" が読み出された場合
アンダフローが発生していることを示します。
"0" を書き込んだ場合
このビットをクリアします。
"1" を書き込んだ場合
動作に影響はありません。
[bit1] CNTE: カウント許可ビット
このビットは 16 ビットリロードタイマのカウント動作を許可または停止します。
このビットに "0" が書き込まれた場合 , 16 ビットリロードタイマはカウントを停止します。
このビットに "1" が書き込まれた場合 , 16 ビットリロードタイマは起動トリガ待ち状態に入ります。
起動トリガが入力されると , 16 ビットリロードタイマはカウントを開始します。
bit1
説明
"0" を書き込んだ場合
16 ビットリロードタイマのカウント動作を停止します。
"1" を書き込んだ場合
16 ビットリロードタイマのカウント動作を許可します ( 起動トリガ待ち状態 )。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
403
第 21 章 16 ビットリロードタイマ
21.7 レジスタ
MB95810K シリーズ
[bit0] TRG: ソフトウェアトリガビット
このビットは , ソフトウェアによる 16 ビットリロードタイマの起動を許可します。
16 ビットリロー
ドタイマ動作が許可されている場合 (CNTE=1) にのみ有効です。
このビットへの "0" の書込みは動作に影響を与えません。
このビットに "1" が書き込まれた場合 , 16 ビットリロードタイマリロードレジスタ ch. n (TMRLRHn/
TMRLRLn) に設定された値が 16 ビットリロードタイマタイマレジスタ ch. n (TMRHn/TMRLn) にリ
ロードされ , 16 ビットリロードタイマが次のカウントクロック入力からカウントを開始します。
( 注意事項 ) このビットに CNTE ビットと同時に "1" を書き込んでも動作に影響はありません。
このビットの読出し値は常に "0" です。ただし , "1" の書込みで 16 ビットリロードタイマが起動し
た後 , 16 ビットリロードタイマがカウントを開始するまでは , このビットは "1" を読み出します。
説明
bit0
読出し動作
読出し値は常に "0" です。
"0" を書き込んだ場合
動作に影響はありません。
"1" を書き込んだ場合
TMRLRHn/TMRLRLn の値がリロードされた後 , 16 ビットリロードタイマがカウ
ントを開始します。
404
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 21 章 16 ビットリロードタイマ
21.7 レジスタ
MB95810K シリーズ
21.7.3
16 ビットリロードタイマタイマレジスタ ( 上位 / 下
位 ) ch. n (TMRHn/TMRLn)
16 ビットリロードタイマタイマレジスタ ( 上位 / 下位 ) ch. n (TMRHn/TMRLn) は , 16
ビットダウンカウンタのカウント値を読み出します。
■ レジスタ構成
TMRHn
bit
7
6
5
4
3
2
1
0
Field
D15
D14
D13
D12
D11
D10
D9
D8
属性
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
TMRLn
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
■ レジスタ機能
16 ビットリロードタイマタイマレジスタ ch. n は 16 ビットダウンカウンタのカウント
値を読み出します。
16 ビットリロードタイマがカウント開始する時に , 16 ビットリロードタイマのカウン
ト動作が既に許可 (TMCSRLn:CNTE = 1) されている場合 , 16 ビットリロードタイマリ
ロードレジスタに設定された値が 16 ビットリロードタイマタイマレジスタ ch. n にリ
ロードされ , 16 ビットリロードタイマはダウンカウントを開始します。
<注意事項>
• このレジスタはカウント中でもカウント値を読み出すことが可能です。 読み出すとき
は , ワード転送命令を使用するか , 上位 → 下位の順に読出しを行ってください。このレ
ジスタは上位を読み出した時点で下位の値を保持するような回路構成となっていま
す。
• このレジスタはリードオンリであり , 16 ビットリロードタイマリロードレジスタ ch. n
と同一のアドレスに配置されています。したがって , このレジスタへの書込みは 16
ビットリロードタイマリロードレジスタ ch. n への書込みとなります。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
405
第 21 章 16 ビットリロードタイマ
21.7 レジスタ
MB95810K シリーズ
16 ビットリロードタイマリロードレジスタ ( 上位 /
下位 ) ch. n (TMRLRHn/TMRLRLn)
21.7.4
16ビットリロードタイマリロードレジスタ(上位/下位) ch. n (TMRLRHn/TMRLRLn)
は 16 ビットダウンカウンタへのリロード値を設定します。16 ビットリロードタイマ
リロードレジスタ ch. n に設定された値が 16 ビットダウンカウンタにリロードされ ,
ダウンカウントに使用されます。
■ レジスタ構成
TMRLRHn
bit
7
6
5
4
3
2
1
0
Field
D15
D14
D13
D12
D11
D10
D9
D8
属性
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
TMRLRLn
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
■ レジスタ機能
16 ビットリロードタイマリロードレジスタ ch. n は 16 ビットダウンカウンタ ch. n へリ
ロードされるリロード値を設定します。
16 ビットリロードタイマリロードレジスタ ch. n に設定された値が起動時もしくはアン
ダフロー発生時に 16 ビットリロードタイマタイマレジスタ ch. n にリロードされ , ダウ
ンカウントに使用されます。なお , 16 ビットリロードタイマのカウント中に 16 ビット
リロードタイマリロードレジスタ ch. n の値を変更できます。
<注意事項>
• カウント中でもこのレジスタに値を書き込むことが可能です。 書込み時はワード転送
命令を使用するか , 上位 → 下位の順に書込みを行ってください。このレジスタは下位
を書き込んだ時点で上位の値を有効にするような回路構成となっています。
• このレジスタは書込み専用のレジスタであり , 16 ビットリロードタイマタイマレジス
タ ch. n と同一のアドレスに配置されています。したがって , このレジスタからの読出
しは 16 ビットリロードタイマタイマレジスタ ch. n からの読出しとなります。
406
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
21.8
使用上の注意
第 21 章 16 ビットリロードタイマ
21.8 使用上の注意
16 ビットリロードタイマ使用上の注意を示します。
■ 16 ビットリロードタイマ使用上の注意
● プログラム設定上の注意
•
16 ビットリロードタイマタイマレジスタ ch. n (TMRHn/TMRLn) はカウント中でも
値を読み出せます。読出し時はワード転送命令を使用するか , 上位 → 下位の順に読
み出してください。
•
16 ビットリロードタイマリロードレジスタ ch. n (TMRLRHn/TMRLRLn) はカウント
中でも値を書き込めます。書込み時はワード転送命令を使用するか , 上位 → 下位の
順に書き込んでください。
● 割込みに関する注意
割込み要求が許可されている場合 (TMCSRLn:INTE = 1) は ,16 ビットリロードタイマ制
御ステータスレジスタ ( 下位 ) ch. n (TMCSRLn) のアンダフロー割込み要求フラグビッ
ト (UF) が "1" に設定されると , CPU は割込み処理から復帰できません。必ず割込み処
理ルーチン内で UF ビットをクリアしてください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
407
第 21 章 16 ビットリロードタイマ
21.8 使用上の注意
408
MB95810K シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 22 章
UART/SIO
UART/SIO の機能と動作について説明します。
22.1 概要
22.2 構成
22.3 チャネル
22.4 端子
22.5 割込み
22.6 動作説明と設定手順例
22.7 レジスタ
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
409
第 22 章 UART/SIO
22.1 概要
MB95810K シリーズ
概要
22.1
UART/SIO は , 汎用のシリアルデータ通信インタフェースです。クロック同期 ( シン
クロナス ) またはクロック非同期 ( アシンクロナス ) で , 可変データ長のシリアルデー
タ転送ができます。転送フォーマットは ,NRZ 方式で , 転送レートは専用ボーレート
ジェネレータまたは外部クロック ( クロック同期モード (SIO) のとき ) から設定でき
ます。
■ UART/SIO の機能
UART/SIO は , ほかの CPU や周辺装置とシリアルデータの送受信 ( シリアル入出力 ) を
行う機能があります。
• 全二重ダブルバッファがあり , 全二重で双方向通信ができます。
• 同期転送モード ( シンクロナス ) と非同期転送モード ( アシンクロナス ) を選択でき
ます。
• 専用のボーレートジェネレータによって最適なボーレートを選択できます。
• データ長は可変で , パリティなしの場合は 5 ビット~ 8 ビット , パリティありの場
合は 6 ビット~ 9 ビットの設定ができます ( 表 22.1-1 を参照 )。
• シリアルデータの方向 ( エンディアン ) を選択できます。
• データ転送フォーマットは , NRZ (Non Return to Zero) 方式です。
• 2 種類の動作モード ( 動作モード 0,1) があります。
動作モード 0 は , クロック非同期モード (UART) として動作します。
動作モード 1 は , クロック同期モード (SIO) として動作します。
表 22.1-1 UART/SIO の動作モード
動作モード
0
1
410
データ長
パリティなし
パリティあり
5
6
6
7
7
8
8
9
5
6
7
8
-
同期モード
ストップビット長
非同期
1 ビットまたは 2 ビット
同期
-
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 22 章 UART/SIO
22.2 構成
MB95810K シリーズ
22.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 のブロックダイヤグラム
図 22.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
411
第 22 章 UART/SIO
22.2 構成
MB95810K シリーズ
● 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 端子からの入力信号 ( 外部クロック ) を入力クロック ( シリアルクロック ) と
して使用します。
412
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 22 章 UART/SIO
22.3 チャネル
MB95810K シリーズ
22.3
チャネル
UART/SIO のチャネルについて説明します。
■ UART/SIO のチャネル
UART/SIO の端子とレジスタを表 22.3-1 および表 22.3-2 にそれぞれ示します。
表 22.3-1 UART/SIO の端子
端子名
端子機能
クロック入出力
データ出力
データ入力
UCKn
UOn
UIn
表 22.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
413
第 22 章 UART/SIO
22.4 端子
22.4
MB95810K シリーズ
端子
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 のシリアルデータ入力端子と
して使用する場合は,対応するポート方向レジスタによって入力ポートに設定してくだ
さい。
414
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 22 章 UART/SIO
22.5 割込み
MB95810K シリーズ
22.5
割込み
UART/SIO には , 割込みに関連したエラーフラグビット (PER,OVE,FER), 受信データ
レジスタフルフラグビット (RDRF), 送信データレジスタエンプティフラグビット
(TDRE) および送信完了フラグビット (TCPL) の 6 つのビットがあります。
■ UART/SIO の割込み
表 22.5-1 に , UART/SIO の割込み制御ビットと割込み要因を示します。
表 22.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
415
第 22 章 UART/SIO
22.6 動作説明と設定手順例
22.6
MB95810K シリーズ
動作説明と設定手順例
UART/SIO には , シリアル通信機能 ( 動作モード 0,1) があります。
■ UART/SIO の動作
● 動作モード
UART/SIO には , 2 種類の動作モードがあります。クロック同期モード (SIO) とクロッ
ク非同期モード (UART) を選択できます ( 表 22.6-1 を参照 )。
表 22.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)。
416
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 22 章 UART/SIO
22.6 動作説明と設定手順例
MB95810K シリーズ
22.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% までの範囲で通信可能です。
専用ボーレートジェネレータによるボーレート算出式を以下に示します ( 専用ボー
レートジェネレータについては ,「第 23 章 UART/SIO 専用 ボーレートジェネレータ」も
参照してください 。
図 22.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])
表 22.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
417
第 22 章 UART/SIO
22.6 動作説明と設定手順例
MB95810K シリーズ
また , クロック非同期モード (UART) におけるボーレート設定が可能な範囲は以下のと
おりです。
表 22.6-3 クロック非同期モード (UART) におけるボーレート設定可能範囲
PSS[1:0]
BRS[7:0]
0b00 ~ 0b11
0x02(2) ~ 0xFF(255)
● 転送データフォーマット
UART は,NRZ (Non Return to Zero) 形式のデータのみを扱えます。
図 22.6-2 に,転送デー
タフォーマットを示します。
キャラクタビット長は , SMC1n:CBL[1:0] ビット の設定により 5 ビット~ 8 ビットを選
択できます。
ストップビット長は SMC1n:SBL ビットの設定により 1 ビットもしくは 2 ビットに設
定できます。
パリティの有無 , パリティの極性は SMC1n レジスタの PEN ビットと TDP ビット によ
り設定できます。
図 22.6-2 に示すように , 転送データは必ずスタートビット ("L" レベル ) より始まり ,
MSBファーストもしくは LSBファースト(SMC1nレジスタのBDS ビットでLSB ファー
スト /MSB ファーストの選択可能 ) で指定されたデータビット長転送が行われ , ストッ
プビット ("H" レベル ) で終了します。アイドル時は "H" レベルになります。
図 22.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ファーストの
選択が可能です。
418
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
第 22 章 UART/SIO
22.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" にした場合 , 直ちに受信動作が禁止され , 初期化され
ます。途中まで受信したデータはシリアル入力データレジスタには転送されません。
図 22.6-3 クロック非同期モード (UART) の受信動作
RXE
UIn
St
D0 D1 D2 D3 D4 D5 D6 D7 Sp Sp St
D0 D1 D2
RDRn
のリード
RDRF
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
419
第 22 章 UART/SIO
22.6 動作説明と設定手順例
MB95810K シリーズ
● クロック非同期モード (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" に設定されます。
また , 各フラグビットは最初のストップビットの位置で設定されます。
図 22.6-4 受信エラーフラグビットの設定タイミング
UIn
D5
D6
D7
P
SP
SP
PER
OVE
FER
受信割込み
420
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 22 章 UART/SIO
22.6 動作説明と設定手順例
MB95810K シリーズ
● 受信動作時のスタートビットの検出と受信データの確定
受信動作許可ビット (RXE) が "1" に設定されてから専用ボーレートジェネレータのク
ロック (BRCLK) によってシリアルデータ入力をサンプリングし , シリアル入力の立下
りと連続した 3 回の "L" によりスタートビットは検出されます。したがって , BRCLK
のサンプリングにおいて , 最初に "H","L","L","L" が検出されたとき , そのビットをス
タートビットとみなします。
スタートビット検出から 4 分周回路を起動し ,BRCLK の 4 周期ごとにシリアルデータ
を受信用シフトレジスタに取り込みます。
データの受信は , ボーレートクロック (BRCLK) とデータサンプリングクロック
(DSCLK) の 3 箇所でサンプリングして 3 ビット中 2 ビット一致の多数決で受信データ
を確定します。
図 22.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-00012-2v0-J
X
FUJITSU SEMICONDUCTOR LIMITED
D0
D1
421
第 22 章 UART/SIO
22.6 動作説明と設定手順例
MB95810K シリーズ
● クロック非同期モード (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 ビットは , 図 22.6-6 に示すように , 最終ビットの
送信が完了した位置 ( データ長 , パリティ許可 , ストップビット長設定により異なる )
において設定されます。
送信動作中に UART/SIO シリアルモード制御レジスタ 1 ch. n (SMC1n) が変更された
場合の動作は保証されません。
図 22.6-6 クロック非同期モード (UART) の送信動作
UOn
D5
D6
D7
P
SP
SP
TCPL
TDRE
送信割込み
ストップビット長を 1 ビットに設定した場合
422
FUJITSU SEMICONDUCTOR LIMITED
ストップビット長を 2 ビットに設定した場合
MN702-00012-2v0-J
第 22 章 UART/SIO
22.6 動作説明と設定手順例
MB95810K シリーズ
TDRE ビットは , 前の送信データが送信シフトレジスタにない場合は , 図 22.6-7 または
図 22.6-8 の位置で設定されます。
図 22.6-7 送信データレジスタエンプティフラグビット (TDRE) の設定タイミング 1
(TXE が "1" の場合 )
TXE = 1
送信データの
書込み
UOn
D0
D1
D2
D3
TDRE
送信割込み
UART/SIOシリアル出力データレジスタch.n (TDRn)から送信シフトレジスタへの
転送は1マシンクロック(MCLK) 周期で行われます。
図 22.6-8 送信データレジスタエンプティフラグビット (TDRE) の設定タイミング 2
(TXE を "0" → "1" にした場合 )
TXE
送信データの
書込み
UOn
D0
D1
D2
D3
TDRE
送信割込み
● 送受信同時動作
クロック非同期モード (UART) では , 送信と受信は独立して動作できます。したがって ,
送信と受信が同時または位相がずれて送信フレームと受信フレームが重なり合う場合
であっても動作します。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
423
第 22 章 UART/SIO
22.6 動作説明と設定手順例
22.6.2
MB95810K シリーズ
動作モード 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 モードにおけるボーレート設定
が可能な範囲は以下のとおりです ( 専用ボーレートジェネレータについては「
, 第 23 章
UART/SIO 専用 ボーレートジェネレータ」も参照 )。
表 22.6-4 クロック同期モード (SIO) におけるボーレート設定可能範囲
PSS[1:0]
BRS[7:0]
0b00 ~ 0b11
0x01(1) ~ 0xFF(255), 0x00(256)
( 最速となる設定は 0x01 最も遅い設定は 0x00 です。)
外部クロックによるボーレート算出式と , 専用ボーレートジェネレータ使用時のボー
レート算出式を以下に示します。
図 22.6-9 外部クロックによるボーレート算出式
1
ボーレート値=
[bps]
外部クロック *
4 マシンクロック以上
*: 外部クロック
4 マシンクロック以上
424
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 22 章 UART/SIO
22.6 動作説明と設定手順例
MB95810K シリーズ
図 22.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
425
第 22 章 UART/SIO
22.6 動作説明と設定手順例
MB95810K シリーズ
● UART/SIO 動作モード 1 受信動作
動作モード 1 の受信では , 各レジスタを図 22.6-11 のように使用します。
図 22.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" に設定することに
よってシリアルクロックを発生させて受信を開始する。
426
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 22 章 UART/SIO
22.6 動作説明と設定手順例
MB95810K シリーズ
受信用シフトレジスタに 5 ビット~ 8 ビットのシリアルデータが受信されると , 受信
データを UART/SIO シリアル入力データレジスタ ch. n (RDRn) へ転送し , 次のシリア
ルデータの受信を可能にします。
RDRn レジスタにデータが格納されると , 受信データレジスタフルフラグビット
(RDRF) が "1" に設定されます。
受信割込み許可ビット (RIE) が "1" に設定されている場合は , RDRF ビットが "1" に設
定されると受信割込みが発生します。
受信データを読み出す場合は ,UART/SIO シリアルステータスアンドデータレジスタ
ch. n (SSRn) のオーバランエラーフラグビット (OVE) を確認し , RDRn レジスタから読
み出します。
受信データが RDRn レジスタから読み出されると , RDRF ビットが "0" にクリアされま
す。
図 22.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" に設定されます。
図 22.6-13 オーバランエラー
UCKn
UIn
...
...
...
D0 D1 ... D6 D7
D0 D1 ... D6 D7
D0 D1 ... D6 D7
RDRnへの
リード
RDRF
OVE
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
427
第 22 章 UART/SIO
22.6 動作説明と設定手順例
MB95810K シリーズ
● UART/SIO 動作モード 1 送信動作
動作モード 1 の送信では , 各レジスタを図 22.6-14 のように使用します。
図 22.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" に設定されます。
428
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 22 章 UART/SIO
22.6 動作説明と設定手順例
MB95810K シリーズ
外部クロックを使用する設定では,送信動作が起動した最初のシリアルクロックの立下
りからシリアルデータが送信されます。
送信割込み許可ビット (TIE) が "1" に設定されている場合は , TDRE ビットが "1" に設
定されると送信完了割込みが発生します。このとき , 次の送信データを TDRn レジスタ
に書き込めます。また , TXE ビットが "1" に設定されたままであれば , 連続してシリア
ル送信を行えます。
シリアル送信が完了したことを送信完了割込みによって検知する場合は,送信完了割込
み出力許可の設定を TEIE = 0,TCIE = 1 にしてください。送信が完了すると送信完了フ
ラグ ビット (SSRn:TCPL) が "1" に設定されて送信完了割込みが発生します。
図 22.6-15 クロック同期モード (SIO) の 8 ビット送信動作
TDRnへの
書込み
UCKn
UIn
D0 D1 D2 D3 D4 D5 D6 D7
TDRE
TCPL
割込み
コントローラ
への割込み
外部クロックの
場合は, UCKnの
立下り後です。
割込み
コントローラ
への割込み
内部クロックの
場合は, 最終 1 ビット
周期後です。
● 送受信同時動作
<外部クロックの場合>
送信と受信はそれぞれ独立して動作できます。したがって , 送信と受信が同時または
位相がずれて重なり合う場合でも動作します。
<内部クロックの場合>
送信側がシリアルクロックを発生しているため , 受信は送信の影響を受けます。
受信途中に送信が終了してしまった場合 , 受信側は停止した状態となります。 受信
は , 送信側が再起動されたときに継続されます。
シリアルクロックを出力および入力して使用する方法については , 「22.4 端子」を
参照してください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
429
第 22 章 UART/SIO
22.7 レジスタ
22.7
MB95810K シリーズ
レジスタ
UART/SIO のレジスタについて説明します。
表 22.7-1
UART/SIO のレジスタ一覧
レジスタ略称
430
レジスタ名
参照先
SMC1n
UART/SIO シリアルモード制御レジスタ 1 ch. n
22.7.1
SMC2n
UART/SIO シリアルモード制御レジスタ 2 ch. n
22.7.2
SSRn
UART/SIO シリアルステータスアンドデータレジスタ ch. n
22.7.3
RDRn
UART/SIO シリアル入力データレジスタ ch. n
22.7.4
TDRn
UART/SIO シリアル出力データレジスタ ch. n
22.7.5
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 22 章 UART/SIO
22.7 レジスタ
MB95810K シリーズ
22.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
431
第 22 章 UART/SIO
22.7 レジスタ
MB95810K シリーズ
[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)の
設定 を変更しないでください。
432
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 22 章 UART/SIO
22.7 レジスタ
MB95810K シリーズ
22.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
433
第 22 章 UART/SIO
22.7 レジスタ
MB95810K シリーズ
[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" を書き込んだ場合
送信データレジスタエンプティ割込みを許可します。
434
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 22 章 UART/SIO
22.7 レジスタ
MB95810K シリーズ
22.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
435
第 22 章 UART/SIO
22.7 レジスタ
MB95810K シリーズ
[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 レジスタに送信データがないことを示します。
436
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 22 章 UART/SIO
22.7 レジスタ
MB95810K シリーズ
22.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
437
第 22 章 UART/SIO
22.7 レジスタ
22.7.5
MB95810K シリーズ
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" にしてからデータを変更してください。
438
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 23 章
UART/SIO 専用 ボーレート
ジェネレータ
UART/SIO 専用ボーレートジェネレータの機能と
動作について説明します。
23.1 概要
23.2 チャネル
23.3 動作説明
23.4 レジスタ
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
439
第 23 章 UART/SIO 専用 ボーレートジェネレータ
23.1 概要
23.1
MB95810K シリーズ
概要
UART/SIO 専用ボーレートジェネレータは ,UART/SIO のボーレートを発生します。
UART/SIO 専用ボーレートジェネレータプリスケーラ選択レジスタ ch. n (PSSRn)
と UART/SIO 専用ボーレートジェネレータボーレート設定レジスタ ch. n (BRSRn)
から構成されます。
品種により, UART/SIO専用ボーレートジェネレータの端子数およびチャネル数は異な
ります。
詳細は , デバイスのデータシートを参照してください。
本章において , 端子名とレジスタ略称にある "n" はチャネル番号を示します。各品種の
端子名 , レジスタ名とレジスタ略称について , デバイスのデータシートを参照してくだ
さい。
■ UART/SIO 専用ボーレートジェネレータのブロックダイヤグラム
図 23.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 にクロックを供給しています。
440
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
23.2
チャネル
第 23 章 UART/SIO 専用 ボーレートジェネレータ
23.2 チャネル
UART/SIO 専用ボーレートジェネレータのチャネルについて説明します。
■ UART/SIO 専用ボーレートジェネレータのチャネル
表 23.2-1 に ,UART/SIO 専用ボーレートジェネレータのレジスタを示します。
表 23.2-1 UART/SIO 専用ボーレートジェネレータのレジスタ
レジスタ略称
該当レジスタ ( 本マニュアル上の表記 )
PSSRn
UART/SIO 専用ボーレートジェネレータプリスケーラ選択レジスタ ch. n
BRSRn
UART/SIO 専用ボーレートジェネレータボーレート設定レジスタ ch. n
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
441
第 23 章 UART/SIO 専用 ボーレートジェネレータ
23.3 動作説明
23.3
MB95810K シリーズ
動作説明
UART/SIO 専用ボーレートジェネレータは,クロック非同期モード(UART)のボーレー
トジェネレータとして動作します。
■ ボーレート設定
UART/SIO の SMC1n レジスタの CKS ビットで UART/SIO 専用ボーレートジェネレー
タをシリアルクロックとして選択してください。
クロック 非同期モード (UART) では , CKS ビットで選択されたシフトクロックの 4 分
周になり , 選択されたボーレートの −3% から +3% までの範囲で転送可能です。UART/
SIO 専用ボーレートジェネレータによるボーレート算出式を以下に示します。
図 23.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])
表 23.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) におけるボーレート設定が可能な範囲は以下のと
おりです。
表 23.3-2 クロック非同期モード (UART) におけるボーレート設定可能範囲
442
PSS[1:0]
BRS[7:0]
0b00 ~ 0b11
0x02(2) ~ 0xFF(255)
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
23.4
レジスタ
第 23 章 UART/SIO 専用 ボーレートジェネレータ
23.4 レジスタ
UART/SIO 専用ボーレートジェネレータのレジスタについて説明します。
表 23.4-1
UART/SIO 専用ボーレートジェネレータのレジスタ一覧
レジスタ略称
レジスタ名
参照先
PSSRn
UART/SIO 専用ボーレートジェネレータプリスケーラ選択レジスタ
ch. n
BRSRn
UART/SIO 専用ボーレートジェネレータボーレート設定レジスタ ch. n 23.4.2
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
23.4.1
443
第 23 章 UART/SIO 専用 ボーレートジェネレータ
23.4 レジスタ
23.4.1
MB95810K シリーズ
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
444
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 23 章 UART/SIO 専用 ボーレートジェネレータ
23.4 レジスタ
MB95810K シリーズ
23.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
445
第 23 章 UART/SIO 専用 ボーレートジェネレータ
23.4 レジスタ
446
MB95810K シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 24 章
I2C バスインタフェース
I2C バスインタフェース の機能と動作について説
明します。
24.1 概要
24.2 構成
24.3 チャネル
24.4 端子
24.5 割込み
24.6 動作説明と設定手順例
24.7 レジスタ
24.8 使用上の注意
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
447
第 24 章 I2C バスインタフェース
24.1 概要
24.1
MB95810K シリーズ
概要
マスタ / スレーブモードの送信と受信 , アービトレーションロスト検出 , スレーブア
ドレス / ゼネラルコールアドレス検出, スタート / ストップ条件の発生と検出, バスエ
ラー検出および MCU スタンバイウェイクアップ機能を提供します。
■ I2C バスインタフェースの機能
I2C バスインタフェースは双方向バスで , シリアルデータライン (SDAn) とシリアルク
ロックライン (SCLn) の 2 本のワイヤから構成されます。この 2 本のワイヤによってバ
スに接続される各装置は , 互いに情報伝達が行われ , 各装置にある固有のアドレスを認
識することにより , それぞれの装置の機能に応じて送信装置および受信装置として動
作が可能となります。
装置間にはマスタとスレーブという関係が成り立ちます。
I2C バスインタフェースはバスのキャパシタンスの上限値が 400 pF を超えなければ ,
バスに複数の装置を接続できます。複数のマスタが同時にデータ転送を開始しようと
した場合でも , データの破壊を防ぐために , 衝突検出および通信調整手順を備えている
本格的なマルチマスタバスです。
通信調整手順とは複数のマスタが同時にバスを制御しようとした場合に, 1 つのマスタ
だけがバスを制御できるようにし , さらにメッセージが失われたり , 内容が変更された
りしないようにする手順です。また , マルチマスタとはメッセージを失うことなく , 複
数のマスタが同時にバスを制御しようとすることです。
本 I2C バスインタフェースは , MCU スタンバイモードウェイクアップ機能を内蔵して
います。
図 24.1-1 I2C バスインタフェースの構成例
マイクロコントローラA
LCDドライバ
スタティックRAM/
EEPROM
SDAn
SCLn
ゲートアレイ
448
A/Dコンバータ
FUJITSU SEMICONDUCTOR LIMITED
マイクロコントローラB
MN702-00012-2v0-J
MB95810K シリーズ
24.2
構成
第 24 章 I2C バスインタフェース
24.2 構成
I2C バスインタフェース は , 以下のブロックで構成されます。
• クロックセレクタ
• クロック分周器
• シフトクロック発生器
• スタート / ストップ条件発生回路
• スタート / ストップ条件検出回路
• アービトレーションロスト検出回路
• スレーブアドレス比較回路
• IBSRn レジスタ
• IBCR0n レジスタ
• IBCR1n レジスタ
• ICCRn レジスタ
• IAARn レジスタ
• IDDRn レジスタ
品種により , I2C バスインタフェースの端子数およびチャネル数は異なります。詳細は ,
デバイスのデータシートを参照してください。
本章において , 端子名とレジスタ略称にある "n" はチャネル番号を示します。各品種の
端子名 , レジスタ名とレジスタ略称について , デバイスのデータシートを参照してくだ
さい。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
449
第 24 章 I2C バスインタフェース
24.2 構成
MB95810K シリーズ
■ I2C バスインタフェースのブロックダイヤグラム
図 24.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
450
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
第 24 章 I2C バスインタフェース
24.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
451
第 24 章 I2C バスインタフェース
24.3 チャネル
24.3
MB95810K シリーズ
チャネル
I2C バスインタフェースのチャネルについて説明します。
■ I2C バスインタフェースのチャネル
I2C バスインタフェース の端子とレジスタを , 表 24.3-1 および表 24.3-2 にそれぞれ示
します。
表 24.3-1 I2C バスインタフェースの端子
端子名
端子機能
SDAn
I2C バスインタフェース I/O
SCLn
表 24.3-2 I2C バスインタフェースのレジスタ
レジスタ略称
452
レジスタ対応 ( 本マニュアル上の表記 )
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-00012-2v0-J
MB95810K シリーズ
24.4
端子
第 24 章 I2C バスインタフェース
24.4 端子
I2C バスインタフェースの端子について説明します。
■ I2C バスインタフェースの端子
I2C バスインタフェースの端子には , SDAn 端子および SCLn 端子があります。
● SDAn 端子
SDAn 端子は , I2C バスインタフェースのデータ入出力端子です。
I2C バスインタフェース が許可 (ICCRn:EN = 1) された場合 , 自動的にデータ入出力端
子になり , SDAn 端子として機能します。
● SCLn 端子
SCLn 端子は , I2C バスインタフェースのシフトクロック入出力端子です。
I2C バスインタフェースが許可 (ICCRn:EN = 1) された場合 , 自動的にシフトクロック
入出力端子になり , SCLn 端子として機能します。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
453
第 24 章 I2C バスインタフェース
24.5 割込み
24.5
MB95810K シリーズ
割込み
I2C バスインタフェースは , 転送割込みとストップ割込みがあり , 以下に示す要因で割
込みを発生します。
• 転送割込み
データ転送が完了した場合またはバスエラーが発生した場合
• ストップ割込み
ストップ条件を検出した場合 , アービトレーションロストを検出した場合または
ストップモード / 時計モードで I2C バスインタフェースにアクセスがあった場合
■ 転送割込み
表 24.5-1 に, 転送割込みの制御ビットと I2Cバスインタフェースの割込み要因について
示します。
表 24.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" に設定されます。
454
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 24 章 I2C バスインタフェース
24.5 割込み
MB95810K シリーズ
■ ストップ割込み
表 24.5-2 に , ストップ割込みの制御ビットと I2C バスインタフェース の割込み要因 ( ト
リガイベント ) について示します。
表 24.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
455
第 24 章 I2C バスインタフェース
24.6 動作説明と設定手順例
24.6
MB95810K シリーズ
動作説明と設定手順例
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)。
456
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 24 章 I2C バスインタフェース
24.6 動作説明と設定手順例
MB95810K シリーズ
l2C バスインタフェース
24.6.1
I2C バスインタフェースは , シフトクロックに同期した 8 ビットデータのシリアルイ
ンタフェースです。
■ I2C のシステム
I2C バスシステムはデータ転送にシリアルデータライン (SDAn) とシリアルクロック
ライン (SCLn) を使用します。バスに接続された全装置はオープンドレインまたはオー
プンコレクタ出力である必要があり , プルアップ抵抗を接続して使用します。
バスに接続された各デバイスには固有のアドレスがあり , アドレスは , ソフトウェアで
設定が可能です。
そして常に単純なマスタ / スレーブ関係が存在し , マスタはマスタト
ランスミッタまたはマスタレシーバとして機能します。
万一 , 複数のマスタが同時に
データ転送を開始しようとした場合でも , データ破壊を防ぐために衝突検出機能およ
びアービトレーション機能を備えた本格的なマルチマスタバスです。
■ I2C のプロトコル
図 24.6-1 に , データ転送に必要なフォーマットを示します。
図 24.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" である ) において , マス
タはスタート条件を発生することによって送信を開始します。図 24.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
457
第 24 章 I2C バスインタフェース
24.6 動作説明と設定手順例
MB95810K シリーズ
• バスマスタ時の割込み状態 (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" レベルになって , 受信デバイスからアクノリッジビットを受信し
ます ( 図 24.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 ビット固定です。図 24.6-1 に示したとおりア
クノリッジクロックパルスが "H" の状態の場合に SDAn ラインを "L" レベルの状態に
安定させることで , 受信装置はアクノリッジを送信側に伝えるようになっています。
MSB を先頭に 1 ビットごとに 1 クロックパルスでデータを転送します。バイト転送ご
とに, アクノリッジの送受信が行われる必要があります。そのため, 1 つの完全なデータ
バイト転送は 9 つのクロックパルスが必要です。
■ アクノリッジ
アクノリッジは , 以下に示す条件のもと , 送信側データバイト転送の 9 番目のクロック
サイクルに対して受信側から送信されます。
アドレスアクノリッジは下記条件で発生します。
• 受信アドレスが IAARn の設定アドレスと一致し, さらにアドレスアクノリッジ自動
出力 (IBCR0n:AACKX = 0) の場合
• ゼネラルコールアドレス (0x00) を受信し , さらにゼネラルコールアドレスアクノ
リッジ出力許可 (IBCR1n:GACKE = 1) の場合
データを受信したときのデータアクノリッジビットは , IBCR1n:DACKE ビットにより許
可 / 禁止できます。マスタモードでは IBCR1n:DACKE = 1 のときにデータアクノリッジ
458
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
第 24 章 I2C バスインタフェース
24.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 サイクルで , 再度 , 転送終了割込みが発生するように
設定してください。
■ ゼネラルコールアドレス
ゼネラルコールアドレスは , スタートアドレスバイト (0x00) とそれに続く第 2 アドレ
スバイトから構成されます。ゼネラルコールアドレスを使用するためには , 第 1 バイト
のゼネラルコールアドレスに対するアクノリッジの前に , IBCR1n:GACKE = 1 を設定
しておいてください。
また , 第 2 アドレスバイトのアクノリッジは , 図 24.6-2 に示され
るような方法で制御できます。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
459
第 24 章 I2C バスインタフェース
24.6 動作説明と設定手順例
MB95810K シリーズ
図 24.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バイトゼネラルコールアドレス
ACK/NACK
9th SCL↓で IBCR1n:INTが設定される
IBSRn:LRBを読み出す
8th SCL↓で IBCR1n:INTが設定される
IDDRnを読み出して IBCR1n:DACKEによりACK/NACKを制御
IBSRn:LRBを読み出す必要がある場合は INTS=0に設定する
9th SCL↓で IBCR1n:INTが設定される
IBCR0n:INTS=1を設定する
ACK は与えられず,IBSRn:GCAは設定されない
第2アドレスで AL が発生し, IBSRn:GCAが設定され,
スレーブモードへ切換える
(e) マスタモード時のゼネラルコール動作 (第2アドレスでALあり, GACKE=0からスタート)
ACK
NACK
GCA
AL
: アクノリッジ
: アクノリッジなし
: ゼネラルコールアドレス
: アービトレーションロスト
本モジュールとほかのデバイスがゼネラルコールアドレスを同時に送信した場合, 第 2
アドレスバイト転送時にアービトレーションロストが検出されていないかどうかで ,
バスを獲得したかどうかを確認できます。もし , アービトレーションロストが検出され
た場合 , 本モジュールはスレーブモードとなり , マスタからのデータ受信を継続しま
す。
■ ストップ条件
ストップ条件を発生させることによって , マスタはバスを開放して通信を終了します。
SCLn が "H" の場合に , SDAn ラインを "L" → "H" にするとストップ条件となります。マ
スタモード時の通信終了 ( 以後バスフリー) をバス上のデバイスに知らせるための信号
です。また , マスタはストップ条件を発生させずに , 連続してスタート条件を発生でき
ます。これを繰返しスタート条件とよびます。
バスマスタ時の割込み状態 (IBCR1n:MSS = 1 , IBSRn:BB = 1, IBCR1n:INT = 1 および
460
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
第 24 章 I2C バスインタフェース
24.6 動作説明と設定手順例
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 でアービトレーションロスト割込みが発生する条件
図 24.6-3 や 図 24.6-4 に示されるようなタイミングにて , プログラムによりスタート条
件を発生させた場合 (IBCR1n:MSS を "1" に設定 ), アービトレーションロスト検出
(IBCR0n:ALF = 1) により割込みの発生 (IBCR1n:INT = 1) が抑止されます。
• アービトレーションロストにより割込みが発生しない条件 1
スタート条件が検出されておらず (IBSRn:BB = 0), SDAn と SCLn ラインの端子状態が
"L" レベルとなっている状態で , プログラムによりスタート条件を発生 (IBCR1n:MSS
を "1" に設定 ) させた場合。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
461
第 24 章 I2C バスインタフェース
24.6 動作説明と設定手順例
MB95810K シリーズ
図 24.6-3 IBCR0n:ALF = 1 で割込みが発生しない場合のタイミングダイヤグラム
SCLn端子もしくはSDAn端子が “L” レベル
"L"
SCLn端子
"L"
SDAn端子
1
I2C
動作許可状態 (ICCRn:EN = 1)
マスタモード設定 (IBCR1n:MSS = 1)
アービトレーションロスト検出ビット
(IBCR0n:ALF = 1)
462
バスビジー (IBSRn:BB)
0
割込み (IBCR1n:INT)
0
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 24 章 I2C バスインタフェース
24.6 動作説明と設定手順例
MB95810K シリーズ
• アービトレーションロストにより割込みが発生しない条件 2
I2C バスがほかのマスタにより使用されているとき , プログラムにより I2C バスインタ
フェース の動作を許可 (ICCRn:ENを"1"に設定) し, スタート条件を発生 (IBCR1n:MSS
を "1" に設定 ) させた場合。
これは , 図 24.6-4 に示すように , 本 I2C バスインタフェースの動作が禁止 (ICCRn:EN =
0) のときに I2C バス上のほかのマスタが通信を開始した場合, 本 I2Cバスインタフェー
ス はスタート条件を検出できないためです (IBSRn:BB = 0)。
図 24.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
463
第 24 章 I2C バスインタフェース
24.6 動作説明と設定手順例
MB95810K シリーズ
図 24.6-5 に , サンプルフローを示します。
図 24.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) が発生します。
図 24.6-6 「IBCR0n:ALF = 1」検出時における割込み発生のタイミングダイヤグラム
スタート条件
9 番目のクロックサイクルにおける割込み
SCLn端子
SDAn端子
スレーブアドレス
データ
ACK
ICCRn:EN
IBCR1n:MSS
IBCR0n:ALF
ソフトウェアにより
IBCR0n:ALFをクリア
IBSRn:BB
IBCR1n:INT
464
ソフトウェアにより IBCR1n:INTを
クリアして SCLnラインをリリース
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 24 章 I2C バスインタフェース
24.6 動作説明と設定手順例
MB95810K シリーズ
24.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 のストップ モード / 時計モードでのみ有効です。
図 24.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
465
第 24 章 I2C バスインタフェース
24.6 動作説明と設定手順例
MB95810K シリーズ
図 24.6-8 に , ウェイクアップ機能のサンプルフローを示します。
図 24.6-8 サンプルフロー 2
ストップモード / 時計
モードへの遷移手順
IBSRn:BB=0
NO
YES
IBCR0n:WUE =1 の設定により
ウェイクアップ機能許可
IBSRn:BB=0
NO
IBCR0n:WUE = 0
YES
ストップ モード / 時計モードへ遷移
466
IBCR0n:ALE に "0" を書き込んで
AL 割込みをクリア
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 24 章 I2C バスインタフェース
24.7 レジスタ
MB95810K シリーズ
24.7
レジスタ
I2C バスインタフェースのレジスタについて説明します。
表 24.7-1
I2C バスインタフェースのレジスタ一覧
レジスタ略称
レジスタ名
2
参照先
IBCR0n
I C バス制御レジスタ 0 ch.n
24.7.1
IBCR1n
I2C バス制御レジスタ 1 ch. n
24.7.2
IBSRn
I2C バスステータスレジスタ ch. n
24.7.3
2
IDDRn
I C データレジスタ ch. n
24.7.4
IAARn
I2C アドレスレジスタ ch. n
24.7.5
ICCRn
I2C クロック制御レジスタ ch. n
24.7.6
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
467
第 24 章 I2C バスインタフェース
24.7 レジスタ
24.7.1
MB95810K シリーズ
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" を書き込んだ場合
アドレスアクノリッジを禁止します。
468
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 24 章 I2C バスインタフェース
24.7 レジスタ
MB95810K シリーズ
[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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
469
第 24 章 I2C バスインタフェース
24.7 レジスタ
MB95810K シリーズ
[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" を書き込んだ場合
動作に影響はありません。
470
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 24 章 I2C バスインタフェース
24.7 レジスタ
MB95810K シリーズ
[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 のストップモード / 時計モードでのみ有効です 。
<注意事項>
IBCR0n レジスタの AACKX ビット , INTS ビットおよび WUE ビットは , I2C の動作が禁
止 (ICCRn:EN = 0) か , バスエラーが発生 (IBCR1n:BER = 1) した場合 , 各ビットの値が
"0" になり , 値の書込みができなくなります。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
471
第 24 章 I2C バスインタフェース
24.7 レジスタ
24.7.2
MB95810K シリーズ
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" が読み出されます。
このビットが "1" になった場合 , ICCRn:EN も "0" になり , I2C バスインタフェースの動作が禁止さ
れ , データ転送が終了します。
説明
bit7
"0" が読み出された場合
バスエラーが検出されていないことを示します。
"1" が読み出された場合
不正なスタート条件または不正なストップ条件が検出されていることを示しま
す。
"0" を書き込んだ場合
このビットをクリアします。
"1" を書き込んだ場合
動作に影響はありません。
[bit6] BEIE: バスエラー割込み要求許可ビット
このビットはバスエラー割込みを許可または禁止します。
このビットと BER ビットがともに "1" のとき , バスエラー割込み要求が発生します。
説明
bit6
"0" を書き込んだ場合
バスエラー割込みを禁止します。
"1" を書き込んだ場合
バスエラー割込みを許可します。
472
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 24 章 I2C バスインタフェース
24.7 レジスタ
MB95810K シリーズ
[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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
473
第 24 章 I2C バスインタフェース
24.7 レジスタ
MB95810K シリーズ
[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" になります。
474
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
第 24 章 I2C バスインタフェース
24.7 レジスタ
I
<注意事項>
• 割込み要求フラグビット (IBCR1n:BER) に "0" を書き込んでクリアするとき , 割込み
要求許可ビット (IBCR1n:BEIE) を同時に書き換えないでください。
• BER ビット と BEIE ビットを除く IBCR1n レジスタ のすべてのビットは , I2C バスイ
ンタフェースの動作禁止 (ICCRn:EN = 0), もしくはバスエラーの発生 (IBCR1n:BER =
1) により , "0" にクリアされます。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
475
第 24 章 I2C バスインタフェース
24.7 レジスタ
24.7.3
MB95810K シリーズ
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" です。このビットに値を書き込んでも動作に影響はありません。
476
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 24 章 I2C バスインタフェース
24.7 レジスタ
MB95810K シリーズ
[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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
477
第 24 章 I2C バスインタフェース
24.7 レジスタ
MB95810K シリーズ
[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 バイト ( アドレス ) であることを示します。
478
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 24 章 I2C バスインタフェース
24.7 レジスタ
MB95810K シリーズ
24.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
479
第 24 章 I2C バスインタフェース
24.7 レジスタ
24.7.5
MB95810K シリーズ
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]: アドレスビット
これらのビットはスレーブアドレスを設定します。
480
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 24 章 I2C バスインタフェース
24.7 レジスタ
MB95810K シリーズ
24.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
—
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 バスインタフェースの動作が許可されます。
このビットは以下の条件で "0" になります。
• このビットに "0" が書き込まれた場合
• IBCR1n レジスタの BER ビット が "1" になった場合
説明
bit5
"0" を書き込んだ場合
I2C
バスインタフェースの動作を禁止します。
"1" を書き込んだ場合
I2C
バスインタフェースの動作を許可します。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
481
第 24 章 I2C バスインタフェース
24.7 レジスタ
MB95810K シリーズ
[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 バスインタフェース の動作を禁止してください。
482
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
24.8
使用上の注意
第 24 章 I2C バスインタフェース
24.8 使用上の注意
I2C バスインタフェース使用上の注意を示します。
■ I2C バスインタフェース使用上の注意
● I2C バスインタフェースのレジスタの設定時の注意
• I2C バス制御レジスタ ch. n (IBCR0n, IBCR1n) を設定する前に , I2C バスインタ
フェースの動作を許可してください (ICCRn:EN)。
• マスタ / スレーブ選択ビット (IBCR1n:MSS) を設定する ("1" を書き込む ) と , 転送が
開始されます。
● シフトクロック周波数を設定する場合の注意
• Fsck 計算式を使用して , 分周器 m, 分周器 n および DMBP ビット の値を決めること
により , シフトクロック周波数を計算できます。
Fsck 計算式について ,「24.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
483
第 24 章 I2C バスインタフェース
24.8 使用上の注意
MB95810K シリーズ
● 転送完了タイミング選択時の注意
• データ受信時の転送完了フラグ(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" にクリ
アしてください。
484
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 25 章
シリアル書込み接続例
シリアル書込み接続例を示します。
25.1 シリアル書込み接続の基本構成
25.2 シリアル書込み接続例
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
485
第 25 章 シリアル書込み接続例
25.1 シリアル書込み接続の基本構成
25.1
MB95810K シリーズ
シリアル書込み接続の基本構成
MB95810Kシリーズは, フラッシュメモリのシリアルオンボード書込みをサポートし
ています。本節では , 構成について説明します。
■ シリアル書込み接続の基本構成
シリアルオンボード書込みには , 富士通セミコンダクター株式会社製の BGM アダプタ
MB2146-07-E または MB2146-08-E が使用されます。
図 25.1-1 に , シリアル書込み接続の基本構成を示します。
図 25.1-1 シリアル書込み接続の基本構成
ホストインタフェースケーブル
USB
BGMアダプタ
(MB2146-07-E/
MB2146-08-E)
1線式UART
フラッシュメモリ品
ユーザシステム
表 25.1-1 標準シリアルオンボード書込みに使用する端子
端子
機能
説明
VCC
電源電圧供給端子
書込み電圧 (2.4 V ~ 5.5 V) は , ユーザシステムから供給されます。
VSS
GND 端子
フラッシュマイコンプログラマの GND と兼用となっています。
C
バイパスコンデンサ接続端子
バイパスコンデンサに接続してから , グランドに接続してください。
RST
リセット
RST 端子は , VCC に設定 ( プルアップ ) されます。
DBG
1 線式 UART
設定シリアル書込みモード
DBG 端子は , プログラマとの 1 線式 UART 通信を提供します。
特定のタイミングで DBG 端子と VCC 端子に電圧が供給されると , シ
リアル書込みモードが設定されます。
( そのタイミングについては , 図 25.2-1 を参照してください。)
● UART クロック
UART クロックは , メイン CR クロックにより供給されます。
486
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 25 章 シリアル書込み接続例
25.2 シリアル書込み接続例
MB95810K シリーズ
25.2
シリアル書込み接続例
MCU は , 次のタイミングで PGM モードに遷移します。
■ MCU の PGM モードへの遷移
MCU は , 次のタイミングで PGM モードに遷移します。
シリアルプログラマは , VCC 入力に従って , DBG 端子を制御します。
図 25.2-1 タイミングダイヤグラム
Vcc
H
L
PGM モードに遷移
↓
DBG
H
L
→
MN702-00012-2v0-J
≧1s
←
FUJITSU SEMICONDUCTOR LIMITED
487
第 25 章 シリアル書込み接続例
25.2 シリアル書込み接続例
MB95810K シリーズ
■ シリアル書込み接続例
図 25.2-2 はシリアル書込みのための接続例を示したものです。
図 25.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Ω のプルアップ抵抗を使用することを推奨します。
488
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 26 章
デュアルオペレーション
フラッシュメモリ
160/288/480 K ビットデュアルオペレーションフ
ラッシュメモリの機能と動作について説明します。
26.1 概要
26.2 セクタ / バンク構成
26.3 フラッシュメモリ自動アルゴリズムの起動方法
26.4 自動アルゴリズム実行状態の確認
26.5 フラッシュメモリの書込み / 消去
26.6 動作説明
26.7 フラッシュセキュリティ
26.8 レジスタ
26.9 使用上の注意
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
489
第 26 章 デュアルオペレーション フラッシュメモリ
26.1 概要
26.1
MB95810K シリーズ
概要
デュアルオペレーションフラッシュメモリは , 160 K ビットフラッシュメモリでは
CPU メモリマップの 0x1000 ~ 0x1FFF および 0xC000 ~ 0xFFFF に , 288 K ビット
フラッシュメモリでは CPU メモリマップの 0x1000 ~ 0x1FFF および 0x8000 ~
0xFFFF に , 480 K ビットフラッシュメモリでは CPU メモリマップの 0x1000 ~
0xFFFF に配置されています。
デュアルオペレーションフラッシュは , 上位バンクと下位バンク * で構成されており ,
従来のフラッシュ品では行えなかったバンクごとの消去 / 書込みと読出しの同時実行
が可能です。
*: MB95F818K
上位バンク : 32 K バイト × 1 + 24 K バイト × 1 下位バンク : 2 K バイト × 2
MB95F816K
上位バンク : 32 K バイト × 1, 下位バンク : 2 K バイト × 2
MB95F814K
上位バンク : 16 K バイト × 1, 下位バンク : 2 K バイト × 2
■ デュアルオペレーションフラッシュメモリの概要
フラッシュメモリへのデータの書込み / 消去の方法には , 以下の方法があります。
•
専用シリアルプログラマによる書込み / 消去
•
プログラム実行による書込み / 消去
プログラム実行によるフラッシュメモリへのデータの書込み / 消去は , フラッシュメモ
リインタフェース回路を介して CPU からの命令により実行できるため , デバイスが回
路基板に実装された状態でプログラムコードやデータを効率的に書き換えられます。
また , セクタ構成も最小 2K バイトと小セクタで , プログラム / データ領域として扱い
やすい構成になっています。
データの書換え方法は , RAM 上でのプログラム実行またはデュアルオペレーションに
おけるフラッシュメモリ上でのプログラム実行があります。また , 異なるバンク ( 上位
バンク / 下位バンク ) での消去 / 書込みと読出しの同時実行が可能です。
デュアルオペレーションフラッシュでは , 次の組合せが可能です。
上位バンク
下位バンク
読出し
読出し
書込み / セクタ消去
書込み / セクタ消去
読出し
チップ消去
490
セクタ消去 ( 消去一時中断 )
書込み
書込み
セクタ消去 ( 消去一時中断 )
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
第 26 章 デュアルオペレーション フラッシュメモリ
26.1 概要
■ デュアルオペレーションフラッシュメモリの特長
•
セクタ構成
- 20 K バイト (16 K バイト + 2 K バイト × 2)
- 36 K バイト (32 K バイト + 2 K バイト × 2)
- 60 K バイト (32 K バイト + 24 K バイト + 2 K バイト × 2)
•
2 バンク構成 , 書込み / 消去動作と読込み動作を同時に行える
•
自動アルゴリズム (Embedded Algorithm)
•
消去一時停止 / 消去再開機能を搭載
•
データポーリングフラグまたはトグルビットによる書込み / 消去完了の検出
•
CPU 割込みによる書込み / 消去完了の検出
•
セクタごとの消去が可能 ( セクタ組合せ自由 )
•
JEDEC 標準規格コマンドとの互換性
•
書込み / 消去回数 ( 最小 ):100000 回
•
フラッシュ読込みサイクルタイム ( 最小 ) :1 マシンサイクル
■ フラッシュメモリの書込み / 消去
•
フラッシュメモリは,同一バンクの書込みと読出しを同時に行うことはできません。
•
フラッシュメモリバンクのデータを書込み/消去するには,ほかのバンクまたはRAM
に書込み / 読込みプログラムをコピーしてから , そのプログラムを実行してくださ
い。
•
デュアルオペレーションフラッシュメモリにより , フラッシュメモリ上でのプログ
ラム実行および割込みを用いた書込み制御が可能となります。また , 書込みの際に
プログラムを RAM 上へダウンロードして実行する必要もなく , ダウンロードの時
間削減および RAM データの電源瞬断のケアも不要となります。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
491
第 26 章 デュアルオペレーション フラッシュメモリ
26.2 セクタ / バンク構成
MB95810K シリーズ
セクタ / バンク構成
26.2
デュアルオペレーションフラッシュメモリのセクタ / バンク構成を示します。
■ セクタ / バンク構成
図 26.2-1 に , デュアルオペレーションフラッシュメモリのセクタ / バンク構成を示しま
す。図中アドレスは , 各セクタの上位アドレスと下位アドレスを示します。
● バンク構成
フラッシュメモリの下位バンクは SA0 と SA1 で , 上位バンクは SA2 と SA3 です。
図 26.2-1 デュアルオペレーションフラッシュメモリのセクタ / バンク構成
フラッシュメモリ
(20 K バイト )
フラッシュメモリ
(36 K バイト )
フラッシュメモリ
(60 K バイト )
SA0: 2 K バイト
SA0: 2 K バイト
SA0: 2 K バイト
下位バンク
SA1: 2 K バイト
下位バンク
下位バンク
SA1: 2 K バイト
SA1: 2 K バイト
-
SA2: 24 K バイト
CPU
アドレス
0x1000
0x17FF
0x1800
0x1FFF
0x2000
0x7FFF
0x8000
上位バンク
SA3: 32 K バイト 上位バンク
SA3: 32 K バイト
0xBFFF
0xC000
SA3: 16 K バイト 上位バンク
0xFFFF
492
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 26 章 デュアルオペレーション フラッシュメモリ
26.3 フラッシュメモリ自動アルゴリズムの起
動方法
MB95810K シリーズ
26.3
フラッシュメモリ自動アルゴリズムの起動方法
フラッシュメモリ自動アルゴリズムを起動するコマンドには , 読出し / リセット , 書
込み , チップ消去 , セクタ消去の 4 種類があります。セクタ消去コマンドで , セクタ
消去の停止 / 再開ができます。
■ コマンドシーケンス表
表 26.3-1 に , フラッシュメモリの書込み / 消去時に使用するコマンドの一覧を示します。
表 26.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
493
第 26 章 デュアルオペレーション フラッシュメモリ
26.3 フラッシュメモリ自動アルゴリズムの起
動方法
MB95810K シリーズ
<注意事項>
•
表 26.3-1 にあるアドレスは , CPU メモリマップ上の値です。アドレスおよびデータは
すべて 16 進数で表記しています。ただし , "X" は任意の値です。
•
表 26.3-1 のアドレスにおける "U" は任意の値ではなく , アドレスの上位 4 ビット
(bit15 ~ bit12) を表します。
•
すべてのセクタへのデータ書込みが許可されている場合のみ , チップ消去コマンドが
受け入れられます。フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) のどのセ
クタのビットであっても , "0" に設定されている ( セクタへのデータ書込みが禁止され
ている ) 場合は , チップ消去コマンドは無視されます。
■ コマンドの発行に関する注意事項
コマンドシーケンス表の第一コマンドを発行する前に , 必要なセクタへのデータ書込
みを許可してください。
494
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 26 章 デュアルオペレーション フラッシュメモリ
26.4 自動アルゴリズム実行状態の確認
MB95810K シリーズ
自動アルゴリズム実行状態の確認
26.4
フラッシュメモリは , 自動アルゴリズムを用いて書込み / 消去のフローを実行するた
め , フラッシュメモリ内部の動作状態をハードウェアシーケンスフラグによって確
認できます。
■ ハードウェアシーケンスフラグ
● ハードウェアシーケンスフラグの概要
ハードウェアシーケンスフラグは , 以下の 5 ビットの出力で構成されます。
- データポーリングフラグ (DQ7)
- トグルビットフラグ (DQ6)
- タイミングリミットフラグ (DQ5)
- セクタ消去タイマフラグ (DQ3)
- トグルビット 2 フラグ (DQ2)
ハードウェアシーケンスフラグは , 書込みコマンド , チップ消去コマンド , あるいはセ
クタ消去コマンドが終了したかどうか , 消去コードが書き込まれたかおよび読出され
ているセクタが消去セクタであるか否かを示します。
ハードウェアシーケンスフラグの値は , コマンドシーケンス設定後にフラッシュメモ
リ内の対象セクタのアドレスにリードアクセスすることにより確認できます。ハード
ウェアシーケンスフラグは , コマンドが発行されたバンクにのみ出力されることに注
意してください。
表 26.4-1 に , ハードウェアシーケンスフラグのビット割当てを示します。
表 26.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
495
第 26 章 デュアルオペレーション フラッシュメモリ
26.4 自動アルゴリズム実行状態の確認
MB95810K シリーズ
● ハードウェアシーケンスフラグの説明
表 26.4-2 に , ハードウェアシーケンスフラグの機能を示します。
表 26.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
書込み
異常動作
496
チップ / セクタ消去
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 26 章 デュアルオペレーション フラッシュメモリ
26.4 自動アルゴリズム実行状態の確認
MB95810K シリーズ
データポーリングフラグ (DQ7)
26.4.1
データポーリングフラグ (DQ7) は , 自動アルゴリズム実行が進行中もしくは終了状
態であることをデータポーリング機能によって知らせるハードウェアシーケンスフ
ラグです。
■ データポーリングフラグ (DQ7)
表 26.4-3 と表 26.4-4 に , 正常動作時と異常動作時のそれぞれのデータポーリングフラ
グの状態遷移を示します。
表 26.4-3
データポーリングフラグの状態遷移 ( 正常動作時の状態変化 )
動作状態
書込み →
書込み完了
チップ /
セクタ
消去 →
消去完了
セクタ消去
待ち →
消去開始
消去 →
セクタ消去一時
停止
( セクタ消去実
行中 )
セクタ消去一時
停止 →
消去再開
( セクタ消去実
行中 )
セクタ消去
一時停止中
( セクタ消去
停止 )
DQ7
DQ7 →
DATA: 7
0→1
0
0
0
DATA: 7
表 26.4-4
データポーリングフラグの状態遷移 ( 異常動作時の状態変化 )
動作状態
書込み
チップ / セクタ消去
DQ7
DQ7
0
● 書込みの場合
自動書込みアルゴリズム実行中にリードアクセスを行った場合 , フラッシュメモリは
最後に書き込まれたデータの bit7 を反転させた値を DQ7 に出力します。
自動書込みアルゴリズム終了時にリードアクセスを行った場合 , フラッシュメモリは
リードアクセスを行ったアドレスの読出し値の bit7 を DQ7 に出力します。
● チップ / セクタ消去の場合
チップ / セクタ消去の自動アルゴリズム実行中に現在消去しているセクタをリードア
クセスすると , フラッシュメモリの bit7 は "0" を出力します。チップ / セクタ消去が終
了すると , フラッシュメモリの bit7 は "1" を出力します。
● セクタ消去一時停止の場合
•
セクタ消去一時停止時にリードアクセスすると , フラッシュメモリはアドレスの指
し示す番地が消去中のセクタであれば "0" を DQ7 に出力し , 消去中のセクタでなけ
ればアドレスの指し示す番地の読出し値の bit7 (DATA: 7) を DQ7 に出力します。
•
トグルビットフラグ (DQ6) とともにデータポーリングフラグ (DQ7) を参照すること
で , 現在セクタ一時停止状態であるか , どのセクタが消去中であるかの判定が可能
です。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
497
第 26 章 デュアルオペレーション フラッシュメモリ
26.4 自動アルゴリズム実行状態の確認
MB95810K シリーズ
<注意事項>
自動アルゴリズムを起動した場合は , 指定したアドレスへのリードアクセスは無視されま
す。データの読出しは , データポーリングフラグ (DQ7) が "1" に設定された後 , 可能にな
ります。自動アルゴリズム終了後のデータの読出しは , データポーリング終了を確認した
リードアクセスの後に行ってください。
498
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 26 章 デュアルオペレーション フラッシュメモリ
26.4 自動アルゴリズム実行状態の確認
MB95810K シリーズ
トグルビットフラグ (DQ6)
26.4.2
トグルビットフラグ (DQ6) は , 自動アルゴリズム実行が進行中 , もしくは終了状態
であることをトグルビット機能によって知らせるハードウェアシーケンスフラグで
す。
■ トグルビットフラグ (DQ6)
表 26.4-5 と表 26.4-6 に , 正常動作時と異常動作時のそれぞれのトグルビットフラグの
状態遷移を示します。
表 26.4-5
トグルビットフラグの状態遷移 ( 正常動作時の状態変化 )
動作状態
書込み →
書込み完了
チップ /
セクタ
消去 →
消去完了
セクタ消去
待ち →
消去開始
消去 →
セクタ消去一時
停止
( セクタ消去実
行中 )
セクタ消去一時
停止 →
消去再開
( セクタ消去実
行中 )
セクタ消去
一時停止中
( セクタ消去
停止 )
DQ6
Toggle →
DATA: 6
Toggle → 1
Toggle
Toggle → 0
0 → Toggle
DATA: 6
表 26.4-6
トグルビットフラグの状態遷移 ( 異常動作時の状態変化 )
動作状態
書込み
チップ / セクタ消去
DQ6
Toggle
Toggle
● 書込みとチップ / セクタ消去の場合
•
自動書込みアルゴリズムまたはチップ / セクタ消去の自動アルゴリズムを実行中に
リードアクセスを連続して行った場合 , フラッシュメモリは , 読出しを行うごとに
"1" と "0" を交互にトグル出力します。
•
自動書込みアルゴリズムまたはチップ / セクタ消去の自動アルゴリズムが終了した
後にリードアクセスを連続して行った場合 , フラッシュメモリは読出しを行うごと
にリードアドレスの読出し値の bit6 (DATA: 6) を出力します。
● セクタ消去一時停止時
セクタ消去一時停止時にリードアクセスすると,フラッシュメモリはアドレスの指し示
す番地が消去中のセクタに属するならば , "0" を出力します。消去中のセクタに属さな
い場合には , アドレスの指し示す番地の読出し値の bit6(DATA: 6) を出力します。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
499
第 26 章 デュアルオペレーション フラッシュメモリ
26.4 自動アルゴリズム実行状態の確認
MB95810K シリーズ
<注意事項>
デュアルオペレーションフラッシュメモリ ( フラッシュメモリ書込み制御プログラムをフ
ラッシュメモリ上で実行する ) を用いる場合 , トグルビットフラグ (DQ6) を使用して書込
み / 消去中の状態を確認することができません。
「26.9 使用上の注意」記載の注意事項を
参照の上 , プログラムを作成してください。
なお , フラッシュメモリ書込み制御プログラムを RAM 上で実行する場合は , 本注意事項
は該当しません。
500
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 26 章 デュアルオペレーション フラッシュメモリ
26.4 自動アルゴリズム実行状態の確認
MB95810K シリーズ
タイミングリミット超過フラグ (DQ5)
26.4.3
タイミングリミット超過フラグ (DQ5) は , 自動アルゴリズムの実行時間がフラッ
シュメモリ内の規定時間 ( 書込み / 消去に要する時間 ) を超えてしまったことを示す
ハードウェアシーケンスフラグです。
■ タイミングリミット超過フラグ (DQ5)
表 26.4-7 と表 26.4-8 に , 正常動作時と異常動作時のフラグそれぞれのタイミングリ
ミット超過フラグの状態遷移を示します。
表 26.4-7
タイミングリミット超過フラグの状態遷移 ( 正常動作時 )
動作状態
書込み →
書込み完了
チップ /
セクタ
消去 →
消去完了
セクタ消去
待ち →
消去開始
消去 →
セクタ消去一時
停止
( セクタ消去実
行中 )
セクタ消去一時
停止 →
消去再開
( セクタ消去実
行中 )
セクタ消去
一時停止中
( セクタ消去
停止 )
DQ5
0 → DATA: 5
0→1
0
0
0
DATA: 5
表 26.4-8
タイミングリミット超過フラグの状態遷移 ( 異常動作時 )
動作状態
書込み
チップ / セクタ消去
DQ5
1
1
● 書込みとチップ / セクタ消去時について
書込みまたはチップ / セクタ消去の自動アルゴリズム起動後にこのフラグにリードア
クセスを行うと , 自動アルゴリズム実行時間が , 規定の時間 ( 書込み / 消去に要する時
間 ) 以内であれば "0" が , また超えている場合は "1" が出力されます。
タイミングリミット超過フラグ (DQ5) は , 自動アルゴリズムが実行中か終了している
かにかかわらず , 書込み / 消去の成功または失敗を確認するために使用できます。タイ
ミングリミット超過フラグ(DQ5)が"1"で, フラッシュメモリステータスレジスタ(FSR)
のフラッシュメモリ書込み / 消去ステータスビット (RDY) が "0" ならば , 書込みは失敗
したと判断できます。
例えば , "0" が書き込まれているフラッシュメモリアドレスに "1" を書き込もうとする
と , フラッシュメモリはロックされます。この場合 , 自動アルゴリズムは終了すること
ができず , その実行時間がフラッシュメモリ内で設定された規定時間を超えてしまう
ため , タイミングリミット超過フラグ (DQ5) は "1" を出力します。DQ5 が "1" であるこ
とは , フラッシュメモリの不良ではなく , それが正しく使用されなかったことを示しま
す。DQ5 が "1" を出力する場合は , リセットコマンドを実行してください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
501
第 26 章 デュアルオペレーション フラッシュメモリ
26.4 自動アルゴリズム実行状態の確認
MB95810K シリーズ
セクタ消去タイマフラグ (DQ3)
26.4.4
セクタ消去タイマフラグ (DQ3) は , セクタ消去コマンド起動後にセクタ消去ウェイ
ト期間中であるか否かを知らせるフラグです。
■ セクタ消去タイマフラグ (DQ3)
表 26.4-9 と表 26.4-10 に , 正常動作時と異常動作時のフラグそれぞれのセクタ消去タイ
マフラグの状態遷移を示します。
表 26.4-9
セクタ消去タイマフラグの状態遷移 ( 正常動作時 )
動作状態
書込み →
書込み完了
チップ /
セクタ
消去 →
消去完了
セクタ消去
待ち →
消去開始
消去 →
セクタ消去一時
停止
( セクタ消去実
行中 )
セクタ消去一時
停止 →
消去再開
( セクタ消去実
行中 )
セクタ消去
一時停止中
( セクタ消去
停止 )
DQ3
0 → DATA: 3
1
0→1
1
1
DATA: 3
表 26.4-10
セクタ消去タイマフラグの状態遷移 ( 異常動作時 )
動作状態
書込み
チップ / セクタ消去
DQ3
0
1
● セクタ消去動作時
•
セクタ消去コマンド起動後にリードアクセスが行われると , セクタ消去タイマフラ
グ (DQ3) は , セクタ消去ウェイト期間中の場合には "0" を , セクタ消去ウェイト期
間を超えてしまっている場合には "1" を出力します。
•
データポーリング機能やトグルビット機能によって消去アルゴリズムが実行中を
示している場合に (DQ7 = 0, DQ6 はトグル出力を示す ), フラッシュメモリはセクタ
消去を行います。続けて設定されるコマンドがセクタ消去一時停止コマンドでなけ
れば , 消去が終了されるまでそのコマンドは無視されます。
•
このフラグが "0" の場合には , フラッシュメモリはセクタ消去コマンドを受付け可
能です。フラッシュメモリへのセクタ消去コマンドの書込みに先立って , セクタ消
去タイマフラグ (DQ3) が "0" であることを確かめてください。フラグが "1" であっ
た場合には , フラッシュメモリはセクタ消去コマンドの一時停止を受け付けないこ
とがあります。
● セクタ消去一時停止時
セクタ消去一時停止中にリードアクセスが行われると,フラッシュメモリはアドレスの
示す番地が消去中のセクタに属する場合には "1" を出力します。消去中のセクタに属
さない場合にはアドレスの示す番地の読出し値の bit3(DATA: 3) を出力します。
502
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 26 章 デュアルオペレーション フラッシュメモリ
26.4 自動アルゴリズム実行状態の確認
MB95810K シリーズ
トグルビット 2 フラグ (DQ2)
26.4.5
トグルビット 2 フラグ (DQ2) は , セクタ消去一時停止状態で読出しアドレスが消去
対象セクタであるか否かおよび出力データがトグルされたかどうかをトグルビット
機能によって知らせるハードウェアシーケンスフラグです
■ トグルビット 2 フラグ (DQ2)
表 26.4-11 と表 26.4-12 に , 正常動作時と異常動作時のそれぞれのトグルビット 2 フラ
グの状態遷移を示します。
表 26.4-11
トグルビット 2 フラグの状態遷移 ( 正常動作時の状態変化 )
動作状態
書込み →
書込み完了
チップ /
セクタ
消去 →
消去完了
セクタ消去
待ち →
消去開始
消去 →
セクタ消去一時
停止
( セクタ消去実
行中 )
セクタ消去一時
停止 →
消去再開
( セクタ消去実
行中 )
セクタ消去
一時停止中
( セクタ消去
停止 )
DQ2
0 → DATA: 2
Toggle → 1
Toggle
Toggle
Toggle
DATA: 2
表 26.4-12
トグルビット 2 フラグの状態遷移 ( 異常動作時の状態変化 )
動作状態
書込み
チップ / セクタ消去
DQ2
0
Toggle
● チップ / セクタ消去の場合
•
チップ / セクタ消去の自動アルゴリズムを実行中に消去対象セクタにリードアクセ
スを連続して行った場合 , フラッシュメモリはリードアクセスを行うごとに "1" と
"0" を交互にトグル出力します。
•
チップ / セクタ消去の自動アルゴリズムを実行中に消去対象ではないセクタにリー
ドアクセスを連続して行った場合 , フラッシュメモリはリードアクセスを行うごと
にリードアドレスの読出し値の bit2 (DATA: 2) を出力します。
● セクタ消去一時停止時
•
•
セクタ消去一時停止時に消去対象セクタにリードアクセスを連続して行った場合 ,
フラッシュメモリはリードアクセスを行うごとに "1" と "0" を交互にトグル出力し
ます。
セクタ消去一時停止時に消去対象ではないセクタにリードアクセスを連続して
行った場合 , フラッシュメモリはリードアクセスを行うごとにリードアドレスの読
出し値の bit2 (DATA: 2) を出力します。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
503
第 26 章 デュアルオペレーション フラッシュメモリ
26.5 フラッシュメモリの書込み / 消去
26.5
MB95810K シリーズ
フラッシュメモリの書込み / 消去
自動アルゴリズムを起動する各コマンドを入力し , フラッシュメモリに読出し / リ
セット , 書込み , チップ消去 , セクタ消去 , セクタ消去一時停止 , セクタ消去再開の
それぞれの動作を行う手順を説明します。
■ フラッシュメモリの書込み / 消去の詳細説明
自動アルゴリズムは , 読出し / リセット , 書込み , チップ消去 , セクタ消去 , セクタ消去
一時停止 , セクタ消去再開のコマンドシーケンスを CPU からフラッシュメモリに書き
込むことにより起動できます。CPU からフラッシュメモリへのコマンドシーケンスの
コマンドの書込みは , 必ず連続して行ってください。自動アルゴリズムの終了は , デー
タポーリング機能により確認できます。自動アルゴリズムの正常終了後は , フラッシュ
メモリは読出し / リセット状態に戻ります。
動作について , 以下の順序で説明します。
504
•
読出し / リセット状態への遷移
•
データの書込み
•
全データの消去 ( チップ消去 )
•
任意のデータの消去 ( セクタ消去 )
•
•
セクタ消去の一時停止
セクタ消去の再開
•
アンロックバイパス書込み
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
26.5.1
第 26 章 デュアルオペレーション フラッシュメモリ
26.5 フラッシュメモリの書込み / 消去
フラッシュメモリの読出し / リセット状態への遷移
読出し / リセットコマンドを入力して , フラッシュメモリを読出し / リセット状態に
する手順について説明します。
■ フラッシュメモリの読出し / リセット状態への遷移
•
フラッシュメモリを読出し / リセット状態にするには , コマンドシーケンス表の読
出し / リセットコマンドを CPU からフラッシュメモリに送信してください。
•
読出し / リセット状態はフラッシュメモリの初期状態であるため , フラッシュメモ
リは電源投入後またはコマンドの正常終了後は , 必ず読出し / リセット状態となり
ます。読出し / リセット状態は , コマンドの入力待ち状態でもあります。
•
読出し / リセット状態では , フラッシュメモリへのリードアクセスによって , その
データを読み出せます。
•
フラッシュメモリにリードアクセスする場合は , 読出し / リセットコマンドは必要
ありません。コマンドが正常に終了しなかった場合は , 自動アルゴリズムを初期化
するために , 読出し / リセットコマンドを使用してください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
505
第 26 章 デュアルオペレーション フラッシュメモリ
26.5 フラッシュメモリの書込み / 消去
26.5.2
MB95810K シリーズ
フラッシュメモリへのデータ書込み
書込みコマンドを入力して , フラッシュメモリにデータを書き込む手順について説
明します。
■ フラッシュメモリへのデータ書込み
•
フラッシュメモリにデータを書き込むための自動アルゴリズムを起動するには , コ
マンドシーケンス表の書込みコマンドを連続的に CPU からフラッシュメモリに送
信してください。
•
4 サイクル目に対象のアドレスへデータを書き込むと , 自動アルゴリズムが起動さ
れ自動書込みを開始します。
● アドレッシング方式
書込みは , どのようなアドレスの順番でも , セクタの境界を越えても行えます。1 回の
書込みコマンドによって書き込むことのできるデータは 1 バイトのみです。
● データ書込みに関する注意事項
•
書込みによって , ビットデータを "0" から "1" に戻すことはできません。"0" であっ
たビットデータに "1" が書き込まれると , データポーリング機能 (DQ7), あるいはト
グル動作 (DQ6) が終了せず , フラッシュメモリ素子が不良であると判断され , 自動
アルゴリズムの実行時間が規定の書込み時間を超えてしまうため , タイミングリ
ミット超過フラグ (DQ5) がエラーの発生を示すことになります。読出し / リセット
状態でデータを読み出すと , ビットデータは "0" のままとなります。ビットデータ
を "0" から "1" に戻すには , フラッシュメモリの消去を行ってください。
•
書込みの実行中は , すべてのコマンドが無視されます。
•
書込み中にハードウェアリセットが生じた場合は , その時点のアドレスに書込み中
であったデータの整合性は保証されません。チップ消去コマンドまたはセクタ消去
コマンドからデータの書込みをやり直してください。
■ フラッシュメモリ書込み手順
506
•
図 26.5-1 に , フラッシュメモリへのデータ書込み手順の例を示します。ハードウェ
アシーケンスフラグにより , フラッシュメモリ内の自動アルゴリズムの動作状態を
確認できます。この例では , データポーリングフラグ (DQ7) を使用して , フラッシュ
メモリへのデータ書込みの終了を確認しています。
•
フラグチェックのために読み出すデータは , 最後に書込みを行ったアドレスからの
読出しとなります
•
データポーリングフラグ (DQ7) およびタイミングリミット超過フラグ (DQ5) は , 同
時に変更されるため, タイミングリミット超過フラグ(DQ5)が, "1"であっても, デー
タポーリングフラグ (DQ7) を確認してください。
•
同様に , トグルビットフラグ (DQ6) は , タイミングリミット超過フラグ (DQ5) が ,
"1" に変化すると同時にトグルを停止するため , DQ5 が "1" に変化した後に , DQ6 を
確認してください。
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 26 章 デュアルオペレーション フラッシュメモリ
26.5 フラッシュメモリの書込み / 消去
MB95810K シリーズ
図 26.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
507
第 26 章 デュアルオペレーション フラッシュメモリ
26.5 フラッシュメモリの書込み / 消去
26.5.3
MB95810K シリーズ
フラッシュメモリの全データ消去 ( チップ消去 )
チップ消去コマンドを発行して , フラッシュメモリの全データを消去する手順につ
いて説明します。
■ フラッシュメモリからのデータ消去 ( チップ消去 )
•
フラッシュメモリから全データを消去するには , コマンドシーケンス表のチップ消
去コマンドを連続的に CPU からフラッシュメモリに送信してください。
•
チップ消去コマンドは , 6 回のバス動作で実行されます。チップ消去は , 書込みコマ
ンドの 6 サイクル目が完了した時点で開始します。
•
チップ消去では , データ消去を開始する前にユーザがフラッシュメモリにデータを
書き込む必要はありません。自動消去アルゴリズム実行中には , フラッシュメモリ
はデータを消去する前にフラッシュメモリのすべてのセルに "0" を自動的に書き込
んでから消去します。
■ チップ消去に関する注意事項
508
•
すべてのセクタへのデータ書込みが許可されている場合のみチップ消去コマンド
が受け付けられます。フラッシュメモリ書込み制御レジスタ 0 (SWRE0) 内の 1 セク
タでもビットが "0" に設定 ( 当該セクタへのデータ書込みが禁止 ) されている場合
は , チップ消去コマンドは無視されます。
•
チップ消去中にハードウェアリセットが生じた場合は , フラッシュメモリ内のデー
タの整合性は保証されません。
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
26.5.4
第 26 章 デュアルオペレーション フラッシュメモリ
26.5 フラッシュメモリの書込み / 消去
フラッシュメモリの特定データ消去 ( セクタ消去 )
フラッシュメモリの特定セクタの消去のため , セクタ消去コマンドを入力する手順
を説明します。セクタ別消去が可能で , かつ同時に複数のセクタも指定できます。
■ フラッシュメモリの特定データ消去 ( セクタ消去 )
フラッシュメモリの特定セクタからデータを消去するには , コマンドシーケンス表の
セクタ消去コマンドを連続的に CPU からフラッシュメモリに送信してください。
● セクタの指定
•
セクタ消去コマンドは 6 回のバス動作で行われます。6 サイクル目のアドレスに消
去対象のセクタ内のアドレスを指定し , データとしてセクタ消去コード (0x30) を書
き込むことにより最小 35 µs のセクタ消去待ち時間が開始します。
•
複数のセクタを消去する場合は , 上記に続き消去する消去対象のセクタ内のアドレ
スに消去コード (0x30) を書き込んでください。
● 複数セクタ指定する場合の注意事項
•
最後のセクタ消去コードの書込みから最小 35 µs のセクタ消去待ち時間終了後 , 消
去が開始します。
•
複数のセクタを同時に消去する場合は , 消去セクタのアドレスと消去コード ( コマ
ンドシーケンス 6 サイクル目 ) を 35 µs 以内に入力してください。35 µs が経過した
後に消去コードを入力した場合は , セクタ消去待ち時間終了により消去コードは受
け付けられません。
•
セクタ消去コードの連続書込みが有効であるかどうかは , セクタ消去タイマフラグ
(DQ3) で確認できます。
•
セクタ消去タイマフラグ (DQ3) を読み出す場合のアドレスには , 消去しようとして
いるセクタを指定してください。
■ フラッシュメモリセクタ消去手順
•
•
•
フラッシュメモリの自動アルゴリズムの状態をチェックするためにハードウェア
シーケンスフラグを使用できます。図 26.5-2 に , フラッシュメモリセクタ消去手順
の例を示します。この例では , トグルビットフラグ (DQ6) を , セクタ消去の終わり
を確認するために使用します。
トグルビットフラグ (DQ6) は , タイミングリミット超過フラグ (DQ5) が "1" に変更
されると同時に , 出力のトグルを停止します。タイミングリミット超過フラグ
(DQ5) が "1" であっても , トグルビットフラグ (DQ6) を確認してください。
データポーリングフラグ (DQ7) とタイミングリミット超過フラグ (DQ5) は同時に変
化するため , データポーリングフラグ (DQ7) を確認してください。
■ セクタデータ消去の注意事項
データ消去中に , ハードウェアリセットが起こると , フラッシュメモリ内のデータの整
合性は保証されません。ハードウェアリセットが発生した後に , 再度セクタ消去手順を
実行してください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
509
第 26 章 デュアルオペレーション フラッシュメモリ
26.5 フラッシュメモリの書込み / 消去
MB95810K シリーズ
図 26.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
フラッシュメモリ消去禁止
消去完了
510
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
第 26 章 デュアルオペレーション フラッシュメモリ
26.5 フラッシュメモリの書込み / 消去
フラッシュメモリセクタ消去の一時停止
26.5.5
フラッシュメモリのセクタ消去を一時停止するためにセクタ消去一時停止コマンド
を入力する手順を説明します。消去実行中でないセクタからはデータの読出しが可
能です。
■ フラッシュメモリのセクタ消去の一時停止
•
フラッシュメモリセクタ消去を一時停止させるには , コマンドシーケンス表のフ
ラッシュメモリセクタ消去一時停止コマンドを CPU からフラッシュメモリに送信
します。
•
セクタ消去一時停止コマンドは , セクタ消去中に消去を一時停止し , 消去中でない
セクタからデータを読み出せます。
•
セクタ消去一時停止コマンドは , 消去待ち時間を含むセクタ消去時間においてのみ
許可されます。チップ消去時 , あるいは書込み時には , 本コマンドは無視されます。
•
セクタ消去一時停止コマンドは, 消去一時停止コード (0xB0) を書き込むことで実行
されます。このときのアドレスは , 消去指定したセクタ内の任意のアドレスを設定
してください。消去一時停止中に再度 , セクタ消去一時停止コマンドを実行した場
合 , 再度入力したコマンドは無視されます。
•
セクタ消去ウェイト期間中に , セクタ消去一時停止コマンドを入力した場合 , 直ち
にセクタ消去ウェイトを終了し , 消去動作を中断して消去停止状態になります。
•
セクタ消去待ち期間後のセクタ消去中に , セクタ消去一時停止コマンドが入力され
ると , 最大 35 µs 後に消去一時停止状態となります。
<注意事項>
セクタ消去一時停止コマンドを発行する場合,セクタ消去コマンド発行後35 µs + 2 MCLK
( マシンクロック ) 以上経過してから発行してください。
また , セクタ消去再開コマンドによりセクタ消去再開後 , 再びセクタ消去一時停止コマン
ドを発行する場合 , セクタ消去再開コマンド発行後 2 ms 以上経過してから発行してくだ
さい。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
511
第 26 章 デュアルオペレーション フラッシュメモリ
26.5 フラッシュメモリの書込み / 消去
26.5.6
MB95810K シリーズ
フラッシュメモリセクタ消去の再開
フラッシュメモリのセクタ消去の一時停止を再開するためのセクタ消去再開コマン
ドを入力する手順を説明します。
■ フラッシュメモリのセクタ消去の再開
512
•
一時停止しているセクタ消去を再開するには , コマンドシーケンス表のセクタ消去
再開コマンドを CPU からフラッシュメモリに送信してください。
•
セクタ消去再開コマンドは , セクタ消去一時停止コマンドで中断したセクタ消去動
作を再開します。セクタ消去再開コマンドは , 消去再開コード (0x30) を書き込むこ
とによって実行されますが , アドレスは消去を指定したセクタ内の任意のアドレス
を指定してください。
•
セクタ消去中は , セクタ消去再開コマンド入力は無視さます。
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
26.5.7
第 26 章 デュアルオペレーション フラッシュメモリ
26.5 フラッシュメモリの書込み / 消去
アンロックバイパス書込み
アンロックバイパス状態を説明します。
■ ノーマルコマンド状態からアンロックバイパス状態への遷移
ノーマルコマンド状態でアンロックバイパス書込みコマンドが入力されると , フラッ
シュメモリはアンロックバイパス状態に遷移します。アンロックバイパス状態では , 書
込みコマンドが表 26.3-1 のように 2 サイクルで書込みコマンドを実行できます。
■ アンロックバイパス状態からノーマルコマンド状態への復帰
アンロックバイパス状態でアンロックバイパスリセットコマンドが入力されると , フ
ラッシュメモリはアンロックバイパス状態からノーマルコマンド状態に復帰します。
また , アンロックバイパス状態で , ハードウェアリセットを実行することによっても ,
フラッシュメモリはノーマルコマンド状態に復帰します。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
513
第 26 章 デュアルオペレーション フラッシュメモリ
26.6 動作説明
26.6
MB95810K シリーズ
動作説明
デュアルオペレーションフラッシュを使用する際には , 以下について注意してくだ
さい。
• 上位バンクの書換え時における割込み発生
• フラッシュメモリステータスレジスタのセクタ変換許可ビット (FSR:SSEN) の設
定手順
■ 上位バンクの書換え時における割込み発生
デュアルオペレーションフラッシュは , 2 つのバンクで構成されていますが , 従来のフ
ラッシュ同様 , 同一バンクでの消去 / 書込みと読出しの実行は行えません。
SA3 には割込みベクタがあるため , 上位バンク書込み時に割込みが発生した場合には
CPU からの割込みベクタを正常に読み出せません。上位バンクの書換えを行う際には
セクタ変換許可ビットを "1" に設定 (FSR:SSEN = 1) してください。そのため , 割込み発
生時は , SA1 に割込みベクタのデータを読み出すため , FSR:SSEN ビットを "1" に設定す
る前に SA1 と SA3 に同じデータをコピーしておいてください。
■ セクタ変換許可ビット (FSR:SSEN) の設定手順
図 26.6-1 に , セクタ変換許可ビット (FSR:SSEN) の設定手順例を示します。
上位バンクのデータを書き換える際には , FSR:SSEN ビットを "1" に設定してください。
また , フラッシュメモリへの書込み中に FSR:SSEN ビットの設定変更は禁止です。
FSR:SSEN ビットの設定は必ずフラッシュメモリへの書込み開始前または終了後に
行ってください。また , FSR:SSEN ビットを設定する前に , フラッシュメモリの割込み
を禁止とし , FSR:SSEN ビットを設定した後に , フラッシュメモリの割込みを許可して
ください。
図 26.6-1 セクタ変換許可ビット (FSR:SSEN) の設定手順例
フラッシュデータ書換え開始
下位バンクのデータ書換え
書込み作業開始
上位バンクのデータ書換え
SA3のデータを
SA1にコピー
FSR:SSENを“1”に設定
書込み作業開始
フラッシュデータ書換え終了
フラッシュデータ書換え終了
FSR:SSENを“0”に設定
514
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
第 26 章 デュアルオペレーション フラッシュメモリ
26.6 動作説明
■ 書込み / 消去中の動作について
フラッシュメモリへの書込み / 消去中に割込みが発生した場合 , 割込みルーチン内でフ
ラッシュメモリへの書込みは禁止されています。
書込み / 消去ルーチンが複数存在する場合 , その書込み / 消去ルーチンが完了してから
ほかの書込み / 消去ルーチンを実行するようにしてください。
フラッシュメモリへの書込み / 消去中に , 書込み / 消去中のモード ( クロックモードお
よびスタンバイモード ) から状態遷移することは禁止されています。書込み / 消去終了
後に状態遷移するようにしてください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
515
第 26 章 デュアルオペレーション フラッシュメモリ
26.7 フラッシュセキュリティ
26.7
MB95810K シリーズ
フラッシュセキュリティ
フラッシュセキュリティコントローラ機能により , フラッシュメモリの内容が外部
端子から読み出されることを防ぎます。
■ フラッシュセキュリティ
フラッシュメモリアドレス (0xFFFC) に保護コード "0x01" を書き込むと , フラッシュメ
モリへのアクセスが制限され , どの外部端子からもフラッシュメモリへの読出し / 書込
みアクセスができなくなります。フラッシュメモリが一度保護されると , チップ消去コ
マンドを実行するまでこの機能のロックを解除することはできません。
保護コードは, フラッシュプログラミングの最後にコーディングしてください。これは,
プログラミング中の不要な保護を回避するためです。
フラッシュメモリを一度保護すると , 再度フラッシュメモリにデータを書き込めるよ
うにするにはチップ消去が必要になります。
516
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
26.8
第 26 章 デュアルオペレーション フラッシュメモリ
26.8 レジスタ
レジスタ
デュアルオペレーションフラッシュメモリのレジスタについて説明します。
表 26.8-1
デュアルオペレーションフラッシュメモリのレジスタ一覧
レジスタ略称
レジスタ名
参照先
FSR2
フラッシュメモリステータスレジスタ 2
26.8.1
FSR
フラッシュメモリステータスレジスタ
26.8.2
SWRE0
フラッシュメモリセクタ書込み制御レジスタ 0
26.8.3
FSR3
フラッシュメモリステータスレジスタ 3
26.8.4
FSR4
フラッシュメモリステータスレジスタ 4
26.8.5
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
517
第 26 章 デュアルオペレーション フラッシュメモリ
26.8 レジスタ
26.8.1
MB95810K シリーズ
フラッシュメモリステータスレジスタ 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" を書き込んだ場合
動作に影響はありません。
518
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
第 26 章 デュアルオペレーション フラッシュメモリ
26.8 レジスタ
[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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
519
第 26 章 デュアルオペレーション フラッシュメモリ
26.8 レジスタ
MB95810K シリーズ
[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" を書き込んだ場合
動作に影響はありません。
520
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 26 章 デュアルオペレーション フラッシュメモリ
26.8 レジスタ
MB95810K シリーズ
26.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
521
第 26 章 デュアルオペレーション フラッシュメモリ
26.8 レジスタ
MB95810K シリーズ
[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: セクタスワップ許可ビット
このビットは割込みベクタが存在する領域である上位バンクに位置する SA3 の一部を , 下位バンク
に位置する SA1 と入れ替えるために使用します。
bit0
説明
"0" を書き込んだ場合
SA1 を 0x1800 ~ 0x1FFF に , SA3 の 2K バイトを 0xF800 ~ 0xFFFF にマッピン
グします。
"1" を書き込んだ場合
SA3 の 2K バイトを 0x1800 ~ 0x1FFF に , SA1 を 0xF800 ~ 0xFFFF にマッピン
グします。
522
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 26 章 デュアルオペレーション フラッシュメモリ
26.8 レジスタ
MB95810K シリーズ
図 26.8-1 FSR:SSEN 設定値におけるアクセスセクタマップ
MB95F814K
MB95F816K
MB95F818K
0x1000
SA0: 2 Kバイト
0x17FF
0x1800
SA1: 2 Kバイト
0x1FFF
0x2000
SA0: 2 Kバイト
SA3: 2 Kバイト
CPUアドレス
0x1000
SA0: 2 Kバイト
0x17FF
0x1800
SA1: 2 Kバイト
0x1FFF
0x2000
-
-
SA0: 2 Kバイト
SA3: 2 Kバイト
下位バンク
CPUアドレス
下位バンク
下位バンク
CPUアドレス
0x1000
SA0: 2 Kバイト
0x17FF
0x1800
SA1: 2 Kバイト
0x1FFF
0x2000
SA2: 24 Kバイト
-
SA0: 2 Kバイト
SA3: 2 Kバイト
SA2: 24 Kバイト
-
0x7FFF
0x8000
上位バンク
上位バンク
0x7FFF
0x8000
上位バンク
0xBFFF
0xC000
SA3: 30 Kバイト
SA3: 30 Kバイト
SA3: 32 Kバイト
SA3: 32 Kバイト
SA3: 14 Kバイト
SA3: 16 Kバイト
0xF7FF
割込み 0xF800
ベクタ
0xFFFF
SA1: 2 Kバイト
FSR:SSEN=0
MN702-00012-2v0-J
FSR:SSEN=1
0xF7FF
0xF800
0xFFFF
SA1: 2 Kバイト
FSR:SSEN=0
FSR:SSEN=1
FUJITSU SEMICONDUCTOR LIMITED
0xF7FF
0xF800
0xFFFF
SA1: 2 Kバイト
FSR:SSEN=0
FSR:SSEN=1
523
第 26 章 デュアルオペレーション フラッシュメモリ
26.8 レジスタ
26.8.3
MB95810K シリーズ
フラッシュメモリセクタ書込み制御レジスタ 0
(SWRE0)
フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) は , フラッシュメモリイン
タフェースにあるレジスタで , フラッシュメモリの誤書込み防止機能の設定を行う
際に使用します。
フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) には , 個々のセクタ (SA3 ~
SA0) へのデータ書込みを許可 / 禁止するためのビットがあります。各ビットの初期値
は "0" で , 書込み禁止の状態です。SWRE0 のビットに "1" を書き込むと , そのビットに
対応するセクタへのデータ書込みが許可されます。SWRE0 のビットに "0" を書き込む
と , そのビットに対応するセクタへの誤ったデータ書込みが防止されます。SWRE0 の
ビットに "0" を書き込むと , その後そのビットに "1" を書き込んでも , そのビットに対
応するセクタへのデータを書き込むことはできません。再度書き込む場合はリセット
してください。
SWRE0 への書込みは , 必ずバイト書込みで行ってください。ビット操作命令での設定
は禁止となります。
■ レジスタ構成
bit
7
6
5
4
3
2
1
0
Field
予約
予約
予約
予約
SA3E
SA2E
SA1E
SA0E
属性
W
W
W
W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
■ レジスタ機能
[bit7:4] 予約ビット
これらのビットは常に "0" に設定してください。
[bit3:0] SA3E, SA2E, SA1E, SA0E: 書込み機能セットアップビット
これらのビットは , データが誤ってフラッシュメモリのセクタに書き込まれることを防止する機能
を設定するために使用されます。SWRE0 のビットに "1" を書き込むと , そのビットに対応するセク
タにデータを書き込むことが可能になります。
SWRE0 のビットに "0" を書き込むことにより , そのビットに対応するセクタに誤ってデータが書き
込まれることを防止します。また , リセットにより , そのビットが "0" に初期化されます ( 書込み禁
止 )。
書込み機能設定ビットとそれらに対応するフラッシュメモリセクタの一覧
524
ビット名
対応するフラッシュメモリセクタ
SA3E
SA3
SA2E
SA2
SA1E
SA1
SA0E
SA0
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 26 章 デュアルオペレーション フラッシュメモリ
26.8 レジスタ
MB95810K シリーズ
SAxE (x = 0, 1, 2 または 3) の設定とそれに対応する書込み機能 :
• 書込み禁止 (SAxE = 0):
フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) の SAxE ビットに "0" が書き込まれてい
ない状態で , セクタに対応する SAxE ビットに "1" を書き込むことによって , セクタへのデータ書
込みを許可します。( これはリセットされた後の状態です。)
• 書込み許可 (SAxE = 1):
SAxE ビットに対応するセクタへデータを書き込めます。
• 誤書込み防止 (SAxE = 0):
フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) の SAxE ビットに "0" が書き込まれた状
態で , セクタに対応する SAxE ビットを "1" に書き込んでも , そのセクタへのデータ書込みは許可
できません。
図 26.8-2 フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) による
フラッシュメモリの書込み禁止 , 書込み許可 , 誤書込み防止の状態例
レジスタへの
書込み
初期化
レジスタへの
書込み
初期化
RST
書込み禁止
書込み許可
誤書込み防止
書込み禁止
SA0E
書込み禁止
誤書込み防止
書込み禁止
書込み禁止
書込み許可
書込み禁止
SA1E
SA2E
書込み禁止
書込み許可
誤書込み防止
書込み禁止
SA3E
■ SWRE0 レジスタの設定上の注意
FSR:SSEN が "0" である場合 , フラッシュメモリの SA0 (0x1000 ~ 0x17FF), あるいは
SA1 (0x1800 ~ 0x1FFF) へのデータ書込み / データ消去を行うには , 最初に , SWRE0 レ
ジスタの SA0E と SA1E の両方に "1" を設定してください。
FSR:SSEN が "1" である場合 , データ書込み / データ消去を行うには , SWRE0 レジスタ
の SA0E, SA1E, SA2E, SA3E ビットをすべて "1" に設定してください。
フラッシュメモリのセクタマップの詳細に関しては , 図 26.2-1 および図 26.8-1 を参照
してください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
525
第 26 章 デュアルオペレーション フラッシュメモリ
26.8 レジスタ
26.8.4
MB95810K シリーズ
フラッシュメモリステータスレジスタ 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" が読み出された場合
フラッシュメモリの書込みが実行中であることを示します。
526
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
第 26 章 デュアルオペレーション フラッシュメモリ
26.8 レジスタ
[bit0] HANG: フラッシュメモリハングアップステータスビット
このビットはフラッシュメモリの誤動作の有無を示します。
bit0
説明
"0" が読み出された場合
それまでコマンド入力の誤動作がないことを示します。
"1" が読み出された場合
コマンド入力の誤動作が発生していることを示します。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
527
第 26 章 デュアルオペレーション フラッシュメモリ
26.8 レジスタ
26.8.5
MB95810K シリーズ
フラッシュメモリステータスレジスタ 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) による割込みを許可しま
す。
528
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
第 26 章 デュアルオペレーション フラッシュメモリ
26.8 レジスタ
[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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
529
第 26 章 デュアルオペレーション フラッシュメモリ
26.8 レジスタ
MB95810K シリーズ
■ フラッシュメモリステータスレジスタ 2, フラッシュメモリステータスレジスタ 3,
フラッシュメモリステータスレジスタ 4 および RDY ビット (FSR:RDY) の状態例
図 26.8-3 FSR2:PGMEND ( フラッシュメモリ書込み中 )
書込みコマンド
書込みEND
FSR:RDY
FSR3:PGMS
FSR3:SERS
FSR3:ESPS
FSR3:HANG
FSR2:PGMEND
図 26.8-4 FSR2:PGMTO ( フラッシュメモリ書込み失敗時 )
書込みコマンド
書込みタイムアウト
リセットコマンド
FSR:RDY
FSR3:PGMS
FSR3:SERS
FSR3:ESPS
FSR3:HANG
FSR2:PGMTO
図 26.8-5 FSR2:ERSEND ( フラッシュメモリセクタ消去時 )
セクタ消去コマンド
セクタ消去END
FSR:RDY
FSR3:PGMS
FSR3:SERS
FSR3:ESPS
FSR3:HANG
FSR2:ERSEND
530
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 26 章 デュアルオペレーション フラッシュメモリ
26.8 レジスタ
MB95810K シリーズ
図 26.8-6 FSR2:ERSTO ( フラッシュメモリセクタ消去失敗時 )
セクタ消去タイムアウト
セクタ消去コマンド
リセットコマンド
FSR:RDY
FSR3:PGMS
FSR3:SERS
FSR3:ESPS
FSR3:HANG
FSR2:ERSTO
図 26.8-7 FSR2:PGMEND, FSR2:ERSEND
( フラッシュメモリセクタ消去一時停止中のフラッシュメモリ書込み )
セクタ消去 セクタ消去
コマンド
一時停止
コマンド
書込み
コマンド
セクタ消去
一時停止解除
コマンド
FSR:RDY
FSR3:PGMS
FSR3:SERS
FSR3:ESPS
FSR3:HANG
FSR2:PGMEND
FSR2:ERSEND
図 26.8-8 FSR2:PGMTO, FSR2:ERSEND
( フラッシュメモリセクタ消去一時停止中のフラッシュメモリ書込み )
セクタ消去
コマンド
セクタ消去
一時停止
コマンド
書込み
コマンド
書込み
タイムアウト
リセット
コマンド
セクタ消去
一時停止解除
コマンド
FSR:RDY
FSR3:PGMS
FSR3:SERS
FSR3:ESPS
FSR3:HANG
FSR2:PGMTO
FSR2:ERSTO
FSR2:ERSEND
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
531
第 26 章 デュアルオペレーション フラッシュメモリ
26.8 レジスタ
MB95810K シリーズ
図 26.8-9 FSR2:ERSEND ( フラッシュメモリセクタ消去一時停止中のフラッシュメモリ読出し )
セクタ消去
コマンド
セクタ消去
一時停止
コマンド
リセットコマンド
(読出し)
セクタ消去
一時停止解除
コマンド
FSR:RDY
FSR3:PGMS
FSR3:SERS
影響なし
FSR3:ESPS
FSR3:HANG
FSR2:ERSEND
図 26.8-10 FSR2:PGMEND, FSR2:ERSTO ( セクタ消去再開後のフラッシュメモリセクタ消去失敗時 )
セクタ消去
コマンド
セクタ消去
一時停止
コマンド
書込み
コマンド
セクタ消去
一時停止解除
コマンド
セクタ消去
タイムアウト
リセット
コマンド
FSR:RDY
FSR3:PGMS
FSR3:SERS
FSR3:ESPS
FSR3:HANG
FSR2:PGMEND
FSR2:ERSTO
図 26.8-11 FSR4:CERTO ( チップ消去失敗時 )
チップ消去
コマンド
リセット
コマンド
チップ消去
タイムアウト
FSR:RDY
FSR3:CERS
FSR3:HANG
FSR4:CERTO
532
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 26 章 デュアルオペレーション フラッシュメモリ
26.8 レジスタ
MB95810K シリーズ
図 26.8-12 FSR4:CEREND ( チップ消去中 )
チップ消去
コマンド
チップ消去
終了
FSR:RDY
FSR3:CERS
FSR3:SERS
FSR4:CEREND
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
533
第 26 章 デュアルオペレーション フラッシュメモリ
26.8 レジスタ
MB95810K シリーズ
■ フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) フローチャート
FSR:WRE を "1" に設定してフラッシュメモリの書込みを可能にし , フラッシュメモリ
セクタ書込み制御レジスタ 0 (SWRE0) のセクタに対応するビットに "1" または "0" を
設定することで , それぞれ許可 / 禁止を設定できます。
図 26.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
フラッシュメモリ書込み禁止
書込み完了
534
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
第 26 章 デュアルオペレーション フラッシュメモリ
26.8 レジスタ
■ (FSR:WRE) 設定上の注意事項
フラッシュメモリに書き込む際には , WRE ビットを "1" に設定し , 書込み許可にして
からフラッシュメモリセクタ書込み制御レジスタ0 (SWRE0)の設定を行ってください。
WRE ビットが書込み禁止 ("0") の場合 , フラッシュメモリセクタ書込み制御レジスタ 0
(SWRE0) のセクタに対応するビットを書込み許可 ("1") にしても , セクタへの書込み動
作は行われません。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
535
第 26 章 デュアルオペレーション フラッシュメモリ
26.9 使用上の注意
26.9
MB95810K シリーズ
使用上の注意
デュアルオペレーションフラッシュメモリ使用上の注意を示します。
■ トグルビットフラグ (DQ6) に関する制限事項
デュアルオペレーションフラッシュメモリ ( フラッシュメモリ書込み制御プログラム
をフラッシュメモリ上で実行する ) を用いる場合 , トグルビットフラグ (DQ6) を使用し
て書込み / 消去中の状態を確認することができません。このため , フラッシュメモリへ
の書込み , セクタ消去実行後のフラッシュメモリ内部動作状態は , 図 26.5-1 および図
26.5-2 の例を参考にデータポーリングフラグ (DQ7) を用いて確認してください。
なお , フラッシュ書込み制御プログラムを RAM 上で実行する場合は , 本注意事項は該
当しません。
536
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 27 章
不揮発性レジスタ (NVR)
インタフェース
NVR インタフェースの機能と動作について説明し
ます。
27.1 概要
27.2 構成
27.3 レジスタ
27.4 メイン CR クロックトリミング使用上の注意
27.5 使用上の注意
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
537
第 27 章 不揮発性レジスタ (NVR) インタフェース
27.1 概要
27.1
MB95810K シリーズ
概要
システム情報やオプション設定を格納する不揮発性レジスタ (NVR) 領域は , フラッ
シュメモリにおける予約領域です。リセット後 , NVR フラッシュ領域のデータは読
み出され , NVR I/O 領域のレジスタに格納されます。MB95810K シリーズでは ,
NVR インタフェースを用いて以下のデータを保存します。
• メイン CR クロックのコアーストリミング値 (5 ビット )
• メイン CR クロックのファイントリミング値 (5 ビット )
• ウォッチドッグタイマ選択 ID (16 ビット )
• メイン CR クロックの温度依存調整値 (5 ビット )
■ NVR インタフェースの機能
NVR インタフェースには , 以下のような機能があります。
1. NVRインタフェースはリセット後, NVRフラッシュ領域からすべてのデータを取り
出し , NVR I/O 領域のレジスタに格納します ( 図 27.1-1 と図 27.2-1 を参照 )。
2. NVRインタフェースにより, ユーザは, CRトリミング設定の初期値を確認できます。
3. NVR インタフェースにより , ユーザは , 16 ビットのウォッチドッグタイマ選択 ID
を変更し , ハードウェアウォッチドッグタイマまたはソフトウェアウォッチドッグ
タイマを選択できます (CPU の稼働中は , ウォッチドッグタイマ選択 ID を変更でき
ません )。
図 27.1-1 に , リセット中の NVR の読出しを示します。
図 27.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
(フラッシュ領域)
メモリマップ
538
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 27 章 不揮発性レジスタ (NVR) インタフェース
27.2 構成
MB95810K シリーズ
27.2
構成
NVR インタフェースは , 以下のブロックで構成されます。
• メイン CR クロックのトリミング (CRTH と CRTL)
• ウォッチドッグタイマ選択 ID(WDTH と WDTL)
• メイン CR 温度依存調整 (CRTDA)
■ NVR インタフェースのブロックダイヤグラム
図 27.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-00012-2v0-J
WDTL5
WDTL4
WDTL3
WDTL2
WDTL1
WDTL0
FUJITSU SEMICONDUCTOR LIMITED
539
第 27 章 不揮発性レジスタ (NVR) インタフェース
27.3 レジスタ
27.3
MB95810K シリーズ
レジスタ
NVR インタフェースのレジスタについて説明します。
表 27.3-1 NVR インタフェースのレジスタ一覧
レジスタ略称
540
レジスタ名
参照先
CRTH
メイン CR クロックトリミングレジスタ ( 上位 )
27.3.1
CRTL
メイン CR クロックトリミングレジスタ ( 下位 )
27.3.2
CRTDA
メイン CR クロック温度依存調整レジスタ
27.3.3
WDTH
ウォッチドッグタイマ選択 ID レジスタ ( 上位 )
27.3.4
WDTL
ウォッチドッグタイマ選択 ID レジスタ ( 下位 )
27.3.4
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 27 章 不揮発性レジスタ (NVR) インタフェース
27.3 レジスタ
MB95810K シリーズ
27.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 クロックの値の変更に関する注意事項について
は , それぞれ「27.4 メイン CR クロックトリミング使用上の注意」と「27.5 使用上の注意」を参照
してください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
541
第 27 章 不揮発性レジスタ (NVR) インタフェース
27.3 レジスタ
27.3.2
MB95810K シリーズ
メイン 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 クロックの値の変更に関する注意事項について
は , それぞれ「27.4 メイン CR クロックトリミング使用上の注意」と「27.5 使用上の注意」を参照
してください。
542
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 27 章 不揮発性レジスタ (NVR) インタフェース
27.3 レジスタ
MB95810K シリーズ
27.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 クロックの値の変更に関する注意事項について
は , それぞれ「27.4 メイン CR クロックトリミング使用上の注意」と「27.5 使用上の注意」を参照
してください。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
543
第 27 章 不揮発性レジスタ (NVR) インタフェース
27.3 レジスタ
27.3.4
MB95810K シリーズ
ウォッチドッグタイマ選択 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 の稼働中は , これらのビットを変更できません。
ウォッチドッグタイマ選択については , 表 27.3-2 を参照してください。
NVR 値の書込みに関する注意事項については , 「27.5 使用上の注意」を参照してください。
■ WDTL レジスタの機能
[bit7:0] WDTL[7:0]: ウォッチドッグタイマ選択 ID ( 下位 ) ビット
これらのビットはリセット後 , フラッシュアドレス 0xFFBF (bit7:0) からロードされます。これらの
ビットの初期値は , NVR フラッシュ領域にプリロードされた値により決まります。
CPU の稼働中は , これらのビットを変更できません。
ウォッチドッグタイマ選択については , 表 27.3-2 を参照してください。
NVR 値の書込みに関する注意事項については , 「27.5 使用上の注意」を参照してください。
表 27.3-2 ウォッチドッグタイマ選択 ID レジスタ
WDTH[7:0], WDTL[7:0]
544
説明
0xA596
ハードウェアウォッチドッグタイマは無効になり , ソフトウェアウォッチドッグタ
イマは有効になります。
0xA597
ハードウェアウォッチドッグタイマが選択され , ソフトウェアウォッチドッグタイ
マは無効になります。
スタンバイモード ( ストップモード , スリープモード , タイムベースタイマモードお
よび時計モード ) でハードウェアウォッチドッグタイマは動作を停止します。
上記以外の値
ハードウェアウォッチドッグタイマが選択され , ソフトウェアウォッチドッグタイ
マは無効になります。
スタンバイモード ( ストップモード , スリープモード , タイムベースタイマモードお
よび時計モード ) でハードウェアウォッチドッグタイマは動作を継続します。
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 27 章 不揮発性レジスタ (NVR) インタフェース
27.4 メイン CR クロックトリミング使用上の注意
MB95810K シリーズ
27.4
メイン CR クロックトリミング使用上の注意
メイン CR クロックトリミング使用上の注意を示します。
ハードウェアリセット後 , 10 ビットのメイン CR クロックトリミング値と 5 ビットの
温度依存調節値は , NVR フラッシュ領域から NVR I/O 領域のレジスタへとロードされ
ます。
表 27.4-1 に , メイン CR クロックトリミングの変更幅を示します。
表 27.4-1 メイン CR クロックトリミングの変更幅
機能
コアーストリミング値
CRTH[4:0]
ファイントリミング値
CRTL[4:0]
周波数が最小となる値
0b11111
0b11111
周波数が最大となる値
0b00000
0b00000
変更幅
220 kHz ~ 300 kHz
14 kHz ~ 20 kHz
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
545
第 27 章 不揮発性レジスタ (NVR) インタフェース
27.4 メイン CR クロックトリミング使用上の注意
MB95810K シリーズ
図 27.4-1 に , メイン CR クロック周波数とトリミング変更幅の関係を示します。
図 27.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])
546
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
27.5
使用上の注意
第 27 章 不揮発性レジスタ (NVR) インタフェース
27.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
547
第 27 章 不揮発性レジスタ (NVR) インタフェース
27.5 使用上の注意
548
MB95810K シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 28 章
コンパレータ
コンパレータの機能と動作について説明します。
28.1 概要
28.2 構成
28.3 専用 BGR
28.4 端子
28.5 割込み
28.6 動作説明と設定手順例
28.7 レジスタ
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
549
第 28 章 コンパレータ
28.1 概要
28.1
MB95810K シリーズ
概要
コンパレータは 2 つのアナログ入力電圧を監視し , コンパレータ出力エッジの変化を
検出すると自動的に割込みを発生させます。
■ コンパレータの機能
コンパレータには2つのアナログ外部入力電圧を監視し, それらを比較するという機能
があります。コンパレータは反転アナログ入力電圧 ( 負入力 ) または専用 BGR の電圧
を基準電圧として使用し , 非反転アナログ入力電圧 ( 正入力 ) が基準電圧よりも高けれ
ば "H" レベルを , そうでなければ "L" レベルを出力します。さらに , コンパレータ出力
の立上りエッジまたは立下りエッジを検出すると , コンパレータは対応する割込みを
出力します。
550
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 28 章 コンパレータ
28.2 構成
MB95810K シリーズ
28.2
構成
コンパレータモジュール全体は以下のブロックで構成されます。
• コンパレータ
• エッジ検出回路
• コンパレータ制御レジスタ ch. n (CMRn)
品種により , コンパレータの端子数およびチャネル数は異なります。詳細は , デバイス
のデータシートを参照してください。
本章において , 端子名とレジスタ略称にある "n" はチャネル番号を示します。各品種の
端子名 , レジスタ名とレジスタ略称について , デバイスのデータシートを参照してくだ
さい。
■ コンパレータのブロックダイヤグラム
図 28.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-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
551
第 28 章 コンパレータ
28.2 構成
MB95810K シリーズ
● コンパレータ
コンパレータは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) から読み出せます。
552
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
MB95810K シリーズ
28.3
専用 BGR
第 28 章 コンパレータ
28.3 専用 BGR
専用 BGR の機能について説明します。
■ 専用 BGR の機能
専用 BGR は , コンパレータにアナログ電圧を出力する基準電圧生成回路です。
<注意事項>
コンパレータは 1 つの BGR だけを内蔵します。それはコンパレータのすべてのチャネル
に共有されます。あるチャネルが専用 BGR を使用すると , 専用 BGR が許可されます。各
チャネルの BGRPD ビット (CMRn:BGRPD) が "1" に設定されることによって専用 BGR
の電源が切断できます。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
553
第 28 章 コンパレータ
28.4 端子
28.4
MB95810K シリーズ
端子
コンパレータの端子について説明します。
■ コンパレータの端子
コンパレータの端子を表 28.4-1 に示します。
表 28.4-1 コンパレータの端子
端子名
554
端子機能
CMPn_P
コンパレータ非反転アナログ入力 ( 正入力 )
CMPn_N
コンパレータ反転アナログ入力 ( 負入力 )
CMPn_O
コンパレータデジタル出力
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 28 章 コンパレータ
28.5 割込み
MB95810K シリーズ
28.5
割込み
コンパレータは出力エッジ検出割込みとよばれる割込みを発生させます。割込み要求
番号と割込みベクタがこの割込みに割り当てられます。
■ 出力エッジ検出割込み
出力エッジ検出割込みを表 28.5-1 に示します。
表 28.5-1 出力エッジ検出割込み
項目
内容
割込み発生条件
出力立上りエッジまたは出力立下りエッジが発生。
割込みフラグ
CMRn:IF
割込み許可ビット
CMRn:IE
<注意事項>
ストップモード , 時計モードまたはタイムベースタイマモードでは , エッジ検出回路は動
作を停止し , かつそれぞれのコンパレータ制御レジスタ ch. n (CMRn) の IF ビットはコン
パレータの電源が投入されていても更新されません。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
555
第 28 章 コンパレータ
28.6 動作説明と設定手順例
28.6
MB95810K シリーズ
動作説明と設定手順例
コンパレータは , CMRn レジスタの PD ビットの設定に従って , ソフトウェアにより
起動可能です。
■ コンパレータのソフトウェア起動 ( 外部端子からのアナログ入力を使用する場合 )
外部端子からのアナログ入力を使用してコンパレータを起動するためには , 図 28.6-1
に示された設定をしてください。
図 28.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. 図 28.6-1 に示された設定に従ってコンパレータを起動してください。
3. コンパレータが安定するまで待ってください。
4. 割込みフラグビットをクリアしてください (CMRn:IF = 0)。
5. コンパレータの割込み要求を許可し , 必要に応じコンパレータの出力を許可してく
ださい (CMRn:IE = 1, CMRn:VCOE = 1)。
556
FUJITSU SEMICONDUCTOR LIMITED
MN702-00012-2v0-J
第 28 章 コンパレータ
28.6 動作説明と設定手順例
MB95810K シリーズ
■ コンパレータのソフトウェア起動 ( 専用 BGR からのアナログ入力を使用する場合 )
専用 BGR からのアナログ入力を使用してコンパレータを起動するためには , 図 28.6-2
に示された設定をしてください。
図 28.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. 図 28.6-1 に示された設定に従ってコンパレータを起動してください。
3. コンパレータが安定するまで待ってください。
4. 割込みフラグビットをクリアしてください (CMRn:IF = 0)。
5. コンパレータの割込み要求を許可し , 必要に応じコンパレータの出力を許可してく
ださい (CMRn:IE = 1, CMRn:VCOE = 1)。
MN702-00012-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
557
第 28 章 コンパレータ
28.7 レジスタ
28.7
MB95810K シリーズ
レジスタ
コンパレータのレジスタについて説明します。
表 28.7-1 コンパレータのレジスタ一覧
レジスタ略称
CMRn
558
レジスタ名
コンパレータ制御レジスタ ch. n
FUJITSU SEMICONDUCTOR LIMITED
参照先
28.7.1
MN702-00012-2v0-J
第 28 章 コンパレータ
28.7 レジスタ
MB95810K シリーズ
28.7.1
コンパレータ制御レジスタ ch. n (CMRn)
コンパレータ制御レジスタ ch. n (CMRn) は以下の機能があります。
• コンパレータの電源の投入 / 切断 (CMRn:PD)