7.4MB

本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。
FUJITSU SEMICONDUCTOR
CONTROLLER MANUAL
MN702-00015-2v0-J
8 ビット・マイクロコントローラ
New 8FX
MB95650L シリーズ
ハードウェアマニュアル
8 ビット・マイクロコントローラ
New 8FX
MB95650L シリーズ
ハードウェアマニュアル
富士通セミコンダクターのマイコンを効率的に開発するための情報を下記 URL にてご紹介いたします。
ご採用を検討中 , またはご採用いただいたお客様に有益な情報を公開しています。
http://edevice.fujitsu.com/micom/jp-support/
富士通セミコンダクター株式会社
はじめに
■ 本書の目的と対象読者
富士通セミコンダクター製品につきまして , 平素より格別のご愛読を賜り厚くお礼申
し上げます。
MB95650L シリーズは , ASIC (Application Specific IC) 対応が可能なオリジナル 8 ビッ
ト・ワンチップ・マイクロコントローラである New 8FX ファミリの汎用品の 1 つとし
て開発された製品です。MB95650L シリーズは , 携帯機器をはじめ民生機器から産業機
器まで , 幅広い用途でご利用いただけます。
本書は , 実際に MB95650L シリーズマイクロコントローラを使って製品を設計する技
術者を対象に , その機能や動作について記載していますので , ぜひご一読ください。
なお , 各種命令の詳細については ,「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) ............................................................................................. 30
3.3.3
発振安定待ち時間設定レジスタ (WATR) ...................................................................... 32
3.3.4
スタンバイ制御レジスタ (STBC) .................................................................................. 34
3.3.5
システムクロック制御レジスタ 2 (SYCC2) .................................................................. 36
3.4 クロックモード .................................................................................................................... 39
3.5 低消費電力モード ( スタンバイモード ) の動作 ................................................................... 45
3.5.1
スタンバイモード使用上の注意 .................................................................................... 46
3.5.2
スリープモード ............................................................................................................. 49
3.5.3
ストップモード ............................................................................................................. 50
3.5.4
タイムベースタイマモード ........................................................................................... 52
3.5.5
時計モード..................................................................................................................... 54
3.6 クロック発振回路 ................................................................................................................. 55
3.7 プリスケーラの概要 ............................................................................................................. 56
3.8 プリスケーラの構成 ............................................................................................................. 57
3.9 プリスケーラの動作 ............................................................................................................. 58
3.10 プリスケーラ使用上の注意................................................................................................... 60
第4章
リセット................................................................................................... 61
4.1 リセット動作 ........................................................................................................................ 62
4.2 レジスタ ............................................................................................................................... 66
4.2.1
リセット要因レジスタ (RSRR) ..................................................................................... 67
4.3 使用上の注意 ........................................................................................................................ 70
第5章
割込み ...................................................................................................... 71
5.1 割込み ................................................................................................................................... 72
5.1.1
割込みレベル設定レジスタ (ILR0 ~ ILR5) ................................................................... 73
5.1.2
割込み動作時の処理 ...................................................................................................... 75
5.1.3
多重割込み..................................................................................................................... 78
v
5.1.4
5.1.5
5.1.6
第6章
6.1
6.2
割込み処理時間 ............................................................................................................. 79
割込み処理時のスタック動作........................................................................................ 80
割込み処理のスタック領域 ........................................................................................... 81
I/O ポート................................................................................................. 83
概要 ...................................................................................................................................... 84
構成と動作............................................................................................................................ 85
第7章
タイムベースタイマ................................................................................. 89
7.1 概要 ...................................................................................................................................... 90
7.2 構成 ...................................................................................................................................... 91
7.3 割込み ................................................................................................................................... 93
7.4 動作説明と設定手順例.......................................................................................................... 94
7.5 レジスタ ............................................................................................................................... 98
7.5.1
タイムベースタイマ制御レジスタ (TBTC) .................................................................... 99
7.6 使用上の注意 ...................................................................................................................... 101
第8章
ハードウェア / ソフトウェアウォッチドッグタイマ ............................. 103
8.1 概要 .................................................................................................................................... 104
8.2 構成 .................................................................................................................................... 106
8.3 動作説明と設定手順例........................................................................................................ 108
8.4 レジスタ ............................................................................................................................. 111
8.4.1
ウォッチドッグタイマ制御レジスタ (WDTC)............................................................. 112
8.5 使用上の注意 ...................................................................................................................... 114
第9章
時計プリスケーラ .................................................................................. 117
9.1 概要 .................................................................................................................................... 118
9.2 構成 .................................................................................................................................... 119
9.3 割込み ................................................................................................................................. 121
9.4 動作説明と設定手順例........................................................................................................ 122
9.5 レジスタ ............................................................................................................................. 125
9.5.1
時計プリスケーラ制御レジスタ (WPCR) .................................................................... 126
9.6 使用上の注意 ...................................................................................................................... 128
第 10 章
ワイルドレジスタ機能 ........................................................................... 129
10.1 概要 .................................................................................................................................... 130
10.2 構成 .................................................................................................................................... 131
10.3 動作説明 ............................................................................................................................. 133
10.4 レジスタ ............................................................................................................................. 134
10.4.1 ワイルドレジスタデータ設定レジスタ (WRDR0 ~ WRDR2) .................................... 135
10.4.2 ワイルドレジスタアドレス設定レジスタ (WRAR0 ~ WRAR2) ................................. 136
10.4.3 ワイルドレジスタアドレス比較許可レジスタ (WREN) .............................................. 137
10.4.4 ワイルドレジスタデータテスト設定レジスタ (WROR).............................................. 138
10.5 一般的なハードウェア接続例 ............................................................................................. 139
第 11 章
8/16 ビット複合タイマ........................................................................... 141
11.1 概要 .................................................................................................................................... 142
11.2 構成 .................................................................................................................................... 144
11.3 チャネル ............................................................................................................................. 147
vi
11.4 端子 .................................................................................................................................... 148
11.5 割込み ................................................................................................................................. 150
11.6 インターバルタイマ機能 ( ワンショットモード ) の動作説明............................................ 151
11.7 インターバルタイマ機能 ( 連続モード ) の動作説明 .......................................................... 153
11.8 インターバルタイマ機能 ( フリーランモード ) の動作説明 ............................................... 155
11.9 PWM タイマ機能 ( 周期固定モード ) の動作説明............................................................... 157
11.10 PWM タイマ機能 ( 周期可変モード ) の動作説明............................................................... 159
11.11 PWC タイマ機能の動作説明 .............................................................................................. 161
11.12 インプットキャプチャ機能の動作説明............................................................................... 163
11.13 ノイズフィルタの動作説明................................................................................................. 165
11.14 レジスタ ............................................................................................................................. 166
11.14.1 8/16 ビット複合タイマステータス制御レジスタ 0 (Tn0CR0/Tn1CR0) ...................... 167
11.14.2 8/16 ビット複合タイマステータス制御レジスタ 1 (Tn0CR1/Tn1CR1) ...................... 170
11.14.3 8/16 ビット複合タイマタイマモード制御レジスタ (TMCRn) ..................................... 174
11.14.4 8/16 ビット複合タイマデータレジスタ (Tn0DR/Tn1DR) ........................................... 177
11.15 使用上の注意 ...................................................................................................................... 180
第 12 章
外部割込み回路 ...................................................................................... 183
12.1 概要 .................................................................................................................................... 184
12.2 構成 .................................................................................................................................... 185
12.3 チャネル ............................................................................................................................. 186
12.4 端子 .................................................................................................................................... 187
12.5 割込み ................................................................................................................................. 188
12.6 動作説明と設定手順例........................................................................................................ 189
12.7 レジスタ ............................................................................................................................. 191
12.7.1 外部割込み制御レジスタ (EIC).................................................................................... 192
12.8 使用上の注意 ...................................................................................................................... 195
第 13 章
LIN-UART .............................................................................................. 197
13.1 概要 .................................................................................................................................... 198
13.2 構成 .................................................................................................................................... 200
13.3 端子 .................................................................................................................................... 205
13.4 割込み ................................................................................................................................. 206
13.4.1 受信割込み発生とフラグ設定のタイミング ................................................................ 209
13.4.2 送信割込み発生とフラグ設定のタイミング ................................................................ 211
13.5 LIN-UART ボーレート ........................................................................................................ 213
13.5.1 ボーレート設定 ........................................................................................................... 215
13.5.2 リロードカウンタ........................................................................................................ 219
13.6 動作説明と設定手順例........................................................................................................ 221
13.6.1 非同期モード ( 動作モード 0, 1) の動作 ...................................................................... 223
13.6.2 同期モード ( 動作モード 2) の動作.............................................................................. 227
13.6.3 LIN 機能 ( 動作モード 3) の動作 .................................................................................. 231
13.6.4 シリアル端子直接アクセス ......................................................................................... 234
13.6.5 双方向通信機能 ( ノーマルモード ) ............................................................................. 235
13.6.6 マスタ / スレーブ型通信機能 ( マルチプロセッサモード ) .......................................... 237
13.6.7 LIN 通信機能................................................................................................................ 240
13.6.8 LIN-UART の LIN 通信フローチャートの例 ( 動作モード 3) ....................................... 241
13.7 レジスタ ............................................................................................................................. 243
13.7.1 LIN-UART シリアル制御レジスタ (SCR) .................................................................... 244
vii
13.7.2 LIN-UART シリアルモードレジスタ (SMR) ................................................................ 246
13.7.3 LIN-UART シリアルステータスレジスタ (SSR).......................................................... 249
13.7.4 LIN-UART 受信データレジスタ /LIN-UART 送信データレジスタ (RDR/TDR) ........... 252
13.7.5 LIN-UART 拡張ステータス制御レジスタ (ESCR) ....................................................... 254
13.7.6 LIN-UART 拡張通信制御レジスタ (ECCR).................................................................. 257
13.7.7 LIN-UART ボーレートジェネレータレジスタ 1, 0 (BGR1, BGR0) ............................. 259
13.8 使用上の注意 ...................................................................................................................... 260
第 14 章
8/12 ビット A/D コンバータ................................................................... 265
14.1 概要 .................................................................................................................................... 266
14.2 構成 .................................................................................................................................... 267
14.3 端子 .................................................................................................................................... 270
14.4 割込み ................................................................................................................................. 271
14.5 8/12 ビット A/D コンバータの動作許可 ............................................................................. 272
14.6 動作説明と設定手順例........................................................................................................ 273
14.7 レジスタ ............................................................................................................................. 277
14.7.1 8/12 ビット A/D コンバータ制御レジスタ 1 (ADC1)................................................... 278
14.7.2 8/12 ビット A/D コンバータ制御レジスタ 2 (ADC2)................................................... 280
14.7.3 8/12 ビット A/D コンバータ制御レジスタ 3 (ADC3)................................................... 282
14.7.4 8/12 ビット A/D コンバータデータレジスタ ( 上位 / 下位 ) (ADDH/ADDL) ................ 284
14.8 使用上の注意 ...................................................................................................................... 285
第 15 章
低電圧検出回路 ...................................................................................... 287
15.1 概要 .................................................................................................................................... 288
15.2 構成 .................................................................................................................................... 289
15.3 端子 .................................................................................................................................... 290
15.4 割込み ................................................................................................................................. 291
15.5 動作説明 ............................................................................................................................. 292
15.6 レジスタ ............................................................................................................................. 295
15.6.1 LVD 制御レジスタ (LVDC) .......................................................................................... 296
第 16 章
クロックスーパバイザカウンタ ............................................................. 299
16.1 概要 .................................................................................................................................... 300
16.2 構成 .................................................................................................................................... 301
16.3 動作説明 ............................................................................................................................. 303
16.4 レジスタ ............................................................................................................................. 308
16.4.1 クロック監視データレジスタ (CMDR)........................................................................ 309
16.4.2 クロック監視制御レジスタ (CMCR) ........................................................................... 310
16.5 使用上の注意 ...................................................................................................................... 312
第 17 章
UART/SIO .............................................................................................. 315
17.1 概要 .................................................................................................................................... 316
17.2 構成 .................................................................................................................................... 317
17.3 チャネル ............................................................................................................................. 319
17.4 端子 .................................................................................................................................... 320
17.5 割込み ................................................................................................................................. 321
17.6 動作説明と設定手順例........................................................................................................ 322
17.6.1 動作モード 0 の動作説明............................................................................................. 323
17.6.2 動作モード 1 の動作説明............................................................................................. 330
viii
17.7 レジスタ ............................................................................................................................. 336
17.7.1 UART/SIO シリアルモード制御レジスタ 1 ch. n (SMC1n)......................................... 337
17.7.2 UART/SIO シリアルモード制御レジスタ 2 ch. n (SMC2n)......................................... 339
17.7.3 UART/SIO シリアルステータスアンドデータレジスタ ch. n (SSRn)......................... 341
17.7.4 UART/SIO シリアル入力データレジスタ ch. n (RDRn) .............................................. 343
17.7.5 UART/SIO シリアル出力データレジスタ ch. n (TDRn) .............................................. 344
第 18 章
UART/SIO 専用 ボーレートジェネレータ ............................................. 345
18.1 概要 .................................................................................................................................... 346
18.2 チャネル ............................................................................................................................. 347
18.3 動作説明 ............................................................................................................................. 348
18.4 レジスタ ............................................................................................................................. 349
18.4.1 UART/SIO 専用ボーレートジェネレータプリスケーラ選択レジスタ ch. n
(PSSRn) ...................................................................................................................... 350
18.4.2
第 19 章
UART/SIO 専用ボーレートジェネレータボーレート設定レジスタ ch. n (BRSRn) .... 351
I2C バスインタフェース......................................................................... 353
19.1 概要 .................................................................................................................................... 354
19.2 構成 .................................................................................................................................... 355
19.3 チャネル ............................................................................................................................. 358
19.4 端子 .................................................................................................................................... 359
19.5 割込み ................................................................................................................................. 360
19.6 動作説明と設定手順例........................................................................................................ 362
19.6.1 l2C バスインタフェース .............................................................................................. 363
19.6.2 MCU スタンバイモードに対するウェイクアップ機能................................................ 371
19.7 レジスタ ............................................................................................................................. 373
19.7.1 I2C バス制御レジスタ 0 ch. n (IBCR0n) ...................................................................... 374
19.7.2 I2C バス制御レジスタ 1 ch. n (IBCR1n) ...................................................................... 378
19.7.3 I2C バスステータスレジスタ ch. n (IBSRn) ................................................................ 382
19.7.4 I2C データレジスタ ch. n (IDDRn) .............................................................................. 385
19.7.5 I2C アドレスレジスタ ch. n (IAARn) ........................................................................... 386
19.7.6 I2C クロック制御レジスタ ch. n (ICCRn) ................................................................... 387
19.8 使用上の注意 ...................................................................................................................... 389
第 20 章
シリアル書込み接続例 ........................................................................... 391
20.1 シリアル書込み接続の基本構成 ......................................................................................... 392
20.2 シリアル書込み接続例........................................................................................................ 393
第 21 章
デュアルオペレーションフラッシュメモリ ........................................... 395
21.1 概要 .................................................................................................................................... 396
21.2 セクタ / バンク構成 ............................................................................................................ 398
21.3 フラッシュメモリ自動アルゴリズムの起動方法 ................................................................ 399
21.4 自動アルゴリズム実行状態の確認...................................................................................... 401
21.4.1 データポーリングフラグ (DQ7) .................................................................................. 403
21.4.2 トグルビットフラグ (DQ6) ......................................................................................... 405
21.4.3 タイミングリミット超過フラグ (DQ5) ....................................................................... 407
21.4.4 セクタ消去タイマフラグ (DQ3) .................................................................................. 408
21.4.5 トグルビット 2 フラグ (DQ2)...................................................................................... 409
21.5 フラッシュメモリの書込み / 消去....................................................................................... 410
ix
21.5.1 フラッシュメモリの読出し / リセット状態への遷移................................................... 411
21.5.2 フラッシュメモリへのデータ書込み ........................................................................... 412
21.5.3 フラッシュメモリの全データ消去 ( チップ消去 ) ....................................................... 414
21.5.4 フラッシュメモリの特定データ消去 ( セクタ消去 ) .................................................... 415
21.5.5 フラッシュメモリセクタ消去の一時停止.................................................................... 417
21.5.6 フラッシュメモリセクタ消去の再開 ........................................................................... 418
21.5.7 アンロックバイパス書込み ......................................................................................... 419
21.6 動作説明 ............................................................................................................................. 420
21.7 フラッシュセキュリティ .................................................................................................... 422
21.8 レジスタ ............................................................................................................................. 423
21.8.1 フラッシュメモリステータスレジスタ 2 (FSR2) ........................................................ 424
21.8.2 フラッシュメモリステータスレジスタ (FSR) ............................................................. 427
21.8.3 フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) ......................................... 430
21.8.4 フラッシュメモリステータスレジスタ 3 (FSR3) ........................................................ 432
21.8.5 フラッシュメモリステータスレジスタ 4 (FSR4) ........................................................ 434
21.9 使用上の注意 ...................................................................................................................... 442
第 22 章
不揮発性レジスタ (NVR) インタフェース ............................................. 443
22.1 概要 .................................................................................................................................... 444
22.2 構成 .................................................................................................................................... 445
22.3 レジスタ ............................................................................................................................. 446
22.3.1 メイン CR クロックトリミングレジスタ ( 上位 ) (CRTH) .......................................... 447
22.3.2 メイン CR クロックトリミングレジスタ ( 下位 ) (CRTL) ........................................... 448
22.3.3 メイン CR クロック温度依存調節レジスタ (CRTDA)................................................. 449
22.3.4 ウォッチドッグタイマ選択 ID レジスタ ( 上位 / 下位 ) (WDTH/WDTL)...................... 450
22.4 メイン CR クロックトリミング使用上の注意 .................................................................... 451
22.5 使用上の注意 ...................................................................................................................... 453
第 23 章
システム構成コントローラ .................................................................... 455
23.1 概要 .................................................................................................................................... 456
23.2 レジスタ ............................................................................................................................. 457
23.2.1 システム構成レジスタ (SYSC) ................................................................................... 458
23.2.2 システム構成レジスタ 2 (SYSC2) .............................................................................. 461
23.3 使用上の注意 ...................................................................................................................... 462
付録
付録 A
A.1
A.2
A.3
A.4
A.5
............................................................................................................... 463
命令概要 ........................................................................................................................ 464
アドレッシング ........................................................................................................... 467
特殊な命令について.................................................................................................... 471
ビット操作命令 (SETB, CLRB)................................................................................... 475
F2MC-8FX 命令一覧表 ................................................................................................ 476
命令マップ .................................................................................................................. 480
x
本版での主な変更内容
変更箇所は , 本文中のページ左側の│によって示しています。
ページ
変更内容 ( 詳細は本文を参照してください。)
17
第 3 章 クロック制御部
3.1 概要
■ クロック制御部のブロック
ダイヤグラム
図 3.1-1
PLL クロック発振回路と PLLC 制御レジスタ (PLLC) の
接続を訂正
63
第 4 章 リセット
4.1 リセット動作
■ リセット要因
● 低電圧検出リセット
( オプション )
以下の記述を追加
ただし , 低電圧検出回路の LVD 制御レジスタ (LVDC)
は低電圧検出リセットによってはリセットされません。
67
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" に設定します。
68
HWR ビットの詳細にある以下の記述を変更
読出し動作により , このビットは "0" になります。書込
み動作 ("0" または "1" の書込み ) はこのビットを "0" に
設定します。
→
読出し動作または書込み動作 ("0" または "1" の書込み )
はこのビットを "0" に設定します。
SWR ビットの詳細にある以下の記述を変更
読出し動作により , このビットは "0" になります。書込
み動作 ("0" または "1" の書込み ) はこのビットを "0" に
設定します。
→
読出し動作または書込み動作 ("0" または "1" の書込み )
またはパワーオンリセットはこのビットを "0" に設定し
ます。
xi
ページ
変更内容 ( 詳細は本文を参照してください。)
285
アナログ入力端子の名前を訂正
第 14 章 8/12 ビット A/D
AN → ANn
コンバータ
14.8 使用上の注意
■ 8/12ビットA/Dコンバータ使用
上の注意
● 8/12 ビット A/D コンバータの
アナログ入力順序
394
第 20 章 シリアル書込み接続例
20.2 シリアル書込み接続例
■ シリアル書込み接続例
プルアップ抵抗の使用に関する記述を追加
xii
第1章
メモリアクセスモード
メモリアクセスモードについて説明します。
1.1
MN702-00015-2v0-J
メモリアクセスモード
FUJITSU SEMICONDUCTOR LIMITED
1
第 1 章 メモリアクセスモード
1.1 メモリアクセスモード
MB95650L シリーズ
メモリアクセスモード
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-00015-2v0-J
第2章
CPU
CPU の機能と動作について説明します。
MN702-00015-2v0-J
2.1
専用レジスタ
2.2
汎用レジスタ
2.3
16 ビットデータのメモリ上の配置
FUJITSU SEMICONDUCTOR LIMITED
3
第 2 章 CPU
2.1 専用レジスタ
2.1
MB95650L シリーズ
専用レジスタ
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-00015-2v0-J
MB95650L シリーズ
第 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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
5
第 2 章 CPU
2.1 専用レジスタ
MB95650L シリーズ
● プログラムステータス (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-00015-2v0-J
第 2 章 CPU
2.1 専用レジスタ
MB95650L シリーズ
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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
7
第 2 章 CPU
2.1 専用レジスタ
MB95650L シリーズ
ダイレクトバンクポインタ (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-00015-2v0-J
MB95650L シリーズ
表 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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
9
第 2 章 CPU
2.1 専用レジスタ
MB95650L シリーズ
コンディションコードレジスタ (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-00015-2v0-J
第 2 章 CPU
2.1 専用レジスタ
MB95650L シリーズ
● キャリフラグ (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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
11
第 2 章 CPU
2.2 汎用レジスタ
2.2
MB95650L シリーズ
汎用レジスタ
汎用レジスタは , 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-00015-2v0-J
MB95650L シリーズ
第 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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
13
第 2 章 CPU
2.3 16 ビットデータのメモリ上の配置
2.3
MB95650L シリーズ
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-00015-2v0-J
第3章
クロック制御部
クロック制御部の機能と動作について説明します。
3.1
概要
3.2
発振安定待ち時間
3.3
レジスタ
3.4
クロックモード
3.5
低消費電力モード ( スタンバイモード ) の動作
3.6
クロック発振回路
3.7
プリスケーラの概要
3.8
プリスケーラの構成
3.9
プリスケーラの動作
3.10 プリスケーラ使用上の注意
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
15
第 3 章 クロック制御部
3.1 概要
3.1
MB95650L シリーズ
概要
New 8FX ファミリは , 消費電力の最適な制御を行うクロック制御部を搭載していま
す。このクロック制御部は外部メインクロックと外部サブクロックの両方をサポート
しています。
クロック制御部はクロック発振の許可 / 停止 , 内部回路へのクロック信号供給の
許可 / 停止 , クロックソースの選択および内蔵 CR 発振器と周波数分周回路の制御を
行います。
■ クロック制御部の概要
クロック制御部はクロック発振の許可 / 停止 , 内部回路へのクロック供給の許可 / 停止 ,
クロックソースの選択および内蔵 CR 発振器と周波数分周回路の制御を行います。
クロック制御部ではクロックモードの設定 , スタンバイモードの設定 , リセット動作に
従い内部クロックを制御します。クロックモードにより内部動作クロックの選択が行
われ , スタンバイモードによりクロック発振および信号供給の許可 / 停止を行います。
クロック制御部はクロックモードおよびスタンバイモードの組み合わせに応じた最適
な消費電力と機能を選択します。
本デバイスには 6 種類のソースクロックがあります。これらはメイン発振クロックを
2 分周したメインクロック , PLL 逓倍率をメイン発振クロックにかけて生成したメイン
PLL クロック , サブ発振クロックを 2 分周したサブクロック , メイン CR クロック , PLL
逓倍率をメイン CR 発振クロックにかけて生成したメイン CR PLL クロックおよびサブ
CR 発振クロックを 2 分周したサブ CR クロックの 6 種類です。
16
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 3 章 クロック制御部
3.1 概要
MB95650L シリーズ
■ クロック制御部のブロックダイヤグラム
図 3.1-1 に , クロック制御部のブロックダイヤグラムを示します。
図 3.1-1 クロック制御部のブロックダイヤグラム
システムクロック制御レジスタ 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)
ソース
クロック
選択制御回路
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-00015-2v0-J
SCM2 SCM1 SCM0
SCS2
SCS1
SCS0
DIV1
DIV0
システムクロック制御レジスタ (SYCC)
(5): メインCRクロック (FCRH)
(6): サブCRクロック (FCRL)
(7): ソースクロック (SCLK)
(8): マシンクロック (MCLK)
(9): PLLクロック (FPLL)
FUJITSU SEMICONDUCTOR LIMITED
17
第 3 章 クロック制御部
3.1 概要
MB95650L シリーズ
■ クロック制御部の構成
● メインクロック発振回路
このブロックはメインクロックの発振回路です。
● サブクロック発振回路
このブロックはサブクロックの発振回路です。
● メイン CR クロック発振回路
このブロックはメイン CR クロックの発振回路です。
● PLL クロック発振回路
このブロックは PLL クロックの発振回路です。PLL ソースクロックはメインクロック
とメイン CR クロックから選択できます。
● サブ CR クロック発振回路
このブロックはサブ CR クロックの発振回路です。
● システムクロックセレクタ
このブロックはクロックモードに対応して , メインクロック , サブクロック , メイン CR
クロック , PLL クロックおよびサブ CR クロックの 5 種類のソースクロック中から 1 種
類のクロックが選択されます。選択されたソースクロックはプリスケーラにより分周
され , クロック制御回路へ供給されます。この分周されたクロックを「マシンクロッ
ク」とよびます。
● クロック制御回路
CPU および各周辺機能へのマシンクロックの供給を , 選択されているスタンバイモー
ドまたは発振安定待ち時間に対応して制御します。
● 発振安定待ち回路
動作許可されているクロックにしたがって発振安定待ち時間信号を出力します。
メインクロックの場合は , 発振安定待ち回路の専用タイマにより生成された 14 種類の
発振安定信号から 1 つを選択できます。サブクロックの場合は , 発振安定待ち回路の専
用タイマにより生成された 15 種類の発振安定信号から 1 つを選択できます。
● システムクロック制御レジスタ (SYCC)
このレジスタは , クロックモードの選択 , マシンクロック分周比の選択および現在のク
ロックモードの表示のために使用されます。
● PLL 制御レジスタ (PLLC)
このレジスタは , PLL クロック逓倍率の設定を制御します。
● スタンバイ制御レジスタ (STBC)
このレジスタはRUN状態からスタンバイモードへの遷移, ストップモード, タイムベー
スタイマモードまたは時計モードの端子状態の設定およびソフトウェアリセットの発
生を制御するために使用されます。
18
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 3 章 クロック制御部
3.1 概要
● システムクロック制御レジスタ 2 (SYCC2)
このレジスタはメインクロック , メイン PLL クロック , メイン CR クロック , サブク
ロック , サブ CR クロックの発振の許可 / 停止およびメインクロック , メイン CR クロッ
ク , サブクロック , サブ CR クロックの発振のレディ信号の表示のために使用されます。
● 発振安定待ち時間設定レジスタ (WATR)
このレジスタはメインクロックとサブクロックの発振安定待ち時間を設定するために
使用されます。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
19
第 3 章 クロック制御部
3.1 概要
MB95650L シリーズ
■ クロックモード
クロックモードが 6 種類あります。
•
メインクロックモード
•
メイン PLL クロックモード
•
メイン CR クロックモード
•
メイン CR PLL クロックモード
•
サブクロックモード
•
サブ CR クロックモード
表 3.1-1 に , クロックモードとマシンクロック (CPU と周辺機能の動作クロック ) との
関係を示します。
表 3.1-1
クロックモードとマシンクロックの選択
クロックモード
マシンクロック
メインクロックモード
マシンクロックはメインクロックの 2 分周より生成されま
す。
メイン PLL クロックモード
マシンクロックは PLL 逓倍率をメインクロックにかけて生
成されます。
メイン CR クロックモード
マシンクロックはメイン CR クロックより生成されます。
メイン CR PLL クロックモード
マシンクロックは PLL 逓倍率をメイン CR クロックにかけ
て生成されます。
サブクロックモード
マシンクロックはサブクロックの 2 分周 より生成されます。
サブ CR クロックモード
マシンクロックはサブ CR クロックの 2 分周より生成されま
す。
選択されたクロックの周波数の分周は , どのクロックモードでも可能です。
20
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 3 章 クロック制御部
3.1 概要
MB95650L シリーズ
■ スタンバイモード
選択されたスタンバイモードによりクロック発振の許可 / 停止および内部回路へのク
ロック供給の許可 / 停止を選択できます。タイムベースタイマモードおよび時計モー
ドを除き , クロックモードの設定とは別にスタンバイモードを設定できます。
表 3.1-2 に , スタンバイモードとクロック供給の状態との関係を示します。
表 3.1-2
スタンバイモードとクロック供給の状態
スタンバイモード
クロック供給の状態
スリープモード
CPU へのクロック供給が停止します。その結果 CPU は動作を停止
しますが , ほかの周辺機能は動作を継続します。
タイムベースタイマ
モード
タイムベースタイマおよび時計プリスケーラへのみクロック信号
を供給し , ほかの回路へのクロック供給は停止します。その結果 ,
タイムベースタイマ , 時計プリスケーラ , 外部割込みおよび低電圧
検出リセット ( オプション ) を除くすべての機能は停止します。
タイムベースタイマモードはメインクロックモード , メイン PLL
クロックモード , メイン CR クロックモードおよびメイン CR PLL
クロックモードにおいて使用可能です。
時計モード
メインクロック発振は停止します。時計プリスケーラへのみク
ロック信号を供給し , ほかの回路へのクロック供給は停止します。
その結果 , 時計プリスケーラ , 外部割込みおよび低電圧検出リセッ
ト ( オプション ) を除くすべての機能は停止します。
時計モードはサブクロックモードおよびサブ CR クロックモード
において使用されるスタンバイモードです。
ストップモード
メインクロック発振およびサブクロック発振を停止し , すべての回
路へのクロック供給を停止します。その結果 , 外部割込みおよび低
電圧検出リセット ( オプション ) を除くすべての機能は停止しま
す。
<注意事項>
特別な設定を行うことで , 表 3.1-2 以外にクロックが供給される場合があります。
例えば , メインクロックモードでストップモードにする場合 , SYCC2:SOSCE または
SYCC2:SCRE に "1" が書かれていれば , 時計プリスケーラが動作します。
また , ハードウェアウォッチドッグタイマを起動した場合は , 不揮発性レジスタインタ
フェースの設定によっては , スタンバイモードでもハードウェアウォッチドッグタイマが
動作します。詳細は , 「第 22 章 不揮発性レジスタ (NVR) インタフェース」を参照して
ください。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
21
第 3 章 クロック制御部
3.1 概要
MB95650L シリーズ
■ クロックモードとスタンバイモードの組合せ
表 3.1-3 と表 3.1-4 に , クロックモードとスタンバイモードの組合せおよび各種クロッ
クモードとスタンバイモードの組合せを有する異なる内部回路の動作状態をそれぞれ
示します。
表 3.1-3
スタンバイモードとクロックモードの組合せおよび内部動作状態 (1)
スリープ
RUN
機能
メイン
クロック /
メイン PLL
クロック
メイン CR
クロック /
メイン CR
PLL クロック
サブクロック
サブ CR
クロック
CPU
フラッシュ
メモリ
RAM
I/O ポート
タイムベース
タイマ
時計プリス
ケーラ
外部割込み
ハードウェア
ウォッチドッ
グタイマ
ソフトウェア
ウォッチドッ
グタイマ
低電圧検出
リセット
そのほかの周
辺機能
メイン
メイン
CR クロック
クロック
モード /
モード /
メイン
メイン PLL
CR PLL
クロック
クロック
モード
モード
サブ CR
クロック
モード
サブ
クロック
モード
メイン
メイン
CR クロック
クロック
モード /
モード /
メイン
メイン PLL
CR PLL
クロック
クロック
モード
モード
サブ CR
クロック
モード
サブ
クロック
モード
動作
停止 *1
停止
動作
停止 *1
停止
停止 *2
動作
停止
停止 *2
動作
停止
動作 *3
動作
動作 *3
動作 *3
動作
動作 *3
動作 *4
動作 *4
動作
動作 *4
動作 *4
動作
動作
動作
停止
停止
動作
動作
値保持
値保持
動作
動作
値保持
値保持
動作
動作
出力保持
出力保持
動作
停止
動作
停止
動作 *3, *4
動作
動作 *3, *4
動作
動作
動作
動作
動作
動作
動作
動作 *5
動作 *5
動作
動作
停止
停止
動作
動作
動作
動作
動作
動作
動作
動作
*1: システムクロック制御レジスタ 2 のメインクロック発振許可ビット (SYCC2:MOSCE) を "1" に設定すると , メ
インクロックまたはメイン PLL クロックが動作します。
*2: システムクロック制御レジスタ 2 のメイン CR クロック発振許可ビット (SYCC2:MCRE) を "1" に設定すると ,
メイン CR クロックまたはメイン CR PLL クロックが動作します。
*3: システムクロック制御レジスタ 2 のサブクロック発振許可ビット (SYCC2:SOSCE) を "1" に設定すると , このモ
ジュールが動作します。
*4: システムクロック制御レジスタ 2 のサブ CR クロック発振許可ビット (SYCC2:SCRE) を "1" に設定すると , こ
のモジュールが動作します。
*5: 不揮発性レジスタ (NVR) インタフェースによりハードウェアウォッチドッグタイマが禁止されると , ハード
ウェアウォッチドッグタイマが停止します。
22
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 3 章 クロック制御部
3.1 概要
MB95650L シリーズ
表 3.1-4
スタンバイモードとクロックモードの組合せおよび内部動作状態 (2)
タイムベースタイマ
機能
メイン
クロック /
メイン PLL
クロック
メイン CR
クロック /
メイン CR
PLL クロック
メイン
メイン
CR クロック
クロック
モード /
モード /
メイン
メイン PLL
CR PLL
クロック
クロック
モード
モード
時計
ストップ
サブ CR
クロック
モード
サブ
クロック
モード
メイン
メイン
CR クロック
クロック
モード /
モード /
メイン
メイン PLL
CR PLL
クロック
クロック
モード
モード
動作
停止 *1
停止
停止
停止 *2
動作
停止
停止
動作 *3
サブクロック
サブ CR
クロック
CPU
動作
*4
動作 *3
動作
動作
*4
動作
動作 *3
停止
*4
停止
動作
停止
停止
停止
値保持
値保持
値保持
フラッシュ
メモリ
RAM
値保持
値保持
値保持
I/O ポート
出力保持 /Hi-Z
出力保持 /Hi-Z
出力保持 /Hi-Z
動作
停止
停止
動作 *3, *4
動作
動作
動作
動作
動作 *5
動作 *5
動作 *5
停止
停止
停止
動作
動作
動作
停止
停止
停止
タイムベース
タイマ
時計プリス
ケーラ
外部割込み
ハードウェア
ウォッチドッ
グタイマ
ソフトウェア
ウォッチドッ
グタイマ
低電圧検出
リセット
そのほかの周
辺機能
サブ CR
クロック
モード
サブ
クロック
モード
動作 *3, *4
停止
*1: システムクロック制御レジスタ 2 のメインクロック発振許可ビット (SYCC2:MOSCE) を "1" に設定すると , メ
インクロックまたはメイン PLL クロックが動作します。
*2: システムクロック制御レジスタ 2 のメイン CR クロック発振許可ビット (SYCC2:MCRE) を "1" に設定すると ,
メイン CR クロックまたはメイン CR PLL クロックが動作します。
*3: システムクロック制御レジスタ 2 のサブクロック発振許可ビット (SYCC2:SOSCE) を "1" に設定すると , このモ
ジュールが動作します。
*4: システムクロック制御レジスタ 2 のサブ CR クロック発振許可ビット (SYCC2:SCRE) を "1" に設定すると , こ
のモジュールが動作します。
*5: 不揮発性レジスタ (NVR) インタフェースによりハードウェアウォッチドッグタイマが禁止されると , ハード
ウェアウォッチドッグタイマが停止します。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
23
第 3 章 クロック制御部
3.2 発振安定待ち時間
MB95650L シリーズ
発振安定待ち時間
3.2
発振安定待ち時間とは , 発振回路が発振を停止した状態から発振器が固有の周波数で
安定し , 発振状態を再開するまでの時間です。クロック制御部は発振開始後に発振ク
ロック周期を所定の回数までカウントすることにより , 発振安定待ち時間を確保しま
す。発振安定待ち時間中 , クロック制御部は内部回路へのクロック供給を停止します。
■ 発振安定待ち時間
クロック制御部は , 発振開始後に発振クロック周期を所定の回数までカウントするこ
とにより , 発振安定待ち時間を確保します。発振安定待ち時間中 , クロック制御部は内
部回路へのクロック供給を停止します。
電源投入時またはリセット , ストップモード時の割込み , ソフトウェア動作によるク
ロックモードの変更により , 発振停止状態から発振を開始する状態遷移の要求が発生
した場合 , クロック制御部はほかのクロックモードへ遷移する前に , 自動的に遷移先の
発振安待ち時間の経過を待ちます。
図 3.2-1 に , 発振開始直後の発振の動作を示します。
図 3.2-1 発振開始直後の発振器の動作
振動子の発振時間
通常動作
ストップモードからの
復帰またはリセット動作
( )
発振安定待ち時間
X1
↑
発振開始
発振安定
発振安定
メインクロック , サブクロック , メイン CR クロック , PLL クロックおよびサブ CR ク
ロックの発振安定待ち時間は専用カウンタを使用してカウントされます。メインク
ロック , サブクロックのカウント値は発振安定待ち時間設定レジスタ (WATR) で設定
可能です。発振器の特性に合わせて指定してください。
パワーオンリセットの場合 , 発振安定待ち時間は初期値に固定されます。
表 3.2-1 に , 発振安定待ち時間の長さを示します。
表 3.2-1
発振安定待ち時間
クロック
メインクロック
サブクロック
24
リセット要因
パワーオンリセット
パワーオンリセット以外
パワーオンリセット
パワーオンリセット以外
発振安定待ち時間
初期値 : (214-2)/FCH (FCH: メインクロック周波数 )
レジスタの設定値 (WATR:MWT[3:0])
初期値 : (215-2)/FCL (FCL: サブクロック周波数 )
レジスタの設定値 (WATR:SWT[3:0])
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 3 章 クロック制御部
3.2 発振安定待ち時間
MB95650L シリーズ
■ PLL クロック発振安定待ち時間
発振器の発振安定待ち時間と同様 , ストップモード時の割込み , あるいはソフトウェア
によるクロックモードの変更により , PLL 発振停止状態から PLL 発振を開始する状態
遷移の要求が発生すると , クロック制御部はまずメインクロックの発振安定待ち時間
の経過またはメイン CR クロックの発振安定待ち時間の経過を待った後 , PLL クロック
の発振安定待ち時間の経過を自動的に待ちます。
表 3.2-2 に , PLL 発振安定待ち時間を示します。
表 3.2-2
PLL 発振安定待ち時間
PLL 発振安定待ち時間
メイン PLL クロック
212/FPLL*
メイン CR PLL クロック
*: FPLL: 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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
25
第 3 章 クロック制御部
3.2 発振安定待ち時間
MB95650L シリーズ
■ 発振安定待ちの優先順位について
複数のクロックの動作が同時に許可された場合 , クロック制御部は決められた優先順
位にしたがってクロックごとに発振安定待ち時間をカウントします。発振安定待ちカ
ウント動作の優先順位を以下に示します。
•
メインクロックモードの場合
サブ CR クロック > サブクロック > メイン PLL クロック > メイン CR クロック > メ
イン CR PLL クロック
•
メイン PLL クロックモードの場合
サブ CR クロック > サブクロック > メイン CR クロック
•
メイン CR クロックモードの場合
サブ CR クロック > サブクロック > メイン CR PLL クロック > メインクロック > メ
イン PLL クロック
•
メイン CR PLL クロックモードの場合
サブ CR クロック > サブクロック > メインクロック
•
サブクロックモードの場合
サブ CR クロック > メイン CR クロックまたはメインクロック > メイン CR PLL ク
ロックまたはメイン PLL クロック
•
サブ CR クロックモードの場合
メイン CR クロックまたはメインクロック > サブクロック > メイン CR PLL クロッ
クまたはメイン PLL クロック
<注意事項>
クロックモードを , メイン CR PLL クロックモードから直接メイン PLL クロックモードに
またはメイン PLL クロックモードから直接メイン CR PLL クロックモードに切り換える
ことは禁止されます。
クロックモードをメイン CR PLL クロックモードからメイン PLL ク
ロックモードにまたはメイン PLL クロックモードから直接メイン CR PLL クロックモー
ドに切り換えるとき , 一度クロックモードをメイン PLL クロックモードとメイン CR PLL
クロックモード以外のクロックモードに切り換えてから , メイン PLL クロックモードまた
はメイン CR PLL クロックモードに遷移させてください。
26
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 3 章 クロック制御部
3.3 レジスタ
MB95650L シリーズ
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
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
27
第 3 章 クロック制御部
3.3 レジスタ
3.3.1
MB95650L シリーズ
システムクロック制御レジスタ (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" が読み出された場合
現在のクロックモードはメインクロックモードであることを示します。
"011" が読み出された場合
現在のクロックモードはメイン PLL クロックモードであることを示します。
"100" が読み出された場合
現在のクロックモードはサブ CR クロックモードであることを示します。
"110" が読み出された場合
現在のクロックモードはメイン CR クロックモードであることを示します。
"111" が読み出された場合
現在のクロックモードはメイン CR PLL クロックモードであることを示しま
す。
[bit4:2] SCS[2:0]: クロックモード選択ビット
これらのビットはクロックモードを選択します。
説明
bit4:2
"000" を書き込んだ場合
サブクロックモード
"010" を書き込んだ場合
メインクロックモード
"011" を書き込んだ場合
メイン PLL クロックモード
"100" を書き込んだ場合
サブ CR クロックモード
"110" を書き込んだ場合
メイン CR クロックモード
"111" を書き込んだ場合
メイン CR PLL クロックモード
( 注意事項 )
• SCS[2:0] に上記以外の値を書き込まないでください。
• クロックモードを , メイン CR PLL クロックモードから直接メイン PLL クロックモードにまたは
メイン PLL クロックモードから直接メイン CR PLL クロックモードに切り換えることは禁止され
ます。クロックモードをメイン CR PLL クロックモードからメイン PLL クロックモードにまたは
メイン PLL クロックモードから直接メイン CR PLL クロックモードに切り換えるとき , 一度クロッ
クモードをメイン PLL クロックモードとメイン CR PLL クロックモード以外のクロックモードに
切り換えてから , メイン PLL クロックモードまたはメイン CR PLL クロックモードに遷移させて
ください。
28
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 3 章 クロック制御部
3.3 レジスタ
MB95650L シリーズ
[bit1:0] DIV[1:0]: マシンクロック分周比選択ビット
これらのビットはソースクロックに対するマシンクロックの分周比を選択します。
マシンクロックはこれらのビットで設定された分周比により , ソースクロックから生成されます。
説明
bit1:0
"00" を書き込んだ場合
ソースクロック ( 分周なし )
"01" を書き込んだ場合
ソースクロック / 4
"10" を書き込んだ場合
ソースクロック / 8
"11" を書き込んだ場合
ソースクロック / 16
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
29
第 3 章 クロック制御部
3.3 レジスタ
3.3.2
MB95650L シリーズ
PLL 制御レジスタ (PLLC)
PLL 制御レジスタ (PLLC) は 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: PLL クロック許可ビット
このビットは PLL クロックを許可または禁止します。
SCS[2:0] が "0b011" または "0b111" に設定されると , このビットは自動的に "1" に設定されます。
SCS[2:0] または SCM[2:0] が "0b011" または "0b111" に設定された場合 , このビットに "0" を書き込
んでも動作に影響はありません。
クロックモードがメイン PLL クロックモードとメイン CR PLL クロックモード以外のモードに切り
換わると , このビットは自動的に "0" に設定されます。
現在のクロックモードがサブクロックモードまたはサブ CR クロックモードの場合 , このビットに
"1" を書き込んでも動作に影響はありません。
説明
bit7
"0" を書き込んだ場合
PLL クロックを禁止します。
"1" を書き込んだ場合
PLL クロックを許可します。
[bit6:5] MPMC[1:0]: PLL クロック逓倍率選択ビット
これらのビットは PLL クロックの逓倍率を選択します。
PLL クロックが停止しているときのみ , これらのビットの設定を変更できます。よって , メインク
ロックモード , メイン CR クロックモード , サブクロックモードまたはサブ CR クロックモードで ,
これらのビットの設定が変更できます。
bit6:5
説明
"00" を書き込んだ場合
メインクロック × 2 またはメイン CR クロック × 2
"01" を書き込んだ場合
メインクロック × 2.5 またはメイン CR クロック × 2.5
"10" を書き込んだ場合
メインクロック × 3 またはメイン CR クロック × 3
"11" を書き込んだ場合
メインクロック × 4 またはメイン CR クロック × 4
( 注意事項 ) SCS[2:0] または SCM[2:0] が "0b011" または "0b111" に設定された場合 , これらのビッ
トに値を書き込むことは禁止されます。
[bit4] MPRDY: PLL クロック発振安定ビット
このビットは PLL クロック発振の準備ができているか否かを示します。
bit4
30
説明
"0" が読み出された場合
PLL クロックの発振安定待ち状態または PLL クロック発振が停止していること
を示します。
"1" が読み出された場合
PLL クロックの発振安定待ちが完了していることを示します。
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 3 章 クロック制御部
3.3 レジスタ
[bit3:0] 未定義ビット
読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
31
第 3 章 クロック制御部
3.3 レジスタ
3.3.3
MB95650L シリーズ
発振安定待ち時間設定レジスタ (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" に設定されているときに行ってください。 メインクロックモー
ド , メイン PLL クロックモード , メイン CR クロックモード , メイン CR PLL クロック
モードまたはサブ CR クロックモードにおいて , システムクロック制御レジスタ 2 のサ
ブクロック発振停止ビット (SYCC2:SOSCE) が "0" に設定され , サブクロックが停止し
ている時にこれらのビットを書き換えられます。
32
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 3 章 クロック制御部
3.3 レジスタ
MB95650L シリーズ
[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" に設定され , メインクロックが停止しているときにこれらの
ビットを書き換えられます。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
33
第 3 章 クロック制御部
3.3 レジスタ
3.3.4
MB95650L シリーズ
スタンバイ制御レジスタ (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
34
説明
"0" を書き込んだ場合
ストップモード , タイムベースタイマモードおよび時計モードにおける外部端子
の状態 ( レベル ) を保持します。
"1" を書き込んだ場合
外部端子はストップモード , タイムベースタイマモードおよび時計モードでハイ
インピーダンスになります。( プルアップレジスタにてプルアップ抵抗への接続
を選択した端子は , プルアップ状態になります ) 。
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 3 章 クロック制御部
3.3 レジスタ
MB95650L シリーズ
[bit4] SRST: ソフトウェアリセットビット
このビットはソフトウェアリセットを設定します。
このビットの読出し値は常に "0" です。
説明
bit4
"0" を書き込んだ場合
動作に影響はありません。
"1" を書き込んだ場合
3 マシンクロックリセット信号を発生します。
[bit3] TMD: 時計ビット
このビットはタイムベースタイマモードまたは時計モードへの遷移を設定します。
メインクロックモード , メイン PLL クロックモード , メイン CR クロックモードまたはメイン CR
PLL クロックモードでこのビットに "1" を書き込むと , デバイスはタイムベースタイマモードに遷
移します。
サブクロックモードまたはサブ CR クロックモードでこのビットに "1" を書き込むと , デバイスは時
計モードに遷移します。
このビットに "0" を書き込んでも動作に影響はありません。
このビットの読出し値は常に "0" です。
説明
bit3
メインクロックモード /
メイン PLL クロックモード /
メイン 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)
スタンバイモードが解除されるとデバイスは通常動作状態に戻ります。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
35
第 3 章 クロック制御部
3.3 レジスタ
3.3.5
MB95650L シリーズ
システムクロック制御レジスタ 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
36
説明
"0" が読み出された場合
クロック制御部がサブ CR クロック発振安定待ち状態にあることかまたはサブ
CR クロック発振が停止していることを示します。
"1" が読み出された場合
サブ CR クロックの発振安定待ち時間が完了していることを示します。
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 3 章 クロック制御部
3.3 レジスタ
MB95650L シリーズ
[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" または "0b011" に設定された場合 , このビットは自動的に "1" 設定されます。
SCS[2:0] または SCM[2:0] が "0b010" または "0b011" に設定された場合 , このビットに "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
"0" を書き込んだ場合
サブ CR クロック発振を禁止します。
"1" を書き込んだ場合
サブ CR クロック発振を許可します。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
37
第 3 章 クロック制御部
3.3 レジスタ
MB95650L シリーズ
[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
38
説明
"0" を書き込んだ場合
メイン CR クロック発振を禁止します。
"1" を書き込んだ場合
メイン CR クロック発振を許可します。
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
3.4
クロックモード
第 3 章 クロック制御部
3.4 クロックモード
クロックモードには , メインクロックモード , メイン PLL クロックモード , サブク
ロックモード , メイン CR クロックモード , メイン CR PLL クロックモードおよびサ
ブ CR クロックモードの 6 種類があります。システムクロック制御レジスタ (SYCC)
の設定によってモードの切換えを行います。
■ メインクロックモードとメイン PLL クロックモードの動作
メインクロックモードでは CPU と周辺機能のマシンクロックとして , メインクロック
を使用します。メイン PLL クロックモードでは CPU と周辺機能のマシンクロックとし
て , メイン PLL クロックを使用します。
タイムベースタイマは , メインクロックモードでメインクロックで動作し , メイン PLL
クロックモードでメイン PLL クロックで動作します。
時計プリスケーラはサブクロックまたはサブ CR クロックで動作します。
メインクロックモードまたはメイン PLL クロックモードで動作中にスタンバイモード
を設定すると , スリープモード , ストップモードまたはタイムベースタイマモードに遷
移できます。
リセット後はリセット前のクロックモードに関係なく , デバイスは常にメイン CR ク
ロックモードになります。
■ サブクロックモードの動作
サブクロックモードではメインクロック発振 またはメイン PLL クロック発振が停止さ
れ *, サブクロックが CPU と周辺機能のマシンクロックとして使用されます。タイム
ベースタイマは , メインクロックモードでメインクロックを , メイン PLL クロックモー
ドでメイン PLL クロックを使用しているため , 停止しています。
サブクロックモードで動作中にスタンバイモードを設定すると , スリープモード , ス
トップモードまたは時計モードへ移行できます。
■ メイン CR クロックモードとメイン CR PLL クロックモードの動作
メイン CR クロックモードでは CPU と周辺機能のマシンクロックとして , メイン CR ク
ロックを使用します。メイン CR PLL クロックモードでは CPU と周辺機能のマシンク
ロックとして , メイン CR PLL クロックを使用します。タイムベースタイマおよび
ウォッチドッグタイマは , メイン CR クロックモードでメイン CR クロックで動作し ,
メイン CR PLL クロックモードでメイン CR PLL クロックで動作します。
時計プリスケーラはサブクロックまたはサブ CR クロックで動作します。
メイン CR クロックモードまたはメイン CR PLL クロックモードで動作中にスタンバイ
モードを設定すると , スリープモード , ストップモードまたはタイムベースタイマモー
ドへ移行できます。
■ サブ CR クロックモードの動作
サブ CR クロックモードではメインクロック発振 またはメイン PLL クロック発振 が停
止され *, サブ CR クロックが CPU と周辺機能のマシンクロックとして使用されます。
このモードではメインクロックの動作を必要とするタイムベースタイマは動作しませ
ん。時計プリスケーラは , サブ CR クロックで動作します。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
39
第 3 章 クロック制御部
3.4 クロックモード
MB95650L シリーズ
サブ CR クロックモードで動作中にスタンバイモードを設定すると , スリープモード ,
ストップモードまたは時計モードへ移行できます。
*: クロックモードがメインクロックモード , メイン PLL クロックモード , メイン CR クロック
モードまたはメイン CR PLL クロックモードからサブクロックまたはサブ CR クロックモー
ドに遷移すると , メインクロック , メイン CR クロックおよび PLL クロックは自動的に発振
禁止になります (SYCC2: MOSCE を "0", SYCC2:MCRE を "0" および PLLC:MPEN を "0" に
設定 )。クロックモードがサブクロックモードまたはサブ CR クロックモードの場合 ,
SYCC2:MOSCE に "1", SYCC2:MCRE に "1", あるいは PLLC:MPEN に "1" を書き込んでもメ
インクロック , メイン CR クロック , あるいは PLL クロックを許可できません。
40
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 3 章 クロック制御部
3.4 クロックモード
MB95650L シリーズ
■ クロックモードの状態遷移図
クロックモードには , メインクロックモード , メイン PLL クロックモード , サブクロッ
クモード , メイン CR クロックモード , メイン CR PLL クロックモード , サブ CR クロッ
クモードの 6 種類があります。このデバイスではシステムクロック制御レジスタ
(SYCC) の設定によって , クロックモードを切り換えられます。
図 3.4-1 クロックモードの状態遷移図
電源投入
各ステートでリセット発生
リセット状態
<1>
メインCRクロック
発振安定待ち時間
+
サブCRクロック
発振安定待ち時間
(10)
メインCR
クロックモード
メインCR PLL
クロック
(またはメインCR
クロック)
発振安定待ち時間
メインCR
クロックモード
(またはメインCR
PLLクロックモード)
(8)
(7)
メインクロックモード
(またはメインPLLクロックモード)
(5)
(6)
(4)
(3)
(2)
メインクロック
(またはメインPLL
クロック)
発振安定待ち時間
(9)
(12)
(11)
(1)
サブCR
クロック発振
安定待ち時間
メインCRクロック
(またはメインCR
PLLクロック)
発振安定
サブクロック
発振安定
待ち時間
メインクロック
(またはメインPLL
クロック)
発振安定待ち時間
(13)
(18)
(17)
サブCR
クロック発振
安定待ち時間
(20)
(19)
サブCRクロック
モード
(15)
サブクロックモード
(16)
サブクロック
発振安定
待ち時間
(14)
(21)
メインCRクロックモード
メインCRクロック
発振安定待ち時間
メインCR PLLクロックモード
(22)
(23)
メインクロックモード
メインPLLクロック
発振安定待ち時間
メインPLLクロックモード
(24)
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
41
第 3 章 クロック制御部
3.4 クロックモード
表 3.4-1
MB95650L シリーズ
クロックモードの状態遷移表 (1 / 3)
現在の状態
<1> リセット状態
次の状態
メイン CR クロック
(1)
サブ CR クロック
(2)
(3)
サブクロック
(4)
メイン CR
クロック /
メイン CR PLL
クロック
(5)
(6)
42
説明
リセット後にデバイスは , メイン 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" に設定された直後 , メイ
ンクロックモードに遷移します。
メインクロック /
シス テム クロ ッ ク制 御レ ジス タ のク ロッ ク モー ド選 択ビ ッ ト
メイン PLL クロック
(SYCC:SCS[2:0]) を "0b011" に設定すると , デバイスはメイン PLL
クロック発振安定待ち時間の経過を待ってからメイン PLL クロッ
クモードに遷移します。
クロックモードをメイン CR PLL クロックモードから直接メイン
PLL クロックモードに切り換えることは禁止されます。クロック
モードをメイン CR PLL クロックモードからメイン PLL クロック
モードに切り換えるとき , 一度クロックモードをメイン PLL クロッ
クモードとメイン CR PLL クロックモード以外のクロックモードに
切り換えてから , メイン PLL クロックモードに遷移させてくださ
い。
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 3 章 クロック制御部
3.4 クロックモード
MB95650L シリーズ
表 3.4-1
クロックモードの状態遷移表 (2 / 3)
現在の状態
説明
シス テム クロ ッ ク制 御レ ジス タ のク ロッ ク モー ド選 択ビ ッ ト
(SYCC:SCS[2:0]) を "0b110" に設定すると , デバイスはメイン CR ク
ロック発振安定待ち時間の経過を待ってからメイン CR クロック
モードに遷移します。システムクロック制御レジスタ 2 のメインク
(7)
ロック発振許可ビット (SYCC2:MCRE) の設定によりメイン CR ク
ロックの発振が許可されており , システムクロック制御レジスタ 2
のメイン CR クロック発振安定ビット (SYCC2:MCRDY) が "1" の場
合は , デバイスはクロックモード選択ビット (SYCC2:SCS[2:0]) が
"0b110"に設定された直後, メインCRクロックモードに遷移します。
メイン CR クロック /
シス テム クロ ッ ク制 御レ ジス タ のク ロッ ク モー ド選 択ビ ッ ト
メイン CR PLL
(SYCC:SCS[2:0])を"0b111"に設定すると, デバイスはメインCR PLL
メインクロック / クロック
クロック発振安定待ち時間の経過を待ってからメイン CR PLL ク
メイン PLL ク
ロックモードに遷移します。
ロック
クロックモードをメイン PLL クロックモードから直接メイン CR
(8)
PLL クロックモードに切り換えることは禁止されます。クロック
モードをメイン PLL クロックモードからメイン CR PLL クロック
モードに切り換えるとき , 一度クロックモードをメイン PLL クロッ
クモードとメイン CR PLL クロックモード以外のクロックモードに
切り換えてから , メイン CR PLL クロックモードに遷移させてくだ
さい。
(9)
サブ CR クロック
(1) および (2) と同様
(10)
(11)
サブクロック
(3) および (4) と同様
(12)
(13)
サブ CR
クロック
(14)
(15)
(16)
(17)
(18) サブクロック
次の状態
シス テム クロ ッ ク制 御レ ジス タ のク ロッ ク モー ド選 択ビ ッ ト
(SYCC:SCS[2:0]) を "0b110" に設定すると , デバイスはメイン CR ク
ロック発振安定待ち時間の経過を待ってからメイン CR クロック
メイン CR クロック /
モードに遷移します。
メイン CR PLL
シス テム クロ ッ ク制 御レ ジス タ のク ロッ ク モー ド選 択ビ ッ ト
クロック
(SYCC:SCS[2:0])を"0b111"に設定すると, デバイスはメインCR PLL
クロック発振安定待ち時間の経過を待ってからメイン CR PLL ク
ロックモードに遷移します。
シス テム クロ ッ ク制 御レ ジス タ のク ロッ ク モー ド選 択ビ ッ ト
(SYCC:SCS[2:0]) を "0b010" に設定すると , デバイスはメインクロッ
ク発振安定待ち時間の経過を待ってからメインクロックモードに
メインクロック /
遷移します。
メイン PLL クロック シス テム クロ ッ ク制 御レ ジス タ のク ロッ ク モー ド選 択ビ ッ ト
(SYCC:SCS[2:0]) を "0b011" に設定すると , デバイスはメイン PLL
クロック発振安定待ち時間の経過を待ってからメイン PLL クロッ
クモードに遷移します。
サブクロック
メイン CR クロック /
メイン CR PLL
(13) と同様
クロック
メインクロック /
(14) と同様
メイン PLL クロック
(19)
(20)
サブ CR クロック
(21) メイン CR
クロック
メイン CR PLL
クロック
(22) メイン CR PLL
クロック
メイン CR クロック
MN702-00015-2v0-J
(3) および (4) と同様
(1) および (2) と同様
システムクロック制御レジスタのクロックモード選択ビット
(SYCC:SCS[2:0]) を "0b111" に設定すると , デバイスはメイン CR
PLL クロック発振安定待ち時間の経過を待ってからメイン CR PLL
クロックモードに遷移します。
システムクロック制御レジスタのクロックモード選択ビット
(SYCC:SCS[2:0]) を "0b110" に設定すると , デバイスは直ちにメイ
ン CR PLL クロックモードに遷移します。
FUJITSU SEMICONDUCTOR LIMITED
43
第 3 章 クロック制御部
3.4 クロックモード
表 3.4-1
MB95650L シリーズ
クロックモードの状態遷移表 (3 / 3)
現在の状態
説明
システムクロック制御レジスタのクロックモード選択ビット
(23) メインクロック メイン PLL クロック (SYCC:SCS[2:0]) を "0b011" に設定すると , デバイスはメイン PLL
クロック発振安定待ち時間の経過を待ってからメイン PLL クロッ
クモードに遷移します。
システムクロック制御レジスタのクロックモード選択ビット
(24) メイン PLL
メインクロック
(SYCC:SCS[2:0]) を "0b010" に設定すると , デバイスは直ちにメイ
クロック
ンクロックモードに遷移します。
44
次の状態
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 3 章 クロック制御部
3.5 低消費電力モード ( スタンバイモード ) の動作
MB95650L シリーズ
3.5
低消費電力モード ( スタンバイモード ) の動作
スタンバイモードには , スリープモード , ストップモード , タイムベースタイマモー
ド , 時計モードの 4 種類があります。
■ スタンバイモードの遷移と復帰の概要
スタンバイモードには , スリープモード , ストップモード , タイムベースタイマモード ,
時計モードの 4 種類があります。スタンバイ制御レジスタ (STBC) の設定によって , デ
バイスはスタンバイモードに遷移します。
スタンバイモードの解除は , 割込みまたはリセットにより行われます。通常動作に遷移
する前に , デバイスは必要に応じて自動的に発振安定待ち時間の経過を待ちます。
リセットによりクロックモードがスタンバイモードから復帰する場合は , デバイスは
メイン CR クロックモードに戻ります。割込みによりクロックモードがスタンバイモー
ドから復帰する場合は , スタンバイモードに遷移する前のクロックモードに復帰しま
す。
■ スタンバイモード時の端子の状態
スタンバイ制御レジスタの端子状態設定ビット (STBC:SPL) によって , ストップモード ,
タイムベースタイマモードまたは時計モード時の I/O ポートまたは周辺機能端子の状
態を直前の状態保持または周辺機能端子をハイインピーダンスに設定できます。
スタンバイモード時の全端子の状態については , デバイスのデータシートを参照して
ください。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
45
第 3 章 クロック制御部
3.5 低消費電力モード ( スタンバイモード ) の動作
3.5.1
MB95650L シリーズ
スタンバイモード使用上の注意
スタンバイ制御レジスタ (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 の設定が割込みを受け付けられない場合 , デバイスはスタンバイモードに遷移す
る前に実行した次の命令から実行を再開します。
46
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 3 章 クロック制御部
3.5 低消費電力モード ( スタンバイモード ) の動作
■ スタンバイモードの状態遷移図
図 3.5-1 に , スタンバイモードの状態遷移図を示します。
図 3.5-1 スタンバイモードの状態遷移図
電源投入
各ステートでリセット発生
リセット状態
<1>
メインCRクロック
発振安定待ち時間
+
サブCRクロック
発振安定待ち時間
(3)
ストップモード
(4)
メインクロック/メインPLLクロック/メインCRクロック/
メインCR PLLクロック/サブクロック/サブCRクロック
発振安定待ち時間
スリープモード (フラッシュリカバリ待ち時間*)
(7)
通常動作
(RUN状態)
スリープモード (フラッシュリカバリ待ち時間*)
(8)
時計モード
(1)
(5)
スリープモード (フラッシュリカバリ待ち時間*)
(6)
(2)
スリープモード (フラッシュリカバリ待ち時間*)
スリープモード
タイムベース
タイマモード
*: フラッシュメモリリカバリ待ち時間 (SCLK: ソースクロック , MCLK: マシンクロック )
•
メインクロックモード , メイン PLL クロックモード , メイン CR クロックモードまたはメ
イン CR PLL クロックモードの場合
最大値 : 10 SCLK + 150 µs + 6 MCLK
•
サブクロックモードまたはサブ CR クロックモードの場合
最大値 : 2 SCLK + 150 µs + 6 MCLK
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
47
第 3 章 クロック制御部
3.5 低消費電力モード ( スタンバイモード ) の動作
表 3.5-1
MB95650L シリーズ
状態遷移表 ( スタンバイモードへの遷移と解除 )
状態遷移
説明
リセット後 , デバイスがメイン CR クロックモードに遷移します。
<1> リセット状態後の通常動作 パワーオンリセット , ウォッチドッグリセット , ソフトウェアリセット , 外部
リセットの場合 , デバイスは常にサブ CR クロックとメイン CR クロック発
振安定待ち時間の経過を待ちます。
(1)
スタンバイ制御レジスタのスリープビット (STBC:SLP) に "1" を書き込むと ,
デバイスはスリープモードに遷移します。
(2)
周辺機能からの割込みにより , フラッシュリカバリ待ち時間の経過を待って
からデバイスは RUN 状態に復帰します。
また , フラッシュリカバリ待ち時間の間はスリープモード (CPU は動作停止 ,
周辺機能は動作再開 ) となります。
ただし , RAM でプログラムを実行している場合は , フラッシュリカバリ待ち
時間は発生しません。
(3)
スタンバイ制御レジスタのストップビット (STBC:STP) に "1" を書き込むと ,
デバイスはストップモードに遷移します。
(4)
外部割込みにより , 現在のクロックモードに応じて必要な発振安定待ち時間
の経過およびフラッシュリカバリ待ち時間の経過を待ってからデバイスは
RUN 状態に復帰します。
発振安定待ち時間がフラッシュリカバリ待ち時間より短い場合 , 発振安定待
ち時間経過後 , フラッシュリカバリ待ち時間が経過するまでスリープモード
となります。
発振安定待ち時間がフラッシュリカバリ待ち時間より長い場合 , 発振安定待
ち時間経過後 , デバイスは RUN 状態に復帰します。
ただし , RAM でプログラムを実行している場合は , フラッシュリカバリ待ち
時間は発生しません。
(5)
メインクロックモード , メイン PLL クロックモード , メイン CR クロック
モードまたはメイン CR PLL クロックモード中のスタンバイ制御レジスタ
(STBC:TMD) の時計ビットに "1" を書き込むと , デバイスはタイムベース
モードに遷移します。
スリープモード
ストップモード
(6)
タイムベースタイマモード 周辺機能からの割込みにより , フラッシュリカバリ待ち時間の経過を待って
からデバイスは RUN 状態に復帰します。
また , フラッシュリカバリ待ち時間の間はスリープモード (CPU は動作停止 ,
周辺機能は動作再開 ) となります。
ただし , RAM でプログラムを実行している場合は , フラッシュリカバリ待ち
時間は発生しません。
(7)
サブクロックモードまたはサブ CR クロックモードのスタンバイ制御レジス
タの時計ビット (STBC:TMD) に "1" を書き込むと , デバイスは時計モードに
遷移します。
時計モード
(8)
48
周辺機能からの割込みにより , フラッシュリカバリ待ち時間の経過を待って
からデバイスは RUN 状態に復帰します。
また , フラッシュリカバリ待ち時間の間はスリープモード (CPU は動作停止 ,
周辺機能は動作再開 ) となります。
ただし , RAM でプログラムを実行している場合は , フラッシュリカバリ待ち
時間は発生しません。
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
3.5.2
スリープモード
第 3 章 クロック制御部
3.5 低消費電力モード ( スタンバイモード ) の動作
スリープモードでは CPU とウォッチドッグタイマの動作は停止となります。
■ スリープモードの動作
スリープモードでは CPU とウォッチドッグタイマの動作クロックは停止となります。
CPU はデバイスがスリープモードへ遷移する直前に存在しているレジスタと RAM の
内容を保持して停止しますが , ウォッチドッグタイマを除く周辺機能は動作を続けま
す。
ハードウェアウォッチドッグタイマの場合 , 不揮発性レジスタ機能によってスタンバ
イモードが許可されたとき , スリープモードでサブ CR クロックは停止せず , ハード
ウェアウォッチドッグタイマは動作します。詳細は ,「第 22 章 不揮発性レジスタ (NVR)
インタフェース」を参照してください。
● スリープモードへの遷移
スタンバイ制御レジスタのスリープビット (STBC:SLP) を "1" に設定すると , デバイス
はスリープモードに入ります。
● スリープモードの解除
リセットまたは周辺機能からの割込みによって , デバイスはスリープモードから解除
されます。
リセットまたは周辺機能からの割込みが発生した後でも , フラッシュリカバリ待ち時
間が経過するまでデバイスはスリープモードを継続します。
ただし , RAM でプログラムを実行している場合は , フラッシュリカバリ待ち時間は発
生しません。
フラッシュリカバリ待ち時間の詳細については , 図 3.5-1 を参照してください。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
49
第 3 章 クロック制御部
3.5 低消費電力モード ( スタンバイモード ) の動作
3.5.3
MB95650L シリーズ
ストップモード
ストップモードでは , メインクロック , メイン PLL クロック , メイン CR クロック ,
メイン CR PLL クロックおよびサブクロックは停止となります。
■ ストップモードの動作
ストップモードでは , メインクロック , メイン PLL クロック , メイン CR クロック , メ
イン CR PLL クロックおよびサブクロックは停止となります。このモードでは , デバイ
スはストップモードへ遷移する直前にレジスタと RAM の内容を保持しつつ , 外部割込
みと低電圧検出リセットを除くすべての機能を停止します。
ハードウェアウォッチドッグタイマの場合 , 不揮発性レジスタ機能によってスタンバ
イモードが許可されたとき , ストップモードでサブ CR クロックは停止せず , ハード
ウェアウォッチドッグタイマは動作します。詳細は「第 22 章 不揮発性レジスタ (NVR)
インタフェース」を参照してください。
● ストップモードへの遷移
スタンバイ制御レジスタのストップビット (STBC:STP) に "1" を書き込むと , デバイス
はストップモードに入ります。このとき , スタンバイ制御レジスタの端子状態設定ビッ
ト (STBC:SPL) が "0" の場合 , 外部端子の状態は保持され , SPL ビットが "1" の場合には
外部端子の状態はハイインピーダンスになります ( プルアップレジスタでプルアップ
抵抗を選択している端子はプルアップ状態になります ) 。
● ストップモードの解除
ストップモードはリセットまたは外部割込みによって解除されます。どのクロック
モードも , スタンバイモードにおいて , ハードウェアウォッチドッグタイマか不揮発性
レジスタ機能によって許可された場合 , サブ CR クロックは停止せず , ウォッチドッグ
タイマおよび時計プリスケーラはストップモードで動作します。また , 時計プリスケー
ラからの割込みによりデバイスはストップモードから解除されます。詳細は , 「第 22
章 不揮発性レジスタ (NVR) インタフェース」を参照してください。
リセットまたは周辺機能からの割込み発生後の動作は , 発振安定待ち時間とフラッ
シュリカバリ待ち時間の関係で以下のようになります。
•
発振安定待ち時間がフラッシュリカバリ待ち時間より短い場合
発振安定待ち時間経過後 , デバイスはスリープモードに遷移し , フラッシュリカバ
リ待ち時間が経過するまでスリープモードを継続します。
•
発振安定待ち時間がフラッシュリカバリ待ち時間より長い場合
発振安定待ち時間経過後 , デバイスは RUN 状態に復帰します。
ただし , RAM でプログラムを実行している場合は , フラッシュリカバリ待ち時間は発
生しません。
フラッシュリカバリ待ち時間の詳細については , 図 3.5-1 を参照してください。
50
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 3 章 クロック制御部
3.5 低消費電力モード ( スタンバイモード ) の動作
<注意事項>
デバイスが割込みによってストップモードから解除された場合 , 動作途中でストップモー
ドとなった周辺機能はストップモードに遷移した時点の動作から再開します。そのため ,
インターバルタイマにおける初回のインターバル時間などの周辺機能設定が不定になり
ます。デバイスをストップモードから解除した後は必要に応じて周辺機能を初期化してく
ださい。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
51
第 3 章 クロック制御部
3.5 低消費電力モード ( スタンバイモード ) の動作
3.5.4
MB95650L シリーズ
タイムベースタイマモード
タイムベースタイマモードではメインクロック発振 , サブクロック発振 , タイムベー
スタイマおよび時計プリスケーラのみ動作します。このモードでは CPU と周辺機能
の動作クロックは停止となります。
■ タイムベースタイマの動作
タイムベースタイマモードは , タイムベースタイマへのクロック供給を除きメインク
ロックの供給を停止させるモードです。このモードではデバイスはタイムベースタイ
マモードへ遷移する直前に存在しているレジスタと RAM の内容を保持しつつ , タイム
ベースタイマ , 外部割込みと低電圧検出リセットを除くすべての機能を停止します。
システムクロック制御レジスタ 2 のサブクロック発振許可ビットおよびサブ CR クロッ
ク発振許可ビット (SYCC2:SOSCE, SCRE) の設定により , それぞれサブクロック発振お
よびサブ CR クロック発振をそれぞれ許可または禁止できます。サブクロックが発振
する場合 , 時計プリスケーラが動作します。
ハードウェアウォッチドッグタイマの場合 , 不揮発性レジスタ機能によってスタンバ
イモードが許可されたとき, タイムベースタイマモードでサブCRクロックは停止せず,
ハードウェアウォッチドッグタイマは動作します。詳細は, 「第22章 不揮発性レジス
タ (NVR) インタフェース」 を参照してください。
● タイムベースタイマモードへの遷移
システムクロック制御レジスタのクロックモードモニタビット (SYCC:SCM[2:0]) が
"0b010", "0b011", "0b110" または "0b111"の場合, スタンバイ制御レジスタの時計ビット
(STBC:TMD) に "1" を書き込むことによりデバイスはタイムベースタイマモードに遷
移します。
タイムベースタイマモードへの遷移はデバイスのクロックモードがメインクロック
モード , メイン PLL クロックモード , メイン CR クロックモードまたはメイン CR PLL
クロックモードのときのみ可能です。
デバイスがタイムベースタイマモードに遷移したとき , スタンバイ制御レジスタの端
子状態設定ビット (STBC:SPL) が "0" の場合 , 外部端子の状態を保持し , SPL ビットが
"1" の場合には外部端子の状態はハイインピーダンスになります ( プルアップレジスタ
でプルアップ抵抗を選択している端子はプルアップ状態になります ) 。
● タイムベースタイマモードからの解除
リセット , タイムベースタイマ割込み , 外部割込みにより , デバイスはタイムベースタ
イマモードから解除されます。
システムクロック制御レジスタ 2 (SYCC2) のサブクロック発振許可ビット (SOSCE) と
サブ CR クロック発振許可ビット (SCRE) の設定により , サブクロック発振およびサブ
CR クロック発振を許可または禁止できます。サブクロックが発振する場合 , 時計プリ
スケーラからの割込みによりデバイスはタイムベースタイマモードから解除されま
す。
リセットまたは周辺機能からの割込みが発生した後でも , フラッシュリカバリ待ち時
間が経過するまでデバイスはスリープモードで動作を継続します。
ただし , RAM でプログラムを実行している場合は , フラッシュリカバリ待ち時間は発
52
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 3 章 クロック制御部
3.5 低消費電力モード ( スタンバイモード ) の動作
生しません。
フラッシュリカバリ待ち時間の詳細については , 図 3.5-1 を参照してください。
<注意事項>
デバイスが割込みによってタイムベースタイマモードから解除された場合 , 動作途中でタ
イムベースタイマモードとなった周辺機能は , タイムベースタイマモードに遷移した時点
の動作から再開します。そのため , インターバルタイマにおける初回のインターバル時間
などの周辺機能設定が不定になります。デバイスをタイムベースタイマモードから解除し
た後は必要に応じて周辺機能を初期化してください。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
53
第 3 章 クロック制御部
3.5 低消費電力モード ( スタンバイモード ) の動作
MB95650L シリーズ
時計モード
3.5.5
時計モードではサブクロック , サブ CR クロックおよび時計プリスケーラのみが動作
します。このモードでは CPU と周辺機能の動作クロックは停止となります。
■ 時計モードの動作
時計モードでは , デバイスは時計モードへ遷移する直前にレジスタと RAM の内容を保
持しつつ , デバイスは外部割込みと低電圧検出リセットを除くすべての機能を停止し
ます。
スタンバイモード中に , 不揮発性レジスタによってハードウェアウォッチドッグタイ
マが許可されていると , 時計モードでサブ CR クロックは停止せず , ハードウェア
ウォッチドッグタイマは動作します。詳細は , 「第 22 章 不揮発性レジスタ (NVR) イ
ンタフェース」を参照してください。
● 時計モードへの遷移
システムクロック制御レジスタのシステムクロックモニタビット (SYCC:SCM[2:0]) が
"0b000" または "0b100" の場合 , スタンバイ制御レジスタの時計ビット (STBC:TMD) に
"1" を書き込むことによりデバイスは時計モードに遷移します。
時計モードへの遷移はデバイスのクロックモードがサブクロックモードまたはサブ
CR クロックモードのときのみ遷移できます。
デバイスが時計モードに遷移したとき , スタンバイ制御レジスタの端子状態設定ビッ
ト (STBC:SPL) が "0" の場合 , 外部端子の状態を保持し , SPL ビットが "1" の場合には外
部端子の状態はハイインピーダンスになります ( プルアップレジスタでプルアップ抵
抗を選択している端子はプルアップ状態になります ) 。
● 時計モードからの解除
リセット , 時計割込みまたは外部割込みによりデバイスは時計モードから解除されま
す。
リセットまたは周辺機能からの割込みが発生した後でも , フラッシュリカバリ待ち時
間が経過するまでデバイスはスリープモードで動作を継続します。
ただし , RAM でプログラムを実行している場合は , フラッシュリカバリ待ち時間は発
生しません。
フラッシュリカバリ待ち時間の詳細については , 図 3.5-1 を参照してください。
<注意事項>
デバイスが割込みによって時計モードから解除された場合 , 動作途中で時計モードとなっ
た周辺機能は , 時計モードに遷移した時点の動作から再開します。そのため , インターバ
ルタイマにおける初回のインターバル時間などの周辺機能設定が不定になります。デバイ
スを時計モードから解除した後は , 必要に応じて周辺機能を初期化してください。
54
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 3 章 クロック制御部
3.6 クロック発振回路
MB95650L シリーズ
3.6
クロック発振回路
クロック発振回路はクロック発振端子に振動子を接続するかまたはクロック信号を
入力することによって内部クロックを生成します。
■ クロック発振回路
● 水晶振動子またはセラミック振動子の場合
図 3.6-1 のように水晶振動子またはセラミック振動子を接続してください。
図 3.6-1 水晶振動子とセラミック振動子の接続例
2系統の外部クロックに接続
メインクロック
発振回路
X0
C
X1
サブクロック
発振回路
X0A
X1A
C
C
C
● 外部クロックの場合
図 3.6-2 に示すように , クロック信号を外部クロックからメインクロックに供給する場
合 , 外部クロックを X0 端子に接続し , SYSC レジスタの PFSEL[1:0] ビットに "10" を書
き込んでください。また , クロック信号を外部クロックからサブクロックに供給する場
合 , 外部クロックを X0A 端子に接続し , SYSC レジスタの PGSEL[1:0] ビットに "10" を
書き込んでください。SYSC レジスタの詳細については , 「第 23 章 システム構成コン
トローラ」を参照してください。
図 3.6-2 外部クロックの接続例
X1 開放
メインクロック
発振回路
X0
MN702-00015-2v0-J
サブクロック
発振回路
X0A
FUJITSU SEMICONDUCTOR LIMITED
55
第 3 章 クロック制御部
3.7 プリスケーラの概要
3.7
MB95650L シリーズ
プリスケーラの概要
プリスケーラは , マシンクロック (MCLK) とタイムベースタイマから出力されるカウ
ントクロックより , 各種周辺機能へ供給するカウントクロックソースを生成します。
■ プリスケーラ
プリスケーラは CPU の動作するマシンクロック (MCLK) とタイムベースタイマから出
力されるカウントクロック (FCH/27, FCH/28, FCRH/26, FCRH/27, FPLL/26 または FPLL/27) よ
り , 各種周辺機能へ供給するカウントクロックソースを生成します。このカウントク
ロックソースはプリスケーラで分周されたクロックまたはバッファされたクロックで
す。下記の周辺機能はこのプリスケーラによって分周されたクロック周波数をカウン
トクロックソースとして使用しています。
なお , 本プリスケーラには制御用のレジスタはなく , マシンクロック (MCLK) およびタ
イムベースタイマのカウントクロック (FCH/27, FCH/28, FCRH/26, FCRH/27, FPLL/26 または
FPLL/27) にて常に動作します。
56
•
8/16 ビット複合タイマ
•
8/12 ビット A/D コンバータ
•
UART/SIO 専用ボーレートジェネレータ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 3 章 クロック制御部
3.8 プリスケーラの構成
MB95650L シリーズ
3.8
プリスケーラの構成
図 3.8-1 に , プリスケーラのブロックダイヤグラムを示します。
■ プリスケーラのブロックダイヤグラム
図 3.8-1 プリスケーラのブロックダイヤグラム
プリスケーラ
MCLK/2
MCLK/4
カウンタ値
MCLK/8
MCLK(マシンクロック)
5ビット
カウンタ
出力制御回路
タイムベースタイマから
FCH/27
FCRH/26
あるいは
FCH/28
FPLL/26
あるいは
FCRH/27
FPLL/27
MCLK
FCH
FCRH
FPLL
:マシンクロック(内部動作周波数)
:メインクロック周波数
:メインCRクロック周波数
:PLLクロック周波数
•
MCLK/16
MCLK/32
各周辺機能へ
カウントクロック
を供給する
FCH/27,FCRH/26 あるいは FPLL/26
FCH/28,FCRH/27 あるいは FPLL/27
5 ビットカウンタ
本カウンタは , マシンクロック (MCLK) をカウントし , 出力制御回路へカウンタ値
を出力します。
•
出力制御回路
本回路は , 5 ビットカウンタ値に基づき , マシンクロック (MCLK) を 2 分周 , 4 分周 ,
8 分周 , 16 分周 , 32 分周したクロックを各周辺機能へ供給する回路です。この回路
はタイムベースタイマ (FCH/27, FCH/28, FCRH/26, FCRH/27, FPLL/26 または FPLL/27) か
らのクロックをバッファリングして各周辺機能へ供給します。
■ 入力クロック
プリスケーラはマシンクロックまたはタイムベースタイマの出力クロックを入力ク
ロックとして使用します。
■ 出力クロック
プリスケーラは以下の周辺機能にクロックを供給します。
•
8/16 ビット複合タイマ
•
8/12 ビット A/D コンバータ
•
UART/SIO 専用ボーレートジェネレータ
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
57
第 3 章 クロック制御部
3.9 プリスケーラの動作
3.9
MB95650L シリーズ
プリスケーラの動作
プリスケーラは , 各周辺機能へ供給するカウントクロックソースを生成します。
■ プリスケーラの動作
プリスケーラは , マシンクロック (MCLK) を分周して生成される周波数のクロックお
よびタイムベースタイマ (FCH/27, FCH/28, FCRH/26, FCRH/27, FPLL/26 または FPLL/27) の
バッファ信号からカウントクロックソースを生成し , 各周辺機能へ供給します。このプ
リスケーラはマシンクロックとタイムベースタイマからのクロックが供給されている
間は動作を継続します。
表 3.9-1, 表 3.9-2と表 3.9-3に, プリスケーラの生成するカウントクロックソースを示し
ます。
表 3.9-1
プリスケーラの生成するカウントクロックソース (FCH)
カウントクロック
ソース周波数
周波数
(FCH = 32.5 MHz,
MCLK = 16.25 MHz)
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
/28
78.125 kHz
125 kHz
126.95 kHz
プリスケーラの生成するカウントクロックソース (FCRH)
カウントクロック
ソース周波数
58
周波数
(FCH = 32 MHz,
MCLK = 16 MHz)
MCLK/2
FCH
表 3.9-2
周波数
(FCH = 20 MHz,
MCLK = 10 MHz)
周波数
(FCRH = 4 MHz,
MCLK = 4 MHz)
MCLK/2
2 MHz
MCLK/4
1 MHz
MCLK/8
0.5 MHz
MCLK/16
0.25 MHz
MCLK/32
125 kHz
FCRH
/26
62.5 kHz
FCRH
/27
31.25 kHz
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 3 章 クロック制御部
3.9 プリスケーラの動作
MB95650L シリーズ
表 3.9-3
プリスケーラの生成するカウントクロックソース (FPLL)
カウントクロック
ソース周波数
周波数
(FPLL = 8 MHz,
MCLK = 8 MHz)
周波数
(FPLL = 10 MHz,
MCLK = 10 MHz)
周波数
(FPLL = 12 MHz,
MCLK = 12 MHz)
周波数
(FPLL = 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
FPLL/26
125 kHz
156.25 kHz
187.5 kHz
0.25 MHz
FPLL/27
62.5 kHz
78.125 kHz
93.75 kHz
125 kHz
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
59
第 3 章 クロック制御部
3.10 プリスケーラ使用上の注意
3.10
MB95650L シリーズ
プリスケーラ使用上の注意
プリスケーラ使用上の注意を示します。
プリスケーラは , マシンクロックとタイムベースタイマから発生するクロックにより
動作し , これらのクロックが供給されている間は動作を継続します。したがって , 周辺
機能が起動した直後の動作は , プリスケーラの出力値に応じて , 周辺機能のクロック取
込みに , 最大 1 クロックリソース分の誤差が発生します。
図 3.10-1 周辺機能起動直後に発生するクロック取込み誤差
プリスケーラ
の出力
周辺機能起動
周辺機能側の
クロック取込み
周辺機能起動直後の
クロック取込み誤差
以下の周辺機能は , プリスケーラのカウント値の影響を受けます。
60
•
8/16 ビット複合タイマ
•
8/12 ビット A/D コンバータ
•
UART/SIO 専用ボーレートジェネレータ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第4章
リセット
リセットの動作について説明します。
MN702-00015-2v0-J
4.1
リセット動作
4.2
レジスタ
4.3
使用上の注意
FUJITSU SEMICONDUCTOR LIMITED
61
第 4 章 リセット
4.1 リセット動作
MB95650L シリーズ
リセット動作
4.1
リセット要因が発生すると, CPUは現在実行中の処理を直ちに中断してリセット解除
待ち状態になります。リセットが解除されると , CPU はフラッシュメモリからモード
データとリセットベクタを読み出します ( モードフェッチ )。電源投入時またはデバ
イスがサブクロックモード , サブ CR クロックモードおよびストップモードのリセッ
トから解除されると, CPUは発振安定待ち時間が経過した後にモードフェッチを行い
ます。
■ リセット要因
リセットには , 5 つのリセット要因があります。
表 4.1-1
リセット要因
リセット要因
リセット条件
外部リセット
外部リセット端子に "L" レベルを入力する。
ソフトウェアリセット
スタンバイ制御レジスタのソフトウェアリセットビット
(STBC:SRST) を "1" に設定する。
ウォッチドッグリセット
ウォッチドッグタイマのオーバフロー。
パワーオンリセット
電源の投入
低電圧検出リセット ( オプション )
供給電圧が検出電圧より低下する。
● 外部リセット
外部リセット端子 (RST) を "L" レベルにすることによって , 外部リセットを発生します。
外部から入力されたリセット信号は , 内部のノイズフィルタを通してマイコンの動作
クロックに非同期で受け付けられ , 内部回路を初期化するためにマシンクロックに同
期した内部リセット信号を発生します。したがって , 内部回路の初期化のためにマイコ
ンの動作クロックが必要です。ただし , 外部クロックで動作するためには , 外部クロッ
ク信号が入力されなければいけません。外部端子 (I/O ポートおよび周辺機能を含む ) は
非同期でリセットされます。また , 外部リセット入力には , パルス幅の標準値がありま
す。パルス幅が標準値を下回る場合は , リセット信号が受け付けられないことがありま
す。
なお , 標準値はデータシートに記載しているため , 標準値を満足するように外部のリ
セット回路を設計してください。
● ソフトウェアリセット
スタンバイ制御レジスタのソフトウェアリセットビット (STBC:SRST) を "1" に設定す
ることによって , ソフトウェアリセットが発生します。
● ウォッチドッグリセット
ウォッチドッグタイマの起動後 , 所定時間にウォッチドッグタイマのクリアが行われ
ないときには , ウォッチドッグリセットが発生します。
● パワーオンリセット
電源が投入されると , パワーオンリセットが発生します。
62
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 4 章 リセット
4.1 リセット動作
● 低電圧検出リセット ( オプション )
低電圧検出リセット回路は特定の品種にのみ搭載されています。デバイスのデータ
シートでこの回路の有無を確認してください。
低電圧検出リセット回路は , 電源電圧が定められた電圧より低下したときにリセット
を発生します。
低電圧検出リセットの論理機能はパワーオンリセットと同じです。本マニュアルにお
けるパワーオンリセットに関するすべての記述は , 低電圧検出リセットにも適応され
ます。
ただし , 低電圧検出回路の LVD 制御レジスタ (LVDC) は低電圧検出リセットによって
はリセットされません。
低電圧検出リセットの詳細については「第 15 章 低電圧検出回路」を参照してください。
■ リセット中の時間
リセット中の時間はリセット要因により異なります。
•
ソフトウェアリセット , ウォッチドッグリセットまたは外部リセットの場合
リセット時間は , リセット前に選択したマシンクロックの周期 , RAM アクセス中の
リセットを抑止する RAM アクセス保護機能およびサブ CR クロック発振安定待ち
時間から影響を受けます。RAM アクセス保護機能はリセット前に選択したマシン
クロックの周期によって延長されることがあります。
システムクロック制御レジスタ 2 のサブ CR クロック発振安定ビット (SYCC2:
SCRDY) が "1" のときにリセットが発生した場合 , メイン CR クロック発振安定待ち
時間経過後 , リセット状態が解除されます。
システムクロック制御レジスタ 2 のサブ CR クロック発振安定ビット (SYCC2:
SCRDY) が "0" のときにリセットが発生した場合 , サブ CR クロック発振安定待ち時
間とメイン CR クロック発振安定待ち時間が経過した後に , リセット状態が解除さ
れます。
•
パワーオンリセットおよび低電圧検出リセットの場合
リセット状態は , サブ CR クロック発振安定待ち時間とメイン CR クロック発振安
定待ち時間が経過した後に , 解除されます。
■ リセット出力
RST端子は, リセット入力機能が有効であり, かつリセット出力機能が有効である場合,
リセット中に "L" レベルを出力します。ただし , 外部リセットの場合はリセット端子に
は "L" レベルを出力する機能はありません。
リセット入力機能 , リセット出力機能設定については ,「第 23 章 システム構成コント
ローラ」を参照してください。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
63
第 4 章 リセット
4.1 リセット動作
MB95650L シリーズ
■ リセット動作の概要
図 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 バ
イトのデータの書込み中 , ワードデータの書込み動作がリセットにより割り込まれる
のを防止します。
64
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 4 章 リセット
4.1 リセット動作
■ リセット中の端子の状態
リセットが発生すると I/O ポートまたは周辺機能端子は , リセット解除後ソフトウェア
による設定が行われるまで , ハイインピーダンスになります。
<注意事項>
デバイスの誤作動防止ため , リセット中はハイインピーダンスとなる端子に対してプル
アップ抵抗を接続してください。
リセット中の全端子の状態については , デバイスのデータシートを参照してください。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
65
第 4 章 リセット
4.2 レジスタ
MB95650L シリーズ
レジスタ
4.2
リセット用のレジスタについて説明します。
表 4.2-1
リセット用のレジスタ一覧
レジスタ略称
RSRR
66
レジスタ名
リセット要因レジスタ
FUJITSU SEMICONDUCTOR LIMITED
参照先
4.2.1
MN702-00015-2v0-J
第 4 章 リセット
4.2 レジスタ
MB95650L シリーズ
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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
67
第 4 章 リセット
4.2 レジスタ
MB95650L シリーズ
[bit1] HWR: ハードウェアリセットフラグビット
このビットが "1" になった場合 , ハードウェアリセット ( パワーオンリセット , 低電圧検出リセット
( オプション ), 外部リセットまたは ウォッチドッグリセット ) が発生したことを示します。したがっ
て , bit4 ~ bit2 のいずれかのビットが "1" になった場合 , このビットも "1" になります。
ソフトウェアリセットが発生した場合は , リセット発生前の値を保持します。
読出し動作または書込み動作 ("0" または "1" の書込み ) はこの ビットを "0" に設定します。
説明
bit1
読出し動作
このビットを "0" に設定します。
"1" に設定された場合
リセット要因がハードウェアリセットであることを示します。
書込み動作
このビットを "0" に設定します。
[bit0] SWR: ソフトウェアリセットフラグビット
このビットが "1" になった場合 , ソフトウェアリセットが発生したことを示します。
ハードウェアリセットが発生した場合は , リセット発生前の値を保持します。
読出し動作または書込み動作 ("0" または "1" の書込み ) またはパワーオンリセットはこの ビットを
"0" に設定します。
説明
bit0
読出し動作
このビットを "0" に設定します。
"1" に設定された場合
リセット要因がソフトウェアリセットであることを示します。
書込み動作
このビットを "0" に設定します。
<注意事項>
リセット要因レジスタを読み出すとその内容がクリアされるため , レジスタの内容を演算
に使用する前に RAM に保存してください。
68
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 4 章 リセット
4.2 レジスタ
MB95650L シリーズ
■ リセット要因レジスタ (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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
69
第 4 章 リセット
4.3 使用上の注意
4.3
MB95650L シリーズ
使用上の注意
リセット使用上の注意を示します。
■ リセット使用上の注意
● リセットの要因によるレジスタおよびビットの初期化について
リセットが発生しても , 初期化されないレジスタやビットがあります。
•
リセット要因の種類により , リセット要因レジスタ (RSRR) のどのビットを初期化
するか決定されます。
•
クロック制御部の発振安定待ち時間設定レジスタ (WATR) はパワーオンリセットに
よってのみ初期化されます。
70
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第5章
割込み
割込みについて説明します。
5.1
MN702-00015-2v0-J
割込み
FUJITSU SEMICONDUCTOR LIMITED
71
第 5 章 割込み
5.1 割込み
5.1
MB95650L シリーズ
割込み
割込みについて説明します。
■ 割込みの概要
New 8FX ファミリには , 周辺機能に関連する 24 本の割込み要求入力があり , それぞれ
独立に割込みレベルを設定できます。
周辺機能で割込み要求が発生した場合 , この割込み要求は割込みコントローラに出力
されます。割込みコントローラは , その割込み要求の割込みレベルを判定し , CPU に割
込みの発生を伝えます。CPU は割込み受付け状態に従って割込み動作を行います。ま
た , スタンバイモード時の割込み要求によりデバイスはスタンバイモードから復帰し ,
命令実行を再開します。
■ 周辺機能からの割込み要求
CPU が割込み要求を受け付けると , 割込み要求に対応する割込みベクタテーブルアド
レスを分岐先アドレスとして , 割込みサービスルーチンへ分岐します。
各割込み要求の割込み処理優先順位は , 割込みレベル設定レジスタ (ILR0 ~ ILR5) によ
り , 割込み処理の優先順位を 4 段階に設定できます。
割込みサービスルーチンで割込みが処理されている間 , 同一またはそれ以下のレベル
の割込み要求が発生した場合は , 現在の割込みサービスルーチンが終了した後に , 処理
が実行されます。
また, 複数の割込み要求が同一割込みレベルに設定された場合, IRQ00
が最優先順位になります。
割込み要因については , デバイスのデータシートの「■ 割込み要因のテーブル」を参照
してください。
72
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 5 章 割込み
5.1 割込み
MB95650L シリーズ
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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
73
第 5 章 割込み
5.1 割込み
MB95650L シリーズ
ベルビットと比較されます。
割込み要求の割込みレベル 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" です。
74
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
5.1.2
割込み動作時の処理
第 5 章 割込み
5.1 割込み
周辺機能により割込み要求が発生すると , 割込みコントローラはその割込み要求の割
込みレベルを CPU に通知します。CPU が割込みを受け付けられる状態になっている
と , 現在実行中のプログラムを一時中断し , 割込みサービスルーチンを実行します。
■ 割込み動作時の処理
割込み処理の手順は , 周辺機能の割込み要因発生 , メインプログラムの実行 , 割込み要
求フラグビットの設定 , 割込み要求許可ビットの判定 , 割込みレベル (ILR0 ~ ILR5 お
よび CCR:IL[1:0]) の判定 , 同一割込みレベルの同時要求の確認 , 割込み許可フラグ
(CCR:I) の判定 , という順で行われます。
図 5.1-1 に , 割込み動作時の処理を示します。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
75
第 5 章 割込み
5.1 割込み
MB95650L シリーズ
図 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
76
FUJITSU SEMICONDUCTOR LIMITED
PC←割込みベクタ
PS内のILの更新
MN702-00015-2v0-J
MB95650L シリーズ
第 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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
77
第 5 章 割込み
5.1 割込み
5.1.3
MB95650L シリーズ
多重割込み
周辺機能からの複数の割込み要求に対し , 割込みレベル設定レジスタ (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) が復帰されることにより , 割込み前の値を示します。
78
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 5 章 割込み
5.1 割込み
MB95650L シリーズ
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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
79
第 5 章 割込み
5.1 割込み
MB95650L シリーズ
割込み処理時のスタック動作
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 の値を退避 , 復帰させてください。
80
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
81
第 5 章 割込み
5.1 割込み
82
MB95650L シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第6章
I/O ポート
I/O ポートの機能と動作について説明します。
MN702-00015-2v0-J
6.1
概要
6.2
構成と動作
FUJITSU SEMICONDUCTOR LIMITED
83
第 6 章 I/O ポート
6.1 概要
6.1
MB95650L シリーズ
概要
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 マップ」を参照してください。
84
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
85
第 6 章 I/O ポート
6.2 構成と動作
MB95650L シリーズ
■ 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" に初期化されるため , ポート入力は禁止されます。
86
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
87
第 6 章 I/O ポート
6.2 構成と動作
88
MB95650L シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第7章
タイムベースタイマ
タイムベースタイマの機能と動作について説明し
ます。
MN702-00015-2v0-J
7.1
概要
7.2
構成
7.3
割込み
7.4
動作説明と設定手順例
7.5
レジスタ
7.6
使用上の注意
FUJITSU SEMICONDUCTOR LIMITED
89
第 7 章 タイムベースタイマ
7.1 概要
7.1
MB95650L シリーズ
概要
タイムベースタイマは , メインクロックの 2 分周 , メイン CR クロックまたは PLL ク
ロックに同期してカウントダウンする 24 ビットのフリーランカウンタです。クロッ
クは , SYCC レジスタの SCS[2:0] ビットによって選択できます。このタイムベース
タイマには , 一定のインターバル時間で繰返し割込み要求を発生させるインターバル
タイマ機能があります。
■ インターバルタイマ機能
インターバルタイマ機能は , メインクロックの 2 分周 , メイン CR クロックまたは PLL
クロックをカウントクロックとして一定のインターバル時間で繰返し割込み要求を発
生させる機能です。
•
タイムベースタイマのカウンタがカウントダウンを行い , 選択したインターバル時
間が経過するごとに割込み要求を発生させます。
•
インターバル時間の長さは , 次の 16 種類の中から選択できます。
表 7.1-1 に , タイムベースタイマのインターバル時間を示します。
表 7.1-1
タイムベースタイマのインターバル時間
メインクロックを使用した
場合のインターバル時間
(2n×2/FCH*1)
n=9
n=10
n=11
n=12
n=13
n=14
n=15
n=16
n=17
n=18
n=19
n=20
n=21
n=22
n=23
n=24
256 µs
512 µs
1.024 ms
2.048 ms
4.096 ms
8.192 ms
16.384 ms
32.768 ms
65.536 ms
131.072 ms
262.144 ms
524.288 ms
1.049 s
2.097 s
4.194 s
8.389 s
PLL 逓倍率 2 をかけたメインク
メイン CR クロックを使用し
ロックまたはメイン CR クロックを
た場合のインターバル時間
使用した場合のインターバル時間
(2n×1/FCRH*2)
128 µs
256 µs
512 µs
1.024 ms
2.048 ms
4.096 ms
8.192 ms
16.384 ms
32.768 ms
65.536 ms
131.072 ms
262.144 ms
524.288 ms
1.049 s
2.097 s
4.194 s
(2n×1/FPLL*3)
64 µs
128 µs
256 µs
512 µs
1.024 ms
2.048 ms
4.096 ms
8.192 ms
16.384 ms
32.768 ms
65.536 ms
131.072 ms
262.144 ms
524.288 ms
1.049 s
2.097 s
*1: FCH = 4 MHz
∴2/FCH = 0.5 µs
*2: FCRH = 4 MHz
∴1/FCRH = 0.25 µs
*3: FPLL = 8 MHz
PLL 逓倍率 = 2
(FCH または FCRH) × PLL 逓倍率 = 4 MHz × 2 = 8 MHz
∴1/FPLL = 0.125 µs
90
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 7 章 タイムベースタイマ
7.2 構成
MB95650L シリーズ
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
FPLL
SCM2
SCM1
SCM0
SCS2
SCS1
システムクロック制御レジスタ(SYCC)
SCS0
DIV1
DIV0
カウンタクリア
ソフトウェアウォッチドッグタイマクリア
リセット
メインクロック, メインCRクロックの発振停止
カウンタクリア
回路
インターバルタイマ
セレクタ
タイムベースタイマ割込み
TBIF
TBIE
-
TBC3
TBC2
TBC1
TBC0
TCLR
タイムベースタイマ制御レジスタ (TBTC)
FCH : メインクロック
FCRH : メインCRクロック
FPLL : PLLクロック
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
91
第 7 章 タイムベースタイマ
7.2 構成
MB95650L シリーズ
● タイムベースタイマカウンタ
メインクロックの 2 分周 , メイン CR クロックまたは PLL クロックをカウントクロッ
クとする 24 ビットのダウンカウンタです。
● カウンタクリア回路
タイムベースタイマのカウンタのクリアを制御する回路です。
● インターバルタイマセレクタ
24ビットのタイムベースタイマカウンタの中の16ビットからインターバルタイマ用の
1 ビットを選択する回路です。
● タイムベースタイマ制御レジスタ (TBTC)
インターバル時間の選択 , カウンタのクリア , 割込み制御およびタイムベースタイマの
状態確認を行うレジスタです。
■ 入力クロック
タイムベースタイマは , メインクロックの 2 分周 , メイン CR クロックまたは PLL ク
ロックを入力クロック ( カウントクロック ) として使用します。
■ 出力クロック
タイムベースタイマは , クロックスーパバイザカウンタ , ソフトウェアウォッチドッグ
タイマとプリスケーラにクロックを供給しています。
92
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 7 章 タイムベースタイマ
7.3 割込み
MB95650L シリーズ
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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
93
第 7 章 タイムベースタイマ
7.4 動作説明と設定手順例
7.4
MB95650L シリーズ
動作説明と設定手順例
タイムベースタイマのインターバルタイマ機能の動作について説明します。
■ タイムベースタイマの動作
タイムベースタイマのカウンタは, リセット後"0xFFFFFF"に初期化され, メインクロッ
クの2分周, メインCRクロックまたは PLLクロックに同期してカウントを開始します。
タイムベースタイマは , メインクロック , メイン CR クロックまたは PLL クロックが発
振している限り , カウントダウンを続けます。メインクロック , メイン 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" に
なります。つまり , 最後にカウンタがクリアされた時間を基準にして , 選択されたイン
ターバル時間ごとに割込み要求を発生します。
94
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 7 章 タイムベースタイマ
7.4 動作説明と設定手順例
■ タイムベースタイマのクリア
タイムベースタイマの出力をほかの周辺機能で使用している際にタイムベースタイマ
をクリアすると , カウント時間が変化するなど動作に影響を与えます。
タイムベースタイマクリアビット (TBTC:TCLR) を使ってカウンタをクリアする場合は ,
このクリアによって予期せぬ影響が及ばないようにそのほかの周辺機能の設定を必要
に応じて変更してください。
なお , タイムベースタイマの出力がウォッチドッグタイマのカウントクロックとして
選択されているときにタイムベースタイマがクリアされると , 同時にウォッチドッグ
タイマもクリアされます。
タイムベースタイマは , TCLR ビットによってクリアされるだけでなく , メインクロッ
ク , メイン CR クロックまたは PLL クロックが停止し , 発振安定待ち時間のカウントが
必要になったときにもクリアされます。タイムベースタイマは以下の状況でクリアさ
れます。
•
デバイスが , メインクロックモード , メイン PLL クロックモード , メイン CR クロッ
クモードまたはメイン CR PLL クロックモードからストップモードへ遷移したとき
•
デバイスが , メインクロックモード , メイン PLL クロックモード , メイン CR クロッ
クモードまたはメイン CR PLL クロックモードからサブクロックモードまたはサブ
CR クロックモードへ遷移したとき
•
電源投入時
•
低電圧検出リセット時
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
95
第 7 章 タイムベースタイマ
7.4 動作説明と設定手順例
MB95650L シリーズ
■ タイムベースタイマの動作例
図 7.4-2 に , 以下の条件下の動作例を示します。
1. パワーオンリセットが発生した場合
2. デバイスが , メインクロックモード , メイン PLL クロックモード , メイン CR クロッ
クモードまたはメイン CR PLL クロックモードにおいてインターバルタイマ機能の
動作中に , スリープモードへ遷移した場合
3. デバイスが , メインクロックモード , メイン PLL クロックモード , メイン CR クロッ
クモードまたはメイン CR PLL クロックモード中に , ストップモードへ遷移した場
合
4. カウンタクリアの要求が発生した場合
デバイスがタイムベースタイマモードに遷移した場合 , スリープモードに遷移した際
と同様の動作が実行されます。
クロックモードがサブクロックモード , サブ CR クロックモード , メインクロックモー
ド , メイン PLL クロックモード , メイン 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)
•
•
•
•
•
•
96
TBTC:TBC[3:0]
TBTC:TCLR
TBTC:TBIF
TBTC:TBIE
STBC:SLP
STBC:STP
:
:
:
:
:
:
タイムベースタイマ制御レジスタのインターバル時間選択ビット
タイムベースタイマ制御レジスタのタイムベースタイマ初期化ビット
タイムベースタイマ制御レジスタのタイムベースタイマ割込み要求フラグビット
タイムベースタイマ制御レジスタのタイムベースタイマ割込み要求許可ビット
スタンバイ制御レジスタのスリープビット
スタンバイ制御レジスタのストップビット
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
97
第 7 章 タイムベースタイマ
7.5 レジスタ
MB95650L シリーズ
レジスタ
7.5
タイムベースタイマのレジスタについて説明します。
表 7.5-1
タイムベースタイマのレジスタ一覧
レジスタ略称
TBTC
98
レジスタ名
タイムベースタイマ制御レジスタ
FUJITSU SEMICONDUCTOR LIMITED
参照先
7.5.1
MN702-00015-2v0-J
第 7 章 タイムベースタイマ
7.5 レジスタ
MB95650L シリーズ
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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
99
第 7 章 タイムベースタイマ
7.5 レジスタ
MB95650L シリーズ
[bit4:1] TBC[3:0]: インターバル時間選択ビット
これらのビットはインターバル時間を選択します。
bit4:1
インターバル時間
( メインクロック ,
FCH = 4 MHz)
インターバル時間
( メイン CR クロック ,
FCRH = 4 MHz)
インターバル時間
(PLL 逓倍率 2 をかけた
メイン PLL クロックまたは
メイン CR クロック ,
FPLL = 8 MHz)
"0100" を書き込んだ場合
29×2/FCH (256 µs)
29×1/FCRH (128 µs)
29×1/FPLL (64 µs)
"0000" を書き込んだ場合
210×2/FCH (512 µs)
210×1/FCRH (256 µs)
210×1/FPLL (128 µs)
"0101" を書き込んだ場合
211×2/FCH (1.024 ms)
211×1/FCRH (512 µs)
211×1/FPLL (256 µs)
"0001" を書き込んだ場合
212×2/FCH (2.048 ms)
212×1/FCRH (1.024 ms)
212×1/FPLL (512 µs)
"0110" を書き込んだ場合
213×2/FCH (4.096 ms)
213×1/FCRH (2.048 ms)
213×1/FPLL (1.024 ms)
"0010" を書き込んだ場合
214×2/FCH (8.192 ms)
214×1/FCRH (4.096 ms)
214×1/FPLL (2.048 ms)
"0111" を書き込んだ場合
215×2/FCH (16.384 ms)
215×1/FCRH (8.192 ms)
215×1/FPLL (4.096 ms)
"0011" を書き込んだ場合
216×2/FCH (32.768 ms)
216×1/FCRH (16.384 ms)
216×1/FPLL (8.192 ms)
"1000" を書き込んだ場合
217×2/FCH (65.536 ms)
217×1/FCRH (32.768 ms)
217×1/FPLL (16.384 ms)
"1001" を書き込んだ場合
218×2/FCH (131.072 ms)
218×1/FCRH (65.536 ms)
218×1/FPLL (32.768 ms)
"1010" を書き込んだ場合
219×2/FCH (262.144 ms)
219×1/FCRH (131.072 ms)
219×1/FPLL (65.536 ms)
"1011" を書き込んだ場合
220×2/FCH (524.288 ms)
220×1/FCRH (262.144 ms)
220×1/FPLL (131.072 ms)
"1100" を書き込んだ場合
221×2/FCH (1.049 s)
221×1/FCRH (524.288 ms)
221×1/FPLL (262.144 ms)
"1101" を書き込んだ場合
222×2/FCH (2.097 s)
222×1/FCRH (1.049 s)
222×1/FPLL (524.288 ms)
"1110" を書き込んだ場合
223×2/FCH (4.194 s)
223×1/FCRH (2.097 s)
223×1/FPLL (1.049 s)
"1111" を書き込んだ場合
224×2/FCH (8.389 s)
224×1/FCRH (4.194 s)
224×1/FPLL (2.097 s)
[bit0] TCLR: タイムベースタイマクリアビット
このビットはタイムベースタイマのカウンタの全ビットを "1" にクリアします。
説明
bit0
読出し動作
読出し値は常に "0" です。
"0" を書き込んだ場合
動作に影響はありません。
"1" を書き込んだ場合
タイムベースタイマのカウンタの全ビットを "1" にクリアします。
( 注意事項 ) タイムベースタイマの出力が , ソフトウェアウォッチドッグタイマのカウントクロッ
クとして選択されている時には , このビットによりタイムベースタイマをクリアする
と , ソフトウェアウォッチドッグタイマもクリアされます。
100
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
7.6
使用上の注意
第 7 章 タイムベースタイマ
7.6 使用上の注意
タイムベースタイマ使用上の注意を示します。
■ タイムベースタイマ使用上の注意
● プログラムで設定する場合
タイムベースタイマ割込み要求フラグビット (TBTC:TBIF) が "1"に設定され , 割込み要
求許可ビットが許可された (TBTC:TBIE = 1) とき , タイマは , 割込み処理から復帰でき
ません。割込みサービスルーチン内で TBIF ビットのクリアを必ず行ってください。
● タイムベースタイマのクリアについて
タイムベースタイマは , タイムベースタイマクリアビットによるクリア (TBTC:TCLR = 1)
以外に , メインクロックの発振安定待ち時間 , メイン CR クロックの発振安定待ち時間
または PLL クロックの発振安定待ち時間が必要となる場合にクリアされます。ソフト
ウェアウォッチドッグタイマ (WDTC:CS[1:0] = 0b00 または CS[1:0] = 0b01) のカウント
クロックとしてタイムベースタイマが選択されている場合 , タイムベースタイマがク
リアされるとソフトウェアウォッチドッグタイマもクリアされます。
● タイムベースタイマからクロックを供給される周辺機能について
メインクロックの原発振が停止するモードでは , カウンタはクリアされ , タイムベース
タイマは動作を停止します。また , タイムベースタイマの出力をほかの周辺機能で使用
している際にタイムベースタイマのカウンタをクリアすると , 動作周期が変化するな
ど , 周辺機能の動作に影響を与えます。
なお , タイムベースタイマのカウンタがクリアされた後 , タイムベースタイマから出力
されたソフトウェアウォッチドッグタイマ用のクロックは , 初期状態となります。ただ
し , ソフトウェアウォッチドッグタイマが初期状態に戻ると同時に , ソフトウェア
ウォッチドッグタイマのカウンタもクリアされるため , ソフトウェアウォッチドッグ
タイマは正常の周期で動作します。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
101
第 7 章 タイムベースタイマ
7.6 使用上の注意
102
MB95650L シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第8章
ハードウェア / ソフトウェア
ウォッチドッグタイマ
ウォッチドッグタイマの機能と動作について説明
します。
MN702-00015-2v0-J
8.1
概要
8.2
構成
8.3
動作説明と設定手順例
8.4
レジスタ
8.5
使用上の注意
FUJITSU SEMICONDUCTOR LIMITED
103
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.1 概要
8.1
MB95650L シリーズ
概要
ウォッチドッグタイマは , プログラム暴走対策用のカウンタです。
■ ウォッチドッグタイマ機能
ウォッチドッグタイマは , プログラム暴走対策用のカウンタです。ウォッチドッグタイ
マが一度起動すると , 一定時間内で定期的にウォッチドッグタイマのカウンタをクリ
アし続けてください。
プログラムが無限ループに陥るなどして , 一定時間以上クリアさ
れない場合 , ウォッチドッグリセットを発生します。
● ソフトウェア / ハードウェアウォッチドッグタイマのカウントクロック
•
ソフトウェアウォッチドッグタイマでは , タイムベースタイマの出力 , 時計プリス
ケーラの出力またはサブ CR タイマの出力がカウントクロックとして選択できま
す。
•
ハードウェアウォッチドッグタイマでは , サブ CR タイマの出力のみがカウントク
ロックとして使用できます。
● ソフトウェア / ハードウェアウォッチドッグタイマの起動
104
•
ソフトウェア / ハードウェアウォッチドッグタイマは , フラッシュメモリ上にある
アドレス 0xFFBE, 0xFFBF の値にしたがって起動されます。また , これらの値は
ウォッチドッグタイマ選択 ID レジスタ ( 上位 / 下位 ) (WDTH/WDTL) (0x0FEB/
0x0FEC) へコピーされます。
•
ソフトウェア起動の場合 ( ソフトウェアウォッチドッグ ), ウォッチドッグタイマ機
能を開始するためには , ウォッチドッグタイマレジスタ (WDTC) を設定しなければ
なりません。
•
ハードウェア起動の場合 ( ハードウェアウォッチドッグ ), リセット後にウォッチ
ドッグタイマは自動的に起動します。ウォッチドッグタイマは , フラッシュメモリ
上にあるアドレス 0xFFBE, 0xFFBF の値にしたがって , ストップモードで停止また
は実行します。これらの値はウォッチドッグタイマ選択 ID レジスタ ( 上位 / 下位 )
(WDTH/WDTL) (0x0FEB/0x0FEC) へコピーされます。ウォッチドッグタイマ選択 ID
についての詳細は ,「第 22 章 不揮発性レジスタ (NVR) インタフェース」を参照して
ください。
•
表 8.1-1 に , ウォッチドッグタイマのインターバル時間を示します。ウォッチドッグ
タイマのカウンタがクリアされない場合 , 最小時間~最大時間の間にウォッチドッ
グリセットが発生します。インターバル時間の最小時間内にウォッチドッグタイマ
のカウンタをクリアしてください。
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.1 概要
MB95650L シリーズ
表 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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
105
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.2 構成
8.2
MB95650L シリーズ
構成
ウォッチドッグタイマは , 以下のブロックで構成されます。
• カウントクロックセレクタ
• ウォッチドッグタイマカウンタ
• リセット制御回路
• ウォッチドッグタイマクリアセレクタ
• カウンタクリア制御回路
• ウォッチドッグタイマ制御レジスタ (WDTC)
■ ウォッチドッグタイマのブロックダイヤグラム
図 8.2-1 ウォッチドッグタイマのブロックダイヤグラム
ウォッチドッグタイマ制御レジスタ(WDTC)
CS1
221/FCH (または220/FCRHまたは220/FPLL),
220/FCH (または219/FCRHまたは219/FPLL)
(タイムベースタイマ出力)
214/FCL (または213/FCRL),
213/FCL (または212/FCRL)
(時計プリスケーラ出力)
CS0
CSP HWWDT WTE3 WTE2 WTE1 WTE0
ウォッチドッグタイマ
カウントクロック
セレクタ
クリア 起動
216/FCRL
(サブCRタイマ)
タイムベースタイマ
からのクリア信号
ウォッチドッグ
タイマ
クリアセレクタ
時計プリスケーラ
からのクリア信号
スリープモード開始
ストップモード開始
タイムベースタイマ/時計モード開始
ストップモードで停止中または動作中
FCH
FCRH
FPLL
FCL
FCRL
106
リセット
制御回路
ウォッチドッグ
タイマカウンタ
リセット
信号
オーバフロー
カウンタクリア
制御回路
: メインクロック
: メインCRクロック
: PLLクロック
: サブクロック
: サブCRクロック
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.2 構成
● カウントクロックセレクタ
このセレクタは , ウォッチドッグタイマカウンタのカウントクロックを選択します。
● ウォッチドッグタイマカウンタ
このカウンタは , タイムベースタイマの出力 , 時計プリスケーラの出力またはサブ CR
タイマの出力をカウントクロックとする 1 ビットのカウンタです。
● リセット制御回路
この回路は , ウォッチドッグタイマカウンタのオーバフローによってリセット信号を
発生させます。
● ウォッチドッグタイマクリアセレクタ
ウォッチドッグタイマクリア信号を選択します。
● カウンタクリア制御回路
ウォッチドッグタイマカウンタのクリアと動作停止を制御する回路です。
● ウォッチドッグタイマ制御レジスタ (WDTC)
ウォッチドッグタイマカウンタの起動とクリアおよびカウントクロックの選択を設定
するレジスタです。
■ 入力クロック
ウォッチドッグタイマは , タイムベースタイマの出力クロック , 時計プリスケーラから
の出力クロックまたはサブ CR タイマからの出力クロックを入力クロック ( カウントク
ロック ) として使用します。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
107
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.3 動作説明と設定手順例
8.3
MB95650L シリーズ
動作説明と設定手順例
ウォッチドッグタイマは , ウォッチドッグタイマカウンタのオーバフローによって
ウォッチドッグリセットを発生します。
■ ウォッチドッグタイマの動作
● ウォッチドッグタイマの起動方法
ソフトウェアウォッチドッグの場合
•
ウォッチドッグタイマ制御レジスタのウォッチドッグ制御ビット
(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 についての詳細は ,「第 22 章 不揮発性レジスタ (NVR) インタフェース」を
参照してください。
•
リセット解除後に動作を開始します。
•
CS[1:0] および CSP は , "0b001" に固定されたリードオンリのビットです。
•
リセットによりタイマはクリアされ ,
す。
リセットが解除された後に動作は再開しま
● ウォッチドッグタイマのクリア
•
ウォッチドッグタイマのカウンタがインターバル時間内にクリアされない場合 , カ
ウンタはオーバフローし , ウォッチドッグリセットが発生します。
•
ウォッチドッグタイマ制御レジスタのウォッチドッグ制御ビット
(WDTC:WTE[3:0]) に , "0b0101" を書き込むと , ハードウェアウォッチドッグタイマ
のカウンタはクリアされます。ウォッチドッグタイマ制御レジスタのウォッチドッ
グ制御ビット (WDTC:WTE[3:0]) への , 2 回目以降の , "0b0101" の書込みによって ,
ソフトウェアウォッチドッグタイマのカウンタはクリアされます。
ウォッチドッグタイマは,カウントクロックとして選択しているタイマ(タイムベー
スタイマまたは時計プリスケーラ ) がクリアされると同時にクリアされます。
•
108
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.3 動作説明と設定手順例
MB95650L シリーズ
● スタンバイモード時の動作
•
ソフトウェアウォッチドッグタイマまたはスタンバイモード中の動作を禁止した
ハードウェアウォッチドッグタイマの起動時は , 選択されたクロックモードに関係
なく スタンバイモードに移行すると , ウォッチドッグタイマカウンタをクリアして
動作を停止します。
また , スタンバイモードからの復帰により , ウォッチドッグタイ
マは動作を再開します。
•
スタンバイモード中の動作を許可したハードウェアウォッチドッグタイマの起動
時は , スタンバイモードへの移行およびスタンバイモードからの復帰時にウォッチ
ドッグタイマカウンタはクリアされず , 動作を継続します。
<注意事項>
ウォッチドッグタイマは , カウントクロックとして選択されているタイマ ( タイムベース
タイマまたは時計プリスケーラ ) のクリアと同時にクリアされます。このため , ウォッチ
ドッグタイマのカウントクロックとして選択されたタイマを , ウォッチドッグタイマ用に
選択されたインターバル時間内で繰返しクリアするようにソフトウェアが設定されてい
ると , ウォッチドッグタイマは機能できません。
● インターバル時間
インターバル時間は , ウォッチドッグタイマをクリアするタイミングによって変化し
ます。図 8.3-1 に , タイムベースタイマ出力 FCH/221 (FCH: メインクロック ) がカウント
クロックとして選択された場合 ( メインクロック = 4 MHz) の , ウォッチドッグタイマ
のクリアのタイミングとインターバル時間との関係を示します。
図 8.3-1 ウォッチドッグタイマのクリアのタイミングとインターバル時間
最小時間
524ms
タイムベースタイマ
カウントクロック出力
ウォッチドッグクリア
オ―バフロー
ウォッチドッグ
1ビットカウンタ
ウォッチドッグ
リセット
最大時間
1.05s
タイムベースタイマ
カウントクロック出力
ウォッチドッグクリア
オーバフロー
ウォッチドッグ
1ビットカウンタ
ウォッチドッグ
リセット
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
109
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.3 動作説明と設定手順例
MB95650L シリーズ
● サブクロックモード時の動作
サブクロックモードでウォッチドッグリセットが発生した場合 , タイマは発振安定待
ち時間の経過後にメインクロックモードで動作を開始します。この発振安定待ち時間
内にリセット信号が出力されます。
■ 設定手順例
以下に , ソフトウェアウォッチドッグタイマの設定手順を示します。
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 についての詳細は , 「第 22 章 不揮発性レジ
スタ (NVR) インタフェース」を参照してください。
2. ウォッチドッグタイマをクリアしてください (WDTC:WTE[3:0] = 0b0101)。
110
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
8.4
レジスタ
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.4 レジスタ
ウォッチドッグタイマのレジスタについて説明します。
表 8.4-1
ウォッチドッグタイマのレジスタ一覧
レジスタ略称
WDTC
MN702-00015-2v0-J
レジスタ名
ウォッチドッグタイマ制御レジスタ
FUJITSU SEMICONDUCTOR LIMITED
参照先
8.4.1
111
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.4 レジスタ
MB95650L シリーズ
ウォッチドッグタイマ制御レジスタ (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 クロック ,
bit7 bit6 bit5
FPLL: PLL クロック , FCL: サブクロック , FCRL: サブ CR クロック )
0
0
0
を書き込んだ場合
タイムベースタイマの出力周期 (221/FCH, 220/FCRH または 220/FPLL)
0
1
0
を書き込んだ場合
タイムベースタイマの出力周期 (220/FCH, 219/FCRH または 219/FPLL)
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" が読み出された場合
ハードウェアウォッチドッグタイマは起動されています。
112
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.4 レジスタ
[bit3:0] WTE[3:0]: ウォッチドッグ制御ビット
これらのビットはウォッチドッグタイマを制御します。
これらのビットの読出し値は常に "0b0000" です。
説明
bit3:0
"0101" を書き込んだ場合
ウォッチドッグタイマを起動 ( リセット後の 1 回目の書込み ) ま
たはウォッチドッグタイマをクリア ( リセット後の 2 回目以降の
書込み ) します。
• ウォッチドッグタイマの起動
リセット後の1回目の書込みはソフトウェアウォッチドッグタイ
マを起動します。
• ウォッチドッグタイマのクリア
リセット後の1回目以降の書込みはハードウェアウォッチドッグ
タイマをクリアします。
リセット後の2回目以降の書込みはソフトウェアウォッチドッグ
タイマをクリアします。
"0101" 以外の値を書き込んだ場合
動作に影響はありません。
<注意事項>
本レジスタはリードモディファイライト (RMW) 系命令が使用できません。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
113
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.5 使用上の注意
8.5
MB95650L シリーズ
使用上の注意
ウォッチドッグタイマの使用に関する注意を示します。
■ ウォッチドッグタイマ使用上の注意
● ウォッチドッグタイマの停止について
ソフトウェアウォッチドッグの場合
ウォッチドッグタイマは , 一度起動すると , リセットが発生するまで停止できません。
● カウントクロックの選択について
ソフトウェアウォッチドッグの場合
カウントクロック切換えビット (WDTC:CS[1:0], CSP) は , ウォッチドッグタイマ起動後
に , ウォッチドッグ制御ビット (WDTC:WTE[3:0]) を "0b0101" にしたときのみ書換え可
能です。カウントクロック切換えビットは , ビット操作命令によって設定はできませ
ん。
また , 一度タイマが起動すると , ビット設定を変更できません。
サブクロックモードまたはサブ CR クロックモードでは , メインクロック , メイン CR
クロックまたは PLL クロックの発振が停止するため , タイムベースタイマは動作しま
せん。
ウォッチドッグタイマをサブクロックモードまたはサブ CR クロックモードで動作さ
せるためには , あらかじめカウントクロックとして時計プリスケーラを選択し ,
"WDTC:CS[1:0], CSP" を "0b100" または "0b110" または "0bXX1" (X = 0 または 1) に設
定してください。
● ウォッチドッグタイマのクリアについて
ウォッチドッグタイマのカウントクロックに使用しているカウンタ ( タイムベースタ
イマ , 時計プリスケーラまたはサブ CR タイマ ) をクリアすると , 同時にウォッチドッ
グタイマのカウンタもクリアされます。
ウォッチドッグタイマがスリープモード , ストップモードまたは時計モードに遷移す
ると , ウォッチドッグタイマのカウンタはクリアされます。ただし , スタンバイモード
中の動作を許可したハードウェアウォッチドッグタイマを起動している場合を除きま
す。
● プログラム作成上の注意
メインループの中で , 繰返しウォッチドッグタイマをクリアするようなプログラムを
作成する場合 , 割込み処理時間を含むメインループの処理時間が , ウォッチドッグタイ
マインターバル時間の最小時間以下となるように設定してください。
● ハードウェアウォッチドッグタイマ ( スタンバイモード中の動作を許可した場合 )
ハードウェアウォッチドッグタイマは , ストップモード , スリープモード , タイムベー
スタイマモードまたは時計モードでは停止しません。したがって , 内部クロックが停止
しても , ウォッチドッグタイマは , CPU によってクリアされることはありません ( ス
リープモード , ストップモード , タイムベースタイマモードまたは時計モード )。
定期的にデバイスをスタンバイモードから解除し , ウォッチドッグタイマをクリアし
ます。ただし , 発振安定待ち時間設定レジスタの設定に応じて , ウォッチドッグリセッ
トは , CPU がサブクロックモードまたはサブ CR クロックモード中のストップモード
から復帰した後に発生することがあります。
114
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.5 使用上の注意
サブクロックを選択する際にはサブクロックの安定待ち時間の設定にも留意してくだ
さい。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
115
第 8 章 ハードウェア / ソフトウェアウォッチドッグタイマ
8.5 使用上の注意
116
MB95650L シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第9章
時計プリスケーラ
時計プリスケーラの機能と動作について説明します。
MN702-00015-2v0-J
9.1
概要
9.2
構成
9.3
割込み
9.4
動作説明と設定手順例
9.5
レジスタ
9.6
使用上の注意
FUJITSU SEMICONDUCTOR LIMITED
117
第 9 章 時計プリスケーラ
9.1 概要
9.1
MB95650L シリーズ
概要
時計プリスケーラは , サブクロックの 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 の周波数の精度については , デバイスのデータシートを参照してください。
118
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 9 章 時計プリスケーラ
9.2 構成
MB95650L シリーズ
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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
119
第 9 章 時計プリスケーラ
9.2 構成
MB95650L シリーズ
● 時計プリスケーラカウンタ ( カウンタ )
サブクロックの 2 分周またはサブ CR クロックの 2 分周をカウントクロックとする 16
ビットのダウンカウンタです。
● カウンタクリア回路
時計プリスケーラのクリアを制御する回路です。
● インターバルタイマセレクタ
時計プリスケーラカウンタ中にある 17 ビットの内の 8 ビットから , インターバルタイ
マ用の 1 ビットを選択する回路です。
● 時計プリスケーラ制御レジスタ (WPCR)
インターバル時間の選択 , カウンタのクリア , 割込み制御および状態の確認を行うレジ
スタです。
■ 入力クロック
時計プリスケーラは , サブクロックの 2 分周またはサブ CR クロックの 2 分周を入力ク
ロック ( カウントクロック ) として使用します。
■ 出力クロック
時計プリスケーラは , ソフトウェアウォッチドッグタイマにクロックを供給します。
120
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 9 章 時計プリスケーラ
9.3 割込み
MB95650L シリーズ
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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
121
第 9 章 時計プリスケーラ
9.4 動作説明と設定手順例
9.4
MB95650L シリーズ
動作説明と設定手順例
時計プリスケーラは , インターバルタイマ機能として動作します。
■ インターバルタイマ機能の動作 ( 時計プリスケーラ )
時計プリスケーラのカウンタは , サブクロックまたはサブ CR クロックが発振している
間 , サブクロックの 2 分周またはサブ CR クロックの 2 分周をカウントクロックとして
カウントダウンを続けます。
カウンタがクリア (WPCR:WCLR = 1) されると , カウンタは "0xFFFF" からカウントダ
ウンを開始し , "0x0000" に達すると , "0xFFFF" に戻ってカウントを継続します。カウン
トダウン中に , 割込みインターバル時間選択ビットで設定した時間が経過すると , サブ
クロックモードまたはサブ CR クロックモード時のストップモード以外の場合 , 時計割
込み要求フラグビット (WPCR:WTIF) が "1" に設定されます。すなわち , カウンタが最
後にクリアされた時間を基準にして , 選択されたインターバル時間ごとに時計割込み
要求が発生します。
■ 時計プリスケーラのクリア
時計プリスケーラをクリアすると , 時計プリスケーラの出力を使用しているほかの周
辺機能は , カウント時間が変化するなど動作に影響を受けます。
時計プリスケーラ初期化ビット (WPCR:WCLR) によってカウンタをクリアする場合は ,
カウンタのクリアにより予期せぬ影響を及ぶことがないようにそのほかの周辺機能の
設定を必要に応じて変更してください。
なお , 時計プリスケーラの出力をカウントクロックとして選択しているとき , 時計プリ
スケーラがクリアされると , ウォッチドッグタイマもクリアされます。
時計プリスケーラは , 時計プリスケーラ初期化ビット (WPCR:WCLR) によるクリアに
加え , サブクロックまたはサブ CR クロックが停止し , 発振安定待ち時間が必要になっ
た場合クリアされます。
時計プリスケーラは , 以下の状況でクリアされます。
•
デバイスが , サブクロックモードまたはサブ CR クロックモードからストップモー
ドへ移行したとき
•
メインクロックモード , メイン PLL クロックモード , メイン CR クロックモードま
たはメイン CR PLL クロックモードにおいて , システムクロック制御レジスタ 2 の
サブクロック発振許可ビットまたはサブ
CR
クロック発振許可ビット
(SYCC2:SOSCE または SCRE) を "0" に設定したとき
また , リセットが発生した場合 , 時計プリスケーラのカウンタはクリアされ , 動作を停
止します。
■ 時計プリスケーラの入力クロック選択について
時計プリスケーラの入力クロック選択は , 各クロックモードで以下のようになります。
•
メインクロックモード , メイン PLL クロックモード , メイン CR クロックモードと
メイン CR PLL クロックモードの場合
サブクロックの発振が許可され , サブクロック発振安定待ち時間が経過した場合 ,
サブクロックは時計プリスケーラの入力クロックとして選択されます。
サブ CR クロックの発振が許可され , サブ CR クロック発振安定待ち時間が経過し
た場合 , サブ CR クロックは時計プリスケーラの入力クロックとして選択されます。
122
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 9 章 時計プリスケーラ
9.4 動作説明と設定手順例
MB95650L シリーズ
サブクロックの発振とサブ CR クロックの発振が許可され , サブクロック発振安定
待ち時間とサブ 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-00015-2v0-J
: 時計プリスケーラ制御レジスタの時計プリスケーラ割込みインターバル時間選択ビット
: 時計プリスケーラ制御レジスタの時計プリスケーラクリアビット
: 時計プリスケーラ制御レジスタの時計プリスケーラ割込み要求フラグビット
: 時計プリスケーラ制御レジスタの時計プリスケーラ割込み要求許可ビット
: スタンバイ制御レジスタのスリープビット
: スタンバイ制御レジスタのストップビット
FUJITSU SEMICONDUCTOR LIMITED
123
第 9 章 時計プリスケーラ
9.4 動作説明と設定手順例
MB95650L シリーズ
■ 設定手順例
以下に , 時計プリスケーラの設定手順例を示します。
● 初期設定
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)。
124
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 9 章 時計プリスケーラ
9.5 レジスタ
MB95650L シリーズ
9.5
レジスタ
時計プリスケーラのレジスタについて説明します。
表 9.5-1
時計プリスケーラのレジスタ一覧
レジスタ略称
WPCR
MN702-00015-2v0-J
レジスタ名
時計プリスケーラ制御レジスタ
FUJITSU SEMICONDUCTOR LIMITED
参照先
9.5.1
125
第 9 章 時計プリスケーラ
9.5 レジスタ
9.5.1
MB95650L シリーズ
時計プリスケーラ制御レジスタ (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" です。これらのビットに値を書き込んでも動作に影響はありません。
126
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 9 章 時計プリスケーラ
9.5 レジスタ
MB95650L シリーズ
[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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
127
第 9 章 時計プリスケーラ
9.6 使用上の注意
9.6
MB95650L シリーズ
使用上の注意
時計プリスケーラ使用上の注意を示します。
■ 時計プリスケーラ使用上の注意
● プログラムで割込み処理を設定する場合
時計プリスケーラ割込み要求フラグビット (WPCR:WTIF) が "1" に設定され , 割込み
要求 が許可 (WPCR:WTIE = 1) されている場合には , 時計プリスケーラは割込み処理か
ら復帰できません。必ず割込みルーチン内で WTIF ビットをクリアしてください。
● 時計プリスケーラのクリアについて
ソフトウェアウォッチドッグタイマのカウントクロックとして時計プリスケーラを選
択 (WDTC:CS[1:0], CSP = 0b100 または 0b110) した場合 , 時計プリスケーラをクリアす
るとソフトウェアウォッチドッグタイマもクリアされます。
● 時計プリスケーラ割込みについて
メインクロック , メイン PLL クロック , メイン CR クロックまたはメイン CR PLL ク
ロック使用時のストップモードでは , 時計プリスケーラはカウント動作を行い , 時計プ
リスケーラ割込みを発生できます。
● 時計プリスケーラからクロックを供給される周辺機能について
時計プリスケーラのカウンタをクリアすると , 時計プリスケーラの出力を使用してい
るほかの周辺機能は , 動作周期が変化するなど周辺機能の動作に影響を受けます。
なお , 時計プリスケーラのカウンタがクリアされた後 , 時計プリスケーラから出力され
たソフトウェアウォッチドッグタイマ用のクロックは , 初期状態となります。ソフト
ウェアウォッチドッグタイマのクロックが初期状態に戻ると同時に , ソフトウェア
ウォッチドッグタイマのカウンタがクリアされるため , ソフトウェアウォッチドッグ
タイマは正常な周期で動作します。
128
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 10 章
ワイルドレジスタ機能
ワイルドレジスタの機能と動作について説明しま
す。
10.1 概要
10.2 構成
10.3 動作説明
10.4 レジスタ
10.5 一般的なハードウェア接続例
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
129
第 10 章 ワイルドレジスタ機能
10.1 概要
10.1
MB95650L シリーズ
概要
ワイルドレジスタ機能を使うことで , 内蔵レジスタに設定したアドレスと修正データ
で , プログラムのバグにパッチをあてることができます。
ワイルドレジスタの機能について説明します。
■ ワイルドレジスタ機能
ワイルドレジスタは , 3 本のワイルドレジスタデータ設定レジスタ , 3 本のワイルドレ
ジスタアドレス設定レジスタ , 1 バイトのアドレス比較許可レジスタおよび 1 バイトの
ワイルドレジスタデータテスト設定レジスタから構成されます。これらのレジスタに
修正したいアドレスとデータを設定すると , ROM データはレジスタに設定した修正
データに置き換えることができます。最大 3 つの異なるアドレスのデータを修正できま
す。
ワイルドレジスタの機能を使用して , マスク生成後にプログラムのデバッグをするこ
とと , プログラムの不良箇所にパッチをあてることができます。
130
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 10 章 ワイルドレジスタ機能
10.2 構成
MB95650L シリーズ
10.2
構成
ワイルドレジスタのブロックダイヤグラムを示します。
ワイルドレジスタは , 以下のブ
ロックで構成されます。
• メモリ領域部
ワイルドレジスタデータ設定レジスタ (WRDR0 ~ WRDR2)
ワイルドレジスタアドレス設定レジスタ (WRAR0 ~ WRAR2)
ワイルドレジスタアドレス比較許可レジスタ (WREN)
ワイルドレジスタデータテスト設定レジスタ (WROR)
• 制御回路部
■ ワイルドレジスタ機能のブロックダイヤグラム
図 10.2-1 ワイルドレジスタ機能のブロックダイヤグラム
ワイルドレジスタ機能
制御回路部
アクセス制御回路
デコーダと
ロジック制御回路
アドレス
比較回路
メモリ領域部
内 部 バス
ワイルドレジスタ
アドレス設定レジスタ
(WRAR)
アクセス
制御回路
ワイルドレジスタ
データ設定レジスタ
(WRDR)
ワイルドレジスタ
アドレス比較許可レジスタ
(WREN)
●
●
●
ワイルドレジスタ
データテスト設定レジスタ
(WROR)
メモリ空間
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
131
第 10 章 ワイルドレジスタ機能
10.2 構成
MB95650L シリーズ
● メモリ領域部
メモリ領域部は , ワイルドレジスタデータ設定レジスタ (WRDR), ワイルドレジスタア
ドレス設定レジスタ (WRAR), ワイルドレジスタアドレス比較許可レジスタ (WREN) お
よびワイルドレジスタデータテスト設定レジスタ(WROR)より構成されます。ワイルド
レジスタ機能を使用して , 置き換えたいアドレスおよびデータを設定します。ワイルド
レジスタアドレス比較許可レジスタ (WREN) は , ワイルドレジスタデータ設定レジス
タ (WRDR) に対応するワイルドレジスタ機能を許可にします。また , ワイルドレジスタ
データテスト設定レジスタ (WROR) は , ワイルドレジスタデータ設定レジスタ (WRDR)
に対応する通常読出し機能を有効にします。
● 制御回路部
この回路は , ワイルドレジスタアドレス設定レジスタ (WRAR) に設定されているアド
レスと実際のアドレスデータとを比較します。一致している場合には , 制御回路部は ,
ワイルドレジスタデータ設定レジスタ(WRDR)からデータバスへデータを出力します。
制御回路部は , ワイルドレジスタアドレス比較許可レジスタ (WREN) により動作を制
御する回路です。
132
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 10 章 ワイルドレジスタ機能
10.3 動作説明
MB95650L シリーズ
10.3
動作説明
ワイルドレジスタ機能の設定順序について説明します。
■ ワイルドレジスタ機能の設定順序
ワイルドレジスタ機能を使用する前に , ユーザプログラム内にある , 外部メモリ ( 例え
ば , EEPROM や FRAM) からワイルドレジスタに設定する値を読み出すプログラムを準
備してください。
以下に , ワイルドレジスタの設定方法を示します。
本節では , 外部メモリとデバイス間の通信方法については説明しません。
• ワイルドレジスタアドレス設定レジスタ (WRAR0 ~ WRAR2) に , 変更する内蔵の
ROM コードのアドレスを書き込みます。
• アドレスが書き込まれたワイルドレジスタアドレス設定レジスタに対応するワイ
ルドレジスタデータ設定レジスタ (WRDR0 ~ WRDR2) に , 新しいコードを書き込み
ます。
• ワイルドレジスタアドレス比較許可レジスタ (WREN) のワイルドレジスタ番号に対
応する EN ビットに , "1" を書き込み , ワイルドレジスタ機能を許可にします。
表 10.3-1 に , ワイルドレジスタ機能のレジスタの設定順序を示します。
表 10.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
133
第 10 章 ワイルドレジスタ機能
10.4 レジスタ
MB95650L シリーズ
レジスタ
10.4
ワイルドレジスタ機能のレジスタについて説明します。
表 10.4-1
タイムベースタイマのレジスタ一覧
レジスタ略称
レジスタ名
参照先
WRDR0
ワイルドレジスタデータ設定レジスタ 0
10.4.1
WRDR1
ワイルドレジスタデータ設定レジスタ 1
10.4.1
WRDR2
ワイルドレジスタデータ設定レジスタ 2
10.4.1
WRAR0
ワイルドレジスタアドレス設定レジスタ 0
10.4.2
WRAR1
ワイルドレジスタアドレス設定レジスタ 1
10.4.2
WRAR2
ワイルドレジスタアドレス設定レジスタ 2
10.4.2
WREN
ワイルドレジスタアドレス比較許可レジスタ
10.4.3
WROR
ワイルドレジスタデータテスト設定レジスタ
10.4.4
■ ワイルドレジスタ番号
ワイルドレジスタ番号は , 各ワイルドレジスタアドレス設定レジスタ (WRAR) および
各ワイルドレジスタデータ設定レジスタ (WRDR) に割当てられます。
表 10.4-2 ワイルドレジスタアドレス設定レジスタおよびワイルドレジスタデータ設定レジスタに
対応するワイルドレジスタ番号
ワイルドレジスタ番号
ワイルドレジスタアドレス設定レジスタ
(WRAR)
ワイルドレジスタデータ設定レジスタ
(WRDR)
0
WRAR0
WRDR0
1
WRAR1
WRDR1
2
WRAR2
WRDR2
134
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 10 章 ワイルドレジスタ機能
10.4 レジスタ
MB95650L シリーズ
10.4.1
ワイルドレジスタデータ設定レジスタ (WRDR0 ~
WRDR2)
ワイルドレジスタデータ設定レジスタ (WRDR0 ~ WRDR2) を使用して , ワイルドレ
ジスタ機能により修正するデータを指定します。
■ レジスタ構成
WRDR0
bit
7
6
5
4
3
2
1
0
Field
RD7
RD6
RD5
RD4
RD3
RD2
RD1
RD0
属性
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
bit
7
6
5
4
3
2
1
0
Field
RD7
RD6
RD5
RD4
RD3
RD2
RD1
RD0
属性
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
bit
7
6
5
4
3
2
1
0
Field
RD7
RD6
RD5
RD4
RD3
RD2
RD1
RD0
属性
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
WRDR1
WRDR2
■ レジスタ機能
[bit7:0] RD[7:0]: ワイルドレジスタデータ設定ビット
これらのビットはワイルドレジスタ機能により修正されるデータを指定します。
これらのビットを使い , ワイルドレジスタアドレス設定レジスタ (WRAR) で割り当てられたアドレ
スに修正データを設定します。それぞれのワイルドレジスタ番号に対応したアドレスにてデータが
有効になります。
これらのビットの読出しは , ワイルドレジスタデータテスト設定レジスタ (WROR) で対応するデー
タテスト設定ビットを "1" に設定した場合のみ許可となります。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
135
第 10 章 ワイルドレジスタ機能
10.4 レジスタ
10.4.2
MB95650L シリーズ
ワイルドレジスタアドレス設定レジスタ (WRAR0 ~
WRAR2)
ワイルドレジスタアドレス設定レジスタ (WRAR0 ~ WRAR2) を使用して , ワイルド
レジスタ機能により修正するアドレスを設定します。
■ レジスタ構成
WRAR0
bit
15
14
13
12
11
10
9
8
Field
RA15
RA14
RA13
RA12
RA11
RA10
RA9
RA8
属性
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
bit
7
6
5
4
3
2
1
0
Field
RA7
RA6
RA5
RA4
RA3
RA2
RA1
RA0
属性
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
WRAR1
bit
15
14
13
12
11
10
9
8
Field
RA15
RA14
RA13
RA12
RA11
RA10
RA9
RA8
属性
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
bit
7
6
5
4
3
2
1
0
Field
RA7
RA6
RA5
RA4
RA3
RA2
RA1
RA0
属性
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
bit
15
14
13
12
11
10
9
8
Field
RA15
RA14
RA13
RA12
RA11
RA10
RA9
RA8
属性
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
WRAR2
bit
7
6
5
4
3
2
1
0
Field
RA7
RA6
RA5
RA4
RA3
RA2
RA1
RA0
属性
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
■ レジスタ動作
[bit15:0] RA[15:0]: ワイルドレジスタアドレス設定ビット
これらのビットはワイルドレジスタ機能により修正するアドレスを設定します。
修正データに割り当てられたアドレスを設定します。アドレスは , ワイルドレジスタアドレス設定
レジスタに対応するワイルドレジスタ番号に従って設定されます。
136
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 10 章 ワイルドレジスタ機能
10.4 レジスタ
MB95650L シリーズ
10.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
137
第 10 章 ワイルドレジスタ機能
10.4 レジスタ
10.4.4
MB95650L シリーズ
ワイルドレジスタデータテスト設定レジスタ
(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" を書き込んだ場合
ワイルドレジスタデータ設定レジスタからの読出しを許可します。
138
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
10.5
一般的なハードウェア接続例
第 10 章 ワイルドレジスタ機能
10.5 一般的なハードウェア接続例
以下に , ワイルドレジスタ機能を使用するときのハードウェア間の一般的な接続につ
いて例示します。
■ ハードウェア接続例
図 10.5-1 一般的なハードウェア接続例
EEPROM
(修正プログラム格納)
MN702-00015-2v0-J
MCU
SO
SIN
SI
SOT
SCK
SCK
FUJITSU SEMICONDUCTOR LIMITED
139
第 10 章 ワイルドレジスタ機能
10.5 一般的なハードウェア接続例
140
MB95650L シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 11 章
8/16 ビット複合タイマ
8/16 ビット複合タイマの機能と動作について説明
します。
11.1 概要
11.2 構成
11.3 チャネル
11.4 端子
11.5 割込み
11.6 インターバルタイマ機能 ( ワンショットモード ) の動
作説明
11.7 インターバルタイマ機能 ( 連続モード ) の動作説明
11.8 インターバルタイマ機能 ( フリーランモード ) の動作
説明
11.9 PWM タイマ機能 ( 周期固定モード ) の動作説明
11.10 PWM タイマ機能 ( 周期可変モード ) の動作説明
11.11 PWC タイマ機能の動作説明
11.12 インプットキャプチャ機能の動作説明
11.13 ノイズフィルタの動作説明
11.14 レジスタ
11.15 使用上の注意
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
141
第 11 章 8/16 ビット複合タイマ
11.1 概要
11.1
MB95650L シリーズ
概要
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 ビットカウンタとして動作できません。
142
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 11 章 8/16 ビット複合タイマ
11.1 概要
■ PWC タイマ機能
PWC タイマ機能が選択されると , 外部入力パルスの幅および周期を測定できます。
この動作モードでは , 外部入力信号のカウント開始エッジを検出した直後に , カウンタ
は "0x00" からカウント動作を開始します。
この後 , カウント終了エッジが検出されると ,
カウンタは , カウント値をレジスタに転送し , 割込みを発生させます。
■ インプットキャプチャ機能
インプットキャプチャ機能が選択されると , 外部入力信号のエッジを検出した直後に ,
カウンタ値をレジスタに格納します。
この機能には , カウント動作にフリーランモードとクリアモードがあります。
クリアモードでは , カウンタは "0x00" からカウント動作を開始し , エッジを検出すると ,
カウンタの値をレジスタに転送して割込みを発生させます。その後 , カウンタは "0x00"
からカウントを再開します。
フリーランモードでは , カウンタはエッジを検出した時点で , カウンタ値をレジスタに
転送して割込みを発生させます。この後 , クリアモードの場合とは異なり , カウンタは ,
"0x00" にクリアすることなく , そのままカウント動作を継続します。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
143
第 11 章 8/16 ビット複合タイマ
11.2 構成
11.2
MB95650L シリーズ
構成
8/16 ビット複合タイマは , 以下のブロックで構成されます。
• 8 ビットカウンタ
• 8 ビットコンパレータ ( テンポラリラッチを含む )
• 8/16 ビット複合タイマデータレジスタ (Tn0DR/Tn1DR)
• 8/16 ビット複合タイマステータス制御レジスタ 0 (Tn0CR0/Tn1CR0)
• 8/16 ビット複合タイマステータス制御レジスタ 1 (Tn0CR1/Tn1CR1)
• 8/16 ビット複合タイマタイマモード制御レジスタ (TMCRn)
• アウトプットコントローラ
• 制御ロジック
• カウントクロックセレクタ
• エッジ検出器
• ノイズフィルタ
品種により , 8/16 ビット複合タイマの端子数およびチャネル数は異なります。詳細は ,
デバイスのデータシートを参照してください。
本章において , 端子名とレジスタ略称にある "n" はチャネル番号を示します。各品種の
端子名 , レジスタ名とレジスタ略称について , デバイスのデータシートを参照してくだ
さい。
144
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 11 章 8/16 ビット複合タイマ
11.2 構成
MB95650L シリーズ
■ 8/16 ビット複合タイマのブロックダイヤグラム
図 11.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
145
第 11 章 8/16 ビット複合タイマ
11.2 構成
MB95650L シリーズ
● 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 に
接続されています。その使用方法については「第 13 章 LIN-UART」を参照してくださ
い。なお , タイマ 00 以外の TII0 端子は内部で "0" に固定されています。
■ 入力クロック
8/16 ビット複合タイマは , プリスケーラからの出力クロックを入力クロック ( カウント
クロック ) として使用します。
146
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 11 章 8/16 ビット複合タイマ
11.3 チャネル
MB95650L シリーズ
11.3
チャネル
8/16 ビット複合タイマのチャネルについて説明します。
■ 8/16 ビット複合タイマのチャネル
1 チャネル内には , 8 ビットカウンタが 2 つあり , それらは 2 つの 8 ビットタイマとし
てまたは 1 つの 16 ビットタイマとしても使用できます。
表 11.3-1 に , チャネルの外部端子を示します。
表 11.3-1 チャネルの外部端子
端子名
端子機能
TOn0
タイマ n0 出力
TOn1
タイマ n1 出力
ECn
タイマ n0 入力およびタイマ n1 入力
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
147
第 11 章 8/16 ビット複合タイマ
11.4 端子
11.4
MB95650L シリーズ
端子
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 タイマ機能またはインプットキャプチャ機能が選択されてい
るときには , 外部カウントクロック入力端子として設定できません。
16 ビット動作時には , この端子の入力機能は使用されません。PWM タイマ機能 ( 周
期可変モード ) が選択されているときには , この端子の入力機能は使用可能です。
148
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 11 章 8/16 ビット複合タイマ
11.4 端子
この入力機能を使用するときには, ECn端子に対応するポート方向レジスタのビット
を "0" に設定して , 入力ポートにしてください。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
149
第 11 章 8/16 ビット複合タイマ
11.5 割込み
11.5
MB95650L シリーズ
割込み
8/16 ビット複合タイマは , 以下の割込みを発生します。それぞれの割込みには , 割込
み番号と割込みベクタが割り当てられます。
• タイマ n0 割込み
• タイマ n1 割込み
■ タイマ n0 の割込み
表 11.5-1 に , タイマ n0 の割込みおよびその要因を示します。
表 11.5-1 タイマ n0 の割込み
項目
説明
割込み発生の要因 インターバルタイマ動
作または PWM タイマ動
作 ( 周期可変モード ) の
ときの比較一致
Tn0CR1:IF
割込みフラグ
割込み許可
Tn0CR1:IE と
Tn0CR0:IFE
PWC タイマ動作または
インプットキャプチャ
動作のときのオーバフ
ロー
PWC タイマ動作のとき
の測定完了またはイン
プットキャプチャ動作
のときのエッジ検出
Tn0CR1:IF
Tn0CR1:IR
Tn0CR1:IE と
Tn0CR0:IFE
Tn0CR1:IE
■ タイマ n1 の割込み
表 11.5-2 に , タイマ n1 の割込みおよびその要因を示します。
表 11.5-2 タイマ n1 の割込み
項目
説明
割込み発生の要因 インターバルタイマ動
作または PWM タイマ動
作 ( 周期可変モード ) の
ときの比較一致。16
ビット動作時を除く。
Tn1CR1:IF
割込みフラグ
割込み許可
150
Tn1CR1:IE と
Tn1CR0:IFE
PWC タイマ動作または
インプットキャプチャ
動作のときのオーバフ
ロー。16 ビット動作時
を除く。
PWC タイマ動作のとき
の測定完了またはイン
プットキャプチャ動作
のときのエッジ検出。
16 ビット動作時を除く。
Tn1CR1:IF
Tn1CR1:IR
Tn1CR1:IE と
Tn1CR0:IFE
Tn1CR1:IE
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 11 章 8/16 ビット複合タイマ
11.6 インターバルタイマ機能 ( ワンショットモード ) の
動作説明
MB95650L シリーズ
11.6
インターバルタイマ機能 ( ワンショットモード ) の動作
説明
8/16 ビット複合タイマのインターバルタイマ機能 ( ワンショットモード ) の動作を説
明します。
■ インターバルタイマ機能 ( ワンショットモード ) の動作
インターバルタイマ機能 ( ワンショットモード ) として動作させるには , 図 11.6-1 に示
された設定をしてください。
図 11.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" を書き込まないでください。
図 11.6-2 に , 8 ビット動作時のインターバルタイマ機能の動作を示します。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
151
第 11 章 8/16 ビット複合タイマ
11.6 インターバルタイマ機能 ( ワンショットモード ) の
動作説明
図 11.6-2 8 ビット動作時のインターバルタイマ機能 ( ワンショットモード ) の動作
MB95650L シリーズ
カウンタ値
0xFF
0x80
0x00
時間
Tn0DR/Tn1DR値
(0xFF)
タイマサイクル
Tn0DR/Tn1DR値変更(0xFF→0x80)*
プログラムにより
クリア
IFビット
STAビット
自動的にクリア
反転
再起動
自動的にクリア 再起動
出力初期値の変更なし(“0”)に再起動する
タイマ出力端子
初期値“1”で起動
*: Tn0DR/Tn1DRデータレジスタ値が動作中に変更された場合,新しい値が次のアクティブサイクルから使用されます。
152
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 11 章 8/16 ビット複合タイマ
11.7 インターバルタイマ機能 ( 連続モード ) の動作説明
MB95650L シリーズ
11.7
インターバルタイマ機能 ( 連続モード ) の動作説明
8/16 ビット複合タイマのインターバルタイマ機能 ( 連続モード ) を説明します。
■ インターバルタイマ機能 ( 連続モード ) の動作
インターバルタイマ機能 ( 連続モード ) として動作させるには , 図 11.7-1 に示された設
定をしてください。
図 11.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
153
第 11 章 8/16 ビット複合タイマ
11.7 インターバルタイマ機能 ( 連続モード ) の動作説明
MB95650L シリーズ
図 11.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: 動作中に一致が検出されるとカウンタはクリアされ, データレジスタの設定が比較データラッチにロードされます。
154
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 11 章 8/16 ビット複合タイマ
11.8 インターバルタイマ機能 ( フリーランモード ) の動
作説明
MB95650L シリーズ
11.8
インターバルタイマ機能 ( フリーランモード ) の動作説
明
8/16 ビット複合タイマのインターバルタイマ機能 ( フリーランモード ) の動作を説明
します。
■ インターバルタイマ機能 ( フリーランモード ) の動作
インターバルタイマ機能 ( フリーランモード ) として動作させるには , 図 11.8-1 に示され
た設定をしてください。
図 11.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
155
第 11 章 8/16 ビット複合タイマ
11.8 インターバルタイマ機能 ( フリーランモード ) の動
作説明
図 11.8-2 インターバルタイマ機能 ( フリーランモード ) の動作図
MB95650L シリーズ
(0xE0)
カウンタ値
0xFF
0xE0
0x80
0x00
時間
Tn0DR/Tn1DR値(0xE0)
プログラムによるクリア
IFビット
STAビット
起動
一致
一致
一致
一致
カウンタ値一致*
タイマ出力端子
*: 動作中に一致が検出されても, カウンタはクリアされません。データレジスタの設定は比較データラッチにリロードされます。
156
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 11 章 8/16 ビット複合タイマ
11.9 PWM タイマ機能 ( 周期固定モード ) の動作説明
MB95650L シリーズ
11.9
PWM タイマ機能 ( 周期固定モード ) の動作説明
8/16 ビット複合タイマの PWM タイマ機能 ( 周期固定モード ) の動作を説明します。
■ PWM タイマ機能 ( 周期固定モード ) の動作
PWM タイマ機能 ( 周期固定モード ) として動作させるには , 図 11.9-1 に示された設定
をしてください。
図 11.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
157
第 11 章 8/16 ビット複合タイマ
11.9 PWM タイマ機能 ( 周期固定モード ) の動作説明
MB95650L シリーズ
図 11.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)のレベルを維持します。
158
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 11 章 8/16 ビット複合タイマ
11.10 PWM タイマ機能 ( 周期可変モード ) の動作説明
MB95650L シリーズ
11.10 PWM タイマ機能 ( 周期可変モード ) の動作説明
8/16 ビット複合タイマの PWM タイマ機能 ( 周期可変モード ) の動作を説明します。
■ PWM タイマ機能 ( 周期可変モード ) の動作
PWM タイマ機能 ( 周期可変モード ) として動作させるには , 図 11.10-1 に示された設定
をしてください。
図 11.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 つのタイマに対し異なるカウントクロックを選択することは禁止され
ます。
タイマ動作を停止したとき , タイマ出力ビット (TMCRn:TO0) は最後の出力値を保持し
ます。
動作中に 8/16 ビット複合タイマデータレジスタを書き換えた場合 , 書き込まれたデー
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
159
第 11 章 8/16 ビット複合タイマ
11.10 PWM タイマ機能 ( 周期可変モード ) の動作説明
MB95650L シリーズ
タは同期一致が検出された次のサイクルより有効となります。
図 11.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"
160
0x00
0xFF,0x00
1カウント幅
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 11 章 8/16 ビット複合タイマ
11.11 PWC タイマ機能の動作説明
MB95650L シリーズ
11.11 PWC タイマ機能の動作説明
8/16 ビット複合タイマの PWC タイマ機能の動作を説明します。
■ PWC タイマ機能の動作
PWC タイマ機能として動作させるには , 図 11.11-1 に示された設定をしてください。
図 11.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
161
第 11 章 8/16 ビット複合タイマ
11.11 PWC タイマ機能の動作説明
MB95650L シリーズ
カウンタの値を超える時間を測定する場合は , カウンタオーバフローの回数をソフト
ウェアでカウントすることにより , カウンタの値を超えた時間を求めることができま
す。すなわち , カウンタがオーバフローすると , 割込みフラグ (Tn0CR1/Tn1CR1:IF) が
"1" になるため , この割込み処理ルーチンによりオーバフローの回数をカウントします。
また , オーバフローによりタイマ出力は反転します。タイマ出力の初期値は , タイマ出力
初期値ビット (Tn0CR1/Tn1CR1:SO) により設定できます。
タイマ動作を停止したとき, タイマ出力ビット (TMCRn:TO0/TO1) は最後の値を保持し
ます。
図 11.11-2 PWC タイマの動作図 (H パルス幅測定例 )
"H" 幅
パルス入力
(PWC端子への入力波形)
0xFF
カウンタ値
時間
STAビット
カウンタ動作
プログラムによるクリア
IRビット
BFビット
カウンタから
Tn0DR/Tn1DR
にデータ転送
162
FUJITSU SEMICONDUCTOR LIMITED
Tn0DR/Tn1DR
データレジスタ
読出し
MN702-00015-2v0-J
第 11 章 8/16 ビット複合タイマ
11.12 インプットキャプチャ機能の動作説明
MB95650L シリーズ
11.12 インプットキャプチャ機能の動作説明
8/16 ビット複合タイマのインプットキャプチャ機能の動作を説明します。
■ インプットキャプチャ機能の動作
インプットキャプチャ機能として動作させるには , 図 11.12-1 に示された設定をしてくだ
さい。
図 11.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
163
第 11 章 8/16 ビット複合タイマ
11.12 インプットキャプチャ機能の動作説明
MB95650L シリーズ
<注意事項>
インプットキャプチャ機能の使用上の注意については , 「11.15 使用上の注意」を参照し
てください。
図 11.12-2 インプットキャプチャ機能動作図
0xFF
0xBF
0x9F
0x7F
0x3F
Tn0DR/Tn1DRの
キャプチャ値
0xBF
キャプチャ立下りエッジ
0x3F
キャプチャ
立下りエッジ
外部入力
カウンタクリアモード
164
0x7F
キャプチャ立上りエッジ
0x9F
キャプチャ
立上りエッジ
カウンタフリーランモード
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
11.13 ノイズフィルタの動作説明
第 11 章 8/16 ビット複合タイマ
11.13 ノイズフィルタの動作説明
8/16 ビット複合タイマのノイズフィルタの動作を説明します。
インプットキャプチャ機能または PWC タイマ機能が選択されているときには , 外部入
力端子 (ECn) からの信号のパルスノイズをノイズフィルタにより除去できます。
TMCRn レジスタの FE11, FE10, FE01 と FE00 ビットで "H" パルスノイズ除去 , "L" パ
ルスノイズ除去または "H/L" パルスノイズ除去のいずれかを選択してください。除去
できる最大のパルス幅は 3 マシンクロック周期です。ノイズフィルタ機能が作動中の
場合 , 信号入力に 4 マシンクロック周期の遅れが発生します。
図 11.13-1 ノイズフィルタの動作
サンプリング
フィルタクロック
外部入力信号
出力フィルタ
"H" ノイズ
出力フィルタ
"L" ノイズ
出力フィルタ
"H"/"L" ノイズ
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
165
第 11 章 8/16 ビット複合タイマ
11.14 レジスタ
11.14
MB95650L シリーズ
レジスタ
8/16 ビット複合タイマのレジスタについて説明します。
表 11.14-1
8/16 ビット複合タイマのレジスタ一覧
レジスタ略称
166
レジスタ名
参照先
Tn0CR0
8/16 ビット複合タイマ n0 ステータス制御レジスタ 0
11.14.1
Tn1CR0
8/16 ビット複合タイマ n1 ステータス制御レジスタ 0
11.14.1
Tn0CR1
8/16 ビット複合タイマ n0 ステータス制御レジスタ 1
11.14.2
Tn1CR1
8/16 ビット複合タイマ n1 ステータス制御レジスタ 1
11.14.2
TMCRn
8/16 ビット複合タイマタイマモード制御レジスタ
11.14.3
Tn0DR
8/16 ビット複合タイマ n0 データレジスタ
11.14.4
Tn1DR
8/16 ビット複合タイマ n1 データレジスタ
11.14.4
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 11 章 8/16 ビット複合タイマ
11.14 レジスタ
MB95650L シリーズ
11.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
167
第 11 章 8/16 ビット複合タイマ
11.14 レジスタ
MB95650L シリーズ
[bit6:4] C[2:0] カウントクロック選択ビット
これらのビットはカウントクロックを選択します。
カウントクロックはプリスケーラにより生成されます。
「3.9 プリスケーラの動作」を参照してくだ
さい。
タイマ動作中 (Tn0CR1/Tn1CR1:STA = 1), これらのビットへの書込み動作は無効です。
16 ビット動作時には Tn1CR0 ( タイマ n1) のクロック選択は無効です。
PWC 機能またはインプットキャプチャ機能のとき , これらのビットは "0b111" に設定できません。
使用中の PWC 機能またはインプットキャプチャ機能で "0b111" を書き込むと , これらのビットは
"0b000" にリセットされます。
また , これらのビットが "0b111" の状態でインプットキャプチャ動作モードに遷移した場合も
"0b000" にリセットされます。
これらのビットを "0b110" に設定した場合 , タイムベースタイマからのカウントクロックがカウン
トクロックとして使用されます。タイムベースタイマからのカウントクロックは , SYCC レジスタ
の設定により , メインクロック , メイン CR クロックまたは PLL クロックから生成されます。タイ
ムベースタイマからのカウントクロックをカウントクロックとして使用する場合は , タイムベース
タイマ制御レジスタのタイムベースタイマクリアビット (TBTC:TCLR) に "1" を書き込んでタイム
ベースタイマをリセットすると , カウント時間が影響されます。
bit6:4
説明
(MCLK: マシンクロック , FCH: メインクロック , FCRH: メイン CR クロック ,
FPLL: PLL クロック )
"000" を書き込んだ場合
1 MCLK
"001" を書き込んだ場合
MCLK/2
"010" を書き込んだ場合
MCLK/4
"011" を書き込んだ場合
MCLK/8
"100" を書き込んだ場合
MCLK/16
"101" を書き込んだ場合
MCLK/32
"110" を書き込んだ場合
FCH/27, FCRH/26 または FPLL/26*
"111" を書き込んだ場合
外部クロック
*: カウントクロックとして使用される値は , SYCC レジスタの SCS[2:0] ビットにより決まります。
168
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 11 章 8/16 ビット複合タイマ
11.14 レジスタ
MB95650L シリーズ
[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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
169
第 11 章 8/16 ビット複合タイマ
11.14 レジスタ
11.14.2
MB95650L シリーズ
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" を書き込んだ場合
タイマ動作を許可します。
170
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 11 章 8/16 ビット複合タイマ
11.14 レジスタ
MB95650L シリーズ
[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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
171
第 11 章 8/16 ビット複合タイマ
11.14 レジスタ
MB95650L シリーズ
[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" を書き込んだ場合
動作に影響はありません。
172
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 11 章 8/16 ビット複合タイマ
11.14 レジスタ
MB95650L シリーズ
[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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
173
第 11 章 8/16 ビット複合タイマ
11.14 レジスタ
11.14.3
MB95650L シリーズ
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" となります。
174
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 11 章 8/16 ビット複合タイマ
11.14 レジスタ
MB95650L シリーズ
[bit5] TIS: タイマ n0 内部信号選択ビット
このビットは , PWC タイマ機能またはインプットキャプチャ機能が選択されているときに , タイマ
n0 の信号入力を選択します。
このビットの機能はチャネルにより異なります。以下は各チャネルの機能詳細を説明します。
• ch. 0
このビットへの "0" の書込みは外部信号 (EC0) をタイマ 00 の信号入力として選択します。
このビットへの "1" の書込みは内部信号 (TII0) をタイマ 00 の信号入力として選択します。
EC0 端子の外部端子割当てが選択できます。詳細は ,「第 23 章 システム構成コントローラ」を参
照してください。
タイマ動作中 (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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
175
第 11 章 8/16 ビット複合タイマ
11.14 レジスタ
MB95650L シリーズ
[bit1:0] FE0[1:0]: タイマ n0 フィルタ機能選択ビット
これらのビットは , PWC タイマ機能またはインプットキャプチャ機能が選択されているとき , タイ
マ n0 への外部信号 (ECn) に対するフィルタ機能を選択します。
タイマ動作中 (Tn0CR1:STA = 1), このビットへの書込みアクセスは無効です。
インターバルタイマ機能または PWM タイマ機能が選択されているときには , これらのビットを設
定しても動作に影響しません ( フィルタ機能は動作しません )。
説明
bit1:0
"00" を書き込んだ場合
フィルタなし
"01" を書き込んだ場合
"H" パルスノイズ除去
"10" を書き込んだ場合
"L" パルスノイズ除去
"11" を書き込んだ場合
"H" と "L" パルスノイズ除去
176
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 11 章 8/16 ビット複合タイマ
11.14 レジスタ
MB95650L シリーズ
11.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
177
第 11 章 8/16 ビット複合タイマ
11.14 レジスタ
MB95650L シリーズ
● 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 の順番で行ってください。
178
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 11 章 8/16 ビット複合タイマ
11.14 レジスタ
MB95650L シリーズ
● 読出し , 書込み動作について
Tn0DR と Tn1DR の 16 ビット動作時および PWM タイマ機能 ( 周期可変 ) 時の読出し ,
書込み動作は以下のように行われます。
•
Tn1DR からの読出し : 同レジスタの読出し動作に加えて , Tn0DR の値を内部の読
出しバッファへ格納する動作も同時に行われます。
•
Tn0DR からの読出し : 内部の読出しバッファからの読出し動作が行われます。
•
Tn1DR への書込み
: 内部の書込みバッファへの書込み動作が行われます。
•
Tn0DR への書込み
: 同レジスタの書込み動作に加え , 内部の書込みバッファの
値を Tn1DR へ格納する動作も同時に行われます。
図 11.14-1 に , Tn0DR と Tn1DR レジスタの 16 ビット動作における読み書き動作を示し
ます。
図 11.14-1 Tn0DR と Tn1DR レジスタの 16 ビット動作におけるリードおよびライト動作
読出し
バッファ
Tn0DR
レジスタ
書込み
データ
書込み
バッファ
Tn1DR
書込み
MN702-00015-2v0-J
読出し
データ
Tn1DR
レジスタ
Tn0DR
書込み
Tn1DR
読出し
FUJITSU SEMICONDUCTOR LIMITED
Tn0DR
読出し
179
第 11 章 8/16 ビット複合タイマ
11.15 使用上の注意
11.15
MB95650L シリーズ
使用上の注意
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 ビット複合タイマは次の立上りエッジよりキャプ
チャ動作を開始します。
180
•
PWM 周期可変モードの 8 ビット動作 (TMCRn:MOD = 0) において , カウンタ動作中
に 8/16 ビット複合タイマデータレジスタ (Tn0DR と Tn1DR) を変更する場合 , 8/16
ビット複合タイマ n1 データレジスタ (Tn1DR) を変更した後に , 8/16 ビット複合タ
イマ n0 データレジスタ (Tn0DR) を変更してください。
•
マイコンがストップモードまたは時計モードに移行すると , カウンタは値を保持し
て動作を停止します。ストップモードまたは時計モードが割込みによって解除され
ると , カウンタは保持した値から動作を再開します ( 図 11.15-1 と図 11.15-2 を参照
してください )。このため , 初回のインターバル時間や初期外部クロックのカウント
数は正しい値ではありません。マイコンがストップモードまたは時計モードから解
除された後には , 必ずカウンタ値を初期化してください。
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 11 章 8/16 ビット複合タイマ
11.15 使用上の注意
MB95650L シリーズ
図 11.15-1 スタンバイモードまたは一時停止時のカウンタの動作 (PWM タイマ機能以外 )
Tn0DR/Tn1DRデータレジスタ値 (0xFF)
カウンタ値
0xFF
0x80
0x00
タイマサイクル
時間
要求終了
HO要求
HO要求終了
発振安定待ち遅延時間
ストップモード(不確定)からの
起動後のインターバル時間
IFビット
プログラムに
よるクリア
動作停止
STAビット
動作再開
動作再起動
HOビット
IEビット
スリープモード
SLPビット
(STBCレジスタ)
外部割込みによるストップモードからの復帰
割込みによるスリープモードからの復帰
STPビット
(STBCレジスタ)
ストップモード
図 11.15-2 スタンバイモードおよび一時停止時のカウンタの動作 (PWM タイマ機能のとき )
カウンタ値
0xFF
(0xFF)
0x00
時間
発振安定待ち遅延時間
Tn0DR/Tn1DR値 (0xFF)
STA ビット
*
PWMタイマ出力端子
スリープモード
SLP ビット
(STBC レジスタ)
停止前のレベルを維持
一時停止前のレベルを維持
外部割込みによるストップモードからの復帰
割込みによるスリープモードからの復帰
STP ビット
(STBC レジスタ)
HO ビット
*: PWMタイマ出力はストップモードへの移行前の値を保持します。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
181
第 11 章 8/16 ビット複合タイマ
11.15 使用上の注意
182
MB95650L シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 12 章
外部割込み回路
外部割込み回路の機能と動作について説明します。
12.1 概要
12.2 構成
12.3 チャネル
12.4 端子
12.5 割込み
12.6 動作説明と設定手順例
12.7 レジスタ
12.8 使用上の注意
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
183
第 12 章 外部割込み回路
12.1 概要
12.1
MB95650L シリーズ
概要
外部割込み回路は , 外部割込み端子に入力された信号のエッジを検出し , 割込みコン
トローラへ割込み要求を出力します。
■ 外部割込み回路の機能
外部割込み回路は , 外部割込み端子に入力された信号の任意のエッジを検出し , 割込み
コントローラに対して割込み要求を発生します。この割込み要求によって , デバイスを
スタンバイモードから復帰させ , 通常の動作状態に戻せます。そのため , デバイスの動
作モードは , 外部割込み端子に信号が入力されたときに変更可能となります。
184
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 12 章 外部割込み回路
12.2 構成
MB95650L シリーズ
12.2
構成
外部割込み回路は , 以下のブロックで構成されます。
• エッジ検出回路
• 外部割込み制御レジスタ
■ 外部割込み回路のブロックダイヤグラム
図 12.2-1 に , 外部割込み回路のブロックダイヤグラムを示します。
図 12.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
185
第 12 章 外部割込み回路
12.3 チャネル
12.3
MB95650L シリーズ
チャネル
外部割込み回路のチャネルについて説明します。
■ 外部割込み回路のチャネル
表 12.3-1 に , 外部割込み回路の端子とそれに対応するレジスタを示します。
表 12.3-1 外部割込み回路の端子およびレジスタ
端子名
端子機能
INTn
外部割込み入力 ch. n
INTn+1
外部割込み入力 ch. n+1
INTn+2
外部割込み入力 ch. n+2
INTn+3
外部割込み入力 ch. n+3
対応するレジスタ
外部割込み制御レジスタ (EIC)
外部割込み回路のチャネル数は品種によって異なります。各品種のチャネル数につい
て , デバイスのデータシートを参照してください。
186
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
12.4
端子
第 12 章 外部割込み回路
12.4 端子
外部割込み回路の端子について説明します。
■ 外部割込み回路の端子
● INT 端子
この端子は , 外部割込み入力端子および汎用 I/O ポートとして機能します。
INT 端子は , ポート方向レジスタ (DDR) によって対応する端子を入力ポートに設定し ,
外部割込み制御レジスタ (EIC) によって対応する外部割込み入力を許可すると , 外部割
込み入力端子 (INT) として機能します。
端子が入力ポートとして設定されている場合 , その端子の状態は , 常にポートデータレ
ジスタ (PDR) から読み出せます。PDR の値はリードモディファイライト (RMW) 系命令
で読み出せます。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
187
第 12 章 外部割込み回路
12.5 割込み
12.5
MB95650L シリーズ
割込み
外部割込み回路の割込み要因としては , 外部割込み端子に入力された信号の指定エッ
ジの検出があります。
■ 外部割込み回路の動作中の割込み
外部割込み入力の指定されたエッジが検出された場合 , 対応する外部割込み要求フラ
グビット (EIC:EIR0 または EIR1) が "1" に設定されます。このとき , その外部割込み要
求フラグビットに対応する割込み要求許可ビット (EIC:EIE0 または EIE1 = 1) が許可さ
れていれば , 割込みコントローラへの割込み要求が発生します。割込みサービスルーチ
ンでは , 発生した割込み要求に対応する外部割込み要求フラグビットに "0" を書き込ん
で割込み要求をクリアしてください。
188
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 12 章 外部割込み回路
12.6 動作説明と設定手順例
MB95650L シリーズ
12.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" にクリアしてください。
図 12.6-1 に , INTn 端子を外部割込み入力に設定した際の動作を示します。
図 12.6-1 外部割込みの動作
INTn端子への
入力波形
プログラムにより
割込み要求ビットクリア
EIR0ビット
EIE0ビット
SL01ビット
SL00ビット
IRQ
エッジ検出なし
MN702-00015-2v0-J
立上りエッジ
立下りエッジ
FUJITSU SEMICONDUCTOR LIMITED
両エッジ
189
第 12 章 外部割込み回路
12.6 動作説明と設定手順例
MB95650L シリーズ
■ 設定手順例
以下に , 外部割込み回路の設定手順例を示します。
● 初期設定
1. 割込みレベルを設定してください (ILR*)。
2. エッジ極性を選択してください (EIC:SL0[1:0])。
3. 割込み要求を許可してください (EIC:EIE0 = 1)。
*: 割込みレベル設定レジスタ (ILR) の詳細について , 本ハードウェアマニュアルの「第 5 章 割
込み」とデバイスのデータシートの「■ 割込み要因のテーブル」を参照してください。
● 割込み処理
1. 割込み要求フラグをクリアしてください (EIC:EIR0 = 0)。
2. 割込み処理を行ってください。
<注意事項>
外部割込み入力ポートは , 汎用 I/O ポートと同一の端子を共用しています。したがって ,
この端子を外部割込み入力ポートとして使用する場合は , その端子に対応するポート方向
レジスタ (DDR) 内のビットを "0"( 入力 ) に設定してください。
190
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 12 章 外部割込み回路
12.7 レジスタ
MB95650L シリーズ
12.7
レジスタ
外部割込み回路のレジスタについて説明します。
表 12.7-1
外部割込み回路のレジスタ一覧
レジスタ略称
EIC
MN702-00015-2v0-J
レジスタ名
外部割込み制御レジスタ
FUJITSU SEMICONDUCTOR LIMITED
参照先
12.7.1
191
第 12 章 外部割込み回路
12.7 レジスタ
12.7.1
MB95650L シリーズ
外部割込み制御レジスタ (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" を書き込んだ場合
両エッジ
192
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 12 章 外部割込み回路
12.7 レジスタ
MB95650L シリーズ
[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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
193
第 12 章 外部割込み回路
12.7 レジスタ
MB95650L シリーズ
[bit0] EIE0: 割込み要求許可ビット 0
このビットは , 割込みコントローラへの割込み要求の出力を許可または禁止します。このビットと
外部割込み要求フラグビット 0 (EIR0) が "1" のとき , 割込み要求が出力されます。
外部割込み端子を使用するには , ポート方向レジスタ (DDR) の対応するビットに "0" を書き込み ,
その端子を入力ポートとして設定してください。
外部割込み端子の状態は , 割込み要求許可ビットの状態にかかわらず , ポートデータレジスタから
直接読み出せます。
説明
bit0
"0" を書き込んだ場合
割込み要求出力を禁止します。
"1" を書き込んだ場合
割込み要求出力を許可します。
194
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
12.8
使用上の注意
第 12 章 外部割込み回路
12.8 使用上の注意
外部割込み回路使用上の注意事項を示します。
■ 外部割込み回路使用上の注意
•
エッジ極性選択ビット (SL0[1:0] または SL1[1:0]) を設定する際には , 割込み要求
許可ビット (EIE0 または EIE1) を "0"( 割込み要求を禁止する ) に設定してくださ
い。また , エッジ極性を設定した後には , 外部割込み要求フラグビット (EIR0 また
は EIR1) を "0" にクリアしてください。
•
外部割込み要求フラグビットが "1" で , 割込み要求許可ビットが許可となっている
場合は , デバイスを割込みサービスルーチンから復帰させることはできません。割
込みサービスルーチンでは , 必ず外部割込み要求フラグビットをクリアしてくださ
い。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
195
第 12 章 外部割込み回路
12.8 使用上の注意
196
MB95650L シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 13 章
LIN-UART
LIN-UART の機能と動作について説明します。
13.1 概要
13.2 構成
13.3 端子
13.4 割込み
13.5 LIN-UART ボーレート
13.6 動作説明と設定手順例
13.7 レジスタ
13.8 使用上の注意
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
197
第 13 章 LIN-UART
13.1 概要
13.1
MB95650L シリーズ
概要
LIN (Local Interconnect Network) -UART は , 外部装置と同期通信もしくは非同期通
信 ( 調歩同期 ) をするための汎用のシリアルデータ通信インタフェースです。双方向通
信機能 ( ノーマルモード ) とマスタ / スレーブ型通信機能 ( マルチプロセッサモード :
マスタ動作とスレーブ動作の両方をサポート ) に加え , LIN バスに対応するための特
別な機能もサポートします。
■ LIN-UART の機能
LIN-UART は , ほかの CPU や周辺装置とシリアルデータを送受信するための汎用シリ
アルデータ通信インタフェースです。表 13.1-1 に , LIN-UART の機能を示します。
表 13.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) で使用 )
198
マスタデバイス動作
スレーブデバイス動作
LIN synch break 検出
LIN synch break 生成
8/16 ビット複合タイマに接続している LIN synch field のスタート / ストッ
プエッジの検出
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 13 章 LIN-UART
13.1 概要
MB95650L シリーズ
LIN-UART は 4 つの異なるモードで動作します。
動作モードは , LIN-UART シリアルモー
ドレジスタ (SMR) の MD0, MD1 ビットにより選択されます。
動作モード 0 と動作モード
2 は双方向シリアル通信 , 動作モード 1 はマスタ / スレーブ型通信 , 動作モード 3 は LIN
マスタ / スレーブ型通信に使用します。
表 13.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
の動作モードを選択します。
表 13.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
199
第 13 章 LIN-UART
13.2 構成
13.2
MB95650L シリーズ
構成
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)
200
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 13 章 LIN-UART
13.2 構成
MB95650L シリーズ
■ LIN-UART のブロックダイヤグラム
図 13.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
201
第 13 章 LIN-UART
13.2 構成
MB95650L シリーズ
● 受信制御回路
このブロックは , 受信ビットカウンタ , スタートビット検出回路および受信パリティカ
ウンタから構成されます。受信ビットカウンタは , 受信データビットをカウントし , 指
定されたデータ長に応じて 1 データの受信完了後は , LIN-UART 受信データレジスタに
フラグを設定します。
このとき受信割込みが許可されている場合には , 受信割込み要求
が発生します。
スタートビット検出回路は , シリアル入力信号におけるスタートビット
を検出します。スタートビットが検出されると , この回路はスタートビットの立下り
エッジに同期して , リロードカウンタに信号を送信します。受信パリティカウンタは ,
受信データのパリティを計算します。
● 受信シフトレジスタ
SIN 端子から入力された受信データをビットシフトしながら取り込み , 受信完了後は ,
RDR レジスタに受信データを転送します。
● LIN-UART 受信データレジスタ (RDR)
このレジスタは, 受信データを保持します。シリアル入力データは変換され, LIN-UART
受信データレジスタに格納されます。
● 送信制御回路
このブロックは , 送信ビットカウンタ , 送信スタート回路および送信パリティカウンタ
から構成されます。送信ビットカウンタは , 送信データビットをカウントし , 指定され
たデータ長に応じて1データの送信完了後は, 送信データレジスタのフラグを設定しま
す。このとき送信割込みが許可されている場合には , 送信割込み要求が発生します。送
信スタート回路は , TDR にデータが書き込まれると送信を開始します。送信パリティカ
ウンタは , データがパリティありの場合 , 送信するデータのパリティビットを生成しま
す。
● 送信シフトレジスタ
LIN-UART 送信データレジスタ (TDR) に書き込まれたデータは , 送信シフトレジスタ
に転送されます。
そして送信シフトレジスタは , データをビットシフトしながら SOT 端
子に出力します。
● LIN-UART 送信データレジスタ (TDR)
送信データを設定します。このレジスタに書き込まれたデータは , シリアルデータに変
換されて出力されます。
● エラー検出回路
この回路は , 受信終了時に発生するエラーを検出します。エラーが発生すると , 対応す
るエラーフラグを設定します。
● オーバサンプリング回路
非同期モード動作では, オーバサンプリング回路は受信したデータを5回オーバサンプ
リングし , サンプリング値の多数決により受信値を決定します。また , 同期モードでは
動作を停止します。
202
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 13 章 LIN-UART
13.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
203
第 13 章 LIN-UART
13.2 構成
MB95650L シリーズ
● 拡張制御ステータスレジスタ (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 の送受信クロックソースとして使用されます。
204
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 13 章 LIN-UART
13.3 端子
MB95650L シリーズ
13.3
端子
LIN-UART の端子について説明します。
■ LIN-UART の端子
LIN-UART の端子は , 汎用ポートとしても使用されます。
表 13.3-1 に , LIN-UART 端子
の機能と , 使用時の設定を示します。
表 13.3-1 LIN-UART の端子
端子名
端子機能
端子を使用するために必要となる設定
SIN
シリアルデータ入力
入力ポートに設定する。
(DDR: 対応するビット = 0)
SOT
シリアルデータ出力
出力を許可する。
(SMR:SOE = 1)
SCK
MN702-00015-2v0-J
シリアルクロック入出力
この端子をクロック入力に使用する場合は , 入力ポート
に設定する。
(DDR: 対応するビット = 0)
この端子をクロック出力端子として使用する場合は , 出
力を許可する。
(SMR:SCKE = 1)
FUJITSU SEMICONDUCTOR LIMITED
205
第 13 章 LIN-UART
13.4 割込み
MB95650L シリーズ
割込み
13.4
LIN-UART には , 受信割込みと送信割込みがあり , 以下の要因で発生します。各割込み
には , 割込み番号と割込みベクタが割り当てられています。また , 8/16 ビット複合タ
イマの割込みを使用した LIN synch field エッジ検出割込み機能もあります。
• 受信割込み
LIN-UART 受信データレジスタ (RDR) に受信データが設定された場合 , 受信エ
ラーが発生した場合 , また , LIN synch break が検出されたときに発生します。
• 送信割込み
送信データが LIN-UART 送信データレジスタ (TDR) から送信シフトレジスタに転
送され , データ送信が開始した場合に発生します。
■ 受信割込み
表 13.4-1 に , 受信割込みの制御ビットと割込み要因を示します。
表 13.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)
206
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 13 章 LIN-UART
13.4 割込み
MB95650L シリーズ
上記フラグビットのいずれかが "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) にしてください。
■ 送信割込み
表 13.4-2 に , 送信割込みの制御ビットと割込み要因を示します。
表 13.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
207
第 13 章 LIN-UART
13.4 割込み
MB95650L シリーズ
■ LIN Synch Field エッジ検出割込み (8/16 ビット複合タイマ割込み )
表 13.4-3 に , LIN synch field エッジ検出割込みの制御ビットと割込み要因を示します。
表 13.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 ビット複合タイマで検出されたカウント値の差 ( 図 13.4-1 を参照 ) は , マスタシリ
アルクロックの 8 ビット分に相当します。この値から新しいボーレートを計算できま
す。新しいボーレートは 設定された後 , 次のスタートビットで検出された立下りエッ
ジから有効となります。
図 13.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
208
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 13 章 LIN-UART
13.4 割込み
MB95650L シリーズ
13.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) の
データは無効となります。
図 13.4-2 に , 受信動作とフラグ設定のタイミングを示します。
図 13.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( マルチプロセッサ ) アドレスデータ選択ビット
<注意事項>
図 13.4-2 は , 動作モード 0 におけるすべての受信動作を示すものではなく , 異なった通信
フォーマットの 2 つの受信動作例を示したものです。1 つは 通信フォーマットが 7 ビット
データ , パリティあり ( パリティビット =" 偶数パリティ" または " 奇数パリティ"), ストッ
プビット1の場合, もう1つは8ビットデータ, パリティなし, ストップビット1の場合です。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
209
第 13 章 LIN-UART
13.4 割込み
MB95650L シリーズ
図 13.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
210
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 13 章 LIN-UART
13.4 割込み
MB95650L シリーズ
13.4.2
送信割込み発生とフラグ設定のタイミング
送信割込みは , 送信データが LIN-UART 送信データレジスタ (TDR) から送信シフトレ
ジスタに転送され , データ送信が開始した場合に発生します。
■ 送信割込み発生とフラグ設定のタイミング
LIN-UART 送信データレジスタ (TDR) に書き込まれたデータが送信シフトレジスタに
転送され, そのデータの送信が開始すると, TDRレジスタへの次のデータの書込みが可
能な状態 (SSR:TDRE = 1) になります。送信割込みが許可されている場合 (SSR:TIE = 1)
には , データ送信が開始された時点で , 送信割込みが発生します。
TDRE ビットはリードオンリです。LIN-UART 送信データレジスタ (TDR) にデータが書
き込まれた場合にのみ , "0" にクリアされます。
図 13.4-4 に , 送信動作とフラグ設定のタイミングを示します。
図 13.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)
<注意事項>
図 13.4-4 は , 動作モード 0 におけるすべての送信動作を示すものではありません。8 ビッ
トデータ , パリティあり (" 偶数パリティ" または " 奇数パリティ"), ストップビット 1 によ
る送信動作例を示しています。
パリティビットは動作モード 3 の場合 , もしくは動作モード 2 で SSM = 0 の場合には送
信されません。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
211
第 13 章 LIN-UART
13.4 割込み
MB95650L シリーズ
■ 送信割込み要求発生タイミング
送信割込みが許可されている場合 (SSR:TIE=1) に , TDRE ビットに "1" が設定されると ,
送信割込みが発生します。
<注意事項>
初期状態では , TDRE ビットが "1" になっているため , 送信割込みが許可 (SSR:TIE=1) さ
れると , 直ちに送信割込みが発生します。TDRE ビットのクリアは , 送信データレジスタ
(TDR) に新規データを書き込むことしかないため , 送信割込み許可のタイミングには注意
してください。
各周辺機能の割込み要求番号およびベクタテーブルアドレスについては , 本シリーズ
のデータシートの「■ 割込み要因テーブル」を参照してください。
212
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
13.5
LIN-UART ボーレート
第 13 章 LIN-UART
13.5 LIN-UART ボーレート
LIN-UART の入力クロック ( 送受信クロックソース ) は , 次の中からいずれかを選択
できます。
• マシンクロックをボーレートジェネレータ ( リロードカウンタ ) に入力
• 外部クロックをボーレートジェネレータ ( リロードカウンタ ) に入力
• 外部クロック (SCK 端子入力クロック ) を直接使用
■ LIN-UART ボーレート選択
ボーレートは , 次の 3 種類の中から 1 種類を選択できます。図 13.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
213
第 13 章 LIN-UART
13.5 LIN-UART ボーレート
MB95650L シリーズ
図 13.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
214
SMR
レジスタ
BGR14
BGR13
BGR12
BGR11
BGR10
BGR9
BGR8
BGR1
レジスタ
BGR7
BGR6
BGR5
BGR4
BGR3
BGR2
BGR1
BGR0
FUJITSU SEMICONDUCTOR LIMITED
BGR0
レジスタ
MN702-00015-2v0-J
第 13 章 LIN-UART
13.5 LIN-UART ボーレート
MB95650L シリーズ
13.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
215
第 13 章 LIN-UART
13.5 LIN-UART ボーレート
MB95650L シリーズ
■ 各クロック速度のリロード値とボーレート
表 13.5-1 に , 各クロック速度のリロード値とボーレートを示します。
表 13.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 はマシンクロックです。
216
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 13 章 LIN-UART
13.5 LIN-UART ボーレート
■ 外部クロック
LIN-UART シリアルモードレジスタ (SMR) の EXT ビットを "1" に設定すると外部ク
ロックが選択されます。
ボーレートジェネレータでは , 外部クロックは内部クロックと
同じように使用できます。
動作モード 2( 同期 ) でスレーブ動作を使用する場合は , 1 対 1 外部クロック入力モード
(SMR:OTO=1) を選択します。このモードでは , SCK に入力された外部クロックが LINUART シリアルクロックに直接入力されます。
<注意事項>
外部クロック信号は LIN-UART で , 内部クロック (MCLK: マシンクロック ) に同期します。
したがって , 外部クロックの周期が内部クロックの周期の半分より高速である場合 , 外部
クロックが分周不可能となるため , 外部クロック信号は不安定な状態になります。
SCK クロックの値はご使用製品のデータシートを参照してください。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
217
第 13 章 LIN-UART
13.5 LIN-UART ボーレート
MB95650L シリーズ
■ 専用ボーレートジェネレータ ( リロードカウンタ ) の動作
図 13.5-2 に , リロード値 "832" を用いた 2 つのリロードカウンタの動作例を示します。
図 13.5-2 専用ボーレートジェネレータ ( リロードカウンタ ) の動作
送受信クロック
リロードカウンタ
(V+1)/2 で立下り
002
001
832
831
830
829
828
417
416
415
414
413
412
411
リロードカウンタ値
<注意事項>
シリアルクロック信号の立下りエッジは , リロード値を 2 で割った値 [(V+1)/2] をカウン
トした後に発生します。
218
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
13.5.2
リロードカウンタ
第 13 章 LIN-UART
13.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 つのリロードカウンタはリスタートします。
この機能により , 送信リロードカウンタを簡易的なタイマとして使用できます。
図 13.5-3 に , この機能の使用例を示します ( リロード値が 100 の場合 )。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
219
第 13 章 LIN-UART
13.5 LIN-UART ボーレート
MB95650L シリーズ
図 13.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" にクリアすることなく , リスタートします。
220
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 13 章 LIN-UART
13.6 動作説明と設定手順例
MB95650L シリーズ
13.6
動作説明と設定手順例
LIN-UART は , 動作モード 0/2 の双方向シリアル通信 , 動作モード 1 のマスタ / スレー
ブ通信 , 動作モード 3 の LIN マスタ / スレーブ通信で動作します。
■ LIN-UART の動作
● 動作モード
LIN-UART には , 4 種類の動作モード (0 ~ 3) があり , 表 13.6-1 に示すように , それぞれ
CPU 間の接続方式やデータ転送方式が異なります。
表 13.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 の動作モードを選択します。
表 13.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
221
第 13 章 LIN-UART
13.6 動作説明と設定手順例
MB95650L シリーズ
■ 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 章 割
込み」とデバイスのデータシートの「■ 割込み要因のテーブル」を参照してください。
222
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 13 章 LIN-UART
13.6 動作説明と設定手順例
MB95650L シリーズ
13.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])
図 13.6-1 に , 非同期モード ( 動作モード 0 または動作モード 1) における送受信データ
形式を示します。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
223
第 13 章 LIN-UART
13.6 動作説明と設定手順例
MB95650L シリーズ
図 13.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) の順序で処理されます。
224
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 13 章 LIN-UART
13.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
225
第 13 章 LIN-UART
13.6 動作説明と設定手順例
MB95650L シリーズ
● 入力クロック
内部クロックまたは外部クロックを使用します。ボーレートについては , ボーレート
ジェネレータを選択してください (SMR:EXT=0 または 1, OTO=0)。
● ストップビットと受信バスアイドルフラグ
送信のとき , ストップビット数を 1 ビットまたは 2 ビットから選択できます。2 ビット
を選択した場合には , 両方のストップビットが受信中に検出されます。
最初のストップビットが検出されると , 受信データレジスタフルフラグビット
(SSR:RDRF) が "1" になります。その後にスタートビットが検出されなければ , 受信バス
アイドルフラグビット (ECCR:RBI) が "1" になり , 受信動作がないことを示します。
● エラー検出
動作モード 0 では , パリティエラー, オーバランエラーおよびフレームエラーを検出で
きます。
動作モード 1 では , オーバランエラーとフレームエラーを検出できます。ただし , パリ
ティエラーは検出できません。
● パリティ
パリティビットの付加 ( 送信時 ) と検出 ( 受信時 ) の設定が可能です。
パリティ許可ビット (SCR:PEN) でパリティの有無を , パリティ選択ビット (SCR:P) で
奇数 / 偶数パリティを選択できます。
動作モード 1 では , パリティは使用できません。
図 13.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 ファーストが選択できます。
226
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
13.6.2
同期モード ( 動作モード 2) の動作
第 13 章 LIN-UART
13.6 動作説明と設定手順例
LIN-UART を動作モード 2( ノーマルモード ) で使用する場合 , 転送方式はクロック同
期転送となります。
■ 同期モード ( 動作モード 2) の動作
● 送受信データ形式
同期モードでは , 8 ビットデータが送受信されます。データフォーマットは , スタート
ビットとストップビットの有無を選択できます (ECCR:SSM)。また , スタート / ストッ
プ ビ ッ ト あ り の 場 合 (ECCR:SSM=1) は , パ リ テ ィ ビ ッ ト の 有 無 も 選 択 で き ま す
(SCR:PEN)。
図 13.6-3 に , 同期モード ( 動作モード 2) におけるデータ形式を示します。
図 13.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" になります。
図 13.6-4 クロック反転時の送信データ形式
マークレベル
送受信クロック
(SCES = 0, CCO = 0) :
送受信クロック
(SCES = 1, CCO = 0) :
データストリーム (SSM = 1)
(パリティなし, 1ストップビット)
マークレベル
ST
SP
データフレーム
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
227
第 13 章 LIN-UART
13.6 動作説明と設定手順例
MB95650L シリーズ
● スタート / ストップビット
LIN-UART 拡張通信制御レジスタ (ECCR) の SSM ビットが "1" の場合は , 非同期モー
ドと同様にスタートビットとストップビットがデータ形式に付加されます。
● クロックの供給
クロック同期モード ( ノーマル ) では , 送受信データビット数はクロックサイクル数と
同じでなければなりません。スタート / ストップビットが許可されている場合 , ク
ロックサイクル数は追加されたスタート / ストップビット分まで一致させてください。
シリアルクロック送信側が選択されており(ECCR:MS=0), シリアルクロック出力が許
可されている (SMR:SCKE = 1) 場合は , 送受信中に同期クロックが自動的に出力され
ます。シリアルクロック受信側 (ECCR:MS = 1) が選択されているか , シリアルクロック
出力が禁止されている (SMR:SCKE = 0) 場合は , 送受信データビット数と等しいクロッ
クサイクルが , 外部クロック端子から供給されるようにしてください。
シリアルデータが送受信動作に関係ない場合には , クロック信号をマークレベル ("H")
に保持してください。
● クロックの遅延
ECCR レジスタの SCDE ビットに "1" を設定すると , 図 13.6-5 に示すような遅延した送
信クロックが出力されます。この機能は , 受信側のデバイスが , シリアルクロックの立
上りエッジまたは立下りエッジでデータをサンプリングする際に必要です。
図 13.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 クロックのエッジで送信 / 受信データの値が有効と
なるようにしてください。
228
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 13 章 LIN-UART
13.6 動作説明と設定手順例
MB95650L シリーズ
● クロックの連続供給
ESCR レジスタの CCO ビットが "1" のとき , シリアルクロック送信側に , SCK 端子か
らのシリアルクロック出力が連続供給されます。この場合は , データフレームの開始と
終了を明確にするために , スタートビットとストップビットをデータ形式 (SSM = 1) に
付加してください。図 13.6-6 に , クロックの連続供給動作 ( 動作モード 2) を示します。
図 13.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
229
第 13 章 LIN-UART
13.6 動作説明と設定手順例
MB95650L シリーズ
- 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 レジス
タにダミーデータを書き込んでください。
連続クロック出力を許可し, スタート/ストップビットを許可することにより, 非同期モー
ドの場合と同様の双方向通信が行えるようになります。
230
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
13.6.3
LIN 機能 ( 動作モード 3) の動作
第 13 章 LIN-UART
13.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 ビットによって , 表 13.6-3 の
ように設定されます。
表 13.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
231
第 13 章 LIN-UART
13.6 動作説明と設定手順例
MB95650L シリーズ
ボーレート設定は , 以下の式で算出してください。
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 ビット複合タイマのインプットキャプチャ機能の動作については ,「11.12 イン
プットキャプチャ機能の動作説明」を参照してください。
● LIN synch break 検出割込みとフラグ
スレーブモードにおいて LIN synch break が検出されると , ESCR の LIN break 検出 (LBD)
フラグに "1" が設定されます。LIN break 割込みが許可されている場合 (LBIE = 1) は , 割
込みが発生します。
図 13.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 のみで機能します。
図 13.6-8 に , LIN スレーブモードにおける LIN-UART の動作を示します。
232
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 13 章 LIN-UART
13.6 動作説明と設定手順例
MB95650L シリーズ
図 13.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 バスタイミング
図 13.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
233
第 13 章 LIN-UART
13.6 動作説明と設定手順例
MB95650L シリーズ
シリアル端子直接アクセス
13.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 端子の値が読み出されます。
234
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
13.6.5
双方向通信機能 ( ノーマルモード )
第 13 章 LIN-UART
13.6 動作説明と設定手順例
動作モード 0, 動作モード 2 では , 通常の双方向通信を行えます。動作モード 0 では非
同期モード , 動作モード 2 では同期モードを選択できます。
■ 双方向通信機能
LIN-UART をノーマルモード ( 動作モード 0, 動作モード 2) で動作させるためには ,
図 13.6-10 に示された設定をしてください。
図 13.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 間接続
双方向通信を使用する場合は , 図 13.6-11 に示すように 2 つの CPU を接続します。
図 13.6-11 LIN-UART モード 2 における双方向通信の接続例
SOT
SIN
SOT
出力
入力
SCK
SCK
CPU1
(シリアルクロック送信側)
MN702-00015-2v0-J
SIN
CPU2
(シリアルクロック受信側)
FUJITSU SEMICONDUCTOR LIMITED
235
第 13 章 LIN-UART
13.6 動作説明と設定手順例
MB95650L シリーズ
● 通信手順例
通信は送信側から , 送信データの準備が完了次第開始されます。受信側は送信データを
受け取った後に , 定期的に ANS( 例では 1 バイトごと ) を返します。
図 13.6-12 に , 双方
向通信のフローチャート例を示します。
図 13.6-12 双方向通信フローチャートの例
(マスタ)
(スレーブ)
スタート
スタート
動作モード設定
(0, 2いずれか)
動作モード設定
(マスタと合わせる)
TDR に1バイトデータを
設定して通信
データ送信
受信データあり
NO
YES
NO
受信データあり
受信データ読出しと処理
YES
受信データ読出しと処理
236
データ送信
(ANS)
1バイトデータ送信
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 13 章 LIN-UART
13.6 動作説明と設定手順例
MB95650L シリーズ
13.6.6
マスタ / スレーブ型通信機能 ( マルチプロセッサモー
ド)
動作モード 1 では , 複数 CPU のマスタ / スレーブモード接続による通信が可能です。
LIN-UART はマスタまたはスレーブとして使用できます。
■ マスタ / スレーブ型通信機能
LIN-UART をマルチプロセッサモード ( 動作モード 1) で動作させるためには , 図 13.6-13
に示された設定をしてください。
図 13.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 間接続
マスタ / スレーブ型通信では , 通信システムは図 13.6-14 に示すように , 1 つのマスタ
CPUと複数のスレーブCPUが2本の共通通信ラインで接続された構成となります。
LINUART はマスタまたはスレーブのどちらとしても使用できます。
図 13.6-14 LIN-UART のマスタ / スレーブ型通信の接続例
SOT
SIN
マスタCPU
SOT
SIN
スレーブCPU #0
MN702-00015-2v0-J
SOT
SIN
スレーブCPU #1
FUJITSU SEMICONDUCTOR LIMITED
237
第 13 章 LIN-UART
13.6 動作説明と設定手順例
MB95650L シリーズ
● 機能の選択
マスタ / スレーブ型通信では , 表 13.6-4 に示すように動作モードとデータ転送方式を選
択してください。
表 13.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 との通信をします。
図 13.6-15 に , マスタ / スレーブ型通信 ( マルチプロセッサモード ) のフローチャート
を示します。
238
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 13 章 LIN-UART
13.6 動作説明と設定手順例
MB95650L シリーズ
図 13.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
239
第 13 章 LIN-UART
13.6 動作説明と設定手順例
13.6.7
MB95650L シリーズ
LIN 通信機能
LIN-UART 通信は , LIN デバイスを LIN マスタシステムまたは LIN スレーブシステム
に使用できます。
■ LIN マスタ / スレーブ型通信機能
LIN-UART を LIN 通信モード ( 動作モード 3) で動作させるためには , 図 13.6-16 に示さ
れた設定をしてください。
図 13.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 デバイス接続
図 13.6-17 に , LIN バスシステムの通信例を示します。
LIN-UART は , LIN マスタまたは LIN スレーブとして動作できます。
図 13.6-17 LIN バスシステム通信の例
SOT
SOT
LINバス
SIN
LINマスタ
240
SIN
トランシーバ
トランシーバ
FUJITSU SEMICONDUCTOR LIMITED
LINスレーブ
MN702-00015-2v0-J
第 13 章 LIN-UART
13.6 動作説明と設定手順例
MB95650L シリーズ
13.6.8
LIN-UART の LIN 通信フローチャートの例
( 動作モード 3)
LIN-UART の LIN 通信フローチャート例を示します。
■ LIN マスタデバイス
図 13.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
241
第 13 章 LIN-UART
13.6 動作説明と設定手順例
MB95650L シリーズ
■ LIN スレーブデバイス
図 13.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リセットを実行してください。
(注意事項)各処理中で検出されたエラーを適切に処理してください。
242
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 13 章 LIN-UART
13.7 レジスタ
MB95650L シリーズ
13.7
レジスタ
LIN-UART のレジスタについて説明します。
表 13.7-1
LIN-UART のレジスタ一覧
レジスタ略称
レジスタ名
参照先
SCR
LIN-UART シリアル制御レジスタ
13.7.1
SMR
LIN-UART シリアルモードレジスタ
13.7.2
SSR
LIN-UART シリアルステータスレジスタ
13.7.3
RDR
LIN-UART 受信データレジスタ
13.7.4
TDR
LIN-UART 送信データレジスタ
13.7.4
ESCR
LIN-UART 拡張ステータス制御レジスタ
13.7.5
ECCR
LIN-UART 拡張通信制御レジスタ
13.7.6
BGR1
LIN-UART ボーレートジェネレータレジスタ 1
13.7.7
BGR0
LIN-UART ボーレートジェネレータレジスタ 0
13.7.7
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
243
第 13 章 LIN-UART
13.7 レジスタ
13.7.1
MB95650L シリーズ
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 ビット
( 注意事項 ) 受信時は , 常にストップビットのビット長分のフレミングエラーが検出されます。
244
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 13 章 LIN-UART
13.7 レジスタ
MB95650L シリーズ
[bit4] CL: データ長選択ビット
このビットは , 送受信データのデータ長を指定します。動作モード 2, 動作モード 3 では "1" に固定
されます。
説明
bit4
"0" を書き込んだ場合
7 ビット
"1" を書き込んだ場合
8 ビット
[bit3] AD: アドレス / データ形式選択ビット
このビットは , マルチプロセッサモード ( 動作モード 1) で , 送受信するフレームのデータ形式を指
定します。このビットの値は , マスタモードで書き込んで , スレーブモードで読み出してください。
読出し値は , 最後に受信したデータ形式となります。
説明
bit3
"0" を書き込んだ場合
データフレームを設定します。
"1" を書き込んだ場合
アドレスデータのフレームを設定します。
( 注意事項 ) このビットの使用方法については , 「13.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
245
第 13 章 LIN-UART
13.7 レジスタ
13.7.2
MB95650L シリーズ
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" を書き込んだ場合
外部シリアルクロックソースを選択します。
246
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 13 章 LIN-UART
13.7 レジスタ
MB95650L シリーズ
[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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
247
第 13 章 LIN-UART
13.7 レジスタ
MB95650L シリーズ
[bit0] SOE: LIN-UART シリアルデータ出力許可ビット
このビットは LIN-UART シリアルデータの出力を許可または禁止します。
SOT 端子は , LIN-UART シリアルデータ出力端子として設定されている場合 (SOE = 1), SOT と同じ
端子を使用する汎用入出力ポートの状態にかかわらず , LIN-UART シリアルデータ出力端子 (SOT)
として機能します。
bit0
説明
"0" を書き込んだ場合
SOT 端子は汎用入出力ポートとして機能します。
"1" を書き込んだ場合
SOT 端子は LIN-UART シリアルデータ出力端子として機能します。
248
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 13 章 LIN-UART
13.7 レジスタ
MB95650L シリーズ
13.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
249
第 13 章 LIN-UART
13.7 レジスタ
MB95650L シリーズ
[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" を書き込んだ場合
受信割込みを許可します。
250
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 13 章 LIN-UART
13.7 レジスタ
MB95650L シリーズ
[bit0] TIE: 送信割込み要求許可ビット
このビットは 割込みコントローラへの送信割込み要求の出力を許可または禁止します。
TIE ビットと TDRE ビットが "1" の場合 , 送信割込み要求が出力されます。
説明
bit0
"0" を書き込んだ場合
送信割込みを禁止します。
"1" を書き込んだ場合
送信割込みを許可します。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
251
第 13 章 LIN-UART
13.7 レジスタ
13.7.4
MB95650L シリーズ
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" になったときに行ってください。
252
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 13 章 LIN-UART
13.7 レジスタ
<注意事項>
LIN-UART 送信データレジスタは書込み専用のレジスタで , 受信データレジスタは読出し
専用のレジスタです。2つのレジスタは同一アドレスに配置されているため, 書込み値と読
出し値が異なります。
したがって , INC 命令や DEC 命令などのリードモディファイライト
(RMW) 系命令は使用できません。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
253
第 13 章 LIN-UART
13.7 レジスタ
13.7.5
MB95650L シリーズ
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) に設定してください。
254
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 13 章 LIN-UART
13.7 レジスタ
MB95650L シリーズ
[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-00015-2v0-J
SIN 端子の値を返します。
FUJITSU SEMICONDUCTOR LIMITED
255
第 13 章 LIN-UART
13.7 レジスタ
MB95650L シリーズ
[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" を書き込んだ場合
クロックの立下りエッジをサンプリングエッジとして選択します ( 反転クロッ
ク )。
256
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 13 章 LIN-UART
13.7 レジスタ
MB95650L シリーズ
13.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
257
第 13 章 LIN-UART
13.7 レジスタ
MB95650L シリーズ
[bit4] SCDE: シリアルクロック遅延許可ビット
シリアルクロック送信側が選択された動作モード 2 で , SCDE ビットが "1" に設定されると , 図 13.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" が読み出された場合
送信動作がないことを示します。
258
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 13 章 LIN-UART
13.7 レジスタ
MB95650L シリーズ
13.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
259
第 13 章 LIN-UART
13.8 使用上の注意
13.8
MB95650L シリーズ
使用上の注意
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 ビット長固定になっています。
260
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 13 章 LIN-UART
13.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
261
第 13 章 LIN-UART
13.8 使用上の注意
MB95650L シリーズ
● 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" の状態
が続いていることを検出するために使用されます ( 図 13.8-1 上 )。この動作が必要ない
場合は , フレーミングエラー後 , 一時的に受信を禁止してください (RXE=1 → 0 → 1)。
これにより , シリアルデータ入力 (SIN) の立下りエッジが検出され , 受信サンプリング
ポイントで "L" を検出するとスタートビットと認識し , 受信が開始されます ( 図 13.8-1
下 )。
262
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 13 章 LIN-UART
13.8 使用上の注意
MB95650L シリーズ
図 13.8-1 UART ドミナントバス動作
受信が常に許可される場合(RXE = 1)
SIN
FRE
CRE
フレーミング
エラー発生
エラー
クリア
立下りエッジの有無に
かかわらず受信を継続
次のフレーミン
グエラー
立下りエッジが次の
スタートビットエッジ
受信が一時的に禁止される場合(RXE = 1→0→1)
SIN
FRE
CRE
RXE
受信リセット:
エラークリア
フレーミングエラー
発生
立下りエッジの有無に
かかわらず受信を継続
MN702-00015-2v0-J
立下りエッジが次の
スタートビットエッジ
立下りエッジまで待機
エラーは発生
しない
FUJITSU SEMICONDUCTOR LIMITED
263
第 13 章 LIN-UART
13.8 使用上の注意
264
MB95650L シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 14 章
8/12 ビット A/D コンバータ
8/12 ビット A/D コンバータの機能と動作について
説明します。
14.1 概要
14.2 構成
14.3 端子
14.4 割込み
14.5 8/12 ビット A/D コンバータの動作許可
14.6 動作説明と設定手順例
14.7 レジスタ
14.8 使用上の注意
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
265
第 14 章 8/12 ビット A/D コンバータ
14.1 概要
14.1
MB95650L シリーズ
概要
8/12 ビット A/D コンバータは , 12 ビット逐次比較型の 8/12 ビット A/D コンバータ
です。複数のアナログ入力端子から 1 つの入力信号を選択し, ソフトウェアと内部 ク
ロックによって起動できます。
■ A/D 変換機能
A/Dコンバータは, アナログ入力端子から入力されたアナログ電圧 (入力電圧) を8ビッ
トまたは 12 ビットのデジタル値に変換します。
• 入力信号は , 複数のアナログ入力端子から選択できます。
• 変換速度は , プログラムで設定可能です ( 動作電圧と周波数によって選択可能 )。
• A/D 変換が完了すると割込みが発生します。
• 変換完了は , ADC1 レジスタの ADI ビットで確認できます。
A/D 変換機能を起動するには , 以下のいずれかの方法を使用します。
• ADC1 レジスタの AD ビットによる起動
• 8/16 ビット複合タイマ出力 TO00 による連続起動
266
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
14.2
構成
第 14 章 8/12 ビット A/D コンバータ
14.2 構成
8/12 ビット A/D コンバータは , 以下のブロックで構成されます。
• クロックセレクタ (A/D 変換起動用入力クロックセレクタ )
• アナログチャネルセレクタ
• サンプルアンドホールド回路
• 制御回路
• 8/12 ビット A/D コンバータ動作許可状態遷移時間カウンタ
• 8/12 ビット A/D コンバータデータレジスタ ( 上位 / 下位 ) (ADDH/ADDL)
• 8/12 ビット A/D コンバータ制御レジスタ 1 (ADC1)
• 8/12 ビット A/D コンバータ制御レジスタ 2 (ADC2)
• 8/12 ビット A/D コンバータ制御レジスタ 3 (ADC3)
品種により , 8/12 ビット A/D コンバータのアナログ入力端子数およアナログチャネル
数は異なります。
詳細は , デバイスのデータシートを参照してください。
本章において , 端子名にある "n" はアナログ入力端子番号を示します。各品種の端子名
について , デバイスのデータシートを参照してください。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
267
第 14 章 8/12 ビット A/D コンバータ
14.2 構成
MB95650L シリーズ
■ 8/12 ビット A/D コンバータのブロックダイヤグラム
図 14.2-1 に , 8/12 ビット A/D コンバータのブロックダイヤグラムを示します。
図 14.2-1 8/12 ビット A/D コンバータのブロックダイヤグラム
8/12ビットA/Dコンバータ制御レジスタ2 (ADC2)
ADS
TIM1
TIM0
ADCK
ADIE
8/16ビット複合
タイマch. 0出力
端子 (TO00)
ANn端子
EXT
CKDIV1
CKDIV0
起動信号
セレクタ
アナログ
チャネル
セレクタ
サンプルアンド
ホールド回路
制御回路
内部データバス
8/12ビットA/Dコンバータデータ
レジスタ(上位/下位)
(ADDH/ADDL)
8/12ビットA/Dコンバータ
動作許可状態遷移時間
カウンタ
ENTM4
ENTM3
ENTM2
ENTM1
8/12ビットA/Dコンバータ制御レジスタ3 (ADC3)
ANS3
ANS2
ANS1
ANS0
ADI
8/12ビットA/Dコンバータ制御レジスタ1 (ADC1)
ENTM0
ADMV
READY
ENBL
予約
AD
IRQ
● クロックセレクタ
このセレクタは , 連続起動を許可 (ADC2:EXT = 1) した状態で , A/D 変換クロックを選
択 します。
● アナログチャネルセレクタ
このセレクタは , 複数のアナログ入力端子から入力チャネルを選択する回路です。
● サンプルアンドホールド回路
アナログチャネルセレクタにより選択された入力電圧を保持する回路です。この回路
は , A/D 変換を起動した直後の入力電圧をサンプルホールドすることにより , A/D 変換
中 ( 比較中 ) の入力電圧の変動の影響を受けずに変換できます。
268
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 14 章 8/12 ビット A/D コンバータ
14.2 構成
● 制御回路
A/D 変換機能では , コンパレータからの電圧比較信号を基に , 12 ビットの A/D データ
レジスタの値を , 最上位ビット (MSB) から最下位ビット (LSB) に向かって順に決定し
ます。A/D 変換が完了すると , A/D 変換機能は割込み要求フラグビット (ADC1:ADI) を
"1" に設定します。
● 8/12 ビット A/D コンバータデータレジスタ ( 上位 / 下位 ) (ADDH/ADDL)
12 ビットの A/D データの上位 2 ビットが ADDH レジスタに , 下位 8 ビットが ADDL
レ ジスタに格納されます。
AD 変換精度ビット (ADC2:AD8) を "1" にすると , AD 変換精度は 8 ビット精度となり ,
ADDL レジスタに 10 ビット A/D データの上位 8 ビットが格納されます。
● 8/12 ビット A/D コンバータ制御レジスタ 1 (ADC1)
8/12 ビット A/D コンバータの各機能の許可と禁止 , アナログ入力端子の選択 , ステータ
スの確認を 行います。
● 8/12 ビット A/D コンバータ制御レジスタ 2 (ADC2)
入力クロックの選択 , 割込みの許可と禁止 , 8/12 ビット A/D コンバータの各機能の制
御を行います。
● 8/12 ビット A/D コンバータ制御レジスタ 3 (ADC3)
8/12 ビット A/D コンバータを動作許可状態と動作禁止状態の間に切り換えます。
● 8/12 ビット A/D コンバータ動作許可状態遷移時間カウンタ
8/12 ビット A/D コンバータの動作禁止状態から動作許可状態への遷移時間をカウント
する専用カウンタです。
遷移時間は ADC3 レジスタの ENTM[4:0] ビットを書き換える
ことで調整できます。
■ 入力クロック
8/12 ビット A/D コンバータは , プリスケーラからの出力クロックを入力クロック ( 動
作クロック ) として使用します。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
269
第 14 章 8/12 ビット A/D コンバータ
14.3 端子
14.3
MB95650L シリーズ
端子
8/12 ビット A/D コンバータの端子について説明します。
■ 8/12 ビット A/D コンバータの端子
アナログ入力端子は , 汎用入出力ポートとしても使用されます。
● ANn 端子
A/D 変換機能を使用する場合は , ANn 端子に変換したいアナログ電圧を入力します。
ANn 端子をアナログ入力端子として使用するには , 対象の端子に対応するポート方向
レジスタ (DDR) の端子ビットに "0" を , 8/12 ビット A/D コンバータ制御レジスタのア
ナログ入力端子選択ビット (ADC1:ANS[3:0]) にその端子に対応する値を書き込んでく
ださい。
アナログ入力端子として使用されていない端子は , 8/12 ビット A/D コンバータ
が使用されている場合も汎用入出力ポートとして使用できます。
270
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
14.4
割込み
第 14 章 8/12 ビット A/D コンバータ
14.4 割込み
8/12 ビット A/D コンバータの割込み要因には , A/D 変換機能動作時の変換終了があり
ます。
■ 8/12 ビット 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 ビットをクリアしてください。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
271
第 14 章 8/12 ビット A/D コンバータ
14.5 8/12 ビット A/D コンバータの動作許可
14.5
MB95650L シリーズ
8/12 ビット A/D コンバータの動作許可
8/12 ビット A/D コンバータの動作許可について説明します。
8/12 ビット A/D コンバータは A/D 変換を行う前に動作許可状態になっている必要があ
ります。ADC3 レジスタの ENBL ビットに "1" を書き込むことで , 8/12 ビット A/D コン
バータは動作許可状態遷移時間後 , 動作禁止状態から動作許可状態になります。また ,
ENBL ビットに "0" を書き込むことで , 8/12 ビット A/D コンバータは直ちに動作禁止状
態になります。
8/12 ビット A/D コンバータは , 動作許可状態のときのみ A/D 変換を行えます。
動作禁止状態中にすべての A/D 変換要求は無視されます。
ADC3 レジスタの READY ビットを読み出すことで動作許可状態になっているかを確
認できます。
図 14.5-1 に動作許可状態の設定手順を示します。
図 14.5-1 動作許可状態の設定手順
動作禁止状態
8/12ビットA/Dコンバータの動作を許可してください。
(ADC3:ENBLに“1”を書き込む)
動作許可遷移時間
8/12ビットA/Dコンバータが
動作許可状態になっている
かを確認してください。
ADC3:READY = 1?
No
Yes
動作許可状態
<注意事項>
動作許可遷移時間は ADC3 レジスタの ENTM[4:0] ビットを書き換えることで調整できま
す。デバイスのデータシートの「■ 電気的特性」の記載内容に従い , マシンクロック (MCLK)
周期に応じて適切な遷移時間を選択してください。
272
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 14 章 8/12 ビット A/D コンバータ
14.6 動作説明と設定手順例
MB95650L シリーズ
14.6
動作説明と設定手順例
8/12 ビット A/D コンバータは , ADC2 レジスタの EXT ビットにより A/D 変換のソフ
トウェア起動または連続起動を選択できます。
■ 8/12 ビット A/D コンバータ変換機能の動作
● ソフトウェア起動
ソフトウェアにより A/D 変換機能を起動するには , 図 14.6-1 の設定が必要です。
図 14.6-1 A/D 変換機能 ( ソフトウェア起動 ) の設定
ADC1
bit7
ANS3
bit6
ANS2
bit5
ANS1
bit4
ANS0
bit3
ADI
bit2
ADMV
ADC2
AD8
TIM1
TIM0
ADCK
×
ADIE
EXT
0
ADC3
0
ENTM4
ENTM3
ENTM2
ENTM1
ENTM0
ADDH
-
-
-
-
bit1
予約
0
bit0
AD
1
CKDIV1 CKDIV0
READY
1
ENBL
1
A/D 変換値を保持
A/D 変換値を保持
ADDL
:使用ビット
× :未使用ビット
0 :"0" に設定
1 :"1" に設定
A/D 変換機能が起動されると , A/D 変換が開始します。また , 変換中においても A/D 変
換機能を再起動できます。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
273
第 14 章 8/12 ビット A/D コンバータ
14.6 動作説明と設定手順例
MB95650L シリーズ
● 連続起動
A/D 変換機能を連続起動するには , 図 14.6-2 の設定が必要です。
図 14.6-2 A/D 変換機能 ( 連続起動 ) の設定
ADC1
bit7
ANS3
bit6
ANS2
bit5
ANS1
bit4
ANS0
bit3
ADI
bit2
ADMV
ADC2
AD8
TIM1
TIM0
ADCK
ADIE
EXT
1
ADC3
0
ENTM4
ENTM3
ENTM2
ENTM1
ENTM0
ADDH
-
-
-
-
bit1
予約
0
bit0
AD
×
CKDIV1 CKDIV0
READY
1
ENBL
1
A/D 変換値を保持
A/D 変換値保持
ADDL
:使用ビット
× :未使用ビット
0 :"0" に設定
1 :"1" に設定
連続起動が許可されると , 選択された入力クロックの立上りエッジで A/D 変換機能が
起動され , A/D 変換が開始します。連続起動が禁止されると (ADC2:EXT = 0), 連続起動
動作は停止します。
274
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 14 章 8/12 ビット A/D コンバータ
14.6 動作説明と設定手順例
■ A/D 変換機能の動作
8/12 ビット 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" にクリアされます。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
275
第 14 章 8/12 ビット A/D コンバータ
14.6 動作説明と設定手順例
MB95650L シリーズ
■ 設定手順例
以下に , 8/12 ビット A/D コンバータの設定手順例を示します。
● 初期設定
1. 入力ポートを設定してください (DDR)。
2. 割込みレベルを設定してください (ILR*)。
3. 8/12 ビット A/D コンバータを動作許可状態に設定してください (ADC3:ENTM[4:0],
ADC3:ENBL = 1)。
4. A/D 入力端子を選択してください (ADC1:ANS[3:0])。
5. サンプリング時間を設定してください (ADC2:TIM[1:0])。
6. クロックを選択してください (ADC2:CKDIV[1:0])。
7. A/D 変換精度を設定してください (ADC2:AD8)。
8. 動作モードを選択してください (ADC2:EXT)。
9. 起動トリガを選択してください (ADC2:ADCK)。
10. 割込みを許可してください (ADC2:ADIE = 1)。
11. 8/12 ビット A/D コンバータが動作許可状態になっていることを確認してください
(ADC3:READY = 1)。
12. A/D 変換機能を起動してください (ADC1:AD = 1)。
*: 割込みレベル設定レジスタ (ILR) の詳細について , 本ハードウェアマニュアルの「第 5 章 割
込み」とデバイスのデータシートの「■ 割込み要因のテーブル」を参照してください。
● 割込み処理
1. 割込み要求フラグを "0" にクリアしてください (ADC1:ADI = 0)。
2. 変換値を読み出してください (ADDH, ADDL)。
3. A/D 変換を起動してください (ADC1:AD = 1)。
276
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 14 章 8/12 ビット A/D コンバータ
14.7 レジスタ
MB95650L シリーズ
14.7
レジスタ
8/12 ビット A/D コンバータのレジスタについて説明します。
表 14.7-1
8/12 ビット A/D コンバータのレジスタ一覧
レジスタ略称
レジスタ名
参照先
ADC1
8/12 ビット A/D コンバータ制御レジスタ 1
14.7.1
ADC2
8/12 ビット A/D コンバータ制御レジスタ 2
14.7.2
ADC3
8/12 ビット A/D コンバータ制御レジスタ 3
14.7.3
ADDH
8/12 ビット A/D コンバータデータレジスタ ( 上位 )
14.7.4
ADDL
8/12 ビット A/D コンバータデータレジスタ ( 下位 )
14.7.4
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
277
第 14 章 8/12 ビット A/D コンバータ
14.7 レジスタ
14.7.1
MB95650L シリーズ
8/12 ビット A/D コンバータ制御レジスタ 1 (ADC1)
8/12 ビット A/D コンバータ制御レジスタ 1 (ADC1) は , 8/12 ビット 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" の場合は , これらのビットを変更しないで ください。アナログ入力端子とし
て使用されない端子は , 汎用入出力ポートとして使用できます。
278
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 14 章 8/12 ビット A/D コンバータ
14.7 レジスタ
[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" です。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
279
第 14 章 8/12 ビット A/D コンバータ
14.7 レジスタ
14.7.2
MB95650L シリーズ
8/12 ビット A/D コンバータ制御レジスタ 2 (ADC2)
8/12 ビット A/D コンバータ制御レジスタ 2 (ADC2) は , 8/12 ビット 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" を書き込んだ場合 , 12 ビット精度が選択されます。
このビットに "1" を書き込んだ場合 , 8 ビット精度が選択されます。ADDL レジスタを読み出すこと
により , 8 ビットデータを取得できます。
説明
bit7
"0" を書き込んだ場合
12 ビット精度
"1" を書き込んだ場合
8 ビット精度
( 注意事項 ) 選択された分解能によって , 使用するデータビットが異なります。このビットを変更す
る前に , A/D コンバータの動作が停止していることを確認してください。
[bit6:5] TIM[1:0]: サンプリング時間選択ビット
このビットは , サンプリング時間を選択します。
動作条件 ( 電圧と周波数 ) に従ってサンプリング時間を変更してください。
CKIN の値はクロック選択ビット (ADC2:CKDIV[1:0]) によって決まります。
説明
bit6:5
"00" を書き込んだ場合
CKIN × 2
"01" を書き込んだ場合
CKIN × 5
"10" を書き込んだ場合
CKIN × 8
"11" を書き込んだ場合
CKIN × 14
( 注意事項 ) これらのビットを変更する前に, A/Dコンバータの動作が停止していることを確認して
ください。
[bit4] ADCK: 外部起動信号選択ビット
このビットは , 外部起動時の起動信号を選択します (ADC2:EXT = 1)。
説明
bit4
"0" を書き込んだ場合
外部起動信号を使用しません。
"1" を書き込んだ場合
8/16 ビット複合タイマ出力端子 (TO00) を A/D 変換機能起動端子として選択しま
す。
280
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 14 章 8/12 ビット A/D コンバータ
14.7 レジスタ
[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コンバータの動作が停止していることを確認して
ください。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
281
第 14 章 8/12 ビット A/D コンバータ
14.7 レジスタ
14.7.3
MB95650L シリーズ
8/12 ビット A/D コンバータ制御レジスタ 3 (ADC3)
8/12 ビット A/D コンバータ制御レジスタ 3 (ADC3) は 8/12 ビット A/D コンバータを
動作許可状態に設定します。
■ レジスタ構成
bit
7
6
5
4
3
2
1
0
Field
—
ENTM4
ENTM3
ENTM2
ENTM1
ENTM0
READY
ENBL
属性
—
R/W
R/W
R/W
R/W
R/W
R
R/W
初期値
0
1
1
1
1
1
0
0
■ レジスタ機能
[bit7] 未定義ビット
読出し値は常に "0" です。このビットに値を書き込んでも動作に影響はありません。
[bit6:2] ENTM[4:0]: 動作許可状態遷移サイクル選択ビット
これらのビットは動作許可状態遷移時間サイクル数を選択します。
動作許可状態遷移時間 = マシンクロック (MCLK) サイクル × (ENTM[4:0] の値 + 1)
例:
MCLK = 16.25 MHz (61 ns)
ENTM[4:0] = 0x1F
動作許可状態遷移時間 = 61 ns × (31 + 1) = 1925 ns
[bit1] READY: A/D コンバータ動作許可状態ビット
このビットは 8/12 ビット A/D コンバータが動作許可状態になっているかを示します。
8/12 ビット A/D コンバータは , 動作許可状態のときのみ A/D 変換を行えます。
動作禁止状態中にすべての A/D 変換要求は無視されます。
A/D 変換中に , 8/12 ビット A/D コンバータが動作許可禁止状態に遷移した場合 , A/D 変換は変換シー
ケンス終了 (ADC1:ADMV = 0) 後に停止します。
bit1
説明
"0" を読み出した場合
8/12 ビット A/D コンバータが動作禁止状態になっていることを示します。
"1" を読み出した場合
8/12 ビット A/D コンバータが動作許可状態になっていることを示します。
[bit0] ENBL: A/D コンバータ動作許可 / 禁止ビット
このビットは 8/12 ビット A/D コンバータの動作を許可または禁止します。
このビットに "1" を書き込むことで , 動作許可状態遷移時間経過後に 8/12 ビット A/D コンバータは
動作許可状態になります。このビットに "0" を書き込むことで , 8/12 ビット A/D コンバータは動作
禁止状態になります。
bit0
説明
"0" を書き込んだ場合
8/12 ビット A/D コンバータの動作を禁止します。
"1" を書き込んだ場合
8/12 ビット A/D コンバータの動作を許可します。
282
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 14 章 8/12 ビット A/D コンバータ
14.7 レジスタ
<注意事項>
• ENBL ビットへの "1" の書込みから READY ビットが "1" になることまでの動作許可状
態遷移時間中に , ENTM[4:0] ビットの書換えは禁止されます。ENBL ビットに "1" が書
き込まれたとき , ENTM[4:0] ビットを書き換える場合 , READY ビットが "1" に設定さ
れていることを前もって確認しておいてください。
• リセットが発生するか , あるいはストップモードまたは時計モードが開始すると, 8/12
ビット A/D コンバータは直ちに停止し , ADMV ビット , READY ビットと ENBL ビット
は "0" にクリアされます。
• A/D 変換中に ADC3 レジスタの ENBL ビットに "0" が書き込まれた場合 , A/D 変換はし
ばらく継続します。ENBL ビットに "1" を書き込むことで再度 8/12 ビット A/D コンバー
タの動作を許可する前に , ADC1 レジスタの ADMV ビットで前の A/D 変換動作が完了
していること (ADC1:ADMV = 0) を確認してください。
• A/D 変換中に , ENBL ビットへの "0" の書込み , あるいはストップモードまたは時計モー
ドを設定することによって 8/12 ビット A/D コンバータが停止すると , ADC1 レジスタ
の ADI ビット (ADC1:ADI) が A/D 変換完了を示すこと (ADC1:ADI = 1) がありますが ,
そのとき 8/12 ビット A/D コンバータデータレジスタ ( 上位 ) (ADDH) と 8/12 ビット A/
D コンバータデータレジスタ ( 下位 ) (ADDL) に格納されている値は不定です。したがっ
て , 割込みシーケンスで , ADDH レジスタと ADDL レジスタの値を参照しないでくださ
い。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
283
第 14 章 8/12 ビット A/D コンバータ
14.7 レジスタ
14.7.4
MB95650L シリーズ
8/12 ビット A/D コンバータデータレジスタ
( 上位 / 下位 ) (ADDH/ADDL)
8/12 ビット A/D コンバータデータレジスタ ( 上位 / 下位 ) (ADDH/ADDL) は , 12 ビッ
ト A/D 変換中に , 12 ビット A/D 変換結果を格納します。
12 ビットデータの上位 4 ビットが ADDH レジスタに , 下位 8 ビットが ADDL レジス
タに格納されます。
■ レジスタ構成
ADDH
bit
7
6
5
4
3
2
1
0
Field
—
—
—
—
SAR11
SAR10
SAR9
SAR8
属性
—
—
—
—
R
R
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
■ レジスタ機能
12 ビットの A/D データのうち , 上位 4 ビットが ADDH レジスタの bit3 ~ bit0 に , 下位
8 ビットが ADDL レジスタの bit7 ~ bit0 にそれぞれ対応します。
ADC2 レジスタの AD8 ビットに "1" が設定されている場合は , 8 ビット精度が選択さ
れます。ADDL レジスタを読み 出すことにより , 8 ビットデータを取得できます。
これらのレジスタはリードオンリです。データを書き込んでも動作に影響はありませ
ん。
8 ビット精度が選択された A/D 変換では , ADDH レジスタの SAR[11:8] ビット は "0"
にな ります。
● A/D 変換機能
A/D 変換を起動すると , レジスタの設定による変換時間の経過後に変換結果が確定し ,
ADDH レジスタと ADDL のレジスタに格納されます。A/D 変換完了後 , 次の A/D 変換
が完了する前に , A/D データレジスタ ( 変換結果 ) を読み出し , ADC1 レジスタの ADI
フラグビット (ADI) をクリアしてください。A/D 変換中に , ADDH レジスタと ADDL
レジスタの値は , 前回の A/D 変換結果となります。
284
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 14 章 8/12 ビット A/D コンバータ
14.8 使用上の注意
MB95650L シリーズ
14.8
使用上の注意
8/12 ビット A/D コンバータ使用上の注意を示します。
■ 8/12 ビット A/D コンバータ使用上の注意
● プログラムによる 8/12 ビット A/D コンバータの設定に関する注意事項
• A/D 変換機能時 , ADDH, ADDL レジスタの内容は A/D 変換終了時に保持されます。
したがって , A/D 変換中は前回変換した値が読み出されます。
• A/D 変換機能の使用中は , アナログ入力端子選択ビット (ADC1:ANS[3:0]) を変更し
ないでく ださい。特に連続起動中は , アナログ入力端子を変更する前に連続起動を
禁止 (ADC2:EXT = 0) してください。
• リセットが発生するか , あるいはストップモードまたは時計モードが開始すると ,
8/12 ビット A/D コンバータは停止し , ADMV ビットは "0" にクリアされます。
• 割込み要求フラグビット (ADC1:ADI) が "1" で , 割込み要求が許可されている場合
(ADC2:ADIE = 1) は , CPU は割込み処理から復帰できません。必ず割込み処理ルー
チン内で ADI ビットをクリアしてください。
● 割込み要求に関する注意事項
A/D 変換の再起動 (ADC1:AD = 1) と A/D 変換の完了が同時に発生した場合は , 割込み
要求フラグビット (ADC1:ADI) が "1" に設定されます。
● 誤差について
| Vcc - Vss | が小さくなるに従い , それに比例して A/D 変換の誤差は増大します。
● 8/12 ビット A/D コンバータのアナログ入力順序
アナログ入力 (ANn) とデジタル電源 (VCC) を同時に投入するかまたはデジ タル電源投
入後にアナログ入力 (ANn) を投入してください。
デジタル電源 (VCC) は , アナログ入力 (ANn) と同時に切断するかまたはア ナログ入力
(ANn) 切断後に切断してください。
8/12 ビット A/D コンバータの電源投入 / 切断時には , アナログ入力電圧がデジタル電
源の電圧を超えないでください。
● 変換時間
A/D 変換の変換速度は , クロックモード , メインクロック発振周波数 , メインクロック
の速度切換え ( ギア機能 ) に影響されます。
例:
サンプリング時間 = CKIN × (ADC2:TIM[1:0] 設定 )
比較 ( コンペア ) 時間 = CKIN × 13 ( 固定値 ) + MCLK
8/12 ビット A/D コンバータ起動時間 : 最短時間 = MCLK × 2 + CKIN × 2
最長時間 = MCLK + CKIN × 3
変換時間 = 8/12 ビット A/D コンバータ起動時間 + サンプリング時間 + 比較時間
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
285
第 14 章 8/12 ビット A/D コンバータ
14.8 使用上の注意
MB95650L シリーズ
• A/D 変換が開始した時間によって , 変換時間には最大 (1 CKIN - 1 MCLK) の誤差が
生じる可能性があります。
• ソフトウェアで 8/12 ビット A/D コンバータを設定する場合は , その設定がデバイス
のデータシートに記載された 8/12 ビット A/D コンバータの各タイミング仕様を満
たしていることを確認してください。
286
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 15 章
低電圧検出回路
低電圧検出回路の機能と動作について説明します。
15.1 概要
15.2 構成
15.3 端子
15.4 割込み
15.5 動作説明
15.6 レジスタ
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
287
第 15 章 低電圧検出回路
15.1 概要
15.1
MB95650L シリーズ
概要
低電圧検出回路は , 電源電圧を監視し , 電源電圧が検出電圧より低下した場合に , リ
セット信号を発生します。また , 選択されたしきい値レベルをまたぐ電源電圧変動が
発生したときに割込みも発生できます。
■ 低電圧検出回路
低電圧検出回路は , 電源電圧を監視し , 電源電圧が検出電圧より低下したときにリセッ
ト信号を発生します。また , 電源電圧選択されたしきい値レベルをまたいで変動したと
きに割込みも発生できます。割込みのしきい値電圧は , LVD 制御レジスタ (LVDC) で
6 種類から選択できます。
電源投入時 , リセットしきい値電圧の最小値が LVDC レジスタで選択されます。
この回路は特定の品種にのみ搭載されています。デバイスのデータシートでこの回路
の有無を確認してください。
電気的特性の詳細についても , デバイスのデータシートを参照してください。
288
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 15 章 低電圧検出回路
15.2 構成
MB95650L シリーズ
15.2
構成
図 15.2-1 に , 低電圧検出回路のブロックダイヤグラムを示します。
■ 低電圧検出回路のブロックダイヤグラム
図 15.2-1 低電圧検出回路のブロックダイヤグラム
VCC
−
リセット信号
N-ch
+
Vref
LVD制御レジスタ(LVDC)
LVIIF
LVIEN
LVDLP
LVDSEL3
LVDSEL2
LVDSEL1
LVDSEL0
LVIF
VCC
IRQ
1100
動作モード制御
1010
1001
−
0111
+
0101
N-ch
Vref
0010
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
289
第 15 章 低電圧検出回路
15.3 端子
15.3
MB95650L シリーズ
端子
低電圧検出回路の端子について説明します。
■ 低電圧検出回路の端子
● VCC 端子
低電圧検出回路は , 本端子の電圧を監視します。
● VSS 端子
この端子は , 電圧検出の基準となる GND 端子です。
● RST 端子
低電圧検出リセット信号はマイコン内部と本端子へ出力されます。
290
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 15 章 低電圧検出回路
15.4 割込み
MB95650L シリーズ
15.4
割込み
低電圧検出回路は , 電源電圧が LVD 制御レジスタの低電圧割込みしきい値電圧選択
ビット (LVDC:LVDSEL[3:0]) で選択されたしきい値をまたいで変動した場合に , 割込
み要求を出力します。
■ 低電圧検出回路の割込み
表 15.4-1 に , 低電圧検出回路の割込み制御ビットと割込み要因を示します。
表 15.4-1 低電圧検出回路 の割込み制御ビットと割込み要因
項目
説明
割込み要求フラグビット
LVDC:LVIIF
割込み要求許可ビット
LVDC:LVIEN
割込み要因
LVD 制御レジスタの低電圧割込みしきい値電圧選択ビット (LVDC:LVDSEL[3:0]) で
選択されたしきい値をまたぐ電源電圧変動の発生。
低電圧割込み要求フラグビット (LVDC:LVIIF) が "1" に設定され , 低電圧割込み要求が
許可された (LVDC:LVIEN = 1) とき , CPU は割込み処理から復帰できません。必ず割込
みサービスルーチン内で LVIIF ビットをクリアしてください。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
291
第 15 章 低電圧検出回路
15.5 動作説明
15.5
MB95650L シリーズ
動作説明
低電圧検出回路は , 電源電圧が検出電圧よりも低下したときにリセット信号を発生し
ます。また , 電源電圧が選択されたしきい値電圧をまたいで変動した場合に , 割込み
信号を発生します。
■ 割込みしきい値電圧の変更
LVDCレジスタに設定された割込みしきい値電圧が変更された場合, 新しく設定された
割込みしきい値電圧は , 割込みしきい値電圧遷移安定時間 (tstb) が経過してから有効に
なります。tstb の詳細について , デバイスのデータシートを参照してください。また ,
誤検出を避けるために , 割込みしきい値電圧を変更するとき , 以下の手順に従ってくだ
さい。
1. 低電圧割込み要求許可ビット (LVDC:LVIEN) に "0" を書き込んで , 割込みを禁止し
てください。
2. 低電圧割込みしきい値電圧選択ビット (LVDC:LVDSEL[3:0]) の値を変更してくださ
い。
3. 割込みしきい値電圧遷移安定時間 (tstb), 割込み検出遅延時間 (tdi2 または tdiL2) と割
込み解除遅延時間 (tdi1 または tdiL1) が経過するのを待って , 誤った低電圧検出をマ
スクします。
4. 低電圧割込み要求フラグビット (LVDC:LVIIF) に "0" を書き込んで , このビットをク
リアします。
5. LVIEN ビットに "1" を書き込んで , 割込みを許可します。
tdi1, tdiL1, tdi2 と tdiL2 の詳細について , デバイスのデータシートを参照してください。
■ 割込み用低電圧検出回路の動作モード変更
割込み用低電圧検出回路では , LVDC レジスタの割込み用 LVD 低消費電力切換えビッ
ト (LVDC:LVDLP) により通常モードと低消費電力モードとの間に切り換えられます。
低消費電力モードでは , 通常モードに比べ , 割込み検出電圧精度と割込み解除電圧精度
が劣り , かつ割込み検出遅延時間と割込み解除遅延時間がより長い替わりに , 消費電力
がより低いです。
動作モードが変更された場合 , 新しく設定された動作モードは , 割込み用低電圧検出
モード遷移時間 (tmdsw) が経過してから有効になります。
tmdsw の詳細について , デバイスのデータシートを参照してください。
292
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 15 章 低電圧検出回路
15.5 動作説明
MB95650L シリーズ
■ 低電圧検出リセット回路の動作
低電圧検出リセット回路は , 電源電圧が低電圧検出電圧よりも低下したときにリセッ
ト信号を発生します。その後 , 低電圧検出解除電圧を検出すると , 発振安定待ち時間の
間リセット信号を継続して出力し , リセットを解除します。
電気的特性の詳細については , デバイスのデータシートを参照してください。
図 15.5-1 低電圧検出リセット回路の動作
低電圧リセット検出/解除電圧
動作電圧の下限
Vcc
B
B
B
リセット信号
A
A
A
A
A
A: リセット検出/解除遅延時間
B: 発振安定待ち時間
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
293
第 15 章 低電圧検出回路
15.5 動作説明
MB95650L シリーズ
■ 低電圧検出割込み回路の動作
電源電圧がLVD制御レジスタの低電圧割込みしきい値電圧選択ビット(LVDC:LVDSEL[3:0])
で選択されたしきい値をまたいで変動すると , LVD 制御レジスタの低電圧割込み要求
フラグビット (LVDC:LVIIF) が "1" に設定されます。
図 15.5-2 低電圧検出割込み回路の動作
割込みしきいち設定電圧
Vcc
“0”の書込み
“0”の書込み
LVIIFビット
(割込みフラグ)
A
A
A
A: 割込み検出遅延時間
■ スタンバイモード時の動作
低電圧検出回路は , スタンバイモード ( ストップモード , スリープモード , サブクロッ
クモード , 時計モード ) においても常に動作します。
294
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 15 章 低電圧検出回路
15.6 レジスタ
MB95650L シリーズ
15.6
レジスタ
低電圧検出回路のレジスタについて説明します。
表 15.6-1
低電圧検出回路のレジスタ一覧
レジスタ略称
LVDC
MN702-00015-2v0-J
レジスタ名
LVD 制御レジスタ
FUJITSU SEMICONDUCTOR LIMITED
参照先
15.6.1
295
第 15 章 低電圧検出回路
15.6 レジスタ
15.6.1
MB95650L シリーズ
LVD 制御レジスタ (LVDC)
LVD 制御レジスタ (LVDC) は割込みしきい値電圧の選択 , 電圧条件の表示 , 割込みの
制御 , 低電圧割込みフラグステータスの確認を行います。
■ レジスタ構成
bit
7
6
5
4
3
2
1
0
Field
LVIIF
LVIEN
LVDLP
LVDSEL3
LVDSEL2
LVDSEL1
LVDSEL0
LVIF
属性
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R
初期値
0
0
0
0
0
1
0
0
■ レジスタ機能
[bit7] LVIIF: 低電圧割込み要求フラグビット
電源電圧が低電圧割込みしきい値選択ビット (LVDSEL[3:0]) で選択されたしきい値電圧をまたいで
変動すると , このフラグビットが "1" に設定されます。
このビットと低電圧割込み要求許可ビット (LVIEN) がともに "1" に設定されると , 低電圧割込み要
求が出力されます。
パワーオン後 , 電源電圧が最低割込み検出電圧を常に下回る場合 , このビットは "0" のままになりま
す。この場合 , LVIF ビットをポーリングして電源電圧を確認してください。
リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。
説明
bit7
"0" が読み出された場合
電源電圧が低電圧割込みしきい値選択ビット (LVDSEL[3:0]) で選択されたしき
い値電圧をまたいで変動したことがないことを示します。
"1" が読み出された場合
電源電圧が低電圧割込みしきい値選択ビット (LVDSEL[3:0]) で選択されたしき
い値電圧をまたいで変動したことを示します。
"0" を書き込んだ場合
このビットをクリアします。
"1" を書き込んだ場合
動作に影響はありません。
[bit6] LVIEN: 低電圧割込み要求許可ビット
このビットは割込みコントローラへの低電圧割込み要求出力を許可または禁止します。
このビットと低電圧割込み要求フラグビット (LVIIF) がともに "1" に設定されると , 低電圧割込み要
求が出力されます。
bit6
説明
"0" を書き込んだ場合
低電圧割込み要求出力を禁止します。
"1" を書き込んだ場合
低電圧割込み要求出力を許可します。
296
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 15 章 低電圧検出回路
15.6 レジスタ
MB95650L シリーズ
[bit5] LVDLP: 割込み用 LVD 低消費電力切換えビット
このビットは割込み検出用低電圧検出回路の動作モード ( 通常モードまたは低消費電力モード ) を
選択します。
動作モード間の違いは以下のとおりです。
• 消費電力
通常モードは低消費電力モードに比べて消費電力が高くなります。
• 検出電圧と解除電圧との精度
通常モードは低消費電力モードに比べて精度がよくなります。
消費電力 , 検出電圧と解除電圧との精度についての詳細は , デバイスのデータシートを参照してく
ださい。
説明
bit5
"0" を書き込んだ場合
通常モードを選択します。
"1" を書き込んだ場合
低消費電力モードを選択します。
[bit4:1] LVDSEL[3:0]: 低電圧割込みしきい値電圧選択ビット
これらのビットは割込みしきい値電圧を選択します。
bit4:1
説明
電源電圧降下時
電源電圧上昇時
"0010" を書き込んだ場合
2.2 V
2.3 V
"0101" を書き込んだ場合
2.5 V
2.6 V
"0111" を書き込んだ場合
2.8 V
2.9 V
"1001" を書き込んだ場合
3.2 V
3.3 V
"1010" を書き込んだ場合
3.6 V
3.7 V
"1100" を書き込んだ場合
4V
4.1 V
( 注意事項 ) 上記以外の値を LVDSEL[3:0] ビットに書き込むことは禁止されます。
[bit0] LVIF: 低電圧ステータスビット
このビットは電源電圧としきい値電圧の関係を示します。
bit0
説明
"0" を読み出した場合
電源電圧が LVDSEL[3:0] ビットで設定されたしきい値電圧より高いことを示し
ます。
"1" を読み出した場合
電源電圧が LVDSEL[3:0] ビットで設定されたしきい値電圧より低いことを示し
ます。
<注意事項>
LVDC レジスタはパワーオンリセットでのみクリアされます。低電圧検出リセットはこの
レジスタに影響を与えません。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
297
第 15 章 低電圧検出回路
15.6 レジスタ
298
MB95650L シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 16 章
クロックスーパバイザ
カウンタ
クロックスーパバイザカウンタの機能と動作につ
いて説明します。
16.1 概要
16.2 構成
16.3 動作説明
16.4 レジスタ
16.5 使用上の注意
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
299
第 16 章 クロックスーパバイザ カウンタ
16.1 概要
16.1
MB95650L シリーズ
概要
クロックスーパバイザカウンタは , 外部クロック周波数を調べて , 外部クロックの異
常状態を検出します。
■ クロックスーパバイザカウンタの概要
クロックスーパバイザカウンタは , 外部クロック周波数を調べて , 外部クロックの異常
状態を検出します。
クロックスーパバイザカウンタは, 8つのオプションから選ばれたタイムベースタイマの
インターバル時間内で , 外部クロック入力に基づいてカウンタを自動的にカウント
アップします。
このモジュールのカウントクロックは , メイン発振クロックとサブ発振クロックのど
ちらか選択できます。
<注意事項>
クロックスーパバイザカウンタは , メイン CR クロックモードで , ( スタンバイモードで動
作する ) ハードウェアウォッチドッグタイマとともに動作させてください。
上記以外の場合 , このカウンタは外部クロックの異常状態を正しく検出することはできず ,
外部クロックが停止するとハングアップしてしまいます。
( スタンバイモードで動作する ) ハードウェアウォッチドッグタイマについては ,「第 8 章
ハードウェア / ソフトウェアウォッチドッグタイマ」を参照してください。
300
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 16 章 クロックスーパバイザ カウンタ
16.2 構成
MB95650L シリーズ
16.2
構成
クロックスーパバイザカウンタは , 以下のブロックで構成されます。
• 制御回路
• クロック監視制御レジスタ (CMCR)
• クロック監視データレジスタ (CMDR)
• タイムベースタイマ出力セレクタ
• カウンタソースクロックセレクタ
■ クロックスーパバイザカウンタのブロックダイヤグラム
図 16.2-1 に , クロックスーパバイザカウンタのブロックダイヤグラムを示します。
図 16.2-1 クロックスーパバイザカウンタのブロックダイヤグラム
エッジ検出
タイムベースタイマ出力
タイムベース
タイマ出力
セレクタ
8ビットカウンタ
3
メイン発振クロック
サブ発振クロック
カウンタ
ソース
クロック
セレクタ
1回目: カウント開始
2回目: カウント停止
CLK
制御回路
カウンタ動作許可
クロック監視制御レジスタ(CMCR)
クロック監視データレジスタ(CMDR)
内部バス
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
301
第 16 章 クロックスーパバイザ カウンタ
16.2 構成
MB95650L シリーズ
● 制御回路
このブロックは , クロック監視制御レジスタ (CMCR) の設定に基づき , カウンタの開始
と停止 , カウンタクロックソースとカウンタ許可期間を制御します。
● クロック監視制御レジスタ (CMCR)
このレジスタは , カウンタソースクロックの選択 , 8 種類の異なるタイムベースタイマ
インターバルからのカウンタ許可期間の選択 , カウンタの開始およびカウンタが動作
中かどうかの確認を行います。
● クロック監視データレジスタ (CMDR)
このレジスタブロックは , カウンタ停止後にカウンタ値を読み出すために使用します。
ソフトウェアが , このレジスタの内容に従い , 外部クロック周波数が正しいかどうかを
判断します。
● タイムベースタイマインターバルセレクタ
このブロックは , 8 種類のタイムベースタイマインターバルからカウンタ許可期間を選
択するために使用します。
● カウンタソースクロックセレクタ
このブロックは , メイン発振クロックとサブ発振クロックからカウンタソースクロッ
クを選択するために使用します。
302
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 16 章 クロックスーパバイザ カウンタ
16.3 動作説明
MB95650L シリーズ
16.3
動作説明
クロックスーパバイザカウンタの動作について説明します。
■ クロックスーパバイザカウンタ
● クロックスーパバイザカウンタの動作 1
ソフトウェアによってクロックスーパバイザカウンタの動作が許可されると(CMCEN = 1),
クロックスーパバイザカウンタは , TBTSEL[2:0] ビットによって 8 種類から選択された
タイムベースタイマインターバルで動作します。選択されたタイムベースタイマイン
ターバルの2つの立上りエッジの間, 内部カウンタは外部クロックにより時間が計測さ
れます。
このモジュールのカウントクロックとして , メイン発振クロックとサブ発振クロック
とのどちらかを選択できます。
図 16.3-1 クロックスーパバイザカウンタの動作 1
選択したタイムベースタイマインターバル
メイン/サブ発振クロック
CMCEN
内部カウンタ
0
CMDRレジスタ
30
0
30
● クロックスーパバイザカウンタの動作 2
CMCEN ビットが "0" から "1" に変わると , CMDR レジスタがクリアされます。
図 16.3-2 クロックスーパバイザカウンタの動作 2
選択したタイムベースタイマインターバル
メイン/サブ発振クロック
CMCEN
内部カウンタ
CMDRレジスタ
MN702-00015-2v0-J
クリア
0
10
0
10
FUJITSU SEMICONDUCTOR LIMITED
10
0
0
10
303
第 16 章 クロックスーパバイザ カウンタ
16.3 動作説明
MB95650L シリーズ
● クロックスーパバイザカウンタの動作 3
カウント値が "255" に達すると , カウンタは停止します。それ以上カウントを続けるこ
とはできません。
図 16.3-3 クロックスーパバイザカウンタの動作 3
選択したタイムベースタイマインターバル
メイン/サブ発振クロック
CMCEN
内部カウンタ
0
CMDRレジスタ
255
0
255
● クロックスーパバイザカウンタの動作 4
選択されている外部クロックが停止すると , カウントを停止します。このカウンタ停止
により , ソフトウェアは選択されている外部クロックが異常状態にあることを認識し
ます。
図 16.3-4 クロックスーパバイザカウンタの動作 4
選択したタイムベースタイマインターバル
メイン/サブ発振クロック
CMCEN
内部カウンタ
0
CMDRレジスタ
0
● クロックスーパバイザカウンタの動作 5
カウンタの動作中に CMCEN に "0" が設定されると , カウンタはソフトウェアにより
"0" にクリアされます。
図 16.3-5 クロックスーパバイザカウンタの動作 5
選択したタイムベースタイマインターバル
メイン/サブ発振クロック
ソフトウェアにより設定
CMCEN
内部カウンタ
CMDRレジスタ
304
0
0
0
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 16 章 クロックスーパバイザ カウンタ
16.3 動作説明
MB95650L シリーズ
■ タイムベースタイマインターバルとクロックスーパバイザカウンタ値の対応表
表 16.3-1 に , 様々な外部クロックを測定するための各種のメイン CR クロック周波数に
対し , 適切なタイムベースタイマインターバルを示します。
表 16.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
305
第 16 章 クロックスーパバイザ カウンタ
16.3 動作説明
MB95650L シリーズ
表 16.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)」を参照してください。
306
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 16 章 クロックスーパバイザ カウンタ
16.3 動作説明
MB95650L シリーズ
■ クロックスーパバイザの動作フローチャート例
図 16.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
307
第 16 章 クロックスーパバイザ カウンタ
16.4 レジスタ
16.4
MB95650L シリーズ
レジスタ
クロックスーパバイザカウンタのレジスタについて説明します。
表 16.4-1
クロックスーパバイザカウンタのレジスタ一覧
レジスタ略称
308
レジスタ名
参照先
CMDR
クロック監視データレジスタ
16.4.1
CMCR
クロック監視制御レジスタ
16.4.2
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 16 章 クロックスーパバイザ カウンタ
16.4 レジスタ
MB95650L シリーズ
16.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 回検出
します ( 図 16.5-2 を参照してください )。
<注意事項>
カウンタが動作している間 (CMCR:CMCEN = 1) は , このレジスタの値は "0b00000000"
です。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
309
第 16 章 クロックスーパバイザ カウンタ
16.4 レジスタ
16.4.2
MB95650L シリーズ
クロック監視制御レジスタ (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
310
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 16 章 クロックスーパバイザ カウンタ
16.4 レジスタ
[bit0] CMCEN: カウンタ許可ビット
このビットは , クロックスーパバイザカウンタの動作を許可または禁止します。
このビットに "0" を書き込んだ場合 , カウンタが停止し , CMDR レジスタが "0b00000000" にクリア
されます。
このビットへの "1" の書込みは カウンタの動作を許可します。カウンタは , タイムベースタイマイ
ンターバルの最初の立上りエッジを検出した時点で動作を開始します。同じインターバルの 2 回目
の立上りエッジを検出すると , 動作を停止します。
カウンタが停止すると , このビットが自動的に "0" に設定されます。
説明
bit0
"0" を書き込んだ場合
カウンタ動作を禁止します。
"1" を書き込んだ場合
カウンタ動作を許可します。
<注意事項>
• CMCEN ビットが "1" のときに , CMCSEL ビットの設定を変更しないでください。
• CMCEN ビットが "1" のときに , TBTSEL[2:0] ビットの設定を変更しないでください。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
311
第 16 章 クロックスーパバイザ カウンタ
16.5 使用上の注意
16.5
MB95650L シリーズ
使用上の注意
クロックスーパバイザカウンタ使用上の注意を示します。
■ クロックスーパバイザカウンタの使用上の注意
● 制限事項
• クロックスーパバイザカウンタは , メイン CR クロックモードで , ( スタンバイモー
ドで動作する)ハードウェアウォッチドッグタイマとともに動作させてください。そ
うしないと , 外部クロックの異常状態を正しく検出することはできず , 外部クロッ
クが停止するとハングアップしてしまいます。( スタンバイモードで動作する ) ハー
ドウェアウォッチドッグタイマについては ,「第 8 章 ハードウェア / ソフトウェア
ウォッチドッグタイマ」を参照してください。
• メインCRクロックモードのみを使用してください。それ以外のクロックモードは使
用しないでください。
• タイムベースタイマが停止すると , 内部カウンタは動作を停止します。
クロックスー
パバイザカウンタが外部クロックによりカウントしている間は , タイムベースタイ
マをクリアしないでください。
• タイムベースタイマインターバルは , クロックスーパバイザカウンタの動作に対し
十分に余裕のあるものを選択してください。タイムベースタイマのインターバルに
ついては , 表 16.3-1 を参照してください。
• CMDR レジスタは , CMCEN = 0 のときに読み出してください ( クロックスーパバイ
ザカウンタの動作中 (CMCEN = 1) は , CMDR の値は "0b00000000" のままです )。
• クロックスーパバイザカウンタを使用する場合は , 必ずマシンクロックサイクルが
選択されたタイムベースタイマインターバルの半分よりも短くなるようにしてく
ださい。マシンクロックサイクルが選択されたタイムベースタイマインターバルの
半分よりも長いと , クロックスーパバイザカウンタの停止後も CMCEN が "1" のま
まとなることがあります。
表 16.5-1 に , 各 TBTSEL 設定に対する適切なクロックギア設定を示します。
表 16.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)
×
×
○
○ : 推奨
×
312
: 設定禁止
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 16 章 クロックスーパバイザ カウンタ
16.5 使用上の注意
MB95650L シリーズ
● クロックスーパバイザカウンタの動作中に外部クロックが停止し , 選択されたタイムベー
スタイマインターバルの 2 回目の立上りエッジ後に再開した場合は , CMCEN は外部ク
ロック再開後に "0" になります。
図 16.5-1 クロックスーパバイザカウンタの動作 1
選択したタイムベースタイマインターバル
メイン/サブ発振クロック
CMCEN
内部カウンタ
0
5
6
0
CMDRレジスタ
6
● クロックスーパバイザカウンタの動作中に外部クロックが停止した場合 , 選択されたタイ
ムベースタイマインターバルにおいて 2 回目の立上りエッジ後に立下りエッジが検出され
ると , CMCEN が "0" になります。カウンタも同じ立下りエッジでクリアされます。
図 16.5-2 クロックスーパバイザカウンタの動作 2
選択したタイムベースタイマインターバル
メイン/サブ発振クロック
CMCEN
内部カウンタ
CMDRレジスタ
MN702-00015-2v0-J
0
5
0
0
FUJITSU SEMICONDUCTOR LIMITED
313
第 16 章 クロックスーパバイザ カウンタ
16.5 使用上の注意
314
MB95650L シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 17 章
UART/SIO
UART/SIO の機能と動作について説明します。
17.1 概要
17.2 構成
17.3 チャネル
17.4 端子
17.5 割込み
17.6 動作説明と設定手順例
17.7 レジスタ
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
315
第 17 章 UART/SIO
17.1 概要
MB95650L シリーズ
概要
17.1
UART/SIO は , 汎用のシリアルデータ通信インタフェースです。クロック同期 ( シン
クロナス ) またはクロック非同期 ( アシンクロナス ) で , 可変データ長のシリアルデー
タ転送ができます。転送フォーマットは ,NRZ 方式で , 転送レートは専用ボーレート
ジェネレータまたは外部クロック ( クロック同期モード (SIO) のとき ) から設定でき
ます。
■ UART/SIO の機能
UART/SIO は , ほかの CPU や周辺装置とシリアルデータの送受信 ( シリアル入出力 ) を
行う機能があります。
• 全二重ダブルバッファがあり , 全二重で双方向通信ができます。
• 同期転送モード ( シンクロナス ) と非同期転送モード ( アシンクロナス ) を選択でき
ます。
• 専用のボーレートジェネレータによって最適なボーレートを選択できます。
• データ長は可変で , パリティなしの場合は 5 ビット~ 8 ビット , パリティありの場
合は 6 ビット~ 9 ビットの設定ができます ( 表 17.1-1 を参照 )。
• シリアルデータの方向 ( エンディアン ) を選択できます。
• データ転送フォーマットは , NRZ (Non Return to Zero) 方式です。
• 2 種類の動作モード ( 動作モード 0,1) があります。
動作モード 0 は , クロック非同期モード (UART) として動作します。
動作モード 1 は , クロック同期モード (SIO) として動作します。
表 17.1-1 UART/SIO の動作モード
動作モード
0
1
316
データ長
パリティなし
パリティあり
5
6
6
7
7
8
8
9
5
6
7
8
-
同期モード
ストップビット長
非同期
1 ビットまたは 2 ビット
同期
-
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 17 章 UART/SIO
17.2 構成
MB95650L シリーズ
17.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 のブロックダイヤグラム
図 17.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
317
第 17 章 UART/SIO
17.2 構成
MB95650L シリーズ
● 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 端子からの入力信号 ( 外部クロック ) を入力クロック ( シリアルクロック ) と
して使用します。
318
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 17 章 UART/SIO
17.3 チャネル
MB95650L シリーズ
17.3
チャネル
UART/SIO のチャネルについて説明します。
■ UART/SIO のチャネル
UART/SIO の端子とレジスタを表 17.3-1 および表 17.3-2 にそれぞれ示します。
表 17.3-1 UART/SIO の端子
端子名
端子機能
クロック入出力
データ出力
データ入力
UCKn
UOn
UIn
表 17.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
319
第 17 章 UART/SIO
17.4 端子
17.4
MB95650L シリーズ
端子
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 のシリアルデータ入力端子と
して使用する場合は,対応するポート方向レジスタによって入力ポートに設定してくだ
さい。
320
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 17 章 UART/SIO
17.5 割込み
MB95650L シリーズ
17.5
割込み
UART/SIO には , 割込みに関連したエラーフラグビット (PER,OVE,FER), 受信データ
レジスタフルフラグビット (RDRF), 送信データレジスタエンプティフラグビット
(TDRE) および送信完了フラグビット (TCPL) の 6 つのビットがあります。
■ UART/SIO の割込み
表 17.5-1 に , UART/SIO の割込み制御ビットと割込み要因を示します。
表 17.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
321
第 17 章 UART/SIO
17.6 動作説明と設定手順例
17.6
MB95650L シリーズ
動作説明と設定手順例
UART/SIO には , シリアル通信機能 ( 動作モード 0,1) があります。
■ UART/SIO の動作
● 動作モード
UART/SIO には , 2 種類の動作モードがあります。クロック同期モード (SIO) とクロッ
ク非同期モード (UART) を選択できます ( 表 17.6-1 を参照 )。
表 17.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)。
322
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 17 章 UART/SIO
17.6 動作説明と設定手順例
MB95650L シリーズ
17.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% までの範囲で通信可能です。
専用ボーレートジェネレータによるボーレート算出式を以下に示します ( 専用ボー
レートジェネレータについては ,「第 18 章 UART/SIO 専用 ボーレートジェネレータ」も
参照してください 。
図 17.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])
表 17.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
323
第 17 章 UART/SIO
17.6 動作説明と設定手順例
MB95650L シリーズ
また , クロック非同期モード (UART) におけるボーレート設定が可能な範囲は以下のと
おりです。
表 17.6-3 クロック非同期モード (UART) におけるボーレート設定可能範囲
PSS[1:0]
BRS[7:0]
0b00 ~ 0b11
0x02(2) ~ 0xFF(255)
● 転送データフォーマット
UART は,NRZ (Non Return to Zero) 形式のデータのみを扱えます。
図 17.6-2 に,転送デー
タフォーマットを示します。
キャラクタビット長は , SMC1n:CBL[1:0] ビット の設定により 5 ビット~ 8 ビットを選
択できます。
ストップビット長は SMC1n:SBL ビットの設定により 1 ビットもしくは 2 ビットに設
定できます。
パリティの有無 , パリティの極性は SMC1n レジスタの PEN ビットと TDP ビット によ
り設定できます。
図 17.6-2 に示すように , 転送データは必ずスタートビット ("L" レベル ) より始まり ,
MSBファーストもしくは LSBファースト(SMC1nレジスタのBDS ビットでLSB ファー
スト /MSB ファーストの選択可能 ) で指定されたデータビット長転送が行われ , ストッ
プビット ("H" レベル ) で終了します。アイドル時は "H" レベルになります。
図 17.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ファーストの
選択が可能です。
324
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 17 章 UART/SIO
17.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" にした場合 , 直ちに受信動作が禁止され , 初期化され
ます。途中まで受信したデータはシリアル入力データレジスタには転送されません。
図 17.6-3 クロック非同期モード (UART) の受信動作
RXE
UIn
St
D0 D1 D2 D3 D4 D5 D6 D7 Sp Sp St
D0 D1 D2
RDRn
のリード
RDRF
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
325
第 17 章 UART/SIO
17.6 動作説明と設定手順例
MB95650L シリーズ
● クロック非同期モード (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" に設定されます。
また , 各フラグビットは最初のストップビットの位置で設定されます。
図 17.6-4 受信エラーフラグビットの設定タイミング
UIn
D5
D6
D7
P
SP
SP
PER
OVE
FER
受信割込み
326
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 17 章 UART/SIO
17.6 動作説明と設定手順例
MB95650L シリーズ
● 受信動作時のスタートビットの検出と受信データの確定
受信動作許可ビット (RXE) が "1" に設定されてから専用ボーレートジェネレータのク
ロック (BRCLK) によってシリアルデータ入力をサンプリングし , シリアル入力の立下
りと連続した 3 回の "L" によりスタートビットは検出されます。したがって , BRCLK
のサンプリングにおいて , 最初に "H","L","L","L" が検出されたとき , そのビットをス
タートビットとみなします。
スタートビット検出から 4 分周回路を起動し ,BRCLK の 4 周期ごとにシリアルデータ
を受信用シフトレジスタに取り込みます。
データの受信は , ボーレートクロック (BRCLK) とデータサンプリングクロック
(DSCLK) の 3 箇所でサンプリングして 3 ビット中 2 ビット一致の多数決で受信データ
を確定します。
図 17.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-00015-2v0-J
X
FUJITSU SEMICONDUCTOR LIMITED
D0
D1
327
第 17 章 UART/SIO
17.6 動作説明と設定手順例
MB95650L シリーズ
● クロック非同期モード (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 ビットは , 図 17.6-6 に示すように , 最終ビットの
送信が完了した位置 ( データ長 , パリティ許可 , ストップビット長設定により異なる )
において設定されます。
送信動作中に UART/SIO シリアルモード制御レジスタ 1 ch. n (SMC1n) が変更された
場合の動作は保証されません。
図 17.6-6 クロック非同期モード (UART) の送信動作
UOn
D5
D6
D7
P
SP
SP
TCPL
TDRE
送信割込み
ストップビット長を 1 ビットに設定した場合
328
FUJITSU SEMICONDUCTOR LIMITED
ストップビット長を 2 ビットに設定した場合
MN702-00015-2v0-J
第 17 章 UART/SIO
17.6 動作説明と設定手順例
MB95650L シリーズ
TDRE ビットは , 前の送信データが送信シフトレジスタにない場合は , 図 17.6-7 または
図 17.6-8 の位置で設定されます。
図 17.6-7 送信データレジスタエンプティフラグビット (TDRE) の設定タイミング 1
(TXE が "1" の場合 )
TXE = 1
送信データの
書込み
UOn
D0
D1
D2
D3
TDRE
送信割込み
UART/SIOシリアル出力データレジスタch.n (TDRn)から送信シフトレジスタへの
転送は1マシンクロック(MCLK) 周期で行われます。
図 17.6-8 送信データレジスタエンプティフラグビット (TDRE) の設定タイミング 2
(TXE を "0" → "1" にした場合 )
TXE
送信データの
書込み
UOn
D0
D1
D2
D3
TDRE
送信割込み
● 送受信同時動作
クロック非同期モード (UART) では , 送信と受信は独立して動作できます。したがって ,
送信と受信が同時または位相がずれて送信フレームと受信フレームが重なり合う場合
であっても動作します。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
329
第 17 章 UART/SIO
17.6 動作説明と設定手順例
17.6.2
MB95650L シリーズ
動作モード 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 モードにおけるボーレート設定
が可能な範囲は以下のとおりです ( 専用ボーレートジェネレータについては「
, 第 18 章
UART/SIO 専用 ボーレートジェネレータ」も参照 )。
表 17.6-4 クロック同期モード (SIO) におけるボーレート設定可能範囲
PSS[1:0]
BRS[7:0]
0b00 ~ 0b11
0x01(1) ~ 0xFF(255), 0x00(256)
( 最速となる設定は 0x01 最も遅い設定は 0x00 です。)
外部クロックによるボーレート算出式と , 専用ボーレートジェネレータ使用時のボー
レート算出式を以下に示します。
図 17.6-9 外部クロックによるボーレート算出式
1
ボーレート値=
[bps]
外部クロック *
4 マシンクロック以上
*: 外部クロック
4 マシンクロック以上
330
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 17 章 UART/SIO
17.6 動作説明と設定手順例
MB95650L シリーズ
図 17.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
331
第 17 章 UART/SIO
17.6 動作説明と設定手順例
MB95650L シリーズ
● UART/SIO 動作モード 1 受信動作
動作モード 1 の受信では , 各レジスタを図 17.6-11 のように使用します。
図 17.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" に設定することに
よってシリアルクロックを発生させて受信を開始する。
332
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 17 章 UART/SIO
17.6 動作説明と設定手順例
MB95650L シリーズ
受信用シフトレジスタに 5 ビット~ 8 ビットのシリアルデータが受信されると , 受信
データを UART/SIO シリアル入力データレジスタ ch. n (RDRn) へ転送し , 次のシリア
ルデータの受信を可能にします。
RDRn レジスタにデータが格納されると , 受信データレジスタフルフラグビット
(RDRF) が "1" に設定されます。
受信割込み許可ビット (RIE) が "1" に設定されている場合は , RDRF ビットが "1" に設
定されると受信割込みが発生します。
受信データを読み出す場合は ,UART/SIO シリアルステータスアンドデータレジスタ
ch. n (SSRn) のオーバランエラーフラグビット (OVE) を確認し , RDRn レジスタから読
み出します。
受信データが RDRn レジスタから読み出されると , RDRF ビットが "0" にクリアされま
す。
図 17.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" に設定されます。
図 17.6-13 オーバランエラー
UCKn
UIn
...
...
...
D0 D1 ... D6 D7
D0 D1 ... D6 D7
D0 D1 ... D6 D7
RDRnへの
リード
RDRF
OVE
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
333
第 17 章 UART/SIO
17.6 動作説明と設定手順例
MB95650L シリーズ
● UART/SIO 動作モード 1 送信動作
動作モード 1 の送信では , 各レジスタを図 17.6-14 のように使用します。
図 17.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" に設定されます。
334
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 17 章 UART/SIO
17.6 動作説明と設定手順例
MB95650L シリーズ
外部クロックを使用する設定では,送信動作が起動した最初のシリアルクロックの立下
りからシリアルデータが送信されます。
送信割込み許可ビット (TIE) が "1" に設定されている場合は , TDRE ビットが "1" に設
定されると送信完了割込みが発生します。このとき , 次の送信データを TDRn レジスタ
に書き込めます。また , TXE ビットが "1" に設定されたままであれば , 連続してシリア
ル送信を行えます。
シリアル送信が完了したことを送信完了割込みによって検知する場合は,送信完了割込
み出力許可の設定を TEIE = 0,TCIE = 1 にしてください。送信が完了すると送信完了フ
ラグ ビット (SSRn:TCPL) が "1" に設定されて送信完了割込みが発生します。
図 17.6-15 クロック同期モード (SIO) の 8 ビット送信動作
TDRnへの
書込み
UCKn
UIn
D0 D1 D2 D3 D4 D5 D6 D7
TDRE
TCPL
割込み
コントローラ
への割込み
外部クロックの
場合は, UCKnの
立下り後です。
割込み
コントローラ
への割込み
内部クロックの
場合は, 最終 1 ビット
周期後です。
● 送受信同時動作
<外部クロックの場合>
送信と受信はそれぞれ独立して動作できます。したがって , 送信と受信が同時または
位相がずれて重なり合う場合でも動作します。
<内部クロックの場合>
送信側がシリアルクロックを発生しているため , 受信は送信の影響を受けます。
受信途中に送信が終了してしまった場合 , 受信側は停止した状態となります。 受信
は , 送信側が再起動されたときに継続されます。
シリアルクロックを出力および入力して使用する方法については , 「17.4 端子」を
参照してください。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
335
第 17 章 UART/SIO
17.7 レジスタ
17.7
MB95650L シリーズ
レジスタ
UART/SIO のレジスタについて説明します。
表 17.7-1
UART/SIO のレジスタ一覧
レジスタ略称
336
レジスタ名
参照先
SMC1n
UART/SIO シリアルモード制御レジスタ 1 ch. n
17.7.1
SMC2n
UART/SIO シリアルモード制御レジスタ 2 ch. n
17.7.2
SSRn
UART/SIO シリアルステータスアンドデータレジスタ ch. n
17.7.3
RDRn
UART/SIO シリアル入力データレジスタ ch. n
17.7.4
TDRn
UART/SIO シリアル出力データレジスタ ch. n
17.7.5
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 17 章 UART/SIO
17.7 レジスタ
MB95650L シリーズ
17.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
337
第 17 章 UART/SIO
17.7 レジスタ
MB95650L シリーズ
[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)の
設定 を変更しないでください。
338
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 17 章 UART/SIO
17.7 レジスタ
MB95650L シリーズ
17.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
339
第 17 章 UART/SIO
17.7 レジスタ
MB95650L シリーズ
[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" を書き込んだ場合
送信データレジスタエンプティ割込みを許可します。
340
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 17 章 UART/SIO
17.7 レジスタ
MB95650L シリーズ
17.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
341
第 17 章 UART/SIO
17.7 レジスタ
MB95650L シリーズ
[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 レジスタに送信データがないことを示します。
342
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 17 章 UART/SIO
17.7 レジスタ
MB95650L シリーズ
17.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
343
第 17 章 UART/SIO
17.7 レジスタ
17.7.5
MB95650L シリーズ
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" にしてからデータを変更してください。
344
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 18 章
UART/SIO 専用 ボーレート
ジェネレータ
UART/SIO 専用ボーレートジェネレータの機能と
動作について説明します。
18.1 概要
18.2 チャネル
18.3 動作説明
18.4 レジスタ
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
345
第 18 章 UART/SIO 専用 ボーレートジェネレータ
18.1 概要
18.1
MB95650L シリーズ
概要
UART/SIO 専用ボーレートジェネレータは ,UART/SIO のボーレートを発生します。
UART/SIO 専用ボーレートジェネレータプリスケーラ選択レジスタ ch. n (PSSRn)
と UART/SIO 専用ボーレートジェネレータボーレート設定レジスタ ch. n (BRSRn)
から構成されます。
品種により, UART/SIO専用ボーレートジェネレータの端子数およびチャネル数は異な
ります。
詳細は , デバイスのデータシートを参照してください。
本章において , 端子名とレジスタ略称にある "n" はチャネル番号を示します。各品種の
端子名 , レジスタ名とレジスタ略称について , デバイスのデータシートを参照してくだ
さい。
■ UART/SIO 専用ボーレートジェネレータのブロックダイヤグラム
図 18.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 にクロックを供給しています。
346
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
18.2
チャネル
第 18 章 UART/SIO 専用 ボーレートジェネレータ
18.2 チャネル
UART/SIO 専用ボーレートジェネレータのチャネルについて説明します。
■ UART/SIO 専用ボーレートジェネレータのチャネル
表 18.2-1 に ,UART/SIO 専用ボーレートジェネレータのレジスタを示します。
表 18.2-1 UART/SIO 専用ボーレートジェネレータのレジスタ
レジスタ略称
該当レジスタ ( 本マニュアル上の表記 )
PSSRn
UART/SIO 専用ボーレートジェネレータプリスケーラ選択レジスタ ch. n
BRSRn
UART/SIO 専用ボーレートジェネレータボーレート設定レジスタ ch. n
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
347
第 18 章 UART/SIO 専用 ボーレートジェネレータ
18.3 動作説明
18.3
MB95650L シリーズ
動作説明
UART/SIO 専用ボーレートジェネレータは,クロック非同期モード(UART)のボーレー
トジェネレータとして動作します。
■ ボーレート設定
UART/SIO の SMC1n レジスタの CKS ビットで UART/SIO 専用ボーレートジェネレー
タをシリアルクロックとして選択してください。
クロック 非同期モード (UART) では , CKS ビットで選択されたシフトクロックの 4 分
周になり , 選択されたボーレートの −3% から +3% までの範囲で転送可能です。UART/
SIO 専用ボーレートジェネレータによるボーレート算出式を以下に示します。
図 18.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])
表 18.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) におけるボーレート設定が可能な範囲は以下のと
おりです。
表 18.3-2 クロック非同期モード (UART) におけるボーレート設定可能範囲
348
PSS[1:0]
BRS[7:0]
0b00 ~ 0b11
0x02(2) ~ 0xFF(255)
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
18.4
レジスタ
第 18 章 UART/SIO 専用 ボーレートジェネレータ
18.4 レジスタ
UART/SIO 専用ボーレートジェネレータのレジスタについて説明します。
表 18.4-1
UART/SIO 専用ボーレートジェネレータのレジスタ一覧
レジスタ略称
レジスタ名
参照先
PSSRn
UART/SIO 専用ボーレートジェネレータプリスケーラ選択レジスタ
ch. n
BRSRn
UART/SIO 専用ボーレートジェネレータボーレート設定レジスタ ch. n 18.4.2
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
18.4.1
349
第 18 章 UART/SIO 専用 ボーレートジェネレータ
18.4 レジスタ
18.4.1
MB95650L シリーズ
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
350
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 18 章 UART/SIO 専用 ボーレートジェネレータ
18.4 レジスタ
MB95650L シリーズ
18.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
351
第 18 章 UART/SIO 専用 ボーレートジェネレータ
18.4 レジスタ
352
MB95650L シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 19 章
I2C バスインタフェース
I2C バスインタフェース の機能と動作について説
明します。
19.1 概要
19.2 構成
19.3 チャネル
19.4 端子
19.5 割込み
19.6 動作説明と設定手順例
19.7 レジスタ
19.8 使用上の注意
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
353
第 19 章 I2C バスインタフェース
19.1 概要
19.1
MB95650L シリーズ
概要
I2C バスインタフェースは, マスタ / スレーブモードの送信と受信, アービトレーショ
ンロスト検出, スレーブアドレス / ゼネラルコールアドレス検出, スタート / ストップ
条件の発生と検出 , バスエラー検出および MCU スタンバイウェイクアップ機能を提
供します。
■ I2C バスインタフェースの機能
I2C バスインタフェースは双方向バスで , シリアルデータライン (SDAn) とシリアルク
ロックライン (SCLn) の 2 本のワイヤから構成されます。この 2 本のワイヤによってバ
スに接続される各装置は , 互いに情報伝達が行われ , 各装置にある固有のアドレスを認
識することにより , それぞれの装置の機能に応じて送信装置および受信装置として動
作が可能となります。
装置間にはマスタとスレーブという関係が成り立ちます。
I2C バスインタフェースはバスのキャパシタンスの上限値が 400 pF を超えなければ ,
バスに複数の装置を接続できます。複数のマスタが同時にデータ転送を開始しようと
した場合でも , データの破壊を防ぐために , 衝突検出および通信調整手順を備えている
本格的なマルチマスタバスです。
通信調整手順とは複数のマスタが同時にバスを制御しようとした場合に, 1 つのマスタ
だけがバスを制御できるようにし , さらにメッセージが失われたり , 内容が変更された
りしないようにする手順です。また , マルチマスタとはメッセージを失うことなく , 複
数のマスタが同時にバスを制御しようとすることです。
本 I2C バスインタフェースは , MCU スタンバイモードウェイクアップ機能を内蔵して
います。
図 19.1-1 I2C バスインタフェースの構成例
マイクロコントローラA
LCDドライバ
スタティックRAM/
EEPROM
SDAn
SCLn
ゲートアレイ
354
A/Dコンバータ
FUJITSU SEMICONDUCTOR LIMITED
マイクロコントローラB
MN702-00015-2v0-J
MB95650L シリーズ
19.2
構成
第 19 章 I2C バスインタフェース
19.2 構成
I2C バスインタフェース は , 以下のブロックで構成されます。
• クロックセレクタ
• クロック分周器
• シフトクロック発生器
• スタート / ストップ条件発生回路
• スタート / ストップ条件検出回路
• アービトレーションロスト検出回路
• スレーブアドレス比較回路
• IBSRn レジスタ
• IBCR0n レジスタ
• IBCR1n レジスタ
• ICCRn レジスタ
• IAARn レジスタ
• IDDRn レジスタ
品種により , I2C バスインタフェースの端子数およびチャネル数は異なります。詳細は ,
デバイスのデータシートを参照してください。
本章において , 端子名とレジスタ略称にある "n" はチャネル番号を示します。各品種の
端子名 , レジスタ名とレジスタ略称について , デバイスのデータシートを参照してくだ
さい。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
355
第 19 章 I2C バスインタフェース
19.2 構成
MB95650L シリーズ
■ I2C バスインタフェースのブロックダイヤグラム
図 19.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
356
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 19 章 I2C バスインタフェース
19.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
357
第 19 章 I2C バスインタフェース
19.3 チャネル
19.3
MB95650L シリーズ
チャネル
I2C バスインタフェースのチャネルについて説明します。
■ I2C バスインタフェースのチャネル
I2C バスインタフェース の端子とレジスタを表 19.3-1 および表 19.3-2 にそれぞれ示し
ます。
表 19.3-1 I2C バスインタフェースの端子
端子名
端子機能
SDAn
I2C バスインタフェース I/O
SCLn
表 19.3-2 I2C バスインタフェースのレジスタ
レジスタ略称
358
レジスタ対応 ( 本マニュアル上の表記 )
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-00015-2v0-J
MB95650L シリーズ
19.4
端子
第 19 章 I2C バスインタフェース
19.4 端子
I2C バスインタフェースの端子について説明します。
■ I2C バスインタフェースの端子
I2C バスインタフェースの端子には , SDAn 端子および SCLn 端子があります。
● SDAn 端子
SDAn 端子は , I2C バスインタフェースのデータ入出力端子です。
I2C バスインタフェース が許可 (ICCRn:EN = 1) された場合 , 自動的にデータ入出力端
子になり , SDAn 端子として機能します。
● SCLn 端子
SCLn 端子は , I2C バスインタフェースのシフトクロック入出力端子です。
I2C バスインタフェースが許可 (ICCRn:EN = 1) された場合 , 自動的にシフトクロック
入出力端子になり , SCLn 端子として機能します。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
359
第 19 章 I2C バスインタフェース
19.5 割込み
19.5
MB95650L シリーズ
割込み
I2C バスインタフェースは , 転送割込みとストップ割込みがあり , 次に示す要因で割込
みを発生します。
• 転送割込み
データ転送が完了した場合またはバスエラーが発生した場合
• ストップ割込み
ストップ条件を検出した場合 , アービトレーションロストを検出した場合または
ストップモード / 時計モードで I2C バスインタフェースにアクセスがあった場合
■ 転送割込み
表 19.5-1 に, 転送割込みの制御ビットと I2Cバスインタフェースの割込み要因について
示します。
表 19.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" に設定されます。
360
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 19 章 I2C バスインタフェース
19.5 割込み
MB95650L シリーズ
■ ストップ割込み
表 19.5-2 に , ストップ割込みの制御ビットと I2C バスインタフェース の割込み要因 ( ト
リガイベント ) について示します。
表 19.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
361
第 19 章 I2C バスインタフェース
19.6 動作説明と設定手順例
19.6
MB95650L シリーズ
動作説明と設定手順例
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)。
362
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 19 章 I2C バスインタフェース
19.6 動作説明と設定手順例
MB95650L シリーズ
l2C バスインタフェース
19.6.1
I2C バスインタフェースは , シフトクロックに同期した 8 ビットデータのシリアルイ
ンタフェースです。
■ I2C のシステム
I2C バスシステムはデータ転送にシリアルデータライン (SDAn) とシリアルクロック
ライン (SCLn) を使用します。バスに接続された全装置はオープンドレインまたはオー
プンコレクタ出力である必要があり , プルアップ抵抗を接続して使用します。
バスに接続された各デバイスには固有のアドレスがあり , アドレスは , ソフトウェアで
設定が可能です。
そして常に単純なマスタ / スレーブ関係が存在し , マスタはマスタト
ランスミッタまたはマスタレシーバとして機能します。
万一 , 複数のマスタが同時に
データ転送を開始しようとした場合でも , データ破壊を防ぐために衝突検出機能およ
びアービトレーション機能を備えた本格的なマルチマスタバスです。
■ I2C のプロトコル
図 19.6-1 に , データ転送に必要なフォーマットを示します。
図 19.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" である ) において , マス
タはスタート条件を発生することによって送信を開始します。図 19.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
363
第 19 章 I2C バスインタフェース
19.6 動作説明と設定手順例
MB95650L シリーズ
• バスマスタ時の割込み状態 (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" レベルになって , 受信デバイスからアクノリッジビットを受信し
ます ( 図 19.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 ビット固定です。図 19.6-1 に示したとおりア
クノリッジクロックパルスが "H" の状態の場合に SDAn ラインを "L" レベルの状態に
安定させることで , 受信装置はアクノリッジを送信側に伝えるようになっています。
MSB を先頭に 1 ビットごとに 1 クロックパルスでデータを転送します。バイト転送ご
とに, アクノリッジの送受信が行われる必要があります。そのため, 1 つの完全なデータ
バイト転送は 9 つのクロックパルスが必要です。
■ アクノリッジ
アクノリッジは , 次に示す条件の元 , 送信側データバイト転送の 9 番目のクロックサイ
クルに対して受信側から送信されます。
アドレスアクノリッジは下記条件で発生します。
• 受信アドレスが IAARn の設定アドレスと一致し, さらにアドレスアクノリッジ自動
出力 (IBCR0n:AACKX = 0) の場合
• ゼネラルコールアドレス (0x00) を受信し , さらにゼネラルコールアドレスアクノ
リッジ出力許可 (IBCR1n:GACKE = 1) の場合
データを受信したときのデータアクノリッジビットは , IBCR1n:DACKE ビットにより
許可 / 禁止できます。マスタモードでは IBCR1n:DACKE = 1 のときにデータアクノ
364
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 19 章 I2C バスインタフェース
19.6 動作説明と設定手順例
リッジが発生し , スレーブモードでは , アドレスアクノリッジが既に発生しており , か
つ IBCR1n:DACKE = 1 の場合に , データアクノリッジが発生します。また , 受信したア
クノリッジは , 9 番目の SCLn サイクルで IBSRn:LRB に保持されます。
• データアクノリッジが受信データの内容に依存する場合 (SM バスで使われるパケッ
トエラーチェッキングなど ), IBCR0n:INTS ビットに "1" を書き込む ( 例えば前の転
送完了割込みにて ) ことで最新の受信データを読み出せるようにした上で , データ
アクノリッジ許可ビット (IBCR1n:DACKE) の設定によりデータアクノリッジを制御
してください。
• 最新のデータアクノリッジ (IBSRn:LRB) の読出しは , アクノリッジ受信後に行えま
す (LRB の読出しは , 9 番目の SCLn サイクルにおける転送終了割込みで行われる必
要があります ) 。
そのため , IBCR0n:INTS ビットが "1" のときにアクノリッジを読み
出す場合は , 8 番目の SCLn サイクルによる転送終了割込み中に , このビットに "0"
を書き込んで , 9 番目の SCLn サイクルで , 再度 , 転送終了割込みが発生するように
設定してください。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
365
第 19 章 I2C バスインタフェース
19.6 動作説明と設定手順例
MB95650L シリーズ
■ ゼネラルコールアドレス
ゼネラルコールアドレスは , スタートアドレスバイト (0x00) とそれに続く第 2 アドレ
スバイトから構成されます。ゼネラルコールアドレスを使用するためには , 第 1 バイト
のゼネラルコールアドレスに対するアクノリッジの前に , IBCR1n:GACKE = 1 を設定
しておいてください。
また , 第 2 アドレスバイトのアクノリッジは , 図 19.6-2 に示され
るような方法で制御できます。
図 19.6-2 ゼネラルコール動作
スレーブモード
第 1 バイトゼネラルコールアドレス
第 2 バイトゼネラルコールアドレス
ACK
ACK/NACK
9th SCL↓で IBCR1n:INTが設定される
IBSRn:LRB を読み出す
9th SCL↓で IBCR1n:INT が設定される
IBCR0n:INTS=1を設定する
IBCR1n:GACKE=1のとき ACK が与えられ
IBSRn:GCAが設定される
8th SCL↓でIBCR1n:INT が設定される
IDDRnを読み出してIBCR1n:DACKE によりACK/NACKを制御
IBSRn:LRBを読み出す必要がある場合は INTS=0に設定する
(a) スレーブモード時のゼネラルコール動作
マスタモード
GACKE=1
第 1 バイトゼネラルコールアドレス
第 2 バイトゼネラルコールアドレス
ACK
9th SCL↓で IBCR1n:INT が設定される
IBCR0n:INTS=1, GACKE=0 を設定する
ACK が与えられ, IBSRn:GCAが設定される
ACK/NACK
9th SCL↓でIBCR1n:INTが設定される
IBSRn:LRBを読み出す
GCAがクリアされる
8th SCL↓でIBCR1n:INTが設定される
IBSRn:LRBを読み出すためINTS=0に設定する
(b) マスタモード時のゼネラルコール動作 (AL なし, GACKE=1 からスタート)
マスタモード
GACKE=1
第 1 バイトゼネラルコールアドレス
第 2 バイトゼネラルコールアドレス
ACK
ACK/NACK
9th SCL↓でIBCR1n:INTが設定される
IBSRn:LRBを読み出す
9th SCL↓で IBCR1n:INTが設定される
IBCR0n:INTS=1, GACKE=0 を設定する
8th SCL↓で IBCR1n:INTが設定される
IDDRnを読み出してIBCR1n:DACKEによりACK/NACKを制御
IBSRn:LRBを読み出す必要がある場合はINTS=0に設定する
ACK が与えられ, IBSRn:GCA が設定される
第2アドレスでALが発生してスレーブモードへ切り換える
(c) マスタモード時のゼネラルコール動作 (第 2 アドレスで AL あり, GACKE=1 からスタート)
マスタモード
GACKE=0
第1バイトゼネラルコールアドレス
NACK
第2バイトゼネラルコールアドレス
9th SCL↓で IBCR1n:INT が設定される
IBCR0n:INTS=1を設定する
ACK は与えられず, IBSRn:GCAは設定されない
ACK/NACK
9th SCL↓で IBCR1n:INTが設定される
IBSRn:LRBを読み出す
8th SCL↓でIBCR1n:INTが設定される
IBSRn:LRBを読み出すため INTS=0に設定する
(d) マスタモード時のゼネラルコール動作 (ALなし, GACKE=0 からスタート)
マスタモード
GACKE=0
第1バイトゼネラルコールアドレス
NACK
第2バイトゼネラルコールアドレス
9th SCL↓で IBCR1n:INTが設定される
IBCR0n:INTS=1を設定する
ACK は与えられず,IBSRn:GCAは設定されない
ACK/NACK
9th SCL↓で IBCR1n:INTが設定される
IBSRn:LRBを読み出す
8th SCL↓で IBCR1n:INTが設定される
IDDRnを読み出して IBCR1n:DACKEによりACK/NACKを制御
IBSRn:LRBを読み出す必要がある場合は INTS=0に設定する
第2アドレスで AL が発生し, IBSRn:GCAが設定され,
スレーブモードへ切換える
(e) マスタモード時のゼネラルコール動作 (第2アドレスでALあり, GACKE=0からスタート)
ACK
NACK
GCA
AL
: アクノリッジ
: アクノリッジなし
: ゼネラルコールアドレス
: アービトレーションロスト
本モジュールとほかのデバイスがゼネラルコールアドレスを同時に送信した場合, 第 2
アドレスバイト転送時にアービトレーションロストが検出されていないかどうかで ,
バスを獲得したかどうかを確認できます。もし , アービトレーションロストが検出され
た場合 , 本モジュールはスレーブモードとなり , マスタからのデータ受信を継続しま
す。
366
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 19 章 I2C バスインタフェース
19.6 動作説明と設定手順例
■ ストップ条件
ストップ条件を発生させることによって , マスタはバスを開放して通信を終了します。
SCLn が "H" の場合に , SDAn ラインを "L" → "H" にするとストップ条件となります。マ
スタモード時の通信終了 ( 以後バスフリー) をバス上のデバイスに知らせるための信号
です。また , マスタはストップ条件を発生させずに , 連続してスタート条件を発生でき
ます。これを繰返しスタート条件とよびます。
バスマスタ時の割込み状態 (IBCR1n:MSS = 1 , IBSRn:BB = 1, IBCR1n:INT = 1 および
IBCR0n:ALF = 0) で , IBCR1n:MSS ビットに "0" を書き込むとストップ条件が発生して
スレーブモードになります。上記以外において , IBCR1n:MSS ビットへの "0" の書込み
は無視されます。
■ アービトレーション
このインタフェース回路は複数のマスタを接続できる本格的なマルチマスタバスで
す。
マスタ転送で , システム内のほかのマスタが同時にデータ転送をした場合 , アービ
トレーションが発生します。
アービトレーションは , SCLn ラインが "H" レベルの場合に SDAn ラインで発生しま
す。マスタは , 自身の送信データが "1", SDAn ライン上のデータが "L" レベルの場合 ,
アービトレーションロストが発生したとみなし ,
データ出力をオフにして ,
IBCR0n:ALF = 1 に設定します。このとき , アービトレーションロスト割込みが許可
(IBCR0n:ALE = 1) されていると , 割込みが発生します。IBCR0n:ALF = 1 に設定される
と , IBCR1n:MSS = 0, IBSRn:TRX = 0 となり , TRX ビットがクリアされてスレーブ受信
モードとなります。
もし , IBSRn:BB=0 のときに IBCR0n:ALF が "1" に設定された場合 , IBCR0n:ALF は "0"
の書込みでのみクリアされます。また , IBSRn:BB = 1 のときに IBCR0n:ALF が "1" に設
定された場合 , IBCR0n:ALF は IBCR1n:INT を "0" にクリアすることによってのみクリ
アされます。
● IBSRn:BB = 0 でアービトレーションロスト割込みが発生する条件
図 19.6-3 や 図 19.6-4 に示されるようなタイミングにて , プログラムによりスタート条
件を発生させた場合 (IBCR1n:MSS を "1" に設定 ), アービトレーションロスト検出
(IBCR0n:ALF = 1) により割込みの発生 (IBCR1n:INT = 1) が抑止されます。
• アービトレーションロストにより割込みが発生しない条件 1
スタート条件が検出されておらず (IBSRn:BB = 0), SDAn と SCLn ラインの端子状態が
"L" レベルとなっている状態で , プログラムによりスタート条件を発生 (IBCR1n:MSS
を "1" に設定 ) させた場合。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
367
第 19 章 I2C バスインタフェース
19.6 動作説明と設定手順例
MB95650L シリーズ
図 19.6-3 IBCR0n:ALF = 1 で割込みが発生しない場合のタイミングダイヤグラム
SCLn端子もしくはSDAn端子が “L” レベル
"L"
SCLn端子
"L"
SDAn端子
1
I2C
動作許可状態 (ICCRn:EN = 1)
マスタモード設定 (IBCR1n:MSS = 1)
アービトレーションロスト検出ビット
(IBCR0n:ALF = 1)
368
バスビジー (IBSRn:BB)
0
割込み (IBCR1n:INT)
0
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 19 章 I2C バスインタフェース
19.6 動作説明と設定手順例
MB95650L シリーズ
• アービトレーションロストにより割込みが発生しない条件 2
I2C バスがほかのマスタにより使用されているとき , プログラムにより I2C バスインタ
フェース の動作を許可 (ICCRn:ENを"1"に設定) し, スタート条件を発生 (IBCR1n:MSS
を "1" に設定 ) させた場合。
これは , 図 19.6-4 に示すように , 本 I2C バスインタフェースの動作が禁止 (ICCRn:EN =
0) のときに I2C バス上のほかのマスタが通信を開始した場合, 本 I2Cバスインタフェー
ス はスタート条件を検出できないためです (IBSRn:BB = 0)。
図 19.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
369
第 19 章 I2C バスインタフェース
19.6 動作説明と設定手順例
MB95650L シリーズ
図 19.6-5 に , サンプルフローを示します。
図 19.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) が発生します。
図 19.6-6 「IBCR0n:ALF = 1」検出時における割込み発生のタイミングダイヤグラム
スタート条件
9 番目のクロックサイクルにおける割込み
SCLn端子
SDAn端子
スレーブアドレス
データ
ACK
ICCRn:EN
IBCR1n:MSS
IBCR0n:ALF
ソフトウェアにより
IBCR0n:ALFをクリア
IBSRn:BB
IBCR1n:INT
370
ソフトウェアにより IBCR1n:INTを
クリアして SCLnラインをリリース
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 19 章 I2C バスインタフェース
19.6 動作説明と設定手順例
MB95650L シリーズ
19.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 のストップ モード / 時計モードでのみ有効です。
図 19.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
371
第 19 章 I2C バスインタフェース
19.6 動作説明と設定手順例
MB95650L シリーズ
図 19.6-8 に , ウェイクアップ機能のサンプルフローを示します。
図 19.6-8 サンプルフロー 2
ストップモード / 時計
モードへの遷移手順
IBSRn:BB=0
NO
YES
IBCR0n:WUE =1 の設定により
ウェイクアップ機能許可
IBSRn:BB=0
NO
IBCR0n:WUE = 0
YES
ストップ モード / 時計モードへ遷移
372
IBCR0n:ALE に "0" を書き込んで
AL 割込みをクリア
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 19 章 I2C バスインタフェース
19.7 レジスタ
MB95650L シリーズ
19.7
レジスタ
I2C バスインタフェースのレジスタについて説明します。
表 19.7-1
I2C バスインタフェースのレジスタ一覧
レジスタ略称
レジスタ名
2
参照先
IBCR0n
I C バス制御レジスタ 0 ch.n
19.7.1
IBCR1n
I2C バス制御レジスタ 1 ch. n
19.7.2
IBSRn
I2C バスステータスレジスタ ch. n
19.7.3
2
IDDRn
I C データレジスタ ch. n
19.7.4
IAARn
I2C アドレスレジスタ ch. n
19.7.5
ICCRn
I2C クロック制御レジスタ ch. n
19.7.6
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
373
第 19 章 I2C バスインタフェース
19.7 レジスタ
19.7.1
MB95650L シリーズ
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" を書き込んだ場合
アドレスアクノリッジを禁止します。
374
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 19 章 I2C バスインタフェース
19.7 レジスタ
MB95650L シリーズ
[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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
375
第 19 章 I2C バスインタフェース
19.7 レジスタ
MB95650L シリーズ
[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" を書き込んだ場合
動作に影響はありません。
376
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 19 章 I2C バスインタフェース
19.7 レジスタ
MB95650L シリーズ
[bit0] WUE: MCU スタンバイモードウェイクアップ機能許可ビット
このビットはストップモード / 時計モード中の MCU スタンバイモードウェイクアップ機能を許可
または禁止します。
ストップモード / 時計モードでこのビットが "1" で , かつスタート条件が検出された場合 , I2C の動
作開始のためにウェイクアップ割込み要求が発生します。
bit0
説明
"0" を書き込んだ場合
ストップモード / 時計モードにおける MCU スタンバイモードウェイクアップ機
能を禁止します。
"1" を書き込んだ場合
ストップモード / 時計モードにおける MCU スタンバイモードウェイクアップ機
能を許可します。
( 注意事項 )
• このビットへの "1" の書込みは , MCU がストップモード / 時計モードに入る直前に行ってくだ
さい。また , MCU がストップモード / 時計モードからウェイクアップした後 , I2C の動作をす
ぐに再開できるように , できるだけ早くこのビットをクリア ("0" の 書込み ) してください。
• ウェイクアップ割込み要求が発生した後 , MCU は発振安定待ち時間の経過後にウェイクアッ
プします。したがって , ウェイクアップ直後のデータの取り逃しを避けるため , I2C 送信開始
(SDAn の立下りエッジ検出 ) によるウェイクアップから 100 µs ( 最小の発振安定待ち時間が
100 µs と仮定した場合 ) 以降に , SCLn が最初のサイクルとして立ち上り , 第 1 ビットがデータ
として受信されなければなりません。
• MCU スタンバイモード中 , 本 I2C 機能のステータスフラグ , ステートマシンおよび I2C バス出
力は , スタンバイモードに入る直前の状態を保持します。I2C バスシステム全体のハングアッ
プを避けるため , スタンバイモードに入れる前に , IBSRn:BB = 0 となっていることを確認して
ください。
• ウェイクアップ機能は , IBSRn:BB = 1 における MCU のストップモード / 時計モードへの遷移
をサポートしていません。IBSRn:BB = 1 で MCU がストップモード / 時計モードへ遷移した場
合 , スタート条件が検出された段階でバスエラーが発生します。
• ウェイクアップ機能は MCU のストップモード / 時計モードでのみ有効です 。
<注意事項>
I2C の動作が禁止 (ICCRn:EN = 0) された場合 , IBCR0n レジスタの AACKX ビット , INTS
ビットおよび WUE ビットは , "0" になり , 値の書込みができなくなります。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
377
第 19 章 I2C バスインタフェース
19.7 レジスタ
19.7.2
MB95650L シリーズ
I2C バス制御レジスタ 1 ch. n (IBCR1n)
I2C バス制御レジスタ 1 ch. n (IBCR1n) は , バスエラー割込みの許可 / 禁止 , スター
ト条件発生 , マスタ / スレーブモードの選択 , データアクノリッジの許可 / 禁止 , ゼネ
ラルコールアクノリッジの許可 / 禁止および転送完了割込みの許可 / 禁止を制御しま
す。
■ レジスタ構成
bit
7
6
5
4
3
2
1
0
Field
BER
BEIE
SCC
MSS
DACKE
GACKE
INTE
INT
属性
R/W
R/W
W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
■ レジスタ機能
[bit7] BER: バスエラー割込み要求フラグビット
このビットはバスエラーを検出します。
このビットと BEIE ビットがともに "1" のとき , バスエラー割込み要求が発生します。
不正なスタート条件または不正なストップ条件が検出された場合 , このビットは "1" になります。
リードモディファイライト (RMW) 系命令でこのビットを読み出すと , 常に "1" が読み出されます。
説明
bit7
"0" が読み出された場合
バスエラーが検出されていないことを示します。
"1" が読み出された場合
不正なスタート条件または不正なストップ条件が検出されていることを示しま
す。
"0" を書き込んだ場合
このビットをクリアします。
"1" を書き込んだ場合
動作に影響はありません。
[bit6] BEIE: バスエラー割込み要求許可ビット
このビットはバスエラー割込みを許可または禁止します。
このビットと BER ビットがともに "1" のとき , バスエラー割込み要求が発生します。
説明
bit6
"0" を書き込んだ場合
バスエラー割込みを禁止します。
"1" を書き込んだ場合
バスエラー割込みを許可します。
378
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 19 章 I2C バスインタフェース
19.7 レジスタ
MB95650L シリーズ
[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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
379
第 19 章 I2C バスインタフェース
19.7 レジスタ
MB95650L シリーズ
[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" になります。
380
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 19 章 I2C バスインタフェース
19.7 レジスタ
I
<注意事項>
• 割込み要求フラグビット (IBCR1n:BER) に "0" を書き込んでクリアするとき , 割込み
要求許可ビット (IBCR1n:BEIE) を同時に書き換えないでください。
• BER ビット と BEIE ビットを除く IBCR1n レジスタ のすべてのビットは , I2C バスイ
ンタフェースの動作禁止 (ICCRn:EN = 0) により , "0" にクリアされます。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
381
第 19 章 I2C バスインタフェース
19.7 レジスタ
19.7.3
MB95650L シリーズ
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" です。このビットに値を書き込んでも動作に影響はありません。
382
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 19 章 I2C バスインタフェース
19.7 レジスタ
MB95650L シリーズ
[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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
383
第 19 章 I2C バスインタフェース
19.7 レジスタ
MB95650L シリーズ
[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 バイト ( アドレス ) であることを示します。
384
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 19 章 I2C バスインタフェース
19.7 レジスタ
MB95650L シリーズ
19.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
385
第 19 章 I2C バスインタフェース
19.7 レジスタ
19.7.5
MB95650L シリーズ
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]: アドレスビット
これらのビットはスレーブアドレスを設定します。
386
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 19 章 I2C バスインタフェース
19.7 レジスタ
MB95650L シリーズ
19.7.6
I2C クロック制御レジスタ ch. n (ICCRn)
I2C クロック制御レジスタ ch. n (ICCRn) は , I2C 動作の許可とシフトクロック周波数
の選択を行います。
■ レジスタ構成
bit
7
6
5
4
3
2
1
0
Field
DMBP
予約
EN
CS4
CS3
CS2
CS1
CS0
属性
R/W
W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
■ レジスタ機能
[bit7] DMBP: 分周器 m バイパスビット
このビットはシフトクロック周波数を発生させるための分周器 m のバイパスに使用されます。
このビットに "0" が書き込まれた場合 , CS[4:3] で選択された値が分周器 m の値になります (m =
ICCRn:CS[4:3]) 。
このビットに "1" が書き込まれた場合 , 分周器 m はバイパスされます。
分周器 n = 4 (ICCRn:CS[2:0] = 0b000) のとき , このビットに "1" を書き込まないでください。
説明
bit7
"0" を書き込んだ場合
ICCRn:CS[4:3]( 分周器 m) の設定が有効になります。
"1" を書き込んだ場合
ICCRn:CS[4:3]( 分周器 m) の設定が無効になります。
[bit6] 予約ビット
このビットは常に "0" に設定してください。
[bit5] EN: I2C バスインタフェース動作許可ビット
このビットは I2C バスインタフェースの動作を許可または禁止します。
このビットに "0" が書き込まれた場合 , I2C バスインタフェースの動作が禁止され , 以下のビットが
"0" にクリアされます。
• IBCR0n レジスタの AACKX, INTS および WUE ビット
• IBCR1n レジスタの BER および BEIE ビットを除くすべてのビット
• IBSRn レジスタのすべてのビット
このビットに "1" が書き込まれた場合 , I2C バスインタフェースの動作が許可されます。
説明
bit5
2
"0" を書き込んだ場合
I C バスインタフェースの動作を禁止します。
"1" を書き込んだ場合
I2C バスインタフェースの動作を許可します。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
387
第 19 章 I2C バスインタフェース
19.7 レジスタ
MB95650L シリーズ
[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 バスインタフェース の動作を禁止してください。
388
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
19.8
使用上の注意
第 19 章 I2C バスインタフェース
19.8 使用上の注意
I2C バスインタフェース使用上の注意を示します。
■ I2C バスインタフェース使用上の注意
● I2C バスインタフェースのレジスタの設定時の注意
• I2C バス制御レジスタ ch. n (IBCR0n, IBCR1n) を設定する前に , I2C バスインタ
フェースの動作を許可してください (ICCRn:EN)。
• マスタ / スレーブ選択ビット (IBCR1n:MSS) を設定する ("1" を書き込む ) と , 転送が
開始されます。
● シフトクロック周波数を設定する場合の注意
• Fsck 計算式を使用して , 分周器 m, 分周器 n および DMBP ビット の値を決めること
により , シフトクロック周波数を計算できます。
Fsck 計算式について ,「19.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
389
第 19 章 I2C バスインタフェース
19.8 使用上の注意
MB95650L シリーズ
● 転送完了タイミング選択時の注意
• データ受信時の転送完了フラグ(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" にクリ
アしてください。
390
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 20 章
シリアル書込み接続例
シリアル書込み接続例を示します。
20.1 シリアル書込み接続の基本構成
20.2 シリアル書込み接続例
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
391
第 20 章 シリアル書込み接続例
20.1 シリアル書込み接続の基本構成
20.1
MB95650L シリーズ
シリアル書込み接続の基本構成
MB95650L シリーズは , フラッシュメモリのシリアルオンボード書込みをサポートし
ています。本節では , 構成について説明します。
■ シリアル書込み接続の基本構成
シリアルオンボード書込みには , 富士通セミコンダクター株式会社製の BGM アダプタ
MB2146-07-E または MB2146-08-E が使用されます。
図 20.1-1 に , シリアル書込み接続の基本構成を示します。
図 20.1-1 シリアル書込み接続の基本構成
ホストインタフェースケーブル
USB
BGMアダプタ
(MB2146-07-E/
MB2146-08-E)
1線式UART
フラッシュメモリ品
ユーザシステム
表 20.1-1 標準シリアルオンボード書込みに使用する端子
端子
機能
説明
VCC
電源電圧供給端子
書込み電圧 (1.8 V ~ 5.5 V) は , ユーザシステムから供給されます。
VSS
GND 端子
フラッシュマイコンプログラマの GND と兼用となっています。
C
バイパスコンデンサ接続端子
バイパスコンデンサに接続してから , グランドに接続してください。
RST
リセット
RST 端子は , VCC に設定 ( プルアップ ) されます。
DBG
1 線式 UART
設定シリアル書込みモード
DBG 端子は , プログラマとの 1 線式 UART 通信を提供します。
特定のタイミングで DBG 端子と VCC 端子に電圧が供給されると , シ
リアル書込みモードが設定されます。
( そのタイミングについては , 図 20.2-1 を参照してください。)
● UART クロック
UART クロックは , 内部 CR クロックにより供給されます。
392
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 20 章 シリアル書込み接続例
20.2 シリアル書込み接続例
MB95650L シリーズ
20.2
シリアル書込み接続例
MCU は , 次のタイミングで PGM モードに遷移します。
■ MCU の PGM モードへの遷移
MCU は , 次のタイミングで PGM モードに遷移します。
シリアルプログラマは , VCC 入力に従って , DBG 端子を制御します。
図 20.2-1 タイミングダイヤグラム
Vcc
H
L
PGM モードに遷移
↓
DBG
H
L
→
MN702-00015-2v0-J
≧1s
←
FUJITSU SEMICONDUCTOR LIMITED
393
第 20 章 シリアル書込み接続例
20.2 シリアル書込み接続例
MB95650L シリーズ
■ シリアル書込み接続例
図 20.2-2 に , シリアル書込みのための接続例を示します。
図 20.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Ω のプルアップ抵抗を使用することを推奨します。
394
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 21 章
デュアルオペレーション
フラッシュメモリ
64/96/160/288 K ビットデュアルオペレーションフ
ラッシュメモリの機能と動作について説明します。
21.1 概要
21.2 セクタ / バンク構成
21.3 フラッシュメモリ自動アルゴリズムの起動方法
21.4 自動アルゴリズム実行状態の確認
21.5 フラッシュメモリの書込み / 消去
21.6 動作説明
21.7 フラッシュセキュリティ
21.8 レジスタ
21.9 使用上の注意
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
395
第 21 章 デュアルオペレーション フラッシュメモリ
21.1 概要
21.1
MB95650L シリーズ
概要
デュアルオペレーションフラッシュメモリは, 64 KビットフラッシュメモリではCPU
メモリマップの 0x1000 ~ 0x1FFF および 0xF000 ~ 0xFFFF に , 96 K ビットフラッ
シュメモリでは CPU メモリマップの 0x1000 ~ 0x1FFF および 0xE000 ~ 0xFFFF
に , 160 K ビットフラッシュメモリでは CPU メモリマップの 0x1000 ~ 0x1FFF よび
0xC000 ~ 0xFFFF に , 288 K ビットフラッシュメモリでは CPU メモリマップの
0x1000 ~ 0x1FFF よび 0x8000 ~ 0xFFFF に配置されています。
デュアルオペレーションフラッシュは , 上位バンクと下位バンク * で構成されており ,
従来のフラッシュ品では行えなかったバンクごとの消去 / 書込みと読出しの同時実行
が可能です。
*: MB95F656E/F656L
上位バンク : 32 K バイト × 1, 下位バンク : 2 K バイト × 2
MB95F654E/F654L
上位バンク : 16 K バイト × 1, 下位バンク : 2 K バイト × 2
MB95F653E/F653L
上位バンク : 8 K バイト × 1, 下位バンク : 2 K バイト × 2
MB95F652E/F652L
上位バンク : 4 K バイト × 1, 下位バンク : 2 K バイト × 2
■ デュアルオペレーションフラッシュメモリの概要
フラッシュメモリへのデータの書込み / 消去の方法には , 以下の方法があります。
•
専用シリアルプログラマによる書込み / 消去
•
プログラム実行による書込み / 消去
プログラム実行によるフラッシュメモリへのデータの書込み / 消去は , フラッシュメモ
リインタフェース回路を介して CPU からの命令により実行できるため , デバイスが回
路基板に実装された状態でプログラムコードやデータを効率的に書き換えることがで
きます。また , セクタ構成も最小 2K バイトと小セクタで , プログラム / データ領域と
して扱いやすい構成になっています。
データの書換え方法は , RAM 上におけるプログラム実行またはデュアルオペレーショ
ンにおけるフラッシュメモリ上におけるプログラム実行があります。また , 異なるバン
ク ( 上位バンク / 下位バンク ) における消去 / 書込みと読出しの同時実行が可能です。
デュアルオペレーションフラッシュでは , 次の組合せが可能です。
上位バンク
下位バンク
読出し
読出し
書込み / セクタ消去
書込み / セクタ消去
読出し
チップ消去
396
セクタ消去 ( 消去一時中断 )
書込み
書込み
セクタ消去 ( 消去一時中断 )
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 21 章 デュアルオペレーション フラッシュメモリ
21.1 概要
■ デュアルオペレーションフラッシュメモリの特長
•
セクタ構成
- 8 K バイト (4 K バイト + 2 K バイト × 2)
- 12 K バイト (8 K バイト + 2 K バイト × 2)
- 20 K バイト (16 K バイト + 2 K バイト × 2)
- 36 K バイト (32 K バイト + 2 K バイト × 2)
•
2 バンク構成 , 書込み / 消去動作と読込み動作を同時に行える
•
自動アルゴリズム (Embedded Algorithm)
•
消去一時停止 / 消去再開機能を搭載
•
データポーリングフラグまたはトグルビットによる書込み / 消去完了の検出
•
CPU 割込みによる書込み / 消去完了の検出
•
セクタごとの消去が可能 ( セクタ組合せ自由 )
•
JEDEC 標準規格コマンドとの互換性
•
書込み / 消去回数 ( 最小 ):100000 回
•
フラッシュ読込みサイクルタイム ( 最小 ) :1 マシンサイクル
■ フラッシュメモリの書込み / 消去
•
フラッシュメモリは,同一バンクの書込みと読出しを同時に行うことはできません。
•
フラッシュメモリバンクのデータを書込み/消去するには,ほかのバンクまたはRAM
に書込み / 読込みプログラムをコピーしてから , そのプログラムを実行してくださ
い。
デュアルオペレーションフラッシュメモリにより , フラッシュメモリ上におけるプ
ログラム実行および割込みを用いた書込み制御が可能です。また , 書込みの際にプ
ログラムを RAM 上へダウンロードして実行する必要もなく , ダウンロードの時間
削減および RAM データの電源瞬断のケアも不要です。
•
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
397
第 21 章 デュアルオペレーション フラッシュメモリ
21.2 セクタ / バンク構成
MB95650L シリーズ
セクタ / バンク構成
21.2
デュアルオペレーションフラッシュメモリのセクタ / バンク構成を示します。
■ セクタ / バンク構成
図 21.2-1 に , デュアルオペレーションフラッシュメモリのセクタ / バンク構成を示しま
す。図中アドレスは , 各セクタの上位アドレスと下位アドレスを示します。
● バンク構成
フラッシュメモリの下位バンクは SA0 と SA1 で , 上位バンクは SA2 です。
図 21.2-1 デュアルオペレーションフラッシュメモリのセクタ / バンク構成
フラッシュメモリ
(8 K バイト )
SA0: 2 K バイト
SA1: 2 K バイト
フラッシュメモリ
(12 K バイト )
下位
バンク
SA0: 2 K バイト
SA1: 2 K バイト
フラッシュメモリ
(20 K バイト )
下位
バンク
SA0: 2 K バイト
SA1: 2 K バイト
フラッシュメモリ
(36 K バイト )
下位
バンク
SA0: 2 K バイト
SA1: 2 K バイト
CPU
アドレス
0x1000
下位
バンク
0x17FF
0x1800
0x1FFF
0x2000
-
0x7FFF
-
0x8000
-
SA2: 32 K バイト
SA2: 16 K バイト
上位
SA2: 4 K バイト
バンク
398
上位
バンク
上位
SA2: 8 K バイト
バンク
上位
バンク
0xBFFF
0xC000
0xDFFF
0xE000
0xEFFF
0xF000
0xFFFF
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 21 章 デュアルオペレーション フラッシュメモリ
21.3 フラッシュメモリ自動アルゴリズムの起動方法
MB95650L シリーズ
21.3
フラッシュメモリ自動アルゴリズムの起動方法
フラッシュメモリ自動アルゴリズムを起動するコマンドには , 読出し / リセット , 書
込み , チップ消去 , セクタ消去の 4 種類があります。セクタ消去コマンドで , セクタ
消去の停止 / 再開ができます。
■ コマンドシーケンス表
表 21.3-1 に , フラッシュメモリの書込み / 消去時に使用するコマンドの一覧を示します。
表 21.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
399
第 21 章 デュアルオペレーション フラッシュメモリ
21.3 フラッシュメモリ自動アルゴリズムの起動方法
MB95650L シリーズ
<注意事項>
• 表 21.3-1 にあるアドレスは , CPU メモリマップ上の値です。アドレスおよびデータは
すべて 16 進数で表記しています。ただし , "X" は任意の値です。
• 表 21.3-1 のアドレスにおける "U" は任意の値ではなく , アドレスの上位 4 ビット (bit
15 ~ bit 12) を表します。
• すべてのセクタへのデータ書込みが許可されている場合のみ , チップ消去コマンドが
受け入れられます。フラッシュメモリセクタ書込み制御レジスタ 0(SWRE0) のどのセ
クタのビットであっても , "0" に設定されている ( セクタへのデータ書込みが禁止され
ている ) 場合は , チップ消去コマンドは無視されます。
■ コマンドの発行に関する注意事項
コマンドシーケンス表のコマンドを発行する際には , 以下のことを行ってください。
•
400
第一コマンドを発行する前に , 必要なセクタへのデータ書込みを許可してください。
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 21 章 デュアルオペレーション フラッシュメモリ
21.4 自動アルゴリズム実行状態の確認
MB95650L シリーズ
21.4
自動アルゴリズム実行状態の確認
フラッシュメモリは , 自動アルゴリズムを用いて書込み / 消去のフローを実行するた
め , フラッシュメモリ内部の動作状態をハードウェアシーケンスフラグによって確認
できます。
■ ハードウェアシーケンスフラグ
● ハードウェアシーケンスフラグの概要
ハードウェアシーケンスフラグは , 以下の 5 ビットの出力で構成されます。
- データポーリングフラグ (DQ7)
- トグルビットフラグ (DQ6)
- タイミングリミットフラグ (DQ5)
- セクタ消去タイマフラグ (DQ3)
- トグルビット 2 フラグ (DQ2)
ハードウェアシーケンスフラグは , 書込みコマンド , チップ消去コマンド , あるいはセ
クタ消去コマンドが終了したかどうか , 消去コードが書き込まれたかおよび読出され
ているセクタが消去セクタであるか否かを示します。
ハードウェアシーケンスフラグの値は , コマンドシーケンス設定後にフラッシュメモ
リ内の対象セクタのアドレスにリードアクセスすることにより確認できます。ハード
ウェアシーケンスフラグは , コマンドが発行されたバンクにのみ出力されることに注
意してください。
表 21.4-1 に , ハードウェアシーケンスフラグのビット割当てを示します。
表 21.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
401
第 21 章 デュアルオペレーション フラッシュメモリ
21.4 自動アルゴリズム実行状態の確認
MB95650L シリーズ
● ハードウェアシーケンスフラグの説明
表 21.4-2 に , ハードウェアシーケンスフラグの機能を示します。
表 21.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
書込み
異常動作
402
チップ / セクタ消去
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 21 章 デュアルオペレーション フラッシュメモリ
21.4 自動アルゴリズム実行状態の確認
MB95650L シリーズ
21.4.1
データポーリングフラグ (DQ7)
データポーリングフラグ (DQ7) は , 自動アルゴリズム実行が進行中もしくは終了状
態であることをデータポーリング機能によって知らせるハードウェアシーケンスフ
ラグです。
■ データポーリングフラグ (DQ7)
表 21.4-3 と表 21.4-4 に , 正常動作時と異常動作時のそれぞれのデータポーリングフラ
グの状態遷移を示します。
表 21.4-3
データポーリングフラグの状態遷移 ( 正常動作時の状態変化 )
動作状態
書込み →
書込み完了
チップ /
セクタ
消去 →
消去完了
セクタ消去
待ち →
消去開始
消去 →
セクタ消去一時
停止
( セクタ消去実
行中 )
セクタ消去一時
停止 →
消去再開
( セクタ消去実
行中 )
セクタ消去
一時停止中
( セクタ消去
停止 )
DQ7
DQ7 →
DATA: 7
0→1
0
0
0
DATA: 7
表 21.4-4
データポーリングフラグの状態遷移 ( 異常動作時の状態変化 )
動作状態
書込み
チップ / セクタ消去
DQ7
DQ7
0
● 書込みの場合
自動書込みアルゴリズム実行中にリードアクセスを行った場合 , フラッシュメモリは
最後に書き込まれたデータの bit7 を反転させた値を DQ7 に出力します。
自動書込みアルゴリズム終了時にリードアクセスを行った場合 , フラッシュメモリは
リードアクセスを行ったアドレスの読出し値の bit7 を DQ7 に出力します。
● チップ / セクタ消去の場合
チップ / セクタ消去の自動アルゴリズム実行中に現在消去しているセクタをリードア
クセスすると , フラッシュメモリの bit7 は "0" を出力します。チップ / セクタ消去が終
了すると , フラッシュメモリの bit7 は "1" を出力します。
● セクタ消去一時停止の場合
•
セクタ消去一時停止時にリードアクセスすると , フラッシュメモリはアドレスの指
し示す番地が消去中のセクタであれば "0" を DQ7 に出力し , 消去中のセクタでなけ
ればアドレスの指し示す番地の読出し値の bit7 (DATA: 7) を出力します。
•
トグルビットフラグ (DQ6) とともにデータポーリングフラグ (DQ7) を参照すること
によって , 現在セクタ一時停止状態であるか , どのセクタが消去中であるかの判定
が可能です。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
403
第 21 章 デュアルオペレーション フラッシュメモリ
21.4 自動アルゴリズム実行状態の確認
MB95650L シリーズ
<注意事項>
自動アルゴリズムを起動した場合は , 指定したアドレスへのリードアクセスは無視されま
す。データの読出しは , データポーリングフラグ (DQ7) が "1" に設定された後 , 可能にな
ります。自動アルゴリズム終了後のデータの読出しは , データポーリング終了を確認した
リードアクセスの後に行ってください。
404
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 21 章 デュアルオペレーション フラッシュメモリ
21.4 自動アルゴリズム実行状態の確認
MB95650L シリーズ
21.4.2
トグルビットフラグ (DQ6)
トグルビットフラグ (DQ6) は , 自動アルゴリズム実行が進行中 , もしくは終了状態で
あることをトグルビット機能によって知らせるハードウェアシーケンスフラグです。
■ トグルビットフラグ (DQ6)
表 21.4-5 と表 21.4-6 に , 正常動作時と異常動作時のそれぞれのトグルビットフラグの
状態遷移を示します。
表 21.4-5
トグルビットフラグの状態遷移 ( 正常動作時の状態変化 )
動作状態
書込み →
書込み完了
チップ /
セクタ
消去 →
消去完了
セクタ消去
待ち →
消去開始
消去 →
セクタ消去一時
停止
( セクタ消去実
行中 )
セクタ消去一時
停止 →
消去再開
( セクタ消去実
行中 )
セクタ消去
一時停止中
( セクタ消去
停止 )
DQ6
Toggle →
DATA: 6
Toggle → 1
Toggle
Toggle → 0
0 → Toggle
DATA: 6
表 21.4-6
トグルビットフラグの状態遷移 ( 異常動作時の状態変化 )
動作状態
書込み
チップ / セクタ消去
DQ6
Toggle
Toggle
● 書込みとチップ / セクタ消去の場合
•
自動書込みアルゴリズムまたはチップ / セクタ消去の自動アルゴリズムを実行中に
リードアクセスを連続して行った場合 , フラッシュメモリは , 読出しを行うごとに
"1" と "0" を交互にトグル出力します。
•
自動書込みアルゴリズムまたはチップ / セクタ消去の自動アルゴリズムが終了した
後にリードアクセスを連続して行った場合 , フラッシュメモリは読出しを行うごと
にリードアドレスの読出し値の bit6 (DATA: 6) を出力します。
● セクタ消去一時停止時
セクタ消去一時停止時にリードアクセスすると,フラッシュメモリはアドレスの指し示
す番地が消去中のセクタに属する場合には , "0" を出力します。消去中のセクタに属さ
ない場合には , アドレスの指し示す番地の読出し値の bit6 (DATA: 6) を出力します。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
405
第 21 章 デュアルオペレーション フラッシュメモリ
21.4 自動アルゴリズム実行状態の確認
MB95650L シリーズ
<注意事項>
デュアルオペレーションフラッシュメモリ ( フラッシュメモリ書込み制御プログラムをフ
ラッシュメモリ上で実行する ) を用いる場合 , トグルビットフラグ (DQ6) を使用して書込
み / 消去中の状態を確認することができません。
「21.9 使用上の注意」記載の注意事項を
参照の上 , プログラムを作成してください。
なお , フラッシュメモリ書込み制御プログラムを RAM 上で実行する場合は , 本注意事項
は該当しません。
406
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 21 章 デュアルオペレーション フラッシュメモリ
21.4 自動アルゴリズム実行状態の確認
MB95650L シリーズ
21.4.3
タイミングリミット超過フラグ (DQ5)
タイミングリミット超過フラグ (DQ5) は , 自動アルゴリズムの実行時間がフラッシュ
メモリ内の規定時間 ( 書込み / 消去に要する時間 ) を超えてしまったことを示すハー
ドウェアシーケンスフラグです。
■ タイミングリミット超過フラグ (DQ5)
表 21.4-7 と表 21.4-8 に , 正常動作時と異常動作時のフラグそれぞれのタイミングリ
ミット超過フラグの状態遷移を示します。
表 21.4-7
タイミングリミット超過フラグの状態遷移 ( 正常動作時 )
動作状態
書込み →
書込み完了
チップ /
セクタ
消去 →
消去完了
セクタ消去
待ち →
消去開始
消去 →
セクタ消去一時
停止
( セクタ消去実
行中 )
セクタ消去一時
停止 →
消去再開
( セクタ消去実
行中 )
セクタ消去
一時停止中
( セクタ消去
停止 )
DQ5
0 → DATA: 5
0→1
0
0
0
DATA: 5
表 21.4-8
タイミングリミット超過フラグの状態遷移 ( 異常動作時 )
動作状態
書込み
チップ / セクタ消去
DQ5
1
1
● 書込みとチップ / セクタ消去時について
書込みまたはチップ / セクタ消去の自動アルゴリズム起動後にこのフラグにリードア
クセスを行うと , 自動アルゴリズム実行時間が , 規定の時間 ( 書込み / 消去に要する時
間 ) 以内であれば "0" が , また超えている場合は "1" が出力されます。
タイミングリミット超過フラグ (DQ5) は , 自動アルゴリズムが実行中か終了している
かにかかわらず , 書込み / 消去の成功または失敗を確認するために使用できます。タイ
ミングリミット超過フラグ(DQ5)が"1"で, フラッシュメモリステータスレジスタ(FSR)
のフラッシュメモリ書込み / 消去ステータスビット (RDY) が "0" ならば , 書込みは失敗
したと判断できます。
例えば , "0" が書き込まれているフラッシュメモリアドレスに "1" を書き込もうとする
と , フラッシュメモリはロックされます。この場合 , 自動アルゴリズムは終了すること
ができず , その実行時間がフラッシュメモリ内で設定された規定時間を超えてしまう
ため , タイミングリミット超過フラグ (DQ5) は "1" を出力します。DQ5 が "1" であるこ
とは , フラッシュメモリの不良ではなく , それが正しく使用されなかったことを示しま
す。DQ5 が "1" を出力する場合は , リセットコマンドを実行してください。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
407
第 21 章 デュアルオペレーション フラッシュメモリ
21.4 自動アルゴリズム実行状態の確認
MB95650L シリーズ
セクタ消去タイマフラグ (DQ3)
21.4.4
セクタ消去タイマフラグ (DQ3) は , セクタ消去コマンド起動後にセクタ消去待ち時間
中であるか否かを知らせるフラグです。
■ セクタ消去タイマフラグ (DQ3)
表 21.4-9 と表 21.4-10 に , 正常動作時と異常動作時のフラグそれぞれのセクタ消去タイ
マフラグの状態遷移を示します。
表 21.4-9
セクタ消去タイマフラグの状態遷移 ( 正常動作時 )
動作状態
書込み →
書込み完了
チップ /
セクタ
消去 →
消去完了
セクタ消去
待ち →
消去開始
消去 →
セクタ消去一時
停止
( セクタ消去実
行中 )
セクタ消去一時
停止 →
消去再開
( セクタ消去実
行中 )
セクタ消去
一時停止中
( セクタ消去
停止 )
DQ3
0 → DATA: 3
1
0→1
1
1
DATA: 3
表 21.4-10
セクタ消去タイマフラグの状態遷移 ( 異常動作時 )
動作状態
書込み
チップ / セクタ消去
DQ3
0
1
● セクタ消去動作時
•
セクタ消去コマンド起動後にリードアクセスが行われると , セクタ消去タイマフラ
グ (DQ3) はセクタ消去待ち時間中の場合には "0" を , セクタ消去待ち時間を超えて
しまっている場合には "1" を出力します。
•
データポーリング機能やトグルビット機能によって消去アルゴリズムが実行中を
示している場合に (DQ7 = 0, DQ6 はトグル出力を示す ), フラッシュメモリはセクタ
消去を行います。続けて設定されるコマンドがセクタ消去一時停止コマンドでなけ
れば , 消去が終了されるまでそのコマンドは無視されます。
•
このフラグが "0" の場合には , フラッシュメモリはセクタ消去コマンドを受付け可
能です。フラッシュメモリへのセクタ消去コマンドの書込みに先立って , セクタ消
去タイマフラグ (DQ3) が "0" であることを確かめてください。フラグが "1" であっ
た場合には , フラッシュメモリはセクタ消去コマンドの一時停止を受け付けない可
能性があります。
● セクタ消去一時停止時
セクタ消去一時停止中にリードアクセスが行われると,フラッシュメモリはアドレスの
示す番地が消去中のセクタに属する場合には "1" を出力します。消去中のセクタに属
さない場合にはアドレスの示す番地の読出し値の bit3 (DATA: 3) を出力します。
408
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 21 章 デュアルオペレーション フラッシュメモリ
21.4 自動アルゴリズム実行状態の確認
MB95650L シリーズ
21.4.5
トグルビット 2 フラグ (DQ2)
トグルビット 2 フラグ (DQ2) は , セクタ消去一時停止状態で読出しアドレスが消去対
象セクタであるか否かおよび出力データがトグルされたかどうかをトグルビット機
能によって知らせるハードウェアシーケンスフラグです
■ トグルビット 2 フラグ (DQ2)
表 21.4-11 と表 21.4-12 に , 正常動作時と異常動作時のそれぞれのトグルビット 2 フラ
グの状態遷移を示します。
表 21.4-11
トグルビット 2 フラグの状態遷移 ( 正常動作時の状態変化 )
動作状態
書込み →
書込み完了
チップ /
セクタ
消去 →
消去完了
セクタ消去
待ち →
消去開始
消去 →
セクタ消去一時
停止
( セクタ消去実
行中 )
セクタ消去一時
停止 →
消去再開
( セクタ消去実
行中 )
セクタ消去
一時停止中
( セクタ消去
停止 )
DQ2
0 → DATA: 2
Toggle → 1
Toggle
Toggle
Toggle
DATA: 2
表 21.4-12
トグルビット 2 フラグの状態遷移 ( 異常動作時の状態変化 )
動作状態
書込み
チップ / セクタ消去
DQ2
0
Toggle
● チップ / セクタ消去の場合
•
チップ / セクタ消去の自動アルゴリズムを実行中に消去対象セクタにリードアクセ
スを連続して行った場合 , フラッシュメモリはリードアクセスを行うごとに "1" と
"0" を交互にトグル出力します。
•
チップ / セクタ消去の自動アルゴリズムを実行中に消去対象ではないセクタにリー
ドアクセスを連続して行った場合 , フラッシュメモリはリードアクセスを行うごと
にリードアドレスの読出し値の bit2 (DATA: 2) を出力します。
● セクタ消去一時停止時
•
•
セクタ消去一時停止時に消去対象セクタにリードアクセスを連続して行った場合 ,
フラッシュメモリはリードアクセスを行うごとに "1" と "0" を交互にトグル出力し
ます。
セクタ消去一時停止時に消去対象ではないセクタにリードアクセスを連続して
行った場合 , フラッシュメモリはリードアクセスを行うごとにリードアドレスの読
出し値の bit2 (DATA: 2) を出力します。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
409
第 21 章 デュアルオペレーション フラッシュメモリ
21.5 フラッシュメモリの書込み / 消去
21.5
MB95650L シリーズ
フラッシュメモリの書込み / 消去
自動アルゴリズムを起動する各コマンドを入力し , フラッシュメモリに読出し / リ
セット , 書込み , チップ消去 , セクタ消去 , セクタ消去一時停止 , セクタ消去再開のそ
れぞれの動作を行う手順を説明します。
■ フラッシュメモリの書込み / 消去の詳細説明
自動アルゴリズムは , 読出し / リセット , 書込み , チップ消去 , セクタ消去 , セクタ消去
一時停止 , セクタ消去再開のコマンドシーケンスを CPU からフラッシュメモリに書き
込むことにより起動できます。CPU からフラッシュメモリへのコマンドシーケンスの
コマンドの書込みは , 必ず連続して行ってください。自動アルゴリズムの終了は , デー
タポーリング機能により確認できます。自動アルゴリズムの正常終了後は , フラッシュ
メモリは読出し / リセット状態に戻ります。
動作について , 以下の順序で説明します。
410
•
読出し / リセット状態への遷移
•
データの書込み
•
全データの消去 ( チップ消去 )
•
任意のデータの消去 ( セクタ消去 )
•
•
セクタ消去の一時停止
セクタ消去の再開
•
アンロックバイパス書込み
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 21 章 デュアルオペレーション フラッシュメモリ
21.5 フラッシュメモリの書込み / 消去
MB95650L シリーズ
21.5.1
フラッシュメモリの読出し / リセット状態への遷移
読出し / リセットコマンドを入力して , フラッシュメモリを読出し / リセット状態に
する手順について説明します。
■ フラッシュメモリの読出し / リセット状態への遷移
•
フラッシュメモリを読出し / リセット状態にするには , コマンドシーケンス表の読
出し / リセットコマンドを CPU からフラッシュメモリに送信してください。
•
読出し / リセット状態はフラッシュメモリの初期状態であるため , フラッシュメモ
リは電源投入後またはコマンドの正常終了後は , 必ず読出し / リセット状態となり
ます。読出し / リセット状態は , コマンドの入力待ち状態でもあります。
•
読出し / リセット状態では , フラッシュメモリへのリードアクセスによって , その
データを読み出せます。
•
フラッシュメモリにリードアクセスする場合は , 読出し / リセットコマンドは必要
ありません。コマンドが正常に終了しなかった場合は , 自動アルゴリズムを初期化
するために , 読出し / リセットコマンドを使用してください。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
411
第 21 章 デュアルオペレーション フラッシュメモリ
21.5 フラッシュメモリの書込み / 消去
21.5.2
MB95650L シリーズ
フラッシュメモリへのデータ書込み
書込みコマンドを入力して , フラッシュメモリにデータを書き込む手順について説明
します。
■ フラッシュメモリへのデータ書込み
•
フラッシュメモリにデータを書き込むための自動アルゴリズムを起動するには , コ
マンドシーケンス表の書込みコマンドを連続的に CPU からフラッシュメモリに送
信してください。
•
4 サイクル目に対象のアドレスへデータを書き込むと , 自動アルゴリズムが起動さ
れ自動書込みを開始します。
● アドレッシング方式
書込みは , どのようなアドレスの順番でも , セクタの境界を越えても行えます。1 回の
書込みコマンドによって書き込むことのできるデータは 1 バイトのみです。
● データ書込みに関する注意事項
•
書込みによって , ビットデータを "0" から "1" に戻すことはできません。"0" であっ
たビットデータに "1" が書き込まれると , データポーリング機能 (DQ7), あるいはト
グル動作 (DQ6) が終了せず , フラッシュメモリ素子が不良であると判断され , 自動
アルゴリズムの実行時間が規定の書込み時間を超えてしまうため , タイミングリ
ミット超過フラグ (DQ5) がエラーの発生を示すことになります。読出し / リセット
状態でデータを読み出すと , ビットデータは "0" のままです。ビットデータを "0" か
ら "1" に戻すには , フラッシュメモリの消去を行ってください。
•
書込みの実行中は , すべてのコマンドが無視されます。
•
書込み中にハードウェアリセットが生じた場合は , その時点のアドレスに書込み中
であったデータの整合性は保証されません。チップ消去コマンドまたはセクタ消去
コマンドからデータの書込みをやり直してください。
■ フラッシュメモリ書込み手順
412
•
図 21.5-1 に , フラッシュメモリへのデータ書込み手順の例を示します。ハードウェ
アシーケンスフラグにより , フラッシュメモリ内の自動アルゴリズムの動作状態を
確認できます。この例では , データポーリングフラグ (DQ7) を使用して , フラッシュ
メモリへのデータ書込みの終了を確認しています。
•
フラグチェックのために読み出すデータは , 最後に書込みを行ったアドレスからの
読出しとなります
•
データポーリングフラグ (DQ7) およびタイミングリミット超過フラグ (DQ5) は , 同
時に変更されるため, タイミングリミット超過フラグ(DQ5)が, "1"であっても, デー
タポーリングフラグ (DQ7) を確認してください。
•
同様に , トグルビットフラグ (DQ6) は , タイミングリミット超過フラグ (DQ5) が ,
"1" に変化すると同時にトグルを停止するため , DQ5 が "1" に変化した後に , DQ6 を
確認してください。
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 21 章 デュアルオペレーション フラッシュメモリ
21.5 フラッシュメモリの書込み / 消去
MB95650L シリーズ
図 21.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
413
第 21 章 デュアルオペレーション フラッシュメモリ
21.5 フラッシュメモリの書込み / 消去
21.5.3
MB95650L シリーズ
フラッシュメモリの全データ消去 ( チップ消去 )
チップ消去コマンドを発行して , フラッシュメモリの全データを消去する手順につい
て説明します。
■ フラッシュメモリからのデータ消去 ( チップ消去 )
•
フラッシュメモリから全データを消去するには , コマンドシーケンス表のチップ消
去コマンドを連続的に CPU からフラッシュメモリに送信してください。
•
チップ消去コマンドは , 6 回のバス動作で実行されます。チップ消去は , 書込みコマ
ンドの 6 サイクル目が完了した時点で開始します。
•
チップ消去では , データ消去を開始する前にユーザがフラッシュメモリにデータを
書き込む必要はありません。自動消去アルゴリズム実行中には , フラッシュメモリ
はデータを消去する前にフラッシュメモリのすべてのセルに "0" を自動的に書き込
んでから消去します。
■ チップ消去に関する注意事項
414
•
すべてのセクタへのデータ書込みが許可されている場合のみチップ消去コマンド
が受け付けられます。フラッシュメモリ書込み制御レジスタ 0 (SWRE0) 内の 1 セク
タでもビットが "0" に設定 ( 当該セクタへのデータ書込みが禁止 ) されている場合
は , チップ消去コマンドは無視されます。
•
チップ消去中にハードウェアリセットが生じた場合は , フラッシュメモリ内のデー
タの整合性は保証されません。
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 21 章 デュアルオペレーション フラッシュメモリ
21.5 フラッシュメモリの書込み / 消去
MB95650L シリーズ
21.5.4 フラッシュメモリの特定データ消去 ( セクタ消去 )
フラッシュメモリの特定セクタの消去のため , セクタ消去コマンドを入力する手順を
説明します。セクタ別消去が可能で , かつ同時に複数のセクタも指定できます。
■ フラッシュメモリの特定データ消去 ( セクタ消去 )
フラッシュメモリの特定セクタからデータを消去するには , コマンドシーケンス表の
セクタ消去コマンドを連続的に CPU からフラッシュメモリに送信してください。
● セクタの指定
•
セクタ消去コマンドは 6 回のバス動作で行われます。6 サイクル目のアドレスに消
去対象のセクタ内のアドレスを指定し , データとしてセクタ消去コード (0x30) を書
き込むことにより最小 35 µs のセクタ消去待ち時間が開始します。
•
複数のセクタを消去する場合は , 上記に続き消去する消去対象のセクタ内のアドレ
スに消去コード (0x30) を書き込んでください。
● 複数セクタ指定する場合の注意事項
•
最後のセクタ消去コードの書込みから最小 35 µs のセクタ消去待ち時間終了後 , 消
去が開始します。
•
複数のセクタを同時に消去する場合は , 消去セクタのアドレスと消去コード ( コマ
ンドシーケンス 6 サイクル目 ) を 35 µs 以内に入力してください。35 µs が経過した
後に消去コードを入力した場合は , セクタ消去待ち時間終了により消去コードは受
け付けられません。
•
セクタ消去コードの連続書込みが有効であるかどうかは , セクタ消去タイマフラグ
(DQ3) で確認できます。
•
セクタ消去タイマフラグ (DQ3) を読み出す場合のアドレスには , 消去しようとして
いるセクタを指定してください。
■ フラッシュメモリセクタ消去手順
•
•
•
フラッシュメモリの自動アルゴリズムの状態をチェックするためにハードウェア
シーケンスフラグを使用できます。図 21.5-2 に , フラッシュメモリセクタ消去手順
の例を示します。この例では , トグルビットフラグ (DQ6) を , セクタ消去の終わり
を確認するために使用します。
トグルビットフラグ (DQ6) は , タイミングリミット超過フラグ (DQ5) が "1" に変更
されると同時に , 出力のトグルを停止します。タイミングリミット超過フラグ
(DQ5) が "1" であっても , トグルビットフラグ (DQ6) を確認してください。
データポーリングフラグ (DQ7) とタイミングリミット超過フラグ (DQ5) は同時に変
化するため , データポーリングフラグ (DQ7) を確認してください。
■ セクタデータ消去の注意事項
データ消去中に , ハードウェアリセットが起こると , フラッシュメモリ内のデータの整
合性は保証されません。ハードウェアリセットが発生した後に , 再度セクタ消去手順を
実行してください。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
415
第 21 章 デュアルオペレーション フラッシュメモリ
21.5 フラッシュメモリの書込み / 消去
MB95650L シリーズ
図 21.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
フラッシュメモリ消去禁止
消去完了
416
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 21 章 デュアルオペレーション フラッシュメモリ
21.5 フラッシュメモリの書込み / 消去
MB95650L シリーズ
21.5.5
フラッシュメモリセクタ消去の一時停止
フラッシュメモリのセクタ消去を一時停止するためにセクタ消去一時停止コマンド
を入力する手順を説明します。消去実行中でないセクタからはデータの読出しが可能
です。
■ フラッシュメモリのセクタ消去の一時停止
•
フラッシュメモリセクタ消去を一時停止させるには , コマンドシーケンス表のフ
ラッシュメモリセクタ消去一時停止コマンドを CPU からフラッシュメモリに送信
します。
•
セクタ消去一時停止コマンドは , セクタ消去中に消去を一時停止し , 消去中でない
セクタからデータを読み出せます。
•
セクタ消去一時停止コマンドは , 消去待ち時間を含むセクタ消去時間においてのみ
許可されます。チップ消去時 , あるいは書込み時には , 本コマンドは無視されます。
•
セクタ消去一時停止コマンドは, 消去一時停止コード (0xB0) を書き込むことで実行
されます。このときのアドレスは , 消去指定したセクタ内の任意のアドレスを設定
してください。消去一時停止中に再度 , セクタ消去一時停止コマンドを実行した場
合 , 再度入力したコマンドは無視されます。
•
セクタ消去待ち時間中に , セクタ消去一時停止コマンドを入力した場合 , 直ちにセ
クタ消去待ち時間を終了し , 消去動作を中断して消去停止状態になります。
•
セクタ消去待ち時間後のセクタ消去中に , セクタ消去一時停止コマンドが入力され
ると , 最大 35 µs 後に消去一時停止状態となります。
<注意事項>
セクタ消去一時停止コマンドを発行する場合,セクタ消去コマンド発行後35 µs + 2 MCLK
( マシンクロック ) 以上経過してから発行してください。
また , セクタ消去再開コマンドによりセクタ消去再開後 , 再びセクタ消去一時停止コマン
ドを発行する場合 , セクタ消去再開コマンド発行後 2 ms 以上経過してから発行してくだ
さい。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
417
第 21 章 デュアルオペレーション フラッシュメモリ
21.5 フラッシュメモリの書込み / 消去
21.5.6
MB95650L シリーズ
フラッシュメモリセクタ消去の再開
フラッシュメモリのセクタ消去の一時停止を再開するためのセクタ消去再開コマン
ドを入力する手順を説明します。
■ フラッシュメモリのセクタ消去の再開
418
•
一時停止しているセクタ消去を再開するには , コマンドシーケンス表のセクタ消去
再開コマンドを CPU からフラッシュメモリに送信してください。
•
セクタ消去再開コマンドは , セクタ消去一時停止コマンドで中断したセクタ消去動
作を再開します。セクタ消去再開コマンドは , 消去再開コード (0x30) を書き込むこ
とによって実行されますが , アドレスは消去を指定したセクタ内の任意のアドレス
を指定してください。
•
セクタ消去中は , セクタ消去再開コマンド入力は無視さます。
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 21 章 デュアルオペレーション フラッシュメモリ
21.5 フラッシュメモリの書込み / 消去
MB95650L シリーズ
21.5.7
アンロックバイパス書込み
アンロックバイパス状態を説明します。
■ ノーマルコマンド状態からアンロックバイパス状態への遷移
ノーマルコマンド状態でアンロックバイパス書込みコマンドが入力されると , フラッ
シュメモリはアンロックバイパス状態に遷移します。アンロックバイパス状態では , 書
込みコマンドが表 21.3-1 のように 2 サイクルで書込みコマンドを実行できます。
■ アンロックバイパス状態からノーマルコマンド状態への復帰
アンロックバイパス状態でアンロックバイパスリセットコマンドが入力されると , フ
ラッシュメモリはアンロックバイパス状態からノーマルコマンド状態に復帰します。
また , アンロックバイパス状態で , ハードウェアリセットを実行することによっても ,
フラッシュメモリはノーマルコマンド状態に復帰します。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
419
第 21 章 デュアルオペレーション フラッシュメモリ
21.6 動作説明
21.6
MB95650L シリーズ
動作説明
デュアルオペレーションフラッシュを使用する際には , 以下について注意してくださ
い。
• 上位バンクの書換え時における割込み発生
• フラッシュメモリステータスレジスタのセクタ変換許可ビット (FSR:SSEN) の設
定手順
■ 上位バンクの書換え時における割込み発生
デュアルオペレーションフラッシュは , 2 つのバンクで構成されますが , 従来のフラッ
シュ同様 , 同一バンクにおける消去 / 書込みと読出しの実行は行えません。
SA2 には割込みベクタがあるため , 上位バンク書込み時に割込みが発生した場合には
CPU からの割込みベクタを正常に読み出せません。上位バンクの書換えを行う際には
セクタ変換許可ビットを "1" に設定 (FSR:SSEN=1) してください。そのため , 割込み発
生時は , SA1 に割込みベクタのデータを読み出すため , FSR:SSEN ビットを "1" に設定す
る前に SA1 と SA2 に同じデータをコピーしておいてください。
■ セクタ変換許可ビット (FSR:SSEN) の設定手順
図 21.6-1 に , セクタ変換許可ビット (FSR:SSEN) の設定手順例を示します。
上位バンクのデータを書き換える際には , FSR:SSEN ビットを "1" に設定してください。
また , フラッシュメモリへの書込み中に FSR:SSEN ビットの設定変更は禁止です。
FSR:SSEN ビットの設定は必ずフラッシュメモリへの書込み開始前または終了後に
行ってください。
また, FSR:SSENビットを設定する前に, フラッシュメモリの割込みを
禁止とし , FSR:SSEN ビットを設定した後に , フラッシュメモリの割込みを許可してく
ださい。
図 21.6-1 セクタ変換許可ビット (FSR:SSEN) の設定手順例
フラッシュデータ書換え開始
下位バンクのデータ書換え
書込み作業開始
上位バンクのデータ書換え
SA2のデータを
SA1にコピー
FSR:SSENを“1”に設定
書込み作業開始
フラッシュデータ書換え終了
フラッシュデータ書換え終了
FSR:SSENを“0”に設定
420
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 21 章 デュアルオペレーション フラッシュメモリ
21.6 動作説明
■ 書込み / 消去中の動作について
フラッシュメモリへの書込み / 消去中に割込みが発生した場合 , 割込みルーチン内でフ
ラッシュメモリへの書込みは禁止されています。
書込み / 消去ルーチンが複数存在する場合 , その書込み / 消去ルーチンが完了してから
ほかの書込み / 消去ルーチンを実行するようにしてください。
フラッシュメモリへの書込み / 消去中に , 書込み / 消去中のモード ( クロックモードお
よびスタンバイモード ) から状態遷移することは禁止されています。書込み / 消去終了
後に状態遷移するようにしてください。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
421
第 21 章 デュアルオペレーション フラッシュメモリ
21.7 フラッシュセキュリティ
21.7
MB95650L シリーズ
フラッシュセキュリティ
フラッシュセキュリティコントローラ機能により , フラッシュメモリの内容が外部端
子から読み出されることを防ぎます。
■ フラッシュセキュリティ
フラッシュメモリアドレス (0xFFFC) に保護コード "0x01" を書き込むと , フラッシュメ
モリへのアクセスが制限され , どの外部端子からもフラッシュメモリへの読出し / 書込
みアクセスができなくなります。フラッシュメモリが一度保護されると , チップ消去コ
マンドを実行するまでこの機能のロックを解除することはできません。
保護コードは, フラッシュプログラミングの最後にコーディングしてください。これは,
プログラミング中の不要な保護を回避するためです。
フラッシュメモリを一度保護すると , 再度フラッシュメモリにデータを書き込めるよ
うにするにはチップ消去が必要になります。
422
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
21.8
レジスタ
第 21 章 デュアルオペレーション フラッシュメモリ
21.8 レジスタ
デュアルオペレーションフラッシュメモリのレジスタについて説明します。
表 21.8-1
デュアルオペレーションフラッシュメモリのレジスタ一覧
レジスタ略称
レジスタ名
参照先
FSR2
フラッシュメモリステータスレジスタ 2
21.8.1
FSR
フラッシュメモリステータスレジスタ
21.8.2
SWRE0
フラッシュメモリセクタ書込み制御レジスタ 0
21.8.3
FSR3
フラッシュメモリステータスレジスタ 3
21.8.4
FSR4
フラッシュメモリステータスレジスタ 4
21.8.5
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
423
第 21 章 デュアルオペレーション フラッシュメモリ
21.8 レジスタ
21.8.1
MB95650L シリーズ
フラッシュメモリステータスレジスタ 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" を書き込んだ場合
動作に影響はありません。
424
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 21 章 デュアルオペレーション フラッシュメモリ
21.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
425
第 21 章 デュアルオペレーション フラッシュメモリ
21.8 レジスタ
MB95650L シリーズ
[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" を書き込んだ場合
動作に影響はありません。
426
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 21 章 デュアルオペレーション フラッシュメモリ
21.8 レジスタ
MB95650L シリーズ
21.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
427
第 21 章 デュアルオペレーション フラッシュメモリ
21.8 レジスタ
MB95650L シリーズ
[bit3] 予約ビット
このビットは常に "0" に設定してください。
[bit2] IRQEN: フラッシュメモリ書込み / 消去割込み許可ビット
このビットはフラッシュメモリの書込み / 消去の完了による割込み要求の発生を許可または禁止し
ます。
bit2
説明
"0" を書き込んだ場合
フラッシュメモリ書込み / 消去による割込みを禁止します。
"1" を書き込んだ場合
フラッシュメモリ書込み / 消去による割込みを許可します。
[bit1] WRE: フラッシュメモリ書込み / 消去許可ビット
このビットはフラッシュメモリ領域の書込み / 消去を許可または禁止します。
WRE ビットはフラッシュメモリの書込み / 消去コマンドの起動前に設定してください。
このビットに "0" が書き込まれた場合 , 書込み / 消去コマンドが入力されても , 書込み / 消去信号は
生成されません。
このビットに "1" が書き込まれた場合 , 書込み / 消去コマンドが入力された後 , フラッシュメモリへ
のデータ書込み / 消去が許可されます。
フラッシュメモリへのデータの書込み / 消去を行わない時には , データが誤ってフラッシュメモリ
に書き込まれたり , フラッシュメモリから消去されたりすることを防ぐために , WRE ビットを "0"
に設定してください。
フラッシュメモリにデータを書き込むには, FSR:WREを"1"に設定して, フラッシュメモリへのデー
タ書込みを許可し , さらにデータが書き込まれるフラッシュメモリのセクタに対応するフラッシュ
メモリセクタ書込み制御レジスタ 0 (SWRE0) を設定してください。フラッシュメモリ書込みが禁止
されている場合 (FSR:WRE = 0) は , セクタに対応するフラッシュセクタ書込み制御レジスタ 0
(SWRE0) のビットが "1" に設定されて書込みが許可されていても , そのフラッシュメモリセクタへ
の書込みアクセスは実行できません。
bit1
説明
"0" を書き込んだ場合
フラッシュメモリ領域の書込み / 消去を禁止します。
"1" を書き込んだ場合
フラッシュメモリ領域の書込み / 消去を許可します。
[bit0] SSEN: セクタスワップ許可ビット
このビットは割込みベクタが存在する領域である上位バンクに位置する SA2 の一部を , 下位バンク
に位置する SA1 と入れ替えるために使用します。
bit0
説明
"0" を書き込んだ場合
SA1 を 0x1800 ~ 0x1FFF に , SA2 の 2K バイトを 0xF800 ~ 0xFFFF にマッピン
グします。
"1" を書き込んだ場合
SA2 の 2K バイトを 0x1800 ~ 0x1FFF に , SA1 を 0xF800 ~ 0xFFFF にマッピン
グします。
428
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 21 章 デュアルオペレーション フラッシュメモリ
21.8 レジスタ
MB95650L シリーズ
図 21.8-1 FSR:SSEN 設定値におけるアクセスセクタマップ
MB95F652E/F652L
MB95F653E/F653L
CPUアドレス
0x1000
SA0: 2Kバイト
0x17FF
0x1800
SA1: 2 Kバイト
0x1FFF
0x2000
SA0: 2Kバイト
SA2: 2Kバイト
-
下位バンク
下位バンク
CPUアドレス
0x1000
0x17FF
0x1800
0x1FFF
0x2000
SA0: 2Kバイト
SA0: 2Kバイト
SA1: 2Kバイト
SA2: 2Kバイト
-
-
-
0xEFFF
0xF000
0xF7FF
割込み 0xF800
ベクタ
0xFFFF
SA2: 2Kバイト
SA2: 4Kバイト
上位バンク
上位バンク
0xDFFF
0xE000
SA1: 2Kバイト
FSR:SSEN = 0
SA2: 6Kバイト
SA2: 8Kバイト
0xF7FF
0xF800
0xFFFF
FSR:SSEN = 1
SA1: 2Kバイト
FSR:SSEN = 0
MB95F654E/F654L
MB95F656E/F656L
CPUアドレス
SA0: 2Kバイト
SA0: 2Kバイト
SA1: 2Kバイト
SA2: 2Kバイト
-
-
下位バンク
下位バンク
CPUアドレス
0x1000
0x17FF
0x1800
0x1FFF
0x2000
FSR:SSEN = 1
0x1000
0x17FF
0x1800
0x1FFF
0x2000
SA0: 2Kバイト
SA0: 2Kバイト
SA1: 2Kバイト
SA2: 2Kバイト
-
-
0x7FFF
0x8000
SA2: 14Kバイト
SA2:16Kバイト
0xF7FF
割込み 0xF800
ベクタ
0xFFFF
SA1: 2 Kバイト
FSR:SSEN = 0
MN702-00015-2v0-J
FSR:SSEN = 1
上位バンク
上位バンク
0xBFFF
0xC000
SA2: 30Kバイト
SA2: 32Kバイト
0xF7FF
0xF800
0xFFFF
SA1: 2Kバイト
FSR:SSEN = 0
FUJITSU SEMICONDUCTOR LIMITED
FSR:SSEN = 1
429
第 21 章 デュアルオペレーション フラッシュメモリ
21.8 レジスタ
21.8.3
MB95650L シリーズ
フラッシュメモリセクタ書込み制御レジスタ 0
(SWRE0)
フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) は , フラッシュメモリイン
タフェースにあるレジスタで , フラッシュメモリの誤書込み防止機能の設定を行う際
に使用します。
フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) には , 個々のセクタ (SA2 ~
SA0) へのデータ書込みを許可 / 禁止するためのビットがあります。各ビットの初期値
は "0" で , 書込み禁止の状態です。SWRE0 のビットに "1" を書き込むと , そのビットに
対応するセクタへのデータ書込みが許可されます。SWRE0 のビットに "0" を書き込む
と , そのビットに対応するセクタへの誤ったデータ書込みが防止されます。SWRE0 の
ビットに "0" を書き込むと , その後そのビットに "1" を書き込んでも , そのビットに対
応するセクタへのデータを書き込むことはできません。再度書き込む場合はリセット
してください。
SWRE0 への書込みは , 必ずバイト書込みで行ってください。ビット操作命令による設
定は禁止されます。
■ レジスタ構成
bit
7
6
5
4
3
2
1
0
Field
予約
予約
予約
予約
予約
SA2E
SA1E
SA0E
属性
W
W
W
W
W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
■ レジスタ機能
[bit7:3] 予約ビット
これらのビットは常に "0" に設定してください。
[bit2:0] SA2E, SA1E, SA0E: 書込み機能セットアップビット
これらのビットは , データが誤ってフラッシュメモリのセクタに書き込まれることを防止する機能
を設定するために使用されます。SWRE0 のビットに "1" を書き込むと , そのビットに対応するセク
タにデータを書き込むことが可能になります。
SWRE0 のビットに "0" を書き込むことにより , そのビットに対応するセクタに誤ってデータが書き
込まれることを防止します。また , リセットにより , そのビットが "0" に初期化されます ( 書込み禁
止 )。
書込み機能設定ビットとそれらに対応するフラッシュメモリセクタの一覧
430
ビット名
対応するフラッシュメモリセクタ
SA2E
SA2
SA1E
SA1
SA0E
SA0
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 21 章 デュアルオペレーション フラッシュメモリ
21.8 レジスタ
MB95650L シリーズ
SAxE (x = 0, 1 または 2) の設定とそれに対応する書込み機能 :
• 書込み禁止 (SAxE = 0):
フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) の SAxE ビットに "0" が書き込まれてい
ない状態で , セクタに対応する SAxE ビットに "1" を書き込むことによって , セクタへのデータ書
込みを許可します。( これはリセットされた後の状態です。)
• 書込み許可 (SAxE = 1):
SAxE ビットに対応するセクタへデータを書き込むことができます。
• 誤書込み防止 (SAxE = 0):
フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) の SAxE ビットに "0" が書き込まれた状
態で , セクタに対応する SAxE ビットを "1" に書き込んでも , そのセクタへのデータ書込みは許可
できません。
図 21.8-2 フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) による
フラッシュメモリの書込み禁止 , 書込み許可 , 誤書込み防止の状態例
レジスタへの
書込み
初期化
レジスタへの
書込み
初期化
RST
書込み禁止
書込み許可
誤書込み防止
書込み禁止
SA0E
書込み禁止
誤書込み防止
書込み禁止
書込み禁止
書込み許可
書込み禁止
SA1E
SA2E
■ SWRE0 レジスタの設定上の注意
FSR:SSEN が "0" である場合 , フラッシュメモリの SA0 (0x1000 ~ 0x17FF), あるいは
SA1 (0x1800 ~ 0x1FFF) へのデータ書込み / データ消去を行うには , 最初に , SWRE0 レ
ジスタの SA0E と SA1E の両方に "1" を設定してください。
FSR:SSEN が "1" である場合 , データ書込み / データ消去を行うには , SWRE0 レジスタ
の SA0E, SA1E, SA2E ビットをすべて "1" に設定してください。
フラッシュメモリのセクタマップの詳細に関しては , 図 21.2-1 および図 21.8-1 を参照
してください。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
431
第 21 章 デュアルオペレーション フラッシュメモリ
21.8 レジスタ
21.8.4
MB95650L シリーズ
フラッシュメモリステータスレジスタ 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" が読み出された場合
フラッシュメモリの書込みが実行中であることを示します。
432
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 21 章 デュアルオペレーション フラッシュメモリ
21.8 レジスタ
[bit0] HANG: フラッシュメモリハングアップステータスビット
このビットはフラッシュメモリの誤動作の有無を示します。
bit0
説明
"0" が読み出された場合
それまでコマンド入力の誤動作がないことを示します。
"1" が読み出された場合
コマンド入力の誤動作が発生していることを示します。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
433
第 21 章 デュアルオペレーション フラッシュメモリ
21.8 レジスタ
21.8.5
MB95650L シリーズ
フラッシュメモリステータスレジスタ 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) による割込みを許可しま
す。
434
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 21 章 デュアルオペレーション フラッシュメモリ
21.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
435
第 21 章 デュアルオペレーション フラッシュメモリ
21.8 レジスタ
MB95650L シリーズ
■ フラッシュメモリステータスレジスタ 2, フラッシュメモリステータスレジスタ 3,
フラッシュメモリステータスレジスタ 4 および RDY ビット (FSR:RDY) の状態例
図 21.8-3 FSR2:PGMEND ( フラッシュメモリ書込み中 )
書込みコマンド
書込みEND
FSR:RDY
FSR3:PGMS
FSR3:SERS
FSR3:ESPS
FSR3:HANG
FSR2:PGMEND
図 21.8-4 FSR2:PGMTO ( フラッシュメモリ書込み失敗時 )
書込みコマンド
書込みタイムアウト
リセットコマンド
FSR:RDY
FSR3:PGMS
FSR3:SERS
FSR3:ESPS
FSR3:HANG
FSR2:PGMTO
図 21.8-5 FSR2:ERSEND ( フラッシュメモリセクタ消去時 )
セクタ消去コマンド
セクタ消去END
FSR:RDY
FSR3:PGMS
FSR3:SERS
FSR3:ESPS
FSR3:HANG
FSR2:ERSEND
436
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 21 章 デュアルオペレーション フラッシュメモリ
21.8 レジスタ
MB95650L シリーズ
図 21.8-6 FSR2:ERSTO ( フラッシュメモリセクタ消去失敗時 )
セクタ消去タイムアウト
セクタ消去コマンド
リセットコマンド
FSR:RDY
FSR3:PGMS
FSR3:SERS
FSR3:ESPS
FSR3:HANG
FSR2:ERSTO
図 21.8-7 FSR2:PGMEND, FSR2:ERSEND
( フラッシュメモリセクタ消去一時停止中のフラッシュメモリ書込み )
セクタ消去 セクタ消去
コマンド
一時停止
コマンド
書込み
コマンド
セクタ消去
一時停止解除
コマンド
FSR:RDY
FSR3:PGMS
FSR3:SERS
FSR3:ESPS
FSR3:HANG
FSR2:PGMEND
FSR2:ERSEND
図 21.8-8 FSR2:PGMTO, FSR2:ERSEND
( フラッシュメモリセクタ消去一時停止中のフラッシュメモリ書込み )
セクタ消去
コマンド
セクタ消去
一時停止
コマンド
書込み
コマンド
書込み
タイムアウト
リセット
コマンド
セクタ消去
一時停止解除
コマンド
FSR:RDY
FSR3:PGMS
FSR3:SERS
FSR3:ESPS
FSR3:HANG
FSR2:PGMTO
FSR2:ERSTO
FSR2:ERSEND
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
437
第 21 章 デュアルオペレーション フラッシュメモリ
21.8 レジスタ
MB95650L シリーズ
図 21.8-9 FSR2:ERSEND ( フラッシュメモリセクタ消去一時停止中のフラッシュメモリ読出し )
セクタ消去
コマンド
セクタ消去
一時停止
コマンド
リセットコマンド
(読出し)
セクタ消去
一時停止解除
コマンド
FSR:RDY
FSR3:PGMS
FSR3:SERS
影響なし
FSR3:ESPS
FSR3:HANG
FSR2:ERSEND
図 21.8-10 FSR2:PGMEND, FSR2:ERSTO ( セクタ消去再開後のフラッシュメモリセクタ消去失敗時 )
セクタ消去
コマンド
セクタ消去
一時停止
コマンド
書込み
コマンド
セクタ消去
一時停止解除
コマンド
セクタ消去
タイムアウト
リセット
コマンド
FSR:RDY
FSR3:PGMS
FSR3:SERS
FSR3:ESPS
FSR3:HANG
FSR2:PGMEND
FSR2:ERSTO
図 21.8-11 FSR4:CERTO ( チップ消去失敗時 )
チップ消去
コマンド
リセット
コマンド
チップ消去
タイムアウト
FSR:RDY
FSR3:CERS
FSR3:HANG
FSR4:CERTO
438
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 21 章 デュアルオペレーション フラッシュメモリ
21.8 レジスタ
MB95650L シリーズ
図 21.8-12 FSR4:CEREND ( チップ消去中 )
チップ消去
コマンド
チップ消去
終了
FSR:RDY
FSR3:CERS
FSR3:SERS
FSR4:CEREND
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
439
第 21 章 デュアルオペレーション フラッシュメモリ
21.8 レジスタ
MB95650L シリーズ
■ フラッシュメモリセクタ書込み制御レジスタ 0 (SWRE0) フローチャート
FSR:WRE を "1" に設定してフラッシュメモリの書込みを可能にし , フラッシュメモリ
セクタ書込み制御レジスタ 0 (SWRE0) のセクタに対応するビットに "1" または "0" を
設定することによって , それぞれ可能 / 不可を設定できます。
図 21.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
フラッシュメモリ書込み禁止
書込み完了
440
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 21 章 デュアルオペレーション フラッシュメモリ
21.8 レジスタ
■ (FSR:WRE) 設定上の注意事項
フラッシュメモリに書き込む際には , WRE ビットを "1" に設定し , 書込み許可にして
からフラッシュメモリセクタ書込み制御レジスタ0 (SWRE0)の設定を行ってください。
WRE ビットが書込み禁止 ("0") の場合 , フラッシュメモリセクタ書込み制御レジスタ 0
(SWRE0) のセクタに対応するビットを書込み許可 ("1") にしても , セクタへの書込み動
作は行われません。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
441
第 21 章 デュアルオペレーション フラッシュメモリ
21.9 使用上の注意
21.9
MB95650L シリーズ
使用上の注意
デュアルオペレーションフラッシュメモリ使用上の注意を示します。
■ トグルビットフラグ (DQ6) に関する制限事項
デュアルオペレーションフラッシュメモリ ( フラッシュメモリ書込み制御プログラム
をフラッシュメモリ上で実行する ) を用いる場合 , トグルビットフラグ (DQ6) を使用し
て書込み / 消去中の状態を確認することができません。このため , フラッシュメモリへ
の書込み , セクタ消去実行後のフラッシュメモリ内部動作状態は , 図 21.5-1 および図
21.5-2 の例を参考にデータポーリングフラグ (DQ7) を用いて確認してください。
なお , フラッシュ書込み制御プログラムを RAM 上で実行する場合は , 本注意事項は該
当しません。
442
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 22 章
不揮発性レジスタ (NVR)
インタフェース
NVR インタフェースの機能と動作について説明し
ます。
22.1 概要
22.2 構成
22.3 レジスタ
22.4 メイン CR クロックトリミング使用上の注意
22.5 使用上の注意
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
443
第 22 章 不揮発性レジスタ (NVR) インタフェース
22.1 概要
22.1
MB95650L シリーズ
概要
システム情報やオプション設定を格納する不揮発性レジスタ (NVR) 領域は , フラッ
シュメモリにおける予約領域です。リセット後 , NVR フラッシュ領域のデータは読み
出され , NVR I/O 領域のレジスタに格納されます。MB95650L シリーズでは , NVR イン
タフェースを用いて以下のデータを保存します。
• メイン CR クロックのコアーストリミング値 (5 ビット )
• メイン CR クロックのファイントリミング値 (5 ビット )
• ウォッチドッグタイマ選択 ID (16 ビット )
• メイン CR クロックの温度依存調整値 (5 ビット )
■ NVR インタフェースの機能
NVR インタフェースには , 以下のような機能があります。
1. NVRインタフェースはリセット後, NVRフラッシュ領域からすべてのデータを取り
出し , NVR I/O 領域のレジスタに格納します ( 図 22.1-1 と図 22.2-1 を参照 )。
2. NVRインタフェースにより, ユーザは, CRトリミング設定の初期値を確認できます。
3. NVR インタフェースにより , ユーザは , 16 ビットのウォッチドッグタイマ選択 ID
を変更し , ハードウェアウォッチドッグタイマまたはソフトウェアウォッチドッグ
タイマを選択できます (CPU の稼働中は , ウォッチドッグタイマ選択 ID を変更でき
ません )。
図 22.1-1 に , リセット中の NVR の読出しを示します。
図 22.1-1 リセット中の NVR の読出し
0x0FE4
0x0FE5
NVR インタフェース
0x0FE7
(I/O 領域)
0x0FEB
0x0FEC
0bXXX01010
0bXXX00001
0bXXX10101
0b11111111
0b00000000
0xFFBB
0xFFBC
0xFFBD
0xFFBE
0bXXX10101
0bXXX01010
0bXXX00001
0b11111111
0xFFBF
0b00000000
NVR
(フラッシュ領域)
メモリマップ
444
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 22 章 不揮発性レジスタ (NVR) インタフェース
22.2 構成
MB95650L シリーズ
22.2
構成
NVR インタフェースは , 以下のブロックで構成されます。
• メイン CR クロックのトリミング (CRTH と CRTL)
• ウォッチドッグタイマ選択 ID(WDTH と WDTL)
• メイン CR 温度依存調整 (CRTDA)
■ NVR インタフェースのブロックダイヤグラム
図 22.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-00015-2v0-J
WDTL5
WDTL4
WDTL3
WDTL2
WDTL1
WDTL0
FUJITSU SEMICONDUCTOR LIMITED
445
第 22 章 不揮発性レジスタ (NVR) インタフェース
22.3 レジスタ
22.3
MB95650L シリーズ
レジスタ
NVR インタフェースのレジスタについて説明します。
表 22.3-1 NVR インタフェースのレジスタ一覧
レジスタ略称
446
レジスタ名
参照先
CRTH
メイン CR クロックトリミングレジスタ ( 上位 )
22.3.1
CRTL
メイン CR クロックトリミングレジスタ ( 下位 )
22.3.2
CRTDA
メイン CR クロック温度依存調整レジスタ
22.3.3
WDTH
ウォッチドッグタイマ選択 ID レジスタ ( 上位 )
22.3.4
WDTL
ウォッチドッグタイマ選択 ID レジスタ ( 下位 )
22.3.4
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 22 章 不揮発性レジスタ (NVR) インタフェース
22.3 レジスタ
MB95650L シリーズ
22.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 クロックの値の変更に関する注意事項について
は , それぞれ「22.4 メイン CR クロックトリミング使用上の注意」と「22.5 使用上の注意」を参照
してください。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
447
第 22 章 不揮発性レジスタ (NVR) インタフェース
22.3 レジスタ
22.3.2
MB95650L シリーズ
メイン 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 クロックの値の変更に関する注意事項について
は , それぞれ「22.4 メイン CR クロックトリミング使用上の注意」と「22.5 使用上の注意」を参照
してください。
448
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 22 章 不揮発性レジスタ (NVR) インタフェース
22.3 レジスタ
MB95650L シリーズ
22.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 クロックの値の変更に関する注意事項について
は , それぞれ「22.4 メイン CR クロックトリミング使用上の注意」と「22.5 使用上の注意」を参照
してください。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
449
第 22 章 不揮発性レジスタ (NVR) インタフェース
22.3 レジスタ
22.3.4
MB95650L シリーズ
ウォッチドッグタイマ選択 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 の稼働中は , これらのビットを変更できません。
ウォッチドッグタイマ選択については , 表 22.3-2 を参照してください。
NVR 値の書込みに関する注意事項については , 「22.5 使用上の注意」を参照してください。
■ WDTL レジスタの機能
[bit7:0] WDTL[7:0]: ウォッチドッグタイマ選択 ID ( 下位 ) ビット
これらのビットはリセット後 , フラッシュアドレス 0xFFBF (bit7:0) からロードされます。これらの
ビットの初期値は , NVR フラッシュ領域にプリロードされた値により決まります。
CPU の稼働中は , これらのビットを変更できません。
ウォッチドッグタイマ選択については , 表 22.3-2 を参照してください。
NVR 値の書込みに関する注意事項については , 「22.5 使用上の注意」を参照してください。
表 22.3-2 ウォッチドッグタイマ選択 ID レジスタ
WDTH[7:0], WDTL[7:0]
450
説明
0xA596
ハードウェアウォッチドッグタイマは無効になり , ソフトウェアウォッチドッグタ
イマは有効になります。
0xA597
ハードウェアウォッチドッグタイマが選択され , ソフトウェアウォッチドッグタイ
マは無効になります。
スタンバイモード ( ストップモード , スリープモード , タイムベースタイマモードお
よび時計モード ) でハードウェアウォッチドッグタイマは動作を停止します。
上記以外の値
ハードウェアウォッチドッグタイマが選択され , ソフトウェアウォッチドッグタイ
マは無効になります。
スタンバイモード ( ストップモード , スリープモード , タイムベースタイマモードお
よび時計モード ) でハードウェアウォッチドッグタイマは動作を継続します。
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 22 章 不揮発性レジスタ (NVR) インタフェース
22.4 メイン CR クロックトリミング使用上の注意
MB95650L シリーズ
22.4
メイン CR クロックトリミング使用上の注意
メイン CR クロックトリミング使用上の注意を示します。
ハードウェアリセット後 , 10 ビットのメイン CR クロックトリミング値と 5 ビットの
温度依存調節値は , NVR フラッシュ領域から NVR I/O 領域のレジスタへとロードされ
ます。
表 22.4-1 に , メイン CR クロックトリミングの変更幅を示します。
表 22.4-1 メイン CR クロックトリミングの変更幅
機能
コアーストリミング値
CRTH[4:0]
ファイントリミング値
CRTL[4:0]
周波数が最小となる値
0b11111
0b11111
周波数が最大となる値
0b00000
0b00000
変更幅
220 kHz ~ 300 kHz
14 kHz ~ 20 kHz
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
451
第 22 章 不揮発性レジスタ (NVR) インタフェース
22.4 メイン CR クロックトリミング使用上の注意
MB95650L シリーズ
図 22.4-1 に , メイン CR クロック周波数とトリミング変更幅の関係を示します。
図 22.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])
452
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
22.5
使用上の注意
第 22 章 不揮発性レジスタ (NVR) インタフェース
22.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-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
453
第 22 章 不揮発性レジスタ (NVR) インタフェース
22.5 使用上の注意
454
MB95650L シリーズ
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 23 章
システム構成コントローラ
システム構成コントロー ラ ( 本章では「コント
ローラ」とよびます ) の機能 と動作について説明
します。
23.1 概要
23.2 レジスタ
23.3 使用上の注意
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
455
第 23 章 システム構成コントローラ
23.1 概要
23.1
MB95650L シリーズ
概要
コントローラは , システム構成レジスタ (SYSC) とシステム構成レジスタ 2 (SYSC2)
で構成されます。SYSCレジスタは, クロックおよびリセットシステムを構成設定しま
す。SYSC2 レジスタは , 8/16 ビット複合タイマへの外部カウントクロック入力端子選
択および出力端子選択 , P16 端子と P17 端子の機能選択を行います。
■ SYSC の機能
•
PF2/RST 端子の汎用入出力ポート / リセット機能の選択
•
RST 端子のリセット出力の許可 / 禁止
•
PF0/X0 端子および PF1/X1 端子の汎用入出力ポート / 発振機能の選択
•
PG1/X0A 端子および PG2/X1A 端子の汎用入出力ポート / 発振機能の選択
•
PF0/X0 端子および PF1/X1 端子の外部クロック入力機能の選択
•
PG1/X0A 端子および PG2/X1A 端子の外部クロック入力機能の選択
■ SYSC2 の機能
456
•
8/16 ビット複合タイマの外部カウントクロック入力端子の選択
•
8/16 ビット複合タイマのタイマ出力端子の選択
•
P16 端子と P17 端子の機能の選択
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 23 章 システム構成コントローラ
23.2 レジスタ
MB95650L シリーズ
23.2
レジスタ
コントローラのレジスタについて説明します。
表 23.2-1
コントローラのレジスタ一覧
レジスタ略称
レジスタ名
参照先
SYSC
システム構成レジスタ
23.2.1
SYSC2
システム構成レジスタ 2
23.2.2
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
457
第 23 章 システム構成コントローラ
23.2 レジスタ
23.2.1
MB95650L シリーズ
システム構成レジスタ (SYSC)
システム構成レジスタ (SYSC) について説明します。
■ レジスタ構成
bit
7
6
5
4
3
2
1
0
Field
予約
予約
PGSEL1
PGSEL0
PFSEL1
PFSEL0
RSTOE
RSTEN
属性
W
W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
1
1
1
1
1
1
■ レジスタ機能
[bit7:6] 予約ビット
これらのビットは常に "0" に設定してください。
[bit5:4] PGSEL[1:0]: PG1 と PG2 機能選択ビット
これらのビットは PG1 端子と PG2 端子の機能を選択します。
これらのビットに "00" が書き込まれた場合 , PG1 端子と PG2 端子はサブクロック発振端子として機
能します。水晶振動子またはセラミック振動子を使用するとき , これらのビットに "00" を書き込ん
でください。サブクロック発振は , サブクロック発振許可ビット (SYCC2:SOSCE) により許可または
禁止されます。
これらのビットに "10" が書き込まれた場合 , PG1 端子はサブクロック外部入力端子として , PG2 端
子は汎用入出力ポートとして機能します。外部サブクロックを使用するとき, これらのビットに"10"
を書き込んでください。サブクロック発振は , サブクロック発振許可ビット (SYCC2:SOSCE) により
許可または禁止されます。
このビットに "01" または "11" が書き込まれた場合 , PG1 端子と PG2 端子は汎用入出力ポートとし
て機能します。
bit5:4
説明
"00" を書き込んだ場合
PG1 端子と PG2 端子はサブクロック発振端子として機能します。
"01" を書き込んだ場合
PG1 端子と PG2 端子は汎用入出力ポートとして機能します。
"10" を書き込んだ場合
PG1 端子はサブクロック外部入力端子として , PG2 端子は汎用入出力ポートとし
て機能します。
"11" を書き込んだ場合
PG1 端子と PG2 端子は汎用入出力ポートとして機能します。
458
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
MB95650L シリーズ
第 23 章 システム構成コントローラ
23.2 レジスタ
[bit3:2] PFSEL[1:0]: PF0 と PF1 機能選択ビット
これらのビットは PF0 端子と PF1 端子の機能を選択します。
これらのビットに "00" が書き込まれた場合 , PF0 端子と PF1 端子はメインクロック発振端子として
機能します。水晶振動子またはセラミック振動子を使用するとき , これらのビットに "00" を書き込
んでください。メインクロック発振は , メインクロック発振許可ビット (SYCC2:MOSCE) により許
可または禁止されます。
これらのビットに "10" が書き込まれた場合 , PF0 端子はメインクロック外部入力端子として , PF1 端
子は汎用入出力ポートとして機能します。外部メインクロックを使用するとき , これらのビットに
"10" を書き込んでください。メインクロック発振は , メインクロック発振許可ビット (SYCC2:
MOSCE) により許可または禁止されます。
このビットに "01" または "11" が書き込まれた場合 , PF0 端子と PF1 端子は汎用入出力ポートとして
機能します。
bit3:2
説明
"00" を書き込んだ場合
PF0 端子と PF1 端子はメインクロック発振端子として機能します。
"01" を書き込んだ場合
PF0 端子と PF1 端子は汎用入出力ポートとして機能します。
"10" を書き込んだ場合
PF0 端子はメインクロック外部入力端子として , PF1 端子は汎用入出力ポートと
して機能します。
"11" を書き込んだ場合
PF0 端子と PF1 端子は汎用入出力ポートとして機能します。
[bit1] RSTOE: リセット出力許可 / 禁止ビット
このビットは , リセット入力機能が許可されている場合に , PF2 /RST 端子のリセット出力機能を許
可または禁止します。リセット入力機能が禁止されている (SYSC:RSTEN = 0) 場合は , このビットの
設定にかかわらず , リセット出力機能は禁止されます。
リセット入力機能の選択について , PF2 機能選択ビット (SYSC:RSTEN) を参照してください。
bit1
説明
"0" を書き込んだ場合
PF2/RST 端子のリセット出力機能を禁止します。
"1" を書き込んだ場合
PF2/RST 端子のリセット出力機能を許可します。
[bit0] RSTEN: PF2 機能選択ビット
このビットは PF2/RST 端子のリセット入力機能を許可または禁止します。MB95F652L/F653L/
F654L/F656L では , このビットの設定に関係なく , リセット入力機能は常に許可されます。
このビットに "0" が書き込まれた場合 , PF2/RST 端子のリセット入力機能は禁止され , 汎用入出力
ポート機能が許可されます。
このビットに "1" が書き込まれた場合 , PF2/RST 端子のリセット入力機能は許可され , 汎用入出力
ポート機能が禁止されます。
このビットを変更する前に , PDRF レジスタの bit2 を "1" に設定してください。
bit0
説明
"0" を書き込んだ場合
PF2/RST 端子の汎用入出力ポート機能を選択します。
"1" を書き込んだ場合
PF2/RST 端子のリセット入力機能を選択します。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
459
第 23 章 システム構成コントローラ
23.2 レジスタ
MB95650L シリーズ
<注意事項>
リセット後にリセット入出力機能を維持するために , SYSC:RSTEN および SYSC:RSTOE
は , 電源投入後に "1" に初期化されます。そのほかのリセットでは , これらのビットは初
期化されません。
システムにおいてリセット入出力機能を使用する必要がある場合は , 安定した動作を維持
するために , リセット後の初期化プログラムルーチンにおいて SYSC:RSTEN を "1" に初
期化することを強く推奨します。リセット入出力機能が許可されている場合には , ウォッ
チドッグリセットを含むすべての種類のリセットを使用できます。
460
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
第 23 章 システム構成コントローラ
23.2 レジスタ
MB95650L シリーズ
23.2.2
システム構成レジスタ 2 (SYSC2)
システム構成レジスタ 2 (SYSC2) について説明します。
■ レジスタ構成
bit
7
6
5
4
3
2
1
0
Field
—
—
—
—
—
EC0SL
TO10SL
I2C_SEL
属性
—
—
—
—
—
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
■ レジスタ機能
[bit7:3] 未定義ビット
読出し値は常に "0" です。これらのビットに値を書き込んでも動作に影響はありません。
[bit2] EC0SL: EC0 クロック選択ビット
このビットは 8/16 ビット複合タイマの外部カウントクロック入力端子 (EC0) を選択します。
EC0 端子のクロック入力機能を使用するには , 8/16 ビット複合タイマの外部カウントクロック入力
機能を許可してください。詳細は , 「第 11 章 8/16 ビット複合タイマ」を参照してください。
説明
bit2
"0" を書き込んだ場合
P12/EC0 端子を外部カウントクロック入力端子として選択します。
"1" を書き込んだ場合
P04/EC0 端子を外部カウントクロック入力端子として選択します。
[bit1] TO10SL: TO10 選択ビット
このビットは 8/16 ビット複合タイマの出力端子 (TO10) を P07/INT07/TO10 端子と P62/TO10/UCK0
端子から選択します。
8/16 ビット複合タイマ出力が許可 (T10CR1:OE = 1) されているときには , P07/INT07/TO10 端子また
は P62/TO10/UCK0 端子に対応するポート方向レジスタ (DDR) の設定にかかわらず , P07/INT07/TO10
端子または P62/TO10/UCK0 端子は自動的に 8/16 ビット複合タイマの出力端子として機能します。
詳細は , 「第 11 章 8/16 ビット複合タイマ」を参照してください。
説明
bit1
"0" を書き込んだ場合
P62/TO10/UCK0 端子を 8/16 ビット複合タイマの出力端子として選択します。
"1" を書き込んだ場合
P07/INT07/TO10 端子を 8/16 ビット複合タイマの出力端子として選択します。
[bit0] I2C_SEL: P16 と P17 機能選択ビット
このビットは P16 端子と P17 端子の機能を選択します。
bit0
説明
"0" を書き込んだ場合
P16 端子と P17 端子は汎用入出力ポートまたは UART/SIO 端子として機能しま
す。
"1" を書き込んだ場合
P16 端子と P17 端子は I2C バスインタフェース端子として機能します。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
461
第 23 章 システム構成コントローラ
23.3 使用上の注意
23.3
MB95650L シリーズ
使用上の注意
コントローラの使用上の注意を示します。
■ PFSEL[1:0] と PGSEL[1:0] の設定方法
X0 端子と X1 端子を水晶振動子またはセラミック振動子に接続する場合 , PFSEL[1:0]
ビットに "00" を書き込んでください。PFSEL[1:0] ビットに "00" 以外の値を書き込んだ
場合 , クロックが発振せず , デバイスはメインクロックモードに遷移しません。X0A 端
子と X1A 端子を水晶振動子またはセラミック振動子に接続する場合 , PGSEL[1:0] ビッ
トに "00" を書き込んでください。PGSEL[1:0] ビットに "00" 以外の値を書き込んだ場
合 , クロックが発振せず , デバイスはサブクロックモードに遷移しません。
X0 端子を外部クロックに接続する場合 , PFSEL[1:0] ビットに "10" を書き込んでくださ
い。PFSEL[1:0] ビットに "00" 以外の値を書き込んだ場合 , 外部クロックがデバイスに供
給されず , デバイスはメインクロックモードに遷移しません。
X0A 端子を外部クロック
に接続する場合 , PGSEL[1:0] ビットに "10" を書き込んでください。PGSEL[1:0] ビット
に "00" 以外の値を書き込んだ場合 , 外部クロックがデバイスに供給されず , デバイス
はサブクロックモードに遷移しません。
また , PFSEL[1:0] ビットと PGSEL[1:0] ビットを設定する前に , メインクロックとサブ
クロックがそれぞれ停止していることを確認してください。
図 23.3-1 外部クロック接続とレジスタの設定
水晶振動子またはセラミック振動子を
使用する場合
X0/X0A
X1/X1A
外部クロックを使用する場合
X0/X0A
FCH, FCL
FCH, FCL
PFSEL[1:0] = 00
PGSEL[1:0] = 00
PFSEL[1:0] = 10
PGSEL[1:0] = 10
■ サブクロック発振安定待ち時間
MB95650L シリーズは , サブクロック発振の消費電流を低減させるため , 低消費電流サ
ブクロック発振セルを搭載しています。少ない電流でセルを発振させるために , 発振開
始時にセル発振が不安定となる可能性があります。
サブクロックに水晶振動子またはセラミック振動子を使用する場合 , サブクロック発
振安定待ち時間を 7.75 ms 以上 (WATR:SWT[3:0] = 0b1000 以上 , サブクロック (FCL) =
32. 768 kHz) に設定してください。
外部クロックを使用する場合は , 低消費電流サブクロック発振セルが使用されないた
めに , サブクロック発振安定待ち時間は任意の値に設定できます。
462
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
付録
命令概要について説明します。
MN702-00015-2v0-J
A.1
アドレッシング
A.2
特殊な命令について
A.3
ビット操作命令 (SETB, CLRB)
A.4
F2MC-8FX 命令一覧表
A.5
命令マップ
FUJITSU SEMICONDUCTOR LIMITED
463
付録
付録 A 命令概要
付録 A
MB95650L シリーズ
命令概要
F2MC-8FX に使用している命令について説明します。
■ F2MC-8FX の命令の概要
F2MC-8FX には , 140 種類の 1 バイト命令 ( マップとしては 256 バイト ) があり , 命令
とそれに続くオペランドによって命令コードを構成します。
図 A-1 に命令コードと命令マップの対応について示します。
図 A-1 命令コードと命令マップの対応
命令によって0~2バイトを与える
命令コード 1バイト
命令
オペランド
上位4ビット
オペランド
[命令マップ]
下位4ビット
• 命令は転送系 , 演算系 , 分岐系 , そのほかの 4 つに分類されます。
• アドレッシングには各種の方法があり , 命令の選択とオペランド指定により 10 種類
のアドレッシングを選択できます。
• ビット操作命令を備えており , リードモディファイライト動作が可能です。
• 特殊な動作を指示する命令があります。
管理番号 : CM26-00118-1
464
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
付録
付録 A 命令概要
MB95650L シリーズ
■ 命令コードの記号の説明
表 A-1 に , この付録 A の命令コードの説明で使用している記号の意味を示します。
表 A-1
命令コードの記号の説明
表 記
意 味
dir
ダイレクトアドレス (8 ビット長 )
off
オフセット (8 ビット長 )
ext
エクステンドアドレス (16 ビット長 )
#vct
ベクタテーブル番号 (3 ビット長 )
#d8
イミディエートデータ (8 ビット長 )
#d16
イミディエートデータ (16 ビット長 )
dir:b
ビットダイレクトアドレス (8 ビット長 :3 ビット長 )
rel
分岐相対アドレス (8 ビット長 )
@
レジスタ間接 ( 例 :@A,@IX,@EP)
A
アキュムレータ ( 使用する命令によって 8 ビット長か 16 ビット長かが決まる )
AH
アキュムレータの上位 8 ビット (8 ビット長 )
AL
アキュムレータの下位 8 ビット (8 ビット長 )
T
テンポラリアキュムレータ ( 使用する命令によって 8 ビット長か 16 ビット長かが決まる )
TH
テンポラリアキュムレータの上位 8 ビット (8 ビット長 )
TL
テンポラリアキュムレータの下位 8 ビット (8 ビット長 )
IX
インデックスレジスタ (16 ビット長 )
EP
エクストラポインタ (16 ビット長 )
PC
プログラムカウンタ (16 ビット長 )
SP
スタックポインタ (16 ビット長 )
PS
プログラムステータス (16 ビット長 )
dr
アキュムレータまたはインデックスレジスタのいずれか (16 ビット長 )
CCR
コンディションコードレジスタ (8 ビット長 )
RP
レジスタバンクポインタ (5 ビット長 )
DP
ダイレクトバンクポインタ (3 ビット長 )
Ri
汎用レジスタ (8 ビット長 , i=0 ~ 7)
x
x が即値データそのものであることを示す
( 使用する命令によって 8 ビット長か 16 ビット長かが決まる )
(x)
x の中身がアクセスの対象であることを示す
( 使用する命令によって 8 ビット長か 16 ビット長かが決まる )
((x))
x の中身が示すアドレスがアクセスの対象であることを示す
( 使用する命令によって 8 ビット長か 16 ビット長かが決まる )
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
465
付録
付録 A 命令概要
MB95650L シリーズ
■ 命令一覧表の項目の説明
表 A-2
命令一覧表の項目の説明
項目
466
説明
MNEMONIC
命令のアセンブル記述を表します。
~
命令のサイクル数を示します。1 命令サイクルは 1 マシンサイク
ルです。
( 注意事項 )
命令のサイクル数は , 直前の命令によって 1 サイクル延期される
場合があります。また , I/O 領域へのアクセスでは , 命令のサイク
ル数が延長される場合があります。
#
命令のバイト数を示します。
動作
命令の動作を示します。
TL, TH, AH
TL, TH, AH の各命令実行時の内容の変化 (A から T への自動転送 )
を示します。欄内の記号は以下のものを , それぞれ示します。
・- は変化なし
・dH は動作に記述したデータの上位 8 ビット
・AL と AH はその命令実行直前の AL と AH の内容になること
・00 は 00 になること
N, Z, V, C
それぞれに対応するフラグが変化する命令を示します。欄内の記
号は以下のものを , それぞれ表します。
・-:変化しないこと
・+:変化すること
・R:"0" になること
・S:"1" になること
OP CODE
命令のコードを示します。該当命令が複数のコードを占める場合
は , 次のような記載規約に則っています。
【例】 48 ~ 4F ← これは 48, 49, …… 4F を示します。
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
付録
付録 A 命令概要
MB95650L シリーズ
A.1 アドレッシング
F2MC-8FX には , 次の 10 種類のアドレッシングがあります。
• ダイレクトアドレッシング
• エクステンドアドレッシング
• ビットダイレクトアドレッシング
• インデックスアドレッシング
• ポインタアドレッシング
• 汎用レジスタアドレッシング
• イミディエートアドレッシング
• ベクタアドレッシング
• 相対アドレッシング
• インヘレントアドレッシング
■ アドレッシングの説明
● ダイレクトアドレッシング
命令表中で "dir" と示したアドレッシングで , ダイレクト領域 "0x0000" ~ "0x047F" を
アクセスする際に使用します。このアドレッシングでは , オペランドアドレスが
"0x00" ~ "0x7F" の場合 ,"0x0000" ~ "0x007F" にアクセスします。また , オペランドア
ドレスが "0x80" ~ "0xFF" の場合 , ダイレクトバンクポインタ DP の設定により
"0x0080" ~ "0x047F" にアクセスがマッピングできます。図 A.1-1 に例を示します。
図 A.1-1 ダイレクトアドレッシング例
MOV 92H, A
DP 0b001
0x112
A
0x45
0x45
● エクステンドアドレッシング
命令表の中で "ext" と示したアドレッシングで , 64K バイト全体の領域をアクセスする
ときに使用します。このアドレッシングでは , 第 1 オペランドでアドレスの上位 1 バイ
トを , 第 2 オペランドでアドレスの下位 1 バイトを指定します。
図 A.1-2 に例を示します。
図 A.1-2 エクステンドアドレッシング例
MOVW A, 1 2 3 4H
MN702-00015-2v0-J
0x1234
0x56
0x1235
0x78
A
0x5678
FUJITSU SEMICONDUCTOR LIMITED
467
付録
付録 A 命令概要
MB95650L シリーズ
● ビットダイレクトアドレッシング
命令表中で "dir:b" と示したアドレッシングで , ダイレクト領域 "0x0000" ~ "0x047F" を
ビット単位でアクセスする際に使用します。このアドレッシングでは , オペランドアド
レスが "0x00" ~ "0x7F" の場合 , "0x0000" ~ "0x007F" にアクセスします。また , オペラ
ンドアドレスが "0x80" ~ "0xFF" の場合 , ダイレクトバンクポインタ DP の設定により
"0x0080" ~ "0x047F" にアクセスがマッピングできます。指定したアドレス内のビット
の位置は命令コードの下位 3 ビットの値で指定します。
図 A.1-3 に例を示します。
図 A.1-3 ビットダイレクトアドレッシング例
SETB 34H : 2
DP 0bXXX
0x0034
7 6 5 4 3 2 1 0
0bXXXXX1XX
● インデックスアドレッシング
命令表の中で "@IX + off" と示したアドレッシングで , 64K バイト全体の領域をアクセ
スするときに使用します。このアドレッシングでは , 第 1 オペランドの内容を符号拡張
した上で IX( インデックスレジスタ ) に加算してその結果をアドレスとします。
図 A.1-4
に例を示します。
図 A.1-4 インデックスアドレッシング例
MOVW A, @IX+ 5AH
IX
0x27A5
0x27FF
0x12
0x2800
0x34
A
0x1234
● ポインタアドレッシング
命令表の中で "@EP" と示したアドレッシングで , 64K バイト全体の領域をアクセスす
るときに使用します。このアドレッシングでは , EP( エクストラポインタ ) の内容をア
ドレスとします。図 A.1-5 に例を示します。
図 A.1-5 ポインタアドレッシング例
MOVW A, @EP
EP
0x27A5
0x27A5
0x12
0x27A6
0x34
A
0x1234
● 汎用レジスタアドレッシング
命令表の中で "Ri" と示したアドレッシングで , 汎用レジスタ領域のレジスタバンクを
アクセスするときに使用します。このアドレッシングでは , アドレスの上位 1 バイトは
"01" に固定し , 下位 1 バイトを RP ( レジスタバンクポインタ ) の内容とオペコードの
下位 3 ビットから作成し , このアドレスに対してアクセスを行います。図 A.1-6 に例を
示します。
468
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
付録
付録 A 命令概要
MB95650L シリーズ
図 A.1-6 汎用レジスタアドレッシング例
MOV A, R 6
RP
0b01010
0x0156 0xAB
A
0xAB
● イミディエートアドレッシング
命令表の中で "#d8" と示したアドレッシングで , 即値データを必要とするときに使用し
ます。このアドレッシングでは , オペランドがそのまま即値データになります。バイト /
ワードの指定はオペコードにより決まります。図 A.1-7 に例を示します。
図 A.1-7 イミディエートアドレッシング例
MOV A, #56H
A
0x56
● ベクタアドレッシング
命令表の中で "#vct" と示したアドレッシングで , テーブル内に登録したサブルーチン
アドレスに分岐するときに使用します。このアドレッシングでは , オペコード内に
"#vct" の情報を含み , 表 A.1-1 に示す対応でテーブルのアドレスを作成します。
表 A.1-1 "#vct" に対応したベクタテーブルアドレス
#vct
ベクタテーブルアドレス ( ジャンプ先上位アドレス : 下位アドレス )
0
0xFFC0 : 0xFFC1
1
0xFFC2 : 0xFFC3
2
0xFFC4 : 0xFFC5
3
0xFFC6 : 0xFFC7
4
0xFFC8 : 0xFFC9
5
0xFFCA : 0xFFCB
6
0xFFCC : 0xFFCD
7
0xFFCE : 0xFFCF
図 A.1-8 に例を示します。
図 A.1-8 ベクタアドレッシング例
CALLV #5
(変換)
MN702-00015-2v0-J
0xFFCA
0xFE
0xFFCB
0xDC
PC
0xFEDC
FUJITSU SEMICONDUCTOR LIMITED
469
付録
付録 A 命令概要
MB95650L シリーズ
● 相対アドレッシング
命令表の中で "rel" と示したアドレッシングで , PC( プログラムカウンタ ) の前後 128 バ
イトの領域に分岐するときに使用します。このアドレッシングでは , オペランドの内容
を PC に符号付きで加算し , その結果を PC に格納します。図 A.1-9 に例を示します。
図 A.1-9 相対アドレッシング例
BNE FEH
旧PC
0x9ABC + 0xFFFE
0x9ABC
新PC
0x9ABA
この例では , BNE のオペコードが格納されているアドレスへジャンプするため , 結果と
して無限ループになります。
● インヘレントアドレッシング
命令表の中でオペランドを持たないアドレッシングで,オペコードで決まる動作を行う
ときに使用します。このアドレッシングでは , 動作が命令ごとに異なります。
図 A.1-10 に例を示します。
図 A.1-10 インヘレントアドレッシング例
NOP
旧PC
470
0x9ABC
新PC
FUJITSU SEMICONDUCTOR LIMITED
0x9ABD
MN702-00015-2v0-J
付録
付録 A 命令概要
MB95650L シリーズ
A.2 特殊な命令について
アドレッシング以外の特殊な命令について説明します。
■ 特殊な命令について
● JMP @A
この命令は , A( アキュムレータ ) の内容をアドレスとして PC( プログラムカウンタ ) へ
分岐するというものです。N 個のジャンプ先をテーブル上に並べておき , その内容のい
ずれか 1 つを選択して A に転送します。この命令を実行することによって N 分岐処理
が行えます。
図 A.2-1 に概要図を示します。
図 A.2-1 JMP @A
(実行前)
A
(実行後)
0x1234
A
0x1234
旧PC 0xXXXX
新PC
0x1234
● MOVW A,PC
この命令は ,"JMP @A" と反対の動作を行うものです。すなわち , PC の内容を A に格納
するものです。メインルーチン内でこの命令を実行しておき , 特定のサブルーチンを呼
び出すような設定において , そのサブルーチン内で A の内容が決められた値になって
いることを確認できます。予想できない部分からの分岐でないことが識別でき , 暴走判
断に使用できます。
図 A.2-2 に概要図を示します。
図 A.2-2 MOVW A,PC
(実行前)
A 0xXXXX
旧PC
0x1233
(実行後)
A
0x1234
新PC
0x1234
この命令を実行したときの A の内容は , この命令のオペコードが格納されているアド
レスではなく , 次の命令が格納されているアドレスと同じ値になります。したがって ,
図 A.2-2 では A に格納した値 "0x1234" は「MOVW A,PC」の次のオペコードが格納
されているアドレスに一致します。
● MULU A
この命令は , AL( アキュムレータの下位 8 ビット ) と TL( テンポラリアキュムレータの
下位 8 ビット ) を符号なしで掛け合わせ , 16 ビット長の結果を A に格納します。T( テ
ンポラリアキュムレータ ) の内容は変化しません。演算に関して , 実行前の AH( アキュ
ムレータの 8 上位ビット ), TH( テンポラリアキュムレータの上位 8 ビット ) の内容は
使用していません。フラグは変化しないため , 乗算の結果によって分岐するときには注
意してください。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
471
付録
付録 A 命令概要
MB95650L シリーズ
図 A.2-3 に概要図を示します。
図 A.2-3 MULU A
(実行前)
(実行後)
A
0x5678
A
0x1860
T
0x1234
T
0x1234
● DIVU A
この命令は , T の 16 ビットを A の 16 ビットで符号なしデータとして割り , 結果を 16
ビットとして A に , 余りも 16 ビットとして T に格納するものです。実行前の A の値
が "0" の場合 , ゼロ除算が実行されたことを示すために Z フラグが "1" になります。そ
のほかのフラグは変化しないため除算の結果によって分岐するときには注意してくだ
さい。
図 A.2-4 に概要図を示します。
図 A.2-4 DIVU A
(実行前)
(実行後)
A
0x1234
A
0x0004
T
0x5678
T
0x0DA8
● XCHW A,PC
この命令は , A と PC の内容を交換するもので , 結果として実行前の A の内容が示す番
地へ分岐します。実行後の A は ,「XCHW A,PC」のオペコードが格納されているア
ドレスの次のアドレスの値になります。この命令は , 特にメインルーチンでテーブルを
指定し , サブルーチンで使用するときに有効です。
図 A.2-5 に概要図を示します。
図 A.2-5 XCHW A,PC
(実行前)
(実行後)
A
0x5678
A
0x1235
PC
0x1234
PC
0x5678
この命令を実行したときの A の内容は , この命令のオペコードが格納されているアド
レスではなく , 次の命令が格納されているアドレスと同じ値になります。したがって ,
図 A.2-5 では A に格納した値 "0x1235" は「XCHW A,PC」の次のオペコードが格納さ
れているアドレスに一致します。そのため, "0x1234"ではなく"0x1235"となっています。
472
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
付録
付録 A 命令概要
MB95650L シリーズ
図 A.2-6 にアセンブラ表記例を示します。
図 A.2-6 「XCHW A,PC」の使用例
(メインルーチン)
MOVW
XCHW
DB
MOVW
(サブルーチン)
A, #PUTSUB
A, PC
PUTSUB
'PUT OUT DATA', EOL
A, 1234H
PTS1
XCHW A, EP
PUSHW A
MOV A, @EP
INCW EP
MOV IO, A
ここでテーブル
データを出力
CMP A, #EOL
BNE PTS1
POPW A
XCHW A, EP
JMP @A
● CALLV #vct
テーブル内に登録したサブルーチンアドレスに分岐するときに使用します。リターン
アドレス (PC の内容 ) を SP( スタックポインタ ) が示すアドレスへ退避した後 , ベクタ
アドレッシングによってベクタテーブルに記載したアドレスへ分岐します。1 バイトの
命令のため , 頻繁に使用するサブルーチンに対してこの命令を使用することによって ,
プログラム全体のサイズを縮小できます。
図 A.2-7 に概要図を示します。
図 A.2-7 CALLV #3 の実行例
(実行前)
PC
0x5678
SP
0x1234
(実行後)
(−2)
PC
0xFEDC
SP
0x1232
0x1232
0xXX
0x1232
0x56
0x1233
0xXX
0x1233
0x79
0xFFC6
0xFE
0xFFC6
0xFE
0xFFC7
0xDC
0xFFC7
0xDC
この命令を実行したときにスタック領域に退避される PC の内容は , この命令のオペ
コードが格納されているアドレスではなく,次の命令が格納されているアドレスと同じ
値になります。したがって , 図 A.2-7 ではスタック (0x1232, 0x1233) に退避された値
"0x5679" は「CALLV #vct」の次のオペコードが格納されているアドレス ( リターンア
ドレス ) に一致します。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
473
付録
付録 A 命令概要
MB95650L シリーズ
表 A.2-1 ベクタテーブル
べクタ用途
( コール命令 )
474
ベクタテーブルのアドレス
上位
下位
CALLV #7
0xFFCE
0xFFCF
CALLV #6
0xFFCC
0xFFCD
CALLV #5
0xFFCA
0xFFCB
CALLV #4
0xFFC8
0xFFC9
CALLV #3
0xFFC6
0xFFC7
CALLV #2
0xFFC4
0xFFC5
CALLV #1
0xFFC2
0xFFC3
CALLV #0
0xFFC0
0xFFC1
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
付録
付録 A 命令概要
MB95650L シリーズ
A.3 ビット操作命令 (SETB, CLRB)
周辺機能のレジスタには , ビット操作命令に対して , 通常の読出し動作と異なる動作
をするビットがあります。
■ リードモディファイライト動作
ビット操作命令では , レジスタまたは RAM の指定ビットのみを "1" に設定 (SETB) し
たり ,"0" にクリア (CLRB) したりできます。しかし , CPU は 8 ビット単位でデータを
取り扱うため , 実際の動作としては , 8 ビットのデータを読み出し , 指定されたビット
を変更し , 元のアドレスに書き戻す , という一連の動作 ( リードモディファイライト動
作 ) を行います。
表 A.3-1 にビット操作命令時のバス動作を示します。
表 A.3-1 ビット操作命令時のバス動作
CODE
MNEMONIC
~
サイクル
アドレスバス
データバス
RD
WR
RMW
A0 ~ A7
CLRB dir:b
4
A8 ~ AF
SETB dir:b
1
2
3
4
N+2
dir アドレス
dir アドレス
N+3
次の命令
データ
データ
次の次の命令
1
1
0
1
0
0
1
0
1
1
0
0
■ ビット操作命令実行時の読出し先
一部の I/O ポートや割込み要求フラグビットでは , 通常読出しによる読出し先と , リー
ドモディファイライト時の読出し先が異なります。
● I/O ポート ( ビット操作時 )
I/O ポートの中には , 通常読出し時は I/O 端子の値が読み出され , ビット操作時はポー
トデータレジスタの値が読み出されるものがあります。これは , 端子の入出力方向や端
子の状態にかかわらず , ポートデータレジスタの , ほかのビットの不用意な変化を防止
するためです。
● 割込み要求フラグビット ( ビット操作時 )
割込み要求フラグビットは,通常読出し時は割込み要求の確認用フラグビットとして機
能しますが , ビット操作時は常に "1" が読み出されます。これは , ほかのビットをビッ
ト操作したときに , 割込み要求フラグビットへの "0" の書込みによって , フラグが不用
意にクリアされるのを防止するためです。
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
475
付録
付録 A 命令概要
A.4
MB95650L シリーズ
F2MC-8FX 命令一覧表
表 A.4-1 ~表 A.4-4 に , F2MC-8FX で使用している命令の一覧を示します。
■ 転送系命令
表 A.4-1 転送系の命令一覧 (1 / 2)
№
MNEMONIC
~
#
2 (dir) ← (A)
2 ( (IX) + off) ← (A)
3 (ext) ← (A)
- - - - - - -
45
- - - - - - -
46
- - - - - - -
61
1 ( (EP) ) ← (A)
1 (Ri) ← (A)
- - - - - - -
47
- - - - - - -
48 ~ 4F
2 (A) ← d8
2 (A) ← (dir)
2 (A) ← ( (IX) + off)
04
3 (A) ← (ext)
1 (A) ← ( (A) )
AL - - + + - -
AL - - + + - -
AL - - + + - -
AL - - + + - -
AL - - + + - -
1 (A) ← ( (EP) )
1 (A) ← (Ri)
AL - - + + - -
AL - - + + - -
1 MOV
dir, A
3
2 MOV
3
3 MOV
@IX + off, A
ext, A
4 MOV
@EP, A
2
5 MOV
Ri, A
2
4
動 作
TL TH AH N
Z
V
C OPCODE
6 MOV
A, #d8
2
7 MOV
A, dir
3
8 MOV
3
9 MOV
A, @IX + off
A, ext
10 MOV
A, @A
2
11 MOV
A, @EP
2
12 MOV
A, Ri
2
13 MOV
dir, #d8
4
- - - - - - -
14 MOV
4
- - - - - - -
86
15 MOV
@IX + off, #d8
@EP, #d8
3 (dir) ← d8
3 ( (IX) + off) ← d8
08 ~ 0F
85
3
2 ( (EP) ) ← d8
- - - - - - -
87
16 MOV
Ri, #d8
3
2 (Ri) ← d8
2 (dir) ← (AH) , (dir + 1) ← (AL)
2 ( (IX) + off) ← (AH) , ( (IX) + off + 1) ← (AL)
- - - - - - -
- - - - - - -
88 ~ 8F
D5
- - - - - - -
D6
4
17 MOVW dir, A
4
18 MOVW @IX + off, A
19 MOVW ext, A
4
20 MOVW @EP, A
3
5
21 MOVW EP, A
1
22 MOVW A, #d16
3
23 MOVW A, dir
4
24 MOVW A, @IX + off
25 MOVW A, ext
4
26 MOVW A, @A
3
27 MOVW A, @EP
3
5
28 MOVW A, EP
1
29 MOVW EP, #d16
3
30 MOVW IX, A
1
31 MOVW A, IX
1
32 MOVW SP, A
1
33 MOVW A, SP
1
34 MOV
@A, T
2
35 MOVW @A, T
3
36 MOVW IX, #d16
3
37 MOVW A, PS
1
38 MOVW PS, A
1
06
60
92
07
3 (ext) ← (AH) , (ext + 1) ← (AL)
1 ( (EP) ) ← (AH) , ( (EP) + 1) ← (AL)
- - - - - - -
D4
- - - - - - -
D7
1 (EP) ← (A)
3 (A) ← d16
2 (AH) ← (dir) , (AL) ← (dir + 1)
- - - - - - -
AL AH dH + + - -
AL AH dH + + - -
AL AH dH + + - -
AL AH dH + + - -
2 (AH) ← ( (IX) + off) , (AL) ← ( (IX) + off + 1)
3 (AH) ← (ext) , (AL) ← (ext + 1)
1 (AH) ← ( (A) ) , (AL) ← ( (A) + 1)
1 (AH) ← ( (EP) ) , (AL) ← ( (EP) + 1)
1 (A) ← (EP)
3 (EP) ← d16
1 (IX) ← (A)
1 (A) ← (IX)
1 (SP) ← (A)
1 (A) ← (SP) E3
E4
C5
C6
C4
AL AH dH + + - -
AL AH dH + + - -
- - dH - - - -
C7
- - - - - - -
E7
- - - - - - -
E2
93
F3
- - dH - - - -
F2
- - - - - - -
- - dH - - - -
E1
1 ( (A) ) ← (T)
1 ( (A) ) ← (TH) , ( (A) + 1) ← (TL)
- - - - - - -
82
- - - - - - -
83
3 (IX) ← d16
1 (A) ← (PS)
- - - - - - -
- - dH - - - -
- - - + + + +
E6
- - - - - - -
- - AL - - - -
E5
39 MOVW SP, #d16
3
1 (PS) ← (A)
3 (SP) ← d16
40 SWAP
1
1 (AH) ←→ (AL)
476
05
FUJITSU SEMICONDUCTOR LIMITED
F1
70
71
10
MN702-00015-2v0-J
付録
付録 A 命令概要
MB95650L シリーズ
表 A.4-1 転送系の命令一覧 (2 / 2)
№
MNEMONIC
~
#
41 SETB
dir:b
4
42 CLRB
dir:b
A, T
4
2 (dir) :b ← 1
2 (dir) :b ← 0
動 作
TL TH AH N
Z
V
- - - - - - -
A8 ~ AF
A0 ~ A7
42
44 XCHW A, T
1
1 (AL) ←→ (TL)
1 (A) ←→ (T)
45 XCHW A, EP
1
1 (A) ←→ (EP)
- - - - - -
AL - - - - -
AL AH dH - - -
- - dH - - -
46 XCHW A, IX
1
47 XCHW A, SP
1
48 MOVW A, PC
2
1 (A) ←→ (IX)
1 (A) ←→ (SP)
1 (A) ← (PC)
43 XCH
1
C OPCODE
-
-
-
43
-
F7
- - dH - - - -
- - dH - - - -
- - dH - - - -
F6
F5
F0
<注意事項>
A へのバイト転送動作時の T への自動転送は , TL ← AL となります。
複数オペランド命令にあるオペランドは , MNEMONIC で表示された順に格納されるもの
とします。
■ 演算系命令
表 A.4-2 演算系の命令一覧 (1 / 2)
№
~
#
1 ADDC
A, Ri
2
- - - + + + +
2 ADDC
A, #d8
2
1 (A) ← (A) + (Ri) + C
2 (A) ← (A) + d8 + C
- - - + + + +
28 ~ 2F
24
3 ADDC
A, dir
3
25
A, @IX + off
A, @EP
3
2 (A) ← (A) + (dir) + C
2 (A) ← (A) + ( (IX) + off) + C
- - - + + + +
4 ADDC
- - - + + + +
26
2
1 (A) ← (A) + ( (EP) ) + C
- - - + + + +
27
6 ADDCW A
1
23
1
1 (A) ← (A) + (T) + C
1 (AL) ← (AL) + (TL) + C
- - dH + + + +
7 ADDC
- - - + + + +
22
- - - + + + +
- - - + + + +
38 ~ 3F
34
- - - + + + +
35
- - - + + + +
36
- - - + + + +
- - dH + + + +
37
MNEMONIC
5 ADDC
A
8 SUBC
A, Ri
2
9 SUBC
A, #d8
2
10 SUBC
A, dir
3
11 SUBC
A, @IX + off
A, @EP
3
12 SUBC
2
動 作
1 (A) ← (A) - (Ri) - C
2 (A) ← (A) - d8 - C
2 (A) ← (A) - (dir) - C
2 (A) ← (A) - ( (IX) + off) - C
1 (A) ← (A) - ( (EP) ) - C
13 SUBCW A
1
14 SUBC
A
1
1 (A) ← (T) - (A) - C
1 (AL) ← (TL) - (AL) - C
15 INC
Ri
3
16 INCW
EP
1
17 INCW
IX
1
18 INCW
A
1
19 DEC
Ri
3
20 DECW
EP
1
21 DECW
IX
1
22 DECW
A
1
23 MULU
A
8
24 DIVU
A
17
25 ANDW A
1
MN702-00015-2v0-J
TL TH AH N
Z
V
C OPCODE
33
- - - + + + +
32
1 (Ri) ← (Ri) + 1
- - - + + + -
C8 ~ CF
1 (EP) ← (EP) + 1
1 (IX) ← (IX) + 1
1 (A) ← (A) + 1
- - - - - - -
C3
- - - - - - -
- - dH + + - -
C2
1 (Ri) ← (Ri) - 1
1 (EP) ← (EP) - 1
- - - + + + -
D8 ~ DF
D3
1 (IX) ← (IX) - 1
1 (A) ← (A) - 1
1 (A) ← (AL) × (TL)
1 (A) ← (T) / (A) , MOD → (T)
1 (A) ← (A) ∧ (T)
FUJITSU SEMICONDUCTOR LIMITED
- - - - - - -
- - - - - -
- - dH + + -
- - dH - - -
dL dH dH - + -
- - dH + +
R
C0
-
D2
-
D0
-
01
-
11
-
63
477
付録
付録 A 命令概要
MB95650L シリーズ
表 A.4-2 演算系の命令一覧 (2 / 2)
№
~
#
Z
V
C OPCODE
26 ORW
A
1
-
73
A
1
- - dH + +
- - dH + +
R
27 XORW
1 (A) ← (A) ∨ (T)
1 (A) ← (A) ∀ (T)
R
-
53
28 CMP
A
1
- - - + + + +
12
29 CMPW A
1
1 (TL) - (AL)
1 (T) - (A)
- - - + + + +
13
30 RORC
A
1
1
C→A
- - - + + - +
03
31 ROLC
A
1
1
02
A, #d8
2
- - - + + + +
14
33 CMP
A, dir
3
C←A
2 (A) - d8
2 (A) - (dir)
- - - + + - +
32 CMP
- - - + + + +
15
34 CMP
A, @EP
2
- - - + + + +
17
35 CMP
A, @IX + off
3
1 (A) - ( (EP) )
2 (A) - ( (IX) + off)
- - - + + + +
16
36 CMP
A, Ri
1 (A) - (Ri)
1 decimal adjust for addition
- - - + + + +
1
18 ~ 1F
84
MNEMONIC
37 DAA
2
動 作
TL TH AH N
- - - + + + +
1
1 decimal adjust for subtraction
39 XOR
A
1
- - - + +
A, #d8
2
- - - + + + +
R -
- - - + + R -
52
40 XOR
1 (A) ← (AL) ∀ (TL)
2 (A) ← (AL) ∀ d8
2 (A) ← (AL) ∀ (dir)
1 (A) ← (AL) ∀ ( (EP) )
- - - + +
R
-
55
- - - + +
R
-
57
- - - + +
R
-
56
- - - + +
R
-
38 DAS
94
54
41 XOR
A, dir
3
42 XOR
A, @EP
2
43 XOR
3
44 XOR
A, @IX + off
A, Ri
2
2 (A) ← (AL) ∀ ( (IX) + off)
1 (A) ← (AL) ∀ (Ri)
45 AND
A
1
1 (A) ← (AL) ∧ (TL)
- - - + +
R
-
58 ~ 5F
62
46 AND
A, #d8
2
R
-
64
A, dir
3
2 (A) ← (AL) ∧ d8
2 (A) ← (AL) ∧ (dir)
- - - + +
47 AND
- - - + +
R
-
65
48 AND
A, @EP
2
- - - + +
R
-
67
49 AND
3
- - - + +
R
-
66
50 AND
A, @IX + off
A, Ri
1 (A) ← (AL) ∧ ( (EP) )
2 (A) ← (AL) ∧ ( (IX) + off)
2
1 (A) ← (AL) ∧ (Ri)
- - - + +
R
-
68 ~ 6F
51 OR
A
1
R
-
72
A, #d8
2
1 (A) ← (AL) ∨ (TL)
2 (A) ← (AL) ∨ d8
- - - + +
52 OR
- - - + +
R
-
74
53 OR
A, dir
3
- - - + +
R
-
75
54 OR
A, @EP
2
2 (A) ← (AL) ∨ (dir)
1 (A) ← (AL) ∨ ( (EP) )
- - - + +
R
-
77
55 OR
A, @IX + off
3
2 (A) ← (AL) ∨ ( (IX) + off)
- - - + +
R
-
76
56 OR
A, Ri
2
R
-
dir, #d8
4
- - - + + + +
78 ~ 7F
95
58 CMP
@EP, #d8
3
1 (A) ← (AL) ∨ (Ri)
3 (dir) - d8
2 ( (EP) ) - d8
- - - + +
57 CMP
- - - + + + +
97
59 CMP
4
3 ( (IX) + off) - d8
2 (Ri) - d8
- - - + + + +
96
60 CMP
@IX + off, #d8
Ri, #d8
- - - + + + +
98 ~ 9F
61 INCW
SP
1
C1
SP
1
1 (SP) ← (SP) + 1
1 (SP) ← (SP) - 1
- - - - - - -
62 DECW
- - - - - - -
D1
478
3
FUJITSU SEMICONDUCTOR LIMITED
MN702-00015-2v0-J
付録
付録 A 命令概要
MB95650L シリーズ
■ 分岐系命令
表 A.4-3 分岐系の命令一覧
№
~
#
TL TH AH
N
Z
V
C
rel( 分岐時 )
4
2 if Z = 1 then PC ← PC + rel
-
-
-
-
-
-
-
FD
rel( 非分岐時 )
2
2 BNZ/BNE rel( 分岐時 )
BNZ/BNE rel( 非分岐時 )
4
2 if Z = 0 then PC ← PC + rel
-
-
-
-
-
-
-
FC
2 if C = 1 then PC ← PC + rel
-
-
-
-
-
-
-
F9
2 if C = 0 then PC ← PC + rel
-
-
-
-
-
-
-
F8
2 if N = 1 then PC ← PC + rel
-
-
-
-
-
-
-
FB
2 if N = 0 then PC ← PC + rel
-
-
-
-
-
-
-
FA
2 if V ∀ N = 1 then PC ← PC + rel
-
-
-
-
-
-
-
FF
2 if V ∀ N = 0 then PC ← PC + rel
-
-
-
-
-
-
-
FE
3 if (dir:b) = 0 then PC ← PC + rel
3 if (dir:b) = 1 then PC ← PC + rel
-
-
-
-
+
-
-
B0 ~ B7
-
-
-
-
+
-
-
B8 ~ BF
MNEMONIC
1 BZ/BEQ
BZ/BEQ
4
rel( 非分岐時 )
2
4 BNC/BHS rel( 分岐時 )
BNC/BHS rel( 非分岐時 )
4
BC/BLO
5 BN
BN
6 BP
BP
7 BLT
BLT
8 BGE
OPCODE
2
rel( 分岐時 )
3 BC/BLO
動 作
2
rel( 分岐時 )
4
rel( 非分岐時 )
2
rel( 分岐時 )
4
rel( 非分岐時 )
2
rel( 分岐時 )
4
rel( 非分岐時 )
2
rel( 分岐時 )
4
rel( 非分岐時 )
2
9 BBC
dir:b, rel
5
10 BBS
dir:b, rel
5
11 JMP
@A
3
-
-
-
-
-
-
E0
ext
4
1 (PC) ← (A)
3 (PC) ← ext
-
12 JMP
-
-
-
-
-
-
-
21
13 CALLV
#vct
7
1 vector call
-
-
-
-
-
-
-
14 CALL
15 XCHW
ext
A, PC
6
3
3 subroutine call
1 (PC) ← (A) , (A) ← (PC) + 1
-
-
-
-
-
dH
-
-
-
-
-
-
-
-
E8 ~ EF
31
F4
6
8
1 return from subroutine
1 return from interrupt
-
-
-
-
-
-
-
- -
restore
-
20
30
BGE
16 RET
17 RETI
■ そのほかの命令
表 A.4-4 そのほかの命令一覧
№
~
#
1 PUSHW A
4
2 POPW
3
1 ((SP)) ← (A), (SP) ← (SP) - 2
1 (A) ← ((SP)), (SP) ← (SP) + 2
MNEMONIC
A
動 作
TL TH AH
N
Z
V
C
OPCODE
- - -
- dH -
-
-
-
40
-
-
-
-
50
-
-
-
-
-
-
-
41
-
-
-
-
-
-
-
51
-
3 PUSHW IX
4
4 POPW
3
1 ((SP)) ← (IX), (SP) ← (SP) - 2
1 (IX) ← ((SP)), (SP) ← (SP) + 2
1
1 No operation
-
-
-
-
-
-
-
00
6 CLRC
1
-
-
-
-
-
R
81
1
-
-
-
-
-
-
S
91
8 CLRI
1
1 (C) ← 0
1 (C) ← 1
1 (I) ← 0
-
7 SETC
-
-
-
-
-
-
-
80
9 SETI
1
1 (I) ← 1
-
-
-
-
-
-
-
90
IX
5 NOP
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR LIMITED
479
L
480
FUJITSU SEMICONDUCTOR LIMITED
F
E
D
C
B
A
9
8
7
6
5
4
3
2
A
A
A
A
A, dir
A
A
CMP
CMP
A, dir
A, #d8
CMP
CMPW
A
ADDC
A, dir
ADDC
A, #d8
ADDC
ADDCW
A
addr16
ADDC
A
SUBC
A, dir
SUBC
A, #d8
SUBC
SUBCW
A
addr16
SUBC
MOV
MOV
IX
A
A, T
dir, A
A, T
XCHW
XCH
PUSHW
PUSHW
4
A
A
IX
XOR
XOR
A, dir
A, #d8
XOR
XORW
XOR
POPW
A
AND
AND
A, dir
A, #d8
AND
A
ext, A
ANDW
AND
MOV
OR
OR
OR
A, dir
A, #d8
A
A
PS, A
ORW
OR
MOVW
A, PS
MOVW
A, ext
MOV
POPW
A
7
6
5
MOV
dir, #d8
MOV
DAA
@A, T
MOVW
@A, T
MOV
CLRC
CLRI
8
CMP
dir, #d8
CMP
DAS
A, @A
MOVW
A, @A
MOV
SETC
SETI
9
CLRB
dir : 5
CLRB
dir : 4
CLRB
dir : 3
CLRB
dir : 2
CLRB
dir : 1
CLRB
dir : 0
CLRB
A
BBC
dir : 5, rel
BBC
dir : 4, rel
BBC
dir : 3, rel
BBC
dir : 2, rel
BBC
dir : 1, rel
BBC
dir : 0, rel
BBC
B
EP
IX
SP
MOVW
A, dir
MOVW
A, ext
MOVW
INCW
INCW
INCW
EP
IX
SP
A
MOVW
dir, A
MOVW
ext, A
MOVW
DECW
DECW
DECW
DECW
INCW
A
D
C
@A
MOVW
SP, #d16
MOVW
A, #d16
MOVW
EP, A
MOVW
IX, A
MOVW
SP, A
MOVW
JMP
E
XCHW
A, SP
XCHW
A, PC
XCHW
A, EP
MOVW
A, IX
MOVW
A, SP
MOVW
A, PC
MOVW
F
MOV
MOV
MOV
MOV
A, R7
A, R6
A, R5
A, R4
CMP
CMP
CMP
CMP
A, R7
A, R6
A, R5
A, R4
A, R7
ADDC
A, R6
ADDC
A, R5
ADDC
A, R4
ADDC
A, R7
SUBC
A, R6
SUBC
A, R5
SUBC
A, R4
SUBC
A, @IX+d
SUBC
A, @IX+d
ADDC
A, @IX+d
CMP
A, @IX+d
MOV
MOV
MOV
MOV
MOV
MOV
R7, A
R6, A
R5, A
R4, A
@IX+d, A
XOR
XOR
XOR
XOR
A, R7
A, R6
A, R5
A, R4
AND
AND
AND
AND
A, R7
A, R6
A, R5
A, R4
A, @IX+d
AND
A, @IX+d
XOR
OR
OR
OR
OR
OR
A, R7
A, R6
A, R5
A, R4
R7, #d8
MOV
R6, #d8
MOV
R5, #d8
MOV
R4, #d8
MOV
R7, #d8
CMP
R6, #d8
CMP
R5, #d8
CMP
R4, #d8
CMP
SETB
SETB
SETB
SETB
dir : 7
dir : 6
dir : 5
dir : 4
dir : 7, rel
BBS
dir : 6, rel
BBS
dir : 5, rel
BBS
dir : 4, rel
BBS
INC
INC
INC
INC
R7
R6
R5
R4
DEC
DEC
DEC
DEC
R7
R6
R5
R4
CALLV
CALLV
CALLV
CALLV
#7
#6
#5
#4
BLT
BGE
BZ
BNZ
rel
rel
rel
rel
dir : 6 dir : 6, rel A, @IX+d @IX+d, A
IX, #d16
A, IX
A, @IX+d @IX+d,#d8 @IX+d,#d8
BBC
CLRB
MOVW
CMP
MOVW
MOV
XCHW
MOVW
dir : 7 dir : 7, rel
A, @EP
EP, #d16
A, @EP
@EP, A
A, @EP
A, EP
@EP, A
A, @EP @EP, #d8 @EP, #d8
A, @EP
A, @EP
A, @EP
A, @EP
BBS
SETB
AND
CALLV
CMP
XOR
DEC
ADDC
MOV
BNC
MOV
OR
CMP
INC
SUBC
MOV
dir : 0 dir : 0, rel
A, R0
#0
R0, #d8
A, R0
R0
A, R0
R0, #d8
rel
R0, A
A, R0
A, R0
R0
A, R0
A, R0
BBS
SETB
AND
CALLV
CMP
XOR
DEC
ADDC
MOV
BC
MOV
OR
CMP
INC
SUBC
MOV
dir : 1 dir : 1, rel
A, R1
#1
R1, #d8
A, R1
R1
A, R1
R1, #d8
rel
R1, A
A, R1
A, R1
R1
A, R1
A, R1
BBS
AND
SETB
CALLV
CMP
XOR
DEC
ADDC
MOV
BP
MOV
OR
CMP
INC
SUBC
MOV
A, R2
dir : 2 dir : 2, rel
#2
R2, #d8
A, R2
R2
A, R2
R2, #d8
rel
R2, A
A, R2
A, R2
R2
A, R2
A, R2
BBS
AND
SETB
CALLV
CMP
XOR
DEC
ADDC
MOV
BN
MOV
OR
CMP
INC
SUBC
MOV
A, R3
dir : 3 dir : 3, rel
#3
R3, #d8
A, R3
R3
A, R3
R3, #d8
rel
R3, A
A, R3
A, R3
R3
A, R3
A, R3
MOV
MOV
A, #d8
MOV
RORC
CMP
CALL
JMP
DIVU
MULU
ROLC
RETI
3
RET
2
SWAP
1
NOP
0
A.5
1
0
H
付録
付録 A 命令概要
MB95650L シリーズ
命令マップ
表 A.5-1 に , F2MC-8FX の命令マップを示します。
■ 命令マップ
表 A.5-1 F2MC-8FX の命令マップ
MN702-00015-2v0-J
MN702-00015-2v0-J
FUJITSU SEMICONDUCTOR • CONTROLLER MANUAL
8 ビット・マイクロコントローラ
New 8FX
MB95650L シリーズ
ハードウェアマニュアル
2013 年 6 月 第 2 版発行
発行
富士通セミコンダクター株式会社
編集
企画部 プロモーション推進部