7.0MB

本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。
FUJITSU SEMICONDUCTOR
CONTROLLER MANUAL
CM71-10143-5
FR60
32 ビット・マイクロコントローラ
MB91313A Series
ハードウェアマニュアル
FR60
32 ビット・マイクロコントローラ
MB91313A Series
ハードウェアマニュアル
富士通セミコンダクターのマイコンを効率的に開発するための情報を下記 URL にてご紹介いたします。
ご採用を検討中 , またはご採用いただいたお客様に有益な情報を公開しています。
開発における最新の注意事項に関しては , 「デザインレビューシート」を参照してください。
「デザインレビューシート」はシステム開発において , 問題を未然に防ぐことを目的として , 最低限必要と思われる
チェック項目をリストにしたものです。
http://edevice.fujitsu.com/micom/jp-support/
富士通セミコンダクター株式会社
はじめに
■ 本書の目的と対象読者
富士通セミコンダクター製品につきまして , 平素より格別のご愛顧を賜り厚くお礼申
し上げます。
FR ファミリは , 32 ビット高性能 RISC CPU を使用し , 高性能 / 高速な CPU 処理が要求
される組込み制御用に各種 I/O リソースを内蔵したマイクロコントローラです。
通信系マクロを複数チャネル搭載し , TV 制御用などの組込み用途に最適な仕様となっ
ています。
本書は , 実際に MB91313A シリーズを使用して製品を開発される技術者を対象に機能
や動作について解説したものです。本書をご一読ください。
FR は , FUJITSU RISC controller の略で , 富士通セミコンダクター株式会社の製品です。
■ 商標
本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商
標です。
■ 本書の全体構成
本書は , 以下に示す 19 の章および付録から構成されています。
第 1 章 概要
MB91313A シリーズの特長や基本的な仕様について説明します。
第 2 章 CPU および制御部
FR ファミリの CPU コアのアーキテクチャ , 仕様 , 命令などについて説明します。
第 3 章 外部バスインタフェース
外部バスインタフェースの特長 , レジスタ , 動作などについて説明します。
第 4 章 I/O ポート
I/O ポートの概要 , レジスタの構成および機能について説明します。
第 5 章 16 ビットリロードタイマ
16 ビットリロードタイマの概要 , レジスタの構成 / 機能および動作について説明し
ます。
第 6 章 PPG (Programable Pulse Generator)
PPG タイマの概要 , レジスタの構成 / 機能および動作について説明します。
第 7 章 16 ビット・パルス幅カウンタ
PWC タイマの概要レジスタの構成 / 機能および動作について説明します。
i
第 8 章 多機能タイマ
多機能タイマの概要 , レジスタの構成 / 機能および動作について説明します。
第 9 章 その他のタイマ
メイン発振安定待ちタイマ , インターバルタイマ , 時計タイマについて説明しま
す。
第 10 章 割込みコントローラ
割込みコントローラの概要, レジスタの構成/機能および動作について説明します。
第 11 章 外部割込み制御部
外部割込み制御部の概要 , レジスタの構成 / 機能および動作について説明します。
第 12 章 遅延割込みモジュール
遅延割込みモジュールの概要 , レジスタの構成 / 機能および動作について説明しま
す。
第 13 章 ビットサーチモジュール
ビットサーチモジュールの概要 , レジスタの構成 / 機能および動作について説明し
ます。
第 14 章 10 ビット A/D コンバータ
10 ビット A/D コンバータの概要 , レジスタの構成 / 機能および動作について説明
します。
第 15 章 マルチファンクション シリアルインタフェース
マルチファンクションシリアルインタフェースの機能と動作について説明しま
す。
第 16 章 DMAC (DMA コントローラ )
DMA コントローラ (DMAC) の概要 , レジスタの構成および動作について説明しま
す。
第 17 章 リモコン受信
HDMI-CEC 受信・ACK 自動応答 , リモコン受信の機能と動作について説明します。
第 18 章 フラッシュメモリ
フラッシュメモリの概要 , レジスタの構成 / 機能および動作について説明します。
第 19 章 MB91313A シリアル書込み接続
MB91313A のシリアル書込み接続について説明します。
付録
I/O マップ , 割込みベクタ , CPU ステートでの端子状態 , リトルエンディアン領域を
利用するときの注意事項および命令一覧について , 本文に記載できなかった細かい
ところや , プログラミングするときに参照することがらを記載しています。
ii
•
•
•
•
•
•
•
本資料の記載内容は , 予告なしに変更することがありますので , ご用命の際は営業部門にご確認くださ
い。
本資料に記載された動作概要や応用回路例は , 半導体デバイスの標準的な動作や使い方を示したもので ,
実際に使用する機器での動作を保証するものではありません。したがいまして , これらを使用するにあ
たってはお客様の責任において機器の設計を行ってください。これらの使用に起因する損害などについ
ては , 当社はその責任を負いません。
本資料に記載された動作概要・回路図を含む技術情報は , 当社もしくは第三者の特許権 , 著作権等の知的
財産権やその他の権利の使用権または実施権の許諾を意味するものではありません。また , これらの使用
について , 第三者の知的財産権やその他の権利の実施ができることの保証を行うものではありません。し
たがって , これらの使用に起因する第三者の知的財産権やその他の権利の侵害について , 当社はその責任
を負いません。
本資料に記載された製品は , 通常の産業用 , 一般事務用 , パーソナル用 , 家庭用などの一般的用途に使用
されることを意図して設計・製造されています。極めて高度な安全性が要求され , 仮に当該安全性が確保
されない場合 , 社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途(原子力
施設における核反応制御 , 航空機自動飛行制御 , 航空交通管制 , 大量輸送システムにおける運行制御 , 生
命維持のための医療機器 , 兵器システムにおけるミサイル発射制御をいう), ならびに極めて高い信頼性
が要求される用途(海底中継器 , 宇宙衛星をいう)に使用されるよう設計・製造されたものではありませ
ん。したがって , これらの用途にご使用をお考えのお客様は , 必ず事前に営業部門までご相談ください。
ご相談なく使用されたことにより発生した損害などについては , 責任を負いかねますのでご了承くださ
い。
半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても , 結果的に人身事故 ,
火災事故 , 社会的な損害を生じさせないよう , お客様は , 装置の冗長設計 , 延焼対策設計 , 過電流防止対策
設計 , 誤動作防止設計などの安全設計をお願いします。
本資料に記載された製品を輸出または提供する場合は , 外国為替及び外国貿易法および米国輸出管理関
連法規等の規制をご確認の上 , 必要な手続きをおとりください。
本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商標です。
Copyright ©2007-2010 FUJITSU SEMICONDUCTOR LIMITED All rights reserved.
iii
iv
目次
第1章
1.1
1.2
1.3
1.4
1.5
1.6
1.7
第2章
概要 ............................................................................................................ 1
特長 ........................................................................................................................................ 2
ブロックダイヤグラム............................................................................................................ 5
端子配列図.............................................................................................................................. 6
パッケージ外形寸法図............................................................................................................ 7
端子機能説明 .......................................................................................................................... 8
入出力回路形式 .................................................................................................................... 16
デバイス取扱い上の注意 ...................................................................................................... 19
CPU および制御部 ................................................................................... 25
2.1 メモリ空間............................................................................................................................ 26
2.2 内部アーキテクチャ ............................................................................................................. 28
2.3 命令 ...................................................................................................................................... 31
2.4 プログラミング・モデル ...................................................................................................... 33
2.4.1
汎用レジスタ .............................................................................................................. 34
2.4.2
専用レジスタ .............................................................................................................. 35
2.5 データ構造............................................................................................................................ 43
2.6 分岐命令 ............................................................................................................................... 45
2.6.1
遅延スロット付き動作 ............................................................................................... 46
2.6.2
遅延スロットなし動作 ............................................................................................... 48
2.7 EIT ( 例外・割込み・トラップ ) ........................................................................................... 49
2.7.1
EIT の割込みレベル.................................................................................................... 50
2.7.2
ICR (Interrupt Control Register).................................................................................. 52
2.7.3
システムスタックポインタ (SSP:System Stack Pointer) .......................................... 53
2.7.4
テーブルベースレジスタ (TBR:Table Base Register)................................................ 54
2.7.5
多重 EIT 処理.............................................................................................................. 58
2.7.6
EIT の動作 .................................................................................................................. 60
2.8 リセット ( デバイスの初期化 ) ............................................................................................. 64
2.8.1
リセットレベル .......................................................................................................... 65
2.8.2
リセット要因 .............................................................................................................. 66
2.8.3
リセットシーケンス ................................................................................................... 68
2.8.4
発振安定待ち時間....................................................................................................... 69
2.8.5
リセット動作モード ................................................................................................... 71
2.9 クロック生成制御 ................................................................................................................. 73
2.9.1
PLL 制御 ..................................................................................................................... 74
2.9.2
発振安定待ち /PLL ロック待ち時間............................................................................ 76
2.9.3
クロック分配 .............................................................................................................. 78
2.9.4
クロック分周 .............................................................................................................. 80
2.9.5
クロック生成制御部のブロックダイヤグラム............................................................ 81
2.9.6
クロック生成制御部のレジスタ ................................................................................. 82
2.9.7
クロック制御部が持つ周辺回路 ............................................................................... 102
2.10 デバイス状態制御 ............................................................................................................... 106
2.10.1
低消費電力モード..................................................................................................... 110
2.11 動作モード.......................................................................................................................... 115
v
第3章
3.1
3.2
3.3
3.4
3.5
3.6
3.7
外部バスインタフェース........................................................................ 117
外部バスインタフェースの概要 ......................................................................................... 118
外部バスインタフェースのレジスタ説明 ........................................................................... 121
チップセレクト領域 ........................................................................................................... 132
アドレス / データマルチプレックスインタフェース.......................................................... 134
DMA アクセス .................................................................................................................... 138
レジスタの設定手順 ........................................................................................................... 141
外部バスインタフェース使用上の注意............................................................................... 142
第4章
4.1
4.2
4.3
4.4
4.5
4.6
4.7
I/O ポート............................................................................................... 143
I/O ポートの概要 ................................................................................................................ 144
ポートデータレジスタの設定 ............................................................................................. 146
データ方向レジスタの設定................................................................................................. 147
拡張ポート制御レジスタの設定 ......................................................................................... 148
プルアップ制御レジスタ .................................................................................................... 167
外バス , I2C ブリッジ , ADER 制御レジスタ ...................................................................... 168
I2C 用ノイズフィルタ制御レジスタ ................................................................................... 169
第5章
16 ビットリロードタイマ ...................................................................... 171
5.1 16 ビットリロードタイマの概要 ........................................................................................ 172
5.2 16 ビットリロードタイマのレジスタ................................................................................. 173
5.2.1
コントロールステータスレジスタ (TMCSR) ........................................................... 174
5.2.2
16 ビットタイマレジスタ (TMR) ............................................................................. 178
5.2.3
16 ビットリロードレジスタ (TMRLR) ..................................................................... 179
5.3 16 ビットリロードタイマの動作 ........................................................................................ 180
5.4 カウンタの動作状態 ........................................................................................................... 184
5.5 16 ビットリロードタイマの使用上の注意.......................................................................... 185
第6章
6.1
6.2
6.3
PPG (Programable Pulse Generator) ................................................. 187
PPG タイマの概要.............................................................................................................. 188
PPG タイマの動作説明 ...................................................................................................... 196
PPG タイマ使用上の注意................................................................................................... 199
第7章
7.1
7.2
16 ビット・パルス幅カウンタ ............................................................... 201
PWC タイマの概要............................................................................................................. 202
PWC タイマの動作............................................................................................................. 208
第8章
8.1
8.2
8.3
多機能タイマ.......................................................................................... 211
多機能タイマの概要 ........................................................................................................... 212
レジスタ詳細説明 ............................................................................................................... 214
多機能タイマの動作 ........................................................................................................... 222
第9章
9.1
9.2
その他のタイマ ...................................................................................... 227
メイン発振安定待ちタイマ................................................................................................. 228
時計タイマ.......................................................................................................................... 235
第 10 章
割込みコントローラ............................................................................... 241
10.1 割込みコントローラの概要................................................................................................. 242
vi
10.2 割込みコントローラのレジスタ ......................................................................................... 245
10.2.1
ICR ( 割込み制御レジスタ )...................................................................................... 246
10.2.2
HRCL ( ホールドリクエスト取下げ要求レジスタ ).................................................. 247
10.3 割込みコントローラの動作説明 ......................................................................................... 248
第 11 章
外部割込み制御部 .................................................................................. 253
11.1 外部割込み制御部の概要 .................................................................................................... 254
11.2 外部割込み制御部のレジスタ ............................................................................................. 255
11.2.1
割込み許可レジスタ (ENIR) ..................................................................................... 256
11.2.2
外部割込み要因レジスタ (EIRR) .............................................................................. 257
11.2.3
外部割込み要求レベル設定レジスタ (ELVR) ........................................................... 258
11.3 外部割込み制御部の動作説明 ............................................................................................. 260
第 12 章
遅延割込みモジュール ........................................................................... 263
12.1 遅延割込みモジュールの概要 ............................................................................................. 264
12.2 遅延割込みモジュールのレジスタ...................................................................................... 265
12.3 遅延割込みモジュールの動作 ............................................................................................. 266
第 13 章
ビットサーチモジュール........................................................................ 267
13.1 ビットサーチモジュールの概要 ......................................................................................... 268
13.2 ビットサーチモジュールのレジスタ .................................................................................. 269
13.3 ビットサーチモジュールの動作 ......................................................................................... 271
第 14 章
10 ビット A/D コンバータ...................................................................... 275
14.1 10 ビット A/D コンバータの概要 ....................................................................................... 276
第 15 章
マルチファンクションシリアルインタフェース.................................... 283
15.1 マルチファンクションシリアルインタフェースの概要 ..................................................... 285
15.2 UART ( 非同期マルチファンクションシリアルインタフェース ) の機能........................... 287
15.3 UART ( 非同期マルチファンクションシリアルインタフェース ) のレジスタ ................... 288
15.3.1
シリアル制御レジスタ (SCR)................................................................................... 290
15.3.2
シリアルモードレジスタ (SMR)............................................................................... 292
15.3.3
シリアルステータスレジスタ (SSR) ........................................................................ 294
15.3.4
拡張通信制御レジスタ (ESCR) ................................................................................ 297
15.3.5
受信データレジスタ / 送信データレジスタ (RDR/TDR) .......................................... 299
15.3.6
ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0)............................................. 303
15.3.7
FIFO 制御レジスタ 1 (FCR1) ................................................................................... 305
15.3.8
FIFO 制御レジスタ 0 (FCR0) ................................................................................... 307
15.3.9
FIFO バイトレジスタ (FBYTE) ................................................................................ 310
15.4 UART ( 非同期マルチファンクションシリアルインタフェース ) の割込み ....................... 312
15.4.1
受信割込み発生とフラグセットのタイミング.......................................................... 314
15.4.2
受信 FIFO 使用時の割込み発生とフラグセットのタイミング ................................. 315
15.4.3
送信割込み発生とフラグセットのタイミング.......................................................... 317
15.4.4
送信 FIFO 使用時の割込み発生とフラグセットのタイミング ................................. 318
15.5 UART ( 非同期マルチファンクションシリアルインタフェース ) の動作........................... 319
15.6 UART 専用ボーレートジェネレータ .................................................................................. 324
15.6.1
ボーレート設定 ........................................................................................................ 325
15.7 動作モード 0 ( 通常モード ) 設定手順とプログラムフロー................................................ 329
15.8 動作モード 1 ( マルチプロセッサモード ) 設定手順とプログラムフロー .......................... 331
vii
15.9 UART モードの注意事項 .................................................................................................... 335
15.10 CSIO ( クロック同期マルチファンクションシリアルインタフェース ) の概要................. 336
15.11 CSIO ( クロック同期マルチファンクションシリアルインタフェース ) のレジスタ.......... 337
15.11.1
シリアル制御レジスタ (SCR)................................................................................... 338
15.11.2
シリアルモードレジスタ (SMR)............................................................................... 340
15.11.3
シリアルステータスレジスタ (SSR) ........................................................................ 343
15.11.4
拡張通信制御レジスタ (ESCR) ................................................................................ 345
15.11.5
受信データレジスタ / 送信データレジスタ (RDR/TDR) .......................................... 347
15.11.6
ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0)............................................. 351
15.11.7
FIFO 制御レジスタ 1 (FCR1) ................................................................................... 353
15.11.8
FIFO 制御レジスタ 0 (FCR0) ................................................................................... 355
15.11.9
FIFO バイトレジスタ (FBYTE) ................................................................................ 358
15.12 CSIO ( クロック同期マルチファンクションシリアルインタフェース ) の割込み ............. 360
15.12.1
受信割込み発生とフラグセットのタイミング.......................................................... 361
15.12.2
受信 FIFO 使用時の割込み発生とフラグセットのタイミング ................................. 362
15.12.3
送信割込み発生とフラグセットのタイミング.......................................................... 364
15.12.4
送信 FIFO 使用時の割込み発生とフラグセットのタイミング ................................. 365
15.13 CSIO ( クロック同期マルチファンクションシリアルインタフェース ) の動作................. 366
15.14 CSIO 専用ボーレートジェネレータ ................................................................................... 378
15.14.1
ボーレート設定 ........................................................................................................ 379
15.15 CSIO ( クロック同期マルチファンクションシリアルインタフェース ) 設定手順と
プログラムフロー ............................................................................................................... 382
15.16 CSIO モードの注意事項 ..................................................................................................... 384
15.17 I2C インタフェースの概要.................................................................................................. 385
15.18 I2C インタフェースのレジスタ .......................................................................................... 386
15.18.1
I2C バス制御レジスタ (IBCR)................................................................................... 387
15.18.2
シリアルモードレジスタ (SMR)............................................................................... 392
15.18.3
シリアルステータスレジスタ (SSR) ........................................................................ 394
15.18.4
I2C バスステータスレジスタ (IBSR) ........................................................................ 397
15.18.5
受信データレジスタ / 送信データレジスタ (RDR/TDR) .......................................... 401
15.18.6
ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0)............................................. 403
15.18.7
7 ビットスレーブアドレスマスクレジスタ (ISMK).................................................. 404
15.18.8
7 ビットスレーブアドレスレジスタ (ISBA) ............................................................. 406
15.18.9
FIFO 制御レジスタ 1 (FCR1) ................................................................................... 407
15.18.10 FIFO 制御レジスタ 0 (FCR0) ................................................................................... 409
15.18.11 FIFO バイトレジスタ (FBYTE) ................................................................................ 413
15.19 I2C インタフェースの割込み .............................................................................................. 415
15.20 I2C インタフェース通信の動作 .......................................................................................... 417
15.20.1
マスタモード ............................................................................................................ 418
15.20.2
スレーブモード ........................................................................................................ 437
15.20.3
バスエラー ............................................................................................................... 441
15.21 専用ボーレートジェネレータ ............................................................................................. 442
15.22 I2C のフローチャート例 ..................................................................................................... 444
15.23 I2C モードの注意事項......................................................................................................... 458
第 16 章
DMAC (DMA コントローラ ) ................................................................. 461
16.1 DMA コントローラの概要 .................................................................................................. 462
16.2 DMA コントローラの動作 .................................................................................................. 479
16.3 転送要求の設定 .................................................................................................................. 481
viii
16.4 転送シーケンス .................................................................................................................. 482
16.5 動作フローチャート ........................................................................................................... 493
16.6 データバス.......................................................................................................................... 495
第 17 章
リモコン受信.......................................................................................... 497
17.1 リモコン受信の概要 ........................................................................................................... 498
17.2 リモコン受信のレジスタ .................................................................................................... 499
17.2.1
リモコン受信制御レジスタ (RCCR)......................................................................... 500
17.2.2
リモコン受信割込み制御レジスタ (RCST) .............................................................. 502
17.2.3
デバイスアドレス設定レジスタ 1, 2 (RCADR1, RCADR2) ..................................... 504
17.2.4
スタートビット "H" 幅設定レジスタ (RCSHW) ....................................................... 505
17.2.5
"H" 幅設定レジスタ A (RCDAHW) ........................................................................... 506
17.2.6
"H" 幅設定レジスタ B (RCDBHW) ........................................................................... 507
17.2.7
データ格納レジスタ (RCDTHH, RCDTHL, RCDTLH, RCDTLL) ............................. 508
17.2.8
クロック分周設定レジスタ (RCCKD) ...................................................................... 509
17.3 リモコン受信の動作説明と設定手順例............................................................................... 510
第 18 章
フラッシュメモリ .................................................................................. 513
18.1 フラッシュメモリの概要 .................................................................................................... 514
18.2 フラッシュメモリのレジスタ ............................................................................................. 518
18.2.1
フラッシュコントロールステータスレジスタ (FLCR)............................................. 519
18.2.2
ウェイトレジスタ (FLWC) ....................................................................................... 521
18.3 フラッシュメモリのアクセスモード .................................................................................. 523
18.4 フラッシュメモリ自動アルゴリズム .................................................................................. 525
18.5 自動アルゴリズム実行状態の確認...................................................................................... 529
18.6 フラッシュメモリデータ書込み / 消去の詳細説明 ............................................................. 533
18.6.1
読出し / リセット状態 .............................................................................................. 534
18.6.2
データ書込み ............................................................................................................ 535
18.6.3
データ消去 ( チップ消去 ) ........................................................................................ 537
18.6.4
データ消去 ( セクタ消去 ) ........................................................................................ 538
18.6.5
セクタ消去の一時停止 ............................................................................................. 541
18.6.6
セクタ消去の再開..................................................................................................... 542
18.7 データポーリングフラグ (DQ7) の制約事項と誤判定回避方法.......................................... 543
18.8 制限および注意事項 ........................................................................................................... 546
第 19 章
19.1
19.2
19.3
19.4
シリアル書込み基本構成 .................................................................................................... 550
シリアル書込み接続例........................................................................................................ 552
フラッシュマイコンプログラマのシステム構成 ................................................................ 553
その他の注意事項 ............................................................................................................... 554
付録
付録 A
付録 B
付録 C
付録 D
索引
MB91313A シリアル書込み接続............................................................ 549
............................................................................................................... 555
I/O マップ ...................................................................................................................... 556
ベクタテーブル ............................................................................................................. 566
各 CPU ステートにおける端子状態 .............................................................................. 569
命令一覧表..................................................................................................................... 580
................................................................................................................595
ix
x
本版での主な変更内容
ページ
変更内容 ( 詳細は本文を参照してください。)
-
シリーズ名を変更
MB91313/A → MB91313A に訂正
これにより MB91313 (A なし品 ) のみに関
する記述を削除
-
5
第 1 章 概要
1.2 ブロックダイヤグラム
図 1.2-1 を変更
10
第 1 章 概要
1.5 端子機能説明
表 1.5-1 を訂正
端子番号 32,33 の入出力回路形式
B/D → B
20
第 1 章 概要
1.7 デバイス取扱い上の注意
下記の説明文を追加
電源 (VDDI/ アナログ /VDDE) を同時に
投入 / 切断することは , 問題ありません。
下記の説明文を削除
9) 外部割込み INT17, INT19 について
(MB91F313 のみ )
23
174
第 5 章 16 ビットリロードタイマ
5.2.1 コントロールステータスレジスタ
(TMCSR)
図 5.2-2 を訂正
335
第 15 章 マルチファンクション シリア
ルインタフェース
15.9 UART モードの注意事項
項目を追加
384
第 15 章 マルチファンクション シリア
ルインタフェース
15.16 CSIO モードの注意事項
項目を追加
388
第 15 章 マルチファンクション シリア
ルインタフェース
15.18 I2C インタフェースのレジスタ
表 15-18 を訂正
bit15 の機能の ( 注意事項 )
INT ビット =0 → INT ビット =1
444 ∼ 457
第 15 章 マルチファンクション シリア
ルインタフェース
15.22 I2C のフローチャート例
フローチャート図を訂正
458, 459
第 15 章 マルチファンクション シリア
ルインタフェース
15.23 I2C モードの注意事項
項目を追加
第 18 章 フラッシュメモリ
全面改正
513 ∼ 547
変更箇所は , 本文中のページ左側の│によって示しています。
xi
xii
第1章
概要
MB91313A シリーズの特長や基本的な仕様につい
て説明します。
1.1 特長
1.2 ブロックダイヤグラム
1.3 端子配列図
1.4 パッケージ外形寸法図
1.5 端子機能説明
1.6 入出力回路形式
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
1
第 1 章 概要
1.1 特長
1.1
MB91313A シリーズ
特長
FR ファミリは , 32 ビット高性能 RISC CPU を使用し , 高性能 / 高速な CPU 処理を
要求される組込み制御用に各種 I/O リソースを内蔵したマイクロコントローラです。
通信系マクロを複数チャネル搭載し , TV 制御用などの組込み用途に最適な仕様と
なっています。
■ FR CPU
• 32 ビット RISC, ロード / ストアアーキテクチャ , パイプライン 5 段
• 動作周波数 33MHz [PLL 使用 : 原発振 16.5MHz : 2 逓倍 ]
• 16 ビット固定長命令 ( 基本命令 ) , 1 命令 / 1 サイクル
• メモリ−メモリ間転送 , ビット処理 , バレルシフトなどの命令…組込み用途に適し
た命令
• 関数入口 / 出口命令 , レジスタ内容のマルチロードストア命令…高級言語対応命令
• レジスタインターロック機能…アセンブラ記述の容易化
• 乗算器の内蔵 / 命令レベルでのサポート
符号付き 32 ビット乗算…5 サイクル
符号付き 16 ビット乗算…3 サイクル
• 割込み (PC, PS の退避 ) …6 サイクル , 16 プライオリティレベル
• ハーバードアーキテクチャにより , プログラムアクセスとデータアクセスを同時に
実行可能
• CPU 内の 4 ワードのキューにより , 命令の先取り機能を追加
• FR ファミリとの命令互換
■ 簡易外バスインタフェース
プログラム設定による 8 ビットまたは 16 ビットのマルチプレックスバス機能
• 動作周波数 最大 16.5MHz
• 8/16 ビットデータ / アドレスマルチプレックス入出力
• 最小 64K バイト単位で設定可能かつ完全独立な 4 領域のチップセレクト出力が可能
• 基本バスサイクル…3 サイクル
• 領域ごとにプログラマブルな自動ウェイトサイクル発生機構
• 未使用データ / アドレス / 制御信号端子は汎用入出力に使用可能
■ 内蔵メモリ
• フラッシュメモリ 544K バイト , RAM/32K バイト
2
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 1 章 概要
1.1 特長
MB91313A シリーズ
■ DMAC (DMA コントローラ )
• 5 チャネル
• 2 つの転送要因:内部ペリフェラル / ソフトウェア
• アドレッシングモード:20/24 ビットアドレス指定 ( 増加 / 減少 / 固定 )
• 転送モード:バースト転送 / ステップ転送 / ブロック転送
• 転送データサイズ:8/16/32 ビット から選択可能
■ ビットサーチモジュール (REALOS 使用 )
1 ワード中の MSB から最初の "1"/"0" の変化ビット位置をサーチ
■ 16 ビットリロードタイマ (REALOS 用 1 チャネル含 )
• 6 チャネル
• 内部クロック:2/8/32 分周から選択可能
■ マルチファンクションシリアルインタフェース
• 11 チャネル
• 全二重ダブルバッファ
• 4種類の通信モード:非同期 (Start-Stop 同期) 通信, クロック同期通信(最大8.25Mbps),
I2C 標準モード ( 最大 100kbps), I2C 高速モード ( 最大 400kbps)
• パリティあり / なし選択可能
• チャネルごとにボーレートジェネレータ搭載
• 豊富なエラー検出機能:パリティ , フレーム , オーバラン
• 外部クロックを転送クロックとして使用可能
• ch.0 ∼ ch.2 : DMA 転送対応送受信各 16 バイトの FIFO 機能搭載
• ch.8 ∼ ch.10 : 5V トレラント
• ch.8 : オープンドレイン出力対応
• I2C ブリッジ機能付き (0 チャネル , 1 チャネル , 2 チャネルの間 )
• SPI モード対応
■ 割込みコントローラ
• 外部割込みは合計 24 本 ( 外部割込み端子 INT23 ∼ INT0)
• 内部ペリフェラルからの割込み
• 優先レベルをプログラマブルに設定可能 (16 レベル )
• STOP 時の ウェイクアップ用として使用可能
■ 10 ビット A/D コンバータ
• 10 チャネル
• 逐次比較変換型 : 変換時間 : 約 7.94 μs
• 変換モード:単発変換モード , スキャン変換モード
• 起動要因:ソフトウェア / 外部トリガ
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
3
第 1 章 概要
1.1 特長
MB91313A シリーズ
■ PPG
• 4 チャネル
• 16 ビットダウンカウンタ , 周期設定用バッファ付き 16 ビットデータレジスタ
• 内部クロック : 1/4/16/64 分周から選択可能
• DMA 転送による自動周期設定に対応
• リモコン送信サポート機能
• オープンドレイン出力対応
■ PWC
• 1 チャネル (1 入力 )
• 16 ビットアップカウンタ
• 簡易デジタルローパスフィルタ
■ 多機能タイマ
• 4 チャネル
• ローパスフィルタ により設定クロック以下のノイズを除去
• 7 種類のクロック信号を使ったパルス幅計測が可能
• 端子入力からのイベントカウント機能
• 7 種類のクロックおよび外部入力クロックを使用したインターバルタイマ機能
• HSYNC カウンタモード内蔵
■ HDMI-CEC/ リモコン受信
• 2 チャネル
• HDMI-CEC 受信機能 ( 自動 ACK 応答機能あり )
• リモコン受信機能 (4 バイトの受信バッファ搭載 )
■ その他のインターバルタイマ
• 時計タイマ (32kHz, 最大 60 s カウント )
• ウォッチドッグタイマ
■ I/O ポート
最大 86 ポート
■ その他の特長
• クロックソースとして発振回路内蔵
• リセット端子として INITX を用意
• ウォッチドッグタイマリセット , ソフトウェアリセットあり
• 低消費電力モードとしてストップモードとスリープモードをサポート
• ギア機能
- タイムベースタイマ内蔵
- 5V トレラント I/O( 一部の端子 )
• パッケージ : LQFP-120, 0.5mm ピッチ , 16mm × 16mm
• CMOS テクノロジ : 0.18 μm
• 電源電圧 3.3 ± 0.3V, 1.8 ± 0.15V, 2 電源
4
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 1 章 概要
1.2 ブロックダイヤグラム
MB91313A シリーズ
1.2
ブロックダイヤグラム
図 1.2-1 に , MB91313A シリーズのブロックダイヤグラムを示します。
■ MB91313A シリーズのブロックダイヤグラム
図 1.2-1 MB91313A シリーズのブロックダイヤグラム
FR
CPU コア
32
32
Flash
544Kバイト
ビットサーチ
RAM
32Kバイト
バスコンバータ
32 ↔ 16
アダプタ
DMA
コントローラ
5チャネル
簡易外部I/F
8/16ビット
マルチプレックスバス
クロック
制御
割込み
コントローラ
マルチファンクション
シリアルインタフェース
11チャネル
A/D
コンバータ
10チャネル
HDMI-CEC/
リモコン受信
2チャネル
PWC
1チャネル
リロード
タイマ
6チャネル
多機能タイマ
4チャネル
外部割込み
24チャネル
ポート
CM71-10143-5
PPG
4チャネル
FUJITSU SEMICONDUCTOR LIMITED
5
第 1 章 概要
1.3 端子配列図
1.3
MB91313A シリーズ
端子配列図
図 1.3-1 に , MB91313A シリーズの端子配列図を示します。
■ MB91313A シリーズの端子配列図
図 1.3-1 MB91313A シリーズの端子配列図
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
96
95
94
93
92
91
VDDE
P22/SCK0/SCL0(I2C bridge)
P21/SOT0/SDA0(I2C bridge)
P20/SIN0
P57/WR1X
P56/WR0X
P55/RDX
P54/ASX
P53/CS3X/PPG3
P52/CS2X/PPG2
P51/CS1X/PPG1
P50/CS0X/PPG0
P17/AD15
P16/AD14/SCK7/SCL7
P15/AD13/SOT7/SDA7
P14/AD12/SIN7
P13/AD11/SCK6/SCL6
P12/AD10/SOT6/SDA6
P11/AD09/SIN6
P10/AD08/SCK5/SCL5
P07/AD07/SOT5/SDA5/INT15
P06/AD06/SIN5/INT14
P05/AD05/SCK4/SCL4/INT13
P04/AD04/SOT4/SDA4/INT12
P03/AD03/SIN4/INT11
P02/AD02/SCK3/SCL3/INT10
P01/AD01/SOT3/SDA3/INT9
P00/AD00/SIN3/INT8
VDDI
VSS
- TOP VIEW -
90
89
88
87
86
85
84
83
82
81
80
79
78
77
76
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
INITX
X0A
X1A
AVRH
AVCC
PD0/AN0
PD1/AN1
PD2/AN2
PD3/AN3
PD4/AN4
PD5/AN5
PD6/AN6
PD7/AN7
PE0/AN8/INT0
PE1/AN9/PPG0/INT1
PE2/PPG1/INT2/ATRG
PE3/PPG2/INT3
VDDE
PF2/RCACK0
PF3/RCACK1
PF4
PF5
PF6
PF7
VDDE
VSS
AVSS
VSS
PF0/RCIN0
PF1/RCIN1
VDDE
IBREAK
ICLK
ICS2
ICS1
ICS0
ICD3
ICD2
ICD1
ICD0
TRSTX
PC7/TRG1
PC6/TRG0
PC5/PPGB
PC4/PPGA
PC3
PC2/SCK9/SCL9
PC1/SOT9/SDA9
PC0/SIN9
PE7/SCK8/SCL8/INT7
PE6/SOT8/SDA8/INT6
PE5/SIN8/INT5
PE4/PPG3/INT4
MD2
MD1
MD0
VDDI
X0
X1
VSS
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
VSS
VDDI
P23/SIN1
P24/SOT1/SDA1(I2C bridge)
2
P25/SCK1/SCL1(I C bridge)
P26/SIN2
P27/SOT2/SDA2(I2C bridge)
P30/SCK2/SCL2(I2C bridge)
P31/TOT0
P32/TOT1
P33/TOT2
P34/TIN0
P35/TIN1
P36/TIN2
P37/RIN
P40/TMO0/INT16
P41/TMO1/INT17
P42/TMO2/INT18
P43/TMO3/INT19
P44/TMI0/INT20
P45/TMI1/INT21/SIN10
P46/TMI2/INT22/SOT10/SDA10
P47/TMI3/INT23/SCK10/SCL10
P60/TOT3/TRG2
P61/TOT4/TRG3
P62/TOT5/RDY
P63/TIN3/CLK
P64/TIN4
P65/TIN5
VDDE
(FPT-120P-M21)
6
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 1 章 概要
1.4 パッケージ外形寸法図
MB91313A シリーズ
パッケージ外形寸法図
1.4
図 1.4-1 に , MB91313A シリーズのパッケージ外形寸法図を示します。
図 1.4-1 MB91313A シリーズのパッケージ外形寸法図
プラスチック・LQFP, 120ピン
(FPT-120P-M21)
リードピッチ
0.50 mm
パッケージ幅×
パッケージ長さ
16.0 × 16.0 mm
リード形状
ガルウィング
封止方法
プラスチックモールド
取付け高さ
1.70 mm MAX
質量
0.88 g
コード(参考)
P-LFQFP120-16×16-0.50
プラスチック・LQFP, 120ピン
(FPT-120P-M21)
注1)*印寸法はレジン残りを含む。
レジン残りは、片側+0.25(.010)MAX。
注2)端子幅および端子厚さはメッキ厚を含む。
注3)端子幅はタイバ切断残りを含まず。
18.00±0.20(.709±.008)SQ
+0.40
* 16.00 –0.10 .630 +.016
–.004 SQ
90
61
60
91
0.08(.003)
Details of "A" part
+0.20
1.50 –0.10
+.008
(Mounting height)
.059 –.004
INDEX
0~8°
120
LEAD No.
1
30
0.50(.020)
C
"A"
31
0.22±0.05
(.009±.002)
0.08(.003)
M
0.145
.006
+0.05
–0.03
+.002
–.001
2002-2010 FUJITSU SEMICONDUCTOR LIMITED F120033S-c-4-7
0.60±0.15
(.024±.006)
0.10±0.05
(.004±.002)
(Stand off)
0.25(.010)
単位:mm(inches)
注意:括弧内の値は参考値です。
最新の外形寸法図については , 下記 URL にてご確認ください。
http://edevice.fujitsu.com/package/jp-search/
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
7
第 1 章 概要
1.5 端子機能説明
1.5
MB91313A シリーズ
端子機能説明
表 1.5-1 に , MB91313A シリーズの端子機能説明を示します。
■ MB91313A シリーズの端子機能説明
表 1.5-1 端子機能一覧表 (1 / 8)
端子番号
端子名
入出力
回路形式 *1
1
VSS
-
GND 端子です。
2
VDDI
-
1.8V 電源端子です。
3
P23
SIN1
D
4
SOT1/SDA1
(I2C bridge)
汎用ポートです。
L
P25
5
6
SCK1/SCL1
(I2C bridge)
P26
SIN2
SOT2/SDA2
(I2C bridge)
L
D
9
10
11
12
13
14
SCK2/SCL2
(I2C bridge)
P31
TOT0
P32
TOT1
P33
TOT2
P34
TIN0
P35
TIN1
P36
TIN2
シリアル通信用クロック入出力端子 /I2C クロック入出力端
子です。
汎用ポートです。
シリアルデータ入力端子です。
汎用ポートです。
L
P30
8
シリアルデータ出力端子 /I2C データ入出力端子です。
汎用ポートです。
P27
7
汎用ポートです。
シリアルデータ入力端子です。
P24
8
機能
シリアルデータ出力端子 /I2C データ入出力端子です。
汎用ポートです。
L
D
シリアル通信用クロック入出力端子 /I2C クロック入出力端
子です。
汎用ポートです。
リロードタイマ用出力端子です。
D
汎用ポートです。
リロードタイマ用出力端子です。
D
汎用ポートです。
リロードタイマ用出力端子です。
D
汎用ポートです。
リロードタイマ用イベント入力端子です。
D
汎用ポートです。
リロードタイマ用イベント入力端子です。
D
汎用ポートです。
リロードタイマ用イベント入力端子です。
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 1 章 概要
1.5 端子機能説明
MB91313A シリーズ
表 1.5-1 端子機能一覧表 (2 / 8)
端子番号
端子名
入出力
回路形式 *1
P37
15
RIN
D
P40
16
17
18
19
20
21
TMO0
B
24
25
PWC 入力端子です。
多機能タイマ出力端子です。
INT16
外部割込み要求入力端子です。
P41
汎用ポートです。
TMO1
B
多機能タイマ出力端子です。
INT17
外部割込み要求入力端子です。
P42
汎用ポートです。
TMO2
B
多機能タイマ出力端子です。
INT18
外部割込み要求入力端子です。
P43
汎用ポートです。
TMO3
B
多機能タイマ出力端子です。
INT19
外部割込み要求入力端子です。
P44
汎用ポートです。
TMI0
B
多機能タイマ入力端子です。
INT20
外部割込み要求入力端子です。
P45
汎用ポートです。
TMI1
INT21
B
多機能タイマ入力端子です。
外部割込み要求入力端子です。
SIN10
シリアルデータ入力端子です。
P46
汎用ポートです。
INT22
B
多機能タイマ入力端子です。
外部割込み要求入力端子です。
SOT10/SDA10
シリアルデータ出力端子 /I2C データ入出力端子です。
P47
汎用ポートです。
TMI3
23
汎用ポートです。
汎用ポートです。
TMI2
22
機能
INT23
多機能タイマ入力端子です。
B
外部割込み要求入力端子です。
SCK10/SCL10
シリアル通信用クロック入出力端子 /I2C クロック入出力端
子です。
P60
汎用ポートです。
TOT3
C
リロードタイマ用出力端子です。
TRG2
PPG トリガ入力端子です。
P61
汎用ポートです。
TOT4
TRG3
CM71-10143-5
C
リロードタイマ用出力端子です。
PPG トリガ入力端子です。
FUJITSU SEMICONDUCTOR LIMITED
9
第 1 章 概要
1.5 端子機能説明
MB91313A シリーズ
表 1.5-1 端子機能一覧表 (3 / 8)
端子番号
端子名
入出力
回路形式 *1
P62
26
27
TOT5
汎用ポートです。
C
29
外部レディ入力端子です。
P63
汎用ポートです。
TIN3
C
P64
TIN4
P65
TIN5
リロードタイマ用イベント入力端子です。
外部クロック出力端子です。
C
汎用ポートです。
リロードタイマ用イベント入力端子です。
C
汎用ポートです。
リロードタイマ用イベント入力端子です。
30
VDDE
-
3.3V 電源です。
31
VSS
-
GND 端子です。
PF0
32
33
RCIN0
PF1
RCIN1
B
B
PF2
34
RCACK0
D
PF3
35
RCACK1
D
汎用ポートです。
HDMI-CEC/ リモコン 0 入出力端子です。
汎用ポートです。
HDMI-CEC/ リモコン 1 入出力端子です。
汎用ポートです。
HDMI-CEC/ リモコン 0ACK 出力端子です。
汎用ポートです。
HDMI-CEC/ リモコン 1ACK 出力端子です。
36
PF4
D
汎用ポートです。
37
PF5
D
汎用ポートです。
38
PF6
D
汎用ポートです。
39
PF7
D
汎用ポートです。
40
VDDE
-
3.3V 電源です。
41
VSS
-
GND 端子です。
42
AVSS
-
A/D コンバータ GND 端子です。
43
AVRH
-
A/D コンバータ基準電圧端子です。
44
AVCC
-
A/D コンバータ電源端子です。
PD0
45
AN0
L
PD1
46
47
10
リロードタイマ用出力端子です。
RDY
CLK
28
機能
AN1
PD2
AN2
L
L
汎用ポートです。
A/D コンバータアナログ入力端子です。
汎用ポートです。
A/D コンバータアナログ入力端子です。
汎用ポートです。
A/D コンバータアナログ入力端子です。
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 1 章 概要
1.5 端子機能説明
MB91313A シリーズ
表 1.5-1 端子機能一覧表 (4 / 8)
端子番号
端子名
入出力
回路形式 *1
PD3
48
AN3
L
PD4
49
AN4
L
PD5
50
AN5
L
PD6
51
52
AN6
PD7
AN7
L
L
PE0
53
AN8
55
56
汎用ポートです。
A/D コンバータアナログ入力端子です。
汎用ポートです。
A/D コンバータアナログ入力端子です。
汎用ポートです。
A/D コンバータアナログ入力端子です。
汎用ポートです。
A/D コンバータアナログ入力端子です。
汎用ポートです。
A/D コンバータアナログ入力端子です。
汎用ポートです。
L
A/D コンバータアナログ入力端子です。
INT0
外部割込み要求入力端子です。
PE1
汎用ポートです。
AN9
54
機能
PPG0 *2
L
A/D コンバータアナログ入力端子です。
PPG 用出力端子です。
INT1
外部割込み要求入力端子です。
PE2
汎用ポートです。
PPG1 *2
B
PPG 用出力端子です。
INT2
外部割込み要求入力端子です。
ATRG
A/D コンバータ用トリガ入力端子です。
PE3
汎用ポートです。
PPG2 *2
B
INT3
PPG 用出力端子です。
外部割込み要求入力端子です。
57
VDDE
-
3.3V 電源です。
58
INITX
G
イニシャルリセット端子です。
59
X0A
A
サブクロック入力端子です。
60
X1A
A
サブクロック出力端子です。
61
VSS
-
GND 端子です。
62
X1
A
メインクロック出力端子です。
63
X0
A
メインクロック入力端子です。
64
VDDI
-
1.8V 電源です。
65
MD0
F
モード端子です。
66
MD1
F
モード端子です。
67
MD2
F
モード端子です。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
11
第 1 章 概要
1.5 端子機能説明
MB91313A シリーズ
表 1.5-1 端子機能一覧表 (5 / 8)
端子番号
端子名
入出力
回路形式 *1
PE4
68
PPG3 *2
汎用ポートです。
B
INT4
70
71
SIN8
汎用ポートです。
B
外部割込み要求入力端子です。
PE6
汎用ポートです。
SOT8/SDA8
B
外部割込み要求入力端子です。
PE7
汎用ポートです。
SCK8/SCL8
B
PC0
SIN9
SOT9/SDA9
75
SCK9/SCL9
PC3
B
PPGA
B
78
PPGB
PC6
TRG0
12
TRG1
シリアルデータ出力端子 /I2C データ入出力端子です。
汎用ポートです。
シリアル通信用クロック入出力端子 /I2C クロック入出力端
子です。
B
汎用ポートです。
B
B
B
PC7
79
汎用ポートです。
B
PC5
77
汎用ポートです。
シリアルデータ入力端子です。
PC4
76
シリアル通信用クロック入出力端子 /I2C クロック入出力端
子です。
外部割込み要求入力端子です。
PC2
74
シリアルデータ出力端子 /I2C データ入出力端子です。
INT6
PC1
73
シリアルデータ入力端子です。
INT5
INT7
72
PPG 用出力端子です。
外部割込み要求入力端子です。
PE5
69
機能
B
汎用ポートです。
PPG 用出力端子です。
汎用ポートです。
PPG 用出力端子です。
汎用ポートです。
PPG トリガ入力です。
汎用ポートです。
PPG トリガ入力です。
80
TRSTX
G
開発ツール用リセット端子です。
81
ICD0
K
開発ツール用データ端子です。
82
ICD1
K
開発ツール用データ端子です。
83
ICD2
K
開発ツール用データ端子です。
84
ICD3
K
開発ツール用データ端子です。
85
ICS0
H
開発ツール用ステータス端子です。
86
ICS1
H
開発ツール用ステータス端子です。
87
ICS2
H
開発ツール用ステータス端子です。
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 1 章 概要
1.5 端子機能説明
MB91313A シリーズ
表 1.5-1 端子機能一覧表 (6 / 8)
端子番号
端子名
入出力
回路形式 *1
機能
88
ICLK
H
開発ツール用クロック端子です。
89
IBREAK
I
開発ツール用ブレーク端子です。
90
VDDE
-
3.3V 電源です。
91
VSS
-
GND 端子です。
92
VDDI
-
1.8V 電源です。
P00
93
AD00
汎用ポートです。
O
SIN3
シリアルデータ入力端子です。
INT8
外部割込み要求入力端子です。
P01
汎用ポートです。
AD01
94
O
シリアルデータ出力端子 /I2C データ入出力端子です。
INT9
外部割込み要求入力端子です。
P02
汎用ポートです。
AD02
外部アドレス / データバス入出力端子です。
O
SCK3/SCL3
シリアル通信用クロック入出力端子 /I2C クロック入出力端
子です。
INT10
外部割込み要求入力端子です。
P03
汎用ポートです。
AD03
O
シリアルデータ入力端子です。
INT11
外部割込み要求入力端子です。
P04
汎用ポートです。
AD04
99
外部アドレス / データバス入出力端子です。
SIN4
97
98
外部アドレス / データバス入出力端子です。
SOT3/SDA3
95
96
外部アドレス / データバス入出力端子です。
O
外部アドレス / データバス入出力端子です。
SOT4/SDA4
シリアルデータ出力端子 /I2C データ入出力端子です。
INT12
外部割込み要求入力端子です。
P05
汎用ポートです。
AD05
外部アドレス / データバス入出力端子です。
SCK4/SCL4
O
シリアル通信用クロック入出力端子 /I2C クロック入出力端
子です。
INT13
外部割込み要求入力端子です。
P06
汎用ポートです。
AD06
O
外部アドレス / データバス入出力端子です。
SIN5
シリアルデータ入力端子です。
INT14
外部割込み要求入力端子です。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
13
第 1 章 概要
1.5 端子機能説明
MB91313A シリーズ
表 1.5-1 端子機能一覧表 (7 / 8)
端子番号
端子名
入出力
回路形式 *1
P07
汎用ポートです。
AD07
100
101
102
103
104
105
106
107
SOT5/SDA5
O
110
P10
汎用ポートです。
AD08
O
外部アドレス / データバス入出力端子です。
SCK5/SCL5
シリアル通信用クロック入出力端子 /I2C クロック入出力端
子です。
P11
汎用ポートです。
AD09
O
外部アドレス / データバス入出力端子です。
SIN6
シリアルデータ入力端子です。
P12
汎用ポートです。
AD10
O
外部アドレス / データバス入出力端子です。
SOT6/SDA6
シリアルデータ出力端子 /I2C データ入出力端子です。
P13
汎用ポートです。
AD11
O
外部アドレス / データバス入出力端子です。
SCK6/SCL6
シリアル通信用クロック入出力端子 /I2C クロック入出力端
子です。
P14
汎用ポートです。
AD12
O
外部アドレス / データバス入出力端子です。
SIN7
シリアルデータ入力端子です。
P15
汎用ポートです。
AD13
O
外部アドレス / データバス入出力端子です。
SOT7/SDA7
シリアルデータ出力端子 /I2C データ入出力端子です。
P16
汎用ポートです。
AD14
O
P17
外部アドレス / データバス入出力端子です。
シリアル通信用クロック入出力端子 /I2C クロック入出力端
子です。
O
AD15
汎用ポートです。
外部アドレス / データバス入出力端子です。
汎用ポートです。
CS0X
C
外部チップセレクト端子です。
PPG0 *2
PPG 用出力端子です。
P51
汎用ポートです。
CS1X
PPG1
14
シリアルデータ出力端子 /I2C データ入出力端子です。
外部割込み要求入力端子です。
P50
109
外部アドレス / データバス入出力端子です。
INT15
SCK7/SCL7
108
機能
C
*2
外部チップセレクト端子です。
PPG 用出力端子です。
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 1 章 概要
1.5 端子機能説明
MB91313A シリーズ
表 1.5-1 端子機能一覧表 (8 / 8)
端子番号
端子名
入出力
回路形式 *1
P52
111
112
114
115
116
117
汎用ポートです。
CS2X
C
PPG 用出力端子です。
P53
汎用ポートです。
CS3X
C
*2
P54
ASX
P55
RDX
P56
WR0X
P57
WR1X
P20
SIN0
SOT0/SDA0
(I2C bridge)
C
120
汎用ポートです。
外部アドレスストローブ出力端子です。
C
汎用ポートです。
外部リードストローブ出力端子です。
C
汎用ポートです。
外部データバスライトストローブ出力端子です。
C
汎用ポートです。
外部データバスライトストローブ出力端子です。
D
汎用ポートです。
シリアルデータ入力端子です。
汎用ポートです。
L
P22
119
外部チップセレクト端子です。
PPG 用出力端子です。
P21
118
外部チップセレクト端子です。
PPG2 *2
PPG3
113
機能
シリアルデータ出力端子 /I2C データ入出力端子です。
汎用ポートです。
SCK0/SCL0
(I2C bridge)
L
シリアル通信用クロック入出力端子 /I2C クロック入出力端
子です。
VDDE
-
3.3V 電源端子です。
*1 : 入出力回路形式については , 「1.6 入出力回路形式」を参照してください。
*2 : 端子番号 54, 55, 56, 68 の PPG0, PPG1, PPG2, PPG3 と , 端子番号 109, 110, 111, 112 の PPG0, PPG1,
PPG2, PPG3 は , どちらか一方を PFR で選択して使用してください。PFR については「第 4 章 I/O
ポート」を参照してください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
15
第 1 章 概要
1.6 入出力回路形式
1.6
MB91313A シリーズ
入出力回路形式
表 1.6-1 に入出力回路形式を示します。
■ 入出力回路形式
表 1.6-1 入出力回路形式 (1 / 3)
分類
A
回路形式
備考
X1,X1A
クロック入力
• 発振回路
帰還抵抗
X0-X1:1MΩ
X0A-X1A:なし
X0,X0A
スタンバイ制御
B
• CMOS レベル出力
IOH = 4mA
P-ch
N-ch
デジタル出力
デジタル出力
• CMOS レベルヒステリシス入力
VIH = 0.7 × VDDE
• スタンバイ制御あり
• 5V トレラント
デジタル入力
スタンバイ制御
C
プルアップ制御
• CMOS レベル出力
IOH = 4mA
• CMOS レベルヒステリシス入力
VIH = 0.8 × VDDE
P-ch
P-ch
デジタル出力
N-ch
デジタル出力
• スタンバイ制御あり
• プルアップ制御あり
• プルアップ抵抗付き (33kΩ)
デジタル入力
スタンバイ制御
16
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 1 章 概要
1.6 入出力回路形式
MB91313A シリーズ
表 1.6-1 入出力回路形式 (2 / 3)
分類
D
回路形式
備考
• CMOS レベル出力
IOH = 4mA
P-ch
デジタル出力
N-ch
デジタル出力
• CMOS レベルヒステリシス入力
VIH = 0.8 × VDDE
• スタンバイ制御あり
• プルアップ抵抗なし
デジタル入力
スタンバイ制御
F
• CMOS レベル入力
• スタンバイ制御なし
P-ch
N-ch
デジタル入力
G
• CMOS ヒステリシス入力
• プルアップ抵抗付き
P-ch
P-ch
N-ch
デジタル入力
H
CMOS レベル出力
P-ch
デジタル出力
N-ch
デジタル出力
I
• CMOS ヒステリシス入力
• プルダウン抵抗付き
• スタンバイ制御なし
P-ch
N-ch
N-ch
デジタル入力
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
17
第 1 章 概要
1.6 入出力回路形式
MB91313A シリーズ
表 1.6-1 入出力回路形式 (3 / 3)
分類
K
回路形式
N-ch
備考
P-ch
デジタル出力
N-ch
デジタル出力
•
•
•
•
CMOS レベル出力
CMOS レベル入力
スタンバイ制御なし
プルダウン抵抗付き
•
•
•
•
CMOS レベル出力
CMOS レベルヒステリシス入力
スタンバイ制御あり
アナログ入力 スイッチ付き
デジタル入力
L
P-ch
デジタル出力
N-ch
デジタル出力
アナログ入力
制御
デジタル入力
スタンバイ制御
O
プルアップ制御
P-ch
P-ch
N-ch
デジタル出力
デジタル出力
• CMOS レベル出力
IOH=4mA
• CMOS 入力 ( 外バス IF)
• CMOS レベルヒステリシス入力
( ポート , リソース )
VIH=0.8 × VDDE
• スタンバイ制御あり
• プルアップ制御あり
• プルアップ抵抗付き (33kΩ)
ポート入力
リソース入力
外バス入力
スタンバイ制御
18
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
1.7
第 1 章 概要
1.7 デバイス取扱い上の注意
デバイス取扱い上の注意
ラッチアップ防止 , 端子処理 , 回路の取扱い , および電源投入時の入力などについて
説明します。
■ ラッチアップ防止のために
CMOS IC では入力端子や出力端子に VDDE や VDDI より高い電圧や VSS より低い電圧
を印加した場合 , または , VDDE 端子や VDDI 端子と VSS 端子との間に定格を超える
電圧を印加した場合に , ラッチアップ現象が発生することがあります。ラッチアップが
発生すると電源電流が激増し , 素子の熱破壊に至ることがありますので , 使用の際 , 最
大定格を超えることのないよう十分に注意してください。
■ 未使用入力端子の処理について
使用していない入力端子を開放のままにしておくと誤動作の原因となることがありま
すので , プルアップまたはプルダウンの処理をしてください。
■ 電源端子について
MB91313A シリーズは , VDDE 端子または VDDI 端子 , VSS 端子が複数あります。その
ため , デバイス設計上ラッチアップなどの誤動作を防止するためにデバイス内部で同
電位にすべきもの同士を接続してあります。不要輻射の低減・グランドレベルの上昇
によるストローブ信号の誤動作の防止・総出力電流規格を遵守などのために , 必ずそれ
らすべてを外部で電源およびグランドに接続してください。また , 電流供給源からでき
るかぎり低インピーダンスで本デバイスの VDDE 端子または VDDI 端子 , VSS 端子に
接続するような配慮をお願いします。
さらに , 本デバイスの近くで , VDDE 端子または VDDI 端子 , VSS 端子の間に 0.1 μF 程
度のセラミックコンデンサをバイパスコンデンサとして接続することをお勧めいたし
ます。
■ 水晶発振回路について
X0, X1 (X0A, X1A) 端子の近辺のノイズは本デバイスの誤動作のもととなります。X0
(X0A) とX1 (X1A) および水晶発振子さらにグランドへのバイパスコンデンサはできる
かぎり近くに配置するようにプリント板を設計してください。
また , X0, X1 (X0A, X1A) 端子の回りをグランドで囲むようなプリント板アートワーク
は安定した動作を期待できるので , 強くお勧めします。
各量産品において , ご使用される発振子メーカに発振評価依頼をしてください。
■ モード端子 (MD0 ∼ MD2) について
これらの端子は , 電源端子または GND 端子に直接つないで使用してください。ノイズ
により誤ってテストモードに入ってしまうことを防ぐために , プリント板上の各モー
ド端子と電源端子または GND 端子間のパターン長をできる限り短くし , これらを低イ
ンピーダンスで接続するようにしてください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
19
第 1 章 概要
1.7 デバイス取扱い上の注意
MB91313A シリーズ
■ 電源投入時について
電源投入直後は必ず INITX 端子にて設定初期化リセット (INIT) を行ってください。
また , 電源投入直後は , 発振回路の発振安定待ち時間を確保するため , INITX 端子への
“L” レベル入力を発振回路の要求する安定待ち時間の間持続してください (INITX 端子
による INIT では , 発振安定待ち時間の設定は最小値に初期化されています ) 。
■ 電源投入時の原発振入力について
電源投入時は , 必ず発振安定待ち解除されるまでの間クロックを入力して下さい。
■ VDDI端子 (内部電源1.8 V系) とVDDE端子 (外部端子電源3.3 V系) の電源投入/切断
時の注意事項
VDDI 端子 ( 内部電源 ) が切断されている条件で VDDE 端子 ( 外部電源 ) のみを継続的
(1 分間を目安 ) に印加することは , LSI の信頼性上の問題がありますので避けてくださ
い。
VDDE 端子 ( 外部電源 ) を OFF 状態から ON 状態に復帰させる際には , 電源ノイズなど
の影響により , 回路の内部状態が保持できない場合があります。
投入時
VDDI 端子 ( 内部電源 ) → VDDE 端子 ( 外部電源 ) →アナログ→ 信号
切断時
信号 →アナログ → VDDE 端子 ( 外部電源 ) → VDDI 端子 ( 内部電源 )
電源 (VDDI/ アナログ /VDDE) を同時に投入 / 切断することは問題ありません。
電源投入時は内部電源が安定するまでの間 , 出力端子が不定となる可能性があります。
■ 外部クロック使用時の注意について
外部クロックを使用する際には , 原則として X0 ( X0A ) 端子と X1 (X1A) 端子へ同時に
供給してください。また X1 (X1A) 端子には X0 (X0A) と逆相のクロックを供給してく
ださい。ただし , この場合には STOP モード ( 発振停止モード ) は使用しないでくださ
い (STOP 時 X1 端子が“H”出力で停止するため )。また , 12.5 MHz 以下では X0 (X0A)
端子のみの供給で使用できます 。
図 1.7-1 外部クロック使用方法 ( 通常 )
X0, X0A
X1, X1A
MB91313A シリーズ
STOP モード ( 発振停止モード ) は使用できません。
図 1.7-2 外部クロック使用方法 (12.5MHz 以下の場合は可能 )
X0, X0A
開放
X1, X1A
MB91313A シリーズ
( 注意事項 )X0 (X0A) の信号に対して X1 は 10 MHz のときに 15 ns 以内の遅延となるように設計してく
ださい。
20
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 1 章 概要
1.7 デバイス取扱い上の注意
MB91313A シリーズ
■ AVCC 端子について
MB91313A シリーズは A/D コンバータを内蔵しています。AVCC 端子と AVSS 端子の
間に 0.1 μF 程度のコンデンサを必ず入れてください。
AVCC
MB91313A シリーズ
0.1μF
AVSS
■ エミュレータを使用しない場合の注意について
エミュレータを接続しない状態でユーザシステム上の評価 MCU を動作させる場合 ,
ユーザシステム上でエミュレータインタフェースと接続している評価 MCU の各入力
端子を以下のように処理してください。
ユーザシステム上に切換え回路などが必要になる場合がありますので設計時にはご注
意ください。
表 1.7-1 エミュレータインタフェース端子処理
評価 MCU 端子名
端子処理
TRSTX
ユーザシステム上のリセット出力回路に接続します。
INITX
ユーザシステム上のリセット出力回路に接続します。
その他
開放とします。
■ PLL クロック選択時の注意について
本マイクロコントローラで PLL クロックを選択しているときに発振子が外れたり , ク
ロック入力が停止した場合には PLL 内部の自励発振回路の自走周波数で動作を継続し
続ける場合があります。
この動作は保証外の動作です。
■ 制限事項
1) クロック制御部
INITX 端子への “L” 入力時には , 発振安定待ち時間を確保してください。
2) ビットサーチモジュール
0 検出用データレジスタ (BSD0) , 1 検出用データレジスタ (BSD1) , 変化点検出用
データレジスタ (BSDC) はワードアクセスのみです。
3) I/O ポート
ポートへのアクセスはバイトアクセスのみです。
4) 低消費電力モード
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
21
第 1 章 概要
1.7 デバイス取扱い上の注意
MB91313A シリーズ
スタンバイモードに入れる場合は , 同期スタンバイモード (TBCR: タイムベースカ
ウンタ制御レジスタの bit8 SYNCS bit にて設定します ) を使用した上で , 以下のシー
ケンスを必ず使用してください。
(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 × 5
NOP
NOP
NOP
NOP
NOP
• モニタデバッガを使用する場合は , 以下のことを行わないでください。
- 上記命令列に対するブレークポイントの設定
- 上記命令列に対するステップ実行
5) PS レジスタに関する注意事項
一部の命令で PS レジスタを先行処理しているため , 例外動作により , デバッガ使用
時に割込み処理ルーチンでブレークしたり , PS レジスタ内のフラグの表示内容が更
新されたりする場合があります。いずれの場合も , EIT から復帰後以降に正しく再
処理を行うように設計されていますので , EIT 前後の動作は仕様どおりの処理を行
います。
•DIV0U/DIV0S 命令の直前の命令では , 以下の場合に , (1) ∼ (3) の処理を行うこと
があります。
- ユーザ割込み /NMI を受け付けた場合
- ステップ実行を行った場合
- データイベント / エミュレータメニューでブレークした場合
(1) D0, D1 フラグが先行して更新されます。
(2) EIT 処理ルーチン ( ユーザ割込み /NMI またはエミュレータ ) を実行します。
(3) EIT から復帰後 , DIV0U/DIV0S 命令が実行され , D0/D1 フラグが (1) と同じ
値に更新されます。
• ユーザ割込み /NMI 要因が発生している状態で割込みを許可するために OR CCR,
ST ILM, MOV Ri, PS の各命令が実行されると , 以下のような動作を行います。
(1) PS レジスタが先行して更新されます。
(2) EIT 処理ルーチン ( ユーザ割込み /NMI, またはエミュレータ ) を実行します。
(3) EIT から復帰後 , 上記命令が実行され , PS レジスタが (1) と同じ値に更新さ
れます。
22
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 1 章 概要
1.7 デバイス取扱い上の注意
6) ウォッチドッグタイマ機能について
ウォッチドッグタイマは , プログラムが一定時間内にリセット延期動作を行うこと
を監視し , プログラムの暴走によりリセット延期動作が行われなかったときに ,
CPU をリセットするための機能です。そのため , いったんウォッチドッグタイマ機
能を有効にすると , リセットを掛けるまで動作を続けます。例外として , CPU のプ
ログラム実行が停止する条件では自動的にリセット延期を行います。なお , システ
ムの暴走により上記状態となってしまった場合 , ウォッチドッグリセットが発生し
ない可能性があります。その場合 , 外部 INITX 端子よりリセット (INIT) をかけてく
ださい。
7) A/D 使用時の注意について
AVCC 端子には VDDE 端子より高い電圧を供給しないでください。
8) 同期モードのソフトウェアリセットについて
同期モードのソフトウェアリセットを使用するときは , STCR ( スタンバイ制御レジ
スタ ) の SRST ビットに “0” を設定する前に , 以下の 2 つの条件を必ず満たしてくだ
さい。
• 割込み許可フラグ (I-Flag) を割込み禁止 (I-Flag = 0) に設定する。
•NMI を使用しない。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
23
第 1 章 概要
1.7 デバイス取扱い上の注意
24
MB91313A シリーズ
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第2章
CPU および制御部
FR ファミリの CPU コアのアーキテクチャ , 仕様 ,
命令などについて説明します。
2.1 メモリ空間
2.2 内部アーキテクチャ
2.3 命令
2.4 プログラミング・モデル
2.5 データ構造
2.6 分岐命令
2.7 EIT ( 例外・割込み・トラップ )
2.8 リセット ( デバイスの初期化 )
2.9 クロック生成制御
2.10 デバイス状態制御
2.11 動作モード
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
25
第 2 章 CPU および制御部
2.1 メモリ空間
2.1
MB91313A シリーズ
メモリ空間
FR ファミリの論理アドレス空間は 4G バイト (232 番地 ) あり , CPU はリニアにアク
セスを行います。
■ ダイレクトアドレッシング領域
アドレス空間の下記の領域は I/O 用に使用されます。
この領域をダイレクトアドレッシング領域とよび , 命令中で直接オペランドのアドレ
スを指定できます。
ダイレクト領域は , アクセスするデータのサイズにより , 以下のように異なります。
: 000H ∼ 0FFH
⇒ バイトデータアクセス
⇒ ハーフワードデータアクセス : 000H ∼ 1FFH
⇒ ワードデータアクセス
: 000H ∼ 3FFH
■ FR ファミリメモリマップ
図 2.1-1 に FR ファミリのメモリマップを示します。
アドレス空間は 32 ビットリニアです。
図 2.1-1 FR ファミリメモリマップ
00000000H
バイトデータ
00000100H
ハーフワード
データ
00000200H
ダイレクト
アドレッシング領域
ワードデータ
00000400H
000FFC00H
ベクタテーブル
初期領域
000FFFFFH
FFFFFFFFH
● ベクタテーブル初期領域
"000FFC00H" ∼ "000FFFFFH" の領域は EIT ベクタテーブル初期領域です。
EIT処理時に使用されるベクタテーブルは, TBRを書き換えることにより任意のアドレ
スに配置可能ですが , リセットによる初期化によってこのアドレスに配置されます。
26
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.1 メモリ空間
MB91313A シリーズ
■ MB91313A シリーズのメモリマップ
図 2.1-2 に , MB91313A シリーズのメモリマップを示します。
図 2.1-2 MB91313A シリーズのメモリマップ
シングルチップ
モード
内ROM外バス
モード
I/O
I/O
ダイレクト
アドレッシング領域
I/O
I/O
「付録 A I/O マップ」を参照して
ください。
アクセス禁止
アクセス禁止
内蔵RAM
32 K バイト
内蔵RAM
32 K バイト
00000000H
00000400H
00010000H
00038000H
00040000H
アクセス禁止
アクセス禁止
00050000H
外部領域
00078000H
内蔵Flash
544 K バイト
内蔵Flash
544 K バイト
00100000H
アクセス禁止
00200000H
アクセス禁止
外部領域
007FFFFFH
アクセス禁止
FFFFFFFFH
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
27
第 2 章 CPU および制御部
2.2 内部アーキテクチャ
2.2
MB91313A シリーズ
内部アーキテクチャ
FR ファミリ CPU は , RISC アーキテクチャを採用すると同時に , 組込み用途に向け
て高機能命令を導入した高性能コアです。
■ 内部アーキテクチャの特長
• RISC アーキテクチャの採用
基本命令:1 命令 1 サイクル
• 32 ビットアーキテクチャ
汎用レジスタ 32 ビット× 16 本
• 4G バイトのリニアなメモリ空間
• 乗算器の搭載
32 ビット× 32 ビット乗算 5 サイクル
16 ビット× 16 ビット乗算 3 サイクル
• 割込み処理機能の強化
高速応答速度 (6 サイクル )
多重割込みのサポート
レベルマスク機能 (16 レベル )
• I/O 操作用命令の強化
メモリ - メモリ転送命令
ビット処理命令
• 基本命令語長 16 ビット
• 低消費電力
スリープモード / ストップモード
ギア機能
28
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.2 内部アーキテクチャ
MB91313A シリーズ
■ 内部アーキテクチャの構造
FR の CPU は命令バスとデータバスが独立したハーバードアーキテクチャ構造を採用
しています。
32 ビット←→ 16 ビットバスコンバータは 32 ビットバス (F-bus) に接続され , CPU と周
辺リソースとのインタフェースを実現します。
ハーバード←→プリンストン バスコンバータは I-bus, D-bus 双方に接続され , CPU とバ
スコントローラとのインタフェースを実現します。
図 2.2-1 に内部アーキテクチャの構造を示します。
図 2.2-1 内部アーキテクチャの構造
FR-CPU
I-bus
内蔵RAM
内蔵ROM
D-bus
32
32
32
32
ハーバード⇔プリンストン
バスコンバータ
F-bus
32
32
X-bus
32
32
Real Bus
24
アドレス
32bit⇔16bit
バスコンバータ
バスコントローラ
16
16
R-bus
周辺機能,ポート
■ CPU
CPU は 32 ビット RISC の FR アーキテクチャをコンパクトにインプリメントしたもの
です。1 サイクルあたり 1 命令の実行を行うため , 5 段階の命令パイプライン方式を採
用しています。パイプラインは以下のステージから構成されています。
図 2.2-2 に , 命令パイプラインの構成を示します。
• 命令フェッチ (IF)
… 命令アドレスを出力し , 命令をフェッチします。
• 命令デコード (ID)
… フェッチした命令をデコードします。レジスタの読出
しも行います。
• 実行 (EX)
… 演算を実行します。
• メモリアクセス (MA) … メモリに対するロードまたはストアのアクセスを行い
ます。
• ライトバック (WB)
CM71-10143-5
… 演算結果 ( またはロードされたメモリデータ ) をレジ
スタに書き込みます。
FUJITSU SEMICONDUCTOR LIMITED
29
第 2 章 CPU および制御部
2.2 内部アーキテクチャ
MB91313A シリーズ
図 2.2-2 命令パイプライン
CLK
命令 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 ビット←→ 16 ビットバスコンバータは , 32 ビット幅で高速アクセスされる F-bus と ,
16 ビット幅でアクセスされる R-bus とのインタフェースを行い , CPU から内蔵周辺回
路へのデータアクセスを実現します。
CPU から R-bus に対し 32 ビット幅のアクセスがあった場合 , バスコンバータが 32 ビッ
ト幅のアクセスを 2 回の 16 ビット幅アクセスに変換してアクセスを行います。内蔵周
辺回路の一部にはアクセス幅に関して制限のあるものがあります。
■ ハーバード←→プリンストン バスコンバータ
ハーバード←→プリンストン バスコンバータは , CPU の命令アクセスとデータアクセ
スの整合をとり , 外部バスとのスムーズなインタフェースを実現します。
CPU は命令バスとデータバスが独立したハーバードアーキテクチャ構造です。一方 ,
外部バスの制御を行うバスコントローラは単一バスのプリンストンアーキテクチャ構
造です。このバスコンバータは CPU の命令アクセスとデータアクセスに優先順位をつ
け , バスコントローラへのアクセスの制御を行います。この働きにより , 外部へのバス
アクセス順位が常に最適化されたものになります。
30
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
2.3
第 2 章 CPU および制御部
2.3 命令
命令
FR ファミリは , 一般的な RISC の命令体系に加え , 組込み用途に最適化された論理
演算とビット操作およびダイレクトアドレッシング命令をサポートしています。命
令セットの一覧は「付録 D 命令一覧表」に示します。
各命令は 16 ビット長 ( 一部命令は 32, 48 ビット長 ) ですので , 優れたメモリ使用効
率を持ちます。
命令セットは以下の機能グループに分けることができます。
• 算術演算
• ロードとストア
• 分岐
• 論理演算とビット操作
• ダイレクトアドレッシング
• その他
■ 算術演算
標準の算術演算命令 ( 加算 , 減算 , 比較 ) およびシフト命令 ( 論理シフト , 算術演算シフ
ト ) があります。加算と減算については , 多ワード長演算で使用するキャリ付き演算や ,
アドレス計算に便利なフラグ値を変化させない演算も可能です。
さらに , 32 ビット× 32 ビット , 16 ビット× 16 ビットの乗算命令と , 32 ビット÷ 32
ビットのステップ除算命令を持ちます。また , レジスタに即値をセットする即値転送命
令や , レジスタ間転送命令も備えています。
算術演算命令はすべて CPU 内の汎用レジスタおよび乗除算レジスタを用いて演算を行
います。
■ ロードとストア
ロードとストアは外部メモリに対して読出しと書込みを行う命令です。また , チップ内
の周辺回路 (I/O) への読出しと書込みにも使用されます。
ロードとストアはバイト , ハーフワード , ワードの 3 種類のアクセス長を持ちます。ま
た , 一般的なレジスタ間接のメモリアドレッシングに加え , 一部の命令についてはディ
スプレースメント付きレジスタ間接やレジスタインクリメント・デクリメント付きレ
ジスタ間接のメモリアドレッシングも可能です。
■ 分岐
分岐 , コール , 割込みおよび復帰の命令です。分岐命令は , 遅延スロットを持つものと
持たないものがあり , 用途に応じて最適化を行うことができます。分岐命令の詳細につ
いては後述します。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
31
第 2 章 CPU および制御部
2.3 命令
MB91313A シリーズ
■ 論理演算とビット操作
論理演算命令は汎用レジスタ間または汎用レジスタとメモリ ( および I/O) 間で AND, OR,
EOR の論理演算を行うことが可能です。また , ビット操作命令はメモリ ( および I/O) の
内容を直接操作することができます。
メモリアドレッシングは一般的なレジスタ間接です。
■ ダイレクトアドレッシング
ダイレクトアドレッシング命令は , I/O と汎用レジスタ間または I/O とメモリ間のアク
セスに使用する命令です。I/O のアドレスをレジスタ間接ではなく命令中で直接指定す
ることにより , 高速 , 高効率なアクセスを行うことができます。一部の命令については
レジスタインクリメント・デクリメント付きレジスタ間接のメモリアドレッシングも
可能です。
■ その他の命令概要
PS レジスタ内のフラグ設定 , スタック操作 , 符号 / ゼロ拡張などを行う命令です。ま
た, 高級言語対応の関数入口/出口, レジスタマルチロード/ストア命令も備えています。
32
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.4 プログラミング・モデル
MB91313A シリーズ
2.4
プログラミング・モデル
FR ファミリのプログラミングモデル , 汎用レジスタ , および専用レジスタについて
説明します。
■ 基本プログラミングモデル
図 2.4-1 に , FR ファミリの基本プログラミングモデルを示します。
図 2.4-1 基本プログラミングモデル
32ビット
〔初期値〕
XXXX XXXXH
R0
…
R1
… … 汎用レジスタ
…
…
R12
R13
AC
R14
FP
R15
SP
プログラムカウンタ
PC プログラムステータス
PS -
テーブルベースレジスタ
TBR
リターンポインタ
RP システムスタックポインタ
SSP
ユーザスタックポインタ
USP
乗除算結果レジスタ
MDH
MDL
CM71-10143-5
…
…
…
ILM
- SCR
FUJITSU SEMICONDUCTOR LIMITED
…
XXXX XXXXH
0000 0000H
CCR
33
第 2 章 CPU および制御部
2.4 プログラミング・モデル
2.4.1
MB91313A シリーズ
汎用レジスタ
レジスタ R0 ∼ R15 は汎用レジスタです。
各種演算におけるアキュムレータ , およびメモリアクセスのポインタとして使用さ
れます。
■ 汎用レジスタ
図 2.4-2 に , 汎用レジスタの構成を示します。
図 2.4-2 汎用レジスタの構成
32ビット
[初期値]
R0
XXXX XXXXH
R1
R12
R13
R14
AC
FP
XXXX XXXXH
R15
SP
0000 0000H
16本のレジスタのうち, 以下に示すレジスタは特殊な用途を想定しており, そのために
一部の命令が強化されています。
• R13:
仮想アキュムレータ (AC)
• R14:
フレームポインタ (FP)
• R15:
スタックポインタ (SP)
リセットによる初期値は , R0 ∼ R14 は不定です。R15 は , "00000000H" (SSP の値 ) とな
ります。
34
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.4 プログラミング・モデル
MB91313A シリーズ
2.4.2
専用レジスタ
専用レジスタは , 特定の目的のために使用します。
FR ファミリでは , 以下の専用レジスタが用意されています。
• PS (Program Status)
• CCR (Condition Code Register)
• SCR (System Condition code Register)
• ILM (Interrupt Level Mask register)
• PC (Program Counter)
• TBR (Table Base Register)
• RP (Return Pointer)
• SSP (System Stack Pointer)
• USP (User Stack Pointer)
• MDH, MDL (Multiply & Divide register)
■ PS (Program Status)
PS はプログラムステータスを保持するレジスタで , ILM と SCR, CCR の 3 つのパート
に分かれています。
未定義のビットはすべて予約ビットです。読出し時 , 常に "0" が読み出されます。
書込みは無効です。
PS(Program Status) のレジスタ構成は , 以下のとおりです。
bit 31
20
16
ILM
CM71-10143-5
10 8 7
SCR
FUJITSU SEMICONDUCTOR LIMITED
0
CCR
35
第 2 章 CPU および制御部
2.4 プログラミング・モデル
MB91313A シリーズ
■ CCR (Condition Code Register)
CCR(Condition Code Register) のレジスタ構成は , 以下のとおりです。
bit
7
6
5
4
3
2
1
0
[ 初期値 ]
−
−
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
演算結果が負の値であったことを示します。
• リセットによる初期状態は不定です。
36
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.4 プログラミング・モデル
MB91313A シリーズ
[bit2] Z: ゼロフラグ
演算結果が "0" であったかどうかを示します。
値
内容
0
演算結果が "0" 以外の値であったことを示します。
1
演算結果が "0" であったことを示します。
• リセットによる初期状態は不定です。
[bit1] V: オーバフローフラグ
演算に用いたオペランドを "2" の補数で表現される整数であるとみなし , 演算の結
果 , オーバフローが生じたかどうかを示します。
値
内容
0
演算の結果 , オーバフローは生じていないことを示します。
1
演算の結果 , オーバフローが生じたことを示します。
• リセットによる初期状態は不定です。
[bit0] C: キャリフラグ
演算により , 最上位ビットからのキャリまたはボローが発生したかどうかを示しま
す。
値
内容
0
キャリもボローも発生していないことを示します。
1
キャリまたはボローが発生したことを示します。
• リセットによる初期状態は不定です。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
37
第 2 章 CPU および制御部
2.4 プログラミング・モデル
MB91313A シリーズ
■ SCR (System Condition code Register)
SCR(System Condition code Register) のレジスタ構成は , 以下のとおりです。
bit
10
9
8
[ 初期値 ]
D1
D0
T
XX0B
[bit10, bit9] D1, D0: ステップ除算用フラグ
ステップ除算実行時の中間データを保持します。
除算処理の実行途中で , 変更しないでください。ステップ除算実行途中にほかの処
理を行う場合は , PS レジスタの値を退避・復帰することでステップ除算の再開が保
証されます。
• リセットによる初期状態は不定です。
• DIV0S 命令の実行により被除数と除数を参照して設定されます。
• DIV0U 命令の実行により , 強制的にクリアされます。
• DIV0S/DIV0U 命令とユーザ割込み , NMI 同時受付け EIT 処理ルーチン内で , EIT
分岐前処理を行わないでください。
• DIV0S/DIV0U 命令の直前に , ブレーク , ステップなどで停止させた場合 , PS レジ
スタの D0/D1 ビットの表示は正しい値とならないことがあります。ただし , 復帰
後の演算結果は正しいものになります。
[bit8] T: ステップトレーストラップフラグ
ステップトレーストラップを有効にするかどうかを指定するフラグです。
値
内容
0
ステップトレーストラップ無効
1
ステップトレーストラップ有効
このとき , ユーザ用 NMI とユーザ割込みがすべて割込み禁止となりま
す。
• リセットにより "0" に初期化されます。
• ステップトレーストラップの機能はエミュレータが使用します。エミュレータ使
用時は , ユーザプログラム中に使用できません。
38
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.4 プログラミング・モデル
MB91313A シリーズ
■ ILM (Interrupt Level Mask Register)
ILM のレジスタ構成は , 以下のとおりです。
bit
20
19
18
17
16
[ 初期値 ]
ILM4
ILM3
ILM2
ILM1
ILM0
01111B
割込みレベルマスク値を保持するレジスタです。
CPU に入力される割込み要求の中で対応する割込みレベルが , この ILM で示されるレ
ベルよりも強い場合にのみ割込み要求が受け付けられます。
レベル値は , 0(00000B) が最強で , 31(11111B) が最弱です。
プログラムから設定可能な値には制限があります。
• 元の値が 16 ∼ 31 のとき :
新たな値として設定できるのは 16 ∼ 31 です。0 ∼ 15 を設定する命令を実行する
と , ( 指定した値+ 16) という値が転送されます。
• 元の値が 0 ∼ 15 のとき :
0 ∼ 31 の任意の値が設定可能です。
リセットにより , 15(01111B) に初期化されます。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
39
第 2 章 CPU および制御部
2.4 プログラミング・モデル
MB91313A シリーズ
■ PC (Program Counter)
PC(Program Counter) のレジスタ構成は , 以下のとおりです。
bit 31
0
PC
[ 初期値 ]
XXXXXXXXH
[bit31 ∼ bit0]
プログラムカウンタで , 実行している命令のアドレスを示しています。
命令の実行を伴う PC の更新時に , bit0 は "0" に設定されます。分岐アドレスとして
奇数番地を指定した場合でも bit0 は無効であり , 命令は "2" の倍数のアドレスに置
く必要があります。
リセットによる初期値は不定です。
■ TBR (Table Base Register)
TBR(Table Base Register) のレジスタ構成は , 以下のとおりです。
bit 31
0
[ 初期値 ]
000FFC00H
TBR
テーブルベースレジスタで , EIT 処理の際に使用するベクタテーブルの先頭アドレスを
保持します。
リセットによる初期値は , "000FFC00H" です。
■ RP (Return Pointer)
RP(Return Pointer) のレジスタ構成は , 以下のとおりです。
bit 31
0
RP
[ 初期値 ]
XXXXXXXXH
リターンポインタで , サブルーチンから復帰するアドレスを保持します。
CALL 命令実行時 , PC の値がこの RP に転送されます。
RET 命令実行時 , RP の内容が PC に転送されます。
リセットによる初期値は不定です。
40
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.4 プログラミング・モデル
MB91313A シリーズ
■ SSP (System Stack Pointer)
SSP(System Stack Pointer) のレジスタ構成は , 以下のとおりです。
bit 31
0
SSP
[ 初期値 ]
00000000H
SSP は , システムスタックポインタです。
S フラグが "0" のとき , R15 として機能します。
SSP を直接命令で指定することも可能です。
また , EIT 発生時に , PS と PC を退避するスタックを指定するスタックポインタとして
も使用されます。
リセットによる初期値は "00000000H" です。
■ USP (User Stack Pointer)
USP(User Stack Pointer) のレジスタ構成は , 以下のとおりです。
bit 31
0
USP
[ 初期値 ]
XXXXXXXXH
USP は , ユーザスタックポインタです。
S フラグが "1" のとき , R15 として機能します。
USP を直接命令で指定することも可能です。
リセットによる初期値は不定です。
RETI 命令で使用することはできません。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
41
第 2 章 CPU および制御部
2.4 プログラミング・モデル
MB91313A シリーズ
■ MDH, MDL (Multiply & Divide register: 乗除算結果レジスタ )
乗除算結果レジスタ (Multiply & Divide register) のレジスタ構成は , 以下のとおりです。
bit 31
0
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……商
42
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.5 データ構造
MB91313A シリーズ
データ構造
2.5
FR ファミリのデータ構造について説明します。
■ ビットオーダリング
FR ファミリでは , ビットオーダリングとして , リトルエンディアンを採用しています。
図 2.5-1 に , ビットオーダリングのデータ配置を示します。
図 2.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
5
6
3
4
1
2
MSB
0
LSB
■ バイトオーダリング
FR ファミリでは , バイトオーダリングとして , ビッグエンディアンを採用しています。
図 2.5-2 に , バイトオーダリングのデータ配置を示します。
図 2.5-2 バイトオーダリングのデータ配置
MSB
bit 31
メモリ
23
15
7
LSB
0
10101010 11001100 11111111 00010001
bit
7
0
n番地
10101010
(n+1)番地
11001100
(n+2)番地
11111111
(n+3)番地
00010001
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
43
第 2 章 CPU および制御部
2.5 データ構造
MB91313A シリーズ
■ ワードアライメント
● プログラムアクセス
FR ファミリのプログラムは , 2 の倍数のアドレスに配置する必要があります。
PC の bit0 は , 命令の実行に伴う PC の更新時に , "0" に設定されます。
分岐先アドレスとして奇数番地を指定した場合でも bit0 は無効であり , 命令は "2" の倍
数のアドレスに置く必要があります。
奇数アドレス例外はありません。
● データアクセス
FR ファミリでは , データアクセスを行う際 , その幅により以下のように強制的なアラ
イメントがアドレスに対して施されます。
ワードアクセス
: アドレスは , "4" の倍数 ( 最下位 2 ビットは強制的に "00")
ハーフワードアクセス : アドレスは , "2" の倍数 ( 最下位ビットは強制的に "0")
バイトアクセス
: ──
ワードおよびハーフワードデータアクセス時に , 一部のビットが強制的に "0" にされる
のは , 実効アドレスの計算結果に対してです。
例えば , @(R13, Ri) のアドレッシングモードの場合 , 加算前のレジスタは ( たとえ最下
位ビットが "1" であっても ) そのまま計算に使用され , 加算結果の下位ビットがマスク
されます。計算前のレジスタがマスクされるわけではありません。
【例】LD @ (R13,R2),R0
R13
00002222H
R2
00000003H
+)
加算結果
アドレス端子
44
00002225H
下位2ビット強制マスク
00002224H
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
2.6
第 2 章 CPU および制御部
2.6 分岐命令
分岐命令
FR ファミリの分岐命令について説明します。
■ 分岐命令の概要
FR ファミリでは , 分岐命令に遅延スロット付きの動作と遅延スロットなしの動作を指
定することができます。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
45
第 2 章 CPU および制御部
2.6 分岐命令
2.6.1
MB91313A シリーズ
遅延スロット付き動作
分岐命令に遅延スロット付き動作を指定した場合について説明します。
■ 遅延スロット付き動作の命令
以下に示す表記をした命令が , 遅延スロット付きの分岐動作を行います。
JMP:D @Ri
CALL:D label12
CALL:
@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 の
更新動作のみであり , その他の動作 ( レジスタの更新・参照など ) は記述された順番で
実行されます。
以下に , 具体的な説明をします。
1) JMP:D @Ri / CALL:D @Ri 命令で参照する Ri は , 遅延スロットの中の命令が Ri
を更新しても影響を受けません。
[例]
LDI:32
#Label, R0
JMP:D
@R0
LDI:8
#0,
;Label に分岐
R0
; 分岐先アドレスには影響を与えない
…
46
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.6 分岐命令
MB91313A シリーズ
2) RET:D 命令が参照する RP は , 遅延スロットの中の命令が RP を更新しても影響
を受けません。
[例]
; これより前に設定された RP の示すアドレスへ分岐
RET:D
MOV
R8,
RP
; リターン動作には影響を与えない
…
3) Bcc:D rel 命令が参照するフラグも , 遅延スロットの命令の影響を受けません。
[例]
ADD
#1,
R0
BC:D
Overflow
; フラグ変化
; 上記の命令の実行結果により分岐
; このフラグ更新は上記分岐命令では参照しない
AND CCR #0
…
4) CALL:D 命令の遅延スロットの中の命令で RP を参照すると , CALL:D 命令によ
り更新された内容が読み出されます。
[例]
; RP を更新して分岐
CALL:D Label
MOV
RP,
R0
; 上記 CALL:D の実行結果の RP を転送
…
■ 遅延スロット付き動作の制限事項
● 遅延スロットに置くことができる命令
遅延スロット内で実行できるのは , 以下の条件を満たす命令のみです。
• 1 サイクル命令
• 分岐命令ではないこと
• 順番が変化した場合でも動作に影響を与えない命令
「1 サイクル命令」とは , 命令一覧表中でサイクル数の欄が「1」または「a」または「b」
または「c」または「d」と記載された命令です。
● ステップトレーストラップ
遅延スロットを持つ分岐命令の実行と遅延スロットの間では , ステップトレースト
ラップは発生しません。
● 割込み・NMI
遅延スロットを持つ分岐命令の実行と遅延スロットの間では , 割込み・NMI を受理し
ません。
● 未定義命令例外
遅延スロットに未定義命令があった場合 , 未定義命令例外は発生しません。このとき ,
未定義命令は NOP 命令として動作します。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
47
第 2 章 CPU および制御部
2.6 分岐命令
2.6.2
MB91313A シリーズ
遅延スロットなし動作
分岐命令に遅延スロットなし動作を指定した場合について説明します。
■ 遅延スロットなし動作の命令
以下に示す表記をした命令が , 遅延スロットなしの分岐動作を行います。
JMP @Ri
CALL label12
CALL @Ri
RET
BRA label9
BNO label9
BEQ
label9
BNE
label9
BC
label9
BNC label9
BN
label9
BP
label9
BV
label9
BNV label9
BLT
label9
BGE
label9
BGT
BLS
label9
BHI
label9
BLE label9
label9
■ 遅延スロットなし動作の動作説明
遅延スロットなしの動作では , 命令の並びの順に実行します。
直後の命令が分岐前に実行されることはありません。
[例]
; 命令の並び
ADD R1, R2
;
BRA LABEL
; 分岐命令 ( 遅延スロットなし )
MOV R2, R3
; 実行されない
…
R3, @R4 ; 分岐先
LABEL: ST
遅延スロットなしの分岐命令の実行サイクル数は , 分岐するとき 2 サイクル , 分岐しな
いとき 1 サイクルとなります。
遅延スロットなしの分岐命令は , 遅延スロットに適当な命令を入れることができない
ために NOP を明記した遅延スロット付き分岐命令に比べて , 命令コード効率を上げる
ことができます。
遅延スロットに有効な命令を設置できるときは遅延スロット付きの動作を選択し , 設
置できないときは遅延スロットなしの動作を選択することで , 実行速度とコード効率
を両立させることが可能となります。
48
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
2.7
第 2 章 CPU および制御部
2.7 EIT ( 例外・割込み・トラップ )
EIT ( 例外・割込み・トラップ )
EIT とは , 現プログラム実行時にイベントの発生によりそのプログラムの実行を中断
してほかのプログラムを実行することを指す , 例外 (Exception), 割込み (Interrupt),
トラップ (Trap) の総称です。
例外とは , 実行中のコンテキストに関連して発生する事象です。例外を起こした命
令から再実行します。
割込みとは , 実行中のコンテキストとは無関係に発生する事象です。イベント要因
は , ハードウェアです。
トラップとは , 実行中のコンテキストに関連して発生する事象です。システムコー
ルのようにプログラムで指示するものがあります。トラップを起こした命令の次の
命令から再実行します。
■ EIT の特長
• 割込みに多重割込みをサポート
• 割込みにレベルマスク機能 (15 レベルをユーザが使用可能 )
• トラップ命令 (INT)
• エミュレータ起動用 EIT ( ハードウェア / ソフトウェア )
■ EIT 要因
EIT 要因として , 以下のものがあります。
• リセット
• ユーザ割込み ( 内部リソース , 外部割込み )
• NMI
• 遅延割込み
• 未定義命令例外
• トラップ命令 (INT)
• トラップ命令 (INTE)
• ステップトレーストラップ
• コプロセッサ不在トラップ
• コプロセッサエラートラップ
<注意事項>
分岐命令の遅延スロットには , EIT に関して制約があります。詳細は , 「2.6 分岐命令」を
参照してください。
■ EIT からの復帰
RETI 命令
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
49
第 2 章 CPU および制御部
2.7 EIT ( 例外・割込み・トラップ )
MB91313A シリーズ
EIT の割込みレベル
2.7.1
割込みレベルは 0 ∼ 31 で , 5 ビットで管理されます。
■ EIT の割込みレベル
表 2.7-1 に , 割込みレベルを示します。
表 2.7-1 割込みレベル
レベル
割込み要因
2 進数
10 進数
00000
0
( システム予約 )
…
…
…
…
…
…
00011
3
( システム予約 )
00100
4
00101
5
( システム予約 )
…
…
…
…
…
…
01110
14
( システム予約 )
01111
15
NMI ( ユーザ用 )
10000
16
割込み
10001
17
割込み
…
…
…
…
…
…
11110
30
割込み
11111
31
─
{
INTE 命令
ステップトレーストラップ
注意事項
ILM の元の値が 16 ∼ 31 のとき , この
範囲の値をプログラムにより ILM に設
定することはできません。
ILM 設定時 , ユーザ割込み禁止
ICR 設定時 , 割込み禁止
操作が可能なのは , 16 ∼ 31 のレベルです。
未定義命令例外, コプロセッサ不在トラップ, コプロセッサエラートラップ, そしてINT
命令は , 割込みレベルの影響を受けません。また , ILM を変化させることもありません。
50
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.7 EIT ( 例外・割込み・トラップ )
MB91313A シリーズ
■ I フラグ
I フラグは , 割込みの許可・禁止を指定するフラグです。PS レジスタの CCR の bit4 と
して設けられています。
値
内容
0
割込み禁止
INT 命令実行時 "0" にクリアされます
( ただし , スタック退避させる値はクリアする前の値です ) 。
1
割込み許可
割込み要求のマスク処理は , ILM の保持する値により制御されます。
■ ILM
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 および割込み要求が発生したときは , 割込み要因の持つ割込みレベル ( 表 2.7-1 )
が ILM の保持するレベルマスク値と比較されます。そして , レベルの強さで次の条件
が成立したときはマスクされ , 要求は受理されません。
要因の持つ割込みレベル ≧ レベルマスク値
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
51
第 2 章 CPU および制御部
2.7 EIT ( 例外・割込み・トラップ )
2.7.2
MB91313A シリーズ
ICR (Interrupt Control Register)
割込みコントローラ内に設けられたレジスタで , 割込みの各要求に対するレベルを
設定します。ICR は割込み要求入力の各々に対応して用意されています。ICR は I/O
空間にマッピングされており , CPU からはバスを通してアクセスされます。
■ ICR ビット構成
ICR のビット構成は , 以下のとおりです。
bit
7
−
−
6
−
−
5
4
3
2
1
0
−
−
ICR4
R
ICR3
R/W
ICR2
R/W
ICR1
R/W
ICR0
R/W
初期値
---111111B
[bit4] ICR4
ICR4 は , 常に "1" です。
[bit3 ∼ bit0] ICR3 ∼ ICR0
対応する割込み要因の割込みレベルの下位 4 ビットです。読出し / 書込み可能です。
bit4 と合わせて , ICR は 16 ∼ 31 の範囲で値を設定することができます。
■ ICR マッピング
表 2.7-2 に , 割込み要因と割込み制御レジスタ , 割込みベクタの割当てを示します。
表 2.7-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 初期値 : "000FFC00H"
・詳細は「第 10 章 割込みコントローラ」を参照してください。
52
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.7 EIT ( 例外・割込み・トラップ )
MB91313A シリーズ
システムスタックポインタ (SSP:System Stack
Pointer)
2.7.3
システムスタックポインタ (SSP) が , EIT の受理および復帰動作時のデータ退避・復
活用スタックを示すポインタとして使用されます。
■ システムスタックポインタ (SSP)
システムスタックポインタ (SSP) のレジスタ構成は , 以下のとおりです。
bit 31
0
[ 初期値 ]
00000000H
SSP
EIT 処理時に SSP-8 のデータが格納され , RETI 命令の実行による EIT からの復帰動作
時に SSP+8 のデータが格納されます。
リセットによる初期値は "00000000H" です。
システムスタックポインタ (SSP) は , CCR 中の S フラグが "0" のとき , 汎用レジスタ
R15 としても機能します。
■ 割込みスタック
システムスタックポインタ (SSP) により示される領域で , PC および PS の値が退避・復
帰されます。
割込み後はシステムスタックポインタ (SSP) の示すアドレスに PC, (SSP + 4) のアドレ
スに PS が格納されています。
図 2.7-1 に , 割込みスタックの例を示します。
図 2.7-1 割込みスタック
[割込み前]
SSP
80000000H
[割込み後]
SSP
7FFFFFF8H
メモリ
80000000H
7FFFFFFCH
7FFFFFF8H
CM71-10143-5
80000000H
7FFFFFFCH
7FFFFFF8H
FUJITSU SEMICONDUCTOR LIMITED
PS
PC
53
第 2 章 CPU および制御部
2.7 EIT ( 例外・割込み・トラップ )
MB91313A シリーズ
テーブルベースレジスタ (TBR:Table Base Register)
2.7.4
テーブルベースレジスタ (TBR) は , EIT 用ベクタテーブルの先頭アドレスを示すレジ
スタです。
■ テーブルベースレジスタ (TBR)
TBR のレジスタ構成は , 以下のとおりです。
bit
31
0
[ 初期値 ]
000FFC00H
TBR
テーブルベースレジスタ (TBR) と EIT 要因ごとに決められたオフセット値を加算した
アドレスがベクタアドレスとなります。
リセットによる初期値は "000FFC00H" です。
■ EIT ベクタテーブル
TBR の示すアドレスから 1K バイトの領域が , EIT 用ベクタ領域となっています。
1 ベクタあたりの大きさは 4 バイトで , ベクタ番号とベクタアドレスの関係は以下のと
おりです。
vctadr = TBR + vctofs
= TBR + (3FCH − 4 × vct)
vctadr: ベクタアドレス
vctofs: ベクタオフセット
vct: ベクタ番号
加算結果の下位 2 ビットは常に "00" として扱われます。
"000FFC00H" ∼ "000FFFFFH" の領域がリセットによるベクタテーブルの初期領域です。
ベクタの一部には特殊な機能が割り当てられています。
表 2.7-3 に , アーキテクチャ上のベクタテーブルを示します。
表 2.7-3 ベクタテーブル (1 / 4)
割込み番号
割込みレベル
オフセット
TBR デフォルト
のアドレス
00
-
3FCH
000FFFFCH
1
01
-
3F8H
000FFFF8H
システム予約
2
02
-
3F4H
000FFFF4H
システム予約
3
03
-
3F0H
000FFFF0H
システム予約
4
04
-
3ECH
000FFFECH
システム予約
5
05
-
3E8H
000FFFE8H
割込み要因
10 進
16 進
リセット *1
0
モードベクタ *1
*1 : TBR の 値 を 変 更 し て も リ セ ッ ト ベ ク タ と モ ー ド ベ ク タ は 常 に 固 定 ア ド レ ス "000FFFFCH",
"000FFFF8H" が使用されます。
54
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.7 EIT ( 例外・割込み・トラップ )
MB91313A シリーズ
表 2.7-3 ベクタテーブル (2 / 4)
割込み番号
割込みレベル
オフセット
TBR デフォルト
のアドレス
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
外部割込み 0
16
10
ICR00
3BCH
000FFFBCH
外部割込み 1
17
11
ICR01
3B8H
000FFFB8H
外部割込み 2
18
12
ICR02
3B4H
000FFFB4H
外部割込み 3
19
13
ICR03
3B0H
000FFFB0H
外部割込み 4
20
14
ICR04
3ACH
000FFFACH
外部割込み 5
21
15
ICR05
3A8H
000FFFA8H
外部割込み 6
22
16
ICR06
3A4H
000FFFA4H
外部割込み 7
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
マスク可能要因 *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
割込み要因
10 進
16 進
システム予約
6
コプロセッサ不在トラップ
*2 : マスク可能要因は各品種により定義されます。本品種におけるベクタテーブルは付表 B-1 を参照
してください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
55
第 2 章 CPU および制御部
2.7 EIT ( 例外・割込み・トラップ )
MB91313A シリーズ
表 2.7-3 ベクタテーブル (3 / 4)
割込み番号
割込みレベル
オフセット
TBR デフォルト
のアドレス
29
ICR25
358H
000FFF58H
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
システム予約
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
割込み要因
10 進
16 進
マスク可能要因 *2
41
マスク可能要因 *2
*2 : マスク可能要因は各品種により定義されます。本品種におけるベクタテーブルは付表 B-1 を参照
してください。
56
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.7 EIT ( 例外・割込み・トラップ )
MB91313A シリーズ
表 2.7-3 ベクタテーブル (4 / 4)
割込み番号
割込みレベル
オフセット
TBR デフォルト
のアドレス
4C
-
2CCH
000FFECCH
77
4D
-
2C8H
000FFEC8H
システム予約
78
4E
-
2C4H
000FFEC4H
システム予約
79
4F
-
2C0H
000FFEC0H
80
50
2BCH
000FFEBCH
∼
∼
∼
∼
255
FF
000H
000FFC00H
割込み要因
10 進
16 進
システム予約
76
システム予約
INT 命令で使用
CM71-10143-5
-
FUJITSU SEMICONDUCTOR LIMITED
57
第 2 章 CPU および制御部
2.7 EIT ( 例外・割込み・トラップ )
MB91313A シリーズ
多重 EIT 処理
2.7.5
複数の EIT 要因が同時に発生した場合 , CPU は 1 つの EIT 要因を選択して受理し ,
EIT シーケンスを実行した後 , 再び EIT 要因の検出を行うという動作を繰り返しま
す。
EIT 要因検出の際に , 受理可能な EIT 要因がなくなったとき , 最後に受理した EIT 要
因のハンドラの命令を実行します。
そのため , 複数の EIT 要因が同時に発生した場合の各要因のハンドラの実行順序は ,
次の 2 つの要素によって決まります。
• EIT 要因受理の優先順位
• 受理した場合にほかの要因をどのようにマスクするか
■ EIT 要因受理の優先度
EIT 要因受理の優先度とは , PS と PC を退避して PC を更新し ( 必要に応じて ) ほかの
要因のマスク処理を行うという , EIT シーケンスを実行する要因を選ぶときの順番で
す。
必ずしも , 先に受理された要因のハンドラが先に実行されるわけではありません。
表 2.7-4 に , EIT 要因の受理の優先度とほかの要因へのマスクを示します。
表 2.7-4 EIT 要因の受理の優先度とほかの要因へのマスク
受理の優先順位
58
要因
ほかの要因に対するマスク
1
リセット
ほかの要因は破棄します。
2
未定義命令例外
取消
3
INTE 命令
ILM=4
ほかの要因は破棄します。
4
INT 命令
I フラグ =0
5
コプロセッサ不在トラップ
コプロセッサエラートラップ
6
ユーザ割込み
ILM= 受理した要因のレベル
7
NMI ( ユーザ用 )
ILM=15 ( 本製品に NMI はありません。)
8
NMI ( エミュレータ用 )
ILM=4
9
ステップトレーストラップ
ILM=4
―
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.7 EIT ( 例外・割込み・トラップ )
MB91313A シリーズ
EIT 要因を受理した後のほかの要因に対するマスクの処理を加味すると , 同時に発生し
た EIT 要因の各ハンドラの実行順序は , 表 2.7-5 のようになります。
表 2.7-5 EIT ハンドラの実行順序
ハンドラの実行順序
要因
1
リセット *
2
未定義命令例外
3
INTE 命令 *
4
ステップトレーストラップ
5
NMI ( ユーザ用。ただし , 本製品に NMI はありません )
6
INT 命令
7
ユーザ割込み
8
コプロセッサ不在トラップ , コプロセッサエラートラップ
*: ほかの要因は破棄されます。
図 2.7-2 に多重 EIT 処理の例を示します。
図 2.7-2 多重 EIT 処理
メインルーチン
NMIのハンドラ
INT命令
のハンドラ
優先度
(高) NMI発生
①最初に実行
(低) INT命令実行
②次に実行
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
59
第 2 章 CPU および制御部
2.7 EIT ( 例外・割込み・トラップ )
2.7.6
MB91313A シリーズ
EIT の動作
FR ファミリの各動作について説明します。
以降の説明で , 転送元の「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 +受理した割込み要求のベクタオフセット ) → PC
60
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 2 章 CPU および制御部
2.7 EIT ( 例外・割込み・トラップ )
割込みシーケンス終了後ハンドラの先頭の命令を実行する前に , 新たな EIT の検出を
行います。この時点で受理可能な EIT が発生していると , CPU は EIT 処理シーケンス
に遷移します。
ユーザ割込み , または NMI 要因が発生している状態で割込みを許可するために OR CCR,
ST ILM, および MOV Ri,PS の各命令が実行されると , 割込みハンドラの前後で上記命
令が 2 回実行される場合があります。ただし , CPU 内のレジスタに対して , 同じ値を 2
度設定するだけですので , 動作に問題ありません。
EIT 処理ルーチン内では 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) "00100" → ILM
6) "0" → S フラグ
7) (TBR + 3D8H) → PC
INTE 命令 , およびステップトレーストラップの処理ルーチン中では , INTE 命令は使用
しないでください。また , ステップ実行中は INTE による EIT の発生はありません。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
61
第 2 章 CPU および制御部
2.7 EIT ( 例外・割込み・トラップ )
MB91313A シリーズ
■ ステップトレーストラップの動作
PS 中の SCR における T フラグをセットしてステップトレースの機能をイネーブルに
しておくと , 1 命令実行ごとにトラップが発生し , ブレークします。
[ ステップトレーストラップ検出の条件 ]
1) T フラグ = 1
2) 遅延分岐命令ではない
3) INTE 命令 , ステップトレーストラップの処理ルーチン以外を実行中
以上の条件が成立すると , 命令動作の切れ目でブレークします。
[ 動作 ]
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) 命令のデコード時に , 未定義命令であることを検出
2) 遅延スロット外に置かれている ( 遅延分岐命令の直後ではない )
以上の条件が成立すると未定義命令例外が発生し , ブレークします。
[ 動作 ]
1) SSP − 4 → SSP
2) PS → (SSP)
3) SSP − 4 → SSP
4) PC → (SSP)
5) "0" → S フラグ
6) (TBR + 3C4H) → PC
PC として退避されるのは , 未定義命令例外を検出した命令自身のアドレスです。
62
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 2 章 CPU および制御部
2.7 EIT ( 例外・割込み・トラップ )
■ コプロセッサ不在トラップ
実装していないコプロセッサを使用するコプロセッサ命令を実行すると , コプロセッ
サ不在トラップが発生します。
[ 動作 ]
1) SSP − 4 → SSP
2) PS → (SSP)
3) SSP − 4 → SSP
4) 次の命令のアドレス → (SSP)
5) "0" → S フラグ
6) (TBR + 3E0H) → PC
■ コプロセッサエラートラップ
コプロセッサを使用するしているときにエラーが発生した場合 , 次にそのコプロセッ
サを操作するコプロセッサ命令を実行したとき , コプロセッサエラートラップが発生
します。
[ 動作 ]
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" の状態で実行する必要があります。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
63
第 2 章 CPU および制御部
2.8 リセット ( デバイスの初期化 )
2.8
MB91313A シリーズ
リセット ( デバイスの初期化 )
初期化であるリセット動作について説明します。
■ リセット ( デバイス初期化 ) の概要
リセット要因が発生すると , デバイスはすべてのプログラムおよびハードウェア動作
を停止し , 状態を初期化します。この状態をリセット状態とよびます。
リセット要因の消失により , デバイスは初期状態からプログラムおよびハードウェア
動作を開始します。このリセット状態から動作開始に至る一連の動作をリセットシー
ケンスとよびます。
64
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
2.8.1
第 2 章 CPU および制御部
2.8 リセット ( デバイスの初期化 )
リセットレベル
FR ファミリのリセット動作は , 2 種類のレベルに分かれており , それぞれ発生要因
および初期化の内容が異なります。
各リセットレベルについて説明します。
■ 設定初期化リセット (INIT)
すべての設定を初期化する最強レベルのリセットを設定初期化リセット (INIT) とよび
ます。
設定初期化リセット (INIT) により初期化される主な内容は , 以下のとおりです。
[ 設定初期化リセット (INIT) による初期化箇所 ]
• デバイスの動作モード ( バスモードおよび外部バス幅の設定 )
• 内部クロックに関するすべての設定 ( クロックソース選択 , PLL 制御 , 分周比設
定)
• 外部バスの CS0 領域に関するすべての設定
• その他の端子状態に関するすべての設定
• 動作初期化リセット (RST) で初期化されるすべての箇所
詳細はそれぞれの機能の説明を参照してください。
なお , 電源投入後は必ず INITX 端子にて設定初期化リセット (INIT) をかけてください。
■ 動作初期化リセット (RST)
プログラム動作を初期化する通常レベルのリセットを動作初期化リセット (RST) とよ
びます。
設定初期化リセット (INIT) 時には , 同時に動作初期化リセット (RST) も発生します。
動作初期化リセット (RST) により初期化される主な内容は , 以下のとおりです。
[ 動作初期化リセット (RST) による初期化箇所 ]
• プログラム動作
• CPU および内部バス
• 周辺回路のレジスタ設定値
• IO ポート設定
• 外部バスの CS0 領域に関するすべての設定
詳細はそれぞれの機能の説明を参照してください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
65
第 2 章 CPU および制御部
2.8 リセット ( デバイスの初期化 )
2.8.2
MB91313A シリーズ
リセット要因
各リセット発生要因と発生するリセットレベルについて説明します。
過去に発生したリセット要因は , RSRR ( リセット要因レジスタ ) を読み出すことで
確認できます ( 各説明にあるレジスタ , フラグの詳細な説明は , 「2.9.5 クロック生
成制御部のブロックダイヤグラム」および「2.9.6 クロック生成制御部のレジスタ」
を参照 ) 。
■ INITX 端子入力 ( 設定初期化リセット端子 )
外部端子の INITX 端子は , 設定初期化リセット端子として機能します。
本端子へ"L"レベル入力を行っている間, 設定初期化リセット(INIT)要求が発生します。
本端子へ "H" レベルを入力することにより , 設定初期化リセット (INIT) 要求は解除さ
れます。
本端子要求による設定初期化リセット (INIT) が発生した場合 , RSRR ( リセット要因レ
ジスタ ) 中の bit15:INIT ビットがセットされます。本端子要求による設定初期化リセッ
ト (INIT) は , すべてのリセット要因中で最強のものであり , すべての入力・動作・状態
よりも優先されます。
なお , 電源投入直後は必ず INITX 端子にて設定初期化リセット (INIT) をかけてくださ
い。また , 電源投入直後は , 発振回路の発振安定待ち時間を確保するため , INITX 端子
への "L" レベル入力を発振回路の要求する安定待ち時間の間持続してください (INITX
端子による INIT では , 発振安定待ち時間の設定は最小値に初期化されています ) 。
• 発生要因
: 外部 INITX 端子への "L" レベル入力
• 解除要因
: 外部 INITX 端子への "H" レベル入力
• 発生レベル : 設定初期化リセット (INIT)
• 対応フラグ : bit15:INIT
■ STCR:SRST ビット書込み ( ソフトウェアリセット )
STCR ( スタンバイ制御レジスタ ) 中の bit4:SRST ビットに "0" が書き込まれると , ソフ
トウェアリセット要求が発生します。
ソフトウェアリセット要求は , 動作初期化リセット (RST) 要求です。
要求が受け付けられ動作初期化リセット (RST) が発生するとソフトウェアリセット要
求は解除されます。
ソフトウェアリセット要求による動作初期化リセット (RST) が発生した場合 , RSRR
( リセット要因レジスタ ) 中の bit11:SRST ビットがセットされます。
ソフトウェアリセット要求による動作初期化リセット (RST) は , TBCR ( タイムベース
カウンタ制御レジスタ ) 中の bit9:SYNCR ビットがセットされている場合 ( 同期リセッ
トモード ) , すべてのバスアクセスを停止しないと発生しません。
このため, バスの使用状況により動作初期化リセット(RST)が発生するまでに長時間を
要する場合があります。
同期モードのソフトウェアリセットの使用はTBCR (タイムベースカウンタ制御レジス
タ ) の bit9: SYNCR ビットの制限事項を参照してください。
66
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 2 章 CPU および制御部
2.8 リセット ( デバイスの初期化 )
• 発生要因 :
STCR ( スタンバイ制御レジスタ ) 中の bit4:SRST ビットへの "0" が書込み
• 解除要因 :
動作初期化リセット (RST) の発生
• 発生レベル :
動作初期化リセット (RST)
• 対応フラグ :
bit11:SRST
■ ウォッチドッグリセット
RSRR ( ウォッチドッグタイマ制御レジスタ ) に対し書込みを行うと , ウォッチドッグ
タイマが起動します。その後 , RSRR 中の bit9, bit8:WT1, WT0 ビットにて設定した周期
内に WPR ( ウォッチドッグリセット発生延期レジスタ ) への "A5H"/"5AH" 書込みが行
われないと , ウォッチドッグリセット要求が発生します。
ウォッチドッグリセット要求は , 設定初期化リセット (INIT) 要求です。要求が受け付
けられ設定初期化リセット (INIT) が発生するか , または動作初期化リセット (RST) が
発生すると , ウォッチドッグリセット要求は解除されます。
ウォッチドッグリセット要求による設定初期化リセット (INIT) が発生した場合 , RSRR
( リセット要因レジスタ ) 中の bit13:WDOG ビットがセットされます。
なお , ウォッチドッグリセット要求による設定初期化リセット (INIT) が発生した場合
では , 発振安定待ち時間の設定は初期化されません。
• 発生要因 :
ウォッチドッグタイマの設定周期経過
• 解除要因 :
設定初期化リセット (INIT) または動作初期化リセット (RST) の発生
• 発生レベル :
設定初期化リセット (INIT)
• 対応フラグ :
bit13:WDOG
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
67
第 2 章 CPU および制御部
2.8 リセット ( デバイスの初期化 )
2.8.3
MB91313A シリーズ
リセットシーケンス
リセット要因の消失により , デバイスはリセットシーケンスの実行を開始します。
リセットシーケンスは , リセットレベルによりそれぞれ動作内容が異なります。
ここでは , 各リセットレベルにおけるリセットシーケンスの動作内容について説明
します。
■ 設定初期化リセット (INIT) 解除シーケンス
設定初期化リセット (INIT) 要求が解除されると , デバイスは以下の動作を順に実行し
ます。
1) 設定初期化リセット (INIT) の解除 , 発振安定待ち状態へ遷移
2) 発振安定待ち時間 (STCRのbit3, bit2:OS1, OS0にて設定) の間, 動作初期化リセッ
ト (RST) 状態を保持 , 内部クロック停止
3) 動作初期化リセット (RST) 状態 , 内部クロック動作開始
4) 動作初期化リセット (RST) の解除 , 通常動作状態へ遷移
5) 000FFFF8H 番地より , モードベクタの読出し
6) 000007FDH 番地の MODR ( モードレジスタ ) へ , モードベクタの書込み
7) 000FFFFCH 番地より , リセットベクタの読出し
8) PC ( プログラムカウンタ ) へ , リセットベクタの書込み
9) PC ( プログラムカウンタ ) の示す番地より , プログラム動作開始
■ 動作初期化リセット (RST) 解除シーケンス
動作初期化リセット(RST)要求が解除されると, デバイスは以下の動作を順に実行しま
す。
1) 動作初期化リセット (RST) の解除 , 通常動作状態へ遷移
2) 000FFFF8H 番地より , モードベクタの読出し
3) 000007FDH 番地の MODR ( モードレジスタ ) へ , モードベクタの書込み
4) 000FFFFCH 番地より , リセットベクタの読出し
5) PC ( プログラムカウンタ ) へ , リセットベクタの書込み
6) PC ( プログラムカウンタ ) の示す番地より , プログラム動作開始
68
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
2.8.4
第 2 章 CPU および制御部
2.8 リセット ( デバイスの初期化 )
発振安定待ち時間
デバイスの原発振が停止していたか , またはその可能性がある状態から復帰したと
き , 自動的に発振安定待ち状態に遷移します。
本機能により発振開始後の安定していない発振器出力を使用しないようにします。
発振安定待ち時間中は , 内部および外部へのクロック供給は停止し , 内蔵タイムベー
スカウンタのみが動作して , STCR ( スタンバイ制御レジスタ ) にて設定された安定
待ち時間の経過を待ちます。
ここでは , 発振安定待ち動作の詳細について説明します。
■ 発振安定待ち発生要因
発振安定待ち発生要因を , 以下に示します。
● 設定初期化リセット (INIT) の解除時
各種要因による設定初期化リセット (INIT) が解除された直後に , 発振安定待ち状態へ
遷移します。
発振安定待ち時間経過後は , 動作初期化リセット (RST) 状態へ遷移します。
● ストップモードからの復帰時
ストップモードが解除された直後に , 発振安定待ち状態へ遷移します。ただし , 設定初
期化リセット (INIT) 要求により解除された場合は , 設定初期化リセット (INIT) 状態に
遷移し , 設定初期化リセット (INIT) が解除された後 , 発振安定待ち状態へ遷移します。
発振安定待ち時間経過後は , ストップモードが解除された要因に対応した状態へと遷
移します。
• 有効な外部割込み要求入力 (NMI 含む ) および , 時計タイマ / メイン発振安定待ちタ
イマ割込みの発生による復帰時 :
通常動作状態へ遷移します。
• 設定初期化リセット (INIT) 要求による復帰時 :
動作初期化リセット (RST) 状態へ遷移します。
● PLL 選択時の異常状態の発生からの復帰時
PLL をソースクロックとして動作しているときに , PLL 制御に何らかの異常 * が発生し
た場合 , PLL ロックタイムの確保のために , 自動的に発振安定待ち時間に遷移します。
発振安定待ち時間経過後は , 通常動作状態へ遷移します。
* : PLL 使用中の逓倍率変更や , PLL 動作許可ビット化けの発生など。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
69
第 2 章 CPU および制御部
2.8 リセット ( デバイスの初期化 )
MB91313A シリーズ
● サブクロックでメイン発振停止中のウォッチドッグリセット発生時
サブクロックをソースクロックとして動作しているときに , OSCCR ( 発振制御レジス
タ ) の bit8:OSCDS1 ビットによってメイン発振停止中にウォッチドッグリセットが発
生した場合 , リセット (INIT) が解除された直後に発振安定待ち状態に遷移します。
発振安定待ち時間経過後は , 動作初期化リセット (RST) 状態へ遷移します。
なお , サブクロックで OSCDS1 ビットが "0" のときおよびメインクロック時は発振安
定待ちは行いません。
■ 発振安定待ち時間の選択
発振安定待ち時間は , 内蔵タイムベースカウンタを用いて時間計測されます。
発振安定待ち発生要因が発生し , 発振安定待ち状態へ遷移すると , 内蔵タイムベースカ
ウンタはいったん初期化された後 , 発振安定待ち時間の計測を開始します。
STCR ( スタンバイ制御レジスタ ) の bit3, bit2:OS1, OS0 ビットにより , 発振安定待ち時
間を 4 種類のうちから選択して設定することができます。
いったん選択した設定は , 外部 INITX 端子による設定初期化リセット (INIT) 以外では
初期化されません。それ以外のウォッチドッグリセットによる設定初期化リセット
(INIT) や , 動作初期化リセット (RST) では , リセット発生以前に設定した発振安定待ち
時間が保持されます。
70
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
2.8.5
第 2 章 CPU および制御部
2.8 リセット ( デバイスの初期化 )
リセット動作モード
動作初期化リセット (RST) には , 通常 ( 非同期 ) リセットモードと同期リセットモー
ドの 2 つのモードがあり , TBCR ( タイムベースカウンタ制御レジスタ ) 中の
bit9:SYNCR ビットによってどちらのモードで動作するかを設定します。
この設定は , 設定初期化リセット (INIT) のみで初期化されます。
設定初期化リセット (INIT) は , 常に非同期でリセット動作を行います。
■ 通常リセット動作
動作初期化リセット (RST) 要求が発生した際に , 即座に動作初期化リセット (RST) 状態
への遷移を行う動作を通常リセット動作とよびます。
リセット (RST) 要求が受け付けられると , 内部バスアクセスの動作状態にかかわらず ,
即時にリセット (RST) 状態へ遷移します。
各状態へ遷移する時点で行われていたバスアクセスは , その結果を保証できません。し
かし , それら要求を確実に受け付けることが可能です。
TBCR ( タイムベースカウンタ制御レジスタ ) 中の bit9:SYNCR ビットが "0" のとき , 通
常リセットモードとなります。
設定初期化リセット (INIT) の発生後の初期値は , 通常リセットモードとなります。
■ 同期リセット動作
動作初期化リセット(RST)要求が発生した際に, すべてのバスアクセスが停止してから
動作初期化リセット (RST) 状態への遷移を行う動作を同期リセット動作とよびます。
リセット (RST) 要求が受け付けられても , 内部バスアクセスが行われている間は , リ
セット (RST) 状態への遷移は行いません。
上記要求が受け付けられると , 内部バスに対してスリープ要求が発行されます。各バス
が動作を切り上げてスリープ状態に移行すると, 動作初期化リセット(RST)状態へ遷移
します。
各状態へ遷移する時点で , すべてのバスアクセスが停止しているため , すべてのバスア
クセスの結果を保証できます。しかし , バスアクセスが何らかの理由で停止しない場合 ,
その間各要求を受け付けることができなくなります ( このような場合でも, 設定初期化
リセット (INIT) は即座に有効となります ) 。
バスアクセスが停止しない要因には以下のものがあげられます。
• 外部拡張バスインタフェースに対し RDY ( レディ要求 ) が入力され続け , バスウェ
イトが有効となっている場合 ( また , 以下の場合においては , 最終的には各状態へ遷
移しますが , 遷移するまでに長時間かかってしまいます )
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
71
第 2 章 CPU および制御部
2.8 リセット ( デバイスの初期化 )
MB91313A シリーズ
<参考>
• 同期モードのソフトウェアリセットの使用はTBCR (タイムベースカウンタ制御レジス
タ ) の bit9: SYNCR ビットの制限事項を参照してください。
• DMA コントローラについては , 各要求の受付けにより転送停止を行いますので , 各状
態への遷移を遅延させることはありません。
• TBCR ( タイムベースカウンタ制御レジスタ ) 中の bit9:SYNCR ビットが "1" のとき , 同
期リセットモードとなります。
• 同期モードでソフトウェアリセットを使うために , TBCR( タイムベースカウンタ制御
レジスタ ) 中の bit9:SYNCR ビットの制限を参照してください。
設定初期化リセット (INIT) の発生後の初期値は , 通常リセットモードに戻ります。
72
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
2.9
クロック生成制御
クロック生成制御について説明します。
■ 内部動作クロックの生成
内部動作クロックは , 以下のようにして生成されます。
• ソースクロックの選択 :
クロックの供給源を選択します。
• ベースクロックの生成 :
ソースクロックを 2 分周または PLL 発振させ , 基本クロックを生成します。
• 各内部クロックの生成 :
ベースクロックを分周し , 各部に供給する 4 種類の動作クロックを生成します。
以降 , 各クロック生成とその制御について説明します。
各説明にあるレジスタ , フラグの詳細な説明は , 「2.9.5 クロック生成制御部のブロッ
クダイヤグラム」および「2.9.6 クロック生成制御部のレジスタ」を参照してください。
■ ソースクロックの選択
ソースクロックの選択について説明します。
外部発振端子である X0/X1, X0A/X1A 端子入力に発振子を接続し , 内蔵発振回路にて生
成した原発振がソースクロックとなります。
外部バスクロックを含むすべてのクロック供給源は , 本品種自身となります。
外部発振端子および内蔵発振回路は, メインクロックとサブクロックの2種類を使用で
き , 動作中に任意に切り換えて使用することが可能です。
• メインクロック : X0/X1 端子入力から生成し , 高速クロックとして使用することを
想定したものです。
• サブクロック
: X0A/X1A 端子入力から生成し , 低速クロックとして使用すること
を想定したものです。
メイン , サブそれぞれのクロックは , それぞれ独立に制御可能な内蔵メイン PLL を用
いて逓倍されます。
内部ベースクロックは , 以下のソースクロックのうちから選択して生成します。
• メインクロックを 2 分周したもの
• メインクロックをメイン PLL で逓倍したもの
• サブクロックそのもの
• φ はソースクロックを 2 分周または , PLL 発振させた基本クロックを指します。し
たがって , システムベースクロックは , 上記の内部ベースクロック発生のところで ,
生成されるクロックです。
ソースクロックの選択制御は , CLKR ( クロックソース制御レジスタ ) の設定によって
行います。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
73
第 2 章 CPU および制御部
2.9 クロック生成制御
2.9.1
MB91313A シリーズ
PLL 制御
メインクロックに対応した PLL 発振回路について , 動作 ( 発振 ) 許可・禁止と逓倍
率設定を制御することが可能です。
各制御は , CLKR ( クロックソース制御レジスタ ) の設定によって行います。
ここでは , 各制御内容について説明します。
■ PLL 動作許可
メイン PLL 発振動作の許可 / 停止は , CLKR ( クロックソース制御レジスタ ) の
bit10:PLL1EN ビットの設定によって行います。
サブクロック発振動作の許可 / 停止は , CLKR ( クロックソース制御レジスタ ) の
bit11:PLL2EN ビットの設定によって行います。
PLL1EN, PLL2EN ビットとも , 設定初期化リセット (INIT) 後は "0" に初期化され , PLL
の発振動作は停止しています。停止中は , ソースクロックとして PLL 出力を選択する
ことはできません。
プログラム動作を開始したら , まずクロックソースとして使用する PLL の逓倍率を設
定し , かつ動作許可した後 , PLL のロック待ち時間経過後にソースクロックを切り換え
てください。この際の PLL ロック待ち時間は , タイムベースタイマ割込みを使用する
ことをお奨めします。
ソースクロックとして PLL 出力を選択している間は , その PLL は動作停止させること
はできません ( レジスタへの書込みは無効となります ) 。ストップモードに移行する際
などで PLL を停止させたい場合は , いったんソースクロックをメインクロックの 2 分
周したものに選択し直した後 , PLL を停止させてください。
なお , STCR ( スタンバイ制御レジスタ ) の bit0:OSCD1 ビットや bit1:OSCD2 ビットに
より , ストップモード中の発振が停止するように設定してある場合 , 対応する PLL は
ストップモード遷移時に自動的に停止しますので , 動作停止を改めて設定する必要は
ありません。その後 , ストップモードから復帰する際 , PLL は自動的に発振動作を開始
します。ストップモード中の発振が停止しないように設定してある場合は , PLL は自
動では停止しません。この場合は , 必要であればストップモード移行前にあらかじめ動
作停止を設定してください。
74
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 2 章 CPU および制御部
2.9 クロック生成制御
■ PLL 逓倍率
メイン PLL の逓倍率は , CLKR ( クロックソース制御レジスタ ) の bit14 ∼ bit12:PLL1S2,
PLL1S1, PLL1S0 ビットによって設定します。
どちらのビットも設定初期化リセット (INIT) 後は全ビット "0" に初期化されています。
[PLL 逓倍率設定 ]
PLL 逓倍率設定を初期値から変更する場合 , プログラム動作開始後 , PLL を動作許
可する前または同時に設定してください。逓倍率変更後は , ロック待ち時間経過後
にソースクロックを切り換えてください。この際の PLL ロック待ち時間は , タイム
ベースタイマ割込みを使用することをお奨めします。
動作中に PLL 逓倍率設定を変更する場合 , いったんソースクロックを該当 PLL 以外
に切り換えてから変更してください。逓倍率変更後は , 上記同様にロック待ち時間
経過後にソースクロックを切り換えてください。
PLL 逓倍率設定の変更を , PLL 使用中に変更することも可能ですが , この際は逓倍
率設定書換え後から自動的に発振安定待ち状態に遷移し , 設定された発振安定待ち
時間が経過するまでの間はプログラム動作が停止します。PLL 以外にクロックソー
スを切り換えた場合は , プログラム動作は停止しません。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
75
第 2 章 CPU および制御部
2.9 クロック生成制御
2.9.2
MB91313A シリーズ
発振安定待ち /PLL ロック待ち時間
ソースクロックとして選択するクロックが安定動作状態にない場合 , 発振安定待ち
時間が必要となります (「2.8.4 発振安定待ち時間」を参照 ) 。
PLL については , 動作開始後 , 設定された周波数に出力が安定するまでにはロック待
ち時間が必要となります。
ここでは , 各種ケースにおける待ち時間について説明します。
■ 電源投入後の待ち時間
電源投入後は , INITX 端子入力 ( 設定初期化リセット端子 ) へ "L" レベルを入力する必
要があります。この状態では , PLL はいずれも動作許可されていないため , ロック待ち
時間を考慮する必要がありません。
■ 設定初期化後の待ち時間
設定初期化リセット (INIT) が解除されると , 発振安定待ち状態へ遷移します。設定さ
れた発振安定待ち時間は内部的に発生します。
この状態では , PLL はいずれも動作許可されていないため , ロック待ち時間を考慮する
必要がありません。
■ PLL 動作許可後の待ち時間
プログラム動作開始後 , 停止状態の PLL を動作許可した場合 , ロック待ち時間が経過
するまで PLL 出力を使用しないでください。
ソースクロックとして該当する PLL を選択していなければ , ロック待ち時間中もプロ
グラム動作は実行可能です。
PLL ロック待ち時間は , タイムベースタイマ割込みを使用することをお奨めします。
■ PLL 逓倍率変更後の待ち時間
プログラム動作開始後 , 動作状態の PLL の逓倍率設定を変更した場合も , ロック待ち
時間が経過するまで PLL 出力を使用しないでください。
ソースクロックとして該当する PLL を選択していなければ , ロック待ち時間中もプロ
グラム動作は実行可能です。
PLL ロック待ち時間に , タイムベースタイマ割込みを使用できます。
76
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 2 章 CPU および制御部
2.9 クロック生成制御
■ ストップモード復帰後の待ち時間
プログラム動作開始後 , ストップモード遷移を解除する場合 , プログラムにて設定され
た時間の発振安定待ち時間を内部的に発生します。
ストップモード中に , ソースクロックとして選択しているクロック用発振回路を停止
させる設定の場合 , その発振回路の発振安定待ち時間と使用している PLL のロック待
ち時間のうち長い方の時間が必要となります。ストップモードに遷移させる前に , あら
かじめ発振安定待ち時間を設定しておいてください。
ストップモード中に , ソースクロックとして選択しているクロック用発振回路を停止
させない設定の場合 , PLL は自動で動作停止しません。したがって , PLL を停止させな
い限り発振安定待ち時間は必要ありません。ストップモードに遷移させる前に , あらか
じめ発振安定待ち時間を最小値に設定しておくことをお奨めします。
■ サブクロックからメインクロック切換え後の待ち時間
サブクロックからメインクロックに切り換えた後に PLL を使用する場合 , CLKR ( ク
ロックソースレジスタ ) の bit2-PLL1EN の値にかかわらず , ロック待ち時間が経過する
まで PLL 出力を使用しないでください。
ソースクロックとして該当する PLL を選択していなければ , ロック待ち時間中もプロ
グラム動作は実行可能です。
PLL ロック待ち時間は , タイムベースタイマ割込みを使用することをお奨めします。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
77
第 2 章 CPU および制御部
2.9 クロック生成制御
2.9.3
MB91313A シリーズ
クロック分配
ソースクロックより生成されたベースクロックを元に , 各機能用の動作クロックを
それぞれ作成します。
内部動作クロックは全部で 3 種類あり , それぞれが独立に分周比を設定することが
できます。
■ CPU クロック (CLKB)
CPU と内部メモリおよび内部バスに使用されるクロックです。
本クロックを使用する回路には , 以下のようなものがあります。
• CPU
• 内蔵 RAM, 内蔵 ROM
• ビットサーチモジュール
• I-bus, D-bus, X-bus, F-bus
• DMA コントローラ
• DSU
動作可能な上限周波数は 33MHz ですので , これを超える周波数になる逓倍率と分周比
の組合せは設定しないでください。
■ 周辺クロック (CLKP)
周辺回路およびペリフェラルバスに使用されるクロックです。
本クロックを使用する回路には , 以下のようなものがあります。
• ペリフェラル ( 周辺 ) バス
• クロック制御部 ( バスインタフェース部のみ )
• 割込みコントローラ
• 周辺 I/O ポート
• I/O ポートバス
• 外部割込み入力
• UART
• 16 ビットタイマ
• A/D コンバータ
• フリーランタイマ
• リロードタイマ
• アップダウンカウンタ
• インプットキャプチャ
• アウトプットコンペア
• I2C インタフェース
• PPG
動作可能な上限周波数は 33MHz ですので , これを超える周波数になる逓倍率と分周比
の組合せは設定しないでください。
78
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 2 章 CPU および制御部
2.9 クロック生成制御
■ 外部バスクロック (CLKT)
外部拡張バスインタフェースに使用されるクロックです。
本クロックを使用する回路には , 以下のようなものがあります。
• 外部拡張バスインタフェース
• 外部 CLK 出力
動作可能な上限周波数は 16.5MHz ですので , これを超える周波数になる逓倍率と分周
比の組合せは設定しないでください。
<注意事項>
CPU の処理能力はウェイトレジスタ (FLWC) の設定にも影響を受けます。必ず本レジス
タの設定を最適な値にしてご利用ください。「18.2.2 ウェイトレジスタ (FLWC)」もご参
照ください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
79
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
クロック分周
2.9.4
各内部動作クロックは , それぞれ独立に , ベースクロックからの分周比を設定するこ
とができます。この機能により , 各回路に最適な動作周波数を設定することができ
ます。
■ 分周比の設定
分周比は , DIVR0 ( 基本クロック分周設定レジスタ 0) および DIVR1 ( 基本クロック分
周設定レジスタ 1) にて設定します。
各レジスタには各クロックに対応する 4 ビットずつの設定ビットがあり , ( レジスタ設
定値+ 1) がそのクロックのベースクロックに対する分周比となります。分周比設定が
奇数であっても , 常にデューティは 50 となります。
設定値の変更があった場合 , 次のクロックの立上りから変更後の分周比が有効となり
ます。
■ 分周比設定の初期化
分周比設定は , 動作初期化リセット (RST) の発生では初期化されず , リセット発生前の
設定が維持されます。設定初期化リセット (INIT) の発生によってのみ初期化されます。
初期状態では , 周辺クロック (CLKP) 以外はすべて分周比が "1" となりますので , ソー
スクロックを高速なものに変更する前に必ず分周比の設定を行ってください。
<注意事項>
各クロックには動作可能な上限周波数が規定されています。ソースクロックの選択 , PLL
の逓倍率の設定 , 分周比の設定の組合せで , 上限周波数を超える設定をした場合 , 動作は
保証されません。特に , ソースクロック選択の変更設定との順序を間違えないようにご注
意願います。
80
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
クロック生成制御部のブロックダイヤグラム
2.9.5
図 2.9-1 に , クロック生成制御部のブロックダイヤグラムを示します。
図中のレジスタの詳細な説明は , 「2.9.6 クロック生成制御部のレジスタ」を参照し
てください。
■ クロック生成制御部のブロックダイヤグラム
図 2.9-1 クロック生成制御部のブロックダイヤグラム
[クロック生成部]
CPUクロック分周
周辺クロック分周
b
u
s
セレクタ
メインクロック
発振安定待ち
タイマ
(サブクロック
選択時用)
セレクタ
R
外部バスクロック分周
停止制御
セレクタ
DIVR0,1レジスタ
CPUクロック
(CLKB)
周辺クロック
(CLKP)
外部バスクロック
(CLKT )
CLKRレジスタ
X0
X1
セレクタ
発振回路
PLL
X0A
発振回路
X1A
リアルタイムクロック
1/2
ベースクロック
(φ)
[ストップ・スリープ制御部]
時計
タイマ
ストップ状態
STGRレジスタ
内部割込み
状態遷移
制御回路
内部リセット
スリープ状態
リセット発生
FF
リセット発生
FF
内部リセット(RST)
内部リセット(INIT)
[リセット要因回路]
INITX
RSRRレジスタ
[ ウォッチドッグ制御部]
WPRレジスタ
ウォッチドッグFF
CTBRレジスタ
タイムベースカウンタ
カウンタクロック
セレクタ
TBCRレジスタ
オーバフロー検出FF
割込み許可
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
タイムベースタイマ
割込み要求
81
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
クロック生成制御部のレジスタ
2.9.6
クロック生成制御部のレジスタについて説明します。
■ RSRR : リセット要因レジスタ / ウォッチドッグタイマ制御レジスタ
リセット要因レジスタおよびウォッチドッグタイマ制御レジスタのレジスタ構成は ,
以下のとおりです。
RSRR
bit
アドレス : 000480H
初期値 (INITX 端子 )
初期値 (INIT)
初期値 (RST)
15
14
13
12
11
10
9
8
INIT
(R)
1
*
X
予約
(R)
0
*
X
WDOG
(R)
0
*
X
予約
(R)
0
X
*
SRST
(R)
0
X
*
予約
(R)
0
*
X
WT1
(R/W)
0
0
0
WT0
(R/W)
0
0
0
*
:要因により初期化されます。
R/W:リード / ライト可能
R :リードオンリ
X :不定値
直前に発生したリセットの要因の保持 , およびウォッチドッグタイマの周期設定およ
び起動制御を行うレジスタです。
本レジスタを読むと , 保持されたリセット要因は読出し後にクリアされます。読み出す
までの間に複数回のリセットが発生した場合 , リセット要因フラグは累積され , 複数の
フラグがセットされることになります。
本レジスタに書き込むと , ウォッチドッグタイマが起動されます。それ以降は , リセッ
ト (RST) が発生するまで , ウォッチドッグタイマは動作を続けます。
[bit15] INIT : 外部リセット発生フラグ
INITX 端子入力によるリセット (INIT) の発生の有無を示します。
値
内容
0
INITX 端子入力による INIT は発生していません。
1
INITX 端子入力による INIT が発生しました。
• 読出し直後に "0" にクリアされます。
• 読出し可能で , 書込みはビット値に影響を与えません。
[bit14] 予約 : 予約ビット
予約ビットです。
82
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
[bit13] WDOG : ウォッチドッグリセット発生フラグ
ウォッチドッグタイマによるリセット (INIT) の発生の有無を示します。
値
内容
0
ウォッチドッグタイマによる INIT は発生していません。
1
ウォッチドッグタイマによる INIT が発生しました。
• 電源投入時の INITX 端子入力によるリセット (INIT), または読出し直後に "0" に
クリアされます。
• 読出し可能で , 書込みはビット値に影響を与えません。
[bit12] 予約 : 予約ビット
予約ビットです。
[bit11] SRST : ソフトウェアリセット発生フラグ
STCRレジスタのSRSTビット書込み (ソフトウェアリセット) によるリセット(RST)
の発生の有無を示します。
値
内容
0
ソフトウェアリセットによる RST は発生していません。
1
ソフトウェアリセットによる RST が発生しました。
• 電源投入時の INITX 端子入力によるリセット (INIT), または読出し直後に "0" に
クリアされます。
• 読出し可能で , 書込みはビット値に影響を与えません。
• 同期モードのソフトウェアリセットを使用する場合 , TBCR ( タイムベースカウ
ンタ制御レジスタ ) の bit9: SYNCR ビットの制限事項を参照してください。
[bit10] 予約 : 予約ビット
予約ビットです。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
83
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
[bit9, bit8] WT1, WT0 : ウォッチドッグタイマインターバル時間選択ビット
ウォッチドッグタイマの周期を設定します。
本ビットに書き込む値により , ウォッチドッグタイマの周期を下表に示す 4 種類の
うちから選択します。
WPR への最終 5AH 書込み
ウォッチドッグリセットの
発生を抑止するために最低限
必要な WPR への書込み間隔
WT1
WT0
0
0
φ × 220 ( 初期値 )
φ × 220 ∼ φ × 221
0
1
φ × 222
φ × 222 ∼ φ × 223
1
0
φ × 224
φ × 224 ∼ φ × 225
1
1
φ × 226
φ × 226 ∼ φ × 227
からウォッチドッグリセット
が発生するまでの時間
(φ はシステムベースクロックの周期 )
• リセット (RST) により "00B" に初期化されます。
• 読出し可能です。書込みはリセット (RST) 後 1 回のみ有効で , それ以降の書込み
は無効です。
84
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
■ STCR : スタンバイ制御レジスタ
スタンバイ制御レジスタのレジスタ構成は , 以下のとおりです。
STCR
bit
7
アドレス : 000481H
6
STOP SLEEP
5
4
3
2
HIZ
SRST
OS1
OS0
1
0
OSCD2 OSCD1
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値 (INITX 端子 )
0
0
1
1
0
0
1
1
初期値 (INIT)
0
0
1
1
X
X
1
1
初期値 (RST)
0
0
X
1
X
X
X
X
R/W:リード / ライト可能
デバイスの動作モードを制御するレジスタです。
ストップ , スリープの 2 つのスタンバイモードへの遷移 , ストップモード中の端子およ
び発振停止制御を行うほか , 発振安定待ち時間の設定 , ソフトウェアリセットの発行を
行います。
<注意事項>
スタンバイモードに入れる場合は , 同期スタンバイモード (TBCR: タイムベースカウンタ
制御レジスタの bit8 SYNCS ビットにて設定します ) を使用した上で , 以下のシーケンス
を必ず使用してください。
(LDI#value_of_standby,R0) ;value_of_standby は , STCR への書込みデータ
(LDI#_STCR,R12)
;_STCR は , STCR のアドレス (481H)
STB
;スタンバイ制御レジスタ (STCR) への書込み
R0,@R12
LDUB @R12,R0
;同期スタンバイのための STCR 読出し
LDUB @R12,R0
;もう一度 STCR をダミーリード
NOP
; タイミング調整用の NOP × 5
NOP
NOP
NOP
NOP
[bit7] STOP : STOP モードビット
ストップモードへの遷移を指示します。bit6:SLEEP ビットと本ビット両方に "1" を
書き込んだ場合は , 本ビットの方が優先となり , ストップモードへ遷移します。
値
内容
0
ストップモードへの遷移は行いません [ 初期値 ] 。
1
ストップモードへ遷移します。
• リセット (RST) およびストップ復帰要因により "0" に初期化されます。
• 読出しおよび書込みが可能です。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
85
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
[bit6] SLEEP : SLEEP モードビット
スリープモードへの遷移を指示します。bit7:STOP ビットと本ビット両方に "1" を書
き込んだ場合は, bit7:STOPビットの方が優先となり, ストップモードへ遷移します。
値
内容
0
スリープモードへの遷移は行いません [ 初期値 ] 。
1
スリープモードへ遷移します。
• リセット (RST) およびスリープ復帰要因により "0" に初期化されます。
• 読出しおよび書込みが可能です。
[bit5] HIZ : Hi-Z モードビット
ストップモード時の端子状態を制御します。
値
内容
0
ストップモード遷移前の端子状態を維持します。
1
ストップモード中は端子出力をハイインピーダンス状態にします
[ 初期値 ] 。
• リセット (INIT) により "1" に初期化されます。
• 読出しおよび書込みが可能です。
[bit4] SRST : ソフトウェアリセットビット
ソフトウェアリセット (RST) の発行を指示します。
値
内容
0
ソフトウェアリセットを発行します。
1
ソフトウェアリセットの発行は行いません [ 初期値 ] 。
• リセット (RST) により "1" に初期化されます。
• 読出しおよび書込みが可能です。読出し値は , 常に "1" となります。
• 同期モードのソフトウェアリセットを使用する場合 , TBCR ( タイムベースカウ
ンタ制御レジスタ ) の bit9: SYNCR ビットの制限事項を参照してください。
86
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
[bit3, bit2] OS1, OS0 : 発振安定待ち時間選択ビット
リセット (INIT) 後 , およびストップモード復帰後などにおける発振安定待ち時間を
設定します。
本ビットに書き込む値により , 発振安定待ち時間を下表に示す 4 種類のうちから選
択します。
OS1
OS0
発振安定待ち時間
0
0
φ × 21 [ 初期値 ]
0.242μs
125μs
0
1
φ × 211
0.248ms
128ms
1
0
φ × 216
7.94ms
4s
1
1
φ × 222
508ms
262s
原発振 16.5MHz の場合
サブ 32kHz の場合
φ はシステムベースクロックの周期 , この場合は原発振入力の 2 倍の周期
• INITX 端子入力によるリセット (INIT) により "00B" に初期化されます。
• 読出しおよび書込みが可能です。
[bit1] OSCD2 : サブ発振停止ビット
ストップモード時での , サブ発振の発振停止を制御します。
値
内容
0
ストップモード中もサブ発振は停止しません。
1
ストップモード中はサブ発振を停止します [ 初期値 ] 。
• リセット (INIT) により "1" に初期化されます。
• 読出しおよび書込みが可能です。
[bit0] OSCD1 : メイン発振停止ビット
ストップモード時での , メイン発振の発振停止を制御します。
値
内容
0
ストップモード中もメイン発振は停止しません。
1
ストップモード中はメイン発振を停止します [ 初期値 ] 。
• リセット (INIT) により "1" に初期化されます。
• 読出しおよび書込みが可能です。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
87
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
■ TBCR : タイムベースカウンタ制御レジスタ
タイムベースカウンタ制御レジスタのレジスタ構成は , 以下のとおりです。
TBCR
bit
15
14
13
12
11
10
初期値 (INIT)
TBIF
R/W
0
TBIE
R/W
0
TBC2
R/W
X
TBC1
R/W
X
TBC0
R/W
X
予約
R/W
X
初期値 (RST)
0
0
X
X
X
X
アドレス : 000482H
9
8
SYNCR SYNCS
R/W
R/W
0
0
X
X
R/W:リード / ライト可能
タイムベースタイマ割込みなどを制御するレジスタです。
タイムベースタイマ割込みの許可 , 割込みインターバル時間の選択 , およびリセット動
作のオプション機能の設定を行います。
[bit15] TBIF : タイムベースタイマ割込みフラグ
タイムベースタイマ割込みフラグです。
タイムベースカウンタが設定されたインターバル時間 (bit13∼bit11: TBC2∼TBC0
ビットにて設定 ) を経過したことを示します。
bit14:TBIE ビットにより割込み発生が許可 (TBIE=1) されているときに , 本ビットが
"1" になると , タイムベースタイマ割込み要求が発生します。
クリア要因
命令による "0" の書込み
セット要因
設定されたインターバル時間の経過
( タイムベースカウンタ出力の立下りエッジ検出 )
• リセット (RST) により "0" に初期化されます。
• 読出しおよび書込み可能です。ただし , 書込みは "0" のみ可能で , "1" を書き込ん
でもビット値は変化しません。
• リードモディファイライト (RMW) 系命令での読出し値は , 常に "1" となります。
[bit14] TBIE : タイムベースタイマ割込み許可ビット
タイムベースタイマ割込み要求出力許可ビットです。
タイムベースカウンタのインターバル時間経過による割込み要求出力を制御しま
す。本ビットが "1" のときに , bit15:TBIF ビットが "1" になると , タイムベースタイ
マ割込み要求が発生します。
値
内容
0
タイムベースタイマ割込み要求出力禁止 [ 初期値 ]
1
タイムベースタイマ割込み要求出力許可
• リセット (RST) により "0" に初期化されます。
• 読出しおよび書込みが可能です。
88
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
[bit13 ∼ bit11] TBC2, TBC1, TBC0 : タイムベースタイマカウンタ選択ビット
タイムベースタイマで使用するタイムベースカウンタのインターバル時間を設定
します。
本ビットに書き込む値により , インターバル時間を下表に示す 8 種類のうちから選
択します。
TBC2 TBC1 TBC0
原発振 16.5MHz かつ
タイマ
インターバル時間 PLL が 2 逓倍の場合
サブクロック
32kHz の場合
0
0
0
φ × 211
62.1μs
61.4ms
0
0
1
φ × 212
124.1μs
123ms
0
1
0
φ × 213
248.2μs
246ms
0
1
1
φ × 222
127ms
126s
1
0
0
φ × 223
254ms
256s
1
0
1
φ × 224
508ms
512s
1
1
0
φ × 225
1017ms
1024s
1
1
1
φ × 226
2034ms
2048s
φ はシステムベースクロックの周期
• 初期値は不定です。割込みを許可する前に必ず値を設定してください。
• 読出しおよび書込みが可能です。
[bit10] 予約 : 予約ビット
予約ビットです。読出し値は不定で , 書込みは動作に影響を与えません。
[bit9] SYNCR : 同期リセットイネーブルビット
同期リセット動作許可ビットです。
動作初期化リセット (RST) 要求が発生した際に , 即座にリセット (RST) を行う通常
リセット動作を行うか , すべてのバスアクセスが停止してから動作初期化リセット
(RST) を行う同期リセット動作を行うかを選択します。
値
内容
0
通常リセット動作 [ 初期値 ]
1
同期リセット動作
• リセット (INIT) により "0" に初期化されます。
• 読出しおよび書込みが可能です。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
89
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
<注意事項>
同期モードのソフトウェアリセットを使用するときは , STCR ( スタンバイ制御レジスタ )
の SRST ビットに "0" を設定する前に , 以下 2 つの条件を満たしてください。
• 割込み許可フラグ (I-Flag) を割込み禁止 (I-Flag=0) に設定する。
• NMI を使用しない。
[bit8] SYNCS : 同期スタンバイ許可ビット
同期スタンバイ動作許可ビットです。
スタンバイ要求 ( スリープモード要求またはストップモード要求 ) を発生する際 ,
STCR レジスタの制御ビットへの書込みのみでスタンバイ遷移を行う通常スタンバ
イ動作を行うか , STCR レジスタの制御ビットへの書込み後に STCR レジスタを読
み出すことでスタンバイ遷移を行う同期スタンバイ動作を行うかを選択します。
値
内容
0
通常スタンバイ動作 [ 初期値 ]
1
同期スタンバイ動作
• リセット (INIT) により "0" に初期化されます。
• 読出しおよび書込みが可能です。
<注意事項>
スタンバイモードに遷移するには , 必ず "1" を設定し , 同期スタンバイ動作としてくださ
い。
90
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
■ CTBR : タイムベースカウンタクリアレジスタ
タイムベースカウンタクリアレジスタのレジスタ構成は , 以下のとおりです。
CTBR
bit
アドレス : 000483H
初期値
7
6
5
4
3
2
1
0
D7
(W)
X
D6
(W)
X
D5
(W)
X
D4
(W)
X
D3
(W)
X
D2
(W)
X
D1
(W)
X
D0
(W)
X
W:ライトオンリ
タイムベースカウンタを初期化するためのレジスタです。
本レジスタに連続して "A5H", "5AH" を書き込むと , "5AH" 書込みの直後にタイムベー
スカウンタを全ビット "0" にクリアします。"A5H" 書込みと "5AH" 書込みの間の時間
制限はありませんが, "A5H"書込みの後に"5AH"以外のデータを書き込むと, 再度"A5H"
を書き込まないと "5AH" を書き込んでもクリア動作は行いません。
本レジスタの読出し値は不定です。
<注意事項>
本レジスタを使用してタイムベースカウンタをクリアすると , 発振安定待ち間隔 , ウォッ
チドッグタイマ周期 , およびタイムベースタイマの周期が一時的に変動します。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
91
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
■ CLKR : クロックソース制御レジスタ
クロックソース制御レジスタのレジスタ構成は , 以下のとおりです。
CLKR
bit
15
アドレス : 000484H
初期値 (INIT)
初期値 (RST)
R/W:リード / ライト可能
14
13
12
11
10
9
8
予約 PLL1S2 PLL1S1 PLL1S0 PLL2EN PLL1EN CLKS1 CLKS0
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
0
0
0
0
0
0
0
0
X
X
X
X
X
X
X
X
システムのベースクロックとするクロックソースの選択や PLL の制御を行うレジスタ
です。
本レジスタにてクロックソースを 3 種類のうちから選択します。また , メイン・サブ 2
系統の PLL それぞれの動作許可および逓倍率の選択を制御します。
[bit15] 予約 : 予約ビット
予約ビットです。必ず "0" を設定してください。
[bit14 ∼ bit12] PLL1S2, PLL1S1, PLL1S0 : PLL 逓倍率選択ビット
メイン PLL の逓倍率選択ビットです。
メイン PLL の逓倍率を , 8 種類のうちから選択します。
本ビットは , クロックソースとしてメイン PLL を選択している間は書き換えないで
ください。
動作可能な上限周波数は 33MHz ですので , これを超える設定をしないでください。
リセット (INIT) により "000B" に初期化されます。
メイン PLL
逓倍率
PLL1S2
PLL1S1
PLL1S0
0
0
0
× 1 ( 等倍 )
φ = 60.6ns(16.5MHz)
0
0
1
× 2 (2 逓倍 )
φ = 30.3ns(33MHz)
0
1
0
× 3 (3 逓倍 )
φ = 20.2ns(49.5MHz)
0
1
1
× 4 (4 逓倍 )
設定禁止
1
0
0
× 5 (5 逓倍 )
設定禁止
1
0
1
× 6 (6 逓倍 )
設定禁止
1
1
0
× 7 (7 逓倍 )
設定禁止
1
1
1
× 8 (8 逓倍 )
設定禁止
原発振 16.5[MHz] の場合
φ はシステムベースクロックの周期
読出しおよび書込みが可能です。
92
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
[bit11] PLL2EN : サブクロック選択許可ビット
サブクロックの選択許可ビットです。
本ビットは , クロックソースとしてサブクロックを選択している間は書き換えない
でください。また , 本ビットが "0" の間はクロックソースとしてサブクロックを選
択しないでください (bit9, bit8: CLKS1, CLKS0 ビットの設定による ) 。
STCR の bit1:OSCD2 が "1" であると , ストップモード中は本ビットが "1" であって
もサブクロックは停止します。ストップモードからの復帰後は動作許可に戻りま
す。
値
内容
0
サブクロック選択禁止 [ 初期値 ]
1
サブクロック選択許可
• リセット (INIT) により "0" に初期化されます。
• 読出しおよび書込みが可能です。
[bit10] PLL1EN : メイン PLL イネーブルビット
メイン PLL の動作許可ビットです。
本ビットは , クロックソースとしてメイン PLL を選択している間は書換えをしない
でください。また , 本ビットが "0" の間はクロックソースとしてメイン PLL を選択
しないでください (bit9, bit8:CLKS1, CLKS0 ビットの設定による ) 。
STCR の bit0:OSCD1 が "1" であると , ストップモード中は本ビットが "1" であって
もメイン PLL は停止します。ストップモードからの復帰後は動作許可に戻ります。
値
内容
0
メイン PLL 停止 [ 初期値 ]
1
メイン PLL 動作許可
• リセット (INIT) により "0" に初期化されます。
• 読出しおよび書込みが可能です。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
93
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
[bit9, bit8] CLKS1, CLKS0 : クロックソース選択ビット
使用するクロックソースを設定します。
本ビットに書き込む値により , クロックソースを下表に示す 3 種類のうちから選択
します。
なお , bit9:CLKS1 が "1" の間は bit8:CLKS0 の値を変更することができません。
変更不可能な組合せ
変更可能な組合せ
"00B" → "11B"
"00B" → "01B" または "10B"
"01B" → "10B"
"01B" → "11B" または "00B"
"10B" → "01B" または "11B"
"10B" → "00B"
"11B" → "00B" または "10B"
"11B" → "01B"
このため , INIT 後の状態からサブクロック選択に切り換える場合は , まず "01B" を
書き込んだ後に , "11B" を書き込むようにしてください。
CLKS1
CLKS0
0
0
X0/X1 からの原発振入力の 2 分周 [ 初期値 ]
0
1
X0/X1 からの原発振入力の 2 分周
1
0
メイン PLL
1
1
サブクロック
クロックソース設定
• リセット (INIT) により "00B" に初期化されます。
• 読出しおよび書込みが可能です。
94
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
■ WPR : ウォッチドッグリセット発生延期レジスタ
ウォッチドッグリセット発生延期レジスタのレジスタ構成は , 以下のとおりです。
WPR
bit
アドレス : 000485H
初期値
7
6
5
4
3
2
1
0
D7
(W)
X
D6
(W)
X
D5
(W)
X
D4
(W)
X
D3
(W)
X
D2
(W)
X
D1
(W)
X
D0
(W)
X
W:ライトオンリ
ウォッチドッグリセットの発生を延期するためのレジスタです。
本レジスタに連続して "A5H", "5AH" を書き込むと , "5AH" 書込みの直後にウォッチドッ
グタイマの検出用フリップフロップをクリアし , ウォッチドッグリセットの発生を延
期します。
"A5H"書込みと"5AH"書込みの間の時間制限はありませんが, "A5H"書込みの後に"5AH"
以外のデータを書き込んだ場合 , 再度 "A5H" を書き込まないと "5AH" を書き込んでも
クリア動作は行いません。
表 2.9-1 に , ウォッチドッグリセット発生に関する時間間隔と RSRR レジスタの値の関
係を示します。
この期間内に両データの書込みを終えないとウォッチドッグリセットを発生します。
ウォッチドッグリセット発生までの時間や発生抑止のために必要な書込み間隔は ,
RSRR レジスタの WT1 (bit9) , WT0 (bit8) の状態によって変化します。
表 2.9-1 ウォッチドッグリセット発生に関する時間間隔
RSRR のウォッチドッグリセッ
トの発生を抑止するために最低
限必要な WPR への書込み間隔
WPR への最終 5AH 書込みから
WT1
WT0
0
0
φ × 220 [ 初期値 ]
φ × 220 ∼ φ × 221
0
1
φ × 222
φ × 222 ∼ φ × 223
1
0
φ × 224
φ × 224 ∼ φ × 225
1
1
φ × 226
φ × 226 ∼ φ × 227
ウォッチドッグリセットが発生
するまでの時間
φはシステムベースクロックの周期, WT1, WT0はRSRRのbit9, bit8でウォッチドッグ
タイマ周期設定
ストップ , スリープ , DMA 転送中など , CPU が動作していない間は自動的にクリアを
行いますので , これらの条件が発生すると , ウォッチドッグリセットは自動的に延期さ
れます。ただし , 外部バスのホールド要求 (BRQ) が受け付けられている場合 , ウォッチ
ドッグリセットは延期されませんので , 長期間外部バスをホールドする場合はスリー
プモードにしてからホールド要求 (BRQ) を入力してください。
本レジスタの読出し値は不定です。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
95
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
■ DIVR0 : 基本クロック分周設定レジスタ 0
基本クロック分周設定レジスタ 0 のレジスタ構成は , 以下のとおりです。
DIVR0
bit
アドレス : 000486H
初期値 (INIT)
初期値 (RST)
R/W:リード / ライト可能
15
14
13
12
11
10
9
8
B3
(R/W)
0
X
B2
(R/W)
0
X
B1
(R/W)
0
X
B0
(R/W)
0
X
P3
(R/W)
0
X
P2
(R/W)
0
X
P1
(R/W)
1
X
P0
(R/W)
1
X
各内部クロックのベースクロックに対する分周比を制御するレジスタです。
本レジスタでは , CPU および内部バスのクロック (CLKB), 周辺回路 , およびペリフェ
ラルバスクロック (CLKP) の分周比の設定を行います。
<注意事項>
各クロックには動作可能な上限周波数が規定されています。ソースクロックの選択 , PLL
の逓倍率の設定 , 分周比の設定の組合せで , 上限周波数を超える設定をした場合 , 動作は
保証されません。特にソースクロック選択の変更設定との順序を間違えないようにご注意
ください。
本レジスタの設定の変更があった場合 , 設定後次のクロックレートから変更後の分周
比が有効となります。
96
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
[bit15 ∼ bit12] B3, B2, B1, B0 : CLKB 分周選択ビット
CPU クロック (CLKB) 分周比設定ビットです。CPU と内部メモリおよび内部バスの
クロック分周比を設定します。
本ビットに書き込む値により , CPU および内部バスのクロックのベースクロックに
対する分周比 ( クロック周波数 ) を下表に示す 16 種類のうちから選択します。
動作可能な上限周波数は 33MHzですので , これを超える周波数になる分周比は設定
しないでください。
クロック周波数 : 原発振 16.5MHz
および PLL2 逓倍の場合
B3
B2
B1
B0
0
0
0
0
φ
0
0
0
1
φ × 2 (2 分周 )
16.5 MHz
0
0
1
0
φ × 3 (3 分周 )
11 MHz
0
0
1
1
φ × 4 (4 分周 )
8.25 MHz
0
1
0
0
φ × 5 (5 分周 )
6.6 MHz
0
1
0
1
φ × 6 (6 分周 )
5.5 MHz
0
1
1
0
φ × 7 (7 分周 )
4.71 MHz
0
1
1
1
φ × 8 (8 分周 )
4.13 MHz
…
…
…
…
…
…
1
1
1
1
φ × 16 (16 分周 )
2.06 MHz
クロック分周比
33.0 MHz [ 初期値 ]
φ はシステムベースクロックの周期
• リセット (INIT) により "0000B" に初期化されます。
• 読出しおよび書込みが可能です。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
97
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
[bit11 ∼ bit8] P3, P2, P1, P0 : CLKP 分周選択ビット
周辺クロック (CLKP) 分周比設定ビットです。
周辺回路およびペリフェラルバスのクロック分周比を設定します。
本ビットに書き込む値により , 周辺回路およびペリフェラルバスのクロックのベー
スクロックに対する分周比 ( クロック周波数 ) を下表に示す 16 種類のうちから選択
します。
動作可能な上限周波数は 33MHzですので , これを超える周波数になる分周比は設定
しないでください。
クロック周波数 : 原発振 16.5MHz
および PLL2 逓倍の場合
P3
P2
P1
P0
0
0
0
0
φ
33.0 MHz
0
0
0
1
φ × 2 (2 分周 )
16.5 MHz
0
0
1
0
φ × 3 (3 分周 )
11 MHz
0
0
1
1
φ × 4 (4 分周 )
0
1
0
0
φ × 5 (5 分周 )
6.6 MHz
0
1
0
1
φ × 6 (6 分周 )
5.5 MHz
0
1
1
0
φ × 7 (7 分周 )
4.71 MHz
0
1
1
1
φ × 8 (8 分周 )
4.13 MHz
…
…
…
…
…
…
1
1
1
1
φ × 16 (16 分周 )
2.06 MHz
クロック分周比
8.25 MHz [ 初期値 ]
φ はシステムベースクロックの周期
• リセット (INIT) により "0011B" に初期化されます。
• 読出しおよび書込みが可能です。
98
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
■ DIVR1 : 基本クロック分周設定レジスタ 1
基本クロック分周設定レジスタ 1 のレジスタ構成は , 以下のとおりです。
DIVR1
bit
アドレス : 000487H
初期値 (INIT)
初期値 (RST)
R/W:リード / ライト可能
7
6
5
4
3
2
1
0
T3
(R/W)
0
X
T2
(R/W)
0
X
T1
(R/W)
0
X
T0
(R/W)
0
X
予約
(R/W)
0
X
予約
(R/W)
0
X
予約
(R/W)
0
X
予約
(R/W)
0
X
各内部クロックのベースクロックに対する分周比を制御するレジスタです。
本レジスタでは , 外部拡張バスインタフェースのクロック (CLKT) の分周比の設定を行
います。
<注意事項>
各クロックには動作可能な上限周波数が規定されています。ソースクロックの選択 , PLL
の逓倍率の設定 , 分周比の設定の組合せで , 上限周波数を超える設定をした場合 , 動作は
保証されません。特に , ソースクロック選択の変更設定との順序を間違えないようにご注
意ください。
本レジスタの設定の変更があった場合 , 設定後次のクロックレートから変更後の分周
比が有効となります。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
99
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
[bit7 ∼ bit4] T3, T2, T1, T0 : CLKT 分周選択ビット
外部バスクロック (CLKT) 分周比設定ビットです。
外部拡張バスインタフェースのクロック分周比を設定します。
本ビットに書き込む値により , 外部拡張バスインタフェースのクロックのベースク
ロックに対する分周比 ( クロック周波数 ) を下表に示す 16 種類のうちから選択しま
す。
動作可能な上限周波数は 16.5MHz ですので , これを超える周波数になる分周比は設
定しないでください。
クロック周波数 : 原発振 16.5MHz
および PLL2 逓倍の場合
T3
T2
T1
T0
0
0
0
0
φ
0
0
0
1
φ × 2 (2 分周 )
16.5 MHz
0
0
1
0
φ × 3 (3 分周 )
11 MHz
0
0
1
1
φ × 4 (4 分周 )
8.25 MHz
0
1
0
0
φ × 5 (5 分周 )
6.6 MHz
0
1
0
1
φ × 6 (6 分周 )
5.5 MHz
0
1
1
0
φ × 7 (7 分周 )
4.71 MHz
0
1
1
1
φ × 8 (8 分周 )
4.13 MHz
…
…
…
…
1
1
1
1
クロック分周比
33.0 MHz [ 初期値 ]
…
φ × 16 (16 分周 )
…
2.06 MHz
φ はシステムベースクロックの周期
• リセット (INIT) により "0000B" に初期化されます。
• 読出しおよび書込みが可能です。
[bit3 ∼ bit0] 予約 : 予約ビット
予約ビットです。
100
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
■ OSCCR : 発振制御レジスタ
発振制御レジスタのレジスタ構成は , 以下のとおりです。
OSCCR
bit
アドレス : 00048AH
初期値 (INIT)
初期値 (RST)
R/W:リード / ライト可能
15
14
13
12
11
10
予約
(R/W)
X
X
予約
(R/W)
X
X
予約
(R/W)
X
X
予約
(R/W)
X
X
予約
(R/W)
X
X
予約
(R/W)
X
X
9
8
予約 OSCDS1
(R/W) (R/W)
X
0
X
X
サブクロック動作時のメイン発振を制御するレジスタです。
[bit15 ∼ bit9] 予約 : 予約ビット
予約ビットです。
[bit8] OSCDS1 : メイン発振停止制御ビット ( サブランモード時 )
サブクロック選択中のメイン発振停止ビットです。
クロックソースとしてサブクロック選択中に , 本ビットに "1" を書き込むとメイン
発振を停止します。
本ビットは , メインクロック選択中に "1" を書くことはできません。
本ビットが "1" の間はメインクロックを選択しないでください。本ビットを "0" に
してメイン発振の安定を待ってからメインクロックに切り換えてください。このと
き , メイン発振安定待ちタイマを用いて発振安定待ち時間を確保してください。ま
た , 本ビットによってメイン発振を停止させた状態で , INIT によってクロックソー
スがメインクロックに切り換わった場合もメイン発振安定待ち時間が必要になり
ます。このとき , STCR( スタンバイ制御レジスタ ) の bit3, bit2:OS1, OS0 の設定がメ
イン発振安定待ち時間を満たさない場合 , 復帰後の動作が保証されません。
このような場合は , STCR:OS1, OS0 ビットはサブ発振安定待ち時間およびメイン発
振安定待ち時間両方を満たした値を設定してください。
発振安定待ちについては , 「2.9.2 発振安定待ち /PLL ロック待ち時間」も参照して
ください。
値
内容
0
サブクロック実行中 , メイン発振を停止しません [ 初期値 ] 。
1
サブクロック実行中 , メイン発振を停止します。
• リセット (INIT) により "0" に初期化されます。
• 読出しおよび書込みが可能です。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
101
第 2 章 CPU および制御部
2.9 クロック生成制御
2.9.7
MB91313A シリーズ
クロック制御部が持つ周辺回路
クロック制御部が持つ周辺回路機能について説明します。
■ タイムベースカウンタ
クロック制御部には , 26 ビット長のタイムベースカウンタがあり , システムベースク
ロックで動作しています。
タイムベースカウンタは , 発振安定待ち時間の計測 (「2.8.4 発振安定待ち時間」を参
照 ) のほか , 以下の用途に使用されます。
• ウォッチドッグタイマ :
システムの暴走検出用のウォッチドッグタイマを , タイムベースカウンタのビット
出力を用いて計測します。
• タイムベースタイマ :
タイムベースカウンタ出力を用いて , インターバル割込みを発生します。
● ウォッチドッグタイマ
ウォッチドッグタイマは , タイムベースカウンタ出力を用いた暴走検出用タイマです。
プログラムの暴走などで設定したインターバルの間にウォッチドッグリセットの発生
延期動作が行われなくなると , ウォッチドッグリセットとして設定初期化リセット
(INIT) 要求を発生します。
[ ウォッチドッグタイマの起動と周期設定 ]
ウォッチドッグタイマは , リセット (RST) 後の 1 回目の RSRR ( リセット要因レジ
スタ / ウォッチドッグタイマ制御レジスタ ) への書込み動作により起動します。
このとき , ウォッチドッグタイマのインターバル時間を bit9, bit8:WT1, WT0 ビット
により設定します。インターバル時間の設定は , この最初の書込みで設定した時間
のみが有効となり , それ以降の書込みはすべて無視されます。
[ ウォッチドッグリセットの発生延期 ]
いったんウォッチドッグタイマを起動すると , プログラムで定期的に WPR ( ウォッ
チドッグリセット発生延期レジスタ ) に対して "A5H", "5AH" の順でデータを書き込
む必要があります。
この操作により , ウォッチドッグリセット発生用フラグが初期化されます。
[ ウォッチドッグリセットの発生 ]
ウォッチドッグリセット発生用フラグは , 設定したインターバルのタイムベースカ
ウンタ出力の立下りエッジによってセットされます。2 度目の立下りエッジの検出
時にフラグがセットされていると , ウォッチドッグリセットとして設定初期化リ
セット (INIT) 要求を発生します。
102
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 2 章 CPU および制御部
2.9 クロック生成制御
[ ウォッチドッグタイマの停止 ]
いったんウォッチドッグタイマを起動すると , 動作初期化リセット (RST) が発生す
るまでは , ウォッチドッグタイマを停止することはできません。
動作初期化リセット (RST) の発生する以下の状態では , ウォッチドッグタイマは停
止し , 再度プログラム動作にて起動するまでは , 機能しません。
• 動作初期化リセット (RST) 状態
• 設定初期化リセット (INIT) 状態
• 発振安定待ちリセット (RST) 状態
[ ウォッチドッグタイマの一時停止 ( 自動発生延期 )]
ウォッチドッグタイマは , CPU のプログラム動作が停止している場合 , いったん
ウォッチドッグリセット発生用フラグを初期化し , ウォッチドッグリセットの発生
を延期します。プログラム動作の停止について以下の動作を示します。
• スリープ状態
• ストップ状態
• 発振安定待ち RUN 状態
• エミュレータデバッガ , モニタデバッガを使用時のブレーク中
• INTE 命令の実行から RETI 命令の実行までの期間
• ステップトレーストラップ
(PS レジスタの T フラグ =1 による 1 命令ごとのブレーク )
• 命令キャッシュ制御レジスタ (ISIZE, ICHCR),
RAM モード時のキャッシュメモリへのデータ
また , タイムベースカウンタのクリアを行うと , 同時にウォッチドッグリセット発
生用フラグも初期化され , ウォッチドッグリセットの発生が延期されます。
なお , システムの暴走により上記状態となってしまった場合 , ウォッチドッグリ
セットが発生しない可能性がありますので , 外部 INITX 端子よりリセット (INIT) を
かけてください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
103
第 2 章 CPU および制御部
2.9 クロック生成制御
MB91313A シリーズ
● タイムベースタイマ
タイムベースタイマは , タイムベースカウンタ出力を用いたインターバル割込み発生
用タイマです。PLL のロック待ち時間やサブクロックなどの発振安定待ち時間など , 最
大で { ベースクロック× 227} サイクルまでの比較的長時間の時間計測を行う用途に適
しています。
設定したインターバルに対応するタイムベースカウンタの出力の立下りエッジを検出
すると , タイムベースタイマ割込み要求を発生します。
[ タイムベースタイマの起動とインターバル設定 ]
タイムベースタイマは , TBCR ( タイムベースカウンタ制御レジスタ ) の bit13 ∼
bit11:TBC2, TBC1, TBC0 ビットにてインターバル時間を設定します。
設定したインターバルに対応するタイムベースカウンタの出力の立下りエッジは
常に検出されているため , インターバル時間の設定後はまず bit15:TBIF ビットをク
リアしてから , bit14:TBIE ビットを "1" にして割込み要求出力を許可してください。
インターバル時間を変更する際は , あらかじめ bit14:TBIE ビットを "0" にして割込
み要求出力を禁止しておいてください。
タイムベースカウンタはこれら設定に影響されず常にカウント動作を行っていま
すので , 正確なインターバル割込み時間を得るためには , 割込みを許可する前にタ
イムベースカウンタをクリアしてください。クリアしない場合 , 割込み許可直後に
割込み要求が発生することもあり得ます。
[ プログラムによるタイムベースカウンタのクリア ]
CTBR ( タイムベースカウンタクリアレジスタ ) に対して "A5H", "5AH" の順でデー
タを書き込むと , "5AH" 書込みの直後に , タイムベースカウンタを全ビット "0" にク
リアします。"A5H" 書込みと "5AH" 書込みの間の時間制限はありませんが , "A5H"
書込みの後に"5AH"以外のデータを書き込むと, 再度"A5H"を書き込まないと"5AH"
を書き込んでもクリア動作は行いません。
このタイムベースカウンタのクリアを行うことにより , 同時にウォッチドッグリ
セット発生用フラグも初期化され , ウォッチドッグリセットの発生がいったん延期
されます。
[ デバイス状態によるタイムベースカウンタのクリア ]
タイムベースカウンタは , 以下のデバイス状態の遷移時に , 同時に全ビット "0" にク
リアされます。
• ストップ状態
• 設定初期化リセット (INIT) 状態
特にストップ状態の場合 , 発振安定待ち時間の計測のためにタイムベースカウンタ
が使用されるため , 意図せずにタイムベースタイマのインターバル割込みが発生し
てしまう可能性があります。
そのため , ストップモードを設定する前には , タイムベースタイマ割込みを禁止し ,
タイムベースタイマを使用しないでください。
それ以外の状態については, 動作初期化リセット(RST)が発生するため, タイムベー
スタイマ割込みは自動的に禁止されます。
104
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 2 章 CPU および制御部
2.9 クロック生成制御
● メイン発振安定待ちタイマ ( サブクロック選択時用 )
クロックソースの選択や分周設定の影響を受けず , メインクロックに同期してカウン
トアップする 26 ビットのタイマです。
サブクロック動作中のメイン発振安定待ち時間の時間計測に使用します。
サブクロックで動作中 , OSCCR ( 発振制御レジスタ ) の bit8:OSCDS1 にて , メイン発振
の制御が行えますが , メイン発振を停止させた後で再度発振開始させた際に , 本タイマ
を用いて発振安定待ち時間を計測します。
メインクロックを停止させたサブクロック動作状態からメインクロックに切り換える
際は , 以下の手順で行います。
1) メイン発振安定待ちタイマをクリアします。
2) OSCCR ( 発振制御レジスタ ) の bit8:OSCDS1 を "0" にしてメイン発振を開始しま
す。
3) メイン発振安定待ちタイマを用いてメインクロックが安定するまで待ちます。
4) メインクロック安定後 , CLKR ( クロックソースレジスタ ) の bit9, bit8:CLKS1,
CLKS0 にてサブクロックからメインクロックに切り換えます。
<注意事項>
安定を待たずメインクロックに切り換えると , 不安定なクロックが供給され , その後の動
作は保証されませんので , 必ず安定を待った後にメインクロックに切り換えてください。
メイン発振安定待ちタイマの詳細については , 「9.1 メイン発振安定待ちタイマ」を参照
してください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
105
第 2 章 CPU および制御部
2.10 デバイス状態制御
MB91313A シリーズ
デバイス状態制御
2.10
各種状態とその制御について説明します。
■ デバイス状態
図 2.10-1 に , FR ファミリのデバイス状態と各遷移を示します。
図 2.10-1 デバイス状態
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
メイン発振安定待ち
1
リセット
メインストップ
9
3
1
発振安定待ちRUN
プログラムリセット
1
(RST)
3
7
1
6
メインスリープ
5
4
12
メインRUN
8
1
10
サブクロックモード
1
サブスリープ
発振安定待ちRUN
12
サブRUN
13
3
1
1
11
8
7
5
1
4
プログラムリセット
1
(RST)
9
サブストップ
(時計状態*2)
サブストップ
(時計状態*2)
*1: クロックソースをメイン←→サブに切り換える場合は、RUN状態にて、切換え
後のクロックが安定供給されている状態にて、CLKR(クロックソースレジスタ)-bit1,
bit0(CLKS1,CLKS0)を切り換えてください。
*2: 時計タイマ以外を停止(時計状態)させるには、サブRUN状態にてSTCR(スタンバイ
制御レジスタ) bit1:OSCD2を"0", bit0:OSCD1を"1"に設定した状態でストップモード
に移行してください(同時書込み可能)。
106
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 2 章 CPU および制御部
2.10 デバイス状態制御
■ デバイスの動作状態
デバイスの動作状態には以下のものがあります。
● RUN 状態 ( 通常動作 )
プログラム実行状態です。
すべての内部クロックが供給され , すべての回路が動作可能な状態です。
ただし , 16 ビット周辺 ( ペリフェラル ) バスのみは , アクセスが行われていない期間は
バスクロックのみ停止しています。
各状態遷移要求を受け付けますが , 同期リセットモードを選択している場合 , 通常リ
セットモードの場合と一部要求に対する状態遷移動作が異なります。
詳細は , 「2.8.5 リセット動作モード ■ 同期リセット動作」を参照してください。
● スリープ状態
プログラム停止状態です。プログラム動作により遷移します。
CPU のプログラム実行のみ停止し , 周辺回路は動作可能な状態です。各種内蔵メモリ
および内部 / 外部バスは DMA コントローラが要求しない限り停止状態です。有効な割
込み要求の発生により , 本状態は解除され , RUN 状態 ( 通常動作 ) へ遷移します。
設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷移
します。
動作初期化リセット (RST) 要求の発生により , 動作初期化リセット (RST) 状態へ遷移し
ます。
● ストップ状態
デバイス停止状態です。プログラム動作により遷移します。
すべての内部回路が停止します。内部クロックはすべて停止し , 発振回路および PLL
は設定により停止させることが可能です。また , 設定により , 外部端子を一律ハイイン
ピーダンスにすることが可能です ( 一部端子を除く ) 。
特定の ( クロックを必要としない ) 有効な割込みや , 発振動作中のメイン発振安定待ち
タイマ割込み要求の発生により , 発振安定待ち RUN 状態へ遷移します。
設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷移
します。
動作初期化リセット (RST) 要求の発生により , 発振安定待ちリセット (RST) 状態へ遷移
します。
● 発振安定待ち RUN 状態
デバイス停止状態です。ストップ状態からの復帰後に遷移します。
クロック発生制御部 (タイムベースカウンタおよびデバイス状態制御部) を除くすべて
の内部回路が停止します。内部クロックはすべて停止しますが , 発振回路および動作許
可されていた PLL は動作しています。
ストップ状態などでの外部端子のハイインピーダンス制御は解除されます。
設定された発振安定待ち時間の経過により , RUN 状態 ( 通常動作 ) へ遷移します。
設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷移
します。
動作初期化リセット (RST) 要求の発生により , 発振安定待ちリセット (RST) 状態へ遷移
します。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
107
第 2 章 CPU および制御部
2.10 デバイス状態制御
MB91313A シリーズ
● 発振安定待ちリセット (RST) 状態
デバイス停止状態です。ストップ状態または設定初期化リセット (INIT) 状態からの復
帰後に遷移します。
クロック発生制御部 (タイムベースカウンタおよびデバイス状態制御部) を除くすべて
の内部回路が停止します。内部クロックはすべて停止しますが , 発振回路および動作許
可されていた PLL は動作しています。
ストップ状態などでの外部端子のハイインピーダンス制御は解除されます。
内部回路に対し , 動作初期化リセット (RST) を出力します。
設定された発振安定待ち時間の経過により, 発振安定待ちリセット(RST)状態へ遷移し
ます。
設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷移
します。
● 動作初期化リセット (RST) 状態
プログラム初期化状態です。動作初期化リセット (RST) 要求の受付け , または発振安定
待ちリセット (RST) 状態の終了により遷移します。
CPU のプログラム実行は停止し , プログラムカウンタは初期化されます。周辺回路は
一部を除き初期化されます。すべての内部クロックと発振回路および動作許可されて
いた PLL は動作しています。
内部回路に対し , 動作初期化リセット (RST) を出力します。
動作初期化リセット (RST) 要求の消失により , RUN 状態 ( 通常動作 ) へ遷移し , 動作初
期化リセットシーケンスを実行します。設定初期化リセット (INIT) 状態からの復帰後
だった場合は , 設定初期化リセットシーケンスを実行します。
設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷移
します。
● 設定初期化リセット (INIT) 状態
全設定初期化状態です。設定初期化リセット (INIT) 要求の受付け , またはハードウェ
アスタンバイ状態の終了により遷移します。
CPU のプログラム実行は停止し , プログラムカウンタは初期化されます。周辺回路は
すべて初期化されます。発振回路は動作しますが , PLL は動作を停止します。すべて
の内部クロックは , 外部 INITX 端子への "L" レベル入力期間は停止しますが , それ以外
では動作します。
内部回路に対し , 設定初期化リセット (INIT) および動作初期化リセット (RST) を出力
します。
設定初期化リセット (INIT) 要求の消失により , 本状態は解除され , 発振安定待ちリセッ
ト (RST) 状態へ遷移します。その後 , 動作初期化リセット (RST) 状態を経て , 設定初期
化リセットシーケンスを実行します。
108
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 2 章 CPU および制御部
2.10 デバイス状態制御
● 各状態遷移要求の優先順位
どの状態においても , 各状態遷移要求は以下の優先順位に従います。ただし , 一部要求
は特定の状態でしか発生しませんので , その状態でしか有効になりません。
【最強】 設定初期化リセット (INIT) 要求
↓
発振安定待ち時間の終了
( 発振安定待ちリセット状態および発振安定待ち RUN 状態のみ発生 )
↓
動作初期化リセット (RST) 要求
↓
有効な割込み要求 (RUN, スリープ , ストップ状態のみ発生 )
↓
ストップモード要求 ( レジスタ書込み ) (RUN 状態のみ発生 )
【最弱】 スリープモード要求 ( レジスタ書込み ) (RUN 状態のみ発生 )
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
109
第 2 章 CPU および制御部
2.10 デバイス状態制御
2.10.1
MB91313A シリーズ
低消費電力モード
各低消費電力モードとその使用方法について説明します。
低消費電力モードには , 以下のものがあります。
• スリープモード
レジスタ書込みにより , デバイスをスリープ状態へ遷移させます。
• ストップモード
レジスタ書込みにより , デバイスをストップ状態へ遷移させます。
以下 , 各モードについて説明します。
■ スリープモード
STCR (スタンバイ制御レジスタ) のbit6:SLEEPビットに"1"を書き込むとスリープモー
ドとなり , スリープ状態へ遷移します。
以降 , スリープ状態からの復帰要因が発生するまでは , スリープ状態を維持します。
STCR ( スタンバイ制御レジスタ ) の bit7:STOP ビットと本ビット両方に "1" を書き込ん
だ場合は , bit7:STOP ビットの方が優先となり , ストップ状態へ遷移します。
スリープ状態については , 「2.10 デバイス状態制御 ■ デバイスの動作状態」も参照し
てください。
[ スリープモードへの移行 ]
スリープモードに入れる場合は , 同期スタンバイモード (TBCR: タイムベースカウ
ンタ制御レジスタの bit8:SYNCS ビットにて設定します ) を使用した上で , 以下の
シーケンスを必ず使用してください。
(LDI #value_of_sleep,R0)
;value_of_sleep は , STCR への書込みデータ
(LDI #_STCR,R12)
;_STCR は , STCR のアドレス (481H)
STB
;スタンバイ制御レジスタ (STCR) への書込み
R0,@R12
[email protected],R0
;同期スタンバイのための STCR 読出し
[email protected],R0
;もう一度 STCR をダミーリード
NOP
; タイミング調整用の NOP × 5
NOP
NOP
NOP
NOP
[ スリープ状態で停止する回路 ]
• CPU のプログラム実行
• ビットサーチモジュール (DMA 転送が発生した場合は動作します。)
• 各種内蔵メモリ (DMA 転送が発生した場合は動作します。)
• 内部 / 外部バス (DMA 転送が発生した場合は動作します。)
110
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 2 章 CPU および制御部
2.10 デバイス状態制御
[ スリープ状態で停止しない回路 ]
• 発振回路
• 動作許可された PLL
• クロック発生制御部
• 割込みコントローラ
• 周辺回路
• DMA コントローラ
• DSU
• メイン発振安定待ちタイマ
[ スリープ状態からの復帰要因 ]
• 有効な割込み要求の発生
割込み禁止 (1FH) 以外の割込みレベルを持つ割込み要求が発生すると , スリープ
モードは解除され , RUN 状態 ( 通常状態 ) へ遷移します。
割込み要求が発生しても , スリープモードを解除したくない場合は , 該当する
ICR に割込みレベルとして割込み禁止 (1FH) を設定してください。
• 設定初期化リセット (INIT) 要求の発生
設定初期化リセット (INIT) 要求が発生すると , 無条件で設定初期化リセット
(INIT) 状態へ遷移します。
• 動作初期化リセット (RST) 要求の発生
動作初期化リセット(RST)要求が発生すると, 無条件で動作初期化リセット(RST)
状態へ遷移します。
各要因の優先順位については , 「2.10 デバイス状態制御」を参照してください。
[ 同期スタンバイ動作 ]
タイムベースカウンタ制御レジスタ (TBCR) の bit8:SYNCS ビットに "1" が設定して
ある場合 , 同期スタンバイ動作が許可されます。この場合 , SLEEP ビットへの書込
みのみではスリープ状態へは遷移しません。
その後 , STCR レジスタを読み出すことによってスリープ状態へ遷移します。
スリープモードを使用する場合は , 【スリープモードへの移行】にあるシーケンス
を必ず使用してください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
111
第 2 章 CPU および制御部
2.10 デバイス状態制御
MB91313A シリーズ
■ ストップモード
STCR ( スタンバイ制御レジスタ ) の bit7:STOP ビットに "1" を書き込むとストップモー
ドとなり , ストップ状態へ遷移します。以降 , ストップ状態からの復帰要因が発生する
までは , ストップ状態を維持します。
STCR ( スタンバイ制御レジスタ ) の bit6:SLEEP ビットと本ビット両方に "1" を書き込
んだ場合は , bit7:STOP ビットの方が優先となり , ストップ状態へ遷移します。
ストップ状態については , 「2.10 デバイス状態制御 ■ デバイスの動作状態」も参照し
てください。
[ ストップモードへの移行 ]
ストップモードに入れる場合は , 同期スタンバイモード (TBCR: タイムベースカウ
ンタ制御レジスタの bit8:SYNCS ビットにて設定します ) を使用した上で , 以下の
シーケンスを必ず使用してください。
(LDI #value_of_stop,R0)
;value_of_stop は , STCR への書込みデータ
(LDI #_STCR,R12)
;_STCR は , STCR のアドレス (481H)
STB
;スタンバイ制御レジスタ (STCR) への書込み
R0,@R12
[email protected],R0
;同期スタンバイのための STCR 読出し
[email protected],R0
;もう一度 STCR をダミーリード
NOP
; タイミング調整用の NOP × 5
NOP
NOP
NOP
NOP
[ ストップ状態で停止する回路 ]
• 停止するように設定された発振回路 :
STCR ( スタンバイ制御レジスタ ) の bit1:OSCD2 ビットに "1" が設定してあると
き , ストップ状態中のサブクロック用発振回路を停止状態にします。このとき時
計タイマも停止します。
STCR ( スタンバイ制御レジスタ ) の bit0:OSCD1 ビットに "1" が設定してあると
き , ストップ状態中のメインクロック用発振回路を停止状態にします。このとき
メイン発振安定待ちタイマも停止します。
• 動作許可されていないか , 停止するよう設定された発振回路に接続された PLL :
STCR ( スタンバイ制御レジスタ ) の bit1:OSCD2 ビットに "1" が設定してあると
き , CLKR ( クロックソース制御レジスタ ) の bit11:PLL2EN ビットに "1" が設定
してあっても , ストップ状態中のサブクロック用 PLL を停止状態にします。
STCR ( スタンバイ制御レジスタ ) の bit0:OSCD1 ビットに "1" が設定してあると
き , CLKR ( クロックソース制御レジスタ ) の bit10:PLL1EN ビットに "1" が設定
してあっても , ストップ状態中のメインクロック用 PLL を停止状態にします。
• [ ストップ状態で停止しない回路 ] を除くすべての内部回路
112
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 2 章 CPU および制御部
2.10 デバイス状態制御
[ ストップ状態で停止しない回路 ]
• 停止するように設定されていない発振回路 :
STCR ( スタンバイ制御レジスタ ) の bit1:OSCD2 ビットに "0" が設定してあると
き , ストップ状態中のサブクロック用発振回路は停止しません。このとき時計タ
イマも停止しません。
STCR ( スタンバイ制御レジスタ ) の bit0:OSCD1 ビットに "0" が設定してあると
き , ストップ状態中のメインクロック用発振回路は停止しません。このときメイ
ン発振安定待ちタイマも停止しません。
• 動作許可されていて, かつ停止するよう設定されていない発振回路に接続された
PLL :
STCR ( スタンバイ制御レジスタ ) の bit1:OSCD2 ビットに "0" が設定してあると
き , CLKR ( クロックソース制御レジスタ ) の bit11:PLL2EN ビットに "1" が設定
してあると , ストップ状態中のサブクロック用 PLL は停止しません。
STCR ( スタンバイ制御レジスタ ) の bit0:OSCD1 ビットに "0" が設定してあると
き , CLKR ( クロックソース制御レジスタ ) の bit10:PLL1EN ビットに "1" が設定
してあると , ストップ状態中のメインクロック用 PLL は停止しません。
[ ストップ状態での端子のハイインピーダンス制御 ]
STCR ( スタンバイ制御レジスタ ) の bit5:HIZ ビットに "1" が設定してあると , ストッ
プ状態中の端子出力をハイインピーダンス状態にします。本制御の対象となる端子
は「付録 C ■ 各 CPU ステートにおける端子状態」を参照してください。
STCR ( スタンバイ制御レジスタ ) の bit5:HIZ ビットに "0" が設定してあると , ストッ
プ状態中の端子出力はストップ状態への遷移前の値を保持します。詳細は「付録 C
■ 各 CPU ステートにおける端子状態」を参照してください。
[ ストップ状態からの復帰要因 ]
• 特定の ( クロックを必要としない ) 有効な割込み要求の発生 :
外部割込み入力端子 (INTn 端子 ) , メイン発振中のメイン発振安定待ちタイマ割
込み , およびサブ発振中の時計割込みのみ有効です。
割込み禁止 (1FH) 以外の割込みレベルを持つ割込み要求が発生するとストップ
モードは解除され , RUN 状態 ( 通常状態 ) へ遷移します。
割込み要求が発生してもストップモードを解除したくない場合は , 該当する ICR
に割込みレベルとして割込み禁止 (1FH) を設定してください。
• メイン発振安定待ちタイマ割込み :
サブクロック選択中で OSCCR ( 発振制御レジスタ ) の bit8:OSCDS1 ビットに "0"
が設定時もしくはメインクロック選択中において , STCR ( スタンバイ制御レジ
スタ ) の bit0:OSCD1 ビットに "0" が設定してあるとき , メイン発振安定待ちタイ
マの割込み要求が発生するとストップモードは解除され RUN 状態 ( 通常状態 )
へ遷移します。
割込み要求が発生してもストップモードを解除したくない場合は, メイン発振安
定待ちタイマを停止させるか , またはメイン発振安定待ちタイマの割込み許可
ビットを割込み禁止に設定してください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
113
第 2 章 CPU および制御部
2.10 デバイス状態制御
MB91313A シリーズ
• 設定初期化リセット (INIT) 要求の発生 :
設定初期化リセット (INIT) 要求が発生すると , 無条件で設定初期化リセット
(INIT) 状態へ遷移します。
• 動作初期化リセット (RST) 要求の発生 :
動作初期化リセット(RST)要求が発生すると, 無条件で動作初期化リセット(RST)
状態へ遷移します。
各要因の優先順位については , 「2.10 デバイス状態制御 ■ デバイスの動作状態」を
参照してください。
[ ストップモード時のクロックソース選択 ]
ストップモードを設定する前に , メインクロックの 2 分周をソースクロックとする
ようあらかじめ選択しておいてください。詳細は , 「2.9 クロック生成制御」, 特に
その節の「2.9.1 PLL 制御」を参照してください。
なお , 分周比の設定に関しては , 通常動作時と制限事項は変わりません。
■ 通常スタンバイ動作と同期スタンバイ動作
TBCR ( タイムベースカウンタ制御レジスタ ) の bit8:SYNCS ビットに "1" を設定してあ
る場合 , 同期スタンバイ動作が許可されます。この場合 , STOP ビットへの書込みのみ
ではストップ状態へは遷移しません。その後 , STCR レジスタを読み出すことによって
ストップ状態へ遷移します。
SYNCS ビットに "0" を設定してある場合 , 通常スタンバイ動作となり , STOP ビットへ
の書込みのみでストップ状態へ遷移します。
通常スタンバイ動作時は , CPU クロック (CLKB) に対して周辺クロック (CLKP) の分周
比が大きく設定してあると , 実際に STOP ビットへの書込みが行われるまでに多くの命
令を実行してしまいます。このため , STOP ビットへの書込み命令の後 , 最低でも
{5+(CPU クロックの分周比 / 周辺クロックの分周比 )} 命令以上の NOP 命令を配置しな
ければ , それ以降の命令がストップ状態への遷移前に実行されてしまいます。
同期スタンバイ動作時は , 実際に STOP ビットへの書込みが行われた後 , STCR レジス
タの読出しが完了するまではストップ状態へ遷移しません。STCR レジスタの読出し値
が CPU に格納されるまでは , CPU がバスを使用しているためです。このため , CPU ク
ロック (CLKB) と周辺クロック (CLKP) の分周比の関係がいかなる設定においても ,
STOP ビットへの書込み命令と STCR レジスタの読出し命令の後に , 2 命令のみの NOP
命令を配置するのみで , それ以降の命令がストップ状態への遷移前に実行されること
を防ぐことができます。
114
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 2 章 CPU および制御部
2.11 動作モード
MB91313A シリーズ
2.11
動作モード
FR ファミリの動作モードについて説明します。
■ 動作モード
動作モードには , バスモードとアクセスモードがあります。
● バスモード
バスモードとは , 内部 ROM の動作と外部アクセス機能の動作を制御するモードを指
し , モード設定端子 (MD2, MD1, MD0) で指定します。
● アクセスモード
アクセスモードとは , 外部データバス幅を制御するモードを示し , モードレジスタ内の
WTH1, WTH0 ビットと ACR0 ∼ ACR3(Area Configuration Register) 内の DBW0 ビット
で指定します。
■ バスモード 0 ( シングルチップモード )
内部 I/O, F-bus RAM, F-bus ROM が有効で , それ以外の領域へのアクセスは無効である
モードです。
外部端子はペリフェラル , または汎用ポートの機能を果たします。バス端子としては機
能しません。
■ バスモード 1 ( 内 ROM 外バスモード )
内部 I/O, F-bus RAM, F-bus ROM が有効で , 外部アクセスが可能な領域へのアクセスは
外部空間へのアクセスとなるモードです。外部端子の一部は , バス端子として機能しま
す。
■ モード設定
FR ファミリでは , モード端子 (MD2, MD1, MD0) とモードレジスタ (MODR) で動作モー
ドの設定を行います。
● モード端子
MD2, MD1, MD0 の 3 端子で , モードベクタフェッチに関する指定を行います。
表 2.11-1 にモードベクタフェッチに関する指定を示します。
表 2.11-1 モードベクタフェッチに関する指定
モード端子
MD2 MD1 MD0
モード名
リセットベクタ
アクセス領域
000B
内 ROM モードベクタ
内部
ただし , 表に示した設定以外は禁止とします。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
115
第 2 章 CPU および制御部
2.11 動作モード
MB91313A シリーズ
● モードレジスタ (MODR)
モードベクタフェッチによってモードレジスタに書き込むデータをモードデータとよ
びます。モードベクタフェッチについては , 「2.8.3 リセットシーケンス」を参照して
ください。
モードレジスタ (MODR) に設定が行われた後 , 本レジスタの設定に従った動作モード
で動作します。
モードレジスタは , すべてのリセット要因で設定されます。また , ユーザプログラムか
らは書き込むことはできません。
<参考>
従来 FR ファミリのモードレジスタのアドレス (0007FFH) には , 何も存在しません。
エミュレータモードでは , 書換え可能です。この場合 , 8 ビット長のデータ転送命令を
使用してください。
16/32 ビット長の転送命令では書き込めません。
モードレジスタの詳細は以下のとおりです。
[ レジスタ詳細説明 ]
MODR
bit
アドレス:0007FDH
7
6
5
4
3
2
1
予約
予約
予約
予約
予約
予約
0
WTH1 WTH0
初期値
XXXXXXXXB
動作モード設定ビット
[bit7 ∼ bit2] 予約ビット
必ず "000001B" を設定してください。
"000001B" 以外の値を設定したときの動作は保証できません。
[bit1, bit0] WTH1, WTH0 ( バス幅指定ビット )
外バスモード時のバス幅指定の設定を行います。
外バスモード時 , この値が ACR0 (CS0 領域 ) の , DBW0 ビットに設定されます。
116
WTH1
WTH0
0
0
8 ビットバス幅
外バスモード
0
1
16 ビットバス幅
〃
1
0
1
1
機能
−
シングルチップモード
FUJITSU SEMICONDUCTOR LIMITED
備考
設定禁止
シングルチップモード
CM71-10143-5
第3章
外部バスインタフェース
外部バスインタフェースの特長 , レジスタ , 動作な
どについて説明します。
3.1 外部バスインタフェースの概要
3.2 外部バスインタフェースのレジスタ説明
3.3 チップセレクト領域
3.4 アドレス / データマルチプレックスインタフェース
3.5 DMA アクセス
3.6 レジスタの設定手順
3.7 外部バスインタフェース使用上の注意
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
117
第 3 章 外部バスインタフェース
3.1 外部バスインタフェースの概要
3.1
MB91313A シリーズ
外部バスインタフェースの概要
外部バスインタフェースコントローラは , LSI の内部バスと外部のメモリおよび I/O
デバイスとのインタフェースを制御します。
■ 特長
• アドレス / データマルチプレックスバス (8 ビット /16 ビット幅 )
• 独立した 4 個のバンク ( チップセレクト領域 ) を設定でき , それぞれに対応したチッ
プセレクト出力が可能
CS0X, CS1X は , 64K/128K/256K/512K バイト単位で , "003FFFFFH" までの外部バス領
域に割り当てられた空間に設定可能
CS2X, CS3Xは, 1M/2M/4M/8Mバイト単位で, "00400000H"∼"00FFFFFFH"の空間に設
定可能
領域サイズによりバウンダリの制限あり
• チップセレクト領域ごとに以下の機能が独立に設定可能
チップセレクト領域の許可・禁止 ( 禁止された領域はアクセスを行いません )
各種メモリ対応などのアクセスタイミングタイプ設定
詳細アクセスタイミング設定 ( ウェイトサイクルなどのアクセスタイプ個別設定 )
データバス幅設定 (8 ビット /16 ビット )
• アクセスタイミングタイプごとに異なる詳細なタイミングが設定可能
同一タイプでもチップセレクト領域ごとに異なる設定が混在可能
オートウェイトは , 最大 7 サイクルまで設定可能 ( 非同期 SRAM, ROM, Flash, I/O 領
域)
外部 RDY 入力によるバスサイクルの延長が可能 ( 非同期 SRAM, ROM, Flash, I/O 領
域)
各種アイドル・リカバリサイクル , セットアップ遅延などの挿入が可能
• 外部インタフェースの未使用端子は , 設定により汎用 I/O ポートとして使用可能
118
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 3 章 外部バスインタフェース
3.1 外部バスインタフェースの概要
MB91313A シリーズ
■ ブロックダイヤグラム
図 3.1-1 外部バスインタフェースのブロックダイヤグラム
内部
内部
アドレスバス データバス
32
32
/
/
A-Out
MUX
ライト
バッファ
スイッチ
リード
バッファ
スイッチ
外部
データバス
データブロック
アドレスブロック
+1または+2
アドレス
バッファ
A-Out
コンパ
レータ
ASR
ASZ
外部端子制御部
CS0X~CS3X
RDX
WR0X, WR1X
ASX
全ブロック制御
レジスタ
&
制御
RDX
CLK
■ I/O ピン
外部バスインタフェースの端子です。
<マルチプレックスバスインタフェース>
AD15 ∼ AD00
CS0X, CS1X, CS2X, CS3X
ASX, CLK
RD
WR0X, WR1X
RDY
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
119
第 3 章 外部バスインタフェース
3.1 外部バスインタフェースの概要
MB91313A シリーズ
■ レジスタ一覧
図 3.1-2 外部バスインタフェースのレジスタ一覧
アドレス
bit31
24
23
16
15
8
7
000640H
ASR0
ACR0
000644H
ASR1
ACR1
000648H
ASR2
ACR2
00064CH
ASR3
ACR3
000650H
予約
予約
000654H
予約
予約
000658H
予約
予約
00065CH
予約
予約
000660H
AWR0
AWR1
000664H
AWR2
AWR3
000668H
予約
予約
00066CH
予約
予約
0
000670H
予約
予約
予約
予約
000674H
予約
予約
予約
予約
000678H
予約
予約
予約
予約
00067CH
予約
予約
予約
予約
000680H
CSER
予約
予約
予約
000684H
予約
予約
予約
予約
000688H
予約
予約
予約
予約
00068CH
予約
予約
予約
予約
0007F8H
予約
予約
予約
予約
0007FCH
予約
予約
予約
予約
予約 : 予約レジスタです。書き込む場合は , 必ず "0" を設定してください。
120
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 3 章 外部バスインタフェース
3.2 外部バスインタフェースのレジスタ説明
MB91313A シリーズ
外部バスインタフェースのレジスタ説明
3.2
外部バスインタフェースで使用するレジスタの構成および機能について説明します。
■ ASR0 ∼ ASR3 (Area Select Register)
図 3.2-1 ASR (Area Select Register) のビット構成
ASR0
bit15
…
8
7
6
...
1
0
アドレス:
000640H
予約
…
予約
A23
A22
...
A17
A16
ASR1
bit15
…
8
7
6
1
0
アドレス:
000644H
予約
…
予約
A23
A22
A17
A16
ASR2
bit15
…
8
7
6
1
0
アドレス:
000648H
予約
…
予約
A23
A22
A17
A16
ASR3
bit15
…
8
7
6
1
0
アドレス:
00064CH
予約
…
予約
A23
A22
A17
A16
...
...
...
初期値
INIT 時 RST 時
アクセス
0000H
0000H
R/W
00XXH
00XXH
R/W
00XXH
00XXH
R/W
00XXH
00XXH
R/W
[bit15 ∼ bit8] 予約 : 予約ビット
必ず , "00H" を設定してください。
[bit7 ∼ bit0] A23 ∼ A16
ASR0 ∼ ASR3(Area Select Register 0 ∼ 3) は , CS0X ∼ CS3X の各チップセレクト領
域の開始アドレスを指定します。
開始アドレスは , A[23:16] の上位 8 ビットを設定できます。各チップセレクト領域
は , このレジスタに設定されたアドレスから始まり , ACR0 ∼ ACR3 レジスタの
ASZ[1:0] ビットで設定された範囲をとります。
各チップセレクト領域のバウンダリは , ACR0 ∼ ACR3 レジスタの ASZ[1:0] ビット
の設定に従います。例えば , ASZ[1:0] ビットにより , 1M バイトの領域を設定した場
合は , ASR0 ∼ ASR3 レジスタの下位 4 ビットは無視され , A[23:20] ビットのみ意味
を持ちます。
ASR0 レジスタは , INIT および RST により , "00H" に初期化されます。ASR1 ∼
ASR3 は , INIT および RST によっては初期化されず , 不定となります。LSI の動作
開始後 , CSER レジスタにより各チップセレクト領域を有効にする前に , 必ず対応
する ASR レジスタを設定してください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
121
第 3 章 外部バスインタフェース
3.2 外部バスインタフェースのレジスタ説明
MB91313A シリーズ
■ ACR0 ∼ ACR3 (Area Configuration Register)
図 3.2-2 ACR (Area Configuration Register) のビット構成
ACR0H
アドレス:
000642H
bit15
14
予約
予約
ACR0L
アドレス:
000643H
bit7
6
予約
bit15
14
予約
予約
ACR1L
bit7
6
000647H
予約
ACR2H
アドレス:
00064AH
bit15
14
予約
予約
ACR2L
アドレス:
00064BH
bit7
6
ASZ1 ASZ0
5
4
13
12
ASZ1 ASZ0
5
4
予約 WREN 予約
13
12
ASZ1 ASZ0
5
4
予約 WREN 予約
ACR3H
アドレス:
00064EH
bit15
14
予約
予約
ACR3L
アドレス:
00064FH
bit7
6
予約
12
予約 WREN 予約
ACR1H
アドレス:
000646H
予約
13
13
12
ASZ1 ASZ0
5
4
予約 WREN 予約
8
初期値
INIT 時
RST 時
アクセス
予約
00110X00B 00110X00B
R/W
TYP3 TYP2 TYP1 TYP0 00000000B 00000000B
R/W
11
10
9
予約 DBW0 予約
3
11
2
10
1
9
予約 DBW0 予約
3
2
1
0
8
予約 00XX0X00B 00XX0X00B
0
TYP3 TYP2 TYP1 TYP0 00X0XXXXB 00X0XXXXB
11
10
9
予約 DBW0 予約
3
2
1
10
9
予約 DBW0 予約
3
2
1
R/W
8
予約 00XX0X00B 00XX0X00B
R/W
0
TYP3 TYP2 TYP1 TYP0 00X0XXXXB 00X0XXXXB
11
R/W
R/W
8
予約 00XX0X00B 00XX0X00B
R/W
0
TYP3 TYP2 TYP1 TYP0 00X0XXXXB 00X0XXXXB
R/W
ACR0 ∼ ACR3(Area Configuration Register 0 ∼ 3) は , 各チップセレクト領域の機能を設
定します。
[bit15, bit14] 予約 : 予約ビット
必ず , "00B" を設定してください。
122
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 3 章 外部バスインタフェース
3.2 外部バスインタフェースのレジスタ説明
MB91313A シリーズ
[bit13, bit12] ASZ1, ASZ0 = Area Size Bit [1:0]
各チップセレクト領域のサイズを以下のとおり設定します。
Register ASZ1 ASZ0
各チップセレクト領域のサイズ
0
0
64 K
バイト
(00010000H バイト , ASR A[23:16] ビット指定が有効 )
0
1
128 K
バイト
(00020000H バイト , ASR A[23:17] ビット指定が有効 )
1
0
256 K
バイト
(00040000H バイト , ASR A[23:18] ビット指定が有効 )
1
1
512 K
バイト
(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
のみ有効
ASZ[1:0] では , ASR とのアドレス比較のビット数を変更させることにより , 各領域
のサイズを設定します。そのため , ASR は比較されないビットが存在します。
ACR0 の ASZ[1:0] ビットは , RST により "11B" に初期化されますが , この設定にか
かわらず RST 直後の CS0 領域は特別に "00000000H" から "00FFFFFFH"( 全領域 ) に
設定されています。ACR0 への最初の書込み後より , 全領域設定が解除され , 上記の
表に従ったサイズに設定されます。
[bit11] 予約 : 予約ビット
必ず , "0" を設定してください。
[bit10] DBW0 = Data Bus Width[0]
各チップセレクト領域のデータバス幅を以下のとおり設定します。
DBW0
データバス幅
0
8 ビット
1
16 ビット
( バイトアクセス )
( ハーフワードアクセス )
ACR0 の DBW0 ビットは , リセットシーケンス中にモードベクタの WTH ビットの
値と同じ値が自動的に書き込まれます。
[bit9 ∼ bit6] 予約 : 予約ビット
必ず , "0000B" を設定してください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
123
第 3 章 外部バスインタフェース
3.2 外部バスインタフェースのレジスタ説明
MB91313A シリーズ
[bit5] WREN = WRite ENable
各チップセレクト領域の書込みの許可・禁止を設定します。
WREN
書込み許可・禁止
0
書込み禁止
1
書込み許可
書込みが禁止された領域に対する書込みアクセスが内部バスから発生しても , その
アクセスは無視され , 外部アクセスを一切行いません。
データ領域など , 書込みが必要な領域は , WREN ビットに "1" を設定してください。
[bit4] 予約 : 予約ビット
必ず , "0" を設定してください。
[bit3 ∼ bit0] TYP3 ∼ TYP0 = TYPe select
各チップセレクト領域のアクセスタイプを以下のとおり設定します。
TYP3 TYP2 TYP1 TYP0
アクセスタイプ
0
x
x
通常アクセス ( 非同期 SRAM, I/O, single ROM/Flash)
1
x
x
アドレスデータマルチプレックスアクセス (8/16 ビットバス幅限定 )
x
0
RDY 端子による WAIT 挿入無効
x
1
RDY 端子による WAIT 挿入有効
0
x
WR0X, WR1X 端子をライトストローブとして使用
1
x
設定禁止
0
設定禁止
1
設定禁止
0
x
0
1
124
0
0
1
0
設定禁止
0
1
1
設定禁止
1
0
0
設定禁止
1
0
1
設定禁止
1
1
0
設定禁止
1
1
1
マスク領域設定 ( アクセスタイプは重複した領域のものになります ) *
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 3 章 外部バスインタフェース
3.2 外部バスインタフェースのレジスタ説明
MB91313A シリーズ
各ビットは , 組み合せて設定します。
各アクセスタイプの動作詳細は , 動作解説の項を参照してください。
*:
CS 領域マスク設定機能
ある CS 領域 ( 以降 , ベース設定領域とよびます ) の中に , 一部動作設定を変更
した領域を定義したい場合 , 別の CS 領域の設定にて , ACR:TYP[3:0]=1111B を設
定し , マスク設定領域として機能させることができます。
マスク設定機能を使用しない場合 , 複数の CS 領域でオーバラップする領域設
定は禁止します。
マスク設定領域へのアクセスは , 以下のような動作を行います。
- マスク設定領域に対応する CSX はアサートされません。
- ベース設定領域に対応する CSX がアサートされます。
- ACR の以下の設定はマスク設定領域側のものが有効になります。
bit10 DBW0 :
バス幅設定
bit5 WREN :
書込み許可設定 *
*: この設定のみ , ベース設定領域と異なる設定は禁止します。
- ACR の以下の設定はベース設定領域側のものが有効になります。
bit3 ∼ bit0 TYP[3:0] : アクセスタイプ設定
- AWR の設定はマスク設定領域側のものが有効になります。
マスク設定領域は , ほかの CS 領域 ( ベース設定領域 ) 内の一部の領域にのみ
設定できます。ベース設定領域がない領域に対して , マスク設定領域を設けて
はいけません。また , マスク設定領域を複数重複させてはいけません。ASR お
よび ACR:ASZ[1:0] ビットの設定には十分注意してください。
( 制限事項 )
書込み許可設定をマスクで実現することはできません。
書込み許可設定は , ベースとなる CS 領域と , マスク設定領域とで , 同じ設
定としてください。
マスク設定領域で書込み禁止を設定すると ,その領域はマスクされずベース
CS 領域として動作します。
ベース CS 領域で書込み禁止を設定し , マスク設定領域で書込み許可を設定
すると , ベース設定のない領域となり誤動作します。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
125
第 3 章 外部バスインタフェース
3.2 外部バスインタフェースのレジスタ説明
MB91313A シリーズ
■ AWR0 ∼ AWR3 (Area Wait Register)
図 3.2-3 AWR (Area Wait Register) のビット構成
AWR0H
bit15
14
13
12
11
10
9
8
初期値
INIT 時
RST 時
アクセス
アドレス:
000660H
予約
W14
W13
W12
予約
予約
予約
予約
01110000B 01110000B
R/W
bit7
6
5
4
3
2
1
0
予約
W06
予約
W04
予約
W02
W01
W00
01011011B 01011011B
R/W
AWR1H
アドレス:
000662H
bit15
14
13
12
11
10
9
8
予約
W14
W13
W12
予約
予約
予約
予約 0XXX0000B 0XXX0000B
R/W
AWR1L
アドレス:
000663H
bit7
6
5
4
3
2
1
予約
W06
予約
W04
予約
W02
W01
AWR2H
アドレス:
000664H
bit15
14
13
12
11
10
9
予約
W14
W13
W12
予約
予約
予約
AWR2L
アドレス:
000665H
bit7
6
5
4
3
2
1
予約
W06
予約
W04
予約
W02
W01
AWR3H
アドレス:
000666H
bit15
14
13
12
11
10
9
予約
W14
W13
W12
予約
予約
予約
AWR3L
アドレス:
000667H
bit7
6
5
4
3
2
1
予約
W06
予約
W04
予約
W02
W01
AWR0L
アドレス:
000661H
0
W00 0X0X1XXXB 0X0X1XXXB
R/W
8
予約 0XXX0000B 0XXX0000B
R/W
0
W00 0X0X1XXXB 0X0X1XXXB
R/W
8
予約 0XXX0000B 0XXX0000B
R/W
0
W00 0X0X1XXXB 0X0X1XXXB
R/W
R/W: リード / ライト可能
AWR0 ∼ AWR3 は , 各チップセレクト領域の各種ウェイトタイミングを指定します。
ACR0 ∼ ACR3 レジスタのアクセスタイプ (TYP[3:0] ビット ) の設定により , 各ビット
の働きが変わります。
126
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 3 章 外部バスインタフェース
3.2 外部バスインタフェースのレジスタ説明
MB91313A シリーズ
■ 通常アクセスおよびアドレス / データマルチプレックスアクセス
ACR0 ∼ ACR3 レジスタのアクセスタイプ (TYP[3:0] ビット ) に以下の設定を行った
チップセレクト領域は , 通常アクセスまたはアドレス / データマルチプレックスアクセ
ス動作を行う領域となります。
TYP3
TYP2
TYP1
TYP0
0
0
x
x
通常アクセス
( 非同期 SRAM, I/O, single ROM/Flash)
0
1
x
x
アドレスデータマルチプレックスアクセス
(8/16 ビットバス幅限定 )
アクセスタイプ
通常アクセスまたはアドレス / データマルチプレックスアクセス領域に対しての
AWR0 ∼ AWR3 の各ビットの機能を以下に示します。AWR0 以外は初期値が不定です
ので , 各領域を CSER レジスタによって有効にする前に設定を行ってください。
[bit15] 予約 : 予約ビット
必ず , "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 ∼ bit7] 予約 : 予約ビット
必ず , "00000B" を設定してください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
127
第 3 章 外部バスインタフェース
3.2 外部バスインタフェースのレジスタ説明
MB91313A シリーズ
[bit6] W06 = リード→ライトアイドルサイクル (Read → Write Idle Cycle)
リード→ライトアイドルサイクルは , リードサイクル後にライトサイクルが続く場
合に , リードデータとライトデータのデータバス上での衝突を防ぐために設定しま
す。アイドルサイクル中はすべてのチップセレクト信号をネゲートし , データ端子
はハイインピーダンス状態を維持します。
読出し後に書込みが続く場合 , もしくは読出しの後に別のチップセレクト領域への
アクセスが発生した場合に , 指定したアイドルサイクルを挿入します。
W06
リード→ライトアイドルサイクル
0
0 サイクル
1
1 サイクル
[bit5] 予約 : 予約ビット
必ず "0" を設定してください。
[bit4] W04 = ライトリカバリサイクル (Write Recovery Cycle)
ライトリカバリサイクルは , ライトアクセス後に続けてアクセスする際の間隔に制
限のあるデバイスへのアクセスを制御する場合に設定します。ライトリカバリサイ
クル中はすべてのチップセレクト信号をネゲートし , データ端子はハイインピーダ
ンスを維持します。
ライトリカバリサイクルを "1" 以上に設定した場合は , ライトアクセスの後には必
ずライトリカバリサイクルが挿入されます。
W04
ライトリカバリサイクル
0
0 サイクル
1
1 サイクル
[bit3] 予約 : 予約ビット
必ず "1" を設定してください。
128
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 3 章 外部バスインタフェース
3.2 外部バスインタフェースのレジスタ説明
MB91313A シリーズ
[bit2] W02 = アドレス→ CSnX 遅延 (Address → CSnX Delay)
アドレス→ CSnX 遅延設定は , CSnX の立下りに対してアドレスなどが一定のセッ
トアップを必要とする場合や , 連続して同一のチップセレクト領域にアクセスする
際にも CSnX のエッジを必要とする場合などに設定します。
アドレスおよび ASX 出力から , CS0X ∼ CS3X 出力の遅延を設定します。
W02
アドレス→ CSnX 遅延
0
遅延なし
1
遅延あり
"0" を設定し , 遅延なしを選択した場合は , ASX のアサートと同じタイミングで CS0X ∼
CS3Xがアサート開始されます。
このとき,同じチップセレクト領域に連続したアクセスを
実行した場合 , 両アクセスの間も CS0X ∼ CS3X はアサートを継続したまま変化しないこ
とがあります。
"1" を設定し , 遅延ありを選択した場合は , 外部メモリクロック SYSCLK 出力の立
上りから CS0X ∼ CS3X がアサート開始されます。このとき , 同じチップセレクト
領域に連続したアクセスを実行した場合でも , 両アクセスの間に CS0X ∼ CS3X ネ
ゲートタイミングが発生します。
CSnX遅延ありを選択した場合は,遅延させたCSnXのアサートから,読出し/書込みス
トローブをアサートする前に , 1 サイクルのセットアップサイクルを挿入します
(W01 の CSnX → RDX/WRX セットアップ設定と同等の動作となります )。
[bit1] W01 = CSnX → RDX/WRX セットアップ延長サイクル
(CSnX → RDX/WRX setup)
CSnX→RDX/WRXセットアップ延長サイクルは, CSnXアサート後,読出し/書込みス
トローブをアサートするまでの期間を延長する場合に設定します。CSnX アサート
後 , 読出し / 書込みストローブをアサートする前に最低 1 サイクルのセットアップ
延長サイクルを挿入します。
W01
CSnX → RDX/WRX セットアップ延長サイクル
0
0 サイクル
1
1 サイクル
"0" を設定し , 0 サイクルを選択した場合は , 最速で CSnX アサート直後の外部メモ
リクロック SYSCLK 出力の立上りから RDX/WR0X, WR1X が出力されます。WR0X,
WR1X は , 内部バスの状態により , 1 サイクル以上遅れることもあります。
"1" を設定し , 1 サイクルを選択した場合は , RDX/WR0X, WR1X とも , 必ず 1 サイ
クル以上遅れて出力されます。
同一チップセレクト領域内で , CSnX をネゲートしないまま連続してアクセスする
場合 , このセットアップ延長サイクルは挿入されません。アドレス確定のセット
アップ延長サイクルが必須となる場合 , W02 ビットを有効にしてアドレス→ CSnX
遅延を挿入することにより , アクセス時に CSn がいったんネゲートされるため , こ
のセットアップ延長サイクルが有効となります。
W02 の CSnX 遅延設定を挿入してある場合 , W01 ビットの設定によらず常にこの
セットアップサイクルが有効となります。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
129
第 3 章 外部バスインタフェース
3.2 外部バスインタフェースのレジスタ説明
MB91313A シリーズ
[bit0] W00 = RDX/WRX → CSnX ホールド延長サイクル (RDX/WRX → CSnX
Hold Cycle)
RDX/WRX → CSnX ホールド延長サイクルは , 読出し / 書込みストローブネゲート後 ,
CSnX ネゲートまでの期間を延長する場合に設定します。読出し / 書込みストローブ
ネゲート後 , CSnX をネゲートする前に 1 サイクルのホールド延長サイクルを挿入
します。
W00
RDX/WRX → CSnX ホールド延長サイクル
0
0 サイクル
1
1 サイクル
"0" を設定し , 0 サイクルを選択した場合は , RDX/WR0X, WR1X がネゲートされた
後の外部メモリクロック SYSCLK 出力の立上りエッジよりホールド遅延経過後に ,
CS0X ∼ CS3X がネゲートされます。
"1" を設定し , 1 サイクルを選択した場合は , CS0X ∼ CS3X は 1 サイクル遅れてネ
ゲートされます。
同一チップセレクト領域内で , CSnX をネゲートしないまま連続してアクセスする
場合 , このホールド延長サイクルは挿入されません。アドレス確定のホールド延長
サイクルが必須となる場合 , W02 ビットを有効にしてアドレス→ CSnX 遅延を挿入
することにより , アクセス時に CSnX がいったんネゲートされるため , このホール
ド延長サイクルが有効となります。
130
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 3 章 外部バスインタフェース
3.2 外部バスインタフェースのレジスタ説明
MB91313A シリーズ
■ CSER (Chip Select Enable Register)
図 3.2-4 CSER (Chip Select Enable Register) のビット構成
bit
アドレス:
000680H
31
30
29
28
予約
予約
予約
予約
27
26
25
初期値
INIT 時
RST 時
24
CSE3 CSE2 CSE1 CSE0 00000001B 00000001B
アクセス
R/W
各チップセレクト領域の許可 / 禁止を設定します。
[bit31 ∼ bit28] 予約 : 予約ビット
必ず , "0000B" を設定してください。
[bit27 ∼ bit24] CSE3 ∼ CSE0 = チップセレクト領域許可 (Chip select enable 0 ∼ 3)
CS0X ∼ CS3X の各チップセレクト領域許可ビットです。
初期値は , "0001B" で CS0 領域のみ許可されています。
"1" を書き込むことにより ASR0 ∼ ASR3, ACR0 ∼ ACR3, AWR0 ∼ AWR3 の設定に
従い , 動作します。
許可にする前に , 必ず対応するチップセレクト領域のすべての設定を行ってくださ
い。
CM71-10143-5
CSE3 ∼ CSE0
領域コントロール
0
禁止
1
許可
CSE のビット
対応する CSX
bit24 :CSE0
CS0X
bit25 :CSE1
CS1X
bit26 :CSE2
CS2X
bit27 :CSE3
CS3X
FUJITSU SEMICONDUCTOR LIMITED
131
第 3 章 外部バスインタフェース
3.3 チップセレクト領域
3.3
MB91313A シリーズ
チップセレクト領域
外部バスインタフェースは全 4 領域分のチップセレクト領域が設定できます。
■ チップセレクト領域の設定例
各領域のアドレス空間は ASR0 ∼ ASR3(Area Select Register) と ACR0 ∼ ACR3(Area
Configuration Register) にて設定します。CS0X, CS1X は , 64K/128K/256K/512K バイト単
位で , "00000000H" ∼ "003FFFFFH" までの外部バス領域に割り当てられた空間に , CS2X,
CS3Xは, 1M/2M/4M/8Mバイト単位で, "00400000H"∼"00FFFFFFH"の空間に設定可能で
す。
これらのレジスタによって指定された領域に対してバスアクセスを行うと,アクセスサ
イクル中に対応するチップセレクト信号 CS0X ∼ CS3X がアクティブ ("L" 出力 ) にな
ります。
● ASR および ASZ[1:0] の設定例
1. ASR1=0010H ACR1 → ASZ[1:0]=00B チップセレクト領域 1 は , "00100000H" から
"0010FFFFH" に割り当てられます。
2. ASR2=0040H ACR2 → ASZ[1:0]=00B チップセレクト領域 2 は , "00400000H" から
"004FFFFFH" に割り当てられます。
3. ASR3=0081H ACR3 → ASZ[1:0]=11B チップセレクト領域 3 は , "00800000H" から
"00FFFFFFH" に割り当てられます。
このとき , ACR → ASZ[1:0] が 8M バイトの設
定になっていますので , バウンダリは 8M バイ
ト単位となり , ASR3[22:16] は無視されます。
リセット後は , ACR0 に書込みが行われるまでの間 , "00000000H"∼ "00FFFFFFH" がチッ
プセレクト領域 0 に割り当てられます。
( 注意事項 ) チップセレクト領域は , お互いにオーバラップしないように設定してく
ださい。
132
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 3 章 外部バスインタフェース
3.3 チップセレクト領域
MB91313A シリーズ
図 3.3-1 チップセレクト領域の設定例
( 初期値 )
00000000H
(例)
00000000H
00100000H
領域 1
64K バイト
00400000H
領域 2
1M バイト
00800000H
領域 3
8M バイト
領域 0
00FFFFFFH
CM71-10143-5
00FFFFFFH
FUJITSU SEMICONDUCTOR LIMITED
133
第 3 章 外部バスインタフェース
3.4 アドレス / データマルチプレックスインタフェース
3.4
MB91313A シリーズ
アドレス / データマルチプレックスインタフェース
アドレス / データマルチプレックスの動作タイミングを示します。
■ 外部ウェイトなし (TYP[3:0]=0100B, AWR=0008H)
図 3.4-1 アドレス / データマルチプレックスインタフェースのタイミングチャート
( 外部ウェイトなし )
SYSCLK
AD[15:0]
アドレス[15:0]
ASX
CSnX
RDX
読出し
AD[15:0]
アドレス[15:0]
データ[15:0]
WRnX
書込み
AD[15:0]
アドレス[15:0]
データ[15:0]
• ACR レジスタ TYP[3:0]=01xxB と設定することによりアドレス / データマルチプレッ
クスインタフェース設定が可能です。
• アドレス / データマルチプレックスインタフェースに設定した場合 , データバス幅
(DBW0 ビット ) の設定は 8 ビットもしくは 16 ビットに設定してください。
• アドレス / データマルチプレックスインタフェースでは , アドレス出力サイクル 2 サ
イクル + データサイクル 1 サイクルの計 3 サイクルが基本アクセスサイクルとなり
ます。
• アドレス出力サイクルでは , 出力アドレスラッチ信号として ASX をアサートします
が , CSnX → RDX/WRnX セットアップ遅延 (AWR:W01) が "0" に設定してある場合 ,
上図のようにマルチプレックスアドレス出力サイクルが 1 サイクルのみとなり , ア
ドレスを ASX の立上りエッジで直接ラッチすることは不可能となります。このた
め , ASX に "L" がアサートされているサイクルの MCLK の立上りエッジでアドレス
を取り込んでください。アドレスを ASX の立上りエッジで直接ラッチする場合は ,
「■ CSnX → RDX/WRnX セットアップ設定 (TYP[3:0]=0101B, AWR=100BH)」を参照
してください。
134
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 3 章 外部バスインタフェース
3.4 アドレス / データマルチプレックスインタフェース
• AD[15:0] には , 時分割バスサイクル中 , 通常インタフェースと同様にアクセスの先
頭を示すアドレスを出力しますので , アドレス / データマルチプレックスインタ
フェースで 8/16 ビット以上のアドレスを使用したい場合に使用してください。
• 自動ウェイト (AWR:W14 ∼ W12), リード→ライトアイドルサイクル (AWR:W06), ラ
イトリカバリ (AWR:W04), アドレス→ CSnX 遅延 (AWR:W02), CSnX → RDX/WRX
セットアップ遅延 (AWR:W01), RDX/WRX → CSnX ホールド遅延 (AWR:W00) の設
定は , 通常インタフェースと同様に設定可能です。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
135
第 3 章 外部バスインタフェース
3.4 アドレス / データマルチプレックスインタフェース
MB91313A シリーズ
■ 外部ウェイトあり (TYP[3:0]=0101B, AWR=1008H)
図 3.4-2 アドレス / データマルチプレックスインタフェースのタイミングチャート
( 外部ウェイトあり )
SYSCLK
AD[15:0]
アドレス[15:0]
ASX
CSnX
RDX
読出し
AD[15:0]
アドレス[15:0]
データ[15:0]
WRnX
書込み
AD[15:0]
データ[15:0]
アドレス[15:0]
外部ウェイト
解除
RDY
ACR レジスタ TYP[3:0]=01x1B と設定することにより , アドレス / データマルチプレッ
クスインタフェースにおいて RDY 入力を有効とすることが可能です。
136
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 3 章 外部バスインタフェース
3.4 アドレス / データマルチプレックスインタフェース
■ CSnX → RDX/WRnX セットアップ設定 (TYP[3:0]=0101B, AWR=100BH)
図 3.4-3 アドレス / データマルチプレックスインタフェースのタイミングチャート
(CSnX → RDX/WRnX セットアップ設定 )
SYSCLK
AD[15:0]
アドレス[15:0]
ASX
CSnX
RDX
読出し
AD[15:0]
アドレス[15:0]
データ[15:0]
アドレス[15:0]
データ[15:0]
WRnX
書込み
AD[15:0]
CSnX→RDX/WRnXセットアップ遅延 (AWR:W01) を"1"に設定すると,上図のようにマ
ルチプレックスアドレス出力サイクルが 1 サイクル延長され , アドレスを ASX の立上
りエッジで直接ラッチすることが可能となります。SYSCLK を使用せずに ASX を ALE
(Address Latch Enable) ストローブとして使用したい場合にこの設定を用いてください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
137
第 3 章 外部バスインタフェース
3.5 DMA アクセス
3.5
MB91313A シリーズ
DMA アクセス
DMA アクセスの動作タイミングを示します。
■ two-cycle転送(内部RAM→外部I/O, RAM,外部I/O, RAM→内部RAMもタイミング
は同じ ) (TYP[3:0]=0000B, AWR=0008H)
図 3.5-1 2 サイクル転送 ( 内部 RAM →外部 I/O, RAM) のタイミングチャート
(I/O 側のウェイト設定なしの場合 )
SYSCLK
AD[15:0]
I/O アドレス
ASX
CSnX (I/O側)
WRnX
AD[15:0]
バスアクセスは , DMAC 転送でない場合のインタフェースと同様です。
138
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 3 章 外部バスインタフェース
3.5 DMA アクセス
MB91313A シリーズ
■ two-cycle 転送 ( 外部→ I/O) (TYP[3:0]=0000B, AWR=0008H)
図 3.5-2 2 サイクル転送 ( 外部→ I/O) のタイミングチャート ( メモリ , I/O のウェイト設定なしの場合 )
SYSCLK
AD[15:0]
メモリアドレス
アイドル
I/O アドレス
ASX
CSnX
RDX
CSnX
WRnX
AD[15:0]
バスアクセスは , DMAC 転送でない場合のインタフェースと同様です。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
139
第 3 章 外部バスインタフェース
3.5 DMA アクセス
MB91313A シリーズ
■ two-cycle 転送 (I/O →外部 ) (TYP[3:0]=0000B, AWR=0008H)
図 3.5-3 2 サイクル転送 (I/O →外部 ) のタイミングチャート ( メモリ , I/O のウェイト設定なしの場合 )
SYSCLK
AD[15:0]
I/O アドレス
アイドル
メモリアドレス
ASX
CSnX
WRnX
CSnX
RDX
AD[15:0]
バスアクセスは , DMAC 転送でない場合のインタフェースと同様です。
140
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
3.6
第 3 章 外部バスインタフェース
3.6 レジスタの設定手順
レジスタの設定手順
外部バスインタフェースのレジスタの設定手順を示します。
■ レジスタの設定手順
外部バスインタフェースに関する設定手順は , 以下の原則に従ってください。
(1) レジスタの内容を書き換える場合は , 必ず CSER レジスタの対応する領域を "0" に
設定して行ってください。
"1" のまま設定を変更した場合 , その前後のアクセスは保証されません。
(2) レジスタの変更は以下の手順で行ってください。
①該当領域に対応する CSER のビットを "0" に設定してください。
② ASR と ACR をワードアクセスで同時に設定してください。
ASR, ACR をハーフワードでアクセスする場合には ASR 設定後 ACR を設定してく
ださい。
③ AWR を設定してください。
④該当領域に対する CSER のビットを設定してください。
(3) CS0X 領域はリセット解除後から有効になっており , プログラム領域として使用し
ている場合は CSER を "1" のままで書き換える必要がありますが , この場合は内部
クロックが低い初期状態で上記② , ③の設定を行ってください。その後 , クロック
を高速クロックに切り換えてください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
141
第 3 章 外部バスインタフェース
3.7 外部バスインタフェース使用上の注意
3.7
MB91313A シリーズ
外部バスインタフェース使用上の注意
外部バスインタフェースを使用する上での注意事項を説明します。
■ 使用上の注意事項
(1) WR0X, WR1X をライトストローブとして使用する領域 (TYP[3:0]=0X0XB) と WRnX を
ライトストローブとして使用する領域 (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 と設定して WRnX をライトストローブとして使用する領域では ,
WR0X/WR1X 端子がバイトイネーブル (UBX/LBX) 出力となります。この場合 , バイ
トイネーブル出力はアドレスおよび CSX 出力と同一のタイミングで , 各バイト位置
のイネーブル信号を出力します。
このため , WR0X/WR1X 端子を非同期ライトストローブとして使用している領域へ
のアクセスが前後にあった場合 , そちらの領域において , CSX と WR0X/WR1X 間の
交流規格を満足できなくなり , 誤書込みが発生する可能性があります。
リード→ライトアイドルサイクル , およびライトリカバリサイクルを設定した場合 ,
これらサイクルでは , CSX はアサートされません ("H" レベルを維持 ) ので , 上記交流
規格を満足することができます。
WR0X/WR1X 端子を非同期ライトストローブとして使用している領域にて , CSX と
WR0X/WR1X 間の交流規格 ( セットアップおよびホールド ) に対し余裕がある場合
は , 本制限は必要ありません。
142
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第4章
I/O ポート
I/O ポートの概要 , レジスタの構成および機能につ
いて説明します。
4.1 I/O ポートの概要
4.2 ポートデータレジスタの設定
4.3 データ方向レジスタの設定
4.4 拡張ポート制御レジスタの設定
4.5 プルアップ制御レジスタ
4.6 外バス , I2C ブリッジ , ADER 制御レジスタ
4.7 I2C 用ノイズフィルタ制御レジスタ
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
143
第 4 章 I/O ポート
4.1 I/O ポートの概要
4.1
MB91313A シリーズ
I/O ポートの概要
I/O ポートの概要について説明します。
■ ポート基本ブロックダイヤグラム
各端子に対応する外部バスインタフェースやペリフェラルが入出力として端子を使用
しない設定になっているとき , I/O ポートとして使用することができます。
図 4.1-1 に , ポート基本ブロックダイヤグラムを示します。
図 4.1-1 ポート基本ブロックダイヤグラム
R-bus
CMOS
外部バス
インタフェース入力
CMOS
シュミット
ペリフェラル入力
0
PDRリード
1
PullUp
PCR
コント
ロール
33kΩ
外部バス制御出力
ペリフェラル出力
Output
ペリフェラル出力
MUX
出力
ドライバ
端子
PDR
DDR
Port
PFR
EPFR
144
Direction
コント
ロール
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 4 章 I/O ポート
4.1 I/O ポートの概要
MB91313A シリーズ
■ ポートの一般的な仕様
• ポートごとにポートデータレジスタ (PDR) があり , 出力データを格納します。リセッ
ト後 , PDR レジスタの内容は初期化されません。
• ポートごとにデータ方向レジスタ (DDR) があり , ポートの入出力方向を切り換えま
す。リセット後 , すべてのポートは入力となります (DDR=00H)。
- ポート入力モード (PFR=0 & EPFR=0 & DDR=0)
PDR 読出し : 対応する外部端子のレベルが読み出されます。
PDR 書込み : ポートデータレジスタに設定値が書き込まれます。
- ポート出力モード (PFR=0 & EPFR=0 & DDR=1)
PDR 読出し : ポートデータレジスタの値が読み出されます。
PDR 書込み : ポートデータレジスタに設定値が書き込まれ , 対応する外部端子へ
出力されます。
- ペリフェラル出力モード (PFR=0 & EPFR=0 以外の設定 )
PDR 読出し : DDR=0 のときはペリフェラル出力値が読み出されます。
DDR=1 のときはポートデータレジスタの値が読み出されます。
PDR 書込み : ポートデータレジスタに設定値が書き込まれます。
- ポートの状態にかかわらず , ポートデータレジスタへのリードモディファイライ
ト (RMW) 系命令では , レジスタの設定値が読み出されます。
- ペリフェラルへの入力は特別な場合を除き常に端子に接続されています。通常は
ポート入力モードでペリフェラルへの入力を行ってください。
• ポートごとにプルアップ制御レジスタがあり , 端子ごとに 33kΩ のプルアップを設
定することができます。
• ポートにはポートファンクションレジスタ(PFR), 一部のポートにはさらに拡張ポー
トファンクションレジスタ (EPFR) があり , 主にペリフェラルの出力を制御していま
す。
• 外部バスモードで , 外部バスインタフェースに割り当てられている端子は , DDR,
PFR の設定を無効とし , バスインタフェースの機能が優先されます。外部バスモー
ドでこれらの端子を汎用ポート / ペリフェラル出力として使用する場合は , EPFR を
設定しバスインタフェースとしての機能を無効に設定してください。
• STOP モード時入力は "0" 固定となります。ただし , 外部割込み入力は , 対応する割
込みが有効な場合 (ENIR ビットの設定と PFR/EPFR/DDR による入力端子選択 ) は固
定されず , 端子への入力は割込みとして使用することができます。
• ペリフェラルの双方向信号 (UART の I2C 機能 SOT, SCK) は , PFR で有効となりま
す。入出力の切換えについては対応するペリフェラルの章を参照してください。
<注意事項>
汎用ポート入力とペリフェラル入力を切り換えるレジスタはありません。
外部端子から入力された値は , 常に汎用ポートとペリフェラル回路へ伝播しています。
また , DDR で出力設定時も外部へ出力している値が常に汎用ポートとペリフェラル回路
へ伝播しています。
ペリフェラル入力としてご使用の場合は , DDR 入力を使用し , 各ペリフェラル入力信号を
有効にしてください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
145
第 4 章 I/O ポート
4.2 ポートデータレジスタの設定
4.2
MB91313A シリーズ
ポートデータレジスタの設定
ポートデータレジスタの構成と機能について説明します。
ポートごとにポートデータレジスタ (PDR) があり , 出力データを格納します。リセッ
ト後 , PDR レジスタの内容は初期化されません。
■ ポートデータレジスタ (PDR) の構成
ポートデータレジスタ (PDR:Port Data Register) の構成を示します。
図 4.2-1 ポートデータレジスタ (PDR) の構成
PDR0
PDR1
PDR2
PDR3
PDR4
PDR5
PDR6
PDRC
PDRD
PDRE
PDRF
アドレス
000000H
000001H
000002H
000003H
000004H
000005H
000006H
00000CH
00000DH
00000EH
00000FH
bit7
PDR07
PDR17
PDR27
PDR37
PDR47
PDR57
PDRC7
PDRD7
PDRE7
PDRF7
R/W
bit6
PDR06
PDR16
PDR26
PDR36
PDR46
PDR56
PDRC6
PDRD6
PDRE6
PDRF6
R/W
bit5
PDR05
PDR15
PDR25
PDR35
PDR45
PDR55
PDR65
PDRC5
PDRD5
PDRE5
PDRF5
R/W
bit4
PDR04
PDR14
PDR24
PDR34
PDR44
PDR54
PDR64
PDRC4
PDRD4
PDRE4
PDRF4
R/W
bit3
PDR03
PDR13
PDR23
PDR33
PDR43
PDR53
PDR63
PDRC3
PDRD3
PDRE3
PDRF3
R/W
bit2
PDR02
PDR12
PDR22
PDR32
PDR42
PDR52
PDR62
PDRC2
PDRD2
PDRE2
PDRF2
R/W
bit1
PDR01
PDR11
PDR21
PDR31
PDR41
PDR51
PDR61
PDRC1
PDRD1
PDRE1
PDRF1
R/W
bit0
PDR00
PDR10
PDR20
PDR30
PDR40
PDR50
PDR60
PDRC0
PDRD0
PDRE0
PDRF0
R/W
初期値
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
--XXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
PDR0 ∼ PDR6, PDRC ∼ PDRF は , I/O ポートの入出力データレジスタです。
対応する DDR0 ∼ DDR6, DDRC ∼ DDRF で入出力制御を行います。
ポートの状態にかかわらず , ポートデータレジスタへのリードモディファイライト
(RMW) 系命令では , レジスタの設定値が読み出されます。
146
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 4 章 I/O ポート
4.3 データ方向レジスタの設定
MB91313A シリーズ
4.3
データ方向レジスタの設定
データ方向レジスタの構成と機能について説明します。
■ データ方向レジスタ (DDR) の構成
データ方向レジスタ (DDR:Data Direction Register) の構成を示します。
図 4.3-1 データ方向レジスタ (DDR) の構成
DDR0
DDR1
DDR2
DDR3
DDR4
DDR5
DDR6
DDRC
DDRD
DDRE
DDRF
bit7
bit6
bit5
bit4
アドレス
000400H
DDR07 DDR06 DDR05 DDR04
000401H
DDR17 DDR16 DDR15 DDR14
000402H
DDR27 DDR26 DDR25 DDR24
000403H
DDR37 DDR36 DDR35 DDR34
000404H
DDR47 DDR46 DDR45 DDR44
000405H
DDR57 DDR56 DDR55 DDR54
000406H
DDR65 DDR64
00040CH DDRC7 DDRC6 DDRC5 DDRC4
00040DH DDRD7 DDRD6 DDRD5 DDRD4
00040EH DDRE7 DDRE6 DDRE5 DDRE4
00040FH
DDRF7 DDRF6 DDRF5 DDRF4
R/W
R/W
R/W
R/W
bit3
DDR03
DDR13
DDR23
DDR33
DDR43
DDR53
DDR63
DDRC3
DDRD3
DDRE3
DDRF3
R/W
bit2
DDR02
DDR12
DDR22
DDR32
DDR42
DDR52
DDR62
DDRC2
DDRD2
DDRE2
DDRF2
R/W
bit1
DDR01
DDR11
DDR21
DDR31
DDR41
DDR51
DDR61
DDRC1
DDRD1
DDRE1
DDRF1
R/W
bit0
DDR00
DDR10
DDR20
DDR30
DDR40
DDR50
DDR60
DDRC0
DDRD0
DDRE0
DDRF0
R/W
初期値
00000000B
00000000B
00000000B
00000000B
00000000B
00000000B
--000000B
00000000B
00000000B
00000000B
00000000B
• ポートごとにデータ方向レジスタ (DDR) があり , ポートの入出力方向を切り換えま
す。リセット後 , すべてのポートは入力となります (DDR=00H)。
- ポート入力モード (PFR=0 & EPFR=0 & DDR=0)
PDR 読出し : 対応する外部端子のレベルが読み出されます。
PDR 書込み : ポートデータレジスタに設定値が書き込まれます。
- ポート出力モード (PFR=0 & EPFR=0 & DDR=1)
PDR 読出し : ポートデータレジスタの値が読み出されます。
PDR 書込み : ポートデータレジスタに設定値が書き込まれ , 対応する外部端子へ
出力されます。
- ペリフェラル出力モード (PFR=1)
PDR 読出し : 対応するペリフェラル出力値が読み出されます。
PDR 書込み : ポートデータレジスタに設定値が書き込まれます。
- ペリフェラルへの入力は特別な場合を除き常に端子に接続されています。通常は
ポート入力モードでペリフェラルへの入力を行ってください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
147
第 4 章 I/O ポート
4.4 拡張ポート制御レジスタの設定
4.4
MB91313A シリーズ
拡張ポート制御レジスタの設定
拡張ポート制御レジスタの機能について説明します。
■ ポート 0
ポート 0 は PFR0 および EPFR0 により制御されます。
外部バス 16 ビットモードでは , ポート 0 はバスインタフェースの AD[7:0] となります。
それ以外のモードでは , マルチファンクションシリアルインタフェースの ch.3~ch.5 に
割り当てられます。選択可能な入力信号は各リソースにて入力端子の選択を行ってく
ださい。
図 4.4-1 拡張ポート制御レジスタ ( ポート 0) の構成
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
アドレス
初期値
000420
PFR0
H PFR07 PFR06 PFR05 PFR04 PFR03 PFR02 PFR01 PFR00 00000000B
EPFR0 000520H EPFR07 EPFR06 EPFR05 EPFR04 EPFR03 EPFR02 EPFR01 EPFR00 00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
148
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 4 章 I/O ポート
4.4 拡張ポート制御レジスタの設定
表 4.4-1 拡張ポート制御レジスタ ( ポート 0) の機能
ビット
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
CM71-10143-5
PFR
EPFR
0
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
機能
汎用ポート
設定禁止
マルチファンクションシリアルインタフェース 5 の SOT5 出力 /
SDA5 入出力
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
マルチファンクションシリアルインタフェース 4 の SCK4 入出力 /
SCL4 入出力
設定禁止
汎用ポート
設定禁止
マルチファンクションシリアルインタフェース 4 の SOT4 出力 /
SDA4 入出力
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
マルチファンクションシリアルインタフェース 3 の SCK3 入出力 /
SCL3 入出力
設定禁止
汎用ポート
設定禁止
マルチファンクションシリアルインタフェース 3 の SOT3 出力 /
SDA3 入出力
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
FUJITSU SEMICONDUCTOR LIMITED
149
第 4 章 I/O ポート
4.4 拡張ポート制御レジスタの設定
MB91313A シリーズ
■ ポート 1
ポート 1 は PFR1 および EPFR1 で制御されます。
外部バス 8/16 ビットモードでは , ポート 1 はバスインタフェースの AD[15:8] となりま
す。それ以外のモードでは , マルチファンクションシリアルインタフェースの ch.5 ∼
ch.7に割り当てられます。選択可能な入力信号は各リソースにて入力端子の選択を行っ
てください。
図 4.4-2 拡張ポート制御レジスタ ( ポート 1) の構成
PFR1
EPFR1
150
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
アドレス
初期値
000421H PFR17 PFR16 PFR15 PFR14 PFR13 PFR12 PFR11 PFR10 00000000B
000521H EPFR17 EPFR16 EPFR15 EPFR14 EPFR13 EPFR12 EPFR11 EPFR10 00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 4 章 I/O ポート
4.4 拡張ポート制御レジスタの設定
表 4.4-2 拡張ポート制御レジスタ ( ポート 1) の機能
ビット
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
CM71-10143-5
PFR
EPFR
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
1
機能
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
マルチファンクションシリアルインタフェース 7 の SCK7 入出力 /
SCL7 入出力
設定禁止
汎用ポート
設定禁止
マルチファンクションシリアルインタフェース 7 の SOT7 出力 /
SDA7 入出力
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
マルチファンクションシリアルインタフェース 6 の SCK6 入出力 /
SCL6 入出力
設定禁止
汎用ポート
設定禁止
マルチファンクションシリアルインタフェース 6 の SOT6 出力 /
SDA6 入出力
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
マルチファンクションシリアルインタフェース 5 の SCK5 入出力 /
SCL5 入出力
設定禁止
FUJITSU SEMICONDUCTOR LIMITED
151
第 4 章 I/O ポート
4.4 拡張ポート制御レジスタの設定
MB91313A シリーズ
■ ポート 2
ポート 2 は PFR2 および EPFR2 で制御されます。
マルチファンクションシリアルインタフェースの ch.0 ∼ ch.2 に割り当てられます。選
択可能な入力信号は各リソースにて入力端子の選択を行ってください。
図 4.4-3 拡張ポート制御レジスタ ( ポート 2) の構成
PFR2
EPFR2
152
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
アドレス
初期値
000422H PFR27 PFR26 PFR25 PFR24 PFR23 PFR22 PFR21 PFR20 00000000B
000522H EPFR27 EPFR26 EPFR25 EPFR24 EPFR23 EPFR22 EPFR21 EPFR20 11111111B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 4 章 I/O ポート
4.4 拡張ポート制御レジスタの設定
表 4.4-3 拡張ポート制御レジスタ ( ポート 2) の機能
ビット
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
PFR
EPFR
0
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
機能
汎用ポート
設定禁止
マルチファンクションシリアルインタフェース 2 の SOT2 出力 /
SDA2 入出力
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
マルチファンクションシリアルインタフェース 1 の SCK1 入出力 /
SCL1 入出力
設定禁止
汎用ポート
設定禁止
マルチファンクションシリアルインタフェース 1 の SOT1 出力 /
SDA1 入出力
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
マルチファンクションシリアルインタフェース 0 の SCK0 入出力 /
SCL0 入出力
設定禁止
汎用ポート
設定禁止
マルチファンクションシリアルインタフェース 0 の SOT0 出力 /
SDA0 入出力
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
外バス設定時以外の場合は外部アドレス出力に設定しても無効となり汎用ポートとな
ります。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
153
第 4 章 I/O ポート
4.4 拡張ポート制御レジスタの設定
MB91313A シリーズ
■ ポート 3
ポート 3 は PFR3 および EPFR3 で制御されます。
マルチファンクションシリアルインタフェースの ch.2 リロードタイマ 0/1/2 と PWC に
割り当てられます。選択可能な入力信号は各リソースにて入力端子の選択を行ってく
ださい。
図 4.4-4 拡張ポート制御レジスタ ( ポート 3) の構成
PFR3
EPFR3
154
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
アドレス
初期値
000423H PFR37 PFR36 PFR35 PFR34 PFR33 PFR32 PFR31 PFR30 00000000B
000523H EPFR37 EPFR36 EPFR35 EPFR34 EPFR33 EPFR32 EPFR31 EPFR30 11111111B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 4 章 I/O ポート
4.4 拡張ポート制御レジスタの設定
表 4.4-4 拡張ポート制御レジスタ ( ポート 3) の機能
ビット
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
PFR
EPFR
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
機能
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
リロードタイマ TOT2 出力
設定禁止
汎用ポート
設定禁止
リロードタイマ TOT1 出力
設定禁止
汎用ポート
設定禁止
リロードタイマ TOT0 出力
設定禁止
汎用ポート
設定禁止
マルチファンクションシリアルインタフェース 2 の SCK2 入出力 /
SCL2 入出力
設定禁止
外バス設定時以外の場合は外部アドレス出力に設定しても無効となり汎用ポートとな
ります。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
155
第 4 章 I/O ポート
4.4 拡張ポート制御レジスタの設定
MB91313A シリーズ
■ ポート 4
ポート 4 は PFR4 および EPFR4 で制御されます。
多機能タイマに割り当てられます。選択可能な入力信号は各リソースにて入力端子の
選択を行ってください。
図 4.4-5 拡張ポート制御レジスタ ( ポート 4) の構成
PFR4
EPFR4
156
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
アドレス
初期値
000424H PFR47 PFR46 PFR45 PFR44 PFR43 PFR42 PFR41 PFR40 00000000B
000524H EPFR47 EPFR46 EPFR45 EPFR44 EPFR43 EPFR42 EPFR41 EPFR40 11111111B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 4 章 I/O ポート
4.4 拡張ポート制御レジスタの設定
表 4.4-5 拡張ポート制御レジスタ ( ポート 4) の機能
ビット
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
PFR
EPFR
機能
0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
汎用ポート
設定禁止
マルチファンクションシリアルインタフェース 10 の SCK10 入出力 /
SCL10 入出力
設定禁止
汎用ポート
設定禁止
マルチファンクションシリアルインタフェース 10 の SOT10 出力 /
SDA10 入出力
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
TMO3 出力
設定禁止
汎用ポート
設定禁止
TMO2 出力
設定禁止
汎用ポート
設定禁止
TMO1 出力
設定禁止
汎用ポート
設定禁止
TMO0 出力
設定禁止
外バス設定時以外の場合は外部アドレス出力に設定しても無効となり汎用ポートとな
ります。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
157
第 4 章 I/O ポート
4.4 拡張ポート制御レジスタの設定
MB91313A シリーズ
■ ポート 5
ポート 5 は PFR5 および EPFR5 で制御されます。外部バスモード時はバスインタフェー
スの制御端子 (CSnX, ASX, RDX, WRnX) となります。それ以外のモードでは , PPG0 ∼
PPG3 に割り当てられます。選択可能な入力信号は各リソースにて入力端子の選択を
行ってください。
図 4.4-6 拡張ポート制御レジスタ ( ポート 5) の構成
PFR5
EPFR5
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
アドレス
初期値
000425H PFR57 PFR56 PFR55 PFR54 PFR53 PFR52 PFR51 PFR50 00000000B
000525H EPFR57 EPFR56 EPFR55 EPFR54 EPFR53 EPFR52 EPFR51 EPFR50 11111111B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
表 4.4-6 拡張ポート制御レジスタ ( ポート 5) の機能
ビット
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
PFR
EPFR
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
機能
汎用ポート
ライトストローブ 1(WR1X) 出力 ( 外部バス設定時に有効 )
設定禁止
設定禁止
汎用ポート
ライトストローブ 0(WR0X) 出力 ( 外部バス設定時に有効 )
設定禁止
設定禁止
汎用ポート
リードストローブ (RDX) 出力 ( 外部バス設定時に有効 )
設定禁止
設定禁止
汎用ポート
アドレスストローブ (ASX) 出力 ( 外部バス設定時に有効 )
設定禁止
設定禁止
汎用ポート
チップセレクト 3(CS3X) 出力 ( 外部バス設定時に有効 )
PPG3 出力
設定禁止
汎用ポート
チップセレクト 2(CS2X) 出力 ( 外部バス設定時に有効 )
PPG2 出力
設定禁止
汎用ポート
チップセレクト 1(CS1X) 出力 ( 外部バス設定時に有効 )
PPG1 出力
設定禁止
汎用ポート
チップセレクト 0(CS0X) 出力 ( 外部バス設定時に有効 )
PPG0 出力
設定禁止
外バス設定時以外の場合は外部制御出力に設定しても無効となり汎用ポートとなりま
す。
158
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 4 章 I/O ポート
4.4 拡張ポート制御レジスタの設定
MB91313A シリーズ
■ ポート 6
ポート 6 は PFR6 および EPFR6 で制御されます。外部バスモード時はバスインタフェー
スの制御端子 (RDY, SCLK) となります。それ以外のモードでは , リロードタイマに割
り当てられます。選択可能な入力信号は各リソースにて入力端子の選択を行ってくだ
さい。
図 4.4-7 拡張ポート制御レジスタ ( ポート 6) の構成
PFR6
EPFR6
アドレス
000426H
000526H
bit7
R/W
bit6
R/W
bit5
bit4
bit3
bit2
bit1
bit0
初期値
PFR65 PFR64 PFR63 PFR62 PFR61 PFR60 --000000B
EPFR65 EPFR64 EPFR63 EPFR62 EPFR61 EPFR60 --001000B
R/W
R/W
R/W
R/W
R/W
R/W
表 4.4-7 拡張ポート制御レジスタ ( ポート 6) の機能
ビット
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
PFR
EPFR
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
機能
無効
無効
無効
無効
無効
無効
無効
無効
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
CLK 出力 ( 外部バス設定時に有効 )
設定禁止
設定禁止
汎用ポート
RDY 入力
TOT5 出力
設定禁止
汎用ポート
設定禁止
TOT4 出力
設定禁止
汎用ポート
設定禁止
TOT3 出力
設定禁止
外バス設定時以外の場合は外部制御出力に設定しても無効となり汎用ポートとなります。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
159
第 4 章 I/O ポート
4.4 拡張ポート制御レジスタの設定
MB91313A シリーズ
■ ポート C
ポート C は PFRC および EPFRC で制御されます。PPG, マルチファンクションシリア
ルインタフェースの ch.9 と兼用しております。
図 4.4-8 拡張ポート制御レジスタ ( ポート C) の構成
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
アドレス
初期値
PFRC 00042CH PFRC7 PFRC6 PFRC5 PFRC4 PFRC3 PFRC2 PFRC1 PFRC0 00000000B
EPFRC 00052CH EPFRC7 EPFRC6 EPFRC5 EPFRC4 EPFRC3 EPFRC2 EPFRC1 EPFRC0 00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
表 4.4-8 拡張ポート制御レジスタ ( ポート C) の機能
ビット
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
160
PFR
EPFR
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
機能
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
PPGB (PPG2 & PPG3) 出力
設定禁止
汎用ポート
設定禁止
PPGA (PPG0 & PPG1) 出力
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
マルチファンクションシリアルインタフェース 9 の SCK9 入出力 /
SCL9 入出力
設定禁止
汎用ポート
設定禁止
マルチファンクションシリアルインタフェース 9 の SOT9 出力 /
SDA9 入出力
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 4 章 I/O ポート
4.4 拡張ポート制御レジスタの設定
■ ポート D
ポート D は PFRD および EPFRD で制御されます。A/D コンバータのアナログ入力と兼
用しており , ADER レジスタの対応するビットがセットされると , ポートの設定は無効
となり , アナログ入力端子となります。この場合 , 端子への入力値はすべて "0" として
扱われます。選択可能な入力信号は各リソースにて入力端子の選択を行ってください。
図 4.4-9 拡張ポート制御レジスタ ( ポート D) の構成
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
アドレス
初期値
PFRD 00042DH PFRD7 PFRD6 PFRD5 PFRD4 PFRD3 PFRD2 PFRD1 PFRD0 00000000B
EPFRD 00052DH EPFRD7 EPFRD6 EPFRD5 EPFRD4 EPFRD3 EPFRD2 EPFRD1 EPFRD0 00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
表 4.4-9 拡張ポート制御レジスタ ( ポート D) の機能
ビット
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
CM71-10143-5
PFR
EPFR
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
機能
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
設定禁止
設定禁止
FUJITSU SEMICONDUCTOR LIMITED
161
第 4 章 I/O ポート
4.4 拡張ポート制御レジスタの設定
MB91313A シリーズ
<注意事項>
デフォルトで ADER レジスタは A/D アナログ入力に設定されています。アナログ入力以
外の機能を使用する場合は , ADER レジスタの設定をクリアしてください。
162
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 4 章 I/O ポート
4.4 拡張ポート制御レジスタの設定
■ ポート E
ポート E は PFRE および EPFRE で制御されます。マルチファンクションシリアルイン
タフェースの ch.8, A/D コンバータのアナログ入力 PPG と兼用しており , ADER レジス
タの対応するビットがセットされると , ポートの設定は無効となりアナログ入力端子
となります。この場合 , 端子への入力値はすべて "0" として扱われます。選択可能な入
力信号は各リソースにて入力端子の選択を行ってください。
図 4.4-10 拡張ポート制御レジスタ ( ポート E) の構成
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
アドレス
初期値
PFRE 00042EH PFRE7 PFRE6 PFRE5 PFRE4 PFRE3 PFRE2 PFRE1 PFRE0 00000000B
EPFRE 00052EH EPFRE7 EPFRE6 EPFRE5 EPFRE4 EPFRE3 EPFRE2 EPFRE1 EPFRE0 00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
163
第 4 章 I/O ポート
4.4 拡張ポート制御レジスタの設定
MB91313A シリーズ
表 4.4-10 拡張ポート制御レジスタ ( ポート E) の機能
ビット
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
164
PFR
EPFR
機能
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
汎用ポート
設定禁止
マルチファンクションシリアルインタフェース 8 の SCK8 入出力 /
SCL8 入出力
マルチファンクションシリアルインタフェース 8 の SCK8/SCL8 擬似
オープンドレイン出力
汎用ポート
設定禁止
マルチファンクションシリアルインタフェース 8 の SOT8 出力 /
SDA8 入出力
マルチファンクションシリアルインタフェース 8 の SOT8/SDA8 擬
似オープンドレイン出力
汎用ポート
設定禁止
設定禁止
設定禁止
汎用ポート
設定禁止
PPG3 出力
PPG3 擬似オープンドレイン出力
汎用ポート
設定禁止
PPG2 出力
PPG2 擬似オープンドレイン出力
汎用ポート
設定禁止
PPG1 出力
PPG1 擬似オープンドレイン出力
汎用ポート
設定禁止
PPG0 出力
PPG0 擬似オープンドレイン出力
汎用ポート
設定禁止
設定禁止
設定禁止
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 4 章 I/O ポート
4.4 拡張ポート制御レジスタの設定
■ ポート F
ポートFはPFRFおよびEPFRFで制御されます。
CEC, リモコン0, 1と兼用しております。
図 4.4-11 拡張ポート制御レジスタ ( ポート F) の構成
PFRF
EPFRF
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
アドレス
初期値
00042FH PFRF7 PFRF6 PFRF5 PFRF4 PFRF3 PFRF2 PFRF1 PFRF0 00000000B
00052FH EPFRF7 EPFRF6 EPFRF5 EPFRF4 EPFRF3 EPFRF2 EPFRF1 EPFRF0 00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
表 4.4-11 拡張ポート制御レジスタ ( ポート F) の機能
ビット
PFR
EPFR
機能
0
0
汎用ポート
0
1
設定禁止
bit7
1
0
設定禁止
1
1
設定禁止
0
0
汎用ポート
0
1
設定禁止
bit6
1
0
設定禁止
1
1
設定禁止
0
0
汎用ポート
0
1
設定禁止
bit5
1
0
設定禁止
1
1
設定禁止
0
0
汎用ポート
0
1
設定禁止
bit4
1
0
設定禁止
1
1
設定禁止
0
0
汎用ポート
0
1
設定禁止
bit3
1
0
HDMI-CEC1 ACK 出力 *
1
1
設定禁止
0
0
汎用ポート
0
1
設定禁止
bit2
1
0
HDMI-CEC0 ACK 出力 *
1
1
設定禁止
0
0
汎用ポート
0
1
設定禁止
bit1
1
0
HDMI-CEC1 入出力 ( 疑似オープンドレイン )
1
1
設定禁止
0
0
汎用ポート
0
1
設定禁止
bit0
1
0
HDMI-CEC0 入出力 ( 疑似オープンドレイン )
1
1
設定禁止
*:MB91F313A のみ ACK 出力を選択できます。MB91F313 では設定禁止です。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
165
第 4 章 I/O ポート
4.4 拡張ポート制御レジスタの設定
MB91313A シリーズ
<注意事項>
HDMI-CEC 入出力モードは , HDMI-CEC モード使用時のみ設定してください。リモコン
受信モードのときは , 汎用ポートを選択し DDRF レジスタで入力に設定して使用してくだ
さい。
166
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 4 章 I/O ポート
4.5 プルアップ制御レジスタ
MB91313A シリーズ
4.5
プルアップ制御レジスタ
端子には 33kΩ のプルアップを付加する機能があります。この機能はソフトウェア
によりビット単位で制御可能です。
■ プルアップ制御
プルアップ機能はポートプルアップ制御レジスタ (PCR) により , プルアップの制御が
行われます。
以下の場合は , 端子のプルアップは自動的に無効となります。
• ポートが出力状態
• STOP モード出力 Hi-Z 選択時
■ ポートプルアップ制御レジスタ
表 4.5-1 にポートプルアップ・プルダウン制御レジスタの設定を示します。各ビットの
設定値は対応する PCR が設定されているときのみ有効です。
プルアップ制御可能なポートはポート P07 ∼ P00, P17 ∼ P10, P57 ∼ P50, P65 ∼ P60 で ,
それらに対応するビットが存在します。
表 4.5-1 ポートプルアップ・プルダウン制御レジスタの設定
ポートプルアップ・プルダウン制御レジスタ
ビット
PCRxy
0( 初期値 )
1
プルアップなし
プルアップ
図 4.5-1 ポートプルアップ制御レジスタの構成
PCR0
PCR1
PCR5
PCR6
bit7
bit6
bit5
bit4
アドレス
000500H PCR07 PCR06 PCR05 PCR04
000501H PCR17 PCR16 PCR15 PCR14
000505H PCR57 PCR56 PCR55 PCR54
000506H
PCR65 PCR64
CM71-10143-5
bit3
PCR03
PCR13
PCR53
PCR63
bit2
PCR02
PCR12
PCR52
PCR62
FUJITSU SEMICONDUCTOR LIMITED
bit1
PCR01
PCR11
PCR51
PCR61
bit0
PCR00
PCR10
PCR50
PCR60
初期値
00000000B
00000000B
00000000B
--000000B
167
第 4 章 I/O ポート
4.6 外バス , I2C ブリッジ , ADER 制御レジスタ
4.6
MB91313A シリーズ
外バス , I2C ブリッジ , ADER 制御レジスタ
外バスを有効にします。この機能はソフトウェアによりビット単位で制御可能です。
■ ADER : 外バス , I2C ブリッジ , ADER 制御レジスタ
図 4.6-1 外バス ,I2C ブリッジ ,ADER 制御レジスタの構成
アドレス bit
000570H
bit
15
14
13
12
EXT
11
10
9
8
初期値
I2CBR12 I2CBR01 ADER9 ADER8 00000011B
7
6
5
4
3
2
1
0
ADER7 ADER6 ADER5 ADER4 ADER3 ADER2 ADER1 ADER0 11111111B
[bit15 ∼ bit12] EXT : 外バス制御
本ビットに "1010B" を書き込むことにより外バス機能が有効になります。
手順は以下のようになります。
• ポート 2 ∼ポート 5 までの PFR, EPFR レジスタで必要な機能を設定します。
• 外バスインタフェースを設定します (640H ∼ 687H)。
• 本ビットに "1010B" を書き込むことにより外バスが有効になります。
• ポート0, 1のデータバスはモードレジスタの設定または外バスインタフェースで
設定したバス幅に対応します。
• 8 ビットバス幅 : ポート 1 がデータバスになります。
• 16 ビットバス幅 : ポート 0, 1 がデータバスになります。
• 本レジスタを設定しない限りシングルチップとして動作しますのでモードレジ
スタにはバス幅 8 ビットか 16 ビットを設定してください。
[bit11, bit10] I2CBR12, I2CBR01 : I2C ブリッジ機能
本ビットをセット (=1) すると I2C 端子をブリッジすることができます。
• I2CBR12 をセットすると , P24=P27, P25=P30 がそれぞれチップ内部で短絡しま
す。
• I2CBR01 をセットすると , P21=P24, P22=P25 がそれぞれチップ内部で短絡しま
す。
• 両方セットすると P21=P24=P27, P22=P25=P30 がチップ内部で短絡します。
[bit9 ∼ bit0] ADER9 ∼ ADER0 : A/D 入力許可
PD0 ∼ PD7, PE0, PE1 端子は A/D コンバータ入力を兼用しています。A/D のアナロ
グ入力として使用する場合は対応するビットをセットしてください。
本ビットをセット (=1) することによりチップ内部の入力ゲートを "0" に固定にしま
すのでアナログ入力以外の機能を使用する場合は , クリア (=0) にしてください。
本レジスタはハーフワード (16 ビット ) でアクセスしてください。
168
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 4 章 I/O ポート
4.7 I2C 用ノイズフィルタ制御レジスタ
MB91313A シリーズ
4.7
I2C 用ノイズフィルタ制御レジスタ
I2C 用ノイズフィルタ制御レジスタについて説明します。
■ NSF: I2C 用ノイズフィルタ制御レジスタ
図 4.7-1 I2C 用ノイズフィルタ制御レジスタの構成
アドレス bit
000578H
bit
15
7
NSF7
14
6
NSF6
13
5
NSF5
12
4
NSF4
11
3
NSF3
10
NSF10
2
NSF2
9
NSF9
1
NSF1
8
NSF8
0
NSF0
初期値
-----000B
00000000B
[bit10 ∼ bit0] NSF10 ∼ NSF0 : I2C 用ノイズフィルタ許可ビット
NSFn
動作
0
ノイズフィルタ禁止
1
ノイズフィルタ許可
(n=0 ∼ 10)
100kbps より上の速度で使用するときのみ "1" に設定してください。
本レジスタはハーフワード (16 ビット ) でアクセスしてください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
169
第 4 章 I/O ポート
4.7 I2C 用ノイズフィルタ制御レジスタ
170
MB91313A シリーズ
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第5章
16 ビットリロードタイマ
16 ビットリロードタイマの概要 , レジスタの構成 /
機能および動作について説明します。
5.1 16 ビットリロードタイマの概要
5.2 16 ビットリロードタイマのレジスタ
5.3 16 ビットリロードタイマの動作
5.4 カウンタの動作状態
5.5 16 ビットリロードタイマの使用上の注意
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
171
第 5 章 16 ビットリロードタイマ
5.1 16 ビットリロードタイマの概要
5.1
MB91313A シリーズ
16 ビットリロードタイマの概要
16 ビットタイマは , 16 ビットのダウンカウンタ , 16 ビットのリロードレジスタ , 内
部カウントクロック作成用プリスケーラ , コントロールレジスタで構成されていま
す。
■ 16 ビットリロードタイマの概要
本シリーズは , 16 ビットリロードタイマを 0 ∼ 2 までの 3 チャネル内蔵しています。
ch.0 ∼ ch.2 は , 割込みによる DMA 転送の起動が可能です。
入力クロックとして内部クロック 3 種類 ( マシンクロックの 2/8/32 分周 ) と外部クロッ
クから選択できます。
出力端子 (TOUT) はリロードモード時にはアンダフロー発生ごとにトグル出力波形を
出力し , ワンショットモード時にはカウント中を示す矩形波を出力します。
入力端子 (TIN) は外部イベントカウントモード時にイベント入力となり , 内部クロッ
クモード時にはトリガ入力またはゲート入力として使用することができます。
外部イベントカウント機能をリロードモードで使用すると , 外部クロックモードの分
周器として利用することができます。
■ ブロックダイヤグラム
図 5.1-1 に , 16 ビットリロードタイマのブロックダイヤグラムを示します。
図 5.1-1 16 ビットリロードタイマのブロックダイヤグラム
16ビットリロードレジスタ
(TMRLR)
リロード
R-bus
16ビットダウンカウンタ
UF
(TMR)
RELD
OUTL
OUT
CTL
カウント
イネーブル
INTE
AND
クロック
セレクタ
CSL1
CSL0
EXCK
プリスケーラ
プリスケーラ
クリア
UF
CNTE
IRQ
TRG
ポートへ
IN CTL
MOD2
MOD1
MOD0
外部トリガ
選択
外部トリガ入力
φ
172
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 5 章 16 ビットリロードタイマ
5.2 16 ビットリロードタイマのレジスタ
MB91313A シリーズ
16 ビットリロードタイマのレジスタ
5.2
16 ビットリロードタイマで使用するレジスタの構成と機能について説明します。
■ 16 ビットリロードタイマのレジスタ一覧
図 5.2-1 16 ビットリロードタイマのレジスタ一覧
bit
bit
15
14
13
12
11
10
予約
予約
予約
予約
CSL1
CSL0
7
6
5
4
3
2
1
0
予約
OUTL
RELD
INTE
UF
CNTE
TRG
MOD0
bit15
9
8
MOD2 MOD1 コントロールステータスレジスタ
(TMCSR)
bit0
16 ビットタイマレジスタ (TMR)
bit15
CM71-10143-5
bit0 16 ビットリロードレジスタ
(TMRLR)
FUJITSU SEMICONDUCTOR LIMITED
173
第 5 章 16 ビットリロードタイマ
5.2 16 ビットリロードタイマのレジスタ
MB91313A シリーズ
コントロールステータスレジスタ (TMCSR)
5.2.1
コントロールステータスレジスタ (TMCSR) は , 16 ビットタイマの動作モードおよ
び割込みの制御をします。
■ コントロールステータスレジスタ (TMCSR) のビット構成
図 5.2-2 コントロールステータスレジスタ (TMCSR) のビット構成
TMCSR
アドレス
15
14
13
12
11
10
9
8
初期値
予約
予約
予約
予約
CSL1
CSL0
MOD2
MOD1
00000000B
R
R
R
R
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
初期値
MOD0
予約
OUTL
RELD
INTE
UF
CNTE
TRG
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit
ch.0 00004EH
ch.1 000056H
ch.2 00005EH
bit
R/W: リード / ライト可能
R : リードオンリ
UF, CNTE, TRG ビット以外のビットの書換えは , CNTE=0 のときに行うようにしてく
ださい。
コントロールステータスレジスタ (TMCSR) には , 同時書込みが可能です。
以下に , コントロールステータスレジスタ (TMCSR) のビット機能を説明します。
[bit15 ∼ bit12] 予約 : 予約ビット
読出し値は常に "0000B" となります。
[bit11, bit10] CSL1, CSL0 (Count clock SeLect)
これらのビットは , カウントクロックセレクトビットです。これらのビットによっ
て選択されるクロックソースを , 表 5.2-1 に示します。また , 外部イベントカウント
モードを設定した場合のカウント有効エッジは, MOD1, MOD0ビットにより設定さ
れます。
表 5.2-1 CSL ビット設定クロックソース
CSL1
CSL0
クロックソース (φ: マシンクロック )
0
0
φ/21
0
1
φ/23
1
0
φ/25
1
1
外部クロック ( イベント )
( 注意事項 ) 外部クロックに必要な最小パルス幅は , 2T (T: 周辺系クロックマシンサイクル ) です。
174
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 5 章 16 ビットリロードタイマ
5.2 16 ビットリロードタイマのレジスタ
MB91313A シリーズ
[bit9 ∼ bit7] MOD2, MOD1, MOD0 (MODe)
これらのビットは , 動作モードおよび入出力端子の機能を設定するビットです。
MOD2 ビットは , 入力端子の機能を選択するビットです。"0" の場合 , 入力端子はト
リガ入力端子となり , 有効エッジが入力されるとリロードレジスタの内容をカウン
タへロードし , カウント動作を継続します。"1" の場合はゲートカウントモードにな
り , 入力端子はゲート入力となって有効レベルが入力されている間のみカウントを
します。
MOD1, MOD0 ビットは , 各モードにおける端子の機能を設定します。
MOD2, MOD1,
MOD0 ビットの設定内容を , 表 5.2-2 および表 5.2-3 に示します。
表 5.2-2 MOD2, MOD1, MOD0 ビットの設定方法 1
( 内部クロックモード時 (CSL0, CSL1=00B, 01B, 10B) )
MOD2
MOD1
MOD0
入力端子機能
有効エッジ , レベル
0
0
0
トリガ禁止
―
0
0
1
0
1
0
0
1
1
1
×
0
1
×
1
立上りエッジ
トリガ入力
立下りエッジ
両エッジ
"L" レベル
ゲート入力
"H" レベル
表 5.2-3 MOD2, MOD1, MOD0 ビットの設定方法 2
( イベントカウントモード時 (CSL0, CSL1=11B) )
MOD2
×
MOD1
MOD0
入力端子機能
有効エッジ , レベル
0
0
―
―
0
1
1
0
1
1
立上りエッジ
イベント入力
立下りエッジ
両エッジ
( 注意事項 ) 表中の×は , 任意の値
[bit6] 予約 : 予約ビット
読出し時は常に "0" となります。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
175
第 5 章 16 ビットリロードタイマ
5.2 16 ビットリロードタイマのレジスタ
MB91313A シリーズ
[bit5] OUTL
このビットは , TOUT 端子の出力レベルを設定します。このビットが "0" のときと
"1" のときとでは , 端子のレベルが逆になります。このビットと bit4 (RELD ビット )
および I/O ポートの PFR レジスタの該当ビットの組合せによって出力波形を指定し
ます。表 5.2-4 に , これらのビットの組合せによる設定内容を示します。
表 5.2-4 PFR, RELD, OUTL の設定内容
PFR
OUTL
RELD
0
×
×
汎用ポート
1
0
0
カウント中 "H" 矩形波
1
1
0
カウント中 "L" 矩形波
1
0
1
カウンタスタート時 "L" のトグル出力
1
1
1
カウンタスタート時 "H" のトグル出力
出力波形
( 注意事項 ) PFR は I/O ポートの PFR レジスタの該当ビット
[bit4] RELD
このビットは , リロード許可ビットです。"1" のときリロードモードになり , カウン
タの値が "0000H" → "FFFFH" へのアンダフローと同時にリロードレジスタの内容を
カウンタへロードしてカウント動作を続けます。
"0" のときカウンタの値が "0000H " → "FFFFH" へのアンダフローによりカウント動
作を停止します。
[bit3] INTE
このビットは , 割込み要求許可ビットです。INTE ビットが "1" のとき , UF ビット
が "1" になると割込み要求を発生します。
"0" のときは , 割込み要求を発生しません。
[bit2] UF
このビットは , タイマ割込み要求フラグです。カウンタの値が , "0000H " → "FFFFH"
へのアンダフローにより "1" にセットされます。"0" の書込みによってクリアされ
ます。
このビットに対して "1" の書込みは , 動作に影響しません。リードモディファイラ
イト (RMW) 系命令における読出し時には , "1" が読み出されます。
[bit1] CNTE
このビットは , タイマのカウントイネーブルビットです。このビットに "1" を書き
込むと , 起動トリガ待ち状態になります。このビットへ "0" を書き込むと , カウント
動作は停止します。
176
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 5 章 16 ビットリロードタイマ
5.2 16 ビットリロードタイマのレジスタ
[bit0] TRG
このビットは , ソフトウェアトリガビットです。"1" の書込みによりソフトウェアト
リガがかかり , リロードレジスタの内容をカウンタへロードして , カウント動作を
開始します。
このビットに対して "0" の書込みは , 動作に影響しません。読出し値は , 常に "0" で
す。このレジスタによるトリガ入力は , CNTE=1 のときのみ有効となります。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
177
第 5 章 16 ビットリロードタイマ
5.2 16 ビットリロードタイマのレジスタ
5.2.2
MB91313A シリーズ
16 ビットタイマレジスタ (TMR)
16 ビットタイマレジスタ (TMR) は , 16 ビットタイマのカウント値を読み出すこと
ができるレジスタです。初期値は不定です。
このレジスタの読出しは , 必ず 16 ビットデータ転送命令で行ってください。
■ 16 ビットタイマレジスタ (TMR) のビット構成
図 5.2-3 に , 16 ビットタイマレジスタ (TMR) のビット構成を示します。
図 5.2-3 16 ビットタイマレジスタ (TMR) のビット構成
TMR
bit0
~ ~
~ ~
アドレス :
ch.0 00004AH bit15
ch.1 000052H
ch.2 00005AH
R
X
初期値
R
X
R
X
R
X
...
...
R
X
R
X
R
X
R
X
R
X
R: リードオンリ
178
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 5 章 16 ビットリロードタイマ
5.2 16 ビットリロードタイマのレジスタ
MB91313A シリーズ
5.2.3
16 ビットリロードレジスタ (TMRLR)
16 ビットリロードレジスタ (TMRLR) は , カウントの初期値を保持するレジスタで
す。初期値は不定です。
このレジスタへの書込みは , 必ず 16 ビットデータ転送命令で行ってください。
■ 16 ビットリロードレジスタ (TMRLR) のビット構成
図 5.2-4 に , 16 ビットリロードレジスタ (TMRLR) のビット構成を示します。
図 5.2-4 16 ビットリロードレジスタ (TMRLR) のビット構成
TMRLR
bit0
~ ~
~ ~
アドレス :
ch.0 000048H bit15
ch.1 000050H
ch.2 000058H
W
X
初期値
W
X
W
X
W
X
...
...
W
X
W
X
W
X
W
X
W
X
W: ライトオンリ
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
179
第 5 章 16 ビットリロードタイマ
5.3 16 ビットリロードタイマの動作
5.3
MB91313A シリーズ
16 ビットリロードタイマの動作
16 ビットリロードタイマの以下の動作について説明します。
• 内部クロック動作
• アンダフロー動作
• 入力端子機能の動作
• 出力端子機能の動作
■ 内部クロック動作
内部クロックの分周クロックでタイマを動作させる場合 , クロックソースとしてマシ
ンクロックの 2, 8, 32 分周のクロックから選択することができます。
外部入力端子は , レジスタの設定によりトリガ入力またはゲート入力に使用すること
ができます。
カウント許可と同時にカウント動作を開始したい場合は , コントロールステータスレ
ジスタの CNTE ビットと TRG ビットの両方に "1" を書き込んでください。TRG ビット
によるトリガ入力は , タイマが起動状態のとき (CNTE=1) 動作モードにかかわらず常
に有効です。
カウンタの起動および動作について , 図 5.3-1 に示します。
カウンタスタートのトリガが入力されてからリロードレジスタのデータがカウンタへ
ロードされるまでに , T (T: 周辺系クロックマシンサイクル ) の時間がかかります。
図 5.3-1 カウンタの起動および動作
カウントクロック
リロードデータ
カウンタ
-1
-1
-1
データロード
CNTE (ビット)
TRG (ビット)
T
180
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 5 章 16 ビットリロードタイマ
5.3 16 ビットリロードタイマの動作
MB91313A シリーズ
■ アンダフロー動作
カウンタの値が "0000H" から "FFFFH" になる場合をアンダフローとしています。した
がって , [ リロードレジスタの設定値+ 1] カウントでアンダフローが発生します。
アンダフロー発生時にコントロールステータスレジスタ (TMCSR) の RELD ビットが
"1" のとき 16 ビットリロードレジスタ (TMRLR) の内容をカウンタへロードして , カウ
ント動作を継続します。RELD ビットが "0" のとき , カウンタは "FFFFH" で停止します。
アンダフローによりコントロールステータスレジスタ (TMCSR) の UF ビットがセット
され , INTE ビットが "1" のとき , 割込み要求を発生します。
図 5.3-2 に , アンダフロー動作のタイミングチャートを示します。
図 5.3-2 アンダフロー動作のタイミングチャート
[RELD=1]の場合
カウントクロック
カウンタ
0000H
リロードデータ
-1
-1
-1
データロード
アンダフローセット
[RELD=0]の場合
カウントクロック
カウンタ
0000H
FFFFH
アンダフローセット
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
181
第 5 章 16 ビットリロードタイマ
5.3 16 ビットリロードタイマの動作
MB91313A シリーズ
■ 入力端子機能の動作 ( 内部クロックモード時 )
クロックソースとして内部クロックを選択した場合, TIN端子はトリガ入力またはゲー
ト入力として使用することができます。
● トリガ入力の動作
トリガ入力として使用した場合, 有効エッジが入力されると, 16ビットリロードレジス
タ (TMRLR) の内容をカウンタにロードして内部プリスケーラをクリアした後 , カウン
ト動作を開始します。TIN は , 2T (T は周辺系クロックマシンサイクル ) 以上のパルス
を入力してください。
図 5.3-3 に , トリガ入力動作のタイミングチャートを示します。
図 5.3-3 トリガ入力動作のタイミングチャート
カウントクロック
立上りエッジ検出時
TIN
プリスケーラクリア
カウンタ
リロードデータ
-1
-1
-1
-1
ロード
2T~
2.5T
● ゲート入力の動作
ゲート入力として使用する場合 , コントロールステータスレジスタ (TMCSR) の MOD0
ビットによって設定される有効レベルが TIN 端子から入力されている間のみカウント
をします。このとき , カウントクロックは止まらずに動き続けます。ゲートモード時の
ソフトウェアトリガは , ゲートレベルにかかわらず可能です。TIN 端子のパルス幅は ,
2T (T は周辺系クロックマシンサイクル ) 以上にしてください。
図 5.3-4 に , ゲート入力動作のタイミングチャートを示します。
図 5.3-4 ゲート入力動作のタイミングチャート
カウントクロック
MOD0ビット=1とした場合
(入力"H"の間カウント)
TIN
カウンタ
-1
-1
-1
■ 外部イベントカウント動作
外部クロックをセレクトすると , TIN 端子は外部イベント入力端子となり , レジスタで
設定された有効エッジをカウントします。TIN 端子のパルス幅は , 2T (T は周辺系クロッ
クマシンサイクル ) 以上にしてください。
182
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 5 章 16 ビットリロードタイマ
5.3 16 ビットリロードタイマの動作
MB91313A シリーズ
■ 出力端子機能の動作
TOUT 端子は , リロードモード時はアンダフローにより反転するトグル出力として , ワ
ンショットモード時はカウント中を示すパルス出力として機能します。出力極性は , コ
ン ト ロ ー ル ス テ ー タ ス レ ジ ス タ (TMCSR) の OUTL ビ ッ ト に よ り 設 定 で き ま す。
OUTL=0 の場合 , トグル出力は初期値が "0" で , ワンショットパルス出力はカウント中
"1" を出力します。OUTL=1 にすると出力波形は反転します。
図 5.3-5 に , 出力端子機能動作のタイミングチャートを示します。
図 5.3-5 出力端子機能動作のタイミングチャート
[RELD=1, OUTL=0]の場合
カウント開始
アンダフロー
OUTL=1のときは反転
TOUT
汎用ポート
CNTE
起動トリガ
[RELD=0, OUTL=0]の場合
カウント開始
アンダフロー
TOUT
CNTE
OUTL=1で反転
汎用ポート
起動トリガ
起動トリガ待ち状態
■ その他の動作
16 ビットリロードタイマの ch.0 ∼ ch.2 は , その割込み要求信号で DMA 転送を起動す
ることが可能です。
DMA コントローラは , 転送要求の受付けと同時にリロードタイマの割込みフラグをク
リアします。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
183
第 5 章 16 ビットリロードタイマ
5.4 カウンタの動作状態
5.4
MB91313A シリーズ
カウンタの動作状態
カウンタの状態は , コントロールステータスレジスタ (TMCSR) の CNTE ビットと
内部信号の WAIT 信号によって決まります。設定可能な状態として CNTE=0,
WAIT=1 の停止状態 (STOP 状態 ) , CNTE=1, WAIT=1 の起動トリガ待ち状態 (WAIT
状態 ) , CNTE=1, WAIT=0 の動作状態 (RUN 状態 ) があります。
■ カウンタの動作状態
図 5.4-1 に , 各状態の遷移を示します。
図 5.4-1 カウンタの状態遷移
リセット
ハードウェアによる状態遷移
レジスタアクセスによる状態遷移
STOP
CNTE=0,WAIT=1
TIN:入力禁止
TOUT:汎用ポート
カウンタ:停止時の値を保持
リセット直後は不定
CNTE=0
WAIT
CNTE=0
CNTE=1
CNTE=1
TRG=0
TRG=1
CNTE=1,WAIT=1
RUN
TIN:トリガ入力のみ有効
CNTE=1,WAIT=0
TIN: TINとして機能
TOUT:初期値出力
TOUT: TOUTとして機能
RELD・UF
カウンタ:停止時の値を保持
カウンタ:動作
リセット直後ロードするまでは不定
TRG=1
TRG=1
RELD・UF
LOAD
TINからトリガ
184
CNTE=1,WAIT=0
リロードレジスタの内容を
カウンタへロード
FUJITSU SEMICONDUCTOR LIMITED
ロード終了
CM71-10143-5
MB91313A シリーズ
5.5
第 5 章 16 ビットリロードタイマ
5.5 16 ビットリロードタイマの使用上の注意
16 ビットリロードタイマの使用上の注意
16 ビットリロードタイマを使用する上で , 注意しなければならない事項について説
明します。
■ 使用上の注意事項
● 内部プリスケーラ
内部プリスケーラは, コントロールステータスレジスタ (TMCSR) のbit1 (タイマ許可:CNTE)
が "1" に設定されている状態で , トリガ ( ソフトウェアトリガまたは外部トリガ ) がかけら
れることにより動作可能となります。
ゲートカウントモードのみで使用する場合でも, 有効ゲートレベル入力前に必ず1度ト
リガをかけてください。
CNTE を設定するときに , TMCSR レジスタの bit0 (TRG) に "1" を書き込むことを推奨
します。
● 割込み要求フラグのセットとクリアのタイミング
割込み要求フラグをセットするタイミングとクリアタイミングが重複した場合には ,
フラグのセットが優先し , クリア動作は無効となります。
● 16 ビットタイマレジスタ (TMR) /16 ビットリロードレジスタ (TMRLR)
16ビットタイマレジスタへの書込みと16ビットリロードレジスタへリロードのタイミ
ングが重なった場合には , 旧データがカウンタにロードされます。新データがカウンタ
にロードされるのは , 次のリロードのときになります。
● 16 ビットタイマレジスタ (TMR)
16ビットタイマレジスタは, ロードとカウントのタイミングが重なった場合には, ロー
ド ( リロード ) 動作の方が優先されます。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
185
第 5 章 16 ビットリロードタイマ
5.5 16 ビットリロードタイマの使用上の注意
186
MB91313A シリーズ
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第6章
PPG (Programable Pulse
Generator)
PPG タイマの概要 , レジスタの構成 / 機能および
動作について説明します。
6.1 PPG タイマの概要
6.2 PPG タイマの動作説明
6.3 PPG タイマ使用上の注意
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
187
第 6 章 PPG (Programable Pulse Generator)
6.1 PPG タイマの概要
6.1
MB91313A シリーズ
PPG タイマの概要
PPG タイマは , 精度の高い PWM 波形を効率良く出力することができます。
PPG タイマを 4 チャネル内蔵しています。
■ PPG タイマの特長
• 各チャネルは , 16 ビットダウンカウンタ , 周期設定用バッファ付 16 ビットデータレ
ジスタ , デューティ設定用バッファ付 16 ビットコンペアレジスタ , 端子制御部から
構成されます。
• 16 ビットダウンカウンタのカウントクロックは , 4 種類から選択が可能です。
周辺クロック : φ, φ/4, φ/16, φ/64
• カウンタ値は , リセット , カウンタボローで "FFFFH" に初期化することができます。
• 各チャネルごとに PPG 出力 (PPG0 ∼ PPG3) があります。
• レジスタ概要
周期設定レジスタ
: バッファ付 , リロード用データレジスタ
バッファからの転送は起動トリガ検出 およびカウン
タボローにより行います。
カウンタボローにより PPG 出力は反転します。
デューティ設定レジスタ : バッファ付 , コンペアレジスタ
本レジスタ値とカウンタ値一致により PPG 出力は反転
します。
• 端子制御概要
デューティ一致で , "1" にセット ( 優先 ) 。
カウンタボローで , "0" にリセット。
出力値固定モードがあり , オール "L" ( または "H") を簡単に出力できます。
極性指定も可能です。
• 割込み要求は , 以下の組合せから選択して発生することができます。
本タイマ起動 ( ソフトトリガ もしくは トリガ入力 )
カウンタボロー発生 ( 周期一致 )
デューティ一致発生
カウンタボロー発生 ( 周期一致 ) , またはデューティ一致発生
• 動作中の再起動が設定可能です。
• リモコン送信サポート機能があります。
188
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 6 章 PPG (Programable Pulse Generator)
6.1 PPG タイマの概要
MB91313A シリーズ
■ レジスタ一覧
図 6.1-1 PPG のレジスタ一覧
アドレス
bit15
bit0
000120H
PDUT0
R
ch.0 デューティ設定レジスタ
000122H
PCSR0
W
ch.0 周期設定レジスタ
000124H
PTMR0
W
ch.0 タイマレジスタ
000126H
000127H
PCNH0
PCNL0
R/W ch.0 コントロールステータスレジスタ
000128H
PDUT1
R
ch.1 デューティ設定レジスタ
00012AH
PCSR1
W
ch.1 周期設定レジスタ
00012CH
PTMR1
W
ch.1 タイマレジスタ
00012EH
PCNH1
PCNL1
R/W ch.1 コントロールステータスレジスタ
000130H
PDUT2
R
ch.2 デューティ設定レジスタ
000132H
PCSR2
W
ch.2 周期設定レジスタ
000134H
PTMR2
W
ch.2 タイマレジスタ
000136H
PCNH2
PCNL2
R/W ch.2 コントロールステータスレジスタ
000138H
PDUT3
R
ch.3 デューティ設定レジスタ
00013AH
PCSR3
W
ch.3 周期設定レジスタ
00013CH
PTMR3
W
ch.3 タイマレジスタ
00013EH
CM71-10143-5
PCNH3
PCNL3
R/W ch.3 コントロールステータスレジスタ
FUJITSU SEMICONDUCTOR LIMITED
189
第 6 章 PPG (Programable Pulse Generator)
6.1 PPG タイマの概要
MB91313A シリーズ
■ ブロックダイヤグラム
図 6.1-2 ブロックダイヤグラム ( 全体構成 )
TRG入力
外部TRG0
PPG0
PPGタイマ ch.0
PPGA
TRG入力
外部TRG1
PPG1
PPGタイマ ch.1
TRG入力
外部TRG2
PPG2
PPGタイマ ch.2
PPGB
TRG入力
外部TRG3
PPG3
PPGタイマ ch.3
図 6.1-3 1 ブロックダイヤグラム ( チャネル分 )
PCSR
PDUT
プリスケーラ
1/1
1/4
ロード
CK
CMP
1/16
1/64
16ビット
ダウンカウンタ
周辺系クロック
スタート ボロー
PPGマスク
S
Q
PPG出力
R
反転ビット
TRG入力
割込み選択
イネーブル
IRQ
エッジ検出
ソフトトリガ
190
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 6 章 PPG (Programable Pulse Generator)
6.1 PPG タイマの概要
MB91313A シリーズ
■ コントロールステータスレジスタ
図 6.1-4 コントロールステータスレジスタのビット構成
PCNH
アドレス
ch.0 000126H
ch.1 00012EH
ch.2 000136H
ch.3 00013EH
15
bit
14
13
12
11
CNTE STGR MDSE RTRG CKS1
10
9
CKS0 PGMS
8
-
R/W
R/W
R/W
R/W
R/W
R/W
R/W
−
←アクセス
0
0
0
0
0
0
0
○
×
×
×
×
○
−
−
←初期値
○
7
6
5
4
3
2
1
0
IREN
IRQF
IRS1
IRS0
-
OSEL
←動作中の書換え
PCNL
アドレス
ch.0 000127H
ch.1 00012FH
ch.2 000137H
ch.3 00013FH
R/W
−
bit
EGS1 EGS0
R/W
R/W
R/W
R/W
R/W
R/W
−
0
0
0
0
0
0
×
×
○
○
×
×
−
−
R/W ←アクセス
0
←初期値
×
←動作中の書換え
:リード / ライト可能
:未使用
[bit15] CNTE : タイマ許可ビット
16 ビットダウンカウンタの動作を許可するビットです。
0
停止 ( 初期値 )
1
許可
[bit14] STGR : ソフトウェアトリガビット
このビットに "1" を書き込むことによりソフトウェアトリガがかかります。
STGR ビットの読出し値は , 常に "0" です。
[bit13] MDSE : モード選択ビット
連続してパルスを出す PWM 動作か , 単一パルスを出すワンショット動作かを選択
します。
0
PWM 動作 ( 初期値 )
1
ワンショット動作
[bit12] RTRG : 再起動許可ビット
ソフトウェアトリガ , またはトリガ入力による再起動を許可するビットです。
CM71-10143-5
0
再起動禁止 ( 初期値 )
1
再起動許可
FUJITSU SEMICONDUCTOR LIMITED
191
第 6 章 PPG (Programable Pulse Generator)
6.1 PPG タイマの概要
MB91313A シリーズ
[bit11, bit10] CKS1, CKS0: カウントクロック選択ビット
16 ビットダウンカウンタのカウントクロックを選択します。
CKS1
CKS0
0
0
φ ( 初期値 )
0
1
φ/4
1
0
φ/16
1
1
φ/64
周期
φ: 周辺系マシンクロック
[bit9] PGMS : PPG 出力マスク選択ビット
このビットに "1" を書き込むことによりモード設定 , 周期設定値 , デューティ設定値
にかかわらず PPG 出力を "0" または "1" にマスクすることができます。
PGMS に "1" 書込み時の PPG 出力
極性
PPG 出力
通常極性
"L" 出力
反転極性
"H" 出力
通常極性時にオール "H" または反転極性時にオール "L" を出力したい場合は , 周期
設定レジスタとデューティ設定レジスタに同値を書き込めば上記マスク値の反転
を出力することができます。
[bit8] 未使用ビット
[bit7, bit6] EGS1, EGS0: トリガ入力エッジ選択ビット
PPG 入力の有効エッジを選択します。
どのモードを選択していてもソフトトリガのビットに "1" を書き込むとソフトトリ
ガは有効になります。
192
EGS1
EGS0
0
0
無効 ( 初期値 )
0
1
立上りエッジ
1
0
立下りエッジ
1
1
両エッジ
エッジ選択
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 6 章 PPG (Programable Pulse Generator)
6.1 PPG タイマの概要
MB91313A シリーズ
[bit5] IREN : 割込み要求許可ビット
0
禁止 ( 初期値 )
1
許可
[bit4] IRQF : 割込み要求フラグ
bit5 IREN が許可されていて bit3, bit2 IRS1, IRS0 にて選択した割込み要因が発生す
ると , 本ビットがセットされ CPU に割込み要求を発生します。
本ビットは , "0" 書込みによりクリアされます。
"1" を書き込んでもビット値は変化しません。
リードモディファイライト (RMW) 系命令における読出し値は , ビット値にかかわ
らず "1" です。
[bit3, bit2] IRS1, IRS0: 割込み要因選択ビット
bit4 IRQF をセットする要因を選択します。
IRS1
IRS0
0
0
ソフトウェアトリガまたはトリガ入力あり ( 初期値 )
0
1
カウンタボロー発生 ( 周期一致 )
1
0
デューティ一致発生
1
1
カウンタボロー発生 ( 周期一致 ) , またはデューティ一致発生
割込み要因
[bit1] 未使用ビット
[bit0] OSEL : PPG 出力極性指定ビット
PPG 出力の極性を設定します。
bit9 PGMS との組合せで , 以下のようになります。
CM71-10143-5
PGMS
OSEL
0
0
通常極性 ( 初期値 )
0
1
反転極性
1
0
出力 "L" 固定
1
1
出力 "H" 固定
PPG 出力
極性
リセット後
通常極性
"L" 出力
反転極性
"H" 出力
デューティ一致
FUJITSU SEMICONDUCTOR LIMITED
カウンタボロー
193
第 6 章 PPG (Programable Pulse Generator)
6.1 PPG タイマの概要
MB91313A シリーズ
■ PCSR (PPG 周期設定レジスタ )
図 6.1-5 PCSR (PPG 周期設定レジスタ ) のビット構成
PCSR
アドレス
ch.0 000122H
ch.1 00012AH
ch.2 000132H
ch.3 00013AH
bit
bit
15
14
13
12
11
10
9
8
W
W
W
W
W
W
W
W
←アクセス
×
×
×
×
×
×
×
×
←初期値
7
6
5
4
3
2
1
0
W
W
W
W
W
W
W
W
←アクセス
×
×
×
×
×
×
×
×
←初期値
W :ライトオンリ
周期を設定するためのバッファ付レジスタです。バッファからの転送は , カウンタボ
ローで行われます。
周期設定レジスタの初期設定時および書換え時は , 周期設定レジスタの書込み後 , 必ず
デューティ設定レジスタへの書込み動作を行ってください。
本レジスタは , 16 ビットデータでアクセスしてください。
■ PDUT (PPG デューティ設定レジスタ )
図 6.1-6 PDUT (PPG デューティ設定レジスタ ) のビット構成
PDUT
アドレス
bit
ch.0 000120H
ch.1 000128H
ch.2 000130H
ch.3 000138H
bit
15
14
13
12
11
10
9
8
W
W
W
W
W
W
W
W
←アクセス
×
×
×
×
×
×
×
×
←初期値
7
6
5
4
3
2
1
0
W
W
W
W
W
W
W
W
←アクセス
×
×
×
×
×
×
×
×
←初期値
W :ライトオンリ
デューティを設定するためのバッファ付きレジスタです。バッファからの転送は , カウ
ンタボローで行われます。
周期設定レジスタの値とデューティ設定レジスタの値を同じにすると , 通常極性時に
オール "H" を , 反転極性時にオール "L" を出力します。
PCSR < PDUT となるような値を設定しないでください。PPG 出力は不定となります。
本レジスタは , 16 ビットデータでアクセスしてください。
194
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 6 章 PPG (Programable Pulse Generator)
6.1 PPG タイマの概要
MB91313A シリーズ
■ PTMR (PPG タイマレジスタ )
図 6.1-7 PTMR (PPG タイマレジスタ ) のビット構成
PTMR
アドレス
bit
ch.0 000124H
ch.1 00012CH
ch.2 000134H
ch.3 00013CH
15
14
13
12
11
10
9
8
R
R
R
R
R
R
R
R
←アクセス
1
1
1
1
1
1
1
1
←初期値
bit
7
6
5
4
3
2
1
0
R
R
R
R
R
R
R
R
←アクセス
1
1
1
1
1
1
1
1
←初期値
R :リードオンリ
16 ビットダウンカウンタの値を読み出すことができます。
本レジスタは , 16 ビットデータでアクセスしてください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
195
第 6 章 PPG (Programable Pulse Generator)
6.2 PPG タイマの動作説明
MB91313A シリーズ
PPG タイマの動作説明
6.2
PPG タイマの動作を説明します。
■ PWM 動作タイミングチャート
図 6.2-1 PWM 動作タイミングチャート ( 再起動禁止の場合 )
立上りエッジ検出
起動
トリガ
トリガは,無視されます。
m
n
0
PPG
①
②
①
②
=
=
T (n+1) ms
T (m+1) ms
T:カウントクロック周期
m:PCSR値
n:PDUT値
図 6.2-2 PWM 動作タイミングチャート ( 再起動許可の場合 )
立上りエッジ検出
起動
トリガ
トリガにより再起動します。
m
n
0
PPG
①
②
①
②
=
=
T (n+1) ms
T (m+1) ms
T:カウントクロック周期
m:PCSR値
n:PDUT値
● PWM 動作
PWM 動作では , 起動トリガの検出時より連続してパルスを出力することができます。
出力パルスの周期は PCSR 値を変えることにより制御することができ , また , デュー
ティ比は PDUT 値を変えることにより制御できます。
( 注意事項 ) PCSR にデータを書き込んだ後は , 必ず PDUT への書込みを行ってくださ
い。
196
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 6 章 PPG (Programable Pulse Generator)
6.2 PPG タイマの動作説明
MB91313A シリーズ
■ ワンショット動作タイミングチャート
図 6.2-3 ワンショット動作タイミングチャート ( 再起動禁止の場合 )
立上りエッジ検出
起動
トリガ
トリガは,無視されます。
m
n
0
PPG
①
②
①
②
=
=
T (n+1) ms
T (m+1) ms
T:カウントクロック周期
m:PCSR値
n:PDUT値
図 6.2-4 ワンショット動作タイミングチャート ( 再起動許可の場合 )
立上りエッジ検出
トリガにより再起動します。
起動
トリガ
m
n
0
PPG
①
②
①
②
=
=
T (n+1) ms
T (m+1) ms
T:カウントクロック周期
m:PCSR値
n:PDUT値
● ワンショット動作
ワンショット動作では , トリガにより任意の幅の単一パルスを出力することができま
す。
再起動許可の場合は , 動作中にエッジを検出するとカウンタをリロードします。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
197
第 6 章 PPG (Programable Pulse Generator)
6.2 PPG タイマの動作説明
MB91313A シリーズ
■ 割込み要因とタイミングチャート (PPG 出力は通常極性 )
図 6.2-5 割込み要因とタイミングチャート
起動トリガ
最大 2.5T
ロード
クロック
カウント値
X
0003 H
0002 H
0001 H
0000 H
0003 H
PPG
割込み
有効エッジ
デューティ一致
カウンタボロー
起動トリガがかかってからカウント値がロードされるまで , 最大 2.5T(T: カウントク
ロック周期 ) を必要とします。
■ PPG 出力オール "L" または , オール "H" の出力方法例
図 6.2-6 PPG 出力オール "L" または , オール "H" の出力方法
PPG
デューティ
値を小さく
していく
ボローによる割込みでPGMS(マスクビット)
に"1"を書き込みます。
また,ボローによる割込みでPGMS
(マスクビット)に"0"を書き込めばハザード
を出力することなくPWM波形を出力できます。
PPG
デューティ
値を大きく
していく
198
コンペア一致による割込み処理でデューティ
設定レジスタに周期設定レジスタ値と同じ値
を書き込みます。
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
6.3
第 6 章 PPG (Programable Pulse Generator)
6.3 PPG タイマ使用上の注意
PPG タイマ使用上の注意
PPG タイマを使用する上での注意事項を説明します。
■ 注意事項
• 割込み要求フラグセットタイミングとクリアタイミングが重複した場合には , フラ
グセットが優先され , クリア動作は無効となります。
• PPG コントロールレジスタの bit11, bit10 ( カウントロック選択ビット CKS1 および
CKS0) は , 書込み後すぐに反映されるので , 設定変更はカウント停止状態で行って
ください。
• PPG ダウンカウンタ (PPGC : 16 ビットダウンカウンタ ) は , ロードとカウントのタ
イミングが重複した場合は , ロード動作の方を優先します。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
199
第 6 章 PPG (Programable Pulse Generator)
6.3 PPG タイマ使用上の注意
200
MB91313A シリーズ
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第7章
16 ビット・パルス幅カウンタ
PWC タイマの概要レジスタの構成 / 機能および動
作について説明します。
7.1 PWC タイマの概要
7.2 PWC タイマの動作
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
201
第 7 章 16 ビット・パルス幅カウンタ
7.1 PWC タイマの概要
MB91313A シリーズ
PWC タイマの概要
7.1
PWC は外部からの入力信号のパルス幅を 16 ビットのアップカウンタで測定します。
ハードウェアとして , 16 ビットアップカウンタ 1 個 , 8 ビット制御レジスタ 3 個と ,
PWC データレジスタ , PWC 上限データレジスタ , LPF などから構成されています。
• データレジスタ転送時に割込み要求を発生
■ レジスタ構成
アドレス
bit15
0000D0H
bit8 bit7
PWCCL
0000D4H
bit0
PWCCH
PWCD
0000D8H
PWCC2
0000DCH
PWC 制御レジスタ
PWC データレジスタ
予約
PWCUD
PWC 制御レジスタ
PWC 上限データレジスタ
■ ブロックダイヤグラム
図 7.1-1 PWC ブロックダイヤグラム
上限値レジスタ
カウントクロック
カウントクリア
オーバフロー
LPF
RIN
16ビットカウンタ
上限値
カウントクロック
5
4
制御回路
キャプチャレジスタ
サンプリング間隔
フラグセット
制御ビット
PWCD
サンプリング間隔選択
カウントクロック選択
PWCCH
PWCCL
IRQ
内部バス
202
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 7 章 16 ビット・パルス幅カウンタ
7.1 PWC タイマの概要
MB91313A シリーズ
■ PWC 制御レジスタ (PWCCL)
図 7.1-2 PWC 制御レジスタ (PWCCL) のビット構成
PWCCL
アドレス
0000D0H
bit
7
6
5
4
3
2
1
0
初期値
INT
INTE
OVFL
OVFLE
−
−
予約
ST
0000--00B
R/W
R/W
R/W
R/W
−
−
−
R/W
R/W :リード / ライト可能
− :未使用
[bit7] INT
PWC データレジスタにキャプチャデータを転送したことを示すフラグです。キャ
プチャデータ転送割込み要求が許可されているとき , (bit6:INTE=1) 本ビットがセッ
トされると割込み要求が発生します。
リードモディファイライト (RMW) 系命令では "1" が読み出されます。
0
割込み要因クリア
1
キャプチャ・データあり
[bit6] INTE
キャプチャデータ転送割込み要求許可ビットです。
0
割込み要求禁止
1
割込み要求許可
[bit5] OVFL
16 ビットアップカウンタが "FFFFH" から "0000H" へオーバフローしたことを示すフ
ラグです。オーバフロー割込み要求が許可されているとき , (bit4:OVFLE=1) 本ビッ
トがセットされると割込み要求が発生します。
リードモディファイライト (RMW) 系命令では "1" が読み出されます。
0
割込み要因クリア
1
オーバフロー発生
[bit4] OVFLE
オーバフロー割込み要求許可ビットです。
0
割込み要求禁止
1
割込み要求許可
[bit3, bit2] 未使用ビット
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
203
第 7 章 16 ビット・パルス幅カウンタ
7.1 PWC タイマの概要
MB91313A シリーズ
[bit1] 予約 : 予約ビット
予約ビットです。書込み時は必ず "0" を書いてください。
[bit0] ST
PWC スタートビットです。
0
PWC 停止
1
PWC 動作
■ PWC 制御レジスタ (PWCCH)
図 7.1-3 PWC 制御レジスタ (PWCCH) のビット構成
PWCCH
アドレス
0000D0H
bit
7
6
5
4
3
2
1
0
初期値
TEST1
TEST0
-
CSLF1
CSLF0
CS2
CS1
CS0
00-00000B
R/W
R/W
−
R/W
R/W
R/W
R/W
R/W
R/W :リード / ライト可能
− :未使用
[bit7, bit6] TEST1, TEST0
テストビットです。
書込み時は必ず "0" を書いてください。
[bit5] 未使用ビット
[bit4, bit3] CSLF1, CSLF0
LPF のサンプリング間隔を以下から選択します。
CSLF1
CSLF0
0
0
φ × 26
0
1
φ × 28
1
0
φ × 210
1
1
φ × 212
サンプリング間隔
(φ はシステムベースクロックの周期 )
204
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 7 章 16 ビット・パルス幅カウンタ
7.1 PWC タイマの概要
MB91313A シリーズ
[bit2 ∼ bit0] CS2 ∼ CS0
内部カウントクロックを以下のように選択します。
CS2
CS1
CS0
0
0
0
φ
0
0
1
φ × 26
0
1
0
φ × 28
0
1
1
φ × 210
1
0
0
φ × 212
カウントクロック選択
(φ はシステムベースクロックの周期 )
■ PWC データレジスタ (PWCD)
図 7.1-4 PWC データレジスタ (PWCD) のビット構成
PWCD
アドレス bit
15
14
13
12
11
10
9
8
0000D4H
初期値
XXXXXXXXB
bit
R
R
R
R
R
R
R
R
7
6
5
4
3
2
1
0
初期値
XXXXXXXXB
R
R
R
R
R
R
R
R
R :リードオンリ
パルス幅の計測値を格納するレジスタです。入力信号のエッジでのみキャプチャ値を
取り込みます。
オーバフロー時と上限値を超したときは取り込みません。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
205
第 7 章 16 ビット・パルス幅カウンタ
7.1 PWC タイマの概要
MB91313A シリーズ
■ PWC 制御レジスタ 2 (PWCC2)
図 7.1-5 PWC 制御レジスタ 2 (PWCC2) のビット構成
PWCC2
アドレス bit
0000D8H
7
6
UPINT UPINTE
R/W
R/W
5
4
3
2
1
0
初期値
LOW
−
−
−
−
−
000-----B
R/W
−
−
−
−
−
R/W :リード / ライト可能
− :未使用
[bit7] UPINT
設定した上限値レジスタの値までカウントしたことを示すフラグです。上限値割込
み要求が許可されているとき (bit6:UPINTE=1) , 本ビットがセットされると割込み
要求が発生します。
リードモディファイライト (RMW) 系命令では "1" が読み出されます。
0
割込み要因クリア ( 初期値 )
1
上限値オーバカウントあり
[bit6] UPINTE
上限値割込み要求許可ビットです。本ビットに "1" が設定されているとカウンタ値
と上限設定レジスタとの比較を行います。
0
割込み要求禁止 ( 初期値 )
1
割込み要求許可
[bit5] LOW
データレジスタに入っているキャプチャ値が "L" 幅を示すことを表します。
0
"H" 幅測定終了 ( 初期値 )
1
"L" 幅測定終了
[bit4 ∼ bit0] 未使用ビット
206
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 7 章 16 ビット・パルス幅カウンタ
7.1 PWC タイマの概要
MB91313A シリーズ
■ PWC 上限値設定レジスタ (PWCUD)
図 7.1-6 PWC 上限値設定レジスタ (PWCUD) のビット構成
PWCUD
アドレス bit
15
14
13
12
11
10
9
8
0000DCH
初期値
XXXXXXXXB
bit
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
初期値
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W :リード / ライト可能
パルス幅測定の上限値を格納するレジスタです。
本レジスタは各幅に対応しますので , "H" 幅 , "L" 幅にかかわらず上限値を超したパル
スを測定しますと , PWCC2 レジスタの UPINT ビットがセットされます。また , 本レジ
スタをカウンタ値が超した場合でもカウントは連続して行われ , 停止しません。また ,
本レジスタの初期値は不定ですので , PWCC2 レジスタの UPINTE ビットに "1" を書い
て上限値の比較をする前に上限値を書き込んでください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
207
第 7 章 16 ビット・パルス幅カウンタ
7.2 PWC タイマの動作
7.2
MB91313A シリーズ
PWC タイマの動作
PWC は 16 ビットアップカウンタ , 8 ビット制御レジスタ 3 個 , PWC データレジス
タ , 上限値設定レジスタ , LPF などから構成され , パルス幅を測定します。また , カ
ウントクロックは 5 種類から選択可能です。
以下に , 基本動作について説明します。
■ 動作概要
● パルス幅カウント動作
PWC は , RIN 信号の立上りおよび , 立下りエッジでカウンタ値のキャプチャとカウン
タのクリアを行います。クリアされたカウンタは , そのままカウント動作を継続しま
す。また , キャプチャを行うと割込みを発生します。
カウンタ値が "FFFFH" から "0000H" になるとオーバフローによる割込みを発生します。
図 7.2-1 にこれらの動作を示します。
図 7.2-1 PWC 動作図
ST(動作許可)
RIN入力
上限値割込みをセットするが、
キャプチャはしない
↑エッジ
↓エッジ
FFFFH
上限値 mmmmH
カウント値
0000H
PWCD *
xxxxH
aaaaH
bbbbH
ccccH
ddddH
eeeeH
INT *
UPINT *
OVFL *
LOW *
* : これらは内部信号です。
( 注意事項 ) 動作許可後 (ST=1) の最初のエッジでは , キャプチャはしません。
208
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 7 章 16 ビット・パルス幅カウンタ
7.2 PWC タイマの動作
MB91313A シリーズ
■ カウントクロックの選択
カウンタのカウントクロックは , 5 種類から選択することができます。
選択できるカウントクロックは , 以下のとおりです。
CS2
CS1
CS0
0
0
0
カウントクロック選択
PLL2 逓倍 (33MHz)
PLL オフ ( 原発振 16.5MHz)
0
CLKP
30ns
61ns
0
1
φ × 26 *
1.9μs
3.8μs
0
1
0
φ × 28 *
7.8μs
15.5μs
0
1
1
φ × 210 *
31.0μs
62.1μs
1
0
0
φ × 212 *
124.1μs
248.2μs
(CLKP は周辺クロック , φ はシステムベースクロックの周期 )
■ LPF のサンプリング間隔について
LPF のサンプリング間隔を以下の設定から選択することができます。
CSLF1
CSLF0
0
0
φ × 26 *
1.9μs
3.8μs
0
1
φ × 28 *
7.8μs
15.5μs
1
0
φ × 210 *
31.0μs
62.1μs
1
1
φ × 212 *
124.1μs
248.2μs
サンプリング間隔
PLL2 逓倍 (33MHz)
PLL オフ ( 原発振 16.5MHz)
(φ はシステムベースクロックの周期 )
* : 設定時の注意
PWC の動作クロックは , CLKP です。カウントクロック , LPF のサンプリングク
ロックは φ で動作します。
よって , PWC の動作クロックよりカウントクロック , LPF のサンプリングクロッ
クの方が早いと正しく動作しません。
周期 : PWC の動作クロック× 4 < カウントクロック
PWC の動作クロック× 4 < LPF のサンプリングクロック の条件を守ってくだ
さい。
例 : CLKP : 33MHz 時 → 30ns × 4 < カウントクロック (φ × 26 : 1.9μs) 問題なし
CLKP : 16.5MHz 時 → 61ns × 4 < カウントクロック (φ × 26 : 1.9μs) 問題なし
CLKP : 8.25MHz 時 → 121ns × 4 < カウントクロック (φ × 26 : 1.9μs) 問題なし
CLKP : 4.13MHz 時 → 242ns × 4 < カウントクロック (φ × 26 : 1.9μs) 問題なし
CLKP : 0.26MHz 時 → 3879ns × 4 < カウントクロック (φ × 26 : 1.9μs) 設定禁止
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
209
第 7 章 16 ビット・パルス幅カウンタ
7.2 PWC タイマの動作
MB91313A シリーズ
図 7.2-2 LPF の動作
"L"が除去されます
"H"が除去されます
入力信号
サンプリング
クロック
内部LPF出力
"H"が除去されます
"L"が除去されます
入力信号
サンプリング
クロック
内部LPF出力
■ 割込み要求発生
以下の 3 つの割込み要求を発生することが可能です。
• キャプチャデータ転送による割込み要求
PWC データレジスタにキャプチャデータを転送すると割込みフラグがセットされ ,
割込み要求が許可されていると割込み要求が発生します。
• カウンタのオーバフローによる割込み要求
測定中 , カウンタ値が "FFFFH" から "0000H" へオーバフローするとオーバフローフ
ラグがセットされ , 割込み要求が許可されていると割込み要求が発生します。
オーバフローではキャプチャはしません。
• カウンタ中の上限値レジスタを超えてカウントした場合の割込み要求
測定中 , カウンタ値が上限設定レジスタの値より大きくなった場合 , 上限フラグが
セットされ , 割込み要求が許可されていると割込み要求が発生します。
210
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第8章
多機能タイマ
多機能タイマの概要 , レジスタの構成 / 機能および
動作について説明します。
8.1 多機能タイマの概要
8.2 レジスタ詳細説明
8.3 多機能タイマの動作
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
211
第 8 章 多機能タイマ
8.1 多機能タイマの概要
8.1
MB91313A シリーズ
多機能タイマの概要
多機能タイマは 16 ビットのアップカウンタ 4 チャネルで構成されています。その機
能は以下の特長があります。
• ローパスフィルタにより設定クロック以下のノイズを除去
• 7 種類のクロック信号を使った細かい設定によるパルス幅計測が可能
• 端子入力からのイベントカウント機能
• 7 種類のクロックおよび外部入力クロックを使用したインターバルタイマ機能
• HSYNC カウンタ機能
■ レジスタ一覧
図 8.1-1 多機能タイマのレジスタ一覧
アドレス
212
0000F0H
T0LPCR
T0CCR
(R/W)
0000F2H
T0TCR
T0R
(R/W)
0000F4H
T0DRR
(R/W)
0000F6H
T0CRR
(R/W)
0000F8H
T1LPCR
T1CCR
(R/W)
0000FAH
T1TRR
T1R
(R/W)
0000FCH
T1DRR
(R/W)
0000FEH
T1CRR
(R/W)
000100H
T2LPCR
T2CCR
(R/W)
000102H
T2TRR
T2R
(R/W)
000104H
T2DRR
(R/W)
000106H
T2CRR
(R/W)
000108H
T3LPCR
T3CCR
(R/W)
00010AH
T3TRR
T3R
(R/W)
00010CH
T3DRR
(R/W)
00010EH
T3CRR
(R/W)
000110H
TMODE
(R/W)
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 8 章 多機能タイマ
8.1 多機能タイマの概要
MB91313A シリーズ
■ ブロックダイヤグラム
図 8.1-2 単体ブロック図
同期化
分周器
TO
C
CLKP
CKI
CK
イベントカウンタ時
16ビットカウンタ
CNT
CPIB
エッジ
検出
EN
CLR
インターバル
レジスタ
同期化
CPIA
キャプチャ
レジスタ
LPF
割込み
分周
CLKP
OUT
図 8.1-3 全体ブロック図
HCNTMD
CKI
TMO0
TMI0
TO
Ch.0
CPIA
OUT
CPIB
CKI
TMO1
TMI1
TO
Ch.1
CPIA
CPIB
CKI
TMO2
TMI2
TO
Ch.2
CPIA
CPIB
CKI
TMO3
TMI3
TO
Ch.3
CPIA
CPIB
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
213
第 8 章 多機能タイマ
8.2 レジスタ詳細説明
MB91313A シリーズ
レジスタ詳細説明
8.2
■ TxLPCR ( ローパスフィルタ制御レジスタ )
図 8.2-1 TxLPCR ( ローパスフィルタ制御レジスタ ) のビット構成
TxLPCR
アドレス bit
ch.0 0000F0H
ch.1 0000F8H
ch.2 000100H
ch.3 000108H
15
14
13
12
11
10
9
8
初期値
−
−
−
−
−
FCx1
FCx0
FxEN
-----000B
−
−
−
−
−
R/W
R/W
R/W
R/W :リード / ライト可能
− :未使用
TxLPCR は , 各入力端子に対するローパスフィルタ の設定を行います。8 ビットでのア
クセスが可能なレジスタです。本フィルタは論理的にノイズを除去している関係上 , ノ
イズ除去幅+ 2 サイクル分だけ入力波形に対して出力波形はディレイを持ちます。
[bit15 ∼ bit11] 未使用ビット
[bit10, bit9] FCx1, FCx0 ( フィルタクロック選択フラグ ) :
LPF の動作クロックを選択します。
表 8.2-1 動作クロック選択
FCx1
FCx0
クロックサイクル
0
0
φ × 22
0.12μs [ 初期値 ]
0
1
φ × 23
0.24μs
1
0
φ × 24
0.48μs
1
1
φ × 25
0.97μs
ノイズ除去幅 (@33MHz)
[bit8] FxEN ( フィルタ動作許可フラグ ) :
フィルタを使用するかしないかの設定をします。
214
0
フィルタを使用しません [ 初期値 ]
1
フィルタを使用します
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 8 章 多機能タイマ
8.2 レジスタ詳細説明
MB91313A シリーズ
■ TxCCR ( キャプチャ制御レジスタ )
図 8.2-2 TxCCR ( キャプチャ制御レジスタ ) のビット構成
TxCCR
アドレス bit
ch.0 0000F1H
ch.1 0000F9H
ch.2 000101H
ch.3 000109H
7
6
5
4
3
2
1
0
初期値
CPF
−
CPST
CPED
CPIE
CPOV
CPMD
CPIS
0-000000B
R/W
−
R/W
R/W
R/W
R/W
R/W
R/W
R/W :リード / ライト可能
− :未使用
TxCCR は , キャプチャモード時のカウント , エッジ , 割込みの設定を行います。
8 ビットでのアクセスが可能なレジスタです。動作中 ( 全体レジスタの ST=1) に本レジ
スタを書き換えた場合 , タイマの動作は保証できません , 必ず停止状態 (ST=0) で書き
換えてください。
[bit7] CPF ( キャプチャエッジ検出フラグ ) :
キャプチャ終了エッジを検出したことを示します。
0
キャプチャエッジなし [ 初期値 ]
1
キャプチャエッジあり
本ビットへの "1" 書込みは無効です。
( 注意事項 ) 本フラグへのハードと CPU からの同時書込みはハードからの書込みを
優先します。
[bit6] 未使用ビット
[bit5] CPST ( キャプチャ開始エッジ選択フラグ ) :
キャプチャ開始エッジの極性を設定します。
0
立上りエッジ [ 初期値 ]
1
立下りエッジ
( 注意事項 ) キャプチャ終了エッジの極性と同一エッジを設定した場合 , 終了エッ
ジの次のエッジからの再起動となります。
[bit4] CPED ( キャプチャ終了エッジ選択フラグ ) :
キャプチャ終了エッジの極性を設定します。
CM71-10143-5
0
立上りエッジ [ 初期値 ]
1
立下りエッジ
FUJITSU SEMICONDUCTOR LIMITED
215
第 8 章 多機能タイマ
8.2 レジスタ詳細説明
MB91313A シリーズ
[bit3] CPIE ( キャプチャ割込み許可フラグ ) :
キャプチャ終了を要因とした割込みの許可をします。
0
キャプチャ割込み禁止 [ 初期値 ]
1
キャプチャ割込み許可
本ビットが "1" のときに CPF=1 となると CPU に対して割込みを発生します。
[bit2] CPOV ( キャプチャオーバフロー検出フラグ ) :
キャプチャモードのフリーランモードにてカウンタが "FFFFH" から "0000H" への
オーバフローを検出したことを示します。
0
キャプチャオーバフローなし [ 初期値 ]
1
キャプチャオーバフローあり
( 注意事項 ) ・ 本ビットへの "1" 書込みは無効です。
・ 本フラグへのハードとCPU からの同時書込みはハードからの書込み
が優先します。
[bit1] CPMD ( キャプチャカウントモードフラグ ) :
キャプチャカウンタのカウントモードを設定します。
0
フリーランモード [ 初期値 ]
1
上限コンペアモード
[bit0] CPIS ( キャプチャ入力選択フラグ ) :
キャプチャ用の入力信号を選択します。
216
0
CPIA 入力使用 [ 初期値 ]
1
CPIB 入力使用
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 8 章 多機能タイマ
8.2 レジスタ詳細説明
MB91313A シリーズ
■ TxTCR ( タイマ設定レジスタ )
図 8.2-3 TxTCR ( タイマ設定レジスタ ) のビット構成
TxTCR
アドレス bit
ch.0 0000F2H
ch.1 0000FAH
ch.2 000102H
ch.3 00010AH
15
14
13
12
11
10
9
8
初期値
TCF
TSES
TCC
TIE
CINV
TCS2
TCS1
TCS0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W :リード / ライト可能
TxTCR レジスタはタイマの動作を制御します。
8 ビットでのアクセスが可能なレジスタです。
動作中 ( 全体レジスタの ST=1) に本レジスタを書き換えた場合 , タイマの動作は保証で
きません。必ず停止状態 (ST=0) で書き換えてください。
[bit15] TCF ( タイマコンペア一致検出フラグ ) :
タイマのコンペア一致を検出したことを示します。
0
コンペア一致なし [ 初期値 ]
1
コンペア一致あり
( 注意事項 ) ・ 本ビットへの "1" 書込みは無効です。
・ 本フラグへのハードとCPUからの同時書込みはハードからの書込み
を優先します。
[bit14] TSES( タイマスタートエッジ選択フラグ ) :
タイマのスタートエッジの設定を行います。
0
立上りエッジ [ 初期値 ]
1
立下りエッジ
[bit13] TCC ( タイマカウントクリア設定フラグ ) :
タイマがコンペア一致をしたときにカウンタをクリアする設定をします。
0
カウントクリアあり [ 初期値 ]
1
カウントクリアなし
[bit12] TIE ( タイマ割込み許可フラグ ) :
タイマ割込みを許可します。
0
タイマ割込み禁止 [ 初期値 ]
1
タイマ割込み許可
本ビットが "1" のときに TCF=1 となると CPU に対して割込みを発生します。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
217
第 8 章 多機能タイマ
8.2 レジスタ詳細説明
MB91313A シリーズ
[bit11] CINV ( タイマクロック反転フラグ ) :
外部端子からのタイマ入力のクロックを反転します。
0
クロック立上りでカウントアップ [ 初期値 ]
1
クロック立下りでカウントアップ
[bit10 ∼ bit8] TCS2 ∼ TCS0 ( タイマクロック選択フラグ ) :
タイマクロックを選択します。
( 注意事項 ) イベントカウントモードを使用するときは本ビットを "111B" に設定し
てください。
TCS ビット
218
選択クロック , ソース
TCS2
TCS1
TCS0
分周比
周期 (@33MHz)
0
0
0
φ × 23
0.24μs
0
0
1
φ × 25
0.96μs
0
1
0
φ × 27
3.88μs
0
1
1
φ × 29
15.5μs
1
0
0
φ × 210
31.0μs
1
0
1
φ × 212
124.1μs
1
1
0
φ × 214
496.5μs
1
1
1
外部クロック
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 8 章 多機能タイマ
8.2 レジスタ詳細説明
MB91313A シリーズ
■ TxR ( タイマ全体制御レジスタ )
図 8.2-4 TxR ( タイマ全体制御レジスタ ) のビット構成
TxR
アドレス bit
ch.0 0000F3H
ch.1 0000FBH
ch.2 000103H
ch.3 00010BH
7
6
5
4
3
2
1
0
初期値
−
−
−
TST2
TST1
MD1
MD0
ST
---00000B
−
−
−
R/W
R/W
R/W
R/W
R/W
R/W :リード / ライト可能
− :未使用
TxR レジスタはタイマの全体動作制御を制御します。
8 ビットでのアクセスが可能なレジスタです。
[bit7 ∼ bit5] 未使用ビット
[bit4, bit3] TST2, TST1( テストビット ) :
常に "0" を書き込んでください。
[bit2, bit1] MD1, MD0 ( タイマ選択フラグ ) :
タイマ動作を選択します。
MD1
MD0
0
0
インターバルタイマ [ 初期値 ]
0
1
イベントカウント
1
0
キャプチャ
1
1
設定禁止
選択モード
[bit0] ST( タイマ動作開始フラグ ) :
0
タイマ動作を禁止 [ 初期値 ]
1
タイマ動作を許可
ST=0 にする前には CPIE および TIE を "0" に設定してください。
ST=0 になるのと同時に割込み要因が発生した場合は , ST=0 の状態で割込みが発生
してしまいます。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
219
第 8 章 多機能タイマ
8.2 レジスタ詳細説明
MB91313A シリーズ
■ TxDRR ( タイマコンペアデータレジスタ )
図 8.2-5 TxDRR ( タイマコンペアデータレジスタ ) のビット構成
TxDRR
アドレス bit
ch.0 0000F4H
ch.1 0000FCH
ch.2 000104H
ch.3 00010CH
bit
15
14
13
12
11
10
9
8
初期値
D15
D14
D13
D12
D11
D10
D9
D8
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
初期値
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
R/W :リード / ライト可能
本レジスタは , タイマのコンペアデータを格納するレジスタです。このレジスタのデー
タとタイマカウンタの値を比較しコンペア一致を出力します。
したがって , タイマモードにおいてはインターバル時間を設定し , 外部イベントモード
ではイベント回数を設定して使用してください。また , キャプチャモードにおいてはカ
ウント上限値を入力します。本レジスタの 8 ビットアクセスは禁止です。本レジスタ
に "0" を設定すると , 216 カウントします。
■ TxCRR ( キャプチャデータレジスタ )
図 8.2-6 TxCRR ( キャプチャデータレジスタ ) のビット構成
TxCRR
アドレス bit
ch.0 0000F6H
ch.1 0000FEH
ch.2 000106H
ch.3 00010EH
bit
15
14
13
12
11
10
9
8
初期値
D15
D14
D13
D12
D11
D10
D9
D8
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
初期値
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
R/W :リード / ライト可能
本レジスタは , キャプチャの値を読み出すレジスタです。
本レジスタに書き込むことで初期値を入れることも可能です。
本レジスタの 8 ビットアクセスは禁止です。
220
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 8 章 多機能タイマ
8.2 レジスタ詳細説明
MB91313A シリーズ
■ TMODE
図 8.2-7 TMODE のビット構成
TMODE
アドレス
bit
000110H
bit
15
14
13
12
11
10
9
8
初期値
予約
予約
予約
予約
予約
予約
予約
予約
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
初期値
予約
予約
予約
予約
予約
HCNTMD
予約
予約
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W :リード / ライト可能
TMODE は HSYNC カウンタモードを設定するレジスタです。
16 ビットでのアクセスが可能なレジスタです。
[bit15 ∼ bit3] 予約 : 予約ビット
予約ビットです。"0" を書いてください。
[bit2] HCNTMD :
HSYNC カウンタモードを設定します。
0 : 通常モード
1 : HSYNC カウンタモード
HSYNC カウンタモードではカウンタ ch.0 を使用します。
TMI0 に HSYNC, TMI1 に VSYNC を入力し , カウンタをキャプチャモードに設定し
て使用します。
キャプチャ開始エッジと終了エッジは必ず異なるエッジを指定してください。
[bit1, bit0] 予約 : 予約ビット
予約ビットです。"0" を書いてください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
221
第 8 章 多機能タイマ
8.3 多機能タイマの動作
8.3
MB91313A シリーズ
多機能タイマの動作
本タイマはインターバルタイマ , イベントカウント , キャプチャモードの 3 種類の動
作モードを持ちます。
以下に各モードの動作概要を説明します。本モジュールのトグル出力はどのモード
においても初期値は "0" です。
■ インターバルタイマモード
インターバルタイマモードにおいては 7 種類のクロックソースから選択されたクロッ
クを用いてタイマカウントを行い , トグル出力を行い , また , コンペアレジスタ値と一
致した場合に割込みを発生する機能があります。動作状態を下図に示します。
図 8.3-1 インターバルタイマモードの動作状態
FFFFH
コンペアレジスタ値
カウンタ値
0000H
端子出力
割込み
割込みは端子出力エッジにて
発生される
222
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 8 章 多機能タイマ
8.3 多機能タイマの動作
MB91313A シリーズ
■ イベントカウントモード
端子入力のエッジ検出を行い , その回数にてカウントを行うモードです。
カウンタの値がコンペアレジスタと一致すると TCF が "1" となり , その際に TIE = 1
だと割込みを発生します。コンペア一致したときにカウンタをクリアすることができ
ます。
図 8.3-2 イベントカウントモードの動作状態
クロック
端子入力
エッジ検出
コンペア
レジスタ
1
0
カウンタ
4
2
3
4
3
トグル出力
コンペア一致による
出力信号出力
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
この信号により割込み
発生が可能、同様に
カウンタクリアも可能
223
第 8 章 多機能タイマ
8.3 多機能タイマの動作
MB91313A シリーズ
■ キャプチャモード
外部端子入力のエッジからエッジまでの幅を計測することができます。計測用のク
ロックは 7 種類から選択でき , 開始 , 終了エッジは立上りおよび立下りのどちらかを選
択できます。キャプチャの値は , フリーランモードでは終了エッジが来たときのカウン
ト値がキャプチャされ , 上限値コンペアモードでは終了エッジが来る前に上限値コン
ペア値と一致した場合は上限値が , 一致しなかった場合は終了エッジのときのキャプ
チャ値が入力されます。下記にフリーランモードの場合における立上りエッジでカウ
ント開始 , 立下りエッジで終了の場合の例を示します。
図 8.3-3 キャプチャモードでの立上り / 立下り例
外部入力
FFFFH
カウンタ値
0000H
キャプチャレジスタ
XXXXH
7777H
このときの値が
キャプチャされる
224
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 8 章 多機能タイマ
8.3 多機能タイマの動作
MB91313A シリーズ
■ ローパスフィルタについて
本モジュールには外部端子入力ごとに 1 つずつのローパスフィルタが内蔵されていま
す。
本フィルタにおいて , 4 種類の幅にてノイズの除去を論理的に行うことが可能です。
図 8.3-4 ローパスフィルタでのノイズ除去
フィルタクロック
入力信号
取込み信号
ステート
0
1
0
1
2
2
1
2
0
1
1
0
1
2
出力信号
これらのノイズ
が除去される
フィルタクロック
入力信号
取込み信号
ステート
0
0
1
0
出力信号
これらのノイズ
が除去される
CM71-10143-5
フィルタクロックの2サイクル
以上の長さの信号以外はすべて
除去される
FUJITSU SEMICONDUCTOR LIMITED
225
第 8 章 多機能タイマ
8.3 多機能タイマの動作
226
MB91313A シリーズ
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第9章
その他のタイマ
メイン発振安定待ちタイマ , インターバルタイマ ,
時計タイマについて説明します。
9.1 メイン発振安定待ちタイマ
9.2 時計タイマ
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
227
第 9 章 その他のタイマ
9.1 メイン発振安定待ちタイマ
9.1
MB91313A シリーズ
メイン発振安定待ちタイマ
メイン発振安定待ちタイマは , メインクロックに同期してカウントアップする 23
ビットのカウンタで , 一定の時間間隔で繰り返し割込みを発生するインターバルタ
イマ機能があります。
本タイマは , サブクロックで動作中に OSCCR ( 発振制御レジスタ ) の bit8:
OSCDS1 によってメイン発振を一度止めて再度発振させた場合に , メインクロック
を発振安定待ち時間の確保に使用します。
■ メイン発振安定待ちタイマのインターバル時間
表 9.1-1 にインターバル時間の種類を示します。インターバル時間は次の 3 種類の中か
ら選択できます。
表 9.1-1 メイン発振安定待ちタイマのインターバル時間
メインクロック周期
インターバル時間
211/FCL(124μs)
1/FCL( 約 60ns)
216/FCL(3.9ms)
222/FCL(254ms)
( 注意事項 ) FCL はメインクロック発振周波数 ( 数値は 16.5MHz 時の値 )
228
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 9 章 その他のタイマ
9.1 メイン発振安定待ちタイマ
MB91313A シリーズ
■ メイン発振安定待ちタイマのブロックダイヤグラム
図 9.1-1 に , メイン発振安定待ちタイマのブロックダイヤグラムを示します。
図 9.1-1 メイン発振安定待ちタイマのブロックダイヤグラム
メイン発振安定待ち
タイマ用カウンタ
FCL
0
1
2
3
4
5
6
7
8
10
15
22
21 22 23 24 25 26 27 28 29
211
216
223
(124μs)
インターバル
タイマ
セレクタ
(3.9ms)
(254ms)
カウンタ
クリア回路
リセット
(INIT)
インターバル
タイマ割込み
メイン発振安定待ち
タイマ制御レジスタ
(OSCR)
WIF
WIE
WEN
予約
予約
WS1
WS0
WCL
FCL:メインクロック原発振
( ) 内の数字は、メインクロック原発振16.5MHzの場合の周期
● メイン発振安定待ちタイマ
メインクロック原発振をカウントクロックとする 23 ビットのアップカウンタです。
● カウンタクリア回路
OSCR レジスタによる設定 (WCL=0) 以外に , リセット (INIT) 時にカウンタをクリアし
ます。
● インターバルタイマセレクタ
メイン発振安定待ちタイマ用カウンタの 3 種類の分周出力からインターバルタイマ用
の 1 種類を選択する回路で , 選択した分周出力の立下りエッジが割込み要因になりま
す。
● メイン発振安定待ちレジスタ (OSCR)
インターバル時間の選択 , カウンタのクリア , 割込み制御および状態の確認などを行い
ます。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
229
第 9 章 その他のタイマ
9.1 メイン発振安定待ちタイマ
MB91313A シリーズ
■ メイン発振安定待ちタイマのレジスタ説明
メイン発振安定待ちタイマレジスタのレジスタ構成は , 以下のとおりです。
図 9.1-2 メイン発振安定待ちタイマ制御レジスタのビット構成
OSCR
アドレス
bit
000490H
15
14
13
12
11
10
9
8
WIF
WIE
WEN
WCL
R/W
予約
R/W
WS0
R/W
予約
R/W
WS1
R/W
R/W
R/W
R/W
初期値 (INIT)
0
0
0
0
0
0
0
0
初期値 (RST)
X
X
X
X
X
X
X
X
R/W :リード / ライト可能
[bit15] WIF : タイマ割込みフラグ
メイン発振安定待ち割込み要求フラグです。
選択されたインターバルタイマ用分周出力の立下りエッジによって "1" にセットさ
れます。
このビットと割込み要求許可ビットが "1" のとき , メイン発振安定割込み要求を出
力します。
値
内容
0
メイン発振安定割込みの要求なし [ 初期値 ]
1
メイン発振安定割込みの要求あり
• リセット (INIT) で "0" に初期化されます。
• 読出しおよび書込みが可能です。ただし , 書込みは "0" のみ可能で , "1" を書き込
んでもビット値は変化しません。
• リードモディファイライト (RMW) 系命令での読出し値では常に "1" となります。
[bit14] WIE : タイマ割込み許可ビット
CPU への割込み要求出力の許可 / 禁止を行うビットです。このビットとメイン発振
安定割込み要求フラグビットが "1" のとき , メイン発振安定割込み要求を出力しま
す。
値
内容
0
メイン発振安定割込み要求出力禁止 [ 初期値 ]
1
メイン発振安定割込み要求出力許可
• リセット (INIT) で "0" に初期化されます。
• 読出しおよび書込みが可能です。
230
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 9 章 その他のタイマ
9.1 メイン発振安定待ちタイマ
MB91313A シリーズ
[bit13] WEN : タイマ動作許可ビット
タイマ動作許可ビットです。
本ビットが "1" のときタイマはカウント動作を行います。
値
内容
0
タイマ動作停止 [ 初期値 ]
1
タイマ動作
• リセット (INIT) で "0" に初期化されます。
• 読出しおよび書込みが可能です。
[bit12, bit11] 予約 : 予約ビット
予約ビットです。書込み時は "0" を書き込んでください ("1" 書込み禁止 ) 。
読出し値は不定です。
[bit10, bit9] WS1, WS0 : タイマインターバル時間選択ビット
インターバルタイマの周期を選択します。
メイン発振安定待ちタイマ用カウンタの出力ビットの下記 3 種類のうちから選択し
ます。
インターバルタイマ周期 (FCL=16.5MHz 時 )
WS1
WS0
0
0
設定禁止 [ 初期値 ]
0
1
211/FCL(124μs)
1
0
216/FCL(3.9ms)
1
1
222/FCL(254ms)
• リセット (INIT) で "00B" に初期化されます。
• 読出しおよび書込みが可能です。
• メイン発振安定待ち時間タイマを使用する場合, 本レジスタにデータの書込みを
行ってください。
[bit8] WCL : タイマクリアビット
"0" 書込みでメイン発振安定待ちタイマを "0" にクリアします。
書込みは "0" のみ可能で , "1" を書き込んでも動作に影響を与えません。
• 読出し値は常に "1" となります。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
231
第 9 章 その他のタイマ
9.1 メイン発振安定待ちタイマ
MB91313A シリーズ
■ メイン発振安定待ち割込み
メイン発振安定待ちタイマ用カウンタは , メインクロックでカウント動作し , 設定した
インターバル時間が経過すると , メイン発振安定待ち割込み要求フラグ (WIF) を "1" に
セットします。そのとき , 割込み要求許可ビットを許可 (WIE=1) していると CPU へ割
込み要求が発生します。ただし , メインクロックが発振停止しているとき ( 次項の「■
インターバルタイマ機能の動作」を参照 ) ではカウント動作も停止しますので , メイン
発振安定待ち割込みは発生しません。
割込み処理ルーチンでWIFフラグに"0"を書き込み, 割込み要求をクリアしてください。
なお , WIF ビットは , WIE ビットの値に関系なく , 指定した分周出力が立ち下るとセッ
トされます。
<注意事項>
リセット解除後に割込み要求出力を許可 (WIE=1) する場合および WS1,WS0 ビット変更時
は , 必ず WIF と WCL ビットを同時にクリア (WIF=WCL=0) してください。
<参考>
• WIF ビットが "1" のとき , WIE ビットを禁止から許可 (0 → 1) にすると , 直ちに割込み
要求が発生します。
• カウンタクリア(WPCR:WCL=1)と選択したビットのオーバフローが同時に起こった場
合は , WIF ビットのセットは行われません。
■ インターバルタイマ機能の動作
メイン発振安定待ちタイマ用カウンタはメインクロックにてカウントアップを行いま
すが , 以下の状態ではメインクロック発振が停止するため , カウント動作も停止しま
す。
• WEN ビットが "0" のとき
• ストップモードでメイン発振が停止する設定 ( スタンバイ制御レジスタ STCR の
bit0:OSCD1=1) でストップモードに移行すると , ストップモード中 , カウント動作が
停止
リセット (INIT) 時 OSCD1=1 に初期化しますので , ストップモード中もメイン発振
安定待ちタイマを動かしたい場合は, スタンバイ移行前にOSCD2=0を設定してくだ
さい。
• サブクロックモードで OSCCR ( 発振制御レジスタ ) の bit8:OSCDS1 に "1" を設定時 ,
メイン発振が停止
タイマカウント動作も停止します。
カウンタをクリア (WCL=0) すると , "000000H" からカウント動作を行い , "7FFFFFH" に
達すると "000000H" に戻ってカウントを継続します。カウントアップ中に選択された
インターバルタイマ用の分周出力に立下りエッジが発生すると , メイン発振安定待ち
割込み要求ビット (WIF) を "1" にセットします。すなわち , クリアされた時間を基準に
して , 選択されたインターバル時間ごとにメイン発振安定待ちタイマ割込み要求を発
生します。
232
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 9 章 その他のタイマ
9.1 メイン発振安定待ちタイマ
MB91313A シリーズ
■ クロック供給機能の動作
INIT やストップモード後の発振安定待ち時間の確保にタイムベースカウンタが使用さ
れますが , クロックソースとしてサブクロックを選択中にメインクロックの発振安定
待ち時間を確保するには , クロックソース選択とは無関係にメインクロックで動作す
るメイン発振安定待ちタイマを使用します。
サブクロック動作にてメイン発振停止状態からメインクロックの発振安定待ちを行う
には , 次の手順で行ってください。
1) メインクロックの発振安定に必要な時間を WT1, WT0 ビットに設定し , カウンタ
を "0" にクリアします (WT1, WT0= 発振安定待ち時間 , WCL=0 書込み )。
発振安定待ち完了後の処理を割込みで行いたい場合は , 割込みフラグの初期化
も行います (WIF=0, WIE=0 書込み )。
2) メインクロックの発振を開始します (OSCCR bit8:OSCDS1=1 書込み )。
3) プログラムにて , WIF フラグが "1" になるまで待ちます。
4) WIF フラグが "1" になったのを確認し , 発振安定待ち完了後の処理を行います。
また, 割込みを許可した場合は, WIF=1時に割込みが発生しますので, 割込みルー
チンで発振安定待ち完了後の処理を行ってください。
サブクロックからメインクロックに切り換える場合も , 4) の WIF=1 の確認を待ってか
ら行ってください (発振安定を待たずにメインクロックへ切り換えると, デバイス全体
に不安定なクロックが供給され , その後の動作は保証されません ) 。
■ メイン発振安定待ちタイマの動作
図 9.1-3 に , メイン発振安定待ちタイマ起動時のメインクロックへの移行時のカウンタ
状態を示します。
図 9.1-3 メイン発振安定待ちタイマ起動時のメインクロックへの移行時のカウンタ状態
7FFFFFH
カウンタ値
時間
メインクロック
発振安定待ち時間
・タイマクリア(WCL=1) "0"以外のとき
割込みルーチンで
・インターバル時間設定(WS1, WS0=11B)
クリア
・メイン発振開始(OSCCR: OSCDS1=0)
WIF(割込み要求)
WIE(割込みマスク)
クロックモード
サブクロック
メインクロック
・サブ→メインクロック変更
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
233
第 9 章 その他のタイマ
9.1 メイン発振安定待ちタイマ
MB91313A シリーズ
■ メイン発振安定待ちタイマ使用時の注意事項
発振開始直後は発振周期が不安定なため , 発振安定待ち時間は目安値となります。
メインクロックが発振停止中はカウンタも停止しますので , メイン発振安定割込みも
発生しません。メイン発振安定割込みを使った処理を行う場合は , メイン発振を停止し
ないでください。
WIF フラグセット要求と CPU からの "0" クリアタイミングが重なった場合は , フラグ
セットが優先し , "0" クリアは無効となります。
234
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 9 章 その他のタイマ
9.2 時計タイマ
MB91313A シリーズ
9.2
時計タイマ
時計タイマはサブクロックに同期してカウントアップする 21 ビットのフリーランカ
ウンタで , 一定の時間間隔で繰り返し割込みを発生するインターバルタイマ機能が
あります。
■ 時計タイマのインターバル時間
インターバル時間は次の 7 種類の中から選択できます。
表 9.2-1 時計タイマのインターバル時間
サブクロック周期
インターバル時間
213/FCL (0.25 s)
214/FCL (0.50 s)
215/FCL (1 s)
1/FCL ( 約 30.5 μs)
216/FCL (2 s)
15×215/FCL (15 s)
15×216/FCL (30 s)
15×217/FCL (60 s)
( 注意事項 ) FCL はサブクロック発振周波数 ( 数値は 32.768kHz 時の値 )
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
235
第 9 章 その他のタイマ
9.2 時計タイマ
MB91313A シリーズ
■ 時計タイマのブロックダイヤグラム
図 9.2-1 時計タイマのブロックダイヤグラム
時計タイマ用
カウンタ
0
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15
21 22 23 24 25 26 27 28 29 210 211 212 213 214 215 216
FCL
15 ~ 18
19 20
× 15
216 217
(0.25 s)
(0.5 s)
(1.0 s)
インター
バル
タイマ
セレクタ
(2.0 s)
(15 s)
(30 s)
(60 s)
リセット
(INIT)
カウンタ
クリア回路
時計割込み
時計タイマ
制御レジスタ(WPCR)
WIF
WIE
予約
予約
WS2
WS1
WS0
WCL
FCL: サブクロック原発振
( )内の数字は、サブクロック原発振32.768kHzの場合の周期
【時計タイマ】
サブクロック原発振をカウントクロックとする 21 ビットのアップカウンタです。
【カウンタクリア回路】
WPCR レジスタによる設定 (WCL=0) 以外に , リセット (INIT) 時にカウンタをクリ
アします。
【インターバルタイマセレクタ】
時計タイマ用カウンタの 4 種類の分周出力からインターバルタイマ用の 1 種類を選
択する回路で , 選択した分周出力の立下りエッジが割込み要因になります。
【時計タイマ制御レジスタ (WPCR)】
インターバル時間の選択 , カウンタのクリア , 割込み制御および状態の確認などを
行います。
236
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 9 章 その他のタイマ
9.2 時計タイマ
MB91313A シリーズ
■ 時計タイマのレジスタ
図 9.2-2 時計タイマ制御レジスタのビット構成
WPCR
アドレス
bit
00048CH
15
14
13
12
11
10
9
8
WIF
WIE
予約
W
WS2
WS1
WS0
WCL
R/W
R/W
予約
W
R/W
R/W
R/W
W
初期値 (INIT)
0
0
0
0
0
0
0
0
初期値 (RST)
X
X
X
X
X
X
X
X
R/W :リード / ライト可能
W :ライトオンリ
[bit15] WIF (Watch timer Interrupt Flag)
時計割込み要求フラグです。
選択されたインターバルタイマ用分周出力の立下りエッジによって "1" にセットさ
れます。
このビットと割込み要求許可ビットが "1" のとき , 時計割込み要求を出力します。
0
時計割込みの要求なし ( 初期値 )
1
時計割込みの要求あり
• リセット (INIT) で "0" に初期化されます。
• 読出しおよび書込みが可能です。ただし , 書込みは "0" のみ可能で , "1" を書き込
んでもビット値は変化しません。また , リードモディファイライト (RMW) 系命
令での読出し値では常に "1" となります。
[bit14] WIE (Watch timer Interrupt Enable)
CPU への割込み要求出力の許可 / 禁止を行うビットです。このビットと時計割込み
要求フラグビットが "1" のとき , 時計割込み要求を出力します。
0
時計割込み要求出力禁止 ( 初期値 )
1
時計割込み要求出力許可
• リセット (INIT) で "0" に初期化されます。
• 読出しおよび書込みが可能です。
[bit13, bit12] 予約 : 予約ビット
予約ビットです。書込み時は "0" を書き込んでください ("1" 書込み禁止 )。
読出し値は不定です。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
237
第 9 章 その他のタイマ
9.2 時計タイマ
MB91313A シリーズ
[bit11 ∼ bit9] WS2 ∼ WS0 (Watch timer interval Select 2 ∼ 0)
インターバルタイマの周期を選択します。
時計タイマ用カウンタの出力ビットの下記 7 種類のうちから選択します。
インターバルタイマ周期 (FCL=32.768kHz 時 )
WS1
WS0
WS0
0
0
0
213 / FCL (0.25 s) ( 初期値 )
0
0
1
214 / FCL (0.50 s)
0
1
0
215 / FCL (1 s)
0
1
1
216 / FCL (2 s)
1
0
0
15×215 / FCL (15 s)
1
0
1
15×216 / FCL (30 s)
1
1
0
15×217 / FCL (60 s)
1
1
1
設定禁止
• リセット (INIT) で "000B" に初期化されます。
• 読出しおよび書込みが可能です。
[bit8] WCL (Watch timer CLear)
"0" 書込みで時計タイマを "0" にクリアします。
• 書込みは "0" のみ可能で , "1" を書き込んでも動作に影響しません。
• 読出し値は常に "1" となります。
■ 時計割込み
時計タイマ用カウンタがサブクロックでカウント動作し , 設定したインターバル時間
が経過すると , 時計割込み要求フラグ (WIF) を "1" にセットします。そのとき , 割込み
要求許可ビットを許可 (WIE=1) していると CPU へ割込み要求が発生します。ただし ,
サブクロックが発振停止しているとき (「■ インターバルタイマ機能の動作」を参照 )
ではカウント動作も停止しますので , 時計割込みは発生しません。
割込み処理ルーチンでWIFフラグに"0"を書き込み, 割込み要求をクリアしてください。
なお , WIF ビットは , WIE ビットの値に関係なく , 指定した分周出力が立ち下るとセッ
トされます。
<注意事項>
リセット解除後に割込み要求出力を許可 (WIE=1) する場合および WS1,WS0 ビットの変
更時は , 必ず WIF, WCL ビットを同時にクリア (WIF=WCL=0) してください。
• WIF ビットが "1" のとき , WIE ビットを禁止から許可 (0 → 1) にすると , 直ちに割込み
要求が発生します。
• カウンタクリア(WPCR:WCL=1)と選択したビットのオーバフローが同時に起こった場
合は , WIF ビットのセットは行われません。
238
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 9 章 その他のタイマ
9.2 時計タイマ
■ インターバルタイマ機能の動作
時計タイマ用カウンタはサブクロックが発振中は常にカウントアップをしていますが,
以下の状態時はサブクロック発振が停止するため , カウント動作が停止します。
• クロックソースレジスタ CLKR の bit11:PLL2EN が "0" のとき。
リセット (INIT) 時 , PLL2EN を "0" に初期化しますので , 時計タイマを使用する場合
は , PLL2EN に "1" を書き込んでサブクロックを発振させてください。
• ストップモードでサブ発振が停止する設定 ( スタンバイ制御レジスタ STCR の
bit1:OSCD2=1) でストップモードに移行すると , ストップモード中 , カウント動作が
停止します。リセット (INIT) 時 OSCD2=1 に初期化しますので , ストップモード中も
時計タイマを動かしたい場合は , スタンバイ移行前に OSCD2=0 を設定してくださ
い。
カウンタをクリア (WCL=0) すると , "000000H" からカウント動作を行い , "1FFFFFH" に
達すると "000000H" に戻ってカウントを継続します。カウントアップ中に選択された
インターバルタイマ用の分周出力に立下りエッジが発生すると , 時計割込み要求ビッ
ト (WIF) を "1" にセットします。つまり , クリアされた時間を基準にして , 選択された
インターバル時間ごとに時計割込み要求を発生します。
■ クロック供給機能の動作
INIT やストップモード後の発振安定待ち時間の確保にタイムベースカウンタが使用さ
れますが , クロックソースとしてメインクロックを選択中にサブクロックの発振安定
待ち時間を確保するには , クロックソース選択とは無関係にサブクロックで動作する
時計タイマを使用します。
メインクロック動作からサブクロックの発振安定待ちを行うには , 次の手順で行って
ください。
1) 時計タイマのインターバル時間を 1s(FCL=32.768kHz 時 ) にし , カウンタを "0" に
クリアします (WS2 ∼ WS0=011B, WCL=0 書込み )。
発振安定待ち完了後の処理を割込みで行いたい場合は , 割込みフラグの初期化
も行います (WIF=0, WIE=1 書込み ) 。
2) サブクロックの発振を開始します (CLKR bit11:PLL2EN=1 書込み )。
3) プログラムにて , WIF フラグが "1" になるまで待ちます。
4) WIF フラグが "1" になったのを確認し , 発振安定待ち完了後の処理を行います。
また, 割込みを許可した場合は, WIF=1時に割込みが発生しますので, 割込みルー
チンで発振安定待ち完了後の処理を行ってください。
メインクロックからサブクロックに切り換える場合も , (4) の WIF=1 の確認を待ってか
ら行ってください ( 発振安定を待たずにサブクロックへ切り換えるとデバイス全体に
不安定なクロックが供給され , その後の動作は保証されません ) 。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
239
第 9 章 その他のタイマ
9.2 時計タイマ
MB91313A シリーズ
■ 時計タイマの動作
時計タイマを起動したとき , サブクロックへの移行時 , サブクロック動作でストップ
モードへ移行時のカウンタ状態を以下に示します。
1FFFFFH
カウンタ値
004000H
サブクロック
発振安定待ち時間
・タイマクリア(WCL=1) "0"以外のとき
・インターバル時間設定(WS2~WS0=011B)
・サブ発振開始(CLKR:PLL2EN=1)
インター
バル時間
割込み
ルーチン
でクリア
割込み
ルーチン
でクリア
割込み
ルーチン
でクリア
WIF
クロックソース
メインクロック
サブクロック
ストップ *
クロックモード
RUN
・ インターバル時間を変更(WS2~WS0=010B)
・ メイン→サブクロック変更
RUN
ストップモード移行命令
* : STCR:OSCD2=0(ストップ時発振停止しない)設定時
■ 時計タイマ使用時の注意事項
• 発振開始直後は発振周期が不安定なため , 発振安定待ち時間は目安値となります。
• サブクロックが発振停止中は時計タイマも停止しますので , 時計割込みも発生しま
せん。時計割込みを使った処理を行う場合は , サブクロックの発振を停止しないで
ください。
• WIF フラグセット要求と CPU からの "0" クリアタイミングが重なった場合は , フラ
グセットが優先し "0" クリアは無効となります。
240
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 10 章
割込みコントローラ
割込みコントローラの概要 , レジスタの構成 / 機能
および動作について説明します。
10.1 割込みコントローラの概要
10.2 割込みコントローラのレジスタ
10.3 割込みコントローラの動作説明
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
241
第 10 章 割込みコントローラ
10.1 割込みコントローラの概要
10.1
MB91313A シリーズ
割込みコントローラの概要
割込みコントローラは , 割込み受付け / 調停処理を行います。
■ 割込みコントローラのハードウェア構成
本モジュールは , 以下のものより構成されます。
• ICR レジスタ
• 割込み優先度判定回路
• 割込みレベル , 割込み番号 ( ベクタ ) 発生部
• ホールドリクエスト取下げ要求発生部
■ 割込みコントローラの主要機能
本モジュールには , 主に以下のような機能があります。
• 優先度判定 ( レベルおよび番号による )
• 判定結果の要因の割込みレベル伝達 (CPU へ )
• 判定結果の要因の割込み番号伝達 (CPU へ )
• バスマスタへのホールドリクエスト取下げ要求発生
242
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 10 章 割込みコントローラ
10.1 割込みコントローラの概要
MB91313A シリーズ
■ 割込みコントローラのレジスタ一覧
図 10.1-1 に , 割込みコントローラのレジスタ一覧を示します。
図 10.1-1 割込みコントローラのレジスタ一覧
アドレス
000440H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR00
000441H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR01
000442H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR02
000443H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR03
000444H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR04
000445H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR05
ICR3
ICR2
ICR1
ICR0
ICR06
000446H
−
−
−
ICR4
000447H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR07
000448H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR08
000449H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR09
00044AH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR10
00044BH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR11
00044CH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR12
00044DH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR13
ICR3
ICR2
ICR1
ICR0
ICR14
00044EH
−
−
−
ICR4
00044FH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR15
000450H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR16
000451H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR17
000452H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR18
000453H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR19
000454H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR20
000455H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR21
ICR3
ICR2
ICR1
ICR0
ICR22
000456H
−
−
−
ICR4
000457H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR23
000458H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR24
000459H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR25
00045AH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR26
00045BH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR27
00045CH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR28
00045DH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR29
ICR3
ICR2
ICR1
ICR0
ICR30
00045EH
−
−
−
ICR4
00045FH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR31
000460H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR32
000461H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR33
000462H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR34
000463H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR35
000464H
−
−
−
ICR4
R
ICR3
R/W
ICR2
R/W
ICR1
R/W
ICR0
R/W
ICR36
( 続く )
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
243
第 10 章 割込みコントローラ
10.1 割込みコントローラの概要
MB91313A シリーズ
( 続き )
アドレス
000465H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR37
000466H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR38
000467H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR39
000468H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR40
000469H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR41
ICR3
ICR2
ICR1
ICR0
ICR42
00046AH
−
−
−
ICR4
00046BH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR43
00046CH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR44
00046DH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR45
00046EH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR46
00046FH
−
−
−
ICR4
R
ICR3
R/W
ICR2
R/W
ICR1
R/W
ICR0
R/W
ICR47
000045H
−
−
−
LVL4
R
LVL3
R/W
LVL2
R/W
LVL1
R/W
LVL0
R/W
HRCL
■ 割込みコントローラのブロックダイヤグラム
図 10.1-2 に割込みコントローラのブロックダイヤグラムを示します。
図 10.1-2 割込みコントローラのブロックダイヤグラム
WAKEUP (レベル≠11111Bのとき1)
UNMI
優先度判定
NMI
処理
レベル4~0
5
/
レベル,
ベクタ
発生
レベル判定
RI00
・
・
・
RI47
(DLYIRQ)
ICR00
・
・
・
ICR47
ベクタ
判定
6
/
HLDREQ
取下げ
要求
MHALTI
VCT5~VCT0
R-bus
244
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
10.2
第 10 章 割込みコントローラ
10.2 割込みコントローラのレジスタ
割込みコントローラのレジスタ
割込みコントローラのレジスタ構成および機能について説明します。
■ 割込みコントローラのレジスタ詳細
割込みコントローラには , 以下の 2 種類のレジスタがあります。
• ICR ( 割込み制御レジスタ )
• HRCL ( ホールドリクエスト取下げ要求レジスタ )
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
245
第 10 章 割込みコントローラ
10.2 割込みコントローラのレジスタ
10.2.1
MB91313A シリーズ
ICR ( 割込み制御レジスタ )
ICR は , 割込み制御レジスタです。各割込み入力に対して 1 つずつ設けられており ,
対応する割込み要求の割込みレベルを設定します。
■ 割込み制御レジスタ (ICR)
割込み制御レジスタ (ICR) のビット構成は以下のとおりです。
図 10.2-1 割込み制御レジスタ (ICR) のビット構成
ICR
7
アドレス bit
000440H
−
∼
00046FH
−
R/W :リード / ライト可能
R :リードオンリ
− :未使用
6
5
4
3
2
1
0
初期値
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
---11111B
−
−
R
R/W
R/W
R/W
R/W
[bit4 ∼ bit0] ICR4 ∼ ICR0
割込みレベル設定ビットで , 対応する割込み要求の割込みレベルを指定します。
本レジスタに設定した割込みレベルが CPU の ILM レジスタに設定した ( された ) レ
ベルマスク値以上の場合は , CPU 側にて割込み要求はマスクされます。
リセットにより , "11111B" に初期化されます。
表 10.2-1 に , 設定可能な割込みレベル設定ビットと割込みレベルの対応を示します。
表 10.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" を書き込むことはできません。
246
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 10 章 割込みコントローラ
10.2 割込みコントローラのレジスタ
MB91313A シリーズ
HRCL ( ホールドリクエスト取下げ要求レジスタ )
10.2.2
HRCL は , ホールドリクエスト取下げ要求発生のためのレベル設定レジスタです。
■ ホールドリクエスト取下げ要求レジスタ (HRCL)
ホールドリクエスト取下げ要求レジスタ (HRCL) のビット構成は , 以下のとおりです。
図 10.2-2 ホールドリクエスト取下げ要求レジスタ (HRCL) のビット構成
HRCL
アドレス bit
7
6
5
4
3
2
1
0
初期値
000045H
−
−
−
LVL4
LVL3
LVL2
LVL1
LVL0
---11111B
−
−
R
R/W
R/W
R/W
R/W
−
R/W :リード / ライト可能
R :リードオンリ
− :未使用
[bit4 ∼ bit0] LVL4 ∼ LVL0
バスマスタへのホールドリクエスト取下げ要求を出すための割込みレベルを設定
します。
本レジスタに設定した割込みレベルより強いレベルを持つ割込み要求が発生した
場合は , バスマスタに対してホールドリクエスト取下げ要求を出します。
LVL4 ビットは "1" 固定で , "0" を書き込むことはできません。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
247
第 10 章 割込みコントローラ
10.3 割込みコントローラの動作説明
10.3
MB91313A シリーズ
割込みコントローラの動作説明
割込みコントローラの動作について説明します。
■ 優先順位判定
本モジュールでは , 同時に発生している割込み要因の中で最も優先度の高い要因を選
択し , その要因の割込みレベルと割込み番号を CPU へ出力します。
割込み要因の優先順位判定基準は , 以下のとおりです。
• 割込みレベルの数値が 31 以外 (31 は割込み禁止 )
• 割込みレベルの数値が最も小さい要因
• その中で , 最も小さい割込み番号を持つ要因
上記の判定基準により割込み要因が1つも選択されなかった場合は, 割込みレベルとし
て 31(11111B) を出力します。そのときの割込み番号は不定です。
割込み要因と割込み番号 , 割込みレベルの関係は , 「付録 B ベクタテーブル」を参照
してください。
■ ホールドリクエスト取下げ要求
優先度の高い割込み処理を CPU のホールド中 (DMA 転送中 ) に行う場合は , ホールド
リクエスト発生元においてリクエストを取り下げさせる必要があります。この取下げ
要求発生の基準となる割込みレベルを HRCL レジスタに設定します。
● 発生基準
HRCL レジスタに設定した割込みレベルより強いレベルの割込み要因が発生した場合
は , ホールドリクエスト取下げ要求を発生します。
HRCL レジスタの割込みレベル > 優先度判定後の割込みレベル
→取下げ要求発生
HRCL レジスタの割込みレベル ≦ 優先度判定後の割込みレベル
→取下げ要求なし
取下げ要求発生原因となった割込み要因をクリアしない限り , この取下げ要求は有効
であり , 結果的にいつまでも DMA 転送が起こらないことになります。必ず対応する割
込み要因をクリアしてください。
248
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 10 章 割込みコントローラ
10.3 割込みコントローラの動作説明
MB91313A シリーズ
● 設定可能なレベル
HRCL レジスタに設定可能な値は , ICR と同様に "10000B " から "11111B" までです。
"11111B" に設定した場合はすべての割込みレベルに対して取下げ要求を発生します。
表 10.3-1 に , ホールドリクエスト取下げ要求発生となる割込みレベルの設定を示しま
す。
表 10.3-1 ホールドリクエスト取下げ要求発生となる割込みレベルの設定
HRCL レジスタ
取下げ要求発生となる割込みレベル
17
割込みレベル 16
18
割込みレベル 16, 17
∼
なし
∼
16
31
割込みレベル 16 ∼ 30 [ 初期値 ]
リセット後は , すべての割込みレベルに対して DMA 転送を抑止します。すなわち , 割
込みが発生していると DMA 転送が行われませんので , HRCL レジスタの値を必要な値
に設定してください。
■ スタンバイモード ( ストップ / スリープ ) からの復帰
割込み要求の発生により , ストップモードから復帰する機能を本モジュールで実現し
ます。周辺からの割込み要求 ( 割込みレベルが 11111B 以外 ) が 1 つでも発生すると ,
クロック制御部に対してストップモードからの復帰要求を発生します。
優先度判定部はストップ復帰後クロックが供給されてから動作を再開しますので , 優
先度判定部の結果が出るまでの間 CPU は命令を実行します。
スリープ状態からの復帰においても , 同様に動作します。また , スリープ中であっても ,
本モジュール内のレジスタはアクセス可能です。
<注意事項>
ストップおよびスリープからの復帰の要因としない割込み要因は , 対応する周辺の制御レ
ジスタにて割込みレベルを "11111B" にしてください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
249
第 10 章 割込みコントローラ
10.3 割込みコントローラの動作説明
MB91313A シリーズ
■ ホールドリクエスト取下げ要求機能 (HRCR) の使用例
DMA 転送中に , CPU が優先度の高い処理を行いたいときは , DMA に対してホールド
リクエストを取り下げさせ , ホールド状態を解除する必要があります。ここでは , 割込
みを利用して DMA に対してホールドリクエストの取下げ , すなわち , CPU の優先動作
を実現します。
● 制御レジスタ
① HRCL ( ホールドリクエストキャンセルレベル設定レジスタ ) : 本モジュール :
本レジスタに設定した割込みレベルより強いレベルの割込みが発生した場合に ,
DMA に対してホールドリクエスト取下げ要求を発生します。その基準となるレベ
ルを設定します。
② ICR: 本モジュール :
使用する割込み要因に対応する ICR に , HRCL レジスタよりも強いレベルを設定し
ます。
● ハードウェア構成
図 10.3-1 に , ホールドリクエストの各信号の流れを示します。
図 10.3-1 ホールドリクエストの各信号の流れ
本モジュール
IRQ
バスアクセス要求
MHALTI
I-ユニット
DHREQ
DMA
B-ユニット
DHREQ:D-busホールドリクエスト
CPU
DHACK:D-busホールドアクノリッジ
(ICR)
IRQ :割込み要求
(HRCL)
DHACK
MHALTI:ホールドリクエスト
取下げ要求
● シーケンス
図 10.3-2 に , HRCL レジスタに設定したレベルより強い場合の割込みレベルを示しま
す。
図 10.3-2 割込みレベル HRCL < ICR (LEVEL)
RUN
CPU
バスホールド
割込み処理
バスホールド(DMA転送)
① ②
バスアクセス要求
割込みルーチンの例
①割込み要因クリア
DHREQ
~
DHACK
②RETI
IRQ
LEVEL
MHALTI
250
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 10 章 割込みコントローラ
10.3 割込みコントローラの動作説明
MB91313A シリーズ
割込み要求が発生すると割込みレベルが変化して , これが HRCL レジスタに設定した
レベルより強いと DMA に対して MHALTI をアクティブにします。これによって , DMA
はアクセス要求を下げ , CPU はホールド状態から復帰して割込み処理を行います。
図 10.3-3 に , 多重割込みの場合の割込みレベルを示します。
図 10.3-3 割込みレベル HRCL < ICR( 割込みⅠ )< ICR( 割込みⅡ )
RUN
バスホールド 割込み I
割込み処理II
③
CPU
④
割込み処理I バスホールド(DMA転送)
①
②
バスアクセス要求
DHREQ
DHACK
IRQ1
IRQ2
LEVEL
MHALTI
[ 割込みルーチンの例 ]
① , ③割込み要因クリア
∼
② , ④ RETI
上記の例では , 割込みルーチン I を実行中に , それよりも優先度の高い割込みが発生し
た場合を示しています。
HRCL レジスタに設定した割込みレベルより高い割込みレベルが発生している間は ,
DHREQ は下がっています。
<注意事項>
HRCL レジスタと ICR に設定する割込みレベルの関係には , 十分注意してください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
251
第 10 章 割込みコントローラ
10.3 割込みコントローラの動作説明
252
MB91313A シリーズ
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 11 章
外部割込み制御部
外部割込み制御部の概要 , レジスタの構成 / 機能お
よび動作について説明します。
11.1 外部割込み制御部の概要
11.2 外部割込み制御部のレジスタ
11.3 外部割込み制御部の動作説明
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
253
第 11 章 外部割込み制御部
11.1 外部割込み制御部の概要
MB91313A シリーズ
外部割込み制御部の概要
11.1
外部割込み制御部は , INT 端子に入力される外部割込み要求の制御を行うブロックで
す。
検出する要求のレベルとして , 以下の 4 種類から選択できます。
• "H" レベル
• "L" レベル
• 立上りエッジ
• 立下りエッジ
これらのレベルは STOP 復帰に使用可能です。
■ 外部割込み制御部のレジスタ一覧
外部割込み制御部のレジスタ一覧は以下のとおりです。
アドレス
000040H
∼
0000C0H
0000C4H
bit 31
24 23
EIRR0
16 15
ENIR0
1
ELVR0
|
EIRR1
EIRR2
ENIR1
ENIR2
ELVR1
ELVR2
■ 外部割込み制御部のブロックダイヤグラム
図 11.1-1 に , 外部割込み制御部のブロックダイヤグラムを示します。
図 11.1-1 外部割込み制御部のブロックダイヤグラム
R-bus
8
24
割込み許可レジスタ
ゲート
要因FF
エッジ検出回路
24
INT0~INT23
8
割込み要因レジスタ
16
254
要求レベル設定レジスタ
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
11.2
第 11 章 外部割込み制御部
11.2 外部割込み制御部のレジスタ
外部割込み制御部のレジスタ
外部割込み制御部のレジスタ構成および機能について説明します。
■ 外部割込み制御部のレジスタ詳細
外部割込み制御部のレジスタには , 以下の 3 種類があります。
• 割込み許可レジスタ (ENIR)
• 外部割込み要因レジスタ (EIRR)
• 外部割込み要求レベル設定レジスタ (ELVR)
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
255
第 11 章 外部割込み制御部
11.2 外部割込み制御部のレジスタ
MB91313A シリーズ
割込み許可レジスタ (ENIR)
11.2.1
ENIR は外部割込み要求出力のマスク制御を行います。
■ 割込み許可レジスタ (ENIR)
割込み許可レジスタのビット構成は , 以下のとおりです。
図 11.2-1 割込み許可レジスタ (ENIR) のビット構成
ENIR2
アドレス bit
0000C5H
23
22
21
20
19
18
17
16
EN23
EN22
EN21
EN20
EN19
EN18
EN17
EN16
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
15
14
13
12
11
10
9
8
初期値
00000000B
初期値
00000000B
ENIR1
アドレス bit
0000C1H
EN15
EN14
EN13
EN12
EN11
EN10
EN9
EN8
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
初期値
00000000B
ENIR0
アドレス bit
000041H
EN7
EN6
EN5
EN4
EN3
EN2
EN1
EN0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W :リード / ライト可能
このレジスタの "1" が書かれたビットに対応する割込み要求出力は許可され (INT0 の
許可を EN0 が制御 ) , 割込みコントローラに対して要求が出力されます。"0" が書かれ
たビットの対応する端子は割込み要因を保持しますが , 割込みコントローラに対して
は要求を発生しません。
256
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 11 章 外部割込み制御部
11.2 外部割込み制御部のレジスタ
MB91313A シリーズ
外部割込み要因レジスタ (EIRR)
11.2.2
EIRR は読出し時には対応する外部割込み要求があることを示し , 書込み時にはこの
要求を示すフリップフロップ内容をクリアするレジスタです。
■ 外部割込み要因レジスタ (EIRR)
外部割込み要因レジスタのビット構成は , 以下のとおりです。
図 11.2-2 外部割込み要因レジスタ (EIRR) のビット構成
EIRR2
アドレス bit
0000C4H
23
22
21
20
19
18
17
16
初期値
ER23
ER22
ER21
ER20
ER19
ER18
ER17
ER16
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
15
14
13
12
11
10
9
8
初期値
00000000B
EIRR1
アドレス bit
0000C0H
ER15
ER14
ER13
ER12
ER11
ER10
ER9
ER8
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
初期値
00000000B
EIRR0
アドレス bit
000040H
ER7
ER6
ER5
ER4
ER3
ER2
ER1
ER0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W :リード / ライト可能
この EIRR レジスタを読み出したとき , その値によって動作が以下のようになります。
"1" であった場合に , そのビットに対応する端子に外部割込み要求があることを示しま
す。また , このレジスタに "0" を書き込むと , 対応するビットの要求フリップフロップ
がクリアされます。"1" の書込みは無効です。
リードモディファイライト (RMW) 系命令の読出し時には "1" が読まれます。
端子状態によっては , 外部割込み許可レジスタの対応するビットに "0" が書かれた場合
においても , 外部割込み要因レジスタのビット値が "1" になる場合があります。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
257
第 11 章 外部割込み制御部
11.2 外部割込み制御部のレジスタ
MB91313A シリーズ
外部割込み要求レベル設定レジスタ (ELVR)
11.2.3
ELVR は要求検出の選択を行うレジスタです。
■ 外部割込み要求レベル設定レジスタ (ELVR)
外部割込み要求レベル設定レジスタのビット構成は , 以下のとおりです。
図 11.2-3 外部割込み要求レベル設定レジスタ (ELVR) のビット構成
ELVR0
アドレス bit
000042H
bit
000043H
15
14
13
12
11
10
9
8
初期値
00000000B
LB7
LA7
LB6
LA6
LB5
LA5
LB4
LA4
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
LB3
LA3
LB2
LA2
LB1
LA1
LB0
LA0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
15
14
13
12
11
10
9
8
初期値
LB15
LA15
LB14
LA14
LB13
LA13
LB12
LA12
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
LB11
LA11
LB10
LA10
LB9
LA9
LB8
LA8
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
15
14
13
12
11
10
9
8
初期値
00000000B
初期値
00000000B
ELVR1
アドレス bit
0000C2H
bit
0000C3H
初期値
00000000B
ELVR2
アドレス bit
0000C6H
bit
0000C7H
LB23
LA23
LB22
LA22
LB21
LA21
LB20
LA20
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
LB19
LA19
LB18
LA18
LB17
LA17
LB16
LA16
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
00000000B
R/W :リード / ライト可能
258
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 11 章 外部割込み制御部
11.2 外部割込み制御部のレジスタ
各割込みチャネルに2ビットずつが割り当てられていて, 以下のような設定になります。
要求入力がレベルの場合 , EIRR の各ビットをクリアしても入力がアクティブレベルな
らば該当するビットは再びセットされます。
表 11.2-1 に , ELVR 割当てを示します。
表 11.2-1 ELVR 割当て
LBx,LAx
動作
00
"L" レベルで要求あり [ 初期値 ]
01
"H" レベルで要求あり
10
立上りエッジで要求あり *
11
立下りエッジで要求あり *
*: INT16 ∼ INT23 は設定禁止です。
( 注意事項 ) STOP からの復帰にはすべての要求レベルが設定可能です (INT0 ∼ INT15)。
<注意事項>
• 外部割込み要求レベルを変更すると , 内部で割込み要因が発生する場合がありますので ,
外部割込み要求レベル変更後に外部割込み要因レジスタ (EIRR) をクリアしてくださ
い。外部割込み要因レジスタをクリアする際は一度 , 外部割込み要求レベルレジスタを
読み出してからクリアの書込みを行ってください。
• INT17, INT19 の 2 チャネルに関しては , エッジ検出は使用できません。レベル検出の
設定で使用してください。
MB91F313A には , この制限はありません。
• STOP からの復帰にはすべての要求レベルが設定可能です (INT17, INT19 は除く )。
MB91F313A には , この制限はありません。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
259
第 11 章 外部割込み制御部
11.3 外部割込み制御部の動作説明
11.3
MB91313A シリーズ
外部割込み制御部の動作説明
外部割込み制御部の動作について説明します。
■ 外部割込みの動作
要求レベル , 許可レジスタの設定の後 , 対応する端子に ELVR レジスタで設定された要
求が入力されると , 本モジュールは割込みコントローラに対して割込み要求信号を発生
します。割込みコントローラ内で同時発生した割込みの優先順位を識別した結果 , 本リ
ソースからの割込みが最も優先順位が高かったときに , 該当する割込みが発生します。
図 11.3-1 に , 外部割込みの動作を示します。
図 11.3-1 外部割込みの動作
外部割込み
リソース要求
ELVR
割込みコントローラ
ICR y y
EIRR
ENIR
CPU
IL
CMP
ICR
X X
CMP
ILM
要因
■ 外部割込みの動作手順
外部割込み部内に存在するレジスタの設定を行う際 , 次の手順で設定してください。
1. 外部割込み入力として使用する端子と兼用する汎用入出力ポートを入力ポートに
設定する。
2. 割込み許可レジスタ (ENIR) の対象となるビットを禁止状態にする。
3. 外部割込み要求レベル設定レジスタ (ELVR) の対象となるビットを設定する。
4. 外部割込み要求レベル設定レジスタ (ELVR) を読み出す。
5. 外部割込み要因レジスタ (EIRR) の対象となるビットをクリアする。
6. 割込み許可レジスタ (ENIR) の対象となるビットを許可状態にする ( ただし , 5. と 6.
は 16 ビットデータによる同時書込みが可能です )。
本モジュール内のレジスタを設定するときには必ず許可レジスタをディセーブル状態
に設定する必要があります。また , 許可レジスタをイネーブル状態にする前に必ず要因
レジスタをクリアしておく必要があります。これは , レジスタ設定時や割込み許可状態
時に誤って割込み要因が起こってしまうことを避けるためです。
260
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 11 章 外部割込み制御部
11.3 外部割込み制御部の動作説明
MB91313A シリーズ
■ 外部割込み要求レベル
要求レベルがエッジ要求のとき , エッジがあったことを検出するためには , パルス幅は
最小 3 マシンサイクル ( 周辺系クロックマシンサイクル ) 必要とします。
要求入力レベルがレベル設定の場合 , パルス幅は最小 3 マシンサイクル必要とします。
また割込み入力端子がアクティブレベルを保持し続けている限りは , 外部割込み要因
レジスタをクリアしても , 割込みコントローラへの割込み要求は発生し続けます。
要求入力レベルがレベル設定のとき , 外部より要求入力が入ってその後取り下げられ
ても内部に要因保持回路が存在するので , 割込みコントローラへの要求はアクティブ
のままです。
割込みコントローラへの要求を取り下げるには要因レジスタをクリアする必要があり
ます。
図 11.3-2 にレベル設定時の要因保持回路のクリアについて示します。
図 11.3-2 レベル設定時の要因保持回路のクリア
割込み入力
レベル検出
要因 FF
(要因保持回路)
許可ゲート
割込み
コントローラ
クリアしない限り要因を保持し続ける
図 11.3-3 に , 割込み許可時の割込要因と割込みコントローラへの割込み要求を示しま
す。
図 11.3-3 割込み許可時の割込み要因と割込みコントローラへの割込み要求
R-bus
8
24
割込み許可レジスタ
ゲート
要因FF
エッジ検出回路
24
INT0~INT23
8
割込み要因レジスタ
16
CM71-10143-5
要求レベル設定レジスタ
FUJITSU SEMICONDUCTOR LIMITED
261
第 11 章 外部割込み制御部
11.3 外部割込み制御部の動作説明
262
MB91313A シリーズ
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 12 章
遅延割込みモジュール
遅延割込みモジュールの概要 , レジスタの構成 / 機
能および動作について説明します。
12.1 遅延割込みモジュールの概要
12.2 遅延割込みモジュールのレジスタ
12.3 遅延割込みモジュールの動作
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
263
第 12 章 遅延割込みモジュール
12.1 遅延割込みモジュールの概要
12.1
MB91313A シリーズ
遅延割込みモジュールの概要
遅延割込みモジュールは , タスク切換え用の割込みを発生するためのモジュールで
す。
本モジュールを使用することで , ソフトウェアで CPU に対して割込み要求の発生・
解除を行うことができます。
■ 遅延割込みモジュールのレジスタ一覧
遅延割込みモジュールのレジスタ一覧は , 以下のとおりです。
DICR
アドレス
000044H
bit
7
6
5
4
3
2
1
0
−
−
−
−
−
−
−
DLYI
R/W
R/W: リード / ライト可能
■ 遅延割込みモジュールのブロックダイヤグラム
図 12.1-1 に , 遅延割込みモジュールのブロックダイヤグラムを示します。
図 12.1-1 遅延割込みモジュールのブロックダイヤグラム
R-bus
割込み要求
264
DLYI
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 12 章 遅延割込みモジュール
12.2 遅延割込みモジュールのレジスタ
MB91313A シリーズ
12.2
遅延割込みモジュールのレジスタ
遅延割込みモジュールのレジスタの構成および機能について説明します。
■ DICR ( 遅延割込みモジュールレジスタ )
DICR は , 遅延割込みを制御するレジスタです。
遅延割込みモジュールレジスタ (DICR) のビット構成は , 以下のとおりです。
DICR
アドレス
000044H
bit
7
−
6
−
5
−
4
−
3
−
2
−
1
−
0
初期値
DLYI
-------0B
R/W
R/W: リード / ライト可能
[bit0] DLYI
DLYI
説明
0
遅延割込み要因の解除・要求なし [ 初期値 ]
1
遅延割込み要因の発生
本ビットにより , 該当する割込み要因の発生・解除を制御します。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
265
第 12 章 遅延割込みモジュール
12.3 遅延割込みモジュールの動作
12.3
MB91313A シリーズ
遅延割込みモジュールの動作
遅延割込みは , タスク切換え用の割込みを発生するものです。本機能を使用するこ
とにより , ソフトウェアで CPU に対して割込み要求の発生・解除を行うことができ
ます。
■ 割込み番号
遅延割込みは , 最も大きな割込み番号に対応した割込み要因に割り当てられています。
本品種では , 遅延割込みを割込み番号 63(3FH) に割り当てています。
■ DICR の DLYI ビット
このビットに "1" を書き込むことで , 遅延割込み要因が発生します。また , "0" を書き
込むことで遅延割込み要因を解除します。
本ビットは , 一般の割込みにおける割込み要因フラグと同じものであり , 割込みルーチ
ンの中で本ビットをクリアし , 併せてタスクの切換えを行うようにしてください。
266
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 13 章
ビットサーチモジュール
ビットサーチモジュールの概要 , レジスタの構成 /
機能および動作について説明します。
13.1 ビットサーチモジュールの概要
13.2 ビットサーチモジュールのレジスタ
13.3 ビットサーチモジュールの動作
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
267
第 13 章 ビットサーチモジュール
13.1 ビットサーチモジュールの概要
13.1
MB91313A シリーズ
ビットサーチモジュールの概要
ビットサーチモジュールは , 入力レジスタに書き込まれたデータに対して , "0" または
"1" または変化点を検索し , 検出したビット位置を返します。
■ ビットサーチモジュールのレジスタ一覧
ビットサーチモジュールのレジスタ一覧は , 以下のとおりです。
bit31
bit0
アドレス : 0003F0H
BSD0
0 検出用データレジスタ
アドレス : 0003F4H
BSD1
1 検出用データレジスタ
アドレス : 0003F8H
BSDC
変化点検出用データレジスタ
アドレス : 0003FCH
BSRR
検出結果レジスタ
■ ビットサーチモジュールのブロックダイヤグラム
図 13.1-1 に , ビットサーチモジュールのブロックダイヤグラムを示します。
図 13.1-1 ビットサーチモジュールのブロックダイヤグラム
D-bus
入力ラッチ
アドレスデコーダ
検出モード
1検出データ化
ビットサーチ回路
検索結果
268
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 13 章 ビットサーチモジュール
13.2 ビットサーチモジュールのレジスタ
MB91313A シリーズ
13.2
ビットサーチモジュールのレジスタ
ビットサーチモジュールのレジスタの構成および機能について説明します。
■ 0 検出用データレジスタ (BSD0)
書き込んだ値に対して 0 検出を行います。
0 検出用データレジスタ (BSD0) のレジスタ構成は , 以下のとおりです。
図 13.2-1 0 検出用データレジスタ (BSD0) のビット構成
bit31
bit0
アドレス:0003F0H
リード / ライト
初期値
W
XXXXXXXXH
リセットによる初期値は不定です。読出し値は不定です。
データ転送には , 32 ビット長のデータ転送命令を使用してください (8 ビット , 16 ビッ
ト長のデータ転送命令は使わないでください ) 。
■ 1 検出用データレジスタ (BSD1)
1 検出用データレジスタ (BSD1) のレジスタ構成は , 以下のとおりです。
図 13.2-2 1 検出用データレジスタ (BSD1) のビット構成
bit31
bit0
アドレス:0003F4H
リード / ライト
初期値
R/W
XXXXXXXXH
データ転送には , 32 ビット長のデータ転送命令を使用してください (8 ビット , 16 ビッ
ト長のデータ転送命令は使わないでください ) 。
• 書込み時 :
書き込んだ値に対して , "1" を検出します。
• 読出し時 :
ビットサーチモジュールの内部状態の退避用データが読み出されます。割込みハン
ドラなどがビットサーチモジュールを使用する場合に , 元の状態を退避復帰すると
きに使用します。
• 0 検出 , 変化点検出 , データレジスタにデータを書き込んだ場合でも , 1 検出用デー
タレジスタのみ操作することで退避復帰できます。
リセットによる初期値は不定です。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
269
第 13 章 ビットサーチモジュール
13.2 ビットサーチモジュールのレジスタ
MB91313A シリーズ
■ 変化点検出用データレジスタ (BSDC)
書き込んだ値に対して , 変化点の検出を行います。
変化点検出用データレジスタ (BSDC) のレジスタ構成は , 以下のとおりです。
図 13.2-3 変化点検出用データレジスタ (BSDC) のビット構成
bit31
bit0
アドレス:0003F8H
リード / ライト
初期値
W
XXXXXXXXH
リセットによる初期値は不定です。
読出し値は不定です。
データ転送には , 32 ビット長のデータ転送命令を使用してください (8 ビット , 16 ビッ
ト長のデータ転送命令は使わないでください ) 。
■ 検出結果レジスタ (BSRR)
0 検出 , 1 検出または変化点検出の結果が読み出されます。
どの検出結果が読み出されるかは , 最後に書き込んだデータレジスタによって決定さ
れます。
検出結果レジスタ (BSRR) のレジスタ構成は , 以下のとおりです。
図 13.2-4 検出結果レジスタ (BSRR) のビット構成
bit31
bit0
アドレス:0003FCH
リード / ライト
初期値
270
R
XXXXXXXXH
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
13.3
第 13 章 ビットサーチモジュール
13.3 ビットサーチモジュールの動作
ビットサーチモジュールの動作
ビットサーチモジュールの動作について説明します。
■ 0 検出
0 検出用データレジスタに書き込まれたデータを MSB から LSB へスキャンし , 最初の
"0" を検出した位置を返します。
検出結果は , 検出結果レジスタを読み出すことで得られます。検出した位置と , 返す数
値の関係は , 表 13.3-1 を参照してください。
"0" が存在しないとき ( すなわち FFFFFFFFH という数値のとき ) , 32 という値をサーチ
結果として返します。
【実行例】
書込みデータ
読出し値 (10 進 )
11111111111111111111000000000000B (FFFFF000H)
→
20
11111000010010011110000010101010B (F849E0AAH)
→
5
10000000000000101010101010101010B (8002AAAAH)
→
1
11111111111111111111111111111111B (FFFFFFFFH)
→
32
■ 1 検出
1 検出用データレジスタに書き込まれたデータを MSB から LSB へスキャンし , 最初の
"1" を検出した位置を返します。
検出結果は , 検出結果レジスタを読み出すことで得られます。検出した位置と返す値と
の関係は , 表 13.3-1 のとおりです。
"1" が存在しないとき ( すなわち 00000000H という数値のとき ) , 32 という値をサーチ
結果として返します。
【実行例】
書込みデータ
CM71-10143-5
読出し値 (10 進 )
00100000000000000000000000000000B (20000000H)
→
2
00000001001000110100010101100111B (01234567H)
→
7
00000000000000111111111111111111B (0003FFFFH)
→
14
00000000000000000000000000000001B (00000001H)
→
31
00000000000000000000000000000000B (00000000H)
→
32
FUJITSU SEMICONDUCTOR LIMITED
271
第 13 章 ビットサーチモジュール
13.3 ビットサーチモジュールの動作
MB91313A シリーズ
■ 変化点検出
変化点検出用データレジスタに書き込まれたデータを bit30 から LSB へスキャンし ,
MSB の値と比較します。
最初に MSB と異なる値を検出した位置を返します。検出結果は , 検出結果レジスタを
読み出すことで得られます。
検出した位置と返す値は , 表 13.3-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
表 13.3-1 に , ビット位置と返す値 (10 進 ) を示します。
表 13.3-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
272
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 13 章 ビットサーチモジュール
13.3 ビットサーチモジュールの動作
■ 退避・復帰の処理
割込みハンドラ中で , ビットサーチモジュールを使う場合のように , ビットサーチモ
ジュールの内部状態を退避・復帰させる必要がある場合は , 以下の手順に従ってくださ
い。
1) 1 検出用データレジスタを読み出し , この内容を保存 ( 退避 )
2) ビットサーチモジュールを使用
3) 1) で退避したデータを 1 検出用データレジスタに書込み ( 復帰 )
以上の操作により , 次に検出結果レジスタを読み出したときに得られる値は , 1) 以前に
ビットサーチモジュールに書き込まれた内容に応じたものとなります。
最後に書き込まれたデータレジスタが0検出用または変化点検出用であっても, 上記の
手順で正しく元に戻ります。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
273
第 13 章 ビットサーチモジュール
13.3 ビットサーチモジュールの動作
274
MB91313A シリーズ
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 14 章
10 ビット A/D コンバータ
10 ビット A/D コンバータの概要 , レジスタの構成 /
機能および動作について説明します。
14.1 10 ビット A/D コンバータの概要
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
275
第 14 章 10 ビット A/D コンバータ
14.1 10 ビット A/D コンバータの概要
14.1
MB91313A シリーズ
10 ビット A/D コンバータの概要
10 ビット逐次比較形 A/D コンバータで , ソフトによる変換起動と外部トリガによる
変換起動モードを有します。
■ 特長
• 変換時間 : 約 7.94μs ( サンプリング 5.91μs, 変換 2.03μs) fch:@33MHz 時
• A/D 変換結果用レジスタ 各チャネルごとに用意
• チャネル・スキャン機能あり
■ レジスタ構成
アドレス bit15
000020H
276
bit0
ADCTH
ADCTL
A/D コンバータ制御レジスタ
000022H
ADCH
ソフト変換アナログ入力選択レジスタ
000024H
ADAT0
A/D 変換結果レジスタ ch.0
000026H
ADAT1
A/D 変換結果レジスタ ch.1
000028H
ADAT2
A/D 変換結果レジスタ ch.2
00002AH
ADAT3
A/D 変換結果レジスタ ch.3
00002CH
ADAT4
A/D 変換結果レジスタ ch.4
00002EH
ADAT5
A/D 変換結果レジスタ ch.5
000030H
ADAT6
A/D 変換結果レジスタ ch.6
000032H
ADAT7
A/D 変換結果レジスタ ch.7
000034H
ADAT8
A/D 変換結果レジスタ ch.8
000036H
ADAT9
A/D 変換結果レジスタ ch.9
000038H
TEST
A/D 変換部テストレジスタ ( アクセス禁止 )
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 14 章 10 ビット A/D コンバータ
14.1 10 ビット A/D コンバータの概要
MB91313A シリーズ
■ ブロックダイヤグラム
図 14.1-1 A/D コンバータブロックダイヤグラム
バッファ× 10
AN9
AN8
AN7
AN6
AN5
AN4
AN3
AN2
AN1
AN0
M
P
X
D/A コンバータ
Comparator
内
部
デ
|
タ
バ
ス
制御ロジック
S/H
A/D
チャネル/ステータス
制御ロジック
外部端子
ATRG
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
IRQ
277
第 14 章 10 ビット A/D コンバータ
14.1 10 ビット A/D コンバータの概要
MB91313A シリーズ
■ A/D コンバータ制御レジスタ (ADCTH, ADCTL)
図 14.1-2 A/D コンバータ制御レジスタ (ADCTH, ADCTL) のビット構成
ADCTH
アドレス bit
000020H
15
14
13
12
11
10
9
8
初期値
STR
00000000B
−
−
−
−
−
−
TRG
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
初期値
ASS3
ASS2
ASS1
ASS0
BUSY
−
INT
INTE
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
ADCTL
アドレス bit
000021H
R/W : リード / ライト可能
−
: 未使用
[bit15 ∼ bit10] 未使用ビット
常に "000000B" が読み出されます。
[bit9] TRG
0
外部端子トリガでの起動禁止
1
外部端子トリガでの起動
TRG=1 のとき外部端子 (ATRG) 入力の立上りエッジを検出して A/D 変換を起動し
ます。
A/D 変換中にエッジ検出された場合は無視されます。
[bit8] STR
A/D 変換スタートビットです。
0
影響なし
1
ソフト起動 / 再起動 ( 変換中の書込み )
このビットを読み出した場合 , 常に "0" が読み出されます。
[bit7 ∼ bit4] ASS3 ∼ ASS0
選択されているアナログチャネルが読み出せます。
BUSY = 1 のときに有効なデータが読み出せます。
0000B ∼ 1001B
それ以外
278
選択チャネル
設定禁止
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 14 章 10 ビット A/D コンバータ
14.1 10 ビット A/D コンバータの概要
[bit3] BUSY
A/D 変換中を示すフラグです。
0
変換中でない
1
変換中
[bit2] 未使用ビット
常に "0" が読み出されます。
[bit1] INT
A/D 変換終了フラグです。
0
変換なし , または変換中
1
変換完了
[bit0] INTE
A/D 変換割込み許可ビットです。
0
割込み禁止
1
割込み許可
INT=1 のとき INTE=1 なら割込み要求を発生します。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
279
第 14 章 10 ビット A/D コンバータ
14.1 10 ビット A/D コンバータの概要
MB91313A シリーズ
■ ソフト変換アナログ入力選択レジスタ
図 14.1-3 ソフト変換アナログ入力選択レジスタ (ADCH) のビット構成
ADCH
15
アドレス bit
13
12
11
10
9
8
初期値
i8
00000000B
R/W
−
−
−
−
−
−
i9
R/W
R/W
R/W
R/W
R/W
R/W
R/W
000022H
14
7
6
5
4
3
2
1
0
初期値
i7
i6
i5
i4
i3
i2
i1
i0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit
R/W : リード / ライト可能
−
: 未使用
[bit15 ∼ bit10] 未使用ビット
常に "000000B" が読み出されます。
[bit9 ∼ bit0] i9 ∼ i0
ソフト変換用アナログ入力選択ビットです。
0
入力非選択
1
入力選択
複数の入力が選択されている場合には , 選択されている入力すべてに対し順次 , 変
換されます。
■ A/D 変換結果レジスタ (0 チャネル∼ 9 チャネル )
図 14.1-4 A/D 変換結果レジスタ (ADAT0 ∼ ADAT9) のビット構成
ADAT0 ∼ ADAT9
アドレス bit
R
−
bit
15
14
13
12
11
10
9
8
初期値
−
−
−
−
−
−
d9
d8
00000000B
R
R
R
R
R
R
R
R
7
6
5
4
3
2
1
0
初期値
d7
d6
d5
d4
d3
d2
d1
d0
00000000B
R
R
R
R
R
R
R
R
: リードオンリ
: 未使用
[bit15 ∼ bit10] 未使用ビット
常に "000000B" が読み出されます。
[bit9 ∼ bit0] d9 ∼ d0
各チャネルに対応した A/D 変換結果が格納されます。
280
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 14 章 10 ビット A/D コンバータ
14.1 10 ビット A/D コンバータの概要
■ ソフト変換による A/D 動作
ソフト変換による A/D 変換を行うには , まず , アナログ入力端子 AN0 ∼ AN9 の 10 本
のうちから必要なチャネルを選択します。ADCH レジスタの対応するビットに "1" を
書き込むことにより有効となります。
① 単一チャネルの場合
変換用アナログ入力端子として 1 チャネルのみを選択した場合。ADCTH レジスタ
の STR ビットに "1" を書き込むことにより , ソフト変換動作が開始され , ADCH レ
ジスタの BUSY ビットは "1" にセットされます。
変換動作中に STR ビットに再度 "1" を書き込むと変換動作は初期化され , 再び変換
が開始されます。
A/D 変換動作が終了すると , ADCH レジスタの BUSY ビットは "0" にリセットされ ,
ADCTL レジスタの INT ビットは "1" にセットされます。これらのステータス・ビッ
トを読むことにより変換動作の終了を判別することができます。また , 変換完了の
割込みを発生したい場合は , ADCTL レジスタの INTE ビットを "1" にしておきます。
② 複数チャネルの場合 ( スキャン変換 )
変換用アナログ入力端子として複数のチャネルを選択した場合 , 自動的に各チャネ
ル選択の有無を調べ, 順次チャネル切換えとA/D変換の起動をし, 変換結果を各チャ
ネルに対応したレジスタへ格納します。
変換したいチャネルを ADCH レジスタの対応ビットに "1" を書き込み , 選択をし
ADCH レジスタの STR ビットに "1" を書き込むことにより , 変換動作を開始し ,
ADCTL レジスタの BUSY ビットは "1" にセットされます。変換チャネルは 0 から 9
の順で選択され , ADCH レジスタで選択されていないチャネルは変換を行わずに次
の選択されているチャネルの変換に移ります。
変換動作中に STR ビットに再度 "1" を書き込むと変換動作は初期化され , 再び ch.0
から ch.9 の順で選択されたチャネルの変換を開始します。
すべての選択したチャネルの A/D 変換動作が終了すると , ADCTL レジスタの BUSY
ビットは "0" にリセットされ , ADCTL レジスタの INT ビットは "1" にセットされま
す。また , 変換完了の割込みを発生したい場合は , ADCTL レジスタの INTE ビット
を "1" にしておきます。
A/D 変換された結果は , 各チャネルのレジスタに格納されます。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
281
第 14 章 10 ビット A/D コンバータ
14.1 10 ビット A/D コンバータの概要
MB91313A シリーズ
■ 外部トリガ変換による A/D 動作
外部トリガ起動を許可した場合 (ADCTH:TRG=1) には , 外部端子 (ATRG) 入力の立上り
エッジを検出して A/D 変換を開始します。外部トリガ許可の状態でソフト起動した場
合も起動します。また , A/D 起動中に再度 , 外部端子 (ATRG) 入力の立上りエッジを検
出した場合には変換動作は初期化され , 再び最初から変換を開始します。
<注意事項>
低消費電力モードのストップモードに入れる場合には , A/D 変換動作が停止しているとき
に入れてください。
282
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章
マルチファンクション
シリアルインタフェース
マルチファンクションシリアルインタフェースの
機能と動作について説明します。
15.1 マルチファンクションシリアルインタフェースの概要
15.2 UART ( 非同期マルチファンクションシリアルインタ
フェース ) の機能
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
15.4 UART ( 非同期マルチファンクションシリアルインタ
フェース ) の割込み
15.5 UART ( 非同期マルチファンクションシリアルインタ
フェース ) の動作
15.6 UART 専用ボーレートジェネレータ
15.7 動作モード 0 ( 通常モード ) 設定手順とプログラムフロー
15.8 動作モード 1 ( マルチプロセッサモード ) 設定手順と
プログラムフロー
15.9 UART モードの注意事項
15.10 CSIO ( クロック同期マルチファンクションシリアルイ
ンタフェース ) の概要
15.11 CSIO ( クロック同期マルチファンクションシリ
アルインタフェース ) のレジスタ
15.12 CSIO ( クロック同期マルチファンクションシリアルイ
ンタフェース ) の割込み
15.13 CSIO ( クロック同期マルチファンクションシリアルイ
ンタフェース ) の動作
15.14 CSIO 専用ボーレートジェネレータ
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
283
第 15 章 マルチファンクション シリアルインタフェース
MB91313A シリーズ
15.15 CSIO ( クロック同期マルチファンクションシリアルインタフェース ) 設定手順と
プログラムフロー
15.16 CSIO モードの注意事項
15.17 I2C インタフェースの概要
15.18 I2C インタフェースのレジスタ
15.19 I2C インタフェースの割込み
15.20 I2C インタフェース通信の動作
15.21 専用ボーレートジェネレータ
15.22 I2C のフローチャート例
15.23 I2C モードの注意事項
284
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.1 マルチファンクションシリアルインタフェースの概要
MB91313A シリーズ
15.1
マルチファンクションシリアルインタフェースの概要
マルチファンクションシリアルインタフェースの概要について説明します。
■ インタフェースモード
マルチファンクションシリアルインタフェースは動作モードの設定により以下のイン
タフェースモードを選択できます。
• UART0 ( 非同期通常マルチファンクションシリアルインタフェース )
• UART1 ( 非同期マルチプロセッサマルチファンクションシリアルインタフェース )
• CSIO ( クロック同期マルチファンクションシリアルインタフェース ) (SPI に対応可
能)
• I2C (I2C バスインタフェース )
■ インタフェースモードの切換え
各マルチファンクションシリアルインタフェースで通信を行う場合には , 表 15.1-1 の
レジスタで動作モードを設定してから通信を開始します。
図 15.1-1 シリアルモードレジスタ (SMR) のビット構成
SMR
7
bit
6
5
4
3
2
1
0
初期値
000-0000B
MD2
MD1
MD0
−
WUCR
SBL
SCKE
SOE
R/W
R/W
R/W
−
R/W
R/W
R/W
R/W
R/W: リード / ライト可能
表 15.1-1 インタフェースモードの切換え
MD2
MD1
MD0
0
0
0
UART0 ( 非同期通常マルチファンクションシリアルインタフェース )
0
0
1
UART1 ( 非同期マルチプロセッサマルチファンクションシリアルイン
タフェース )
0
1
0
CSIO ( クロック同期マルチファンクションシリアルインタフェース )
(SPI に対応可能 )
1
0
0
I2C (I2C バスインタフェース )
インタフェースモード
( 注意事項 ) 上記以外は設定禁止です。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
285
第 15 章 マルチファンクション シリアルインタフェース
15.1 マルチファンクションシリアルインタフェースの概要
MB91313A シリーズ
<注意事項>
• 1 つのマルチファンクションシリアルインタフェースで送信あるいは受信動作中にモー
ドの切換えを行った場合の送受信に関する動作の保証はできません。
• 動作モードを変更すると , ほかのレジスタは初期化されますので動作モードは最初に設
定してください。ただし , 16 ビット書込みで SCR と SMR を同時に書き込んだとき ,
SCR には書き込んだ内容が反映されます。
■ 送受信 FIFO (ch.0, ch.1 および ch.2)
ch.0, ch.1 と ch.2 には 16 バイトの送信用 FIFO と 16 バイトの受信用 FIFO を搭載してお
ります。以降の説明における FIFO 段数は 16 バイトに読み換えてください。また , ch.0,
ch.1 と ch.2 以外には FIFO は搭載されませんので , FIFO の説明は無視し , FIFO 未使用
時を参照してください。
286
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
15.2
第 15 章 マルチファンクション シリアルインタフェース
15.2 UART ( 非同期マルチファンクションシリアルインタ
フェース ) の機能
UART ( 非同期マルチファンクションシリアルインタ
フェース ) の機能
UART ( 非同期マルチファンクションシリアルインタフェース ) は , 外部装置と非同
期通信 ( 調歩同期 ) をするための汎用のシリアルデータ通信インタフェースです。双
方向通信機能 ( ノーマルモード ) , マスタ / スレーブ型通信機能 ( マルチプロセッサ
モード : マスタ / スレーブ両方サポート ) をサポートしています。また , 送信 / 受信
用の FIFO を搭載しています。
■ UART ( 非同期マルチファンクションシリアルインタフェース ) の機能
機能
• 全二重ダブルバッファ (FIFO 未使用時 )
• 送信 / 受信 FIFO ( サイズ最大各 16 バイト ) (FIFO 使用時 )
1
データ
2
シリアル入力
3
転送形式
4
ボーレート
5
データ長
• 5 ∼ 9 ビット ( ノーマルモード時 ), 7, 8 ビット ( マルチプロセッサ
モード時 )
6
信号方式
NRZ (Non Return to Zero) , 反転 NRZ
7
スタートビット検出
8
9
10
11
受信エラー検出
割込み要求
3 回オーバサンプリングを行い , サンプリング値の多数決により受信値
を決定
非同期
• 専用ボーレートジェネレータ (15 ビットリロードカウンタ構成 )
• 外部クロック入力をリロードカウンタで調節可能。
• スタートビット立下りエッジに同期 (NRZ 方式の場合 )
• スタートビット立上りエッジに同期 ( 反転 NRZ 方式の場合 )
• フレーミングエラー
• オーバランエラー
• パリティエラー *
• 受信割込み
( 受信完了 , フレーミングエラー , オーバランエラー , パリティエ
ラー *)
• 送信割込み ( 送信データエンプティ , 送信バスアイドル )
• 送信 FIFO 割込み ( 送信 FIFO がエンプティのとき )
• 送受信とも拡張インテリジェント I/O サービス (EI2OS), および DMA
機能あり
マスタ / スレーブ型
1 ( マスタ ) 対 n ( スレーブ ) 間の通信が可能
通信機能 ( マルチプロ
( マスタとスレーブシステムの両方をサポート )
セッサモード )
FIFO オプション
• 送受信 FIFO 搭載 ( 最大容量 : 送信 FIFO 16 バイト , 受信 FIFO 16 バ
イト )
• 送信 FIFO と受信 FIFO を選択可能
• 送信データ再送可能
• 受信 FIFO 割込みタイミングをソフトで可変可能
• 独立して FIFO リセットサポート
*: パリティエラーはノーマルモード時のみ。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
287
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
MB91313A シリーズ
UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
15.3
UART ( 非同期マルチファンクションシリアルインタフェース ) のレジスタ一覧を示
します。
■ UART ( 非同期マルチファンクションシリアルインタフェース ) のレジスタ一覧
表 15.3-1 UART ( 非同期マルチファンクションシリアルインタフェース ) のレジスタ一覧
bit15
アドレス
UART
FIFO
bit8 bit7
bit0
000X0H
000X1H
SCR ( シリアル制御レジスタ )
000X2H
000X3H
SSR ( シリアルステータスレジスタ ) ESCR ( 拡張通信制御レジスタ )
000X4H
000X5H
RDR1/TDR1
( 送受信データレジスタ 1)
000X6H
000X7H
BGR1
BGR0
( ボーレートジェネレータレジスタ 1) ( ボーレートジェネレータレジスタ 0)
000X8H
000X9H
000YAH
000YBH
000YCH
000YDH FBYTE2 (FIFO2 バイトレジスタ )
SMR ( シリアルモードレジスタ )
RDR0/TDR0
( 送受信データレジスタ )
−
−
FCR1 (FIFO 制御レジスタ 1)
FCR0 (FIFO 制御レジスタ 0)
FBYTE1 (FIFO1 バイトレジスタ )
(X=06H, 07H, 08H, 09H, 0AH, 0BH, 1BH, 1CH, 1DH, 1EH, 1FH, Y=06H, 07H, 08H)
表 15.3-2 UART ( 非同期マルチファンクションシリアルインタフェース ) ビット配置
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
SCR/SMR UPCL −
−
RIE TIE TBIE RXE TXE MD2 MD1 MD0 −
SSR/ESCR REC
PE
FRE ORE RDRF TDRE TBI
−
TDR (RDR)
BGR1/BGR0
−
EXT B14 B13 B12 B11 B10
−
−
−
INV PEN
D8(AD)
D7
D6
D5
B8
B7
B6
B5
−
FCR1/FCR0 FTST1 FTST0
FBYTE2/
FBYTE1
B9
SBL BDS SCKE SOE
P
L2
L1
L0
D4
D3
D2
D1
D0
B4
B3
B2
B1
B0
−
− FLSTE FRIIE FDRQ FTIE FSEL − FLST FLD FSET FCL2 FCL1 FE2 FE1
FD15 FD14 FD13 FD12 FD11 FD10 FD9 FD8 FD7 FD6 FD5 FD4 FD3 FD2 FD1 FD0
■ 動作モード
UART ( 非同期マルチファンクションシリアルインタフェース ) は , 2 つの異なるモー
ドで動作します。シリアルモードレジスタ (SMR) の MD2, MD1, MD0 によって決定さ
れます。
288
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
表 15.3-3 UART ( 非同期マルチファンクションシリアルインタフェース ) の動作モード
MB91313A シリーズ
動作モード MD2 MD1 MD0
種類
0
0
0
0
UART0 ( 非同期ノーマルモード )
1
0
0
1
UART1 ( 非同期マルチプロセッサモード )
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
289
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
MB91313A シリーズ
シリアル制御レジスタ (SCR)
15.3.1
シリアル制御レジスタ (SCR) は , 送受信の許可 / 禁止 , 送受信割込みの許可 / 禁止 ,
送信バスアイドル割込みの許可 / 禁止 , UART リセットをすることができます。
■ シリアル制御レジスタ (SCR)
図 15.3-1 にシリアル制御レジスタ (SCR) のビット構成を , 表 15.3-4 に各ビットの機能
を示します。
図 15.3-1 シリアル制御レジスタ (SCR) のビット構成
SCR
bit
15
ch.0 000060H
UPCL
ch.1 000070H
ch.2 000080H R/W
ch.3 000090H
ch.4 0000A0H
ch.5 0000B0H
ch.6 0001B0H
ch.7 0001C0H
ch.8 0001D0H
ch.9 0001E0H
ch.A 0001F0H
14
13
12
11
10
9
8
-
-
RIE
TIE
TBIE
RXE
TXE
-
-
R/W
R/W
R/W
R/W
R/W
初期値
0--00000B
TXE
0
1
送信許可ビット
送信禁止
送信許可
RXE
0
1
受信許可ビット
受信禁止
受信許可
TBIE
0
1
送信バスアイドル割込み許可ビット
送信バスアイドル割込み禁止
送信バスアイドル割込み許可
TIE
0
1
送信割込み許可ビット
送信割込み禁止
送信割込み許可
RIE
0
1
受信割込み許可ビット
受信割込み禁止
受信割込み許可
未使用ビット
読出し時,値は不定です。書込み時、影響しません。
UPCL
R/W
:リード/ライト可能
0
1
プログラマブルクリアビット
書込み
読出し
影響なし
常に"0"を読出し
プログラマブルクリア
:初期値
290
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
表 15.3-4 シリアル制御レジスタ (SCR) の各ビットの機能説明
MB91313A シリーズ
ビット名
機能
bit15
UART の内部状態を初期化するビットです。
"1" を設定した場合 :
• UART を直接リセット ( ソフトウェアリセット ) します。ただし , レジ
スタの設定は維持されます。その際 , 送受信状態のものは直ちに切断さ
れます。
• ボーレートジェネレータは , BGR1/BGR0 レジスタの設定値をリロード
し , 再スタートします。
UPCL :
• すべての送受信割込み要因 (PE, FRE, ORE, RDRF, TDRE, TBI) は初期化
プログラマブル
(000011B) されます。
クリアビット
"0" を設定した場合 : 影響ありません。
読出し時は , 常に "0" が読み出されます。
( 注意事項 )
• 割込み禁止に設定した後に , プログラマブルクリアを実行してくださ
い。
• FIFO 使用時は , FIFO 禁止 (FE2, FE1=0) にしてからプログラマブルク
リアを実行してください。
bit14,
bit13
未使用ビット
bit12
• CPU への受信割込み要求出力を許可 / 禁止するビットです。
RIE :
• RIE ビットと受信データフラグビット (RDRF) が "1" の場合 , または エ
受信割込み許可
ラーフラグビット (PE, ORE, FRE) のいずれかが "1" の場合 , 受信割込み
ビット
要求を出力します。
bit11
TIE :
• CPU への送信割込み要求出力を許可 / 禁止するビットです。
送信割込み許可
• TIE ビットと TDRE ビットが "1" の場合 , 送信割込み要求を出力します。
ビット
bit10
• CPU への送信バスアイドル割込み要求出力を許可 / 禁止するビットで
TBIE :
す。
送信バス
アイドル割込み • TBIE ビットと TBI ビットが "1" のとき , 送信バスアイドル割込み要求
許可ビット
を出力します。
読み出した場合 : 値は未定です。
書き込んだ場合 : 影響しません。
bit9
RXE :
受信動作許可
ビット
UART の受信動作を許可 / 禁止します。
• "0" に設定した場合 : 受信動作が禁止されます。
• "1" に設定した場合 : 受信動作が許可されます。
( 注意事項 )
• 受信動作許可 (RXE=1) にしても , スタートビットの立下りエッジ
(NRZ フォーマット (INV=0) の場合 ) が入力されないと受信動作を開
始しません ( 反転 NRZ フォーマット (INV=1) の場合は , 立上りエッジ
が入力されるまで受信動作を開始しません )。
• 受信中に受信動作を禁止 (RXE=0) した場合には , 直ちに受信動作を停
止します。
bit8
TXE :
送信動作許可
ビット
UART の送信動作を許可 / 禁止します。
• "0" に設定した場合 : 送信動作が禁止されます。
• "1" に設定した場合 : 送信動作が許可されます。
( 注意事項 ) 送信中に送信動作を禁止 (TXE=0) した場合には , 直ちに送信
動作を停止します。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
291
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
15.3.2
MB91313A シリーズ
シリアルモードレジスタ (SMR)
シリアルモードレジスタ (SMR) は , 動作モードの設定 , 転送方向 , データ長 , ストッ
プビット長の選択およびシリアルデータとクロックの端子への出力許可 / 禁止の設定
を行います。
■ シリアルモードレジスタ (SMR)
図 15.3-2 にシリアルモードレジスタ (SMR) のビット構成を , 表 15.3-5 に各ビットの機
能を示します。
図 15.3-2 シリアルモードレジスタ (SMR) のビット構成
SMR
bit
7
6
5
4
3
2
1
0
ch.0 000061H
MD2 MD1 MD0 -
SBL BDS SCKE SOE
ch.1 000071H
ch.2 000081H
R/W R/W R/W R/W R/W R/W R/W R/W
ch.3 000091H
ch.4 0000A1H
ch.5 0000B1H
ch.6 0001B1H
ch.7 0001C1H
ch.8 0001D1H
ch.9 0001E1H
ch.A 0001F1H
初期値
000‐0000B
SOE
0
1
シリアルデータ出力許可ビット
SO出力禁止
SO出力許可
SCKE
シリアルクロック出力許可ビット
SCK出力禁止
または
SCK入力許可
SCK出力許可
0
1
BDS
0
1
SBL
0
1
転送方向選択ビット
LSBファースト(最下位ビットから転送)
MSBファースト(最上位ビットから転送)
ストップビット長選択ビット
1ビット
2ビット
未使用ビット
読出し時,値は不定です。書込み時,影響しません。
R/W
:リード/ライト可能
:初期値
MD2 MD1 MD0
動作モード設定ビット
0
0
0
動作モード0(非同期ノーマルモード)
0
0
1
動作モード1(非同期マルチプロセッサモード)
0
1
0
動作モード2(クロック同期モード)
1
0
0
動作モード4(I2Cモード)
(注意事項) 本章は動作モード0,動作モード1のレジスタおよび
動作について説明します。
292
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
表 15.3-5 シリアルモードレジスタ (SMR) の各ビットの機能説明
ビット名
機能
非同期マルチファンクションシリアルインタフェースの動作モードを設
定します。
"000B" : 動作モード 0 ( 非同期ノーマルモード ) に設定されます。
"001B" : 動作モード 1 ( 非同期マルチプロセッサモード ) に設定されます。
bit7
∼
bit5
"010B" : 動作モード 2 ( クロック同期モード ) に設定されます。
MD2, MD1,
"100B" : 動作モード 4 (I2C モード ) に設定されます。
MD0 :
動作モード設定 本章では動作モード 0 ( 非同期ノーマルモード ), 動作モード 1 ( 非同期マ
ルチプロセッサモード ) のレジスタまたは動作について説明します。
ビット
( 注意事項 )
• 上記設定以外は禁止です。
• 動作モードを切り換える場合は , プログラマブルクリア実行
(SCR:UPCL=1) 後 , 動作モードを切り換えてください。
• 動作モード設定後 , 各レジスタを設定してください。
未使用ビット
読み出した場合 : 値は不定です。
書き込んだ場合 : 影響しません。
bit3
SBL :
ストップ
ビット長
選択ビット
ストップビット ( 送信データのフレームエンドマーク ) のビット長を設
定します。
"0" に設定した場合 : ストップビットは , 1 ビットに設定されます。
"1" に設定した場合 : ストップビットは , 2 ビットに設定されます。
( 注意事項 )
• 受信時は , 常にストップビットの 1 ビット目だけを検出します。
• 本ビットは送信が禁止 (TXE=0) のときに設定してください。
bit2
BDS :
転送方向選択
ビット
転送シリアルデータを最下位ビット側から先に転送するか (LSB ファー
スト , BDS=0) 最上位ビット側から先に転送するか (MSB ファースト ,
BDS=1) を選択するビットです。
( 注意事項 ) 本ビットは , 送受信が禁止 (TXE=RXE=0) のときに設定して
ください。
bit1
SCKE:
シリアル
クロック出力
許可ビット
シリアルクロックの入出力ポートを制御するビットです。
"0" に設定した場合 : SCK"H" 出力 , または SCK 入力許可となります。
SCK 入力として使う場合は汎用入出力ポートを入
力ポートに設定してください。また , 外部クロック
選択ビットによって外部クロックを選択
(BGR:EXT=1) してください
"1" に設定した場合 : SCK 出力許可となります。
bit0
シリアルデータの出力を許可 / 禁止するビットです。
SOE:
シリアルデータ "0" に設定した場合 : SO"H" 出力となります。
出力許可ビット "1" に設定した場合 : SO 出力許可となります。
bit4
<注意事項>
動作モードを変更すると , ほかのレジスタは初期化されますので動作モードは最初に設定
してください。ただし , 16 ビット書込みで SCR と SMR を同時に書き込んだとき , SCR
には書き込んだ内容が反映されます。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
293
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
15.3.3
MB91313A シリーズ
シリアルステータスレジスタ (SSR)
シリアルステータスレジスタ (SSR) は , 送受信の状態の確認 , 受信エラーフラグの
確認 , また , 受信エラーフラグをクリアします。
■ シリアルステータスレジスタ (SSR)
図 15.3-3 にシリアルステータスレジスタ (SSR) のビット構成を , 表 15.3-6 に各ビット
の機能を示します。
図 15.3-3 シリアルステータスレジスタ (SSR) のビット構成
SSR
bit 15
ch.0 000062H
ch.1 000072H REC
ch.2 000082H R/W
ch.3 000092H
ch.4 0000A2H
ch.5 0000B2H
ch.6 0001B2H
ch.7 0001C2H
ch.8 0001D2H
ch.9 0001E2H
ch.A 0001F2H
14
13
12
-
PE
FRE
R
R
-
11
10
9
8
ORE RDRF TDRE TBI
R
R
R
初期値
0-000011B
R
TBI
0
1
送信バスアイドルフラグビット
送信中
送信動作なし
TDRE
0
1
送信データエンプティフラグビット
送信データレジスタTDRにデータが存在する
送信データレジスタがエンプティ
RDRF
受信データフルフラグビット
受信データレジスタRDRがエンプティ
0
1
受信データレジスタRDRにデータが存在する
ORE
0
1
オーバランエラーフラグビット
オーバランエラーなし
オーバランエラーあり
FRE
0
1
フレーミングエラーフラグビット
フレーミングエラーなし
フレーミングエラーあり
PE
0
1
パリティエラーフラグビット
パリティエラーなし
パリティエラーあり
未使用ビット
読出し時,値は不定です。書込み時,影響しません。
REC
0
R/W
R
-
294
:リード/ライト可能
:リードオンリ
:未使用
:初期値
1
受信エラーフラグクリアビット
書込み
読出し
影響なし
常に"0"を読出し
受信エラーフラグ
(PE,FRE,ORE)のクリア
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
表 15.3-6 シリアルステータスレジスタ (SSR) の各ビットの機能説明 (1 / 2)
MB91313A シリーズ
ビット名
機能
bit15
REC :
受信エラー
フラグクリア
ビット
シリアルステータスレジスタ (SSR) の PE, FRE, ORE フラグをクリアす
るビットです。
• "1" 書込みで , エラーフラグがクリアされます。
• "0" 書込みは , 影響しません。
読み出した場合 , 常に "0" が読み出されます。
bit14
未使用ビット
読み出した場合 : 値は不定です。
書き込んだ場合 : 影響しません。
PE :
パリティエラー
フラグビット
( 動作モード 0
のみ機能 )
• SMR : PEN=1 で受信時にパリティエラーが発生すると "1" にセット
され , シリアルステータスレジスタ (SSR) の REC ビットに "1" を書
き込むとクリアされます。
• PE ビットと SCR : RIE ビットが "1" の場合 , 受信割込み要求を出力し
ます。
• 本フラグがセットされた場合は , 受信データレジスタ (RDR) のデー
タは無効です。
• 受信 FIFO 使用時に本フラグがセットされた場合は , 受信 FIFO の許
可ビットがクリアされ , 受信データは受信 FIFO に格納されません。
FRE :
フレーミング
エラーフラグ
ビット
• 受信時にフレーミングエラーが発生すると "1" にセットされ , シリア
ルステータスレジスタ (SSR) の REC ビットに "1" を書き込むとクリ
アされます。
• FRE ビットと RIE ビットが "1" の場合 , 受信割込み要求を出力しま
す。
• 本フラグがセットされた場合は , 受信データレジスタ (RDR) のデー
タは無効です。
• 受信 FIFO 使用時に本フラグがセットされた場合は , 受信 FIFO の許
可ビットがクリアされ , 受信データは受信 FIFO に格納されません。
ORE :
オーバラン
エラーフラグ
ビット
• 受信時にオーバランが発生すると "1" にセットされ , シリアルステー
タスレジスタ (SSR) の REC ビットに "1" を書き込むとクリアされま
す。
• ORE ビットと RIE ビットが "1" の場合 , 受信割込み要求を出力しま
す。
• 本フラグがセットされた場合は , 受信データレジスタ (RDR) のデー
タは無効です。
• 受信 FIFO 使用時に本フラグがセットされた場合は , 受信 FIFO の許
可ビットがクリアされ , 受信データは受信 FIFO に格納されません。
bit13
bit12
bit11
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
295
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
表 15.3-6 シリアルステータスレジスタ (SSR) の各ビットの機能説明 (2 / 2)
MB91313A シリーズ
ビット名
bit10
bit9
bit8
296
機能
RDRF :
受信データ
フルフラグ
ビット
• 受信データレジスタ (RDR) の状態を示すフラグです。
• RDR に受信データがロードされると "1" にセットされ , 受信データ
レジスタ (RDR) を読み出すと "0" にクリアされます。
• RDRF ビットと RIE ビットが "1" の場合 , 受信割込み要求を出力しま
す。
• 受信 FIFO 使用時は , 受信 FIFO に所定のデータ数を受信すると
RDRF が "1" にセットされます。
• 受信 FIFO 使用時に , 受信 FIFO アイドル検出許可ビット
(FCR1:FRIIE) が "1", 受信 FIFO に所定のデータ数を受信せずに受信
FIFO にデータが残っている状態で受信アイドル状態がボーレートク
ロックで 8 クロック以上続いた場合 , RDRF が "1" にセットされま
す。8 クロックカウント中 , RDR を読み出すとそのカウンタは "0" に
リセットされ , 再度 8 クロックをカウントします。
• 受信 FIFO 使用時は , 受信 FIFO がエンプティになると "0" にクリア
されます。
TDRE :
送信データ
エンプティ
フラグビット
• 送信データレジスタ (TDR) の状態を示すフラグです。
• TDR に送信データを書き込むと "0" になり , TDR に有効なデータが
存在していることを示します。データが送信シフトレジスタにロー
ドされて送信が開始されると "1" になり , TDR に有効なデータが存
在していないことを示します。
• TDRE ビットと TIE ビットが "1" の場合 , 送信割込み要求を出力しま
す。
• シリアル制御レジスタ (SCR) の UPCL ビットに "1" をセットすると
TDRE ビットは "1" になります。
• 送信 FIFO 使用時の TDRE ビットのセット / リセットタイミングは ,
「15.4.2 受信 FIFO 使用時の割込み発生とフラグセットのタイミング」
を参照してください。
TBI :
送信バスアイド
ルフラグビット
• UART が送信動作をしていないことを示すビットです。
• 送信データレジスタ (TDR) へ送信データを書き込んだ場合に本ビッ
トは "0" になります。
• 送信データレジスタがエンプティ (TDRE=1) で , 送信動作をしていな
い場合に本ビットが "1" になります。
• シリアル制御レジスタ (SCR) の UPCL ビットに "1" をセットすると
TBI ビットは "1" になります。
• 本ビットが "1" で , 送信バスアイドル割込み許可 (SCR:TBIE=1) され
ていると送信割込み要求を出力します。
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
MB91313A シリーズ
拡張通信制御レジスタ (ESCR)
15.3.4
拡張通信制御レジスタ (ESCR) は , 送受信データ長の設定 , パリティビットの許可 / 禁
止 , パリティビットの選択 , シリアルデータフォーマットの反転の設定ができます。
■ 拡張通信制御レジスタ (ESCR) のビット構成
図 15.3-4 に拡張通信制御レジスタ (ESCR) のビット構成を , 表 15.3-7 に各ビットの機
能を示します。
図 15.3-4 拡張通信制御レジスタ (ESCR) のビット構成
ESCR
ch.0 000063H
ch.1 000073H
ch.2 000083H
ch.3 000093H
ch.4 0000A3H
ch.5 0000B3H
ch.6 0001B3H
ch.7 0001C3H
ch.8 0001D3H
ch.9 0001E3H
ch.A 0001F3H
bit
7
6
5
4
3
2
1
0
初期値
-
-
INV
PEN
P
L2
L1
L0
--000000B
-
-
R/W
R/W
R/W
R/W
R/W
R/W
L2
0
0
0
0
1
L1
0
0
1
1
0
データ長選択ビット
8ビット長
5ビット長
6ビット長
7ビット長
9ビット長
L0
0
1
0
1
0
P
0
1
パリティ選択ビット
偶数パリティ
奇数パリティ
PEN
0
1
パリティ許可ビット
パリティ禁止
パリティ許可
INV
0
1
反転シリアルデータフォーマットビット
NRZフォーマット
反転NRZフォーマット
未使用ビット
読出し時,値は不定です。書込み時,影響しません。
R/W
-
CM71-10143-5
:リード/ライト可能
:未使用
:初期値
FUJITSU SEMICONDUCTOR LIMITED
297
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
MB91313A シリーズ
表 15.3-7 拡張通信制御レジスタ (ESCR) の各ビットの機能説明
ビット名
機能
bit7,
bit6
未使用ビット
読み出した場合 : 値は不定です。
書き込んだ場合 : 影響しません。
bit5
INV :
反転シリアル
データフォー
マットビット
シリアルデータフォーマットを NRZ フォーマット または反転 NRZ
フォーマットを選択します。
bit4
PEN :
パリティ許可
ビット
( 動作モード 0
のみ機能 )
パリティビットの付加 ( 送信時 ) と検出 ( 受信時 ) を行うかどうかを設
定します。
• "0" に設定した場合 : パリティビットは付加されません。
• "1" に設定した場合 : パリティビットは付加されます。
( 注意事項 ) 動作モード 1 のときは , 本ビットは内部で "0" に固定され
ます。
bit3
P:
パリティ選択
ビット
( 動作モード 0
のみ機能 )
パリティあり (ESCR : PEN=1) に設定した場合に , 奇数パリティ "1" か偶
数パリティ "0" のいずれかに設定します。
• "0" に設定した場合 : 偶数パリティに設定されます。
• "1" に設定した場合 : 奇数パリティに設定されます。
送受信データのデータ長を指定します。
• "000B" に設定した場合 : データ長は , 8 ビットに設定されます。
• "001B" に設定した場合 : データ長は , 5 ビットに設定されます。
bit2
∼
bit0
L2 ∼ L0:
データ長選択
ビット
• "010B" に設定した場合 : データ長は , 6 ビットに設定されます。
• "011B" に設定した場合 : データ長は , 7 ビットに設定されます。
• "100B" に設定した場合 : データ長は , 9 ビットに設定されます。
( 注意事項 )
• 上記以外の設定は禁止です。
• 動作モード 1 では , データ長は , 7, 8 ビットに設定してください。そ
の他の設定は禁止です。
298
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
MB91313A シリーズ
15.3.5
受信データレジスタ / 送信データレジスタ
(RDR/TDR)
受信データと送信データレジスタは同一アドレスに配置されています。読み出した
場合は 受信データレジスタとして機能し , 書き込んだ場合は送信データレジスタと
して機能します。
FIFO 動作許可の場合 , RDR/TDR アドレスは FIFO の読出し , 書込みアドレスとなり
ます。
■ 受信データレジスタ (RDR)
図 15.3-5 に受信データレジスタ (RDR) のビット構成を示します。
図 15.3-5 受信データレジスタ (RDR) のビット構成
RDR
ch.0
ch.2
ch.4
ch.6
ch.8
ch.A
000064H
000084H
0000A4H
0001B4H
0001D4H
0001F4H
ch.1
ch.3
ch.5
ch.7
ch.9
000074H bit15...........
000094H
0000B4H
0001C4H
0001E4H
8
D8
R
7
D7
R
6
D6
R
5
D5
R
4
D4
R
3
D3
R
2
D2
R
1
D1
R
0
初期値
D0 000000000B
R
R : リードオンリ
受信データレジスタ (RDR) は , シリアルデータ受信用の 9 ビットのデータバッファレ
ジスタです。
• シリアル入力端子 (SIN 端子 ) に送られてきたシリアルデータ信号がシフトレジスタ
で変換されて , 受信データレジスタ (RDR) に格納されます。
• データ長に応じ , 以下のように上位ビットに "0" が入ります。
データ長
D8
D7
D6
D5
D4
D3
D2
D1
D0
9 ビット
X
X
X
X
X
X
X
X
X
8 ビット
0
X
X
X
X
X
X
X
X
7 ビット
0
0
X
X
X
X
X
X
X
6 ビット
0
0
0
X
X
X
X
X
X
5 ビット
0
0
0
0
X
X
X
X
X
(X は受信データビット )
• 受信データが , 受信データレジスタ (RDR) に格納されると , 受信データフルフラグ
ビット (SSR : RDRF) が "1" にセットされます。受信割込みが許可されている場合
(SSR : RIE=1) , 受信割込み要求が発生します。
• 受信データレジスタ (RDR) は , 受信データフルフラグビット (SSR : RDRF) が "1" の
状態で読み出してください。受信データフルフラグビット (SSR : RDRF) は , 受信
データレジスタ (RDR) を読み出すと自動的に "0" にクリアされます。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
299
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
• 受信エラーが発生 (SSR : PE, ORE, FRE のいずれかが "1") した場合 , 受信データレジ
MB91313A シリーズ
スタ (RDR) のデータは無効となります。
• 動作モード 1 ( マルチプロセッサモード ) では , 7 ビット , 8 ビット長の動作となり ,
受信した AD ビットは , D8 ビットに格納されます。
• 9 ビット長転送 および動作モード 1 の場合 , RDR の読出しは 16 ビットアクセスで
行います。
<注意事項>
• 受信 FIFO 使用時は , 受信 FIFO に所定のデータ数を受信したら RDRF が "1" にセット
されます。
• 受信 FIFO 使用時は , 受信 FIFO がエンプティになると RDRF が "0" にクリアされます。
• 受信 FIFO 使用時に , 受信エラーが発生 (SSR : PE, ORE, FRE のいずれかが "1") した
場合 , 受信 FIFO の許可ビットはクリアされ , 受信データは受信 FIFO に格納しません。
300
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
MB91313A シリーズ
■ 送信データレジスタ (TDR)
図 15.3-6 に送信データレジスタ (TDR) のビット構成を示します。
図 15.3-6 送信データレジスタ (TDR) のビット構成
TDR
ch.0
ch.2
ch.4
ch.6
ch.8
ch.A
000064H
000084H
0000A4H
0001B4H
0001D4H
0001F4H
ch.1
ch.3
ch.5
ch.7
ch.9
000074H bit15...........
000094H
0000B4H
0001C4H
0001E4H
8
D8
W
7
D7
W
6
D6
W
5
D5
W
4
D4
W
3
D3
W
2
D2
W
1
D1
W
0
初期値
D0 111111111B
W
W : ライトオンリ
送信データレジスタ (TDR) は , シリアルデータ送信用の 9 ビットデータバッファレジ
スタです。
• 送信動作が許可されている場合に (SCR : TXE=1) , 送信するデータを送信データレ
ジスタ (TDR) に書き込むと , 送信データが送信用シフトレジスタに転送されシリア
ルデータに変換されて , シリアルデータ出力端子 (SOT 端子 ) から送出されます。
• データ長に応じ , 以下のように上位ビットから順に無効データとなります。
データ長
D8
D7
D6
D5
D4
D3
D2
D1
D0
9 ビット
X
X
X
X
X
X
X
X
X
8 ビット
無効
X
X
X
X
X
X
X
X
7 ビット
無効
無効
X
X
X
X
X
X
X
6 ビット
無効
無効
無効
X
X
X
X
X
X
5 ビット
無効
無効
無効
無効
X
X
X
X
X
• 送信データエンプティフラグ (SSR : TDRE) は , 送信データが送信データレジスタ
(TDR) に書き込まれると , "0" クリアされます。
• 送信データエンプティフラグ (SSR : TDRE) は , 送信データが送信用シフトレジスタ
へ転送され , 送信が開始されると送信 FIFO が禁止または送信 FIFO がエンプティの
場合 , "1" にセットされます。
• 送信データエンプティフラグ (SSR : TDRE) が "1" のとき , 送信データを書き込むこ
とができます。送信割込みが許可されている場合には送信割込みが発生します。送
信データの書込みは , 送信割込みの発生によるか , 送信データエンプティフラグ
(SSR : TDRE) が "1" の状態で行ってください。
• 送信データエンプティフラグ (SSR : TDRE) が "0" で送信 FIFO が禁止または送信
FIFO がフルのときは , 送信データを書き込むことはできません。
• 動作モード 1 ( マルチプロセッサモード ) では , 7 ビット , 8 ビット長の動作となり ,
AD ビットの送信は , D8 ビットへの書込みにより行います。
• 9 ビット長転送および動作モード 1 の場合 TDR への書込みは 16 ビットアクセスで
行います。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
301
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
MB91313A シリーズ
<注意事項>
• 送信データレジスタは書込み専用のレジスタで , 受信データレジスタは読出し専用の
レジスタです。送受信レジスタは同一アドレスに配置されているため書込み値と読出
し値が異なります。したがって , INC/DEC 命令などリードモディファイライト (RMW)
系命令動作をする命令は使用できません。
• 送信 FIFO 使用時の送信データエンプティフラグ (SSR : TDRE) のセットタイミングは ,
「15.4.2 受信 FIFO 使用時の割込み発生とフラグセットのタイミング」を参照してくだ
さい。
302
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
MB91313A シリーズ
ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0)
15.3.6
ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) は , シリアルクロックの分周比
を設定します。また , リロードカウンタのクロックソースとして外部クロックを選
択できます。
■ ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) のビット構成
図 15.3-7 にボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) のビット構成を示しま
す。
図 15.3-7 ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) のビット構成
BGR
bit
15
ch.0 000066H
EXT
ch.1 000076H
ch.2 000086H R/W
ch.3 000096H
ch.4 0000A6H
ch.5 0000B6H
ch.6 0001B6H
ch.7 0001C6H
ch.8 0001D6H
ch.9 0001E6H
ch.A 0001F6H
R/W
14
13
B14
B13
R/W
R/W
12
10
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
00000000B
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
00000000B
:リード/ライト可能
9
8
初期値
11
7
6
5
4
3
2
1
0
ボーレートジェネレータレジスタ0
BGR0
書込み
読出し
リロードカウンタビット0~7に書込み
BGR1
書込み
読出し
リロードカウンタビット8~14に書込み
BGR0の設定値の読出し
ボーレートジェネレータレジスタ1
EXT
0
1
BGR1の設定値の読出し
外部クロック選択ビット
内部クロック使用
外部クロック使用
:初期値
• ボーレートジェネレータレジスタはシリアルクロックの分周比を設定します。
• BGR1 は上位ビット , BGR0 は下位ビットに対応し , カウントするリロード値の書込
み , BGR1/BGR0 の設定値の読出しが可能です。
• ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) にリロード値を書き込むとリ
ロードカウンタはカウントを開始します。
• bit15 の EXT ビットで , リロードカウンタのクロックソースとして内部クロックを
使用するか , 外部クロックを使用するかを選択します。EXT=0 に設定した場合 , 内
部クロックを選択します。EXT=1 に設定した場合 , 外部クロックを選択します。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
303
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
MB91313A シリーズ
<注意事項>
• ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) への書込みは , 16 ビットアクセ
スで行ってください。
• ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) の設定値を変更した場合 , カウン
タ値が "000000000000000B" になってから , 新しい設定値がリロードされます。した
がって , 新しい設定値を即有効にしたい場合は , BGR1/BGR0 の設定値を変更した後 ,
プログラマブルクリア (UPCL) を実行してください。
• リロード値が偶数の場合 , 受信シリアルクロックの "H" 幅と "L" 幅は "L" 幅のほうがマ
シンクロック 1 サイクル分長くなります。奇数の場合 , シリアルクロックの "H" 幅と
"L" 幅は同じになります。
• BGR1/BGR0 へは , 4 以上の値を設定してください。ただし , ボーレートの誤差とリロー
ド値の設定によって正常にデータを受信できないことがあります。
• ボーレートジェネレータ動作中に外部クロックの設定 (EXT=1) に変更する場合 , ボー
レートジェネレータ 1, 0 (BGR1/BGR0) に "0" を書き込み , プログラムクリア (UPCL)
実行後 , 外部クロック (EXT=1) に設定してください。
304
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
MB91313A シリーズ
FIFO 制御レジスタ 1 (FCR1)
15.3.7
FIFO 制御レジスタ (FCR1) は , FIFO のテスト設定 , 送受信 FIFO の選択 , 送信 FIFO
割込み許可の設定および割込みフラグの制御を行います。
■ FIFO 制御レジスタ 1 (FCR1) のビット構成
図 15.3-8 に FIFO 制御レジスタ 1 (FCR1) のビット構成を , 表 15.3-8 に各ビットの機能
を示します。
図 15.3-8 FIFO 制御レジスタ 1 (FCR1) のビット構成
FCR1
bit
15
14
13
ch.0 00006AH
FTST1 FTST0 -
ch.1 00007AH
ch.2 00008AH R/W R/W (-)
12
11
10
9
FLSTE FRIIE FDRQ FTIE
R/W
R/W
R/W
R/W
8
FSEL
初期値
00-00100B
R/W
FSEL
0
1
FIFO選択ビット
送信FIFO:FIFO1, 受信FIFO:FIFO2
送信FIFO:FIFO2, 受信FIFO:FIFO1
FTIE
0
1
送信FIFO割込み許可ビット
送信FIFO割込み禁止
送信FIFO割込み許可
FDRQ
送信FIFOデータ要求ビット
送信FIFOデータ要求なし
送信FIFOデータ要求あり
0
1
FRIIE
0
1
FLSTE
0
1
受信FIFOアイドル検出許可ビット
受信FIFOアイドル検出禁止
受信FIFOアイドル検出許可
再送データロスト検出許可ビット
データロスト検出禁止
データロスト検出許可
未使用ビット
読出し時、値は不定です。書込み時、影響しません。
FTST1.0
00B
00B以外
R/W
-
CM71-10143-5
FIFOテストビット
FIFOテスト禁止
設定禁止
:リード/ライト可能
:未使用
:初期値
FUJITSU SEMICONDUCTOR LIMITED
305
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
MB91313A シリーズ
表 15.3-8 FIFO 制御レジスタ 1 (FCR1) の各ビットの機能説明
ビット名
機能
bit15,
bit14
FTST1, FTST0 :
FIFO テスト
ビット
FIFO のテストビットです。
本ビットには必ず "0" を設定してください。
( 注意事項 ) 本ビットに "1" を設定した場合 , FIFO のテストを行いま
す。
bit13
未使用ビット
読み出した場合 : 値は不定です。
書き込んだ場合 : 影響しません。
bit12
FLSTE:
再送データ
ロスト検出許可
ビット
データロスト検出を許可するビットです。
"0" に設定した場合 : データロスト検出禁止
"1" に設定した場合 : データロスト検出許可
( 注意事項 )
本ビットに "1" を設定する場合 , FSET ビットに "1" を設定してから
本ビットに "1" を設定してください。
bit11
FRIIE:
受信 FIFO
アイドル検出
許可ビット
受信 FIFO に有効なデータが存在した状態で 8 ビット時間以上の受信
アイドル状態を検出するかどうかを設定するビットです。受信割込み
許可 (SCR:RIE=1) されていると , 受信アイドル状態が検出されると受
信割込みが発生します。
"0" に設定した場合 : 受信 FIFO アイドル状態検出禁止
"1" に設定した場合 : 受信 FIFO アイドル状態検出許可
bit10
FDRQ :
送信 FIFO
データ要求
ビット
送信 FIFO のデータ要求ビットです。
本ビットが "1" のとき , 送信データを要求していることを示します。こ
のとき , 送信 FIFO 割込み許可 (FTIE=1) されていると , FIFO 送信割込
み要求を出力します。
FDRQ セット条件
FBYTE( 送信用 )=0 ( 送信 FIFO がエンプティ )
FDRQ リセット条件
• 本ビットへの "0" 書込み。
• 送信 FIFO がフルになった場合。
( 注意事項 )
• 送信 FIFO 許可のときに "0" 書込みは有効です。
• FBYTE( 送信用 )=0 のときに本ビットへの "0" 書込みは禁止です。
• 本ビットに "1" を設定した場合 , 動作に影響を与えません。
• リードモディファイライト (RMW) 系命令時 , "1" が読み出されます。
bit9
FTIE :
送信 FIFO の割込み許可ビットです。本ビットに "1" を設定すると
送信 FIFO 割込み
FDRQ ビットが "1" のときに割込みが発生します。
許可ビット
bit8
送受信 FIFO を選択するビットです。
"0" に設定した場合 : 送信 FIFO : FIFO1, 受信 FIFO : FIFO2 に割り当てら
れます。
"1" に設定した場合 : 送信 FIFO : FIFO2, 受信 FIFO : FIFO1 に割り当てら
FSEL :
れます。
FIFO 選択ビット ( 注意事項 )
• 本ビットは , FIFO リセット (FCL2, FCL1=1) ではクリアされませ
ん。
• 本ビットを変更する場合は , FIFO 動作禁止 (FCR:FE2, FE1=0) にし
てから行ってください。
<注意事項>
送信割込みには送信 FIFO 割込み要求と送信バッファ割込み要求があります。
306
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
MB91313A シリーズ
FIFO 制御レジスタ 0 (FCR0)
15.3.8
FIFO 制御レジスタ 0 (FCR0) は , FIFO 動作の許可 / 禁止 , FIFO リセット , リードポ
インタの保存 , 再送信設定を行います。
■ FIFO 制御レジスタ 0 (FCR0) のビット構成
図 15.3-9 に FIFO 制御レジスタ 0 (FCR0) のビット構成を , 表 15.3-9 に各ビットの機能
を示します。
図 15.3-9 FIFO 制御レジスタ 0 (FCR0) のビット構成
FCR0 bit
ch.0 00006BH
ch.1 00007BH
ch.2 00008BH
7
-
(-)
6
5
4
3
2
1
FLST FLD FSET FCL2 FCL1 FE2
R
R/W
R/W
R/W
R/W
R/W
初期値
0
FE1 00000000B
R/W
FE1
0
1
FIFO1動作許可ビット
FIFO1動作禁止
FIFO1動作許可
FE2
0
1
FIFO2動作許可ビット
FIFO2動作禁止
FIFO2動作許可
FCL1
0
1
FCL2
0
1
FSET
0
1
FIFO1リセットビット
書込み
読出し
影響なし
常に”0”を読出し
FIFO1リセット
FIFO2リセットビット
書込み
読出し
影響なし
常に"0"を読出し
FIFO2リセット
FIFOポインタ保存ビット
書込み
読出し
保存しない
常に"0"を読出し
保存実行
FLD
0
1
FIFOポインタリロードビット
リロードしない
リロード実行
FLST
0
1
FIFO再送データロストフラグビット
データロストなし
データロストあり
未使用ビット
読出し時、常に"0"を読出し。書込み時、常に"0"を書込み
R/W
:リード/ライト可能
R
-
:リードオンリ
:未使用
:初期値
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
307
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
表 15.3-9 FIFO 制御レジスタ 0 (FCR0) の各ビットの機能説明 (1 / 2)
MB91313A シリーズ
ビット名
機能
読み出した場合 : 常に "0" が読み出されます。
書き込んだ場合 : 常に "0" を書いてください。
bit7
未使用ビット
bit6
送信 FIFO の再送データが失われたことを示すビットです。
FLST セット条件
FIFO 制御レジスタ 1 (FCR1) の FLSTE ビットが "1" で , 送信 FIFO の
ライトポインタと FSET ビットによって保存 したリードポインタが一
致しているときに FIFO へ書き込んだ ( 上書きした ) 場合
FLST :
FLST リセット条件
FIFO 再送データ
• FIFO リセット (FCL への "1" 書込み )
ロストフラグ
• FSET ビットへ "1" 書込み
ビット
本ビットに "1" が設定されると FSET ビットで保存したリードポインタ
が示すデータを上書きしてしまい , エラーが発生しても FLD ビットに
よって再送の設定ができません。本ビットに "1" が設定された状態で再
送を行う場合には FIFO リセットを実施し , 再度 FIFO にデータを書き
込んでください。
bit5
FLD :
FIFO ポインタ
リロードビット
送信 FIFO に FSET ビットによって保存したデータをリードポインタに
リロードするビットです。本ビットは通信エラーなどが発生し再送す
るときに使用します。
再送設定が完了した場合 , 本ビットは "0" になります。
( 注意事項 )
• 本ビットが "1" にセットされている間 , リードポインタへのリロー
ド中なので FIFO リセット以外の書込みは行わないでください。
• FIFO 許可状態または送信中に本ビットに "1" を設定することは禁
止です。
• TIE ビットと TBIE ビットは "0" にしてから本ビットに "1" を書き込
み , 送信 FIFO 許可後 TIE ビットと TBIE ビットを "1" にしてくださ
い。
FSET :
FIFO ポインタ
保存ビット
送信 FIFO のリードポインタを保存するビットです。
通信前にリードポインタを保存すれば , 通信エラーなどが発生した
場合 , FLST ビットが "0" であれば , 再送可能となります。
"1" に設定した場合 : 現在のリードポインタの値を保存します。
"0" に設定した場合 : 影響しません。
( 注意事項 ) 送信バイト数 (FBYTE) が "0" を示しているときに本ビッ
トを "1" に設定してください。
FCL2 :
FIFO2 リセット
ビット
FIFO2 をリセットするビットです。
本ビットを "1" に設定すると , FIFO2 の内部状態を初期化します。
FCR1:FLST ビットのみ初期化され , FCR1/FCR0 レジスタのほかのビッ
トは保持されます。
( 注意事項 )
• 送受信を禁止してから , FIFO2 リセットを実行してください。
• 送信 FIFO 割込み許可ビットを "0" にしてから実行してください。
• FBYTE2 レジスタの有効データ数は "0" になります。
bit4
bit3
308
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
表 15.3-9 FIFO 制御レジスタ 0 (FCR0) の各ビットの機能説明 (2 / 2)
MB91313A シリーズ
ビット名
bit2
bit1
bit0
機能
FCL1 :
FIFO1 リセット
ビット
FIFO1 をリセットするビットです。
本ビットを "1" に設定すると , FIFO1 の内部状態を初期化します。
FCR1:FLST ビットのみ初期化され , FCR1/FCR0 レジスタのほかのビッ
トは保持されます。
( 注意事項 )
• 送受信を禁止してから , FIFO1 リセットを実行してください。
• 送信 FIFO 割込み許可ビットを "0" にしてから実行してください。
• FBYTE1 レジスタの有効データ数は "0" になります。
FE2 :
FIFO2 動作許可
ビット
FIFO2 の動作を許可 / 禁止するビットです。
• FIFO2 を使用する場合 , 本ビットに "1" を設定してください。
• FIFO2 を送信 FIFO に設定し (FCR1:FSEL=1) , 本ビットに "1" を書き込
んだときに FIFO2 にデータが存在します。UART が送信許可 (TXE=1)
のとき , 直ちに送信を開始します。TIE ビットと TBIE ビットは "0"
にしてから本ビットに "1" を書き込み , TIE ビットと TBIE ビットを
"1" にしてください。
• FSEL ビットで受信 FIFO として選択された場合 , 受信エラーが発生す
ると本ビットは "0" にクリアされます。受信エラーがクリアされない
限り , 本ビットに "1" を設定することはできません。
• 送信 FIFO 使用時に送信バッファがエンプティ (TDRE=1) , 受信 FIFO
使用時に受信バッファがエンプティ (RDRF=0) の場合 , 本ビットをそ
れぞれ "1" または "0" を設定してください。
• FIFO2 を禁止にしても FIFO2 の状態は保持されます。
FE1 :
FIFO1 動作許可
ビット
FIFO1 の動作を許可 / 禁止するビットです。
• FIFO1 を使用する場合 , 本ビットに "1" を設定してください。
• FIFO1 を送信 FIFO に設定し (FCR1:FSEL=0), 本ビットに "1" を書き込
んだときに FIFO1 にデータが存在します。UART が送信許可 (TXE=1)
のとき , 直ちに送信を開始します。TIE ビットと TBIE ビットは "0"
にしてから本ビットに "1" を書き込み , TIE ビットと TBIE ビットを
"1" にしてください。
• FSEL ビットで受信 FIFO として選択された場合 , 受信エラーが発生す
ると本ビットは "0" にクリアされます。受信エラーがクリアされない
限り , 本ビットに "1" を設定することはできません。
• 送信 FIFO 使用時に送信バッファがエンプティ (TDRE=1) , 受信 FIFO
使用時に受信バッファがエンプティ (RDRF=0) の場合 , 本ビットをそ
れぞれ "1" または "0" を設定してください。
• FIFO1 を禁止にしても FIFO1 の状態は保持されます。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
309
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
15.3.9
MB91313A シリーズ
FIFO バイトレジスタ (FBYTE)
FIFO バイトレジスタ (FBYTE) は , FIFO の有効なデータ数を示します。また , 受信
FIFO で所定のデータ数を受信したときに受信割込みを発生させるかを設定できま
す。
■ FIFO バイトレジスタ (FBYTE) のビット構成
図 15.3-10 に FIFO バイトレジスタ (FBYTE) のビット構成を示します。
図 15.3-10 FIFO バイトレジスタ (FBYTE) のビット構成
FBYTE bit 15
14
13
12
11
10
9
8
ch.0 00006CH
ch.1 00007CH FD15 FD14 FD13 FD12 FD11 FD10 FD9 FD8
ch.2 00008CH R/W R/W R/W R/W R/W R/W R/W R/W
7
6
5
4
3
2
1
0
初期値
FD7
FD6
FD5
FD4
FD3
FD2
FD1
FD0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
00000000B
FBYTE1
書込み
読出し
FIFO1データ数表示ビット
転送数を設定
有効なデータ数を読出し
FBYTE2
書込み
読出し
FIFO2データ数表示ビット
転送数を設定
有効なデータ数を読出し
R/W : リード/ライト可能
読出し(有効なデータ数)
送信時:FIFOに書き込まれ、送信されていないデータ数
受信時:FIFOに受信されたデータ数
書込み(転送数)
送信時:"00H"設定
受信時:受信割込み発生のデータ数設定
FIFO バイトレジスタ (FBYTE) は , FIFO に書込みまたは受信した有効なデータ数を示
し , FCR1:FSEL ビットの設定によって以下のようになります。
表 15.3-10 データ数表示
FSEL
FIFO 選択
データ数表示
0
FIFO2 : 受信 FIFO, FIFO1 : 送信 FIFO
FIFO2 : FBYTE2, FIFO1 : FBYTE1
1
FIFO2 : 送信 FIFO, FIFO1 : 受信 FIFO
FIFO2 : FBYTE2, FIFO1 : FBYTE1
• FIFO バイトレジスタ (FBYTE) レジスタの転送数の初期値は "08H" です。
• 受信 FIFO の FBYTE に受信割込みフラグを発生させるデータ数を設定します。その
設定された転送数と FIFO バイトレジスタ (FBYTE) のデータ数表示が一致すると割
込みフラグ (SSR:RDRF) が "1" にセットされます。
310
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.3 UART ( 非同期マルチファンクションシリアルインタ
フェース ) のレジスタ
• 受信 FIFO アイドル検出許可ビット (FRIIE) が "1" で受信 FIFO に存在するデータ数
MB91313A シリーズ
が転送数に達しない場合 , 受信アイドル状態がボーレートクロックで 8 クロック以
上続くと割込みフラグ (RDRF) が "1" にセットされます。8 クロックカウント中 ,
RDR を読み出すとそのカウンタは "0" にリセットされ , 再度 8 クロックをカウント
します。受信 FIFO が禁止されるとそのカウンタは "0" にリセットされます。受信
FIFO にデータが残っている状態で受信 FIFO を許可すると再度 カウントを開始しま
す。
<注意事項>
• 送信 FIFO の FIFO バイトレジスタ (FBYTE) には "00H" を設定してください。
• 受信 FIFO の FBYTE は "1" 以上のデータを設定してください。
• 受信を禁止してから変更してください。
• 本レジスタはリードモディファイライト (RMW) 系命令を使用することはできません。
• FIFO 容量を超える設定は禁止です。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
311
第 15 章 マルチファンクション シリアルインタフェース
15.4 UART ( 非同期マルチファンクションシリアルインタ
フェース ) の割込み
15.4
MB91313A シリーズ
UART ( 非同期マルチファンクションシリアルインタ
フェース ) の割込み
UART には , 送受信割込みがあります。次に示す要因で割込み要求を発生させるこ
とができます。
• 受信データが受信データレジスタ (RDR) にセットされた場合 , または受信エラー
が発生した場合
• 送信データが送信データレジスタ (TDR) から送信用シフトレジスタに転送され ,
送信が開始された場合
• 送信バスアイドル ( 送信動作なし )
• 送信 FIFO データ要求
■ UART の割込み
UART の割込み制御ビットと割込み要因は表 15.4-1 のようになっています。
312
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.4 UART ( 非同期マルチファンクションシリアルインタ
フェース ) の割込み
MB91313A シリーズ
表 15.4-1 UART の割込み制御ビットと割込み要因
割込み
の種類
割込み要求
動作モード
フラグ
フラグ
レジスタ
0
1
ビット
割込み要因
割込み要因
許可ビット
割込み要求
フラグのクリア
受信データ (RDR) の
読出し
1 バイト受信
FBYTE 設定値分
受信
RDRF
SSR
○
○
FRIIE ビットが "1"
で受信 FIFO に有効
なデータが存在した SCR:RIE
状態で 8 ビット時間
以上の受信アイドル
状態検出
ORE
SSR
○
○
オーバランエラー
FRE
SSR
○
○
フレーミングエラー
PE
SSR
○
×
パリティエラー
受信
TDRE
SSR
○
○
送信レジスタが
エンプティ
受信エラーフラグクリ
アビット (SSR:REC)
への "1" 書込み
SCR:TIE
送信データ (TDR) へ
の書込み , または送信
FIFO 動作許可ビット
が "0" で送信 FIFO に
有効なデータが存在し
ているときに送信
FIFO 動作許可ビット
への "1" 書込み ( 送信
再送 ) *
SCR:TBIE
送信データ (TDR) へ
の書込み , または送信
FIFO 動作許可ビット
が "0" で送信 FIFO に
有効なデータが存在し
ているときに送信
FIFO 動作許可ビット
への "1" 書込み ( 送信
再送 ) *
FCR1:FTIE
FIFO 送信データ要求
ビット (FCR1:FDRQ)
への "0" 書込みまたは
送信 FIFO がフル
送信
TBI
FDRQ
SSR
FCR1
○
○
○
送信動作なし
○
送信 FIFO が
エンプティ
受信 FIFO がエンプ
ティになるまでの受信
データ (RDR) の読出
し
*: TDRE ビットが "0" になってから TIE ビットを "1" にしてください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
313
第 15 章 マルチファンクション シリアルインタフェース
15.4 UART ( 非同期マルチファンクションシリアルインタ
フェース ) の割込み
MB91313A シリーズ
受信割込み発生とフラグセットのタイミング
15.4.1
受信時の割込みとしては , 受信完了 (SSR:RDRF) および受信エラーの発生 (SSR :
PE, ORE, FRE) があります。
■ 受信割込み発生とフラグセットのタイミング
最初のストップビットの検出されることにより , 受信データが受信データレジスタ
(RDR) に格納されます。受信が完了したとき (SSR:RDRF=1) または受信エラーが発生
(SSR:PE, ORE, FRE=1) すると各フラグがセットされます。そのとき , 受信割込みが許
可 (SSR:RIE=1) されていると受信割込みが発生します。
<注意事項>
受信エラーが発生した場合は , 受信データレジスタ (RDR) のデータは無効となります。
図 15.4-1 RDRF ( 受信データフル ) フラグビットのセットタイミング
受信データ
ST
D0
D1
D2
D5
D6
D7
SP
ST
RDRF
受信割込み発生
図 15.4-2 FRE ( フレーミングエラー ) フラグビットのセットタイミング
受信データ
ST
D0
D1
D2
D5
D6
D7
SP
ST
RDRF
FRE
受信割込み発生
最初のストップビットが "L" レベルのとき , フレーミングエラーが発生します。
フレーミングエラーが発生しても ,RDRF は "1" にセットされデータは受信されますが ,
受信データは無効です。
図 15.4-3 ORE ( オーバランエラー ) フラグビットのセットタイミング
受信データ
ST D0 D1 D2 D3 D4 D5 D6 D7 SP ST D0 D1 D2 D3 D4 D5 D6 D7 SP
RDRF
ORE
受信データが読み出される前に (RDRF=1), 次のデータが転送されるとオーバランエ
ラーが発生します。
314
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.4 UART ( 非同期マルチファンクションシリアルインタ
フェース ) の割込み
MB91313A シリーズ
15.4.2
受信 FIFO 使用時の割込み発生とフラグセットのタイ
ミング
受信 FIFO 使用時の割込みは , FIFO バイトレジスタ (FBYTE) の設定値分受信すると
発生します。
■ 受信 FIFO 使用時の受信割込み発生とフラグセットのタイミング
受信 FIFO 使用時の割込み発生は , FIFO バイトレジスタ (FBYTE) の設定値によって決
定されます。
• FIFO バイトレジスタ (FBYTE) の転送数設定分のデータを受信するとシリアルス
テータスレジスタの受信データフルフラグ (SSR:RDRF) が "1" にセットされます。こ
のとき , 受信割込み許可 (SCR:RIE) されていると受信割込みを発生します。
• 受信 FIFO アイドル検出許可ビット (FRIIE) が "1" で受信 FIFO に存在するデータ数
が転送数に達しない場合 , 受信アイドル状態がボーレートクロックで 8 クロック以
上続くと割込みフラグ (RDRF) が "1" にセットされます。8 クロックカウント中 ,
RDR を読み出すとそのカウンタは "0" にリセットされ , 再度 8 クロックをカウント
します。受信 FIFO が禁止されるとそのカウンタは "0" にリセットされます。受信
FIFO にデータが残っている状態で受信 FIFO を許可すると再度 カウントを開始しま
す。
• 受信 FIFO がエンプティになるまで受信データ (RDR) を読み出すと , 受信データフ
ルフラグ (SSR:RDRF) はクリアされます。
• 受信有効データ数表示が FIFO 容量を示した状態で , 次のデータを受信するとオーバ
ランエラー (SSR:ORE=1) が発生します。
図 15.4-4 受信 FIFO 使用時の受信割込み発生タイミング
受信データ
ST 1バイト目 SP
ST 2バイト目 SP
Fバイト設定
(転送数)
Fバイト読出し
(有効バイト表示)
ST 3バイト目 SP
ST 4バイト目 SP
ST 5バイト目 SP
3
0
1
2
3
2 1
0
1
2
RDRF
RDRの読出し
Fバイト設定(転送数)と受信データ数
一致したことにより割込み発生
CM71-10143-5
全受信データを読出し
FUJITSU SEMICONDUCTOR LIMITED
315
第 15 章 マルチファンクション シリアルインタフェース
15.4 UART ( 非同期マルチファンクションシリアルインタ
フェース ) の割込み
図 15.4-5 ORE ( オーバランエラー ) フラグビットのセットタイミング
MB91313A シリーズ
受信データ
ST 62バイト目 SP
ST 63バイト目 SP
Fバイト設定
(転送数)
ST 64バイト目 SP
ST 65バイト目 SP
ST 66バイト目 SP
62
Fバイト読出し
(有効バイト表示)
62
63
64
RDRF
ORE
オーバランエラー発生
Fバイト読出しがFIFO容量を示した状態で, 次のデータを受信するとオーバランエラー
が発生します。
図 15.4-5 は , 64 バイトの FIFO 容量を使用した場合を示しています。
316
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.4 UART ( 非同期マルチファンクションシリアルインタ
フェース ) の割込み
MB91313A シリーズ
送信割込み発生とフラグセットのタイミング
15.4.3
送信時の割込みとしては , 送信データが 送信データレジスタ (TDR) から送信用シフ
トレジスタに転送され (SSR : TDRE=1), 送信が開始された場合と送信動作をしてい
ないとき (SSR : TBI=1) に発生します。
■ 送信割込み発生とフラグセットのタイミング
● 送信データエンプティフラグ (TDRE) のセットタイミング
送信データレジスタ (TDR) に書き込まれたデータが送信シフトレジスタに転送される
と , 次のデータの書込みが可能な状態 (SSR:TDRE=1) になります。そのとき , 送信割込
みが許可 (SCR:TIE=1) されていると 送信割込みが発生します。TDRE ビットはリード
オンリビットなので , 送信データレジスタ (TDR) へのデータ書込みにより "0" にクリア
されます。
図 15.4-6 送信データエンプティフラグ (TDRE) のセットタイミング
送信割込み発生
送信データ
(モード0,モード1)
ST
D0
送信割込み発生
D1 D2
D3
D4 D5 D6
D7
SP ST
D0 D1
D2
TDRE
TDRへの書込み
ST:スタートビット D0~D7:データビット SP:ストップビット
● 送信バスアイドルフラグ (TBI) のセットタイミング
送信データレジスタがエンプティ (TDRE=1) で送信動作をしていないとき , SSR : TBI
ビットは"1"にセットされます。このとき, 送信バスアイドル割込み許可 (SCR : TBIE=1)
されていると送信割込みが発生します。送信データレジスタ(TDR)に送信データをセッ
トすると TBI ビットおよび送信割込み要求はクリアされます。
図 15.4-7 送信バスアイドルフラグ (TBI) のセットタイミング
送信データ
ST D0 D1 D2 D3 D4 D5 D6 D7
SP
ST D0 D1 D2 D3 D4 D5 D6 D7
TBI
TBIビットによる
送信割込み発生
TDRE
TDR書込み
ST:スタートビット D0~D7:データビット SP:ストップビット
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
317
第 15 章 マルチファンクション シリアルインタフェース
15.4 UART ( 非同期マルチファンクションシリアルインタ
フェース ) の割込み
15.4.4
MB91313A シリーズ
送信 FIFO 使用時の割込み発生とフラグセットの
タイミング
送信 FIFO 使用時の割込みは , 送信 FIFO にデータが存在しないときに発生します。
■ 送信 FIFO 使用時の送信割込み発生とフラグセットのタイミング
• 送信 FIFO にデータが存在しない場合 , FIFO 送信データ要求ビット (FCR1 : FDRQ)
が "1" にセットされます。
このとき , FIFO 送信割込み許可 (FCR1 : FTIE=1) されていると送信割込みが発生し
ます。
• 送信割込みが発生して送信 FIFO に必要なデータを書き込んだら , FIFO 送信データ
要求ビット (FCR1 : FDRQ) に "0" 書込んで割込み要求をクリアしてください。
• 送信 FIFO がフルになると FIFO 送信データ要求ビット (FCR1:FDRQ) は "0" になり
ます。
• 送信 FIFO データについての存在の確認は , FIFO バイトレジスタ (FBYTE) を読み出
すことで確認できます。
FBYTE=00H のときは , 送信 FIFO にデータが存在していないことを示します。
図 15.4-8 送信 FIFO 使用時の送信割込み発生タイミング
送信データ
Fバイト
ST 1バイト目 SP
0
1
2
1
ST 2バイト目SP
0
1
ST 3バイト目 ST
2
SP 4バイト目SP
SP 5バイト目
0
1
FDRQ
TDRE
"0"書込みでクリア
送信割込み発生*1
送信FIFO(TDR)
へ書込み
"0"書込みでクリア
送信割込み発生*1
送信データレジスタがエンプティ*2
*1: 送信FIFOがエンプティのため、FDRQ=1にセットされる。
*2: 送信シフトレジスタと送信バッファレジスタにデータが存在しないため、TDRE=1にセットされる
318
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
15.5
第 15 章 マルチファンクション シリアルインタフェース
15.5 UART ( 非同期マルチファンクションシリアルインタ
フェース ) の動作
UART ( 非同期マルチファンクションシリアルインタ
フェース ) の動作
UART は , モード 0 の双方向シリアル非同期通信 , モード 1 のマスタ / スレーブマル
チプロセッサ通信で動作します。
■ UART の動作
● 送受信データフォーマット
• 送受信データは 必ずスタートビットから始まり , 指定されたデータビット長の送受
信が行われ , 少なくとも 1 ビットのストップビットで終了します。
• データ転送方向 (LSB ファーストまたは MSB ファースト ) は , シリアルモードレジ
スタ (SMR) の BDS ビットで決定されます。パリティありの場合 , パリティビットは
常に最終データビットと最初のストップビットの間に置かれます。
• 動作モード 0 ( 通常モード ) では , パリティは , あり / なしの選択ができます。
• 動作モード 1 ( マルチプロセッサモード ) では , パリティは付加されず , AD ビット
が付加されます。
図 15.5-1 に , 動作モード 0, 1 の送受信データフォーマットを示します。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
319
第 15 章 マルチファンクション シリアルインタフェース
15.5 UART ( 非同期マルチファンクションシリアルインタ
フェース ) の動作
図 15.5-1 送受信データフォーマット例 ( 動作モード 0, 1)
MB91313A シリーズ
[動作モード0]
ST
D0 D1
D2
D3
D4
D5
D6
D7
SP1 SP2
ST
D0 D1
D2
D3
D4
D5
D6
D7
SP1
Pなし
データ8ビット
ST
D0 D1
D2
D3
D4
D5
D6
D7
P
SP1 SP2
ST
D0 D1
D2
D3
D4
D5
D6
D7
P
SP1
ST
D0 D1
D2
D3
D4
D5
D6
SP1 SP2
ST
D0 D1
D2
D3
D4
D5
D6
SP1
ST
D0 D1
D2
D3
D4
D5
D6
P
Pあり
Pなし
データ7ビット
SP1 SP2
Pあり
ST
D0 D1
D2
D3
D4
D5
D6
P
SP1
ST
D0 D1
D2
D3
D4
D5
D6
D7
AD
SP1 SP2
ST
D0 D1
D2
D3
D4
D5
D6
D7
AD
SP1
ST
D0 D1
D2
D3
D4
D5
D6
AD SP1 SP2
[動作モード1]
データ8ビット
データ7ビット
ST
ST
SP
P
AD
D0~D7
D0 D1
D2
D3
D4
D5
D6
AD SP1
: スタートビット
: ストップビット
: パリティビット
: アドレスビット
: データビット
<注意事項>
• 図は , データ長 7, 8 ビットに設定した場合を示しています ( データ長は , 動作モード 0
の場合 , 5 ∼ 9 ビットまで設定できます )。
• シリアルモードレジスタ (SMR) の BDS ビットを "1" (MSB ファースト ) に設定した場
合 , ビットは D7, D6, D5,・・・, D1, D0 (P) の順で処理されます。
• データ長が , X ビット長に設定した場合 , 送受信データレジスタ (RDR/TDR) の下位 X
ビットが有効になります。
320
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
● 送信動作
第 15 章 マルチファンクション シリアルインタフェース
15.5 UART ( 非同期マルチファンクションシリアルインタ
フェース ) の動作
• シリアルステータスレジスタ (SSR) の送信データエンプティフラグビット (TDRE)
が "1" であれば , 送信データレジスタ (TDR) に送信データを書き込むことができま
す ( 送信 FIFO が許可されている場合には TDRE=0 でも送信データを書くことは可
能 )。
• 送信データを送信データレジスタ (TDR) に書き込むと , 送信データエンプティフラ
グビット (TDRE) は "0" になります。
• シリアル制御レジスタの送信動作許可ビット (SCR : TXE) を "1" に設定すると , 送信
データは送信シフトレジスタにロードされスタートビットから順に送信が開始さ
れます。
• 送信が開始されると , 送信データエンプティフラグビット (TDRE) は再び "1" にセッ
トされます。このとき , 送信割込みが許可 (SCR : TIE=1) されていれば , 送信割込み
が発生します。割込み処理において , 次の送信データを送信データレジスタに書き
込むことができます。
<注意事項>
• 送信データエンプティフラグビット (SSR : TDRE) は初期値が "1" のため , 送信割込み
が許可 (SCR : TIE) されると直ちに送信割込みが発生します。
• FIFO 送信データ要求ビット (FCR1 : FDRQ) は初期値が "1" のため , FIFO 送信割込み
が許可 (FCR1 : FTIE=1) されると直ちに送信割込みが発生します。
● 受信動作
• 受信動作が許可 (SCR : RXE=1) されると , 受信動作を行います。
• スタートビットを検出すると , 拡張通信制御レジスタ (ESCR : PEN, P, L2, L1, L0), お
よびシリアルモードレジスタ (SMR : BDS) に設定されているデータフォーマットに
従って 1 フレームデータの受信が行われます。
• 1 フレームの受信が完了すると , 受信データフルフラグビット (SSR : RDRF) が "1"
にセットされます。このとき , 受信割込みが許可 (SCR : RIE=1) されている場合 , 受
信割込みが発生します。
• 受信データを読み出す際には , 1 フレームデータの受信完了後に受信データを読み
出し , シリアルステータスレジスタ (SSR) のエラーフラグの状態を確認してくださ
い。受信エラーが発生している場合には , エラー処理を行ってください。
• 受信データの読出しで , 受信データフルフラグビット (SSR : RDRF) は "0" にクリア
されます。
• 受信 FIFO が許可されている場合 , 受信 FBYTE に設定された分のフレームを受信す
ると受信データフルフラグビット (SSR : RDRF) は "1" にセットされます。
• 受信 FIFO アイドル検出許可ビット (FRIIE) が "1" で受信 FIFO に存在するデータ数
が転送数に達しない場合 , 受信アイドル状態がボーレートクロックで 8 クロック以
上続くと割込みフラグ (RDRF) が "1" にセットされます。8 クロックカウント中 , RDR
を読み出すとそのカウンタは "0" にリセットされ , 再度 8 クロックをカウントしま
す。受信 FIFO が禁止されるとそのカウンタは "0" にリセットされます。受信 FIFO
にデータが残っている状態で受信 FIFO を許可すると再度 カウントを開始します。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
321
第 15 章 マルチファンクション シリアルインタフェース
15.5 UART ( 非同期マルチファンクションシリアルインタ
フェース ) の動作
• 受信 FIFO が許可されている場合 , シリアルステータスレジスタ (SSR) のエラーフラ
MB91313A シリーズ
グが "1" にセットされると受信 FIFO にはそのエラーが発生したデータは受信 FIFO
に格納しません。また , そのとき受信データフルフラグビット (SSR : RDRF) を "1"
にセットしません ( ただし , オーバランエラーの場合は RDRF フラグは 1 にセット
されます )。受信 FBYTE の表示はエラーが発生する前に正常に受信したデータ数を
示しています。シリアルステータスレジスタ (SSR) のエラーフラグが "0" にクリア
されないと受信 FIFO は許可されません。
• 受信 FIFO が許可されている場合 , 受信 FIFO にデータがなくなると受信データフル
フラグビット (SSR : RDRF) は "0" にクリアされます。
<注意事項>
受信データレジスタ (RDR) のデータは , 受信データレジスタフルフラグビット (SSR :
RDRF) が "1" にセットされ , 受信エラーが発生しなかった場合 (SSR : PE, ORE, FRE=0)
に有効となります。
● クロック選択
• 内部クロック , または外部クロックを使用できます。
• 外部クロックを使用する場合は , SMR:EXT=1 に設定します。この場合 , 外部クロッ
クが ボーレートジェネレータで分周されます。
● スタートビット検出
• 非同期モード時は , SIN 信号の立下りエッジによってスタートビットを認識します。
このため , 受信動作許可 (SCR:RXE=1) しても SIN 信号の立下りエッジが入力されな
いと 受信動作を開始しません。
• スタートビットの立下りエッジを検出すると , ボーレートジェネレータの受信リロー
ドカウンタはリセットされ , 再リロードしカウントダウンを開始します。これに
よって , 常にデータの中心でサンプリングします。
スタートビット
データビット
SIN
SIN(OverSampled)
SEDGE
(内部信号)
リロードカウンタ
リセット
データサンプリング
受信サンプリング
クロック
1ビットタイム
● ストップビット
• 1 ビットまたは 2 ビット長を選択できます。
• 受信データフルフラグビット (SSR : RDRF) は , 最初のストップビットを検出すると
"1" にセットされます。
322
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.5 UART ( 非同期マルチファンクションシリアルインタ
フェース ) の動作
MB91313A シリーズ
● エラー検出
• 動作モード 0 では , パリティエラー , オーバランエラー , フレームエラーが検出でき
ます。
• 動作モード 1 では , オーバランエラー , フレームエラーが検出できます。パリティ
エラーは検出できません。
● パリティビット
• パリティビットの付加は , 動作モード 0 の場合のみ設定できます。パリティ許可ビッ
ト (ESCR : PEN) でパリティの有無を , パリティ選択ビット (ESCR : P) で偶数パリ
ティ / 奇数パリティを設定できます。
• 動作モード 1 では , パリティを使用できません。
図 15.5-2 に , パリティ有効時の動作を示します。
図 15.5-2 パリティ有効時の動作
ST
D0
D1
D2
D3
D4
D5
D6
D7
P
SP
偶数パリティにて受信時
パリティエラー発生
(ESCR:P=0)
受信データ
(モード0)
SMR:PE
偶数パリティの送信
(ESCR:P=0)
送信データ
(モード0)
奇数パリティの送信
(ESCR:P=1)
送信データ
(モード0)
ST:スタートビット
SP:ストップビット
パリティあり(ESCR:PEN=1)、8ビット長の場合
(注意事項) 動作モード1では、パリティは使用できません。
● データ信号方式
拡張通信制御レジスタの INV ビットの設定によって , NRZ(Non Return to Zero) 信号方
式 (ESCR : INV=0) または反転 NRZ 信号方式 (ESCR : INV=1) を選択できます。
図 15.5-3 に , NRZ (Non Return to Zero) 信号方式 および反転 NRZ 信号方式を示します。
図 15.5-3 NRZ (Non Return to Zero) 信号方式 および反転 NRZ 信号方式
SIN (NRZ)
INV = 0
ST
D0
D1
D2
D3
D4
D5
D6
D7
SP
SIN (反転NRZ)
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 (反転NRZ)
INV = 1
ST
D0
D1
D2
D3
D4
D5
D6
D7
SP
● データ転送方式
データビット転送方法を LSB ファーストまたは MSB ファーストを選択できます。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
323
第 15 章 マルチファンクション シリアルインタフェース
15.6 UART 専用ボーレートジェネレータ
15.6
MB91313A シリーズ
UART 専用ボーレートジェネレータ
UART の送受信クロックソースは , 次のいずれかを選択できます。
• 専用ボーレートジェネレータ ( リロードカウンタ )
• 外部クロックをボーレートジェネレータに入力 ( リロードカウンタ )
■ UART ボーレート選択
ボーレートは次の 2 種類の中から 1 種類を選択できます。
● 専用ボーレートジェネレータ ( リロードカウンタ ) で内部クロックを分周して得られるボー
レート
2 つの内部リロードカウンタがあり , それぞれ送受信シリアルクロックに対応していま
す。ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) で 15 ビットのリロード値を
設定することにより , ボーレートを選択できます。
リロードカウンタは , 設定された値で内部クロックを分周します。
クロックソースの設定は , 内部クロックを選択 (SMR:EXT=0) してください。
● 専用ボーレートジェネレータ ( リロードカウンタ ) で外部クロックを分周して得られるボー
レート
リロードカウンタのクロックソースに外部クロックを使用します。
ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) で 15 ビットのリロード値を設定
することによりボーレートを選択できます。
リロードカウンタは , 設定された値で外部クロックを分周します。
クロックソースの設定は , 外部クロックとボーレートジェネレータクロック使用を選
択 (SMR:EXT=1) してください。
本モードは特殊な周波数の発振子を分周して使用するケースを想定して用意されてい
ます。
<注意事項>
• 外部クロックの設定(EXT=1)は, リロードカウンタが停止した状態(BGR1/BGR0=15"H00)
で行ってください。
• 外部クロックに設定 (EXT=1) した場合 , 外部クロックの "H" 幅 , "L" 幅は 2 マシンクロッ
ク以上必要です。
324
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.6 UART 専用ボーレートジェネレータ
ボーレート設定
15.6.1
ボーレートの設定を示します。また , シリアルクロック周波数の計算結果を示します。
■ ボーレートの計算
2つの15ビットリロードカウンタは, ボーレートジェネレータレジスタ1, 0 (BGR1/BGR0)
で設定します。
ボーレートの計算式を以下に示します。
(1) リロード値
V=φ/b−1
V : リロード値
b : ボーレート , φ : マシンクロック , 外部クロック周波数
(2) 計算例
マシンクロック 16MHz, 内部クロック使用 , ボーレート 19200bps に設定する場
合のリロード値は , 次のようになります。
リロード値 :
V = (16 × 1000000)/19200 − 1 = 832
よって , ボーレートは
b = (16 × 1000000)/(832 + 1) = 19208 bps
(3) ボーレートの誤差
ボーレートの誤差は次の式によって求められます。
誤差 (%) = ( 計算値 - 目標値 )/ 目標値 × 100
( 例 ) マシンクロック 20MHz, 目標ボーレート 153600bps に設定する場合
リロード値 = (20 × 1000000)/153600 − 1 = 129
ボーレート ( 計算値 ) = (20 × 1000000)/(129 + 1) = 153846 (bps)
誤 差 (%) = (153846 − 153600)/153600 × 100 = 0.16 (%)
<注意事項>
• リロード値を "0" に設定するとリロードカウンタは停止します。
• リロード値が偶数の場合 , 受信シリアルクロックの "H" 幅と "L" 幅は "L" 幅のほうがマ
シンクロック 1 サイクル分長くなります。奇数の場合 , シリアルクロックの "H" 幅と
"L" 幅は同じになります。
• リロード値は 4 以上を設定してください。ただし , ボーレートの誤差とリロード値の設
定によって正常にデータを受信できないことがあります。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
325
第 15 章 マルチファンクション シリアルインタフェース
15.6 UART 専用ボーレートジェネレータ
MB91313A シリーズ
■ 各マシンクロック周波数に対するリロード値とボーレート
表 15.6-1 リロード値とボーレート
8 MHz
10 MHz
16 MHz
20 MHz
ボーレート
(bps)
Value ERR Value ERR Value ERR Value ERR
24 MHz
32MHz
Value
ERR
Value
ERR
4M
−
−
−
−
−
0
4
0
5
0
7
0
2.5M
−
−
−
0
−
−
−
−
−
−
−
−
2M
−
0
4
0
7
0
9
0
11
0
15
0
1M
7
0
9
0
15
0
19
0
23
0
31
0
500000
15
0
19
0
31
0
39
0
47
0
63
0
460800
−
−
−
−
−
−
−
−
51
- 0.16
−
−
250000
31
0
39
0
63
0
79
0
95
0
127
0
230400
−
−
−
−
−
−
−
−
103
- 0.16
−
−
153600
51
- 0.16
64
- 0.16
103
- 0.16
129
- 0.16
155
- 0.16
207
- 0.16
125000
63
0
79
0
127
0
159
0
191
0
255
0
115200
68
- 0.64
86
0.22
138
0.08
173
0.22
207
- 0.16
277
0.08
76800
103
- 0.16
129
- 0.16
207
- 0.16
259
- 0.16
311
- 0.16
416
0.08
57600
138
0.08
173
0.22
277
0.08
346
- 0.16
416
0.08
555
0.08
38400
207
- 0.16
259
- 0.16
416
0.08
520
0.03
624
0
832
- 0.04
28800
277
0.08
346 < 0.01 554
- 0.01
693
- 0.06
832
- 0.03
1110
- 0.01
19200
416
0.08
520
- 0.03 1041
0.03
1249
0
1666
0.02
10417
767
9600
832
0.03
832
< 0.01 959 < 0.01 1535 < 0.01 1919 < 0.01 2303
0.04
1041
0.03
1666
0.02
2083
0.03
2499
7200 1110 < 0.01 1388 < 0.01 2221 < 0.01 2777 < 0.01 3332
4800 1666
0.02
< 0.01 3071
0
< 0.01
3332
- 0.01
< 0.01 4443
- 0.01
2082 - 0.02 3332 < 0.01 4166 < 0.01 4999
0
6666
2400 3332 < 0.01 4166 < 0.01 6666 < 0.01 8332 < 0.01 9999
0
13332 < - 0.01
1200 6666 < 0.01 8334
0
26666
< 0.01
0.02
13332 < 0.01 16666 < 0.01 19999
< 0.01
600 13332 < 0.01 16666 < 0.01 26666 < 0.01
−
−
−
−
−
−
300 26666 26666 < 0.01
−
−
−
−
−
−
−
−
−
• Value : BGR1/BGR0 レジスタの設定値 (10 進 )
• ERR : ボーレート誤差 (%)
326
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.6 UART 専用ボーレートジェネレータ
MB91313A シリーズ
■ 受信時の許容ボーレート範囲
以下に , 受信時の許容ボーレート範囲について示します。
受信時のボーレート誤差は , 下記に示す算出式を使用して , 必ず許容誤差範囲内になる
ように設定してください。
図 15.6-1 受信時の許容ボーレート範囲
UARTの
転送レート
サンプリング
▽
▽
スタート
ビット0
▽
▽
ビット1
▽
ビット7
▽
パリティ
ストップ
FL
1データ・フレーム (11×FL)
許容最小
転送レート
スタート
ビット0
ビット7
ビット1
パリティ
ストップ
FLmin
許容最大
転送レート
スタート
ビット0
ビット1
ビット7
パリティ
ストップ
FLmax
図に示すように , スタートビット検出後は BGR1/BGR0 レジスタで設定したカウンタに
より , 受信データのサンプリングタイミングが決定されます。このサンプリングタイミ
ングに最終データ ( ストップビット ) までが間に合えば正常に受信できます。
これを 11 ビット受信に当てはめると理論上 , 次のようになります。
サンプリング・タイミングのマージンをマシンクロック (φ) の 2 クロック分とすると ,
許容最小転送レート (FLmin) は次のようになります。
FLmin = (11 ビット× (V + 1) − (V + 1)/2 + 3)/φ = (21V + 27)/2φ (s)
V: リロード値 , φ : マシンクロック
したがって , 受信可能な送信先の最大ボーレート (BGmax) は次のようになります。
BGmax = 11/FLmin = 22φ/(21V + 27) (bps)
V: リロード値 , φ : マシンクロック
同様に , 許容最大転送レート (FLmax) を求めると , 次のようになります。
FLmax = (11 ビット× (V + 1) + (V + 1)/2 − 3)/φ = (23V + 17)/2φ (s)
V : リロード値 , φ : マシンクロック
したがって , 受信可能な送信先の最小ボーレート (BGmin) は次のようになります。
BGmin = 11/FLmax = 22φ/(23V + 17) (bps)
CM71-10143-5
V : リロード値 , φ : マシンクロック
FUJITSU SEMICONDUCTOR LIMITED
327
第 15 章 マルチファンクション シリアルインタフェース
15.6 UART 専用ボーレートジェネレータ
MB91313A シリーズ
前述の最小 / 最大ボーレート値の算出式から , UART と送信先とのボーレートの許容誤
差を求めると次のようになります。
リロード値 (V)
許容最大ボーレート誤差
許容最小ボーレート誤差
3
0%
0
10
+ 2.98%
− 2.81%
50
+ 4.37%
− 4.02%
100
+ 4.56%
− 4.18%
200
+ 4.66%
− 4.26%
32767
+ 4.76%
− 4.35%
( 注意事項 ) 受信の精度は , 1 フレームのビット数 , マシンクロック , リロード値に依
存します。マシンクロックが高く , 分周比が高くなるほど精度は高くな
ります。
■ 外部クロック
ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) の EXT ビットに "1" を書き込むと ,
ボーレートジェネレータで外部クロックを分周します。
<注意事項>
外部クロック信号は UART で内部クロックに同期します。したがって , 同期化不可能な外
部クロックの場合 , 動作が不安定になります。
■ リロードカウンタの機能
リロードカウンタには , 送信リロードカウンタと受信リロードカウンタがあり , 専用
ボーレートジェネレータとして機能します。リロード値に対する 15 ビットレジスタか
ら構成されており , 外部クロックまたは内部クロックより送受信クロックを生成しま
す。
■ カウントの開始
ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) にリロード値を書き込むと , リ
ロードカウンタはカウントを開始します。
■ 再スタート
リロードカウンタは下記の条件で再スタートします。
● 送信 / 受信リロードカウンタ共通
プログラマブルリセットリセット (SCR:UPCL ビット )
● 受信リロードカウンタ
非同期モードでのスタートビット立下りエッジ検出
328
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
15.7
第 15 章 マルチファンクション シリアルインタフェース
15.7 動作モード 0 ( 通常モード ) 設定手順とプログラムフロー
動作モード 0 ( 通常モード ) 設定手順とプログラム
フロー
動作モード 0 では , 非同期シリアル双方向通信をすることができます。
■ CPU 間接続
動作モード 0 ( 通常モード ) では , 双方向通信を選択します。図 15.7-1 に示すように 2
つの CPU を相互に接続します。
図 15.7-1 UART 動作モード 0 の双方向通信の接続例
SOT
SOT
SIN
SIN
SCK
SCK
CPU–1 (マスタ)
CPU–2 (スレーブ)
■ フローチャート
● FIFO 未使用時
図 15.7-2 双方向通信フローチャートの例 (FIFO 未使用時 )
(送信側)
(受信側)
スタート
スタート
動作モード設定
(モード0に設定)
動作モード設定
(送信側と合わす)
データ送信
TDRに1バイトデータ
をセットして通信
NO
RDRF=1
YES
NO
RDRF=1
YES
受信データ読出しと
処理
CM71-10143-5
データ送信
受信データ読出しと
処理
(ANS)
1バイトデータ送信
FUJITSU SEMICONDUCTOR LIMITED
329
第 15 章 マルチファンクション シリアルインタフェース
15.7 動作モード 0 ( 通常モード ) 設定手順とプログラムフロー
MB91313A シリーズ
● FIFO 使用時
図 15.7-3 双方向通信フローチャートの例 (FIFO 使用時 )
(送信側)
(受信側)
スタート
スタート
動作モード設定
(モード0に設定)
動作モード設定
(モード0に設定)
・送受信FIFO許可
・FBYTE設定
・送受信FIFO許可
・FBYTE設定
送信FIFOにNバイトを
セット
データ送信
NO
RDRF=1
YES
FDRQビットに"0"書込み
FBYTE設定値分,
読出しと処理
データ返信
NO
RDRF=1
送信FIFOにNバイトを
セット
YES
FBYTE設定値分,
読出しと処理
330
FDRQビットに"0"書込み
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
15.8
第 15 章 マルチファンクション シリアルインタフェース
15.8 動作モード 1 ( マルチプロセッサモード ) 設定手順とプロ
グラムフロー
動作モード 1 ( マルチプロセッサモード ) 設定手順と
プログラムフロー
動作モード 1 ( マルチプロセッサモード ) では , 複数 CPU のマスタ / スレーブ接続に
よる通信が可能です。マスタ / スレーブとして使用できます。
■ CPU 間接続
マスタ / スレーブ型通信では , 図に示すように 2 本の共通通信ラインに 1 つのマスタ
CPU と複数のスレーブ CPU を接続して通信システムを構成します。UART はマスタま
たはスレーブのどちらでも使用できます。
図 15.8-1 UART のマスタ / スレーブ型通信の接続例
SOT
SIN
マスタ CPU
SOT
SIN
SOT
スレーブ CPU #0
SIN
スレーブ CPU #1
■ 機能選択
マスタ / スレーブ型通信では , 表 15.8-1 に示すように動作モードとデータ転送方式を選
択してください。
表 15.8-1 マスタ / スレーブ型通信機能の選択
動作モード
データ
マスタ CPU
アドレス
送受信
モード 1
(AD ビット
送信 )
データ
送受信
パリティ
スレーブ CPU
モード 1
(AD ビット
受信 )
AD = 1
+
7 ビットまたは
8 ビットアドレス
AD = 0
+
7 ビットまたは
8 ビットデータ
なし
ストップ
ビット
ビット方向
1 ビット LSB ファースト
または
または
2 ビット MSB ファースト
<注意事項>
動作モード 1 では送受信データ (TDR/RDR) はワードアクセスで行ってください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
331
第 15 章 マルチファンクション シリアルインタフェース
15.8 動作モード 1 ( マルチプロセッサモード ) 設定手順とプロ
グラムフロー
● 通信手順
MB91313A シリーズ
通信は , マスタ CPU がアドレスデータを送信することによって始まります。アドレス
データとは D8 ビットを "1" としたデータで , 通信先となるスレーブ CPU を選択しま
す。各スレーブ CPU はプログラムでアドレスデータを判断し , 割り当てられたアドレ
スと一致した場合にマスタ CPU との通信 ( 通常データ ) をします。
図 15.8-2 , 図 15.8-3 に , マスタ / スレーブ型通信フローチャートの例を示します。
332
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
■ フローチャート
第 15 章 マルチファンクション シリアルインタフェース
15.8 動作モード 1 ( マルチプロセッサモード ) 設定手順とプロ
グラムフロー
● FIFO 未使用時
図 15.8-2 マスタ / スレーブ型通信フローチャートの例 (FIFO 未使用時 )
(マスタCPU)
(スレーブCPU)
スタート
スタート
動作モード設定
(モード1に設定)
動作モード設定
(モード1に設定)
SIN端子をシリアルデータ
入力に設定
SOT端子をシリアルデータ
出力に設定
SIN端子をシリアルデータ
入力に設定
SOT端子をシリアルデータ
出力に設定
7または8データビット設定
1または2ストップビット
設定
7または8データビット設定
1または2ストップビット設定
D8ビットに"1"をセット
送受信動作許可
送受信動作許可
受信バイト
NO
スレーブアドレスを送信
D8ビット=1
YES
D8ビットに"0"をセット
スレーブ
アドレスが一致
NO
YES
スレーブCPUと通信
マスタCPUと通信
通信終了?
NO
通信終了?
NO
YES
YES
ほかのスレーブ
CPUと通信
NO
YES
送受信動作禁止
エンド
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
333
第 15 章 マルチファンクション シリアルインタフェース
15.8 動作モード 1 ( マルチプロセッサモード ) 設定手順とプロ
グラムフロー
● FIFO 使用時
MB91313A シリーズ
図 15.8-3 マスタ / スレーブ型通信フローチャートの例 (FIFO 使用時 )
(マスタCPU)
(スレーブCPU)
スタート
スタート
動作モード設定
(モード1に設定)
動作モード設定
(モード1に設定)
・送受信FIFO許可
・FBYTE設定
送受信FIFO許可
ADビットに"1"をセット
送信FIFOにスレーブアド
レスをセットし、FDRQ
ビットに"0"書込み
FBYTE=1に設定
スレーブアドレス送信
RDRF=1
NO
YES
AD=1 &
スレーブアドレス
が一致
ADビットに"0"をセット
NO
YES
送信FIFOにNバイトセットし,
FDRQビットに"0"書込み
データ送信
FBYTE=Nに設定
受信FIFOフル
NO
D8ビットに"0"をセット
YES
FBYTE設定値分,
読出しと処理
NO
RDRF=1
YES
FBYTE設定値分,
読出しと処理
334
データ送信
送信FIFOにNバイトセットし,
FDRQビットに"0"書込み
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
15.9
第 15 章 マルチファンクション シリアルインタフェース
15.9 UART モードの注意事項
UART モードの注意事項
UART モードの注意事項を下記に示します。
• FIFO 付きチャネルで DMA 転送要求する場合 , FIFO は使用できません。FIFO 動作
禁止の設定としてください。
• DMA 転送要求する場合 , DMA のブロックサイズを 1 回に設定してください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
335
第 15 章 マルチファンクション シリアルインタフェース
15.10 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) の概要
15.10
MB91313A シリーズ
CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) の概要
CSIO ( クロック同期マルチファンクションシリアルインタフェース ) は , 外部装置と
同期通信をするための , 汎用のシリアルデータ通信インタフェースです (SPI に対応し
ます )。また , 送信 / 受信 ( 最大 各 16 バイト ) の FIFO を搭載しています。
■ CSIO ( クロック同期マルチファンクションシリアルインタフェース ) の機能
機能
1
データバッファ
2
転送形式
3
ボーレート
4
データ長
5
受信エラー検出
6
割込み要求
7
同期モード
8
端子アクセス
9
FIFO オプション
• 全二重ダブルバッファ (FIFO 未使用時 )
• 送信 / 受信 FIFO ( 最大各 16 バイト ) * (FIFO 使用時 )
• クロック同期 ( スタートビット / ストップビットなし )
• マスタ / スレーブ機能
• SPI に対応 ( マスタ / スレーブ両方サポート )
• 専用ボーレートジェネレータあり (15 ビットリロードカウンタから構
成 , マスタ動作時 )
• 外部クロック入力可能 ( スレーブ動作時 )
• 5 ∼ 9 ビットに可変可能
• オーバランエラー
•
•
•
•
受信割込み ( 受信完了 , オーバランエラー )
送信割込み ( 送信データエンプティ , 送信バスアイドル )
送信 FIFO 割込み ( 送信 FIFO がエンプティのとき )
送受信とも拡張インテリジェント I/O サービス (EI2OS), および DMA
転送サポート機能あり
• マスタまたはスレーブ機能
• シリアルデータ出力端子を "1" 設定可能
• 送受信 FIFO 搭載
( 最大容量 : 送信 FIFO 16 バイト , 受信 FIFO 16 バイト ) *
• 送信 FIFO と受信 FIFO を選択可能
• 送信データ再送可能
• 受信 FIFO 割込みタイミングをソフトで可変可能
• 独立して FIFO リセットサポート
* : FIFO 搭載は ch.0, ch.1 および ch.2 のみです ( 送受信各 16 バイト )。
336
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.11 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) のレジスタ
CSIO ( クロック同期マルチファンクションシリア
ルインタフェース ) のレジスタ
15.11
CSIO ( クロック同期マルチファンクションシリアルインタフェース ) のレジスタ一
覧を示します。
■ CSIO ( クロック同期マルチファンクションシリアルインタフェース ) の
レジスタ一覧
表 15.11-1 CSIO ( クロック同期マルチファンクションシリアルインタフェース ) のレジスタ一覧
bit15
アドレス
CSIO
FIFO
bit8 bit7
bit0
00X0H
00X1H
SCR ( シリアル制御レジスタ )
00X2H
00X3H
SSR ( シリアルステータスレジスタ ) ESCR ( 拡張通信制御レジスタ )
00X4H
00X5H
RDR1/TDR1
( 送受信データレジスタ 1)
RDR0/TDR0
00X6H
00X7H
BGR1
BGR0
00X8H
00X9H
00YAH
00YBH
FCR1 (FIFO 制御レジスタ 1)
FCR0 (FIFO 制御レジスタ 0)
00YCH
00YDH
FBYTE2 (FIFO2 バイトレジスタ )
FBYTE1 (FIFO1 バイトレジスタ )
SMR ( シリアルモードレジスタ )
( 送受信データレジスタ 0)
( ボーレートジェネレータレジスタ 1) ( ボーレートジェネレータレジスタ 0)
−
−
(X=06H, 07H, 08H, 09H, 0AH, 0BH, 1BH, 1CH, 1DH, 1EH, 1FH, Y=06H, 07H, 08H)
表 15.11-2 CSIO ( クロック同期マルチファンクションシリアルインタフェース ) ビット配置
bit15 bit14 bit13 bit12 bit11 bit10
SCR/SMR UPCL
SSR/
ESCR
REC
MS
SPI
RIE
−
−
−
TDR/RDR
BGR1/
BGR0
TBIE
bit9
bit8
bit7
bit6
bit5
RXE
TXE
MD2
MD1
MD0
−
TBI
SOP
−
−
−
−
D8
D7
D6
D5
D4
B8
B7
B6
B5
B4
ORE RDRF TDRE
−
−
B14
B13
−
FCR1/
FCR0
TIE
B12
B11
B10
B9
bit4
−
FTST1 FTST0
−
CM71-10143-5
bit2
bit1
bit0
SCKE
SOE
L2
L1
L0
D3
D2
D1
D0
B3
B2
B1
B0
−
FLSTE FRIIE FDRQ FTIE
FBYTE2/
FD15 FD14 FD13 FD12 FD11 FD10
FBYTE1
bit3
SCINV BDS
FD9
FSEL
−
FLST
FLD
FSET FCL2 FCL1
FE2
FE1
FD8
FD7
FD6
FD5
FD4
FD1
FD0
FUJITSU SEMICONDUCTOR LIMITED
FD3
FD2
337
第 15 章 マルチファンクション シリアルインタフェース
15.11 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) のレジスタ
15.11.1
MB91313A シリーズ
シリアル制御レジスタ (SCR)
シリアル制御レジスタ (SCR) は , 送受信割込みの許可 / 禁止 , 送信アイドル割込みの
許可 / 禁止 , 送受信動作の許可 / 禁止の設定を行います。また , SPI に接続するため
の設定 , CSIO をリセットすることが可能です。
■ シリアル制御レジスタ (SCR)
図 15.11-1 にシリアル制御レジスタ (SCR) のビット構成を , 表 15.11-3 に各ビットの機
能を示します。
図 15.11-1 シリアル制御レジスタ (SCR) のビット構成
SCR
bit 15
ch.0 000060H
ch.1 000070H UPCL
ch.2 000080H
R/W
ch.3 000090H
ch.4 0000A0H
ch.5 0000B0H
ch.6 0001B0H
ch.7 0001C0H
ch.8 0001D0H
ch.9 0001E0H
ch.A 0001F0H
14
13
12
11
10
9
8
初期値
MS
SPI
RIE
TIE
TBIE
RXE
TXE
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
TXE
0
1
送信許可ビット
送信禁止
送信許可
RXE
0
1
受信許可ビット
受信禁止
受信許可
TBIE
0
1
送信割込み許可ビット
送信割込み禁止
送信割込み許可
RIE
0
1
受信割込み許可ビット
受信割込み禁止
受信割込み許可
SPI
0
1
SPI対応ビット
ノーマル同期転送
SPI対応
UPCL
:リード/ライト可能
送信バスアイドル割込み許可
TIE
0
1
MS
0
1
R/W
送信バスアイドル割込み許可ビット
送信バスアイドル割込み禁止
0
1
マスタ/スレーブ機能選択ビット
マスタモード
スレーブモード
プログラマブルクリアビット
書込み
読出し
影響なし
常に"0"を読出し
プログラマブルクリア
:初期値
338
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.11 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) のレジスタ
表 15.11-3 シリアル制御レジスタ (SCR) の各ビットの機能説明
ビット名
機能
bit15
UPCL :
プログラマブル
クリアビット
CSIO の内部状態を初期化するビットです。
"1" を設定した場合 :
• CSIO を直接リセット ( ソフトウェアリセット ) します。ただし ,
レジスタの設定は保持されます。その際 , 送受信状態のものは直
ちに切断されます。
• ボーレートジェネレータは , BGR1/BGR0 レジスタの設定値をリ
ロードし , 再スタートします。
• すべての送受信割込み要因 (TDRE, TBI, RDRF, ORE) は初期化さ
れます。
• "0" を設定した場合 : 動作に影響を及ぼしません。
読出し時は , 常に "0" が読み出されます。
( 注意事項 )
• 割込み禁止に設定した後に , プログラマブルクリアを実行してく
ださい。
• FIFO 使用時は , FIFO 禁止 (FE2, FE1=0) にしてからプログラマブ
ルクリアを実行してください。
bit14
MS :
マスタ /
スレーブ機能
選択ビット
マスタまたはスレーブモードを選択します。
"0" に設定した場合 : マスタモードに設定されます。
"1" に設定した場合 : スレーブモードに設定されます。
( 注意事項 ) スレーブモードを選択した場合 , SMR:SCKE=0 であれば ,
外部クロックが直接入力されます。
bit13
SPI :
SPI 対応ビット
本ビットは , SPI に対応した通信をさせるためのビットです。
"0" に設定した場合 : ノーマル同期通信を行います。
"1" に設定した場合 : SPI に対応します。
bit12
RIE :
受信割込み許可
ビット
• CPU への受信割込み要求出力を許可 / 禁止するビットです。
• RIE ビットと受信データフラグビット (RDRF) が "0" の場合 , また
は エラーフラグビット (ORE) のいずれかが "1" の場合 , 受信割込み
要求を出力します。
bit11
TIE :
送信割込み許可
ビット
• CPU への送信割込み要求出力を許可 / 禁止するビットです。
• TIE ビットと TDRE ビットが "1" の場合 , 送信割込み要求を出力し
ます。
bit10
TBIE :
送信バス
アイドル割込み
許可ビット
• CPU への送信バスアイドル割込み要求出力を許可 / 禁止するビット
です。
• TBIE ビットと TBI ビットが "1" のとき , 送信バスアイドル割込み
要求を出力します。
bit9
RXE :
受信動作許可
ビット
CSIO の受信動作を許可 / 禁止します。
• "0" に設定した場合 : データフレーム受信動作が禁止されます。
• "1" に設定した場合 : データフレーム受信動作が許可されます。
( 注意事項 ) 受信中に受信動作を禁止 (RXE=0) した場合には , 直ちに
受信動作を停止します。
TXE :
送信動作許可
ビット
CSIO の送信動作を許可 / 禁止します。
• "0" に設定した場合 : データフレーム送信動作が禁止されます。
• "1" に設定した場合 : データフレーム送信動作が許可されます。
( 注意事項 ) 送信中に送信動作を禁止 (TXE=0) した場合には , 直ちに
送信動作を停止します。
bit8
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
339
第 15 章 マルチファンクション シリアルインタフェース
15.11 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) のレジスタ
15.11.2
MB91313A シリーズ
シリアルモードレジスタ (SMR)
シリアルモードレジスタ (SMR) は , 動作モードの設定 , 転送方向 , データ長 , シリア
ルクロックの反転 およびシリアルデータとクロックの端子への出力許可 / 禁止の設
定を行います。
■ シリアルモードレジスタ (SMR)
図 15.11-2 にシリアルモードレジスタ (SMR) のビット構成を , 表 15.11-4 に各ビットの
機能を示します。
図 15.11-2 シリアルモードレジスタ (SMR) のビット構成
SMR
bit 7
6
5
4
3
2
1
0
ch.0 000061H
MD0
MD2
MD1
-
SCINV
BDS
SCKE
SOE
ch.1 000071H
ch.2 000081H
R/W R/W R/W R/W R/W R/W R/W R/W
ch.3 000091H
ch.4 0000A1H
ch.5 0000B1H
ch.6 0001B1H
ch.7 0001C1H
ch.8 0001D1H
ch.9 0001E1H
ch.A 0001F1H
初期値
000-0000B
SOE
0
1
シリアルデータ出力許可ビット
SOT出力禁止
SOT出力許可
SCKE
シリアルクロック出力許可ビット
SCK出力禁止
または
SCK入力許可
SCK出力許可
0
1
BDS
0
1
SCINV
0
1
転送方向選択ビット
LSBファースト(最下位ビットから転送)
MSBファースト(最上位ビットから転送)
シリアルクロック反転ビット
マークレベル”H”フォーマット
マークレベル”L”フォーマット
未使用ビット
読出し時、値は不定です。書込み時、影響しません。
R/W
:リード/ライト可能
-
:未使用
:初期値
MD2 MD1 MD0
動作モード設定ビット
0
0
0
動作モード0(非同期ノーマルモード)
0
0
1
動作モード1(非同期マルチプロセッサモード)
0
1
0
動作モード2(クロック同期モード)
1
0
0
動作モード4(I2Cモード)
注意事項:本章は動作モード2のレジスタおよび動作について説明します。
340
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.11 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) のレジスタ
表 15.11-4 シリアルモードレジスタ (SMR) の各ビットの機能説明
ビット名
機能
動作モードを設定します。
"000B" : 動作モード 0 ( 非同期ノーマルモード ) に設定されます。
"001B" : 動作モード 1 ( 非同期マルチプロセッサモード ) に設定されます。
"010B" : 動作モード 2 ( クロック同期モード ) に設定されます。
bit7
∼
bit5
MD2 ∼ MD0 :
"100B" : 動作モード 4 (I2C モード ) に設定されます。
動作モード設定
( 注意事項 )
ビット
• 上記設定以外は禁止です。
• 動作モードを切り換える場合には , プログラマブルクリア実行
(SCR:UPCL=1) 後 , 動作モードを切り換えてください。
• 動作モード設定後 , 各レジスタを設定してください。
bit4
未使用ビット
読み出した場合 : 値は不定です。
書き込んだ場合 : 影響しません。
bit3
SCINV :
シリアル
クロック
反転ビット
シリアルクロックフォーマットを反転するビットです。
"0" に設定した場合 :
• シリアルクロック出力のマークレベルを "H" にします。
• 送信データは , ノーマル転送ではシリアルクロックの立下りエッジ ,
SPI 転送ではシリアルクロックの立上りエッジに同期して出力しま
す。
• 受信データは , ノーマル転送ではシリアルクロックの立上りエッジ ,
SPI 転送ではシリアルクロックの立下りエッジでサンプリングしま
す。
"1" に設定した場合 :
• シリアルクロック出力のマークレベルを "L" にします。
• 送信データは , ノーマル転送ではシリアルクロックの立上りエッジ ,
SPI 転送ではシリアルクロックの立下りエッジに同期して出力しま
す。
• 受信データは , ノーマル転送ではシリアルクロックの立下りエッジ ,
SPI 転送ではシリアルクロックの立上りエッジでサンプリングしま
す。
( 注意事項 )
本ビットは , 送受信が禁止 (TXE=RXE=0) のときに設定し
てください。
bit2
BDS :
転送方向選択
ビット
転送シリアルデータを最下位ビット側から先に転送するか (LSB ファー
スト , BDS=0) 最上位ビット側から先に転送するか (MSB ファースト ,
BDS=1) を選択するビットです。
( 注意事項 )
本ビットは , 送受信が禁止 (TXE=RXE=0) のときに設定し
てください。
bit1
SCKE:
シリアル
クロック出力
許可ビット
シリアルクロックの入出力ポートを制御するビットです。
"0" に設定した場合 : SCK"H" 出力 , または SCK 入力許可となります。
SCK 入力として使う場合は汎用入出力ポートを入
力ポートに設定してください。
"1" に設定した場合 : SCK 出力許可となります。
bit0
シリアルデータの出力を許可 / 禁止するビットです。
SOE:
シリアルデータ "0" に設定した場合 : SOT"H" 出力となります。
出力許可ビット "1" に設定した場合 : SOT 出力許可となります。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
341
第 15 章 マルチファンクション シリアルインタフェース
15.11 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) のレジスタ
MB91313A シリーズ
<注意事項>
動作モードを変更すると , ほかのレジスタは初期化されますので動作モードは最初に設定
してください。ただし , 16 ビット書込みで SCR と SMR を同時に書き込んだとき , SCR
には書き込んだ内容が反映されます。
342
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.11 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) のレジスタ
MB91313A シリーズ
シリアルステータスレジスタ (SSR)
15.11.3
シリアルステータスレジスタ (SSR) は , 送受信状態の確認 , 受信エラーフラグの確
認また , 受信エラーフラグのクリアを行います。
■ シリアルステータスレジスタ (SSR)
図 15.11-3 にシリアルステータスレジスタ (SSR) のビット構成を , 表 15.11-5 に各ビッ
トの機能を示します。
図 15.11-3 シリアルステータスレジスタ (SSR) のビット構成
SSR
bit
15
ch.0 000062H
REC
ch.1 000072H
ch.2 000082H R/W
ch.3 000092H
ch.4 0000A2H
ch.5 0000B2H
ch.6 0001B2H
ch.7 0001C2H
ch.8 0001D2H
ch.9 0001E2H
ch.A 0001F2H
14
13
12
-
-
-
-
-
-
11
10
9
8
ORE RDRF TDRE TBI
R
R
R
初期値
0---0011B
R
TBI
0
1
TDRE
0
1
送信バスアイドルフラグビット
送信中
送信動作なし
送信データエンプティフラグビット
送信データレジスタTDRにデータが存在する
送信データレジスタが空
RDRF
受信データフルフラグビット
0
受信データレジスタRDRが空
1
受信データレジスタRDRにデータが存在する
ORE
0
1
オーバランエラーフラグビット
オーバランエラーなし
オーバランエラーあり
未使用ビット
読出し時、値は不定です。書込み時、影響しません。
REC
R/W
R
-
CM71-10143-5
:リード/ライト可能
:リードオンリ
:未使用
:初期値
0
1
受信エラーフラグクリアビット
書込み
読出し
影響なし
常に”0”を読出し
受信エラーフラグ
(FRE, ORE)のクリア
FUJITSU SEMICONDUCTOR LIMITED
343
第 15 章 マルチファンクション シリアルインタフェース
15.11 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) のレジスタ
表 15.11-5 シリアルステータスレジスタ (SSR) の各ビットの機能説明
MB91313A シリーズ
ビット名
機能
bit15
シリアルステータスレジスタ (SSR) の ORE フラグをクリアするビットで
REC :
す。
受信エラー
• "1" 書込みで , エラーフラグがクリアされます。
フラグクリア
• "0" 書込みは , 影響しません。
ビット
読み出した場合 , 常に "0" が読み出されます。
bit14
∼
bit12
未使用ビット
bit11
• 受信時にオーバランが発生すると "1" にセットされ , シリアルステータ
スレジスタ (SSR) の REC ビットに "1" を書き込むとクリアされます。
ORE :
• ORE ビットと RIE ビットが "1" の場合 , 受信割込み要求を出力します。
オーバラン
• 本フラグがセットされた場合は , 受信データレジスタ (RDR) のデータは
エラーフラグ
無効です。
ビット
• 受信 FIFO 使用時に本フラグがセットされた場合は , 受信 FIFO の許可
ビットがクリアされ , 受信データは受信 FIFO に格納されません。
読み出した場合 : 値は不定です。
書き込んだ場合 : 影響しません。
• 受信データレジスタ (RDR) の状態を示すフラグです。
• RDR に受信データがロードされると "1" にセットされ , 受信データレジ
スタ (RDR) を読み出すと "0" にクリアされます。
• RDRF ビットと RIE ビットが "1" の場合 , 受信割込み要求を出力します。
• 受信 FIFO 使用時 , 受信 FIFO に所定のデータ数を受信したら RDRF が
"1" にセットされます。
• 受信 FIFO 使用時 , 受信 FIFO に所定のデータ数を受信せずに受信 FIFO
にデータが残っている状態で受信アイドル状態がボーレートクロックで
8 クロック以上続いた場合 , RDRF が "1" にセットされます。8 クロック
カウント中 , RDR を読み出すとそのカウンタは "0" にリセットされ , 再
度 8 クロックをカウントします。
• 受信 FIFO 使用時は , 受信 FIFO がエンプティになると "0" にクリアされ
ます。
bit10
RDRF :
受信データ
フルフラグ
ビット
bit9
• 送信データレジスタ (TDR) の状態を示すフラグです。
• TDR に送信データを書き込むと "0" となり , TDR に有効なデータが存在
していることを示します。データが送信シフトレジスタにロードされて
送信が開始されると "1" になり , TDR に有効なデータが存在していない
TDRE :
ことを示します。
送信データ
• TDRE ビットと TIE ビットが "1" の場合 , 送信割込み要求を出力します。
エンプティ
• シリアル制御レジスタ (SCR) の UPCL ビットに "1" をセットすると
フラグビット
TDRE ビットは "1" になります。
• 送信 FIFO 使用時の TDRE ビットのセット / リセットタイミングは ,
「15.4.4 送信 FIFO 使用時の割込み発生とフラグセットの タイミング」
を参照してください。
bit8
• CSIO が送信動作をしていないことを示すビットです。
• 送信データレジスタ (TDR) へデータを書き込んだ場合に本ビットは "0"
になります。
TBI :
• 送信データレジスタ (TDR) がエンプティ (TDRE=1) で , 送信動作をして
送信バス
いない場合に本ビットが "1" になります。
アイドル
• シリアル制御レジスタ (SCR) の UPCL ビットに "1" をセットすると
フラグビット
TDRE ビットは "1" になります。
• 本ビットが "1" で , 送信バスアイドル割込み許可 (SCR:TBIE=1) されてい
ると送信割込み要求を出力します。
344
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.11 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) のレジスタ
MB91313A シリーズ
15.11.4
拡張通信制御レジスタ (ESCR)
拡張通信制御レジスタ (ESCR) は , 送受信データ長の設定 , シリアル出力を "H" 固定
の設定ができます。
■ 拡張通信制御レジスタ (ESCR) のビット構成
図 15.11-4 に拡張通信制御レジスタ (ESCR) のビット構成を , 表 15.11-6 に各ビットの
機能を示します。
図 15.11-4 拡張通信制御レジスタ (ESCR) のビット構成
ESCR
bit 7
ch.0 000063H
SOP
ch.1 000073H
ch.2 000083H
R/W
ch.3 000093H
ch.4 0000A3H
ch.5 0000B3H
ch.6 0001B3H
ch.7 0001C3H
ch.8 0001D3H
ch.9 0001E3H
ch.A 0001F3H
初期値
6
5
4
3
2
1
0
-
-
-
-
L2
L1
L0
-
-
-
-
R/W
R/W
R/W
0----000B
L2
0
0
0
0
1
L1
0
0
1
1
0
L0
0
1
0
1
0
データ長選択ビット
8ビット長
5ビット長
6ビット長
7ビット長
9ビット長
未使用ビット
読出し時、値は不定です。書込み時、影響しません。
SOP
R/W
-
CM71-10143-5
:リード/ライト可能
:未使用
:初期値
0
1
シリアル出力端子セットビット
読出し
書込み
影響なし
常に"0"を読出し
SOT端子を"H"にセット
FUJITSU SEMICONDUCTOR LIMITED
345
第 15 章 マルチファンクション シリアルインタフェース
15.11 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) のレジスタ
MB91313A シリーズ
表 15.11-6 拡張通信制御レジスタ (ESCR) の各ビットの機能説明
ビット名
機能
bit7
• シリアル出力端子を "H" レベルにセットするビットです。
• 読み出した場合 , 常に "0" が読み出されます。
SOP :
シリアル出力 ( 注意事項 ) シリアルデータ送信中に , 本ビットの設定をしないでくださ
端子セット
い。
ビット
本ビットの設定値は , シリアル制御レジスタ (SCR) の TXE
ビットが "0" の場合のみ有効です。
bit6
∼
bit3
未使用ビット
読み出した場合 : 値は不定です。
書き込んだ場合 : 影響しません。
送受信データのデータ長を指定します。
• "000B" に設定した場合 : データ長は , 8 ビットに設定されます。
bit2
∼
bit0
• "001B" に設定した場合 : データ長は , 5 ビットに設定されます。
L2 ∼ L0:
データ長選択 • "010B" に設定した場合 : データ長は , 6 ビットに設定されます。
ビット
• "011B" に設定した場合 : データ長は , 7 ビットに設定されます。
• "100B" に設定した場合 : データ長は , 9 ビットに設定されます。
( 注意事項 ) 上記設定以外は禁止です。
346
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.11 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) のレジスタ
MB91313A シリーズ
15.11.5
受信データレジスタ / 送信データレジスタ
(RDR/TDR)
受信データと送信データレジスタは同一アドレスに配置されています。読み出した
場合は 受信データレジスタとして機能し , 書き込んだ場合は送信データレジスタと
して機能します。
■ 受信データレジスタ (RDR)
図 15.11-5 に受信データレジスタ (RDR) のビット構成を示します。
図 15.11-5 受信データレジスタ (RDR) のビット構成
RDR
ch.0
ch.2
ch.4
ch.6
ch.8
ch.A
000064H
000084H
0000A4H
0001B4H
0001D4H
0001F4H
ch.1
ch.3
ch.5
ch.7
ch.9
000074H bit15...........
000094H
0000B4H
0001C4H
0001E4H
8
D8
R
7
D7
R
6
D6
R
5
D5
R
4
D4
R
3
D3
R
2
D2
R
1
D1
R
0
初期値
D0 000000000B
R
R : リードオンリ
受信データレジスタ (RDR) は , シリアルデータ受信用の 9 ビットのデータバッファレ
ジスタです。
• シリアル入力端子 (SIN 端子 ) に送られてきたシリアルデータ信号がシフトレジスタ
で変換されて , 受信データレジスタ (RDR) に格納されます。
• データ長に応じ , 以下のように上位ビットから順に "0" となります。
データ長
D8
D7
D6
D5
D4
D3
D2
D1
D0
9 ビット
X
X
X
X
X
X
X
X
X
8 ビット
0
X
X
X
X
X
X
X
X
7 ビット
0
0
X
X
X
X
X
X
X
6 ビット
0
0
0
X
X
X
X
X
X
5 ビット
0
0
0
0
X
X
X
X
X
• 受信データが受信データレジスタ (RDR) に格納されると , 受信データフルフラグ
ビット (SSR : RDRF) が "1" にセットされます。受信割込みが許可されている場合は
(SSR : RIE=1) , 受信割込み要求を発生します。
• 受信データレジスタ (RDR) は , 受信データフルフラグビット (SSR : RDRF) が "1" の
状態で読み出してください。受信データフルフラグビット (SSR : RDRF) は , シリア
ル受信データレジスタ (RDR) を読み出すと自動的に "0" にクリアされます。
• 受信エラーが発生 (SSR : ORE) した場合 , 受信データレジスタ (RDR) のデータは無
効となります。
• 9 ビット長転送の場合 RDR の読出しは 16 ビットアクセスで行います。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
347
第 15 章 マルチファンクション シリアルインタフェース
15.11 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) のレジスタ
MB91313A シリーズ
<注意事項>
• 受信 FIFO 使用時は , 受信 FIFO に所定のデータ数を受信したら RDRF が "1" にセット
されます。
• 受信 FIFO 使用時は , 受信 FIFO がエンプティになると RDRF が "0" にクリアされます。
• 受信 FIFO 使用時に , 受信エラーが発生 (SSR : ORE が "1") した場合 , 受信 FIFO の許
可ビットはクリアされ , 受信データは受信 FIFO に格納しません。
348
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
■ 送信データレジスタ (TDR)
第 15 章 マルチファンクション シリアルインタフェース
15.11 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) のレジスタ
図 15.11-6 に送信データレジスタ (TDR) のビット構成を示します。
図 15.11-6 送信データレジスタ (TDR) のビット構成
TDR
ch.0
ch.2
ch.4
ch.6
ch.8
ch.A
000064H
000084H
0000A4H
0001B4H
0001D4H
0001F4H
ch.1
ch.3
ch.5
ch.7
ch.9
000074H bit15...........
000094H
0000B4H
0001C4H
0001E4H
8
D8
W
7
D7
W
6
D6
W
5
D5
W
4
D4
W
3
D3
W
2
D2
W
1
D1
W
0
初期値
D0 111111111B
W
W : ライトオンリ
送信データレジスタ (TDR) は , シリアルデータ送信用の 9 ビットデータバッファレジ
スタです。
• 送信動作が許可されている場合に (SCR : TXE=1) , 送信するデータを送信データレ
ジスタ (TDR) に書き込むと , 送信データが送信用シフトレジスタに転送されシリア
ルデータに変換されて , シリアルデータ出力端子 (SOT 端子 ) から送出されます。
• データ長に応じ , 以下のように上位ビットから順に無効データとなります。
D8
D7
D6
D5
D4
D3
D2
D1
D0
9 ビット
X
X
X
X
X
X
X
X
X
8 ビット
無効
X
X
X
X
X
X
X
X
7 ビット
無効
無効
X
X
X
X
X
X
X
6 ビット
無効
無効
無効
X
X
X
X
X
X
5 ビット
無効
無効
無効
無効
X
X
X
X
X
データ長
• 送信データエンプティフラグ (SSR : TDRE) は , 送信データが送信データレジスタ
(TDR) に書き込まれると "0" にクリアされます。
• 送信データエンプティフラグ (SSR : TDRE) は , 送信データが送信用シフトレジスタ
へ転送され , 送信が開始されると送信 FIFO が禁止または送信 FIFO がエンプティの
場合 , "1" にセットされます。
• 送信データエンプティフラグ (SSR : TDRE) が "1" の場合は , 次の送信用データを書
き込むことができます。送信割込みが許可されている場合には送信割込みが発生し
ます。次の送信データの書込みは , 送信割込みの発生によるか , 送信データエンプ
ティフラグ (SSR : TDRE) が "1" の状態で行ってください。
• 送信データエンプティフラグ (SSR : TDRE) が "0" で送信 FIFO が禁止または送信
FIFO がフルのときは , 送信データレジスタ (TDR) に送信データを書き込むことはで
きません。
• 9 ビット長転送の場合 TDR への書込みは 16 ビットアクセスで行います。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
349
第 15 章 マルチファンクション シリアルインタフェース
15.11 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) のレジスタ
MB91313A シリーズ
<注意事項>
• 送信データレジスタは書込み専用のレジスタで , 受信データレジスタは読出し専用の
レジスタです。2 つのレジスタは同一アドレスに配置されているため書込み値と読出し
値が異なります。したがって , INC/DEC 命令などリードモディファイライト (RMW) 系
命令動作をする命令は使用できません。
• 送信 FIFO 使用時の送信データエンプティフラグ (SSR : TDRE) のセットタイミングは ,
「15.4.4 送信 FIFO 使用時の割込み発生とフラグセットの タイミング」を参照してくだ
さい。
350
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.11 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) のレジスタ
ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0)
15.11.6
ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) は , シリアルクロックの分周比
を設定します。
■ ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) のビット構成
図 15.11-7 にボーレートジェネレータレジスタ1,0 (BGR1/BGR0)のビット構成を示しま
す。
図 15.11-7 ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) のビット構成
BGR
bit
ch.0 000066H
ch.1 000076H
ch.2 000086H
ch.3 000096H
ch.4 0000A6H
ch.5 0000B6H
ch.6 0001B6H
ch.7 0001C6H
ch.8 0001D6H
ch.9 0001E6H
ch.A 0001F6H
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
初期値
-
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
-
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
-0000000B
00000000B
ボーレートジェネレータレジスタ0
BGR0
書込み
リロードカウンタビット0~7に書込み
読出し
BGR1
書込み
BGR0の設定値の読出し
ボーレートジェネレータレジスタ1
リロードカウンタビット8~14に書込み
読出し
BGR1の設定値の読出し
未使用ビット
読出しした場合,値は不定です。
書込みした場合,影響しません。
R/W :リード/ライト可能
• ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) に値を設定します。
• BGR1 は上位ビット , BGR0 は下位ビットに対応し , カウントするリロード値の書込
み , BGR1/BGR0 の設定値の読出しが可能です。
• ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) にリロード値を書き込むとリ
ロードカウンタはカウントを開始します。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
351
第 15 章 マルチファンクション シリアルインタフェース
15.11 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) のレジスタ
MB91313A シリーズ
<注意事項>
• ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) への書込みは , 16 ビットアクセ
スで行ってください。
• リロード値が偶数の場合 , シリアルクロックの "H" 幅と "L" 幅は SCINV ビットの設定
によって以下のようになります。奇数の場合 , シリアルクロックの "H" 幅と "L" 幅は同
じになります。
SCINV=0 のとき , シリアルクロックの "H" 幅がマシンクロック 1 サイクル分長くなり
ます。
SCINV=1 のとき , シリアルクロックの "L" 幅がマシンクロック 1 サイクル分長くなり
ます。
• リロード値は 1 以上を設定してください。ただし , 本 CSIO どうしをマスタとスレーブ
に使用する場合には , マスタとなる CSIO のリロード値は 3 以上を設定してください。
• ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) の設定値を変更した場合 , カウン
タ値が "000000000000000B" になってから , 新しい設定値がリロードされます。した
がって , 新しい設定値を即有効にしたい場合は , BGR1/BGR0 の設定値を変更した後 ,
CSIO リセット (UPCL) を実行してください。
• 受信 FIFO 使用時 , 受信 FIFO アイドル検出許可ビット (FCR1:FRIIE) を "1" に設定しス
レーブモードで動作させる場合 , BGR1/BGR0 にボーレートを設定してください。
352
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.11 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) のレジスタ
MB91313A シリーズ
FIFO 制御レジスタ 1 (FCR1)
15.11.7
FIFO 制御レジスタ (FCR1) は , FIFO のテスト設定 , 送受信 FIFO の選択 , 送信 FIFO
割込み許可の設定および割込みフラグの制御を行います。
■ FIFO 制御レジスタ 1 (FCR1) のビット構成
図 15.11-8 に FIFO 制御レジスタ 1 (FCR1) のビット構成を , 表 15.11-7 に各ビットの機
能を示します。
図 15.11-8 FIFO 制御レジスタ 1 (FCR1) のビット構成
FCR1
bit
15
14
ch.0 00006AH FTST1 FTST0
ch.1 00007AH
ch.2 00008AH R/W R/W
13
-
-
12
11
FLSTE FRIIE
R/W
R/W
10
9
FDRQ FTIE
R/W
R/W
8
FSEL
初期値
00-00100B
R/W
FSEL
0
1
FIFO選択ビット
送信FIFO:FIFO1, 受信FIFO:FIFO2
送信FIFO:FIFO2, 受信FIFO:FIFO1
FTIE
0
1
送信FIFO割込み許可ビット
送信FIFO割込み禁止
送信FIFO割込み許可
FDRQ
送信FIFOデータ要求ビット
送信FIFOデータ要求なし
送信FIFOデータ要求あり
0
1
FRIIE
0
1
受信FIFOアイドル検出許可ビット
受信FIFOアイドル検出禁止
受信FIFOアイドル検出許可
FLSTE
0
1
再送データロスト検出許可ビット
データロスト検出禁止
データロスト検出許可
未使用ビット
読出し時, 値は不定です。書込み時, 影響しません。
R/W
-
:リード/ライト可能
:未使用
FTST1.0
00B
00B以外
FIFOテストビット
FIFOテスト禁止
設定禁止
:初期値
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
353
第 15 章 マルチファンクション シリアルインタフェース
15.11 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) のレジスタ
表 15.11-7 FIFO 制御レジスタ 1 (FCR1) の各ビットの機能説明
ビット名
MB91313A シリーズ
機能
bit15,
bit14
FTST1, FTST0 :
FIFO テスト
ビット
FIFO のテストビットです。
本ビットには必ず "0" を設定してください。
( 注意事項 ) 本ビットに "1" を設定した場合 , FIFO のテストを行いま
す。
bit13
未使用ビット
読み出した場合 : 値は不定です。
書き込んだ場合 : 影響しません。
bit12
データロスト検出を許可するビットです。
FLSTE :
"0" に設定した場合 : データロスト検出禁止
再送データ
"1" に設定した場合 : データロスト検出許可
ロスト検出許可
( 注意事項 ) 本ビットに "1" を設定する場合 , FSET ビットに "1" を設
ビット
定してから本ビットに "1" を設定してください。
bit11
FRIIE:
受信 FIFO
アイドル検出
許可ビット
受信 FIFO に有効なデータが存在した状態で 8 ビット時間以上の受信ア
イドル状態を検出するかどうかを設定するビットです。受信割込み許
可 (SCR:RIE=1) されていると , 受信アイドル状態が検出されると受信割
込みが発生します。
"0" に設定した場合 : 受信アイドル状態検出禁止
"1" に設定した場合 : 受信アイドル状態検出許可
bit10
FDRQ :
送信 FIFO
データ要求
ビット
送信 FIFO のデータ要求ビットです。
本ビットが "1" のとき , 送信データを要求していることを示します。こ
のとき , 送信 FIFO 割込み許可 (FTIE=1) されていると , 送信 FIFO 割込
み要求を出力されます。
FDRQ セット条件
• FBYTE( 送信用 )=0 ( 送信 FIFO がエンプティ )
• 送信 FIFO のリセット
FDRQ リセット条件
• 本ビットへの "0" 書込み
• 送信 FIFO がフルになった場合
( 注意事項 )
• FBYTE( 送信用 )=0 のときに本ビットへの "0" 書込みは禁止です。
• 本ビットが "0" のときに FSEL ビットの変更は禁止です。
• 本ビットに "1" を設定した場合 , 動作に影響を与えません。
• リードモディファイライト (RMW) 系命令時 , "1" が読み出されます。
bit9
FTIE :
送信 FIFO
割込み許可
ビット
送信 FIFO の割込み許可ビットです。本ビットに "1" を設定すると
FDRQ ビットが "1" のときに割込みが発生します。
FSEL :
FIFO 選択
ビット
送受信 FIFO を選択するビットです。
"0" に設定した場合 : 送信 FIFO : FIFO1, 受信 FIFO : FIFO2 に割り当てられ
ます。
"1" に設定した場合 : 送信 FIFO : FIFO2, 受信 FIFO : FIFO1 に割り当てられ
ます。
( 注意事項 )
• 本ビットは , FIFO リセット (FCL2, FCL1=1) ではクリアされません。
• 本ビットを変更する場合は , FIFO 動作禁止 (FE2, FE1=0) および送受
信禁止 (TXE=RXE=0) にしてから行ってください。
bit8
354
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.11 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) のレジスタ
MB91313A シリーズ
FIFO 制御レジスタ 0 (FCR0)
15.11.8
FIFO 制御レジスタ 0 (FCR0) は , FIFO 動作の許可 / 禁止 , FIFO リセット , リードポ
インタの保存 , 再送信設定を行います。
■ FIFO 制御レジスタ 0 (FCR0) のビット構成
図 15.11-9 に FIFO 制御レジスタ 0 (FCR0) のビット構成を , 表 15.11-8 に各ビットの機
能を示します。
図 15.11-9 FIFO 制御レジスタ 0 (FCR0) のビット構成
FCR0
bit 7
ch.0 00006BH
-
ch.1 00007BH
ch.2 00008BH
(-)
6
5
4
3
2
1
FLST FLD FSET FCL2 FCL1 FE2
R
R/W
R/W
R/W
R/W
R/W
初期値
0
FE1 -0000000B
R/W
FE1
0
1
FIFO1動作許可ビット
FIFO1動作禁止
FIFO0動作許可
FE2
0
1
FIFO2動作許可ビット
FIFO2動作禁止
FIFO2動作許可
FCL1
0
1
FCL2
0
1
FSET
0
1
R/W
R
-
:リード/ライト可能
:リードオンリ
:未使用
FIFO1リセットビット
書込み
読出し
影響なし
常に"0"を読出し
FIFO1リセット
FIFO2リセットビット
書込み
読出し
影響なし
常に"0"を読出し
FIFO2リセット
FIFOポインタ保存ビット
書込み
読出し
保存しない
常に"0"を読出し
保存実行
FLD
0
1
FIFOポインタリロードビット
リロードしない
リロード実行
FLST
0
1
FIFO再送データロストフラグビット
データロストなし
データロストあり
未使用ビット
読出し時、常に"0"を読出し。書込み時、常に"0"を書込み
:初期値
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
355
第 15 章 マルチファンクション シリアルインタフェース
15.11 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) のレジスタ
表 15.11-8 FIFO 制御レジスタ 0 (FCR0) の各ビットの機能説明 (1 / 2)
MB91313A シリーズ
ビット名
機能
読み出した場合 : 常に "0" が読み出されます。
書き込んだ場合 : 常に "0" を書いてください。
bit7
未使用ビット
bit6
送信 FIFO の再送データが失われたことを示すビットです。
FLST セット条件
• FIFO 制御レジスタ 1 (FCR1) の FLSTE ビットが "1" で , 送信 FIFO
のライトポインタと FSET ビットによって保存 したリードポインタ
が一致しているときに FIFO へ書き込んだ場合
FLST :
FLST リセット条件
FIFO 再送データ
• FIFO リセット (FCL への "1" 書込み )
ロストフラグ
• FSET ビットへ "1" 書込み
ビット
本ビットに "1" が設定されると FSET ビットで保存したリードポインタ
が示すデータを上書きしてしまい , エラーが発生しても FLD ビットに
よって再送の設定ができません。本ビットに "1" が設定された状態で再
送を行う場合には FIFO リセットを実施し , 再度 FIFO にデータを書き
込んでください。
bit5
FLD :
FIFO ポインタ
リロードビット
送信 FIFO に FSET ビットによって保存したデータをリードポインタに
リロードするビットです。本ビットは通信エラーなどが発生し再送す
るときに使用します。
再送設定が完了した場合 , 本ビットは "0" になります。
( 注意事項 )
• 本ビットが "1" にセットされている間 , リードポインタへのリロー
ド中なので FIFO リセット以外の書込みは行わないでください。
• FIFO 許可状態または送信中 , 本ビットに "1" を設定することは禁止
です。
• TIE ビット TBIE ビットは "0" にしてから本ビットに "1" を書き込ん
でください。送信 FIFO 許可後 , TIE ビットと TBIE ビットを "1" に
してください。
FSET :
FIFO ポインタ
保存ビット
送信 FIFO のリードポインタを保存するビットです。
送信前にリードポインタを保存すれば , 通信エラーなどが発生した
場合 , FLST ビットが "0" であれば , 再送可能となります。
"1" に設定した場合 : 現在のリードポインタの値を保存します。
"0" に設定した場合 : 影響しません。
( 注意事項 ) 送信バイト数 (FBYTE) が "0" を示しているときに本ビッ
トを "1" に設定してください。
FCL2 :
FIFO2 リセット
ビット
FIFO2 をリセットするビットです。
本ビットを "1" に設定すると , FIFO2 の内部状態を初期化します。
FCR1:FLST2 ビットのみ初期化され , FCR1/FCR0 レジスタのほかのビッ
トは保持されます。
( 注意事項 )
• 送受信を禁止してから , FIFO2 リセットを実行してください。
• 送信 FIFO 割込み許可ビットを "0" にしてから実行してください。
• FBYTE2 レジスタの有効データ数は "0" になります。
bit4
bit3
356
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.11 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) のレジスタ
表 15.11-8 FIFO 制御レジスタ 0 (FCR0) の各ビットの機能説明 (2 / 2)
MB91313A シリーズ
ビット名
bit2
bit1
bit0
機能
FCL1 :
FIFO1 リセット
ビット
FIFO1 をリセットするビットです。
本ビットを "1" に設定すると , FIFO1 の内部状態を初期化します。
FCR1:FLST1 ビットのみ初期化され , FCR1/FCR0 レジスタのほかのビッ
トは保持されます。
( 注意事項 )
• 送受信を禁止してから , FIFO1 リセットを実行してください。
• 送信 FIFO 割込み許可ビットを "0" にしてから実行してください。
• FBYTE1 レジスタの有効データ数は "0" になります。
FE2 :
FIFO2 動作許可
ビット
FIFO2 の動作を許可 / 禁止するビットです。
• FIFO2 を使用する場合 , 本ビットに "1" を設定してください。
• FIFO2 を送信 FIFO に設定し (FCR1:FSEL=1), 本ビットに "1" を書き込
んだときに FIFO2 にデータが存在します。UART が送信許可 (TXE=1)
のとき , 直ちに送信を開始します。このとき , TIE ビットと TBIE ビッ
トは "0" にしてから本ビットに "1" を書き込み , TIE ビットと TBIE
ビットを "1" にしてください。
• FSEL ビットによって受信 FIFO として選択された場合 , 受信エラーが
発生すると本ビットは "0" にクリアされます。受信エラーがクリアさ
れない限り , 本ビットに "1" を設定することはできません。
• 送信 FIFO 使用時に送信バッファがエンプティ (TDRE=1), 受信 FIFO
使用時に受信バッファがエンプティ (RDRF=0) の場合 , 本ビットをそ
れぞれ "1" または "0" を設定してください。
• FIFO2 を禁止にしても FIFO2 の状態は保持されます。
FE1 :
FIFO1 動作許可
ビット
FIFO1 の動作を許可 / 禁止するビットです。
• FIFO1 を使用する場合 , 本ビットに "1" を設定してください。
• FIFO1 を送信 FIFO に設定し (FCR1:FSEL=0), 本ビットに "1" を書き込
んだときに FIFO1 にデータが存在します。UART が送信許可 (TXE=1)
のとき , 直ちに送信を開始します。このとき , TIE ビットと TBIE ビッ
トは "0" にしてから本ビットに "1" を書き込み , TIE ビットと TBIE
ビットを "1" にしてください。
• FSEL ビットによって受信 FIFO として選択された場合 , 受信エラーが
発生すると本ビットは "0" にクリアされます。受信エラーがクリアさ
れない限り , 本ビットに "1" を設定することはできません。
• 送信 FIFO 使用時に送信バッファがエンプティ (TDRE=1), 受信 FIFO
使用時に受信バッファがエンプティ (RDRF=0) の場合 , 本ビットをそ
れぞれ "1" または "0" を設定してください。
• FIFO1 を禁止にしても FIFO1 の状態は保持されます。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
357
第 15 章 マルチファンクション シリアルインタフェース
15.11 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) のレジスタ
15.11.9
MB91313A シリーズ
FIFO バイトレジスタ (FBYTE)
FIFO バイトレジスタ (FBYTE) は , FIFO の有効なデータ数を示します。
■ FIFO バイトレジスタ (FBYTE) のビット構成
図 15.11-10 に FIFO バイトレジスタ (FBYTE) のビット構成を示します。
図 15.11-10 FIFO バイトレジスタ (FBYTE) のビット構成
FBYTE bit 15
14
13
12
11
10
9
8
ch.0 00006CH
ch.1 00007CH FD15 FD14 FD13 FD12 FD11 FD10 FD9 FD8
ch.2 00008CH R/W R/W R/W R/W R/W R/W R/W R/W
R/W :リード/ライト可能
読出し(有効なデータ数)
送信時:FIFOに書き込まれ、送信されていないデータ数
受信時:FIFOに受信されたデータ数
書込み(転送数)
送信時:"00H"設定
受信時:受信割込み発生のデータ数設定
7
6
5
4
3
初期値
2
1
0
FD7
FD6
FD5
FD4
FD3
FD2
FD1
FD0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
00000000B
FBYTE1
書込み
読出し
FIFO1データ数表示ビット
転送数を設定
有効なデータ数を読出し
FBYTE2
書込み
読出し
FIFO2データ数表示ビット
転送数を設定
有効なデータ数を読出し
FIFO バイトレジスタ (FBYTE) は FIFO の有効なデータ数を示し , FSEL ビットの設定に
よって以下のようになります。
表 15.11-9 データ数表示
FSEL
FIFO 選択
バイト数表示
0
FIFO2 : 受信 FIFO, FIFO1 : 送信 FIFO
FIFO2 : FBYTE2, FIFO1 : FBYTE1
1
FIFO2 : 送信 FIFO, FIFO1 : 受信 FIFO
FIFO2 : FBYTE2, FIFO1 : FBYTE1
• FIFO バイトレジスタ (FBYTE) の転送数の初期値は "08H" です。
• 受信 FIFO の FBYTE に受信割込みフラグを発生させるデータ数を設定します。その
設定された転送数と FIFO バイトレジスタ (FBYTE) のデータ表示が一致すると割込
みフラグ (RDRF) が "1" にセットされます。
• 受信 FIFO アイドル検出許可ビット (FRIIE) が "1" で受信 FIFO に存在するデータ数
が転送数に達しない場合 , 受信アイドル状態がボーレートクロックで 8 クロック以
上続くと割込みフラグ (RDRF) が "1" にセットされます。8 クロックカウント中 ,
RDR を読み出すとそのカウンタは "0" にリセットされ , 再度 8 クロックをカウント
します。受信 FIFO が禁止されるとそのカウンタは "0" にリセットされます。受信
FIFO にデータが残っている状態で受信 FIFO を許可すると再度 カウントを開始しま
す。
358
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.11 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) のレジスタ
• マスタ動作で , データを受信する場合 ( マスタ受信 ), TIE ビットと TBIE ビットを "0"
MB91313A シリーズ
にし送信 FIFO の FBYTE レジスタに受信データ数を設定し , FDRQ ビットに "0" を
書きます。その後 , TXE ビットが "1" のとき設定データ分のシリアルクロックが出
力され , 設定値分データを受信することができます。TIE ビット , TBIE ビットに "1"
を設定したい場合には FDRQ が "1" になった後に "1" に設定してください。
<注意事項>
• マスタ動作で , データを受信するとき以外 , 送信 FIFO の FBYTE には "00H" を設定し
てください。
• マスタ動作でデータを受信するときの送信データ数の設定は送信FIFOがエンプティで
TIE ビット , TBIE ビットが "0" のときに行ってください。
• マスタ動作でデータを受信中に受信禁止 (RXE=0) にする場合には , 送信 FIFO を禁止
にしてから送受信を禁止にしてください。
• 受信 FIFO の FBYTE には "1" 以上のデータを設定してください。
• 受信 FIFO の FBYTE の変更は受信を禁止してから変更してください。
• 本レジスタはリードモディファイライト (RMW) 系命令を使用することはできません。
• FIFO 容量を超えた設定は禁止です。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
359
第 15 章 マルチファンクション シリアルインタフェース
15.12 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) の割込み
15.12
MB91313A シリーズ
CSIO ( クロック同期マルチファンクションシリア
ルインタフェース ) の割込み
CSIO ( クロック同期マルチファンクションシリアルインタフェース ) の割込みには ,
受信割込みと送信割込みがあり , 次に示す要因で割込み要求を発生させることがで
きます。
• 受信データが受信データレジスタ (RDR) にセットされた場合または受信エラーが
発生した場合
• 送信データが送信データレジスタ (TDR) から送信用シフトレジスタに転送され ,
送信が開始された場合
• 送信バスアイドル ( 送信動作なし )
• 送信 FIFO データ要求
■ CSIO の割込み
CSIO の割込み制御ビットと割込み要因は表 15.12-1 のようになっています。
表 15.12-1 CSIO の割込み制御ビットと割込み要因
割込み
の種類
割込み要求
フラグ
フラグ
レジスタ
ビット
割込み要因
割込み要因
許可ビット
1 バイト受信
割込み要求
フラグのクリア
受信データ (RDR) の読出し
FBYTE 設定値分受信
RDRF
SSR
ORE
SSR
受信
TDRE
SSR
FRIIE ビットが "1" で受
信 FIFO に有効なデータ
SCR:RIE
が存在した状態で 8
ビット時間以上の受信
アイドル状態検出
オーバランエラー
受信エラーフラグクリアビット
(SSR:REC) への "1" 書込み
送信レジスタが
エンプティ
SCR:TIE
送信データ (TDR) への書込み , また
は送信 FIFO 動作許可ビットが "0" で
送信 FIFO に有効なデータが存在し
ているときに送信 FIFO 動作許可
ビットへの "1" 書込み ( 送信再送 ) *
送信動作なし
送信データ (TDR) への書込み , また
は送信 FIFO 動作許可ビットが "0" で
SCR:TBIE 送信 FIFO に有効なデータが存在し
ているときに送信 FIFO 動作許可
ビットへの "1" 書込み ( 送信再送 ) *
送信
TBI
SSR
FDRQ
FCR1
受信 FIFO がエンプティになるまで
の受信データ (RDR) の読出し
FIFO 送信データ要求ビット
FCR1:FTIE
送信 FIFO がエンプティ
(FCR1:FDRQ) への "0"
書込みまたは送信 FIFO がフル
*: TDRE ビットが "0" になってから TIE ビットを "1" にしてください。
360
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.12 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) の割込み
MB91313A シリーズ
受信割込み発生とフラグセットのタイミング
15.12.1
受信時の割込みとしては , 受信完了 (SSR:RDRF) および受信エラーの発生 (SSR :
ORE) があります。
■ 受信割込み発生とフラグセットのタイミング
最 終デー タビ ット が検 出さ れる こと によ り , 受 信デ ータ は受 信デー タレ ジス タ
(RDR) に格納されます。受信が完了したとき (SSR:RDRF=1) または受信エラーが発
生 (SSR:ORE=1) すると各フラグがセットされます。そのとき , 受信割込みが許可
(SSR:RIE=1) されていると受信割込みが発生します。
<注意事項>
受信エラーが発生した場合は , 受信データレジスタ (RDR) のデータは無効となります。
図 15.12-1 受信動作とフラグセットのタイミング
SCK
D0
SIN
D1
D2
D3
D4
D5
D6
D7
受信データ
サンプリング
RDRF
受信割込み発生
(注意事項)
図は, 以下の条件でのタイミングを表しています。
SCR :MS=1, SPI=0
ESCR :L2~L0=000B
SMR : SCINV=0, BDS=0, SCKE=0, SOE=0
図 15.12-2 ORE( オーバランエラー ) フラグセットタイミング
SCK
SIN
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
D6 D7
受信データ
サンプリング
RDRF
ORE
(注意事項)
図は, 以下の条件でのタイミングを表しています。
SCR :MS=1, SPI=0
ESCR :L2~L0=000B
SMR : SCINV=0, BDS=0, SCKE=0, SOE=0
オーバランエラー発生
受信データが読み出される前に (RDRF=1), 次のデータが転送されるとオーバランエ
ラーが発生します。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
361
第 15 章 マルチファンクション シリアルインタフェース
15.12 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) の割込み
15.12.2
MB91313A シリーズ
受信 FIFO 使用時の割込み発生とフラグセットのタイ
ミング
受信 FIFO 使用時の割込みは , FIFO バイトレジスタ (FBYTE) の設定値分受信すると
発生します。
■ 受信 FIFO 使用時の受信割込み発生とフラグセットのタイミング
受信 FIFO 使用時の割込み発生は , FIFO バイトレジスタ (FBYTE) の設定値によって決
定されます。
• FIFO バイトレジスタ (FBYTE) の転送数設定分のデータを受信するとシリアルス
テータスレジスタの受信データフルフラグ (SSR:RDRF) が "1" にセットされます。こ
のとき , 受信割込み許可 (SCR:RIE) されていると受信割込みを発生します。
• 受信 FIFO アイドル検出許可ビット (FRIIE) が "1" で受信 FIFO に存在するデータ数
が転送数に達しない場合 , 受信アイドル状態がボーレートクロックで 8 クロック以
上続くと割込みフラグ (RDRF) が "1" にセットされます。8 クロックカウント中 ,
RDR を読み出すとそのカウンタは "0" にリセットされ , 再度 8 クロックをカウント
します。受信 FIFO が禁止されるとそのカウンタは "0" にリセットされます。受信
FIFO にデータが残っている状態で受信 FIFO を許可すると再度 カウントを開始しま
す。
• 受信 FIFO がエンプティになるまで受信データ (RDR) を読み出すと , 受信データフ
ルフラグ (SSR:RDRF) はクリアされます。
• 受信有効データ数表示が FIFO 容量を示した状態で , 次のデータを受信するとオーバ
ランエラー (SSR:ORE=1) が発生します。
図 15.12-3 受信 FIFO 使用時の受信割込み発生タイミング
SCK
受信データ
1バイト目
2バイト目
3バイト目
FIFOバイト(受信)
有効バイト表示
4バイト目
5バイト目
6バイト目
7バイト目
3
0
1
2
3 2 1
0
1
2
3 2 1
0
1
RDRF
RDRの読出し
FIFOバイト設定(転送数)と受信データ数が
一致したことにより割込み発生
362
全受信データを読出し
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.12 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) の割込み
図 15.12-4 ORE ( オーバランエラー ) フラグビットのセットタイミング
MB91313A シリーズ
SCK
1バイト目
受信データ
2バイト目
3バイト目
5バイト目
6バイト目
7バイト目
60
FIFOバイト(受信)
有効バイト表示
4バイト目
59
60
61
62
63
64
RDRF
ORE
FIFOバイト(受信)設定数+1と受信データ数が
一致したことにより割込み発生
オーバランエラー発生
FIFO 表示が FIFO 容量を示した状態で , 次のデータを受信すると , オーバランエラーが
発生します。
図 15.12-4 は , 64 バイトの FIFO 容量を使用した場合を示しています。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
363
第 15 章 マルチファンクション シリアルインタフェース
15.12 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) の割込み
15.12.3
MB91313A シリーズ
送信割込み発生とフラグセットのタイミング
送信時の割込みとしては , 送信データが送信データレジスタ (TDR) から送信用シフ
トレジスタに転送され (SSR : TDRE=1), 送信が開始された場合と送信動作をしてい
ないとき (SSR : TBI=1) に発生します。
■ 送信割込み発生とフラグセットのタイミング
● 送信データエンプティフラグ (TDRE) のセットタイミング
送信データレジスタ (TDR) に書き込まれたデータが送信シフトレジスタに転送される
と次のデータの書込みが可能な状態 (SSR:TDRE=1) になります。そのとき , 送信割込み
が許可 (SCR:TIE=1) されていると , 送信割込みが発生します。TDRE ビットはリードオ
ンリビットなので , 送信データレジスタ (TDR) へのデータ書込みにより "0" にクリアさ
れます。
図 15.12-5 送信データエンプティフラグ (TDRE) のセットタイミング
SCK
送信データ
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
TDRE
TDRへの書込み
送信割込み発生
● 送信バスアイドルフラグ (TBI) のセットタイミング
送信データレジスタがエンプティ (TDRE=1) で送信動作をしていないとき , SSR : TBI
ビットは"1"にセットされます。このとき, 送信バスアイドル割込み許可 (SCR : TBIE=1)
されていると , 送信割込みが発生します。送信データレジスタ (TDR) に送信データを
セットすると TBI ビットおよび送信割込み要求はクリアされます。
図 15.12-6 送信バスアイドルフラグ (TBI) のセットタイミング
SCK
送信データ
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
TBI
TDRE
TDRへの
書込み
364
バスアイドルによる
送信割込み発生
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.12 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) の割込み
MB91313A シリーズ
15.12.4
送信 FIFO 使用時の割込み発生とフラグセットの
タイミング
送信 FIFO 使用時の割込みは , 送信 FIFO にデータが存在しないときに発生します。
■ 送信 FIFO 使用時の送信割込み発生とフラグセットのタイミング
• 送信 FIFO にデータが存在しない場合 , FIFO 送信データ要求ビット (FCR1 : FDRQ)
が "1" にセットされます。
このとき , FIFO 送信割込み許可 (FCR1 : FTIE=1) されていると送信割込みが発生し
ます。
• 送信割込みが発生して送信 FIFO に必要なデータを書き込んだら , FIFO 送信データ
要求ビット (FCR1 : FDRQ) に "0" を書き込んで割込み要求をクリアしてください。
• 送信 FIFO がフルになると FIFO 送信データ要求ビット (FCR1:FDRQ) は "0" になり
ます。
• 送信 FIFO のデータの存在は , FIFO バイトレジスタ (FBYTE) を読み出すことで確認
できます。
FBYTE=00H のときは , 送信 FIFO にデータが存在していないことを示します。
図 15.12-7 送信 FIFO 使用時の送信割込み発生タイミング
SCK
送信データ
FIFOバイト表示
1バイト目
0
1
2
1
2バイト目
0
1
3バイト目
4バイト目
0
FDRQ
TDRE
“0”書込みでクリア
送信割込み発生 *1
送信FIFO
へ書込み
送信バッファがエンプティ*2
TXE
*1: 送信FIFOがエンプティのため,FDRQ=1にセットされる
*2: 送信バッファレジスタにデータが存在しないため,TDRE=1にセットされる
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
365
第 15 章 マルチファンクション シリアルインタフェース
15.13 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) の動作
MB91313A シリーズ
CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) の動作
15.13
転送方式はクロック同期式となります。
■ CSIO ( クロック同期マルチファンクションシリアルインタフェース ) の動作
(1) ノーマル転送 ( Ⅰ )
● 特長
項目
説明
1
シリアルクロック (SCK) のマークレベル
"H"
2
送信データ出力タイミング
SCK の立下りエッジ
3
受信データのサンプリング
SCK の立上りエッジ
4
データ長
5 ビット∼ 9 ビット
● レジスタ設定
ノーマル転送 ( Ⅰ ) に必要なレジスタの設定値を以下に示します。
表 15.13-1 ノーマル転送 ( Ⅰ ) レジスタ設定
SCR/
SMR
SSR/
ESCR
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
bit7
bit6
bit5
UPCL
MS
SPI
RIE
TIE
TBIE
RXE
TXE
MD2
MD1
MD0 WUCR SCINV BDS
0
1/0
0
*
*
*
*
*
0
1
0
0
0
REC
−
−
−
TBI
SOP
−
−
−
0
−
−
−
−
0
−
−
−
D8
D7
D6
−
*
*
TDR/
RDR
BGR1/
BGR0
ORE RDRF TDRE
−
−
−
bit4
bit3
bit2
bit1
bit0
SCKE
SOE
*
1/0
1/0
−
L2
L1
L0
−
−
*
*
*
D5
D4
D3
D2
D1
D0
*
*
*
*
*
*
*
−
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
−
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
1 : "1" を設定
0 : "0" を設定
* : ユーザが決める設定
<注意事項>
上記ビットの設定値 (1/0) は , マスタ動作 , スレーブ動作で異なります。以下のように設定
してください。
マスタ送信時
マスタ受信時
スレーブ送信時
スレーブ受信時
366
: SCR:MS=0, SMR:SCKE=1, SOE=1
: SCR:MS=0, SMR:SCKE=1, SOE=0
: SCR:MS=1, SMR:SCKE=0, SOE=1
: SCR:MS=1, SMR:SCKE=0, SOE=0
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.13 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) の動作
ノーマル転送 ( Ⅰ ) タイミングチャート
MB91313A シリーズ
●
1バイト目
●送信動作
2バイト目
SCK
SOUT
D0 D1 D2
D3 D4 D5 D6
D7 D0
D1 D2 D3 D4
D5 D6
D7
TDRE
TDR RW
TXE
●受信動作
SIN
D0 D1
D2 D3 D4
D5 D6 D7
D0
D1 D2
D3 D4 D5
D6
D7
Sampling
RDRF
RDR RD
RXE
● 動作説明
[1] マスタ動作 (SCR:MS=0, SMR:SCKE=1 に設定します )
• 送信動作
① シリアルデータ出力許可 (SMR:SOE=1), 送信動作許可 (SCR:TXE=1) および受信
動作禁止 (SCR:RXE=0) にし , TDR に送信データを書き込むと , SSR:TDRE=0 と
なりシリアルクロック (SCK) 出力の立下りエッジに同期して , 送信データを出力
します。
② 最初の 1 ビット目の送信データが出力されると , SSR:TDRE=1 となり , 送信割込
み許可 (SCR:TIE=1) されていると送信割込み要求を出力します。このとき , 2 バ
イト目の送信データを書き込むことができます。
• 受信動作
① シリアルデータ出力禁止 (SMR:SOE=0), 送信動作許可 (SCR:TXE=1) および受信
動作許可 (SCR:RXE=1) にし , TDR にダミーデータを書き込むとシリアルクロッ
ク出力 (SCK) の立上りエッジで 受信データをサンプリングします。
② 最後のビットを受信すると SSR:RDRF=1 となり , 受信割込み許可 (SCR:RIE=1) さ
れていると 受信割込み要求を出力します。
このとき , 受信データ (RDR) を読み出すことができます。
③ 受信データ (RDR) を読み出すと , SSR:RDRF は "0" にクリアされます。
<注意事項>
• 受信動作のみを行う場合 , シリアルクロック (SCK) を出力させるために TDR にダミー
データを書いてください。
• 送受信 FIFO 許可時は , 転送させたいフレーム分 FIFO バイトレジスタ (FBYTE) に設定
することで , 設定値分のフレームのシリアルクロック (SCK) が出力されます。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
367
第 15 章 マルチファンクション シリアルインタフェース
15.13 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) の動作
[2] スレーブ動作 (SCR:MS=1, SMR:SCKE=0 に設定します )
MB91313A シリーズ
• 送信動作
① シリアルデータ出力許可 (SMR:SOE=1) および送信動作許可 (SCR:TXE=1) にし ,
TDR に送信データを書き込むと SSR:TDRE=0 となり , シリアルクロック (SCK)
入力の立下りエッジに同期して送信データを出力します。
② 最初の 1 ビット目の送信データが出力されると SSR:TDRE=1 となり , 送信割込
み許可 (SCR:TIE=1) されていると送信割込み要求を出力します。このとき , 2 バ
イト目の送信データを書き込むことができます。
• 受信動作
① シリアルデータ出力禁止 (SMR:SOE=0) および受信動作許可 (SCR:RXE=1) にする
と , シリアルクロック入力 (SCK) の立上りエッジで受信データをサンプリングし
ます。
② 最後のビットを受信すると SSR:RDRF=1 となり , 受信割込み許可 (SCR:RIE=1) さ
れていると受信割込み要求を出力します。
このとき , 受信データ (RDR) を読み出すことができます。
③ 受信データ (RDR) を読み出すと , SSR:RDRF は "0" にクリアされます。
368
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.13 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) の動作
(2) ノーマル転送 ( Ⅱ )
● 特長
項目
説明
1
シリアルクロック (SCK) のマークレベル
"L"
2
送信データ出力タイミング
SCK の立上りエッジ
3
受信データのサンプリング
SCK の立下りエッジ
4
データ長
5 ビット∼ 9 ビット
● レジスタ設定
ノーマル転送 ( Ⅱ ) に必要なレジスタの設定値を以下に示します。
表 15.13-2 ノーマル転送 ( Ⅱ ) レジスタ設定
SCR/
SMR
SSR/
ESCR
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
bit7
bit6
bit5
UPCL
MS
SPI
RIE
TIE
TBIE
RXE
TXE
MD2
MD1
MD0 WUCR SCINV BDS
0
1/0
0
*
*
*
*
*
0
1
0
0
1
REC
−
−
−
ORE
TBI
SOP
−
−
−
0
−
−
−
−
−
0
−
−
−
D8
D7
D6
−
*
*
TDR/
RDR
BGR1/
BGR0
RDRF TDRE
−
−
bit4
bit3
bit2
bit1
bit0
SCKE
SOE
*
1/0
1/0
−
L2
L1
L0
−
−
*
*
*
D5
D4
D3
D2
D1
D0
*
*
*
*
*
*
*
−
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
−
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
1 : "1" を設定
0 : "0" を設定
* : ユーザが決める設定
<注意事項>
上記ビットの設定値 (1/0) は , マスタ動作 , スレーブ動作で異なります。以下のように設定
してください。
マスタ送信時
マスタ受信時
スレーブ送信時
スレーブ受信時
CM71-10143-5
: SCR:MS=0, SMR:SCKE=1, SOE=1
: SCR:MS=0, SMR:SCKE=1, SOE=0
: SCR:MS=1, SMR:SCKE=0, SOE=1
: SCR:MS=1, SMR:SCKE=0, SOE=0
FUJITSU SEMICONDUCTOR LIMITED
369
第 15 章 マルチファンクション シリアルインタフェース
15.13 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) の動作
● ノーマル転送 ( Ⅱ ) タイミングチャート
1バイト目
●送信動作
MB91313A シリーズ
マークレベル
2バイト目
SCK
SOUT
D0 D1 D2
D3 D4 D5 D6
D7 D0
D1 D2 D3 D4
D5 D6
D7
TDRE
TDR RW
TXE
●受信動作
SIN
D0 D1
D2 D3 D4
D5 D6 D7
D0 D1 D2
D3 D4 D5
D6
D7
Sampling
RDRF
RDR RD
RXE
● 動作説明
[1] マスタ動作 (SCR:MS=0, SMR:SCKE=1 に設定します )
• 送信動作
① シリアルデータ出力許可 (SMR:SOE=1), 送信動作許可 (SCR:TXE=1) および受信
動作禁止 (SCR:RXE=0) にし , TDR に送信データを書き込むと , SSR:TDRE=0 と
なりシリアルクロック (SCK) 出力の立上りエッジに同期して , 送信データを出力
します。
② 最初の 1 ビット目の送信データが出力されると SSR:TDRE=1 となり , 送信割込
み許可 (SCR:TIE=1) されていると送信割込み要求を出力します。このとき , 2 バ
イト目の送信データを書き込むことができます。
• 受信動作
① シリアルデータ出力禁止 (SMR:SOE=0), 送信動作許可 (SCR:TXE=1) および受信
動作許可 (SCR:RXE=1) にし , TDR にダミーデータを書き込むとシリアルクロッ
ク出力 (SCK) の立下りエッジで , 受信データをサンプリングします。
② 最後のビットを受信すると SSR:RDRF=1 となり , 受信割込み許可 (SCR:RIE=1) さ
れていると受信割込み要求を出力します。
このとき , 受信データ (RDR) を読み出すことができます。
③ 受信データ (RDR) を読み出すと , SSR:RDRF は "0" にクリアされます。
<注意事項>
• 受信動作のみを行う場合 , シリアルクロック (SCK) を出力させるために TDR にダミー
データを書いてください。
• 送受信 FIFO 許可時 , 転送させたいフレーム分 FIFO バイトレジスタ (FBYTE) に設定す
ることで , 設定値分のフレームのシリアルクロック (SCK) が出力されます。
370
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.13 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) の動作
[2] スレーブ動作 (SCR:MS=1, SMR:SCKE=0 に設定します )
MB91313A シリーズ
• 送信動作
① シリアルデータ出力許可 (SMR:SOE=1) および送信動作許可 (SCR:TXE=1) にし ,
TDR に送信データを書き込むと SSR:TDRE=0 となり , シリアルクロック (SCK)
入力の立上りエッジに同期して送信データを出力します。
② 最初の 1 ビット目の送信データが出力されると SSR:TDRE=1 となり , 送信割込
み許可 (SCR:TIE=1) されていると送信割込み要求を出力します。このとき , 2 バ
イト目の送信データを書き込むことができます。
• 受信動作
① シリアルデータ出力禁止 (SMR:SOE=0) および受信動作許可 (SCR:RXE=1) にする
と , シリアルクロック入力 (SCK) の立下りエッジで受信データをサンプリングし
ます。
② 最後のビットを受信すると SSR:RDRF=1 となり , 受信割込み許可 (SCR:RIE=1) さ
れていると受信割込み要求を出力します。
このとき , 受信データ (RDR) を読み出すことができます。
③ 受信データ (RDR) を読み出すと , SSR:RDRF は "0" にクリアされます。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
371
第 15 章 マルチファンクション シリアルインタフェース
15.13 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) の動作
MB91313A シリーズ
(3) SPI 転送 ( Ⅰ )
● 特長
項目
説明
1
シリアルクロック (SCK) のマークレベル
"H"
2
送信データ出力タイミング
SCK の立上りエッジ
3
受信データのサンプリング
SCK の立下りエッジ
4
データ長
5 ビット∼ 9 ビット
● レジスタ設定
SPI 転送 ( Ⅰ ) に必要なレジスタの設定値を以下に示します。
表 15.13-3 SPI 転送 ( Ⅰ ) レジスタ設定
SCR/
SMR
SSR/
ESCR
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
bit7
bit6
bit5
UPCL
MS
SPI
RIE
TIE
TBIE
RXE
TXE
MD2
MD1
MD0 WUCR SCINV BDS
0
1/0
1
*
*
*
*
*
0
1
0
0
0
REC
−
−
−
ORE
TBI
SOP
−
−
−
0
−
−
−
−
−
0
−
−
−
D8
D7
D6
−
*
*
TDR/
RDR
BGR1/
BGR0
RDRF TDRE
−
−
bit4
bit3
bit2
bit1
bit0
SCKE
SOE
*
1/0
1/0
−
L2
L1
L0
−
−
*
*
*
D5
D4
D3
D2
D1
D0
*
*
*
*
*
*
*
−
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
−
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
1 : "1" を設定
0 : "0" を設定
* : ユーザが決める設定
<注意事項>
上記ビットの設定値 (1/0) は , マスタ動作 , スレーブ動作で異なります。以下のように設定
してください。
マスタ送信時
マスタ受信時
スレーブ送信時
スレーブ受信時
372
: SCR:MS=0, SMR:SCKE=1, SOE=1
: SCR:MS=0, SMR:SCKE=1, SOE=0
: SCR:MS=1, SMR:SCKE=0, SOE=1
: SCR:MS=1, SMR:SCKE=0, SOE=0
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.13 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) の動作
SPI 転送 ( Ⅰ ) タイミングチャート
MB91313A シリーズ
●
1バイト目
●送信動作
SCK
2バイト目
*A
SOUT
D0 D1 D2
D3 D4 D5 D6
D7 D0 D1 D2 D3 D4
D5
D6
D7
D3 D4 D5
D6
D7
TDRE
TDR RW
TXE
●受信動作
SIN
D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2
Sampling
RDRF
RDR RD
RXE
*A:スレーブ送信時(MS=1, SCKE=0, SOE=1)、TDRに書いてから
4マシンサイクル以上の時間が必要。
● 動作説明
[1] マスタ動作 (SCR:MS=0, SMR:SCKE=1 に設定します )
• 送信動作
① シリアルデータ出力許可 (SMR:SOE=1), 送信動作許可 (SCR:TXE=1) および受信
動作禁止 (SCR:RXE=0) にし , TDR に送信データを書き込むと , SSR:TDRE=0 と
なり 1 ビット目が出力されます。その後 , シリアルクロック (SCK) 出力の立上り
エッジに同期して , 送信データを出力します。
② 最初のシリアルクロックの立下りエッジの半サイクル前で SSR:TDRE=1 となり ,
送信割込み許可 (SCR:TIE=1) されていると送信割込み要求を出力します。このと
き , 2 バイト目の送信データを書き込むことができます。
• 受信動作
① シリアルデータ出力禁止 (SMR:SOE=0), 送信動作許可 (SCR:TXE=1) および受信
動作許可 (SCR:RXE=1) にし , TDR にダミーデータを書き込むとシリアルクロッ
ク出力 (SCK) の立下りエッジで 受信データをサンプリングします。
② 最後のビットを受信すると SSR:RDRF=1 となり , 受信割込み許可 (SCR:RIE=1) さ
れていると受信割込み要求を出力します。
このとき , 受信データ (RDR) を読み出すことができます。
③ 受信データ (RDR) を読み出すと , SSR:RDRF は "0" にクリアされます。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
373
第 15 章 マルチファンクション シリアルインタフェース
15.13 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) の動作
MB91313A シリーズ
<注意事項>
• 受信動作のみを行う場合 , シリアルクロック (SCK) を出力させるために TDR にダミー
データを書いてください。
• 送受信 FIFO 許可時 , 転送させたいフレーム分 FIFO バイトレジスタ (FBYTE) に設定す
ることで , 設定値分のフレームのシリアルクロック (SCK) が出力されます。
[2] スレーブ動作 (SCR:MS=1, SMR:SCKE=0 に設定します )
• 送信動作
① シリアルデータ出力許可 (SMR:SOE=1) および送信動作許可 (SCR:TXE=1) にし ,
TDR に送信データを書き込むと SSR:TDRE=0 となり 1 ビット目が出力されます。
その後 , シリアルクロック (SCK) 出力の立上りエッジに同期して , 送信データを
出力します。
② 最初のシリアルクロックの立下りエッジの半サイクル前で , SSR:TDRE=1 となり ,
送信割込み許可 (SCR:TIE=1) されていると送信割込み要求を出力します。このと
き , 2 バイト目の送信データを書き込むことができます。
• 受信動作
① シリアルデータ出力禁止 (SMR:SOE=0) および受信動作許可 (SCR:RXE=1) にする
と , シリアルクロック入力 (SCK) の立下りエッジで受信データをサンプリングし
ます。
② 最後のビットを受信すると SSR:RDRF=1 となり , 受信割込み許可 (SCR:RIE=1) さ
れていると受信割込み要求を出力します。
このとき , 受信データ (RDR) を読み出すことができます。
③ 受信データ (RDR) を読み出すと , SSR:RDRF は "0" にクリアされます。
374
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.13 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) の動作
(4) SPI 転送 ( Ⅱ )
● 特長
項目
説明
1
シリアルクロック (SCK) のマークレベル
"L"
2
送信データ出力タイミング
SCK の立下りエッジ
3
受信データのサンプリング
SCK の立上りエッジ
4
データ長
5 ビット∼ 9 ビット
● レジスタ設定
SPI 転送 ( Ⅱ ) に必要なレジスタの設定値を以下に示します。
表 15.13-4 SPI 転送 ( Ⅱ ) レジスタ設定
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
bit7
bit6
bit5
SCR/
SMR
UPCL
MS
SPI
RIE
TIE
TBIE
RXE
TXE
MD2
MD1
MD0 WUCR SCINV BDS
0
1/0
1
*
*
*
*
*
0
1
0
0
1
SSR/
ESCR
REC
−
−
−
ORE
TBI
SOP
−
−
−
0
−
−
−
−
−
0
−
−
−
D8
D7
D6
−
*
*
TDR/
RDR
BGR1/
BGR0
RDRF TDRE
−
−
bit4
bit3
bit2
bit1
bit0
SCKE
SOE
*
1/0
1/0
−
L2
L1
L0
−
−
*
*
*
D5
D4
D3
D2
D1
D0
*
*
*
*
*
*
*
−
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
−
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
1 : "1" を設定
0 : "0" を設定
* : ユーザが決める設定
<注意事項>
上記ビットの設定値 (1/0) は , マスタ動作 , スレーブ動作で異なります。以下のように設定
してください。
マスタ送信時
マスタ受信時
スレーブ送信時
スレーブ受信時
CM71-10143-5
: SCR:MS=0, SMR:SCKE=1, SOE=1
: SCR:MS=0, SMR:SCKE=1, SOE=0
: SCR:MS=1, SMR:SCKE=0, SOE=1
: SCR:MS=1, SMR:SCKE=0, SOE=0
FUJITSU SEMICONDUCTOR LIMITED
375
第 15 章 マルチファンクション シリアルインタフェース
15.13 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) の動作
● SPI 転送 ( Ⅱ ) タイミングチャート
1バイト目
●送信動作
SCK
MB91313A シリーズ
2バイト目
*A
SOUT
D0 D1 D2
D3 D4 D5 D6
D7 D0 D1 D2 D3 D4
D5 D6
D7
TDRE
TDR RW
TXE
●受信動作
SIN
D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2
D3 D4 D5
D6
D7
Sampling
RDRF
RDR RD
RXE
*A:スレーブ送信時(MS=1, SCKE=0, SOE=1)、TDRに書いてから
4マシンサイクル以上の時間が必要。
● 動作説明
[1] マスタ動作 (SCR:MS=0, SMR:SCKE=1 に設定します )
• 送信動作
① シリアルデータ出力許可 (SMR:SOE=1), 送信動作許可 (SCR:TXE=1) および受信
動作禁止 (SCR:RXE=0) にし , TDR に送信データを書き込むと SSR:TDRE=0 とな
り , シリアルクロック (SCK) 出力の立下りエッジに同期して送信データを出力し
ます。
② 最初の 1 ビット目の送信データが出力されると SSR:TDRE=1 となり , 送信割込
み許可 (SCR:TIE=1) されていると送信割込み要求を出力します。このとき , 2 バ
イト目の送信データを書き込むことができます。
• 受信動作
① シリアルデータ出力禁止 (SMR:SOE=0), 送信動作許可 (SCR:TXE=1) および受信
動作許可 (SCR:RXE=1) にし , TDR にダミーデータを書き込むとシリアルクロッ
ク出力 (SCK) の立上りエッジで受信データをサンプリングします。
② 最後のビットを受信すると SSR:RDRF=1 となり , 受信割込み許可 (SCR:RIE=1) さ
れていると受信割込み要求を出力します。
このとき , 受信データ (RDR) を読み出すことができます。
③ 受信データ (RDR) を読み出すと , SSR:RDRF は "0" にクリアされます。
376
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.13 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) の動作
<注意事項>
• 受信動作のみを行う場合 , シリアルクロック (SCK) を出力させるために TDR にダミー
データを書いてください。
• 送受信 FIFO 許可時 , 転送させたいフレーム分 FIFO バイトレジスタ (FBYTE) に設定す
ることで , 設定値分のフレームのシリアルクロック (SCK) が出力されます。
[2] スレーブ動作 (SCR:MS=1, SMR:SCKE=0 に設定します )
• 送信動作
① シリアルデータ出力許可 (SMR:SOE=1) および送信動作許可 (SCR:TXE=1) にし ,
TDR に送信データを書き込むと SSR:TDRE=0 となり , シリアルクロック (SCK)
出力の立下りエッジに同期して送信データを出力します。
② 最初の 1 ビット目の送信データが出力されると SSR:TDRE=1 となり , 送信割込
み許可 (SCR:TIE=1) されていると送信割込み要求を出力します。このとき , 2 バ
イト目の送信データを書き込むことができます。
• 受信動作
① シリアルデータ出力禁止 (SMR:SOE=0) および受信動作許可 (SCR:RXE=1) にする
と , シリアルクロック入力 (SCK) の立上りエッジで受信データをサンプリングし
ます。
② 最後のビットを受信すると SSR:RDRF=1 となり , 受信割込み許可 (SCR:RIE=1) さ
れていると受信割込み要求を出力します。
このとき , 受信データ (RDR) を読み出すことができます。
③ 受信データ (RDR) を読み出すと , SSR:RDRF は "0" にクリアされます。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
377
第 15 章 マルチファンクション シリアルインタフェース
15.14 CSIO 専用ボーレートジェネレータ
15.14
MB91313A シリーズ
CSIO 専用ボーレートジェネレータ
CSIO 専用ボーレートジェネレータは , マスタ動作時のみ機能します。ただし , 受信
FIFO を使用する場合にはスレーブ動作時でも専用ボーレートジェネレータを設定し
てください。
■ CSIO (クロック同期マルチファンクションシリアルインタフェース)ボーレート選
択
専用ボーレートジェネレータの設定は , マスタ動作時とスレーブ動作時では異なりま
す。
● マスタ動作時
専用ボーレートジェネレータで内部クロックを分周させてボーレートを選択します。
- 2 つの内部リロードカウンタがあり , それぞれ送受信シリアルクロックに対応し
ています。ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) で 15 ビットのリ
ロード値を設定することにより , ボーレートを選択できます。
- リロードカウンタは設定された値で内部クロックを分周します。
● スレーブ動作時
スレーブ動作時 (SCR:MS=1) は , 専用ボーレートジェネレータは機能しません
( クロック入力端子 SCK から入力された外部クロックを直接使用します )。
<注意事項>
受信 FIFO を使用する場合にはスレーブ動作時でも専用ボーレートジェネレータを設定し
てください。
378
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.14 CSIO 専用ボーレートジェネレータ
ボーレート設定
15.14.1
ボーレートの設定を示します。また , シリアルクロック周波数の計算結果を示します。
■ ボーレートの計算
2つの15ビットリロードカウンタは, ボーレートジェネレータレジスタ1, 0 (BGR1/BGR0)
で設定します。
ボーレートの計算式を以下に示します。
(1) リロード値
V=φ/b−1
V : リロード値 , b : ボーレート , φ : マシンクロック周波数
(2) 計算例
マシンクロック 16MHz, 内部クロック使用 , ボーレート 19200bps に設定する場
合のリロード値は , 次のようになります。
リロード値 :
V = (16 × 1000000)/19200 − 1 = 832
よって , ボーレートは ,
b = (16 × 1000000)/(832 + 1) = 19208 bps
(3) ボーレートの誤差
ボーレートの誤差は次の式によって求められます。
誤差 (%) = ( 計算値 - 目標値 )/ 目標値 × 100
( 例 ) マシンクロック 20MHz, 目標ボーレート 153600bps に設定する場合
リロード値 = (20 × 1000000)/153600 − 1 = 129
ボーレート ( 計算値 ) = (20 × 1000000)/(129 + 1) = 153846 (bps)
誤 差 (%) = (153846 − 153600)/153600 × 100 = 0.16 (%)
<注意事項>
• リロード値を "0" に設定するとリロードカウンタは停止します。
• リロード値が偶数の場合 , シリアルクロックの "H" 幅と "L" 幅は SCINV ビットの設定
によって以下のようになります。奇数の場合 , シリアルクロックの "H" 幅と "L" 幅は同
じになります。
SCINV=0 のとき , シリアルクロックの "H" 幅がマシンクロック 1 サイクル分長くなり
ます。
SCINV=1 のとき , シリアルクロックの "L" 幅がマシンクロック 1 サイクル分長くなり
ます。
• リロード値は 3 以上を設定してください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
379
第 15 章 マルチファンクション シリアルインタフェース
15.14 CSIO 専用ボーレートジェネレータ
MB91313A シリーズ
■ 各マシンクロック周波数に対するリロード値とボーレート
表 15.14-1 リロード値とボーレート
ボーレート
(bps)
8 MHz
10 MHz
16 MHz
20 MHz
24 MHz
32MHz
Value
ERR
Value
ERR
Value
ERR
Value
ERR
Value
ERR
Value
ERR
8M
−
−
−
−
−
−
−
−
0
−
−
−
−
−
−
−
−
−
−
−
4M
−
−
4
0
−
5
−
0
−
7
−
0
2M
−
3
−
0
−
0
−
0
2.5M
−
3
−
3
−
0
−
5M
−
3
−
0
3
6M
−
3
4
0
−
7
−
0
−
9
−
0
−
11
−
0
−
15
−
0
1M
7
0
9
0
15
0
19
0
23
0
31
0
500000
15
0
19
0
31
0
39
0
47
0
63
0
460800
−
31
−
0
−
39
−
0
−
63
−
0
−
79
−
0
51
− 0.16
250000
95
0
−
127
−
0
230400
−
−
−
−
−
−
−
−
103
− 0.16
−
−
153600
51
− 0.16
64
− 0.16
103
− 0.16
129
− 0.16
155
− 0.16
207
− 0.16
125000
63
0
79
0
127
0
159
0
191
0
255
0
115200
68
− 0.64
86
0.22
138
0.08
173
0.22
207
− 0.16
277
0.08
76800
103
− 0.16
129
− 0.16
207
− 0.16
259
− 0.16
311
− 0.16
416
0.08
57600
138
0.08
173
0.22
277
0.08
346
− 0.16
416
0.08
555
0.08
38400
207
− 0.16
259
− 0.16
416
0.08
520
0.03
624
0
832
− 0.04
28800
277
0.08
346
< 0.01
554
− 0.01
693
− 0.06
832
− 0.03
1110
− 0.01
19200
416
0.08
520
0.03
832
− 0.03
1041
0.03
1249
0
1666
0.02
10417
767
< 0.01
959
< 0.01
1535
< 0.01
1919
< 0.01
2303
< 0.01
3071
< 0.01
9600
832
0.04
1041
0.03
1666
0.02
2083
0.03
2499
0
3332
− 0.01
7200 1110
< 0.01
1388
< 0.01
2221
< 0.01
2777
< 0.01
3332
< 0.01
4443
− 0.01
4800 1666
0.02
2082
− 0.02
3332
< 0.01
4166
< 0.01
4999
0
6666
< 0.01
2400 3332
< 0.01
4166
< 0.01
6666
< 0.01
8332
< 0.01
9999
0
13332 <− 0.01
1200 6666
< 0.01
8334
0.02
13332 < 0.01 16666 < 0.01 19999
0
26666
< 0.01
600 13332 < 0.01 16666 < 0.01 26666 < 0.01
−
−
−
−
−
−
300 26666
−
−
−
−
−
−
26666 < 0.01
−
−
−
・Value : BGR1/BGR0 レジスタの設定値
・ERR : ボーレート誤差 (%)
380
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.14 CSIO 専用ボーレートジェネレータ
■ リロードカウンタの機能
リロードカウンタには送信リロードカウンタと受信リロードカウンタがあり , 専用
ボーレートジェネレータとして機能します。リロード値に対する 15 ビットレジスタか
ら構成されており , 内部クロックより送受信クロックを生成します。
■ カウントの開始
ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) にリロード値を書き込むと , リ
ロードカウンタはカウントを開始します。
■ 再スタート
リロードカウンタは下記の条件で再スタートします。
● 送信 / 受信リロードカウンタ共通
プログラマブルリセット (SCR:UPCL ビット )
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
381
第 15 章 マルチファンクション シリアルインタフェース
15.15 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) 設定手順とプログラムフロー
15.15
MB91313A シリーズ
CSIO ( クロック同期マルチファンクションシリアルイ
ンタフェース ) 設定手順とプログラムフロー
CSIO ( クロック同期マルチファンクションシリアルインタフェース ) では , シリア
ル双方向同期通信をすることができます。
■ CPU 間接続
CSIO ( クロック同期マルチファンクションシリアルインタフェース ) では , 双方向通信
を選択します。図 15.15-1 に示すように 2 つの CPU を相互に接続します。
図 15.15-1 CSIO ( クロック同期マルチファンクションシリアルインタフェース ) の
双方向通信の接続例
SOT
SOT
SIN
SIN
SCK
SCK
CPU–1 (マスタ)
CPU–2 (スレーブ)
■ フローチャート
● FIFO 未使用時
図 15.15-2 双方向通信フローチャートの例 (FIFO 未使用時 )
(マスタ側)
(スレーブ側)
スタート
スタート
動作フォーマット設定
動作フォーマット設定
(マスタ側と合わせる)
データ送信
TDRに1バイトデータを
セットして通信
NO
RDRF=1
YES
NO
RDRF=1
YES
受信データ読出しと
処理
382
データ送信
(ANS)
受信データ読出しと
処理
1バイトデータ送信
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
● FIFO 使用時
第 15 章 マルチファンクション シリアルインタフェース
15.15 CSIO ( クロック同期マルチファンクションシリアルイン
タフェース ) 設定手順とプログラムフロー
図 15.15-3 双方向通信フローチャートの例 (FIFO 使用時 )
(マスタ側)
(スレーブ側)
スタート
スタート
動作フォーマット設定
動作フォーマット設定
(マスタ側と合わせる)
送受信FIFO許可
送受信FIFO許可
受信FBYTE設定
受信FBYTE設定
送信FIFOにNバイトを
セットし,FDRQビット
に"0"書込み
データ送信
RDRF=1
YES
データ送信
NO
RDRF=1
YES
NO
(ANS)
FIFOBYTE設定値分,
読出しと処理
送信FIFOにNバイトを
セットし,FDRQビット
に"0"書込み
FBYTE設定値分,
読出しと処理
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
383
第 15 章 マルチファンクション シリアルインタフェース
15.16 CSIO モードの注意事項
15.16
MB91313A シリーズ
CSIO モードの注意事項
CSIO モードの注意事項を下記に示します。
• FIFO 付きチャネルで DMA 転送要求する場合 , FIFO は使用できません。FIFO 動作
禁止の設定としてください。
• DMA 転送要求する場合 , DMA のブロックサイズを 1 回に設定してください。
• マスタ受信およびスレーブ受信時には , データ受信用の DMA 転送と , ダミーデータ
送信用の DMA 転送が必要なため , DMA を 2 チャネル使用する必要があります。
384
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
15.17
第 15 章 マルチファンクション シリアルインタフェース
15.17 I2C インタフェースの概要
I2C インタフェースの概要
I2C インタフェースは IC 間バスをサポートし , I2C バス上のマスタ / スレーブデバイス
として動作します。また , 送信 / 受信 ( 最大 各 16 バイト ) の FIFO を搭載しています。
■ I2C インタフェースの機能
I2C インタフェースには , 以下の機能があります。
• マスタ / スレーブ送受信機能
• 調停機能
• クロック同期機能
• 伝送方向検出機能
• 反復スタート条件の発生と検出機能
• バスエラー検出機能
• ゼネラルコールアドレッシング機能
• マスタおよびスレーブとしての 7 ビットアドレッシング
• 伝送 , およびバスエラー時に割込み発生可能
• 10 ビットアドレッシング機能はプログラムで対応可能
• ノイズフィルタ搭載
■ FIFO の機能
FIFO には , 以下の機能があります。
• 送受信 FIFO 搭載 ( 最大容量 : 送信 FIFO 16 バイト , 受信 FIFO 16 バイト )
• 送信 FIFO と受信 FIFO を選択可能
• 送信データの再送信が可能
• 受信 FIFO 割込みタイミングをソフトで可変可能
• 独立して FIFO リセットをサポート
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
385
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
15.18
MB91313A シリーズ
I2C インタフェースのレジスタ
I2C インタフェースのレジスタ一覧を示します。
■ I2C インタフェースのレジスタ一覧
表 15.18-1 I2C インタフェースのレジスタ一覧
アドレス
00X0H 00X1H
I2C
FIFO
00X2H
00X4H
00X3H
00X5H
00X6H
00X7H
00X8H
00X9H
00YAH
00YCH
00YBH
00YDH
bit15
bit8 bit7
bit0
SMR ( シリアルモードレジスタ )
IBCR (I2C バス制御レジスタ )
SSR ( シリアルステータスレジスタ ) IBSR (I2C バスステータスレジスタ )
RDR/TDR( 送受信データレジスタ )
−
BGR1
BGR0
( ボーレートジェネレータレジスタ 1) ( ボーレートジェネレータレジスタ 0)
ISMK
IBSA
(7 ビットスレーブアドレスマスク
(7 ビットスレーブアドレスレジスタ )
レジスタ )
FCR1 (FIFO 制御レジスタ 1)
FCR0 (FIFO 制御レジスタ 0)
FBYTE2 (FIFO2 バイトレジスタ )
FBYTE1 (FIFO1 バイトレジスタ )
(X=06H, 07H, 08H, 09H, 0AH, 0BH, 1BH, 1CH, 1DH, 1EH, 1FH, Y=06H, 07H, 08H)
表 15.18-2 I2C インタフェースのビット配置
bit15
bit14
bit10
bit9
bit8
bit7
bit6
bit5
bit4
bit3
bit2
IBCR/
SMR
MSS
ACT/
ACKE WSEL CNDE INTE
SCC
BER
INT
MD2
MD1
MD0
−
RIE
TIE
SSR/
IBSR
REC
TSET
−
−
ORE
−
FBT
TRX
AL
RSC
SPC
BB
TDR1/0
−
−
−
−
−
−
−
−
D7
D6
D5
D4
D3
D2
D1
D0
BGR1/
BGR0
−
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
ISMK/
ISBA
EN
SM6
SM5
SM4
SM3
SM2
SM1
SM0
SAEN
SA6
SA5
SA4
SA3
SA2
SA1
SA0
FLSTE FRIIE FDRQ FTIE
FSEL
−
FLST
FLD
FSET FCL2 FCL1
FE2
FE1
FD8
FD7
FD6
FD5
FD4
FD1
FD0
FCR1/
FTST1 FTST0
FCR0
FBYTE2/
FD15
FBYTE1
386
FD14
bit13
−
FD13
bit12
FD12
bit11
FD11
RDRF TDRE
FD10
FD9
RACK RSA
FUJITSU SEMICONDUCTOR LIMITED
FD3
FD2
bit1
bit0
ITST1 ITST0
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
MB91313A シリーズ
I2C バス制御レジスタ (IBCR)
15.18.1
I2C バス制御レジスタ (IBCR) は , マスタ / スレーブモード選択 , 反復スタート条件の
発生 , アクノリッジ許可 , 割込み許可を設定し , 割込みフラグを表示します。
■ I2C バス制御レジスタ (IBCR)
図 15.18-1 に I2C バス制御レジスタ (IBCR) のビット構成を , 表 15.18-3 に各ビットの機
能を示します。
図 15.18-1 I2C バス制御レジスタ (IBCR) のビット構成
IBCR bit
ch.0 000060H
ch.1 000070H
ch.2 000080H
ch.3 000090H
ch.4 0000A0H
ch.5 0000B0H
ch.6 0001B0H
ch.7 0001C0H
ch.8 0001D0H
ch.9 0001E0H
ch.A 0001F0H
15
14
13
12
MSS
ACT/SCC
ACKE
WSEL
R/W
R/W
R/W
R/W
11
10
9
CNDE
INTE
BER
INT
R/W
R/W
R
R/W
R
00000000B
0
1
BER
0
1
バスエラー検出ビット
エラーなし
エラーを検出
INTE
0
1
割込み許可ビット
割込み禁止
割込み許可
CNDE
0
1
条件検出割込み許可ビット
反復スタートまたはストップ条件割込み禁止
反復スタートまたはストップ条件割込み許可
WSEL
0
1
ウェイト選択ビット
アクノリッジ後ウェイト(9ビット)
データ送受信完了後ウェイト(8ビット)
アクノリッジ許可ビット
アクノリッジ禁止
アクノリッジ許可
0
1
動作フラグ/反復スタート条件発生ビット
書込み
読出し
影響しません
動作なし
反復スタート条件発生
I2C動作中
MSS
0
1
マスタ/スレーブ選択ビット
スレーブモード選択
マスタモード選択
ACT/SCC
:リード/ライト可能
初期値
割込みフラグビット
書込み
読出し
INTビットのクリア
割込み要求なし
影響しません
割込み要求あり
INT
ACKE
0
1
R/W
8
:リードオンリ
:初期値
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
387
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
MB91313A シリーズ
表 15.18-3 I2C バス制御レジスタ (IBCR) の各ビットの機能説明 (1 / 4)
ビット名
機能
2
• 本ビットに "1" を設定すると I C バスがアイドル状態 (EN=1, BB=0) のとき ,
マスタモードとなります。
• IBSR レジスタの BB ビットが "1" のとき , このビットに "1" を設定すると
BB ビットが "0" になるまでスタート条件の発生をウェイトします。その
ウェイト中にスレーブアドレスが一致してスレーブとして動作する場合に
は本ビットは "0" になり , IBSR レジスタの AL ビットが "1" になります。
• マスタ動作中 (MSS=1, ACT=1) で割込みフラグ (INT) が "1" のとき , 本ビッ
トに "0" を書き込むとストップ条件が発生します。
MSS ビットは以下の条件でクリアされます。
(1) I2C インタフェースの禁止 (EN ビット =0)
(2) アービトレーションロスト発生時
(3) バスエラー検出 (BER ビット =1)
bit15
(4) INT=1 のとき , MSS ビットへの "0" 書込み
MSS :
マスタ / MSS ビットと ACT ビットの関係を以下に示します。
スレーブ
選択
MSS ビット ACT ビット
状態
ビット
0
0
アイドル
0
1
1
0
スレーブアドレス一致または予約アドレスに対し
ACK 応答 * し , スレーブ動作中 ( スレーブモード )
マスタ動作待機中
1
1
マスタ動作中 ( マスタモード )
* : ACK 応答 : アクノリッジ区間に I2C バスの SDA が "L" であることを指し
ます。
( 注意事項 )
• MSS ビットが "1" に設定されていて MSS ビットを "0" に変更する場合 ,
MSS ビット =1, INT ビット =1 のときに行ってください。ACT ビットが
"1" のときに MSS ビットに "0" を書き込むと INT ビットも "0" にクリアさ
れます。
• マスタ動作中 , MSS ビットに "0" を書いても ACT ビットが "1" の間 , "1"
が読み出されます。
388
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
表 15.18-3 I2C バス制御レジスタ (IBCR) の各ビットの機能説明 (2 / 4)
ビット名
機能
このビットは , 読出しと書込みで意味が異なります。
bit14
読出し
書込み
ACT ビット
SCC ビット
ACT ビットはマスタモードまたはスレーブモードとして動作していることを
示します。
ACT ビットのセット条件 :
(1) スタート条件を I2C バスに出力したとき ( マスタモード )
(2) スレーブアドレスとマスタから送信されたアドレスが一致したとき ( ス
レーブモード )
(3) 予約アドレスを検出し , それに対しアクノリッジ応答したとき (MSS=0
のときスレーブモードとなる )
ACT ビットのリセット条件 :
<マスタモード>
ACT/
(1) ストップ条件検出
SCC :
(2) アービトレーションロスト検出
動作
(3) バスエラー検出
フラグ /
(4) I2C インタフェースの禁止 (EN ビット =0)
反復
スタート <スレーブモード>
(1) ( 反復 ) スタート条件検出
条件発生
(2) ストップ条件検出
ビット
(3) 予約アドレス検出状態 (RSA=1) でアクノリッジ応答しなかったとき
(4) I2C インタフェースの禁止 (EN ビット =0)
(5) バスエラーの発生 (BER ビット =1)
マスタモード時 , このビットに "1" を書き込むと反復スタートを実行します。
"0" 書込みは無効です。
( 注意事項 )
• SCC ビットへの "1" 書込みは , マスタモードの割込み中 (MSS=1, ACT=1,
INT=1) に行ってください。ACT ビットが "1" のときに SCC ビットに "1"
を書き込むと INT ビットは "0" にクリアされます。
• スレーブモード (MSS=0, ACT=1) 時 , 本ビットに "1" を書くことは禁止で
す。
• SCC ビットに "1", MSS ビットに "0" を書いた場合には , MSS ビットが優
先されます。
• リードモディファイライト (RMW) 系命令の読出しは SCC ビットが読み出
されます。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
389
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
MB91313A シリーズ
表 15.18-3 I2C バス制御レジスタ (IBCR) の各ビットの機能説明 (3 / 4)
ビット名
機能
• 本ビットに "1" を設定するとアクノリッジタイミングで "L" を出力します。
• ACT=1 のときに本ビットを変更する場合 , INT ビットが "1" のときに行って
ください。
本ビットは以下の条件では無効となります。
(1) 予約アドレス以外のアドレスフィールドに対するアクノリッジ ( 自動生
成)
(2) データ送信時 (RSA=0, TRX=1, FBT=0)
(3) 受信 FIFO 許可でスレーブ受信時 (FE=1, MSS=0, ACT=1), 常に ACK 応答
します。
(4) 受信 FIFO 許可 , WSEL が "0", マスタ受信時 (FE=1, MSS=1, ACT=1,
WSEL=0), TDRE ビットが "0" のとき ACK 応答し , TDRE ビットが "1"
のとき NACK 応答します。(5) 受信 FIFO 許可 , WSEL=0, 予約アドレス
検出してスレーブ送信時 (RSA=1, TRX=1, FBT=1), 常に ACK 応答しま
す。NACK 応答させる場合 , 予約アドレス検出後の割込み時 , 受信 FIFO
を禁止にし , ACKE=0 にしてください。
(5) 受信 FIFO 許可 , WSEL が "1", マスタ受信で送信データレジスタにデー
タがあるとき (FE=1, MSS=1, ACT=1, WSEL=1, TDRE=0)
bit13
ACKE :
データ
バイト
アクノ
リッジ
許可
ビット
bit12
• 本ビットはアクノリッジ前か後のどちらに割込み (INT=1) を発生させ , I2C
バスをウェイトさせるか選択するビットです。
• WSEL ビットは以下の条件では無効になります。
(1) 第 1 バイト *1 に対する割込み発生時 (INT=1)
WSEL :
(2) 予約アドレス検出時 (FBT=1, RSA=1)
ウェイト
(3) FIFO 使用時のデータ転送途中での NACK 応答 *2 検出時 (FE=1,
選択
RACK=1, ACT=1)
ビット
(4) 受信 FIFO 使用時 , 受信 FIFO がフルになったとき
*1: 第 1 バイト : ( 反復 ) スタート条件後のデータを指します。
*2:NACK 応答 : アクノリッジ期間 I2C バスの SDA が "H" であることを指しま
す。
bit11
CNDE :
条件検出
割込み許
可ビット
bit10
INTE :
マスタモードまたはスレーブモード時 , データ送受信およびバスエラーに対す
割込み許
る割込み (INT=0) を許可するビットです。
可ビット
bit9
本ビットは I2C バス上でエラーを検出したことを示します。
BER ビットのセット条件 :
(1) 第 1 バイト * 転送中にスタート条件またはストップ条件を検出
(2) 第 2 バイト以降 , データの 2 ∼ 9( アクノリッジ ) ビット目で ( 反復 ) ス
タート条件またはストップ条件を検出
BER ビットのリセット条件 :
(1) BER=1 のときに INT ビットへの "0" 書込みした場合
(2) I2C インタフェースの禁止 (EN=0) の場合
*: 第 1 バイト : ( 反復 ) スタート条件後のデータを指します。
( 注意事項 ) 割込みフラグ (INT ビット ) が "1" になったときにこのビットを
確認し , "1" になっていると正常に送受信ができていませんので
再送などの処理を行ってください。
390
BER:
バス
エラー
検出
ビット
マスタモードまたはスレーブモード時 (ACT=1), ストップ条件または反復ス
タート条件が検出された場合 , 割込みの発生を許可するビットです。IBSR レ
ジスタの RSC または SPC ビットが "1" で本ビットが "1" のときに割込みが発
生します。
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
表 15.18-3 I2C バス制御レジスタ (IBCR) の各ビットの機能説明 (4 / 4)
ビット名
bit8
INT :
割込み
フラグ
ビット
CM71-10143-5
機能
本ビットはマスタモードまたはスレーブモード時 , データ送受信の 8 ビットま
たは 9 ビット (ACK) 後 , またはバスエラー時にこのフラグを "1" にセットしま
す。バスエラー時以外は , INT ビットが "1" になると SCL を "L" にし , INT
ビットが "0" になると SCL の "L" の状態を解除します。
INT ビットのセット条件 :
< 8 ビット目>
(1) 第 1 バイトで予約アドレス検出した場合
(2) WSEL が "1", 第 2 バイト以降でアービトレーションロストを検出した場合
(3) WSEL が "1", マスタ動作中 , 第 2 バイト以降で TDRE ビットが "1" の場合
(4) WSEL が "1", スレーブ動作中 , 受信 FIFO 禁止 , 第 2 バイト以降で TDRE
ビットが "1" の場合
(5) WSEL が "1", スレーブ送信中 , 第 2 バイト以降で TDRE ビットが "1" の
場合
< 9 ビット目>
(1) 第 1 バイトでアービトレーションロストを検出した場合
(2) ストップ条件出力設定 ( マスタ動作中の MSS ビットへの 0 書込み ) 時
以外に NACK を受信した場合
(3) 第 1 バイトで予約アドレスを検出せずにマスタモードまたはスレーブ
モードの送信方向 (TRX=1) で TDRE ビットが "1" の場合
(4) 第 1 バイトで予約アドレスを検出せずにマスタモードまたはスレーブ
モードの受信方向 (TRX=0) で受信 FIFO 許可時に受信 FIFO にデータが
ある場合
(5) 第 1 バイトで予約アドレスを検出せずにマスタモードまたはスレーブ
モードの受信方向 (TRX=0) で受信 FIFO 禁止時に TDRE ビットが "1" の
場合
(6) WSEL=0 設定時 , 第 2 バイト以降でアービトレーションロストを検出し
た場合
(7) WSEL=0 設定時 , マスタモード動作中に第 2 バイト以降で TDRE ビット
が "1" の場合
(8) WSEL=0 設定時 , スレーブ送信中に第 2 バイト以降で TDRE ビットが
"1" の場合
(9) WSEL=0 設定時 , 受信 FIFO 禁止でスレーブ受信の場合。ただし , 予約
アドレスを検出した第 1 バイトでのスレーブ受信では 9 ビット目では
割込みは発生しません。
(10)受信 FIFO 許可 , スレーブ受信のときに受信 FIFO がフルになった場合
<その他>
(1) バスエラー検出
INT ビットのリセット条件 :
(1) INT ビットへの "0" 書込み
(2) INT ビットが "1", ACT ビットが "1" のときに MSS ビットへの "0" 書込み
(3) INT ビットが "1", ACT ビットが "1" のときに SCC ビットへの "1" 書込み
INT ビットへの "1" 書込みは無効です。
( 注意事項 )
• EN ビットを "0" にした場合 , 受信タイミングによっては RDRF ビットと
INT ビットが "1" になることがあります。この場合 , 受信データを読み出
し , INT ビットをクリアしてください。
• リードモディファイライト (RMW) 系命令の読出しは "1" が読み出されま
す。
• 受信 FIFO 許可時 , マスタ受信動作で受信 FIFO がフルになっても INT
ビットには "1" がセットされません。
FUJITSU SEMICONDUCTOR LIMITED
391
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
15.18.2
MB91313A シリーズ
シリアルモードレジスタ (SMR)
シリアルモードレジスタ (SMR) は , 動作モードの設定 , 送受信割込みの許可 / 禁止
の設定を行います。
■ シリアルモードレジスタ (SMR)
図 15.18-2 にシリアルモードレジスタ (SMR) のビット構成を , 表 15.18-4 に各ビットの
機能を示します。
図 15.18-2 シリアルモードレジスタ (SMR) のビット構成
SMR
bit 7
6
5
4
3
ch.0 000061H
MD0
MD2
MD1
-
RIE
ch.1 000071H
ch.2 000081H
R/W R/W R/W R/W R/W
ch.3 000091H
ch.4 0000A1H
ch.5 0000B1H
ch.6 0001B1H
ch.7 0001C1H
ch.8 0001D1H
ch.9 0001E1H
ch.A 0001F1H
2
1
初期値
0
TIE ITST1 ITST0 000-0000B
R/W R/W R/W
ITST
0
1
I2Cテストビット
I2Cテスト禁止
I2Cテスト許可
TIE
0
1
送信割込み許可ビット
送信割込み禁止
送信割込み許可
RIE
0
1
受信割込み許可ビット
受信割込み禁止
受信割込み許可
未使用ビット
読出し時、値は不定です。書込み時、影響しません。
R/W
-
:リード/ライト可能
:未使用
:初期値
392
MD2 MD1 MD0
動作モード設定ビット
0
0
0
動作モード0(非同期ノーマルモード)
0
0
1
動作モード1(非同期マルチプロセッサモード)
0
1
0
動作モード2(クロック同期モード)
1
0
0
動作モード4(I2Cモード)
(注意事項) 本章は、動作モード4のレジスタおよび動作について説明
します。
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
表 15.18-4 シリアルモードレジスタ (SMR) の各ビットの機能説明
ビット名
機能
動作モードを設定します。
"000B" : 動作モード 0 ( 非同期ノーマルモード ) に設定されます。
"001B" : 動作モード 1 ( 非同期マルチプロセッサモード ) に設定されま
す。
"010B" : 動作モード 2 ( クロック同期モード ) に設定されます。
bit7
∼
bit5
MD2 ∼ MD0 :
動作モード設定
ビット
bit4
未使用ビット
読み出した場合 : 値は不定です。
書き込んだ場合 : 影響しません。
RIE :
受信割込み許可
ビット
• CPU への受信割込み要求出力を許可 / 禁止するビットです。
• RIE ビットと受信データフラグビット (RDRF) が "1" の場合 , または
エラーフラグビット (ORE) のいずれかが "1" の場合 , 受信割込み要
求を出力します。
( 注意事項 ) I2C バス制御レジスタ (IBCR) の INT ビットを使用して
データを受信する場合 , 本ビットは "0" にしてください。
bit2
TIE :
送信割込み許可
ビット
• CPU への送信割込み要求出力を許可 / 禁止するビットです。
• TIE ビットと TDRE ビットが "1" の場合 , 送信割込み要求を出力し
ます。
( 注意事項 ) I2C バス制御レジスタ (IBCR) の INT ビットを使用して
データを送信する場合 , 本ビットは "0" にしてください。
bit1,
bit0
ITST1, ITST0:
I2C テストビット
I2C テストビットです。
本ビットには必ず "0" を設定してください。
( 注意事項 ) 本ビットに "1" を設定した場合 , I2C のテストを行います。
bit3
"100B" : 動作モード 4 (I2C モード ) に設定されます。
( 注意事項 )
• 上記設定以外は禁止です。
• 動作モードを切り換える場合は , I2C 禁止 (ISMK:EN=0) 後 , 動作
モードを切り換えてください。
• 動作モード設定後 , 各レジスタを設定してください。
<注意事項>
動作モードを変更すると , ほかのレジスタは初期化されるので動作モードは最初に設定し
てください。ただし , 16 ビット書込みで IBCR と SMR を同時に書き込んだとき , IBCR に
は書き込んだ内容が反映されます。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
393
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
MB91313A シリーズ
シリアルステータスレジスタ (SSR)
15.18.3
シリアルステータスレジスタ (SSR) は , 送受信状態の確認を行います。
■ シリアルステータスレジスタ (SSR)
図 15.18-3 にシリアルステータスレジスタ (SSR) のビット構成を , 表 15.18-5 に各ビッ
トの機能を示します。
図 15.18-3 シリアルステータスレジスタ (SSR) のビット構成
SSR
bit
15
14
ch.0 000062H
REC TSET
ch.1 000072H
ch.2 000082H R/W R/W
ch.3 000092H
ch.4 0000A2H
ch.5 0000B2H
ch.6 0001B2H
ch.7 0001C2H
ch.8 0001D2H
ch.9 0001E2H
ch.A 0001F2H
13
12
-
-
-
-
11
10
9
ORE RDRF TDRE
R
R
R
8
初期値
-
00--001-B
-
未使用ビット
読出し時、値は不定です。書込み時、影響しません
TDRE
送信データエンプティフラグビット
0
送信データレジスタTDRにデータが存在する
送信データレジスタがエンプティ
1
RDRF
受信データフルフラグビット
0
受信データレジスタRDRがエンプティ
1
受信データレジスタRDRにデータが存在する
ORE
0
1
オーバランエラーフラグビット
オーバランエラーなし
オーバランエラーあり
未使用ビット
読出し時、値は不定です。書込み時、影響しません
TSET
0
1
REC
R/W :リード/ライト可能
R
:リードオンリ
-
:未使用
:初期値
394
0
1
送信データエンプティフラグセットビット
書込み
読出し
影響なし
常に"0"を読出し
TDREビットセット
受信エラーフラグクリアビット
書込み
読出し
影響なし
常に"0"を読出し
受信エラーフラグ
(ORE)のクリア
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
表 15.18-5 シリアルステータスレジスタ (SSR) の各ビットの機能説明 (1 / 2)
ビット名
機能
bit15
REC :
受信エラー
フラグクリア
ビット
シリアルステータスレジスタ (SSR) の ORE ビットをクリアするビット
です。
• "1" 書込みで , ORE ビットがクリアされます。
• "0" 書込みは , 影響しません。
読み出した場合 , 常に "0" が読み出されます。
bit14
TSET :
送信バッファ
エンプティ
フラグセット
ビット
シリアルステータスレジスタ (SSR) の TDRE ビットをセットするビット
です。
• "1" 書込みで , TDRE ビットがセットされます。
• "0" 書込みは , 影響しません。
読み出した場合 , 常に "0" が読み出されます。
bit13,
bit12
未使用ビット
読み出した場合 : 値は不定です。
書き込んだ場合 : 影響しません。
ORE :
オーバラン
エラーフラグ
ビット
• 受信時にオーバランが発生すると "1" にセットされ , シリアルステー
タスレジスタ (SSR) の REC ビットに "1" を書き込むとクリアされま
す。
• ORE ビットと RIE ビットが "1" の場合 , 受信割込み要求を出力します。
• 本フラグがセットされた場合 , 受信データレジスタ (RDR) は無効で
す。
• 受信 FIFO 使用時 , 本フラグがセットされた場合には受信データは受信
FIFO に格納されません。
RDRF :
受信データ
フルフラグ
ビット
• 受信データレジスタ (RDR) の状態を示すフラグです。
• RIE ビットと受信データフラグビット (RDRF) が "1" の場合 , 受信割込
み要求を出力します。
• RDR に受信データがロードされると "1" にセットされ , 受信データレ
ジスタ (RDR) を読み出すと "0" にクリアされます。
• データの 8 ビット目の SCL 立下りタイミングでセットされます。
• NACK 応答 * でもセットされます。
• 受信 FIFO 使用時は , 受信 FIFO に所定のデータ数を受信したら RDRF
が "1" にセットされます。
• 受信 FIFO 使用時は , 受信 FIFO がエンプティになると "0" にクリアされ
ます。
• 受信 FIFO 使用時は , 受信 FIFO に所定のデータ数を受信せずに受信
FIFO にデータが残っていて受信アイドル状態が受信ボーレートクロッ
クで 8 クロック以上続き , BER ビットが "0" のとき RDRF が "1" に
セットされます。8 クロックカウント中 , RDR を読み出すとそのカウ
ンタは "0" にリセットされ , 再度 8 クロックをカウントします。
*: NACK 応答 : アクノリッジ期間 I2C バスの SDA が "H" であることを指し
ます。
bit11
bit10
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
395
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
MB91313A シリーズ
表 15.18-5 シリアルステータスレジスタ (SSR) の各ビットの機能説明 (2 / 2)
ビット名
396
機能
bit9
TDRE :
送信データ
エンプティ
フラグビット
• 送信データレジスタ (TDR) の状態を示すフラグです。
• TIE ビットと TDRE ビットが "1" の場合 , 送信割込み要求を出力しま
す。
• TDR に送信データを書き込むと "0" となり , TDR に有効なデータが存
在していることを示します。データが送信シフトレジスタにロードさ
れて送信が開始されると "1" となり , TDR に有効なデータが存在して
いないことを示します。
• シリアルステータスレジスタ (SSR) の TSET ビットに "1" を書き込む
とセットされます。アービトレーションロスト , バスエラーなどを検
出した場合 , TDRE ビットを "1" にセットしたいときに使用します。
bit8
未使用ビット
読み出した場合 : 値は不定です。
書き込んだ場合 : 影響しません。
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
MB91313A シリーズ
15.18.4
I2C バスステータスレジスタ (IBSR)
I2C バスステータスレジスタ (IBSR) は , 反復スタート , アクノリッジ , データ方向 ,
アービトレーションロスト , ストップ条件 , I2C バス状態 , バスエラーを検出したこ
とを示します。
■ I2C バスステータスレジスタ (IBSR)
図 15.18-4 に I2C バスステータスレジスタ (IBSR) のビット構成を , 表 15.18-6 に各ビッ
トの機能を示します。
図 15.18-4 I2C バスステータスレジスタ (IBSR) のビット構成
IBSR bit 7
6
5
ch.0 000063H
FBT RACK RSA
ch.1 000073H
ch.2 000083H
R
R
R
ch.3 000093H
ch.4 0000A3H
ch.5 0000B3H
ch.6 0001B3H
ch.7 0001C3H
ch.8 0001D3H
ch.9 0001E3H
ch.A 0001F3H
4
3
0
初期値
TRX
AL
RSC SPC
BB
00000000B
R
R
R/W R/W
R
2
1
バス状態ビット
バスアイドル状態
BB
0
1
バス送受信状態
SPC
0
1
マスタ
スレーブ
R/W
R
:リード/ライト可能
ストップ条件確認ビット
ストップ条件未検出
ストップ条件検出またはストップ条件出
力時のアービトレーションロスト発生
ストップ条件検出
RSC
0
1
反復スタート条件確認ビット
反復スタート条件未検出
反復スタート条件検出
AL
0
1
アービトレーションロストビット
アービトレーションロスト発生なし
アービトレーションロスト発生
TRX
0
1
データ方向ビット
受信方向
送信方向
RSA
0
1
予約アドレス検出ビット
予約アドレス未検出
予約アドレス検出
RACK
0
1
アクノリッジフラグビット
“L”受信
“H”受信
FBT
0
1
ファーストバイトビット
ファーストバイト以外
ファーストバイト送受信中
:リードオンリ
:初期値
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
397
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
MB91313A シリーズ
表 15.18-6 I2C バスステータスレジスタ (IBSR) の各ビットの機能説明 (1 / 3)
ビット名
機能
bit7
ファーストバイトを示すビットです。
FBT ビットのセット条件 :
(1) ( 反復 ) スタート条件を検出した場合
FBT:
FBT ビットのクリア条件 :
ファースト
(1) 2 バイト目の送受信
バイトビット
(2) ストップ条件検出
(3) I2C インタフェースの禁止 (EN ビット =0)
(4) バスエラー検出 (BER ビット =1)
bit6
ファーストバイト , マスタモード時またはスレーブモード時に受信したア
クノリッジをこのビットに示します。
RACK ビットの更新条件
(1) ファーストバイト時のアクノリッジ
RACK :
(2) マスタモードまたはスレーブモード時のデータのアクノリッジ
アクノリッジ
フラグビット RACK ビットのクリア条件 (RACK ビット =0)
(1) ( 反復 ) スタート条件検出
(2) I2C インタフェースの禁止 (EN ビット =0)
(3) バスエラー検出 (BER ビット =1)
本ビットは予約アドレスを検出したことを示すビットです。
RSA ビットのセット条件 (RSA=1)
(1) 第 1 バイト目が (0000XXXXB) または (1111XXXXB)。"X" は "0" また
bit5
398
は "1" を示します。
RSA ビットのリセット条件 (RSA=0)
(1) ( 反復 ) スタート条件検出
(2) ストップ条件検出
(3) I2C インタフェースの禁止 (EN ビット =0)
(4) バスエラー検出 (BER ビット =1)
第 1 バイトで RSA ビットが "1" になるとその第 1 バイトの 8 ビット目の
RSA :
SCL の立下りで , FIFO 許可 , 禁止に関係なく割込みフラグ (INT) を "1" に
予約アドレス
して SCL を "L" にします。このとき受信データを読み出し , スレーブとし
検出ビット
て動作させる場合には ACKE を "1" に設定し , 割込みフラグ (INT) を "0" に
クリアします。その後 , TRX ビットが "0" であれば , スレーブとしてデー
タを受信します。途中でデータを受信させない場合には ACKE ビットを
"0" にします。それ以降 , データを受信しません。
( 注意事項 )
• データ転送中に ACKE を "0" にした場合には , ストップ条件または反
復スタート条件を検出するまで ACKE を "1" にすることは禁止です。
• 予約アドレス検出による割込み時 , スレーブ送信を確認した場合 , 受信
FIFO が許可になっていると ACK 応答しますので受信 FIFO を禁止にし
ACKE=0 にしてください。
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
表 15.18-6 I2C バスステータスレジスタ (IBSR) の各ビットの機能説明 (2 / 3)
ビット名
機能
本ビットはデータの方向を示すビットです。
TRX ビットのセット条件 :
(1) マスタモードで ( 反復 ) スタート条件を送信
(2) スレーブモードで第 1 バイトの 8 ビット目が "1" の場合 ( スレーブ
として送信方向 )
TRX ビットのリセット条件 :
(1) アービトレーションロスト発生 (AL=1)
(2) スレーブモードでファーストバイトの 8 ビット目が "0" の場合 ( ス
レーブとして受信方向 )
(3) マスタモードでファーストバイトの 8 ビット目が "1" の場合 ( マス
タとして受信方向 )
(4) ストップ条件検出
(5) マスタモード以外で ( 反復 ) スタート条件検出
(6) I2C インタフェースの禁止 (EN ビット =0)
(7) バスエラー検出 (BER ビット =1)
bit4
TRX:
データ方向
ビット
bit3
本ビットはアービトレーションロストを示します。
AL ビットのセット条件 :
(1) マスタモード時 , 出力しているデータと受信したデータが異なる場
合
(2) MSS ビットに "1" を設定したが , スレーブとして動作している場合
(3) マスタモード時 , 第 2 バイト目以降のデータの 1 ビット目で反復ス
タート条件を検出した場合
(4) マスタモード時 , 第 2 バイト目以降のデータの 1 ビット目でストッ
AL:
プ条件を検出した場合
アービトレー
(5) マスタモード時 , 反復スタート条件を発生させようとして発生でき
ションロスト
ない場合
ビット
(6) マスタモード時 , ストップ条件を発生させようとして発生できない
場合
AL ビットのリセット条件 :
(1) MSS ビットへの "1" 書込み
(2) INT ビットへの "0" 書込み
(3) AL ビット =1, SPC ビット =1 のときに SPC ビットへの "0" 書込み
(4) I2C インタフェースの禁止 (EN ビット =0)
(5) バスエラー検出 (BER ビット =1)
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
399
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
MB91313A シリーズ
表 15.18-6 I2C バスステータスレジスタ (IBSR) の各ビットの機能説明 (3 / 3)
ビット名
機能
bit2
マスタモードまたはスレーブモード時に反復スタート条件を検出したこと
を示すビットです。
RSC ビットのセット条件 :
(1) スレーブモードまたはマスタモードで動作中にアクノリッジ後 , 反
復スタート条件が検出された場合
RSC ビットのリセット条件 :
(1) RSC ビットへの "0" 書込み
RSC :
(2) MSS ビットへの "1" 書込み
反復スタート
(3) I2C インタフェースの禁止 (EN ビット =0)
条件確認
ビット
本ビットへの "1" 書込みは無効となります。
( 注意事項 )
• 予約アドレス検出によってスレーブモードとして受信動作中 , アクノ
リッジ応答しなかった場合 , スレーブモードを終了しますので次に反
復スタート条件を検出しても本ビットに "1" はセットされません。
• リードモディファイライト (RMW) 系命令の読出しは "1" が読み出され
ます。
bit1
マスタモードまたはスレーブモード時にストップ条件を検出したことを示
すビットです。
SPC ビットのセット条件 :
(1) スレーブモードまたはマスタモードで動作中にストップ条件が検出
された場合
(2) マスタモード時 , ストップ条件発生動作でアービトレーションロス
トが発生した場合
SPC ビットのリセット条件 :
SPC :
(1) 本ビットへの "0" 書込み
ストップ条件
(2) MSS ビットへの "1" 書込み
確認ビット
(3) I2C インタフェースの禁止 (EN ビット =0)
本ビットへの "1" 書込みは無効です。
( 注意事項 )
• 予約アドレス検出によってスレーブモードとして受信動作中 , アクノ
リッジ応答しなかった場合 , スレーブモードを終了しますので次にス
トップ条件を検出しても本ビットに "1" はセットされません。
• リードモディファイライト (RMW) 系命令の読出しは "1" が読み出され
ます。
bit0
400
BB:
バス状態
ビット
本ビットはバスの状態を示します。
BB ビットのセット条件 :
(1) I2C バスの SDA または SCL で "L" を検出した場合
BB ビットのリセット条件 :
(1) ストップ条件を検出した場合
(2) I2C インタフェースの禁止 (EN ビット =0)
(3) バスエラー検出 (BER ビット =1)
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
受信データレジスタ / 送信データレジスタ
(RDR/TDR)
15.18.5
受信データレジスタと送信データレジスタは同一アドレスに配置されています。読
み出した場合は , 受信データレジスタとして機能し , 書き込んだ場合は送信データレ
ジスタとして機能します。
■ 受信データレジスタ (RDR)
図 15.18-5 に受信データレジスタ (RDR) のビット構成を示します。
図 15.18-5 受信データレジスタ (RDR) のビット構成
RDR
ch.0
ch.2
ch.4
ch.6
ch.8
ch.A
000064H
000084H
0000A4H
0001B4H
0001D4H
0001F4H
ch.1
ch.3
ch.5
ch.7
ch.9
000074H bit15...........
000094H
0000B4H
0001C4H
0001E4H
7
D7
R
6
D6
R
5
D5
R
4
D4
R
3
D3
R
2
D2
R
1
D1
R
0
初期値
D0 00000000B
R
R : リードオンリ
受信データレジスタ (RDR) は, シリアルデータ受信用のデータバッファレジスタです。
• シリアルデータライン (SDA 端子 ) に送られてきたシリアルデータ信号がシフトレ
ジスタで変換されて , 受信データレジスタ (RDR) に格納されます。
• 第 1 バイト * を受信した場合 , 最下位ビット (RDR:D0) がデータ方向ビットとなりま
す。
• 受信データが , 受信データレジスタ (RDR) に格納されると , 受信データフルフラグ
ビット (SSR : RDRF) が "1" にセットされます。
• 受信データフルフラグビット (SSR : RDRF) は , 受信データレジスタ (RDR) を読み
出すと自動的に "0" にクリアされます。
*: 第 1 バイト : ( 反復 ) スタート条件後のデータを指します。
<注意事項>
• 受信 FIFO 使用時は , 受信 FIFO に所定のデータ数を受信したら RDRF が "1" にセット
されます。
• 受信 FIFO 使用時は , 受信 FIFO がエンプティになると RDRF が "0" にクリアされます。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
401
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
MB91313A シリーズ
■ 送信データレジスタ (TDR)
図 15.18-6 に送信データレジスタ (TDR) のビット構成を示します。
図 15.18-6 送信データレジスタ (TDR) のビット構成
TDR
ch.0
ch.2
ch.4
ch.6
ch.8
ch.A
000064H
000084H
0000A4H
0001B4H
0001D4H
0001F4H
ch.1
ch.3
ch.5
ch.7
ch.9
000074H bit15...........
000094H
0000B4H
0001C4H
0001E4H
7
D7
W
6
D6
W
5
D5
W
4
D4
W
3
D3
W
2
D2
W
1
D1
W
0
D0
W
初期値
11111111B
W : ライトオンリ
送信データレジスタ (TDR) は , シリアルデータ送信用のデータバッファレジスタです。
• 送信データレジスタ (TDR) の値の MSB ファーストでシリアルデータライン (SDA 端
子 ) に出力します。
• 第1バイトを送信する場合, 最下位ビット(TDR:D0)がデータ方向ビットになります。
• 送信データエンプティフラグ (SSR : TDRE) は , 送信データが送信データレジスタ
(TDR) に書き込まれると "0" にクリアされます。
• 送信データエンプティフラグ (SSR : TDRE) は , 送信用シフトレジスタへ転送される
と "1" にセットされます。
• 次の送信データの書込みは , 以下の条件のときに行ってください。
•
割込みフラグ (INT ビット ) が "1"
•
バスエラーが発生していない (BER ビット =0)
• アクノリッジが ACK 応答 ( アクノリッジとして 0 受信 )
• 送信 FIFO 禁止時 , データエンプティフラグ (SSR : TDRE) が "0" のときは送信デー
タレジスタ (TDR) に送信データを書き込むことはできません。
• 送信 FIFO 使用時 , データエンプティフラグ (SSR:TDRE) が "0" であっても送信 FIFO
の容量まで送信データを書き込むことが可能です。
<注意事項>
送信データレジスタは書込み専用のレジスタで , 受信データレジスタは読出し専用のレジ
スタです。2 つのレジスタは同一アドレスに配置されているため書込み値と読出し値が異
なります。したがって , INC/DEC 命令などリードモディファイライト (RMW) 系命令動作
をする命令は使用できません。
402
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
MB91313A シリーズ
ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0)
15.18.6
ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) は , シリアルクロックの分周比
を設定します。
■ ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) のビット構成
図 15.18-7 にボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) のビット構成を示し
ます。
図 15.18-7 ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) のビット構成
BGR bit 15
ch.0 000066H
-
ch.1 000076H
ch.2 000086H
(-)
ch.3 000096H
ch.4 0000A6H
ch.5 0000B6H
ch.6 0001B6H
ch.7 0001C6H
ch.8 0001D6H
ch.9 0001E6H
ch.A 0001F6H
14
13
12
11
10
9
8
7
6
5
4
3
2
1
初期値
0
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
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
-0000000B
00000000B
BGR0
書込み
読出し
ボーレートジェネレータレジスタ0
リロードカウンタビット0~7に書き込み
BGR0の設定値が読み出されます
BGR1
書込み
読出し
ボーレートジェネレータレジスタ1
リロードカウンタビット8~14に書き込み
BGR1の設定値が読み出されます
未使用ビット
読出し時、値は不定です。書込み時、影響しません
R/W :リード/ライト可能
- :未使用
ボーレートジェネレータレジスタはシリアルクロックの分周比を設定します。
BGR1 は上位ビット , BGR0 は下位ビットに対応し , カウントするリロード値の書込み ,
BGR1/BGR0 の設定値の読出しが可能です。
ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) にリロード値を書き込むとリロー
ドカウンタはカウントを開始します。
<注意事項>
• ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) への書込みは , 16 ビットアクセ
スで行ってください。
• ISMK レジスタの EN ビットが "0" のときにボーレートジェネレータレジスタの設定を
行ってください。
• マスタモード , スレーブモードに関係なく , ボーレートを設定してください。
• 動作モード 4 (I2C モード ) ではマシンクロックは 8MHz 以上で使用し , 400kbps を超え
るボーレートジェネレータの設定は禁止です。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
403
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
MB91313A シリーズ
7 ビットスレーブアドレスマスクレジスタ (ISMK)
15.18.7
7 ビットスレーブアドレスマスクレジスタ (ISMK) は , スレーブアドレスの各ビット
の比較をするか設定するレジスタです。
■ 7 ビットスレーブアドレスマスクレジスタ (ISMK)
図 15.18-8 に 7 ビットスレーブアドレスレジスタ (ISMK) のビット構成を , 表 15.18-7 に
各ビットの機能を示します。
図 15.18-8 7 ビットスレーブマスクレジスタ (ISMK) のビット構成
ISMK
bit
ch.0 000068H
ch.1 000078H
ch.2 000088H
ch.3 000098H
ch.4 0000A8H
ch.5 0000B8H
ch.6 0001B8H
ch.7 0001C8H
ch.8 0001D8H
ch.9 0001E8H
ch.A 0001F8H
R/W
15
EN
R/W
14
13
12
11
10
9
8
SM6 SM5
SM4 SM3 SM2 SM1
SM0
R/W
R/W
R/W
R/W
:リード/ライト可能
R/W
R/W
R/W
初期値
01111111B
SM6~SM0
0
1
7ビットスレーブアドレスマスクビット
ビット比較しない
ビット比較する
EN
0
1
I2Cインタフェース許可ビット
禁止
許可
:初期値
404
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
表 15.18-7 7 ビットスレーブマスクレジスタ (ISMK) の各ビットの機能説明
ビット名
bit15
bit14 ∼
bit8
EN :
I2C インタ
フェース
許可ビット
機能
I2C インタフェースの動作を許可 / 禁止するビットです。
"0" に設定した場合 : I2C インタフェースは動作禁止状態になります。
"1" に設定した場合 : I2C インタフェースが動作可能となります。
( 注意事項 )
• IBSR レジスタの BER ビットが "1" にセットされても , 本ビットは "0"
にクリアされません。
• 本ビットが "0" のときにボーレートジェネレータを設定してくださ
い。
• 本ビットが "0" のときに 7 ビットスレーブアドレスおよび 7 ビットス
レーブマスクレジスタを設定してください。
• 送信中に EN ビットを "0" にすると I2C バスの SDA/SCL にパルスが
発生することがあります。
• FIFO 許可の場合 , FIFO 禁止にして EN ビットに "0" を書いてくださ
い。
7 ビットスレーブアドレスと受信したアドレスに対し , 比較対象外にする
SM6 ∼ SM0 :
かどうかを設定するビットです。
スレーブ
"1" を設定したビット : 比較する
アドレス
"0" を設定したビット : 一致したものとして処理する
マスクビット
( 注意事項 ) EN ビットが "0" のときに本レジスタを設定してください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
405
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
15.18.8
MB91313A シリーズ
7 ビットスレーブアドレスレジスタ (ISBA)
7 ビットスレーブアドレスレジスタ (ISBA) は , スレーブアドレスを設定するレジス
タです。
■ 7 ビットスレーブアドレスレジスタ (ISBA)
図 15.18-9 に 7 ビットスレーブアドレスレジスタ (ISBA) のビット構成を , 表 15.18-8 に
各ビットの機能を示します。
図 15.18-9 7 ビットスレーブアドレスレジスタ (ISBA) のビット構成
ISBA
bit 7
6
5
4
3
2
1
0
初期値
ch.0 000069H
SA5
SA4
SA3
SA2
SA1
SA0
SA6
SAEN
00000000
B
ch.1 000079H
ch.2 000089H
R/W R/W R/W R/W R/W R/W R/W R/W
ch.3 000099H
ch.4 0000A9H
ch.5 0000B9H
ch.6 0001B9H
ch.7 0001C9H
SA
ch.8 0001D9H
ch.9 0001E9H
6~0
ch.A 0001F9H
R/W :リード/ライト可能
SAEN
0
1
スレーブアドレス設定ビット
7ビットスレーブアドレス
スレーブアドレス許可ビット
禁止
許可
:初期値
表 15.18-8 7 ビットスレーブアドレスレジスタ (ISBA) の各ビットの機能説明
ビット名
bit7
bit6
∼
bit0
406
機能
SAEN :
スレーブ
アドレス許可
ビット
スレーブアドレスの検出許可ビットです。
"0" を設定した場合 : スレーブアドレスを検出しません。
"1" を設定した場合 : ISBA, ISMK の設定と受信した第 1 バイトとの比較
を行います。
SA6~SA0 :
7 ビット
スレーブ
アドレス
• 7 ビットスレーブアドレスレジスタ (ISBA) は , スレーブアドレス検出
許可 (SAEN=1) されていれば , ( 反復 ) スタート条件検出後に受信した
7 ビットのデータが本レジスタと比較し , 全ビットが一致すればスレー
ブモードとして動作し , ACK を出力します。そのとき , 受信したス
レーブアドレスは本レジスタにセットされます (SAEN=0 であれば ,
ACK を出力しません )。
• ISMK レジスタに "0" を設定したアドレスビットは比較対象外となりま
す。
( 注意事項 )
• 予約アドレスの設定は禁止です。
• 本レジスタは ISMK レジスタの EN ビットが "0" のときに設定してく
ださい。
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
MB91313A シリーズ
FIFO 制御レジスタ 1 (FCR1)
15.18.9
FIFO 制御レジスタ (FCR1) は , FIFO のテスト設定 , 送受信 FIFO の選択 , 送信 FIFO
割込み許可の設定および割込みフラグの制御を行います。
■ FIFO 制御レジスタ 1 (FCR1) のビット構成
図 15.18-10 に FIFO 制御レジスタ 1 (FCR1) のビット構成を , 表 15.18-9 に各ビットの機
能を示します。
図 15.18-10 FIFO 制御レジスタ 1 (FCR1) のビット構成
FCR1
bit
15
14
13
ch.0 00006AH FTST1 FTST0 -
ch.1 00007AH
ch.2 00008AH R/W R/W (-)
12
11
10
9
FLSTE FRIIE FDRQ FTIE
R/W
R/W
R/W
R/W
8
初期値
FSEL
00-00100B
R/W
FSEL
0
1
FIFO選択ビット
送信FIFO:FIFO1, 受信FIFO:FIFO2
送信FIFO:FIFO2, 受信FIFO:FIFO1
FTIE
0
1
送信FIFO割込み許可ビット
送信FIFO割込み禁止
送信FIFO割込み許可
FDRQ
送信FIFOデータ要求ビット
送信FIFOデータ要求なし
送信FIFOデータ要求あり
0
1
FRIIE
0
1
FLSTE
0
1
受信FIFOアイドル検出許可ビット
受信FIFOアイドル検出禁止
受信FIFOアイドル検出許可
再送データロスト検出許可ビット
データロスト検出禁止
データロスト検出許可
未使用ビット
読出し時、値は不定です。書込み時、影響しません。
R/W
-
CM71-10143-5
:リード/ライト可能
:未使用
:初期値
FTST1,0
00B
00B以外
FUJITSU SEMICONDUCTOR LIMITED
FIFOテストビット
FIFOテスト禁止
設定禁止
407
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
MB91313A シリーズ
表 15.18-9 FIFO 制御レジスタ 1 (FCR1) の各ビットの機能説明
ビット名
機能
bit15,
bit14
FTST1,
FTST0:
FIFO テスト
ビット
FIFO のテストビットです。
本ビットには必ず "0" を設定してください。
( 注意事項 ) 本ビットに "1" を設定した場合 , FIFO のテストを行います。
bit13
未使用ビット
読み出した場合 : 値は不定です。
書き込んだ場合 : 影響しません。
bit12
FLSTE :
再送データ
ロスト検出
許可ビット
データロスト検出を許可するビットです。
"0" に設定した場合 : データロスト検出禁止
"1" に設定した場合 : データロスト検出許可
( 注意事項 ) 本ビットに "1" を設定する場合 , FSET ビットに "1" を設定し
てから本ビットに "1" を設定してください。
bit11
受信 FIFO に有効なデータが存在した状態で 8 ビット時間以上の受信アイ
FRIIE:
ドル状態を検出するかどうかを設定するビットです。受信割込み許可
(SMR:RIE=1) されていると , 受信アイドル状態が検出されると受信割込み
受信 FIFO
アイドル検出 が発生します。
"0" に設定した場合 : 受信アイドル状態検出禁止
許可ビット
"1" に設定した場合 : 受信アイドル状態検出許可
bit10
FDRQ :
送信 FIFO
データ
要求ビット
送信 FIFO のデータ要求ビットです。
本ビットが "1" のとき , 送信データを要求していることを示します。この
とき , 送信割込み許可 (FTIE=1) されていると , 送信 FIFO 割込み要求を出
力されます。
FDRQ セット条件
• FBYTE( 送信用 )=0 ( 送信 FIFO がエンプティ )
• 送信 FIFO のリセット
FDRQ リセット条件
・本ビットへの "0" 書込み
・送信 FIFO がフルになった場合
( 注意事項 )
• FBYTE( 送信用 )=0 のときに本ビットへの "0" 書込みは禁止です。
• 本ビットが "0" のときに FSEL ビットの変更は禁止です。
• 本ビットに "1" を設定した場合 , 動作に影響を与えません。
• リードモディファイライト (RMW) 系命令時 "1" が読み出されます。
bit9
FTIE :
送信 FIFO
割込み
許可ビット
送信 FIFO の割込み許可ビットです。本ビットに "1" を設定すると FDRQ
ビットが "1" のときに割込みが発生します。
FSEL :
FIFO 選択
ビット
送受信 FIFO を選択するビットです。
"0" に設定した場合 : 送信 FIFO : FIFO1, 受信 FIFO : FIFO2 に割り当てられ
ます。
"1" に設定した場合 : 送信 FIFO : FIFO2, 受信 FIFO : FIFO1 に割り当てられ
ます。
( 注意事項 )
• 本ビットは , FIFO リセット (FCL2, FCL1=1) ではクリアされません。
• 本ビットを変更する場合は , FIFO 動作禁止 (FE2, FE1=0) および送受信
禁止 (TXE=RXE=0) にしてから行ってください。
bit8
408
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
MB91313A シリーズ
15.18.10 FIFO 制御レジスタ 0 (FCR0)
FIFO 制御レジスタ 0 (FCR0) は , FIFO 動作の許可 / 禁止 , FIFO リセット , リードポ
インタの保存 , 再送信設定を行います。
■ FIFO 制御レジスタ 0 (FCR0) のビット構成
図 15.18-11 に FIFO 制御レジスタ 0 (FCR0) のビット構成を , 表 15.18-10 に各ビットの
機能を示します。
図 15.18-11 FIFO 制御レジスタ 0 (FCR0) のビット構成
FCR0 bit
ch.0 00006BH
ch.1 00007BH
ch.2 00008BH
7
-
(-)
6
5
4
3
2
1
FLST FLD FSET FCL2 FCL1 FE2
R
R/W
R/W
R/W
R/W
R/W
0
R/W
FE1
0
1
FIFO1動作許可ビット
FIFO1動作禁止
FIFO0動作許可
FE2
0
1
FIFO2動作許可ビット
FIFO2動作禁止
FIFO2動作許可
FCL1
0
1
FCL2
0
1
R/W :リード/ライト可能
R
:リードオンリ
-
:未使用
初期値
FE1 00000000B
FIFO1リセットビット
書込み
読出し
影響なし
常に"0"を読出し
FIFO1リセット
FIFO2リセットビット
書込み
読出し
影響なし
常に"0"を読出し
FIFO2リセット
FSET
0
1
FIFOポインタ保存ビット
保存しない
保存実行
FLD
0
1
FIFOポインタリロードビット
リロードしない
リロード実行
FLST
0
1
FIFO再送データロストフラグビット
データロストなし
データロストあり
未使用ビット
読出し時、常に"0"を読出し。書込み時、常に"0"を書込み
:初期値
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
409
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
MB91313A シリーズ
表 15.18-10 FIFO 制御レジスタ 0 (FCR0) の各ビットの機能説明 (1 / 3)
ビット名
機能
読み出した場合 : 常に "0" が読み出されます。
書き込んだ場合 : 常に "0" を書いてください。
bit7
未使用ビット
bit6
送信 FIFO の再送データが失われたことを示すビットです。
FLST セット条件
• FIFO 制御レジスタ 1 (FCR1) の FLSTE ビットが "1" で , 送信 FIFO のラ
イトポインタと FSET ビットによって保存 したリードポインタが一致し
ているときに FIFO へ書き込んだ場合
FLST :
FLST リセット条件
FIFO 再送
• FIFO リセット (FCL への "1" 書込み )
データロスト
• FSET ビットへ "1" 書込み
フラグビット
本ビットに "1" が設定されると FSET ビットで保存したリードポインタが
示すデータを上書きしてしまい , エラーが発生しても FLD ビットによって
再送の設定ができません。本ビットに "1" が設定された状態で再送を行う
場合には FIFO リセットを実施し , 再度 FIFO にデータを書き込んでくださ
い。
bit5
FLD :
FIFO
ポインタ
リロード
ビット
送信 FIFO に FSET ビットによって保存したデータをリードポインタにリ
ロードするビットです。本ビットは通信エラーなどが発生し再送するとき
に使用します。
再送設定が完了した場合 , 本ビットは "0" になります。
( 注意事項 )
• 本ビットが "1" にセットされている間 , リードポインタへのリロード
中なので FIFO リセット以外の書込みは行わないでください。
• FIFO 許可状態または送信中 , 本ビットに "1" を設定することは禁止で
す。
• TIE ビットは "0" にしてから本ビットに "1" を書き込み , 送信 FIFO 許
可後 , TIE ビットを "1" にしてください。
FSET :
FIFO
ポインタ
保存ビット
送信 FIFO のリードポインタを保存するビットです。
送信前にリードポインタを保存すれば , 通信エラーなどが発生した場合 ,
FLST ビットが "0" であれば , 再送可能となります。
"1" に設定した場合 : 現在のリードポインタの値を保存します。
"0" に設定した場合 : 影響しません。
( 注意事項 ) 送信バイト数 (FBYTE) が "0" を示しているときに本ビット
を "1" に設定してください。
FCL2 :
FIFO2
リセット
ビット
FIFO2 をリセットするビットです。
本ビットを "1" に設定すると , FIFO2 の内部状態を初期化します。
FCR0:FLST ビットのみ初期化され , FCR1/FCR0 レジスタのほかのビット
は保持されます。
( 注意事項 )
• FIFO2 を禁止してから , FIFO2 リセットを実行してください。
• 送信 FIFO 割込み許可ビットを "0" にしてから実行してください。
• FBYTE2 レジスタの有効データ数は "0" になります。
bit4
bit3
410
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
表 15.18-10 FIFO 制御レジスタ 0 (FCR0) の各ビットの機能説明 (2 / 3)
ビット名
bit2
bit1
機能
FCL1 :
FIFO1
リセット
ビット
FIFO1 をリセットするビットです。
本ビットを "1" に設定すると , FIFO1 の内部状態を初期化します。
FCR0:FLST ビットのみ初期化され , FCR1/FCR0 レジスタのほかのビット
は保持されます。
( 注意事項 )
• FIFO1 を禁止してから , FIFO1 リセットを実行してください。
• 送信 FIFO 割込み許可ビットを "0" にしてから実行してください。
• FBYTE1 レジスタの有効データ数は "0" になります。
FE2 :
FIFO2 動作
許可ビット
FIFO2 の動作を許可 / 禁止するビットです。
• FIFO2 を使用する場合 , 本ビットに "1" を設定してください。
• FSEL ビットによって受信 FIFO として選択された場合 , 受信エラーが発
生すると本ビットは "0" にクリアされ , 受信エラーがクリアされない限
り , 本ビットに "1" を設定することはできません。
• 送信 FIFO で使用する場合には送信データがエンプティ (TDRE=1), 受信
FIFO で使用する場合には受信データがエンプティ (RDRF=0) のときに本
ビットに "1" または "0" を設定してください。
• FIFO2 を禁止にしても FIFO2 の状態は保持されます。
( 注意事項 )
• BB ビットが "0" または INT ビットが "1" のときに許可 / 禁止の変更を
行ってください。
• 受信 FIFO として選択されていて予約アドレスを検出し , スレーブ送信
として動作する場合 , 予約アドレス検出による割込みで本ビットを "0"
にし , ACKE=0 にしてください。
• 受信 FIFO として使用していて本ビットを "1" から "0" に変更したとき
に SSR の RDRF ビットが "1" になっていると "0" になるまで受信 FIFO
は禁止になりません。
• 送信 FIFO として使用していて FIFO2 にデータが存在し , 本ビットを
"0" から "1" に変更する場合 , TIE ビットを "0" にしてから本ビットに
"1" を書き込み , TIE ビットを "1" にしてください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
411
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
MB91313A シリーズ
表 15.18-10 FIFO 制御レジスタ 0 (FCR0) の各ビットの機能説明 (3 / 3)
ビット名
bit0
412
FE1 :
FIFO1 動作
許可ビット
機能
FIFO1 の動作を許可 / 禁止するビットです。
• FIFO1 を使用する場合 , 本ビットに "1" を設定してください。
• FSEL ビットによって受信 FIFO として選択された場合 , 受信エラーが発
生すると本ビットは "0" にクリアされ , 受信エラーがクリアされない限
り , 本ビットに "1" を設定することはできません。
• 送信 FIFO で使用する場合には送信データがエンプティ (TDRE=1), 受信
FIFO で使用する場合には受信データがエンプティ (RDRF=0) のときに本
ビットに "1" または "0" を設定してください。
• FIFO1 を禁止にしても FIFO1 の状態は保持されます。
( 注意事項 )
• BB ビットが "0" または INT ビットが "1" のときに許可 / 禁止の変更を
行ってください。
• 受信 FIFO として選択されていて予約アドレスを検出し , スレーブ送信
として動作する場合 , 予約アドレス検出による割込みで本ビットを "0"
にし , ACKE=0 にしてください。
• 受信 FIFO として使用していて本ビットを "1" から "0" に変更したとき
に SSR の RDRF ビットが "1" になっていると "0" になるまで受信 FIFO
は禁止になりません。
• 送信 FIFO として使用していて FIFO1 にデータが存在し , 本ビットを
"0" から "1" に変更する場合 , TIE ビットを "0" にしてから本ビットに
"1" を書き込み , TIE ビットを "1" にしてください。
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
MB91313A シリーズ
15.18.11 FIFO バイトレジスタ (FBYTE)
FIFO バイトレジスタ (FBYTE) は , FIFO の有効なデータ数を示します。また , 受信
FIFO で所定のデータ数を受信したときに受信割込みを発生させるかを設定できま
す。
■ FIFO バイトレジスタ (FBYTE) のビット構成
図 15.18-12 に FIFO バイトレジスタ (FBYTE) のビット構成を示します。
図 15.18-12 FIFO バイトレジスタ (FBYTE) のビット構成
FBYTE bit 15
14
13
12
11
10
9
ch.0 00006CH
ch.1 00007CH FD15 FD14 FD13 FD12 FD11 FD10 FD9
ch.2 00008CH R/W R/W R/W R/W R/W R/W R/W
8
7
6
5
4
3
2
1
0
FD8
FD7
FD6
B5
FD4
FD3
FD2
FD1
FD0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W :リード/ライト可能
読出し(有効なデータ数)
送信時:FIFOに書き込まれ、送信されていないデータ数
受信時:FIFOに受信されたデータ数
書込み(転送数)
送信時:"00H"設定
受信時:受信割込み発生のデータ数設定
FBYTE1
書込み
読出し
FIFO1データ数表示ビット
転送数を設定
有効なデータ数を読出し
FBYTE2
書込み
読出し
FIFO2データ数表示ビット
転送数を設定
有効なデータ数を読出し
初期値
00000000B
00000000B
FIFO バイトレジスタ (FBYTE) は , FIFO の有効なデータ数を示し , FCR1:FSEL ビット
の設定によって以下のようになります。
表 15.18-11 データ数表示
FSEL
FIFO 選択
データ数表示
0
FIFO2 : 受信 FIFO, FIFO1 : 送信 FIFO
FIFO2 : FBYTE2, FIFO1 : FBYTE1
1
FIFO2 : 送信 FIFO, FIFO1 : 受信 FIFO
FIFO2 : FBYTE2, FIFO1 : FBYTE1
• FIFO バイトレジスタ (FBYTE) の転送数の初期値は "08H" です。
• 受信 FIFO の FBYTE に受信割込みフラグを発生させるデータ数を設定します。その
設定された転送数と FIFO バイトレジスタ (FBYTE) のデータ表示が一致すると割込
みフラグ (RDRF) が "1" にセットされます。
• 受信 FIFO アイドル検出許可ビット (FRIIE) が "1" で受信 FIFO に存在するデータ数
が転送数に達しない場合 , 受信アイドル状態がボーレートクロックで 8 クロック以
上続くと割込みフラグ (RDRF) が "1" にセットされます。8 クロックカウント中 ,
RDR を読み出すとそのカウンタは "0" にリセットされ , 再度 8 クロックをカウント
します。受信 FIFO が禁止されるとそのカウンタは "0" にリセットされます。受信
FIFO にデータが残っている状態で受信 FIFO を許可すると再度 カウントを開始しま
す。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
413
第 15 章 マルチファンクション シリアルインタフェース
15.18 I2C インタフェースのレジスタ
MB91313A シリーズ
• マスタ動作で データを受信する場合 ( マスタ受信 ), TIE ビットを "0" にし送信 FIFO
の FIFO バイトレジスタ (FBYTE) に受信データ数を設定し , FDRQ ビットに "0" を書
きます。設定データ分の SCL のクロックが出力され , その後 , INT ビットが "1" に
なります。TIE ビットに "1" を設定したい場合には FDRQ が "1" になった後に "1" に
設定してください。
<注意事項>
• マスタ動作で , データを受信するとき以外 , 送信 FIFO の FBYTE は "00H" を設定して
ください。
• マスタ動作でデータを受信するときの送信データ数の設定は送信FIFOがエンプティで
TIE ビットが "0" のときに行ってください。
• マスタ動作でデータを受信中に I2C インタフェースを禁止 (EN=0) にする場合には , 送
受信 FIFO を禁止にしてから禁止してください。
• 受信 FIFO の FBYTE には "1" 以上のデータを設定してください。
• 送受信を禁止してから変更してください。
• 本レジスタはリードモディファイライト (RMW) 系命令を使用することはできません。
• FIFO 容量を超えた設定は禁止です。
414
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
15.19
第 15 章 マルチファンクション シリアルインタフェース
15.19 I2C インタフェースの割込み
I2C インタフェースの割込み
I2C インタフェースの割込みは , 次に示す要因で割込み要求を発生させることができ
ます。
• 第 1 バイト送受信後 / データ送受信後
• ストップ条件
• 反復スタート条件
• FIFO 送信データ要求
• FIFO 受信データ完了
■ I2C インタフェースの割込み
I2C インタフェースの割込み制御ビットと割込み要因は表 15.19-1 のようになっていま
す。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
415
第 15 章 マルチファンクション シリアルインタフェース
15.19 I2C インタフェースの割込み
MB91313A シリーズ
表 15.19-1 I2C インタフェースの割込み制御ビットと割込み要因
割込み
の種類
割込み要求
フラグ
フラグ
レジスタ
ビット
割込み要因
割込み要因
許可ビット
割込み要求
フラグのクリア
第 1 バイト送受信後 *1
データ送受信後 *1
割込みフラグビット (IBCR:INT)
への "0" 書込み
バスエラー検出
INT
IBCR
アービトレーションロ
スト検出
IBCR:INTE
FBYTE 設定値分受信
受信 FIFO がエンプティになるまで
の受信データ (RDR) の読出し後 ,
割込みフラグビット (IBCR:INT)
へ "0" 書込み
FRIIE ビットが "1" で
受信 FIFO に有効な
データが存在した状態
で 8 ビット時間以上の
受信アイドル状態検出
受信
予約アドレス検出
RDRF
SSR
受信データ (RDR) の読出し
データ受信後
FBYTE 設定値分受信
SMR : RIE
受信 FIFO がエンプティになるまで
の受信データ (RDR) の読出し
ORE
SSR
オーバランエラー
受信エラーフラグビット
(SSR:REC) への "1" 書込み
SPC
IBSR
ストップ条件
ストップ条件検出ビットへの "0"
書込み
IBCR:CNDE
RSC
IBSR
反復スタート検出フラグビット
(IBSR : RSC) への "0" 書込み
反復スタート条件
送信レジスタが
エンプティ
TDRE
SSR
FDRQ
FCR1
送信
送信バッファエンプ SMR : TIE
ティフラグセットビッ
ト (SSR:TSET) への "1"
書込み
送信 FIFO が
エンプティ
送信データ (TDR) への書込み , ま
たは送信 FIFO 動作許可ビットが
"0" で送信 FIFO に有効なデータが
存在しているときに送信 FIFO 動
作許可ビットへの "1" 書込み ( 送
信再送 ) *2
FIFO 送信データ要求ビットへの
FCR1:FTIE "0" 書込み , または送信 FIFO がフ
ル
*1: 正常なデータを送受信でき TDRE が "0" の場合 , 割込みは発生しません。これは DMA 転送をサ
ポートするためです。
データ送受信時に INT フラグを発生させたい場合には INT フラグがセットされるタイミングより
前に TDRE ビットが "1" である必要があります。
*2: TDRE ビットが "0" になってから TIE ビットを "1" にしてください。
416
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
15.20
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
I2C インタフェース通信の動作
I2C インタフェースは , 2 本の双方向バスライン , シリアルデータライン (SDA) およ
びシリアルクロックライン (SCL) を使用して通信を行います。
■ I2C バススタート条件
I2C バスの起動条件を以下に示します。
図 15.20-1 スタート条件
SDA
SCL
スタート条件
■ I2C バスストップ条件
I2C バスのストップ条件を以下に示します。
図 15.20-2 ストップ条件
SDA
SCL
ストップ条件
■ I2C バス反復スタート条件
I2C バスの反復スタート条件を以下に示します。
図 15.20-3 反復スタート条件
SDA
SCL
ACK
反復スタート条件
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
ACK:アクノリッジ
417
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
MB91313A シリーズ
マスタモード
15.20.1
マスタモードは , I2C バスにスタート条件を発生させ , I2C バスにクロックを出力し
ます。I2C バスがアイドル状態 (SCL="H", SDA="H") のとき , IBCR レジスタの
MSS ビットに "1" を設定するとマスタモードになり , IBCR レジスタの ACT ビット
が "1" になります。
■ スタート条件生成
以下の条件でスタート条件が出力されます。
• SDA="H", SCL="H", EN=1, BB=0 のとき , MSS ビットへ "1" 書込み , I2C バスへスター
ト条件を出力すると ACT ビットに "1" をセットします。その後 , スタート条件を受
信すると BB ビットが "1" にセットされ , I2C バスは通信中であることを示します ( 図
15.20-4 を参照 )。
図 15.20-4 スタート条件出力および各ビットの関係
スタート条件
SDA
A6
A5
SCL
1
2
BBビット
MSSビット
"1"書込み
ACTビット
TRXビット
FBTビット
TDREビット
<注意事項>
動作モード 4 (I2C モード ) ではマシンクロックは 8MHz 以上で使用し , 400kbps を超える
ボーレートジェネレータの設定は禁止です。
418
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
MB91313A シリーズ
■ スレーブアドレス出力
スタート条件を出力すると TDR レジスタに設定されたデータを bit7 からアドレスとし
て出力します。FIFO 許可の場合 , 最初に書いた TDR レジスタのデータを出力します。
bit0 はデータ方向ビット (R/W) として使用され , データ方向ビット (R/W) が "0" のとき ,
データはライト方向 ( マスタ→スレーブ ) を示します。TDR レジスタへのアドレス設
定は , MSS=1 または SCC=1 を書く前に行ってください。
アドレスおよびデータ方向の出力タイミングについて , 図 15.20-5 , 図 15.20-6 に示しま
す。
図 15.20-5 アドレスおよびデータ方向 (FIFO 禁止の場合 )
1
2
3
4
5
6
7
8
SCL
SDA
A6(D7) A5(D6) A4(D5) A3(D4) A2(D3) A1(D2) A0(D1) R/W(D0) ACK
BBビット
MSSビット*
TDREビット
INTビット
<予約アドレス検出>
RSAビット
RDRFビット
INTビット
INTが"1"の間SCLは"L"になる
A6~A0:アドレス
D7~D0:TDRレジスタビット
R/W
:データ方向("L"でライト方向)
ACK
:アクノリッジ("L"でアクノリッジ,スレーブから出力)
*:MSSビットに"1"書込み前にTDRレジスタにアドレスをセットしておく
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
419
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
MB91313A シリーズ
図 15.20-6 アドレスおよびデータ方向 ( 送受信 FIFO 許可 )
1
2
3
4
5
6
7
8
SCL
SDA
A6(D7) A5(D6) A4(D5) A3(D4) A2(D3) A1(D2) A0(D1) R/W(D0)
ACK
BBビット
MSSビット*1
INTビット*2
<予約アドレス検出>
RSAビット
RDRFビット
INTビット
A6~A0:アドレス
INTが"1"の間SCLは"L"になる
D7~D0:TDRレジスタビット
R/W
:データ方向("L"でライト方向)
ACK
:アクノリッジ("L"でアクノリッジ,スレーブから出力)
*1:MSSビットに"1"書込み前にTDRレジスタにアドレスをセットしておく
*2:アクノリッジが"L"でR/W="L"のとき,送信FIFOにデータが存在する,またはアクノリッジが
"L"でR/W="H"のとき,受信FIFOにデータが存在していない場合,INTビットは"1"にならない
420
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
■ ファーストバイト送信によるアクノリッジ受信
データ方向ビット (R/W) を出力すると I2C インタフェースは , スレーブからのアクノ
リッジを受信します。FIFO 許可と FIFO 禁止では , 以下の動作になります。
表 15.20-1 アクノリッジ受信後の動作 (RSA ビット =0)
送信 受信 送信 FIFO
FIFO FIFO
状態
受信 FIFO データ方向ビット
(R/W)
状態
0
禁止
禁止
−
−
1
データなし
0
禁止
許可
−
1
0
許可
禁止
−
−
1
データなし
0
許可
許可
−
CM71-10143-5
アクノリッジが
NACK
TDRE ビットが "1" であ
れば INT ビットを "1"
にしてウェイト。TDRE INT ビットを "1"
ビットが "0" であれば , にしてウェイト
INT ビットは "0" のまま
でウェイトなし
TDRE ビットが "1" であ
れば INT ビットを "1"
にしてウェイト。TDRE
ビットが "0" であれば ,
INT ビットは "0" のまま
でウェイトなし
TDRE ビットが "1" であ
れば INT ビットを "1"
にしてウェイト。TDRE
ビットが "0" であれば ,
INT ビットは "0" のまま
でウェイトなし
TDRE ビットが "1" であ
れば INT ビットを "1"
にしてウェイト。TDRE INT ビットを "1"
ビットが "0" であれば , にしてウェイト
INT ビットは "0" のまま
でウェイトなし
TDRE ビットが "1" であ
れば INT ビットを "1"
にしてウェイト。TDRE
ビットが "0" であれば ,
INT ビットは "0" のまま
でウェイトなし
INT ビットを "1" にして INT ビットを "1"
ウェイト
にしてウェイト
データあり
−
アクノリッジが ACK
INT ビットを "1" にして INT ビットを "1"
ウェイト
にしてウェイト
データあり
−
アクノリッジ受信直後の動作
1
TDRE ビットが "1" であ
れば INT ビットを "1"
にしてウェイト。TDRE
ビットが "0" であれば ,
INT ビットは "0" のまま
でウェイトなし
FUJITSU SEMICONDUCTOR LIMITED
421
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
MB91313A シリーズ
● FIFO 禁止 ( 送信 FIFO, 受信 FIFO 両方とも禁止 )
• RSA ビットが "0" の場合 , アクノリッジ受信後 , TDRE ビットが "1" であれば割込み
フラグ (INT) を "1" にセットし , SCL を "L" に保持してウェイトします。ウェイトは
割込みフラグに "0" を書くと割込みフラグが "0" になってウェイトを解除します。
TDRE ビットが "0" であれば ACK を受信すれば割込みフラグを "1" にセットせずに
SCL にクロックを発生します。
• RSAビットが"1"の場合, 予約アドレス受信後(アクノリッジ前), 割込みフラグ(INT)
を "1" にセットし , SCL を "L" に保持してウェイトします。RDR レジスタ読出し後 ,
ACKE ビット , 送信データを設定し , 割込みフラグに "0" を書くと割込みフラグが
"0" になってウェイトを解除します。
• 受信したアクノリッジは RACK ビットにセットされます。ウェイト中に RACK ビッ
トを確認し , NACK であれば , MSS ビットに "0" または SCC ビットに "1" を書いて
ストップ条件または反復スタート条件を発生させます。このとき , INT ビットは自
動的に "0" にクリアされます。
● FIFO 許可
• MSS ビットに "1" を設定する前に FIFO に以下の設定をする必要があります。
- スレーブへ送信する場合 ( データ方向ビット = 0), スレーブアドレスなどを含む
データを送信 FIFO に設定
- スレーブからデータを受信する場合 ( データ方向ビット =1), FIFO バイト数レジ
スタに受信数を設定し , スレーブアドレスおよびデータ方向ビットと受信したい
データ数分ダミーで送信データレジスタに書込みを行う。
• RSA ビットが "0" の場合 , アクノリッジ受信後 , ACK であれば割込みフラグ (INT)
は "1" にセットせず , データ方向ビットに従ってデータを送受信します ( ウェイトな
し ) 。NACK であれば , 割込みフラグ (INT) を "1" にセットし , SCL を "L" に保持し
てウェイトします。
• 受信したアクノリッジは RACK ビットに格納されます。ウェイト中に RACK ビッ
トを確認し , NACK であれば , MSS ビットに "0" または SCC ビットに "1" を書いて
ストップ条件または反復スタート条件を発生させます。このとき , INT ビットは自
動的に "0" にクリアされます。
422
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
MB91313A シリーズ
図 15.20-7 アクノリッジ (FIFO 禁止 , RSA=0, ACK 応答の場合 )
INTビットにより"L"
Data
SCL
SDA
R/W
ACK
"0"書込み
INTビット
RACKビット
FBTビット
TDRレジスタへ書込み
TDREビット
アドレスに対するウェイトは
• RSA ビットが "0" の場合 , アクノリッジ受信後
• RSA ビットが "1" の場合 , アクノリッジ受信前
になります。WSEL の設定には依存しません。
図 15.20-8 アクノリッジ (FIFO 禁止 , RSA=0, NACK 応答の場合 )
INTビットにより"L"
SCL
SDA
R/W
NACK
"0"書込み
ストップ条件
INTビット
MSSビット
RACKビット
FBTビット
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
423
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
MB91313A シリーズ
図 15.20-9 アクノリッジ (FIFO 禁止 , RSA=1, ACK 応答の場合 )
INTビットにより"L"
Data
SCL
SDA
R/W
ACK
"0"書込み
INTビット
RACKビット
FBTビット
RSAビット
RDRレジスタ読出し
RDRFビット
図 15.20-10 アクノリッジ (FIFO 禁止 , RSA=1, NACK 応答の場合 )
INTビットにより"L"
SCL
SDA
R/W
NACK
"0"書込み
ストップ条件
INTビット
MSSビット
RACKビット
FBTビット
RSAビット
RDRレジスタの読出し
RDRFビット
424
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
図 15.20-11 アクノリッジ (FIFO 許可 , 送信 FIFO データあり ,
受信 FIFO データなし , RSA=0, ACK 応答の場合 )
Data
SCL
SDA
R/W
ACK
INTビット
RACKビット
FBTビット
TDREビット
■ マスタによるデータ送信
データ方向ビット (R/W) が "0" の場合 , データはマスタから送信します。1 バイト送信
ごとにスレーブから ACK または NACK の応答があります。
WSEL ビットの設定によってウェイトの発生する場所が以下のようになります。
表 15.20-2 マスタデータ送信時の WSEL ビット
WSEL
ビット
動作
0
第 2 バイト以降 , TDRE ビットが "1" またはアービトレーションロスト検出でアクノリッ
ジ後 , 割込みフラグ (INT) を "0", SCL を "L" にしてウェイト状態にします。FIFO 許可の場
合アクノリッジ後 , アービトレーションロスト検出または送信データレジスタに有効な
データがなくなった (TDRE=1) ときにアクノリッジ後 , 割込みフラグ (INT) を "1" にして
ウェイト状態にします。
1
第 2 バイト以降 , TDRE ビットが "1" またはアービトレーションロスト検出でマスタが 1
バイトのデータを送信後 , 割込みフラグ (INT) を "1", SCL を "L" にしてウェイト状態にし
ます。FIFO 許可の場合 , アービトレーションロスト検出または送信データレジスタに有効
なデータがなくなった (TDRE=1) ときにデータ送信後 , 割込みフラグ (INT) を "1" にして
ウェイト状態にします。
ただし , 以下の場合 , WSEL の設定に依存せずにアクノリッジ後に割込みフラグ (INT)
をセットします。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
425
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
MB91313A シリーズ
ストップ条件設定 (MSS=0, ACT=1) 時以外に NACK を受信した場合
スレーブへデータを送信する場合の手順の一例を以下に示します。
● 予約アドレス以外への送信の場合
• 送信 FIFO が禁止されている場合
① スレーブアドレス ( データ方向ビットも含む ) を TDR レジスタにセットし , MSS
ビットに "1" を書きます。
② スレーブアドレス送信後 ACK を受信し , 割込みフラグ (INT) が "1" になります。
③ TDR レジスタに送信するデータを書きます。
④ WSEL ビット更新とともに割込みフラグ (INT) に "0" を書き込み , I2C バスのウェ
イトを解除します。
⑤ 1 バイト送信後 WSEL=0 の場合アクノリッジ受信後 , WSEL=1 の場合 1 バイト送
信直後割込みフラグを "1" にして I2C バスをウェイトします。所定のデータ数を
送信するまで②∼④を繰り返します。ただし , WSEL=1 のときウェイト解除後 ,
NACK を受信した場合にはアクノリッジ受信後にもう 1 度割込みが発生し , バス
をウェイトします。
⑥ MSS ビットに "0" または SCC ビットに "1" を設定し , ストップ条件または反復
スタート条件を発生させます。
• 送信 FIFO が許可されている場合
① スレーブアドレス ( データ方向ビットも含む ), 送信データを TDR レジスタに書
きます。
② WSEL ビット設定とともに MSS ビットに "1" を書きます。
③ 送信中に NACK 受信した場合 , その直後に割込みフラグ (INT) を "1" にし I2C バ
スをウェイトします。すべて ACK 応答を受信した場合 , 最終バイト送信後 WSEL
の設定に従って割込みフラグを "1" にして I2C バスをウェイトします。
④ MSS ビットに "0" を書いてストップ条件を生成させます。
● 予約アドレスへの送信の場合
• 送信 FIFO が禁止されている場合
① スレーブアドレスとして予約アドレスを TDR レジスタにセットし , MSS ビット
に "1" を書きます。
② スレーブアドレス送信後 , 割込みフラグ (INT) が "1" になります。
③ RDR レジスタを読み出し , 予約アドレスを確認します。*
④ TDR レジスタに送信するデータを書きます。
⑤ WSEL ビット更新とともに割込みフラグ (INT) に "0" を書き込み , I2C バスのウェ
イトを解除します。
⑥ 1 バイト送信後 WSEL=0 の場合アクノリッジ受信後 , WSEL=1 の場合 1 バイト送
信直後割込みフラグを "1" にして I2C バスをウェイトします。所定のデータ数を
送信するまで④∼⑥を繰り返します。ただし , WSEL=1 のときウェイト解除後 ,
NACK を受信した場合にはアクノリッジ受信後にもう 1 度割込みが発生し , バス
をウェイトします。
⑦ MSS ビットに "0" または SCC ビットに "1" を設定し , ストップ条件または反復
スタート条件を発生させます。
426
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
• 送信 FIFO が許可されている場合
① スレーブアドレスとして予約アドレスを TDR レジスタにセットし , MSS ビット
に "1" を書きます。
② スレーブアドレス送信後 , 割込みフラグ (INT) が "1" になります。
③ RDR レジスタを読み出し , 予約アドレスを確認します。*
④ TDR レジスタに全送信データ ( 送信 FIFO がフルとなる場合にはその状態になる
まで ) を書きます。
⑤ 送信中に NACK 受信した場合 , その直後に割込みフラグ (INT) を "1" にし I2C バ
スをウェイトします。すべて ACK 応答を受信した場合 , 最終バイト送信後 WSEL
の設定に従って割込みフラグを "1" にして I2C バスをウェイトします。
⑥ MSS ビットに "0" または SCC ビットに "1" を設定し , ストップ条件または反復
スタート条件を発生させます。
* : マルチマスタで予約アドレスがゼネラルコールの場合 , アービトレーションロス
トが発生してスレーブとして動作する可能性がある場合 , ACKE ビットを "1",
WSEL ビットを "1" にして次のデータでマスタとして動作するのか , スレーブとし
て動作するのか確認する必要があります。
<注意事項>
• 送受信中に IBCR レジスタを変更する場合 , 割込みフラグ (INT) が "1" のときに変更し
てください。
• WSEL ビットを変更した場合 , 次のデータの割込みフラグ (INT) の発生条件に使用され
ます。
• データ送信中で TDRE が "1" のときに TDR レジスタへ送信データを書き込み , ACK 応
答を検出すると割込みフラグ (INT) は "1" にならずにその書き込まれたデータが送信さ
れます。
• データ受信中に TDRE が "1" のときに TDR レジスタへ送信データを書き込み ACK 応
答した場合 , 割込みフラグ (INT) は "1" にならずに RDRF のみ "1" になります ( 受信
FIFO 許可の場合 , FIFO バイトレジスタ (FBYTE) 設定分受信した場合 )。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
427
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
MB91313A シリーズ
図 15.20-12 FIFO 禁止によるマスタの割込み 1 (WSEL=0, RSA=0)
S
スレーブアドレス
W ACK
Data
ACK
△
①
Data
ACK
△
②
Data
ACK P or Sr
△
②
△▲
③
S:スタート条件
W:データ方向ビット(ライト方向)
P:ストップ条件
Sr:反復スタート条件
△:INTE=1による割込み
▲:CNDE=1による割込み
① スレーブアドレス送信+方向ビット送信+アクノリッジ受信により割込み発生
- TDRレジスタに送信データ書込み後,INT=0書込み
② 1バイト送信+アクノリッジ受信により,割込み発生
- TDRレジスタに送信データ書込み後,INT=0書込み
③ 1バイト送信+アクノリッジ受信により,割込み発生
- MSS=0またはMSS=1, SCC=1を設定
(注意事項) 割込みフラグ(INT)発生時,TDREビットは "1"
図 15.20-13 FIFO 禁止によるマスタ送信の割込み 2 (WSEL=1, RSA=0, ACK 応答 )
S
スレーブアドレス
W ACK
△
①
Data
ACK
△
②
Data
ACK
△
②
Data
ACK P or Sr
△
③
▲
S:スタート条件
W:データ方向ビット(ライト方向)
P:ストップ条件
Sr:反復スタート条件
△:INTE=1による割込み
▲:CNDE=1による割込み
① スレーブアドレス送信+方向ビット送信+アクノリッジ受信により割込み発生
- TDRレジスタに送信データを書込み後,INT=0書込み
② 1バイト送信により,割込み発生
- TDRレジスタに送信データを書込み後,INT=0書込み
③ 1バイト送信により,割込み発生
- MSS=0またはMSS=1, SCC=1を設定
(注意事項) 割込みフラグ(INT)発生時,TDREビットは "1"
428
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
MB91313A シリーズ
図 15.20-14 FIFO 禁止によるマスタ送信の割込み 3 (WSEL=1, RSA=0, NACK 応答 )
S
スレーブアドレス
W ACK
Data
△
①
ACK
Data
△
②
ACK
Data
△
②
NACK
△
③
P or Sr
▲
S:スタート条件
W:データ方向ビット(ライト方向)
P:ストップ条件
Sr:反復スタート条件
△:INTE=1による割込み
▲:CNDE=1による割込み
① スレーブアドレス送信+方向ビット送信+アクノリッジ受信により割込み発生
- TDRレジスタに送信データを書込み後,INT=0書込み
② 1バイト送信により,割込み発生
- TDRレジスタに送信データを書込み後,INT=0書込み
③ 1バイト送信により,割込み発生
- MSS=0またはMSS=1, SCC=1を設定
(注意事項) 割込みフラグ(INT)発生時,TDREビットは "1"
図 15.20-15 FIFO 禁止によるマスタ送信の割込み 4 (WSEL=1, RSA=0, 途中 NACK 応答 )
S
スレーブアドレス
W ACK
△
①
Data
ACK
△
②
Data
ACK
△
②
Data
NACK
△
②
P or Sr
△▲
③
S:スタート条件
W:データ方向ビット(ライト方向)
P:ストップ条件
Sr:反復スタート条件
△:INTE=1による割込み
▲:CNDE=1による割込み
① スレーブアドレス送信+方向ビット送信+アクノリッジ受信により割込み発生
- TDRレジスタに送信データを書込み後,INT=0書込み
② 1バイト送信により,割込み発生
- TDRレジスタに送信データを書込み後,INT=0書込み
③ NACK応答により,割込み発生
- MSS=0またはMSS=1, SCC=1を設定
(注意事項) 割込みフラグ(INT)発生時,TDREビットは "1"
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
429
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
MB91313A シリーズ
図 15.20-16 FIFO 禁止によるマスタ送信の割込み 5 (WSEL=1 -> 0, RSA= 0, ACK 応答 )
S
スレーブアドレス
W ACK
Data
△
①
ACK
Data
△
②
ACK
Data
ACK P or Sr
△
②
△▲
③
S:スタート条件
W:データ方向ビット(ライト方向)
P:ストップ条件
Sr:反復スタート条件
△:INTE=1による割込み
▲:CNDE=1による割込み
① スレーブアドレス送信+方向ビット送信+アクノリッジ受信により割込み発生
- 送信バッファに送信データを書込み後,INT=0書込み
② 1バイト送信により,割込み発生
- 送信バッファに送信データを書込み後,WSEL=0, INT=0書込み
③ 1バイト送信により,割込み発生
- MSS=0またはMSS=1, SCC=1を設定
(注意事項) 割込みフラグ(INT)発生時,TDREビットは "1"
図 15.20-17 FIFO 禁止によるマスタの割込み 6 (WSEL=0, RSA=1)
S
スレーブアドレス
W ACK
△
①
Data
ACK
△
②
Data
ACK
Data
ACK P or Sr
△
②
△▲
③
S:スタート条件
W:データ方向ビット(ライト方向)
P:ストップ条件
Sr:反復スタート条件
△:INTE=1による割込み
▲:CNDE=1による割込み
① スレーブアドレス(予約アドレス)送信+方向ビット送信+アクノリッジ受信
により割込み発生
- TDRレジスタに送信データを書込み後,INT=0書込み
② 1バイト送信+アクノリッジ受信により,割込み発生
- TDRレジスタに送信データを書込み後,INT=0書込み
③ 1バイト送信+アクノリッジ受信により,割込み発生
- MSS=0またはMSS=1, SCC=1を設定
(注意事項) 割込みフラグ(INT)発生時,TDREビットは "1"
430
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
図 15.20-18 FIFO 許可によるマスタ送信の割込み 7 (WSEL=0, RSA=0, ACK 応答 )
S
スレーブアドレス
W ACK
Data
ACK
Data
ACK
Data
△
①
ACK P or Sr
△▲
②
S:スタート条件
W:データ方向ビット(ライト方向)
P:ストップ条件
Sr:反復スタート条件
△:INTE=1による割込み
▲:CNDE=1による割込み
① 送信FIFOがエンプティにより割込み発生
- 送信FIFOに送信データを書込み後,INT=0書込み
② 最終バイト送信(送信FIFOがエンプティ)+アクノリッジ受信により,割込み発生
- MSS=0またはMSS=1, SCC=1を設定
図 15.20-19 FIFO 許可によるマスタ送信の割込み 8 (WSEL=1, RSA=0 )
S
スレーブアドレス
W ACK
Data
ACK
Data
ACK
△
①
Data
ACK P or Sr
△ ▲
②
S:スタート条件
W:データ方向ビット(ライト方向)
P:ストップ条件
Sr:反復スタート条件
△:INTE=1による割込み
▲:CNDE=1による割込み
① 送信FIFOがエンプティにより,割込み発生
- 送信FIFOに送信データを書込み後,INT=0書込み
② 最終バイト送信(送信FIFOがエンプティ)により,割込み発生
- MSS=0またはMSS=1, SCC=1を設定
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
431
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
MB91313A シリーズ
図 15.20-20 FIFO 許可によるマスタ送信の割込み 9 (WSEL=1, RSA=0, NACK 応答 )
S
スレーブアドレス
W ACK
Data
ACK
Data
ACK
△
①
Data
NACK
P or Sr
△▲
②
S:スタート条件
W:データ方向ビット(ライト方向)
P:ストップ条件
Sr:反復スタート条件
△:INTE=1による割込み
▲:CNDE=1による割込み
① 送信FIFOがエンプティにより,割込み発生
- 送信FIFOに送信データを書込み後,INT=0書込み
② NACK応答により,割込み発生
- MSS=0またはMSS=1, SCC=1を設定
432
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
■ マスタによるデータ受信
データ方向ビット (R/W) が "1" の場合 , スレーブから送信されたデータを受信します。
FIFO 禁止の場合 , マスタは TDRE ビットが "1" であれば 1 バイト受信ごとにウェイト
を発生 (INT=1, RDRF=1) し , WSEL ビットに従って IBCR レジスタの ACKE ビットの
設定で ACK または NACK 応答します。TDRE ビットが "0" であれば , IBCR レジスタ
の ACKE ビットの設定で ACK 応答であればウェイトは発生せず (INT=0) に次のデータ
を受信し , NACK 応答であればウェイトが発生します (INT=1) 。
FIFO 許可の場合 , 受信バイト数設定と同じバイト数分を受信すると RDRF ビットが
セットされます。割込みフラグは TDRE ビットが "1" のときにセットし , I2C バスを
ウェイトします。WSEL=0 の場合 , TDRE ビットが "1" になると NACK 応答して割込
みフラグを "1" にします。WSEL=1 の場合 , 最終バイト受信後ウェイトが発生しますの
でそのウェイト中にACKEビットを設定し, 割込みフラグを"0"にクリアした後, ACKE
の設定に従って ACK または NACK 応答します。NACK 出力した場合でも受信データ
として受信 FIFO に格納します。
割込みによるウェイトは以下を参照してください。
表 15.20-3 マスタデータ受信時の WSEL ビット
WSEL
ビット
動作
0
第 2 バイト以降 , TDRE ビットが "1" でアクノリッジ後 , 割込みフラグ (INT) を "1", SCL
を "L" にしてウェイト状態にします。
1
第 2 バイト以降 , TDRE ビットが "1" でマスタが 1 バイトのデータを受信後 , 割込みフラ
グ (INT) を "1", SCL を "L" にしてウェイト状態にします。
スレーブからデータを受信する場合の手順の一例を以下に示します。
• 受信 FIFO が禁止されている場合
① スレーブアドレス ( データ方向ビットも含む ) を TDR レジスタにセットし , MSS
ビットに "1" を書きます。
② スレーブアドレス送信後 ACK を受信し , 割込みフラグ (INT) が "1" になります。
③ WSEL ビット更新とともに割込みフラグビット (INT) に "0" を書き込み , I2C バ
スのウェイトを解除します。
④ 1 バイト受信後 WSEL= 0 の場合アクノリッジ送信後 , WSEL=1 の場合 1 バイト
受信直後割込みフラグを "1" にして I2C バスをウェイトします。所定のデータ数
を受信するまで②∼④を繰り返します。
⑤ 最終データ受信後 , NACK を出力し , MSS ビットに "0" または SCC ビットに "1"
を設定し , ストップ条件または反復スタート条件を発生させます。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
433
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
MB91313A シリーズ
• 送受信 FIFO が許可されている場合
① スレーブアドレス ( データ方向ビットも含む ) を TDR レジスタに書きます。
② FBYTE レジスタに受信数を設定します。
③ MSS ビットに "1" を書きます。
④ TDRE ビットが "0" の間 , ACK 応答し , 受信し続けます。その受信中に FBYTE
に設定数分受信すると RDRF を "1" にします。RDRF が "1" になったところで
RDR レジスタを読み出します。
⑤ TDRE ビットが "1" になると WSEL=0 の場合 NACK 出力後 , WSEL=1 の場合 1
バイト受信直後割込みフラグを "1" にして I2C バスをウェイトします。
⑥ WSEL=1 の場合 , ACKE ビットを "0" に設定し , WSEL= 0 の場合 ACKE ビットの
設定は必要なく , MSS ビットに "0" または SCC ビットに "1" を設定し , ストップ
条件または反復スタート条件を発生させます。
<注意事項>
• TDRE が "0" のとき , オーバランエラーが発生しても ACKE ビットの設定に従ってアク
ノリッジを出力し , 次の処理を行います。
• 送受信中に IBCR レジスタを変更する場合 , 割込みフラグ (INT) が "1" のときに変更し
てください。
• マスタ受信時 , TDR レジスタにダミーデータを書き込み , 割込みフラグ (INT) が "1" に
なるタイミングで TDRE ビットが "0" の場合 , 割込みフラグ (INT) は "0" のままで次の
データを受信します。
• 受信 FIFO が許可 , WSEL=0 のときにデータを受信する場合 , 最終ビット受信後 RDRF
ビットが "1" となり , ACK 送信後割込みフラグ (INT) が "1" となります。
図 15.20-21 FIFO 禁止によるマスタ受信の割込み 1 (WSEL=0, RSA=0)
S
スレーブアドレス
R ACK
△
Data
ACK
△
①
Data
ACK
Data
△
②
NACK
P or Sr
△▲
③
△:INTE=1による割込み
▲:CNDE=1による割込み
① スレーブアドレス送信+方向ビット送信+アクノリッジ受信により割込み発生
- INT=0書込みにより割込みが0にクリア
② 1バイト受信+アクノリッジ送信により割込み発生
- 受信データを読み出し後、ACKE=0に設定し、INT=0書込み
③ 1バイト受信+アクノリッジ送信したことにより割込み発生
- MSS=0またはMSS=1,SCC=1を設定
(注意事項) 割込みフラグ(INT)発生時、TDREビットは"1"
434
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
MB91313A シリーズ
図 15.20-22 FIFO 禁止によるマスタ受信の割込み 2 (WSEL=1, RSA= 0)
S
スレーブアドレス
R ACK
Data
△
①
ACK
Data
△
②
ACK
Data
△
②
P or Sr
NACK
△
③
▲
△:INTE=1による割込み
▲:CNDE=1による割込み
① スレーブアドレス送信+方向ビット送信+アクノリッジ受信により割込み発生
- INT=0書込みにより割込みが0にクリア
② 1バイト受信により割込み発生
- 受信データを読み出し後、INT=0書込み
③ 1バイト受信により割込み発生
- 受信データを読み出し後、ACKE=0に設定し、MSS=0
またはMSS=1,SCC=1を設定
(注意事項) 割込みフラグ(INT)発生時、TDREビットは"1"
図 15.20-23 FIFO 許可によるマスタ受信の割込み 3 (WSEL=0, ACKE=0, RSA=0)
S
スレーブアドレス
R ACK
Data
ACK
Data
ACK
Data
P or Sr
NACK
△▲
①
△:INTE=1による割込み
▲:CNDE=1による割込み
① TDRE=1により割込み発生
- 受信FIFOから全データを読み出し後、MSS=0またはMSS=1,SCC=1を設定
図 15.20-24 FIFO 許可によるマスタ受信の割込み 4 (WSEL=1, RSA=0)
S
スレーブアドレス
R ACK
Data
ACK
Data
ACK
Data
NACK
△
①
P or Sr
▲
△:INTE=1による割込み
▲:CNDE=1による割込み
① TDRE=1により割込み発生
- 受信FIFOから全データを読み出し後、ACKE=0, MSS=0
またはMSS=1,SCC=1を設定
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
435
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
MB91313A シリーズ
■ アービトレーションロスト
マスタがほかのマスタからのデータとデータが衝突し , 送信したデータと異なるデー
タを受信した場合 , アービトレーションロストと判断し MSS ビットを "0", AL ビット
を "1" にしてスレーブモードとして動作可能となります。
AL ビットは , 以下の条件で "0" にクリアすることができます。
• MSS ビットへの "1" 書込み
• INT ビットへの "0" 書込み
• AL ビット =1, SPC ビット =1 のときに SPC ビットへの "0" 書込み
• I2C インタフェースの禁止 (EN ビット =0)
アービトレーションロストが発生すると WSEL の設定に従って割込みフラグ (INT) を
"1" にし , I2C バスの SCL を "L" にします。
■ マスタモードのウェイト
BB ビットが "1" のときに MSS ビットに "1" を設定するとスレーブモードとして動作し
ていなければ BB ビットが "1" の間 , マスタモードをウェイトし , BB ビットが "0" に
なってからスタート条件を送信します。マスタモードがウェイト中かどうかは MSS
ビットと ACT ビットで判断できます (MSS=1, ACT=0 であればウェイト状態 ) 。MSS
ビットに "1" を設定後 , スレーブモードとして動作する場合 , AL ビットを "1", MSS ビッ
トを "0", ACT ビットを "1" にします。
436
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
MB91313A シリーズ
15.20.2
スレーブモード
スレーブモードは ( 反復 ) スタート条件を検出し , ISBA レジスタと ISMK レジスタ
との組合せと受信したアドレスが一致すると ACK 応答し , スレーブモードとして動
作します。
■ スレーブアドレス一致検出
( 反復 ) スタート条件を検出すると次のデータの 7 ビットがアドレスとして受信します。
ISMK レジスタで "1" がセットされているビットについて ISBA レジスタと受信アドレ
スの各ビットを比較し , 一致した場合 ACK を出力します。
表 15.20-4 スレーブアドレスに対するアクノリッジ出力直後の動作
送信
送信 受信 FIFO
FIFO FIFO
状態
受信
FIFO
状態
データ
方向ビット
(R/W)
0
禁止
禁止
−
−
1
データ
なし
0
データ
あり
禁止
許可
1
0
許可
禁止
−
−
1
データ
なし
許可
許可
CM71-10143-5
アクノリッジが ACK
アクノリッジが NACK
TDRE ビットが "1" であれば INT
ビットを "1" にしてウェイト。
INT ビットは "0" のま
TDRE ビットが "0" であれば , INT
までウェイトなし
ビットは "0" のままでウェイトな
し
INT ビットは "0" のままでウェイ
トなし
INT ビットを "1" にしてウェイト
−
−
アクノリッジ直後の動作
0
INT ビットは "0" のま
TDRE ビットが "1" であれば INT
までウェイトなし
ビットを "1" にしてウェイト。
TDRE ビットが "0" であれば , INT
ビットは "0" のままでウェイトな
し
TDRE ビットが "1" であれば , INT
ビットを "1" にしてウェイト。
INT ビットは "0" のま
TDRE ビットが "0" であれば , INT
までウェイトなし
ビットは "0" のままでウェイトな
し
INT ビットは "0" のままでウェイ
トなし
データ
あり
INT ビットを "1" にしてウェイト
−
TDRE ビットが "1" であれば INT
ビットを "1" にしてウェイト。TDRE
ビットが "0" であれば , INT ビットは
"0" のままでウェイトなし
−
1
FUJITSU SEMICONDUCTOR LIMITED
INT ビットは "0" のま
までウェイトなし
437
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
MB91313A シリーズ
• 予約アドレス検出
第 1 バイト目で予約アドレス ("0000XXXXB" または "1111XXXXB") と一致した場合 ,
送受信 FIFO の許可に依存せずに 8 ビット目のデータ受信後 , INT ビットを "1" にし
て I2C バスをウェイトします。このとき受信データを読み出し , スレーブとして動
作させたい場合には ACKE を "1" にセットして INT ビットをクリアします。その後 ,
スレーブとして動作します。ACKE を "0" にした場合には , アクノリッジ出力後ス
レーブとして動作を行いません。
■ データ方向ビット
アドレス受信後 , データの送受信を決めるデータ方向ビットを受信します。このビット
が "0" のときマスタからの送信を示し , スレーブとしてはデータを受信します。
■ スレーブによる受信
スレーブアドレスが一致しデータ方向ビットが "0" のとき , スレーブモードによる受信
を示します。スレーブモードによる受信手順の一例は以下のようになります。
• 受信 FIFO が禁止されている場合
① ACK 送信後 , 割込みフラグ (INT) を "1" にして I2C バスをウェイトします。MSS
ビット , ACT ビットと FBT ビットでスレーブアドレス一致による割込みと判断
し , ACKE ビットに "1", 割込みフラグ (INT) に "0" を書いて I2C バスのウェイト
を解除します ( 表 15.20-4 を参照 )。
② 1 バイトのデータを受信後 , WSEL の設定に従って割込みフラグ (INT) を "1" に
して I2C バスをウェイトします。
③ RDR レジスタから受信したデータを読み出し , ACKE ビットを設定後割込みフ
ラグ (INT) に "0" を書いて I2C バスのウェイトを解除します。
④ ストップ条件または反復スタート条件を検出するまで② , ③を繰り返します。
• 受信 FIFO が許可されている場合
① NACK の検出または 受信 FIFO がフルになると割込みフラグ (INT) は "1" になり ,
I2C バスをウェイトします。
ストップ条件 , 反復スタート条件を検出した場合 , SPC
ビット , RSC ビットを "1" にして割込みフラグ (INT) は "1" になりません (I2C バス
のウェイトなし )。受信 FIFO は FIFO バイトレジスタ (FBYTE) の設定値と受信し
たデータ数が一致すると RDRF ビットを "1" にします。そのとき , RIE ビットが
"1" になっていると受信割込みが発生します。
② 割込みフラグ (INT) が "1" になった場合 , RDR レジスタから受信したデータを読
み出し , すべてのデータを読み出し後割込みフラグに "0" を書いて I2C バスの
ウェイトを解除します。ストップ条件または反復スタート条件を検出した場合 ,
受信したデータを RDR レジスタからすべて読み出し , SPC ビットまたは RSC
ビットを "0" にクリアします。
438
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
MB91313A シリーズ
図 15.20-25 FIFO 禁止によるスレーブ受信の割込み 1 (WSEL=0, RSA=0)
S
スレーブアドレス
W ACK
Data
ACK
△
①
Data
ACK
△
②
Data
P or Sr
NACK
△
②
△▲
③
△:INTE=1による割込み
▲:CNDE=1による割込み
① スレーブアドレスが一致したのでACK出力し、割込み発生
- ACKE=1, INT=0書込み
② 1バイト受信+ACK応答により割込み発生
- 受信データを受信バッファから読出し後、INT=0書込み
③ 1バイト受信+NACK応答により割込み発生
- 受信データを受信バッファから読出しINT=0書込み
図 15.20-26 FIFO 禁止によるスレーブ受信の割込み 2 (WSEL=1, RSA=0)
S
スレーブアドレス
W ACK
Data
△
①
ACK
Data
△
②
ACK
Data
△
②
ACK
△
③
P or Sr
▲
△:INTE=1による割込み
▲:CNDE=1による割込み
① スレーブアドレスが一致したのでACK出力し、割込み発生
- ACKE=1, INT=0書込み
② 1バイト受信により割込み発生
- 受信データを受信バッファから読出し後、INT=0書込み
③ 1バイト受信により割込み発生
- 受信データを受信バッファから読出し後、INT=0書込み
図 15.20-27 FIFO 禁止によるスレーブ受信の割込み 3 (WSEL=1, RSA=0)
S
スレーブアドレス
W ACK
△
①
Data
ACK
△
②
Data
ACK
△
②
Data
△
②
NACK
△
②
P or Sr
△▲
③
△:INTE=1による割込み
▲:CNDE=1による割込み
① スレーブアドレスが一致したのでACK出力し、割込み発生
- ACKE=1, INT=0書込み
② 1バイト受信により割込み発生
- 受信データを受信バッファから読出し後、INT=0書込み
③ NACK応答により割込み発生
- INT=0書込み
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
439
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
MB91313A シリーズ
図 15.20-28 受信 FIFO 許可によるスレーブ受信の割込み 4 (RSA=0)
S
スレーブアドレス
W ACK
Data
ACK
Data
ACK
Data
ACK
P or Sr
▲
①
△:INTE=1による割込み
▲:CNDE=1による割込み
① ストップ条件または反復スタート条件検出により割込み発生
- 受信FIFOから全データの読出し
図 15.20-29 受信 FIFO 許可によるスレーブ受信の割込み 5 (RSA=0)
S
スレーブアドレス
W ACK
Data
ACK
Data
ACK
Data
ACK
P or Sr
△▲
①
△:INTE=1による割込み
▲:CNDE=1による割込み
① 受信FIFOがフルになったことにより割込み発生
- 受信FIFOから全データを読み出し、INT=0書込み
図 15.20-30 FIFO 禁止によるスレーブ受信の割込み 6(WSEL=0, RSA=1)
S
スレーブアドレス
W ACK
△
①
Data
ACK
△
②
Data
ACK
Data
△
②
ACK
P or Sr
△▲
③
△:INTE=1による割込み
▲:CNDE=1による割込み
① 予約アドレス("0000XXXX"または"1111XXXX")が一致したので割込み発生
- 受信データを読み出し、ACKE=1, INT=0書込み
② 1バイト受信+アクノリッジ出力により割込み発生
- INT=0書込み
③ 1バイト受信+アクノリッジ出力により割込み発生
- INT=0書込みにより割込み
■ スレーブによる送信
スレーブアドレスが一致しデータ方向ビットが "1" のとき , スレーブによる送信を示し
ます。FIFO 禁止の場合 , WSEL の設定により , 1 バイト送信後またはアクノリッジ応答
後に割込みフラグ (INT) を "1" にし , ウェイトを発生します ( 表 15.20-4 を参照 ) 。
RACK ビットによってマスタから出力されたアクノリッジを確認することができ , マ
スタから NACK 応答時 , マスタが正しく受信できなかったか , データ受信の終了を示
します。WSEL=1 のときに NACK を検出した場合 , 割込みが発生しウェイトします。
440
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
15.20.3
第 15 章 マルチファンクション シリアルインタフェース
15.20 I2C インタフェース通信の動作
バスエラー
I2C バス上でデータの送受信中にストップ条件 , ( 反復 ) スタート条件を検出すると
バスエラーとして取り扱います。
■ バスエラー発生条件
バスエラーは以下の条件で BER ビットを "1" にします。
• 第 1 バイト転送中に ( 反復 ) スタート条件またはストップ条件を検出
• データの 2 ∼ 9 ( アクノリッジ ) ビット目で ( 反復 ) スタート条件またはストップ条
件を検出
■ バスエラー動作
送受信による割込みフラグ (INT) が "1" になったときに BER ビットを確認し , BER ビッ
トが "1" の場合エラー処理を行ってください。BER ビットは INT ビットに "0" を書く
ことによってクリアされます。
バスエラーによって INT ビットは "1" にセットされますが , I2C バスの SCL を "L" にし
てウェイト状態にはしません。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
441
第 15 章 マルチファンクション シリアルインタフェース
15.21 専用ボーレートジェネレータ
15.21
MB91313A シリーズ
専用ボーレートジェネレータ
専用ボーレートジェネレータは , シリアルクロックの周波数の設定を行います。
■ ボーレート選択
● 専用ボーレートジェネレータ ( リロードカウンタ ) で内部クロックを分周して得られるボー
レート
2 つの内部リロードカウンタがあり , それぞれ送受信シリアルクロックに対応していま
す。ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) で 15 ビットのリロード値を
設定することにより , ボーレートを選択できます。
リロードカウンタは , 設定された値で内部クロックを分周します。
■ ボーレートの計算
2 つの 15 ビットリロードカウンタは , ボーレートジェネレータレジスタ 1, 0 (BGR1/
BGR0) で設定します。
ボーレートの計算式を以下に示します。
(1) リロード値 :
V=φ/b−1
V : リロード値 , b : ボーレート , φ : マシンクロック周波数
ただし , I2C バスの SCL の立上り時間によっては設定したボーレートが発生し
ませんのでリロード値を調整してください。
(2) 計算例
マシンクロック 16MHz, ボーレート 400kbps に設定する場合のリロード値は ,
次のようになります。
リロード値 :
V = (16 × 1000000)/400000 − 1 = 39
よって , ボーレートは ,
b = (16 × 1000000)/(38 + 2) = 400 kbps
<注意事項>
• ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) への書込みは , 16 ビットアクセ
スで行ってください。
• ISMK レジスタの EN ビットが "0" のときにボーレートジェネレータレジスタの設定を
行ってください。
• 動作モード 4 (I2C モード ) ではマシンクロックは 8MHz 以上で使用し , 400kbps を超え
るボーレートジェネレータの設定は禁止です。
• リロード値を "0" に設定するとリロードカウンタは停止します。
442
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.21 専用ボーレートジェネレータ
MB91313A シリーズ
■ 各マシンクロック周波数に対するリロード値とボーレート
表 15.21-1 リロード値とボーレート
ボーレート
[bps]
8 MHz
10 MHz
16 MHz
20 MHz
24 MHz
32MHz
400000
19
24
39
49
59
79
200000
39
49
79
99
119
159
100000
79
99
159
199
239
319
( 注意事項 ) 表は Value 値 (BGR1/BGR0 レジスタの設定値 ) を示します。
上記数値は I2C バスの SCL 立上りが "0" の場合です。I2C バスの SCL 立上りが遅い場
合には上記数値より遅いボーレートになります。
■ リロードカウンタの機能
リロード値に対する 15 ビットレジスタから構成されており , 内部クロックより送受信
クロックを生成します。また , 送信リロードカウンタのカウント値をボーレートジェネ
レータレジスタ 1, 0 (BGR1/BGR0) より読み出すことができます。
■ カウントの開始
ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) にリロード値を書き込むと , リ
ロードカウンタはカウントを開始します。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
443
第 15 章 マルチファンクション シリアルインタフェース
15.22 I2C のフローチャート例
15.22
MB91313A シリーズ
I2C のフローチャート例
I2C の通信フローチャート例を示します。
■ I2C マスタ受信 / スレーブ送信 FIFO 通信フロー
図 15.22-1 マスタ受信メイン設定
スタート
マスタ受信初期設定
エラーフラグ=1
通信エラー?
NO
YES
I2C停止(ISMK:EN=0)
エンド
ISMK:7ビットスレーブアドレスマスクレジスタ (ISMK)
444
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.22 I2C のフローチャート例
MB91313A シリーズ
図 15.22-2 マスタ受信初期設定
スタート
初期設定:
I2Cモード設定 (SMR)
ボーレート設定 (BGR)
FIFO設定:
FIFO制御レジスタ1設定 (FCR1)
FIFO制御レジスタ0設定 (FCR0)
INT割込み許可(IBCR:INTE=1)
FIFO制御レジスタ1の
I2C許可設定 (ISMK:EN=1)
FSEL値によって受信
FIFO受信バイト数設定
FIFOが異なります。
(FBYTE1=xx FBYTE2=00 or
FBYTE1=00 FBYTE2=xx)
FIFOバッファ書込み:
スレーブアドレス + 通信方向 (Read)
ダミーデータFIFO格納 (TDR)
バスビジー?
YES
IBSR:BB=1
NO
エラー
動作モード設定:
マスター (IBCR:MSS =1 )
エンド
SMR
BGR
ISBA
ISMK
FCR1
FCR0
IBCR
IBSR
FBYTE1
FBYTE2
TDR
CM71-10143-5
:シリアルモードレジスタ (SMR)
:ボーレートジェネレータレジスタ (BGR)
:7ビットスレーブアドレスレジスタ (ISBA)
:7ビットスレーブアドレスマスクレジスタ (ISMK)
:FIFO 制御レジスタ1 (FCR1)
:FIFO 制御レジスタ0 (FCR0)
:I2Cバス制御レジスタ (IBCR)
:I2Cバスステータスレジスタ (IBSR)
:FIFO1バイトレジスタ (FBYTE1)
:FIFO2バイトレジスタ (FBYTE2)
:送信データレジスタ (TDR)
FUJITSU SEMICONDUCTOR LIMITED
445
第 15 章 マルチファンクション シリアルインタフェース
15.22 I2C のフローチャート例
MB91313A シリーズ
図 15.22-3 マスタ受信割込み処理 ( 続く )
受信割込み処理
バスエラー?
YES
IBCR:BER=1
NO
アービトレーションエラー?
YES
IBSR:AL=1
NO
NO
SSR:RDRF=1
FIFO END? (受信完了)
YES
FIFO受信データ読出し(RDR)
3
IBCR
IBSR
SSR
RDR
1
エラー
2
:I2Cバス制御レジスタ (IBCR)
:I2Cバスステータスレジスタ (IBSR)
:シリアルステータスレジスタ (SSR)
:受信データレジスタ (RDR)
* 実際のエラー処理は,各ステータスエラーフラグの判断および各エラーの処理を,お客様のシステムを
考慮して行ってください。
* FIFO受信を連続して行う場合の最終ACK処理について, WSEL=1に設定した場合, 最終データ受信後に
ウェイトが発生します。このウェイト中にIBSR.RACK=1に設定し, NACKで応答してください。
446
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.22 I2C のフローチャート例
MB91313A シリーズ
図 15.22-3 マスタ受信割込み処理 ( 続き)
1
IBCR:MSS=1 かつ
I2C/マスタ動作確認
IBCR:ACT=1
NO
YES
受信データ数(ダミーデー
タライト数)分すべて
全データ転送終了?
NO
受信されたかをソフト
で判断。
YES
反復スタート?
NO
YES
WSEL=1の場合は,ユーザ
による NACK送信設定が必
FIFOバッファ書込み
要です。NACK送信後 I NTフ
スレーブアドレス+ 通信方向(Read)
ラグが"1"になります。
ダミーデータFIFO格納(TDR)
反復スタート条件設定(IBCR:SCC=1)
2
WSEL=1の場合は, ユーザ
3
による NACK送信設定が必
要です。
割込みクリア(IBCR:INT=0)
Stop Condition (IBCR:MSS=0)
エンド
IBCR : I2Cバス制御レジスタ(IBCR)
TDR : 送信データレジスタ(TDR)
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
447
第 15 章 マルチファンクション シリアルインタフェース
15.22 I2C のフローチャート例
MB91313A シリーズ
図 15.22-4 スレーブ送信メイン設定
スタート
スレーブ送信初期設定
エラーフラグ=1
通信エラー?
NO
YES
2
I C停止(ISMK:EN=0)
エンド
ISMK:7ビットスレーブアドレスマスクレジスタ (ISMK)
448
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.22 I2C のフローチャート例
図 15.22-5 スレーブ送信初期設定
スタート
初期設定:
I2Cモード設定 (SMR)
ボーレート設定 (BGR)
スレーブアドレス設定 (ISBA)
スレーブマスク設定 (ISMK)
反復スタート割込み許可
(IBCR:CNDE=1)
INT割込み許可 (IBCR:INTE=1)
I2C許可設定 (ISMK:EN=1)
スレーブ設定 (IBCR:MSS=0)
FIFO設定:
FIFO制御レジスタ1設定 (FCR1)
FIFO制御レジスタ0設定 (FCR0)
FIFOバッファ書込み:
送信データFIFO格納 (TDR)
エンド
SMR
BGR
ISBA
ISMK
IBCR
FCR1
FCR0
TDR
:シリアルモードレジスタ (SMR)
:ボーレートジェネレータレジスタ (BGR)
:7ビットスレーブアドレスレジスタ (ISBA)
:7ビットスレーブアドレスマスクレジスタ (ISMK)
:I2Cバス制御レジスタ (IBCR)
:FIFO 制御レジスタ1 (FCR1)
:FIFO 制御レジスタ0 (FCR0)
:送信データレジスタ (TDR)
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
449
第 15 章 マルチファンクション シリアルインタフェース
15.22 I2C のフローチャート例
MB91313A シリーズ
図 15.22-6 スレーブ送信割込み処理
送信割込み処理
バスエラー?
YES
IBCR:BER=1
送受信を中断し
た場合もマスタ
NO
からNACKが
YES
出力されます。
反復スタート検出?
(IBSR:RSC=1)
FIFOバッファ書込み:
NO
送信データFIFO格納 (TDR)
割込みフラグのクリア
NO
(IBSR:RSC=0)
最終データ時NACK応答?
(IBSR:RACK=1)
送受信が中断さ
エラー
れたかをFIFOの
YES
YES
FIFOにデータが存在する?
データの有無で
判断します。
(SSR:TDRE=0)
FIFO動作禁止 (FCR0=0x00)
FIFOリセット
(FCR0:FCL=1)
NO
送信データエンプティプラグ
の設定 (SSR:TSET=1)
FIFO動作許可
(FCR0=0x03)
書込みクリア (IBCR:INT=0)
エンド
IBSR
TDR
SSR
FCR0
IBCR
:I2Cバスステータスレジスタ (IBSR)
:送信データレジスタ (TDR)
:シリアルステータスレジスタ (SSR)
:FIFO 制御レジスタ0 (FCR0)
:I2Cバス制御レジスタ (IBCR)
* 実際のエラー処理は, 各ステータスエラーフラグの判断および各エラーの処理を,お客様のシステムを
考慮して行ってください。
450
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.22 I2C のフローチャート例
■ I2C マスタ送信 / スレーブ受信 FIFO 通信フロー
図 15.22-7 マスタ送信メイン設定
スタート
マスタ送信初期設定
エラーフラグ=1
通信エラー?
NO
YES
I2C停止 (ISMK:EN=0)
エンド
ISMK:7ビットスレーブアドレスマスクレジスタ (ISMK)
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
451
第 15 章 マルチファンクション シリアルインタフェース
15.22 I2C のフローチャート例
MB91313A シリーズ
図 15.22-8 マスタ送信初期設定
スタート
初期設定:
I2Cモード設定 (SMR)
ボーレート設定 (BGR)
FIFO設定:
FIFO制御レジスタ1設定 (FCR1)
FIFO制御レジスタ0設定 (FCR0)
INT割込み許可 (IBCR:INTE=1)
I2C許可設定 (ISMK:EN=1)
FIFOバッファ書込み:
スレーブアドレス + 通信方向 (Write)
送信データFIFO格納 (TDR)
バスビジー?
YES
IBSR:BB=1
NO
エラー
動作モード設定:
マスタ (IBCR:MSS =1 )
エンド
SMR
BGR
ISBA
ISMK
FCR1
FCR0
IBCR
IBSR
TDR
452
:シリアルモードレジスタ (SMR)
:ボーレートジェネレータレジスタ (BGR)
:7ビットスレーブアドレスレジスタ (ISBA)
:7ビットスレーブアドレスマスクレジスタ (ISMK)
:FIFO 制御レジスタ1 (FCR1)
:FIFO 制御レジスタ0 (FCR0)
:I2Cバス制御レジスタ (IBCR)
:I2Cバスステータスレジスタ (IBSR)
:送信データレジスタ (TDR)
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.22 I2C のフローチャート例
MB91313A シリーズ
図 15.22-9 マスタ送信割込み処理 ( 続く )
送信割込み処理
バスエラー?
YES
IBCR:BER=1
NO
アービトレーションエラー?
YES
IBSR:AL=1
NO
NACKエラー?
YES
IBSR:RACK=1
エラー
NO
1
2
IBCR:I2Cバス制御レジスタ (IBCR)
IBSR:I2Cバスステータスレジスタ (IBSR)
* 実際のエラー処理は, 各ステータスエラーフラグの判断および各エラーの処理を,
お客様のシステムを考慮して行ってください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
453
第 15 章 マルチファンクション シリアルインタフェース
15.22 I2C のフローチャート例
MB91313A シリーズ
図 15.22-9 マスタ送信割込み処理 ( 続き )
1
I 2C/マスタ動作確認
NO
IBCR:MSS=1 かつ
IBCR:ACT=1
全データ転送終了は,
YES
送信データ数をすべて
NO
送信バッファに書いた
SSR:TDRE=1 かつ
かソフトで判断。
全データ転送終了?
YES
システム全体の反復
NO
パケット動作要求の
反復スタート要求?
判断。
YES
反復動作イニシャル設定
FIFOバッファ書込み:
スレーブアドレス+ 通 信方向( Write)
送信データ FIFO格納(TDRx)
反復スタート条件設定(IBCR:SCC=1)
2
割込みクリア(IBCR:INT=0)
Stop Condition (IBCR:MSS=0)
エンド
IBCR
: I2Cバス制御レジスタ(IBCR)
TDR
: 送信データレジスタ(TDR)
SSR
: シリアルステータスレジスタ(SSR)
* 実際のエラー処理は, 各ステータスエラーフラグの判断および各エラーの処理を
お客様のシステムを考慮して行ってください。
454
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.22 I2C のフローチャート例
図 15.22-10 スレーブ受信メイン設定
スタート
スレーブ受信初期設定
エラーフラグ=1
通信エラー?
NO
YES
I2C停止 (ISMK:EN=0)
エンド
ISMK:7ビットスレーブアドレスマスクレジスタ (ISMK)
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
455
第 15 章 マルチファンクション シリアルインタフェース
15.22 I2C のフローチャート例
MB91313A シリーズ
図 15.22-11 スレーブ受信初期設定
スタート
初期設定:
I2Cモード設定 (SMR)
ボーレート設定 (BGR)
スレーブアドレス設定 (ISBA)
スレーブマスク設定 (ISMK)
INT割込み許可 (IBCR:INTE=1)
I2C許可設定 (ISMK:EN=1)
スレーブ設定 (IBCR:MSS =0 )
FIFO設定:
FIFO制御レジスタ1設定 (FCR1)
FIFO制御レジスタ1の
FIFO制御レジスタ0設定 (FCR0)
FSEL値によって受信
FIFOが異なります。
FIFO受信バイト数設定
(FBYTE1=xx FBYTE2=00 or
FBYTE1=00 FBYTE2=xx)
エンド
SMR
:シリアルモードレジスタ (SMR)
BGR
:ボーレートジェネレータレジスタ (BGR)
ISBA :7ビットスレーブアドレスレジスタ (ISBA)
ISMK :7ビットスレーブアドレスマスクレジスタ (ISMK)
IBCR :I2Cバス制御レジスタ (IBCR)
FCR1 :FIFO 制御レジスタ1 (FCR1)
FCR0 :FIFO 制御レジスタ0 (FCR0)
FBYTE1:FIFO1バイトレジスタ (FBYTE1)
FBYTE2:FIFO2バイトレジスタ (FBYTE2)
456
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 15 章 マルチファンクション シリアルインタフェース
15.22 I2C のフローチャート例
MB91313A シリーズ
図 15.22-12 スレーブ受信割込み処理
受信割込み処理
バスエラー?
YES
IBCR:BER=1
NO
FIFO END? (受信完了)
SSR:RDRF=1
NO
YES
エラー
FIFO受信データ読出し(RDR)
割込みクリア(IBCR:INT=0)
エンド
IBSR
SSR
RDR
IBCR
:I2Cバスステータスレジスタ (IBSR)
:シリアルステータスレジスタ (SSR)
:受信データレジスタ (RDR)
:I2Cバス制御レジスタ (IBCR)
* 実際のエラー処理は, 各ステータスエラーフラグの判断および各エラーの処理を,
お客様のシステムを考慮して行ってください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
457
第 15 章 マルチファンクション シリアルインタフェース
15.23 I2C モードの注意事項
15.23
MB91313A シリーズ
I2C モードの注意事項
I2C モードの注意事項を下記に示します。
• FIFO 付きチャネルで DMA 転送要求する場合 , FIFO は使用できません。FIFO 動作
禁止の設定としてください。
• DMA 転送要求する場合 , DMA のブロックサイズを 1 回に設定してください。
• マスタ受信およびスレーブ受信時には , データ受信用の DMA 転送と , ダミーデータ
送信用の DMA 転送が必要なため , DMA を 2 チャネル使用する必要があります。
• I2C モードでは , 送信レジスタ (TDR) に有効なデータがなく , 送信データエンプティ
フラグビット (TDRE) が "1" の状態で , I2C バス上のデータが 9 ビット目 (WSEL=0 時 )
または 8 ビット目 (WSEL=1 時 ) まで送信された場合 , 図 15.23-1 のように割込みフ
ラグ (INT) が "1" となります。DMA 転送中に割込みフラグ (INT) が "1" になると ,
ソフトで "0" クリアしない限り , DMA 転送が継続できません。( マスタ送信 , スレー
ブ送信 , マスタ受信 , スレーブ受信共 )
図 15.23-1 I2C の INT ビット変化タイミング (WSEL=0 時 )
SCL
SDA
DATA
ACK
DATA
ACK
TDRE bit
TDRへの
DMA転送
INT bit
上記のような仕様のため , I2C モードで DMA 転送する場合には , 割込みフラグ (INT) が
"1" となる前に , TDR への DMA 転送が行われるように対応してください。I2C の DMA
転送を優先するには , 以下のような対応があります。
- 優先度が高い ( チャネル番号が小さい ) DMA を使用する。優先順位設定ビットを
固定 (AT=0) で使用する場合に有効。
- DMA 転送抑止割込みレベルビット (DILVR レジスタの LVL4-LVL0 ビット ) を可
能な限り小さい値にする。
458
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 15 章 マルチファンクション シリアルインタフェース
15.23 I2C モードの注意事項
• 送信データエンプティフラグ (SSR:TDRE) が "1" になって送信データレジスタ (TDR)
に送信データを DMA 転送によって書くか , またはソフトによって送信データエン
プティフラグ (SSR:TDRE) を確認して書く場合 , 送信データエンプティフラグ
(SSR:TDRE) が "0" にならない場合があるため , ACK フィールドの SCL が立下がる
までに送信データを書いてください。ソフトによって割込みフラグ (IBCR:INT) が
"1" になってから送信データを書く場合は特に制限はありません。
DMA 転送時またはソフトにて送信データエンプティフラグ (SSR:TDRE) による送信
処理を行うとき , ACK フィールドの SCL が立ち下がるまでに送信データを書くのが
遅れる場合には以下の設定および手順にしてください。
- 設定
割込みフラグ (IBCR:INT) が "1" になるタイミングを 8 ビット目に設定 (WSEL=1)
する。
- 手順
マスタで送受信を行う場合 , 以下の手順で処理してください。スレーブで送受信
を行う場合には , 下記手順は必要ありません。
1. ソフトにて第一バイト ( スレーブアドレス ) を送信データレジスタに書く。
2. マスタ起動 (IBCR:MSS="1" ライト ) と同時にウエイト選択を 8 ビットに設定
(IBCR:WSEL="1" ライト ) する。
3. 第一バイト送信後 , 割込みフラグ (IBCR:INT) が "1" になるので ACK 応答
(IBSR:RACK="0") を確認後 , 第二バイト目をソフトによって送信データレジ
スタ (TDR) に書いてから DMAC の設定を行い , DMA 転送を起動し , 割込み
フラグ (IBCR:INT) に "0" を書く。
4. 送受信が終了した場合 , マスタの終了 (IBCR:MSS="0" ライト ) または再起動
(IBCR:SCC="1" ライト ) を行います。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
459
第 15 章 マルチファンクション シリアルインタフェース
15.23 I2C モードの注意事項
460
MB91313A シリーズ
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 16 章
DMAC (DMA コントローラ )
DMA コントローラ (DMAC) の概要 , レジスタの構
成および動作について説明します。
16.1 DMA コントローラの概要
16.2 DMA コントローラの動作
16.3 転送要求の設定
16.4 転送シーケンス
16.5 動作フローチャート
16.6 データバス
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
461
第 16 章 DMAC (DMA コントローラ )
16.1 DMA コントローラの概要
16.1
MB91313A シリーズ
DMA コントローラの概要
本モジュールは , FR ファミリデバイスにて DMA (Direct Memory Access) 転送を
実現するためのモジュールです。
本モジュールの制御による DMA 転送により , CPU を介さずに各種データ転送を高
速に行うことが可能となり , システムのパフォーマンスを増加させます。
■ ハードウェア構成
本モジュールは , 主に以下のものより構成されます。
• 独立した DMA チャネル× 5 チャネル
• 5 チャネル独立アクセス制御回路
• 20 ビットアドレスレジスタ ( リロード指定可能 : ch.0 ∼ ch.3)
• 24 ビットアドレスレジスタ ( リロード指定可能 : ch.4)
• 16 ビット転送回数レジスタ ( リロード指定可能 : 各チャネル 1 本 )
• 4 ビットブロック回数レジスタ ( 各チャネル 1 本 )
• 2 サイクル転送
■ 主要機能
本モジュールによるデータ転送には主に以下のような機能があります。
• 複数チャネルの独立したデータ転送が可能 (5 チャネル )
• 優先順位 (ch.0 > ch.1 > ch.2 > ch.3 > ch.4)
• ch.0 と ch.1 間にて順位回転が可能
• DMAC 起動要因
- 内蔵周辺要求
- ソフトウェア要求 ( レジスタ書込み )
• 転送モード
- バースト転送 / ステップ転送 / ブロック転送
- アドレッシングモード 20 ビット (24 ビット ) アドレス指定 ( 増加 / 減少 / 固定 )
( アドレス増減幅は± 1, 2, 4 固定 )
- データの種類バイト / ハーフワード / ワード長
- シングルショット / リロード選択可能
462
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 16 章 DMAC (DMA コントローラ )
16.1 DMA コントローラの概要
MB91313A シリーズ
■ DMA コントローラのレジスタ
図 16.1-1 DMA コントローラのレジスタ
bit 31
ch.0 コントロール / ステータスレジスタ A
DMACA0
000200H
ch.0 コントロール / ステータスレジスタ B
DMACB0
000204H
ch.1 コントロール / ステータスレジスタ A
DMACA1
000208H
ch.1 コントロール / ステータスレジスタ B
DMACB1
00020CH
ch.2 コントロール / ステータスレジスタ A
DMACA2
000210H
ch.2 コントロール / ステータスレジスタ B
DMACB2
000214H
ch.3 コントロール / ステータスレジスタ A
DMACA3
000218H
ch.3 コントロール / ステータスレジスタ B
DMACB3
00021CH
ch.4 コントロール / ステータスレジスタ A
DMACA4
000220H
ch.4 コントロール / ステータスレジスタ B
DMACB4
000224H
全体制御レジスタ
DMACR
000240H
ch.0 転送元アドレスレジスタ
DMASA0
bit 31
001000H
ch.0 転送先アドレスレジスタ
DMADA0
001004H
ch.1 転送元アドレスレジスタ
DMASA1
001008H
ch.1 転送先アドレスレジスタ
DMADA1
00100CH
ch.2 転送元アドレスレジスタ
DMASA2
001010H
ch.2 転送先アドレスレジスタ
DMADA2
001014H
ch.3 転送元アドレスレジスタ
DMASA3
001018H
ch.3 転送先アドレスレジスタ
DMADA3
00101CH
ch.4 転送元アドレスレジスタ
DMASA4
bit 31
001020H
ch.4 転送先アドレスレジスタ
DMADA4
001024H
CM71-10143-5
0
20
24 23
FUJITSU SEMICONDUCTOR LIMITED
19
0
0
463
第 16 章 DMAC (DMA コントローラ )
16.1 DMA コントローラの概要
MB91313A シリーズ
■ ブロックダイヤグラム
カウンタ
バスコントローラへ
DMA転送要求
バッファ
セレクタ
ライトバック
図 16.1-2 ブロックダイヤグラム
DMA起動要因
選択回路
&
要求受付け
制御
DTC2段レジスタ DTCR
ペリフェラル起動要求/停止入力
カウンタ
DSS[2:0]
バッファ
リード
ライト
リード/ライト
制御
優先度回路
割込みコントローラへ
IRQ[4:0]
周辺割込みクリア
MCLREQ
ERIE,EDIR
セレクタ
BLKレジスタ
464
バス制御部
カウンタバッファ
セレクタ
セレクタ
アドレス
DMAコントロール
カウンタバッファ
アクセス
アドレスカウンタ
バスコン
トローラ
へ
バス制御部
状態遷移回路
DMASA2段レジスタ
SADM,SASZ[7:0] SADR
DMADA2段レジスタ
DADM,DASZ[7:0]
X-bus
TYPE,MOD,WS
ライトバック
DADR
ライトバック
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 16 章 DMAC (DMA コントローラ )
16.1 DMA コントローラの概要
MB91313A シリーズ
■ レジスタ設定時の注意
DMAC の設定をする場合 , DMA が停止しているときに行う必要があるビットがありま
す。動作中 ( 転送中 ) に設定した場合 , 正常な動作は保証されません。
* マークは DMA 転送中に設定すると動作に影響するビットです。このビットの書換え
は DMA 転送停止中 ( 起動禁止状態または一時停止状態 ) に行ってください。
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 各チャネルの動作制御を行うレジスタで , 各チャネルごとに独立して存在しま
す。各ビット機能は以下に示すとおりです。
図 16.1-3 DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 コントロール / ステータスレジスタ A
[DMACA0 ∼ DMACA4]
bit
31
30
29
28
27
DENB PAUS STRG
bit
15
14
13
26
25
24
23
22
IS4~IS0
11
11
10
21
20
19
8
7
6
17
16
BLK3~BLK0
予約
9
18
5
4
3
2
1
0
DTC15~DTC0
( 初期値 : 00000000H)
[bit31] DENB (Dma ENaBle) : DMA 動作許可ビット
各転送チャネルに対応し , DMA 転送の起動許可 / 禁止を行います。
起動されたチャネルは, 転送要求が発生し受け付けられるとDMA転送を開始します。
起動許可されていないチャネルに対して発生した転送要求は , すべて無効となりま
す。
起動されたチャネルの転送が指定回数分すべて終了した場合 , 本ビットは "0" にな
り , 転送は停止します。
本ビットに "0" を書き込むと強制停止しますが , 必ず PAUS ビット [DMACA:bit30]
で DMA を一時停止状態にしてから強制停止 (0 書込み ) してください。一時停止し
ないで強制停止した場合は DMA は停止しますが転送データは保証されません。停
止の確認は DSS[2:0] ビット (DMACB:bit18 ∼ bit16) で行ってください。
DENB
CM71-10143-5
機能
0
対応チャネル DMA 動作禁止 ( 初期値 )
1
対応チャネル DMA 動作許可
FUJITSU SEMICONDUCTOR LIMITED
465
第 16 章 DMAC (DMA コントローラ )
16.1 DMA コントローラの概要
MB91313A シリーズ
• リセット時 , 停止要求が受け付けられた場合 : "0" に初期化されます。
• 読出しおよび書込みが可能です。
• DMAC 全体制御レジスタ DMACR の bit15:DMAE ビットにより , 全チャネルの動
作が禁止されている場合 , 本ビットへの "1" 書込みは無効となり停止状態を維持
します。また , 本ビットにより動作が許可されている状態にて前記ビットにより
動作が禁止された場合 , 本ビットは "0" となり , 転送は中断します ( 強制停止 ) 。
[bit30] PAUS (PAUSe) : 一時停止指示
対応するチャネルの DMA 転送の一時停止制御を行います。本ビットがセットされ
ると , 再び本ビットがクリアされるまでの間は , DMA 転送を行いません (DMA が停
止中は DSS ビットが "1XXB" になります ) 。
起動前に本ビットをセットしてから起動した場合 , 一時停止状態のままとなります。
本ビットがセットされている間に新たに発生した転送要求は受け付けられますが ,
本ビットをクリアしないと転送は開始しません (「■ 転送要求の受付けと転送」を
参照 )。
PAUS
機能
0
対応チャネル DMA 動作許可 ( 初期値 )
1
対応チャネル DMA 一時停止
• リセット時 : "0" に初期化されます。
• 読出しおよび書込みが可能です。
[bit29] STRG (Software TRiGger) : 転送要求
対応するチャネルの DMA 転送要求を生成します。本ビットに "1" を書き込むと , レ
ジスタへの書込みが終了した時点より転送要求が発生し , 対応チャネルの転送を開
始します。ただし , 対応するチャネルが起動されていない場合は , 本ビットへの操
作は無効となります。
( 注意事項 ) DMAE ビットの書込みによる起動と同時に本ビットによる転送要求が
同時の場合 , 転送要求は有効となり , 転送を開始します。また , PAUS
ビットへの"1"書込みと同時である場合, 転送要求は有効となりますが,
PAUS ビットを "0" に戻すまで DMA 転送は開始しません。
STRG
機能
0
無効
1
DMA 起動要求
• リセット時 : "0" に初期化されます。
• 読出し値は常に "0" となります。
• 書込み値は "1" のみ有効で , "0" は動作に影響を与えません。
466
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 16 章 DMAC (DMA コントローラ )
16.1 DMA コントローラの概要
MB91313A シリーズ
[bit28 ∼ bit24] IS4 ∼ IS0 (Input Select)* : 転送要因選択
転送要求の要因を以下のように選択します。ただし , STRG ビット機能によるソフ
トウェア転送要求は本設定にかかわらず有効となります。
IS
機能
00000B
ソフトウェア転送要求のみ
00001B
∼
01111B
設定禁止
10000B
UART0 ( 受信完了 )
10001B
UART1 ( 受信完了 )
10010B
UART2 ( 受信完了 )
10011B
UART0 ( 送信完了 )
10100B
UART1 ( 送信完了 )
10101B
UART2 ( 送信完了 )
10110B
設定禁止
10111B
設定禁止
11000B
設定禁止
11001B
設定禁止
11010B
設定禁止
11011B
設定禁止
11100B
PPG0
11101B
PPG1
11110B
PPG2
11111B
PPG3
転送停止要求
なし
あり
なし
• リセット時 : "00000B" に初期化されます。
• 読出しおよび書込みが可能です。
( 注意事項 ) ・ 周辺機能の割込みによる DMA 起動を設定した場合 (IS=1XXXXB), 選
択した機能は , ICR レジスタで割込みを禁止状態にしてください。
・ また , 周辺機能の割込みによる DMA 起動を設定した状態で , ソフト
ウェア転送要求により DMA 転送を起動すると , 転送終了後 , 該当す
る周辺に対して要因クリアを行います。このため , 本来の転送要求
をクリアしてしまう可能性がありますので , 周辺機能の割込みによ
る DMA 起動を設定した状態では , ソフトウェア転送要求による起動
を行わないでください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
467
第 16 章 DMAC (DMA コントローラ )
16.1 DMA コントローラの概要
MB91313A シリーズ
[bit23 ∼ bit20] 予約 : 予約ビット
読出し値は "0000B" 固定です。書込みは無効となります。
[bit19 ∼ bit16] BLK3 ∼ BLK0 (BLocK size) : ブロックサイズ指定
対応するチャネルのブロック転送時のブロックサイズを指定します。本ビットに設
定した値が 1 回の転送単位におけるワード数 ( 正確には , データ幅設定の繰返し回
数 ) となります。ブロック転送を行わない場合は 0001B ( サイズ 1) を設定してくだ
さい。
BLK
XXXXB
機能
対応チャネルのブロックサイズ指定
• リセット時 : "0000B" に初期化されます。
• 読出しおよび書込みが可能です。
• 全ビット "0" を指定した場合 , ブロックサイズは 16 ワードとなります。
• 読出し時は , 常にブロックサイズ ( リロード値 ) が読み出されます。
[bit15 ∼ bit0] DTC15~DTC0 (Dma Terminal Count register) * : 転送回数レジスタ
転送回数を格納するレジスタです。各レジスタは 16 ビット長で構成されています。
すべてのレジスタは , 専用のリロードレジスタを持っています。転送回数レジスタ
のリロードを許可しているチャネルに使用した場合 , 転送終了時に自動的に初期設
定値をレジスタに戻します。
DTC
XXXXH
機能
対応チャネルの転送回数指定
DMA 転送が起動すると , 本レジスタのデータを DMA 専用転送回数カウンタのカウ
ンタバッファに格納して 1 転送単位ごとに− 1 カウントします ( 減算 ) 。DMA 転送
終了時にカウンタバッファの内容を本レジスタにライトバックして DMA は終了し
ます。よって DMA 動作中の転送回数指定値を読み出すことはできません。
• リセット時 : "0000H" に初期化されます。
• 読出しおよび書込みが可能です。DTC のアクセスは , 必ずハーフワード長または
ワード長にてアクセスしてください。
• 読出し時の値は , カウント値となります。リロード値の読出しはできません。
468
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 16 章 DMAC (DMA コントローラ )
16.1 DMA コントローラの概要
MB91313A シリーズ
■ DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 コントロール / ステータスレジスタ B
[DMACB0 ∼ DMACB4]
DMAC 各チャネルの動作制御を行うレジスタで , 各チャネルごとに独立して存在しま
す。各ビット機能は以下に示すとおりです。
図 16.1-4 DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 コントロール / ステータスレジスタ B
[DMACB0 ∼ DMACB4]
アドレス
ch.0
ch.1
ch.2
ch.3
ch.4
bit
31
30
29
28
27
26
TYPE1,TYPE 0 MOD1,MOD0 WS1,WS0
000204H
00020CH
000214H
00021CH bit 15
14
13
11
11
10
000224H
SASZ7~SASZ0
25
24
23
22
21
20
19
18
SADM DADM DTCR SADR DADR ERIE EDIE
9
8
7
6
5
4
3
17
16
DSS2~DSS0
2
1
0
DASZ7~DASZ0
( 初期値 : 00000000H)
[bit31, bit30] TYPE1, TYPE0 (TYPE) * : 転送タイプ設定
対応チャネルの動作タイプを以下のように設定します。
2 サイクル転送モード : 転送元アドレス (DMASA) と転送先アドレス (DMADA) を設
定して読出し動作と書込み動作を転送回数分繰り返して転
送するモードです。
TYPE1, TYPE0
機能
00B
2 サイクル 転送 ( 初期値 )
01B
設定禁止
10B
設定禁止
11B
設定禁止
• リセット時 : "00B" に初期化されます。
• 読出しおよび書込みが可能です。
• 必ず "00B" に設定してください。
[bit29, bit28] MOD1, MOD0 (MODe)* : 転送モード設定
対応チャネルの動作モードを以下のように設定します。
MOD1, MOD0
機能
00B
ブロック / ステップ転送モード ( 初期値 )
01B
バースト転送モード
10B
設定禁止
11B
設定禁止
• リセット時 : "00B" に初期化されます。
• 読出しおよび書込みが可能です。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
469
第 16 章 DMAC (DMA コントローラ )
16.1 DMA コントローラの概要
MB91313A シリーズ
[bit27, bit26] WS1, WS0 (Word Size) : 転送データ幅選択
対応チャネルの転送データ幅を選択します。本レジスタに設定したデータ幅単位で
指定回数分の転送を行います。
WS1, WS0
機能
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" に初期化されます。
• 読出しおよび書込みが可能です。
470
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 16 章 DMAC (DMA コントローラ )
16.1 DMA コントローラの概要
MB91313A シリーズ
[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" に初期化されます。
• 読出しおよび書込みが可能です。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
471
第 16 章 DMAC (DMA コントローラ )
16.1 DMA コントローラの概要
MB91313A シリーズ
[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" に初期化されます。
• 読出しおよび書込みが可能です。
472
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 16 章 DMAC (DMA コントローラ )
16.1 DMA コントローラの概要
MB91313A シリーズ
[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" のみ有効とな
ります。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
473
第 16 章 DMAC (DMA コントローラ )
16.1 DMA コントローラの概要
MB91313A シリーズ
[bit15 ∼ bit8] SASZ7 ∼ SASZ0 (Source Addr count SiZe) * : 転送元アドレス
カウントサイズ指定
対応するチャネルの 1 転送ごとの転送元アドレス (DMASA) の増減幅を指定します。
本ビットに設定した値が 1 回の転送単位におけるアドレス増減幅となります。アド
レスの増減は転送元アドレスカウントモード (SADM) の指定に従います。
SASZ7 ∼ SASZ0
機能
00H
アドレス固定
01H
バイト単位で転送
02H
ハーフワード単位で転送
04H
ワード単位で転送
上記以外
設定禁止
• リセット時 : "00H" に初期化されます。
• 読出しおよび書込みが可能です。
• アドレス固定以外に設定する場合 , 転送データ幅 (WS) と同じ転送単位のみ設定
可能です。
[bit7 ∼ bit0] DASZ7 ∼ DASZ0 (Des Addr count SiZe) * :
転送先アドレス
カウントサイズ指定
対応するチャネルの 1 転送ごとの転送先アドレス (DMADA) の増減幅を指定します。
本ビットに設定した値が 1 回の転送単位におけるアドレス増減幅となります。アド
レスの増減は転送先アドレスカウントモード (DADM) の指定に従います。
DASZ7 ∼ DASZ0
機能
00H
アドレス固定
01H
バイト単位で転送
02H
ハーフワード単位で転送
04H
ワード単位で転送
上記以外
設定禁止
• リセット時 : "00H" に初期化されます。
• 読出しおよび書込みが可能です。
• アドレス固定以外に設定する場合 , 転送データ幅 (WS) と同じ転送単位のみ設定
可能です。
474
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 16 章 DMAC (DMA コントローラ )
16.1 DMA コントローラの概要
MB91313A シリーズ
■ DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 転送元 / 転送先アドレス設定レジスタ
[DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4]
DMAC 各チャネルの動作制御を行うレジスタで , 各チャネルごとに独立して存在しま
す。各ビット機能は以下に示すとおりです。
図 16.1-5 DMAC 転送元 / 転送先アドレス設定レジスタ
アドレス :
ch.0 001000H
ch.1 001008H
ch.2 001010H
ch.3 001018H
bit
31
30
29
28
27
26
25
24
23
22
21
20
15
14
13
12
11
10
18
17
16
DMASA0 ∼ DMASA3
[19 : 16]
−
bit
19
9
8
7
6
5
4
3
2
1
0
21
20
19
18
17
16
DMASA0 ∼ DMASA3 [15 : 0]
( 初期値 : 00000000H)
アドレス :
ch.0 001004H
ch.1 00100CH
ch.2 001014H
ch.3 00101CH
bit
31
30
29
28
27
26
25
24
23
22
DMADA0 ∼ DMADA3
[19 : 16]
−
bit
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
19
18
17
16
DMADA0 ∼ DMADA3[15 : 0]
( 初期値 : 00000000H)
図 16.1-6 DMAC 転送元 / 転送先アドレス設定レジスタ
アドレス :
bit
31
30
29
28
ch.4 001020H
27
26
25
24
23
22
15
14
13
12
20
DMASA4 [23 : 16]
−
bit
21
11
10
9
8
7
6
5
4
3
2
1
0
22
21
20
19
18
17
16
1
0
DMASA4[15 : 0]
( 初期値 : 00000000H)
アドレス :
bit
31
30
29
28
ch.4 001024H
27
26
25
24
23
DMADA4 [23 : 16]
−
bit
15
14
13
12
11
10
9
8
7
6
5
4
3
2
DMADA4[15 : 0]
( 初期値 : 00000000H)
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
475
第 16 章 DMAC (DMA コントローラ )
16.1 DMA コントローラの概要
MB91313A シリーズ
転送元 / 転送先アドレスを格納するレジスタ群です。ch.0 ∼ ch.3 は 20 ビット長 , ch.4
は 24 ビット長で構成されています。
[bit31 ∼ bit0] DMASA (DMA Source Addr) * : 転送元アドレス設定
転送元アドレスの設定を行います。
[bit31 ∼ bit0] DMADA (DMA Destination Addr) * : 転送先アドレス設定
転送先アドレスの設定を行います。
DMA 転送が起動すると , 本レジスタのデータを DMA 専用アドレスカウンタのカウ
ンタバッファに格納して 1 転送ごとに設定に従いアドレスカウントします。DMA
の転送終了時にカウンタバッファの内容を本レジスタにライトバックして DMA は
終了します。よって , DMA 動作中のアドレスカウンタ値を読み出すことはできませ
ん。
すべてのレジスタは , 専用のリロードレジスタを持っています。転送元 / 転送先ア
ドレスレジスタのリロードを許可しているチャネルに使用した場合 , 転送終了時に
自動的に初期設定値をレジスタに戻します。この際 , ほかのアドレスレジスタには
影響を与えません。
• リセット時 : "00000000H" に初期化されます。
• 読出しおよび書込みが可能です。本レジスタは , 必ず 32 ビットデータでアクセ
スしてください。
• 読出し時の値は , 転送中は転送前のアドレス値 , 転送終了時には次のアクセスア
ドレス値となります。リロード値の読出しはできません。よって , 転送アドレス
をリアルタイムで読み出すことはできません。
• 存在しない上位ビットには , "0" を設定してください。
<注意事項>
本レジスタにて DMAC 自身のレジスタを設定しないでください。DMAC 自身のレジスタ
に DMA 転送を行うことはできません。
476
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 16 章 DMAC (DMA コントローラ )
16.1 DMA コントローラの概要
MB91313A シリーズ
■ DMAC-ch.0, ch.1, ch.2, ch.3, ch.4DMAC 全体制御レジスタ [DMACR]
DMAC5 チャネル分全体の動作制御を行うレジスタです。本レジスタは必ずバイト長で
アクセスしてください。
各ビット機能は以下に示すとおりです。
図 16.1-7 DMAC-ch.0, ch.1, ch.2, ch.3, ch.4DMAC 全体制御レジスタ [DMACR]
アドレス : bit
000240H
31
30
29
28
DMAE 予約 予約 PM01
bit
15
14
13
12
27
26
25
24
DMAH 3 ∼ DMAH0
11
10
9
23
22
21
20
19
18
17
16
予約 予約 予約 予約 予約 予約 予約 予約
8
7
6
5
4
3
2
1
0
予約 予約 予約 予約 予約 予約 予約 予約 予約 予約 予約 予約 予約 予約 予約 予約
( 初期値 : 0XX00000 XXXXXXXX XXXXXXXX XXXXXXXXB)
[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
機能
0
全チャネル DMA 動作禁止 ( 初期値 )
1
全チャネル DMA 動作許可
• リセット時 : "0" に初期化されます。
• 読出しおよび書込みが可能です。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
477
第 16 章 DMAC (DMA コントローラ )
16.1 DMA コントローラの概要
MB91313A シリーズ
[bit28] PM01 (Priority Mode ch.0, ch.1 robin) : チャネル優先度回転
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 一時停止
• リセット時 : "0" に初期化されます。
• 読出しおよび書込みが可能です。
[bit30, bit29, bit23 ∼ bit0] 予約 : 予約ビット
• 読出し値は不定です。
478
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
16.2
第 16 章 DMAC (DMA コントローラ )
16.2 DMA コントローラの動作
DMA コントローラの動作
CPU の命令動作を介することなく高速にデータ転送を制御する多機能 DMA コント
ローラの動作について説明します。
■ 主要動作
• 各転送チャネルは , 独立に各種機能を設定します。
• 各チャネルは起動許可後 , 設定した転送要求を検出するまでは転送動作を行いませ
ん。
• 転送要求検出で , バスコントローラに対し DMA 転送要求を出力し , バスコントロー
ラの制御でバス権を取得して転送を開始します。
• 転送は各チャネルごとに独立に設定されたモード設定に従ったシーケンスで行わ
れます。
■ 転送モード
DMA の各チャネルは , それぞれの DMACB レジスタの MOD[1:0] ビットで設定された
転送モードに従って転送動作を行います。
● ブロック / ステップ転送
1 回の転送要求で 1 ブロック転送単位のみ転送を行い , その後次の転送要求が受け付け
られるまでは DMA はバスコントローラに対し転送要求を停止します。
1 ブロック転送単位 : 設定されたブロックサイズ分 (DMACA:BLK[3:0])
● バースト転送
1 回の転送要求にて指定転送回数終了まで連続して転送を行います。
指定転送回数 : ブロックサイズ分×転送回数分
(DMACA:BLK[3:0] × DMACA:DTC[15:0])
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
479
第 16 章 DMAC (DMA コントローラ )
16.2 DMA コントローラの動作
MB91313A シリーズ
■ 転送タイプ
● 2 サイクル転送 ( 通常転送 )
DMA コントローラの動作は , 読出し動作と書込み動作を 1 つの単位として動作を行い
ます。
転送元レジスタのアドレスからデータを読み出して転送先レジスタのアドレスへデー
タを書込みます。
■ 転送アドレス
アドレッシングには以下のようなものがあり , 各チャネル転送元 / 転送先ごとに独立に
設定します。
● 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) され転送終了割込み / エラー割込みを
発生可能です。
480
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
16.3
第 16 章 DMAC (DMA コントローラ )
16.3 転送要求の設定
転送要求の設定
DMA 転送を起動する転送要求は , 以下の 2 種類があります。ソフトウェア要求につ
いては , ほかの要求の設定にかかわらず常に使用することができます。
■ 内蔵周辺要求
内蔵周辺回路の割込み発生により , 転送要求を発生します。
チャネルごとに , どの周辺の割込みにより転送要求を発生するかを設定します
(DMACA : IS[4:0]=1XXXXB)。
<注意事項>
転送要求に使用した割込み要求は, CPUへの割込み要求としても見えますので割込みコン
トローラの設定を割込み禁止に設定してください (ICR レジスタ )。
■ ソフトウェア要求
レジスタのトリガビットへの書込みにより , 転送要求を発生します (DMACA:STRG)。
上記の転送要求とは独立で , 常に使用することができます。
起動 ( 転送許可 ) と同時にソフトウェア要求を行った場合 , 直後にバスコントローラに
対し DMA 転送要求を出力し転送を開始します。
<注意事項>
内蔵周辺要求を設定したチャネルに対してソフトウェア要求を行うと , 転送終了後 , 該当
する周辺に対して要因クリアを行います。このため , 本来の転送要求をクリアしてしまう
可能性がありますので , ソフトウェア要求を行わないでください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
481
第 16 章 DMAC (DMA コントローラ )
16.4 転送シーケンス
16.4
MB91313A シリーズ
転送シーケンス
各チャネルごとに , 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.4-1 バースト転送の転送シーケンス
周辺転送要求
バス動作
転送回数
CPU
SA
DA
4
SA
DA
3
SA
DA
2
SA
CPU
DA
1
0
転送終了 ( 内部 )
( 周辺転送要求 , ブロック数= 1, 転送回数= 4 のときのバースト転送例 )
482
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 16 章 DMAC (DMA コントローラ )
16.4 転送シーケンス
MB91313A シリーズ
■ ステップ / ブロック転送 2 サイクル転送
ステップ / ブロック転送 (1 転送要求ごとに指定ブロック回数分のみ転送を行う ) の場
合は転送元 / 転送先アドレスは , ch.0 ∼ ch.3 では 20 ビット , ch.4 では 24 ビット指定可
能です。
● ステップ転送
ブロックサイズに "1" を設定すると , ステップ転送シーケンスとなります。
[ ステップ転送の特長 ]
• 転送要求を 1 回受け付けると , 1 回の転送を行った後 , 転送要求をクリアして転
送を停止します ( バスコントローラに対し DMA 転送要求を取り下げる ) 。
• 転送中に再度 , 要求が発生した場合 , 要求は無視されます。
• 転送中により高い優先順位の他チャネルの転送要求を受け付けた場合, 転送停止
後にチャネルを切り換えて続けて転送を開始します。ステップ転送における優先
順位は , 転送要求が同時に発生した場合のみ意味を持ちます。
● ブロック転送
ブロックサイズに "1" 以外を設定すると , ブロック転送シーケンスとなります。
[ ブロック転送の特長 ]
1 転送単位が複数回 ( ブロック数 ) の転送サイクルから構成されること以外は , ス
テップ転送と全く同じ動作となります。
図 16.4-2 ブロック転送の転送シーケンス
周辺転送要求
バス動作
CPU
ブロック数
転送回数
SA
DA
SA
2
DA
1
CPU
0
2
SA
DA
SA
2
DA
1
1
転送終了 ( 内部 )
( 周辺転送要求 , ブロック数= 2, 転送回数= 2 のときのブロック転送例 )
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
483
第 16 章 DMAC (DMA コントローラ )
16.4 転送シーケンス
MB91313A シリーズ
■ DMA 転送全般
● ブロックサイズ
• 転送データの 1 転送単位はブロックサイズ指定レジスタに設定した数 ( ×データ幅 )
のデータの集合となります。
• 1 転送サイクルにて転送されるデータは , データ幅指定の値に固定されるため , 1 転
送単位はブロックサイズ指定値分の転送サイクル数より構成されることになりま
す。
• 転送中により高位の優先順位の転送要求が受け付けられた場合または転送の一時
停止要求が発生した場合において , ブロック転送時においても 1 転送単位の境界に
ならないと停止しません。これにより分割・一時停止を希望しないデータブロック
のデータ保護が可能ですが , ブロックサイズが大きい場合はレスポンスを低下させ
る原因となります。
• リセット発生の場合のみ即時に停止しますが , 転送中であったデータの内容などは
保証されません。
● リロード動作
本モジュールでは , 各チャネルごとに以下の 3 種類のリロード機能の設定が可能です。
(1) 転送回数レジスタリロード機能
指定回数の転送が終了した後 , 転送回数レジスタに初期設定値を再設定して起動受
付け待ちします。
全転送シーケンスを繰り返し行う際に設定します。
リロード指定をしない場合 , 指定回数の転送終了後は回数レジスタ値が "0" のまま
となり , 以降の転送は行われません。
(2) 転送元アドレスレジスタリロード機能
指定回数の転送が終了した後 , 転送元アドレスレジスタに初期設定値を再設定しま
す。
転送元アドレス領域内で固定領域から繰り返し転送する場合に設定します。
リロード指定をしない場合 , 指定回数の転送終了後は転送元アドレスレジスタ値が
終了時の次のアドレスとなります。アドレス領域を固定しない場合に使用します。
(3) 転送先アドレスレジスタリロード機能
指定回数の転送が終了した後 , 転送先アドレスレジスタに初期設定値を再設定しま
す。
転送先アドレス領域内で固定領域へ繰り返し転送する場合に設定します。
( 以下 (2) と同じ )
• 転送元 / 転送先レジスタのリロード機能を有効にしたのみでは , 指定回数転送終了
後の再起動は行われず , 各アドレスレジスタ値が再設定されるのみとなります。
( 注意事項 ) 動作モードとリロード動作の特殊な例
• 転送終了にていったん停止し , 再度入力検出から行いたい場合は , リロード指定を
行わないようにしてください。
• バースト / ブロック / ステップ転送モードで転送している場合では , 転送終了となる
とリロード後いったん転送を中断し , あらためて転送要求入力が検出されるまで転
送を行いません。
484
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 16 章 DMAC (DMA コントローラ )
16.4 転送シーケンス
MB91313A シリーズ
■ アドレッシングモード
各転送チャネルの転送先および転送元アドレスは , それぞれ独立に指定します。
指定方法には下記の方法があります。転送シーケンスによって設定してください。
● アドレスレジスタ指定
2 サイクル転送モードでは , 転送元アドレス設定レジスタ (DMASA) には転送元アドレ
スを,転送先アドレス設定レジスタ(DMADA)には転送先アドレスを設定してください。
[ アドレスレジスタの特長 ]
ch.0 ∼ ch.3 は 20 ビット長 , ch.4 は 24 ビット長のレジスタです。
[ アドレスレジスタの機能 ]
• アクセス時に読み出され , アドレスバスへ放出されます。
• 同時にアドレスカウンタにて次回アクセス時のアドレス計算が行われ, 計算結果
のアドレスにてアドレスレジスタを更新します。
• アドレス計算は , 各チャネル / 転送先 / 転送元それぞれ独立に加算 / 減算の内よ
り選択します。アドレスの増減幅はアドレスカウントサイズ指定レジスタ値によ
ります (DMACB:SASZ, DASZ)。
• 転送終了時のアドレスレジスタには , リロード機能を有効にしていない場合 , 最
終アドレスにアドレス計算をした結果のアドレスが残されます。
• リロード機能を有効にしている場合 , アドレスの初期値がリロードされます。
<注意事項>
• 20 ビットまたは 24 ビット長フルアドレス計算の結果 , オーバフロー / アンダフローが
発生した場合でも , そのチャネルの転送は継続されます。オーバフロー / アンダフロー
が発生しないように各チャネルを設定してください。
• アドレスレジスタに DMAC 自身のレジスタのアドレスを設定しないでください。
■ データの種類など
1 回の転送で転送されるデータ長 ( データ幅 ) は , 以下の内から選択します。
• バイト
• ハーフワード
• ワード
DMA 転送においても , ワードバウンダリ仕様が守られるため , 転送先 / 転送元アドレ
ス指定においてデータ長と食い違うアドレスが設定された場合 , 異なる下位ビットは
無視されます。
・ワード
… 実際のアクセスアドレスは下位 2 ビットが "00B" から始まる 4 バイ
トとなります。
・ハーフワード … 実際のアクセスアドレスは下位 1 ビットが "0B" から始まる 2 バイ
トとなります。
・バイト
CM71-10143-5
… 実際のアクセスアドレスとアドレス指定が一致します。
FUJITSU SEMICONDUCTOR LIMITED
485
第 16 章 DMAC (DMA コントローラ )
16.4 転送シーケンス
MB91313A シリーズ
転送元アドレスと転送先アドレスの下位ビットが食い違っている場合 , 内部アドレス
バス上には設定そのままのアドレスが出力されますが , バス上の各転送対象において ,
上記のきまりに従ってアドレスが修正されてアクセスが行われます。
■ 転送回数制御
転送回数は , 最大で 16 ビット長の範囲内 (1 回∼ 65536 回 ) で指定します。転送回数指
定値は転送回数レジスタ (DMACA:DTC) に設定します。
レジスタ値は転送開始時に一時記憶バッファに格納され , 転送回数カウンタにより減
算されます。このカウンタ値が "0" となったとき , 指定回数の転送終了として検出され ,
そのチャネルの転送停止または再起動受付け待ち ( リロード指定時 ) が行われます。
[ 転送回数レジスタ群の特長 ]
• 各レジスタ 16 ビット長です。
• すべてのレジスタはそれぞれ専用リロードレジスタを持ちます。
• レジスタ値が "0" のときに起動すると , 65536 回の転送を行います。
[ リロード動作 ]
• リロード機能を持つレジスタで, リロード機能が許可されている場合にのみ有効
です。
• 転送起動時に , 回数レジスタの初期値をリロードレジスタに退避します。
• 転送回数カウンタにてカウントを行った際 , "0" になると転送終了を通知すると
ともに, リロードレジスタより初期値を読み出し, 回数レジスタに書き込みます。
486
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 16 章 DMAC (DMA コントローラ )
16.4 転送シーケンス
■ CPU 制御
DMA 転送要求が受け付けられると , DMA はバスコントローラに対し転送要求を発行
します。
バスコントローラはバス動作の切れ目にて内部バス使用権をDMAにあけわたし, DMA
転送が開始されます。
● DMA 転送と割込み
• DMA 転送中は , 基本的には転送終了まで割込みの受付けは停止します。また , 割込
み処理動作中に DMA 転送要求があった場合 , 転送要求は受け付けられ , 転送終了ま
で割込み処理動作は停止します。
• 例外として , 割込みコントローラにて設定されたホールド抑止レベルより高いレベ
ルの割込要求が発生した場合には , DMAC は転送単位 (1 ブロック ) の境界にてバス
コントローラへの転送要求を一時取り下げ , 割込み要求がクリアされるまでは転送
を一時停止状態にします。この間 , 転送要求は内部で保持されます。割込み要求が
クリアされた後に再度 DMAC はバスコントローラへ転送要求を発行してバス使用
権を取得し , DMA 転送を再開します。
● DMA 抑止
• FR ファミリは DMA 転送中に , より優先度の高い割込み要因が発生すると DMA 転
送を中断して該当割込みルーチンへ分岐します。この機構は割込み要求がある限り
有効ですが , 割込み要因をクリアすると抑止機構が働かなくなり , 割込み処理ルー
チン内で DMA 転送を再開します。このため , DMA 転送を中断するレベルの割込み
要因の処理ルーチン内で , 割込み要因クリア後の DMA 再転送開始を抑止したいと
きは , DMA 抑止機能を使用します。DMA 抑止機能は , DMA 全体制御レジスタの
DMAH[3:0] ビットに "0000B" 以外の値を書くことで起動し , "0000B" を書くことで停
止します。
• 本機能は主として割込み処理ルーチン内で使用します。割込み処理ルーチンで割込
み要因をクリアする前に DMA 抑止レジスタの内容を 1 つ増加させます。このよう
にすると , 以降 , DMA 転送は行いません。割込み処理への対応を行った後 , 復帰す
る前に DMAH[3:0] ビットの内容を 1 つ減少させます。もし , 多重割込みであれば
DMAH[3:0] ビットの内容は , まだ "0000B" にならないため , 引き続いて DMA 転送は
抑止されます。また , 多重割込みでなければ , DMAH[3:0] ビットの内容は "0000B" に
なるため , その後すぐに DMA 要求を有効にします。
● 注意事項
• レジスタのビット数は 4 ビットですので , 15 レベルを超える多重割込みで本機能を
使用することができません。
• DMA タスクの優先順位は必ずほかの割込みレベルより 15 レベルは上に置いてくだ
さい。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
487
第 16 章 DMAC (DMA コントローラ )
16.4 転送シーケンス
MB91313A シリーズ
■ 動作開始
DMA 転送の開始は , 各チャネルごとに独立に制御しますが , その前に全チャネルの動
作を許可しておく必要があります。
● 全チャネル動作許可
DMAC 各チャネルに起動を行う前に , DMA 動作許可ビット (DMACR:DMAE) にてあら
かじめ全チャネルの動作を許可する必要があります。許可されていない状態にて行っ
た起動設定 , および発生した転送要求はすべて無効となります。
● 転送起動
各チャネルの制御レジスタにある動作許可ビットにて , 転送動作を起動します。起動さ
れたチャネルに対する転送要求が受け付けられると , 設定されたモードにて DMA 転送
動作が開始されます。
● 一時停止状態からの起動
各チャネルまたは全チャネル制御にて , 起動前に一時停止状態にしてあった場合 , 転送
動作を起動しても一時停止状態を維持しています。この間に転送要求が発生した場合
は , 要求を受け付け保持します。一時停止を解除した時点より転送を開始します。
■ 転送要求の受付けと転送
• 起動後より , 各チャネルに対し設定した転送要求のサンプリングが開始されます。
• 周辺割込み起動を選択した場合は , 転送要求がクリアされるまで DMAC は転送を続
けますがクリアされたら 1 転送単位で転送を停止します ( 周辺割込み起動 ) 。
周辺割込みはレベル検出扱いとなりますので割込みは DMA による割込みクリアで
行うようにしてください。
• 転送要求は , 他チャネルの要求が受け付けられて転送が行われている間でも常に受
け付けられており , 優先順位の判断を行って , 1 転送単位ごとに転送するチャネルを
決定しています。
■ DMA による周辺割込みクリア
• 本 DMA には周辺割込みをクリアする機能があります。この機能は DMA 起動要因
に周辺割込みを選択したときに機能します (IS[4:0]=1XXXXB のとき )。
• 周辺割込みのクリアは設定された起動要因にのみ行われます。つまり IS[4:0] で設定
された周辺機能のみクリアされます。
● 割込みクリアの発生タイミング
• 転送モードにより発生するタイミングが違います (「16.5 動作フローチャート」を
参照 )。
[ ブロック / ステップ転送 ]
ブロック転送を選択した場合 , 1 ブロック ( ステップ ) 転送ごとにクリア信号は発生
します。
[ バースト転送 ]
バースト転送を選択した場合は , 指定転送回数がすべて終了したらクリア信号は発
生します。
488
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 16 章 DMAC (DMA コントローラ )
16.4 転送シーケンス
■ 一時停止
DMA 転送は , 以下の場合に一時停止します。
● 制御レジスタへの書込みによる一時停止の設定 ( 各チャネル独立または全チャネル同時に
設定 )
一時停止ビットにより一時停止を設定すると , 一時停止解除設定を再度設定するまで
の間 , 対応するチャネルの転送は停止します。一時停止の確認は DSS ビットで行って
ください。
一時停止を解除すると , 転送を再開します。
● ホールド抑止レベル割込み処理中
ホールド抑止レベルより高いレベルの割込み要求が発生した場合 , 転送中のチャネル
はすべて転送単位の境界にて一時停止し , バス権を開放して割込み処理を優先させま
す。また , 割込み処理中に受け付けられた転送要求はそのまま保持されます。
要求が保持されたチャネルは , 割込み処理が終了した後に転送を再開します。
■ 動作終了 / 停止
DMA 転送の終了は , 各チャネルごとに独立に制御しますが , 全チャネルの動作を禁止
することも可能です。
● 転送終了
リロード動作が有効でない場合 , 転送回数レジスタが "0" になると転送を停止し , 終了
コードにて『正常終了』を表示した後 , 以降の転送要求は無効となります (DMACA:DENB
ビットをクリアする )。
リロード動作が有効である場合 , 転送回数レジスタが "0" になると初期値をリロードし ,
終了コードにて『正常終了』を表示した後 , 再度転送要求待ちとなります (DMACA:DENB
ビットをクリアしない )。
● 全チャネル動作禁止
DMA 動作許可ビット DMAE にて全チャネルの動作を禁止すると , 動作中であったチャ
ネルも含め DMAC のすべての動作が停止します。以降 , 再度全チャネル DMA 動作を
許可しても , チャネルごとに再起動しないと転送は行われません。この場合 , 割込みは
一切発生しません。
■ エラーによる停止
指定回数の転送終了による正常終了以外の要因で停止する場合として , 各種エラー発
生による停止および強制停止があります。
● 周辺回路よりの転送停止要求の発生
転送要求を出力する周辺回路によっては , 異常を検出した際などに転送停止要求を発
生するものがあります ( 例 : 通信系周辺における受信 / 送信エラーなど ) 。
この転送停止要求を受け取った DMAC は , 終了コードにて『転送停止要求』を表示し
て対応するチャネルの転送を停止します。
周辺回路の転送停止要求の有無については , DMACA レジスタの bit28 ∼ bit24(IS4 ∼
IS0) 転送要因選択ビットの説明を参照してください。
各転送停止要求の発生条件についての詳細は , 各周辺回路の仕様を参照してください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
489
第 16 章 DMAC (DMA コントローラ )
16.4 転送シーケンス
MB91313A シリーズ
■ DMAC 割込み制御
転送要求となる周辺割込みとは独立に , DMAC 各チャネルごとに以下の割込みを出力
することが可能です。
• 転送終了割込み … 正常終了した場合のみ発生する。
• エラー割込み
… 周辺回路よりの転送停止要求 ( 周辺に起因するエラー )
これら割込みはすべて終了コードの内容に従って出力されます。
割込み要求のクリアは , DMACS の DSS2 ∼ DSS0 ( 終了コード ) に "000B" を書き込む
ことにより行います。
なお , 終了コードは再起動する際には必ず "000B" を書き込んでクリアしてください。
リロード動作が有効である場合は自動的に再起動しますが , この際には終了コードは
クリアされず , 次の転送終了による新しい終了コードの書込み時まで保持されます。
終了コードにて表示できる終了要因は1種類のみですので, 複数の要因が同時に発生し
た場合は優先判断を行った結果を表示します。この際に発生する割込みは , 表示されて
いる終了コードに従います。
終了コードの表示の優先順位を以下に示します ( 上から優先度の高い順 ) 。
• リセット
• "000B" 書込みによるクリア
• 周辺停止要求
• 正常終了
• チャネル選択と制御
■ スリープ中の DMA 転送
• DMAC は , スリープモード中でも動作させることができます。
• スリープモードでの動作を期待する場合 , 次のことに注意する必要があります。
(1) CPU は停止状態なので DMAC のレジスタを書き換えることはできません。ス
リープモードに入る前に設定は済ませておいてください。
(2) スリープモードは , 割込みで解除されますので DMA 起動要因で周辺での割込み
を選択した場合は , 割込みコントローラで割込みを禁止する必要があります。
同様に DMA 終了割込みでスリープモードを解除したくない場合は割込みを禁止にし
てください。
490
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 16 章 DMAC (DMA コントローラ )
16.4 転送シーケンス
MB91313A シリーズ
■ チャネル選択と制御
転送チャネルの数は 5 チャネルまで同時設定が可能です。各チャネルは基本的に各機
能を独立に設定することが可能です。
● チャネル間優先順位
DMA 転送は同時に 1 チャネルのみ可能なため , 各チャネル間には優先順位が設定され
ます。
順位設定には, 固定/回転の2モードがありチャネルグループ (後述) ごとに選択します。
• 固定モード
チャネル番号の小さい順に固定されます。
(ch.0 > ch.1 > ch.2 > ch.3 > ch.4)
転送中により高い優先度の転送要求が受け付けられた場合, 1転送単位 (ブロックサ
イズ指定レジスタに設定した数×データ幅 ) の転送が終了した時点で , 転送チャネ
ルが高優先度側に切り換わります。
高優先度側の転送が終了すると , 元のチャネルの転送を再開します。
図 16.4-3 固定モード時の DMA 転送
ch.0 転送要求
ch.1 転送要求
バス動作
CPU
SA
転送チャネル
DA
SA
ch.1
DA
SA
ch.0
DA
SA
ch.0
DA
CPU
ch.1
ch.0 転送終了
ch.1 転送終了
• 回転モード (ch.0 ∼ ch.1 間のみ )
動作許可後の初期状態は (1) と同じ順位に設定されますが , 1 転送終了ごとにその
チャネルの優先度は逆転します。よって , 同時に転送要求が出力されている場合 , 1
転送単位ごとにチャネルが切り換わります。
連続 / バースト転送を設定した場合に効果のあるモードです。
図 16.4-4 回転モード時の DMA 転送
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-10143-5
FUJITSU SEMICONDUCTOR LIMITED
491
第 16 章 DMAC (DMA コントローラ )
16.4 転送シーケンス
MB91313A シリーズ
● チャネルグループ
優先順位の選択は , 以下の単位で設定します。
モード
優先度
備考
固定
ch.0 > ch.1
−
ch.0 > ch.1
回転
↑↓
ch.0 < ch.1
492
初期状態は上側の順位です。
上側が転送されると反転します。
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 16 章 DMAC (DMA コントローラ )
16.5 動作フローチャート
MB91313A シリーズ
16.5
動作フローチャート
次の動作モードにおける動作フローチャートを示します。
• ブロック転送
• バースト転送
■ ブロック転送
図 16.5-1 ブロック転送の動作フローチャート
DMA停止
DENB→0
DENB=1
リロード許可
起動要求待機
起動要求
initial
アドレス,転送回数,
ブロック数ロード
転送元アドレスアクセス
アドレス演算
転送先アドレスアクセス
アドレス演算
ブロック数-1
BLK=0
転送回数-1
周辺割込み起動要因選択時のみ
アドレス,転送回数,
ブロック数,ライトバック
割込みクリア
割込みクリア発生
DTC=0
DMA転送終了
DMA割込み発生
ブロック転送
・すべての起動要因で起動できる(選択)
・すべての領域へのアクセスができる
・ブロック数の設定可能
・ブロック数終了で割込みクリア発行
・指定転送回数終了でDMA割込みを発行
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
493
第 16 章 DMAC (DMA コントローラ )
16.5 動作フローチャート
MB91313A シリーズ
■ バースト転送
図 16.5-2 バースト転送の動作フローチャート
DMA停止
DENB→0
DENB=1
起動要求待機
リロード許可
initial
アドレス,転送回数,
ブロック数ロード
転送元アドレスアクセス
アドレス演算
転送先アドレスアクセス
アドレス演算
ブロック数-1
BLK=0
転送回数-1
DTC=0
アドレス,転送回数,
ブロック数,ライトバック
割込みクリア
周辺割込み起動要因選択時のみ
割込みクリア発生
DMA転送終了
DMA割込み発生
バースト転送
・すべての起動要因で起動できる(選択)
・すべての領域へのアクセスができる
・ブロック数の設定可能
・指定転送回数終了で割込みクリア,DMA割込みを発行
494
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 16 章 DMAC (DMA コントローラ )
16.6 データバス
MB91313A シリーズ
16.6
データバス
データバスの転送例を示します。
■ 2 サイクル転送時のデータの動き
図 16.6-1 サイクル転送時のデータの動き
外部領域 → 外部領域 転送
CPU
I-bus
X-bus
バスコントローラ
D-bus
データバッファ
ライトサイクル
I-bus
CPU
リードサイクル
X-bus
バスコントローラ
D-bus
外部バスI/F
DMAC
外部バスI/F
DMAC
データバッファ
F-bus
F-bus
RAM
I/O
RAM
I/O
外部領域 → 内部RAM領域 転送
CPU
I-bus
X-bus
バスコントローラ
D-bus
データバッファ
ライトサイクル
I-bus
CPU
リードサイクル
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/O
外部バスI/F
CPU
I-bus
DMAC
ライトサイクル
CPU
DMAC
リードサイクル
外部バスI/F
外部領域 → 内蔵I/O領域 転送
F-bus
RAM
I/O
( 続く )
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
495
第 16 章 DMAC (DMA コントローラ )
16.6 データバス
MB91313A シリーズ
( 続き )
X-bus
バスコントローラ
D-bus
データバッファ
I-bus
X-bus
バスコントローラ
D-bus
F-bus
F-bus
RAM
外部バスI/F
CPU
I-bus
DMAC
ライトサイクル
CPU
DMAC
リードサイクル
外部バスI/F
内蔵I/O領域 → 内部RAM領域 転送
I/O
RAM
I/O
CPU
I-bus
X-bus
バスコントローラ
D-bus
データバッファ
I-bus
X-bus
バスコントローラ
D-bus
データバッファ
F-bus
F-bus
RAM
外部バスI/F
リードサイクル
DMAC
ライトサイクル
CPU
DMAC
外部バスI/F
内部RAM領域 → 外部領域 転送
I/O
RAM
I/O
内部RAM領域 → 内蔵I/O領域 転送
CPU
I-bus
X-bus
バスコントローラ
D-bus
データバッファ
ライトサイクル
X-bus
I-bus
CPU
リードサイクル
バスコントローラ
D-bus
データバッファ
F-bus
RAM
496
I/O
FUJITSU SEMICONDUCTOR LIMITED
外部バスI/F
DMAC
外部バスI/F
DMAC
F-bus
RAM
I/O
CM71-10143-5
第 17 章
リモコン受信
HDMI-CEC 受信・ACK 自動応答 , リモコン受信の
機能と動作について説明します。
17.1 リモコン受信の概要
17.2 リモコン受信のレジスタ
17.3 リモコン受信の動作説明と設定手順例
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
497
第 17 章 リモコン受信
17.1 リモコン受信の概要
17.1
MB91313A シリーズ
リモコン受信の概要
本製品には , HDMI-CEC 受信・ACK 自動応答 , リモコン受信の機能が搭載されてい
ます。
■ リモコン受信のブロックダイヤグラム
図 17.1-1 リモコン受信のブロックダイヤグラム
カウント
クロック
オーバフロー
カウンタ
"H"幅設定レジスタ
スタートビット検出
RCIN
エッジ
検出
立上り/立下り
ノイズ
フィルタ
ラッチ
Comp
"1" 検出
"0" 検出
*1
ACK
RCACK
データ格納レジスタ
エンディアン
変換
シフタ
*1 : 擬似オープンドレイン
498
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 17 章 リモコン受信
17.2 リモコン受信のレジスタ
MB91313A シリーズ
17.2
リモコン受信のレジスタ
リモコン受信で使用するレジスタの構成と機能について説明します。
■ リモコン受信のレジスタ構成
リモコン受信のレジスタ一覧を表 17.2-1 に示します。
表 17.2-1 リモコン受信のレジスタ一覧
アドレス
レジスタ略称
000X0H
RCCR
リモコン受信制御レジスタ *1
000X1H
RCST
リモコン受信割込み制御レジスタ *1
000X2H
RCSHW
000X3H
RCDAHW
"H" 幅設定レジスタ A *1
000X4H
RCDBHW
"H" 幅設定レジスタ B *1
000X5H
予約
000X6H
RCADR1
デバイスアドレス設定レジスタ 1 *1
000X7H
RCADR2
デバイスアドレス設定レジスタ 2 *1
000X8H
RCDTHH
データ格納レジスタ HH
000X9H
RCDTHL
データ格納レジスタ HL
000XAH
RCDTLH
データ格納レジスタ LH
000XBH
RCDTLL
データ格納レジスタ LL
RCCKD
クロック分周レジスタ *2
000XCH
000XDH
レジスタ名
スタートビット "H" 幅設定レジスタ *1
X = 18H ( : ch.0), 19H ( : ch.1)
*1 : 8 ビットアクセスのみ可能
*2 : 16 ビットアクセスのみ可能
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
499
第 17 章 リモコン受信
17.2 リモコン受信のレジスタ
17.2.1
MB91313A シリーズ
リモコン受信制御レジスタ (RCCR)
リモコン受信制御レジスタ (RCCR) のビット構成を図 17.2-1 に示します。
■ リモコン受信制御レジスタ (RCCR)
図 17.2-1 リモコン受信制御レジスタ (RCCR) のビット構成
bit
7
6
5
4
3
2
1
0
THSEL
予約
予約
予約
ADRCE
MOD1
MOD0
EN
0
0
0
R/W
属性
初期値
0
−
−
0
−
R/W:リード / ライト可能
< 注意事項 >
本レジスタは , 8 ビットアクセスのみ可能です。
[bit 7]:THSEL
しきい値選択ビットです。
初期値は "0" です。
"H" 幅設定レジスタ A/B によって "0", "1" を判定する基準を設定します。
THSEL
状態
0
1
W>幅A
W<幅B
"0" データ
"1" データ
W>幅A
W≧幅B
"1" データ
"0" データ
[bit 6 ∼ bit 4]:予約ビット
書込み時
無効です。
読出し時
"0" が読み出されます。
[bit 3]:ADRCE
アドレス比較許可ビットです。
初期値は "0"( 比較禁止 ) で , "1" にすると受信アドレスとデバイスアドレスの比較が許
可されます。
比較許可の場合 , アドレスが一致したときのみ ACK/OVF 割込みが発生します。
CEC モードの場合 , アドレス一致を検出すると ACK 応答を返します。ブロードキャス
トアドレスの場合は一致とみなしますが , ACK 応答は行いません。
SIRCS モード・HDMI-CEC モード以外のときは "0" に設定してください。
500
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 17 章 リモコン受信
17.2 リモコン受信のレジスタ
MB91313A シリーズ
[bit 2, bit 1]:MOD1, MOD0
リモコン受信の動作モードを設定します。
MOD1 MOD0
機能
0
0
SIRCS モード [ 初期値 ]
0
1
設定禁止
1
0
NEC/ 家電協モード ( リピート信号未対応 )
1
1
HDMI-CEC モード
SIRCS モード以外 (MOD1=1 のとき ) は , 入力信号を内部で反転して処理しています。
High 幅比較は Low 幅に対して適用されます。
[bit 0]:EN
動作許可ビットです。
本ビットを "1" にすると , リモコン受信動作が開始されます。
初期値は "0"( 停止 ) です。
本ビットが"1"のとき(動作中)は,下記の設定レジスタ・ビットは変更しないでください。
RCCR レジスタの THSEL ビット , ADRCE ビット , MOD ビット
RCST レジスタの OVFSEL ビット
RCSHW, RCDAHW, RCDBHW, RCADR1, RCADR2, RCCKD レジスタ
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
501
第 17 章 リモコン受信
17.2 リモコン受信のレジスタ
17.2.2
MB91313A シリーズ
リモコン受信割込み制御レジスタ (RCST)
リモコン受信割込み制御レジスタ (RCST) のビット構成を図 17.2-2 に示します。
■ リモコン受信割込み制御レジスタ (RCST)
図 17.2-2 リモコン受信割込み制御レジスタ (RCST) のビット構成
bit
7
6
5
4
3
2
1
0
STIE
ACKIE
OVFIE
OVFSEL
ST
ACK
EOM
OVF
R/W
属性
0
初期値
R/W:リード / ライト可能
< 注意事項 >
本レジスタは , 8 ビットアクセスのみ可能です。
[bit 7]:STIE
スタートビット割込みを許可するビットです。
値
説明
0
割込み禁止
1
割込み許可
[bit 6]:ACKIE
ACK 割込みを許可するビットです。
値
説明
0
割込み禁止
1
割込み許可
CEC モードのみ有効です。
[bit 5]:OVFIE
カウンタオーバフロー割込みを許可するビットです。
値
説明
0
割込み禁止
1
割込み許可
本割込みは,スタートビットが検出された後にオーバフローが発生した場合のみ発生し
ます。
スタートビット未検出の状態では割込みは発生しません。
502
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 17 章 リモコン受信
17.2 リモコン受信のレジスタ
MB91313A シリーズ
[bit 4]:OVFSEL
オーバフロー検出の条件を設定するビットです。
値
説明
0
カウンタが 128 クロックカウントするとオーバフローが発生します。
1
カウンタが 256 クロックカウントするとオーバフローが発生します。
[bit 3]:ST
スタートビット検出を示すビットです。
値
説明
0
スタートビット未検出
1
スタートビット検出
"0" 書込みでクリアされます。
STIE ビットが "1" のとき , スタートビットを検出すると割込みが発生します。
[bit 2]:ACK
ACK 検出を示すビットです。
値
説明
0
ACK 未検出
1
ACK 検出
"0" 書込みでクリアされます。
ACKIE ビットが "1" のとき , ACK を検出すると割込みが発生します。
アドレス比較許可の場合は , アドレス一致した場合のみ割込みが発生します。
CEC モードのみ有効です。
[bit 1]:EOM
EOM 検出を示すビットです。
値
説明
0
EOM 未検出
1
EOM 検出
"0" 書込みでクリアされます。
CEC モードのみ有効です。
[bit 0]:OVF
カウンタオーバフローの検出を示すビットです。
値
説明
0
カウンタオーバフロー未検出
1
カウンタオーバフロー検出
アドレス比較許可の場合は , アドレス一致した場合のみ割込みが発生します。
"0" 書込みでクリアされます。
SIRCS モード時は , 2 バイト目を受信するまでは OVF フラグはセットされません。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
503
第 17 章 リモコン受信
17.2 リモコン受信のレジスタ
17.2.3
MB91313A シリーズ
デバイスアドレス設定レジスタ 1, 2
(RCADR1, RCADR2)
デバイスアドレス設定レジスタ 1, 2 (RCADR1, RCADR2) のビット構成を図 17.2-3
に示します。
■ デバイスアドレス設定レジスタ 1, 2 (RCADR1, RCADR2)
図 17.2-3 デバイスアドレス設定レジスタ 1, 2 (RCADR1, RCADR2) のビット構成
bit
7
6
5
4
3
1
0
0
0
RCADR1, 2
予約
R/W
属性
初期値
2
−
−
−
0
0
0
R/W:リード / ライト可能
< 注意事項 >
本レジスタは , 8 ビットアクセスのみ可能です。
[bit 7 ∼ bit 5]:予約ビット
書込み時
無効です。
読出し時
"0" が読み出されます。
[bit 4 ∼ bit 0]:RCADR1, 2
デバイス側 ( 受信側 ) のアドレスを設定するレジスタです。
本レジスタに設定したアドレスが , リモコン受信したデバイスアドレスや HDMI-CEC
のデスティネーションと比較されます。
HDMI-CEC モード時は , 本レジスタに 0FH( ブロードキャストアドレス ) を設定しない
でください。
504
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 17 章 リモコン受信
17.2 リモコン受信のレジスタ
MB91313A シリーズ
スタートビット "H" 幅設定レジスタ (RCSHW)
17.2.4
スタートビット "H" 幅設定レジスタ (RCSHW) のビット構成を図 17.2-4 に示しま
す。
■ スタートビット "H" 幅設定レジスタ (RCSHW)
図 17.2-4 スタートビット "H" 幅設定レジスタ (RCSHW) のビット構成
bit
7
0
RCSHW
R/W
属性
0
初期値
R/W:リード / ライト可能
< 注意事項 >
本レジスタは , 8 ビットアクセスのみ可能です。
スタートビットの "H" 期間を設定するレジスタです。
設定値を超える幅の "H" が受信されると , スタートビットと認識します。
受信した信号の "H" 幅が設定値未満の場合 , スタートビット未検出となり , 再度スター
トビット "H" の検出待ち状態となります。
OVFSEL=0 のときは RCSHW ≦ 127( オーバフロー検出を超えない値 ) としてください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
505
第 17 章 リモコン受信
17.2 リモコン受信のレジスタ
17.2.5
MB91313A シリーズ
"H" 幅設定レジスタ A (RCDAHW)
"H" 幅設定レジスタ A (RCDAHW) のビット構成を図 17.2-5 に示します。
■ "H" 幅設定レジスタ A (RCDAHW)
図 17.2-5 "H" 幅設定レジスタ A (RCDAHW) のビット構成
bit
7
0
RCDAHW
R/W
属性
0
初期値
R/W:リード / ライト可能
< 注意事項 >
本レジスタは , 8 ビットアクセスのみ可能です。
"H" 期間を設定するレジスタ A です。
本レジスタに設定する値は , 2 ≦ RCDAHW < RCDBHW となるようにしてください。
また , CEC モード時は , RCDAHW < 46 となるようにしてください (ACK 応答パルス
幅未満 )。
506
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 17 章 リモコン受信
17.2 リモコン受信のレジスタ
MB91313A シリーズ
"H" 幅設定レジスタ B (RCDBHW)
17.2.6
"H" 幅設定レジスタ B (RCDBHW) のビット構成を図 17.2-6 に示します。
■ "H" 幅設定レジスタ B (RCDBHW)
図 17.2-6 "H" 幅設定レジスタ B (RCDBHW) のビット構成
bit
7
0
RCDBHW
R/W
属性
0
初期値
R/W:リード / ライト可能
< 注意事項 >
本レジスタは , 8 ビットアクセスのみ可能です。
"H" 期間を設定するレジスタ B です。
RCCDAHW より小さい値は設定しないでください。
必ず RCCDAHW < RCCDBHW < RCSHW となるように設定してください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
507
第 17 章 リモコン受信
17.2 リモコン受信のレジスタ
17.2.7
MB91313A シリーズ
データ格納レジスタ
(RCDTHH, RCDTHL, RCDTLH, RCDTLL)
データ格納レジスタ (RCDTHH, RCDTHL, RCDTLH, RCDTLL) のビット構成を図
17.2-7 に示します。
■ データ格納レジスタ (RCDTHH, RCDTHL, RCDTLH, RCDTLL)
図 17.2-7 データ格納レジスタ (RCDTHH, RCDTHL, RCDTLH, RCDTLL) のビット構成
bit 31
24 23
RCDTHH
16 15
RCDTHL
8 7
RCDTLH
属性
R
初期値
0
0
RCDTLL
R:リードオンリ
受信したデータを格納するレジスタです。
CEC モードの場合は RCDTHH に受信データが格納されます。
リモコンモードの場合は , 8 ビット受信するごとに RCDTHH から順に格納されます。
カウンタオーバフロー割込み発生時は , それまで受信されたビットが MSB 詰めで格納
されます。
RCCR レジスタの EN ビットが "0" のときは , 本レジスタからは不定が読み出されます。
4 バイト分を超える信号が入力された場合 , 超過分は無視され , レジスタには反映され
ません。
508
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 17 章 リモコン受信
17.2 リモコン受信のレジスタ
MB91313A シリーズ
クロック分周設定レジスタ (RCCKD)
17.2.8
クロック分周設定レジスタ (RCCKD) のビット構成を図 17.2-8 に示します。
■ クロック分周設定レジスタ (RCCKD)
図 17.2-8 クロック分周設定レジスタ (RCCKD) のビット構成
bit 15
13
属性
12
11
0
予約
R/W
CKSEL
CKDIV
R/W
R/W
−
0
0
初期値
R/W:リード / ライト可能
< 注意事項 >
本レジスタは , 16 ビットアクセスのみ可能です。
[bit 15 ∼ bit 13]:予約ビット
書込み時
無効です。
読出し時
"0" が読み出されます。
[bit 12]:CKSEL
動作クロックを選択します。
値
説明
0
リソースクロックを分周したクロックが選択されます。
1
原発振クロック (32kHz) が選択されます。
クロック分周レジスタ (RCCKD) の CKSEL ビットでサブクロックを選択する場合 , ク
ロックソース制御レジスタ (CLKR) の PLL2EN ビットに "1" を書き込んでサブクロック
を発振させてください。
[bit 11 ∼ bit 0]:CKDIV
リソースクロックの分周比を設定します。
分周比は CKDIV + 1 となります。
1 分周 ( 非分周 ) ∼ 4096 分周まで設定できます (CKSEL=1 の時は分周されません )。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
509
第 17 章 リモコン受信
17.3 リモコン受信の動作説明と設定手順例
17.3
MB91313A シリーズ
リモコン受信の動作説明と設定手順例
リモコン受信の動作について説明します。また , 各動作状態を設定するための設定
例も示します。
■ リモコン受信の動作フローチャート
● HDMI-CEC 受信
図 17.3-1 HDMI-CEC 受信の動作フローチャート
HDMI-CEC
スタートビット検出 ?
NO
YES
データ受信 (8ビット)
EOM検出 ?
NO
YES
ACK処理
ACK処理
終了
b7
Start bit
Initiator
MSB
510
b0
Destination
EOM ACK
Data
EOM ACK
LSB
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 17 章 リモコン受信
17.3 リモコン受信の動作説明と設定手順例
MB91313A シリーズ
● リモコン受信
図 17.3-2 リモコン受信の動作フローチャート
リモコン
スタートビット検出 ?
NO
YES
データ受信
オーバフロー ?
NO
YES
終了
b0
スタート
ビット
b6 b0
コマンド
LSB
b0
b0
b2 b0
Ext.+3
MSB LSB
b15 b0
LSB
CM71-10143-5
デバイス
MSB LSB
カスタムコード
リーダ
コード
b4
MSB LSB
b7 b0
データコード
MSB LSB
Ext.+5
b7
データコード
MSB LSB
FUJITSU SEMICONDUCTOR LIMITED
スタート
ビット
ストップ
ビット
リーダ
コード
MSB
511
第 17 章 リモコン受信
17.3 リモコン受信の動作説明と設定手順例
MB91313A シリーズ
■ リモコン受信の設定例
表 17.3-1 HDMI-CEC 時の設定例
レジスタ
設定値
備考
リモコン受信制御レジスタ
MOD=11, THSEL=1, ADRCE=1
リモコン受信割込み制御レジスタ
ACKIE=1, OVFSEL=1, OVFIE=1
(7.8 ms)
スタートビット "H" 幅設定レジスタ
114
3.5 ms
"H" 幅設定レジスタ A
13
0.4 ms
"H" 幅設定レジスタ B
42
1.3 ms
表 17.3-2 リモコン (SIRCS) 時の設定例
レジスタ
設定値
備考
リモコン受信制御レジスタ
MOD=00, THSEL=0, ADRCE=1
リモコン受信割込み制御レジスタ
ACKIE=0, OVFSEL=0, OVFIE=1
3.9 ms
スタートビット "H" 幅設定レジスタ
76
2.3 ms
"H" 幅設定レジスタ A
17
0.52 ms
"H" 幅設定レジスタ B
37
1.1 ms
表 17.3-3 リモコン (NEC) 時の設定例
レジスタ
設定値
備考
リモコン受信制御レジスタ
MOD=10, THSEL=0
リモコン受信割込み制御レジスタ
ACKIE=0, OVFSEL=1, OVFIE=1
7.8 ms
スタートビット "H" 幅設定レジスタ
144
4.4 ms
"H" 幅設定レジスタ A
15
0.46 ms
"H" 幅設定レジスタ B
52
1.6 ms
512
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 18 章
フラッシュメモリ
フラッシュメモリの概要 , レジスタの構成 / 機能お
よび動作について説明します。
18.1 フラッシュメモリの概要
18.2 フラッシュメモリのレジスタ
18.3 フラッシュメモリのアクセスモード
18.4 フラッシュメモリ自動アルゴリズム
18.5 自動アルゴリズム実行状態の確認
18.6 フラッシュメモリデータ書込み / 消去の詳細説明
18.7 データポーリングフラグ (DQ7) の制約事項と
誤判定回避方法
18.8 制限および注意事項
管理番号 : CM71-00512-2
固有箇所 : 514, 514, 515, 515, 516, 519, 521, 525, 536, 540, 546
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
513
第 18 章 フラッシュメモリ
18.1 フラッシュメモリの概要
18.1
MB91313A シリーズ
フラッシュメモリの概要
本製品は 544K バイト (4M ビット ) の容量で , 全セクタ一括消去およびセクタ単位
での消去と , FR-CPU によるハーフワード (16 ビット ) 単位での書込みが可能なフ
ラッシュメモリを内蔵しています。
■ フラッシュメモリの概要
内蔵の 3 V 動作 544K バイトフラッシュメモリです。
このフラッシュメモリは , 単体フラッシュメモリと同様に ROM ライタによるデバイス
外部からの書込みも可能です。また, 単体フラッシュメモリ相当の機能に加え, FR-CPU
の内蔵 ROM として使用する場合には , ワード (32 ビット ) 単位での命令 / データ読出し
が可能であり , デバイスの高速動作を実現できます。
本製品では, フラッシュメモリマクロとFR-CPUインタフェース回路の組み合わせによ
り , 以下の機能を実現します。
• CPU のプログラム / データ格納用メモリとして機能
- ROM として使用する際は 32 ビットバス幅でアクセス可能
- CPU による読出し / 書込み / 消去 ( 自動アルゴリズム *) が可能
• 単体フラッシュメモリ製品相当の機能
- ROM ライタによる読出し / 書込み / 消去 ( 自動アルゴリズム *) が可能
*: 自動アルゴリズム = Embedded Algorithm
ここでは , FR-CPU から本フラッシュメモリを使用する場合について記載しています。
ROMライタから本フラッシュメモリを使用する場合の詳細につきましては, 別途ROM
ライタの取り扱い説明書を参照ください。
514
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 18 章 フラッシュメモリ
18.1 フラッシュメモリの概要
MB91313A シリーズ
■ フラッシュメモリのブロックダイヤグラム
図 18.1-1 に , フラッシュメモリのブロックダイヤグラムを示します。
図 18.1-1 フラッシュメモリのブロックダイヤグラム
立上りエッジ検出
RDY/BUSYX
RESETX
BYEX
OEX
フラッシュメモリ
制御信号生成
544KB
WEX
CEX
RDY
WE
バ
ス
制
御
信
号
FA 19-0
DI 15-0
アドレスバッファ
DO 15-0
データバッファ
FA 19-0
FD 31-0
FR F-bus (instruction/data)
■ フラッシュメモリのメモリマップ
図 18.1-2 に , フラッシュメモリのメモリマップを示します。
図 18.1-2 フラッシュメモリのメモリマッピング
0000_0000
0007_8000
544Kバイト
FLASH
0010_0000
FFFF_FFFF
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
515
第 18 章 フラッシュメモリ
18.1 フラッシュメモリの概要
MB91313A シリーズ
■ フラッシュメモリのセクタアドレス表
フラッシュメモリのセクタ配置は , フラッシュモードと CPU モードで異なります。
● CPU モード時のセクタマップ
078000H
SA4 (64kB)
088000H
SA5 (64kB)
098000H
SA6 (64kB)
0A8000H
SA7 (64kB)
0B8000H
SA8 (64kB)
0C8000H
SA9 (64kB)
0D8000H
SA10 (64kB)
0E8000H
SA11 (64kB)
0F8000H
0FA000H
0FC000H
0FE000H
100000H
SA0 (8kB)
SA1 (8kB)
SA2 (8kB)
SA3 (8kB)
32ビット
516
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 18 章 フラッシュメモリ
18.1 フラッシュメモリの概要
MB91313A シリーズ
● フラッシュモード時のセクタマップ
078000H
07A000H
07C000H
07E000H
080000H
SA0 (8kB)
SA1 (8kB)
SA2 (8kB)
SA3 (8kB)
SA4 (64kB)
090000H
SA5 (64kB)
0A0000H
SA6 (64kB)
0B0000H
SA7 (64kB)
0C0000H
SA8 (64kB)
0D0000H
SA9 (64kB)
0E0000H
SA10 (64kB)
0F0000H
SA11 (64kB)
100000H
16ビット
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
517
第 18 章 フラッシュメモリ
18.2 フラッシュメモリのレジスタ
MB91313A シリーズ
フラッシュメモリのレジスタ
18.2
フラッシュメモリにはフラッシュコントロールステータスレジスタ (FLCR) とウェ
イトレジスタ (FLWC) の 2 つのレジスタがあります。
■ フラッシュメモリのレジスタ一覧
図 18.2-1 に , フラッシュメモリのレジスタ一覧を示します。
図 18.2-1 フラッシュメモリのレジスタ一覧
bit
7
0
フラッシュコントロールステータスレジスタ (FLCR)
ウェイトレジスタ (FLWC)
518
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 18 章 フラッシュメモリ
18.2 フラッシュメモリのレジスタ
MB91313A シリーズ
18.2.1
フラッシュコントロールステータスレジスタ (FLCR)
フラッシュメモリの動作状態を示すレジスタです。
■ フラッシュコントロールステータスレジスタ (FLCR) (CPU モード ) の構成
フラッシュメモリへの書込み制御などを行います。
CPU モードでのみアクセスすることが可能です。本レジスタは , リードモディファイ
ライト系命令ではアクセスしないでください。
図 18.2-2 FLCR のビット構成
FLCR
7
アドレス bit
007000H
予約
R
6
予約
R
5
予約
R
4
3
予約
R
RDY
R
2
1
0
予約
R
WE
R/W
予約
R
初期値
0000X000B
R/W :リード / ライト可能
R :リードオンリ
[bit7 ∼ bit4] 予約 : 予約ビット
予約ビットです。
読出し値は常に "0000B" です。
[bit 3] RDY: レディビット
自動アルゴリズム ( データ書込み / 消去 ) の動作状態を表示します。
読み出したデータはフラッシュメモリのステータスを示します。
0
データ書込み / 消去動作中で , データの読出しやデータ書込み / 消去コマンド
の受付はできません。また , フラッシュメモリ領域からデータを読み出せま
せん。
1
データの読出しおよびデータ書込み / 消去コマンドの受付が可能です。
•
リセット時 :"0" に初期化されません。
•
読出しのみ可能です。書込みは本ビット値に影響を与えません。
[bit 2] 予約ビット
予約ビットです。必ず "0" を設定してください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
519
第 18 章 フラッシュメモリ
18.2 フラッシュメモリのレジスタ
MB91313A シリーズ
[bit 1] WE: 書込み許可ビット
CPU モードにおけるフラッシュメモリへのデータおよびコマンドの書込みを制御
します。
フラッシュメモリモードにおいては , 本ビットの状態に関わらず書込み動作が有効
となります。
•
0
フラッシュメモリへの書込み禁止(無効), および読出しの倍速化
(32 ビットアクセス)
1
フラッシュメモリへの書込み許可(有効), および読出しの低速化
(16 ビットアクセス)
リセット時 :"0" に初期化されます。
<注意事項>
• 本ビットの書換えは必ず RDY ビットにより自動アルゴリズムが停止していることを確
認してから行ってください。RDY ビットが "0" の間本ビットを書換えることはできま
せん。
• WE=1 のときは命令アクセス要求には応答せず , データアクセス要求にのみ応答しま
す。
[bit 0] 予約ビット
予約ビットです。必ず "0" を設定してください。
520
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 18 章 フラッシュメモリ
18.2 フラッシュメモリのレジスタ
MB91313A シリーズ
18.2.2
ウェイトレジスタ (FLWC)
ウェイトレジスタ (FLWC) は , CPU モードにおいてフラッシュメモリアクセスのウェイト制
御を行います。
■ ウェイトレジスタ (FLWC) のビット構成
ウェイトレジスタ (FLWC) のビット構成は , 以下のとおりです。
図 18.2-3 ウェイトレジスタのビット構成
FLWC
7
アドレス bit
007004H
FAC1
R/W
6
5
4
3
2
1
0
FAC0 WTW2 WTW1 WTW0 WTC2 WTC1 WTC0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
01011011B
R/W :リード / ライト可能
[bit7, bit6] FAC1, FAC0 : アクセス制御ビット
フラッシュ制御の内部パルス生成を制御するための設定ビットです。これらのビッ
トの設定により , ATDIN/EQIN パルスの幅を設定することができます。
必ずリードアクセスのウェイトサイクル設定 (WTC2 ∼ WTC0) と合わせた値を設定
してください。
FAC1 FAC0
CM71-10143-5
ATDIN
EQIN
備考
0
0
0.5 クロック
1.0 クロック
読出し1ウェイト
0
1
1.0 クロック
1.5 クロック
読出し 2, 3 ウェイト [ 初期値 ]
1
0
1.5 クロック
2.0 クロック
設定禁止
1
1
2.0 クロック
2.5 クロック
設定禁止
FUJITSU SEMICONDUCTOR LIMITED
521
第 18 章 フラッシュメモリ
18.2 フラッシュメモリのレジスタ
MB91313A シリーズ
[bit5 ∼ bit3] WTW2 ∼ WTW0: ライトウェイトサイクルビット
WTW2
WTW1
WTW0
ウェイトサイクル
備考
0
0
0
−
設定禁止
0
0
1
1
設定禁止
0
1
0
2
設定禁止
0
1
1
3
初期値
1
0
0
4
設定禁止
1
0
1
5
設定禁止
1
1
0
6
設定禁止
1
1
1
7
設定禁止
• リセット時 , "011B" に初期化されます。
• "011B" 以外を設定しないでください。
[bit2 ∼ bit0] WTC2 ∼ WTC0 : ウェイトサイクルビット
WTC2
WTC1
WTC0
ウェイトサイクル
備考
0
0
0
−
設定禁止
0
0
1
1
−
0
1
0
2
−
0
1
1
3
初期値
1
0
0
4
設定禁止
1
0
1
5
設定禁止
1
1
0
6
設定禁止
1
1
1
7
設定禁止
• リセット時 , "011B" に初期化されます。
522
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
18.3
第 18 章 フラッシュメモリ
18.3 フラッシュメモリのアクセスモード
フラッシュメモリのアクセスモード
FR-CPU によりアクセスする場合 , 以下の 2 種類のアクセスモードが存在します。
• FR-CPU ROM モード
ワード (32 ビット ) 長データを一括で読み出すことができますが , 書込みはできま
せん。
• FR-CPU プログラミングモード
ワード (32 ビット ) 長アクセスは禁止されていますが , ハーフワード (16 ビット )
長での読出し / 書込みが可能になります。
■ FR-CPU ROM モード (32 ビット , 読出しのみ )
FR-CPU の内蔵 ROM として機能するモードです。ワード (32 ビット ) 長データの一括
読出しが可能となりますが , フラッシュメモリへの書込み , 自動アルゴリズムの起動は
できません。
● モードの指定方法
• フラッシュコントロールステータスレジスタ (FLCR) の WE ビットが "0" のとき , 本
モードとなります。
• CPU 動作時でのリセット解除後は常に本モードになります。
• CPU 動作時以外では本モードにすることができません。
● 動作内容
フラッシュメモリ領域の読出し時 , メモリよりワード (32 ビット ) 長データを一括で読
み出します。
● 制限事項
• ROM ライタ書込み時とはアドレスの与え方 , およびエンディアンが異なります。
• 本モードでは , フラッシュメモリへのコマンド / データともに書込みはできません。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
523
第 18 章 フラッシュメモリ
18.3 フラッシュメモリのアクセスモード
MB91313A シリーズ
■ FR-CPU プログラミングモード (16 ビット , 読出し / 書込み )
データの消去 / 書込みが可能になるモードです。ワード (32 ビット ) 長データの一括ア
クセスは不可能ですので , 本モードで動作している間はフラッシュメモリ上のプログ
ラムの実行を禁止します。
● モードの指定方法
• フラッシュコントロールステータスレジスタ (FLCR) の WE ビットが "1" のとき本
モードとなります。
• CPU 動作時でのリセット解除後は WE ビットが "0" になっています。本モードにす
るためには "1" を書き込んでください。再度 "0" を書き込むか , またはリセットの発
生により WE ビットが "0" になると FR-CPU ROM モードに戻ります。
• フラッシュコントロールステータスレジスタ (FLCR) の RDY ビットが "0" の期間は
WE ビットを書き換えることができません。RDY ビットが "1" になったことを確認
してから WE ビットを書き換えてください。
● 動作内容
• フラッシュメモリ領域の読出し時 , メモリよりハーフワード (16 ビット ) 長データを
一括で読み出します。
• フラッシュメモリへのコマンド書込みにより , 自動アルゴリズムを起動できます。
自動アルゴリズムの起動により , フラッシュメモリの消去 / 書込みが可能となりま
す。自動アルゴリズムの詳細については , 「18.4 フラッシュメモリ自動アルゴリズ
ム」を参照してください。
● 制限事項
• ROM ライタ書込み時とはアドレスの与え方 , およびエンディアンが異なります。
• 本モードではワード (32 ビット ) 長でデータを読み出すことを禁止します。
■ 自動アルゴリズム実行状態
FR-CPU プログラミングモードにて自動アルゴリズムを起動した場合には , フラッシュ
コントロールステータスレジスタ (FLCR) の RDY ビットで自動アルゴリズムの動作状
態を確認できます。
RDY ビットが "0" の期間は , 自動アルゴリズムによるデータ書込み , または消去が行わ
れており , 新たな書込み , または消去コマンドを受け付けることはできません。また , フ
ラッシュメモリアドレスからのデータ読出しはできません。
RDY ビットが "0" の期間に読み出したデータは , フラッシュメモリのステータスを示
すハードウェアシーケンスフラグとなっています。
524
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 18 章 フラッシュメモリ
18.4 フラッシュメモリ自動アルゴリズム
MB91313A シリーズ
フラッシュメモリ自動アルゴリズム
18.4
フラッシュメモリの自動アルゴリズムを起動するコマンドには , リセット , 書込み ,
チップ消去 , セクタ消去の 4 種類があり , セクタ消去については一時停止と再開の制
御が可能です。
■ コマンドシーケンス
自動アルゴリズムを起動するには , フラッシュメモリに対し , 1 回∼ 6 回のハーフワー
ド (16 ビット ) データの連続書込みを実行します。これをコマンドとよびます。
不正なアドレスとデータを書き込んだり , 誤った順番でアドレスとデータを書き込ん
だりすると , フラッシュメモリは読出しモードにリセットされます。
表 18.4-1 コマンドシーケンス表にフラッシュメモリの書込み / 消去時に使用するコマ
ンドの一覧を示します。
表 18.4-1 コマンドシーケンス表
コマンド アクセ
シーケンス ス回数
第 1 書込み
サイクル
第 2 書込み
サイクル
データ
F0F0H
アドレス
第 3 書込み
サイクル
第 4 書込み
サイクル
第 5 書込み
サイクル
第 6 書込み
サイクル
リセット
1
アドレス
XXXXH
データ アドレス データ アドレス データ アドレス データ アドレス データ
−
DAAA8H
−
F0F0H
−
−
−
−
DAAA8H AAAAH
−
5555H
−
3
−
D5554H
−
リセット
データ
書込み
チップ消去
−
−
−
−
−
−
4
DAAA8H AAAAH
D5554H
5555H
DAAA8H A0A0H
PA
PD
−
−
−
−
5555H DAAA8H 8080H DAAA8H AAAAH D5554H 5555H DAAA8H XX10H
DAAA8H AAAAH D5554H
6
DAAA8H AAAAH D5554H
3030H
5555H DAAA8H 8080H DAAA8H AAAAH D5554H 5555H
6
SA
セクタ消去
セクタ消去一時停 アドレス = XXXX , データ = B0B0 の入力でセクタ消去中の一時停止
H
H
止
アドレス
=
XXXX
,
データ
=
3030
セクタ消去再開
H
H の入力でセクタ消去中の一時停止後 , 消去再開
連続モード
3
DAAA8H AAAAH
D5554H
5555H
DAAA8H
2020H
−
−
−
−
−
−
連続書込み
2
XXXXXH A0A0H
PA
−
−
−
−
−
−
−
−
連続モード
リセット
PD
F0F0H
2
XXXXXH
XXXXXH または
0000H
−
−
−
−
−
−
−
−
RA:
PA:
SA:
RD:
PD:
9090H
読出しアドレス
書込みアドレス
セクタアドレス ( セクタ内の任意の 1 アドレスを指定 )
読出しデータ
書込みデータ
● リセットコマンド
フラッシュメモリを読出し / リセットモードにセットします。フラッシュメモリは , ほ
かのコマンドが入力されるまで読出し状態を保ちます。フラッシュメモリは , 電源投入
時自動的に読出し / リセットモードにセットされます。この場合は , リセットコマンド
は必要ありません。
タイミングリミット超過から読出し / リセットモードへ復帰するには , リセットコマン
ドシーケンスを発行することで行います。読出しサイクルでフラッシュメモリから
データを読み出します。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
525
第 18 章 フラッシュメモリ
18.4 フラッシュメモリ自動アルゴリズム
MB91313A シリーズ
● プログラム ( データ書込み )
FR-CPU プログラミングモードでは , ハーフワード単位を基本として書込みを行いま
す。データ書込みは 4 回のバス動作で行われます。コマンドシーケンスの最後の書込
みサイクルでメモリへの書込みが開始されます。
データ書込みの自動アルゴリズム実行後は , フラッシュメモリはそれ以上の外部から
の制御を必要としません。フラッシュメモリは , 自動的に内部で作られた適切な書込み
パルスを発生し , 書き込まれたセルのマージンを検証します。自動書込み動作は , デー
タポーリング機能により , データポーリングフラグ (DQ7) がこのビットに書き込んだ
データに一致したとき終了し (「18.5 自動アルゴリズム実行状態の確認」の「■ ハー
ドウェアシーケンスフラグ」を参照してください。), このときをもって読出し / リセッ
トモードに戻り , これ以上書込みアドレスは受け付けなくなります。この結果 , フラッ
シュメモリはこの時点で次の有効アドレスを要求します。このようにデータポーリン
グは , メモリが書込み中であることを示します。
書込み中はフラッシュメモリに書き込まれたすべてのコマンドが無視されます。もし
書込み中にハードウェアリセットが起動されると書き込んでいるアドレスのデータは
保証されません。
書込みはどのようなアドレスの順番でも , またセクタの境界を超えても可能です。書込
みによって , データ 0 をデータ 1 に戻すことはできません。データ 0 にデータ 1 を書き
込むと , データポーリングアルゴリズムにより , 素子が不良と判定されるか , あるいは
見かけ上データ 1 が書き込まれたように見えるかのどちらかです。しかし , 読出し / リ
セットモードでデータを読み出すとデータは "0" のままです。消去動作のみが "0" デー
タを "1" データにすることができます。
● チップ消去
チップ消去 ( 全セクタの一括消去 ) は , 6 回のバス動作で行われます。チップ消去では ,
消去前にユーザがフラッシュメモリに書込みを行う必要はありません。チップ消去の
自動アルゴリズム実行中にはフラッシュメモリは自動的にすべてのセルを消去する前
に "0" のパターンに書き込んで検証します ( プリプログラム )。
この動作中には , フラッ
シュメモリは外部からの制御は必要としません。
チップ消去の自動アルゴリズムはコマンドシーケンス中の書込みで開始され , データ
ポーリングフラグ (DQ7) が "1" になったときに終了し , このときフラッシュメモリは読
出し / リセットモードに戻ります。チップ消去時間は「セクタ消去時間×全セクタ数 +
チップ書込み時間 ( プリプログラム )」となります。
526
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 18 章 フラッシュメモリ
18.4 フラッシュメモリ自動アルゴリズム
● セクタ消去
セクタ消去は , 6 回のバス動作で行われます。コマンドシーケンスの最後(6 サイクル
目)にセクタ消去コマンドを入力することによりセクタ消去が始まります。最後のセ
クタ消去コマンドの書込みから 40 μs ∼ 160 μs のタイムアウト期間中 , 次のセクタ消去
コマンドの受け付けが可能です。
複数のセクタ消去は前述のコマンドシーケンスを書き込むことで同時に受け付け可能
となります。このシーケンスは同時に消去するセクタのアドレスにセクタ消去コマン
ド (3030H) を引き続き書き込むことで行います。最後 (6 サイクル目 ) のセクタ消去コ
マンドの書込みから 40 μs ∼ 160μs のタイムアウト期間終了により , セクタ消去が開始
されます。つまり , 複数のセクタを同時に消去する場合には , 次の消去セクタをそれぞ
れ 40 μs 以内に入力する必要があり , それ以降ではコマンドは受け付けられないことが
あります。引き続くセクタ消去コマンドが有効かどうかはセクタ消去タイマフラグ
(DQ3) にてモニタ可能です (「18.5 自動アルゴリズム実行状態の確認」の「■ ハード
ウェアシーケンスフラグ」を参照してください。)。
タイムアウト期間中はセクタ消去コマンドと消去一時停止以外のコマンドはすべて読
出しにリセットし , その前のコマンドシーケンスは無視します。この場合は , そのセク
タを再度消去することにより消去が完了します。セクタ消去バッファへのセクタアド
レス入力は , セクタのどのような組み合わせや数 (0 ∼ 6) からでも実行可能です。
セクタ消去では , 消去前にユーザがフラッシュメモリに書込みを行う必要はありませ
ん。フラッシュメモリは自動的に消去されるセクタ内のすべてのセルに書込みを行い
ます ( プリプログラム )。また , セクタ消去中はほかの消去されないセクタは何の影響
も受けません。これらの動作中 , フラッシュメモリは外部からの制御は必要としませ
ん。
自動セクタ消去は , 最後のセクタ消去コマンドの書込みから 40 μs ∼ 160 μs のタイム
アウト期間の後に開始され , データポーリングフラグ (DQ7) のデータが "1" になったと
き終了し , フラッシュメモリは読出し / リセットモードに戻ります。ほかのコマンドは
無視されます。データポーリングは消去されたセクタ内のどのアドレスでも働きます。
複数セクタ消去時間は「( セクタ消去時間 + セクタ書込み時間 ( プリプログラム )) ×消
去セクタ数」となります。
● 消去一時停止
消去一時停止コマンドは , ユーザがセクタ消去中にフラッシュメモリの自動アルゴリ
ズムを一時停止して消去中でないセクタからのデータ読出しと書込みを可能にするも
のです。このコマンドはセクタ消去中のみ有効で , チップ消去や書込みの動作中は無視
されます。消去一時停止コマンド (B0B0H) はセクタ消去コマンド (3030H) 後のセクタ
消去タイムアウト期間を含むセクタ消去動作中にのみ有効です。このコマンドがタイ
ムアウト期間中に入力されるとただちにタイムアウトを終了し , 消去動作を中断しま
す。消去再開コマンドが書き込まれると消去動作が再開されます。消去一時停止 , 消去
再開コマンドの入力の際のアドレスは任意であってかまいません。
セクタ消去動作中に消去一時停止コマンドが入力されると , フラッシュメモリが消去
動作を停止するのに最大 20 μs の時間がかかります。フラッシュメモリが消去一時停止
モードに入ると , FLCR レジスタの RDY ビットとデータポーリングフラグ (DQ7) が "1"
を出力し , トグルビットフラグ (DQ6) のトグル動作が停止します。消去しているセク
タのアドレスを入力しトグルビットフラグ (DQ6) とデータポーリングフラグ (DQ7) の
読出し値をモニタすることによって , 消去動作を停止しているかどうかを確かめられ
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
527
第 18 章 フラッシュメモリ
18.4 フラッシュメモリ自動アルゴリズム
MB91313A シリーズ
ます。消去一時停止中の消去一時停止コマンドの書込みは無視されます。
消去動作が停止したとき , フラッシュメモリは消去一時停止読出しモードになります。
このモードでのデータの読出しはデータが消去一時停止していないセクタに有効とな
りますが , それ以外は標準的な読出しと同じです。
消去一時停止読出しモードに入った後 , ユーザは書込みのコマンドシーケンスを書き
込むことによりフラッシュメモリに書込みができます。この書込みモードは , 消去一時
停止書込みモードとなります。このモードでの書込みは , データが消去一時停止してい
ないセクタに有効となりますが , それ以外は通常のバイト書込みと同じです。消去一時
停止書込みモードは , トグルビットフラグ (DQ6) によって検出できます。
使用上の注意として , トグルビットフラグ (DQ6) はどんなアドレスに対しても読出し
可能ですが , データポーリングフラグ (DQ7) は書込みアドレスに対して読出しを行わ
なければなりません。
セクタ消去動作を再開するためには , 消去再開コマンド (3030H) を入力する必要があり
ます。消去再開コマンドを入力後 , 再度消去再開コマンドを入力しても , 2 度目のコマ
ンド入力は無視されます。また , 消去一時停止コマンドはフラッシュメモリが消去を再
開後 , 入力できます。
528
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 18 章 フラッシュメモリ
18.5 自動アルゴリズム実行状態の確認
MB91313A シリーズ
18.5
自動アルゴリズム実行状態の確認
フラッシュメモリは , データ書込み / 消去のフローを自動アルゴリズムで行います。
この自動アルゴリズムの実行状態は , ハードウェアシーケンスフラグと RDY ビット
によって確認できます。
■ RDY ビット
フラッシュメモリ内部の自動アルゴリズムが実行中か終了したかを知らせる手段とし
て , ハードウェアシーケンスフラグの他に , フラッシュメモリステータスレジスタ
(FLCR) の RDY があります。
RDY ビットの読出し値が "0" のとき , フラッシュメモリはデータ書込み , あるいは消去
動作中です。このときはデータ書込みコマンドも消去コマンドも受け付けません。RDY
ビットの読出し値が "1" のときフラッシュメモリは読出し / データ書込み , あるいは消
去動作待ちの状態です。
■ ハードウェアシーケンスフラグ
ハードウェアシーケンスフラグは , 自動アルゴリズム実行中にフラッシュメモリの任
意のアドレス ( バイトアクセス時は奇数アドレス ) を読み出すことによりデータとして
得られます。データのうち , 有効ビットは 5 ビットで , それぞれが自動アルゴリズムの
状態を示します。
ROM1 の自動アルゴリズム実行中は ROM1 の任意のアドレスを , ROM2 の自動アルゴ
リズム実行中は ROM2 の任意のアドレスを指定してください。
bit 15
ハーフワード読出し時
8
7
( 不定 )
0
ハードウェアシーケンスフラグ
bit 7
バイト読出し時 ( 奇数アドレスのみ )
0
ハードウェアシーケンスフラグ
( 注意事項 )
ワード読出しは禁止。(FR-CPU プログラミングモードのみ使用してください。)
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
529
第 18 章 フラッシュメモリ
18.5 自動アルゴリズム実行状態の確認
MB91313A シリーズ
図 18.5-1 ハードウェアシーケンスフラグの構成
bit
( ハーフワード,
バイトアクセス時 )
7
6
5
4
3
2
DPOLL TOGGLE TLOVER ( 不定 ) SETIMR ( 不定 )
1
0
( 不定 )
( 不定 )
なお , これらのフラグについては FR-CPU ROM モード時に意味を持ちません。必ず
FR-CPU プログラミングモードのみで , ハーフワードまたはバイト読出しを行ってくだ
さい。
表 18.5-1 ハードウェアシーケンスフラグ状態一覧
DPOLL
状態
実行中
反転データ
トグル
0
0
0
トグル
0
1
タイムアウト期間
1
トグル
0
0
消去期間
0
トグル
0
1
1
1
0
0
データ
データ
データ
データ
反転データ
トグル *
0
0
反転データ
トグル
1
0
0
トグル
1
1
0
トグル
1
1
データ書込み
チップ消去
セクタ
消去
TOGGLE TLOVER SETIMR
消去
読出し
一時停止 ( 消去一時停止しているセクタ )
モード
読出し
( 消去一時停止していないセクタ )
データ書込み
( 消去一時停止していないセクタ )
データ書込み
タイム
リミット
チップ / セクタ消去
超過
消去一時停止時の書込み動作
*: どんなアドレスからの連続的な読出し時でも , TOGGLE はトグル動作をします。
それぞれについては , 以下に簡単に説明します。
[bit 7] DPOLL : データポーリングフラグ (DQ7)
データポーリングフラグは , 自動アルゴリズム実行が進行中もしくは終了状態であ
ることをデータポーリング機能によって知らせるためのフラグです。
データ書込み動作時
データ書込みの自動アルゴリズム実行中に読出しアクセスすると , フラッ
シュメモリはアドレスの指し示す番地によらず , 最後に書き込まれたデータ
の bit 7 の反転データを出力します。自動書込みアルゴリズム終了時に読出し
アクセスすると , フラッシュメモリはアドレスの指し示す番地の読出し値の
bit 7 を出力します。
チップ消去動作時
チップ消去の自動アルゴリズム実行中に読出しアクセスすると , アドレスの
指し示す番地に関係なく , フラッシュメモリは "0" を出力します。同様に終
了時には "1" を出力します。
530
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 18 章 フラッシュメモリ
18.5 自動アルゴリズム実行状態の確認
セクタ消去動作時
セクタ消去の自動アルゴリズムを実行中に消去しているセクタに読出しアク
セスすると , フラッシュメモリは "0" を出力します。
本シリーズは機能上の制約により , セクタ消去コマンド発行後 , 40μs ∼ 160μs
の期間 "1" を出力してから "0" を出力します。セクタ消去が完了するとフラッ
シュメモリは "1" を出力します。
セクタ消去動作時のデータポーリングフラグ (DQ7) の , 制約事項の内容とセ
クタ消去完了の誤判定回避方法については「18.7 データポーリングフラグ
(DQ7) の制約事項と 誤判定回避方法」を参照してください。
セクタ消去一時停止時
セクタ消去一時停止時に読出しアクセスすると , フラッシュメモリはアドレ
スの指し示す番地が消去中のセクタであれば "1" を出力し , 消去中のセクタ
でなければアドレスの指し示す番地の読出し値の bit 7 を出力します。トグル
ビットフラグとともに参照することで, 現在セクタ一時停止状態であるか, ど
のセクタが消去中であるかの判定が可能です。
<注意事項>
自動アルゴリズム起動時は指定したアドレスへの読出しアクセスは無視されます。データ
の読出しは , データポーリングフラグの終了を受けてほかのビットの出力が可能となりま
す。このため自動アルゴリズム終了後のデータの読出しは , データポーリング終了を確認
した読出しアクセスの次に行うようにしてください。
[bit 6] TOGGLE : トグルビットフラグ (DQ6)
トグルビットフラグはデータポーリングフラグと同様に , 主に自動アルゴリズム実
行が進行中 , もしくは終了状態であることをトグルビット機能によって知らせるた
めのフラグです。
書込み / チップ・セクタ消去時
データ書込みやチップ / セクタ消去の自動アルゴリズム実行中に , 連続した
読出しアクセスを行うと , フラッシュメモリはアドレスの指し示す番地によ
らず , 読出しごとに "1" と "0" を交互に出力します ( トグル状態 )。書込み ,
チップ / セクタ消去の自動アルゴリズム終了時に連続した読出しアクセスを
行うとフラッシュメモリは bit 6 のトグル動作を止め , アドレスの指し示す番
地の読出し値の bit 6(DATA:6) を出力します。
書込みの際 , 書き込もうとしているセクタが書換え保護されているセクタの
場合は , 約 2 μs のトグル動作をした後 , データを書き換えることなくトグル
動作を終わります。消去の際 , 選択されたすべてのセクタが書換え保護され
ている場合トグルビットは約 100 μs のトグル動作をし , その後データを書き
換えないで読出し / リセット状態に戻ります。
セクタ消去一時停止時
セクタ消去一時停止時に読出しアクセスすると , フラッシュメモリはアドレスの
指し示す番地が消去中のセクタに属するならば , "1" を出力します。消去中のセ
クタに属さないのであれば , アドレスの指し示す番地の読出し値の bit 6(DATA:6)
を出力します。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
531
第 18 章 フラッシュメモリ
18.5 自動アルゴリズム実行状態の確認
MB91313A シリーズ
[bit 5] TLOVER : タイミングリミット超過フラグ (DQ5)
タイミングリミット超過フラグは , 自動アルゴリズムの実行がフラッシュメモリ内
部に規定された時間 ( 内部パルス回数 ) を超えてしまったことを知らせるフラグで
す。
書込み / チップ・セクタ消去時
書込みまたは , チップ・セクタ消去自動アルゴリズム起動後に読出しアクセ
スすると , 規定時間 ( 書込み / 消去に要する時間 ) 内であれば "0" を , 規定時
間を超えてしまっている場合は "1" を出力します。これは , 自動アルゴリズ
ムが実行中か終了状態にあるか無関係ですので , データ書込み / 消去が成功
したか失敗したかの判定が可能です。すなわち , このフラグが "1" を出力し
た時 , データポーリング機能もしくはトグルビット機能により自動アルゴリ
ズムがまだ実行中であれば , 書込みが失敗していると判断することができま
す。例えば , "0" が書き込まれているフラッシュメモリアドレスに "1" を書き
込もうとするとフェイルが発生します。この場合フラッシュメモリはロック
され , 自動アルゴリズムは終了しません。まれに "1" が書き込めたように,正
常終了する場合もあります。したがって , データポーリングフラグから有効
なデータが出力されません。またトグルビットフラグはトグル動作を止めず ,
タイムリミットを超え , タイミングリミット超過フラグは "1" を出力します。
この状態はフラッシュメモリが不良ではなく , 正しく使用されなかったとい
うことを表しています。この状態が発生した時は , リセットコマンドを実行
してください。
[bit 3] SETIMR : セクタ消去タイマフラグ (DQ3)
セクタ消去タイマフラグは , セクタ消去コマンド起動後セクタ消去タイムアウト期
間中であるか否かを知らせるフラグです。
セクタ消去動作時
セクタ消去コマンド起動後に読出しアクセスすると , フラッシュメモリはコ
マンドを発行したセクタのアドレス信号の指し示す番地によらず , セクタ消
去タイムアウト期間中であれば "0" を , セクタ消去タイムアウト期間を超え
てしまっている場合は "1" を出力します。
データポーリング機能やトグルビット機能により消去アルゴリズムが実行中
を示している場合, このフラグが"1"であれば内部で制御される消去が始まっ
ています。続けてのセクタ消去コードの書込み , または消去一時停止以外の
コマンドは , 消去が終了されるまで無視されます。このフラグが "0" であれ
ばフラッシュメモリは, 追加のセクタ消去コードの書込みを受け付けます。こ
のことを確認するために , 引き続くセクタ消去コードの書込みに先立ちこの
フラグの状態をチェックすることを推奨します。もし 2 回目の状態チェック
で "1" であったなら追加セクタの消去コードは受け付けられてない可能性が
あります。
セクタ消去動作時
セクタ消去一時停止中に読出しアクセスすると , フラッシュメモリはアドレ
スの指し示す番地が , 消去中のセクタに属するならば "1" を出力します。消
去中のセクタに属さないのであれば , アドレスの指し示す番地の読出し値の
bit 3(DATA:3) を出力します。
532
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
18.6
第 18 章 フラッシュメモリ
18.6 フラッシュメモリデータ書込み / 消去の詳細説明
フラッシュメモリデータ書込み / 消去の詳細説明
自動アルゴリズムを起動するコマンドを発行し , フラッシュメモリへの下記それぞ
れの動作を行うための手順について説明します。
・リセット ・データ書込み ・チップ消去 ・セクタ消去
・セクタ消去一時停止 ・セクタ消去再開
■ フラッシュメモリデータ書込み / 消去
フラッシュメモリの自動アルゴリズム ( データ書込み , チップ消去 , セクタ消去 , セク
タ消去一時停止 , 消去再開 ) は , コマンドシーケンスをバスへ書き込むことで起動でき
ます。それぞれのバスへの書込みサイクルは必ず続けて行う必要があります。また , 自
動アルゴリズムはデータポーリング機能 , トグルビット機能などで終了時を知ること
ができます。正常終了後は読出し / リセット状態に戻ります。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
533
第 18 章 フラッシュメモリ
18.6 フラッシュメモリデータ書込み / 消去の詳細説明
18.6.1
MB91313A シリーズ
読出し / リセット状態
リセットコマンドを発行し , フラッシュメモリを読出し / リセット状態にする手順に
ついて説明します。
■ 読出し / リセット状態
コマンドシーケンス表のリセットコマンドをフラッシュメモリ内の対象セクタに続け
て送ると , フラッシュメモリを読出し / リセット状態にできます。
リセットコマンドには 1 回と 3 回のバス動作を行う 2 とおりのコマンドシーケンスが
ありますが , これらの本質的な違いはありません。
リセット状態はフラッシュメモリの初期状態であり , 電源投入時 , コマンドの正常終了
時は常に読出し / リセット状態になります。読出し / リセット状態はほかのコマンドの
入力待ち状態です。読出し / リセット状態では通常の読出しアクセスでデータを読み
出せます。マスク ROM と同様に CPU からのプログラムアクセスが可能です。通常読
出しでのデータ読出しにこのコマンドは必要ありません。何らかの理由でコマンドが
正常に終了しなかった時など , 自動アルゴリズムを初期化する場合に主にこのコマン
ドを使用します。
534
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
18.6.2
第 18 章 フラッシュメモリ
18.6 フラッシュメモリデータ書込み / 消去の詳細説明
データ書込み
書込みコマンドを発行し , フラッシュメモリにデータ書込みを行う手順について説
明します。
■ データ書込み
コマンドシーケンス表の書込みコマンドをフラッシュメモリ内の対象セクタに続けて
送ると , データ書込み自動アルゴリズムを起動できます。4 サイクル目に目的のアドレ
スへのデータ書込みが終了した時点で , 自動アルゴリズムが起動され自動書込みが開
始します。
● アドレス指定方法
書込みデータサイクルの中で指定する書込みアドレスは , 偶数アドレスのみが可能で
す。奇数アドレスを指定すると正しく書き込むことができません。つまり , 偶数アドレ
スへのハーフワードデータ単位での書込みが必要となります。
書込みはどのようなアドレスの順番でも , また , セクタの境界を超えても可能ですが ,
1 回の書込みコマンドによって書き込まれるデータは 1 ハーフワードのみです。
● データ書込み上の注意
書込みによって , データ 0 をデータ 1 に戻すことはできません。データ 0 にデータ 1 を
書き込むと , データポーリングアルゴリズムまたは , トグル動作が終了せず , フラッ
シュメモリ素子が不良と判定され , 書込み規定時間を超えタイミングリミット超過フ
ラグがエラーと判定するか, あるいは見かけ上データ1が書き込まれたように見えるか
のどちらかとなります。しかし , 読出し / リセット状態でデータを読み出すとデータは
"0" のままです。消去動作のみが "0" データを "1" にすることができます。自動書込み
実行中はすべてのコマンドが無視されます。書込み中にハードウェアリセットが起動
されると , 書き込んでいるアドレスのデータは保証されませんので注意が必要です。
● フラッシュメモリ書込み手順
図 18.6-1 にフラッシュメモリ書込みの手順の例を示します。ハードウェアシーケンス
フラグを用いることでフラッシュメモリ内部の自動アルゴリズムの状態判定が可能で
す。ここでは , 書込み終了の確認にデータポーリングフラグ (DQ7) を用いています。
フラグチェックのために読み込むデータは最後に書込みを行ったアドレスからの読み
込みとなります。
データポーリングフラグ (DQ7) は , タイミングリミット超過フラグ (DQ5) と同時に変
わるので , たとえタイミングリミット超過フラグ (DQ5) が "1" であってもデータポーリ
ングフラグ (DQ7) は再チェックする必要があります。
トグルビットフラグ (DQ6) でも同様にタイミングリミット超過フラグ (DQ5) が "1" に
変わるのと同時にトグル動作を止めるので , トグルビットフラグ (DQ6) を再チェック
する必要があります。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
535
第 18 章 フラッシュメモリ
18.6 フラッシュメモリデータ書込み / 消去の詳細説明
MB91313A シリーズ
図 18.6-1 フラッシュメモリ書込み手順の例
書込み開始
FLCR : WE(bit1)
フラッシュメモリ書込み許可
書込みコマンドシーケンス
AAAAH
D5557H
5555H
CAAABH
A0A0H
D5557H
書込みアドレス
書込みデータ
内部アドレス読出し
データポーリング
(DQ7)
次アドレス
Data
Data
0
タイムリミット
(DQ5)
1
内部アドレス読出し
Data
データポーリング
(DPOLL)
Data
書込みエラー
最終アドレス
NO
YES
FLCR : WE(bit1)
フラッシュメモリ書込み禁止
ハードウェアシーケンス
フラグによる確認
書込み完了
536
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
18.6.3
第 18 章 フラッシュメモリ
18.6 フラッシュメモリデータ書込み / 消去の詳細説明
データ消去 ( チップ消去 )
チップ消去コマンドを発行し , フラッシュメモリの全データ消去を行う手順につい
て説明します。
■ データ消去 ( チップ消去 )
コマンドシーケンス表のチップ消去コマンドをフラッシュメモリ内の対象セクタに続
けて送ると , フラッシュメモリからすべてのデータを消去できます。
チップ消去コマンドは 6 回のバス動作で行われます , 6 サイクル目の書込みが完了した
時点でチップ消去動作が開始します。チップ消去では , 消去前にユーザがフラッシュメ
モリに書込みを行う必要はありません。自動消去アルゴリズム実行中には , フラッシュ
メモリは自動的にすべてのセルを消去する前に "0" を書き込んで検証します。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
537
第 18 章 フラッシュメモリ
18.6 フラッシュメモリデータ書込み / 消去の詳細説明
18.6.4
MB91313A シリーズ
データ消去 ( セクタ消去 )
セクタ消去コマンドを発行し , フラッシュメモリの任意のセクタ消去を行う手順に
ついて説明します。セクタごとの消去が可能であり , 複数のセクタを同時に指定す
ることも可能です。
■ データ消去 ( セクタ消去 )
コマンドシーケンス表のセクタ消去コマンドをフラッシュメモリ内の対象セクタに続
けて送ると , 任意のセクタを消去できます。
● セクタ指定方法
セクタ消去コマンドは 6 回のバス動作で行われます。6 サイクル目に目的のセクタ内の
アクセス可能な任意の偶数の 1 アドレスへ , セクタ消去コード (3030H) を書き込むこと
により 40 μs ∼ 160 μs のセクタ消去タイムアウトが開始します。複数のセクタ消去を
行う場合は , 上記の処理に引き続き消去する目的のセクタ内のアドレスに消去コード
(3030H) を書き込みます。
● 複数のセクタを指定する時の注意
最後のセクタ消去コードの書込みから 40 μs ∼ 160 μs のセクタ消去タイムアウト期間
終了により消去が開始します。つまり , 複数のセクタを同時に消去する場合は , 次の消
去セクタのアドレスと消去コード ( コマンドシーケンス 6 サイクル目 ) をそれぞれ 40
μs 以内に入力する必要があり , それ以降では受け付けられないことがあります。引き続
くセクタ消去コードの書込みが有効かどうかはセクタ消去タイマフラグ (DQ3) によっ
て調べることができます。なおこの時 , セクタ消去タイマを読み出すアドレスは , 消去
しようとしているセクタを指すようにします。
● セクタ消去手順
ハードウェアシーケンスフラグを用いることでフラッシュメモリ内部の自動アルゴリ
ズムの状態判定が可能です。図 18.6-2 にフラッシュメモリセクタ消去の手順の例を示
します。ここでは , 消去終了の確認にトグルビットフラグ (DQ6) を用いています。フ
ラグチェックのために読み込むデータは , 消去しようとしているセクタからの読込み
となりますので , 注意が必要です。
トグルビットフラグ (DQ6) は , タイミングリミット超過フラグ (DQ5) が "1" に変わる
のと同時にトグル動作を止めるので , たとえタイミングリミット超過フラグ (DQ5) が
"1" であってもトグルビットフラグ (DQ6) は再チェックする必要があります。
データポーリングフラグ (DQ7) でも同様に , タイミングリミット超過フラグ (DQ5) と
同時に変わるので , データポーリングフラグ (DQ7) を再チェックする必要があります。
538
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 18 章 フラッシュメモリ
18.6 フラッシュメモリデータ書込み / 消去の詳細説明
■ データポーリングフラグ (DQ7) の制約事項
本シリーズでは , 機能上の制約により , セクタ消去コマンド発行後にデータポーリング
フラグ (DQ7) は 40μs ∼ 160μs の期間 "1" を示してから , "0" に変化します。セクタ消去
が終了するとデータポーリングフラグ (DQ7) は "1" を示します。
セクタ消去のときのデータポーリングフラグ (DQ7) の制約事項の内容とセクタ消去完
了の誤判定回避方法については「18.7 データポーリングフラグ (DQ7) の制約事項と 誤
判定回避方法」を参照してください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
539
第 18 章 フラッシュメモリ
18.6 フラッシュメモリデータ書込み / 消去の詳細説明
MB91313A シリーズ
図 18.6-2 セクタ消去手順の例
消去開始
FLCR:WE(bit1)
フラッシュメモリ
消去許可
消去コマンドシーケンス
① DAAA8H ← AAAAH
② D5554H ← 5555H
③ DAAA8H ← 8080H
④ DAAA8H ← AAAAH
⑤ D5554H ← 5555H
⑥消去セクタへコード入力
(3030H)
YES
消去セクタが
ほかにあるか
NO
内部アドレスリード
内部アドレスリード1
0
内部アドレスリード2
セクタ消去タイマ(DQ3)
トグルビット(TOGGLE)
データ1 =
データ2 ?
1
消去指定の追加が40μs
以内になされなかった。
残りをやり直すフラグを
立て,いったん消去を終える。
YES
NO
0
タイミングリミット
(TLOVER)
1
内部アドレスリード1
内部アドレスリード2
:ハードウェアシーケンスフラグによる確認
NO
トグルビット(TOGGLE)
データ1 = データ2 ?
YES
消去エラー
残りやり直し
フラグ?
YES
NO
FLCR:WE(bit1)
フラッシュメモリ
消去禁止
TOGGLE : トグルビットフラグ(DQ6)
TLOVER : タイミングリミット超過フラグ(DQ5)
540
消去完了
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
18.6.5
第 18 章 フラッシュメモリ
18.6 フラッシュメモリデータ書込み / 消去の詳細説明
セクタ消去の一時停止
セクタ消去一時停止コマンドを発行し , フラッシュメモリセクタ消去の一時停止を
行う手順について説明します。消去中でないセクタから , データを読み出すことが
可能です。
■ セクタ消去の一時停止
コマンドシーケンス表のセクタ消去一時停止コマンドをフラッシュメモリ内の対象セ
クタに送ると , セクタ消去を一時停止できます。
セクタ消去一時停止コマンドは , セクタ消去中に , 消去を一時停止し消去中でないセク
タからのデータ読出しを可能にするものです。この状態では読出しのみが可能で書込
みはできません。このコマンドは消去タイムアウト時間を含むセクタ消去中のみ有効
で , チップ消去中や書込み動作中は無視されます。
消去一時停止コード (B0B0H) の書き込むことで実施されますが , この時アドレスはフ
ラッシュメモリ内の任意のアドレスを指すようにします。消去一時停止での再度の消
去一時停止コマンドは無視されます。
セクタ消去タイムアウト期間中に , セクタ消去一時停止コマンドが入力されると , 直ち
にセクタ消去タイムアウトを終了し , 消去動作を中断して消去停止状態になります。セ
クタ消去タイムアウト期間後のセクタ消去動作中にセクタ消去一時停止コマンドが入
力されると , 最大 20 μs の時間の後 , 消去一時停止状態に入ります。セクタ消去一時停
止コマンドは,セクタ消去コマンドあるいはセクタ消去再開コマンド発行後,20μs 以
上後に行ってください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
541
第 18 章 フラッシュメモリ
18.6 フラッシュメモリデータ書込み / 消去の詳細説明
18.6.6
MB91313A シリーズ
セクタ消去の再開
セクタ消去再開コマンドを発行し , 一時停止したフラッシュメモリセクタ消去を再
開する手順について説明します。
■ セクタ消去の再開
コマンドシーケンス表のセクタ消去再開コマンドをフラッシュメモリ内の対象セクタ
に送ると , 一時停止中のセクタ消去を再開できます。
このコマンドは消去再開コード (3030H) を書き込むことで実施されますが , この時のア
ドレスはフラッシュメモリ領域内の任意のアドレスを指すようにします。なお , セク
タ消去中のセクタ消去再開コマンドの発行は無視されます。
542
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
18.7
第 18 章 フラッシュメモリ
18.7 データポーリングフラグ (DQ7) の制約事項と 誤判定回避
方法
データポーリングフラグ (DQ7) の制約事項と
誤判定回避方法
本シリーズでは , セクタ消去時の自動アルゴリズム実行時のデータポーリングフラ
グ (DQ7) の使用方法に制約があります。本節では , 制約事項の内容とセクタ消去完
了の誤判定回避方法について説明します。
■ 制約事項による不具合内容
データポーリングフラグ (DQ7) は , 自動アルゴリズム実行が進行中もしくは終了状態
であることを , データポーリング機能によって知らせるためのフラグです。この DQ7
の本来の動作は , 図 18.7-1 に示すとおり , 自動アルゴリズム起動時にセクタ消去コマン
ド発行後 , "0" を出力し , 消去完了後 "1" に戻ります。DQ7 のポーリングアルゴリズム
では , この "1" 出力をもって消去完了を示します。
本シリーズでは , DQ7 はセクタ消去コマンド発行後から 40μs ∼ 160μs の間 "1" を出力
し続け , その後に "0" を出力し , 消去完了後 "1" に戻ります。このために , セクタ消去
のポーリングを , セクタ消去コマンド発行直後の "1" 出力期間内から始めると , 実際は
消去開始前であるにもかかわらず, 消去が完了したように誤判定する可能性があります。
セクタ消去コマンド受付後 , DQ7 が "1" から "0" になるタイミングは , セクタ消去タイ
ムアウト期間を示すセクタ消去タイマフラグ (DQ3) が "0" から "1" になるタイミングと
同じです。
図 18.7-1 データポーリングフラグ (DQ7) の実際の動作
セクタ消去コマンドの
最後の3030Hをライト
消去完了
内部の書込み
信号
直後のリードから
DQ7 (本来)
40~160 μ s
DQ7(不具合)
DQ3
消去が完了したように誤判定した結果 , 誤判定後の不具合動作の例としては , 以下が考
えられます。
(1) CPU が命令 / データをフェッチしようとしてもフラッシュメモリからはシーケン
スフラグの値が読み出されるため , 正常にプログラムの値が読めず , 暴走や異常動
作を起こす可能性があります。
(2) 誤ってセクタ消去完了判定した後 , 次のコマンドを発行すると , 最初のコマンドが
キャンセルされて読出し状態に戻ったり , 次のコマンドが受け付けられない可能性
があります。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
543
第 18 章 フラッシュメモリ
18.7 データポーリングフラグ (DQ7) の制約事項と 誤判定回避
方法
MB91313A シリーズ
■ 不具合の回避方法
以下のいずれかの方法で不具合を回避してください。
● トグルビットフラグ (DQ6) を用いたポーリング
「18.6.4 データ消去 ( セクタ消去 )」の図 18.6-2 に示しますように , DQ6 を使用して自
動アルゴリズムの状態を判定してください。
トグルビットフラグ (DQ6) は, データポーリングフラグ (DQ7) と同様に, 主に自動アル
ゴリズム実行が進行中 , もしくは終了状態であることをトグルビット機能によって知
らせるためのフラグです。
● セクタ消去タイムアウト期間が過ぎた後で DQ7 のポーリングを開始
セクタ消去コマンド発行後 , ソフトウェアにて 160μs 以上待つか , DQ3=1 ( セクタ消去
タイムアウト期間終了 ) を待ってから DQ7 のポーリングを開始してください。図 18.72 に , セクタ消去コマンド発行後に DQ3 を使用した場合の判定方法を示します。
図 18.7-2 セクタ消去タイマフラグ (DQ3) による不具合回避方法
P
内部アドレスリード
0
セクタ消去タイマ
フラグDQ3は?
1
内部アドレスリード
データポーリング
フラグDQ7は?
1
0
0
タイミングリミット
超過フラグDQ5は?
1
内部アドレスリード
0
データポーリング
フラグDQ7は?
1
消去エラー
544
セクタ消去終了
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 18 章 フラッシュメモリ
18.7 データポーリングフラグ (DQ7) の制約事項と 誤判定回避
方法
ハードウェアシーケンスフラグの 8 ビットを使用したデータポーリング
MB91313A シリーズ
●
DQ7 だけのポーリングを使って判定する代わりに , ハードウェアシーケンスフラグの
8 ビットを使ったデータポーリングによって判定してください。
図 18.7-3 に , セクタ消去コマンド発行後に 8 ビットデータポーリングを使用した場合
の判定方法を示します。
図 18.7-3 8 ビットデータポーリングによる不具合回避方法
P
内部アドレスリード
Data (DQ0~DQ7)?
FFH
FFH以外
0
タイミングリミット
超過フラグDQ5は?
1
内部アドレスリード
FFH以外
Data (DQ0~DQ7)?
FFH
消去エラー
CM71-10143-5
セクタ消去終了
FUJITSU SEMICONDUCTOR LIMITED
545
第 18 章 フラッシュメモリ
18.8 制限および注意事項
18.8
MB91313A シリーズ
制限および注意事項
フラッシュメモリのプログラミングに関する注意事項について説明します。
■ 制限および注意事項
(1) 以下の領域 (I-bus) に対しての書込みアクセスは行わないでください。
0000_0300H ∼ 0000_037FH
0000_03E4H ∼ 0000_03E7H
0000_8000H ∼ 0000_BFFFH
0001_0000H ∼ 0001_FFFFH
(2) FMCS レジスタの WE="0" の状態でフラッシュメモリへの書込みアクセスを行わな
いでください。
(3) FMCSレジスタのWE="1"の状態でフラッシュメモリに対しての書込み連続アクセ
スを行わないでください。その場合 , 必ず "NOP"1 命令以上あけるようにしてくだ
さい。
例 ) フラッシュへのコマンド書込み ( コマンドシーケンス ) ⇒フラッシュ読出し
ldi
ldi
ldi
ldi
ldi
ldi
ldi
sth
#0xAAAA, r0
#0x5555, r1
#0xAAAAA, r6
#0xA5555, r7
#0xA0A0, r8
# PA, r2
# PD, r3
r0, @r6
nop
sth
r1, @r7
nop
sth
r8, @r6
nop
sth
r3, @r2
: 必ず "NOP"1 命令以上あけてください。
: 必ず "NOP"1 命令以上あけてください。
: 必ず "NOP"1 命令以上あけてください。
nop
: 必ず "NOP"1 命令以上あけてください。
(4) CPU モード時 , フラッシュメモリへの書込みアクセスはハーフワードのみ可能で
す。バイト書込みアクセスは行わないでください。
(5) FLCR レジスタの WE, FIXE, BIRE を書き換えた直後にフラッシュメモリ領域への
分岐命令を実行しないでください。
フラッシュ領域に分岐する際には , 下記プログラム例に従い , 一度 FLCR レジスタ
の値を読み出してから分岐してください。
STB
R1, @R2
// WE=OFF
LDUB
@R2, R1
// FMCS 値ダミー読出し
BRA
_flash_address
// フラッシュ領域への分岐
(6) セクタプロテクトは使用できません。
(7) フラッシュ書込み直後の読み出された値は保証できません。
書込み後読み出す場合は , 以下のように必ずダミー読出しを入れてから読み出し
てください。
546
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 18 章 フラッシュメモリ
18.8 制限および注意事項
MB91313A シリーズ
CM71-10143-5
STH
r0, @r1
// フラッシュ書込み
LDUH
@r2, r4
// ダミー読み込み
LDUH
@r3, r4
// ポーリングデータ読み込み
FUJITSU SEMICONDUCTOR LIMITED
547
第 18 章 フラッシュメモリ
18.8 制限および注意事項
548
MB91313A シリーズ
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 19 章
MB91313A
シリアル書込み接続
MB91313A のシリアル書込み接続について説明し
ます。
19.1 シリアル書込み基本構成
19.2 シリアル書込み接続例
19.3 フラッシュマイコンプログラマのシステム構成
19.4 その他の注意事項
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
549
第 19 章 MB91313A シリアル書込み接続
19.1 シリアル書込み基本構成
19.1
MB91313A シリーズ
シリアル書込み基本構成
MB91313A ではフラッシュ ROM のシリアルオンボード書込み ( 富士通標準 ) をサ
ポートしています。その仕様について以下に解説します。
■ シリアル書込み接続の基本構成
富士通標準シリアルオンボード書込みには , 横河ディジタルコンピュータ製 AF420/
AF320/AF220/AF210/AF120/AF110 フラッシュマイコンプログラマを使用します。下図
に MB91313A シリアル書込み接続の基本構成について示します。
ホストインタフェースケーブル
RS232C
AF420/AF320/
AF220/AF210/
AF120/AF110
フラッシュマイ
コンプログラマ
+
メモリカード
汎用共通ケーブル(AZ210)
CLK同期シリアル
MB91313A
ユーザシステム
スタンドアロンで動作可能
<注意事項>
フラッシュマイコンプログラマの機能・操作方法および接続用汎用共通ケーブル (AZ210),
コネクタにつきましては , 横河ディジタルコンピュータ株式会社にお問い合わせくださ
い。
550
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
第 19 章 MB91313A シリアル書込み接続
19.1 シリアル書込み基本構成
MB91313A シリーズ
■ 富士通標準シリアルオンボード書込みに使用する端子
端子
機能
補足説明
MD2, MD1,
MD0
モード端子
書込みモードに制御します
Flash シリアル書込みモード :MD2, MD1, MD0=H, L, L
P54/ASX
P55/RDX
書込みプログラム
起動端子
Flash シリアル書換え時に
P54="L", P55="H" ( クロック同期モード ) に設定します。
INITX, TRSTX
リセット端子
ICD3 (SIN0)
シリアルデータ入力端子
ICS0 (SOT0)
シリアルデータ出力端子
ICD2 (SCK0)
シリアルクロック入力端子
VCC
電源電圧供給端子
書込み電圧をユーザシステムから供給してください。
VSS
GND 端子
フラッシュマイコンプログラマの GND と共通にしま
す。
−
UART の ch.0 リソースを DSU 端子経由でシリアルオン
ボード書込み通信用のインタフェースとして使用しま
す。
AF420/AF320/
AF220/AF210/
AF120/AF110
書込み制御端子
AF420/AF320/
AF220/AF210/
AF120/AF110
/TICS端子
MB91313A
書込み制御端子
10kΩ
ユーザ
<注意事項>
• Pxx, ICD3, ICS0, ICD2 端子をユーザシステムでも使用する場合には , 上図の制御回路
が必要となります ( フラッシュマイコンプログラマの /TICS 信号により , シリアル書込
み中はユーザ回路を切り離すことができます )。
• フラッシュマイコンプログラマとの接続はユーザ電源がOFFの状態で行ってください。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
551
第 19 章 MB91313A シリアル書込み接続
19.2 シリアル書込み接続例
19.2
MB91313A シリーズ
シリアル書込み接続例
シリアル書込み接続例を示します。
■ シリアル書込み接続例
図 19.2-1 にシリアル書込み接続例を示します。
図 19.2-1 MB91313A シリアル書込み接続例
フラッシュマイコン
プログラマ
ユーザシステム
MB91313A
コネクタ DX10-28S
TAUX3
(19)
シリアル書換え時 1
MD2
≧4.7kΩ
MD1
MD0
ユーザ回路
P54
シリアル書換え時0
≧4.7kΩ
シリアル書換え時1
≧4.7kΩ
P55
ユーザ回路
≧4.7kΩ
TRSTX
/TRES
(5)
INITX
TTXD
(13)
(27)
ICD3 (SIN0)*
ICS0 (SOT0)*
(6)
ICD2 (SCK0)*
(2)
VCC
TRXD
TCK
TVcc
GND
(7,8,
14,15,
21,22
1,28)
3,4,9,10,11,12,16,
17,18,20,23,24,25,
26ピンはOPEN
ユーザ電源(3.3V)
14ピン
VSS
1ピン
DX10-28S
28ピン
15ピン
コネクタ(ヒロセ電機製)のピン配列
DX10-28S :ライトアングルタイプ
*:シリアル書き込みモード時のみ,UARTのch.0リソースとなります。
552
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
MB91313A シリーズ
第 19 章 MB91313A シリアル書込み接続
19.3 フラッシュマイコンプログラマのシステム構成
フラッシュマイコンプログラマのシステム構成
19.3
フラッシュマイコンプログラマ ( 横河ディジタルコンピュータ株式会社製 ) のシステ
ム構成を示します。
■ フラッシュマイコンプログラマのシステム構成
型格
本
体
機能
AF220
/AC4P
イーサネットインタフェースモデル
/100V ∼ 220V 電源アダプタ
AF210
/AC4P
スタンダードモデル
/100V ∼ 220V 電源アダプタ
AF120
/AC4P
単キーイーサネットインタフェースモデル
/100V ∼ 220V 電源アダプタ
AF110
/AC4P
単キーモデル
/100V ∼ 220V 電源アダプタ
問合せ先 : 横河ディジタルコンピュータ株式会社
電話 : 042-333-6224
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
553
第 19 章 MB91313A シリアル書込み接続
19.4 その他の注意事項
19.4
MB91313A シリーズ
その他の注意事項
MB91313A のシリアル書込み接続時の注意事項を示します。
■ 注意事項
シリアルライタを用いてフラッシュメモリ書込み時のポート状態は,書込みに使用して
いる端子を除きリセット状態と同じです。
554
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
付録
I/O マップ , 割込みベクタ , CPU ステートでの端子
状態 , リトルエンディアン領域を利用するときの注
意事項および命令一覧について , 本文に記載できな
かった細かいところや , プログラミングするときに
参照することがらを記載しています。
付録 A I/O マップ
付録 B ベクタテーブル
付録 C 各 CPU ステートにおける端子状態
付録 D 命令一覧表
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
555
付録
付録 A I/O マップ
付録 A
MB91313A シリーズ
I/O マップ
メモリ空間領域と周辺リソースの各レジスタの対応を示します。
■ I/O マップの読み方
アドレス
000000H
レジスタ
ブロック
+0
+1
+2
+3
PDR0 [R/W]B PDR1 [R/W]B PDR2 [R/W]B PDR3 [R/W]B T-unit
XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX
ポートデータ
レジスタ
リード/ライト属性
リセット後のレジスタ初期値
レジスタ名 (1コラムのレジスタが4n番地, 2コラムが4n+2番地...)
最左のレジスタ番地 (ワードでアクセスした際は,
1コラム目のレジスタがデータのMSB側となる。)
レジスタのビット値は , 以下のように初期値を表します。
"1" : 初期値 "1"
"0" : 初期値 "0"
"X" : 初期値 " 不定 "
"-" : その位置に物理的にレジスタがない。
556
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
付録
付録 A I/O マップ
MB91313A シリーズ
付表 A-1 I/O マップ (1 / 9)
アドレス
000000H
000004H
レジスタ
0
PDR0 [R/W]
XXXXXXXX
PDR4 [R/W]
XXXXXXXX
1
PDR1 [R/W]
XXXXXXXX
PDR5 [R/W]
XXXXXXXX
PDRC [R/W]
XXXXXXXX
PDRD [R/W]
XXXXXXXX
000008H
00000CH
2
PDR2 [R/W]
XXXXXXXX
PDR6 [R/W]
--XXXXXX
3
PDR3 [R/W]
XXXXXXXX
PDRE [R/W]
XXXXXXXX
PDRF [R/W]
XXXXXXXX
予約
予約
ブロック
ポートデータ
レジスタ
000010H
∼
00001CH
000020H
000024H
000028H
00002CH
000030H
000034H
予約
ADCTH [R/W]
ADCTL [R/W]
00000000
00000000
ADAT0 [R]
XXXXXX00 00000000
ADAT2 [R]
XXXXXX00 00000000
ADAT4 [R]
XXXXXX00 00000000
ADAT6 [R]
XXXXXX00 00000000
ADAT8 [R]
XXXXXX00 00000000
000038H,
00003CH
ADCH [R/W]
00000000 00000000
ADAT1 [R]
XXXXXX00 XXXXXXXX
ADAT3 [R]
XXXXXX00 00000000
ADAT5 [R]
XXXXXX00 00000000
ADAT7 [R]
XXXXXX00 00000000
ADAT9 [R]
XXXXXX00 00000000
予約
000048H
EIRR0 [R/W]
ENIR0 [R/W]
00000000
00000000
DICR [R/W]
HRCL [R,R/W]
-------0
---11111
TMRLR0 [W]
XXXXXXXX XXXXXXXX
00004CH
予約
000050H
TMRLR1 [W]
XXXXXXXX XXXXXXXX
000040H
000044H
000054H
予約
000058H
TMRLR2 [W]
XXXXXXXX XXXXXXXX
00005CH
予約
000060H
000064H
000068H
00006CH
予約
SCR0 [R,R/W]
SMR0 [W,R/W]
0--00000
000-0000
RDR0/TRD0 [R/W]
-------- 00000000 : RDR0
-------- 11111111 : TDR0
ISMK0 [R/W]
IBSA [R/W]
01111110
00000000
FBYTE01 [R/W] FBYTE00 [R/W]
00000000
00000000
CM71-10143-5
10 ビット
A/D コンバータ
予約
ELVR0 [R/W]
00000000 00000000
外部割込み 0 ∼ 7
予約
遅延 / I- ユニット
TMR0 [R]
XXXXXXXX XXXXXXXX
TMCSR0 [R,RW]
00000000 00000000
TMR1 [R]
XXXXXXXX XXXXXXXX
TMCSR1 [R,RW]
00000000 00000000
TMR2 [R]
XXXXXXXX XXXXXXXX
TMCSR2 [R,RW]
00000000 00000000
SSR0 [R,R/W]
ESCR0 [R/W]
0-000011
--000000
BGR01 [R/W]
00000000
BGR00 [R/W]
00000000
FCR01 [R/W]
00-00100
FCR00 [R/W]
00000000
リロードタイマ 0
リロードタイマ 1
リロードタイマ 2
マルチ
ファンクション
シリアル
インタフェース 0
FIFO 0
予約
FUJITSU SEMICONDUCTOR LIMITED
557
付録
付録 A I/O マップ
MB91313A シリーズ
付表 A-1 I/O マップ (2 / 9)
アドレス
レジスタ
0
1
2
3
SCR1 [R,R/W]
SMR1 [W,R/W]
SSR1 [R,R/W]
ESCR1 [R/W]
000070H
0--00000
000-0000
0-000011
--000000
RDR1/TDR1 [R/W]
BGR11 [R/W]
BGR10 [R/W]
000074H
-------- 00000000 : RDR1
00000000
00000000
-------- 11111111 : TDR1
ISMK1 [R/W]
IBSA1 [R/W]
FCR11 [R/W]
FCR10 [R/W]
000078H
01111110
00000000
00-00100
00000000
FBYTE10 [R/W] FBYTE00 [R/W]
00007CH
予約
00000000
00000000
SCR2 [R,R/W]
SMR2 [W,R/W]
SSR2 [R,R/W]
ESCR2 [R/W]
000080H
0--00000
000-0000
0-000011
--000000
RDR2/TDR2 [R/W]
BGR21 [R/W]
BGR20 [R/W]
000084H
-------- 00000000 : RDR2
00000000
00000000
-------- 11111111 : TDR2
ISMK2 [R/W]
IBSA2 [R/W]
FCR21 [R/W]
FCR20 [R/W]
000088H
01111110
00000000
00-00100
00000000
FBYTE21 [R/W] FBYTE20 [R/W]
00008CH
予約
00000000
00000000
SCR3 [R,R/W]
SMR3 [W,R/W]
SSR3 [R,R/W]
ESCR3 [R/W]
000090H
0--00000
000-0000
0-000011
--000000
RDR3/TDR3 [R/W]
BGR31 [R/W]
BGR30 [R/W]
000094H
-------- 00000000 : RDR3
00000000
00000000
-------- 11111111 : TDR3
ISMK3 [R/W]
IBSA3 [R/W]
000098H
予約
01111110
00000000
00009CH
予約
SCR4 [R,R/W]
SMR4 [W,R/W]
SSR4 [R,R/W]
ESCR4 [R/W]
0000A0H
0--00000
000-0000
0-000011
--000000
RDR4/TDR4 [R/W]
BGR41 [R/W]
BGR40 [R/W]
0000A4H
-------- 00000000 : RDR4
00000000
00000000
-------- 11111111 : TDR4
ISMK4 [R/W]
IBSA4 [R/W]
0000A8H
予約
01111110
00000000
0000ACH
予約
SCR5 [R,R/W]
SMR5 [W,R/W]
SSR5 [R,R/W]
ESCR5 [R/W]
0000B0H
0--00000
000-0000
0-000011
--000000
RDR5/TDR5 [R/W]
BGR51 [R/W]
BGR50 [R/W]
0000B4H
-------- 00000000 : RDR5
00000000
00000000
-------- 11111111 : TDR5
ISMK5 [R/W]
IBSA5 [R/W]
0000B8H
予約
01111110
00000000
0000BCH
予約
EIRR1 [R/W]
ENIR1 [R/W]
ELVR1 [R/W]
0000C0H
00000000
00000000
00000000 00000000
EIRR2 [R/W]
ENIR2 [R/W]
ELVR2 [R/W]
0000C4H
00000000
00000000
00000000 00000000
0000C8H
∼
0000CCH
558
予約
FUJITSU SEMICONDUCTOR LIMITED
ブロック
マルチ
ファンクション
シリアル
インタフェース 1
FIFO 1
マルチ
ファンクション
シリアル
インタフェース 2
マルチ
ファンクション
シリアル
インタフェース 3
マルチ
ファンクション
シリアル
インタフェース 4
マルチ
ファンクション
シリアル
インタフェース 5
外部割込み
8 ∼ 15
外部割込み
16 ∼ 23
予約
CM71-10143-5
付録
付録 A I/O マップ
MB91313A シリーズ
付表 A-1 I/O マップ (3 / 9)
アドレス
0000D0H
0000D4H
0000D8H
0000DCH
レジスタ
0
1
PWCCL [R/W]
PWCCH [R/W]
0000--00
0--00000
PWCD [R]
XXXXXXXX XXXXXXXX
PWCC2 [R/W]
000----PWCUD [R/W]
XXXXXXXX XXXXXXXX
2
3
ブロック
予約
予約
PWC
予約
予約
0000E0H
∼
0000ECH
0000F0H
0000F4H
0000F8H
0000FCH
000100H
000104H
000108H
00010CH
000110H
予約
T0LPCR [R/W]
T0CCR [R/W]
-----000
0-000000
T0DRR [R/W]
XXXXXXXX XXXXXXXX
T1LPCR [R/W]
T1CCR [R/W]
-----000
0-000000
T1DRR [R/W]
XXXXXXXX XXXXXXXX
T2LPCR [R/W]
T2CCR [R/W]
-----000
0-000000
T2DRR [R/W]
XXXXXXXX XXXXXXXX
T3LPCR [R/W]
T3CCR [R/W]
-----000
0-000000
T3DRR [R/W]
XXXXXXXX XXXXXXXX
TMODE [R/W]
00000000 00000000
予約
T0TCR [R/W]
T0R [R/W]
00000000
---00000
T0CRR [R/W]
XXXXXXXX XXXXXXXX
T1TCR [R/W]
T1R [R/W]
00000000
---00000
T1CRR [R/W]
XXXXXXXX XXXXXXXX
T2TCR [R/W]
T2R [R/W]
00000000
---00000
T2CRR [R/W]
XXXXXXXX XXXXXXXX
T3TCR [R/W]
T3R [R/W]
00000000
---00000
T3CRR [R/W]
XXXXXXXX XXXXXXXX
多機能タイマ
予約
000114H
∼
00011CH
000120H
000124H
000128H
00012CH
000130H
000134H
000138H
00013CH
予約
PDUT0 [W]
XXXXXXXX XXXXXXXX
PTMR0 [W]
11111111_11111111
PDUT1 [W]
XXXXXXXX XXXXXXXX
PTMR1 [W]
11111111_11111111
PDUT2 [W]
XXXXXXXX XXXXXXXX
PTMR2 [W]
11111111_11111111
PDUT3 [W]
XXXXXXXX XXXXXXXX
PTMR3 [W]
11111111_11111111
予約
PCSR0 [W]
XXXXXXXX XXXXXXXX
PCNH0 [R/W]
PCNL0 [R/W]
0000000000000-0
PCSR1 [W]
XXXXXXXX XXXXXXXX
PCNH1 [R/W]
PCNL1 [R/W]
0000000000000-0
PCSR2 [W]
XXXXXXXX XXXXXXXX
PCNH2 [R/W]
PCNL2 [R/W]
0000000000000-0
PCSR3 [W]
XXXXXXXX XXXXXXXX
PCNH3 [R/W]
PCNL3 [R/W]
0000000000000-0
PPG0
PPG1
PPG2
PPG3
000140H
∼
000144H
CM71-10143-5
予約
FUJITSU SEMICONDUCTOR LIMITED
予約
559
付録
付録 A I/O マップ
MB91313A シリーズ
付表 A-1 I/O マップ (4 / 9)
アドレス
レジスタ
0
1
000148H
TMRLR3 [W]
XXXXXXXX XXXXXXXX
00014CH
予約
000150H
TMRLR4 [W]
XXXXXXXX XXXXXXXX
000154H
予約
000158H
TMRLR5 [W]
XXXXXXXX XXXXXXXX
00015CH
予約
2
3
TMR3 [R]
XXXXXXXX XXXXXXXX
TMCSR3 [R,RW]
00000000 00000000
TMR4 [R]
XXXXXXXX XXXXXXXX
TMCSR4 [R,RW]
00000000 00000000
TMR5 [R]
XXXXXXXX XXXXXXXX
TMCSR5 [R,RW]
00000000 00000000
ブロック
リロードタイマ 3
リロードタイマ 4
リロードタイマ 5
000160H
∼
00017CH
000180H
000184H
000188H
00018CH
000190H
000194H
000198H
00019CH
予約
RCCR0 [R/W]
RCST0 [R/W]
0---0000
00000000
RCDBHW0 [R/W]
予約
00000000
RCDT0HH [R]
RCDT0HL [R]
00000000
00000000
RCCKD0 [R/W]
00000000 00000000
RCCR1 [R/W]
RCST1 [R/W]
0---0000
00000000
RCDBHW1 [R/W]
予約
00000000
RCDT1HH [R]
RCDT1HL [R]
00000000
00000000
RCCKD1 [R/W]
00000000 00000000
予約
RCSHW0 [R/W] RCDAHW0 [R/W]
00000000
00000000
RCADR01 [R/W] RCADR02 [R/W]
00000000
00000000
RCDT0LH [R]
RCDT0LL [R]
00000000
00000000
リモコン 0
予約
RCSHW1 [R/W] RCDAHW1 [R/W]
00000000
00000000
RCADR11 [R/W] RCADR12 [R/W]
00000000
00000000
RCDT1LH [R]
RCDT1LL [R]
00000000
00000000
リモコン 1
予約
0001A0H
∼
0001ACH
0001B0H
0001B4H
0001B8H
0001BCH
0001C0H
0001C4H
0001C8H
0001CCH
560
予約
SCR6 [R,R/W]
SMR6 [W,R/W]
SSR6 [R,R/W]
ESCR6 [R/W]
0--00000
000-0000
0-000011
--000000
RDR6/TDR6 [R/W]
BGR61 [R/W]
BGR60 [R/W]
-------- 00000000 : RDR6
00000000
00000000
-------- 11111111 : TDR6
ISMK6 [R/W]
IBSA6 [R/W]
予約
01111110
00000000
予約
SCR7 [R,R/W]
SMR7 [W,R/W]
SSR7 [R,R/W]
ESCR7 [R/W]
0--00000
000-0000
0-000011
--000000
RDR7/TDR7 [R/W]
BGR71 [R/W]
BGR70 [R/W]
-------- 00000000 : RDR7
00000000
00000000
-------- 11111111 : TDR7
ISMK7 [R/W]
IBSA7 [R/W]
予約
01111110
00000000
予約
FUJITSU SEMICONDUCTOR LIMITED
予約
マルチ
ファンクション
シリアル
インタフェース 6
マルチ
ファンクション
シリアル
インタフェース 7
CM71-10143-5
付録
付録 A I/O マップ
MB91313A シリーズ
付表 A-1 I/O マップ (5 / 9)
アドレス
0001D0H
0001D4H
0001D8H
0001DCH
0001E0H
0001E4H
0001E8H
0001ECH
0001F0H
0001F4H
0001F8H
0001FCH
000200H
000204H
000208H
00020CH
000210H
000214H
000218H
00021CH
000220H
000224H
レジスタ
0
1
2
3
SCR8 [R,R/W]
SMR8 [W,R/W]
SSR8 [R,R/W]
ESCR8 [R/W]
0--00000
000-0000
0-000011
--000000
RDR8/TDR8 [R/W]
BGR81 [R/W]
BGR80 [R/W]
-------- 00000000 : RDR8
00000000
00000000
-------- 11111111 : TDR8
ISMK8 [R/W]
IBSA8 [R/W]
予約
01111110
00000000
予約
SCR9 [R,R/W]
SMR9 [W,R/W]
SSR9 [R,R/W]
ESCR9 [R/W]
0--00000
000-0000
0-000011
--000000
RDR9/TDR9 [R/W]
BGR91 [R/W]
BGR90 [R/W]
-------- 00000000 : RDR9
00000000
00000000
-------- 11111111 : TDR9
ISMK9 [R/W]
IBSA9 [R/W]
予約
01111110
00000000
予約
SCRA [R,R/W]
SMRA [W,R/W]
SSRA [R,R/W]
ESCRA [R/W]
0--00000
000-0000
0-000011
--000000
RDRA/TDRA [R/W]
BGRA1 [R/W]
BGRA0 [R/W]
-------- 00000000 : RDRA
00000000
00000000
-------- 11111111 : TDRA
ISMKA [R/W]
IBSAA [R/W]
予約
01111110
00000000
予約
DMACA0 [R/W]
00000000 00000000 00000000 00000000
DMACB0 [R/W]
00000000 00000000 00000000 00000000
DMACA1 [R/W]
00000000 00000000 00000000 00000000
DMACB1 [R/W]
00000000 00000000 00000000 00000000
DMACA2 [R/W]
00000000 00000000 00000000 00000000
DMACB2 [R/W]
00000000 00000000 00000000 00000000
DMACA3 [R/W]
00000000 00000000 00000000 00000000
DMACB3 [R/W]
00000000 00000000 00000000 00000000
DMACA4 [R/W]
00000000 00000000 00000000 00000000
DMACB4 [R/W]
00000000 00000000 00000000 00000000
ブロック
マルチ
ファンクション
シリアル
インタフェース 8
マルチ
ファンクション
シリアル
インタフェース 9
マルチ
ファンクション
シリアル
インタフェース
10
DMAC
000228H
∼
00023CH
000240H
CM71-10143-5
予約
DMACR [R/W]
0XX00000 XXXXXXXX XXXXXXXX XXXXXXXX
FUJITSU SEMICONDUCTOR LIMITED
561
付録
付録 A I/O マップ
MB91313A シリーズ
付表 A-1 I/O マップ (6 / 9)
アドレス
レジスタ
0
1
2
3
ブロック
000244H
∼
0003ECH
0003F0H
0003F4H
0003F8H
0003FCH
000400H
000404H
000408H
00040CH
000410H
000414H
予約
BSD0 [W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
BSD1 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
BSDC [W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
BSRR [R]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
DDR0 [R/W] B,H DDR1 [R/W] B,H DDR2 [R/W] B,H DDR3 [R/W] B,H
00000000
00000000
00000000
00000000
DDR4 [R/W] B,H DDR5 [R/W] B,H DDR6 [R/W] B,H
予約
00000000
00000000
--000000
予約
DDRC [R/W] B,H DDRD [R/W] B,H DDRE [R/W] B,H DDRF [R/W] B,H
00000000
00000000
00000000
00000000
予約
∼
00041CH
000420H
000424H
予約
PFR0 [R/W] B,H
00000000
PFR4 [R/W] B,H
00000000
000428H
00042CH
000430H
000434H
∼
00043CH
562
予約
PFRC [R/W] B,H
00000000
PFR1 [R/W] B,H PFR2 [R/W] B,H
00000000
00000000
PFR5 [R/W] B,H PFR6 [R/W] B,H
00000000
--000000
予約
PFRD [R/W] B,H PFRE [R/W] B,H
00000000
00000000
予約
ビットサーチ
モジュール
データ方向
レジスタ
予約
PFR3 [R/W] B,H
00000000
予約
PFRF [R/W] B,H
00000000
予約
FUJITSU SEMICONDUCTOR LIMITED
ポート
ファンクション
レジスタ
予約
CM71-10143-5
付録
付録 A I/O マップ
MB91313A シリーズ
付表 A-1 I/O マップ (7 / 9)
アドレス
000440H
000444H
000448H
00044CH
000450H
000454H
000458H
00045CH
000460H
000464H
000468H
00046CH
レジスタ
0
ICR00 [R,R/W]
-11111
ICR04 [R,R/W]
-11111
ICR08 [R,R/W]
-11111
ICR12 [R,R/W]
-11111
ICR16 [R,R/W]
-11111
ICR20 [R,R/W]
-11111
ICR24 [R,R/W]
-11111
ICR28 [R,R/W]
-11111
ICR32 [R,R/W]
-11111
ICR36 [R,R/W]
-11111
ICR40 [R,R/W]
-11111
ICR44 [R,R/W]
-11111
1
ICR01 [R,R/W]
-11111
ICR05 [R,R/W]
-11111
ICR09 [R,R/W]
-11111
ICR13 [R,R/W]
-11111
ICR17 [R,R/W]
-11111
ICR21 [R,R/W]
-11111
ICR25 [R,R/W]
-11111
ICR29 [R,R/W]
-11111
ICR33 [R,R/W]
-11111
ICR37 [R,R/W]
-11111
ICR41 [R,R/W]
-11111
ICR45 [R,R/W]
-11111
2
ICR02 [R,R/W]
-11111
ICR06 [R,R/W]
-11111
ICR10 [R,R/W]
-11111
ICR14 [R,R/W]
-11111
ICR18 [R,R/W]
-11111
ICR22 [R,R/W]
-11111
ICR26 [R,R/W]
-11111
ICR30 [R,R/W]
-11111
ICR34 [R,R/W]
-11111
ICR38 [R,R/W]
-11111
ICR42 [R,R/W]
-11111
ICR46 [R,R/W]
-11111
3
ICR03 [R,R/W]
-11111
ICR07 [R,R/W]
-11111
ICR11 [R,R/W]
-11111
ICR15 [R,R/W]
-11111
ICR19 [R,R/W]
-11111
ICR23 [R,R/W]
-11111
ICR27 [R,R/W]
-11111
ICR31 [R,R/W]
-11111
ICR35 [R,R/W]
-11111
ICR39 [R,R/W]
-11111
ICR43 [R,R/W]
-11111
ICR47 [R,R/W]
-11111
ブロック
割込み
コントロール
ユニット
000470H
∼
00047CH
000480H
000484H
予約
RSRR [R,R/W]
10000000
CLKR [R/W]
00000000
000488H
00048CH
000490H
STCR [R/W]
00110011
WPR [W]
XXXXXXXX
TBCR [R/W]
00XXXX00
DIVR0 [R/W]
00000011
OSCCR [R/W]
XXXXXXX0
予約
WPCR [R/W]
00000000
OSCR [R/W]
00000000
予約
CTBR [W]
XXXXXXXX
DIVR1 [R/W]
00000000
予約
予約
OSCT [R/W]
00000000
クロック
コントロール
ユニット
クロックタイマ
安定待ちタイマ
予約
000494H
∼
0004FCH
予約
000500H
PCR0 [R/W]
00000000
000504H
予約
PCR1 [R/W]
00000000
PCR5 [R/W]
00000000
予約
予約
PCR6 [R/W]
--000000
000508H
∼
000510H
000514H
予約
∼
00051CH
予約
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
予約
ポート
プルアップ制御
レジスタ
予約
563
付録
付録 A I/O マップ
MB91313A シリーズ
付表 A-1 I/O マップ (8 / 9)
アドレス
000520H
000524H
レジスタ
0
EPFR0 [R/W]
00000000
EPFR4 [R/W]
11111111
1
EPFR1 [R/W]
00000000
EPFR5 [R/W]
11111111
EPFRC [R/W]
00000000
EPFRD [R/W]
00000000
000528H
00052CH
予約
∼
00056CH
予約
EPFRE [R/W]
00000000
EPFRF [R/W]
00000000
予約
ブロック
外部ポート
ファンクション
レジスタ
予約
ADER [R/W]
00000011 11111111
000574H
000578H
3
EPFR3 [R/W]
11111111
予約
000530H
000534H
000570H
2
EPFR2 [R/W]
11111111
EPFR6 [R/W]
--001000
予約
予約
EXT/I2C/AD
予約
I C ノイズ
フィルタ
2
NSF [R/W]
-----000 00000000
予約
00057CH
∼
00063CH
000640H
000644H
000648H
00064CH
予約
ASR0 [R/W]
00000000 00000000
ASR1 [R/W]
00000000 XXXXXXXX
ASR2 [R/W]
00000000 XXXXXXXX
ASR3 [R/W]
00000000 XXXXXXXX
予約
ACR0 [R/W]
00110X00 00000000
ACR1 [R/W]
00XX0X00 00X0XXXX
ACR2 [R/W]
00XX0X00 00X0XXXX
ACR3 [R/W]
00XX0X00 00X0XXXX
000650H
∼
00065C H
000660 H
000664 H
予約
AWR0 [R/W]
01110000 01011011
AWR2 [R/W]
0XXX0000 0X0X1XXX
AWR1 [R/W]
0XXX0000 0X0X1XXX
AWR3 [R/W]
0XXX0000 0X0X1XXX
外部バス
インタフェース
000668 H
∼
00067C H
000680 H
予約
CSER[R/W]
00000001
予約
000684 H
000688 H
予約
∼
0007F8 H
−
0007FC H
予約
MODR [W]
XXXXXXXX
未使用
予約
モードレジスタ
000800 H
∼
000AFC H
564
−
FUJITSU SEMICONDUCTOR LIMITED
未使用
CM71-10143-5
付録
付録 A I/O マップ
MB91313A シリーズ
付表 A-1 I/O マップ (9 / 9)
レジスタ
アドレス
0
1
2
3
ブロック
000B00H
∼
000FFCH
001000H
001004H
001008H
00100CH
001010H
001014H
001018H
00101CH
001020H
001024H
予約
予約
DMASA0 [R/W]
00000000 00000000 00000000 00000000
DMADA0 [R/W]
00000000 00000000 00000000 00000000
DMASA1 [R/W]
00000000 00000000 00000000 00000000
DMADA1 [R/W]
00000000 00000000 00000000 00000000
DMASA2 [R/W]
00000000 00000000 00000000 00000000
DMADA2 [R/W]
00000000 00000000 00000000 00000000
DMASA3 [R/W]
00000000 00000000 00000000 00000000
DMADA3 [R/W]
00000000 00000000 00000000 00000000
DMASA4 [R/W]
00000000 00000000 00000000 00000000
DMADA4 [R/W]
00000000 00000000 00000000 00000000
DMAC
予約
予約
001028H
∼
006FFCH
007000H
007004H
FLCR[R/W]
0000X000
FLWC[R/W]
00011011
CM71-10143-5
予約
Flash I/F
予約
FUJITSU SEMICONDUCTOR LIMITED
565
付録
付録 B ベクタテーブル
付録 B
MB91313A シリーズ
ベクタテーブル
割込みベクタテーブルを示します。
付表 B-1 割込みベクタ (1 / 3)
割込み番号
割込み要因
10 進 16 進
割込み
レベル
オフセット
TBR デフォルト
のアドレス
RN
DMAC
STOP
要因
リセット
0
0
-
3FCH
000FFFFCH
-
-
モードベクタ
1
1
-
3F8H
000FFFF8H
-
-
システム予約
2
2
-
3F4H
000FFFF4H
-
-
システム予約
3
3
-
3F0H
000FFFF0H
-
-
システム予約
4
4
-
3ECH
000FFFECH
-
-
システム予約
5
5
-
3E8H
000FFFE8H
-
-
システム予約
6
6
-
3E4H
000FFFE4H
-
-
コプロセッサ不在
トラップ
7
7
-
3E0H
000FFFE0H
-
-
コプロセッサエラー
トラップ
8
8
-
3DCH
000FFFDCH
-
-
INTE 命令
9
9
-
3D8H
000FFFD8H
-
-
システム予約
10
0A
-
3D4H
000FFFD4H
-
-
システム予約
11
0B
-
3D0H
000FFFD0H
-
-
ステップトレース
トラップ
12
0C
-
3CCH
000FFFCCH
-
-
NMI 要求 (tool)
13
0D
-
3C8H
000FFFC8H
-
-
未定義命令例外
14
0E
-
3C4H
000FFFC4H
-
-
システム予約
15
0F
15( FH) 固定
3C0H
000FFFC0H
-
-
外部割込み 0
16
10
ICR00
3BCH
000FFFBCH
-
-
外部割込み 1
17
11
ICR01
3B8H
000FFFB8H
-
-
-
-
外部割込み 2
18
12
ICR02
3B4H
000FFFB4H
外部割込み 3
19
13
ICR03
3B0H
000FFFB0H
-
-
外部割込み 4
20
14
ICR04
3ACH
000FFFACH
-
-
外部割込み 5
21
15
ICR05
3A8H
000FFFA8H
-
-
外部割込み 6
22
16
ICR06
3A4H
000FFFA4H
-
-
外部割込み 7
23
17
ICR07
3A0H
000FFFA0H
-
-
リロードタイマ 0
24
18
ICR08
39CH
000FFF9CH
-
-
リロードタイマ 1
25
19
ICR09
398H
000FFF98H
-
-
リロードタイマ 2
26
1A
ICR10
394H
000FFF94H
-
-
UART0 RX/I2C ステータス
27
1B
ICR11
390H
000FFF90H
0
STOP
UART0 TX
28
1C
ICR12
38CH
000FFF8CH
3
-
566
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
付録
付録 B ベクタテーブル
MB91313A シリーズ
付表 B-1 割込みベクタ (2 / 3)
割込み番号
割込み要因
10 進 16 進
割込み
レベル
TBR デフォルト
オフセット
のアドレス
RN
DMAC
STOP
要因
UART1 RX/I2C ステータス
29
1D
ICR13
388H
000FFF88H
1
STOP
UART1 TX
30
1E
ICR14
384H
000FFF84H
4
-
UART2 RX/I2C ステータス
31
1F
ICR15
380H
000FFF80H
2
STOP
UART2 TX
32
20
ICR16
37CH
000FFF7CH
5
-
UART3 RX/UART3 TX/
I2C ステータス
33
21
ICR17
378H
000FFF78H
-
-
UART4 RX/UART4 TX/
I2C ステータス
34
22
ICR18
374H
000FFF74H
-
-
UART5 RX/UART5 TX/
I2C ステータス
35
23
ICR19
370H
000FFF70H
-
-
UART6 RX/UART6 TX /
I2C ステータス
36
24
ICR20
36CH
000FFF6CH
-
-
UART7 RX/UART7 TX /
I2C ステータス
37
25
ICR21
368H
000FFF68H
-
-
UART8 RX/UART8 TX/
I2C ステータス
38
26
ICR22
364H
000FFF64H
-
-
UART9 RX/UART9 TX/
I2C ステータス
39
27
ICR23
360H
000FFF60H
-
-
UART10 RX/UART10 TX/
I2C ステータス
40
28
ICR24
35CH
000FFF5CH
-
-
A/D Converter
41
29
ICR25
358H
000FFF58H
-
-
PPG0
42
2A
ICR26
354H
000FFF54H
12
-
PWC
43
2B
ICR27
350H
000FFF50H
-
-
HDMI-CEC/ リモコン 0, 1
44
2C
ICR28
34CH
000FFF4CH
-
-
時計タイマ
45
2D
ICR29
348H
000FFF48H
-
-
メイン発振待ち
46
2E
ICR30
344H
000FFF44H
-
-
タイムベースタイマ
47
2F
ICR31
340H
000FFF40H
-
-
リロードタイマ 3
48
30
ICR32
33CH
000FFF3CH
-
-
リロードタイマ 4
49
31
ICR33
338H
000FFF38H
-
-
リロードタイマ 5
50
32
ICR34
334H
000FFF34H
-
-
PPG1
51
33
ICR35
330H
000FFF30H
-
-
PPG2
52
34
ICR36
32CH
000FFF2CH
-
-
PPG3
53
35
ICR37
328H
000FFF28H
-
-
DMA0
54
36
ICR38
324H
000FFF24H
-
-
DMA1
55
37
ICR39
320H
000FFF20H
-
-
DMA2
56
38
ICR40
31CH
000FFF1CH
-
-
DMA3
57
39
ICR41
318H
000FFF18H
-
-
DMA4
58
3A
ICR42
314H
000FFF14H
-
-
外部割込み 8 ∼ 15
59
3B
ICR43
310H
000FFF10H
-
-
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
567
付録
付録 B ベクタテーブル
MB91313A シリーズ
付表 B-1 割込みベクタ (3 / 3)
割込み番号
割込み要因
10 進 16 進
割込み
レベル
TBR デフォルト
オフセット
のアドレス
RN
DMAC
STOP
要因
外部割込み 16 ∼ 23
60
3C
ICR44
30CH
000FFF0CH
-
-
多機能タイマ 0, 1
61
3D
ICR45
308H
000FFF08H
-
-
多機能タイマ 2, 3
62
3E
ICR46
304H
000FFF04H
-
-
遅延割込み
63
3F
ICR47
300H
000FFF00H
-
-
システム予約
(REALOS にて使用 )
64
40
-
2FCH
000FFEFCH
-
-
システム予約
(REALOS にて使用 )
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
-
-
50
∼
FF
2BCH
000FFEBCH
INT 命令で使用
80
∼
255
-
568
∼
000H
∼
000FFC00H
FUJITSU SEMICONDUCTOR LIMITED
-
-
CM71-10143-5
MB91313A シリーズ
付録 C
付録
付録 C 各 CPU ステートにおける端子状態
各 CPU ステートにおける端子状態
各 CPU ステートにおける端子状態について記載されています。
■ 各 CPU ステートにおける端子状態
端子の状態に対する語句は以下の意味を持ちます。
• 入力可能
入力機能が使用可能な状態であることを意味する。
• 入力 0 固定
端子からすぐの入力ゲートで外部入力を遮断して内部へ "0" を伝えている状態。
• 出力 Hi-Z
端子駆動用トランジスタを駆動禁止状態にし , 端子をハイインピーダンスにする
ことを意味する。
• 出力保持
本モードになる直前に出力していた状態をそのまま出力することを意味する。
つまり , 出力のある内蔵周辺が動作中であればその内蔵周辺に従い出力を行い ,
ポートなどとして出力している場合にはその出力を保持する。
• 直前の状態を保持
本モードになる直前に出力していた状態をそのまま出力 , あるいは入力であれば
入力可能を意味する。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
569
付録
付録 C 各 CPU ステートにおける端子状態
MB91313A シリーズ
表 C-1 シングルチップモード ( 内部ベクタモード ) 時の端子状態 (1 / 3)
端子
番号
ポー
ト名
イニシャライズ時
(INITX=0)
機能
機能名
3
P23
SIN1
P23
4
P24
SOT1/SDA1
P24
5
P25
SCK1/SCL1
P25
6
P26
SIN2
P26
7
P27
SOT2
P27
8
P30
SCK2
P30
9
P31
TOT0
P31
10
P32
TOT1
P32
11
P33
TOT2
P33
12
P34
TIN0
P34
13
P35
TIN1
P35
14
P36
TIN2
P36
15
P37
RIN
P37
16
P40
TMO0/INT16
P40
17
P41
TMO1/INT17
P41
18
P42
TMO2/INT18
P42
19
P43
TMO3/INT19
P43
20
P44
TMI0/INT20
P44
21
P45
TMI1/INT21/SIN10
P45
22
P46
TMI2/INT22/
SOT10/SDA10
P46
23
P47
TMI3/INT23/
SCK10/SCL10
P47
24
P60
TOT3/TRG2
P60
25
P61
TOT4/TRG3
P61
26
P62
TOT5
P62
27
P63
TIN3
P63
28
P64
TIN4
P64
29
P65
TIN5
P65
32
PF0
PF0/RCIN0
PF0
33
PF1
PF1/RCIN1
PF1
34
PF2
PF2/RCACK0
PF2
35
PF3
PF3/RCACK1
PF3
36
PF4
⎯
PF4
37
PF5
⎯
PF5
570
ストップ時 *
スリープ時 *
HIZ=0
初期値
HIZ=1
出力 Hi-Z/
入力 0 固定
出力 Hi-Z/
入力可能
出力 Hi-Z/
入力
0 固定
直前状態保持 直前状態保持
( 外部割込み
許可時のみ
入力可能 )
FUJITSU SEMICONDUCTOR LIMITED
出力 Hi-Z/
入力 0 固定
CM71-10143-5
付録
付録 C 各 CPU ステートにおける端子状態
MB91313A シリーズ
表 C-1 シングルチップモード ( 内部ベクタモード ) 時の端子状態 (2 / 3)
端子
番号
ポー
ト名
イニシャライズ時
(INITX=0)
機能
機能名
初期値
出力 Hi-Z/
入力可能
38
PF6
⎯
PF6
39
PF7
⎯
PF7
45
PD0
AN0
AN0
46
PD1
AN1
AN1
47
PD2
AN2
AN2
48
PD3
AN3
AN3
49
PD4
AN4
AN4
50
PD5
AN5
AN5
51
PD6
AN6
AN6
52
PD7
AN7
AN7
53
PE0
AN8/INT0
AN8
54
PE1
AN9/PPG0/INT1
AN9
55
PE2
PPG1/INT2/ATRG
PE2
56
PE3
PPG2/INT3
PE3
58
⎯
INITX
INITX
65
⎯
MD0
MD0
66
⎯
MD1
MD1
67
⎯
MD2
MD2
68
PE4
PPG3/INT4
PE4
69
PE5
SIN8/INT5
PE5
70
PE6
SOT8/SDA8/INT6
PE6
71
PE7
SCK8/SCL8/INT7
PE7
72
PC0
SIN9
PC0
73
PC1
SOT9/SDA9
PC1
74
PC2
SCK9/SCL9
PC2
75
PC3
⎯
PC3
76
PC4
PPGA
PC4
77
PC5
PPGB
PC5
78
PC6
TRG0
PC6
79
PC7
TRG1
PC7
80
⎯
TRSTX
TRSTX
81
⎯
ICD0
ICD0
82
⎯
ICD1
ICD1
83
⎯
ICD2
ICD2
84
⎯
ICD3
ICD3
85
⎯
ICS0
ICS0
CM71-10143-5
ストップ時 *
スリープ時 *
HIZ=0
HIZ=1
出力 Hi-Z/
入力 0 固定
出力 Hi-Z/
入力 0 固定 直前状態保持 直前状態保持
出力 Hi-Z/
入力 0 固定
( 外部割込み
許可時のみ
入力可能 )
出力 Hi-Z/
入力可能
入力可能
入力可能
入力可能
入力可能
出力 Hi-Z/
入力 0 固定
( 外部割込み
許可時のみ
入力可能 )
出力 Hi-Z/
入力可能
直前状態保持 直前状態保持
出力 Hi-Z/
入力 0 固定
入力可能
出力 Hi-Z/
入力可能
"H" 出力
入力可能
入力可能
入力可能
直前状態保持 直前状態保持 直前状態保持
"L" 出力
FUJITSU SEMICONDUCTOR LIMITED
"L" 出力
"L" 出力
571
付録
付録 C 各 CPU ステートにおける端子状態
MB91313A シリーズ
表 C-1 シングルチップモード ( 内部ベクタモード ) 時の端子状態 (3 / 3)
端子
番号
ポー
ト名
イニシャライズ時
(INITX=0)
機能
機能名
初期値
ストップ時 *
スリープ時 *
HIZ=0
HIZ=1
86
⎯
ICS1
ICS1
"L" 出力
"L" 出力
"L" 出力
"L" 出力
87
⎯
ICS2
ICS2
"L" 出力
"L" 出力
"L" 出力
"L" 出力
88
⎯
ICLK
ICLK
不定出力
"H" 出力
"H" 出力
"H" 出力
89
⎯
IBREAK
IBREAK
入力可能
入力可能
入力可能
入力可能
93
P00
SIN3/INT8
P00
94
P01
SOT3/SDA3/INT9
P01
95
P02
SCK3/SCL3/INT10
P02
96
P03
SIN4/INT11
P03
97
P04
SOT4/SDA4/INT12
P04
98
P05
SCK4/SCL4/INT13
P05
99
P06
SIN5/INT14
P06
100
P07
SOT5/SDA5/INT15
P07
101
P10
SCK5/SCL5
P10
102
P11
SIN6
P11
103
P12
SOT6/SDA6
P12
104
P13
SCK6/SCL6
P13
105
P14
SIN7
P14
106
P15
SOT7/SDA7
P15
107
P16
SCK7/SCL7
P16
108
P17
⎯
P17
109
P50
PPG0
P50
110
P51
PPG1
P51
111
P52
PPG2
P52
112
P53
PPG3
P53
113
P54
⎯
P54
114
P55
⎯
P55
115
P56
⎯
P56
116
P57
⎯
P57
117
P20
SIN0
P20
118
P21
SOT0/SDA0
P21
119
P22
SCK0/SCL0
P22
出力 Hi-Z/
入力 0 固定
( 外部割込み
許可時のみ
入力可能 )
出力 Hi-Z/
入力可能
直前状態保持 直前状態保持
出力 Hi-Z/
入力 0 固定
*:P: 汎用ポート選択時 F: 指定機能選択時
572
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
付録
付録 C 各 CPU ステートにおける端子状態
MB91313A シリーズ
表 C-2 内 ROM 外バスモード ( 内部ベクタモード ) 時の端子状態 (1 / 4)
端子
番号
ポー
ト名
イニシャライズ時
(INITX=0)
機能
機能名
3
P23
SIN1
P23
4
P24
SOT1/SDA1
P24
5
P25
SCK1/SCL1
P25
6
P26
SIN2
P26
7
P27
SOT2
P27
8
P30
SCK2
P30
9
P31
TOT0
P31
10
P32
TOT1
P32
11
P33
TOT2
P33
12
P34
TIN0
P34
13
P35
TIN1
P35
14
P36
TIN2
P36
15
P37
RIN
P37
16
P40
TMO0/INT16
P40
17
P41
TMO1/INT17
P41
18
P42
TMO2/INT18
P42
19
P43
TMO3/INT19
P43
20
P44
TMI0/INT20
P44
21
P45
TMI1/INT21/SIN10
P45
22
P46
TMI2/INT22/
SOT10/SDA10
P46
23
P47
TMI3/INT23/
SCK10/SCL10
P47
24
P60
TOT3/TRG2
P60
25
P61
TOT4/TRG3
P61
26
P62
CM71-10143-5
TOT5/RDY
P62
ストップ時 *
スリープ時 *
HIZ=0
初期値
HIZ=1
出力 Hi-Z/
入力 0 固定
直前状態保持 直前状態保持
出力 Hi-Z/
入力可能
出力 Hi-Z/
入力 0 固定
( 外部割込み
許可時のみ
入力可能 )
P: 直前状態
保持
F: 直前状態
保持
(TOT5)
CLK 出力
(CLK)
FUJITSU SEMICONDUCTOR LIMITED
P: 直前状態
保持
出力 Hi-Z/
F: 直前状態
入力 0 固定
保持
(TOT5)
H または L
出力
(CLK)
573
付録
付録 C 各 CPU ステートにおける端子状態
MB91313A シリーズ
表 C-2 内 ROM 外バスモード ( 内部ベクタモード ) 時の端子状態 (2 / 4)
端子
番号
ポー
ト名
イニシャライズ時
(INITX=0)
機能
機能名
27
P63
TIN3/CLK
P63
28
P64
TIN4
P64
29
P65
TIN5
P65
32
PF0
PF0/RCIN0
PF0
33
PF1
PF1/RCIN1
PF1
34
PF2
PF2/RCACK0
PF2
35
PF3
PF3/RCACK1
PF3
36
PF4
⎯
PF4
37
PF5
⎯
PF5
38
PF6
⎯
PF6
39
PF7
⎯
PF7
45
PD0
AN0
AN0
46
PD1
AN1
AN1
47
PD2
AN2
AN2
48
PD3
AN3
AN3
49
PD4
AN4
AN4
50
PD5
AN5
AN5
51
PD6
AN6
AN6
52
PD7
AN7
AN7
53
PE0
AN8/INT0
AN8
54
PE1
AN9/PPG0/INT1
AN9
55
PE2
PPG1/INT2/ATRG
PE2
56
PE3
PPG2/INT3
PE3
58
⎯
INITX
INITX
65
⎯
MD0
MD0
66
⎯
MD1
MD1
67
⎯
MD2
MD2
574
ストップ時 *
スリープ時 *
HIZ=0
初期値
HIZ=1
P: 直前状態
P: 直前状態
保持
保持
F: 直前状態
F: 直前状態
保持
保持
(TIN3)
(TIN3)
直前状態
RDY 入力
保持
(RDY)
(RDY)
出力 Hi-Z/
入力可能
出力 Hi-Z/
入力 0 固定
直前状態保持 直前状態保持
出力 Hi-Z/
入力 0 固定
出力 Hi-Z/
入力 0 固定
( 外部割込み
許可時のみ
入力可能 )
出力 Hi-Z/
入力可能
入力可能
入力可能
FUJITSU SEMICONDUCTOR LIMITED
入力可能
入力可能
CM71-10143-5
付録
付録 C 各 CPU ステートにおける端子状態
MB91313A シリーズ
表 C-2 内 ROM 外バスモード ( 内部ベクタモード ) 時の端子状態 (3 / 4)
端子
番号
ポー
ト名
イニシャライズ時
(INITX=0)
機能
機能名
ストップ時 *
スリープ時 *
HIZ=0
初期値
HIZ=1
68
PE4
PPG3/INT4
PE4
69
PE5
SIN8/INT5
PE5
70
PE6
SOT8/SDA8/INT6
PE6
71
PE7
SCK8/SCL8/INT7
PE7
72
PC0
SIN9
PC0
73
PC1
SOT9/SDA9
PC1
74
PC2
SCK9/SCL9
PC2
75
PC3
⎯
PC3
76
PC4
PPGA
PC4
77
PC5
PPGB
PC5
78
PC6
TRG0
PC6
79
PC7
TRG1
PC7
80
⎯
TRSTX
TRSTX
81
⎯
ICD0
ICD0
82
⎯
ICD1
ICD1
83
⎯
ICD2
ICD2
84
⎯
ICD3
ICD3
85
⎯
ICS0
ICS0
"H" 出力
"L" 出力
"L" 出力
"L" 出力
86
⎯
ICS1
ICS1
"L" 出力
"L" 出力
"L" 出力
"L" 出力
87
⎯
ICS2
ICS2
"L" 出力
"L" 出力
"L" 出力
"L" 出力
88
⎯
ICLK
ICLK
不定出力
"H" 出力
"H" 出力
"H" 出力
89
⎯
IBREAK
IBREAK
入力可能
入力可能
入力可能
入力可能
93
P00
AD00
P00
94
P01
AD01
P01
95
P02
AD02
P02
96
P03
AD03
P03
97
P04
AD04
P04
98
P05
AD05
P05
99
P06
AD06
P06
100
P07
AD07
P07
出力 Hi-Z/
入力可能
101
P10
AD08
P10
P: 直前状態
保持
F: 出力保持
または
Hi-Z
P: 直前状態
保持
F: 出力保持
または
Hi-Z
102
P11
AD09
P11
103
P12
AD10
P12
104
P13
AD11
P13
105
P14
AD12
P14
106
P15
AD13
P15
CM71-10143-5
出力 Hi-Z/
入力 0 固定
( 外部割込み
許可時のみ
入力可能 )
出力 Hi-Z/
入力可能
直前状態保持 直前状態保持
出力 Hi-Z/
入力 0 固定
入力可能
出力 Hi-Z/
入力可能
入力可能
入力可能
入力可能
直前状態保持 直前状態保持 直前状態保持
FUJITSU SEMICONDUCTOR LIMITED
出力 Hi-Z/
入力 0 固定
575
付録
付録 C 各 CPU ステートにおける端子状態
MB91313A シリーズ
表 C-2 内 ROM 外バスモード ( 内部ベクタモード ) 時の端子状態 (4 / 4)
端子
番号
ポー
ト名
機能
イニシャライズ時
(INITX=0)
機能名
107
P16
AD14
P16
108
P17
AD15
P17
109
P50
CS0X/PPG0
P50
110
P51
CS1X/PPG1
P51
111
P52
CS2X/PPG2
P52
112
P53
CS3X/PPG3
P53
113
P54
ASX
P54
114
P55
RDX
P55
115
P56
WR0X
P56
116
P57
WR1X
P57
117
P20
SIN0
P20
118
P21
SOT0/SDA0
P21
119
P22
SCK0/SCL0
P22
ストップ時 *
スリープ時 *
HIZ=0
初期値
出力 Hi-Z/
入力可能
P: 直前状態
保持
F: 出力保持
または
Hi-Z
P: 直前状態
保持
F: 出力保持
または
Hi-Z
P: 直前状態
保持
F: H 出力
P: 直前状態
保持
F:H 出力
HIZ=1
出力 Hi-Z/
入力 0 固定
直前状態保持 直前状態保持
*:P: 汎用ポート選択時 F: 指定機能選択時
576
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
付録
付録 C 各 CPU ステートにおける端子状態
MB91313A シリーズ
表 C-3 シリアル書込みモード時の端子状態 (1 / 3)
端子
番号
ポー
ト名
イニシャライズ時
(INITX=0)
機能
機能名
3
P23
SIN1
P23
4
P24
SOT1/SDA1
P24
5
P25
SCK1/SCL1
P25
6
P26
SIN2
P26
7
P27
SOT2
P27
8
P30
SCK2
P30
9
P31
TOT0
P31
10
P32
TOT1
P32
11
P33
TOT2
P33
12
P34
TIN0
P34
13
P35
TIN1
P35
14
P36
TIN2
P36
15
P37
RIN
P37
16
P40
TMO0/INT16
P40
17
P41
TMO1/INT17
P41
18
P42
TMO2/INT18
P42
19
P43
TMO3/INT19
P43
20
P44
TMI0/INT20
P44
21
P45
TMI1/INT21/SIN10
P45
22
P46
TMI2/INT22/
SOT10/SDA10
P46
23
P47
TMI3/INT23/
SCK10/SCL10
P47
24
P60
TOT3/TRG2
P60
25
P61
TOT4/TRG3
P61
26
P62
TOT5
P62
27
P63
TIN3
P63
28
P64
TIN4
P64
29
P65
TIN5
P65
32
PF0
PF0/RCIN0
PF0
33
PF1
PF1/RCIN1
PF1
34
PF2
PF2/RCACK0
PF2
35
PF3
PF3/RCACK1
PF3
36
PF4
⎯
PF4
37
PF5
⎯
PF5
38
PF6
⎯
PF6
39
PF7
⎯
PF7
CM71-10143-5
P54="L" *
初期値
P55="H"
P55="L"
出力 Hi-Z/
入力可能
出力 Hi-Z/
入力可能
出力 Hi-Z/
入力可能
出力 Hi-Z/
入力可能
出力 Hi-Z/
入力可能
出力 Hi-Z/
入力可能
FUJITSU SEMICONDUCTOR LIMITED
577
付録
付録 C 各 CPU ステートにおける端子状態
MB91313A シリーズ
表 C-3 シリアル書込みモード時の端子状態 (2 / 3)
端子
番号
ポー
ト名
イニシャライズ時
(INITX=0)
機能
機能名
45
PD0
AN0
AN0
46
PD1
AN1
AN1
47
PD2
AN2
AN2
48
PD3
AN3
AN3
49
PD4
AN4
AN4
50
PD5
AN5
AN5
51
PD6
AN6
AN6
52
PD7
AN7
AN7
53
PE0
AN8/INT0
AN8
54
PE1
AN9/PPG0/INT1
AN9
55
PE2
PPG1/INT2/ATRG
PE2
56
PE3
PPG2/INT3
PE3
58
⎯
INITX
INITX
65
⎯
MD0
MD0
66
⎯
MD1
MD1
67
⎯
MD2
MD2
68
PE4
PPG3/INT4
PE4
69
PE5
SIN8/INT5
PE5
70
PE6
SOT8/SDA8/INT6
PE6
71
PE7
SCK8/SCL8/INT7
PE7
72
PC0
SIN9
PC0
73
PC1
SOT9/SDA9
PC1
74
PC2
SCK9/SCL9
PC2
75
PC3
⎯
PC3
76
PC4
PPGA
PC4
77
PC5
PPGB
PC5
78
PC6
TRG0
PC6
79
PC7
TRG1
PC7
80
⎯
TRSTX
TRSTX
81
⎯
ICD0
ICD0
82
⎯
ICD1
ICD1
83
⎯
SCK0
SCK0
84
⎯
SIN0
SIN0
85
⎯
SOT0
SOT0
86
⎯
ICS1
87
⎯
ICS2
578
P54="L" *
初期値
P55="H"
P55="L"
出力 Hi-Z/
入力 0 固定
出力 Hi-Z/
入力 0 固定
出力 Hi-Z/
入力 0 固定
出力 Hi-Z/
入力可能
出力 Hi-Z/
入力可能
出力 Hi-Z/
入力可能
入力可能
入力可能
入力可能
出力 Hi-Z/
入力可能
出力 Hi-Z/
入力可能
出力 Hi-Z/
入力可能
入力可能
入力可能
入力可能
直前状態保持 直前状態保持
出力 Hi-Z/
入力可能
出力 Hi-Z/
入力可能
出力 Hi-Z/
入力可能
"H" 出力
出力状態
出力状態
ICS1
"L" 出力
"L" 出力
"L" 出力
ICS2
"L" 出力
"L" 出力
"L" 出力
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
付録
付録 C 各 CPU ステートにおける端子状態
MB91313A シリーズ
表 C-3 シリアル書込みモード時の端子状態 (3 / 3)
端子
番号
ポー
ト名
イニシャライズ時
(INITX=0)
機能
P54="L" *
機能名
初期値
P55="H"
P55="L"
88
⎯
ICLK
ICLK
不定出力
"H" 出力
"H" 出力
89
⎯
IBREAK
IBREAK
入力可能
入力可能
入力可能
93
P00
SIN3/INT8
P00
94
P01
SOT3/SDA3/INT9
P01
95
P02
SCK3/SCL3/INT10
P02
96
P03
SIN4/INT11
P03
97
P04
SOT4/SDA4/INT12
P04
98
P05
SCK4/SCL4/INT13
P05
99
P06
SIN5/INT14
P06
100
P07
SOT5/SDA5/INT15
P07
101
P10
SCK5/SCL5
P10
102
P11
SIN6
P11
103
P12
SOT6/SDA6
P12
104
P13
SCK6/SCL6
P13
105
P14
SIN7
P14
106
P15
SOT7/SDA7
P15
107
P16
SCK7/SCL7
P16
出力 Hi-Z/
入力可能
出力 Hi-Z/
入力可能
出力 Hi-Z/
入力可能
108
P17
⎯
P17
109
P50
PPG0
P50
110
P51
PPG1
P51
111
P52
PPG2
P52
112
P53
PPG3
P53
113
P54
⎯
P54
114
P55
⎯
P55
115
P56
⎯
P56
116
P57
⎯
P57
117
P20
⎯
P20
118
P21
⎯
P21
119
P22
⎯
P22
*:P: 汎用ポート選択時 F: 指定機能選択時
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
579
付録
付録 D 命令一覧表
付録 D
MB91313A シリーズ
命令一覧表
FR ファミリの命令一覧表です。
■ 命令一覧表
[ 命令一覧表の読み方 ]
ニーモニック
ADD Rj, Rj
*ADD #s5, Rj
,
,
(1)
(2)
型
A
C
,
,
OP
AG
A4
,
,
CYC
1
1
,
,
NZVC
CCCC
CCCC
,
,
(3)
(4)
(5)
(6)
動
Ri + Rj -> Rj
Ri + s5 -> Ri
,
,
作
備考
(7)
(1) 命令名が示されています。
* 印は , CPU 仕様にはなくアセンブラで命令を拡張または追加した拡張命令です。
(2) オペランドに指定可能なアドレッシングモードを記号で示されています。
記号の意味は , 「・アドレッシングモードの記号 ( 次項 ) 」を参照してください。
(3) 命令フォーマットが示されています。
(4) 命令コードが 16 進数表示されています。
(5) マシンサイクル数を表しています。
a:
メモリアクセスサイクルであり , Ready 機能により延びる可能性があります。
b:
メモリアクセスサイクルであり , Ready 機能により延びる可能性があります。
ただし, LD動作の対象となるレジスタを直後の命令が参照する場合には, イン
タロックがかかり , 実行サイクル数が+ 1 増加します。
c:
直後の命令が , R15 または SSP または USP に対し , 読出しあるいは書込みを行
う命令であるとき , あるいは命令フォーマット A の命令であるとき , インタ
ロック がかかり , 実行サイクル数は+ 1 増加して 2 となります。
d; 直後の命令が MDH/MDL を参照する場合 , インタロックがかかり , 実行サイク
ル数は増加して 2 となります。
a, b, c, d とも最小は 1 サイクルです。
(6) フラグ変化を表しています。
フラグ変化
C
0
1
・・・ 変化する
・・・ 変化しない
・・・ クリア
・・・ セット
N
Z
V
C
フラグの意味
ネガティブフラグ
・・・ ・・・ ゼロフラグ ・・・ オーバフラグ ・・・ キャリフラグ (7) 命令動作が表記されています。
580
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
付録
付録 D 命令一覧表
MB91313A シリーズ
● アドレッシングモードの記号
Ri
: レジスタ直接 (R0 ∼ R15, AC, FP, SP)
Rj
: レジスタ直接 (R0 ∼ R15, AC, FP, SP)
R13
: レジスタ直接 (R13, AC)
Ps
: レジスタ直接 ( プログラムステータスレジスタ )
Rs
: レジスタ直接 (TBR,RP, SSP, USP, MDH, MDL)
Cri
: レジスタ直接 (CR0 ∼ CR15)
CRj
: レジスタ直接 (CR0 ∼ CR15)
#i8
: 符号なし 8 ビット即値 ( − 128 ∼ 255)
( 注意事項 ) − 128 ∼− 1 は , 128 ∼ 255 として扱います。
: 符号なし 20 ビット即値 (-0X80000 ∼ 0XFFFFF)
#i20
( 注意事項 ) -0X7FFFF ∼ -1 は , 0X7FFFF ∼ 0XFFFFF として扱います。
: 符号なし 32 ビット即値 (-0X80000000 ∼ 0XFFFFFFFF)
#i32
( 注意事項 ) -0X80000000 ∼ -1 は , 0X80000000 ∼ 0XFFFFFFFF とし
て扱います。
CM71-10143-5
#s5
: 符号付き 5 ビット即値 (-16 ∼ 15)
#s10
: 符号付き 10 ビット即値 (-512 ∼ 508 4 の倍数のみ )
#u4
: 符号なし 4 ビット即値 (0 ∼ 15)
#u5
: 符号なし 5 ビット即値 (0 ∼ 31)
#u8
: 符号なし 8 ビット即値 (0 ∼ 255)
#u10
: 符号なし 10 ビット即値 (0 ∼ 1020 4 の倍数のみ )
@dir8
: 符号なし 8 ビット直接アドレス (0 ∼ 0XFF)
@dir9
: 符号なし 9 ビット直接アドレス (0 ∼ 0X1FE 2 の倍数のみ )
@dir10
: 符号なし 10 ビット直接アドレス (0 ∼ 0X3FC 4 の倍数のみ )
label9
: 符号付き 9 ビット分岐アドレス (-0X100 ∼ 0XFC 2 の倍数のみ )
label12
: 符号付き 12 ビット分岐アドレス (-0X800 ∼ 0X7FC 2 の倍数のみ )
label20
: 符号付き 20 ビット分岐アドレス (-0X80000 ∼ 0X7FFFF)
label32
: 符号付き 32 ビット分岐アドレス (-0X80000000 ∼ 0X7FFFFFFF)
@Ri
: レジスタ間接 (R0 ∼ R15, AC, FP, SP)
@Rj
: レジスタ間接 (R0 ∼ R15, AC, FP, SP)
@(R13,Rj)
: レジスタ相対間接 (Rj: R0 ∼ R15, AC, FP, SP)
@(R14,disp10)
: レジスタ相対間接 (disp10: -0X200 ∼ 0X1FC 4 の倍数のみ )
@(R14,disp9)
: レジスタ相対間接 (disp9: -0X100 ∼ 0XFE 2 の倍数のみ )
@(R14,disp8)
: レジスタ相対間接 (disp8: -0X80 ∼ 0X7F)
@(R15,udisp6)
: レジスタ相対間接 (udisp6: 0 ∼ 60 4 の倍数のみ )
@Ri+
: ポストインクリメント付きレジスタ間接 (R0 ∼ R15, AC, FP, SP)
@R13+
: ポストインクリメント付きレジスタ間接 (R13, AC)
@SP+
: スタックポップ
@-SP
: スタックプッシュ
(reglist)
: レジスタリスト
FUJITSU SEMICONDUCTOR LIMITED
581
付録
付録 D 命令一覧表
MB91313A シリーズ
● 命令フォーマット
図 D-1 命令フォーマット
MSB
LSB
┌───── 16ビット ───── ┐
A
B
OP
Rj
Ri
8
4
4
OP
i8/O8
Ri
4
8
4
C
OP
u4/m4
Ri
8
4
4
ADD,ADDN,CMP,LSL,LSR,ASR命令のみ
*C ’
OP
7
D
F
5
4
8
OP
SUB-OP
Ri
8
4
4
OP
rel11
5
582
Ri
u8/rel8/dir/
reglist
8
OP
E
s5/u5
FUJITSU SEMICONDUCTOR LIMITED
11
CM71-10143-5
付録
付録 D 命令一覧表
MB91313A シリーズ
付表 D-1 加減算
ニーモニック
ADD Rj, Ri
*ADD #s5, Ri
型
A
C’
OP
CYCLE NZVC
A6
A4
1
1
動作
CCCC Ri+Rj->Ri
CCCC Ri+s5->Ri
ADD #u4, Ri
ADD2 #u4, Ri
ADDN Rj, Ri
ADDN Rj, Ri
*ADDN #s5, Ri
C
C
A
A
C’
A4
A5
A7
A2
A0
1
1
1
1
1
CCCC
CCCC
CCCC
-------
Ri+extu(i4)->Ri
Ri+extu(i4)->Ri
Ri+Rj+c->Ri
Ri+Rj->Ri
Ri+s5->Ri
ADDN #u4, Ri
ADDN2 #u4, Ri
SUB Rj, Ri
SUBC Rj, Ri
SUBN Rj, Ri
C
C
A
A
A
A0
A1
AC
AD
AE
1
1
1
1
1
------CCCC
CCCC
----
Ri+extu(i4)->Ri
Ri+extu(i4)->Ri
Ri-Rj->Ri
Ri-Rj-c->Ri
Ri-Rj->Ri
ニーモニック
CMP Rj, Ri
*CMP #s5, Ri
型
A
C’
OP
AA
A8
1
1
CCCC Ri-Rj
CCCC Ri-s5
アセンブラでは上位 1
ビットを符号と見る
CMP #u4, Ri
CMP2 #u4, Ri
C
C
A8
A9
1
1
CCCC Ri-extu(i4)
CCCC Ri-extu(i4)
ゼロ拡張
マイナス拡張
備考
アセンブラでは上位
1 ビットを符号と見る
ゼロ拡張
マイナス拡張
キャリ付き加算
アセンブラでは上位
1 ビットを符号と見る
ゼロ拡張
マイナス拡張
キャリ付き減算
付表 D-2 比較演算
CM71-10143-5
CYCLE NZVC
動作
FUJITSU SEMICONDUCTOR LIMITED
備考
583
付録
付録 D 命令一覧表
MB91313A シリーズ
付表 D-3 論理演算
ニーモニック
AND Rj, Ri
AND Rj, @Ri
ANDH Rj, @Ri
ANDB Rj, @Ri
OR Rj, Ri
OR Rj, @Ri
ORH Rj, @Ri
ORB Rj, @Ri
EOR Rj, Ri
EOR Rj, @Ri
EORH Rj, @Ri
EORB Rj, @Ri
型
A
A
A
A
A
A
A
A
A
A
A
A
OP
82
84
85
86
92
94
95
96
9A
9C
9D
9E
CYCLE NZVC
1
1+2a
1+2a
1+2a
1
1+2a
1+2a
1+2a
1
1+2a
1+2a
1+2a
CC-CC-CC-CC-CC-CC-CC-CC-CC-CC-CC-CC--
RMW
動作
Ri & = Rj
(Ri) & = Rj
(Ri) & = Rj
(Ri) & = Rj
Ri | = Rj
(Ri) | = Rj
(Ri) | = Rj
(Ri) | = Rj
Ri ^ = Rj
(Ri) ^ = Rj
(Ri) ^ = Rj
(Ri) ^ = Rj
○
○
○
○
○
○
○
○
○
備考
ワード
ワード
ハーフワード
バイト
ワード
ワード
ハーフワード
バイト
ワード
ワード
ハーフワード
バイト
付表 D-4 ビット操作命令
ニーモニック
BANDL #u4, @Ri
BANDH #u4, @Ri
*BAND #u8, @Ri
*1
BORL #u4, @Ri
BORH #u4, @Ri
*BOR #u8, @Ri
*2
BEORL #u4, @Ri
BEORH #u4, @Ri
*BEOR #u8, @Ri
*3
BTSTL #u4, @Ri
BTSTH #u4, @Ri
型 OP CYCLE NZVC
動作
C 80 1+2a
---- (Ri)&=(0xF0+u4)
C 81 1+2a
---- (Ri)&=((u4<<4)+0x0F)
---- (Ri)&=u8
RMW
○
○
-
備考
下位 4 ビットを操作
上位 4 ビットを操作
C
C
90
91
1+2a
1+2a
----------
(Ri) | = u4
(Ri) | = (u4<<4)
(Ri) | = u8
○
○
-
下位 4 ビットを操作
上位 4 ビットを操作
C
C
98
99
1+2a
1+2a
----------
(Ri) ^ = u4
(Ri) ^ = (u4<<4)
(Ri) ^ = u8
○
○
-
下位 4 ビットを操作
上位 4 ビットを操作
C
C
88
89
2+a
2+a
0C-- (Ri) & u4
CC-- (Ri) & (u4<<4)
-
下位 4 ビットをテスト
上位 4 ビットをテスト
*1: アセンブラは , u8&0x0F でビットが立っていれば , BANDL を生成し , u8&0xF0 でビットが立ってい
れば , BANDH を生成する。BANDL, BANDH 両方を生成する場合もある。
*2: アセンブラは , u8&0x0F でビットが立っていれば , BORL を生成し , u8&0xF0 でビットが立っていれ
ば , BORH を生成する。BORL, BORH 両方を生成する場合もある。
*3: アセンブラは , u8&0x0F でビットが立っていれば , BEORL を生成し , u8&0xF0 でビットが立ってい
れば , BEORH を生成する。BEORL, BEORH 両方を生成する場合もある。
584
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
付録
付録 D 命令一覧表
MB91313A シリーズ
付表 D-5 乗除算
型
OP
MUL Rj,Ri
MULU Rj,Ri
MULH Rj,Ri
MULUH Rj,Ri
A
A
A
A
AF
AB
BF
BB
5
5
3
3
CCCCCCCC-CC--
DIV0S Ri
DIV0U Ri
DIV1 Ri
DIV2 Ri
DIV3
DIV4S
*DIV Ri
E
E
E
E
E
E
97-4
97-5
97-6
97-7
9F-6
9F-7
1
1
d
1
1
1
36
---ステップ演算
---32bit/32bit=32bit
-C-C
-C-C
-------C-C MDL / Ri -> MDL , MDL % Ri -> MDH
ニーモニック
CYCLE NZVC
*1
*DIVU Ri
-C-C
*2
動作
備考
Ri * Rj -> MDH, MDL
Ri * Rj -> MDH, MDL
Ri * Rj -> MDL
Ri * Rj -> MDL
32bit*32bit=64bit
符号なし
16bit*16bit=32bit
符号なし
MDL / Ri -> MDL , MDL % Ri -> MDH
付表 D-6 シフト
型
OP
LSL Rj, Ri
*LSL #u5, Ri(u5:0 ∼ 31)
LSL #u4, Ri
LSL2 #u4, Ri
A
C’
C
C
B6
B4
B4
B5
1
1
1
1
CC-C
CC-C
CC-C
CC-C
Ri << Rj -> Ri
Ri << u5 -> Ri
Ri << u4 -> Ri
Ri <<(u4+16) -> Ri
論理シフト
LSR Rj, Ri
*LSR #u5, Ri(u5:0 ∼ 31)
LSR #u4, Ri
LSR2 #u4, Ri
A
C’
C
C
B2
B0
B0
B1
1
1
1
1
CC-C
CC-C
CC-C
CC-C
Ri >> Rj -> Ri
Ri >> u5 -> Ri
Ri >> u4 -> Ri
Ri >>(u4+16) -> Ri
論理シフト
ASR Rj, Ri
*ASR #u5, Ri (u5:0 ∼ 31)
ASR #u4, Ri
ASR2 #u4, Ri
A
C’
C
C
BA
B8
B8
B9
1
1
1
1
CC-C
CC-C
CC-C
CC-C
Ri >> Rj -> Ri
Ri >> u5 -> Ri
Ri >> u4 -> Ri
Ri >>(u4+16) -> Ri
算術シフト
ニーモニック
CYCLE NZVC
動作
備考
付表 D-7 即値セット /16 ビット /32 ビット即値転送命令
ニーモニック
型
OP
LDI:32 #i32, Ri
LDI:20 #i20, Ri
LDI:8 #i8, Ri
*LDI # {i8|i20|i32} ,Ri
E
C
B
9F-8
9B
C0
*3
CYCLE NZVC
3
2
1
----------
動作
i32 -> Ri
i20 -> Ri
i8 -> Ri
備考
上位 12bit はゼロ拡張
上位 24bit はゼロ拡張
{i8 | i20 | i32} -> Ri
*1 DIV0S, DIV1 × 32, DIV2, DIV3, DIV4S を生成する。命令コード長は , 72 バイトとなる。
*2 DIV0U, DIV1 × 32 を生成する。命令コード長は , 66 バイトとなる。
*3 即値が絶対値の場合は , i8, i20, i32 の選択はアセンブラが自動的に行う。
即値が , 相対値または外部参照シンボルを含む場合は , i32 が選択される。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
585
付録
付録 D 命令一覧表
MB91313A シリーズ
付表 D-8 メモリロード
型
OP
A
A
B
C
E
E
E
04
00
2
03
07-0
07-8
07-9
b
b
b
b
b
b
1+a+b
------------------CCCC
LDUH @Rj, Ri
LDUH @(R13,Rj), Ri
LDUH @(R14,disp9), Ri
A
A
B
05
01
4
b
b
b
LDUB @Rj, Ri
LDUB @(R13,Rj), Ri
LDUB @(R14,disp8), Ri
A
A
B
06
02
6
b
b
b
ニーモニック
LD
LD
LD
LD
LD
LD
LD
@Rj, Ri
@(R13,Rj), Ri
@(R14,disp10),Ri
@(R15,udisp6),Ri
@R15+, Ri
@R15+, Rs
@R15+, PS
CYCLE NZVC
動作
備考
(Rj)->Ri
(R13+Rj)->Ri
(R14+disp10)->Ri
(R15+udisp6)->Ri
(R15)->Ri,R15+=4
(R15)->Rs,R15+=4
(R15)->PS, R15+=4
Rs: 特殊レジスタ
*
----------
(Rj)->Ri
(R13+Rj)->Ri
(R14+disp9)->Ri
ゼロ拡張
ゼロ拡張
ゼロ拡張
----------
(Rj)->Ri
(R13+Rj)->Ri
(R14+disp8)->Ri
ゼロ拡張
ゼロ拡張
ゼロ拡張
*: ハード仕様の o8, o4 のフィールドには , 次のようにアセンブラが計算して値を設定します。
disp10/4->o8, disp9/2->o8, disp8->o8, disp10, disp9, disp8 は符号付き , udisp6/4->o4 udisp6 は符号なし。
付表 D-9 メモリストア
ニーモニック
ST Ri,@Rj
ST Ri,@(R13,Rj)
ST Ri,@(R14,disp10)
ST Ri,@(R15,udisp6)
ST Ri,@-R15
ST Rs,@-R15
ST PS,@-R15
STH Ri,@Rj
STH Ri,@(R13,Rj)
STH Ri,@(R14,disp9)
STB Ri,@Rj
STB Ri,@(R13,Rj)
STB Ri,@(R14,disp8)
型
A
A
B
C
E
E
E
A
A
B
A
A
B
OP
14
10
3
13
17-0
17-8
17-9
15
11
5
16
12
7
CYCLE NZVC
動作
備考
a
---- Ri->(Rj)
ワード
a
---- Ri->(R13+Rj)
ワード
a
---- Ri->(R14+disp10) ワード
a
---- Ri->(R15+udisp6)
a
---- R15-=4,Ri->(R15)
a
---- R15-=4, Rs->(R15) Rs 特殊レジスタ
a
---- R15-=4, PS->(R15) *
a
---- Ri->(Rj)
ハーフワード
a
---- Ri->(R13+Rj)
ハーフワード
a
---- Ri->(R14+disp9)
ハーフワード
a
---- Ri->(Rj)
バイト
a
---- Ri->(R13+Rj)
バイト
a
---- Ri->(R14+disp8)
バイト
*: ハード仕様の o8, o4 のフィールドには , 次のようにアセンブラが計算して値を設定します。
disp10/4->o8, disp9/2->o8, disp8->o8, disp10, disp9, disp8 は符号付き , udisp6/4->o4 udisp6 は , 符号な
し。
付表 D-10 レジスタ間転送
MOV
MOV
MOV
MOV
MOV
ニーモニック
Rj, Ri
Rs, Ri
Ri, Rs
PS, Ri
Ri, PS
型
A
A
E
E
E
OP
8B
B7
B3
17-1
07-1
CYCLE NZVC
動作
1
---- Rj -> Ri
1
---- Rs -> Ri
1
---- Ri -> Rs
1
---- PS -> Ri
c
CCCC Ri -> PS
備考
汎用レジスタ間転送
Rs: 特殊レジスタ
Rs: 特殊レジスタ
*
*: 特殊レジスタ Rs : TBR,RP, USP, SSP, MDH, MDL
586
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
付録
付録 D 命令一覧表
MB91313A シリーズ
付表 D-11 通常分岐 ( 遅延なし )
ニーモニック
JMP @Ri
CALL label12
CALL @Ri
RET
INT #u8
型
E
E
F
E
D
OP
97-0
D0
97-1
97-2
1F
CYCLE NZVC
動作
備考
2
---- Ri -> PC
2
---- PC+2->RP , PC+2+(label12-PC-2)->PC
2
---- PC+2->RP ,Ri->PC
2
---- RP -> PC
リターン
3+3a
---- SSP-=4, PS->(SSP), SSP-=4, PC+2->(SSP),
0->I フラグ , 0->S フラグ ,
(TBR+0x3FC-u8 × 4)->PC
3+3a
---- SSP-=4, PS->(SSP), SSP-=4, PC+2->(SSP),
0->S フラグ ,(TBR+0x3D8)->PC
INTE
E
9F-3
RETI
BRA label9
BNO label9
BEQ label9
E
D
D
D
97-3
E0
E1
E2
2+2A
2
1
2/1
CCCC
----------
BNE label9
BC label9
BNC label9
BN label9
BP label9
BV label9
BNV label9
BLT label9
BGE label9
BLE label9
BGT label9
BLS label9
BHI label9
D
D
D
D
D
D
D
D
D
D
D
D
D
E3
E4
E5
E6
E7
E8
E9
EA
EB
EC
ED
EE
EF
2/1
2/1
2/1
2/1
2/1
2/1
2/1
2/1
2/1
2/1
2/1
2/1
2/1
----------------------------------------
エミュレータ用
(R15)->PC,R15-=4,(R15)->PS,R15-=4
PC+2+(label9-PC-2)->PC
非分岐
if(Z==1) then
PC+2+(label9-PC-2)->PC
↑ s/Z==0
↑ s/C==1
↑ s/C==0
↑ s/N==1
↑ s/N==0
↑ s/V==1
↑ s/V==0
↑ s/V xor N==1
↑ s/V xor N==0
↑ s/(V xor N) or Z==1
↑ s/(V xor N) or Z==0
↑ s/C or Z==1
↑ s/C or Z==0
<注意事項>
• CYCLE 数の「2/1」は , 分岐するとき "2", 分岐しないとき "1" であることを示します。
• ハード仕様の rel11, rel8 のフィールドには , 次のようにアセンブラが計算して値を
設定します。
(label12-PC-2)/2->rel11, (label9-PC-2)/2->rel8, label12, label9 は符号付き。
•
CM71-10143-5
RETI 命令を実行するときは S フラグが "0" であることが必要です。
FUJITSU SEMICONDUCTOR LIMITED
587
付録
付録 D 命令一覧表
MB91313A シリーズ
付表 D-12 遅延分岐
ニーモニック
JMP:D @Ri
CALL:D label12
CALL:D @Ri
RET:D
BRA:D label9
BNO:D label9
BEQ:D label9
型
E
F
E
E
D
D
D
OP
9F-0
D8
9F-1
9F-2
F0
F1
F2
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
D
D
D
D
D
D
D
D
D
D
D
D
D
F3
F4
F5
F6
F7
F8
F9
FA
FB
FC
FD
FE
FF
CYCLE NZVC
動作
備考
1
---- Ri -> PC
1
---- PC+4->RP , PC+2+(label12-PC-2)->PC
1
---- PC+4->RP ,Ri->PC
1
---- RP -> PC
リターン
1
---- PC+2+(label9-PC-2)->PC
1
---- 非分岐
1
---- if(Z==1) then
PC+2+(label9-PC-2)->PC
1
---- ↑ s/Z==0
1
---- ↑ s/C==1
1
---- ↑ s/C==0
1
---- ↑ s/N==1
1
---- ↑ s/N==0
1
---- ↑ s/V==1
1
---- ↑ s/V==0
1
---- ↑ s/V xor N==1
1
---- ↑ s/V xor N==0
1
---- ↑ s/(V xor N) or Z==1
1
---- ↑ s/(V xor N) or Z==0
1
---- ↑ s/C or Z==1
1
---- ↑ s/C or Z==0
<注意事項>
• ハード仕様の rel11, rel8 のフィールドには , 次のようにアセンブラが計算して値を
設定します。
(label12-PC-2)/2->rel11, (label9-PC-2)/2->rel8, label12, label9 は符号付き。
• 遅延分岐は必ず次の命令 ( 遅延スロット ) を実行してから分岐します。
•
遅延スロットに置くことができる命令は , すべての 1 サイクル , a, b, c, d サイクル
命令です。複数サイクル命令は置けません。
588
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
付録
付録 D 命令一覧表
MB91313A シリーズ
付表 D-13 その他
ニーモニック
NOP
ANDCCR #u8
ORCCR #u8
STILM #u8
ADDSP #s10*1
EXTSB Ri
EXTUB Ri
EXTSH Ri
EXTUH Ri
LDM0 (reglist)
型
E
D
D
D
D
E
E
E
E
D
OP
9F-A
83
93
87
A3
97-8
97-9
97-A
97-B
8C
LDM1 (reglist)
D
8D
*LDM (reglist)
*2
STM0 (reglist)
D
8E
STM1 (reglist)
D
8F
*STM (reglist)
*3
ENTER #u10
D
0F
*4
LEAVE
E
9F-9
XCHB @Rj, Ri
A
8A
CYCLE NZVC
動作
1
---- 何も変化しない
c
cccc CCR and u8 -> CCR
c
cccc CCR or u8 -> CCR
1
---- i8 -> ILM
1
---- R15 += s10
---- 符号拡張 8->32bit
1
1
---- ゼロ拡張 8->32bit
1
---- 符号拡張 16->32bit
---- ゼロ拡張 16->32bit
1
---- (R15)->reglist,
R15 インクリメント
---- (R15)->reglist,
R15 インクリメント
---- (R15)->reglist,
R15 インクリメント
---- R15 デクリメント ,
reglist->(R15)
---- R15 デクリメント ,
reglist->(R15)
---- R15 デクリメント ,
reglist->(R15)
1+a
---- R14 -> (R15 - 4),
R15 - 4 -> R14,
R15 - u10 -> R15
b
---- R14 + 4 -> R15,
(R15 - 4) -> R14
2a
---- Ri -> TEMP
(Rj) -> Ri
TEMP -> (Rj)
RMW
備考
ILM 即値セット
ADD SP 命令
ロードマルチ R0-R7
-
ロードマルチ R8-R15
-
ロードマルチ R0-R15
-
ストアマルチ R0-R7
-
ストアマルチ R8-R15
-
ストアマルチ R0-R15
-
関数の入口処理
-
関数の出口処理
○
セマフォ管理用
バイトデータ
*1: s10 はアセンブラが , s10/4 を計算して s8 にして値を設定する。s10 は符号付き。
*2: reglist で , R0 ∼ R7 のいずれかの指定があれば , LDM0 を生成し , R8 ∼ R15 のいずれかの指定があ
れば , LDM1 を生成する。LDM0, LDM1 両方を生成する場合もある。
*3: reglist で , R0 ∼ R7 のいずれかの指定があれば , STM0 を生成し , R8 ∼ R15 のいずれかの指定があ
れば , STM1 を生成する。STM1, STM0 両方を生成する場合もある。
*4: u10 はアセンブラが , u10/4 を計算して u8 にして値を設定する。u10 は符号なし。
<注意事項>
• LDM0 (reglist) , LDM1 (reglist) の実行サイクル数は , 指定されたレジスタ数が n の
とき , a × (n-1)+b+1 サイクルとなります。
•
STM0 (reglist), STM1 (reglist) の実行サイクル数は , 指定されたレジスタ数が n のと
き , a × n+1 サイクルとなります。
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
589
付録
付録 D 命令一覧表
MB91313A シリーズ
付表 D-14 20 ビット通常分岐マクロ命令
ニーモニック
*CALL20 label20,Ri
*BRA20 label20,Ri
*BEQ20 label20,Ri
*BNE20 label20,Ri
*BC20 label20,Ri
*BNC20 label20,Ri
*BN20 label20,Ri
*BP20 label20,Ri
*BV20 label20,Ri
*BNV20 label20,Ri
*BLT20 label20,Ri
*BGE20 label20,Ri
*BLE20 label20,Ri
*BGT20 label20,Ri
*BLS20 label20,Ri
*BHI20 label20,Ri
動作
次の命令のアドレス ->RP,
label20->PC
label20->PC
if(Z==1) then label20->PC
↑ s/Z==0
↑ s/C==1
↑ s/C==0
↑ s/N==1
↑ s/N==0
↑ s/V==1
↑ s/V==0
↑ s/V xor N==1
↑ s/V xor N==0
↑ s/(V xor N) or Z==1
↑ s/(V xor N) or Z==0
↑ s/C or Z==1
↑ s/C or Z==0
備考
Ri: テンポラリレジスタ 参考 1 参照
Ri: テンポラリレジスタ 参考 2 参照
Ri: テンポラリレジスタ 参考 3 参照
↑
↑
↑
↑
↑
↑
↑
↑
↑
↑
↑
↑
↑
[ 参考 1] CALL20
(1) label20-PC-2 が , -0x800 ∼ +0x7fe の場合は , 次のように命令を生成します。
CALL label12
(2) label20-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成
します。
LDI:20 #label20,Ri
CALL @Ri
[ 参考 2] BRA20
(1) label20-PC-2 が , -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。
BRA label9
(2) label20-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成
します。
LDI:20 #label20,Ri
JMP @Ri
[ 参考 3] Bcc20
(1) label20-PC-2 が , -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。
Bcc label9
(2) label20-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成
します。
Bxcc false
xcc は cc の背反条件
LDI:20 #label20,Ri
JMP @Ri
false:
590
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
付録
付録 D 命令一覧表
MB91313A シリーズ
付表 D-15 20 ビット遅延分岐マクロ命令
ニーモニック
*CALL20:D label20,Ri
動作
次の命令のアドレス +2->RP,
label20->PC
label20->PC
if(Z==1) then label20->PC
↑ s/Z==0
↑ s/C==1
↑ s/C==0
↑ s/N==1
↑ s/N==0
↑ s/V==1
↑ s/V==0
↑ s/V xor N==1
↑ s/V xor N==0
↑ s/(V xor N) or Z==1
↑ s/(V xor N) or Z==0
↑ s/C or Z==1
↑ s/C or Z==0
*BRA20:D label20,Ri
*BEQ20:D label20,Ri
*BNE20:D label20,Ri
*BC20:D label20,Ri
*BNC20:D label20,Ri
*BN20:D label20,Ri
*BP20:D label20,Ri
*BV20:D label20,Ri
*BNV20:D label20,Ri
*BLT20:D label20,Ri
*BGE20:D label20,Ri
*BLE20:D label20,Ri
*BGT20:D label20,Ri
*BLS20:D label20,Ri
*BHI20:D label20,Ri
備考
Ri: テンポラリレジスタ 参考 1 参照
Ri: テンポラリレジスタ 参考 2 参照
Ri: テンポラリレジスタ 参考 3 参照
↑
↑
↑
↑
↑
↑
↑
↑
↑
↑
↑
↑
↑
[ 参考 1] CALL20:D
(1) label20-PC-2 が , -0x800 ∼ +0x7fe の場合は , 次のように命令を生成します。
CALL:D label12
(2) label20-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成
します。
LDI:20 #label20,Ri
CALL:D @Ri
[ 参考 2] BRA20:D
(1) label20-PC-2 が ,-0x100 ∼ +0xfe の場合は , 次のように命令を生成します。
BRA:D label9
(2) label20-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成
します。
LDI:20 #label20,Ri
JMP:D @Ri
[ 参考 3] Bcc20:D
(1) label20-PC-2 が , -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。
Bcc:D label9
(2) label20-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成
します。
Bxcc false
xcc は , cc の背反条件
LDI:20 #label20,Ri
JMP:D @Ri
false:
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
591
付録
付録 D 命令一覧表
MB91313A シリーズ
付表 D-16 32 ビット通常分岐マクロ命令
ニーモニック
*CALL32 label32,Ri
動作
次の命令のアドレス ->RP,
label32->PC
label32->PC
if(Z==1) then label32->PC
↑ s/Z==0
↑ s/C==1
↑ s/C==0
↑ s/N==1
↑ s/N==0
↑ s/V==1
↑ s/V==0
↑ s/V xor N==1
↑ s/V xor N==0
↑ s/(V xor N) or Z==1
↑ s/(V xor N) or Z==0
↑ s/C or Z==1
↑ s/C or Z==0
*BRA32 label32,Ri
*BEQ32 label32,Ri
*BNE32 label32,Ri
*BC32 label32,Ri
*BNC32 label32,Ri
*BN32 label32,Ri
*BP32 label32,Ri
*BV32 label32,Ri
*BNV32 label32,Ri
*BLT32 label32,Ri
*BGE32 label32,Ri
*BLE32 label32,Ri
*BGT32 label32,Ri
*BLS32 label32,Ri
*BHI32 label32,Ri
備考
Ri: テンポラリレジスタ 参考 1 参照
Ri: テンポラリレジスタ 参考 2 参照
Ri: テンポラリレジスタ 参考 3 参照
↑
↑
↑
↑
↑
↑
↑
↑
↑
↑
↑
↑
↑
[ 参考 1] CALL32
(1) label32-PC-2 が , -0x800 ∼ +0x7fe の場合は , 次のように命令を生成します。
CALL label12
(2) label32-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成
します。
LDI:32 #label32,Ri
CALL @Ri
[ 参考 2] BRA32
(1) label32-PC-2 が , -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。
BRA label9
(2) label32-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成
します。
LDI:32 #label32,Ri
JMP @Ri
[ 参考 3] Bcc32
(1) label32-PC-2 が , -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。
Bcc label9
(2) label32-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成
します。
Bxcc false
xcc は , cc の背反条件
LDI:32 #label32,Ri
JMP @Ri
false:
592
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
付録
付録 D 命令一覧表
MB91313A シリーズ
付表 D-17 32 ビット遅延分岐マクロ命令
ニーモニック
*CALL32D label32,Ri
*BRA32:D label32,Ri
*BEQ32:D label32,Ri
*BNE32:D label32,Ri
*BC32:D label32,Ri
*BNC32:D label32,Ri
*BN32:D label32,Ri
*BP32:D label32,Ri
*BV32:D label32,Ri
*BNV32:D label32,Ri
*BLT32:D label32,Ri
*BGE32:D label32,Ri
*BLE32:D label32,Ri
*BGT32:D label32,Ri
*BLS32:D label32,Ri
*BHI32:D label32,Ri
動作
次の命令のアドレス +2->RP,
label32->PC
label32->PC
if(Z==1) then label32->PC
↑ s/Z==0
↑ s/C==1
↑ s/C==0
↑ s/N==1
↑ s/N==0
↑ s/V==1
↑ s/V==0
↑ s/V xor N==1
↑ s/V xor N==0
↑ s/(V xor N) or Z==1
↑ s/(V xor N) or Z==0
↑ s/C or Z==1
↑ s/C or Z==0
備考
Ri: テンポラリレジスタ 参考 1 参照
Ri: テンポラリレジスタ 参考 2 参照
Ri: テンポラリレジスタ 参考 3 参照
↑
↑
↑
↑
↑
↑
↑
↑
↑
↑
↑
↑
↑
[ 参考 1] CALL32:D
(1) label32-PC-2 が , -0x800 ∼ +0x7fe の場合は , 次のように命令を生成します。
CALL:D label12
(2) label32-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成
します。
LDI:32 #label32,Ri
CALL:D @Ri
[ 参考 2] BRA32:D
(1) label32-PC-2 が , -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。
BRA:D label9
(2) label32-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成
します。
LDI:32 #label32,Ri
JMP:D @Ri
[ 参考 3] Bcc32:D
(1) label32-PC-2 が , -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。
Bcc:D label9
(2) label32-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成
します。
Bxcc false
xcc は , cc の背反条件
LDI:32 #label32,Ri
JMP:D @Ri
false:
CM71-10143-5
FUJITSU SEMICONDUCTOR LIMITED
593
付録
付録 D 命令一覧表
MB91313A シリーズ
付表 D-18 ダイレクトアドレッシング
ニーモニック
DMOV @dir10, R13
DMOV R13, @dir10
DMOV @dir10, @R13+
DMOV @R13+, @dir10
DMOV @dir10, @-R15
DMOV @R15+, @dir10
DMOVH @dir9, R13
DMOVH R13, @dir9
DMOVH @dir9, @R13+
DMOVH @R13+, @dir9
DMOVB @dir8, R13
DMOVB R13, @dir8
DMOVB @dir8, @R13+
DMOVB @R13+, @dir8
型
D
D
D
D
D
D
D
D
D
D
D
D
D
D
OP
08
18
0C
1C
0B
1B
09
19
0D
1D
0A
1A
0E
1E
CYCLE NZVC
動作
b
---- (dir10)-> R13
a
---- R13 ->(dir10)
2a
---- (dir10)->(R13),R13+=4
2a
---- (R13)->(dir10),R13+=4
2a
---- R15-=4,(R15)->(dir10)
2a
---- (R15)->(dir10),R15+=4
---- (dir9)-> R13
b
---- R13 ->(dir9)
a
---- (dir9)->(R13),R13+=2
2a
2a
---- (R13)->(dir9),R13+=2
b
---- (dir8)-> R13
---- R13 ->(dir8)
a
---- (dir8)->(R13),R13++
2a
---- (R13)->(dir8),R13++
2a
備考
ワード
ワード
ワード
ワード
ワード
ワード
ハーフワード
ハーフワード
ハーフワード
ハーフワード
バイト
バイト
バイト
バイト
( 注意事項 ) dir8, dir9, dir10 フィールドには , 次のようにアセンブラが計算して値を設定します。
dir8->dir, dir9/2->dir, dir10/4->dir dir8, dir9, dir10 は符号なし。
付表 D-19 リソース命令
ニーモニック
LDRES @Ri+, #u4
型
C
OP
BC
STRES #u4, @Ri+
C
BD
CYCLE NZVC
動作
a
---- (Ri)->u4 のリソース
Ri+=4
a
---- u4 のリソース ->(Ri)
Ri+=4
備考
u4: チャネル番号
u4: チャネル番号
( 注意事項 ) MB91313A シリーズでは , チャネル番号を持つリソースを搭載していないので , 使用でき
ません。
付表 D-20 コプロセッサ制御命令
{CRi | CRj} := CR0 | CR1 | CR2 | CR3 | CR4 | CR5 | CR6 | CR7 | CR8 | CR9 | CR10 |
CR11 | CR12 | CR13 | CR14 || CR15
u4: := チャネル指定
u8: := コマンド指定
ニーモニック
型 OP CYCLE NZVC
動作
備考
COPOP #u4, #u8, CRj, Cri
E 9F-C
2+a
---- 演算指示
COPLD #u4, #u8, Rj, Cri
E 9F-D
1+2a
---- Rj -> CRi
エラートラップなし
COPST #u4, #u8, CRj, Ri
E 9F-E
1+2a
---- CRj -> Ri
COPSV #u4, #u8, CRj, Ri
E 9F-F
1+2a
---- CRj -> Ri
( 注意事項 ) MB91313A シリーズでは , コプロセッサを搭載していないため使用できません。
594
FUJITSU SEMICONDUCTOR LIMITED
CM71-10143-5
索引
Numerics
A
0 検出
0 検出 ......................................................................271
0 検出用データレジスタ
0 検出用データレジスタ (BSD0) ........................269
10 ビット A/D コンバータ
10 ビット A/D コンバータ .......................................3
16 ビットタイマレジスタ
16 ビットタイマレジスタ (TMR) のビット構成
..........................................................................178
16 ビットリロードタイマ
16 ビットリロードタイマ
(REALOS 用 1 チャネル含 ) .............................3
16 ビットリロードタイマの概要 ........................172
16 ビットリロードタイマのレジスタ一覧 ........173
16 ビットリロードレジスタ
16 ビットリロードレジスタ (TMRLR) の
ビット構成 ......................................................179
1 検出
1 検出 ......................................................................271
1 検出用データレジスタ
1 検出用データレジスタ (BSD1) ........................269
2 サイクル転送
2 サイクル転送時のデータの動き ......................495
ステップ / ブロック転送 2 サイクル転送 .........483
バースト 2 サイクル転送 .....................................482
32 ビット←→ 16 ビットバスコンバータ
32 ビット←→ 16 ビットバスコンバータ ............30
7 ビットスレーブアドレスマスクレジスタ
7 ビットスレーブアドレスマスクレジスタ
(ISMK) ..............................................................404
7 ビットスレーブアドレスレジスタ
7 ビットスレーブアドレスレジスタ (ISBA)
..........................................................................406
A/D コンバータ
10 ビット A/D コンバータ ......................................3
A/D コンバータ制御レジスタ
A/D コンバータ制御レジスタ (ADCTH,ADCTL)
........................................................................... 278
A/D 動作
外部トリガ変換による A/D 動作 .......................282
ソフト変換による A/D 動作 ............................... 281
A/D 変換結果レジスタ
A/D 変換結果レジスタ (0 チャネル∼ 9 チャネル )
..........................................................................280
ACR
ACR0 ∼ ACR3 (Area Configuration Register)
..........................................................................122
ADCTH
A/D コンバータ制御レジスタ (ADCTH,ADCTL)
..........................................................................278
ADCTL
A/D コンバータ制御レジスタ (ADCTH,ADCTL)
..........................................................................278
ADER
ADER : 外バス ,I2C ブリッジ ,ADER 制御レジスタ
..........................................................................168
Area Configuration Register
ACR0 ∼ ACR3 (Area Configuration Register)
..........................................................................122
Area Select Register
ASR0 ∼ ASR3 (Area Select Register) .................. 121
Area Wait Register
AWR0 ∼ AWR3 (Area Wait Register) ................. 126
ASR
ASR0 ∼ ASR3 (Area Select Register) .................. 121
AVCC 端子
AVCC 端子について .............................................. 21
AWR
AWR0 ∼ AWR3 (Area Wait Register) ................. 126
CSnX → RDX/WRnX セットアップ設定
(TYP[3:0]=0101B, AWR=100BH) ...................137
two-cycle 転送 (I/O →外部 ) (TYP[3:0]=0000B,
AWR=0008H) ................................................... 140
two-cycle 転送 ( 外部→ I/O) (TYP[3:0]=0000B,
AWR=0008H) ................................................... 139
外部ウェイトあり (TYP[3:0]=0101B, AWR=1008H)
..........................................................................136
外部ウェイトなし (TYP[3:0]=0100B, AWR=0008H)
..........................................................................134
B
B