6.9MB

本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。
FUJITSU SEMICONDUCTOR
CONTROLLER MANUAL
CM71-10142-5
FR60Lite
32 ビット・マイクロコントローラ
MB91220 Series
ハードウェアマニュアル
FR60Lite
32 ビット・マイクロコントローラ
MB91220 Series
ハードウェアマニュアル
富士通セミコンダクターのマイコンを効率的に開発するための情報を下記 URL にてご紹介いたします。
ご採用を検討中 , またはご採用いただいたお客様に有益な情報を公開しています。
開発における最新の注意事項に関しては , 「デザインレビューシート」を参照してください。
「デザインレビューシート」はシステム開発において , 問題を未然に防ぐことを目的として , 最低限必要と思わ
れるチェック項目をリストにしたものです。
http://edevice.fujitsu.com/micom/jp-support/
富士通セミコンダクター株式会社
はじめに
■ 本書の目的と対象読者
富士通セミコンダクター製品につきまして , 平素より格別のご愛顧を賜り厚くお礼申
し上げます。
FR* ファミリは , 32 ビット高性能 RISC CPU を使用し , 高性能 / 高速な CPU 処理が要
求される組込み制御用に各種 I/O リソースを内蔵したマイクロコントローラです。
デジタルビデオカメラ , ナビゲーションシステム , DVD プレーヤーなど , 高性能 / 高速
な CPU 処理パワーが要求される組込み用途に最適な仕様となっています。
本品種は , CPU として FR ファミリと互換性のある FR60 Lite を使用しています。
本書は , 実際に MB91220 シリーズを使用して製品を開発される技術者を対象に ,
MB91220 シリーズの機能や動作について解説したものです。本書をご一読ください。
*: FRは, FUJITSU RISC controllerの略で, 富士通セミコンダクター株式会社の製品です。
■ 商標
本書に記載されている社名および製品名などの固有名詞は,各社の商標または登録商標
です。
■ 本書の全体構成
本書は , 以下に示す 29 の章および付録から構成されています。
第 1 章 概要
MB91220 シリーズの特長 , ブロックダイヤグラム , 機能概要など , 全体を知るため
の内容について説明します。
第 2 章 デバイスの取扱いについて
MB91220 シリーズの取扱い上の注意について説明します。
第 3 章 CPU および制御部
FR60Lite のアーキテクチャ , 仕様 , 命令など , 機能を知るための基本的な内容につ
いて説明します。
第 4 章 I/O ポート
I/O ポートの概要 , レジスタの構成および機能について説明します。
第 5 章 割込みコントローラ
割込みコントローラの概要, レジスタの構成/機能 および動作について説明します。
第 6 章 外部割込み制御部
外部割込み制御部の概要 , レジスタの構成 / 機能および動作について説明します。
i
第 7 章 REALOS 関連ハード
REALOS 関連ハードは , リアルタイム OS により使用されます。したがって ,
REALOS を使用する場合にはユーザプログラムで使用することはできません。遅
延割込みモジュールおよびビットサーチモジュールの概要 , レジスタ構成および
機能 , 動作について説明します。
第 8 章 16 ビットリロードタイマ
16 ビットリロードタイマの概要 , レジスタの構成 / 機能およびリロードタイマの動
作について説明します。
第 9 章 PPG
PPG の概要 , レジスタの構成 , 機能および PPG の動作について説明します。
第 10 章 PWC (Pulse Width Count : パルス幅測定 )
PWC の概要 , レジスタの構成 , 機能および動作について説明します。
第 11 章 メイン発振安定待ちタイマ
メイン発振安定待ちタイマの概要 , レジスタの構成 , 機能および動作について説明
します。
第 12 章 16 ビットフリーランタイマ
16 ビットフリーランタイマの概要 , レジスタの構成 / 機能および 16 ビットフリー
ランタイマの動作について説明します。
第 13 章 インプットキャプチャ
インプットキャプチャの概要 , レジスタの構成 , 機能および動作について説明しま
す。
第 14 章 アウトプットコンペア
アウトプットコンペアの概要 , レジスタの構成 , 機能および動作について説明しま
す。
第 15 章 外部バスインタフェース
外部バスインタフェース , 内部バスと外部のメモリおよび I/O デバイスとのインタ
フェースを制御します。
第 16 章 DMAC (DMA コントローラ )
DMAC の概要 , レジスタの構成 / 機能および動作について説明します。
第 17 章 ステッパモータコントローラ
ステッパモータコントローラの概要 , レジスタの構成 / 機能および動作について説
明します。
第 18 章 サウンドジェネレータ
サウンドジェネレータの概要 , レジスタの構成 / 機能および動作について説明しま
す。
ii
第 19 章 リアルタイムクロック
リアルタイムクロックの概要 , レジスタの構成 / 機能および動作について説明しま
す。
第 20 章 LIN-UART
LIN-UART の概要 , レジスタの構成 / 機能および動作について説明します。
第 21 章 A/D コンバータ
A/D コンバータの概要 , レジスタの構成 / 機能および A/D コンバータの動作につい
て説明します。
第 22 章 CAN
CAN の機能と動作について説明します。
第 23 章 LCD コントローラ (LCDC)
LCD コントローラ / ドライバ (LCDC) の概要 , レジスタの構成 / 機能および動作に
ついて説明します。
第 24 章 32kHz クロック 補正ユニット
32kHz クロック補正ユニットの概要およびレジスタの構成 / 機能について説明しま
す。
第 25 章 CPU 動作検出リセット回路
CPU 動作検出リセット回路の機能と動作について説明します。
第 26 章 D/A コンバータ
D/A コンバータの機能と動作について説明します。
第 27 章 I2C インタフェース
I2Cインタフェースの概要, レジスタの構成/機能, および動作について説明します。
第 28 章 フラッシュメモリ
フラッシュメモリの概要 , レジスタの構成 / 機能および動作について説明します。
第 29 章 シリアル書込み接続例
シリアル書込み基本構成 , シリアルオンボード書込みに使用する端子 , シリアル
書込み接続例 , およびフラッシュマイコンプログラマシステム構成について説明
します。
付録
付録として , I/O マップ , 割込みベクタ , 端子状態一覧 , リトル・エンディアン領域
を利用する際の注意事項 , 命令一覧 , および使用上の注意事項について記載してい
ます。
iii
•
•
•
•
•
•
•
本資料の記載内容は , 予告なしに変更することがありますので , ご用命の際は営業部門にご確認くださ
い。
本資料に記載された動作概要や応用回路例は , 半導体デバイスの標準的な動作や使い方を示したもので ,
実際に使用する機器での動作を保証するものではありません。したがいまして , これらを使用するにあ
たってはお客様の責任において機器の設計を行ってください。これらの使用に起因する損害などについ
ては , 当社はその責任を負いません。
本資料に記載された動作概要・回路図を含む技術情報は , 当社もしくは第三者の特許権 , 著作権等の知的
財産権やその他の権利の使用権または実施権の許諾を意味するものではありません。また , これらの使用
について , 第三者の知的財産権やその他の権利の実施ができることの保証を行うものではありません。し
たがって , これらの使用に起因する第三者の知的財産権やその他の権利の侵害について , 当社はその責任
を負いません。
本資料に記載された製品は , 通常の産業用 , 一般事務用 , パーソナル用 , 家庭用などの一般的用途に使用
されることを意図して設計・製造されています。極めて高度な安全性が要求され , 仮に当該安全性が確保
されない場合 , 社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途(原子力
施設における核反応制御 , 航空機自動飛行制御 , 航空交通管制 , 大量輸送システムにおける運行制御 , 生
命維持のための医療機器 , 兵器システムにおけるミサイル発射制御をいう), ならびに極めて高い信頼性
が要求される用途(海底中継器 , 宇宙衛星をいう)に使用されるよう設計・製造されたものではありませ
ん。したがって , これらの用途にご使用をお考えのお客様は , 必ず事前に営業部門までご相談ください。
ご相談なく使用されたことにより発生した損害などについては , 責任を負いかねますのでご了承くださ
い。
半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても , 結果的に人身事故 ,
火災事故 , 社会的な損害を生じさせないよう , お客様は , 装置の冗長設計 , 延焼対策設計 , 過電流防止対策
設計 , 誤動作防止設計などの安全設計をお願いします。
本資料に記載された製品を輸出または提供する場合は , 外国為替及び外国貿易法および米国輸出管理関
連法規等の規制をご確認の上 , 必要な手続きをおとりください。
本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商標です。
Copyright ©2007-2011 FUJITSU SEMICONDUCTOR LIMITED All rights reserved.
iv
目次
第1章
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
第2章
2.1
第3章
概要 ............................................................................................................ 1
MB91220 シリーズの特長 ...................................................................................................... 2
品種構成 ................................................................................................................................. 4
ブロックダイヤグラム............................................................................................................ 5
外形寸法図.............................................................................................................................. 6
端子配列図.............................................................................................................................. 7
端子機能説明 .......................................................................................................................... 8
入出力回路形式 .................................................................................................................... 17
本書の読み方 ........................................................................................................................ 21
デバイスの取扱いについて ...................................................................... 23
デバイス取扱い上の注意 ...................................................................................................... 24
CPU および制御部 ................................................................................... 27
3.1 メモリ空間............................................................................................................................ 28
3.2 メモリマップ ........................................................................................................................ 29
3.3 内部アーキテクチャ ............................................................................................................. 31
3.4 プログラミング・モデル ...................................................................................................... 36
3.4.1
レジスタ ..................................................................................................................... 37
3.5 データ構造............................................................................................................................ 44
3.6 ワードアライメント ............................................................................................................. 45
3.7 メモリマップ ........................................................................................................................ 46
3.8 分岐命令 ............................................................................................................................... 47
3.9 EIT ( 例外・割込み・トラップ ) ........................................................................................... 50
3.9.1
割込みレベル .............................................................................................................. 51
3.9.2
ICR (Interrupt Control Register).................................................................................. 53
3.9.3
SSP (System Stack Pointer)....................................................................................... 54
3.9.4
TBR (Table Base Register) ........................................................................................ 55
3.9.5
多重 EIT 処理.............................................................................................................. 59
3.9.6
EIT の動作 .................................................................................................................. 61
3.10 動作モード............................................................................................................................ 65
3.11 リセット ( デバイスの初期化 ) ............................................................................................. 68
3.11.1
リセット要因と発振安定待ち時間.............................................................................. 70
3.11.2
リセットレベル .......................................................................................................... 72
3.11.3
外部リセット端子....................................................................................................... 74
3.11.4
リセット動作 .............................................................................................................. 75
3.11.5
リセット要因ビット ................................................................................................... 77
3.11.6
発振安定待ち要因....................................................................................................... 80
3.12 クロック生成制御 ................................................................................................................. 81
3.12.1
ソースクロックの選択 ............................................................................................... 82
3.12.2
PLL 制御 ..................................................................................................................... 83
3.12.3
発振安定待ち・PLL ロック待ち時間.......................................................................... 85
3.12.4
クロック分配 .............................................................................................................. 86
3.12.5
クロック分周 .............................................................................................................. 88
3.12.6
クロック生成制御部のブロックダイヤグラム............................................................ 89
v
3.12.7
クロック生成制御部のレジスタ詳細説明................................................................... 90
3.12.8
クロック制御部が持つ周辺回路 ............................................................................... 110
3.13 デバイス状態制御 ............................................................................................................... 113
第4章
4.1
4.2
4.3
4.4
4.5
I/O ポート............................................................................................... 121
I/O ポートの概要 ................................................................................................................ 122
I/O ポートのレジスタ ......................................................................................................... 125
I/O 拡張機能........................................................................................................................ 145
レジスタ説明 ...................................................................................................................... 146
使用上の注意 ...................................................................................................................... 152
第5章
割込みコントローラ............................................................................... 153
5.1 割込みコントローラの概要................................................................................................. 154
5.2 割込みコントローラのレジスタ一覧 .................................................................................. 155
5.2.1
割込み制御レジスタ ( ICR)....................................................................................... 157
5.3 割込みコントローラの動作................................................................................................. 159
第6章
外部割込み制御部 .................................................................................. 167
6.1 外部割込み制御部の概要 .................................................................................................... 168
6.2 外部割込み制御部のレジスタ ............................................................................................. 169
6.2.1
割込み許可レジスタ (ENIR : ENable Interrupt request Register)............................. 170
6.2.2
外部割込み要因レジスタ (EIRR : External Interrupt Request Register)................... 171
6.2.3
外部割込み要求レベル設定レジスタ (ELVR : External LeVel Register) .................. 172
6.3 外部割込み制御の動作........................................................................................................ 173
第7章
7.1
7.2
REALOS 関連ハード ............................................................................. 179
遅延割込みモジュール........................................................................................................ 180
ビットサーチモジュール .................................................................................................... 182
第8章
8.1
8.2
8.3
8.4
16 ビットリロードタイマ ...................................................................... 189
16 ビットリロードタイマの概要 ........................................................................................ 190
ブロックダイヤグラム........................................................................................................ 191
16 ビットリロードタイマのレジスタ................................................................................. 192
リロードタイマの動作........................................................................................................ 196
第9章
9.1
9.2
9.3
9.4
PPG........................................................................................................ 199
PPG の概要 ........................................................................................................................ 200
PPG のブロックダイヤグラム............................................................................................ 205
PPG のレジスタ ................................................................................................................. 211
PPG の動作説明 ................................................................................................................. 218
第 10 章
PWC (Pulse Width Count : パルス幅測定 ).......................................... 225
10.1 PWC の概要........................................................................................................................ 226
10.2 PWC のレジスタ ................................................................................................................ 228
10.3 PWC の動作説明 ................................................................................................................ 234
vi
第 11 章
11.1
11.2
11.3
11.4
メイン発振安定待ちタイマ .................................................................... 247
メイン発振安定待ちタイマの概要...................................................................................... 248
メイン発振安定待ちタイマのブロックダイヤグラム ......................................................... 249
メイン発振安定待ちタイマのレジスタ............................................................................... 250
メイン発振待ち割込みの動作 ............................................................................................. 252
第 12 章
16 ビットフリーランタイマ................................................................... 257
12.1 16 ビットフリーランタイマの概要 .................................................................................... 258
12.2 16 ビットフリーランタイマのレジスタ ............................................................................. 260
12.3 16 ビットフリーランタイマの動作 .................................................................................... 264
第 13 章
インプットキャプチャ ........................................................................... 267
13.1 インプットキャプチャの概要 ............................................................................................. 268
13.2 インプットキャプチャのレジスタ...................................................................................... 271
13.3 インプットキャプチャの動作 ............................................................................................. 273
第 14 章
アウトプットコンペア ........................................................................... 275
14.1 アウトプットコンペアの概要 ............................................................................................. 276
14.2 アウトプットコンペアのレジスタ...................................................................................... 278
14.3 アウトプットコンペアの動作 ............................................................................................. 281
第 15 章
15.1
15.2
15.3
15.4
15.5
15.6
外部バスインタフェース........................................................................ 285
外部バスインタフェースの概要 ......................................................................................... 286
外部バスインタフェースのレジスタ .................................................................................. 289
外部バスインタフェースのエンディアンとバスアクセス.................................................. 302
外部バスインタフェースの通常バスインタフェース ......................................................... 310
外部バスインタフェースのレジスタ設定手順.................................................................... 317
外部バスインタフェース使用上の注意............................................................................... 318
第 16 章
DMAC (DMA コントローラ ) ................................................................. 319
16.1 DMAC の概要 ..................................................................................................................... 320
16.2 DMAC のレジスタ詳細説明................................................................................................ 323
16.3 DMAC の動作説明 .............................................................................................................. 339
16.3.1
DMAC の動作 ........................................................................................................... 340
16.3.2
転送要求の設定 ........................................................................................................ 342
16.3.3
転送シーケンス ........................................................................................................ 343
16.3.4
DMA 転送全般 .......................................................................................................... 345
16.3.5
アドレッシングモード ............................................................................................. 347
16.3.6
データの種類 ............................................................................................................ 348
16.3.7
転送回数制御 ............................................................................................................ 349
16.3.8
CPU 制御.................................................................................................................. 350
16.3.9
動作 .......................................................................................................................... 351
16.3.10
転送要求の受付けと転送 .......................................................................................... 352
16.3.11
DMA による周辺割込みクリア ................................................................................. 353
16.3.12
一時停止 ................................................................................................................... 354
16.3.13
動作終了 / 停止 ......................................................................................................... 355
16.3.14
エラーによる停止..................................................................................................... 356
16.3.15
DMAC 割込み制御 .................................................................................................... 357
16.3.16
スリープ中の DMA 転送 ........................................................................................... 358
vii
16.3.17
チャネル選択と制御 ................................................................................................. 359
16.4 DMAC の動作フロー........................................................................................................... 361
16.5 DMAC のデータパス........................................................................................................... 363
第 17 章
ステッパモータコントローラ ................................................................ 365
17.1 ステッパモータコントローラの概要 .................................................................................. 366
17.2 ステッパモータコントローラのレジスタ ........................................................................... 367
17.2.1
PWM 制御レジスタ .................................................................................................. 368
17.2.2
PWM1, PWM2 コンペアレジスタ ............................................................................ 370
17.2.3
PWM1, PWM2 選択レジスタ ................................................................................... 372
17.3 動作説明 ............................................................................................................................. 374
17.4 ステッパモータコントローラの使用上の注意.................................................................... 377
第 18 章
サウンドジェネレータ ........................................................................... 379
18.1 サウンドジェネレータの概要 ............................................................................................. 380
18.2 サウンドジェネレータのレジスタ...................................................................................... 381
18.2.1
サウンドコントロールレジスタ ............................................................................... 383
18.2.2
振幅データレジスタ ................................................................................................. 385
18.2.3
周波数データレジスタ ............................................................................................. 386
18.2.4
トーンカウントレジスタ .......................................................................................... 387
18.2.5
デクリメントグレードレジスタ ............................................................................... 388
18.2.6
サウンド禁止レジスタ ............................................................................................. 389
第 19 章
リアルタイムクロック ........................................................................... 391
19.1 リアルタイムクロックの概要 ............................................................................................. 392
19.2 リアルタイムクロックのレジスタ...................................................................................... 393
19.3 リアルタイムクロックの動作説明...................................................................................... 400
第 20 章
LIN-UART .............................................................................................. 401
20.1 LIN-UART の概要 ............................................................................................................... 402
20.2 LIN-UART のレジスタ一覧 ................................................................................................. 404
20.2.1
ボーレート / リロードカウンタレジスタ (BGR) ...................................................... 412
20.3 インプットキャプチャによるボーレート検出.................................................................... 413
20.3.1
UART のボーレート ................................................................................................. 414
20.3.2
ボーレートの設定..................................................................................................... 415
20.4 LIN-UART の動作 ............................................................................................................... 418
20.4.1
非同期モード ( 動作モード 0 と 1) 時の動作 ............................................................ 419
20.4.2
同期 ( 動作モード 2) モード時の動作 ....................................................................... 421
20.4.3
LIN 機能との操作 ( 動作モード 3) ............................................................................ 423
20.4.4
シリアル端子直接アクセス ...................................................................................... 425
20.4.5
データフォーマット設定 .......................................................................................... 426
20.4.6
レジスタ / フラグビット........................................................................................... 427
20.5 UART 割込み ...................................................................................................................... 428
20.5.1
ソフトウェアリセット ............................................................................................. 431
20.6 LIN-UART のクロック同期 ................................................................................................. 432
20.7 フラグセットのタイミング................................................................................................. 433
20.8 LIN-UART の特別仕様 ........................................................................................................ 437
20.9 LIN 通信動作....................................................................................................................... 439
20.10 UART からの変更点 ........................................................................................................... 443
viii
20.11 LIN-UART の制限事項 ........................................................................................................ 444
第 21 章
A/D コンバータ ...................................................................................... 445
21.1 A/D コンバータの概要 ........................................................................................................ 446
21.2 A/D コンバータのレジスタ................................................................................................. 449
21.3 A/D コンバータの動作 ........................................................................................................ 460
第 22 章
CAN ....................................................................................................... 463
22.1 CAN の特長 ........................................................................................................................ 464
22.2 CAN のブロックダイヤグラム............................................................................................ 465
22.3 CAN のレジスタ ................................................................................................................. 466
22.4 CAN レジスタ機能.............................................................................................................. 473
22.4.1
全体コントロールレジスタ ...................................................................................... 474
22.4.2
メッセージインタフェースレジスタ ........................................................................ 487
22.4.3
メッセージオブジェクト .......................................................................................... 499
22.4.4
メッセージハンドラレジスタ................................................................................... 506
22.5 CAN 機能 ............................................................................................................................ 515
22.5.1
メッセージオブジェクト .......................................................................................... 516
22.5.2
メッセージ送信動作 ................................................................................................. 518
22.5.3
メッセージ受信動作 ................................................................................................. 520
22.5.4
FIFO バッファ機能................................................................................................... 523
22.5.5
割込み機能 ............................................................................................................... 525
22.5.6
ビットタイミング..................................................................................................... 527
22.5.7
テストモード ............................................................................................................ 530
22.5.8
ソフトウェア初期化 ................................................................................................. 534
22.5.9
CAN クロックプリスケーラ ..................................................................................... 535
第 23 章
LCD コントローラ (LCDC) .................................................................... 539
23.1 LCD コントローラの概要 ................................................................................................... 540
23.2 LCD コントローラのレジスタ ............................................................................................ 542
23.3 LCD コントローラの動作 ................................................................................................... 549
第 24 章
32kHz クロック補正ユニット ................................................................ 557
24.1 32kHz クロック補正ユニットの概要.................................................................................. 558
24.2 32kHz クロック補正ユニットのレジスタ........................................................................... 560
24.3 アプリケーションノート .................................................................................................... 566
第 25 章
25.1
25.2
25.3
25.4
CPU 動作検出リセット回路の概要 .................................................................................... 568
CPU 動作検出リセット回路のレジスタ ............................................................................. 570
CPU 動作検出リセット回路の動作 .................................................................................... 572
CPU 動作検出リセット回路使用上の注意.......................................................................... 573
第 26 章
26.1
26.2
26.3
26.4
26.5
CPU 動作検出リセット回路................................................................... 567
D/A コンバータ ...................................................................................... 575
D/A コンバータの概要 ........................................................................................................ 576
ブロックダイヤグラム........................................................................................................ 577
レジスタ一覧 ...................................................................................................................... 578
レジスタ詳細説明 ............................................................................................................... 579
D/A コンバータの動作 ........................................................................................................ 581
ix
第 27 章
I2C インタフェース ................................................................................ 583
27.1 I2C インタフェースの概要.................................................................................................. 584
27.2 I2C インタフェースのレジスタ .......................................................................................... 589
27.2.1
バスステータスレジスタ (IBSR0, IBSR1)................................................................ 590
27.2.2
バス制御レジスタ (IBCR0, IBCR1) .......................................................................... 594
27.2.3
クロック制御レジスタ (ICCR0, ICCR1)................................................................... 602
27.2.4
10 ビットスレーブアドレスレジスタ (ITBAH0, ITBAH1, ITBAL0, ITBAL1) ............ 604
27.2.5
10 ビットスレーブアドレスマスクレジスタ (ITMKH0, ITMKH1, ITMKL0, ITMKL1)
................................................................................................................................. 605
27.2.6
7 ビットスレーブアドレスレジスタ (ISBA0, ISBA1)............................................... 607
27.2.7
7 ビットスレーブアドレスマスクレジスタ (ISMK0, ISMK1)................................... 608
27.2.8
データレジスタ (IDAR0, IDAR1).............................................................................. 610
27.3 I2C インタフェースの動作説明 .......................................................................................... 611
27.4 動作フローチャート ........................................................................................................... 617
第 28 章
フラッシュメモリ .................................................................................. 621
28.1 フラッシュメモリの概要 .................................................................................................... 622
28.2 フラッシュメモリのレジスタ ............................................................................................. 630
28.3 フラッシュメモリのアクセスモード .................................................................................. 634
28.4 自動アルゴリズム起動方法................................................................................................. 637
28.5 自動アルゴリズム実行状態................................................................................................. 641
28.6 フラッシュメモリ書込み / 消去の詳細説明 ........................................................................ 647
28.6.1
フラッシュメモリ使用上の注意 ............................................................................... 653
28.7 セクタプロテクトオペレーション...................................................................................... 654
第 29 章
シリアル書込み接続例 ........................................................................... 659
29.1 シリアル書込み接続例........................................................................................................ 660
29.2 シリアル書込み ( 非同期 ) 接続例 ....................................................................................... 671
付録
付録 A
付録 B
付録 C
付録 D
付録 E
E.1
付録 F
索引
............................................................................................................... 675
I/O マップ ...................................................................................................................... 676
割込みベクタ ................................................................................................................. 690
各 CPU ステートにおける各端子状態........................................................................... 694
リトル・エンディアン領域を利用する際の注意事項.................................................... 702
命令一覧 ........................................................................................................................ 708
FR ファミリーの命令一覧表....................................................................................... 712
使用上の注意 ................................................................................................................. 728
............................................................................................................... 733
x
本版での主な変更内容
ページ
変更内容 ( 詳細は本文を参照してください。)
514
第 22 章 CAN
22.4.4 メッセージハンド
ラレジスタ
537
第 22 章 CAN
22.5.9 CAN クロックプリ
スケーラ
「■ CAN プリスケーラレジスタ」の [bit11 ∼ bit8] の表を訂
正。
表 22.5-5 と<注意事項>を訂正。
変更箇所は , 本文中のページ左側の│によって示しています。
xi
xii
第1章
概要
MB91220 シリーズの特長 , ブロックダイヤグラム ,
機能概要など , 全体を知るための内容について説明
します。
CM71-10142-5
1.1
MB91220 シリーズの特長
1.2
品種構成
1.3
ブロックダイヤグラム
1.4
外形寸法図
1.5
端子配列図
1.6
端子機能説明
1.7
入出力回路形式
1.8
本書の読み方
FUJITSU SEMICONDUCTOR LIMITED
1
第 1 章 概要
1.1 MB91220 シリーズの特長
1.1
MB91220 シリーズ
MB91220 シリーズの特長
MB91220 シリーズは , 民生機器などの高速リアルタイム処理が要求される組込み制
御用途向けに設計された汎用の富士通セミコンダクター 32 ビット RISC マイクロコ
ントローラです。
CPU には , FR ファミリと互換の FR60Lite を使用しており , LCD コントローラ , ス
テッパモータコントローラを内蔵しています。
■ FR60Lite CPU
• 32 ビット RISC, ロード / ストアアーキテクチャ , パイプライン 5 段
• 最大動作周波数
: 32MHz ( 原発振 /4MHz, 原発振 8 逓倍 (PLL クロック
逓倍方式 ) )
• 16 ビット固定長命令 ( 基本命令 )
• 命令実行速度
: 1 命令 /1 サイクル
• メモリ−メモリ間転送命令 , ビット処理命令 , バレルシフト命令など
: 組込み用途に適した命令
• 関数入口 / 出口命令 , レジスタ内容のマルチロードストア命令
: C 言語対応命令
• レジスタのインタロック機能 : アセンブラ記述も容易に可能
• 乗算器の内蔵 / 命令レベルでのサポート
• 符号付き 32 ビット乗算 : 5 サイクル
• 符号付き 16 ビット乗算 : 3 サイクル
• 割込み (PC/PS 退避 )
: 6 サイクル (16 プライオリティレベル )
• ハーバードアーキテクチャにより , プログラムアクセスとデータアクセスを同時に
実行可能
• FR ファミリとの命令互換
■ 内蔵周辺機能
• 内蔵 ROM 容量と ROM タイプ
フラッシュメモリ
• 内蔵 RAM 容量
: 512K バイト (MB91F223/S) / 768K バイト (MB91F224/S)
: 16K バイト (MB91F223/S)
24K バイト (MB91F224/S)
64K バイト (MB91V220B)
• 汎用ポート
2
: 最大 120 本 ( 内 4 本入力専用 )
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 1 章 概要
1.1 MB91220 シリーズの特長
MB91220 シリーズ
• A/D コンバータ ( 逐次比較型 )
10 ビット分解能
: 24 チャネル
変換時間
: 3μs (16MHz/32MHz)
上記の変換時間を達成するために以下のようにPLLの逓倍率および周辺回路クロッ
クの分周比を設定してください。
32MHz
: 原発振 (4MHz) の 8 逓倍の 1 分周
: 原発振の 8 逓倍の 2 分周
16MHz
• D/A コンバータ (R-2R 型 )
8 ビット分解能
: 2 チャネル
• 外部割込み入力
: 8 チャネル
• ビットサーチモジュール (REALOS 使用 )
• LIN-UART( 全二重ダブルバッファ方式 ) : 4 チャネル
クロック同期 / 非同期の選択可能
Sync-break 検出
専用ボーレートジェネレータ内蔵
• I2C バスインタフェース
: 2 チャネル
• ステッパモータコントローラ
: 4 チャネル
10 ビット PWM 各チャネル大電流出力 4 本
• 8/16 ビット PPG タイマ
: 16 チャネル
• 16 ビットリロードタイマ
: 3 チャネル
• 16 ビットフリーランタイマ
: 2 チャネル (ICU/OCU 連動 )
• 16 ビットパルス幅カウンタ
: 1 チャネル
• インプットキャプチャ
: 4 チャネル ( フリーランタイマ ch.0, ch.1
と連動 ) ch.0 は PWC と連動
• アウトプットコンペア
: 2 チャネル ( フリーランタイマ ch.0 と連
動)
• LCD コントローラ
: SEG0 ∼ SEG31/COM0 ∼ COM3( ポート
と兼用 )
• 16 ビットタイムベース / ウォッチドッグタイマ
• サウンドジェネレータ
: 3 チャネル
• リアルタイムクロック
• 32kHz サブクロック ( クロック 1 系統品はサブクロックをサポートしません )。
• C-CAN
: 2 チャネル
• 低消費電力モード
: スリープ / ストップ / 時計モード機能
• CPU 動作検出リセット
• パッケージ
: LQFP-144 (FPT-144P-M08)
• CMOS 0.35μm テクノロジ
• 電源
CM71-10142-5
: 5V 電源 ( 降圧回路により内部回路 3.3V,
I/O 5.0V)
FUJITSU SEMICONDUCTOR LIMITED
3
第 1 章 概要
1.2 品種構成
1.2
MB91220 シリーズ
品種構成
MB91220 シリーズの品種構成表を表 1.2-1 に示します。掲載されていない内蔵周辺
機能は共通です。
■ 品種構成一覧
MB91220 シリーズの品種構成を表 1.2-1 に示します。
表 1.2-1 MB91220 シリーズ品種構成一覧
MB91V220B
MB91F223/S
MB91F224/S
ROM/Flash 容量
外付け SRAM
512K バイト
768K バイト
RAM 容量
64K バイト
16K バイト
24K バイト
外部割込み
8 チャネル
DMA
5 チャネル
A/D コンバータ
24 チャネル
D/A コンバータ
2 チャネル
LIN-UART
4 チャネル
I2C
2 チャネル
ステッパモータコントローラ
4 チャネル
8/16 ビット PPG タイマ
16 チャネル
16 ビットリロードタイマ
3 チャネル
16 ビットフリーランタイマ
2 チャネル
16 ビットパルス幅カウンタ
1 チャネル
インプットキャプチャ
4 チャネル
アウトプットコンペア
2 チャネル
LCD コントローラ
4COM, 32SEG
サウンドジェネレータ
3 チャネル
リアルタイムクロック
あり
32kHz サブクロック
あり
あり :MB91F224
なし :MB91F224S
アドレス 16 ビット
データ 16 ビット
外部バス
その他
評価用品
フラッシュ
メモリ品
On Chip Debug Support Unit
DSU4
-
C-CAN
4
あり :MB91F223
なし :MB91F223S
2 チャネル
32 メッセージ
バッファ
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 1 章 概要
1.3 ブロックダイヤグラム
MB91220 シリーズ
1.3
ブロックダイヤグラム
MB91220 シリーズのブロックダイヤグラムを示します。
■ ブロックダイヤグラム
図 1.3-1 MB91220 シリーズブロックダイヤグラム
FR 60Lite
CPU コア
32
DSU*
32
DMAC
5チャネル
ビットサーチ
32
Flash 768Kバイト/512Kバイト
バス
コンバータ
RAM 64Kバイト/24Kバイト/16Kバイト
X0,X1
X0A,X1A
MD0~MD2
INITX
32←→16
アダプタ
クロック
制御
16
割込み
コントローラ
INT0~INT7
外部割込み
8チャネル
C-CAN
2チャネル
RX0, RX1
TX0, TX1
PORT
PORT I/F
リロードタイマ
3チャネル
TIN0~TIN2
TOT0~TOT2
PWCタイマ
1チャネル
PWC0
16 PPGタイマ
16チャネル
PPG0H~PPG15H
ICU2
IN0~IN3
インプット
ICU3
キャプチャ
ICU0
4チャネル
ICU1
OUT0, OUT1
アウトプット OCU0
コンペア
OCU1
リアルタイムクロック
CPU 動作検出リセット
2チャネル
CK0, CK1
SGA0~SGA2
SGO0~SGO2
AVRL
ATGX
AVCC/AVSS
AVRH
AN0~AN23
SIN0, SIN3~SIN5
SOT0, SOT3~SOT5
SCK0, SCK3~SCK5
フリーラン
タイマ
2チャネル
FRT0
FRT1
サウンドジェネレータ
3チャネル
ステッパモータ
コントローラ
4 チャネル
入力A/Dコンバータ
24チャネル
LIN-UART
4チャネル
PWM1P0
PWM1M0
PWM2P0
PWM2M0
PWM1P1
PWM1M1
PWM2P1
PWM2M1
PWM1P3
PWM1M3
PWM2P3
PWM2M3
PWM1P2
PWM2P2
PWM2M2
PWM1M2
COM0~COM3
32seg×4COM
LCD コントローラ
I2C
2チャネル
D/Aコンバータ
2チャネル
SEG0~SEG31
SDA0/SDA1
SCL0/SCL1
DA0/DA1
*:DSU は MB91V220B のみ搭載です。
<注意事項>
クロック 1 系統品はサブクロックをサポートしません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
5
第 1 章 概要
1.4 外形寸法図
MB91220 シリーズ
外形寸法図
1.4
図 1.4-1 にパッケージの外形寸法図を示します。
■ パッケージ外形寸法図
図 1.4-1 外形寸法図
プラスチック・LQFP, 144ピン
(FPT-144P-M08)
プラスチック・LQFP, 144ピン
(FPT-144P-M08)
リードピッチ
0.50 mm
パッケージ幅×
パッケージ長さ
20.0 × 20.0 mm
リード形状
ガルウィング
封止方法
プラスチックモールド
取付け高さ
1.70 mm MAX
質量
1.20 g
コード(参考)
P-LFQFP144-20×20-0.50
注1)*印寸法はレジン残りを含まず。レジン残りは、片側+0.25(.010)MAX
注2)端子幅および端子厚さはメッキ厚を含む。
注3)端子幅はタイバ切断残りを含まず。
22.00±0.20(.866±.008)SQ
* 20.00±0.10(.787±.004)SQ
108
0.145±0.055
(.006±.002)
73
109
72
0.08(.003)
Details of "A" part
+0.20
1.50 –0.10
+.008
.059 –.004
0°~8°
INDEX
144
37
"A"
LEAD No.
1
36
0.50(.020)
C
0.22±0.05
(.009±.002)
0.08(.003)
0.50±0.20
(.020±.008)
0.60±0.15
(.024±.006)
(Mounting height)
0.10±0.10
(.004±.004)
(Stand off)
0.25(.010)
M
2003-2010 FUJITSU SEMICONDUCTOR LIMITED F144019S-c-4-8
単位:mm(inches)
注意:括弧内の値は参考値です。
最新の外形寸法図については , 下記の URL にてご確認ください。
http://edevice.fujitsu.com/package/jp-search/
6
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 1 章 概要
1.5 端子配列図
MB91220 シリーズ
1.5
端子配列図
MB91220 シリーズの端子配列を示します。
■ 端子配列図
図 1.5-1 に , MB91220 シリーズの端子配列図 (LQFP-144) を示します。
P20/SEG0/A00
PD7/COM3/PPG7H
PD6/COM2/PPG5H
PD5/COM1/PPG3H *
PD4/COM0/PPG1H *
PD3/IN3/V3
PD2/TIN2/IN2/V2
PD1/TIN1/IN1/V1
PD0/TIN0/IN0/PWC0/INT2/V0
P47/SYSCLK
P46/ASX
P57/OUT1/RDY
P56/OUT0/WR1X
P55/SCK5/WR0X
P54/SOT5/RDX
X0
X1
VSS
VCC
P53/SIN5/CK1/CS3X
P52/SCK4/CS2X
P51/SOT4/CS1X
P50/SIN4/CK0/CS0X
P45/SCK3
P44/SOT3
P43/SIN3/INT1
P42/SCK0
P41/SOT0
P40/SIN0/INT0
PG3/TOT2/PPG6H
PG2/TOT1/PPG4H
PG1/TOT0/PPG2H
P73/TX1
P72/INT7/RX1
P71/TX0
P70/INT6/RX0
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
図 1.5-1 MB91220 シリーズの LQFP-144 端子配列図
A01/SEG1/P21
1
108
INITX
A02/SEG2/P22
A03/SEG3/P23
A04/SEG4/P24
A05/SEG5/P25
2
3
4
5
107
106
105
104
MD0
MD1
MD2
DVSS
A06/SEG6/P26
A07/SEG7/P27
A08/SEG8/P30
A09/SEG9/P31
A10/SEG10/P32
A11/SEG11/P33
A12/SEG12/P34
6
7
8
9
10
11
12
103
102
101
100
99
98
97
DVCC
PE7/PPG15H/SCL1
PE6/PPG14H/SDA1
PE5/PPG13H/SCL0
PE4/PPG12H/SDA0
PE3/PWM2M2
PE2/PWM2P2
A13/SEG13/P35
A14/SEG14/P36
A15/SEG15/P37
X0A
X1A
VCC
VSS
13
14
15
16
17
18
96
95
94
93
92
91
PE1/PWM1M2
PE0/PWM1P2
PA3/PWM2M3
PA2/PWM2P3
PA1/PWM1M3
PA0/PWM1P3
90
89
88
87
86
85
84
DVSS
DVCC
PF7/AN15
PF6/AN14
PF5/AN13
PF4/AN12
PF3/AN11
83
82
81
80
79
78
77
76
75
74
73
PF2/AN10
PF1/AN9
PF0/AN8
P67/AN7
P66/AN6
P65/AN5
P64/AN4
P63/AN3
P62/AN2
P61/AN1
P60/AN0
VCC3C
D08/SEG16/P10
D09/SEG17/P11
D10/SEG18/P12
D11/SEG19/P13
D12/SEG20/P14
D13/SEG21/P15
D14/SEG22/P16
D15/SEG23/P17
D00/SEG24/P00
D01/SEG25/P01
D02/SEG26/P02
D03/SEG27/P03
D04/SEG28/P04
D05/SEG29/P05
D06/SEG30/P06
D07/ATGX/SEG31/P07
TOP VIEW
MB91F223/S
MB91F224/S
(LQFP144)
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
66
67
68
69
P86/AN22/INT4
P85/AN21/INT3
P84/AN20
P83/AN19
P82/AN18
P81/AN17
P80/AN16
AVSS/AVRL
65
P87/AN23/INT5
72
64
P90/DA0
AVCC
63
AVRH
62
P91/DA1
71
61
P92/SGA0
70
60
PC2/PWM2P0
59
PC1/PWM1M0
P93/SGO0
P94/SGA1
50
PC0/PWM1P0
58
49
PB7/PWM2M1
P95/SGO1
48
PB6/PWM2P1
57
47
PB5/PWM1M1
P96/SGA2
46
PB4/PWM1P1
P97/SGO2
45
PB3/PPG11H
PB2/PPG10H
56
55
44
DVSS
43
PB1/PPG9H
54
42
PB0/PPG8H
DVCC
41
DVSS
53
40
DVCC
PC3/PWM2M0
39
PG0/PPG0H
52
38
51
37
*: PD4とPD5については, PFRD/EPFRD レジスタにて同じ端子機能を選択してください。
PD4をポート機能として使用する場合は, PD5もポート機能として使用してください。
PD4をPPG機能として使用する場合は, PD5もPPG機能として使用してください。
PD4をCOM機能として使用する場合は, PD5もCOM機能として使用してください。
(FPT-144P-M08)
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
7
第 1 章 概要
1.6 端子機能説明
1.6
MB91220 シリーズ
端子機能説明
MB91220 シリーズの端子機能について説明します。
■ 端子機能説明
表 1.6-1 に , MB91220 シリーズの端子機能を示します。
表 1.6-1 端子機能一覧表 (1 / 8)
端子番号
端子名
回路形式
129
X0
A
メインクロック ( 発振 ) 入力です。
128
X1
A
メインクロック ( 発振 ) 出力です。
16
X0A
B
サブクロック ( 発振 ) 入力です。
17
X1A
B
サブクロック ( 発振 ) 出力です。
108
INITX
C
外部リセット入力です。
105
MD2
D
モード端子 2 です。この端子の設定により基本動作モードを
設定します。VCC または VSS に接続してください。
106
MD1
D
モード端子 1 です。この端子の設定により基本動作モードを
設定します。VCC または VSS に接続してください。
107
MD0
D
モード端子 0 です。この端子の設定により基本動作モードを
設定します。VCC または VSS に接続してください。
P00 ∼ P06
29 ∼ 35
SEG24 ∼ SEG30
汎用入出力ポートです。
G
D00 ∼ D06
汎用入出力ポートです。
SEG31
ATGX
G
D07
SEG16 ∼ SEG23
G
汎用入出力ポートです。
F
A00
8 ∼ 15
SEG1 ∼ SEG7
汎用入出力ポートです。
F
LCDC の SEG 出力です。
A01 ∼ A07
外部アドレスバスの bit01 ∼ bit07 です。
P30 ∼ P37
汎用入出力ポートです。
SEG8 ∼ SEG15
A08 ∼ A15
8
LCDC の SEG 出力です。
外部アドレスバスの bit00 です。
P21 ∼ P27
1∼7
LCDC の SEG 出力です。
外部データバスの bit08 ∼ bit15 です。
P20
SEG0
AD コンバータの外部トリガ入力です。
汎用入出力ポートです。
D08 ∼ D15
144
LCDC の SEG 出力です。
外部データバスの bit07 です。
P10 ∼ P17
21 ∼ 28
LCDC の SEG 出力です。
外部データバスの bit00 ∼ bit06 です。
P07
36
説明
F
LCDC の SEG 出力です。
外部アドレスバスの bit08 ∼ bit15 です。
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 1 章 概要
1.6 端子機能説明
MB91220 シリーズ
表 1.6-1 端子機能一覧表 (2 / 8)
端子番号
116
端子名
回路形式
P40
汎用入出力ポートです。LIN-UART0 のデータ入力指定が禁止
のときに有効になります。
SIN0
LIN-UART0 のデータ入力です。LIN-UART0 が入力動作をし
ている間は , この入力を随時使用しますので , 意図的に行う
以外は , ポートによる出力を停止する必要があります。
M
INT0
外部割込み入力です。対応する外部割込みを許可している間
は , この入力を随時使用していますので , 意図的に行う以外
は , ポートによる出力を停止する必要があります。
P41
汎用入出力ポートです。LIN-UART0 のデータ出力指定が禁止
のときに有効になります。
117
I
SOT0
P42
118
I
汎用入出力ポートです。LIN-UART1 のデータ入力指定が禁止
のときに有効になります。
SIN3
LIN-UART1 のデータ入力です。LIN-UART1 が入力動作をし
ている間は , この入力を随時使用しますので , 意図的に行う
以外は , ポートによる出力を停止する必要があります。
M
INT1
外部割込み入力です。対応する外部割込みを許可している間
は , この入力を随時使用していますので , 意図的に行う以外
は , ポートによる出力を停止する必要があります。
P44
汎用入出力ポートです。LIN-UART1 のデータ出力指定が禁止
のときに有効になります。
I
SOT3
P45
121
I
SCK3
P46
ASX
CM71-10142-5
SYSCLK
LIN-UART1 のデータ出力です。この機能は LIN-UART1 の
データ出力指定が許可のときに有効になります。
汎用入出力ポートです。LIN-UART1 のクロック出力指定が禁
止のときに有効になります。
LIN-UART1 のクロック入出力です。この機能は LIN-UART1
のクロック出力指定が許可のときに有効になります。
汎用入出力ポートです。
I
P47
135
汎用入出力ポートです。LIN-UART0 のクロック出力指定が禁
止のときに有効になります。
P43
120
134
LIN-UART0 のデータ出力です。この機能は LIN-UART0 の
データ出力指定が許可のときに有効になります。
LIN-UART0 のクロック入出力です。この機能は LIN-UART0
のクロック出力指定が許可のときに有効になります。
SCK0
119
説明
アドレスストローブ出力です。この機能はアドレスストロー
ブ出力が許可のときに有効になります。
汎用入出力ポートです。
I
システムクロック出力です。この機能はシステムクロック出
力指定が許可のときに有効になります。外バス動作周波数と
同じクロックを出力します (STOP 時に停止します ) 。
FUJITSU SEMICONDUCTOR LIMITED
9
第 1 章 概要
1.6 端子機能説明
MB91220 シリーズ
表 1.6-1 端子機能一覧表 (3 / 8)
端子番号
122
端子名
回路形式
P50
汎用入出力ポートです。LIN-UART2 のデータ入力指定が禁止
のときに有効になります。
SIN4
LIN-UART2 のデータ入力です。LIN-UART2 が入力動作をし
ている間は , この入力を随時使用しますので , 意図的に行う
以外は , ポートによる出力を停止する必要があります。
M
CK0
フリーランタイマ 0 の外部クロック入力です。
CS0X
チップセレクト 0 の出力です。この機能はチップセレクト 0
出力指定が許可のときに有効になります。
汎用入出力ポートです。LIN-UART2 のデータ出力指定が禁止
のときに有効になります。
P51
123
SOT4
I
汎用入出力ポートです。LIN-UART2 のクロック出力指定が禁
止のときに有効になります。
P52
SCK4
I
P53
汎用入出力ポートです。LIN-UART3 のデータ入力指定が禁止
のときに有効になります。
SIN5
LIN-UART3 のデータ入力です。LIN-UART3 が入力動作をし
ている間は , この入力を随時使用しますので , 意図的に行う
以外は , ポートによる出力を停止する必要があります。
M
CK1
フリーランタイマ 1 の外部クロック入力です。
CS3X
チップセレクト 3 の出力です。この機能はチップセレクト 3
出力指定が許可のときに有効になります。
汎用入出力ポートです。LIN-UART3 のデータ出力指定が禁止
のときに有効になります。
P54
130
131
SOT5
I
外バスリードストローブ出力です。外バスモード時に有効に
なります。
P55
汎用入出力ポートです。LIN-UART3 のクロックで力指定が禁
止のときに有効になります。
SCK5
I
OUT0
WR1X
LIN-UART3 のクロック入出力です。この機能は LIN-UART3
のクロック出力指定が許可のときに有効になります。
外バスリードストローブ出力です。外バスモード時 WR0X の
出力を許可にすると有効になります。
P56
10
LIN-UART3 のデータ出力です。この機能は LIN-UART3 の
データ出力指定が許可のときに有効になります。
RDX
WR0X
132
LIN-UART2 のクロック入出力です。この機能は LIN-UART2
のクロック出力指定が許可のときに有効になります。
チップセレクト 2 の出力です。この機能はチップセレクト 2
出力指定が許可のときに有効になります。
CS2X
125
LIN-UART2 のデータ出力です。この機能は LIN-UART2 の
データ出力指定が許可のときに有効になります。
チップセレクト 1 の出力です。この機能はチップセレクト 1
出力指定が許可のときに有効になります。
CS1X
124
説明
汎用入出力ポートです。
I
アウトプットコンペアの出力です。
外バスライトストローブ出力です。外バスモード時 WR1X の
出力を許可にすると有効になります。
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 1 章 概要
1.6 端子機能説明
MB91220 シリーズ
表 1.6-1 端子機能一覧表 (4 / 8)
端子番号
端子名
回路形式
P57
OUT1
133
説明
汎用入出力ポートです。
J
アウトプットコンペアの出力です。
RDY
外部レディ入力です。この機能は外部レディ入力指定が許可
のときに有効になります。
P60 ∼ P67
汎用入出力ポートです。この機能はアナログ入力指定が禁止
のときに有効になります。
E
73 ∼ 80
AN0 ∼ AN7
P70
INT6
109
汎用入出力ポートです。
I
RX0
P71
110
TX0
INT7
I
P73
TX1
I
CAN0 の TX0 出力端子です。
外部割込み入力です。対応する外部割込みを許可している間
は , この入力を随時使用していますので , 意図的に行う以外
は , ポートによる出力を停止する必要があります。
CAN1 の RX1 入力端子です。
I
P80 ∼ P84
E
69 ∼ 65
汎用入出力ポートです。
汎用入出力ポートです。
RX1
112
外部割込み入力です。対応する外部割込みを許可している間
は , この入力を随時使用していますので , 意図的に行う以外
は , ポートによる出力を停止する必要があります。
CAN0 の RX0 入力端子です。
P72
111
A/D コンバータのアナログ入力です。ADER レジスタの指定
がアナログ入力のとき有効になります。
汎用入出力ポートです。
CAN1 の TX1 出力端子です。
汎用入出力ポートです。この機能はアナログ入力指定が禁止
のときに有効になります。
AN16 ∼ AN20
A/D コンバータのアナログ入力です。ADER レジスタの指定
がアナログ入力のとき有効になります。
P85
汎用入出力ポートです。この機能はアナログ入力指定が禁止
のときに有効になります。
64
63
INT3
外部割込み入力です。対応する外部割込みを許可している間
は , この入力を随時使用していますので , 意図的に行う以外
は , ポートによる出力を停止する必要があります。
AN21
A/D コンバータのアナログ入力です。ADER レジスタの指定
がアナログ入力のとき有効になります。
P86
汎用入出力ポートです。この機能はアナログ入力指定が禁止
のときに有効になります。
INT4
AN22
CM71-10142-5
E
E
外部割込み入力です。対応する外部割込みを許可している間
は , この入力を随時使用していますので , 意図的に行う以外
は , ポートによる出力を停止する必要があります。
A/D コンバータのアナログ入力です。ADER レジスタの指定
がアナログ入力のとき有効になります。
FUJITSU SEMICONDUCTOR LIMITED
11
第 1 章 概要
1.6 端子機能説明
MB91220 シリーズ
表 1.6-1 端子機能一覧表 (5 / 8)
端子番号
端子名
回路形式
汎用入出力ポートです。この機能はアナログ入力指定が禁止
のときに有効になります。
P87
62
INT5
E
60
59
58
57
56
55
54
91
92
93
94
P90
DA0
P91
DA1
P92
SGA0
P93
SGO0
P94
SGA1
P95
SGO1
P96
SGA2
P97
SGO2
PA0
PWM1P3
PA1
PWM1M3
PA2
PWM2P3
PA3
PWM2M3
L
L
I
I
I
I
I
I
H
H
H
H
PB0
40
PPG8H
PPG9H
12
PPG10H
D/A コンバータのアナログ出力端子です。
汎用入出力ポートです。
D/A コンバータのアナログ出力端子です。
汎用入出力ポートです。
サウンドジェネレータ 0 用出力端子です。
汎用入出力ポートです。
サウンドジェネレータ 0 用出力端子です。
汎用入出力ポートです。
サウンドジェネレータ 1 用出力端子です。
汎用入出力ポートです。
サウンドジェネレータ 1 用出力端子です。
汎用入出力ポートです。
サウンドジェネレータ 2 用出力端子です。
汎用入出力ポートです。
サウンドジェネレータ 2 用出力端子です。
汎用入出力ポートです。
ステッパモータコントローラの PWM 出力端子です。
汎用入出力ポートです。
ステッパモータコントローラの PWM 出力端子です。
汎用入出力ポートです。
ステッパモータコントローラの PWM 出力端子です。
汎用入出力ポートです。
ステッパモータコントローラの PWM 出力端子です。
PPG タイマ 8 の出力です。この機能は PPG タイマ 8 の出力指
定が許可のときに有効になります。
汎用入出力ポートです。
I
PB2
42
汎用入出力ポートです。
汎用入出力ポートです。
I
PB1
41
外部割込み入力です。対応する外部割込みを許可している間
は , この入力を随時使用していますので , 意図的に行う以外
は , ポートによる出力を停止する必要があります。
A/D コンバータのアナログ入力です。ADER レジスタの指定
がアナログ入力のとき有効になります。
AN23
61
説明
PPG タイマ 9 の出力です。この機能は PPG タイマ 9 の出力指
定が許可のときに有効になります。
汎用入出力ポートです。
I
PPG タイマ 10 の出力です。この機能は PPG タイマ 10 の出力
指定が許可のときに有効になります。
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 1 章 概要
1.6 端子機能説明
MB91220 シリーズ
表 1.6-1 端子機能一覧表 (6 / 8)
端子番号
端子名
回路形式
PB3
43
44
45
46
47
48
49
50
51
PPG11H
PB4
PWM1P1
PB5
PWM1M1
PB6
PWM2P1
PB7
PWM2M1
PC0
PWM1P0
PC1
PWM1M0
PC2
PWM2P0
PC3
PWM2M0
汎用入出力ポートです。
I
H
H
H
H
H
H
H
H
汎用入出力ポートです。
ステッパモータコントローラの PWM 出力端子です。
汎用入出力ポートです。
ステッパモータコントローラの PWM 出力端子です。
汎用入出力ポートです。
ステッパモータコントローラの PWM 出力端子です。
汎用入出力ポートです。
ステッパモータコントローラの PWM 出力端子です。
汎用入出力ポートです。
ステッパモータコントローラの PWM 出力端子です。
汎用入出力ポートです。
ステッパモータコントローラの PWM 出力端子です。
汎用入出力ポートです。
ステッパモータコントローラの PWM 出力端子です。
汎用入出力ポートです。
ステッパモータコントローラの PWM 出力端子です。
汎用入力ポートです。
TIN0
リロードタイマ 0 の外部イベント入力端子です。
136
K
インプットキャプチャ 0 のトリガ入力です。インプットキャ
プチャトリガ入力を設定し , 入力ポートを設定した場合に入
力できます。インプットキャプチャ入力として選択した場合
は , この入力を随時使用しますので , 意図的に行う以外は ,
ポートによる出力を停止する必要があります。
PWC0
PWC0 のパルス幅カウンタ 0 入力です。この機能は PWC0 の
パルス幅カウンタ 0 入力が許可のときに有効になります。
INT2
外部割込み入力です。対応する外部割込みを許可している間
は , この入力を随時使用していますので , 意図的に行う以外
は , ポートによる出力を停止する必要があります。
V0
LCD 用ドライバ電源入力端子です。
PD1
汎用入力ポートです。
TIN1
リロードタイマ 1 の外部イベント入力端子です。
IN1
V1
CM71-10142-5
PPG タイマ 11 の出力です。この機能は PPG タイマ 11 の出力
指定が許可のときに有効になります。
PD0
IN0
137
説明
K
インプットキャプチャ 1 のトリガ入力です。インプットキャ
プチャトリガ入力を設定し , 入力ポートを設定した場合に入
力できます。インプットキャプチャ入力として選択した場合
は , この入力を随時使用しますので , 意図的に行う以外は ,
ポートによる出力を停止する必要があります。
LCD 用ドライバ電源入力端子です。
FUJITSU SEMICONDUCTOR LIMITED
13
第 1 章 概要
1.6 端子機能説明
MB91220 シリーズ
表 1.6-1 端子機能一覧表 (7 / 8)
端子番号
138
139
140
端子名
回路形式
PD2
汎用入力ポートです。
TIN2
リロードタイマ 2 の外部イベント入力端子です。
IN2
K
LCD 用ドライバ電源入力端子です。
PD3
汎用入力ポートです。
IN3
インプットキャプチャ 3 のトリガ入力です。インプットキャ
プチャトリガ入力を設定し , 入力ポートを設定した場合に入
力できます。インプットキャプチャ入力として選択した場合
は , この入力を随時使用しますので , 意図的に行う以外は ,
ポートによる出力を停止する必要があります。
K
V3
LCD 用ドライバ電源入力端子です。内蔵ラダー抵抗の電源に
もなります。
PD4
汎用入出力ポートです。
COM0
F
COM1
汎用入出力ポートです。
F
PD6
汎用入出力ポートです。
F
PD7
143
汎用入出力ポートです。
F
96
97
98
14
PE0
PWM1P2
PE1
PWM1M2
PE2
PWM2P2
PE3
PWM2M2
LCDC の COM3 出力です。
PPG タイマ 7 の出力です。この機能は PPG タイマ 7 の出力指
定が許可のときに有効になります。
PPG7H
95
LCDC の COM2 出力です。
PPG タイマ 5 の出力です。この機能は PPG タイマ 5 の出力指
定が許可のときに有効になります。
PPG5H
COM3
LCDC の COM1 出力です。
PPG タイマ 3 の出力です。この機能は PPG タイマ 3 の出力指
定が許可のときに有効になります。
PPG3H
COM2
LCDC の COM0 出力です。
PPG タイマ 1 の出力です。この機能は PPG タイマ 1 の出力指
定が許可のときに有効になります。
PD5
142
インプットキャプチャ 2 のトリガ入力です。インプットキャ
プチャトリガ入力を設定し , 入力ポートを設定した場合に入
力できます。インプットキャプチャ入力として選択した場合
は , この入力を随時使用しますので , 意図的に行う以外は ,
ポートによる出力を停止する必要があります。
V2
PPG1H
141
説明
H
H
H
H
汎用入出力ポートです。
ステッパモータコントローラの PWM 出力端子です。
汎用入出力ポートです。
ステッパモータコントローラの PWM 出力端子です。
汎用入出力ポートです。
ステッパモータコントローラの PWM 出力端子です。
汎用入出力ポートです。
ステッパモータコントローラの PWM 出力端子です。
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 1 章 概要
1.6 端子機能説明
MB91220 シリーズ
表 1.6-1 端子機能一覧表 (8 / 8)
端子番号
端子名
回路形式
PE4
PPG12H
99
汎用入出力ポートです。
N
PE5
PPG13H
汎用入出力ポートです。
N
PE6
PPG14H
汎用入出力ポートです。
N
PE7
PPG15H
汎用入出力ポートです。
N
PF0 ∼ PF7
E
AN8 ∼ AN15
PG0
37
PPG0H
TOT0
I
I
PPG6H
CM71-10142-5
リロードタイマ 1 の外部タイマ出力です。
PPG タイマ 4 の出力です。この機能は PPG タイマ 4 の出力指
定が許可のときに有効になります。
PG3
115
リロードタイマ 0 の外部タイマ出力です。
汎用入出力ポートです。
PPG4H
TOT2
PPG タイマ 0 の出力です。この機能は PPG タイマ 0 の出力指
定が許可のときに有効になります。
PPG タイマ 2 の出力です。この機能は PPG タイマ 2 の出力指
定が許可のときに有効になります。
PG2
TOT1
A/D コンバータのアナログ入力です。ADER レジスタの指定
がアナログ入力のとき有効になります。
汎用入出力ポートです。
PPG2H
114
汎用入出力ポートです。この機能はアナログ入力指定が禁止
のときに有効になります。
汎用入出力ポートです。
I
PG1
113
PPG タイマ 15 の出力です。この機能は PPG タイマ 15 の出力
指定が許可のときに有効になります。
I2C1 用シリアルクロック入出力端子です。
SCL1
81 ∼ 88
PPG タイマ 14 の出力です。この機能は PPG タイマ 14 の出力
指定が許可のときに有効になります。
I2C1 用シリアルデータ入出力端子です。
SDA1
102
PPG タイマ 13 の出力です。この機能は PPG タイマ 13 の出力
指定が許可のときに有効になります。
I2C0 用シリアルクロック入出力端子です。
SCL0
101
PPG タイマ 12 の出力です。この機能は PPG タイマ 12 の出力
指定が許可のときに有効になります。
I2C0 用シリアルデータ入出力端子です。
SDA0
100
説明
汎用入出力ポートです。
I
リロードタイマ 2 の外部タイマ出力です。
PPG タイマ 6 の出力です。この機能は PPG タイマ 6 の出力指
定が許可のときに有効になります。
FUJITSU SEMICONDUCTOR LIMITED
15
第 1 章 概要
1.6 端子機能説明
MB91220 シリーズ
[ 電源・GND 端子 ]
16
端子番号
端子名
端子機能
19, 127
VSS
GND 端子です。すべて同電位で使用してください。
18, 126
VCC
電源端子です。すべて同電位で使用してください。
70
AVCC
A/D コンバータ用のアナログ電源端子です。
71
AVRH
A/D コンバータ用のアナログ基準電源端子です。
72
AVSS/AVRL
20
VCC3C
内部レギュレータ用のコンデンサ結合端子です。
38, 52, 89, 103
DVCC
SMC 用の電源端子です。
39, 53, 90, 104
DVSS
SMC 用の GND 端子です。
A/D コンバータ用アナログ GND/ アナログ基準電源端子です。
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 1 章 概要
1.7 入出力回路形式
MB91220 シリーズ
1.7
入出力回路形式
入出力回路形式を示します。
■ 入出力回路形式
表 1.7-1 入出力回路形式 (1 / 4)
分類
A
回路形式
備考
X1
クロック入力
高速用 ( メインクロック原発振 )
発振帰還抵抗 約 1MΩ
クロック入力
低速用 ( サブクロック原発振 )
発振帰還抵抗 約 7MΩ
X0
スタンバイ制御
B
X1A
X0A
スタンバイ制御
C
P-ch
• ヒステリシス入力
P-ch
• プルアップ抵抗付き
プルアップ抵抗値=約 50kΩ(Typ)
N-ch
• スタンバイ制御なし
R
ヒステリシス入力
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
17
第 1 章 概要
1.7 入出力回路形式
MB91220 シリーズ
表 1.7-1 入出力回路形式 (2 / 4)
分類
D
回路形式
備考
• フラッシュメモリ品
ヒステリシス入力
Flash テスト用の高電圧制御あり
フラッシュメモリ品
制御
モード入力
拡散抵抗
E
• CMOS 出力 (4mA)
P-ch
デジタル出力
N-ch
デジタル出力
R
ヒステリシス入力
(Automotiveレベル)
• ヒステリシス (Automotive レベル )
入力 ( スタンバイ制御付き )
• アナログ入力
(ADERH, ADERL レジスタの対応す
るビット (ADEn) が "1" のときアナ
ログ入力が有効になります )
スタンバイ制御
アナログ入力
F
P-ch
デジタル出力
• CMOS 出力 (4mA)
• LCDC 出力
N-ch
デジタル出力
• ヒステリシス (Automotive レベル )
入力 ( スタンバイ制御付き )
R
LCDC出力
ヒステリシス入力
(Automotiveレベル)
R
スタンバイ制御
G
P-ch
N-ch
デジタル出力
デジタル出力
LCDC出力
R
R
ヒステリシス入力
(Automotiveレベル)
• CMOS 出力 (4mA)
• LCDC 出力
• ヒステリシス (Automotive レベル )
入力 ( スタンバイ制御付き )
• ヒステリシス (TTL レベル ) 入力
( スタンバイ制御付き )
ヒステリシス入力
R
(TTLレベル)
スタンバイ制御
18
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 1 章 概要
1.7 入出力回路形式
MB91220 シリーズ
表 1.7-1 入出力回路形式 (3 / 4)
分類
H
回路形式
備考
P-ch
デジタル出力
N-ch
デジタル出力
• CMOS 出力
PWM 用大電流出力 (30mA)
• ヒステリシス (Automotive レベル )
入力 ( スタンバイ制御付き )
R
ヒステリシス入力
(Automotiveレベル)
スタンバイ制御
I
• CMOS 出力 (4mA)
P-ch
デジタル出力
N-ch
• ヒステリシス (Automotive レベル )
入力 ( スタンバイ制御付き )
デジタル出力
R
ヒステリシス入力
(Automotiveレベル)
スタンバイ制御
J
P-ch
N-ch
R
ヒステリシス入力
(Automotiveレベル)
R
ヒステリシス入力
(TTL レベル)
• CMOS 出力 (4mA)
• ヒステリシス (Automotive レベル )
入力 ( スタンバイ制御付き )
• ヒステリシス (TTL レベル ) 入力
( スタンバイ制御付き )
スタンバイ制御
K
• ヒステリシス入力
(Automotive レベル )
P-ch
• スタンバイ制御付き
N-ch
R
ヒステリシス入力
(Automotiveレベル)
スタンバイ制御
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
19
第 1 章 概要
1.7 入出力回路形式
MB91220 シリーズ
表 1.7-1 入出力回路形式 (4 / 4)
分類
L
回路形式
備考
P-ch
デジタル出力
N-ch
デジタル出力
• CMOS 出力 (4mA)
• アナログ出力 (D/A コンバータ )
• ヒステリシス (Automotive レベル )
入力 ( スタンバイ制御付き )
アナログ出力
R
ヒステリシス入力
(Automotiveレベル)
スタンバイ制御
R
M
• CMOS 出力 (4mA)
P-ch
デジタル出力
N-ch
デジタル出力
R
ヒステリシス入力
(Automotiveレベル)
R
ヒステリシス入力
(CMOS レベル)
• ヒステリシス (Automotive レベル )
入力 ( スタンバイ制御付き )
• ヒステリシス (CMOS レベル ) 入力
( スタンバイ制御付き )
スタンバイ制御
N
• CMOS 出力 (3mA)
P-ch
デジタル出力
N-ch
デジタル出力
I2C使用時は
P-ch遮断
R
ヒステリシス入力
(Automotiveレベル)
R
ヒステリシス入力
(CMOS レベル)
• ヒステリシス (Automotive レベル )
入力 ( スタンバイ制御付き )
• ヒステリシス (CMOS レベル ) 入力
( スタンバイ制御付き )
スタンバイ制御
20
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 1 章 概要
1.8 本書の読み方
MB91220 シリーズ
1.8
本書の読み方
本書の読み方を説明します。
■ アクセス単位とアドレス位置
オフセット
読出しのみ
読書き可能
アドレスオフセット値 / レジスタ名
アドレス
000060H
レジスタ名
ブロック
+0
+1
+2
+3
SSR0[R/W]
B,H,W
00001000
SIDR0[R]
B,H,W
SODR0[W]
B,H,W
XXXXXXXX
SCR0[R/W]
B,H,W
00000100
SMR0[R/W]
B,H,W
00000-0-
UART0
DRCL0[W]
B
XXXXXXX
UTIMC0[R/W]
B
0--00001
U-TIMER0
UTIM0[R] H
(UTIMR0[W]H)
00000000 00000000
000064H
Byte アクセス , Half-word アクセス , Word アクセスが可能
書込みのみ
初期値
アクセスには , Byte, Half-Word, Word の 3 種類がありますが , レジスタによってはアク
セス制限がありますので注意ください。詳細につきましては , 「付録 A I/O マップ」ま
たは , 各章の「4. レジスタ詳細説明」をご参照ください。
B, H, W :Byte アクセス , Half-word アクセス , Word アクセスが可能
B
:Byte アクセス ( 必ず Byte でアクセスしてください。)
H
:Half-word アクセス ( 必ず Half-word でアクセスしてください。)
W
:Word アクセス ( 必ず Word でアクセスしてください。)
B, H
:Byte アクセス , Half-word アクセスのみ (Word ではアクセスできません。)
H, W
:Half-word アクセス , Word アクセスのみ (Byte ではアクセスできません。)
( 参考 )
アクセス時のアドレス位置を説明します。
• Word アクセスの場合 , アドレスは 4 の倍数 ( 最下位 2 ビットは強制的に "00" です )
• Half-wordアクセスの場合, アドレスは2の倍数 (最下位1ビットは強制的に"0"です)
• Byte アクセスの場合 , アドレスはそのままです。
このため , たとえば , SSR0 レジスタを Half-word アクセスするには , アドレス 060H 番
地に対して , SSR0+SIDR0(SODR0) レジスタにアクセスするかたちになります。
( アドレスオフセットが +1 と +2 ( 例:SIDR0+SCR0) での Half-word アクセスはできま
せん。)
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
21
第 1 章 概要
1.8 本書の読み方
MB91220 シリーズ
■ ビット属性記号の意味について
R
:読出し可能です。
W
:書込み可能です。
RM
:リードモディファイライト動作時の読出し動作の意味です。
"/"( スラッシュ )R/W :読出しと書込みが可能です。
( 読出し値は , 書き込んだ値です。)
","( カンマ )R, W
:読出しと書込みで意味が違います。( 読出し値は , 書き込んだ
値と異なります。)
R0
:読出し値は "0" です。
R1
:読出し値は "1" です。
W0
:必ず "0" を書いてください。
W1
:必ず "1" を書いてください。
(RM0)
:リードモディファイライト動作では "0" が読めます。
(RM1)
:リードモディファイライト動作では "1" が読めます。
RX
:読出し値は不定です。( 予約ビットまたは , 未定義ビット )
WX
:書込みを行っても動作に影響を与えません。( 未定義ビット )
• R/W 記載例
• R/W
:リード・ライト可能 ( 読出し値は書込み値 )
• R,W
:リード・ライト可能 ( 読出し値と書込み値が異なる )
• R,RM/W
:リード・ライト可能 ( 読出し値と書込み値が異なる , リードモディ
ファイライト命令時は書込み値が読み出される ) 例えば , ポート
データレジスタ。
• R(RM1), W :リード・ライト可能 ( 読出し値と書込み値が異なる , リードモディ
ファイライト命令時は 1 読出し ) 例えば , 割込み要求フラグ。
22
• R,WX
:リードオンリ ( 読出しは可能 , 書込みは動作に影響なし )
• R1,W
:ライトオンリ ( 書込みは可能 , 読出し値は 1)
• R0,W
:ライトオンリ ( 書込みは可能 , 読出し値は 0)
• RX,W
:ライトオンリ ( 書込みは可能 , 読出し値は不定 )
• R/W0
:予約ビット ( 書込み値は 0, 読出し値は書込み値 )
• R0,W0
:予約ビット ( 書込み値は 0, 読出し値は 0)
• R1,W0
:予約ビット ( 書込み値は 0, 読出し値は 1)
• RX,W0
:予約ビット ( 書込み値は 0, 読出し値は不定 )
• R/W1
:予約ビット ( 書込み値は 1, 読出し値は書込み値 )
• R1,W1
:予約ビット ( 書込み値は 1, 読出し値は 1)
• R0,W1
:予約ビット ( 書込み値は 1, 読出し値は 0)
• RX,W1
:予約ビット ( 書込み値は 1, 読出し値は不定 )
• RX,WX
:未定義ビット ( 読出し値は不定 , 書込みは動作に影響なし )
• R0,WX
:未定義ビット ( 読出し値は 0, 書込みは動作に影響なし )
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第2章
デバイスの取扱いについて
MB91220 シリーズの取扱い上の注意について説明
します。
2.1 デバイス取扱い上の注意
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
23
第 2 章 デバイスの取扱いについて
2.1 デバイス取扱い上の注意
2.1
MB91220 シリーズ
デバイス取扱い上の注意
ラッチアップ防止および端子処理について説明します。
■ デバイス取扱い上の注意
● ラッチアップ防止のために
CMOS IC では入力端子や出力端子に VCC 端子より高い電圧や VSS 端子より低い電圧
を印加した場合 , または VCC 端子と VSS 端子との 間に定格を超える電圧を印加した
場合にラッチアップ現象が発生することがあります。ラッチアップが発生すると電源
電流が激増し , 素子の熱破壊に至ることがありますので使用に際しては最大定格を超
えることのないよう十分に注意してください。
● 未使用端子の処理について
使用していない入力端子を開放のままにしておくと誤動作およびラッチアップによる
永久破壊の原因になることがありますので , 2kΩ 以上の抵抗を介してプルアップまた
はプルダウンの処理をしてください。
また , 使用していない入出力端子については出力状態にして開放とするか , 入力状態の
場合は入力端子と同じ処理をしてください。
● 電源端子について
VCC 端子 , VSS 端子が複数ある場合 , デバイス設計上はラッチアップなどの誤動作を
防止するためにデバイス内部で同電位にするべきものどうしを接続してありますが ,
不要輻射の低減・グランドレベルの上昇によるストローブ信号の誤動作の防止・総出
力電流規格の遵守などのため , 必ずそれらすべてを外部で電源およびグランドに接続
してください。
また , 電源供給源からできる限り低インピーダンスで本デバイスの VCC
端子または VSS 端子に接続するような配慮をお願いいたします。
本デバイスの近くで , VCC 端子と VSS 端子との間に 0.1μF 程度のセラミックコンデン
サをバイパスコンデンサとして接続することをお勧めいたします。
本デバイスはレギュレータを内蔵しております。本デバイスを 5V 電源で使用する場合
は , 5V 電源を VCC 端子に供給し , レギュレータ用に必ず VCC3C に 1μF 以上のコンデ
ンサを接続してください。
図 2.1-1 電源接続の例
5V
5V
5V
VCC
DVCC
AVCC
AVRH
AVSS
VSS
DVSS
VCC3C
1µF
GND
24
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 2 章 デバイスの取扱いについて
2.1 デバイス取扱い上の注意
MB91220 シリーズ
● 水晶発振回路について
X0 端子 , X1 端子 , X0A 端子 , X1A 端子の近辺のノイズは本デバイスの誤動作の原因と
なります。X0 端子と X1 端子 , X0A 端子と X1A 端子および水晶発振子 ( あるいはセラ
ミック発振子 ) さらにグランドへのバイパスコンデンサはできる限りデバイスの近く
に配置するようにプリント板を設計してください。X0 端子 , X1 端子からの信号を引き
回す場合は , ボード上でシールドして使用してください。特に X0 端子に隣接する端子
を使用する場合には注意が必要です。
X0 端子 , X1 端子 , X0A 端子 , X1A 端子の周りをグランドで囲むようなプリント板アー
トワークは安定した動作を期待できますので , 強くお勧めいたします。また , 2 系統品
を 1 系統品として使用する場合においてもサブクロックは必須です。
MB91F223S/F224S を使用する場合は , X0A 端子を GND へ接続し , X1A 端子を開放に
してください。
各量産品において , ご使用される発振子メーカに発振評価依頼をしてください。
● 水晶発振回路に隣接する端子について
• X0 (129pin) と P54/SOT5/RDX (130pin) の配線を隣接して並走させると , P54/SOT5/
RDX の変化で X0 にノイズが載り , 発振が誤カウントする可能性があります。それ
を避けるために , 推奨パターン図のように , 両者の配線の距離を離し , 間に GND パ
ターンを挿入してください。
• X0A (16pin) と A15/SEG15/P37 (15pin) の配線を隣接して並走させると , A15/SEG15/
P37 の変化で X0A にノイズが載り , 発振が誤カウントする可能性があります。それ
を避けるために , 推奨パターン図のように , 両者の配線の距離を離し , 間に GND パ
ターンを挿入してください。
図 2.1-2 推奨パターン図
X0
GND
P54/SOT5/RDX
P37/SEG15/A15
GND
X0A
● モード端子 (MD0 ∼ MD2) について
これらの端子は , ノイズによる誤動作を防ぐために , VCC 端子用電源または VSS 端子
用電源との間のパターン長をできる限り短く , 低インピーダンスで接続するようにし
てください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
25
第 2 章 デバイスの取扱いについて
2.1 デバイス取扱い上の注意
MB91220 シリーズ
● 電源投入時について
電源投入直後は , 必ず INITX 端子にて設定初期化リセット (INIT) を行ってください。
また , 電源投入直後は , 発振回路の発振安定待ち時間を確保するため , INITX 端子への
"L" レベル入力を発振回路の要求する安定待ち時間の間持続してください ( パワーオン
リセットによるリセットでは , 発振安定待ち時間の設定は最小値に初期化されていま
す)。
● 電源投入時の原発振入力について
電源投入時は , 必ず発振安定待ち解除されるまでの間 , クロックを入力してください。
● A/D コンバータの電源端子処理
A/D コンバータを使用しない場合においても , AVCC=AVRH=VCC, AVSS =VSS となる
ように接続してください。
● A/D コンバータの電源アナログ入力の投入順序
A/D コンバータの電源 (AVCC, AVRH) およびアナログ入力 (AN0 ∼ AN23) の印加は ,
必ずデジタル電源 (VCC) の投入後に行ってください。また , 電源切断時は A/D コンバー
タの電源およびアナログ入力切断の後で , デジタル電源 (VCC) を切断してください。そ
の際 , AVRH は AVCC を超えないように投入 , 切断してください。アナログ入力と兼
用している端子を入力ポートとして使用する場合においても , 入力電圧は AVCC を超
えないようにしてください。
● 高電流出力バッファ端子用電源 (DVCC, DVSS) の取扱い
高電流出力バッファ端子用電源 (DVCC) の印加は , 必ずデジタル電源 (VCC) の投入後
に行ってください。また , 電源切断時は高電流出力バッファ端子用電源切断の後で , デ
ジタル電源 (VCC) を切断してください。
高電流出力バッファ端子を汎用ポートとして使用する場合も , 高電流出力バッファ端
子用電源 (DVCC) を印加してください。
高電流出力バッファ端子用の GND 端子 (DVSS) は必ずデジタル GND(VSS) と同電位で
使用してください。
● メインモードからサブモードおよびストップモード遷移時の注意
メインモードからサブモードに遷移する場合は , 遷移後にメインクロックを必ず止め
てください (OSCCR:OSCDS1=1)。メイン / サブモードからストップモードへ遷移する
場合は , メイン / クロックをスタンバイ制御レジスタ STCR の OSCD1/OSCD2 の設定で
停止させることができます。ストップモードへ遷移する前に設定してください。また ,
サブモードもしくは , ストップモードからメインモードへ戻る場合は , 発振安定待ち時
間を確保してください。
● フラッシュ書込みについて
サブモードでのフラッシュ書込みはできませんので , ご注意ください。
● LCD 未使用時の端子処理について
COM0 ∼ COM3 端子と SEG0 ∼ SEG31 端子は , 開放としてください。
26
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第3章
CPU および制御部
FR60Lite のアーキテクチャ , 仕様 , 命令など , 機能
を知るための基本的な内容について説明します。
CM71-10142-5
3.1
メモリ空間
3.2
メモリマップ
3.3
内部アーキテクチャ
3.4
プログラミング・モデル
3.5
データ構造
3.6
ワードアライメント
3.7
メモリマップ
3.8
分岐命令
3.9
EIT ( 例外・割込み・トラップ )
3.10
動作モード
3.11
リセット ( デバイスの初期化 )
3.12
クロック生成制御
3.13
デバイス状態制御
FUJITSU SEMICONDUCTOR LIMITED
27
第 3 章 CPU および制御部
3.1 メモリ空間
3.1
MB91220 シリーズ
メモリ空間
MB91220 シリーズの論理アドレス空間は 4G バイト (232 番地 ) あり , CPU はリニア
にアクセスを行います。
■ ダイレクトアドレッシング領域
アドレス空間の下記の領域は I/O 用に使用されます。
この領域をダイレクトアドレッシング領域とよび , 命令中で直接オペランドのアドレ
スを指定できます。
ダイレクト領域は , アクセスするデータのサイズにより , 以下のようになります。
28
• バイトデータアクセス
: 000H ∼ 0FFH
• ハーフワードデータアクセス
: 000H ∼ 1FFH
• ワードデータアクセス
: 000H ∼ 3FFH
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.2 メモリマップ
MB91220 シリーズ
3.2
メモリマップ
MB91220 シリーズのメモリ空間を示します。
■ MB91220 シリーズのメモリマップ
図 3.2-1 MB91220 シリーズのメモリ空間
MB91V220B のメモリマップ
シングルチップモード
内ROM外バスモード
外ROM外バスモード
0000 0000H
I/O
I/O
I/O
I/O
I/O
I/O
アクセス禁止
アクセス禁止
アクセス禁止
I/O(C-CAN)
I/O(C-CAN)
ダイレクト
アドレッシング領域
0000 0400H
0001 0000H
0002 0000H
0002 01B4H
0003 0000H
0004 0000H
アクセス禁止
内蔵RAM64Kバイト
アクセス禁止
内蔵RAM64Kバイト
付録A I/Oマップを参照
I/O(C-CAN)
アクセス禁止
内蔵RAM64Kバイト
アクセス禁止
0005 0000H
アクセス禁止
アクセス禁止
0008 0000H
エミュレーション
SRAM領域
エミュレーション
SRAM領域
外部領域
0010 0000H
アクセス禁止
外部領域
FFFF FFFFH
MB91F223/S のメモリマップ
シングルチップモード
内ROM外バスモード
外ROM外バスモード
0000 0000H
I/O
I/O
I/O
I/O
I/O
I/O
アクセス禁止
アクセス禁止
アクセス禁止
I/O(C-CAN)
I/O(C-CAN)
I/O(C-CAN)
アクセス禁止
アクセス禁止
アクセス禁止
ダイレクト
アドレッシング領域
0000 0400H
0001 0000H
0002 0000H
0002 01B4H
0003 C000H
0004 0000H
内蔵RAM16Kバイト
内蔵RAM16Kバイト
付録A I/Oマップを参照
内蔵RAM16Kバイト
アクセス禁止
0005 0000H
アクセス禁止
アクセス禁止
0008 0000 H
フラッシュメモリ
領域
512Kバイト
フラッシュメモリ
領域
512Kバイト
外部領域
0010 0000H
アクセス禁止
外部領域
FFFF FFFFH
続く
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
29
第 3 章 CPU および制御部
3.2 メモリマップ
MB91220 シリーズ
続き
MB91F224/S のメモリマップ
シングルチップモード
内ROM外バスモード
外ROM外バスモード
0000 0000H
I/O
I/O
I/O
I/O
I/O
I/O
アクセス禁止
アクセス禁止
アクセス禁止
I/O(C-CAN)
I/O(C-CAN)
I/O(C-CAN)
アクセス禁止
アクセス禁止
アクセス禁止
ダイレクト
アドレッシング領域
0000 0400H
0001 0000H
0002 0000H
0002 01B4H
0003 A000 H
0004 0000H
内蔵RAM24Kバイト
内蔵RAM24Kバイト
アクセス禁止
アクセス禁止
アクセス禁止
フラッシュメモリ
領域
768Kバイト
フラッシュメモリ
領域
768Kバイト
外部領域
付録A I/Oマップを参照
内蔵RAM24Kバイト
0005 0000H
0011 0000H
アクセス禁止
0020 0000H
アクセス禁止
外部領域
FFFF FFFFH
各モードの設定は , INITX ネゲート後のモードベクタフェッチにより決定します
( モードの設定に関しては , 「3.10 動作モード」の「■モード設定」を参照 )。
30
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.3 内部アーキテクチャ
MB91220 シリーズ
3.3
内部アーキテクチャ
MB91220 シリーズ CPU は , RISC アーキテクチャを採用すると同時に , 組込み用途
に向けた高機能命令を導入した高性能コアです。
■ 内部アーキテクチャの特長
● RISC アーキテクチャの採用
基本命令 1 命令 1 サイクル
● 32 ビットアーキテクチャ
汎用レジスタ 32 ビット× 16 本
● 4G バイトのリニアなメモリ空間
● 乗算器の搭載
32 ビット× 32 ビット乗算 5 サイクル
16 ビット× 16 ビット乗算 3 サイクル
● 割込み処理機能の強化
高速応答速度 (6 サイクル )
多重割込みのサポート
レベルマスク機能 (16 レベル )
● I/O 操作用命令の強化
メモリ−メモリ間転送命令
ビット処理命令
● 高いコード効率
基本命令語長 16 ビット
● 低消費電力
スリープモード・ストップモード
● クロック分周比設定機能
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
31
第 3 章 CPU および制御部
3.3 内部アーキテクチャ
MB91220 シリーズ
■ 内部アーキテクチャ
FR ファミリの CPU は命令バスとデータバスが独立したハーバードアーキテクチャ構
造を採用しています。
32 ビット ↔ 16 ビットバスコンバータは 32 ビットバス (F-bus) に接続され , CPU と周
辺リソースとのインタフェースを実現します。ハーバード ↔ プリンストンバスコン
バータは I-bus, D-bus 双方に接続され , CPU とバスコントローラとのインタフェースを
実現します。
図 3.3-1 内部アーキテクチャ
FR CPU
I-bus
内蔵RAM
D-bus
32
内蔵ROM
32
32
32
ハーバード↔プリンストン
バスコンバータ
F-bus
32
32
X-bus
32
32
外部バス
16
アドレス
32ビット ↔ 16ビット
バスコンバータ
バスコントローラ
データ
16
16
R-bus
周辺機器/ポート
( 注意事項 ) MB91220 シリーズでは , 外部バスインタフェース使用時のアドレス幅は 16 ビットまでで
す。
32
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.3 内部アーキテクチャ
MB91220 シリーズ
■ CPU
CPU は 32 ビット RISC の FR アーキテクチャをコンパクトにインプリメントしたもの
です。
1 サイクルあたり 1 命令を実行するため , 5 段階の命令パイプライン方式を採用してい
ます。パイプラインは以下のステージから構成されています。
• 命令フェッチ (IF)
…
命令アドレスを出力し , 命令をフェッチします。
• 命令デコード (ID)
… フェッチした命令をデコードします。レジスタの読出
しも行います。
• 実行 (EX)
… 演算を実行します。
• メモリアクセス (MA)
… メモリに対するロードまたはストアのアクセスを行い
ます。
• ライトバック (WB)
…
演算結果 ( またはロードされたメモリデータ ) をレジ
スタに書込みます。
図 3.3-2 命令パイプライン
クロック
命令1
WB
命令2
MA
WB
命令3
EX
MA
WB
命令4
ID
EX
MA
WB
命令5
IF
ID
EX
MA
WB
IF
ID
EX
MA
命令6
WB
命令は , 順不同で実行されることはありません。すなわち , 命令 A が命令 B の前のパ
イプラインに入ると , 命令 A は必ず命令 B の前にライトバックステージに達します。
命令の実行は原則として 1 サイクルあたり 1 命令の速度で行われます。ただし , メモリ
ウェイトを伴ったロード・ストア命令 , 遅延スロットを持たない分岐命令 , 複数サイク
ル命令では命令の実行に複数のサイクルが必要となります。また , 命令の供給が遅い場
合も命令の実行速度が低下します。
■ 32 ビット ←→ 16 ビット バスコンバータ
32 ビット幅で高速アクセスされる F-bus と 16 ビット幅でアクセスされる R-bus でイン
タフェースを行い , CPU から内蔵周辺回路へのデータアクセスを実現します。
CPU から 32 ビット幅のアクセスがあった場合 , このバスコンバータがそれを 2 回の 16
ビット幅アクセスに変換して R-bus へのアクセスを行います。内蔵周辺回路の一部に
はアクセス幅に関して制限のあるものがあります。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
33
第 3 章 CPU および制御部
3.3 内部アーキテクチャ
MB91220 シリーズ
■ ハーバード ←→ プリンストン バスコンバータ
CPU の命令アクセスとデータアクセスの整合をとり , 外部バスとのスムーズなインタ
フェースを実現します。
CPU は命令バスとデータバスが独立したハーバードアーキテクチャ構造です。一方 ,
外部バスの制御を行うバスコントローラは単一バスのプリンストンアーキテクチャ構
造です。このバスコンバータは CPU の命令アクセスとデータアクセスに優先順位をつ
け , バスコントローラへのアクセスの制御を行います。この働きにより , 外部へのバス
アクセス順位が常に最適化されたものになります。
■ 命令概要
FR ファミリは , 一般的な RISC の命令体系に加え , 組込み用途に最適化された論理演算
とビット操作およびダイレクトアドレッシング命令をサポートしています。各命令は
16 ビット長 ( 一部命令は 32, 48 ビット長 ) ですので , 優れたメモリ使用効率を持ちます。
命令セットは以下の機能グループに分けることができます。
• 算術演算
• ロードとストア
• 分岐
• 論理演算とビット操作
• ダイレクトアドレッシング
• その他
● 算術演算
標準の算術演算命令 ( 加算 , 減算 , 比較 ) およびシフト命令 ( 論理シフト , 算術演算シフ
ト ) があります。加算と減算については , 多ワード長演算で使用するキャリ付き演算や ,
アドレス計算に便利なフラグ値を変化させない演算も可能です。
さらに , 32 ビット× 32 ビット , 16 ビット× 16 ビットの乗算命令および 32 ビット÷ 32
ビットのステップ除算命令を持ちます。また , レジスタに即値をセットする即値転送命
令や , レジスタ間転送命令も備えています。
算術演算命令はすべて CPU 内の汎用レジスタおよび乗除算レジスタを用いて演算を行
います。
● ロードとストア
ロードとストアは外部メモリに対して読出しと書込みを行う命令です。また , チップ内
の周辺リソース (I/O) への読出しと書込みにも使用されます。
ロードとストアはバイト , ハーフワード , ワードの 3 種類のアクセス長を持ちます。ま
た一般的なレジスタ間接のメモリアドレッシングに加え , 一部の命令についてはディ
スプレースメント付きレジスタ間接やレジスタインクリメント・デクリメント付きレ
ジスタ間接のメモリアドレッシングも可能です。
● 分岐
分岐 , コール , 割込みおよび復帰の命令です。分岐命令は , 遅延スロットを持つものと
持たないものがあり , 用途に応じて最適化を行うことができます。分岐命令の詳細につ
いては「3.8 分岐命令」を参照してください。
34
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.3 内部アーキテクチャ
MB91220 シリーズ
● 論理演算とビット操作
論理演算命令は汎用レジスタ間 , または汎用レジスタとメモリ ( および I/O) 間で AND,
OR, EOR の論理演算を行うことが可能です。またビット操作命令はメモリ ( および I/O)
の内容を直接操作することができます。メモリアドレッシングは一般的なレジスタ間接
です。
● ダイレクトアドレッシング
ダイレクトアドレッシング命令は I/O と汎用レジスタ間 , または I/O とメモリ間のアク
セスに使用する命令です。I/O のアドレスをレジスタ間接ではなく命令中で直接指定す
ることにより , 高速 , 高効率なアクセスを行うことができます。一部の命令については
レジスタインクリメント・デクリメント付きレジスタ間接のメモリアドレッシングも
可能です。
● その他
PS レジスタ内のフラグ設定 , スタック操作 , 符号 / ゼロ拡張などを行う命令です。また ,
高級言語対応の関数入口 / 出口 , レジスタマルチロード / ストア命令も備えています。
<注意事項>
CPU の処理能力はフラッシュウェイトレジスタ (FLWC) の設定にも影響を受けます。必
ずレジスタの設定を最適な値にしてご利用ください。
「28.2 フラッシュメモリのレジス
タ」もご参照ください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
35
第 3 章 CPU および制御部
3.4 プログラミング・モデル
3.4
MB91220 シリーズ
プログラミング・モデル
基本プログラミングモデルと各レジスタについて説明します。
■ 基本プログラミングモデル
図 3.4-1 基本プログラミングモデル
32 ビット
初期値
R0
XXXX XXXXH
R1
汎用レジスタ
R12
R13
AC
R14
FP
XXXX XXXXH
R15
SP
0000 0000H
プログラムカウンタ PC
プログラムステータス PS
ILM
SCR
CCR
テーブルベースレジスタ TBR
リターンポインタ
RP
システムスタックポインタ SSP
ユーザスタックポインタ USP
乗除算結果レジスタ
36
MDH
MDL
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.4 プログラミング・モデル
MB91220 シリーズ
3.4.1
レジスタ
各レジスタについて説明します。
■ 汎用レジスタ
図 3.4-2 汎用レジスタ
32 ビット
初期値
XXXX XXXXH
......
......
...............
R0
R1
R12
R13
R14
R15
AC
FP
SP
XXXX XXXXH
0000 0000H
レジスタ R0 ∼ R15 は汎用レジスタです。各種演算におけるアキュムレータ , およびメ
モリアクセスのポインタとして使用されます。
16本のレジスタのうち, 以下に示すレジスタは特殊な用途を想定しており, そのために
一部の命令が強化されています。
R13 : 仮想アキュムレータ (AC)
R14 : フレームポインタ (FP)
R15 : スタックポインタ (SP)
リセットによる初期値は , R0 ∼ R14 は不定です。R15 は , "00000000H" (SSP の値 ) とな
ります。
■ PS (Program Status)
プログラムステータスを保持するレジスタで , ILM, SCR と CCR の 3 つのパートに分か
れています。
図中 , 未定義のビットはすべて予約ビットです。読出し時 , 常に "0" が読み出されます。
書込みは無効です。
bit31
bit20
bit16
bit10 bit8 bit7
ILM
SCR
bit0
CCR
− : 未定義ビット
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
37
第 3 章 CPU および制御部
3.4 プログラミング・モデル
MB91220 シリーズ
■ CCR (Condition Code Register)
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
−
−
S
I
N
Z
V
C
--00XXXXB
[bit5] S : スタックフラグ
R15 として使用されるスタックポインタを指定します。
値
内容
0
SSP が R15 として使用されます。
EIT 発生時 , 自動的に "0" となります
( ただし , スタックに退避される値はクリアされる前の値です )。
1
USP が R15 として使用されます。
リセットにより "0" にクリアされます。
RETI 命令実行時は "0" にしてください。
[bit4] I : 割込み許可フラグ
ユーザ割込み要求の許可・禁止を制御します。
値
内容
0
ユーザ割込み禁止。
INT 命令実行時 , "0" にクリアされます
( ただし , スタック退避させる値はクリアする前の値です )。
1
ユーザ割込み許可。
ユーザ割込み要求のマスク処理は , ILM の保持する値により制御され
ます。
リセットにより "0" にクリアされます。
[bit3] N : ネガティブフラグ
演算結果を "2" の補数で表現された整数とみなしたときの符号を示します。
値
内容
0
演算結果が正の値であったことを示します。
1
演算結果が負の値であったことを示します。
リセットによる初期状態は不定です。
38
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.4 プログラミング・モデル
MB91220 シリーズ
[bit2] Z : ゼロフラグ
演算結果が "0" であったかどうかを示します。
値
内容
0
演算結果が "0" 以外の値であったことを示します。
1
演算結果が "0" であったことを示します。
リセットによる初期状態は不定です。
[bit1] V : オーバフローフラグ
演算に用いたオペランドを "2" の補数で表現される整数であるとみなし , 演算の結
果 , オーバフローが発生したかどうかを示します。
値
内容
0
演算の結果 , オーバフローは発生していないことを示します。
1
演算の結果 , オーバフローが発生したことを示します。
リセットによる初期状態は不定です。
[bit0] C : キャリフラグ
演算により , 最上位ビットからのキャリ , またはボローが発生したかどうかを示し
ます。
値
内容
0
キャリもボローも発生していないことを示します。
1
キャリまたはボローが発生したことを示します。
リセットによる初期状態は不定です。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
39
第 3 章 CPU および制御部
3.4 プログラミング・モデル
MB91220 シリーズ
■ SCR (System Condition code Register)
bit10
bit9
bit8
初期値
D1
D0
T
XX0B
[bit10, bit9] D1, D0 : ステップ除算用フラグ
ステップ除算実行時の中間データを保持します。
除算処理の実行途中に , 変更してはいけません。
ステップ除算実行途中にほかの処理を行う場合は , PS レジスタの値を退避・復帰す
ることによりステップ除算の再開が保証されます。
リセットによる初期状態は不定です。
DIV0S 命令の実行により被除数と除数を参照して設定されます。
DIV0U 命令の実行により , 強制的にクリアされます。
[bit8] T : ステップトレーストラップフラグ
ステップトレーストラップを有効にするかどうかを指定するフラグです。
値
内容
0
ステップトレーストラップ無効
1
ステップトレーストラップ有効
このとき , ユーザ用 NMI とユーザ割込みがすべて割込み禁止となりま
す。
リセットにより "0" に初期化されます。
ステップトレーストラップの機能はエミュレータが使用します。エミュレータ使用
時 , ユーザプログラム中に使用することはできません。
40
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.4 プログラミング・モデル
MB91220 シリーズ
■ ILM
bit20
bit19
bit18
bit17
bit16
初期値
ILM4
ILM3
ILM2
ILM1
ILM0
01111B
割込みレベルマスク値を保持するレジスタで , この ILM の保持する値がレベルマスク
に使用されます。
CPU に入力される割込み要求の中で , 対応する割込みレベルが ILM で示されるレベル
よりも強い場合にのみ割込み要求が受け付けられます。
レベル値は , 0(00000B) が最強で , 31(11111B) が最弱です。
プログラムから設定可能な値には制限があります。
元の値が 16 ∼ 31 のとき
新たな値として設定できるのは 16 ∼ 31 です。0 ∼ 15 を設定する命令を実行すると ,
( 指定した値 +16) という値が転送されます。
元の値が 0 ∼ 15 のとき
0 ∼ 31 の任意の値が設定可能です。
リセットにより , 15(01111B) に初期化されます。
■ PS レジスタに関する注意事項
一部の命令で PS レジスタを先行処理しているため , 下記の例外動作により , デバッガ
使用時に割込み処理ルーチンでブレークしたり , PS フラグの表示内容が更新されたり
する場合があります。いずれの場合も , EIT から復帰後以降に正しく再処理を行うよう
に設計されていますので , EIT 前後の動作は仕様どおりの処理を行います。
• DIV0U/DIV0S 命令の直前の命令で , (a) ユーザ割込みを受け付けた場合 , (b) ステッ
プ実行を行った場合 , (c) データイベントまたはエミュレータメニューにてブレーク
した場合 , 以下のような動作を行う場合があります。
(1) D0, D1 フラグが先行して更新されます。
(2) EIT 処理ルーチン ( ユーザ割込み・NMI またはエミュレータ ) を実行します。
(3) EIT から復帰後 , DIV0U/DIV0S 命令が実行され , D0/D1 フラグが (1) と同じ値に
更新されます。
• ユーザ割込み要因が発生している状態で割込みを許可するために OR CCR, ST ILM,
MOV Ri, PS の各命令が実行されると , 以下のような動作を行います。
(1) PS レジスタが先行して更新されます。
(2) EIT 処理ルーチン ( ユーザ割込み ) を実行します。
(3) EITから復帰後, 上記命令が実行され, PSレジスタが(1)と同じ値に更新されます。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
41
第 3 章 CPU および制御部
3.4 プログラミング・モデル
MB91220 シリーズ
■ PC (Program Counter)
bit31
bit0
初期値
XXXXXXXXH
PC
[bit31 ∼ bit0]
プログラムカウンタで実行している命令のアドレスを示しています。
命令の実行を伴う PC の更新時に bit0 は "0" に設定されます。bit0 が "1" になる可能
性があるのは , 分岐先アドレスとして奇数番地を指定した場合だけです。ただし , そ
の場合でも bit0 は無効であり , 命令は 2 の倍数のアドレスに置く必要があります。
リセットによる初期値は不定です。
■ TBR (Table Base Register)
bit31
bit0
初期値
000FFC00H
TBR
テーブルベースレジスタで , EIT 処理の際に使用されるベクタテーブルの先頭アドレス
を保持します。
リセットによる初期値は , "000FFC00H" です。
■ RP (Return Pointer)
bit31
bit0
初期値
XXXXXXXXH
RP
リターンポインタで , サブルーチンから復帰するアドレスを保持します。
CALL 命令実行時 , PC の値がこの RP に転送されます。
RET 命令実行時 , RP の内容が PC に転送されます。
リセットによる初期値は不定です。
■ SSP (System Stack Pointer)
bit31
bit0
初期値
00000000H
SSP
SSP は , システムスタックポインタです。
S フラグが "0" のとき , R15 として機能します。SSP を明示的に指定することも可能で
す。また , EIT 発生時に , PS と PC を退避するスタックを指定するスタックポインタと
しても使用されます。
リセットによる初期値は "00000000H" です。
42
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.4 プログラミング・モデル
MB91220 シリーズ
■ USP (User Stack Pointer)
bit31
bit0
初期値
XXXXXXXXH
USP
USP は , ユーザスタックポインタです。
S フラグが "1" のとき , R15 として機能します。
USP を明示的に指定することも可能です。
リセットによる初期値は不定です。
RETI 命令で使用することはできません。
■ 乗除算レジスタ (Multiply & Divide register)
bit31
bit0
MDH
MDL
乗除算用のレジスタで , 各々 32 ビット長です。
リセットによる初期値は不定です。
乗算実行時
32 ビット× 32 ビットの乗算のとき , 64 ビット長の演算結果は , 以下の配置で乗除
算結果格納レジスタに格納されます。
MDH …… 上位 32 ビット
MDL …… 下位 32 ビット
16 ビット× 16 ビットの乗算のときは , 以下のように結果が格納されます。
MDH …… 不定
MDL …… 結果 32 ビット
除算実行時
計算開始時 , 被除数を MDL に格納します。
DIV0S/DIV0U, DIV1, DIV2, DIV3, DIV4S 命令の実行により除算を計算すると , 結果
が MDL と MDH に格納されます。
MDH …… 剰余
MDL …… 商
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
43
第 3 章 CPU および制御部
3.5 データ構造
3.5
MB91220 シリーズ
データ構造
FR ファミリのデータ配置には , 次の 2 つがあります。
• ビットオーダリング
• バイトオーダリング
■ ビットオーダリング
FR ファミリでは , ビットオーダリングとしてリトルエンディアンを採用しています。
図 3.5-1 ビットオーダリングのビット構成
bit
31
29
30
27
28
25
26
23
24
21
22
19
20
17
18
15
16
13
14
11
12
9
10
7
8
MSB
5
6
3
4
1
2
0
LSB
■ バイトオーダリング
FR ファミリでは , バイトオーダリングとしてビッグエンディアンを採用しています。
図 3.5-2 バイトオーダリングのビット構成
メモリ
bit
7
n 番地
MSB
LSB
bit31
bit23
bit15
bit7
bit0
10101010B 11001100B 11111111B 00010001B
bit
0
10101010B
(n + 1) 番地 11001100B
(n + 2) 番地 11111111B
(n + 3) 番地 00010001B
44
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.6 ワードアライメント
MB91220 シリーズ
3.6
ワードアライメント
命令やデータはバイト単位でアクセスするため , 配置するアドレスは命令長やデー
タ幅で異なります。
■ プログラムアクセス
FR ファミリのプログラムは , "2" の倍数のアドレスに配置する必要があります。
PC の bit0 は , 命令の実行に伴う PC の更新時に "0" に設定されます。"1" になる可能性
があるのは , 分岐先アドレスとして奇数番地を指定した場合だけです。ただし , その場
合でも bit0 は無効であり , 命令は "2" の倍数のアドレスに置かなくてはなりません。
奇数アドレス例外はありません。
■ データアクセス
FR ファミリでは , データアクセスを行う際 , その幅により以下のように強制的なアラ
イメントがアドレスに対して施されます。
• ワードアクセス
: アドレスは , "4" の倍数 ( 最下位 2 ビットは強制的に "00B")
• ハーフワードアクセス: アドレスは , "2" の倍数 ( 最下位ビットは強制的に "0")
• バイトアクセス
: 任意のアドレスが使用されます。
ワードアクセスおよびハーフワードアクセス時に , 一部のビットが強制的に "0" にされ
るのは , 実効アドレスの計算結果に対してです。例えば , @(R13,Ri) のアドレッシング
モードの場合 , 加算前のレジスタは ( たとえ最下位ビットが "1" であっても ) そのまま
計算に使用され, 加算結果の下位ビットがマスクされます。計算前のレジスタがマスク
されるわけではありません。
[例] LD @ (R13, R2), R0
R13
00002222H
R2
00000003H
+)
加算結果
00002225H
アドレス端子
00002224H
下位2ビット強制マスク
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
45
第 3 章 CPU および制御部
3.7 メモリマップ
3.7
MB91220 シリーズ
メモリマップ
MB91220 シリーズのメモリマップについて説明します。
■ メモリマップ
図 3.7-1 にメモリマップを示します。
図 3.7-1 メモリマップ
0000 0000H
バイトデータ
0000 0100H
ダイレクト
アドレッシング領域
ハーフワード
データ
0000 0200H
ワードデータ
0000 0400H
~
~
000F FC00H
ベクタテーブル
000F FFFFH
~
~
FFFF FFFFH
■ ダイレクトアドレッシング領域
アドレス空間の下記の領域は I/O の領域です。この領域は , ダイレクトアドレッシング
により , 命令中で直接オペランドアドレスを指定することができます。
ダイレクトアドレス指定可能なアドレス領域の大きさは , データ長ごとに異なります。
• バイトデータ (8 ビット )
: 000H ∼ 0FFH
• ハーフワードデータ (16 ビット )
: 000H ∼ 1FFH
• ワードデータ (32 ビット )
: 000H ∼ 3FFH
■ ベクタテーブル初期領域
"000FFC00H" ∼ "000FFFFFH" の領域は EIT ベクタテーブル初期領域です。
EIT処理時に使用されるベクタテーブルは, TBRを書き換えることにより任意のアドレ
スに配置可能ですが , リセットによる初期化によって , このアドレスに配置されます。
46
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.8 分岐命令
MB91220 シリーズ
3.8
分岐命令
FR ファミリでは , 分岐命令によって遅延スロット付きの動作と遅延スロットなしの
動作を指定します。
■ 遅延スロット付き動作
● 命令
以下に示す表記をした命令が , 遅延スロット付きの分岐動作を行います。
JMP:D
@Ri
CALL:D label12
CALL:D @Ri
RET:D
BRA:D
label9
BNO:D
label9
BEQ:D
label9
BNE:D
label9
BC:D
label9
BNC:D
label9
BN:D
label9
BP:D
label9
BV:D
label9
BNV:D
label9
BLT:D
label9
BGE:D
label9
BLE:D
label9
BGT:D
label9
BLS:D
label9
BHI:D
label9
● 動作説明
遅延スロット付きの動作では , 分岐先の命令を実行する前に , 分岐命令の直後 (「遅延
スロット」とよびます ) に置かれた命令を実行した後に分岐します。
分岐動作の前に遅延スロットの命令を実行するため, 見かけ上の実行速度が1サイクル
となります。その代わり , 遅延スロットに有効な命令を入れることができないときは ,
NOP 命令を置いてください。
[例]
;
命令の並び
ADD
R1, R2
;
BRA:D
LABEL
; 分岐命令
MOV
R2, R3
; 遅延スロット……分岐の前に実行される
…
R3,@R4 ; 分岐先
LABEL: ST
条件分岐命令の場合 , 分岐条件が成立する場合も成立しない場合も遅延スロットに置
かれた命令は実行されます。
遅延分岐命令では , 一部の命令の実行順序が反転するように見えますが , それは PC の
更新動作だけについてであり , その他の動作 ( レジスタの更新・参照など ) はあくまで
記述された順番で実行されます。
以下に , 具体的な説明をします。
• JMP:D @Ri / CALL:D @Ri 命令で参照する Ri は, 遅延スロットの中の命令が Riを更
新しても影響を受けません。
[例]
LDI:32
#Label,
JMP:D
@R0
LDI:8
#0,
R0
; Label に分岐
R0
; 分岐先アドレスには影響を与えない。
…
• RET:D 命令が参照する RP は , 遅延スロットの中の命令が RP を更新しても影響を
受けません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
47
第 3 章 CPU および制御部
3.8 分岐命令
MB91220 シリーズ
[例]
; これより前に設定された RP の示すアドレスへ分岐
RET:D
MOV
R8,
RP
; リターン動作には影響を与えない。
…
• Bcc:D rel 命令が参照するフラグも遅延スロットの命令の影響を受けません。
[例]
R0
; フラグ変化
ADD
#1,
BC:D
Overflow
; 上記の命令の実行結果により分岐
AND
CCR#0
; このフラグ更新は上記分岐命令では参照しない。
…
• CALL:D 命令の遅延スロット中の命令で RP を参照すると , CALL:D 命令により更新
された内容が読み出されます。
[例]
; RP を更新して分岐
CALL:D Label
MOV
RP,
R0
; 上記 CALL:D の実行結果の RP を転送
…
● 制限事項
1. 遅延スロットにおける命令
遅延スロット内で実行できるのは , 以下の条件を満たす命令のみです。
•
1 サイクル命令
•
分岐命令ではないこと
•
順番が変化した場合でも動作に影響を与えない命令
「1 サイクル命令」とは , 命令一覧表中でサイクル数の欄が「1」, 「a」, 「b」, 「c」
または「d」と記載された命令です。
2. ステップトレーストラップ
遅延スロットを持つ分岐命令の実行と遅延スロットの間では , ステップトレースト
ラップは発生しません。
3. 割込み・NMI
遅延スロットを持つ分岐命令の実行と遅延スロットの間では , 割込み・NMI を受理
しません。
4. 未定義命令例外
遅延スロットに未定義命令があった場合 , 未定義命令例外は発生しません。このと
き , 未定義命令は NOP 命令として動作します。
48
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.8 分岐命令
MB91220 シリーズ
■ 遅延スロットなし動作
● 命令
以下に示す表記をした命令が , 遅延スロットなしの分岐動作を行います。
JMP
@Ri
CALL label12
CALL @Ri
RET
BRA label9
BNO
label9
BEQ label9
BNE label9
BC
label9
BNC
label9
BN
BP
BV
label9
BNV
label9
BLT label9
BGE label9
BLE label9
BGT
label9
BLS
BHI
label9
label9
label9
label9
● 動作説明
遅延スロットなしの動作では , あくまで命令の並びの順に実行します。直後の命令が分
岐前に実行されることはありません。
[例]
;
命令の並び
ADD
R1, R2
;
BRA
LABEL
; 分岐命令 ( 遅延スロットなし )
MOV
R2, R3
; 実行されない
…
LABEL: ST
R3, @R4 ; 分岐先
遅延スロットなしの分岐命令の実行サイクル数は , 分岐するとき 2 サイクル , 分岐しな
いとき 1 サイクルとなります。
遅延スロットに有効な命令を設置できるときは遅延スロット付きの動作を選択し , そ
うでないときは遅延スロットなしの動作を選択することで , 実行速度とコード効率を
両立させることが可能となります。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
49
第 3 章 CPU および制御部
3.9 EIT ( 例外・割込み・トラップ )
3.9
MB91220 シリーズ
EIT ( 例外・割込み・トラップ )
EIT とは , 現プログラム実行時にイベントの発生により , そのプログラムの実行を中断
してほかのプログラムを実行することを指し , 例外 (Exception), 割込み (Interrupt),
トラップ (Trap) の総称です。
■ EIT ( 例外 , 割込み , トラップ )
例外とは実行中のコンテキストに関連して発生する事象です。例外を起こした命令か
ら再実行します。
割込みとは実行中のコンテキストとは無関係に発生する事象です。イベント要因は ,
ハードウェアです。
トラップとは実行中のコンテキストに関連して発生する事象です。システムコールの
ようにプログラムで指示するものがあります。トラップを起こした命令の次の命令か
ら再実行します。
■ EIT ( 例外・割込み・トラップ ) の特長
• 割込みに多重割込みをサポート
• 割込みにレベルマスク機能 (15 レベルをユーザが使用可能 )
• トラップ命令 (INT)
• エミュレータ起動用 EIT( ハードウェア / ソフトウェア )
■ EIT 要因
EIT 要因として , 次のものがあります。
• リセット
• ユーザ割込み ( 内部リソース , 外部割込み )
• NMI
• 遅延割込み
• 未定義命令例外
• トラップ命令 (INT)
• トラップ命令 (INTE)
• ステップトレーストラップ
• コプロセッサ不在トラップ
• コプロセッサエラートラップ
■ EIT からの復帰
EIT からの復帰には , RETI 命令を使用します。
50
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.9 EIT ( 例外・割込み・トラップ )
MB91220 シリーズ
3.9.1
割込みレベル
割込みレベルは 0 ∼ 31 まであり , 5 ビットで管理されます。
■ EIT の割込みレベル
各レベルの割当ては以下のとおりです。
表 3.9-1 割込みレベル
レベル
2 進数
10 進数
00000B
0
割込み要因
注意事項
( システム予約 )
…
…
…
00011B
3
( システム予約 )
00100B
4
INTE 命令
ステップトレーストラップ
00101B
5
( システム予約 )
…
…
…
01110B
14
( システム予約 )
01111B
15
NMI( ユーザ用 )
10000B
16
割込み
10001B
17
割込み
…
…
…
11110B
30
割込み
11111B
31
─
ILM の元の値が 16 ∼ 31 のとき ,
この範囲の値をプログラムにより
ILM に設定することはできません。
─
ILM 設定時 , ユーザ割込み禁止
─
ICR 設定時 , 割込み禁止
操作が可能なのは , 16 ∼ 31 のレベルです。
未定義命令例外 , コプロセッサ不在トラップ , コプロセッサエラートラップ , INT 命令
は , 割込みレベルの影響を受けません。また , ILM を変化させることもありません。
■ I フラグ
割込みの許可・禁止を指定するフラグです。PS レジスタの CCR の bit4 として設けら
れています。
値
CM71-10142-5
内容
0
割込み禁止
INT 命令実行時 "0" にクリアされます
( ただし , スタック退避させる値はクリアする前の値です )。
1
割込み許可
割込み要求のマスク処理は , ILM の保持する値により制御されます。
FUJITSU SEMICONDUCTOR LIMITED
51
第 3 章 CPU および制御部
3.9 EIT ( 例外・割込み・トラップ )
MB91220 シリーズ
■ 割込みレベルマスク (ILM)
割込みレベルマスク値を保持する PS レジスタ (bit20 ∼ bit16) です。
CPU に入力される割込み要求の中で , 対応する割込みレベルが , この ILM で示される
レベルよりも強い場合にのみ割込み要求が受け付けられます。
レベル値は , 0 (00000B) が最強で , 31(11111B) が最弱です。
プログラムから設定可能な値には制限があります。元の値が 16 ∼ 31 のとき , 新たな値
として設定できるのは 16 ∼ 31 です。0 ∼ 15 の値を設定する命令を実行すると , ( 指定
した値 +16) という値が転送されます。
元の値が 0 ∼ 15 のときは , 0 ∼ 31 の任意の値が設定可能です。設定するには ST ILM
命令を使用します。
■ 割込み・NMI に対するレベルマスク
NMI および割込み要求が発生したときは , 割込み要因の持つ割込みレベル ( 表 3.9-1) が
ILM の保持するレベルマスク値と比較されます。そして , 次の条件が成立したときは
マスクされ , 要求は受理されません。
要因の持つ割込みレベル ≧ レベルマスク値
52
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.9 EIT ( 例外・割込み・トラップ )
MB91220 シリーズ
3.9.2
ICR (Interrupt Control Register)
割込みコントローラ内に設けられたレジスタで , 割込みの各要求に対するレベルを
設定します。ICR は割込み要求入力の各々に対応して用意されています。ICR は I/O
空間にマッピングされており , CPU からはバスを通してアクセスされます。
■ 割込み制御レジスタ (ICR)
図 3.9-1 に , 割込み制御レジスタ (ICR) のビット構成を示します。
図 3.9-1 割込み制御レジスタ (ICR) のビット構成
ICR ( アクセス : Byte,Half-word,Word)
bit7
−
bit6
−
bit5
−
bit4
ICR4
R1,WX R1,WX R1,WX R1,WX
bit3
bit2
bit1
bit0
初期値
---11111B
ICR3
ICR2
ICR1
ICR0
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit4] ICR4
常に "1" です。
[bit3 ∼ bit0] ICR3 ∼ ICR0
対応する割込み要因の割込みレベルの下位 4 ビットです。読出しおよび書込みが可
能です。
bit4 と合わせて , ICR は 16 ∼ 31 の範囲で値を設定することができます。
■ 割込み制御レジスタ (ICR) のマッピング
表 3.9-2 割込み要因と割込み制御レジスタ , 割込みベクタ
対応する割込みベクタ
割込み要因
番号
割込み制御レジスタ
16 進
10 進
アドレス
IRQ00
ICR00
00000440H
10H
16
TBR + 3BCH
IRQ01
ICR01
00000441H
11H
17
TBR + 3B8H
IRQ02
ICR02
00000442H
12H
18
TBR + 3B4H
…
…
IRQ45
…
…
ICR45
…
…
0000046DH
…
…
3DH
…
…
61
…
…
TBR + 308H
IRQ46
ICR46
0000046EH
3EH
62
TBR + 304H
IRQ47
ICR47
0000046FH
3FH
63
TBR + 300H
TBR 初期値 : "000F FC00H"
( 注意事項 ) 「第 5 章 割込みコントローラ」を参照してください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
53
第 3 章 CPU および制御部
3.9 EIT ( 例外・割込み・トラップ )
3.9.3
MB91220 シリーズ
SSP (System Stack Pointer)
SSP が , EIT の受理および復帰動作時のデータ退避・復帰用スタックを示すポイン
タとして使用されます。
■ システムスタックポインタ (SSP)
システムスタックポインタ (SSP) は , 32 ビットから構成されています。
図 3.9-2 に , システムスタックポインタ (SSP) のビット構成を示します。
図 3.9-2 システムスタックポインタ (SSP) のビット構成
bit31
bit0
初期値
00000000H
SSP
EIT 処理時にデータから 8 引いた値が SSP に格納され , RETI 命令により SSP に 8 加え
たデータとともに EIT から復帰します。
リセットによる初期値は "00000000H" です。
SSP は , CCR 中の S フラグが "0" のとき , 汎用レジスタ R15 としても機能します。
■ 割込みスタック
SSP により示される領域で , PC および PS の値が退避・復帰されます。割込み後は SSP
の示すアドレスに PC, (SSP+4) のアドレスに PS が格納されています。
図 3.9-3 割込みスタック
[例]
[ 割込み前 ]
SSP
80000000H
[ 割込み後 ]
SSP
7FFFFFF8H
メモリ
80000000H
7FFFFFFCH
7FFFFFF8H
54
80000000H
7FFFFFFCH
7FFFFFF8H
FUJITSU SEMICONDUCTOR LIMITED
PS
PC
CM71-10142-5
第 3 章 CPU および制御部
3.9 EIT ( 例外・割込み・トラップ )
MB91220 シリーズ
3.9.4
TBR (Table Base Register)
EIT 用ベクタテーブルの先頭アドレスを示すレジスタです。
■ テーブルベースレジスタ (TBR)
テーブルベースレジスタ (TBR) は , 32 ビットから構成されています。
図 3.9-4 に , テーブルベースレジスタ (TBR) のビット構成を示します。
図 3.9-4 テーブルベースレジスタ (TBR) のビット構成
bit31
bit0
初期値
000FFC00H
TBR
TBR と EIT 要因ごとに決められたオフセット値を加算したアドレスがベクタアドレス
となります。
リセットによる初期値は "000FFC00H" です。
■ EIT ベクタテーブル
TBR の示すアドレスから 1K バイトの領域が EIT 用ベクタ領域となっています。
1 ベクタあたりの大きさは 4 バイトで , ベクタ番号とベクタアドレスの関係は下記のよ
うに表されます。
vctadr = TBR + vctofs
= TBR + (3FCH - 4 × vct)
vctadr : ベクタアドレス
vctofs : ベクタオフセット
vct
: ベクタ番号
加算結果の下位 2 ビットは常に "00B" として扱われます。
"000FFC00H" ∼ "000FFFFFH" の領域がリセットによるベクタテーブルの初期領域です。
ベクタの一部には特殊な機能が割り当てられています。なお , アーキテクチャ上のベク
タテーブルを表 3.9-3 に示します。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
55
第 3 章 CPU および制御部
3.9 EIT ( 例外・割込み・トラップ )
MB91220 シリーズ
表 3.9-3 ベクタテーブル (1 / 3)
割込み番号
割込み要因
割込みレベル オフセット
TBR デフォルト
のアドレス
10 進
16 進
リセット *1
0
00
−
3FCH
000FFFFCH
モードベクタ *1
1
01
−
3F8H
000FFFF8H
システム予約
2
02
−
3F4H
000FFFF4H
システム予約
3
03
−
3F0H
000FFFF0H
システム予約
4
04
−
3ECH
000FFFECH
システム予約
5
05
−
3E8H
000FFFE8H
システム予約
6
06
−
3E4H
000FFFE4H
コプロセッサ不在トラップ
7
07
−
3E0H
000FFFE0H
コプロセッサエラートラップ
8
08
−
3DCH
000FFFDCH
INTE 命令
9
09
−
3D8H
000FFFD8H
システム予約
10
0A
−
3D4H
000FFFD4H
システム予約
11
0B
−
3D0H
000FFFD0H
ステップトレーストラップ
12
0C
−
3CCH
000FFFCCH
NMI 要求 (tool)
13
0D
−
3C8H
000FFFC8H
未定義命令例外
14
0E
−
3C4H
000FFFC4H
NMI 要求
15
0F
15(FH) 固定
3C0H
000FFFC0H
マスク可能要因 *2
16
10
ICR00
3BCH
000FFFBCH
マスク可能要因 *2
17
11
ICR01
3B8H
000FFFB8H
マスク可能要因 *2
18
12
ICR02
3B4H
000FFFB4H
マスク可能要因 *2
19
13
ICR03
3B0H
000FFFB0H
マスク可能要因 *2
20
14
ICR04
3ACH
000FFFACH
マスク可能要因 *2
21
15
ICR05
3A8H
000FFFA8H
マスク可能要因 *2
22
16
ICR06
3A4H
000FFFA4H
マスク可能要因 *2
23
17
ICR07
3A0H
000FFFA0H
リロードタイマ 0
24
18
ICR08
39CH
000FFF9CH
リロードタイマ 1
25
19
ICR09
398H
000FFF98H
リロードタイマ 2
26
1A
ICR10
394H
000FFF94H
マスク可能要因 *2
27
1B
ICR11
390H
000FFF90H
マスク可能要因 *2
28
1C
ICR12
38CH
000FFF8CH
マスク可能要因 *2
29
1D
ICR13
388H
000FFF88H
マスク可能要因 *2
30
1E
ICR14
384H
000FFF84H
マスク可能要因 *2
31
1F
ICR15
380H
000FFF80H
マスク可能要因 *2
32
20
ICR16
37CH
000FFF7CH
56
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.9 EIT ( 例外・割込み・トラップ )
MB91220 シリーズ
表 3.9-3 ベクタテーブル (2 / 3)
割込み番号
割込み要因
割込みレベル オフセット
TBR デフォルト
のアドレス
10 進
16 進
マスク可能要因 *2
33
21
ICR17
378H
000FFF78H
マスク可能要因 *2
34
22
ICR18
374H
000FFF74H
マスク可能要因 *2
35
23
ICR19
370H
000FFF70H
マスク可能要因 *2
36
24
ICR20
36CH
000FFF6CH
マスク可能要因 *2
37
25
ICR21
368H
000FFF68H
マスク可能要因 *2
38
26
ICR22
364H
000FFF64H
マスク可能要因 *2
39
27
ICR23
360H
000FFF60H
マスク可能要因 *2
40
28
ICR24
35CH
000FFF5CH
マスク可能要因 *2
41
29
ICR25
358H
000FFF58H
マスク可能要因 *2
42
2A
ICR26
354H
000FFF54H
マスク可能要因 *2
43
2B
ICR27
350H
000FFF50H
マスク可能要因 *2
44
2C
ICR28
34CH
000FFF4CH
マスク可能要因 *2
45
2D
ICR29
348H
000FFF48H
マスク可能要因 *2
46
2E
ICR30
344H
000FFF44H
タイムベースタイマオーバフロー
47
2F
ICR31
340H
000FFF40H
マスク可能要因 *2
48
30
ICR32
33CH
000FFF3CH
マスク可能要因 *2
49
31
ICR33
338H
000FFF38H
マスク可能要因 *2
50
32
ICR34
334H
000FFF34H
マスク可能要因 *2
51
33
ICR35
330H
000FFF30H
マスク可能要因 *2
52
34
ICR36
32CH
000FFF2CH
マスク可能要因 *2
53
35
ICR37
328H
000FFF28H
マスク可能要因 *2
54
36
ICR38
324H
000FFF24H
マスク可能要因 *2
55
37
ICR39
320H
000FFF20H
マスク可能要因 *2
56
38
ICR40
31CH
000FFF1CH
マスク可能要因 *2
57
39
ICR41
318H
000FFF18H
マスク可能要因 *2
58
3A
ICR42
314H
000FFF14H
マスク可能要因 *2
59
3B
ICR43
310H
000FFF10H
マスク可能要因 *2
60
3C
ICR44
30CH
000FFF0CH
マスク可能要因 *2
61
3D
ICR45
308H
000FFF08H
マスク可能要因 *2
62
3E
ICR46
304H
000FFF04H
遅延割込み要因ビット
63
3F
ICR47
300H
000FFF00H
システム予約 (REALOS にて使用 )
64
40
−
2FCH
000FFEFCH
システム予約 (REALOS にて使用 )
65
41
−
2F8H
000FFEF8H
システム予約
66
42
−
2F4H
000FFEF4H
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
57
第 3 章 CPU および制御部
3.9 EIT ( 例外・割込み・トラップ )
MB91220 シリーズ
表 3.9-3 ベクタテーブル (3 / 3)
割込み番号
TBR デフォルト
のアドレス
システム予約
67
43
−
2F0H
000FFEF0H
システム予約
68
44
−
2ECH
000FFEECH
システム予約
69
45
−
2E8H
000FFEE8H
システム予約
70
46
−
2E4H
000FFEE4H
システム予約
71
47
−
2E0H
000FFEE0H
システム予約
72
48
−
2DCH
000FFEDCH
システム予約
73
49
−
2D8H
000FFED8H
システム予約
74
4A
−
2D4H
000FFED4H
システム予約
75
4B
−
2D0H
000FFED0H
システム予約
76
4C
−
2CCH
000FFECCH
システム予約
77
4D
−
2C8H
000FFEC8H
システム予約
78
4E
−
2C4H
000FFEC4H
システム予約
79
4F
−
2C0H
000FFEC0H
80
50
2BCH
000FFEBCH
255
FF
INT 命令で使用
−
∼
16 進
∼
10 進
∼
割込みレベル オフセット
∼
割込み要因
000H
000FFC00H
*1: TBR の値を変更してもリセットベクタとモードベクタは常に固定アドレス "000FFFFCH", "000FFFF8H"
が使用されます。
*2: マスク可能要因は各品種により定義されます。
MB91220 シリーズにおけるベクタテーブルは「付録 B 割込みベクタ」を参照してください。
58
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.9 EIT ( 例外・割込み・トラップ )
MB91220 シリーズ
3.9.5
多重 EIT 処理
複数の EIT 要因が同時に発生した場合 , CPU は 1 つの EIT 要因を受け付け , EIT
シーケンスを実行した後 , 次の EIT 要因の検出を行うという動作を繰り返します。
EIT 要因検出の際に , 受け付けられる EIT 要因がなくなると , CPU は , 最後に受け付
けた EIT 要因に対してハンドラの命令を実行します。
そのため , 複数の EIT 要因が同時に発生した場合 , 各要因のハンドラの実行順序は ,
次の 2 つの要素により決定されます。
• EIT 要因を受け付ける優先順位
• EIT 要因を受け付ける場合にほかの要因がどのようにマスクされるか
■ EIT 要因受理の優先度
EIT 要因受理の優先度とは , シーケンスを実行する要因を選ぶときの順番です。複数の
EIT 要因が発生した場合 , PS と PC を退避して PC を更新し ( 必要に応じて ) ほかの要
因のマスク処理を行います。必ずしも , 先に受理された要因のハンドラが先に実行され
るわけではありません。
EIT 要因受理の優先度は , 表 3.9-4 のようになっています。
表 3.9-4 EIT 要因の受理の優先度とほかの要因へのマスク
EIT を受け付け
る優先順位
CM71-10142-5
EIT 要因
ほかの要因に対するマスク
1
リセット
ほかの要因は破棄されます。
2
未定義命令例外
取り消されます。
3
INTE 命令
ILM = 4
ほかの要因は破棄されます。
4
INT 命令
I フラグ= 0
5
コプロセッサ不在トラップ
コプロセッサエラートラップ
6
ユーザ割込み
ILM =受け付けた要因のレベル
7
NMI( ユーザ用 )
ILM = 15
8
NMI( エミュレータ用 )
ILM = 4
9
ステップトレーストラップ
ILM = 4
―
FUJITSU SEMICONDUCTOR LIMITED
59
第 3 章 CPU および制御部
3.9 EIT ( 例外・割込み・トラップ )
MB91220 シリーズ
同時に発生した EIT 要因の各ハンドラの実行順序は , 表 3.9-5 のようになります。
表 3.9-5 EIT ハンドラの実行順序
EIT 要因
ハンドラの実行順序
1
リセット *
2
未定義命令例外
3
INTE 命令 *
4
ステップトレーストラップ
5
NMI ( ユーザ用 )
6
INT 命令
7
ユーザ割込み
8
コプロセッサ不在トラップ , コプロセッサエラートラップ
*: ほかの要因はクリアされます。
[例]
図 3.9-5 多重 EIT 処理
メインルーチン
NMI のハンドラ
INT 命令の
ハンドラ
優先度
( 高 ) NMI 発生
( 低 ) INT 命令実行
①最初に実行
②次に実行
60
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.9 EIT ( 例外・割込み・トラップ )
MB91220 シリーズ
3.9.6
EIT の動作
EIT の動作について説明します。
■ EIT の動作
以下の説明で , 転送元の「PC」とは各 EIT 要因を検出した命令のアドレスを示します。
また , 「次の命令のアドレス」とは , EIT を検出した命令により , 以下を意味します。
• LDI : 32 のとき …… PC + 6
• LDI : 20, COPOP, COPLD, COPST, COPSV のとき …… PC + 4
• その他の命令のとき …… PC + 2
● ユーザ割込み・NMI の動作
ユーザ割込みまたはユーザ用 NMI の割込み要求が発生すると , 以下の順序で要求受理
の可否が判定されます。
[ 割込み要求受理の可否判定 ]
(1) 同時に発生した要求の割込みレベルを比較し, 最も強いレベル(最も小さい数値)
を保持するものが選択されます。比較に使用されるレベルは , マスク可能割込み
については対応する ICR の保持する値が , NMI についてはあらかじめ定められ
た定数が使用されます。
(2) 同じレベルを持つ割込み要求が複数発生しているときは , 最も若い割込み番号
を持つ割込み要求が選択されます。
(3) 割込みレベル ≧ レベルマスク値のとき , 割込み要求はマスクされ受理されませ
ん。
割込みレベル < レベルマスク値のとき , (4) へ。
(4) 選択された割込み要求がマスク可能割込みであるとき , I フラグが "0" ならば割
込み要求はマスクされ , 受理されません。I フラグが "1" ならば (5) へ。選択され
た割込み要求が NMI であるとき , I フラグの値にかかわらず (5) へ。
(5) 上記の条件が成立したとき , 命令処理の切れ目で割込み要求が受理されます。
EIT 要求検出時にユーザ割込み・NMI の要求が受理されると , 受理された割込み要求に
対応した割込み番号を使用して , CPU は以下のように動作します。
なお , 下記において〔動作〕における ( ) はレジスタの指すアドレスを表します。 [ 動作 ]
(1) SSP − 4
→
SSP
(2) PS
→
(SSP)
(3) SSP − 4
→
SSP
(4) 次の命令のアドレス
→
(SSP)
(5) 受理した要求の割込みレベル
→
ILM
(6) "0"
→
S フラグ
(7) (TBR +受理した割込み要求のベクタオフセット ) →
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
PC
61
第 3 章 CPU および制御部
3.9 EIT ( 例外・割込み・トラップ )
MB91220 シリーズ
割込みシーケンス終了後 , ハンドラの先頭の命令を実行する前に新たな EIT の検出を
行います。この時点で受理可能な EIT が発生していると , CPU は EIT 処理シーケンス
に遷移します。
● INT 命令の動作
INT #u8
u8 で示されるベクタの割込みハンドラへ分岐します。
[ 動作 ]
(1) SSP − 4
→
SSP
(2) PS
→
(SSP)
(3) SSP − 4
→
SSP
(4) PC + 2
→
(SSP)
(5) "0"
→
I フラグ
(6) "0"
→
S フラグ
(7) (TBR + 3FCH − 4 × u8)
→
PC
● INTE 命令の動作
INTE
ベクタ番号 #9 のベクタの割込みハンドラへ分岐します。
[ 動作 ]
(1) SSP − 4
→
SSP
(2) PS
→
(SSP)
(3) SSP − 4
→
SSP
(4) PC + 2
→
(SSP)
(5) "00100B"
→
ILM
(6) "0"
→
S フラグ
(7) (TBR + 3D8H)
→
PC
INTE 命令 , およびステップトレーストラップの処理ルーチン中では , INTE 命令は使用
しないでください。また , ステップ実行中は INTE による EIT の発生はありません。
● ステップトレーストラップの動作
PS 中の SCR における T フラグをセットしてステップトレースの機能を許可にしてお
くと , 一命令実行ごとにトラップが発生し , ブレークします。
[ ステップトレーストラップ検出の条件 ]
(1) T フラグ = 1
(2) 遅延分岐命令ではないとき
(3) INTE 命令 , ステップトレーストラップの処理ルーチン以外を実行中であるとき
(4) 以上の条件が成立すると , 命令動作の切れ目でブレークします。
62
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.9 EIT ( 例外・割込み・トラップ )
MB91220 シリーズ
[ 動作 ]
(1) SSP − 4
→
SSP
(2) PS
→
(SSP)
(3) SSP − 4
→
SSP
(4) 次の命令のアドレス
→
(SSP)
(5) "00100B"
→
ILM
(6) "0"
→
S フラグ
(7) (TBR + 3CCH)
→
PC
T フラグをセットしてステップトレーストラップを許可にしたとき , ユーザ用の NMI
とユーザ割込みは禁止状態となります。また , INTE 命令による EIT は発生しなくなり
ます。
FR ファミリでは , T フラグをセットした次の命令からトラップが発生します。
● 未定義命令例外の動作
命令のデコード時に未定義命令であることを検出すると , 未定義命令例外が発生しま
す。
[ 未定義命令例外の検出条件 ]
・命令のデコード時に , 未定義命令が検出される。
・遅延スロット外に置かれている ( 遅延分岐命令の直後ではないこと )。
以上の条件が成立すると , 未定義命令例外が発生し , ブレークします。
[ 動作 ]
(1) SSP − 4
→
SSP
(2) PS
→
(SSP)
(3) SSP − 4
→
SSP
(4) PC
→
(SSP)
(5) "0"
→
S フラグ
(6) (TBR + 3C4H)
→
PC
PC として退避されるのは , 未定義命令例外を検出した命令自身のアドレスです。
● コプロセッサ不在トラップ
実装していないコプロセッサを使用するコプロセッサ命令を実行すると , コプロセッ
サ不在トラップが発生します。
[ 動作 ]
CM71-10142-5
(1) SSP − 4
→
SSP
(2) PS
→
(SSP)
(3) SSP − 4
→
SSP
(4) 次の命令のアドレス
→
(SSP)
(5) "0"
→
S フラグ
(6) (TBR + 3E0H)
→
PC
FUJITSU SEMICONDUCTOR LIMITED
63
第 3 章 CPU および制御部
3.9 EIT ( 例外・割込み・トラップ )
MB91220 シリーズ
● コプロセッサエラートラップ
コプロセッサを使用しているときにエラーが発生した場合 , 次にそのコプロセッサを
操作するコプロセッサ命令を実行したとき , コプロセッサエラートラップが発生しま
す。
[ 動作 ]
(1) SSP − 4
→
SSP
(2) PS
→
(SSP)
(3) SSP − 4
→
SSP
(4) 次の命令のアドレス
→
(SSP)
(5) "0"
→
S フラグ
(6) (TBR + 3DCH)
→
PC
● RETI 命令の動作
RETI 命令は , EIT 処理ルーチンから復帰する命令です。
[ 動作 ]
(1) (R15)
→
PC
(2) R15 + 4
→
R15
(3) (R15)
→
PS
(4) R15 + 4
→
R15
RETI 命令は , S フラグが "0" の状態で実行する必要があります。
■ 遅延スロットの注意事項
分岐命令の遅延スロットには , EIT に関して制約があります。
「第 3 章 CPU および制御部」の「3.8 分岐命令」を参照してください。
64
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.10 動作モード
MB91220 シリーズ
3.10 動作モード
MB91220 シリーズの動作モードには , バスモードとアクセスモードがあります。
■ 動作モード
動作モードには , バスモードとアクセスモードがあります。
バスモード
アクセスモード
シングルチップ
内 ROM 外バス
外 ROM 外バス
16 ビットバス幅
8 ビットバス幅
● バスモード
バスモードとは , 内部 ROM の動作と外部アクセス機能の動作を制御するモードを指し ,
モード設定端子 (MD2, MD1, MD0) とモードデータ内の ROMA ビットの内容で指定しま
す。
● アクセスモード
アクセスモードとは , 外部データバス幅を制御するモードを示し , モードデータ内の
WTH1, WTH0 ビットと ACR0 ∼ ACR3(Area Configuration Register) 内の DBW0 ビット
で指定します。
■ バスモード
FR ファミリには , 次に示す 3 つのバスモードがあります。
詳細は 「3.2 メモリマップ」を参照してください。
● バスモード 0 ( シングルチップモード )
内部 I/O, 内蔵 RAM, 内蔵 ROM に対して有効です。それ以外の領域へのアクセスは無
効となります。外部端子は周辺リソース , または汎用ポートとして機能します。バス端
子としては機能しません。
● バスモード 1 ( 内 ROM 外バスモード )
内部 I/O, 内蔵 RAM, 内蔵 ROM に対して有効です。外部アクセスが可能な領域へのア
クセスは外部空間へのアクセスとなります。外部端子の一部はバス端子として機能し
ます。
● バスモード 2 ( 外 ROM 外バスモード )
内蔵 I/O, 内蔵 RAM が有効で , 内蔵 ROM へのアクセスを禁止にして , 外部アクセスが
可能な領域と内蔵 ROM 空間へのアクセスが外部空間へのアクセスとなるモードです。
外部端子の一部はバス端子として機能します。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
65
第 3 章 CPU および制御部
3.10 動作モード
MB91220 シリーズ
■ モード設定
FR ファミリでは , モード端子 (MD2, MD1, MD0) とモードデータで動作モードの設定を
行います。
● モード端子
MD2, MD1, MD0 の 3 端子でモードベクタ , リセットベクタフェッチに関する指定を行
います。
表に示した設定以外は禁止です。
モード端子
MD2, MD1, MD0
リセットベクタ
アクセス領域
モード名
000B
内 ROM モードベクタ
内部
● モードデータ
モードベクタフェッチ (「3.11 リセット ( デバイスの初期化 )」の「3.11.4 リセット動
作」を参照 ) によって内部のモードレジスタ (MODR) に書き込むデータをモードデー
タとよびます。
モードレジスタに設定が行われた後 , 本レジスタの設定に従った動作モードで動作し
ます。
モードデータは , すべてのリセット要因で設定されます。また , ユーザプログラムから
は設定することはできません。
図 3.10-1 モードデータの詳細
bit31
bit30
bit29
bit28
bit27
0
0
0
0
0
bit26
bit25
bit24
ROMA WTH1 WTH0
動作モード
設定ビット
[bit31 ∼ bit27] 予約ビット
必ず "00000B" を設定してください。
[bit26] ROMA : 内部 ROM イネーブルビット
内蔵 ROM 領域を有効にするかどうかを設定します。
66
ROMA
機能
0
外 ROM モード
内蔵 F-bus RAM は有効 , 内部 ROM 領域
(80000H ∼ 100000H) が外部領域になります。
1
内 ROM モード
内蔵 ROM 領域が有効になります。
備考
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.10 動作モード
MB91220 シリーズ
[bit25, bit24] WTH1, WTH0( バス幅指定ビット )
外バスモード時のバス幅指定の設定を行います。
外バスモード時 , この値が ACR0(CS0 領域 ) の DBW0 ビットに設定されます。
WTH1
WTH0
0
0
8 ビットバス幅
0
1
16 ビットバス幅
1
0
1
1
機能
−
シングルチップモード
<注意事項>
モードベクタに設定するモードデータは , "000FFFF8H" にバイトデータとして配置する
必要があります。FR ファミリは , バイトエンディアンとしてビッグエンディアンを採用
していますので , 図のように , bit31 ∼ bit24 の最上位バイトに配置してください。
図 3.10-2 モードデータの注意事項
bit31
bit24 bit23
bit16 bit15
bit8
bit7
bit0
誤
000FFFF8H
XXXXXXXX
XXXXXXXX
XXXXXXXX
モードデータ
正
000FFFF8H
モードデータ
XXXXXXXX
XXXXXXXX
XXXXXXXX
000FFFFCH
CM71-10142-5
リセットベクタ
FUJITSU SEMICONDUCTOR LIMITED
67
第 3 章 CPU および制御部
3.11 リセット ( デバイスの初期化 )
MB91220 シリーズ
3.11 リセット ( デバイスの初期化 )
リセットが発生すると , CPU は直ちに現在実行中の処理を中断し , リセット解除待
ち状態となります。リセットの解除後は , リセットベクタで示されたアドレスから
処理を開始します。
リセットには次の 4 つの要因があります。
• ウォッチドッグタイマのオーバフロー
• CPU 動作検出機能カウンタのオーバフロー
• 外部リセット端子からのリセット要求
• ソフトウェアリセット要求
■ 概要
リセット要因が発生すると , デバイスはすべてのプログラムおよびハードウェア動作
を停止し , 状態を初期化します。この状態をリセット状態とよびます。
リセット解除後 , デバイスは初期状態からプログラムおよびハードウェア動作を開始
します。リセット状態から動作開始に至る一連の動作をリセットシーケンスとよびま
す。
■ リセット要因
表 3.11-1 にリセットの要因を示します。
表 3.11-1 リセット要因
発振安定待ち
リセット
発生要因
内部発生 リセット
タイミング レベル
メイン
STOP 状態
発振停止
外部端子
INITX 端子への "L" 入力
同期
INIT
あり
あり
ソフトウェア
リセット
スタンバイ制御レジスタ
(STCR) の SRST ビットに "0"
書込み
同期
INIT
あり
-
ウォッチドッグ
タイマ
ウォッチドッグタイマオーバ
フロー
同期
INIT
あり
-
CPU 動作検出
CPU 動作検出カウンタの
オーバフロー
同期
INIT
あり
-
リセット要因発生時にはメインクロックとして発振クロックの 2 分周クロックが使用
されます。
● 外部リセット
外部リセットは , 外部リセット (INITX) 端子に "L" レベルを入力することでリセットを
発生します。
なお , 電源投入時は INITX 端子の入力レベルを "L" とし , 設定初期化リセット (INITX)
をかけてください。また , 電源投入直後は , 発振回路の発振安定待ち時間を確保するた
め , INITX 端子への "L" レベル入力を発振回路の要求する安定待ち時間の間持続してく
ださい。
68
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.11 リセット ( デバイスの初期化 )
MB91220 シリーズ
● ソフトウェアリセット
ソフトウェアリセットはスタンバイ制御レジスタ (STCR) の SRST ビットに "0" を書き
込むことによって , 内部リセットを発生します。
● ウォッチドッグリセット
ウォッチドッグリセットは , ウォッチドッグタイマの起動後 , 定められた時間内に
ウォッチドッグリセット発生遅延レジスタ (WPR) へ連続した "A5H", " 5AH" の書込み
がない場合に , ウォッチドッグタイマのオーバフローにより発生するリセットです。
● CPU 動作検出リセット
CPU 動作検出リセットは , 電源投入後 , 定められた時間内に CPU 動作検出リセット制
御レジスタ (LVRC) の CL ビットに "0" の書込みがないとき , CPU 動作検出カウンタの
オーバフローによってリセットを発生します。
<注意事項>
電源投入時 , 電圧低下発生時以外のリセット要因では , 書込み動作中 ( 転送系命令実行中 )
にリセット要因が発生した場合 , 命令の終了後にリセット解除待ち状態となります。その
ため , 書込み中にリセットが入力されても正常に書込みを終了します。ただし , ロードマ
ルチ (LDM) 系 , ストアマルチ (STM) 系命令は , 指定したレジスタ分の転送が終了する前に
リセットを受け付けますので , すべてのデータが転送されることを保証できません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
69
第 3 章 CPU および制御部
3.11 リセット ( デバイスの初期化 )
MB91220 シリーズ
3.11.1 リセット要因と発振安定待ち時間
4 種類のリセット要因があり , リセット時の発振安定待ち時間がリセット要因によっ
て異なります。
■ リセット要因と発振安定待ち時間
表 3.11-2 にリセット要因と発振安定待ち時間を示します。
表 3.11-2 リセット要因と発振安定待ち時間
発振安定待ち時間
リセット
発生要因
メイン発振停止
STOP 状態
外部端子
INITX 端子への "L" 入力
OS ビットの設定値
OS ビットの設定値
ソフトウェア
リセット
スタンバイ制御レジスタ (STCR)
の SRST ビットへの "0" 書込み
OS ビットの設定値
-
ウォッチドッグ
タイマ
ウォッチドッグタイマ
オーバフロー
OS ビットの設定値
-
CPU 動作検出
CPU 動作検出カウンタ
オーバフロー
OS ビットの設定値
-
発振安定待ち時間の確保は , スタンバイ制御レジスタ (STCR) 内の OS (Oscillation
Stabilization time select) ビットの設定により行います。
表 3.11-3 に OS1, OS0 の設定と発振安定待ち時間について示します。
表 3.11-3 スタンバイ制御レジスタ (STCR) の設定による発振安定待ち時間
メイン発振 4MHz 時
サブ発振 32.768kHz の場合
(φ/2 の周期 )
φ × 21 ( 初期値 )
1μs
61μs
1
φ × 211
1ms
62.5ms
1
0
φ × 216
32.7ms
2s
1
1
φ × 214
8ms
0.5s
OS1
OS0
0
0
0
発振安定待ち時間
φ : 内部ベースクロックの周期で , メイン発振の 2 倍の周期
<注意事項>
セラミックや水晶などの振動子は , 発振を開始してから固有の振動数に安定するまで一般
的に数 ms から十数 ms の発振安定待ち時間を必要とします。そのため , 使用する振動子
に合わせた値を設定してください。
S サフィックスがある製品はサブクロックをサポートしません。
70
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.11 リセット ( デバイスの初期化 )
MB91220 シリーズ
■ 電源投入時の発振安定待ち時間について
電源投入時は INITX 端子の入力レベルを "L" としてください。電源投入時の "L" レベ
ル入力期間は ( 振動子の発振時間 ) + (10 ×ベースクロック ) +12μs ( 内部降圧回路安定
待ち時間 ) 以上を確保してください。また内部回路にたいしてはパワーオン安定待ち
時間 (217 ×ベースクロック ) が確保されます。その後は , OS ビットに設定された値を
発振安定待ち時間として確保します。
図 3.11-1 外部リセットと内部動作の関係図 ( パワーオン待ち時間> INITX "L" 期間 ( 推奨 ) )
VCC
CLK
INITX
a
b
CPU動作
a :振動子の発振時間
b :10xベースクロック+12μs
パワーオン安定
待ち時間
発振安定
待ち時間
図 3.11-2 外部リセットと内部動作の関係図 ( パワーオン待ち時間> INITX "L" 期間 ( 推奨 ) )
VCC
CLK
INITX
a
b
CPU動作
a
b
パワーオン安定
:振動子の発振時間
:10xベースクロック+12μs
待ち時間
発振安定
待ち時間
■ ストップモード中の INITX 端子による復帰について
ストップモード中の INITX 端子による復帰は , INITX 端子への "L" レベル入力時間を
12μs以上確保してください(RESET解除後, OSビットの設定時間を待って復帰します)。
■ ストップモード中の外部割込みによる復帰について
ストップモード中の外部割込みによる復帰は , レベル検出時間を 12μs 以上確保してく
ださい ( 割込み後 , OS ビットの設定時間を待ってストップモードから復帰します )。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
71
第 3 章 CPU および制御部
3.11 リセット ( デバイスの初期化 )
MB91220 シリーズ
3.11.2 リセットレベル
MB91220 のリセット動作は 2 種類のレベルに分けられ , それぞれ発生要因および初
期化の内容が異なります。以下 , 各リセットレベルについて説明します。
■ 設定初期化リセット (INIT)
すべての設定を初期化する最強レベルのリセットです。
外部端子入力 , ウォッチドッグリセット , ソフトウェアリセット , CPU 動作検出による
リセットがこの設定初期化リセットに相当します。設定初期化リセット (INIT) 発生時
には , 同時に動作初期化リセット (RST) も発生します。
設定初期化リセット (INIT) により初期化される内容は次のとおりです。
• デバイスの動作モード ( バスモードおよび外部バス幅の設定 )
• クロック生成 / 制御に関する設定
- クロックソース選択 (CLKS: メインクロック 2 分周 )
- クロック分周設定 ( 周辺 : × 4, CPU: × 1, 外部バス : × 1)
- ウォッチドッグタイマ周期 (WT1, WT0: 216 ×ベースクロック周期 ) *1
- 発振安定待ち時間 (OS1, OS0: 21 ×ベースクロック周期 ) *2
- ストップ時発振抑止 (OSCD1: ストップ中メインクロック発振を停止 )
- タイムベースタイマ割込み (TBIE: 禁止 )
- メイン PLL 逓倍率 (PLL1S: × 1)
- PLL 動作許可 (PLL1E:PLL 停止 )
• 外部バスの CS0 領域に関するすべての設定
- 領域選択レジスタ (ASR0: 開始アドレス "0")
- 領域サイズ (ASZ:512K バイト )
- データバス幅 ( モードデータの値が反映されます )
- 書込みイネーブル (WEN: ライトプロテクト )
- アクセスタイプ (TYP: 通常アクセス , WR0X, WR1X 端子をライトストローブとし
て使用 , WRX は "H" 固定 , RDY 端子による WAIT 挿入無効 )
• ストップ時端子状態制御ビットは , HIZ=1:Hi-Z 状態です。
• 動作初期化リセット (RST) で初期化されるすべての設定
*1: 設定初期化リセット (INIT) 発生により , ウォッチドッグタイマは停止し , 再度プロ
グラム動作により起動するまでは機能しません。
*2: パワーオン以外では初期化されません。
72
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.11 リセット ( デバイスの初期化 )
MB91220 シリーズ
■ 動作初期化リセット (RST)
プログラム動作を初期化する通常レベルのリセットを動作初期化リセット (RST) とよ
びます。
設定初期化リセット(INIT)発生時には, 同時に動作初期化リセット(RST)も発生します。
動作初期化リセット (RST) により初期化される内容は以下のとおりです。
• プログラム動作
• CPU および内部バス
• クロック生成 / 制御に関する設定
- ウォッチドッグタイマ周期 (WT1, WT0: 216 ×ベースクロック周期 )
- タイムベースタイマ割込み (TBIE: 禁止 )
• 周辺回路のレジスタ設定値
• I/O ポート設定
• デバイスの動作モード ( バスモードおよび外部バス幅の設定 )
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
73
第 3 章 CPU および制御部
3.11 リセット ( デバイスの初期化 )
MB91220 シリーズ
3.11.3 外部リセット端子
外部リセット端子 ( INITX 端子 ) は , リセット入力専用端子で , "L" レベルの入力に
よって内部リセットを発生します。このリセットにより内部回路はベースクロック
に同期してリセットされますが , 各外部端子は非同期でリセットされます。
■ 外部リセット端子のブロックダイヤグラム
図 3.11-3 内部リセットのブロックダイヤグラム
ベースクロック
(PLL逓倍回路, HCLKの2分周)
INITX
P-ch
端子
P-ch
同期化回路
N-ch
クロック同期
内部リセット信号
入力バッファ
書込み動作中のリセットによるメモリ破壊を防ぐため, INITX端子入力による内部回路
の初期化動作をメモリが破壊されないサイクルで行います。また , 内部回路の初期化に
はクロックが必要です。外部クロックで動作させる場合には , リセット入力時にクロッ
ク入力が必要です。
■ 外部端子のリセットタイミング
外部リセット INITX 端子入力に対して , 各外部端子は非同期にリセットされます。
74
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.11 リセット ( デバイスの初期化 )
MB91220 シリーズ
3.11.4 リセット動作
リセットが解除されると , モード端子の設定でモードデータとリセットベクタの読
出し先を選択し , モードフェッチを行います。このモードフェッチで , CPU の動作
モードとリセット動作後の実行開始アドレスが決定されます。電源投入後 , ストッ
プからのリセットによる復帰では , 発振安定待ち時間が経過してからモードフェッ
チを行います。
■ リセット動作の概要
図 3.11-4 に , リセット動作フローを示します。
図 3.11-4 リセット動作フロー
電源投入時の外部リセット
外部リセット
ソフトウェアリセット
ウォッチドッグタイマリセット
CPU動作検出リセット
リセット中
停止
メイン発振
発振安定待ちリセット状態
動作
モードデータ取込み
モードフェッチ
(リセット動作)
通常動作
(RUN状態)
CM71-10142-5
リセットベクタ取込み
リセットベクタが示すアドレスから
命令コードを読み出し, 命令を実行
FUJITSU SEMICONDUCTOR LIMITED
75
第 3 章 CPU および制御部
3.11 リセット ( デバイスの初期化 )
MB91220 シリーズ
■ モード端子
モード端子 (MD0 ∼ MD2) は , リセットベクタとモードデータの取込み方法を指定しま
す。リセットベクタとモードデータの取込みはリセットシーケンスで行います。モー
ド端子の詳細は「3.10 動作モード」の「■モード設定」を参照してください。
■ モードフェッチ
リセットが解除されると , CPU はリセットベクタとモードデータを CPU コア内の該当
レジスタ内に取り込みます。リセットベクタとモードデータはそれぞれ , "FFFFCH",
"FFFF8H" に割り当てられています。CPU は , リセット解除後 , 直ちにこれらのアドレ
スを内部バスに出力し , リセットベクタとモードデータを取り込みます。このモード
フェッチで , CPU はリセットベクタが指すアドレスから処理を開始します。
76
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.11 リセット ( デバイスの初期化 )
MB91220 シリーズ
3.11.5 リセット要因ビット
リセット発生要因は , ウォッチドッグタイマ制御レジスタ (RSRR) を読み出して識
別することができます。
■ リセット
図 3.11-5 に示すように , それぞれのリセット要因に対応したフリップフロップがあり
ます。これらの内容は , ウォッチドッグタイマ制御レジスタ (RSRR) を読み出すと得ら
れます。リセット解除後にリセット発生要因を識別する必要がある場合には , ウォッチ
ドッグタイマ制御レジスタ (RSRR) の読出し値をソフトウェアで処理したうえで , 適切
なプログラムへ分岐するようにしてください。
図 3.11-5 リセット要因ビットブロックダイヤグラム
定期的なクリアなし
CPU動作
検出リセット
要求検出回路
INITX端子
定期的なクリアなし RSTビットセット
外部リセット
要求検出回路
ウォッチドッグ
タイマ制御
レジスタ
(RSRR)
システムベース
クロック
D
Q
CL
F/F
CK
D
Q
CL
F/F
CK
ウォッチドッグ
タイマリセット
発生検出回路
D
Q
CL
F/F
CK
RSTビット
書込み検出
回路
Q
PR
パワーオン
リセット
F/F
D
CK
ウォッチドッグタイマ
制御レジスタ
(RSRR)読出し
内部データバス
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
77
第 3 章 CPU および制御部
3.11 リセット ( デバイスの初期化 )
MB91220 シリーズ
■ リセット要因ビットとリセット要因の対応
ウォッチドッグタイマ制御レジスタ (RSRR) のリセット要因ビットの構成を , 図 3.11-6
に , リセット要因ビットの内容とリセット要因の対応を表 3.11-4 に示します。詳細は ,
「3.12 クロック生成制御」を参照してください。
図 3.11-6 リセット要因ビットの構成 ( スタンバイ制御レジスタ )
RSRR ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
00000480H
PON
−
WDOG
ERST
SRST
−
WT1
WT0
R,WX
R0,WX
R,WX
R,WX
R,WX
R0,WX
R/W
R/W
初期値
電源投入時 1000 0000B
INIT
**** **00B
RST
XXX* *X00B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
表 3.11-4 リセット要因ビットの内容とリセット要因の対応
リセット要因
PON
WDOG
ERST
SRST
パワーオンリセットによるリセット要因
1
*1
*1
*1
ウォッチドッグタイマオーバフローによ
るリセット要求の発生
*1
1
*1
*1
INITX 端子からの外部リセット要求 ,
CPU 動作検出リセット要求の発生 *2
*1
*1
1
*1
ソフトウェアリセット要求の発生
*1
*1
*1
1
*1 : 前の状態を保持
*2 : CPU 動作検出リセット要求の発生の場合は , CPU 動作検出リセット制御レジスタ
(LVRC) の CPUF ビットが "1" になります。
78
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.11 リセット ( デバイスの初期化 )
MB91220 シリーズ
■ リセット要因ビットの注意事項
● 複数のリセット要因が発生した場合
リセット要因が複数発生する場合は , ウォッチドッグタイマ制御レジスタ (RSRR) の対
応するそれぞれのリセット要因ビットが "1" にセットされます。例えば , INITX 端子か
らの外部リセット要求の発生とウォッチドッグタイマのオーバフローが同時に発生し
た場合 , ERST ビットと WDOG ビットの両方が "1" になります。
● リセット要因ビットのクリア
リセット要因ビットは , ウォッチドッグタイマ制御レジスタ (RSRR) を読み出したとき
のみクリアされます。それぞれのリセット要因に対応するビットに生じたフラグは , そ
の後 , ほかの要因でリセットが発生してもクリアされません ("1" のままです )。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
79
第 3 章 CPU および制御部
3.11 リセット ( デバイスの初期化 )
MB91220 シリーズ
3.11.6 発振安定待ち要因
発振安定待ち要因について説明します。
■ リセット (INIT) の解除時
各種要因によるリセットが解除された直後に発振安定待ち状態へ遷移します。
パワーオン時の初期時は発振安定待ち時間は最小値に設定されるため, INITX端子の入
力幅にて安定待ち時間を確保してください。また , メイン RUN およびサブ RUN 中に
メイン発振を停止しない場合のウォッチドッグリセットでは , 発振安定待ち時間を確
保しません。ウォッチドッグリセットで発振安定待ち時間を確保するのは , 「■ サブ
RUN でメイン発振停止中のウォッチドッグリセット発生時」の場合のみです。
■ ストップモードからの復帰時
ストップモードが解除された直後に発振安定待ち状態へ遷移します。ただし , リセット
(INIT) 要求により解除された場合は , リセット (INIT) 状態に遷移し , リセット (INIT) が
解除された後 , 発振安定待ち状態へ遷移します。
発振安定待ち時間経過後は , ストップモードが解除された要因に対応した状態へと遷
移します。
有効な外部割込み要求入力および , メイン発振安定待ちタイマ割込みの発生による復
帰時 → 通常動作状態へ遷移します。
■ PLL 選択時の異常状態からの復帰時
PLL をソースクロックとして動作しているときに , PLL 制御に何らかの異常 (PLL 使用
中の逓倍率変更 , PLL 動作許可ビット化け発生など ) が発生した場合 , PLL ロック待ち
時間の確保のために , 発振安定待ち時間が必要です。ソフトウェアでの対応をお願いし
ます。
発振安定待ち時間経過後は , 通常動作状態へ遷移します。
■ サブ RUN でメイン発振停止中のウォッチドッグリセット発生時
サブクロックをソースクロックとして動作しているときで , OSCCR( 発振制御レジスタ )
のbit0 : OSCDS1ビットによってメイン発振を停止中にウォッチドッグリセットが発生し
た場合 , リセット (INIT) が解除された直後に発振安定待ち状態に遷移します。発振安定
待ち時間 * 経過後は , 通常の動作状態へ遷移します。
*: 発振安定待ち時間の設定は , 初期化されず , 設定していた値で行われます。
S サフィックスがある製品はサブクロックをサポートしません。
80
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
3.12 クロック生成制御
クロックの生成とその制御について説明します。
■ クロック生成制御
内部動作クロックは以下のようにして生成されます。
• ベースクロックの生成
ソースクロックを 2 分周または PLL 発振させ , 基本クロックを生成します。
• 各内部クロックの生成
ベースクロックを分周し , 各部に供給する動作クロックを生成します。
以下 , 各クロック生成とその制御について説明します。
各レジスタ , フラグの詳細な説明は ,「3.12.6 クロック生成制御部のブロックダイヤグ
ラム」および ,「3.12.7 クロック生成制御部のレジスタ詳細説明」を参照してください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
81
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
3.12.1 ソースクロックの選択
ソースクロックの選択について解説します。
■ ソースクロックの選択
外部発振端子である X0/X1, X0A/X1A 端子入力に発振子を接続し , 内蔵発振回路にて
生成した原発振がソースクロックとなります。
MB91220 シリーズは , 外部バスクロックを含むすべてのクロック供給源を内蔵してい
ます。
外部発振端子および内蔵発振回路は, メインクロックとサブクロックの2 種類を使用で
き , 動作中に任意に切り換えて使用することが可能です。
• メインクロック :
X0/X1 端子入力から生成し , 高速クロックとして使用すること
を想定したものです。
• サブクロック
:
X0A/X1A 端子入力から生成し低速クロックとして使用すること
を想定したものです。
システムベースクロックは , 以下のソースクロックのうちから選択して生成します。
• メインクロックを 2 分周したもの
• メインクロックを PLL で逓倍したもの
• サブクロックそのもの
ソースクロックの選択制御は , CLKR( クロックソース制御レジスタ ) の設定によって
行います。
<注意事項>
S サフィックスがある製品はサブクロックをサポートしません。
82
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
3.12.2 PLL 制御
メインクロックに対応した PLL 発振回路について , 動作 ( 発振 ) 許可・禁止と逓倍
率設定を制御することが可能です。
各制御は , CLKR( クロックソース制御レジスタ ) の設定によって行います。
ここでは , 各制御内容について説明します。
■ PLL 動作許可
メイン PLL 発振動作の許可 / 停止は , CLKR( クロックソース制御レジスタ ) の bit10 :
PLL1EN ビットの設定によって行います。
● PLL 動作制御
PLL1EN ビットは , 設定初期化リセット (INIT) 後 "0" に初期化され , メイン PLL の発振
動作は停止しています。停止中は , ソースクロックとしてメイン PLL 出力を選択する
ことはできません。
プログラム動作を開始したら , まずクロックソースとして使用するメイン PLL の逓倍
率を設定し , 動作許可してください。次に PLL ロック待ち時間経過後ソースクロック
を切り換えてください。この際の PLL ロック待ち時間は , タイムベースタイマ割込み
を使用することを推奨します。
ソースクロックとしてメイン PLL 出力を選択している間は , PLL は動作を停止させる
ことができません。レジスタへの書込みは無効となります。ストップモードに移行す
る際などで PLL を停止させたい場合は , いったんソースクロックをメインクロックの
2 分周したものに選択し直した後 , PLL を停止させてください。
なお , STCR( スタンバイ制御レジスタ ) の bit0 : OSCD1 ビットにより , ストップモード
中の発振が停止するように設定してある場合 , PLL はストップモード遷移時に自動的
に停止しますので , 動作停止を改めて設定する必要はありません。その後 , ストップ
モードから復帰する際 , PLL は自動的に発振動作を開始します。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
83
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
■ PLL 逓倍率
メイン PLL の逓倍率は , CLKR ( クロックソース制御レジスタ ) の bit14 ∼ bit12: PLL1S2 ∼
PLL1S0 ビットによって設定します。
● PLL 逓倍率
設定初期化リセット (INIT) 後は全ビット "0" に初期化されています。
PLL 逓倍率設定を初期値より変更する場合 , プログラム動作開始後 , PLL を動作許可す
る前または同時に設定してください。逓倍率変更後は , ロック待ち時間経過後にソース
クロックを切り換えてください。この際の PLL ロック待ち時間は , タイムベースタイ
マ割込みを使用することを推奨します。
動作中に PLL 逓倍率設定を変更する場合 , いったんソースクロックを PLL 以外に切り
換えてから変更してください。逓倍率変更後は , 上記同様にロック待ち時間経過後に
ソースクロックを切り換えてください。
84
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
3.12.3 発振安定待ち・PLL ロック待ち時間
ソースクロックとして選択するクロックが安定動作状態にない場合 , 発振安定待ち
時間が必要です ( 「3.11.6 発振安定待ち要因」を参照 )。
PLL については , 動作開始後 , 設定された周波数に出力が安定するまでロック待ち時
間が必要です。
■ 発振安定待ち・メイン PLL ロック待ち時間
以下 , 各種ケースにおける待ち時間について解説します。
● 電源投入後の待ち時間
電源投入後は , まずメインクロック用発振回路の発振安定待ち時間が必要となりま
す。発振安定待ち時間の設定は , 電源投入時 , 最大値に初期化されるため , メインク
ロック用発振回路の発振安定待ち時間が確保されます。
この状態において , PLL は動作許可されていないため , ロック待ち時間を考慮する
必要はありません。
● 設定初期化後の待ち時間
設定初期化リセット (INIT) が解除されると , 発振安定待ち状態へ遷移します。ここ
では , 設定された発振安定待ち時間を内部的に発生します。
この状態において , PLL は動作許可されていないため , ロック待ち時間を考慮する
必要はありません。
● PLL 動作許可後の待ち時間
プログラム動作開始後 , 停止状態の PLL を動作許可した場合 , ロック待ち時間が経
過しないとその PLL 出力を使用してはいけません。
ソースクロックとしてメイン PLL を選択していなければ , ロック待ち時間中もプロ
グラム動作は実行可能です。この際の PLL ロック待ち時間は , タイムベースタイマ
割込みを使用することを推奨します。
● PLL 逓倍率変更後の待ち時間
プログラム動作開始後 , 動作状態の PLL の逓倍率設定を変更した場合も , ロック待
ち時間が経過しないとその PLL 出力を使用してはいけません。
ソースクロックとしてメイン PLL を選択していなければ , ロック待ち時間中もプロ
グラム動作は実行可能です。この際の PLL ロック待ち時間は , タイムベースタイマ
割込みを使用することを推奨します。
● ストップモード復帰後の待ち時間
プログラム動作開始後 , ストップモードに遷移した場合の解除時には , プログラム
にて設定された時間の発振安定待ち時間を内部的に発生します。
ストップモード中に , ソースクロックとして選択しているクロック用発振回路を停
止させる設定の場合, その発振回路の発振安定待ち時間と, 使用しているPLLのロッ
ク待ち時間のうち , 長い方の時間が必要となります。ストップモードに遷移させる
前に , あらかじめ長い方の待ち時間を設定しておいてください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
85
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
3.12.4 クロック分配
ソースクロックより生成されたベースクロックを元に , 各機能用の動作クロックを
それぞれ作成します。
内部動作クロックは , 全部で 3 種類あり , それぞれが独立に分周比を設定することが
できます。
各内部動作クロックについて説明します。
■ CPU クロック (CLKB)
CPU と内部メモリおよび内部バスに使用されるクロックです。
本クロックを使用する回路を以下に示します。
• CPU
• 内蔵 RAM, 内蔵 ROM
• ビットサーチモジュール
• I-bus, D-bus, F-bus, X-bus
• DMA コントローラ
• DSU (On chip Debug Support Unit)
動作可能な上限周波数を超える周波数になる逓倍率と分周比の組合せは設定しないで
ください。
■ 周辺クロック (CLKP)
周辺リソースおよびペリフェラルバスに使用されるクロックです。
本クロックを使用する回路を以下に示します。
• ペリフェラル ( 周辺 ) バス
• クロック制御部 ( バスインタフェース部のみ )
• 割込みコントローラ
• I/O ポート
• 外部割込み入力 , LIN-UART, 16 ビットタイマなどの周辺リソース
動作可能な上限周波数を超える周波数になる逓倍率と分周比の組合せは設定しないで
ください。
■ 外部バスクロック (CLKT)
外部拡張バスインタフェースに使用されるクロックです。
本クロックを使用する回路を以下に示します。
• 外部拡張バスインタフェース
• 外部クロック出力
動作可能な上限周波数を超える周波数になる逓倍率と分周比の組合せは設定しないで
ください。
86
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
<注意事項>
CPU の処理能力はフラッシュウェイトレジスタ (FLWC) の設定にも影響を受けます。必
ず本レジスタの設定を最適な値にしてご利用ください。
「28.2 フラッシュメモリのレジス
タ」もご参照ください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
87
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
3.12.5 クロック分周
各内部動作クロックは , それぞれ独立にベースクロックからの分周比を設定できま
す。この機能により , 各回路に最適な動作周波数を設定します。
■ クロック分周
分周比は , DIVR0( 基本クロック分周設定レジスタ 0) および DIVR1( 基本クロック分周
設定レジスタ 1) にて設定します。各レジスタには各クロックに対応する 4 ビットずつ
の設定ビットがあり , ( レジスタ設定値+ 1) がそのクロックのベースクロックに対する
分周比となります。分周比設定が奇数であっても , 常にデューティ比は 50% となりま
す。
設定値の変更があった場合 , 設定後次のクロックの立上りから変更後の分周比が有効
となります。
分周比設定は , 動作初期化リセット (RST) の発生では初期化されず , リセット発生前の
設定が維持されます。設定初期化リセット (INIT) の発生によってのみ初期化されます。
初期状態からソースクロックを高速なものに変更する前に必ず分周比の設定を行って
ください。
ソースクロックの選択 , メイン PLL の逓倍率の設定 , 分周比の設定の組合せで上限周
波数を超える設定をした場合 , 動作は保証されません ( ソースクロック選択の変更設定
との順序を間違えないように特に注意してください )。
88
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
3.12.6 クロック生成制御部のブロックダイヤグラム
クロック生成制御部のブロックダイヤグラムを示します。
■ クロック生成制御部のブロックダイヤグラム
図 3.12-1 にクロック生成制御部のブロックダイヤグラムを示します。図中のレジスタ
の詳細は , 「3.12.7 クロック生成制御部のレジスタ詳細説明」を参照してください。
図 3.12-1 クロック生成制御部のブロックダイヤグラム
R-bus
[クロック生成部]
X0A
X1A
CLKR
レジスタ
発振回路
PLL
メイン
発振
周辺クロック
外部バスクロック
セレクタ
X0
X1
外部バス
クロック分周
CPUクロック
停
止
制
御
セレクタ
周辺クロック分周
メイン発振
安定待ちタイマ
(サブ選択時用)
セレクタ
CPUクロック分周
セレ クタ
DIVR0,DIVR1
レジスタ
1/2
発振回路
サブ
発振
[ストップ・スリープ制御部]
内部割込み
ストップ状態
STGRレジスタ
内部リセット
状態遷移
制御回路
SLEEP状態
リセット発生
FF
リセット発生
FF
内部リセット(RST)
内部リセット(INIT)
[ リセット要因回路]
INITX端子
RSRRレジスタ
[ ウォッチドッグ制御部]
WPRレジスタ
CTBRレジスタ
ウォッチドッグ
FF
カウンタクロック
タイムベース
カウンタ
セレクタ
TBCRレジスタ
オーバフロー
検出FF
割込み許可
タイムベースタ
イマ割込み要求
<注意事項>
S サフィックスのある製品はサブクロックをサポートしません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
89
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
3.12.7 クロック生成制御部のレジスタ詳細説明
クロック生成制御部で使用するレジスタの機能について説明します。
■ RSRR : リセット要因レジスタ / ウォッチドッグタイマ制御レジスタ
図 3.12-2 リセット要因レジスタ / ウォッチドッグタイマ制御レジスタ (RSRR)
RSRR ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
00000480H
PON
−
WDOG
ERST
SRST
−
WT1
WT0
R,WX
R0,WX
R,WX
R,WX
R,WX
R0,WX
R/W
R/W
初期値
電源投入時 10000000B
INIT
**** **00B
RST
XXX**X00B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
直前に発生したリセットの要因の保持 , ウォッチドッグタイマの周期設定および起動
制御を行うレジスタです。
本レジスタを読み出すと , 保持されたリセット要因は読出し後にクリアされます。読み
出すまでの間に複数回のリセットが発生した場合 , リセット要因フラグは累積され , 複
数のフラグがセットされることになります。
本レジスタに書き込むと , ウォッチドッグタイマが起動されます。それ以降はリセット
(RST) が発生するまで , ウォッチドッグタイマは動作を続けます。
[bit15] PON(Power On Reset)
パワーオンによるリセット (INIT) の発生の有無を示します。
0
パワーオンによる INIT は発生していません。
1
パワーオンによる INIT が発生しました。
• 電源投入時 , または読出し直後に "0" に初期化されます。
• 読出し可能で , 書込みはビット値に影響を与えません。
[bit14] (reserved bit)
このビットは予約ビットです。
90
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
[bit13] WDOG (WatchDOG reset)
ウォッチドッグタイマによるリセット (INIT) の発生の有無を示します。
0
ウォッチドッグタイマによる INIT は発生していません。
1
ウォッチドッグタイマによる INIT が発生しました。
• 電源投入時または読出し直後に "0" に初期化されます。
• 読出し可能で , 書込みはビット値に影響を与えません。
[bit12] ERST (External ReSeT)
INITX 端子入力 , CPU 動作検出によるリセット (INIT) の発生の有無を示します。
0
INITX 端子入力 , CPU 動作検出による INIT は発生していません。
1
INITX 端子入力 , CPU 動作検出による INIT が発生しました。
• 電源投入時または読出し直後に "0" に初期化されます。
• 読出し可能で , 書込みはビット値に影響を与えません。
[bit11] SRST (Software ReSeT)
STCRレジスタのSRSTビット書込み(ソフトウェアリセット)によるリセット(INIT)
の発生の有無を示します。
0
ソフトウェアリセットによる INIT は発生していません。
1
ソフトウェアリセットによる INIT が発生しました。
• 電源投入時または読出し直後に "0" に初期化されます。
• 読出し可能で , 書込みはビット値に影響を与えません。
[bit10] (reserved bit)
このビットは予約ビットです。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
91
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
[bit9, bit8] WT1, WT0 (Watchdog interval Time select)
ウォッチドッグタイマの周期を設定します。
本ビットに書き込む値により , ウォッチドッグタイマの周期を下表に示す 4 種類の
うちから選択します。
ウォッチドッグリセットの発生を WPR への最終 5AH 書込みから
抑止するために最低限必要な
ウォッチドッグリセットが
WPR への書込み間隔
発生するまでの時間
WT1
WT0
0
0
φ × 216 ( 初期値 )
φ × 216 ∼ φ × 217
0
1
φ × 218
φ × 218 ∼ φ × 219
1
0
φ × 220
φ × 220 ∼ φ × 221
1
1
φ × 222
φ × 222 ∼ φ × 223
φ : 内部ベースクロックの周期
• リセット (RST) により "00B" に初期化されます。
• 読出し可能で , 書込みはリセット (RST) 後 1 回のみ有効で , それ以降の書込みは
無効です。
92
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
■ STCR : スタンバイ制御レジスタ
図 3.12-3 スタンバイ制御レジスタ (STCR) のビット構成
STCR ( アクセス:Byte, Half-word, Word)
アドレス
00000481H
bit7
bit6
bit5
bit4
bit3
bit2
STOP
SLEEP
HIZ
SRST
OS1
OS0
R/W
R/W
R/W
R1,W
R/W
R/W
bit1
bit0
OSCD2 OSCD1
R/W
R/W
初期値
電源投入時 00110011 B
INIT
0011XX11 B
RST
00X1XXXXB
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
デバイスの動作モードを制御するレジスタです。
ストップ , スリープの 2 つのスタンバイモードへの遷移 , ストップモード中の端子およ
び発振停止制御を行うほか , 発振安定待ち時間の設定 , ソフトウェアリセットの発行を
行います。
<注意事項>
スタンバイモードに入る場合は , 以下のシーケンスを必ず使用してください。
(LDI
#value_of_standby, R0) ; value_of_standby は , STCR へのライトデータ
(LDI
#_STCR, R12)
; _STCR は , STCR のアドレス (481H)
STB
R0, @R12
; スタンバイ制御レジスタ (STCR) への書込み
LDUB
@R12, R0
; 同期スタンバイのための STCR リード
LDUB
@R12, R0
; もう一度 STCR をダミーリード
NOP
; タイミング調整用の NOP × 5
NOP
NOP
NOP
NOP
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
93
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
以下に , スタンバイ制御レジスタ (STCR) の各ビットの機能を説明します。
[bit7] STOP (STOP mode)
ストップモードへの遷移を指示します。bit6 : SLEEP ビットと本ビット両方に "1" を
書き込んだ場合は , 本ビットの方が優先となりストップモードへ遷移します。
0
ストップモードへの遷移は行いません ( 初期値 )。
1
ストップモードへ遷移します。
• リセット (RST) およびストップ復帰要因により "0" に初期化されます。
• 読出しおよび書込みが可能です。
[bit6] SLEEP (SLEEP mode)
スリープモードへの遷移を指示します。bit7 : STOP ビットと本ビット両方に "1" を
書き込んだ場合は , bit7:STOP ビットの方が優先となりストップモードへ遷移しま
す。
0
スリープモードへの遷移は行いません ( 初期値 )。
1
スリープモードへ遷移します。
• リセット (RST) およびスリープ復帰要因により "0" に初期化されます。
• 読出しおよび書込みが可能です。
[bit5] HIZ (HIZ mode)
ストップモード時の端子状態を制御します。
0
ストップモード遷移前の端子状態を維持します。
1
ストップモード中は端子出力をハイインピーダンス状態にします。
( 初期値 )
• リセット (INIT) により "1" に初期化されます。
• 読出しおよび書込みが可能です。
[bit4] SRST (Software ReSeT)
ソフトウェアリセット (INIT) の発行を指示します。
0
ソフトウェアリセットを発行します。
1
ソフトウェアリセットの発行を行いません ( 初期値 )。
• リセット (RST) により "1" に初期化されます。
• 読出しおよび書込みが可能です。読出し値は , 常に "1" となります。
94
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
[bit3, bit2] OS1, OS0 (Oscillation Stabilization time select)
リセット(INIT)後およびストップモード復帰後などにおける発振安定待ち時間を設
定します。
本ビットに書き込む値により , 発振安定待ち時間を下表に示す 4 種類のうちから選
択します。
OS1
OS0
0
0
φ × 21 ( 初期値 )
1.0 μs
0
1
φ × 211
1.0 ms
1
0
φ × 216
32.7 ms
1
1
φ × 214
8.0 ms
発振安定待ち時間
メイン発振 4MHz の場合
(φ は内部ベースクロックの周期で , メイン発振の 2 倍の周期 )
• 読出しおよび書込みが可能です。
[bit1] OSCD2 (Oscillation Disable mode for XIN2)
サブ発振入力 (X0A, X1A) におけるストップモード時の発振停止を制御します。
0
ストップモード中もサブ発振は停止しません。
1
ストップモード中はサブ発振を停止します ( 初期値 )。
• リセット (INIT) により "1" に初期化されます。
• 読出しおよび書込みが可能です。
<注意事項>
S サフィックスがある製品では本ビットへの書込みは無効です。読出しは常に "1" となり
ます。
[bit0] OSCD1 (Oscillation Disable mode for XIN1)
メイン発振入力 (X0, X1) におけるストップモード時の発振停止を制御します。
0
ストップモード中もメイン発振は停止しません。
1
ストップモード中はメイン発振を停止します ( 初期値 )。
• リセット (INIT) により "1" に初期化されます。
• 読出しおよび書込みが可能です。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
95
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
■ TBCR : タイムベースカウンタ制御レジスタ
図 3.12-4 タイムベースタイマ制御レジスタ (TBCR) のビット構成
TBCR ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
00000482H
TBIF
TBIE
TBC2
TBC1
TBC0
−
−
−
R(RM1),W
R/W
R/W
R/W
R/W
R1,WX
R1,WX
R1,WX
bit10
bit9
bit8
初期値
INIT 00XXXX11 B
RST 00XXXXXXB
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
タイムベースタイマ割込みなどを制御するレジスタです。
タイムベースタイマ割込みの許可 , 割込みインターバル時間の選択を行うほか , リセッ
ト動作のオプション機能の設定を行います。
以下に , タイムベースカウンタ制御レジスタ (TBCR) の各ビットの機能を説明します。
[bit15] TBIF (TimeBasetimer Interrupt Flag)
タイムベースタイマ割込みフラグです。
タイムベースカウンタが設定されたインターバル時間 (bit13 ∼ bit11 : TBC2 ∼ TBC0
ビットにて設定 ) の経過を示します。
bit14 : TBIE ビットにより割込み発生が許可 (TBIE = 1) されているときに本ビットが
"1" になると , タイムベースタイマ割込み要求が発生します。
クリア要因
命令による "0" の書込み
セット要因
設定されたインターバル時間の経過
( タイムベースカウンタ出力の立下りエッジ検出 )
• リセット (RST) により "0" に初期化されます。
• 読出しおよび書込みが可能です。ただし , 書込みは "0" のみ可能で , "1" を書込み
してもビット値は変化しません。また , リードモディファイライト (RMW) 系命
令での読出し値は , 常に "1" となります。
96
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
[bit14] TBIE (TimeBasetimer Interrupt Enable)
タイムベースタイマ割込み要求出力許可ビットです。
タイムベースカウンタのインターバル時間経過による割込み要求出力を制御しま
す。本ビットが "1" のときに , bit15:TBIF ビットが "1" になるとタイムベースタイマ
割込み要求が発生します。
0
タイムベースタイマ割込み要求出力禁止 ( 初期値 )
1
タイムベースタイマ割込み要求出力許可
• リセット (RST) により "0" に初期化されます。
• 読出しおよび書込みが可能です。
[bit13 ∼ bit11] TBC2 ∼ TBC0 (TimeBasetimer Counting time select)
タイムベースタイマで使用するタイムベースカウンタのインターバル時間を設定
します。
本ビットに書き込む値により , インターバル時間を下表に示す 8 種類のうちから選
択します。
TBC2
TBC1
TBC0
タイマインターバル時間
原発振 4MHz かつ
PLL が 8 逓倍の場合
0
0
0
φ × 211
64 μs
0
0
1
φ × 212
128 μs
0
1
0
φ × 213
256 μs
0
1
1
φ × 222
131 ms
1
0
0
φ × 223
262 ms
1
0
1
φ × 224
524 ms
1
1
0
φ × 225
1048 ms
1
1
1
φ × 226
2097 ms
φ : 内部ベースクロックの周期で , メイン PLL の出力周期
• 初期値は不定です。割込みを許可する前に必ず値を設定してください。
• 読出しおよび書込みが可能です。
[bit10] (reserved bit)
予約ビットです。
読出し値は不定で , 書込みは動作に影響を与えません。
[bit9, bit8] (reserved bit)
予約ビットです。
読出し値は常に "1" で , 書込みは動作に影響を与えません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
97
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
■ CTBR : タイムベースカウンタクリアレジスタ
CTBR ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
00000483H
D7
D6
D5
D4
D3
D2
D1
D0
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
初期値
INIT XXXXXXXXB
RST XXXXXXXXB
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
タイムベースカウンタを初期化するためのレジスタです。
本レジスタに連続して"A5H", "5AH"を書き込むと, "5AH"書込みの直後にタイムベー
スカウンタを全ビット "0" にクリアします。"5AH" 書込みと "5AH" 書込みの間の時
間に制限はありませんが , "A5H" 書込みの後に "5AH" 以外のデータを書き込むと ,
再度 "A5H" を書き込まないと "5AH" を書き込んでもクリア動作は行いません。
本レジスタの読出し値は不定です。
<注意事項>
本レジスタを使用してタイムベースカウンタをクリアすると , 発振安定待ち時間の間隔 ,
ウォッチドッグタイマ周期およびタイムベースタイマの周期が一時的に変動します。
98
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
■ CLKR : クロックソース制御レジスタ
CLKR ( アクセス:Byte, Half-word, Word)
アドレス
00000484H
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
PLL1S2 PLL1S1 PLL1S0 PLL2EN PLL1EN CLKS1
−
R/W0
R/W
R/W
R/W
R/W
R/W
R/W
CLKS0
R/W
初期値
INIT 0 0 0 0 0 0 0 0 B
RST XXXXXXXXB
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
内部ベースクロックとなるクロックソースの選択やメイン PLL の制御を行うレジスタ
です。
本レジスタにてクロックソースを選択します。また , メイン PLL の動作許可および逓
倍率の選択を制御します。
[bit15] (reserved bit)
予約ビットです。本ビットへの書込みは常に "0 " を書き込んでください。
[bit14 ∼ bit12] PLL1S2 ∼ PLL1S0 (PLL1 ratio Select 2 ∼ 0)
メイン PLL の逓倍率選択ビットです。
メイン PLL の逓倍率を , 下記の組合せのうちから選択します。
本ビットは , クロックソースとしてメイン PLL を選択している間は書換えを禁止し
ます。
動作可能な上限周波数を超える設定をしないでください。
PLL1S2 PLL1S1 PLL1S0
メイン PLL 逓倍率
メイン発振 4MHz の場合
0
0
0
× 1 ( 等倍 )
φ = 250ns ( 4MHz 時 )
0
0
1
× 2 (2 逓倍 )
φ = 125ns ( 8MHz 時 )
0
1
0
× 3 (3 逓倍 )
φ = 833ns ( 12MHz 時 )
0
1
1
× 4 (4 逓倍 )
φ = 62.5ns ( 16MHz 時 )
1
0
0
× 5 (5 逓倍 )
φ = 50.0ns ( 20MHz 時 )
1
0
1
× 6 (6 逓倍 )
φ = 41.7ns ( 24MHz 時 )
1
1
0
× 7 (7 逓倍 )
φ = 35.7ns ( 28MHz 時 )
1
1
1
× 8 (8 逓倍 )
φ = 31.25ns ( 32MHz 時 )
φ : 内部ベースクロックの周期
• リセット (INIT) により "000B" に初期化されます。
• 読出しおよび書込みが可能です。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
99
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
[bit11] PLL2EN (PLL2 ENable)
サブクロックの選択許可ビットです。
本ビットは , クロックソースとしてサブクロックを選択している間は書換えを禁止
します。また , 本ビットが "0" の間はクロックソースとしてサブクロックを選択す
ることを禁止します (bit9, bit8: CLKS1, CLKS0 ビットの設定を参照 )。
STCR の bit1 : OSCD2 が "1" であると , ストップモード中は本ビットが "1" であって
もサブクロックは停止します。ストップモードよりの復帰後は動作許可に戻りま
す。
0
0 サブクロック選択禁止 [ 初期値 ]
1
1 サブクロック動作許可
• リセット (INIT) により "0" に初期化されます。
• 読出しおよび書込み が可能です。
<注意事項>
S サフィックスのある製品では本ビットへの書込みは無効です。読出しは常に "0" となり
ます。
[bit10] PLL1EN (PLL1 ENable)
メイン PLL の動作許可ビットです。
本ビットは , クロックソースとしてメイン PLL を選択している間は書換えを禁止し
ます。また , 本ビットが "0" の間はクロックソースとしてメイン PLL を選択するこ
とを禁止します (bit9, bit8:CLKS1, CLKS0 ビットの設定を参照 )。
スタンバイ制御レジスタ (STCR) の bit0:OSCD1 が "1" であると , ストップモード中
は本ビットが "1" であってもメイン PLL は停止します。ストップモードよりの復帰
後は動作許可に戻ります。
0
メイン PLL 停止 ( 初期値 )
1
メイン PLL 動作許可
• リセット (INIT) により "0" に初期化されます。
• 読出しおよび書込みが可能です。
100
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
[bit9, bit8] CLKS1, CLKS0 (CLocK source Select)
使用するクロックソースを設定します。
本ビットに書き込む値により , クロックソースを下表に示す 3 種類のうちから選択
します。
CLKS1
CLKS0
0
0
X0/X1 からの原発振入力の 2 分周 ( 初期値 )
0
1
X0/X1 からの原発振入力の 2 分周
1
0
メイン PLL
1
1
サブクロック
クロックソース設定
• リセット (INIT) により "00B" に初期化されます。
• 読出しおよび書込みが可能です。
<注意事項>
bit9:CLKS1 が "1" の間は bit8 : CLKS0 の値を変更することができません。
S サフィックスのある製品では bit8 : CLKS0 への書込みは無効です。読出しは常に "0" と
なります。
[ 変更不可能な組合せ ]
[ 変更可能な組合せ ]
"00B" → "11B"
"00B" → "01B" または "10B"
"01B" → "10B"
"01B" → "11B" または "00B"
"10B" → "01B" または "11B"
"10B" → "00B"
"11B" → "00B" または "10B"
"11B" → "01B"
ストップモードへ移行する際は , 必ずクロックソースを原発振入力の 2 分周に設定
してください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
101
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
■ WPR : ウォッチドッグリセット発生延期レジスタ
WPR ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
00000485H
D7
D6
D5
D4
D3
D2
D1
D0
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
初期値
INIT XXXXXXXXB
RST XXXXXXXXB
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
ウォッチドッグリセットの発生を延期するためのレジスタです。
本レジスタに連続して "A5H", "5AH" を書き込むと , "5AH" 書込みの直後にウォッチドッ
グタイマの検出用 FF をクリアし , ウォッチドッグリセットの発生を延期します。"A5H"
書込みと "5AH" 書込みの間の時間は制限がありませんが , "A5H" 書込みの後に "5AH" 以
外のデータを書き込むと , 再度 "A5H" を書き込まないと "5AH" を書き込んでもクリア
動作は行いません。また , 下表の期間内に両データの書込みを終えないとウォッチドッ
グリセットを発生します。
本レジスタの読出し値は不定です。
RSRR レジスタの WT1(bit9) , WT0(bit8) の状態により下表のように変化します。
RSRR のウォッチドッグリセットの
発生を抑止するために最低限必要な
WPR への書込み間隔
WPR への最終 5AH 書込みから
0
φ × 216 ( 初期値 )
φ × 216 ∼ φ × 217
0
1
φ × 218
φ × 218 ∼ φ × 219
1
0
φ × 220
φ × 220 ∼ φ × 221
1
1
φ × 222
φ × 222 ∼ φ × 223
WT1
WT0
0
ウォッチドッグリセットが
発生するまでの時間
φ : システムベースクロックの周期 , WT1, WT0 は RSRR の bit9, bit8 でウォッチドッグタ
イマ周期設定
ストップ , スリープ , DMA 転送中など , CPU が動作していない間は自動的にクリアを
行いますので , これらの条件が発生すると , ウォッチドッグリセットは自動的に延期さ
れます。
102
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
■ DIVR0: 基本クロック分周設定レジスタ 0
DIVR0 ( アクセス:Byte, Half-word, Word)
アドレス
00000486H
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
B3
B2
B1
B0
P3
P2
P1
P0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
INIT 0 0 0 0 0 0 1 1 B
RST XXXXXXXXB
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
各内部クロックのベースクロックに対する分周比を制御するレジスタです。
本レジスタでは , CPU および内部バスのクロック (CLKB) と周辺回路およびペリフェ
ラルバスクロック (CLKP) に対する分周比の設定を行います。
<注意事項>
ソースクロックの選択 , メイン PLL の逓倍率の設定 , 分周比の設定の組合せで上限周波数
を超える設定をした場合, 動作は保証されませんので十分に注意してください。また, ソー
スクロック選択の変更設定順序を間違えないようにしてください。
本レジスタの設定の変更があった場合 , 設定後 , 次のクロックレートから変更後の分周比
が有効となります。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
103
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
[bit15 ∼ bit12] B3 ∼ B0 (clkB divide select 3 ∼ 0)
CPU クロック (CLKB) クロック分周比設定ビットです。
CPUと内部メモリおよび内部バスのクロック(CLKB)のクロック分周比を設定します。
本ビットに書き込む値により , CPU および内部バスのクロックのベースクロックに
対する分周比 ( クロック周波数 ) を下表に示す 16 種類のうちから選択します。
動作可能な上限周波数を超える周波数になる分周比は設定しないでください。
B2
B1
B0
0
0
0
0
φ
0
0
0
1
φ × 2 (2 分周 )
16 MHz
0
0
1
0
φ × 3 (3 分周 )
10.7 MHz
0
0
1
1
φ × 4 (4 分周 )
8 MHz
0
1
0
0
φ × 5 (5 分周 )
6.4 MHz
0
1
0
1
φ × 6 (6 分周 )
5.33MHz
0
1
1
0
φ × 7 (7 分周 )
4.57MHz
0
1
1
1
φ × 8 (8 分周 )
4 MHz
…
…
…
…
クロック周波数 : 原発振 4MHz
およびメイン PLL8 逓倍の場合
B3
1
1
1
1
クロック分周比
32 MHz ( 初期値 )
…
…
φ × 16 (16 分周 )
2 MHz
φ : 内部ベースクロックの周期
• リセット (INIT) により "0000B" に初期化されます。
• 読出しおよび書込みが可能です。
104
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
[bit11 ∼ bit8] P3 ∼ P0 (clkP divide select 3 ∼ 0)
周辺クロック (CLKP) のクロック分周比設定ビットです。
周辺回路およびペリフェラルバスクロック (CLKP) に対するクロック分周比を設定
します。
本ビットに書き込む値により , 周辺回路およびペリフェラルバスクロックのベース
クロックに対する分周比 ( クロック周波数 ) を下表に示す 16 種類のうちから選択し
ます。
動作可能な上限周波数を超える周波数になる分周比は設定しないでください。
P1
P0
0
0
0
0
φ
32 MHz
0
0
0
1
φ × 2 (2 分周 )
16 MHz
0
0
1
0
φ × 3 (3 分周 )
10.7 MHz
0
0
1
1
φ × 4 (4 分周 )
8 MHz( 初期値 )
0
1
0
0
φ × 5 (5 分周 )
6.4 MHz
0
1
0
1
φ × 6 (6 分周 )
5.33MHz
0
1
1
0
φ × 7 (7 分周 )
4.57MHz
0
1
1
1
φ × 8 (8 分周 )
4 MHz
…
…
…
1
1
1
1
クロック分周比
…
φ × 16 (16 分周 )
…
P2
…
クロック周波数 : 原発振 4MHz
およびメイン PLL8 逓倍の場合
P3
2 MHz
φ : システムベースクロックの周期
• リセット (INIT) により "0011B" に初期化されます。
• 読出しおよび書込みが可能です。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
105
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
■ DIVR1: 基本クロック分周設定レジスタ 1
DIVR1 ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
00000487H
T3
T2
T1
T0
−
−
−
−
R/W
R/W
R/W
R/W
R/W0
R/W0
R/W0
R/W0
初期値
INIT 0 0 0 0 0 0 0 0 B
RST XXXXXXXXB
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
各内部クロックのベースクロックに対する分周比を制御するレジスタです。
本レジスタでは , 外部バスクロック (CLKT) の分周比の設定を行います。
<注意事項>
ソースクロックの選択 , メイン PLL の逓倍率の設定 , 分周比の設定の組合せで上限周波数
を超える設定をした場合, 動作は保証されませんので十分に注意してください。また, ソー
スクロック選択の変更設定順序を間違えないようにしてください。
本レジスタの設定の変更があった場合 , 設定後 , 次のクロックレートから変更後の分周比
が有効となります。
106
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
[bit7 ∼ bit4] T3 ∼ T0 (clkT divide select 3 ∼ 0)
外部バスクロック (CLKT) のクロック分周比設定ビットです。
外部バスクロック (CLKT) のクロック分周比を設定します。
本ビットに書き込む値により , 外部拡張バスクロックのベースクロックに対する分周比
( クロック周波数 ) を下表に示す 16 種類のうちから選択します。
動作可能な上限周波数は 16MHz ですので , 16MHz を超える周波数になる分周比は
設定しないでください。
T3
T2
T1
T0
0
0
0
0
φ
0
0
0
1
φ × 2 (2 分周 )
16 MHz
0
0
1
0
φ × 3 (3 分周 )
10.7 MHz
0
0
1
1
φ × 4 (4 分周 )
8 MHz
0
1
0
0
φ × 5 (5 分周 )
6.4 MHz
0
1
0
1
φ × 6 (6 分周 )
5.33MHz
0
1
1
0
φ × 7 (7 分周 )
4.57MHz
0
1
1
1
φ × 8 (8 分周 )
4 MHz
…
…
…
…
クロック周波数 :
原発振 4MHz および
メイン PLL8 逓倍の場合
1
1
1
1
クロック分周比
32 MHz ( 初期値 )
…
…
φ × 16 (16 分周 )
2 MHz
φ : システムベースクロックの周期
• リセット (INIT) により "0000B" に初期化されます。
• 読出しおよび書込みが可能です。
外部バスインタフェースを使用しない場合は , "1111B" (16 分周 ) に設定することを
推奨します。
[bit3 ∼ bit0] (reserved bit)
• リセット (INIT) により "0000B" に初期化されます。
• 本ビットへの書込みは , 常に "0000B" を書き込んでください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
107
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
■ OSCCR: 発振制御レジスタ
OSCCR ( アクセス:Byte)
アドレス
0000048AH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
−
−
−
RTCSRC
−
−
−
OSCDS1
R/W0
R/W0
R/W0
R/W
R/W0
R/W0
R/W0
R/W
初期値
INIT 00000000 B
RST XXXXXXX0B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
サブクロック動作時のメイン発振を制御するレジスタです。
[bit7, bit6, bit5] :(reserved bit)
予約ビットです。本ビットへの書込みは常に "0" を書き込んでください。
[bit4] RTCSRC: RTC Source Clock Select
RTC へのソースクロックを選択するビットです。
0
メインクロック (4MHz) ( 初期値 )
1
サブクロック (32kHz)
<注意事項>
• 一度 "1" を書き込むと INIT によるリセットでしか "0" に初期化されません。
• RTC 動作を期待する場合 , RTC に供給するクロックが停止していないことが条件とな
ります。
• S サフィックスがある製品では "1" を設定しないでください。
[bit3, bit2, bit1] :(reserved bit)
予約ビットです。本ビットへの書込みは常に "0" を書き込んでください。
[bit0] OSCDS1 (OSCilattion Disable on Subclock for XIN1)
サブクロック選択中のメイン発振停止ビットです。
0
サブクロック実行中に , メイン発振を停止しません ( 初期値 )。
1
サブクロック実行中に , メイン発振を停止します。
• リセット (INIT) により "0" に初期化されます。
• 読出しおよび書込みが可能です。
クロックソースとしてサブクロック選択中に本ビットに "1" を書き込むと , メイン発振
を停止します。
本ビットは , メインクロックを選択中は "1" を書き込むことはできません。
108
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
本ビットが "1" の間はメインクロックを選択することを禁止します。本ビットを "0" に
してメイン発振の安定を待ってからメインクロックに切り換えてください。このとき ,
メイン発振安定待ちタイマを用いて発振安定待ち時間を確保してください。また , 本
ビットによってメイン発振を停止させた状態で , INIT によってクロックソースがメイ
ンクロックに切り換わった場合もメイン発振安定待ち時間が必要になります。このと
き , STCR ( スタンバイ制御レジスタ ) の bit3, bit2 : OS1, OS0 ビットの設定がメイン発
振安定待ち時間を満たさない場合 , 復帰後の動作が保証されません。
このような場合は , STCR:OS1, OS0 ビットはメイン発振安定待ち時間も満たした値を
設定してください。
INITX 端子による INIT 時は , メイン発振が安定するまで INITX 端子に "L" を入力し続
ける必要があります。
発振安定待ちについては , 「3.12.3 発振安定待ち・PLL ロック待ち時間」も参照して
ください。
<注意事項>
S サフィックスのある製品では本ビットへの書込みは動作に影響を与えません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
109
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
3.12.8 クロック制御部が持つ周辺回路
クロック制御部内の周辺回路機能について説明します。
■ タイムベースカウンタ
クロック制御部には, 26ビット長のタイムベースカウンタがあり, 内部ベースクロック
として動作しています。
タイムベースカウンタは , 発振安定待ち時間の計測 (「3.11 リセット ( デバイスの初期
化 )」の「3.11.6 発振安定待ち要因」を参照 ) のほか , 以下の用途に使用されます。
• ウォッチドッグタイマ
システムの暴走検出用のウォッチドッグタイマをタイムベースカウンタのビット
出力を用いて計測します。
• タイムベースタイマ
タイムベースカウンタ出力を用いて , インターバル割込みを発生します。
● ウォッチドッグタイマ
ウォッチドッグタイマは , タイムベースカウンタ出力を用いた暴走検出用タイマです。
プログラムの暴走などで設定したインターバルの間にウォッチドッグリセットの発生
延期動作が行われなくなると , ウォッチドッグリセットとして設定初期化リセット
(INIT) 要求を発生します。
• ウォッチドッグタイマの起動と周期設定
ウォッチドッグタイマは , リセット (RST) 後の 1 回目の RSRR( リセット要因レジス
タ / ウォッチドッグタイマ制御レジスタ ) への書込み動作により起動します。この
とき , ウォッチドッグタイマのインターバル時間を bit9, bit8:WT1, WT0 ビットによ
り設定します。インターバル時間の設定は , この最初の書込みで設定した時間のみ
が有効となり , それ以降の書込みはすべて無視されます。
• ウォッチドッグリセットの発生延期
いったんウォッチドッグタイマを起動すると , プログラムで定期的に WPR( ウォッ
チドッグリセット発生延期レジスタ ) に対して "A5H", "5AH" の順でデータを書き込
む必要があります。この操作により , ウォッチドッグリセット発生用フラグが初期
化されます。
• ウォッチドッグリセットの発生
ウォッチドッグリセット発生用フラグは , 設定したインターバルのタイムベースカ
ウンタ出力の立下りエッジによってセットされます。2 度目の立下りエッジの検出
時にフラグがセットされていると , ウォッチドッグリセットとして設定初期化リ
セット (INIT) 要求を発生します。
• ウォッチドッグタイマの停止
いったんウォッチドッグタイマを起動すると , 動作初期化リセット (RST) が発生す
るまではウォッチドッグタイマを停止することができません。
動作初期化リセット (RST) が発生する以下の状態ではウォッチドッグタイマは停止
し , 再度プログラム動作にて起動するまでは機能しません。
- 動作初期化リセット (RST) 状態
110
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
- 設定初期化リセット (INIT) 状態
- 発振安定待ちリセット (RST) 状態
• ウォッチドッグタイマの一時停止 ( 自動発生延期 )
ウォッチドッグタイマは , CPU のプログラム動作が停止している場合 , いったん
ウォッチドッグリセット発生用フラグを初期化し , ウォッチドッグリセットの発生
を延期します。プログラム動作の停止とは具体的には以下の動作を示します。
- スリープ状態
- ストップ状態
- 発振安定待ち RUN 状態
- D-bus( データバス ) に対する DMA 転送中
- エミュレータデバッガ使用によるブレーク中
また , タイムベースカウンタのクリアを行うと , 同時にウォッチドッグリセット発
生用フラグも初期化され , ウォッチドッグリセットの発生が延期されます。
● タイムベースタイマ
タイムベースタイマは , タイムベースカウンタ出力を用いたインターバル割込み発生
用タイマです。
メイン PLL のロック待ち時間やサブクロックなどの発振安定待ち時間など , 最大で
ベースクロック× 227 サイクルまでの , 比較的長時間の時間計測を行う用途に適してい
ます。
設定したインターバルに対応するタイムベースカウンタの出力の立下りエッジを検出
すると , タイムベースタイマ割込み要求を発生します。
• タイムベースタイマの起動とインターバル設定
タイムベースタイマは , TBCR(タイムベースカウンタ制御レジスタ ) の bit13 ∼ bit11:
TBC2 ∼ TBC0 ビットにてインターバル時間を設定します。
設定したインターバルに対応するタイムベースカウンタの出力の立下りエッジは
常に検出されているため , インターバル時間の設定後はまず bit15:TBIF ビットをク
リアしてから , bit14 : TBIE ビットを "1" にして割込み要求出力を許可してください。
インターバル時間を変更する際は , あらかじめ bit14 : TBIE ビットを "0" にして割込
み要求出力を禁止しておいてください。
タイムベースカウンタはこれら設定に影響されず常にカウント動作を行っていま
すので , 正確なインターバル割込み時間を得るためには , 割込みを許可する前にタ
イムベースカウンタをクリアしてください。クリアしないと , 割込み許可直後に割
込み要求が発生することがあります。
• プログラムによるタイムベースカウンタのクリア
CTBR( タイムベースカウンタクリアレジスタ ) に対して "A5H", "5AH" の順でデータ
を書き込むと , "5AH" 書込みの直後にタイムベースカウンタを全ビット "0" にクリ
アします。"A5H" 書込みと "5AH" 書込み間の時間は制限がありませんが , "A5H" 書
込みの後に "5AH" 以外のデータを書き込むと , 再度 "A5H" を書き込まないと "5AH"
を書き込んでもクリア動作は行いません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
111
第 3 章 CPU および制御部
3.12 クロック生成制御
MB91220 シリーズ
このタイムベースカウンタのクリアを行うことにより , 同時にウォッチドッグリ
セット発生用フラグも初期化され , ウォッチドッグリセットの発生がいったん延期
されます。
• デバイス状態によるタイムベースカウンタのクリア
タイムベースカウンタは , 以下のデバイス状態の遷移時と同時に全ビット "0" にク
リアされます。
- 設定初期化リセット (INIT) 状態
特に , ストップ状態の場合 , 発振安定待ち時間の計測のためにタイムベースカウン
タが使用されるため , 意図せずにタイムベースタイマのインターバル割込みが発生
することがあります。そのため , ストップモードを設定する前にはタイムベースタ
イマ割込みを禁止し , タイムベースタイマを使用しないようにしてください。
それ以外の状態については, 動作初期化リセット(RST)が発生するため, タイムベー
スタイマ割込みは自動的に禁止されます。
● メイン発振安定待ちタイマ
クロックソースの選択や分周設定の影響を受けず , メインクロックに同期してカウン
トアップする 26 ビットのタイマです。
サブクロック動作中のメイン発振安定待ち時間の計測に使用します。
サブクロックで動作中 , OSCCR( 発振制御レジスタ ) の bit0 : OSCDS1 ビット にて , メ
イン発振の制御を行えます。
メイン発振を停止させた後で再度発振開始させた際に , 本タイマを用いて発振安定待
ち時間を計測します。
メインクロックを停止させたサブクロック動作状態からメインクロックに切り換える
際は , 下記の手順で行います。
1. メイン発振安定待ちタイマをクリアします。
2. OSCCR( 発振制御レジスタ ) の bit0 : OSCDS1 ビット を "0" にしてメイン発振を開始
します。
3. メイン発振安定待ちタイマを用いてメインクロックが安定するまで待ちます。
4. メインクロック安定後, CLKR(クロックソースレジスタ)のbit9, bit8: CLKS1, CLKS0
ビットにてサブクロックからメインクロックに切り換えます。
安定を待たずメインクロックに切り換えると , 不安定なクロックが供給され , その後の
動作は保証されませんので , 必ず安定を待った後にメインクロックに切り換えてくだ
さい。
メイン発振安定待ちタイマの詳細については , 「第 11 章 メイン発振安定待ちタイマ」
を参照してください。
<注意事項>
S サフィックスのある製品はサブクロックをサポートしません。
112
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.13 デバイス状態制御
MB91220 シリーズ
3.13 デバイス状態制御
MB91220 シリーズの各種状態とその制御について説明します。
■ デバイス状態と各遷移
図 3.13-1 に MB91220 シリーズの状態遷移を示します。
図 3.13-1 MB91220 シリーズの状態遷移
1
2
3
4
5
6
7
8
9
10
11
12
13
遷移要求の優先順位
INITX端子=0(INIT)
INITX端子=1(INIT解除)
発振安定待ち終了
リセット(RST)解除
ソフトウェアリセット(RST)
スリープ(命令書込み)
ストップ(命令書込み)
割込み
クロックを必要としない外部割込み
メイン→サブ切換え(命令書込み)
サブ→メイン切換え(命令書込み)
ウォッチドッグリセット(INIT)
サブスリープ(命令書込み)
最強
↓
↓
↓
↓
最弱
パワーオン
1
設定初期化リセット(INIT)
発振安定待ち終了
動作初期化リセット(RST)
割込み要求
ストップ
スリープ
設定初期化
(INIT)
2
メインクロックモード
1
メインストップ
(ストップモード,
RTCモード*)
メイン発振安定待ち
リセット
9
1
3
1
プログラムリセット
(RST)
発振安定待ちRUN
3
7
1
6
メインスリープ
5
4
12
メインRUN
8
1
1
10
サブクロックモード
サブスリープ
発振安定待ちRUN
12
サブRUN
13
3
1
1
11
8
1
7
5
1
4
プログラムリセット
(RST)
1
9
サブストップ
(ストップモード,
RTCモード*)
( 注意事項 )
•
メイン←→サブに切り換える場合は , RUN状態にて切換え後のクロックが安定供給されている状
態でクロックソースレジスタ (CLKR) の bit1:CLKS1, bit0:CLKS0 ビットを切り換えてください。
•
RTC 以外を停止 ( RTC モード ) させるには , メイン / サブ RUN 状態にてスタンバイ制御レジス
タ (STCR) bit1:OSCD2/bit0:OSCD1 を設定した状態でストップモードに移行してください ( 同時
書込み可能 ) 。
•
S サフィックスのある製品はサブクロックモードをサポートしません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
113
第 3 章 CPU および制御部
3.13 デバイス状態制御
MB91220 シリーズ
MB91220 シリーズのデバイスの動作状態には以下のものがあります。
• RUN 状態 ( 通常動作 )
• スリープ状態
• ストップ状態
• 発振安定待ち RUN 状態
• 発振安定待ちリセット (RST) 状態
• 動作初期化リセット (RST) 状態
• 設定初期化リセット (INIT) 状態
以下 , 各動作状態について説明します。
● RUN 状態 ( 通常動作 )
プログラム実行状態です。
すべての内部クロックが供給され , すべての回路が動作可能な状態です。ただし , 16
ビット周辺 ( ペリフェラル ) バスのみは , アクセスが行われていない期間はバスクロッ
クのみ停止しています。
● スリープ状態
プログラム停止状態です。プログラム動作により遷移します。
CPU のプログラム実行のみ停止し , 周辺回路は動作可能な状態です。各種内蔵メモリ
および内部 / 外部バスは DMA コントローラが要求しない限り停止状態です。
有効な割込み要求の発生により , 本状態は解除され , RUN 状態 ( 通常動作 ) へ遷移し
ます。
設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷移
します。
動作初期化リセット (RST) 要求の発生により , 動作初期化リセット (RST) 状態へ遷移し
ます。
● ストップ状態
デバイス停止状態です。プログラム動作により遷移します。
リアルタイムクロック以外の回路は停止します。発振回路およびメイン PLL は設定に
より停止させることが可能です。また , 設定により外部端子を一律ハイインピーダンス
にすることが可能です ( 一部端子を除く )。
特定の ( クロックを必要としない ) 有効な割込み要求の発生や , 発振動作中のメイン発
振安定待ちタイマ割込み要求の発生により , 発振安定待ち RUN 状態へ遷移します。
設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷移
します。
動作初期化リセット (RST) 要求の発生により , 発振安定待ちリセット (RST) 状態へ遷移
します。
● 発振安定待ち RUN 状態
デバイス停止状態です。ストップ状態からの復帰後に遷移します。
クロック発生制御部 ( タイムベースカウンタおよびデバイス状態制御部 ) を除くすべて
の内部回路が停止します。内部クロックはすべて停止しますが , 発振回路および動作許
可されていたメイン PLL は動作しています。
114
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.13 デバイス状態制御
MB91220 シリーズ
ストップ状態などでの外部端子のハイインピーダンス制御は解除されます。
設定された発振安定待ち時間の経過により , RUN 状態 ( 通常動作 ) へ遷移します。
設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷移
します。
動作初期化リセット (RST) 要求の発生により , 発振安定待ちリセット (RST) 状態へ遷移
します。
● 発振安定待ちリセット (RST) 状態
デバイス停止状態です。ストップ状態または設定初期化リセット (INIT) 状態からの復
帰後に遷移します。
クロック発生制御部 ( タイムベースカウンタおよびデバイス状態制御部 ) を除くすべて
の内部回路が停止します。内部クロックはすべて停止しますが , 発振回路および動作許
可されていたメイン PLL は動作しています。
ストップ状態などでの外部端子のハイインピーダンス制御は解除されます。
内部回路に対し , 動作初期化リセット (RST) を出力します。
設定された発振安定待ち時間の経過により, 発振安定待ちリセット(RST)状態へ遷移し
ます。
設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷移
します。
● 動作初期化リセット (RST) 状態
プログラム初期化状態です。動作初期化リセット (RST) 要求の受付け , または発振安定
待ちリセット (RST) 状態の終了により遷移します。
CPU のプログラム実行は停止し , プログラムカウンタは初期化されます。周辺回路は
一部を除き初期化されます。すべての内部クロックと発振回路および動作許可されて
いたメイン PLL は動作しています。
内部回路に対し , 動作初期化リセット (RST) を出力します。
動作初期化リセット (RST) 要求の消失により , RUN 状態 ( 通常動作 ) へ遷移し , 動作初
期化リセットシーケンスを実行します。設定初期化リセット (INIT) 状態からの復帰後
だった場合は , 設定初期化リセットシーケンスを実行します。
設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷移
します。
● 設定初期化リセット (INIT) 状態
全設定初期化状態です。設定初期化リセット (INIT) 要求の受付けにより遷移します。
CPU のプログラム実行は停止し , プログラムカウンタは初期化されます。周辺回路は
すべて初期化されます。発振回路は動作しますが , メイン PLL は動作を停止します。
すべての内部クロックは , リセット要因の入力期間中は停止しますが , それ以外では動
作します。
内部回路に対し , 設定初期化リセット (INIT) および動作初期化リセット (RST) を出力
します。
設定初期化リセット (INIT) 要求の消失により本状態は解除され , 発振安定待ちリセッ
ト (RST) 状態へ遷移します。その後 , 動作初期化リセット (RST) 状態を経て , 設定初期
化リセットシーケンスを実行します。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
115
第 3 章 CPU および制御部
3.13 デバイス状態制御
MB91220 シリーズ
● 各状態遷移要求の優先順位
どの状態においても , 各状態遷移要求は以下の優先順位に従います。ただし , 一部要求
は特定の状態でしか発生しませんので , その状態でしか有効になりません。
[ 最強 ]
設定初期化リセット (INIT) 要求
↓
発振安定待ち時間の終了 ( 発振安定待ちリセット状態および発振安定待ち
RUN 状態のみ発生 )
↓
動作初期化リセット (RST) 要求
↓
有効な割込み要求 (RUN, スリープ , ストップ状態のみ発生 )
↓
ストップモード要求 ( レジスタ書込み )(RUN 状態のみ発生 )
[ 最弱 ]
スリープモード要求 ( レジスタ書込み )(RUN 状態のみ発生 )
■ 低消費電力モード
MB91220 シリーズの状態のうち , スタンバイモード ( 各低消費電力モード ) とその使用
方法について説明します。
MB91220 シリーズの低消費電力モードには , 以下のものがあります。
• スリープモード
レジスタ書込みにより , デバイスをスリープ状態へ遷移させます。
• ストップモード
レジスタ書込みにより , デバイスをストップ状態へ遷移させます。
以下 , 各モードについて説明します。
● スリープモード
STCR( スタンバイ制御レジスタ ) の bit6 : SLEEP ビットに "1" を書き込むとスリープ
モードとなり , スリープ状態へ遷移します。以降 , スリープ状態からの復帰要因が発生
するまでは , スリープ状態を維持します。
スリープ状態については , 「■ デバイス状態と各遷移」の「●スリープ状態」も参照
してください。
• スリープモードへの移行
スリープモードに入れる場合は , 以下のシーケンスを必ず使用してください。
(LDI
#value_of_sleep, R0)
; value_of_sleep は , STCR へのライトデータ
(LDI
#_STCR, R12)
; _STCR は , STCR のアドレス (481H)
STB
R0, @R12
; スタンバイ制御レジスタ (STCR) への書込み
LDUB
@R12, R0
; 同期スタンバイのための STCR リード
LDUB
@R12, R0 ; もう一度 STCR をダミーリード
NOP ; タイミング調整用の NOP × 5
NOP
NOP
NOP
NOP
STCR( スタンバイ制御レジスタ ) の bit7 : STOP ビットと本ビット両方に "1" を書き
込んだ場合は , bit7 : STOP ビットの方が優先となり , ストップ状態へ遷移します。
116
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.13 デバイス状態制御
MB91220 シリーズ
• スリープ状態で停止する回路
- CPU のプログラム実行
以下は , DMA 転送が発生した場合は動作します。
- ビットサーチモジュール
- 各種内蔵メモリ
- 内部 / 外部バス
• スリープ状態で停止しない回路
- 発振回路
- 動作許可されたメイン PLL
- クロック発生制御部
- 割込みコントローラ
- 周辺回路
- メイン発振安定待ちタイマ
- 時計タイマ
- DMA コントローラ
- DSU (On chip Debug Support Unit)
• スリープ状態からの復帰要因
- 有効な割込み要求の発生
ICR( 割込み制御 ) レジスタの設定が割込み禁止 (1111B) 以外の場合 , 割込み要求
が発生するとスリープモードは解除され , RUN 状態 ( 通常動作 ) へ遷移します。
ICR( 割込み制御 ) レジスタの設定が割込み禁止 (1111B) の場合 , 割込み要求が発
生しても , スリープモードは解除されません。
- 設定初期化リセット (INIT) 要求の発生
設定初期化リセット (INIT) 要求が発生すると , 無条件で設定初期化リセット
(INIT) 状態 へ遷移します。
<注意事項>
各要因の優先順位については , 「■ デバイス状態と各遷移」の「●各状態遷移要求の優先
順位」を参照してください。
• 同期スタンバイ動作
SLEEP ビットへの書込みのみではスリープ状態へは遷移しません。その後 , STCR
( スタンバイ制御 ) レジスタを読み出すことによってスリープ状態へ遷移します。
スリープモードを使用する場合は , 「・スリープモードへの移行」にあるシーケンス
を 必ず使用してください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
117
第 3 章 CPU および制御部
3.13 デバイス状態制御
MB91220 シリーズ
● ストップモード
STCR( スタンバイ制御レジスタ ) の bit7:STOP ビットに "1" を書き込むとストップモー
ドとなり , ストップ状態へ遷移します。以降 , ストップ状態からの復帰要因が発生する
までは , ストップ状態を維持します。
なお , ストップモードでは , メイン発振は停止してください。
ストップ状態については , 「■ デバイス状態と各遷移」の「●ストップ状態」も参照
してください。
• ストップモードへの移行
ストップモードに入れる場合は , 以下のシーケンスを必ず使用してください。
ldi #_STCR, R0
; STCR レジスタ (0x0481)
ldi #Val_of_Stby, rl
; Val_of_Stby は , STCR へのライトデータ
stb rl,@r0
; STCR へのライト
/* CTBR ライト */
ldi #_CTBR, r2
; CTBR レジスタ (0x0483)
ldi #0xA5, rl
; クリアコマンド (1)
stb rl,@r2
; CTBR への A5 ライト
ldi #0x5A, rl
; クリアコマンド (2)
stb rl,@r2
; CTBR への 5A ライト
/* ここでタイムベースカウンタクリア */
; STCR リード
ldub @r0, rl
/* 同期スタンバイ遷移開始 */
ldub @r0, rl
; STCR ダミーリード
nop
; タイミング調整用の NOP × 5
nop
nop
nop
nop
STCR( スタンバイ制御レジスタ ) の bit6 : SLEEP ビットと本ビット両方に "1" を書
き込んだ場合は , bit7 : STOP ビットの方が優先となり , ストップ状態へ遷移します。
• ストップ状態で停止する回路
- 発振回路は停止して使用すること
- STCR( スタンバイ制御レジスタ ) の bit0 : OSCD1 ビットを "1" に設定すること
• ストップ状態での端子のハイインピーダンス制御
STCR( スタンバイ制御レジスタ ) の bit5 : HIZ ビットに "1" が設定してあると , ス
トップ状態中の端子出力をハイインピーダンス状態にします。本制御の対象となる
端子は , 「付録 C 各 CPU ステートにおける各端子状態」を参照してください。
STCR( スタンバイ制御レジスタ ) の bit5 : HIZ ビットに "0" が設定してあると , ス
トップ状態中の端子出力はストップ状態への遷移前の値を保持します。詳細は ,「付
録 C 各 CPU ステートにおける各端子状態」を参照してください。
118
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 3 章 CPU および制御部
3.13 デバイス状態制御
MB91220 シリーズ
• ストップ状態からの復帰要因
- 特定の ( クロックを必要としない ) 有効な割込み要求の発生
一部の外部割込みのみが有効です。
ICR( 割込み制御 ) レジスタの設定が割込み禁止 (1111B) 以外の場合 , 割込み要求
が発生するとストップモードは解除され , 発振安定待ち RUN 状態へ遷移します。
ICR( 割込み制御 ) レジスタの設定が割込み禁止 (1111B) の場合 , 割込み要求が発
生してもストップモードは解除されません。
- 設定初期化リセット (INIT) 要求の発生
設定初期化リセット (INIT) 要求が発生すると , 無条件で設定初期化リセット
(INIT) 状態へ遷移します。
<注意事項>
各要因の優先順位については , 「■ デバイス状態と各遷移」の「●各状態遷移要求の優先
順位」を参照してください。
• ストップモード時のクロックソース選択
自励発振モードでは , ストップモードを設定する前に , メインクロックの 2 分周を
ソースクロックとするようあらかじめ選択しておいてください。詳細は , 「3.12.2
PLL 制御」を参照してください。
なお , 分周比の設定に関しては , 通常動作時と制限事項は同じです。
• 同期スタンバイ動作
STOP ビットへの書込みのみではストップ状態へは遷移しません。その後 , STCR
( スタンバイ制御 ) レジスタを読み出すことによってストップ状態へ遷移します。
ストップモードを使用する場合は , 「・ストップモードへの移行」にあるシーケンス
を必ず使用してください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
119
第 3 章 CPU および制御部
3.13 デバイス状態制御
120
MB91220 シリーズ
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第4章
I/O ポート
I/O ポートの概要 , レジスタの構成および機能につ
いて説明します。
CM71-10142-5
4.1
I/O ポートの概要
4.2
I/O ポートのレジスタ
4.3
I/O 拡張機能
4.4
レジスタ説明
4.5
使用上の注意
FUJITSU SEMICONDUCTOR LIMITED
121
第 4 章 I/O ポート
4.1 I/O ポートの概要
4.1
MB91220 シリーズ
I/O ポートの概要
I/O ポートの構成を説明します。
■ ポート基本ブロックダイヤグラム
MB91220 シリーズは , 各端子に対応するペリフェラル入出力として端子を使用しない
設定になっているとき , I/O ポートとして使用することができます。
各ポートは以下のレジスタにより構成されます。
• PDR ( ポートデータレジスタ /Port Data Register)
• DDR ( ポート方向レジスタ /Port Direction Register)
• PFR/EPFR ( ポート機能レジスタ /Port Function Register)
I/O ポートの基本的な構成を下記に示します。
図 4.1-1 I/O ポートのブロックダイヤグラム
ペリフェラル入力
R-bus
PDRリード
*
0
1
ペリフェラル出力
1
PDR
0
PFR/
EPFR
ストップモード
P-ch
端子
N-ch
DDR
*: PDRレジスタに対してリードモディファイライト (RMW)系命令を行った
場合のリード時は, 常に"1"側が選択されます。
DDR:Data Direction Register
PDR:Port Data Register
PFR:Port Function Register
122
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 4 章 I/O ポート
4.1 I/O ポートの概要
MB91220 シリーズ
図 4.1-2 アナログ入力兼用ポートブロックダイヤグラム
アナログ入力
ペリフェラル入力
R-bus
PDRリード
0
*
1
ストップモード
PDR
P-ch
端子
1
N-ch
PFR
0
DDR
*: PDRレジスタに対してリードモディファイライト (RMW)系命令を行った
場合のリード時は, 常に"1"側が選択されます。
DDR:Data Direction Register
PDR:Port Data Register
PFR:Port Function Register
図 4.1-3 アナログ出力兼用ポートブロックダイヤグラム
ペリフェラル入力
R-bus
PDRリード
*
0
1
ストップモード
PDR
P-ch
端子
1
PFR
N-ch
0
アナログ出力
DDR
*: PDRレジスタに対してリードモディファイライト(RMW)系命令を行った
場合のリード時は, 常に"1"側が選択されます。
DDR:Data Direction Register
PDR:Port Data Register
PFR:Port Function Register
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
123
第 4 章 I/O ポート
4.1 I/O ポートの概要
MB91220 シリーズ
■ 動作モード
• ポート入力モード時 (PFR=0 & DDR=0)
- PDR リード : 対応する外部端子のレベルが読み出されます。
- PDR ライト : PDR に設定値が書き込まれます。ただし , PDR の値は対応する外
部端子に反映されません。
- リードモディファイライト (RMW) 系命令でのリード
: PDR の値が読み出されます。
• ポート出力モード時 (PFR=0 & DDR=1)
- PDR リード : PDR の値が読み出されます。
- PDR ライト : PDRに設定値が書き込まれ, PDRの値が対応する外部端子に出力さ
れます。
- リードモディファイライト (RMW) 系命令でのリード
: PDR の値が読み出されます。
• ペリフェラル出力モード時
- PDR リード : 対応する外部端子のレベルが読み出されます。
- PDR ライト : PDR に設定値が書き込まれます。ただし , PDR の値は対応する外
部端子に反映されません。
- リードモディファイライト (RMW) 系命令でのリード
: 対応するペリフェラルの出力の値が読み出されます。
<注意事項>
• 端子をリソースの入力として使用する場合は , PFR = 0 かつ DDR = 0 ( ポート入力モー
ド ) としてください。
• PD3 ∼ PD0 は , 入力専用端子です。DDR は存在せず PDR リードで常にポートの値が
読み出されます。
LCD 外部電源を使用する場合は "0" が読み出されます。
• 汎用ポート入力とペリフェラル入力を切り換えるレジスタはありません。外部端子か
ら入力された値は , 常に汎用ポートとペリフェラル回路へ伝播しています。
また , DDR で出力設定時も外部へ出力している値が常に汎用ポートとペリフェラル回
路へ伝播しています。
ペリフェラル入力としてご使用の場合は , DDR で入力設定にし , 各ペリフェラルの入
力信号を有効にしてご使用ください。
124
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 4 章 I/O ポート
4.2 I/O ポートのレジスタ
MB91220 シリーズ
4.2
I/O ポートのレジスタ
I/O ポートで使用するレジスタの構成および機能について説明します。
■ ポートデータレジスタ (PDR:PDR0 ∼ PDRG)
PDR0 ( アクセス:Byte, Half-word)
アドレス
00000000H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
P07
P06
P05
P04
P03
P02
P01
P00
XXXXXXXXB
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
PDR1 ( アクセス:Byte, Half-word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000001H
P17
P16
P15
P14
P13
P12
P11
P10
XXXXXXXXB
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
PDR2 ( アクセス:Byte, Half-word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000002H
P27
P26
P25
P24
P23
P22
P21
P20
XXXXXXXXB
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
PDR3 ( アクセス:Byte, Half-word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000003H
P37
P36
P35
P34
P33
P32
P31
P30
XXXXXXXXB
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
PDR4 ( アクセス:Byte, Half-word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000004H
P47
P46
P45
P44
P43
P42
P41
P40
XXXXXXXXB
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
PDR5 ( アクセス:Byte, Half-word)
アドレス
00000005H
bit7
P57
bit6
P56
bit5
P55
bit4
P54
bit3
P53
bit2
P52
bit1
P51
bit0
初期値
P50
XXXXXXXXB
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
PDR6 ( アクセス:Byte, Half-word)
アドレス
00000006H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
P67
P66
P65
P64
P63
P62
P61
P60
XXXXXXXXB
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
PDR7 ( アクセス:Byte, Half-word)
アドレス
00000007H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
P73
P72
P71
P70
−
−
−
−
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
初期値
----XXXXB
( 続く )
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
125
第 4 章 I/O ポート
4.2 I/O ポートのレジスタ
MB91220 シリーズ
( 続き )
PDR8 ( アクセス:Byte, Half-word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000008H
P87
P86
P85
P84
P83
P82
P81
P80
XXXXXXXXB
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
PDR9 ( アクセス:Byte, Half-word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000009H
P97
P96
P95
P94
P93
P92
P91
P90
XXXXXXXXB
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
PDRA ( アクセス:Byte, Half-word)
アドレス
0000000AH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
PA3
PA2
PA1
PA0
−
−
−
−
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
初期値
----XXXXB
PDRB ( アクセス:Byte, Half-word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
0000000BH
PB7
PB6
PB5
PB4
PB3
PB2
PB1
PB0
XXXXXXXXB
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
PDRC ( アクセス:Byte, Half-word)
アドレス
0000000CH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
PC3
PC2
PC1
PC0
−
−
−
−
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
初期値
----XXXXB
PDRD ( アクセス:Byte, Half-word)
アドレス
0000000DH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
PD7
PD6
PD5
PD4
PD3
PD2
PD1
PD0
0000XXXXB
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
PDRE ( アクセス:Byte, Half-word)
アドレス
0000000EH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
PE7
PE6
PE5
PE4
PE3
PE2
PE1
PE0
XXXXXXXXB
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
PDRF ( アクセス:Byte, Half-word)
アドレス
0000000FH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
PF7
PF6
PF5
PF4
PF3
PF2
PF1
PF0
XXXXXXXXB
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
PDRG ( アクセス:Byte, Half-word)
アドレス
00000010H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
PG3
PG2
PG1
PG0
−
−
−
−
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
初期値
----XXXXB
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
PDR0 ∼ PDRG は I/O ポートの入出力データレジスタです。
対応する DDR0 ∼ DDRG, PFR0 ∼ PFRG にて , 入出力制御が行われます。
126
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 4 章 I/O ポート
4.2 I/O ポートのレジスタ
MB91220 シリーズ
■ データ方向レジスタ (DDR:DDR0 ∼ DDRG)
図 4.2-1 データ方向レジスタ (DDR:Data Direction Register) の構成
DDR0 ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000400H
P07
P06
P05
P04
P03
P02
P01
P00
00000000B
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
DDR1 ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000401H
P17
P16
P15
P14
P13
P12
P11
P10
00000000B
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
DDR2 ( アクセス:Byte, Half-word, Word)
アドレス
00000402H
bit7
P27
bit6
P26
bit5
P25
bit4
P24
bit3
P23
bit2
P22
bit1
P21
bit0
初期値
P20
00000000B
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
DDR3 ( アクセス:Byte, Half-word, Word)
アドレス
00000403H
bit7
P37
bit6
P36
bit5
P35
bit4
P34
bit3
P33
bit2
P32
bit1
P31
bit0
初期値
P30
00000000B
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
DDR4 ( アクセス:Byte, Half-word, Word)
アドレス
00000404H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
P47
P46
P45
P44
P43
P42
P41
P40
00000000B
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
DDR5 ( アクセス:Byte, Half-word, Word)
アドレス
00000405H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
P57
P56
P55
P54
P53
P52
P51
P50
00000000B
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
DDR6 ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000406H
P67
P66
P65
P64
P63
P62
P61
P60
00000000B
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
DDR7 ( アクセス:Byte, Half-word, Word)
アドレス
000004007H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
P73
P72
P71
P70
−
−
−
−
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
初期値
----0000B
DDR8 ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000408H
P87
P86
P85
P84
P83
P82
P81
P80
00000000B
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
( 続く )
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
127
第 4 章 I/O ポート
4.2 I/O ポートのレジスタ
MB91220 シリーズ
( 続き )
DDR9 ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000409H
P97
P96
P95
P94
P93
P92
P91
P90
00000000B
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
DDRA ( アクセス:Byte, Half-word, Word)
アドレス
0000040AH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
PA3
PA2
PA1
PA0
−
−
−
−
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
初期値
----0000B
DDRB ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
0000040BH
PB7
PB6
PB5
PB4
PB3
PB2
PB1
PB0
00000000B
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
DDRC ( アクセス:Byte, Half-word, Word)
アドレス
0000040CH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
PC3
PC2
PC1
PC0
----0000B
bit3
bit2
bit1
bit0
初期値
−
−
−
−
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
DDRD ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
0000040DH
PD7
PD6
PD5
PD4
−
−
−
−
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
1111----B
DDRE ( アクセス:Byte, Half-word, Word)
アドレス
0000040EH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
PE7
PE6
PE5
PE4
PE3
PE2
PE1
PE0
00000000B
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
DDRF ( アクセス:Byte, Half-word, Word)
アドレス
0000040FH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
PF7
PF6
PF5
PF4
PF3
PF2
PF1
PF0
00000000B
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
DDRG ( アクセス:Byte, Half-word, Word)
アドレス
00000410H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
PG3
PG2
PG1
PG0
−
−
−
−
R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W
初期値
----0000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
DDR0 ∼ DDRG は , 対応する I/O ポートの入出力方向をビット単位で制御します。
PFR=0 のとき DDR=0 : ポート入力ならびに , ペリフェラル入力となります。
DDR=1 : ポート出力となります。
PFR=1 のとき DDR の設定によらず , ペリフェラル出力となります。
128
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 4 章 I/O ポート
4.2 I/O ポートのレジスタ
MB91220 シリーズ
■ ポート機能レジスタ (PFR, EPFR)
PFR0 ∼ PFRG および EPFR0 ∼ EPFRG は対応するペリフェラルの出力をビット単位で
制御します。
PFR および EPFR の未使用ビットには必ず "0" を書き込んでください。特に記載がない
場合には PFR=1 で端子はペリフェラル出力となります。
読出し時には , 前回書込みを行った値が読み出されます。
● P07 ∼ P00
図 4.2-2 ポート機能レジスタ (PFR0) のビット構成
PFR0 ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000420H
P07
P06
P05
P04
P03
P02
P01
P00
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
PFR0 の設定によって選択される周辺機器の組合せは , 表 4.2-1 のとおりです。
表 4.2-1 周辺機器の組合せ
シングルチップモード
外バス 8bit モード
外バス 16bit モード
PFR=0
PFR=1
P00/SEG24/D00
P00
SEG24
D00
P01/SEG25/D01
P01
SEG25
D01
P02/SEG26/D02
P02
SEG26
D02
P03/SEG27/D03
P03
SEG27
D03
P04/SEG28/D04
P04
SEG28
D04
P05/SEG29/D05
P05
SEG29
D05
P06/SEG30/D06
P06
SEG30
D06
P07/ATGX
SEG31
D07
P07/SEG31/ATGX/D07
PFR=0
PFR=1
外部バス 16 ビットモード時は , 入力が常に有効になりますので , A/D コンバータの外
部トリガ起動は使用しない設定としてください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
129
第 4 章 I/O ポート
4.2 I/O ポートのレジスタ
MB91220 シリーズ
● P17 ∼ P10
図 4.2-3 ポート機能レジスタ (PFR1) のビット構成
PFR1 ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000421H
P17
P16
P15
P14
P13
P12
P11
P10
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
PFR1 の設定によって選択される周辺機器の組合せは , 表 4.2-2 のとおりです。
表 4.2-2 周辺機器の組合せ
シングルチップモード
外バスモード
PFR=0
PFR=1
P10/SEG16/D08
P10
SEG16
D08
P11/SEG17/D09
P11
SEG17
D09
P12/SEG18/D10
P12
SEG18
D10
P13/SEG19/D11
P13
SEG19
D11
P14/SEG20/D12
P14
SEG20
D12
P15/SEG21/D13
P15
SEG21
D13
P16/SEG22/D14
P16
SEG22
D14
P17/SEG23/D15
P17
SEG23
D15
130
FUJITSU SEMICONDUCTOR LIMITED
PFR=0
PFR=1
CM71-10142-5
第 4 章 I/O ポート
4.2 I/O ポートのレジスタ
MB91220 シリーズ
● P27 ∼ P20
図 4.2-4 ポート機能レジスタ (PFR2) のビット構成
PFR2 ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000422H
P27
P26
P25
P24
P23
P22
P21
P20
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
EPFR2 ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000602H
P27
P26
P25
P24
P23
P22
P21
P20
00000000B
R/W0
R/W0
R/W0
R/W0
R/W0
R/W0
R/W0
R/W0
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
PFR2 と EPFR2 の設定によって選択される周辺機器の組合せは , 表 4.2-3 のとおりです。
EPFR2 には常に "00H" を書いてください。
表 4.2-3 周辺機器の組合せ
シングルチップモード
PFR=0
外バスモード
PFR=1
PFR=0
PFR=1
EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1
P20/SEG0/A00
P20
SEG0
A00
A00
P21/SEG1/A01
P21
SEG1
A01
A01
P22/SEG2/A02
P22
SEG2
A02
A02
P23/SEG3/A03
P23
P24/SEG4/A04
P24
P25/SEG5/A05
P25
SEG5
A05
A05
P26/SEG6/A06
P26
SEG6
A06
A06
P27/SEG7/A07
P27
SEG7
A07
A07
CM71-10142-5
設定禁止
SEG3
SEG4
設定禁止
A03
A04
FUJITSU SEMICONDUCTOR LIMITED
設定禁止
A03
A04
設定禁止
131
第 4 章 I/O ポート
4.2 I/O ポートのレジスタ
MB91220 シリーズ
● P37 ∼ P30
図 4.2-5 ポート機能レジスタ (PFR3) のビット構成
PFR3 ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000423H
P37
P36
P35
P34
P33
P32
P31
P30
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
EPFR3 ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000603H
P37
P36
P35
P34
P33
P32
P31
P30
00000000B
R/W0
R/W0
R/W0
R/W0
R/W0
R/W0
R/W0
R/W0
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
PFR3 と EPFR3 の設定によって選択される周辺機器の組合せは , 表 4.2-4 のとおりです。
EPFR3 には常に "00H" を書いてください。
表 4.2-4 周辺機器の組合せ
シングルチップモード
PFR=0
外バスモード
PFR=1
PFR=0
PFR=1
EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1
P30/SEG8/A08
P30
SEG8
A08
A08
P31/SEG9/A09
P31
SEG9
A09
A09
P32/SEG10/A10
P32
SEG10
A10
A10
P33/SEG11/A11
P33
P34/SEG12/A12
P34
P35/SEG13/A13
P35
SEG13
A13
A13
P36/SEG14/A14
P36
SEG14
A14
A14
P37/SEG15/A15
P37
SEG15
A15
A15
132
設定禁止
SEG11
SEG12
設定禁止
A11
A12
FUJITSU SEMICONDUCTOR LIMITED
設定禁止
A11
A12
設定禁止
CM71-10142-5
第 4 章 I/O ポート
4.2 I/O ポートのレジスタ
MB91220 シリーズ
● P47 ∼ P40
図 4.2-6 ポート機能レジスタ (PFR4) のビット構成
PFR4 ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000424H
P47
P46
P45
P44
P43
P42
P41
P40
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
EPFR4 ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000604H
P47
P46
P45
P44
P43
P42
P41
P40
11111111B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
PFR4 と EPFR4 の設定によって選択される周辺機器の組合せは , 表 4.2-5 のとおりです。
EPFR4 の初期値に注意してください。
INT0/INT1 を STOP モード時からの復帰に使用する場合は , PFR および EPFR の該当
ビットを "1" に設定してください ( 表 4.2-5 中の * の設定 )。その他の設定にした場合
は , STOP 時に遮断され , 内部に "L" レベルが入力されます。
表 4.2-5 周辺機器の組合せ
シングルチップモード
PFR=0
PFR=1
EPFR=0 EPFR=1 EPFR=0
EPFR=1
外バスモード
PFR=0
EPFR=0 EPFR=1
PFR=1
EPFR=0
EPFR=1
P40/SIN0/
SIN0/INT0 SIN0/INT0*
INT0
P40/SIN0/INT0
SIN0/INT0 SIN0/INT0*
P41/SOT0
P41
SOT0
P42/SCK0
P42/SCK0
SCK0
P43/SIN3/INT1
SIN3/INT1 SIN3/INT1*
P44/SOT3
P44
SOT3
P44
SOT3
P45/SCK3
P45/SCK3
SCK3
P45/SCK3
SCK3
P46/ASX
P46
P46
ASX
ASX
P47/SYSCLK
P47
P47
SYSCLK
SYSCLK
P40/SIN0/INT0
P43/SIN3/INT1
設定禁止
P41
SOT0
P42/SCK0
SCK0
P43/SIN3/
SIN3/INT1 SIN3/INT1*
INT1
設定禁止
*: STOP 時の入力遮断が解除されます。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
133
第 4 章 I/O ポート
4.2 I/O ポートのレジスタ
MB91220 シリーズ
● P57 ∼ P50
図 4.2-7 ポート機能レジスタ (PFR5) のビット構成
PFR5 ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000425H
P57
P56
P55
P54
P53
P52
P51
P50
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
EPFR5 ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000605H
P57
P56
P55
P54
P53
P52
P51
P50
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
PFR5 と EPFR5 の設定によって選択される周辺機器の組合せ , 表 4.2-6 のとおりです。
表 4.2-6 周辺機器の組合せ
シングルチップモード
PFR=0
PFR=1
外バスモード
PFR=0
PFR=1
EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1
P50/SIN4/CK0/
CS0X
P50/SIN4/CK0
SIN4/CK0
CS0X
P50/SIN4/
CK0
CS0X
SIN4/CK0
P51/SOT4/CS1X
P51
SOT4
CS1X
P51
CS1X
SOT4
P52/SCK4/CS2X
P52/SCK4
SCK4
CS2X
P52/SCK4
CS2X
SCK4
P53/SIN5/CK1/
CS3X
P53/SIN5/CK1
SIN5/CK1
CS3X
P53/SIN5/
CK1
CS3X
SIN5/CK1
P54/SOT5/RDX
P54
SOT5
RDX
P54
RDX
SOT5
P55/SCK5/
WR0X
P55/SCK5
SCK5
WR0X
P55/SCK5
WR0X
SCK5
P56/OUT0/
WR1X
P56
OUT0
WR1X
P56
WR1X
OUT0
P57/OUT1/RDY
P57
OUT1
RDY
P57
RDY
OUT1
● P67 ∼ P60
本ポートに対応する PFR/EPFR レジスタは存在しません。
リセットで , アナログ入力端子に初期化されます。汎用ポートとして使用する場合には
ADER レジスタの対応するビットを必ず "0" に設定してください (「21.2 A/D コンバー
タのレジスタ」の項を参照 )。
134
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 4 章 I/O ポート
4.2 I/O ポートのレジスタ
MB91220 シリーズ
● P73 ∼ P70
図 4.2-8 ポート機能レジスタ (PFR7) のビット構成
PFR7 ( アクセス:Byte, Half-word, Word)
アドレス
00000427H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
−
R,WX
−
R,WX
−
R,WX
−
R,WX
P73
P72
P71
P70
----0000B
R/W
R/W
R/W
R/W
EPFR7 ( アクセス:Byte, Half-word, Word)
アドレス
00000607H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
−
R,WX
−
R,WX
−
R,WX
−
R,WX
P73
P72
P71
P70
----0000B
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
PFR7, EPFR7 の設定によって選択される周辺機器の組合せは , 表 4.2-7 のとおりです。
INT6/INT7 を STOPモード時からの復帰に使用する場合は , PFR の該当ビットを "1" に ,
EPFR の該当ビットを "0" に設定してください ( 表 4.2-7 中の * の設定 )。その他の設定
にした場合は , STOP 時に遮断され , 内部に "L" レベルが入力されます。
表 4.2-7 周辺機器の組合せ
シングルチップモード
PFR=0
PFR=1
EPFR=0 EPFR=1
P70/RX0/INT6
P71/TX0
P72/RX1/INT7
P73/TX1
外バスモード
EPFR=0
PFR=0
EPFR=1 EPFR=0 EPFR=1
PFR=1
EPFR=0
EPFR=1
P70/RX0/INT6
RX0/INT6* RX0/INT6
P70/RX0/INT6
RX0/INT6* RX0/INT6
P71
TX0
P71
TX0
P72/RX1/INT7
RX1/INT7* RX1/INT7
P72/RX1/INT7
RX1/INT7* RX1/INT7
P73
TX1
P73
TX1
*: STOP 時の入力遮断が解除されます。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
135
第 4 章 I/O ポート
4.2 I/O ポートのレジスタ
MB91220 シリーズ
● P87 ∼ P80
図 4.2-9 ポート機能レジスタ (PFR8) のビット構成
PFR8 ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000428H
P87
P86
P85
P84
P83
P82
P81
P80
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
EPFR8 ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000608H
P87
P86
P85
P84
P83
P82
P81
P80
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
本ポートには , A/D のアナログ入力が割り当てられています。リセット時は , アナログ
入力に初期化されますので , 汎用ポート / 周辺リソースを使用する場合は , ADER レジ
スタの対応するビットを "0" に設定してください (「21.2 A/D コンバータのレジスタ」
の項参照 )。
PFR8, EPFR8 の設定によって選択される周辺機器の組合せは , 表 4.2-8 のとおりです。
IN3 ∼ IN0 および INT2 は , ポート D に割り当てられている周辺機能です。ポート D を
LCD 外部電源として使用する場合 , これらの機能をポート 8 で使用することができま
す。
ポート 8 でこれらの機能を使用する場合は , ポート D では使用しないように PFRD/
EPFRD を設定してください。
INT5 ∼ INT3 を STOP モード時からの復帰に使用する場合は , PFR の該当ビットを "1"
に , EPFR の該当ビットを "0" に設定してください ( 表 4.2-8 中の * の設定 )。その他の
設定にした場合は , STOP 時に遮断され , 内部に "L" レベルが入力されます。
INT2 を STOP モード時からの復帰に使用する場合は , PFR および EPFR の該当ビット
を "1" に設定してください ( 表 4.2-8 中の * の設定 )。その他の設定にした場合は , STOP
時に遮断され , 内部に "L" レベルが入力されます。
表 4.2-8 周辺機器の組合せ
シングルチップモード
PFR=0
外バスモード
PFR=1
EPFR=0 EPFR=1
EPFR=0
PFR=0
EPFR=1 EPFR=0 EPFR=1
PFR=1
EPFR=0
EPFR=1
P80/AN16/IN0
P80
P80/IN0
P80
IN0
P80
P80/IN0
P80
IN0
P81/AN17/IN1
P81
P81/IN1
P81
IN1
P81
P81/IN1
P81
IN1
P82/AN18/IN2
P82
P82/IN2
P82
IN2
P82
P82/IN2
P82
IN2
P83/AN19/IN3
P83
P83/IN3
P83
IN3
P83
P83/IN3
P83
IN3
P84/AN20/INT2
P84
P84/INT2
P84
INT2*
P84
P84/INT2
P84
INT2*
P85/AN21/INT3
P85/INT3
P85/INT3* P85/INT3
P85/INT3
P85/INT3* P85/INT3
P86/AN22/INT4
P86/INT4
P86/INT4* P86/INT4
P86/INT4
P86/INT4* P86/INT4
P87/AN23/INT5
P87/INT5
P87/INT5* P87/INT5
P87/INT5
P87/INT5* P87/INT5
*: STOP 時の入力遮断が解除されます。
136
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 4 章 I/O ポート
4.2 I/O ポートのレジスタ
MB91220 シリーズ
● P97 ∼ P90
図 4.2-10 ポート機能レジスタ (PFR9) のビット構成
PFR9 ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000429H
P97
P96
P95
P94
P93
P92
P91
P90
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
EPFR9 ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000609H
P97
P96
P95
P94
P93
P92
P91
P90
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
PFR9, EPFR9 の設定によって選択される周辺機器の組合せは , 表 4.2-9 のとおりです。
PWC0 は , ポート D に割り当てられている周辺機能です。ポート D を LCD 外部電源と
して使用する場合 , これらの機能をポート 9 で使用することができます。ポート 9 でこ
れらの機能を使用する場合は , ポート D では使用しないように PFRD/EPFRD を設定し
てください。
表 4.2-9 周辺機器の組合せ
シングルチップモード
PFR=0
外バスモード
PFR=1
PFR=0
PFR=1
EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1
P90/DA0
P91/DA1/PWC0
P90
DA0
P91/
PWC0
P91
DA1
P90
PWC0
DA0
P91/
PWC0
P91
DA1
PWC0
P92/SGA0
P92
SGA0
P92
SGA0
P93/SGO0
P93
SGO0
P93
SGO0
P94/SGA1
P94
SGA1
P94
SGA1
P95/SGO1
P95
SGO1
P95
SGO1
P96/SGA2
P96
SGA2
P96
SGA2
P97/SGO2
P97
SGO2
P97
SGO2
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
137
第 4 章 I/O ポート
4.2 I/O ポートのレジスタ
MB91220 シリーズ
● PA3 ∼ PA0
図 4.2-11 ポート機能レジスタ (PFRA) のビット構成
PFRA ( アクセス:Byte, Half-word, Word)
アドレス
0000042AH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
−
R,WX
−
R,WX
−
R,WX
−
R,WX
PA3
PA2
PA1
PA0
----0000B
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
PFRA の設定によって選択される周辺機器の組合せは , 表 4.2-10 のとおりです。
表 4.2-10 周辺機器の組合せ
シングルチップモード
外バスモード
PFR=0
PFR=1
PFR=0
PFR=1
PA0/PWM1P3
PA0
PWM1P3
PA0
PWM1P3
PA1/PWM1M3
PA1
PWM1M3
PA1
PWM1M3
PA2/PWM2P3
PA2
PWM2P3
PA2
PWM2P3
PA3/PWM2M3
PA3
PWM2M3
PA3
PWM2M3
138
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 4 章 I/O ポート
4.2 I/O ポートのレジスタ
MB91220 シリーズ
● PB7 ∼ PB0
図 4.2-12 ポート機能レジスタ (PFRB) のビット構成
PFRB ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
0000042BH
PB7
PB6
PB5
PB4
PB3
PB2
PB1
PB0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
PFRB の設定によって選択される周辺機器の組合せは , 表 4.2-11 のとおりです。
表 4.2-11 周辺機器の組合せ
シングルチップモード
外バスモード
PFR=0
PFR=1
PFR=0
PFR=1
PB0/PPG8H
PB0
PPG8H
PB0
PPG8H
PB1/PPG9H
PB1
PPG9H
PB1
PPG9H
PB2/PPG10H
PB2
PPG10H
PB2
PPG10H
PB3/PPG11H
PB3
PPG11H
PB3
PPG11H
PB4/PWM1P1
PB4
PWM1P1
PB4
PWM1P1
PB5/PWM1M1
PB5
PWM1M1
PB5
PWM1M1
PB6/PWM2P1
PB6
PWM2P1
PB6
PWM2P1
PB7/PWM2M1
PB7
PWM2M1
PB7
PWM2M1
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
139
第 4 章 I/O ポート
4.2 I/O ポートのレジスタ
MB91220 シリーズ
● PC3 ∼ PC0
図 4.2-13 ポート機能レジスタ (PFRC) のビット構成
PFRC ( アクセス:Byte, Half-word, Word)
アドレス
0000042CH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
−
R,WX
−
R,WX
−
R,WX
−
R,WX
PC3
PC2
PC1
PC0
----0000B
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
PFRC の設定によって選択される周辺機器の組合せは , 表 4.2-12 のとおりです。
表 4.2-12 周辺機器の組合せ
シングルチップモード
外バスモード
PFR=0
PFR=1
PFR=0
PFR=1
PC0/PWM1P0
PC0
PWM1P0
PC0
PWM1P0
PC1/PWM1M0
PC1
PWM1M0
PC1
PWM1M0
PC2/PWM2P0
PC2
PWM2P0
PC2
PWM2P0
PC3/PWM2M0
PC3
PWM2M0
PC3
PWM2M0
140
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 4 章 I/O ポート
4.2 I/O ポートのレジスタ
MB91220 シリーズ
● PD7 ∼ PD0
図 4.2-14 ポート機能レジスタ (PFRD) のビット構成
PFRD ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
0000042DH
PD7
PD6
PD5
PD4
PD3
PD2
PD1
PD0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
EPFRD ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
0000060DH
PD7
PD6
PD5
PD4
PD3
PD2
PD1
PD0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
PFRD と EPFRD の設定によって選択される周辺機器の組合せは , 表 4.2-13 のとおりで
す。
PFR=1 のとき , PD3 ∼ PD0 のインプットキャプチャ機能は , LIN-UART の LIN-SYNC
に使用されます ( 表 4.2-13 中の * の設定 )。ポートからの入力は伝わりません。
INT2 を STOP モード時からの復帰に使用する場合は , PFR の該当ビットを "1" に , EPFR
の該当ビットを "0" に設定してください。その他の設定にした場合は , STOP 時に遮断
され , 内部に "L" レベルが入力されます。
PD3 を V3 に設定すると , LCDC 用の内部分割抵抗の電源は , V3 になります。
表 4.2-13 周辺機器の組合せ
シングルチップモード
PFR=0
外バスモード
PFR=1
PFR=0
PFR=1
EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1
PD0/TIN0/IN0/
PWC0/INT2/V0
PD0/IN0/
TIN0/
INT2/
PWC0
V0
PD1/TIN1/IN1/
V1
PD1/IN1/
TIN1
V1
PD2/TIN2/IN2/
V2
PD2/IN2/
TIN2
V2
PD3/IN3/V3
PD3/IN3
V3
PD4
PPG1H
PD5
PD4/COM0/
PPG1H*2
PD5/COM1/
PPG3H*2
PD6/COM2/
PPG5H
PD7/COM3/
PPG7H
PD0/
TIN0/
INT2/
PWC0
LSYN*1
PD1/TIN1
LSYN*1
PD2/TIN2
LSYN*1
PD3
LSYN*1
PD0/
TIN0/
INT2/
PWC0
LSYN*1
PD1/TIN1
LSYN*1
PD2/TIN2
LSYN*1
PD3
LSYN*1
PD0/IN0/
TIN0/
INT2/
PWC0
V0
V1
LSYN*1
V2
LSYN*1
V3
LSYN*1
PD1/IN1/
TIN1
V1
PD2/IN2/
TIN2
V2
PD3/IN3
V3
PD4
COM0
PD4
PPG1H
PD4
COM0
PPG3H
PD5
COM1
PD5
PPG3H
PD5
COM1
PD6
PPG5H
PD6
COM2
PD6
PPG5H
PD6
COM2
PD7
PPG7H
PD7
COM3
PD7
PPG7H
PD7
COM3
V0
LSYN*1
V0
LSYN*1
V1
LSYN*1
V2
LSYN*1
V3
LSYN*1
*1: 上記 , 本文を参照してください。
*2: PD4 と PD5 については,PFRD/EPFRD レジスタにて同じ端子機能を選択してください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
141
第 4 章 I/O ポート
4.2 I/O ポートのレジスタ
MB91220 シリーズ
● PE7 ∼ PE0
図 4.2-15 ポート機能レジスタ (PFRE) のビット構成
PFRE ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
0000042EH
PE7
PE6
PE5
PE4
PE3
PE2
PE1
PE0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit3
bit2
bit1
bit0
初期値
00000000B
EPFRE ( アクセス:Byte, Half-word, Word)
アドレス
0000060EH
bit7
bit6
bit5
bit4
PE7
PE6
PE5
PE4
PE3
PE2
PE1
PE0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
PFREとEPFREの設定によって選択される周辺機器の組合せは, 表 4.2-14のとおりです。
PE7 ∼ PE4 は , I2C の端子です。I2C 機能を使用する場合は , PFR および EPFR の該当
ビットを "1" に設定してください ( 表 4.2-14 中の * の設定 )。このとき , 該当端子の P-ch
が off になり , 擬似 N-ch オープンドレイン端子となります。
表 4.2-14 周辺機器の組合せ
シングルチップモード
PFR=0
外バスモード
PFR=1
PFR=0
PFR=1
EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1
PE0/PWM1P2
PE0
PWM1P2
PE0
PWM1P2
PE1/PWM1M2
PE1
PWM1M2
PE1
PWM1M2
PE2/PWM2P2
PE2
PWM2P2
PE2
PWM2P2
PE3/PWM2M2
PE3
PWM2M2
PE3
PWM2M2
PE4/PPG12H/
SDA0
PE4/SDA0
PPG12H
SDA0*
PE4/SDA0
PPG12H
SDA0*
PE5/PPG13H/
SCL0
PE5/SCL0
PPG13H
SCL0*
PE5/SCL0
PPG13H
SCL0*
PE6/PPG14H/
SDA1
PE6/SDA1
PPG14H
SDA1*
PE6/SDA1
PPG14H
SDA1*
PE7/PPG15H/
SCL1
PE7/SCL1
PPG15H
SCL1*
PE7/SCL1
PPG15H
SCL1*
*: 上記 , 本文を参照してください。
142
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 4 章 I/O ポート
4.2 I/O ポートのレジスタ
MB91220 シリーズ
● PF6 ∼ PF0
図 4.2-16 ポート機能レジスタ (PFRF) のビット構成
PFRF ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
0000042FH
PF7
PF6
PF5
PF4
PF3
PF2
PF1
PF0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
EPFRF ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
0000060FH
PF7
PF6
PF5
PF4
PF3
PF2
PF1
PF0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
本ポートには , A/D のアナログ入力が割り当てられています。リセット時は , アナログ
入力に初期化されますので , 汎用ポート / 周辺リソースを使用する場合は , ADER レジ
スタの対応するビットを "0" に設定してください (「21.2 A/D コンバータのレジスタ」
の項参照 )。
PFRFとEPFRFの設定によって選択される周辺機器の組合せは, 表 4.2-15のとおりです。
TIN2 ∼ TIN0 は , ポート D に割り当てられている周辺機能です。ポート D を LCD 外
部電源として使用する場合にはポートDでは使用できなくなりますが,代わりにEPFRF
で指定することで , これらの機能をポート F で使用することができます。ポート F で
この機能を使用する場合は , ポート D では使用しないように PFRD/EPFRD を設定して
ください。
表 4.2-15 周辺機器の組合せ
シングルチップモード
PFR=0
外バスモード
PFR=1
PFR=0
PFR=1
EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1
PF0/AN8
PF0
PF0
PF0
PF0
PF1/AN9
PF1
PF1
PF1
PF1
PF2/AN10
PF2
PF2
PF2
PF2
PF3/AN11
PF3
PF3
PF3
PF3
PF4/AN12
PF4
PF4
PF4
PF4
PF5/AN13/TIN0
PF5
使用禁止
PF5
TIN0
PF5
使用禁止
PF5
TIN0
PF6/AN14/TIN1
PF6
使用禁止
PF6
TIN1
PF6
使用禁止
PF6
TIN1
PF7/AN15/TIN2
PF7
使用禁止
PF7
TIN2
PF7
使用禁止
PF7
TIN2
ポート PF5 を使用するときには , PF5 および PF6 の設定に制約があります (「4.5 使用
上の注意事項」を参照してください )。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
143
第 4 章 I/O ポート
4.2 I/O ポートのレジスタ
MB91220 シリーズ
● PG3 ∼ PG0
図 4.2-17 ポート機能レジスタ (PFRG) のビット構成
PFRG ( アクセス:Byte, Half-word, Word)
アドレス
00000430H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
−
R,WX
−
R,WX
−
R,WX
−
R,WX
PG3
PG2
PG1
PG0
----0000B
R/W
R/W
R/W
R/W
EPFRG ( アクセス:Byte, Half-word, Word)
アドレス
00000610H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
−
R,W0
−
R,W0
−
R,W0
−
R,W0
PG3
PG2
PG1
PG0
----0000B
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
PFRG と EPFRG の設定によって選択される周辺機器の組合せは , 表 4.2-16 のとおりで
す。
表 4.2-16 周辺機器の組合せ
シングルチップモード
PFR=0
外バスモード
PFR=1
PFR=0
PFR=1
EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1
PG0/PPG0H
PG0
PPG0H
PG1/TOT0/
PPG2H
PG1
PPG2H
PG2/TOT1/
PPG4H
PG2
PPG4H
PG3/TOT2/
PPG6H
PG3
PPG6H
144
設定禁止
PG0
PPG0H
TOT0
PG1
PPG2H
TOT1
PG2
PPG4H
TOT2
PG3
PPG6H
FUJITSU SEMICONDUCTOR LIMITED
TOT0
設定禁止
TOT1
TOT2
CM71-10142-5
第 4 章 I/O ポート
4.3 I/O 拡張機能
MB91220 シリーズ
4.3
I/O 拡張機能
I/O 拡張機能について説明します。
■ I/O 拡張機能
MB91220 シリーズには I/O ポートの拡張機能として ,
• 入力レベル選択レジスタ : Port Input Level select Register (PILR)
• 状態制御レジスタ
: Port State Control Register (PSCR)
があります。
PILR の値の書換えは , PSCR への所定の書込みアクセス後のみ可能です。読出しは常
に可能です。本拡張機能は , バイトアクセスのみでしか行えません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
145
第 4 章 I/O ポート
4.4 レジスタ説明
4.4
MB91220 シリーズ
レジスタ説明
I/O ポートのレジスタについて説明します。
■ 入力レベル選択レジスタ (PILR)
PILRは端子の入力レベル切換えレジスタです。本レジスタの設定により, 対応するビッ
ト の 入 力 レ ベ ル を CMOS Automotive Schmitt-Trigger (VIH/VIL = 0.8/0.5 Vcc), CMOS
Schmitt-Trigger (VIH/VIL = 0.7/0.3 Vcc), TTL のいずれかに設定することができます。
リセットでは初期化され , Automotive Schmitt-Trigger になります。
図 4.4-1 入力レベル選択レジスタ (PILR) のビット構成
PILR0 ( アクセス:Byte)
アドレス
00000540H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000000B
P07
P06
P05
P04
P03
P02
P01
P00
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000000B
PILR1 ( アクセス:Byte)
アドレス
00000541H
bit7
P17
P16
P15
P14
P13
P12
P11
P10
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000000B
PILR4 ( アクセス:Byte)
アドレス
00000544H
bit7
P47
P46
P45
P44
P43
P42
P41
P40
R,W0
R,W0
R,W0
R,W0
R/W
R,W0
R,W0
R/W
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000000B
PILR5 ( アクセス:Byte)
アドレス
00000545H
bit7
bit6
P57
P56
P55
P54
P53
P52
P51
P50
R/W
R,W0
R,W0
R,W0
R/W
R,W0
R,W0
R/W
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000000B
PILRE ( アクセス:Byte)
アドレス
0000054EH
bit7
bit6
PE7
PE6
PE5
PE4
PE3
PE2
PE1
PE0
R/W
R/W
R/W
R/W
R,W0
R,W0
R,W0
R,W0
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
146
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 4 章 I/O ポート
4.4 レジスタ説明
MB91220 シリーズ
● P07 ∼ P00
図 4.4-2 入力レベル選択レジスタ (PILR0) のビット構成
PILR0 ( アクセス:Byte)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000540H
P07
P06
P05
P04
P03
P02
P01
P00
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
レジスタの設定によって選択される入力レベルは , 表 4.4-1 のとおりです。
表 4.4-1 入力レベル
P07 ∼ P00
PILR=0
PILR=1
Automotive
TTL
● P17 ∼ P10
図 4.4-3 入力レベル選択レジスタ (PILR1) のビット構成
PILR1 ( アクセス:Byte)
アドレス
00000541H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000000B
P17
P16
P15
P14
P13
P12
P11
P10
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
レジスタの設定によって選択される入力レベルは , 表 4.4-2 のとおりです。
表 4.4-2 入力レベル
P17 ∼ P10
PILR=0
PILR=1
Automotive
TTL
● P47 ∼ P40
図 4.4-4 入力レベル選択レジスタ (PILR4) のビット構成
PILR4 ( アクセス:Byte)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000544H
P47
P46
P45
P44
P43
P42
P41
P40
00000000B
R,W0
R,W0
R,W0
R,W0
R/W
R,W0
R,W0
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
レジスタの設定によって選択される入力レベルは , 表 4.4-3 のとおりです。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
147
第 4 章 I/O ポート
4.4 レジスタ説明
MB91220 シリーズ
表 4.4-3 入力レベル
PILR=0
PILR=1
P47
Automotive
P46
Automotive
P45
Automotive
P44
Automotive
P43
Automotive
P42
Automotive
P41
Automotive
P40
Automotive
設定不可
CMOS
設定不可
CMOS
● P57 ∼ P50
図 4.4-5 入力レベル選択レジスタ (PILR5) のビット構成
PILR5 ( アクセス:Byte)
アドレス
00000545H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000000B
P57
P56
P55
P54
P53
P52
P51
P50
R/W
R,W0
R,W0
R,W0
R/W
R,W0
R,W0
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
レジスタの設定によって選択される入力レベルは , 表 4.4-4 のとおりです。
表 4.4-4 入力レベル
148
PILR=0
PILR=1
P57
Automotive
TTL
P56
Automotive
P55
Automotive
P54
Automotive
P53
Automotive
P52
Automotive
P51
Automotive
P50
Automotive
設定不可
CMOS
設定不可
CMOS
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 4 章 I/O ポート
4.4 レジスタ説明
MB91220 シリーズ
● PE7 ∼ PE0
図 4.4-6 入力レベル選択レジスタ (PILRE) のビット構成
PILRE ( アクセス:Byte)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
0000054EH
PE7
PE6
PE5
PE4
PE3
PE2
PE1
PE0
00000000B
R/W
R/W
R/W
R/W
R,W0
R,W0
R,W0
R,W0
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
レジスタの設定によって選択される入力レベルは , 表 4.4-5 のとおりです。
表 4.4-5 入力レベル
PILR=0
PILR=1
PE7
Automotive
CMOS
PE6
Automotive
CMOS
PE5
Automotive
CMOS
PE4
Automotive
CMOS
PE3
Automotive
PE2
Automotive
PE1
Automotive
PE0
Automotive
設定不可
■ ポート状態制御レジスタ (PSCR)
図 4.4-7 ポート状態制御レジスタ (PSCR) のビット構成
PSCR ( アクセス:Byte)
アドレス
000004FCH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit7
−
−
−
−
−
−
−
−
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
初期値
XXXXXXXXB
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
PSCR は , PILR の書換えを制御するためのレジスタです。本レジスタはバイトライト
アクセスのみ可能です。読み出すことはできません。読出し時は不定値が読み出され
ます。
詳細は 「●ポート拡張機能レジスタの書換え」を参照してください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
149
第 4 章 I/O ポート
4.4 レジスタ説明
MB91220 シリーズ
● ポート拡張機能レジスタの書換え
PPER, PPCR および PILR レジスタの値を書き換える前に , PSCR (000004FCH) に対して ,
"A5H" → "5AH" の順に書込みアクセスを実行してください。
以下にアセンブラコード例を示します。
ldi #0x000004fc, r0
// r0=PSCR address
ldi:8 #0xA5, r1
// r1=A5
ldi:8 #0x5A, r2
// r2=5A
stb r1, @r0
// write A5 to PSCR
stb r2, @r0
// write 5A to PSCR
ldub @r0, r0
// ダミーリード
PSCR レジスタは書込み専用です。したがって , レジスタの状態が不明の場合は , 書込
みアクセスの前に必ず一度は "A5H", "5AH" 以外のダミーライトを挿入してください。
PILR レジスタの書換えは上記ライトシーケンス後に各レジスタに一度だけ可能です。
レジスタ更新後に再び書換えを実行する場合には , 再びライトにシーケンスを実行す
る必要があります。
150
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 4 章 I/O ポート
4.4 レジスタ説明
MB91220 シリーズ
図 4.4-8 PSCR レジスタへの書込みアクセス手順
書込み禁止
PSCRへの
書込みアクセス
A5H ?
NO
YES
PSCRへの
書込みアクセス
5AH ?
NO
YES
PSCRへの
読出しアクセス
書込み許可
PSCRへの
書込みアクセス
PSCRへの
読出しアクセス
● 使用上の注意
入力選択レジスタ PILR の値を変更するときは , 該当端子を入力としているリソースの
機能を無効にした状態で行ってください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
151
第 4 章 I/O ポート
4.5 使用上の注意
4.5
MB91220 シリーズ
使用上の注意
使用上の注意を説明します。
■ 使用上の注意
入力レベル切換え時には , 予期せぬ値が入力されます。入力選択レジスタ PILR の値を
変更するときは , 該当端子を入力としているリソースの機能を無効にした状態で行っ
てください。
152
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第5章
割込みコントローラ
割込みコントローラの概要 , レジスタの構成 / 機能
および動作について説明します。
CM71-10142-5
5.1
割込みコントローラの概要
5.2
割込みコントローラのレジスタ一覧
5.3
割込みコントローラの動作
FUJITSU SEMICONDUCTOR LIMITED
153
第 5 章 割込みコントローラ
5.1 割込みコントローラの概要
5.1
MB91220 シリーズ
割込みコントローラの概要
割込みコントローラは , 割込み受付け / 調停処理を行います。
■ 割込みコントローラのハードウェア構成
割込みコントローラは , 以下のレジスタおよび回路により構成されます。
• ICR レジスタ
• 割込み優先度判定回路
• 割込みレベル , 割込み番号 ( ベクタ ) 発生部
• ホールドリクエスト取下げ要求発生部
■ 割込みコントローラの主要機能
本モジュールには , 以下の機能があります。
• NMI 要求 / 割込み要求の検出
• 優先度判定 ( レベルおよび番号による )
• 判定結果の要因の割込みレベル伝達 (CPU へ )
• 判定結果の要因の割込み番号伝達 (CPU へ )
154
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 5 章 割込みコントローラ
5.2 割込みコントローラのレジスタ一覧
MB91220 シリーズ
5.2
割込みコントローラのレジスタ一覧
割込みコントローラで使用するレジスタの構成および機能について説明します。
■ 割込みコントローラのレジスタ一覧
図 5.2-1 割込みコントローラのレジスタ一覧
bit7
bit6
bit5
アドレス : 00000440H
−
−
−
bit4
ICR4
bit3
ICR3
bit2
ICR2
bit1
ICR1
bit0
ICR0
ICR00
アドレス : 00000441H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR01
ICR3
ICR2
ICR1
ICR0
ICR02
アドレス : 00000442H
−
−
−
ICR4
アドレス : 00000443H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR03
アドレス : 00000444H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR04
ICR3
ICR2
ICR1
ICR0
ICR05
アドレス : 00000445H
−
−
−
ICR4
アドレス : 00000446H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR06
アドレス : 00000447H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR07
アドレス : 00000448H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR08
ICR3
ICR2
ICR1
ICR0
ICR09
アドレス : 00000449H
−
−
−
ICR4
アドレス : 0000044AH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR10
アドレス : 0000044BH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR11
ICR3
ICR2
ICR1
ICR0
ICR12
アドレス : 0000044CH
−
−
−
ICR4
アドレス : 0000044DH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR13
アドレス : 0000044EH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR14
アドレス : 0000044FH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR15
ICR3
ICR2
ICR1
ICR0
ICR16
アドレス : 00000450H
−
−
−
ICR4
アドレス : 00000451H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR17
アドレス : 00000452H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR18
ICR3
ICR2
ICR1
ICR0
ICR19
アドレス : 00000453H
−
−
−
ICR4
アドレス : 00000454H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR20
アドレス : 00000455H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR21
アドレス : 00000456H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR22
ICR3
ICR2
ICR1
ICR0
ICR23
アドレス : 00000457H
−
−
−
ICR4
アドレス : 00000458H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR24
アドレス : 00000459H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR25
ICR3
ICR2
ICR1
ICR0
ICR26
アドレス : 0000045AH
−
−
−
ICR4
アドレス : 0000045BH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR27
アドレス : 0000045CH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR28
ICR3
ICR2
ICR1
ICR0
ICR29
ICR3
ICR2
ICR1
ICR0
ICR30
ICR4 ICR3
−
−
−
R1,WX R1,WX R1,WX R1,W1 R/W
ICR2
R/W
ICR1
R/W
ICR0
R/W
ICR31
アドレス : 0000045DH
−
−
−
ICR4
アドレス : 0000045EH
−
−
−
ICR4
アドレス : 0000045FH
( 続く )
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
155
第 5 章 割込みコントローラ
5.2 割込みコントローラのレジスタ一覧
MB91220 シリーズ
( 続き )
bit7
bit6
bit5
アドレス : 00000460H
−
−
−
bit4
ICR4
bit3
ICR3
bit2
ICR2
bit1
ICR1
bit0
ICR0
ICR32
アドレス : 00000461H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR33
アドレス : 00000462H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR34
ICR3
ICR2
ICR1
ICR0
ICR35
アドレス : 00000463H
−
−
−
ICR4
アドレス : 00000464H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR36
アドレス : 00000465H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR37
ICR3
ICR2
ICR1
ICR0
ICR38
アドレス : 00000466H
−
−
−
ICR4
アドレス : 00000467H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR39
アドレス : 00000468H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR40
アドレス : 00000469H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR41
ICR3
ICR2
ICR1
ICR0
ICR42
アドレス : 0000046AH
−
−
−
ICR4
アドレス : 0000046BH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR43
アドレス : 0000046CH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR44
ICR3
ICR2
ICR1
ICR0
ICR45
ICR3
ICR2
ICR1
ICR0
ICR46
ICR4 ICR3
−
−
−
R1,WX R1,WX R1,WX R1,W1 R/W
LVL4 LVL3
−
−
−
R0,W0 R1,WX R1,WX R1,W1 R/W
ICR2
R/W
LVL2
R/W
ICR1
R/W
LVL1
R/W
ICR0
R/W
LVL0
R/W
ICR47
アドレス : 0000046DH
−
−
−
ICR4
アドレス : 0000046EH
−
−
−
ICR4
アドレス : 0000046FH
アドレス : 00000045H
HRCL
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
■ 割込みコントローラのブロックダイヤグラム
図 5.2-2 割込みコントローラのブロックダイヤグラム
WAKEUP (LVL≠11111Bのとき"1")
優先度判定
LVL4~LVL0
HLDREQ
取下げ
要求
LVL判定
RI00
・
・
・
RI47
(DLYIRQ)
ICR00
・
・
・
ICR47
VECTOR
判定
6
LVL,
VECTOR
発生
MHALTI
VCT5~VCT0
R-bus
156
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 5 章 割込みコントローラ
5.2 割込みコントローラのレジスタ一覧
MB91220 シリーズ
割込み制御レジスタ ( ICR)
5.2.1
割込み制御レジスタは , 各割込み入力に対して 1 つずつ設けられており , 対応する割
込み要求の割込みレベルを設定します。
■ 割込み制御レジスタ (ICR) のビット構成
図 5.2-3 割込み制御レジスタ (ICR) のビット構成
ICR ( アクセス:Byte, Half-word, Word)
アドレス
bit7
ch.00:000440H
bit6
bit5
bit4
bit3
bit2
bit1
bit0
∼
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
R1,WX
R1,WX
R1,WX
R1,W1
R/W
R/W
R/W
R/W
初期値
---11111B
ch.47:00046FH
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
割込み制御レジスタです。各割込み入力に対して 1 つずつ設けられており , 対応する割
込み要求の割込みレベルを設定します。
[bit4 ∼ bit0] ICR4 ∼ ICR0
割込みレベル設定ビットで , 対応する割込み要求の割込みレベルを指定します。
本レジスタに設定した割込みレベルが CPU の ILM レジスタに設定されたレベルマ
スク値以上の場合は , CPU 側にて割込み要求はマスクされます。
リセットにより , "11111B" に初期化されます。
設定可能な割込みレベル設定ビットと割込みレベルの対応を表 5.2-1 に示します。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
157
第 5 章 割込みコントローラ
5.2 割込みコントローラのレジスタ一覧
MB91220 シリーズ
表 5.2-1 設定可能な割込みレベル設定ビットと割込みレベルの対応
ICR4
ICR3
ICR2
ICR1
ICR0
0
0
0
0
0
0
0
1
1
1
0
14
0
1
1
1
1
15
NMI
1
0
0
0
0
16
設定可能な最強レベル
1
0
0
0
1
17
(強)
1
0
0
1
0
18
1
0
0
1
1
19
1
0
1
0
0
20
1
0
1
0
1
21
1
0
1
1
0
22
1
0
1
1
1
23
1
1
0
0
0
24
1
1
0
0
1
25
1
1
0
1
0
26
1
1
0
1
1
27
1
1
1
0
0
28
1
1
1
0
1
29
1
1
1
1
0
30
(弱)
1
1
1
1
1
31
割込み禁止
割込みレベル
システム予約
( 注意事項 ) ICR4 は "1" 固定で , "0" を書き込むことはできません。
■ HRCL(Hold Request Cancel Level register)
HRCL ( アクセス:Byte, Half-word, Word)
アドレス
00000045H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
─
─
─
LVL4
LVL3
LVL2
LVL1
LVL0
R0,W0
R1,WX
R1,WX
R1,W1
R/W
R/W
R/W
R/W
初期値
0--11111B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
ホールドリクエスト取下げ要求発生のためのレベル設定レジスタです。
[bit7 ∼ bit5] 予約ビット
必ず "0" を書いてください。
[bit4 ∼ bit0] LVL4 ∼ LVL0
バスマスタへのホールドリクエスト取下げ要求を出すための割込みレベルを設定
します。
本レジスタに設定した割込みレベルより強いレベルを持つ割込み要求が発生した
場合は , バスマスタに対してホールドリクエスト取下げ要求を発生します。
LVL4 ビットは "1" 固定で , "0" を書き込むことはできません。
158
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 5 章 割込みコントローラ
5.3 割込みコントローラの動作
MB91220 シリーズ
5.3
割込みコントローラの動作
割込みコントローラの動作として , 以下の項目について説明します。
• 優先順位判定
• ホールドリクエストの取下げ要求
• スタンバイモード ( ストップ / スリープ ) からの復帰
■ 優先順位判定
本モジュールでは , 同時に発生している割込み要因の中で最も優先度の高い要因を選
択し , その要因の割込みレベルと割込み番号を CPU へ出力します。
割込み要因の優先順位判定基準は , 次のとおりです。
① NMI
②以下の条件を満たす要因
• 割込みレベルの数値が 31 以外 (31 は割込み禁止 )
• 割込みレベルの数値が最も小さい要因 ( 要因 1)
• 要因 1 の条件下で , 最も小さい割込み番号を持つ要因
上記の判定基準により割込み要因が1つも選択されなかった場合は, 割込みレベルとし
て 31 (11111B) を出力します。そのときの割込み番号は不定です。
割込み要因と割込み番号 , 割込みレベルの関係を表 5.3-1 に示します。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
159
第 5 章 割込みコントローラ
5.3 割込みコントローラの動作
MB91220 シリーズ
■ ベクタテーブル
表 5.3-1 ベクタテーブル (1 / 3)
割込み番号
割込み要因
10 進 16 進
割込み
レベル
オフ
セット
TBR デフォルト
のアドレス
DMA
リセット
0
00
−
3FCH
000FFFFCH
−
モードベクタ
1
01
−
3F8H
000FFFF8H
−
システム予約
2
02
−
3F4H
000FFFF4H
−
システム予約
3
03
−
3F0H
000FFFF0H
−
システム予約
4
04
−
3ECH
000FFFECH
−
システム予約
5
05
−
3E8H
000FFFE8H
−
システム予約
6
06
−
3E4H
000FFFE4H
−
コプロセッサ不在トラップ
7
07
−
3E0H
000FFFE0H
−
コプロセッサエラートラップ
8
08
−
3DCH
000FFFDCH
−
INTE 命令
9
09
−
3D8H
000FFFD8H
−
命令ブレークトラップ
10
0A
−
3D4H
000FFFD4H
−
オペランドブレークトラップ
11
0B
−
3D0H
000FFFD0H
−
ステップトレーストラップ
12
0C
−
3CCH
000FFFCCH
−
NMI 要求 (TOOL)
13
0D
−
3C8H
000FFFC8H
−
未定義命令例外
14
0E
−
3C4H
000FFFC4H
−
NMI 要求
15
0F
0FH 固定
3C0H
000FFFC0H
−
外部割込み 0/1/2/6/7
16
10
ICR00
3BCH
000FFFBCH
−
外部割込み 3
17
11
ICR01
3B8H
000FFFB8H
6
外部割込み 4
18
12
ICR02
3B4H
000FFFB4H
7
外部割込み 5
19
13
ICR03
3B0H
000FFFB0H
−
PPG0H/0L/8H/8L
20
14
ICR04
3ACH
000FFFACH
−
PPG2H/2L/9H/9L
21
15
ICR05
3A8H
000FFFA8H
−
PPG4H/4L/10H/10L
22
16
ICR06
3A4H
000FFFA4H
−
PPG6H/6L/11H/11L
23
17
ICR07
3A0H
000FFFA0H
−
リロードタイマ 0
24
18
ICR08
39CH
000FFF9CH
8
リロードタイマ 1
25
19
ICR09
398H
000FFF98H
9
リロードタイマ 2
26
1A
ICR10
394H
000FFF94H
10
160
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 5 章 割込みコントローラ
5.3 割込みコントローラの動作
MB91220 シリーズ
表 5.3-1 ベクタテーブル (2 / 3)
割込み番号
割込み要因
10 進 16 進
割込み
レベル
オフ
セット
TBR デフォルト
のアドレス
DMA
LIN-UART 0 ( 受信 )
27
1B
ICR11
390H
000FFF90H
−
LIN-UART 0 ( 送信 )
28
1C
ICR12
38CH
000FFF8CH
−
LIN-UART 1 ( 受信 )
29
1D
ICR13
388H
000FFF88H
1
LIN-UART 1 ( 送信 )
30
1E
ICR14
384H
000FFF84H
4
LIN-UART 2 ( 受信 )
31
1F
ICR15
380H
000FFF80H
2
LIN-UART 2 ( 送信 )
32
20
ICR16
37CH
000FFF7CH
5
LIN-UART 3 ( 受信 )
33
21
ICR17
378H
000FFF78H
−
LIN-UART 3 ( 送信 )
34
22
ICR18
374H
000FFF74H
−
CAN0
35
23
ICR19
370H
000FFF70H
−
CAN1
36
24
ICR20
36CH
000FFF6CH
−
PPG12H/12L/I2C0
37
25
ICR21
368H
000FFF68H
−
PPG13H/13L
38
26
ICR22
364H
000FFF64H
−
PPG14H/14L/I2C1
39
27
ICR23
360H
000FFF60H
−
PWC ( 測定終了 )
40
28
ICR24
35CH
000FFF5CH
−
PWC ( オーバフロー )
41
29
ICR25
358H
000FFF58H
−
DMAC
42
2A
ICR26
354H
000FFF54H
−
ADC
43
2B
ICR27
350H
000FFF50H
14
リアルタイムクロック
44
2C
ICR28
34CH
000FFF4CH
−
PPG15H/15L
45
2D
ICR29
348H
000FFF48H
−
メイン発振安定待ちタイマ
46
2E
ICR30
344H
000FFF44H
−
タイムベースタイマ
オーバフロー
47
2F
ICR31
340H
000FFF40H
−
PPG1H/1L
48
30
ICR32
33CH
000FFF3CH
11
PPG3H/3L
49
31
ICR33
338H
000FFF38H
12
PPG5H/5L
50
32
ICR34
334H
000FFF34H
13
PPG7H/7L
51
33
ICR35
330H
000FFF30H
3
16 ビットフリーランタイマ 0
52
34
ICR36
32CH
000FFF2CH
−
16 ビットフリーランタイマ 1
53
35
ICR37
328H
000FFF28H
−
ICU0
54
36
ICR38
324H
000FFF24H
−
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
161
第 5 章 割込みコントローラ
5.3 割込みコントローラの動作
MB91220 シリーズ
表 5.3-1 ベクタテーブル (3 / 3)
割込み番号
割込み要因
10 進 16 進
割込み
レベル
オフ
セット
TBR デフォルト
のアドレス
DMA
ICU1
55
37
ICR39
320H
000FFF20H
−
ICU2
56
38
ICR40
31CH
000FFF1CH
−
ICU3
57
39
ICR41
318H
000FFF18H
−
OCU0
58
3A
ICR42
314H
000FFF14H
−
OCU1
59
3B
ICR43
310H
000FFF10H
−
サウンドジェネレータ 0
60
3C
ICR44
30CH
000FFF0CH
−
サウンドジェネレータ 1
61
3D
ICR45
308H
000FFF08H
−
サウンドジェネレータ 2
62
3E
ICR46
304H
000FFF04H
−
遅延割込み
63
3F
ICR47
300H
000FFF00H
−
システム予約
64
40
−
2FCH
000FFEFCH
−
システム予約
65
41
−
2F8H
000FFEF8H
−
システム予約
66
42
−
2F4H
000FFEF4H
−
システム予約
67
43
−
2F0H
000FFEF0H
−
システム予約
68
44
−
2ECH
000FFEECH
−
システム予約
69
45
−
2E8H
000FFEE8H
−
システム予約
70
46
−
2E4H
000FFEE4H
−
システム予約
71
47
−
2E0H
000FFEE0H
−
システム予約
72
48
−
2DCH
000FFEDCH
−
システム予約
73
49
−
2D8H
000FFED8H
−
システム予約
74
4A
−
2D4H
000FFED4H
−
システム予約
75
4B
−
2D0H
000FFED0H
−
システム予約
76
4C
−
2CCH
000FFECCH
−
システム予約
77
4D
−
2C8H
000FFEC8H
−
システム予約
78
4E
−
2C4H
000FFEC4H
−
システム予約
79
4F
−
2C0H
000FFEC0H
−
80
|
255
50
|
FF
2BCH
000FEBCH
INT 命令
−
|
000H
|
000FFC00H
−
( 注意事項 ) MB91220 シリーズでは , NMI はサポートしていません。
162
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 5 章 割込みコントローラ
5.3 割込みコントローラの動作
MB91220 シリーズ
■ ホールドリクエスト取下げ要求 (Hold Request Cancel Request)
優先度の高い割込み処理を , CPU のホールド中 (DMA 転送中 ) に行う場合は , ホールド
リクエスト発生元においてリクエストを取り下げさせる必要があります。この取下げ
要求発生の基準となる割込みレベルを HRCL レジスタに設定します。
● 発生基準
HRCL レジスタに設定した割込みレベルより強いレベルの割込み要因が発生した場合
は , ホールドリクエスト取下げ要求を発生します。
HRCL レジスタの割込みレベル>優先度判定後の割込みレベル
→取下げ要求発生
HRCL レジスタの割込みレベル≦優先度判定後の割込みレベル
→取下げ要求なし
取下げ要求発生原因となった割込み要因をクリアしない限り , この取下げ要求は有効
であり , 結果的にいつまでも DMA 転送が起こらないことになります。必ず対応する割
込み要因をクリアしてください。
● 設定可能なレベル
HRCL レジスタに設定可能な値は , ICR と同様に "10000B" から "11111B" までです。
"11111B" に設定した場合はすべての割込みレベルに対して取下げ要求を発生し , また ,
"10000B" に設定した場合は NMI でのみ取下げ要求を発生することになります。
表 5.3-2 に , ホールドリクエスト取下げ要求発生となる割込みレベルの設定を示しま
す。
表 5.3-2 ホールドリクエスト取下げ要求発生となる割込みレベルの設定
HRCL レジスタ
取下げ要求発生となる割込みレベル
16
NMI のみ
17
NMI, 割込みレベル 16
18
NMI, 割込みレベル 16 ∼ 17
∼
∼
31
NMI, 割込みレベル 16 ∼ 30 [ 初期値 ]
リセット後は , すべての割込みレベルに対して DMA 転送を抑止します。すなわち , 割
込みが発生していると DMA 転送が行われませんので , HRCL レジスタの値を必要な値
に設定してください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
163
第 5 章 割込みコントローラ
5.3 割込みコントローラの動作
MB91220 シリーズ
■ スタンバイモード ( ストップ / スリープ ) からの復帰
割込み要求の発生により , ストップモードから復帰する機能を本モジュールで実現し
ます。
NMI を含む周辺からの割込み要求 ( 割込みレベルが "11111B" 以外 ) が 1 つでも発生す
ると , クロック制御部に対してストップモードからの復帰要求を発生します。
優先度判定部はストップ復帰後クロックが供給されてから動作を再開しますので , 優
先度判定部の結果が出るまでの間 , CPU は命令を実行します。
スリープ状態からの復帰においても , 同様に動作します。
また , スリープ中であっても , 本モジュール内のレジスタはアクセス可能です。
<注意事項>
ストップおよびスリープからの復帰の要因としたくない割込み要因は , 対応する周辺の制
御レジスタにて割込みレベルを "11111B" にしてください。
MB91220 シリーズでは , NMI はサポートしていません。
164
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 5 章 割込みコントローラ
5.3 割込みコントローラの動作
MB91220 シリーズ
■ ホールドリクエスト取下げ要求機能 (HRCL) の使用例
DMA 転送中に , CPU が優先度の高い処理を行うときは , DMA に対してホールドリク
エストを取り下げさせ , ホールド状態を解除する必要があります。ここでは , 割込みを
利用して DMA に対してホールドリクエストの取下げ , すなわち , CPU の優先動作を実
現します。
● 制御レジスタ
1. HRCL ( ホールドリクエストキャンセルレベル設定レジスタ ) : 本モジュール :
本レジスタに設定した割込みレベルより強いレベルの割込みが発生した場合に ,
DMA に対してホールドリクエスト取下げ要求を発生します。その基準となるレベ
ルを設定します。
2. ICR : 本モジュール
使用する割込み要因に対応する ICR に , HRCL レジスタよりも強いレベルを設定し
ます。
● ハードウェア構成
図 5.3-1 に , ホールドリクエストの各信号の流れを示します。
図 5.3-1 ホールドリクエストの各信号の流れ
本モジュール
IRQ
バスアクセス要求
DHREQ:D-busホールドリクエスト
DHREQ
MHALTI
DHACK:D-busホールドアクノリッジ
I-ユニット
B-ユニット
DMA
CPU
(ICR)
IRQ
:割込み要求
MHALTI:ホールドリクエスト
DHACK
(HRCL)
取下げ要求
● シーケンス
図 5.3-2 に , HRCL レジスタに設定したレベルより強い場合のシーケンスを示します。
図 5.3-2 割込みレベル HRCL < ICR (LVL)
RUN
CPU
バスホールド
バスホールド(DMA転送)
割込み処理
①
②
バスアクセス要求
割込みルーチンの例
①割込み要因クリア
DHREQ
~
DHACK
②RETI
IRQ
LVL
MHALTI
割込み要求が発生すると割込みレベルが変化して , これが HRCL レジスタに設定した
レベルより強いと DMA に対して MHALTI をアクティブにします。これによって DMA
はアクセス要求を下げ , CPU はホールド状態から復帰して割込み処理を行います。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
165
第 5 章 割込みコントローラ
5.3 割込みコントローラの動作
MB91220 シリーズ
図 5.3-3 に , 多重割込みの場合のシーケンスを示します。
図 5.3-3 割込みレベル HRCL < ICR ( 割込み I) < ( 割込み II)
RUN
バスホールド
割込みⅠ
③
CPU
④
バスホールド(DMA転送)
割込み処理Ⅰ
割込み処理Ⅱ
①
②
バスアクセス要求
DHREQ
DHACK
IRQ1
IRQ2
LVL
MHALTI
〔割込みルーチンの例〕
① , ③割込み要因クリア
∼
② , ④ RETI
上記の例では , 割込みルーチン I を実行中にそれよりも優先度の高い割込みが発生した
場合を示しています。
HRCL レジスタに設定した割込みレベルより高い割込みレベルが発生している間は ,
DHREQ は下がっています。
<注意事項>
HRCL レジスタと ICR に設定する割込みレベルの関係には , 十分注意してください。
166
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第6章
外部割込み制御部
外部割込み制御部の概要 , レジスタの構成 / 機能お
よび動作について説明します。
CM71-10142-5
6.1
外部割込み制御部の概要
6.2
外部割込み制御部のレジスタ
6.3
外部割込み制御の動作
FUJITSU SEMICONDUCTOR LIMITED
167
第 6 章 外部割込み制御部
6.1 外部割込み制御部の概要
6.1
MB91220 シリーズ
外部割込み制御部の概要
外部割込み制御部は , INT0 ∼ INT7 に入力される外部割込み要求の制御を行うブ
ロックです。検出する要求のレベルとして , "H", "L", " 立上りエッジ ", " 立下り
エッジ " の 4 種類から選択できます。
■ 外部割込み制御部のレジスタ一覧
外部割込みのレジスタ一覧は以下のとおりです。
図 6.1-1 外部割込み制御部のレジスタ一覧
EIRR0 ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
00000040H
ER7
ER6
ER5
ER4
ER3
ER2
ER1
ER0
00000000B
R(RM1), W R(RM1), W R(RM1), W R(RM1), W R(RM1), W R(RM1), W R(RM1), W R(RM1), W
ENIR0 ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000041H
EN7
EN6
EN5
EN4
EN3
EN2
EN1
EN0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
ELVR0 ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
00000042H
LB7
LA7
LB6
LA6
LB5
LA5
LB4
LA4
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000043H
LB3
LA3
LB2
LA2
LB1
LA1
LB0
LA0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
■ 外部割込み制御部のブロックダイヤグラム
図 6.1-2 に外部割込みのブロックダイヤグラムを示します。
図 6.1-2 外部割込み制御部のブロックダイヤグラム
R-bus
16
割込み要求
16
16
16
168
割込み許可レジスタ
ゲート
要因 F/F
エッジ検出回路
8
INT0~
INT7
割込み要因レジスタ
要求レベル設定レジスタ
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 6 章 外部割込み制御部
6.2 外部割込み制御部のレジスタ
MB91220 シリーズ
6.2
外部割込み制御部のレジスタ
外部割込み制御部のレジスタ構成および機能について説明します。
■ 外部割込み制御部のレジスタ詳細
外部割込み制御部のレジスタには , 以下の 3 種類があります。
• 割込み許可レジスタ (ENIR : ENable Interrupt request Register)
• 外部割込み要因レジスタ (EIRR : External Interrupt Request Register)
• 外部割込み要求レベル設定レジスタ (ELVR : External LeVel Register)
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
169
第 6 章 外部割込み制御部
6.2 外部割込み制御部のレジスタ
6.2.1
MB91220 シリーズ
割込み許可レジスタ
(ENIR : ENable Interrupt request Register)
割込み許可レジスタ (ENIR) のビット構成と機能を説明します。
■ 外部割込み要因レジスタ (ENIR : ENable Interrupt request Register)
図 6.2-1 割込み許可レジスタ (ENIR) のビット構成
ENIR0 ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000041H
EN7
EN6
EN5
EN4
EN3
EN2
EN1
EN0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
このレジスタの "1" が書かれたビットに対応する割込み要求出力は許可され (INT0 の
許可を EN0 が制御 ), 割込みコントローラに対して要求が出力されます。"0" が書かれ
たビットの対応する端子は割込み要因を保持しますが , 割込みコントローラに対して
は要求を発生しません。
170
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 6 章 外部割込み制御部
6.2 外部割込み制御部のレジスタ
MB91220 シリーズ
6.2.2
外部割込み要因レジスタ
(EIRR : External Interrupt Request Register)
外部割込み要因レジスタ (EIRR) のビット構成と機能を説明します。
■ 割込み許可レジスタ (EIRR : External Interrupt Request Register)
図 6.2-2 外部割込み要因レジスタ (EIRR) のビット構成
EIRR0 ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
00000040H
ER7
ER6
ER5
ER4
ER3
ER2
ER1
ER0
00000000B
R(RM1), W R(RM1), W R(RM1), W R(RM1), W R(RM1), W R(RM1), W R(RM1), W R(RM1), W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
この EIRR レジスタを読み出したときに "1" であった場合 , そのビットに対応する端子
に外部割込み要求があることを示します。
また , このレジスタに "0" を書き込むと , 対応するビットの要求フリップフロップがク
リアされます。
"1" の書込みは無効です。
リードモディファイライト (RMW) 系命令の読出し時には "1" が読み出されます。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
171
第 6 章 外部割込み制御部
6.2 外部割込み制御部のレジスタ
MB91220 シリーズ
外部割込み要求レベル設定レジスタ
(ELVR : External LeVel Register)
6.2.3
外部割込み要求レベル設定レジスタ (ELVR) のビット構成と機能を説明します。
■ 外部割込み要求レベル設定レジスタ (ELVR : External LeVel Register)
図 6.2-3 外部割込み要求レベル設定レジスタ (ELVR) のビット構成
ELVR0 ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
00000042H
LB7
LA7
LB6
LA6
LB5
LA5
LB4
LA4
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000043H
LB3
LA3
LB2
LA2
LB1
LA1
LB0
LA0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
INT0 ∼ INT7 に外部割込み要求レベルが 2 ビットずつ割り当てられていて , 表 6.2-1 の
ような設定になります。要求入力がレベル設定の場合 , EIRR の各ビットをクリアして
も入力がアクティブレベルならば該当するビットは再びセットされます。
表 6.2-1 ELVR 割当て表
LBx
LAx
0
0
"L" レベルで要求あり
0
1
"H" レベルで要求あり
1
0
立上りエッジで要求あり
1
1
立下りエッジで要求あり
動 作
ストップモードでの使用は , ストップモードで入力が可能な端子でのみ使用可能です。
ストップモード時に入力が遮断されると , 予期せぬ入力が伝わって , 割込み要因ビット
がセットされることがあります。
<注意事項>
外部割込み要求レベルを変更すると , 内部で割込み要因が発生する場合がありますので ,
外部割込み要求レベル変更後に外部割込み要因レジスタ (EIRR) をクリアしてください。
外部割込み要因レジスタをクリアする際は一度 , 外部割込み要求レベルレジスタを読み出
してからクリアの書き込みを行ってください。
172
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 6 章 外部割込み制御部
6.3 外部割込み制御の動作
MB91220 シリーズ
6.3
外部割込み制御の動作
外部割込みの動作について説明します。
■ 外部割込みの動作
要求レベル , 許可レジスタの設定の後 , 対応する端子に ELVR レジスタで設定された要
求が入力されると本モジュールは , 割込みコントローラに対して割込み要求信号を発
生します。割込みコントローラ内で同時発生した割込みの優先順位を識別した結果 , 本
リソースからの割込みが最も優先順位が高かったときに該当する割込みが発生しま
す。
図 6.3-1 外部割込みの動作
外部割込み
割込みコントローラ
CPU
リソース要求
ELVR
EIRR
ENIR
IL
ICR yy
CMP
ICR xx
CMP
ILM
要因
■ 外部割込みの動作手順
外部割込み部内に存在するレジスタの設定を行う際 , 次の手順で設定してください。
1. 外部割込み入力として使用する端子と兼用する汎用入出力ポートを入力ポートに
設定する。
2. 割込み許可レジスタ (ENIR) の対象となるビットを禁止状態にする。
3. 外部割込み要求レベル設定レジスタ (ELVR) の対象となるビットを設定する。
4. 外部割込み要求レベル設定レジスタ (ELVR) を読み出す。
5. 外部割込み要因レジスタ (EIRR) の対象となるビットをクリアにする。
6. 割込み許可レジスタ (ENIR) の対象となるビットを許可状態にする。
ただし , 5. と 6. は 16 ビットデータによる同時書込みが可能です。
本モジュール内のレジスタを設定するときには必ず割込み許可レジスタを禁止状態に
設定しておかなくてはなりません。また , 割込み許可レジスタを禁止状態にする前に必
ず要因レジスタをクリアしておく必要があります。これは , レジスタ設定時や割込み許
可状態時に誤って割込み要因が起こってしまうことを避けるためです。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
173
第 6 章 外部割込み制御部
6.3 外部割込み制御の動作
MB91220 シリーズ
■ 外部割込み要求レベル
• 要求レベルがエッジ要求のとき , エッジがあったことを検出するためには , パルス
幅は最小 3 サイクル ( 周辺クロックサイクル ) 必要とします。
• 要求入力レベルがレベル設定の場合 , パルス幅は最小 3 サイクル ( 周辺クロックサ
イクル ) 必要とします。また割込み入力端子がアクティブレベルを保持し続けてい
る限りは , 外部割込み要因レジスタをクリアしても , 割込みコントローラへの割込
み要求は発生し続けます。
• 要求入力レベルがレベル設定のとき , 外部より要求入力が入ってその後 , 取り下げ
られても内部に要因保持回路が存在するので , 割込みコントローラへの要求はアク
ティブのままです。
割込みコントローラへの要求を取り下げるには要因レジスタをクリアする必要が
あります。
図 6.3-2 レベル設定時の要因保持回路のクリア
割込み入力
レベル検出
要因 F/F
(要因保持回路)
許可ゲート
割込み
コントローラ
クリアしない限り要因を保持し続ける
図 6.3-3 割込み許可時の割込み要因と割込みコントローラへの割込み要求
"H"レベル
割込み入力
割込みコントローラ
への割込み要求
要因 F/Fのクリアによってインアクティブとなる
<注意事項>
• 割込み入力は , 最小 3 サイクル ( 周辺クロックサイクル ) 必要です。
• STOP 時に外部端子を STCR スタンバイ制御レジスタ bit5 の HIZ ビットに "1" を設定
して端子出力をハイインピーダンスにしたとき , PFR/EPFR の設定によって入力可能
にできます。詳細は「■ STOP 状態からの復帰動作」の「● STOP 遷移前の処理」を
参照してください。
174
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 6 章 外部割込み制御部
6.3 外部割込み制御の動作
MB91220 シリーズ
■ 外部割込みを使用した STOP 状態からの復帰時における注意事項
STOP 状態時に , INT 端子へ最初に入力された外部割込み信号は非同期で入力され ,
STOP 状態から復帰することが可能です。ただし , その STOP 解除から , 発振安定待ち
時間が経過するまでの期間においては , ほかの外部割込み信号の入力を認識できない
期間が存在します ( 図 6.3-4 の b+c+d 期間 )。STOP 解除後の外部入力信号を内部クロッ
クに同期させるため , クロックが安定していない期間内は , その割込み要因を保持でき
ないためです。
そのため , STOP 解除後の外部割込み入力を行う場合には , 発振安定待ち時間経過後に
外部割込み信号を入力してください。
図 6.3-4 STOP 状態からの外部割込みによる復帰動作のシーケンス
INT1
INT0
内部STOP
12μs
"H"
"L"
Regulator
内部動作(RUN)
命令実行(run)
X0
内部Clock
割込みフラグクリア
INTR0
INTE0
"1"(STOPモードに遷移前にイネーブルへ設定)
INTR1
INTE1
“1”(STOPモードに遷移前にイネーブルへ設定)
(a)STOP
(b) レギュレータ安定待ち時間
(d) 発振安定待ち時間
(e)RUN
(c)振動子の発振時間
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
175
第 6 章 外部割込み制御部
6.3 外部割込み制御の動作
MB91220 シリーズ
■ STOP 状態からの復帰動作
現行回路の外部割込みによる STOP 復帰動作は , 以下の動作によって行われます。
● STOP 遷移前の処理
外部割込みの設定
デバイスが STOP 状態に遷移する前に STOP 状態時の割込み入力パスを許可する必
要があります。これは PFR レジスタ (Port Function Register) で設定を行います。通
常状態 (STOP 以外の状態 ) では割込みの入力パスは許可状態ですので意識する必要
はありません。しかし , STOP 状態では PFR レジスタ値により入力パスが制御され
ています。
端子名
外部割込みによる STOP 状態からの復帰時の設定
P70/(RX1)/INT7
PFR7 の bit2 を "1", EPFR7 の bit2 を "0" としてください。
P72/(RX0)/INT6
PFR7 の bit0 を "1", EPFR7 の bit0 を "0" としてください。
P87/AN23/INT5
PFR8 の bit7 を "1", EPFR8 の bit7 を "0" としてください。
P86/AN22/INT4
PFR8 の bit6 を "1", EPFR8 の bit6 を "0" としてください。
P85/AN21/INT3
PFR8 の bit5 を "1", EPFR8 の bit5 を "0" としてください。
P84/AN20/INT2
PFR8 の bit4 を "1", EPFR8 の bit4 を "1" としてください。
PD0/TIN0/IN0/PWC0/
INT2/V0
PFRD の bit0 を "1", EPFRD の bit0 を "0" としてください。
EPFR8 の bit4 は "0" でなければいけません。
P43/SIN3/INT1
PFR4 および EPFR4 の bit3 を "1" としてください。
P40/SIN0/INT0
PFR4 および EPFR4 の bit0 を "1" としてください。
外部割込みの入力
STOP 状態から復帰させたいとき , 外部割込み信号は非同期で入力信号を伝える状
態となっています。この割込み入力がアサートされると直ちに内部 STOP 信号を立
ち下げる動作が行われます。同時に外部割込み回路では , ほかのレベル割込み入力
の同期化を行うように切り換わります。
● レギュレータ安定待ち時間
内部 STOP 信号が立ち下ると STOP 時のレギュレータから RUN 時のレギュレータ
へ切り換え動作が開始されます。RUN 時のレギュレータの電圧出力が安定する前
に内部動作が開始されると動作が不安定になるため , 内部出力電圧の安定待ち時間
として , 約 12μs のレギュレータの安定待ち時間を確保しています。この期間はク
ロックが停止しています。
● 振動子の発振時間
レギュレータ安定待ち時間の終了後 , クロックの発振が開始されます。振動子の発
振時間は使用される振動子により異なります。
176
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 6 章 外部割込み制御部
6.3 外部割込み制御の動作
MB91220 シリーズ
● 発振安定待ち時間
振動子の発振時間後にデバイス内部で発振安定待ち時間が確保されます。発振安定
待ち時間はスタンバイ制御レジスタの OS1, OS0 ビットにより指定します。発振安
定待ち時間終了後 , 内部クロックが供給され , 外部割込みによる割込み命令動作が
開始されるとともに , STOP 状態からの復帰要因以外の外部割込み要因が受付け可
能になります。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
177
第 6 章 外部割込み制御部
6.3 外部割込み制御の動作
178
MB91220 シリーズ
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第7章
REALOS 関連ハード
REALOS 関連ハードは , リアルタイム OS により
使用されます。したがって , REALOS を使用する
場合にはユーザプログラムで使用することはでき
ません。
遅延割込みモジュールおよびビットサーチモ
ジュールの概要 , レジスタ構成および機能 , 動作に
ついて説明します。
CM71-10142-5
7.1
遅延割込みモジュール
7.2
ビットサーチモジュール
FUJITSU SEMICONDUCTOR LIMITED
179
第 7 章 REALOS 関連ハード
7.1 遅延割込みモジュール
7.1
MB91220 シリーズ
遅延割込みモジュール
遅延割込みモジュールは , タスク切換え用の割込みを発生するためのモジュールで
す。
本モジュールを使用することで , ソフトウェアで CPU に対して割込み要求の発生 /
取消しを行うことができます。
■ レジスタ一覧
図 7.1-1 遅延割込みモジュールのレジスタ一覧
DICR ( アクセス:Byte, Half-word, Word)
アドレス
00000044H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
−
−
−
−
−
−
−
DLYI
-------0B
R1,WX
R1,WX
R1,WX
R1,WX
R1,WX
R1,WX
R1,WX
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
■ ブロックダイヤグラム
図 7.1-2 ブロックダイヤグラム
R-bus
DLYI
割込み要求
180
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 7 章 REALOS 関連ハード
7.1 遅延割込みモジュール
MB91220 シリーズ
■ レジスタ詳細説明
● DICR(Delayed Interrupt Control Register)
図 7.1-3 遅延割込み制御レジスタ (DICR) のビット構成
DICR ( アクセス:Byte, Half-word, Word)
アドレス
00000044H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
−
−
−
−
−
−
−
DLYI
-------0B
R1,WX
R1,WX
R1,WX
R1,WX
R1,WX
R1,WX
R1,WX
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
遅延割込みを制御するレジスタです。
[bit0] DLYI
DLYI
説 明
0
遅延割込み要因の解除・要求なし〔初期値〕
1
遅延割込み要因の発生
本ビットにより , 該当する割込み要因の発生・解除を制御します。
■ 動作説明
遅延割込みは , タスク切換え用の割込みを発生するものです。本機能を使用することに
より , ソフトウェアで CPU に対して割込み要求の発生 , 取消しを行うことができます。
● 割込み番号
遅延割込みは , 最も大きな割込み番号に対応した割込み要因に割り当てられています。
MB91220 シリーズでは , 遅延割込みを割込み番号 63(3FH) に割り当てています。
● DICR の DLYI ビット
このビットに "1" を書き込むことで遅延割込み要因が発生します。また , "0" を書き込
むことで遅延割込み要因を解除します。
本ビットは , 一般の割込みにおける割込み要因フラグと同じものであり , 割込みルーチ
ンの中で本ビットをクリアし , 併せてタスクの切換えを行うようにしてください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
181
第 7 章 REALOS 関連ハード
7.2 ビットサーチモジュール
7.2
MB91220 シリーズ
ビットサーチモジュール
入力レジスタに書き込まれたデータに対して "0", "1" または変化点を検索し , 検出
したビット位置を返します。
■ レジスタ一覧
図 7.2-1 ビットサーチモジュールのレジスタ一覧
bit31
bit0
アドレス : 000003F0H
BSD0
0 検出用データレジスタ
アドレス : 000003F4H
BSD1
1 検出用データレジスタ
アドレス : 000003F8H
BSDC
変化点検出用データレジスタ
アドレス : 000003FCH
BSRR
検出結果レジスタ
■ ブロックダイヤグラム
図 7.2-2 ブロックダイヤグラム
D-bus
入力ラッチ
アドレスデコーダ
検出モード
1検出データ化
ビットサーチ回路
検索結果
182
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 7 章 REALOS 関連ハード
7.2 ビットサーチモジュール
MB91220 シリーズ
■ レジスタ詳細説明
● 0 検出用データレジスタ (BSD0)
図 7.2-3 0 検出用データレジスタ (BSD0) のビット構成
BSD0 ( アクセス:Word)
bit31
000003F0H
bit0
属性→ RX,W
初期値→ 不定
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
書き込んだ値に対して , 0 検出を行います。
リセットによる初期値は不定です。読出し値は不定です。
データ転送には , 32 ビット長のデータ転送命令を使用してください
(8 ビット /16 ビット長のデータ転送命令は使わないでください )。
● 1 検出用データレジスタ (BSD1)
図 7.2-4 1 検出用データレジスタ (BSD1) のビット構成
BSD1 ( アクセス:Word)
bit31
000003F4H
bit0
属性→ R,W
初期値→ 不定
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
データ転送には 32 ビット長のデータ転送命令を使用してください
(8 ビット /16 ビット長のデータ転送命令は使わないでください )。
• 書込み時
書き込んだ値に対して , 1 検出します。
• 読出し時
ビットサーチモジュールの内部状態の退避用データが読み出されます。割込みハン
ドラなどがビットサーチモジュールを使用する場合に , 元の状態を退避・復帰する
ときに使用します。
0 検出 , 変化点検出 , データレジスタにデータを書き込んだ場合でも , 1 検出用デー
タレジスタのみ操作することで退避・復帰できます。
リセットによる初期値は不定です。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
183
第 7 章 REALOS 関連ハード
7.2 ビットサーチモジュール
MB91220 シリーズ
● 変化点検出用データレジスタ (BSDC)
図 7.2-5 変化点検出用データレジスタ (BSDC) のビット構成
( アクセス:Word)
bit31
000003F8H
BSDC
bit0
属性→ 全ビット RX,W
初期値→ 不定
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
書き込んだ値に対して , 変化点の検出を行います。
リセットによる初期値は不定です。
読出し値は不定です。
データ転送には 32 ビット長のデータ転送命令を使用してください
(8 ビット /16 ビット長のデータ転送命令は使わないでください )。
● 検出結果レジスタ (BSRR)
図 7.2-6 検出結果レジスタ (BSRR) のビット構成
( アクセス:Word)
bit31
000003FCH
BSRR
bit0
属性→ 全ビット R,WX
初期値→ 不定
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
0 検出 , 1 検出 , または変化点検出の結果が読み出されます。
どの検出結果が読み出されるかは , 最後に書き込んだデータレジスタによって決定さ
れます。
184
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 7 章 REALOS 関連ハード
7.2 ビットサーチモジュール
MB91220 シリーズ
■ 動作説明
● 0 検出
0 検出用データレジスタに書き込まれたデータを MSB から LSB へスキャンし , 最初の
"0" を検出した位置を返します。
検出結果は , 検出結果レジスタを読み出すことで得られます。
表 7.2-1 に検出した位置と返す数値の関係を示します。
"0" が存在しないとき ( すなわち FFFFFFFFH という数値のとき ), 32 という値をサーチ
結果として返します。
[ 実行例 ]
書込みデータ
読出し値 (10 進 )
11111111111111111111000000000000B (FFFFF000H)
→
20
11111000010010011110000010101010B (F849E0AAH)
→
5
10000000000000101010101010101010B (8002AAAAH)
→
1
11111111111111111111111111111111B (FFFFFFFFH)
→
32
● 1 検出
1 検出用データレジスタに書き込まれたデータを MSB から LSB へスキャンし , 最初の
"1" を検出した位置を返します。
検出結果は , 検出結果レジスタを読み出すことで得られます。
表 7.2-1 に検出した位置と返す数値の関係を示します。
"1" が存在しないとき ( すなわち 00000000H という数値のとき ), 32 という値をサーチ
結果として返します。
[ 実行例 ]
書込みデータ
CM71-10142-5
読出し値 (10 進 )
00100000000000000000000000000000B (20000000H)
→
2
00000001001000110100010101100111B (01234567H)
→
7
00000000000000111111111111111111B (0003FFFFH)
→
14
00000000000000000000000000000001B (00000001H)
→
31
00000000000000000000000000000000B (00000000H)
→
32
FUJITSU SEMICONDUCTOR LIMITED
185
第 7 章 REALOS 関連ハード
7.2 ビットサーチモジュール
MB91220 シリーズ
● 変化点検出
変化点検出用データレジスタに書き込まれたデータを bit30 から LSB へスキャンし ,
MSB の値と比較します。最初に MSB と異なる値を検出した位置を返します。
検出結果は , 検出結果レジスタを読み出すことで得られます。
表 7.2-1 に検出した位置と返す数値の関係を示します。
変化点が存在しないときは , 32 を返します。
変化点検出では , 結果として "0" を返すことはありません。
[ 実行例 ]
書込みデータ
読出し値 (10 進 )
00100000000000000000000000000000B (20000000H)
→
2
00000001001000110100010101100111B (01234567H)
→
7
00000000000000111111111111111111B (0003FFFFH)
→
14
00000000000000000000000000000001B (00000001H)
→
31
00000000000000000000000000000000B (00000000H)
→
32
11111111111111111111000000000000B (FFFFF000H)
→
20
11111000010010011110000010101010B (F849E0AAH)
→
5
10000000000000101010101010101010B (8002AAAAH)
→
1
11111111111111111111111111111111B (FFFFFFFFH)
→
32
表 7.2-1 ビット位置と返す値 (10 進 )
検出した
ビット位置
返す値
検出した
ビット位置
返す値
検出した
ビット位置
返す値
検出した
ビット位置
返す値
31
0
23
8
15
16
7
24
30
1
22
9
14
17
6
25
29
2
21
10
13
18
5
26
28
3
20
11
12
19
4
27
27
4
19
12
11
20
3
28
26
5
18
13
10
21
2
29
25
6
17
14
9
22
1
30
24
7
16
15
8
23
0
31
存在しない
32
186
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 7 章 REALOS 関連ハード
7.2 ビットサーチモジュール
MB91220 シリーズ
■ 退避・復帰の処理
割込みハンドラ中でビットサーチモジュールを使う場合のように , ビットサーチモ
ジュールの内部状態を退避・復帰させる必要がある場合は , 以下の手順に従ってくださ
い。
1. 1 検出用データレジスタを読み出し , この内容を保存する ( 退避 )
2. ビットサーチモジュールを使用
3. 1. で退避したデータを 1 検出用データレジスタに書き込む ( 復帰 )
以上の操作により, 次に検出結果レジスタを読み出したときに得られる値は, ①以前に
ビットサーチモジュールに書き込まれた内容に応じたものとなります。最後に書き込
まれたデータレジスタが0検出用または変化点検出用であっても, 上記手順で正しく元
に戻ります。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
187
第 7 章 REALOS 関連ハード
7.2 ビットサーチモジュール
188
MB91220 シリーズ
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第8章
16 ビットリロードタイマ
16 ビットリロードタイマの概要 , レジスタの構成 /
機能およびリロードタイマの動作について説明し
ます。
CM71-10142-5
8.1
16 ビットリロードタイマの概要
8.2
ブロックダイヤグラム
8.3
16 ビットリロードタイマのレジスタ
8.4
リロードタイマの動作
FUJITSU SEMICONDUCTOR LIMITED
189
第 8 章 16 ビットリロードタイマ
8.1 16 ビットリロードタイマの概要
8.1
MB91220 シリーズ
16 ビットリロードタイマの概要
16 ビットリロードタイマは , 16 ビットのダウンカウンタ , 16 ビットのリロードレジ
スタ , 内部カウントクロック作成用プリスケーラおよびコントロールレジスタで構
成されています。
クロックソースとして内部クロック 3 種類 ( 周辺クロックの 2/8/32 分周を選択可能 )
と 外部イベントから選択できます。
リロードタイマ ch.2 の出力は A/D コンバータのトリガとして使用可能です。
リロードレジスタに設定された周期で A/D 変換を起動することができます。
■ リロードタイマのレジスタ一覧
図 8.1-1 16 ビットリロードタイマのレジスタ一覧
コントロールステータス レジスタ (TMCSR) ( アクセス:Byte, Half-word)
アドレス
ch.0:0000004EH
ch.1:00000056H
ch.2:0000005EH
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
−
−
−
−
CSL1
CSL0
MOD2
MOD1
---- 0000B
R/W
R/W
R/W0
R/W
R0,WX R0,WX R0,WX R0,WX
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
MOD0
−
OUTL
RELD
INTE
UF
CNTE
TRG
R/W
R0,WX
R/W
R/W
R/W
R(RM1), W
R/W
R0,W
0000 0000B
16 ビットタイマレジスタ (TMR) ( アクセス:Half-word)
アドレス
ch.0:0000004AH
ch.1:00000052H
ch.2:0000005AH
bit15
bit0
初期値
XXXX XXXX
XXXX XXXXB
属性:全ビット R,WX
16 ビットリロードレジスタ (TMRLR) ( アクセス:Half-word)
アドレス
ch.0:00000048H
ch.1:00000050H
ch.2:00000058H
bit15
bit0
初期値
XXXX XXXX
XXXX XXXXB
属性:全ビット RX,W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
190
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 8 章 16 ビットリロードタイマ
8.2 ブロックダイヤグラム
MB91220 シリーズ
ブロックダイヤグラム
8.2
リロードタイマのブロックダイヤグラムを示します。
■ ブロックダイヤグラム
図 8.2-1 16 ビットリロードタイマのブロックダイヤグラム
16ビットリロードレジスタ
(TMRLR)
リロード
RELD
OUTL
INTE
UF
CNTE
TRG
16ビットタイマレジスタ(TMR)
R-bus
UF
OUT
CTL
カウント
イネーブル
クロック
セレクタ
CSL1
CSL0
EXCK
プリスケーラ
CM71-10142-5
IRQ
外部タイマ
出力
IN CTL
プリスケーラ
クリア
CSL1
CSL0
PFRG内のPG1~PG3ビット
外部トリガ
選択
FUJITSU SEMICONDUCTOR LIMITED
外部トリガ入力
191
第 8 章 16 ビットリロードタイマ
8.3 16 ビットリロードタイマのレジスタ
8.3
MB91220 シリーズ
16 ビットリロードタイマのレジスタ
16 ビットリロードタイマのレジスタについて説明します。
■ コントロールステータスレジスタ (TMCSR)
図 8.3-1 コントロールステータスレジスタ (TMCSR)
コントロールステータス レジスタ (TMCSR) ( アクセス:Byte, Half-word)
アドレス
ch.0:0000004EH
ch.1:00000056H
ch.2:0000005EH
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
−
−
−
−
CSL1
CSL0
MOD2
MOD1
R/W
R/W
R/W
R/W
R0,WX R0,WX R0,WX R0,WX
初期値
----0000B
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
MOD0
−
OUTL
RELD
INTE
UF
CNTE
TRG
00000000B
R/W
R0,W0
R/W
R/W
R/W
R(RM1), W
R/W
R0,W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
16 ビットタイマの動作モードおよび割込みの制御を行います。
UF, CNTE, TRG ビット以外の書換えは , CNTE=0 のときに行うようにしてください。
[bit15 ∼ bit12] 未使用ビット
常に "0" が読み出されます。
[bit11, bit10] CSL1, CSL0 (Count source select)
カウントソースセレクトビットです。カウントソースは内部クロックと外部イベン
トを選択できます。選択可能なカウントソースは以下のとおりです。
カウントソース
(φ: 周辺クロック )
φ=32MHz
φ=16MHz
内部クロック φ/21 ( 初期値 )
62.5ns
125ns
1
内部クロック φ/23
250ns
0.5μs
1
0
内部クロック φ/2
5
1.0μs
2.0μs
1
1
外部イベント
−
−
CSL1
CSL0
0
0
0
表に記載されていない設定は禁止です。
外部イベントをカウントソースに設定した場合のカウント有効エッジは MOD1,
MOD0 ビットにより設定されます。
外部クロックに必要な最小パルス幅は 2 × T (T: 周辺クロックサイクル ) です。
192
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 8 章 16 ビットリロードタイマ
8.3 16 ビットリロードタイマのレジスタ
MB91220 シリーズ
[bit9 ∼ bit7] MOD2 ∼ MOD0 (Mode)
動作モードを選択するビットです。カウントソースが「内部クロック」の場合と
「外部クロック」の場合で機能が変わります。
• 内部クロックモードのとき : リロードトリガ設定
外部クロックモードのとき : カウント有効エッジの設定
•
また , MOD2 は必ず "0" に設定してください。
[ 内部クロック選択時のリロードトリガ設定 ]
カウントソースとして , 内部クロックが選択されている場合は MOD2 ∼ MOD0 ビッ
トの設定により有効エッジが入力されるとリロードレジスタの内容をロードして
カウント動作を継続します。
MOD2
MOD1
MOD0
0
0
0
ソフトウェアトリガ ( 初期値 )
0
0
1
外部トリガ ( 立上りエッジ )
0
1
0
外部トリガ ( 立下りエッジ )
0
1
1
外部トリガ ( 両エッジ )
1
X
X
設定禁止
有効エッジ
X : 不定
[ 外部クロック選択時の有効エッジ設定 ]
カウントソースとして , 外部クロックイベントが設定されている場合は MOD2 ∼
MOD0 ビットの設定により有効エッジが入力されるとイベントをカウントします。
MOD2
MOD1
MOD0
有効エッジ
X
0
0
−
X
0
1
外部トリガ ( 立上りエッジ )
X
1
0
外部トリガ ( 立下りエッジ )
X
1
1
外部トリガ ( 両エッジ )
X
X
X
設定禁止
X : 不定
外部イベント時のリロードは , アンダフローとソフトウェアトリガで発生します。
[bit6] 未使用ビット
常に "0" が読み出されます。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
193
第 8 章 16 ビットリロードタイマ
8.3 16 ビットリロードタイマのレジスタ
MB91220 シリーズ
[bit5] OUTL
外部タイマ出力レベルを設定するビットです。本ビットが "0" のときと "1" のとき
では出力レベルが逆になります。
[bit4] RELD
リロード許可ビットです。"1" のときリロードモードになり , カウンタの値が "0000H" →
"FFFFH" へのアンダフローと同時にリロードレジスタの内容をカウンタへロードしてカ
ウント動作を続けます。
"0" のときワンショットモードになり , カウンタの値が "0000H" → "FFFFH" へのアン
ダフローによりカウント動作を停止します。
PFRG:PGx
OUTL
RELD
0
X
X
出力禁止
1
0
0
カウント中 "H" の矩形波
1
1
0
カウント中 "L" の矩形波
1
0
1
カウントスタート時 "L" のトグル出力
1
1
1
カウントスタート時 "H" のトグル出力
出力波形
X : 不定
PFRG:PGx は , PFRG(Port Function Register) 中の PG1 ∼ PG3 を示します。
[bit3] INTE
割込み要求許可ビットです。"1" のとき UF ビットが "1" になると割込み要求を発生
します。"0" のときは割込み要求を発生しません。
[bit2] UF
タイマ割込み要求フラグです。カウンタの値が "0000H" → "FFFFH" へのアンダフ
ローにより "1" にセットされます。"0" の書込みによってクリアされます。
このビットへの "1" 書込みは意味がありません。
リードモディファイライト(RMW)系命令における読出しでは, "1"が読み出されます。
[bit1] CNTE
タイマのカウントイネーブルビットです。このビットに "1" を書き込むと起動トリ
ガ待ち状態になります。"0" 書込みによりカウント動作は停止します。
[bit0] TRG
ソフトウェアトリガビットです。"1" 書込みによりソフトウェアトリガがかかり , リ
ロードレジスタの内容をカウンタへロードしてカウント動作を開始します。
"0" 書込みは意味を持ちません。読出し値は常に "0" です。
本レジスタによるトリガ入力は , CNTE=1 のときのみ有効となります。CNTE=0 の
ときには何も起こりません。
194
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 8 章 16 ビットリロードタイマ
8.3 16 ビットリロードタイマのレジスタ
MB91220 シリーズ
■ 16 ビットタイマレジスタ (TMR)
図 8.3-2 16 ビットタイマレジスタ (TMR) のビット構成
16 ビットタイマレジスタ (TMR) ( アクセス:Half-word)
アドレス
bit15
ch.0:0000004AH
ch.1:00000052H
ch.2:0000005AH
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
XXXXXXXX
B
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
XXXXXXXX
B
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
16 ビットタイマのカウント値を読み出すことができるレジスタです。初期値は不定で
す。
本レジスタの読出しは必ず 16 ビットデータ転送命令で行ってください。
■ 16 ビットリロードレジスタ (TMRLR)
図 8.3-3 16 ビットリロードレジスタ (TMRLR) のビット構成
16 ビットリロードレジスタ (TMRLR) ( アクセス:Half-word)
アドレス
bit15
ch.0:00000048H
ch.1:00000050H
ch.2:00000058H
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
XXXXXXXX
B
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
XXXXXXXX
B
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
本レジスタは , カウントの初期値を保持しておくためのレジスタです。初期値は不定で
す。
本レジスタの書込みは必ず 16 ビットデータ転送命令で行ってください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
195
第 8 章 16 ビットリロードタイマ
8.4 リロードタイマの動作
8.4
MB91220 シリーズ
リロードタイマの動作
リロードタイマの以下の動作について説明します。
• 内部クロック動作
• アンダフロー動作
■ 内部クロック動作
内部クロックの分周クロックでタイマを動作させる場合 , カウントソースとして周辺
クロックの 2・8・32 分周のクロックから選択することができます。
カウント許可と同時にカウント動作を開始したい場合は , コントロールステータスレ
ジスタの CNTE ビットと TRG ビットの両方に "1" を書き込んでください。
TRG ビットによるトリガ入力は , タイマが起動状態 (CNTE = 1) のとき動作モードにか
かかわらず常に有効です。
カウンタスタートのトリガが入力されてからリロードレジスタのデータがカウンタへ
ロードされるまでに T( 周辺クロックサイクル ) の時間がかかります。
図 8.4-1 カウンタの起動および動作
カウントクロック
カウンタ
リロードデータ
-1
-1
-1
データロード
CNTE(レジスタ)
TRG(レジスタ)
T
■ アンダフロー動作
カウンタの値が "0000H" から "FFFFH" になるときをアンダフローとしています。
したがっ
て , 〔リロードレジスタの設定値+ 1〕カウントでアンダフローが発生します。
アンダフロー発生時コントロールレジスタの RELD ビットが "1" のときリロードレジ
スタの内容をカウンタへロードしてカウント動作を継続します。RELD ビットが "0" の
ときカウンタは , "FFFFH" で停止します。
図 8.4-2 アンダフロー動作
カウントクロック
カウンタ
0000H
リロードデータ
-1
-1
-1
データロード
アンダフローセット
[RELD=1]
カウントクロック
カウンタ
0000H
FFFFH
アンダフローセット
[RELD=0]
196
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 8 章 16 ビットリロードタイマ
8.4 リロードタイマの動作
MB91220 シリーズ
■ 出力端子機能
TOT0 ∼ TOT2 出力端子は , リロードモード時はアンダフローにより反転するトグル出
力として , ワンショットモード時はカウント中を示すパルス出力として機能します。出
力極性はレジスタの OUTL ビットにより設定できます。OUTL=0 のとき , トグル出力
は初期値が "0" で , ワンショットパルス出力はカウント中 "1" を出力します。OUTL=1
にすると出力波形は反転します。
図 8.4-3 出力端子機能 [RELD=1, OUTL=0]
カウント開始
アンダフロー
OUTL=1のときは反転
TOT0~TOT2
汎用ポート
CNTE
起動トリガ
図 8.4-4 出力端子機能 [RELD=0, OUTL=0]
カウント開始
アンダフロー
TOT0~TOT2
OUTL=1で反転
汎用ポート
CNTE
起動トリガ
起動トリガ待ち状態
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
197
第 8 章 16 ビットリロードタイマ
8.4 リロードタイマの動作
MB91220 シリーズ
■ カウンタの動作状態
カウンタの状態は , コントロールレジスタの CNTE ビットと内部信号の WAIT 信号に
よって決まります。設定可能な状態として CNTE=0, WAIT=1 の停止状態 (STOP 状態 ),
CNTE=1, WAIT=1 の起動トリガ待ち状態 (WAIT 状態 ), CNTE=1, WAIT=0 の動作状態
(RUN 状態 ) があります。
図 8.4-5 カウンタ状態遷移
ハードウェアによる状態遷移
リセット
レジスタアクセスによる状態遷移
STOP CNTE=0,WAIT=1
カウンタ:停止時の値を保持
リセット直後は不定
CNTE=1
TRG=1
CNTE=1
TRG=0
RUN CNTE=1,WAIT=0
WAIT CNTE=1,WAIT=1
カウンタ停止時の値を保持
リセット直後ロードするま
では不定
RELD/UF
TRG=1
カウンタ:動作
TRG=1
LOAD CNTE=1,WAIT=0
リロードレジスタの内
容をカウンタへロード
RELD/UF
ロード終了
■ その他
リロードタイマの ch.2 の TOT2 出力は , LSI 内部で A/D コンバータに接続されていま
す。したがって , リロードレジスタに設定された周期で A/D 変換を起動することがで
きます。
■ 注意事項
• 内部プリスケーラは , コントロールステータスレジスタの bit1( タイマ許可 :CNTE) が
"1" に設定されている状態でトリガ ( ソフトウェアトリガあるいは外部トリガ ) がか
けられることにより動作可能になります。
• 割込み要求フラグセットタイミングとクリアタイミングが重複した場合にはフラ
グセットが優先し , クリア動作は無効になります。
• 16 ビットタイマリロードレジスタへの書込みと , リロードのタイミングが重なった
場合には , 旧データがカウンタにロードされ , 新データがカウンタにロードされる
のは次のリロードのタイミングとなります。
• 16 ビットタイマレジスタはロードとカウントのタイミングが重複した場合には , ロー
ド ( リロード ) 動作が優先されます。
198
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第9章
PPG
PPG の概要 , レジスタの構成 , 機能および PPG の
動作について説明します。
CM71-10142-5
9.1
PPG の概要
9.2
PPG のブロックダイヤグラム
9.3
PPG のレジスタ
9.4
PPG の動作説明
FUJITSU SEMICONDUCTOR LIMITED
199
第 9 章 PPG
9.1 PPG の概要
9.1
MB91220 シリーズ
PPG の概要
PPG は , 8 ビットのリロードタイマモジュールで , タイマ動作に応じたパルス出力制
御により , PPG 出力を行います。
ハードウェアとして , 8 ビットダウンカウンタ 32 個 , 8 ビットリロードレジスタ 64
個 , 制御レジスタ , 外部パルス出力 16 本 , 割込み出力 16 本 ( 内 6 本はマルチプレク
ス ) を有します。
MB91220 シリーズは , 8 ビット PPG として 32 チャネル分 ( 波形出力可能なのは 16
チャネルのみ ), 16 ビット PPG として 16 チャネル分搭載しています。
■ PPG の機能
• 8 ビット PPG 出力独立動作モード
16 チャネルの独立した PPG 出力動作が可能です。
( 注意事項 ) MB91220 シリーズで LCDC を使用する場合は , 一部の奇数チャネル出
力 (PPG1, PPG3, PPG5, PPG7) は使用することができません。
• 16 ビット PPG 出力動作モード
16 チャネルの 16 ビットの PPG 出力動作が可能です。
• 8+8 ビット PPG 出力動作モード
ch.(n+1) の出力を ch.(n) のクロック入力とすることにより , 任意周期の 8 ビット PPG
出力動作が可能です。
• 16+16 ビット PPG 出力動作モード
ch.(n+3)+ch.(n+2) の 16 ビットプリスケーラ出力を ch.(n+1)+ch.(n) の 16 ビット PPG
のクロック入力とするモードです (n=0, 4, 8, 12, 16, 20, 24, 28)。
• PPG 出力動作
任意周期・デューティ比のパルス波を出力します。
外付け回路により , D/A コンバータとしても使用可能です。
• 出力反転機能
PPG の出力値を反転させることが可能です。
200
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 9 章 PPG
9.1 PPG の概要
MB91220 シリーズ
■ PPG のレジスタ一覧
図 9.1-1 PPG のレジスタ一覧
PPG 起動レジスタ (TRG0 ∼ TRG3) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
ch.0 ∼ ch.7:0001B1H PEN07 PEN06 PEN05 PEN04 PEN03 PEN02 PEN01 PEN00
アドレス
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
ch.8 ∼ ch.15:0001D0H PEN15 PEN14 PEN13 PEN12 PEN11 PEN10 PEN09 PEN08
アドレス
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit23
bit22
bit21
bit20
bit19
bit18
bit17
bit16
ch.16 ∼ ch.23:0004B1H PEN23 PEN22 PEN21 PEN20 PEN19 PEN18 PEN17 PEN16
アドレス
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit31
bit30
bit29
bit28
bit27
bit26
bit25
bit24
ch.24 ∼
PEN31 PEN30 PEN29 PEN28 PEN27 PEN26 PEN25 PEN24
ch.31:0004D0H
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit1
bit0
初期値
00000000B
初期値
00000000B
初期値
00000000B
初期値
00000000B
出力反転レジスタ (REVC0 ∼ REVC3) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
ch.0 ∼ ch.7:0001B3H REV07 REV06 REV05 REV04 REV03 REV02 REV01 REV00
アドレス
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
ch.8 ∼ ch.15:0001D2H REV15 REV14 REV13 REV12 REV11 REV10 REV09 REV08
アドレス
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit23
bit22
bit21
bit20
bit19
bit18
bit17
bit16
ch.16 ∼ ch.23:0004B3H REV23 REV22 REV21 REV20 REV19 REV18 REV17 REV16
アドレス
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit31
bit30
bit29
bit28
bit27
bit26
bit25
bit24
ch.24 ∼
REV31 REV30 REV29 REV28 REV27 REV26 REV25 REV24
ch.31:0004D2H
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
00000000B
初期値
00000000B
初期値
00000000B
初期値
00000000B
R/W
( 続く )
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
201
第 9 章 PPG
9.1 PPG の概要
MB91220 シリーズ
( 続き )
PPG0 ∼ PPG31 動作モード制御レジスタ (PPGC0 ∼ PPGCV) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit7
ch. 0:0001BCH PPGC0
ch. 1:0001BDH PPGC1
ch. 2:0001BEH PPGC2
ch. 3:0001BFH PPGC3
ch. 4:0001C8H PPGC4
ch. 5:0001C9H PPGC5
ch. 6:0001CAH PPGC6
ch. 7:0001CBH PPGC7
ch. 8:0001DCH PPGC8
ch. 9:0001DDH PPGC9
ch.10:0001DEH PPGCA
ch.11:0001DFH PPGCB
ch.12:0001E8H PPGCC
ch.13:0001E9H PPGCD
ch.14:0001EAH PPGCE
ch.15:0001EBH PPGCF
ch.16:0004BCH PPGCG
ch.17:0004BDH PPGCH
ch.18:0004BEH PPGCI
ch.19:0004BFH PPGCJ
ch.20:0004C8H PPGCK
ch.21:0004C9H PPGCL
ch.22:0004CAH PPGCM
ch.23:0004CBH PPGCN
ch.24:0004DCH PPGCO
ch.25:0004DDH PPGCP
ch.26:0004DEH PPGCQ
ch.27:0004DFH PPGCR
ch.28:0004E8H PPGCS
ch.29:0004E9H PPGCT
ch.30:0004EAH PPGCU
ch.31:0004EBH PPGCV
PIEn
PUFn
INTMn
PCS1
PCS0
MD1 *
MD0 *
−
R/W
R(RM1),W
R/W
R/W
R/W
R/W
R/W
RX,W0
R/W
R(RM1),W
R/W
R/W
R/W
偶数
チャネル
奇数
チャネル
RX,WX RX,WX RX,W0
初期値
偶数チャネル 0000000XB
奇数チャネル 00000XXXB
n = 0 ∼ 9, A ∼ V
* : MD1, MD0 は , 偶数チャネルのみ存在し , 奇数チャネルには存在し
ません。奇数チャネルの初期値は不定です。ライトは意味があり
ません。
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
202
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 9 章 PPG
9.1 PPG の概要
MB91220 シリーズ
● リロードレジスタ : 8 ビット PPG モード
リロードレジスタ H (PRLH0 ∼ PRLHV) ( アクセス:Byte, Half-word, Word)
アドレス
ch. 0:0001B4H PRLH0
ch. 1:0001B6H PRLH1
ch. 2:0001B8H PRLH2
ch. 3:0001BAH PRLH3
ch. 4:0001C0H PRLH4
ch. 5:0001C2H PRLH5
ch. 6:0001C4H PRLH6
ch. 7:0001C6H PRLH7
ch. 8:0001D4H PRLH8
ch. 9:0001D6H PRLH9
ch.10:0001D8H PRLHA
ch.11:0001DAH PRLHB
ch.12:0001E0H PRLHC
ch.13:0001E2H PRLHD
ch.14:0001E4H PRLHE
ch.15:0001E6H PRLHF
ch.16:0004B4H PRLHG
ch.17:0004B6H PRLHH
ch.18:0004B8H PRLHI
ch.19:0004BAH PRLHJ
ch.20:0004C0H PRLHK
ch.21:0004C2H PRLHL
ch.22:0004C4H PRLHM
ch.23:0004C6H PRLHN
ch.24:0004D4H PRLHO
ch.25:0004D6H PRLHP
ch.26:0004D8H PRLHQ
ch.27:0004DAH PRLHR
ch.28:0004E0H PRLHS
ch.29:0004E2H PRLHT
ch.30:0004E4H PRLHU
ch.31:0004E6H PRLHV
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
リロードレジスタ L (PRLL0 ∼ PRLLV) ( アクセス:Byte, Half-word, Word)
アドレス
ch. 0:0001B5H PRLL0
ch. 1:0001B7H PRLL1
ch. 2:0001B9H PRLL2
ch. 3:0001BBH PRLL3
ch. 4:0001C1H PRLL4
ch. 5:0001C3H PRLL5
ch. 6:0001C5H PRLL6
ch. 7:0001C7H PRLL7
ch. 8:0001D5H PRLL8
ch. 9:0001D7H PRLL9
ch.10:0001D9H PRLLA
ch.11:0001DBH PRLLB
ch.12:0001E1H PRLLC
ch.13:0001E3H PRLLD
ch.14:0001E5H PRLLE
ch.15:0001E7H PRLLF
ch.16:0004B5H PRLLG
ch.17:0004B7H PRLLH
ch.18:0004B9H PRLLI
ch.19:0004BBH PRLLJ
ch.20:0004C1H PRLLK
ch.21:0004C3H PRLLL
ch.22:0004C5H PRLLM
ch.23:0004C7H PRLLN
ch.24:0004D5H PRLLO
ch.25:0004D7H PRLLP
ch.26:0004D9H PRLLQ
ch.27:0004DBH PRLLR
ch.28:0004E1H PRLLS
ch.29:0004E3H PRLLT
ch.30:0004E5H PRLLU
ch.31:0004E7H PRLLV
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
XXXXXXXXB
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
203
第 9 章 PPG
9.1 PPG の概要
MB91220 シリーズ
● リロードレジスタ : 16 ビット PPG モード
リロードレジスタ H (PRLH0, PRLH2, PRLH4, PRLH6, PRLH8, PRLHA, PRLHC, PRLHE, PRLHG,
PRLHI, PRLHK, PRLHM, PRLHO, PRLHQ, PRLHS, PRLHU)
( アクセス:Byte, Half-word, Word)
アドレス
ch. 0&1 :0001B4H PRLH0
ch. 2&3 :0001B8H PRLH2
ch. 4&4 :0001C0H PRLH4
ch. 6&7 :0001C4H PRLH6
ch. 8&9 :0001D4H PRLH8
ch.10&11:0001D8H PRLHA
ch.12&13:0001E0H PRLHC
ch.14&15:0001E4H PRLHE
ch.16&17:0004B4H PRLHG
ch.18&19:0004B8H PRLHI
ch.20&21:0004C0H PRLHK
ch.22&23:0004C4H PRLHM
ch.24&25:0004D4H PRLHO
ch.26&27:0004D8H PRLHQ
ch.28&29:0004E0H PRLHS
ch.30&31:0004E4H PRLHU
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
リロードレジスタ L (PRLH1, PRLH3, PRLH5, PRLH7, PRLH9, PRLHB, PRLHD, PRLHF, PRLHH,
PRLHJ, PRLHL, PRLHN, PRLHP, PRLHR, PRLHT, PRLHV)
( アクセス:Byte, Half-word, Word)
アドレス
ch. 0&1 :0001B6H PRLH1
ch. 2&3 :0001BAH PRLH3
ch. 4&5 :0001C2H PRLH5
ch. 6&7 :0001C6H PRLH7
ch. 8&9 :0001D6H PRLH9
ch.10&11:0001DAH PRLHB
ch.12&13:0001E2H PRLHD
ch.14&15:0001E6H PRLHF
ch.16&17:0004B6H PRLHH
ch.18&19:0004BAH PRLHJ
ch.20&21:0004C2H PRLHL
ch.22&23:0004C6H PRLHN
ch.24&25:0004D6H PRLHP
ch.26&27:0004DAH PRLHR
ch.28&29:0004E2H PRLHT
ch.30&31:0004E6H PRLHV
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
204
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 9 章 PPG
9.2 PPG のブロックダイヤグラム
MB91220 シリーズ
9.2
PPG のブロックダイヤグラム
PPG のブロックダイヤグラムを示します。
■ 8 ビット PPG ch.0, ch.2, ch.4, ch.6, ch.8, ch.10, ch.12, ch.14, ch.16, ch.18,
ch.20, ch.22, ch.24, ch.26, ch.28, ch.30 のブロックダイヤグラム
図 9.2-1 8 ビット PPG ch.0, ch.2, ch.4, ch.6, ch.8, ch.10, ch.12, ch.14, ch.16, ch.18, ch.20, ch.22,
ch.24, ch.26, ch.28, ch.30 のブロックダイヤグラム
ch.(n+1)のボロー
周辺クロックの64分周
周辺クロックの16分周
周辺クロックの4分周
周辺クロック
PPG
出力ラッチ
反転
クリア
PEN(n+1)
カウントクロック
選択
S
R Q
PCNT(ダウンカウンタ)
IRQn
リロード
"H"/"L"セレクト
"H"/"L"セレクタ
PRLLn
PIEn
PRLHn
PUFn
"L"側データバス
"H"側データバス
PPGCn / TRG
n = 0, 2, 4, 6, 8, A, C, E, G, I, K, M, O, Q, S, U
CM71-10142-5
動作モード
(制御)
FUJITSU SEMICONDUCTOR LIMITED
205
第 9 章 PPG
9.2 PPG のブロックダイヤグラム
MB91220 シリーズ
■ 8ビットPPG ch.1, ch.5, ch.9, ch.13, ch.17, ch.21, ch.25, ch.29 のブロックダイヤ
グラム
図 9.2-2 8 ビット PPG ch.1, ch.5, ch.9, ch.13, ch.17, ch.21, ch.25, ch.29 のブロックダイヤグラム
ch.(n+1)のボロー
周辺クロックの64分周
周辺クロックの16分周
周辺クロックの4分周
周辺クロック
ポートへ
PPG
出力ラッチ
反転
クリア
PENn
S
R Q
カウントクロック
選択
IRQn
PCNT(ダウンカウンタ)
ch.(n-1)
のボロー
リロード
"H"/"L"セレクト
"H"/"L"セレクタ
PUFn
PRLLn
PIEn
PRLHn
"L"側データバス
"H"側データバス
PPGCn / TRG
n = 1, 5, 9, D, H, L, P, T
206
動作モード
(制御)
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 9 章 PPG
9.2 PPG のブロックダイヤグラム
MB91220 シリーズ
■ 8 ビット PPG ch.3, ch.7, ch.11, ch.15, ch.19, ch.23, ch.27, ch.31 のブロックダイ
ヤグラム
図 9.2-3 8 ビット PPG ch.3, ch.7, ch.11, ch.15, ch.19, ch.23, ch.27, ch.31 のブロックダイヤグラム
ポートへ
周辺クロックの64分周
周辺クロックの16分周
周辺クロックの4分周
周辺クロック
PPG
出力ラッチ
反転
クリア
PENn
S
R Q
カウントクロック
選択
IRQn
PCNT(ダウンカウンタ)
ch.(n-1)
のボロー
リロード
"H"/"L"セレクト
"H"/"L"セレクタ
PUFn
PRLLn
PIEn
PRLHn
"L"側データバス
"H"側データバス
PPGCn / TRG
n = 3, 7, B, F, J, N, R, V
CM71-10142-5
動作モード
(制御)
FUJITSU SEMICONDUCTOR LIMITED
207
第 9 章 PPG
9.2 PPG のブロックダイヤグラム
MB91220 シリーズ
図 9.2-4 8 ビット PPG 2 チャネル独立モードでの ch.0, ch.1
ch.0
ch.0
カウント
クロック
リロード
8ビットダウンカウンタ
"H" 側
リロード値
"L" 側
リロード値
PRLH0
出力ラッチ
割込みラッチ
ポートから
出力されない
IRQ0L
PRLL0
ch.1
ch.1
カウント
クロック
リロード
8ビットダウンカウンタ
"H" 側
リロード値
"L" 側
リロード値
PRLH1
出力ラッチ
割込みラッチ
PPG0H 出力
IRQ0H
PRLL1
図 9.2-5 8 ビットプリスケーラ+ 8 ビット PPG モードでの ch.0, ch.1
ch.0
リロード
8ビットダウンカウンタ
"H" 側
リロード値
"L" 側
リロード値
PRLH0
出力ラッチ
割込みラッチ
ポートから
出力されない
IRQ0L
PRLL0
ch.1
ch.1
カウント
クロック
"H" 側
リロード値
PRLH1
208
リロード
8ビットダウンカウンタ
"L" 側
リロード値
出力ラッチ
割込みラッチ
PPG0H 出力
IRQ0H
PRLL1
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 9 章 PPG
9.2 PPG のブロックダイヤグラム
MB91220 シリーズ
図 9.2-6 16 ビット PPG モードでの ch.0, ch.1, ch.2, ch.3
ch.0 & ch.1
ch.1
カウント
クロック
リロード
16ビットダウンカウンタ
"H" 側
リロード値
PRLH0
"L" 側
リロード値
PRLL0
PRLH1
出力ラッチ
割込みラッチ
PPG0H 出力
IRQ0H
PRLL1
ch.2 & ch.3
ch.3
カウント
クロック
リロード
16ビットダウンカウンタ
"H" 側
リロード値
PRLH2
"L" 側
リロード値
PRLL2
PRLH3
出力ラッチ
割込みラッチ
PPG1H出力
IRQ1H
PRLL3
図 9.2-7 16 ビットプリスケーラ+ 16 ビット PPG モードでの ch.0, ch.1, ch.2, ch.3
ch.0 & ch.1
リロード
16ビットダウンカウンタ
"H" 側
リロード値
PRLH0
"L" 側
リロード値
PRLL0
PRLH1
出力ラッチ
割込みラッチ
PPG0H 出力
IRQ0H
PRLL1
ch.2 & ch.3
ch.3
カウント
クロック
"H" 側
リロード値
PRLH2
CM71-10142-5
リロード
16ビットダウンカウンタ
"L" 側
リロード値
PRLL2
PRLH3
出力ラッチ
割込みラッチ
PPG1H 出力
IRQ1H
PRLL3
FUJITSU SEMICONDUCTOR LIMITED
209
第 9 章 PPG
9.2 PPG のブロックダイヤグラム
MB91220 シリーズ
表 9.2-1 図 9.2-4 ∼ 9.2-7 と他の 28 チャネルとの対応表
ch.0, ch.1,
ch.2, ch.3
ch.4, ch.5, ch.8, ch.9, ch.12, ch.13, ch.16, ch.17, ch.20, ch.21, ch.24, ch.25, ch.28, ch.29,
ch.6, ch.7 ch.10, ch.11 ch.14, ch.15 ch.18, ch.19 ch.22, ch.23 ch.26, ch.27 ch.30, ch.31
PRLH0
PRLH4
8
C
G
K
O
S
PRLL0
PRLL4
8
C
G
K
O
S
PRLH1
PRLH5
9
D
H
L
P
T
PRLL1
PRLL5
9
D
H
L
P
T
PRLH2
PRLH6
A
E
I
M
Q
U
PRLL2
PRLL6
A
E
I
M
Q
U
PRLH3
PRLH7
B
F
J
N
R
V
PRLL3
PRLL7
B
F
J
N
R
V
PPG0L 出力 PPG2L 出力
4
6
8
10
12
14
PPG0H 出力 PPG2H 出力
4
6
8
10
12
14
IRQ0L
IRQ2L
4
6
8
10
12
14
IRQ0H
IRQ2H
4
6
8
10
12
14
PPG1L 出力 PPG3L 出力
5
7
9
11
13
15
PPG1H 出力 PPG3H 出力
5
7
9
11
13
15
IRQ1L
IRQ3L
5
7
9
11
13
15
IRQ1H
IRQ3H
5
7
9
11
13
15
210
FUJITSU SEMICONDUCTOR LIMITED
ポートから
出力されない
ポートから
出力されない
CM71-10142-5
第 9 章 PPG
9.3 PPG のレジスタ
MB91220 シリーズ
PPG のレジスタ
9.3
PPG のレジスタの詳細を説明します。
■ PPGCn レジスタ (PPGn 動作モード制御レジスタ ) n=0 ∼ 9, A ∼ V
図 9.3-1 PPG0 ∼ PPG31 動作モード制御レジスタ (PPGC0 ∼ PPGCV) のビット構成
PPG0 ∼ PPG31 動作モード制御レジスタ (PPGC0 ∼ PPGCV) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit7
ch. 0:0001BCH PPGC0
ch. 1:0001BDH PPGC1
ch. 2:0001BEH PPGC2
ch. 3:0001BFH PPGC3
ch. 4:0001C8H PPGC4
ch. 5:0001C9H PPGC5
ch. 6:0001CAH PPGC6
ch. 7:0001CBH PPGC7
ch. 8:0001DCH PPGC8
ch. 9:0001DDH PPGC9
ch.10:0001DEH PPGCA
ch.11:0001DFH PPGCB
ch.12:0001E8H PPGCC
ch.13:0001E9H PPGCD
ch.14:0001EAH PPGCE
ch.15:0001EBH PPGCF
ch.16:0004BCH PPGCG
ch.17:0004BDH PPGCH
ch.18:0004BEH PPGCI
ch.19:0004BFH PPGCJ
ch.20:0004C8H PPGCK
ch.21:0004C9H PPGCL
ch.22:0004CAH PPGCM
ch.23:0004CBH PPGCN
ch.24:0004DCH PPGCO
ch.25:0004DDH PPGCP
ch.26:0004DEH PPGCQ
ch.27:0004DFH PPGCR
ch.28:0004E8H PPGCS
ch.29:0004E9H PPGCT
ch.30:0004EAH PPGCU
ch.31:0004EBH PPGCV
PIEn
PUFn
INTMn
PCS1
PCS0
MD1 *
MD0 *
−
R/W
R(RM1),W
R/W
R/W
R/W
R/W
R/W
RX,W0
R/W
R(RM1),W
R/W
R/W
R/W
偶数
チャネル
奇数
チャネル
RX,WX RX,WX RX,W0
初期値
偶数チャネル 0000000XB
奇数チャネル 00000XXXB
n = 0 ∼ 9, A ∼ V
* : MD1, MD0 は , 偶数チャネルのみ存在し , 奇数チャネルには存在し
ません。奇数チャネルの初期値は不定です。ライトは意味があり
ません。
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit7] PIEn(Ppg Interrupt Enable) : PPG 割込み許可ビット
PPG の割込み許可を以下のように制御します。
0
割込み禁止
1
割込み許可
• 本ビットが "1" のとき , PUFn が "1" になると割込み要求が発生します。
• 本ビットが "0" のときは , 割込み要求を発生しません。
• リセットにより , "0" に初期化されます。
• 読出しおよび書込みが可能です。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
211
第 9 章 PPG
9.3 PPG のレジスタ
MB91220 シリーズ
[bit6] PUFn(Ppg Underflow Flag) : PPG カウンタアンダフロービット
PPG カウンタアンダフロービットを以下のように制御します。
0
PPG のカウンタアンダフローを検出していません
1
PPG のカウンタアンダフローを検出しました
• 8 ビット PPG 2 チャネルモードおよび 8 ビットプリスケーラ+ 8 ビット PPG モー
ド時には , ch.0 のカウント値が "00H" から "FFH" になったときのアンダフローに
より "1" にセットされます。
• 16 ビット PPG 1 チャネルモード時には , ch.1/ch.0 のカウント値が "0000H" から
"FFFFH" になったときのアンダフローにより "1" にセットされます。
• "0" 書込みにより , "0" になります。
• このビットへの "1" 書込みは意味がありません。
• リードモディファイライト(RMW)系命令での読出し時は, "1"が読み出されます。
• リセットにより , "0" に初期化されます。
• 読出しおよび書込みが可能です。
[bit5] INTMn(Interrupt Mode) : 割込みモードビット
PUFn のビットの検出を PRLHn からのアンダフロー時のみに限定することができま
す。
0
アンダフロー時 , PUFn を "1" にする
1
PRLHn からのアンダフロー時のみ , PUFn を "1" にする
• リセットにより , "0" に初期化されます。
• 読出しおよび書込みが可能です。
• 本ビットを "1" にすると , PPG の波形の一周期出力時に割込みをかけることが可
能となります。
• 本ビットは , 割込み許可時に書き換えないでください。
[bit4, bit3] PCS1/PCS0(Ppg Count Select) : カウントクロック選択ビット
ダウンカウンタの動作クロックを以下のように選択します。
PCS1
PCS0
0
0
周辺クロック
0
1
周辺クロック /4 (250ns 周辺クロック 16MHz 時 )
1
0
周辺クロック /16 ( 1μs 周辺クロック 16MHz 時 )
1
1
周辺クロック /64 ( 4μs 周辺クロック 16MHz 時 )
動作モード
(62.5ns 周辺クロック 16MHz 時 )
• リセットにより , "00B" に初期化されます。
• 読出しおよび書込みが可能です。
212
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 9 章 PPG
9.3 PPG のレジスタ
MB91220 シリーズ
[bit2, bit1] MD1/MD0(ppg count MoDe) : 動作モード選択ビット
PPG タイマの動作モードを以下のように選択します。
MD1
MD0
0
0
8 ビット PPG 2 チャネル独立モード
0
1
8 ビットプリスケーラ+ 8 ビット PPG モード
1
0
16 ビット PPG モード
1
1
16 ビットプリスケーラ+ 16 ビット PPG モード
動作モード
• リセットにより , "00B" に初期化されます。
• 読出しおよび書込みが可能です。
• 本ビットは偶数チャネルのみに存在します。
[bit0] reserved bit
予約ビットです。書込み時は "0" を書き込んでください ("1" 書込み禁止 )。
読出し値は不定です。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
213
第 9 章 PPG
9.3 PPG のレジスタ
MB91220 シリーズ
■ PRLL/PRLH レジスタ ( リロードレジスタ : PRLL0 ∼ PRLLV/PRLH0 ∼ PRLHV)
図 9.3-2 リロードレジスタ (PRLH/PRLL) のビット構成
リロードレジスタ H (PRLH0 ∼ PRLHV) ( アクセス:Byte, Half-word, Word)
アドレス
ch. 0:0001B4H PRLH0
ch. 1:0001B6H PRLH1
ch. 2:0001B8H PRLH2
ch. 3:0001BAH PRLH3
ch. 4:0001C0H PRLH4
ch. 5:0001C2H PRLH5
ch. 6:0001C4H PRLH6
ch. 7:0001C6H PRLH7
ch. 8:0001D4H PRLH8
ch. 9:0001D6H PRLH9
ch.10:0001D8H PRLHA
ch.11:0001DAH PRLHB
ch.12:0001E0H PRLHC
ch.13:0001E2H PRLHD
ch.14:0001E4H PRLHE
ch.15:0001E6H PRLHF
ch.16:0004B4H PRLHG
ch.17:0004B6H PRLHH
ch.18:0004B8H PRLHI
ch.19:0004BAH PRLHJ
ch.20:0004C0H PRLHK
ch.21:0004C2H PRLHL
ch.22:0004C4H PRLHM
ch.23:0004C6H PRLHN
ch.24:0004D4H PRLHO
ch.25:0004D6H PRLHP
ch.26:0004D8H PRLHQ
ch.27:0004DAH PRLHR
ch.28:0004E0H PRLHS
ch.29:0004E2H PRLHT
ch.30:0004E4H PRLHU
ch.31:0004E6H PRLHV
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
リロードレジスタ L (PRLL0 ∼ PRLLV) ( アクセス:Byte, Half-word, Word)
アドレス
ch. 0:0001B5H PRLL0
ch. 1:0001B7H PRLL1
ch. 2:0001B9H PRLL2
ch. 3:0001BBH PRLL3
ch. 4:0001C1H PRLL4
ch. 5:0001C3H PRLL5
ch. 6:0001C5H PRLL6
ch. 7:0001C7H PRLL7
ch. 8:0001D5H PRLL8
ch. 9:0001D7H PRLL9
ch.10:0001D9H PRLLA
ch.11:0001DBH PRLLB
ch.12:0001E1H PRLLC
ch.13:0001E3H PRLLD
ch.14:0001E5H PRLLE
ch.15:0001E7H PRLLF
ch.16:0004B5H PRLLG
ch.17:0004B7H PRLLH
ch.18:0004B9H PRLLI
ch.19:0004BBH PRLLJ
ch.20:0004C1H PRLLK
ch.21:0004C3H PRLLL
ch.22:0004C5H PRLLM
ch.23:0004C7H PRLLN
ch.24:0004D5H PRLLO
ch.25:0004D7H PRLLP
ch.26:0004D9H PRLLQ
ch.27:0004DBH PRLLR
ch.28:0004E1H PRLLS
ch.29:0004E3H PRLLT
ch.30:0004E5H PRLLU
ch.31:0004E7H PRLLV
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
214
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 9 章 PPG
9.3 PPG のレジスタ
MB91220 シリーズ
ダウンカウンタ PCNT へのリロード値を保持するレジスタです。それぞれ , 以下に示
す役割を持っています。
レジスタ名
機能
PRLL
"L" 側リロード値保持
PRLH
"H" 側リロード値保持
どのレジスタも , 読出しおよび書込みが可能です。
<注意事項>
8 ビットプリスケーラ+ 8 ビット PPG モードおよび 16 ビットプリスケーラ+ 16 ビット
PPG モードで使用する場合には , プリスケーラ側の PRLL と PRLH に異なる値を設定す
ると, PPG波形がサイクルごとに異なる場合があるので, プリスケーラ側のPRLLとPRLH
は , 同じ値に設定することを推奨します。
16 ビット PPG で使われる場合は , 例えば , ch.0 + ch.1 の使用する場合のリロードアドレス
の "H" 側アドレスは , 1B4H + 1B5H, "L" 側アドレスは 1B6H + 1B7H になります。よって "H"
カウント値 = 1234H, "L" カウント値 = 5678H の場合は ,
CM71-10142-5
1B4H: 00010010B
1B5H: 00110100B
1B6H: 01010110B
1B7H: 01111000B になります。
FUJITSU SEMICONDUCTOR LIMITED
215
第 9 章 PPG
9.3 PPG のレジスタ
MB91220 シリーズ
■ PPG 起動レジスタ (TRG0 ∼ TRG3)
図 9.3-3 PPG 起動レジスタ (TRG0 ∼ TRG3) のビット構成
PPG 起動レジスタ (TRG0 ∼ TRG3) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
初期値
bit0
ch.0 ∼ ch.7:0001B1H PEN07 PEN06 PEN05 PEN04 PEN03 PEN02 PEN01 PEN00
アドレス
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
ch.8 ∼ ch.15:0001D0H PEN15 PEN14 PEN13 PEN12 PEN11 PEN10 PEN09 PEN08
アドレス
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit23
bit22
bit21
bit20
bit19
bit18
bit17
bit16
ch.16 ∼ ch.23:0004B1H PEN23 PEN22 PEN21 PEN20 PEN19 PEN18 PEN17 PEN16
アドレス
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit31
bit30
bit29
bit28
bit27
bit26
bit25
bit24
ch.24 ∼ ch.31:0004D0H PEN31 PEN30 PEN29 PEN28 PEN27 PEN26 PEN25 PEN24
R/W
R/W
R/W
R/W
R/W
R/W
R/W
00000000B
00000000B
初期値
00000000B
初期値
00000000B
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit31 ∼ bit0] PEN31 ∼ PEN00 (Ppg ENable) : PPG 動作許可ビット
PPG の動作開始および動作モードを以下のように選択します。
PEN31 ∼ PEN00
動作状態
0
動作停止 ("L" レベル出力保持 )
1
PPG 動作許可
• リセットにより , "0" に初期化されます。
• 読出しおよび書込みが可能です。
• 16 ビット PPG で使用する場合は , 偶奇数両方の該当する PEN ビットを同じ設定
にする必要があります。レジスタ設定時に偶奇数同時に許可 / 停止をしてくださ
い。
216
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 9 章 PPG
9.3 PPG のレジスタ
MB91220 シリーズ
■ 出力反転レジスタ (REVC0 ∼ REVC3)
図 9.3-4 出力反転レジスタ (REVC0 ∼ REVC3) のビット構成
出力反転レジスタ (REVC0 ∼ REVC3) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
ch.0 ∼ ch.7:0001B3H REV07 REV06 REV05 REV04 REV03 REV02 REV01 REV00
アドレス
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
ch.8 ∼ ch.15:0001D2H REV15 REV14 REV13 REV12 REV11 REV10 REV09 REV08
アドレス
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit23
bit22
bit21
bit20
bit19
bit18
bit17
bit16
ch.16 ∼ ch.23:0004B3H REV23 REV22 REV21 REV20 REV19 REV18 REV17 REV16
アドレス
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit31
bit30
bit29
bit28
bit27
bit26
bit25
bit24
ch.24 ∼
REV31 REV30 REV29 REV28 REV27 REV26 REV25 REV24
ch.31:0004D2H
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
00000000B
初期値
00000000B
初期値
00000000B
初期値
00000000B
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit31 ∼ bit0] REV31 ∼ REV00 : 出力反転ビット
PPG の出力値を初期レベルも含めて反転します。
REV31 ∼ REV00
出力レベル
0
通常
1
反転
• リセットにより , "0" に初期化されます。
• 読出しおよび書込みが可能です。
• 単に , PPG 出力を反転するだけですので , 初期レベルも反転します。
また , リロードレジスタの "L", "H" の関係も逆になります。
• 16 ビット PPG で使う場合は , PPGnL と PPGnH (n=0 ∼ 15) どちらの端子からも同
じ波形が出るので , 使われる端子の REVn (n=0 ∼ 31) を設定するだけで使用可能
です。両方同じ設定を行っても問題ありません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
217
第 9 章 PPG
9.4 PPG の動作説明
9.4
MB91220 シリーズ
PPG の動作説明
PPG には 8 ビット長の PPG ユニットが 32 チャネルあり , 独立モード以外に , 連結
動作させることにより , 8 ビットプリスケーラ+ 8 ビット PPG モードと 16 ビット
PPG 1 チャネルモード , 16 ビットプリスケーラ+ 16 ビット PPG モードの計 4 種類
の動作を行うことができます。
8 ビット長の PPG ユニットそれぞれには , " L" 側と "H" 側の 2 本の 8 ビット長のリロー
ドレジスタがあります (PRLL, PRLH)。このレジスタに書き込まれた値が , 8 ビットダ
ウンカウンタ (PCNT) に "L" 側 /"H" 側交互にリロードされてカウントクロックごとに
ダウンカウントされ , カウンタのボロー発生によるリロード時に , 端子出力 (PPG) の値
を反転させます。この動作により , 端子出力 (PPG) はリロードレジスタ値に対応した
"L" 幅 /"H" 幅をもつパルス出力となります。
動作開始 / 再スタートは , レジスタのビット書込みによります。
リロード動作とパルス出力の関係を以下に示します。
リロード動作
端子出力変化
PRLH → PCNT
PPGnH [0 → 1]
PRLL → PCNT
PPGnH [1 → 0]
n = 0 ∼ 15
また , PPGCn レジスタの bit7:PIEn が "1" のとき , カウンタの "00H" から "FFH" へのボ
ロー (16 ビット PPG モードの場合には , "0000H" から "FFFFH" へのボロー ) によって割
込み要求が出力されます。
● 動作モードについて
本ブロックは , 独立モード , 8 ビットプリスケーラ+ 8 ビット PPG モード , 16 ビット
PPG 1 チャネルモードと 16 ビットプリスケーラ+ 16 ビット PPG モードの計 4 種類の
動作モードがあります。
• 独立モードは , 8 ビット PPG として独立に動作させる動作モードです。PPGnH 端子
は , ch.(2n+1) の PPG 出力が接続されます (n=0 ∼ 15)。
• 8 ビットプリスケーラ+ 8 ビット PPG モードは , 1 チャネルを 8 ビットプリスケー
ラとして動作させ , そのボロー出力でカウントすることにより , 任意周期の 8 ビッ
ト PPG 波形を出力できるようにする動作モードです。例えば , PPG0H 端子は ch.1 に
よる 8 ビットプリスケーラ出力が接続され , PPG0L 端子は ch.0 の PPG 出力が接続さ
れます。ただし , 偶数チャネルはポートから出力することができません。
• 16 ビット PPG 1 チャネルモードは , 2 つのチャネルを連結させ , 16 ビット PPG とし
て動作させる動作モードです。例えば , ch.0 と ch.1 を連結させると PPG0L 端子と
PPG0H 端子は , 両方とも 16 ビット PPG 出力が接続されます。
• 16 ビットプリスケーラ +16 ビット PPG モードは , 2 つのチャネルを連結させ , 16
ビット PPG とし , かつ残る 2 つのチャネルを連結させ , 16 ビットプリスケーラとし
て起動させる動作モードです。
218
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 9 章 PPG
9.4 PPG の動作説明
MB91220 シリーズ
● PPG 出力動作について
PPG は , TRG レジスタ (PPG 起動レジスタ ) の各チャネルのビットを "1" にセットする
ことによって起動され , カウントを開始します。動作を開始した後は , TRG レジスタの
各チャネルビットに "0" を書き込むことによってカウント動作を停止し , 停止した後 ,
パルス出力は "L" レベルを保持します。
8 ビットプリスケーラ+ 8 ビット PPG モードおよび 16 ビットプリスケーラ+ 16 ビッ
ト PPG モード時には , プリスケーラチャネルを停止状態で , PPG チャネルを動作状態
に設定しないでください。
16 ビット PPG モード時には , 各チャネルの TRG レジスタの PENn をそれぞれ同時に開
始 / 停止の制御を行ってください (n=0 ∼ 31)。
以下に PPG 出力動作について説明します。
PPG 動作時は , 任意周波数 / 任意デューティ比 ( パルス波の "H" レベル期間と "L" レベ
ル期間の比 ) のパルス波出力を連続して出力します。PPG はパルス波出力を開始する
と , 動作停止を設定するまで停止しません。
図 9.4-1 PPG 出力動作 出力波形
PENn
PENnにより
動作開始
("L"側から)
出力端子
PPG
T×(L+1)
T×(H+1)
スタート
T×(L+1)
L:PRLLの値
H:PRLHの値
T:カウントクロックの周期
(PCS1, PCS0によって選択)
n =0~31
● リロード値とパルス幅の関係について
リロードレジスタに書かれた値に "+1" した値に , カウントクロックの周期を掛けた値
が , 出力されるパルス幅となります。つまり , 8 ビット PPG 動作時のリロードレジスタ
値が "00H" のとき , および 16 ビット PPG 動作時のリロードレジスタ値が "0000H" のと
きは, カウントクロック1周期分のパルス幅をもつことになりますので注意してくださ
い。また , 8 ビット PPG 動作時のリロードレジスタ値が "FFH" のとき , カウントクロッ
ク 256 周期分のパルス幅をもつことになり , 16 ビット PPG 動作時のリロードレジスタ
値が "FFFFH" のときは , カウントクロック 65536 周期分のパルス幅をもつことになり
ますので注意してください。
パルス幅の計算式を以下に示します。
Pl = T × (L + 1)
Ph = T × (H + 1)
CM71-10142-5
{
L : PRLL の値
H : PRLH の値
T : 入力クロック周期
Ph : "H" パルス幅
Pl : "L" パルス幅
FUJITSU SEMICONDUCTOR LIMITED
219
第 9 章 PPG
9.4 PPG の動作説明
MB91220 シリーズ
● カウントクロックの選択について
本ブロックの動作に使用するカウントクロックは, 周辺クロックを使用しており4種類
のカウントクロック入力が選択できます。
カウントクロックは以下のように動作します。
PPGC0 ∼ PPGCV
レジスタ
カウントクロック動作
PCS1
PCS0
0
0
カウントクロックは , 周辺クロックごとに 1 カウント
0
1
カウントクロックは , 周辺クロック 4 サイクルごとに 1 カウント
1
0
カウントクロックは , 周辺クロック 16 サイクルごとに 1 カウント
1
1
カウントクロックは , 周辺クロック 64 サイクルごとに 1 カウント
ただし , 8 ビットプリスケーラ+ 8 ビット PPG モードおよび 16 ビットプリスケーラ+
16 ビット PPG モード時には , 最もチャネル番号の大きい PPG 以外の PPG の PPGC レ
ジスタ中の bit4, bit3: PCS1, PCS0 の値は無効になります。
8 ビットプリスケーラ+ 8 ビット PPG モードおよび 16 ビットプリスケーラ+ 16 ビッ
ト PPG モードで , プリスケーラ側が動作状態で , PPG 側が停止状態であるときに , PPG
側の起動を行うと , 最初のカウント周期がずれる可能性がありますので注意してくだ
さい。
220
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 9 章 PPG
9.4 PPG の動作説明
MB91220 シリーズ
● パルスの端子出力の制御について
本モジュールの動作によって生成されたパルス出力は , 外部端子 PPG0H ∼ PPG15H よ
り出力させることができます。
16 ビット PPG モードでは , PPGnL と PPGnH (n=0 ∼ 15) は同じ波形が出力されるので ,
どちらの外部端子出力を許可しても同じ出力を得ることができます。ただし , 偶数チャ
ネルはポートから出力することができません。
8 ビットプリスケーラ+ 8 ビット PPG モードおよび 16 ビットプリスケーラ+ 16 ビット
PPGモードでは, プリスケーラ側は8ビットプリスケーラのトグル波形が出力され, PPG
側は 8 ビット PPG の波形が出力されます。このモードのときの出力波形の例を以下に
示します。
図 9.4-2 8 ビットプリスケーラ+ 8 ビット PPG 出力動作出力波形
Ph1
Pl1
PPG0H
PPG0L
Ph0
Pl0
: ch.1 の PRLL の値 および
ch.1 の PRLH の値
L0 : ch.0 の PRLL の値
H0 : ch.0 の PRLH の値
T
: ch.1 のカウントクロック周期
Ph0 : PPG0L の "H" パルス幅
Pl0 : PPG0L の "L" パルス幅
Ph1 : PPG0H の "H" パルス幅
Pl1 : PPG0H の "L" パルス幅
L1
Pl1 = T x (L1 + 1)
Ph1 = T x (L1 + 1)
Pl0 = T x (L1 + 1) x (L0 + 1)
Ph0 = T x (L1 + 1) x (H0 + 1)
( 注意事項 ) ch.1 の PRLL と ch.1 の PRLH は , 同じ値を設定することを推奨します。
● 割込みについて
本モジュールの割込みは , リロード値がカウントアウトし , ボローが発生したときにア
クティブになります。ただし , INTMn ビットを "1" にしたときは , PRLHn からのアン
ダフロー時 ( ボロー ) のみアクティブになります。つまり , "H" 幅パルス終了時に割込
みが発生します。
8 ビット PPG モードおよび 8 ビットプリスケーラ+ 8 ビット PPG モードのときには ,
それぞれのカウンタのボローにより, それぞれの割込み要求が行われますが, 16ビット
PPG モードおよび 16 ビットプリスケーラ+ 16 ビット PPG モードでは , 16 ビットカウ
ンタのボローにより , ch.(2n) と ch.(2n+1) の PUF が同時にセットされます。このため ,
割込み要因を一本化するために , ch.(2n) と ch.(2n+1) の PIE のどちらか一方のみを許可
にすることを推奨します。また , 割込み要因のクリアも ch.(2n) と ch.(2n+1) の PUF を
同時に行うことを推奨します (n=0 ∼ 15)。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
221
第 9 章 PPG
9.4 PPG の動作説明
MB91220 シリーズ
● 各ハードウェアの初期値について
本ブロックの各ハードウェアは , リセット時に以下のように初期化されます。
< レジスタ >
PPGC0 ∼ PPGCV → 0000000XB
TRG0 ∼ TRG3 → 00000000B
REVC0 ∼ REVC3 → 00000000B
< パルス出力 >
PPG0H ∼ PPG15H → "L"
< 割込み要求 >
IRQ0H ∼ IRQ15H → "L"
IRQ0L ∼ IRQ15L → "L"
上記以外のハードウェアは初期化されません。
● PPG の組合せについて
ch.0: PPGC
ch.2: PPGC
MD1
MD0
MD1
MD0
0
0
0
0
0
0
ch.0
ch.1
ch.2
ch.3
0
8 ビット PPG
8 ビット PPG
8 ビット PPG
8 ビット PPG
0
1
8 ビット PPG
8 ビット PPG
8 ビット PPG
0
1
0
8 ビット PPG
8 ビット PPG
0
0
1
1
0
1
0
0
8 ビット PPG
8 ビット
プリスケーラ
8 ビット PPG
0
1
0
1
8 ビット PPG
8 ビット
プリスケーラ
8 ビット PPG
0
1
1
0
8 ビット PPG
8 ビット
プリスケーラ
0
1
1
1
1
0
0
0
16 ビット PPG
8 ビット PPG
8 ビット PPG
1
0
0
1
16 ビット PPG
8 ビット PPG
8 ビット
プリスケーラ
1
0
1
0
16 ビット PPG
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
222
8 ビット
プリスケーラ
16 ビット PPG
設定禁止
8 ビット PPG
8 ビット
プリスケーラ
16 ビット PPG
設定禁止
16 ビット PPG
設定禁止
16 ビット PPG
FUJITSU SEMICONDUCTOR LIMITED
16 ビットプリスケーラ
CM71-10142-5
第 9 章 PPG
9.4 PPG の動作説明
MB91220 シリーズ
ch.(4, 5, 6, 7) も , それぞれ , ch.(0, 1, 2, 3) と同じ動作の組合せが可能です。
以下のように置き換えてください。
ch.0 = ch.4 = ch.8 = ch.12 = ch.16 = ch.20 = ch.24 = ch.28
{
ch.1 = ch.5 = ch.9 = ch.13 = ch.17 = ch.21 = ch.25 = ch.29
ch.2 = ch.6 = ch.10 = ch.14 = ch.18 = ch.22 = ch.26 = ch.30
ch.3 = ch.7 = ch.11 = ch.15 = ch.19 = ch.23 = ch.27 = ch.31
● 波形出力端子について
PPG の各チャネルと , 出力端子の関係は , 下表のようになっています。
PPG チャネル
出力端子
ch.0
ch.1
PG0/PPG0H
ch.2
ch.3
PD4/PPG1H
ch.4
ch.5
PG1/PPG2H
ch.6
ch.7
PD5/PPG3H
ch.8
ch.9
PG2/PPG4H
ch.10
ch.11
PD6/PPG5H
ch.12
ch.13
PG3/PPG6H
ch.14
ch.15
PD7/PPG7H
ch.16
ch.17
PB0/PPG8H
ch.18
ch.19
PB1/PPG9H
ch.20
ch.21
PB2/PPG10H
ch.22
ch.23
PB3/PPG11H
ch.24
ch.25
PE4/PPG12H
ch.26
ch.27
PE5/PPG13H
ch.28
ch.29
PE6/PPG14H
ch.30
ch.31
PE7/PPG15H
8 ビットモードで使用する場合は , 奇数チャネルを使用してください。偶数チャネルは ,
ポートから出力することができません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
223
第 9 章 PPG
9.4 PPG の動作説明
224
MB91220 シリーズ
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 10 章
PWC (Pulse Width Count :
パルス幅測定 )
PWC の概要 , レジスタの構成 , 機能および動作に
ついて説明します。
CM71-10142-5
10.1
PWC の概要
10.2
PWC のレジスタ
10.3
PWC の動作説明
FUJITSU SEMICONDUCTOR LIMITED
225
第 10 章 PWC (Pulse Width Count : パルス幅測定 )
10.1 PWC の概要
MB91220 シリーズ
PWC の概要
10.1
入力信号のパルス幅測定機能です。
■ PWC の機能
ハードウェアとして , 16 ビットアップカウンタ 1 個 , 入力パルス分周器 , 分周比制御レ
ジスタ , 測定入力端子 , 16 ビット制御レジスタを持ち , 以下の機能を実現します。
● パルス幅測定機能
外部からのパルス入力の任意イベント間の時間を測定します。
基準となる内部クロックは 3 種類の中から選択可能です。
( 周辺クロックの 4/16/32 分周 )
"H" パルス幅 ( ↑∼↓ ) / "L" パルス幅 ( ↓∼↑ )
各種測定モード
立上り周期 ( ↑∼↑ ) / 立下り周期 ( ↓∼↓ )
エッジ間測定 ( ↑または↓∼↓または↑ )
8 ビット入力分周器で , 入力パルスを 2n 分周 (n=1, 2, 3, 4, 5, 6, 7, 8) して周期測定を行う
ことが可能です。
測定終了時に割込み要求を発生することが可能です。
1 回のみの測定か連続測定かを選択することが可能です。
■ PWC のレジスタ一覧
図 10.1-1 PWC のレジスタ一覧
アドレス
bit15 ∼ bit8
bit7 ∼ bit0
000139H
226
PDIVR0
000130H
000131H
PWCSR0
000132H
000133H
PWCR0
PWC 分周比制御レジスタ 0
PWC コントロール / ステータスレジスタ 0
PWC データバッファレジスタ 0
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 10 章 PWC (Pulse Width Count : パルス幅測定 )
10.1 PWC の概要
MB91220 シリーズ
■ PWC のブロックダイヤグラム
図 10.1-2 PWC のブロックダイヤグラム
PWCR0リード
エラー検出
16
/
/
16
ERR
PWCR0
内部クロック
(周辺クロック/4)
/ 16
書込み許可
リロード
データ転送
/ 16
R-bus
オーバフロー
制御ビット出力
フラグセットなど
測定開始エッジ
測定終了エッジ
2 クロック
分周器
23
クリア
カウント許可
制御回路
開始エッジ
選択
2
クロック
16ビット アップカウンタ
終了エッジ
選択
CKS1/
CKS0
分周器クリア
分周
ON/OFF
エッジ
検出
PWC0
8ビット
分周器
測定終了割込み要求
ERR
CKS1/CKS0
オーバフロー割込み要求
15
/
分周比
選択
PWCSR0
2
/
CM71-10142-5
PDIVR0
FUJITSU SEMICONDUCTOR LIMITED
227
第 10 章 PWC (Pulse Width Count : パルス幅測定 )
10.2 PWC のレジスタ
10.2
MB91220 シリーズ
PWC のレジスタ
PWC のレジスタの詳細を説明します。
■ PWC コントロール / ステータスレジスタ (PWCSR)
図 10.2-1 PWCSR レジスタ (PWCSR) のビット構成
PWCSR0 ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
ch.0: 000130H
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
STRT
STOP
EDIR
EDIE
OVIR
OVIE
ERR
R/W
R(RM1),W
R/W
R,WX
−
RX/W0
R(RM1),W R(RM1),W R(RM1),W
初期値
0000000XB
PWCSR0 ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
ch.0: 000131H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
CKS1
CKS0
MOD2
MOD1
MOD0
R/W
−
R/W0
SC
R/W
−
R/W0
R/W
R/W
R/W
R/W
初期値
00000000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit15] STRT : カウンタスタートビット
[bit14] STOP : カウンタストップビット
16 ビットアップカウンタの起動 / 再起動 / 停止を行うビットで , 読出し時にはカウ
ンタの動作状態を表示します。以下にビット機能を示します。
・書込み時機能 ( 動作制御 )
STRT
STOP
0
0
機能なし / 動作に影響なし
0
1
カウンタ起動 / 再起動 ( カウント許可 )
1
0
カウンタ動作強制停止 ( カウント禁止 )
1
1
機能なし / 動作に影響なし
動作制御機能
・読出し時機能 ( 動作状態表示 )
STRT
STOP
0
0
カウンタ停止中(起動されていないかまたは測定終了)
[ 初期値 ]
1
1
カウント動作中 ( 測定中 )
動作状態表示
• リセット時 : "00B" に初期化されます。
• 読出しおよび書込みが可能です。ただし , 書込み時と読出し時では上記のように
意味が異なります。
• リードモディファイライト (RMW) 系命令における読出し値はビットにかかわら
ず "11B" です。
228
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 10 章 PWC (Pulse Width Count : パルス幅測定 )
10.2 PWC のレジスタ
MB91220 シリーズ
• カウンタの起動 / 停止のための STRT , STOP ビットへの書込みは , それぞれの
ビットに対応するビット処理命令 ( ビットクリアなど ) を用いることが可能です
が , 動作状態の読出しにはビット処理命令は使用できません ( 読むと必ず動作中
となりますので注意してください )。
[bit13] EDIR : 測定終了割込み要求フラグ
パルス幅測定モード時 , 測定終了したことを示すフラグです。測定終了割込み要求
が許可されているとき (bit12:EDIE=1) に本ビットがセットされると , 測定終了割込
み要求が発生します。
1
PWCR に測定結果が収納されている
0
PWCR に測定結果が収納されていない
• リセット時 : "0" に初期化されます。
• 読出しのみ可能です。書込みしてもビット値は変化しません。
• PWCR を読み出すとクリアされます。
[bit12] EDIE : 測定終了割込み要求許可ビット
パルス幅測定モード時の測定終了割込み要求を以下のように制御します。
0
測定終了割込み要求出力禁止
(EDIR がセットされても割込みは発生せず ) [ 初期値 ]
1
測定終了割込み要求出力許可
(EDIR がセットされると割込みが発生する )
• リセット時 : "0" に初期化されます。
• 読出しおよび書込みが可能です。
[bit11] OVIR : カウンタオーバフロー割込み要求フラグ
全モードにおいて , 16 ビットアップカウンタが "FFFFH" から "0000H" へオーバフ
ローしたことを示すフラグです。カウンタオーバフロー割込み要求が許可されてい
るとき (bit10:OVIE=1) に本ビットがセットされると , カウンタオーバフロー割込み
要求が発生します。
1
カウンタオーバフローが発生した
0
カウンタオーバフローが発生していない
• リセット時 : "0" に初期化されます。
• 読出しおよび書込みが可能です。ただし , 書込みは "0" のみ可能です。"1" を書
き込んでもビット値は変化しません。
• リードモディファイライト (RMW) 系命令における読出し値は , ビット値にかか
わらず "1" です。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
229
第 10 章 PWC (Pulse Width Count : パルス幅測定 )
10.2 PWC のレジスタ
MB91220 シリーズ
[bit10] OVIE : カウンタオーバフロー割込み要求許可ビット
カウンタオーバフロー割込み要求を以下のように制御します。
0
オーバフロー割込み要求出力禁止
(OVIR がセットされても割込みは発生せず )[ 初期値 ]
1
オーバフロー割込み要求出力許可
(OVIR がセットされると割込みが発生する )
• リセット時 : "0" に初期化されます。
• 読出しおよび書込みが可能です。
[bit9] ERR : エラーフラグ
パルス幅測定モードの連続測定モード時において , PWCR 内の測定結果を読み出さ
ないうちに次の測定が終了してしまったことを示すフラグです。この際 , PWCR の
値は新しい測定結果に更新され , 1 つ前の測定結果は消失します。測定は , 本ビット
値に関係なく続行されます。
1
読み出していない測定結果が次の結果により上書きされた
0
読み出していない測定結果が次の結果により上書きされていない
• リセット時 : "0" に初期化されます。
• 読出しのみ可能です。書込みしてもビット値は変化しません。
• PWCR を読み出すとクリアされます。
[bit8] (Reserved)
本ビットは予約ビットです。読出し値は不定です。必ず "0" を書き込んでください。
[bit7, bit6] CKS1, CKS0 : クロック選択ビット
内部カウントを以下のように選択します。
CKS1
CKS0
0
0
周辺クロックの 4 分周クロック
0
1
周辺クロックの 16 分周クロック
1
0
周辺クロックの 32 分周クロック
1
1
設定禁止
カウントクロック選択
[ 初期値 ]
• リセット時 : "00B" に初期化されます。
• 読出しおよび書込みが可能です。ただし , "11B" を設定してはいけません。
( 注意事項 ) 起動後の書換えは禁止します。必ず起動前か停止後に書き込んでくだ
さい。
[bit5, bit4] (Reserved)
本ビットは予約ビットです。これらのビットに書き込みを行う場合は , "00B" にして
ください。
230
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 10 章 PWC (Pulse Width Count : パルス幅測定 )
10.2 PWC のレジスタ
MB91220 シリーズ
[bit3] SC : 測定モード ( 単発 / 連続 ) 選択ビット
測定モードを以下のように選択します。
SC
測定モード
0
単発測定モード [ 初期値 ]
1
連続測定モード
• リセット時 : "0" に初期化されます。
• 読出しおよび書込みが可能です。
( 注意事項 ) 起動後の書換えは禁止します。必ず起動前か停止後に書き込んでくだ
さい。
[bit2 ∼ bit0] MOD2 ∼ MOD0 : 動作モード / 測定エッジ選択ビット
動作モードおよび幅測定を行うエッジを以下のように選択します。
MOD2
MOD1
MOD0
0
0
0
全エッジ間パルス幅測定モード ( ↑ or ↓∼↓ or ↑ ) [ 初期値 ]
0
0
1
分周周期測定モード ( 入力分周器有効 )
0
1
0
立上りエッジ間周期測定モード ( ↑∼↑ )
0
1
1
"H" パルス幅測定モード ( ↑∼↓ )
1
0
0
"L" パルス幅測定モード ( ↓∼↑ )
1
0
1
立下りエッジ間周期測定モード ( ↓∼↓ )
1
1
0
1
1
1
動作モード / 測定エッジ選択
設定禁止
• リセット時 : "000B" に初期化されます。
• 読出しおよび書込みが可能です。
( 注意事項 ) 起動後の書換えを禁止します。必ず起動前か停止後に書き込んでくだ
さい。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
231
第 10 章 PWC (Pulse Width Count : パルス幅測定 )
10.2 PWC のレジスタ
MB91220 シリーズ
■ PWCR レジスタ (PWC データバッファレジスタ )
図 10.2-2 PWC データバッファレジスタ (PWCR) のビット構成
PWCR0 ( 上位 ) ( アクセス:Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
bit3
bit2
bit1
bit0
ch.0: 000132H
初期値
00000000B
PWCR0 ( 下位 ) ( アクセス:Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
ch.0: 000133H
初期値
00000000B
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
● パルス幅測定モード
連続測定モード時 (PWCSR bit3:SC = 1) は , 前回の測定結果を保持するバッファレジ
スタとなります。この場合は読出しのみ可能で , 書込みしてもレジスタ値は変化し
ません。
単発測定モード時 (PWCSR bit3:SC = 0) は , アップカウンタを直接アクセスできま
す。この場合も , 読出しのみ可能で , 書込みしてもレジスタ値は変化しません。読
出しは随時可能で , カウント中のカウント値が得られます。測定終了後は測定結果
を保持します。
<注意事項>
本レジスタのアクセスは , 必ずハーフワードもしくはワード転送命令で行ってください。
• リセット時 : "0000H" に初期化されます。
• 読出しのみ可能
232
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 10 章 PWC (Pulse Width Count : パルス幅測定 )
10.2 PWC のレジスタ
MB91220 シリーズ
■ PDIVR ( 分周比制御レジスタ )
図 10.2-3 分周比制御レジスタ (PDIVR) のビット構成
PDIVR0 ( アクセス:Byte, Half-word, Word)
アドレス
ch.0: 000139H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
−
RX,WX
−
RX,WX
−
RX,WX
−
RX,WX
−
RX,WX
DIV2
DIV1
DIV0
R/W
R/W
R/W
初期値
-----000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
分周周期測定モード (PWCSR bit2 ∼ bit0:MOD2 ∼ MOD0 = 001B ) のときに使用するレ
ジスタで , ほかのモードでは意味を持ちません。
分周周期測定モード時には , 測定端子に入力されたパルスを PDIVR に設定された分周
比により分周し , 分周後の 1 周期幅を測定します。分周比は以下のように選択します。
DIV2
DIV1
DIV0
0
0
0
2 分周
0
0
1
4 分周
0
1
0
8 分周
0
1
1
16 分周
1
0
0
32 分周
1
0
1
64 分周
1
1
0
128 分周
1
1
1
256 分周
分周比選択
[ 初期値 ]
• リセット時 : "000B" に初期化されます。
• 読出しおよび書込みが可能です。
<注意事項>
起動後の書換えを禁止します。必ず起動前か停止後に書き込んでください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
233
第 10 章 PWC (Pulse Width Count : パルス幅測定 )
10.3 PWC の動作説明
MB91220 シリーズ
PWC の動作説明
10.3
測定入力端子と 8 ビット入力分周を組み込んでいます。PWC は , パルス幅測定機能
があり , 3 種類のカウントクロックを選択可能です。以下に , パルス幅測定機能にお
ける基本機能 / 動作について示します。
■ パルス幅測定機能
入力パルスの任意イベント間の時間・周期をカウンタで測定できます。
起動後 , 設定した測定開始エッジが入力されるまでカウントは行われません。開始エッ
ジを検出するカウンタを "0000H" にクリア後 , カウントアップを開始し , 停止エッジを
検出するとカウントを停止します。この間のカウント値がパルス幅としてレジスタに
保存されます。
測定終了時およびオーバフロー発生時に割込み要求を発生できます。
測定終了後は測定モードに応じて以下のように動作します。
• 単発測定モード時 : 動作を停止します。
• 連続測定モード時 : カウンタ値をバッファレジスタに転送後 , 再度測定開始エッジが
入力されるまでカウントを停止します。
図 10.3-1 パルス幅測定動作 ( 単発測定モード / "H" 幅測定 )
(実線はカウント値)
PWC入力
被測定パルス
カウント値
FFFFH
カウントクリア
0000H
測定開始
カウントスタート
カウントストップ
時間
EDIRフラグセット(測定終了)
図 10.3-2 パルス幅測定動作 ( 連続測定モード / "H" 幅測定 )
(実線はカウント値)
PWC入力
被測定パルス
カウント値
FFFFH
オーバフロー
PWCRへ
データ転送
PWCRへ
データ転送
カウントクリア
0000H
測定開始
カウントクリア
カウントスタート カウントストップ
カウントスタート
OVIRフラグセット
カウントストップ
時間
EDIRフラグセット(測定終了)
234
FUJITSU SEMICONDUCTOR LIMITED
EDIRフラグセット間
CM71-10142-5
第 10 章 PWC (Pulse Width Count : パルス幅測定 )
10.3 PWC の動作説明
MB91220 シリーズ
■ カウントクロックの選択
カウンタのカウントクロックは , PWCSR レジスタの bit7, bit6:CKS1, CKS0 ビットの設
定によって , 内部クロックソースより 3 種類を選択できます。
選択できるカウントクロックは以下のとおりです。
PWCSR
選択される内部カウントクロック
CKS1, CKS0
00B
周辺クロックの 4 分周
01B
周辺クロックの 16 分周
10B
周辺クロックの 32 分周
[ 初期値 ]
リセット後の初期値では , 周辺クロックの 4 分周クロックが選択されています。
<注意事項>
カウントクロックの選択は , 必ずカウンタ起動前に行ってください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
235
第 10 章 PWC (Pulse Width Count : パルス幅測定 )
10.3 PWC の動作説明
MB91220 シリーズ
■ 動作モードの選択
各動作モード / 測定モードの選択は , PWCSR の設定により行います。
• 動作モードの設定 : PWCSR bit2 ∼ bit0:MOD2, MOD1, MOD0
• 測定モードの設定 : PWCSR bit3:SC
モード設定ビットの組合せによる動作モードの選択の一覧を以下に示します。
SC
動作モード
↑または↓∼↑または↓
全エッジ間測定
分周周期測定
(1 ∼ 256 分周 )
↑∼↑ 立上り間周期測定
パルス幅測定
↑∼↓ "H" パルス幅測定
↓∼↑ "L" パルス幅測定
↓∼↓ 立下り間周期測定
MOD2 MOD1 MOD0
単発測定 : バッファ無効
0
0
0
0
連続測定 : バッファ有効
1
0
0
0
単発測定 : バッファ無効
0
0
0
1
連続測定 : バッファ有効
1
0
0
1
単発測定 : バッファ無効
0
0
1
0
連続測定 : バッファ有効
1
0
1
0
単発測定 : バッファ無効
0
0
1
1
連続測定 : バッファ有効
1
0
1
1
単発測定 : バッファ無効
0
1
0
0
連続測定 : バッファ有効
1
1
0
0
単発測定 : バッファ無効
0
1
0
1
連続測定 : バッファ有効
1
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
設定禁止
リセット後の初期値では , 全エッジ間測定−単発測定モードが選択されています。
<注意事項>
起動モードの選択は , 必ずカウンタ起動前に行ってください。
236
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 10 章 PWC (Pulse Width Count : パルス幅測定 )
10.3 PWC の動作説明
MB91220 シリーズ
■ パルス幅測定の起動と停止
各動作の起動 / 再起動 / 強制停止は , PWCSR の bit15, bit14:STRT, STOP ビットにより行
います。
パルス幅測定の起動 / 再起動は STRT ビット , 強制停止は STOP ビットと機能が分かれ
ており , それぞれ "0" を書き込むことにより機能しますが , このとき , 両ビットに書き
込む値が排他でないと機能しません。必ず以下に示す組合せを書き込んでください。
機能
STRT
STOP
パルス幅測定の起動 / 再起動
0
1
パルス幅測定の強制停止
1
0
リードモディファイライト (RMW) 系命令を用いる場合 , ハードウェアにより自動的に
上記の組合せにて書き込まれるため , 特に意識する必要がありません。
● 起動後の動作
パルス幅測定モードの起動後は , 測定開始エッジが入力されるまでカウントは行われ
ません。測定開始エッジ検出後 , 16 ビットアップカウンタを "0000H" にクリアし , カウ
ントを開始します。
● 再起動について
パルス幅測定起動後 , 動作中に起動する (STRT ビットに "0" を書き込む ) ことを再起動
とよびます。再起動すると , 以下のような動作が行われます。
• 測定開始エッジ待ち状態の場合 : 動作に影響はありません。
• 測定中の場合
: カウントを停止し , 再度測定開始エッジ待ち状態
となります。この際測定終了エッジ検出と再起動
が同時に発生すると , 測定終了フラグ (EDIR) が
セットされ , 連続測定モード時の場合は測定結果
が PWCR に転送されます。
● 停止について
単発測定モードでは , カウンタのオーバフローまたは測定終了により , 自動的にカウン
ト動作を停止しますので , 特に意識する必要はありません。連続測定モードや自動停止
する前に停止させたい場合は , 強制停止させる必要があります。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
237
第 10 章 PWC (Pulse Width Count : パルス幅測定 )
10.3 PWC の動作説明
MB91220 シリーズ
● 動作状態の確認
STRT, STOP ビットは読出し時 , 動作状態表示ビットとして機能します。表示される値
は以下の内容を示します。
STRT
STOP
0
0
カウンタ停止中 ( 測定開始エッジ待ち状態を除く )
起動されていないか , または測定が終了したことを示します。
1
1
カウント動作中または測定開始エッジ待ち状態を示します。
動作状態
<注意事項>
STRT, STOP のどちらのビットを読み出しても同じ値となります。
■ カウンタのクリア
16 ビットアップカウンタは , 以下に示す場合に "0000H" にクリアされます。
• リセット時
• パルス幅測定モードにて , 測定開始エッジを検出しカウントを開始する場合
238
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 10 章 PWC (Pulse Width Count : パルス幅測定 )
10.3 PWC の動作説明
MB91220 シリーズ
■ パルス幅測定動作詳細
● 単発測定と連続測定
パルス幅測定には , 1 回のみの測定を行うモードと連続して測定を行うモードがありま
す。各モードは PWCSR の SC ビットによって選択します (「■ 動作モードの選択」を
参照 )。両モードにおける相違点は以下のとおりです。
• 単発測定モード :
1 回目の測定終了エッジが入力されるとカウンタのカウントは停
止し , PWCSR 中の測定終了フラグ (EDIR) がセットされ , 以降の
測定は行われません。ただし , 同時に再起動がかかった場合は測
定開始待ち状態となります。
• 連続測定モード :
測定終了エッジが入力されるとカウンタのカウントは停止し ,
PWCSR 中の測定終了フラグ(EDIR)がセットされ, 再度測定開始
エッジが入力されるまでカウントを停止します。再度 , 測定開始
エッジが入力されるとカウンタを "0000H" にクリアした後 , 測定
を開始します。測定終了時 , カウンタの測定結果は PWCR に転
送されます。
<注意事項>
測定モードの選択 / 変更は , 必ずカウンタ停止中に行ってください。
● 測定結果データ
単発測定モードと連続測定モードでは , 測定結果とカウンタ値の扱い , PWCR の機能に
違いがあります。両モードにおける測定結果の相違点は以下のとおりです。
• 単発測定モード :
PWCRを動作中に読み出すと測定中のカウント値が得られます。
PWCRを測定終了後に読み出すと測定結果データが得られます。
• 連続測定モード :
測定終了時 , カウンタ内の測定結果は PWCR に転送されます。
PWCRを読み出すと直前の測定結果が得られ, 測定動作中も前回
の測定結果を保持しています。測定中のカウント値は読み出せ
ません。
連続測定モードにて測定結果を読み出さないうちに次の測定が終了してしまった場合,
前回の測定結果は新しい測定結果に消されてしまいます。この際 , PWCSR 中のエラー
フラグ (ERR) がセットされます。エラーフラグ (ERR) は , PWCR を読み出すと自動的
にクリアされます。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
239
第 10 章 PWC (Pulse Width Count : パルス幅測定 )
10.3 PWC の動作説明
MB91220 シリーズ
● 測定モードとカウント動作
入力されたパルスのどこを測定するかによって, 測定モードを5種類のうちから選択す
ることができます。さらに , 高い周波数のパルスの幅を精度よく測定できるように , 入
力されたパルスを任意分周して周期を測定するモードも用意されています。以下に , そ
れらについて説明します。
測定モード
MOD2
MOD1
MOD0
測定内容 (W : 測定するパルス幅 )
W
全エッジ間パルス
幅測定
↑カウント
スタート
0
0
0
0
0
1
W
↓カウント
スタート
(4 周分の例 )
↑カウントストップ
↑スタート
↑カウント
スタート
0
1
W
↓
ストップ
分周比設定レジスタ PDIVR で選択した分周比だ
け入力パルスを分周してその周期を測定します。
カウント ( 測定 ) 開始 : 起動直後の 立上りエッジ
検出時
カウント ( 測定 ) 終了 : 分周後の 1 周期終了時
W
立上りエッジ間
周期測定
W
W
↑カウントストップ
↑スタート
↑ストップ
↑スタート
0
0
1
1
↑カウント
スタート
W
↓カウント
ストップ
↑
スタート
↓
ストップ
"H" 期間の幅を測定します。
カウント ( 測定 ) 開始 : 立上りエッジ検出時
カウント ( 測定 ) 終了 : 立下りエッジ検出時
W
W
↓カウント
スタート
"L" パルス幅測定
1
0
0
↑カウント
ストップ
240
↓カウント
スタート
1
0
1
↓
スタート
↑
ストップ
"L" 期間の幅を測定します。
カウント ( 測定 ) 開始 : 立下りエッジ検出時
カウント ( 測定 ) 終了 : 立上りエッジ検出時
W
立下りエッジ間
周期測定
↑
ストップ
立上りエッジ間の周期を測定します。
カウント ( 測定 ) 開始 : 立上りエッジ検出時
カウント ( 測定 ) 終了 : 立上りエッジ検出時
W
"H" パルス幅測定
↓
ストップ
連続して入力されるエッジ間の幅を測定します。
カウント ( 測定 ) 開始 : エッジ検出時
カウント ( 測定 ) 終了 : エッジ検出時
W
分周周期測定
W
W
↓カウントストップ
↓スタート
↑ストップ
↑スタート
W
W
↓カウントストップ
↓スタート
↓ストップ
↓スタート
↓
ストップ
立下りエッジ間の周期を測定します。
カウント ( 測定 ) 開始 : 立下りエッジ検出時
カウント ( 測定 ) 終了 : 立下りエッジ検出時
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 10 章 PWC (Pulse Width Count : パルス幅測定 )
10.3 PWC の動作説明
MB91220 シリーズ
どのモードでも , 測定起動後 , 測定開始エッジが入力されるまでカウンタはカウント動
作を行いません。測定開始エッジが入力されると , カウンタは "0000H" にクリアされた
後 , 測定終了エッジが入力されるまでの間 , カウントクロックごとにアップカウントを
続けます。
測定終了エッジが入力されると , 以下の動作が行われます。
• PWCSR 中の測定終了フラグ (EDIR) がセットされます。
• カウンタのカウント動作が停止します ( 再起動と同時であった場合を除く )。
• 連続測定モード時 : カウンタの値 (= 測定結果 ) が PWCR に転送され , 次の測定開始
エッジが入力されるまでカウントを停止して待ちます。
• 単発測定モード時 : 測定を終了します ( 再起動と同時であった場合を除く )。
連続測定モードの場合で , 全エッジ間パルス幅測定や周期測定などを行った場合 , 終了
エッジが次の測定開始エッジとなります。
● 最小入力パルス幅について
パルス幅測定入力端子 (PWI1, PWI0) に入力できるパルスには以下の制限があります。
最小入力幅 : 周辺クロックサイクル× 4 以上
(16MHz の周辺クロックの場合は , 0.25μs 以上 )
上記パルスより小さい幅のパルスを入力した場合の動作は保証されません。
● パルス幅 / 周期算出方法
測定終了後 , PWCR に得られた測定結果データから , 被測定パルス幅 / 周期算出方法は
以下のように求められます。
TW : 被測定パルス幅 / 周期 [μs]
n×t
TW = [μs]
DIV
n : PWCR 内の測定結果データ
t
: カウントクロックの周期 [μs]
DIV : 分周比レジスタ PDIVR で選択した分周比
( 分周周期測定モード以外は "1" を代入 )
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
241
第 10 章 PWC (Pulse Width Count : パルス幅測定 )
10.3 PWC の動作説明
MB91220 シリーズ
● パルス幅 / 周期測定レンジ
カウントクロックおよび入力分周器の分周比の選択の組合せにより , 測定可能なパル
ス幅 / 周期のレンジが変化します。
一例として , 周辺クロック ( 以下 φ とする )=16MHz 時の測定レンジの一覧表を以下に
示します。
分周比
DIV2, DIV1, DIV0
CKS1, CKS0=
00B(φ /4) 時
CKS1, CKS0=
01B(φ /16) 時
CKS1, CKS0=
10B(φ /32) 時
分周
なし
−
0.25μs ∼ 16.4ms
[250ns]
0.25μs ∼ 65.5ms
[1.0μs]
0.25μs ∼ 131ms
[2.0μs]
2 分周
000B
0.25μs ∼ 8.19ms
[125ns]
0.25μs ∼ 32.8ms
[0.5μs]
0.25μs ∼ 65.5ms
[1.0μs]
4 分周
001B
0.25μs ∼ 4.10ms
[62.5ns]
0.25μs ∼ 16.4ms
[250ns]
0.25μs ∼ 32.8ms
[0.5μs]
8 分周
010B
0.25μs ∼ 2.05ms
[31.25ns]
0.25μs ∼ 8.19ms
[125ns]
0.25μs ∼ 16.4ms
[250ns]
16 分周
011B
0.25μs ∼ 1.02ms
[15.6ns]
0.25μs ∼ 4.10ms
[62.5ns]
0.25μs ∼ 8.19ms
[125ns]
64 分周
100B
0.25μs ∼ 256μs
[3.91ns]
0.25μs ∼ 1.024ms
[15.6ns]
0.25μs ∼ 2.05ms
[31.25ns]
256 分周
101B
0.25μs ∼ 64.0μs
[0.98ns]
0.25μs ∼ 256μs
[3.91ns]
0.25μs ∼ 512μs
[7.81ns]
−
その他
設定禁止
周辺クロック φ = 16MHz 時
[ ] 内は 1 ビットあたりの分解能を示します。
● 割込み要求発生
パルス幅測定モードにおいては , 以下の 2 つの割込み要求を発生することが可能です。
• カウンタのオーバフローによる割込み要求
測定中 , カウントアップによりオーバフローが発生するとオーバフローフラグが
セットされ , オーバフロー割込み要求が許可されていると割込み要求が発生しま
す。
• 測定終了による割込み要求
測定終了エッジを検出すると , PWCSR 中の測定終了フラグ (EDIR) がセットされ ,
測定終了割込み要求が許可されていると割込み要求が発生します。
測定終了フラグ (EDIR) は , 測定結果 PWCR を読み出すと自動的にクリアされます。
242
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 10 章 PWC (Pulse Width Count : パルス幅測定 )
10.3 PWC の動作説明
MB91220 シリーズ
● パルス幅測定動作フロー
各種設定
再起動
カウントクロック選択
動作/測定モード選択
割込みフラグクリア
割込み許可
測定入力端子選択
STRTビットにより起動
単発測定モード
連続測定モード
測定開始エッジ検出
測定開始エッジ検出
カウンタをクリア
カウンタをクリア
カウント開始
カウント開始
アップカウント
アップカウント
オーバフローの発生
→ OVIRフラグセット
オーバフローの発生
→ OVIRフラグセット
測定終了エッジ検出
→ EDIRフラグセット
測定終了エッジ検出
→ EDIRフラグセット
カウント停止
カウント停止
カウント値をバッファに転送
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
動作停止
243
第 10 章 PWC (Pulse Width Count : パルス幅測定 )
10.3 PWC の動作説明
MB91220 シリーズ
■ 注意事項
● レジスタ書換えに関する注意事項
PWCSR レジスタの以下に示すビットは動作中に書き換えることを禁止します。書換え
は必ず起動前か停止後に行ってください。
[bit7, bit6] CKS1, CKS0
: クロック選択ビット
[bit5, bit4] PIS1, PIS0
: 入力信号選択ビット
[bit3] SC
: 測定モード ( 単発 / 連続 ) 選択ビット
[bit2 ∼ bit0] MOD2 ∼ MOD0
: 動作モード / 測定エッジ選択ビット
PDIVR レジスタは動作中に書き換えることを禁止します。書換えは必ず起動前か停止
後に行ってください。
● PWCSR レジスタの STRT, STOP ビットについて
両ビットともに , 書込み時と読出し時では , 意味が異なるので注意してください
(「■ PWC コントロール / ステータスレジスタ (PWCSR) 」を参照してください )。
また , リードモディファイライト (RMW) 系命令における読出し値は , ビット値にかか
わらず , "11B" です。
カウンタの起動 / 停止のための STRT, STOP ビットへの書込みは , それぞれのビットに
対するビット処理命令 ( ビットクリア命令など ) を用いることが可能です。
● カウンタのクリアについて
パルス幅測定モードの場合 , 測定開始エッジでカウンタがクリアされますので , 起動前
にカウンタ中にあったデータは無効になります。
● 最小入力パルス幅について
パルス幅測定入力端子に入力できるパルスには , 以下の制限があります。
• 最小入力幅
: 周辺クロックサイクル× 4 ( 周辺クロックサイクルが 62.5ns 時 ,
≧ 250ns)
• 最大入力周波数 : 周辺クロックの 4 分周 ( 周辺クロックサイクルが 16MHz 時 ,
≦ 4MHz)
上記パルスより小さい幅 , 高い周波数のパルスを入力した場合の動作は保証できませ
ん。入力信号にそのようなノイズがのる可能性がある場合は , チップ外部でフィルタな
どを通して除去してから入力してください。
● 分周周期測定モードについて
パルス幅測定モードのうちの分周周期測定モードでは , 入力パルスを分周するため , 測
定結果より算出して得られるパルス幅は平均値となりますので注意してください。
● クロック選択ビットについて
PWCSR レジスタの [bit7, bit6] CKS1, CKS0 : クロック選択ビットにおいて "11B" は設定
禁止です。
● 予約ビットについて
PWCSR レジスタの bit8 は予約ビットになっています。このビットに書込みを行う場合
は "0" にしてください。
244
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 10 章 PWC (Pulse Width Count : パルス幅測定 )
10.3 PWC の動作説明
MB91220 シリーズ
● 動作中の再起動について
カウント動作を開始した後に再起動を行う場合は , そのタイミングによっては以下に
示すようなことが起こり得ます。
• パルス幅単発測定モード時 , 測定終了エッジと同時であった場合
再起動を行い , 測定開始エッジ待ち状態となりますが , 測定終了フラグ (EDIR) は
セットされます。
• パルス幅連続測定モード時 , 測定終了エッジと同時であった場合
再起動を行い , 測定開始エッジ待ち状態となりますが , 測定終了フラグ (EDIR) は
セットされ , その時点での測定結果は PWCR に転送されます。
以上のように , 動作中の再起動時には , フラグの動作に注意して割込み制御などを行う
ようにしてください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
245
第 10 章 PWC (Pulse Width Count : パルス幅測定 )
10.3 PWC の動作説明
246
FUJITSU SEMICONDUCTOR LIMITED
MB91220 シリーズ
CM71-10142-5
第 11 章
メイン発振安定待ちタイマ
メイン発振安定待ちタイマの概要 , レジスタの構
成 , 機能および動作について説明します。
CM71-10142-5
11.1
メイン発振安定待ちタイマの概要
11.2
メイン発振安定待ちタイマのブロックダイヤグラム
11.3
メイン発振安定待ちタイマのレジスタ
11.4
メイン発振待ち割込みの動作
FUJITSU SEMICONDUCTOR LIMITED
247
第 11 章 メイン発振安定待ちタイマ
11.1 メイン発振安定待ちタイマの概要
11.1
MB91220 シリーズ
メイン発振安定待ちタイマの概要
メイン発振安定待ちタイマは , メインクロックに同期してカウントアップする 23
ビットのカウンタです。一定の時間間隔で繰り返し割込みを発生するインターバル
タイマ機能があります。
■ メイン発振安定待ちタイマの概要
サブクロック動作中に , メインクロックの発振を停止させた場合 , 再度メインクロック
を発振させて使用するには , 発振安定待ち時間を確保する必要があります。
本タイマは , この場合の発振安定待ち時間を確保するために使用します。
カウントクロックは , メイン発振の 2 分周クロックになります。
インターバル時間は次の 3 種類の中から選択できます。
メインクロック周期
インターバル時間 ( メイン発振 4MHz 時 )
φ × 211 ( 約 1.0ms)
φ
φ × 216 ( 約 32.7ms)
φ × 214 ( 約 8.0ms)
( 注意事項 )
φ は内部ベースクロックの周期で , メイン発振の 2 倍の周期です。
248
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 11 章 メイン発振安定待ちタイマ
11.2 メイン発振安定待ちタイマのブロックダイヤグラム
MB91220 シリーズ
11.2
メイン発振安定待ちタイマのブロックダイヤグラム
メイン発振安定待ちタイマのブロックダイヤグラムを示します。
■ メイン発振安定待ちタイマのブロックダイヤグラム
図 11.2-1 メイン発振安定待ちタイマのブロックダイヤグラム
メイン発振安定待ち
タイマ用カウンタ
6
10
13
15
21 22 23 24 25 26 27
211
214
216
bit 0
1
2
3
4
5
22
インターバル
タイマセレクタ
リセット
(INIT)
カウンタクリア回路
メイン発振安定待ち
タイマ割込み
メイン発振安定待ちタイマ
制御レジスタ(OSCR)
WIF
WIE
WEN
-
-
WS1
WS0
WCL
: 内部ベースクロックの周期
メイン発振安定待ちタイマ用カウンタ
メインクロック原発振をカウントクロックとする 23 ビットのアップカウンタです。
カウンタクリア回路
OSCR レジスタによる設定 (WCL=0) 以外に , リセット (INIT) 時にカウンタをクリア
します。
インターバルタイマセレクタ
割込みを発生させるインターバル時間の分周出力を選択する回路です。
メイン発振安定待ちタイマ用カウンタの 3 種類の分周出力の中から , WS1/0 の設定
に対応する 1 つを選択して出力します。
この出力の立下りが , 割り込み要因となります。
メイン発振安定待ちタイマ制御レジスタ (OSCR)
インターバル時間の選択 , カウンタのクリア , 割込み制御および状態の確認などを
行います。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
249
第 11 章 メイン発振安定待ちタイマ
11.3 メイン発振安定待ちタイマのレジスタ
11.3
MB91220 シリーズ
メイン発振安定待ちタイマのレジスタ
メイン発振安定待ちタイマのレジスタの詳細を説明します。
■ メイン発振安定待ちタイマレジスタ (OSCR)
図 11.3-1 メイン発振安定待ちタイマ制御レジスタ
OSCR ( アクセス:Byte)
アドレス
00000490H
bit15
初期値
bit14
bit13
WIF
WIE
WEN
R(RM1),W
R/W
R/W
bit12
bit11
−
−
R0,W0 R0,W0
bit10
bit9
bit8
WS1
WS0
WCL
R/W
R/W
R1,W
INIT 時
RST 時
00000001B XXXXXXXXB
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit15] WIF (Wait timer Interrupt Flag)
メイン発振安定待ち割込み要求フラグです。
選択されたインターバルタイマ用分周出力の立下りエッジによって "1" にセットさ
れます。
このビットと割込み要求許可ビットが共に "1" のとき , メイン発振安定割込み要求
を出力します。
0
メイン発振安定割込みの要求なし ( 初期値 )
1
メイン発振安定割込みの要求あり
• リセット (INIT) で "0" に初期化されます。
• 読出しおよび書込みが可能です。ただし , 書込みは "0" のみ可能で , "1" を書込み
してもビット値は変化しません。
また , リードモディファイライト (RMW) 系命令での読出し値では常に "1" とな
ります。
[bit14] WIE (Wait timer Interrupt Enable)
CPU への割込み要求出力の許可 / 禁止を行うビットです。このビットとメイン発振
安定割込み要求フラグビットが共に "1" のとき , メイン発振安定割込み要求を出力
します。
0
メイン発振安定割込み要求出力禁止 ( 初期値 )
1
メイン発振安定割込み要求出力許可
• リセット (INIT) で "0" に初期化されます。
• 読出しおよび書込みが可能です。
250
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 11 章 メイン発振安定待ちタイマ
11.3 メイン発振安定待ちタイマのレジスタ
MB91220 シリーズ
[bit13] WEN (Wait timer enable)
タイマ動作許可ビットです。
本ビットが "1" のときタイマはカウント動作を行います。
0
タイマ動作停止 ( 初期値 )
1
タイマ動作
• リセット (INIT) で "0" に初期化されます。
• 読出しおよび書込みが可能です。
[bit12, bit11] (reserved bit)
予約ビットです。書込み時は "0" を書き込んでください ("1" 書込み禁止 )。
読出し値は不定です。
[bit10, bit9] WS1, WS0 (Wait timer interval Select 1, 0)
インターバルタイマの周期を選択します。
メイン発振安定待ちタイマ用カウンタの出力ビットの下記 3 種類のうちから選択し
ます。
WS1
WS0
0
0
設定禁止 ( 初期値 )
0
1
φ × 211 (1.0ms)
1
0
φ × 216 (32.7ms)
1
1
φ × 214 (8.0ms)
インターバルタイマ周期 ( メイン発振 4MHz 時 )
(φ は内部ベースクロックの周期で , メイン発振の 2 倍の周期です。)
• リセット (INIT) で "00B" に初期化されます。
• このタイマを使用する場合 , WS1, WS0 ビットに適切な値を書き込んで使用して
ください。
• 読出しおよび書込みが可能です。
[bit8] WCL (Wait timer CLear)
• "0" 書込みでメイン発振安定待ちタイマを "0" にクリアします。
• 書込みは "0" のみ可能で , "1" を書込みしても動作に影響を与えません。
• 読出し値は常に "1" となります。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
251
第 11 章 メイン発振安定待ちタイマ
11.4 メイン発振待ち割込みの動作
11.4
MB91220 シリーズ
メイン発振待ち割込みの動作
メイン発振待ち割込みの動作について説明します。
■ メイン発振安定待ち割込みの動作
メイン発振安定待ちタイマ用カウンタは , メインクロックでカウント動作し , 設定した
インターバル時間が経過すると , メイン発振安定待ち割込み要求フラグ (WIF) を "1" に
セットします。そのとき , 割込み要求許可ビットを許可 (WIE=1) していると CPU へ割
込み要求が発生します。ただし , メインクロックが発振停止しているとき (「■ イン
ターバルタイマ機能の動作」を参照 ) ではカウント動作も停止しますので , メイン発振
安定待ち割込みは発生しません。
割込み処理ルーチンで WIF フラグに "0" を書き込み , 割込み要求をクリアしてくださ
い。なお , WIF ビットは , WIE ビットの値に関係なく , 指定した分周出力が立ち下ると
セットされます。
リセット解除後に割込み要求出力を許可 (WIE=1) する場合および WS1 を "0" 変更時は ,
必ず WIF ビットと WCL ビットを同時にクリア (WIF=WCL=0) してください。
• WIF ビットが "1" のとき , WIE ビットを禁止から許可 (0 → 1) にすると , 直ちに割込
み要求が発生します。
• カウンタクリア(OSCR:WCL=0)と選択したビットのオーバフローが同時に起こった
場合は , WIF ビットのセットは行われません。
■ インターバルタイマ機能の動作
メイン発振安定待ちタイマ用カウンタはメインクロックにてカウントアップを行いま
すが , 以下の状態では , カウント動作は停止します。
• WEN ビットが "0" のとき
• ストップモードにおいて , メイン発振が停止する設定 ( スタンバイ制御レジスタ
STCR の bit0 : OSCD1=1) でストップモードに移行すると , ストップモード中 , メイ
ンクロック発振が停止するのでカウント動作が停止します。MB91220 シリーズでは ,
リセット (INIT) 時 OSCD1=1 に初期化しますので , ストップモード中もメイン発振
安定待ちタイマを動かしたい場合は, スタンバイ移行前にOSCD2=0を設定してくだ
さい。
• サブクロックモードで OSCCR( 発振制御レジスタ ) の bit0 : OSCDS1 に "1" を設定した
ときは , メイン発振が停止しますのでタイマカウント動作も停止します。
カウンタをクリア (WCL=0) すると , "000000H" からカウント動作を行い , "7FFFFFH" に
達すると "000000H" に戻ってカウントを継続します。カウントアップ中に選択された
インターバルタイマ用の分周出力に立下りエッジが発生すると , メイン発振安定待ち
割込み要求ビット (WIF) を "1" にセットします。つまり , クリアされた時間を基準にし
て , 選択されたインターバル時間ごとにメイン発振安定待ちタイマ割込み要求を発生
します。
252
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 11 章 メイン発振安定待ちタイマ
11.4 メイン発振待ち割込みの動作
MB91220 シリーズ
■ クロック供給機能の動作
MB91220 シリーズでは , INIT やストップモード後の発振安定待ち時間の確保にタイム
ベースカウンタが使用されますが , クロックソースとしてサブクロックを選択中にメ
インクロックの発振安定待ち時間を確保するには , クロックソース選択とは無関係に
メインクロックで動作するメイン発振安定待ちタイマを使用します。
サブクロック動作にてメイン発振停止状態からメインクロックの発振安定待ちを確保
するためには , 次の手順で行ってください。
(1) メインクロックの発振安定に必要な時間を WS1, WS0ビットに設定し , カウンタを
"0" にクリアします (WS1, WS0= 発振安定待ち時間 , WCL=0 書込み )。発振安定待
ち完了後の処理を割込みで行いたい場合は , 割込みフラグの初期化も行います
(WIF=0, WIE=0 書込み )。
(2) メインクロックの発振を開始します (OSCCR bit0: OCSDS1=0 書込み )。
(3) プログラムにて , WIF フラグが "1" になるまで待ちます。
(4) WIF フラグが "1" になったのを確認し , 発振安定待ち完了後の処理を行います。ま
た , 割込みを許可した場合は , WIF=1 のときに割込みが発生しますので , 割込み
ルーチンで発振安定待ち完了後の処理を行ってください。
サブクロックからメインクロックに切り換える場合も , (4) の WIF=1 の確認を待ってか
ら行ってください ( 発振安定を待たずにメインクロックへ切り換えると , デバイス全体
に不安定なクロックが供給され , その後の動作は保証されません )。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
253
第 11 章 メイン発振安定待ちタイマ
11.4 メイン発振待ち割込みの動作
MB91220 シリーズ
■ メイン発振安定待ちタイマ起動時のメインクロック移行時カウンタ状態
メイン発振安定待ちタイマを起動したとき , メインクロックへの移行時のカウンタ状
態を以下に示します。
図 11.4-1 メイン発振安定待ちタイマ起動時のメインクロック移行時カウンタ状態
(4)
(3)
(4)
(3)
(2)
(1) 216 (ビット15)
WEN
WCL
(4)
(4)
(2)
(2)
WIF
(2)
WIE
(2)
(4)
(6)
(4)
(6)
(1) インターバル時間の選択 (WS[1:0]) ( この例では , 216 を選択 )
(2) タイマのクリア (WCL=0), フラグのクリア (WIF=0), 割込み要求許可 (WIE=1), タイ
マカウント許可 (WEN=1) をソフトウェアで設定
(3) メインクロック ( 原発振 ) でタイマがカウントアップ
(4) 選択したインターバル時間 (216 分周の立下り ) でインターバル割込みが生成
(5) 割込み中の処理 ( ソフトウェア ):割込み要求クリア (WIF=0)
(6) (3) ∼ (5) を繰り返し
254
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 11 章 メイン発振安定待ちタイマ
11.4 メイン発振待ち割込みの動作
MB91220 シリーズ
■ メイン発振安定待ちタイマ使用時の注意事項
• 発振開始直後は発振周期が不安定なため , 発振安定待ち時間は目安値となります。
• メインクロックが発振停止中はカウンタも停止しますので , メイン発振安定割込み
も発生しません。メイン発振安定割込みを使った処理を行う場合は , メイン発振を
停止しないでください。
• WIF フラグセット要求と CPU からの "0" クリアタイミングが重なった場合は , フラ
グはセットされません。
■ メインクロック ↔ サブクロック切換え例
• メインクロック ↔ サブクロック切換え例を下記に示します。
図 11.4-2 メインクロック ↔ サブクロックの切換え例
メインラン
(PLL)
サブラン
4MHz発振起動
RTC 32kHzの起動
メイン発振安定待ち
タイマ起動
NO
RTC割込み
終了
YES
メインクロック切換え
PLL →2分周
メイン発振安定 ON
INT
NO
YES
ソースクロックの切換え
32kHz →4MHz
PLL OFF
ソースクロックの切換え
4MHz→32kHz
PLL ON
PLL安定待ち
4MHzの発振停止
メインクロック切換え
2分周→PLL
サブラン
CM71-10142-5
メインラン
(PLL)
FUJITSU SEMICONDUCTOR LIMITED
255
第 11 章 メイン発振安定待ちタイマ
11.4 メイン発振待ち割込みの動作
256
FUJITSU SEMICONDUCTOR LIMITED
MB91220 シリーズ
CM71-10142-5
第 12 章
16 ビットフリーランタイマ
16 ビットフリーランタイマの概要 , レジスタの構
成 / 機能および 16 ビットフリーランタイマの動作
について説明します。
CM71-10142-5
12.1
16 ビットフリーランタイマの概要
12.2
16 ビットフリーランタイマのレジスタ
12.3
16 ビットフリーランタイマの動作
FUJITSU SEMICONDUCTOR LIMITED
257
第 12 章 16 ビットフリーランタイマ
12.1 16 ビットフリーランタイマの概要
12.1
MB91220 シリーズ
16 ビットフリーランタイマの概要
16 ビットフリーランタイマの概要とブロックダイヤグラムを示します。
■ 16 ビットフリーランタイマの特長
16 ビットフリーランタイマは 16 ビットのアップカウンタ , コントロールステータスレ
ジスタより構成されています。本タイマのカウント値はアウトプットコンペア , イン
プットキャプチャのベースタイマとして使用されます。
MB91220 シリーズは , 16 ビットフリーランタイマを 2 つ搭載しており , 16 ビットフ
リーランタイマ 0 がアウトプットコンペア 0, 1 およびインプットキャプチャ0, 1 のベー
スタイマとして利用されます。また , 16 ビットフリーランタイマ 1 がインプットキャ
プチャ 2, 3 のベースタイマとして利用されます。
• カウントクロックは 4 種類から選択可能です。
• カウンタオーバフローにより割込みを発生することができます。
• モード設定により , アウトプットコンペアのコンペアレジスタ 0 (OCCP0) の値との
一致による 16 ビットフリーランタイマ 0 のカウンタの初期化が可能です。
■ 16 ビットフリーランタイマのレジスタ一覧
図 12.1-1 16 ビットフリーランタイマのレジスタ一覧
TCDT0, TCDT1( 上位 ) ( アクセス:Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
ch.0:0000D4H
ch.1:0000D8H
T15
T14
T13
T12
T11
T10
T9
T8
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
TCDT0, TCDT1( 下位 ) ( アクセス:Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
ch.0:0000D5H
ch.1:0000D9H
T7
T6
T5
T4
T3
T2
T1
T0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
TCCS0, TCCS1 ( アクセス:Byte, Half-word, Word)
アドレス
ch.0:0000D7H
ch.1:0000DBH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
ECLK
IVF
IVFE
STOP
MODE
CLR
CLK1
CLK0
R/W
R(RM1),W
R/W
R/W
R/W
R0,W
R/W
R/W
初期値
00000000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
258
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 12 章 16 ビットフリーランタイマ
12.1 16 ビットフリーランタイマの概要
MB91220 シリーズ
■ 16 ビットフリーランタイマのブロックダイヤグラム
図 12.1-2 16 ビットフリーランタイマのブロックダイヤグラム
割込み
IVFE
タイマコントロールレジスタ
(TCCS)
STOP MODE CLR CLK1 CLK0
R-bus
ECLK
IVF
分周期
φ
CK0
クロック選択
CK1
16ビットフリーランタイマ
タイマデータレジスタ(TCDT) クロック
内部回路へ(T15~T00)
コンパレータ0
(フリーランタイマ0の場合)
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
259
第 12 章 16 ビットフリーランタイマ
12.2 16 ビットフリーランタイマのレジスタ
12.2
MB91220 シリーズ
16 ビットフリーランタイマのレジスタ
16 ビットフリーランタイマで使用するレジスタの構成と機能について説明します。
■ タイマデータレジスタ (TCDT)
図 12.2-1 タイマデータレジスタ (TCDT) のビット構成
TCDT0, TCDT1( 上位 ) ( アクセス:Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
ch.0:0000D4H
ch.1:0000D8H
T15
T14
T13
T12
T11
T10
T9
T8
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
TCDT0, TCDT1( 下位 ) ( アクセス:Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
ch.0:0000D5H
ch.1:0000D9H
T7
T6
T5
T4
T3
T2
T1
T0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
16 ビットフリーランタイマのカウント値を読み出すことのできるレジスタです。カウ
ンタ値は , リセット時に "0000H" にクリアされます。このレジスタに書き込むことでタ
イマ値を設定できます。
書込みは必ず停止状態 (STOP =1) で行ってください。アクセスはハーフワード / ワード
単位で行ってください。
タイマの初期化は次の要因で行われます。
• リセットによる初期化
• コントロールステータスレジスタのクリア (CLR) による初期化
• アウトプットコンペアのコンペアレジスタ 0(OCCP0) 値とタイマカウンタ値の一致
による 16 ビットフリーランタイマ 0 のカウンタの初期化 ( モード設定が必要です )
260
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 12 章 16 ビットフリーランタイマ
12.2 16 ビットフリーランタイマのレジスタ
MB91220 シリーズ
■ タイマコントロールレジスタ (TCCS)
図 12.2-2 タイマコントロールレジスタ (TCCS) のビット構成
TCCS0, TCCS1 ( アクセス:Byte, Half-word, Word)
アドレス
bit7
ch.0:0000D7H
ch.1:0000DBH
bit6
bit5
bit4
bit3
bit2
bit1
bit0
ECLK
IVF
IVFE
STOP
R/W
R(RM1),W
R/W
R/W
MODE
CLR
CLK1
CLK0
R/W
R0,W
R/W
R/W
初期値
00000000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit7] ECLK
16 ビットフリーランタイマのカウントクロックソースとして , 内部クロックまたは
外部クロックを選択するビットです。クロックソースの選択は , アウトプットコン
ペア , インプットキャプチャが停止状態で行ってください。
ECLK
クロック選択
0
内部クロックソースを選択 [ 初期値 ]
1
外部端子 (CK0, CK1) を選択
<注意事項>
内部クロックを選択した場合は , TCCS レジスタの bit1, bit0 (CLK1, CLK0) にカウントク
ロックの設定を行ってください。このカウントクロックがベースクロックとなります。
外部クロックに必要な最低パルス幅は , 2T です (T : 周辺クロックサイクル )。
外部クロックを指定しアウトプットコンペアを使用した場合 , コンペア一致および割込み
は次のクロックサイクルで発生します。そのため , コンペア一致出力 , 割込みを発生させ
るためには , コンペア一致後 , 最低 "1 クロックサイクル " を入力する必要があります。
[bit6] IVF
16 ビットフリーランタイマの割込み要求フラグです。
16 ビットフリーランタイマがオーバフローを起こした場合 , またはモード設定によ
りアウトプットコンペアのコンペアレジスタ 0(OCCP0) とコンペアマッチして 16
ビットフリーランタイマ 0 のカウンタがクリアされた場合に本ビットは "1" にセッ
トされます。
割込み要求許可ビット (IVFE) がセットされていると割込みが発生します。
本ビットは "0" 書込みによりクリアされます。リードモディファイライト (RMW)
系命令では常に "1" が読み出されます。
IVF
CM71-10142-5
割込み要求フラグ
0
割込み要求なし [ 初期値 ]
1
割込み要求あり
FUJITSU SEMICONDUCTOR LIMITED
261
第 12 章 16 ビットフリーランタイマ
12.2 16 ビットフリーランタイマのレジスタ
MB91220 シリーズ
[bit5] IVFE
16 ビットフリーランタイマの割込み許可ビットです。
本ビットが "1" のとき , 割込みフラグ (IVF) に "1" がセットされると割込みが発生し
ます。
IVFE
割込みイネーブル
0
割込み禁止 [ 初期値 ]
1
割込み許可
[bit4] STOP
16 ビットフリーランタイマのカウントを停止するためのビットです。
STOP
カウント動作
0
カウント許可 ( 動作 ) [ 初期値 ]
1
カウント禁止 ( 停止 )
<注意事項>
16 ビットフリーランタイマが停止すると , アウトプットコンペア動作も停止します。
[bit3] MODE
16 ビットフリーランタイマの初期化条件を設定します。
本ビットが "0" のときは , リセットとクリアビット (bit2:CLR) でカウンタ値を初期
化することができます。
"1" のときは , リセットとクリアビット (bit2:CLR) のほかにアウトプットコンペアの
コンペアレジスタ値との一致によりカウンタ値を初期化することができます。この
とき 16 ビットフリーランタイマ ch.0 はアウトプットコンペアのコンペアレジスタ
0(OCCP0) との一致により初期化が行われます。
MODE
262
タイマの初期化条件
0
リセット , クリアビットによる初期化 [ 初期値 ]
1
リセット , クリアビット , コンペアレジスタによる初期化
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 12 章 16 ビットフリーランタイマ
12.2 16 ビットフリーランタイマのレジスタ
MB91220 シリーズ
[bit2] CLR
動作中の 16 ビットフリーランタイマ値を "0000H" に初期化するためのビットです。
本ビットに "1" を書き込むことにより , タイマ値を "0000H" に初期化します。読出
し値は常に "0" です。CLR は "0" 書込みでリセットされます。
<注意事項>
カウンタ値の初期化は , カウント値の変化点で行われます。本ビットに "1" 書込み後 , カ
ウント値が変化する前に "0" を書き込んだ場合には , タイマ値は初期化されません。
タイマ停止中に初期化する場合は , データレジスタに "0000H" を書き込んでください。タ
イマ停止中の CLR によるタイマクリアを禁止します。
[bit1, bit0] CLK1, CLK0
16 ビットフリーランタイマのカウントクロックを選択するビットです。
本ビットに書込みの後 , 直ちにカウントクロックは変更されます。本ビットの変更
は , アウトプットコンペア , インプットキャプチャが停止状態で行ってください。
CLK1
CLK0
カウントクロック
φ=32MHz
φ=16MHz
0
0
φ/22
125ns
250ns
0
1
φ/24
0.5μs
1μs
1
0
φ/25
1μs
2μs
1
1
φ/26
2μs
4μs
φ : 周辺クロック
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
263
第 12 章 16 ビットフリーランタイマ
12.3 16 ビットフリーランタイマの動作
12.3
MB91220 シリーズ
16 ビットフリーランタイマの動作
16 ビットフリーランタイマは , リセット解除後にカウンタ値 "0000H" よりカウント
を開始します。このカウンタ値が , 16 ビットアウトプットコンペアと 16 ビットイン
プットキャプチャの基準時間となります。
■ 16 ビットフリーランタイマの動作説明
カウンタ値は次の条件でクリアされます。
• オーバフローが発生したとき
• アウトプットコンペアのコンペアレジスタ 0 (OCCP0) 値とコンペアマッチしたとき
( モード設定が必要 )
• 動作中に TCCS レジスタの CLR ビットに "1" を書き込んだとき
• タイマ停止中に TCDT に "0000H" を書き込んだとき
• リセットをかけたとき
割込みは , オーバフローが発生したとき , アウトプットコンペアのコンペアレジスタ
0(OCCP0) 値とコンペアマッチしてカウンタがクリアされたときに発生します ( コンペ
アマッチ割込みはモード設定が必要です )。
図 12.3-1 オーバフローによるカウンタクリア
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
時間
0000H
リセット
割込み
264
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 12 章 16 ビットフリーランタイマ
12.3 16 ビットフリーランタイマの動作
MB91220 シリーズ
図 12.3-2 コンペアクリアレジスタ値とコンペアマッチしたときのカウンタクリア
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
時間
0000H
リセット
コンペアレジスタ
BFFFH
割込み
■ 16 ビットフリーランタイマのクリアタイミング
カウンタクリアは , 外部リセット , タイムデータレジスタの CLR ビットに "1" 書込み ,
コンペアクリアレジスタとの一致で行われます。
外部リセットによるカウンタクリアは , クリア発生と同時に行われますが , タイムデー
タレジスタの CLR ビットに "1" 書込みとコンペアクリアレジスタ 0 との一致によるカ
ウンタクリアはカウントタイミングに同期して行われます。
図 12.3-3 16 ビットフリーランタイマのクリアタイミング
コンペアクリアレジスタ値
N
カウンタクリア
カウンタ値
N
0000H
■ 16 ビットフリーランタイマのカウントタイミング
16 ビットフリーランタイマは , 入力されたクロック ( 内部または外部クロック ) により
カウントアップされます。外部クロック選択時は , 外部クロックの立下りエッジ↓をシ
ステムクロックで同期化した後 , 内部クロックの立下りでカウントされます。
図 12.3-4 16 ビットフリーランタイマのカウントタイミング
外部クロック入力
内部クロック
カウンタ値
CM71-10142-5
N
FUJITSU SEMICONDUCTOR LIMITED
N+1
265
第 12 章 16 ビットフリーランタイマ
12.3 16 ビットフリーランタイマの動作
MB91220 シリーズ
■ 16 ビットフリーランタイマの注意事項
• 割込み要求フラグセットタイミングとクリアタイミングが重複した場合には , フラ
グセットが優先し , クリア動作は無効となります。
• コントロールレジスタの bit2 ( カウンタ初期化ビット : CLR ) に "1" が書き込まれた
後 , カウンタ値の初期化は , カウント値の変化点で行われます。本ビットに "1" を書
き込んだ後 , カウント値が変化する前に "0" を書き込んだ場合には , タイマ値は初期
化されません。
• CLR ビットへの "1" 書込み / カウンタオーバフロー / コンペアクリアレジスタとの
一致によるカウンタクリア動作は , カウンタ動作中にのみ有効となります。停止中
にカウンタをクリアする場合は , タイマカウントデータレジスタに "0000H" を書き
込むようにしてください。
266
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 13 章
インプットキャプチャ
インプットキャプチャの概要 , レジスタの構成 , 機
能および動作について説明します。
CM71-10142-5
13.1
インプットキャプチャの概要
13.2
インプットキャプチャのレジスタ
13.3
インプットキャプチャの動作
FUJITSU SEMICONDUCTOR LIMITED
267
第 13 章 インプットキャプチャ
13.1 インプットキャプチャの概要
13.1
MB91220 シリーズ
インプットキャプチャの概要
インプットキャプチャの特長とブロックダイヤグラムを示します。
■ インプットキャプチャの特長
インプットキャプチャは外部から入力された信号の立上りエッジ , 立下りエッジまた
は両エッジを検出して , そのときの 16 ビットフリーランタイマ値をレジスタに保持す
る機能を持っています。また , エッジ検出時に割込みを発生することができます。
インプットキャプチャは , インプットキャプチャデータレジスタ , コントロールレジス
タで構成されています。
各インプットキャプチャは , それぞれに対応した外部入力端子を持っています。
• 外部入力の有効エッジを 3 種類から選択可能です。
- 立上りエッジ
- 立下りエッジ
- 両エッジ
• 外部入力有効エッジを検出したときに割込みを発生させることができます。
268
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 13 章 インプットキャプチャ
13.1 インプットキャプチャの概要
MB91220 シリーズ
■ インプットキャプチャのレジスタ一覧
図 13.1-1 にインプットキャプチャのレジスタ一覧を示します。
図 13.1-1 インプットキャプチャのレジスタ一覧
IPCP ( 上位 ) ( アクセス:Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
0000ECH(IPCP3)
0000EEH(IPCP2)
0000E4H(IPCP1)
0000E6H(IPCP0)
CP15
CP14
CP13
CP12
CP11
CP10
CP9
CP8
XXXXXXXXB
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
bit4
bit3
bit2
bit1
bit0
初期値
XXXXXXXXB
IPCP ( 下位 ) ( アクセス:Half-word, Word)
アドレス
0000EDH(IPCP3)
0000EFH(IPCP2)
0000E5H(IPCP1)
0000E7H(IPCP0)
bit7
bit6
bit5
CP7
CP6
CP5
CP4
CP3
CP2
CP1
CP0
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
ICS ( アクセス:Byte, Half-word, Word)
アドレス
0000F3H(ICS23)
0000EBH(ICS01)
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
ICP1
ICP0
ICE1
ICE0
EG11
EG10
EG01
EG00
R/W
R/W
R/W
R/W
R/W
R/W
R(RM1),W R(RM1),W
初期値
00000000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
269
第 13 章 インプットキャプチャ
13.1 インプットキャプチャの概要
MB91220 シリーズ
■ インプットキャプチャのブロックダイヤグラム
図 13.1-2 にインプットキャプチャのブロックダイヤグラムを示します。
図 13.1-2 インプットキャプチャのブロックダイヤグラム
16ビット タイマ(ch.0)カウント値
EG11
R-bus
IN0
入力端子
エッジ
検出
キャプチャデータレジスタ
ch.0
EG10
EG01
EG00
16ビット タイマ(ch.0)カウント値
ICP1
IN1
入力端子
エッジ
検出
キャプチャデータレジスタ
ch.1
ICP0
ICE1
ICE0
割込み
割込み
( 注意事項 ) インプットキャプチャ 0, 1 の場合
270
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 13 章 インプットキャプチャ
13.2 インプットキャプチャのレジスタ
MB91220 シリーズ
13.2
インプットキャプチャのレジスタ
インプットキャプチャで使用するレジスタの構成および機能について説明します。
■ インプットキャプチャレジスタ (IPCP)
図 13.2-1 インプットキャプチャレジスタ (IPCP) のビット構成
IPCP ( 上位 ) ( アクセス:Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
0000ECH(IPCP3)
0000EEH(IPCP2)
0000E4H(IPCP1)
0000E6H(IPCP0)
CP15
CP14
CP13
CP12
CP11
CP10
CP9
CP8
XXXXXXXXB
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
IPCP ( 下位 ) ( アクセス:Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
0000EDH(IPCP3)
0000EFH(IPCP2)
0000E5H(IPCP1)
0000E7H(IPCP0)
CP7
CP6
CP5
CP4
CP3
CP2
CP1
CP0
XXXXXXXXB
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
本レジスタは , 対応した外部端子から入力される波形の有効エッジを検出したときに ,
16 ビットフリーランタイマ値を保持するレジスタです。リセット時は不定です。
このレジスタは 16 ビットデータまたは 32 ビットデータでアクセスしてください。書
込みはできません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
271
第 13 章 インプットキャプチャ
13.2 インプットキャプチャのレジスタ
MB91220 シリーズ
■ インプットキャプチャコントロールレジスタ (ICS)
図 13.2-2 インプットキャプチャコントロールレジスタ (ICS) のビット構成
ICS ( アクセス:Byte, Half-word, Word)
アドレス
0000F3H(ICS23)
0000EBH(ICS01)
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
ICP1
ICP0
ICE1
ICE0
EG11
EG10
EG01
EG00
R/W
R/W
R/W
R/W
R/W
R/W
R(RM1),W R(RM1),W
初期値
00000000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit7, bit6] ICP1, ICP0
インプットキャプチャ割込みフラグです。外部入力端子の有効エッジを検出すると
本ビットを "1" にセットします。割込み許可ビット (ICE3 ∼ ICE0) がセットされて
いると , 有効エッジを検出することにより割込みを発生させることができます。本
ビットは "0" 書込みによりクリアされます。"1" 書込みは意味を持ちません。リー
ドモディファイライト (RMW) 系命令では "1" が読み出されます。
0 : 有効エッジ検出なし ( 初期値 )
1 : 有効エッジ検出あり
ICPn : n の番号がインプットキャプチャのチャネル番号に対応します。
[bit5, bit4] ICE1, ICE0
インプットキャプチャ割込み許可ビットです。本ビットが "1" のとき , 割込みフラ
グ(ICP3∼ICP0)が"1"にセットされるとインプットキャプチャ割込みが発生します。
0 : 割込み禁止 ( 初期値 )
1 : 割込み許可
ICEn : n の番号がインプットキャプチャのチャネル番号に対応します。
[bit3 ∼ bit0] EG11, EG10, EG01, EG00
外部入力の有効エッジ極性を選択するビットです。インプットキャプチャ動作も兼
用しています。
EGn1
EGn0
0
0
エッジ検出なし ( 停止状態 ) ( 初期値 )
0
1
立上りエッジ検出 ↑
1
0
立下りエッジ検出 ↓
1
1
両エッジ検出 ↑ & ↓
エッジ検出極性
EGn1/EGn0 : n の番号がインプットキャプチャのチャネル番号に対応します。
272
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 13 章 インプットキャプチャ
13.3 インプットキャプチャの動作
MB91220 シリーズ
13.3
インプットキャプチャの動作
インプットキャプチャの動作について説明します。
■ インプットキャプチャの取込みタイミング
インプットキャプチャは, 設定された有効エッジを検出すると, 16ビットフリーランタ
イマの値をキャプチャレジスタに取り込んで割込みを発生させることができます。
図 13.3-1 インプットキャプチャの取り込みタイミング例
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
時間
0000H
リセット
IN0
IN1
IN2
データレジスタ0
不定
3FFFH
不定
データレジスタ1
データレジスタ2
不定
BFFFH
BFFFH
7FFFH
キャプチャ0割込み
キャプチャ1割込み
キャプチャ2割込み
キャプチャ0: 立上りエッジ
キャプチャ1: 立下りエッジ
キャプチャ2: 両エッジ
再度有効エッジにより割込み発生
ソフトウェアにより割込みクリア
■ 16 ビットインプットキャプチャの入力タイミング
図 13.3-2 に 16 ビットインプットキャプチャの入力タイミングの例を示します。
図 13.3-2 16 ビットインプットキャプチャの入力タイミング
φ
カウンタ値
インプットキャプチャ入力
N
N+1
有効エッジ
キャプチャ信号
キャプチャレジスタ値
N+1
割込み
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
273
第 13 章 インプットキャプチャ
13.3 インプットキャプチャの動作
274
FUJITSU SEMICONDUCTOR LIMITED
MB91220 シリーズ
CM71-10142-5
第 14 章
アウトプットコンペア
アウトプットコンペアの概要 , レジスタの構成 , 機
能および動作について説明します。
CM71-10142-5
14.1
アウトプットコンペアの概要
14.2
アウトプットコンペアのレジスタ
14.3
アウトプットコンペアの動作
FUJITSU SEMICONDUCTOR LIMITED
275
第 14 章 アウトプットコンペア
14.1 アウトプットコンペアの概要
14.1
MB91220 シリーズ
アウトプットコンペアの概要
アウトプットコンペアの特長とブロックダイヤグラムを示します。
■ アウトプットコンペアの特長
アウトプットコンペアモジュールは , ビットコンペアレジスタ , コンペア出力ラッチお
よび制御レジスタで構成されています。
16 ビットフリーランタイマ値がコンペアレジスタ値と一致すると , 出力レベルが反転
し , 割込みが発行されます。
• 2 つのコンペアレジスタは独立に使用できます。
出力ピンと割込みフラグはコンペアレジスタに対応しています。
• 出力ピンは 2 つのコンペアレジスタの対に基づいて制御できます。
出力ピンは 2 つのコンペアレジスタを使用して反転させることができます。
• 出力ピンの初期値を設定できます。
• コンペア ( 比較 ) が一致したとき割込みを発生させることができます。
■ アウトプットコンペアのレジスタ一覧
図 14.1-1 アウトプットコンペアのレジスタ一覧
OCCP( 上位 ) ( アクセス:Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
000108H(OCCP1)
00010AH(OCCP0)
C15
C14
C13
C12
C11
C10
C9
C8
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
OCCP( 下位 ) ( アクセス:Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000109H(OCCP1)
00010BH(OCCP0)
C7
C6
C5
C4
C3
C2
C1
C0
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit12
bit11
bit10
bit9
bit8
OCS01( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
000112H
bit15
bit14
bit13
CMOD
−
−
−
−
−
R1,WX R1,WX R1,WX
R/W
R1,WX R1,WX
OTD1
OTD0
R/W
R/W
bit1
bit0
CST1
CST0
R/W
R/W
初期値
---0 --00B
OCS01( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
000113H
bit7
bit6
bit5
bit4
ICP1
ICP0
ICE1
ICE0
R/W
R/W
R(RM1),W R(RM1),W
bit3
bit2
−
−
R1,WX R1,WX
初期値
0000 --00B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
276
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 14 章 アウトプットコンペア
14.1 アウトプットコンペアの概要
MB91220 シリーズ
■ アウトプットコンペアのブロックダイヤグラム
図 14.1-2 に , アウトプットコンペアのブロックダイヤグラムを示します。
図 14.1-2 アウトプットコンペアのブロックダイヤグラム
OTD1
OTD0
コンペアレジスタ
コンペア
出力用ラッチ
コンペア回路
OTE0
出力(ch.0)
コンペアレジスタ
CMOD
コンペア
出力用ラッチ
R-bus
コンペア回路
CST1
OTE1
出力(ch.1)
CST0
ICP1
ICP0
ICE1
ICE0
16ビット
フリーランタイマ(0)
割込み出力
割込み出力
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
277
第 14 章 アウトプットコンペア
14.2 アウトプットコンペアのレジスタ
14.2
MB91220 シリーズ
アウトプットコンペアのレジスタ
アウトプットコンペアで使用するレジスタの構成および機能について説明します。
■ コンペアレジスタ (OCCP)
図 14.2-1 コンペアレジスタ (OCCP) のビット構成
OCCP( 上位 ) ( アクセス:Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
000108H(OCCP1)
00010AH(OCCP0)
C15
C14
C13
C12
C11
C10
C9
C8
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
OCCP( 下位 ) ( アクセス:Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000109H(OCCP1)
00010BH(OCCP0)
C7
C6
C5
C4
C3
C2
C1
C0
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
16 ビットフリーランタイマと比較する 16 ビット長のコンペアレジスタです。本レジス
タは , 初期値不定ですのでコンペア値を設定してから起動を許可してください。本レジ
スタは 16 ビットまたは 32 ビットでアクセスしてください。本レジスタ値と 16 ビット
フリーランタイマ値が一致した場合 , コンペア信号が発生してアウトプットコンペア
割込みフラグをセットします。また , ポートファンクションレジスタ (PFR) の対応する
OTE をセットし出力許可している場合は , コンペアレジスタに対応した出力レベルを
反転します。
278
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 14 章 アウトプットコンペア
14.2 アウトプットコンペアのレジスタ
MB91220 シリーズ
■ アウトプットコントロールレジスタ (OCS)
図 14.2-2 アウトプットコントロールレジスタ (OCS) のビット構成
OCS01( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
000112H
−
R1,WX
−
R1,WX
−
R1,WX
CMOD
−
R1,WX
−
R1,WX
OTD1
OTD0
R/W
R/W
R/W
初期値
---0 --00B
OCS01( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
000113H
ICP1
ICP0
ICE1
ICE0
CST0
R/W
−
R1,WX
CST1
R/W
−
R1,WX
R/W
R/W
R(RM1),W R(RM1),W
初期値
0000 --00B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit15 ∼ bit13]
未使用ビットです。読出しでは必ず "1" が読み出されます。
[bit12] CMOD
出力端子を許可した場合のコンペア一致における端子出力レベル反転動作を指定
します。
CMOD = 0 ( 初期値 ) のとき , コンペアレジスタに対応した端子の出力レベルを反転
します。
OC0 : コンペアレジスタ 0 の一致によりレベルを反転します。
OC1 : コンペアレジスタ 1 の一致によりレベルを反転します。
CMOD = 1 のとき
OC0 : コンペアレジスタ 0 の一致によりレベルを反転します。
OC1 : コンペアレジスタ 0 と 1 の一致によりレベルを反転します。
[bit11, bit10]
未使用ビットです。読出しでは必ず "1" が読み出されます。
[bit9, bit8] OTD1, OTD0
アウトプットコンペアレジスタの出力端子を許可した場合の端子出力レベルを指
定します。指定はコンペア動作を停止してから行ってください。読出し動作では ,
アウトプットコンペア端子出力が読み出されます。
0 : コンペア端子出力を "0" にします ( 初期値 )。
1 : コンペア端子出力を "1" にします。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
279
第 14 章 アウトプットコンペア
14.2 アウトプットコンペアのレジスタ
MB91220 シリーズ
[bit7, bit6] ICP1, ICP0
アウトプットコンペアの割込みフラグです。コンペアレジスタと 16 ビットフリー
ランタイマ値が一致した場合に "1" にセットされます。割込み要求ビット (ICE1,
ICE0) が許可されているときに本ビットが "1" にセットされると , アウトプットコン
ペア割込みが発生します。本ビットは "0" 書込みによりクリアされ , "1" 書込みは意
味を持ちません。リードモディファイライト (RMW) 系命令では "1" が読み出され
ます。
0 : アウトプットコンペア一致なし ( 初期値 )
1 : アウトプットコンペア一致あり
フリーランタイマに外部クロックを指定した場合 , コンペア一致および割込みは次
のクロックで発生します。そのため , コンペア一致出力および割込みを発生させる
ためには , コンペア一致後 , フリーランタイマの外部クロックに最低 "1 クロック "
を入力する必要があります。
[bit5, bit4] ICE1, ICE0
アウトプットコンペアの割込みを許可するビットです。本ビットが "1" のとき , 割
込みフラグ (ICP1, ICP0) が "1" にセットされるとアウトプットコンペア割込みが発
生します。
0 : アウトプットコンペア割込み禁止 ( 初期値 )
1 : アウトプットコンペア割込み許可
[bit3, bit2]
未使用ビットです。読出しでは必ず "1" が読み出されます。
[bit1, bit0] CST1, CST0
16 ビットフリーランタイマとの一致動作を許可するビットです。コンペア動作を許
可する前に必ずコンペアレジスタ値およびアウトプットコントロールレジスタ値
を設定してください。
0 : コンペア動作禁止 ( 初期値 )
1 : コンペア動作許可
アウトプットコンペアは , 16 ビットフリーランタイマと同期させているため , 16
ビットフリーランタイマを停止させるとコンペア動作も停止します。
280
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 14 章 アウトプットコンペア
14.3 アウトプットコンペアの動作
MB91220 シリーズ
14.3
アウトプットコンペアの動作
アウトプットコンペアの動作について説明します。
■ アウトプットコンペアの動作
アウトプットコンペアは , 設定されたコンペアレジスタ値と 16 ビットフリーランタイ
マ値とを比較して , 一致したら割込みフラグをセットするとともに , 出力レベルを反転
することができます。
図 14.3-1 に , 1 チャネル独立でコンペア動作を行った場合 (CMOD =0 のとき ) の出力波
形例を示します。
図 14.3-1 コンペアレジスタ 0, 1 を使用した場合の出力波形例 ( 出力の初期値は "0")
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
0000H
時間
リセット
コンペアレジスタ0値
BFFFH
コンペアレジスタ1値
7FFFH
OP0出力
OP1出力
コンペア0割込み
コンペア1割込み
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
281
第 14 章 アウトプットコンペア
14.3 アウトプットコンペアの動作
MB91220 シリーズ
図 14.3-2 に , 2 組のコンペアレジスタを使い , 出力レベルを変えた場合 (CMOD = 1 のと
き ) の出力波形例を示します。
図 14.3-2 コンペアレジスタ 0, 1 を使用したときの出力波形例 ( 出力の初期値は "1")
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
0000H
時間
リセット
コンペアレジスタ0値
BFFFH
コンペアレジスタ1値
7FFFH
OP0出力
OP1出力
コンペア0割込み
コンペア1割込み
282
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 14 章 アウトプットコンペア
14.3 アウトプットコンペアの動作
MB91220 シリーズ
■ 16 ビットアウトプットコンペアの動作タイミング
2 組のコンペアレジスタを使い , 出力レベルを変えることができます (CMOD = 1 のと
き )。
アウトプットコンペアは , フリーランタイマのタイマ値と , コンペアレジスタの値が一
致したときにコンペアマッチ信号が発生して出力を反転するとともに割込みを発生さ
せることができます。コンペアマッチ時の出力反転は , カウンタのカウントタイミング
に同期して行われます。
<コンペアレジスタライトタイミング>
コンペアレジスタ書換え時には , カウンタ値とはコンペアしません。
カウンタ値
N
N+1
N+2
N+3
一致信号は発生しない
コンペアクリアレジスタ0値
M
N+1
コンペアレジスタ0ライト
コンペアクリアレジスタ1値
L
N+3
コンペアレジスタ1ライト
コンペア0停止
コンペア1停止
<コンペアマッチ , 割込みタイミング>
カウントクロック
カウンタ値
コンペアレジスタ値
N
N+1
N+3
N+2
N
コンペアマッチ
端子出力
割込み
<端子出力タイミング>
カウンタ値
コンペアレジスタ値
N
N+1
N
N+1
N
コンペアマッチ
端子出力
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
283
第 14 章 アウトプットコンペア
14.3 アウトプットコンペアの動作
284
FUJITSU SEMICONDUCTOR LIMITED
MB91220 シリーズ
CM71-10142-5
第 15 章
外部バスインタフェース
外部バスインタフェース , 内部バスと外部のメモリ
および I/O デバイスとのインタフェースを制御しま
す。
CM71-10142-5
15.1
外部バスインタフェースの概要
15.2
外部バスインタフェースのレジスタ
15.3
外部バスインタフェースのエンディアンとバスアクセ
ス
15.4
外部バスインタフェースの通常バスインタフェース
15.5
外部バスインタフェースのレジスタ設定手順
15.6
外部バスインタフェース使用上の注意
FUJITSU SEMICONDUCTOR LIMITED
285
第 15 章 外部バスインタフェース
15.1 外部バスインタフェースの概要
15.1
MB91220 シリーズ
外部バスインタフェースの概要
外部バスインタフェースの特長とブロックダイヤグラムを説明します。
■ 外部バスインタフェースの特長
• 16 ビット長のアドレス出力
• データバス幅 , 8 ビット /16 ビット
• 各種外部メモリ (8 ビット /16 ビット品 ) を直結できるほか , 複数のアクセスタイミ
ングを混在制御可能
非同期 SRAM, 非同期 ROM/ フラッシュメモリ ( 複数ライトストローブ方式またはバ
イトイネーブル方式 )
• 独立した 4 個のバンク ( チップセレクト領域 ) を設定でき , それぞれに対応したチッ
プセレクト出力が可能
CS0X, CS1X は , 64K/128K/256K/512K バイト単位で , "003FFFFFH" までの外部バス
領域に割り当てられた空間に設定可能
CS2X, CS3X は , 1M/2M/4M/8M バイト単位で , "00400000H" ∼ "00FFFFFFH" の空間
に設定可能
領域サイズによりバウンダリの制限あり
<注意事項>
MB91220 シリーズでは領域サイズを大きく指定しても , 64K バイトのイメージとなりま
す。
• チップセレクト領域ごとに以下の機能を独立に設定可能
チップセレクト領域の許可・禁止 ( 禁止された領域はアクセスを行いません )
各種メモリ対応などのアクセスタイミングタイプ設定
詳細アクセスタイミング設定 ( ウェイトサイクルなどのアクセスタイプ個別設定 )
データバス幅設定 (8 ビット /16 ビット )
• アクセスタイミングタイプごとに異なる詳細なタイミングを設定可能
- 同一タイプでもチップセレクト領域ごとに異なる設定が混在可能
- オートウェイトは , 最大 7 サイクルまで設定可能 ( 非同期 SRAM, ROM, Flash, I/O
領域 )
- 外部 RDY 入力によるバスサイクルの延長が可能 ( 非同期 SRAM, ROM, Flash, I/O
領域 )
- 各種アイドル・リカバリサイクル , セットアップ遅延などの挿入が可能
• 外部インタフェースの未使用端子は , 設定により汎用 I/O ポートとして使用可能
286
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 15 章 外部バスインタフェース
15.1 外部バスインタフェースの概要
MB91220 シリーズ
■ 外部バスインタフェースのブロックダイヤグラム
図 15.1-1 に , 外部バスインタフェースのブロックダイヤグラムを示します。
図 15.1-1 外部バスインタフェースのブロックダイヤグラム
内部アドレスバス
32
内部データバス
32
外部データバス
ライトバッファ
スイッチ
リードバッファ
スイッチ
データブロック
アドレスブロック
+1 または +2
外部アドレスバス
アドレスバッファ
ASR
CS0X~CS3X
ASZ
コンパレータ
外部端子制御部
RDX
WR0X, WR1X,
ASX
全ブロック制御
レジスタ制御部
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
RDY
SYSCLK
287
第 15 章 外部バスインタフェース
15.1 外部バスインタフェースの概要
MB91220 シリーズ
■ I/O ピン
外部バスインタフェースの端子です。
<通常バスインタフェース>
A15 ∼ A00, D15 ∼ D00
CS0X, CS1X, CS2X, CS3X
ASX, SYSCLK
RDX
WR0X, WR1X
RDY
■ 外部バスインタフェースのレジスタ一覧
外部バスインタフェースのレジスタ構成は , 以下のとおりです。
図 15.1-2 外部バスインタフェースのレジスタ一覧
アドレス
bit31
bit24 bit23
bit16 bit15
bit8 bit7
00000640H
ASR0
ACR0
00000644H
ASR1
ACR1
00000648H
ASR2
ACR2
0000064CH
ASR3
ACR3
00000650H
予約
予約
00000654H
予約
予約
00000658H
予約
予約
0000065CH
予約
予約
00000660H
AWR0
AWR1
00000664H
AWR2
AWR3
00000668H
予約
予約
0000066CH
予約
予約
bit0
00000670H
−
−
−
−
00000674H
−
−
−
−
00000678H
−
−
−
−
0000067CH
−
−
−
−
00000680H
CSER
−
−
−
00000684H
−
−
−
−
00000688H
−
−
−
−
0000068CH
−
−
−
−
…
…
…
…
…
000007F8H
−
−
−
−
000007FCH
−
MODR
−
−
予約 : 予約レジスタです。書き込む場合は , 必ず "0" を設定してください。
288
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 15 章 外部バスインタフェース
15.2 外部バスインタフェースのレジスタ
MB91220 シリーズ
15.2
外部バスインタフェースのレジスタ
外部バスインタフェースのレジスタについて説明します。
■ 外部バスインタフェースのレジスタ概要
外部バスインタフェースには , 以下の 6 種類のレジスタがあります。
• ASR0 ∼ ASR3(Area Select Register)
• ACR0 ∼ ACR3(Area Configuration Register)
• AWR0 ∼ AWR3(Area Wait Register)
• IOWR0 ∼ IOWR3(I/O Wait Register for DMAC)
• CSER(Chip Select Enable Register)
■ ASR0 ∼ ASR3 (Area Select Register)
図 15.2-1 ASR0 ∼ ASR3 (Area Select Register) のビット構成
ASR0 ( アクセス:Byte, Half-word, Word)
アドレス
0000 0640H
bit15
…
bit8
bit7
bit6
…
bit1
bit0
初期値
−
…
−
A23
A22
…
A17
A16
0000H
R0,WX
…
R0,WX
R/W
R/W
…
R/W
R/W
ASR1 ( アクセス:Byte, Half-word, Word)
アドレス
0000 0644H
bit15
…
bit8
bit7
bit6
…
bit1
bit0
初期値
−
…
−
A23
A22
…
A17
A16
XXXXH
RX,WX
…
RX,WX
R/W
R/W
…
R/W
R/W
ASR2 ( アクセス:Byte, Half-word, Word)
アドレス
0000 0648H
bit15
…
bit8
bit7
bit6
…
bit1
bit0
初期値
−
…
−
A23
A22
…
A17
A16
XXXXH
RX,WX
…
RX,WX
R/W
R/W
…
R/W
R/W
ASR3 ( アクセス:Byte, Half-word, Word)
アドレス
0000 064CH
bit15
…
bit8
bit7
bit6
…
bit1
bit0
初期値
−
…
−
A23
A22
…
A17
A16
00XXH
R0,WX
…
R0,WX
R/W
R/W
…
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
289
第 15 章 外部バスインタフェース
15.2 外部バスインタフェースのレジスタ
MB91220 シリーズ
[bit15 ∼ bit8] Reserved
書込みは動作に影響ありません。書込み動作後は "0" が読み出されます。
[bit7 ∼ bit0] A23 ∼ A16
ASR0 ∼ ASR3(Area Select Register 0 ∼ 3) は , CS0X ∼ CS3X の各チップセレクト領
域の開始アドレスを指定します。
開始アドレスは , A23 ∼ A16 の上位 12 ビットを設定できます。各チップセレクト
領域は , このレジスタに設定されたアドレスから始まり , ACR0 ∼ ACR3 レジスタ
の ASZ1, ASZ0 ビットで設定された範囲をとります。
各チップセレクト領域のバウンダリは , ACR0 ∼ ACR3 レジスタの ASZ1, ASZ0 ビッ
トの設定に従います。例えば , ASZ1, ASZ0 ビットにより , 1 M バイトの領域を設定し
た場合は , ASR0 ∼ ASR3 レジスタの下位 4 ビットは無視され , A23 ∼ A20 ビットの
み意味を持ちます。
ASR0 レジスタは , INIT および RST により "00H" に初期化されます。ASR1 ∼ ASR3
は , INIT および RST によっては初期化されず不定となります。LSI の動作開始後 ,
CSER レジスタにより各チップセレクト領域を有効にする前に , 必ず対応する ASR
レジスタを設定してください。
<注意事項>
ASR と ACR はワードアクセスで同時設定してください。
ASR, ACRをハーフワードでアクセスする場合にはASR設定後ACRを設定してください。
290
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 15 章 外部バスインタフェース
15.2 外部バスインタフェースのレジスタ
MB91220 シリーズ
■ ACR0 ∼ ACR3 (Area Configuration Register)
図 15.2-2 ACR0 ∼ ACR3 (Area Configuration Register) のビット構成
ACR0H ( アクセス:Byte, Half-word, Word)
bit15
bit14
bit13
アドレス
bit12
bit11
bit10
bit9
bit8
ASZ1
ASZ0
−
DBW0
−
−
R0,WX R0,WX
R/W
ACR0L ( アクセス:Byte, Half-word, Word)
bit7
bit6
bit5
アドレス
R/W
R0,WX
R/W
R0,WX
R0,WX
bit4
bit3
bit2
bit1
bit0
0000 0642H
0000 0643H
−
−
−
−
WREN
−
TYP3
TYP2
TYP1
TYP0
R0,WX
R0,WX
R/W
R0,WX
R/W
R/W
R/W
R/W
bit12
bit11
bit10
bit9
bit8
ASZ1
ASZ0
−
DBW0
−
−
R/W
R/W
R0,WX
R/W
R0,WX
R0,WX
bit4
bit3
bit2
bit1
bit0
ACR1H ( アクセス:Byte, Half-word, Word)
bit15
bit14
bit13
アドレス
0000 0646H
−
−
RX,WX RX,WX
ACR1L ( アクセス:Byte, Half-word, Word)
bit7
bit6
bit5
アドレス
0000 0647H
−
−
WREN
−
TYP3
TYP2
TYP1
TYP0
R0,WX
R0,WX
R/W
R0,WX
R/W
R/W
R/W
R/W
bit12
bit11
bit10
bit9
bit8
ASZ1
ASZ0
−
DBW0
−
−
R/W
R/W
R0,WX
R/W
R0,WX
R0,WX
bit4
bit3
bit2
bit1
bit0
ACR2H ( アクセス:Byte, Half-word, Word)
bit15
bit14
bit13
アドレス
0000 064AH
−
−
RX,WX RX,WX
ACR2L ( アクセス:Byte, Half-word, Word)
bit7
bit6
bit5
アドレス
0000 064BH
−
−
WREN
−
TYP3
TYP2
TYP1
TYP0
R0,WX
R0,WX
R/W
R0,WX
R/W
R/W
R/W
R/W
bit12
bit11
bit10
bit9
bit8
ACR3H ( アクセス:Byte, Half-word, Word)
bit15
bit14
bit13
アドレス
0000 064EH
−
−
ASZ1
ASZ0
−
DBW0
−
−
R0,WX
R1,WX
R/W
R/W
R0,WX
R/W
R0,WX
R0,WX
bit4
bit3
bit2
bit1
bit0
ACR3L ( アクセス:Byte, Half-word, Word)
bit7
bit6
bit5
アドレス
0000 064FH
*
−
−
WREN
−
TYP3
TYP2
TYP1
TYP0
R0,WX
R0,WX
R/W
R0,WX
R/W
R/W
R/W
R/W
初期値
00110*00B
初期値
00000000B
初期値
XXXX0X00B
初期値
00X0XXXXB
初期値
XXXX0X00B
初期値
00X0XXXXB
初期値
01XX0X00B
初期値
00X0XXXXB
: モードベクタの WTH ビットと同じ値に自動設定
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
ACR0 ∼ ACR3(Area Configuration Register 0 ∼ 3) は , 各チップセレクト領域の機能を設
定します。
[bit15, bit14] Reserved
書込みは動作に影響ありません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
291
第 15 章 外部バスインタフェース
15.2 外部バスインタフェースのレジスタ
MB91220 シリーズ
[bit13, bit12] ASZ1, ASZ0 = Area Size bit [1:0]
各チップセレクト領域のサイズを以下のとおり設定します。
ASZ1 ASZ0
レジスタ
各チップセレクト領域のサイズ
設定
0
0
64K バイト
(00010000H バイト , ASR A[23:16] ビット指定が有効 )
0
1
128K バイト (00020000H バイト , ASR A[23:17] ビット指定が有効 )
1
0
256K バイト (00040000H バイト , ASR A[23:18] ビット指定が有効 )
1
1
512K バイト (00080000H バイト , ASR A[23:19] ビット指定が有効 )
0
0
1M バイト
(00100000H バイト , ASR A[23:20] ビット指定が有効 )
0
1
2M バイト
(00200000H バイト , ASR A[23:21] ビット指定が有効 )
1
0
4M バイト
(00400000H バイト , ASR A[23:22] ビット指定が有効 )
1
1
8M バイト
(00800000H バイト , ASR A[23] ビット指定のみ有効 )
ASR0/ASR1
ASR2/ASR3
CS0X,
CS1X
のみ
有効
CS2X,
CS3X
のみ
有効
ASZ1, ASZ0 では , ASR とのアドレス比較のビット数を変更させることにより , 各領
域のサイズを設定します。そのため , ASR には比較されないビットが存在します。
ACR0 の ASZ1, ASZ0 ビットは , RST により "11B" に初期化されますが , この設定に
かかわらず RST 直後の CS0 領域は特別に "00000000H" から "00FFFFFFH" ( 全領域 )
に設定されています。ACR0 への最初の書込み後より , 全領域設定が解除され , 上記
の表に従ったサイズに設定されます。
<注意事項>
MB91220 シリーズでは領域サイズを大きく指定しても , 64K バイトのイメージとなりま
す。
[bit11] Reserved
必ず , "0" を設定してください。
[bit10] DBW0 = Data Bus Width[0]
各チップセレクト領域のデータバス幅を以下のとおり設定します。
DBW0
データバス幅
0
8 ビット
1
16 ビット ( ハーフワードアクセス )
( バイトアクセス )
ACR0 の DBW0 ビットは , リセットシーケンス中にモードベクタの WTH ビットの
値と同じ値が自動的に書き込まれます。
[bit9, bit8] Reserved
必ず , "00B" を設定してください。
292
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 15 章 外部バスインタフェース
15.2 外部バスインタフェースのレジスタ
MB91220 シリーズ
[bit7] Reserved
必ず , "0" を設定してください。
[bit6] Reserved
必ず , "0" を設定してください。
[bit5] WREN = WRite ENable
各チップセレクト領域の書込みの許可・禁止を設定します。
WREN
書込み許可・禁止
0
書込み禁止
1
書込み許可
書込みが禁止された領域に対する書込みアクセスが内部バスから発生しても , その
アクセスは無視され , 外部アクセスを一切行いません。
データ領域など , 書込みが必要な領域は , WREN ビットに "1" を設定してください。
[bit4] Reserved
必ず , "0" を設定してください。
[bit3 ∼ bit0] TYP3, TYP2, TYP1, TYP0 = TYPe select
各チップセレクト領域のアクセスタイプの設定を以下に示します。
TYP3 TYP2 TYP1 TYP0
アクセスタイプ
0
X
X
通常アクセス ( 非同期 SRAM, I/O, single ROM/Flash)
1
X
X
設定禁止
X
0
RDY 端子による WAIT 挿入無効
X
1
RDY 端子による WAIT 挿入有効
0
X
WR0X, WR1X 端子をライトストローブとして使用
1
X
設定禁止
0
設定禁止
1
設定禁止
0
X
0
1
0
0
1
0
設定禁止
0
1
1
設定禁止
1
0
0
設定禁止
1
0
1
設定禁止
1
1
0
設定禁止
1
1
1
マスク領域設定 ( アクセスタイプは重複した領域のも
のになります )*
各ビットは , 組み合せて設定します。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
293
第 15 章 外部バスインタフェース
15.2 外部バスインタフェースのレジスタ
MB91220 シリーズ
* : CS 領域マスク設定機能
ある CS 領域 ( 以降 , ベース設定領域とよびます ) の中に , 一部動作設定を変更
した領域を定義したい場合 , 別の CS 領域の設定にて , ACR:TYP[3:0]=1111B を
設定し , マスク設定領域として機能させることができます。
マスク設定機能を使用しない場合 , 複数の CS 領域でオーバラップする領域設定
は禁止します。
マスク設定領域へのアクセスは , 以下のような動作を行います。
- マスク設定領域に対応する CSX は有効とされません。
- ベース設定領域に対応する CSX が有効とされます。
- ACR の以下の設定はマスク設定領域側のものが有効になります。
bit10: DBW0 : バス幅設定
bit5: WREN : ライト許可設定
( 注意事項 ) この設定のみ , ベース設定領域と異なる設定は禁止します。
- ACR の以下の設定はベース設定領域側のものが有効になります。
bit[3:0] TYP[3:0] : アクセスタイプ設定
- AWR の設定はマスク設定領域側のものが有効になります。
マスク設定領域は , ほかの CS 領域 ( ベース設定領域 ) 内の一部の領域にのみ設
定できます。ベース設定領域がない領域に対して , マスク設定領域を設けては
いけません。また , マスク設定領域を複数重複させてはいけません。ASR およ
び ACR:ASZ[1:0] ビットの設定には十分注意してください。
<注意事項>
ライト許可設定をマスクで実現することはできません。
ライト許可設定は , ベースとなる CS 領域とマスク設定領域とで , 同じ設定にしてくださ
い。
マスク設定領域でライト禁止を設定すると , その領域はマスクされずベース CS 領域とし
て動作します。
ベース CS 領域でライト禁止を設定し , マスク設定領域でライト許可を設定すると , ベー
ス設定のない領域となり誤動作します。
294
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 15 章 外部バスインタフェース
15.2 外部バスインタフェースのレジスタ
MB91220 シリーズ
■ AWR0 ∼ AWR3 (Area Wait Register)
AWR0 ∼ AWR3 のレジスタ構成を図 15.2-3 に示します。
図 15.2-3 AWR0 ∼ AWR3 (Area Wait Register) のビット構成
AWR0H ( アクセス:Byte, Half-word, Word)
bit15
bit14
bit13
アドレス
0000 0660H
bit12
bit11
bit10
bit9
bit8
W14
W13
W12
−
−
−
−
R0,WX
R/W
R/W
R/W
R0,WX
R0,WX
R0,WX
R0,WX
bit4
bit3
bit2
bit1
bit0
初期値
01011011B
−
W06
−
W04
−
W02
W01
W00
R0,WX
R/W
R0,WX
R/W
R1,WX
R/W
R/W
R/W
bit12
bit11
bit10
bit9
bit8
AWR1H ( アクセス:Byte, Half-word, Word)
bit15
bit14
bit13
アドレス
0000 0662H
W13
W12
−
−
−
−
RX,WX
R/W
R/W
R/W
R0,WX
R0,WX
R0,WX
R0,WX
bit4
bit3
bit2
bit1
bit0
初期値
XX0X1XXXB
−
W06
−
W04
−
W02
W01
W00
RX,WX
R/W
R0,WX
R/W
R1,WX
R/W
R/W
R/W
bit12
bit11
bit10
bit9
bit8
W13
W12
−
−
−
−
R0,WX
R/W
R/W
R/W
R0,WX
R0,WX
R0,WX
R0,WX
bit4
bit3
bit2
bit1
bit0
初期値
XX0X1XXXB
−
W06
−
W04
−
W02
W01
W00
RX,WX
R/W
R0,WX
R/W
R1,WX
R/W
R/W
R/W
bit12
bit11
bit10
bit9
bit8
初期値
0XXX0000B
−
W14
W13
W12
−
−
−
−
R0,WX
R/W
R/W
R/W
R0,WX
R0,WX
R0,WX
R0,WX
bit4
bit3
bit2
bit1
bit0
初期値
0X0X1XXXB
AWR3L ( アクセス:Byte, Half-word, Word)
bit7
bit6
bit5
アドレス
0000 0667H
0XXX0000B
W14
AWR3H ( アクセス:Byte, Half-word, Word)
bit15
bit14
bit13
アドレス
0000 0666H
初期値
−
AWR2L ( アクセス:Byte, Half-word, Word)
bit7
bit6
bit5
アドレス
0000 0665H
XXXX0000B
W14
AWR2H ( アクセス:Byte, Half-word, Word)
bit15
bit14
bit13
アドレス
0000 0664H
初期値
−
AWR1L ( アクセス:Byte, Half-word, Word)
bit7
bit6
bit5
アドレス
0000 0663H
01110000B
−
AWR0L ( アクセス:Byte, Half-word, Word)
bit7
bit6
bit5
アドレス
0000 0661H
初期値
−
W06
−
W04
−
W02
W01
W00
R0,WX
R/W
R0,WX
R/W
R1,WX
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
AWR0 ∼ AWR3 は , 各チップセレクト領域の各種ウェイトタイミングを指定します。
ACR0 ∼ ACR3 レジスタのアクセスタイプ (TYP3 ∼ TYP0 ビット ) の設定により , 各
ビットの動作が変わります。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
295
第 15 章 外部バスインタフェース
15.2 外部バスインタフェースのレジスタ
MB91220 シリーズ
[bit15] Reserved
書込みは動作に影響ありません。書込み動作後は "0" が読み出されます。
[bit14 ∼ bit12] W14 ∼ W12 =
ファーストアクセスウェイトサイクル
(First Access Wait Cycle)
各サイクルの最初のアクセスサイクルに挿入するオートウェイトサイクル数を設
定します。
CS0 領域は , 初期値 7 ウェイトに設定されます。その他の領域は初期値不定です。
W14
W13
W12
0
0
0
自動ウェイトサイクル 0
0
0
1
自動ウェイトサイクル 1
ファーストアクセスウェイトサイクル
…
…
1
1
0
自動ウェイトサイクル 6
1
1
1
自動ウェイトサイクル 7
[bit11 ∼ bit8] Reserved
常に "0" が読み出されます。書込みは動作に影響ありません。
[bit7] 予約ビット
書込みは動作に影響ありません。書込み動作後は "0" が読み出されます。
[bit6] W06 = リード→ライトアイドルサイクル (Read → Write Idle Cycle)
リード→ライトアイドルサイクルは , リードサイクル後にライトサイクルが続く場
合に , リードデータとライトデータのデータバス上での衝突を防ぐために設定しま
す。アイドルサイクル中はすべてのチップセレクト信号をネゲートし , データ端子
はハイインピーダンス状態を維持します。
リード後にライトが続く場合 , もしくは , リードの後に別のチップセレクト領域へ
のアクセスが発生した場合に , 指定したアイドルサイクルを挿入します。
W06
リード→ライトアイドルサイクル
0
0 サイクル
1
1 サイクル
[bit5] Reserved
常に "0" が読み出されます。書込みは動作に影響ありません。
296
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 15 章 外部バスインタフェース
15.2 外部バスインタフェースのレジスタ
MB91220 シリーズ
[bit4] W04 = ライトリカバリサイクル (Write Recovery Cycle)
ライトリカバリサイクルは , ライトアクセス後に続けてアクセスする際の間隔に制
限のあるデバイスへのアクセスを制御する場合に設定します。ライトリカバリサイ
クル中はすべてのチップセレクト信号をネゲートし , データ端子はハイインピーダ
ンスを維持します。
ライトリカバリサイクルを "1" 以上に設定した場合は , ライトアクセスの後には必
ずライトリカバリサイクルが挿入されます。
W04
ライトリカバリサイクル
0
0 サイクル
1
1 サイクル
[bit3] Reserved
常に "1" が読み出されます。書込みは動作に影響ありません。
[bit2] W02 = アドレス→ CSX 遅延 (Address → CSX Delay)
アドレス→ CSX 遅延設定は , CSX の立下りに対してアドレスなどが一定のセット
アップを必要とする場合や , 連続して同一のチップセレクト領域にアクセスする際
にも CSX のエッジを必要とする場合などに設定します。
アドレスおよび ASX 出力から , CS0X ∼ CS3X 出力のディレイを設定します。
W02
アドレス→ CSX 遅延
0
遅延なし
1
遅延あり
"0" を設定し , 遅延なしを選択した場合は , ASX のアサートと同じタイミングで
CS0X ∼ CS3X がアサート開始されます。このとき , 同じチップセレクト領域に連
続したアクセスを実行した場合 , 両アクセスの間も CS0X ∼ CS3X はアサートを継
続したまま変化しないことがあります。
"1" を設定し , 遅延ありを選択した場合は , 外部メモリクロック SYSCLK 出力の立
上りから CS0X ∼ CS3X がアサート開始されます。このとき , 同じチップセレクト
領域に連続したアクセスを実行した場合でも , 両アクセスの間に CS0X ∼ CS3X ネ
ゲートタイミングが発生します。
CSX 遅延ありを選択した場合は , 遅延させた CSX のアサートからリード / ライトス
トローブをアサートする前に , 1 サイクルのセットアップサイクルを挿入します
(W01 の CSX → RDX/WR1X/WR0X セットアップ設定と同等の動作となります )。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
297
第 15 章 外部バスインタフェース
15.2 外部バスインタフェースのレジスタ
MB91220 シリーズ
[bit1] W01 = CSX → RDX/WRX セットアップ延長サイクル (CSX → RDX/WRX setup)
CSX → RDX/WRX セットアップ延長サイクルは , CSX アサート後 , リード / ライト
ストローブをアサートするまでの期間を延長する場合に設定します。CSX アサート
後 , リード / ライトストローブをアサートする前に最低 1 サイクルのセットアップ
延長サイクルを挿入します。
W01
CSX → RDX/WRX セットアップ延長サイクル
0
0 サイクル
1
1 サイクル
"0" を設定し , 0 サイクルを選択した場合は , 最速で , CSX アサート直後の外部メ
モリクロック SYSCLK 出力の立上りから RDX/WR0X, WR1X が出力されます。
WR0X, WR1X は , 内部バスの状態により , 1 サイクル以上遅れることもあります。
"1" を設定し , 1 サイクルを選択した場合は , RDX/WR0X, WR1X とも , 必ず 1 サイ
クル以上遅れて出力されます。
同一チップセレクト領域内で , CSX をネゲートしないまま連続してアクセスする場
合 , このセットアップ延長サイクルは挿入されません。アドレス確定のセットアッ
プ延長サイクルが必須となる場合 , W02 ビットを有効にしてアドレス→ CSX 遅延
を挿入することにより , 毎アクセス時に CSX がいったんネゲートされるため , この
セットアップ延長サイクルが有効となります。
W02 の CSX 遅延設定を挿入してある場合 , W01 ビットの設定によらず常にこのセッ
トアップサイクルが有効となります。
[bit0] W00 = RDX/WRX → CSX ホールド延長サイクル (RDX/WRX → CSX Hold Cycle)
RDX/WRX → CSX ホールド延長サイクルは , リード / ライトストローブネゲート後 ,
CSX ネゲートまでの期間を延長する場合に設定します。リード / ライトストローブ
ネゲート後 , CSX をネゲートする前に 1 サイクルのホールド延長サイクルを挿入し
ます。
W00
RDX/WRX → CSX ホールド延長サイクル
0
0 サイクル
1
1 サイクル
"0" を設定し , 0 サイクルを選択した場合は , RDX/WR0X, WR1X がネゲートされた後
の外部メモリクロック SYSCLK 出力の立上りエッジよりホールド遅延経過後に ,
CS0X ∼ CS3X がネゲートされます。
"1" を設定し , 1 サイクルを選択した場合は , CS0X ∼ CS3X は 1 サイクル遅れてネ
ゲートされます。
同一チップセレクト領域内で , CSX をネゲートしないまま連続してアクセスする場
合 , このホールド延長サイクルは挿入されません。アドレス確定のホールド延長サ
イクルが必須となる場合 , W02 ビットを有効にしてアドレス→ CSX 遅延を挿入す
ることにより , 毎アクセス時に CSX がいったんネゲートされるため , このホールド
延長サイクルが有効となります。
298
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 15 章 外部バスインタフェース
15.2 外部バスインタフェースのレジスタ
MB91220 シリーズ
● 通常アクセスおよびアドレス / データマルチプレックスアクセス
ACR0 ∼ ACR3 レジスタのアクセスタイプ (TYP3 ∼ TYP0 ビット ) に以下の設定を行っ
たチップセレクト領域は , 通常アクセスまたはアドレス / データマルチプレックスアク
セス動作を行う領域となります。
TYP3
TYP2
TYP1
TYP0
0
0
x
x
通常アクセス
( 非同期 SRAM, I/O, single ROM/Flash)
0
1
x
x
アドレスデータマルチプレックスアクセス
(8/16 ビットバス幅限定 )
( 設定禁止 )
アクセスタイプ
通常アクセスまたはアドレス / データマルチプレックスアクセス領域に対しての ,
AWR0 ∼ AWR3 の各ビットの機能を以下に示します。AWR0 以外は初期値が不定です
ので , 各領域を CSER レジスタによって有効にする前に設定を行ってください。
<注意事項>
MB91220シリーズでは, アドレス/データマルチプレックスアクセス動作設定はできません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
299
第 15 章 外部バスインタフェース
15.2 外部バスインタフェースのレジスタ
MB91220 シリーズ
■ CSER (Chip Select Enable Register)
CSER ( アクセス:Byte, Half-word, Word)
アドレス
0000 0680H
bit31
bit30
bit29
bit28
bit27
bit26
bit25
bit24
初期値
−
−
−
−
CSE3
CSE2
CSE1
CSE0
00000001B
R0,WX
R0,WX
R0,WX
R0,WX
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
各チップセレクト領域の許可 / 禁止を設定します。
[bit31 ∼ bit28] Reserved
常に "0" が読み出されます。書込みは動作に影響ありません。
[bit27 ∼ bit24] CSE3 ∼ CSE0 = チップセレクト領域許可 (Chip Select Enable 0-3)
CS0X ∼ CS3X の各チップセレクト領域許可ビットです。
初期値は , "0001B" で CS0 領域のみ許可されています。
"1" を書き込むことにより ASR0 ∼ ASR3, ACR0 ∼ ACR3, AWR0 ∼ AWR3 の設定に
従い動作します。
許可にする前に , 必ず対応するチップセレクト領域のすべての設定を行ってくださ
い。
CSE3 ∼ CSE0
領域コントロール
0
禁止
1
許可
CSE のビット
対応する CSX
bit24 : CSE0
CS0X
bit25 : CSE1
CS1X
bit26 : CSE2
CS2X
bit27 : CSE3
CS3X
● チップセレクト領域
外部バスインタフェースは全 4 領域分のチップセレクト領域が設定できます。
各領域のアドレス空間は ASR0 ∼ ASR3 (Area Select Register) と ACR0 ∼ ACR3 (Area
Configuration Register) にて 16M バイトの空間のうち , CS0X, CS1X は , 64K/128K/256K/
512K バイト単位で , "00000000H" ∼ "003FFFFFH" までの外部バス領域に割り当てられ
た空間に , CS2X, CS3X は , 1M/2M/4M/8M バイト単位で , "00400000H" ∼ "00FFFFFFH"
の空間に設定可能です。
これらのレジスタによって指定された領域に対してバスアクセスを行うと , アクセス
サイクル中に対応するチップセレクト信号 CS0X ∼ CS3X がアクティブ ("L" 出力 ) に
なります。
300
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 15 章 外部バスインタフェース
15.2 外部バスインタフェースのレジスタ
MB91220 シリーズ
ASR および ASZ[1:0] の設定例
• ASR1=0010H ACR1 → ASZ[1:0]=00B
チップセレクト領域 1 は , "00100000H" ∼ "0010FFFFH" に割り当てられます。
• ASR2=0040H ACR2 → ASZ[1:0]=00B
チップセレクト領域 2 は , " 00400000H" ∼ "004FFFFFH" に割り当てられます。
• ASR3=0081H ACR3 → ASZ[1:0]=11B
チップセレクト領域 3 は , "00800000H" ∼ "00FFFFFFH" に割り当てられます。
このとき , ACR → ASZ[1:0] が 8M バイトの設定になっていますので , バウンダリは 8M
バイト単位となり , ASR3[22:16] は無視されます。
リセット後は , ACR0 に書込みが行われるまでの間 , "00000000H"∼ "00FFFFFFH" がチッ
プセレクト領域 0 に割り当てられます。
<注意事項>
チップセレクト領域は , お互いにオーバラップしないように設定してください。
図 15.2-4 領域サイズによるバウンダリについて
(初期値)
(例)
00000000H
00000000H
00100000H
領域1
64Kバイト
00400000H
領域2
1Mバイト
領域0
領域3
00800000H
8Mバイト
00FFFFFFH
CM71-10142-5
00FFFFFFH
FUJITSU SEMICONDUCTOR LIMITED
301
第 15 章 外部バスインタフェース
15.3 外部バスインタフェースのエンディアンとバスアクセス
15.3
MB91220 シリーズ
外部バスインタフェースのエンディアンとバスアクセス
エンディアンとバスアクセスについて説明します。
■ データバス幅と制御信号との関係
WRX1, WRX0 の制御信号は , データバス幅に関係なくデータバスのバイト位置に常に
1 対 1 に対応します。
バスモード別に設定されたデータバス幅で使用されるデータバスのバイト位置とそれ
に対応する制御信号を下記に示します。
• 通常バスインタフェース
a) 16ビットバス幅
データバス
制御信号
D15
b) 8ビットバス幅
データバス
制御信号
WR0X
WR1X
D00
WR0X
-
-
-
-
-
-
-
-
-
-
• 時分割入出力インタフェース
a) 16ビットバス幅
データバス 出力アドレス
b) 8ビットバス幅
制御信号
データバス 出力アドレス
制御信号
D15
A15~A8
WR0X
A7~A0
WR1X
D00
302
A7~A0
WR0X
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 15 章 外部バスインタフェース
15.3 外部バスインタフェースのエンディアンとバスアクセス
MB91220 シリーズ
■ バスアクセス
MB91220 シリーズは , ビッグエンディアンで外部バスアクセスを行います。
● データバス幅
• 16 ビットバス幅
内部レジスタ
外部バス
出力アドレス下位
D31
D23
AA
リード/ライト
BB
D15
CC
D07
DD
"00B"
"10B"
AA
CC
BB
DD
D15
D07
• 8 ビットバス幅
内部レジスタ
外部バス
出力アドレス下位
D31
D23
AA
リード/ライト
"00B"
"01B"
"10B"
"11B"
AA
BB
CC
DD
D07
BB
D15
CC
D07
DD
● 外部バスアクセス
外部バスアクセス (16 ビット /8 ビットバス幅 ) をワード / ハーフワード / バイトアクセ
ス別に以下に示します。また , 下記の項目についてもあわせて示します。
• アクセスバイト位置
• プログラムアドレスと出力アドレス
• バスアクセス回数
PA1/PA0
:
プログラムで指定したアドレス下位 2 ビット
出力 A1/A0
:
出力するアドレスの下位 2 ビット
:
出力するアドレスの先頭バイト位置
:
アクセスするデータバイト位置
:
バスアクセス回数
+
①∼④
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
303
第 15 章 外部バスインタフェース
15.3 外部バスインタフェースのエンディアンとバスアクセス
MB91220 シリーズ
FR ファミリは , ミスアラインエラーを検出しません。
したがってワードアクセスの場合には , プログラムで指定したアドレス下位 2 ビットが
"00B", "01B", "10B", "11B" であっても , 出力するアドレスの下位 2 ビットはすべて "00B" と
なり , ハーフワードアクセスの場合には "00B", "01B" のときには "00B" に , "00B", "01B"
のときには "10B" になります。
• 16 ビットバス幅
(A) ワードアクセス
(a) PA1/PA0=00B
(b) PA1/PA0=01B
→①出力A1/A0=00B
②出力A1/A0=10B
MSB
→①出力A1/A0=00B
②出力A1/A0=10B
(c)PA1/PA0=10B
→①出力A1/A0=00B
②出力A1/A0=10B
(d)PA1/PA0=11B
→①出力A1/A0=00B
②出力A1/A0=10B
LSB
①
00
01
①
00
01
①
00
01
①
00
01
②
10
11
②
10
11
②
10
11
②
10
11
16ビット
(B) ハーフワードアクセス
(a) PA1/PA0=00B
(b) PA1/PA0=01B
→①出力A1/A0=00B
①
00
01
10
11
→①出力A1/A0=00B
①
00
01
10
11
(c)PA1/PA0=10B
→①出力A1/A0=10B
①
00
01
10
11
(d)PA1/PA0=11B
→①出力A1/A0=10B
①
00
01
10
11
(C) バイトアクセス
(a) PA1/PA0=00B
(b) PA1/PA0=01B
→①出力A1/A0=00B
①
304
00
01
10
11
→①出力A1/A0=01B
①
00
01
10
11
(c)PA1/PA0=10B
→①出力A1/A0=10B
①
00
01
10
11
FUJITSU SEMICONDUCTOR LIMITED
(d)PA1/PA0=11B
→①出力A1/A0=11B
①
00
01
10
11
CM71-10142-5
第 15 章 外部バスインタフェース
15.3 外部バスインタフェースのエンディアンとバスアクセス
MB91220 シリーズ
• 8 ビットバス幅
(A) ワードアクセス
(a) PA1/PA0=00B
→①出力A1/A0=00B
② 出力A1/A0=01B
③出力A1/A0=10B
④出力A1/A0=11B
MSB
(b) PA1/PA0=01B
→①出力A1/A0=00B
② 出力A1/A0=01B
③出力A1/A0=10B
④出力A1/A0=11B
(c)PA1/PA0=10B
→①出力A1/A0=00B
②出力A1/A0=01B
③出力A1/A0=10B
④出力A1/A0=11B
(d)PA1/PA0=11B
→①出力A1/A0=00B
② 出力A1/A0=01B
③出力A1/A0=10B
④出力A1/A0=11B
LSB
①
00
①
00
①
00
①
00
②
01
②
01
②
01
②
01
③
10
③
10
③
10
③
10
④
11
④
11
④
11
④
11
8ビット
(B) ハーフワードアクセス
(a) PA1/PA0=00B
(b) PA1/PA0=01B
→①出力A1/A0=00B
②出力A1/A0=01B
→①出力A1/A0=00B
②出力A1/A0=01B
(c)PA1/PA0=10B
→①出力A1/A0=10B
②出力A1/A0=11B
(d)PA1/PA0=11B
→①出力A1/A0=10B
②出力A1/A0=11B
①
00
①
00
00
00
②
01
②
01
01
01
10
10
①
10
①
10
11
11
②
11
②
11
(C) バイトアクセス
(a) PA1/PA0=00B
(b) PA1/PA0=01B
→①出力A1/A0=00B
①
→①出力A1/A0=01B
00
01
①
(d)PA1/PA0=11B
→①出力A1/A0=11B
00
00
00
01
01
01
10
10
10
10
11
11
CM71-10142-5
(c)PA1/PA0=10B
→①出力A1/A0=10B
①
11
FUJITSU SEMICONDUCTOR LIMITED
①
11
305
第 15 章 外部バスインタフェース
15.3 外部バスインタフェースのエンディアンとバスアクセス
MB91220 シリーズ
● 外部との接続例
図 15.3-1 に MB91220 シリーズと外部装置との接続の例を示します。
図 15.3-1 外部との接続例
MB91220シリーズ
D07
~
~
D15
D08
D00
WR0X
WR1X
0
1
0
D15 D08D07 D00
16ビットデバイス
D07 D00
8ビットデバイス
("0"/"1" アドレス下位1ビット)
■ 外部アクセス
(a) ワード (32 ビット ) アクセス
ビッグエンディアンモード
16 ビット
バス幅
内部レジスタ 外部端子
アドレス: "0"
D31
制御端子
"2"
D15
AA
BB
AA CC
WR0X
BB DD
WR1X
D00
CC
-
-
-
DD
-
-
-
①
②
D00
8 ビット
バス幅
内部レジスタ
外部端子
アドレス: "0"
"1"
制御端子
"2"
"3"
D15
D31
AA BB CC DD
WR0X
BB
- - - -
-
CC
- - - -
-
DD
- - - -
-
AA
D00
D00
①
306
②
③
④
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 15 章 外部バスインタフェース
15.3 外部バスインタフェースのエンディアンとバスアクセス
MB91220 シリーズ
(b) ハーフワード (16 ビット ) アクセス
ビッグエンディアンモード
16 ビット
バス幅
内部レジスタ 外部端子
制御端子
アドレス: "0"
D31
D15
AA
WR0X
BB
WR1X
D00
AA
-
-
BB
-
-
D00
①
内部レジスタ 外部端子
アドレス:
D31
制御端子
"2"
D15
D00
CC
WR0X
DD
WR1X
CC
-
-
DD
-
-
D00
①
8 ビット
バス幅
内部レジスタ 外部端子
アドレス:
D31
制御端子
"0" "1"
D15
AA BB
WR0X
D08
-
-
-
AA
-
-
-
BB
-
-
-
①
②
D00
内部レジスタ 外部端子
アドレス:
D31
制御端子
"2" "3"
D15
CC DD
WR0X
D08
-
-
-
CC
-
-
-
DD
-
-
-
①
②
D00
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
307
第 15 章 外部バスインタフェース
15.3 外部バスインタフェースのエンディアンとバスアクセス
MB91220 シリーズ
(c) バイト (8 ビット ) アクセス
ビッグエンディアンモード
16 ビット
バス幅
内部レジスタ 外部端子
制御端子
アドレス: "0"
D31
D15
AA
WR0X
-
D00
-
-
AA
D00
①
内部レジスタ 外部端子
アドレス:
D31
制御端子
"1"
D15
-
BB
WR1X
D00
-
-
BB
D00
①
内部レジスタ 外部端子
制御端子
アドレス: "2"
D31
D15
CC
WR0X
-
D00
-
-
CC
D00
①
内部レジスタ 外部端子
アドレス:
D31
制御端子
"3"
D15
-
DD
WR1X
D00
-
-
DD
D00
①
308
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 15 章 外部バスインタフェース
15.3 外部バスインタフェースのエンディアンとバスアクセス
MB91220 シリーズ
ビッグエンディアンモード
8 ビット
バス幅
内部レジスタ 外部端子
制御端子
アドレス: "0"
D31
D15
AA
WR0X
D08
-
-
-
AA
D00
①
内部レジスタ 外部端子
アドレス:
D31
制御端子
"1"
D15
BB
WR0X
D08
-
-
-
BB
D00
①
内部レジスタ 外部端子
アドレス:
D31
制御端子
"2"
D15
CC
WR0X
D08
-
-
-
CC
D00
①
内部レジスタ 外部端子
アドレス:
D31
制御端子
"3"
D15
DD
WR0X
D08
-
-
-
DD
D00
①
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
309
第 15 章 外部バスインタフェース
15.4 外部バスインタフェースの通常バスインタフェース
15.4
MB91220 シリーズ
外部バスインタフェースの通常バスインタフェース
通常バスインタフェースでは , リードアクセス / ライトアクセスともに 2 クロックサ
イクルが基本バスサイクルになります。
■ 通常バスインタフェース
通常バスインタフェースにおける以下の動作について , タイミングチャートを示して
説明します。
• 基本タイミング ( アクセスが連続する場合 )
• WRnX +バイト制御タイプ
• リード→ライトタイミング
• ライト→ライトタイミング
• 自動ウェイトタイミング
• 外部ウェイトタイミング
• CSnX 遅延設定
• CSnX → RDX/WRX セットアップ , RDX/WRnX → CSnX ホールド設定
■ 基本タイミング ( アクセスが連続する場合 ) (TYP[3:0] = 0000B, AWR = 0008H)
図 15.4-1 基本タイミング ( アクセスが連続する場合 ) (TYP[3:0] = 0000B, AWR = 0008H)
SYSCLK
A[15:0]
#2
#1
ASX
CSnX
RDX
リード
D[15:00]
#2
#1
WRnX
ライト
D[15:00]
#1
#2
• ASX は , バスアクセス開始サイクルに 1 サイクル有効にします。
• A[15:0] は , ワード / ハーフワード / バイト アクセスの先頭バイト位置のアドレスを
バスアクセス開始サイクルからバスアクセス終了サイクルまで出力します。
• CS0X ∼ CS3X は , AWR0 ∼ AWR3 レジスタの W02 ビットが "0" のときは , ASX と
同じタイミングで有効にし , 連続するアクセスがあるときは , CS0X ∼ CS3X を無効
310
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 15 章 外部バスインタフェース
15.4 外部バスインタフェースの通常バスインタフェース
MB91220 シリーズ
にしません。AWR レジスタの W00 ビットが "0" の場合はバスサイクル終了後に
CS0X ∼ CS3X を無効にし , W00 ビットが "1" の場合はバスアクセス終了の 1 サイク
ル後に無効にします。
• RDX, WR0X, WR1X は , バスアクセス第 2 サイクルから有効にします。AWR レジス
タ W14 ∼ W12 ビットのウェイトサイクルを挿入した後に無効にします。RDX,
WR0X, WR1X を有効にするタイミングは AWR レジスタ W01 ビットを "1" に設定
することにより 1 サイクル遅らせることができます。ただし , WR0X, WR1X は内部
状態により W01 ビットを "0" に設定した場合も第二サイクルより遅れることがあり
ます。
• リードアクセスの場合 , RDX 有効後 , ウェイトサイクルが終了したサイクルの
SYSCLK の立上りで D[15:0] を取り込みます。
• ライトアクセスの場合 , WR0X, WR1X を有効にしたタイミングから D[15:00] にデー
タを出力します。
■ リード → ライトタイミング (TYP[3:0]=0000B, AWR=0048H)
図 15.4-2 リード → ライトタイミング (TYP[3:0]=0000B, AWR=0048H)
リード
アイドル
ライト
SYSCLK
A[23:0]
ASX
CSnX
RDX
WRnX
D[31:16]
• AWR レジスタ W06 ビットの設定により , 0 から 1 サイクルまでのアイドルサイク
ル挿入が可能です。
• リード側の CS 領域の設定が有効になります。
• リードアクセスの次のアクセスがライトアクセスまたは別の領域へのアクセスで
ある場合 , このアイドルサイクルを挿入します。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
311
第 15 章 外部バスインタフェース
15.4 外部バスインタフェースの通常バスインタフェース
MB91220 シリーズ
■ ライト → ライトタイミング (TYP[3:0]=0000B, AWR=0018H)
図 15.4-3 ライト → ライトタイミング (TYP[3:0]=0000B, AWR=0018H)
ライト
ライトリカバリ
ライト
SYSCLK
A[23:0]
ASX
CSnX
WRnX
D[31:16]
• AWR レジスタ W04 ビットの設定により , 0 から 1 サイクルまでのライトリカバリ
サイクルを挿入可能です。
• すべてのライトサイクル後に , リカバリサイクルが発生します。
• 設定したバス幅以上のアクセスによってライトアクセスが分割された場合もライ
トリカバリサイクルは発生します。
312
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 15 章 外部バスインタフェース
15.4 外部バスインタフェースの通常バスインタフェース
MB91220 シリーズ
■ 自動ウェイトタイミング (TYP[3:0]=0000B, AWR=2008H)
図 15.4-4 自動ウェイトタイミング (TYP[3:0]=0000B, AWR=2008H)
基本サイクル
ウェイトサイクル
SYSCLK
A[23:0]
ASX
CSnX
RDX
リード
D[31:16]
WRnX
ライト
D[31:16]
• AWR レジスタ W14 ∼ W12 ビット ( ファーストウェイトサイクル ) の設定により自
動ウェイトサイクルを 0 ∼ 7 まで設定可能です。
• 上図では , 自動ウェイトサイクルを 2 サイクル挿入し , 合計 4 サイクルのアクセス
となっています。自動ウェイトを設定した場合 , バスサイクルは最小で 2 サイクル
+( ファーストウェイトサイクル ) となります。ライトの場合は内部状態によりさら
に長くなることがあります。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
313
第 15 章 外部バスインタフェース
15.4 外部バスインタフェースの通常バスインタフェース
MB91220 シリーズ
■ 外部ウェイトタイミング (TYP[3:0]=0001B, AWR=2008H)
図 15.4-5 外部ウェイトタイミング (TYP[3:0]=0001B, AWR=2008H)
基本サイクル
自動ウェイト2サイクル
RDYによる
ウェイトサイクル
SYSCLK
A[23:0]
ASX
CSnX
RDX
リード
D[31:16]
WRnX
ライト
D[31:16]
RDY
解除
ウェイト
ACR レジスタ TYP0 ビットを "1" に設定し , 外部 RDY 入力端子を有効にすることによ
り外部ウェイトサイクルを挿入可能です。
上図において , 自動ウェイトサイクルによるウェイトが有効であるため , RDY 端子の
斜線部分は無効になります。自動ウェイトサイクルの最後のサイクル以降から , RDY
入力端子の値を判定します。また , いったんウェイトサイクルを終了した後は , 次のア
クセスサイクルの開始まで , RDY 入力端子の値は無効になります。
314
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
MB91220 シリーズ
第 15 章 外部バスインタフェース
15.4 外部バスインタフェースの通常バスインタフェース
■ CSX 遅延設定 (TYP[3:0]=0000B, AWR=000CH)
図 15.4-6 CSX 遅延設定 (TYP[3:0]=0000B, AWR=000CH)
アクセスサイクル
アクセスサイクル
SYSCLK
A[23:0]
ASX
CSnX
RDX
リード
D[31:16]
WRnX
ライト
D[31:16]
W02 ビットが "1" のときは ASX アサートの次のサイクルからアサートし , 連続するア
クセスがある場合ネゲート期間を挿入します。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
315
第 15 章 外部バスインタフェース
15.4 外部バスインタフェースの通常バスインタフェース
MB91220 シリーズ
■ CSX → RDX/WRX セットアップ・RDX/WRnX → CSX ホールド設定
(TYP[3:0]=0000B, AWR=000BH)
図 15.4-7 CSX → RDX/WRX セットアップ・RDX/WRnX → CSX ホールド設定
(TYP[3:0]=0000B, AWR=000BH)
アクセスサイクル
SYSCLK
A[23:0]
ASX
CSnX
CSX->RDX/WRX
Delay
RDX/WRX->CSX
Delay
RDX
リード
D[31:16]
WRnX
ライト
D[31:16]
• AWR レジスタ W01 ビットを "1" に設定することにより , CSX → RDX/WRnX セッ
トアップディレイを設定可能です。チップセレクトアサート後 , リード / ライトス
トローブまでの期間を延長する場合に設定します。
• AWR レジスタ W00 ビットを "1" に設定することにより , RDX/WRnX → CSX ホー
ルドディレイを設定可能です。リード / ライトストローブネゲート後 , チップセレ
クトネゲートまでの期間を延長する場合に設定します。
• CSX → RDX/WRnX セットアップディレイ (W01 ビット ) と RDX/WRnX → CSX ホー
ルドディレイ (W00 ビット ) は独立に設定可能です。
• 同一チップセレクト領域内で , チップセレクトをネゲートしないまま連続してアク
セスする場合は , CSX → RDX/WRnX セットアップディレイ , RDX/WRnX → CSX
ホールドディレイともに挿入されません。
• アドレス確定からのセットアップサイクルおよびアドレス確定のホールドサイク
ルが必要な場合は , アドレス→ CSX 遅延設定 (AWR レジスタ W02 ビット ) を "1" に
設定してください。
316
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 15 章 外部バスインタフェース
15.5 外部バスインタフェースのレジスタ設定手順
MB91220 シリーズ
15.5
外部バスインタフェースのレジスタ設定手順
外部バスインタフェースのレジスタの設定手順を説明します。
■ レジスタ設定手順
外部バスインタフェースに関する設定手順は , 以下の原則に従ってください。
• レジスタの内容を書き換える場合は , 必ず CSER レジスタの対応する領域を使用し
ない設定 ("0") にして行ってください。
"1" のまま設定を変更した場合 , その前後のアクセスは保証されません。
• レジスタの変更は以下の手順で行ってください。
① 該当領域に対応する CSER のビットを "0" に設定してください。
② ASR と ACR をワードアクセスで同時に設定してください。ASR, ACR をハーフ
ワードでアクセスする場合には ASR 設定後 ACR を設定してください。
③ AWR を設定してください。
④ 該当領域に対する CSER のビットを設定してください。
• CS0X領域はリセット解除後から有効になっており, プログラム領域として使用して
いる場合は CSER を "1" のままで書き換える必要がありますが , この場合は内部ク
ロックが低い初期状態で上記② , ③の設定を行ってください。その後 , クロックを
高速クロックに切り換えてください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
317
第 15 章 外部バスインタフェース
15.6 外部バスインタフェース使用上の注意
15.6
MB91220 シリーズ
外部バスインタフェース使用上の注意
外部バスインタフェースの使用上の注意を説明します。
■ 使用上の注意
WR0X, WR1X をライトストローブとして使用する領域 (TYP[3:0] = 0X0XB) と WRX を
ライトストローブとして使用する領域 (TYP[3:0] = 0X1XB) とを混在させる設定にした
場合 , 使用するすべての領域にて , 必ず以下の設定を行ってください。
・ リード→ライトアイドルサイクルを最低 1 サイクル以上設定してください
(AWR:W06 = 1)。
・ ライトリカバリサイクルを最低 1 サイクル以上設定してください
(AWR:W04 = 1)。
ただし , WR0X, WR1X をライトストローブとして使用する領域 (TYP[3:0]= 0X0XB)
で WR0X, WR1X が無効な (ROM のみ接続されている ) 場合は , 上記制限はありま
せん。また , WRX をライトストローブとして使用する領域 (TYP[3:0] = 0X1XB) の
設定でアドレス→ RDX/WRX セットアップサイクル (W01 = 1), RDX/WRX →アド
レスホールドサイクル(W00 = 1)をともに設定している場合も上記制限はありませ
ん。
<制限理由>
TYP[3:0] = 0X1XB と設定して WRX をライトストローブとして使用する領域では ,
WR0X/WR1X 端子が , バイトイネーブル (UBX/LBX) 出力となります。この場合 , バ
イトイネーブル出力はアドレスおよび CSX 出力と同一のタイミングで , 各バイト位
置のイネーブル信号を出力します。
このため , WR0X/WR1X 端子を非同期ライトストローブとして使用している領域へ
のアクセスが前後にあった場合 , そちらの領域において , CSX と WR0X/WR1X 間の
交流規格を満足できなくなり , 誤書込みが発生する可能性があります。
リード→ライトアイドルサイクル, およびライトリカバリサイクルを設定した場合,
これらのサイクルでは , CSX はアサートされません ("H" レベルを維持 ) ので , 上記
交流規格を満足することができます。
WR0X/WR1X 端子を非同期ライトストローブとして使用している領域にて , CSX と
WR0X/WR1X 間の交流規格 ( セットアップおよびホールド ) に対し余裕がある場合
は , 本制限は必要ありません。
318
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 16 章
DMAC
(DMA コントローラ )
DMAC の概要 , レジスタの構成 / 機能および動作に
ついて説明します。
CM71-10142-5
16.1
DMAC の概要
16.2
DMAC のレジスタ詳細説明
16.3
DMAC の動作説明
16.4
DMAC の動作フロー
16.5
DMAC のデータパス
FUJITSU SEMICONDUCTOR LIMITED
319
第 16 章 DMAC (DMA コントローラ )
16.1 DMAC の概要
16.1
MB91220 シリーズ
DMAC の概要
DMAC は , DMA(Direct Memory Access) 転送を実現するためのモジュールです。
DMA 転送により , CPU を介さずに各種データ転送を高速に行うことが可能となり ,
システムのパフォーマンスを増加させます。
■ ハードウェア構成
DMAC は , 主に以下の回路およびレジスタより構成されます。
• 独立した DMA チャネル× 5 チャネル
• 5 チャネル独立アクセス制御回路
• 20 ビット アドレスレジスタ ( リロード指定可能 : ch.0 ∼ ch.3)
• 24 ビットアドレスレジスタ ( リロード指定可能 : ch.4)
• 16 ビット 転送回数レジスタ ( リロード指定可能 : 各チャネル 1 本 )
• 4 ビットブロック回数レジスタ ( 各チャネル 1 本 )
• 2 サイクル転送
■ 主要機能
DMAC によるデータ転送には以下の機能があります。
複数チャネルの独立したデータ転送が可能 (5 チャネル )
• 優先順位 (ch.0 > ch.1 > ch.2 > ch.3 > ch.4)
• ch.0 - ch.1 間にて順位反転が可能
• DMAC 起動要因
- 内蔵周辺要求 ( 割込み要求を共用 --- 外部割込みを含む )
- ソフトウェア要求 ( レジスタ書込み )
• 転送モード
- バースト転送 / ステップ転送 / ブロック転送
- アドレッシングモード 20 ビット (24 ビット ) アドレス指定 ( 増加 / 減少 / 固定 )
( アドレス増減幅は± 1, 2, 4 固定 )
- データの種類 : バイト / ハーフワード / ワード長
- シングルショット / リロード選択可能
320
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 16 章 DMAC (DMA コントローラ )
16.1 DMAC の概要
MB91220 シリーズ
■ DMAC のレジスタ概要
図 16.1-1 DMAC のレジスタ概要
bit31 bit24 bit23 bit16 bit15 bit8 bit7 bit0
ch.0 コントロール / ステータスレジスタ A
DMACA0 00000200H
ch.0 コントロール / ステータスレジスタ B
DMACB0 00000204H
ch.1 コントロール / ステータスレジスタ A
DMACA1 00000208H
ch.1 コントロール / ステータスレジスタ B
DMACB1 0000020CH
ch.2 コントロール / ステータスレジスタ A
DMACA2 00000210H
ch.2 コントロール / ステータスレジスタ B
DMACB2 00000214H
ch.3 コントロール / ステータスレジスタ A
DMACA3 00000218H
ch.3 コントロール / ステータスレジスタ B
DMACB3 0000021CH
ch.4 コントロール / ステータスレジスタ A
DMACA4 00000220H
ch.4 コントロール / ステータスレジスタ B
DMACB4 00000224H
全体制御レジスタ
DMACR
ch.0 転送元アドレスレジスタ
DMASA0 00001000H
ch.0 転送先アドレスレジスタ
DMADA0 00001004H
ch.1 転送元アドレスレジスタ
DMASA1 00001008H
ch.1 転送先アドレスレジスタ
DMADA1 0000100CH
ch.2 転送元アドレスレジスタ
DMASA2 00001010H
ch.2 転送先アドレスレジスタ
DMADA2 00001014H
ch.3 転送元アドレスレジスタ
DMASA3 00001018H
ch.3 転送先アドレスレジスタ
DMADA3 0000101CH
ch.4 転送元アドレスレジスタ
DMASA4 00001020H
ch.4 転送先アドレスレジスタ
DMADA4 00001024H
00000240H
bit31
bit20 bit19
bit31 bit24 bit23
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
bit0
bit0
321
第 16 章 DMAC (DMA コントローラ )
16.1 DMAC の概要
MB91220 シリーズ
■ DMAC のブロックダイヤグラム
図 16.1-2 DMAC のブロックダイヤグラム
カウンタ
バスコントローラへ
DMA転送要求
バッファ
ライトパック
セレクタ
DMA起動
要因選択回路
&
要求受付け制御
DTC 2段レジスタ
ペリフェラル起動要求/停止入力
DTCR
カウンタ
DSS[2:0]
バッファ
リード
ライト
リード/ライト制御
優先度回路
割込みコントローラへ
IRQ[4:0]
ERIR,EDIR
セレクタ
周辺割込みクリア
BLK レジスタ
MCLREQ
TYPE.MOD,WS
セレクタ
DMASA 2段レジスタ
SADM,SASZ[7:0] SADR
DMADA 2段レジスタ
DADM,DASZ[7:0] DADR
X-bus
バス制御部
カウンタバッファ
DMAコントロール
セレクタ
ライトバック
カウンタバッファ
アクセス
アドレス
アドレスカウンタ
バスコント
ローラへ
バス制御部
状態遷移回路
ライトバック
322
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 16 章 DMAC (DMA コントローラ )
16.2 DMAC のレジスタ詳細説明
MB91220 シリーズ
16.2
DMAC のレジスタ詳細説明
DMA コントローラで使用するレジスタの設定時の注意事項とレジスタの詳細につい
て説明します。
■ レジスタ設定時の注意
DMAC の設定をする場合 , DMA が停止しているときに行う必要があるビットがありま
す。動作中 ( 転送中 ) に設定した場合には正常な動作は保証されません。
ビット名の後ろに * ( アスタリスクマーク ) が記述されているビットは , DMAC 転送中
に設定すると動作に影響を与えます。このビットの書換えは , DMAC 転送停止中 ( 起
動禁止状態または一時停止状態 ) に行ってください。
DMA 転送の起動禁止状態 (DMACR:DMAE=0 または DMACA:DENB=0 のとき ) で設定
した場合は , 起動許可後に設定は有効になります。
DMA 転送の一時停止状態 (DMACR:DMAH[3:0] ≠ 0000B または DMACA:PAUS = 1 の
とき ) で設定した場合は , 一時停止解除後に設定は有効になります。
■ DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 コントロール / ステータスレジスタ A
[DMACA0 ∼ DMACA4]
DMAC各チャネルの動作制御を行うレジスタで, チャネルごとに独立して存在します。
各ビット機能は以下に示すとおりです。
DMACA0 ∼ DMACA4
( アクセス bit31 ∼ bit16 :Byte, Half-word, Word)
アドレス
bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16
ch.0:000200H DENB PAUS STRG
IS[4:0]
BLK[3:0]
予約
ch.1:000208H R/W R/W R0,W R/W R/W R/W R/W R/W R0,WX R0,WX R0,WX R0,WX R/W R/W R/W R/W
ch.2:000210H
ch.3:000218H ( アクセス bit15 ∼ bit0 : Half-word, Word)
ch.4:000220H
bit15 bit14 bit13 bit11 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
DTC[15:0]
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
初期値 : 00000000 ----0000 00000000 00000000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit31] DENB (Dma ENaBle) : DMA 動作許可ビット
各転送チャネルに対応し , DMA 転送の起動許可 / 禁止を行います。
起動されたチャネルは , 転送要求が発生し受け付けられると DMA 転送を開始しま
す。起動許可されていないチャネルに対して発生した転送要求は , すべて無効とな
ります。起動されたチャネルの転送が指定回数分すべて終了した場合 , 本ビットは
"0" になり , 転送は停止します。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
323
第 16 章 DMAC (DMA コントローラ )
16.2 DMAC のレジスタ詳細説明
MB91220 シリーズ
本ビットに "0" を書き込むと強制停止しますが , 必ず PAUS ビット [bit30:DMACA]
で DMA を一時停止状態にしてから強制停止 ("0" 書込み ) してください。一時停止
しないで強制停止した場合は DMA は停止しますが転送データは保証されません。
停止の確認は DSS[2:0] ビット (bit18 ∼ bit16:DMACB) で行ってください。
DENB
機能
0
対応チャネル DMA 動作禁止 ( 初期値 )
1
対応チャネル DMA 動作許可
• リセット時 , 停止要求が受け付けられた場合 : "0" に初期化されます。
• 読出しおよび書込みが可能です。
• DMAC 全体制御レジスタ DMACR の bit31:DMAE ビットにより , 全チャネルの動
作が禁止されている場合 , DENB ビットへの "1" 書込みは無効となり , 停止状態
を維持します。また , DENB ビットにより動作が許可されている状態にて DMAE
ビットにより動作が禁止された場合 , DENB ビットは "0" となり , 転送は中断し
ます ( 強制停止 )。
[bit30] PAUS (PAUSe) : 一時停止指示
対応するチャネルの DMA 転送の一時停止制御を行います。本ビットがセットされ
ると , 再び本ビットがクリアされるまでの間は DMA 転送を行いません (DMA が停
止中は DSS ビットが "1XXB" になります )。
起動前に本ビットをセットしてから起動した場合 , 一時停止状態のままとなりま
す。
本ビットがセットされている間に新たに発生した転送要求は受け付けられますが ,
本ビットをクリアしないと転送は開始しません (「16.3.2 転送要求の設定」を参照し
てください )。
PAUS
機能
0
対応チャネル DMA 動作許可 ( 初期値 )
1
対応チャネル DMA 動作一時停止
• リセット時 : "0" に初期化されます。
• 読出しおよび書込みが可能です。
[bit29] STRG (Software TRiGger) : 転送要求
対応するチャネルの DMA 転送要求を生成します。本ビットに "1" を書き込むと , レ
ジスタへの書込みが終了した時点より転送要求が発生し , 対応チャネルの転送を開
始します。
ただし , 対応するチャネルが起動されていない場合は , 本ビットへの操作は無効と
なります。
324
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 16 章 DMAC (DMA コントローラ )
16.2 DMAC のレジスタ詳細説明
MB91220 シリーズ
<注意事項>
DMAE ビットの書込みによる起動と本ビットによる転送要求が同時の場合 , 転送要求は有
効となり転送を開始します。 また , PAUS ビットへの "1" 書込みと同時である場合 ,
転送要求は有効となりますが , PAUS ビットを "0" に戻すまで DMA 転送は開始しません。
STRG
機能
0
無効
1
DMA 起動要求
• リセット時 : "0" に初期化されます。
• 読出し値は常に "0" となります。
• 書込み値は "1" のみ有効で , "0" は動作に影響を与えません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
325
第 16 章 DMAC (DMA コントローラ )
16.2 DMAC のレジスタ詳細説明
MB91220 シリーズ
[bit28 ∼ bit24] IS4 ∼ IS0 (Input Select) * : 転送要因選択
転送要求の要因を以下のように選択します。ただし , STRG ビット機能によるソフ
トウェア転送要求は本設定にかかわらず有効となります。
*: DMAC 転送中に設定すると動作に影響を与えるビットを意味します。このビット
の書換えは , DMAC 転送停止中 ( 起動禁止状態または一時停止状態 ) に行ってく
ださい。
IS
機能
00000B
ソフトウェア転送要求のみ
00001B
↓
01111B
設定禁止
なし
10000B
−
10001B
LIN-UART1( 受信完了 )
10010B
LIN-UART2( 受信完了 )
10011B
PPG7H/7L
10100B
LIN-UART1( 送信完了 )
10101B
LIN-UART2( 送信完了 )
10110B
外部割込み 3
10111B
外部割込み 4
11000B
リロードタイマ 0
11001B
リロードタイマ 1
11010B
リロードタイマ 2
11011B
PPG1H/1L
11100B
PPG3H/3L
11101B
PPG5H/5L
11110B
A/D
11111B
転送停止要求
あり
なし
−
• リセット時 : "00000B" に初期化されます。
• 読出しおよび書込みが可能です。
<注意事項>
周辺機能の割込みによる DMA 起動を設定した場合 (IS=1XXXXB), 選択した機能は , ICR レ
ジスタで割込みを禁止状態にしてください。
また , 周辺機能の割込みによる DMA 起動を設定した状態で , ソフトウェア転送要求によ
り DMA 転送を起動すると , 転送終了後 , 該当する周辺に対して要因クリアを行います。こ
のため , 本来の転送要求をクリアしてしまう可能性がありますので , 周辺機能の割込みに
よる DMA 起動を設定した状態では , ソフトウェア転送要求による起動を行わないでくだ
さい。
326
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 16 章 DMAC (DMA コントローラ )
16.2 DMAC のレジスタ詳細説明
MB91220 シリーズ
[bit23 ∼ bit20] (Reserved) : 未使用ビット
読出し値は "0000B" 固定です。書込みは無効となります。
[bit19 ∼ bit16] BLK3 ∼ BLK0 (BLocK size) : ブロックサイズ指定
対応するチャネルのブロック転送時のブロックサイズを指定します。 本ビットに
設定した値が一回の転送単位におけるワード数 ( 正確には , データ幅設定の繰り返
し回数 ) となります。ブロック転送を行わない場合は "01H" ( サイズ 1) を設定して
ください。
BLK
XXXXB
機能
対応チャネルのブロックサイズ指定
• 読出しおよび書込みが可能です。
• 全ビット "0" を指定した場合 , ブロックサイズは 16 ワードとなります。
• 読出し時は , 常にブロックサイズ ( リロード値 ) が読み出されます。
[bit15 ∼ bit0] DTC15 ∼ DTC0 (Dma Transfer Count register) * : 転送回数レジスタ
転送回数を格納するレジスタです。各レジスタは 16 ビット長で構成されています。
すべてのレジスタは , 専用のリロードレジスタを持っています。転送回数レジスタ
のリロードを許可しているチャネルに使用した場合 , 転送終了時に自動的に初期設
定値をレジスタに戻します。
DTC
XXXXH
機能
対応チャネルの転送回数指定
DMA 転送が起動すると , 本レジスタのデータを DMA 専用転送回数カウンタのカウ
ンタバッファに格納して 1 転送単位ごとに− 1 カウントします ( 減算 )。DMA の転
送終了時にカウンタバッファの内容を本レジスタにライトバックして DMA は終了
します。よって , DMA 動作中の転送回数指定値を読み出すことはできません。
• 読出しおよび書込みが可能です。DTC のアクセスは , 必ずハーフワード長または
ワード長にて行ってください。
• 読出し時の値は , カウント値となります。リロード値の読出しはできません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
327
第 16 章 DMAC (DMA コントローラ )
16.2 DMAC のレジスタ詳細説明
MB91220 シリーズ
■ DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 コントロール / ステータスレジスタ B [DMACB0 ∼ DMACB4]
DMAC各チャネルの動作制御を行うレジスタで, チャネルごとに独立して存在します。
各ビット機能は以下に示すとおりです。
DMACB0 ∼ DMACB4 ( アクセス:Byte, Half-word, Word)
アドレス
bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16
ch.0:000204H TYPE[1:0] MOD[1:0]
WS[1:0] SADM DADM DTCR SADR DADR
ch.1:00020CH R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
ch.2:000214H
ch.3:00021CH
ch.4:000224H bit15 bit14 bit13 bit11 bit11 bit10 bit9 bit8 bit7 bit6 bit5
SASZ[7:0]
ERIE EDIE
DSS[2:0]
R/W R/W R/W R/W R/W
bit4
bit3
bit2
bit1
bit0
DASZ[7:0]
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
初期値 : 00000000 00000000 00000000 00000000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit31, bit30] TYPE1, TYPE0 (TYPE) * : 転送タイプ設定
対応チャネルの動作タイプを以下のように設定します。
2 サイクル転送モード : 転送元アドレス (DMASA) と転送先アドレス (DMADA) を設
定して読出し動作と書込み動作を転送回数分繰り返して転
送するモードです。
*: DMAC 転送中に設定すると動作に影響を与えるビットを意味します。このビット
の書換えは , DMAC 転送停止中 ( 起動禁止状態または一時停止状態 ) に行ってく
ださい。
TYPE
機能
00B
2 サイクル転送 ( 初期値 )
01B
設定禁止
10B
設定禁止
11B
設定禁止
• リセット時 : "00B" に初期化されます。
• 読出しおよび書込みが可能です。
• 必ず "00B" に設定してください。
328
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 16 章 DMAC (DMA コントローラ )
16.2 DMAC のレジスタ詳細説明
MB91220 シリーズ
[bit29, bit28] MOD1, MOD0 (MODe) * : 転送モード設定
対応チャネルの動作モードを以下のように設定します。
MOD
機能
00B
ブロック / ステップ転送モード ( 初期値 )
01B
バースト転送モード
10B
設定禁止
11B
設定禁止
• リセット時 : "00B" に初期化されます。
• 読出しおよび書込みが可能です。
[bit27, bit26] WS1, WS0 (Word Size) : 転送データ幅選択
対応チャネルの転送データ幅を選択します。本レジスタに設定したデータ幅単位で
指定回数分の転送を行います。
WS
機能
00B
バイト単位で転送 ( 初期値 )
01B
ハーフワード単位で転送
10B
ワード幅単位で転送
11B
設定禁止
• リセット時 : "00B" に初期化されます。
• 読出しおよび書込みが可能です。
[bit25] SADM (Source-ADdr. count-Mode select) * : 転送元アドレスカウント
モード指定
対応するチャネルの転送元アドレスの 1 転送ごとのアドレス処理を指定します。
アドレス増加 / 減少は , 設定された転送元アドレスカウント幅 (SASZ) に従って , 1
転送後に加算 / 減算され転送終了時に次回アクセス用アドレスが対応するアドレス
レジスタ (DMASA) に書き込まれます。
したがって , DMA 転送が終了するまで転送元アドレスレジスタは更新されません。
アドレス固定にする場合は , 本ビットを "0" または "1" に指定してアドレスカウン
ト幅 (SASZ, DASZ) を "0" としてください。
SADM
機能
0
転送元アドレスは増加します。( 初期値 )
1
転送元アドレスは減少します。
• リセット時 : "0" に初期化されます。
• 読出しおよび書込みが可能です。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
329
第 16 章 DMAC (DMA コントローラ )
16.2 DMAC のレジスタ詳細説明
MB91220 シリーズ
[bit24] DADM (Destination-ADdr. Count-Mode select) * : 転送先アドレスカウント
モード指定
対応するチャネルの転送先アドレスの 1 転送ごとのアドレス処理を指定します。
アドレス増加 / 減少は , 設定された転送先アドレスカウント幅 (DASZ) に従って , 1
転送後に加算 / 減算され転送終了時に次回アクセス用アドレスが対応するアドレス
レジスタ (DMADA) に書き込まれます。
よって , DMA 転送が終了するまで転送先アドレスレジスタは更新されません。
アドレス固定にする場合は , 本ビットを "0" または "1" に指定してアドレスカウン
ト幅 (SASZ, DASZ) を "0" としてください。
DADM
機能
0
転送先アドレスは増加します。( 初期値 )
1
転送先アドレスは減少します。
• リセット時 : "0" に初期化されます。
• 読出しおよび書込みが可能です。
[bit23] DTCR (DTC-reg. Reload)* : 転送回数レジスタリロード指定
対応するチャネルの転送回数レジスタのリロード機能を制御します。
本ビットによりリロード動作が許可されている場合 , 転送終了後に回数レジスタ値
を初期設定値に戻して停止し , 転送要求 (STRG または IS 設定による起動要求 ) 待
ち状態になります ( 本ビットが "1" の場合 , DENB ビットはクリアされません )。
DENB = 0, または DMAE = 0 を設定すると強制停止します。
回数カウンタのリロード動作を禁止している場合は , アドレスレジスタにリロード
指定をしていても , 転送終了にて停止するシングルショット動作となります。この
場合 , DENB ビットはクリアされます。
DTCR
機能
0
転送回数レジスタリロードを禁止 ( 初期値 )
1
転送回数レジスタリロードを許可
• リセット時 : "0" に初期化されます。
• 読出しおよび書込みが可能です。
330
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 16 章 DMAC (DMA コントローラ )
16.2 DMAC のレジスタ詳細説明
MB91220 シリーズ
[bit22] SADR (Source-ADdr.-reg. Reload) * : 転送元アドレスレジスタリロード指定
対応するチャネルの転送元アドレスレジスタのリロード機能を制御します。
本ビットによりリロード動作が許可されている場合 , 転送終了後に転送元アドレス
レジスタ値を初期設定値に戻します。
回数カウンタのリロード動作を禁止している場合は , アドレスレジスタにリロード
指定をしていても , 転送終了にて停止するシングルショット動作となります。この
場合 , アドレスレジスタ値は初期設定値がリロードされた状態で停止します。
本ビットによりリロード動作が禁止されている場合は , 転送終了時のアドレスレジ
スタ値は最終アドレスの次のアクセスアドレスとなります ( アドレス増加を指定し
ている場合は , 増加したアドレスとなります )。
SADR
機能
0
転送元アドレスレジスタリロードを禁止 ( 初期値 )
1
転送元アドレスレジスタリロードを許可
• リセット時 : "0" に初期化されます。
• 読出しおよび書込みが可能です。
[bit21] DADR (Dest.-ADdr.-reg. Reload) * : 転送先アドレスレジスタリロード指定
対応するチャネルの転送先アドレスレジスタのリロード機能を制御します。
本ビットによりリロード動作が許可されている場合 , 転送終了後に転送先アドレス
レジスタ値を初期設定値に戻します。
その他 , 機能の詳細は bit22:SADR の内容と等価になります。
DADR
機能
0
転送先アドレスレジスタリロードを禁止 ( 初期値 )
1
転送先アドレスレジスタリロードを許可
• リセット時 : "0" に初期化されます。
• 読出しおよび書込みが可能です。
[bit20] ERIE (ERror Interrupt Enable) * : エラー割込み出力許可
エラー発生による終了時の割込み発生を制御します。
発生したエラーの内容は DSS2 ∼ DSS0 にて示されます。すべての終了要因で本割
込みが発生するのではなく , 特定の終了要因のみ割込みが発生することに注意して
ください (DSS2 ∼ DSS0 ビット説明を参照してください )。
ERIE
機能
0
エラー割込み要求出力禁止 ( 初期値 )
1
エラー割込み要求出力許可
• リセット時 : "0" に初期化されます。
• 読出しおよび書込みが可能です。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
331
第 16 章 DMAC (DMA コントローラ )
16.2 DMAC のレジスタ詳細説明
MB91220 シリーズ
[bit19] EDIE (EnD Interrupt Enable) * : 終了割込み出力許可
正常終了時の割込み発生を制御します。
EDIE
機能
0
終了割込み要求出力禁止 ( 初期値 )
1
終了割込み要求出力許可
• リセット時 : "0" に初期化されます。
• 読出しおよび書込みが可能です。
[bit18 ∼ bit16] DSS2 ∼ DSS0 (Dma Stop Status)* : 転送停止要因表示
対応するチャネルの DMA 転送停止 / 終了の要因を示す 3 ビットのコード ( 終了コー
ド ) を表示します。終了コードの内容は以下のとおりです。
DSS2
機能
割込み発生
0
初期値
なし
1
DMA 一時停止中
(DMAH, PAUS ビット , 割込みなど )
なし
DSS1, DSS0
00B
機能
初期値
01B
なし
−
10B
転送停止要求
11B
正常終了
割込み発生
なし
エラー
終了
転送停止要求は , 周辺回路からの要求を使用した場合のみセットされます。
( 注意事項 )「割込み発生」欄は , 発生可能な割込み要求の種類を示します。
• リセット時 : "000B" に初期化されます。
• "000B" を書き込むことにより , クリアされます。
• 読出しおよび書込みが可能ですが , 本ビットへの書込みは "000B" のみ有効とな
ります。
332
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 16 章 DMAC (DMA コントローラ )
16.2 DMAC のレジスタ詳細説明
MB91220 シリーズ
[bit15 ∼ bit8] SASZ7 ∼ SASZ0 (Source Addr count SiZe) * : 転送元アドレスカウント
サイズ指定
対応するチャネルの 1 転送ごとの転送元アドレス (DMASA) の増減幅を指定します。
本ビットに設定した値が一回の転送単位におけるアドレス増減幅となります。アド
レスの増減は転送元アドレスカウントモード (SADM) の指定に従います。
SASZ
機能
00H
アドレス固定
01H
バイト単位で転送
02H
ハーフワード単位で転送
04H
ワード単位で転送
上記以外
設定禁止
• 読出しおよび書込みが可能です。
• アドレス固定以外に設定する場合 , 転送データ幅 (WS) と同じ転送単位を設定し
てください。
[bit7 ∼ bit0] DASZ7 ∼ DASZ0 (Des Addr count SiZe) * : 転送先アドレスカウント
サイズ指定
対応するチャネルの 1 転送ごとの転送先アドレス (DMADA) の増減幅を指定します。
本ビットに設定した値が一回の転送単位におけるアドレス増減幅となります。アド
レスの増減は転送先アドレスカウントモード (DADM) の指定に従います。
*: DMAC 転送中に設定すると動作に影響を与えるビットを意味します。このビット
の書換えは , DMAC 転送停止中 ( 起動禁止状態または一時停止状態 ) に行ってく
ださい。
DASZ
機能
00H
アドレス固定
01H
バイト単位で転送
02H
ハーフワード単位で転送
04H
ワード単位で転送
上記以外
設定禁止
• 読出しおよび書込みが可能です。
• アドレス固定以外に設定する場合 , 転送データ幅 (WS) と同じ転送単位を設定し
てください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
333
第 16 章 DMAC (DMA コントローラ )
16.2 DMAC のレジスタ詳細説明
MB91220 シリーズ
■ DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 転送元 / 転送先アドレス設定レジスタ
[DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4]
DMAC各チャネルの動作制御を行うレジスタで, チャネルごとに独立して存在します。
各ビット機能は以下に示すとおりです。
● ch.0 ∼ ch.3
図 16.2-1 DMAC-ch.0 ∼ ch.3 転送元 / 転送先アドレス設定レジスタ
[DMASA0 ∼ DMASA3/DMADA0 ∼ DMADA3]
DMASA0 ∼ DMASA3 ( アクセス:Word)
アドレス
bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16
ch.0:001000H
ch.1:001008H
ch.2:001010H
ch.3:001018H
DMASA0 ∼ DMASA3
[19:16]
R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W R/W R/W R/W
bit15 bit14 bit13 bit11 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
DMASA0 ∼ DMASA3 [15:0]
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
初期値 : 00000000 00000000 00000000 00000000B
DMADA0 ∼ DMADA3 ( アクセス:Word)
アドレス
bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16
ch.0:001004H
ch.1:00100CH
ch.2:001014H
ch.3:00101CH
DMADA0 ∼ DMADA3
[19:16]
R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W R/W R/W R/W
bit15 bit14 bit13 bit11 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
DMADA0 ∼ DMADA3 [15:0]
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
初期値 : 00000000 00000000 00000000 00000000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
334
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 16 章 DMAC (DMA コントローラ )
16.2 DMAC のレジスタ詳細説明
MB91220 シリーズ
● ch.4
図 16.2-2 DMAC-ch.4 転送元 / 転送先アドレス設定レジスタ (DMASA4/DMADA4)
DMASA4 ( アクセス:Word)
アドレス
bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16
ch.4:001020H
DMASA4 [23:16]
R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W R/W R/W R/W R/W R/W R/W R/W
bit15 bit14 bit13 bit11 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
DMASA4 [15:0]
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
初期値 : 00000000 00000000 00000000 00000000B
DMADA4 ( アクセス:Word)
アドレス
bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16
ch.4:001024H
DMADA4 [23:16]
R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W R/W R/W R/W R/W R/W R/W R/W
bit15 bit14 bit13 bit11 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
DMADA4 [15:0]
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
初期値 : 00000000 00000000 00000000 00000000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
転送元 / 転送先アドレスを格納するレジスタ群です。ch.0 ∼ ch.3 は 20 ビット長 , ch.4
は 24 ビット長で構成されています。
[bit23 ∼ bit0] DMASA (DMA Source Addr) * : 転送元アドレス設定
転送元アドレスの設定を行います。
[bit23 ∼ bit0] DMADA (DMA Destination Addr) * : 転送先アドレス設定
転送先アドレスの設定を行います。
DMA 転送が起動すると , 本レジスタのデータを DMA 専用アドレスカウンタのカウ
ンタバッファに格納して 1 転送ごとに設定に従いアドレスカウントします。DMA
の転送終了時にカウンタバッファの内容を本レジスタにライトバックして DMA は
終了します。よって , DMA 動作中のアドレスカウンタ値を読み出すことはできませ
ん。
すべてのレジスタは , 専用のリロードレジスタを持っています。転送元 / 転送先ア
ドレスレジスタのリロードを許可しているチャネルに使用した場合 , 転送終了時に
自動的に初期設定値をレジスタに戻します。この際 , ほかのアドレスレジスタには
影響を与えません。
• リセット時 : 初期化されません。
• 読出しおよび書込みが可能です。本レジスタは , 必ず 32 ビットデータでアクセ
スしてください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
335
第 16 章 DMAC (DMA コントローラ )
16.2 DMAC のレジスタ詳細説明
MB91220 シリーズ
• 読出し時の値は , 転送中は転送前のアドレス値 , 転送終了時には次のアクセスア
ドレス値となります。リロード値の読出しはできません。したがって , 転送アド
レスをリアルタイムで読出しすることはできません。
• 存在しない上位ビットには , "0" を設定してください。
<注意事項>
本レジスタにて DMAC 自身のレジスタを設定しないでください。DMAC 自身のレジスタ
に DMA 転送を行うことはできません。
336
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 16 章 DMAC (DMA コントローラ )
16.2 DMAC のレジスタ詳細説明
MB91220 シリーズ
■ DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 DMAC 全体制御レジスタ [DMACR]
DMAC5チャネル分全体の動作制御を行うレジスタです。本レジスタは必ずバイト長で
アクセスしてください。
各ビット機能は以下に示すとおりです。
図 16.2-3 DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 DMAC 全体制御レジスタ (DMACR) のビット構成
DMACR ( アクセス:Byte)
アドレス
bit31
bit30
bit29
bit28
000240H
DMAE
-
-
PM01
R/W
R0,WX
R0,WX
R/W
R/W
R/W
R/W
R/W
bit23
bit22
bit21
bit20
bit19
bit18
bit17
bit16
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
RX,W
bit27
bit26
bit25
bit24
DMAH[3:0]
初期値 : 0--00000 XXXXXXXX XXXXXXXX XXXXXXXXB
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit31] DMAE (DMA Enable) : DMA 動作許可
DMA 全チャネルの動作制御を行います。
本ビットにより DMA 動作が禁止されている場合 , 各チャネルの起動 / 停止の設定
や動作状態にかかわらず , 全チャネルの転送動作が禁止されます。
転送中であったチャネルは要求を取り下げ , ブロック境界で転送を停止します。禁
止状態のとき , 各チャネルに対して行われる起動操作は , すべて無効となります。
本ビットにより DMA 動作が許可されている場合 , チャネルごとに起動 / 停止操作
が有効となります。本ビットで DMA 動作許可を行ったのみでは , 各チャネルに対
する起動は行われません。
本 ビ ッ ト に "0" を 書 込 み す る と 強 制 停 止 し ま す が , 必 ず DMAH[3:0] ビ ッ ト
(DMACR:bit27 ∼ bit24) で DMA を一時停止状態にしてから強制停止 ("0" 書込み ) し
てください。一時停止しないで強制停止した場合は DMA は停止しますが転送デー
タは保証されません。停止の確認は DSS[2:0] ビット (DMACB:bit18 ∼ bit16) で行っ
てください。
DMAE
CM71-10142-5
機能
0
全チャネル DMA 動作禁止 ( 初期値 )
1
全チャネル DMA 動作許可
FUJITSU SEMICONDUCTOR LIMITED
337
第 16 章 DMAC (DMA コントローラ )
16.2 DMAC のレジスタ詳細説明
MB91220 シリーズ
• リセット時 : "0" に初期化されます。
• 読出しおよび書込みが可能です。
[bit28] PM01 (Priority Mode ch.0, ch.1 reverse) : チャネル優先度反転
ch.0, ch.1 の優先度を転送ごとに順位を反転させるときに設定します。
PM01
機能
0
優先順位固定 (ch.0 > ch.1)( 初期値 )
1
優先順位反転 (ch.1 > ch.0)
• リセット時 : "0" に初期化されます。
• 読出しおよび書込みが可能です。
[bit27 ∼ bit24] DMAH3 ∼ DMAH0 (DMA Halt) : DMA 一時停止
DMA 全チャネルの一時停止制御を行います。本ビットがセットされると , 再び本
ビットがクリアされるまでの間は , 全チャネルの DMA 転送を行いません。
起動前に本ビットをセットしてから起動した場合 , 全チャネルが一時停止のままと
なります。
本ビットがセットされている間に DMA 転送が許可 (DENB=1) されているチャネル
に発生した転送要求は , すべて有効となり , 本ビットをクリアすることにより転送
を開始します。
DMAH3 ∼ DMAH0
0000B
0000B 以外
機能
全チャネル DMA 動作許可 ( 初期値 )
全チャネル DMA 一時停止
• リセット時 : "0000B" に初期化されます。
• 読出しおよび書込みが可能です。
[bit30, bit29, bit23 ∼ bit0] (Reserved) : 未使用ビット
読出し値は不定です。
338
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 16 章 DMAC (DMA コントローラ )
16.3 DMAC の動作説明
MB91220 シリーズ
16.3
DMAC の動作説明
DMAC の動作概要 , 転送要求設定や転送シーケンスなどの詳細 , 動作中の詳細など
について説明します。
■ DMAC の概要
DMAC は , FR ファミリに内蔵され , CPU の命令動作を介することなく高速にデータ転
送を制御する多機能 DMA コントローラです。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
339
第 16 章 DMAC (DMA コントローラ )
16.3 DMAC の動作説明
16.3.1
MB91220 シリーズ
DMAC の動作
DMAC の動作について説明します。
■ DMAC の主要動作
• 各転送チャネルは , 独立に各種機能を設定します。
• 各チャネルは起動許可後 , 設定した転送要求を検出するまでは転送動作を行いませ
ん。
• 転送要求検出により , バスコントローラに対し DMA 転送要求を出力し , バスコント
ローラの制御によりバス権を取得して転送を開始します。
• 転送はチャネルごとに設定されたモードに従って , シーケンスで行われます。
■ 転送モード
DMA の各チャネルは , それぞれの DMACB レジスタの MOD[1:0] ビットで設定された
転送モードに従って転送動作を行います。
● ブロック / ステップ転送
1 回の転送要求で 1 ブロック転送単位のみ転送を行い , その後次の転送要求が受け
付けられるまでは DMA はバスコントローラに対し転送要求を停止します。
1 ブロック転送単位 : 設定されたブロックサイズ分 (DMACA:BLK[3:0])
● バースト転送
1 回の転送要求で指定転送回数終了まで連続して転送を行います。
指定転送回数 : ブロックサイズ分×転送回数分(DMACA:BLK[3:0]×DMACA:DTC[15:0])
■ 転送タイプ
● 2 サイクル転送 ( 通常転送 )
DMA コントローラの動作は , 読出し動作と書込み動作を 1 つの単位として動作を行
います。
転送元レジスタのアドレスからデータを読み出して転送先レジスタのアドレスへ
データを書込みします。
340
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 16 章 DMAC (DMA コントローラ )
16.3 DMAC の動作説明
MB91220 シリーズ
■ 転送アドレス
アドレッシングは , 各チャネル転送元 / 転送先ごとに独立に設定します。
● 2 サイクル転送でのアドレスの指定
あらかじめアドレスを設定してあるレジスタ (DMASA, DMADA) から読み出した値
をアドレスとしてアクセスします。
転送要求を受け付けたら DMA はレジスタからアドレスを一時記憶バッファに格納
して転送を開始します。
1 回の転送 ( アクセス ) ごとに , アドレスカウンタにて次回アクセスアドレスを生成
( 加算 / 減算 / 固定選択可能 ) して , 一時記憶バッファに戻します。この一時記憶バッ
ファの内容は , 1 ブロック転送単位終了ごとにレジスタ (DMASA, DMADA) へライ
トバックされます。
そのため , アドレスレジスタ (DMASA, DMADA) 値は , 1 ブロック転送単位ごとにし
か更新されませんので , 転送中のアドレスをリアルタイムに知ることはできませ
ん。
■ 転送回数と転送終了
● 転送回数
1 ブロック転送単位終了ごとに , 転送回数レジスタをデクリメント (-1) します。
転送回数レジスタが "0" になると指定転送回数終了となり , 終了コードを表示して
停止または再起動します。
転送回数レジスタ値はアドレスレジスタと同様に 1 ブロック転送単位ごとにしか更
新されません。
転送回数レジスタリロード禁止に設定している場合は転送を終了します。許可され
ている場合はレジスタ値を初期化して転送待ち状態になります (DMACB:DTCR)。
● 転送終了
転送終了要因には以下のものがあり , 転送終了時は終了コードとして要因が表示さ
れます (DMACB:DSS[2:0])。
• 指定転送回数の終了 (DMACA:BLK[3:0] × DMACA:DTC[15:0]) →正常終了
• 周辺回路からの転送停止要求の発生 →エラー
• リセットの発生→初期値
各終了要因に対応して , 転送停止要因表示 (DSS) され転送終了割込み / エラー割込
みを発生できます。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
341
第 16 章 DMAC (DMA コントローラ )
16.3 DMAC の動作説明
MB91220 シリーズ
転送要求の設定
16.3.2
DMA 転送を起動する転送要求は , 以下の 2 種類があります。
• 内蔵周辺要求
• ソフトウェア要求
ソフトウェア要求については , ほかの要求の設定にかかわらず常に使用することが
できます。
■ 内蔵周辺要求
内蔵周辺回路の割込み発生により , 転送要求を発生します。
チャネルごとに , どの周辺の割込みにより転送要求を発生するかを設定します
(DMACA : IS[4:0]=1XXXXB)。
<注意事項>
転送要求に使用した割込み要求は, CPUへの割込み要求としても見えますので割込みコン
トローラの設定を割込み禁止に設定してください (ICR レジスタ )。
■ ソフトウェア要求
レジスタのトリガビットへの書込みにより転送要求を発生します (DMACA:STRG)。
内蔵周辺要求の転送要求とは独立で , 常に使用することができます。
起動 ( 転送許可 ) と同時にソフトウェア要求を行った場合 , 直後にバスコントロー
ラに対し DMA 転送要求を出力し転送を開始します。
<注意事項>
内蔵周辺要求を設定したチャネルに対してソフトウェア要求を行うと , 転送終了後 , 該当
する周辺に対して要因クリアを行います。このため , 本来の転送要求をクリアしてしまう
可能性がありますので , 内蔵周辺要求を設定した状態でソフトウェア要求を行わないでく
ださい。
342
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 16 章 DMAC (DMA コントローラ )
16.3 DMAC の動作説明
MB91220 シリーズ
16.3.3
転送シーケンス
チャネルごとに , DMA 転送起動後の動作シーケンスなどを決定する転送タイプと転送
モードを独立に設定することができます (DMACB:TYPE[1:0], MOD[1:0] の設定 ) 。
■ 転送シーケンスの選択
レジスタの設定により以下のシーケンスが選択可能です。
• バースト 2 サイクル転送
• ブロック / ステップ 2 サイクル転送
■ バースト 2 サイクル転送
1 回の転送要因にて指定転送回数の転送を続けて行います。2 サイクル転送の場合は転
送元 / 転送先アドレスは ch.0 ∼ ch.3 では 20 ビット , ch.4 では 24 ビット指定可能です。
転送要因は , 周辺転送要求 / ソフトウェア転送要求を選択できます。
● バースト転送の特長
• 転送要求を 1 回受け付けると , 転送回数レジスタが "0" になるまで連続して転送
を行います。
• 転送回数はブロックサイズ分×転送回数分になります
(DMACA:BLK[3:0] × DMACA:DTC[15:0])。
• 転送中に再度要求が発生した場合 , 要求は無視されます。
• 転送回数レジスタのリロード機能が有効である場合, 転送終了後より次の転送要
求を受け付けます。
• 転送中に , より高い優先順位の他チャネルの転送要求を受け付けた場合 , ブロッ
ク転送単位の境目でチャネルを切り換え, そのチャネルの転送要求がクリアされ
るまで復帰しません。
図 16.3-1 バースト転送例
周辺転送要求
バス動作
CPU
転送回数
SA
DA
4
SA
DA
3
SA
DA
2
SA
DA
1
CPU
0
転送終了(内部)
(周辺転送要求,ブロック数=1,転送回数=4のとき)
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
343
第 16 章 DMAC (DMA コントローラ )
16.3 DMAC の動作説明
MB91220 シリーズ
■ ステップ / ブロック転送 2 サイクル転送
ステップ / ブロック転送 (1 転送要求ごとに指定ブロック回数分のみ転送を行う ) の場
合は転送元 / 転送先アドレスは , ch.0 ∼ ch.3 では 20 ビット , ch.4 では 24 ビット指定可
能です。
■ ステップ転送
ブロックサイズに "1" を設定すると , ステップ転送シーケンスとなります。
● ステップ転送の特長
• 転送要求を 1 回受け付けると , 1 回の転送を行った後 , 転送要求をクリアして転
送を停止します ( バスコントローラに対し DMA 転送要求を取り下げる )。
• 転送中に再度要求が発生した場合 , 要求は無視されます。
• 転送中に , より高い優先順位の他チャネルの転送要求を受け付けた場合 , 転送停
止後に , チャネルを切り換えて続けて転送を開始します。ステップ転送における
優先順位は , 転送要求が同時に発生した場合のみ意味を持ちます。
■ ブロック転送
ブロックサイズに "1" 以外を設定すると , ブロック転送シーケンスとなります。
● ブロック転送の特長
1 転送単位が複数回 ( ブロック数 ) の転送サイクルから構成されること以外は , ス
テップ転送と全く同じ動作となります。
図 16.3-2 ブロック転送例
周辺転送要求
バス動作
CPU
ブロック数
転送回数
SA
DA
SA
2
DA
1
CPU
SA
0
2
DA
SA
2
DA
1
1
転送終了(内部)
(周辺転送要求,ブロック数=2,転送回数=2のとき)
344
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 16 章 DMAC (DMA コントローラ )
16.3 DMAC の動作説明
MB91220 シリーズ
16.3.4
DMA 転送全般
DMA 転送のブロックサイズとリロード動作について説明します。
■ ブロックサイズ
• 転送データの 1 転送単位は , ( ブロックサイズ指定レジスタに設定した数 ) × ( デー
タ幅 ) のデータの集合となります。
• 1 転送サイクルにて転送されるデータは , データ幅指定の値に固定されるため , 1 転
送単位はブロックサイズ指定値分の転送サイクル数より構成されることになりま
す。
• 転送中に , より高位の優先順位の転送要求が受け付けられた場合または転送の一時
停止要求が発生した場合 , ブロック転送時でも 1 転送単位の境界にならないと停止
しません。これにより分割・一時停止を希望しないデータブロックのデータ保護が
可能ですが , ブロックサイズが大きい場合はレスポンスを低下させる原因となりま
す。
• リセット発生の場合のみ即時に停止しますが , 転送中のデータの内容などは保証さ
れません。
■ リロード動作
DMAC では , チャネルごとに , 以下の 3 種類のリロード機能の設定が可能です。
• 転送回数レジスタリロード機能
指定回数の転送が終了した後 , 転送回数レジスタに初期設定値を再設定して起動受
付け待ちします。
全転送シーケンスを繰り返し行う際に設定します。
リロード指定をしない場合 , 指定回数の転送終了後は回数レジスタ値が "0" のまま
となり , 以降の転送は行われません。
• 転送元アドレスレジスタリロード機能
指定回数の転送が終了した後 , 転送元アドレスレジスタに初期設定値を再設定しま
す。
転送元アドレス領域内で固定領域から繰り返し転送する場合に設定します。
リロード指定をしない場合 , 指定回数の転送終了後は転送元アドレスレジスタ値が
終了時の次のアドレスとなります。アドレス領域を固定しない場合に使用します。
• 転送先アドレスレジスタリロード機能
指定回数の転送が終了した後 , 転送先アドレスレジスタに初期設定値を再設定しま
す。
転送先アドレス領域内で固定領域へ繰り返し転送する場合に設定します。
リロード指定をしない場合 , 指定回数の転送終了後は転送元アドレスレジスタ値が
終了時の次のアドレスとなります。アドレス領域を固定しない場合に使用します。
転送元 / 転送先レジスタのリロード機能を有効にしたのみでは , 指定回数転送終了
後の再起動は行われず , 各アドレスレジスタ値が再設定されるのみとなります。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
345
第 16 章 DMAC (DMA コントローラ )
16.3 DMAC の動作説明
MB91220 シリーズ
<注意事項>
動作モードとリロード動作の特殊な例
• 転送終了にていったん停止し , 再度入力検出から行いたい場合は , リロード指定を行わ
ないようにしてください。
• バースト / ブロック / ステップ転送モードで転送している場合では , 転送終了となると
リロード後いったん転送を中断し , 改めて転送要求入力が検出されるまで転送を行い
ません。
346
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 16 章 DMAC (DMA コントローラ )
16.3 DMAC の動作説明
MB91220 シリーズ
アドレッシングモード
16.3.5
各転送チャネルの転送先および転送元アドレスは , それぞれ独立して指定します。
転送シーケンスによって設定してください。
ここでは , その指定方法について説明します。
■ アドレスレジスタ指定
2 サイクル転送モードでは , 転送元アドレス設定レジスタ (DMASA) には転送元アドレ
スを,転送先アドレス設定レジスタ(DMADA)には転送先アドレスを設定してください。
● アドレスレジスタの特長
• ch.0 ∼ ch.3 は 20 ビット長 , ch.4 は 24 ビット長のレジスタです。
● アドレスレジスタの機能
• 毎アクセス時に読み出され , アドレスバスへ放出されます。
• 同時にアドレスカウンタにて次回アクセス時のアドレス計算が行われ, 計算結果
のアドレスにてアドレスレジスタを更新します。
• アドレス計算は , 各チャネル / 転送先 / 転送元それぞれ独立に固定 / 加算 / 減算の
うちより選択します。アドレスの増減幅はアドレスカウントサイズ指定レジスタ
値によります (DMACB:SASZ, DASZ)。
• 転送終了時のアドレスレジスタには , リロード機能を有効にしていない場合 , 最
終アドレスにアドレス計算をした結果のアドレスが残されます。
• リロード機能を有効にしている場合 , アドレスの初期値がリロードされます。
< 注意事項 >
• 20 ビットまたは 24 ビット長フルアドレス計算の結果 , オーバフロー / アンダフローが
発生した場合でも , そのチャネルの転送は継続されます。オーバフロー / アンダフロー
が発生しないよう各チャネルを設定してください。
• アドレスレジスタに DMAC 自身のレジスタのアドレスを設定しないでください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
347
第 16 章 DMAC (DMA コントローラ )
16.3 DMAC の動作説明
16.3.6
MB91220 シリーズ
データの種類
1 回の転送で転送されるデータ長 ( データ幅 ) を 以下に示します。
• バイト
• ハーフワード
• ワード
■ アクセスアドレス
DMA 転送においても , ワードバウンダリ仕様が守られるため , 転送先 / 転送元アドレ
ス指定においてデータ長と食い違うアドレスが設定された場合 , 異なる下位ビットは
無視されます。
• バイト
: 実際のアクセスアドレスとアドレス指定が一致します。
• ハーフワード : 実際のアクセスアドレスは下位 1 ビット が "0" から始まる 2 バイト
となります。
• ワード
: 実際のアクセスアドレスは下位 2 ビット が "00B" から始まる 4 バイ
トとなります。
転送元アドレスと転送先アドレスの下位ビットが食い違っている場合 , 内部アドレス
バス上には設定そのままのアドレスが出力されますが , バス上の各転送対象において ,
上記の決まりに従ってアドレスが修正されてアクセスが行われます。
348
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 16 章 DMAC (DMA コントローラ )
16.3 DMAC の動作説明
MB91220 シリーズ
16.3.7
転送回数制御
転送回数は , 最大で 16 ビット 長の範囲内 (1 回∼ 65536 回 ) で指定します。転送回
数指定値は転送回数レジスタ (DMACA:DTC) に設定します。
■ 転送回数レジスタとリロード動作
レジスタ値は , 転送開始時に一時記憶バッファに格納され , 転送回数カウンタにより減
算されます。
このカウンタ値が "0" となったとき , 指定回数の転送終了として検出され , そのチャネ
ルの転送停止または再起動受付け待ち ( リロード指定時 ) が行われます。
● 転送回数レジスタ群の特長
• 各レジスタ 16 ビット長です。
• すべてのレジスタはそれぞれ専用リロードレジスタを持ちます。
• レジスタ値が "0" 時に起動すると , 65536 回の転送を行います。
● リロード動作
• リロード機能をもつレジスタで, リロード機能が許可されている場合にのみ有効
です。
• 転送起動時に , 回数レジスタの初期値をリロードレジスタに退避します。
• 転送回数カウンタにてカウントを行った際 "0" になると , 転送終了を通知すると
ともに , リロードレジスタより初期値を読み出し , 回数レジスタに書込みます。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
349
第 16 章 DMAC (DMA コントローラ )
16.3 DMAC の動作説明
MB91220 シリーズ
CPU 制御
16.3.8
DMA 転送要求が受け付けられると , DMA はバスコントローラに対し転送要求を発
行します。バスコントローラはバス動作の切れ目にて内部バス使用権を DMA に明け
渡し , DMA 転送が開始されます。
■ DMA 転送と割込み
DMA 転送中に , NMI 要求 , または割込みコントローラの HRCL レジスタにて設定され
たホールド抑止レベルより高いレベルの割込み要求が発生した場合には , DMAC は転
送単位 (1 ブロック ) の境界にてバスコントローラへの転送要求を一次取り下げ , 割込
み要求がクリアされるまでは転送を一時停止状態にします。この間転送要求は内部で
保持されます。割込み要求がクリアされた後に再度バスコントローラは転送要求を発
行してバス使用権を取得し , DMA 転送を再開します。
割込みのレベルが HRCL レジスタに設定されたレベルより低い場合は , DMA 転送終了
まで割込みは受け付けられません。また , HRCL の設定値より低いレベルの割込み処理
動作中に DMA 転送要求があった場合は , 転送要求は受け付けられ , 転送終了まで割込
み処理動作は停止します。
デフォルトでは DMA 転送要求レベルは最弱です。すべての割込み要求に対して転送
を停止し , 割込み処理を優先させます。
■ DMA 抑止
FR ファミリは DMA 転送中に , より優先度の高い割込み要因が発生すると DMA 転送
を中断して該当割込みルーチンへ分岐します。この機能は割込み要求がある限り有効
ですが , 割込み要因をクリアすると抑止機能が働かなくなり , 割込み処理ルーチン内で
DMA 転送を再開します。このため , DMA 転送を中断するレベルの割込み要因の処理
ルーチン内で , 割込み要因クリア後の DMA 再転送開始を抑止したいときは , DMA 抑
止機能を使用します。DMA 抑止機能は , DMA 全体制御レジスタの DMAH[3:0] ビット
に "0" 以外の値を書き込むことで起動し , "0" を書き込むことで停止します。
本機能は主として割込み処理ルーチン内で使用します。割込み処理ルーチンで割込み
要因をクリアする前に DMA 抑止レジスタの内容を 1 つ増加させます。このようにす
ると , 以降 , DMA 転送は行いません。割込み処理への対応を行った後 , 復帰する前に
DMAH[3:0] ビットの内容を 1 つ減少させます。もし , 多重割込みであれば DMAH[3:0]
ビットの内容は , まだ "0" にならないため , 引き続いて DMA 転送は抑止されます。ま
た , 多重割込みでなければ , DMAH[3:0] ビットの内容は "0" になるため , その後すぐに
DMA 要求を有効にします。
<注意事項>
• DMA 転送以外の多重割込みが発生した場合 , DMAH[3:0] は 4bit 構成なので多重割込み
が発生した数は , 15 までしかカウントしません。
• DMA より優先度の高い割込みは 15 要因までにすることを踏まえて DMA の割り込みレ
ベルを設定してください。
350
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 16 章 DMAC (DMA コントローラ )
16.3 DMAC の動作説明
MB91220 シリーズ
16.3.9
動作
DMA 転送の動作について説明します。
■ 動作開始
DMA 転送の開始は , チャネルごとに独立に制御しますが , その前に全チャネルの動作
を許可しておく必要があります。
● 全チャネル動作許可
DMAC 各チャネルに起動を行う前に , DMA 動作許可ビット (DMACR:DMAE) にてあら
かじめ全チャネルの動作を許可する必要があります。許可されていない状態にて行っ
た起動設定および発生した転送要求はすべて無効となります。
● 転送起動
各チャネルの制御レジスタにある動作許可ビットにて , 転送動作を起動します。起動さ
れたチャネルに対する転送要求が受け付けられると , 設定されたモードにて DMA 転送
動作が開始されます。
● 一時停止状態からの起動
各チャネルまたは全チャネル制御にて , 起動前に一時停止状態にしてあった場合 , 転送
動作を起動しても一時停止状態を維持しています。この間に転送要求が発生した場合
は , 要求を受け付けて保持します。一時停止を解除した時点より転送を開始します。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
351
第 16 章 DMAC (DMA コントローラ )
16.3 DMAC の動作説明
16.3.10
MB91220 シリーズ
転送要求の受付けと転送
転送要求の受付けと転送の内容を説明します。
■ 転送要求の受付けと転送
• 起動後より , 各チャネルに対し設定した転送要求のサンプリングが開始されます。
• 周辺割込み起動を選択した場合は , 転送要求がクリアされるまで DMAC は転送を続
けますがクリアされたら 1 転送単位で転送を停止します ( 周辺割込み起動 )。
周辺割込みはレベル検出扱いとなりますので割込みは DMA による割込みクリアで
行うようにしてください。
• 転送要求は , 他チャネルの要求が受け付けられて転送が行われている間でも , 常に
受け付けられており , 優先順位の判断を行って , 1 転送単位ごとに転送するチャネル
を決定しています。
352
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 16 章 DMAC (DMA コントローラ )
16.3 DMAC の動作説明
MB91220 シリーズ
16.3.11
DMA による周辺割込みクリア
DMA には周辺割込みをクリアする機能があります。この機能は DMA 起動要因に周
辺割込みを選択したときに機能します (IS [4:0]=1XXXXB のとき )。
周辺割込みのクリアは設定された起動要因にのみに行われます。すなわち IS [4:0]
で設定された周辺機能のみクリアされます。
■ 割込みクリアの発生タイミング
転送モードにより発生するタイミングが違います (「16.4 DMAC の動作フロー」を参
照 )。
● ブロック / ステップ転送
ブロック転送を選択した場合 , 1 ブロック ( ステップ ) 転送ごとにクリア信号が発生
します。
● バースト転送
バースト転送を選択した場合は , 指定転送回数がすべて終了するとクリア信号が発
生します。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
353
第 16 章 DMAC (DMA コントローラ )
16.3 DMAC の動作説明
16.3.12
MB91220 シリーズ
一時停止
DMA 転送が , 一時停止する場合について説明します。
■ 制御レジスタへの書込みによる一時停止の設定 (各チャネル独立または全チャネル
同時に設定 )
一時停止ビットにより一時停止を設定すると , 一時停止解除設定を再度設定するまで
の間 , 対応するチャネルの転送は停止します。一時停止の確認は DSS ビットで行って
ください。
一時停止を解除すると , 転送を再開します。
■ NMI/ ホールド抑止レベル割込み処理中
NMI 要求 , またはホールド抑止レベルより高いレベルの割込み要求が発生した場合 , 転
送中のチャネルはすべて転送単位の境界にて一時停止し , バス権を開放して NMI/ 割込
み処理を優先させます。また , NMI/ 割込み処理中に受け付けられた転送要求はそのま
ま保持され , NMI 処理の終了を待ちます。
要求が保持されたチャネルは , NMI/ 割込み処理が終了した後に転送を再開します。
354
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 16 章 DMAC (DMA コントローラ )
16.3 DMAC の動作説明
MB91220 シリーズ
16.3.13
動作終了 / 停止
DMA 転送の終了は , チャネルごとに独立に制御しますが , 全チャネルの動作を禁止
することも可能です。
■ 転送終了
リロード動作が有効でない場合 , 転送回数レジスタが "0" になると転送を停止し , 終了
コードにて「正常終了」を表示した後 , 以降の転送要求は無効となります
(DMACA:DENB ビットをクリアする )。
リロード動作が有効である場合 , 転送回数レジスタが "0" になると初期値をリロード
し , 終了コードにて『正常終了』を表示した後 , 再度転送要求待ちとなります
(DMACA:DENB ビットをクリアしない )。
■ 全チャネル動作禁止
DMA 動作許可ビット DMAE にて全チャネルの動作を禁止すると , 動作中であったチャ
ネルも含め DMAC のすべての動作が停止します。以降 , 再度全チャネル DMA 動作を
許可しても , チャネルごとに再起動しないと転送は行われません。この場合 , 割込みは
一切発生しません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
355
第 16 章 DMAC (DMA コントローラ )
16.3 DMAC の動作説明
MB91220 シリーズ
エラーによる停止
16.3.14
指定回数の転送終了による正常終了以外の要因で停止する場合として , 各種エラー
発生による停止および強制停止があります。
■ 周辺回路からの転送停止要求の発生
転送要求を出力する周辺回路によっては , 異常を検出した際などに転送停止要求を発
生するものがあります ( 例 : 通信系周辺における受信 / 送信エラーなど )。
この転送停止要求を受け取った DMAC は , 終了コードにて「転送停止要求」を表示し
て対応するチャネルの転送を停止します。
<注意事項>
• 周辺回路の転送停止要求の有無については , DMACA レジスタの bit28 ∼ bit24(IS4 ∼
IS0) 転送要因選択ビットの説明を参照してください。
• 各転送停止要求の発生条件についての詳細は , 各周辺回路の仕様を参照してください。
356
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 16 章 DMAC (DMA コントローラ )
16.3 DMAC の動作説明
MB91220 シリーズ
16.3.15
DMAC 割込み制御
DMAC 割込み制御は , 転送要求となる周辺割込みとは独立に , チャネルごとに以下
の割込みを出力することが可能です。
■ DMAC 割込み制御が出力できる割込み
• 転送終了割込み : 正常終了した場合のみ発生
• エラー割込み
: 周辺回路からの転送停止要求 ( 周辺に起因するエラー )
これらの割込みはすべて終了コードの内容に従って出力されます。
割込み要求のクリアは , DMACS の DSS2 ∼ DSS0( 終了コード ) に "000B" を書き込むこ
とにより行います。なお , 終了コードは再起動する際には必ず "000B" を書き込んでク
リアしてください。
リロード動作が有効である場合は自動的に再起動しますが , この際には終了コードは
クリアされず , 次の転送終了による新しい終了コードの書込み時まで保持されます。
終了コードにて表示できる終了要因は1種類のみですので, 複数の要因が同時に発生し
た場合は優先判断を行った結果を表示します。この際に発生する割込みは , 表示されて
いる終了コードに従います。
終了コードの表示の優先順位を以下に示します ( 上から , 優先度の高い順 )。
• リセット
• "000B" 書込みによるクリア
• 周辺停止要求
• 正常終了
• チャネル選択と制御
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
357
第 16 章 DMAC (DMA コントローラ )
16.3 DMAC の動作説明
16.3.16
MB91220 シリーズ
スリープ中の DMA 転送
DMAC は , スリープモード中でも動作させることができます。スリープ状態のとき
の DMA 転送について説明します。
■ スリープモード中の DMA 転送の注意
スリープモードでの動作を期待する場合 , 次のことに注意する必要があります。
• CPU は停止状態なので DMAC のレジスタを書き換えることはできません。スリー
プモードに入る前に設定を済ませておいてください。
• スリープモードは , 割込みで解除されますので DMAC 起動要因で周辺での割込みを
選択した場合は , 割込みコントローラで割込みを禁止する必要があります。
同様に, DMAC終了割込みでスリープモードを解除しない場合は, 割込みを禁止にして
ください。
358
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 16 章 DMAC (DMA コントローラ )
16.3 DMAC の動作説明
MB91220 シリーズ
16.3.17
チャネル選択と制御
転送チャネルの数は 5 チャネルまで同時設定が可能です。各チャネルは基本的に各
機能を独立に設定することが可能です。
■ チャネル間優先順位
同時に DMA 転送ができるのは 1 チャネルのみとなっているため , 各チャネル間には優
先順位が設定されます。
順位設定には , 固定 / 反転の 2 モードがありチャネルグループごとに選択します。
● 固定モード
チャネル番号の小さい順に固定されます。
(ch.0 > ch.1 > ch.2 > ch.3 > ch.4)
転送中により高い優先度の転送要求が受け付けられた場合 , 1 転送単位 ( ブロックサ
イズ指定レジスタに設定した数×データ幅 ) の転送が終了した時点で転送チャネル
が高優先度側に切り換わります。
高優先度側の転送が終了すると , 元のチャネルの転送を再開します。
図 16.3-3 固定モードのシーケンス
ch.0転送要求
ch.1転送要求
バス動作
CPU
SA
転送チャネル
DA
SA
ch.1
DA
ch.0
SA
DA
ch.0
SA
DA
CPU
ch.1
ch.0転送終了
ch.1転送終了
● 反転モード (ch.0 - ch.1 間のみ )
動作許可後の初期状態は固定モードと同じ順位に設定されますが , 1 転送終了ごと
にそのチャネルの優先度は反転します。よって , 同時に転送要求が出力されている
場合 , 1 転送単位ごとにチャネルが切り換わります。
連続 / バースト転送を設定した場合に効果のあるモードです。
図 16.3-4 反転モードのシーケンス
ch.0転送要求
ch.1転送要求
バス動作
転送チャネル
CPU
SA
DA
ch.1
SA
DA
ch.0
SA
DA
ch.1
SA
DA
CPU
ch.0
ch.0転送終了
ch.1転送終了
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
359
第 16 章 DMAC (DMA コントローラ )
16.3 DMAC の動作説明
MB91220 シリーズ
■ チャネルグループ
優先順位の選択は , 以下の単位で設定します。
360
モード
優先度
備 考
固定
ch.0 > ch.1
−
反転
ch.0 > ch.1
↑ ↓
ch.0 < ch.1
初期状態は上側の順位です
上側が転送されると反転します。
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 16 章 DMAC (DMA コントローラ )
16.4 DMAC の動作フロー
MB91220 シリーズ
16.4
DMAC の動作フロー
次の各転送モードにおける動作フローチャートを示します。
・ブロック転送
・バースト転送
■ ブロック転送
図 16.4-1 ブロック転送の動作フロー
DMA停止
DENB→0
DENB=1
起動要求待機
リロード許可
起動要求
初期化
アドレス,転送回数,ブロック数
ロード
転送元アドレスアクセス
アドレス演算
転送先アドレスアクセス
アドレス演算
ブロック数-1
BLK=0
転送回数-1
周辺割込み起動要因選択時のみ
アドレス,転送回数,ブロック数
ライトバック
割込みクリア
割込みクリア発生
DTC=0
DMA転送終了
DMA割込み発生
● 特長
• すべての起動要因で起動可能 ( 選択 )
• すべての領域へのアクセス可能
• ブロック数の設定可能
• ブロック数終了で割込みクリア発行
• 指定転送回数終了で DMA 割込みを発行
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
361
第 16 章 DMAC (DMA コントローラ )
16.4 DMAC の動作フロー
MB91220 シリーズ
■ バースト転送
図 16.4-2 バースト転送の動作フロー
DMA停止
DENB→0
DENB=1
起動要求待機
リロード許可
初期化
アドレス,転送回数,ブロック数
ロード
転送元アドレスアクセス
アドレス演算
転送先アドレスアクセス
アドレス演算
ブロック数-1
BLK=0
転送回数-1
DTC=0
アドレス,転送回数,ブロック数
ライトバック
周辺割込み起動要因選択時のみ
割込みクリア
DMA転送終了
割込みクリア発生
DMA割込み発生
● 特長
• すべての起動要因で起動可能 ( 選択 )
• すべての領域へのアクセス可能
• ブロック数の設定可能
• 指定転送回数終了で割込みクリア , DMA 割込みを発行
362
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 16 章 DMAC (DMA コントローラ )
16.5 DMAC のデータパス
MB91220 シリーズ
DMAC のデータパス
16.5
2 サイクル転送時のデータの動きを示します。
■ 2 サイクル 転送時のデータの動作
6 種類の転送例を示します ( ほかの組合せは省略 )。
DMAC
X-bus
バスコントローラ
D-bus
データバッファ
ライトサイクル
I-bus
CPU
CPU
I-bus
外部バスI/F
DMAC
リードサイクル
X-bus
バスコントローラ
D-bus
データバッファ
F-bus
F-bus
RAM
外部バス I/F
外部領域=>外部領域 転送
I/O
RAM
I/O
外部領域=>内部RAM領域 転送
X-bus
バスコントローラ
D-bus
データバッファ
I-bus
CPU
CPU
I-bus
ライトサイクル
X-bus
バスコントローラ
D-bus
データバッファ
F-bus
RAM
外部バスI/F
DMAC
外部バスI/F
DMAC
リードサイクル
F-bus
I/O
RAM
I/O
X-bus
バスコントローラ
D-bus
データバッファ
I-bus
X-bus
バスコントローラ
D-bus
データバッファ
F-bus
RAM
外部バス I/F
CPU
I-bus
DMAC
ライトサイクル
CPU
DMAC
リードサイクル
外部バス I/F
外部領域=>内蔵I/O領域 転送
I/O
F-bus
RAM
I/O
( 続く )
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
363
第 16 章 DMAC (DMA コントローラ )
16.5 DMAC のデータパス
MB91220 シリーズ
( 続き )
X-bus
バスコントローラ
D-bus
データバッファ
I-bus
X-bus
バスコントローラ
D-bus
F-bus
RAM
外部バスI/F
CPU
I-bus
DMAC
ライトサイクル
CPU
DMAC
リードサイクル
外部バス I/F
内蔵I/O領域=>内蔵RAM領域 転送
F-bus
RAM
I/O
I/O
DMAC
X-bus
バスコントローラ
D-bus
データバッファ
ライトサイクル
I-bus
CPU
CPU
I-bus
外部バスI/F
DMAC
リードサイクル
X-bus
バスコントローラ
D-bus
データバッファ
F-bus
RAM
外部バス I/F
内部RAM領域=>外部領域 転送
F-bus
RAM
I/O
I/O
CPU
バスコントローラ
D-bus
データバッファ
X-bus
I-bus
バスコントローラ
D-bus
データバッファ
F-bus
F-bus
RAM
364
I/O
FUJITSU SEMICONDUCTOR LIMITED
外部バス I/F
X-bus
I-bus
DMAC
ライトサイクル
CPU
DMAC
リードサイクル
外部バス I/F
内部RAM領域=>内蔵I/O領域 転送
RAM
I/O
CM71-10142-5
第 17 章
ステッパモータコントローラ
ステッパモータコントローラの概要 , レジスタの構
成 / 機能および動作について説明します。
CM71-10142-5
17.1
ステッパモータコントローラの概要
17.2
ステッパモータコントローラのレジスタ
17.3
動作説明
17.4
ステッパモータコントローラの使用上の注意
FUJITSU SEMICONDUCTOR LIMITED
365
第 17 章 ステッパモータコントローラ
17.1 ステッパモータコントローラの概要
17.1
MB91220 シリーズ
ステッパモータコントローラの概要
ステッパモータコントローラの概要とブロックダイヤグラムを示します。
■ ステッパモータコントローラの概要
ステッパモータコントローラは , 2 個の PWM パルス発生器 , 4 個のモータドライバ , セ
レクタロジックにより構成されています。
4 種類のモータドライバには高出力ドライブ機能があり , 2 個のモータコイルの終端 4
箇所に直接接続できます。PWM パルス発生器およびセレクタロジックを組み合せるこ
とによって , モータの回転を制御するよう設計されています。
同期のメカニズムは , 2 個の PWM の同期動作を保証します。
■ ステッパモータコントローラのブロックダイヤグラム
図 17.1-1 に , ステッパモータコントローラのブロックダイヤグラムを示します。
図 17.1-1 ステッパモータコントローラのブロックダイヤグラム
( ステッパモータコントローラ ch.0 の場合 )
周辺クロック
CK
プリスケーラ
PWM1 パルス発生器
EN
P2
P1
PWM1P0
セレクタ
PWM1M0
PWM
P0
PWM1 比較レジスタ
PWM1 選択レジスタ
SC
CK
PWM2 パルス発生器
CE
EN
セレクタ
PWM2P0
PWM2M0
PWM
ロード
PWM2 比較レジスタ
366
BS PWM2 選択レジスタ
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 17 章 ステッパモータコントローラ
17.2 ステッパモータコントローラのレジスタ
MB91220 シリーズ
17.2
ステッパモータコントローラのレジスタ
ステッパモータコントローラのレジスタの機能について説明します。
■ ステッパモータコントローラのレジスタ一覧
図 17.2-1 に , ステッパモータコントローラのレジスタ一覧を示します。
図 17.2-1 ステッパモータコントローラのレジスタ一覧
PWC ( アクセス:Byte)
アドレス
ch.0: 000169H
ch.1: 000171H
ch.2: 000179H
ch.3: 000181H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
予約
P2
P1
P0
CE
SC
−
予約
000000-0B
R/W0
R/W
R/W
R/W
R/W
R/W
R1,WX
R/W0
PWC2 ( アクセス:Half-word, Word)
アドレス
ch.0: 000164H
ch.1: 00016CH
ch.2: 000174H
ch.3: 00017CH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
−
−
−
−
−
−
D9
D8
R1,WX
R1,WX
R1,WX
R1,WX
R1,WX
R1,WX
R/W
R/W
------XXB
初期値
PWC1 ( アクセス:Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
ch.0: 000165H
ch.1: 00016DH
ch.2: 000175H
ch.3: 00017DH
D7
D6
D5
D4
D3
D2
D1
D0
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
PWS2 ( アクセス:Byte, Half-word, Word)
アドレス
ch.0: 00016AH
ch.1: 000172H
ch.2: 00017AH
ch.3: 000182H
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
−
BS
P2
P1
P0
M2
M1
M0
-0000000B
R1,WX
R/W
R/W
R/W
R/W
R/W
R/W
R/W
PWS1 ( アクセス:Byte, Half-word, Word)
アドレス
ch.0: 00016BH
ch.1: 000173H
ch.2: 00017BH
ch.3: 000183H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
−
−
P2
P1
P0
M2
M1
M0
初期値
R1,WX
R1,WX
R/W
R/W
R/W
R/W
R/W
R/W
--000000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
367
第 17 章 ステッパモータコントローラ
17.2 ステッパモータコントローラのレジスタ
MB91220 シリーズ
PWM 制御レジスタ
17.2.1
PWM 制御レジスタの機能について説明します。
■ PWM 制御レジスタのビット構成
図 17.2-2 に , PWM 制御レジスタのビット構成を示します。
図 17.2-2 PWM 制御レジスタのビット構成
PWC ( アクセス:Byte)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
ch.0: 000169H
ch.1: 000171H
ch.2: 000179H
ch.3: 000181H
予約
P2
P1
P0
CE
SC
−
予約
000000-0B
R/W0
R/W
R/W
R/W
R/W
R/W
R1,WX
R/W0
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit7] 予約
常に "0" に設定してください。
[bit6 ∼ bit4] P2 ∼ P0 : 動作クロック選択ビット
このビットは , PWM パルス発生器のクロック入力信号を指定します。
表 17.2-1 に , PWM パルス発生器のクロック入力信号の設定内容を示します。
表 17.2-1 PWM パルス発生器のクロック入力信号
P2
P1
P0
PWM 周期 (FCLKP=16MHz 時 )
クロック入力
SC=0
SC=1
0
0
0
FCLKP
16.0 μs
64.0 μs
0
0
1
1/2 × FCLKP
32.0 μs
128.0 μs
0
1
0
1/4 × FCLKP
64.0 μs
256.0 μs
0
1
1
1/8 × FCLKP
128.0 μs
512.0 μs
1
0
0
予約
−
−
1
0
1
1/5 × FCLKP
80.0 μs
320.0 μs
1
1
0
1/6 × FCLKP
96.0 μs
384.0 μs
1
1
1
予約
−
−
FCLKP : 周辺クロック
368
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 17 章 ステッパモータコントローラ
17.2 ステッパモータコントローラのレジスタ
MB91220 シリーズ
[bit3] CE : カウント有効ビット
このビットは , PWM パルス発生器の動作を有効にします。"1" に設定すると , PWM
パルス発生器は動作を開始します。PWM1 パルス発生器の開始から 1 周辺クロック
サイクル後に PWM2 パルス発生器が動作を開始することに注意してください。こ
れによって , 出力ドライバからのスイッチングノイズが減少します。
PWM パルス発生器が動作中に CE ビットを "0" にクリアした場合は , PWM パルス
発生器は初期化され , 動作を停止します。
<注意事項>
CE に "1" をセットする場合は , 操作クロックの選択が完了した状態で行ってください。
[bit2] 8/10bit 切換えビット
SC ビットが "1" に設定されたとき PWM は 10bit で動作します。SC ビットが "0" に
設定されたとき PWM は 8bit で動作します。
[bit1] 未定義
常に "1" が読み出されます。書込みは動作に影響ありません。
[bit0] 予約
常に "0" に設定してください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
369
第 17 章 ステッパモータコントローラ
17.2 ステッパモータコントローラのレジスタ
17.2.2
MB91220 シリーズ
PWM1, PWM2 コンペアレジスタ
PWM1, PWM2 の 2 つの 8 (10) ビットコンペアレジスタの内容は , PWM パルスの幅
を決定するものです。記憶された "00H" ("000H") の値は PWM のデューティが 0%
であることを表し , "FFH" ("3FFH") は 99.6% (99.9%) のデューティを表します (8
ビットモード時 )。
■ PWM1, PWM2 コンペアレジスタの機能
PWM1, PWM2 の 2 つの 8 (10) ビットコンペアレジスタの内容は , PWM パルスの幅を
決定するものです。記憶された "00H" ("000H") の値は PWM のデューティが 0% である
ことを表し , "FFH" ("3FFH") は 99.6% (99.9%) のデューティを表します。
PWM1, PWM2 コンペアレジスタは , 任意の時点でアクセスすることができますが , 変
更された値は PWM2 選択レジスタの BS ビットが "1" に設定された後における現在の
PWM サイクルの終わりにパルス幅に反映されます。
PWM 制御レジスタの SC ビットを "0" に設定し , PWM が 8 ビット動作をしている場合
は , D9, D8 は , 不定値となります。
PWM1, PWM2 コンペアレジスタは , 必ずハーフワードアクセスまたはワードアクセス
してください。
• PWC10 : アドレス 0166H ( アクセス : Half-word, Word)
• PWC11 : アドレス 016EH ( アクセス : Half-word, Word)
• PWC12 : アドレス 0176H ( アクセス : Half-word, Word)
• PWC13 : アドレス 017EH ( アクセス : Half-word, Word)
PWC2 ( アクセス:Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
ch.0: 000164H
−
−
−
−
−
−
ch.1: 00016CH RX,WX RX,WX RX,WX RX,WX RX,WX RX,WX
ch.2: 000174H
ch.3: 00017CH
bit9
bit8
D9
D8
R/W
R/W
------XXB
初期値
PWC1 ( アクセス:Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
ch.0: 000165H
ch.1: 00016DH
ch.2: 000175H
ch.3: 00017DH
D7
D6
D5
D4
D3
D2
D1
D0
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
370
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 17 章 ステッパモータコントローラ
17.2 ステッパモータコントローラのレジスタ
MB91220 シリーズ
図 17.2-3 コンペアレジスタの設定値と PWM パルス幅の関係 (8 ビットモード時 )
1PWMサイクル
256 入力クロックサイクル
レジスタ値
00H
80H
128入力クロックサイクル
FFH
256入力クロックサイクル
このレジスタは常時アクセス可能ですが , 修正値は PWM2 選択レジスタの BS ビット
が "1" に設定された後で , 現行の PWM サイクル終了時にパルス幅に反映されます。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
371
第 17 章 ステッパモータコントローラ
17.2 ステッパモータコントローラのレジスタ
17.2.3
MB91220 シリーズ
PWM1, PWM2 選択レジスタ
PWM1, PWM2 選択レジスタの機能について説明します。
■ PWM1, PWM2 選択レジスタの機能
図 17.2-4 に , PWM1, PWM2 選択レジスタのビット構成を示します。
図 17.2-4 PWM1, PWM2 選択レジスタのビット構成
PWS2 ( アクセス:Byte, Half-word, Word)
アドレス
ch.0: 00016AH
ch.1: 000172H
ch.2: 00017AH
ch.3: 000182H
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
−
BS
P2
P1
P0
M2
M1
M0
-0000000B
R1,WX
R/W
R/W
R/W
R/W
R/W
R/W
R/W
PWS1 ( アクセス:Byte, Half-word, Word)
アドレス
ch.0: 00016BH
ch.1: 000173H
ch.2: 00017BH
ch.3: 000183H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
−
−
P2
P1
P0
M2
M1
M0
初期値
R1,WX
R1,WX
R/W
R/W
R/W
R/W
R/W
R/W
--000000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit15] 未定義ビット
常に "1" が読み出されます。書込みは , 動作に影響ありません。
[bit14] BS : 更新ビット
このビットは , PWM 出力設定の同期調整用です。このビットが設定されるまでは ,
両比較レジスタおよび両選択レジスタの修正はすべて出力信号に反映されません。
このビットが "1" に設定されると , PWM パルス発生器およびセレクタは , 現行の
PWM サイクル終了時にレジスタの内容をロードします。
BS ビットは , 直後の PWM
サイクル開始時に自動的に "0" にリセットされます。自動リセットと同時にソフト
ウェアが BS ビットに "1" を設定すると , BS ビットは "1" に設定され ( そのまま変
わらず ), 自動リセットはキャンセルされます。
[bit13 ∼ bit11] P2 ∼ P0 : 出力選択ビット
これらのビットは , PWM2P0 ∼ PWM2P3 における出力信号を選択します。
[bit10 ∼ bit8] M2 ∼ M0 : 出力選択ビット
これらのビットは , PWM2M0 ∼ PWM2M3 における出力信号を選択します。
372
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 17 章 ステッパモータコントローラ
17.2 ステッパモータコントローラのレジスタ
MB91220 シリーズ
[bit7, bit6] 未定義ビット
常に "1" が読み出されます。書込みは , 動作に影響ありません。
[bit5 ∼ bit3] P2 ∼ P0 : 出力選択ビット
これらのビットは , PWM1P0 ∼ PWM1P3 における出力信号を選択します。
表 17.2-2 に , 出力レベルと選択ビットの関係を示します。
[bit2 ∼ bit0] M2 ∼ M0 : 出力選択ビット
これらのビットは , PWM1M0 ∼ PWM1M3 における出力信号を選択します。
表 17.2-2 に , 出力レベルと選択ビットの関係を示します。
表 17.2-2 出力レベルと選択ビットの関係
P2
P1
P0
PWM2Pn/PWM1Pn
M2
M1
M0
PWM2Mn/PWM1Mn
0
0
0
"L"
0
0
0
"L"
0
0
1
"H"
0
0
1
"H"
0
1
X
PWM パルス
0
1
X
PWM パルス
1
X
X
ハイインピーダンス
1
X
X
ハイインピーダンス
(n = 0 ∼ 3)
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
373
第 17 章 ステッパモータコントローラ
17.3 動作説明
MB91220 シリーズ
動作説明
17.3
ステッパモータコントローラの動作について説明します。
■ PWM 動作
図 17.3-1 PWM 動作
(n=0~5)
(1) コンペア値設定
PWC1n
3FFH
370H
200H
000H
200H
370H
PWC2n
000H
200H
(6) ロード
370H
3FFH
370H
200H
バッファ1
3FFH
370H
200H
バッファ2
000H
(2) PWM波出力端子設定
200H
370H
PWS1n
PWS2n
18H
000H
200H
3FFH
370H
(2*) PWM波出力端子切換え
03H
18H
(3)カウント許可
CE
(4) BSbit設定
BS
(5) BSbit自動クリア
3FFH
370H
200H
(7) PWM波出力
(7*)
PWM1Pn
duty99.9%
duty85.9%
duty50%
duty0%
L出力
L出力
L出力
L出力
L出力
duty50%
duty50%
duty85.9%
L出力
L出力
L出力
L出力
L出力
①
②
③
④
⑤
PWM1Mn
PWM2Pn
duty0%
duty99.9%
duty85.9%
PWM2Mn
⑤120° ④90° ③60°
②30°
①0°
(1) コンペア値設定
(2) PWM 波出力端子設定 /(2*) PWM 波出力端子切換え
(3) カウント許可
(4) BS ビット設定
(5) BS ビット自動クリア
(6) コンペア値ロード
(7) PWM 波出力 /(7*)(2*) による PWM 波出力切換え
(8) (1) から (7) までの動作を繰り返します
374
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 17 章 ステッパモータコントローラ
17.3 動作説明
MB91220 シリーズ
■ BS ビットによる PWM コンペアレジスタのロード動作
図 17.3-2 PWM コンペアレジスタ値のロード動作
[BSビットの自動クリア]
レジスタの内容がロードされ,
出力信号に反映される
PWM 1サイクル
PWM波形
PWMパルス発生器
カウンタ値
……
3FFH
PWMコンペア
レジスタ値
3FFH
PWMパルス発生器
コンペアレジスタ値
XXXH
000H
……
……
……
3FFH
000H
……
200H
……
3FFH
000H
3FFH
000H
200H
ロードされる
ロードされる
3FFH
200H
BS
[自動クリアと同時にBSビットを"1"に設定した場合]
レジスタの内容がロードされ,
出力信号に反映される
PWM 1サイクル
PWM波形
PWMパルス発生器
カウンタ値
……
3FFH
PWMコンペア
レジスタ値
3FFH
PWMパルス発生器
コンペアレジスタ値
XXXH
000H
……
……
……
3FFH
000H
……
200H
……
200H
ロードされる
ロードされる
3FFH
200H
BS
自動クリアとBSビット"1"の同時書込み
[自動クリアと同時にBSビットを"0"に設定した場合]
レジスタの内容がロードされ,
出力信号に反映される
PWM 1サイクル
PWM波形
PWMパルス発生器
カウンタ値
……
3FFH
PWMコンペア
レジスタ値
3FFH
PWMパルス発生器
コンペアレジスタ値
XXXH
000H
……
……
……
3FFH
000H
……
200H
……
3FFH
000H
200H
ロードされる
ロードされる
3FFH
200H
自動クリアとBSビット"0"の同時書込み
BS
[PWMサイクル終了前にBSビットを"0"に設定した場合]
レジスタの内容はロードされず,
出力信号は反映されない
PWM 1サイクル
PWM波形
PWMパルス発生器
カウンタ値
……
3FFH
PWMコンペア
レジスタ値
3FFH
PWMパルス発生器
コンペアレジスタ値
XXXH
BS
000H
……
……
……
3FFH
000H
……
……
……
3FFH
000H
200H
ロードされる
ロードされない
3FFH
1サイクル終了前のBSビット"0"書込み
(1) BS ビットの自動クリア : ロードされ出力信号に反映される。
(2) 自動クリアと同時に BS ビットを "1" に設定した場合 : ロードされ出力信号に反映
される。
(3) 自動クリアと同時に BS ビットを "0" に設定した場合 : ロードされ出力信号に反映
される。
(4) PWM サイクル終了前に BS ビットを "0" に設定した場合 : ロードされず出力信号
は反映されない。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
375
第 17 章 ステッパモータコントローラ
17.3 動作説明
MB91220 シリーズ
■ モータドライブ信号の選択
ステッピングモータコントローラ関連の各端子に出力するモータドライブ信号は
PWM 選択レジスタの設定により , 端子ごとに 4 種類の信号から選択することができま
す。
表 17-3 にモータドライブ信号の選択と PWM 選択レジスタ 1, 2 の設定について示しま
す。
これらの設定を行ったのち , PWM 選択レジスタ 2 の BS ビットに "1" を書き込むと , 現
在の PWM サイクルの終了時に設定値が有効となります。この BS ビットは次の PWM
サイクルの先頭で自動的にクリアされます。BS ビットへの書込みと PWM サイクルの
先頭でも BS ビットクリアが同時のときは , BS ビットへの書込みが優先され , BS ビッ
トクリアは取り消されます。
表 17-3 モータドライブ信号の選択と PWM 選択レジスタ 1, 2 の設定
376
P2, P1, P0 ビット
PWM1P0 ∼ 5 出力
PWM2P0 ∼ 5 出力
M2, M1, M0 ビット
PWM1M0 ∼ 5 出力
PWM2M0 ∼ 5 出力
000B
L
000B
L
001B
H
001B
H
01XB
PWM パルス
01XB
PWM パルス
1XXB
ハイインピーダンス
1XXB
ハイインピーダンス
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 17 章 ステッパモータコントローラ
17.4 ステッパモータコントローラの使用上の注意
MB91220 シリーズ
17.4
ステッパモータコントローラの使用上の注意
ステッパモータコントローラを使用するにあたっての注意点を示します。
■ PWM 設定値変更時の注意
PWM コンペアレジスタ 1 (PWC1n), PWM コンペアレジスタ 2 (PWC2n), PWM 選択レジ
スタ 1 (PWS1n) および PWM 選択レジスタ 2 (PWS2n) は常時アクセス可能ですが , PWM
の "H" 幅設定または PWM 出力を変更するためには , これらのレジスタに設定値を書き
込んだ後 ( または同時に ), PWM 選択レジスタ 2 の BS ビットに "1" を書き込む必要が
あります。
BS ビットが "1" にセットされると , 現在の PWM サイクルの終了時に新しい設定値が
有効になり , BS ビットは自動的にクリアされます。
また , BS ビットへの "1" 書込みと , PWM サイクル終了時の BS ビットのリセットが同
時に行われた場合は, "1"書込みが優先され, BSビットリセットはキャンセルされます。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
377
第 17 章 ステッパモータコントローラ
17.4 ステッパモータコントローラの使用上の注意
378
FUJITSU SEMICONDUCTOR LIMITED
MB91220 シリーズ
CM71-10142-5
第 18 章
サウンドジェネレータ
サウンドジェネレータの概要 , レジスタの構成 / 機
能および動作について説明します。
CM71-10142-5
18.1
サウンドジェネレータの概要
18.2
サウンドジェネレータのレジスタ
FUJITSU SEMICONDUCTOR LIMITED
379
第 18 章 サウンドジェネレータ
18.1 サウンドジェネレータの概要
18.1
MB91220 シリーズ
サウンドジェネレータの概要
サウンドジェネレータの概要とブロックダイヤグラムを示します。
■ サウンドジェネレータの構成
サウンドジェネレータは , 以下のレジスタおよびカウンタで構成されています。
• サウンドコントロールレジスタ
• 周波数データレジスタ
• 振幅データレジスタ
• デクリメントグレードレジスタ
• トーンカウントレジスタ
• サウンド禁止レジスタ
• PWM パルス生成器
• 周波数カウンタ
• 減分カウンタ
• トーンパルスカウンタ
■ サウンドジェネレータのブロックダイヤグラム
図 18.1-1 に , サウンドジェネレータのブロックダイヤグラムを示します。
図 18.1-1 サウンドジェネレータのブロックダイヤグラム
周辺クロック
(CLKP)
セレクタ
プリスケーラ
リロード値
リロード値
アンダフロー
PWMパルス発生器
リロード値
アンダフロー
周波数カウンタ
リロード値
アンダフロー
デクリメントカウンタ
アンダフロー
トーンパルスカウンタ
割込み信号
ラッチ
混合
サウンド出力(SGO)
振幅出力(SGA)
380
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 18 章 サウンドジェネレータ
18.2 サウンドジェネレータのレジスタ
MB91220 シリーズ
18.2
サウンドジェネレータのレジスタ
サウンドジェネレータのレジスタの機能について説明します。
■ サウンドジェネレータのレジスタ一覧
図 18.2-1 に , サウンドジェネレータのレジスタ一覧を示します。
図 18.2-1 サウンドジェネレータのレジスタ一覧
SGCR ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
000082H
00008AH
000092H
予約
−
−
−
−
−
BUSY
DEC
0-----00B
R/W0
R1,WX
R1,WX
R1,WX
R1,WX
R1,WX
R,WX
R/W
SGCR ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000083H
00008BH
000093H
S1
S0
TONE
−
−
INTE
INT
ST
00000000B
R/W
R/W
R/W
R/W0
R/W0
R/W
R(RM1),W
R/W
SGAR ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
000084H
00008CH
000094H
D7
D6
D5
D4
D3
D2
D1
D0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
SGFR ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000085H
00008DH
000095H
D7
D6
D5
D4
D3
D2
D1
D0
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
SGTR ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
000086H
00008EH
000096H
D7
D6
D5
D4
D3
D2
D1
D0
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
SGDR ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000087H
00008FH
000097H
D7
D6
D5
D4
D3
D2
D1
D0
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
( 続く )
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
381
第 18 章 サウンドジェネレータ
18.2 サウンドジェネレータのレジスタ
MB91220 シリーズ
( 続き )
SGDBL ( アクセス:Byte)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000081H
000089H
000091H
−
−
−
−
−
−
−
DBL
-------0B
R0,WX
R0,WX
R0,WX
R0,WX
R0,WX
R0,WX
R0,WX
R/W0
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
382
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 18 章 サウンドジェネレータ
18.2 サウンドジェネレータのレジスタ
MB91220 シリーズ
18.2.1
サウンドコントロールレジスタ
サウンドコントロールレジスタの機能について説明します。
■ サウンドコントロールレジスタのビット構成
図 18.2-2 に , サウンドコントロールレジスタのビット構成を示します。
図 18.2-2 サウンドコントロールレジスタのビット構成
SGCR ( 上位 )( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
000082H
00008AH
000092H
予約
−
−
−
−
−
BUSY
DEC
0-----00B
R/W0
R1,WX
R1,WX
R1,WX
R1,WX
R1,WX
R,WX
R/W
SGCR ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000083H
00008BH
000093H
S1
S0
TONE
−
−
INTE
INT
ST
00000000B
R/W
R/W
R/W
R/W0
R/W0
R/W
R(RM1),W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
以下に , サウンドコントロールレジスタの各ビットの機能を説明します。
[bit15] 予約
必ず "0" を書いてください。
[bit9] BUSY : ビジービット
このビットは , サウンドジェネレータが動作中であるかどうかを示します。ST ビッ
トを "1" に設定すると , このビットも "1" に設定されます。ST ビットを "0" にリセッ
トし , 1 トーンサイクル終了時に動作が完了すると , このビットは "0" にリセットさ
れます。このビットに対して出されるすべての書込み命令は無効となります。
[bit8] DEC : 自動デクリメント許可ビット
DEC ビットは , デクリメントグレードレジスタとともに , サウンドの自動デクリメ
ント用に設計されています。このビットを "1" に設定すると , デクリメントグレー
ドレジスタが指定したトグルフリップフロップからのトーンパルス数を減分カウ
ンタがカウントするごとに , 振幅データレジスタに記憶されている値は 1 つずつデ
クリメントされます。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
383
第 18 章 サウンドジェネレータ
18.2 サウンドジェネレータのレジスタ
MB91220 シリーズ
[bit7, bit6] S1, S0 : 動作クロック選択ビット
これらのビットは , サウンドジェネレータ用のクロック入力信号を指定します。表
18.2-1 に , クロック入力信号の設定内容を示します。
表 18.2-1 クロック入力信号の設定内容
S1
S0
0
0
周辺クロック
0
1
1/2 周辺クロック
1
0
1/4 周辺クロック
1
1
1/8 周辺クロック
クロック入力
[bit5] TONE : トーン出力ビット
このビットを "1" に設定すると , SGO 信号はトグルフリップフロップからの単純方
形波形 ( トーンパルス ) になります。"1" 以外を設定した場合は , トーンパルスと
PWM パルスの混合 ( 論理積 ) 信号になります。
[bit4, bit3] 予約
必ず "0" を書いてください。
[bit2] INTE : 割込み許可ビット
このビットは , サウンドジェネレータの割込み信号を許可します。このビットが "1"
で , INT ビットも "1" に設定されると , サウンドジェネレータは割込み信号を出力し
ます。
[bit1] INT : 割込みビット
トーンパルスカウンタが , トーンカウントレジスタおよびデクリメントグレードレ
ジスタに指定したトーンパルス数をカウントすると , このビットは "1" に設定され
ます。
このビットは , "0" を書き込むと "0" にリセットされます。"1" を書き込んでも無効
となります。リードモディファイライト (RMW) 系命令では , 常に "1" を読み出しま
す。
[bit0] ST : スタートビット
このビットは , サウンドジェネレータの動作開始用です。このビットが "1" である
間は , サウンドジェネレータは動作しています。
このビットを "0" にリセットすると , サウンドジェネレータは現行のトーンサイク
ル終了時に動作を停止します。BUSY ビットは , サウンドジェネレータが完全に停
止したかどうかを示します。
384
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 18 章 サウンドジェネレータ
18.2 サウンドジェネレータのレジスタ
MB91220 シリーズ
18.2.2
振幅データレジスタ
振幅データレジスタの機能について説明します。
■ 振幅データレジスタのビット構成
図 18.2-3 に , 振幅データレジスタのビット構成を示します。
図 18.2-3 振幅データレジスタのビット構成
SGAR ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
000084H
00008CH
000094H
D7
D6
D5
D4
D3
D2
D1
D0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
振幅データレジスタは , PWM パルスジェネレータのリロード値を記憶します。
レジスタ値はサウンドの振幅を表し , 各トーンサイクル終了時 , PWM パルスジェネ
レータにリロードされます。
SGCR レジスタの DEC ビットが "1" で , 減分カウンタがリロード値に達すると , このレ
ジスタ値は 1 つずつデクリメントされます。レジスタ値が "00H" になると , それ以上の
デクリメントはしません。ただし , サウンドジェネレータは , ST ビットがクリアされ
るまで動作し続けます。図 18.2-4 に , レジスタ値と PWM パルスの関係を示します。
図 18.2-4 レジスタ値と PWM パルスの関係
1 PWMサイクル
256入力クロックサイクル
レジスタ値
00H
1 入力クロックサイクル
80 H
129 入力クロックサイクル
FEH
255 入力クロックサイクル
FFH
256 入力クロックサイクル
(注意事項)レジスタ値が"FFH"に設定されると,PWM信号は常に"1"となります。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
385
第 18 章 サウンドジェネレータ
18.2 サウンドジェネレータのレジスタ
MB91220 シリーズ
周波数データレジスタ
18.2.3
周波数データレジスタの機能について説明します。
■ 周波数データレジスタのビット構成
図 18.2-5 に , 周波数データレジスタのビット構成を示します。
図 18.2-5 周波数データレジスタのビット構成
SGFR ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000085H
00008DH
000095H
D7
D6
D5
D4
D3
D2
D1
D0
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
周波数データレジスタは , 周波数カウンタのリロード値を格納します。
格納された値は , サウンド ( またはトグルフリップフロップからのトーン信号 ) の周波
数を表します。レジスタ値は , トグル信号が遷移するたびにカウンタにリロードされま
す。
図 18.2-6 に , トーン信号とレジスタ値の関係を示します。
図 18.2-6 トーン信号とレジスタの関係
1 トーンサイクル
トーン信号
(レジスタ値+1)× (レジスタ値+1)×
1 PWMサイクル
1 PWMサイクル
<注意事項>
動作中にレジスタ値を修正すると, 修正のタイミングによってデューティサイクルの50%
が変更されることもありますので , 注意してください。
386
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 18 章 サウンドジェネレータ
18.2 サウンドジェネレータのレジスタ
MB91220 シリーズ
18.2.4
トーンカウントレジスタ
トーンカウントレジスタの機能について説明します。
■ トーンカウントレジスタのビット構成
図 18.2-7 に , トーンカウントレジスタのビット構成を示します。
図 18.2-7 トーンカウントレジスタのビット構成
SGTR ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
000086H
00008EH
000096H
D7
D6
D5
D4
D3
D2
D1
D0
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
トーンカウントレジスタは , トーンパルスカウンタのリロード値を格納します。トーン
パルスカウンタにはトーンパルス数 ( またはデクリメント動作数 ) が累積され , リロー
ド値になると SGCR レジスタの INT ビットを設定します。これらは , 割込みの頻度を
減少させるよう設計されています。
トーンパルスカウンタのカウント入力は , 減分カウンタからのキャリアウト信号と接
続されています。トーンカウントレジスタに "00H" が設定されると , トーンパルスカウ
ンタは , 減分カウンタからのキャリアウト信号ごとに SGCR レジスタの INT ビットを
設定します。累積トーンパルス数は次式で表されます。
( デクリメントグレードレジスタ値 +1) × ( トーンカウントレジスタ値 +1)
すなわち , 両レジスタが "00H" に設定されると , トーンサイクルごとに SGCR レジスタ
の INT ビットが設定されます。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
387
第 18 章 サウンドジェネレータ
18.2 サウンドジェネレータのレジスタ
18.2.5
MB91220 シリーズ
デクリメントグレードレジスタ
デクリメントグレードレジスタの機能について説明します。
■ デクリメントグレードレジスタの機能
図 18.2-8 に , デクリメントグレードレジスタのビット構成を示します。
図 18.2-8 デクリメントグレードレジスタのビット構成
SGDR ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000087H
00008FH
000097H
D7
D6
D5
D4
D3
D2
D1
D0
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
デクリメントグレードレジスタは , 減分カウンタのリロード値を格納します。
この機能は , 振幅データレジスタに記憶した値を自動的にデクリメントするよう設計
されています。
SGCR レジスタの DEC ビットが "1" で , 減分カウンタがトーンパルス数をリロード値
までカウントすると , 振幅データレジスタに記憶された値は , トーンサイクル終了時に
1 つずつデクリメントされます。
この動作によって , より少ない CPU 介入でサウンドの自動デクリメントができるよう
になります。
このレジスタが指定したトーンパルス数は , 「レジスタ値 +1」であることに注意して
ください。デクリメントグレードレジスタが "00H" に設定されると , デクリメント動作
はトーンサイクルごとに行われます。
388
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 18 章 サウンドジェネレータ
18.2 サウンドジェネレータのレジスタ
MB91220 シリーズ
18.2.6
サウンド禁止レジスタ
サウンド禁止レジスタのビット構成を示します。
■ サウンド禁止レジスタの機能
図 18.2-9 に , サウンド禁止レジスタのビット構成を示します。
図 18.2-9 サウンド禁止レジスタのビット構成
SGDBL ( アクセス:Byte)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000081H
000089H
000091H
−
−
−
−
−
−
−
DBL
-------0B
R0,WX
R0,WX
R0,WX
R0,WX
R0,WX
R0,WX
R0,WX
R/W0
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit0] DBL : サウンドジェネレータクロック制御ビット
このビットは , サウンドジェネレータのクロックを制御するために使用します。
このビットに "1" を書き込むと , サウンドジェネレータモジュールのクロックは使
用不可となります。"0" を設定すると , クロックがサウンドジェネレータモジュール
に供給されます。
このビットは, リセット時に"0"に初期化されます。読出しおよび書込みが可能です。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
389
第 18 章 サウンドジェネレータ
18.2 サウンドジェネレータのレジスタ
390
FUJITSU SEMICONDUCTOR LIMITED
MB91220 シリーズ
CM71-10142-5
第 19 章
リアルタイムクロック
リアルタイムクロックの概要 , レジスタの構成 / 機
能および動作について説明します。
CM71-10142-5
19.1
リアルタイムクロックの概要
19.2
リアルタイムクロックのレジスタ
19.3
リアルタイムクロックの動作説明
FUJITSU SEMICONDUCTOR LIMITED
391
第 19 章 リアルタイムクロック
19.1 リアルタイムクロックの概要
19.1
MB91220 シリーズ
リアルタイムクロックの概要
リアルタイムクロックの概要とブロックダイヤグラムを示します。
■ リアルタイムクロックの概要
リアルタイムクロック ( ウォッチタイマ ) は , 以下のレジスタおよびカウンタなどで構
成されています。
• タイマ制御レジスタ
• サブセカンドレジスタ
• 秒 / 分 / 時間レジスタ
• 1/2 クロック分周器
• 21 ビットプリスケーラ
• 秒 / 分 / 時間カウンタ
■ リアルタイムクロックのブロックダイヤグラム
図 19.1-1 リアルタイムクロックのブロックダイヤグラム
発振
クロック
21ビット
プリスケーラ
1/2クロック
分周器
CO
EN
サブセカンド
レジスタ
UPDT
ST
秒カウンタ
CI
EN
LOAD
CO
分カウンタ
時間カウンタ
CO
6ビット
6ビット
CO
5ビット
秒/分/時間レジスタ
INTE0 INT0
INTE1 INT1
INTE2 INT2
INTE3 INT3
IRQ
発振クロックは , OSCCR レジスタの RTCSRC ビットにより RTC へのソースクロック
としてメインクロック (4MHz) またはサブクロック (32kHz) を選択することが可能で
す。詳細は「3.12.7 クロック生成制御部のレジスタ詳細説明 ■ OSCCR: 発振制御レジ
スタ」を参照してください。
392
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 19 章 リアルタイムクロック
19.2 リアルタイムクロックのレジスタ
MB91220 シリーズ
19.2
リアルタイムクロックのレジスタ
リアルタイムクロックのレジスタの機能について説明します。
■ リアルタイムクロックのレジスタ一覧
図 19.2-1 に , リアルタイムクロックのレジスタ一覧を示します。
図 19.2-1 リアルタイムクロックのレジスタ一覧
クロック禁止レジスタ (WTDBL) ( アクセス:Byte)
アドレス
00000145H
bit7
−
RX,WX
bit6
bit5
bit4
bit3
−
−
−
−
RX,WX RX,WX RX,WX RX,WX
bit2
bit1
−
−
RX,WX RX,WX
bit0
初期値
DBL
-------0B
R/W
タイマ制御レジスタ (WTCR) ( アクセス:Byte, Half-word)
アドレス
00000146H
アドレス
00000147H
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
INTE3
INT3
INTE2
INT2
INTE1
INT1
INTE0
INT0
00000000B
R/W
R(RM1),W
R/W
R(RM1),W
R/W
R(RM1),W
R/W
R(RM1),W
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
予約
R/W0
予約
R/W0
予約
R/W0
−
R1,WX
RUN
UPDT
ST
000-0000B
R,WX
R(RM0),W
−
R/W0
R/W
サブセカンドレジスタ (WTBR) ( アクセス:Byte)
アドレス
00000149H
アドレス
0000014AH
アドレス
0000014BH
bit23
bit22
bit21
bit20
bit19
bit18
bit17
bit16
初期値
D20
D19
D18
D17
D16
---XXXXXB
−
R1,WX
−
R1,WX
−
R1,WX
R/W
R/W
R/W
R/W
R/W
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
XXXXXXXXB
D15
D14
D13
D12
D11
D10
D9
D8
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
XXXXXXXXB
D7
D6
D5
D4
D3
D2
D1
D0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
秒レジスタ (WTSR) ( アクセス:Byte)
アドレス
0000014EH
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
−
R1,WX
−
R1,WX
S5
S4
S3
S2
S1
S0
--000000B
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
( 続く )
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
393
第 19 章 リアルタイムクロック
19.2 リアルタイムクロックのレジスタ
MB91220 シリーズ
( 続き )
分レジスタ (WTMR) ( アクセス:Byte, Half-word)
アドレス
0000014DH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
−
R1,WX
−
R1,WX
M5
M4
M3
M2
M1
M0
--000000B
R/W
R/W
R/W
R/W
R/W
R/W
bit10
bit9
bit8
時間レジスタ (WTHR) ( アクセス:Byte, Half-word)
アドレス
0000014CH
bit15
bit14
bit13
bit12
bit11
−
R1,WX
−
R1,WX
−
R1,WX
H4
H3
H2
H1
H0
R/W
R/W
R/W
R/W
R/W
初期値
---00000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
■ クロック禁止レジスタ (WTDBL)
図 19.2-2 クロック禁止レジスタ (WTDBL) のビット構成
クロック禁止レジスタ (WTDBL) ( アクセス:Byte)
アドレス
00000145H
bit7
−
RX,WX
bit6
bit5
bit4
bit3
−
−
−
−
RX,WX RX,WX RX,WX RX,WX
bit2
bit1
−
−
RX,WX RX,WX
bit0
初期値
DBL
-------0B
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit0] DBL : クロック禁止
本ビットを "1" に設定すると , RTC モジュールのクロックは禁止されます。通常の
動作のためには , このビットを "0" に設定してください。本ビットは "0" に初期化
されます。読出しおよび書込みが可能です。
394
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 19 章 リアルタイムクロック
19.2 リアルタイムクロックのレジスタ
MB91220 シリーズ
■ タイマ制御レジスタ (WTCR)
図 19.2-3 タイマ制御レジスタ (WTCR) のビット構成
タイマ制御レジスタ (WTCR) ( アクセス:Byte, Half-word)
アドレス
00000146H
アドレス
00000147H
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
INTE3
INT3
INTE2
INT2
INTE1
INT1
INTE0
INT0
00000000B
R/W
R(RM1),W
R/W
R(RM1),W
R/W
R(RM1),W
R/W
R(RM1),W
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
予約
R/W0
予約
R/W0
予約
R/W0
−
R1,WX
RUN
UPDT
ST
000-0000B
R,WX
R(RM0),W
−
R/W0
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit15 ∼ bit8] INT3 ∼ INT0, INTE3 ∼ INTE0 : 割込みフラグおよび割込み許可フラグ
INT0 から INT3 までは割込みフラグです。
このフラグはプリスケーラがアンダフローした場合 , もしくは秒カウンタ , 分カウン
タおよび時間カウンタがそれぞれオーバフローした場合に設定されます。対応する
INTE ビットが "1" の場合に INT ビットの設定を行うと , ウォッチタイマは割込み信
号を出します。本フラグは , 秒 / 分 / 時間の単位で割込み信号を出すように設計され
ています。INT ビットに "0" を書き込むとフラグはクリアされ , "1" の書込みは無効
です。INT ビットで動作するリードモディファイライト (RMW) 系命令はすべて "1"
を読み出します。
INT0 : プリスケーラアンダフロー (1 秒間割込み )
INT1 : 秒カウンタアンダフロー (1 分間割込み )
INT2 : 分カウンタアンダフロー (1 時間割込み )
INT3 : 時カウンタアンダフロー (1 日 /24 時間割込み )
[bit7 ∼ bit5] 予約
必ず "0" を書き込んでください。
[bit4] 未定義
常に "1" が読み出されます。書込みは動作に影響ありません。
[bit3] RUN : フラグ
本ビットは読出しのみ可能です。読出し値が "1" の場合 , RTC モジュールが動作中
であることを示しています。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
395
第 19 章 リアルタイムクロック
19.2 リアルタイムクロックのレジスタ
MB91220 シリーズ
[bit2] UPDT : 更新ビット
UPDT ビットは , 秒 / 分 / 時間カウンタ値の修正用です。
カウンタ値を修正するには , 秒 / 分 / 時間レジスタに修正データを書き込みます。次
に UPDT ビットを "1" に設定します。レジスタ値は , 21 ビットプリスケーラからの
CO 信号で ( 書き込んだ ), 次のサイクルでカウンタにロードされます。UPDT ビッ
トは , カウンタ値が更新されるとハードウェアによりリセットされます。ただし ,
ソフトウェアによる設定動作とハードウェアによるリセット動作が同時に発生し
た場合 , UPDT ビットはリセットされません。
UPDT ビットへの "0" の書込みは無効です。リードモディファイライト (RMW) 系命
令では , "0" は読出し値です。
[bit1] 予約
必ず "0" を書き込んでください。
[bit0] ST : スタートビット
ST ビットを "1" に設定すると , ウォッチタイマはレジスタから秒 / 分 / 時間値をロー
ドし , 動作を開始します。"0" にリセットした場合 , カウンタおよびプリスケーラは
すべて "0" にリセットされ停止します。
本ビットは , カウンタ値の更新にも使用できます。ST ビットを "0" に設定し , RUN
が "0" になるまで待ってからカウンタ値を更新して , ST ビットを "1" に設定します。
<注意事項>
初期設定の方法については 「19.3 リアルタイムクロックの動作説明」を参照してくださ
い。
カウンタ値の変更を行う場合には ST ビットを使用することをお勧めします。
UPDT ビットによるカウンタ値の変更後 , クロック禁止レジスタ (WTDBL) によるクロッ
クの停止を行う際には , 時間・分・秒レジスタの読出しを行い , 設定が反映されているこ
とを確認した後にクロックの停止を行ってください。
396
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 19 章 リアルタイムクロック
19.2 リアルタイムクロックのレジスタ
MB91220 シリーズ
■ サブセカンドレジスタ (WTBR)
図 19.2-4 サブセカンドレジスタ (WTBR) のビット構成
サブセカンドレジスタ (WTBR) ( アクセス:Byte)
アドレス
00000149H
アドレス
0000014AH
bit23
bit22
bit21
bit20
bit19
bit18
bit17
bit16
初期値
−
R1,WX
−
R1,WX
−
R1,WX
D20
D19
D18
D17
D16
---XXXXXB
R/W
R/W
R/W
R/W
R/W
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
XXXXXXXXB
D15
D14
D13
D12
D11
D10
D9
D8
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
0000014BH
D7
D6
D5
D4
D3
D2
D1
D0
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit20 ∼ bit0] D20 ∼ D0 : リロードデータ
サブセカンドレジスタは , 21 ビットプリスケーラのリロード値を格納します。この
値は , リロードカウンタが "0" になるとリロードされます。3 バイトすべてを修正す
る場合は , 書込み命令間にリロード動作が行われていないことを確認してくださ
い。そうしないと , 21 ビットプリスケーラは , 新旧のデータバイトを結合した正し
くない値をロードしてしまいます。一般的には , サブセカンドレジスタは , ST ビッ
トが "0" の間に更新することが推奨されています。サブセカンドレジスタを "0" に
設定した場合 , 21 ビットプリスケーラは一切動作しません。
表 19.2-1 サブセカンドレジスタ設定表
WTBR レジスタ値
時間
CM71-10142-5
f =4MHz
f= 32kHz
0.5μs
0
−
1μs
1
−
10μs
19
−
100μs
199
−
1ms
1999
15
10ms
19999
159
100ms
199999
1599
500ms
999999
7999
1s
1999999
15999
1.04s
2097151
16776.2
10s
−
159999
50s
−
799999
65.5s
−
1047999
FUJITSU SEMICONDUCTOR LIMITED
397
第 19 章 リアルタイムクロック
19.2 リアルタイムクロックのレジスタ
MB91220 シリーズ
■ 秒レジスタ (WTSR)
図 19.2-5 秒レジスタ (WTSR) のビット構成
秒レジスタ (WTSR) ( アクセス:Byte)
アドレス
0000014EH
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
−
R1,WX
−
R1,WX
S5
S4
S3
S2
S1
S0
--000000B
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
詳細説明は「■時間レジスタ (WTHR)」を参照してください。
■ 分レジスタ (WTMR)
図 19.2-6 分レジスタ (WTMR) のビット構成
分レジスタ (WTMR) ( アクセス:Byte, Half-word)
アドレス
0000014DH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
−
R1,WX
−
R1,WX
M5
M4
M3
M2
M1
M0
--000000B
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
詳細説明は「■時間レジスタ (WTHR)」を参照してください。
■ 時間レジスタ (WTHR)
図 19.2-7 時間レジスタ (WTHR) のビット構成
時間レジスタ (WTHR) ( アクセス:Byte, Half-word)
アドレス
0000014CH
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
−
R1,WX
−
R1,WX
−
R1,WX
H4
H3
H2
H1
H0
R/W
R/W
R/W
R/W
R/W
初期値
---00000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
秒 / 分 / 時間レジスタは , 時間情報を格納します。
時間情報は , 秒 , 分 , および時間の 2 進表記です。
本レジスタを読み出すと , カウンタ値が読み出せます。レジスタは書込み値と結合でき
ますが , その書込みデータは UPDT ビットを "1" に設定した後に , カウンタにロードさ
れます。
ワードアクセスはできません。レジスタごとにアクセスしてください。バイトレジス
タは 3 つあるので , レジスタから出力された値に矛盾がないことを確認してください。
すなわち , 出力値「1 時間 , 59 分 , 59 秒」は , 「0 時間 , 59 分 , 59 秒」,
「1 時間 , 0 分 , 0 秒」, または「2 時間 , 0 分 , 0 秒」である可能性があります。
また , MCU の動作クロックが発振クロックの半分の場合 (PLL が停止している場合 ), 本
レジスタからの読出し値は破損していることがあります。これは , 読出し動作とカウン
ト動作の同期調整のために起こります。したがって , 読出し命令のトリガには , 秒割込
みを使用することを推奨します。
398
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
MB91220 シリーズ
第 19 章 リアルタイムクロック
19.2 リアルタイムクロックのレジスタ
<注意事項>
このモジュールでは , 発振器に直結された RTC クロックに比べて , 周辺クロック (CLKP)
が遅くないことを想定しています。該当しない場合は , レジスタにアクセスすると , 未定
義の値が読み出されます。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
399
第 19 章 リアルタイムクロック
19.3 リアルタイムクロックの動作説明
19.3
MB91220 シリーズ
リアルタイムクロックの動作説明
リアルタイムクロックの動作を説明します。
■ リアルタイムクロックの動作説明
RTC 起動の際には , 以下の設定を行う必要があります。
1) WTDBL bit0 に "0" を書き込みます。
2) WTCR bit0, ST(Start)ビットに"1"を書き込み, その後STビットに"0"を書き込みます。
3) WTBR に初期値 ( 任意の値 ) を書き込みます。
4) WTHR, WTMR, WTSR の各レジスタに初期値 ( 任意の値 ) を書き込みます。
5) WTCR レジスタ内 INT0 ∼ INT3 ビットに "0" を書き込み , 割込みフラグを初期化し
てください。
6) WTCR レジスタ内 , INTE0 ∼ INTE3 の設定を行ってください。
割込み通知を有効にする場合は , 本設定を行ってください。
7) WTCR ST ビットに "1" を書き込み , RTC の動作を開始してください。
<注意事項>
RTC の内部レジスタへのアクセスが必要な場合には , WTDBL bit0 に "0" を書き込んだ後
にアクセスを行ってください。WTDBL bit0 が "1" の状態でアクセスを行うと , 読出し時
には不定な値が読み出され , 書込み時には書き込んだ値がレジスタに反映されません。
RTC を停止することにより , 内部レジスタの設定が初期化されます。そのため , 再起動を
行う際には必要となるレジスタ設定を行った後に , WTCR:ST ビットを "1" に設定してく
ださい。
RTC のカウンタは , 通常 INITX/ ソフトウェアリセットでクリアされますが , 時分秒のレジ
スタはクリアされず , 値が保持されます。
動作開始時にレジスタ値をクリアする場合は , 書
込みにて初期値を設定してください。
メインクロック RTC 動作をご使用の場合は , ストップモードへ遷移させる前にクロッ
クソースを原発振入力の 1/2 に設定し , PLL を停止させ , さらに基本クロック分周レジ
スタ 0, 1(DIVR0, DIVR1) により , CPU クロック (CLKB), 周辺クロック (CLKP), 外部バ
スクロック (CLKT) の各クロックを 8 分周以上の分周比に設定してから , ストップモー
ドへ遷移させてください。また , スリープモードへ遷移させる際 , クロックによる制約
はありません。
400
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 20 章
LIN-UART
LIN-UART の概要 , レジスタの構成 / 機能および動
作について説明します。
20.1
LIN-UART の概要
20.2
LIN-UART のレジスタ一覧
20.3
インプットキャプチャによるボーレート検出
20.4
LIN-UART の動作
20.5
UART 割込み
20.6
LIN-UART のクロック同期
20.7
フラグセットのタイミング
20.8
LIN-UART の特別仕様
20.9
LIN 通信動作
20.10 UART からの変更点
20.11 LIN-UART の制限事項
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
401
第 20 章 LIN-UART
20.1 LIN-UART の概要
MB91220 シリーズ
LIN-UART の概要
20.1
LIN-UART の概要およびブロックダイヤグラムを説明します。
■ LIN-UART の概要
LIN(Local Interconnect Network)-UART は , 外部装置と非同期通信 , 同期通信をするため
の汎用シリアルデータ通信インタフェースです。双方向通信機能 ( ノーマルモード ),
マスタ / スレーブ型通信機能 ( マルチプロセッサモード ), LIN バスシステム ( マスタ /
スレーブ動作 ) があります。
LIN-UART は通常の UART と類似していますが , ソフトウェアの互換性はありません。
表 20.1-1 UART の機能
項目
機能
データバッファ
全二重バッファ
シリアル入力
5 回オーバサンプリング ( 非同期モードのみ )
転送モード
• クロック同期通信 ( スタート / ストップ同期 , スタートストップビット選択 )
• クロック非同期 ( スタート , ストップビット使用 )
ボーレート
• 専用ボーレートジェネレータ (15 ビットリロードカウンタにより構成 )
• 外部クロック入力可能。また , リロードカウンタで調節可能
データ長
• 7 ビット ( 同期または LIN モード以外 )
• 8 ビット
信号
NRZ(Non Return to Zero), RZ(Return to Zero) 方式
スタートビット
タイミング
非同期モード時は , スタートビット立下りエッジに同期
受信エラー検出
• フレーミングエラー
• オーバランエラー
• パリティエラー
割込み要求
•
•
•
•
受信割込み ( 受信完了 , 受信エラー検出 )
送信割込み ( 送信完了 )
バスアイドル割込み
LIN synch field 検出割込み
マスタ / スレーブ型
通信機能 ( マルチプ
ロセッサモード )
1( マスタ ) 対 N( スレーブ ) 間の通信可能
( マスタ / スレーブシステムの両方をサポート )
同期モード
マスタまたはスレーブ機能
端子アクセス
シリアル入出力端子の状態を直接読出し可能
LIN バス
オプション
•
•
•
•
•
同期シリアル
クロック
402
マスタデバイス動作
スレーブデバイス動作
LIN Synch break 生成
LIN Synch break 検出
キャプチャに接続している LIN Synch field のスタート / ストップエッジ検出
スタート / ストップビットで同期通信するために , SCK 端子に連続出力可能
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 20 章 LIN-UART
20.1 LIN-UART の概要
MB91220 シリーズ
■ LIN-UART のブロックダイヤグラム
図 20.1-1 LIN-UART のブロックダイヤグラム
(OTO),
EXT,
REST)
CLK
PE
ORE FRE
TIE
RIE
LBIE
LBD
BIE
RBI
TBI
送信クロックTRCK
リロード
カウンタ
受信クロックRSCK
割込み
発生回路
送信制御
送信制御
SCK
端子
スタート
ビット検知
送信開始回路
受信IRQ
SEDGE
SIN
IN
端子
(from ECCR)
受信ビット
カウンタ
送信ビット
カウンタ
受信パリティ
カウンタ
送信パリティ
カウンタ
TDRE
送信IRQ
SOT
オーバ
サンプリング
ユニット
端子
INV
RDRF
受信完了
SCU
SIN
LSYN
(to ICU)
LINブレーク,
Synch Field
検知回路
SIN
受信シフト
レジスタ
送信シフト
レジスタ
LINブレーク
発生
送信開始
バス
アイドル
検知回路
エラー
検知
STR
(to El2OS)
RE
ORE
FRE
RDR
LBR
LBL1
LBLD
TDR
RBI
LB
TBI
内部データバス
PE
ORE
FRE
RDRF
TDRE
BDS
RIE
TIE
SSR
レジスタ
CM71-10142-5
MD1
MD0
OTO
EXT
REST
UPCL
SCKE
SOE
SMR
レジスタ
PEN
P
SBL
CL
AD
CRW
RXE
TXE
SCR
レジスタ
LBIE
LBD
LBL1
LBL0
SOPE
SIOP
CCO
SCES
ESCR
レジスタ
FUJITSU SEMICONDUCTOR LIMITED
INV
LBR
MS
予約ビット
SSM
BIE
RBI
TBI
ECCR
レジスタ
403
第 20 章 LIN-UART
20.2 LIN-UART のレジスタ一覧
20.2
MB91220 シリーズ
LIN-UART のレジスタ一覧
LIN-UART のレジスタの機能について説明します。
■ LIN-UART のレジスタ一覧
MB91220 シリーズは , "LIN-UART0 ∼ LIN-UART3" の 4 つの LIN-UART から構成され
ており , LIN-UART0 は SIN0, SCK0, SOT0 端子 , LIN-UART1 は SIN3, SCK3, SOT3 端子 ,
LIN-UART2 は SIN4, SCK4, SOT4 端子 , LIN-UART3 は SIN5, SCK5, SOT5 端子に接続さ
れています。
LIN-UART は , 以下のレジスタで構成されています。
LIN-UART0
アドレス
0000C8H
+0
+1
SCR0 ( シリアル制御レジスタ )
SMR0 ( シリアルモードレジスタ )
0000CAH
SSR0 ( シリアルステータスレジスタ )
RDR0/TDR0
( 受信データ / 送信データレジスタ )
0000CCH
ESCR0( 拡張ステータス制御レジスタ )
ECCR0 ( 拡張通信制御レジスタ )
0000CEH
BGR10
( ボーレートジェネレータレジスタ 1)
BGR00
( ボーレートジェネレータレジスタ 0)
+0
+1
SCR3 ( シリアル制御レジスタ )
SMR3 ( シリアルモードレジスタ )
0000B2H
SSR3 ( シリアルステータスレジスタ )
RDR3/TDR3
( 受信データ / 送信データレジスタ )
0000B4H
ESCR3 ( 拡張ステータス制御レジスタ ) ECCR3 ( 拡張通信制御レジスタ )
0000B6H
BGR13
( ボーレートジェネレータレジスタ 1)
BGR03
( ボーレートジェネレータレジスタ 0)
+0
+1
SCR4 ( シリアル制御レジスタ )
SMR4( シリアルモードレジスタ )
0000BAH
SSR4 ( シリアルステータスレジスタ )
RDR4/TDR4
( 受信データ / 送信データレジスタ )
0000BCH
ESCR4 ( 拡張ステータス制御レジスタ ) ECCR4 ( 拡張通信制御レジスタ )
0000BEH
BGR14
( ボーレートジェネレータレジスタ 1)
BGR04
( ボーレートジェネレータレジスタ 0)
+0
+1
SCR5 ( シリアル制御レジスタ )
SMR5 ( シリアルモードレジスタ )
0000C2H
SSR5 ( シリアルステータスレジスタ )
RDR5/TDR5
( 受信データ / 送信データレジスタ )
0000C4H
ESCR5( 拡張ステータス制御レジスタ )
ECCR5( 拡張通信制御レジスタ )
0000C6H
BGR15
( ボーレートジェネレータレジスタ 1)
BGR05
( ボーレートジェネレータレジスタ 0)
LIN-UART1
アドレス
0000B0H
LIN-UART2
アドレス
0000B8H
LIN-UART3
アドレス
0000C0H
404
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 20 章 LIN-UART
20.2 LIN-UART のレジスタ一覧
MB91220 シリーズ
■ シリアル制御レジスタ (SCR)
図 20.2-1 シリアル制御レジスタ (SCR) のビット構成
SCR ( アクセス:Byte,Half-word,Word)
初期値
00000000 B
アドレス: bit 15 14 13 12 11 10 9
8
ch.0:0000C8H
ch.3:0000B0H
ch.4:0000B8H
ch.5:0000C0H R/W R/W R/W R/W R/W R0,W R/W R/W
bit8
TXE
0
1
送信不可
送信可
bit9
RXE
0
1
受信不可
受信可
送信許可
受信許可
bit10
CRE*1
0
1
受信エラーフラグビットのクリア
書込み時
読出し時
無効
すべてのエラーフラグの
クリア(PE,FRE, OE)
常に”0”
bit11
AD
アドレス/データ選択
読出し時
書込み時
RMW読出し時
0
受信データ
ビット
送信データ
送信データ
ビットの書込み ビットの読出し
1
受信アドレス 送信アドレス 送信アドレス
ビット
ビットの書込み ビットの読出し
bit12
データ長選択(データフレーム)
CL*2
7ビット
0
8ビット
1
bit13
ストップビット長選択
SBL*3
1ストップビット
0
1
2ストップビット
bit14
パリティ選択
P
0
偶数パリティ選択
1
奇数パリティ選択
:
初期値
bit15
パリティ許可
PEN*4
パリティ無効
0
パリティ有効
1
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
*1: 受信動作禁止 (RXE=0) 後に受信エラーフラグをクリアしてください。
本ビットへ "1" を書き込むと , その時点でいったん受信動作を停止し , 即 , 再開さ
れます。そのため , 受信動作を禁止しておかなければ , 正常なデータを受信できな
くなる可能性があります。
*2: モード 2 とモード 3(LIN モード ) では , データ長 8 ビットに固定されますので , こ
れらのモード時に "0" を書き込んでも動作に影響を与えません。
*3: モード 3(LIN モード ) では , ストップビット長 1 ビットに固定されますので , この
モード時に "1" を書き込んでも動作に影響を与えません。
*4: パリティビットは , モード 0 または拡張通信制御レジスタ (ECCR) のスタート / ス
トップ許可ビット (SSM) が有効でモード 2 のときに付加されます。その他の設定
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
405
第 20 章 LIN-UART
20.2 LIN-UART のレジスタ一覧
MB91220 シリーズ
の場合 , 本ビットに "1" を設定しても動作に影響を与えません。
■ シリアルモードレジスタ (SMR)
図 20.2-2 シリアルモードレジスタ (SMR) のビット構成
SMR ( アクセス:Byte,Half-word,Word)
6
5 4
3
2
1
0
アドレス:
bit 7
ch.0:0000C9H
ch.3:0000B1H
ch.4:0000B9H
ch.5:0000C1H
R/W R/W R/W R/W R0,W R0,WR/W R/W
初期値
00000000 B
bit0
SOE
0
1
シリアルデータ出力許可
SOT3端子無効 (Hi-Z)
SOT3端子有効(Txデータ)
bit1
シリアルクロック出力許可
SCKE
外部シリアルクロック入力
0
内部シリアルクロック出力
1
bit2
UPCL
0
1
UARTプログラムクリア(ソフトウェアリセット)
書込み時
読出し時
無効
常に”0”
UARTをリセット
bit3
通信再開リロードカウンタ
書込み時
読出し時
REST
0
1
bit4
EXT
0
1
:
初期値
無効
カウンタ再スタート
常に”0”
外部シリアルクロック選択
内部ボーレート発生器の使用(リロードカウンタ)
外部シリアルクロックの使用
bit5
OTO
0
1
外部クロックの使用
bit6
MD0
0
1
0
1
bit7
MD1
0
0
1
1
直接外部クロック選択
ボーレート発生器と共に外部クロックの使用(リロードカウンタ)
動作モード選択
モード0 : 非同期通常モード
モード1 : 非同期マルチプロセッサモード
モード2 : 同期モード
モード3 : 非同期LINモード
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
406
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 20 章 LIN-UART
20.2 LIN-UART のレジスタ一覧
MB91220 シリーズ
■ シリアルステータスレジスタ (SSR)
図 20.2-3 シリアルステータスレジスタ (SSR) のビット構成
SSR ( アクセス:Byte,Half-word,Word)
8
アドレス: bit 15 14 13 12 11 10 9
ch.0:0000CAH
ch.3:0000B2H
ch.4:0000BAH
ch.5:0000C2H R,WX R,WX R,WX R,WX R,WX R/W R/W R/W
:
初期値
初期値
00001000 B
bit8
TIE
0
1
送信割込み要求許可
送信割込み要求無効
送信割込み要求有効
bit9
RIE
0
1
受信割込み要求許可
受信割込み要求無効
受信割込み要求有効
bit10
BDS*
0
1
転送方向選択
LSBからデータ転送
MSBからデータ転送
bit11
TDRE
0
1
送信データエンプティ
送信データレジスタがフル
送信データレジスタが空
bit12
RDRF
0
1
受信データフル
受信データレジスタが空
受信データレジスタがフル
bit13
FRE
0
1
フレーミング・エラーなし
受信中にフレーミング・エラー発生
bit14
ORE
0
1
オーバラン・エラーなし
受信中にオーバラン・エラー発生
bit15
PE
0
1
フレーミング・エラー
オーバラン・エラー
パリティ・エラー
パリティ・エラーなし
受信中にパリティ・エラー発生
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
*:
モード 3 (LIN モード ) では , BDS ビットは "0" に固定されるので , このモードで
"1" を書き込んでも動作に影響を与えません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
407
第 20 章 LIN-UART
20.2 LIN-UART のレジスタ一覧
MB91220 シリーズ
■ 受信データレジスタ (RDR) と送信データレジスタ (TDR)
図 20.2-4 受信データレジスタ (RDR) と送信データレジスタ (TDR) のビット構成
RDR/TDR( アクセス:Byte,Half-word,Word)
6
5 4
3
2
1
0
アドレス: bit 7
初期値
ch.0:0000CBH
RDR: 00000000 B
ch.3:0000B3H
TDR : 11111111 B
ch.4:0000BBH
ch.5:0000C3H
R,W R,W R,W R,W R,W R,W R,W R,W
RDR/TDR
リード
ライト
データレジスタ
受信データレジスタからの読出し
受信データレジスタへの書込み
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
408
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 20 章 LIN-UART
20.2 LIN-UART のレジスタ一覧
MB91220 シリーズ
■ 拡張ステータス制御レジスタ (ESCR)
図 20.2-5 拡張ステータス制御レジスタ (ESCR) のビット構成
ESCR ( アクセス:Byte,Half-word,Word)
アドレス: bit 15 14 13 12 11 10
ch.0:0000CC H
ch.3:0000B4H
ch.4:0000BCH
R(RM1),
ch.5:0000C4H R/W W R/W R/W R/W R/W
9
8
R/W
R/W
初期値
00000X00B
bit8
SCES サンプリングクロックエッジ選択 (モード2)
立上りクロックエッジでサンプリング (通常)
0
立下りクロックエッジでサンプリング (変換クロック)
1
bit9
連続クロック出力許可 (モード2)
CCO
連続クロック出力無効
0
連続クロック出力有効
1
bit10
SIOP
0
1
シリアル入力/出力端子への直接アクセス
書込み時 (SOPE= 1のとき)
読出し時
"0"をSOT3に設定
SIN3端子の実際の
値を返す
"1"をSOT3に設定
bit11
SOPE シリアル出力端子への直接アクセスの許可
シリアル出力端子への直接アクセス無効
0
シリアル出力端子への直接アクセス有効
1
bit12
LBL0
0
1
0
1
bit13
LBL1
0
0
1
1
LINブレーク長
LINブレーク長13 ビットタイマ
LINブレーク長14 ビットタイマ
LINブレーク長15 ビットタイマ
LINブレーク長16 ビットタイマ
bit14
LBD
1
0
:
初期値
LINブレーク検出
書込み時
読出し時
無視
LINブレーク検出
LINブレーク検出
LINブレーク検出なし
フラグのクリア
bit15
LINブレーク検出割込み許可
LBIE
LINブレーク割込み無効
0
LINブレーク割込み有効
1
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
409
第 20 章 LIN-UART
20.2 LIN-UART のレジスタ一覧
MB91220 シリーズ
表 20.2-1 SOPE と SIOP の相互作用の説明
SOPE
SIOP
0
R
1
R/W
SIOP への書込み
SIOP からの読出し
影響なし
SIN の値を返す
SOT へ "0" または "1" を設定
SIN の値を返す
SOPE が "1" のとき , SIOP の初期値は "1" です。
リードモディファイライト (RMW) サイクル有効時 , SIOP はリードサイクルでシリア
ル出力端子 (SOT) の値を返します。
<注意事項>
本ビットの設定値は , シリアル制御レジスタ (SCR) の TXE ビットが "0" の場合のみ有効
です。
410
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 20 章 LIN-UART
20.2 LIN-UART のレジスタ一覧
MB91220 シリーズ
■ 拡張通信制御レジスタ (ECCR)
図 20.2-6 拡張通信制御レジスタ (ECCR) のビット構成
ECCR ( アクセス:Byte,Half-word,Word)
初期値
000000XX B
6
5 4
3
2
1
0
アドレス:
bit 7
ch.0:0000CDH
ch.3:0000B5H
ch.4:0000BDH
R/W R0,W R/W R/W R/W R/W0 R,WX R,WX
ch.5:0000C5H
bit0
TBI
0
1
送信中
送信動作なし
bit1
RBI
0
1
受信中
受信動作なし
bit2
BIE
0
1
バスアイドル割込み無効
バスアイドル割込み有効
bit3
SSM
0
1
送信バスアイドル
受信バスアイドル
バスアイドル割込み
同期データ形式での開始/停止ビット指定(モード2)
同期モード2で開始/停止ビット無効
同期モード2で開始/停止ビット有効
bit4
予約ビット : 本ビットは"0"に固定されます
bit5
MS
0
1
マスタ/スレーブ選択(モード2)
マスタモード (シリアルクロックの生成)
スレーブモード (外部シリアルクロック受信)
bit6
LBR
0
1
:
初期値
bit7
INV
0
1
LINブレークビットの設定
書込み時
読出し時
無視
LINブレークの生成
常に"0"を返す
反転シリアルデータ
非反転シリアルデータ( NRZフォーマット)
反転シリアルデータ(RZフォーマット)
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
411
第 20 章 LIN-UART
20.2 LIN-UART のレジスタ一覧
20.2.1
MB91220 シリーズ
ボーレート / リロードカウンタレジスタ (BGR)
ボーレート / リロードカウンタレジスタ (BGR) は , シリアルクロックの分周比を設
定します。また , 送信リロードカウンタの正確な値を読み出すことも可能です。
■ ボーレート / リロードカウンタレジスタ (BGR)
レジスタはバイト / ハーフワード / ワードアクセスでの読出し / 書込みが可能です。
図 20.2-7 ボーレート / リロードカウンタレジスタ
BGR1 ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
0000CEH
0000B6H
0000BEH
0000C6H
−
R1,WX
B14
B13
B12
B11
B10
R,W
R,W
R,W
R,W
R,W
bit13
bit12
bit11
bit10
bit8
初期値
B09
B08
-0000000B
R,W
R,W
bit9
BGR0 ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
0000CFH
0000B7H
0000BFH
0000C7H
B07
B06
B05
B04
B03
B02
B01
B00
00000000B
R,W
R,W
R,W
R,W
R,W
R,W
R,W
R,W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit15] - : 未定義ビット
常に "1" が読み出せます。書込みは動作に影響ありません。
[bit14 ∼ bit8] BGR1 : ボーレートジェネレータレジスタ 1
BGR1
ボーレートジェネレータレジスタ 1
書込み
リロード値の bit14 ∼ bit8 をカウンタへ書込み
読出し
カウント bit14 ∼ bit8 の読出し
[bit7 ∼ bit0] BGR0 : ボーレートジェネレータレジスタ 0
BGR0
412
ボーレートジェネレータレジスタ 0
書込み
リロード値の bit7 ∼ bit0 をカウンタへ書込み
読出し
カウント bit7 ∼ bit0 の読出し
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 20 章 LIN-UART
20.3 インプットキャプチャによるボーレート検出
MB91220 シリーズ
20.3
インプットキャプチャによるボーレート検出
インプットキャプチャによるボーレート検出について説明します。
■ インプットキャプチャによるボーレート検出
LIN-UART は LSYN 信号をもっており , ICU( インプットキャプチャ ) に接続されてい
ます。ICU で , LSYN のパルス長を測定することにより , ボーレートを調整することが
できます。ICU との LSYN 信号の接続はポート D ファンクションレジスタ PFRD ( ア
ドレス 0000042DH ビット PFRD[3:0]) で制御されます。
LIN-UART0
LSYN
インプットキャプチャ0
IN
IN0端子
フリーランタイマ0
PFRD[0]
LIN-UART1
LSYN
インプットキャプチャ1
IN
IN1端子
フリーランタイマ0
PFRD[1]
LIN-UART2
LSYN
インプットキャプチャ2
IN
IN2端子
フリーランタイマ1
PFRD[2]
LIN-UART3
LSYN
インプットキャプチャ3
IN
IN3端子
フリーランタイマ1
PFRD[3]
PFRD の該当ビットを設定すると , ICU は入力端子 IN に接続されます。
PFRD の該当ビットをクリアすると , IN 端子はポートモード (Port D[3:0]) になり , LINUART は ICU に接続されます。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
413
第 20 章 LIN-UART
20.3 インプットキャプチャによるボーレート検出
20.3.1
MB91220 シリーズ
UART のボーレート
UART のシリアルクロックとして下記のいずれかを選択できます。
• 専用ボーレートジェネレータ ( リロードカウンタ )
• 外部クロック (SCK 端子からのクロック入力 )
• 外部クロックをボーレートジェネレータ ( リロードカウンタ ) に使用
■ UART のボーレート選択
図 20.3-1 にボーレート選択回路を示します。下記の 3 つからボーレートを選択可能で
す。
● 専用ボーレートジェネレータ ( リロードカウンタ ) の使用
UARTには送信/受信シリアルクロックそれぞれに独立したリロードカウンタがありま
す。ボーレートは , ボーレートジェネレータレジスタ (BGR) の 15 ビットリロード値に
より設定されます。
リロードカウンタは , ボーレートジェネレータレジスタの設定値で周辺クロックを分
周します。
● 外部クロック (SCK 端子からのクロック入力 )
UART クロック入力端子 (SCK) からのクロック入力が直接ボーレートとして使用され
ます。
● 外部クロックをボーレートジェネレータ ( リロードカウンタ ) に使用
外部クロックをデバイス内部でリロードカウンタと接続させることも可能です。この
モードでは , 外部クロックは内部の周辺クロックの代わりに使用されます。
図 20.3-1 ボーレート選択回路 ( リロードカウンタ )
REST
スタートビット
立下りエッジ検出
リロード値: v
Rxc = 0?
受信15ビット
リロードカウンタ
セット
リロード
Rxc = v/2?
FF
リセット
0
リロード値: v
CLK
SCK
(外部
クロック
入力)
EXT
Txc = 0?
0
1
受信クロック
1
セット
送信15ビット
リロードカウンタ
カウント値: Txc
リロード
OTO
FF
1
リセット
Txc = v/2?
0
送信クロック
内部データバス
EXT
REST
OTO
414
SMR
レジスタ
B14
B13
B12
B11
B10
B09
B08
BGR1
レジスタ
B07
B06
B05
B04
B03
B02
B01
B00
BGR0
レジスタ
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 20 章 LIN-UART
20.3 インプットキャプチャによるボーレート検出
MB91220 シリーズ
ボーレートの設定
20.3.2
ボーレートの設定方法と , シリアルクロック周波数の算出結果を示します。
■ ボーレートの算出
ボーレートジェネレータレジスタ (BGR)により 15ビットリロードカウンタは設定され
ます。
リロード値の算出には以下の数式を使用してください。
v= [φ/b] - 1
ここで , "φ" は周辺クロック周波数を , "b" はボーレートを示します。
● 算出例
周辺クロックが 16MHz で , 目的のボーレートが 19200bps の場合 , リロード値 "v" は以
下のようにして算出できます。
v= [16 × 106 / 19200] - 1 = 832
正確なボーレートは , 以下のように再計算してください。
bexact=φ/(v+1)=16 × 106 / 833= 19207.6831 bps
<注意事項>
リロード値を "0" に設定すると , リロードカウンタは停止します。したがって , 最小の分
周比は 2 分周となります。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
415
第 20 章 LIN-UART
20.3 インプットキャプチャによるボーレート検出
MB91220 シリーズ
■ 周辺クロック周波数ごとのボーレート設定例
表 20.3-1 に , 周辺クロック周波数とボーレートの設定例を示します。
表 20.3-1 周辺クロックごとのボーレート設定例
8MHz
ボーレート
(bps)
16MHz
20MHz
24MHz
32MHz
リロード
値
dev.
リロード
値
dev.
リロード
値
dev.
リロード
値
dev.
リロード
値
dev.
4M
-
-
-
-
4
0
5
0
7
0
2M
-
-
7
0
9
0
11
0
15
0
1M
7
0
15
0
19
0
23
0
31
0
500000
15
0
31
0
39
0
47
0
63
0
460800
-
-
-
-
-
-
51
-0.16
68
-0.64
250000
31
0
63
0
79
0
95
0
127
0
230400
-
-
-
-
-
-
103
-0.16
138
0.08
153600
51
-0.16
103
-0.16
129
-0.16
155
-0.16
207
-0.16
125000
63
0
127
0
159
0
191
0
255
0
115200
68
-0.64
138
0.08
173
0.22
207
-0.16
277
0.08
76800
103
-0.16
207
-0.16
259
-0.16
311
-0.16
416
0.08
57600
138
0.08
277
0.08
346
-0.06
416
0.08
555
0.08
38400
207
-0.16
416
0.08
520
0.03
624
0
832
-0.04
28800
277
0.08
554
-0.01
693
-0.06
832
-0.03
1110
-0.01
19200
416
0.08
832
-0.03
1041
0.03
1249
0
1666
0.02
10417
767
0
1535
0
1919
0
2303
0
3071
0
9600
832
-0.04
1666
0.02
2083
0.03
2499
0
3332
-0.01
7200
1110
-0.01
2221
-0.01
2777
0.011
3332
-0.01
4443
-0.01
4800
1666
0.02
3332
-0.01
4166
0.01
4999
0
6666
0
2400
3332
-0.01
6666
0
8332
0
9999
0
13332
0
1200
6666
0
13332
0
16666
0
19999
0
26666
0
600
13332
0
26666
0
-
-
-
-
-
-
300
26666
0
-
-
-
-
-
-
-
-
( 注意事項 ) ・dev.:deviation unit( 偏差単位 )
・偏差の単位は "%" です。
・最大同期ボーレートは , 周辺クロックの 5 分周です。
416
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 20 章 LIN-UART
20.3 インプットキャプチャによるボーレート検出
MB91220 シリーズ
■ 外部クロックの使用
SMR の EXT ビットが設定されると , 外部端子 SCK がクロックとして選択されます。外
部クロック信号は内部 MCU クロックと同様に扱われます。SCK 端子に , 例えば
1.8432MHz の水晶発振子を接続し , PC-16550-UART のすべてのボーレートを選択する
ためにリロードカウンタを使用するように設計されています。
"1 対 1" 外部クロック入力モード (SMR の OTO ビット ) が選択されていると , SCK 信
号が UART シリアルクロック入力へ直接接続されます。これは , UART 同期モード 2
でスレーブデバイスとして動作させるために必要です。
<注意事項>
いずれの場合においても , クロック信号は UART 内部で MCU クロックと同期化されます。
これは分周できないクロック比は不安定な信号となることを意味します。
■ カウント例
図 20.3-2 に , 送信 / 受信リロードカウンタの動作例を示します。ここではリロード値を
832 としています。
図 20.3-2 リロードカウンタのカウント例
送信/受信クロック
リードカウンタ
001
000
832
831
830
829
828
827
412
411
410
リードカウント値
送信/受信クロック
リードカウンタ
417
416
415
414
413
<注意事項>
シリアルクロック信号の立下りエッジは常に , [ (v + 1)/2 ] 後です。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
417
第 20 章 LIN-UART
20.4 LIN-UART の動作
MB91220 シリーズ
LIN-UART の動作
20.4
LIN-UART の動作について説明します。
■ LIN-UART の動作モード
LIN-UART は下記に示す 4 つの異なった動作モードをもっており , シリアルモードレジ
スタ (SMR) の MD0, MD1 ビットにより決定されます。モード 0 と 2 は , 双方向シリア
ル通信 , モード 1 は , マスタ / スレーブ型通信 , モード 3 は , LIN マスタ / スレーブ
型通信に利用されます。
表 20.4-1 LIN-UART の動作モードの概要
データ長
MD1 MD0
動作モード
同期方式
ストップ
ビット長
データ
ビット方向
非同期
1 ビット
または
2 ビット
LSB ファースト /
MSB ファースト
非同期
1 ビット
または
2 ビット
LSB ファースト /
MSB ファースト
同期
0 ビット ,
1 ビット
または
2 ビット
LSB ファースト /
MSB ファースト
非同期
1 ビット
LSB ファースト
パリティなし パリティあり
0
0
0
1
0
ノーマル
モード
1
マルチ
プロセッサ
1
0
2
ノーマル
モード
1
1
3
LIN モード
7 ビットか 8 ビット
7 ビット
または
8 ビット + 1*
-
8
8
-
* : "+1" は , 通信制御用に使用されるアドレス / データ形式選択ビット (AD) を意味します。
<注意事項>
モード 1 動作は , マスタ / スレーブ CPU を複数接続して通信することができます。
モード 3 では , UART 機能は , 通信フォーマットが固定されます。
送受信時にモードを切り換えたときは , 送受信データは保証できません。
418
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 20 章 LIN-UART
20.4 LIN-UART の動作
MB91220 シリーズ
非同期モード ( 動作モード 0 と 1) 時の動作
20.4.1
非同期モード ( 動作モード 0 と 1) 時の動作を説明します。
■ 送受信データフォーマット
送受信データは , スタートビット ("L" レベル ) から始まり , ストップビット ("H" レベ
ル ) で終了します。ビット転送方向 (LSB ファーストまたは MSB ファースト ) は , シリ
アルステータスレジスタ (SSR) の転送方向選択ビット (BDS) で , 決定します。パリティ
ありの場合 , パリティビットは , 常に最終データビットと最初のストップビットの間に
置かれます。
動作モード 0 では , データ長 7 ビットまたは 8 ビット , パリティの有無 , ストップビッ
ト長 1 ビットまたは 2 ビットの選択ができます。
動作モード 1 では , データ長 7 ビットまたは 8 ビットに設定できます。本モードではパ
リティを付加されませんが , アドレス / データ形式選択ビットが付加されます。ストッ
プビット長 1 ビットまたは 2 ビットを選択することができます。
フレームのビット長計算式は以下のとおりです。
長さ =1+d+p+s
(d = データビット数 [7 or 8], p = パリティ [0 or 1], s = ストップビット数 [1 or 2])
図 20.4-1 非同期モード ( 動作モード 0, 1) 時の動作
*1
*2
動作モード0
ST D0 D1 D2 D3 D4 D5 D6 D7/P SP SP
動作モード1
ST D0 D1 D2 D3 D4 D5 D6 D7 A/D SP
*1 : D7(bit 7)パリティなし,データ長が8ビットの場合
P(パリティ)パリティあり,データ長7ビットの場合
*2 : SCRのSBLビットが"1"にセットされている場合のみ
ST :スタートビット
SP :ストップビット
AD :モード1(マルチプロセッサモード)のアドレスデータ選択ビット
<注意事項>
シリアルステータスレジスタ (SSR) の BDS ビットが "1" に設定されている場合 , データ
は D7, D6…D1, D0, (P) の順で処理されます。
2 ストップビットに設定すると , 受信中 , 両方のストップビットを検出します。しかし , 受
信データフルフラグビット (RDRF) は , 最初のストップビットで "1" に設定されますが , 受
信動作がないと拡張通信制御レジスタ (ECCR) の受信バスアイドル検出フラグビット
(RBI) は , 2 番目のストップビットの後に "1" に設定します。
2 番目のストップビットはマークレベルですが , バスのためにあります。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
419
第 20 章 LIN-UART
20.4 LIN-UART の動作
MB91220 シリーズ
■ 送信動作
シリアルステータスレジスタ (SSR) の送信データレジスタエンプティビット (TDRE) が
"1" のとき , 送信データレジスタ (TDR) へ送信データを書き込みます。データが書き込
まれると TDRE フラグが "0" になります。シリアル制御レジスタ (SCR) の送信許可ビッ
ト (TXE) を "1" で許可すると , そのデータは送信用シフトレジスタに転送され ,
スタートビットから送信が始まります。その結果 , TDRE フラグは "1" に設定され , TDR
レジスタに新しいデータを書き込むことができます。
送信割込み可能 ( シリアルステータスレジスタ (SSR) の送信割込み許可ビット (TIE) が
"1") の場合 , 割込みは TDRE フラグによって発生します。TDRE フラグの初期値が "1"
のため , TIE フラグが "1" に設定されると割込みが発生しますので注意してください。
■ 受信動作
シリアル制御レジスタ (SCR) の受信許可ビット (RXE) が "1" であれば , 受信動作を行
います。
スタートビットを検出するとシリアル制御レジスタ (SCR) で設定したデータフォー
マットに従い, 1フレームデータ受信が行われます。エラー発生により, 対応するエラー
フラグ (PE, ORE, FRE) がセットされます。1 フレームの受信完了後 , データはシリアル
シフトレジスタから受信データレジスタ (RDR) に転送され , シリアルステータスレジス
タ (SSR) の受信データレジスタフルフラグビット (RDRF) が "1" に設定されます。受信
データ読出しによって , RDRF フラグはクリアされます。
受信割込み許可 ( シリアルステータスレジスタ (SSR) の受信割込み許可ビット (RIE) が
"1") の場合 , 割込みは RDRF によって発生します。
<注意事項>
RDRF フラグが "1" に設定されるときだけ , 受信データレジスタ (RDR) データは有効にな
ります。
■ ストップビット , エラー検出およびパリティ
送信時には , 1 ビットまたは 2 ビットのストップビットを選択することができます。ス
トップビットを 2 ビット選択したとき , 両方のストップビットが受信時に検出されま
す。2 番目のストップビット後に , 拡張通信制御レジスタ (ECCR) の受信バスアイドル
検出フラグビット (RBI) を設定します。
モード 0 で , パリティエラー , オーバランエラー , フレームエラー検出ができます。
モード 1 で , オーバランエラー , フレームエラー検出ができ , パリティエラー検出はで
きません。
モード 0 ( もしくはモード 2 で , ECCR レジスタのスタート / ストップ許可ビット (SSM)
を "1" に設定 ) 時にシリアルコントロールレジスタ (SCR) のパリティ許可ビット (PEN)
を設定することにより , UART はパリティ計算 ( 送信時 ), パリティ検出 , およびチェッ
ク ( 受信時 ) を行います。
SCR レジスタのパリティ選択ビット (P) がクリア ("0") されると偶数パリティ設定とな
り , フラグが "1" にされると , 奇数パリティに設定されます。
420
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 20 章 LIN-UART
20.4 LIN-UART の動作
MB91220 シリーズ
同期 ( 動作モード 2) モード時の動作
20.4.2
同期 ( 動作モード 2) モード時の動作を説明します。
■ 送受信データフォーマット
同期モードでは , 8 ビットのデータは拡張通信制御レジスタ (ECCR) のスタート / ストッ
プ許可ビット (SSM) が "0" ならば , スタート / ストップビットなしで転送されます。
同期動作モードのデータフォーマットを示します。
図 20.4-2 同期モード ( 動作モード 2) 時の動作
送信データ書込み
マークレベル
シリアルクロック(ノーマル)
(CCO=0)
送信データ
マークレベル
0
1
1
0
1
0
0
1
立上りサンプルエッジ(SCES=0), LSBファーストのとき
■ クロック供給
クロック同期 (I/O 拡張シリアル ) モードでは , 送受信ビット数に等しい数のクロックの
供給が必要です。注意点として , スタート / ストップビットありの通信時は , クロック
サイクル数とスタート / ストップビットが付加された数とが一致していなければなり
ません。
内部クロック ( 専用リロードカウンタ ) を選択しているときには , データ送信すると ,
データ受信用同期クロックが自動的に発生します。
外部クロックを選択しているときは , 送信データレジスタに送信データがあることを
確認した後 , 送信分のクロックを外部から発生 , 供給しなければなりません。また , 送
信開始前と終了後はマークレベル ("H") にしなければなりません。
拡張ステータス制御レジスタ (ESCR) のサンプリングクロックエッジ選択 (SCES) を "1"
に設定すると UART のクロックが反転し , その結果 , クロックの立下りエッジで受信
データを抽出します。この場合 , シリアルデータが立下りエッジで有効であるか確認し
てください。
■ エラー検出
スタート / ストップビットなし ( 拡張通信制御レジスタ (ECCR) の スタート / ストップ
許可ビット (SSM を "0" に設定 ) を選択すると , オーバランエラーのみ検出可能です。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
421
第 20 章 LIN-UART
20.4 LIN-UART の動作
MB91220 シリーズ
■ 通信方法
同期モードを利用するときは , 下記の設定に初期化する必要があります。
ボーレートジェネレータレジスタ (BGR0/BGR1):
専用ボーレートリロードカウンタに必要なリロード値を設定
シリアルモードレジスタ (SMR):
MD1, MD0
: "10B" ( モード 2)
SCKE
: "1"
"0"
SOE
専用ボーレートリロードカウンタ
外部クロック
: "1"
送信
"0"
受信
シリアル制御レジスタ (SCR):
RXE, TXE
:
少なくともどちらかが "1"
SSM=0( デフォルト ) のとき
PEN, P
: パリティなしのため , このビットは意味を持ちません。
SSM=1 のとき
PEN
: "1" パリティあり : "0" パリティなし
P
: "0" パリティ偶数 : "1" パリティ奇数
SBL, A/D
: パリティ, ストップビット , アドレス / データ選択なしのため , この
ビットは意味を持ちません。
CL
: 自動的に 8 ビットに設定されるので , このビットは意味を持ちませ
ん。
CRE
: "1" ( エラーフラグは初期化でクリアして送受信を中断します )。
シリアルステータスレジスタ (SSR):
BDS
: "0" LSB ファースト ; "1"MSB ファースト
RIE
: "1" 割込み利用 ;
"0 " 割込みなし TIE
: "1" 割込み利用 ;
"0" 割込みなし 拡張通信制御レジスタ (ECCR):
SSM
: "0" スタート / ストップビットなし ( ノーマル )
; "1" スタート / ストップビット追加 ( 特別 )
MS
: "0" マスタモード (UART はシリアルクロックを発生 )
; "1" スレーブモード
(UART はマスタデバイスからシリアルクロック受信 )
通信を始めるには , 送信データレジスタ (TDR) にデータを書き込んでください。
データを受信するには , SMR レジスタのシリアルデータ出力許可ビット (SOE) を無効
にして TDR にダミーデータを書き込んでください。
<注意事項>
SCK 端子はクロック入出力兼用のために , 同時に送受信はできません。
422
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 20 章 LIN-UART
20.4 LIN-UART の動作
MB91220 シリーズ
20.4.3
LIN 機能との操作 ( 動作モード 3)
LIN-UART は , LIN マスタ / スレーブ機能が動作します。この LIN 機能のために , 動
作モード 3 が提供されています。データフォーマットが固定され , 8 ビットデータを
送受信し , 1 スタート / ストップビットが付加され LSB ファーストになります。
■ LIN マスタ動作
LIN マスタモードは , マスタですべてのボーレートを決定します。スレーブは , マスタ
に同期しなければなりません。よって , スレーブ側では , ボーレートを設定する必要は
ありません。
拡張通信制御レジスタ (ECCR) の LIN ブレーク生成ビット (LBR) に "1" を書き込むと ,
LIN ブレーク信号が SOT 端子から 13 ビット∼ 16 ビット分 "L" レベルが出力されます。
この信号により LIN 通信を開始します。
その結果 , シリアルステータスレジスタ (SSR) の送信データエンプティフラグビット
(TDRE) は "0" になり , LIN ブレーク後 "1" にセットされて送信割込み (SSR レジスタの
送信割込み許可ビット (TIE) が "1" のとき ) を発生させます。
LIN ブレークは , 拡張ステータス制御レジスタ (ESCR) の LIN ブレーク長ビット (LBL1/
LBL0) によって決められます。設定は以下のとおりです。
表 20.4-2 LBL1/LBL0 による LIN ブレーク長の設定
LBL1
LBL0
ブレークの長さ
0
0
13 ビットタイム
0
1
14 ビットタイム
1
0
15 ビットタイム
1
1
16 ビットタイム
LIN ブレーク後に , 同期フィールド (55H) を送信します。受信割込みを防ぐために , ECCR
レジスタの LBR フラグの "1" に書込みにより , TDRE フラグが "0" となりますが , 送信
データレジスタ (TDR) に "55H" を書き込むことができます。内部の送信シフタは , LIN ブ
レークが終わり , TDR レジスタ値が移動するまで待っています。これにより , LIN ブレー
ク後 , スタートビット前の間 , 送信割込みは行われません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
423
第 20 章 LIN-UART
20.4 LIN-UART の動作
MB91220 シリーズ
■ LIN スレーブ動作
LIN スレーブモードは , マスタボーレートに同期させます。受信が無効 ( シリアル制御
レジスタ (SCR) の受信許可ビット (RXE) が "0"), LIN synch 割込みが有効 ( 拡張ステー
タスレジスタ (ESCR) の LIN ブレーク検出割込み許可ビット (LBIE) が "1") であれば ,
UART は受信割込みを発生します。LIN ブレークが検出されると , ESCR レジスタの
LIN ブレーク検出ビット (LBD) がセットされ , このビットの "0" 書込みにより割込みは
クリアされます。
次に , LIN ブレーク検出後 , LIN マスタのボーレートを分析します。キャプチャ内部信
号は LIN 同期フィールドの 1 回目の立下りエッジで "1" にセットされ , 5 回目の立下り
エッジ後に "0" にセットされます。両方のエッジ検出時に , キャプチャ割込みが許可さ
れていると割込みが発生します。
LIN 同期フィールド検出時の内部信号は , マスタのシリアルクロック 8 ビット分に相当
します。
以下の図に LIN メッセージフレームの形式と LIN-UART の動作を示します。
図 20.4-3 LIN メッセージフレーム形式と LIN-UART の動作
シリアル
クロック
シリアル
入力
(LINバス)
LBD
キャプチャ
内部信号
424
LINブレーク
同期フィールド
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 20 章 LIN-UART
20.4 LIN-UART の動作
MB91220 シリーズ
シリアル端子直接アクセス
20.4.4
シリアル端子直接アクセスについて説明します。
■ シリアル端子直接アクセス
LIN-UART はプログラマが , シリアル入出力端子に直接アクセスすることができます。
ソフトウェアにて , 拡張ステータスレジスタ (ESCR) のシリアル入出力端子アクセス設
定ビット (SIOP) を読み出すことにより , シリアル入力端子 (SIN) の状況をいつでもモ
ニタすることができます。また , ESCR レジスタのシリアル出力端子アクセス許可ビッ
ト (SOPE) を設定すると , ソフトウェアによりシリアル出力端子 (SOT) の値を任意に設
定することができます。注意事項として , 送信用シフトレジスタデータなし ( 送信未動
作時 ) の場合にだけアクセス可能です。
LIN モードにおいて , 送信したデータの読出しまたは物理的に LIN バス線信号が間違っ
ていたときのエラー処理に使用できます。
<注意事項>
出力端子にアクセスする前に , SIOP ビットに値を書き込んでください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
425
第 20 章 LIN-UART
20.4 LIN-UART の動作
MB91220 シリーズ
データフォーマット設定
20.4.5
データフォーマットの設定について説明します。
■ データフォーマット設定
拡張通信制御レジスタ (ECCR) のシリアルデータ反転選択ビット (INV) を "1" に設定す
ると , シリアルデータを反転させます。これは , 信号モードが "Return To Zero"(RZ) で
あることを意味します。設定しなければ , SIN と SOT の信号モードは "Non Return To
Zero"(NRZ 初期値 ) になります。
以下の図で 2 つの設定の違いを説明します。
図 20.4-4 NRZ モードと RZ モードの設定の違い
SIN (NRZ)
INV = 0
ST
D0
D1
D2
D3
D4
D5
D6 D7
SP
SIN (RZ)
INV = 1
ST
D0
D1
D2
D3
D4
D5
D6 D7
SP
SOT (NRZ)
INV = 0
ST
D0
D1
D2
D3
D4
D5
D6 D7
SP
SOT (RZ)
INV = 1
ST
D0
D1
D2
D3
D4
D5
D6 D7
SP
<注意事項>
LIN モード 3 を含むすべての操作モードで INV ビットを設定することができます。
426
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 20 章 LIN-UART
20.4 LIN-UART の動作
MB91220 シリーズ
レジスタ / フラグビット
20.4.6
レジスタ / フラグビットについて説明します。
■ レジスタ / フラグビット
LIN-UART (FL84) では , 送受信動作は設定しているモードに依存します。各モードに
おいて , 無意味なフラグに設定 ( 例えば , LIN モード 3 でパリティを可能にする ) して
も LIN-UART の動作は影響されません。また , これらのビットを読み出しても正しい
値を返します。
以下の表は各 UART モードの可能な設定について説明します。
表 20.4-3 LIN-UART のモード設定
ストップ
ビット長
ビット長
-
1 ビット
または
2 ビット
7 ビット
または
8 ビット
2 (SSM=0)
-
-
2 (SSM=1)
なし , 奇数
または偶数
1 ビット
または
2 ビット
3 (LIN)
-
1 ビット
モード
パリティ
0
なし , 奇数
または偶数
1
A/D
ビット
○
-
8 ビット
ビット
方向
LSB
ファースト
または
MSB
ファースト
-
-
LSB
ファースト
SCES
SSM
-
-
-
-
○
0
INV
○
○
1
-
-
○ : 使用可能
- : 未使用
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
427
第 20 章 LIN-UART
20.5 UART 割込み
20.5
MB91220 シリーズ
UART 割込み
UART の割込みについて説明します。
■ UART 割込み要因
UART は送受信の両方で割込みを使用します。
以下の原因において割込みは発生します。
• 受信データが受信データレジスタ (RDR) にセットされた場合 , または受信エラー発
生時
• 送信データが送信データレジスタ (TDR) から送信シフトレジスタに転送されたとき
• LIN ブレーク検出
• バス動作していない場合
以下に割込みコントロールビットと割込み要因を示します。
表 20.5-1 割込みコントロールビットと割込み要因
割込み要
動作モード
送信 / 受信 /
フラグ
求フラグ
レジスタ 0 1 2 3
キャプチャ
ビット
割込み要因
割込み要因 割込み要求
イネーブル フラグビット
のクリア
ビット
受信データの
RDR 書込み
受信データの
読出し
RDRF
SSR
○ ○ ○ ○
ORE
SSR
○ ○ ○ ○ オーバランエラー
FRE
SSR
○ ○ △ ○ フレーミングエラー
PE
SSR
○ × △ × パリティエラー
LBR
ESCR
○ × × ○ LIN synch break 検出
ESCR :
LBIE
(ESCR:LBD) へ
の "0" 書込み
TBI, RBI
ECCR
○ ○ △ ○ バス動作なし
ECCR : BIE
データ受信 /
データ送信
送信
TDRE
SSR
○ ○ ○ ○ 送信レジスタが空
SSR :TIE
送信データの
書込み
8/16 ビット
キャプチャ・
タイマ /
カウンタ 1
ICP0
ICS01
○ × × ○
ICS01 :
LIN synch field の
1 回目の立下りエッジ ICE0
ICE0 一時無効
ICP0
ICS01
○ × × ○
LIN synch field の
ICS01 :
5 回目の立下りエッジ ICE0
ICE0 無効
受信
SSR : RIE
受信エラー
フラグクリア
ビット
(SCR:CRE) へ
の "1" の書込み
○ : 利用ビット
△ : ECCR(SSM=1) のみ使用可能
× : 未利用
428
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 20 章 LIN-UART
20.5 UART 割込み
MB91220 シリーズ
■ 受信割込み
以下に示す動作が受信モードで発生すると , シリアルステータスレジスタ (SSR) の各フ
ラグビットは "1" に設定されます。
• データ受信完了
( 例 ) 受信データのシリアル入力シフトレジスタから受信データレジスタ (RDR) へ
の移動 :RDRF( 受信データフルフラグビット )
• オーバランエラー
( 例 ) RDRF=1, RDR の読出しエラー :ORE( オーバランエラーフラグビット )
• フレーミングエラー
( 例 ) ストップビット受信エラー :FRE( フレーミングエラーフラグビット )
• パリティエラー
( 例 ) パリティ検出エラー :PE( パリティエラーフラグビット )
上記のフラグビットのいずれかが "1" のとき , 受信割込みが許可 (SSR レジスタの受信
割込み許可ビット (RIE) が "1") されていると , 受信割込み要求が発生します。
RDRF フラグは , 受信データレジスタ (RDR) を読み出すと , 自動的に "0" にクリアされ
ます。
<注意事項>
• RDRF フラグのリセットは上記の方法により行ってください。
エラーフラグはシリアル制御レジスタ (SCR) の受信エラーフラグクリアビット (CRE)
に "1" を書き込むと , すべて "0" にクリアされます。
• RDRF フラグが "1" で , どんな誤りビットも設定されていない場合 , RDR レジスタは有
効なデータであることを示します。
• CRE フラグは書込み専用で , "1" 書込みのとき 1 クロックサイクル間 "1" を保持します。
■ 送信割込み
送信データが送信データレジスタ (TDR) から送信シフトレジスタに転送される ( 送信
シフトレジスタが空で送信データがあるとき ) と , シリアルステータスレジスタ (SSR)
の送信データレジスタエンプティフラグビット (TDRE) が "1" にセットされます。この
場合 , 送信割込みが許可 (SSR レジスタの送信割込み許可ビット (TIE) が "1") されてい
ると , 送信割込み要求が発生します。
<注意事項>
ハードウェア , ソフトウェアリセットの後の初期値は , "0" にクリアされるので , TIE フラ
グが "1" ならば即 , 割込みが発生します。また , RDR にデータを書き込むことにより TDRE
をリセットできます。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
429
第 20 章 LIN-UART
20.5 UART 割込み
MB91220 シリーズ
■ LIN ブレーク割込み
動作モード 0, 3 で , LIN スレーブ動作をする場合に機能します。
バス ( シリアル入力 ) が 13 ビットタイム以上 "0" になると , 拡張ステータス制御レジス
タ (ESCR) の LIN ブレーク検出フラグビット (LBD) は "1" にセットされます。
<注意事項>
LIN ブレーク検出を行う際には , 受信禁止 ( シリアル制御レジスタ (SCR) の受信許可ビッ
ト (RXE) を "0") または受信割込み禁止 ( シリアルステータスレジスタ (SSR) の受信割込
み許可ビット (RIE) を "0") にしてください。この設定が許可になっていると , 9 ビットタ
イム後受信にエラー割込みが発生しますので注意してください。その他の場合では , 受信
エラー割込みが最初に発生します。割込みハンドルルーチンは LBD =1 を待たなければな
りません。
LIN ブレーク割込みと LBD フラグは , LBD フラグの "0" 書込みでクリアされます。こ
れにより CPU は , LIN マスタにシングルクロックを調整するため , LIN ブレークの検
出を確認します。
■ LIN 同期フィールドエッジ検出割込み
動作モード 0, 3 で , LIN スレーブ動作をする場合に機能します。LIN ブレーク検出後 ,
内部信号 LSYN(ICU に接続 ) は LIN 同期フィールドの 1 回目の立下りエッジで "1" に
セットされ , 5 回目の立下りエッジ後に "0" にセットされます。両方のエッジ検出時に ,
キャプチャは割込みを発生させます。各インプットキャプチャカウンタの差は , マスタ
のシリアルクロック 8 ビット分に相当します。その値を 8 で分割した値を専用リロー
ドカウンタに設定します。スタートビットの立下りエッジを検出すると , リロードカウ
ンタは自動的に再スタートします。
■ バスアイドル 割込み
SIN 端子に受信動作がなければ拡張通信制御レジスタ (ECCR) の受信バスアイドル検出
フラグビット (RBI) は "1" になり , SOT 端子に送信動作がなければ ECCR レジスタの送
信バスアイドル検出フラグビット (TBI) は "1" になります。このとき , ECCR のバスア
イドル割込みが許可 (ECCR レジスタのバスアイドル割込み許可ビット (BIE) が "1") さ
れ , バスアイドルフラグ両方 (TBI=RBI=1) のとき , 割込みが発生します。
<注意事項>
シリアル出力端子直接アクセスが可能 (ESCR レジスタのシリアル出力端子直接アクセス
許可ビット (SOPE) が "1" のとき , SOT 端子を "0" 固定に設定 (ESCR レジスタのシリア
ル入出力端子アクセス設定ビット (SIOP) が "0") すると , 送信動作 (ECCR レジスタの TBI
フラグが "1") がなくても TBI フラグは "0" にセットされます。
430
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 20 章 LIN-UART
20.5 UART 割込み
MB91220 シリーズ
ソフトウェアリセット
20.5.1
LIN-UART のソフトウェアリセットについて説明します。
■ ソフトウェアリセット
LIN-UART が正常に動作しない場合 , MCU をリセットする代わりに LIN-UART のみを
リセットしたい場合があります。シリアルモードレジスタ (SMR) のプログラマブルク
リアビット (UPCL) はそのような機能を提供します。このビットに "1" を書き込むと , 直
ちに , UART をリセットします。このビットを再び "0" にセットする必要はありません。
<注意事項>
シリアル出力端子直接アクセスが可能 (ESCR レジスタのシリアル出力端子直接アクセス
許可ビット (SOPE) が "1") のとき , SOT 端子を "0" 固定に設定 (ESCR レジスタのシリア
ル入出力端子アクセス設定ビット (SIOP) が "0") すると , 送信動作 (ECCR レジスタの TBI
フラグが "1") がなくても TBI フラグは "0" にセットされます。リセットの際 , 送受信状態
のものは切断されます。レジスタの設定は維持されますが , 専用リロードカウンタ (FL85)
は再スタートします。
本機能を利用の際には , データ消去を防ぐために , LIN-UART の SMR レジスタにいかな
るコマンドを書き込むときにも , "FBH" でマスクをかけることをお薦めします。
リロードカウンタリセットなしで , LIN-UART をリセットする代替手段は , 一時的に受
信 ( シリアル制御レジスタ (SCR) の受信許可ビット (RXE) を "0") または , 送信 (SCR レ
ジスタの送信許可ビット (TXE) を "0") 機能を無効にすることです。これにより , 受信 /
送信制御回路は内部的にリセットされます。また , 一時的に LIN-UART の操作モード
を変えることでも同じ効果があります。
受信限定のステートマシンのリセットは , 単にシリアル制御レジスタ (SCR) の受信エ
ラーフラグクリアビット (CRE) に "1" を書き込むことにより行います。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
431
第 20 章 LIN-UART
20.6 LIN-UART のクロック同期
20.6
MB91220 シリーズ
LIN-UART のクロック同期
LIN-UART のクロック同期について説明します。
■ クロック同期
非同期モードで UART は , スタートビットの立下りエッジを検出して , ボーレートリ
ロードカウンタ (FL85) を再開するために信号 (SEDGE) を発生させます。これにより ,
ビットタイム中でシリアルデータが抽出されます。
図 20.6-1 クロック同期の概要
CLKP
SIN
(オーバサンプリング)
スタートビット
データビット
SIN
受信用シフタへ
データサンプルタイム
SEDGE
(内部信号)
リロードカウンタのリスタート
RSCL
(受信クロック)
クロックフェーズ
カットオフ
432
ビットタイム
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 20 章 LIN-UART
20.7 フラグセットのタイミング
MB91220 シリーズ
20.7
フラグセットのタイミング
割込み発生とフラグセットのタイミングを説明します。
■ 受信割込み発生とフラグセットのタイミング
受信完了時 ( シリアルステータスレジスタ (SSR) の受信データフルフラグビット
(RDRF)), または受信エラー発生時 (SSR レジスタのパリティエラーフラグビット (PE),
オーバランフラグビット (ORE), フレーミングエラービット (FRE)) に各フラグがセット
されます。そのとき , 受信割込みが許可 (SSR レジスタの受信割込み許可ビット (RIE)
が "1") されていると受信割込みが発生します。これらの割込みは , 動作モード 0, 1 ( パ
リティエラーを除く ) の場合 , 最初のストップビットの検出 , 動作モード 2 の場合 , 最
終データビットが読み出されると発生します。
<注意事項>
受信エラーが発生したとき , 受信データレジスタ (RDR) のデータは無効となります。
図 20.7-1 受信割込み発生とフラグセットのタイミング
受信データ
(モード0/3)
ST
D0
D1
D2
…
D5
D6
D7/P
SP
ST
受信データ
(モード1)
ST
D0
D1
D2
…
D5
D6
A/D
SP
ST
受信データ
(モード2)
ST
D0
D1
D2
…
D4
D5
D6
D7
D0
PE*1, FRE
RDRF
ORE*2
(RDRF = 1のとき)
受信割込み発生
*1 : モード1 または モード3では, PEフラグは使用できません。
*2 : 受信データが読み出される前に(RDRF=1)に次のデータが転送されるとオーバラン(ORE)が発生します。
ST : スタートビット SP : ストップビット A/D : Mode 1 (マルチプロセッサ) アドレス/データ選択
<注意事項>
上記一例の動作モード 0 およびモード 3 はすべての設定可能な受信オプションを示してい
ません。
送信割込み発生とフラグセットのタイミング受信データが読み出される前に(RDRF=1)に
次のデータが転送されるとオーバランエラー (ORE) が発生します。
受信
データ
RDRF
ORE
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
433
第 20 章 LIN-UART
20.7 フラグセットのタイミング
MB91220 シリーズ
■ 送信割込み発生とフラグセットのタイミング
送信データレジスタ (TDR) に次のデータ書込みが可能な状態になると割込みが発生し
ます。すなわち , 送信データレジスタ (TDR) データなしで , シリアルステータスレジ
スタ(SSR)の送信割込み許可ビット(TIE)を"1"に設定すると, 送信割込みが発生します。
SSR レジスタの送信データエンプティフラグビット (TDRE) は , TDR レジスタの状態
を示します。TDRE ビットは「リードオンリ」のため , TDR レジスタにデータを書き
込むことによりクリアされます。
以下に, LIN-UARTの各モード設定時の送信動作とフラグセットのタイミングについて
一例を示します。
図 20.7-2 送信動作とフラグセットのタイミング例
送信割込み発生
送信割込み発生
モード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 :
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 : データビット
AD : アドレス/データ選択ビット (モード1)
P : パリティ SP: ストップビット
<注意事項>
上記一例のモード 0 はすべての設定可能な送信オプションを示していません。
434
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 20 章 LIN-UART
20.7 フラグセットのタイミング
MB91220 シリーズ
■ LIN ブレーク検出割込みとフラグ
スレーブモードで LIN ブレークが検出されると , 拡張ステータス制御レジスタ (ESCR)
の LIN ブレーク検出ビット (LBD) は "1" にセットされ , 同じく ESCR レジスタの LIN
ブレーク検出割込み許可ビット (LBIE) が設定されていると割込みが発生します。
以下に , LIN ブレーク検出割込みとフラグのセットタイミングを示します。
図 20.7-3 LIN ブレーク検出割込みとフラグセットタイミング
シリアルクロック
サイクル # 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
受信
データ
FRE
(RXE=1)
LBD
(RXE=0)
RXE=1なら受信割込み発生
RXE=0なら受信割込み発生
<注意事項>
受信可能 ( シリアル制御レジスタ (SCR) の受信許可ビット (RXE) が "1") かつ受信割込み
可能 ( シリアルステータスレジスタ (SSR) の受信割込み許可ビット (RIE) が "1") の場合 ,
SSR レジスタのフレーミングエラーフラグビット (FRE) は , LIN ブレーク割込みよりク
ロックが 2 ビット分早くセットされるので , LIN ブレーク割込みを期待する場合は , RXE
ビットを "0" にすることをお勧めします。
LBD ビットは動作モード 0, 3 のみサポートされます。
■ LIN フィールドエッジ検出割込み
LIN ブレーク検出後 , シリアル入力 (SIN 端子 ) の 1 回目の立下りエッジで LSYN 信号
(内部でインプットキャプチャ(ICU)に接続)をセットし, 5番目の立下りエッジでLSYN
信号をリセットします。したがって , ICU は両方のエッジ検出で動作します。最初の割
込み時の ICU カウンタレジスタ値は保持され , 2 回目の ICU カウンタレジスタ値から
最初の ICU カウンタレジスタ値を引いた値は , マスタのシリアルクロック 8 ビット分
に相当します。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
435
第 20 章 LIN-UART
20.7 フラグセットのタイミング
MB91220 シリーズ
図 20.7-4 LIN フィールドエッジ検出割込み
シンクフィールド
シンクブレーク
識別
受信データ
LSYN
(ICUへ)
ICUから
IRQ
CPUによる割込みクリア
■ バスアイドル割込みとフラグ
シリアル入力シフトレジスタとシリアル出力レジスタの値がなく , 拡張通信制御レジ
スタ (ECCR) のバスアイドル割込み許可ビット (BIE) が設定されている場合 , バスアイ
ドル割込みを発生します。以下の図はバスアイドル割込みとフラグセットタイミング
の関係を示します。
図 20.7-5 バスアイドル割込みとフラグセットタイミング
送信データ
受信データ
TBI
RBI
IRQ
: スタートビット
: ストップビット
: データビット
<注意事項>
受信中に , 受信動作を禁止 ( シリアル制御レジスタ (SCR) の受信許可ビット (RXE) を "0") に
した場合 , 拡張通信制御レジスタ (ECCR) の受信バスアイドル検出フラグ (RBI) は "1" になり
ます。
シリアル出力可能 (ESCR レジスタのシリアル出力端子直接アクセス許可ビット (SOPE)
が "1") のとき , SOT 端子を "0" 固定に設定 (ESCR レジスタのシリアル入出力端子アクセス設
定ビット (SIOP) が "0") すると , 送信動作がなくても , TBI フラグが "0" になります。
436
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 20 章 LIN-UART
20.8 LIN-UART の特別仕様
MB91220 シリーズ
20.8
LIN-UART の特別仕様
LIN-UART の特別仕様を説明します。
■ サンプリングクロックエッジ
拡張ステータス制御レジスタ(ESCR)のサンプリングクロックエッジ選択ビット(SCES)
で, モード2のときに受信ビットが受信シフトレジスタに抽出されるサンプルエッジを
決定します。また , LIN-UART がマスタモード 2 であれば , このビットは発生している
クロック信号を反転します。
図 20.8-1 サンプリングクロックエッジの使用例
シリアルクロック信号
(SCES=0)
シリアルクロック信号
(SCES=1)
データビット
(LSBファーストの場合)
または
D0
D1
D2
D3
D4
D5
D6
D7
:サンプリングクロックエッジ
■ 同期スタート / ストップビットモード
モード 2 の同期モードで拡張通信制御レジスタ (ECCR) のスタート / ストップ許可ビッ
ト (SSM) を設定すると , モード 0 のようにスタート / ストップビットをデータストリー
ムに追加します。したがって , すべての追加ビットもクロック出力されます。
図 20.8-2 同期スタート / ストップビットモード使用例
受信/送信クロック
マークレベル
(SCES= 0, CCO=0):
受信/送信クロック
マークレベル
(SCES= 1, CCO=0):
データストリーム(SSM=1)
ST
(パリティなし, 1ストップビットの場合)
SP
データフレーム
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
437
第 20 章 LIN-UART
20.8 LIN-UART の特別仕様
MB91220 シリーズ
■ 連続シリアルクロック出力
動作モード 2 で拡張ステータス制御レジスタ (ESCR) の連続クロック出力許可ビット
(CCO) を設定すると , シリアルクロックを直接 SCK ピンに出力した後 , シフトクロッ
クに同期します。同期モードでスタートストップビットを使用するときに役立ちます。
図 20.8-3 連続シリアルクロック出力例
受信/送信クロック
(SCES=0, CCO=1):
受信/送信クロック
(SCES=1, CCO=1):
データストリーム(SSM=1)
(パリティなし, 1ストップビットの場合)
ST
SP
データフレーム
438
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 20 章 LIN-UART
20.9 LIN 通信動作
MB91220 シリーズ
20.9
LIN 通信動作
LIN-UART がマスタデバイスとして機能するときの動作を以下のフローチャートに
示します。
■ LIN マスタ・スレーブ通信機能
UART を LIN 通信モード ( 動作モード 3) で動作させるには , 下図の設定が必要です。
図 20.9-1 UART の設定
SCR5, SMR5
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 SPE
0
1
1
0
0
0
1
モード 3 ×
×
+
+
×
◎
◎
×
◎
SSR5, TDR5/RDR5
bit15 bit14 bit13 bit12 bit11 bit10 bit9
PE
モード 3
×
ORE FRE RDRF TDRE BDS RIE
◎
◎
◎
◎
+
◎
bit8
bit7
TIE
bit6 bit5 bit4 bit3 bit2 bit1
送信データのセット ( 書込み中 )
受信データの保持 ( 読出し中 )
bit0
bit6
LBR
◎
bit0
TBI
×
◎
ESCR5, ECCR5
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7
LBIE LBD LBL1 LBL0 SOPE SIOP CCO SECS モード 3 ◎
◎
◎
◎
×
×
×
×
◎
×
0/1
+
bit5 bit4 bit3
MS SCDE SSM
×
×
×
bit2
bit1
BIE
RBI
×
×
: 使用ビット
: 未使用ビット
: ビットに "0" または "1" をセット
: 正しい値に自動的に設定
■ LIN デバイス接続
下図は 1 台の LIN マスタデバイスと , もう 1 台の LIN スレーブデバイスの間の通信シ
ステムを示しています。UARTはLINマスタとしてもLINスレーブとしても動作します。
図 20.9-2 小規模 LIN バスシステムの接続例
LINバス
SOT
SOT
SIN
LIN-マスタ
CM71-10142-5
SIN
単線式
トランシーバ
単線式
トランシーバ
FUJITSU SEMICONDUCTOR LIMITED
LIN-スレーブ
439
第 20 章 LIN-UART
20.9 LIN 通信動作
MB91220 シリーズ
■ LIN-UART マスタ
図 20.9-3 LIN-UART マスタの動作フロー ( マスタデバイスとして機能 )
開始
初期化
モード3を設定
(8N1データ形式)
TIE = 0, RIE = 0
メッセージを送信
?
NO
YES
スリープモードの送信
TDR = 80H
TIE = 0
ブレークを送信
ECCRに"1" を書込み
LBR; TIE = 1;
フィールドの送信
TDR = 55H
ウェイクアップ信号の送信
CPUからの
ウェイクアップ ?
YES
TDRE = 1
Transm. Interrupt
RIE = 0
TIE = 1
TDR = 80H
NO
RIE = 1
スリープモード
を送信?
YES
NO
NO
00H, 80H, C0H
を受信?
YES
RIE = 0
Send Identify Field:
TDR = Id
スレーブへの
書込み?
NO
TIE = 0
RIE = 1
YES
TIE = 1
スレーブへの書込み
TIE = 0
エラー発生?
NO
YES
エラー処理
スレーブからのデータ読出し
RIE = 0
440
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 20 章 LIN-UART
20.9 LIN 通信動作
MB91220 シリーズ
■ LIN-UART スレーブ
LIN-UART がスレーブデバイスとして機能するときの動作を以下のフローチャートに
示します。
図 20.9-4 LIN-UART マスタの動作フロー ( スレーブデバイスとして機能 )
開始
A
B
初期化:
モード3を設定
(8N1データ形式)
スレーブ
アドレス一致?
エラー発生?
C
RIE = 0; LBIE = 1; RXE = 0
YES
E
NO
C
YES
NO
マスタが
データ送信を要求?
待機
(スレーブ
動作)
NO
YES
LBD = 1
LINブレーク割込み
LINマスタからの
メッセージ待ち
割込みクリアのため
にLBDへ"0"書込み
ICU割込み許可
(両エッジ)
受信データ
+checksum
80H 受信?
(スリープモード)
YES
RIE = 0
TIE = 1
checksum計算
データ送信
S
(次ページへ)
待機
(スレーブ
動作)
ICU
割込み
TIE = 0
NO
C
B
ICU値の読出しと
保存
割込みクリア
エラー発生?
YES
NO
待機
(スレーブ
動作)
C
ICU
割込み
ICU値の読出し
新ボーレートの計算
計算値をリロード
カウンタ(FL85)へ
設定
割込みクリア
E
エラーハンドラ
C
Identify Field受信
RIE = 1; RXE = 1
A
( 続く )
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
441
第 20 章 LIN-UART
20.9 LIN 通信動作
MB91220 シリーズ
( 続き )
S
CPUからの
ウェイクアップ?
YES
ウェイクアップ信号の送信
RIE = 0
TIE = 1
TDR = 80H
NO
TIE = 0
RIE = 1
NO
442
00H, 80H, C0H
を受信?
YES
RIE = 0
FUJITSU SEMICONDUCTOR LIMITED
C
CM71-10142-5
第 20 章 LIN-UART
20.10 UART からの変更点
MB91220 シリーズ
20.10
UART からの変更点
LIN-UART の UART からの変更点を説明します。
■ UART からの変更点
• 拡張ステータス制御レジスタ (ESCR) には次の機能があります。
- LIN 割込み発生機能
- シリアル入力 / 出力端子への直接アクセス (SIN, SOT)
- サンプリングクロックエッジ選択ビット (SCES)( クロック反転 )
- 動作モード 2( スタート / ストップビットあり ) 時 , 連続シリアルクロック出力
• 拡張通信制御レジスタ (ECCR) には次の機能があります。
- 同期モード時におけるスタート / ストップ許可 (SSM)
- 同期モード時におけるマスタとスレーブ通信 (MS)
- 送信アイドルと受信アイドルフラグによるバスアイドル割込み発生
• シリアルモードレジスタ (SMR) の変更
- LIN スレーブ機能とデータ形式固定のための動作モード 3 を追加します。
- リロードカウンタ搭載のため , クロックセレクトビットを削除し , コントロール
ビットに変更します。
• 動作モード 1 ( マルチプロセッサモード ) にて , マスタ / スレーブ機能を追加します。
• 送信 / 受信データフォーマットに関するフラグビットは , いつも「正しい」値を返し
ます。例えば , プログラマが動作モード 3(LIN モード ) 時に , パリティ設定しようと
しても PEN ビットは "0" を返します。
• 受信時 , シリアル制御レジスタ (SCR) のストップビット長選択ビット (SBL) が "1"
のとき , 2 番目のストップビットがチェックされます。
• 非同期モード時 , 5 回サンプリング機能を追加します。
• 専用ボーレートジェネレータの入力データと受信クロックを同期させるため, SEDGE
( スタートビット立下り検出 ) 信号が発生します。
• バージョン 2.0 対応のため , NRZ と RZ シグナルモードを追加します。
• ビット操作命令で, ADビットリードモディファイライト(RMW)系命令が 可能です。
LIN-UART は通常の UART と類似していますが , ソフトウェアの互換性はありません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
443
第 20 章 LIN-UART
20.11 LIN-UART の制限事項
20.11
MB91220 シリーズ
LIN-UART の制限事項
LIN-UART の制限事項を説明します。
■ 制限事項
• バスアイドル割込み許可ビット ECCR : BIE は予約ビットとして常に "0" を書き込む
か , LIN で使用する場合はマスタとして使用してください。
• モード 2 スレーブ送信時に TXE=1 の状態で UART リセットを行わないでください。
必ず EXT=0 の状態で UART をリセットしてください。
• LIN-UART のデータ転送において CPU によるプログラム転送の後に DMA 転送を行
うと余分な転送が発生しますので, DMA転送を開始する前にシリアルステータスレ
ジスタ (SSR) の送信イネーブルビット (TIE) および受信イネーブルビット (RIE) を
いったんディセーブル ("0" 書込み ) してから使用してください。
444
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 21 章
A/D コンバータ
A/D コンバータの概要 , レジスタの構成 / 機能およ
び A/D コンバータの動作について説明します。
CM71-10142-5
21.1
A/D コンバータの概要
21.2
A/D コンバータのレジスタ
21.3
A/D コンバータの動作
FUJITSU SEMICONDUCTOR LIMITED
445
第 21 章 A/D コンバータ
21.1 A/D コンバータの概要
21.1
MB91220 シリーズ
A/D コンバータの概要
A/D コンバータの特長およびブロックダイヤグラムを説明します。
■ A/D コンバータの概要
A/D コンバータには , RC 逐次比較変換方式でアナログ入力電圧を 10 ビットもしくは 8
ビットのデジタル値に変換する機能があります。入力信号は , 各アナログ入力端子から
選択し , 変換起動はソフトウェア , 内部クロック , 外部端子トリガの 3 種類から選択で
きます。
■ A/D コンバータの特長
A/D コンバータは , アナログ入力電圧をデジタル値に変換します。
A/D コンバータの特長は次のとおりです。
• 変換時間
1 チャネルあたり最小 3μs (16/32MHz の周辺クロック )
• サンプル & ホールド回路付き RC 型逐次比較変換方式を採用
• 10 ビットまたは 8 ビットの分解能
• アナログ入力は 24 チャネルからプログラムで選択
- シングル変換モード : 1 チャネルを選択変換
- スキャン変換モード : 連続した複数のチャネルを変換。最大 24 チャネルプログ
ラム可能
- 連続変換モード
: 指定チャネルを繰り返し変換
- 停止変換モード
: 指定チャネルを変換したら一時停止して次の起動がかか
るまで待機 ( 変換開始の同期が可能 )
• 割込み要求
A/D 変換終了時には , CPU に対して A/D 変換終了の割込み要求を発生させることが
できます。
• 起動要因を選択可能
起動要因には , ソフト , 外部トリガ ( 立下りエッジ ) またはタイマ ( 立上りエッジ ) が
あります。
446
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 21 章 A/D コンバータ
21.1 A/D コンバータの概要
MB91220 シリーズ
■ A/D コンバータのブロックダイヤグラム
図 21.1-1 に , A/D コンバータのブロックダイヤグラムを示します。
図 21.1-1 A/D コンバータのブロックダイヤグラム
MPX
AN0
AN1
AN2
AN3
AN4
AN5
AN6
AN7
AN8
AN9
AN10
AN11
AN12
AN13
AN14
AN15
AN16
AN17
AN18
AN19
AN20
AN21
AN22
AN23
AVCC
AVRH/AVRL
AVSS
D/Aコンバータ
逐次比較レジスタ
比較器
入
力
回
路
サンプル&
ホールド回路
内
部
デ
タ
バ
ス
デ
コ
データレジスタ
ダ
A/D制御レジスタ0
A/D制御レジスタ1
ATGX 端子
動作クロック
16ビット
リロードタイマ
プリスケーラ
CLKP
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
447
第 21 章 A/D コンバータ
21.1 A/D コンバータの概要
MB91220 シリーズ
■ 入力インピーダンス
A/D コンバータのサンプリング回路は次の等価回路で表されます。
図 21.1-2 入力インピーダンス
Rin
13.6kΩ(AVCC≧4.0V)
2.52kΩ(AVCC≧4.5V)
Rext
アナログ信号
ソース
ANx
アナログスイッチ
Cin:最大10.7pF
ADC
Rext はサンプリング時間(Tsamp)の最大時間を超えない値にしてください。
Rext = Tsamp/(7 × Cin) - Rin
448
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 21 章 A/D コンバータ
21.2 A/D コンバータのレジスタ
MB91220 シリーズ
A/D コンバータのレジスタ
21.2
A/D コンバータのレジスタを説明します。
■ A/D コンバータのレジスタ一覧
A/D コンバータには次のレジスタがあります。
• A/D コントロールステータスレジスタ
• データレジスタ
• サンプリングタイマ設定レジスタ
• 開始 / 終了チャネル設定レジスタ
図 21.2-1 A/D コンバータのレジスタ配置
bit15
bit8 bit7
bit0
ADCS1
ADCS0
ADCR1
ADCR0
ADCT1
ADCT0
ADSCH
ADECH
8 ビット
8 ビット
図 21.2-2 A/D コンバータのレジスタ
A/D コントロールステータスレジスタ上位 (ADCS1) ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
000154H
BUSY
INT
INTE
PAUS
STS1
STS0
STRT
予約
00000000B
R/W
R,W
R/W
R/W
R(RM0),W
R0,W0
R(RM1),W R(RM1),W
A/D コントロールステータスレジスタ下位 (ADCS0) ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
000155H
MD1
MD0
S10
ACH4
ACH3
ACH2
ACH1
ACH0
R/W
R/W
R/W
R,WX
R,WX
R,WX
R,WX
R,WX
初期値
00000000B
データレジスタ ( 上位 )(ADCR1) ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
000156H
−
−
−
−
−
−
D9
D8
------XXB
R,WX
R,WX
R0,WX R0,WX R0,WX R0,WX R0,WX R0,WX
データレジスタ ( 下位 )(ADCR0) ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000157H
D7
D6
D5
D4
D3
D2
D1
D0
XXXXXXXXB
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
( 続く )
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
449
第 21 章 A/D コンバータ
21.2 A/D コンバータのレジスタ
MB91220 シリーズ
( 続き )
A/D 変換時間設定レジスタ上位 (ADCT1) ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
000158H
CT5
CT4
CT3
CT2
CT1
CT0
ST9
ST8
00010000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
A/D 変換時間設定レジスタ下位 (ADCT0) ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000159H
ST7
ST6
ST5
ST4
ST3
ST2
ST1
ST0
00101100B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
A/D 開始チャネル設定レジスタ (ADSCH) ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
00015AH
−
−
−
ANS4
ANS3
ANS2
ANS1
ANS0
R/W
R/W
R/W
R/W
R/W
R0,WX R0,WX R0,WX
初期値
---00000B
A/D 終了チャネル設定レジスタ (ADECH) ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
00015BH
−
−
−
ANE4
ANE3
ANE2
ANE1
ANE0
R/W
R/W
R/W
R/W
R/W
R0,WX R0,WX R0,WX
初期値
---00000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
450
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 21 章 A/D コンバータ
21.2 A/D コンバータのレジスタ
MB91220 シリーズ
■ アナログ入力許可レジスタ
図 21.2-3 アナログ入力許可レジスタ
アナログ入力許可レジスタ
ADERH ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
000150H
ADE31
ADE30
ADE29
ADE28
ADE27
ADE26
ADE25
ADE24
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
000151H
ADE23
ADE22
ADE21
ADE20
ADE19
ADE18
ADE17
ADE16
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
11111111B
初期値
11111111B
ADERL ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
000152H
ADE15
ADE14
ADE13
ADE12
ADE11
ADE10
ADE9
ADE8
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
000153H
ADE7
ADE6
ADE5
ADE4
ADE3
ADE2
ADE1
ADE0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
11111111B
初期値
11111111B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
アナログ入力に使用される端子に対応する ADEx ビットに常に "1" を書き込んでくだ
さい。
アナログ入力に使用する端子は次のようにしてください。
• 0 : ポート入力 / 出力モード
• 1 : アナログ入力モード
• リセット時は "0" に初期化されます。
• 開始チャネル , 終了チャネルのアナログ入力許可レジスタには必ず "1" を書き込ん
でください。
• MB91220 シリーズのアナログチャネル数は 24 ですので , ADE31 ∼ ADE24 は意味を
持ちません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
451
第 21 章 A/D コンバータ
21.2 A/D コンバータのレジスタ
MB91220 シリーズ
■ A/D コントロールステータスレジスタ (ADCS1)
図 21.2-4 A/D コントロールステータスレジスタ (ADCS1)
A/D コントロールステータスレジスタ上位 (ADCS1) ( アクセス:Byte,Half-word,Word)
アドレス
000154H
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
BUSY
INT
INTE
PAUS
STS1
STS0
STRT
予約
00000000B
R/W
R,W
R/W
R/W
R(RM0),W
R0,W0
R(RM1),W R(RM1),W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。
)
A/D コントロールステータスレジスタ(ADCS1) は , A/Dコンバータの制御およびステー
タス表示を行います。
[bit15] BUSY (busy flag and stop)
• 読出し時 : A/D コンバータ動作表示用のビットです。
A/D 変換起動でセットされ最終チャネルの変換終了でクリアされま
す。
• 書込み時 : A/D 動作中に本ビットに "0" を書き込むと強制的に動作を停止しま
す。連続 , 停止モード時の強制終了に利用します。
動作表示用のビットに "1" を書き込むことはできません。リードモディファイライ
ト (RMW) 系命令では "1" が読み出されます。単発モードでは設定された最終チャ
ネルの A/D 変換終了でクリアされます。
連続 , 停止モードでは "0" 書込みで停止するまでクリアされません。
リセット時に本ビットは "0" に初期化されます。
強制終了とソフト起動を同時に行わないでください (BUSY=0, STRT=1)。
[bit14] INT (interrupt)
変換データが ADCR に書き込まれるとセットされます。
bit13 (INTE) が "1" のときに本ビットがセットされると割込み要求が発生します。
クリアは "0" 書込みで行われます。
( 注意事項 )
本ビットの "0" 書込みクリアは A/D 停止中に行ってください。
リセット時に本ビットは "0" に初期化されます。
DMA を使用した場合は DMA 転送終了時に本ビットがクリアされます。
[bit13] INTE (Interrupt enable)
本ビットは変換終了による割込みの許可・禁止を指定します。
• 0 : 割込みの禁止
• 1 : 割込みの許可
リセット時に本ビットは "0" に初期化されます。
[bit12] PAUS (A/D converter pause)
A/D 変換動作が一時的に停止した場合にセットされます。
452
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 21 章 A/D コンバータ
21.2 A/D コンバータのレジスタ
MB91220 シリーズ
A/D 変換結果を格納するレジスタが 1 つのため , 連続で変換した場合 , 変換結果を
DMA で転送しなければ前データが壊れてしまいます。
これを保護するためにデータレジスタの内容を DMA で転送しなければ , 次の変換
データが格納されないようになっています。この間 A/D 変換動作は停止します。
DMA で転送を終了すると A/D は変換を再開します。
このビットは DMA を使用したときのみ有効です。
• 本ビットのクリアは "0" 書込みでのみ可能です (DMA 転送終了ではクリアされま
せん )。ただし , DMA 転送待ち状態のときはクリアできません。
• 変換データの保護機能に関しては「21.3 A/D コンバータの動作」を参照してく
ださい。
• リセット時に本ビットは "0" に初期化されます。
[bit11, bit10] STS1, STS0 (Start source select)
リセット時に本ビット群は "00B" に初期化されます。
本ビットの設定により A/D 起動要因を選択します。
STS1
STS0
0
0
ソフト起動
0
1
外部端子トリガでの起動とソフト起動
1
0
16 ビットリロードタイマでの起動とソフト起動
1
1
外部端子トリガ , 16 ビットリロードタイマでの起動とソフト起動
機能
2 つ以上の起動要因が許されているモードでは最初に発生した原因により A/D 変換
が起動されます。
起動源の設定は書き換えられると直ちに変わりますので , A/D 変換中に書き換える
ときには注意してください。
• 外部端子トリガは立下りエッジを検出します。外部トリガ入力レベルが "L" のと
きに本ビットを書き換えて外部端子トリガ起動に設定すると A/D が起動する場
合があります。
• タイマ選択時は , 16 ビットリロードタイマ 2 が選択されます。
[bit9] STRT (Start)
本ビットに "1" を書き込むことにより A/D を起動 ( ソフト起動 ) します。
再起動をかけるときは , 再び "1" を書き込んでください。
リセット時に本ビットは "0" に初期化されます。
連続モード時および停止モード時は動作機能上 , 再起動はかかりません。"1" を書き
込む前に BUSY ビットをチェックしてください (BUSY ビットをクリアしてから起
動してください )。
強制終了とソフト起動を同時に行わないでください (BUSY=0, STRT=1)。
[bit8] 予約ビット
本ビットには常に "0" を書き込んでください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
453
第 21 章 A/D コンバータ
21.2 A/D コンバータのレジスタ
MB91220 シリーズ
■ A/D コントロールステータスレジスタ (ADCS0)
図 21.2-5 A/D コントロールステータスレジスタ (ADCS0)
A/D コントロールステータスレジスタ下位 (ADCS0) ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
000155H
MD1
MD0
S10
ACH4
ACH3
ACH2
ACH1
ACH0
R/W
R/W
R/W
R,WX
R,WX
R,WX
R,WX
R,WX
初期値
00000000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
A/D コントロールステータスレジスタ(ADCS0) は , A/Dコンバータの制御およびステー
タス表示を行います。ADCS0 は A/D 変換動作中に書き換えないようにしてください。
[bit7, bit6] MD1, MD0 (A/D converter mode set)
MD1, MD0 ビットは , 動作モードを設定します。
MD1
MD0
0
0
単発モード : 動作中の再起動はすべて可能
0
1
単発モード : 動作中の再起動不可能
1
0
連続モード : 動作中の再起動不可能
1
1
停止モード : 動作中の再起動不可能
動作モード
( 注意事項 )
A/D 変換モード選択ビット (MD1, MD0) を "00B" に設定した場合は , A/D 変換中
の再起動ができます。このモードではソフトウェア起動 (STS1, STS0=00B) のみ
設定可能です。再起動は下記の手順で行ってください。
1. INT ビットを "0" にクリアする
2. STRT ビットに "1" を , INT ビットに "0" を同時に書き込む
• 単発モード
ANS4 ∼ ANS0 の設定チャネルから ANE4 ∼ ANE0 の設定チャネルまで A/D 変
換を連続して行いすべてのチャネルの変換が終了したら停止します。
• 連続モード
ANS4 ∼ ANS0 の設定チャネルから ANE4 ∼ ANE0 の設定チャネルまで A/D 変
換を繰り返し行います。
• 停止モード
ANS4 ∼ ANS0 の設定チャネルから ANE4 ∼ ANE0 の設定チャネルまで 1 チャネ
ルごとに A/D 変換を行い一時停止します。変換再開は起動要因発生によって行
われます。
リセット時には本ビット群は "00B" に初期化されます。
• 連続モード , 停止モードで A/D 変換を起動すると , BUSY ビットで強制終了する
まで変換動作を続けます。
• 強制終了は BUSY ビットに "0" を書き込むことにより行われます。
• 強制終了後の起動時は ANS4 ∼ ANS0 の設定チャネルから変換されます。
454
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 21 章 A/D コンバータ
21.2 A/D コンバータのレジスタ
MB91220 シリーズ
• 単発 , 連続 , 停止の各モードでの再起動不可能はタイマ , 外部トリガ , ソフトすべ
ての起動に適用されます。
[bit5] S10
• 本ビットは変換の分解能を指定します。"0" にセットされると 10 ビットの A/D
変換が行われます。そのほかの場合には 8 ビットの A/D 変換が行われてその結
果は ADCR0 に記憶されます。
• リセット時に本ビットは "0" に初期化されます。
[bit4 ∼ bit0] ACH4 ∼ ACH0 (Analog convert select channel)
本ビット群より現在 A/D 変換中のチャネルを表します。
ACH4
ACH3
ACH2
ACH1
ACH0
変換チャネル
0
0
0
0
0
AN0
0
0
0
0
1
AN1
0
0
0
1
0
AN2
0
0
0
1
1
AN3
0
0
1
0
0
AN4
0
0
1
0
1
AN5
0
0
1
1
0
AN6
0
0
1
1
1
AN7
0
1
0
0
0
AN8
0
1
0
0
1
AN9
0
1
0
1
0
AN10
0
1
0
1
1
AN11
0
1
1
0
0
AN12
0
1
1
0
1
AN13
0
1
1
1
0
AN14
0
1
1
1
1
AN15
1
0
0
0
0
AN16
1
0
0
0
1
AN17
1
0
0
1
0
AN18
1
0
0
1
1
AN19
1
0
1
0
0
AN20
1
0
1
0
1
AN21
1
0
1
1
0
AN22
1
0
1
1
1
AN23
• 読出し時
A/D 変換 (BUSY ビット= 1) の間 , 現在の変換チャネルを本ビット群で表します。
強制終了 (BUSY ビット= 0) により停止した場合は変換が停止されたチャネルを
表します。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
455
第 21 章 A/D コンバータ
21.2 A/D コンバータのレジスタ
MB91220 シリーズ
• 書込み時
本ビット群への書込みは無効です。
• リセット時に本ビット群は "00000B" に初期化されます。
■ データレジスタ (ADCR0, ADCR1)
図 21.2-6 データレジスタ (ADCR0, ADCR1)
データレジスタ上位 (ADCR1) ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
000156H
−
−
−
−
−
−
D9
D8
------XXB
R,WX
R,WX
bit1
bit0
初期値
XXXXXXXXB
R0,WX R0,WX R0,WX R0,WX R0,WX R0,WX
データレジスタ下位 (ADCR0) ( アクセス:Byte,Half-word,Word)
アドレス
000157H
bit7
bit6
bit5
bit4
bit3
bit2
D7
D6
D5
D4
D3
D2
D1
D0
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
データレジスタ (ADCR0, ADCR1) は , 変換の結果として生成されたデジタル値を記憶
するために使用されるものです。
ADCR0 は下位 8 ビットを記憶し , ADCR1 は変換結果の最上位の 2 ビットを記憶しま
す。これらのレジスタ値は変換が完了するたびに書き換えられます。通常は最後の変
換値が本ビット群に記憶されます。
ADCR1 の bit10 ∼ bit15 からは常に "0" が読み出されます。
変換データの保護機能を利用できます (「21.3 A/D コンバータの動作」を参照してく
ださい )。
456
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 21 章 A/D コンバータ
21.2 A/D コンバータのレジスタ
MB91220 シリーズ
■ A/D 変換時間設定レジスタ (ADCT0, ADCT1)
図 21.2-7 A/D 変換時間設定レジスタ (ADCT0, ADCT1)
A/D 変換時間設定レジスタ上位 (ADCT1) ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
000158H
CT5
CT4
CT3
CT2
CT1
CT0
ST9
ST8
00010000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
A/D 変換時間設定レジスタ下位 (ADCT0) ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000159H
ST7
ST6
ST5
ST4
ST3
ST2
ST1
ST0
00101100B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
A/D 変換時間設定レジスタ (ADCT0, ADCT1) はアナログ入力のサンプリング時間およ
び比較時間を制御します。本レジスタの設定で A/D の変換時間を設定します。
ADCT0, ADCT1 は A/D 変換動作中に書き換えないでください。
[bit15 ∼ bit10] CT5 ∼ CT0 (A/D compare time set)
• 本ビット群の設定により比較操作時間のクロック分周値を指定します。
• CT5 ∼ CT0 の設定を "000001B"(01H) にすると分周なし (=CLKP) になります。
• CT5 ∼ CT0 の設定を "000000B"(00H) にしないでください。
• リセットにより本ビット群は "000100B"(04H) に初期化されます。
比較操作時間 (Compare Time) = CT 設定値× CLKP 周期× 10 + 4CLKP 周期
( 注意事項 )
比較操作時間が 500μs を超えないように設定してください。
[bit9 ∼ bit0] ST9 ∼ ST0 (Analog input sampling time set)
• 本ビット群の設定によりアナログ入力のサンプリング時間を指定します。
• リセットにより本ビット群は "0000101100B"(02CH) に初期化されます。
サンプリング時間 (Sampling Time) = ST 設定値× CLKP 周期
( 注意事項 )
サンプリング時間を 1.375μs 以下にしないでください。
• 必要サンプリング時間および ST 設定時間の算出は以下の計算で行ってください。
必要サンプリング時間 (Tsamp) = (Rext + Rin) × Cin × 7
ST9 ∼ ST0 設定値=必要サンプリング時間 (Tsamp) ÷ CLKP 周期
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
457
第 21 章 A/D コンバータ
21.2 A/D コンバータのレジスタ
MB91220 シリーズ
• ST の設定値は A/D のサンプリング時間が必要サンプリング時間以上になるよう
に設定してください。
例 : クロック 32MHz, AVCC = 4.5V 以上 , Rext = 200kΩ の場合
Tsamp = (200 × 103 + 2.52 × 103) × 10.7 × 10-12 × 7 = 約 15.17μs
= 15.17-6 ÷ 31.25-9 = 485.44
ST
= 486(1E6H) 以上を設定してください。
• Rextの値により必要サンプリング時間が決まりますので変換時間を考慮してRext
を決定してください。
• ST9 ∼ ST0 へ以下の値を設定することは禁止です。3 以上の値を設定してくださ
い。
"0000000010"(02H), "0000000001"(01H), "0000000000"(00H)
■ 推奨設定値
最適な変換時間を達成するために , 以下の設定を推奨します。
(AVCC ≧ 4.5V, Rext ≦ 15kΩ)
CLKP (MHz)
比較操作時間
(CT5 ∼ CT0)
サンプリング時間
(ST9 ∼ ST0)
変換時間 (ms)
16
000010B(02H)
0000010110B(016H)
1.375 + 1.500 = 2.875
32
000100B(04H)
0000101100B(02CH)
1.375 + 1.375 = 2.750
■ A/D 開始 / 終了チャネル設定レジスタ (ADSCH, ADECH)
図 21.2-8 A/D 開始 / 終了チャネル設定レジスタ (ADSCH, ADECH)
A/D 開始チャネル設定レジスタ (ADSCH) ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
00015AH
−
−
−
ANS4
ANS3
ANS2
ANS1
ANS0
R/W
R/W
R/W
R/W
R/W
R0,WX R0,WX R0,WX
初期値
---00000B
A/D 終了チャネル設定レジスタ (ADECH) ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
00015BH
−
−
−
ANE4
ANE3
ANE2
ANE1
ANE0
R/W
R/W
R/W
R/W
R/W
R0,WX R0,WX R0,WX
初期値
---00000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
A/D 変換の開始チャネルと終了チャネルの設定レジスタです。
ADCSH, ADCEH は A/D 変換中に書き換えないでください。
• 本ビット群より A/D 変換の開始チャネルと終了チャネルを設定します。
• 同一のチャネルが ANS4 ∼ ANS0 および ANE4 ∼ ANE0 に書き込まれると , 変換は
1 つのチャネルに対してのみ行われます ( シングル変換 )。
458
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 21 章 A/D コンバータ
21.2 A/D コンバータのレジスタ
MB91220 シリーズ
• 連続モード , 停止モードを設定している場合は本ビット群で設定されたチャネルの
変換が終わると ANS4 ∼ ANS0 で設定された開始チャネルに戻ります。
• 設定チャネルが ANS > ANE の場合は ANS から変換が始まり 23 チャネルまで変換
したら 0 チャネルに戻り ANE まで変換します。
• リセットにより本ビット群は ANS=00000B, ANE=00000B に初期化されます。
例 : チャネル設定 ANS=6 チャネル , ANE=3 チャネルで単発モードのとき変換は次
の順序で行われます。
6 チャネル → 7 チャネル → 8 チャネル → ••• → 23 チャネル → 0 チャネル →
1 チャネル → 2 チャネル → 3 チャネル
[bit12 ∼ bit8] ANS4 ∼ ANS0 ( アナログ変換開始チャネル )
[bit4 ∼ bit0] ANE4 ∼ ANE0 ( アナログ変換終了チャネル )
CM71-10142-5
ANS4
ANE4
ANS3
ANE3
ANS2
ANE2
ANS1
ANE1
ANS0
ANE0
開始 / 終了チャネル
0
0
0
0
0
AN0
0
0
0
0
1
AN1
0
0
0
1
0
AN2
0
0
0
1
1
AN3
0
0
1
0
0
AN4
0
0
1
0
1
AN5
0
0
1
1
0
AN6
0
0
1
1
1
AN7
0
1
0
0
0
AN8
0
1
0
0
1
AN9
0
1
0
1
0
AN10
0
1
0
1
1
AN11
0
1
1
0
0
AN12
0
1
1
0
1
AN13
0
1
1
1
0
AN14
0
1
1
1
1
AN15
1
0
0
0
0
AN16
1
0
0
0
1
AN17
1
0
0
1
0
AN18
1
0
0
1
1
AN19
1
0
1
0
0
AN20
1
0
1
0
1
AN21
1
0
1
1
0
AN22
1
0
1
1
1
AN23
1
1
X
X
X
設定禁止
FUJITSU SEMICONDUCTOR LIMITED
459
第 21 章 A/D コンバータ
21.3 A/D コンバータの動作
21.3
MB91220 シリーズ
A/D コンバータの動作
A/D コンバータの動作を説明します。
■ A/D コンバータの動作
A/D コンバータは逐次比較方式で作動し , 分解能は 10 ビットまたは 8 ビットを選択す
ることができます。
この A/D コンバータは変換結果記憶用のレジスタが 1 つ (16 ビット ) であるため , 変換
データレジスタ (ADCR0 および ADCR1) は変換が完了するたびに書き換えられます。
このため , A/D コンバータ単独では連続変換処理には適しませんので DMA を使って変
換データをメモリに転送しながら変換することを推奨します。動作モードを次に説明
します。
■ 単発モード
単発モードは , ANS ビットと ANE ビットで設定されたアナログ入力を順に変換してい
き ANE ビットで設定された終了チャネルまで変換が終わると A/D は動作を停止しま
す。開始チャネルと終了チャネルが同じとき (ANS = ANE) は一方のチャネルのみの変
換動作になります。
[例]
• ANS = 00000B, ANE = 00011B
開始 → AN0 → AN1 → AN2 → AN3 → 終了
• ANS = 00010B, ANE = 00010B
開始 → AN2 → 終了
■ 連続モード
連続モードは , ANS ビットと ANE ビットで設定されたアナログ入力を順に変換してい
き ANE ビットで設定された終了チャネルまで変換が終わると ANS のアナログ入力に
戻り変換動作を続けます。開始チャネルと終了チャネルが同じとき (ANS = ANE) は一
方のチャネルのみの変換を続けます。
[例]
• ANS = 00000B, ANE = 00011B
開始 → AN0 → AN1 → AN2 → AN3 → AN0 −−→ 繰返し
• ANS = 010B, ANE = 010B
開始 → AN2 → AN2 → AN2 −−→ 繰返し
連続モードで変換させると BUSY ビットに "0" を書き込むまで変換を繰り返し続けま
す (BUSY ビットに "0" を書き込む→強制終了 )。強制終了を行うと変換中のものは途
中で止まってしまうため , 注意してください ( 強制終了した場合は変換レジスタは変換
完了した前データが格納されています )。
460
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 21 章 A/D コンバータ
21.3 A/D コンバータの動作
MB91220 シリーズ
■ 停止モード
停止モードは , ANS ビットと ANE ビットで設定されたアナログ入力を順に変換してい
きますが 1 チャネル変換するたびに変換動作を一時停止します。一時停止を解除する
にはもう一度起動を行ってください。
ANE ビットで設定された終了チャネルまで変換が終わると ANS のアナログ入力に戻
り変換動作を続けます。開始チャネルと終了チャネルが同じ (ANS=ANE) であれば変
換は一方のチャネルに対してのみ実行されます。
[例]
• ANS = 00000B, ANE = 00011B
開始 → AN0 → 停止 → 起動 → AN1 → 停止 → 起動 → AN2 → 停止
→ 起動 → AN3 → 停止 → 起動 → AN0 −−→繰返し
• ANS = 010B, ANE = 010B
開始 → AN2 → 停止 → 起動 → AN2 → 停止 → 起動 → AN2 −−→
→ 繰返し
このときの起動要因は STS1, STS0 で設定されたものだけです。
このモードを使用することにより変換開始の同期をかけることが可能です。
<注意事項>
A/D 変換モード選択ビット (MD1, MD0) を "00B" に設定した場合は , A/D 変換中の再起動
ができます。このモードではソフトウェア起動 (STS1, STS0=00B) のみ設定可能です。再
起動は下記の手順で行ってください。
1. INT ビットを "0" にクリアする
2. STRT ビットに "1" を , INT ビットに "0" を同時に書き込む
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
461
第 21 章 A/D コンバータ
21.3 A/D コンバータの動作
462
MB91220 シリーズ
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章
CAN
CAN の機能と動作について説明します。
CM71-10142-5
22.1
CAN の特長
22.2
CAN のブロックダイヤグラム
22.3
CAN のレジスタ
22.4
CAN レジスタ機能
22.5
CAN 機能
FUJITSU SEMICONDUCTOR LIMITED
463
第 22 章 CAN
22.1 CAN の特長
22.1
MB91220 シリーズ
CAN の特長
CAN は , シリアル通信用の標準プロトコルである CAN プロトコル ver2.0A/B に準
拠しており , 自動車や FA 等の工業分野に広く使用されています。
■ CAN の特長
CAN には以下の特長があります。
• CAN プロトコル ver2.0A/B をサポート
• 1 Mbps までのビットレートをサポート
• メッセージオブジェクトごとの識別マスク
• プログラマブル FIFO モードをサポート
• マスク可能な割込み
• 自己テスト動作用プログラマブルループバックモードをサポート
• インタフェースレジスタを使用してメッセージバッファへのリード・ライト
464
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.2 CAN のブロックダイヤグラム
MB91220 シリーズ
22.2
CAN のブロックダイヤグラム
図 22.2-1 に , CAN のブロックダイヤグラムを示します。
■ CAN のブロックダイヤグラム
図 22.2-1 CAN のブロックダイヤグラム
■ CAN コントローラ
CAN プロトコルと送受信メッセージ転送のためのシリアル/パラレル変換用のシリア
ルレジスタを制御します。
■ メッセージ RAM
メッセージオブジェクトを格納します。
■ メッセージハンドラ
メッセージ RAM と CAN コントローラを制御します。
■ CPU インタフェース
FR 内部バスのインタフェースを制御します。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
465
第 22 章 CAN
22.3 CAN のレジスタ
22.3
MB91220 シリーズ
CAN のレジスタ
CAN には , 以下のレジスタがあります。
• CAN 制御レジスタ (CTRLR)
• CAN ステータスレジスタ (STATR)
• CAN エラーカウンタ (ERRCNT)
• CAN ビットタイミングレジスタ (BTR)
• CAN 割込みレジスタ (INTR)
• CAN テストレジスタ (TESTR)
• CAN プリスケーラ拡張レジスタ (BRPER)
• IFx コマンド要求レジスタ (IFxCREQ)
• IFx コマンドマスクレジスタ (IFxCMSK)
• IFx マスクレジスタ 1, 2(IFxMSK1, IFxMSK2)
• IFx アービトレーション 1, 2(IFxARB1, IFxARB2)
• IFx メッセージ制御レジスタ (IFxMCTR)(IFxMCTR)
• IFx データレジスタ A1, A2, B1, B2(IFxDTA1, IFxDTA2, IFxDTB1, IFxDTB2)
• CAN 送信要求レジスタ 1, 2(TREQR1, TREQR2)
• CAN New Data レジスタ 1, 2(NEWDT1, NEWDT2)
• CAN 割込みペンディングレジスタ 1, 2(INTPND1, INTPND2)
• CAN メッセージ有効レジスタ 1, 2(MSGVAL1, MSGVAL2)
• CAN クロックプリスケーラレジスタ (CANPRE)
466
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.3 CAN のレジスタ
MB91220 シリーズ
■ 全体コントロールレジスタ一覧
表 22.3-1 全体コントロールレジスタ一覧
レジスタ
アドレス
備考
+0
+1
CAN 制御レジスタ
(CTRLR)
Base-addr + 00H
CAN ステータスレジスタ
(STATR)
bit[7:0]
bit[15:8]
bit[7:0]
予約ビット
CTRLR 参照
予約ビット
STATR 参照
Reset: 00H
Reset: 01H
Reset: 00H
Reset: 00H
bit[15:8]
CAN ビットタイミング
レジスタ (BTR)
bit[7:0]
bit[15:8]
bit[7:0]
RP, REC[6:0]
TEC[7:0]
TSeg2[2:0],
TSeg1[3:0]
SJW[1:0],
BRP[5:0]
Reset: 00H
Reset: 00H
Reset: 23H
Reset: 01H
CAN 割込みレジスタ
(INTR)
Base-addr + 08H
CAN テストレジスタ
(TESTR)
bit[15:8]
bit[7:0]
bit[15:8]
bit[7:0]
IntId[15:8]
IntId[7:0]
予約ビット
TESTR 参照
Reset: 00H
Reset: 00H
Reset: 00H
Reset: 00H &
0br0000000
CAN プリスケーラ拡張レジスタ
(BRPER)
Base-addr + 0CH
+3
bit[15:8]
CAN エラーカウンタ
(ERRCNT)
Base-addr + 04H
+2
STATR:
BOff,
EWarn,EPass=Read
Only
RxOk,TxOk,LEC=
Read/Write
ERRCNT: Read
Only
BTR:
Init(CTLR)=CCE
(CTRLR)=1 時
Write 可能。
INTR: Read Only
TESTR:
Test(CTRLR)=1 時
Write 可能。
"Rx" は CAN_RX
端子のレベル値を
示す。
予約ビット
bit[15:8]
bit[7:0]
bit[15:8]
bit[7:0]
予約ビット
BRP[3:0]
-
-
Reset: 00H
Reset: 00H
Reset: 00H
Reset: 00H
BRP:
CCE(CTLR)=1 時
Write 可能。
Base-addr は以下のとおりです。
• CAN0(ch.0) : 00020000H
• CAN1(ch.1) : 00020100H
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
467
第 22 章 CAN
22.3 CAN のレジスタ
MB91220 シリーズ
■ メッセージインタフェースレジスタ一覧
表 22.3-2 メッセージインタフェースレジスタ一覧 (1 / 3)
レジスタ
アドレス
備考
+0
+1
IF 1 コマンド要求レジスタ
(IF1CREQ)
Base-addr + 10H
+2
+3
IF1 コマンドマスクレジスタ
(IF1CMSK)
bit[15:8]
bit[7:0]
bit[15:8]
bit[7:0]
Busy
Mess. No. [5:0]
予約ビット
IF1CMSK 参照
Reset: 00H
Reset: 01H
Reset: 00H
Reset: 00H
IF1 マスクレジスタ 2
(IF1CMSK2)
IF1 マスクレジスタ 1
(IF1CMSK1)
bit[15:8]
bit[7:0]
bit[15:8]
bit[7:0]
MXtd. MDir,
Msk[28:24]
Msk[23:16]
Msk[15:8]
Msk[7:0]
Reset: FFH
Reset: FFH
Reset: FFH
Reset: FFH
Base-addr + 14H
IF1 アービトレーションレジスタ 2 IF1 アービトレーションレジスタ 1
(IF1ARB2)
(IF1ARB1)
bit[15:8]
bit[7:0]
bit[15:8]
bit[7:0]
MsgVal, Xtd,
Dir,ID[28:24]
ID[23:16]
ID[15:8]
ID[7:0]
Reset: 00H
Reset: 00H
Reset: 00H
Reset: 00H
Base-addr + 18H
IF1 メッセージコントロールレジスタ
(IF1MCTR)
Base-addr + 1CH
Base-addr + 20H
bit[15:8]
bit[7:0]
bit[15:8]
bit[7:0]
IF1MCTR 参照
IF1MCTR 参照
-
-
Reset: 00H
Reset: 00H
Reset: 00H
Reset: 00H
IF1 データ A レジスタ 1
(IF1DTA1)
IF1 データ A レジスタ 2
(IF1DTA2)
bit[7:0]
bit[15:8]
bit[7:0]
bit[15:8]
Data[0]
Data[1]
Data[2]
Data[3]
Reset: 00H
Reset: 00H
Reset: 00H
Reset: 00H
IF1 データ B レジスタ 1
(IF1DTB1)
Base-addr + 24H
468
予約ビット
バイト配列順序 :
Big Endian
IF1 データ B レジスタ 2
(IF1DTB2)
bit[7:0]
bit[15:8]
bit[7:0]
bit[15:8]
Data[4]
Data[5]
Data[6]
Data[7]
Reset: 00H
Reset: 00H
Reset: 00H
Reset: 00H
FUJITSU SEMICONDUCTOR LIMITED
バイト配列順序 :
Big Endian
CM71-10142-5
第 22 章 CAN
22.3 CAN のレジスタ
MB91220 シリーズ
表 22.3-2 メッセージインタフェースレジスタ一覧 (2 / 3)
レジスタ
アドレス
備考
+0
+1
IF1 データ A レジスタ 2
(IF1DTA2)
Base-addr + 30H
bit[15:8]
bit[7:0]
Data[3]
Data[2]
Data[1]
Data[0]
Reset: 00H
Reset: 00H
Reset: 00H
Reset: 00H
バイト配列順序 :
Little Endian
IF1 データ B レジスタ 1
(IF1DTB1)
bit[15:8]
bit[7:0]
bit[15:8]
bit[7:0]
Data[7]
Data[6]
Data[5]
Data[4]
Reset: 00H
Reset: 00H
Reset: 00H
Reset: 00H
バイト配列順序 :
Little Endian
IF2 コマンドマスクレジスタ
(IF2CMSK)
bit[15:8]
bit[7:0]
bit[15:8]
bit[7:0]
Busy
Mess. No. [5:0]
予約ビット
IF2CMSK 参照
Reset: 00H
Reset: 01H
Reset: 00H
Reset: 00H
IF2 マスクレジスタ 2
(IF2CMSK2)
Base-addr + 44H
IF1 データ A レジスタ 1
(IF1DTA1)
bit[7:0]
IF2 コマンド要求レジスタ
(IF2CREQ)
Base-addr + 40H
+3
bit[15:8]
IF1 データ B レジスタ 2
(IF1DTB2)
Base-addr + 34H
+2
IF2 マスクレジスタ 1
(IF2CMSK1)
bit[15:8]
bit[7:0]
bit[15:8]
bit[7:0]
MXtd. MDir,
Msk[28:24]
Msk[23:16]
Msk[15:8]
Msk[7:0]
Reset: FFH
Reset: FFH
Reset: FFH
Reset: FFH
IF2 アービトレーションレジスタ 2 IF2 アービトレーションレジスタ 1
(IF2ARB2)
(IF2ARB1)
bit[15:8]
bit[7:0]
bit[15:8]
bit[7:0]
MsgVal, Xtd,
Dir,ID[28:24]
ID[23:16]
ID[15:8]
ID[7:0]
Reset: 00H
Reset: 00H
Reset: 00H
Reset: 00H
Base-addr + 48H
IF2 メッセージコントロールレジスタ
(IF2MCTR)
Base-addr + 4CH
CM71-10142-5
予約ビット
bit[15:8]
bit[7:0]
bit[7:0]
bit[15:8]
IF2MCTR 参照
IF2MCTR 参照
-
-
Reset: 00H
Reset: 00H
Reset: 00H
Reset: 00H
FUJITSU SEMICONDUCTOR LIMITED
469
第 22 章 CAN
22.3 CAN のレジスタ
MB91220 シリーズ
表 22.3-2 メッセージインタフェースレジスタ一覧 (3 / 3)
レジスタ
アドレス
備考
+0
Base-addr + 50H
+1
IF2 データ A レジスタ 2
(IF2DTA2)
bit[7:0]
bit[15:8]
bit[7:0]
bit[15:8]
Data[0]
Data[1]
Data[2]
Data[3]
Reset: 00H
Reset: 00H
Reset: 00H
Reset: 00H
bit[15:8]
bit[7:0]
bit[15:8]
Data[4]
Data[5]
Data[6]
Data[7]
Reset: 00H
Reset: 00H
Reset: 00H
Reset: 00H
Base-addr + 64H
バイト配列順序 :
Big Endian
IF2 データ A レジスタ 1
(IF2DTA1)
bit[15:8]
bit[7:0]
bit[15:8]
bit[7:0]
Data[3]
Data[2]
Data[1]
Data[0]
Reset: 00H
Reset: 00H
Reset: 00H
Reset: 00H
IF2 データ B レジスタ 2
(IF2DTB2)
バイト配列順序 :
Big Endian
IF2 データ B レジスタ 2
(IF2DTB2)
bit[7:0]
IF2 データ A レジスタ 2
(IF2DTA2)
Base-addr + 60H
+3
IF2 データ A レジスタ 1
(IF2DTA1)
IF2 データ B レジスタ 1
(IF2DTB1)
Base-addr + 54H
+2
バイト配列順序 :
Little Endian
IF2 データ B レジスタ 1
(IF2DTB1)
bit[15:8]
bit[7:0]
bit[15:8]
bit[7:0]
Data[7]
Data[6]
Data[5]
Data[4]
Reset: 00H
Reset: 00H
Reset: 00H
Reset: 00H
バイト配列順序 :
Little Endian
Base-addr は以下のとおりです。
• CAN0(ch.0) : 00020000H
• CAN1(ch.1) : 00020100H
470
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.3 CAN のレジスタ
MB91220 シリーズ
■ メッセージハンドラレジスタ一覧
表 22.3-3 メッセージハンドラレジスタ一覧
レジスタ
アドレス
備考
+0
Base-addr + 80H
Base-addr + 84H
Base-addr + 90H
Base-addr + 94H
+1
+2
+3
CAN 送信要求レジスタ 2
(TREQR2)
CAN 送信要求レジスタ 1
(TREQR1)
bit[15:8]
bit[7:0]
bit[15:8]
bit[7:0]
TxRqst[32-25]
TxRqst[24-17]
TxRqst[16-9]
TxRqst[8-1]
Reset: 00H
Reset: 00H
Reset: 00H
Reset: 00H
INTR1,2: Read Only
32 メッセージバッファ以上をサポートするための予約領域
(CAN 送信要求レジスタ (TREQR1, TREQR2) 参照 )
CAN New Data レジスタ 2
(NEWDT2)
CAN New Data レジスタ 1
(NEWDT1)
bit[15:8]
bit[7:0]
bit[15:8]
bit[7:0]
NewDat[32-25]
NewDat[24-17]
NewData[16-9]
NewData[8-1]
Reset: 00H
Reset: 00H
Reset: 00H
Reset: 00H
NEWDT1,2: Read
Only
32 メッセージバッファ以上をサポートするための予約領域
(CAN データ更新レジスタ (NEWDT1, NEWDT2) 参照 )
CAN 割込みペンディングレジスタ 2 CAN 割込みペンディングレジスタ 1
(INTPND2)
(INTPND1)
Base-addr + A0H
Base-addr + A4H
bit[15:8]
bit[7:0]
bit[15:8]
bit[7:0]
IntPnd[32-25]
IntPnd[24-17]
IntPnd[16-9]
IntPnd[8-1]
Reset: 00H
Reset: 00H
Reset: 00H
Reset: 00H
32 メッセージバッファ以上をサポートするための予約領域
(CAN 割込みペンディングレジスタ (INTPND1, INTPND2) 参照 )
CAN メッセージ有効レジスタ 2
(MSGVAL2)
Base-addr + B0H
Base-addr + B4H
INTPND1,2: Read
Only
CAN メッセージ有効レジスタ 1
(MSGVAL1)
bit[15:8]
bit[7:0]
bit[15:8]
bit[7:0]
MsgVal[32-25]
MsgVal[24-17]
MsgVal[16-9]
MsgVal[8-1]
Reset: 00H
Reset: 00H
Reset: 00H
Reset: 00H
MSGVAL1,2: Read
Only
32 メッセージバッファ以上をサポートするための予約領域
(CAN メッセージ有効レジスタ (MSGVAL1, MSGVAL2) 参照 )
Base-addr は以下のとおりです。
• CAN0(ch.0) : 00020000H
• CAN1(ch.1) : 00020100H
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
471
第 22 章 CAN
22.3 CAN のレジスタ
MB91220 シリーズ
■ クロックプリスケーラレジスタ
表 22.3-4 クロックプリスケーラレジスタ
レジスタ
アドレス
00_01A8H
472
備考
+0
+1
+2
+3
CANPRE
-
-
-
bit[3:0]
-
-
-
CANPRE[3:0]
-
-
-
Reset: 00H
-
-
-
FUJITSU SEMICONDUCTOR LIMITED
CAN Prescaler
CM71-10142-5
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
22.4
CAN レジスタ機能
CAN レジスタは , 256 バイト (64 ワード ) のアドレス空間が割り当てられ , バイトも
しくはワードのアクセスが可能です。メッセージ RAM への CPU のアクセスは ,
メッセージインタフェースレジスタを介して行います。
CAN レジスタを掲載し , それぞれのレジスタの詳細機能を記載します。
■ 全体コントロールレジスタ
• CAN 制御レジスタ (CTRLR)
• CAN ステータスレジスタ (STATR)
• CAN エラーカウンタ (ERRCNT)
• CAN ビットタイミングレジスタ (BTR)
• CAN 割込みレジスタ (INTR)
• CAN テストレジスタ (TESTR)
• CAN プリスケーラ拡張レジスタ (BRPER)
■ メッセージインタフェースレジスタ
• IFx コマンド要求レジスタ (IFxCREQ)
• IFx コマンドマスクレジスタ (IFxCMSK)
• IFx マスクレジスタ 1, 2(IFxMSK1, IFxMSK2)
• IFx アービトレーションレジスタ 1, 2(IFxARB1, IFxARB2)
• IFx メッセージ制御レジスタ (IFxMCTR)
• IFx データレジスタ A1, A2, B1, B2(IFxDTA1, IFxDTA2, IFxDTB1, IFxDTB2)
■ メッセージハンドラレジスタ
• CAN 送信要求レジスタ 1, 2(TREQR1, TREQR2)
• CAN データ更新レジスタ 1, 2(NEWDT1, NEWDT2)
• CAN 割込みペンディングレジスタ 1, 2(INTPND1, INTPND2)
• CAN メッセージ有効レジスタ 1, 2(MSGVAL1, MSGVAL2)
■ プリスケーラレジスタ
• CAN クロックプリスケーラレジスタ (CANPRE)
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
473
第 22 章 CAN
22.4 CAN レジスタ機能
22.4.1
MB91220 シリーズ
全体コントロールレジスタ
全体コントロールレジスタは , CAN プロトコル制御および動作モードを制御し , ス
テータス情報を提供します。
■ 全体コントロールレジスタ
• CAN 制御レジスタ (CTRLR)
• CAN ステータスレジスタ (STATR)
• CAN エラーカウンタ (ERRCNT)
• CAN ビットタイミングレジスタ (BTR)
• CAN 割込みレジスタ (INTR)
• CAN テストレジスタ (TESTR)
• CAN プリスケーラ拡張レジスタ (BRPER)
■ CAN 制御レジスタ (CTRLR)
CAN コントローラの動作モードを制御します。
図 22.4-1 CAN 制御レジスタ (CTRLR) のビット構成
CAN 制御レジスタ ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
Base+00H
予約
R0,W0
予約
R0,W0
予約
R0,W0
予約
R0,W0
予約
R0,W0
予約
R0,W0
予約
R0,W0
予約
R0,W0
bit1
bit0
初期値
00000001B
00000000B
CAN 制御レジスタ ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
Base+01H
bit7
bit6
bit5
bit4
bit3
bit2
Test
CCE
DAR
SIE
IE
Init
R/W
R/W
予約
R0,W0
EIE
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit15 ∼ bit8] : 予約ビット
常に "0" が読み出されます。書込みは "0" を設定してください。
[bit7] : テストモード許可ビット
Test
474
機能
0
通常動作
1
テストモード
[ 初期値 ]
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
[bit6] : ビットタイミングレジスタ書込み許可ビット
CCE
機能
0
CAN ビットタイミングレジスタ (BTR) および CAN プリスケーラ拡
張レジスタ (BRPER) への書込みを禁止します。[ 初期値 ]
1
CAN ビットタイミングレジスタ (BTR) および CAN プリスケーラ拡
張レジスタ (BRPER) への書込みを許可します。Init ビットが "1" の
ときに有効です。
[bit5] : 自動再送禁止ビット
DAR
機能
0
調停負けまたはエラー検出時のメッセージの自動再送を許可しま
す。[ 初期値 ]
1
自動再送を禁止します。
CAN コントローラは調停負けあるいは転送中のエラー検出によりフレームの自動
再送を行います。
自動再送する場合は , DAR ビットに "0" を設定してください。
CAN
を Time Triggered CAN 環境で動作させる場合は , DAR ビットに "1" を設定してくだ
さい。
<注意事項>
DAR ビットに "1" を設定した場合は , メッセージオブジェクト ( メッセージオブジェクト
については「22.4.3 メッセージオブジェクト 」を参照してください ) の TxRqst ビットと
NewDat ビットの値は以下のようになります。
• フレーム送信を開始したとき , メッセージオブジェクトの TxRqst ビットが "0" にクリ
アされますが , NewDat ビットは 1" にセットされたままです。
• フレーム送信が正常終了すると NewDat ビットは "0" にクリアされます。
送信が調停負けもしくはエラー検出すると , NewDat ビットは "1" にセットされたままで
す。送信を再開するためには , TxRqst ビットに "1" を設定してください。
[bit4] : 予約ビット
常に "0" が読み出せます。書込みは動作に影響ありません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
475
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
[bit3] : エラー割込みコード許可ビット
EIE
機能
0
CAN ステータスレジスタ (STATR) の Boff ビットまたは EWarn
ビットの変化により , CAN 割込みレジスタ (INTR) への割込みコー
ドの設定を禁止します。
[ 初期値 ]
1
CAN ステータスレジスタ (STATR) の Boff ビットまたは EWarn
ビットの変化により , CAN 割込みレジスタ (INTR) へのステータス
割込みコードの設定を許可します。
[bit2] : ステータス割込みコード許可ビット
SIE
機能
0
CAN ステータスレジスタ (STATR) の TxOk,RxOk または LEC ビッ
トの変化により , CAN 割込みレジスタ (INTR) への割込みコードの
設定を禁止します。
[ 初期値 ]
1
CAN ステータスレジスタ (STATR) の TxOk,RxOk または LEC ビッ
トの変化により , CAN 割込みレジスタ (INTR) へのステータス割込
みコードの設定を許可します。CPU からの書込みによって発生し
た TxOk, RxOk, LEC ビットの変化は CAN 割込みレジスタ (INTR)
には設定されません。
[bit1] : 割込み許可ビット
IE
機能
0
割込みの発生を禁止します。[ 初期値 ]
1
割込みの発生を許可します。
[bit0] : 初期化ビット
Init
476
機能
0
CAN コントローラの初期化解除後に動作します。
1
CAN コントローラを初期化し , 動作を停止します。[ 初期値 ]
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
<注意事項>
• バスオフリカバリシーケンスは , Init ビットの設定/解除によって短縮はできません。
デバイスがバスオフになると , CAN コントローラ自身が Init ビットを "1" にセットし ,
すべてのバス動作を停止します。バスオフ状態から Init ビットを "0" にクリアすると ,
バスアイドルが連続的に 129 回 (11 ビットのレセッシブを1回とする ) 発生するまで
バス動作を停止状態にします。バスオフリカバリシーケンス実行後 , エラーカウンタを
リセットします。
• CAN ビットタイミングレジスタ (BTR) を設定する場合は , Init および CCE ビットに "1"
を設定してください。
• 低消費電力モードへ遷移する前に Init ビットに "1" を設定し CAN コントローラの初期
化を行ってください。
• CAN プリスケーラレジスタ (BRTER) により , CAN インタフェースに供給するクロッ
クの分周比を変更する場合は , Init ビットに "1" を設定し , CAN コントローラを停止し
た状態で CAN プリスケーラレジスタの変更を行ってください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
477
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
■ CAN ステータスレジスタ (STATR)
CAN ステータスおよび CAN バス状態を表示します。
図 22.4-2 CAN ステータスレジスタ (STATR) のビット構成
CAN ステータスレジスタ ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Base+02H
予約
R0,W0
予約
R0,W0
予約
R0,W0
予約
R0,W0
予約
R0,W0
予約
R0,W0
予約
R0,W0
予約
R0,W0
初期値
00000000B
CAN ステータスレジスタ ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
Base+03H
BOff
EWarn
EPass
RxOk
TxOk
R,WX
R,WX
R,WX
R/W
R/W
bit2
bit1
bit0
00000000B
LEC
R/W
R/W
初期値
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit15 ∼ bit8] : 予約ビット
常に "0" が読み出されます。書込みは "0" を設定してください。
[bit7] : バスオフビット
BOff
機能
0
CAN コントローラはバスオフ状態でないことを示します。
[ 初期値 ]
1
CAN コントローラはバスオフ状態であることを示します。
[bit6] : ワーニングビット
EWarn
機能
0
送信と受信カウンタが共に 96 未満であることを示します
[ 初期値 ]
1
送信または受信カウンタが 96 以上であることを示します。
[bit5] : エラーパッシブビット
478
EPass
機能
0
送信と受信カウンタが共に 128 未満 ( エラーアクティブ状態 ) であ
ることを示します。 [ 初期値 ]
1
受信カウンタは RP ビット ="1", 送信カウンタが 128 以上 ( エラー
パッシブ状態 ) であることを示します。
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
[bit4] : メッセージ正常受信ビット
RxOk
機能
0
CAN バス上で正常なメッセージ通信が行われていない
またはバスアイドル状態であることを示します。[ 初期値 ]
1
CAN バス上で正常なメッセージ通信が行われたことを示します。
[bit3] : メッセージ正常送信ビット
TxOk
機能
0
バスアイドル状態もしくは正常なメッセージ送信が行われていない
ことを示します。[ 初期値 ]
1
正常なメッセージ送信が行われたことを示します。
<注意事項>
RxOk および TxOk ビットは , "0" 書込みでのみクリアされます。
[bit2 ∼ bit0] : ラストエラーコードビット
LEC[2:0]
状態
000
正常
001
Stuff エラー
メッセージ内において 6 ビット以上連続してドミナ
ントまたはレセッシブを検出したことを示します
010
Form エラー
受信されたフレームの固定フォーマット部が間違っ
て検出したことを示します。
011
Ack エラー
送信メッセージに対し , ほかのノードからアクノ
リッジされなかったことを示します。
100
bit1 エラー
調停フィールドを除くメッセージの送信データにお
いて , レセッシブを送信したにもかからずドミナン
トを検出したことを示します。
101
bit0 エラー
メッセージの送信データにおいて , ドミナントを送
信したにもかからずレセッシブを検出したことを示
します。
バスリカバリ中には , 11 ビットのレセッシブを検出
するごとにセットされます.このビットを読み出す
ことによりバスリカバリシーケンスを監視できます。
110
CRC エラー
受信したメッセージの CRC データと計算した CRC
の結果が一致しなかったことを示します。
機能
正常に送信または受信されたことを示します。
[ 初期値 ]
LEC ビットに "111B" を設定した後 , LEC 値が
111
未検出
"111B" を読み出した場合 , その期間は送受信しな
かったことを示します。( バスアイドル状態 )
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
479
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
LEC ビットは CAN バス上で発生した最後のエラーを示すコードを保持します。メッ
セージがエラー無しで転送 ( 受信/送信 ) 完了すると "0" にクリアされます。未検
出コード "111B" は , コード更新をチェックするために使用することができます。
<注意事項>
• ステータス割込みコード (8000H) は , EIE ビットが "1" のときに BOff または EWarn ビッ
トが変化した場合 , もしくは SIE ビットが "1" のときに RxOk, TxOk または LEC ビッ
トが変化した場合 , CAN 割込みレジスタ (INTR) に設定されます。
• RxOk, TxOk ビットはフラグの値がプログラムによる書込みによって更新されますの
で , CAN コントローラによってセットされた RxOk, TxOk ビットの値が変更されてし
まいます。もし RxOk, TxOk ビットを使用する場合には , RxOk または TxOk ビットが
"1" にセットされてから (45 × BT) 時間以内にクリアしてください。BT は 1 ビットタ
イムを示します。
• SIE ビットが "1" の時 , LEC ビットの変化による割込みが発生した場合には CAN ステー
タスレジスタ (STATR) に書き込まないでください。
• EPass ビットの変化 , RxOk, TxOk および LEC ビットへの書込み動作では CAN 割込み
レジスタ (INTR) のエラーコード割込みのセットは行われません。
• BOff ビットまたは EPass ビットが "1" の場合 EWarn ビットは "1" のままです。
• CAN ステータスレジスタ (STATR) を読み出すことにより , CAN 割込みレジスタ (INTR)
のステータス割込み (8000H) はクリアされます。
480
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
■ CAN エラーカウンタ (ERRCNT)
受信エラーパッシブ表示および受信エラーカウンタ , 送信エラーカウンタを示します。
図 22.4-3 CAN エラーカウンタ (ERRCNT) のビット構成
CAN エラーカウンタレジスタ ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
Base+04H
bit15
bit14
bit13
bit12
R,WX
R,WX
R,WX
RP
bit11
bit10
bit9
bit8
R,WX
R,WX
R,WX
00000000B
REC 6-0
R,WX
R,WX
初期値
CAN エラーカウンタレジスタ ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
Base+05H
bit4
bit3
bit2
bit1
bit0
00000000B
TEC 7-0
R,WX
R,WX
R,WX
R,WX
R,WX
初期値
R,WX
R,WX
R,WX
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit15] : 受信エラーパッシブ表示
RP
機能
0
受信エラーカウンタはエラーパッシブ状態でないことを示します。
[ 初期値 ]
1
受信エラーカウンタは CAN 仕様で定義されているエラーパッシブ状
態に到達したことを示します。
[bit14 ∼ bit8] : 受信エラーカウンタ
受信エラーカウンタ値。受信エラーカウンタ値の範囲は 0 ∼ 127 です。
[bit7 ∼ bit0] : 送信エラーカウンタ
送信エラーカウンタ値。送信エラーカウンタ値の範囲は 0 ∼ 255 です。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
481
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
■ CAN ビットタイミングレジスタ (BTR)
プリスケーラおよびビットタイミングを設定します。
図 22.4-4 CAN ビットタイミングレジスタ (BTR) のビット構成
CAN ビットタイミングレジスタ ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit15
Base+06H
予約
R0,W0
bit14
bit13
bit12
bit11
bit10
TSeg2
R/W
R/W
bit9
bit8
TSeg1
R/W
R/W
R/W
R/W
初期値
00100011B
R/W
CAN ビットタイミングレジスタ ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
Base+07H
bit6
bit5
bit4
bit3
SJW
R/W
bit2
bit1
bit0
00000001B
BRP
R/W
R/W
R/W
R/W
初期値
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit15] : 予約ビット
常に "0" が読み出されます。書込みは "0" を設定してください。
[bit14 ∼ bit12] : タイムセグメント2設定ビット
有効設定値は 0 ∼ 7 です。TSeg2+1 ビットの値がタイムセグメント 2 になります。
タイムセグメント 2 は , CAN 仕様のフェーズバッファセグメント (PHASE_SEG2) に
相当します。
[bit11 ∼ bit8] : タイムセグメント1設定ビット
有効設定値は 1 ∼ 15 です。0 の設定は禁止です。TSeg1+1 ビットの値がタイムセグ
メント 1 になります。
タイムセグメント 1 は , CAN 仕様のプロパゲーションセグメント (PROP_SEG) +
フェーズバッファセグメント 1(PHASE_SEG1) に相当します。
[bit7, bit6]: 再同期化ジャンプ幅設定ビット
有効設定値は 0 ∼ 3 です。SJW+1 ビットの値が再同期ジャンプ幅となります。
[bit5 ∼ bit0] : ボーレートプリスケーラ設定ビット
有効設定値は0∼63です。BRP+1ビットの値がボーレートプリスケーラになります。
システムクロック (fsys) を分周して , CAN コントローラの基本単位時間 (tq) を決定
します。
<注意事項>
CAN 制御レジスタ (CTRLR) の CCE ビットと Init ビットが "1" にセットされているときに ,
CAN ビットタイミングレジスタ (BTR) および CAN プリスケーラ拡張レジスタ (BRPER)
を設定して下さい。
482
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
■ CAN 割込みレジスタ (INTR)
メッセージ割込みコードおよびステータス割込みコードを表示します。
図 22.4-5 CAN 割込みレジスタ (INTR) のビット構成
CAN 割込みレジスタ ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
Base+08H
bit11
bit10
bit9
bit8
00000000B
IntId 15-8
R,WX
R,WX
R,WX
R,WX
R,WX
初期値
R,WX
R,WX
R,WX
bit1
bit0
CAN 割込みレジスタ ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
Base+09H
bit3
bit2
00000000B
IntId 7-0
R,WX
R,WX
R,WX
R,WX
R,WX
初期値
R,WX
R,WX
R,WX
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
IntId
機能
0000H
割込みなし
0001H - 0020H
割込み要因はメッセージオブジェクトの番号を示します
( メッセージ割込みコード )
0021H - 7FFFH
未使用
CAN ステータスレジスタ (STATR) の変化による割込みを示します
( ステータス割込みコード )
8000H
8001H - FFFFH
未使用
複数の割込みコードが保留中である場合 , CAN 割込みレジスタ (INTR) は優先度の高い
割込みコードを示します。割込みコードが CAN 割込みレジスタ (INTR) にセットされ
ていても優先度の高い割込みコードが発生した場合には , CAN 割込みレジスタ (INTR)
は優先度の高い割込みコードに更新されます。
優先度の高い割込みコードは , ステータス割込みコード (8000H), メッセージ割込み
(0001H, 0002H, 0003H, ……, 0020H) の順になります。
IntId ビットが 0000H 以外で , CAN 制御レジスタ (CTRLR) の IE ビットが "1" にセット
されると , CPU への割込み信号がアクティブになります。IntId ビットの値が 0000H に
なる ( 割込み要因がリセットされる ) もしくは CAN 制御レジスタ (CTRLR) の IE ビッ
トが "0" にリセットされると , 割込み信号はインアクティブになります。
対象となるメッセージオブジェクト ( メッセージオブジェクトについては
「22.4.3 メッ
セージオブジェクト」を参照してください ) の IntPnd ビットを "0" にクリアすること
でメッセージ割込みコードはクリアされます。
ステータス割込みコードは CAN ステータスレジスタ (STATR) を読み出すことでクリ
アされます。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
483
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
■ CAN テストレジスタ (TESTR)
テストモードの設定および RX 端子のモニタを行います。動作については ,「22.5.7 テ
ストモード」を参照してください。
図 22.4-6 CAN テストレジスタ (TESTR) のビット構成
CAN テストレジスタ ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
Base+0AH
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
予約
R0,W0
予約
R0,W0
予約
R0,W0
予約
R0,W0
予約
R0,W0
予約
R0,W0
予約
R0,W0
予約
R0,W0
初期値
00000000B
CAN テストレジスタ ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Base+0BH
Rx
Tx1
Tx0
LBack
Silent
Basic
R,WX
R/W
R/W
R/W
R/W
R/W
予約
R0,W0
予約
R0,W0
初期値
r0000000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
bit7 の Rx の初期値 (r) は , CAN バス上のレベルが表示されます。
[bit15 ∼ bit8] : 予約ビット
常に "0" が読み出されます。書込みは "0" を設定してください。
[bit7] : Rx 端子モニタビット
Rx
機能
0
CAN バスはドミナントであることを示します。
1
CAN バスはレセッシブであることを示します。
[bit6, bit5] :TX 端子コントロールビット
Tx1, Tx0
機能
00
通常動作 [ 初期値 ]
01
サンプリングポイントが TX 端子に出力されます。
10
TX 端子にドミナントを出力します。
11
TX 端子にレセッシブを出力します。
[bit4] : ループバックモード
LBack
484
機能
0
ループバックモードを禁止します。 [ 初期値 ]
1
ループバックモードを許可します。
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
[bit3] : サイレントモード
Silent
機能
0
サイレントモードを禁止します。 [ 初期値 ]
1
サイレントモードを許可します。
[bit2] : ベーシックモード
Basic
機能
0
ベーシックモードを禁止します。[ 初期値 ]
1
ベーシックモードを許可します。
IF1 レジスタは送信メッセージとして , IF2 レジスタは受信メッ
セージとして使用されます。
[bit1, bit0] : 予約ビット
常に "0" が読み出されます。書込みは "0" を設定してください。
<注意事項>
• CAN 制御レジスタ (CTRLR) の Test ビットを "1" にセットした後 , レジスタへ書き込ん
でください。
テストモードが有効となるのは , CAN 制御レジスタ (CTRLR) の Test ビッ
トが "1" の時です。途中で CAN 制御レジスタ (CTRLR) の Test ビットを "0" にすると
テストモードから通常モードになります。
• Tx ビットを“00" 以外に設定した場合 , メッセージを送信することができません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
485
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
■ CAN プリスケーラ拡張レジスタ (BRPER)
CAN ビットタイミングで設定したプリスケーラと組み合わせることにより , CAN コン
トローラで使用するプリスケーラを拡張します。
図 22.4-7 CAN プリスケーラ拡張レジスタ (BRPER) のビット構成
CAN プリスケーラ拡張レジスタ ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
Base+0CH
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
予約
R0,W0
予約
R0,W0
予約
R0,W0
予約
R0,W0
予約
R0,W0
予約
R0,W0
予約
R0,W0
予約
R0,W0
初期値
00000000B
CAN プリスケーラ拡張レジスタ ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
Base+0DH
bit7
bit6
bit5
bit4
予約
R0,W0
予約
R0,W0
予約
R0,W0
予約
R0,W0
bit3
bit2
bit1
bit0
00000000B
BRPE
R/W
R/W
R/W
初期値
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit15 ∼ bit4] : 予約ビット
常に "0" が読み出されます。書込みは "0" を設定してください。
[bit3 ∼ bit0] : ボーレートプリスケーラ拡張ビット
CAN ビットタイミングレジスタ (BTR) の BRP ビットと BRPE ビットを組み合わせ
ることにより , 1023 までボーレートプリスケーラを拡張できます。
{BRPE(MSB:4 ビット ),BRP(LSB:6 ビット )} + 1 の値が CAN コントローラのプリス
ケーラとなります。
486
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
22.4.2
メッセージインタフェースレジスタ
CPU からメッセージ RAM へのアクセスを制御するために2組のメッセージインタ
フェースレジスタを提供します。
メッセージ RAM への CPU アクセスを制御するために使用される 2 組のメッセージイ
ンタフェースレジスタがあります。この 2 組のレジスタは , 転送された ( する ) データ
( メッセージオブジェクト ) をバッファすることで , メッセージ RAM への CPU アクセ
スと CAN コントローラからのアクセスの競合を回避します。メッセージオブジェクト
( メッセージオブジェクトについては , 「22.4.3 メッセージオブジェクト」を参照して
ください ) は , メッセージインタフェースレジスタとメッセージ RAM 間を一度に転送
します。
テストベーシックモードを除き , 2 組のメッセージインタフェースレジスタの機能は同
一で , 独立して動作可能です。例えば , IF1 のメッセージインタフェースレジスタをメッ
セージRAMへの書込み動作中に, IF2のメッセージインタフェースレジスタをメッセー
ジ RAM からの読出しに使用することも可能です。表 22.4-1 に 2 組のメッセージイン
タフェースレジスタを示します。
メッセージインタフェースレジスタは , コマンドレジスタ ( コマンド要求 , コマンドマ
スクレジスタ ) と , このコマンドレジスタによって制御されるメッセージバッファレジ
スタ ( マスク , アービトレーション , メッセージ制御 , データレジスタ ) から構成され
ます。コマンドマスクレジスタは , データ転送の方向とメッセージオブジェクトのどの
部分が転送されるのかを示します。コマンド要求レジスタは , メッセージ番号の選択と ,
コマンドマスクレジスタに設定された動作を行います。
表 22.4-1 IF1, IF2 メッセージインタフェースレジスタ
アドレス
IF1 レジスタセット
アドレス
IF2 レジスタセット
Base + 10H
IF1 コマンド要求
Base + 40H
IF2 コマンド要求
Base + 12H
IF1 コマンドマスク
Base + 42H
IF2 コマンドマスク
Base + 14H
IF1 マスク 2
Base + 44H
IF2 マスク 2
Base + 16H
IF1 マスク 1
Base + 46H
IF2 マスク 1
Base + 18H
IF1 アービトレーション 2
Base + 48H
IF2 アービトレーション 2
Base + 1AH
IF1 アービトレーション 1
Base + 4AH
IF2 アービトレーション 1
Base + 1CH
IF1 メッセージ制御
Base + 4CH
IF2 メッセージ制御
Base + 20H
IF1 データ A1
Base + 50H
IF2 データ A1
Base + 22H
IF1 データ A2
Base + 52H
IF2 データ A2
Base + 24H
IF1 データ B1
Base + 54H
IF2 データ B1
Base + 26H
IF1 データ B2
Base + 56H
IF2 データ B2
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
487
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
■ IFx コマンド要求レジスタ (IFxCREQ)
メッセージ RAM のメッセージ番号の選択とメッセージ RAM とメッセージバッファレ
ジスタ間の転送を行います。また , テストのベーシックモードでは , IF1 を送信制御用
に IF2 を受信制御用として使用します。
図 22.4-8 IFx コマンド要求レジスタ (IFxCREQ) のビット構成
IFx コマンド要求レジスタ ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
Base+10H
Base+40H
BUSY
予約
予約
予約
予約
予約
予約
予約
00000000B
R/W
R0,W0
R0,W0
R0,W0
R0,W0
R0,W0
R0,W0
R0,W0
IFx コマンド要求レジスタ ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
Base+11H
Base+41H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
00000001B
Message Number
R/W
R/W
R/W
R/W
R/W
初期値
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
IFx コマンド要求レジスタ (IFxCREQ) へメッセージ番号を書き込むとすぐにメッセー
ジ RAM とメッセージバッファレジスタ ( マスク , アービトレーション , メッセージ制
御 , データレジスタ ) とのメッセージ転送が開始されます。この書込み動作で , BUSY
ビットが "1" にセットされ転送処理中であることを示します。その転送が終了すると ,
BUSY ビットが "0" にリセットされます。
BUSY ビットが "1" のときに , CPU からメッセージインタフェースレジスタへアクセス
が発生すると , BUSY ビットが "0" になるまで ( コマンド要求レジスタ書込み後 , Clock
で 3 ∼ 6 サイクル期間 ), CPU をウエイトさせます。
テストのベーシックモードでは , BUSY ビットの使用方法が異なります。IF1 コマンド
要求レジスタは , 送信メッセージとして使用され , BUSY ビットに "1" をセットするこ
とによりメッセージ送信開始を指示します。メッセージ転送が正常終了すると , BUSY
ビットは "0" にリセットされます。また , BUSY ビットを "0" にリセットすることによ
り , いつでもメッセージ転送を中断させることが可能です。
IF2 コマンド要求レジスタは , 受信メッセージとして使用され , BUSY ビットを "1" に
セットすることにより , 受信したメッセージを IF2 メッセージインタフェースレジスタ
に格納します。
[bit15] : ビジーフラグビット
• テストベーシックモード以外
BUSY
488
機能
0
メッセージインタフェースレジスタとメッセージ RAM 間で
データ転送処理を行っていないことを示します。 [ 初期値 ]
1
メッセージインタフェースレジスタとメッセージ RAM 間で
データ転送処理中であることを示します。
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
• テストベーシックモード
- IF1 コマンド要求レジスタ
BUSY
機能
0
メッセージ送信を禁止します。
1
メッセージ送信を許可します。
- IF2 コマンド要求レジスタ
BUSY
機能
0
メッセージ受信を禁止します。
1
メッセージ受信を許可します。
[bit14 ∼ bit8] : 予約ビット
常に "0" が読み出されます。書込みは "0" を設定してください。
[bit7 ∼ bit0] : Message Number: メッセージ番号 (32 message buffer CAN 用 )
Message Number
00H
機能
設定禁止です。設定した場合 , 20H として解釈され , 20H
が読み出されます。
01H - 20H
処理を行うメッセージ番号を設定します。
21H - 3FH
設定禁止です。設定した場合 , 01H-1FH として解釈され ,
解釈された値が読み出されます。
[bit7 ∼ bit0] : Message Number: メッセージ番号 (128 message buffer CAN 用 )
Message Number
00H
機能
設定禁止です。設定した場合 , 80H として解釈され , 80H
が読み出されます。
01H - 80H
処理を行うメッセージ番号を設定します。
81H - FFH
設定禁止です。設定した場合 , 01H-7FH として解釈され ,
解釈された値が読み出されます。
<注意事項>
BUSY ビットは , リード/ライトが可能です。テストのベーシックモード時以外は , この
ビットに何を書いても動作に影響しません ( ベーシックモードについては ,「22.5.7 テス
トモード」を参照して下さい )。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
489
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
■ IFx コマンドマスクレジスタ (IFxCMSK)
図 22.4-9 IFx コマンドマスクレジスタ (IFxCMSK) のビット構成
IFx コマンドマスクレジスタ ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit15
Base+12H
Base+42H
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
00000000B
予約
予約
予約
予約
予約
予約
予約
予約
R0,W0
R0,W0
R0,W0
R0,W0
R0,W0
R0,W0
R0,W0
R0,W0
IFx コマンドマスクレジスタ ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
bit3
Base+13H
Base+43H
WR/RD
Mask
Arb
Control
CIP
R/W
R/W
R/W
R/W
R/W
bit2
bit1
TxRqst/
Data A
NewDat
R/W
R/W
bit0
Data B
初期値
00000000B
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
メッセージインタフェースレジスタとメッセージ RAM 間の転送方向を制御し , どの
データを更新するかを設定します。また , テストのベーシックモードでレジスタは無効
となります。
[bit15 ∼ bit8] : 予約ビット
常に "0" が読み出されます。書込みは "0" を設定してください。
[bit7] : ライト/リード制御ビット
WR/RD
機能
0
メッセージ RAM からデータを読み出すことを示します。メッセー
ジ RAM からの読出しは IFx コマンド要求レジスタ (IFxCREQ) への
書込みによって実行されます。メッセージ RAM から読み出すデー
タは , Mask, Arb, Control, CIP,TxRqst/NewDat, Data A, Data B ビット
の設定に依存します。
[ 初期値 ]
1
メッセージ RAM へデータを書き込むことを示します。メッセージ
RAM への書込みは IFx コマンド要求レジスタ (IFxCREQ) への書込
みによって実行されます。メッセージ RAM への書込みデータは ,
Mask, Arb, Control, CIP,TxRqst/NewDat, Data A, Data B ビットの設定
に依存します。
<注意事項>
リセット後 , メッセージ RAM のデータは不定です。メッセージ RAM のデータが不定状
態でメッセージ RAM のデータを読み出すことは禁止です。
IFx コマンドマスクレジスタ (IFxCMSK) の bit6 ∼ bit0 は , 転送方向 (WR/RD ビット )
の設定により違った意味になります。
490
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
● 転送方向がライトの場合 (WR/RD="1")
[bit6] : マスクデータ更新ビット
Mask
機能
0
メッセージオブジェクト * のマスクデータ (ID マスク + MDir +
MXtd) を更新しないことを示します。[ 初期値 ]
1
メッセージオブジェクト * のマスクデータ (ID マスク + MDir +
MXtd) を更新することを示します。
[bit5] : アービトレーションデータ更新ビット
Arb
機能
0
メッセージオブジェクト * のアービトレーションデータ (ID + Dir +
Xtd + MsgVal) を更新しないことを示します。[ 初期値 ]
1
メッセージオブジェクト * のアービトレーションデータ (ID + Dir +
Xtd + MsgVal) を更新することを示します。
[bit4] : 制御データ更新ビット
Control
機能
0
メッセージオブジェクト * の制御データ (IFx メッセージ制御レジ
スタ (IFxMCTR)) を更新しないことを示します。[ 初期値 ]
1
メッセージオブジェクト * の制御データ (IFx メッセージ制御レジ
スタ (IFxMCTR)) を更新することを示します。
[bit3] : 割込みクリアビット
"0" または "1" を設定しても CAN コントローラへの動作に影響を与えません。
[bit2] : メッセージ送信要求ビット
TxRqst/NewDat
CM71-10142-5
機能
0
メッセージオブジェクト * および CAN 送信要求レジスタ
(TREQR) の TxRqst ビットを変更しないことを示します。
[ 初期値 ]
1
メッセージオブジェクト * および CAN 送信要求レジスタ
(TREQR) の TxRqst ビットに "1" を設定 ( 送信要求 ) すること
を示します。
FUJITSU SEMICONDUCTOR LIMITED
491
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
[bit1] : データ 0-3 更新ビット
Data A
機能
0
メッセージオブジェクト * のデータ 0-3 を更新しないことを示しま
す。[ 初期値 ]
1
メッセージオブジェクト * のデータ 0-3 を更新することを示しま
す。
[bit0] : データ 4-7 更新ビット
Data B
機能
0
メッセージオブジェクト * のデータ 4-7 を更新しないことを示しま
す。[ 初期値 ]
1
メッセージオブジェクト * のデータ 4-7 を更新することを示しま
す。
*:「22.4.3 メッセージオブジェクト」を参照してください。
<注意事項>
• IFx コマンドマスクレジスタ (IFxCMSK) の TxRqst/NewDat ビットが "1" に設定される
と , IFx メッセージ制御レジスタ (IFxMCTR) の TxRqst ビットの設定は無効となります。
• テストのベーシックモードでレジスタは無効となります。
492
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
● 転送方向がリードの場合 (WR/RD="0")
[bit6] : マスクデータ更新ビット
Mask
機能
0
メッセージオブジェクト * から IFx マスクレジスタ 1, 2(IFxMSK1,
IFxMSK2) へデータ (ID マスク + MDir + MXtd ) を転送しないことを
示します。 [ 初期値 ]
1
メッセージオブジェクト * から IFx マスクレジスタ 1, 2(IFxMSK1,
IFxMSK2) へデータ (ID マスク + MDir + MXtd ) を転送することを示
します。
[bit5] : アービトレーションデータ更新ビット
Arb
機能
0
メッセージオブジェクト * から IFx アービトレーション
1,2(IFxARB1, IFxARB2) へデータ (ID+ Dir + Xtd + MsgVal) を転送し
ないことを示します。 [ 初期値 ]
1
メッセージオブジェクト * から IFx アービトレーション
1,2(IFxARB1, IFxARB2) へデータ (ID+ Dir + Xtd + MsgVal) を転送す
ることを示します。
[bit4] : 制御データ更新ビット
Control
機能
0
メッセージオブジェクト * から IFx メッセージ制御レジスタ
(IFxMCTR) へデータを転送しないことを示します。 [ 初期値 ]
1
メッセージオブジェクト * から IFx メッセージ制御レジスタ
(IFxMCTR) へデータを転送することを示します。
[bit3] : 割込みクリアビット
CM71-10142-5
CIP
機能
0
メッセージオブジェクト * および CAN 割込みペンディングレジス
タ (INTPND) の IntPnd ビットを保持することを示します。[ 初期値 ]
1
メッセージオブジェクト * および CAN 割込みペンディングレジス
タ (INTPND) の IntPnd ビットを "0" にクリアすることを示します。
FUJITSU SEMICONDUCTOR LIMITED
493
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
[bit2] : データ更新ビット
TxRqst/NewDat
機能
0
メッセージオブジェクト * および CAN データ更新レジスタ
の NewDat ビットを保持することを示します。[ 初期値 ]
1
メッセージオブジェクト * および CAN データ更新レジスタ
の NewDat ビットを "0" にクリアすることを示します。
[bit1] : データ 0-3 更新ビット
Data A
Function
0
メッセージオブジェクト * および CAN データレジスタ A1, A2 の
データを保持することを示します。[ 初期値 ]
1
メッセージオブジェクト * および CAN データレジスタ A1, A2 の
データを更新することを示します。
[bit0] : データ 4-7 更新ビット
Data B
Function
0
メッセージオブジェクト * および CAN データレジスタ B1, B2 の
データを保持することを示します。[ 初期値 ]
1
メッセージオブジェクト * および CAN データレジスタ B1, B2 の
データを更新することを示します。
*:「22.4.3 メッセージオブジェクト」を参照してください。
<注意事項>
• メッセージオブジェクトへの読出しアクセスにより , IntPnd および NewDat ビットは
"0" にリセットすることが可能です。但し , IFx メッセージ制御レジスタ (IFxMCTR) の
IntPnd および NewDat ビットには , 読出しアクセスによりリセットされる前の IntPnd,
NewDat ビットが格納されます。
• テストのベーシックモードでは無効となります。
494
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
■ IFx マスクレジスタ 1,2 (IFxMSK1, IFxMSK2)
メッセージ RAM のメッセージオブジェクトマスクデータをライト/リードするため
に用いられます。また , テストのベーシックモードでは , 設定されているマスクデータ
は無効となります。
各ビットの機能については , 「22.4.3 メッセージオブジェクト 」に記述されています。
図 22.4-10 IFx マスクレジスタ 1,2 (IFxMSK1, IFxMSK2) のビット構成
IFx マスクレジスタ 2 ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
Base+14H
Base+44H
MXtd
MDir
予約
R/W
R/W
R1,W1
bit12
bit11
bit10
bit9
bit8
11111111B
Mask 28-24
R/W
R/W
R/W
初期値
R/W
R/W
bit1
bit0
IFx マスクレジスタ 2 ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
Base+15H
Base+45H
bit7
bit6
bit5
bit4
bit3
bit2
11111111B
Mask 23-16
R/W
R/W
R/W
R/W
R/W
初期値
R/W
R/W
R/W
bit10
bit9
bit8
R/W
R/W
R/W
bit1
bit0
IFx マスクレジスタ 1 ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
Base+16H
Base+46H
R/W
R/W
R/W
R/W
bit11
11111111B
Mask 15-8
R/W
初期値
IFx マスクレジスタ 1 ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
Base+17H
Base+47H
bit7
bit6
bit5
bit4
bit3
bit2
11111111B
Mask 7-0
R/W
R/W
R/W
R/W
R/W
初期値
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
ビット説明については「22.4.3 メッセージオブジェクト」を参照してください。
予約ビット (IFx マスクレジスタ 2 の bit13) は "1" が読み出され , 書込み時は "1" を書き
込んでください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
495
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
■ IFx アービトレーションレジスタ 1,2 (IFxARB1, IFxARB2)
メッセージ RAM のメッセージオブジェクトアービトレーションデータをライト/
リードするために用いられます。また , テストのベーシックモードでは無効となりま
す。
各ビットの機能については , 「22.4.3 メッセージオブジェクト 」に記述されています。
図 22.4-11 IFx アービトレーションレジスタ 1,2 (IFxARB1, IFxARB2) のビット構成
IFx アービトレーションレジスタ 2 ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
Base+18H
Base+48H
MsgVal
Xtd
Dir
R/W
R/W
R/W
bit12
bit11
bit10
bit9
bit8
00000000B
ID 28-24
R/W
R/W
R/W
初期値
R/W
R/W
IFx アービトレーションレジスタ 2 ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
Base+19H
Base+49H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
00000000B
ID 23-16
R/W
R/W
R/W
R/W
R/W
初期値
R/W
R/W
R/W
IFx アービトレーションレジスタ 1 ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
Base+1AH
Base+4AH
R/W
R/W
R/W
R/W
bit11
bit10
bit9
bit8
R/W
R/W
R/W
00000000B
ID 15-8
R/W
初期値
IFx アービトレーションレジスタ 1 ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
Base+1BH
Base+4BH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
00000000B
ID 7-0
R/W
R/W
R/W
R/W
R/W
初期値
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
ビット説明については「22.4.3 メッセージオブジェクト」を参照してください。
<注意事項>
送信途中でメッセージオブジェクトの MsgVal ビットを "0" にクリアした場合 , 送信が完
了した時点で CAN ステータスレジスタ (STATR) の TxOk ビットは "1" になりますが , メッ
セージオブジェクトおよび CAN 送信要求レジスタ (TREQR) の TxRqst ビットは "0" にク
リアされませんのでメッセージインタフェースレジスタによって TxRqst ビットを "0" に
クリアしてください。
496
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
■ IFx メッセージ制御レジスタ (IFxMCTR)
メッセージ RAM のメッセージオブジェクト制御データをライト/リードするために
用いられます。また , テストのベーシックモードでは , IF1 メッセージ制御レジスタは
無効となります。IF2 メッセージ制御レジスタの NewDat と MsgLst は通常の動作を行
い , DLC ビットは受信したメッセージの DLC を表示します。その他の制御ビットは無
効 ("0") として動作します。
各ビットの機能については , 「22.4.3 メッセージオブジェクト 」に記述されています。
図 22.4-12 IFx メッセージ制御レジスタ (IFxMCTR) のビット構成
IFx メッセージ制御レジスタ ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit15
Base+1CH
Base+4CH
bit14
NewDat MsgLst
R/W
R/W
bit13
bit12
bit11
bit10
bit9
bit8
IntPnd
UMask
TxIE
RxIE
RmtEn
TxRqst
R/W
R/W
R/W
R/W
R/W
R/W
初期値
00000000B
IFx メッセージ制御レジスタ ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
Base+1DH
Base+4DH
EoB
予約
予約
予約
R/W
R0,W0
R0,W0
R0,W0
bit3
bit2
bit1
bit0
00000000B
DLC 3-0
R/W
R/W
R/W
初期値
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
ビット説明については「22.4.3 メッセージオブジェクト」を参照してください。
<注意事項>
TxRqst, NewDat および IntPnd ビットは , IFx コマンドマスクレジスタ (IFxCMSK) の WR/
RD ビットの設定によって以下のような動作になります。
• 転送方向がライトの場合 (IFx コマンドマスクレジスタ (IFxCMSK):WR/RD=1)
- IFx コマンドマスクレジスタ (IFxCMSK) の TxRqst/NewDat が "0" に設定されている
場合のみ , TxRqst ビットが有効となります。
• 転送方向がリードの場合 (IFx コマンドマスクレジスタ (IFxCMSK):WR/RD=0)
- IFx コマンドマスクレジスタ (IFxCMSK) の CIP ビットを "1", IFx コマンド要求レジ
スタ (IFxCREQ) への書込みによりメッセージオブジェクトおよび CAN 割込みペン
ディングレジスタ (INTPND) の IntPnd ビットをリセットした場合 , レジスタにはリ
セットされる前の IntPnd ビットが格納されます。
- IFx コマンドマスクレジスタ (IFxCMSK) の TxRqst/NewDat ビットを "1", IFx コマン
ド要求レジスタ (IFxCREQ) への書込みによりメッセージオブジェクトおよび CAN
データ更新レジスタの NewDat ビットをリセットした場合 , レジスタにはリセット
する前の NewDat ビットが格納されます。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
497
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
■ IFx データレジスタ A1,A2,B1,B2 (IFxDTA1, IFxDTA2, IFxDTB1, IFxDTB2)
メッセージ RAM のメッセージオブジェクト送受信データをライト/リードするため
に用いられます。データフレームの送受信のみ使用され , リモートフレームの送受信に
は使用されません。
IFx Message Data A1 (addresses 20H & 50H)
addr+0
addr+1
Data(0)
Data(1)
IFx Message Data A2 (addresses 22H & 52H)
IFx Message Data B1 (addresses 24H & 54H)
Data(4)
Data(3)
Data(7)
Data(2)
Data(3)
Data(6)
Data(7)
Data(1)
Data(0)
Data(5)
Data(4)
Data(2)
IFx Message Data A1 (addresses 32H & 62H)
IFx Message Data B2 (addresses 34H & 64H)
addr+3
Data(5)
IFx Message Data B2 (addresses 26H & 56H)
IFx Message Data A2 (addresses 30H & 60H)
addr+2
Data(6)
IFx Message Data B1 (addresses 36H & 66H)
図 22.4-13 IFx データレジスタのビット構成
IFx データレジスタ
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
00000000B
Data
R/W
R/W
R/W
R/W
初期値
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
送信メッセージデータの設定
設定したデータは , MSB(bit7, bit15) より開始して Data(0), Data(1), …, Data(7) の順で
送信されます。
受信メッセージデータ
受信メッセージデータは , MSB(bit7, bit15) より開始して Data(0), Data(1), …, Data(7)
の順で格納されます。
<注意事項>
• 受信メッセージデータが 8 バイトより少ない場合は , データレジスタの残りのバイトに
は不定データが書き込まれます。
• メッセージオブジェクトへの転送は , Data A もしくは Data B の4バイト単位で行われ
ますので , 4バイトのうちある一部のデータだけを更新することはできません。
498
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
メッセージオブジェクト
22.4.3
メッセージ RAM には , 32( 品種によって 128 まで ) のメッセージオブジェクトがあ
ります。メッセージ RAM への CPU アクセスと CAN コントローラからのアクセス
の競合を回避するために , CPU はメッセージオブジェクトへ直接 , アクセスはでき
ません。これらのアクセスは , IFx メッセージインタフェースレジスタ経由で行いま
す。
メッセージオブジェクトの構成と機能を説明します。
■ メッセージオブジェクトの構成
表 22.4-2 にメッセージオブジェクトの構成を示します。
表 22.4-2 メッセージオブジェクトの構成
UMask Msk28-0 MXtd
MsgVal
ID28-0
Xtd
MDir
EoB
Dir
DLC3-0
NewDat
Data0
Data1
MsgLst
RxIE
TxIE
Data2
Data3
Data4
IntPnd RmtEn TxRqst
Data5
Data6
Data7
<注意事項>
メッセージオブジェクトは , CAN 制御レジスタ (CTRLR) の Init ビット , ハードウェアリ
セットでは初期化されません。ハードウェアリセットの場合 , ハードウェアリセット解除
後 , CPU によってメッセージ RAM を初期化するかメッセージ RAM の MsgVal を "0" に
してください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
499
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
■ メッセージオブジェクトの機能
ID28-0, Xtd, Dir ビットは , メッセージを送信する場合 , ID とメッセージの種類に使用
されます。メッセージを受信する場合 , Msk28-0, MXtd, MDir ビットと共に受容フィル
タで使用されます。
受容フィルタを通過したデータフレームもしくはリモートフレームは , メッセージオ
ブジェクトに格納されます。Xtd は拡張フレームか標準フレームかを示し , Xtd が "1"
の場合 , 29 ビット ID( 拡張フレーム ) を , Xtd が "0" の場合は , 11 ビット ID( 標準フレー
ム ) を受信することになります。
受信したデータフレームもしくはリモートフレームが 1 つ以上のメッセージオブジェ
クトと一致した場合は , 一致した最小のメッセージ番号に格納されます。詳細は ,
「22.5.3 メッセージ受信動作」の受信メッセージの受容フィルタを参照して下さい。
MsgVal: 有効メッセージビット
MsgVal
機能
0
メッセージオブジェクトは無効です。
メッセージの送受信は行いません。
1
メッセージオブジェクトは有効です。
メッセージの送受信が可能となります。
<注意事項>
• CAN 制御レジスタ (CTRLR) の Init ビットを "0" にリセットする前と , ID28-0, Xtd, Dir,
DLC3-0 を変更する前には , メッセージオブジェクトの MsgVal ビットを必ず初期化し
てください。
• 送信中に MsgVal ビットを "0" にすると送信が完了した時点で CAN ステータスレジス
タ (STATR) の TxOk ビットは "1" になりますが , メッセージオブジェクトおよび CAN
送信要求レジスタ (TREQR) の TxRqst ビットは "0" にクリアされませんのでメッセー
ジインタフェースレジスタによって TxRqst ビットを "0" にクリアしてください。
500
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
UMask: 受容マスク許可ビット
UMask
機能
0
Msk28-0, MXtd, MDir を使用しません。
1
Msk28-0, MXtd, MDir を使用します。
<注意事項>
• CAN 制御レジスタ (CTRLR) の Init ビットが "1" のとき , あるいは MsgVal ビットが "0"
のときに UMask ビットを変更して下さい。
• Dir ビットが "1" かつ RmtEn ビットが "0" のとき , UMask ビットの設定により動作が異
なります。
- UMask ビットが "1" の場合は , 受容フィルタを通過しリモートフレームを受信した
とき , TxRqst ビットを "0" にリセットします。その時 , 受信した ID, IDE, RTR, DLC
はメッセージオブジェクトに格納し , NewDat ビットは "1" にセットされ , データは
変更しません ( データフレームのように取り扱います )。
- UMask ビットが "0" の場合は , リモートフレーム受信に対し , TxRqst ビットはその
まま保持し , リモートフレームを無視します。
ID28-0: メッセージ ID
ID
機能
ID28 - ID0
29 ビット ID( 拡張フレーム ) を指示します。
ID28 - ID18
11 ビット ID( 標準フレーム ) を指示します。
Msk28-0: ID マスク
Msk
機能
0
メッセージオブジェクトの ID と対応するビットをマスクします。
1
メッセージオブジェクトの ID と対応するビットをマスクしませ
ん。
Xtd: 拡張 ID 許可ビット
Xtd
CM71-10142-5
機能
0
メッセージオブジェクトは 11 ビット ID( 標準フレーム ) が使用さ
れます。
1
メッセージオブジェクトは 29 ビット ID( 拡張フレーム ) が使用さ
れます。
FUJITSU SEMICONDUCTOR LIMITED
501
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
MXtd: 拡張 ID マスクビット
MXtd
機能
0
受容フィルタで拡張 ID ビット (IDE) をマスクします。
1
受容フィルタで拡張 ID ビット (IDE) をマスクしません。
<注意事項>
11 ビット ID( 標準フレーム ) がメッセージオブジェクトに設定されると , 受信したデータ
フレームの ID は , ID28 ∼ ID18 へ書き込まれます。ID マスクは , Msk28 ∼ Msk18 が使用
されます。
Dir: メッセージ方向ビット
Dir
機能
0
受信方向を示します。
TxRqst が "1" にセットされると , リモートフレームの送信を行い ,
TxRqst が "0" のときは , 受容フィルタを通過したデータフレームを
受信します
1
送信方向を示します。
TxRqst が "1" にセットされると , データフレームを送信し , TxRqst
が "0" で RmtEn が "1" にセットされている場合 , 受容フィルタを通
過したリモートフレームの受信によって , CAN コントローラ自身
が TxRqst を "1" にセットします。
MDir: メッセージ方向マスクビット
MDir
機能
0
受容フィルタでメッセージ方向ビット (Dir) をマスクします。
1
受容フィルタでメッセージ方向ビット (Dir) をマスクしません。
EoB: エンドオブバッファビット ( 詳細は ,「22.5.4 FIFO バッファ機能」参照してくだ
さい )
EoB
502
機能
0
メッセージオブジェクトは FIFO バッファとして使用され , 最終
メッセージでないことを示します。
。
1
単一メッセージオブジェクトまたは FIFO バッファの最終メッセー
ジオブジェクトを示します。
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
<注意事項>
• EoB ビットは , 2 ∼ 32 メッセージの FIFO バッファを構成するために使用します。
• 単一メッセージオブジェクト (FIFO を使用しない場合 ) は , 必ず EoB ビットに "1" を設
定して下さい。
NewDat: データ更新ビット
NewDat
機能
0
有効なデータがないことを示します。
1
有効なデータがあることを示します。
MsgLst: メッセージロスト
MsgLst
機能
0
メッセージロストは発生していません。
1
メッセージロストが発生しています。
<注意事項>
MsgLst ビットは Dir ビットが "0" のとき ( 受信方向 ) のみ有効です。
RxIE: 受信割込みフラグイネーブルビット
RxIE
機能
0
フレーム受信成功後 , IntPnd は変更されません。
1
フレーム受信成功後 , IntPnd が "1" にセットされます。
TxIE: 送信割込みフラグイネーブルビット
TxIE
CM71-10142-5
機能
0
フレーム送信成功後 , IntPnd は変更されません。
1
フレーム送信成功後 , IntPnd が "1" にセットされます。
FUJITSU SEMICONDUCTOR LIMITED
503
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
IntPnd: 割込みペンディングビット
IntPnd
機能
0
割込み要因がありません。
1
割込み要因があります。
他に優先度の高い割込みがない場合は , CAN 割込みレジスタ
(INTR) の IntId ビットはこのメッセージオブジェクトを示します。
RmtEn: リモートイネーブル
RmtEn
機能
0
リモードフレームの受信で , TxRqst は変更されません。
1
Dir ビットが "1" でリモートフレームを受信すると , TxRqst が "1"
にセットされます。
<注意事項>
• Dirビットが"1"かつ RmtEnビットが"0"のとき, UMaskの設定により動作が異なります
- UMask が "1" の場合は , 受容フィルタを通過しリモートフレームを受信したとき ,
TxRqst ビットを "0" にリセットします。その時 , 受信した ID, IDE, RTR, DLC はメッ
セージオブジェクトに格納し , NewDat ビットは "1" にセットされ , データは変更し
ません ( データフレームのように取り扱います )。
- UMask が "0" の場合は , リモートフレーム受信に対し , TxRqst ビットはそのまま保
持し , リモートフレームを無視します。
TxRqst: 送信要求ビット
TxRqst
機能
0
送信アイドル状態 ( 送信中でもないし , 送信待ち状態でもない ) を
示します。
1
送信中または , 送信待ちであることを示します。
DLC3-0: データ長コード
DLC3-0
機能
0-8
データフレーム長は 0 ∼ 8 バイトです。
9-15
設定禁止です。
設定された場合は , 8 バイト長となります。
<注意事項>
データフレームを受信すると DLC ビットには , 受信した DLC が格納されます。
504
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
Data 0-7: データ 0-7
機能
Data 0
CAN データフレームの最初のデータバイト
Data 1
CAN データフレームの 2 番目のデータバイト
Data 2
CAN データフレームの 3 番目のデータバイト
Data 3
CAN データフレームの 4 番目のデータバイト
Data 4
CAN データフレームの 5 番目のデータバイト
Data 5
CAN データフレームの 6 番目のデータバイト
Data 6
CAN データフレームの 7 番目のデータバイト
Data 7
CAN データフレームの 8 番目のデータバイト
<注意事項>
• CAN バスへのシリアル出力は , MSB(bit7 もしくは bit15) より出力します。
• 受信メッセージデータが 8 バイトより少ない場合は , データレジスタの残りのバイトに
は不定が書き込まれます。
• メッセージオブジェクトへの転送は , Data A もしくは Data B の4バイト単位で行われ
ますので , 4バイトのうちある一部のデータだけを更新することはできません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
505
第 22 章 CAN
22.4 CAN レジスタ機能
22.4.4
MB91220 シリーズ
メッセージハンドラレジスタ
メッセージハンドラレジスタは , すべて読出し専用です。メッセージオブジェクト
の TxRqst, NewDat, IntPnd, MsgVal ビットと IntId ビットは , ステータスを表示し
ます。
■ メッセージハンドラレジスタ
• CAN 送信要求レジスタ 1, 2 (TREQR1,TREQR2)
• CAN データ更新レジスタ 1, 2 (NEWDT1,NEWDT2)
• CAN 割込みペンディングレジスタ 1, 2 (INTPND1,INTPND2)
• CAN メッセージ有効レジスタ 1, 2 (MSGVAL1,MSGVAL2)
■ CAN 送信要求レジスタ (TREQR1, TREQR2)
全メッセージオブジェクトの TxRqst ビットを表示します。TxRqst ビットを読み出すこ
とにより , どのメッセージオブジェクトの送信要求がペンディング中であるかチェッ
クすることができます。
図 22.4-14 CAN 送信要求レジスタ (TREQR1, TREQR2) のビット構成
CAN 送信要求レジスタ 2 ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
Base+80H
bit12
bit11
bit10
bit9
bit8
00000000B
TxRqst 32-25
R,WX
R,WX
R,WX
R,WX
R,WX
初期値
R,WX
R,WX
R,WX
CAN 送信要求レジスタ 2 ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
Base+81H
bit4
bit3
bit2
bit1
bit0
00000000B
TxRqst 24-17
R,WX
R,WX
R,WX
R,WX
R,WX
初期値
R,WX
R,WX
R,WX
CAN 送信要求レジスタ 1 ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
Base+82H
bit12
bit11
bit10
bit9
bit8
00000000B
TxRqst 16-9
R,WX
R,WX
R,WX
R,WX
R,WX
初期値
R,WX
R,WX
R,WX
CAN 送信要求レジスタ 1 ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
bit4
R,WX
R,WX
R,WX
R,WX
Base+83H
bit3
bit2
bit1
bit0
R,WX
R,WX
R,WX
00000000B
TxRqst 8-1
R,WX
初期値
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
506
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
TxRqst 32-1: 送信要求ビット
TxRqst 32-1
機能
0
送信アイドル状態 ( 送信中でもないし , 送信待ち状態でもない )
を示します。
1
送信中または , 送信待ちであることを示します。
TxRqst ビットのセット/リセット条件を以下に示します。
• セット条件
IFx コマンドマスクレジスタ (IFxCMSK) の WR/RD に "1", TxRqst に "1" を設定し ,
IFx コマンド要求レジスタ (IFxCREQ) への書込みにより特定オブジェクトの
TxRqst にセットできます。
IFx コマンドマスクレジスタ (IFxCMSK) の WR/RD に "1", TxRqst に "0",IFx メッ
セージ制御レジスタ (IFxMCTR) の TxRqst に "1" を設定した場合 , IFx コマンド要
求レジスタ (IFxCREQ) への書込みにより特定オブジェクトの TxRqst にセットで
きます。
Dir ビットが "1", RmtEn ビットが "1" に設定し , 受容フィルタを通過したリモー
トフレームの受信によりセットされます。
• リセット条件
IFx コマンドマスクレジスタ (IFxCMSK) の WR/RD に "1", TxRqst に "0", IFx メッ
セージ制御レジスタ (IFxMCTR) の TxRqst に "0" を設定した場合 , IFx コマンド要
求レジスタ (IFxCREQ) への書込みにより特定オブジェクトの TxRqst をリセット
できます。
フレームの送信が正常終了すると , リセットされます。
Dir が "1", RmtEN が "0", UMask が "1" の場合 , 受容フィルタを通過したリモート
フレームの受信によりリセットされます。
32 メッセージバッファ以上を搭載する CAN マクロにおける送信要求ビットの確認に
ついては以下の表を参照してください。
表 22.4-3 32 メッセージバッファ以上を搭載する CAN マクロにおける送信要求ビット
addr + 0
addr + 1
addr + 2
addr + 3
TREQR 4 & 3
TxRqst 64-33
(address 84H)
TxRqst 64-57
TxRqst 56-49
TxRqst 48-41
TxRqst 40-33
TREQR 6 & 5
TxRqst 96-65
(address 88H)
TxRqst 96-89
TxRqst 88-81
TxRqst 80-73
TxRqst 72-65
TREQR 8 & 7
TxRqst 128-97
(address 8CH)
CM71-10142-5
TxRqst 128-121 TxRqst 120-113 TxRqst 112-105
FUJITSU SEMICONDUCTOR LIMITED
TxRqst 104-97
507
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
■ CAN データ更新レジスタ (NEWDT1, NEWDT2)
全メッセージオブジェクトの NewDat ビットを表示します。NewDat ビットを読み出す
ことにより , どのメッセージオブジェクトのデータが更新されたかチェックすること
ができます。
図 22.4-15 CAN データ更新レジスタ (NEWDT1, NEWDT2) のビット構成
CAN データ更新レジスタ 2 ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
Base+90H
bit12
bit11
bit10
bit9
bit8
00000000B
NewDat 32-25
R,WX
R,WX
R,WX
R,WX
R,WX
初期値
R,WX
R,WX
R,WX
CAN データ更新レジスタ 2 ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
Base+91H
bit4
bit3
bit2
bit1
bit0
00000000B
NewDat 24-17
R,WX
R,WX
R,WX
R,WX
R,WX
初期値
R,WX
R,WX
R,WX
CAN データ更新レジスタ 1 ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
Base+92H
bit12
bit11
bit10
bit9
bit8
NewDat 16-9
R,WX
R,WX
R,WX
R,WX
R,WX
初期値
00000000B
R,WX
R,WX
R,WX
CAN データ更新レジスタ 1 ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
Base+93H
bit4
bit3
bit2
bit1
bit0
00000000B
NewDat 8-1
R,WX
R,WX
R,WX
R,WX
R,WX
初期値
R,WX
R,WX
R,WX
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
508
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
NewDat 32-1: データ更新ビット
NewDat 32-1
機能
0
有効なデータがないことを示します
1
有効なデータがあることを示します
NewDat ビットのセット/リセット条件を以下に示します。
• セット条件
IFx コマンドマスクレジスタ (IFxCMSK) の WR/RD に "1", IFx メッセージ制御レ
ジスタ (IFxMCTR) の NewDat に "1" を設定して , IFx コマンド要求レジスタ
(IFxCREQ) の書込みにより特定オブジェクトにセットできます。
受容フィルタを通過したデータフレームの受信によりセットされます。
Dir が "1", RmtEN が "0", UMask が "1" の場合 , 受容フィルタを通過したリモート
フレームの受信によりセットされます。
• リセット条件
IFx コマンドマスクレジスタ (IFxCMSK) の WR/RD に "0", NewDat に "1" を設定
した場合 , IFx コマンド要求レジスタ (IFxCREQ) の書込みにより特定オブジェク
トの NewDat をリセットできます。
IFx コマンドマスクレジスタ (IFxCMSK) の WR/RD に "1", IFx メッセージ制御レ
ジスタ (IFxMCTR) の NewDat を "0" に設定した場合 , IFx コマンド要求レジスタ
(IFxCREQ) の書込みにより特定オブジェクトの NewDat をリセットできます。
送信用シフトレジスタ ( 内部レジスタ ) へデータを転送終了後 , リセットされま
す。
32 メッセージバッファ以上を搭載する CAN マクロにおけるデータ更新ビットの確認
については以下の表を参照してください。
表 22.4-4 32 メッセージバッファ以上を搭載する CAN マクロにおけるデータ更新ビット
addr + 0
addr + 1
addr + 2
addr + 3
NEWDT 4 & 3
NewDat 64-33
(address 94H)
NewDat 64-57
NewDat 56-49
NewDat 48-41
NewDat 40-33
NEWDT 6 & 5
NewDat 96-65
(address 98H)
NewDat 96-89
NewDat 88-81
NewDat 80-73
NewDat 72-65
NEWDT 8 & 7
NewDat 128-97
(address 9CH)
CM71-10142-5
NewDat 128-121 NewDat 120-113 NewDat 112-105 NewDat 104-97
FUJITSU SEMICONDUCTOR LIMITED
509
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
■ CAN 割込みペンディングレジスタ (INTPND1, INTPND2)
全メッセージオブジェクトの IntPnd ビットを表示します。IntPnd ビットを読み出すこ
とにより , どのメッセージオブジェクトが割込みペンディング中であるかチェックす
ることができます。
図 22.4-16 CAN 割込みペンディングレジスタ (INTPND1, INTPND2) のビット構成
CAN 割込みペンディングレジスタ 2 ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
Base+A0H
bit12
bit11
bit10
bit9
bit8
00000000B
IntPnd 32-25
R,WX
R,WX
R,WX
R,WX
R,WX
初期値
R,WX
R,WX
R,WX
CAN 割込みペンディングレジスタ 2 ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
Base+A1H
bit4
bit3
bit2
bit1
bit0
00000000B
IntPnd 24-17
R,WX
R,WX
R,WX
R,WX
R,WX
初期値
R,WX
R,WX
R,WX
CAN 割込みペンディングレジスタ 1 ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
Base+A2H
bit12
bit11
bit10
bit9
bit8
00000000B
IntPnd 16-9
R,WX
R,WX
R,WX
R,WX
R,WX
初期値
R,WX
R,WX
R,WX
CAN 割込みペンディングレジスタ 1 ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
Base+A3H
bit4
bit3
bit2
bit1
bit0
00000000B
IntPnd 8-1
R,WX
R,WX
R,WX
R,WX
R,WX
初期値
R,WX
R,WX
R,WX
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
510
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
IntPnd 32-1: 割込みペンディングビット
IntPnd 32-1
機能
0
割込み要因がありません
1
割込み要因があります
IntPnd ビットのセット/リセット条件を以下に示します。
• セット条件
TxIE が "1" にセットされている場合 , フレームの正常送信完了によりセットされ
ます。
RxIE が "1" にセットされている場合 , 受容フィルタを通過したフレームの正常受
信完了によりセットされます。
• リセット条件
IFx コマンドマスクレジスタ (IFxCMSK) が WR/RD に "0", CIP に "1" を設定した
場合 , IFx コマンド要求レジスタ (IFxCREQ) の書込みにより特定オブジェクトの
IntPnd をリセットできます。
32 メッセージバッファ以上を搭載する CAN マクロにおける割込みベンディングビッ
トの確認については以下の表を参照してください。
表 22.4-5 32 メッセージバッファ以上を搭載する CAN マクロにおける割込みベンディングビット
addr + 0
addr + 1
addr + 2
addr + 3
INTPND 4 & 3
IntPnd 64-33
(address A4H)
IntPnd 64-57
IntPnd 56-49
IntPnd 48-41
IntPnd 40-33
INTPND 6 & 5
IntPnd 96-65
(address A8H)
IntPnd 96-89
IntPnd 88-81
IntPnd 80-73
IntPnd 72-65
INTPND 8 & 7
IntPnd 128-97
(address ACH)
CM71-10142-5
IntPnd 128-121 IntPnd 120-113 IntPnd 112-105
FUJITSU SEMICONDUCTOR LIMITED
IntPnd 104-97
511
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
■ CAN メッセージ有効レジスタ (MSGVAL1, MSGVAL2)
全メッセージオブジェクトの MsgVal ビットを表示します。MsgVal ビットを読み出す
ことにより , どのメッセージオブジェクトが有効であるかチェックすることができま
す。
図 22.4-17 CAN メッセージ有効レジスタ (MSGVAL1, MSGVAL2) のビット構成
CAN メッセージ有効レジスタ 2 ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
Base+B0H
bit12
bit11
bit10
bit9
bit8
00000000B
MsgVal 32-25
R,WX
R,WX
R,WX
R,WX
R,WX
初期値
R,WX
R,WX
R,WX
CAN メッセージ有効レジスタ 2 ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
Base+B1H
bit4
bit3
bit2
bit1
bit0
00000000B
MsgVal 24-17
R,WX
R,WX
R,WX
R,WX
R,WX
初期値
R,WX
R,WX
R,WX
CAN メッセージ有効レジスタ 1 ( 上位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
Base+B2H
bit12
bit11
bit10
bit9
bit8
00000000B
MsgVal 16-9
R,WX
R,WX
R,WX
R,WX
R,WX
初期値
R,WX
R,WX
R,WX
CAN メッセージ有効レジスタ 1 ( 下位 ) ( アクセス:Byte, Half-word, Word)
アドレス
bit7
bit6
bit5
Base+B3H
bit4
bit3
bit2
bit1
bit0
00000000B
MsgVal 8-1
R,WX
R,WX
R,WX
R,WX
R,WX
初期値
R,WX
R,WX
R,WX
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
512
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
MsgVal 32-1: メッセージ有効ビット
MsgVal 32-1
機能
0
メッセージオブジェクトは無効です
メッセージの送受信は行いません
1
メッセージオブジェクトは有効です
メッセージの送受信が可能となります
MsgVal ビットのセット/リセット条件を以下に示します。
• セット条件
IFx アビトレーションレジスタ2の MsgVal ビットに "1" を設定し , IFx コマンド
要求レジスタ (IFxCREQ) への書込みにより特定オブジェクトの MsgVal ビットを
セットできます。
• リセット条件
IFx アビトレーションレジスタ2の MsgVal ビットに "0" を設定し , IFx コマンド
要求レジスタ (IFxCREQ) の書込みにより特定オブジェクトの MsgVal ビットをク
リアできます。
32 メッセージバッファ以上を搭載する CAN マクロにおけるメッセージ有効ビットの
確認については以下の表を参照してください。
表 22.4-6 32 メッセージバッファ以上を搭載する CAN マクロにおけるメッセージ有効ビット
addr + 0
addr + 1
addr + 2
addr + 3
MSGVAL 4 & 3
MsgVal 64-33
(address B4H)
MsgVal 64-57
MsgVal 56-49
MsgVal 48-41
MsgVal 40-33
MSGVAL 6 & 5
MsgVal 96-65
(address B8H)
MsgVal 96-89
MsgVal 88-81
MsgVal 80-73
MsgVal 72-65
MSGVAL 8 & 7
MsgVal 128-97
(address BCH)
CM71-10142-5
MsgVal 128-121 MsgVal 120-113 MsgVal 112-105 MsgVal 104-97
FUJITSU SEMICONDUCTOR LIMITED
513
第 22 章 CAN
22.4 CAN レジスタ機能
MB91220 シリーズ
■ CAN プリスケーラレジスタ
CAN インタフェースに供給するクロックの分周比を定義するものです。レジスタの値
を変更する場合は , CAN 制御レジスタ (CTRLR) の初期化ビット (Init) を "1" にセット
し , すべてのバス動作を停止してください。
図 22.4-18 CAN プリスケーラレジスタのビット構成
CAN プリスケーラレジスタ ( アクセス:Byte, Half-word, Word)
アドレス
bit15
bit14
bit13
bit12
01A8H
予約
R/W0
-
-
-
R0,WX
R0,WX
R0,WX
bit11
bit10
bit9
bit8
CANPRE3CANPRE2CANPRE1CANPRE0
R/W
R/W
R/W
初期値
0---0000B
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit15] : 予約ビット
必ず "0" を書き込んでください。
[bit14 ∼ bit12] : 未定義ビット
常に "0" が読み出されます。書込みは "0" を設定してください。
[bit11 ∼ bit8] :CAN プリスケーラ設定ビット
CANPRE[3:0]
機能
0000
CAN クロックとしてシステムクロックの同一周期が選択されます。
( 初期値 : CANPRE[3:0]=0000)
0001
CAN クロックとしてシステムクロックの 1/2 周期が選択されます。
001x
CAN クロックとしてシステムクロックの 1/4 周期が選択されます。
01xx
CAN クロックとしてシステムクロックの 1/8 周期が選択されます。
1000
CAN クロックとしてシステムクロックの 2/3 周期が選択されます。
クロックの Duty は 67% となります。
1001
CAN クロックとしてシステムクロックの 1/3 周期が選択されます。
101x
CAN クロックとしてシステムクロックの 1/6 周期が選択されます。
11xx
CAN クロックとしてシステムクロックの 1/12 周期が選択されま
す。
<注意事項>
• CAN プリスケータ設定ビットの変更は , CAN 制御レジスタ (CTRLR) の初期化ビット
を "1" にセットし , すべてのバス動作を停止させた後に行ってください。
• レジスタの設定により CAN インタフェースに供給するクロックは 16MHz 以下として
ください。
514
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.5 CAN 機能
MB91220 シリーズ
22.5
CAN 機能
CAN には以下の機能があります。
• メッセージオブジェクト
• メッセージ送信動作
• メッセージ受信動作
• FIFO バッファ機能
• 割込み機能
• ビットタイミング
• テストモード
• ソフトウェア初期化
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
515
第 22 章 CAN
22.5 CAN 機能
22.5.1
MB91220 シリーズ
メッセージオブジェクト
メッセージ RAM のメッセージオブジェクトとインタフェースについて説明します。
■ メッセージオブジェクト
メッセージ RAM のメッセージオブジェクト設定 (MsgVal, NewDat, IntPnd, TxRqst ビッ
トを除く ) は , ハードウェアリセットによって初期化されません。そのためメッセージ
オブジェクトを CPU で初期化するか , MsgVal ビットを無効 (MsgVal=0) に設定してく
ださい。また , CAN ビットタイミングレジスタ (BTR) の設定は CAN 制御レジスタ
(CTRLR) の Init ビットが "0" の時行ってください。
メッセージオブジェクトの設定は , メッセージインタフェースレジスタ (IFx マスクレ
ジスタ , IFx アービトレーションレジスタ , IFx メッセージ制御レジスタ (IFxMCTR), IFx
データレジスタ (IFxDTx)) に設定した後 , IFx コマンド要求レジスタ (IFxCREQ) への
メッセージ番号の書込みにより , そのインタフェースレジスタのデータが指定された
メッセージオブジェクトへ転送されます。
CAN 制御レジスタ (CTRLR) の Init ビットが "0" にクリアされると CAN コントローラ
は動作を開始します。受容フィルタを通過した受信メッセージは , メッセージ RAM へ
格納されます。送信要求が保留されているメッセージは , メッセージ RAM から CAN
コントローラのシフトレジスタへ転送され , CAN バスへの送信が行われます。
CPU は , メッセージインタフェースレジスタ経由で受信メッセージの読出しおよび , 送
信メッセージの更新を行います。また , CAN 制御レジスタ (CTRLR) および , IFx メッ
セージ制御レジスタ (IFxMCTR)( メッセージオブジェクト ) の設定に応じて , CPU への
割込みが行われます。
■ メッセージ RAM とのデータ送受信
メッセージインタフェースレジスタとメッセージ RAM とのデータ転送を開始すると ,
IFx コマンド要求レジスタ (IFxCREQ) の Busy ビットを "1" にセットします。転送完了
後 , BUSY ビットは "0" にクリアされます ( 図 22.5-1 参照 )。
IFx コマンドマスクレジスタ (IFxCMSK) は , 一つのメッセージオブジェクトの全デー
タ転送か , データの部分転送を行うかを設定します。メッセージ RAM の構造上 , メッ
セージオブジェクトの単一ビット/バイトの書込みは不可能となっており , 常に一つ
のメッセージオブジェクトの全データをメッセージ RAM へ書き込みます。したがっ
て , メッセージインタフェースレジスタからメッセージ RAM へのデータ転送は , リー
ドモディファイライトサイクルを実行しています。
516
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.5 CAN 機能
MB91220 シリーズ
図 22.5-1 メッセージインタフェースレジスタとメッセージ RAM のデータ転送
スタート
いいえ
IFxコマンド要求レジスタへ
書込み
はい
Busy = 1
Interrupt = 0
いいえ
はい
WR/RD = 1
メッセージRAMから
メッセージインタフェースレジスタへ読出し
メッセージRAMから
メッセージインタフェースレジスタへ読出し
メッセージインタフェースレジスタから
メッセージRAMへの書込み
Busy = 0
Interrupt = 1
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
517
第 22 章 CAN
22.5 CAN 機能
MB91220 シリーズ
メッセージ送信動作
22.5.2
送信メッセージオブジェクトの設定方法および送信動作について説明します。
■ メッセージ送信
メッセージインタフェースレジスタとメッセージ RAM 間でデータ転送がない場合 ,
CAN メッセージ有効レジスタ (MSGVAL) の MsgVal ビットと CAN 送信要求レジスタ
(TREQR) の TxRqst ビットを評価します。送信要求を保留している中で , 最高優先度の
有効であるメッセージオブジェクトが , 送信用のシフトレジスタへ転送が行われます。
そのときメッセージオブジェクトの NewDat ビットは "0" にクリアされます。
正常に送信が完了したとき , メッセージオブジェクトに新たなデータがない (NewDat=0)
場合は , TxRqst ビットは "0" にリセットされます。TxIE が "1" にセットされている場合
は , 送信成功後に IntPnd ビットが "1" にセットされます。CAN コントローラが CAN バス
上で調停に負けた場合 , あるいは転送中にエラーが発生した場合は , CAN バスがアイドル
になり次第 , 直ちにメッセージの再送信が行われます。
■ 送信優先度
メッセージオブジェクトの送信優先度は , メッセージ番号によって決定します。メッ
セージオブジェクト 1 が最高の優先度で , メッセージオブジェクト 32 ( 搭載している
最大メッセージオブジェクト番号 ) が最低優先度となります。従って , 2 つ以上の送信
要求が保留されていると , 対応するメッセージオブジェクトの小さい番号順に転送が
行われます。
■ 送信メッセージオブジェクトの設定
表 22.5-1 に送信オブジェクトの初期化方法を示します。
表 22.5-1 送信メッセージオブジェクトの初期化
MsgVal
Arb
Data
Mask
EoB
Dir
1
appl.
appl.
appl.
1
1
NewDat MsgLst
0
0
RxIE
TxIE
IntPnd
0
appl.
0
RmtEn TxRqst
appl.
0
IFx アービトレーションレジスタ (ID28-0 と Xtd ビット ) は , アプリケーションで与え
られ , 送信メッセージの ID およびメッセージの種類を定義します。
標準フレーム (11 ビット ID) を設定した場合は , ID28 ∼ ID18 を使用し , ID17 ∼ ID0 は
無効となります。拡張フレーム (29 ビット ID) を設定した場合は , ID28 ∼ ID0 を使用
します。
TxIE ビットに "1" をセットすると , メッセージオブジェクトの送信成功後に IntPnd ビッ
トが "1" にセットされます。
RmtEn ビットに "1" をセットすると , 一致するリモートフレームを受信後 , TxRqst ビッ
トに "1" をセットし , データフレームを自動的に送信します。
データレジスタ (DLC3-0, Data0-7) の設定は , アプリケーションで与えられます。
518
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.5 CAN 機能
MB91220 シリーズ
Umask=1 のとき , IFx マスクレジスタ (Msk28-0, UMask, MXtd, MDir ビット ) は , マスク
設定によりグループ化された ID を持つリモートフレームを受信し , その後 , 送信を許
可 (TxRqst ビットに "1" をセット ) するために使用されます。詳細は ,「22.5.3 メッセー
ジ受信動作」のリモートフレームを参照して下さい。
<注意事項>
IFx マスクレジスタの Dir ビットをマスク許可に設定することは禁止です。
■ 送信メッセージオブジェクトの更新
CPU は , 送信メッセージオブジェクトのデータをメッセージインタフェースレジスタ
経由で , 更新する事ができます。
送信メッセージオブジェクトのデータは , 対応する IFx データレジスタ (IFxDTx) の 4
バイト単位 (IFx データレジスタ A(IFxDTAx), IFx データレジスタ (IFxDTBx) 単位 ) で
データ書込みが行われます。そのため1バイトだけ送信メッセージオブジェクトを変
更することはできません。
8 バイトのデータのみを更新する時は , まず IFx コマンドマスクレジスタ (IFxCMSK) へ
0087H の書込みを行います。そして , IFx コマンド要求レジスタ (IFxCREQ) へメッセー
ジ番号の書込みにより , 送信メッセージオブジェクトのデータ更新 (8 バイトデータ )
と TxRqst ビットへの "1" 書込みが同時に行われます。
送信中のメッセージ番号に連続して送信させたい場合 , TxRqst ビットと NewDat に "1"
を設定してください。TxRqst ビットは "0" にリセットされずに連続送信が可能となり
ます。
NewDat ビットが "1", TxRqst ビットが共に "1" の場合 , 送信を開始すると NewDat ビッ
トは "0" にリセットされます。
<注意事項>
• データを更新する場合は , IFx データレジスタ A(IFxDTAx) もしくは IFx データレジス
タ B(IFxDTBx) の 4 バイト単位で行って下さい。
• データのみを更新する場合は, NewDatビットとTxRqstビットに"1"を設定して下さい。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
519
第 22 章 CAN
22.5 CAN 機能
22.5.3
MB91220 シリーズ
メッセージ受信動作
受信メッセージオブジェクトの設定方法および受信動作について説明します。
■ 受信メッセージの受容フィルタ
メッセージのアービトレーション/コントロールフィールド (ID + IDE + RTR + DLC)
が CAN コントローラ受信用シフトレジスタへ完全にシフトされると , 有効メッセージ
オブジェクトとの一致比較のためにメッセージ RAM のスキャンを開始します。
この時 , メッセージ RAM のメッセージオブジェクトから調停フィールドとマスクデー
タ (MsgVal, UMask, NewDat, EoB を含む ) がロードされ , メッセージオブジェクトとシ
フトレジスタの調停フィールドがマスクデータを含んで比較されます。
この動作は ,“メッセージオブジェクトとシフトレジスタの調停フィールドが一致検出
されるまで ", または“メッセージ RAM の最終ワードに到達するまで ", 繰り返し実行
します。一致が検出されると , メッセージ RAM のスキャンは停止され , 受信フレーム
のタイプ ( データフレームまたはリモートフレーム ) により , CAN コントローラは処
理を行います。
■ 受信優先度
メッセージオブジェクトの受信優先度は , メッセージ番号によって決定します。メッ
セージオブジェクト 1 が最高の優先度で , メッセージオブジェクト 32( 搭載している最
大メッセージオブジェクト番号 ) が最低優先度となります。従って , 受容フィルタで2
つ以上一致した場合は , メッセージ番号の小さい番号が受信メッセージオブジェクト
となります。
■ データフレーム受信
CAN コントローラは , 受容フィルタで一致したメッセージオブジェクトのメッセージ
RAM へ , シフトレジスタから受信メッセージを転送し格納します。この格納するデー
タは , データバイトだけではなく , すべてのアービトレーションフィールドおよびデー
タ長コードも格納します。これは , IFx マスクレジスタがマスク設定されている場合で
も実行されます (ID とデータバイトを保持するために格納されます )。
NewDat ビットは , 新たなデータが受信されると "1" にセットされます。CPU がメッ
セージオブジェクトを読み出した時には , NewDat ビットを "0" にリセットして下さい。
メッセージ受信時に , 既に NewDat ビットが "1" にセットされている場合は , その前の
データが失われたことになり , MsgLst ビットが "1" にセットされます。
RxIE ビットが "1" にセットされている場合 , メッセージバッファを受信すると CAN 割
込みペンディングレジスタ (INTPND) の IntPnd ビットに "1" をセットします。その時 ,
そのメッセージオブジェクトの TxRqst ビットは "0" にクリアされます。これは , リモー
トフレーム送信処理中に , 要求データフレームを受信した場合 , 送信処理を防ぐために
行われます。
520
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.5 CAN 機能
MB91220 シリーズ
■ リモートフレーム
リモートフレーム受信時の動作は , 下記の 3 つの処理があります。一致するメッセージ
オブジェクトの設定より , リモートフレーム受信時の処理が選択されます。
1)Dir="1"( 送信方向 ), RmtEn="1", UMask="1" または "0"
一致したリモートフレームの受信を行い , このメッセージオブジェクトの TxRqst
ビットのみ "1" にセットされ , リモートフレームに対するデータフレームの自動返
信 ( 送信 ) を行います (TxRqst ビット以外のメッセージオブジェクトは変更されま
せん )。
2)Dir="1"( 送信方向 ), RmtEn="0", UMask="0"
受信したリモートフレームがメッセージオブジェクトと一致しても受信しないで
リモートフレームを無効にします ( このメッセージオブジェクトの TxRqst ビットは
変更されません )。
3)Dir="1"( 送信方向 ), RmtEn="0", UMask="1"
受信したリモートフレームがメッセージオブジェクトと一致した場合 , このメッ
セージオブジェクトの TxRqst ビットは "0" にリセットされ , リモートフレームは受
信データフレームのように処理されます。受信したアービトレーションフィールド
とコントロールフィールド (ID + IDE + RTR + DLC) は , メッセージ RAM のメッセー
ジオブジェクトへ格納され , このメッセージオブジェクトの NewDat ビットが "1" に
セットされます。メッセージオブジェクトのデータフィールドは変更されません。
■ 受信メッセージオブジェクトの設定
表 22.5-2 に受信メッセージオブジェクトの初期化方法を示します。
表 22.5-2 受信メッセージオブジェクトの初期化
MsgVal
Arb
Data
Mask
EoB
Dir
1
appl.
appl.
appl.
1
0
NewDat MsgLst
0
0
RxIE
TxIE
IntPnd
RmtEn
TxRqst
appl.
0
0
0
0
IFx アービトレーションレジスタ (ID28-0, Xtd ビット ) は , アプリケーションによって
与えられ , 受容フィルタに用いられる受信メッセージ ID とメッセージの種類を定義し
ます。
標準フレーム (11 ビット ID) を設定した場合は , ID28 ∼ ID18 を使用し , ID17 ∼ ID0 は
無効となります。また , 標準フレームが受信されると , ID17 ∼ ID0 は "0" にリセットさ
れます。拡張フレーム (29 ビット ID) を設定した場合は , ID28 ∼ ID0 を使用します。
RxIE ビットが "1" にセットされた場合 , 受信データフレームがメッセージオブジェク
トへ格納されると IntPnd ビットが "1" にセットされます。
データ長コード (DLC3-0) は , アプリケーションによって与えられます。CAN コント
ローラが , 受信データフレームをメッセージオブジェクトへ格納する時 , 受信データ長
コードと 8 バイトのデータを格納します。データ長コードが 8 未満の場合は , メッセー
ジオブジェクトの残りのデータは不定データが書き込まれます。
Umask=1 のとき , IFx マスクレジスタ (Msk28-0, UMask, MXtd, MDir ビット ) は , マスク
設定によりグループ化された ID を持つデータフレームの受信を許可するために使用し
ます。詳細は , 「22.5.3 メッセージ受信動作」のデータフレーム受信を参照してくださ
い。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
521
第 22 章 CAN
22.5 CAN 機能
MB91220 シリーズ
<注意事項>
IFx マスクレジスタの Dir ビットのマスク設定は禁止です。
■ 受信メッセージの処理
CPU は , メッセージインタフェースレジスタを介して , 受信メッセージをいつでも読み
出すことが可能です。
通常 , IFx コマンドマスクレジスタ (IFxCMSK) に“007FH" を書き込みます。次にメッ
セージオブジェクトのメッセージ番号を IFx コマンド要求レジスタ (IFxCREQ) に書き
込みます。この手順によって , 指定されたメッセージ番号の受信メッセージをメッセー
ジ RAM からメッセージインタフェースレジスタに転送します。この時 , IFx コマンド
マスクレジスタ (IFxCMSK) の設定により , メッセージオブジェクトの NewDat ビット
と IntPnd ビットを "0" にクリアすることが可能です。
受信メッセージの処理は , 受容フィルタにより一致した場合 , メッセージを受信しま
す。メッセージオブジェクトで受容フィルタのマスクを使用している場合は , マスク設
定されたデータが受容フィルタから除外され , メッセージを受信するか判断します。
NewDat ビットは , メッセージオブジェクトが最後に読み出されてから , 新しいメッ
セージが受信されたかを示します。
MsgLst ビットは , 受信したデータがメッセージオブジェクトから読み出されない状態
で次の受信データを受信したために前のデータを失ってしまったことを示します。
MsgLst ビットは自動的にリセットされません。
リモートフレーム送信処理中に , 受容フィルタにより一致するデータフレームが受信
された場合には , TxRqst ビットは自動的に "0" にクリアされます。
522
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.5 CAN 機能
MB91220 シリーズ
FIFO バッファ機能
22.5.4
受信メッセージ処理におけるメッセージオブジェクトの FIFO バッファの構成および
動作について説明します。
■ FIFO バッファの構成
FIFOバッファの受信メッセージオブジェクトの構成は, EoBビットを除いて, 受信メッ
セージオブジェクトの構成と同じです (「22.5.3 メッセージ受信動作」の受信メッセー
ジオブジェクトの設定を参照してください )。
FIFO バッファは , 2 つ以上の受信メッセージオブジェクトを連結して使用します。受
信メッセージオブジェクトの ID とマスクを使用する場合 , この FIFO バッファへ受信
メッセージを格納するためには , それらの設定を一致させる必要があります。
FIFO バッファの最初の受信メッセージオブジェクトは , 優先順位の高いメッセージ番
号の小さい番号となります。FIFO バッファの最後の受信メッセージオブジェクトは ,
EoB ビットに "1" をセットし , FIFO バッファブロックの終わりを示す必要があります。
(FIFO バッファ構成を使用するメッセージオブジェクトの最終メッセージオブジェク
ト以外は , EoB ビットに "0" を設定してください。)
<注意事項>
• FIFO バッファで使用するメッセージオブジェクトの ID とマスク設定は必ず同じ設定
にして下さい。
• FIFO バッファを使用しない場合は , 必ず EoB ビットに "1" を設定してください。
■ FIFO バッファによるメッセージ受信
受信メッセージが , FIFO バッファの ID と一致した場合は , 最小メッセージ番号の FIFO
バッファの受信メッセージオブジェクトへ格納されます。
FIFO バッファの受信メッセージオブジェクトへメッセージが格納されると , この受信
メッセージオブジェクトの NewDat ビットが "1" にセットされます。EoB ビットが "0"
の受信メッセージオブジェクトへ NewDat ビットをセットすると , CAN コントローラ
による FIFO バッファ書込みは , 最後の受信メッセージオブジェクト (EoB ビット ="1")
に到達するまで , 受信メッセージオブジェクトは保護され , 書込みが行われません。
最終FIFOバッファまで有効なデータが格納された状態で受信メッセージオブジェクト
の NewDat ビットに "0" 書込み ( 書込み保護の解除 ) が行われないと次に受信された
メッセージが最終メッセージオブジェクトへ書き込まれ , メッセージは上書きされて
しまいます。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
523
第 22 章 CAN
22.5 CAN 機能
MB91220 シリーズ
■ FIFO バッファからの読出し
CPU が受信メッセージオブジェクトの内容を読み出すには , IFx コマンド要求レジスタ
(IFxCREQ)へ受信メッセージ番号を書き込むことによって, メッセージインタフェース
レジスタに転送され読み出すことができます。このとき , IFx コマンドマスクレジスタ
(IFxCMSK) の WR/RD を "0"( リード ) および , TxRqst/NewDat=1, IntPnd=1 に設定し ,
NewDat ビットと IntPnd ビットを "0" にリセットしてください。
FIFO バッファの機能を保証するために , FIFO バッファの受信メッセージオブジェクト
は , 必ず最小のメッセージ番号から読み出してください。
図 22.5-2 に FIFO バッファで連結されるメッセージオブジェクトの CPU の処理方法を
示します。
図 22.5-2 FIFO バッファの CPU 処理
スタート
メッセージ割込み
CAN割込みレジスタ
読出し
8000H
0000H
CAN割込みレジスタ値
8000H,0000H以外
状態割込み処理実行
終了
(通常処理)
メッセージ番号 = CAN割込みレジスタ値
IFxコマンド要求レジスタ(メッセージ番号)
書込み
メッセージインタフェースレジスタ
読出し
(リセット:NewDat=0,IntPnd=0)
IFxメッセージ制御レジスタ
読出し
NewDat = 1
いいえ
はい
IFxメッセージデータレジスタA,B
読出し
EoB = 1
はい
いいえ
メッセージ番号 = メッセージ番号+1
524
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.5 CAN 機能
MB91220 シリーズ
22.5.5
割込み機能
ステータス割込み (IntId=8000H) およびメッセージ割込み (IntId= メッセージ番号 )
による割込み処理について説明します。
複数の割込みが保留中である場合 , CAN 割込みレジスタ (INTR) は , 保留中の最高優先
度の割込みコードを示します。割込みコードの設定された時間順は無視され , 常に優先
順位の高い割込みコードが表示されます。CPU がクリアするまで割込みコードは保持
されます。
ステータス割込み (IntId ビットの 8000H) は , 最高優先度となります。
メッセージ割込みの優先度は , メッセージ番号の小さいメッセージが高く , 大きいメッ
セージが低くなります。
メッセージ割込みは , メッセージオブジェクトの IntPnd ビットのクリアによってクリ
アされます。ステータス割込みは , CAN ステータスレジスタ (STATR) の読出しでクリ
アされます。
CAN 割込みペンディングレジスタ (INTPND) の IntPnd ビットは , 割込みの有無を示し
ます。保留中の割込みがないときは , IntPnd ビットは "0" を示します。
CAN制御レジスタ(CTRLR)のIEビットおよび, IFxメッセージ制御レジスタ(IFxMCTR)
の TxIE ビット ,RxIE ビットに "1" をセットしている状態で , IntPnd ビットが "1" になる
と CPU への割込み信号がアクティブになります。割込み信号は , CAN 割込みペンディ
ングレジスタ (INTPND) が "0" にクリアされる ( 割込み要因リセット ) か , CAN 制御レ
ジスタ (CTRLR) の IEビットが "0" にリセットされるまでアクティブ状態を保持します。
CAN 割込みレジスタ (INTR) の 8000H は , CAN コントローラによって CAN ステータス
レジスタ (STATR) が更新されたことを示し , この割込みが最高優先度となります。
CAN
ステータスレジスタ (STATR) の更新による割込みは , CAN 制御レジスタ (CTRLR) の
EIE ビットと SIE ビットにより CAN 割込みレジスタ (INTR) への設定許可又は禁止の
制御ができます。また , CPU への割込み信号の制御は , CAN 制御レジスタ (CTRLR) の
IE ビットで行うことができます。
CAN ステータスレジスタ (STATR) の RxOk ビット , TxOk ビット , LEC ビットは , CPU
からの書込みにより更新 ( リセット ) することができますが , その書込みにより割込み
のセット又はリセットを行うことはできません。
CAN 割込みレジスタ (INTR) の 8000H, 0000H 以外は , メッセージ割込みが保留中である
ことを示し , 優先度の高い保留中のメッセージ割込みを示します。
CAN 割込みレジスタ (INTR) は , IE がリセットされた場合でも更新されます。
CPU へのメッセージ割込みの原因は , CAN 割込みレジスタ (INTR) 又は CAN 割込みペ
ンディングレジスタ (INTPND) で確認することができます。(「22.4.4 メッセージハン
ドラレジスタ」参照 ) メッセージ割込みをクリアする場合 , 同時にメッセージデータを
読み出すことは可能であり , CAN 割込みレジスタ (INTR) で示されているメッセージ割
込みをクリアすると次に優先度の高い割込みが CAN 割込みレジスタ (INTR) にセット
され , 次の割込み処理を待つことになります。割込みがない場合には , CAN 割込みレ
ジスタ (INTR) は 0000H を示します。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
525
第 22 章 CAN
22.5 CAN 機能
MB91220 シリーズ
<注意事項>
• ステータス割込み (IntId=8000H) は , CAN ステータスレジスタ (STATR) の読出しアク
セスにより割込みクリアされます。
• CAN ステータスレジスタ (STATR) の書込みアクセスによる , ステータス割込み (IntId=
8000H) は発生しません。
526
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.5 CAN 機能
MB91220 シリーズ
22.5.6
ビットタイミング
ビットタイミングについての概要と CAN コントローラにおけるビットタイミングに
ついて説明します。
CAN ネットワークの各 CAN ノードは , それぞれクロック発振器 ( 通常は水晶発振器 )
を持っています。ビットタイムのタイムパラメータは , CAN ノードごとに個別に構成
できます。CAN ノードの発振周期 (fosc) が異なっていても , 共通のビットレートを作
り出せます。
これらの発振器の周波数は , 温度や電圧の変化 , コンポーネントの悪化により少し異な
ります。その変動が発振器の許容範囲 (df) 内である限りは , CAN ノードはビットスト
リームへ再同期化することで異なるビットレートを補償できます。
CAN 仕様に応じて , ビットタイムは 4 つの区分に分けられ ( 図 22.5-3 ビットタイミン
グ 参 照 ), 同 期 化 部 (Sync_Seg), 伝 送 時 間 部 (Prop_Seg), フ ェ イ ズ バ ッ フ ァ 部 1
(Phase_Seg1), フェイズバッファ部 2(Phase_Seg2) で構成されます。それぞれの区分は ,
プログラマブルな時間量 ( 表 22.5-3 CAN ビットタイムのパラメータ参照 ) から成りま
す。ビットタイムの基本単位時間 (tq) は , CAN コントローラのシステムクロック fsys
とボーレートプリスケーラ (BRP) で定義されます。
tq = BRP / fsys
CAN のシステムクロック fsys は , Clock 入力の周波数 ( 図 22.2-1 CAN のブロックダイ
ヤグラム参照 ) になります。同期化部の Sync_Seg は , CAN バスのエッジを期待する
ビットタイム内のタイミングとなります。伝送時間部の Prop_Seg は , CAN ネットワー
ク内の物理的遅延時間を補償します。フェイズバッファ部の Phase_Seg1, Phase_Seg2 は
, サンプリングポイントを指定します。再同期化ジャンプ幅 (SJW) は , エッジフェーズ
エラーを補償するために再同期化時のサンプリングポイントの移動幅を定義します。
図 22.5-3 ビットタイミング
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
527
第 22 章 CAN
22.5 CAN 機能
MB91220 シリーズ
表 22.5-3 CAN ビットタイムのパラメータ
パラメータ
レンジ
機能
BRP
[1-32]
Sync_Seg
1 tq
Prop_Seg
[1-8] tq
物理遅延時間の補償
Phase_Seg1
[1-8] tq
サンプルポイント前のエッジフェーズエラー保証
同期化により一時的に長くされる可能性あります
Phase_Seg2
[1-8] tq
サンプルポイント後のエッジフェーズエラー保証
同期化により一時的に短くされる可能性あります
SJW
[1-4] tq
再同期化ジャンプ幅
どちらかのフェイズバッファ部より長くなることはない
時間量の長さ tq の定義
固定長 システムクロックへの同期化
次に CAN コントローラにおけるビットタイミングを示します。
図 22.5-4 CAN コントローラにおけるビットタイミング
1ビットタイム(BT)
Sync
_Seg
TEG1
1単位時間
(tq)
TEG2
サンプリングポイント
表 22.5-4 CAN コントローラのパラメータ
528
パラメータ
レンジ
機能
BRPE,BRP
[0-1023]
Sync_Seg
1 tq
TSEG1
[1-15] tq
サンプリングポイント前のタイムセグメントです
Prop_Seg と Phase_Seg1 に相当します
ビットタイミングレジスタにより制御可能です
TSEG2
[0-7] tq
サンプリングポイント後のタイムセグメントです
Phase_Seg2 に相当します
ビットタイミングレジスタにより制御可能です
SJW
[0-3] tq
再同期化ジャンプ幅です
ビットタイミングレジスタにより制御可能です
時間量の長さ tq の定義
ビットタイミングレジスタおよびプレスケーラ拡張レジス
タにより最大 1024 までプリスケーラを拡張できます
システムクロックへの同期化
固定長
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.5 CAN 機能
MB91220 シリーズ
各パラメータの関係を以下に示します。
tq
=([BRPE,BRP]+1) / fsys
BT =SYNC_SEG + TEG1 + TEG2
=(1 + (TSEG1 + 1) + (TSEG2 + 1)) × tq
=(3 + TSEG1 + TSEG2) × tq
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
529
第 22 章 CAN
22.5 CAN 機能
22.5.7
MB91220 シリーズ
テストモード
テストモードの設定方法および動作について説明します。
■ テストモード設定
CAN 制御レジスタ (CTRLR) の Test ビットに "1" をセットすることでテストモードと
なります。テストモードに設定すると , CAN テストレジスタ (TESTR) のビット Tx1,
Tx0, LBack, Silent, Basic ビットが有効となります。
CAN 制御レジスタ (CTRLR) の Test ビットを "0" にリセットすることにより , すべての
テストレジスタ機能を無効にします。
■ サイレントモード
CAN テストレジスタ (TESTR) の Silent ビットを "1" にセットすることにより , CAN コ
ントローラをサイレントモードに設定できます。
サイレントモードでは, データフレームとリモートフレームを受信可能ですが, CANバ
ス上にはレセッシブのみ出力し , メッセージおよび ACK の送信を行いません。
CAN コントローラがドミナントビット (ACK ビット , オーバロードフラグ , アクティ
ブエラーフラグ ) の送信を要求された場合 , CAN コントローラ内部の折り返し回路で
RX 側に送信されます。この動作では , CAN バス上においてレセッシブ状態であっても ,
受信側ではCANコントローラ内部で折り返し送信されたドミナントビットを受信する
ことになります。
サイレントモードでは , ドミナントビット (ACK ビット , エラーフラグ ) 送信による影
響がない状態で , CAN バス上のトラフィック解析ができます。
図 22.5-5 にサイレントモードでの信号 CAN_TX と CAN_RX の CAN コントローラへの
接続を示します。
図 22.5-5 サイレントモードでの CAN コントローラ
530
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.5 CAN 機能
MB91220 シリーズ
■ ループバックモード
CAN テストレジスタ (TESTR) の LBack ビットを "1" にセットすることにより , CAN コ
ントローラをループバックモードに設定できます。
ループバックモードは , 自己診断機能に使用できます。
ループバックモードでは , CAN コントローラ内部で TX 側と RX 側が接続され , CAN
コントローラが送信したメッセージを , RX 側で受信したメッセージとして扱い , 受容
フィルタを通過したメッセージは , 受信バッファに格納します。
図 22.5-6 にループバックモードでの信号 CAN_TX と CAN_RX の CAN コントローラへ
の接続を示します。
図 22.5-6 ループバックモードの CAN コントローラ
<注意事項>
外部信号から独立するため , データ/リモートフレームのアクノリッジスロットでのドミ
ナントビットはサンプリングされません。そのため通常 , CAN コントローラはアクノリッ
ジエラーを発生しますが , テストモードではアクノリッジエラーを発生しないようにして
います。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
531
第 22 章 CAN
22.5 CAN 機能
MB91220 シリーズ
■ サイレントモードとループバックモードの結合
CAN テストレジスタ (TESTR) の LBack ビットと Silent ビットを同時に "1" にセットす
ることにより , ループバックモードとサイレントモードを結合させ動作することが可
能です。
このモードは , 「ホットセルフテスト」用に使用できます。「ホットセルフテスト」と
は , CAN コントローラがループバックモードでテストしたときに , CAN_TX 端子には
レセッシブの固定出力 , CAN_RX 端子からの入力は無効となりますので , CAN システ
ムの動作に影響がないことを意味しています。
図 22.5-7 にサイレントモードとループバックモードの結合したときの信号 CAN_TX と
CAN_RX の CAN コントローラへの接続を示します。
図 22.5-7 サイレントモードとループバックモードの結合された CAN コントローラ
■ ベーシックモード
CAN テストレジスタ (TESTR) の Basic ビットを "1" にセットすることにより , CAN コ
ントローラをベーシックモードに設定できます。
ベーシックモードでは , CAN コントローラは , メッセージ RAM を使用せずに動作しま
す。
IF1 メッセージインタフェースレジスタは , 送信制御用として使用されます。
メッセージ送信を行う場合 , まず , IF1 メッセージインタフェースレジスタに送信する
内容を設定します。次に , IF1 コマンド要求レジスタの Busy ビットに "1" をセットする
ことで送信要求します。Busy ビットが "1" にセットされている間 , IF1 メッセージイン
タフェースレジスタをロックししている , または送信が保留されていることを示しま
す。
Busy ビットに "1" がセットされると CAN コントローラは以下の動作を行います。
CANバスがバスアイドルになるとすぐに, IF1メッセージインタフェースレジスタの内
容を , 送信用シフトレジスタへロードし , 送信を開始します。正常に送信完了すると ,
Busy ビットが "0" にリセットされ , ロックされていた IF1 メッセージインタフェースレ
ジスタを開放します。
送信が保留されているときに , IF1 コマンド要求レジスタの Busy ビットを "0" にリセッ
トすることでいつでも中断できます。また , 送信中に Busy ビットを "0" にリセットす
ると , 調停負けやエラーなどの場合に行われる再送信を停止します。
532
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.5 CAN 機能
MB91220 シリーズ
IF2 メッセージインタフェースレジスタは , 受信制御用として使用されます。
メッセージの受信は , 受容フィルタを使用せずにすべて受信します。IF2 コマンド要求
レジスタの Busy ビットを "1" にセットすることにより , 受信したメッセージの内容を
読み出すことが可能となります。
Busy ビットに "1" がセットされると CAN コントローラは以下の動作を行います。
• 受信したメッセージ ( 受信用のシフトレジスタの内容 ) を受容フィルタなしで , IF2
メッセージインタフェースレジスタへ格納します。
新しいメッセージが IF2 メッセージインタフェースレジスタに格納された場合 , CAN
コントローラが NewDat ビットを "1" にセットします。また , NewDat ビットが "1" の
ときに , さらに新しいメッセージを受信した場合は , CAN コントローラが MsgLst を "1"
にセットします。
<注意事項>
• ベーシックモードでは , 制御/状態ビットに関係するすべてのメッセージオブジェク
トと IFx コマンドマスクレジスタ (IFxCMSK) の制御モード設定は無効となります。
• コマンド要求レジスタのメッセージ番号は無効です。
• IF2 メッセージ制御レジスタの NewDat ビットと MsgLst ビットは通常時と同様に動作
し , DLC3-0 は受信された DLC を示し , 他の制御ビットは "0" として読み出されます。
■ 端子 CAN_TX のソフトフェア制御
CAN 送信端子である CAN_TX は , 4つの出力機能あります。
• シリアルデータ出力 ( 通常出力 )
• CANコントローラのビットタイミングをモニタするための, CANサンプリングポイ
ント信号出力
• ドミナント固定出力
• レセッシブ固定出力
ドミナントおよびレセッシブの固定出力は , CAN 受信端子の CAN_RX モニタ機能と共
に , CAN バスの物理層のチェックに使用することができます。
CAN_TX 端子の出力モードは , CAN テストレジスタ (TESTR) の Tx1 と Tx0 ビットによ
り制御可能です。
<注意事項>
CAN メッセージ送信もしくはループバックモード , サイレントモード , ベーシックモード
を使用する際は , CAN_TX をシリアルデータ出力に設定する必要があります。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
533
第 22 章 CAN
22.5 CAN 機能
22.5.8
MB91220 シリーズ
ソフトウェア初期化
ソフトウェアによる初期化について説明します。
ソフトウェアでの初期化要因を以下に示します。
• ハードウェアリセット
• CAN 制御レジスタ (CTRLR) の Init ビットの設定
• バスオフ状態への遷移
ハードウェアによるリセットは, メッセージRAM (MsgVal, NewDat, IntPnd, TxRqstビッ
トを除く ) 以外すべて初期化されます。メッセージ RAM はハードウェアによるリセッ
ト後 , CPU によって初期化するかメッセージ RAM の MsgVal を "0" にしてください。
また , ビットタイミングレジスタを設定する場合には , CAN 制御レジスタ (CTRLR) の
Init ビットを "0" にクリアする前に設定してください。
CAN 制御レジスタ (CTRLR) の Init ビットは , 以下の条件で "1" にセットされます。
• CPU からの "1" 書込み
• ハードウェアリセット
• バスオフ
Init ビットが "1" にセットされると , CAN バスの全メッセージ送受信は停止され , CAN
バス出力のCAN_TX端子はレセッシブ出力となります(CAN_TXテストモードは除く)。
Init ビットに "1" をセットすると , エラーカウンタは変化しませんし , レジスタも変更
されません。
CAN 制御レジスタ (CTRLR) の Init ビットと CCE ビットが "1" にセットされると , ボー
レート制御用のビットタイミングレジスタとプリスケーラ拡張レジスタへの設定が可
能となります。
Init ビットを "0" にリセットすることによりソフトウェア初期化を終了します。また ,
Init ビットを "0" にすることは , CPU からのアクセスでしか実行できません。
Init ビットが "0" にリセットされてから , 連続した 11 ビットのレセッシブの発生 ( =バ
スアイドル ) を待つことにより , CAN バス上のデータ転送と同期化した後 , メッセージ
の転送が行われます。
通常動作中にメッセージオブジェクトのマスク , ID, XTD, EoB, RmtEn を変更する場合 ,
MsgVal を無効に設定してから変更してください。
534
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.5 CAN 機能
MB91220 シリーズ
22.5.9
CAN クロックプリスケーラ
PLL 動作中の CAN クロック切換えについて説明します。
■ ブロック図
CAN クロックプリスケーラの概要について以下のブロック図に示します。
CAN クロックプリスケーラレジスタ (CANPRE) の CANPRE ビットの設定に従い CAN
インタフェースに供給されるクロックの分周比が決定されます。
図 22.5-8 ブロック図
CAN clock4
PLL
CAN clock3
Clock
Divider
CAN clock2
X0
CAN clock1
Div by
CANPRE
CM71-10142-5
CAN clock0
FUJITSU SEMICONDUCTOR LIMITED
535
第 22 章 CAN
22.5 CAN 機能
MB91220 シリーズ
■ クロック切換え手順
CAN クロックプリスケーラを使用したクロックの切換え方法については , 以下に示さ
れる手順を推奨します。
図 22.5-9 クロック切換え手順
CAN クロックの切換え
発振器 -> PLL
CAN クロックの切換え
PLL -> 発振器
CAN 制御レジスタの
Init ビットに "1" をセット
CAN 制御レジスタの
Init ビットに "1" をセット
PLL を有効にする
プリスケーラ値をセット
PLL ロック時間を確保
PLL を無効にする
プリスケーラ値をセット
CAN 制御レジスタの
Init ビットに "0" を書き込む
CAN 制御レジスタの
Init ビットに "0" を書き込む
536
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 22 章 CAN
22.5 CAN 機能
MB91220 シリーズ
■ CAN クロックプリスケーラ設定
CAN クロックプリスケーラに設定可能な値を示します。
CAN インタフェースに供給されるクロックは , システムクロックを CAN クロックプリ
スケーラの設定値に従い分周されたものとなります。
表 22.5-5 CAN クロックプリスケーラ設定
CANPRE[3:0]
機能
システムクロック :
32MHz 時
0000
CAN クロックとしてシステムクロックと同一周期が選択さ
れます。( 初期値 : CANPRE[3:0]=0000)
32MHz
( 設定禁止 )
0001
CAN クロックとしてシステムクロックの 1/2 周期が選択さ
れます。
16MHz
001x
CAN クロックとしてシステムクロックの 1/4 周期が選択さ
れます。
8MHz
01xx
CAN クロックとしてシステムクロックの 1/8 周期が選択さ
れます。
4MHz
1000
CAN クロックとしてシステムクロックの 2/3 周期が選択さ
れます。
クロックの Duty は 67% となります。
21.33MHz
( 設定禁止 )
1001
CAN クロックとしてシステムクロックの 1/3 周期が選択さ
れます。
10.67MHz
101x
CAN クロックとしてシステムクロックの 1/6 周期が選択さ
れます。
5.33MHz
11xx
CAN クロックとしてシステムクロックの 1/12 周期が選択さ
れます。
2.67MHz
<注意事項>
• CAN プリスケータ設定ビットの変更は , CAN 制御レジスタ (CTRLR) の初期化ビット
を "1" にセットし , すべてのバス動作を停止させた後に行ってください。
• レジスタの設定により CAN インタフェースに供給するクロックは 16MHz 以下として
ください。すなわち , システムクロックが 32MHz の場合は , CANPRE[3:0] = 0000 と
CANPRE[3:0] = 1000 は設定禁止となります。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
537
第 22 章 CAN
22.5 CAN 機能
538
MB91220 シリーズ
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 23 章
LCD コントローラ (LCDC)
LCD コントローラ / ドライバ (LCDC) の概要 , レジ
スタの構成 / 機能および動作について説明します。
CM71-10142-5
23.1
LCD コントローラの概要
23.2
LCD コントローラのレジスタ
23.3
LCD コントローラの動作
FUJITSU SEMICONDUCTOR LIMITED
539
第 23 章 LCD コントローラ (LCDC)
23.1 LCD コントローラの概要
23.1
MB91220 シリーズ
LCD コントローラの概要
LCD コントローラ / ドライバの特長とブロックダイヤグラムについて説明します。
■ LCD コントローラの特長
LCD コントローラは , コモン出力とセグメント出力によって , 直接 LCD を駆動します。
• LCD 駆動電源の分割抵抗を内蔵しています。
• 最大で 4 本のコモン出力 (COM0 ∼ COM3) と 32 本のセグメント出力 (SEG0 ∼ SEG31)
が使用できます。
• 16 バイトの表示用データメモリを内蔵しています。
• デューティは , 1/2, 1/3, 1/4 から選択します。バイアスは 1/3 バイアス固定です。
• ドライバは , 内蔵分割抵抗を使用するか , V0 ∼ V3 端子に外部分割抵抗を接続して
外部で用意することが可能です。
• 駆動クロックには , 周辺クロック (CLKP) またはサブクロック (SCLK) を使用します。
• LCD を直接駆動できます。
• COM0 ∼ COM3 端子 , SEG0 ∼ SEG31 端子は , ポート機能レジスタの設定によって ,
汎用入出力ポートとして使用できます。
• 使用できるバイアス , デューティと使用するコモン出力は表 23.1-1 のとおりです。
表 23.1-1 バイアス , デューティ , コモン出力の組合せ
バイアス
1/2 デューティ
出力モード
1/3 デューティ
出力モード
1/4 デューティ
出力モード
1/3 バイアス
COM1 出力 , COM0 出力
COM2 出力∼ COM0 出力
COM3 出力∼ COM0 出力
540
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 23 章 LCD コントローラ (LCDC)
23.1 LCD コントローラの概要
MB91220 シリーズ
■ LCD コントローラのブロックダイヤグラム
図 23.1-1 LCD コントローラのブロックダイヤグラム
端子 V3
コモン端子切換えレジスタ(LCDCMR)
-
-
-
-
4
LCD制御
レジスタ0
(LCR0)
内
部
デ
|
タ
バ
ス
CSS
端子 V2
COM3 COM2 COM1 COM0
内部分割抵抗
端子 V1
端子 V0
- VSEL BK MS1 MS0 FP1 FP0
2
2
発振
クロック
サブ
クロック
プリス
ケーラ
タイミング
コントローラ
表示用データメモリ
(16バイト)
交
流
化
回
路
コ
モ
ン
ド
ラ
イ
バ
端子 COM0
端子 COM1
端子 COM2
端子 COM3
端子 SEG0
32
端子 SEG1
6
コントローラ部
・・・
LCDC制御レジスタ1 (LCR1)
端子 SEG2
・・・
SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0
セ
グ
メ
ン
ト
ド
ラ
イ
バ
端子 SEG29
端子 SEG30
-:未定義ビット
端子 SEG31
ドライバ部
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
541
第 23 章 LCD コントローラ (LCDC)
23.2 LCD コントローラのレジスタ
23.2
MB91220 シリーズ
LCD コントローラのレジスタ
LCD コントローラ / ドライバのレジスタの機能について説明します。
■ LCD コントローラのレジスタ一覧
LCDCMR ( アクセス:Byte,Half-word,Word)
アドレス
000098H
bit15
−
R/W0
bit14
−
R/W0
bit13
bit12
bit11
bit10
bit9
bit8
−
R/W0
−
R/W0
COM3
COM2
COM1
COM0
R/W1
R/W1
R/W1
R/W1
初期値
00000000B
LCR0 ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
00009AH
CSS
−
R/W0
VSEL
BK
MS1
MS0
FP1
FP0
00010000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
LCR1 ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
00009BH
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
R/W1
R/W1
R/W1
R/W1
R/W1
R/W1
R/W1
R/W1
初期値
00000000B
VRAMn (n=0, 2, 4, 6, 8, 10, 12, 14) ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
00009CH(VRAM0)
00009EH(VRAM2)
0000A0H(VRAM4)
0000A2H(VRAM6)
0000A4H(VRAM8)
0000A6H(VRAM10)
0000A8H(VRAM12)
0000AAH(VRAM14)
D15
D14
D13
D12
D11
D10
D09
D08
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
VRAMn (n=1, 3, 5, 7, 9, 11, 13, 15) ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00009DH(VRAM1)
00009FH(VRAM3)
0000A1H(VRAM5)
0000A3H(VRAM7)
0000A5H(VRAM9)
0000A7H(VRAM11)
0000A9H(VRAM13)
0000ABH(VRAM15)
D07
D06
D05
D04
D03
D02
D01
D00
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
542
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 23 章 LCD コントローラ (LCDC)
23.2 LCD コントローラのレジスタ
MB91220 シリーズ
■ コモン端子切換えレジスタ (LCDCMR)
図 23.2-1 コモン端子切換えレジスタ (LCDCMR) のビット構成
LCDCMR ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
000098H
−
R/W0
−
R/W0
−
R/W0
−
R/W0
COM3
COM2
COM1
COM0
R/W1
R/W1
R/W1
R/W1
初期値
00000000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit15 ∼ bit12] − : 予約ビット
"0" 以外 , 書き込まないでください。
[bit11 ∼ bit8] COM3 ∼ COM0 : コモン端子イネーブルビット
COM3
COM2
COM1
COM0
コモン出力
0
0
0
0
コモン出力不可 ( 初期値 )
*
*
*
*
設定不可
1
1
1
1
コモン出力可能
上記の設定により , コモン出力を可能にするか選択します。MB91220 シリーズで
LCD を利用する際は , 必ず "00001111B" に設定してください。
( 注意事項 )
上記の設定のほかに , 対応する Port Function Register(PFR, EPER) の設定が必要
となります。詳細は , 「第 4 章 I/O ポート」を参照してください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
543
第 23 章 LCD コントローラ (LCDC)
23.2 LCD コントローラのレジスタ
MB91220 シリーズ
■ LCD コントローラ制御レジスタ 0(LCR0)
LCDコントローラ制御レジスタ0(LCR0)は, フレーム周期とフレーム周期発生用クロッ
クの選択 , 表示モードと表示 / 非表示の選択 , 駆動電源の制御を行います。
図 23.2-2 LCD コントローラ制御レジスタ 0(LCR0) のビット構成
LCR0 ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
00009AH
CSS
−
R/W0
VSEL
BK
MS1
MS0
FP1
FP0
00010000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit15] CSS : フレーム周期発生用クロック選択ビット
LCD 表示のフレーム周期を発生するためのクロックを選択します。
CSS
動作
0
LCD コントローラドライバは 周辺クロックで動作します。[ 初期値 ]
1
LCD コントローラドライバはサブクロックで動作します。
( 注意事項 )
• サブクロックモードでは , メイン発振クロックの発振が停止するため , 周辺ク
ロックの設定では動作しません。
• 品種名に "S" がついている製品では "1" を設定しないでください。
[bit14] − : 予約ビット
"0" 以外 , 書き込まないでください。
[bit13] VSEL : LCD 駆動電源制御ビット
内部分割抵抗の接続または切断を選択します。外部に分割抵抗を接続する場合には ,
"0" にセットしてください。
VSEL
動作
0
内部分割抵抗を切断します。[ 初期値 ]
1
内部分割抵抗を接続します。
外部分割抵抗を使用するときは , PFRD/EPFRD を設定して , PD0 ∼ PD3 を V0 ∼ V3
にしてください。
内部分割抵抗を使用する場合でも PD3 を V3 として設定することで , 内部分割抵抗
の電源を外部に持つことが可能です。ただし , V3 ≦ VCC である必要があります。
544
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 23 章 LCD コントローラ (LCDC)
23.2 LCD コントローラのレジスタ
MB91220 シリーズ
[bit12] BK : ブランキング選択ビット
LCD の表示 / 非表示を選択します。セグメント出力が非選択波形 ( 表示条件となら
ない波形 ) となり , 非表示になります。
BK
動作
0
表示
1
非表示 [ 初期値 ]
[bit10, bit11] MS1, MS0 : 表示モード選択ビット
出力波形のデューティを 3 種類の中から選択します。
設定したデューティ出力モードに対応して , 使用するコモン端子が決まります。
"00B" に設定した場合 , LCD コントローラドライバは表示動作を停止し , コモン / セ
グメント端子は "L" レベルを出力します。
MS1
MS0
0
0
LCD 動作停止
0
1
1/2 デューティ出力モード ( 時分割数 =2)
1
0
1/3 デューティ出力モード ( 時分割数 =3)
1
1
1/4 デューティ出力モード ( 時分割数 =4)
動作
[bit8, bit9] FP1, FP0 : フレーム周期選択ビット
LCD 表示のフレーム周期を 4 種類の中から選択して設定します。
フレーム周波数 [Hz]
FP1
FP0
0
メインクロック選択時
(CSS=0)
サブクロック選択時
(CSS=1)
0
CLKP/(213 × N)
SCLK/(23 × N)
0
1
CLKP/(214 × N)
SCLK/(24 × N)
1
0
CLKP/(215 × N)
SCLK/(25 × N)
1
1
CLKP/(216 × N)
SCLK/(26 × N)
CLKP : メインクロック利用時における周辺クロック周波数
SCLK : サブクロック入力周波数
N
: 時分割数 ( 表示モード選択ビットの設定による )
( 注意事項 )
使用する LCD パネルのフレーム周波数に対応した最適なフレーム周期の設定を
行ってください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
545
第 23 章 LCD コントローラ (LCDC)
23.2 LCD コントローラのレジスタ
MB91220 シリーズ
■ LCD コントローラ制御レジスタ 1(LCR1)
図 23.2-3 LCD コントローラ制御レジスタ 1(LCR1) のビット構成
LCR1 ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
00009BH
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
R/W1
R/W1
R/W1
R/W1
R/W1
R/W1
R/W1
R/W1
初期値
00000000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit7 ∼ bit0] SEG7 ∼ SEG0 セグメント端子イネーブルビット
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
セグメント出力
0
0
0
0
0
0
0
0
セグメント出力不可 ( 初期値 )
0
0
0
0
0
0
0
1
SEG00 ∼ SEG03 出力可能
0
0
0
0
0
0
1
1
SEG00 ∼ SEG07 出力可能
0
0
0
0
0
1
1
1
SEG00 ∼ SEG11 出力可能
0
0
0
0
1
1
1
1
SEG00 ∼ SEG15 出力可能
0
0
0
1
1
1
1
1
SEG00 ∼ SEG19 出力可能
0
0
1
1
1
1
1
1
SEG00 ∼ SEG23 出力可能
0
1
1
1
1
1
1
1
SEG00 ∼ SEG27 出力可能
1
1
1
1
1
1
1
1
SEG00 ∼ SEG31 出力可能
上記の設定により , 各セグメント出力を可能にするかを選択します。MB91220 シ
リーズで , LCD を利用する際には , 必ず , "11111111B" の設定を行ってください。
上記の設定のほかに , 対応する Port Function Register(PFR, EPFR) の設定が必要とな
ります。詳細は , 「第 4 章 I/O ポート」を参照してください。
546
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 23 章 LCD コントローラ (LCDC)
23.2 LCD コントローラのレジスタ
MB91220 シリーズ
■ 表示用データメモリ (VRAM)
表示用データメモリは , 16 バイトのデータ RAM です。表示用データの設定に使用し
ます。
図 23.2-4 表示用データメモリ (VRAM) のビット構成
VRAMn (n=0, 2, 4, 6, 8, 10, 12, 14) ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
00009CH(VRAM0)
00009EH(VRAM2)
0000A0H(VRAM4)
0000A2H(VRAM6)
0000A4H(VRAM8)
0000A6H(VRAM10)
0000A8H(VRAM12)
0000AAH(VRAM14)
D15
D14
D13
D12
D11
D10
D09
D08
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit1
bit0
初期値
00000000B
VRAMn (n=1, 3, 5, 7, 9, 11, 13, 15) ( アクセス:Byte,Half-word,Word)
アドレス
bit7
00009DH(VRAM1)
00009FH(VRAM3)
0000A1H(VRAM5)
0000A3H(VRAM7)
0000A5H(VRAM9)
0000A7H(VRAM11)
0000A9H(VRAM13)
0000ABH(VRAM15)
bit6
bit5
bit4
bit3
bit2
D07
D06
D05
D04
D03
D02
D01
D00
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
VRAMの内容は, コモン信号のタイミングに同期して自動的に読み出され, セグメント
出力端子より出力されます。
VRAM の内容は , 表示用データメモリ (VRAM) への書換えと同時にセグメント出力端
子より出力されます。
コモン出力とセグメント出力に対応したビットを "1" に設定した場合は , セグメント出
力端子より選択波形が出力されます。"0" に設定した場合は , セグメント出力端子より
選択波形が出力されます。
VRAM のアクセスは , LCD コントローラの動作に関係なく , 任意のタイミングで読出
し / 書込みができます。
図 23.2-5 に , VRAM とコモン端子 , セグメント端子の対応を示します。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
547
第 23 章 LCD コントローラ (LCDC)
23.2 LCD コントローラのレジスタ
MB91220 シリーズ
図 23.2-5 VRAM とコモン端子・セグメント端子の対応
00009CH (VRAM0)
00009DH (VRAM1)
00009EH (VRAM2)
00009FH (VRAM3)
0000A0H (VRAM4)
0000A1H (VRAM5)
0000A2H (VRAM6)
0000A3H (VRAM7)
0000A4H (VRAM8)
0000A5H (VRAM9)
0000A6H (VRAM10)
0000A7H (VRAM11)
0000A8H (VRAM12)
0000A9H (VRAM13)
0000AAH (VRAM14)
0000ABH (VRAM15)
bit11
bit15
bit3
bit7
bit11
bit15
bit3
bit7
bit11
bit15
bit3
bit7
bit11
bit15
bit3
bit7
bit11
bit15
bit3
bit7
bit11
bit15
bit3
bit7
bit11
bit15
bit3
bit7
bit11
bit15
bit3
bit7
COM3
bit10
bit14
bit2
bit6
bit10
bit14
bit2
bit6
bit10
bit14
bit2
bit6
bit10
bit14
bit2
bit6
bit10
bit14
bit2
bit6
bit10
bit14
bit2
bit6
bit10
bit14
bit2
bit6
bit10
bit14
bit2
bit6
COM2
bit9
bit13
bit1
bit5
bit9
bit13
bit1
bit5
bit9
bit13
bit1
bit5
bit9
bit13
bit1
bit5
bit9
bit13
bit1
bit5
bit9
bit13
bit1
bit5
bit9
bit13
bit1
bit5
bit9
bit13
bit1
bit5
COM1
bit8
bit12
bit0
bit4
bit8
bit12
bit0
bit4
bit8
bit12
bit0
bit4
bit8
bit12
bit0
bit4
bit8
bit12
bit0
bit4
bit8
bit12
bit0
bit4
bit8
bit12
bit0
bit4
bit8
bit12
bit0
bit4
COM0
SEG0
SEG1
SEG2
SEG3
SEG4
SEG5
SEG6
SEG7
SEG8
SEG9
SEG10
SEG11
SEG12
SEG13
SEG14
SEG15
SEG16
SEG17
SEG18
SEG19
SEG20
SEG21
SEG22
SEG23
SEG24
SEG25
SEG26
SEG27
SEG28
SEG29
SEG30
SEG31
1/2 デューティ出力モードの場合に使用
される RAM 領域とコモン端子
1/3 デューティ出力モードの場合に使用
される RAM 領域とコモン端子
1/4 デューティ出力モードの場合に使用
される RAM 領域とコモン端子
548
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 23 章 LCD コントローラ (LCDC)
23.3 LCD コントローラの動作
MB91220 シリーズ
23.3
LCD コントローラの動作
LCD コントローラ / ドライバ (LCDC) の動作について説明します。
■ LCD コントローラの動作
各レジスタに必要な設定を書き込んだ後にフレーム周期発生用クロックが発振してい
る場合は, 表示用データメモリにあらかじめ設定された内容に従って, LCDを駆動する
波形がコモン / セグメント出力端子 (COM0 ∼ COM3, SEG0 ∼ SEG31) に出力されます。
LCD は , LCD コントローラ制御レジスタ 0 でのデューティの設定に従って (LCR0:MS1,
MS0), 2 フレーム交流化波形により駆動します。
表示モードが 1/2 デューティの場合の COM2, COM3 端子と , 1/3 デューティの場合の
COM3 端子からは , 非選択レベルの波形が出力されます。
LCD の表示動作を停止した場合 (LCR0:MS1, MS0 = 00B) は , コモン / セグメント出力端
子はともに "L" レベルになります。
■ フレーム周期発生用クロックの切換え
LCD の表示動作中の場合でも , フレーム周期発生用クロックは切り換えることができ
ます (LCR0:CSS)。ただし , LCD の表示可能なフレーム周期に切り換えた場合でも , 切
換えにより表示がちらつく可能性があります。
切換えによる表示のちらつきを防ぐため , LCD コントローラ制御レジスタ 0 のブラン
キング選択ビットを "1" に設定し (LCR0:BK = 1), 非表示の状態にしてから , フレーム周
期発生用クロックを切り換えてください。
また , MS ビットを切り換える場合においても , MS ビット切換え中は動作を保証でき
ませんので , LCD コントローラを停止してから切換えを行ってください。
■ LCD の駆動波形
LCD パネルは , 直流で駆動すると素子が劣化するため , 2 フレーム交流化波形で駆動し
ます。出力波形は , LCD 制御レジスタ 0 の表示モード選択ビットで (LCR0:MS1, MS0),
次の 3 種類から選択します。
1/2 デューティ出力モード ( 時分割定数 = 2)
1/3 デューティ出力モード ( 時分割定数 = 3)
1/4 デューティ出力モード ( 時分割定数 = 4)
■ ストップモードについて
ストップモード動作モード時 , 動作を停止します ( コモン出力 , セグメント出力 )。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
549
第 23 章 LCD コントローラ (LCDC)
23.3 LCD コントローラの動作
MB91220 シリーズ
■ LCD コントローラドライバ動作時の出力波形 (1/2 デューティ出力モード )
1/2 デューティ出力モードの場合 , LCD の表示に使用されるのは , COM0 出力と COM1
出力のみです。COM2 出力 , COM3 出力は使用されません。
● 1/3 バイアス・1/2 デューティ出力波形例
LCD では , コモン出力とセグメント出力の電位差が最大となった液晶素子が点灯しま
す。
表示用データメモリの内容が表 23.3-1 の場合は , 出力波形が図 23.3-1 のようになりま
す。
表 23.3-1 表示用データメモリの内容例
表示用データメモリの内容
セグメント
550
COM3 出力
COM2 出力
COM1 出力
COM0 出力
SEG n 出力
−
−
0
0
SEG n+1 出力
−
−
1
1
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 23 章 LCD コントローラ (LCDC)
23.3 LCD コントローラの動作
MB91220 シリーズ
図 23.3-1 1/3 バイアス・1/2 デューティ出力波形例
V3
V2
V1
V0
COM0出力
V3
V2
V1
V0
COM1出力
V3
V2
V1
V0
COM2出力
V3
V2
V1
V0
COM3出力
V3
V2
V1
V0
SEG n 出力
V3
V2
V1
V0
SEG n+1 出力
ON
SEG n, COM0出力に対応する
液晶表示素子
OFF
ON
SEG n, COM1出力に対応する
液晶表示素子
OFF
ON
SEG n+1,COM0出力に対応する
液晶表示素子
OFF
ON
SEG n+1,COM1出力に対応する
液晶表示素子
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
OFF
551
第 23 章 LCD コントローラ (LCDC)
23.3 LCD コントローラの動作
MB91220 シリーズ
■ LCD コントローラドライバ動作時の出力波形 (1/3 デューティ出力モード )
1/3 デューティ出力モードの場合 , LCD の表示に使用されるのは , COM0 出力 , COM1
出力 , COM2 出力です。COM3 出力は使用されません。
● 1/3 バイアス・1/3 デューティ出力波形例
LCD では , コモン出力とセグメント出力の電位差が最大となった液晶素子が点灯しま
す。
表示用データメモリの内容が表 23.3-2 の場合は , 出力波形が図 23.3-2 のようになりま
す。
表 23.3-2 表示用データメモリの内容例
表示用データメモリの内容
セグメント
552
COM3 出力
COM2 出力
COM1 出力
COM0 出力
SEG n 出力
−
1
0
0
SEG n+1 出力
−
1
0
1
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
MB91220 シリーズ
第 23 章 LCD コントローラ (LCDC)
23.3 LCD コントローラの動作
図 23.3-2 1/3 バイアス・1/3 デューティ出力波形例
V3
V2
V1
V0
COM0出力
V3
V2
V1
V0
COM1出力
V3
V2
V1
V0
COM2出力
V3
V2
V1
V0
COM3出力
V3
V2
V1
V0
SEG n 出力
V3
V2
V1
V0
SEG n+1 出力
ON
SEG n, COM0出力に対応する
液晶表示素子
OFF
ON
SEG n, COM1出力に対応する
液晶表示素子
OFF
ON
SEG n, COM2出力に対応する
液晶表示素子
OFF
ON
SEG n+1,COM0出力に対応する
液晶表示素子
OFF
ON
SEG n+1,COM1出力に対応する
液晶表示素子
OFF
ON
SEG n+1,COM2出力に対応する
液晶表示素子
CM71-10142-5
OFF
FUJITSU SEMICONDUCTOR LIMITED
553
第 23 章 LCD コントローラ (LCDC)
23.3 LCD コントローラの動作
MB91220 シリーズ
■ LCD コントローラ・ドライバ動作時の出力波形 (1/4 デューティ出力モード )
1/4 デューティ出力モードの場合は LCD の表示用に , COM0 出力 , COM1 出力 , COM2
出力 , COM3 出力のすべてが使用されます。
● 1/3 バイアス・1/4 デューティ出力波形例
LCD では , コモン出力とセグメント出力の電位差が最大となった液晶素子が点灯しま
す。
表示用データメモリの内容が表 23.3-3 の場合は , 出力波形が図 23.3-3 のようになりま
す。
表 23.3-3 表示用データメモリの内容例
表示用データメモリの内容
セグメント
554
COM3 出力
COM2 出力
COM1 出力
COM0 出力
SEG n 出力
0
1
0
0
SEG n+1 出力
0
1
0
1
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
MB91220 シリーズ
第 23 章 LCD コントローラ (LCDC)
23.3 LCD コントローラの動作
図 23.3-3 1/3 バイアス・1/4 デューティ出力波形例
V3
V2
V1
V0
COM0出力
V3
V2
V1
V0
COM1出力
V3
V2
V1
V0
COM2出力
V3
V2
V1
V0
COM3出力
V3
V2
V1
V0
SEG n 出力
V3
V2
V1
V0
SEG n+1 出力
ON
SEG n, COM0出力に対応する
液晶表示素子
OFF
ON
SEG n, COM1出力に対応する
液晶表示素子
OFF
ON
SEG n, COM2出力に対応する
液晶表示素子
OFF
ON
SEG n, COM3出力に対応する
液晶表示素子
OFF
ON
SEG n+1,COM0出力に対応する
液晶表示素子
OFF
ON
SEG n+1,COM1出力に対応する
液晶表示素子
OFF
ON
SEG n+1,COM2出力に対応する
液晶表示素子
OFF
ON
SEG n+1,COM3出力に対応する
液晶表示素子
CM71-10142-5
OFF
FUJITSU SEMICONDUCTOR LIMITED
555
第 23 章 LCD コントローラ (LCDC)
23.3 LCD コントローラの動作
556
FUJITSU SEMICONDUCTOR LIMITED
MB91220 シリーズ
CM71-10142-5
第 24 章
32kHz クロック
補正ユニット
32kHz クロック補正ユニットの概要およびレジス
タの構成 / 機能について説明します。
CM71-10142-5
24.1
32kHz クロック補正ユニットの概要
24.2
32kHz クロック補正ユニットのレジスタ
24.3
アプリケーションノート
FUJITSU SEMICONDUCTOR LIMITED
557
第 24 章 32kHz クロック 補正ユニット
24.1 32kHz クロック補正ユニットの概要
24.1
MB91220 シリーズ
32kHz クロック補正ユニットの概要
32kHz クロック補正ユニットは , 4MHz 発振クロックを基準にして 32kHz 発振ク
ロックを補正できます。
■ 補正ユニットの特長
このユニットを使用すると , ソフトウェアによって , 32kHz クロックによって生成され
た時間を 4MHz クロックによって測定できます。
ソフトウェアによる処理と , このユニットの利用によって , 32kHz クロックの正確さを
4MHz クロックの正確さに近づけることができます。32kHz クロック補正ユニットによ
る測定結果は , ソフトウェアにより処理できます。また , リアルタイムクロックユニッ
トに必要な設定を得ることができます。
このユニットは , 32kHz クロックで動作するタイマと 4MHz クロックで動作するタイマ
の 2 つのタイマから構成されています。
32kHz タイマが 4MHz タイマをトリガし , 4MHz
タイマの値がレジスタに格納されます。レジスタに格納された値はソフトウェアで処
理され , 必要なリアルタイムクロックユニットの設定が計算されます。
■ 32kHz クロック補正ユニットのブロックダイヤグラム
図 24.1-1 32kHz クロック補正ユニットのブロックダイヤグラム
OSC4
CLK4G
CLK4G = OSC4 | ~STRT | (READY & ~RUNS);
gate
STRT
READY
RUNS
OSC32
gate
STRT
CLKP
CLKPG
gate
32kHz
タイマ
CLK32G
RSLEEPB
CLKPG2 CUTD
gate
カウンタ(16ビット)
同期
32->4
非同期
RUN
RST
STRTS
RSLEEPB
STRT
4MHz
タイマ
RUN
RUNS
CUTR
CUTR(24ビット)
CLKPG2= CLKP | (~STRT & RSLEEPB);
READY
READY
STRT
同期
CLKP->32
非同期
RST
STRT
リセット
STRT
STRT
READY
設定/リセット
RB
RUNSS1
RUNSS
INTEN
RB
RSLEEP
RMW
RBB
設定/リセット
RSLEEPB
INT
RMWB
同期
4->CLKP
設定
リセット
READY
PULSE
CUCR(3ビット)
INT
RD
WR
RST
558
INT_I
INT_INT
CUTR(24ビット)
RDB
WRB
RSTB
CUTD(16ビット)
CUTD
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 24 章 32kHz クロック 補正ユニット
24.1 32kHz クロック補正ユニットの概要
MB91220 シリーズ
■ 32kHz クロック補正ユニットのタイミング
図 24.1-2 測定処理のタイミング
32 kHz
STRT(CLKP)
STRTS(32 kHz)
RUN(32 kHz)
RUNS(4 kHz)
32 kHzカウンタ( 16ビット)
4 MHzカウンタ(24ビット)
2
CUTD CUTD-1
1
0
CUTD
新CUTR
旧CUTR
READY (32 kHz)
READYPULSE (CLKP)
INT (CLKP)
■ 32kHz クロック補正ユニットのクロック
4MHz クロック OSC4, 32kHz クロック OSC32, 周辺クロック CLKP の 3 つの異なるク
ロックにより動作します。それぞれのドメインは同期回路によって適合されます。
3 つのクロックはすべてゲート制御されます。STRT が "0" の場合は , 32kHz と 4MHz
のクロックのスイッチは OFF になります。CLKPG の制御信号は RSLEEPB であり ,
CLKPG2 の制御信号は RSLEEP と STRT の 2 ビットです。これらはハードウェアによっ
て設定またはリセットされます。
クロック周波数は以下の要件を満足する必要があります。
クロック比
TOSC32 > 2 × TOSC4 + 3 × TCLKP
TOSC4 < 1/2 × TOSC32 - 3/2 × TCLKP
TCLKP < 1/3 × TOSC32 - 2/3 × TOSC4
表 24.1-1 有効クロック比の例
OSC32
通常動作
CM71-10142-5
32kHz
31.25μs
OSC4
4MHz
CLKP
250ns
FUJITSU SEMICONDUCTOR LIMITED
2MHz 以上
500ns 以下
559
第 24 章 32kHz クロック 補正ユニット
24.2 32kHz クロック補正ユニットのレジスタ
MB91220 シリーズ
32kHz クロック補正ユニットのレジスタ
24.2
補正ユニットのレジスタ一覧および各レジスタの機能を説明します。
■ 補正ユニットのレジスタ一覧
● 補正ユニット制御レジスタ (CUCR)
図 24.2-1 補正ユニット制御レジスタ (CUCR) のビット構成
CUCR ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
00015DH
−
RX,WX
−
RX,WX
−
RX,WX
STRT
−
RX,WX
−
RX,WX
INT
INTEN
R(RM1),W
R/W
R,W
初期値
---0--00B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
● 32kHz タイマデータレジスタ (CUTD)
図 24.2-2 32kHz タイマデータレジスタ (CUTD) のビット構成
CUTD ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
00015EH
TDD15
TDD14
TDD13
TDD12
TDD11
TDD10
TDD9
TDD8
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
00015FH
TDD7
TDD6
TDD5
TDD4
TDD3
TDD2
TDD1
TDD0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
10000000B
初期値
00000000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
560
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 24 章 32kHz クロック 補正ユニット
24.2 32kHz クロック補正ユニットのレジスタ
MB91220 シリーズ
● 4MHz タイマデータレジスタ (CUTR)
図 24.2-3 4MHz タイマデータレジスタ (CUTR) のビット構成
CUTR1 ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
000160H
−
R,WX
−
R,WX
−
R,WX
−
R,WX
−
R,WX
−
R,WX
−
R,WX
−
R,WX
--------B
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000161H
TDR23
TDR22
TDR21
TDR20
TDR19
TDR18
TDR17
TDR16
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
00000000B
CUTR2 ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
000162H
TDR15
TDR14
TDR13
TDR12
TDR11
TDR10
TDR9
TDR8
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
000163H
TDR7
TDR6
TDR5
TDR4
TDR3
TDR2
TDR1
TDR0
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
初期値
00000000B
初期値
00000000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
561
第 24 章 32kHz クロック 補正ユニット
24.2 32kHz クロック補正ユニットのレジスタ
MB91220 シリーズ
■ 補正ユニット制御レジスタ (CUCR)
図 24.2-4 補正ユニット制御レジスタ (CUCR) のビット構成
CUCR ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
00015DH
−
RX,WX
−
RX,WX
−
RX,WX
STRT
−
RX,WX
−
RX,WX
INT
INTEN
R(RM1),W
R/W
R,W
初期値
---0--00B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
制御レジスタ (CUCR) には , 次の機能があります。
• 補正測定の開始 / 停止
• 割込みの許可 / 禁止
• 補正測定の終了を示す
[bit15 ∼ bit13] − : 未定義ビット
読出し値は不定です。書込みは動作に影響ありません。
[bit12] STRT: 補正開始
STRT
機能
0
補正停止 , モジュールスイッチオフ ( 初期値 )
1
補正開始
STRT ビットがソフトウェアにより "1" に設定されると補正が開始します。
32kHz タ
イマは , 32kHz タイマデータレジスタに格納された値からのカウントダウンを開始
し , 4MHz タイマは "0" からのカウントアップを開始します。
32kHz タイマが "0" に達すると , このビットはハードウェアにより "0" にリセットさ
れます。
補正処理中にソフトウェアによってこのビットに "0" が書き込まれると , 補正は直
ちに停止します。ソフトウェアによる "0" の書込みとハードウェアによる "0" への
リセットが同時に発生した場合は , ハードウェアの動作がソフトウェアの動作に優
先します。
すなわち , 補正は適切に完了し , INT ビットは "1" に設定されます。補正中にこの
ビットへ "1" を書き込んでも影響はありません。
[bit11, bit10] − : 未定義ビット
読出し値は不定です。書込みは動作に影響ありません。
562
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 24 章 32kHz クロック 補正ユニット
24.2 32kHz クロック補正ユニットのレジスタ
MB91220 シリーズ
[bit9] INT: 割込み
INT
機能
0
補正中 / モジュールインアクティブ ( 初期値 )
1
補正完了
このビットは補正の終了を示します。
補正開始後 , 32kHz タイマが "0" に達すると , 4MHz タイマデータレジスタは最後の
4MHz タイマ値を格納し , INT ビットは "1" に設定されます。
このビットに対してリードモディファイライト (RMW) 系命令を行うと "1" が読み
出され , このビットに "0" を書き込むとフラグがクリアされます (INT=0)。このビッ
トに "1" を書き込んでも影響はありません。
割込みフラグ INT は , ハードウェアではリセットされません。そのため , 新たな補
正を開始する前にソフトウェアによりリセットする必要があります。リセットしな
い場合の補正処理の終了は , STRT ビット (INT フラグは補正中も "1" のままです )
によってのみ知ることが可能です。
[bit8] INTEN: 割込み許可
INTEN
機能
0
割込み禁止 ( 初期値 )
1
割込み許可
これは INT ビットに対応する割込み許可ビットです。
このビットが "1" に設定され , INT ビットがハードウェアにより設定されると , 補正
モジュールは CPU への割込み信号を送信します。INT ビット自体は INTEN ビット
の影響を受けず , 割込み禁止の場合 (INTEN=0) でもハードウェアにより設定されま
す。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
563
第 24 章 32kHz クロック 補正ユニット
24.2 32kHz クロック補正ユニットのレジスタ
MB91220 シリーズ
■ 32kHz タイマデータレジスタ (16 ビット ) (CUTD)
図 24.2-5 32kHz タイマデータレジスタ (16 ビット ) (CUTD) のビット構成
CUTD ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
00015EH
TDD15
TDD14
TDD13
TDD12
TDD11
TDD10
TDD9
TDD8
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
アドレス
00015FH
TDD7
TDD6
TDD5
TDD4
TDD3
TDD2
TDD1
TDD0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
10000000B
初期値
00000000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
32kHz タイマデータレジスタ (CUTD) は , 補正期間 (32kHz リロード値 ) を決定する値
を保持します。
32.768kHz の水晶が使用される場合のデフォルト値は "8000H" であり , 1 秒の測定持続
時間に対応します。
このレジスタには , 補正がインアクティブ (STRT=0) になっている場合以外は書き込ん
ではいけません。
32kHz タイマレジスタは補正の持続時間を指定する値を格納します。補正を開始する
と , 格納された値が 32kHz タイマにロードされ , タイマは "0" に達するまでのカウント
ダウンを開始します。
CUTD を "0000H" に初期化すると , アンダフローが発生し , 測定値は (FFFFH+1) ×
TOSC32 となります。
32kHz タイマは , 32kHz 発振クロックで動作します。
1 秒間の測定持続時間を達成するには , CUTD レジスタに "8000H"=32768(10 進 ) をロー
ドする必要があります。この数値は水晶の正確な発振周波数 , FOSC=32768Hz から得ら
れます。測定結果 (4.00MHz の水晶を使用する場合 ) の理想値を次の表に示します。
表 24.2-1 測定持続時間による理想的な測定結果
564
補正時間 (s)
CUTD 値
CUTR 値
2
0000H
7A1200H
1.75
E000H
6ACFC0H
1.5
C000H
5B8D80H
1.25
A000H
4C4B40H
1
8000H
3D0900H
0.75
6000H
2DC6C0H
0.5
4000H
1E8480H
0.25
2000H
0F4240H
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 24 章 32kHz クロック 補正ユニット
24.2 32kHz クロック補正ユニットのレジスタ
MB91220 シリーズ
STRT ビットへの "1" の書込みからハードウェアによる STRT のリセットまでにかかる
全処理時間は , 異なるクロックドメイン間の同期のために実際の補正測定時間より長
くなります。
処理時間は , (CUTD + 3) × TOSC32 となります。
正確な補正測定時間は , CUTD × TOSC32 となります。
■ 4MHz タイマデータレジスタ (24 ビット ) (CUTR)
図 24.2-6 4MHz タイマデータレジスタ (24 ビット ) (CUTR) のビット構成
CUTR1 ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
000160H
−
R,WX
−
R,WX
−
R,WX
−
R,WX
−
R,WX
−
R,WX
−
R,WX
−
R,WX
--------B
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000161H
TDR23
TDR22
TDR21
TDR20
TDR19
TDR18
TDR17
TDR16
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
00000000B
CUTR2 ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
000162H
TDR15
TDR14
TDR13
TDR12
TDR11
TDR10
TDR9
TDR8
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
000163H
TDR7
TDR6
TDR5
TDR4
TDR3
TDR2
TDR1
TDR0
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
初期値
00000000B
初期値
00000000B
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
タイマデータレジスタ (CUTR) は補正結果の値 (4MHz カウンタ ) を保持します。
補正の終了は , CUCR レジスタの INT ビットと STRT ビットにより示されます。
INT が "0" から "1" に変更され , STRT を "1" から "0" に変更されると , CUTR の値が有
効になります。
4MHz タイマデータレジスタは補正の結果を格納します。補正が開始されると , 4MHz
タイマは "0" からのカウントアップを開始します。32kHz タイマが "0" に達すると ,
4MHz タイマはカウントを停止し , ソフトウェアにより次の補正がトリガされるまでレ
ジスタは補正結果を保持します。
補正中にこのレジスタを読み出して , 得られる値はランダムです。
ソフトウェアによりこのレジスタに書き込んでも影響はありません。
4MHz タイマは , 4MHz 発振クロックで動作します。
<注意事項>
補正中にこのレジスタを読み出すと , 得られる値はランダムです。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
565
第 24 章 32kHz クロック 補正ユニット
24.3 アプリケーションノート
24.3
MB91220 シリーズ
アプリケーションノート
補正の正確さ , 電力消費 , 測定時間に関するアプリケーションノートを示します。
■ 32kHz タイマデータレジスタの設定
32kHz タイマデータレジスタの設定は , 以下の方法で計算できます。
補正に 1s の持続時間が必要な場合は , "8000H"=32768 を 32kHz タイマデータレジスタ
に設定する必要があります。これは , 32.768kHz 発振クロックの 32,768 パルスを表しま
す。
この設定により , 4MHz タイマデータレジスタ内に約 "3D0900H" の値が格納されます。
この値は , 4MHz 発振の 4,000,000 パルスを表します。
表 24.3-1 32.768kHz 発振と 4.0MHz 発振による理想的な測定結果 (CUTR)
補正時間 (s)
CUTD 値
CUTR 値
2
0000H
7A1200H
1.75
E000H
6ACFC0H
1.5
C000H
5B8D80H
1.25
A000H
4C4B40H
1
8000H
3D0900H
0.75
6000H
2DC6C0H
0.5
4000H
1E8480H
0.25
2000H
0F4240H
補正モジュールを使用する場合は , 補正の精度とともに電力消費が重要です。
566
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 25 章
CPU 動作検出リセット回路
CPU 動作検出リセット回路の機能と動作について
説明します。
CM71-10142-5
25.1
CPU 動作検出リセット回路の概要
25.2
CPU 動作検出リセット回路のレジスタ
25.3
CPU 動作検出リセット回路の動作
25.4
CPU 動作検出リセット回路使用上の注意
FUJITSU SEMICONDUCTOR LIMITED
567
第 25 章 CPU 動作検出リセット回路
25.1 CPU 動作検出リセット回路の概要
25.1
MB91220 シリーズ
CPU 動作検出リセット回路の概要
CPU 動作検出リセット回路は , 原発振をカウントクロックとする 20 ビットのカウン
タで , 起動後一定時間内にクリアされない場合 , 設定初期化リセットを発生します。
■ CPU 動作検出リセット回路の特長
CPU 動作検出リセット回路は , プログラム暴走対策用のカウンタです。リセット後 , 自
動で起動します。起動後は , 一定時間内で定期的にクリアし続ける必要があります。プ
ログラムが無限ループに陥るなどして , 一定時間以上クリアされない場合は内部リ
セットを発生します。
表 25.1-1 CPU 動作検出リセット回路のインターバル時間
インターバル時間
発振クロックサイクル数
約 262ms
220 サイクル
発振クロック 4MHz 動作時の値
<注意事項>
CPU が動作を停止するモードでは , 本回路は停止します。
本回路のカウンタのクリア条件を以下に示します。
• LVRC レジスタの CL ビットへの "0" 書込み
• 内部リセット
• メイン発振クロック停止 ( サブクロック使用時は必須 )
• スリープモードへの遷移
• RTC モードへの遷移
• STOP モードへの遷移
■ CPU 動作検出リセット回路のブロックダイヤグラム
CPU 動作検出リセット回路は , 次の 2 つのブロックで構成されています。
• CPU 動作検出回路
• CPU 動作検出リセット制御レジスタ (LVRC)
568
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 25 章 CPU 動作検出リセット回路
25.1 CPU 動作検出リセット回路の概要
MB91220 シリーズ
図 25.1-1 CPU 動作検出リセット回路のブロックダイヤグラム
CPU動作検出回路
カウンタ
OF
内部 リ セ ッ ト
発振クロック
F/F
クリア
RESV0 RESV0 RESV0 RESV1
CL
RESV0 RESV0 CPUF
CPU検出リセット制御レジスタ (LVRC)
内部データバス
● CPU 動作検出回路
プログラム暴走対策用のカウンタです。起動後は , 一定時間内に定期的にクリアし続け
る必要があります。
● CPU 動作検出リセット制御レジスタ (LVRC)
CPU 動作検出リセットフラグ , CPU 動作検出機能のカウンタクリアを行います。
● CPU 動作検出リセット回路のリセット要因
CPU 動作検出回路のカウンタが , 一定時間以内にクリアされなかった場合に設定初期
化リセットを発生します。
CPU 動作検出リセット回路は , メイン発振のみで使用してください。サブ発振では使
用できません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
569
第 25 章 CPU 動作検出リセット回路
25.2 CPU 動作検出リセット回路のレジスタ
MB91220 シリーズ
CPU 動作検出リセット回路のレジスタ
25.2
CPU 動作検出リセット制御レジスタ (LVRC) は , CPU 動作検出リセットフラグ ,
CPU 動作検出回路のカウンタクリアなどを行うレジスタです。
■ CPU 動作検出リセット制御レジスタ (LVRC)
図 25.2-1 CPU 動作検出リセット制御レジスタ (LVRC)
LVRC ( アクセス:Byte,Half-word,Word)
アドレス
bit7
00057DH
RESV0
RESV0 RESV0
R/W0
R/W0
bit6
bit5
R/W0
bit4
bit3
RESV1
CL
R/W1
R1,W
CPUF
0
1
RESV0
CL
0
1
bit2
bit1
RESV0 RESV0
R/W0
bit0
CPUF
初期値
00011000B
R/W0 R(RM1),W
CPU動作検出フラグビット
読出し時
書込み時
オーバフローしていない このビットのクリア
オーバフローした
変化なし, ほかへの影響なし
予約ビット
このビットへは必ず"0"を書き込んでください
CPU動作検出回路クリアビット
カウンタのクリア
変化なし, ほかへの影響なし
RESV1
予約ビット
このビットへは必ず"1"を書き込んでください
RESV0
予約ビット
このビットへは必ず"0"を書き込んでください
:初期値
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
570
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
MB91220 シリーズ
第 25 章 CPU 動作検出リセット回路
25.2 CPU 動作検出リセット回路のレジスタ
表 25.2-1 CPU 動作検出リセット制御レジスタ , 各ビット機能説明
ビット名
機能
bit7,
bit6,
bit5
RESV0:
予約ビット
( 注意事項 )
RESV0 ビットへは必ず "0" を書き込んでください。
bit4
RESV1:
予約ビット
( 注意事項 )
RESV1 ビットへは必ず "1" を書き込んでください。
bit3
CL:
CPU 動作検出
クリアビット
CPU 動作検出回路のカウンタクリアをするビットです。
CL ビットに "0" を書き込むと , CPU 動作検出回路のカウンタがクリアされ
ます。
リード時は常に "1" となります。
bit2
RESV0:
予約ビット
( 注意事項 )
RESV0 ビットへは必ず "0" を書き込んでください。
bit1
RESV0:
予約ビット
( 注意事項 )
RESV0 ビットへは必ず "0" を書き込んでください。
bit0
CPUF:
CPU 動作検出
フラグビット
CPU 動作検出機能のカウンタがオーバフローすると , CPUF ビットが "1"
にセットされます。
書込み時は "0" でクリアされ , "1" では CPUF ビットに影響を与えず変化し
ません。
内部リセットでは初期化されず , 外部リセット入力で初期化されます。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
571
第 25 章 CPU 動作検出リセット回路
25.3 CPU 動作検出リセット回路の動作
25.3
MB91220 シリーズ
CPU 動作検出リセット回路の動作
CPU 動作検出機能は , 一定間隔でカウンタをクリアしなければ内部リセットを発生
します。CPU の暴走を検出して内部リセットが発生した場合 , レジスタの内容は保
証できません。リセット解除後は動作安定待ち時間経過後 , リセットシーケンスを
実行した後にリセットベクタで指定されたアドレスからプログラムが再スタートし
ます。
■ CPU 動作検出リセット回路の動作
CPU 動作検出リセット回路は , リセット解除後 , 動作安定待ち時間を確保せずに CPU
動作検出を開始します。
572
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 25 章 CPU 動作検出リセット回路
25.4 CPU 動作検出リセット回路使用上の注意
MB91220 シリーズ
25.4
CPU 動作検出リセット回路使用上の注意
CPU 動作検出リセット回路を使用するための注意点を示します。
■ CPU 動作検出リセット回路使用上の注意
● プログラムでの動作停止不可
CPU 動作検出リセット回路は , 電源投入後 , 連続で動作します。ソフトウェアでの動作
停止はできません。
● CPU 動作検出機能のリセット発生抑止
CPU 動作検出機能によるリセット発生を抑止するためには , 一定時間ごとにカウンタ
をクリアする必要があります。LVRC レジスタの CL ビットに "0" を書き込むことによ
りカウンタをクリアし , リセット発生を抑止することができます。
● カウンタのクリアと動作停止
CPU 動作検出機能は , CPU が動作を停止するモードでは , カウンタをクリアし , 動作を
停止します。
● DMA 転送時の CPU 動作検出リセット
D-bus 内に接続されているモジュール間の DMA 転送時は , CL ビットへの "0" 書込み不
可のため , 転送時間が連続して 262ms ( 原発振 4MHz 時 ) を超えると CPU 動作検出リ
セットを発生します。
● サブ動作モード移行時の注意
サブ動作モードに移行する場合 , メインクロックを停止するとともに , CPU 検出リセッ
ト回路をクリアしてください。
● CPU 動作検出動作モードの動作条件
• 本機能はメイン発振中でのみ使用できます。
• STOP/SLEEP/RTC モードでは本機能を使用できません。CPU 検出リセット回路をク
リアしてから移行してください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
573
第 25 章 CPU 動作検出リセット回路
25.4 CPU 動作検出リセット回路使用上の注意
574
FUJITSU SEMICONDUCTOR LIMITED
MB91220 シリーズ
CM71-10142-5
第 26 章
D/A コンバータ
D/A コンバータの機能と動作について説明します。
26.1 D/A コンバータの概要
26.2 ブロックダイヤグラム
26.3 レジスタ一覧
26.4 レジスタ詳細説明
26.5 D/A コンバータの動作
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
575
第 26 章 D/A コンバータ
26.1 D/A コンバータの概要
26.1
MB91220 シリーズ
D/A コンバータの概要
D/A コンバータの機能について説明します。
■ D/A コンバータの機能
D/A コンバータは , 8 ビットの分解能を持つ R-2R 形式の D/A コンバータです。
D/A コンバータには 2 チャネルがあります。
出力制御は , D/A 制御レジスタを使用して , 2 つのチャネルで個別に実行できます。
576
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 26 章 D/A コンバータ
26.2 ブロックダイヤグラム
MB91220 シリーズ
26.2
ブロックダイヤグラム
D/A コンバータのブロックダイヤグラムを示します。
図 26.2-1 に D/A コンバータのブロックダイヤグラムを示します。
図 26.2-1 D/A コンバータのブロックダイヤグラム
R-バス
DA DA DA DA DA DA DA DA
DA DA DA DA DA DA DA DA
17 16 15 14 13 12 11 10
07 06 05 04 03 02 01 00
AVCC
AVCC
DA17
DA07
2R
2R
R
DA16
R
DA06
2R
2R
R
R
DA15
DA05
DA11
DA01
2R
2R
R
DA10
R
DA00
2R
2R
2R
DAE1
スタンバイ制御
DA出力ch.1
2R
DAE0
スタンバイ制御
DA出力ch.0
( 注意事項 ) DAE1/0 を設定するだけでは , DA の出力はされません。PFR9/EPFR9 を設
定して , D/A コンバータの出力を許可してください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
577
第 26 章 D/A コンバータ
26.3 レジスタ一覧
26.3
MB91220 シリーズ
レジスタ一覧
D/A コンバータのレジスタ一覧を示します。
図 26.3-1 に D/A コンバータのレジスタ一覧を示します。
図 26.3-1 D/A コンバータのレジスタ一覧
DACR0 ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000069H
−
RX,WX
−
RX,WX
−
RX,WX
−
RX,WX
−
RX,WX
−
RX,WX
−
RX,WX
DAE0
-------0B
R/W
DACR1 ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000068H
−
RX,WX
−
RX,WX
−
RX,WX
−
RX,WX
−
RX,WX
−
RX,WX
−
RX,WX
DAE1
-------0B
R/W
DADR0 ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
00006BH
DA07
DA06
DA05
DA04
DA03
DA02
DA01
DA00
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
XXXXXXXXB
DADR1 ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
00006AH
DA17
DA16
DA15
DA14
DA13
DA12
DA11
DA10
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
XXXXXXXXB
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
578
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 26 章 D/A コンバータ
26.4 レジスタ詳細説明
MB91220 シリーズ
26.4
レジスタ詳細説明
D/A コンバータのレジスタの詳細を説明します。
■ 制御レジスタ (DACR)
図 26.4-1 に D/A 制御レジスタ (DACR) のビット構成を示します。
図 26.4-1 D/A 制御レジスタ (DACR) のビット構成
DACR0 ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000069H
−
RX,WX
−
RX,WX
−
RX,WX
−
RX,WX
−
RX,WX
−
RX,WX
−
RX,WX
DAE0
-------0B
R/W
DACR1 ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000068H
−
RX,WX
−
RX,WX
−
RX,WX
−
RX,WX
−
RX,WX
−
RX,WX
−
RX,WX
DAE1
-------0B
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit7 ∼ bit1] − : 未定義ビット
読出し値は不定です。書込みは動作に影響ありません。
[bit0] DAE1, DAE0
これらのビットは , D/A コンバータ出力を許可 , または禁止するために使用します。
DAE1 ビットはチャネル 1 出力を制御し , DAE0 ビットはチャネル 0 出力を制御し
ます。
これらのビットに "1" を書き込むと , D/A 出力は許可されます。"0" を書き込むと ,
D/A 出力は禁止になります。
リセット時に "0" に初期化されます。これらのビットは読出し , および書込みが可
能です。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
579
第 26 章 D/A コンバータ
26.4 レジスタ詳細説明
MB91220 シリーズ
■ データレジスタ (DADR)
図 26.4-2 に D/A データレジスタ (DADR) のビット構成を示します。
図 26.4-2 D/A データレジスタ (DADR) のビット構成
DADR0 ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
00006BH
DA07
DA06
DA05
DA04
DA03
DA02
DA01
DA00
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
XXXXXXXXB
DADR1 ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
00006AH
DA17
DA16
DA15
DA14
DA13
DA12
DA11
DA10
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
XXXXXXXXB
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit7 ∼ bit0] DADR1/DADR0 レジスタ DA17 ∼ DA10/DA07 ∼ DA00
これらのビットは , D/A コンバータチャネル 0 の出力電圧の設定に使用します。
リセット時に初期化はされません。これらのビットは読出し , および書込みが可能
です。
580
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 26 章 D/A コンバータ
26.5 D/A コンバータの動作
MB91220 シリーズ
26.5
D/A コンバータの動作
D/A コンバータの動作について説明します。
■ D/A コンバータの動作概要
D/A 出力は , D/A データレジスタ (DADR) に所望の D/A 出力値を書き込み , D/A 制御レ
ジスタ (DACR) 内の対応する D/A 出力チャネルの許可ビットに "1" を設定することに
よって開始されます。
D/A 出力を禁止にすると , 各 D/A コンバータチャネルの出力に直列に挿入されている
アナログスイッチがオフになります。さらに , D/A コンバータが "0" に内部クリアされ ,
直流電流の経路が遮断されます。これはストップモード時にも当てはまります。
■ D/A コンバータ出力電圧の理論値
表 26.5-1 に , D/A コンバータ出力電圧の理論値を示します。
D/A コンバータの出力電圧は , 0V ∼ 255/256 × AVCC です。
表 26.5-1 D/A コンバータ出力電圧の理論値
DA07 ∼ DA00 (DA17 ∼ DA10) の設定値
出力電圧の理論値
00H
AVSS + 0 × 1LSB
01H
AVSS + 1 × 1LSB
02H
AVSS + 2 × 1LSB
:
:
FDH
AVSS + 253 × 1LSB
FEH
AVSS + 254 × 1LSB
FFH
AVSS + 255 × 1LSB
1LSB = (AVCC − AVSS)/256
出力されたアナログ値は , PFR9/EPFR9 を D/A コンバータ出力に設定することで ,
ポートから出力されます。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
581
第 26 章 D/A コンバータ
26.5 D/A コンバータの動作
582
MB91220 シリーズ
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 27 章
I2C インタフェース
I2C インタフェースの概要 , レジスタの構成 / 機能 ,
および動作について説明します。
27.1 I2C インタフェースの概要
27.2 I2C インタフェースのレジスタ
27.3 I2C インタフェースの動作説明
27.4 動作フローチャート
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
583
第 27 章 I2C インタフェース
27.1 I2C インタフェースの概要
27.1
MB91220 シリーズ
I2C インタフェースの概要
I2C インタフェースは , Inter IC BUS をサポートするシリアル I/O ポートで , I2C バ
ス上のマスタ / スレーブデバイスとして動作します。
■ I2C インタフェースの特長
I2C インタフェースの特長は , 以下のとおりです。
• マスタ / スレーブ送受信
• アービトレーション機能
• クロック同期化機能
• スレーブアドレス / ゼネラルコールアドレス検出機能
• 転送方向検出機能
• 再起動条件発生および検出機能
• バスエラー検出機能
• 10 ビット /7 ビット スレーブアドレス
• マスタモード時スレーブアドレス受信アクノリッジ制御
• 複合スレーブアドレス対応
• 送信 , バスエラー時に割込み可能
• 標準モード ( 最大 100kbps)/ 高速モード ( 最大 400kbps) に対応
584
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 27 章 I2C インタフェース
27.1 I2C インタフェースの概要
MB91220 シリーズ
■ I2C インタフェースのレジスタ一覧
I2C インタフェースのレジスタ一覧は , 以下のとおりです。
• バス制御レジスタ (IBCR)
IBCR0, IBCR1 ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
000560H
00056CH
BER
R(RM1),W
bit8
初期値
INTE
INT
00000000B
R/W
R(RM1),W
bit13
bit12
bit11
bit10
bit9
BEIE
SCC
MSS
ACK
GCAA
R/W
R0,W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
• バスステータスレジスタ (IBSR)
IBSR0, IBSR1 ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
000561H
00056DH
BB
RSC
AL
LRB
TRX
AAS
GCA
ADT
00000000B
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
• 10 ビットスレーブアドレスレジスタ (ITBA)
ITBAH0, ITBAH1 上位 ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
000562H
00056EH
−
R0,WX
−
R0,WX
−
R0,WX
−
R0,WX
−
R0,WX
−
R0,WX
TA9
TA8
------00B
R/W
R/W
ITBAL0, ITBAL1 下位 ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000563H
00056FH
TA7
TA6
TA5
TA4
TA3
TA2
TA1
TA0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
585
第 27 章 I2C インタフェース
27.1 I2C インタフェースの概要
MB91220 シリーズ
• 10 ビットスレーブアドレスマスクレジスタ (ITMK)
ITMKH0, ITMKH1 上位 ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
000564H
000570H
ENTB
RAL
−
R1,WX
−
R1,WX
TM8
00----11B
R,WX
−
R1,WX
TM9
R/W
−
R1,WX
R/W
R/W
ITMKL0, ITMKL1 下位 ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000565H
000571H
TM7
TM6
TM5
TM4
TM3
TM2
TM1
TM0
11111111B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
• 7 ビットスレーブアドレスレジスタ (ISBA)
ISBA0, ISBA1 ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
000567H
000573H
−
R0,WX
SA6
SA5
SA4
SA3
SA2
R/W
R/W
R/W
R/W
R/W
bit5
bit4
bit3
bit2
bit0
初期値
SA1
SA0
-0000000B
R/W
R/W
bit1
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
• 7 ビットスレーブアドレスマスクレジスタ (ISMK)
ISMK0, ISMK1 ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
000566H
000572H
ENSB
SM6
SM5
SM4
SM3
SM2
SM1
SM0
01111111B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
• データレジスタ (IDAR)
IDAR0, IDAR1 ( アクセス:Byte,Half-word,Word)
アドレス
bit7
000569H
000575H
D7
D6
D5
D4
D3
D2
R/W
R/W
R/W
R/W
R/W
R/W
bit6
bit5
bit4
bit3
bit2
bit0
初期値
D1
D0
00000000B
R/W
R/W
bit1
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
586
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 27 章 I2C インタフェース
27.1 I2C インタフェースの概要
MB91220 シリーズ
• クロック制御レジスタ (ICCR)
ICCR0, ICCR1 ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
00056AH
000576H
−
R0,WX
NSF
EN
CS4
CS3
CS2
CS1
CS0
-0011111B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
587
第 27 章 I2C インタフェース
27.1 I2C インタフェースの概要
MB91220 シリーズ
■ I2C インタフェースのブロックダイヤグラム
図 27.1-1 に , I2C インタフェースのブロックダイヤグラムを示します。
図 27.1-1 I2C インタフェースのブロックダイヤグラム
ICCR
EN
I2C 動作許可
IDBL
DBL
クロック許可
ICCR
CS4
CS3
CS2
CS1
CS0
IB SR
BB
RSC
クロック分周2
2345
32
Sync
シフトクロック
エッジ変化タイミング
バスビジー
リピート
スタート
ラストビット
スタート・ストップ
コンディション検出
エラー
送信/受信
TRX
ファーストバイト
ADT
アビトレーションロスト検出
AL
IB CR
SCL1
SCL0
BER
BEIE
割込み要求
IRQ
INTE
INT
IB CR
SCC
MSS
ACK
シフトクロック発生
クロック選択2 (1/12)
LRB
R-bus
CLKP
終了
スタート
マスタ
ACK許可
SDA1
SDA0
スタート・ストップ
コンディション発生
GC-ACK許可
GCAA
IDAR
IB SR
AAS
スレーブ
グローバル
コール
GCA
スレーブ
アドレス
比較
ISML
ENSB
ITMK
ENTB RAL
ITBA
588
ITMK
ISBA
ISMK
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 27 章 I2C インタフェース
27.2 I C インタフェースのレジスタ
MB91220 シリーズ
27.2
2
I2C インタフェースのレジスタ
I2C インタフェースで使用するレジスタの構成および機能について説明します。
■ I2C インタフェースのレジスタ概要
I2C インタフェースには , 次の 8 種類のレジスタがあります。
• バスステータスレジスタ (IBSR0, IBSR1)
• バス制御レジスタ (IBCR0, IBCR1)
• クロック制御レジスタ (ICCR0, ICCR1)
• 10 ビットスレーブアドレスレジスタ (ITBAH0, ITBAH1, ITBAL0, ITBAL1)
• 10 ビットスレーブアドレスマスクレジスタ (ITMKH0, ITMKH1, ITMKL0, ITMKL1)
• 7 ビットスレーブアドレスレジスタ (ISBA0, ISBA1)
• 7 ビットスレーブアドレスマスクレジスタ (ISMK0, ISMK1)
• データレジスタ (IDAR0, IDAR1)
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
589
第 27 章 I2C インタフェース
27.2 I2C インタフェースのレジスタ
27.2.1
MB91220 シリーズ
バスステータスレジスタ (IBSR0, IBSR1)
バスステータスレジスタ (IBSR0, IBSR1) には , 以下の機能があります。
• バスビジー検出
• 再起動条件検出
• アービトレーションロスト検出
• アクノリッジ検出
• データ転送方向表示
• スレーブアドレッシング検出
• ゼネラルコールアドレス検出
• アドレスデータ転送検出
■ バスステータスレジスタ (IBSR0, IBSR1)
図 27.2-1 に , バスステータスレジスタ (IBSR0, IBSR1) のレジスタ構成を示します。
図 27.2-1 バスステータスレジスタ (IBSR0, IBSR1) のレジスタ構成
IBSR0, IBSR1 ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000561H
00056DH
BB
RSC
AL
LRB
TRX
AAS
GCA
ADT
00000000B
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
R,WX
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
このレジスタは読出し専用です。レジスタのビットはすべてハードウェアにより自動
的に制御されます。I2C インタフェースが有効でない場合 (ICCR レジスタの EN ビット
が "0") は , このレジスタのビットはすべてクリア状態となります。
[bit7] BB : バスビジービット
I2C バスの状態を示すビットです。
値
590
内 容
0
停止条件を検出した [ 初期値 ]
1
起動条件を検出した ( バス使用中 )
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 27 章 I2C インタフェース
27.2 I C インタフェースのレジスタ
MB91220 シリーズ
2
[bit6] RSC : 再起動条件ビット
再起動条件検出ビットです。
値
内 容
0
再起動条件は検出されていない [ 初期値 ]
1
再起動条件を検出した
このビットは, スレーブアドレス転送終了(ADT=0), または停止条件の検出でクリア
されます。
[bit5] AL : アービトレーションロスト検出ビット
アービトレーションロスト検出ビットです。
値
内 容
0
アービトレーションロストが検出されていない [ 初期値 ]
1
マスタ送信中にアービトレーションロストが発生した
このビットは INT ビットへの "0" 書込み , または IBCR レジスタ中の MSS ビットに
"1" を書き込むことによってクリアされます。
〔アービトレーションロストが発生する例〕
• データ送信が SCL の立上りエッジで SDA ライン上のデータと一致しない
• データのファーストビットで , ほかのマスタによって , 再起動条件が発生した
• I2C インタフェースが , ほかのスレーブデバイスによって SCL ラインが "L" にド
ライブされているために , 起動条件または停止条件を生成できない
[bit4] LRB : アクノリッジ格納ビット
アクノリッジ格納ビットです。受信側からのアクノリッジを格納します。
値
内 容
0
スレーブアクノリッジを検出した [ 初期値 ]
1
スレーブアクノリッジを検出していない
アクノリッジの検出 ( 受信 9 ビット ) により書き換わります。
起動条件または停止条件の検出でクリアされます。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
591
第 27 章 I2C インタフェース
27.2 I2C インタフェースのレジスタ
MB91220 シリーズ
[bit3] TRX : データ送信ビット
データ転送中に送信状態を示すビットです。
値
内 容
0
データ送信中でない [ 初期値 ]
1
データ送信中
• 1 をセット : マスタモードで起動条件が生成された
- スレーブモードでリードアクセス時 ( 送信 ) , 第 1 バイトの転送終了
- マスタモードで送信中
• 0 をセット : バスがアイドル状態 (BB=0:IBSR)
- アービトレーションロスト発生
- マスタ割込み中 (MSS=1, INT=1) に SCC に "1" が書き込まれた
- マスタ割込み中 (MSS=1, INT=1) に MSS ビットがクリアされた
- スレーブ時 , 転送の最後にアクノリッジが発生しなかった
- スレーブモードでの受信中
- マスタモードでのスレーブからデータ受信中
[bit2] AAS : スレーブアドレッシング検出ビット
スレーブアドレッシング検出ビットです。
値
内 容
0
スレーブに指定されていない [ 初期値 ]
1
スレーブに指定された
( 再 ) 起動または停止条件の検出でクリアされます。
7/10 ビットのスレーブアドレスを検出したときに設定されます。
[bit1] GCA : ゼネラルコールアドレス検出ビット
ゼネラルコールアドレス (00H) 検出ビットです。
値
内 容
0
ゼネラルコールアドレスを検出していない [ 初期値 ]
1
ゼネラルコールアドレスを検出した
( 再 ) 起動または停止条件の検出でクリアされます。
592
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 27 章 I2C インタフェース
27.2 I C インタフェースのレジスタ
MB91220 シリーズ
2
[bit0] ADT : アドレスデータ転送
スレーブアドレス受信検出ビットです。
値
内 容
0
受信データがスレーブアドレスでない ( またはバス開放中 )
[ 初期値 ]
1
受信データがスレーブアドレスである
起動の検出で "1" に設定されます。10 ビットライトアクセスでのスレーブアドレス
のヘッダが検出されると , 第 2 バイトの後にクリアされ , それ以外のときは第 1 バ
イトの後でクリアされます。
〔第 1 バイト / 第 2 バイトの後とは〕
• マスタ割込み (MSS=1, INT=1:IBCR) 中に MSS ビットに "0" が書き込まれた
• マスタ割込み (MSS=1, INT=1:IBCR) 中に SCC ビットに "1" が書き込まれた
• INT ビットがクリアされた
• マスタまたはスレーブとして転送対象でなければ , すべての転送バイトの最初
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
593
第 27 章 I2C インタフェース
27.2 I2C インタフェースのレジスタ
27.2.2
MB91220 シリーズ
バス制御レジスタ (IBCR0, IBCR1)
バス制御レジスタ (IBCR0, IBCR1) には以下の機能があります。
• 割込み許可フラグ
• 割込み生成フラグ
• バスエラー検出フラグ
• 再起動条件生成
• マスタ / スレーブモード選択
• ゼネラルコールアクノリッジ生成許可
• データバイトアクノリッジ生成許可
■ バス制御レジスタ (IBCR0, IBCR1)
図 27.2-2 に , バス制御レジスタ (IBCR0, IBCR1) のレジスタ構成を示します。
図 27.2-2 バス制御レジスタ (IBCR0, IBCR1) のレジスタ構成
IBCR0, IBCR1 ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
000560H
00056CH
BER
R(RM1),W
bit8
初期値
INTE
INT
00000000B
R/W
R(RM1),W
bit13
bit12
bit11
bit10
bit9
BEIE
SCC
MSS
ACK
GCAA
R/W
R0,W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
バス制御レジスタ (IBCR) への書込みアクセスは , INT ビットが "1" あるいは転送が開
始される場合に行ってください。ACK ビットもしくは GCAA ビットを変更するとバス
エラーが検出される場合があるので , 転送動作中にはレジスタへの書込みアクセスを
行わないでください。I2C インタフェースが有効でない場合 (ICCR の EN ビットが "0")
は , BER ビットと BEIE ビットを除き , このレジスタのビットはクリア状態となります。
594
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 27 章 I2C インタフェース
27.2 I C インタフェースのレジスタ
MB91220 シリーズ
2
[bit15] BER : バスエラーフラグ
バスエラー割込み要求フラグビットです。このビットは , リードモディファイライ
ト (RMW) 系命令では , 常に "1" が読まれます。
( 書込み時 )
値
内 容
0
バスエラー割込み要求フラグをクリアする
1
意味をもちません
( 読出し時 )
値
内 容
0
バスエラーは検出されていない [ 初期値 ]
1
エラーコンディションを検出した
このビットが設定された場合 , ICCR レジスタの EN ビットはクリアされ , I2C イン
タフェースは停止状態になり , データ転送は中断されます。また , BER, BEIE を除
き IBSR と IBCR レジスタのすべてのビットはクリアされます。このビットは , I2C
インタフェースを再度許可 (EN = 1) にする前にクリアしてください。
〔"1" が設定される場合〕
1) 起動条件または停止条件が不正な場所で検出された ( スレーブアドレス転送中 ,
データ転送中 ) 。
2) 10 ビットリードアクセス時に , 第 1 バイトにて 10 ビットライトアクセスする前
に , リードアクセスのスレーブアドレスヘッダが受信された。
3) マスタモードで転送中に起動条件が検出された。
1), 2) の検出は , 転送実行中に I2C インタフェースが動作許可されていると , 不正
バスエラーレポートを抑止するために , 最初の停止条件の受信後にフラグセッ
トされます。
[bit14] BEIE : バスエラー割込み許可ビット
バスエラー割込み許可ビットです。
値
内 容
0
バスエラー割込み禁止 [ 初期値 ]
1
バスエラー割込み許可
このビットが "1" のとき , BER ビットが "1" が設定されると割込みを発生します。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
595
第 27 章 I2C インタフェース
27.2 I2C インタフェースのレジスタ
MB91220 シリーズ
[bit13] SCC : 起動条件継続ビット
再起動条件発生ビットです。
( 書込み時 )
値
内 容
0
意味をもちません
1
マスタ転送時に再起動条件を発生させる
このビットの読出し値は常に "0" です。
マスタモード (MSS=1, INT=1) 中にこのビットに "1" を書き込むと , 再起動条件が発
生し , 自動的に INT ビットをクリアします。
[bit12] MSS : マスタ / スレーブ選択ビット
マスタ / スレーブの選択ビットです。
値
内 容
0
スレーブモードとなります [ 初期値 ]
1
マスタモードとなり起動条件を発生し , IDAR レジスタの値をスレー
ブアドレスとして送信します
• このビットは, マスタ送信中にアービトレーションロストが発生した場合クリア
されてスレーブモードになります。
• マスタ割込みフラグセット中 (MSS=1, INT=1) に "0" を書き込むと INT ビットは
自動的にクリアされ , 停止条件が発生して転送が終了します。
注 ) MSS ビットは直接的なリセットとして機能します。停止条件の発生は , IBSR
レジスタの BB ビットを読み出すことによって確認できます。
• バスがアイドル中 (MSS=0, BB=0) に "1" を書き込むと起動条件が発生して IDAR
の値が送信されます。
• バス使用中 (BB=1, TRX=0, MSS=0) に "1" を書き込むと I2C インタフェースはバ
スが開放されるまで待ち , 送信を開始します。その間に I2C インタフェースはラ
イトアクセスを伴うスレーブとしてアドレス指定されると, 転送終了後にバスは
開放されます。その間 , スレーブとして送信中の場合 (AAS=1, TRX=1:IBSR), バ
スが開放されてもデータ送信しません。
I2Cインタフェースがスレーブ(AAS=1:IBSR)
として指定されたか, 次の割込み時にデータを送信が正常終了にした(MSS=1:IBCR)
か , 不正終了した (AL=1:IBSR) かどうかを確認することが重要となります。
596
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 27 章 I2C インタフェース
27.2 I C インタフェースのレジスタ
MB91220 シリーズ
2
[bit11] ACK : アクノリッジビット
データを受信許可ビットに従ってアクノリッジを発生するビットです。
値
内 容
0
データ受信に対してアクノリッジを発生しない [ 初期値 ]
1
データ受信に対してアクノリッジを発生する
• このビットは , スレーブ時のスレーブアドレス受信時には無効となります。I2C
インタフェースが 7 ビット , または 10 ビットのスレーブアドレス指定を検出し
たとき , 対応するイネーブルビット (ENTB:ITMK, ENSB:ISMK) が設定されてい
ると , アクノリッジを返します。
• このビットへの書込みは , 割込みフラグセット中 (INT=1), バスが開放中 (BB=0:
IBSR) または I2C インタフェースが停止中 (EN=0:ICCR) に行ってください。
[bit10] GCAA : ゼネラルコールアドレスアクノリッジビット
ゼネラルコールアドレスを検出した場合のアクノリッジ発生許可ビットです。
値
内 容
0
ゼネラルコールアドレスを検出時にアクノリッジを発生しない
[ 初期値 ]
1
ゼネラルコールアドレスを検出時にアクノリッジを発生する
このビットへの書込みは , 割込みフラグセット中 (INT=1), バスが開放中 (BB=0:
IBSR) または I2C インタフェースが停止中 (EN=0:ICCR) に行ってください。
• ゼネラルコールアドレス受信時には , このビットと ACK ビットをともに "1" に
することにより , アクノリッジ応答の発生が許可されます。
• ゼネラルコールアドレス送信時には , このビットを "1" にすることにより , アク
ノリッジ応答の発生が許可されます。
• スレーブ受信 ( マスタでゼネラルコールアドレスを送信した後に , アービトレー
ションロストが発生した場合を含む ) でデータ受信時のアクノリッジビット出
力は , ACK ビットとこのビットがともに "1" のときに出力許可となります。
• バスステータスレジスタ (IBSR) の GCA ビットが "1" のときには , このビットの
設定値を変更しないでください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
597
第 27 章 I2C インタフェース
27.2 I2C インタフェースのレジスタ
MB91220 シリーズ
[bit9] INTE : 割込み許可ビット
割込み許可ビットです。
値
内 容
0
割込み禁止 [ 初期値 ]
1
割込み許可
このビットが "1" のときに , INT ビットが "1" になると割込みを発生します。
[bit8] INT : 割込み要求フラグ
転送終了割込み要求フラグビットです。このビットは , リードモディファイライト
(RMW) 系命令では常に "1" が読み出されます。
( 書込み時 )
値
内 容
0
転送終了割込み要求フラグをクリアする [ 初期値 ]
1
動作に影響を与えません
( 読出し時 )
値
内 容
0
転送が終了していない , 転送対象でないまたはバスが開放状態である
[ 初期値 ]
1
アクノリッジビットを含めた 1 バイト転送が終了したときに次の条
件に該当する場合設定されます。
・バスマスタである
・スレーブアドレスに指定された
・ゼネラルコールアドレスを受信した
・アービトレーションロストが起こった
スレーブアドレスに指定されているとき , アクノリッジを含むスレー
ブアドレス受信の最後に設定されます。
このビットが "1" のとき , SCL ラインは "L" レベルに保たれます。このビットへの
"0" を書込みによりクリアされ , SCL ラインを開放し , 次バイトの転送を行って 再
起動条件または停止条件を生成します。
このビットは , SCC ビットまたは MSS ビットに "1" が書き込まれるとクリアされま
す。
598
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 27 章 I2C インタフェース
27.2 I C インタフェースのレジスタ
MB91220 シリーズ
2
■ SCC, MSS, INT ビットの競合について
SCC, MSS, INT ビットの同時書込みにより , 次バイト転送 , 再起動条件 , または停止条
件発生の競合が起こります。このときの優先度は次のようになります。
• 次のバイト転送と停止条件発生
INT ビットに "0", MSS ビットに "0" を書き込むと , MSS ビットの書込みが優先され
て停止条件が発生します。
• 次のバイト転送と起動条件発生
INT ビットに "0", SCC ビットに "1" を書き込むと , SCC ビットの書込みが優先され
て再起動条件が発生し , IDAR の値が送信されます。
• 再起動条件発生と停止条件発生
SCC ビットに "1", MSS ビットに "0" を書き込むと , MSS ビットのクリアが優先され
ます。停止条件が発生して I2C インタフェースはスレーブモードになります。
図 27.2-3 と図 27.2-4 に示したタイミングで , 起動条件を発生させる命令を実行 (IBCR
の MSS=1) すると , アービトレーションロスト検出 (IBSR の AL=1) による割込み (IBCR
の INT=1) は発生しません。
• アービトレーションロスト検出による割込みが発生しない条件 (1)
起動条件未検出状態 (IBSR の BB=0) で , SDA 端子または SCL 端子レベルが "L" の
ときに , 起動条件を発生させる命令を実行 (IBCR の MSS=1) した場合。
図 27.2-3 アービトレーションロスト検出による割込みが発生しないタイミング図
SCL端子またはSDA端子が"L"レベル
SCL端子
"L"
SDA端子
"L"
I2C動作許可状態(ENビット=1)
1
マスタモード設定(MSSビット=1)
アービトレーションロスト検出(ALビット=1)
バスビジー(BBビット)
0
割込み(INTビット)
0
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
599
第 27 章 I2C インタフェース
27.2 I2C インタフェースのレジスタ
MB91220 シリーズ
• アービトレーションロスト検出による割込みが発生しない条件 (2)
ほかのマスタに I2C バスが占有されている状態で , I2C 動作許可 (ICCR の EN=1) し
て起動条件を発生させる命令を実行 (IBCR の MSS=1) した場合。
図 27.2-4 に示したとおり , I2C が動作禁止 (ICCR の EN=0) の状態で , I2C バスのほか
のマスタが通信を開始すると , 起動条件未検出 (IBSR の BB=0) で I2C バスが占有さ
れている状態になるためです。
図 27.2-4 アービトレーションロスト検出による割込みが発生しないタイミング図
スタートコンディション
9クロック目でINTビット
割込みが発生しない
ストップコンディション
SCL端子
スレーブアドレス
SDA端子
ACK
データ
ACK
ENビット
MSSビット
ALビット
BBビット
0
INTビット
0
これらのような現象が発生する可能性がある場合には , 以下の手順でソフト処理を
行ってください。
1) 起動条件を発生させる命令を実行 (IBCR の MSS=1)
2) タイマ機能などを用いて , ICCR に設定されている I2C 転送周波数での 3 ビットデー
タ送信時間待機 *
例:
I2C 転送周波数が 100kHz の場合
3 ビットデータ送信時間 = {1/(100 × 103)} × 3 = 30 μs
* : アービトレーションロストが検出された場合 , MSS ビット設定後 , I2C 転送周波
数での 3 ビットデータ送信時間後には確実に AL=1 となります。
3) IBSR の AL ビットと BB ビットを確認し , AL=1 かつ BB=0 の場合には , ICCR の EN
ビットを "0" にして I2C を初期化
AL ビットと BB ビットがその他の値である場合は , 通常処理
以下にフロー例を示します。
600
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 27 章 I2C インタフェース
27.2 I C インタフェースのレジスタ
MB91220 シリーズ
2
図 27.2-5 アービトレーションロスト検出による割込みが発生しない場合のソフト処理フロー
マスタモード設定
バス制御レジスタ (IBCR) の MSS ビットに "1" を設定
クロック制御レジスタ (ICCR) に設定されている
I2C 転送周波数での 3 ビットデータ送信時間待機
NO
BB = 0 かつ AL = 1
YES
EN ビット設定し , I2C の初期化
通常処理
• アービトレーションロスト検出による割込みが発生する例
バスビジー検出 (IBSR の BB=1) されている状態で , 起動条件を発生させる命令を実
行 (IBCR の MSS ビットを "1" に設定 ) し , アービトレーションロストした場合には ,
AL=1 検出時に INT=1 となり割込みが発生します。
図 27.2-6 アービトレーションロスト検出による割込みが発生するタイミング例
9クロック目で割り込み
スタートコンディション
SCL端子
SDA端子
スレーブアドレス
データ
ACK
ENビット
MSSビット
ALビット
ソフトでのALビットクリア
BBビット
INTビット
CM71-10142-5
ソフトでのINTビット
クリアでSCL開放
FUJITSU SEMICONDUCTOR LIMITED
601
第 27 章 I2C インタフェース
27.2 I2C インタフェースのレジスタ
MB91220 シリーズ
クロック制御レジスタ (ICCR0, ICCR1)
27.2.3
クロック制御レジスタ (ICCR0, ICCR1) には , 以下の機能があります。
• ノイズフィルタ有効
• I2C インタフェース動作許可
• シリアルクロック周波数設定
■ クロック制御レジスタ (ICCR0, ICCR1)
図 27.2-7 に , クロック制御レジスタ (ICCR0, ICCR1) のレジスタ構成を示します。
図 27.2-7 クロック制御レジスタ (ICCR0, ICCR1) のレジスタ構成
ICCR0, ICCR1 ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
00056AH
000576H
−
R0,WX
NSF
EN
CS4
CS3
CS2
CS1
CS0
-0011111B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit15] Reserved : 予約ビット
読出し値は常に "0" です。
[bit14] NSF : ノイズフィルタ有効ビット
SDA および SCL 端子に配置されたノイズフィルタを有効にするビットです。この
ノイズフィルタにより , これらの入力に発生するスパイク (CLKP1 ∼ CLKP1.5 サイ
クル ) を抑制することができます。送信 / 受信レートが 100kbps 以上の場合には , こ
のビットを "1" に設定してください。
[bit13] EN : 動作許可ビット
I2C インタフェース動作許可ビットです。
値
内 容
0
動作禁止 [ 初期値 ]
1
動作許可
<注意事項>
• I2C インタフェースの動作が禁止されると , 送受信はただちに停止されます。
• MSS ビットに "0" を書き込んでストップコンディションを発生させたあとに I2C インタ
フェースの動作を禁止する場合は , ストップコンディションの発生を確認 (BB=0:IBSR)
した後 , 動作を禁止 (EN=0:ICCR) してください。
602
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 27 章 I2C インタフェース
27.2 I C インタフェースのレジスタ
MB91220 シリーズ
2
[bit12 ∼ bit8] CS4 ∼ CS0 : クロック周期選択ビット
シリアルクロックの周波数を設定するビットです。
このビットは , I2C インタフェースを動作禁止 (EN=0) にするか , EN ビットがクリア
されたときにのみ書込み可能です。
シフトクロックの周波数 (fsck) は次式のように設定されます。
ノイズフィルタ無効時
fsck =
ノイズフィルタ有効時
fsck =
φ
n > 0, φ: 周辺クロック
n × 12+16
φ
n > 0, φ: 周辺クロック
n × 12+17
表 27.2-1 レジスタ設定
N
CS4
CS3
CS2
CS1
CS0
1
0
0
0
0
1
2
0
0
0
1
0
3
0
0
0
1
1
…
…
…
…
…
…
31
1
1
1
1
1
CS4 ∼ CS0=00000B は設定禁止です。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
603
第 27 章 I2C インタフェース
27.2 I2C インタフェースのレジスタ
27.2.4
MB91220 シリーズ
10 ビットスレーブアドレスレジスタ (ITBAH0,
ITBAH1, ITBAL0, ITBAL1)
10 ビットスレーブアドレスレジスタ (ITBAH0, ITBAH1, ITBAL0, ITBAL1) は , 10
ビットのスレーブアドレスを示します。
■ 10 ビットスレーブアドレスレジスタ (ITBAH0, ITBAH1, ITBAL0, ITBAL1)
図 27.2-8 に , 10 ビットスレーブアドレスレジスタ (ITBAH0, ITBAH1, ITBAL0, ITBAL1)
のレジスタ構成を示します。
図 27.2-8 10 ビットスレーブアドレスレジスタ (ITBAH0, ITBAH1, ITBAL0, ITBAL1) の
レジスタ構成
ITBAH0, ITBAH1 上位 ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
000562H
00056EH
−
R0,WX
−
R0,WX
−
R0,WX
−
R0,WX
−
R0,WX
−
R0,WX
TA9
TA8
------00B
R/W
R/W
ITBAL0, ITBAL1 下位 ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000563H
00056FH
TA7
TA6
TA5
TA4
TA3
TA2
TA1
TA0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
10 ビットスレーブアドレスレジスタ (ITBA) への書込みアクセスは , I2C インタフェー
スが有効でない場合 (ICCR の EN ビットが "0") に行ってください。
[bit15 ∼ bit10] Reserved : 予約ビット
読出し時は常に "0" です。
[bit9 ∼ bit0] TA9 ∼ TA0 : 10 ビットスレーブアドレスビット (A9 ∼ A0)
10 ビットアドレスが有効 (ENTB=1:ITMK) のとき , スレーブモードでスレーブアド
レスを受信すると , 受信アドレスと ITBA と比較します。
アクノリッジは , 10 ビットライトアクセスのアドレスヘッダ受信後 , マスタに送信
されます。
第 1, 第 2 バイト受信データと ITBAL レジスタとを比較されます。一致が検出され
ると , アクノリッジ信号をマスタデバイスに送信し , AAS ビットが設定されます。
I2C インタフェースは , 再起動条件の後 , 10 ビットリードアクセスのアドレスヘッ
ダの受信に応答します。
スレーブアドレスの全ビットは , ITMK の設定によりマスクされます。受信スレー
ブアドレスは , ITBA レジスタに上書きされます。このレジスタが有効なのは , AAS
(IBSR レジスタ ) が "1" のときのみです。
604
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 27 章 I2C インタフェース
27.2 I C インタフェースのレジスタ
MB91220 シリーズ
27.2.5
2
10 ビットスレーブアドレスマスクレジスタ
(ITMKH0, ITMKH1, ITMKL0, ITMKL1)
10 ビットスレーブアドレスマスクレジスタ (ITMKH0, ITMKH1, ITMKL0, ITMKL1)
には , 10 ビットスレーブアドレスマスクと 10 ビットスレーブアドレス許可ビットが
あります。
■ 10 ビットスレーブアドレスマスクレジスタ (ITMKH0, ITMKH1, ITMKL0, ITMKL1)
図 27.2-9 に , 10 ビットスレーブアドレスマスクレジスタ (ITMKH0, ITMKH1, ITMKL0,
ITMKL1) のレジスタ構成を示します。
図 27.2-9 10 ビットスレーブアドレスマスクレジスタ (ITMKH0, ITMKH1, ITMKL0, ITMKL1) の
レジスタ構成
ITMKH0, ITMKH1 上位 ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
000564H
000570H
ENTB
RAL
−
R1,WX
−
R1,WX
TM8
00----11B
R,WX
−
R1,WX
TM9
R/W
−
R1,WX
R/W
R/W
ITMKL0, ITMKL1 下位 ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000565H
000571H
TM7
TM6
TM5
TM4
TM3
TM2
TM1
TM0
11111111B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit15] ENTB : 10 ビットスレーブアドレス許可ビット
10 ビットスレーブアドレス動作許可ビットです。
値
内 容
0
10 ビットスレーブアドレス動作禁止 [ 初期値 ]
1
10 ビットスレーブアドレス動作許可
このビットへの書込みは , I2C インタフェースが停止状態 (EN=0: ICCR) で行ってく
ださい。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
605
第 27 章 I2C インタフェース
27.2 I2C インタフェースのレジスタ
MB91220 シリーズ
[bit14] RAL : 受信スレーブアドレス長ビット
このビットは , スレーブアドレス長を示します。
値
内 容
0
7 ビットスレーブアドレス [ 初期値 ]
1
10 ビットスレーブアドレス
このビットは , 10 ビット /7 ビットスレーブアドレスの動作許可ビットが両方許可
(ENTB=1 かつ ENSB=1) になっている場合に , 10 ビット , 7 ビットスレーブアドレス
動作のどちらの転送長が有効になるかの決定に使用できます。
このビットは AAS ビット (IBSR) が "1" のときに有効です。
このビットはインタフェースの動作を禁止 (EN=0:ICCR) したときにクリアされま
す。
このビットは読出しのみ可能です。
[bit13 ∼ bit10] Reserved : 予約ビット
読出し時は常に "1" が読まれます。
[bit9 ∼ bit0] TM9 ∼ TM0 : 10 ビットスレーブアドレスマスクビット
このビットは10ビットスレーブアドレスレジスタ(ITBA)のビットをマスクします。
このレジスタへの書込みは, I2Cインタフェースが動作禁止(EN=0:ICCR)のとき行っ
てください。
値
内 容
0
当該ビットをスレーブアドレス比較に使用しない
1
当該ビットをスレーブアドレス比較に使用する [ 初期値 ]
このビットを設定することにより複合 10 ビットスレーブアドレスに対してアクノ
リッジを送信することが可能になります。このレジスタを 10 ビットスレーブアド
レス比較に使用するときに , このビットを "1" に設定してください。受信したスレー
ブアドレスは , ITBA に上書きされます。ASS = 1(IBSR) のときに ITBA レジスタを
読み出すことによって実際の指定されたスレーブアドレスを特定できます。
ITMK の TM9 ∼ TM0 の各ビットが ITBA のアドレスの各ビットに対応しており , TM9 ∼
TM0 の値が "1" のときは ITBA のアドレスが有効になり , "0" のときは無効になります。
例 : ITBA アドレス "0010010111B"
ITMK アドレス " 1111111100B" のとき
スレーブアドレスは "0010010100B" ∼ "0010010111B" の空間になります。
606
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 27 章 I2C インタフェース
27.2 I C インタフェースのレジスタ
MB91220 シリーズ
2
7 ビットスレーブアドレスレジスタ (ISBA0, ISBA1)
27.2.6
7 ビットスレーブアドレスレジスタ (ISBA0, ISBA1) は , 7 ビットのスレーブアドレ
スを示します。
■ 7 ビットスレーブアドレスレジスタ (ISBA0, ISBA1)
図 27.2-10 に , 7 ビットスレーブアドレスレジスタ (ISBA0, ISBA1) のレジスタ構成を示
します。
図 27.2-10 7 ビットスレーブアドレスレジスタ (ISBA0, ISBA1) のレジスタ構成
ISBA0, ISBA1 ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
000567H
000573H
−
R0,WX
SA6
SA5
SA4
SA3
SA2
R/W
R/W
R/W
R/W
R/W
bit5
bit4
bit3
bit2
bit0
初期値
SA1
SA0
-0000000B
R/W
R/W
bit1
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
7 ビットスレーブアドレスレジスタ (ISBA) への書込みアクセスは , I2C インタフェース
が有効でない場合 (ICCR の EN ビットが "0") に行ってください。
[bit7] Reserved : 予約ビット
読出し値は "0" です。
[bit6 ∼ bit0] SA6 ∼ SA0 : スレーブアドレスビット
スレーブモードでスレーブアドレスを受信したとき , 7 ビットスレーブアドレスが
許可 (ENSB=1:ISMK) されていると , 受信スレーブアドレスと ISBA の比較を行いま
す。スレーブアドレス一致が検出されると , マスタに対してアクノリッジを送信し
て AAS ビットを設定します。
I2C インタフェースは , 再起動条件の後に 7 ビットリードアクセスのアドレスヘッ
ダの受信にアクノリッジを返します。
スレーブアドレスの全ビットは , ISMK の設定によりマスクされます。受信スレー
ブアドレスは , ISBA レジスタに上書きされます。このレジスタが有効なのは , AAS
(IBSR レジスタ ) が "1" のときのみです。
I2C インタフェースは , 10 ビットスレーブアドレス指定 , またはジェネラルコール
が受信されたとき , ISBA と受信スレーブアドレスとの比較を行いません。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
607
第 27 章 I2C インタフェース
27.2 I2C インタフェースのレジスタ
27.2.7
MB91220 シリーズ
7 ビットスレーブアドレスマスクレジスタ (ISMK0,
ISMK1)
7 ビットスレーブアドレスマスクレジスタ (ISMK0, ISMK1) には , 7 ビットスレーブ
アドレスマスクと 7 ビットスレーブアドレス許可ビットがあります。
■ 7 ビットスレーブアドレスマスクレジスタ (ISMK0, ISMK1)
図 27.2-11 に , 7 ビットスレーブアドレスマスクレジスタ (ISMK0, ISMK1) のレジスタ構
成を示します。
図 27.2-11 7 ビットスレーブアドレスマスクレジスタ (ISMK0, ISMK1) のレジスタ構成
ISMK0, ISMK1 ( アクセス:Byte,Half-word,Word)
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
000566H
000572H
ENSB
SM6
SM5
SM4
SM3
SM2
SM1
SM0
01111111B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
7 ビットスレーブアドレスマスクレジスタ (ISMK) への書込みアクセスは , I2C インタ
フェースが有効でない場合 (ICCR の EN ビットが "0") に行ってください。
[bit15] ENSB : 7 ビットスレーブアドレス許可ビット
7 ビットスレーブアドレス動作許可ビットです。
値
608
内 容
0
7 ビットスレーブアドレス動作禁止 [ 初期値 ]
1
7 ビットスレーブアドレス動作許可
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 27 章 I2C インタフェース
27.2 I C インタフェースのレジスタ
MB91220 シリーズ
2
[bit14 ∼ bit8] SM6 ∼ SM0 : 7 ビットスレーブアドレスマスクビット
このビットは 7 ビットスレーブアドレスレジスタ (ISBA) のビットをマスクします。
値
内 容
0
当該ビットをスレーブアドレス比較に使用しない
1
当該ビットをスレーブアドレス比較に使用する [ 初期値 ]
このビットを設定することにより , 複合 7 ビットスレーブアドレスに対してアクノ
リッジを送信することが可能になります。ISMK レジスタを 7 ビットスレーブアド
レス比較に使用するときに , このビットを "1" に設定してください。受信したスレー
ブアドレスは , ISBA に上書きされます。ASS = 1(IBSR) のときに ISBA レジスタを
読み出すことによって実際の指定されたスレーブアドレスを特定できます。
I2C インタフェースが許可になった後にスレーブアドレス (ISBA) は受信動作によっ
て書き換えられるため , ISMK を書き換えたときは , ISMK を再設定しないと期待ど
おりの動作をしないことがあります。
ISMK の SM6 ∼ SM0 の各ビットが ISBA のアドレスの各ビットに対応しており ,
SM6 ∼ SM0 の値が "1" のときは ISBA のアドレスが有効になり , "0" のときは無効
になります。
例 : ISBA アドレス "0010111B"
ISMK アドレス " 1111100B" のとき
スレーブアドレスは "0010100B" ∼ "0010111B" の空間になります。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
609
第 27 章 I2C インタフェース
27.2 I2C インタフェースのレジスタ
27.2.8
MB91220 シリーズ
データレジスタ (IDAR0, IDAR1)
データレジスタ (IDAR0, IDAR1) について説明します。
■ データレジスタ (IDAR0, IDAR1)
図 27.2-12 に , データレジスタ (IDAR0, IDAR1) のレジスタ構成を示します。
図 27.2-12 データレジスタ (IDAR0, IDAR1) のレジスタ構成
IDAR0, IDAR1 ( アクセス:Byte,Half-word,Word)
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
000569H
000575H
D7
D6
D5
D4
D3
D2
D1
D0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。)
[bit7 ∼ bit0] D7 ∼ D0 : データビット
シリアル転送に使用されるデータレジスタであり , MSB から転送されます。
このレジスタの書込み側はダブルバッファになっており , バスが使用中(BB=1)であ
る場合 , 書込みデータはシリアル転送用のレジスタにロードされます。INT ビット
(IBCR) がクリアされるか , バスがアイドル状態 (BB=0:IBSR) のときに転送データは
内部転送レジスタにロードされます。
読出し時はシリアル転送用のレジスタを直接読み出すため , 本レジスタの受信デー
タは INT ビット (IBCR) が設定されている場合のみ有効です。
610
FUJITSU SEMICONDUCTOR LIMITED
CM71-10142-5
第 27 章 I2C インタフェース
27.3 I C インタフェースの動作説明
MB91220 シリーズ
27.3
2
I2C インタフェースの動作説明
I2C バスは , 1 本のシリアルデータライン (SDA) と 1 本のシリアルクロックライン
(SCL) の 2 本の双方向バスラインにより転送が行われます。
I2C インタフェースはそれに対して 2 本のオープンドレイン入出力端子 (SDA, SCL)
を有し , ワイヤード論理を可能にします。
■ 起動条件
バスが開放されている状態 (BB=0, MSS=0) で MSS ビットに "1" を書き込むと , I2C イ
ンタフェースはマスタモードとなり , 起動条件を発生します。そのとき , スレーブアド
レスとして IDAR レジスタの値を送信します。
バスマスタモードで割込みフラグが設定されているとき (MSS=1, INT=1:IBCR), SCC
ビットに "1" を書き込むことで , 再起動条件が生成されます。
バス使用時 (BB=1, TRX=0:IBSR, MSS=0 または INT=0:IBCR) に , MSS ビットに "1" を
書き込むとバスが開放され , 送信が開始されます。
スレーブモード時にライト ( 受信 ) アクセスされると , 転送が終了してバスが開放され
た後 , 送信を開始します。そのとき , インタフェースがデータ送信中であれば , バスが
開放されても送信しません。
インタフェースは , 次のことをチェックする必要があります。
• スレーブとして指定された (MSS=0:IBCR, AAS=1:IBSR) かどうか
• 次の割込みで , データバイトを正常に送れた (AL=1:IBSR) かどうか
■ 停止条件
マスタモード (MSS=1, INT=1:IBCR) 時に , MSS ビットに "0" を書き込むと , 停止条件を
発生してスレーブモードになります。ほかの条件での , MSS への "0" 書込みは無視さ
れます。
MSS ビットがクリアされた後 , I2C は停止条件を生成しようとします。停止条件を生成
する前に , SCL ラインが "L" にドライブされているときは生成されません。次のバイト
が転送された後に割込みが生成されます。
( 注意事項 ) MB91220 シリーズでは , I2C の端子は , 擬似オープンドレインとなってお
りますので , VCC を超える電圧を印加することはできません。
<注意事項>
MSS ビットに "0" を書き込んでから停止条件を発生するまでに時間を要します。起動条件
の発生前に I2C インタフェースを動作禁止 (EN=0:ICCR) にすると , 直ちに動作が停止し
て SCL ラインに不正クロック発生します。I2C インタフェースを動作禁止する際には , 起
動条件の発生を確認 (BB=0:IBSR) した後 , 動作を禁止 (EN=0:ICCR) してください。
CM71-10142-5
FUJITSU SEMICONDUCTOR LIMITED
611
第 27 章 I2C インタフェース
27.3 I2C インタフェースの動作説明
MB91220 シリーズ
■ スレーブアドレス検出
スレーブモードでは , 起動条件発生後 , BB=1 に設定されてマスタからの送信データを
IDAR レジスタへ受信します。
〔7 ビットスレーブアドレス動作許可の場合〕(ISMK レジスタの ENSB=1)
8 ビットデータ受信後に IDAR レジスタと ISBA レジスタとの比較が行われます。こ
のとき , ISMK レジスタによりビットマスクされた値との比較になります。
一致している場合 , AAS=1 に設定し , マスタに対してアクノリッジを送信します。
その後 , 受信データの bit0 ( 受信後の IDAR レジスタの bit0) を反転して TRX ビット
へ格納します。
〔10 ビットスレーブアドレス動作許可の場合〕(ITMK レジスタの ENTB=1)
10 ビットアドレスのヘッダ部 (11110B, TA1, TA0, ライト ) を検出すると , マスタに
対してアクノリッジを送信し , 受信データの bit0 を反転して TRX ビットへ格納しま
す。このとき割込みは発生しません。
続いて , 次の転送データと ITBA レジスタの下位データとの比較が行われます。こ
のとき , ISMK レジスタによりビットマスクされた値との比較になります。
一致している場合 , AAS に "1" を設定し , マスタに対してアクノリッジを送信しま
す。このときに割込みが発生します。
スレーブとしてアドレス指定され , 再起動条件を検出した場合 , 10 ビットアドレス
のヘッダ部 (11110B, TA1, TA0, リード ) を受信後 AAS に "1" を設定し , 割込みを発
生します。
10 ビットスレーブアドレスレジスタ