5.8MB

本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。
富士通マイクロエレクトロニクス
CONTROLLER MANUAL
CM71-10159-2
FR ファミリ
32 ビット・マイクロコントローラ
MB91461
ハードウェアマニュアル
FR ファミリ
32 ビット・マイクロコントローラ
MB91461
ハードウェアマニュアル
富士通マイクロエレクトロニクスのマイコンを効率的に開発するための情報を下記 URL にてご紹介いたします。
ご採用を検討中 , またはご採用いただいたお客様に有益な情報を公開しています。
開発における最新の注意事項に関しては , 「デザインレビューシート」を参照してください。
「デザインレビューシート」はシステム開発において , 問題を未然に防ぐことを目的として , 最低限必要と思われる
チェック項目をリストにしたものです。
http://edevice.fujitsu.com/micom/jp-support/
富士通マイクロエレクトロニクス株式会社
はじめに
■ 本書の目的と対象読者
MB91461 は民生機器等の高速リアルタイム処理が要求される組込み制御
用途向けに設計された, 汎用の富士通マイクロエレクトロニクス製32ビッ
ト RISC マイクロコントローラです。
CPU には , FR ファミリと互換の FR60
を使用しています。
本製品は LIN-UART および CAN コントローラを内蔵しています。低消費
電力モードの 1 つとしてシャットダウンモードをもち , 低消費電流を実現
しています。
FR は , FUJITSU RISC controller の略で , 富士通マイクロエレクトロニクス
株式会社の製品です。
■ 商標
本書に記載されている社名および製品名などの固有名詞は , 各社の商標ま
たは登録商標です。
■ 本書の全体構成
本書は , 以下に示す 24 の章 , および付録から構成されています。
第 1 章 概要
MB91461 の特長 , ブロックダイヤグラム , 機能概要など全体を知るため
の基本的なことについて説明します。
第 2 章 デバイスの取扱いについて
FR ファミリの取扱い上の注意について説明します。
第 3 章 CPU
FR ファミリの CPU コアのアーキテクチャ , 仕様 , 命令などについて説
明します。
第 4 章 制御部
制御部について説明します。
第 5 章 命令キャッシュ
命令キャッシュについて説明します。
第 6 章 低消費電力モード
低消費電力モードの機能と動作について説明しま
す。
i
第 7 章 ハードウェアウォッチドッグタイマ
ハードウェアウォッチドッグタイマの機能について説明します。
第 8 章 外部バスインタフェース
外部バスインタフェースの各機能について説明します。
第 9 章 I/O ポート
I/O ポートの概要 , レジスタの構成 , および機能について説明します。
第 10 章 割込みコントローラ
割込みコントローラの概要 , レジスタの構成 / 機能 , および動作につい
て説明します。
第 11 章 外部割込み制御部
外部割込み制御部の概要 , レジスタの構成 / 機能 , および動作について
説明します。
第 12 章 REALOS 関連ハード
REALOS の概要 , レジスタの構成 / 機能 , および動作について説明しま
す。
第 13 章 DMAC (DMA コントローラ )
DMAC の概要 , レジスタの構成 / 機能 , および DMAC の動作について
説明します。
第 14 章 CAN コントローラ
CAN コントローラの機能と動作について示します。
第 15 章 LIN-UART
LIN 対応 UART の機能と動作について説明します。
第 16 章 I2C インタフェース
I2C インタフェースの概要 , レジスタの構成 / 機能 , および動作につい
て説明します。
第 17 章 16 ビットリロードタイマ
16 ビットリロードタイマのレジスタの構成と機能およびタイマの動作
について説明します。
第 18 章 16 ビットフリーランタイマ
16 ビットフリーランタイマの機能と動作について説明します。
第 19 章 インプットキャプチャ
インプットキャプチャの機能と動作について説明します。
ii
第 20 章 アウトプットコンペアユニット
アウトプットコンペアユニットの機能と動作について説明します。
第 21 章 PPG ( プログラマブルパルスジェネレータ )
PPG のレジスタ , 機能と動作について説明します。
第 22 章 リアルタイムクロック
リアルタイムクロック ( 以降 RTC) のレジスタ構成とその機能 , RTC モ
ジュールの動作について説明します。
第 23 章 A/D コンバータ
A/D コンバータの概要 , レジスタの構成 / 機能 , および動作について説
明します。
第 24 章 フラッシュメモリサポート
フラッシュメモリのシリアルプログラミングのサポートについて説明
します。
付録
各 CPU ステートにおける端子状態 , リトル・エンディアン領域を利用
する際の注意事項 , FR ファミリの命令一覧 , および MB91461 を使用す
る際の注意事項について説明します。
iii
•
•
•
•
•
•
•
本資料の記載内容は , 予告なしに変更することがありますので , ご用命の際は営業部門にご確認くださ
い。
本資料に記載された動作概要や応用回路例は , 半導体デバイスの標準的な動作や使い方を示したもので ,
実際に使用する機器での動作を保証するものではありません。したがいまして , これらを使用するにあ
たってはお客様の責任において機器の設計を行ってください。これらの使用に起因する損害などについ
ては , 当社はその責任を負いません。
本資料に記載された動作概要・回路図を含む技術情報は , 当社もしくは第三者の特許権 , 著作権等の知的
財産権やその他の権利の使用権または実施権の許諾を意味するものではありません。また , これらの使用
について , 第三者の知的財産権やその他の権利の実施ができることの保証を行うものではありません。し
たがって , これらの使用に起因する第三者の知的財産権やその他の権利の侵害について , 当社はその責任
を負いません。
本資料に記載された製品は , 通常の産業用 , 一般事務用 , パーソナル用 , 家庭用などの一般的用途に使用
されることを意図して設計・製造されています。極めて高度な安全性が要求され , 仮に当該安全性が確保
されない場合 , 社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途(原子力
施設における核反応制御 , 航空機自動飛行制御 , 航空交通管制 , 大量輸送システムにおける運行制御 , 生
命維持のための医療機器 , 兵器システムにおけるミサイル発射制御をいう), ならびに極めて高い信頼性
が要求される用途(海底中継器 , 宇宙衛星をいう)に使用されるよう設計・製造されたものではありませ
ん。したがって , これらの用途にご使用をお考えのお客様は , 必ず事前に営業部門までご相談ください。
ご相談なく使用されたことにより発生した損害などについては , 責任を負いかねますのでご了承くださ
い。
半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても , 結果的に人身事故 ,
火災事故 , 社会的な損害を生じさせないよう , お客様は , 装置の冗長設計 , 延焼対策設計 , 過電流防止対策
設計 , 誤動作防止設計などの安全設計をお願いします。
本資料に記載された製品を輸出または提供する場合は , 外国為替及び外国貿易法および米国輸出管理関
連法規等の規制をご確認の上 , 必要な手続きをおとりください。
本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商標です。
Copyright ©2007-2010 FUJITSU MICROELECTRONICS LIMITED All rights reserved.
iv
目次
第1章
1.1
1.2
1.3
1.4
1.5
1.6
第2章
2.1
2.2
第3章
概要 ............................................................................................................ 1
概要 ........................................................................................................................................ 2
ブロックダイヤグラム............................................................................................................ 5
外形寸法図.............................................................................................................................. 6
端子配列図.............................................................................................................................. 7
端子機能一覧表 ...................................................................................................................... 9
入出力回路形式 .................................................................................................................... 15
デバイスの取扱いについて ...................................................................... 19
デバイス取扱い上の注意 ...................................................................................................... 20
使用上の注意 ........................................................................................................................ 24
CPU.......................................................................................................... 27
3.1 メモリ空間............................................................................................................................ 28
3.2 内部アーキテクチャ ............................................................................................................. 29
3.2.1
命令概要 ..................................................................................................................... 33
3.3 プログラミングモデル.......................................................................................................... 35
3.3.1
汎用レジスタ .............................................................................................................. 36
3.3.2
専用レジスタ .............................................................................................................. 37
3.4 データ構造............................................................................................................................ 44
3.5 メモリマップ ........................................................................................................................ 46
3.6 分岐命令 ............................................................................................................................... 47
3.6.1
遅延スロット付き動作 ............................................................................................... 48
3.6.2
遅延スロットなし動作 ............................................................................................... 50
3.7 EIT ( 例外・割込み・トラップ ) ........................................................................................... 51
3.7.1
EIT の割込みレベル.................................................................................................... 52
3.7.2
割込み制御レジスタ (ICR).......................................................................................... 54
3.7.3
システムスタックポインタ (SSP).............................................................................. 55
3.7.4
テーブルベースレジスタ (TBR) ................................................................................. 56
3.7.5
多重 EIT 処理.............................................................................................................. 57
3.7.6
EIT の動作 .................................................................................................................. 59
第4章
制御部 ...................................................................................................... 63
4.1 動作モード............................................................................................................................ 64
4.1.1
バスモード ................................................................................................................. 65
4.1.2
モード設定 ................................................................................................................. 66
4.2 リセット ( デバイス初期化 ) ................................................................................................. 69
4.2.1
リセットレベル .......................................................................................................... 70
4.2.2
リセット要因 .............................................................................................................. 71
4.2.3
リセットシーケンス ................................................................................................... 73
4.2.4
発振安定待ち時間....................................................................................................... 74
4.2.5
リセット動作モード ................................................................................................... 76
4.3 クロック生成制御 ................................................................................................................. 78
4.3.1
PLL 制御 ..................................................................................................................... 79
v
4.3.2
発振安定待ち・PLL ロック待ち時間.......................................................................... 80
4.3.3
クロック分配 .............................................................................................................. 82
4.3.4
クロック分周 .............................................................................................................. 84
4.3.5
クロック生成制御部のブロックダイヤグラム............................................................ 85
4.3.6
クロック生成制御部のレジスタ詳細説明................................................................... 86
4.3.7
クロック制御部の周辺回路 ...................................................................................... 104
4.4 PLL インタフェース ........................................................................................................... 108
4.4.1
PLL インタフェースのレジスタ詳細説明................................................................. 109
4.4.2
PLL 逓倍率設定例..................................................................................................... 116
4.5 デバイス状態制御 ............................................................................................................... 120
4.5.1
デバイス状態と各遷移 ............................................................................................. 121
4.6 インターバルタイマ ........................................................................................................... 125
第5章
5.1
5.2
5.3
5.4
第6章
6.1
6.2
6.3
6.4
第7章
7.1
7.2
7.3
7.4
7.5
第8章
命令キャッシュ ...................................................................................... 131
概要 .................................................................................................................................... 132
制御レジスタ ...................................................................................................................... 135
命令キャッシュの状態と設定 ............................................................................................. 138
命令キャッシュを使用するときの設定方法 ....................................................................... 140
低消費電力モード .................................................................................. 143
低消費電力モードの概要 .................................................................................................... 144
スリープモード .................................................................................................................. 145
ストップモード .................................................................................................................. 147
シャットダウンモード........................................................................................................ 149
ハードウェアウォッチドッグタイマ...................................................... 155
ハードウェアウォッチドッグタイマの概要 ....................................................................... 156
ハードウェアウォッチドッグタイマの構成 ....................................................................... 157
ハードウェアウォッチドッグタイマのレジスタ ................................................................ 158
ハードウェアウォッチドッグタイマの機能 ....................................................................... 160
ハードウェアウォッチドッグタイマ使用上の注意............................................................. 162
外部バスインタフェース........................................................................ 163
8.1 外部バスインタフェースの特長 ......................................................................................... 164
8.2 外部バスインタフェースのレジスタ .................................................................................. 167
8.2.1
領域選択レジスタ (ASR0 ∼ ASR4) ......................................................................... 168
8.2.2
領域構成レジスタ (ACR0 ∼ ACR4)......................................................................... 169
8.2.3
領域ウェイトレジスタ (AWR0 ∼ AWR4) ................................................................ 175
8.2.4
DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2)............................................... 181
8.2.5
チップセレクト領域許可レジスタ (CSER) .............................................................. 184
8.2.6
キャッシュイネーブルレジスタ (CHER).................................................................. 185
8.2.7
端子 / タイミングコントロールレジスタ (TCR)....................................................... 186
8.3 チップセレクト領域 ........................................................................................................... 188
8.4 エンディアンとバスアクセス ............................................................................................. 190
8.4.1
ビッグエンディアンのバスアクセス ........................................................................ 191
8.4.2
リトルエンディアンのバスアクセス ........................................................................ 196
8.4.3
ビッグエンディアンとリトルエンディアンの外部アクセスの比較 ......................... 200
8.5 通常バスインタフェース .................................................................................................... 204
8.6 アドレス / データマルチプレックスインタフェース.......................................................... 212
vi
8.7
8.8
DMA アクセス .................................................................................................................... 216
レジスタ設定手順 ............................................................................................................... 219
第9章
9.1
9.2
9.3
9.4
9.5
I/O ポート............................................................................................... 221
I/O ポートの概要 ................................................................................................................ 222
I/O ポートのレジスタ ......................................................................................................... 226
ポートファンクションレジスタの設定............................................................................... 228
端子入力レベルの選択........................................................................................................ 242
プルアップ・プルダウン制御レジスタ............................................................................... 243
第 10 章
割込みコントローラ............................................................................... 245
10.1 割込みコントローラの概要................................................................................................. 246
10.2 割込みコントローラのレジスタ ......................................................................................... 250
10.2.1
割込み制御レジスタ (ICR)........................................................................................ 251
10.2.2
ホールドリクエスト取下げ要求レジスタ (HRCL).................................................... 252
10.3 割込みコントローラの動作説明 ......................................................................................... 253
第 11 章
外部割込み制御部 .................................................................................. 263
11.1 外部割込み制御部の概要 .................................................................................................... 264
11.2 外部割込み制御部のレジスタ ............................................................................................. 265
11.2.1
割込み許可レジスタ (ENIR) ..................................................................................... 266
11.2.2
外部割込み要因レジスタ (EIRR) .............................................................................. 267
11.2.3
外部割込み要求レベル設定レジスタ (ELVR) ........................................................... 268
11.3 外部割込み制御部の動作説明 ............................................................................................. 270
第 12 章
REALOS 関連ハード ............................................................................. 275
12.1 遅延割込みモジュール........................................................................................................ 276
12.1.1
遅延割込みモジュールの概要................................................................................... 277
12.1.2
遅延割込みモジュールのレジスタ............................................................................ 278
12.1.3
遅延割込みモジュールの動作説明............................................................................ 279
12.2 ビットサーチモジュール .................................................................................................... 280
12.2.1
ビットサーチモジュールの概要 ............................................................................... 281
12.2.2
ビットサーチモジュールのレジスタ ........................................................................ 282
12.2.3
ビットサーチモジュールの動作説明 ........................................................................ 284
第 13 章
DMAC (DMA コントローラ ) ................................................................. 287
13.1 DMAC (DMA コントローラ ) の概要................................................................................... 288
13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明 ............................................................. 291
13.2.1
DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 制御 / ステータスレジスタ A ............................. 292
13.2.2
DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 制御 / ステータスレジスタ B ............................. 296
13.2.3
DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 転送元 / 転送先アドレス設定レジスタ .............. 302
13.2.4
DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 DMAC 全体制御レジスタ .................................. 304
13.3 DMAC (DMA コントローラ ) の動作説明 ........................................................................... 306
13.3.1
動作概要 ................................................................................................................... 307
13.3.2
転送要求の設定 ........................................................................................................ 309
13.3.3
転送シーケンス ........................................................................................................ 310
13.3.4
DMA 転送全般 .......................................................................................................... 312
13.3.5
アドレッシングモード ............................................................................................. 314
13.3.6
データの種類 ............................................................................................................ 315
vii
13.3.7
転送回数制御 ............................................................................................................ 316
13.3.8
CPU 制御.................................................................................................................. 317
13.3.9
動作開始 ................................................................................................................... 318
13.3.10
転送要求の受付けと転送 .......................................................................................... 319
13.3.11
DMA による周辺割込みクリア ................................................................................. 320
13.3.12
一時停止 ................................................................................................................... 321
13.3.13
動作終了 / 停止 ......................................................................................................... 322
13.3.14
エラーによる停止..................................................................................................... 323
13.3.15
DMAC 割込み制御 .................................................................................................... 324
13.3.16
スリープ中の DMA 転送 ........................................................................................... 325
13.3.17
チャネル選択と制御 ................................................................................................. 326
13.4 DMAC (DMA コントローラ ) の動作フロー........................................................................ 328
13.5 データバス.......................................................................................................................... 330
第 14 章
CAN コントローラ ................................................................................. 333
14.1 CAN の特長 ........................................................................................................................ 334
14.2 CAN のブロックダイヤグラム............................................................................................ 335
14.3 CAN のレジスタ ................................................................................................................. 336
14.4 CAN レジスタ機能.............................................................................................................. 343
14.4.1
全体制御レジスタ..................................................................................................... 344
14.4.2
メッセージインタフェースレジスタ ........................................................................ 359
14.4.3
メッセージオブジェクト .......................................................................................... 371
14.4.4
メッセージハンドラレジスタ................................................................................... 377
14.4.5
CAN プリスケーラレジスタ (CANPRE)................................................................... 386
14.5 CAN 機能 ............................................................................................................................ 388
14.5.1
メッセージオブジェクト .......................................................................................... 389
14.5.2
メッセージ送信動作 ................................................................................................. 391
14.5.3
メッセージ受信動作 ................................................................................................. 393
14.5.4
FIFO バッファ機能................................................................................................... 397
14.5.5
割込み機能 ............................................................................................................... 399
14.5.6
ビットタイミング..................................................................................................... 401
14.5.7
テストモード ............................................................................................................ 404
14.5.8
ソフトウェア初期化 ................................................................................................. 409
14.5.9
CAN クロックプリスケーラ ..................................................................................... 410
第 15 章
LIN-UART .............................................................................................. 413
15.1 LIN-UART の概要 ............................................................................................................... 414
15.2 LIN-UART の構成 ............................................................................................................... 417
15.3 LIN-UART のレジスタ ........................................................................................................ 422
15.3.1
シリアル制御レジスタ (SCR)................................................................................... 424
15.3.2
シリアルモードレジスタ (SMR)............................................................................... 427
15.3.3
シリアルステータスレジスタ (SSR) ........................................................................ 430
15.3.4
受信 / 送信データレジスタ (RDR/TDR).................................................................... 433
15.3.5
拡張ステータス・制御レジスタ (ESCR).................................................................. 435
15.3.6
拡張通信制御レジスタ (ECCR) ................................................................................ 438
15.3.7
ボーレート / リロードカウンタレジスタ (BGR) ...................................................... 441
15.4 LIN-UART の割込み............................................................................................................ 443
15.4.1
受信割込み生成とフラグセットタイミング ............................................................. 447
15.4.2
送信割込み生成とフラグセットタイミング ............................................................. 449
viii
15.5 LIN-UART のボーレート..................................................................................................... 451
15.5.1
ボーレートの設定..................................................................................................... 453
15.5.2
リロードカウンタの再起動 ...................................................................................... 456
15.6 LIN-UART の動作 ............................................................................................................... 458
15.6.1
非同期モードでの動作 ( 動作モード 0, 1) ............................................................... 460
15.6.2
同期モードでの動作 ( 動作モード 2) ....................................................................... 463
15.6.3
LIN 機能での動作 ( 動作モード 3) ........................................................................... 466
15.6.4
シリアル端子への直接アクセス ............................................................................... 470
15.6.5
双方向通信機能 ( ノーマルモード ) ......................................................................... 471
15.6.6
マスタ / スレーブ通信機能 ( マルチプロセッサモード ) ......................................... 472
15.6.7
LIN 通信機能............................................................................................................. 475
15.6.8
LIN 通信モード ( 動作モード 3) UART サンプルフローチャート............................. 476
15.7 LIN-UART 使用上の注意事項 ............................................................................................. 479
第 16 章
I2C インタフェース ................................................................................ 481
16.1 I2C インタフェースの概要.................................................................................................. 482
16.2 I2C インタフェースのレジスタ .......................................................................................... 486
16.2.1
バスステータスレジスタ (IBSR) .............................................................................. 487
16.2.2
バス制御レジスタ (IBCR)......................................................................................... 491
16.2.3
クロック制御レジスタ (ICCR) ................................................................................. 499
16.2.4
10 ビットスレーブアドレスレジスタ (ITBA) ........................................................... 501
16.2.5
10 ビットスレーブアドレスマスクレジスタ (ITMK)................................................ 502
16.2.6
7 ビットスレーブアドレスレジスタ (ISBA) ............................................................. 504
16.2.7
7 ビットスレーブアドレスマスクレジスタ (ISMK).................................................. 505
16.2.8
データレジスタ (IDAR) ............................................................................................ 506
16.3 I2C インタフェースの動作説明 .......................................................................................... 507
16.4 動作フローチャート ........................................................................................................... 512
第 17 章
16 ビットリロードタイマ ...................................................................... 515
17.1 16 ビットリロードタイマの概要 ........................................................................................ 516
17.2 16 ビットリロードタイマのレジスタ................................................................................. 517
17.2.1
制御ステータスレジスタ (TMCSR).......................................................................... 518
17.2.2
16 ビットタイマレジスタ (TMR) ............................................................................. 522
17.2.3
16 ビットリロードレジスタ (TMRLR) ..................................................................... 523
17.3 16 ビットリロードタイマの動作 ........................................................................................ 524
第 18 章
16 ビットフリーランタイマ................................................................... 529
18.1 16 ビットフリーランタイマの概要 .................................................................................... 530
18.2 16 ビットフリーランタイマのレジスタ ............................................................................. 532
18.2.1
タイマデータレジスタ (TCDT)................................................................................. 533
18.2.2
タイマ制御ステータスレジスタ ............................................................................... 534
18.3 16 ビットフリーランタイマの動作 .................................................................................... 537
18.4 16 ビットフリーランタイマ使用上の注意.......................................................................... 539
第 19 章
インプットキャプチャ ........................................................................... 541
19.1 インプットキャプチャの概要 ............................................................................................. 542
19.2 インプットキャプチャのレジスタ...................................................................................... 543
19.2.1
インプットキャプチャレジスタ (IPCP0 ∼ IPCP3).................................................. 544
19.2.2
インプットキャプチャ制御レジスタ (ICS01,ICS23)................................................ 545
ix
19.3 インプットキャプチャの動作 ............................................................................................. 547
第 20 章
アウトプットコンペアユニット ............................................................. 549
20.1 アウトプットコンペアユニットの概要............................................................................... 550
20.2 アウトプットコンペアユニットのレジスタ ....................................................................... 551
20.2.1
コンペアレジスタ (OCCP0 ∼ OCCP3) ................................................................... 552
20.2.2
制御レジスタ (OCS01,OCS23) ................................................................................ 553
20.3 アウトプットコンペアユニットの動作............................................................................... 556
第 21 章
PPG ( プログラマブルパルスジェネレータ )......................................... 559
21.1 PPG の概要 ........................................................................................................................ 560
21.2 PPG のレジスタ ................................................................................................................. 563
21.2.1
制御ステータスレジスタ (PCNH, PCNL)................................................................. 566
21.2.2
PPG 周期設定レジスタ (PCSR) ............................................................................... 570
21.2.3
PPG デューティ設定レジスタ (PDUT) .................................................................... 571
21.2.4
PPG タイマレジスタ (PTMR) .................................................................................. 572
21.2.5
ゼネラル制御レジスタ 10 (GCN10) ......................................................................... 573
21.2.6
ゼネラル制御レジスタ 11 (GCN11) ......................................................................... 576
21.2.7
ゼネラル制御レジスタ 2 (GCN20,GCN21) .............................................................. 579
21.3 PPG の動作 ........................................................................................................................ 580
21.3.1
PWM 動作................................................................................................................. 581
21.3.2
ワンショット動作..................................................................................................... 583
21.3.3
割込み....................................................................................................................... 585
21.3.4
PPG 出力オール "L" あるいはオール "H" の出力方法............................................... 586
21.3.5
複数チャネルの起動 ................................................................................................. 587
第 22 章
リアルタイムクロック ........................................................................... 589
22.1 リアルタイムクロックのレジスタ構成............................................................................... 590
22.2 リアルタイムクロックのブロックダイヤグラム ................................................................ 592
22.3 リアルタイムクロックのレジスタの詳細 ........................................................................... 593
第 23 章
A/D コンバータ ...................................................................................... 599
23.1 A/D コンバータの概要 ........................................................................................................ 600
23.2 A/D コンバータのブロックダイヤグラム ........................................................................... 601
23.3 A/D コンバータのレジスタ................................................................................................. 602
23.3.1
アナログ入力許可レジスタ (ADER) ......................................................................... 604
23.3.2
A/D 制御ステータスレジスタ (ADCS)...................................................................... 605
23.3.3
データレジスタ (ADCR1, ADCR0)........................................................................... 610
23.3.4
変換時間設定レジスタ (ADCT) ................................................................................ 611
23.3.5
開始チャネル設定レジスタ (ADSCH) 終了チャネル設定レジスタ (ADECH) .......... 613
23.4 A/D コンバータの動作 ........................................................................................................ 615
第 24 章
フラッシュメモリサポート .................................................................... 617
24.1 フラッシュメモリのシリアルプログラミング.................................................................... 618
付録
付録 A
A.1
A.2
............................................................................................................... 619
命令一覧 ........................................................................................................................ 620
記号の意味 .................................................................................................................. 621
命令一覧表 .................................................................................................................. 628
x
A.3
A.4
付録 B
付録 C
付録 D
付録 E
索引
命令マップ .................................................................................................................. 637
命令フォーマット TYPE-E の命令マップ................................................................... 638
I/O マップ ...................................................................................................................... 639
割込みベクタ ................................................................................................................. 659
DMA 転送要求要因 ........................................................................................................ 664
シリアル書込み時の端子状態........................................................................................ 665
............................................................................................................... 671
xi
xii
本版での主な変更内容
ページ
変更内容(詳細は本文を参照してください。
)
ドキュメントコードを変更
CM44-10133-1 → CM71-10159-2
-
タイトルを変更
「MB91461 MB91F467R ハードウェアマニュアル」
→
「MB91461 ハードウェアマニュアル」
-
2
第 1 章 概要
1.1 概要
■ 特長
「● FR60 CPU」の説明を訂正
原発振 20MHz/4MHz → 原発振 4MHz
4/20 逓倍 → 20 逓倍
「● 内蔵周辺機能」の説明を訂正
F-bus RAM → ID-RAM
4
■ 品種構成
表 1.1-1
16
■ 入出力回路形式
表 1.6-1
22
第 2 章 デバイスの取扱いについて
2.1 デバイス取扱い上の注意
27
28
67
-
131
分類 D, F の備考欄を訂正
5V CMOS レベル入力 → 5V CMOS レベル出力
「■シリアル通信について」を追加
第 3 章 CPU
第 3 章のタイトルを変更
CPU および制御部 → CPU
3.1 メモリ空間
■ メモリマップ
図 3.1-1
図 3.1-1 を訂正
F-bus RAM → ID-RAM
第 4 章 制御部
章構成を変更
「3.9 動作モード∼ 3.14 インターバルタイマ」
→
「第 4 章 制御部」
4.1.1 バスモード
■ バスモード 0 ( シングルチップ
モード )
「4.1.1 バスモード」の説明を訂正
F-bus RAM → ID-RAM
4.1.2 モード設定
■ モードレジスタ (MODR)
「[bit2] ROMA : 内部 ROM イネーブルビット」の説
明を訂正
F-bus RAM → ID-RAM
第 5 章 クロックモジュレータ
「第 5 章 クロックモジュレータ」全体を削除
第 5 章 命令キャッシュ
章構成を変更
「3.3 命令キャッシュ」
→
「第 5 章 命令キャッシュ」
63
65
「表 1.1-1」の説明を訂正
F-bus RAM → ID-RAM
xiii
ページ
変更内容(詳細は本文を参照してください。
)
140
第 5 章 命令キャッシュ
5.4 命令キャッシュを使用するとき
の設定方法
■ 設定手順
「● 初期化」の説明を訂正
Flash ビット → FLSH ビット
149
第 6 章 低消費電力モード
6.4 シャットダウンモード
「6.4 シャットダウンモード」の説明を変更
F-bus RAM → ID-RAM
152
「● シャットダウンモードへの移行」の説明を訂正
F-bus RAM → ID-RAM
154
「● シャットダウンモードからの復帰」の<注意事
項>に項目を追加
-
第 6 章 サブ発振安定待ちタイマ
「第 6 章 サブ発振安定待ちタイマ」全体を削除
-
第 8 章 メモリコントローラ
「第 8 章 メモリコントローラ」全体を削除
192
第 8 章 外部バスインタフェース
8.4.1 ビッグエンディアンのバスア
クセス
■ 外部バスアクセス
説明文を訂正
"00B" "01B" のときには "10B" になります。
224
9.1 I/O ポートの概要
■ ポートの一般的な仕様
説明文を訂正
50 kW → 50 kΩ
225
10.2 ポート入力許可
「10.2 ポート入力許可」を削除
9.3 ポートファンクションレジスタ
の設定
「■ポート 00」, 「■ポート 01」, 「■ポート 05」,
「■ポート 06」, 「■ポート 07」, 「■ポート 08」,
「■ポート 09」, 「■ポート 10」, 「■ポート 11」,
「■ポート 13」を削除
228
262
-
第 10 章 割込みコントローラ
10.3 割込みコントローラの動作説明
第 13 章 MPU / EDSU
→
10B, 11B のときには 10B になります。
図 10.3-3 のタイトルを訂正
INTC-3 割込みレベル → 割込みレベル
「第 13 章 MPU / EDSU」全体を削除
290
第 13 章 DMAC
(DMA コントローラ )
13.1 DMAC (DMA コントローラ ) の
概要
図 13.1-2 を訂正
DSS[3:0] → DSS[2:0]
第 15 章 LIN-UART
15.3 LIN-UART のレジスタ
15.3.1 シリアル制御レジスタ (SCR)
<注意事項>を追加
426
452
第 15 章 LIN-UART
15.5 LIN-UART のボーレート
図 15.5-1 のビット名を訂正
リセット → REST
-
第 26 章 サブクロックキャリブレー
ションユニット
617
第 24 章 フラッシュメモリサポート
「第 26 章 サブクロックキャリブレーションユニッ
ト」全体を削除
章タイトルを変更
フラッシュメモリ → フラッシュメモリサポート
xiv
ページ
変更内容(詳細は本文を参照してください。)
24.1 フラッシュメモリのシリアル
プログラミング
内容を変更
「27.4 注意事項」
→
「24.1 フラッシュメモリのシリアルプログラミン
グ」
第 28 章 フラッシュセキュリティ
「第 28 章 フラッシュセキュリティ」全体を削除
618
-
変更箇所は , 本文中のページ左側の│によって示しています。
xv
xvi
第1章
概要
MB91461 の特長 , ブロックダイヤグラム , 機能概
要など全体を知るための基本的なことについて説
明します。
1.1 概要
1.2 ブロックダイヤグラム
1.3 外形寸法図
1.4 端子配列図
1.5 端子機能一覧表
1.6 入出力回路形式
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
1
第 1 章 概要
1.1 概要
MB91461
概要
1.1
MB91461 は民生機器などの高速リアルタイム処理が要求される組込み制御用途向け
に設計された汎用の富士通 32 ビット RISC マイクロコントローラです。CPU には ,
FR ファミリと互換の FR60 を使用しています。
本製品は LIN-UART および CAN コントローラを内蔵しています。
■ 特長
● FR60 CPU
• 32 ビット RISC, ロード / ストアアーキテクチャ , パイプライン 5 段
• 最大動作周波数 : 80MHz ( 原発振 4MHz, 20 逓倍 ((PLL クロック逓倍方式 )
• 16 ビット固定長命令 ( 基本命令 )
• 命令実行速度 : 1 命令 /1 サイクル
• メモリ - メモリ間転送命令 , ビット処理命令 , バレルシフト命令など
組込み用途に適した命令
• 関数入口 / 出口命令 , レジスタ内容のマルチロードストア命令 : C 言語対応命令
• レジスタのインターロック機能 : アセンブラ記述も容易に可能
• 乗算器の内蔵 / 命令レベルでのサポート
1. 符号付き 32 ビット乗算……5 サイクル
2. 符号付き 16 ビット乗算…… 3 サイクル
• 割込み (PC/PS 退避 ) : 6 サイクル (16 レベル )
• ハーバードアーキテクチャにより , プログラムアクセスとデータアクセスを同時に
実行可能
• FR ファミリとの命令互換
● 内蔵周辺機能
• 内蔵 RAM 容量
命令キャッシュ 4K バイト
ID-RAM ( 命令 / データ共通 ) 64K バイト
• 汎用ポート : 最大 72 本
• DMAC (DMA Controller)
同時に最大 5 チャネルの動作が可能 ( 外部→外部は 1 チャネル )
3 つの転送要因 ( 外部端子 / 内部ペリフェラル / ソフトウェア )
起動要因はソフトウェアにて選択可能
アドレッシングモード 32 ビットフルアドレス指定 ( 増加 / 減少 / 固定 )
転送モード ( デマンド転送 / バースト転送 / ステップ転送 / ブロック転送 )
フライバイ転送サポート ( 外部 I/O とメモリ間 )
転送データサイズは 8/16/32 ビットから選択可能
多バイト転送可能 ( ソフトにて決定 )
DMAC ディスクリプタは I/O 領域 (200H ∼ 240H, 1000H ∼ 1024H)
2
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 1 章 概要
1.1 概要
MB91461
• A/D コンバータ ( 逐次比較型 )
10 ビット分解能 : 13 チャネル
変換時間 :
1 μs ( 周辺マクロ動作クロック 16.67MHz 時 )
• 外部割込み入力 : 16 チャネル
CAN0, CAN1 の RX 端子と兼用
• ビットサーチモジュール (REALOS 使用 )
1 ワード中の MSB( 上位ビット ) から最初の "1" → "0" 変化ビット位置をサーチする
機能
• LIN-UART( 全二重ダブルバッファ方式 ) : 7 チャネル
クロック同期 / 非同期の選択可能
Sync-break 検出
専用ボーレートジェネレータ内蔵
• I2C バスインタフェース (400kbps 対応 ) : 3 チャネル
3 チャネル マスタ / スレーブ送受信
アービトレーション機能 , クロック同期化機能
• CAN コントローラ (C-CAN) : 2 チャネル
転送速度 最大 1Mbps
32 送受信メッセージバッファ
• 16 ビット PPG タイマ : 8 チャネル
• 16 ビットリロードタイマ : 5 チャネル
• 16 ビットフリーランタイマ : 4 チャネル (ICU 用 , OCU 用各 1 チャネル )
• インプットキャプチャ : 4 チャネル ( フリーランタイマと連動 )
• アウトプットコンペア : 4 チャネル ( フリーランタイマと連動 )
• ウォッチドッグタイマ
ウォッチドッグリセット出力端子あり
• リアルタイムクロック
• 低消費電力モード : スリープ / ストップ / シャットダウンモード機能
● パッケージ : LQFP-176 (FPT-176P-M07)
● CMOS 0.18 μm テクノロジ
● 3.3V/5V 電源 [ 降圧回路により内部 Logic 1.8V, I/O 一部 5.0V 耐圧 ]
● 動作温度 : − 40 ℃ ∼ + 85 ℃
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
3
第 1 章 概要
1.1 概要
MB91461
■ 品種構成
表 1.1-1 に , MB91461 品種構成一覧を示します。
表 1.1-1 MB91461 構成一覧
項目
搭載チャネル
ROM/Flash 容量
−
−
命令キャッシュ
4K バイト
−
ダイレクトマップキャッシュ
−
−
D-bus RAM 容量 ( データ専用 )
−
−
ID-RAM ( 容量命令 / データ兼用 )
64K バイト
−
外部割込み
16 チャネル
INT0 ∼ INT15
DMAC
5 チャネル
ch.0 ∼ ch.4
A/D コンバータ
13 チャネル
ch.0 ∼ ch.12
LIN-UART
7 チャネル
ch.0 ∼ ch.6
I2 C
3 チャネル
ch.0 ∼ ch.2
2 チャネル (32msg)
ch.0, ch.1
16 ビット PPG
8 チャネル
ch.0 ∼ ch.7
16 ビットリロードタイマ
5 チャネル
ch.0 ∼ ch.3, ch.7
16 ビットフリーランタイマ
4 チャネル
ch.0 ∼ ch.3
インプットキャプチャ
4 チャネル
ch.0 ∼ ch.3
アウトプットコンペア
4 チャネル
ch.0 ∼ ch.3
リアルタイムクロック
あり
−
−
−
アドレス 24bit
データ 16bit
−
ROM なし品
−
DSU4
−
CAN
32kHz サブクロック
外部バス
その他
デバッグサポートユニット
4
MB91461
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 1 章 概要
1.2 ブロックダイヤグラム
MB91461
1.2
ブロックダイヤグラム
MB91461 のブロックダイヤグラムを示します。
■ ブロックダイヤグラム
図 1.2-1 ブロックダイヤグラム (MB91461)
TRSTX
BREAK
ICS0~ICS2
ICD0~ICD3
DSU
FR60 CPU
コア
(デバッグ
サポート)
ビットサーチ
I-cache
CAN
(2チャネル)
I-bus
32
D-bus
32
RX0, RX1
TX0, TX1
32←→16
バスアダプタ
SYSCLK
ASX
RDX
WR0X
WR1X
RAM
外部バス
インタ
フェース
バスコンバータ
BRQ
BGRNTX
CS0X~CS4X
A23~A00
D31~D16
DREQ0
DACK0X
DEOP0
IOWRX
IORDX
DMAC(5チャネル)
クロック
制御
TRG0~TRG3
PPG0~PPG7
TIN0~TIN3
TOT0~TOT3
FRCK0~FRCK3
CM71-10159-2
PPG
(8チャネル)
リロードタイマ
(5チャネル)
フリーラン
タイマ
(4チャネル)
ICU0~ICU3
インプット
コンペア
(4チャネル)
OCU0~OCU3
アウトプット
コンペア
(4チャネル)
R-bus
16
割込み
コントローラ
外部割込み
16チャネル
PORT
インタフェース
NMIX
INT0~INT15
PORT
LIN-UART
(7チャネル)
(BRGを含む)
SIN0~SIN6
SOT0~SOT6
SCK0~SCK6
I2C
(3チャネル)
SDA0~SDA2
SCL0~SCL2
RTC
A/Dコンバータ
(13チャネル)
FUJITSU MICROELECTRONICS LIMITED
AN0~AN12
ATGX
5
第 1 章 概要
1.3 外形寸法図
1.3
MB91461
外形寸法図
MB91461 の外形寸法図を示します。
■ LQFP-176 ピン
図 1.3-1 FPT-176P-M07 外形寸法図
プラスチック・LQFP, 176 ピン
リードピッチ
0.50mm
パッケージ幅×
パッケージ長さ
24.0 × 24.0mm
リード形状
ガルウィング
封止方法
プラスチックモールド
取付け高さ
1.70mm MAX
コード(参考)
P-LQFP-0176-2424-0.50
(FPT-176P-M07)
プラスチック・LQFP, 176 ピン
(FPT-176P-M07)
注 1)* 印寸法はレジン残りを含まず。レジン残りは片側 +0.25(.010)MAX
注 2)端子幅および端子厚さはメッキ厚を含む。
注 3)端子幅はタイバ切断残りを含まず。
26.00±0.20(1.024±.008)SQ
*24.00±0.10(.945±.004)SQ
0.145±0.055
(.006±.002)
132
89
133
88
0.08(.003)
Details of "A" part
+0.20
1.50 –0.10
+.008
(Mounting height)
.059 –.004
0.10±0.10
(.004±.004)
(Stand off)
0˚~8˚
INDEX
176
45
"A"
LEAD No.
1
44
0.50(.020)
0.22±0.05
(.009±.002)
0.08(.003)
0.50±0.20
(.020±.008)
0.60±0.15
(.024±.006)
0.25(.010)
M
©2004-2008
FUJITSU
LIMITED F176013S-c-1-2
C
2004 FUJITSU
LIMITEDMICROELECTRONICS
F176013S-c-1-1
単位:mm (inches)
注意:括弧内の値は参考値です。
最新の外形寸法図については , 下記の URL にてご確認ください。
http://edevice.fujitsu.com/package/jp-search/
6
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 1 章 概要
1.4 端子配列図
MB91461
1.4 端子配列図
MB91461 の端子配列図を示します。
■ 端子配列図
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
VCC5
P17_3 PPG3
P17_2/ PPG2
P17_1/ PPG1
P17_0/ PPG0
P14_3/ ICU3/TTN3/TRG3
P14_2/ ICU2/TIN2/TRG2
P14_1/ ICU1/TIN1/TRG1
P14_0/ ICU0/TIN0/TRG0
P22_3
P22_2/ INT13
P22_0/ INT12
P23_6/ INT11
P23_4/ INT10
VCC5
VSS
P15_3/ OCU3/TOT3
P15_2/ OCU2/TOT2
P15_1/ OCU1/TOT1
P15_0/ OCU0/TOT0
P18_2/ SCK6
P18_1/ SOT6
P18_0/ SIN6
P19_6/ SCK5
P19_5/ SOT5
P19_4/ SIN5
P19_2/ SCK4
P19_1/ SOT4
P19_0/ SIN4
VCC5
VSS
P20_6/ SCK3/FRCK3
P20_5/ SOT3
P20_4/ SIN3
P20_2/ SCK2/FRCK2
P20_1/ SOT2
P20_0/ SIN2
P21_6/ SCK1/FRCK1
P21_5/ SOT1
P21_4/ SIN1
P21_2/ SCK0/FRCK0
P21_1/ SOT0
P21_0/ SIN0
VCC5
図 1.4-1 MB91461 の端子配列図
VSS
INT2 / P24_2
lNT3 / P24_3
SDA1/lNT15 / P22_6
SCL1 /P22_7
SDA2/INT4 / P24_4
SCL2/lNT5 / P24_5
DREQ0
DACK0X
DEOP0
VCC3
VCC3
VSS
C_1
CS4X
CS3X
CS2X
CS1X
CS0X
IORDX
IOWRX
RDY
BRQ
BGRNTX
RDX
WR0X
WR1X
SYSCLK
ASX
VCC3
C_2
VSS
X0
X1
VSS
D16
D17
D18
D19
D20
D21
D22
D23
VCC3
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
42
43
44
①
②
③
TOP View
MB91461端子配列
(LQFP-176)
2電源品
132
131
130
129
128
127
126
125
124
123
122
121
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
90
89
VSS
INITX
TRSTX
MD0
MD1
MD2
MD3
P23_3 / TX1
P23_2 / RX1/INT9
P23_1 / TX0
P23_0 / RX0/lNT8
P24_7 / INT7
P24_6 / INT6
P22_5 / SCL0
P22_4 / SDA0/INT14
P24_1 / lNT1
P24_0 / INT0
AVRH
AVCC3
AVSS/AVRL
P28_4 / AN12
P28_3 / AN11
P28_2 / AN10
P28_1 / AN9
P28_0 / AN8
P29_7 / AN7
P29_6 / AN6
P29_5 / AN5
P29_4 / AN4
P29_3 / AN3
P29_2 / AN2
P29_1 / AN1
P29_0 / AN0
WDRESETX
BREAK
ICLK
ICS2
ICS1
lCS0
ICD3
lCD2
lCD1
lCD0
VCC3
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
60
59
58
57
56
55
54
53
52
51
50
49
48
47
46
45
VSS
P17_7 / PPG7
P17_6 / PPG6
P17_5 / PPG5
P17_4 / PPG4
P16_7 / ATGX
NMIX
A23
A22
A21
A20
A19
A18
A17
VSS
VCC3
A16
A15
A14
A13
A12
A11
A10
A09
A08
A07
A06
A05
A04
A03
VSS
VCC3
A02
A01
A00
D31
D30
D29
D28
D27
D26
D25
D24
VSS
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
7
第 1 章 概要
1.4 端子配列図
MB91461
<注意事項>
3 つの I/O ブロック ( ①∼③ ) は , それぞれ 176 ピン , 162 ピン , 133 ピン (147 ピン ) にて ,
各端子への供給電源レベル (3.3V/5V) が設定できます。ただし , 各ブロックとも , 1 本でも
5V 動作する端子がある場合は , 5V 電源の供給を行ってください。
①の I2C 用端子は電源に 5V を供給する場合のみ , 5V 振幅の入力が可能になります。また ,
I2C の入力しきい値は電源電圧に関係なく 3.3V を基準とした値になります。
①または③を 5V 端子を使用した場合 , INITX 端子へ 5V 入力が必要になりますので , ③には
5V 供給を行ってください。
8
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 1 章 概要
1.5 端子機能一覧表
MB91461
端子機能一覧表
1.5
MB91461 の端子機能の一覧を示します。
■ 端子機能一覧表
表 1.5-1 端子機能一覧表 (1 / 5)
端子番号
端子名
P24_2
2
INT2
P24_3
3
INT3
P22_6
4
SDA1
INT15
P22_7
5
SCL1
P24_4
6
SDA2
INT4
P24_5
入出力
入出力
回路形式
I/O
D
I/O
D
汎用入出力ポートです。
外部割込み入力端子です。
汎用入出力ポートです。
外部割込み入力端子です。
汎用入出力ポートです。
I/O
オープン
ドレイン
C
I/O
オープン
ドレイン
C
I/O
オープン
ドレイン
機能
I2C バスデータ入出力端子です。
外部割込み入力端子です。
汎用入出力ポートです。
I2C バスクロック入出力端子です。
汎用入出力ポートです。
C
I2C バスデータ入出力端子です。
外部割込み入力端子です。
汎用入出力ポートです。
C
INT5
I/O
オープン
ドレイン
8
DREQ0
I
H
DMA 外部転送要求入力です。
9
DACK0X
O
H
DMA 外部転送アクノリッジ出力です。
10
DEOP0
O
H
DMA 外部転送 EOP (End of Process) 出力です。
15 ∼ 19
CS4X ∼
CS0X
O
H
チップセレクト出力です。
20
IORDX
O
H
DMA フライバイ転送時のリードストローブ出力です。
21
IOWRX
O
H
DMA フライバイ転送時のライトストローブ出力です。
22
RDY
I
H
外部レディ入力です。
23
BRQ
I
H
外部バス開放要求入力です。
24
BGRNTX
O
H
外部バス開放受付け出力です。
25
RDX
O
H
外部リードストローブ出力です。
26
WR0X
O
H
外部ライトストローブ出力です。
27
WR1X
O
H
外部ライトストローブ出力です。
28
SYSCLK
O
H
システムクロック出力です。
29
ASX
O
H
アドレスストローブ出力です。
33
X0
−
H
クロック ( 発振 ) 入力です。
7
SCL2
CM71-10159-2
I2C バスクロック入出力端子です。
外部割込み入力端子です。
FUJITSU MICROELECTRONICS LIMITED
9
第 1 章 概要
1.5 端子機能一覧表
MB91461
表 1.5-1 端子機能一覧表 (2 / 5)
端子番号
端子名
入出力
入出力
回路形式
34
X1
−
H
クロック ( 発振 ) 出力です。
36 ∼ 43
46 ∼ 53
D16 ∼ D31
I/O
H
外部データバス信号です。
54 ∼ 56
59 ∼ 72
75 ∼ 81
A00 ∼ A23
O
H
外部アドレスバス信号です。
82
NMIX
I
H
NMI (Non Maskable Interrupt) 入力です。
H
汎用入出力ポートです。
H
A/D コンバータ外部トリガ入力です。
H
汎用入出力ポートです。
H
PPG タイマ出力端子です。
83
84 ∼ 87
P16_7
ATGX
P17_4 ∼
P17_7
PPG4 ∼
PPG7
I/O
機能
I/O
90 ∼ 93
ICD0 ∼
ICD3
I/O
H
開発ツール用データ入出力端子です。
94 ∼ 96
ICS0 ∼
ICS2
O
H
開発ツール用ステータス出力端子です。
97
ICLK
O
I
開発ツール用クロック出力端子です。
98
BREAK
I
H
開発ツール用ブレーク入力端子です。
99
WDRESETX
O
J
ウォッチドッグリセット出力端子です。
100 ∼ 107
P29_0 ∼
P29_7
I/O
F
AN0 ∼ AN7
108 ∼ 112
116, 117
P28_0 ∼
P28_4
A/D コンバータ用アナログ入力端子です。
汎用入出力ポートです。
I/O
AN8 ∼
AN12
P24_0,
P24_1
F
A/D コンバータ用アナログ入力端子です。
汎用入出力ポートです。
I/O
D
INT0, INT1
P22_4
118
SDA0
INT14
P22_5
119
SCL0
P24_6
120
10
INT6
汎用入出力ポートです。
外部割込み入力端子です。
シャットダウンからの復帰要因として使用可能です。
汎用入出力ポートです。
I/O
オープン
ドレイン
C
I/O
オープン
ドレイン
C
I/O
オープン
ドレイン
D
I2C バスデータ入出力端子です。
外部割込み入力端子です。
汎用入出力ポートです。
I2C バスクロック入出力端子です。
汎用入出力ポートです。
外部割込み入力端子です。
シャットダウンからの復帰要因として使用可能です。
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 1 章 概要
1.5 端子機能一覧表
MB91461
表 1.5-1 端子機能一覧表 (3 / 5)
端子番号
端子名
入出力
入出力
回路形式
I/O
D
P24_7
121
INT7
汎用入出力ポートです。
P23_0
122
RX0
P23_1
TX0
I/O
D
RX1
I/O
D
P23_3
TX1
汎用入出力ポートです。
CAN0 の TX 出力端子です
汎用入出力ポートです。
I/O
D
CAN1 の RX 入力端子です。
外部割込み入力端子です。
シャットダウンからの復帰要因として使用可能です。
INT9
125
CAN0 の RX 入力端子です。
外部割込み入力端子です。
シャットダウンからの復帰要因として使用可能です。
P23_2
124
外部割込み入力端子です。
シャットダウンからの復帰要因として使用可能です。
汎用入出力ポートです。
INT8
123
機能
I/O
D
汎用入出力ポートです。
CAN0 の TX 出力端子です。
126
MD3
I
A
127
MD2
I
A
128
MD1
I
A
129
MD0
I
B
130
TRSTX
I
E
開発ツール用リセット入力端子です。
131
INITX
I
B
外部リセット入力です。
I/O
D
I/O
D
134
135
P21_0
SIN0
P21_1
SOT0
P21_2
136
SCK0
138
P21_4
SIN1
P21_5
SOT1
I/O
D
SCK1
I/O
D
I/O
D
141
CM71-10159-2
P20_0
SIN2
P20_1
SOT2
汎用入出力ポートです。
UART0 のデータ出力端子です。
UART0 のクロック入出力端子です。
汎用入出力ポートです。
UART1 のデータ入力端子です。
汎用入出力ポートです。
UART1 のデータ出力端子です。
汎用入出力ポートです。
I/O
D
FRCK1
140
UART0 のデータ入力端子です。
フリーランタイマ 0 の外部クロック入力端子です。
P21_6
139
汎用入出力ポートです。
汎用入出力ポートです。
FRCK0
137
モード設定端子です。
MD3 は "0" 固定にしてください。
UART1 のクロック入出力端子です。
フリーランタイマ 1 の外部クロック入力端子です。
I/O
D
I/O
D
汎用入出力ポートです。
UART2 のデータ入力端子です。
汎用入出力ポートです。
UART2 のデータ出力端子です。
FUJITSU MICROELECTRONICS LIMITED
11
第 1 章 概要
1.5 端子機能一覧表
MB91461
表 1.5-1 端子機能一覧表 (4 / 5)
端子番号
端子名
入出力
入出力
回路形式
P20_2
142
SCK2
汎用入出力ポートです。
I/O
D
FRCK2
143
144
P20_4
SIN3
P20_5
SOT3
SCK3
I/O
D
I/O
D
149
150
151
152
153
154
155
156
P19_0
SIN4
P19_1
SOT4
P19_2
SCK4
P19_4
SIN5
P19_5
SOT5
P19_6
SCK5
P18_0
SIN6
P18_1
SOT6
P18_2
SCK6
I/O
D
OCU0 ∼
OCU3
I/O
D
I/O
D
I/O
D
I/O
D
I/O
D
I/O
D
I/O
D
I/O
D
I/O
D
164
12
P23_4
INT10
P23_6
INT11
汎用入出力ポートです。
UART3 のデータ出力端子です。
UART3 のクロック入出力端子です。
汎用入出力ポートです。
UART4 のデータ入力端子です。
汎用入出力ポートです。
UART4 のデータ出力端子です。
汎用入出力ポートです。
UART4 のクロック入出力端子です。
汎用入出力ポートです。
UART5 のデータ入力端子です。
汎用入出力ポートです。
UART5 のデータ出力端子です。
汎用入出力ポートです。
UART5 のクロック入出力端子です。
汎用入出力ポートです。
UART6 のデータ入力端子です。
汎用入出力ポートです。
UART6 のデータ出力端子です。
汎用入出力ポートです。
UART6 のクロック入出力端子です。
汎用入出力ポートです。
I/O
D
TOT0 ∼
TOT3
163
UART3 のデータ入力端子です。
フリーランタイマ 3 の外部クロック入力端子です。
P15_0 ∼
P15_3
157 ∼ 160
汎用入出力ポートです。
汎用入出力ポートです。
FRCK3
148
UART2 のクロック入出力端子です。
フリーランタイマ 2 の外部クロック入力端子です。
P20_6
145
機能
アウトプットコンペア出力端子です。
リロードタイマ出力端子です。
I/O
D
I/O
D
汎用入出力ポートです。
外部割込み入力端子です。
汎用入出力ポートです。
外部割込み入力端子です。
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 1 章 概要
1.5 端子機能一覧表
MB91461
表 1.5-1 端子機能一覧表 (5 / 5)
端子番号
端子名
P22_0
165
INT12
P22_2
166
INT13
167
P22_3
入出力
入出力
回路形式
I/O
D
I/O
D
I/O
D
P14_0 ∼
P14_3
168 ∼ 171
ICU0 ∼
ICU3
TIN0 ∼
TIN3
172 ∼ 175
PPG0 ∼
PPG3
CM71-10159-2
汎用入出力ポートです。
外部割込み入力端子です。
汎用入出力ポートです。
外部割込み入力端子です。
汎用入出力ポートです。
汎用入出力ポートです。
インプットキャプチャ入力端子です。
I/O
D
リロードタイマの外部トリガ入力端子です。
TRG0 ∼
TRG3
P17_0 ∼
P17_3
機能
PPG の外部トリガ入力端子です。
汎用入出力ポートです。
I/O
D
PPG タイマ出力端子です。
FUJITSU MICROELECTRONICS LIMITED
13
第 1 章 概要
1.5 端子機能一覧表
MB91461
表 1.5-2 端子機能一覧表【電源・GND 端子】
端子番号
端子名
I/O 回路形式
1, 13, 32, 35
45, 58, 74,
88, 132, 146,
161
VSS
(VSS)
11, 12, 30,
44, 57, 73,
89
VCC3
(VCC3)
3.3V 電源端子です。
14
端子機能
GND 端子です。
133
147
VCC5
(VCC5)
5V 電源端子です。116 ∼ 145 ピンに対応した I/O 電源で
あり , 3.3V を供給することにより I/O が 3.3V 動作になり
ます。ほかの I/O 電源ブロックで 5V を使用する場合には
本端子に属する I/O も 5V に設定する必要があります。
162
VCC5
(VCC5)
5V 電源端子です。148 ∼ 160 ピンに対応した I/O 電源で
あり , 3.3V を供給することにより I/O が 3.3V 動作になり
ます。
176
VCC5
(VCC5)
5V 電源端子です。2 ∼ 7, 163 ∼ 175 ピンに対応した I/O
電源であり , 5V 動作端子が 1 本以上ある場合には 5V を
供給してください。
113
AVSS/AVRL
(AVSS)
A/D コンバータ用アナログ GND 端子です。
114
AVCC3
(AVCC3)
A/D コンバータ用 3.3V 電源端子です。
115
AVRH
(AVRH)
A/D コンバータ用基準電源端子です。
14
C_1
−
内部レギュレータ用のコンデンサ接続端子です。1μF を接
続してください。
31
C_2
−
内部レギュレータ用のコンデンサ接続端子です。1μF を接
続してください。
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 1 章 概要
1.6 入出力回路形式
MB91461
1.6
入出力回路形式
表 1.6-1 に , 入出力回路形式を示します。
■ 入出力回路形式
表 1.6-1 入出力回路形式 (1 / 3)
分類
回路形式
備考
5V CMOS ヒステリシス入力
プルダウン付き
5Vレベル
入力
A
N-ch
プルダウン
5V CMOS ヒステリシス入力
プルアップ付き
プルアップ
P-ch
B
入力
5Vレベル
I2C 用入出力
IOL = 3 mA
N-ch
出力駆動 N-ch
5V 耐圧
( スタンバイ制御付き )
C
入力
スタンバイ制御
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
15
第 1 章 概要
1.6 入出力回路形式
MB91461
表 1.6-1 入出力回路形式 (2 / 3)
分類
回路形式
備考
5V CMOS レベル出力
IOL = 4 mA
プルアップ制御
P-ch
5Vレベル
P-ch
出力駆動 P-ch
N-ch
出力駆動 N-ch
5V CMOS レベル入力
5V CMOS ヒステリシス入力
プルアップ / プルダウン制御付き
( スタンバイ制御付き )
D
プルダウン制御
N-ch
入力
スタンバイ制御
入力
スタンバイ制御
3.3V CMOS ヒステリシス入力
5V 耐圧
( スタンバイ制御付き )
3.3Vレベル
E
入力
3.3V CMOS レベル出力
IOL = 4 mA
3.3Vレベル
P-ch
出力駆動 P-ch
N-ch
出力駆動 N-ch
3.3V CMOS レベル入力
3.3V CMOS ヒステリシス入力
アナログ入力
( スタンバイ制御付き )
F
入力
スタンバイ制御
入力
スタンバイ制御
アナログ入力
16
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 1 章 概要
1.6 入出力回路形式
MB91461
表 1.6-1 入出力回路形式 (3 / 3)
分類
回路形式
備考
3.3Vレベル
入力
3.3V 発振セル
( 帰還抵抗 1MΩ)
G
スタンバイ制御
3.3V CMOS レベル出力
IOL = 4 mA
プルアップ制御
P-ch
3.3Vレベル
P-ch
出力駆動 P-ch
N-ch
出力駆動 N-ch
3.3V CMOS レベル入力
3.3V CMOS ヒステリシス入力
プルアップ / プルダウン制御付き
( スタンバイ制御付き )
H
プルダウン制御
N-ch
入力
スタンバイ制御
入力
スタンバイ制御
3.3V CMOS レベル出力
I : IOL = 8 mA
3.3Vレベル
P-ch
出力駆動 P-ch
N-ch
出力駆動 N-ch
J : IOL = 4 mA
I, J
5V CMOS ヒステリシス入力
5Vレベル
K
CM71-10159-2
入力
FUJITSU MICROELECTRONICS LIMITED
17
第 1 章 概要
1.6 入出力回路形式
18
MB91461
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第2章
デバイスの取扱いについて
FR ファミリの取扱い上の注意について説明しま
す。
2.1 デバイス取扱い上の注意
2.2 使用上の注意
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
19
第 2 章 デバイスの取扱いについて
2.1 デバイス取扱い上の注意
2.1
MB91461
デバイス取扱い上の注意
ラッチアップ防止 , 端子処理 , 回路の取扱い , および電源投入時の入力などについて
説明します。
■ ラッチアップ防止のために
CMOS IC では入力端子や出力端子に VCC より高い電圧や VSS より低い電圧を印加し
た場合, またはVCC端子とVSS端子との間に定格を超える電圧を印加した場合に, ラッ
チアップ現象を生じることがあります。ラッチアップが生じると電源電流が激増し , 素
子の熱破壊に至ることがありますので使用に際しては最大定格を超えることのないよ
う十分に注意してください。
■ 未使用入力端子の処理について
使用していない入力端子を開放のままにしておくと誤動作の原因となることがありま
すので , プルアップまたはプルダウンの処理をしてください。
■ 電源端子について
VCC・VSS が複数ある場合 , デバイス設計上はラッチアップなどの誤動作を防止する
ためにデバイス内部で同電位にすべきものどうしを接続してありますが , 不要輻射の
低減・グランドレベルの上昇によるストローブ信号の誤動作の防止・総出力電流規格
を遵守などのために , 必ずそれらすべてを外部で電源およびグランドに接続してくだ
さい。また , 電流供給源からできる限り低インピーダンスで本デバイスの VCC, VSS に
接続するような配慮をお願いします。
さらに , 本デバイスの近くで , VCC と VSS の間に 0.1 μF 程度のセラミックコンデンサ
をバイパスコンデンサとして接続することをお勧めします。
MB91461 には , 降圧レギュレータが内蔵されています。レギュレータ用に必ず C_1, C_2
端子に 4.7 μF のバイパスコンデンサを接続してください。
■ 水晶発振回路について
X0, X1 (X0A, X1A) 端子の近辺のノイズは本デバイスの誤動作の原因となります。X0
(X0A) と X1 (X1A) および水晶発振子さらにグランドへのバイパスコンデンサはできる
限り近くに配置するようにプリント板を設計してください。また , X0, X1 端子の回り
をグランドで囲むようなプリント板アートワークは安定した動作を期待できますので,
強くお勧めします。
各量産品において , 使用される発振子メーカに発振評価依頼をしてください。
20
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 2 章 デバイスの取扱いについて
2.1 デバイス取扱い上の注意
MB91461
■ 外部クロック使用時の注意
外部クロックを使用する際には , 原則として X0 (X0A) 端子 , また , X1 (X1A) 端子には
X0 (X0A) と逆相のクロックを同時に供給してください。ただし , この場合には STOP
モード ( 発振停止モード ) は使用しないでください (STOP 時 , X1 (X1A) 端子が "H" 出
力で停止するため )。
図 2.1-1 外部クロック使用例 ( 通常 )
X0 (X0A)
X1 (X1A)
( 注意事項 ) STOP モード ( 発振停止モード ) は使用できません。
■ モード端子 (MD0 ∼ MD3) について
これらの端子は , VCC または VSS に直接つないで使用してください。ノイズにより
誤ってテストモードに入ってしまうことを防ぐために , プリント板上の各モード端子
と VCC または VSS 間のパターン長をできる限り短くし , これらを低インピーダンスで
接続するようにしてください。
■ 3.3V 系および 5V 系の電源投入順序について
• 電源投入直後は発振回路の発振安定待ち時間を確保するため , INITX 端子への "L"
レベル入力を発振安定待ち時間 (8ms) の間持続してください。
• 電源投入順序はありません。
• リセット解除 (INITX 端子を "L" レベル→ "H" レベル ) を行う場合は , 3.3V 系および
5V 系電源が安定している状態で行ってください。
■ PLL クロックモード動作中の注意について
MB91461 で PLL クロックを選択しているときに発振子が外れたり , クロック入力が停
止した場合 , PLL 内部の自励発振回路の自走周波数で動作を続ける場合があります。こ
の動作は保証外の動作です。
■ 外部バスの設定
MB91461 は , 外部バスクロック SYSCLK は最大 40MHz の保証となっています。
DIVR1 ( 外部バス基本クロック分周設定レジスタ ) を初期値のまま , ベースクロックを
40MHz に設定すると , 外部バスも 80MHz になります。ベースクロックを変更する際に
は , SYSCLK が 40MHz を超えないように設定した後 , ベースクロックを変更してくだ
さい。
■ プルアップコントロール
外部バス端子として使用する端子に対してプルアップ抵抗をつけると交流規格を保証
できません。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
21
第 2 章 デバイスの取扱いについて
2.1 デバイス取扱い上の注意
MB91461
■ シリアル通信について
シリアル通信においては , ノイズなどにより間違ったデータを受信する可能性があり
ます。そのため , ノイズを抑えるボードの設計をしてください。
また , 万が一ノイズなどの影響により誤ったデータを受信した場合を考慮し , 最後に
データのチェックサムなどを付加してエラー検出を行ってださい。エラーが検出され
た場合には , 再送を行うなどの処理をしてください。
■ PS レジスタに関する注意事項
一部の命令で PS レジスタを先行処理しているため , 下記の例外動作により , デバッガ
使用時に割込み処理ルーチンでブレークしたり , PS レジスタ内のフラグの表示内容が
更新されたりする場合があります。いずれの場合も , EIT から復帰後以降に , 正しく再
処理を行うように設計されていますので , EIT 前後の動作は仕様どおりの処理を行いま
す。
1) DIV0U/DIV0S 命令の直前の命令では , ユーザ割込み・NMI を受け付けた場合 , ス
テップ実行を行った場合 , データイベントまたはエミュレータメニューにてブ
レークした場合 , 以下の動作を行う場合があります。
- D0, D1 フラグが先行して更新されます。
- EIT 処理ルーチン ( ユーザ割込み・NMI, またはエミュレータ ) を実行します。
- EIT から復帰後 , DIV0U/DIV0S 命令が実行され , D0, D1 フラグが 1) と同じ値
に更新されます。
2) ユーザ割込み・NMI 要因が発生している状態で , 割込みを許可するために
OR CCR/ST ILM/MOV Ri,PS の各命令が実行されると , 以下のような動作
を行います。
- PS レジスタが先行して更新されます。
- EIT 処理ルーチン ( ユーザ割込み・NMI, またはエミュレータ ) を実行します。
- EIT から復帰後 , 上記命令が実行され , PS レジスタが 1) と同じ値に更新され
ます。
■ 同期モードのソフトウェアリセットについて
同期モードのソフトウェアリセットを使用するときは , STCR ( スタンバイ制御レジス
タ ) の SRST ビットに "0" を設定する前に , 以下の 2 つの条件を必ず満たしてください。
• 割込み許可フラグ (I) を割込み禁止 (I = 0) に設定する。
• NMI を使用しない。
22
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 2 章 デバイスの取扱いについて
2.1 デバイス取扱い上の注意
MB91461
■ デバッガ関連の注意事項
● RETI 命令のステップ実行
ステップ実行する際 , 割込みが頻繁に発生する環境下では , 該当する割込み処理ルーチ
ンだけを繰り返して実行します。その結果 , メインルーチンや割込みレベルの低いプロ
グラムの実行が行われなくなります ( 例えば, タイムベースタイマの割込みを許可して
いた場合 , RETI をステップ実行すると , 必ずタイムベースのルーチンの先頭でブレー
クします ) 。
該当割込み処理ルーチンのデバッグが不要になった段階で , 該当する割込みを禁止し
てください。
● ブレーク機能
ハードウェアブレーク (イベントブレークを含む) の対象アドレスが現在のシステムス
タックポインタのアドレスや , スタックポインタを含む領域に設定されていると , ユー
ザプログラムに実際のデータアクセス命令がないにもかかわらず , 1 命令実行後にブ
レークしてしまいます。
ブレーク回避するために , システムスタックポインタのアドレスを含む領域に対する (
ワード ) アクセスをハードウェアブレーク ( イベントブレーク含む ) の対象に設定しな
いでください。
● オペランドブレークについて
DSU のオペランドブレークとして設定している領域にスタックポインタがあると誤動
作の原因となります。システムスタックポインタのアドレスを含む領域に対するアク
セスをデータイベントブレークの対象にしないでください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
23
第 2 章 デバイスの取扱いについて
2.2 使用上の注意
2.2
MB91461
使用上の注意
DSU4 (ICE) 専用接続端子の使用上の注意について示します。
■ DSU4 (ICE) 専用接続端子について
下記に MB91461 の DSU4 (ICE) 接続端子を示します。
表 2.2-1 MB91461 の DSU4 (ICE) 接続端子
端子番号
端子名
機能
93 ∼ 90
ICD3 ∼ ICD0
開発ツール用データ入出力端子です。
96 ∼ 94
ICS2 ∼ ICS0
開発ツール用ステータス出力端子です。
97
ICLK
開発ツール用クロック端子です。
98
BREAK
開発ツール用ブレーク端子です。
130
TRSTX
開発ツール用リセット端子です。
(3V/5V 対応入力端子 )
● ユーザターゲット側コネクタと MB91461 の接続について
下記にユーザターゲット側の推奨コネクタを示します。
メーカ : 山一電機株式会社
型格 : FAP-20-08#*
* : 一桁の数字で端子形状を示します。
・1 : ライトアングル / ラッピング
・2 : ライトアングル / はんだディップ
・4 : ストレート / はんだディップ
図 2.2-1 ユーザターゲット側コネクタの接続例
24
19ピン
1ピン
20ピン
2ピン
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 2 章 デバイスの取扱いについて
2.2 使用上の注意
MB91461
表 2.2-2 ターゲット側コネクタの端子機能一覧表
コネクタ
端子 No.
信号線名
入出力
1
EVCC2
入力
開放
2
EVCC3
入力
開放
3
DSUIO
入出力
開放
4
UVCC
出力
ユーザ Vcc 出力
6
XRSTIN
出力
ユーザ回路の INITX 信号に接続
8
PLVL
入力
開放
5
XTRST
入力
TRSTX(130 ピン ) に接続
7
XINIT
入力
INITX(131 ピン ) に接続
9
GND
−
10
BREAK
入力
11
ICD[3]
12
ICD[2]
端子処理
VSS に接続
ブレーク (98 ピン ) に接続
ICD3 (93 ピン ) に接続
ICD2 (92 ピン ) に接続
入出力
13
ICD[1]
ICD1 (91 ピン ) に接続
MB91461
CM71-10159-2
14
ICD[0]
15
GND
16
ICS[2]
17
ICS[1]
18
ICS[0]
19
GND
−
20
ICLK
出力
ICD0 (90 ピン ) に接続
−
VSS に接続
ICS2 (96 ピン ) に接続
出力
ICS1 (95 ピン ) に接続
ICS0 (94 ピン ) に接続
VSS に接続
ICLK(97 ピン ) に接続
FUJITSU MICROELECTRONICS LIMITED
25
第 2 章 デバイスの取扱いについて
2.2 使用上の注意
MB91461
● 量産時の DSU4 (ICE) 専用端子の処理について
表 2.2-3 量産時の DSU4 (ICE) 専用端子処理
端子番号
端子名
端子処理
93 ∼ 90
ICD3 ∼ ICD0
開放
96 ∼ 94
ICS2 ∼ ICS0
開放
97
ICLK
開放
98
BREAK
開放
130
TRSTX
INITX(131 ピン : 外部リセット入力端子 ) に接続
図 2.2-2 量産時の開発ツール (DSU) 用リセット端子 (TRSTX) の接続処理
INITX
リセット入力
TRSTX
開発ツール用リセット端子 (TRSTX) は 3.3V/5V 対応入力端子になっておりますので ,
INITX 端子と直接接続が可能です。
26
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第3章
CPU
FR ファミリの CPU コアのアーキテクチャ , 仕様 ,
命令などについて説明します。
3.1 メモリ空間
3.2 内部アーキテクチャ
3.3 プログラミングモデル
3.4 データ構造
3.5 メモリマップ
3.6 分岐命令
3.7 EIT ( 例外・割込み・トラップ )
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
27
第 3 章 CPU
3.1 メモリ空間
3.1
MB91461
メモリ空間
FR ファミリの論理アドレス空間は 4G バイト (232 番地 ) あり , CPU はリニアにアク
セスを行います。
■ ダイレクトアドレッシング領域
アドレス空間の下記の領域は I/O 用に使用されます。
この領域をダイレクトアドレッシング領域とよび , 命令中で直接オペランドのアドレ
スを指定できます。
ダイレクト領域は , アクセスするデータのサイズにより , 以下のように異なります。
バイトデータアクセス : 000H ∼ 0FFH
ハーフワードアクセス : 000H ∼ 1FFH
ワードデータアクセス : 000H ∼ 3FFH
■ メモリマップ
図 3.1-1 に , メモリマップを示します。
図 3.1-1 メモリマップ
MB91461
外ROM
外バスモード
0000 0000H
I/O
0000 0400H
ダイレクト
アドレッシング領域
I/Oマップを参照
I/O
0000 1000H
0000 8000H
0000 BFFFH
BI-ROM
0001 0000H
0002 0000H
I-cache
0003 0000H
0004 0000H
ID-RAM
外部領域
0010 0000H
リセット・
モードベクタ
外部領域
FFFF FFFFH
<注意事項>
MB91V460 に搭載されている RAM はすべて 0 ウェイトです。
28
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 3 章 CPU
3.2 内部アーキテクチャ
MB91461
3.2
内部アーキテクチャ
FR ファミリ CPU は , RISC アーキテクチャを採用すると同時に , 組込み用途に向け
た高機能命令を導入した高性能コアです。
■ 内部アーキテクチャの特長
• RISC アーキテクチャの採用
基本命令 1 命令 1 サイクル
• 32 ビットアーキテクチャ
汎用レジスタ 32 ビット× 16 本
• 4G バイトのリニアなメモリ空間
• 乗算器の搭載
32 ビット× 32 ビット乗算 5 サイクル
16 ビット× 16 ビット乗算 3 サイクル
• 割込み処理機能の強化
高速応答速度 (6 サイクル )
多重割込みのサポート
レベルマスク機能 (16 レベル )
• I/O 操作用命令の強化
メモリ - メモリ転送命令
ビット処理命令
• 高いコード効率
基本命令語長 16 ビット
• 低消費電力
スリープモード / ストップモード / シャットダウンモード
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
29
第 3 章 CPU
3.2 内部アーキテクチャ
MB91461
■ 内部アーキテクチャの構造
FR ファミリの CPU は命令バスとデータバスが独立したハーバードアーキテクチャ構
造を採用しています。
32 ビット←→ 16 ビットバスアダプタは 32 ビットバス (D-bus) に接続され , CPU と周
辺リソースとのインタフェースを実現します。
ハーバード←→プリンストン バスコンバータは I-bus, D-bus 双方に接続され , CPU とバ
スコントローラとのインタフェースを実現します。
図 3.2-1 に , 内部アーキテクチャの構造を示します。
図 3.2-1 内部アーキテクチャの構造
DSU
FR60CPU
コア
(デバッグサポート)
D-bus
I-bus
ビットサーチ
I-cache
RAM
32
CAN (2チャネル)
32
32←→16
バスアダプタ
RAM
バス
コンバータ
16
R-bus
DMAC
5チャネル
外部バス
インタ
フェース
周辺
リソース
30
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 3 章 CPU
3.2 内部アーキテクチャ
MB91461
■ CPU
CPU は 32 ビット RISC の FR アーキテクチャをコンパクトにインプリメントしたもの
です。1 サイクルあたり 1 命令の実行を行うため , 5 段階の命令パイプライン方式を採
用しています。パイプラインは以下のステージから構成されています。
図 3.2-2 に , 命令パイプラインを示します。
命令フェッチ (IF)
…命令アドレスを出力し , 命令をフェッチします。
命令デコード (ID)
…フェッチした命令をデコードします。レジスタの読出しも
行います。
実行 (EX)
…演算を実行します。
メモリアクセス (MA) …メモリに対するロードまたはストアのアクセスを行いま
す。
ライトバック (WB)
…演算結果 ( またはロードされたメモリデータ ) をレジスタ
に書き込みます。
図 3.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 命令の速度で行われます。ただし , メモ
リウェイトを伴ったロード・ストア命令 , 遅延スロットがない分岐命令 , 複数サイクル
命令では命令の実行に複数のサイクルが必要となります。また , 命令の供給が遅い場合
も命令の実行速度が低下します。
■ 命令キャッシュ
オンチップの命令キャッシュにより , 外部高速メモリとそれに関連する制御ロジック
のコストを発生することなく高性能なシステムを構築することができます。外部バス
の速度が遅い場合にも , CPU への命令供給を高速に行うことができます。
命令キャッシュの詳細については「第 5 章 命令キャッシュ」を参照してください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
31
第 3 章 CPU
3.2 内部アーキテクチャ
MB91461
■ 32 ビット←→ 16 ビットバスコンバータ
32 ビット←→ 16 ビットバスコンバータは , 32 ビット幅で高速アクセスされる F-bus と ,
16 ビット幅でアクセスされる R-bus とのインタフェースを行い , CPU から内蔵周辺回
路へのデータアクセスを実現します。
CPU から R-bus に対して 32 ビット幅のアクセスがあった場合 , このバスコンバータが
2 回の 16 ビット幅アクセスに変換してアクセスを行います。内蔵周辺回路の一部には
アクセス幅に関して制限のあるものがあります。
■ ハーバード←→プリンストン バスコンバータ
ハーバード←→プリンストン バスコンバータは , CPU の命令アクセスとデータアクセ
スの整合をとり , 外部バスとのスムーズなインタフェースを実現します。
CPU は命令バスとデータバスが独立したはハーバードアーキテクチャ構造です。一方 ,
外部バスの制御を行うバスコントローラは単一バスのプリンストンアーキテクチャ構
造です。このバスコンバータは CPU の命令アクセスとデータアクセスに優先順位をつ
け , バスコントローラへのアクセスの制御を行います。この働きにより , 外部へのバス
アクセス順位が常に最適化されたものになります。
32
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 3 章 CPU
3.2 内部アーキテクチャ
MB91461
3.2.1
命令概要
FR ファミリは , 一般的な RISC の命令体系に加え , 組込み用途に最適化された論理
演算とビット操作およびダイレクトアドレッシング命令をサポートしています。
各命令は 16 ビット長 ( 一部命令は 32, 48 ビット長 ) ですので , 優れたメモリ使用効
率があります。
命令セットは以下の機能グループに分けることができます。
• 算術演算
• ロードとストア
• 分岐
• 論理演算とビット操作
• ダイレクトアドレッシング
• その他
■ 算術演算
標準の算術演算命令 ( 加算 , 減算 , 比較 ) およびシフト命令 ( 論理シフト , 算術演算シフ
ト ) があります。加算と減算については , 多ワード長演算で使用するキャリ付き演算や
アドレス計算に便利なフラグ値を変化させない演算も可能です。
さらに , 32 ビット× 32 ビット , 16 ビット× 16 ビットの乗算命令と , 32 ビット÷ 32
ビットのステップ除算命令があります。また , レジスタに即値をセットする即値転送命
令やレジスタ間転送命令も備えています。
算術演算命令はすべて CPU 内の汎用レジスタおよび乗除算レジスタを用いて演算を行
います。
■ ロードとストア
ロードとストアは外部メモリに対して読出しと書込みを行う命令です。また , チップ内
の周辺回路 (I/O) への読出しと書込みにも使用されます。
ロードとストアにはバイト , ハーフワード , ワードの 3 種類のアクセス長があります。
また , 一般的なレジスタ間接のメモリアドレッシングに加え , 一部の命令については
ディスプレースメント付きレジスタ間接やレジスタインクリメント・デクリメント付
きレジスタ間接のメモリアドレッシングも可能です。
■ 分岐
分岐 , コール , 割込みおよび復帰の命令です。分岐命令は , 遅延スロットがあるものと
持たないものがあり , 用途に応じて最適化を行うことができます。分岐命令の詳細につ
いては , 「3.6 分岐命令」を参照してください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
33
第 3 章 CPU
3.2 内部アーキテクチャ
MB91461
■ 論理演算とビット操作
論理演算命令は汎用レジスタ間, または汎用レジスタとメモリ (およびI/O) 間でAND, OR,
EOR の論理演算を行うことが可能です。また , ビット操作命令はメモリ ( および I/O) の
内容を直接操作することができます。
メモリアドレッシングは一般的なレジスタ間接です。
■ ダイレクトアドレッシング
ダイレクトアドレッシング命令は , I/O と汎用レジスタ間 , または I/O とメモリ間のア
クセスに使用する命令です。I/O のアドレスをレジスタ間接ではなく命令中で直接指定
することにより , 高速 , 高効率なアクセスを行うことができます。一部の命令について
は , レジスタインクリメント・デクリメント付きレジスタ間接のメモリアドレッシング
も可能です。
■ その他の命令概要
PS レジスタ内のフラグ設定 , スタック操作 , 符号 / ゼロ拡張などを行う命令です。また ,
高級言語対応の関数入口 / 出口 , レジスタマルチロード / ストア命令も備えています。
34
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 3 章 CPU
3.3 プログラミングモデル
MB91461
3.3
プログラミングモデル
FR ファミリのプログラミングモデル , 汎用レジスタおよび専用レジスタについて説
明します。
■ 基本プログラミングモデル
図 3.3-1 に , 基本プログラミングモデルを示します。
図 3.3-1 基本プログラミングモデル
32ビット
〔初期値〕
XXXX XXXXH
R0
…
R1
… … 汎用レジスタ
…
…
…
…
…
AC
…
R12
R13
R14
R15
プログラムカウンタ
PC プログラムステータス
PS -
テーブルベースレジスタ
TBR
リターンポインタ
RP システムスタックポインタ
SSP
ユーザスタックポインタ
USP
乗除算結果レジスタ
MDH
MDL
CM71-10159-2
ILM
FP
XXXX XXXXH
SP
0000 0000H
- SCR
FUJITSU MICROELECTRONICS LIMITED
CCR
35
第 3 章 CPU
3.3 プログラミングモデル
3.3.1
MB91461
汎用レジスタ
レジスタ R0 ∼ R15 は汎用レジスタです。
各種演算におけるアキュムレータ , およびメモリアクセスのポインタとして使用さ
れます。
■ 汎用レジスタ
図 3.3-2 に , 汎用レジスタの構成を示します。
図 3.3-2 汎用レジスタの構成
32ビット
[初期値]
R0
XXXX XXXX H
R1
R12
R13
R14
AC
FP
XXXX XXXX H
R15
SP
0000 0000 H
16本のレジスタのうち, 以下に示すレジスタは特殊な用途を想定しており, そのために
一部の命令が強化されています。
R13: 仮想アキュムレータ (AC)
R14: フレームポインタ (FP)
R15: スタックポインタ (SP)
リセットによる初期値は , R0 ∼ R14 は不定です。R15 は , 00000000H (SSP の値 ) とな
ります。
36
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 3 章 CPU
3.3 プログラミングモデル
MB91461
3.3.2
専用レジスタ
専用レジスタは , 特定の目的のために使用します。
FR ファミリでは , 以下の専用レジスタが用意されています。
• プログラムステータス (PS)
• コンディションコードレジスタ (CCR)
• システムコンディションコードレジスタ (SCR)
• 割込みレベルマスクレジスタ (ILM)
• プログラムカウンタ (PC)
• テーブルベースレジスタ (TBR)
• リターンポインタ (RP)
• システムスタックポインタ (SSP)
• ユーザスタックポインタ (USP)
• 乗除算レジスタ (Multiply & Divide register)
■ プログラムステータス (PS)
プログラムステータス (PS) は , プログラム状態を保持するレジスタで , ILM, SCR およ
び CCR の 3 つのパートに分かれています。
未定義のビットはすべて予約ビットです。読出し時 , 常に "0" が読み出されます。
書込みは無効です。
図 3.3-3 に , プログラムステータス (PS) のレジスタ構成を示します。
図 3.3-3 プログラムステータス (PS) のレジスタ構成
bit 31
20
16
ILM
CM71-10159-2
10 8 7
SCR
0
CCR
FUJITSU MICROELECTRONICS LIMITED
37
第 3 章 CPU
3.3 プログラミングモデル
MB91461
■ コンディションコードレジスタ (CCR)
図 3.3-4 に , コンディションコードレジスタ (CCR) のレジスタ構成を示します。
図 3.3-4 コンディションコードレジスタ (CCR) のレジスタ構成
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
演算結果が負の値であったことを示します。
リセットによる初期状態は不定です。
38
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 3 章 CPU
3.3 プログラミングモデル
MB91461
[bit2] Z : ゼロフラグ
演算結果が "0" であったかどうかを示します。
値
内 容
0
演算結果が "0" 以外の値であったことを示します。
1
演算結果が "0" であったことを示します。
リセットによる初期状態は不定です。
[bit1] V : オーバフローフラグ
演算に用いたオペランドを 2 の補数で表現される整数であるとみなし , 演算の結果 ,
オーバフローが生じたかどうかを示します。
値
内 容
0
演算の結果 , オーバフローは発生していないことを示します。
1
演算の結果 , オーバフローが発生したことを示します。
リセットによる初期状態は不定です。
[bit0] C : キャリフラグ
演算により , 最上位ビットからのキャリ , またはボローが発生したかどうかを示し
ます。
値
内 容
0
キャリもボローも発生していないことを示します。
1
キャリまたはボローが発生したことを示します。
リセットによる初期状態は不定です。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
39
第 3 章 CPU
3.3 プログラミングモデル
MB91461
■ システムコンディションコードレジスタ (SCR)
図 3.3-5 に, システムコンディションコードレジスタ(SCR)のレジスタ構成を示します。
図 3.3-5 システムコンディションコードレジスタ (SCR) のレジスタ構成
bit
10
9
8
[ 初期値 ]
D1
D0
T
XX0B
[bit10, bit9] ステップ除算用フラグ
ステップ除算実行時の中間データを保持します。
除算処理の実行途中には変更しないでください。ステップ除算実行途中にほかの処
理を行う場合は , PS レジスタの値を退避・復帰することによりステップ除算の再開
が保証されます。
リセットによる初期状態は不定です。
DIV0S 命令の実行により被除数と除数を参照して設定されます。
DIV0U 命令の実行により , 強制的にクリアされます。
DIV0S/DIV0U 命令とユーザ割込み , NMI 同時受付け EIT 処理ルーチン内で , EIT 分
岐前の PS レジスタの D0/D1 ビットを期待した処理を行わないでください。
DIV0S/DIV0U 命令の直前に , ブレーク , ステップなどで停止させた場合 , PS レジス
タの D0/D1 ビットの表示は正しい値とならないことがあります。ただし , 復帰後の
演算結果は正しいものになります。
[bit8] ステップトレーストラップフラグ
ステップトレーストラップを有効にするかどうかを指定するフラグです。
値
内 容
0
ステップトレーストラップ無効
1
ステップトレーストラップ有効
このとき , ユーザ用 NMI とユーザ割込みがすべて割込み禁止となりま
す。
リセットにより "0" に初期化されます。
ステップトレーストラップの機能はエミュレータが使用します。エミュレータ使用
時 , ユーザプログラム中で使用することはできません。
40
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 3 章 CPU
3.3 プログラミングモデル
MB91461
■ 割込みレベルマスクレジスタ (ILM)
図 3.3-6 に , 割込みレベルマスクレジスタ (ILM) のレジスタ構成を示します。
図 3.3-6 割込みレベルマスクレジスタ (ILM) のレジスタ構成
bit
20
19
18
17
16
[ 初期値 ]
ILM4
ILM3
ILM2
ILM1
ILM0
01111B
割込みレベルマスク値を保持するレジスタで , この割込みレベルマスクレジスタ (ILM)
の保持する値がレベルマスクに使用されます。
CPU に入力される割込み要求の中で , 対応する割込みレベルが , この割込みレベルマス
クレジスタ (ILM) で示されるレベルよりも強い場合にのみ割込み要求が受け付けられ
ます。
レベル値は , 0 (00000B) が最強で , 31 (11111B) が最弱です。
プログラムから設定可能な値には制限があります。
元の値が 16 ∼ 31 のとき :
新たな値として設定できるのは 16 ∼ 31 です。0 ∼ 15 を設定する命令を実行すると ,
( 指定した値+ 16) という値が転送されます。
元の値が 0 ∼ 15 のとき :
0 ∼ 31 の任意の値が設定可能です。
リセットにより , 15 (01111B) に初期化されます。
■ プログラムカウンタ (PC)
図 3.3-7 に , プログラムカウンタ (PC) のレジスタ構成を示します。
図 3.3-7 プログラムカウンタ (PC) のレジスタ構成
bit 31
PC
0
[ 初期値 ]
XXXXXXXXH
[bit31 ∼ bit0]
プログラムカウンタで , 実行している命令のアドレスを示しています。
命令の実行を伴う PC の更新時に , bit0 は "0" に設定されます。bit0 が "1" になる可
能性があるのは , 分岐先アドレスとして奇数番地を指定した場合だけです。ただし ,
その場合でも bit0 は無効であり , 命令は 2 の倍数のアドレスに置く必要があります。
リセットによる初期値は不定です。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
41
第 3 章 CPU
3.3 プログラミングモデル
MB91461
■ テーブルベースレジスタ (TBR)
図 3.3-8 に , テーブルベースレジスタ (TBR) のレジスタ構成を示します。
図 3.3-8 テーブルベースレジスタ (TBR) のレジスタ構成
bit 31
0
[ 初期値 ]
000FFC00H
TBR
テーブルベースレジスタで , EIT 処理の際に使用されるベクタテーブルの先頭アドレス
を保持します。
リセットによる初期値は , 000FFC00H です。
■ リターンポインタ (RP)
図 3.3-9 に , リターンポインタ (RP) のレジスタ構成を示します。
図 3.3-9 リターンポインタ (RP) のレジスタ構成
bit 31
0
RP
[ 初期値 ]
XXXXXXXXH
リターンポインタで , サブルーチンから復帰するアドレスを保持します。
CALL 命令実行時 , PC の値がこの RP に転送されます。
RET 命令実行時 , RP の内容が PC に転送されます。
リセットによる初期値は不定です。
■ システムスタックポインタ (SSP)
図 3.3-10 に , システムスタックポインタ (SSP) のレジスタ構成を示します。
図 3.3-10 システムスタックポインタ (SSP) のレジスタ構成
bit 31
0
SSP
[ 初期値 ]
00000000H
SSP は , システムスタックポインタです。
S フラグが "0" のとき , R15 として機能します。
SSP を明示的に指定することも可能です。また , EIT 発生時に , PS と PC を退避するス
タックを指定するスタックポインタとしても使用されます。
リセットによる初期値は 00000000H です。
42
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 3 章 CPU
3.3 プログラミングモデル
MB91461
■ ユーザスタックポインタ (USP)
図 3.3-11 に , ユーザスタックポインタ (USP) のレジスタ構成を示します。
図 3.3-11 ユーザスタックポインタ (USP) のレジスタ構成
bit 31
0
USP
[ 初期値 ]
XXXXXXXXH
USP は , ユーザスタックポインタです。
S フラグが "1" のとき , R15 として機能します。
USP を明示的に指定することも可能です。
リセットによる初期値は不定です。
RETI 命令で使用することはできません。
■ 乗除算レジスタ (Multiply & Divide register)
図 3.3-12 に , 乗除算レジスタ (Multiply & Divide register) のレジスタ構成を示します。
図 3.3-12 乗除算レジスタ (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……商
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
43
第 3 章 CPU
3.4 データ構造
MB91461
データ構造
3.4
FR ファミリのデータ構造について説明します。
■ ビットオーダリング
FR ファミリでは , ビットオーダリングとして , リトルエンディアンを採用しています。
図 3.4-1 に , ビットオーダリングのデータ配置を示します。
図 3.4-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 ファミリでは , バイトオーダリングとして , ビッグエンディアンを採用しています。
図 3.4-2 に , バイトオーダリングのデータ配置を示します。
図 3.4-2 バイトオーダリングのデータ配置
メモリ
MSB
bit 31
23
15
7
LSB
0
10101010B 11001100B 11111111B 00010001B
ビット
0
7
n番地 10101010B
(n+1)番地 11001100B
(n+2)番地 11111111B
(n+3)番地 00010001B
44
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 3 章 CPU
3.4 データ構造
MB91461
■ ワードアライメント
● プログラムアクセス
FR ファミリのプログラムは , 2 の倍数のアドレスに配置する必要があります。
PC の bit0 は , 命令の実行に伴う PC の更新時に "0" に設定されます。
"1" になる可能性があるのは , 分岐先アドレスとして奇数番地を指定した場合だけで
す。ただし , その場合でも bit0 は無効であり , 命令は 2 の倍数のアドレスに置く必要が
あります。
奇数アドレス例外はありません。
● データアクセス
FR ファミリでは , データアクセスを行う際 , その幅により以下のように強制的なアラ
イメントがアドレスに対して施されます。
ワードアクセス
: アドレスは , 4 の倍数 ( 最下位 2 ビットは強制的に 00B)
ハーフワードアクセス : アドレスは , 2 の倍数 ( 最下位ビットは強制的に "0")
バイトアクセス
: ──
ワードおよびハーフワードデータアクセス時に , 一部のビットが強制的に "0" にされる
のは , 実効アドレスの計算結果に対してです。
例えば , @(R13, Ri) のアドレッシングモードの場合 , 加算前のレジスタは ( たとえ最下
位ビットが "1" であっても ) そのまま計算に使用され , 加算結果の下位ビットがマスク
されます。計算前のレジスタがマスクされるわけではありません。
【例】LD @ (R13,R2),R0
R13
00002222H
R2
00000003H
+)
加算結果
アドレス端子
CM71-10159-2
00002225H
下位2ビット強制マスク
00002224H
FUJITSU MICROELECTRONICS LIMITED
45
第 3 章 CPU
3.5 メモリマップ
3.5
MB91461
メモリマップ
FR ファミリのメモリマップについて説明します。
■ メモリマップ
アドレス空間は 32 ビットリニアです。
図 3.5-1 に , メモリマップを示します。
図 3.5-1 メモリマップ
0000 0000H
バイトデータ
0000 0100H
ハーフワードデータ
0000 0200H
ダイレクト
アドレッシング領域
ワードデータ
0000 0400H
000F FC00H
ベクタテーブル
初期領域
000F FFFFH
FFFF FFFFH
ダイレクトアドレッシング領域
アドレス空間の下記の領域は I/O 用の領域です。この領域は , ダイレクトアドレッ
シングにより , 命令中で直接オペランドアドレスを指定することができます。
ダイレクトアドレス指定可能なアドレス領域の大きさは, データ長ごとに異なります。
バイトデータ (8 ビット )
……000H ∼ 0FFH
ハーフワードデータ (16 ビット )
……000H ∼ 1FFH
ワードデータ (32 ビット )
……000H ∼ 3FFH
ベクタテーブル初期領域
000FFC00H ∼ 000FFFFFH の領域は EIT ベクタテーブル初期領域です。
EIT 処理時に使用されるベクタテーブルは , TBR を書き換えることにより任意のア
ドレスに配置可能ですが , リセットによる初期化によってこのアドレスに配置され
ます。
46
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 3 章 CPU
3.6 分岐命令
MB91461
3.6
分岐命令
FR ファミリの分岐命令について説明します。
■ 分岐命令の概要
FR ファミリでは , 分岐命令に遅延スロット付きの動作と遅延スロットなしの動作を指
定することができます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
47
第 3 章 CPU
3.6 分岐命令
3.6.1
MB91461
遅延スロット付き動作
分岐命令に遅延スロット付き動作を指定した場合について説明します。
■ 遅延スロット付き動作の命令
以下に示す表記をした命令が , 遅延スロット付きの分岐動作を行います。
JMP:D
@Ri
CALL:D
label12
CALL:D
@Ri
RET:D
BRA:D
label9
BNO:D
label9
BEQ:D
label9
BNE:D label9
BC:D
label9
BNC:D
label9
BN:D
label9
BP:D
BV:D
label9
BNV:D
label9
BLT:D
label9
BGE:D label9
BLE:D
label9
BGT:D
label9
BLS:D
label9
BHI:D label9
label9
■ 遅延スロット付き動作の動作説明
遅延スロット付きの動作では , 分岐先の命令を実行する前に , 分岐命令の直後 (「遅延
スロット」とよびます ) に置かれた命令を実行した後に分岐します。
分岐動作の前に遅延スロットの命令を実行するため, 見かけ上の実行速度が1サイクル
となります。その代わり , 遅延スロットに有効な命令を入れることができないときは ,
NOP 命令を置く必要があります。
[例]
;
命令の並び
ADD
R1, R2
;
BRA:D
LABEL
; 分岐命令
MOV
R2, R3; 遅延スロット……分岐の前に実行される
…
LABEL : ST
R3, @R4 ; 分岐先
条件分岐命令の場合 , 分岐条件が成立するかしないかにかかわらず , 遅延スロットに置
かれた命令は実行されます。
遅延分岐命令では , 一部の命令の実行順序が反転するように見えますが , それは PC の
更新動作だけについてであり , その他の動作 ( レジスタの更新・参照など ) はあくまで
記述された順番で実行されます。
以下に , 具体的な説明をします。
1) JMP:D @Ri / CALL:D @Ri 命令で参照する Ri は , 遅延スロットの中の命令が Ri
を更新しても影響を受けません。
[例]
LDI:32 #Label, R0
JMP:D
@R0
LDI:8
#0,
;Label に分岐
R0
; 分岐先アドレスには影響を与えない
…
48
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 3 章 CPU
3.6 分岐命令
MB91461
2) RET:D 命令が参照する RP は , 遅延スロットの中の命令が RP を更新しても影響
を受けません。
[例]
RET:D
MOV
; これより前に設定された RP の示すアドレスへ分岐
R8,
RP
; リターン動作には影響を与えない
…
3) Bcc:D rel 命令が参照するフラグも , 遅延スロットの命令の影響を受けません。
[例]
ADD
#1,
R0
BC:D
Overflow
AND CCR #0
; フラグ変化
; 上記の命令の実行結果により分岐
; このフラグ更新は上記分岐命令では参照しない
…
4) CALL:D 命令の遅延スロットの中の命令で RP を参照すると , CALL:D 命令によ
り更新された内容が読み出されます。
[例]
CALL:D Label
MOV
RP,
;RP を更新して分岐
R0
; 上記 CALL:D の実行結果の RP を転送
…
■ 遅延スロット付き動作の制限事項
遅延スロットに置くことができる命令
遅延スロット内で実行できるのは , 以下の条件を満たす命令のみです。
1 サイクル命令
分岐命令ではないこと
順番が変化した場合でも動作に影響を与えない命令
「1 サイクル命令」とは , 命令一覧表中でサイクル数の欄が「1」, 「a」, 「b」, 「c」
または「d」と記載された命令です。
ステップトレーストラップ
遅延スロットがある分岐命令の実行と遅延スロットの間では , ステップトレースト
ラップは発生しません。
割込み・NMI
遅延スロットがある分岐命令の実行と遅延スロットの間では , 割込み・NMI を受理
しません。
未定義命令例外
遅延スロットに未定義命令があった場合 , 未定義命令例外は発生しません。このと
き , 未定義命令は NOP 命令として動作します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
49
第 3 章 CPU
3.6 分岐命令
3.6.2
MB91461
遅延スロットなし動作
分岐命令に遅延スロットなし動作を指定した場合について説明します。
■ 遅延スロットなし動作の命令
以下に示す表記をした命令が , 遅延スロットなしの分岐動作を行います。
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
BLE
label9
BGT
label9
BLS
label9
BHI
label9
■ 遅延スロットなし動作の動作説明
遅延スロットなしの動作では , あくまで命令の並びの順に実行します。
直後の命令が分岐前に実行されることはありません。
[例]
;
命令の並び
ADD
R1, R2
;
BRA
LABEL
; 分岐命令 ( 遅延スロットなし )
MOV
R2, R3
; 実行されない
R3, @R4
; 分岐先
…
LABEL:
ST
遅延スロットなしの分岐命令の実行サイクル数は , 分岐するとき 2 サイクル , 分岐しな
いとき 1 サイクルとなります。
遅延スロットなしの分岐命令は , 遅延スロットに適当な命令を入れることができない
ために NOP を明記した遅延スロット付き分岐命令に比べて , 命令コード効率を上げる
ことができます。
遅延スロットに有効な命令を設置できるときは遅延スロット付きの動作を選択し , そ
うでないときは遅延スロットなしの動作を選択することで , 実行速度とコード効率を
両立させることが可能となります。
50
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 3 章 CPU
3.7 EIT ( 例外・割込み・トラップ )
MB91461
3.7
EIT ( 例外・割込み・トラップ )
EIT とは , 現プログラム実行時にイベントの発生によりそのプログラムの実行を中断
してほかのプログラムを実行することを指し , 例外 (Exception), 割込み (Interrupt),
トラップ (Trap) の総称です。
例外とは , 実行中のコンテキストに関連して発生する事象です。例外を起こした命
令から再実行します。
割込みとは , 実行中のコンテキストとは無関係に発生する事象です。イベント要因
はハードウェアです。
トラップとは , 実行中のコンテキストに関連して発生する事象です。システムコー
ルのようにプログラムで指示するものがあります。トラップを起こした命令の次の
命令から再実行します。
■ EIT の特長
• 割込みに多重割込みをサポート
• 割込みにレベルマスク機能 (15 レベルをユーザが使用可能 )
• トラップ命令 (INT)
• エミュレータ起動用 EIT ( ハードウェア / ソフトウェア )
■ EIT 要因
EIT 要因として , 以下のものがあります。
• リセット
• ユーザ割込み ( 内部リソース , 外部割込み )
• NMI
• 遅延割込み
• 未定義命令例外
• トラップ命令 (INT)
• トラップ命令 (INTE)
• ステップトレーストラップ
• コプロセッサ不在トラップ
• コプロセッサエラートラップ
<注意事項>
分岐命令の遅延スロットには , EIT に関して制約があります。詳細は , 「3.6 分岐命令」を
参照してください。
■ EIT からの復帰
EIT から復帰するためには , RETI 命令を実行します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
51
第 3 章 CPU
3.7 EIT ( 例外・割込み・トラップ )
MB91461
EIT の割込みレベル
3.7.1
割込みレベルは 0 ∼ 31 で , 5 ビットで管理されます。
■ EIT の割込みレベル
表 3.7-1 に , 割込みレベルを示します。
表 3.7-1 割込みレベル
レベル
割込み要因
2 進数
10 進数
00000B
0
( システム予約 )
…
…
…
…
…
…
00011B
3
( システム予約 )
00100B
4
00101B
5
( システム予約 )
…
…
…
…
…
…
01110B
14
( システム予約 )
01111B
15
NMI ( ユーザ用 )
10000B
16
割込み
10001B
17
割込み
…
…
…
…
…
…
11110B
30
割込み
11111B
31
─
{
注意事項
ILM の元の値が 16 ∼ 31 のとき , この
範囲の値をプログラムにより ILM に設
定することはできません。
INTE 命令
ステップトレーストラップ
ILM 設定時 , ユーザ割込み禁止
ICR 設定時 , 割込み禁止
操作が可能なのは , 16 ∼ 31 のレベルです。
未定義命令例外, コプロセッサ不在トラップ, コプロセッサエラートラップ, そしてINT
命令は , 割込みレベルの影響を受けません。また , ILM を変化させることもありません。
52
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 3 章 CPU
3.7 EIT ( 例外・割込み・トラップ )
MB91461
■ I フラグ
I フラグは , 割込みの許可・禁止を指定するフラグです。PS レジスタの CCR の bit4 と
して設けられています。
表 3.7-2 I フラグ
値
内 容
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 および割込み要求が発生したときは , 割込み要因の割込みレベル ( 表 3.7-1 を参照 )
が ILM の保持するレベルマスク値と比較されます。そして , 次の条件が成立したとき
はマスクされ , 要求は受理されません。
要因の割込みレベル ≧ レベルマスク値
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
53
第 3 章 CPU
3.7 EIT ( 例外・割込み・トラップ )
3.7.2
MB91461
割込み制御レジスタ (ICR)
割込みコントローラ内に設けられたレジスタで , 割込みの各要求に対するレベルを
設定します。割込み制御レジスタ (ICR) は割込み要求入力の各々に対応して用意さ
れています。割込み制御レジスタ (ICR) は I/O 空間にマッピングされており , CPU
からはバスを通してアクセスされます。
■ 割込み制御レジスタ (ICR) ビット構成
図 3.7-1 に , 割込み制御レジスタ (ICR) のビット構成を示します。
図 3.7-1 割込み制御レジスタ (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
このビットは , 常に "1" です。
[bit3 ∼ bit0] ICR3 ∼ ICR0
対応する割込み要因の割込みレベルの下位 4 ビットです。読出し / 書込み可能です。
bit4 と合わせて , ICR は 16 ∼ 31 の範囲で値を設定することができます。
■ ICR マッピング
表 3.7-3 に , 割込み要因と割込み制御レジスタ , 割込みベクタを示します。
表 3.7-3 割込み要因と割込み制御レジスタ , 割込みベクタ
割込み制御レジスタ
対応する割込みベクタ
番号
割込み要因
番号
アドレス
ICR00
00000440H
IRQ00
IRQ01
IRQ02
ICR01
IRQ03
…
…
00000441H
…
…
ICR63
0000047FH
IRQ126
IRQ127
アドレス
16 進
10 進
10H
16
TBR + 3BCH
11H
17
TBR + 3B8H
12H
18
TBR + 3B4H
13H
19
TBR + 3B0H
…
…
…
…
…
…
3DH
142
TBR + 1C4H
8FH
143
TBR + 1C0H
・TBR 初期値 : 000FFC00H
・詳細は「第 10 章 割込みコントローラ」を参照してください。
54
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 3 章 CPU
3.7 EIT ( 例外・割込み・トラップ )
MB91461
システムスタックポインタ (SSP)
3.7.3
システムスタックポインタ (SSP) が , EIT の受理および復帰動作時のデータ退避・復
帰用スタックを示すポインタとして使用されます。
■ システムスタックポインタ (SSP)
図 3.7-2 に , システムスタックポインタ (SSP) のレジスタ構成を示します。
図 3.7-2 システムスタックポインタ (SSP) のレジスタ構成
bit 31
0
SSP
初期値
00000000H
EIT 処理時に内容が 8 減ぜられ , RETI 命令の実行による EIT からの復帰動作時に 8 加
算されます。
リセットによる初期値は 00000000H です。
システムスタックポインタ (SSP) は , CCR 中の S フラグが "0" のとき , 汎用レジスタ
R15 としても機能します。
■ 割込みスタック
システムスタックポインタ (SSP) により示される領域で , PC および PS の値が退避・復
帰されます。
割込み後はシステムスタックポインタ (SSP) の示すアドレスに PC, (SSP + 4) のアドレ
スに PS が格納されています。
図 3.7-3 に , 割込みスタックを示します。
図 3.7-3 割込みスタック
[割込み前]
SSP
80000000H
[割込み後]
SSP
7FFFFFF8H
メモリ
80000000H
7FFFFFFCH
7FFFFFF8H
CM71-10159-2
80000000H
7FFFFFFCH
7FFFFFF8H
FUJITSU MICROELECTRONICS LIMITED
PS
PC
55
第 3 章 CPU
3.7 EIT ( 例外・割込み・トラップ )
3.7.4
MB91461
テーブルベースレジスタ (TBR)
EIT 用ベクタテーブルの先頭アドレスを示すレジスタです。
■ テーブルベースレジスタ (TBR)
図 3.7-4 に , テーブルベースレジスタ (TBR) のレジスタ構成を示します。
図 3.7-4 テーブルベースレジスタ (TBR) のレジスタ構成
bit 31
0
TBR
初期値
000FFC00H
テーブルベースレジスタ (TBR) と EIT 要因ごとに決められたオフセット値を加算した
アドレスがベクタアドレスとなります。
リセットによる初期値は 000FFC00H です。
■ EIT ベクタテーブル
テーブルベースレジスタ (TBR) の示すアドレスから 1K バイトの領域が EIT 用ベクタ
領域となっています。
1 ベクタ当たりの大きさは 4 バイトで , ベクタ番号とベクタアドレスの関係は以下のと
おりです。
vctadr =TBR + vctofs
=TBR + (3FCH − 4 × vct)
vctadr: ベクタアドレス
vctofs: ベクタオフセット
vct: ベクタ番号
加算結果の下位 2 ビットは常に 00B として扱われます。
000FFC00H ∼ 000FFFFFH の領域がリセットによるベクタテーブルの初期領域です。
ベクタの一部には特殊な機能が割り当てられています。リセットベクタとモードベク
タは TBR の値を変更しても常に固定アドレス 000FFFFCH, 000FFFF8H が使用されます。
マスク可能要因は各品種により定義されます。ベクタテーブルは「付表 C-1 」を参照
してください。
56
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 3 章 CPU
3.7 EIT ( 例外・割込み・トラップ )
MB91461
3.7.5
多重 EIT 処理
複数の EIT 要因が同時に発生した場合 , CPU は 1 つの EIT 要因を選択して受理
し , EIT シーケンスを実行した後 , 再び EIT 要因の検出を行う , という動作を繰り返
します。
EIT 要因検出の際に , 受理可能な EIT 要因がなくなったとき , 最後に受理した EIT 要
因のハンドラの命令を実行します。
そのため , 複数の EIT 要因が同時に発生した場合の各要因のハンドラの実行順序は ,
次の 2 つの要素によって決まります。
• EIT 要因受理の優先順位
• 受理した場合にほかの要因をどのようにマスクするか
■ EIT 要因受理の優先度
EIT 要因受理の優先度とは , PS と PC を退避して PC を更新し ( 必要に応じて ), ほかの
要因のマスク処理を行うという , EIT シーケンスを実行する要因を選ぶときの順番で
す。
必ずしも , 先に受理された要因のハンドラが先に実行されるわけではありません。
表 3.7-4 に , EIT 要因の受理の優先度とほかの要因へのマスクを示します。
表 3.7-4 EIT 要因の受理の優先度とほかの要因へのマスク
受理の優先順位
CM71-10159-2
要因
ほかの要因に対するマスク
1
リセット
ほかの要因は破棄されます。
2
命令ブレーク
ほかの要因はキャンセル (ILM = 4)
3
INTE 命令
ほかの要因はキャンセル (ILM = 4)
4
未定義命令例外
ほかの要因はキャンセル
(I フラグ= 0)
5
INT 命令 / コプロセッサ例外 I フラグ= 0
6
ユーザ割込み
ILM =受理した要因のレベル
7
NMI ( ユーザ用 )
ILM = 15
8
NMI ( エミュレータ用 )
ほかの要因はキャンセル (ILM = 4)
9
ステップトレーストラップ
ほかの要因はキャンセル (ILM = 4)
10
オペランドブレーク
ほかの要因はキャンセル (ILM = 4)
FUJITSU MICROELECTRONICS LIMITED
57
第 3 章 CPU
3.7 EIT ( 例外・割込み・トラップ )
MB91461
EIT 要因を受理した後のほかの要因に対するマスクの処理を加味すると , 同時に発生し
た EIT 要因の各ハンドラの実行順序は , 表 3.7-5 のようになります。
表 3.7-5 EIT ハンドラの実行順序
ハンドラの実行順序
要因
1
リセット
2
未定義命令例外
3
命令ブレーク
4
INTE 命令
5
NMI ( エミュレータ用 )
6
ステップトレーストラップ
7
オペランドブレーク
8
NMI ( ユーザ用 )
9
INT 命令 / コプロセッサ例外
10
ユーザ割込み
図 3.7-5 に多重 EIT 処理を示します。
図 3.7-5 多重 EIT 処理
メインルーチン
NMIのハンドラ
INT命令
のハンドラ
優先度
(高) NMI発生
①最初に実行
(低) INT命令実行
②次に実行
58
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 3 章 CPU
3.7 EIT ( 例外・割込み・トラップ )
MB91461
EIT の動作
3.7.6
EIT の動作について説明します。
■ EIT の動作
以下の説明で , 転送元の「PC」とは各 EIT 要因を検出した命令のアドレスを示すもの
とします。また , 「次の命令のアドレス」とは , EIT を検出した命令が以下のように
なっていることを意味します。
• LDI:32 のとき……PC + 6
• LDI:20, COPOP, COPLD, COPST, COPSV のとき……PC + 4
• その他の命令のとき……PC + 2
■ ユーザ割込み・NMI の動作
ユーザ割込みまたはユーザ用 NMI の割込み要求が発生すると , 以下の順序で要求受理
の可否が判定されます。
[ 割込み要求受理の可否判定 ]
1) 同時に発生した要求の割込みレベルを比較し, 最も強いレベル (最も小さい数値)
を保持するものが選択されます。
マスク可能割込みは , 対応する ICR の保持する値が , 比較レベルとして使用され
ます。また , NMI では , あらかじめ定数が決まっています。
2) 同じレベルの割込み要求が複数発生しているときは , 最も若い割込み番号を持
つ割込み要求が選択されます。
3) 割込みレベル≧レベルマスク値のとき , 割込み要求はマスクされ受理されない。
割込みレベル<レベルマスク値のとき , 4) へ。
4) 選択された割込み要求がマスク可能割込みであるとき , I フラグが "0" ならば割
込み要求はマスクされ , 受理されません。I フラグが "1" ならば 5) へ。
選択された割込み要求が NMI であるとき , I フラグの値にかかわらず 5) へ。
5) 上記の条件が成立したとき , 命令処理の切れ目で割込み要求が受理されます。
EIT 要求検出時にユーザ割込み・NMI の要求が受理されると , 受理された割込み要求に
対応した割込み番号を使用して , CPU は以下のように動作します。
( 注意事項 )
〔動作〕における ( ) はレジスタの指すアドレスを表します。
[ 動作 ]
CM71-10159-2
1) SSP − 4
→ SSP
2) PS
→ (SSP)
3) SSP − 4
→ SSP
4) 次の命令のアドレス
→ (SSP)
5) 受理した要求の割込みレベル
→ ILM
FUJITSU MICROELECTRONICS LIMITED
59
第 3 章 CPU
3.7 EIT ( 例外・割込み・トラップ )
MB91461
→ S フラグ
6) "0"
7) (TBR +受理した割込み要求のベクタオフセット ) → PC
割込みシーケンス終了後 , ハンドラの先頭の命令を実行する前に新たな EIT の検出を
行います。この時点で受理可能な EIT が発生していると , CPU は EIT 処理シーケンス
に遷移します。
ユーザ割込み , または NMI 要因が発生している状態で割込みを許可するために "OR
CCR", "ST ILM", および "MOV Ri, PS" の各命令が実行されると , 割込みハンドラの前後
で上記命令が 2 回実行される場合があります。ただし , CPU 内のレジスタに対して , 同
じ値を 2 度設定するだけですので , 動作的に問題ありません。
EIT 処理ルーチン内では EIT 分岐前の PS レジスタの内容を期待した処理を行わないで
ください。
■ INT 命令の動作
INT #u8 命令は , 以下のように動作します。
u8 で示されるベクタの割込みハンドラへ分岐します。
[ 動作 ]
1) SSP − 4
→ SSP
2) PS
→ (SSP)
3) SSP − 4
→ SSP
4) PC + 2
→ (SSP)
5) "0"
→ I フラグ
6) "0"
→ S フラグ
7) (TBR + 3FCH − 4 × u8)
→ PC
■ INTE 命令の動作
INTE 命令は , 以下のように動作します。
ベクタ番号 #9 のベクタの割込みハンドラへ分岐します。
[ 動作 ]
1) SSP − 4
→ SSP
2) PS
→ (SSP)
3) SSP − 4
→ SSP
4) PC + 2
→ (SSP)
5) 00100B
6) "0"
→ ILM
7) (TBR + 3D8H)
→ PC
→ S フラグ
INTE 命令 , およびステップトレーストラップの処理ルーチン中では , INTE 命令は使用
しないでください。また , ステップ実行中は INTE による EIT の発生はありません。
60
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 3 章 CPU
3.7 EIT ( 例外・割込み・トラップ )
MB91461
■ ステップトレーストラップの動作
PS 中の SCR における T フラグをセットしてステップトレースの機能を許可にしてお
くと , 1 命令実行ごとにトラップが発生してブレークします。
[ ステップトレーストラップ検出の条件 ]
•
T フラグ= 1
•
遅延分岐命令ではないとき
•
INTE 命令 , ステップトレーストラップの処理ルーチン以外を実行中であるとき
以上の条件が成立すると , 命令動作の切れ目でブレークします。
[ 動作 ]
1) SSP − 4
→ SSP
2) PS
→ (SSP)
3) SSP − 4
→ SSP
4) 次の命令のアドレス
→ (SSP)
5) 00100B
6) "0"
→ ILM
7) (TBR + 3CCH)
→ PC
→ S フラグ
T フラグをセットしてステップトレーストラップを許可にしたとき , ユーザ用の NMI
とユーザ割込みは禁止状態となります。また , INTE 命令による EIT は発生しなくなり
ます。
FR ファミリでは , T フラグを設定した次の命令からトラップが発生します。
■ 未定義命令例外の動作
命令のデコード時に未定義命令であることを検出すると , 未定義命令例外が発生しま
す。
[ 未定義命令例外の検出条件 ]
•
命令のデコード時に , 未定義命令であることを検出
•
遅延スロット外に置かれている ( 遅延分岐命令の直後ではない )
以上の条件が成立すると未定義命令例外が発生してブレークします。
[ 動作 ]
1) SSP − 4
→ SSP
2) PS
→ (SSP)
3) SSP − 4
→ SSP
4) PC
→ (SSP)
5) "0"
→ S フラグ
6) (TBR + 3C4H)
→ PC
PC として退避されるのは , 未定義命令例外を検出した命令自身のアドレスです。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
61
第 3 章 CPU
3.7 EIT ( 例外・割込み・トラップ )
MB91461
■ コプロセッサ不在トラップ
実装していないコプロセッサを使用するコプロセッサ命令を実行すると , コプロセッ
サ不在トラップが発生します。
[ 動作 ]
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" の状態で実行する必要があります。
62
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第4章
制御部
制御部について説明します。
4.1 動作モード
4.2 リセット ( デバイス初期化 )
4.3 クロック生成制御
4.4 PLL インタフェース
4.5 デバイス状態制御
4.6 インターバルタイマ
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
63
第 4 章 制御部
4.1 動作モード
4.1
MB91461
動作モード
FR ファミリの動作モードについて説明します。
■ 動作モードの概要
動作モードには , バスモードとアクセスモードがあります。
■ バスモード
バスモードとは, 内部ROMの動作と外部アクセス機能の動作を制御するモードを指し,
モード設定端子 (MD2, MD1, MD0) とモードデータ内の ROMA ビットの内容で指定し
ます。
■ アクセスモード
アクセスモードとは , 外部データバス幅を制御するモードを示し , モードレジスタ内の
WTH1, WTH0 ビットと ACR0 ∼ ACR3 (Area Configuration Register) 内の DBW0 ビット
で指定します。
64
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.1 動作モード
MB91461
4.1.1
バスモード
FR ファミリには , 次に示す 3 つのバスモードがあります。
詳細は「3.1 メモリ空間」を参照してください。
■ バスモード 0 ( シングルチップモード )
内部 I/O, ID-RAM, F-bus ROM (FLASH) が有効で , それ以外の領域へのアクセスは無効
であるモードです。
外部端子はペリフェラル , または汎用ポートの機能を果たします。バス端子としては機
能しません。
( 注意事項 ) MB91461 では使用できません。
■ バスモード 1 ( 内 ROM 外バスモード )
内部 I/O, ID-RAM, F-bus ROM (FLASH) が有効で , 外部アクセスが可能な領域へのアク
セスは外部空間へのアクセスとなるモードです。外部端子の一部は , バス端子として機
能します。
( 注意事項 ) MB91461 では使用できません。
■ バスモード 2 ( 外 ROM 外バスモード )
内部 I/O, ID-RAM が有効で , F-bus ROM (FLASH) へのアクセスを禁止にしてすべての
アクセスが外部空間へのアクセスとなるモードです。外部端子の一部は , バス端子とし
て機能します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
65
第 4 章 制御部
4.1 動作モード
MB91461
モード設定
4.1.2
FR ファミリでは , モード端子 (MD2, MD1, MD0) とモードレジスタ (MODR) で動作
モードの設定を行います。
■ モード端子
MD2, MD1, MD0 の 3 端子で , モードベクタフェッチに関する指定を行います。
表 4.1-1 にモードベクタフェッチに関する指定を示します。
表 4.1-1 モードベクタフェッチに関する指定
モード端子
モード名
リセットベク
タアクセス領
域
備考
MD2
MD1
MD0
0
0
0
内 ROM モードベクタ
内部
MB91461 では設定禁止です *。
0
0
1
外 ROM モードベクタ
外部
バス幅はモードレジスタで設定
*: MD3 は常に "0" に設定してください。ただし , 表に示した設定以外は禁止とします。
<注意事項>
FR ファミリでは , マルチプレックスバスによる外部モードベクタフェッチはサポートし
ていません。
■ モードレジスタ (MODR)
モードベクタフェッチによってモードレジスタに書き込むデータをモードデータとよ
びます。モードベクタフェッチについては , 「4.2.3 リセットシーケンス」を参照して
ください。
モードレジスタ (MODR) に設定が行われた後 , 本レジスタの設定に従った動作モード
で動作します。
モードレジスタは , すべてのリセット要因で設定されます。また , ユーザプログラムか
らは書き込むことはできません。
<参考>
従来の FR ファミリで使用していたモードレジスタのアドレス (000007FFH) には何も存在
しません。
エミュレータモードでは , 書換え可能です。この場合 , 8 ビット長のデータ転送命令を
使用してください。
16/32 ビット長の転送命令では書き込めません。
図 4.1-1 に , モードレジスタ (MODR) を示します。
66
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.1 動作モード
MB91461
〔レジスタ詳細説明〕
図 4.1-1 モードレジスタ (MODR)
MODR
bit
7
6
5
4
3
アドレス:000FFFF8H
0
0
0
0
0
2
1
0
ROMA WTH1 WTH0
初期値
XXXXXXXXB
動作モード設定ビット
[bit7 ∼ bit3] 予約ビット
必ず 00000B を設定してください。
00000B 以外の値を設定したときの動作は保証できません。
[bit2] ROMA : 内部 ROM イネーブルビット
内部 ID-RAM, F-bus ROM (FLASH) 領域を有効にするかどうかを設定します。
ROMA
機 能
0
外 ROM
モード
1
内 ROM
モード
備 考
内蔵 ID-RAM は有効 , 内部 ROM 領域 (40000H ∼
FFFFFH) が外部領域になります。
内蔵 ID-RAM, F-bus ROM (FLASH) が有効になります。
( 注意事項 )MB91461 では "0" に設定してください。
[bit1, bit0] WTH1, WTH0 : バス幅指定ビット
外バスモード時のバス幅指定の設定を行います。
外バスモード時 , この値が AMD0 (CS0 領域 ) の BW1, BW0 ビットに設定されます。
WTH1
WTH0
0
0
8 ビットバス幅
外バスモード
0
1
16 ビットバス幅
〃
1
0
1
1
機 能
―
シングルチップモード
備 考
設定禁止
シングルチップモード
( 注意事項 )MB91461 ではシングルチップモードは使用できません。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
67
第 4 章 制御部
4.1 動作モード
MB91461
<注意事項>
モードベクタに設定するモードデータは , 000FFFF8H にバイトデータとして配置する必
要があります。FR ファミリは , バイトエンディアンとしてビッグエンディアンを採用し
ていますので , 図 4.1-2 のように bit31 ∼ bit24 の最上位バイトに配置してください。
図 4.1-2 モードデータの注意事項
bit 31
誤 000FFFF8H
24 23
XXXXXXXXB
bit 31
正 000FFFF8H
000FFFFCH
68
XXXXXXXXB
24 23
MODR
16 15
XXXXXXXXB
16 15
XXXXXXXXB
8 7
XXXXXXXXB
0
MODR
8 7
0
XXXXXXXXB
Reset Vector
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.2 リセット ( デバイス初期化 )
MB91461
4.2
リセット ( デバイス初期化 )
MB91461 を初期化するリセット動作について説明します。
■ リセット ( デバイス初期化 ) の概要
リセット要因が発生すると , デバイスはすべてのプログラムおよびハードウェア動作
を停止して状態を初期化します。この状態をリセット状態とよびます。
リセット要因の消失により , デバイスは初期状態からプログラムおよびハードウェア
動作を開始します。このリセット状態から動作開始にいたる一連の動作をリセット
シーケンスとよびます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
69
第 4 章 制御部
4.2 リセット ( デバイス初期化 )
4.2.1
MB91461
リセットレベル
リセット動作は , 2 種類のレベルに分かれており , それぞれ発生要因および初期化の
内容が異なります。
ここでは , 各リセットレベルについて説明します。
■ 設定初期化リセット (INIT)
すべての設定を初期化する最強レベルのリセットを設定初期化リセット (INIT) とよび
ます。
設定初期化リセット (INIT) により初期化される主な内容は , 以下のとおりです。
〔設定初期化リセット (INIT) による初期化内容〕
デバイスの動作モード ( バスモードおよび外部バス幅の設定 )
内部クロックに関するすべての設定 ( クロックソース選択 , PLL 制御 , 分周比設定 )
外部バスの CS0 領域に関するすべての設定
その他端子状態に関するすべての設定
動作初期化リセット (RST) で初期化されるすべての内容
詳細はそれぞれの機能の説明を参照してください。
なお , 電源投入後は必ず INITX 端子にて設定初期化リセット (INIT) をかけてください。
■ 動作初期化リセット (RST)
プログラム動作を初期化する通常レベルのリセットを動作初期化リセット (RST) とよ
びます。
設定初期化リセット (INIT) 時には , 同時に動作初期化リセット (RST) も発生します。
動作初期化リセット (RST) により初期化される主な内容は , 以下のとおりです。
〔動作初期化リセット (RST) による初期化内容〕
プログラム動作
CPU および内部バス
周辺回路のレジスタ設定値
I/O ポート設定
外部バスの CS0 領域に関するすべての設定
詳細はそれぞれの機能の説明を参照してください。
70
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.2 リセット ( デバイス初期化 )
MB91461
4.2.2
リセット要因
各リセット発生要因と発生するリセットレベルについて説明します。
過去に発生したリセット要因は , RSRR ( リセット要因レジスタ ) を読み出すことで
確認できます ( 各説明にあるレジスタ , フラグの詳細な説明は , 「4.3.5 クロック生
成制御部のブロックダイヤグラム」および「4.3.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 ( タイムベース
カウンタ制御レジスタ ) 中の bit7:SYNCR ビットが設定されている場合 ( 同期リセット
モード ) , すべてのバスアクセスが停止してからでないと発生しません。
このため, バスの使用状況によっては動作初期化リセット (RST)が発生するまでに長時
間を要する場合があります。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
71
第 4 章 制御部
4.2 リセット ( デバイス初期化 )
MB91461
発生要因
: 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
■ ハードウェアウォッチドッグリセット
INITX 解除後 , ハードウェアウォッチドッグタイマは直ちに動作を開始します。一定期
間タイマがクリアされず , カウンタがオーバフローすると設定初期化リセットが発行
されます。
発生要因
: ハードウェアウォッチドッグタイマの設定周期経過
解除要因
: 設定初期化リセット (INIT) または動作初期化リセット (RST) の発生
発生レベル : 設定初期化リセット (INIT)
対応フラグ : bit10:HWDCS
72
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.2 リセット ( デバイス初期化 )
MB91461
リセットシーケンス
4.2.3
リセット要因の消失により , デバイスはリセットシーケンスの実行を開始します。
リセットシーケンスは , リセットレベルによりそれぞれ動作内容が異なります。
各リセットレベルにおけるリセットシーケンスの動作内容について説明します。
■ 設定初期化リセット (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 ( プログラムカウンタ ) の示す番地よりプログラム動作開始
<注意事項>
STOP およびシャットダウン中以外で発生したリセットについては , これにより RAM の
内容が破壊される場合があります。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
73
第 4 章 制御部
4.2 リセット ( デバイス初期化 )
4.2.4
MB91461
発振安定待ち時間
デバイスの原発振が停止していたか , その可能性がある状態から復帰したとき , 自動
的に発振安定待ち状態に遷移します。
本機能により発振開始後の安定していない発振器出力を使用しないようにします。
発振安定待ち時間中は , 内部および外部へのクロック供給は停止し , 内蔵タイムベー
スカウンタのみが動作して , STCR ( スタンバイ制御レジスタ ) にて設定された安定
待ち時間の経過を待ちます。
発振安定待ち動作の詳細について説明します。
■ 発振安定待ち発生要因
発振安定待ち発生要因を以下に示します。
● 設定初期化リセット (INIT) の解除時
各種要因による設定初期化リセット (INIT) が解除された直後に発振安定待ち状態へ遷
移します。
発振安定待ち時間経過後は , 動作初期化リセット (RST) 状態へ遷移します。
● ストップモードからの復帰時
ストップモードが解除された直後に発振安定待ち状態へ遷移します。ただし , 設定初期
化リセット (INIT) 要求により解除された場合は , 設定初期化リセット (INIT) 状態に遷
移し , 設定初期化リセット (INIT) が解除された後 , 発振安定待ち状態へ遷移します。
発振安定待ち時間の経過後は , ストップモードが解除された要因に対応した状態へと
遷移します。
有効な外部割込み要求入力 (NMI を含む ) による復帰時 : 通常動作状態へ遷移します。
設定初期化リセット (INIT) 要求による復帰時 : 動作初期化リセット (RST) 状態へ遷移
します。
● PLL 選択時の異常状態の発生からの復帰時
PLL をソースクロックとして動作しているときに PLL 制御に何らかの異常 * が発生し
た場合 , PLL ロックタイムの確保のために自動的に発振安定待ち時間に遷移します。
発振安定待ち時間の経過後は , 通常動作状態へ遷移します。
* : PLL 使用中の逓倍率変更や PLL 動作許可ビット化けの発生など。
● ハードウェアウォッチドッグリセット発生時
ハードウェアウォッチドッグリセットが発生した場合 , 原発振クロックの 1024 サイク
ルの間 , 内部リセットが発行されます。このリセットにより , STCR レジスタの OS1,
OS0 ビットが "0" ( 初期値 ) になるため , 発振安定待ちは行いません。
74
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.2 リセット ( デバイス初期化 )
MB91461
● シャットダウンモードからの復帰時
シャットダウンモードが解除された直後に発振安定待ち状態へ遷移します。ただし , 設
定初期化リセット (INIT) 要求により解除された場合は , 設定初期化リセット (INIT) 状
態に遷移し , 設定初期化リセット (INIT) が解除された後 , 発振安定待ち状態へ遷移しま
す。
発振安定待ち時間は , 外部発振器または内蔵発振回路からの信号を 218 分周した時間が
適用されます。
■ 発振安定待ち時間の選択
発振安定待ち時間は , 内蔵タイムベースカウンタを用いて計測されます。
発振安定待ち発生要因が発生し , 発振安定待ち状態へ遷移すると , 内蔵タイムベースカ
ウンタはいったん初期化された後 , 発振安定待ち時間の計測を開始します。
STCR ( スタンバイ制御レジスタ ) の bit3, bit2:OS1, OS0 ビットにより , 発振安定待ち時
間を 4 種類のうちから選択して設定することができます。
いったん選択した設定は , 外部 INITX 端子による設定初期化リセット (INIT), シャット
ダウンモードからの復帰 , ハードウェアウォッチドッグリセットで初期化されます。そ
れ以外のウォッチドッグリセットによる設定初期化リセット (INIT) や動作初期化リ
セット (RST) では , リセット発生以前に設定した発振安定待ち時間が保持されます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
75
第 4 章 制御部
4.2 リセット ( デバイス初期化 )
4.2.5
MB91461
リセット動作モード
動作初期化リセット (RST) には , 通常 ( 非同期 ) リセットモードと同期リセットモー
ドの 2 つのモードがあり , TBCR ( タイムベースカウンタ制御レジスタ ) 中の
bit9:SYNCR ビットによってどちらのモードで動作するかを設定します。
本モード設定は , 設定初期化リセット (INIT) のみで初期化されます。
設定初期化リセット (INIT) は , 常に非同期でリセット動作を行います。
各モード動作について説明します。
■ 通常リセット動作
動作初期化リセット (RST) 要求が発生した際に , 即座に動作初期化リセット (RST) 状態
への遷移を行う動作を通常リセット動作とよびます。
本モードにおいては , リセット (RST) 要求が受け付けられると , 内部バスアクセスの動
作状態にかかわらず , 即時にリセット (RST) 状態へ遷移します。
本モードでは , 各状態へ遷移する時点で行われていたバスアクセスについては , その結
果を保証できません。しかし , それら要求を確実に受け付けることが可能です。
TBCR ( タイムベースカウンタ制御レジスタ ) 中の bit9:SYNCR ビットが "0" のとき ,
通常リセットモードとなります。
設定初期化リセット (INIT) の発生後の初期値は , 通常リセットモードとなります。
■ 同期リセット動作
動作初期化リセット(RST)要求が発生した際に, すべてのバスアクセスが停止してから
動作初期化リセット (RST) 状態への遷移を行う動作を同期リセット動作とよびます。
本モードにおいては , リセット (RST) 要求が受け付けられても , 内部バスアクセスが行
われている間は , リセット (RST) 状態への遷移は行いません。
上記要求が受け付けられると , それにより内部バスに対してスリープ要求が発行され
ます。各バスが動作を切り上げてスリープ状態に移行すると , 動作初期化リセット
(RST) 状態へ遷移します。
本モードでは , 各状態へ遷移する時点ではすべてのバスアクセスが停止しているため ,
すべてのバスアクセスの結果を保証できます。
しかし , バスアクセスが何らかの理由により停止しない場合 , その間 , 各要求を受け付
けることができなくなります ( このような場合でも , 設定初期化リセット (INIT) は直ち
に有効となります ) 。
バスアクセスが停止しない要因には以下のものがあげられます。
76
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
MB91461
第 4 章 制御部
4.2 リセット ( デバイス初期化 )
<参考>
• DMA コントローラについては , 各要求の受付けにより転送停止を行いますので , 各状
態への遷移を遅延させることはありません。
• TBCR ( タイムベースカウンタ制御レジスタ ) 中の bit9:SYNCR ビットが "1" のとき , 同
期リセットモードとなります。
• 同期モードのソフトウェアリセットの使用に関してはTBCR (タイムベースカウンタ制
御レジスタ ) の bit9:SYNCR ビットの注意事項を参照してください。
設定初期化リセット (INIT) の発生後の初期値は , 通常リセットモードに戻ります。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
77
第 4 章 制御部
4.3 クロック生成制御
4.3
MB91461
クロック生成制御
クロック生成制御について説明します。
■ 内部動作クロックの生成
内部動作クロックは , 以下のようにして生成されます。
ソースクロック :
X0/X1 端子または内蔵発振回路からの信号を 2 分周したクロックです。
ベースクロックの生成 :
ソースクロックの 2 分周クロックまたは PLL 発振クロックのいずれかを選択し
て基本クロックを生成します。
各内部クロックの生成 :
ベースクロックを分周し , 各部に供給する 4 種類の動作クロックを生成します。
以降 , 各クロック生成とその制御について説明します。
各説明にあるレジスタ , フラグの詳細な説明は , 「4.3.5 クロック生成制御部のブロッ
クダイヤグラム」および「4.3.6 クロック生成制御部のレジスタ詳細説明」を参照して
ください。
■ クロックの選択
ソースクロックの選択について説明します。
外部発振端子である X0/X1 端子入力に発振子を接続し , 内蔵発振回路にて発振し , これ
を 2 分周した信号がソースクロックとなります。
外部バスクロックを含むすべてのクロック供給源は , MB91461 自身となります。
内部ベースクロックは , 以下のクロックのうちから選択して生成します。
• ソースクロックを 2 分周したもの
• 内蔵発振回路または X0/X1 端子から直接入力されたクロックを PLL で逓倍したもの
クロックの選択制御は , CLKR ( クロックソース制御レジスタ ) の設定によって行いま
す。
78
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.3 クロック生成制御
MB91461
PLL 制御
4.3.1
メインクロックに対応した PLL 発振回路について , 動作 ( 発振 ) 許可・禁止と逓倍
率設定を制御することが可能です。
各制御は , CLKR ( クロックソース制御レジスタ ) , PLLDIVM, PLLDIVN( 逓倍率設定
レジスタ ) の設定によって行います。以下に , 各制御内容について説明します。
■ PLL 動作許可
メイン PLL 発振動作の許可 / 停止は , CLKR ( クロックソース制御レジスタ ) の bit10:
PLL1EN ビットの設定によって行います。
PLL1EN は , 設定初期化リセット (INIT) 後は "0" に初期化され , PLL の発振動作は停止
しています。停止中は , クロックソースとして PLL 出力を選択することはできません。
プログラム動作を開始したら , まず , クロックソースとして使用する PLL の逓倍率を
設定しかつ動作許可した後 , PLL のロック待ち時間の経過後にクロックを切り換えて
ください。この際の PLL ロック待ち時間は , タイムベースタイマ割込みを使用するこ
とをお奨めします。
ベースクロックとして PLL 出力を選択している間は , その PLL は動作停止させること
はできません ( レジスタへの書込みは無効となります ) 。ストップモードに移行する際
などで PLL を停止させたい場合は , いったんベースクロックをソースクロックの 2 分
周したものに選択し直した後 , PLL を停止させてください。
なお , STCR ( スタンバイ制御レジスタ ) の bit0:OSCD1 ビットや bit1:OSCD2 ビットに
より , ストップモード中の発振が停止するように設定してある場合 , PLL はストップ
モード遷移時に自動的に停止しますので , 動作停止を改めて設定する必要はありませ
ん。その後 , ストップモードから復帰する際 , PLL は自動的に発振動作を開始します。
ストップモード中の発振が停止しないように設定してある場合は , PLL は自動では停
止しません。この場合は , 必要であればストップモード移行前にあらかじめ動作停止を
設定してください。
■ PLL 逓倍率
PLL の逓倍率は , PLLDIVM/PLLDIVN レジスタによって設定します。
どちらのレジスタも設定初期化リセット(INIT)後は全ビット"0"に初期化されています。
〔PLL 逓倍率設定〕
PLL 逓倍率設定を初期値より変更する場合 , プログラム動作開始後 , PLL を動作許
可する前に設定してください。逓倍率変更後は , ロック待ち時間の経過後にクロッ
クを切り換えてください。この際の PLL ロック待ち時間は , タイムベースタイマ割
込みを使用することをお奨めします。
動作中に PLL 逓倍率設定を変更する場合 , いったんクロックを該当 PLL 以外に切り
換えてから変更してください。逓倍率変更後は , 上記同様にロック待ち時間の経過
後にクロックを切り換えてください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
79
第 4 章 制御部
4.3 クロック生成制御
4.3.2
MB91461
発振安定待ち・PLL ロック待ち時間
ソースクロックとして選択するクロックが安定動作状態にない場合 , 発振安定待ち
時間が必要となります (「4.2.4 発振安定待ち時間」を参照 ) 。
PLL については , 動作開始後 , 設定された周波数に出力が安定するまでにはロック待
ち時間が必要となります。
各種ケースにおける待ち時間について説明します。
■ 電源投入後の待ち時間
電源投入後は , INITX 端子入力 ( 設定初期化リセット端子 ) へ "L" レベルを入力する必
要があります。この状態においては , PLL は動作許可されていないため , ロック待ち時
間はここでは考慮する必要がありません。
■ 設定初期化後の待ち時間
設定初期化リセット (INIT) が解除されると , 発振安定待ち状態へ遷移します。ここで
は , 設定された発振安定待ち時間を内部的に発生します。
この状態において , PLL は動作許可されていないため , ロック待ち時間はここでは考慮
する必要がありません。
■ PLL 動作許可後の待ち時間
プログラム動作開始後 , 停止状態の PLL を動作許可した場合 , ロック待ち時間が経過
しないとその PLL 出力を使用してはいけません。
クロックソースとして PLL を選択していなければ , ロック待ち時間中もプログラム動
作は実行可能です。
この際の PLL ロック待ち時間は , タイムベースタイマ割込みを使用してください。
■ PLL 逓倍率変更後の待ち時間
プログラム動作開始後 , 動作状態の PLL の逓倍率設定を変更した場合も , ロック待ち
時間が経過しないとその PLL 出力を使用してはいけません。
クロックソースとして PLL を選択していなければ , ロック待ち時間中もプログラム動
作は実行可能です。
この際の PLL ロック待ち時間に , タイムベースタイマ割込みを使用できます。
80
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.3 クロック生成制御
MB91461
■ ストップモード復帰後の待ち時間
プログラム動作開始後 , ストップモードに遷移した場合の解除時には , プログラムにて
設定された時間の発振安定待ち時間を内部的に発生します。
ストップモード中に , クロックソースのクロック用発振回路を停止させる設定であっ
た場合は , その発振回路の発振安定待ち時間と PLL のロック待ち時間のうち長い方の
時間が必要となります。ストップモードに遷移させる前に , あらかじめその発振安定待
ち時間を設定しておいてください。
ストップモード中に , クロックソースのクロック用発振回路を停止させない設定で
あった場合は , PLL は自動で動作を停止しません。したがって , PLL を停止させない限
り発振安定待ち時間は必要となりません。ストップモードに遷移させる前に , あらかじ
め発振安定待ち時間を最小値に設定してください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
81
第 4 章 制御部
4.3 クロック生成制御
4.3.3
MB91461
クロック分配
選択されたクロックから生成されたベースクロックを元に , 各機能用の動作クロッ
クをそれぞれ作成します。
内部動作クロックは全部で 3 種類あり , それぞれが独立に分周比を設定することが
できます。
各内部動作クロックについて説明します。
■ CPU クロック (CLKB)
CPU と内部メモリおよび内部バスに使用されるクロックです。
本クロックを使用する回路には , 以下のようなものがあります。
• CPU
• 内蔵 RAM
• ビットサーチモジュール
• I-bus, D-bus, X-bus, F-bus
• DMA コントローラ
• DSU
動作可能な上限周波数は 80MHz ですので , これを超える周波数になる逓倍率と分周比
の組合せは設定しないでください。
■ 周辺クロック (CLKP)
周辺回路およびペリフェラルバスに使用されるクロックです。
本クロックを使用する回路には , 以下のようなものがあります。
• ペリフェラル ( 周辺 ) バス
• クロック制御部 ( バスインタフェース部のみ )
• 割込みコントローラ
• 周辺 I/O ポート
• I/O ポートバス
• 外部割込み入力
• UART
• 16 ビットタイマ
• A/D コンバータ
• フリーランタイマ
• リロードタイマ
• アップダウンカウンタ
• インプットキャプチャ
• アウトプットコンペア
• I2C インタフェース
• PPG
82
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.3 クロック生成制御
MB91461
動作可能な上限周波数は 20MHz ですので , これを超える周波数になる逓倍率と分周比
の組合せは設定しないでください。
■ 外部バスクロック (CLKT)
外部拡張バスインタフェースに使用されるクロックです。
本クロックを使用する回路には , 以下のようなものがあります。
• 外部拡張バスインタフェース
• 外部クロック出力
動作可能な上限周波数は 40MHz ですので , これを超える周波数になる逓倍率と分周比
の組合せは設定しないでください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
83
第 4 章 制御部
4.3 クロック生成制御
MB91461
クロック分周
4.3.4
各内部動作クロックは , それぞれ独立にベースクロックからの分周比を設定するこ
とができます。この機能により , 各回路に最適な動作周波数を設定することができ
ます。
■ 分周比の設定
分周比は , DIVR0 ( 基本クロック分周設定レジスタ 0) および DIVR1 ( 基本クロック分
周設定レジスタ 1) にて設定します。
各レジスタには各クロックに対応する 4 ビットずつの設定ビットがあり , ( レジスタ設
定値+ 1) がそのクロックのベースクロックに対する分周比となります。分周比設定が
奇数であっても , 常にデューティ比は 50% となります。
設定値の変更があった場合 , 設定後次のクロックの立上りから変更後の分周比が有効
となります。
■ 分周比設定の初期化
分周比設定は , 動作初期化リセット (RST) の発生では初期化されず , リセット発生前の
設定が維持されます。設定初期化リセット (INIT) の発生によってのみ初期化されます。
初期状態では , 周辺クロック (CLKP) 以外はすべて分周比が "1" となりますので , クロッ
クソースを高速なものに変更する前に必ず分周比の設定を行ってください。
<注意事項>
各クロックには動作可能な上限周波数が規定されています。クロックソースの選択 , PLL
の逓倍率の設定 , 分周比の設定の組合せで , 上限周波数を超える設定をした場合 , 動作は
保証されません。特に , クロックソース選択の変更設定との順序を間違えないように注意
してください。
84
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.3 クロック生成制御
MB91461
クロック生成制御部のブロックダイヤグラム
4.3.5
図 4.3-1 に , クロック生成制御部のブロックダイヤグラムを示します。
図中のレジスタの詳細な説明は , 「4.3.6 クロック生成制御部のレジスタ詳細説明」
を参照してください。
■ クロック生成制御部のブロックダイヤグラム
図 4.3-1 クロック生成制御部のブロックダイヤグラム
外部バスクロック分周
CPUクロック
周辺クロック
外部バスクロック
CLKRレジスタ
発振回路
セレクタ
X0
X1
セレクタ
周辺クロック分周
停止制御
CPUクロック分周
セレクタ
DIVR0,DIVR1レジスタ
セレクタ
R-bus
[クロック生成部]
1/2
ソースクロック
PLL
ベースクロック
1/2
ハードウェア
ウォッチドッグ
[ストップ・スリープ制御部]
内部割込み
ストップ状態
STGRレジスタ
内部リセット
状態遷移
制御回路
スリープ状態
リセット発生
F/F
リセット発生
F/F
内部リセット(RST)
内部リセット(INIT)
[リセット要因回路]
INITX端子
RSRRレジスタ
[ ウォッチドッグ制御部]
WPRレジスタ
ウォッチドッグF/F
タイムベースカウンタ
カウンタクロック
CTBRレジスタ
セレクタ
TBCRレジスタ
オーバフロー検出F/F
割込み許可
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
タイムベースタイマ
割込み要求
85
第 4 章 制御部
4.3 クロック生成制御
MB91461
クロック生成制御部のレジスタ詳細説明
4.3.6
クロック生成制御部のレジスタについて説明します。
■ RSRR : リセット要因レジスタ / ウォッチドッグタイマ制御レジスタ
図 4.3-2 に , リセット要因レジスタおよびウォッチドッグタイマ制御レジスタのレジス
タ構成を示します。
図 4.3-2 リセット要因レジスタおよびウォッチドッグタイマ制御レジスタのレジスタ構成
RSRR
bit
アドレス : 000480H
リード / ライト
初期値 (INITX 端子 )
初期値 (INIT)
初期値 (RST)
15
14
13
12
11
10
9
8
INIT
R
1
*
X
予約
R
X
X
X
WDOG
R
0
*
X
予約
R
X
X
X
SRST
R
0
X
*
予約
R
X
X
X
WT1
R/W
0
0
0
WT0
R/W
0
0
0
*: 要因により初期化されます。
X: 初期化されません。
直前に発生したリセットの要因の保持 , およびウォッチドッグタイマの周期設定
および起動制御を行うレジスタです。
本レジスタを読むと , 保持されたリセット要因は読出し後にクリアされます。読み出す
までの間に複数回のリセットが発生した場合 , リセット要因フラグは累積され , 複数の
フラグが設定されることになります。
本レジスタに書き込むと , ウォッチドッグタイマが起動されます。それ以降は , リセッ
ト (RST) が発生するまで , ウォッチドッグタイマは動作を続けます。
[bit15] INIT : 外部リセット発生フラグ
INITX 端子入力によるリセット (INIT) の発生の有無を示します。
値
内 容
0
INITX 端子入力による INIT は発生していません。
1
INITX 端子入力による INIT が発生しました。
読出し直後に "0" にクリアされます。
読出し可能で , 書込みはビット値に影響を与えません。
電源投入時には , 8ms 以上 INITX 端子へ "L" レベルを印加してください。それ以下
の場合ではフラグが設定されない場合があります。
[bit14] 予約 : 予約ビット
予約ビットです。
86
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.3 クロック生成制御
MB91461
[bit13] WDOG : ウォッチドッグリセット発生フラグ
ウォッチドッグタイマによるリセット (INIT) の発生の有無を示します。
値
内 容
0
ウォッチドッグタイマによる INIT は発生していません。
1
ウォッチドッグタイマによる INIT が発生しました。
電源投入時の INITX 端子入力によるリセット (INIT), または読出し直後に "0" にク
リアされます。
読出し可能で , 書込みはビット値に影響を与えません。
[bit12] 予約 : 予約ビット
予約ビットです。
[bit11] SRST : ソフトウェアリセット発生フラグ
STCRレジスタのSRSTビット書込み (ソフトウェアリセット) によるリセット(RST)
の発生の有無を示します。
値
内 容
0
ソフトウェアリセットによる RST は発生していません。
1
ソフトウェアリセットによる RST が発生しました。
電源投入時の INITX 端子入力によるリセット (INIT), または読出し直後に "0" にク
リアされます。
読出し可能で , 書込みはビット値に影響を与えません。
[bit10] 予約 : 予約ビット
予約ビットです。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
87
第 4 章 制御部
4.3 クロック生成制御
MB91461
[bit9, bit8] WT1, WT0 : ウォッチドッグタイマインターバル時間選択ビット
ウォッチドッグタイマの周期を設定します。
本ビットに書き込む値により , ウォッチドッグタイマの周期を下表に示す 4 種類の
うちから選択します。
ウォッチドッグリセットの
発生を抑止するために最低限
必要な WPR への書込み間隔
WPR への最終 5AH 書込みか
らウォッチドッグリセットが
発生するまでの時間
WT1
WT0
0
0
φ × 216 ( 初期値 )
φ × 216 ∼ φ × 217
0
1
φ × 218
φ × 218 ∼ φ × 219
1
0
φ × 220
φ × 220 ∼ φ × 221
1
1
φ × 222
φ × 222 ∼ φ × 223
(φ はベースクロックの周期 )
リセット (RST) により 00B に初期化されます。
読出し可能です。書込みはリセット (RST) 後 1 回のみ有効で , それ以降の書込みは
無効です。
88
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.3 クロック生成制御
MB91461
■ STCR : スタンバイ制御レジスタ
図 4.3-3 に , スタンバイ制御レジスタのレジスタ構成を示します。
図 4.3-3 スタンバイ制御レジスタのレジスタ構成
STCR
bit
アドレス : 000481H
7
6
STOP SLEEP
5
4
3
2
1
0
HIZ
SRST
OS1
OS0
予約
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
リード / ライト
デバイスの動作モードを制御するレジスタです。
ストップ , スリープの 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-10159-2
FUJITSU MICROELECTRONICS LIMITED
89
第 4 章 制御部
4.3 クロック生成制御
MB91461
[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 ビットの注意事項を参照してください。
90
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.3 クロック生成制御
MB91461
[bit3, bit2] OS1, OS0 : 発振安定待ち時間選択ビット
リセット (INIT) 後 , およびストップモード復帰後などにおける , 発振安定待ち時間
を設定します。
本ビットに書き込む値により , 発振安定待ち時間を下表に示す 4 種類のうちから選
択します。
OS1
OS0
発振安定待ち時間
原発振 18MHz の場合
0
0
φ × 21 [ 初期値 ]
0.44 μs
0
1
φ × 211
0.46 ms
1
0
φ × 216
14.6 ms
1
1
φ × 222
0.93 s
φ はベースクロックの周期
INITX 端子入力によるリセット (INIT) により 00B に初期化されます。
読出しおよび書込みが可能です。
[bit1] 予約 : 予約ビット
予約ビットです。
[bit0] OSCD1 : 発振停止ビット
ストップモード時での発振回路の発振停止を制御します。
値
内 容
0
ストップモード中も発振は停止しません。
1
ストップモード中は発振を停止します。[ 初期値 ]
リセット (INIT) により "1" に初期化されます。
読出しおよび書込みが可能です。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
91
第 4 章 制御部
4.3 クロック生成制御
MB91461
■ TBCR : タイムベースカウンタ制御レジスタ
図 4.3-4 に , タイムベースカウンタ制御レジスタのレジスタ構成を示します。
図 4.3-4 タイムベースカウンタ制御レジスタのレジスタ構成
TBCR
bit
アドレス : 000482H
リード / ライト
初期値 (INIT)
初期値 (RST)
15
14
13
12
11
TBIF
R/W
TBIE
R/W
TBC2
R/W
TBC1
R/W
TBC0
R/W
10
9
8
予約
R/W
0
0
X
X
X
X
0
0
0
0
X
X
X
X
X
X
SYNCR SYNCS
R/W
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" に初期化されます。
読出しおよび書込みが可能です。
92
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.3 クロック生成制御
MB91461
[bit13 ∼ bit11] TBC2, TBC1, TBC0 : タイムベースタイマカウンタ選択ビット
タイムベースタイマで使用するタイムベースカウンタのインターバル時間を設定
します。
本ビットに書き込む値により , インターバル時間を下表に示す 8 種類のうちから選
択します。
TBC2
TBC1
TBC0
タイマインターバル時間
原発振 18MHz かつ
PLL が 4 逓倍の場合
0
0
0
φ × 211
28.4 μs
0
0
1
φ × 212
56.9 μs
0
1
0
φ × 213
114 μs
0
1
1
φ × 222
58.3 ms
1
0
0
φ × 223
117 ms
1
0
1
φ × 224
233 ms
1
1
0
φ × 225
466 ms
1
1
1
φ × 226
932 ms
φ はベースクロックの周期
初期値は不定です。割込みを許可する前に必ず値を設定してください。
読出しおよび書込みが可能です。
[bit10] 予約 : 予約ビット
予約ビットです。読出し値は不定で , 書込みは動作に影響を与えません。
[bit9] SYNCR : 同期リセットイネーブルビット
同期リセット動作許可ビットです。
動作初期化リセット (RST) 要求が発生した際に , 直ちにリセット (RST) を行う通常
リセット動作を行うか , すべてのバスアクセスが停止してから動作初期化リセット
(RST) を行う同期リセット動作を行うかを選択します。
値
内 容
0
通常リセット動作 [ 初期値 ]
1
同期リセット動作
リセット (INIT) により "0" に初期化されます。
読出しおよび書込みが可能です。MB91461 では同期リセットのみをサポートしてい
るため , このレジスタに書き込む場合はこのビットに "1" を設定してください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
93
第 4 章 制御部
4.3 クロック生成制御
MB91461
<注意事項>
同期モードのソフトウェアリセットを使用するときは , STCR ( スタンバイ制御レジスタ )
の SRST ビットに "0" を設定する前に , 以下の 2 つの条件を必ず満たしてください。
• 割込み許可フラグ (I) を割込み禁止 (I = 0) に設定する。
• NMI を使用しない。
[bit8] SYNCS : 同期スタンバイ許可ビット
同期スタンバイ動作許可ビットです。
スタンバイ要求 ( スリープモード要求またはストップモード要求 ) を発生する際 ,
STCR レジスタの制御ビットへの書込みのみでスタンバイ遷移を行う通常スタンバ
イ動作を行うか , STCR レジスタの制御ビットへの書込み後に STCR レジスタを読
み出すことによってスタンバイ遷移を行う同期スタンバイ動作を行うかを選択し
ます。
値
内 容
0
通常スタンバイ動作 [ 初期値 ]
1
同期スタンバイ動作
リセット (INIT) により "0" に初期化されます。
<注意事項>
スタンバイモードに遷移する際には , 必ず "1" を設定し , 同期スタンバイ動作としてくだ
さい。
94
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.3 クロック生成制御
MB91461
■ CTBR : タイムベースカウンタクリアレジスタ
図 4.3-5 に , タイムベースカウンタクリアレジスタのレジスタ構成を示します。
図 4.3-5 タイムベースカウンタクリアレジスタのレジスタ構成
CTBR
bit
アドレス : 000483H
リード / ライト
初期値
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
W
X
W
X
W
X
W
X
W
X
W
X
W
X
W
X
タイムベースカウンタを初期化するためのレジスタです。
本レジスタに連続して A5H, 5AH を書き込むと , 5AH 書込みの直後にタイムベースカウ
ンタを全ビット "0" にクリアします。A5H 書込みと 5AH 書込みの間の時間制限はあり
ませんが , A5H 書込みの後に 5AH 以外のデータを書き込むと , 再度 A5H を書き込まな
いと 5AH を書き込んでもクリア動作を行いません。
本レジスタの読出し値は不定です。
<注意事項>
本レジスタを使用してタイムベースカウンタをクリアすると , 発振安定待ち間隔 , ウォッ
チドッグタイマ周期 , およびタイムベースタイマの周期が一時的に変動します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
95
第 4 章 制御部
4.3 クロック生成制御
MB91461
■ CLKR : クロックソース制御レジスタ
図 4.3-6 に , クロックソース制御レジスタのレジスタ構成を示します。
図 4.3-6 クロックソース制御レジスタのレジスタ構成
CLKR
bit
アドレス : 000484H
リード / ライト
初期値 (INIT)
初期値 (RST)
15
14
13
12
予約
R/W
0
X
予約
R/W
0
X
予約
R/W
0
X
予約
R/W
0
X
11
10
9
8
SCKEN PLL1EN CLKS1 CLKS0
R/W
R/W
R/W
R/W
0
0
0
0
X
X
X
X
システムのベースクロックとするクロックソースの選択や PLL の制御を行うレジスタ
です。本レジスタにてクロックソースを 2 種類のうちから選択します。
[bit15 ∼ bit12] 予約 : 予約ビット
予約ビットです。必ず "0" を設定してください。
[bit11] SCKEN : サブクロック選択許可ビット
サブクロックの選択を許可するビットです。サブクロックがクロックソースとして
選択されている (CLKS1, CLKS0 = 11B) 間にサブクロック選択許可ビット (SCKEN)
を変更することは , 禁止されています ( 結果は保証されません ) 。メインクロック
が選択されている場合以外は , 設定を変更しないでください。( クロックソースの変
更方法については , クロックソース選択ビット (CLKS1, CLKS0) の説明を参照して
ください。) このビットは MB91461 には搭載されていません。MB91461 の場合は
予約ビットとなります。
値
内 容
0
サブクロック選択禁止 [ 初期値 ]
1
サブクロック選択許可
[bit10] PLL1EN : PLL 許可ビット
PLL の動作許可ビットです。本ビットは , クロックソースとして PLL を選択してい
る間は書換えをしないでください。また , 本ビットが "0" の間はクロックソースと
して PLL を選択しないでください (bit9, bit8:CLKS1, CLKS0 ビットの設定による ) 。
STCR の bit0:OSCD1 が "1" であると , ストップモード中は本ビットが "1" であって
も PLL は停止します。ストップモードからの復帰後は動作許可に戻ります。
値
内 容
0
PLL 停止 [ 初期値 ]
1
PLL 動作許可
リセット (INIT) により "0" に初期化されます。読出しおよび書込みが可能です。
96
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.3 クロック生成制御
MB91461
[bit9, bit8] CLKS1, CLKS0 : クロックソース選択ビット
使用するクロックソースを設定します。
本ビットに書き込む値により , クロックソースを下表に示す 2 種類のうちから選択
します。
なお , bit9:CLKS1 が "1" の間は bit8:CLKS0 の値を変更することができません。
表 4.3-1 クロックソース選択ビットの変更例
変更可能な組合せ
変更不可能な組合せ
00B → 01B または 10B
00B → 11B
01B → 11B または 00B
01B → 10B
10B → 00B
10B → 01B または 11B
11B → 01B
11B → 00B または 10B
CLKS1
CLKS0
0
0
X0/X1 からの原発振入力の 4 分周 [ 初期値 ]
0
1
X0/X1 からの原発振入力の 4 分周
1
0
PLL( メインクロック )
1
1
サブクロック ( 設定禁止 )
クロックソース設定
リセット (INIT) により 00B に初期化されます。
読出しおよび書込みが可能です。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
97
第 4 章 制御部
4.3 クロック生成制御
MB91461
■ WPR : ウォッチドッグリセット発生延期レジスタ
図 4.3-7 に , ウォッチドッグリセット発生延期レジスタのレジスタ構成を示します。
図 4.3-7 ウォッチドッグリセット発生延期レジスタのレジスタ構成
WPR
bit
アドレス : 000485H
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
W
X
W
X
W
X
W
X
W
X
W
X
W
X
W
X
リード / ライト
初期値
ウォッチドッグリセットの発生を延期するためのレジスタです。
本レジスタに連続して A5H, 5AH を書き込むと , 5AH 書込みの直後にウォッチドッグタ
イマの検出用 F/F をクリアし , ウォッチドッグリセットの発生を延期します。
A5H 書込みと 5AH 書込みの間の時間制限はありませんが , A5H 書込みの後に 5AH 以外
のデータを書き込んだ場合 , 再度 A5H を書き込まないと 5AH を書き込んでもクリア動
作を行いません。
以下に , ウォッチドッグリセット発生に関する時間間隔と RSRR レジスタの値の関係
を示します。
この期間内に両データの書込みを終えないとウォッチドッグリセットを発生します。
ウォッチドッグリセット発生までの時間や発生抑止のために必要な書込み間隔は ,
RSRR レジスタの WT1 (bit9) , WT0 (bit8) の状態によって変化します。
表 4.3-2 ウォッチドックリセット発生のインターバル時間
RSRR のウォッチドッグリセッ
トの発生を抑止するために最低
限必要な WPR への書込み間隔
WPR への最終 5AH 書込みから
WT1
WT0
0
0
φ × 216 [ 初期値 ]
φ × 216 ∼ φ × 217
0
1
φ × 218
φ × 218 ∼ φ × 219
1
0
φ × 220
φ × 220 ∼ φ × 221
1
1
φ × 222
φ × 222 ∼ φ × 223
ウォッチドッグリセットが
発生するまでの時間
φはベースクロックの周期, WT1, WT0はRSRRのbit9, bit8でウォッチドッグタイマ周
期設定。
ストップ , スリープ , DMA 転送中など , CPU が動作していない間は自動的にクリアを
行いますので , これらの条件が発生すると , ウォッチドッグリセットは自動的に延期さ
れます。
ただし , 外部バスのホールド要求 (BRQ) が受け付けられている場合ではウォッ
チドッグリセットは延期されませんので , 長期間外部バスをホールドする場合はス
リープモードにしてからホールド要求 (BRQ) を入力してください。
本レジスタの読出し値は不定です。
98
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.3 クロック生成制御
MB91461
■ DIVR0 : 基本クロック分周設定レジスタ 0
図 4.3-8 に , 基本クロック分周設定レジスタ 0 のレジスタ構成を示します。
図 4.3-8 基本クロック分周設定レジスタ 0 のレジスタ構成
DIVR0
bit
アドレス : 000486H
リード / ライト
初期値 (INIT)
初期値 (RST)
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
の逓倍率の設定 , 分周比の設定の組合せで , 上限周波数を超える設定をした場合 , 動作は
保証されません。特にクロックソース選択の変更設定との順序を間違えないように注意し
てください。
本レジスタの設定の変更があった場合 , 設定後 , 次のクロックレートから変更後の分周
比が有効となります。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
99
第 4 章 制御部
4.3 クロック生成制御
MB91461
[bit15 ∼ bit12] B3, B2, B1, B0 : CLKB 分周選択ビット
CPU クロック (CLKB) のクロック分周比設定ビットです。CPU と内部メモリおよび
内部バスのクロック (CLKB) のクロック分周比を設定します。
本ビットに書き込む値により , CPU および内部バスのクロックのベースクロックに
対する分周比 ( クロック周波数 ) を下表に示す 16 種類のうちから選択します。
動作可能な上限周波数は 80 MHz ですので , これを超える周波数になる分周比は設
定しないでください。
クロック周波数 : 原発振 18 MHz
および PLL4 逓倍の場合
B3
B2
B1
B0
0
0
0
0
φ
72.0 MHz [ 初期値 ]
0
0
0
1
φ × 2 (2 分周 )
36.0 MHz
0
0
1
0
φ × 3 (3 分周 )
24.0 MHz
0
0
1
1
φ × 4 (4 分周 )
18.0 MHz
0
1
0
0
φ × 5 (5 分周 )
14.4 MHz
0
1
0
1
φ × 6 (6 分周 )
12.0 MHz
0
1
1
0
φ × 7 (7 分周 )
10.3 MHz
0
1
1
1
φ × 8 (8 分周 )
9.0 MHz
…
…
…
…
…
1
1
1
1
φ × 16 (16 分周 )
クロック分周比
…
4.5 MHz
φ はベースクロックの周期
リセット (INIT) により 0000B に初期化されます。
読出しおよび書込みが可能です。
100
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.3 クロック生成制御
MB91461
[bit11 ∼ bit8] P3, P2, P1, P0 : CLKP 分周選択ビット
周辺クロック (CLKP) クロック分周比設定ビットです。
周辺回路およびペリフェラルバスのクロック (CLKP) のクロック分周比を設定しま
す。
本ビットに書き込む値により , 周辺回路およびペリフェラルバスのクロックのベー
スクロックに対する分周比 ( クロック周波数 ) を下表に示す 16 種類のうちから選択
します。
動作可能な上限周波数は 20MHzですので , これを超える周波数になる分周比は設定
しないでください。
クロック周波数 : 原発振 18 MHz
および PLL4 逓倍の場合
P3
P2
P1
P0
0
0
0
0
φ
72.0 MHz
0
0
0
1
φ × 2 (2 分周 )
36.0 MHz
0
0
1
0
φ × 3 (3 分周 )
24.0 MHz
0
0
1
1
φ × 4 (4 分周 )
18.0 MHz [ 初期値 ]
0
1
0
0
φ × 5 (5 分周 )
14.4 MHz
0
1
0
1
φ × 6 (6 分周 )
12.0 MHz
0
1
1
0
φ × 7 (7 分周 )
10.3 MHz
0
1
1
1
φ × 8 (8 分周 )
9.0 MHz
…
…
…
…
…
1
1
1
1
φ × 16 (16 分周 )
クロック分周比
…
4.5 MHz
φ はベースクロックの周期
リセット (INIT) により 0011B に初期化されます。
読出しおよび書込みが可能です。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
101
第 4 章 制御部
4.3 クロック生成制御
MB91461
■ DIVR1 : 基本クロック分周設定レジスタ 1
図 4.3-9 に , 基本クロック分周設定レジスタ 1 のレジスタ構成を示します。
図 4.3-9 基本クロック分周設定レジスタ 1 のレジスタ構成
DIVR1
bit
アドレス : 000487H
リード / ライト
初期値 (INIT)
初期値 (RST)
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
の逓倍率の設定 , 分周比の設定の組合せで , 上限周波数を超える設定をした場合 , 動作は
保証されません。特に , クロックソース選択の変更設定との順序を間違えないように注意
してください。
本レジスタの設定の変更があった場合 , 設定後 , 次のクロックレートから変更後の分周
比が有効となります。
102
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.3 クロック生成制御
MB91461
[bit7 ∼ bit4] T3, T2, T1, T0 : CLKT 分周選択ビット
外部バスクロック (CLKT) のクロック分周比設定ビットです。
外部拡張バスインタフェースのクロック (CLKT) のクロック分周比を設定します。
本ビットに書き込む値により , 外部拡張バスインタフェースのクロックのベースク
ロックに対する分周比 ( クロック周波数 ) を下表に示す 16 種類のうちから選択しま
す。
動作可能な上限周波数は 40MHz ですので , これを超える周波数になる分周比は設定
しないでください。
クロック周波数 : 原発振 18 MHz
および PLL4 逓倍の場合
T3
T2
T1
T0
0
0
0
0
φ
72.0 MHz [ 初期値 ]
0
0
0
1
φ × 2 (2 分周 )
36.0 MHz
0
0
1
0
φ × 3 (3 分周 )
24.0 MHz
0
0
1
1
φ × 4 (4 分周 )
18.0 MHz
0
1
0
0
φ × 5 (5 分周 )
14.4 MHz
0
1
0
1
φ × 6 (6 分周 )
12.0 MHz
0
1
1
0
φ × 7 (7 分周 )
10.3 MHz
0
1
1
1
φ × 8 (8 分周 )
9.0 MHz
…
…
…
…
…
1
1
1
1
φ × 16 (16 分周 )
クロック分周比
…
4.5 MHz
φ はベースクロックの周期
リセット (INIT) により 0000B に初期化されます。
読出しおよび書込みが可能です。
[bit3 ∼ bit0] 予約 : 予約ビット
予約ビットです。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
103
第 4 章 制御部
4.3 クロック生成制御
4.3.7
MB91461
クロック制御部の周辺回路
クロック制御部の周辺回路機能について説明します。
■ タイムベースカウンタ
クロック制御部には, 26ビット長のタイムベースカウンタがあり, ベースクロックで動
作しています。
タイムベースカウンタは , 発振安定待ち時間の計測 (「4.2.4 発振安定待ち時間」を参照
) のほか , 以下の用途に使用されます。
ウォッチドッグタイマ :
システムの暴走検出用のウォッチドッグタイマをタイムベースカウンタのビッ
ト出力を用いて計測します。
タイムベースタイマ :
タイムベースカウンタ出力を用いてインターバル割込みを発生します。
● ウォッチドッグタイマ
ウォッチドッグタイマは , タイムベースカウンタ出力を用いた暴走検出用タイマで
す。プログラムの暴走などで設定したインターバルの間にウォッチドッグリセット
の発生延期動作が行われなくなると , ウォッチドッグリセットとして設定初期化リ
セット (INIT) 要求を発生します。ここで説明するウォッチドッグタイマは「第 7 章
ハードウェアウォッチドッグタイマ」とは異なるもので , リセット直後は停止状態
です。
〔ウォッチドッグタイマの起動〕
ウォッチドッグタイマは , リセット (RST) 後の 1 回目の RSRR ( リセット要因レジ
スタ / ウォッチドッグタイマ制御レジスタ ) への書込み動作により起動します。
このとき , ウォッチドッグタイマのインターバル時間を bit9, bit8:WT1, WT0 ビット
により設定します。インターバル時間の設定は , この最初の書込みで設定した時間
のみが有効となり , それ以降の書込みはすべて無視されます。
〔ウォッチドッグリセットの発生延期〕
いったんウォッチドッグタイマを起動すると , プログラムで定期的に WPR ( ウォッ
チドッグリセット発生延期レジスタ ) に対して A5H, 5AH の順でデータを書き込む
必要があります。
この操作により , ウォッチドッグリセット発生用フラグが初期化されます。
〔ウォッチドッグリセットの発生〕
ウォッチドッグリセット発生用フラグは , 設定したインターバルのタイムベースカ
ウンタ出力の立下りエッジによってセットされます。2 度目の立下りエッジの検出
時にフラグが設定されていると , ウォッチドッグリセットとして設定初期化リセッ
ト (INIT) 要求を発生します。
104
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.3 クロック生成制御
MB91461
〔ウォッチドッグタイマの停止〕
いったんウォッチドッグタイマを起動すると , 動作初期化リセット (RST) が発生す
るまでは , ウォッチドッグタイマを停止することはできません。
動作初期化リセット (RST) の発生する以下の状態では , ウォッチドッグタイマは停
止し , 再度プログラム動作にて起動するまでは機能しません。
- 動作初期化リセット (RST) 状態
- 設定初期化リセット (INIT) 状態
- 発振安定待ちリセット (RST) 状態
〔ウォッチドッグタイマの一時停止 ( 自動発生延期 ) 〕
ウォッチドッグタイマは , CPU のプログラム動作が停止している場合いったん
ウォッチドッグリセット発生用フラグを初期化し , ウォッチドッグリセットの発生
を延期します。プログラム動作の停止とは具体的には以下の動作を示します。
- スリープ状態
- ストップ状態
- 発振安定待ち RUN 状態
- エミュレータデバッガ , モニタデバッガを使用時のブレーク中
- INTE 命令の実行から RETI 命令の実行までの期間
- ステップトレーストラップ
(PS レジスタの T フラグ= 1 による 1 命令ごとのブレーク )
- 命令キャッシュ制御レジスタ (ISIZE, ICHCR),
RAM モード時のキャッシュメモリへのデータ
また , タイムベースカウンタのクリアを行うと , 同時にウォッチドッグリセット発
生用フラグも初期化され , ウォッチドッグリセットの発生が延期されます。
なお , システムの暴走により上記状態となってしまった場合 , ウォッチドッグリ
セットが発生しない可能性があります。その場合 , 外部 INITX 端子よりリセット
(INIT) をかけてください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
105
第 4 章 制御部
4.3 クロック生成制御
MB91461
● タイムベースタイマ
タイムベースタイマは , タイムベースカウンタ出力を用いたインターバル割込み発
生用タイマです。PLL のロック待ち時間など , 最大で { ベースクロック× 226} サイ
クルまでの比較的長時間の時間計測を行う用途に適しています。
設定したインターバルに対応するタイムベースカウンタの出力の立下りエッジを
検出すると , タイムベースタイマ割込み要求を発生します。
〔タイムベースタイマの起動とインターバル設定〕
タイムベースタイマは , 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)が発生するため, タイムベー
スタイマ割込みは自動的に禁止されます。
106
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.3 クロック生成制御
MB91461
● インターバルタイマ
クロックソースの選択や分周設定の影響を受けず , ソースクロックに同期してカウ
ントアップする 23 ビットのタイマです。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
107
第 4 章 制御部
4.4 PLL インタフェース
4.4
MB91461
PLL インタフェース
PLL の逓倍設定について説明します。
図 4.4-1 に , PLL 周辺のブロックダイヤグラムを示します。
図 4.4-1 PLL 周辺のブロックダイヤグラム
クロック
ユニット
XIN1
PLL
PLLIN
インタフェース
PLL
水晶
または
クロック入力
X
1/G
1/M
CK
位相補正
M
U
X
FB
1/N
クロックツリー
CLKB
CLKP
CLKT
M
U
X
FB1 遅延
■ 特長
1 ∼ 64 まで設定可能な 2 つのデバイダによって逓倍率を決定
電圧降下および電圧サージを防ぐためのクロック自動ギアのアップダウン機能
108
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.4 PLL インタフェース
MB91461
PLL インタフェースのレジスタ詳細説明
4.4.1
PLL インタフェースのレジスタの詳細について説明します。
■ PLLDIVM:PLL デバイダ M
図 4.4-2 に , PLL デバイダ M の構成を示します。
図 4.4-2 PLL デバイダ M の構成
PLLDIVM
bit
アドレス : 00048CH
リード / ライト
初期値
7
6
5
4
3
2
1
0
予約
予約
DVM5
DVM4
DVM3
DVM2
DVM1
DVM0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
−
−
0
0
0
0
0
0
PLLDIVM は PLL フィードバックループの中に入るデバイダの 1 つで , PLLDIVN とと
もに PLL の逓倍率を決定します。また , PLL 発振出力を分周して , 以降のクロックユ
ニットに与えるクロックを生成する分周器としても使用されます。
[bit7, bit6] 予約 : 予約ビット
予約ビットです。読出し値は "0" です。
[bit5 ∼ bit0] DVM5 ∼ DVM0 : PLLDIVM 分周設定値
DVM5 ∼ DVM0 に設定する値によって分周数は以下のようになります。
CM71-10159-2
DVM5 ∼ DVM0
分周数
000000B
1 ( 分周なし )
000001B
2
000010B
3
000011B
4
000100B
5
000101B
6
000110B
7
000111B
8
・・・・・
・・・・・
111111B
64
FUJITSU MICROELECTRONICS LIMITED
109
第 4 章 制御部
4.4 PLL インタフェース
MB91461
<注意事項>
• 分周設定としては "1" ( 分周なし ) も設定できますが , "2" 以上に設定することを推奨し
ます。また , PLL 出力のデューティ比を 50 % にするために , 設定値としては偶数の分
周数を設定してください。
• クロックソースとして PLL が選択されている場合は (CLKS1, CLKS0 = 10B),
PLLDIVM の値を変更することはできません。
110
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.4 PLL インタフェース
MB91461
■ PLLDIVN:PLL デバイダ N
PLL デバイダ N の構成は以下のとおりです。
図 4.4-3 PLL デバイダ N の構成
PLLDIVN
bit
アドレス : 00048DH
リード / ライト
初期値
7
6
5
4
3
2
1
0
予約
予約
DVN5
DVN4
DVN3
DVN2
DVN1
DVN0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
PLLDIVN は PLL フィードバックループの中に入るデバイダの 1 つで , PLLDIVM とと
もに PLL の逓倍率を決定します。
[bit7, bit6] 予約 : 予約ビット
予約ビットです。読出し値は "0" です。
[bit5 ∼ bit0] DVN5 ∼ DVN0 : PLLDIVN 分周設定値
以下に PLLDIVN 分周設定値を示します。
DVN5 ∼ DVN0
分周数
000000B
1 ( 分周なし )
000001B
2
000010B
3
000011B
4
000100B
5
000101B
6
000110B
7
000111B
8
・・・・・
・・・・・
111111B
64
<注意事項>
クロックソースとして PLL が選択されている場合は (CLKS1, CLKS0 = 10B), PLLDIVN の
値を変更することはできません。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
111
第 4 章 制御部
4.4 PLL インタフェース
MB91461
■ PLLDIVG
PLLDIVG
bit
7
アドレス : 00048EH
6
5
4
3
2
1
0
DVG2
R/W
DVG1
R/W
DVG0
R/W
予約
R/W
予約
R/W
予約
R/W
予約
R/W
DVG3
R/W
初期値 (INITX 端子入力 ,
ウォッチドッグリセット )
0
0
0
0
0
0
0
0
初期値
(ソフトウェアリセット)
0
0
0
0
X
X
X
X
[bit7 ∼ bit4] 予約:予約ビット
これらのビットには常に "0" を書き込みます。
[bit3 ∼ bit0] DVG0 ∼ DVG3:PLL 自動ギアの開始 / 終了 G 分周選択
DVG3 ∼ DVG0
PLL 出力 G 分周の開始 / 終了周波数 ( 生成 φ: ベースクロック )
0000B
自動ギア禁止 ( 初期値 )
0001B
ソース (FCL-PLL) : 2 (2 分周 )
0010B
ソース (FCL-PLL) : 3 (3 分周 )
0011B
ソース (FCL-PLL) : 4 (4 分周 )
0100B
ソース (FCL-PLL) : 5 (5 分周 )
0101B
ソース (FCL-PLL) : 6 (6 分周 )
0110B
ソース (FCL-PLL) : 7 (7 分周 )
0111B
ソース (FCL-PLL) : 8 (8 分周 )
......
.....
1111B
ソース (FCL-PLL) : 16 (16 分周 )
< 注意事項 >
• G 分周カウンタに対して奇数の分周比 (3, 5, 7 など ) を選択できますが , これは推奨値
ではありません。常に偶数の分周比を選択してください (2, 4, 6 など ) 。
• クロックソースとして PLL を選択すると , レジスタ値は変更できません。 (CLKS1,
CLKS0 = 10B) 。
• 自動ギア機能を使用しない場合は 0000B ( 初期値 ) としてください。
112
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.4 PLL インタフェース
MB91461
■ PLLMULG
PLLMULG
bit
7
6
5
4
3
2
1
0
MLG7
R/W
MLG6
R/W
MLG5
R/W
MLG4
R/W
MLG3
R/W
MLG2
R/W
MLG1
R/W
MLG0
R/W
初期値 (INITX 端子入力 ,
ウォッチドッグリセット )
0
X
0
0
0
0
0
0
初期値
(ソフトウェアリセット)
X
X
X
X
X
X
X
X
アドレス : 00048FH
[bit5 ∼ bit0] : MLG7 ∼ MLG0:PLL 自動ギア G 分周のステップ逓倍率選択
MLG7 ∼ MLG0
G 分周のステップ逓倍率
00000000B
G 分周ステップ× 1 (1 で乗算 )
00000001B
G 分周ステップ× 2 (2 で乗算 )
00000010B
G 分周ステップ× 3 (3 で乗算 )
00000011B
G 分周ステップ× 4 (4 で乗算 )
00000100B
G 分周ステップ× 5 (5 で乗算 )
00000101B
G 分周ステップ× 6 (6 で乗算 )
00000110B
G 分周ステップ× 7 (7 で乗算 )
00000111B
G 分周ステップ× 8 (8 で乗算 )
......
.....
11111111B
G 分周ステップ× 256 (256 で乗算 )
< 注意事項 >
• クロックソースとして PLL を選択すると , レジスタ値は変更できません
(CLKS1, CLKS0 = 10B) 。
• 自動ギア機能を使用しない場合は , このレジスタは使用されません。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
113
第 4 章 制御部
4.4 PLL インタフェース
MB91461
■ PLLCTRL
PLLCTRL
bit
7
アドレス : 000490H
6
5
4
3
2
1
0
GRDN
R/W
IEUP
R/W
GRUP
R/W
予約
R/W
予約
R/W
予約
R/W
予約
R/W
IEDN
R/W
初期値 (INITX 端子入力 ,
ウォッチドッグリセット )
0
X
0
0
0
0
0
0
初期値
(ソフトウェアリセット)
0
0
0
0
X
X
X
X
[bit7 ∼ bit4] 予約 : 予約ビット
読出し値は常に "0" です。
[bit3] : 割込み許可ギアダウン
IEDN
機能
0
ギアダウン割込み禁止 ( 初期値 )
1
ギアダウン割込み許可
[bit2] : 割込みフラグギアダウン
GRDN
機能
0
ギアダウン割込み非アクティブ ( 初期値 )
1
ギアダウン割込みアクティブ
• G 分周カウンタがプログラムされた終了値に達すると , クロックソース PLL から
クロックソース発振に切り換わるときにこのフラグが設定されます。
• リードモディファイライト命令では , このビットは "1" と読まれます。"1" を書き
込んでも影響はありません。
[bit1] : 割込み許可ギアアップ
IEUP
114
機能
0
ギアアップ割込み禁止 ( 初期値 )
1
ギアアップ割込み許可
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.4 PLL インタフェース
MB91461
[bit0] : 割込みフラグギアアップ
GRUP
機能
0
ギアアップ割込み非アクティブ ( 初期値 )
1
ギアアップ割込みアクティブ
• G 分周カウンタが M 分周カウンタで定義されている終了値に達すると , クロック
ソース発振からクロックソース PLL に切り換わるときにこのフラグが設定され
ます。
• リードモディファイライト (RMW) 命令では , このビットは "1" と読まれます。
"1"
を書き込んでも影響はありません。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
115
第 4 章 制御部
4.4 PLL インタフェース
MB91461
PLL 逓倍率設定例
4.4.2
PLL 設定例について説明します。
以下の表に PLLDIVM, PLLDIVN の設定例を示します。
PLL 発振器出力が 80Mz ∼ 170MHz の範囲になるように設定してください。
表 4.4-1 PLL 逓倍率設定例 (1 / 2)
PLL 入力クロック
[MHz]
116
PLLDIVM 設定 PLLDIVN 設定
PLL 発振器出力
[MHz]
PLL 出力 ( クロック
ユニットへの出力 )[MHz]
4
20
2
160
8
4
14
3
168
12
4
10
4
160
16
4
8
5
160
20
4
8
6
192
24
4
6
7
168
28
4
6
8
192
32
4
6
9
192
36
4
4
10
160
40
4
4
11
176
44
4
4
12
192
48
4
2
19
152
76
4
2
20
160
80
10
2
8
160
80
10
3
5
150
50
10
3
6
180
60
10
4
4
160
40
10
4
5
200
50
10
5
3
150
30
10
5
4
200
40
10
6
3
180
30
10
8
2
160
20
10
9
2
180
20
10
10
2
200
20
12
3
5
180
60
12
4
4
192
48
12
5
3
180
36
12
7
2
168
24
12
8
2
192
24
14
3
4
168
56
14
4
3
168
42
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.4 PLL インタフェース
MB91461
表 4.4-1 PLL 逓倍率設定例 (2 / 2)
PLL 入力クロック
[MHz]
PLLDIVM 設定 PLLDIVN 設定
PLL 発振器出力
[MHz]
PLL 出力 ( クロック
ユニットへの出力 )[MHz]
14
6
2
168
28
14
7
2
196
28
16
2
5
160
80
16
3
4
192
64
16
4
3
192
48
16
5
2
160
32
16
6
2
192
32
18
3
3
162
54
18
5
2
180
36
20
2
4
160
80
20
3
3
180
60
20
4
2
160
40
20
5
2
200
40
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
117
第 4 章 制御部
4.4 PLL インタフェース
MB91461
■ クロック自動ギアのアップダウン
クロックソースを発振から高周波数 PLL 出力 ( またはその逆 ) に切り換えるときに電圧
の降下やサージを回避するために , PLL インタフェースにはクロックをスムーズにギア
アップおよびギアダウンする回路が実装されています。
主な機能は , 2 つの分周カウンタ (M 分周カウンタと G 分周カウンタ ) を使用して実装
されています。M 分周カウンタでは , PLL フィードバックにターゲットの周波数が指定
されます。もう一方の G 分周カウンタでは , G 分周設定 (DIVG) で指定されているプロ
グラマブルな分周から , M 分周設定 (DIVM) で指定されているターゲットの周波数に上
昇し , M 分周設定 (DIVM) からプログラマブルな終了周波数 (DIVG) まで周波数が低下
します。
システムクロックを低周波数から高周波数に変えたり ( ギアアップ ) , 高周波数から低
周波数に変える ( ギアダウン ) 場合は , DIVG > DIVM 設定のみが , 有効なクロックギア
仕様になります。
周波数ステップは , 以下のように PLL 出力周波数の逓倍で実行されます。
発振器= 4 MHz,
M = 2, N = 20 ( つまり , PLL 出力= 160 MHz, C ユニットへの周波数出力= 80 MHz と
すると , M × N = 40 という周波数逓倍になります ) 。
ギアデバイダは , 任意の偶数デバイダに設定できます。この例では G = 20 であり , 発
振から PLL に切り換わるときに以下のギアアップが行われます。
1. ステップ : 1 サイクルの 8.0 MHz (8.0 MHz は , 20 サイクルの PLL 出力になります )
2. ステップ : 2 サイクルの 8.4 MHz (8.4 MHz は , 19 サイクルの PLL 出力になります )
3. ステップ : 3 サイクルの 8.8 MHz (8.8 MHz は , 18 サイクルの PLL 出力になります )
:
17. ステップ : 17 サイクルの 40.0 MHz (40.0 MHz は , 4 サイクルの PLL 出力になります )
18. ステップ : 18 サイクルの 53.3 MHz (53.3 MHz は , 3 サイクルの PLL 出力になります )
19. ステップ : 19 サイクルの 80.0 MHz (80.0 MHz は , 2 サイクルの PLL 出力になります )
→最終ステップへの遷移で到達したターゲットの周波数 ( ここでは 18. から 19.)
ギア逓倍率レジスタ内で逓倍値を設定すると , 各ステップが逓倍されます。開始周波数
を生成してからターゲットの周波数に達するまでの時間は , 以下の式で計算できます。
i
 i


duration = mul Þ t Þ   k Þ ( i – k + 1 ) –  k Þ ( i – k + 1 )
k = 1

k = j+1
この式は, 以下の式と同じです (最初の和の項の有限の算術級数は, 以下に帰着します) 。
i


i
Þ
(
i
+
1
)
Þ
(
i
+
2
)

duration = mul Þ t Þ ---------------------------------------------- –  k Þ ( i – k + 1 )


6


k = j+1
i = G, j = G − M, mul = MULG, t = 1/f(pllout)
上記の設定では , 開始周波数からターゲット周波数までの時間が 9262500ps ( 約 9.3 ms)
である 1483PLL 出力クロックサイクルと同じになります。
118
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.4 PLL インタフェース
MB91461
< 注意事項 >
クロック自動ギア機能を使用する場合は , ギアアップおよびギアダウンのフラグ
(PLLCTRL:GRUP, PLLCTRL:GRDN) を使用して , この機能の現在の状態を評価すること
をお勧めします。これにより , 完了前の設定変更によって発生するクロックシステム内で
の誤動作を防ぐことができます。
手順例 :
1. 選択した周波数とギア時間に従って PLL インタフェースレジスタ (PLLDIVN,
PLLDIVM, PLLDIVG, PLLMULG) を設定します。
2. PLL を ON にします (CLKR:PLL1EN = 1) 。
3. ギアをアップまたはダウンに切り換えた後に割込みを受信した場合は , 対応する割
込み許可も許可します (PLLCTRL:IEUP, PLLCTRL:IEDN) 。
4. PLL 安定待ち時間まで待機します。
5. ベースクロック分周レジスタを設定します (DIV0, DIV1) 。
6. クロックソースを PLL に切り換えます (CLKR:CLKS 00B → 10B) 。
7. クロックソースを発振に戻す前に PLLCTRL:GRUP ギアアップフラグ ( ポーリング
または割込み ) まで待機するか , または CLKR レジスタ内のビットを変更する前に
PLLCTRL:GRUP = 1 の設定を確定します。
8. クロックソースを発振に切り換えます (CLKR:CLKS 10B → 00B) 。
9. クロックソースを PLL に戻す前に PLLCTRL:GRDN ギアダウンフラグ ( ポーリング
または割込み ) まで待機するか , または CLKR レジスタ内のビットを変更する前に
PLLCTRL:GRDN = 1 の設定を確定します。
10.PLL を OFF にします (CLKR:PLL1EN = 0) 。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
119
第 4 章 制御部
4.5 デバイス状態制御
4.5
MB91461
デバイス状態制御
MB91461 の各種状態とその制御について説明します。
■ デバイス状態制御の概要
デバイス状態には , 以下のものがあります。
• RUN 状態 ( 通常動作 )
• スリープ状態
• ストップ状態
• シャットダウン状態
• 発振安定待ち RUN 状態
• 発振待ちリセット (RST) 状態
• 動作初期化リセット (RST) 状態
• 設定初期化リセット (INIT) 状態
以降 , 上記各種状態の詳細と , 低消費電力モードであるスリープモードおよびストップ
モードの詳細について説明します。
120
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.5 デバイス状態制御
MB91461
デバイス状態と各遷移
4.5.1
図 4.5-1 に , デバイスの状態遷移を示します。
■ デバイス状態
図 4.5-1 デバイス状態
遷移要求の優先順位
1 INITX端子=0(INIT)
2 INITX端子=1(INIT解除)
3 発振安定待ち終了
4 リセット(RST)解除
5 ソフトウェアリセット(RST)
6 スリープ(命令書込み)
7 ストップ (命令書込み)
8 シャットダウン (命令書込み)
9 割込み
10 クロックを必要としない外部割込み
11 ウォッチドックリセット(INIT)
(ハードウェアウォッチドッグを含む)
最強
↓
↓
↓
↓
最弱
パワーオン
1
設定初期化リセット(INIT)
発振安定待ち終了
動作初期化リセット(RST)
割込み要求
ストップ(シャットダウン)
スリープ
設定初期化
(INIT)
2
1
シャットダウン
10
1
発振安定待ち
リセット
ストップ
1
8
10
1
3
プログラムリセット
(RST)
発振安定待ちRUN
3
7
5
1
6
スリープ
RUN
1
4
11
1
9
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
121
第 4 章 制御部
4.5 デバイス状態制御
MB91461
■ デバイスの動作状態
MB91461 のデバイスの動作状態には以下のものがあります。
● RUN 状態 ( 通常動作 )
この状態は , プログラム実行状態です。
すべての内部クロックが供給され , すべての回路が動作可能な状態です。ただし ,
16 ビット周辺 ( ペリフェラル ) バスのみは , アクセスが行われていない期間はバス
クロックのみ停止しています。
各状態遷移要求を受け付けますが , 同期リセットモードを選択している場合 , 通常
リセットモードの場合と一部要求に対する状態遷移動作が異なります。
詳細は ,「4.2.5 リセット動作モード」の「■ 同期リセット動作」を参照してください。
● スリープ状態
この状態は , プログラム停止状態です。プログラム動作により遷移します。
CPU のプログラム実行のみ停止し , 周辺回路は動作可能な状態です。各種内蔵メモ
リおよび内部 / 外部バスは DMA コントローラが要求しない限り停止状態です。有
効な割込み要求の発生により , 本状態は解除され , RUN 状態 ( 通常動作 ) へ遷移し
ます。
設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷
移します。
動作初期化リセット (RST) 要求の発生により , 動作初期化リセット (RST) 状態へ遷
移します。
● ストップ状態
この状態は , デバイス停止状態です。プログラム動作により遷移します。
すべての内部回路が停止します。内部クロックはすべて停止し, 発振回路およびPLL
は設定により停止させることが可能です。また , 設定により , 外部端子を一律ハイ
インピーダンスにすることが可能です ( 一部端子を除く ) 。
特定の ( クロックを必要としない ) 有効な割込みや , 発振動作中のインターバルタ
イマ割込み要求の発生により , 発振安定待ち RUN 状態へ遷移します。
設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷
移します。
動作初期化リセット (RST) 要求の発生により , 発振安定待ちリセット (RST) 状態へ
遷移します。
● シャットダウン状態
この状態は, RAM以外のデバイス停止状態です。プログラム動作により遷移します。
RAM (64K バイト ) およびその周辺回路以外は電源供給が遮断されます。これにより ,
シャットダウン状態でのリーク電流を大幅に低減することができます。外部バスのコ
ントロール信号を出力保持する以外は , すべての出力をハイインピーダンス状態にし
ます。
特定の ( クロックを必要としない ) 有効な割込みにより , 発振安定待ち RUN 状態へ
遷移します。
設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷
移します。
122
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.5 デバイス状態制御
MB91461
● 発振安定待ち RUN 状態
この状態は , デバイス停止状態です。ストップ状態からの復帰後に遷移します。
クロック発生制御部 ( タイムベースカウンタおよびデバイス状態制御部 ) を除くす
べての内部回路が停止します。内部クロックはすべて停止しますが , 発振回路およ
び動作許可されていた PLL は動作しています。
ストップ状態などでの外部端子のハイインピーダンス制御は解除されます。
設定された発振安定待ち時間の経過により , RUN 状態 ( 通常動作 ) へ遷移します。
設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷
移します。
動作初期化リセット (RST) 要求の発生により , 発振安定待ちリセット (RST) 状態へ
遷移します。
● 発振安定待ちリセット (RST) 状態
この状態は , デバイス停止状態です。ストップ状態または設定初期化リセット (INIT)
状態からの復帰後に遷移します。
クロック発生制御部 ( タイムベースカウンタおよびデバイス状態制御部 ) を除くす
べての内部回路が停止します。内部クロックはすべて停止しますが , 発振回路およ
び動作許可されていた PLL は動作しています。
ストップ状態などでの外部端子のハイインピーダンス制御は解除されます。
内部回路に対し , 動作初期化リセット (RST) を出力します。
設定された発振安定待ち時間の経過により , 発振安定待ちリセット (RST) 状態へ遷
移します。
設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷
移します。
● 動作初期化リセット (RST) 状態
この状態は , プログラム初期化状態です。動作初期化リセット (RST) 要求の受付け ,
または発振安定待ちリセット (RST) 状態の終了により遷移します。
CPU のプログラム実行は停止し , プログラムカウンタは初期化されます。周辺回路
は一部を除き初期化されます。すべての内部クロックと発振回路および動作許可さ
れていた PLL は動作しています。
内部回路に対して動作初期化リセット (RST) を出力します。
動作初期化リセット (RST) 要求の消失により , RUN 状態 ( 通常動作 ) へ遷移し , 動
作初期化リセットシーケンスを実行します。設定初期化リセット (INIT) 状態からの
復帰後だった場合は , 設定初期化リセットシーケンスを実行します。
設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷
移します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
123
第 4 章 制御部
4.5 デバイス状態制御
MB91461
● 設定初期化リセット (INIT) 状態
この状態は , 全設定初期化状態です。設定初期化リセット (INIT) 要求の受付け , ま
たはハードウェアスタンバイ状態の終了により遷移します。
CPU のプログラム実行は停止し , プログラムカウンタは初期化されます。周辺回路
はすべて初期化されます。発振回路は動作しますが , PLL は動作を停止します。す
べての内部クロックは , 外部 INITX 端子への "L" レベル入力期間は停止しますが ,
それ以外では動作します。
内部回路に対して設定初期化リセット (INIT) および動作初期化リセット (RST) を出
力します。
設定初期化リセット (INIT) 要求の消失により , 本状態は解除され , 発振安定待ちリ
セット (RST) 状態へ遷移します。その後 , 動作初期化リセット (RST) 状態を経て ,
設定初期化リセットシーケンスを実行します。
● 各状態遷移要求の優先順位
どの状態においても , 各状態遷移要求は以下の優先順位に従います。ただし , 一部
要求は特定の状態でしか発生しませんので , その状態でしか有効になりません。
【最強】 設定初期化リセット (INIT) 要求
↓
発振安定待ち時間の終了
( 発振安定待ちリセット状態および発振安定待ち RUN 状態のみ発生 )
↓
動作初期化リセット (RST) 要求
↓
有効な割込み要求
(RUN, スリープ , ストップ , シャットダウン状態のみ発生 )
↓
ストップモード要求 ( シャットダウン )
( レジスタ書込み ) (RUN 状態のみ発生 )
【最弱】 スリープモード要求 ( レジスタ書込み ) (RUN 状態のみ発生 )
124
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.6 インターバルタイマ
MB91461
インターバルタイマ
4.6
インターバルタイマは , ソースクロックに同期してカウントアップする 23 ビットの
カウンタで , 一定の時間間隔で繰り返し割込みを発生するインターバルタイマ機能
があります。
■ インターバルタイマのインターバル時間
表 4.6-1 に , インターバルタイマのインターバル時間を示します。インターバル時間は
次の 3 種類の中から選択できます。
表 4.6-1 インターバルタイマのインターバル時間
メインクロック周期
インターバル時間
214/FXTL
219/FXTL
1/FXTL
225/FXTL
( 注意事項 ) FXTL は X0/X1 端子または発振回路からのクロック
■ インターバルタイマのブロックダイヤグラム
図 4.6-1 に , インターバルタイマのブロックダイヤグラムを示します。
図 4.6-1 インターバルタイマのブロックダイヤグラム
インターバル
タイマ用カウンタ
FXTL
22
0
1
2
3
4
5
6
7
8
23 24 25 26 27 28 29 210 211
11
16
22
214
219
225
ソース
クロック
インターバル
タイマ
セレクタ
カウンタ
クリア回路
リセット
(INIT)
インターバル
タイマ割込み
インターバルタイマ
制御レジスタ(OSCR) WIF
WIE
WEN
予約
予約
WS1
WS0
WCL
FXTL:X0/X1端子または発振回路からのクロック
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
125
第 4 章 制御部
4.6 インターバルタイマ
MB91461
● インターバルタイマ
X0/X1 または発振回路からのクロックの 4 分周クロックをカウントクロックとする
23 ビットのアップカウンタです。
● カウンタクリア回路
OSCR レジスタによる設定 (WCL = 0) 以外に , リセット (INIT) 時にカウンタをクリ
アします。
● インターバルタイマセレクタ
インターバルタイマ用カウンタの 3 種類の分周出力からインターバルタイマ用の 1 種
類を選択する回路で , 選択した分周出力の立下りエッジが割込み要因になります。
● インターバルタイマ制御レジスタ (OSCR)
インターバル時間の選択 , カウンタのクリア , 割込み制御および状態の確認などを
行います。
126
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.6 インターバルタイマ
MB91461
■ インターバルタイマのレジスタ説明
図 4.6-2 に , インターバルタイマのレジスタ構成を示します。
図 4.6-2 インターバルタイマのレジスタ構成
OSCR
bit
アドレス : 0004C8H
リード / ライト
初期値 (INIT)
初期値 (RST)
15
14
13
12
11
10
9
8
WIF
R/W
0
X
WIE
R/W
0
X
WEN
R/W
0
X
予約
R/W
予約
R/W
―
X
―
X
WS1
R/W
0
X
WS0
R/W
0
X
WCL
R/W
0
X
[bit15] WIF : タイマ割込みフラグ
インターバル割込み要求フラグです。
選択されたインターバルタイマ用分周出力の立下りエッジによって "1" に設定され
ます。
このビットと割込み要求許可ビットが "1" のとき , インターバルタイマ割込み要求
を出力します。
値
内 容
0
インターバルタイマ割込みの要求なし [ 初期値 ]
1
インターバルタイマ割込みの要求あり
リセット (INIT) で "0" に初期化されます。
読出しおよび書込みが可能です。ただし , 書込みは "0" のみ可能で , "1" を書き込ん
でもビット値は変化しません。
リードモディファイライト (RMW) 系命令での読出し値では常に "1" となります。
[bit14] WIE : タイマ割込み許可ビット
CPU への割込み要求出力の許可 / 禁止を行うビットです。このビットとインターバ
ルタイマ割込み要求フラグビットが "1" のとき , インターバルタイマ割込み要求を
出力します。
値
内 容
0
インターバルタイマ割込み要求出力禁止 [ 初期値 ]
1
インターバルタイマ割込み要求出力許可
リセット (INIT) で "1" に初期化されます。
読出しおよび書込みが可能です。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
127
第 4 章 制御部
4.6 インターバルタイマ
MB91461
[bit13] WEN : タイマ動作許可ビット
タイマ動作許可ビットです。
本ビットが "1" のときにタイマはカウント動作を行います。
値
内 容
0
タイマ動作停止 [ 初期値 ]
1
タイマ動作
リセット (INIT) で "0" に初期化されます。
読出しおよび書込みが可能です。
[bit12, bit11] 予約 : 予約ビット
予約ビットです。書込み時は "0" を書き込んでください ("1" 書込み禁止 ) 。
読出し値は不定です。
[bit10, bit9] WS1, WS0 : タイマインターバル時間選択ビット
インターバルタイマの周期を選択します。
インターバルタイマ用カウンタの出力ビットを下記 3 種類のうちから選択します。
WS1
WS0
0
0
設定禁止 [ 初期値 ]
0
1
214/FXTL
1
0
219/FXTL
1
1
225/FXTL
インターバルタイマ周期
FXTL は X0/X1 または発振回路からのクロックです。
リセット (INIT) で 00B に初期化されます。
読出しおよび書込みが可能です。
インターバル時間タイマを使用する場合 , 本レジスタにデータの書込みを行ってく
ださい。
[bit8] WCL : タイマクリアビット
"0" 書込みでインターバルタイマを "0" にクリアします。
書込みは "0" のみ可能で , "1" を書き込んでも動作に影響を与えません。
読出し値は常に "1" となります。
128
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 4 章 制御部
4.6 インターバルタイマ
MB91461
■ インターバル割込み
インターバルタイマ用カウンタは , X0/X1 端子または発振回路からのクロックの 2 分周
のクロック ( ソースクロック ) でカウント動作し , 設定したインターバル時間が経過す
ると , インターバル割込み要求フラグ (WIF) を "1" に設定します。そのとき , 割込み要
求許可ビットを許可 (WIE = 1) していると CPU へ割込み要求が発生します。ただし ,
発振回路が発振停止しているとき (「■インターバルタイマ機能の動作」を参照 ) では
カウント動作も停止しますので , インターバル割込みは発生しません。
割込み処理ルーチンで WIF フラグに "0" を書き込み , 割込み要求をクリアしてくださ
い。なお , WIF ビットは , WIE ビットの値に関系なく , 指定した分周出力が立ち下ると
設定されます。
<注意事項>
• リセット解除後に割込み要求出力を許可 (WIE = 1) する場合および WS1, WS0 ビット
変更時は , 必ず WIF と WCL ビットを同時にクリア (WIF = WCL = 0) してください。
このタイマは発振回路の安定待ち時間を自動で確保する目的には使えません。
• WIF ビットが "1" のとき , WIE ビットを禁止から許可 (0 → 1) にすると , 直ちに割込み
要求が発生します。
• カウンタクリア (OSCR:WCL = 1) と選択したビットのオーバフローが同時に起こった
場合は , WIF ビットのセットは行われません。
■ インターバルタイマ機能の動作
インターバルタイマ用カウンタはソースクロックにてカウントアップを行いますが ,
以下の状態では発振回路の発振が停止するため , カウント動作も停止します。
WEN ビットが "0" のとき
ストップモードで発振回路が停止する設定 ( スタンバイ制御レジスタ STCR の
bit0:OSCD1 = 1) でストップモードに移行すると , ストップモード中 , カウント動作
が停止。リセット (INIT) 時 , OSCD1 = 1 に初期化しますので , ストップモード中も
インターバルタイマを動かしたい場合は , スタンバイ移行前に OSCD2 = 0 を設定
してください。
カウンタをクリア (WCL = 0) すると , 000000H からカウント動作を行い , 7FFFFFH に
達すると , 000000H に戻ってカウントを継続します。カウントアップ中に選択されたイ
ンターバルタイマ用の分周出力に立下りエッジが発生すると , インターバル割込み要
求ビット (WIF) を "1" に設定します。すなわち , クリアされた時間を基準にして ,
選択されたインターバル時間ごとにインターバルタイマ割込み要求を発生します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
129
第 4 章 制御部
4.6 インターバルタイマ
MB91461
■ インターバルタイマの動作
図 4.6-3 に , インターバルタイマ起動時のカウンタ状態を示します。
図 4.6-3 インターバルタイマ起動時のカウンタ状態
7FFFFFH
カウンタ値
000000H
時間
設定時間
・タイマクリア(WCL=1) * "0"以外のとき
・インターバル時間設定(WS1,WS0=11B)
割込みルーチンでクリア
WIF(割込み要求)
WIE(割込みマスク)
■ インターバルタイマ使用時の注意事項
発振開始直後は発振周期が不安定なため , 設定時間は目安値となります。
発振回路が発振停止中はカウンタも停止しますので , インターバルタイマ割込みも発
生しません。インターバルタイマ割込みを使った処理を行う場合は , 発振回路を停止し
ないでください。
WIF フラグセット要求と CPU からの "0" クリアタイミングが重なった場合は , フラグ
セットが優先して "0" クリアは無効となります。
130
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第5章
命令キャッシュ
命令キャッシュについて説明します。
5.1 概要
5.2 制御レジスタ
5.3 命令キャッシュの状態と設定
5.4 命令キャッシュを使用するときの設定方法
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
131
第 5 章 命令キャッシュ
5.1 概要
MB91461
概要
5.1
命令キャッシュは , 一時記憶メモリです。命令コードを外部の低速メモリからアク
セスする場合 , 一度アクセスしたコードを内部に保持する役目を果たし , 2 回目以降
のアクセス速度を速めるために使用します。
■ 概要
命令キャッシュデータ RAM, タグ RAM は , RAM モードに設定することにより , ソフトウェア
で直接リード・ライトアクセスができるようになります。
■ 本体構成
• FR の基本命令長
: 2 バイト
• ブロックの配置方式
: 2 ウェイセットアソシアティブ方式
• ブロック
: 1 ウェイは 128 ブロック構成
1 ブロックは 16 バイト ( = 4 サブブロック )
1 サブブロックは 4 バイト ( = 1 バスアクセス単位 )
図 5.1-1 命令キャッシュ構成
4バイト
ウェイ1
4バイト
4バイト
4バイト
4バイト
I1
I0
サブブロック1
サブブロック0
ブロック0
キャッシュタグ
サブブロック3
サブブロック2
サブブロック1
サブブロック0
ブロック127
キャッシュタグ
サブブロック3
サブブロック2
サブブロック1
サブブロック0
ブロック0
サブブロック3
サブブロック2
サブブロック1
サブブロック0
ブロック127
・・
128ブロック
・・
I2
サブブロック2
・・
I3
サブブロック3
キャッシュタグ
キャッシュタグ
132
・・
・・
128ブロック
・・
ウェイ2
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 5 章 命令キャッシュ
5.1 概要
MB91461
図 5.1-2 命令キャッシュタグ
ウェイ1
bit31
9
8
空き
3
TAGV
2
空き
アドレスタグ
7
SBV3
6
SBV2
5
SBV1
4
SBV0
サブブロックバリッド
LRU
エントリロック
0
ETLK
1
0
ETLK
TAGバリッド
ウェイ2
bit31
9
8
空き
3
TAGV
2
アドレスタグ
7
SBV3
1
LRU
6
SBV2
5
SBV1
4
SBV0
サブブロックバリッド
空き
TAGバリッド
エントリロック
[bit31 ∼ bit9] アドレスタグ
対応するブロックにキャッシュされている命令のメモリアドレスの上位 23 ビット
がストアされています。
ブロック i のサブブロック k に格納されている命令データのメモリアドレス IA は ,
IA =アドレスタグ× 211 + i × 24 + k × 22 となります。
CPU からアクセス要求された命令アドレスの一致を検査するために使用します。タ
グ検査の結果に従い , 以下のような動作をします。
• 要求された命令データがキャッシュ内に存在するとき (ヒット) , キャッシュから
CPU へサイクル内にデータを転送します。
• 要求された命令データがキャッシュ内に存在しないとき (ミス) , 外部アクセスで
取得されたデータを CPU とキャッシュが同時に取得します。
[bit7 ∼ bit4] SBV3 ∼ SBV0 : サブブロックバリッド
サブブロックバリッドを "1" に設定したとき , 対応するサブブロックにタグで示さ
れたアドレスの現行命令データがエントリされています。サブブロックには , 通常
2 命令が格納されます ( 即値転送命令を除く ) 。
[bit3] TAGV : TAG バリッド
アドレスタグの値が有効がどうかを示します。このビットが "0" のときはサブバリッ
ドビットとは無関係に, このブロックはインバリッド状態になります (フラッシュ時) 。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
133
第 5 章 命令キャッシュ
5.1 概要
MB91461
[bit1] LRU ( ウェイ 1 のみ )
ウェイ 1 の命令キャッシュタグにのみ存在します。選択されたセットについて , 最
後にアクセスしたエントリがウェイ 1・ウェイ 2 のどちらであるかを示します。
LRU = 1 のときはウェイ 1 の , LRU = 0 のときはウェイ 2 のセットのエントリが最
後にアクセスしたことを示します。
[bit0] ETLK : エントリロック
タグに相当するブロック内の全エントリをキャッシュにロックします。ETLK = 1
のときにロック状態で , キャッシュミス時にエントリは更新されません。ただし ,
無効なサブブロックは更新されます。ウェイ 1, ウェイ 2 ともにエントリロックされ
ているときにキャッシュミスした場合は , キャッシュミス判定の 1 サイクルをロス
した後 , 外部メモリにアクセスします。
134
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 5 章 命令キャッシュ
5.2 制御レジスタ
MB91461
5.2
制御レジスタ
制御レジスタには , キャッシュサイズレジスタ (ISIZE) と命令キャッシュ制御レジス
タ (ICHCR) があります。これらのレジスタ機能について説明します。
■ キャッシュサイズレジスタ (ISIZE)
図 5.2-1 キャッシュサイズレジスタ (ISIZE)
ISIZE (8 ビット )
bit
7
6
5
4
3
2
−
−
−
−
R/W :リード / ライト可能
−
:未定義
−
−
−
−
−
−
−
−
000003C7H
1
0
SIZE1 SIZE0
R/W
R/W
初期値
------10B
[bit1, bit0] SIZE1, SIZE0
キャッシュ容量を設定するビットです。設定によりキャッシュサイズと IRAM 容量 ,
RAM モード時のアドレスマップが図 5.2-3 のように変化します。キャッシュ容量
を変更した場合は , 必ずフラッシュおよびエントリロックの解除を行ってから
キャッシュ ON にしてください。
表 5.2-1 キャッシュサイズレジスタ
SIZE1
SIZE0
0
0
1K バイト
0
1
2K バイト
1
0
4K バイト ( 初期値 )
1
1
設定禁止
容量
■ 命令キャッシュ制御レジスタ (ICHCR)
命令キャッシュ制御レジスタ (ICHCR) は , 命令キャッシュの動作を制御します。
ICHCR への書込みは , 以降 3 サイクル以内にフェッチされる命令のキャッシュ動作に
影響を与えません。
図 5.2-2 命令キャッシュ制御レジスタ (ICHCR)
ICHCR (8 ビット )
bit
000003E7H
7
6
5
4
3
2
1
0
初期値
RAM
GBLK
ALFL
EOLK
ELKR
FLSH
ENAB
0-000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
−
−
R/W :リード / ライト可能
−
:未定義
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
135
第 5 章 命令キャッシュ
5.2 制御レジスタ
MB91461
[bit7] RAM: RAM モード
"1" で RAM モードとして動作します。RAM モードにすることによって , ENAB が
"1" でキャッシュオンとなっている場合はキャッシュ RAM が図 5.2-3 のとおりに
マッピングされます。
[bit5] GBLK: グローバルロック
すべてのカレントエントリをキャッシュにロックします。GBLK = 1 のとき , キャッ
シュ内の有効なエントリはミス時に更新されません。ただし , 無効なサブブロック
は更新されます。その際の命令データフェッチ動作は , ロックしていないときと同
様です。
[bit4] ALFL: オートロックフェイル
すでにロックしているエントリをさらにロックしようとすると ALFL = 1 に設定さ
れます。エントリオートロック中のエントリの更新がすでにロックされているエン
トリに対して行われようとしたとき , 新たなエントリはキャッシュ中にロックされ
ません。このようなプログラムのデバッグのために参照します。"0" 書込みでクリ
アされます。
[bit3] EOLK: エントリオートロック
命令キャッシュ内の各エントリに対して , オートロッキングの有効・無効を切り換
えます。EOLK = 1 のときにアクセス ( ミス時のみ ) されたエントリは , キャッシュ
タグ内のエントリロックビットがハードウェアで"1"に設定されることにより, ロッ
クされます。ロックされたエントリは以後 , キャッシュミス時の更新の対象になり
ません。ただし , 無効なサブブロックは更新されます。確実にロックするためには
一度消去した後 , このビットを設定してください。
[bit2] ELKR: エントリロック解除
すべてのキャッシュタグ中のエントリロックビットのクリアを指定します。
ELKR=1に設定された次のサイクルで, すべてのキャッシュタグ中のエントリロッ
クビットが "0" にクリアされます。ただし , 本ビットの内容が保持されるのは 1 ク
ロックサイクルのみであり , 2 クロックサイクル以降は "0" にクリアされます。
[bit1] FLSH: フラッシュ
命令キャッシュの消去を指定します。FLSH = 1 のとき , キャッシュの内容が消去
されます。ただし , 本ビットの内容が保持されるのは 1 クロックサイクルのみであ
り , 2 クロックサイクル以降は "0" にクリアされます。
[bit0] ENAB: イネーブル
命令キャッシュの許可・禁止を切り換えます。ENAB = 0 のときは禁止状態で , CPU
からの命令アクセスは , キャッシュを介さず外部に対して直接行われます。禁止状
態では , キャッシュの内容は保存されます。
136
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 5 章 命令キャッシュ
5.2 制御レジスタ
MB91461
図 5.2-3 RAM のアドレスマップ
アドレス
00010000H
00010200H
00010400H
00010600H
00010800H
キャッシュ
OFF
キャッシュ
OFF
RAM OFF
RAM ON
キャッシュ ON キャッシュ ON キャッシュ ON キャッシュ ON キャッシュ ON キャッシュ ON
4K バイト
4K バイト
2K バイト
2K バイト
1K バイト
1K バイト
RAM OFF
RAM ON
TAG
TAG
( ウェイ 1)
( ウェイ 1)
RAM OFF
RAM ON
RAM OFF
RAM ON
TAG
TAG( ウェイ 1)
( ウェイ 1)
[TAG ウェイ 1]
[TAG ウェイ 1]
[TAG ウェイ 1]
[TAG ウェイ 1]
[TAG ウェイ 1]
[TAG ウェイ 1]
[TAG ウェイ 1]
…
…
…
…
[TAG ウェイ 1]
…
[TAG ウェイ 1]
00014000H
00014200H
00014400H
00014600H
00014800H
TAG
TAG
TAG
TAG( ウェイ 2)
( ウェイ 2)
( ウェイ 2)
( ウェイ 2)
[TAG ウェイ 2]
[TAG ウェイ 2]
[TAG ウェイ 2]
[TAG ウェイ 2]
[TAG ウェイ 2]
[TAG ウェイ 2]
[TAG ウェイ 2]
…
…
…
[TAG ウェイ 2]
…
[TAG ウェイ 2]
00018000H
00018200H
00018400H
00018600H
00018800H
[IRAM ウェイ 1]
[$RAM ウェイ 1]
[$RAM ウェイ 1]
[IRAM ウェイ 1]*2
…
…
…
…
…
IRAM
$RAM(IRAM)
( ウェイ 2)
( ウェイ 2)
IRAM
$RAM(IRAM)
$RAM
$RAM
( ウェイ 1)
( ウェイ 1)
( ウェイ 1)
( ウェイ 1)
IRAM
IRAM
IRAM
( ウェイ 1)
( ウェイ 1)
*1
IRAM
( ウェイ 1)
$RAM( ウェイ 1)
( ウェイ 1)
[ $/I ウェイ 1 ] [IRAM ウェイ ] [ $/I ウェイ 1 ]
…
…
…
$RAM
$RAM
( ウェイ 2)
−
IRAM
$RAM( ウェイ 2)
( ウェイ 2)
IRAM
( ウェイ 2)
( ウェイ 2)
0001C000H
0001C200H
0001C400H
0001C600H
0001C800H
( ウェイ 2)
( ウェイ 2)
[IRAM ウェイ 2]
[$RAM ウェイ 2]
[$RAM ウェイ 2]
[IRAM ウェイ 2]*2
[ $/I ウェイ 2 ]
[IRAM ウェイ 2]
[ $/I ウェイ 2 ]
…
…
…
…
…
…
…
…
*1
IRAM
IRAM
00020000H
[
] はミラーとなる領域
*1 ISIZE レジスタの値に従い , キャッシュ ON 時と同様のマップになります。
*2 ミラー領域は 4K バイトごとの上位 2K バイトに発生します。
( 注意事項 ) $ の記号はキャッシュを意味します。
TAGRAM
$RAM
00010004H
<- 00x 番地のエントリ 00018000H
00018004H
<- 00x のミラー
00010008H
00018008H
008 番地の命令 (SBV2)
0001000CH
0001800CH
00C 番地の命令 (SBV3)
00010010H
<- 01x 番地のエントリ 00018010H
00018014H
<- 01x のミラー
000 番地の命令 (SBV0)
00010014H
00010018H
00018018H
008 番地の命令 (SBV2)
0001001CH
00010020H
0001801CH
00018020H
00C 番地の命令 (SBV3)
00010000H
000 番地の命令 (SBV0)
004 番地の命令 (SBV1)
004 番地の命令 (SBV1)
図 5.2-4 各キャッシュ容量時のメモリの割り当て
アドレス
000H
200H
400H
600H
…
000H
200H
400H
600H
キャッシュ
4K バイト
$RAM
( ウェイ 1)
キャッシュ
2K バイト
$RAM
IRAM
…
$RAM
( ウェイ 2)
$RAM
IRAM
キャッシュ
1K バイト
キャッシュ OFF
$RAM
IRAM
IRAM
…
$RAM
IRAM
IRAM
( 注意事項 ) $ の記号はキャッシュを意味します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
137
第 5 章 命令キャッシュ
5.3 命令キャッシュの状態と設定
MB91461
命令キャッシュの状態と設定
5.3
命令キャッシュの各動作モードにおける状態と , 命令キャッシュの設定方法について
説明します。
■ 動作モード時のキャッシュの状態
ディセーブル / フラッシュはビット操作命令などでそのビットだけを変化させた場合
の状態を示しています。
表 5.3-1 動作モード時のキャッシュの状態
ディセーブル (ENAB = 0)
フラッシュ
内容は不定
直前の状態を保持
ディセーブル中書換え不可能
直前の状態を保持
内容は不定
直前の状態を保持
ディセーブル中書換え不可能
直前の状態を保持
サブブロック
内容は不定
バリッドビット
直前の状態を保持
ディセーブル中書換え不可能
直前の状態を保持
LRU
内容は不定
直前の状態を保持
ディセーブル中書換え不可能
直前の状態を保持
エントリロック
ビット
内容は不定
直前の状態を保持
ディセーブル中書換え不可能
直前の状態を保持
( 要エントリロック解除 )
リセット直後
キャッシュメモリ
アドレスタグ
タ
グ
TAG
内容は不定
バリッドビット
通常モード
直前の状態を保持
直前の状態を保持
ディセーブル中フラッシュ可能
グローバル
ロック
アンロック
直前の状態を保持
ディセーブル中書換え可能
直前の状態を保持
オートロック
フェイル
フェイルなし
直前の状態を保持
ディセーブル中書換え可能
直前の状態を保持
エントリ
オートロック
アンロック
直前の状態を保持
ディセーブル中書換え可能
直前の状態を保持
エントリロック
解除
解除なし
直前の状態を保持
ディセーブル中書換え可能
直前の状態を保持
イネーブル
ディセーブル
ディセーブル
直前の状態を保持
フラッシュ
フラッシュ
しない
直前の状態を保持
ディセーブル中書換え可能
メモリアクセス直後の
サイクルでフラッシュ。
以後 "0" に戻る。
RAM
制
御
レ
ジ
ス
タ
138
直前の状態を保持
すべてのエントリが
ディセーブル中フラッシュ可能 インバリッド
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 5 章 命令キャッシュ
5.3 命令キャッシュの状態と設定
MB91461
■ キャッシュのエントリ更新
キャッシュのエントリ更新は , 以下の表のように行います。
表 5.3-2 キャッシュのエントリ更新
アンロック
ヒット 更新しない。
ミス
ロック
更新しない。
メモリをロードし , キャッシュの
エントリの内容を更新する。
タグミスの場合は更新しない。
サブブロックインバリッドの場合は更新する。
■ 命令キャッシュのキャッシュ可能領域
• 命令キャッシュは , 外バス空間のみをキャッシュ可能とします。
• DMA 転送で外部メモリの内容が更新されたとしてもキャッシュの内容とのコヒー
レンシはとりません。
このような場合はキャッシュをフラッシュすることで , コヒーレンシを保ってくだ
さい。
• 各チップセレクトの領域ごとに非キャッシュ領域に設定することができます。この
場合でもキャッシュオフに比べて 1 サイクルのペナルティを受けます 「
( 8.3 チップ
セレクト領域」を参照 ) 。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
139
第 5 章 命令キャッシュ
5.4 命令キャッシュを使用するときの設定方法
5.4
MB91461
命令キャッシュを使用するときの設定方法
命令キャッシュを使用する場合の設定方法を説明します。
■ 設定手順
命令キャッシュを使用する場合の設定は , 以下の要領で行います。
● 初期化
命令キャッシュを使い始める一番最初はキャッシュの中身をクリアしておく必要があ
ります。
レジスタの FLSH ビットと ELKR ビットを "1" にして , 過去のデータを消去します。
ldi
#0x000003e7,r0
// 命令キャッシュ制御レジスタのアドレス
ldi
#0B00000110,r1
// に "1" をセット FLSH ビット (bit1)
// に "1" をセット ELKR ビット (bit2)
stb
r1,@r0
// レジスタへ書込み
これで , キャッシュが初期化されます。
● キャッシュを有効 (ON) 化
命令キャッシュを有効にするには ENAB ビットを "1" にします。
ldi
#0x000003e7,r0
// 命令キャッシュ制御レジスタのアドレス
ldi
#0B00000001,r1
// に "1" をセット ENAB ビット (bit0)
stb
r1,@r0
// レジスタへ書込み
これ以降の命令アクセスがキャッシュに取り込まれて行きます。
キャッシュの有効化は , キャッシュの初期化と同時に行うこともできます。
ldi
#0x000003e7,r0
// 命令キャッシュ制御レジスタのアドレス
ldi
#0B00000111,r1
// に "1" をセット ENAB ビット (bit0)
// に "1" をセット FLSH ビット (bit1)
// に "1" をセット ELKR ビット (bit2)
stb
r1,@r0
// レジスタへ書込み
● キャッシュを無効 (OFF) 化
命令キャッシュを無効にするには ENAB ビットを "0" にします。
ldi
#0x000003e7,r0
// 命令キャッシュ制御レジスタのアドレス
ldi
#0B00000000,r1
// に "0" をセット ENAB ビット (bit0)
stb
r1,@r0
// レジスタへ書込み
この状態 ( リセット後の状態と同じ ) では , キャッシュはないのと同じで何もしません。
キャッシュのオーバヘッドが気になる処理のときに , OFF にすると処理性能が向上すること
があります。
140
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 5 章 命令キャッシュ
5.4 命令キャッシュを使用するときの設定方法
MB91461
● キャッシュの内容をすべてロック
現在命令キャッシュに入っている命令がキャッシュから追い出されないようにロック
します。
レジスタの GBLK ビットを "1" にします。
ENAB ビットも "1" にしておかないと , キャッ
シュが OFF になってしまい , キャッシュ内のロックした命令が使われません。
ldi
#0x000003e7,r0
// 命令キャッシュ制御レジスタのアドレス
ldi
#0B00100001,r1
// に "1" をセット ENAB ビット (bit0)
// に "1" をセット GBLK ビット (bit5)
stb
r1,@r0
// レジスタへ書込み
● 特定の命令をキャッシュにロック
特定の命令群 ( サブルーチンなど ) をキャッシュにロックするには , それらの命令を実
行する前に EOLK ビットを "1" にします。
ロックした命令は高速な内部 ROM のようにアクセスされます。
ldi
#0x000003e7,r0
// 命令キャッシュ制御レジスタのアドレス
ldi
#0B00001001,r1
// に "1" をセット ENAB ビット (bit0)
// に "1" をセット EOLK ビット (bit3)
stb
r1,@r0
// レジスタへ書込み
メモリのウェイト数に依りますが , stb 命令の次以降の命令から有効になります。
ロックしたい命令群が終わった所で EOLK ビットを "0" にします。
ldi
#0x000003e7,r0
// 命令キャッシュ制御レジスタのアドレス
ldi
#0B00000001,r1
// に "1" をセット ENAB ビット (bit0)
// に "0" をセット EOLK ビット (bit3)
stb
r1,@r0
// レジスタへ書込み
● キャッシュのロック解除
上記 (5) でロックした命令のロック情報を解除します。
ldi
#0x000003e7,r0
// 命令キャッシュ制御レジスタのアドレス
ldi
#0B00000000,r1
// キャッシュディスエーブル
stb
r1,@r0
// レジスタへ書込み
ldi
#0B00000100,r1
// に "1" をセット ELKR ビット (bit2)
stb
r1,@r0
// レジスタへ書込み
ロック情報だけ解除されるので , ロックされていた命令は LRU ビットの状態に応じて
順次新しい命令に置き換わります。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
141
第 5 章 命令キャッシュ
5.4 命令キャッシュを使用するときの設定方法
MB91461
142
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
第6章
低消費電力モード
低消費電力モードの機能と動作について説明しま
す。
6.1 低消費電力モードの概要
6.2 スリープモード
6.3 ストップモード
6.4 シャットダウンモード
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
143
第 6 章 低消費電力モード
6.1 低消費電力モードの概要
6.1
MB91461
低消費電力モードの概要
MB91461 でサポートする 3 つの低消費電力モードについて説明します。
■ 低消費電力モード
● スリープモード ( プログラム停止状態 )
CPU コア部のクロック供給を停止します。周辺機能は動作を継続します。レジスタ書
込みにより , デバイスがスリープ状態へ遷移します。
● ストップモード ( デバイス停止状態 )
CPU コアと周辺機能へのクロック供給を停止します。オプションとして , メイン発振
を停止するか継続するかを選択できます。
● シャットダウンモード ( 電源遮断状態 )
RAM と一部の制御ロジック以外への電源供給をデバイス内部で遮断します。発振は停
止し , クロック供給も停止します。
144
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 6 章 低消費電力モード
6.2 スリープモード
MB91461
6.2
スリープモード
スリープモードとは , CPU コア部に供給するクロックのみを停止するモードで ,
CPU は停止し , 周辺機能は動作を続けます。
● スリープモードの概要
プログラム停止状態です。ソフトウェアでレジスタを設定することにより遷移します。
CPU のプログラム実行のみを停止し , 周辺回路は動作可能な状態です。各所内蔵メモ
リおよび内部 / 外部バスは DMA コントローラが要求しない限り停止状態です。有効な
割込み要求の発生により , 本状態は解除され , RUN 状態 ( 通常動作 ) へ遷移します。
● スリープモードへの移行
STCR (スタンバイ制御レジスタ) のbit6:SLEEPビットに"1"を書き込むとスリープモー
ドとなり , スリープ状態へ遷移します。
以降 , スリープ状態からの復帰要因が発生するまでは , スリープ状態を維持します。
STCR ( スタンバイ制御レジスタ ) の bit7:STOP ビットと本ビット両方に "1" を書き込ん
だ場合は , bit7:STOP ビットの方が優先となり , ストップ状態へ遷移します。
スリープモードに入れる場合は , 同期スタンバイモード (TBCR: タイムベースカウンタ
制御レジスタの bit8:SYNCS ビットにて設定します ) を使用した上で , 以下のシーケン
スを必ず使用してください。
(LDI #value_of_sleep,R0);value_of_sleep は , 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
〔スリープ状態で停止する回路〕
• CPU のプログラム実行
• ビットサーチモジュール (DMA 転送が発生した場合は動作します。)
• 各種内蔵メモリ (DMA 転送が発生した場合は動作します。)
• 内部 / 外部バス (DMA 転送が発生した場合は動作します。)
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
145
第 6 章 低消費電力モード
6.2 スリープモード
MB91461
〔スリープ状態で停止しない回路〕
• 発振回路
• 動作許可された PLL
• クロック発生制御部
• 割込みコントローラ
• 周辺回路
• DMA コントローラ
• DSU
• インターバルタイマ
〔スリープ状態からの復帰要因〕
• 有効な割込み要求の発生
割込み禁止 (1FH) 以外の割込みレベルの割込み要求が発生すると , スリープモー
ドは解除され , RUN 状態 ( 通常状態 ) へ遷移します。
割込み要求が発生しても , スリープモードを解除したくない場合は , 該当する
ICR に割込みレベルとして割込み禁止 (1FH) を設定してください。
• 設定初期化リセット (INIT) 要求の発生
設定初期化リセット (INIT) 要求が発生すると , 無条件で設定初期化リセット
(INIT) 状態へ遷移します。
• 動作初期化リセット (RST) 要求の発生
動作初期化リセット (RST) 要求が発生すると , 無条件で動作初期化リセット
(RST) 状態へ遷移します。
各要因の優先順位については ,「4.5.1 デバイス状態と各遷移」を参照してください。
〔同期スタンバイ動作〕
タイムベースカウンタ制御レジスタ (TBCR) の bit8:SYNCS ビットに "1" が設定して
ある場合 , 同期スタンバイ動作が許可されます。この場合 , SLEEP ビットへの書込
みのみではスリープ状態へは遷移しません。その後 , STCR レジスタを読み出すこ
とによってスリープ状態へ遷移します。
146
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 6 章 低消費電力モード
6.3 ストップモード
MB91461
6.3
ストップモード
ストップモードとは , CPU コア部と周辺機能に供給するクロックを停止するモード
です。
STCR ( スタンバイ制御レジスタ ) の bit7:STOP ビットに "1" を書き込むとストップモー
ドとなり , ストップ状態へ遷移します。以降 , ストップ状態からの復帰要因が発生する
まではストップ状態を維持します。
STCR ( スタンバイ制御レジスタ ) の bit6:SLEEP ビットと本ビットの両方に "1" を書き
込んだ場合は , bit7:STOP ビットの方が優先となり , ストップ状態へ遷移します。
〔ストップ状態で停止する回路〕
停止するように設定された発振回路 :
STCR ( スタンバイ制御レジスタ ) の bit0:OSCD1 ビットに "1" が設定してあると
き , ストップ状態中のメインクロック用発振回路を停止状態にします。このとき ,
インターバルタイマも停止します。
動作許可されていないか , 停止するように設定された発振回路に接続された PLL :
STCR ( スタンバイ制御レジスタ ) の bit0:OSCD1 ビットに "1" が設定してあると
き , CLKR ( クロックソース制御レジスタ ) の bit10:PLL1EN ビットに "1" が設定
してあっても , ストップ状態中のメインクロック用 PLL を停止状態にします。
〔ストップ状態で停止しない回路〕を除くすべての内部回路
〔ストップ状態で停止しない回路〕
停止するように設定されていない発振回路 :
STCR ( スタンバイ制御レジスタ ) の bit0:OSCD1 ビットに "0" が設定してあると
き , ストップ状態中のメインクロック用発振回路は停止しません。このときイン
ターバルタイマも停止しません。
動作許可されていて , かつ停止するように設定されていない発振回路に接続された
PLL :
STCR ( スタンバイ制御レジスタ ) の bit0:OSCD1 ビットに "0" が設定してあると
き , CLKR ( クロックソース制御レジスタ ) の bit10:PLL1EN ビットに "1" が設定
してあると , ストップ状態中のメインクロック用 PLL は停止しません。
〔ストップ状態での端子のハイインピーダンス制御〕
STCR ( スタンバイ制御レジスタ ) の bit5:HIZ ビットに "1" が設定してあると , ストッ
プ状態中の端子出力をハイインピーダンス状態にします。
STCR ( スタンバイ制御レジスタ ) の bit5:HIZ ビットに "0" が設定してあると , ストッ
プ状態中の端子出力はストップ状態への遷移前の値を保持します。詳細は「4.3.6 ク
ロック生成制御部のレジスタ詳細説明」を参照してください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
147
第 6 章 低消費電力モード
6.3 ストップモード
MB91461
〔ストップ状態での周辺リソースへの入力 ]
ストップ状態では , 各周辺リソースへの入力は "0" になります。また , 外部割込み
(INTn) および CAN の受信 (RXn) 端子については , 対応する PFR を "0" とすると , 各
リソースの入力は "0" になりますが , PFR = 1 とすることにより , 端子からの信号が
リソースにつながります。
〔ストップ状態からの復帰要因〕
特定の ( クロックを必要としない ) 有効な割込み要求の発生 :
外部割込み入力端子 (INTn 端子 ) , メイン発振中のインターバルタイマ割込みの
み有効です。
割込み禁止(1FH)以外の割込みレベルの割込み要求が発生するとストップモード
は解除され , RUN 状態 ( 通常状態 ) へ遷移します。
割込み要求が発生してもストップモードを解除したくない場合は , 該当する ICR
に割込みレベルとして割込み禁止 (1FH) を設定してください。割込み要求レベル
(ELVR レジスタ ) にエッジ検出は設定しないでください。
インターバルタイマ割込み :
STCR ( スタンバイ制御レジスタ ) の bit0:OSCD1 ビットに "0" が設定してあると
き , インターバルタイマの割込み要求が発生するとストップモードは解除され ,
RUN 状態 ( 通常状態 ) へ遷移します。
割込み要求が発生してもストップモードを解除したくない場合は , インターバ
ルタイマを停止させるか , インターバルタイマの割込み許可ビットを割込み禁
止に設定してください。
設定初期化リセット (INIT) 要求の発生 :
設定初期化リセット (INIT) 要求が発生すると , 無条件で設定初期化リセット
(INIT) 状態へ遷移します。
動作初期化リセット (RST) 要求の発生 :
動作初期化リセット (RST) 要求が発生すると , 無条件で動作初期化リセット
(RST) 状態へ遷移します。
〔ストップモード時のクロックソース選択〕
ストップモードを設定する前に , PLL の出力を選択しないようにあらかじめ設定し
ておいてください。分周比の設定に関しては , 通常動作時と制限事項は変わりませ
ん。
148
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 6 章 低消費電力モード
6.4 シャットダウンモード
MB91461
6.4
シャットダウンモード
シャットダウンモードとは , RAM と一部の制御ロジック以外の電源供給を停止する
モードで , スタンバイ時のリーク電流を大幅に低減できます。
シャットダウンモードでは内蔵 RAM* およびシャットダウン復帰要因フラグ以外のレ
ジスタの設定は保持されません。必要な情報は RAM に残した上でシャットダウンモー
ドへ移行する必要があります。外部バスのコントロール信号を出力保持する以外はす
べての出力をハイインピーダンスの状態にします。本モードからの復帰は , あらかじめ
指定された外部割込み信号のアサートあるいは INITX( 外部リセット端子 ) のアサート
により行います。NMI 入力での復帰はできません。
* 命令 / データ兼用の ID-RAM 64 K バイト (0003:0000H ∼ 0003:FFFFH) です。
● SHDE: シャットダウン制御レジスタ
図 6.4-1 シャットダウン制御レジスタ
アドレス : 0004D4H
bit
リード / ライト
初期値
7
6
5
4
3
2
1
0
SDENB
―
―
―
―
―
―
―
R/W
―
X
―
X
―
X
―
X
―
X
―
X
―
X
X
X
X
X
0
(INITX 端子 , シャットダウンモードからのリセット )
初期値
保持
X
X
X
( ソフトウェアリセット , ウォッチドッグリセット )
シャットダウンモードを有効にするためのレジスタです。
SDENB (bit7): シャットダウンイネーブル
1: シャットダウンモード有効
2: シャットダウンモード無効
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
149
第 6 章 低消費電力モード
6.4 シャットダウンモード
MB91461
● EXTE: 外部割込みイネーブルレジスタ
図 6.4-2 外部割込みイネーブルレジスタ
アドレス : 0004D6H
bit
リード / ライト
7
6
5
4
3
2
1
0
RX1
RX0
INT7
INT6
INT3
INT2
INT1
INT0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
保持
保持
保持
保持
初期値
(INITX 端子 , シャットダウンモードからのリセット )
初期値
保持
保持
保持
保持
( ソフトウェアリセット , ウォッチドッグリセット )
シャットダウンモードからの復帰要因を選択するためのレジスタです。
復帰要因として有効にするには , 割込みあるいは CAN の受信信号 (RX) に対応する本
レジスタのビットに "1" を設定してください。シャットダウンモードからの復帰 ( リス
タート ) で本レジスタの各ビットはクリアされるので , シャットダウンモードに入る前
に毎回設定する必要があります。
● EXTF: 外部割込み要因フラグ
図 6.4-3 外部割込み要因フラグ
アドレス : 0004D7H
bit
リード / ライト
初期値
7
6
5
4
3
2
1
0
RX1
RX0
INT7
INT6
INT3
INT2
INT1
INT0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
保持
保持
保持
保持
保持
保持
保持
保持
(INITX 端子 )
初期値
( ソフトウェアリセット , シャットダウンモードからのリセット , ウォッチドッグリセット )
シャットダウンモードからの復帰要因を示すレジスタです。
復帰要因として有効な入力があった場合に対応するフラグに "1" が設定されます。本
レジスタは "0" 書込みのみ可能です。これらのフラグのクリアは , CPU 命令により "0"
を設定する , もしくは INITX 端子によるリセットで行います。
シャットダウン後に一番初めの要因が受け付けられると , その情報はフラグに保持さ
れ , 直ち ( 約 100μs 後 ) に復帰のためのリセットシーケンスを始めます。これにより ,
複数の復帰要因がある場合であっても , 時間差がある場合には後続の要因は受け付け
られず , フラグも保持されません。
150
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 6 章 低消費電力モード
6.4 シャットダウンモード
MB91461
● EXTLV1: 外部割込みレベルレジスタ
図 6.4-4 外部割込みレベルレジスタ
アドレス : 0004D8H
bit
リード / ライト
7
6
5
4
3
2
1
0
LB7
LA7
LB6
LA6
LB5
LA5
LB4
LA4
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
保持
保持
保持
保持
初期値
(INITX 端子 , シャットダウンモードからのリセット )
初期値
保持
保持
保持
保持
( ソフトウェアリセット , ウォッチドッグリセット )
● EXTLV2: 外部割込みレベルレジスタ
図 6.4-5 外部割込みレベルレジスタ
アドレス : 0004D9H
bit
リード / ライト
初期値
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
0
0
0
0
0
0
0
0
保持
保持
保持
保持
(INITX 端子 , シャットダウンモードからのリセット )
初期値
保持
保持
保持
保持
( ソフトウェアリセット , ウォッチドッグリセット )
シャットダウンモードからの復帰要因の割込みレベルを指定するためのレジスタで
す。
表 6.4-1 外部割込みレベルレジスタ
LBx
LAx
0
0
"L" レベル ( 初期値 )
0
1
"H" レベル
1
0
設定禁止
1
1
設定禁止
割込みレベル
<注意事項>
シャットダウンモードからの割込みレベルに対しては , "L" レベルまたは "H" レベルのみ
設定可能です。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
151
第 6 章 低消費電力モード
6.4 シャットダウンモード
MB91461
● シャットダウンモードへの移行
シャットダウンモードに遷移するには , 以下の手順が必要です。
1) EXTLV1, EXTLV2 ( 外部割込みレベルレジスタ ) でシャットダウンモードからの
復帰に使用する割込みの信号レベルを設定してください。
2) SHDE ( シャットダウン制御レジスタ ) の SDENB ビットに "1" を設定し , シャッ
トダウンモードを有効にしてください。
3) EXTE( 外部割込みイネーブルレジスタ ) で復帰に使用する外部割込みチャネル
を設定してください。あらかじめ , SHDE ビットに "1" が設定されていないと ,
復帰チャネルを "1" に設定できません。
4) ストップモードへ移行する場合と同様の命令列を実行してください。1) ∼ 3) を
実行しておくことにより , 次の命令シーケンスの実行後 , シャットダウンモード
に移行します。
(LDI
#value_of_stop, R0) ; value_of_stop は STCR へのライトデータ
(LDI
#_STCR, R12)
; _STCR は STCR のアドレス (481H)
STB
R0, @R12
; スタンバイ制御レジスタ (STCR) への書込み
LDUB
@R12, R0
; 同期スタンバイのための STCR リード
LDUB
@R12, R0
; もう一度 STCR をダミーリード
NOP
; タイミング調整用の NOP × 5
NOP
NOP
NOP
NOP
シャットダウンモード中は , 外部バスの制御信号はシャットダウンに移行する直前の
値を保持しますが , それ以外のすべての出力は Hi-Z 状態になります。シャットダウン
からの復帰用端子の入力はその復帰要因を受け付けるまでの間 , 入力しきい値とプル
アップ / プルダウンの設定を保持します。また , 本モードの間 , 水晶発振は発振を停止
し , 内部ロジックへの電源供給も RAM* およびシャットダウン制御ロジックを除いて
停止します。
*: 命令 / データ兼用の ID-RAM 64 K バイト (0003:0000H ∼ 0003:FFFFH) です。
152
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 6 章 低消費電力モード
6.4 シャットダウンモード
MB91461
[ シャットダウンモード中の端子状態 ]
表 6.4-2 シャットダウンモード中の端子状態
端子名
端子状態
WDRESETX
ASX
CS0X, CS1X, CS2X, CS3X,
CS4X
IORDX
IOWRX
RDX
WR0X, WR1X
BGRNTX
シャットダウンモード移行直前の状態を保持します。
INT0, INT1, INT2, INT3,
INT6, INT7,
RX0/INT8, RX1/INT9
シャットダウン中は入力しきい値の設定およびプル
アップ / プルダウンの設定を継続します。
最初の復帰要因を受け付けた後 , リセットへ移行す
る際に初期値に戻されます。
SYSCLK
Hi-Z 状態になります。
その他の端子
Hi-Z 状態になります。
プルアップ / プルダウンの設定は初期値になります。
● シャットダウンモードからの復帰
外部割込みイネーブルレジスタで設定した外部割込み端子に有効なレベルが入力され
ると , リセットがかかります。その後 , 内部ロジックへの電源供給開始 , 発振安定待ち
を経て復帰します。その際 , シャットダウンからの復帰要因は , 外部割込み要因フラグ
レジスタ (EXTF) に保持されます。このフラグレジスタの値を初期設定ルーチン内で判
定することにより , 初期電源投入時の処理とシャットダウンモード復帰時の処理とを
ソフトウェアで判定することが可能です。最初の復帰要因が入力され , 復帰処理を行っ
ている最中に入力された割込みについては要因を保持しません。
[ 割込み端子による復帰 ]
シャットダウンモードでの復帰要因は , 初めの要因が受け付けられるとフラグに保
持され , リセットシーケンスが走り始めます。複数の復帰要因が入力された場合で
も , 時間差がある場合 , 後続の要因が受け付けられず , フラグにも保持されません。
シャットダウンの復帰要因を受け付けると , すべての端子はリセット状態に戻され
ます。すなわち , 復帰用端子の入力しきい値設定 , プルアップ / プルダウン設定も初
期状態に戻されます。
復帰要因を受け付けた後は以下の手順を経て起動します。
1) 内部降圧レギュレータからの電源供給再開
2) 発振安定待ち
3) リセット解除 , モードベクタフェッチ , リセットベクタフェッチ
シャットダウン中 , 復帰用端子の入力しきい値は , シャットダウン前の設定値が継
続されます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
153
第 6 章 低消費電力モード
6.4 シャットダウンモード
MB91461
割込みからの復帰を行う場合 , 割込み要求レベル設定レジスタ (ELVR) でエッジ検
出は使用できません。
[INITX 端子による復帰 ]
INITX 端子に "L" レベルを入力することによりリセットがかかります。この場合は ,
すべての割込み要因フラグはクリアされます。
割込み端子による復帰と異なり , INITX 端子で復帰する場合には発振安定待ち時間
は確保されません。INITX を 8ms 以上入力し , 発振安定待ち時間を確保してくださ
い。
<注意事項>
シャットダウンモードからの復帰として NMI を使用することはできません。
シャットダウン中は RTC も動作を停止します。
• 割込み要因として, レベルを使用する場合は, 最低500μsのレベルを入力してください。
本規格を満たせない場合 , MCU が誤動作します。
シャットダウンからの復帰には , エッ
ジを使用する事を推奨します。
154
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第7章
ハードウェアウォッチ
ドッグタイマ
ハードウェアウォッチドッグタイマの機能につい
て説明します。
7.1 ハードウェアウォッチドッグタイマの概要
7.2 ハードウェアウォッチドッグタイマの構成
7.3 ハードウェアウォッチドッグタイマのレジスタ
7.4 ハードウェアウォッチドッグタイマの機能
7.5 ハードウェアウォッチドッグタイマ使用上の注意
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
155
第 7 章 ハードウェアウォッチドッグタイマ
7.1 ハードウェアウォッチドッグタイマの概要
7.1
MB91461
ハードウェアウォッチドッグタイマの概要
ハードウェアウォッチドッグタイマは , 内部カウンタが一定期間クリアされない場
合にリセット信号 ( 設定初期化リセット ) を発行します。
■ ハードウェアウォッチドッグタイマ
ハードウェアウォッチドッグタイマは , CPU 動作監視用のモジュールです。このタイ
マは設定初期化リセット (INIT) 後 , 直ちにカウントアップを開始します。プログラム
実行を継続させるには一定期間内に定期的にこのタイマをクリアする必要がありま
す。無限ループに陥った場合などでカウンタが一定期間以上クリアされない場合はリ
セット信号が発行されます。
外部端子 WDRESETX に出力される "L" パルス幅は原発振クロックの 128 サイクル分 ,
内部リセットは 1024 サイクル分の幅となります。
<注意事項>
CPU が下記のような動作を停止するモード ( スタンバイモード ) へ遷移した場合は , 本モ
ジュールの動作も停止します。
• スリープモード
: CPU 停止 , 周辺回路動作
• ストップモード
: CPU および周辺回路停止
• シャットダウンモード : CPU および周辺回路停止
• RTC モード
: CPU および RTC モジュールを除く周辺回路停止 , 発振子動作
• デバッグモード
: DSU ( デバッグサポートユニット ) によりブレークが発生し ,
デバッグルーチンが走行しているとき。
下記条件のいずれかを満たすことにより , ハードウェアウォッチドッグタイマはクリアさ
れます。
• HWDCS レジスタの CL ビットへの "0" 書込み
• リセット
• 発振停止
• スリープ / ストップ / シャットダウンモード , RTC モード , デバッグモードのいずれか
へ遷移
156
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 7 章 ハードウェアウォッチドッグタイマ
7.2 ハードウェアウォッチドッグタイマの構成
MB91461
7.2
ハードウェアウォッチドッグタイマの構成
ハードウェアウォッチドッグタイマは , 以下の 2 つの回路で構成されます。
• ウォッチドッグタイマ
• ハードウェアウォッチドッグタイマ制御レジスタ
■ ハードウェアウォッチドッグタイマのブロックダイヤグラム
図 7.2-1 ハードウェアウォッチドッグタイマのブロックダイヤグラム
X0入力
(水晶発振回路)
1/2
カウンタ
リセット信号
FF
クリア
予約
予約
予約
予約
CL
予約
予約
CPUF
内部バス
● ウォッチドッグタイマ
CPU 動作を監視するためのタイマです。リセット解除後は定期的にクリアしてくださ
い。
● ハードウェアウォッチドッグタイマ制御レジスタ
このレジスタにはリセットフラグとタイマのクリアビットがあります。
● リセット発行
タイマがある一定期間以上クリアされない場合 , ハードウェアウォッチドッグタイマ
モジュールは設定初期化リセット (INIT) を発行します。内部リセット信号の幅は原発
振クロックの 1024 周期分となります。
● ウォッチドッグタイマの動作クロック
ウォッチドッグタイマの動作クロックは ,
X0 からのクロック ( 外部入力あるいは水晶発振 ) です。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
157
第 7 章 ハードウェアウォッチドッグタイマ
7.3 ハードウェアウォッチドッグタイマのレジスタ
7.3
MB91461
ハードウェアウォッチドッグタイマのレジスタ
ハードウェアウォッチドッグタイマ制御レジスタには , リセットフラグとウォッチ
ドッグタイマクリアビットがあります。
■ ハードウェアウォッチドッグタイマ制御レジスタ
図 7.3-1 ハードウェアウォッチドッグタイマ制御レジスタ
HWDCS
bit
アドレス : 0004C7H
リード / ライト
初期値
7
6
5
4
3
2
1
0
予約
R/W
0
予約
R/W
0
予約
R/W
0
予約
R/W
1
CL
予約
R/W
0
予約
R/W
0
CPUF
W
1
R/W
0
[bit7 ∼ bit4] 予約 : 予約ビット
これらのビットは予約ビットです。
必ず , 0001B を設定してください。
[bit3] CL: タイマクリアビット
ウォッチドッグタイマクリアビットです。
このビットに "0" を書き込むことによって , ウォッチドッグタイマはクリアされま
す。
読出し値は常に "1" です。"1" 書込みは無効です。
[bit2, bit1] 予約 : 予約ビット
これらのビットは予約ビットです。
必ず , 00B を設定してください。
[bit0] CPUF: CPU リセットフラグ
ウォッチドッグタイマにオーバフローが発生すると , このビットは "1" に設定され
ます。
"0" 書込みによりこのビットはクリアされます。"1" 書込みは無効です。
外部リセット入力 (INITX) により初期化されますが , 内部リセット ( ソフトウェア
リセット ) では初期化されません。
158
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 7 章 ハードウェアウォッチドッグタイマ
7.3 ハードウェアウォッチドッグタイマのレジスタ
MB91461
■ ハードウェアウォッチドッグタイマ期間レジスタ
図 7.3-2 ハードウェアウォッチドッグタイマ期間レジスタ
HWWDE
bit
アドレス : 0004C7H
リード / ライト
初期値
7
6
5
4
3
2
1
0
予約
予約
予約
予約
予約
予約
ED1
ED0
−
−
R/W
0
R/W
0
−
−
−
−
−
−
−
−
−
−
[bit7 ∼ bit2] 予約 : 予約ビット
これらのビットは予約ビットです。
[bit1, bit0] ED : ウォッチドッグ期間設定
このビットによりウォッチドッグ期間を設定します。
ED1
ED0
機能
0
0
ウォッチドッグ周期を 216 × CR クロックサイクルとする ( 初期値 )
0
1
ウォッチドッグ周期を 217 × CR クロックサイクルとする
1
0
ウォッチドッグ周期を 218 × CR クロックサイクルとする
1
1
ウォッチドッグ周期を 219 × CR クロックサイクルとする
<注意事項>
• この機能は MB91461 では使用できません。
• MB91V460 では CR 発振により動作しますが , 周期は初期値から変更できません
(216 × CR から変更できません )。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
159
第 7 章 ハードウェアウォッチドッグタイマ
7.4 ハードウェアウォッチドッグタイマの機能
7.4
MB91461
ハードウェアウォッチドッグタイマの機能
一定期間以上ウォッチドッグタイマがクリアされない場合は , 設定初期化リセット
(INIT) が発行されます。この場合 , CPU のレジスタ値は保証されません。
■ ハードウェアウォッチドッグタイマの機能
リセット解除後 , 安定時間を待たずにハードウェアウォッチドッグタイマはカウント
アップを開始します。一定期間タイマがクリアされず , カウンタがオーバフローすると
設定初期化リセット (INIT) が発行されます。
■ ハードウェアウォッチドッグタイマの周期
ハードウェアウォッチドッグタイマのビット長は 23 ビットで , オーバフロー周期は
932.1ms ( 原発振 18MHz 時 ) です。
表 7.4-1 ハードウェアウォッチドッグタイマの周期
9MHz
18MHz
0.22μs
0.11μs
ウォッチドッグタイマ周期
1864.1ms
932.1ms
WDRESETX 出力パルス幅
14.22μs
7.11μs
WDRESETX アサート後 , 外部バスサイクル
の開始まで
113.78μs
56.89μs
ウォッチドッグタイマ
動作クロック周期
■ ウォッチドッグタイマオーバフロー時のリセットタイミング
図 7.4-1 ウォッチドッグタイマオーバフロー時のリセットタイミング
(18MHz発振時)
7.11µs
WDRESETX
内部リセット
160
56.89µs
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 7 章 ハードウェアウォッチドッグタイマ
7.4 ハードウェアウォッチドッグタイマの機能
MB91461
■ WDRESETX の端子出力について
WDRESETX 端子にはハードウェアウォッチドッグタイマのオーバフロー時の "L" パル
スが出力されるほか , 外部リセット入力 (INITX)によっても "L"レベルが出力されます。
WDRESETX 端子と外付けのフラッシュメモリの RESET 端子と接続することにより ,
ウォッチドッグリセットが発生した場合にフラッシュメモリが書込み / 消去モードに
ある場合でも読出しモードへ復帰します。
WDRESETX 端子には CPU コア部内蔵のソフトウェア起動のウォッチドッグタイマに
よるリセットとソフトウェアリセットではパルスは出力されません。したがって , フ
ラッシュメモリの書込み / 消去モードからの復帰にはこれらのリセット要因は使用で
きません。
<注意事項>
MB91V460 に WDRESETX 出 力 は あ り ま せ ん。ICE を 使 用 し て 動 作 さ せ る 場 合 は
WDRESETX 出力が使用できませんので注意してください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
161
第 7 章 ハードウェアウォッチドッグタイマ
7.5 ハードウェアウォッチドッグタイマ使用上の注意
7.5
MB91461
ハードウェアウォッチドッグタイマ使用上の注意
ハードウェアウォッチドッグタイマ使用上の注意について説明します。
■ ハードウェアウォッチドッグタイマ使用上の注意
● ソフトウェアでの停止不可
ウォッチドッグタイマはリセット解除後 , 直ちに動作を開始します。ソフトウェアでは
カウントを停止することはできません。
● リセット抑止
ハードウェアウォッチドッグリセットを抑止するにはタイマのクリアが必要です。
ハードウェアウォッチドッグタイマ制御レジスタの CL ビットに "0" が書き込まれると
タイマはいったんクリアされ , リセットの発行が抑止されます。
● タイマの停止とクリア
CPU が動作しないモード ( スリープモード , ストップモード , シャットダウンモード ,
RTC モード ) の場合 , 遷移前にタイマはクリアされてカウントは停止します。また ,
DSU 経由でデバッグルーチンが走行する場合 , ウォッチドッグタイマはクリアされて
カウントは停止します。
● DMA 転送中の動作
内部の D-bus に接続された周辺リソースへの DMA 転送中は DMAC がバスを占有して
しまうため CL ビットへの "0" 書込みはできません。したがって , DMA 転送時間が
ウォッチドッグ周期より長い場合はリセットが発行されます。
162
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第8章
外部バスインタフェース
外部バスインタフェースの各機能について説明し
ます。
8.1 外部バスインタフェースの特長
8.2 外部バスインタフェースのレジスタ
8.3 チップセレクト領域
8.4 エンディアンとバスアクセス
8.5 通常バスインタフェース
8.6 アドレス / データマルチプレックスインタフェース
8.7 DMA アクセス
8.8 レジスタ設定手順
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
163
第 8 章 外部バスインタフェース
8.1 外部バスインタフェースの特長
8.1
MB91461
外部バスインタフェースの特長
外部バスインタフェースの特長について説明します。
■ 外部バスインタフェースの特長
• 最大 24 ビット長のアドレス出力
• 各種外部メモリ (8 ビット /16 ビット ) を直結できるほか , 複数のアクセスタイミン
グを混在制御可能
- 非同期 SRAM, 非同期 ROM/ フラッシュメモリ
( 複数ライトストローブ方式 )
- アドレス / データマルチプレックスバス (8 ビット /16 ビット幅のみ )
• 独立した 5 個のバンク ( チップセレクト領域 ) を設定でき , それぞれに対応したチッ
プセレクト出力が可能
- CS0 ∼ CS4 は , 64K バイト∼ 2048M バイト単位で , 00040000H ∼ 00FFFFFFH の空
間に設定可能
- 領域サイズによりバウンダリの制限あり
• チップセレクト領域ごとに以下の機能を独立に設定可能
- チップセレクト領域の許可・禁止
( 禁止された領域はアクセスを行いません )
- 各種メモリ対応などのアクセスタイミングタイプ設定
- 詳細アクセスタイミング設定
( ウェイトサイクルなどのアクセスタイプ個別設定 )
- データバス幅設定 (8 ビット /16 ビット )
• アクセスタイミングタイプごとに異なる詳細なタイミングを設定可能
- 同一タイプでもチップセレクト領域ごとに異なる設定が混在可能
- オートウェイトは , 最大 7 サイクルまで設定可能
( 非同期 SRAM, ROM, Flash, I/O 領域 )
- 外部 RDY 入力によるバスサイクルの延長が可能
( 非同期 SRAM, ROM, Flash, I/O 領域 )
- 各種アイドル・リカバリサイクル , セットアップ遅延などの挿入が可能
164
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.1 外部バスインタフェースの特長
MB91461
■ 外部バスインタフェースのブロックダイヤグラム
図 8.1-1 に , 外部バスインタフェースのブロックダイヤグラムを示します。
図 8.1-1 外部バスインタフェースのブロックダイヤグラム
内部
内部
アドレスバス データバス
32
32
/
/
A-OUT
MUX
ライト
バッファ
スイッチ
リード
バッファ
スイッチ
外部
データバス
データブロック
アドレスブロック
+1または+2
外部
アドレスバス
アドレス
バッファ
コンパ
レータ
ASR
ASZ
外部端子制御部
全ブロック制御
レジスタ
&
制御
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
CS0X~CS4X
ASX, RDX
WR0X, WR1X
BRQ
BGRNTX
RDY
SYSCLK
165
第 8 章 外部バスインタフェース
8.1 外部バスインタフェースの特長
MB91461
■ I/O ピン
外部バスインタフェースの端子です。
〔通常バスインタフェース〕
A23 ∼ A00, D31 ∼ D16 (AD15 ∼ AD00)
CS0X, CS1X, CS2X, CS3X, CS4X
ASX, SYSCLK, RDX, WR0X, WR1X, WEX
RDY, BRQ, BGRNTX
<注意事項>
MB91461 には MCLKE, MCLKI, MCLKO, BAAX はありません。
■ 外部バスインタフェースのレジスタ一覧
図 8.1-2 に , 外部バスインタフェースのレジスタ構成を示します。
図 8.1-2 外部バスインタフェースのレジスタ構成
アドレス
bit 31
24 23
16 15
8 7
000640H
ASR0
ACR0
000644H
ASR1
ACR1
000648H
ASR2
ACR2
00064CH
ASR3
ACR3
000650H
ASR4
ACR4
000660H
AWR0
AWR1
000664H
AWR2
AWR3
000668H
AWR4
予約
0
000678H
IOWR0
IOWR1
IOWR2
予約
000680H
CSER
CHER
予約
TCR
0007FCH
予約
MODR*
予約
予約
予約 : 予約レジスタです。書き換える場合には , 必ず "0" を設定してください。
* : MODR はユーザプログラムからはアクセスできません。
166
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.2 外部バスインタフェースのレジスタ
MB91461
8.2
外部バスインタフェースのレジスタ
外部バスインタフェースのレジスタについて説明します。
■ 外部バスインタフェースのレジスタ概要
外部バスインタフェースには , 以下の 7 種類のレジスタがあります。
• 領域選択レジスタ (ASR0 ∼ ASR4)
• 領域構成レジスタ (ACR0 ∼ ACR4)
• 領域ウェイトレジスタ (AWR0 ∼ AWR4)
• DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2)
• チップセレクト領域許可レジスタ (CSER)
• キャッシュイネーブルレジスタ (CHER)
• 端子 / タイミングコントロールレジスタ (TCR)
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
167
第 8 章 外部バスインタフェース
8.2 外部バスインタフェースのレジスタ
8.2.1
MB91461
領域選択レジスタ (ASR0 ∼ ASR4)
領域選択レジスタの詳細を説明します。
■ 領域選択レジスタ (ASR0 ∼ ASR4) のレジスタ構成
図 8.2-1 に , 領域選択レジスタ (ASR0 ∼ ASR4) のレジスタ構成を示します。
図 8.2-1 領域選択レジスタ (ASR0 ∼ ASR4) のレジスタ構成
ASR0
000640H
bit15
A31
...
...
8
A24
7
A23
6
A22
...
...
1
A17
0
A16
初期値
INIT 時 RST 時
0000H
0000H
アクセス
ASR1
000644H
bit15
A31
...
...
8
A24
7
A23
6
A22
...
1
A17
0
A16
XXXXH
00XXH
R/W
ASR2
000648H
bit15
A31
...
...
8
A24
7
A23
6
A22
...
1
A17
0
A16
XXXXH
XXXXH
R/W
ASR3
00064CH
bit15
A31
...
...
8
A24
7
A23
6
A22
...
1
A17
0
A16
XXXXH
00XXH
R/W
ASR4
000650H
bit15
A31
...
...
8
A24
7
A23
6
A22
...
1
A17
0
A16
XXXXH
00XXH
R/W
R/W
[bit15 ∼ bit0] A31 ∼ A16 : 領域開始アドレス
ASR0 ∼ ASR4 ( 領域選択レジスタ 0 ∼ 4) は , CS0X ∼ CS4X の各チップセレクト領
域の開始アドレスを指定します。
開始アドレスは , A31 ∼ A16 の上位 16 ビットを設定できます。各チップセレクト
領域は , このレジスタに設定されたアドレスから始まり , ACR0 ∼ ACR4 レジスタ
の ASZ3 ∼ ASZ0 ビットで設定された範囲をとります。
各チップセレクト領域のバウンダリは , ACR0 ∼ ACR4 レジスタの ASZ3 ∼ ASZ0
ビットの設定に従います。例えば , ASZ3 ∼ ASZ0 ビットにより , 1M バイトの領域
を設定した場合は , ASR0 ∼ ASR4 レジスタの下位 4 ビットは無視され , A23 ∼ A20
ビットのみ意味があります。
ASR0 レジスタは , INIT および RST により , 0000H に初期化されます。ASR1 ∼ ASR4
は , INIT および RST によっては初期化されずに不定となります。LSI の動作開始
後 , CSER レジスタにより各チップセレクト領域を有効にする前に , 必ず対応する
ASR レジスタを設定してください。
168
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.2 外部バスインタフェースのレジスタ
MB91461
8.2.2
領域構成レジスタ (ACR0 ∼ ACR4)
領域構成レジスタの詳細を説明します。
■ 領域構成レジスタ (ACR0 ∼ ACR3) のレジスタ構成
図 8.2-2 に , 領域構成レジスタ (ACR0 ∼ ACR3) のレジスタ構成を示します。
図 8.2-2 領域構成レジスタ (ACR0 ∼ ACR3) のレジスタ構成
14
13
12
11
10
9
8
ACR0 上位 bit15
000642H ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0
初期値
INIT 時
RST 時
1111**00B
1111**00B
6
5
ACR0 下位 bit7
000643H SREN PFEN WREN
00000000B
4
0
3
2
1
0
TYP3 TYP2 TYP1 TYP0
00000000B
アクセス
R/W
R/W
14
13
12
11
10
9
8
ACR1 上位 bit15
000646H ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0 XXXXXXXXB XXXXXXXXB
R/W
6
5
4
3
2
1
0
ACR1 下位 bit7
000647H SREN PFEN WREN LEND TYP3 TYP2 TYP1 TYP0 XXXXXXXXB XXXXXXXXB
R/W
14
13
12
11
10
9
8
ACR2 上位 bit15
00064AH ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0 XXXXXXXXB XXXXXXXXB
R/W
6
5
4
3
2
1
0
ACR2 下位 bit7
00064BH SREN PFEN WREN LEND TYP3 TYP2 TYP1 TYP0 XXXXXXXXB XXXXXXXXB
R/W
14
13
12
11
10
9
8
ACR3 上位 bit15
00064EH ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0 XXXXXXXXB XXXXXXXXB
R/W
6
5
4
3
2
1
0
ACR3 下位 bit7
00064FH SREN PFEN WREN LEND TYP3 TYP2 TYP1 TYP0 XXXXXXXXB XXXXXXXXB
R/W
14
13
12
11
10
9
8
ACR4 上位 bit15
000652H ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0 XXXXXXXXB XXXXXXXXB
R/W
6
5
4
3
2
1
0
ACR4 下位 bit7
000653H SREN PFEN WREN LEND TYP3 TYP2 TYP1 TYP0 XXXXXXXXB XXXXXXXXB
R/W
ACR0 ∼ ACR4 (Area Configuration Register 0 ∼ 4) は , 各チップセレクト領域の機能を設
定します。
ACR0 の DBW1, DBW0 ビットの初期値はモードベクタの WTH ビットの値が書き込ま
れます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
169
第 8 章 外部バスインタフェース
8.2 外部バスインタフェースのレジスタ
MB91461
[bit15 ∼ bit12] ASZ3 ∼ ASZ0 : Area SiZe ビット 3 ∼ 0
表 8.2-1 に , Area Size ビットの各チップセレクト領域のサイズを示します。
表 8.2-1 Area Size ビットの各チップセレクト領域のサイズ
ASZ3 ASZ2 ASZ1 ASZ0
各チップセレクト領域のサイズ
0
0
0
0
64K バイト (00010000H バイト , ASR A31 ∼ A16 ビット指定が有効 )
0
0
0
1
128K バイト (00020000H バイト , ASR A31 ∼ A17 ビット指定が有効 )
0
0
1
0
256K バイト (00040000H バイト , ASR A31 ∼ A18 ビット指定が有効 )
0
0
1
1
512K バイト (00080000H バイト , ASR A31 ∼ A19 ビット指定が有効 )
0
1
0
0
1M バイト (00100000H バイト , ASR A31 ∼ A20 ビット指定が有効 )
0
1
0
1
2M バイト (00200000H バイト , ASR A31 ∼ A21 ビット指定が有効 )
0
1
1
0
4M バイト (00400000H バイト , ASR A31 ∼ A22 ビット指定が有効 )
0
1
1
1
8M バイト (00800000H バイト , ASR A31 ∼ A23 ビット指定が有効 )
1
0
0
0
16M バイト (01000000H バイト , ASR A31 ∼ A24 ビット指定が有効 )
1
0
0
1
32M バイト (02000000H バイト , ASR A31 ∼ A25 ビット指定が有効 )
1
0
1
0
64M バイト (04000000H バイト , ASR A31 ∼ A26 ビット指定が有効 )
1
0
1
1
128M バイト (08000000H バイト , ASR A31 ∼ A27 ビット指定が有効 )
1
1
0
0
256M バイト (10000000H バイト , ASR A31 ∼ A28 ビット指定が有効 )
1
1
0
1
512M バイト (20000000H バイト , ASR A31 ∼ A29 ビット指定が有効 )
1
1
1
0
1024M バイト (40000000H バイト , ASR A31 ∼ A30 ビット指定が有効 )
1
1
1
1
2048M バイト (80000000H バイト , ASR A31 ビット指定が有効 )
ASZ3 ∼ ASZ0 では , ASR とのアドレス比較のビット数を変更させることにより , 各
領域のサイズを設定します。そのため , ASR には比較されないビットが存在します。
ACR0 の ASZ3 ∼ ASZ0 ビットは RST により 1111B に初期化されますが , この設定
にかかわらず RST 直後の CS0 領域は特別に 00000000H から FFFFFFFFH ( 全領域 )
に設定されています。ACR0 への最初の書込み後より , 全領域設定が解除されて上
記の表に従ったサイズに設定されます。
170
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.2 外部バスインタフェースのレジスタ
MB91461
[bit11, bit10] DBW1, DBW0 : Data Bus Width1, 0
表 8.2-2 に , DBW ビットの各チップセレクト領域のデータバス幅を示します。
表 8.2-2 DBW ビットの各チップセレクト領域のデータバス幅
DBW1
DBW0
0
0
8 ビット ( バイトアクセス )
0
1
16 ビット ( ハーフワードアクセス )
1
0
予約 設定禁止
1
1
予約 設定禁止
データバス幅
ACR0 の DBW1, DBW0 ビットは , リセットシーケンス中にモードベクタの WTH
ビットの値と同じ値が自動的に書き込まれます。
[bit9, bit8] BST1, BST0 : BurST Size 1, 0
表 8.2-3 に , BST ビットの各チップセレクト領域のバースト長を示します。
表 8.2-3 BST ビットの各チップセレクト領域のバースト長
BST1
BST0
0
0
1 ( シングルアクセス )
0
1
2 バースト
1
0
4 バースト
1
1
8 バースト
最大バースト長
シングルアクセス以外のバースト長が設定された領域は , プリフェッチアクセスま
たはバス幅を超えるサイズのデータの読出しを行った場合のみ , バースト長から決
まるアドレス境界内で連続したバーストアクセスを行います。
バス幅 16 ビット領域の最大バースト長は 2 バースト以下を推奨します。
[bit7] SREN : ShaRed ENable
表 8.2-4 に , SREN ビットの各チップセレクト領域の BRQ/BGRNTX による共有の
許可・禁止を示します。
表 8.2-4 SREN ビットの各チップセレクト領域の BRQ/BGRNTX による共有の
許可・禁止
SREN
共有の許可・禁止
0
BRQ/BGRNTX による共有を禁止 (CSnX は Hi-Z になりません )
1
BRQ/BGRNTX による共有を許可 (CSnX は Hi-Z になります )
共有が許可された領域は , バス開放中 (BGRNTX = "L" 出力中 ) は CSnX が Hi-Z に
なります。共有が禁止された領域は , バス開放中 (BGRNTX = "L" 出力中 ) も CSnX
が Hi-Z になりません。CSER により許可されたすべての領域の共有が許可されてい
る場合のみ , アクセスストローブ出力 (RDX, WR1X, WR0X) は Hi-Z になります。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
171
第 8 章 外部バスインタフェース
8.2 外部バスインタフェースのレジスタ
MB91461
[bit6] PFEN : PreFetch ENable
表 8.2-5 に , PFEN ビットの各チップセレクト領域のプリフェッチの許可・禁止を示
します。
表 8.2-5 PFEN ビットの各チップセレクト領域のプリフェッチの許可・禁止
PFEN
プリフェッチ許可・禁止
0
プリフェッチ禁止
1
プリフェッチ許可
プリフェッチが許可された領域に対しての読出しを行うと , それに続くアドレスに
対して先読みを行い , 内蔵プリフェッチバッファに蓄積します。蓄積されたアドレ
スに対して内部バスからのアクセスがあると , 外部アクセスを行わずにプリフェッ
チバッファに先読みされたデータを返します。
[bit5] WREN : WRite ENable
表 8.2-6 に , WREN ビットの各チップセレクト領域の書込みの許可・禁止を示します。
表 8.2-6 WREN ビットの各チップセレクト領域の書込みの許可・禁止
WREN
書込み許可・禁止
0
書込み禁止
1
書込み許可
書込みが禁止された領域に対する書込みアクセスが内部バスから発生しても , その
アクセスは無視され , 外部アクセスを一切行いません。
データ領域など , 書込みが必要な領域は , WREN ビットに "1" を設定してください。
[bit4] LEND : Little ENDian select
表 8.2-7 に, LENDビットの各チップセレクト領域のバイトオーダリングを示します。
表 8.2-7 LEND ビットの各チップセレクト領域のバイトオーダリング
LEND
バイトオーダリング
0
ビッグエンディアン
1
リトルエンディアン
ACR0のLENDビットには必ず"0"が設定され, 常にビッグエンディアンとなります。
172
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.2 外部バスインタフェースのレジスタ
MB91461
[bit3 ∼ bit0] TYP3 ∼ TYP0 : TYPe select
表 8.2-8 に , TYP ビットの各チップセレクト領域のアクセスタイプを示します。
表 8.2-8 TYP ビットの各チップセレクト領域のアクセスタイプ
TYP3
TYP2
TYP1
TYP0
0
X
X
通常アクセス ( 非同期 SRAM, I/O, 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
0
アクセスタイプ
0
1
0
設定禁止
0
1
1
設定禁止
1
0
0
設定禁止
1
0
1
設定禁止
1
1
0
設定禁止
1
1
1
マスク領域設定
( アクセスタイプは重複した領域のものになります ) *
各ビットは , 組み合せて設定します。
* : CS 領域マスク設定機能
ある CS 領域 ( 以降 , ベース設定領域とよびます ) の中に , 一部動作設定を変更した
領域を定義したい場合 , 別の CS 領域の設定にて , ACR:TYP3 ∼ TYP0 = 1111B を設
定し , マスク設定領域として機能させることができます。
マスク設定機能を使用しない場合 , 複数の CS 領域でオーバラップする領域設定を
禁止します。
マスク設定領域へのアクセスは , 以下のような動作を行います。
- マスク設定領域に対応する CSX はアサートされません。
- ベース設定領域に対応する CSX がアサートされます。
- ACR の以下の設定はマスク設定領域側のものが有効になります。
bit11, bit10 (DBW1, DBW0) : バス幅設定
bit9, bit8 (BST1, BST0)
: バースト長設定
bit7 (SREN)
: 共有許可設定
bit6 (PFEN)
: プリフェッチ許可設定
bit5 (WREN)
: ライト許可設定 ( この設定のみ , ベース設定領域と
異なる設定を禁止します。)
bit4 (LEND)
CM71-10159-2
: リトルエンディアン設定
FUJITSU MICROELECTRONICS LIMITED
173
第 8 章 外部バスインタフェース
8.2 外部バスインタフェースのレジスタ
MB91461
- ACR の以下の設定はベース設定領域側のものが有効になります。
bit3, bit0 (TYP3, TYP0) : アクセスタイプ設定
- AWR の設定はマスク設定領域側のものが有効になります。
- CHER の設定はマスク設定領域側のものが有効になります。
マスク設定領域は , ほかの CS 領域 ( ベース設定領域 ) 内の一部の領域にのみ設定
できます。ベース設定領域がない領域に対して , マスク設定領域を設けてはいけ
ません。また , マスク設定領域を複数重複させないでください。ASR および
ACR:ASZ1, ASZ0 ビットの設定には十分注意してください。
<注意事項>
[bit3 ∼ bit0] TYP3 ∼ TYP0 についての制限事項は以下のとおりです。
• ライト許可設定をマスクで実現することはできません。
• ライト許可設定は , ベースとなる CS 領域とマスク設定領域とで同じ設定としてくださ
い。
• マスク設定領域でライト禁止を設定するとその領域はマスクされずにベースCS領域と
して動作します。
• ベース CS 領域でライト禁止を設定し , マスク設定領域でライト許可を設定すると ,
ベース設定のない領域となり誤動作します。
174
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.2 外部バスインタフェースのレジスタ
MB91461
領域ウェイトレジスタ (AWR0 ∼ AWR4)
8.2.3
領域ウェイトレジスタの詳細を説明します。
■ 領域ウェイトレジスタ (AWR0 ∼ AWR4) のレジスタ構成
図 8.2-3 に , AWR0 ∼ AWR4 のレジスタ構成を示します。
図 8.2-3 AWR0 ∼ AWR4 のレジスタ構成
AWR0 上位 bit31
000660H
W15
AWR0 下位 bit23
000661H
W07
AWR1 上位 bit15
30
29
28
27
26
25
24
W14
W13
W12
W11
W10
W09
W08
22
21
20
19
18
17
16
W06
W05
W04
W03
W02
W01
W00
14
13
12
11
10
9
8
000662H
W15
W14
W13
W12
W11
W10
W09
AWR1 下位
bit7
6
5
4
3
2
1
000663H
W07
W06
W05
W04
W03
W02
W01
30
29
28
27
26
25
W14
W13
W12
W11
W10
W09
22
21
20
19
18
17
W06
W05
W04
W03
W02
W01
14
13
12
11
10
9
AWR2 上位 bit31
000664H
W15
AWR2 下位 bit23
000665H
W07
AWR3 上位 bit15
000666H
W15
W14
W13
W12
W11
W10
W09
AWR3 下位
bit7
6
5
4
3
2
1
000667H
W07
W06
W05
W04
W03
W02
W01
14
13
12
11
10
9
AWR4 上位 bit15
000668H
W15
W14
W13
W12
W11
W10
W09
AWR4 下位
bit7
6
5
4
3
2
1
000669H
W07
W06
W05
W04
W03
W02
W01
初期値
INIT 時
RST 時
アクセス
01111111B
01111111B
R/W
11111011B
11111011B
R/W
W08 XXXXXXXXB XXXXXXXXB
R/W
0
W00 XXXXXXXXB XXXXXXXXB
R/W
24
W08 XXXXXXXXB XXXXXXXXB
R/W
16
W00 XXXXXXXXB XXXXXXXXB
R/W
8
W08 XXXXXXXXB XXXXXXXXB
R/W
0
W00 XXXXXXXXB XXXXXXXXB
R/W
8
W08 XXXXXXXXB XXXXXXXXB
R/W
0
W00 XXXXXXXXB XXXXXXXXB
R/W
AWR0 ∼ AWR4 は , 各チップセレクト領域の各種ウェイトタイミングを指定します。
ACR0 ∼ ACR4 レジスタのアクセスタイプ (TYP3 ∼ TYP0 ビット ) の設定により , 各
ビットの働きが変わります。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
175
第 8 章 外部バスインタフェース
8.2 外部バスインタフェースのレジスタ
MB91461
■ 通常アクセスおよびアドレス / データマルチプレックスアクセス
ACR0 ∼ ACR4 レジスタのアクセスタイプ (TYP3 ∼ TYP0 ビット ) に以下の設定を行っ
たチップセレクト領域は , 通常アクセスまたはアドレス / データマルチプレックスアク
セス動作を行う領域となります。
表 8.2-9 通常アクセスおよびアドレス / データマルチプレックスアクセス
TYP3
TYP2
TYP1
TYP0
0
0
X
X
通常アクセス ( 非同期 SRAM, I/O, ROM/Flash)
0
1
X
X
アドレスデータマルチプレックスアクセス
(8/16 ビットバス幅限定 )
アクセスタイプ
通常アクセスまたはアドレス / データマルチプレックスアクセス領域に対しての AWR0 ∼
AWR3 の各ビットの機能を以下に示します。AWR0 以外は初期値が不定ですので , 各領域
を CSER レジスタによって有効にする前に設定を行ってください。
[bit15 ∼ bit12] W15 ∼ W12 : ファーストアクセスウェイトサイクル
(First Access Wait Cycle)
各サイクルの最初のアクセスサイクルに挿入するオートウェイトサイクル数を設
定します。バーストアクセスサイクル以外は , このウェイト設定のみ使用されます。
CS0 領域は , 初期値 7 ウェイトに設定されます。その他の領域は初期値不定です。
表 8.2-10 各サイクルの最初のアクセスサイクルに挿入するオートウェイトサイク
ル数
W15
W14
W13
W12
0
0
0
0
自動ウェイトサイクル 0
0
0
0
1
自動ウェイトサイクル 1
ファーストアクセスウェイトサイクル
…
1
176
1
…
1
1
自動ウェイトサイクル 15
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.2 外部バスインタフェースのレジスタ
MB91461
[bit11 ∼ bit8] W11 ∼ W08 : ページ内アクセスウェイトサイクル
(Inpage Access Wait Cycle)
バーストアクセス時 , ページ内アクセスのオートウェイトサイクル数を設定しま
す。バーストアクセスサイクル以外では意味がありません。
表 8.2-11 バーストアクセス時 , ページ内アクセスのオートウェイトサイクル数
W11
W10
W09
W08
0
0
0
0
自動ウェイトサイクル 0
0
0
0
1
自動ウェイトサイクル 1
ページ内アクセスウェイトサイクル
…
1
1
…
1
1
自動ウェイトサイクル 15
ファーストアクセスウェイトサイクルとページ内アクセスウェイトサイクルに同
じ値を設定しても , それぞれのアクセスサイクルでのアドレスからのアクセスタイ
ムは同じにはならないことに注意してください ( ページ内アクセスサイクルでは ,
アドレス出力遅延が含まれるため ) 。
[bit7, bit6] W07, W06 : リード → ライトアイドルサイクル (Read → Write Idle Cycle)
リード→ライトアイドルサイクルは , リードサイクル後にライトサイクルが続く場
合に , リードデータとライトデータのデータバス上での衝突を防ぐために設定しま
す。アイドルサイクル中はすべてのチップセレクト信号をネゲートし , データ端子
は Hi-Z 状態を維持します。
リード後にライトが続く場合 , もしくはリードの後に別のチップセレクト領域への
アクセスが発生した場合に , 指定したアイドルサイクルを挿入します。
CM71-10159-2
W07
W06
0
0
0 サイクル
0
1
1 サイクル
1
0
2 サイクル
1
1
3 サイクル
リード→ライトアイドルサイクル
FUJITSU MICROELECTRONICS LIMITED
177
第 8 章 外部バスインタフェース
8.2 外部バスインタフェースのレジスタ
MB91461
[bit5, bit4] W05, W04 : ライトリカバリサイクル (Write Recovery Cycle)
ライトリカバリサイクルは , ライトアクセス後に続けてアクセスする際の間隔に制
限のあるデバイスへのアクセスを制御する場合に設定します。ライトリカバリサイ
クル中はすべてのチップセレクト信号をネゲートし , データ端子はハイインピーダ
ンスを維持します。
ライトリカバリサイクルを "1" 以上に設定した場合は , ライトアクセスの後には必
ずライトリカバリサイクルが挿入されます。
W05
W04
0
0
0 サイクル
0
1
1 サイクル
1
0
2 サイクル
1
1
3 サイクル
ライトリカバリサイクル
[bit3] W03 : WR1X, WR0X 出力タイミング選択
WR1X, WR0X 出力タイミング設定は , ライトストローブ出力を , 非同期ストローブ
として使用するか , 同期ライトイネーブルとして使用するかを選択します。非同期
ストローブとすることにより通常メモリ I/O に対応し , 同期イネーブルとすること
によりクロック同期のメモリ I/O (ASIC 内蔵メモリなど ) に対応します。
W03
WR1X, WR0X 出力タイミング選択
0
SYSCLK 同期ライトイネーブル出力 (ASX = "L" から有効 )
1
非同期ライトストローブ出力 ( 通常動作 )
同期ライトイネーブルとした場合 (AWR:W03 ビットが "0") , 以下のような動作とな
ります。
• 同期ライトイネーブル出力のタイミングは , 外部メモリアクセスクロックの
SYSCLK 出力の立上りエッジで取り込まれることを前提としたタイミング
になります。非同期ストローブ出力とはタイミングが異なります。
• WR1X, WR0X 端子出力は , ASX 端子出力がアサートされているタイミングから
同期ライトイネーブル出力をアサートします。外部バスへのライトが行われる場
合 , 同期ライトイネーブル出力は "L" を出力します。外部バスからのリードが行
われる場合 , 同期ライトイネーブル出力は "H" を出力します。
• 同期ライトイネーブル出力をアサートした次のクロックサイクルにて, 外部デー
タ出力端子よりライトデータを出力します。
• リードストローブ出力 (RDX) は , WR1X, WR0X 出力タイミング設定の内容にか
かわらず , 非同期リードストローブとして機能します。データの入出力方向制御
にそのまま用いてください。
• 同期ライトイネーブル出力を使用する場合 , 以下の制限があります。
• 以下の追加ウェイト設定はしないでください。
- CSX → RDX/WR1X, WR0X セットアップ設定 (AWR:W01 ビットは常に "0" を
178
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.2 外部バスインタフェースのレジスタ
MB91461
書いてください )
- ファーストアクセスウェイトサイクル設定 (AWR:W15 ∼ W12 ビットには
常に 0000 B を書いてください )
• 以下のアクセスタイプ設定 (ACR レジスタ中の TYP3 ∼ TYP0 ビット (bit3 ∼ bit0) )
は設定しないでください。
- WR1X, WR0X をライトストローブとして使用する設定 (ACR:TYP1 ビットには
常に "0" を書いてください )
- アドレス / データマルチプレックスバス設定 (ACR:TYP2 ビットには常に "0" を
書いてください )
- RDY 入力有効設定 (ACR:TYP0 ビットには常に "0" を書いてください )
• 同期ライトイネーブル出力の場合 , バースト長には常に "1" (ACR:BST1, BST0
ビットに 00B) を設定してください。
[bit2] W02 : アドレス → CSX 遅延 (Address → CSX Delay)
アドレス→ CSX 遅延設定は , CSX の立下りに対してアドレスなどが一定のセット
アップを必要とする場合や , 連続して同一のチップセレクト領域にアクセスする際
にも CSX のエッジを必要とする場合などに設定します。
アドレスおよび ASX 出力から CS0X ∼ CS4X 出力の遅延を設定します。
W02
アドレス → CSX 遅延
0
遅延なし
1
遅延あり
"0" を設定し , 遅延なしを選択した場合は , ASX のアサートと同じタイミングで CS0X ∼
CS4X がアサート開始されます。このとき , 同じチップセレクト領域に連続したアクセス
を実行した場合 , 両アクセスの間も CS0X ∼ CS4X はアサートを継続したまま変化しない
ことがあります。
"1" を設定し , 遅延ありを選択した場合は , 外部メモリクロック SYSCLK 出力の立
上りから CS0X ∼ CS4X がアサート開始されます。このとき , 同じチップセレクト
領域に連続したアクセスを実行した場合でも , 両アクセスの間に CS0X ∼ CS4X ネ
ゲートタイミングが発生します。
CSX 遅延ありを選択した場合は , 遅延させた CSX のアサートからリード / ライトス
トローブをアサートする前に , 1 サイクルのセットアップサイクルを挿入します
(W01 の CSX → RDX/WR1X, WR0X セットアップ設定と同等の動作となります ) 。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
179
第 8 章 外部バスインタフェース
8.2 外部バスインタフェースのレジスタ
MB91461
[bit1] W01 : CSX → RDX/WR1X, WR0X セットアップ延長サイクル (CSX → RDX/
WR1X, WR0X setup)
CSX → RDX/WR1X, WR0X セットアップ延長サイクルは , CSX アサート後 , リード /
ライトストローブをアサートするまでの期間を延長する場合に設定します。CSX ア
サート後 , リード / ライトストローブをアサートする前に最低 1 サイクルのセット
アップ延長サイクルを挿入します。
W01
CSX → RDX/WR1X, WR0X セットアップ延長サイクル
0
0 サイクル
1
1 サイクル
"0" を設定して 0 サイクルを選択した場合は , 最速で , CSX アサート直後の外部メモ
リクロック SYSCLK 出力の立上りから RDX/WR0X, WR1X が出力されます。WR0X,
WR1X は , 内部バスの状態により , 1 サイクル以上遅れることもあります。
"1" を設定して 1 サイクルを選択した場合は , RDX/WR0X, WR1X とも , 必ず 1 サイ
クル以上遅れて出力されます。
同一チップセレクト領域内で , CSX をネゲートしないまま連続してアクセスする場
合 , このセットアップ延長サイクルは挿入されません。アドレス確定のセットアッ
プ延長サイクルが必須となる場合 , W02 ビットを有効にしてアドレス → CSX 遅延
を挿入することにより , 毎アクセス時に CSX がいったんネゲートされるため , この
セットアップ延長サイクルが有効となります。
W02 の CSX 遅延設定を挿入してある場合 , W01 ビットの設定によらず , 常にこの
セットアップサイクルが有効となります。
[bit0] W00 : RDX/WR1X, WR0X → CSX ホールド延長サイクル (RDX/WR1X, WR0X →
CSX Hold Cycle)
RDX/WR1X, WR0X → CSX ホールド延長サイクルは , リード / ライトストローブネ
ゲート後 , CSX ネゲートまでの期間を延長する場合に設定します。リード / ライト
ストローブネゲート後 , CSX をネゲートする前に , 1 サイクルのホールド延長サイ
クルを挿入します。
W00
RDX/WR1X, WR0X → CSX ホールド延長サイクル
0
0 サイクル
1
1 サイクル
"0" を設定して 0 サイクルを選択した場合は , RDX/WR0X, WR1X がネゲートされた後
の外部メモリクロック SYSCLK 出力の立上りエッジよりホールド遅延の経過後に
CS0X ∼ CS3X がネゲートされます。
"1" を設定して 1 サイクルを選択した場合は , CS0X ∼ CS4X は 1 サイクル遅れてネ
ゲートされます。
同一チップセレクト領域内で , CSX をネゲートしないまま連続してアクセスする場
合 , このホールド延長サイクルは挿入されません。アドレス確定のホールド延長サ
イクルが必須となる場合 , W02 ビットを有効にしてアドレス → CSX 遅延を挿入す
ることにより , 毎アクセス時に CSX がいったんネゲートされるため , このホールド
延長サイクルが有効となります。
180
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.2 外部バスインタフェースのレジスタ
MB91461
DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2)
8.2.4
DMAC 用 I/O ウェイトレジスタの詳細を説明します。
■ DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2) のレジスタ構成
図 8.2-4 に , IOWR0 ∼ IOWR2 のレジスタ構成を示します。
図 8.2-4 IOWR0 ∼ IOWR2 のレジスタ構成
IOWR0 bit
000678H
IOWR1 bit
000679H
IOWR2 bit
00067AH
31
30
29
28
27
RYE0 HLD0 WR01 WR00 IW03
23
22
21
20
14
13
12
25
IW02
IW01
18
17
IW12
IW11
10
9
IW22
IW21
19
RYE1 HLD1 WR11 WR10 IW13
15
26
11
RYE2 HLD2 WR21 WR20 IW23
24
INIT 時
初期値
RST 時
アクセス
IW00 XXXXXXXXB XXXXXXXXB
R/W
16
IW10 XXXXXXXXB XXXXXXXXB
R/W
8
IW20 XXXXXXXXB XXXXXXXXB
R/W
[bit31, bit23, bit15] RYE0, RYE1, RYE2 : RDY 機能設定 (ReadY Enable0, 1, 2)
DMA フライバイアクセス時の ch.0 ∼ ch.2 のチャネルごとの RDYI によるウェイト
制御の設定を行います。
RYEn
RDY 機能設定
0
I/O アクセスに対する RDY 入力は無効となります。
1
I/O アクセスに対する RDY 入力が有効になります。
"1" を設定することにより , 該当するチャネルのフライバイ転送時 , RDYI 端子によ
るウェイト挿入が可能となります。IOWRX, IORDX は RDYI 端子がイネーブルにな
るまで延長されます。また , メモリ側の RDX/WR0X, WR1X もそれに同期して延長
されます。
フライバイ転送相手のチップセレクト領域が ACR レジスタにより RDY 有効に設定
されていると , IOWRX 側の RYEn ビットとは関係なく , RDYI 端子によるウェイト
挿入が可能となります。また , フライバイ転送相手のチップセレクト領域で ACR レ
ジスタにより RDY 無効にされている場合でも , IOWRX 側の RYEn ビットにより
RDY 有効に設定されていると , フライバイアクセス時のみ , RDYI 端子によるウェ
イト挿入が可能となります。
SDRAM へのフライバイライトアクセスで RDY を有効にした場合 , 必ず HLD ビッ
トを有効にしてホールドウェイト設定を行ってください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
181
第 8 章 外部バスインタフェース
8.2 外部バスインタフェースのレジスタ
MB91461
[bit30, bit22, bit14] HLD0, HLD1, HLD2 : ホールドウェイト設定 (HoLD wait control)
DMA フライバイアクセス時の転送元アクセス側のリードストローブ信号のホール
ドサイクルを制御します。
HLDn
ホールドウェイト設定
0
ホールド延長サイクルを挿入しません。
1
ホールド延長サイクルを挿入し , リードサイクルを 1 サイクル延長し
ます。
"0" 設定時は , 転送元アクセス側のリードストローブ信号 ( メモリ→ I/O の場合は
RDXO, I/O →メモリの場合は IORDX) とライトストローブ信号 ( メモリ→ I/O の場
合は IOWRX, I/O →メモリの場合は , WRXO3 ∼ WRXO0 および WEX) は同じタイ
ミングで出力されます。
"1"設定時は, 転送元アクセス側データの転送先に対するホールドタイムを確保する
ため , ライトストローブ信号に対してリードストローブ信号を "1" サイクル長く出
力します。
SDRAM へのフライバイライトアクセスで RDY を有効にした場合 , 必ず HLD ビッ
トを有効にしてホールドウェイト設定を行ってください。
[bit29, bit28, bit21, bit20, bit13, bit12] WR01, WR00, WR11, WR10, WR21, WR20 :
I/O アイドルサイクル設定 (I/O Idle Cycle)
DMA フライバイアクセス時に , 連続した I/O アクセスに対するアイドルサイクルを
設定します。
WRn1
WRn0
0
0
0 サイクル
0
1
1 サイクル
1
0
2 サイクル
1
1
3 サイクル
I/O アイドルサイクル設定
アイドルサイクルを 1 サイクル以上設定した場合 , DMA フライバイアクセス時に ,
I/O アクセスの後に設定したサイクル数のアイドルサイクルを挿入します。アイド
ルサイクル中は , すべての CSX およびストローブ出力はネゲートされ , データ端子
はハイインピーダンスとなります。
182
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.2 外部バスインタフェースのレジスタ
MB91461
[bit27 ∼ bit24, bit19 ∼ bit16, bit11 ∼ bit8] IW03 ∼ IW00, IW13 ∼ IW10, IW23 ∼ IW20:
I/O ウェイトサイクル (I/O Wait Cycle)
DMA フライバイアクセス時の I/O アクセスの自動ウェイトサイクルを指定します。
IWn3
IWn2
IWn1
IWn0
0
0
0
0
0 サイクル
0
0
0
1
1 サイクル
I/O ウェイトサイクル
…
1
1
…
1
1
15 サイクル
ウェイトサイクルの挿入数は , 転送元と転送先とのデータ同期のため , IWnn ビット
による I/O 側の設定とフライバイ転送相手 ( メモリなど ) のウェイト設定のうち , 大
きいほうを使用します。そのため , IWnn ビットに設定したサイクル数より多いウェ
イトが挿入される場合があります。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
183
第 8 章 外部バスインタフェース
8.2 外部バスインタフェースのレジスタ
8.2.5
MB91461
チップセレクト領域許可レジスタ (CSER)
チップセレクト領域許可レジスタの詳細を説明します。
■ チップセレクト領域許可レジスタ (CSER) のレジスタ構成
図 8.2-5 に , CSER のレジスタ構成を示します。
図 8.2-5 CSER のレジスタ構成
アドレス
bit31
30
29
000680H
予約
予約
予約
28
27
26
25
24
初期値
INIT 時
RST 時
CSE4 CSE3 CSE2 CSE1 CSE0 00000001B 00000001B
アクセス
R/W
各チップセレクト領域の許可 / 禁止を設定します。
[bit31 ∼ bit29] 予約 : 予約ビット
必ず , 000B を設定してください。
[bit28 ∼ bit24] CSE4 ∼ CSE0 : チップセレクト領域許可 (Chip select enable 0 ∼ 4)
CS0X ∼ CS4X の各チップセレクト領域許可ビットです。
初期値は , 00001B で CS0 領域のみ許可されています。
"1" を書き込むことにより ASR0 ∼ ASR4, ACR0 ∼ ACR4, AWR0 ∼ AWR4 の設定に
従って動作します。
許可にする前に , 必ず対応するチップセレクト領域のすべての設定を行ってくださ
い。
CSE4 ∼ CSE0
領域コントロール
0
禁止
1
許可
以下に CSE のビットと対応する CSX を示します。
CSE のビット
184
対応する CSX
bit24 : CSE0
CS0X
bit25 : CSE1
CS1X
bit26 : CSE2
CS2X
bit27 : CSE3
CS3X
bit28 : CSE4
CS4X
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.2 外部バスインタフェースのレジスタ
MB91461
キャッシュイネーブルレジスタ (CHER)
8.2.6
キャッシュイネーブルレジスタの詳細を説明します。
■ キャッシュイネーブルレジスタ (CHER) のレジスタ構成
図 8.2-6 に , CHER のレジスタ構成を示します。
図 8.2-6 CHER のレジスタ構成
アドレス
bit23
22
21
000681H
予約
予約
予約
20
19
18
17
16
初期値
INIT 時
RST 時
CHE4 CHE3 CHE2 CHE1 CHE0 11111111B 11111111B
アクセス
R/W
CHER は各チップセレクト領域から読み込んだデータの内蔵キャッシュへの取込みを
制御します。
[bit20 ∼ bit16] CHE4 ∼ CHE0 : キャッシュ領域設定 (CacHe Enable 4 ∼ 0)
各チップセレクト領域ごとに , キャッシュへの取込みの許可・禁止を指定します。
CHE4 ∼ CHE0
CM71-10159-2
キャッシュ領域設定
0
非キャッシュ領域
( 該当する領域より読み出したデータをキャッシュに保存し
ません )
1
キャッシュ領域
( 該当する領域より読み出したデータをキャッシュに保存し
ます )
FUJITSU MICROELECTRONICS LIMITED
185
第 8 章 外部バスインタフェース
8.2 外部バスインタフェースのレジスタ
8.2.7
MB91461
端子 / タイミングコントロールレジスタ (TCR)
端子 / タイミングコントロールレジスタ (TCR) の詳細を説明します。
■ 端子 / タイミングコントロールレジスタ (TCR) のレジスタ構成
図 8.2-7 TCR のレジスタ構成
アドレス
000683H
bit23
22
21
BREN PSUS PCLR
20
19
予約
予約
18
17
16
初期値
INIT 時
RST 時
予約 RDW1 RDW0 00000000B 0000XXXXB
アクセス
R/W
TCR は , 能設定やタイミング制御など , 外部バスインタフェースコントローラ全般にか
かわる機能を制御します。
[bit7] BREN : BRQ 入力許可設定 (BRQ ENable)
BRQ 端子入力を許可し , 外部バス共有を可能にします。
BREN
BRQ 入力許可設定
0
BRQ/BGRNTX によるバス共有をしません。BRQ 入力は無効となり
ます。
1
BRQ/BGRNTX によるバス共有を行います。BRQ 入力は有効となり
ます。
初期状態 ("0") のときは , BRQ の入力を無視します。
"1" を設定すると , BRQ 入力が "H" になった後 , バス開放が可能になった時点で , バ
スを開放 ( ハイインピーダンス制御 ) して BGRNTX をアクティブ ("L" 出力 ) にし
ます。
[bit6] PSUS : プリフェッチ抑止 (Prefetch SUSpend)
すべての領域に対するプリフェッチの一時停止を制御します。
PSUS
プリフェッチ制御
0
プリフェッチ許可
1
プリフェッチ抑止
"1" を設定すると "0" を書き込むまでの間 , 新規のプリフェッチ動作を行いません。
この間 , プリフェッチバッファへのミスが発生しない限りはプリフェッチバッファ
の内容は消去されませんので , プリフェッチを再開する前に bit5:PCLR ビット機能
によりプリフェッチバッファのクリアを行ってください。
186
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.2 外部バスインタフェースのレジスタ
MB91461
[bit5] PCLR : プリフェッチバッファ全クリア (Prefetch buffer CLeaR)
プリフェッチバッファのすべての内容をクリアします。
PCLR
プリフェッチバッファ制御
0
通常状態
1
プリフェッチバッファクリア
"1" を書き込むと 1 度だけプリフェッチバッファをすべてクリアします。バッファ
クリアが完了すると自動的にビット値は "0" に戻ります。
PSUS ビットでプリフェッ
チを中断 ("1" に設定 ) しておいてからバッファのクリアを行ってください (PSUS と
PCLR の両ビットに同時に 11B を書き込んで結構です ) 。
[bit4 ∼ bit2] 予約 : 予約ビット
予約ビットです。必ず "0" を設定してください。
[bit1, bit0] RDW1, RDW0 : ウェイトサイクル短縮 (ReDuce Wait cycle)
すべてのチップセレクト領域およびフライバイ用 I/O チャネルに対し , 自動アクセ
スサイクルウェイトの設定値を AWR レジスタの設定値はそのままで自動ウェイト
サイクルのみ一律に削減します。アイドルサイクルやリカバリサイクル , セット
アップやホールドサイクルの設定には影響しません。
RDW1
RDW0
0
0
通常ウェイト (AWR0 ∼ AWR4 の設定値 )
0
1
AWR0 ∼ AWR4 の設定値の 1/2 (1 ビット右シフト )
1
0
AWR0 ∼ AWR4 の設定値の 1/4 (2 ビット右シフト )
1
1
AWR0 ∼ AWR4 の設定値の 1/8 (3 ビット右シフト )
ウェイトサイクル短縮
この機能は , ベースクロックを低速にしている間や外部バスクロックの分周比設定
を大きくしている間など , 低速クロックで動作している間に過剰なアクセスサイク
ルウェイトがかかることを防ぐためのものです。
通常 , このような場合にウェイトサイクルを設定し直すには , すべての AWR をそれ
ぞれ書き換えなければなりませんが , RDW1, RDW0 ビットの機能を使うと , すべて
の AWR の設定は高速クロックのときの設定のままで , アクセスサイクルウェイト
のみ一度に削減することができます。
クロックを高速に戻す前に , 必ず RDW1, RDW0 ビットは 00B に設定し直してくだ
さい。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
187
第 8 章 外部バスインタフェース
8.3 チップセレクト領域
8.3
MB91461
チップセレクト領域
外部バスインタフェースは全 5 領域分のチップセレクト領域を設定できます。
各領域のアドレス空間は ASR0 ∼ ASR4 ( 領域選択レジスタ ) と ACR0 ∼ ACR4
( 領域構成レジスタ ) にて 4G バイトの空間の内 , CS0X ∼ CS4X は 64K ∼ 2048M
バイト単位で 00040000H ∼ FFFFFFFFH の空間に設定可能です。
これらのレジスタによって指定された領域に対してバスアクセスを行うと , アクセス
サイクル中に対応するチップセレクト信号 CS0X ∼ CS4X がアクティブ ("L" 出力 )
になります。
■ ASR および ASZ1, ASZ0 の設定例
1. ASR1 = 0001H ACR1 → ASZ3 ∼ ASZ0 = 0000B
チップセレクト領域 1 は , 00100000H から 0010FFFFH に割り当てられます。
2. ASR2 = 0040H ACR2 → ASZ3 ∼ ASZ0 = 0100B
チップセレクト領域 2 は , 00400000H から 004FFFFFH に割り当てられます。
3. ASR3 = 0081H ACR3 → ASZ3 ∼ ASZ0 = 0111B
チップセレクト領域 3 は , 00800000H から 00FFFFFFH に割り当てられます。
このとき , ACR → ASZ3 ∼ ASZ0 が 8M バイトの設定になっていますので , バウンダリ
は 8M バイト単位となり , ASR3[22:16] は無視されます。
リセット後は , ACR0 に書込みが行われるまでの間 , 00000000H ∼ FFFFFFFFH がチップ
セレクト領域 0 に割り当てられます。
<注意事項>
チップセレクト領域は , お互いにオーバラップしないように設定してください。
188
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.3 チップセレクト領域
MB91461
図 8.3-1 にチップセレクト領域を示します。
図 8.3-1 チップセレクト領域
00000000H
00000000H
00100000H
領域 1
64K バイト
00400000H
領域 2
1M バイト
領域 0
00800000H
8M バイト
領域 3
00FFFFFFH
FFFFFFFFH
CM71-10159-2
FFFFFFFFH
FUJITSU MICROELECTRONICS LIMITED
189
第 8 章 外部バスインタフェース
8.4 エンディアンとバスアクセス
8.4
MB91461
エンディアンとバスアクセス
WR1X, WR0X の制御信号は , データバス幅に関係なくデータバスのバイト位置に常
に 1 対 1 に対応します。
下記にバスモード別に , 設定されたデータバス幅で使用されるデータバスのバイト
位置とそれに対応する制御信号をまとめます。
■ データバス幅と制御信号との関係
● 通常バスインタフェースの制御信号
図 8.4-1 に , 通常バスインタフェースの制御信号を示します。
図 8.4-1 通常バスインタフェースの制御信号
a)16ビットバス幅
データバス 制御記号
D31
WR0X
D24
WR1X
D16
b)8ビットバス幅
データバス 制御記号
WR0X
-
-
● 時分割入出力インタフェースの制御信号
図 8.4-2 に , 時分割入出力インタフェースの制御信号を示します。
図 8.4-2 時分割入出力インタフェースの制御信号
a)16ビットバス幅
b) 8ビットバス幅
データバス 出力アドレス 制御記号
データバス 出力アドレス 制御記号
D31
D16
190
A15~A08
WR0X
A07~A00
WR1X
A07~A00
-
-
FUJITSU MICROELECTRONICS LIMITED
WR0X
-
CM71-10159-2
第 8 章 外部バスインタフェース
8.4 エンディアンとバスアクセス
MB91461
8.4.1
ビッグエンディアンのバスアクセス
MB91461 は CS0 領域を除いて , 各チップセレクトごとにビッグエンディアン / リト
ルエンディアンを切り換えて使用可能です。ACR レジスタの LEND ビットを "1" に
設定した場合は , その領域をリトルエンディアンとして扱います。
通常 , MB91461 はビッグエンディアンで外部バスアクセスを行います。
■ ビッグエンディアンのデータフォーマット
内部レジスタと外部データバスとの関係は以下のようになります。
● ワードアクセス (LD, ST 命令実行時 )
図 8.4-3 ワードアクセス (LD, ST 命令実行時 )
内部レジスタ
D31
AA
D23
BB
D15
CC
D7
DD
D0
外部バス
D31
AA
D23
BB
D15
● ハーフワードアクセス (LDUH, STH 命令実行時 )
図 8.4-4 ハーフワードアクセス (LDUH, STH 命令実行時 )
a)出力アドレス下位"00"
内部レジスタ
D31
D23
D15
b)出力アドレス下位"10"
外部バス
D31
AA
D23
BB
D15
内部レジスタ
D31
D23
D15
AA
外部バス
D31
AA
D23
BB
D15
AA
D7
D7
BB
BB
D0
D0
● バイトアクセス (LDUB, STB 命令実行時 )
図 8.4-5 バイトアクセス (LDUB, STB 命令実行時 )
a) 出力アドレス下位"00"
b) 出力アドレス下位"01"
c) 出力アドレス下位"10"
d) 出力アドレス下位"11"
内部レジスタ
D31
内部レジスタ
D31
内部レジスタ 外部バス
D31
D31
AA
D23
D23
内部レジスタ 外部バス
D31
D31
D23
外部バス
D31
AA
D23
外部バス
D31
D23
D23
D23
D23
AA
D15
D15
D7
D15
D15
D7
AA
D0
CM71-10159-2
AA
D15
D7
AA
D0
D15
D15
D15
D7
AA
D0
FUJITSU MICROELECTRONICS LIMITED
AA
D0
191
第 8 章 外部バスインタフェース
8.4 エンディアンとバスアクセス
MB91461
■ データバス幅
● 16 ビットバス幅
図 8.4-6 16 ビットバス幅
内部レジスタ
外部バス
出力アドレス下位
"00" "10"
D31
D23
D15
D07
読出し/書込み
AA
BB
AA
CC
BB
DD
D31
D23
CC
DD
● 8 ビットバス幅
図 8.4-7 8 ビットバス幅
内部レジスタ
外部バス
出力アドレス下位
D31
D23
D15
D07
読出し/書込み
AA
"00"
"01"
"10"
"11"
AA
BB
CC
DD
D31
BB
CC
DD
■ 外部バスアクセス
外部バスアクセス (16 ビット /8 ビットバス幅 ) をワード / ハーフワード / バイトアクセ
ス別に図 8.4-8 , 図 8.4-9 および図 8.4-10 に示します。また , 以下の項目も合わせて図
8.4-11 , 図 8.4-12 および図 8.4-13 に示します。
• アクセスバイト位置
• プログラムアドレス
• 出力アドレスバスアクセス回数
PA1/PA0
:
プログラムで指定したアドレス下位2ビット
出力 A1/A0
:
出力するアドレスの下位 2 ビット
:
出力するアドレスの先頭バイト位置
:
アクセスするデータバイト位置
:
バスアクセス回数
+
①∼④
MB91461 では , ミスアラインエラーを検出しません。
したがってワードアクセスの場合には , プログラムで指定したアドレス下位 2 ビットが
00B, 01B, 10B, 11B であっても , 出力するアドレスの下位 2 ビットはすべて 00B となり ,
ハーフワードアクセスの場合には 00B, 01B のときには 00B に , 10B, 11B のときには 10B
になります。
192
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.4 エンディアンとバスアクセス
MB91461
● 16 ビットバス幅
• ワードアクセス
図 8.4-8 ワードアクセス
(a) PA1/PA0 = 00B
→ ①出力 A1/A0 = 00B
②出力 A1/A0 = 10B
MSB
(b) PA1/PA0 = 01B
→ ①出力 A1/A0 = 00B
②出力 A1/A0 = 10B
(c) PA1/PA0 = 10B
→ ①出力 A1/A0 = 00B
②出力 A1/A0 = 10B
(d) PA1/PA0 = 11B
→ ①出力 A1/A0 = 00B
②出力 A1/A0 = 10B
LSB
①⇒ 00
01
①⇒ 00
01
①⇒ 00
01
①⇒ 00
01
②⇒ 10
11
②⇒ 10
11
②⇒ 10
11
②⇒ 10
11
16 ビット
• ハーフワードアクセス
図 8.4-9 ハーフワードアクセス
(a) PA1/PA0 = 00B
→①出力 A1/A0 = 00B
(b) PA1/PA0 = 01B
→①出力 A1/A0 = 00B
(c) PA1/PA0 = 10B
→①出力 A1/A0 = 10B
(d) PA1/PA0 = 11B
→①出力 A1/A0 = 10B
①⇒ 00
01
①⇒ 00
01
00
01
00
01
10
11
10
11
①⇒ 10
11
①⇒ 10
11
• バイトアクセス
図 8.4-10 バイトアクセス
(a) PA1/PA0 = 00B
→①出力 A1/A0 = 00B
(b) PA1/PA0 = 01B
(c) PA1/PA0 = 10B
(d) PA1/PA0 = 11B
→①出力 A1/A0 = 01B
→①出力 A1/A0 = 10B
→①出力 A1/A0 = 11B
①⇒ 00
01
①⇒ 00
01
00
01
00
01
10
11
10
11
①⇒ 10
11
①⇒ 10
11
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
193
第 8 章 外部バスインタフェース
8.4 エンディアンとバスアクセス
MB91461
● 8 ビットバス幅
• ワードアクセス
図 8.4-11 ワードアクセス
(a) PA1/PA0 = 00B
→ ①出力 A1/A0 = 00B
②出力 A1/A0 = 01B
③出力 A1/A0 = 10B
④出力 A1/A0 = 11B
MSB
(b) PA1/PA0 = 01B
→ ①出力 A1/A0 = 00B
②出力 A1/A0 = 01B
③出力 A1/A0 = 10B
④出力 A1/A0 = 11B
(c) PA1/PA0 = 10B
→ ①出力 A1/A0 = 00B
②出力 A1/A0 = 01B
③出力 A1/A0 = 10B
④出力 A1/A0 = 11B
(d) PA1/PA0 = 11B
→ ①出力 A1/A0 = 00B
②出力 A1/A0 = 01B
③出力 A1/A0 = 10B
④出力 A1/A0 = 11B
LSB
①⇒
00
①⇒
00
①⇒ 00
①⇒ 00
②⇒
01
②⇒
01
②⇒ 01
②⇒ 01
③⇒
10
③⇒
10
③⇒ 10
③⇒ 10
④⇒
11
④⇒
11
④⇒ 11
④⇒ 11
8 ビット
• ハーフワードアクセス
図 8.4-12 ハーフワードアクセス
(a) PA1/PA0 = 00B
→ ①出力 A1/A0 = 00B
②出力 A1/A0 = 01B
194
(b) PA1/PA0 = 01B
→ ①出力 A1/A0 = 00B
②出力 A1/A0 = 01B
(c) PA1/PA0 = 10B
→ ①出力 A1/A0 = 10B
②出力 A1/A0 = 11B
(d) PA1/PA0 = 11B
→ ①出力 A1/A0 = 10B
②出力 A1/A0 = 11B
①⇒ 00
①⇒ 00
00
00
②⇒ 01
②⇒ 01
01
01
10
10
①⇒ 10
①⇒ 10
11
11
②⇒ 11
②⇒ 11
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.4 エンディアンとバスアクセス
MB91461
• バイトアクセス
図 8.4-13 バイトアクセス
(a) PA1/PA0 = 00B
→①出力 A1/A0 = 00B
(b) PA1/PA0 = 01B
→①出力 A1/A0 = 01B
(c) PA1/PA0 = 10B
→①出力 A1/A0 = 10B
(d) PA1/PA0 = 11B
→①出力 A1/A0 = 11B
①⇒ 00
00
00
00
01
①⇒ 01
01
01
10
10
①⇒ 10
10
11
11
11
①⇒ 11
■ 外部との接続例
図 8.4-14
外部との接続例
FRコア
D31 WR0X D23 WR1X
~
~
D24
D16
0
D31
A23~ A23~
A01 A00
1
D24 D23
A23
~
A00
D16
16ビットデバイス*
0
D31
D24
8ビットデバイス*
("0"/"1"アドレス下位1ビット)
*:8ビットデバイスの場合は,MSB側のデータバスを使用します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
195
第 8 章 外部バスインタフェース
8.4 エンディアンとバスアクセス
8.4.2
MB91461
リトルエンディアンのバスアクセス
MB91461 は CS0 領域を除いて , 各チップセレクトごとにビッグエンディアン / リト
ルエンディアンを切り換えて使用可能です。ACR レジスタの LEND ビットを "1" に
設定した場合は , その領域はリトルエンディアンとして扱います。
MB91461 のリトルエンディアンバスアクセスは , ビッグエンディアン時のバスアク
セス動作を利用し , 基本的にはビッグエンディアン時の出力アドレスの順番と制御
信号の出力は同じで , データバスのバイト位置をバス幅に応じてスワップすること
により実現しています。
接続時には , ビッグエンディアン領域とリトルエンディアン領域を物理的に分ける
必要がありますので , 十分注意が必要です。
■ リトルエンディアンとビッグエンディアンの相違点
リトルエンディアンとビッグエンディアンの相違点を以下に説明します。
• 出力するアドレスの順番はビッグエンディアン / リトルエンディアンで変わりませ
ん。
• ワードアクセス
: ビッグエンディアンのアドレス A01, A00 = 00B に対応する
MSB 側のバイトデータが , リトルエンディアンでは LSB 側
のバイトデータになります。
ワードアクセスの場合は , ワード内の 4 バイトのすべてのバ
イト位置が反転します。
• ハーフワードアクセス: ビッグエンディアンのアドレス A00 に対応する MSB 側のバ
イトデータが, リトルエンディアンではLSB側のバイトデー
タになります。
ハーフワードアクセスの場合は , ハーフワード内の 2 バイト
のバイト位置が反転します。
• バイトアクセス
: ビッグエンディアン / リトルエンディアンとも同じです。
■ リトルエンディアン領域に対する制限事項
• リトルエンディアン領域に対してプリフェッチを許可している場合は , その領域に
対するアクセスは必ずワードアクセスにて行ってください。プリフェッチバッファ
に読み出されたデータをワード長以外でアクセスすると , 正しくエンディアン変換
が行われず , 誤ったデータを読み出してしまいます。これは , エンディアン変換機
構のハードウェア的な制限によるものです。
• リトルエンディアン領域には , 命令コードを配置しないでください。
196
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.4 エンディアンとバスアクセス
MB91461
■ データフォーマット
内部レジスタと外部データバスとの関係は以下のようになります。
● ワードアクセス (LD, ST 命令実行時 )
図 8.4-15 ワードアクセス (LD, ST 命令実行時 )
内部レジスタ
D31
AA
D23
BB
D15
CC
D7
DD
D0
外部バス
D31
BB
DD
D23
AA
CC
D15
● ハーフワードアクセス (LDUH, STH 命令実行時 )
図 8.4-16 ハーフワードアクセス (LDUH, STH 命令実行時 )
a)出力アドレス下位"00"
内部レジスタ
D31
D23
D15
b)出力アドレス下位"10"
外部バス
D31
BB
D23
AA
D15
内部レジスタ
D31
D23
D15
外部バス
D31
BB
D23
AA
D15
AA
AA
D7
D7
BB
BB
D0
D0
● バイトアクセス (LDUB, STB 命令実行時 )
図 8.4-17 バイトアクセス (LDUB, STB 命令実行時 )
a) 出力アドレス下位"00"
b) 出力アドレス下位"01"
c) 出力アドレス下位"10"
d) 出力アドレス下位"11"
内部レジスタ
D31
内部レジスタ
D31
内部レジスタ 外部バス
D31
D31
AA
D23
D23
内部レジスタ 外部バス
D31
D31
D23
外部バス
D31
AA
D23
外部バス
D31
D23
D23
D23
D23
AA
D15
D15
D7
D15
D15
D7
AA
D0
CM71-10159-2
AA
D15
D7
AA
D0
D15
D15
D15
D7
AA
D0
FUJITSU MICROELECTRONICS LIMITED
AA
D0
197
第 8 章 外部バスインタフェース
8.4 エンディアンとバスアクセス
MB91461
■ データバス幅
● 16 ビットバス幅
図 8.4-18 16 ビットバス幅
内部レジスタ
外部バス
出力アドレス下位
"00" "10"
D31
D23
D15
D07
AA
読出し/書込み
BB
DD
BB
CC
AA
D31
D23
CC
DD
● 8 ビットバス幅
図 8.4-19 8 ビットバス幅
内部レジスタ
外部バス
出力アドレス下位
D31
D23
D15
D07
198
AA
読出し/書込み
"00"
DD
"01"
CC
"10"
BB
"11"
AA
D31
BB
CC
DD
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.4 エンディアンとバスアクセス
MB91461
■ 外部デバイスとの接続例
● 16 ビットバス幅
図 8.4-20 16 ビットバス幅
FRコア
D31 WR0X D23 WR1X
~
~
D24
D16
0
D31
A31
~
A01
1
1
D24 D23
D16
D31
ビッグエンディアン領域
0
D24 D23
D16
リトルエンディアン領域
● 8 ビットバス幅
図 8.4-21 8 ビットバス幅
FRコア
D31 WR0X
~
D24
D31
A31
~
A00
D24
D31
ビッグエンディアン領域
CM71-10159-2
D24
リトルエンディアン領域
FUJITSU MICROELECTRONICS LIMITED
199
第 8 章 外部バスインタフェース
8.4 エンディアンとバスアクセス
8.4.3
MB91461
ビッグエンディアンとリトルエンディアンの外部
アクセスの比較
バス幅に対するワードアクセス , ハーフワードアクセスおよびバイトアクセスについ
て , ビッグエンディアンとリトルエンディアンの外部アクセスの比較を示します。
これらの図は , ビッグエンディアン領域とリトルエンディアン領域とを分け 「
, 8.4.1
ビッグエンディアンのバスアクセス」および「8.4.2 リトルエンディアンのバスアク
セス」で示した外部デバイスとの接続例に従ってデータバスを準続した場合に , すべ
てのアクセスについて内部レジスタがビッグエンディアンになることを示していま
す。
■ ワードアクセス
表 8.4-1 ワードアクセス (1 / 2)
バス幅
ビッグエンディアンモード
内部レジスタ
外部端子 制御端子
アドレス: "0"
D31
D31
AA
WR0X
BB
D16
AA
BB
D00
リトルエンディアンモード
内部レジスタ
外部端子
アドレス: "0"
D31
D31
BB
AA
WR1X
-
-
-
-
BB
D00
①
16 ビットバス幅
内部レジスタ
外部端子
アドレス: "2"
D31
D31
CC
DD
D16
CC
DD
D00
-
-
-
-
①
制御端子
WR0X
内部レジスタ
外部端子
アドレス: "2"
D31
D31
DD
CC
WR1X
-
-
-
-
D16
CC
DD
D00
①
200
WR0X
WR1X
D16
AA
制御端子
FUJITSU MICROELECTRONICS LIMITED
制御端子
WR0X
WR1X
-
-
-
-
①
CM71-10159-2
第 8 章 外部バスインタフェース
8.4 エンディアンとバスアクセス
MB91461
表 8.4-1 ワードアクセス (2 / 2)
バス幅
ビッグエンディアンモード
内部レジスタ
外部端子 制御端子
アドレス: "0" "1"
D31
D31
AA BB
WR0X
D24
AA
BB
D00
- -
-
- -
-
- -
-
D00
①
リトルエンディアンモード
内部レジスタ
外部端子
アドレス: "0" "1"
D31
D31
BB AA
制御端子
D24
- - AA
BB
D00
D00
-
- - -
- - -
①
②
WR0X
②
8 ビットバス幅
内部レジスタ
外部端子
アドレス: "2" "3"
D31
D31
CC DD
D24
CC
DD
D00
CM71-10159-2
D00
制御端子
WR0X
-
-
-
-
-
-
-
-
-
①
②
内部レジスタ
外部端子
アドレス: "2" "3"
D31
D31
DD CC
D24
CC
DD
D00
FUJITSU MICROELECTRONICS LIMITED
D00
制御端子
WR0X
-
-
-
-
-
-
-
-
-
①
②
201
第 8 章 外部バスインタフェース
8.4 エンディアンとバスアクセス
MB91461
■ バイトアクセス
表 8.4-2 バイトアクセス (1 / 2)
バス幅
ビッグエンディアンモード
外部端子
内部レジスタ
アドレス: "0"
D31
D31
AA
制御端子
WR0X
リトルエンディアンモード
外部端子
内部レジスタ
アドレス: "0"
D31
D31
AA
-
D16
AA
-
AA
-
-
D00
①
①
内部レジスタ
外部端子
アドレス: "1"
D31
D31
WR0X
-
D16
-
D00
制御端子
制御端子
内部レジスタ
外部端子
アドレス: "1"
D31
D31
制御端子
-
-
BB
D16
BB
WR1X
WR1X
D16
-
-
BB
-
D00
BB
-
D00
①
①
16 ビットバス幅
外部端子
内部レジスタ
アドレス: "2"
D31
D31
CC
制御端子
WR0X
外部端子
内部レジスタ
アドレス: "2"
D31
D31
CC
-
D16
制御端子
WR0X
-
D16
-
CC
-
D00
-
CC
-
D00
①
内部レジスタ
外部端子
アドレス: "3"
D31
D31
①
制御端子
内部レジスタ
外部端子
アドレス: "3"
D31
D31
-
DD
D16
-
DD
WR1X
D16
-
DD
DD
-
D00
①
202
WR1X
-
-
D00
制御端子
FUJITSU MICROELECTRONICS LIMITED
①
CM71-10159-2
第 8 章 外部バスインタフェース
8.4 エンディアンとバスアクセス
MB91461
表 8.4-2 バイトアクセス (2 / 2)
バス幅
ビッグエンディアンモード
外部端子
内部レジスタ
アドレス: "0"
D31
D31
AA
D24
AA
制御端子
WR0X
リトルエンディアンモード
内部レジスタ
外部端子
アドレス: "0"
D31
D31
AA
D24
制御端子
WR0X
-
-
-
-
AA
-
-
D00
D00
①
①
外部端子
内部レジスタ
アドレス: "1"
D31
D31
BB
D24
BB
制御端子
WR0X
外部端子
内部レジスタ
アドレス: "1"
D31
D31
BB
D24
制御端子
WR0X
-
-
-
-
BB
-
D00
-
D00
①
①
8 ビットバス幅
内部レジスタ
外部端子
アドレス: "2"
D31
D31
CC
D24
CC
制御端子
WR0X
内部レジスタ
外部端子
アドレス: "2"
D31
D31
CC
D24
WR0X
-
-
-
-
CC
-
D00
-
D00
①
内部レジスタ
外部端子
アドレス: "3"
D31
D31
DD
D24
DD
①
制御端子
WR0X
内部レジスタ
外部端子
アドレス: "3"
D31
D31
DD
D24
制御端子
WR0X
-
-
-
-
DD
-
D00
-
D00
①
CM71-10159-2
制御端子
FUJITSU MICROELECTRONICS LIMITED
①
203
第 8 章 外部バスインタフェース
8.5 通常バスインタフェース
MB91461
通常バスインタフェース
8.5
通常バスインタフェースでは , リードアクセス / ライトアクセスともに 2 クロックサ
イクルが基本バスサイクルになります。
■ 基本タイミング ( アクセスが連続する場合 ) (TYP3 ∼ TYP0= 0000B, AWR=0008H)
図 8.5-1 に , アクセスが連続する場合の基本タイミングを示します。
図 8.5-1 アクセスが連続する場合の基本タイミング
SYSCLK
A23~A00
#2
#1
ASX
CS4X~CS0X
RDX
読出し
D31~D16
#1
#2
WR1X, WR0X
書込み
D31~D16
204
#1
FUJITSU MICROELECTRONICS LIMITED
#2
CM71-10159-2
第 8 章 外部バスインタフェース
8.5 通常バスインタフェース
MB91461
• ASX は , バスアクセス開始サイクルに 1 サイクルアサートします。
• A23 ∼ A00 は , ワード / ハーフワード / バイトアクセスの先頭バイト位置のアドレ
スをバスアクセス開始サイクルからバスアクセス終了サイクルまで出力します。
• CS0X ∼ CS3X は , AWR0 ∼ AWR4 レジスタの W02 ビットが "0" のときは , ASX と
同じタイミングでアサートし , 連続するアクセスがある場合には CS0X ∼ CS4X は
ネゲートしません。AWR レジスタの W00 ビットが "0" の場合はバスサイクル終了
後に CS0X ∼ CS4X をネゲートし , W00 ビットが "1" の場合はバスアクセス終了の
1 サイクル後にネゲートします。
• RDX, WR0X, WR1X は , バスアクセス第 2 サイクルからアサートになります。AWR
レジスタ W15 ∼ W12 ビットのウェイトサイクルを挿入した後 , ネゲートになりま
す。RDX, WR0X, WR1X をアサートするタイミングは AWR レジスタ W01 ビットを
"1" に設定することにより 1 サイクル遅らせることができます。
• リードアクセスの場合 , RDX アサートになった後 , ウェイトサイクルが終了したサ
イクルの SYSCLK の立上りで D31 ∼ D16 を取り込みます。
• ライトアクセスの場合 , WR0X, WR1X をアサートになったタイミングから D31 ∼
D16 にデータを出力します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
205
第 8 章 外部バスインタフェース
8.5 通常バスインタフェース
MB91461
■ リード→ライトタイミング (TYP3 ∼ TYP0=0000B, AWR=0048H)
図 8.5-2 に , リード→ライトタイミングを示します。
図 8.5-2 リード → ライトタイミング
リード
アイドル
ライト
SYSCLK
A23~A00
ASX
CS4X~CS0X
RDX
WR1X, WR0X
D31~D16
• AWR レジスタ W06 ビットの設定により , 0 または 1 サイクルのアイドルサイクル
挿入が可能です。
• リード側の CS 領域の設定が有効になります。
• リードアクセスの次のアクセスがライトアクセス , または別の領域へのアクセスで
ある場合にこのアイドルサイクルを挿入します。
206
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.5 通常バスインタフェース
MB91461
■ ライト→ライトタイミング (TYP3 ∼ TYP0=0000B, AWR=0018H)
図 8.5-3 に , ライト→ライトタイミングを示します。
図 8.5-3 ライト → ライトタイミング
ライト
ライト
リカバリ
ライト
SYSCLK
A23~A00
ASX
CS4X~CS0X
WR1X, WR0X
D31~D16
• AWR レジスタの W04 ビットの設定により , 0 または 1 サイクルのライトリカバリ
サイクルを挿入可能です。
• すべてのライトサイクル後に , リカバリサイクルが発生します。
• 設定したバス幅以上のアクセスによってライトアクセスが分割された場合もライ
トリカバリサイクルを発生します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
207
第 8 章 外部バスインタフェース
8.5 通常バスインタフェース
MB91461
■ 自動ウェイトタイミング (TYP3 ∼ TYP0=0000B, AWR=2008H)
図 8.5-4 に , 自動ウェイトタイミングを示します。
図 8.5-4 自動ウェイトタイミング
基本サイクル
ウェイトサイクル
SYSCLK
A23~A00
ASX
CS4X~CS0X
RDX
読出し
D31~D16
WR1X, WR0X
書込み
D31~D16
• AWR レジスタ W15 ∼ W12 ビット (first wait cycle) の設定により自動ウェイトサイ
クルを 0 ∼ 15 まで設定可能です。
• 上図では , 自動ウェイトサイクルを 2 サイクル挿入して合計 4 サイクルのアクセスと
なっています。自動ウェイトを設定した場合 , バスサイクルは最小で 2 サイクル+
(first wait cycle) となります。ライトの場合は内部状態によりさらに長くなることがあ
ります。
208
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.5 通常バスインタフェース
MB91461
■ 外部ウェイトタイミング (TYP3 ∼ TYP0=0001B, AWR=2008H)
図 8.5-5 に , 外部ウェイトタイミングを示します。
図 8.5-5 外部ウェイトタイミング
基本サイクル
自動ウェイト
2サイクル
RDYによる
ウェイト
サイクル
SYSCLK
A23~A00
ASX
CS4X~CS0X
RDX
読出し
D31~D16
WR1X, WR0X
書込み
D31~D16
RDY
解除
ウェイト
ACR レジスタの TYP0 ビットを "1" に設定し , 外部 RDY 入力端子を有効にすることに
より外部ウェイトサイクルを挿入可能です。上図において , 自動ウェイトサイクルによ
るウェイトが有効であるため , RDY 端子の斜線部分は無効になります。自動ウェイト
サイクルの最後のサイクル以降から , RDY 入力端子の値を判定します。また , いった
んウェイトサイクルを終了した後は , 次のアクセスサイクルの開始まで , RDY 入力端
子の値は無効になります。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
209
第 8 章 外部バスインタフェース
8.5 通常バスインタフェース
MB91461
■ CSX 遅延設定 (TYP3 ∼ TYP0=0000B, AWR=000CH)
図 8.5-6 に , CSX 遅延設定を示します。
図 8.5-6 CSX 遅延設定
SYSCLK
A23~A00
ASX
CS4X~CS0X
RDX
読出し
D31~D16
WR1X, WR0X
書込み
D31~D16
210
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.5 通常バスインタフェース
MB91461
■ CSX→ RDX/WR1X, WR0X セットアップ・RDX/WR1X, WR0X → CSX ホールド設定
(TYP3 ∼ TYP0=0000B, AWR=000BH)
図 8.5-7 に , CSX → RDX/WR1X, WR0X セットアップ・RDX/WR1X, WR0X → CSX ホー
ルド設定を示します。
図 8.5-7 CSX → RDX/WR1X, WR0X セットアップ・RDX/WR1X, WR0X → CSX ホールド設定
SYSCLK
A23~A00
ASX
CS4X~CS0X
CSX->RDX/WR1X, WR0X
RDX/WR1X, WR0X->CSX
遅延
遅延
RDX
読出し
D31~D16
WR1X, WR0X
書込み
D31~D16
• AWRレジスタのW01ビットを"1"に設定することにより, CSX→RDX/WR1X, WR0X
セットアップディレイを設定可能です。チップセレクトアサート後 , リード / ライト
ストローブまでの期間を延長する場合に設定します。
• AWR レジスタの W00 ビットを "1" に設定することにより , RDX/WR1X, WR0X →
CSX ホールドディレイを設定可能です。リード / ライトストローブネゲート後 , チッ
プセレクトネゲートまでの期間を延長する場合に設定します。
• CSX → RDX/WR1X, WR0X セットアップディレイ (W01 ビット ) と RDX/WR1X,
WR0X → CSX ホールドディレイ (W00 ビット ) は独立に設定可能です。
• 同一チップセレクト領域内で , チップセレクトをネゲートしないまま連続してアク
セスする場合は , CSX → RDX/WR1X, WR0X セットアップディレイ , RDX/WR1X,
WR0X → CSX ホールドディレイともに挿入されません。
• アドレス確定からのセットアップサイクルおよびアドレス確定のホールドサイク
ルが必要な場合は , アドレス→ CSX 遅延設定 (AWR レジスタの W02 ビット ) を "1"
に設定してください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
211
第 8 章 外部バスインタフェース
8.6 アドレス / データマルチプレックスインタフェース
MB91461
アドレス / データマルチプレックスインタフェース
8.6
アドレス / データマルチプレックスインタフェースの設定について説明します。
■ 外部ウェイトなし (TYP3 ∼ TYP0=0100B, AWR=0008H)
図 8.6-1 に , 外部ウェイトがない場合のアドレス / データマルチプレックスインタ
フェース設定を示します。
図 8.6-1 外部ウェイトがない場合のアドレス / データマルチプレックスインタフェース設定
SYSCLK
アドレス[23:0]
A23~A00
ASX
CS4X~CS0X
RDX
読出し
D31~D16
アドレス[15:0]
データ
[15:0]
WR1X, WR0X
書込み
D31~D16
212
アドレス[15:0]
データ[15:0]
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.6 アドレス / データマルチプレックスインタフェース
MB91461
• ACR レジスタの TYP3 ∼ TYP0 = 01XXB と設定することによりアドレス / データマ
ルチプレックスインタフェース設定が可能です。
• アドレス / データマルチプレックスインタフェースに設定した場合 , データバス幅
(DBW1, DBW0 ビット ) の設定は 8 ビットもしくは 16 ビットに設定してください。
32 ビット幅はサポートしていません。
• アドレス / データマルチプレックスインタフェースでは , アドレス出力サイクル 2 サ
イクル+データサイクル 1 サイクルの計 3 サイクルが基本アクセスサイクルとなり
ます。
• アドレス出力サイクルでは , 出力アドレスラッチイネーブル信号として ASX をア
サートしますが , CSX → RDX/WR1X, WR0X セットアップ遅延 (AWR:W01) が "0" に
設定してある場合 , 上図のようにマルチプレックスアドレス出力サイクルが 1 サイ
クルのみとなり , アドレスを ASX の立上りエッジで直接ラッチすることは不可能と
なります。このため , ASX に "L" がアサートされているサイクルの SYSCLK の立上
りエッジでアドレスを取り込んでください。アドレスを ASX の立上りエッジで直
接ラッチする場合は , 「■ CSX → RDX/WR1X, WR0X セットアップ設定 (TYP3 ∼
TYP0 = 0101B, AWR = 100BH)」を参照してください。
• A23 ∼ A00 には , 時分割バスサイクル中 , 通常インタフェースと同様にアクセスの
先頭を示すアドレスを出力します。アドレス / データマルチプレックスインタ
フェースで 8/16 ビット以上のアドレスを使用したい場合に利用してください。
• 自動ウェイト(AWR:W14∼AWR:W12),リード→ライトアイドルサイクル(AWR:W06),
ライトリカバリ(AWR:W04), アドレス→ CSX遅延 (AWR2), CSX→RDX/WR1X, WR0X
セットアップ遅延 (AWR:W01), RDX /WR1X, WR0X → CSX ホールド遅延 (AWR0) の
設定は , 通常インタフェースと同様に設定可能です。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
213
第 8 章 外部バスインタフェース
8.6 アドレス / データマルチプレックスインタフェース
MB91461
■ 外部ウェイトあり (TYP3 ∼ TYP0=0101B, AWR=1008H)
図 8.6-2 に , 外部ウェイトがある場合のアドレス / データマルチプレックスインタ
フェース設定を示します。
図 8.6-2 外部ウェイトがある場合のアドレス / データマルチプレックスインタフェース設定
SYSCLK
アドレス[23:0]
A23~A00
ASX
CS4X~CS0X
RDX
読出し
D31~D16
データ
[15:0]
アドレス[15:0]
WR1X, WR0X
書込み
D31~D16
アドレス[15:0]
データ[15:0]
RDY
ACR レジスタの TYP3 ∼ TYP0 = 01X1B と設定することにより , アドレス / データマ
ルチプレックスインタフェースにおいて RDY 入力を有効とすることが可能です。
214
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.6 アドレス / データマルチプレックスインタフェース
MB91461
■ CSX→RDX/WR1X, WR0Xセットアップ設定 (TYP3∼TYP0=0101B, AWR=100BH)
図 8.6-3 に , CSX → RDX/WR1X, WR0X セットアップ設定を示します。
図 8.6-3 CSX → RDX/WR1X, WR0X セットアップ設定
SYSCLK
A23~A00
アドレス[23:0]
ASX
CS4X~CS0X
RDX
読出し
D31~D16
アドレス[15:0]
データ
[15:0]
アドレス[15:0]
データ[15:0]
WR1X, WR0X
書込み
D31~D16
CSX → RDX/WR1X, WR0X セットアップ遅延 (AWR:W01) を "1" に設定すると , 上図の
ようにマルチプレックスアドレス出力サイクルが1サイクル延長され, アドレスをASX
の立上りエッジで直接ラッチすることが可能となります。SYSCLK を使用せずに ASX
を ALE(Address Latch Enable) ストローブとして使用したい場合にこの設定を使用して
ください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
215
第 8 章 外部バスインタフェース
8.7 DMA アクセス
8.7
MB91461
DMA アクセス
DMA アクセスの設定について説明します。
■ 2サイクル転送 (内部RAM→外部I/O, RAM, 外部I/O, RAM→内部RAMもタイミング
は同じ ) (TYP3 ∼ TYP0=0000B, AWR=0008H)
図 8.7-1 に , 2 サイクル転送の設定を示します。
図 8.7-1 2 サイクル転送の設定 (I/O 側のウェイト設定なしの場合 )
SYSCLK
I/O アドレス
A23~A00
ASX
CS4X~CS0X(I/O側)
WR1X, WR0X
D31~D16
バスアクセスは , DMAC 転送でない場合のインタフェースと同様です。
216
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.7 DMA アクセス
MB91461
■ 2 サイクル転送 ( 外部→ I/O) (TYP3 ∼ TYP0=0000B, AWR=0008H)
図 8.7-2 に , 2 サイクル転送 ( 外部→ I/O) の設定を示します。
図 8.7-2 2 サイクル転送 ( 外部→ I/O) の設定 ( メモリ , I/O のウェイト設定なしの場合 )
SYSCLK
メモリアドレス
A23~A00
アイドル
I/Oアドレス
ASX
CS4X~CS0X
RDX
CS4X~CS0X
WR1X, WR0X
D31~D16
バスアクセスは , DMAC 転送でない場合のインタフェースと同様です。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
217
第 8 章 外部バスインタフェース
8.7 DMA アクセス
MB91461
■ 2 サイクル転送 (I/O →外部 ) (TYP3 ∼ TYP0=0000B, AWR=0008H)
図 8.7-3 に , 2 サイクル転送 (I/O →外部 ) の設定を示します。
図 8.7-3 2 サイクル転送 (I/O →外部 ) の設定 ( メモリ , I/O のウェイト設定なしの場合 )
SYSCLK
I/Oアドレス
A23~A00
アイドル
メモリアドレス
ASX
CS4X~CS0X
WR1X, WR0X
CS4X~CS0X
RDX
D31~D16
バスアクセスは , DMAC 転送でない場合のインタフェースと同様です。
218
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 8 章 外部バスインタフェース
8.8 レジスタ設定手順
MB91461
8.8
レジスタ設定手順
外部バスインタフェースに関する設定手順は , 以下の原則に従ってください。
■ 外部バスインタフェースの設定手順
1) レジスタの内容を書き換える場合は , 必ず CSER レジスタの対応する領域を使用
しない設定 ("0") にして行ってください。"1" のまま設定を変更した場合 , その前
後のアクセスは保証されません。
2) レジスタの変更は以下の手順で行ってください。
① 該当領域に対応する CSER のビットを "0" に設定してください。
② ASR と ACR をワードアクセスで同時に設定してください。ASR, ACR をハー
フワードでアクセスする場合には , ASR 設定後に ACR を設定してください。
③ AWR を設定してください。
④ 該当領域に対する CSER のビットを設定してください。
3) CS0X 領域はリセット解除後から有効になっており , プログラム領域として使用
している場合は CSER を "1" のままで書き換える必要がありますが , この場合は
内部クロックが低い初期状態で上記② , ③の設定を行ってください。その後 , ク
ロックを高速クロックに切り換えてください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
219
第 8 章 外部バスインタフェース
8.8 レジスタ設定手順
MB91461
220
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
第9章
I/O ポート
I/O ポートの概要 , レジスタの構成 , および機能に
ついて説明します。
9.1 I/O ポートの概要
9.2 I/O ポートのレジスタ
9.3 ポートファンクションレジスタの設定
9.4 端子入力レベルの選択
9.5 プルアップ・プルダウン制御レジスタ
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
221
第 9 章 I/O ポート
9.1 I/O ポートの概要
9.1
MB91461
I/O ポートの概要
I/O ポートの概要について説明します。
■ ポート基本ブロックダイヤグラム
MB91461は, 各端子に対応する外部バスインタフェースやペリフェラルが入出力として
端子を使用しない設定になっているときに I/O ポートとして使用することができます。
図 9.1-1 に , ポート基本ブロックダイヤグラムを示します。
222
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 9 章 I/O ポート
9.1 I/O ポートの概要
MB91461
図 9.1-1 ポート基本ブロックダイヤグラム
ポートバス
PILR
EPILR
外部バスインタフェース入力
周辺入力
CMOS
PDRD リード
&
Automotive
&
PDRD
0
CLKP
CMOS
ヒステリシス
&
1
STOP または
GPORTEN
PDR リード
PPER
P-ch
プルアップ /
ダウン
制御
PPCR
出力ドライバ
1. 周辺出力
2. 周辺出力
端子
アウトプット
MUX
PDR
N-ch
DDR
ポート
方向
制御
PFR
EPFR
PODR
PDR:
PDRD:
DDR:
PFR:
EPFR:
PILR:
EPILR:
PPER:
PPCR:
ポートデータレジスタ
ポートデータダイレクトリードレジスタ
データ方向レジスタ
ポート機能レジスタ
エクストラ PFR ポート機能レジスタ
ポート入力レベル選択レジスタ
ポート入力レベル選択レジスタ
ポートプルアップ / ダウン許可レジスタ
ポートプルアップ / ダウン制御レジスタ
CM71-10159-2
アドレス 000H + #port ( ポート00: 000H, ポート01: 001H など )
アドレス= PDR + D00H
アドレス= PDR + D40H
アドレス= PDR + D80H
アドレス= PDR + DC0H
アドレス= PDR + E40H
アドレス= PDR + E80H
アドレス= PDR + EC0H
アドレス= PDR + F00H
FUJITSU MICROELECTRONICS LIMITED
223
第 9 章 I/O ポート
9.1 I/O ポートの概要
MB91461
■ ポートの一般的な仕様
すべてのポートに対して , 次の規則が有効です。
• ソフトウェアによるポート設定の前に , 貫通電流が発生するのを防ぐため , ポート
入力はすべて , 初期値が設定されています。各ポート端子をその機能に応じて設定し
てください。
• ポートごとに , CLKP で端子データをサンプリングするポートデータダイレクト
リードレジスタ (PDRD) があります。このレジスタはリードオンリです。
• ポートごとに , ポートの入力 / 出力方向を切り換えるデータ方向レジスタ (DDR) が
あります。リセット後 , すべてのポートは入力になります (DDR = 00H)。
- ポート入力モード (PFR = 0 および DDR = 0)
PDRD リード: サンプリングされた端子データが読み出されます。
PDR リード: サンプリングされた端子データが読み出されます。
PDR ライト:PDR 設定値が書き込まれますが , 端子値に何も影響しません。
- ポート出力モード (PFR = 0 および DDR = 1)
PDRD リード: サンプリングされた端子データが読み出されます。
PDR リード:PDR レジスタ値が読み出されます。
PDR ライト:PDR 設定値が対応する外部端子に書き込まれます。
• リードモディファイライト命令 ( ビット演算 ) では , データ方向レジスタ (DDR) の
設定にかかわらず , PDR レジスタは常にリードになります。
• 特定のポートに , ポート機能レジスタ (PFR) およびエクストラポート機能レジスタ
(EPFR) があります。EPFR = 1 により決定される機能を有効にするには , PFR = 1
も "1" に設定する必要があります。
MB91V460 上では , EPFR = 1 および PFR = 0 設
定の動作は , ポート入力 / 出力モード ( 将来の利用に予約 ) と同じです。
• ポートごとに, 入力レベル (CMOS ヒステリシス / Automotive [/ TTL]) をビット単位
で入力するポート入力レベルレジスタ (PILR) があります。デフォルト値は , ポート
の機能によって異なります。
入力レベルは , どのデバイスモードでも設定できます。表 9.4-2 を参照してください。
• 特定のポートには , 自身のプルアップ / プルダウン許可レジスタ (PPER) およびプル
アップ / プルダウン制御レジスタ (PPCR) によりビット単位で許可されるプルアッ
プ / プルダウン (50 kΩ) があります。
「9.5 プルアップ・プルダウン制御レジスタ 」
を参照してください。
• ポートごとに , 1 つまたは 2 つのポート機能レジスタ , PFR およびエクストラ PFR
(EPFR) ( 必要に応じて ) があります。合わせて , 端子当たり最大 3 リソース I/O の役
割を果たします。「9.3 ポートファンクションレジスタの設定 」を参照してくださ
い。
• MD2 ∼ MD0 端子およびモードレジスタ MODR で制御されるポート設定は , ポート
レジスタ内の設定を上書きします。例えば , 外部バスモードはポートレジスタの設
定を上書きします。外部バス信号出力は , 端子の PFR をポートモード (PFR = 0) に
設定すると , 無効にできます。
• リソース入力ラインは , 通常 , 端子に接続され , リソース内の適切な機能を設定する
と有効になります。「9.3 ポートファンクションレジスタの設定 」に示す例外があ
ります。
224
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 9 章 I/O ポート
9.1 I/O ポートの概要
MB91461
• 外部割込み入力ラインは , 常に端子に接続され , 外部割込みユニットで有効になり
ます。
• (STCR:STOP が設定され , STCR:HIZ が設定されない ) STOP モードでは , すべての
端子が現在の状態 (STOP モードになる前の設定により入力または出力 ) を維持し , 入
力段階およびラインは横断電流を避けるために内部で固定されます。対応する端子
が PFR = 1 で設定され , 対応する外部割込みが ENIR0, ENIR1 レジスタで許可されて
いる場合 , 外部割込み入力端子は , 固定されません。
プルアップ およびプルダウンは許
可されます。
• (STCR:STOP および STCR:HIZ が設定される ) STOP-HIZ モードでは , すべての端子
が入力 ( ハイインピーダンス状態 ) に切り換えられ , すべての入力段階およびライン
は変動を避けるために内部で固定されます。対応する端子が PFR = 1 で設定され ,
対応する外部割込みが ENIR0, ENIR1 レジスタで許可されている場合 , 外部割込み
入力端子は , 固定されません。プルアップ およびプルダウンは禁止されます。
• リソース出力ラインは, ポート内の対応する PFR / EPFR ビットを設定することによ
り有効になります。詳細は , 「9.3 ポートファンクションレジスタの設定 」を参照
してください。さらに , UART 制御内の SOE ビットを設定して , UART 出力 (SOT)
も有効にする必要があります。
• リソース双方向信号 (UART の SCK など ) は , ポート内の対応する PFR / EPFR ビット
を設定することにより有効になります。信号方向は , 出力許可ビットなど , リソース
の設定により制御されます。詳細は , 「9.3 ポートファンクションレジスタの設定 」
を参照してください。
<注意事項>
汎用ポート入力とペリフェラル入力を切り換えるレジスタはありません。外部端子から入
力された値は , 常に汎用ポートとペリフェラル回路へ伝播しています。
また , DDR で出力設定時も外部へ出力している値が常に汎用ポートとペリフェラル回路
へ伝播しています。
ペリフェラル入力としてご使用の場合は , DDR で入力設定し , 各ペリフェラルの入力信号
を有効にして使用してください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
225
第 9 章 I/O ポート
9.2 I/O ポートのレジスタ
9.2
MB91461
I/O ポートのレジスタ
ポートデータレジスタ (PDR) とポート方向レジスタ (DDR), ポートデータダイレク
トリードレジスタ (PDRD) を示します。
■ ポートデータレジスタ (PDR)
ポートごとの出力データを格納するレジスタです。
図 9.2-1 ポートデータレジスタ (PDR)
PDR14
PDR15
PDR16
PDR17
PDR18
PDR19
PDR20
PDR21
PDR22
PDR23
PDR24
PDR28
PDR29
アドレス
00000EH
00000FH
000010H
000011H
000012H
000013H
000014H
000015H
000016H
000017H
000018H
00001CH
00001DH
bit7
6
5
4
−
−
−
−
PDR14_3 PDR14_2 PDR14_1 PDR14_0
3
−
−
−
-
PDR15_3 PDR15_2 PDR15_1 PDR15_0
PDR16_7
−
−
−
−
2
−
1
−
0
−
PDR17_7 PDR17_6 PDR17_5 PDR17_4 PDR17_3 PDR17_2 PDR17_1 PDR17_0
−
PDR18_2 PDR18_1 PDR18_0
−
PDR19_6 PDR19_5 PDR19_4
−
PDR19_2 PDR19_1 PDR19_0
−
PDR20_6 PDR20_5 PDR20_4
−
PDR20_2 PDR20_1 PDR20_0
−
PDR21_6 PDR21_5 PDR21_4
−
PDR21_2 PDR21_1 PDR21_0
−
−
−
−
PDR22_7 PDR22_6 PDR22_5 PDR22_4 PDR22_3 PDR22_2
−
PDR23_6
−
−
PDR22_0
PDR23_4 PDR23_3 PDR23_2 PDR23_1 PDR23_0
PDR24_7 PDR24_6 PDR24_5 PDR24_4 PDR24_3 PDR24_2 PDR24_1 PDR24_0
−
−
−
PDR28_4 PDR28_3 PDR28_2 PDR28_1 PDR28_0
PDR29_7 PDR29_6 PDR29_5 PDR29_4 PDR29_3 PDR29_2 PDR29_1 PDR29_0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
----XXXXB
----XXXXB
X-------B
XXXXXXXXB
-----XXXB
-XXX-XXXB
-XXX-XXXB
-XXX-XXXB
XXXXXX-XB
-X-XXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
R/W
■ データ方向レジスタ (DDR)
ポートごとに入出力の方向を設定するレジスタです。リセット後 , すべてのポートは入
力となります。
図 9.2-2 データ方向レジスタ (DDR)
DDR14
DDR15
DDR16
DDR17
DDR18
DDR19
DDR20
DDR21
DDR22
DDR23
DDR24
DDR28
DDR29
アドレス
000D4EH
000D4FH
000D50H
000D51H
000D52H
000D53H
000D54H
000D55H
000D56H
000D57H
000D58H
000D5CH
000D5DH
bit7
5
4
3
2
1
0
−
−
−
−
DDR14_3 DDR14_2 DDR14_1 DDR14_0
−
−
−
−
DDR15_3 DDR15_2 DDR15_1 DDR15_0
DDR16_7
−
−
−
−
−
−
−
DDR17_7 DDR17_6 DDR17_5 DDR17_4 DDR17_3 DDR17_2 DDR17_1 DDR17_0
−
−
−
−
−
DDR18_2 DDR18_1 DDR18_0
−
DDR19_6 DDR19_5 DDR19_4
−
DDR19_2 DDR19_1 DDR19_0
−
DDR20_6 DDR20_5 DDR20_4
−
DDR20_2 DDR20_1 DDR20_0
−
DDR21_6 DDR21_5 DDR21_4
−
DDR21_2 DDR21_1 DDR21_0
DDR22_7 DDR22_6 DDR22_5 DDR22_4 DDR22_3 DDR22_2
−
DDR23_6
−
−
DDR22_0
DDR23_4 DDR23_3 DDR23_2 DDR23_1 DDR23_0
DDR24_7 DDR24_6 DDR24_5 DDR24_4 DDR24_3 DDR24_2 DDR24_1 DDR24_0
−
−
−
DDR28_4 DDR28_3 DDR28_2 DDR28_1 DDR28_0
DDR29_7 DDR29_6 DDR29_5 DDR29_4 DDR29_3 DDR29_2 DDR29_1 DDR29_0
R/W
226
6
R/W
R/W
R/W
R/W
R/W
FUJITSU MICROELECTRONICS LIMITED
R/W
初期値
----0000B
----0000B
0-------B
00000000B
-----000B
-000-000B
-000-000B
-000-000B
000000-0B
-0-00000B
00000000B
00000000B
00000000B
R/W
CM71-10159-2
第 9 章 I/O ポート
9.2 I/O ポートのレジスタ
MB91461
■ ポートデータダイレクトリードレジスタ (PDRD)
これらのレジスタは読出し専用レジスタで , ポートが出力状態であっても入力値を直
接読み出すために使用されます。
図 9.2-3 ポートデータダイレクトリードレジスタ (PDRD)
PDRD14
PDRD15
PDRD16
PDRD17
PDRD18
PDRD19
PDRD20
PDRD21
PDRD22
PDRD23
PDRD24
PDRD28
PDRD29
アドレス
000D0EH
000D0FH
000D10H
000D11H
000D12H
000D13H
000D14H
000D15H
000D16H
000D17H
000D18H
000D1CH
000D1DH
bit7
6
5
−
−
−
−
−
−
PDRD16_7
−
−
PDRD17_7 PDRD17_6 PDRD17_5
−
−
PDRD19_6 PDRD19_5
−
PDRD20_6 PDRD20_5
−
PDRD21_6 PDRD21_5
PDRD22_7 PDRD22_6 PDRD22_5
−
PDRD23_6
−
PDRD24_7 PDRD24_6 PDRD24_5
−
−
−
PDRD29_7 PDRD29_6 PDRD29_5
R
CM71-10159-2
−
−
R
R
4
3
2
1
0
初期値
----XXXXB
PDRD15_3 PDRD15_2 PDRD15_1 PDRD15_0 ----XXXXB
−
X-------B
−
−
−
−
−
PDRD17_4 PDRD17_3 PDRD17_2 PDRD17_1 PDRD17_0 XXXXXXXXB
PDRD18_2 PDRD18_1 PDRD18_0 -----XXXB
−
−
PDRD19_4
PDRD19_2 PDRD19_1 PDRD19_0 -XXX-XXXB
−
PDRD20_4
PDRD20_2 PDRD20_1 PDRD20_0 -XXX-XXXB
−
PDRD21_4
PDRD21_2 PDRD21_1 PDRD21_0 -XXX-XXXB
−
PDRD22_4 PDRD22_3 PDRD22_2
PDRD22_0 XXXXXX-XB
−
PDRD23_4 PDRD23_3 PDRD23_2 PDRD23_1 PDRD23_0 -X-XXXXXB
PDRD24_4 PDRD24_3 PDRD24_2 PDRD24_1 PDRD24_0 XXXXXXXXB
PDRD28_4 PDRD28_3 PDRD28_2 PDRD28_1 PDRD28_0 XXXXXXXXB
PDRD29_4 PDRD29_3 PDRD29_2 PDRD29_1 PDRD29_0 XXXXXXXXB
R
R
R
R
R
−
PDRD14_3 PDRD14_2 PDRD14_1 PDRD14_0
FUJITSU MICROELECTRONICS LIMITED
227
第 9 章 I/O ポート
9.3 ポートファンクションレジスタの設定
9.3
MB91461
ポートファンクションレジスタの設定
ポートファンクションレジスタの機能について説明します。
■ ポート 14
ポート 14 は PFR14 および EPFR14 で制御されます。
PFR14 の対応するビットが "0" のとき , 端子は汎用ポートとして使用され , "1" の場合
は外部端子はペリフェラルへの入力となります。ICU ( インプットキャプチャユニット )
への入力選択は PFR と EPFR の組合せで決まります。
図 9.3-1 ポート 14 の制御レジスタ構成
アドレス
PFR14 000D8EH
EPFR14 000DCEH
bit7
6
5
4
3
2
1
0
初期値
−
−
−
−
PFR14_3 PFR14_2 PFR14_1 PFR14_0 ----0000B
−
−
−
−
EPFR14_3 EPFR14_2 EPFR14_1 EPFR14_0
−
−
−
−
R/W
R/W
R/W
----0000B
R/W
表 9.3-1 ポート 14 の制御レジスタの機能説明 (1 / 2)
ビット名
値
00B
01B
PFR14_3/EPFR14_3
10B
11B
外部端子から次の 2 つへ入力されます。
・リロードタイマ 3 の外部トリガ入力
・PPG3 の外部トリガ入力
内部の ICU3 の入力には LIN-UART3 の LSYN 出力が接続されます。
01B
228
外部端子が汎用ポート (P14_3) として使用されます。*
ICU3 の入力には LIN-UART3 の LSYN 出力が接続されます。LIN
通信時の LSYN パルス幅を計測して LIN スレーブ動作時のボー
レートを検出するために使用できます。
外部端子から次の 3 つへ入力されます。
・ICU3 の入力
・リロードタイマ 3 の外部トリガ入力
・PPG3 の外部トリガ入力
00B
PFR14_2/EPFR14_2
機能
外部端子が汎用ポート (P14_2) として使用されます。*
ICU2 の入力には LIN-UART2 の LSYN 出力が接続されます。
10B
外部端子から次の 3 つへ入力されます。
・ICU2 の入力
・リロードタイマ 2 の外部トリガ入力
・PPG2 の外部トリガ入力
11B
外部端子から次の 2 つへ入力されます。
・リロードタイマ 2 の外部トリガ入力
・PPG2 の外部トリガ入力
ICU2 の入力には LIN-UART2 の LSYN 出力が接続されます。
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 9 章 I/O ポート
9.3 ポートファンクションレジスタの設定
MB91461
表 9.3-1 ポート 14 の制御レジスタの機能説明 (2 / 2)
ビット名
値
00B
01B
PFR14_1/EPFR14_1
外部端子が汎用ポート (P14_1) として使用されます。*
ICU1 の入力には LIN-UART1 の LSYN 出力が接続されます。
10B
外部端子から次の 3 つへ入力されます。
・ICU1 の入力
・リロードタイマ 1 の外部トリガ入力
・PPG1 の外部トリガ入力
11B
外部端子から次の 2 つへ入力されます。
・リロードタイマ 1 の外部トリガ入力
・PPG1 の外部トリガ入力
ICU1 の入力には LIN-UART1 の LSYN 出力が接続されます。
00B
01B
PFR14_0/EPFR14_0
機能
外部端子が汎用ポート (P14_0) として使用されます。
ICU0 の入力には LIN-UART0 の LSYN 出力が接続されます。
10B
外部端子から次の 3 つへ入力されます。
・ICU0 の入力
・リロードタイマ 0 の外部トリガ入力
・PPG0 の外部トリガ入力
11B
外部端子から次の 2 つへ入力されます。
・リロードタイマ 0 の外部トリガ入力
・PPG0 の外部トリガ入力
ICU0 の入力には LIN-UART0 の LSYN 出力が接続されます。
* : ポートを選択している場合でもリロードタイマのトリガ入力 , PPG のトリガ入力は可能です。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
229
第 9 章 I/O ポート
9.3 ポートファンクションレジスタの設定
MB91461
■ ポート 15
ポート 15 は PFR15 および EPFR15 で制御されます。
PFR が "0" のときは汎用ポートとなり , "1" のときには周辺マクロ (OCU あるいはリロー
ドタイマ ) からの出力端子となります。
図 9.3-2 ポート 15 の制御レジスタ構成
アドレス
PFR15 000D8FH
EPFR15 000DCFH
bit7
6
5
4
−
−
−
−
PFR15_3 PFR15_2 PFR15_1 PFR15_0 ----0000B
3
−
−
−
−
EPFR15_3 EPFR15_2 EPFR15_1 EPFR15_0
−
−
−
−
R/W
2
R/W
1
R/W
0
初期値
----0000B
R/W
表 9.3-2 ポート 15 の制御レジスタの機能説明
ビット名
PFR15_3/EPFR15_3
PFR15_2/EPFR15_2
PFR15_1/EPFR15_1
PFR15_0/EPFR15_0
230
値
機能
0XB
P15_3 : 外部端子が汎用ポート (P15_3) として使用されます。
10B
OCU3 : 外部端子が OCU3 の出力として使用されます。
11B
TOT3 : 外部端子がリロードタイマ 3 の出力として使用されます。
0XB
P15_2 : 外部端子が汎用ポート (P15_2) として使用されます。
10B
OCU2 : 外部端子が OCU2 の出力として使用されます。
11B
TOT2 : 外部端子がリロードタイマ 2 の出力として使用されます。
0XB
P15_1 : 外部端子が汎用ポート (P15_1) として使用されます。
10B
OCU1 : 外部端子が OCU1 出力として使用されます。
11B
TOT1 : 外部端子がリロードタイマ 1 の出力として使用されます。
0XB
P15_0 : 外部端子が汎用ポート (P15_0) として使用されます。
10B
OCU0 : 外部端子が OCU0 の出力として使用されます。
11B
TOT0 : 外部端子がリロードタイマ 0 の出力として使用されます。
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 9 章 I/O ポート
9.3 ポートファンクションレジスタの設定
MB91461
■ ポート 16
ポート 16 は PFR16 および EPFR16 で制御されます。
図 9.3-3 ポート 16 の制御レジスタ構成
アドレス
PFR16 000D90H
EPFR16 000DD0H
bit7
6
5
4
3
2
1
0
PFR16_7
−
−
−
−
−
−
−
EPFR16_7
−
−
−
−
−
−
−
R/W
−
−
−
−
−
−
−
初期値
0-------B
0-------B
表 9.3-3 ポート 16 の制御レジスタの機能説明
ビット名
値
PFR16_7/EPFR16_7
機能
0XB
P16_7 : 外部端子が汎用ポート (P16_7) として使用されます。
10B
設定禁止
1XB
ATGX : 外部端子が ATGX 入力として使用されます。*
* : ペリフェラルを入力として使用する場合は汎用ポートを選択していても入力されます。
■ ポート 17
ポート 17 は PFR17 で制御されます。
図 9.3-4 ポート 17 の制御レジスタ構成
PFR17
bit7
6
5
4
3
2
1
0
アドレス
初期値
000D91H PFR17_7 PFR17_6 PFR17_5 PFR17_4 PFR17_3 PFR17_2 PFR17_1 PFR17_0 00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
表 9.3-4 ポート 17 の制御レジスタの機能説明 (1 / 2)
ビット名
値
機能
0
P17_7 : 外部端子が汎用ポート (P17_7) として使用されます。
1
PPG7 : PPG 出力 (PPG7) として使用されます。
0
P17_6 : 外部端子が汎用ポート (P17_6) として使用されます。
1
PPG6 : PPG 出力 (PPG6) として使用されます。
0
P17_5 : 外部端子が汎用ポート (P17_5) として使用されます。
1
PPG5 : PPG 出力 (PPG5) として使用されます。
0
P17_4 : 外部端子が汎用ポート (P17_4) として使用されます。
1
PPG4 : PPG 出力 (PPG4) として使用されます。
0
P17_3 : 外部端子が汎用ポート (P17_3) として使用されます。
1
PPG3 : PPG 出力 (PPG3) として使用されます。
PFR17_7
PFR17_6
PFR17_5
PFR17_4
PFR17_3
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
231
第 9 章 I/O ポート
9.3 ポートファンクションレジスタの設定
MB91461
表 9.3-4 ポート 17 の制御レジスタの機能説明 (2 / 2)
ビット名
値
機能
0
P17_2 : 外部端子が汎用ポート (P17_2) として使用されます。
1
PPG2 : PPG 出力 (PPG2) として使用されます。
0
P17_1 : 外部端子が汎用ポート (P17_1) として使用されます。
1
PPG1 : PPG 出力 (PPG1) として使用されます。
0
P17_0 : 外部端子が汎用ポート (P17_0) として使用されます。
1
PPG0 : PPG 出力 (PPG0) として使用されます。
PFR17_2
PFR17_1
PFR17_0
■ ポート 18
ポート 18 は PFR18 で制御されます。
図 9.3-5 ポート 18 の制御レジスタ構成
アドレス
PFR18 000D92H
EPFR18 000DD2H
bit7
6
5
4
3
−
−
−
−
−
PFR18_2 PFR18_1 PFR18_0
−
−
−
−
−
EPFR18_2
−
−
−
R/W
R/W
R/W
−
−
−
−
2
1
0
初期値
-----000B
-----0--B
表 9.3-5 ポート 18 の制御レジスタの機能説明
ビット名
PFR18_2/EPFR18_2
値
機能
0XB
P18_2 : 外部端子が汎用ポート (P18_2) として使用されます。
10B
SCK6 : LIN-UART6 の SCK として使用されます。
SCK として使用する場合の入出力の設定は LIN-UART のシ
リアルモードレジスタの SCKE ビットで行います。*
11B
設定禁止です。
0B
P18_1 : 外部端子が汎用ポート (P18_1) として使用されます。
1B
SOT6 : LIN-UART6 の SOT として使用されます。
SOT 出力として使用する場合は LIN-UART のシリアルモー
ドレジスタの SOE ビットに "1" を設定してください。
0B
P18_0 : 外部端子が汎用ポート (P18_0) として使用されます。
1B
SIN6 : LIN-UART6 の SIN として使用されます。*
PFR18_1
PFR18_0
* : ペリフェラルを入力として使用する場合は汎用ポートを選択していても入力されます。
232
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 9 章 I/O ポート
9.3 ポートファンクションレジスタの設定
MB91461
■ ポート 19
ポート 19 は PFR19 で制御されます。
図 9.3-6 ポート 19 の制御レジスタ構成
アドレス
PFR19 000D93H
EPFR19 000DD3H
bit7
6
5
4
3
2
1
0
−
PFR19_6 PFR19_5 PFR19_4
−
PFR19_2 PFR19_1 PFR19_0
−
EPFR19_6
−
−
−
EPFR19_2
−
−
−
R/W
R/W
R/W
−
R/W
R/W
R/W
初期値
-000-000B
-0---0--B
表 9.3-6 ポート 19 の制御レジスタの機能説明
ビット名
PFR19_6/EPFR19_6
値
0XB
P19_6 : 外部端子が汎用ポート (P19_6) として使用されます。
10B
SCK5 : LIN-UART5 の SCK として使用されます。
SCK として使用する場合の入出力の設定は LIN-UART のシリ
アルモードレジスタの SCKE ビットで行います。*
11B
設定禁止です。
0B
P19_5 : 外部端子が汎用ポート (P19_5) として使用されます。
1B
SOT5 : LIN-UART5 の SOT として使用されます。
SOT 出力として使用する場合は LIN-UART のシリアルモード
レジスタの SOE ビットに "1" を設定してください。
0B
P19_4 : 外部端子が汎用ポート (P19_4) として使用されます。
1B
SIN5 : LIN-UART5 の SIN として使用されます。*
PFR19_5
PFR19_4
PFR19_2/EPFR19_2
0XB
P19_2 : 外部端子が汎用ポート (P19_2) として使用されます。
10B
SCK4 : LIN-UART4 の SCK として使用されます。
SCK として使用する場合の入出力の設定は LIN-UART のシリ
アルモードレジスタの SCKE ビットで行います。*
11B
設定禁止です。
0B
P19_1 : 外部端子が汎用ポート (P19_1) として使用されます。
1B
SOT4 : LIN-UART4 の SOT として使用されます。
SOT 出力として使用する場合は LIN-UART のシリアルモード
レジスタの SOE ビットに "1" を設定してください。
0B
P19_0 : 外部端子が汎用ポート (P19_0) として使用されます。
1B
SIN4 : LIN-UART4 の SIN として使用されます。*
PFR19_1
PFR19_0
機能
* : ペリフェラルを入力として使用する場合は汎用ポートを選択していても入力されます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
233
第 9 章 I/O ポート
9.3 ポートファンクションレジスタの設定
MB91461
■ ポート 20
ポート 20 は PFR20 および EPFR20 で制御されます。
図 9.3-7 ポート 20 の制御レジスタ構成
アドレス
PFR20 000D94H
EPFR20 000DD4H
bit7
6
5
4
3
2
1
0
−
PFR20_6 PFR20_5 PFR20_4
−
PFR20_2 PFR20_1 PFR20_0
−
EPFR20_6 EPFR20_5 EPFR20_4
−
EPFR20_2 EPFR20_1 EPFR20_0
R/W
−
R/W
R/W
−
R/W
R/W
初期値
-000-000B
-000-000B
R/W
表 9.3-7 ポート 20 の制御レジスタの機能説明
ビット名
PFR20_6/EPFR20_6
PFR20_5/EPFR20_5
PFR20_4/EPFR20_4
PFR20_2/EPFR20_2
PFR20_1/EPFR20_1
PFR20_0/EPFR20_0
値
機能
0XB
P20_6 : 外部端子が汎用ポートとして使用されます。
10B
SCK3 : LIN-UART3 の SCK として使用されます。
SCK として使用する場合の入出力の設定は LIN-UART のシ
リアルモードレジスタの SCKE ビットで行います。*1
11B
FRCK3 : フリーランタイマ 3 の CK として使用されます。*2
0XB
P20_5 : 外部端子が汎用ポートとして使用されます。
10B
SOT3 : LIN-UART3 の SOT として使用されます。
SOT 出力として使用する場合は LIN-UART のシリアルモー
ドレジスタの SOE ビットに "1" を設定してください。
11B
設定禁止です。
0XB
P20_4 : 外部端子が汎用ポートとして使用されます。
10B
SIN3 : LIN-UART3 の SIN として使用されます。 *1
11B
設定禁止です。
0XB
P20_2 : 外部端子が汎用ポートとして使用されます。
10B
SCK2 : LIN-UART2 の SCK として使用されます。
SCK として使用する場合の入出力の設定は LIN-UART のシ
リアルモードレジスタの SCKE ビットで行います。*1
11B
FRCK3 : フリーランタイマ 3 の CK として使用されます。*2
0XB
P20_1 : 外部端子が汎用ポートとして使用されます。
10B
SOT2 : LIN-UART2 の SOT として使用されます。
SOT 出力として使用する場合は LIN-UART のシリアルモー
ドレジスタの SOE ビットに "1" を設定してください。
11B
設定禁止です。
0XB
P20_0 : 外部端子が汎用ポートとして使用されます。
10B
SIN2 : LIN-UART2 の SIN として使用されます。 *1
11B
設定禁止です。
*1 : ペリフェラルを入力として使用する場合は汎用ポートを選択していても入力されます。
*2 : フリーランタイマの入力クロック (FRCKx) は PFR と EPFR の設定とは関係なく常に入力されます。
234
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 9 章 I/O ポート
9.3 ポートファンクションレジスタの設定
MB91461
■ ポート 21
ポート 21 は PFR21 および EPFR21 で制御されます。
図 9.3-8 ポート 21 の制御レジスタ構成
アドレス
PFR21 000D95H
EPFR21 000DD5H
bit7
6
5
4
3
2
1
0
−
PFR21_6 PFR21_5 PFR21_4
−
PFR21_2 PFR21_1 PFR21_0
−
EPFR21_6 EPFR21_5 EPFR21_4
−
EPFR21_2 EPFR21_1 EPFR21_0
R/W
−
R/W
R/W
−
R/W
R/W
初期値
-000-000B
-000-000B
R/W
表 9.3-8 ポート 21 の制御レジスタの機能説明
ビット名
PFR21_6/EPFR21_6
PFR21_5/EPFR21_5
PFR21_4/EPFR21_4
PFR21_2/EPFR21_2
PFR21_1/EPFR21_1
PFR21_0/EPFR21_0
値
機能
0XB
P21_6 : 外部端子が汎用ポートとして使用されます。
10B
SCK1 : LIN-UART1 の SCK として使用されます。
SCK として使用する場合の入出力の設定は LIN-UART のシ
リアルモードレジスタの SCKE ビットで行います。*1
11B
FRCK1 : フリーランタイマ 1 の CK として使用されます。 *2
0XB
P21_5 : 外部端子が汎用ポートとして使用されます。
10B
SOT1 : LIN-UART1 の SOT として使用されます。
SOT 出力として使用する場合は LIN-UART のシリアルモー
ドレジスタの SOE ビットに "1" を設定してください。
11B
設定禁止です。
0XB
P21_4 : 外部端子が汎用ポートとして使用されます。
10B
SIN1 : LIN-UART1 の SIN として使用されます。
11B
設定禁止です。
0XB
P21_2 : 外部端子が汎用ポートとして使用されます。
10B
SCK0 : LIN-UART0 の SCK として使用されます。
SCK として使用する場合の入出力の設定は LIN-UART のシ
リアルモードレジスタの SCKE ビットで行います。*1
11B
FRCK0 : フリーランタイマ 0 の CK として使用されます。 *2
0XB
P21_1 : 外部端子が汎用ポートとして使用されます。
10B
SOT0 : LIN-UART0 の SOT として使用されます。
SOT 出力として使用する場合は LIN-UART のシリアルモー
ドレジスタの SOE ビットに "1" を設定してください。
11B
設定禁止です。
0XB
P21_0 : 外部端子が汎用ポートとして使用されます。
10B
SIN0 : LIN-UART0 の SIN として使用されます。
11B
設定禁止です。
*1
*1
*1 : ペリフェラルを入力として使用する場合は汎用ポートを選択していても入力されます。
*2 : フリーランタイマの入力クロック (FRCKx) は PFR と EPFR の設定とは関係なく常に入力されます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
235
第 9 章 I/O ポート
9.3 ポートファンクションレジスタの設定
MB91461
■ ポート 22
ポート 22 は PFR22 で制御されます。
通常動作時は , 割込み入力 (INT15, INT14, INT13, INT12) は PFR の設定とは関係なく入
力されますが , STOP モード時は内部 INT 入力への入力は以下のようになります。
• PFR = 0 のとき…内部 STOP モード信号により , 内部 INT 入力に "0" が入力される。
• PFR = 1 のとき…外部端子の値がそのまま内部 INT 入力に入力される。
このため , STOP モード解除用として使用する割込みに対しては , STOP モード実行前
に PFR を "1" に設定することが必要です。また , STOP モード解除用として使用しない
割込みに対しては , 外部割込みレジスタにてインアクティブにするための設定を行う
か , PFR を "1" に設定して外部端子で処理するなどの注意が必要です。
図 9.3-9 ポート 22 の制御レジスタ構成
PFR22
bit7
6
5
4
3
2
アドレス
000D96H PFR22_7 PFR22_6 PFR22_5 PFR22_4 PFR22_3 PFR22_2
R/W
R/W
R/W
R/W
R/W
R/W
1
−
−
0
初期値
PFR22_0 000000-0B
R/W
表 9.3-9 ポート 22 の制御レジスタの機能説明
ビット名
PFR22_7
値
0
P22_7 : 外部端子が汎用ポートとして使用されます。
1
SCL1 : I2C_1 の SCL 入出力として使用されます。
0
P22_6 : 外部端子が汎用ポートとして使用されます。
INT15 : INT15 へ入力されます。
1
SDA1 : I2C_1 の SDA 入出力として使用されます。
INT15 : INT15 へ入力されます。
INT15 を STOP モード解除用として使用する場合は "1" にしてください。
0
P22_5 : 外部端子が汎用ポートとして使用されます。
1
SCL0 : I2C_0 の SCL 入出力として使用されます。
0
P22_4 : 外部端子が汎用ポートとして使用されます。
INT14 : INT14 へ入力されます。
1
SDA0 : I2C_0 の SDA 入出力として使用されます。
INT14 : INT14 へ入力されます。
INT14 を STOP モード解除用として使用する場合は "1" にしてください。
0
P22_3 : 外部端子が汎用ポートとして使用されます。
1
設定禁止です。
0
P22_2 : 外部端子が汎用ポートとして使用されます。
INT13 : INT13 へ入力されます。
1
INT13 : INT13 へ入力されます。
INT13 を STOP モード解除用として使用する場合は "1" にしてください。
0
P22_0 : 外部端子が汎用ポートとして使用されます。
INT12 : INT12 へ入力されます。
1
INT12 : INT12 へ入力されます。
INT12 を STOP モード解除用として使用する場合は "1" にしてください。
PFR22_6
PFR22_5
PFR22_4
PFR22_3
PFR22_2
PFR22_0
236
機能
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 9 章 I/O ポート
9.3 ポートファンクションレジスタの設定
MB91461
■ ポート 23
ポート 23 は PFR23 で制御されます。
通常動作時は , 割込み入力 (INT11, INT10, INT9, INT8) は PFR の設定とは関係なく入力
されますが , STOP モード時は内部 INT 入力への入力は以下のようになります。
• PFR = 0 のとき…内部 STOP モード信号により , 内部 INT 入力に "0" が入力される。
• PFR = 1 のとき…外部端子の値がそのまま内部 INT 入力に入力される。
このため , STOP モード解除用として使用する割込みに対しては , STOP モード実行前
に PFR を "1" に設定することが必要です。また , STOP モード解除用として使用しない
割込みに対しては , 外部割込みレジスタにてインアクティブにするための設定を行う
か , PFR を "1" に設定して外部端子で処理するなどの注意が必要です。
図 9.3-10 ポート 23 の制御レジスタ構成
PFR23
アドレス
000D97H
bit7
6
5
−
PFR23_6
−
−
R/W
−
4
3
2
1
0
初期値
PFR23_4 PFR23_3 PFR23_2 PFR23_1 PFR23_0 -0-00000B
R/W
R/W
R/W
R/W
R/W
表 9.3-10 ポート 23 の制御レジスタの機能説明
ビット名
値
0
P23_6 : 外部端子が汎用ポートとして使用されます。
INT11 : INT11 へ入力されます。
1
INT11 : INT11 へ入力されます。
INT11 を STOP モード解除用として使用する場合は "1" にしてください。
0
P23_4 : 外部端子が汎用ポートとして使用されます。
INT10 : INT10 へ入力されます。
1
INT10 : INT10 へ入力されます 。
INT10 を STOP モード解除用として使用する場合は "1" にしてください。
0
P23_3 : 外部端子が汎用ポートとして使用されます。
1
TX1 : CAN1 の TX として使用されます。
0
P23_2 : 外部端子が汎用ポートとして使用されます。
RX1 : CAN1 の RX へ入力されます。
INT9 : INT9 へ入力されます。
1
RX1 : CAN1 の RX へ入力されます。
INT9 : INT9 へ入力されます。
INT9 を STOP モード解除用として使用する場合は "1" にしてください。
0
P23_1 : 外部端子が汎用ポートとして使用されます。
1
TX0 : CAN0 の TX として使用されます。
0
P23_0 : 外部端子が汎用ポートとして使用されます。
RX0 : CAN0 の RX へ入力されます。
INT8 : INT8 へ入力されます。
1
RX0 : CAN0 の RX へ入力されます。
INT8 : INT8 へ入力されます。
INT8 を STOP モード解除用として使用する場合は "1" にしてください。
PFR23_6
PFR23_4
PFR23_3
PFR23_2
PFR23_1
PFR23_0
CM71-10159-2
機能
FUJITSU MICROELECTRONICS LIMITED
237
第 9 章 I/O ポート
9.3 ポートファンクションレジスタの設定
MB91461
■ ポート 24
ポート 24 は PFR24 で制御されます。
通常動作時は , 割込み入力 (INT7, INT6, INT5, INT4, INT3, INT2, INT1, INT0) は PFR の
設定とは関係なく入力されますが , STOP モード時は内部 INT 入力への入力は以下のよ
うになります。
• PFR = 0 のとき…内部 STOP モード信号により , 内部 INT 入力に "0" が入力される。
• PFR = 1 のとき…外部端子の値がそのまま内部 INT 入力に入力される。
このため , STOP モード解除用として使用する割込みに対しては , STOP モード実行前
に PFR を "1" に設定することが必要です。また , STOP モード解除用として使用しない
割込みに対しては , 外部割込みレジスタにてインアクティブにするための設定を行う
か , PFR を "1" に設定して外部端子で処理するなどの注意が必要です。
図 9.3-11 ポート 24 の制御レジスタ構成
PFR24
bit7
6
5
4
3
2
1
0
アドレス
初期値
000D98H PFR24_7 PFR24_6 PFR24_5 PFR24_4 PFR24_3 PFR24_2 PFR24_1 PFR24_0 00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
表 9.3-11 ポート 24 の制御レジスタの機能説明 (1 / 2)
ビット名
値
機能
0
P24_7 : 外部端子が汎用ポートとして使用されます。
INT7 : INT7 へ入力されます。
1
INT7 : INT7 へ入力されます。
INT7 を STOP モード解除用として使用する場合は "1" にしてください。
0
P24_6 : 外部端子が汎用ポートとして使用されます。
INT6 : INT6 へ入力されます。
1
INT6 : INT6 へ入力されます。
INT6 を STOP モード解除用として使用する場合は "1" にしてください。
0
P24_5 : 外部端子が汎用ポートとして使用されます。
INT5 : INT5 へ入力されます。
1
SCL2 : I2C_2 の SCL として使用されます。
INT5 : INT5 へ入力されます。
INT5 を STOP モード解除用として使用する場合は "1" にしてください。
0
P24_4 : 外部端子が汎用ポートとして使用されます。
INT4 : INT4 へ入力されます。
1
SDA2 : I2C_2 の SDA として使用されます。
INT4 : INT4 へ入力されます。
INT4 を STOP モード解除用として使用する場合は "1" にしてください。
PFR24_7
PFR24_6
PFR24_5
PFR24_4
238
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 9 章 I/O ポート
9.3 ポートファンクションレジスタの設定
MB91461
表 9.3-11 ポート 24 の制御レジスタの機能説明 (2 / 2)
ビット名
値
機能
0
P24_3 : 外部端子が汎用ポートとして使用されます。
INT3 : INT3 へ入力されます。
1
INT3 : INT3 へ入力されます。
INT3 を STOP モード解除用として使用する場合は "1" にしてください。
0
P24_2 : 外部端子が汎用ポートとして使用されます。
INT2 : INT2 へ入力されます。
1
INT2 : INT2 へ入力されます。
INT2 を STOP モード解除用として使用する場合は "1" にしてください。
0
P24_1 : 外部端子が汎用ポートとして使用されます。
INT1 : INT1 へ入力されます。
1
INT1 : INT1 へ入力されます。
INT1 を STOP モード解除用として使用する場合は "1" にしてください。
0
P24_0 : 外部端子が汎用ポートとして使用されます。
INT0 : INT0 へ入力されます。
1
INT0 : INT0 へ入力されます。
INT0 を STOP モード解除用として使用する場合は "1" にしてください。
PFR24_3
PFR24_2
PFR24_1
PFR24_0
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
239
第 9 章 I/O ポート
9.3 ポートファンクションレジスタの設定
MB91461
■ ポート 28
ポート 28 は A/D コンバータの入力と兼用しており , 汎用ポートとして使用するために
は PFR28 の対応するビットを "0" に設定するだけでなく , ADER( アナログ入力許可レ
ジスタ ) の対応するビットには "0" を設定してください。
図 9.3-12 ポート 28 の制御レジスタ構成
アドレス
PFR28 000D9CH
ADERL 0001A2H
上位バイト
bit7
−
−
−
6
−
−
−
5
−
−
−
4
3
2
1
0
初期値
PFR28_4 PFR28_3 PFR28_2 PFR28_1 PFR28_0 00000000B
ADE12 ADE11 ADE10
R/W
R/W
R/W
ADE9
R/W
ADE8
R/W
00000000B
表 9.3-12 ポート 28 の制御レジスタの機能説明
ビット名
PFR28_4 / ADE12
PFR28_3 / ADE11
PFR28_2 / ADE10
PFR28_1 / ADE9
PFR28_0 / ADE8
240
値
00B
01B, 10B
11B
00B
01B, 10B
11B
00B
01B, 10B
11B
00B
01B, 10B
11B
00B
01B, 10B
11B
機能
P28_4 : 外部端子が汎用ポートとして使用されます。
設定禁止です。
AN12 : A/D コンバータのアナログ入力として使用されます。
P28_3 : 外部端子が汎用ポートとして使用されます。
設定禁止です。
AN11 : A/D コンバータのアナログ入力として使用されます。
P28_2 : 外部端子が汎用ポートとして使用されます。
設定禁止です。
AN10 : A/D コンバータのアナログ入力として使用されます。
P28_1 : 外部端子が汎用ポートとして使用されます。
設定禁止です。
AN9 : A/D コンバータのアナログ入力として使用されます。
P28_0 : 外部端子が汎用ポートとして使用されます。
設定禁止です。
AN8 : A/D コンバータのアナログ入力として使用されます。
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 9 章 I/O ポート
9.3 ポートファンクションレジスタの設定
MB91461
■ ポート 29
ポート 29 は A/D コンバータの入力と兼用しており , 汎用ポートとして使用するために
は PFR29 の対応するビットを "0" に設定するだけでなく , ADER( アナログ入力許可レ
ジスタ ) の対応するビットには "0" を設定してください。
図 9.3-13 ポート 29 の制御レジスタ構成
bit7
6
5
4
3
2
1
0
アドレス
初期値
PFR29 000D9DH PFR29_7 PFR29_6 PFR29_5 PFR29_4 PFR29_3 PFR29_2 PFR29_1 PFR29_0 00000000B
ADE6
ADE5
ADE4
ADE3
ADE2
ADE1 ADE0 00000000B
ADERL 0001A3H ADE7
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
下位バイト
表 9.3-13 ポート 29 の制御レジスタの機能説明
ビット名
値
00B
PFR29_7 / ADE7
PFR29_6 / ADE6
PFR29_5 / ADE5
PFR29_4 / ADE4
PFR29_3 / ADE3
PFR29_2 / ADE2
PFR29_1 / ADE1
PFR29_0 / ADE0
01B, 10B
P29_7 : 外部端子が汎用ポートとして使用されます。
設定禁止です。
11B
AN7 : A/D コンバータのアナログ入力として使用されます。
00B
P29_6 : 外部端子が汎用ポートとして使用されます。
01B, 10B
設定禁止です。
11B
AN6 : A/D コンバータのアナログ入力として使用されます。
00B
P29_5 : 外部端子が汎用ポートとして使用されます。
01B, 10B
設定禁止です。
11B
AN5 : A/D コンバータのアナログ入力として使用されます。
00B
P29_4 : 外部端子が汎用ポートとして使用されます。
01B, 10B
設定禁止です。
11B
AN4 : A/D コンバータのアナログ入力として使用されます。
00B
P29_3 : 外部端子が汎用ポートとして使用されます。
01B, 10B
設定禁止です。
11B
AN3 : A/D コンバータのアナログ入力として使用されます。
00B
P29_2 : 外部端子が汎用ポートとして使用されます。
01B, 10B
設定禁止です。
11B
AN2: A/D コンバータのアナログ入力として使用されます。
00B
P29_1 : 外部端子が汎用ポートとして使用されます。
01B, 10B
設定禁止です。
11B
AN1 : A/D コンバータのアナログ入力として使用されます。
00B
P29_0 : 外部端子が汎用ポートとして使用されます。
01B, 10B
11B
CM71-10159-2
機能
設定禁止です。
AN0 : A/D コンバータのアナログ入力として使用されます。
FUJITSU MICROELECTRONICS LIMITED
241
第 9 章 I/O ポート
9.4 端子入力レベルの選択
9.4
MB91461
端子入力レベルの選択
端子の入力レベルは , レジスタ設定により選択することができます。
■ 端子入力レベル
表 9.4-1 に , 入力レベルを示します。
表 9.4-1 入力レベル
VIL
VIH
CMOS
VIL = 0.3 × VDD
VIH = 0.7 × VDD
CMOS シュミットトリガ 1
VIL = 0.3 × VDD
VIH = 0.7 × VDD
CMOS シュミットトリガ 2
VIL = 0.2 × VDD
VIH = 0.8 × VDD
Automotive
VIL = 0.5 × VDD
VIH = 0.8 × VDD
名称
■ 端子入力レベルの選択
端子ごとの入力レベルの選択には , 端子入力レベル選択レジスタ (PILR, EPIRL) が使用
されます。表 9.4-2 に 端子入力レベル選択レジスタの設定を示します
表 9.4-2 端子入力レベル選択レジスタの設定
PILRxy
端子入力レベル
0 [ 初期値 ]
1
CMOS シュミットトリガ 1
CMOS シュミットトリガ 2
<注意事項>
MB91V460 では PILR の値によらず CMOS シュミットトリガ入力となります。
(VIL = 0.3 × VDD/VIH = 0.7 × VDD)
図 9.4-1 端子入力レベル選択レジスタ
アドレス
PILR14
PILR15
PILR16
PILR17
PILR18
PILR19
PILR20
PILR21
PILR22
PILR23
PILR24
PILR28
PILR29
242
bit
7
6
000E4EH
−
−
000E4FH
−
−
000E50H PILR16_7
−
000E51H PILR17_7 PILR17_6
000E52H
−
−
000E53H
PILR19_6
−
000E54H
PILR20_6
−
000E55H
PILR21_6
−
000E56H PILR22_7 PILR22_6
000E57H
PILR23_6
−
000E58H PILR24_7 PILR24_6
000E5CH
−
−
000E5DH PILR29_7 PILR29_6
R/W
R/W
5
4
−
−
PILR14_3 PILR14_2 PILR14_1 PILR14_0 ----0000B
3
−
−
PILR15_3 PILR15_2 PILR15_1 PILR15_0 ----0000B
−
−
−
2
−
1
−
0
初期値
−
PILR17_5 PILR17_4 PILR17_3 PILR17_2 PILR17_1 PILR17_0
−
PILR18_2 PILR18_1 PILR18_0
PILR19_5 PILR19_4
−
PILR19_2 PILR19_1 PILR19_0
PILR20_5 PILR20_4
−
PILR20_2 PILR20_1 PILR20_0
PILR21_5 PILR21_4
−
PILR21_2 PILR21_1 PILR21_0
−
−
PILR22_5 PILR22_4 PILR22_3 PILR22_2
−
−
PILR22_0
PILR23_4 PILR23_3 PILR23_2 PILR23_1 PILR23_0
PILR24_5 PILR24_4 PILR24_3 PILR24_2 PILR24_1 PILR24_0
−
PILR28_4 PILR28_3 PILR28_2 PILR28_1 PILR28_0
PILR29_5 PILR29_4 PILR29_3 PILR29_2 PILR29_1 PILR29_0
R/W
R/W
R/W
R/W
FUJITSU MICROELECTRONICS LIMITED
R/W
0-------B
00000000B
-----000B
-000-000B
-000-000B
-000-000B
----00-0B
-0-00000B
00--0000B
00000000B
00000000B
R/W
CM71-10159-2
第 9 章 I/O ポート
9.5 プルアップ・プルダウン制御レジスタ
MB91461
9.5
プルアップ・プルダウン制御レジスタ
端子には 50kΩ のプルアップ , もしくはプルダウンを付加する機能があります。こ
の機能はソフトウェアによりビット単位で制御可能です。
■ プルアップ・プルダウン制御
プルアップ・プルダウン機能は , ポートプルアップ・プルダウン許可レジスタ (PPER)
により有効とされ , ポートプルアップ・プルダウン制御レジスタ (PPCR) により , プル
アップもしくはプルダウンの制御が行われます。
以下の場合は , 端子のプルアップもしくはプルダウンは自動的に無効となります。
• ポートが出力状態
• STOP モード時
■ ポートプルアップ・プルダウン許可レジスタ
表 9.5-1 に , ポートプルアップ・プルダウン許可レジスタを示します。
I2C インタフェースと兼用しているポート , および A/D コンバータの入力と兼用してい
るポートにはプルアップ・プルダウン制御はありません。
表 9.5-1 ポートプルアップ・プルダウン許可レジスタの設定
ポートプルアップ・プルダウン許可レジスタ
ビット
PPERxy
0 [ 初期値 ]
1
プルアップ・プルダウン無効
プルアップ・プルダウン有効
図 9.5-1 ポートプルアップ・プルダウン許可レジスタ
アドレス
PPER14
PPER15
PPER16
PPER17
PPER18
PPER19
PPER20
PPER21
PPER22
PPER23
PPER24
PPER28
PPER29
bit
000ECEH
000ECFH
000ED0H
000ED1H
000ED2H
000ED3H
000ED4H
000ED5H
000ED6H
000ED7H
000ED8H
000EDCH
000EDDH
7
6
5
4
−
−
−
−
PPER14_3 PPER14_2 PPER14_1 PPER14_0
−
−
−
−
PPER15_3
PPER16_7
−
−
−
−
PPER17_7 PPER17_6 PPER17_5 PPER17_4 PPER17_3
−
−
−
−
−
−
PPER19_6 PPER19_5 PPER19_4
−
−
PPER20_6 PPER20_5 PPER20_4
−
−
PPER21_6 PPER21_5 PPER21_4
−
−
−
−
PPER23_6
−
PPER24_7 PPER24_6
−
−
−
−
−
−
PPER22_3
PPER23_4 PPER23_3
−
PPER24_3
PPER28_4 PPER28_3
PPER29_7 PPER29_6 PPER29_5 PPER29_4 PPER29_3
R/W
CM71-10159-2
3
R/W
R/W
R/W
R/W
2
1
0
初期値
----0000B
PPER15_2 PPER15_1 PPER15_0 ----0000B
0-------B
−
−
−
PPER17_2 PPER17_1 PPER17_0 00000000B
PPER18_2 PPER18_1 PPER18_0 -----000B
PPER19_2 PPER19_1 PPER19_0 -000-000B
PPER20_2 PPER20_1 PPER20_0 -000-000B
PPER21_2 PPER21_1 PPER21_0 -000-000B
PPER22_2
PPER22_0 ----00-0B
−
PPER23_2 PPER23_1 PPER23_0 -0-00000B
PPER24_2 PPER24_1 PPER24_0 00--0000B
PPER28_2 PPER28_1 PPER28_0 00000000B
PPER29_2 PPER29_1 PPER29_0 00000000B
R/W
R/W
R/W
FUJITSU MICROELECTRONICS LIMITED
243
第 9 章 I/O ポート
9.5 プルアップ・プルダウン制御レジスタ
MB91461
■ ポートプルアップ・プルダウン制御レジスタ
表 9.5-2 に , ポートプルアップ・プルダウン制御レジスタの設定を示します。各ビット
の設定値は対応する PPER が設定されているときのみ有効です。
I2C インタフェースと兼用しているポート , および A/D コンバータの入力と兼用してい
るポートにはプルアップ・プルダウン制御はありません。
表 9.5-2 ポートプルアップ・プルダウン制御レジスタの設定
ポートプルアップ・プルダウン制御レジスタ
ビット
PPCRxy
0
1 ( 初期値 )
プルダウン
プルアップ
図 9.5-2 ポートプルアップ・プルダウン制御レジスタ
bit
アドレス
PPCR14 000F0EH
PPCR15 000F0FH
PPCR16 000F10H
PPCR17 000F11H
PPCR18 000F12H
PPCR19 000F13H
PPCR20 000F14H
PPCR21 000F15H
PPCR22 000F16H
PPCR23 000F17H
PPCR24 000F18H
PPCR28 000F1CH
PPCR29 000F1DH
7
6
5
−
−
−
−
−
−
PPCR16_7
−
−
PPCR17_7 PPCR17_6 PPCR17_5
−
−
−
−
PPCR19_6 PPCR19_5
−
PPCR20_6 PPCR20_5
−
PPCR21_6 PPCR21_5
−
−
−
−
PPCR23_6
−
PPCR24_7 PPCR24_6
−
−
−
−
PPCR29_7 PPCR29_6 PPCR29_5
R/W
R/W
R/W
4
3
2
1
0
初期値
----1111B
PPCR15_3 PPCR15_2 PPCR15_1 PPCR15_0 ----1111B
−
1-------B
−
−
−
−
−
PPCR17_4 PPCR17_3 PPCR17_2 PPCR17_1 PPCR17_0 11111111B
PPCR18_2 PPCR18_1 PPCR18_0 -----111B
−
−
PPCR19_4
PPCR19_2 PPCR19_1 PPCR19_0 -111-111B
−
PPCR20_4
PPCR20_2 PPCR20_1 PPCR20_0 -111-111B
−
PPCR21_4
PPCR21_2 PPCR21_1 PPCR21_0 -111-111B
−
PPCR22_3 PPCR22_2
PPCR22_0 ----11-1B
−
−
PPCR23_4 PPCR23_3 PPCR23_2 PPCR23_1 PPCR23_0 -1-11111B
PPCR24_3 PPCR24_2 PPCR24_1 PPCR24_0 11--1111B
−
PPCR28_4 PPCR28_3 PPCR28_2 PPCR28_1 PPCR28_0 11111111B
PPCR29_4 PPCR29_3 PPCR29_2 PPCR29_1 PPCR29_0 11111111B
R/W
R/W
R/W
R/W
R/W
−
PPCR14_3 PPCR14_2 PPCR14_1 PPCR14_0
<注意事項>
プルアップもしくはプルダウンが有効である期間 (PPER = 1) は , PPCR への書込みアク
セスは無効となり , レジスタ値は更新されません。PPCR の設定値の変更は , 対応する
PPER が "0" の場合にのみ有効です。
244
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 10 章
割込みコントローラ
割込みコントローラの概要 , レジスタの構成 / 機能 ,
および動作について説明します。
10.1 割込みコントローラの概要
10.2 割込みコントローラのレジスタ
10.3 割込みコントローラの動作説明
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
245
第 10 章 割込みコントローラ
10.1 割込みコントローラの概要
10.1
MB91461
割込みコントローラの概要
割込みコントローラは , 割込み受付け / 調停処理を行います。
■ 割込みコントローラのハードウェア構成
本モジュールは , 以下のものより構成されます。
• ICR レジスタ
• 割込み優先度判定回路
• 割込みレベル , 割込み番号 ( ベクタ ) 発生部
• ホールドリクエスト取下げ要求発生部
■ 割込みコントローラの主要機能
本モジュールには , 主に以下のような機能があります。
• NMI 要求 / 割込み要求の検出
• 優先度判定 ( レベルおよび番号による )
• 判定結果の要因の割込みレベル伝達 (CPU へ )
• 判定結果の要因の割込み番号伝達 (CPU へ )
• NMI/ 割込みレベルが 11111B 以外の割込み発生によるストップモードからの復帰指
示 (CPU へ )
• バスマスタへのホールドリクエスト取下げ要求発生
246
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 10 章 割込みコントローラ
10.1 割込みコントローラの概要
MB91461
■ 割込みコントローラのレジスタ一覧
図 10.1-1 に , 割込みコントローラのレジスタ一覧を示します。
図 10.1-1 割込みコントローラのレジスタ一覧
レジスタ
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
ICR00
000440H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR01
000441H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR02
000442H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR03
000443H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR04
000444H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR05
000445H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR06
000446H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR07
000447H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR08
000448H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR09
000449H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR10
00044AH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR11
00044BH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR12
00044CH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR13
00044DH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR14
00044EH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR15
00044FH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR16
000450H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR17
000451H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR18
000452H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR19
000453H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR20
000454H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR21
000455H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR22
000456H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR23
000457H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
(ICR24)
000458H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR25
000459H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR26
00045AH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR27
00045BH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR28
00045CH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR29
00045DH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR30
00045EH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR31
00045FH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR32
000460H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR33
000461H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR36
000464H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
( 続く )
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
247
第 10 章 割込みコントローラ
10.1 割込みコントローラの概要
MB91461
( 続き )
レジスタ
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
ICR34
000462H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR35
000463H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR37
000465H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR38
000466H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR39
000467H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR40
000468H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR41
000469H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR42
00046AH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR43
00046BH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR44
00046CH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR45
00046DH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR46
00046EH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR47
00046FH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR48
000470H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR49
000471H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR50
000472H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR51
000473H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR52
000474H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR53
000475H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR54
000476H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR55
000477H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR56
000478H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR57
000479H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR58
00047AH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR59
00047BH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR60
00047CH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR61
00047DH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR62
00047EH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR63
00047FH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
R
R/W
R/W
R/W
R/W
レジスタ
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
HRCL
000045H
MHALTI
−
−
LVL4
LVL3
LVL2
LVL1
LVL0
R
R/W
R/W
R/W
R/W
R/W
248
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 10 章 割込みコントローラ
10.1 割込みコントローラの概要
MB91461
■ 割込みコントローラのブロックダイヤグラム
図 10.1-2 に , 割込みコントローラのブロックダイヤグラムを示します。
図 10.1-2 割込みコントローラのブロックダイヤグラム
ウェイクアップ (レベル≠11111Bのとき"1")
UNMI
優先度判定
NMI
処理
レベル4~
レベル0
5
/
レベル,
ベクタ
発生
レベル判定
RI00
・
・
・
RI63
( DLYIRQ)
ICR00
・
・
・
ICR63
ベクタ
判定
ホールド
リクエスト
取下げ要求
6
/
MHALTI
VCT5~VCT0
R-bus
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
249
第 10 章 割込みコントローラ
10.2 割込みコントローラのレジスタ
10.2
MB91461
割込みコントローラのレジスタ
割込みコントローラのレジスタ構成および機能について説明します。
■ 割込みコントローラのレジスタ詳細
割込みコントローラには , 以下の 2 種類のレジスタがあります。
• 割込み制御レジスタ (ICR)
• ホールドリクエスト取下げ要求レジスタ (HRCL)
250
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 10 章 割込みコントローラ
10.2 割込みコントローラのレジスタ
MB91461
10.2.1
割込み制御レジスタ (ICR)
ICR は , 割込み制御レジスタです。各割込み入力に対して 1 つずつ設けられており ,
対応する割込み要求の割込みレベルを設定します。
■ 割込み制御レジスタ (ICR) のビット構成
図 10.2-1 に , 割込み制御レジスタ (ICR) のビット構成を示します。
図 10.2-1 割込み制御レジスタ (ICR) のビット構成
7
アドレス :
bit
ch.00 000440H
−
6
−
5
4
3
2
1
0
初期値
−
ICR4
ICR3
ICR2
ICR1
ICR0
---11111B
R
R/W
R/W
R/W
R/W
∼
ch.63 00047FH
[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" を書き込むことはできません。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
251
第 10 章 割込みコントローラ
10.2 割込みコントローラのレジスタ
10.2.2
MB91461
ホールドリクエスト取下げ要求レジスタ (HRCL)
HRCL は , ホールドリクエスト取下げ要求発生のためのレベル設定レジスタです。
■ ホールドリクエスト取下げ要求レジスタ (HRCL) のビット構成
ホールドリクエスト取下げ要求レジスタ (HRCL) のビット構成は , 以下のとおりです。
図 10.2-2 ホールドリクエスト取下げ要求レジスタ (HRCL) のビット構成
HRCL
bit
アドレス :000039H
7
MHALTI
6
−
R/W
5
4
3
2
1
0
初期値
−
LVL4
LVL3
LVL2
LVL1
LVL0
0--11111B
R
R/W
R/W
R/W
R/W
[bit7] MHALTI
MHALTI は , NMI の要求による DMA 転送抑止ビットです。NMI 要求によって "1"
にセットされ , "0" を書き込むことによってクリアされます。NMI ルーチンの最後
で通常の割込みルーチンと同様にクリアしてください。
[bit4 ∼ bit0] LVL4 ∼ LVL0
バスマスタへのホールドリクエスト取下げ要求を出すための割込みレベルを設定
します。
本レジスタに設定した割込みレベルより強いレベルの割込み要求が発生した場合
は , バスマスタに対してホールドリクエスト取下げ要求を発生します。
LVL4 ビットは "1" 固定で , "0" を書き込むことはできません。
252
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 10 章 割込みコントローラ
10.3 割込みコントローラの動作説明
MB91461
割込みコントローラの動作説明
10.3
割込みコントローラの動作について説明します。
■ 優先順位判定
本モジュールでは , 同時に発生している割込み要因の中で最も優先度の高い要因を選
択し , その要因の割込みレベルと割込み番号を CPU へ出力します。
割込み要因の優先順位判定基準は , 以下のとおりです。
1)NMI
2) 以下の条件を満たす要因
- 割込みレベルの数値が 31 以外 (31 は割込み禁止 )
- 割込みレベルの数値が最も小さい要因
- その中で , 最も小さい割込み番号の要因
上記の判定基準により割込み要因が1つも選択されなかった場合は, 割込みレベルとし
て 31 (11111B) を出力します。そのときの割込み番号は不定です。
表 10.3-1 に , 割込み要因と割込み番号 , 割込みレベルの関係を示します。
表 10.3-1 割込み要因と割込み番号 , 割込みレベルの関係 (1 / 6)
割込み番号
割込み要因
10 進 16 進
割込みレベル
設定
レジスタ
レジスタ アドレス
オフ
セット
TBR
リソース
デフォルトの
番号 *1
アドレス
リセット
0
00H
−
−
3FCH
000FFFFCH
−
モードベクタ
1
01H
−
−
3F8H
000FFFF8H
−
システム予約
2
02H
−
−
3F4H
000FFFF4H
−
システム予約
3
03H
−
−
3F0H
000FFFF0H
−
システム予約
4
04H
−
−
3ECH
000FFFECH
−
システム予約 (UDSU)
5
05H
−
−
3E8H
000FFFE8H
−
システム予約 (UDSU)
6
06H
−
−
3E4H
000FFFE4H
−
コプロセッサ不在トラップ
7
07H
−
−
3E0H
000FFFE0H
−
コプロセッサエラートラップ
8
08H
−
−
3DCH
000FFFDCH
−
INTE 命令
9
09H
−
−
3D8H
000FFFD8H
−
システム予約
10
0AH
−
−
3D4H
000FFFD4H
−
システム予約
11
0BH
−
−
3D0H
000FFFD0H
−
ステップトレーストラップ
12
0CH
−
−
3CCH
000FFFCCH
−
MNI 要求 (tool)
13
0DH
−
−
3C8H
000FFFC8H
−
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
253
第 10 章 割込みコントローラ
10.3 割込みコントローラの動作説明
MB91461
表 10.3-1 割込み要因と割込み番号 , 割込みレベルの関係 (2 / 6)
割込み番号
割込み要因
10 進 16 進
割込みレベル
設定
レジスタ
レジスタ アドレス
オフ
セット
TBR
リソース
デフォルトの
番号 *1
アドレス
未定義命令例外
14
0EH
−
−
3C4H
000FFFC4H
−
NMI 要求
15
0FH
15 (F)
固定
15 (F)
固定
3C0H
000FFFC0H
−
外部割込み 0
16
10H
000FFFBCH
0
440H
3BCH
ICR00
3B8H
000FFFB8H
1
3B4H
000FFFB4H
2
3B0H
000FFFB0H
3
3ACH
000FFFACH
−
3A8H
000FFFA8H
−
3A4H
000FFFA4H
−
3A0H
000FFFA0H
−
39CH
000FFF9CH
−
398H
000FFF98H
−
394H
000FFF94H
−
390H
000FFF90H
−
38CH
000FFF8CH
−
388H
000FFF88H
−
384H
000FFF84H
−
380H
000FFF80H
−
37CH
000FFF7CH
4
378H
000FFF78H
5
374H
000FFF74H
−
370H
000FFF70H
−
36CH
000FFF6CH
−
368H
000FFF68H
−
364H
000FFF64H
−
360H
000FFF60H
−
外部割込み 1
17
11H
外部割込み 2
18
12H
ICR01
外部割込み 3
19
13H
外部割込み 4
20
14H
ICR02
外部割込み 5
21
15H
外部割込み 6
22
16H
ICR03
外部割込み 7
23
17H
外部割込み 8
24
18H
ICR04
外部割込み 9
25
19H
外部割込み 10
26
1AH
ICR05
外部割込み 11
27
1BH
外部割込み 12
28
1CH
ICR06
外部割込み 13
29
1DH
外部割込み 14
30
1EH
ICR07
外部割込み 15
31
1FH
リロードタイマ 0
32
20H
ICR08
リロードタイマ 1
33
21H
リロードタイマ 2
34
22H
ICR09
リロードタイマ 3
35
23H
システム予約
36
24H
ICR10
システム予約
37
25H
システム予約
38
26H
ICR11
リロードタイマ 7
254
39
27H
441H
442H
443H
444H
445H
446H
447H
448H
449H
44AH
44BH
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 10 章 割込みコントローラ
10.3 割込みコントローラの動作説明
MB91461
表 10.3-1 割込み要因と割込み番号 , 割込みレベルの関係 (3 / 6)
割込み番号
割込み要因
10 進 16 進
フリーランタイマ 0
40
割込みレベル
設定
レジスタ
レジスタ アドレス
28H
ICR12
フリーランタイマ 1
41
29H
フリーランタイマ 2
42
2AH
ICR13
フリーランタイマ 3
43
2BH
システム予約
44
2CH
ICR14
システム予約
45
2DH
システム予約
46
2EH
ICR15
システム予約
47
2FH
CAN 0
48
30H
ICR16
CAN 1
49
31H
システム予約
50
32H
ICR17
システム予約
51
33H
システム予約
52
34H
ICR18
システム予約
53
35H
LIN-UART 0 RX
54
36H
ICR19
LIN-UART 0 TX
55
37H
LIN-UART 1 RX
56
38H
ICR20
LIN-UART 1 TX
57
39H
LIN-UART 2 RX
58
3AH
ICR21
LIN-UART 2 TX
59
3BH
LIN-UART 3 RX
60
3CH
ICR22
LIN-UART 3 TX
61
3DH
システム予約
62
3EH
ICR23
遅延割込み
63
3FH
システム予約
64
40H
(ICR24)
システム予約
65
41H
LIN-UART 4 RX
66
42H
ICR25
LIN-UART 4 TX
CM71-10159-2
67
43H
44CH
44DH
44EH
44FH
450H
451H
452H
453H
454H
455H
456H
457H
458H
459H
オフ
セット
TBR
リソース
デフォルトの
番号 *1
アドレス
35CH
000FFF5CH
−
358H
000FFF58H
−
354H
000FFF54H
−
350H
000FFF50H
−
34CH
000FFF4CH
−
348H
000FFF48H
−
344H
000FFF44H
−
340H
000FFF40H
−
33CH
000FFF3CH
−
338H
000FFF38H
−
334H
000FFF34H
−
330H
000FFF30H
−
32CH
000FFF2CH
−
328H
000FFF28H
−
324H
000FFF24H
6
320H
000FFF20H
7
31CH
000FFF1CH
8
318H
000FFF18H
9
314H
000FFF14H
−
310H
000FFF10H
−
30CH
000FFF0CH
−
308H
000FFF08H
−
304H
000FFF04H
−
300H
000FFF00H
−
2FCH
000FFEFCH
−
2F8H
000FFEF8H
−
2F4H
000FFEF4H
10
2F0H
000FFEF0H
11
FUJITSU MICROELECTRONICS LIMITED
255
第 10 章 割込みコントローラ
10.3 割込みコントローラの動作説明
MB91461
表 10.3-1 割込み要因と割込み番号 , 割込みレベルの関係 (4 / 6)
割込み番号
割込み要因
10 進 16 進
LIN-UART 5 RX
68
割込みレベル
設定
レジスタ
レジスタ アドレス
44H
ICR26
LIN-UART 5 TX
69
45H
LIN-UART 6 RX
70
46H
ICR27
LIN-UART 6 TX
71
47H
システム予約
72
48H
ICR28
システム予約
73
49H
I2C0 / I2C2
74
4AH
ICR29
I2C1 / I2C3
75
4BH
システム予約
76
4CH
ICR30
システム予約
77
4DH
システム予約
78
4EH
ICR31
システム予約
79
4FH
システム予約
80
50H
ICR32
システム予約
81
51H
システム予約
82
52H
ICR33
システム予約
83
53H
システム予約
84
54H
ICR34
システム予約
85
55H
システム予約
86
56H
ICR35
システム予約
87
57H
システム予約
88
58H
ICR36
システム予約
89
59H
システム予約
90
5AH
ICR37
システム予約
91
5BH
インプットキャプチャ 0
92
5CH
ICR38
インプットキャプチャ 1
93
5DH
インプットキャプチャ 2
94
5EH
ICR39
インプットキャプチャ 3
256
95
5FH
45AH
45BH
45CH
オフ
セット
TBR
リソース
デフォルトの
番号 *1
アドレス
2ECH
000FFEECH
12
2E8H
000FFEE8H
13
2E4H
000FFEE4H
−
2E0H
000FFEE0H
−
2DCH
000FFEDCH
−
2D8H
000FFED8H
−
2D4H
000FFED4H
−
2D0H
000FFED0H
−
2CCH
000FFECCH
−
2C8H
000FFEC8H
−
2C4H
000FFEC4H
−
2C0H
000FFEC0H
−
2BCH
000FFEBCH
−
2B8H
000FFEB8H
−
2B4H
000FFEB4H
−
2B0H
000FFEB0H
−
2ACH
000FFEACH
−
2A8H
000FFEA8H
−
2A4H
000FFEA4H
−
2A0H
000FFEA0H
−
29CH
000FFE9CH
−
298H
000FFE98H
−
294H
000FFE94H
−
290H
000FFE90H
−
28CH
000FFE8CH
−
288H
000FFE88H
−
284H
000FFE84H
−
280H
000FFE80H
−
45DH
45EH
45FH
460H
461H
462H
463H
464H
465H
566H
467H
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 10 章 割込みコントローラ
10.3 割込みコントローラの動作説明
MB91461
表 10.3-1 割込み要因と割込み番号 , 割込みレベルの関係 (5 / 6)
割込み番号
割込み要因
10 進 16 進
システム予約
96
割込みレベル
設定
レジスタ
レジスタ アドレス
60H
ICR40
システム予約
97
61H
システム予約
98
62H
ICR41
システム予約
99
63H
アウトプットキャプチャ 0
100
64H
ICR42
アウトプットキャプチャ 1
101
65H
アウトプットキャプチャ 2
102
66H
ICR43
アウトプットキャプチャ 3
103
67H
システム予約
104
68H
ICR44
システム予約
105
69H
システム予約
106
6AH
ICR45
システム予約
107
6BH
システム予約
108
6CH
ICR46
システム予約
109
6DH
システム予約
110
6EH
ICR47
システム予約
111
6FH
PPG0
112
70H
ICR48
PPG1
113
71H
PPG2
114
72H
ICR49
PPG3
115
73H
PPG4
116
74H
ICR50
PPG5
117
75H
PPG6
118
76H
ICR51
PPG7
119
77H
システム予約
120
78H
ICR52
システム予約
121
79H
システム予約
122
7AH
ICR53
システム予約
CM71-10159-2
123
7BH
468H
469H
46AH
46BH
46CH
46DH
46EH
46FH
470H
471H
472H
473H
474H
475H
オフ
セット
TBR
リソース
デフォルトの
番号 *1
アドレス
27CH
000FFE7CH
−
278H
000FFE78H
−
274H
000FFE74H
−
270H
000FFE70H
−
26CH
000FFE6CH
−
268H
000FFE68H
−
264H
000FFE64H
−
260H
000FFE60H
−
25CH
000FFE5CH
−
258H
000FFE58H
−
254H
000FFE54H
−
250H
000FFE50H
−
24CH
000FFE4CH
−
248H
000FFE48H
−
244H
000FFE44H
−
240H
000FFE40H
−
23CH
000FFE3CH
15
238H
000FFE38H
−
234H
000FFE34H
−
230H
000FFE30H
−
22CH
000FFE2CH
−
228H
000FFE28H
−
224H
000FFE24H
−
220H
000FFE20H
−
21CH
000FFE1CH
−
218H
000FFE18H
−
214H
000FFE14H
−
210H
000FFE10H
−
FUJITSU MICROELECTRONICS LIMITED
257
第 10 章 割込みコントローラ
10.3 割込みコントローラの動作説明
MB91461
表 10.3-1 割込み要因と割込み番号 , 割込みレベルの関係 (6 / 6)
割込み番号
割込み要因
10 進 16 進
システム予約
124
割込みレベル
設定
レジスタ
レジスタ アドレス
7CH
ICR54
システム予約
125
7DH
システム予約
126
7EH
ICR55
システム予約
127
7FH
システム予約
128
80H
ICR56
システム予約
129
81H
システム予約
130
82H
ICR57
システム予約
131
83H
リアルタイムクロック
132
84H
ICR58
システム予約
133
85H
A/D コンバータ 0
134
85H
ICR59
システム予約
135
87H
システム予約
136
88H
ICR60
システム予約
137
89H
システム予約
138
8AH
ICR61
システム予約
139
8BH
タイムベースオーバフロー
140
8CH
ICR62
PLL クロックギア
141
8DH
DMA コントローラ
142
8EH
ICR63
メイン / サブ発振安定待ち
143
8FH
システム予約
144
90H
INT 命令で使用
145
:
255
91H
:
FFH
258
−
−
オフ
セット
TBR
リソース
デフォルトの
番号 *1
アドレス
20CH
000FFE0CH
−
208H
000FFE08H
−
204H
000FFE04H
−
200H
000FFE00H
−
1FCH
000FFDFCH
−
1F8H
000FFDF8H
−
1F4H
000FFDF4H
−
1F0H
000FFDF0H
−
1ECH
000FFDECH
−
1E8H
000FFDE8H
−
1E4H
000FFDE4H
14
1E0H
000FFDE0H
−
1DCH
000FFDDCH
−
1D8H
000FFDD8H
−
1D4H
000FFDD4H
−
1D0H
000FFDD0H
−
1CCH
000FFDCCH
−
1C8H
000FFDC8H
−
1C4H
000FFDC4H
−
1C0H
000FFDC0H
−
−
1BCH
000FFDBCH
−
−
1B8H
:
000H
000FFDB8H
:
000FFC00H
−
476H
477H
478H
479H
47AH
47BH
47CH
47DH
47EH
47FH
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 10 章 割込みコントローラ
10.3 割込みコントローラの動作説明
MB91461
■ NMI (Non Maskable Interrupt)
NMI は , 本モジュールが取り扱う割込み要因の中では最も優先順位が高くなっていま
す。
そのため , ほかの割込み要因と同時発生の場合は常に NMI が選択されます。
● NMI 発生
NMI が発生すると , CPU に対して次の情報を伝えます。
• 割込みレベル
: 15 (01111B)
• 割込み番号
: 15 (0001111B)
● NMI 検出
NMI の設定および検出は , 外部割込み /NMI モジュールで行います。本モジュールでは
NMI 要求により , 割込みレベル / 割込み番号 , MHALTI の生成のみを行います。
● NMI による DMA 転送の抑止
NMI 要求が発生すると , HRCL レジスタの MHALTI ビットが "1" になり , DMA 転送が
抑止されます。DMA 転送の抑止を解除したい場合は , NMI ルーチンの最後にて
MHALTI ビットを "0" にクリアしてください。
■ ホールドリクエスト取下げ要求 (Hold Request Cancel Request)
優先度の高い割込み処理を CPU のホールド中 (DMA 転送中 ) に行う場合は , ホールド
リクエスト発生元においてリクエストを取り下げさせる必要があります。この取下げ
要求発生の基準となる割込みレベルを HRCL レジスタに設定します。
● 発生基準
HRCL レジスタに設定した割込みレベルより強いレベルの割込み要因が発生した場合
は , ホールドリクエスト取下げ要求を発生します。
HRCL レジスタの割込みレベル > 優先度判定後の割込みレベル
→取下げ要求発生
HRCL レジスタの割込みレベル ≦ 優先度判定後の割込みレベル
→取下げ要求なし
取下げ要求発生原因となった割込み要因をクリアしない限り , この取下げ要求は有効
であり , 結果的にいつまでも DMA 転送が起こらないことになります。必ず対応する割
込み要因をクリアしてください。また , NMI を使用したときは , HRCL レジスタの
MHALTI ビットが "1" となっているため , 取下げ要求が有効になっています。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
259
第 10 章 割込みコントローラ
10.3 割込みコントローラの動作説明
MB91461
● 設定可能なレベル
HRCL レジスタに設定可能な値は , ICR と同様に 10000B から 11111B までです。
11111B に設定した場合はすべての割込みレベルに対して取下げ要求を発生し , また ,
10000B に設定した場合は NMI でのみ取下げ要求を発生します。
表 10.3-2 に , ホールドリクエスト取下げ要求発生となる割込みレベルの設定を示しま
す。
表 10.3-2 ホールドリクエスト取下げ要求発生となる割込みレベルの設定
HRCL レジスタ
取下げ要求発生となる割込みレベル
17
NMI, 割込みレベル 16
18
NMI, 割込みレベル 16, 17
∼
NMI のみ
∼
16
31
NMI, 割込みレベル 16 ∼ 30 [ 初期値 ]
リセット後は , すべての割込みレベルに対して DMA 転送を抑止します。すなわち , 割
込みが発生していると DMA 転送は行われませんので , HRCL レジスタの値を必要な値
に設定してください。
■ スタンバイモード ( ストップ / スリープ ) からの復帰
割込み要求の発生により , ストップモードから復帰する機能を本モジュールで実現し
ます。NMI を含む , 周辺からの割込み要求 ( 割込みレベルが 11111B 以外 ) が 1 つでも
発生すると , クロック制御部に対してストップモードからの復帰要求を発生します。
優先度判定部はストップ復帰後にクロックが供給されてから動作を再開しますので ,
優先度判定部の結果が出るまでの間 , CPU は命令を実行します。
スリープ状態からの復帰においても同様に動作します。また , スリープ中であっても ,
本モジュール内のレジスタはアクセス可能です。
<注意事項>
• NMI 要求でシャットダウンモードからの復帰はできません。
• NMI 要求においてもストップモードからの復帰を行います。ただし , ストップ時に有効
な入力を検出するように NMI の設定を行ってください。
• ストップおよびスリープからの復帰の要因としない割込み要因は , 対応する周辺の制
御レジスタにて割込みレベルを 11111B にしてください。
260
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 10 章 割込みコントローラ
10.3 割込みコントローラの動作説明
MB91461
■ ホールドリクエスト取下げ要求機能 (HRCL) の使用例
DMA 転送中に CPU が優先度の高い処理を行いたいときは , DMA に対してホールドリ
クエストを取り下げさせ , ホールド状態を解除する必要があります。ここでは , 割込み
を利用して DMA に対してホールドリクエストの取下げ , すなわち , CPU の優先動作を
実現します。
● 制御レジスタ
① HRCL ( ホールドリクエストキャンセルレベル設定レジスタ ) : 本モジュール :
本レジスタに設定した割込みレベルより強いレベルの割込みが発生した場合に ,
DMA に対してホールドリクエスト取下げ要求を発生します。その基準となるレベ
ルを設定します。
② ICR: 本モジュール :
使用する割込み要因に対応する ICR に , HRCL レジスタよりも強いレベルを設定し
ます。
● ハードウェア構成
図 10.3-1 に , ホールドリクエストの各信号の流れを示します。
図 10.3-1 ホールドリクエストの各信号の流れ
本モジュール
IRQ
バスアクセス要求
MHALTI
I-ユニット
DHREQ
DMA
DHREQ:D-busホールドリクエスト
CPU
B-ユニット
(ICR)
DHACK:D-busホールドアクノリッジ
IRQ :割込み要求
(HRCL)
DHACK
MHALTI:ホールドリクエスト
取下げ要求
● シーケンス
図 10.3-2 に , 割込みレベル HRCL < ICR (LEVEL) を示します。
図 10.3-2 割込みレベル HRCL < ICR (LEVEL)
RUN
CPU
バスホールド
割込み処理
バスホールド(DMA転送)
① ②
バスアクセス要求
割込みルーチンの例
①割込み要因クリア
DHREQ
~
DHACK
②RETI
IRQ
LEVEL
MHALTI
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
261
第 10 章 割込みコントローラ
10.3 割込みコントローラの動作説明
MB91461
割込み要求が発生すると割込みレベルが変化して , これが HRCL レジスタに設定した
レベルより強いと DMA に対して MHALTI を "H" レベルにします。これによって , DMA
はアクセス要求を取り下げ , CPU はホールド状態から復帰して割込み処理を行います。
図 10.3-3 に , 割込みレベル HRCL < ICR ( 割込みⅠ ) < ICR ( 割込みⅡ ) を示します。
図 10.3-3 割込みレベル HRCL < ICR ( 割込みⅠ ) < ICR ( 割込みⅡ )
RUN
バスホールド 割込み I
割込み処理II
③
CPU
④
割込み処理I バスホールド(DMA転送)
①
②
バスアクセス要求
DHREQ
DHACK
IRQ1
IRQ2
LEVEL
MHALTI
〔割込みルーチンの例〕
① , ③割込み要因クリア
∼
② , ④ RETI
上記の例では割込みルーチン I を実行中に , それよりも優先度の高い割込みが発生した
場合を示しています。
HRCL レジスタに設定した割込みレベルより高い割込みレベルが発生している間は ,
DHREQ はさがっています。
<注意事項>
HRCL レジスタと ICR に設定する割込みレベルの関係には十分注意してください。
262
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 11 章
外部割込み制御部
外部割込み制御部の概要 , レジスタの構成 / 機能 ,
および動作について説明します。
11.1 外部割込み制御部の概要
11.2 外部割込み制御部のレジスタ
11.3 外部割込み制御部の動作説明
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
263
第 11 章 外部割込み制御部
11.1 外部割込み制御部の概要
MB91461
外部割込み制御部の概要
11.1
外部割込み制御部は , INT 端子に入力される外部割込み要求の制御を行うブロックで
す。検出する要求のレベル / エッジとして , 以下の 4 種類から選択できます。
• "H" レベル
• "L" レベル
• 立上りエッジ
• 立下りエッジ
■ 外部割込み制御部のレジスタ一覧
図 11.1-1 に , 外部割込み制御部のレジスタ一覧を示します。
図 11.1-1 外部割込み制御部のレジスタ一覧
bit
bit
bit
bit
7
6
5
4
3
2
1
0
EN7
EN6
EN5
EN4
EN3
EN2
EN1
EN0
15
14
13
12
11
10
9
8
ER7
ER6
ER5
ER4
ER3
ER2
ER1
ER0
15
14
13
12
11
10
9
8
LB7
LA7
LB6
LA6
LB5
LA5
LB4
LA4
7
6
5
4
3
2
1
0
LB3
LA3
LB2
LA2
LB1
LA1
LB0
LA0
外部割込み許可レジスタ
(ENIR)
外部割込み要因レジスタ
(EIRR)
要求レベル設定レジスタ
(ELVR)
■ 外部割込み制御部のブロックダイヤグラム
図 11.1-2 に , 外部割込み制御部のブロックダイヤグラムを示します。
図 11.1-2 外部割込み制御部のブロックダイヤグラム
R-bus
8
割込み
要求
17
割込み許可レジスタ
ゲート
要因F/F
エッジ検出回路
17
INT0~INT15
NMI
8
割込み要因レジスタ
16
264
要求レベル設定レジスタ
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 11 章 外部割込み制御部
11.2 外部割込み制御部のレジスタ
MB91461
11.2
外部割込み制御部のレジスタ
外部割込み制御部のレジスタ構成および機能について説明します。
■ 外部割込み制御部のレジスタ詳細
外部割込み制御部のレジスタには , 以下の 3 種類があります。
• 割込み許可レジスタ (ENIR)
• 外部割込み要因レジスタ (EIRR)
• 外部割込み要求レベル設定レジスタ (ELVR)
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
265
第 11 章 外部割込み制御部
11.2 外部割込み制御部のレジスタ
11.2.1
MB91461
割込み許可レジスタ (ENIR)
ENIR は外部割込み要求出力のマスク制御を行います。
■ 割込み許可レジスタ (ENIR) のビット構成
図 11.2-1 に , 割込み許可レジスタのビット構成を示します。
図 11.2-1 割込み許可レジスタのビット構成
bit
7
6
5
4
3
2
1
0
ENIR0 アドレス : 000031H EN7 EN6 EN5 EN4 EN3 EN2 EN1 EN0
初期値
00000000B
[R/W]
bit
7
6
5
4
3
2
1
0
ENIR1 アドレス : 000035H EN15 EN14 EN13 EN12 EN11 EN10 EN9 EN8
初期値
00000000B
[R/W]
このレジスタの "1" を書かれたビットに対応する割込み要求出力は許可され (INT0 の
許可を EN0 が制御 ) , 割込みコントローラに対して要求が出力されます。"0" が書かれ
たビットの対応する端子は割込み要因を保持しますが , 割込みコントローラに対して
は要求を発生しません。
266
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 11 章 外部割込み制御部
11.2 外部割込み制御部のレジスタ
MB91461
11.2.2
外部割込み要因レジスタ (EIRR)
EIRR は読出し時には対応する外部割込み要求があることを示し , 書込み時にはこの
要求を示すフリップフロップ内容をクリアするレジスタです。
■ 外部割込み要因レジスタ (EIRR) のビット構成
図 11.2-2 に , 外部割込み要因レジスタのビット構成を示します。
図 11.2-2 外部割込み要因レジスタのビット構成
bit
EIRR0 アドレス : 000030H
15
14
13
12
11
10
9
8
ER7 ER6 ER5 ER4 ER3 ER2 ER1 ER0
初期値
00000000B
[R/W]
bit
15
14
13
12
11
10
9
8
EIRR1 アドレス : 000034H ER15 ER14 ER13 ER12 ER11 ER10 ER9 ER8
初期値
00000000B
[R/W]
この EIRR レジスタを読み出したとき , その値によって動作が以下のようになります。
"1" であった場合に , そのビットに対応する端子に外部割込み要求があることを示しま
す。また , このレジスタに "0" を書き込むと , 対応するビットの要求フリップフロップ
がクリアされます。
"1" の書込みは無効です。
リードモディファイライト (RMW) 系命令の読出し時には "1" が読み出されます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
267
第 11 章 外部割込み制御部
11.2 外部割込み制御部のレジスタ
11.2.3
MB91461
外部割込み要求レベル設定レジスタ (ELVR)
ELVR は要求検出の選択を行うレジスタです。
■ 外部割込み要求レベル設定レジスタ (ELVR) のビット構成
図 11.2-3 に , 外部割込み要求レベル設定レジスタのビット構成を示します。
図 11.2-3 外部割込み要求レベル設定レジスタのビット構成
bit
15
14
13
12
11
10
9
8
ELVR0 アドレス : 000032H LB7
LA7
LB6
LA6
LB5
LA5
LB4
LA4
bit 7
000033H LB3
6
5
4
3
2
1
0
LA3
LB2
LA2
LB1
LA1
LB0
LA0
初期値
00000000B
初期値
00000000B
[R/W]
bit
15
14
13
12
11
10
9
8
ELVR1 アドレス : 000036H LB15 LA15 LB14 LA14 LB13 LA13 LB12 LA12
初期値
00000000B
bit 7
6
5
4
3
000037H LB11 LA11 LB10 LA10 LB9
初期値
00000000B
2
1
0
LA9
LB8
LA8
[R/W]
各割込みチャネルに 2 ビットずつが割り当てられていて , 以下のような設定になりま
す。
要求入力がレベルの場合 , EIRR の各ビットをクリアしても入力がアクティブレベルな
らば該当するビットは再び設定されます。
表 11.2-1 に , ELVR 割当てを示します。
表 11.2-1 ELVR 割当て
LBx, LAx
268
動 作
00B
"L" レベルで要求あり [ 初期値 ]
01B
"H" レベルで要求あり
10B
立上りエッジで要求あり
11B
立下りエッジで要求あり
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
MB91461
第 11 章 外部割込み制御部
11.2 外部割込み制御部のレジスタ
<注意事項>
• STOPモードおよびシャットダウンモードからの復帰要因となる割込みに対して, エッ
ジ検出の設定をすることはできません。
• 外部割込み要求レベルを変更すると , 内部で割込み要因が発生する場合がありますの
で , 外部割込み要求レベル変更後に外部割込み要因レジスタ (EIRR) をクリアしてくだ
さい。外部割込み要因レジスタをクリアする際は一度 , 外部割込み要求レベルレジスタ
を読み出してからクリアの書込みを行ってください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
269
第 11 章 外部割込み制御部
11.3 外部割込み制御部の動作説明
11.3
MB91461
外部割込み制御部の動作説明
外部割込み制御部の動作について説明します。
■ 外部割込みの動作
要求レベル , 許可レジスタの設定の後 , 対応する端子に ELVR レジスタで設定された要
求が入力されると , 本モジュールは割込みコントローラに対して割込み要求信号を発
生します。割込みコントローラ内で同時に発生した割込みの優先順位を識別した結果 ,
本リソースからの割込みが最も優先順位が高かったときに , 該当する割込みが発生し
ます。
図 11.3-1 に , 外部割込みの動作を示します。
図 11.3-1 外部割込みの動作
外部割込み
リソース要求
ELVR
割込みコントローラ
ICR y y
EIRR
CPU
IL
CMP
ENIR
ICR X X
CMP
ILM
要因
■ 外部割込みの動作手順
外部割込み部内に存在するレジスタの設定を行う際 , 次の手順で設定してください。
1. 外部割込み入力として使用する端子と兼用する汎用入出力ポートを入力ポートに
設定する。
2. 割込み許可レジスタ (ENIR) の対象となるビットを禁止状態にする。
3. 外部割込み要求レベル設定レジスタ (ELVR) の対象となるビットを設定する。
4. 外部割込み要求レベル設定レジスタ (ELVR) を読み出す。
5. 外部割込み要因レジスタ (EIRR) の対象となるビットをクリアする。
6. 割込み許可レジスタ (ENIR) の対象となるビットを許可状態にする。
ただし , 5. と 6. は 16 ビットデータによる同時書込みが可能です。
本モジュール内のレジスタを設定するときには必ず許可レジスタをディセーブル状態
に設定する必要があります。また , 許可レジスタをイネーブル状態にする前に必ず要因
レジスタをクリアしておく必要があります。これは , レジスタ設定時や割込み許可状態
時に誤って割込み要因が起こってしまうことを避けるためです。
270
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 11 章 外部割込み制御部
11.3 外部割込み制御部の動作説明
MB91461
■ 外部割込み要求レベル
要求レベルがエッジ要求のとき , エッジがあったことを検出するためには , パルス幅は
最小 3 マシンサイクル ( 周辺系クロックマシンサイクル ) 必要とします。
要求入力レベルがレベル設定のとき , 外部より要求入力が入って , その後 , 取り下げら
れても内部に要因保持回路が存在するので , 割込みコントローラへの要求は有効のま
まです。
割込みコントローラへの要求を取り下げるには要因レジスタをクリアする必要があり
ます。
図 11.3-2 に , レベル設定時の要因保持回路のクリアを示します。
図 11.3-2 レベル設定時の要因保持回路のクリア
割込み入力
レベル検出
要因 F/F
(要因保持回路)
許可ゲート
割込み
コントローラ
クリアしない限り要因を保持し続ける
図 11.3-3 に , 割込み許可時の割込み要因と割込みコントローラへの割込み要求を示し
ます。
図 11.3-3 割込み許可時の割込み要因と割込みコントローラへの割込み要求
割込み入力
"H"レベル
割込みコントローラ
への割込み要求
要因F/Fのクリアによって無効となる
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
271
第 11 章 外部割込み制御部
11.3 外部割込み制御部の動作説明
MB91461
■ 外部割込みを使用した STOP 状態からの復帰時における注意事項
STOP 状態時に , INT 端子へ最初に入力された外部割込み信号は非同期で入力され ,
STOP 状態から復帰することが可能です。ただし , その STOP 解除から , 発振安定待ち
時間が経過するまでの期間においては , ほかの外部割込み信号の入力を認識できない
期間が存在します ( 図 11.3-4 の b + c + d 期間 )。STOP 解除後の外部入力信号を内部
クロックに同期させるため , クロックが安定していない期間内は , その割込み要因を保
持できないためです。
STOP 解除後の外部割込み入力を行う場合には , 発振安定待ち時間経過後に外部割込み
信号を入力してください。
図 11.3-4 STOP 状態からの外部割込みによる復帰動作のシーケンス
INT1
INT0
内部STOP
12μs
"H"
"L"
Regulator
内部動作(RUN)
命令実行(run)
X0
内部Clock
割込みフラグクリア
INTR0
INTE0
"1"(STOPモードに遷移前にイネーブルへ設定)
INTR1
INTE1
“1”(STOPモードに遷移前にイネーブルへ設定)
(a)STOP
(b) レギュレータ安定待ち時間
(d) 発振安定待ち時間
(e)RUN
(c)振動子の発振時間
272
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 11 章 外部割込み制御部
11.3 外部割込み制御部の動作説明
MB91461
■ STOP 状態からの復帰動作
現行回路の外部割込みによる STOP 復帰動作は , 以下の動作によって行われます。
● STOP 遷移前の処理
外部割込みの設定
デバイスが STOP 状態に遷移する前に STOP 状態を解除するための外部割込み入力
経路を設定しておく必要があります。これは PFR レジスタ (Port Function Register)
で設定を行います。通常状態 (STOP 以外の状態 ) では割込みの入力パスは許可状態
ですので意識する必要はありません。しかし ,STOP 状態では PFR レジスタ値によ
り入力パスが制御されています。
外部割込みの入力
STOP 状態から復帰させたいとき , 外部割込み信号は非同期で入力信号を伝える状
態となっています。この割込み入力が有効になると直ちに内部 STOP 信号を立ち下
げる動作が行われます。同時に外部割込み回路では , ほかのレベル割込み入力の同
期化を行うように切り換わります。
● レギュレータ安定待ち時間
内部 STOP 信号が立ち下ると STOP 時のレギュレータから RUN 時のレギュレータ
へ切り換え動作が開始されます。RUN 時のレギュレータの電圧出力が安定する前
に内部動作が開始されると動作が不安定になるため , 内部出力電圧の安定待ち時間
を確保しています。この期間はクロックが停止しています。
● 振動子の発振時間
レギュレータ安定待ち時間の終了後 , クロックの発振が開始されます。振動子の発
振時間は使用される振動子により異なります。
● 発振安定待ち時間
振動子の発振時間後にデバイス内部で発振安定待ち時間が確保されます。発振安定
待ち時間はスタンバイ制御レジスタの OS1, OS0 ビットにより指定します。発振安
定待ち時間終了後 , 内部クロックが供給され , 外部割込みによる割込み命令動作が
開始されるとともに , STOP 状態からの復帰要因以外の外部割込み要因が受付け可
能になります。
<注意事項>
INT0 ∼ INT15 に対して , 外部で "H" 入力にしている状態から ,
① PFR で割込み端子設定。
② 割込み検出レベルを "L" レベルに設定
③ 割込み許可
と操作した場合 , 外部から "L" を入れていない場合でも要求フラグ EIRR がセットされま
す。これを回避するためには , ②と③の間で EIRR のクリア処理を行ってください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
273
第 11 章 外部割込み制御部
11.3 外部割込み制御部の動作説明
MB91461
274
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
第 12 章
REALOS 関連ハード
REALOS の概要 , レジスタの構成 / 機能 , および動
作について説明します。
12.1 遅延割込みモジュール
12.2 ビットサーチモジュール
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
275
第 12 章 REALOS 関連ハード
12.1 遅延割込みモジュール
12.1
MB91461
遅延割込みモジュール
遅延割込みモジュールの概要 , レジスタの構成 / 機能 , および動作について説明しま
す。
■ 遅延割込みモジュールの概要
遅延割込みモジュールは , タスク切換え用の割込みを発生するためのモジュールです。
本モジュールを使用することで , ソフトウェアで CPU に対して割込み要求の発生 / 取
消しを行うことができます。
276
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 12 章 REALOS 関連ハード
12.1 遅延割込みモジュール
MB91461
12.1.1
遅延割込みモジュールの概要
遅延割込みモジュールのレジスタ一覧 , 詳細 , および動作について説明します。
■ 遅延割込みモジュールのレジスタ一覧
遅延割込みモジュールのレジスタ一覧は , 以下のとおりです。
図 12.1-1 遅延割込みモジュールのレジスタ一覧
bit
アドレス : 000038H
7
6
5
4
3
2
1
0
−
−
−
−
−
−
−
DLYI
R/W
DICR
■ 遅延割込みモジュールのブロックダイヤグラム
図 12.1-2 に , 遅延割込みモジュールのブロックダイヤグラムを示します。
図 12.1-2 遅延割込みモジュールのブロックダイヤグラム
R-bus
割込み要求
CM71-10159-2
DLYI
FUJITSU MICROELECTRONICS LIMITED
277
第 12 章 REALOS 関連ハード
12.1 遅延割込みモジュール
12.1.2
MB91461
遅延割込みモジュールのレジスタ
遅延割込みモジュールのレジスタの構成および機能について説明します。
■ DICR ( 遅延割込みモジュールレジスタ )
DICR は , 遅延割込みを制御するレジスタです。
図 12.1-3 に , 遅延割込みモジュールレジスタ (DICR) のビット構成を示します。
図 12.1-3 遅延割込みモジュールレジスタ (DICR) のビット構成
bit
7
6
5
4
3
2
1
0
アドレス : 000038H
−
−
−
−
−
−
−
DLYI
R/W
-------0B ( 初期値 )
[bit0] DLYI
表 12.1-1 DLYI
DLYI
説明
0
遅延割込み要因の解除・要求なし [ 初期値 ]
1
遅延割込み要因の発生
本ビットにより , 該当する割込み要因の発生・解除を制御します。
278
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 12 章 REALOS 関連ハード
12.1 遅延割込みモジュール
MB91461
12.1.3
遅延割込みモジュールの動作説明
遅延割込みは , タスク切換え用の割込みを発生するものです。本機能を使用するこ
とにより , ソフトウェアで CPU に対して割込み要求の発生 , 取消しを行うことがで
きます。
■ 割込み番号
遅延割込みは , 最も大きな割込み番号に対応した割込み要因に割り当てられています。
遅延割込みの割込み番号を 63 (3FH) に割り当てています。
■ DICR の DLYI ビット
このビットに "1" を書き込むことで , 遅延割込み要因が発生します。また , "0" を書き
込むことで , 遅延割込み要因を解除します。
本ビットは , 一般の割込みにおける割込み要因フラグと同じものであり , 割込みルーチ
ンの中で本ビットをクリアして併せてタスクの切換えを行うようにしてください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
279
第 12 章 REALOS 関連ハード
12.2 ビットサーチモジュール
12.2
MB91461
ビットサーチモジュール
ビットサーチモジュールの概要 , レジスタの構成 / 機能 , および動作について説明し
ます。
■ ビットサーチモジュールの概要
ビットサーチモジュールは , 入力レジスタに書き込まれたデータに対して , "0", "1" ま
たは変化点を検索して検出したビット位置を返します。
280
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 12 章 REALOS 関連ハード
12.2 ビットサーチモジュール
MB91461
ビットサーチモジュールの概要
12.2.1
ビットサーチモジュールのレジスタの構成および機能について説明します。
■ ビットサーチモジュールのレジスタ一覧
図 12.2-1 に , ビットサーチモジュールのレジスタ一覧を示します。
図 12.2-1 ビットサーチモジュールのレジスタ一覧
bit 31
0
アドレス : 0003F0H
BSD0
0 検出用データレジスタ
アドレス : 0003F4H
BSD1
1 検出用データレジスタ
アドレス : 0003F8H
BSDC
変化点検出用データレジスタ
アドレス : 0003FCH
BSRR
検出結果レジスタ
■ ビットサーチモジュールのブロックダイヤグラム
図 12.2-2 に , ビットサーチモジュールのブロックダイヤグラムを示します。
図 12.2-2 ビットサーチモジュールのブロックダイヤグラム
D-bus
入力ラッチ
アドレスデコーダ
検出モード
1検出データ化
ビットサーチ回路
検索結果
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
281
第 12 章 REALOS 関連ハード
12.2 ビットサーチモジュール
12.2.2
MB91461
ビットサーチモジュールのレジスタ
ビットサーチモジュールのレジスタの構成および機能について説明します。
■ 0 検出用データレジスタ (BSD0)
書き込んだ値に対して , 0 検出を行います。
図 12.2-3 に , 0 検出用データレジスタ (BSD0) のレジスタ構成を示します。
図 12.2-3 0 検出用データレジスタ (BSD0) のレジスタ構成
bit 31
0
000003F0H
→ライトオンリ
→不定
R/W
初期値
リセットによる初期値は不定です。読出し値は不定です。
データ転送には , 32 ビット長のデータ転送命令を使用してください (8 ビット , 16 ビッ
ト長のデータ転送命令は使わないでください ) 。
■ 1 検出用データレジスタ (BSD1)
図 12.2-4 に , 1 検出用データレジスタ (BSD1) のレジスタ構成を示します。
図 12.2-4 1 検出用データレジスタ (BSD1) のレジスタ構成
bit 31
0
000003F4H
R/W
初期値
→リード / ライト可能
→不定
データ転送には , 32 ビット長のデータ転送命令を使用してください (8 ビット , 16 ビッ
ト長のデータ転送命令は使わないでください ) 。
• 書込み時 :
書き込んだ値に対して , "1" を検出します。
• 読出し時 :
ビットサーチモジュールの内部状態の退避用データが読み出されます。割込みハン
ドラなどがビットサーチモジュールを使用する場合に , 元の状態を退避・復帰する
ときに使用します。
0 検出 , 変化点検出 , データレジスタにデータを書き込んだ場合でも , 1 検出用デー
タレジスタのみ操作することで退避・復帰できます。
リセットによる初期値は不定です。
282
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 12 章 REALOS 関連ハード
12.2 ビットサーチモジュール
MB91461
■ 変化点検出用データレジスタ (BSDC)
書き込んだ値に対して , 変化点の検出を行います。
図 12.2-5 に , 変化点検出用データレジスタ (BSDC) のレジスタ構成を示します。
図 12.2-5 変化点検出用データレジスタ (BSDC) のレジスタ構成
bit 31
0
000003F8H
→ライトオンリ
→不定
R/W
初期値
リセットによる初期値は不定です。
読出し値は不定です。
データ転送には , 32 ビット長のデータ転送命令を使用してください (8 ビット , 16 ビッ
ト長のデータ転送命令は使わないでください ) 。
■ 検出結果レジスタ (BSRR)
0 検出 , 1 検出 , または変化点検出の結果が読み出されます。
どの検出結果が読み出されるかは , 最後に書き込んだデータレジスタによって決定さ
れます。
図 12.2-6 に , 検出結果レジスタ (BSRR) のレジスタ構成を示します。
図 12.2-6 検出結果レジスタ (BSRR) のレジスタ構成
bit 31
0
000003FCH
R/W
初期値
CM71-10159-2
→リードオンリ
→不定
FUJITSU MICROELECTRONICS LIMITED
283
第 12 章 REALOS 関連ハード
12.2 ビットサーチモジュール
12.2.3
MB91461
ビットサーチモジュールの動作説明
ビットサーチモジュールの動作について説明します。
■ 0 検出
0 検出用データレジスタに書き込まれたデータを MSB から LSB へスキャンし , 最初の
"0" を検出した位置を返します。
検出結果は , 検出結果レジスタを読み出すことで得られます。検出した位置と , 返す数
値の関係は , 表 12.2-1 を参照してください。
"0" が存在しないとき ( すなわち FFFFFFFFH という数値のとき ) , 32 という値をサーチ
結果として返します。
【実行例】
書込みデータ
読出し値 (10 進 )
11111111111111111111000000000000B (FFFFF000H)
→
20
11111000010010011110000010101010B (F849E0AAH)
→
5
10000000000000101010101010101010B (8002AAAAH)
→
1
11111111111111111111111111111111B (FFFFFFFFH)
→
32
■ 1 検出
1 検出用データレジスタに書き込まれたデータを MSB から LSB へスキャンし , 最初の
"1" を検出した位置を返します。
検出結果は , 検出結果レジスタを読み出すことで得られます。検出した位置と返す値と
の関係は , 表 12.2-1 のとおりです。
"1" が存在しないとき ( すなわち 00000000H という数値のとき ) , 32 という値をサーチ
結果として返します。
【実行例】
書込みデータ
284
読出し値 (10 進 )
00100000000000000000000000000000B (20000000H)
→
2
00000001001000110100010101100111B (01234567H)
→
7
00000000000000111111111111111111B (0003FFFFH)
→
14
00000000000000000000000000000001B (00000001H)
→
31
00000000000000000000000000000000B (00000000H)
→
32
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 12 章 REALOS 関連ハード
12.2 ビットサーチモジュール
MB91461
■ 変化点検出
変化点検出用データレジスタに書き込まれたデータを bit30 から LSB へスキャンし ,
MSB の値と比較します。
最初に MSB と異なる値を検出した位置を返します。検出結果は , 検出結果レジスタを
読み出すことで得られます。
検出した位置と返す値は , 表 12.2-1 の示すとおりです。
変化点が存在しないときは , 32 を返します。変化点検出では , 結果として "0" を返すこ
とはありません。
【実行例】
書込みデータ
読出し値 (10 進 )
00100000000000000000000000000000B (20000000H)
→
2
00000001001000110100010101100111B (01234567H)
→
7
00000000000000111111111111111111B (0003FFFFH)
→
14
00000000000000000000000000000001B (00000001H)
→
31
00000000000000000000000000000000B (00000000H)
→
32
11111111111111111111000000000000B (FFFFF000H)
→
20
11111000010010011110000010101010B (F849E0AAH)
→
5
10000000000000101010101010101010B (8002AAAAH)
→
1
11111111111111111111111111111111B (FFFFFFFFH)
→
32
表 12.2-1 に , ビット位置と返す値 (10 進 ) を示します。
表 12.2-1 ビット位置と返す値 (10 進 )
検出した
ビット位置
返す値
検出した
ビット位置
返す値
検出した
ビット位置
返す値
検出した
ビット位置
返す値
31
0
23
8
15
16
7
24
30
1
22
9
14
17
6
25
29
2
21
10
13
18
5
26
28
3
20
11
12
19
4
27
27
4
19
12
11
20
3
28
26
5
18
13
10
21
2
29
25
6
17
14
9
22
1
30
24
7
16
15
8
23
0
31
存在しない
32
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
285
第 12 章 REALOS 関連ハード
12.2 ビットサーチモジュール
MB91461
■ 退避・復帰の処理
割込みハンドラ中で , ビットサーチモジュールを使う場合のように , ビットサーチモ
ジュールの内部状態を退避・復帰させる必要がある場合は , 以下の手順に従ってくださ
い。
1) 1 検出用データレジスタを読み出し , この内容を保存 ( 退避 )
2) ビットサーチモジュールを使用
3) 1) で退避したデータを 1 検出用データレジスタに書込み ( 復帰 )
以上の操作により, 次に検出結果レジスタを読み出したときに得られる値は, 1)以前に,
ビットサーチモジュールに書き込まれた内容に応じたものとなります。
最後に書き込まれたデータレジスタが0検出用または変化点検出用であっても, 上記の
手順で正しく元に戻ります。
286
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 13 章
DMAC (DMA コントローラ )
DMAC の概要 , レジスタの構成 / 機能 , および
DMAC の動作について説明します。
13.1 DMAC (DMA コントローラ ) の概要
13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明
13.3 DMAC (DMA コントローラ ) の動作説明
13.4 DMAC (DMA コントローラ ) の動作フロー
13.5 データバス
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
287
第 13 章 DMAC (DMA コントローラ )
13.1 DMAC (DMA コントローラ ) の概要
13.1
MB91461
DMAC (DMA コントローラ ) の概要
DMAC (DMA コントローラ ) は , FR ファミリデバイスにて DMA(Direct Memory
Access) 転送を実現するためのモジュールです。
DMAC (DMA コントローラ ) の制御による DMA 転送により , CPU を介さずに各種
データ転送を高速に行うことが可能となり , システムのパフォーマンスを増加させ
ます。
■ DMAC のハードウェア構成
DMAC (DMA コントローラ ) は , 主に以下のものより構成されます。
• 独立した DMA チャネル× 5 チャネル
• 5 チャネル独立アクセス制御回路
• 32 ビットアドレスレジスタ ( リロード指定可能 :ch.0 ∼ ch.4)
• 16 ビット転送回数レジスタ ( リロード指定可能 : 各チャネル 1 本 )
• 4 ビットブロック回数レジスタ ( 各チャネル 1 本 )
• 2 サイクル転送
■ DMAC の主要機能
DMAC (DMAコントローラ)によるデータ転送には, 主に以下のような機能があります。
● 複数チャネルの独立したデータ転送が可能 (5 チャネル )
• 優先順位 (ch.0 > ch.1 > ch.2 > ch.3 > ch.4)
• ch.0 ∼ ch.1 間にて順位回転が可能
• DMAC 起動要因
- 内蔵周辺要求 ( 割込み要求を共用 --- 外部割込みを含む )
- ソフトウェア要求 ( レジスタ書込み )
• 転送モード
- バースト転送 / ステップ転送 / ブロック転送
- アドレッシングモード : 32 ビットアドレス指定
( 増加 / 減少 / 固定 : アドレス増減幅は± 1, 2, 4 固定 )
- データの種類 : バイト / ハーフワード / ワード長
- シングルショット / リロード選択可能
288
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 13 章 DMAC (DMA コントローラ )
13.1 DMAC (DMA コントローラ ) の概要
MB91461
■ DMAC のレジスタ概要
図 13.1-1 に , DMAC のレジスタ概要を示します。
図 13.1-1 DMAC のレジスタ概要
ch.0 制御 / ステータスレジスタ A
DMACA0
bit 31
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
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
001020H
ch.4 転送先アドレス設定レジスタ
DMADA4
001024H
CM71-10159-2
24
23
FUJITSU MICROELECTRONICS LIMITED
16
15
8
7
0
289
第 13 章 DMAC (DMA コントローラ )
13.1 DMAC (DMA コントローラ ) の概要
MB91461
■ DMAC のブロックダイヤグラム
図 13.1-2 に , DMAC のブロックダイヤグラムを示します。
カウンタ
バスコントローラへ
DMA転送要求
バッファ
セレクタ
ライトバック
図 13.1-2 DMAC のブロックダイヤグラム
DTC2段レジスタ DTCR
DMA起動要因
選択回路
&
要求受付け
制御
ペリフェラル起動要求/停止入力
外部端子起動要求/停止入力
カウンタ
DSS[2:0]
バッファ
読出し
書込み
優先度回路
割込みコントローラへ
IRQ[4:0]
周辺割込みクリア
MCLREQ
ERIE,EDIE
セレクタ
読出し/書込み
制御
BLKレジスタ
290
セレクタ
DMAコントローラ
DSAD2段レジスタ
SADM,SASZ[7:0] SADR
DDAD2段レジスタ
DADM,DASZ[7:0] DADR
バス制御部
セレクタ
DDNレジスタ
ライトバック
セレクタ
アドレス
カウンタバッファ
アクセス
カウンタバッファ
DDN
アドレスカウンタ
バスコン
トローラ
へ
バス制御部
状態遷移回路
X-bus
TYPE.MOD,WS
ライトバック
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 13 章 DMAC (DMA コントローラ )
13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明
MB91461
13.2
DMAC (DMA コントローラ ) のレジスタ詳細説明
DMAC の各レジスタの詳細について説明します。
■ レジスタ設定時の注意
本 DMAC の設定をする場合 , DMA が停止しているときに行う必要があるビットがあ
ります。動作中 ( 転送中 ) に設定した場合には正常な動作は保証されません。
* マークは DMAC 転送中に設定すると動作に影響するビットです。このビットの書換
えは DMAC 転送停止中 ( 起動禁止状態または一時停止状態 ) に行ってください。
DMA 転送の起動禁止状態 (DMACR:DMAE = 0 または DMACA:DENB = 0 のとき ) で
設定した場合は , 起動許可後に設定は有効になります。
DMA 転送の一時停止状態 (DMACR:DMAH3 ∼ DMAH0 ≠ 0000B または DMACA:PAUS
= 1 のとき ) で設定した場合は , 一時停止解除後に設定は有効になります。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
291
第 13 章 DMAC (DMA コントローラ )
13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明
13.2.1
MB91461
DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 制御 / ステータス
レジスタ A
DMACA0 ∼ DMACA4 は DMAC 各チャネルの動作制御を行うレジスタで , 各チャネ
ルごとに独立して存在します。
■ DMACA0 ∼ DMACA4 のビット機能
図 13.2-1 に , DMACA0 ∼ DMACA4 の各ビット機能を示します。
図 13.2-1 DMACA0 ∼ DMACA4 の各ビット機能
bit
31
30
29
28
27
DENB PAUS STRG
bit
15
14
13
26
25
24
23
22
IS [4 : 0]
12
11
10
21
20
19
8
7
6
17
16
BLK [3 : 0]
予約
9
18
5
4
3
2
1
0
DTC [15 : 0]
( 初期値 : 00000000H)
[bit31] DENB(Dma ENaBle) : DMA 動作許可ビット
各転送チャネルに対応して DMA 転送の起動許可 / 禁止を行います。
起動されたチャネルは , 転送要求が発生して受け付けられると DMA 転送を開始し
ます。起動許可されていないチャネルに対して発生した転送要求は , すべて無効と
なります。
起動されたチャネルの転送が指定回数分すべて終了した場合 , 本ビットは "0" にな
り , 転送は停止します。
本ビットに "0" を書き込むと強制停止しますが , 必ず PAUS ビット [bit30:DMACA]
で DMA を一時停止状態にしてから強制停止 ("0" 書込み ) してください。一時停止
しないで強制停止した場合は DMA は停止しますが転送データは保証されません。
停止の確認は DSS2 ∼ DSS0 ビット (bit18 ∼ bit16:DMACB) で行ってください。
DENB
機 能
0
対応チャネル DMA 動作禁止 [ 初期値 ]
1
対応チャネル DMA 動作許可
• リセット時 , 停止要求が受け付けられた場合 :"0" に初期化されます。
• 読出し / 書込み可能です。
DMAC 全体制御レジスタ DMACR の bit31:DMAE ビットにより , 全チャネルの動作
が禁止されている場合 , 本ビットへの "1" 書込みは無効となり停止状態を維持しま
す。また , 本ビットにより動作が許可されている状態にて前記ビットにより動作が
禁止された場合 , 本ビットは "0" となり転送は中断します ( 強制停止 ) 。
292
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 13 章 DMAC (DMA コントローラ )
13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明
MB91461
[bit30] PAUS(PAUSe) : 一時停止指示
対応するチャネルの DMA 転送の一時停止制御を行います。本ビットが設定される
と , 再び本ビットがクリアされるまでの間は DMA 転送を行いません (DMA が停止
中は DSS ビットが 1XXB になります ) 。
起動前に本ビットを設定してから起動した場合 , 一時停止状態のままとなります。
本ビットが設定されている間に新たに発生した転送要求は受け付けられますが , 本
ビットをクリアしないと転送は開始しません (「13.3.10 転送要求の受付けと転送」
を参照 ) 。
PAUS
機 能
0
対応チャネル DMA 動作許可 [ 初期値 ]
1
対応チャネル DMA 一時停止
• リセット時 :"0" に初期化されます。
• 読出し / 書込み可能です。
[bit29] STRG(Software TRiGger) : 転送要求
対応するチャネルの DMA 転送要求を生成します。本ビットに "1" を書き込むと , レ
ジスタへの書込みが終了した時点より転送要求が発生し , 対応チャネルの転送を開
始します。ただし , 対応するチャネルが起動されていない場合は , 本ビットへの操
作は無効となります。
STRG
機 能
0
無効 [ 初期値 ]
1
DMA 起動要求
• リセット時 :"0" に初期化されます。
• 読出し値は常に "0" となります。
• 書込み値は "1" のみ有効で , "0" は動作に影響を与えません。
<注意事項>
DMAE ビットの書込みによる起動と本ビットによる転送要求が同時に発生する場合 , 転送
要求は有効となり , 転送を開始します。また , PAUS ビットへの "1" 書込みと同時に発生
する場合 , 転送要求は有効となりますが , PAUS ビットを "0" に戻すまで DMA 転送は開始
しません。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
293
第 13 章 DMAC (DMA コントローラ )
13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明
MB91461
[bit28 ∼ bit24] IS4 ∼ IS0 (Input Select)* : 転送要因選択
転送要求の要因を以下のように選択します。ただし , STRG ビット機能によるソフ
トウェア転送要求は本設定にかかわらず有効となります。
表 13.2-1 転送要求の要因
IS
(Input Source)
機能
転送停止要求
00000B
ソフトウェア転送要求のみ
00001B
∼
01101B
設定禁止
01110B
外部端子 (DREQ) "H" レベルまたは↑エッジ
01111B
外部端子 (DREQ) "L" レベルまたは↓エッジ
10000B
外部割込み 0
−
10001B
外部割込み 1
−
10010B
外部割込み 2
−
10011B
外部割込み 3
−
10100B
リロードタイマ 0
−
10101B
リロードタイマ 1
−
10110B
LIN-UART0 RX ( 受信完了 )
あり
10111B
LIN-UART0 TX ( 送信完了 )
−
11000B
LIN-UART1 RX ( 受信完了 )
あり
11001B
LIN-UART1 TX ( 送信完了 )
−
11010B
LIN-UART4 RX ( 受信完了 )
あり
11011B
LIN-UART4 TX ( 送信完了 )
−
11100B
LIN-UART5 RX ( 受信完了 )
あり
11101B
LIN-UART5 TX ( 送信完了 )
−
11110B
A/D コンバータ
−
11111B
PPG0
−
−
• リセット時 : 00000B に初期化されます。
• 読出し / 書込み可能です。
周辺機能の割込みによる DMA 起動を設定した場合 (IS = 1XXXXB), 選択した機能
は ICR レジスタで割込みを禁止状態にしてください。また , 周辺機能の割込みによ
る DMA 起動を設定した状態で , ソフトウェア転送要求により DMA 転送を起動する
と , 転送終了後 , 該当する周辺に対して要因クリアを行います。このため , 本来の転
送要求をクリアしてしまう可能性がありますので , 周辺機能の割込みによる DMA
転送を設定した状態では , ソフトウェア転送要求による起動を行わないでくださ
い。
294
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 13 章 DMAC (DMA コントローラ )
13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明
MB91461
[bit23 ∼ bit20] 予約 : 未使用ビット
読出し値は 0000B 固定です。書込みは無効となります。
[bit19 ∼ bit16] BLK3 ∼ BLK0 (BLocK size) : ブロックサイズ指定
対応するチャネルのブロック転送時のブロックサイズを指定します。本ビットに設
定した値が 1 回の転送単位におけるワード数 ( 正確には , データ幅設定の繰返し回
数 ) となります。
ブロック転送を行わない場合は 01H ( サイズ 1) を設定してください。
表 13.2-2 対応するチャネルのブロック転送時のブロックサイズ
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 のアクセスは , 必ずハーフワード長またはワード
長にてアクセスしてください。
• 読出し時の値は , カウント値となります。リロード値の読出しはできません。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
295
第 13 章 DMAC (DMA コントローラ )
13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明
13.2.2
MB91461
DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 制御 / ステータス
レジスタ B
DMACB0 ∼ DMACB4 は , DMAC 各チャネルの動作制御を行うレジスタで , 各チャ
ネルごとに独立して存在します。
■ DMACB0 ∼ DMACB4 のビット機能
図 13.2-2 に , DMACB0 ∼ DMACB4 の各ビット機能を示します。
図 13.2-2 DMACB0 ∼ DMACB4 の各ビット機能
bit
31
30
TYPE [1 : 0]
bit
15
14
29
28
27
26
MOD [1 : 0]
WS [1 : 0]
13
11
12
10
25
24
23
22
21
20
19
18
SADM DADM DTCR SADR DADR ERIE EDIE
9
8
7
6
5
SASZ [7 : 0]
4
3
17
16
DSS [2 : 0]
2
1
0
DASZ [7 : 0]
( 初期値 : 00000000_00000000_XXXXXXXX_XXXXXXXXB)
[bit31, bit30] TYPE1, TYPE0 (TYPE)* : 転送タイプ設定
対応チャネルの動作タイプを以下のように設定します。
2 サイクル転送モード :
転送元アドレス (DMASA) と転送先アドレス (DMADA) を設定して読出し動作と書
込み動作を転送回数分繰り返して転送するモードです。
表 13.2-3 対応チャネルの動作タイプ
TYPE
機 能
00B
2 サイクル 転送 [ 初期値 ]
01B
設定禁止
10B
設定禁止
11B
設定禁止
• リセット時 : 00B に初期化されます。
• 読出し / 書込み可能です。
• 必ず 00B に設定してください。
296
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 13 章 DMAC (DMA コントローラ )
13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明
MB91461
[bit29, bit28] MOD1, MOD0 (MODe)* : 転送モード設定
対応チャネルの動作モードを以下のように設定します。
MOD
機 能
00B
ブロック / ステップ転送モード [ 初期値 ]
01B
バースト転送モード
10B
設定禁止
11B
設定禁止
• リセット時 : 00B に初期化されます。
• 読出し / 書込み可能です。
[bit27, bit26] WS1, WS0 (Word Size) : 転送データ幅選択
対応チャネルの転送データ幅を選択します。本レジスタに設定したデータ幅単位で
指定回数分の転送を行います。
WS
機 能
00B
バイト単位で転送 [ 初期値 ]
01B
ハーフワード単位で転送
10B
ワード幅単位で転送
11B
設定禁止
• リセット時 : 00B に初期化されます。
• 読出し / 書込み可能です。
[bit25] SADM(Source-ADdr, count-Mode select)* : 転送元アドレスカウントモード指定
対応するチャネルの転送元アドレスの 1 転送ごとのアドレス処理を指定します。
アドレス増加 / 減少は , 設定された転送元アドレスカウント幅 (SASZ) に従って , 1
転送後に加算 / 減算されて転送終了時に次回アクセス用アドレスが対応するアドレ
スレジスタ (DMASA) に書き込まれます。
そのため , DMA 転送が終了されるまで転送元アドレスレジスタは更新されません。
アドレス固定にする場合は , 本ビットを "0" または "1" に指定してアドレスカウン
ト幅 (SASZ, DASZ) を "0" としてください。
SADM
機 能
0
転送元アドレスは増加します。[ 初期値 ]
1
転送元アドレスは減少します。
• リセット時 : "0" に初期化されます。
• 読出し / 書込み可能です。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
297
第 13 章 DMAC (DMA コントローラ )
13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明
MB91461
[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" に初期化されます。
• 読出し / 書込み可能です。
298
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 13 章 DMAC (DMA コントローラ )
13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明
MB91461
[bit22] SADR(Source-ADdr.-reg, Reload)* : 転送元アドレスレジスタリロード指定
対応するチャネルの転送元アドレスレジスタのリロード機能を制御します。
本ビットによりリロード動作が許可されている場合 , 転送終了後に転送元アドレス
レジスタ値を初期設定値に戻します。
回数カウンタのリロード動作を禁止している場合は , アドレスレジスタにリロード
指定をしていても , 転送終了にて停止するシングルショット動作となります。この
場合 , アドレスレジスタ値は初期設定値がリロードされた状態で停止します。
本ビットによりリロード動作が禁止されている場合は , 転送終了時のアドレスレジ
スタ値は最終アドレスの次のアクセスアドレスとなります ( アドレス増加を指定し
ている場合は , 増加したアドレスとなります ) 。
SADR
機 能
0
転送元アドレスレジスタリロード禁止 [ 初期値 ]
1
転送元アドレスレジスタリロード許可
• リセット時 : "0" に初期化されます。
• 読出し / 書込み可能です。
[bit21] DADR(Dest.-ADdr.-reg, Reload)* : 転送先アドレスレジスタリロード指定
対応するチャネルの転送先アドレスレジスタのリロード機能を制御します。
本ビットによりリロード動作が許可されている場合 , 転送終了後に転送先アドレス
レジスタ値を初期設定値に戻します。
その他 , 機能の詳細は bit22:SADR の内容と等価になります。
DADR
機 能
0
転送先アドレスレジスタリロード禁止 [ 初期値 ]
1
転送先アドレスレジスタリロード許可
• リセット時 : "0" に初期化されます。
• 読出し / 書込み可能です。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
299
第 13 章 DMAC (DMA コントローラ )
13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明
MB91461
[bit20] ERIE (ERror Interrupt Enable)* : エラー割込み出力許可
エラー発生による終了時の割込み発生を制御します。発生したエラーの内容は DSS2 ∼
DSS0 にて示されます。すべての終了要因で本割込みが発生するのではなく , 特定の
終了要因の際のみ割込みが発生することに注意してください (DSS2 ∼ DSS0 ビット
の説明を参照 ) 。
ERIE
機 能
0
エラー割込み要求出力禁止 [ 初期値 ]
1
エラー割込み要求出力許可
• リセット時 : "0" に初期化されます。
• 読出し / 書込み可能です。
[bit19] EDIE(EnD Interrupt Enable)* : 終了割込み出力許可
正常終了時の割込み発生を制御します。
EDIE
機 能
0
終了割込み要求出力禁止 [ 初期値 ]
1
終了割込み要求出力許可
• リセット時 : "0" に初期化されます。
• 読出し / 書込み可能です。
[bit18 ∼ bit16] DSS2 ∼ DSS0 (Dma Stop Status)* : 転送停止要因表示
対応するチャネルの DMA 転送停止 / 終了の要因を示す 3 ビットのコード ( 終了コー
ド ) を表示します。
終了コードの内容は以下のとおりです。
表 13.2-4 転送停止要因表示
DSS
機 能
割込み発生
000B
初期値
なし
X01B
―
なし
X10B
転送停止要求
X11B
正常終了
終了
1XXB
DMA 一時停止中 (DMAH, PAUS ビット , 割込みなど )
なし
エラー
転送停止要求は , 周辺回路からの要求を使用した場合のみ設定されます。
なお , 「割込み発生」欄は , 発生可能な割込み要求の種類を示します。
• リセット時 : 000B に初期化されます。
• 000B を書き込むことによりクリアされます。
• 読出し / 書込み可能ですが , 本ビットへの書込みは 000B のみ有効となります。
300
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 13 章 DMAC (DMA コントローラ )
13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明
MB91461
[bit15 ∼ bit8] SASZ7 ∼ SASZ0 (Source Addr count SiZe)* :
転送元アドレスカウントサイズ指定
対応するチャネルの 1 転送ごとの転送元アドレス (DMASA) の増減幅を指定します。
本ビットに設定した値が 1 回の転送単位におけるアドレス増減幅となります。アド
レスの増減幅は転送元アドレスカウントモード (SADM) の指定に従います。
SASZ
機 能
00H
アドレス固定
01H
バイト単位で転送
02H
ハーフワード単位で転送
04H
ワード単位で転送
上記以外
設定禁止
• リセット時 : 00000000B に初期化されます。
• 読出し / 書込み可能です。
• アドレス固定以外に設定する場合 , 転送データ幅 (WS) と同じ転送単位を設定し
てください。
[bit7 ∼ bit0] DASZ7 ∼ DASZ0 (Des Addr count SiZe)*: 転送先アドレスカウントサイズ
指定
対応するチャネルの 1 転送ごとの転送先アドレス (DMADA) の増減幅を指定します。
本ビットに設定した値が 1 回の転送単位におけるアドレス増減幅となります。アド
レスの増減幅は転送先アドレスカウントモード (DADM) の指定に従います。
DASZ
機 能
00H
アドレス固定
01H
バイト単位で転送
02H
ハーフワード単位で転送
04H
ワード単位で転送
上記以外
設定禁止
• リセット時 : 00000000B に初期化されます。
• 読出し / 書込み可能です。
• アドレス固定以外に設定する場合 , 転送データ幅 (WS) と同じ転送単位を設定し
てください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
301
第 13 章 DMAC (DMA コントローラ )
13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明
13.2.3
MB91461
DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 転送元 / 転送先ア
ドレス設定レジスタ
DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4 は , DMAC 各チャネルの動作制御を行
うレジスタで , 各チャネルごとに独立して存在します。
■ DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4 のビット機能
DMASA0∼DMASA4/DMADA0∼DMADA4の各ビット機能は, 以下に示すとおりです。
図 13.2-3 DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4 の各ビット機能
bit
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
22
21
20
19
18
17
16
6
5
4
3
2
1
0
DMASA [31 : 16]
bit
15
14
13
12
11
10
9
8
7
DMASA [15 : 0]
( 初期値 : XXXXXXXXH)
bit
31
30
29
28
27
26
25
24
23
DMADA [31 : 16]
bit
15
14
13
12
11
10
9
8
7
DMADA [15 : 0]
( 初期値 : XXXXXXXXH)
転送元 / 転送先アドレスを格納するレジスタ群です。32 ビット長で構成されています。
[bit31 ∼ bit0] DMASA31 ∼ DMASA0 (DMA Source Addr)* : 転送元アドレス設定
転送元アドレスの設定を行います。
302
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 13 章 DMAC (DMA コントローラ )
13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明
MB91461
[bit31 ∼ bit0] DMADA31 ∼ DMADA0 (DMA Destination Addr)* : 転送先アドレス設定
転送先アドレスの設定を行います。
DMA 転送が起動すると , 本レジスタのデータを DMA 専用アドレスカウンタのカウ
ンタバッファに格納して 1 転送ごとに設定に従ってアドレスカウントします。DMA
の転送終了時にカウンタバッファの内容を本レジスタにライトバックして DMA は
終了します。そのため , DMA 動作中のアドレスカウンタ値を読み出すことはできま
せん。
すべてのレジスタには , 専用のリロードレジスタがあります。転送元 / 転送先アド
レスレジスタのリロードを許可しているチャネルに使用した場合 , 転送終了時に自
動的に初期設定値をレジスタに戻します。この際 , ほかのアドレスレジスタには影
響を与えません。
• リセット時 : 00000000H に初期化されます。
• 読出し / 書込み可能です。本レジスタは , 必ず 32 ビットデータでアクセスしてく
ださい。
• 読出し時の値は , 転送中は転送前のアドレス値 , 転送終了時には次のアクセスア
ドレス値となります。リロード値の読出しはできません。そのため , 転送アドレ
スをリアルタイムで読出しすることはできません。
• 存在しない上位ビットには , "0" を設定してください。
<注意事項>
本レジスタにて DMAC 自身のレジスタを設定しないでください。DMAC 自身のレジスタ
に DMA 転送を行うことはできません。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
303
第 13 章 DMAC (DMA コントローラ )
13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明
13.2.4
MB91461
DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 DMAC 全体制御レ
ジスタ
DMACR は , DMAC5 チャネル分全体の動作制御を行うレジスタです。本レジスタは
必ずバイト長でアクセスしてください。
■ DMACR のビット機能
図 13.2-4 に , DMACR の各ビット機能を示します。
図 13.2-4 DMACR の各ビット機能
bit
bit
31
30
29
28
27
26
25
DMAE
−
−
PM01
15
14
13
12
11
10
9
−
−
−
−
−
−
−
24
23
22
21
20
19
18
17
16
−
−
−
−
−
−
−
−
8
7
6
5
4
3
2
1
0
−
−
−
−
−
−
−
−
−
DMAH [3 : 0]
( 初期値 : 0XX00000_XXXXXXXX_XXXXXXXX_XXXXXXXXB)
[bit31] DMAE(DMA Enable) : DMA 動作許可
DMA 全チャネルの動作制御を行います。
本ビットにより DMA 動作が禁止されている場合 , 各チャネルごとの起動 / 停止の設
定や動作状態にかかわらず , 全チャネルの転送動作が禁止されます。転送中であった
チャネルは要求を取り下げ , ブロック境界にて転送を停止します。禁止状態にて , 各
チャネルに対して行われる起動操作はすべて無効となります。
本ビットにより DMA 動作が許可されている場合 , 各チャネルごとに起動 / 停止操
作が有効となります。本ビットで DMA 動作許可を行ったのみでは , 各チャネルに
対する起動は行われません。
本ビットに "0" を書き込むと強制停止しますが , 必ず DMAH3 ∼ DMAH0 ビット
(bit27 ∼ bit24:DMACR) で DMA を一時停止状態にしてから強制停止 ("0" 書込み ) し
てください。一時停止しないで強制停止した場合は DMA は停止しますが転送デー
タは保証されません。停止の確認は DSS2 ∼ DSS0 ビット (bit18 ∼ bit16:DMACB) で
行ってください。
DMAE
機 能
0
全チャネル DMA 動作禁止 [ 初期値 ]
1
全チャネル DMA 動作許可
• リセット時 : "0" に初期化されます。
• 読出し / 書込み可能です。
304
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 13 章 DMAC (DMA コントローラ )
13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明
MB91461
[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) されているチャネル
に発生した転送要求は , すべて有効となり , 本ビットをクリアすることにより転送
を開始します。
DMAH
機能
0000B
全チャネル DMA 動作許可 [ 初期値 ]
0000B 以外
全チャネル DMA 一時停止
• リセット時 : "0" に初期化されます。
• 読出し / 書込み可能です。
[bit30, bit29, bit23 ∼ bit0] 予約 : 予約ビット
読出し値は不定です。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
305
第 13 章 DMAC (DMA コントローラ )
13.3 DMAC (DMA コントローラ ) の動作説明
13.3
MB91461
DMAC (DMA コントローラ ) の動作説明
DMAC の動作概要 , 転送要求設定や転送シーケンスなどの詳細 , 動作中の詳細など
について説明します。
■ DMAC の概要
本ブロックは , FR ファミリに内蔵され , CPU の命令動作を介することなく高速にデー
タ転送を制御する多機能 DMA コントローラです。
306
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 13 章 DMAC (DMA コントローラ )
13.3 DMAC (DMA コントローラ ) の動作説明
MB91461
13.3.1
動作概要
DMAC の動作概要を説明します。
■ DMAC の主要動作
各転送チャネルは , 独立に各種機能を設定します。
各チャネルは起動許可後 , 設定した転送要求を検出するまでは転送動作を行いません。
転送要求検出により , バスコントローラに対して DMA 転送要求を出力し , バスコント
ローラの制御によりバス権を取得して転送を開始します。転送は各チャネルごとに独
立に設定されたモード設定に従ったシーケンスで行われます。
■ 転送モード
DMA の各チャネルは , それぞれの DMACB レジスタの MOD1, MOD0 ビットで設定さ
れた転送モードに従って転送動作を行います。
● ブロック / ステップ転送
1 回の転送要求にて 1 ブロック転送単位のみ転送を行い , その後 , 次の転送要求が受け
付けられるまでは DMA はバスコントローラに対して転送要求を停止します。
1 ブロック転送単位 : 設定されたブロックサイズ分 (DMACA:BLK3 ∼ BLK0)
● バースト転送
1 回の転送要求にて指定転送回数終了まで連続して転送を行います。
指定転送回数 : ブロックサイズ分×転送回数分
(DMACA:BLK3 ∼ BLK0 × DMACA:DTC15 ∼ DTC0)
■ 転送タイプ
● 2 サイクル転送 ( 通常転送 )
DMA コントローラの動作は , 読出し動作と書込み動作を 1 つの単位として動作を行い
ます。
転送元レジスタのアドレスからデータを読み出して転送先レジスタのアドレスへデー
タを書き込みます。
■ 転送アドレス
アドレッシングには以下のようなものがあり , 各チャネル転送元 / 転送先ごとに独立に
設定します。
● 2 サイクル転送でのアドレスの指定
あらかじめアドレスを設定してあるレジスタ (DMASA, DMADA) から読み出した値を
アドレスとしてアクセスします。
転送要求を受け付けたら , DMA はレジスタからアドレスを一時記憶バッファに格納し
て転送を開始します。
1 回の転送 ( アクセス ) ごとにアドレスカウンタにて次回アクセスアドレスを生成 ( 加
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
307
第 13 章 DMAC (DMA コントローラ )
13.3 DMAC (DMA コントローラ ) の動作説明
MB91461
算 / 減算 / 固定選択可能 ) して , 一時記憶バッファに戻します。この一時記憶バッファ
の内容は 1 ブロック転送単位終了ごとにレジスタ (DMASA, DMADA) へライトバック
されます。
そのため , アドレスレジスタ (DMASA, DMADA) 値は , 1 ブロック転送単位ごとにしか
更新されませんので転送中のアドレスをリアルタイムに知ることはできません。
■ 転送回数と転送終了
● 転送回数
1 ブロック転送単位終了ごとに , 転送回数レジスタを減数 ( − 1) します。転送回数レジ
スタが "0" になると指定転送回数終了となり , 終了コードを表示して停止または再起動
します。
転送回数レジスタ値はアドレスレジスタと同様に 1 ブロック転送単位ごとにしか更新
されません。
転送回数レジスタリロード禁止に設定している場合は転送を終了します。許可されて
いる場合はレジスタ値を初期化して転送待ち状態になります (DMACB:DTCR)。
● 転送終了
転送終了要因には , 以下のようなものがあり , 終了時は終了コードとして要因が表示さ
れます (DMACB:DSS2 ∼ DSS0)。
• 指定転送回数の終了 (DMACA:BLK3 ∼ BLK0 × DMACA:DTC15 ∼ DTC0) →正常終了
• 周辺回路からの転送停止要求の発生→エラー
• アドレスエラーの発生→エラー
• リセットの発生→リセット
各終了要因に対応して , 転送停止要因が表示 (DSS) されて転送終了割込み / エラー割込
みを発生可能です。
308
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 13 章 DMAC (DMA コントローラ )
13.3 DMAC (DMA コントローラ ) の動作説明
MB91461
転送要求の設定
13.3.2
DMA 転送を起動する転送要求には , 以下の 2 種類があります。
• 内蔵周辺要求
• ソフトウェア要求
ソフトウェア要求については , ほかの要求の設定にかかわらず常に使用することが
できます。
■ 内蔵周辺要求
内蔵周辺回路の割込み発生により , 転送要求を発生します。
各チャネルごとに , どの周辺の割込みにより転送要求を発生するかを設定します
(DMACA:IS4 ∼ IS0 = 1XXXXB)。
外部転送要求とは同時に使用することができません。
<注意事項>
転送要求に使用した割込み要求は, CPUへの割込み要求としても見えますので割込みコン
トローラの設定を割込み禁止に設定してください (ICR レジスタ ) 。
■ ソフトウェア要求
レジスタのトリガビットへの書込みにより , 転送要求を発生します (DMACA:STRG)。
上記の転送要求とは独立で , 常に使用することができます。
起動 ( 転送許可 ) と同時にソフトウェア要求を行った場合 , 直後にバスコントローラに
対して DMA 転送要求を出力して転送を開始します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
309
第 13 章 DMAC (DMA コントローラ )
13.3 DMAC (DMA コントローラ ) の動作説明
13.3.3
MB91461
転送シーケンス
各チャネルごとに , DMA 転送起動後の動作シーケンスなどを決定する転送タイプと転
送モードを独立して設定することができます (DMACB:TYPE1, TYPE0, MOD1, MOD0
の設定 ) 。
■ 転送シーケンスの選択
レジスタの設定により , 以下のシーケンスが選択可能です。
• バースト 2 サイクル転送
• ブロック / ステップ 2 サイクル転送
■ バースト 2 サイクル転送
1 回の転送要因にて指定転送回数の転送を続けて行います。2 サイクル転送の場合は転
送元 / 転送先アドレスは 32 ビット領域指定可能です。
転送要因は , 周辺転送要求 / ソフトウェア転送要求を選択できます。
表 13.3-1 にバースト 2 サイクル転送の指定可能転送アドレスを示します。
表 13.3-1 バースト 2 サイクル転送の指定可能転送アドレス
転送元アドレス指定
方向
転送先アドレス指定
32 ビット全領域指定可能
→
32 ビット全領域指定可能
〔バースト転送の特長〕
• 転送要求を 1 回受け付けると , 転送回数レジスタが "0" になるまで連続して転送
を 行 い ま す。転 送 回 数 は ブ ロ ッ ク サ イ ズ 分 × 転 送 回 数 分 に な り ま す
(DMACA:BLK3 ∼ BLK0 × DMACA:DTC15 ∼ DTC0)。
• 転送中に再度要求が発生した場合 , 要求は無視されます。
• 転送回数レジスタのリロード機能が有効である場合, 転送終了後より次の転送要
求を受け付けます。
• 転送中に , より高い優先順位の他チャネルの転送要求を受け付けた場合 , ブロッ
ク転送単位の境目でチャネルを切り換えてそのチャネルの転送要求がクリアさ
れるまで復帰しません。
図 13.3-1 に , バースト転送例を示します。
図 13.3-1 バースト転送例
転送要求↑(エッジ)
バス動作
転送回数
CPU
SA
DA
4
SA
DA
3
SA
DA
2
SA
DA
CPU
0
1
転送終了
(外部端子立上りエッジ起動,ブロック数=1, 転送回数=4のときのバースト転送例)
310
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 13 章 DMAC (DMA コントローラ )
13.3 DMAC (DMA コントローラ ) の動作説明
MB91461
■ ステップ / ブロック転送 2 サイクル転送
ステップ / ブロック転送 (1 転送要求ごとに指定ブロック回数分のみ転送を行う ) の場
合は転送元 / 転送先アドレスは 32 ビット領域指定可能です。
表 13.3-2 にステップ / ブロック転送 2 サイクル転送の指定可能転送アドレスを示します。
表 13.3-2 ステップ / ブロック転送 2 サイクル転送の指定可能転送アドレス
転送元アドレス指定
方向
転送先アドレス指定
32 ビット全領域指定可能
→
32 ビット全領域指定可能
■ ステップ転送
ブロックサイズに "1" を設定すると , ステップ転送シーケンスとなります。
〔ステップ転送の特長〕
• 転送要求を 1 回受け付けると , 1 回の転送を行った後 , 転送要求をクリアして転送を
停止します ( バスコントローラに対して DMA 転送要求を取り下げる ) 。
• 転送中に再度要求が発生した場合 , 要求は無視されます。
• 転送中により , 高い優先順位の他チャネルの転送要求を受け付けた場合 , 転送停止
後に , チャネルを切り換えて転送を開始します。ステップ転送における優先順位は ,
転送要求が同時に発生した場合のみ意味があります。
■ ブロック転送
ブロックサイズを "1" 以外に設定すると , ブロック転送シーケンスとなります。
[ ブロック転送の特長 ]
1 転送単位が複数回 ( ブロック数 ) の転送サイクルから構成されること以外は , ステッ
プ転送と全く同じ動作となります。図 13.3-2 にブロック転送例を示します。
図 13.3-2 ブロック転送例
転送要求(↑エッジ)
バス動作
ブロック数
転送回数
CPU
SA
DA
SA
2
DA
1
CPU
0
SA
DA
SA
2
2
DA
1
1
転送終了
(外部端子立上りエッジ起動,ブロック数=2, 転送回数=2のときのブロック転送例)
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
311
第 13 章 DMAC (DMA コントローラ )
13.3 DMAC (DMA コントローラ ) の動作説明
13.3.4
MB91461
DMA 転送全般
DMA の転送動作について説明します。
■ ブロックサイズ
転送データの 1 転送単位はブロックサイズ指定レジスタに設定した数 ( ×データ幅 ) の
データの集合となります。
1 転送サイクルにて転送されるデータは , データ幅指定の値に固定されるため , 1 転送
単位はブロックサイズ指定値分の転送サイクル数より構成されることになります。
転送中に , より高い優先順位の転送要求が受け付けられた場合または転送の一時停止
要求が発生した場合 , ブロック転送時でも 1 転送単位の境界にならないと停止しませ
ん。これにより , 分割・一時停止を希望しないデータブロックのデータ保護が可能とな
りますが , ブロックサイズが大きい場合はレスポンスを低下させる原因になります。
リセット発生の場合のみ直ちに停止しますが , 転送中であったデータの内容などは保
証されません。
■ リロード動作
本モジュールでは, 各チャネルごとに, 以下の3種類のリロード機能の設定が可能です。
(1) 転送回数レジスタリロード機能
指定回数の転送が終了した後 , 転送回数レジスタに初期設定値を再設定して起
動受付け待ちします。
全転送シーケンスを繰り返し行う際に設定します。
リロード指定をしない場合 , 指定回数の転送終了後は回数レジスタ値が "0" のま
まとなり , 以降の転送は行われません。
(2) 転送元アドレスレジスタリロード機能
指定回数の転送が終了した後 , 転送元アドレスレジスタに初期設定値を再設定
します。
転送元アドレス領域内で固定領域から繰り返し転送する場合に設定します。
リロード指定をしない場合 , 指定回数の転送終了後は転送元アドレスレジスタ
値が終了時の次のアドレスとなります。アドレス領域を固定しない場合に使用
します。
(3) 転送先アドレスレジスタリロード機能
指定回数の転送が終了した後 , 転送先アドレスレジスタに初期設定値を再設定
します。
転送先アドレス領域内で固定領域へ繰り返し転送する場合に設定します。
( 以下 (2) と同じ )
転送元 / 転送先レジスタのリロード機能を有効にしたのみでは , 指定回数転送終了後の
再起動は行われず , 各アドレスレジスタ値が再設定されるのみとなります。
312
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 13 章 DMAC (DMA コントローラ )
13.3 DMAC (DMA コントローラ ) の動作説明
MB91461
〔動作モードとリロード動作の特殊な例〕
外部端子入力レベル検出による連続転送モードで転送している場合 , 転送回数レジ
スタのリロード機能を使用すると , 入力が連続している間に転送終了となってもそ
のままリロードして転送を継続します。この場合も終了コードは設定されます。
転送終了後いったん停止して , 再度入力検出から行いたい場合は , リロード指定を
行わないようにしてください。
バースト / ブロック / ステップ転送モードで転送している場合 , 転送が終了し , リ
ロードすると , いったん転送を中断し , 改めて転送要求入力が検出されるまで転送
を行いません。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
313
第 13 章 DMAC (DMA コントローラ )
13.3 DMAC (DMA コントローラ ) の動作説明
MB91461
アドレッシングモード
13.3.5
各転送チャネルの転送先および転送元アドレスは , それぞれ独立して指定します。
その指定方法について説明します。転送シーケンスによって設定してください。
■ アドレスレジスタ指定
2 サイクル転送モードでは , 転送元アドレス設定レジスタ (DMASA) に転送元アドレス
を , 転送先アドレス設定レジスタ (DMADA) に転送先アドレスを設定してください。
〔アドレスレジスタの特長〕
32 ビット長のレジスタです。
〔アドレスレジスタの機能〕
• 毎アクセス時に読み出され , アドレスバスへ放出されます。
• 同時にアドレスカウンタで次回アクセス時のアドレス計算が行われ, 計算結果の
アドレスでアドレスレジスタを更新します。
• アドレス計算は , 各チャネル / 転送先 / 転送元それぞれ独立に , 加算 / 減算のどち
らかを選択します。アドレスの増減幅はアドレスカウントサイズ指定レジスタ値
によります (DMACB:SASZ, DASZ)。
• 転送終了時のアドレスレジスタには , リロード機能を有効にしていない場合 , 最
終アドレスにアドレス計算をした結果のアドレスが残されます。
• リロード機能を有効にしている場合 , アドレスの初期値がリロードされます。
<参考>
32 ビット長アドレス計算の結果 , オーバフロー / アンダフローが発生した場合 , アドレス
エラーとして検出され , そのチャネルの転送を中止します ( 表 13.2-4 を参照 ) 。
<注意事項>
• アドレスレジスタに DMAC 自身のレジスタのアドレスを設定しないでください。
• DMAC により DMAC 自身のレジスタへの転送は行わないでください。
314
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 13 章 DMAC (DMA コントローラ )
13.3 DMAC (DMA コントローラ ) の動作説明
MB91461
13.3.6
データの種類
1 回の転送で転送されるデータ長 ( データ幅 ) は , 以下から選択します。
• バイト
• ハーフワード
• ワード
■ アクセスアドレス
DMA 転送においても , ワードバウンダリ仕様が守られるため , 転送先 / 転送元アドレ
ス指定においてデータ長と一致しないアドレスが設定された場合 , 異なる下位ビット
は無視されます。
• ワード :
実際のアクセスアドレスは下位 2 ビットが 00B から始まる 4 バイトとなります。
• ハーフワード :
実際のアクセスアドレスは下位 1 ビットが "0" から始まる 2 バイトとなります。
• バイト :
実際のアクセスアドレスとアドレス指定が一致します。
転送元アドレスと転送先アドレスの下位ビットが一致しない場合 , 内部アドレスバス
上には設定そのままのアドレスが出力されますが , バス上の各転送対象において , 上記
の決まりに従ってアドレスが修正されてアクセスが行われます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
315
第 13 章 DMAC (DMA コントローラ )
13.3 DMAC (DMA コントローラ ) の動作説明
13.3.7
MB91461
転送回数制御
転送回数は , 最大で 16 ビット長の範囲内 (1 回∼ 65536 回 ) で指定します。転送回
数指定値は転送回数レジスタ (DMACA:DTC) にて設定します。
■ 転送回数レジスタとリロード動作
レジスタ値は転送開始時に一時記憶バッファに格納され , 転送回数カウンタにより減算
されます。このカウンタ値が "0" となったとき , 指定回数の転送終了として検出され ,
そのチャネルの転送停止または再起動受付け待ち ( リロード指定時 ) が行われます。
〔転送回数レジスタ群の特長〕
• 各レジスタ 16 ビット長です。
• すべてのレジスタにはそれぞれ専用リロードレジスタがあります。
• レジスタ値が "0" 時に起動すると , 65536 回の転送を行います。
〔リロード動作〕
• リロード機能があるレジスタで, リロード機能が許可されている場合にのみ有効
です。
• 転送起動時に , 回数レジスタの初期値をリロードレジスタに退避します。
• 転送回数カウンタにてカウントを行った際 , "0" になると転送終了を通知すると
ともにリロードレジスタから初期値を読み出して回数レジスタに書き込みます。
316
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 13 章 DMAC (DMA コントローラ )
13.3 DMAC (DMA コントローラ ) の動作説明
MB91461
CPU 制御
13.3.8
DMA 転送要求が受け付けられると , DMA はバスコントローラに対して転送要求を
発生します。
バスコントローラはバス動作の切れ目で内部バス使用権を DMA に明け渡し , DMA
転送を開始します。
■ DMA 転送と割込み
DMA 転送中に , NMI 要求 , または割込みコントローラの HRCL レジスタにて設定され
たホールド抑止レベルより高いレベルの割込み要求が発生した場合には , DMAC は転
送単位 (1 ブロック ) の境界にてバスコントローラへの転送要求を一時取り下げ , 割込
み要求がクリアされるまでは転送を一時停止状態にします。この間 , 転送要求は内部で
保持されます。割込み要求がクリアされた後に再度 , DMAC はバスコントローラへ転
送要求を発行してバス使用権を取得し , DMA 転送を再開します。
割込みのレベルが HRCL レジスタに設定されたレベルより低い場合は , DMA 転送終了
まで割込みは受け付けられません。また , HRCL の設定値より低いレベルの割込み処理
動作中に DMA 転送要求があった場合は , 転送要求は受け付けられ , 転送終了まで割込
み処理動作は停止します。
デフォルトでは DMA 転送要求レベルは最弱です。すべての割込み要求に対して転送
を停止し , 割込み処理を優先させます。
■ DMA 抑止
FR ファミリは DMA 転送中に , より優先度の高い割込み要因が発生すると DMA 転送
を中断して該当割込みルーチンへ分岐します。この機能は割込み要求がある限り有効
ですが , 割込み要因をクリアすると抑止機能が働かなくなり , 割込み処理ルーチン内で
DMA 転送を再開します。
このため , DMA 転送を中断するレベルの割込み要因の処理ルーチン内で , 割込み要因
クリア後の DMA 再転送開始を抑止したいときは , DMA 抑止機能を使用します。
DMA 抑止機能は , DMA 全体制御レジスタの DMAH3 ∼ DMAH0 ビットに "0" 以外の
値を書くことで起動し , "0" を書くことで停止します。
本機能は主として割込み処理ルーチン内で使用します。割込み処理ルーチンで割込み
要因をクリアする前に DMA 抑止レジスタの内容を 1 つ増加させます。このようにす
ると , 以降 , DMA 転送を行いません。
割込み処理への対応を行った後 , 復帰する前に DMAH3 ∼ DMAH0 ビットの内容を 1 つ
減少させます。
もし , 多重割込みであれば DMAH3 ∼ DMAH0 ビットの内容は , まだ "0" にならないた
め , 引き続いて DMA 転送は抑止されます。また , 多重割込みでなければ , DMAH3 ∼
DMAH0 ビットの内容は "0" になるため , その後 , すぐに DMA 要求を有効にします。
<注意事項>
• レジスタのビット数は 4 ビットですので , 15 レベルを超える多重割込みで本機能を使
用することができません。
• DMA タスクの優先順位は必ずほかの割込みレベルより 15 レベルは上に置いてください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
317
第 13 章 DMAC (DMA コントローラ )
13.3 DMAC (DMA コントローラ ) の動作説明
13.3.9
MB91461
動作開始
DMA 転送の開始は , 各チャネルごとに独立に制御しますが , その前に全チャネルの
動作を許可しておく必要があります。
■ 全チャネル動作許可
DMAC 各チャネルに起動を行う前に , DMA 動作許可ビット (DMACR:DMAE) にてあら
かじめ全チャネルの動作を許可する必要があります。
許可されていない状態で行った起動設定 , および発生した転送要求はすべて無効とな
ります。
■ 転送起動
各チャネルごとの制御レジスタにある動作許可ビットで , 転送動作を起動します。起動
されたチャネルに対する転送要求が受け付けられると , 設定されたモードにて DMA 転
送動作が開始されます。
■ 一時停止状態からの起動
各チャネルごとまたは全チャネル制御にて , 起動前に一時停止状態にした場合 , 転送動
作を起動しても一時停止状態を維持します。この間に転送要求が発生した場合は , 要求
を受け付けて保持します。
一時停止を解除した時点から転送を開始します。
318
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 13 章 DMAC (DMA コントローラ )
13.3 DMAC (DMA コントローラ ) の動作説明
MB91461
13.3.10
転送要求の受付けと転送
転送要求の受付けと転送の内容を説明します。
■ 転送要求の受付けと転送
起動後から , 各チャネルに対して設定した転送要求のサンプリングが開始されます。
周辺割込み起動を選択した場合 , 転送要求がクリアされるまで DMAC は転送を続けま
すが , クリアされると 1 転送単位で転送を停止します ( 周辺割込み起動 ) 。
周辺割込みはレベル検出扱いとなりますので , 割込みは DMA による割込みクリアで行
うようにしてください。
転送要求は他チャネルの要求が受け付けられて転送が行われている間でも常に受け付
けられており , 優先順位の判断を行って , 1 転送単位ごとに転送するチャネルを決定し
ています。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
319
第 13 章 DMAC (DMA コントローラ )
13.3 DMAC (DMA コントローラ ) の動作説明
13.3.11
MB91461
DMA による周辺割込みクリア
本 DMA には周辺割込みをクリアする機能があります。この機能は DMA 起動要因に
周辺割込みを選択したときに機能します (IS4 ∼ IS0 = 1XXXXB のとき )。
周辺割込みのクリアは設定された起動要因にのみ行われます。すなわち , IS4 ∼ IS0
で設定された周辺機能のみクリアされます。
■ DMA による割込みクリアの発生タイミング
転送モードにより発生するタイミングが違います (「13.4 DMAC (DMA コントロー
ラ ) の動作フロー」を参照 ) 。
〔ブロック / ステップ転送〕
ブロック転送を選択した場合 , 1 ブロック ( ステップ ) 転送ごとにクリア信号が発生
します。
〔バースト転送〕
バースト転送を選択した場合は , 指定転送回数がすべて終了するとクリア信号が発
生します。
320
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 13 章 DMAC (DMA コントローラ )
13.3 DMAC (DMA コントローラ ) の動作説明
MB91461
13.3.12
一時停止
DMA 転送が一時停止する場合について説明します。
■ 制御レジスタへの書込みによる一時停止の設定
( 各チャネル独立または全チャネル同時に設定 )
一時停止ビットにより一時停止を設定すると , 一時停止解除設定を再度設定するまで
の間 , 対応するチャネルの転送は停止します。一時停止の確認は DSS ビットで行って
ください。
一時停止を解除すると転送を再開します。
■ NMI/ ホールド抑止レベル割込み処理中
NMI 要求 , またはホールド抑止レベルより高いレベルの割込み要求が発生した場合 , 転
送中のチャネルはすべて転送単位の境界にて一時停止し , バス権を開放して NMI/ 割込
み処理を優先させます。また , NMI/ 割込み処理中に受け付けられた転送要求は , その
まま保持され , NMI 処理の終了を待ちます。
要求が保持されたチャネルは , NMI/ 割込み処理が終了した後に転送を再開します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
321
第 13 章 DMAC (DMA コントローラ )
13.3 DMAC (DMA コントローラ ) の動作説明
13.3.13
MB91461
動作終了 / 停止
DMA 転送の終了は , 各チャネルごとに独立に制御し , 全チャネルの動作を禁止する
ことが可能です。
■ 転送終了
リロード動作が有効でない場合 , 転送回数レジスタが "0" になると転送を停止し , 終了
コードにて「正常終了」を表示した後 , 以降の転送要求は無効となります (DMACA:
DENB ビットをクリアする ) 。
リロード動作が有効である場合 , 転送回数レジスタが "0" になると初期値をリロードし ,
終了コードにて「正常終了」を表示した後 , 再度 , 転送要求待ちとなります (DMACA:
DENB ビットをクリアしない ) 。
■ 全チャネル動作禁止
DMA 動作許可ビット DMAE にて全チャネルの動作を禁止すると , 動作中であったチャ
ネルも含めて DMAC のすべての動作が停止します。以降 , 再度 , 全チャネル DMA 動
作を許可しても , 各チャネルごとに再起動しないと転送は行われません。この場合 , 割
込みは一切発生しません。
322
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 13 章 DMAC (DMA コントローラ )
13.3 DMAC (DMA コントローラ ) の動作説明
MB91461
13.3.14
エラーによる停止
指定回数の転送終了による正常終了以外の要因で停止する場合として , 各種エラー
発生による停止および強制停止があります。
■ 周辺回路からの転送停止要求の発生
転送要求を出力する周辺回路には , 異常を検出した際などに転送停止要求を発生する
ものがあります ( 例 : 通信系周辺における受信 / 送信エラーなど ) 。
この転送停止要求を受け取った DMAC は , 終了コードで「転送停止要求」を表示して
対応するチャネルの転送を停止します。
■ アドレスエラーの発生
各アドレッシングモードにて不適切なアドレッシングが行われたとき , アドレスエ
ラーとして検出されます。
「不適切なアドレッシング」とは , 例えば「32 ビットアドレ
ス指定時に , アドレスカウンタでオーバフロー / アンダフローが発生した場合」です。
アドレスエラーを検出すると , 終了コードで「アドレスエラーの発生」を表示して対応
するチャネルの転送を停止します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
323
第 13 章 DMAC (DMA コントローラ )
13.3 DMAC (DMA コントローラ ) の動作説明
13.3.15
MB91461
DMAC 割込み制御
DMAC 割込み制御は , 転送要求となる周辺割込みとは独立に DMAC 各チャネルごと
に割込みを出力することが可能です。
■ DMAC 割込み制御が出力できる割込み
• 転送終了割込み :
正常終了した場合のみ発生する。
• エラー割込み :
周辺回路からの転送停止要求 ( 周辺に起因するエラー )
アドレスエラーの発生 ( ソフトウェアに起因するエラー )
これらの割込みはすべて終了コードの内容に従って出力されます。
割込み要求のクリアは , DMACS の DSS2 ∼ DSS0 ( 終了コード ) に 000B を書き込むこ
とにより行います。
なお , 終了コードは再起動する際には必ず 000B を書き込んでクリアしてください。
リロード動作が有効である場合 , 自動的に再起動しますが , この時終了コードはクリア
されず , 次の転送終了による新しい終了コードの書込み時まで保持されます。
終了コードで表示できる終了要因は1種類のみですので, 複数の要因が同時に発生した
場合は優先判断を行った結果を表示します。この際に発生する割込みは , 表示されてい
る終了コードに従います。
終了コードの表示の優先順位を優先度の高い順に以下に示します。
• リセット
• 000B 書込みによるクリア
• 周辺停止要求
• 正常終了
• アドレスエラー検出による停止
• チャネル選択と制御
324
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 13 章 DMAC (DMA コントローラ )
13.3 DMAC (DMA コントローラ ) の動作説明
MB91461
13.3.16
スリープ中の DMA 転送
DMAC は , スリープモード中でも動作させることができます。
スリープ状態のときの DMA 転送について説明します。
■ スリープモード中の DMA 転送の注意
スリープモードで DMA 転送する場合 , 次のことに注意する必要があります。
• CPU は停止状態なので DMAC のレジスタを書き換えることはできません。スリー
プモードに入る前に設定を済ませておいてください。
• スリープモードは , 割込みで解除されますので , DMAC 起動要因で周辺割込みを選
択した場合は , 割込みコントローラで割込みを禁止する必要があります。
同様に DMAC 終了割込みでスリープモードを解除したくない場合は割込みを禁止にし
てください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
325
第 13 章 DMAC (DMA コントローラ )
13.3 DMAC (DMA コントローラ ) の動作説明
13.3.17
MB91461
チャネル選択と制御
転送チャネルの数は 5 チャネルまで同時に設定が可能です。
各チャネルは基本的に各機能を独立に設定することが可能です。
■ チャネル間優先順位
DMA 転送は同時に 1 チャネルのみ可能なため , 各チャネル間には優先順位が設定され
ます。順位設定には , 固定 / 回転の 2 モードがあり , チャネルグループ (「■チャネル
グループ」を参照 ) ごとに選択します。
● 固定モード
チャネル番号の小さい順に固定されます。
(ch.0 > ch.1 > ch.2 > ch.3 > ch.4)
転送中により高い優先度の転送要求が受け付けられた場合 , 1 転送単位 ( ブロックサイ
ズ指定レジスタに設定した数×データ幅 ) の転送が終了した時点で , 転送チャネルが高
優先度側に切り換わります。
高優先度側の転送が終了すると , 元のチャネルの転送を再開します。
図 13.3-3 に , 固定モード時の DMA 転送を示します。
図 13.3-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 転送単位ごとにチャネルが切り換わります。
連続 / バースト転送を設定した場合に効果のあるモードです。
図 13.3-4 に回転モード時の DMA 転送を示します。
図 13.3-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転送終了
326
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 13 章 DMAC (DMA コントローラ )
13.3 DMAC (DMA コントローラ ) の動作説明
MB91461
■ チャネルグループ
優先順位の選択は , 以下の単位で設定します。
表 13.3-3 に , DMA 優先順位選択の設定を示します。
表 13.3-3 DMA 優先順位選択の設定
CM71-10159-2
モード
優先度
備考
固定
ch.0 > ch.1
−
回転
ch.0 > ch.1
↑↓
ch.0 < ch.1
初期状態は上位側の順位です。
上位側が転送されると反転します。
FUJITSU MICROELECTRONICS LIMITED
327
第 13 章 DMAC (DMA コントローラ )
13.4 DMAC (DMA コントローラ ) の動作フロー
13.4
MB91461
DMAC (DMA コントローラ ) の動作フロー
図 13.4-1 および 図 13.4-2 に , DMA 転送の動作フローを示します。
■ ブロック転送の動作フロー
図 13.4-1 ブロック転送
DMA停止
DENB=>0
DENB=1
リロード許可
起動要求待機
起動要求
初期化
アドレス,転送回数,
ブロック数ロード
転送元アドレスアクセス
アドレス演算
フライバイ時は1回のアクセス
転送先アドレスアクセス
アドレス演算
ブロック数-1
BLK=0
転送回数-1
周辺割込み起動要因選択時のみ
アドレス,転送回数,
ブロック数,ライトバック
割込みクリア
割込みクリア発生
DTC=0
DMA転送終了
DMA割込み発生
ブロック転送
• すべての起動要因で起動可能(選択)
• すべての領域へのアクセス可能
• ブロック数の設定可能
• ブロック数終了で割込みクリア発行
• 指定転送回数終了で DMA 割込みを発行
328
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 13 章 DMAC (DMA コントローラ )
13.4 DMAC (DMA コントローラ ) の動作フロー
MB91461
■ バースト転送の動作フロー
図 13.4-2 バースト転送
DMA停止
DENB=>0
DENB=1
起動要求待機
リロード許可
初期化
アドレス,転送回数,
ブロック数ロード
転送元アドレスアクセス
アドレス演算
フライバイ時は1回のアクセス
転送先アドレスアクセス
アドレス演算
ブロック数-1
BLK=0
転送回数-1
DTC=0
アドレス,転送回数,
ブロック数,ライトバック
割込みクリア
周辺割込み起動要因選択時のみ
割込みクリア発生
DMA転送終了
DMA割込み発生
バースト転送
• すべての起動要因で起動可能(選択)
• すべての領域へのアクセス可能
• ブロック数の設定可能
• 指定転送回数終了で割込みクリア , DMA 割込みを発行
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
329
第 13 章 DMAC (DMA コントローラ )
13.5 データバス
13.5
MB91461
データバス
各転送時のデータの動作を示します。
■ 2 サイクル転送時のデータの動作
図 13.5-1 から図 13.5-6 に 2 サイクル転送時のデータの動作を示します。
図 13.5-1 外部領域→外部領域転送
MB91xxx
リードサイクル
CPU
I-bus
X-bus
バスコントローラ
D-bus
データバッファ
DMAC
ライトサイクル
I-bus
CPU
DMAC
外部バス I/F
MB91xxx
X-bus
バスコントローラ
D-bus
データバッファ
F-bus
RAM
外部バス I/F
外部領域=>外部領域 転送
F-bus
I/O
RAM
I/O
図 13.5-2 外部領域→内部 RAM 領域転送
MB91xxx
リードサイクル
CPU
I-bus
X-bus
バスコントローラ
D-bus
データバッファ
DMAC
ライトサイクル
I-bus
CPU
DMAC
外部バス I/F
MB91xxx
X-bus
バスコントローラ
D-bus
データバッファ
F-bus
RAM
330
外部バス I/F
外部領域=>内部RAM領域 転送
F-bus
I/O
FUJITSU MICROELECTRONICS LIMITED
RAM
I/O
CM71-10159-2
第 13 章 DMAC (DMA コントローラ )
13.5 データバス
MB91461
図 13.5-3 外部領域→内蔵 I/O 領域転送
MB91xxx
リードサイクル
CPU
I-bus
X-bus
バスコントローラ
D-bus
DMAC
ライトサイクル
I-bus
CPU
DMAC
外部バス I/F
MB91xxx
X-bus
バスコントローラ
D-bus
データバッファ
データバッファ
F-bus
RAM
外部バス I/F
外部領域=>内蔵I/O領域 転送
F-bus
RAM
I/O
I/O
図 13.5-4 内蔵 I/O 領域→内蔵 RAM 領域転送
MB91xxx
リードサイクル
CPU
I-bus
X-bus
バスコントローラ
D-bus
データバッファ
DMAC
ライトサイクル
I-bus
CPU
DMAC
外部バス I/F
MB91xxx
X-bus
バスコントローラ
D-bus
F-bus
RAM
外部バス I/F
内蔵I/O領域=>内蔵RAM領域 転送
F-bus
RAM
I/O
I/O
図 13.5-5 内部 RAM 領域→外部領域転送
MB91xxx
リードサイクル
CPU
I-bus
X-bus
バスコントローラ
D-bus
データバッファ
DMAC
ライトサイクル
I-bus
CPU
DMAC
外部バス I/F
MB91xxx
X-bus
バスコントローラ
D-bus
データバッファ
F-bus
RAM
CM71-10159-2
I/O
FUJITSU MICROELECTRONICS LIMITED
外部バス I/F
内部RAM領域=>外部領域 転送
F-bus
RAM
I/O
331
第 13 章 DMAC (DMA コントローラ )
13.5 データバス
MB91461
図 13.5-6 内部 RAM 領域→内蔵 I/O 領域転送
MB91xxx
リードサイクル
X-bus
CPU
I-bus
バスコントローラ
D-bus
データバッファ
DMAC
ライトサイクル
X-bus
I-bus
CPU
DMAC
外部バス I/F
MB91xxx
バスコントローラ
D-bus
データバッファ
F-bus
RAM
332
I/O
FUJITSU MICROELECTRONICS LIMITED
外部バス I/F
内部RAM領域=>内蔵I/O領域 転送
F-bus
RAM
I/O
CM71-10159-2
第 14 章
CAN コントローラ
CAN コントローラの機能と動作について示しま
す。
14.1 CAN の特長
14.2 CAN のブロックダイヤグラム
14.3 CAN のレジスタ
14.4 CAN レジスタ機能
14.5 CAN 機能
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
333
第 14 章 CAN コントローラ
14.1 CAN の特長
14.1
MB91461
CAN の特長
CAN は , シリアル通信用の標準プロトコルである CAN プロトコル ver2.0A/B に準
拠しており , 自動車や FA などの工業分野に広く使用されています。
■ CAN の特長
CAN には以下の特長があります。
• CAN プロトコル ver2.0A/B をサポート
• 1Mbps までのビットレートをサポート
• メッセージオブジェクトごとの識別マスク
• プログラマブル FIFO モードをサポート
• マスク可能な割込み
• 自己テスト動作用プログラマブルループバックモードをサポート
• インタフェースレジスタを使用してメッセージバッファへの読出し / 書込み
334
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.2 CAN のブロックダイヤグラム
MB91461
14.2
CAN のブロックダイヤグラム
図 14.2-1 に , CAN ブロックダイヤグラムを示します。
図 14.2-1 CAN ブロックダイヤグラム
CAN_TX CAN_RX
CANコントローラ
メッセージ RAM
メッセージ ハンドラ
C_CAN
レジスタ群
割込み
データ出力
データ入力
アドレス[7:0]
制御
リセット
クロック
CPUインタフェース
■ CAN コントローラ
CAN プロトコルと送受信メッセージ転送のためのシリアル / パラレル変換用のシリア
ルレジスタを制御します。
■ メッセージ RAM
メッセージオブジェクトを格納します。
■ レジスタ群
CAN で使用されるすべてのレジスタです。
■ メッセージハンドラ
メッセージ RAM と CAN コントローラを制御します。
■ CPU インタフェース
FR ファミリ内部バスのインタフェースを制御します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
335
第 14 章 CAN コントローラ
14.3 CAN のレジスタ
14.3
MB91461
CAN のレジスタ
CAN には , 以下のレジスタがあります。
• CAN 制御レジスタ (CTRLR)
• CAN ステータスレジスタ (STATR)
• CAN エラーカウンタ (ERRCNT)
• CAN ビットタイミングレジスタ (BTR)
• CAN 割込みレジスタ (INTR)
• CAN テストレジスタ (TESTR)
• CAN プリスケーラ拡張レジスタ (BRPE)
• IFx コマンド要求レジスタ (IFxCREQ)
• IFx コマンドマスクレジスタ (IFxCMSK)
• IFx マスクレジスタ 1, 2 (IFxMSK1, IFxMSK2)
• IFx アービトレーション 1, 2 (IFxARB1, IFxARB2)
• IFx メッセージ制御レジスタ (IFxMCTR)
• IFx データレジスタ A1, A2, B1, B2 (IFxDTA1, IFxDTA2, IFxDTB1, IFxDTB2)
• CAN 送信要求レジスタ 1, 2 (TREQR1, TREQR2)
• CAN New Data レジスタ 1, 2 (NEWDT1, NEWDT2)
• CAN 割込みペンディングレジスタ 1, 2 (INTPND1, INTPND2)
• CAN メッセージ有効レジスタ 1, 2 (MSGVAL1, MSGVAL2)
• CAN クロックプリスケーラレジスタ (CANPRE)
336
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.3 CAN のレジスタ
MB91461
■ 全体制御レジスタ一覧
表 14.3-1 全体制御レジスタ一覧
レジスタ
アドレス
+0
+1
CAN 制御レジスタ
ベースアドレス
+ 00H
初期値
初期値
bit15 ∼ bit8
bit7 ∼ bit0
予約
00000000B
CTRLR
予約
00000000B
STATR
00000001B
初期値
初期値
CM71-10159-2
−
00000000B
CAN ビットタイミングレジスタ
bit15 ∼ bit8
bit7 ∼ bit0
bit15 ∼ bit8
bit7 ∼ bit0
RP, REC[6:0]
TEC[7:0]
TSeg2[2:0],
TSeg1[3:0]
SJW[1:0],
BRP[5:0]
00000000B
00000000B
00100011B
00000001B
CAN テストレジスタ
bit15 ∼ bit8
bit7 ∼ bit0
bit15 ∼ bit8
bit7 ∼ bit0
IntId15 ∼
IntId8
IntId7 ∼
IntId0
予約
TESTR
00000000B
00000000B
00000000B
00000000B
r0000000B
CAN プリスケーラ拡張レジスタ
ベースアドレス
+ 0CH
コメント
CAN ステータスレジスタ
bit7 ∼ bit0
CAN 割込みレジスタ
ベースアドレス
+ 08H
+3
bit15 ∼ bit8
CAN エラーカウンタ
ベースアドレス
+ 04H
+2
予約
bit15 ∼ bit8
bit7 ∼ bit0
bit15 ∼ bit8
bit7 ∼ bit0
予約
BRP3 ∼ BRP0
予約
予約
00000000B
00000000B
00000000B
00000000B
FUJITSU MICROELECTRONICS LIMITED
エラーカウンタは
読出し専用です。
ビットタイミング
レジスタは , CCE
により書込み可能
となります。
割込みレジスタは
読出し専用です。
テストレジスタは
TSET により使用
できます。
TESTR の "r" は
CAN_RX 端子の
値を意味します。
プリスケーラ拡張
レジスタは CCE
により書込み可能
となります。
337
第 14 章 CAN コントローラ
14.3 CAN のレジスタ
MB91461
■ メッセージインタフェースレジスタ一覧
表 14.3-2 メッセージインタフェースレジスタ一覧 (1 / 2)
アドレス
ベースアドレス
+ 10H
初期値
レジスタ
+0
+1
IF1 コマンド要求レジスタ
初期値
+3
コメント
IF1 コマンドマスクレジスタ
bit15 ∼ bit8
bit7 ∼ bit0
bit15 ∼ bit8
bit7 ∼ bit0
BUSY
Mess.No.5 ∼ 0
IF1CMSK
00000000B
00000001B
予約
00000000B
IF1 マスクレジスタ 2
ベースアドレス
+ 14H
+2
−
00000000B
IF1 マスクレジスタ 1
bit15 ∼ bit8
bit7 ∼ bit0
bit15 ∼ bit8
bit7 ∼ bit0
MXtd. MDir,
Msk28 ∼
Msk24
Msk23 ∼
Msk16
Msk15 ∼ Msk8
Msk7 ∼ Msk0
11111111B
11111111B
11111111B
11111111B
−
IF1 アービトレーションレジスタ 2 IF1 アービトレーションレジスタ 1
ベースアドレス
+ 18H
初期値
ベースアドレス
+ 1CH
初期値
ベースアドレス
+ 20H
初期値
bit15 ∼ bit8
bit7 ∼ bit0
bit15 ∼ bit8
bit7 ∼ bit0
MsgVal, Xtd,
Dir,
ID28 ∼ ID24
ID23 ∼ ID16
ID15 ∼ ID8
ID7 ∼ ID0
00000000B
00000000B
00000000B
00000000B
IF1 メッセージ制御レジスタ
予約
bit15 ∼ bit8
bit7 ∼ bit0
bit15 ∼ bit8
bit7 ∼ bit0
IF1MCTR
IF1MCTR
00000000B
00000000B
予約
00000000B
予約
00000000B
IF1 データレジスタ A1
IF1 データレジスタ A2
bit15 ∼ bit8
bit7 ∼ bit0
bit15 ∼ bit8
bit7 ∼ bit0
Data[0]
Data[1]
Data[2]
Data[3]
00000000B
00000000B
00000000B
00000000B
IF1 データレジスタ B1
IF1 データレジスタ B2
ベースアドレス
+ 24H
bit15 ∼ bit8
Data[4]
Data[5]
Data[6]
Data[7]
初期値
00000000B
00000000B
00000000B
00000000B
bit7 ∼ bit0
IF1 データレジスタ A2
bit15 ∼ bit8
bit7 ∼ bit0
IF1 データレジスタ A1
ベースアドレス
+ 30H
bit15 ∼ bit8
Data[3]
Data[2]
Data[1]
Data[0]
初期値
00000000B
00000000B
00000000B
00000000B
bit7 ∼ bit0
IF1 データレジスタ B2
bit15 ∼ bit8
bit7 ∼ bit0
IF1 データレジスタ B1
ベースアドレス
+ 34H
bit15 ∼ bit8
Data[7]
Data[6]
Data[5]
Data[4]
初期値
00000000B
00000000B
00000000B
00000000B
338
bit7 ∼ bit0
−
bit15 ∼ bit8
bit7 ∼ bit0
FUJITSU MICROELECTRONICS LIMITED
−
ビッグ
エンディアン
バイト
ビッグ
エンディアン
バイト
リトル
エンディアン
バイト
リトル
エンディアン
バイト
CM71-10159-2
第 14 章 CAN コントローラ
14.3 CAN のレジスタ
MB91461
表 14.3-2 メッセージインタフェースレジスタ一覧 (2 / 2)
アドレス
ベースアドレス
+ 40H
初期値
レジスタ
+0
+1
IF2 コマンド要求レジスタ
初期値
ベースアドレス
+ 48H
初期値
ベースアドレス
+ 4CH
初期値
+3
bit7 ∼ bit0
bit15 ∼ bit8
bit7 ∼ bit0
BUSY
Mess.No.5 ∼ 0
IF2CMSK
00000000B
00000001B
予約
00000000B
IF2 マスクレジスタ 1
bit15 ∼ bit8
bit7 ∼ bit0
bit15 ∼ bit8
bit7 ∼ bit0
MXtd. MDir,
Msk28 ∼
Msk24
Msk23 ∼
Msk16
Msk15 ∼ Msk8
Msk7 ∼ Msk0
11111111B
11111111B
11111111B
11111111B
bit15 ∼ bit8
bit7 ∼ bit0
bit15 ∼ bit8
bit7 ∼ bit0
IF2MCTR
IF2MCTR
00000000B
00000000B
予約
00000000B
予約
00000000B
IF2 メッセージ制御レジスタ
bit15 ∼ bit8
bit7 ∼ bit0
bit15 ∼ bit8
bit7 ∼ bit0
IF2MCTR
IF2MCTR
00000000B
00000000B
予約
00000000B
予約
00000000B
IF2 データレジスタ A1
IF2 データレジスタ A2
Data[0]
Data[1]
Data[2]
Data[3]
初期値
00000000B
00000000B
00000000B
bit15 ∼ bit8
IF2 データレジスタ B1
bit7 ∼ bit0
bit15 ∼ bit8
IF2 データレジスタ B2
bit7 ∼ bit0
bit15 ∼ bit8
bit7 ∼ bit0
bit15 ∼ bit8
Data[4]
Data[5]
Data[6]
Data[7]
00000000B
00000000B
00000000B
00000000B
IF2 データレジスタ A2
IF2 データレジスタ A1
ベースアドレス
+ 60H
bit15 ∼ bit8
Data[3]
Data[2]
Data[1]
Data[0]
初期値
00000000B
00000000B
00000000B
00000000B
bit7 ∼ bit0
IF2 データレジスタ B2
bit15 ∼ bit8
bit7 ∼ bit0
IF2 データレジスタ B1
ベースアドレス
+ 64H
bit15 ∼ bit8
Data[7]
Data[6]
Data[5]
Data[4]
初期値
00000000B
00000000B
00000000B
00000000B
bit7 ∼ bit0
−
予約
00000000B
CM71-10159-2
−
IF2 アービトレーションレジスタ 2 IF2 アービトレーションレジスタ 1
bit7 ∼ bit0
初期値
−
00000000B
ベースアドレス
+ 50H
ベースアドレス
+ 54H
コメント
IF2 コマンドマスクレジスタ
bit15 ∼ bit8
IF2 マスクレジスタ 2
ベースアドレス
+ 44H
+2
bit15 ∼ bit8
bit7 ∼ bit0
FUJITSU MICROELECTRONICS LIMITED
−
ビッグ
エンディアン
バイト
ビッグ
エンディアン
バイト
リトル
エンディアン
バイト
リトル
エンディアン
バイト
339
第 14 章 CAN コントローラ
14.3 CAN のレジスタ
MB91461
■ メッセージハンドラレジスタ一覧
表 14.3-3 メッセージハンドラレジスタ一覧 (1 / 2)
レジスタ
アドレス
コメント
+0
+1
CAN 送信要求レジスタ 2
ベースアドレス
+ 80H
初期値
+2
+3
CAN 送信要求レジスタ 1
bit15 ∼ bit8
bit7 ∼ bit0
bit15 ∼ bit8
bit7 ∼ bit0
TxRqst32 ∼
TxRqst25
TxRqst24 ∼
TxRqst17
TxRqst16 ∼
TxRqst9
TxRqst8 ∼
TxRqst1
00000000B
00000000B
00000000B
00000000B
送信要求レジスタ
はリードオンリで
す。
ベースアドレス
+ 84H
ベースアドレス
+ 88H
予約 ( メッセージバッファ数が 33 以上の場合に使用 )
−
ベースアドレス
+ 8CH
ベースアドレス
+ 90H
初期値
CAN データ更新レジスタ 2
CAN データ更新レジスタ 1
bit15 ∼ bit8
bit7 ∼ bit0
bit15 ∼ bit8
bit7 ∼ bit0
NewDat32 ∼
NewDat25
NewDat24 ∼
NewDat17
NewData16 ∼
NewDat9
NewData8 ∼
NewDat1
00000000B
00000000B
00000000B
00000000B
データ更新レジス
タはリードオンリ
です。
ベースアドレス
+ 94H
ベースアドレス
+ 98H
予約 ( メッセージバッファ数が 33 以上の場合に使用 )
−
ベースアドレス
+ 9CH
CAN 割込みペンディングレジスタ 2 CAN 割込みペンディングレジスタ 1 割込みペンディン
ベースアドレス
+ A0H
bit15 ∼ bit8
bit7 ∼ bit0
bit15 ∼ bit8
bit7 ∼ bit0
IntPnd32 ∼
IntPnd25
IntPnd24 ∼
IntPnd17
IntPnd16 ∼
IntPnd9
IntPnd8 ∼
IntPnd1
初期値
00000000B
00000000B
00000000B
00000000B
グレジスタはリー
ドオンリです。
ベースアドレス
+ A4H
ベースアドレス
+ A8H
予約 ( メッセージバッファ数が 33 以上の場合に使用 )
−
ベースアドレス
+ ACH
340
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.3 CAN のレジスタ
MB91461
表 14.3-3 メッセージハンドラレジスタ一覧 (2 / 2)
レジスタ
アドレス
コメント
+0
ベースアドレス
+ B0H
+1
+2
+3
CAN メッセージ有効レジスタ 2 CAN メッセージ有効レジスタ 1 メッセージ有効レ
ジスタはリードオ
bit15 ∼ bit8
bit7 ∼ bit0
bit15 ∼ bit8
bit7 ∼ bit0
ンリです。
MsgVal32 ∼
MsgVal25
MsgVal24 ∼
MsgVal17
MsgVal16 ∼
MsgVal9
MsgVal8 ∼
MsgVal1
00000000B
00000000B
00000000B
00000000B
ベースアドレス
+ B4H
ベースアドレス
+ B8H
予約 ( メッセージバッファ数が 33 以上の場合に使用 )
−
ベースアドレス
+ BCH
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
341
第 14 章 CAN コントローラ
14.3 CAN のレジスタ
MB91461
■ クロックプリスケーラレジスタ
表 14.3-4 クロックプリスケーラレジスタ
レジスタ
アドレス
0004C0H
初期値
342
+0
+1
+2
+3
CAN プリス
ケーラレジスタ
−
−
−
bit3 ∼ bit0
−
−
−
CANPRE[3:0]
−
−
−
00000000B
−
−
−
FUJITSU MICROELECTRONICS LIMITED
コメント
CAN
プリスケーラ
CM71-10159-2
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
14.4
CAN レジスタ機能
CAN レジスタには , 256 バイト (64 ワード ) のアドレス空間が割り当てられていま
す。メッセージ RAM への CPU のアクセスは , メッセージインタフェースレジスタ
を介して行います。
以下に , CAN レジスタを掲載し , それぞれのレジスタの詳細機能を記載します。
■ 全体制御レジスタ
• CAN 制御レジスタ (CTRLR)
• CAN ステータスレジスタ (STATR)
• CAN エラーカウンタ (ERRCNT)
• CAN ビットタイミングレジスタ (BTR)
• CAN 割込みレジスタ (INTR)
• CAN テストレジスタ (TESTR)
• CAN プリスケーラ拡張レジスタ (BRPER)
■ メッセージインタフェースレジスタ
• IFx コマンド要求レジスタ (IFxCREQ)
• IFx コマンドマスクレジスタ (IFxCMSK)
• IFx マスクレジスタ 1, 2 (IFxMSK1, IFxMSK2)
• IFx アービトレーションレジスタ 1, 2 (IFxARB1, IFxARB2)
• IFx メッセージ制御レジスタ (IFxMCTR)
• IFx データレジスタ A1, A2, B1, B2 (IFxDTA1, IFxDTA2, IFxDTB1, IFxDTB2)
■ メッセージハンドラレジスタ
• CAN 送信要求レジスタ 1, 2 (TREQR1, TREQR2)
• CAN データ更新レジスタ 1, 2 (NEWDT1, NEWDT2)
• CAN 割込みペンディングレジスタ 1, 2 (INTPND1, INTPND2)
• CAN メッセージ有効レジスタ 1, 2 (MSGVAL1, MSGVAL2)
■ プリスケーラレジスタ
CAN クロックプリスケーラレジスタ (CANPRE)
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
343
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
14.4.1
MB91461
全体制御レジスタ
全体制御レジスタは , CAN プロトコル制御および動作モードを制御し , ステータス
情報を提供します。
■ 全体制御レジスタ
• CAN 制御レジスタ (CTRLR)
• CAN ステータスレジスタ (STATR)
• CAN エラーカウンタ (ERRCNT)
• CAN ビットタイミングレジスタ (BTR)
• CAN 割込みレジスタ (INTR)
• CAN テストレジスタ (TESTR)
• CAN プリスケーラ拡張レジスタ (BRPER)
344
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
14.4.1.1
CAN 制御レジスタ (CTRLR)
CAN 制御レジスタ (CTRLR) は , CAN コントローラの動作モードを制御します。
■ レジスタ構成
図 14.4-1 CAN 制御レジスタ (CTRLR) のレジスタ構成
CAN 制御レジスタ ( 上位バイト )
bit
アドレス : Base + 00H
リード / ライト→
初期値→
15
14
13
12
11
10
9
8
予約
R
0
予約
R
0
予約
R
0
予約
R
0
予約
R
0
予約
R
0
予約
R
0
予約
R
0
4
3
2
1
0
予約
R
0
EIE
R/W
0
SIE
R/W
0
IE
R/W
0
Init
R/W
0
CAN 制御レジスタ ( 下位バイト )
bit
アドレス : Base + 01H
リード / ライト→
初期値→
7
6
5
Test
R/W
0
CCE
R/W
0
DAR
R/W
0
■ レジスタ機能
[bit15 ∼ bit8] 予約 : 予約ビット
これらのビットからは , 00000000B が読み出されます。
書込みの場合には , 00000000B を設定してください。
[bit7] Test : テストモード許可ビット
Test
機能
0
通常動作 [ 初期値 ]
1
テストモード
[bit6] CCE : ビットタイミングレジスタ書込み許可ビット
CCE
CM71-10159-2
機能
0
CAN ビットタイミングレジスタおよび CAN プリスケーラ拡張レジ
スタへの書込みを禁止します。[ 初期値 ]
1
CAN ビットタイミングレジスタおよび CAN プリスケーラ拡張レジ
スタへの書込みを許可します。Init ビットが "1" のときに有効です。
FUJITSU MICROELECTRONICS LIMITED
345
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
[bit5] DAR : 自動再送禁止ビット
DAR
機能
0
調停負けまたはエラー検出時のメッセージの自動再送を許可しま
す。[ 初期値 ]
1
自動再送を禁止します。
CAN 仕様 (「ISO11898, 6.3.3 リカバリ処理」を参照 ) より , CAN コントローラは調
停負けあるいは転送中のエラー検出によりフレームの自動再送を行います。自動再
送する場合は , DAR ビットを "0" にリセットします。CAN を Time Triggered CAN
(「TTCAN, ISO11898-1」を参照 ) 環境で動作させるためには , DAR ビットに "1" を
設定する必要があります。
DAR ビットに "1" を設定したモードでは , メッセージオブジェクト ( メッセージオ
ブジェクトについては「14.4.3 メッセージオブジェクト」を参照 ) の TxRqst ビット
と NewDat ビットの動作が異なります。
• フレーム送信を開始したとき , メッセージオブジェクトの TxRqst が "0" にリセッ
トされますが , NewDat ビットは設定されたままです。
• フレーム送信が正常終了すると NewDat は "0" にリセットされます。
• 送信が調停負けもしくはエラーを検出すると , NewDat は設定されたままです。
送信を再開するためには , CPU により TxRqst に "1" を設定する必要があります。
[bit4] 予約 : 予約ビット
このビットからは , "0" が読み出されます。
書込みの場合には , "0" を設定してください。
[bit3] EIE : エラー割込みコード許可ビット
346
EIE
機能
0
CAN ステータスレジスタの BOff または EWarn ビットの変化により ,
CAN 割込みレジスタへの割込みコードの設定を禁止します。
[ 初期値 ]
1
CAN ステータスレジスタの BOff または EWarn ビットの変化により ,
CAN 割込みレジスタへのステータス割込みコードの設定を許可しま
す。
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
[bit2] SIE : ステータス割込みコード許可ビット
SIE
機能
0
CAN ステータスレジスタの TxOk, RxOk または LEC ビットの変化に
より , CAN 割込みレジスタへの割込みコードの設定を禁止します。
[ 初期値 ]
1
CAN ステータスレジスタの TxOk, RxOk または LEC ビットの変化に
より , CAN 割込みレジスタへのステータス割込みコードの設定を許
可します。
CPU からの書込みによって発生した TxOk, RxOk, LEC ビットの変化
は CAN 割込みレジスタには設定されません。
[bit1] IE : 割込み許可ビット
IE
機能
0
割込みの発生を禁止します。[ 初期値 ]
1
割込みの発生を許可します。
[bit0] Init : 初期化ビット
Init
機能
0
CAN コントローラ動作可能
1
初期化 [ 初期値 ]
• バスオフリカバリシーケンス (「CAN 仕様 Rev. 2.0」を参照 ) を , Init ビットの設
定/解除によって短縮することはできません。デバイスがバスオフになると, CAN
コントローラ自身が Init ビットを "1" に設定し , すべてのバス動作を停止させま
す。バスオフ状態から Init ビットを "0" にクリアすると , バスアイドルが連続的
に 129 回 (11 ビットのレセッシブを 1 回とする ) 発生するまでバス動作を停止状
態にします。バスオフリカバリシーケンス実行後 , エラーカウンタはリセットさ
れます。
• CAN ビットタイミングレジスタへの書込みは , Init および CCE ビットに "1" を設
定してから行ってください。
• 低消費電力モード ( 停止モード , クロックモード ) を使用する場合は , 低消費電
力モードへ遷移する前に INIT ビットに "1" を書き込んで CAN コントローラの初
期化を行ってください。
• CAN プリスケーラレジスタにより , CAN インタフェースに供給するクロック
(CAN クロック ) の分周比を変更する場合は , INIT ビットに "1" を設定した後に
CAN プリスケーラレジスタの変更を行ってください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
347
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
14.4.1.2
MB91461
CAN ステータスレジスタ (STATR)
CAN ステータスレジスタ (STATR) は , CAN ステータスおよび CAN バス状態を表示
します。
■ レジスタ構成
図 14.4-2 CAN ステータスレジスタ (STATR) のレジスタ構成
CAN ステータスレジスタ ( 上位バイト )
bit
アドレス : Base + 02H
リード / ライト→
初期値→
15
14
13
12
11
10
9
8
予約
R
0
予約
R
0
予約
R
0
予約
R
0
予約
R
0
予約
R
0
予約
R
0
予約
R
0
2
1
0
R/W
0
LEC
R/W
0
R/W
0
CAN ステータスレジスタ ( 下位バイト )
bit
アドレス : Base + 03H
リード / ライト→
初期値→
7
6
5
4
3
BOff
R
0
EWarn
EPass
R
0
RxOk
R/W
0
TxOk
R/W
0
R
0
■ レジスタ機能
[bit15 ∼ bit8] 予約 : 予約ビット
これらのビットからは , "0" が読み出されます。
書込みの場合には , "0" を設定してください。
[bit7] BOff : バスオフビット
BOff
機能
0
CAN コントローラはバスオフ状態ではない ( バスアクティブ )
[ 初期値 ]
1
CAN コントローラはバスオフ状態
[bit6] EWarn : ウォーニングビット
EWarn
348
機能
0
送信 , 受信カウンタはいずれも 96 未満 [ 初期値 ]
1
送信または受信カウンタが 96 以上
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
[bit5] EPass: エラーパッシブビット
EPass
機能
0
送信 , 受信カウンタはいずれも 128 未満
( エラーアクティブ状態 ) [ 初期値 ]
1
受信カウンタは RP ビット= 1, 送信カウンタが 128 以上
( エラーパッシブ状態 )
[bit4] RxOk : メッセージ正常受信ビット
RxOk
機能
0
メッセージ受信は異常 , またはバスアイドル状態 [ 初期値 ]
1
メッセージ受信は正常
[bit3] TxOk : メッセージ正常送信ビット
TxOk
機能
0
メッセージ送信は異常 , またはバスアイドル状態 [ 初期値 ]
1
メッセージ送信は正常
<注意事項>
RxOk および TxOk ビットは , CPU によってのみリセットされます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
349
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
[bit2 ∼ bit0] LEC : ラストエラーコードビット
LEC
状態
機能
000B
正常
正常に送信または受信されたことを示します。
[ 初期値 ]
001B
Stuff エラー
メッセージ内において 6 ビット以上連続してドミナン
トまたはレセッシブを検出したことを示します。
010B
Form エラー
受信フレームの固定フォーマット部が誤って受信され
たことを示します。
011B
Ack エラー
送信メッセージに対し , 他のノードからアクノリッジ
されなかったことを示します。
100B
bit1 エラー
調停フィールドを除くメッセージの送信データにおい
て , レセッシブを送信したにもかかわらずドミナント
を検出したことを示します。
101B
bit0 エラー
メッセージの送信データにおいて , ドミナントを送信
したにもかかわらずレセッシブを検出したことを示し
ます。バスリカバリ中には , 11 ビットのレセッシブを
検出するごとにセットされます。このビットを読み出
すことによりバスリカバリシーケンスを監視できます。
110B
CRC エラー
受信したメッセージの CRC データと計算した CRC の
結果が一致しなかったことを示します。
CPU によって LEC ビットに 111B の書込みを行ってか
111B
未検出
ら , LEC ビットの読出し値が 111B の場合は , その期間
には送受信が行われなかったことを示します ( バスア
イドル状態 ) 。
LEC ビットは CAN バス上で発生した最後のエラーを示すコードを保持します。メッ
セージがエラーなしで転送 ( 受信 / 送信 ) 完了すると 000B に設定されます。未検出
コード 111B は , コード更新をチェックするために CPU で設定してください。
• ステータス割込みコード (8000H) は , EIE ビットが "1" のときに BOff または EWarn
ビットが変化した場合 , あるいはSIEビットが"1"のときにRxOk, TxOk, LECビッ
トのいずれかが変化した場合 , CAN 割込みレジスタに設定されます。
• RxOk, TxOk ビットは CPU の書込みによって更新されますので , CAN コントロー
ラによってセットされた RxOk, TxOk ビットは保持されません。RxOk, TxOk ビット
を使用する場合には , RxOk または TxOk ビットが "1" に設定されてから (45 × BT)
時間以内にクリアしてください。BT は 1 ビットタイムを示します。
• SIE ビットが "1" のとき , LEC ビットの変化による割込みが発生した場合には ,
CAN ステータスレジスタには書き込まないでください。
• EPass ビットの変化 , あるいは RxOk, TxOk, LEC ビットへの CPU 書込み動作では
発生しません。
• BOff ビットまたは EPass ビットが "1" になっても EWarn ビットは "1" に設定さ
れています。
• このレジスタを読み出すことにより , CAN 割込みレジスタのステータス割込み
(8000H) はクリアされます。
350
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
14.4.1.3
CAN エラーカウンタ (ERRCNT)
CAN エラーカウンタ (ERRCNT) は , 受信エラーパッシブ表示および受信エラーカウ
ンタ , 送信エラーカウンタを示します。
■ レジスタ構成
図 14.4-3 CAN エラーカウンタ (ERRCNT) のレジスタ構成
CAN エラーカウンタレジスタ ( 上位バイト )
bit
アドレス : Base + 04H
リード / ライト→
初期値→
15
14
13
12
11
10
9
8
RP
R
0
R
0
R
0
REC6 ∼ REC0
R
R
R
0
0
0
R
0
R
0
4
2
1
0
R
0
R
0
R
0
CAN エラーカウンタレジスタ ( 下位バイト )
bit
7
6
5
R
0
R
0
R
0
アドレス : Base + 05H
リード / ライト→
初期値→
3
TEC7 ∼ TEC0
R
R
0
0
■ レジスタ機能
[bit15] RP : 受信エラーパッシブ表示
RP
機能
0
受信エラーカウンタは CAN 仕様でのエラーパッシブ状態ではない
[ 初期値 ]
1
受信エラーカウンタは CAN 仕様でのエラーパッシブ状態
[bit14 ∼ bit8] REC6 ∼ REC0 : 受信エラーカウンタ
受信エラーカウンタ値。受信エラーカウンタ値の範囲は 0 ∼ 127 です。
[bit7 ∼ bit0] TEC7 ∼ TEC0 : 送信エラーカウンタ
送信エラーカウンタ値。送信エラーカウンタ値の範囲は 0 ∼ 255 です。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
351
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
14.4.1.4
MB91461
CAN ビットタイミングレジスタ (BTR)
CAN ビットタイミングレジスタ (BTR) は , プリスケーラおよびビットタイミングを
設定します。
■ レジスタ構成
図 14.4-4 CAN ビットタイミングレジスタ (BTR) のレジスタ構成
CAN ビットタイミングレジスタ ( 上位バイト )
bit
アドレス : Base + 06H
リード / ライト→
初期値→
15
14
13
12
11
10
9
8
予約
R
0
R/W
0
TSeg2
R/W
1
R/W
0
R
0
R
0
R
1
R
1
4
3
2
1
0
R/W
0
R/W
1
TSeg1
CAN ビットタイミングレジスタ ( 下位バイト )
bit
アドレス : Base + 07H
リード / ライト→
初期値→
7
6
SJW
R/W
R/W
0
0
5
R/W
0
R/W
0
BRP
R/W
R/W
0
0
CAN ビットタイミングレジスタおよび CAN プリスケーラ拡張レジスタの設定は , CAN
制御レジスタのCCEビットとInitビットが"1"に設定されているときに行ってください。
352
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
■ レジスタ機能
[bit15] 予約 : 予約ビット
このビットからは , "0" が読み出されます。
書込みの場合には , "0" を設定してください。
[bit14 ∼ bit12] TSeg2 : タイムセグメント 2 設定ビット
有効設定値は 0 ∼ 7 です。TSeg2 + 1 の値がタイムセグメント 2 になります。
タイムセグメント 2 は , CAN 仕様のフェーズバッファセグメント (PHASE_SEG2) に
相当します。
[bit11 ∼ bit8] TSeg1 : タイムセグメント 1 設定ビット
有効設定値は 1 ∼ 15 です。"0" の設定は禁止です。TSeg1 + 1 の値がタイムセグメ
ント 1 になります。
タイムセグメント 1 は , CAN 仕様のプロパゲーションセグメント (PROP_SEG) +
フェーズバッファセグメント 1 (PHASE_SEG1) に相当します。
[bit7, bit6] SJW : 再同期化ジャンプ幅設定ビット
有効設定値は 0 ∼ 3 です。SJW + 1 の値が再同期ジャンプ幅となります。
[bit5 ∼ bit0] BRP : ボーレートプリスケーラ設定ビット
有効設定値は 0 ∼ 63 です。BRP + 1 の値がボーレートプリスケーラになります。
CAN クロック (fsys) を分周して , CAN コントローラの基本単位時間 (tq) を決定しま
す。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
353
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
14.4.1.5
MB91461
CAN 割込みレジスタ (INTR)
CAN 割込みレジスタ (INTR) は , メッセージ割込みコードおよびステータス割込み
コードを表示します。
■ レジスタ構成
図 14.4-5 CAN 割込みレジスタ (INTR) のレジスタ構成
CAN 割込みレジスタ ( 上位バイト )
bit
15
14
13
R
0
R
0
R
0
6
5
アドレス : Base + 08H
リード / ライト→
初期値→
12
11
IntId15 ∼ Intld8
R
R
0
0
10
9
8
R
0
R
0
R
0
2
1
0
R
0
R
0
R
0
CAN 割込みレジスタ ( 下位バイト )
bit
7
アドレス : Base + 09H
リード / ライト→
初期値→
354
R
0
R
0
R
0
4
3
IntId7 ∼ Intld0
R
R
0
0
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
■ レジスタ機能
表 14.4-1 CAN 割込みレジスタ (INTR) のレジスタ機能
IntId
機能
0000H
割込みなし
0001H ∼ 0020H
メッセージ割込みコード
( 割込み要因はメッセージオブジェクトの番号 )
0021H ∼ 7FFFH
未使用
8000H
ステータス割込みコード
(CAN ステータスレジスタの変化による割込み )
8001H ∼ FFFFH
未使用
複数の割込みコードが保留中である場合 , CAN 割込みレジスタは優先度の高い割込み
コードを示します。割込みコードが CAN 割込みレジスタに設定されている場合におい
ても , 優先度の高い割込みコードが発生すると , CAN 割込みレジスタは優先度の高い
割込みコードに更新されます。
優先度の高い割込みコードは , ステータス割込みコード (8000H), メッセージ割込み
(0001H, 0002H, 0003H, ……, 0040H) の順になります。
IntId ビットが 0000H 以外のときに , CAN 制御レジスタの IE ビットが "1" に設定される
と , CPU への割込み信号が有効になります。IntId の値が 0000H になる ( 割込み要因が
リセットされる ) もしくは CAN 制御レジスタの IE ビットが "0" にリセットされると ,
割込み信号は無効になります。
対象となるメッセージオブジェクト ( メッセージオブジェクトについては
「14.4.3 メッ
セージオブジェクト」を参照 ) の IntPnd ビットを "0" にクリアすると , メッセージ割込
みコードはクリアされます。
ステータス割込みコードは CAN ステータスレジスタを読み出すとクリアされます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
355
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
14.4.1.6
MB91461
CAN テストレジスタ (TESTR)
CAN テストレジスタ (TESR) レジスタは , テストモードの設定および RX 端子のモ
ニタを行います。動作については , 「14.5.7 テストモード」を参照してください。
■ レジスタ構成
図 14.4-6 CAN テストレジスタ (TESTR) のレジスタ構成
CAN テストレジスタ ( 上位バイト )
bit
アドレス : Base + 0AH
リード / ライト→
初期値→
15
14
13
12
11
10
9
8
予約
R
0
予約
R
0
予約
R
0
予約
R
0
予約
R
0
予約
R
0
予約
R
0
予約
R
0
7
6
5
4
3
2
1
0
Rx
R
(r)
Tx1
R/W
0
Tx0
R/W
0
LBack
R/W
0
Silent
R/W
0
Basic
R/W
0
予約
R
0
予約
R
0
CAN テストレジスタ ( 下位バイト )
bit
アドレス : Base + 0BH
リード / ライト→
初期値→
bit7 の Rx の初期値 (r) は , CAN バス上のレベルが表示されます。
CAN テストレジスタ (TESTR) への書込みは , CAN 制御レジスタ (CTRLR) の Test ビッ
トを "1" に設定した後に行ってください。テストモードが有効となるのは , CAN 制御
レジスタの Test ビットが "1" のときです。テストモードの途中で CAN 制御レジスタの
Test ビットを "0" にするとテストモードから通常モードになります。
■ レジスタ機能
[bit15 ∼ bit8] 予約 : 予約ビット
これらのビットからは , 00000000B が読み出されます。
書込みの場合には , 00000000B を設定してください。
[bit7] Rx : Rx 端子モニタビット
Rx
356
機能
0
CAN バスはドミナントであることを示します。
1
CAN バスはレセッシブであることを示します。
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
[bit6, bit5] Tx1, Tx0 : TX 端子制御ビット
Tx1, Tx0
機能
00B
通常動作 [ 初期値 ]
01B
サンプリングポイントが Tx 端子に出力されます。
10B
TX 端子にドミナントを出力します。
11B
TX 端子にレセッシブを出力します。
Tx ビットを 00B 以外に設定した場合は , メッセージを送信することはできません。
[bit4] LBack : ループバックモード
LBack
機能
0
ループバックモードを禁止します。[ 初期値 ]
1
ループバックモードを許可します。
[bit3] Silent : サイレントモード
Silent
機能
0
サイレントモードを禁止します。[ 初期値 ]
1
サイレントモードを許可します。
[bit2] Basic : ベーシックモード
Basic
機能
0
ベーシックモードを禁止します。[ 初期値 ]
1
ベーシックモードを許可します。
IF1 レジスタは送信メッセージとして , IF2 レジスタは受信メッセージ
として使用されます。
[bit1, bit0] 予約 : 予約ビット
これらのビットからは , 00B が読み出されます。
書込みの場合には , 00B を設定してください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
357
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
14.4.1.7
MB91461
CAN プリスケーラ拡張レジスタ (BRPER)
CAN プリスケーラ拡張レジスタ (BRPER) は , CAN ビットタイミングで設定したプ
リスケーラと組み合せることにより , CAN コントローラで使用するプリスケーラを
拡張します。
■ レジスタ構成
図 14.4-7 CAN プリスケーラ拡張レジスタ (BRPER) のレジスタ構成
CAN プリスケーラ拡張レジスタ ( 上位バイト )
bit
アドレス : Base + 0CH
リード / ライト→
初期値→
15
14
13
12
11
10
9
8
予約
R
0
予約
R
0
予約
R
0
予約
R
0
予約
R
0
予約
R
0
予約
R
0
予約
R
0
2
1
0
CAN プリスケーラ拡張レジスタ ( 下位バイト )
bit
アドレス : Base + 0DH
リード / ライト→
初期値→
7
6
5
4
3
予約
R
0
予約
R
0
予約
R
0
予約
R
0
R/W
0
BRPE
R/W
R/W
0
0
R/W
0
■ レジスタ機能
[bit15 ∼ bit4] 予約 : 予約ビット
これらのビットからは , 000000000000B が読み出されます。
書込みの場合には , 000000000000B を設定してください。
[bit3 ∼ bit0] BRPE : ボーレートプリスケーラ拡張ビット
CAN ビットタイミングレジスタの BRP と BRPE を組み合せることにより , 1023 ま
でボーレートプリスケーラを拡張できます。
{BRPE(MSB:4 ビット ), BRP(LSB:6 ビット )} + 1 の値が CAN コントローラのプリ
スケール値となります。
358
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
14.4.2
メッセージインタフェースレジスタ
CPU からメッセージ RAM へのアクセスを制御するための 2 組のメッセージインタ
フェースレジスタがあります。
メッセージ RAM への CPU アクセスを制御するために使用される 2 組のメッセージイ
ンタフェースレジスタがあります。この 2 組のレジスタは , 転送された ( する ) データ
( メッセージオブジェクト ) をバッファすることで , メッセージ RAM への CPU アクセ
スと CAN コントローラからのアクセスの競合を回避します。メッセージオブジェクト
( メッセージオブジェクトについては , 「14.4.3 メッセージオブジェクト」を参照 ) は ,
メッセージインタフェースレジスタとメッセージ RAM 間を一度に転送します。
テストベーシックモードを除き , 2 組のメッセージインタフェースレジスタの機能は同
一で , 独立して動作可能です。例えば , IF1 のメッセージインタフェースレジスタをメッ
セージRAMへの書込み動作中に, IF2のメッセージインタフェースレジスタをメッセー
ジ RAM からの読出しに使用することも可能です。表 14.4-2 に 2 組のメッセージイン
タフェースレジスタを示します。
メッセージインタフェースレジスタは , コマンドレジスタ ( コマンド要求 , コマンドマ
スクレジスタ ) と, このコマンドレジスタによって制御されるメッセージバッファレジ
スタ ( マスク , アービトレーション , メッセージ制御 , データレジスタ ) から構成され
ます。コマンドマスクレジスタは , データ転送の方向とメッセージオブジェクトのどの
部分が転送されるのかを示します。コマンド要求レジスタは, メッセージ番号の選択と,
コマンドマスクレジスタに設定された動作を行います。
表 14.4-2 IF1, IF2 メッセージインタフェースレジスタ
アドレス
CM71-10159-2
IF1 レジスタセット
アドレス
IF2 レジスタセット
Base + 10H IF1 コマンド要求
Base + 40H
IF2 コマンド要求
Base + 12H IF1 コマンドマスク
Base + 42H
IF2 コマンドマスク
Base + 14H IF1 マスク 2
Base + 44H
IF2 マスク 2
Base + 16H IF1 マスク 1
Base + 46H
IF2 マスク 1
Base + 18H IF1 アービトレーション 2
Base + 48H
IF2 アービトレーション 2
Base + 1AH IF1 アービトレーション 1
Base + 4AH
IF2 アービトレーション 1
Base + 1CH IF1 メッセージ制御
Base + 4CH
IF2 メッセージ制御
Base + 20H IF1 データ A1
Base + 50H
IF2 データ A1
Base + 22H IF1 データ A2
Base + 52H
IF2 データ A2
Base + 24H IF1 データ B1
Base + 54H
IF2 データ B1
Base + 26H IF1 データ B2
Base + 56H
IF2 データ B2
FUJITSU MICROELECTRONICS LIMITED
359
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
14.4.2.1
MB91461
IFx コマンド要求レジスタ (IFxCREQ)
IFx コマンド要求レジスタ (IFxCREQ) は , メッセージ RAM のメッセージ番号の選択
とメッセージ RAM とメッセージバッファレジスタ間の転送を行います。また , テス
トのベーシックモードでは , IF1 を送信制御用に , IF2 を受信制御用として使用します。
■ レジスタ構成
図 14.4-8 IFx コマンド要求レジスタ (IFxCREQ) のレジスタ構成
IFx コマンド要求レジスタ ( 上位バイト )
bit
15
14
13
12
11
10
9
8
予約
R
0
予約
R
0
予約
R
0
予約
R
0
予約
R
0
予約
R
0
予約
R
0
7
6
5
4
3
2
1
0
予約
R/W
0
予約
R/W
0
R/W
0
R/W
0
アドレス : Base + 10H Base + 40H
BUSY
リード / ライト→ R/W
0
初期値→
IFx コマンド要求レジスタ ( 下位バイト )
bit
アドレス : Base + 11H Base + 41H
リード / ライト→
初期値→
Message Number
R/W
R/W
R/W
0
0
0
R/W
0
■ レジスタ機能
IFx コマンド要求レジスタへメッセージ番号を書き込むとすぐにメッセージ RAM と
メッセージバッファレジスタ ( マスク , アービトレーション , メッセージ制御 , データ
レジスタ ) とのメッセージ転送が開始されます。この書込み動作で , BUSY ビットが
"1" に設定されて転送処理中であることを示します。その転送が終了すると, BUSYビッ
トが "0" にリセットされます。
BUSY ビットが "1" のときに , CPU からメッセージインタフェースレジスタへアクセス
が発生すると , BUSY ビットが "0" になるまで ( コマンド要求レジスタ書込み後 , Clock
で 3 ∼ 6 サイクル期間 ) , CPU をウェイトさせます。
テストのベーシックモードでは , BUSY ビットの使用方法が異なります。IF1 コマンド
要求レジスタは , 送信メッセージとして使用され , BUSY ビットに "1" を設定すること
によりメッセージ送信開始を指示します。メッセージ転送が正常に終了すると , BUSY
ビットは "0" にリセットされます。また , BUSY ビットを "0" にリセットすることによ
り , いつでもメッセージ転送を中断させることが可能です。
IF2 コマンド要求レジスタは , 受信メッセージとして使用され , BUSY ビットを "1" に
設定することにより , 受信したメッセージを IF2 メッセージインタフェースレジスタに
格納します。
360
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
[bit15] BUSY : ビジーフラグビット
• テストベーシックモード以外
BUSY
機能
0
メッセージインタフェースレジスタとメッセージ RAM 間でデー
タ転送処理を行っていないことを示します。[ 初期値 ]
1
メッセージインタフェースレジスタとメッセージ RAM 間でデー
タ転送処理中であることを示します。
• テストベーシックモード
- IF1 コマンド要求レジスタ
BUSY
機能
0
メッセージ送信を禁止します。
1
メッセージ送信を許可します。
- IF2 コマンド要求レジスタ
BUSY
機能
0
メッセージ受信を禁止します。
1
メッセージ受信を許可します。
BUSY ビットは , 読出し / 書込みが可能です。テストのベーシックモード時以外は ,
このビットに何を書いても動作に影響しません ( ベーシックモードについては ,
「14.5.7 テストモード」を参照 ) 。
[bit14 ∼ bit7] 予約 : 予約ビット
これらのビットからは , 00000000B が読み出されます。
書込みの場合には 00000000B を設定してください。
[bit5 ∼ bit0] Message Number : メッセージ番号
Message
Number
機能
設定禁止です。
設定した場合 , 20H として解釈され , 20H が読み出されます。
00H
01H ∼ 20H
処理を行うメッセージ番号を設定します。
21H ∼ 3FH
設定禁止です。
設定した場合 , 01H ∼ 1FH として解釈され , 解釈された値が読
み出されます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
361
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
14.4.2.2
MB91461
IFx コマンドマスクレジスタ (IFxCMSK)
IFx コマンドマスクレジスタ (IFxCMSK) は , メッセージインタフェースレジスタと
メッセージ RAM 間の転送方向を制御し , どのデータを更新するかを設定します。ま
た , テストのベーシックモードでは本レジスタは無効となります。
■ レジスタ構成
図 14.4-9 IFx コマンドマスクレジスタ (IFxCMSK) のレジスタ構成
IFx コマンドマスクレジスタ ( 上位バイト )
bit
アドレス : Base + 12H Base + 42H
リード / ライト→
初期値→
15
14
13
12
11
10
9
8
予約
R
0
予約
R
0
予約
R
0
予約
R
0
予約
R
0
予約
R
0
予約
R
0
予約
R
0
6
5
4
3
2
1
0
IFx コマンドマスクレジスタ ( 下位バイト )
bit
アドレス : Base + 13H Base + 43H
リード / ライト→
初期値→
7
WR/RD Mask
R/W
0
R/W
0
Arb
Control
CIP
TxRqst/
NewDat
R/W
0
R/W
0
R/W
0
R/W
0
Data A Data B
R/W
0
R/W
0
テストのベーシックモードではこのレジスタの設定は無効となります。
■ レジスタ機能
[bit15 ∼ bit8] 予約 : 予約ビット
これらのビットからは , 00000000B が読み出されます。
書込みの場合には 00000000B を設定してください。
362
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
[bit7] WR/RD : ライト / リード制御ビット
WR/RD
機能
0
メッセージ RAM からデータを読み出すことを示します。メッセー
ジ RAM からの読出しは IFx コマンド要求レジスタへの書込みに
よって実行されます。メッセージ RAM から読み出すデータは ,
Mask, Arb, Control, CIP, TxRqst/NewDat, Data A, Data B ビットの設定に
依存します。[ 初期値 ]
1
メッセージ RAM へデータを書き込むことを示します。メッセージ
RAM への書込みは IFx コマンド要求レジスタへの書込みによって実
行されます。メッセージ RAM への書込みデータは , Mask, Arb,
Control, CIP, TxRqst/NewDat, Data A, Data B ビットの設定に依存しま
す。
リセット後 , メッセージ RAM のデータは不定です。メッセージ RAM のデータが不
定状態でメッセージ RAM のデータを読み出すことは禁止です。
IFx コマンドマスクレジスタの bit6 ∼ bit0 は , 転送方向 (WR/RD ビット ) の設定に
より異なる意味があります。
● 転送方向がライトの場合 (WR/RD = 1)
[bit6] Mask : マスクデータ更新ビット
Mask
機能
0
メッセージオブジェクト * のマスクデータ
(ID マスク+ MDir + MXtd) を更新しない [ 初期値 ]
1
メッセージオブジェクト * のマスクデータ
(ID マスク+ MDir + MXtd) を更新する
* : 「14.4.3 メッセージオブジェクト」を参照してください。
[bit5] Arb : アービトレーションデータ更新ビット
Arb
機能
0
メッセージオブジェクト * のアービトレーションデータ
(ID + Dir + Xtd + MsgVal) を更新しない [ 初期値 ]
1
メッセージオブジェクト * のアービトレーションデータ
(ID + Dir + Xtd + MsgVal) を更新する
* : 「14.4.3 メッセージオブジェクト」を参照してください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
363
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
[bit4] Control : 制御データ更新ビット
Control
機能
0
メッセージオブジェクト * の制御データ
(IFx メッセージ制御レジスタ ) を更新しない [ 初期値 ]
1
メッセージオブジェクト * の制御データ
(IFx メッセージ制御レジスタ ) を更新する
* : 「14.4.3 メッセージオブジェクト」を参照してください。
[bit3] CIP : 割込みクリアビット
本ビットに "0" または "1" を設定しても CAN コントローラへの動作に影響を与えま
せん。
[bit2] TxRqst/NewDat : メッセージ送信要求ビット
TxRqst/NewDat
機能
0
メッセージオブジェクト * および CAN 送信要求レジスタの
TxRqst ビットに "0" を設定 [ 初期値 ]
1
メッセージオブジェクト * および CAN 送信要求レジスタの
TxRqst ビットに "1" を設定 ( 送信要求 )
* : 「14.4.3 メッセージオブジェクト」を参照してください。
IFx コマンドマスクレジスタの TxRqst/NewDat ビットが "1" に設定されると , IFx
メッセージ制御レジスタの TxRqst ビットの設定は無効となります。
[bit1] Data A : データ 0 ∼ 3 更新ビット
Data A
機能
0
メッセージオブジェクト * のデータ 0 ∼ 3 を更新しない [ 初期値 ]
1
メッセージオブジェクト * のデータ 0 ∼ 3 を更新する
* : 「14.4.3 メッセージオブジェクト」を参照してください。
[bit0] Data B : データ 4 ∼ 7 更新ビット
Data B
機能
0
メッセージオブジェクト * のデータ 4 ∼ 7 を更新しない [ 初期値 ]
1
メッセージオブジェクト * のデータ 4 ∼ 7 を更新する
* : 「14.4.3 メッセージオブジェクト」を参照してください。
364
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
● 転送方向がリードの場合 (WR/RD = 0)
メッセージオブジェクトへの読出しアクセスにより , IntPnd および NewDat ビットは
"0" にリセットすることが可能です。ただし , IFx メッセージ制御レジスタの IntPnd お
よび NewDat ビットには , 読出しアクセスによりリセットされる前の IntPnd, NewDat
ビットが格納されます。
テストのベーシックモードでは無効となります。
[bit6] Mask : マスクデータ更新ビット
Mask
機能
0
メッセージオブジェクト * から IFx マスクレジスタ 1, 2 へデータ
(ID マスク+ MDir + MXtd ) を転送しない [ 初期値 ]
1
メッセージオブジェクト * から IFx マスクレジスタ 1, 2 へデータ
(ID マスク+ MDir + MXtd ) を転送する
* : 「14.4.3 メッセージオブジェクト」を参照してください。
[bit5] Arb : アービトレーションデータ更新ビット
Arb
機能
0
メッセージオブジェクト * から IFx アービトレーション 1, 2 へデータ
(ID + Dir + Xtd + MsgVal) を転送しない [ 初期値 ]
1
メッセージオブジェクト * から IFx アービトレーション 1, 2 へデータ
(ID + Dir + Xtd + MsgVal) を転送する
* : 「14.4.3 メッセージオブジェクト」を参照してください。
[bit4] Control : 制御データ更新ビット
Control
機能
0
メッセージオブジェクト * から IFx メッセージ制御レジスタへデー
タを転送しない [ 初期値 ]
1
メッセージオブジェクト * から IFx メッセージ制御レジスタへデー
タを転送する
* : 「14.4.3 メッセージオブジェクト」を参照してください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
365
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
[bit3] CIP : 割込みクリアビット
CIP
機能
0
メッセージオブジェクト * および CAN 割込みペンディングレジスタ
の IntPnd ビットを保持 [ 初期値 ]
1
メッセージオブジェクト * および CAN 割込みペンディングレジスタ
の IntPnd ビットを "0" にクリア
* : 「14.4.3 メッセージオブジェクト」を参照してください。
[bit2] TxRqst/NewDat : データ更新ビット
TxRqst/NewDat
機能
0
メッセージオブジェクト * および CAN データ更新レジスタ
の NewDat ビットを保持 [ 初期値 ]
1
メッセージオブジェクト * および CAN データ更新レジスタ
の NewDat ビットを "0" にクリア
* : 「14.4.3 メッセージオブジェクト」を参照してください。
[bit1] Data A : データ 0 ∼ 3 更新ビット
Data A
機能
0
メッセージオブジェクト * および CAN データレジスタ A1, A2 の
データを保持 [ 初期値 ]
1
メッセージオブジェクト * および CAN データレジスタ A1, A2 の
データを更新
* : 「14.4.3 メッセージオブジェクト」を参照してください。
[bit0] Data B : データ 4 ∼ 7 更新ビット
Data B
機能
0
メッセージオブジェクト * および CAN データレジスタ B1, B2 の
データを保持 [ 初期値 ]
1
メッセージオブジェクト * および CAN データレジスタ B1, B2 の
データを更新
* : 「14.4.3 メッセージオブジェクト」を参照してください。
366
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
IFx マスクレジスタ 1, 2 (IFxMSK1, IFxMSK2)
14.4.2.3
IFx マスクレジスタ (IFxMSK1, IFxMSK2) は , メッセージ RAM のメッセージオブジェ
クトマスクデータを書込み / 読出しするために用いられます。また , テストのベーシッ
クモードでは , 設定されているマスクデータは無効となります。
各ビットの機能については , 「14.4.3 メッセージオブジェクト」を参照してください。
■ レジスタ構成
図 14.4-10 IFx マスクレジスタ 1, 2 (IFxMSK1, IFxMSK2) のレジスタ構成
IFx マスクレジスタ 2 ( 上位バイト )
bit
アドレス : Base + 14H Base + 44H
リード / ライト→
初期値→
15
14
13
12
MXtd
R/W
1
MDir
R/W
1
予約
R
1
R/W
1
7
6
5
4
R/W
1
R/W
1
R/W
1
15
14
13
R/W
1
R/W
1
R/W
1
7
6
5
11
10
9
Msk28 ∼ Msk24
R/W
R/W
R/W
1
1
1
8
R/W
1
IFx マスクレジスタ 2 ( 下位バイト )
bit
アドレス : Base + 15H Base + 45H
リード / ライト→
初期値→
3
2
1
0
R/W
1
R/W
1
10
9
8
R/W
1
R/W
1
R/W
1
2
1
0
R/W
1
R/W
1
R/W
1
Msk23 ∼ Msk16
R/W
R/W
R/W
1
1
1
IFx マスクレジスタ 1 ( 上位バイト )
bit
アドレス : Base + 16H Base + 46H
リード / ライト→
初期値→
12
11
Msk15 ∼ Msk8
R/W
R/W
1
1
IFx マスクレジスタ 1 ( 下位バイト )
bit
アドレス : Base + 17H Base + 47H
リード / ライト→
初期値→
R/W
1
R/W
1
R/W
1
4
3
Msk7 ∼ Msk0
R/W
R/W
1
1
IFx マスクレジスタのビット説明については , 「14.4.3 メッセージオブジェクト」を参
照してください。
レジスタの予約ビット (IFx マスクレジスタ 2 の bit13) からは "1" が読み出されます。書
込み時は , "1" を書き込んでください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
367
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
14.4.2.4
MB91461
IFx アービトレーションレジスタ 1, 2
(IFxARB1, IFxARB2)
IFx アービトレーションレジスタ (IFxARB1, IFxARB2) は , メッセージ RAM のメッ
セージオブジェクトアービトレーションデータを書込み / 読出しするために用いられ
ます。また , テストのベーシックモードでは無効となります。
各ビットの機能については , 「14.4.3 メッセージオブジェクト」を参照してください。
■ レジスタ構成
図 14.4-11 IFx アービトレーションレジスタ (IFxARB1, IFxARB2) のレジスタ構成
IFx アービトレーションレジスタ 2 ( 上位バイト )
bit
アドレス : Base + 18H Base + 48H
リード / ライト→
初期値→
15
14
13
12
MsgVal
Xtd
R/W
0
Dir
R/W
0
R/W
0
4
R/W
0
11
10
9
8
ID28 ∼ ID24
R/W
R/W
R/W
0
0
0
R/W
0
IFx アービトレーションレジスタ 2 ( 下位バイト )
bit
7
6
5
R/W
0
R/W
0
R/W
0
アドレス : Base + 19H Base + 49H
リード / ライト→
初期値→
3
ID23 ∼ ID16
R/W
R/W
0
0
2
1
0
R/W
0
R/W
0
R/W
0
10
9
8
R/W
0
R/W
0
R/W
0
2
1
0
R/W
0
R/W
0
R/W
0
IFx アービトレーションレジスタ 1 ( 上位バイト )
bit
15
14
13
R/W
0
R/W
0
R/W
0
アドレス : Base + 1AH Base + 4AH
リード / ライト→
初期値→
12
11
ID15 ∼ ID8
R/W
R/W
0
0
IFx アービトレーションレジスタ 1 ( 下位バイト )
bit
7
6
5
R/W
0
R/W
0
R/W
0
アドレス : Base + 1BH Base + 4BH
リード / ライト→
初期値→
4
3
ID7 ∼ ID0
R/W
R/W
0
0
IFx アービトレーションレジスタのビット説明については , 「14.4.3 メッセージオブ
ジェクト」を参照してください。
送信途中でメッセージオブジェクトの MsgVal ビットを "0" にクリアした場合 , 送信が
完了した時点で CAN ステータスレジスタの TxOk ビットは "1" になりますが , メッセー
ジオブジェクトおよび CAN 送信要求レジスタの TxRqst ビットは "0" にクリアされま
せん。メッセージインタフェースレジスタによって TxRqst ビットを "0" にクリアして
ください。
368
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
14.4.2.5
IFx メッセージ制御レジスタ (IFxMCTR)
IFx メッセージ制御レジスタ (IFxMCTR) は , メッセージ RAM のメッセージオブジェ
クト制御データを書込み / 読出しするために用いられます。また , テストのベーシック
モードでは , IF1 メッセージ制御レジスタは無効となります。IF2 メッセージ制御レジ
スタの NewDat と MsgLst は通常の動作を行い , DLC ビットは受信したメッセージの
DLC を表示します。その他の制御ビットは無効 ("0") として動作します。
各ビットの機能については , 「14.4.3 メッセージオブジェクト」を参照してください。
■ レジスタ構成
図 14.4-12 IFx メッセージ制御レジスタ (IFxMCTR) のレジスタ構成
IFx メッセージ制御レジスタ ( 上位バイト )
bit
アドレス : Base + 1CH Base + 4CH
リード / ライト→
初期値→
15
14
13
12
NewDat MsgLst IntPnd UMask
11
10
R/W
0
R/W
0
R/W
0
TxIE
R/W
0
RxIE
R/W
0
7
6
5
4
3
2
EoB
R/W
0
予約
R
0
予約
R
0
予約
R
0
R/W
0
R/W
0
9
8
RmtEn TxRqst
R/W
R/W
0
0
IFx メッセージ制御レジスタ ( 下位バイト )
bit
アドレス : Base + 1DH Base + 4DH
リード / ライト→
初期値→
1
DLC3 ∼ DLC0
R/W
R/W
0
0
0
R/W
0
IFx メッセージ制御レジスタのビット説明については , 「14.4.3 メッセージオブジェク
ト」を参照してください。
TxRqst, NewDat および IntPnd ビットは , IFx コマンドマスクレジスタの WR/RD ビット
の設定によって以下のような動作になります。
● 転送方向が書込みの場合 (IFx コマンドマスクレジスタ : WR/RD = 1)
IFx コマンドマスクレジスタの TxRqst/NewDat が "0" に設定されている場合のみ , 本レ
ジスタの TxRqst ビットが有効となります。
● 転送方向が読出しの場合 (IFx コマンドマスクレジスタ : WR/RD = 0)
IFx コマンドマスクレジスタの CIP ビットを "1" に設定し , IFx コマンド要求レジスタ
への書込みによりメッセージオブジェクトおよびCAN割込みペンディングレジスタの
IntPnd ビットをリセットした場合 , 本レジスタにはリセットされる前の IntPnd ビット
が格納されます。
IFx コマンドマスクレジスタの TxRqst/NewDat ビットを "1" に設定し , IFx コマンド要
求レジスタへの書込みによりメッセージオブジェクトおよびCANデータ更新レジスタ
の NewDat ビットをリセットした場合 , 本レジスタにはリセットする前の NewDat ビッ
トが格納されます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
369
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
14.4.2.6
MB91461
IFx データレジスタ A1, A2, B1, B2
(IFxDTA1, IFxDTA2, IFxDTB1, IFxDTB2)
IFx データレジスタ (IFxDTA1, IFxDTA2, IFxDTAB1, IFXDTB2) は , メッセージ RAM
のメッセージオブジェクト送受信データを書込み / 読出しするために用いられます。
データフレームの送受信のみ使用され , リモートフレームの送受信には使用されま
せん。
■ レジスタ構成
表 14.4-3 IFx データレジスタ (IFxDTA1, IFxDTA2, IFxDTAB1, IFXDTB2) のレジスタ構成
addr + 0
addr + 1
addr + 2
addr + 3
IFx メッセージデータ A1 ( アドレス 20H および 50H)
Data(0)
Data(1)
−
−
IFx メッセージデータ A2 ( アドレス 22H および 52H)
−
−
Data(2)
Data(3)
IFx メッセージデータ B1 ( アドレス 24H および 54H)
Data(4)
Data(5)
−
−
IFx メッセージデータ B2 ( アドレス 26H および 56H)
−
−
Data(6)
Data(7)
IFx メッセージデータ A2 ( アドレス 30H および 60H)
Data(3)
Data(2)
−
−
IFx メッセージデータ A1 ( アドレス 32H および 62H)
−
−
Data(1)
Data(0)
IFx メッセージデータ B2 ( アドレス 34H および 64H)
Data(7)
Data(6)
−
−
IFx メッセージデータ B1 ( アドレス 36H および 66H)
−
−
Data(5)
Data(4)
図 14.4-13 IFx データレジスタ (IFxDTA1, IFxDTA2, IFxDTAB1, IFXDTB2)
IFx データレジスタ
bit
リード / ライト→
初期値→
15
7
14
6
13
5
R/W
0
R/W
0
R/W
0
12
4
11
3
Data
R/W
R/W
0
0
10
2
9
1
8
0
R/W
0
R/W
0
R/W
0
■ レジスタ機能
● 送信メッセージデータの設定
設定したデータは , MSB (bit7, bit15) より開始して Data (0), Data (1), ..., Data (7) の順で
送信されます。
● 受信メッセージデータ
受信メッセージデータは, MSB (bit7, bit15) より開始してData (0), Data (1), ..., Data (7)の
順で格納されます。
受信メッセージデータが8バイトより少ない場合は, データレジスタの残りのバイトは
不定です。
メッセージオブジェクトへの転送は , Data A もしくは Data B の 4 バイト単位で行われ
ますので , 4 バイトのうち , ある一部のデータだけを更新することはできません。
370
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
メッセージオブジェクト
14.4.3
メッセージ RAM には , 32 ( 品種によって 128 まで ) のメッセージオブジェクトがあ
ります。メッセージ RAM への CPU アクセスと CAN コントローラからのアクセス
の競合を回避するために , CPU はメッセージオブジェクトへの直接アクセスができ
ません。これらのアクセスは , IFx メッセージインタフェースレジスタ経由で行いま
す。
以下では , メッセージオブジェクトの構成と機能を説明します。
■ メッセージオブジェクトの構成
表 14.4-4 メッセージオブジェクトの構成
メッセージオブジェクト
UMask Msk28 ∼ Msk0 MXtd MDir
MsgVal
ID28 ∼ ID0
Xtd
EoB
NewDat
MsgLst RxIE TxIE IntPnd RmtEn TxRqst
Dir DLC3 ∼ DLC0 Data0 Data1 Data2 Data3 Data4 Data5 Data6 Data7
<注意事項>
メッセージオブジェクトは , CAN 制御レジスタの Init ビットやハードウェアリセットでは
初期化されません。ハードウェアリセットの場合 , リセット解除後 , CPU によってメッ
セージ RAM を初期化するかメッセージ RAM の MsgVal を "0" にしてください。
■ メッセージオブジェクトの機能
ID28 ∼ ID0, Xtd, Dir ビットは , メッセージを送信する場合 , ID とメッセージの種類に
使用されます。メッセージを受信する場合 , Msk28 ∼ Msk0, MXtd, MDir ビットととも
にアクセプタンスフィルタで使用されます。
アクセプタンスフィルタを通過したデータフレームもしくはリモートフレームは ,
メッセージオブジェクトに格納されます。Xtdは拡張フレームか標準フレームかを示し,
Xtd が "1" の場合は 29 ビット ID ( 拡張フレーム ) を , Xtd が "0" の場合は 11 ビット ID
( 標準フレーム ) を受信します。
受信したデータフレームもしくはリモートフレームが 1 つ以上のメッセージオブジェ
クトと一致した場合は , 一致した最小のメッセージ番号に格納されます。詳細は ,
「14.5.3 メッセージ受信動作」の受信メッセージのアクセプタンスフィルタを参照して
ください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
371
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
MsgVal : 有効メッセージビット
MsgVal
機能
0
メッセージオブジェクトは無効です。
メッセージの送受信は行いません。
1
メッセージオブジェクトは有効です。
メッセージの送受信が可能となります。
• CAN 制御レジスタの Init ビットを "0" にリセットする前の初期化中に , すべての
未使用メッセージオブジェクトの MsgVal ビットを CPU でリセットしてくださ
い。
• ID28 ∼ ID0, Xtd, Dir, DLC3 ∼ DLC0 を変更する前 , もしくはメッセージオブジェ
クトが必要ない場合は , MsgVal ビットを必ず "0" にリセットしてください。
• 送信中に MsgVal ビットを "0" にすると送信が完了した時点で CAN ステータス
レジスタの TxOk ビットは "1" になりますが , メッセージオブジェクトおよび
CAN 送信要求レジスタの TxRqst ビットは "0" にクリアされません。メッセージ
インタフェースレジスタによって TxRqst ビットを "0" にクリアしてください。
UMask : アクセプタンスマスク許可ビット
UMask
機能
0
Msk28 ∼ Msk0, MXtd, MDir を使用しません。
1
Msk28 ∼ Msk0, MXtd, MDir を使用します。
• CAN 制御レジスタの Init ビットが "1" のとき , あるいは MsgVal ビットが "0" の
ときに UMask ビットを変更してください。
• Dir ビットが "1" かつ RmtEn ビットが "0" のとき , UMask の設定により動作が異
なります。
- UMask が "1" の場合は , アクセプタンスフィルタを通過してリモートフレーム
を受信すると , TxRqst ビットを "0" にリセットします。そのとき , 受信した ID,
IDE, RTR, DLC はメッセージオブジェクトに格納され , NewDat ビットは "1" に
設定されてデータは変更されません ( データフレームのように取り扱います )。
- UMask が "0" の場合は , リモートフレーム受信に対し , TxRqst ビットはそのま
ま保持され , リモートフレームを無視します。
ID28 ∼ ID0 : メッセージ ID
ID28 ∼ ID0
372
機能
ID28 ∼ ID0
29 ビット ID ( 拡張フレーム ) を指示
ID28 ∼ ID18
11 ビット ID ( 標準フレーム ) を指示
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
Msk28 ∼ Msk0 : ID マスク
Msk
機能
0
メッセージオブジェクトの ID と対応するビットのマスクあり
1
メッセージオブジェクトの ID と対応するビットのマスクなし
11 ビット ID ( 標準フレーム ) がメッセージオブジェクトに設定されると , 受信した
データフレームの ID は , ID28 ∼ ID18 へ書き込まれます。ID マスクには , Msk28 ∼
Msk18 が使用されます。
Xtd : 拡張 ID 許可ビット
Xtd
機能
0
メッセージオブジェクトは 11 ビット ID ( 標準フレーム )
1
メッセージオブジェクトは 29 ビット ID ( 拡張フレーム )
MXtd : 拡張 ID マスクビット
MXtd
機能
0
アクセプタンスフィルタでの拡張 ID ビット (IDE) のマスクあり
1
アクセプタンスフィルタでの拡張 ID ビット (IDE) のマスクなし
Dir : メッセージ方向ビット
Dir
CM71-10159-2
機能
0
受信方向を示します。
TxRqst が "1" に設定されると , リモートフレームの送信を行い ,
TxRqst が "0" のときは , 受容フィルタを通過したデータフレームを
受信します。
1
送信方向を示します。
TxRqst が "1" に設定されると , データフレームを送信し , TxRqst が
"0" で RmtEn が "1" に設定されている場合 , 受容フィルタを通過した
リモートフレームの受信によって , CAN コントローラ自身が TxRqst
を "1" に設定します。
FUJITSU MICROELECTRONICS LIMITED
373
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
MDir : メッセージ方向マスクビット
MDir
機能
0
アクセプタンスフィルタでのメッセージ方向ビット (Dir) のマスクあり
1
アクセプタンスフィルタでもメッセージ方向ビット (Dir) のマスクなし
<注意事項>
MDir ビットには常に "1" を設定してください。
EoB : エンドオブバッファビット ( 詳細は , 「14.5.4 FIFO バッファ機能」を参照 )
EoB
機能
0
メッセージオブジェクトは FIFO バッファとして使用され , 最終メッ
セージでない
1
単一メッセージオブジェクト , または FIFO バッファの最終メッセー
ジオブジェクト
EoB ビットは , 2 ∼ 32 メッセージの FIFO バッファを構成するために使用します。
単一メッセージオブジェクト (FIFO を使用しない場合 ) は , 必ず EoB ビットに "1"
を設定してください。
NewDat: データ更新ビット
NewDat
機能
0
有効データなし
1
有効データあり
MsgLst: メッセージロスト
MsgLst
機能
0
メッセージロストの発生なし
1
メッセージロスト発生
MsgLst ビットは Dir ビットが "0" のとき ( 受信方向 ) のみ有効です。
374
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
RxIE : 受信割込みフラグイネーブルビット
RxIE
機能
0
フレーム受信成功後 , IntPnd の変更なし
1
フレーム受信成功後 , IntPnd は "1" に設定
TxIE : 送信割込みフラグイネーブルビット
TxIE
機能
0
フレーム送信成功後 , IntPnd の変更なし
1
フレーム送信成功後 , IntPnd は "1" に設定
IntPnd : 割込みペンディングビット
IntPnd
機能
0
割込み要因なし
1
割込み要因あり
ほかに優先度の高い割込みがない場合は , CAN 割込みレジスタの
IntId ビットはこのメッセージオブジェクトを示します。
RmtEn : リモートイネーブル
RmtEn
機能
0
リモートフレームの受信による TxRqst の変更なし
1
Dir ビットが "1" でリモートフレームを受信すると , TxRqst は "1" に
設定される
Dir ビットが "1" かつ RmtEn ビットが "0" のとき , UMask の設定により動作が異な
ります。
• UMask が "1" の場合は , アクセプタンスフィルタを通過してリモートフレームを
受信したとき , TxRqst ビットを "0" にリセットします。そのとき , 受信した ID,
IDE, RTR, DLC はメッセージオブジェクトに格納され , NewDat ビットは "1" に設
定されてデータは変更されません ( データフレームのように取り扱われます ) 。
• UMask が "0" の場合は , リモートフレーム受信に対し , TxRqst ビットはそのまま
保持され , リモートフレームを無視します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
375
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
TxRqst : 送信要求ビット
TxRqst
機能
0
送信アイドル状態 ( 送信中でもなく , 送信待ち状態でもない )
1
送信中 , または送信待ち状態
DLC3 ∼ DLC0 : データ長コード
DLC3 ∼ DLC0
機能
0∼8
データフレーム長は 0 ∼ 8 バイト
9 ∼ 15
設定禁止
設定した場合は , 8 バイト長となります。
データフレームを受信すると DLC ビットには , 受信した DLC が格納されます。
Data0 ∼ Data7 : データ 0 ∼ 7
Data0 ∼ Data7
機能
Data 0
CAN データフレームの最初のデータバイト
Data 1
CAN データフレームの 2 番目のデータバイト
Data 2
CAN データフレームの 3 番目のデータバイト
Data 3
CAN データフレームの 4 番目のデータバイト
Data 4
CAN データフレームの 5 番目のデータバイト
Data 5
CAN データフレームの 6 番目のデータバイト
Data 6
CAN データフレームの 7 番目のデータバイト
Data 7
CAN データフレームの 8 番目のデータバイト
• CAN バスへのシリアル出力は , MSB (bit7 もしくは bit15) より出力されます。
• 受信メッセージデータが 8 バイトより少ない場合は , データレジスタの残りのバ
イトデータは不定です。
• メッセージオブジェクトへの転送は , Data A もしくは Data B の 4 バイト単位で
行われますので , 4 バイトのうち , ある一部のデータだけを更新することはでき
ません。
376
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
14.4.4
メッセージハンドラレジスタ
メッセージハンドラレジスタは , すべて読出し専用です。メッセージオブジェクト
の TxRqst, NewDat, IntPnd, MsgVal, IntId ビットは , ステータスを表示します。
■ メッセージハンドラレジスタ
• CAN 送信要求レジスタ 1, 2 (TREQR1, TREQR2)
• CAN データ更新レジスタ 1, 2 (NEWDT1, NEWDT2)
• CAN 割込みペンディングレジスタ 1, 2 (INTPND1, INTPND2)
• CAN メッセージ有効レジスタ 1, 2 (MSGVAL1, MSGVAL2)
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
377
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
14.4.4.1
MB91461
CAN 送信要求レジスタ (TREQR1, TREQR2)
CAN 送信要求レジスタ (TREQR1, TREQR2) は , 全メッセージオブジェクトの
TxRqst ビットを表示します。TxRqst ビットを読み出すことにより , どのメッセー
ジオブジェクトの送信要求がペンディング中であるかチェックすることができます。
■ レジスタ構成
図 14.4-14 CAN 送信要求レジスタ (TREQR1, TREQR2) のレジスタ構成
CAN 送信要求レジスタ 2 ( 上位バイト )
bit
15
14
13
R
0
R
0
R
0
アドレス : Base + 80H
リード / ライト→
初期値→
12
11
10
9
8
TxRqst32 ∼ TxRqst25
R
R
R
0
0
0
R
0
R
0
2
1
0
TxRqst24 ∼ TxRqst17
R
R
R
0
0
0
R
0
R
0
10
9
8
TxRqst16 ∼ TxRqst9
R
R
R
0
0
0
R
0
R
0
2
1
0
TxRqst8 ∼ TxRqst1
R
R
R
0
0
0
R
0
R
0
CAN 送信要求レジスタ 2 ( 下位バイト )
bit
7
6
5
R
0
R
0
R
0
アドレス : Base + 81H
リード / ライト→
初期値→
4
3
CAN 送信要求レジスタ 1 ( 上位バイト )
bit
15
14
13
R
0
R
0
R
0
アドレス : Base + 82H
リード / ライト→
初期値→
12
11
CAN 送信要求レジスタ 1 ( 下位バイト )
bit
7
6
5
R
0
R
0
R
0
アドレス : Base + 83H
リード / ライト→
初期値→
378
4
3
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
■ レジスタ機能
TxRqst32 ∼ TxRqst1 : 送信要求ビット
TxRqst
機能
0
送信アイドル状態 ( 送信中でもなく , 送信待ち状態でもない )
1
送信中 , または送信待ち状態
TxRqst ビットのセット / リセット条件を以下に示します。
• セット条件
- IFx コマンドマスクレジスタの WR/RD に "1", TxRqst に "1" を設定し , IFx コマ
ンド要求レジスタへの書込みにより特定オブジェクトの TxRqst に設定できま
す。
- IFx コマンドマスクレジスタの WR/RD に "1", TxRqst に "0", IFx メッセージ制
御レジスタの TxRqst に "1" を設定した場合 , IFx コマンド要求レジスタへの書
込みにより特定オブジェクトの TxRqst に設定できます。
- Dir ビットに "1", RmtEn ビットに "1" を設定し , アクセプタンスフィルタを通
過したリモートフレームの受信により設定されます。
• リセット条件
- IFx コマンドマスクレジスタの WR/RD に "1", TxRqst に "0", IFx メッセージ制
御レジスタの TxRqst に "0" を設定した場合 , IFx コマンド要求レジスタへの書
込みにより特定オブジェクトの TxRqst をリセットできます。
- フレームの送信が正常終了すると , リセットされます。
- Dir が "1", RmtEn が "0", UMask が "1" の場合 , アクセプタンスフィルタを通過
したリモートフレームの受信によりリセットされます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
379
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
14.4.4.2
MB91461
CAN データ更新レジスタ (NEWDT1, NEWDT2)
CAN データ更新レジスタ (NEWDT1, NEWDT2) は , 全メッセージオブジェクトの
NewDat ビットを表示します。NewDat ビットを読み出すことにより , どのメッセー
ジオブジェクトのデータが更新されたかをチェックすることができます。
■ レジスタ構成
図 14.4-15 CAN データ更新レジスタ (NEWDT1, NEWDT2) のレジスタ構成
CAN データ更新レジスタ 2 ( 上位バイト )
bit
15
14
13
10
9
8
R
0
R
0
NewDat32 ∼ NewDat25
R
R
R
R
0
0
0
0
R
0
R
0
アドレス : Base + 90H
リード / ライト→
初期値→
12
11
CAN データ更新レジスタ 2 ( 下位バイト )
bit
7
6
5
2
1
0
R
0
R
0
NewDat24 ∼ NewDat17
R
R
R
R
0
0
0
0
R
0
R
0
10
9
8
NewDat16 ∼ NewDat9
R
R
R
0
0
0
R
0
R
0
2
1
0
NewDat8 ∼ NewDat1
R
R
R
0
0
0
R
0
R
0
アドレス : Base + 91H
リード / ライト→
初期値→
4
3
CAN データ更新レジスタ 1 ( 上位バイト )
bit
15
14
13
R
0
R
0
R
0
アドレス : Base + 92H
リード / ライト→
初期値→
12
11
CAN データ更新レジスタ 1 ( 下位バイト )
bit
7
6
5
R
0
R
0
R
0
アドレス : Base + 93H
リード / ライト→
初期値→
380
4
3
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
■ レジスタ機能
NewDat32 ∼ NewDat1 : データ更新ビット
NewDat32 ∼ NewDat1
機能
0
有効データなし
1
有効データあり
NewDat ビットのセット / リセット条件を以下に示します。
• セット条件
- IFx コマンドマスクレジスタの WR/RD に "1", IFx メッセージ制御レジスタの
NewDat に "1" を設定して , IFx コマンド要求レジスタの書込みにより特定オブ
ジェクトに設定できます。
- 受容フィルタを通過したデータフレームの受信により設定されます。
- Dir が "1", RmtEn が "0", UMask が "1" の場合 , アクセプタンスフィルタを通過
したリモートフレームの受信により設定されます。
• リセット条件
- IFx コマンドマスクレジスタの WR/RD に "0", NewDat に "1" を設定した場合 ,
IFx コマンド要求レジスタの書込みにより特定オブジェクトの NewDat をリ
セットできます。
- IFx コマンドマスクレジスタの WR/RD に "1", IFx メッセージ制御レジスタの
NewDat を "0" に設定した場合 , IFx コマンド要求レジスタの書込みにより特定
オブジェクトの NewDat をリセットできます。
- 送信用シフトレジスタ ( 内部レジスタ ) へデータを転送終了後 , リセットされ
ます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
381
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
14.4.4.3
MB91461
CAN 割込みペンディングレジスタ
(INTPND1, INTPND2)
CAN 割込みペンディングレジスタ (INTPND1, INTPND2) は , 全メッセージオブジェ
クトの IntPnd ビットを表示します。IntPnd ビットを読み出すことにより , どのメッ
セージオブジェクトが割込みペンディング中であるかをチェックすることができます。
■ レジスタ構成
図 14.4-16 CAN 割込みペンディングレジスタ (INTPND1, INTPND2) のレジスタ構成
CAN 割込みペンディングレジスタ 2 ( 上位バイト )
bit
15
14
13
R
0
R
0
R
0
アドレス : Base + A0H
リード / ライト→
初期値→
12
11
10
9
8
IntPnd32 ∼ IntPnd25
R
R
R
0
0
0
R
0
R
0
CAN 割込みペンディングレジスタ 2 ( 下位バイト )
bit
7
6
5
2
1
0
R
0
IntPnd24 ∼ IntPnd17
R
R
R
R
0
0
0
0
R
0
R
0
10
9
8
IntPnd16 ∼ IntPnd9
R
R
R
0
0
0
R
0
R
0
2
1
0
R
0
R
0
R
0
アドレス : Base + A1H
リード / ライト→
初期値→
R
0
4
3
CAN 割込みペンディングレジスタ 1 ( 上位バイト )
bit
15
14
13
R
0
R
0
R
0
アドレス : Base + A2H
リード / ライト→
初期値→
12
11
CAN 割込みペンディングレジスタ 1 ( 下位バイト )
bit
7
6
5
R
0
R
0
R
0
アドレス : Base + A3H
リード / ライト→
初期値→
382
4
3
IntPnd8 ∼ IntPnd1
R
R
0
0
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
■ レジスタ機能
IntPnd32 ∼ IntPnd1 : 割込みペンディングビット
IntPnd32 ∼ IntPnd1
機能
0
割込み要因なし
1
割込み要因あり
IntPnd ビットのセット / リセット条件を以下に示します。
• セット条件
- TxIE が "1" に設定されている場合 , フレームの正常送信完了により設定されま
す。
- RxIE が "1" に設定されている場合 , アクセプタンスフィルタを通過したフレー
ムの正常受信完了により設定されます。
• リセット条件
IFx コマンドマスクレジスタが WR/RD に "1", IntPnd に "1" を設定した場合 ,
IFx コマンド要求レジスタの書込みにより特定オブジェクトの IntPnd をリセット
できます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
383
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
14.4.4.4
MB91461
CAN メッセージ有効レジスタ
(MSGVAL1, MSGVAL2)
CAN メッセージ有効レジスタ (MSGVAL1, MSGVAL2) は , 全メッセージオブジェク
トの MsgVal ビットを表示します。MsgVal ビットを読み出すことにより , どのメッ
セージオブジェクトが有効であるかをチェックすることができます。
■ レジスタ構成
図 14.4-17 CAN メッセージ有効レジスタ (MSGVAL1, MSGVAL2) のレジスタ構成
CAN メッセージ有効レジスタ 2 ( 上位バイト )
bit
15
14
13
R
0
R
0
R
0
アドレス : Base + B0H
リード / ライト→
初期値→
12
11
10
9
8
MsgVal32 ∼ MsgVal25
R
R
R
0
0
0
R
0
R
0
CAN メッセージ有効レジスタ 2 ( 下位バイト )
bit
7
6
5
2
1
0
R
0
MsgVal24 ∼ MsgVal17
R
R
R
R
0
0
0
0
R
0
R
0
10
9
8
MsgVal16 ∼ MsgVal9
R
R
R
0
0
0
R
0
R
0
2
1
0
MsgVal8 ∼ MsgVal1
R
R
R
0
0
0
R
0
R
0
アドレス : Base + B1H
リード / ライト→
初期値→
R
0
4
3
CAN メッセージ有効レジスタ 1 ( 上位バイト )
bit
15
14
13
R
0
R
0
R
0
アドレス : Base + B2H
リード / ライト→
初期値→
12
11
CAN メッセージ有効レジスタ 1 ( 下位バイト )
bit
7
6
5
R
0
R
0
R
0
アドレス : Base + B3H
リード / ライト→
初期値→
384
4
3
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
■ レジスタ機能
MsgVal32 ∼ MsgVal1 : メッセージ有効ビット
MsgVal32 ∼ MsgVal1
機能
0
メッセージオブジェクトは無効
メッセージの送受信は行いません。
1
メッセージオブジェクトは有効
メッセージの送受信が可能となります。
MsgVal ビットのセット / リセット条件を以下に示します。
• セット条件
IFx アービトレーションレジスタ 2 の MsgVal に "1" を設定し , IFx コマンド要求
レジスタへの書込みにより特定オブジェクトの MsgVal を設定できます。
• リセット条件
IFx アービトレーションレジスタ 2 の MsgVal に "0" を設定し , IFx コマンド要求
レジスタの書込みにより特定オブジェクトの MsgVal をリセットできます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
385
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
14.4.5
MB91461
CAN プリスケーラレジスタ (CANPRE)
CAN プリスケーラレジスタ (CANPRE) は , CAN プリスケーラのクロックソースの
選択と , CAN インタフェースに供給する CAN クロックの分周比を定義するもので
す。本レジスタの値を変更する場合は , CAN 制御レジスタ (CTRLR) の初期化ビット
(Init) を "1" にセットし , すべてのバス動作を停止してください。
■ レジスタ構成
図 14.4-18 CAN 制御レジスタ (CTRLR) のレジスタ構成
CAN プリスケーラレジスタ
bit
アドレス : ch.0 00C000H
ch.1 00C100H
リード / ライト→
初期値→
15
14
予約
予約
R
0
R
0
13
12
CPCKS1 CPCKS0
R/W
0
R/W
0
11
10
9
8
DVC3
DVC2
DVC1
DVC0
R/W
0
R/W
0
R/W
0
R/W
0
■ レジスタ機能
[bit15, bit14] 予約 : 予約ビット
これらのビットからは 00B が読み出されます。
書込みはレジスタに反映されません。
[bit13, bit12] CPCKS1, CPCKS0 : CAN プリスケーラクロックソース選択ビット
表 14.4-5 CAN プリスケーラクロックソース選択ビット
CPCKS1, CPCKS0
386
CAN プリスケーラクロックソース
00B
CPU クロック ( 最大 80MHz) [ 初期値 ]
01B
PLL 出力 ( 最大 200MHz)
10B
設定禁止
11B
原発振クロック ( 最大 20MHz)
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.4 CAN レジスタ機能
MB91461
[bit11 ∼ bit8] DVC3 ∼ DVC0 : CAN クロック設定ビット
表 14.4-6 CAN クロック設定ビット
DVC3 ∼ DVC0
CAN クロック
0000B
プリスケーラクロックソースの 1/1 周期を選択 [ 初期値 ]
0001B
プリスケーラクロックソースの 1/2 周期を選択
0010B
プリスケーラクロックソースの 1/3 周期を選択
:
:
1110B
プリスケーラクロックソースの 1/15 周期を選択
1111B
プリスケーラクロックソースの 1/16 周期を選択
• CAN プリスケーラ設定ビットの変更は , CAN 制御レジスタの初期化ビットを "1"
に設定し , すべてのバス動作を停止させた後に行ってください。
• 本レジスタの設定によりCANインタフェースに供給するCANクロックは20MHz
以下としてください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
387
第 14 章 CAN コントローラ
14.5 CAN 機能
14.5
MB91461
CAN 機能
CAN コントローラの動作と機能について説明します。
以下の機能について説明します。
• メッセージオブジェクト
• メッセージ送信動作
• メッセージ受信動作
• FIFO バッファ機能
• 割込み機能
• ビットタイミング
• テストモード
• ソフトウェア初期化
• CAN クロックプリスケーラ
388
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.5 CAN 機能
MB91461
14.5.1
メッセージオブジェクト
メッセージ RAM のメッセージオブジェクトとインタフェースについて説明します。
■ メッセージオブジェクト
メッセージ RAM のメッセージオブジェクト設定 (MsgVal, NewDat, IntPnd, TxRqst ビッ
トを除く ) は , ハードウェアリセットによって初期化されません。そのため , メッセー
ジオブジェクトの CPU での初期化 , または MsgVal ビットを無効 (MsgVal = 0) に設定
してください。また , CAN ビットタイミングレジスタの設定は CAN 制御レジスタの
Init ビットが "0" のときに行ってください。
メッセージオブジェクトの設定は , メッセージインタフェースレジスタ (IFx マスクレ
ジスタ , IFx アービトレーションレジスタ , IFx メッセージ制御レジスタ , IFx データレ
ジスタ ) に設定した後 , IFx コマンド要求レジスタへのメッセージ番号の書込みにより ,
そのインタフェースレジスタのデータが指定されたメッセージオブジェクトへ転送さ
れます。
CAN 制御レジスタの Init ビットが "0" にクリアされると CAN コントローラは動作を開
始します。アクセプタンスフィルタを通過した受信メッセージは , メッセージ RAM へ
格納されます。送信要求が保留されているメッセージは , メッセージ RAM から CAN
コントローラのシフトレジスタへ転送され , CAN バスへの送信が行われます。
CPU は , メッセージインタフェースレジスタ経由で受信メッセージの読出し , および送
信メッセージの更新を行います。また , CAN 制御レジスタおよび IFx メッセージ制御
レジスタ ( メッセージオブジェクト ) の設定に応じて , CPU への割込みが行われます。
■ メッセージ RAM とのデータ送受信
メッセージインタフェースレジスタとメッセージ RAM とのデータ転送を開始すると ,
IFx コマンド要求レジスタの BUSY ビットは "1" に設定されます。転送完了後 , BUSY
ビットは "0" にクリアされます。( 図 14.5-1 を参照 )
IFx コマンドマスクレジスタは , 1 つのメッセージオブジェクトの全データ転送 , ある
いはデータの部分転送のいずれかを設定します。メッセージ RAM の構造上 , メッセー
ジオブジェクトの単一ビット / バイトの書込みは不可能となっており , 常に 1 つのメッ
セージオブジェクトの全データをメッセージ RAM へ書き込みます。したがって , メッ
セージインタフェースレジスタからメッセージ RAM へのデータ転送は , リードモディ
ファイライト (RMW) 系命令の実行サイクルを要しています。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
389
第 14 章 CAN コントローラ
14.5 CAN 機能
MB91461
図 14.5-1 メッセージインタフェースレジスタとメッセージ RAM のデータ転送
スタート
NO
IFxコマンド要求レジスタ
への書き込み
YES
BUSY = 1
Interrupt = 0
NO
YES
WR/RD = 1
メッセージRAMからメッセージインタフェース
レジスタへの読出し
メッセージRAMからメッセージインタフェース
レジスタへの読出し
メッセージインタフェースレジスタから
メッセージRAMへの書込み
BUSY = 0
Interrupt = 1
390
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.5 CAN 機能
MB91461
14.5.2
メッセージ送信動作
送信メッセージオブジェクトの設定方法および送信動作について説明します。
■ メッセージ送信
メッセージインタフェースレジスタとメッセージ RAM 間でデータ転送がない場合 ,
CAN メッセージ有効レジスタの MsgVal ビットと CAN 送信要求レジスタの TxRqst ビッ
トを評価します。送信要求を保留している中で , 最高優先度の有効メッセージオブジェ
クトが送信用のシフトレジスタへ転送されます。そのとき , メッセージオブジェクトの
NewDat ビットは "0" にリセットされます。
正常に送信が完了したとき , メッセージオブジェクトに新たなデータがない (NewDat = 0)
場合は , TxRqst ビットは "0" にリセットされます。TxIE が "1" に設定されている場合
は , 送信成功後に IntPnd ビットが "1" に設定されます。CAN コントローラが CAN バス
上で調停に負けた場合 , あるいは転送中にエラーが発生した場合は , CAN バスがアイ
ドルになると , 直ちにメッセージの再送信が行われます。
■ 送信優先度
メッセージオブジェクトの送信優先度は , メッセージ番号によって決定します。メッ
セージオブジェクト 1 が最高の優先度で , メッセージオブジェクト 32 ( または搭載し
ている最大メッセージオブジェクト番号 ) が最低優先度となります。したがって , 2 つ
以上の送信要求が保留されていると , 対応するメッセージオブジェクトの小さい番号
順に転送が行われます。
■ 送信メッセージオブジェクトの設定
図 14.5-2 に , 送信オブジェクトの初期化を示します。
図 14.5-2 送信メッセージオブジェクトの初期化
MsgVal
Arb
Data
Mask
EoB
Dir
1
appl.
appl.
appl.
1
1
NewDat MsgLst RxIE
0
0
0
TxIE
appl.
IntPnd RmtEn TxRqst
0
appl.
0
IFx アービトレーションレジスタ (ID28 ∼ ID0 と Xtd ビット ) は , アプリケーションで
与えられ , 送信メッセージの ID およびメッセージの種類を定義します。
標準フレーム (11 ビット ID) を設定した場合は , ID28 ∼ ID18 を使用し , ID17 ∼ ID0 は
無効となります。拡張フレーム (29 ビット ID) を設定した場合は , ID28 ∼ ID0 を使用
します。
TxIE ビットに "1" を設定すると , メッセージオブジェクトの送信成功後に IntPnd ビッ
トが "1" に設定されます。
RmtEn ビットに "1" を設定すると , 一致するリモートフレームを受信後 , TxRqst ビット
に "1" を設定し , データフレームを自動的に送信します。
データレジスタ (DLC3 ∼ DLC0, Data0 ∼ Data7) の設定は , アプリケーションで与えら
れます。
UMask = 1 のとき , IFx マスクレジスタ (Msk28 ∼ Msk0, UMask, MXtd, MDir ビット ) は ,
マスク設定によりグループ化された ID を持つリモートフレームを受信し , その後 , 送
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
391
第 14 章 CAN コントローラ
14.5 CAN 機能
MB91461
信を許可 (TxRqst ビットに "1" を設定 ) するために使用されます。詳細は「14.5.3 メッ
セージ受信動作」のリモートフレームを参照してください。
<注意事項>
IFx マスクレジスタの Dir ビットをマスク許可に設定することは禁止です。
■ 送信メッセージオブジェクトの更新
CPU は , 送信メッセージオブジェクトのデータをメッセージインタフェースレジスタ
経由で更新することができます。
送信メッセージオブジェクトのデータは , 対応する IFx データレジスタの 4 バイト単位
(IFx データレジスタ A, IFx データレジスタ B 単位 ) でデータ書込みが行われます。そ
のため , 1 バイトだけ送信メッセージオブジェクトを変更することはできません。
8 バイトのデータのみを更新するときは , まず IFx コマンドマスクレジスタへ 0087H の
書込みを行います。そして , IFx コマンド要求レジスタへメッセージ番号を書き込むこ
とにより , 送信メッセージオブジェクトのデータ更新 (8 バイトデータ ) と TxRqst ビッ
トへの "1" 書込みが同時に行われます。
送信中のメッセージ番号に連続して送信させたい場合 , TxRqst ビットと NewDat に "1"
を設定してください。TxRqst ビットは "0" にリセットされずに連続送信が可能となり
ます。
NewDat ビットが "1", TxRqst ビットがともに "1" の場合 , 送信を開始すると NewDat ビッ
トは "0" にリセットされます。
• データを更新する場合は , IFx データレジスタ A もしくは IFx データレジスタ B の
4 バイト単位で行ってください。
• データのみを更新する場合は , NewDat ビットと TxRqst ビットに "1" を設定してく
ださい。
392
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.5 CAN 機能
MB91461
14.5.3
メッセージ受信動作
受信メッセージオブジェクトの設定方法および受信動作について説明します。
■ 受信メッセージの受容フィルタ
メッセージのアービトレーション / コントロールフィールド (ID + IDE + RTR + DLC)
が CAN コントローラ受信用シフトレジスタへ完全にシフトされると , 有効メッセージ
オブジェクトとの一致比較のためにメッセージ RAM のスキャンを開始します。
このとき , メッセージ RAM のメッセージオブジェクトから調停フィールドとマスク
データ (MsgVal, UMask, NewDat, EoB を含む ) がロードされ , メッセージオブジェクト
とシフトレジスタの調停フィールドがマスクデータを含んで比較されます。
この動作は , メッセージオブジェクトとシフトレジスタの調停フィールドが一致検出
されるまで , またはメッセージ RAM の最終ワードに到達するまで繰り返して実行しま
す。一致が検出されると , メッセージ RAM のスキャンは停止され , 受信フレームのタ
イプ ( データフレームまたはリモートフレーム ) により , CAN コントローラは処理を
行います。
■ 受信優先度
メッセージオブジェクトの受信優先度は , メッセージ番号によって決定します。メッ
セージオブジェクト 1 が最高の優先度で , メッセージオブジェクト 32 ( または搭載し
ている最大メッセージオブジェクト番号 ) が最低優先度となります。したがって , アク
セプタンスフィルタで 2 つ以上一致した場合は , メッセージ番号の小さい番号が受信
メッセージオブジェクトとなります。
■ データフレーム受信
CAN コントローラは , アクセプタンスフィルタで一致したメッセージオブジェクトの
メッセージ RAM へ , シフトレジスタから受信メッセージを転送して格納します。この
格納するデータは , データバイトだけではなく , すべてのアービトレーションフィール
ドおよびデータ長コードも格納します。これは , IFx マスクレジスタがマスク設定され
ている場合でも実行されます (ID とデータバイトを保持するために格納されます ) 。
NewDat ビットは , 新たなデータが受信されると "1" に設定されます。CPU がメッセー
ジオブジェクトを読み出したときには , NewDat ビットを "0" にリセットしてください。
メッセージ受信時に , 既に NewDat ビットが "1" に設定されている場合は , その前のデー
タが失われたことになり , MsgLst が "1" に設定されます。
RxIE ビットが "1" に設定されている場合 , メッセージバッファを受信すると CAN 割込
みペンディングレジスタの IntPnd ビットに "1" を設定します。そのとき , そのメッセー
ジオブジェクトの TxRqst ビットは "0" にリセットされます。これは , リモートフレー
ム送信処理中に , 要求データフレームを受信した場合 , 送信処理を防ぐために行われま
す。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
393
第 14 章 CAN コントローラ
14.5 CAN 機能
MB91461
■ リモートフレーム
リモートフレーム受信時の動作は , 下記の 3 つの処理があります。一致するメッセージ
オブジェクトの設定によりリモートフレーム受信時の処理が選択されます。
• Dir = 1 ( 送信方向 ) , RmtEn = 1, UMask = 1 または 0
一致したリモートフレームの受信を行い , このメッセージオブジェクトの TxRqst
ビットのみ "1" に設定され , リモートフレームに対するデータフレームの自動返信
(送信) を行います (TxRqstビット以外のメッセージオブジェクトは変更されません) 。
• Dir = 1 ( 送信方向 ) , RmtEn = 0, UMask = 0
受信したリモートフレームがメッセージオブジェクトと一致しても受信しないで
リモートフレームを無効にします ( このメッセージオブジェクトの TxRqst ビットは
変更されません ) 。
• Dir = 1 ( 送信方向 ) , RmtEn = 0, UMask = 1
受信したリモートフレームがメッセージオブジェクトと一致した場合 , このメッ
セージオブジェクトの TxRqst ビットは "0" にリセットされ , リモートフレームは受
信データフレームのように処理されます。受信したアービトレーションフィールド
とコントロールフィールド (ID + IDE + RTR + DLC) は , メッセージ RAM のメッ
セージオブジェクトへ格納され , このメッセージオブジェクトの NewDat ビットが
"1" に設定されます。メッセージオブジェクトのデータフィールドは変更されませ
ん。
394
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.5 CAN 機能
MB91461
■ 受信メッセージオブジェクトの設定
図 14.5-3 に受信メッセージオブジェクトの初期化を示します。
図 14.5-3 受信メッセージオブジェクトの初期化
MsgVal
Arb
Data
Mask
EoB
Dir
1
appl.
appl.
appl.
1
0
NewDat MsgLst RxIE
0
0
TxIE
appl.
0
IntPnd RmtEn TxRqst
0
0
0
IFx アービトレーションレジスタ (ID28 ∼ ID0, Xtd ビット ) は , アプリケーションによっ
て与えられ , アクセプタンスフィルタに用いられる受信メッセージ ID とメッセージの
種類を定義します。
標準フレーム (11 ビット ID) を設定した場合は , ID28 ∼ ID18 を使用し , ID17 ∼ ID0 は
無効となります。また , 標準フレームが受信されると , ID17 ∼ ID0 は "0" にリセットさ
れます。拡張フレーム (29 ビット ID) を設定した場合は , ID28 ∼ ID0 を使用します。
RxIE ビットが "1" に設定された場合 , 受信データフレームがメッセージオブジェクト
へ格納されると IntPnd ビットが "1" に設定されます。
データ長コード (DLC3 ∼ DLC0) は , アプリケーションによって与えられます。CAN コ
ントローラが受信データフレームをメッセージオブジェクトへ格納するとき , 受信
データ長コードと 8 バイトのデータを格納します。データ長コードが 8 未満の場合は ,
メッセージオブジェクトの残りのデータには不定データが書き込まれます。
UMask = 1 のとき , IFx マスクレジスタ (Msk28 ∼ Msk0, UMask, MXtd, MDir ビット ) は ,
マスク設定によりグループ化された ID があるデータフレームの受信を許可するために
使用します。詳細は , 「14.5.3 メッセージ受信動作」のデータフレーム受信を参照して
ください。
<注意事項>
IFx マスクレジスタの Dir ビットのマスク設定は禁止です。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
395
第 14 章 CAN コントローラ
14.5 CAN 機能
MB91461
■ 受信メッセージの処理
CPU は , メッセージインタフェースレジスタを介して , 受信メッセージをいつでも読み
出すことが可能です。
通常 , IFx コマンドマスクレジスタに 007FH を書き込みます。次にメッセージオブジェ
クトのメッセージ番号を IFx コマンド要求レジスタに書き込みます。この手順によっ
て , 指定されたメッセージ番号の受信メッセージをメッセージ RAM からメッセージイ
ンタフェースレジスタに転送します。このとき , IFx コマンドマスクレジスタの設定に
より , メッセージオブジェクトの NewDat ビットと IntPnd ビットを "0" にクリアするこ
とが可能です。
受信メッセージの処理は , 受容フィルタにより一致した場合 , メッセージを受信しま
す。メッセージオブジェクトで受容フィルタのマスクを使用している場合は , マスク設
定されたデータが受容フィルタから除外され , メッセージを受信するか判断します。
NewDat ビットは , メッセージオブジェクトが最後に読み出されてから , 新しいメッ
セージが受信されたかを示します。
MsgLst ビットは , 受信したデータがメッセージオブジェクトから読み出されない状態
で次の受信データを受信したために前のデータを失ってしまったことを示します。
MsgLst ビットは自動的にはリセットされません。
リモートフレーム送信処理中に , 受容フィルタにより一致するデータフレームが受信
された場合には , TxRqst ビットは自動的に "0" にリセットされます。
396
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.5 CAN 機能
MB91461
14.5.4
FIFO バッファ機能
受信メッセージ処理におけるメッセージオブジェクトの FIFO バッファの構成および
動作について説明します。
■ FIFO バッファの構成
FIFOバッファの受信メッセージオブジェクトの構成は, EoBビットを除いて, 受信メッ
セージオブジェクトの構成と同じです (「14.5.3 メッセージ受信動作」の受信メッセー
ジオブジェクトの設定を参照 ) 。
FIFO バッファは , 2 つ以上の受信メッセージオブジェクトを連結して使用します。こ
の FIFO バッファへ受信メッセージを格納するためには , 受信メッセージオブジェクト
の ID とマスクを使用する場合はそれらの設定を一致させる必要があります。
FIFO バッファの最初の受信メッセージオブジェクトは , 優先順位の高いメッセージ番
号の小さい番号となります。FIFO バッファの最後の受信メッセージオブジェクトは ,
EoB ビットに "1" を設定し , FIFO バッファブロックの終わりを示す必要があります
(FIFO バッファ構成を使用するメッセージオブジェクトの最終メッセージオブジェク
ト以外は , EoB ビットに "0" を設定してください ) 。
• FIFO バッファで使用するメッセージオブジェクトの ID とマスク設定は必ず同じ設
定にしてください。
• FIFO バッファを使用しない場合は , 必ず EoB ビットに "1" を設定してください。
■ FIFO バッファによるメッセージ受信
受信メッセージが FIFO バッファの ID と一致した場合は , 最小メッセージ番号の FIFO
バッファの受信メッセージオブジェクトへ格納されます。
FIFO バッファの受信メッセージオブジェクトへメッセージが格納されると , この受信
メッセージオブジェクトの NewDat ビットが "1" に設定されます。EoB ビットが "0" の
受信メッセージオブジェクトへ NewDat ビットを設定すると , CAN コントローラによ
る FIFO バッファ書込みは , 最後の受信メッセージオブジェクト (EoB ビット= 1) に到
達するまで受信メッセージオブジェクトは保護されて書込みは行われません。
最終FIFOバッファまで有効なデータが格納された状態で受信メッセージオブジェクト
の NewDat ビットに "0" 書込み ( 書込み保護の解除 ) が行われないと次に受信された
メッセージが最終メッセージオブジェクトへ書き込まれ , メッセージは上書きされて
しまいます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
397
第 14 章 CAN コントローラ
14.5 CAN 機能
MB91461
■ FIFO バッファからの読出し
CPU が受信メッセージオブジェクトの内容を読み出すには , IFx コマンド要求レジスタ
へ受信メッセージ番号を書き込むことによって , メッセージインタフェースレジスタ
に転送されて読み出すことができます。このとき , IFx コマンドマスクレジスタの WR/
RD を "0" ( 読出し ), および TxRqst/NewDat = 1, IntPnd = 1 に設定し , NewDat ビットと
IntPnd ビットを "0" にリセットしてください。
FIFO バッファの機能を保証するために , FIFO バッファの受信メッセージオブジェクト
は , 必ず最小のメッセージ番号から読み出してください。
図 14.5-4 に , FIFO バッファの CPU の処理を示します。
図 14.5-4 FIFO バッファの CPU 処理
スタート
メッセージ割込み
CAN割込みレジスタ
読出し
8000H
0000H
CAN割込みレジスタ値
8000H, 0000H以外
状態割込み処理実行
終了
(通常処理)
メッセージ番号 =
CAN割込みレジスタ値
IFxコマンド要求レジスタ
(メッセージ番号)書込み
メッセージインタフェースレジスタ
読出し
(リセット:NewDat=0, IntPnd=0)
IFxメッセージ制御レジスタ
読出し
NO
NewDat = 1
YES
IFxメッセージデータレジスタA,B
読出し
YES
EoB = 1
NO
メッセージ番号 = メッセージ番号
+1
398
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.5 CAN 機能
MB91461
14.5.5
割込み機能
ステータス割込み (IntId = 8000H) およびメッセージ割込み (IntId メッセージ番号 )
による割込み処理について説明します。
複数の割込みがペンディング中である場合 , CAN 割込みレジスタはペンディング中の
最高優先度の割込みコードを示します。割込みコードの設定された時間順は無視され ,
常に優先順位の高い割込みコードが表示されます。CPU がクリアするまで割込みコー
ドは保持されます。
ステータス割込み (IntId ビット= 8000H) は , 最高優先度となります。
メッセージ割込みの優先度は , メッセージ番号の小さいメッセージが高く , 大きいメッ
セージが低くなります。
メッセージ割込みは , メッセージオブジェクトの IntPnd ビットのクリアによってクリ
アされます。ステータス割込みは , CAN ステータスレジスタの読出しでクリアされま
す。
CAN 割込みペンディングレジスタの IntPnd ビットは , 割込みの有無を示します。ペン
ディング中の割込みがないときは , IntPnd ビットは "0" を示します。
CAN 制御レジスタの IE ビット , および IFx メッセージ制御レジスタの TxIE ビット ,
RxIE ビットに "1" を設定している状態で , IntPnd ビットが "1" になると CPU への割込
み信号がアクティブになります。割込み信号は , CAN 割込みペンディングレジスタが
"0" にクリアされる ( 割込み要因リセット ) か , CAN 制御レジスタの IE ビットが "0" に
リセットされるまでアクティブ状態を保持します。
CAN 割込みレジスタが 8000H であることは , CAN コントローラによって CAN ステー
タスレジスタが更新を示し , この割込みが最高優先度となります。CAN ステータスレ
ジスタの更新による割込みは , CAN 制御レジスタの EIE ビットと SIE ビットにより
CAN 割込みレジスタへの設定許可 , または禁止の制御ができます。また , CPU への割
込み信号の制御は , CAN 制御レジスタの IE ビットで行うことができます。
CAN ステータスレジスタの RxOk ビット , TxOk ビット , LEC ビットは , CPU からの書
込みにより更新 ( リセット ) することができますが , その書込みにより割込みの設定ま
たはリセットを行うことはできません。
CAN 割込みレジスタが 8000H, 0000H 以外の場合は , メッセージ割込みがペンディング
中であることを示し , 優先度の高い保留中のメッセージ割込みを示します。
CAN 割込みレジスタは , IE がリセットされた場合でも更新されます。
CPU へのメッセージ割込みの要因は , CAN 割込みレジスタ , または CAN 割込みペン
ディングレジスタで確認することができます (「 14.4.4 メッセージハンドラレジスタ」
を参照 ) 。メッセージ割込みをクリアする場合 , 同時にメッセージデータを読み出すこ
とは可能であり , CAN 割込みレジスタで示されているメッセージ割込みをクリアする
と次に優先度の高い割込みが CAN 割込みレジスタに設定され , 次の割込み処理を待つ
ことになります。割込みがない場合には , CAN 割込みレジスタは 0000H を示します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
399
第 14 章 CAN コントローラ
14.5 CAN 機能
MB91461
• ステータス割込み (IntId = 8000H) は , CAN ステータスレジスタの読出しアクセスに
より割込みクリアされます。
• CAN ステータスレジスタへの書込みアクセスによるステータス割込み (IntId =
8000H) は発生しません。
400
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.5 CAN 機能
MB91461
14.5.6
ビットタイミング
ビットタイミングについての概要と CAN コントローラにおけるビットタイミングに
ついて説明します。
CAN ネットワークの各 CAN ノードには , それぞれクロック発振器 ( 通常は水晶発振器 )
があります。ビットタイムのタイムパラメータは , CAN ノードごとに個別に構成でき
ます。CAN ノードの発振周期 (fosc) が異なっていても , 共通のビットレートを作り出
せます。
これらの発振器の周波数は , 温度や電圧の変化 , コンポーネントの悪化により少し異な
ります。その変動が発振器の許容範囲 (df) 内である限りは , CAN ノードはビットスト
リームへ再同期化することで異なるビットレートを補償できます。
CAN 仕様に応じて , ビットタイムは 4 つの区分に分けられ ( 図 14.5-5 を参照 ) , 同期化
部 (Sync_Seg), 伝送時間部 (Prop_Seg), フェイズバッファ部 1 (Phase_Seg1), フェイズバッ
ファ部 2 (Phase_Seg2) で構成されます。それぞれの区分は , プログラマブルな時間量
( 表 14.5-1 を参照 ) から成ります。ビットタイムの基本単位時間 (tq) は , CAN クロック
(fsys) とボーレートプリスケーラ (BRP) で定義されます :
tq = BRP / fsys
CAN クロック (fsys) は , CAN プリスケーラにより生成されたクロックになります。同
期化部の Sync_Seg は , CAN バスのエッジを期待するビットタイム内のタイミングとな
ります。伝送時間部の Prop_Seg は , CAN ネットワーク内の物理的遅延時間を補償しま
す。フェイズバッファ部の Phase_Seg1, Phase_Seg2 は , サンプリングポイントを指定し
ます。再同期化ジャンプ幅 (SJW) は , エッジフェーズエラーを補償するために再同期
化時のサンプリングポイントの移動幅を定義します。
図 14.5-5 ビットタイミング
1ビットタイム(BT)
Sync
_Seg
Prop_Seg
1単位時間
(tq)
CM71-10159-2
Phase_Seg1
Phase_Seg2
サンプリングポイント
FUJITSU MICROELECTRONICS LIMITED
401
第 14 章 CAN コントローラ
14.5 CAN 機能
MB91461
表 14.5-1 CAN ビットタイムのパラメータ
パラメータ
レンジ
機能
BRP
[1 ∼ 32]
Sync_Seg
1 tq
Prop_Seg
[1 ∼ 8] tq
物理遅延時間の補償
Phase_Seg1
[1 ∼ 8] tq
サンプルポイント前のエッジフェーズエラー保証
同期化により一時的に長くされる可能性があります。
Phase_Seg2
[1 ∼ 8] tq
サンプルポイント後のエッジフェーズエラー保証
同期化により一時的に短くされる可能性があります。
SJW
[1 ∼ 4] tq
再同期化ジャンプ幅
どちらかのフェイズバッファ部より長くなることはない。
時間量の長さ tq の定義
固定長 システムクロックへの同期化
図 14.5-6 に , CAN コントローラにおけるビットタイミングを示します。
図 14.5-6 CAN コントローラにおけるビットタイミング
1ビットタイム(BT)
Sync
_Seg
TEG1
1単位時間
(tq)
402
TEG2
サンプリングポイント
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.5 CAN 機能
MB91461
表 14.5-2 CAN コントローラのパラメータ
パラメータ
BRPE, BRP
Sync_Seg
レンジ
機能
時間量の長さ tq の定義
[0 ∼ 1023] ビットタイミングレジスタおよびプリスケーラ拡張レジ
スタにより最大 1024 までプリスケーラを拡張できます。
1 tq
CAN クロックへの同期化
固定長
TSEG1
サンプリングポイント前のタイムセグメントです。
[1 ∼ 15] tq Prop_Seg と Phase_Seg1 に相当します。
ビットタイミングレジスタにより制御可能です。
TSEG2
[0 ∼ 7] tq
サンプリングポイント後のタイムセグメントです。
Phase_Seg2 に相当します。
ビットタイミングレジスタにより制御可能です。
SJW
[0 ∼ 3] tq
再同期化ジャンプ幅です。
ビットタイミングレジスタにより制御可能です。
各パラメータの関係を以下に示します。
tq = ([BRPE, BRP] + 1) / fsys
BT = SYNC_SEG + TEG1 + TEG2
= (1 + (TSEG1 + 1) + (TSEG2 + 1)) × tq
= (3 + TSEG1 + TSEG2) × tq
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
403
第 14 章 CAN コントローラ
14.5 CAN 機能
14.5.7
MB91461
テストモード
テストモードの設定方法および動作について説明します。
■ テストモード設定
CAN 制御レジスタの Test ビットに "1" をセットすることでテストモードになります。
テストモードに設定すると, CANテストレジスタのビットTx1, Tx0, LBack, Silent, Basic
ビットが有効となります。
CAN 制御レジスタの Test ビットを "0" にリセットすることにより , すべてのテストレ
ジスタ機能を無効にします。
■ サイレントモード
CAN テストレジスタの Silent ビットを "1" に設定することにより , CAN コントローラ
をサイレントモードに設定できます。
サイレントモードでは, データフレームとリモートフレームを受信可能であるが, CAN
バス上にはレセッシブのみ出力し , メッセージおよび ACK の送信を行いません。
CAN コントローラがドミナントビット (ACK ビット , オーバロードフラグ , アクティ
ブエラーフラグ ) の送信を要求された場合 , CAN コントローラ内部の折返し回路で RX
側に送信されます。この動作では , CAN バス上においてレセッシブ状態であっても ,
受信側ではCANコントローラ内部で折り返し送信されたドミナントビットを受信しま
す。
サイレントモードでは , ドミナントビット (ACK ビット , エラーフラグ ) 送信による影
響がない状態で , CAN バス上のトラフィック解析ができます。
図 14.5-7 にサイレントモードでのコントローラを示します。
図 14.5-7 サイレントモードでの CAN コントローラ
CAN_TX
CAN_RX
CANコントローラ
Silent ビット= 1
Tx
Rx
CANコア
404
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.5 CAN 機能
MB91461
■ ループバックモード
CAN テストレジスタの LBack ビットを "1" に設定することにより , CAN コントローラ
をループバックモードに設定できます。
ループバックモードは , 自己診断機能に使用できます。
ループバックモードでは , CAN コントローラ内部で TX 側と RX 側が接続され , CAN
コントローラが送信したメッセージを RX 側で受信したメッセージとして扱い , 受容
フィルタを通過したメッセージは , 受信バッファに格納します。
図 14.5-8 に , ループバックモードの CAN コントローラを示します。
図 14.5-8 ループバックモードの CAN コントローラ
CAN_TX
CAN_RX
Tx
Rx
CANコントローラ
CANコア
外部信号から独立するため , データ / リモートフレームのアクノリッジスロットでのド
ミナントビットはサンプリングされません。そのため , 通常 , CAN コントローラはア
クノリッジエラーを発生しますが , 本テストモードではアクノリッジエラーを発生し
ないようにしています。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
405
第 14 章 CAN コントローラ
14.5 CAN 機能
MB91461
■ サイレントモードとループバックモードの結合
CAN テストレジスタの LBack ビットと Silent ビットを同時に "1" に設定することによ
り , ループバックモードとサイレントモードを結合させて動作することが可能です。
このモードは , ホットセルフテスト用に使用できます。ホットセルフテストとは , CAN
コントローラがループバックモードでテストしたときに , CAN_TX 端子にはレセッシ
ブの固定出力 , CAN_RX 端子からの入力は無効となりますので , CAN システムの動作
に影響がないことを意味しています。
図 14.5-9 に , サイレントモードとループバックモードが結合された CAN コントローラ
を示します。
図 14.5-9 サイレントモードとループバックモードが結合された CAN コントローラ
CAN_TX
CAN_RX
CANコントローラ
LBack ビット,Silent ビット= 1
Tx
Rx
CANコア
406
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.5 CAN 機能
MB91461
■ ベーシックモード
CAN テストレジスタの Basic ビットを "1" に設定することにより , CAN コントローラ
をベーシックモードに設定できます。
ベーシックモードでは , CAN コントローラはメッセージ RAM を使用せずに動作しま
す。
IF1 メッセージインタフェースレジスタは , 送信制御用として使用されます。
メッセージ送信を行う場合 , まず , IF1 メッセージインタフェースレジスタに送信する
内容を設定します。次に , IF1 コマンド要求レジスタの BUSY ビットに "1" を設定する
ことで送信要求します。BUSY ビットが "1" に設定されている間 , IF1 メッセージイン
タフェースレジスタをロックしている , または送信が保留されていることを示します。
BUSY ビットに "1" が設定されると CAN コントローラは以下の動作を行います。
CANバスがバスアイドルになるとすぐに, IF1メッセージインタフェースレジスタの内
容を送信用シフトレジスタへロードして送信を開始します。正常に送信を完了すると ,
BUSY ビットが "0" にリセットされ , ロックされていた IF1 メッセージインタフェース
レジスタを開放します。
送信が保留されているときに , IF1 コマンド要求レジスタの BUSY ビットを "0" にリ
セットすることでいつでも中断できます。また , 送信中に BUSY ビットを "0" にリセッ
トすると , 調停負けやエラーなどの場合に行われる再送信を停止します。
IF2 メッセージインタフェースレジスタは , 受信制御用として使用されます。
メッセージの受信は , 受容フィルタを使用せずにすべて受信します。IF2 コマンド要求
レジスタの BUSY ビットを "1" に設定することにより , 受信したメッセージの内容を読
み出すことが可能となります。
BUSY ビットに "1" が設定されると , CAN コントローラは受信したメッセージ ( 受信用
のシフトレジスタの内容 ) を受容フィルタなしで IF2 メッセージインタフェースレジス
タへ格納します。
新しいメッセージが IF2 メッセージインタフェースレジスタに格納された場合 , CAN
コントローラが NewDat ビットを "1" に設定します。また , NewDat ビットが "1" のと
きに , さらに新しいメッセージを受信した場合は , CAN コントローラが MsgLst を "1"
に設定します。
• ベーシックモードでは , 制御 / 状態ビットに関係するすべてのメッセージオブジェ
クトと IFx コマンドマスクレジスタの制御モード設定は無効となります。
• コマンド要求レジスタのメッセージ番号は無効です。
• IF2 メッセージ制御レジスタの NewDat ビットと MsgLst ビットは通常時と同様に動
作し , DLC3 ∼ DLC0 は受信された DLC を示し , ほかの制御ビットは "0" として読
み出されます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
407
第 14 章 CAN コントローラ
14.5 CAN 機能
MB91461
■ 端子 CAN_TX のソフトウェア制御
CAN 送信端子である CAN_TX には , 4 つの出力機能があります。
• シリアルデータ出力 ( 通常出力 )
• CAN コントローラのビットタイミングをモニタするための CAN サンプリングポイ
ント信号出力
• ドミナント固定出力
• レセッシブ固定出力
ドミナントおよびレセッシブの固定出力は , CAN 受信端子の CAN_RX モニタ機能とと
もに , CAN バスの物理層のチェックに使用することができます。
CAN_TX 端子の出力モードは , CAN テストレジスタの Tx1 と Tx0 ビットにより制御可
能です。
CANメッセージ送信もしくはループバックモード, サイレントモード, ベーシックモー
ドを使用する際は , CAN_TX をシリアルデータ出力に設定する必要があります。
408
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.5 CAN 機能
MB91461
14.5.8
ソフトウェア初期化
ソフトウェアによる初期化について説明します。
ソフトウェアでの初期化要因を以下に示します。
• ハードウェアリセット
• CAN 制御レジスタの Init ビットの設定
• バスオフ状態への遷移
ハードウェアによるリセットは, メッセージRAM (MsgVal, NewDat, IntPnd, TxRqstビッ
トを除く ) 以外すべて初期化されます。メッセージ RAM はハードウェアによるリセッ
ト後 , CPU によって初期化するか , メッセージ RAM の MsgVal を "0" にしてください。
また , ビットタイミングレジスタを設定する場合には , CAN 制御レジスタの Init ビット
を "0" にクリアする前に設定してください。
CAN 制御レジスタの Init ビットは , 以下の条件で "1" に設定されます。
• CPU からの "1" 書込み
• ハードウェアリセット
• バスオフ
Init ビットが "1" に設定されると , CAN バスの全メッセージ送受信は停止され , CAN バ
ス出力の CAN_TX 端子はレセッシブ出力となります (CAN_TX テストモードは除く ) 。
Init ビットに "1" を設定すると , エラーカウンタは変化しませんし , レジスタも変更さ
れません。
CAN 制御レジスタの Init ビットと CCE ビットが "1" に設定されると , ボーレート制御
用のビットタイミングレジスタとプリスケーラ拡張レジスタへの設定が可能となりま
す。
Init ビットを "0" にリセットすることにより , ソフトウェア初期化を終了します。また ,
Init ビットを "0" にすることは , CPU からのアクセスでしか実行できません。
Init ビットが "0" にリセットされてから , 連続した 11 ビットのレセッシブの発生 ( =バ
スアイドル ) を待つことにより , CAN バス上のデータ転送と同期化した後 , メッセージ
の転送が行われます。
通常動作中にメッセージオブジェクトのマスク , ID, XTD, EoB, RmtEn を変更する場合 ,
MsgVal を無効に設定してから変更してください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
409
第 14 章 CAN コントローラ
14.5 CAN 機能
14.5.9
MB91461
CAN クロックプリスケーラ
PLL 動作中の CAN クロック切換えについて説明します。
■ ブロック図
図 14.5-10 に , CAN クロックプリスケーラブロックダイヤグラムを示します。
CAN クロックプリスケーラレジスタ (CANPRE) の設定に従い , CAN に供給されるク
ロックが決定されます。
図 14.5-10 CAN クロックプリスケーラブロックダイヤグラム
CPUクロック
CAN
インタフェース
クロック
ユニット
クロック
デバイダ
CAN
コントローラ
X0
PLL
CPCK[1:0]
DVC[3:0]
CANPRE
410
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 14 章 CAN コントローラ
14.5 CAN 機能
MB91461
■ クロック切換え手順
CAN クロックプリスケーラを使用したクロックの切換え方法については , 以下に示す
手順を推奨します。
図 14.5-11 クロック切換え手順
CANクロックの発振器出力
からPLLへの切換え
CANクロックのPLLから
発振器出力への切換え
CANコントロール
レジスタのInitビットを
設定
CANコントロール
レジスタのInitビットを
設定
PLL許可
プリスケーラ設定
PLL安定時間待ち
PLL停止
プリスケーラ設定
CANコントロール
レジスタのInitビットを
リセット
CANコントロール
レジスタのInitビットを
リセット
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
411
第 14 章 CAN コントローラ
14.5 CAN 機能
MB91461
■ CAN クロック周波数
CANPRE の CPCKS1, CPCKS0 と DVC3 ∼ DVC0 の設定により生成される CAN クロッ
ク周波数を以下に示します (18MHz の水晶振動子を接続した場合の値です )。
CPCKS1, CPCKS0 = 00B
CPCKS1, CPCKS0 = 01B
DVC3 ∼
DVC0 (CPU クロック 72MHz 選択時 ) (PLL 出力 144MHz 選択時 )
CPCKS1, CPCKS0 = 11B
( 原発振クロック 18MHz
選択時 )
0000B
72.00MHz ( 設定禁止 )
144.00MHz ( 設定禁止 )
18.00MHz
0001B
36.00MHz ( 設定禁止 )
72.00MHz ( 設定禁止 )
9.00MHz
0010B
24.00MHz ( 設定禁止 )
48.00MHz ( 設定禁止 )
6.00MHz
0011B
18.00MHz
36.00MHz ( 設定禁止 )
4.50MHz
0100B
14.40MHz
28.80MHz ( 設定禁止 )
3.60MHz
0101B
12.00MHz
24.00MHz ( 設定禁止 )
3.00MHz
0110B
10.29MHz
20.57MHz ( 設定禁止 )
2.57MHz
0111B
9.00MHz
18.00MHz
2.25MHz
1000B
8.00MHz
16.00MHz
2.00MHz
1001B
7.20MHz
14.40MHz
1.80MHz
1010B
6.55MHz
13.09MHz
1.64MHz
1011B
6.00MHz
12.00MHz
1.50MHz
1100B
5.54MHz
11.08MHz
1.38MHz
1101B
5.14MHz
10.29MHz
1.29MHz
1110B
4.80MHz
9.60MHz
1.33MHz
1111B
4.50MHz
9.00MHz
1.25MHz
• CAN プリスケーラ設定ビットの変更は , CAN 制御レジスタの初期化ビットを "1" に
設定し , すべてのバス動作を停止させた後に行ってください。
• CAN クロックは 20MHz 以下としてください。
412
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章
LIN-UART
LIN 対応 UART の機能と動作について説明します。
15.1 LIN-UART の概要
15.2 LIN-UART の構成
15.3 LIN-UART のレジスタ
15.4 LIN-UART の割込み
15.5 LIN-UART のボーレート
15.6 LIN-UART の動作
15.7 LIN-UART 使用上の注意事項
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
413
第 15 章 LIN-UART
15.1 LIN-UART の概要
15.1
MB91461
LIN-UART の概要
LIN(Local Interconnect Network) 対応 UART(Universal Asynchronous Receiver
and Transmitter) は , 外部デバイスとの非同期 / 同期通信を実現する汎用のシリアル
データ通信インタフェースです。LIN-UART は双方向通信機能 ( ノーマルモード ) ,
マスタ / スレーブ通信機能 ( マスタシステムにおけるマルチプロセッサモード ) , LIN
バスシステム ( マスタ / スレーブ , 両方での動作 ) をサポートしています。
■ 概要
LIN-UART は , 別の CPU あるいは周辺回路 , 特に LIN デバイスとのデータ送受信に使
用される汎用のシリアルデータ通信インタフェースです。表 15.1-1 に LIN-UART の機
能を示します。
表 15.1-1 LIN-UART の機能 (1 / 2)
項目
機能
データバッファ
全二重バッファ
シリアル入力
非同期モードでは , 5 回のオーバサンプリングを実行し , 受信値を決定
転送モード
• クロック同期
( スタート / ストップ同期 , スタート / ストップビット選択 )
• クロック非同期 ( スタート / ストップビット使用 )
• 専用の 15 ビットボーレートジェネレータ搭載
転送レート
• 外部クロック入力を使用でき , リロードカウンタで調整
• 7 ビット ( 同期モード・LIN モードでは使用不可 )
データ長
• 8 ビット
シグナルモード
NRZ (Non Return to Zero) 形式
スタートビットタイミング
非同期モードでは , スタートビットの立下りエッジとクロック同期化
• フレーミングエラー
受信エラー検出
• オーバランエラー
• パリティエラー
• 受信割込み ( 受信完了・受信エラー検出 )
• 送信割込み ( 送信完了 )
割込み要求
• バスアイドル割込み ( 受信割込みに属する )
• LIN-Synch-Break 割込み ( 受信割込みに属する )
マスタ / スレーブ通信機能 1 対複数 (1 マスタ , 複数スレーブ ) の通信が可能
( マルチプロセッサモード ) ( マスタ , スレーブのいずれのシステムでもサポート )
同期化モード
414
マスタあるいはスレーブ UART としての機能
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.1 LIN-UART の概要
MB91461
表 15.1-1 LIN-UART の機能 (2 / 2)
項目
送受信線
機能
直接アクセスが可能
• マスタデバイスとしての動作
• スレーブデバイスとしての動作
LIN バスオプション
• LIN-Synch-Break の生成
• LIN-Synch-Break の検出
• LIN-Synch-Field のスタート / ストップエッジを ICU で検出
同期シリアルクロック
同期シリアルクロックは , スタート / ストップビットを用いた同期通信
用に , SCK 端子より継続的に出力可能
クロック遅延オプション
クロック遅延用の特殊同期クロックモード (SPI 用 )
■ LIN-UART の動作モード
LIN-UART には 4 つのモードがあり , シリアルモードレジスタ (SMR) の MD0, MD1 ビッ
トにより設定されます。
モード0とモード2は双方向シリアル通信に, モード1はマスタ/
スレーブ通信に使用されます。モード 3 は LIN マスタ / スレーブ通信用です。
表 15.1-2 LIN-UART の動作モード
データ長
動作モード
0
パリティ
禁止
パリティ
許可
同期モード
ストップ
ビット長
データビット
検出 *1
ノーマルモード
7 ビットまたは 8 ビット
非同期
1 or 2
L/M
1
マルチプロセッサモード
7 ビットま
たは
8 ビット+ 1
ビット *2
非同期
1 or 2
L/M
2
ノーマルモード
同期
0, 1 or 2
L/M
3
LIN モード
非同期
1
L
−
8 ビット
8 ビット
−
*1:
LSB ファーストまたは MSB ファーストからの転送モードを意味します。
*2 :
" + 1" は , マルチプロセッサモードでパリティビットの代わりにアドレス / データの切り換わり
を示すためです。
<注意事項>
モード 1 ( マルチプロセッサモード ) は , マスタ / スレーブシステムにおける LIN-UART の
マスタ , スレーブどちらの動作でもサポートします。モード 3 では , LIN-UART の機能は
8N1 フォーマット , LSB ファーストに固定されます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
415
第 15 章 LIN-UART
15.1 LIN-UART の概要
MB91461
モードを変更した場合は , LIN-UART は送受信を停止して待機し , 新たな動作へ移行し
ます。
表 15.1-3 に , モードビットの設定を示します。
表 15.1-3 モードビットの設定
416
MD1
MD0
モード
0
0
0
非同期 ( ノーマルモード )
0
1
1
非同期 ( マルチプロセッサモード )
1
0
2
同期 ( ノーマルモード )
1
1
3
非同期 (LIN モード )
機能
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.2 LIN-UART の構成
MB91461
15.2
LIN-UART の構成
LIN-UART の構成について説明します。
■ LIN-UART のブロックダイヤグラム
LIN-UART は下記のブロックにより構成されています。
• リロードカウンタ
• 受信制御回路
• 受信シフトレジスタ
• 受信データレジスタ (RDR)
• 送信制御回路
• 送信シフトレジスタ
• 送信データレジスタ (TDR)
• エラー検出回路
• オーバサンプリングユニット
• 割込み生成回路
• LIN-Synch-Break および Sync-Field 検出回路
• バスアイドル検出回路
• シリアルモードレジスタ (SMR)
• シリアル制御レジスタ (SCR)
• シリアルステータスレジスタ (SSR)
• 拡張通信制御レジスタ (ECCR)
• 拡張通信ステータス / 制御レジスタ (ESCR)
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
417
第 15 章 LIN-UART
15.2 LIN-UART の構成
MB91461
■ LIN-UART のブロックダイヤグラム
図 15.2-1 LIN-UART のブロックダイヤグラム
PE
送信クロック
CLK
FRE
TIE
受信クロック
リロード
カウンタ
SCK
受信制御回路
RIE
送信制御回路
LBIE
割込み発生回路
Pin
受信再開リロード
カウンタ
LBD
送信スタート
回路
スタート
ビット検出
SIN
Pin
ORE
送信ビット
カウンタ
受信ビット
カウンタ
BIE
RBI
TBI
受信IRQ
TDRE
送信IRQ
オーバサン
プリング
ユニット
SOT
送信パリティ
カウンタ
受信パリティ
カウンタ
Pin
RDRF
受信完了
SOT
SIN
ICUへの
シグナル
受信シフト
レジスタ
LIN-SynchBreak,
SIN
送信シフト
レジスタ
Synch-Field
検出回路
LIN-Break
発生
送信スタート
エラー検出
RDR
バスアイドル
検出
TDR
LBR
LBL1
LBL0
STR
PE
ORE
FRE
RBI
TBI
LBD
内部データバス
PE
ORE
FRE
RDRF
TDRE
BDS
RIE
TIE
418
MD1
MD0
(OTO)
(EXT)
SSR
レジスタ (REST)
UPCL
SCKE
SOE
SMR
レジスタ
PEN
P
SBL
CL
AD
CRE
RXE
TXE
SCR
レジスタ
LBIE
LBD
LBL1
LBL0
SOPE
SIOP
CCO
SCES
ESCR
レジスタ
FUJITSU MICROELECTRONICS LIMITED
LBR
MS
SPI
SSM
BIE
RBI
TBI
ECCR
レジスタ
CM71-10159-2
第 15 章 LIN-UART
15.2 LIN-UART の構成
MB91461
■ 各ブロックの説明
● リロードカウンタ
リロードカウンタは専用のボーレートジェネレータとして機能します。送受信クロッ
クは , 外部クロックまたは内部クロックから生成されます。リロードカウンタにはリ
ロード値として 15 ビットのレジスタがあります。送信リロードカウンタの実際のカウ
ント値は , BGR0/BGR1 の値から読み出すことができます。
● 受信制御回路
受信制御回路は , 受信ビットカウンタ , スタートビット検出回路 , 受信パリティカウン
タによって構成されます。
受信ビットカウンタは受信データをカウントします。指定されたデータ長の 1 データ
の受信が完了すると , 受信ビットカウンタは受信データレジスタフルフラグを設定し
ます。
スタートビット検出回路はシリアル入力信号からスタートビットを検出し , スタート
ビットの立下りエッジと同期してリロードカウンタへ信号を送出します。
受信パリティカウンタは受信データのパリティを計算します。
● 受信シフトレジスタ
受信シフトレジスタは, SIN端子から入力された受信データをビット単位でシフトして
取り込みます。受信が完了すると , 受信シフトレジスタは受信データを受信データレジ
スタ (RDR) へ転送します。
● 受信データレジスタ (RDR)
受信データレジスタでは受信データが保持されます。シリアル入力データは変換され ,
このレジスタへと格納されます。
● 送信制御回路
送信制御回路は , 送信ビットカウンタ , 送信開始回路 , 送信パリティカウンタによって
構成されます。
送信ビットカウンタは送信データビットをカウントします。指定されたデータ長の 1
データの送信が完了すると , 送信ビットカウンタは送信データレジスタエンプティフ
ラグを設定します。
送信開始回路は , データが TDR に書き込まれると送信を開始します。
送信パリティカウンタは , パリティありの場合には送信データのパリティビットを生
成します。
● 送信シフトレジスタ
送信シフトレジスタは , 送信データレジスタ (TDR) へ書き込まれた送信データをシフ
トし , SOT 端子へデータをビット単位で出力します。
● 送信データレジスタ (TDR)
送信データレジスタに送信データを設定します。このレジスタに書き込まれたデータ
はシリアルデータへ変換されて出力されます。
● エラー検出回路
エラー検出回路は , 最新の受信でのエラーの有無を確認します。エラーが発生すると ,
対応するエラーフラグを設定します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
419
第 15 章 LIN-UART
15.2 LIN-UART の構成
MB91461
● オーバサンプリングユニット
オーバサンプリングユニットは , SIN 端子からの入力データを 5 回オーバサンプリング
します。同期動作モードでは , このユニットは動作しません。
● 割込み生成回路
割込み生成回路は , すべての割込みを管理します。割込みが許可され , それに対応する
割込み要因が発生すると , 直ちに割込みを生成します。
● LIN-Break および Sync-Field 検出回路
LIN-Break および LIN-Sync-Break 検出回路は , LIN マスタノードがメッセージハンドラ
を送出していると , LIN-Break を検出します。LIN-Break が検出されると , LBD フラグ
ビットが生成されます。Sync-Field の 1 回目と 5 回目の立下りエッジは , この回路に
よって検出され , 送信マスタノードの正確なシリアルクロックサイクルを測定するた
めにインプットキャプチャへ内部信号を送出します。
● LIN-Break 生成回路
LIN-Break 生成回路は , 定められた長さの LIN-Synch-Break を生成します。
● バスアイドル検出回路
バスアイドル検出回路は , 受信 / 送信のどちらも実行されていない ( バスアイドル ) こ
とを検出します。この場合 , この回路はフラグビット TBI および RBI を生成します。
● シリアルモードレジスタ (SMR)
シリアルモードレジスタにより , 下記の動作が行われます。
• LIN-UART 動作モードの選択
• クロック入力の選択
• 外部クロックが 1 対 1 接続 , またはリロードカウンタ接続であるかの選択
• 専用リロードタイマの再起動
• LIN-UART のリセット ( レジスタの設定は保存 )
• シリアル出力端子 (SOT) の出力許可
• シリアルクロック端子 (SCK) の入出力切換え
● シリアル制御レジスタ (SCR)
シリアル制御レジスタにより , 下記の動作が行われます。
• パリティビットの有無
• パリティビットの選択
• ストップビット長の指定
• データ長の指定
• モード 1 におけるフレームデータフォーマットの指定
• エラーフラグのクリア
• 送信許可
• 受信許可
420
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.2 LIN-UART の構成
MB91461
● シリアルステータスレジスタ (SSR)
シリアルステータスレジスタで送信 / 受信状態およびエラー状態を確認します。また ,
送信 / 受信割込みの許可 , 転送方向 (LSB ファースト /MSB ファースト ) の設定も行い
ます。
● 拡張ステータス・制御レジスタ (ESCR)
拡張ステータス・制御レジスタでは LIN 機能を設定できます。SIN, SOT 端子への直接
アクセスと LIN-UART 同期クロックモードの設定ができます。
● 拡張通信制御レジスタ (ECCR)
拡張通信制御レジスタでは , バスアイドル検出割込みの設定 , 同期クロック設定 , LINBreak 生成ができます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
421
第 15 章 LIN-UART
15.3 LIN-UART のレジスタ
MB91461
LIN-UART のレジスタ
15.3
図 15.3-1 に , LIN-UART のレジスタを示します。
■ LIN-UART のレジスタ
図 15.3-1 LIN-UART のレジスタ
SCR
アドレス : 000040H, 000048H, bit 15
000050H, 000058H,
000060H, 000068H, PEN
000070H
リード / ライト
初期値
14
13
12
11
10
9
8
P
SBL
CL
AD
CRE
RXE
TXE
R/W
R/W
R/W
R/W
R/W
W
R/W
R/W
0
0
0
0
0
0
0
0
SMR
アドレス : 000041H, 000049H, bit 7
000051H, 000059H,
000061H, 000069H, MD1
000071H
6
5
4
3
2
1
0
MD0
OTO
EXT
REST
UPCL
SCKE
SOE
R/W
R/W
R/W
R/W
W
W
R/W
R/W
0
0
0
0
0
0
0
0
14
13
12
11
10
9
8
ORE
FRE
RDRF
TDRE
BDS
RIE
TIE
リード / ライト
初期値
SSR
アドレス : 000042H, 00004AH, bit 15
000052H, 00005AH,
000062H, 00006AH, PE
000072H
リード / ライト
R
R
R
R
R
R/W
R/W
R/W
初期値
0
0
0
0
1
0
0
0
6
5
4
3
2
1
0
D6
D5
D4
D3
D2
D1
D0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
RDR/TDR
アドレス : 000043H, 00004BH, bit 7
000053H, 00005BH,
000063H, 00006BH, D7
000073H
リード / ライト
初期値
ESCR
アドレス : 000044H, 00004CH, bit 15
000054H, 00005CH,
000064H, 00006CH, LBIE
000074H
14
13
12
11
10
9
8
LBD
LBL1
LBL0
SOPE
SIOP
CCO
SCES
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
x
0
0
リード / ライト
初期値
( 続く )
422
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.3 LIN-UART のレジスタ
MB91461
( 続き )
ECCR
アドレス : 000045H, 00004DH, bit 7
000055H, 00005DH,
000065H, 00006DH, 予約
000075H
6
5
4
3
2
1
0
LBR
MS
SCDE
SSM
BIE
RBI
TBI
リード / ライト
−
W
R/W
R/W
R/W
R/W
R
R
初期値
0
0
0
0
0
0
X
X
14
13
12
11
10
9
8
B14
B13
B12
B11
B10
B09
B08
BGR1
アドレス : 000080H, 000082H, bit 15
000084H, 000086H,
000088H, 00008AH, 予約
00008CH
リード / ライト
−
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
BGR0
アドレス : 000081H, 000083H, bit 7
000085H, 000087H,
000089H, 00008BH, B07
00008DH
6
5
4
3
2
1
0
B06
B05
B04
B03
B02
B01
B00
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
リード / ライト
初期値
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
423
第 15 章 LIN-UART
15.3 LIN-UART のレジスタ
15.3.1
MB91461
シリアル制御レジスタ (SCR)
シリアル制御レジスタ (SCR) では , パリティビットの指定 , ストップビット長と
データ長の選択 , モード 1 におけるフレームデータフォーマットの選択 , 受信エラー
フラグのクリア , 送信 / 受信の許可を設定します。
■ シリアル制御レジスタ (SCR)
図 15.3-2 シリアル制御レジスタ (SCR) のビット構成
SCR
アドレス : 000040H, 000048H, bit 15
000050H, 000058H,
000060H, 000068H, PEN
000070H
リード / ライト
初期値
14
13
12
11
10
9
8
P
SBL
CL
AD
CRE
RXE
TXE
R/W
R/W
R/W
R/W
R/W
W
R/W
R/W
0
0
0
0
0
0
0
0
[bit15] PEN : パリティ許可ビット
PEN
パリティ許可
0
パリティなし [ 初期値 ]
1
パリティあり
このビットは , シリアル非同期モードでの送信データにパリティの付与を選択しま
す。受信中には , パリティの検出を行います。
パリティはモード 0, および ECCR の SSM ビットが設定されている場合はモード 2
でも追加されます。このビットはモード 3 (LIN モード ) では "0" 固定 ( パリティな
し ) です。
[bit14] P : パリティ選択ビット
P
パリティ選択
0
偶数パリティ [ 初期値 ]
1
奇数パリティ
パリティが有効である場合は , このビットにより偶数パリティ (0), 奇数パリティ (1)
が選択されます。
424
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.3 LIN-UART のレジスタ
MB91461
[bit13] SBL : ストップビット長選択ビット
SBL
ストップビット長
0
1 ビット [ 初期値 ]
1
2 ビット
このビットは , 非同期データフレームのストップビット長を選択します。ECCR の
SSM ビットが設定されている場合は , 同期データフレームでも選択されます。この
ビットはモード 3 (LIN モード ) では "0" 固定 (1 ビット ) です。
[bit12] CL : データ長選択ビット
CL
データ 長
0
7 ビット [ 初期値 ]
1
8 ビット
このビットは , 送信 / 受信データ長を指定します。モード 2 およびモード 3 では , こ
のビットは "1" (8 ビット ) に固定されます。
[bit11] AD : アドレス / データ選択ビット
AD
アドレス / データビット
0
データビット [ 初期値 ]
1
アドレスビット
このビットはマルチプロセッサモード 1 でのデータ形式を指定します。このビット
への書込みはマスタ CPU 用であり , 読出しはスレーブ CPU 用です。"1" はアドレス
フレームを , "0" はデータフレームを示します。
<注意事項>
AD ビットの使用については ,「15.7 LIN-UART 使用上の注意事項」を参照してください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
425
第 15 章 LIN-UART
15.3 LIN-UART のレジスタ
MB91461
[bit10] CRE : 受信エラーフラグクリアビット
受信エラークリア
CRE
書込み
0
無効 [ 初期値 ]
1
すべての受信エラー
(PE, FRE, ORE) をクリア
読出し
読出し値は常に "0"
このビットにより , シリアルステータスレジスタ (SSR) の PE, FRE, ORE フラグがク
リアされます。このビットは受信エラー割込み要因もクリアします。
"1" 書込みによりエラーフラグはクリアされます。"0" 書込みは無効です。
読出しは常に "0" を返します。
<注意事項>
受信動作を禁止せずに受信エラーフラグをクリアにすると , そのタイミングで受信をいっ
たん中断し , その後再開します。このため , 受信再開時に正常なデータを受信しない場合
があります。
[bit9] RXE : 受信許可ビット
RXE
受信許可
0
受信禁止 [ 初期値 ]
1
受信許可
このビットにより LIN-UART の受信が許可されます。このビットが "0" に設定され
ている場合は , LIN-UART はデータフレームの受信を停止します。モード 0 および
モード 3 での LIN-Break 検出では無効のままです。
[bit8] TXE : 送信許可ビット
TXE
送信許可
0
送信禁止 [ 初期値 ]
1
送信許可
このビットにより LIN-UART の送信が許可されます。このビットが "0" に設定され
ている場合は , LIN-UART はデータフレームの送信を停止します。
426
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.3 LIN-UART のレジスタ
MB91461
15.3.2
シリアルモードレジスタ (SMR)
シリアルモードレジスタ (SMR) は , 動作モードとボーレートクロックを選択します。
また , シリアルクロック (SCK) の入出力方向の指定 , シリアル出力許可の設定を行
います。
■ シリアルモードレジスタ (SMR)
図 15.3-3 シリアルモードレジスタ (SMR) のビット構成
SMR
アドレス : 000041H, 000049H, bit 7
000051H, 000059H,
000061H, 000069H, MD1
000071H
6
5
4
3
2
1
0
MD0
OTO
EXT
REST
UPCL
SCKE
SOE
リード / ライト
R/W
R/W
R/W
R/W
W
W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
[bit7, bit6] MD1, MD0 : 動作モード選択ビット
MD0
MD1
0
0
モード 0 : 非同期ノーマルモード [ 初期値 ]
1
0
モード 1 : 非同期マルチプロセッサモード
0
1
モード 2 : 同期モード
1
1
モード 3 : 非同期 LIN モード
動作モード設定
これらのビットにより , LIN-UART の動作モードが設定されます。
[bit5] OTO : 1 to 1 外部クロック選択ビット
OTO
外部クロック選択
0
外部クロックをボーレートジェネレータ ( リロードカウンタ ) に使
用 [ 初期値 ]
1
外部クロックをシリアルクロックとして使用
このビットが設定されると , LIN-UART のシリアルクロックとして外部クロックが
直接使用されます。この機能は同期スレーブモード動作時に使用されます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
427
第 15 章 LIN-UART
15.3 LIN-UART のレジスタ
MB91461
[bit4] EXT : 外部クロック選択ビット
EXT
外部シリアルクロック許可
0
内蔵ボーレートジェネレータ ( リロードカウンタ ) を使用
[ 初期値 ]
1
外部クロックをシリアルクロックとして使用
このビットにより , リロードカウンタ用のクロックを選択できます。
[bit3] REST : 送信リロードカウンタ再起動ビット
送信リロードカウンタ再起動
REST
書込み
0
無効 [ 初期値 ]
1
カウンタ再起動
読出し
読出し値は常に "0"
このビットに "1" が書き込まれると , リロードカウンタは再起動されます。"0" 書込
みは無効です。
読出しは常に "0" を返します。
[bit2] UPCL : UART クリアビット ( ソフトウェアリセット )
UART クリア ( ソフトウェアリセット )
UPCL
書込み
0
無効 [ 初期値 ]
1
UART リセット
読出し
読出し値は常に "0"
このビットに "1" が書き込まれると , LIN-UART は直ちにリセットされますが , レジ
スタの設定値は保存されます。
受信 / 送信は中断されます。
エラーフラグはすべてクリアされ , 受信データレジスタ (RDR) は 00H となります。
"0" 書込みは無効です。
読出しは常に "0" を返します。
428
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.3 LIN-UART のレジスタ
MB91461
[bit1] SCKE : シリアルクロック出力許可
SCKE
シリアルクロック出力許可
0
外部クロック入力 [ 初期値 ]
1
シリアルクロック出力
このビットはシリアルクロック端子 (SCK) の入出力を制御します。
このビットが "0" の場合は , SCK 端子は汎用ポート / シリアルクロック入力端子と
して動作します。"1" の場合は , シリアルクロック出力端子となります。
<注意事項>
SCK 端子をシリアルクロック入力として使用する場合 (SCKE = 0), ポートは入力ポート
として設定してください。シリアルクロック出力として使用する場合は , SCKE ビットの
設定と SCK 端子に対応するポートファンクションレジスタ (PFR) の設定が必要です。ポー
トファンクションレジスタの設定についての詳細は , 「第 9 章 I/O ポート」を参照してく
ださい。また , 外部クロック選択ビットを使用 (EXT = 1) して外部クロックを選択してく
ださい。
[bit0] SOE : シリアルデータ出力許可ビット
SOE
シリアルデータ出力許可
0
SOT 出力禁止 [ 初期値 ]
1
SOT 出力許可
このビットにより , シリアル出力が許可されます。
このビットが "1" の場合は , シリアルデータ出力が許可されます。
<注意事項>
SOT 端子をシリアル出力として使用する場合は , SOE ビットの設定と , 対応するポート
ファンクションレジスタ (PFR) の設定が必要です。ポートファンクションレジスタの設定
についての詳細は , 「第 9 章 I/O ポート」を参照してください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
429
第 15 章 LIN-UART
15.3 LIN-UART のレジスタ
15.3.3
MB91461
シリアルステータスレジスタ (SSR)
シリアルステータスレジスタ (SSR) により , 送信 / 受信状態 , エラーの有無を確認で
きます。また , 送信 / 受信割込みの制御も行います。
■ シリアルステータスレジスタ (SSR)
図 15.3-4 シリアルステータスレジスタ (SSR) のビット構成
SSR
アドレス : 000042H, 00004AH, bit 15
000052H, 00005AH,
PE
000062H, 00006AH,
000072H
14
13
12
11
10
9
8
ORE
FRE
RDRF
TDRE
BDS
RIE
TIE
リード / ライト
R
R
R
R
R
R/W
R/W
R/W
初期値
0
0
0
0
1
0
0
0
[bit15] PE : パリティエラーフラグビット
PE
パリティエラー
0
パリティエラーなし [ 初期値 ]
1
受信中にパリティエラー発生
受信中にパリティエラーが発生すると , このビットは "1" に設定されます。シリア
ル制御レジスタ (SCR) の CRE ビットに "1" が書き込まれると , このビットはクリア
されます。
このビットと RIE ビットが "1" の場合は , 受信割込み要求が出力されます。
このフラグが設定された場合は , 受信データレジスタ (RDR) のデータは無効です。
[bit14] ORE : オーバランエラーフラグビット
ORE
オーバランエラー
0
オーバランエラーなし [ 初期値 ]
1
受信中にオーバランエラー発生
受信中にオーバランエラーが発生すると , このビットは "1" に設定されます。シリ
アル制御レジスタ (SCR) の CRE ビットに "1" が書き込まれると , このビットはクリ
アされます。
このビットと RIE ビットが "1" の場合は , 受信割込み要求が出力されます。
このフラグが設定された場合は , 受信データレジスタ (RDR) のデータは無効です。
430
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.3 LIN-UART のレジスタ
MB91461
[bit13] FRE : フレーミングエラーフラグビット
FRE
フレーミングエラー
0
フレーミングエラーなし [ 初期値 ]
1
受信中にフレーミングエラー発生
受信中にフレーミングエラーが発生すると , このビットは "1" に設定されます。シ
リアル制御レジスタ (SCR) の CRE ビットに "1" が書き込まれると , このビットはク
リアされます。
このビットと RIE ビットが "1" の場合は , 受信割込み要求が出力されます。
このフラグが設定された場合は , 受信データレジスタ (RDR) のデータは無効です。
[bit12] RDRF : 受信データフルフラグビット
RDRF
受信データレジスタフル
0
受信データレジスタにデータなし [ 初期値 ]
1
受信データレジスタにデータあり
このフラグは , 受信データレジスタ (RDR) の状態を示します。
受信データが RDR へ格納されるとこのビットは "1" に設定されます。RDR が読み
出されることによってのみ , "0" にクリアされます。
このビットと RIE ビットが "1" の場合は , 受信割込み要求が出力されます。
[bit11] TDRE : 送信データエンプティフラグビット
TDRE
送信データレジスタエンプティ
0
送信データレジスタにデータあり
1
送信データレジスタにデータなし [ 初期値 ]
このフラグは , 送信データレジスタ (TDR) の状態を示します。
送信データが TDR へ書き込まれると , このビットは "0" にクリアされます。データ
が送信シフトレジスタへ格納されて送信が開始されると , "1" に設定されます。
このビットと TIE ビットが "1" の場合は , 送信割込み要求が出力されます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
431
第 15 章 LIN-UART
15.3 LIN-UART のレジスタ
MB91461
[bit10] BDS : 転送方向選択ビット
BDS
転送方向設定
0
送信 / 受信は LSB ファースト [ 初期値 ]
1
送信 / 受信は MSB ファースト
このビットにより , シリアル転送データの転送を LSB ファースト (BDS = 0) または
MSB ファースト (BDS = 1) のいずれかに選択できます。
このビットは , モード 3 (LIN モード ) では "0" に固定されます。
<注意事項>
シリアルデータレジスタの読出し / 書込み中に , シリアルデータの上位側と下位側は入れ
替えられます。データが RDR に書き込まれた後 , このビットの値が変更されると , デー
タは無効となります。
[bit9] RIE : 受信割込み要求許可ビット
RIE
受信割込み要求許可
0
受信割込み禁止 [ 初期値 ]
1
受信割込み許可
このビットにより , CPU への受信割込み要求が制御されます。
このビットが設定され , 受信データフラグビット (RDRF) が "1", もしくはエラーフ
ラグ (PE, ORE, FRE) が設定されると , 受信割込み要求を送出します。
[bit8] TIE : 送信割込み要求許可ビット
TIE
送信割込み要求許可
0
送信割込み禁止 [ 初期値 ]
1
送信割込み許可
このビットにより , CPU への送信割込み要求が制御されます。
このビットが設定されて TDRE ビットが "1" になると , 送信割込み要求が送出され
ます。
432
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.3 LIN-UART のレジスタ
MB91461
15.3.4
受信 / 送信データレジスタ (RDR/TDR)
受信データレジスタ (RDR) は受信データを , 送信データレジスタは送信データを保
持します。RDR, TDR は同一のアドレスに配置されています。
■ 受信 / 送信データレジスタ (RDR/TDR)
図 15.3-5 受信 / 送信データレジスタ
RDR/TDR
アドレス : 000043H, 00004BH, bit 7
000053H, 00005BH,
D7
000063H, 00006BH,
000073H
6
5
4
3
2
1
0
D6
D5
D4
D3
D2
D1
D0
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
[bit7 ∼ bit0] D7 ∼ D0 : データレジスタ
アクセス
データレジスタ
読出し
受信データレジスタからの読出し
書込み
送信データレジスタへの書込み
● 受信
RDR は受信データを格納するレジスタです。SIN 端子より転送されたシリアルデータ
信号はシフトレジスタで変換され , このレジスタへ格納されます。データ長が 7 ビット
の場合は , 最上位ビット (D7) は "0" となります。受信が完了すると , データはこのレジ
スタへ格納され , 受信データフルフラグビット (SSR の RDRF ビット ) が "1" に設定さ
れます。このとき , 受信割込み要求が許可されていると , 受信割込みが発生します。
SSR の RDRF ビットが "1" のときに RDR を読み出してください。RDR が読み出され
ると , RDRF ビットは自動的に "0" にクリアされます。受信割込みが許可されて受信エ
ラーが発生していない場合は , 受信割込みもクリアされます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
433
第 15 章 LIN-UART
15.3 LIN-UART のレジスタ
MB91461
● 送信
送信データが送信許可状態で送信データレジスタへ書き込まれると , データは送信シ
フトレジスタへ転送後 , シリアルデータへと変換されてシリアルデータ出力端子 (SOT)
から送信されます。データ長が7ビットの場合は, 最上位ビット(D7)は送信されません。
このレジスタへ送信データが書き込まれると , 送信データエンプティフラグビット
(SSR の TDRE ビット ) が "0" にクリアされます。送信シフトレジスタへの転送が完了
すると , TDRE ビットは "1" に設定されます。TDRE ビットが "1" であれば , 次の送信
データをこのレジスタへ書き込むことができます。送信割込み要求が許可されている
場合は , 送信割込みが発生します。送信割込みの発生 , もしくは TDRE ビットが "1" で
あれば , 次のデータを書き込んでください。
<注意事項>
TDR は書込み専用 , RDR は読出し専用のレジスタです。このレジスタは同一のアドレス
に配置されているため , 読出し値と書込み値は異なります。そのため , リードモディファ
イライト (RMW) 系命令ではアクセスしないでください。
434
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.3 LIN-UART のレジスタ
MB91461
15.3.5
拡張ステータス・制御レジスタ (ESCR)
拡張ステータス・制御レジスタでは LIN 機能を設定できます。また , SIN, SOT 端子
への直接アクセスと LIN-UART 同期クロックモードの設定ができます。
■ 拡張ステータス・制御レジスタ (ESCR)
図 15.3-6 拡張ステータス・制御レジスタ (ESCR) のビット構成
ESCR
アドレス : 000044H, 00004CH, bit 15
000054H, 00005CH,
LBIE
000064H, 00006CH,
000074H
14
13
12
11
10
9
8
LBD
LBL1
LBL0
SOPE
SIOP
CCO
SCES
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
x
0
0
[bit15] LBIE : LIN-Break 検出割込み許可ビット
LBIE
LIN-Break 検出割込み許可
0
LIN-Break 割込み禁止 [ 初期値 ]
1
LIN-Break 割込み許可
このビットは , LIN-Break が検出されると生成される割込みを許可します。
[bit14] LBD: LIN-Break 検出フラグビット
LIN-Break 検出
LBD
書込み
読出し
0
LIN-Break 検出フラグのクリア
LIN-Break の検出なし [ 初期値 ]
1
無効
LIN-Break が検出された
LIN-Break が検出されると , このビットは "1" に設定されます。"0" 書込みによりこ
のフラグビットはクリアされ , LIN-Break 検出割込みが許可されている場合は , 割込
みもクリアします。
リードモディファイライト (RMW) 系命令では常に "1" が返されますが , この場合は
LIN-Break 検出を意味しません。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
435
第 15 章 LIN-UART
15.3 LIN-UART のレジスタ
MB91461
[bit13, bit12] LBL1, LBL0 : LIN-Break 長選択ビット
LBL0
LBL1
0
0
LIN-Break 長は 13 ビット [ 初期値 ]
1
0
LIN-Break 長は 14 ビット
0
1
LIN-Break 長は 15 ビット
1
1
LIN-Break 長は 16 ビット
LIN-Break 長
これらのビットにより , LIN-UART で生成される LIN-Break のシリアルビット長が
定義されます。LIN-Break の受信では , 常に 11 ビット固定です。
[bit11] SOPE : シリアル出力端子直接アクセス許可ビット
SOPE
シリアル出力端子直接アクセス
0
シリアル出力端子直接アクセス禁止 [ 初期値 ]
1
シリアル出力端子直接アクセス許可
このビットが "1" に設定されると , SOT 端子へ直接書込みを行うことが可能になり
ます。
詳細は , 表 15.3-2 を参照してください。
[bit10] SIOP : シリアル入出力端子直接アクセス許可ビット
シリアル入出力端子直接アクセス許可
SIOP
書込み (SOPE が "1" の場合 )
0
SOT は "0" 出力
1
SOT は "1" 出力 [ 初期値 ]
読出し
SIN の値を読み出します
通常読出し命令では , SIN 端子の値を返します。書込みは SOT 端子の値を設定しま
す。リードモディファイライト (RMW) 系命令では , SOT の値を返します。
詳細は , 表 15.3-2 を参照してください。
436
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.3 LIN-UART のレジスタ
MB91461
表 15.3-1 SOPE と SIOP の機能
SOPE
SIOP
SIOP への書込み
SIOP からの読出し
0
R/W
SOT 端子への影響なし
書込み値は保持
SIN の値を読み出します
1
R/W
SOT 端子へ書込み値出力
SIN の値を読み出します
1
RMW
SOT 端子の値を読み出し , 書込み
<注意事項>
本ビットの設定値は , シリアル制御レジスタ (SCR) の TXE ビットが "0" の場合のみ有効
です。
[bit9] CCO : 連続クロック出力許可ビット
CCO
連続クロック出力 ( モード 2)
0
連続クロック出力禁止 [ 初期値 ]
1
連続クロック出力許可
LIN-UART がマスタモード 2 ( 同期モード ) で動作し , SCK 端子が出力として設定さ
れている場合に , このビットにより SCK での連続シリアルクロック出力が許可され
ます。
[bit8] SCES : シリアルクロックエッジ選択ビット
SCES
シリアルクロックエッジ選択
0
クロックの立上りエッジでサンプリング ( 通常 ) [ 初期値 ]
1
クロックの立下りエッジでサンプリング ( 反転クロック )
このビットにより , モード 2 ( 同期モード ) での内部シリアルクロックが反転されま
す。LIN-UART がモード 2 マスタ ( 同期モード ) で動作し , SCK 端子が出力として
設定されている場合は , 出力クロックも反転します。
モード 2 スレーブでは , サンプリングエッジが立上りエッジから立下りエッジへと
切り換わります。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
437
第 15 章 LIN-UART
15.3 LIN-UART のレジスタ
15.3.6
MB91461
拡張通信制御レジスタ (ECCR)
拡張通信制御レジスタ (ECCR) では , バスアイドル検出割込みの設定 , 同期クロック
設定 , LIN-Break 生成ができます。
■ 拡張通信制御レジスタ (ECCR)
図 15.3-7 拡張通信制御レジスタのビット構成
ECCR
アドレス : 000045H, 00004DH, bit 7
000055H, 00005DH,
000065H, 00006DH, 予約
000075H
6
5
4
3
2
1
0
LBR
MS
SCDE
SSM
BIE
RBI
TBI
リード / ライト
-
W
R/W
R/W
R/W
R/W
R
R
初期値
0
0
0
0
0
0
x
x
[bit7] 予約 : 予約ビット
予約ビットです。必ず "0" を書き込んでください。
[bit6] LBR : LIN-Break 設定ビット
LIN-Break 設定
LBR
書込み
0
無効 [ 初期値 ]
1
LIN-Break 生成
読出し
読出し値は常に "0"
動作モードがモード 0 もしくはモード 3 の場合に , このビットに "1" が書き込まれ
ると , ESCR の LBL1, LBL0 で設定した長さの LIN-Break が生成されます。
[bit5] MS : マスタ / スレーブモード選択ビット
MS
モード 2 でのマスタ / スレーブ機能
0
マスタモード ( シリアルクロック生成 ) [ 初期値 ]
1
スレーブモード ( 外部シリアルクロック受信 )
このビットは , 同期モード 2 における LIN-UART をマスタあるいはスレーブとして
設定します。マスタとして設定されると , LIN-UART は同期クロックを生成します。
スレーブモードとして設定された場合は , 外部シリアルクロックを受信します。
438
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.3 LIN-UART のレジスタ
MB91461
<注意事項>
スレーブモードとして設定される場合は , クロックソースを外部クロックとして , 1 対 1
外部クロック入力に設定してください (SMR の SCKE = 0, EXT = 1, OTO = 1) 。
[bit4] SCDE : シリアルクロック遅延許可ビット
SCDE
モード 2 でのシリアルクロック遅延許可
0
クロック遅延禁止 [ 初期値 ]
1
クロック遅延許可
LIN-UART がモード 2 で動作する場合 , このビットが設定されると , シリアル出力
クロックは 1 マシンサイクル遅延します。
[bit3] SSM : スタート / ストップビットモード許可
SSM
モード 2 での調歩同期
0
モード 2 でのスタート / ストップビットモード禁止 [ 初期値 ]
1
モード 2 でのスタート / ストップビットモード許可
LIN-UART がモード 2 で動作する場合 , このビットにより同期化用にスタートビッ
トとストップビットが追加されます。ほかのモード ( モード 0, モード 1, モード 3)
ではこのビットは "0" に固定されます。
[bit2] BIE : バスアイドル割込み許可
BIE
バスアイドル割込み許可
0
バスアイドル割込み禁止 [ 初期値 ]
1
バスアイドル割込み許可
受信 / 送信のどちらも実行されていない場合 (RBI = 1, TBI = 1) に , このビットは
受信割込みを許可します。
モード 2 で SSM ビットが "0" のときは , このビットを使用しないでください。
[bit1] RBI: 受信バスアイドルフラグビット
RBI
受信バスアイドル
0
受信動作中
1
受信休止中
SIN 端子での受信がない場合に , このビットは "1" に設定されます。
モード 2 で SSM ビットが "0" のときは , このビットを使用しないでください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
439
第 15 章 LIN-UART
15.3 LIN-UART のレジスタ
MB91461
[bit0] TBI : 送信バスアイドルフラグビット
TBI
送信バスアイドル
0
送信動作中
1
送信休止中
SOT 端子での送信がない場合に , このビットは "1" に設定されます。
モード 2 で SSM ビットが "0" のときは , このビットを使用しないでください。
<注意事項>
LIN-UART の動作モードをモード 2 に設定した場合に , SSM ビットが "0" のときは , BIE,
RBI, TBI ビットを使用しないでください。
440
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.3 LIN-UART のレジスタ
MB91461
15.3.7
ボーレート / リロードカウンタレジスタ (BGR)
ボーレート / リロードカウンタレジスタ (BGR) は , シリアルクロックの分周比を設
定します。また , 送信リロードカウンタの正確な値を読み出すことも可能です。
■ ボーレート / リロードカウンタレジスタ (BGR)
図 15.3-8 ボーレート / リロードカウンタレジスタ
BGR1
アドレス : 000080H, 000082H, bit 15
000084H, 000086H,
予約
000088H, 00008AH,
00008CH
14
13
12
11
10
9
8
B14
B13
B12
B11
B10
B09
B08
リード / ライト
-
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
BGR0
アドレス : 000081H, 000083H, bit 7
000085H, 000087H, B07
000089H, 00008BH,
00008DH
6
5
4
3
2
1
0
B06
B05
B04
B03
B02
B01
B00
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
リード / ライト
初期値
[bit15] 予約 : 予約ビット
予約ビットです。読出し値は常に "0" です。
[bit14 ∼ bit8] B14 ∼ B08 : BGR1 : ボーレートジェネレータレジスタ 1
B14 ∼ B08
ボーレートジェネレータレジスタ 1
書込み
リロード値の bit14 ∼ bit8 をカウンタへ書込み
読出し
カウント bit14 ∼ bit8 の読出し
[bit7 ∼ bit0] B07 ∼ B00 : BGR0 : ボーレートジェネレータレジスタ 0
表 15.3-2 ボーレートジェネレータレジスタ 0
B07 ∼ B00
CM71-10159-2
ボーレートジェネレータレジスタ 0
書込み
リロード値の bit7 ∼ bit0 をカウンタへ書込み
読出し
カウント bit7 ∼ bit0 の読出し
FUJITSU MICROELECTRONICS LIMITED
441
第 15 章 LIN-UART
15.3 LIN-UART のレジスタ
MB91461
■ ボーレート / リロードカウンタレジスタ
ボーレートリロードカウンタレジスタ (BGR) では , シリアルクロックの分周比を設定
します。
レジスタはバイトアクセスもしくはハーフワードアクセスでの読出し / 書込みが可能
です。
442
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.4 LIN-UART の割込み
MB91461
LIN-UART の割込み
15.4
LIN-UART には受信割込みと送信割込みがあります。下記のいずれかの場合におい
て , 割込み要求が生成されます。
• 受信データの受信データレジスタ (RDR) への格納 , もしくは受信エラーの発生
• 送信データの送信データレジスタ (TDR) から送信シフトレジスタへの転送
• LIN-Break 検出
• バスアイドル ( 送信 / 受信動作なし )
■ LIN-UART の割込み
表 15.4-1 に , LIN-UART の割込みコントロールビットと割込み要因を示します。
表 15.4-1 LIN-UART の割込みコントロールビットと割込み要因
受信 /
送信 /
ICU
受信
送信
動作モード
割込み要求
フラグ
フラグビット レジスタ
割込み要因
割込み要因 割込み要求の
許可ビット クリア方法
0
1
2
3
RDRF
SSR
○
○
○
○
RDR への受信
データ書込み
受信データの
読出し
ORE
SSR
○
○
○
○
オーバラン
エラー
SSR: RIE
受信エラー
クリアビット
(SSR: CRE) へ
の "1" 書込み
FRE
SSR
○
○
△
フレーミング
○
エラー
PE
SSR
○
×
△
×
パリティ
エラー
LBD
ESCR
○
×
×
○
LIN-Sync-Break
検出
TBI & RBI
ECCR
○
○
△
○ バスアイドル
TDRE
SSR
○
○
○
○
ICP
ICS
○
×
×
LIN-Sync-Field
○ の最初の立下り ICS: ICP
エッジ
ICP の
一時禁止
ICP
ICS
○
×
×
LIN-Sync-Field
○ の 5 回目の立下 ICS: ICP
りエッジ
ICP の禁止
送信レジスタ
エンプティ
ESCR:
LBIE
ESCR の LBD
ビットへの
"1" 書込み
ECCR: BIE
受信データ /
送信データ
SSR: TIE
送信データの
書込み
ICU
○ : 使用可能
△ : ECCR の SSM ビットが "1" のときに使用可能
× : 使用不可
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
443
第 15 章 LIN-UART
15.4 LIN-UART の割込み
MB91461
■ 受信割込み
受信モード時に下記の 1 つが発生すると , シリアルステータスレジスタ (SSR) の対応す
るフラグビットが "1" に設定されます。
• データ受信完了 : RDRF
受信データがシリアル入力シフトレジスタから受信データレジスタ (RDR) へ転送さ
れて読出しが可能となった。
• オーバランエラー : ORE
RDRF = 1 かつ RDR が CPU より読み出されなかった。
• フレーミングエラー : FRE
ストップビット受信時に , "0" が受信された。
• パリティエラー : PE
誤ったパリティビットが検出された。
受信割込みが許可 (SSR の RIE = 1) されているときに , 上記のフラグが 1 つでも "1" と
なると , 受信割込みが生成されます。
受信データレジスタ (RDR) が読み出されると , RDRF フラグは自動的に "0" にクリアさ
れます。RDRF フラグのクリアはこの方法のみです。
シリアル制御レジスタ (SCR) の受信エラーフラグクリアビット (CRE) に "1" が書き込
まれると , エラーフラグはすべて "0" にクリアされます。
<注意事項>
CRE ビットは書込み専用で , "1" を書き込むと 1 マシンサイクルの期間 "1" を保持します。
■ 送信割込み
送信データが送信データレジスタ (TDR) から送信シフトレジスタへ転送されると ( シ
フトレジスタが空で , 送信データが存在している場合に発生します ) , シリアルステー
タスレジスタ (SSR) の送信データレジスタエンプティフラグビット (TDRE) が "1" に設
定されます。この場合 , SSR の送信割込み許可ビット (TIE) が設定されていると , 割込
み要求が生成されます。
<注意事項>
TDRE の初期値は "1" です。したがって , TIE フラグが "1" に設定されると直ちに送信割込
みが生成されます。送信データレジスタ (TDR) への書込みによってのみ TDRE フラグは
リセットされます。
444
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.4 LIN-UART の割込み
MB91461
■ LIN-Synch-Break 割込み
LIN-UART がモード 0 もしくはモード 3 で LIN スレーブとして動作する場合に機能し
ます。
シリアル入力バスが 11 ビットタイム以上 "0" ( ドミナント ) になると , 拡張ステータス・
制御レジスタ (ESCR) の LIN-Break 検出フラグビット (LBD) が "1" に設定されます。この
場合 , 受信エラーフラグは 9 ビットタイム後に "1" に設定されます。そのため , LIN-SyncBreak 検出のみが目的である場合は , RIE フラグあるいは RXE フラグを "0" に設定してく
ださい。その他の場合では , まず受信エラー割込みが生成され , 割込み処理ルーチンによ
り LBD = 1 を待ってください。
LBD フラグに "1" が書き込まれると , 割込みと LBD フラグはクリアされます。これに
より , 以下の LIN マスタへのシリアルクロックの調整手順のため , CPU は確実に LINSync-Break を検出します。
■ LIN-Synch-Field エッジ検出割込み
LIN-UART がモード 0 もしくはモード 3 で LIN スレーブとして動作する場合に機能し
ます。
LIN-Break 検出後の受信バスの立下りエッジは LIN-UART により示されます。同時に ,
ICU へと接続されている割込み信号は "1" に設定されます。この信号は LIN-Synch-Field
の 5 回目の立下りエッジでリセットされます。どちらの場合においても両エッジ検出
と ICU 割込みが許可されていれば , ICU は割込みを生成します。ICU で検出されたカ
ウンタ値の差は , シリアルクロックの 8 倍です。この結果を用いると , 専用リロードカ
ウンタ用のボーレートを計算することができます。
スタートビットの立下りが検出されるとリロードカウンタは自動的にリセットされる
ので , 再起動を行う必要はありません。
■ バスアイドル割込み
SIN 端子に受信動作がない場合は , ECCR の RBI フラグビットが "1" に設定されます。
同様に , SOT 端子に送信動作がない場合は , TBI フラグビットが "1" に設定されます。
ECCR のバスアイドル許可ビット (BIE) が設定され , バスアイドルフラグ (TBI, RBI) が
どちらも "1" であれば , 割込みが生成されます。
<注意事項>
SOPE ビットが "1" のときに SIOP ビットに "0" が書き込まれると , バス動作がない場合
でも TBI フラグは "0" になります。TBI ビットと RBI ビットは , 同期モード 2 において
ECCR レジスタの SSM ビットが "0" の場合は使用できません。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
445
第 15 章 LIN-UART
15.4 LIN-UART の割込み
MB91461
図 15.4-1 に , バスアイドル割込みの生成を示します。
図 15.4-1 バスアイドル割込み生成
送信データ
受信データ
TBI
RBI
受信IRQ
: スタートビット
446
: ストップビット
: データビット
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.4 LIN-UART の割込み
MB91461
受信割込み生成とフラグセットタイミング
15.4.1
受信割込み要因 , 受信完了 (SSR の RDRF ビット ) と , 受信エラーの発生 (SSR の
PE, ORE, FRE ビット ) について説明します。
■ 受信割込み生成とフラグセットタイミング
シリアルステータスレジスタ (SSR) の受信割込み許可フラグビット (RIE) が "1" に設定
され , データ受信が完了 (RDRF = 1) すると割込みが生成されます。この割込みは , モー
ド 0, モード 1, モード 2 (SSM が "1" の場合 ) , モード 3 でのストップビットの検出 , ま
たはモード 2 (SSM が "0" の場合 ) で最終データビットが読まれると生成されます。
<注意事項>
受信エラーが発生した場合は , いずれのモードにおいても受信データレジスタの内容は無
効です。
図 15.4-2 受信動作とフラグセットタイミング
受信データ
モード0/モード3
ST
D0
D1
D2
D5
D6
D7/
P
SP
ST
受信データ
モード1
ST
D0
D1
D2
D6
D7
AD
SP
ST
D0
D1
D2
D4
D5
D6
D7
D0
受信データ
モード2
PE*1, FRE
RDRF
ORE*2
(RDRF=1の場合)
受信割込み発生
*1: モード1, モード3ではPEフラグは常に"0"です。
*2: OREは受信データがCPUによって読まれず, かつ別のデータを受信した場合に発生します。
ST: スタートビット
SP: ストップビット
AD: モード1 (マルチプロセッサ)アドレス/データ選択ビット
<注意事項>
図 15.4-2 にはモード 0 とモード 3 でのすべての受信オプションは示されていません。
ここでは , "7p1" と "8N1" です (p = "E"[even] または "0"[odd]) 。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
447
第 15 章 LIN-UART
15.4 LIN-UART の割込み
MB91461
図 15.4-3 ORE 設定タイミング
受信データ
RDRF
ORE
448
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.4 LIN-UART の割込み
MB91461
送信割込み生成とフラグセットタイミング
15.4.2
送信割込みは , 次の送信データが送信データレジスタ (TDR) に書き込まれる用意が
できると生成されます。
■ 送信割込み生成とフラグセットタイミング
送信割込みは , 送信データが送信データレジスタ (TDR) に書き込まれる用意ができる
と生成されます。シリアルステータスレジスタ (SSR) の送信割込み許可ビット (TIE) が
"1" に設定され , 送信割込みが許可されている場合に , TDR が空になると送信割込みが
生成されます。
SSR の送信レジスタエンプティ(TDRE) フラグビットは , TDR の空きを示します。TDRE
ビットは読出し専用です。フラグのクリアは TDR へのデータ書込みによってのみ行わ
れます。
図 15.4-4 に , 送信動作とフラグ設定タイミングを示します。
図 15.4-4 送信動作とフラグ設定タイミング
送信割込み発生
送信割込み発生
モード0, 1または3:
TDRへの書込み
TDRE
シリアル出力
ST D0 D1 D2 D3 D4 D5 D6 D7
P
AD
SP ST D0 D1 D2 D3 D4 D5 D6 D7
送信割込み発生
P
AD
SP
送信割込み発生
モード2 (SSM = 0):
TDRへの書込み
TDRE
シリアル出力
D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4
ST: スタートビット D0~D7: データビット
AD: アドレス/データ選択ビット (モード1)
P: パリティ
SP: ストップビット
<注意事項>
図 15.4-4 の例には , モード 0 の送信オプションのすべては示されていません。
ここでは , "8p1"(p = "E"[even] または "O"[odd]) です。モード 3 とモード 2 で SSM ビッ
トが "0" の場合 , パリティは付加されません。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
449
第 15 章 LIN-UART
15.4 LIN-UART の割込み
MB91461
■ 送信割込み要求生成タイミング
送信割込みが許可 (SSR の TIE ビットが "1") されている場合に TDRE フラグが "1" にな
ると , 送信割込み要求が生成されます。
<注意事項>
TDRE の初期値は "1" です。したがって , 送信割込みが許可 (TIE = 1) されると , 送信完了
割込みが直ちに設定されます。TDRE は読出し専用です。送信データレジスタ (TDR) へ
の書込みによってのみ TDRE フラグはクリアされます。送信割込みを有効にするタイミ
ングには注意してください。
450
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.5 LIN-UART のボーレート
MB91461
15.5
LIN-UART のボーレート
LIN-UART のシリアルクロックとして下記のいずれかを選択できます。
• 専用ボーレートジェネレータ ( リロードカウンタ )
• 外部クロック (SCK 端子からのクロック入力 )
• 外部クロックをボーレートジェネレータ ( リロードカウンタ ) に使用
■ LIN-UART のボーレート選択
図 15.5-1 に , ボーレート選択回路 ( リロードカウンタ ) を示します。下記の 3 つから
ボーレートを選択可能です。
● 専用ボーレートジェネレータ ( リロードカウンタ ) の使用
LIN-UARTには送信/受信シリアルクロックそれぞれに独立したリロードカウンタがあ
ります。ボーレートは , ボーレートジェネレータレジスタ (BGR) の 15 ビットリロード
値により設定されます。
リロードカウンタは , ボーレートジェネレータレジスタの設定値でマシンクロックを
分周します。
● 外部クロックの使用 (1 対 1 モード )
LIN-UART クロック入力端子 (SCK) からのクロック入力が直接ボーレートとして使用
されます。
● 専用ボーレートジェネレータに外部クロックを使用
外部クロックをデバイス内部でリロードカウンタと接続させることも可能です。この
モードでは , 外部クロックは内部のマシンクロックの代わりに使用されます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
451
第 15 章 LIN-UART
15.5 LIN-UART のボーレート
MB91461
図 15.5-1 ボーレート選択回路 ( リロードカウンタ )
REST
スタートビット
立下りエッジ検出
リロード値 : v
Rxc = 0?
セット
受信
リロード
15 ビットリロードカウンタ
Rxc = v/2?
F/F
リセット
0
1
リロード値 : v
EXT
Txc = 0?
CLK
SCK
( 外部
クロック
入力 )
0
受信クロック
セット
送信
15 ビットリロードカウンタ リロード
1
カウンタ値 : TXC
Txc = v/2?
F/F
リセット
0
1
OTO
送信クロック
内部データバス
EXT
REST
OTO
452
SMR
レジスタ
B14
B13
B12
B11
B10
B09
B08
BGR1
レジスタ
B07
B06
B05
B04
B03
B02
B01
B00
FUJITSU MICROELECTRONICS LIMITED
BGR0
レジスタ
CM71-10159-2
第 15 章 LIN-UART
15.5 LIN-UART のボーレート
MB91461
ボーレートの設定
15.5.1
ボーレートの設定方法とシリアルクロック周波数の算出結果を示します。
■ ボーレートの算出
ボーレートジェネレータレジスタ (BGR) により 15 ビットリロードカウンタは設定され
ます。
ボーレートの算出には以下の数式を使用してください。
v = [φ/b] − 1
ここで , "φ" はマシンクロック周波数を , "b" はボーレートを示します。
● 算出例
マシンクロックが 16MHz で , 目的のボーレートが 19200bps の場合 , リロード値 "v" は
以下のようにして算出できます。
v = [16 × 106 / 19200] − 1 = 832
正確なボーレートは , 以下のように再計算してください。
bexact = φ/ (v + 1) = 16 × 106 / 833 = 19207.6831 bps
<注意事項>
リロード値を "0" に設定すると , リロードカウンタは停止します。したがって , 最小の分
周比は 2 分周となります。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
453
第 15 章 LIN-UART
15.5 LIN-UART のボーレート
MB91461
■ マシンクロック周波数ごとのボーレート設定例
表 15.5-1 に , マシンクロックごとのボーレート設定例を示します。
表 15.5-1 マシンクロックごとのボーレート設定例
9MHz
10MHz
18MHz
20MHz
ボー
レート
(bps)
value
dev.
value
dev.
value
dev.
value
dev.
4M
−
−
−
−
−
−
4
0
2M
4
10.00
4
0.00
8
0.00
9
0
1M
8
0.00
9
0.00
17
0.00
19
0
500000
17
0.00
19
0.00
35
0.00
39
0
460800
−
−
−
−
38
−0.16
−
−
250000
35
0.00
39
0.00
71
0.00
79
0
230400
38
−0.16
−
−
77
−0.16
−
−
153600
58
0.69
64
−0.16
116
−0.16
129
−0.16
125000
71
0.00
79
0.00
143
0.00
159
0
115200
77
−0.16
86
0.22
155
−0.16
173
0.22
76800
116
−0.16
129
−0.16
233
−0.16
259
−0.16
57600
155
−0.16
173
0.22
312
0.16
346
−0.06
38400
233
−0.16
259
−0.16
468
0.05
520
0.03
28800
312
0.16
346
−0.06
624
0.00
693
−0.06
19200
468
0.05
520
0.03
937
0.05
1041
0.03
10417
863
0.00
959
0.00
1727
0.00
1919
0
9600
937
0.05
1041
0.03
1874
0.00
2083
0.03
7200
1249
0.00
1388
0.01
2499
0.00
2777
0.01
4800
1874
0.00
2082
−0.02
3749
0.00
4166
0.01
2400
3749
0.00
4166
0.01
7499
0.00
8332
0
1200
7499
0.00
8332
0.00
14999
0.00
16666
0
600
14999
0.00
16666
0.00
29999
0.00
−
−
300
29999
0.00
−
−
−
−
−
−
<注意事項>
偏差 (dev.) の単位は % です。
最大同期ボーレートは , マシンクロックの 5 分周です。
454
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.5 LIN-UART のボーレート
MB91461
■ 外部クロックの使用
SMR の EXT ビットが設定されると , 外部端子 SCK がクロックとして選択されます。外
部クロック信号は内部 MCU クロックと同様に扱われます。SCK 端子に , 例えば
1.8432MHz の水晶発振子を接続し , PC-16550-UART のすべてのボーレートを選択する
ためにリロードカウンタを使用するように設計されています。
"1 対 1" 外部クロック入力モード (SMR の OTO ビット ) が選択されていると , SCK 信
号が LIN-UART シリアルクロック入力へ直接接続されます。これは , LIN-UART 同期
モード 2 でスレーブデバイスとして動作させるために必要です。
<注意事項>
いずれの場合においても , クロック信号は LIN-UART 内部で MCU クロックと同期化され
ます。これは分周できないクロック比は不安定な信号となることを意味します。
■ カウント例
図 15.5-2 に , リロードカウンタのカウント例を示します。ここではリロード値を 832 と
しています。
図 15.5-2 リロードカウンタのカウント例
送受信クロック
リロード
カウント
001
000
832
831
830
829
828
827
412
411
410
リロードカウント値
送受信クロック
リロード
カウント
417
416
415
414
413
<注意事項>
シリアルクロック信号の立下りエッジは常に , |(v + 1) / 2| 後です。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
455
第 15 章 LIN-UART
15.5 LIN-UART のボーレート
15.5.2
MB91461
リロードカウンタの再起動
リロードカウンタは下記の要因で再起動を行うことができます。
( 送信 / 受信リロードカウンタ双方 )
• MCU リセット
• LIN-UART ソフトウェアクリア (SMR の UPCL ビット )
• LIN-UART ソフトウェア再起動 (SMR の REST ビット )
( 受信リロードカウンタのみ )
• 非同期モードでのスタートビットの立下りエッジ
■ ソフトウェア再起動
シリアルモードレジスタ (SMR) の REST ビットが設定されると , 次のクロックサイク
ルで送信 / 受信リロードカウンタはともに再起動されます。この機能は , 送信リロード
カウンタをタイマとして使用するためです。
図 15.5-3 に , リロードカウンタ再起動例を示します。ここではリロード値を 100 とし
ています。
図 15.5-3 リロードカウンタ再起動例
動作クロック
リロードカウンタ
クロック出力
リセット
リロード値
37
36 35 100 99
98
97
96
95
94
93
92
91
90
89 88
87
BGR0/BGR1読出し
データバス
90
: 無効データ
この例では , REST 後の MCU クロックサイクル数 (cyc) は以下のようになります。
cyc = v − c + 1 = 100 − 90 + 1 = 11
ここで , "v" はリロード値を , "c" は読出しカウンタ値を意味します。
456
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.5 LIN-UART のボーレート
MB91461
<注意事項>
SMR の UPCL ビットにより LIN-UART がリセットされると , リロードカウンタも再起動
されます。
■ 自動再起動
非同期 LIN-UART モードでは , スタートビットの立下りエッジが検出されると , 受信リ
ロードカウンタは再起動されます。これはシリアル入力シフトレジスタを入力シリア
ルデータと同期化させるためです。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
457
第 15 章 LIN-UART
15.6 LIN-UART の動作
15.6
MB91461
LIN-UART の動作
LIN-UART は動作モード 0 では , 通常双方向シリアル通信として動作します。モード
2 およびモード 3 ではマスタあるいはスレーブとして双方向通信を行います。モー
ド 1 ではマスタあるいはスレーブとしてマルチプロセッサ通信を行います。
■ LIN-UART の動作
● 動作モード
LIN-UART にはモード 0 ∼モード 3 の 4 つの動作モードがあります。表 15.6-1 に , CPU
間接続方法とデータ転送に応じて選択可能な動作モードを示します。
表 15.6-1 LIN-UART の動作モード
データ長
動作モード
0 ノーマルモード
1 マルチプロセッサ
モード
2 ノーマルモード
3 LIN モード
パリティ
なし
パリティ
あり
7 ビット or 8 ビット
7 ビット or
8 ビット+
1 ビット *2
−
8 ビット
8 ビット
−
同期化
ストップ
ビット長
データ方向
*1
非同期
1 または 2 L/M
非同期
1 または 2 L/M
同期
0, 1 また
は2
L/M
非同期
1
L
*1 : 転送データの形式を意味します (LSB ファースト , MSB ファースト ) 。
*2 : " + 1" はマルチプロセッサモードで , パリティビットの代わりに付加されるアド
レス / データ部の表示ビットを意味します。
<注意事項>
モード 1 は , マスタ / スレーブ接続システムにおいて , LIN-UART のマスタ / スレーブいず
れの動作もサポートします。モード 3 での LIN-UART の機能は , 8N1 フォーマット , LSB
ファーストに固定されます。
モードが変更されると , LIN-UART はすべての送受信を停止し , 次の動作を開始します。
458
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.6 LIN-UART の動作
MB91461
■ CPU 間の接続方法
外部クロック "1 対 1" 接続 ( ノーマルモード ) とマスタ / スレーブ接続 ( マルチプロセッ
サモード ) を選択できます。いずれの接続においても , データ長 , パリティ有無 , 同期
化方法はすべての CPU で共通である必要があります。
下記に示すように動作モードを選択してください。
• "1 対 1" 接続では , 2 つの CPU を非同期転送モードの動作モード 0, または同期転送
モードの動作モード 2 に設定してください。同期モード 2 では , 必ず一方をマスタ ,
他方をスレーブとして設定してください。
• マスタ / スレーブ接続では動作モード 1 を選択し , マスタあるいはスレーブのいず
れかとして使用してください。
■ 同期化方法
非同期動作モードでは, LIN-UART受信クロックは自動的に受信スタートビットの立下
りエッジと同期化されます。
同期動作モードでは , マスタデバイスのクロック信号 , マスタとして動作している場合
は LIN-UART 自身により同期化されます。
■ シングルモード
LIN-UART はデータを NRZ (Non Return to Zero) 形式として扱います。
■ 動作許可ビット
LIN-UART は送信許可ビット (SCR の TXE ビット ) と受信許可ビット (SCR の RXE ビッ
ト ) を用いて送受信を制御します。動作が禁止された場合は , それぞれ以下のように停
止します。
• 受信 ( 受信シフトレジスタへのデータ入力 ) 中に受信動作が禁止されると , フレーム
受信が終了し , 受信データレジスタ (RDR) の受信データが読み出された後 , 受信動
作が停止します。
• 送信 ( 送信シフトレジスタからのデータ出力 ) 中に送信動作が禁止されると , 送信
データレジスタ (TDR) にデータが無くなるまで待ってから送信動作を停止します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
459
第 15 章 LIN-UART
15.6 LIN-UART の動作
MB91461
非同期モードでの動作 ( 動作モード 0, 1)
15.6.1
動作モード 0 ( ノーマルモード ) あるいは動作モード 1 ( マルチプロセッサモード )
で LIN-UART が使用される場合は , 非同期転送モードが選択されます。
■ 転送データ形式
非同期動作モードでのデータ転送はスタートビット ("L" レベル ) で開始され , ストッ
プビット ( 最小 1 ビット , "H" レベル ) で終了します。ビットストリームの方向 (LSB
ファースト , MSB ファースト ) はシリアルステータスレジスタ (SSR) の BDS ビットに
より設定されます。パリティビットがありと設定されている場合は , 最終データビット
とストップビットとの間に配置されます。
動作モード 0 でのデータフレーム長は , パリティビットの代わりとなるアドレス / デー
タ区切りビットを含め , 7 ビットもしくは 8 ビットです。ストップビットは 1 ビットも
しくは 2 ビットを選択可能です。
転送フレームのビット長の計算式は以下のようになります。
ビット長= 1 + d + p + s
(d =データビット [7 ビットまたは 8 ビット ], p =パリティ [0 ビットまたは
1 ビット ], s =ストップビット [1 ビットまたは 2 ビット ])
図 15.6-1 転送データ形式 ( 動作モード 0, 1)
*1
動作モード0
ST
D0
D1
D2
D3
D4
D5
D6
D7/P
動作モード1
ST
D0
D1
D2
D3
D4
D5
D6
D7
*2
SP
AD
SP
SP
*1: D7 (bit 7) :パリティなしでデータ長が8ビットの場合
P (bit 7) :パリティありでデータ長が8ビットの場合
*2: SCRのSBLビットが"1"の場合
ST: スタートビット
SP: ストップビット
AD: アドレス/データ選択ビット(モード1)
<注意事項>
シリアルステータスレジスタ (SSR) の BDS ビットが "1" に設定 (MSB ファースト ) され
ると , ビットストリームは , D7, D6, … , D1, D0, (P) として処理されます。
ストップビットは2ビットが選択されている場合は, 受信中にどちらも検出されますが,
1 番目のストップビットで受信データフルフラグ (RDRF) は "1" になります。2 番目の
ストップビットの後 , 次のスタートビットが検出されないと , バスアイドルフラグ
(ECCR の RBI ビット ) が "1" となります。
460
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.6 LIN-UART の動作
MB91461
■ 送信動作
シリアルステータスレジスタ (SSR) の送信データレジスタエンプティフラグ (TDRE)
ビットが "1" に設定されると , 送信データレジスタ (TDR) へのデータ書込みが許可され
ます。データが TDR へ書き込まれると , TDRE フラグは "0" になります。シリアル制
御レジスタ (SCR) の TXE ビットにより送信動作が許可されると , 送信シフトレジスタ
へデータが書き込まれ , 次のシリアルクロックサイクルでスタートビットを始めとし
て送信が開始されます。それにより , TDRE フラグは "1" となり , TDR へ次のデータを
書くことができるようになります。
送信割込みが許可されている場合 (TIE = 1 は , TDRE フラグにより割込みが生成され
ます。TDRE フラグの初期値は "1" ですので , TIE ビットが "1" に設定されると割込み
が直ちに発生します。
ビット長が 7 ビットに設定されている場合 (CL = 0) は , BDS ビットによるビット方向
の設定 (LSB ファースト , MSB ファースト ) によらず , TDR の最上位ビット (MSB) が
未使用ビットとなります。
■ 受信動作
SCR の RXE フラグビットにより受信動作が許可されると受信動作が実行されます。ス
タートビットが検出されると , SCR で指定した形式に応じてデータフレームが受信さ
れます。エラーが発生すると , 対応するエラーフラグ (PE, ORE, FRE) が設定されます。
データフレーム受信後は , データはシリアルシフトレジスタから受信データレジスタ
(RDR) へ転送され , SSR の受信データレジスタフルフラグ (RDRF) ビットが設定されま
す。RDRF フラグをクリアするために , 必ず CPU から RDR を読み出してください。受
信割込みが許可されている場合 (RIE = 1) は , RDRF により割込みが生成されます。
データ長が 7 ビットに設定されている場合 (CL = 0) は , BDS ビットによるビット方向
の設定 (LSB ファースト , MSB ファースト ) によらず , RDR の最上位ビット (MSB) が
未使用ビットとなります。
<注意事項>
RDRF フラグがセットされてもエラーが発生していなければ , 受信データレジスタ (RDR)
のデータは有効です。
受信バスレベルが "H" の期間は , 受信許可フラグ (RXE) を "1" に設定してください。
■ ストップビット
送信時には , ストップビットを 1 ビットあるいは 2 ビット選択可能です。受信時に 2
ビットが設定されていると , 2 ビットとも検出されます。これは 2 番目のストップビッ
トの後で , ECCR の受信バスアイドル (RBI) フラグを適切に設定するためです。
■ エラー検出
モード 0 では , パリティエラー , オーバランエラー , フレーミングエラーを検出できま
す。
モード 1 では , オーバランエラー , フレーミングエラーを検出できます。このモードで
は , パリティはありません。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
461
第 15 章 LIN-UART
15.6 LIN-UART の動作
MB91461
■ パリティ
モード 0 ( およびモード 2 において , ECCR の SSM ビットが設定されている場合 ) では ,
シリアル制御レジスタ (SCR) のパリティ許可 (PEN) ビットにより , LIN-UART はパリ
ティ計算 ( 送信時 ) , パリティ検出および確認 ( 受信時 ) を実行します。
SCR の P ビットにより , 奇数パリティ , 偶数パリティが設定されます。
462
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.6 LIN-UART の動作
MB91461
同期モードでの動作 ( 動作モード 2)
15.6.2
LIN-UART 動作モード 2 ( ノーマルモード ) では , クロック同期転送が使用されます。
■ 転送データ形式
同期モードでは , 拡張通信制御レジスタ (ECCR) の SSM ビットが "0" であれば , スター
ト / ストップビットなしで 8 ビットデータが転送されます。モード 2 でのデータ形式
はクロック信号に依ります。
図 15.6-2 に , 転送データ形式 ( 動作モード 2) を示します。
図 15.6-2 転送データ形式 ( 動作モード 2)
送受信データ
(ECCR:SSM=0, SCR:PEN=0)
送受信データ
(ECCR:SSM=1, SCR:PEN=0)
送受信データ
(ECCR:SSM=1, SCR:PEN=1)
D0
ST
ST
D1
D0
D0
D2
D1
D1
D3
D2
D2
D4
D3
D3
D5
D4
D4
D6
D5
D5
D7
D6
D6
D7
D7
SP
P
*
SP
SP
*
SP
*: 2ストップビットに設定した場合(SCR: SBLビット =1)
ST: スタートビット
SP: ストップビット
P: パリティビット
■ モード 2 でのクロック反転とスタート / ストップビット
拡張ステータス・制御レジスタ (ESCR) の SCES ビットが設定されている場合は , シリ
アルクロックは反転します。したがって , スレーブモードでは , 受信シリアルクロック
の立下りエッジでデータを取り込みます。マスタモードで SCES ビットが設定される
と , クロック信号のマークレベルが "0" となります。拡張通信制御レジスタ (ECCR) の
SSM ビットが設定されると , 非同期モードのようにデータフォーマットにスタート
ビットとストップビットが付加されます。
図 15.6-3 クロック反転時の転送データ形式
マーク
レベル
送受信クロック
(SCES = 0, CCO = 0):
送受信クロック
(SCES = 1, CCO = 0):
送受信データ (SSM = 1)
(パリティなし, 1 ストップビット)
マーク
レベル
ST
SP
データフレーム
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
463
第 15 章 LIN-UART
15.6 LIN-UART の動作
MB91461
■ クロック供給
クロック同期モード ( ノーマルモード ) では , 送信ビット数および受信ビット数はク
ロックサイクルと等しくなります。調歩同期通信が設定されていると , クロックサイク
ル数はスタート / ストップビットを追加したものと一致します。
内部クロックが選択 ( 専用リロードタイマ ) されていると , クロック同期で受信してい
るデータは , データが送信されると自動的に生成されます。
外部クロックが選択されていると , 送信データレジスタにデータを格納し , 送信される
ビットごとのクロックサイクルは外部から供給 , 生成されます。SCES が "0" の場合 ,
マークレベル ("H") は , 送信開始以前および送信完了後に保持されます。
クロックのどの立下りエッジでも送信データが有効かつ安定するように , ECCR の
SCDE ビットの設定により , 送信クロック信号は 1 マシンサイクル遅延されます ( 受信
デバイスがクロックの立上りあるいは立下りエッジでデータを取り込む場合に必要で
す )。この機能は , CCO が設定されていると停止します。
図 15.6-4 遅延送信クロック信号 (SCDE = 1)
送信データ書込み
受信データサンプリングポイント(SCES = 0)
マークレベル
送受信クロック(通常)
マークレベル
送信クロック
(SCDE = 1)
マークレベル
送受信データ
0
1
1
0
LSB
1
0
0
データ
1
MSB
ESCR のシリアルクロックエッジ選択 (SCES) ビットが設定されていると , LIN-UART ク
ロックは反転し , クロックの立下りエッジで受信データを取り込みます。この場合は ,
クロックの立下りエッジで必ず有効なシリアルデータとしてください。
マスタモードでは , 拡張ステータス・制御レジスタ (ESCR) の CCO ビットが設定され
ると , SCK 端子からシリアルクロックは継続的に出力されます。このモードでは , 受信
側にデータフレームの開始と終了を明示するために , スタートビットとストップビッ
トを使用するようにしてください。図 15.6-5 に , モード 2 での継続クロック出力を示
します。
図 15.6-5 モード 2 での継続クロック出力
送受信クロック
(SCES = 0, CCO = 1):
送受信クロック
(SCES =1, CCO = 1):
送受信データ (SSM=1)
(パリティなし, 1 ストップビット)
ST
SP
データフレーム
464
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.6 LIN-UART の動作
MB91461
■ エラー検出
スタート / ストップビットを使用しない場合 (ECCR の SSM = 0) は , オーバランエラー
のみが検出されます。
■ 通信
同期通信モードの初期化には , 以下の設定を行ってください。
• ボーレートジェネレータレジスタ (BGR)
専用ボーレートリロードカウンタへのリロード値の設定
• シリアルモードレジスタ (SMR)
MD1, MD0 : 10B ( モード 2)
:"1" ( 専用ボーレートリロードカウンタ使用 )
SCKE
"0" ( 外部クロック入力 )
• シリアル制御レジスタ (SCR)
RXE, TXE
: フラグビットを "1" に設定
SBL, AD
: ストップビットなし , アドレス / データ区切りなし , 値は無効
CL
: 自動的に 8 ビット固定 , 値は無効
CRE
: "1" (初期化のためエラーフラグはクリアされ, 送信/受信は停止)
SSM = 0 の場合 : パリティなし , PEN, P の設定値は無効
SSM = 1 の場合 : PEN, P の設定値は有効
• シリアルステータスレジスタ (SSR)
BDS
: "0" (LSB ファースト ) , "1" (MSB ファースト )
RIE
: "1" ( 割込み許可 ) , "0" ( 割込み禁止 )
TIE
: "1" ( 割込み許可 ) , "0" ( 割込み禁止 )
• 拡張通信制御レジスタ (ECCR)
SSM :"0" ( スタート / ストップビットなし , 通常 )
"1" ( スタート / ストップビットあり , 特殊 )
MS :"0" ( マスタモード , LIN-UART がシリアルクロックを生成 )
"1" ( スレーブモード , LIN-UART はシリアルクロックを外部から受信 )
通信を開始するには , 送信データレジスタ (TDR) へデータを書き込んでください。受
信のみを行う場合には SMR のシリアル出力許可 (SOE) ビットで出力を停止し , TDR へ
ダミーデータを書き込んでください。
<注意事項>
非同期モード時と同様に , 継続クロック , スタート / ストップビット , 双方向通信が可能
です。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
465
第 15 章 LIN-UART
15.6 LIN-UART の動作
15.6.3
MB91461
LIN 機能での動作 ( 動作モード 3)
LIN-UART は LIN マスタデバイス , LIN スレーブデバイスいずれとしても使用可能で
す。LIN 機能にはモード 3 が割り当てられています。LIN-UART をモード 3 に設定
すると , データ形式は 8N1, LSB ファーストとなります。
■ LIN マスタとしての UART
LIN マスタモードでは , マスタがバス全体のボーレートを決めるため , スレーブデバイ
スはマスタと同期されます。したがって , 初期化後のマスタ動作で設定されたボーレー
トは保持されます。
拡張通信制御レジスタ (ECCR) の LBR ビットへ "1" を書き込むと , SOT 端子へ 13 ∼ 16
ビットタイムの "L" レベルを出力します。これは LIN-Sync-Break と LIN メッセージの
開始です。
これにより , シリアルステータスレジスタ (SSR) の TDRE フラグは "0" となり , ブレー
ク後"1"に初期化され, SSRのTIEビットが"1"の場合はCPUへ送信割込みを出力します。
出力される Sync-Break 長は , ESCR の LBL1, LBL0 ビットで表 15.6-2 のように設定でき
ます。
表 15.6-2 LIN-Break 長
LBL1
LBL0
0
0
13 ビットタイム
0
1
14 ビットタイム
1
0
15 ビットタイム
1
1
16 ビットタイム
Break 長
Synch-Field は , LIN-Break 後に 1 バイト 55H として送信できます。送信割込みを避
けるために , TDRE フラグが "0" であっても LBR への "1" を書き込むと , TDR へ
55H を書き込むことができます。送信シフトレジスタは LIN-Break が終了するまで
待った後 , TDR 値のシフトを行います。この場合 , LIN-Break 後でスタートビット
以前では割込みは生成されません。
466
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.6 LIN-UART の動作
MB91461
■ LIN スレーブとしての UART
LIN スレーブモードでは , LIN-UART はマスタのボーレートに同期します。受信が禁止
(RXE = 0) されて LIN-Break 割込みが許可 (LBIE = 1) されている場合に , LIN マスタ
の Synch-Break が検出されて ESCR の LBD フラグがそれを示すと , LIN-UART は受信
割込みを生成します。このビットに "0" を書き込むと割込みはクリアされます。
次に LIN マスタのボーレートの解析をします。Synch-Field の最初の立下りエッジが
LIN-UART で検出されます。LIN-UART は内部信号を経由してインプットキャプチャ
(ICU) へ伝え , 5 回目の立下りエッジで ICU への信号をリセットします。したがって ,
ICU を LIN インプットキャプチャとして設定し , ICU の割込みを許可状態にする必要
があります。ICU への信号が "1" である時間が , 8 分周された LIN マスタの正確なボー
レートです。
ボーレート設定値は下記のようになります。
タイマオーバフローなし : BGR 値= (b − a) / 8
タイマオーバフローあり : BGR 値= (Max + b − a) / 8
ここで , "Max" はタイマの最大値 , "a" は最初の割込み後の ICU カウンタレジスタの値 ,
"b" は 2 回目の割込み後の ICU カウンタレジスタの値を意味します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
467
第 15 章 LIN-UART
15.6 LIN-UART の動作
MB91461
■ LIN-Synch-Break 検出割込みとフラグ
スレーブモードで LIN-Synch-Break が検出されると , ESCR の LIN-Break 検出 (LBD) フ
ラグが "1" に設定されます。LIN-Break 割込み許可 (LBIE) ビットが設定されていると ,
これは割込み要因となります。
図 15.6-6 に , LIN-Synch-Break 検出とフラグセットタイミングを示します。
図 15.6-6 LIN-Synch-Break 検出とフラグセットタイミング
シリアル
クロック番号
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
シリアル
クロック
シリアル
入力
(LINバス)
FRE
(RXE=1)
LBD
(RXE=0)
RXE=1の場合に受信割込みを発生
RXE=0の場合に受信割込みを発生
受信許可状態 (RXE = 1) で受信割込みが許可 (RIE = 1) されている場合は , LIN-Break
割込みより 2 ビットタイム ("8N1") 早く SSR の受信データフレーミングエラー (FRE)
フラグビットが受信割込み要因となりますので , LIN-Break を使用する場合は , RXE を
"0" にしてください。
LBD は動作モード 0 および動作モード 3 で使用可能です。
図 15.6-7 LIN スレーブモードでの UART の動作
シリアル
クロック
シリアル入力
(LINバス)
CPUによる
LBRクリア
LBD
ICU入力
Synch-Break (14ビット設定の場合)
468
Synch-Ffield
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.6 LIN-UART の動作
MB91461
■ LIN バスタイミング
図 15.6-8 LIN バスタイミングと UART の信号
前回のシリアルクロック
クロックなし
( 計算フレーム )
新たに計算された
シリアルクロック
ICU カウント
LIN バス
(LSYN)
RXE
LBD
(IRQ0)
LBIE
ICU 入力
IRQ (ICU)
RDRF
(IRQ0)
RIE
CPU による
RDR 読出し
受信割込み許可
LIN break 開始
LIN break 検出 , 割込み発生
CPU による IRQ クリア (LBD->0)
IRQ (ICU)
IRQ クリア : ICU スタート
IRQ (ICU)
IRQ クリア : ボーレートを計算して設定
LBIE ディセーブル
受信イネーブル
スタートビットの立下りエッジ
受信データ 1 バイト RDR に保存
CPU による RDR 読出し
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
469
第 15 章 LIN-UART
15.6 LIN-UART の動作
MB91461
シリアル端子への直接アクセス
15.6.4
LIN-UART は送信端子 (SOT), 受信端子 (SIN) の値を直接アクセスすることができま
す。
■ LIN-UART 端子直接アクセス
LIN-UARTにはシリアル入力端子/シリアル出力端子の値をソフトウェアで直接アクセ
スする機能があります。ESCR の SIOP ビットの読出しにより , シリアル入力データを
モニタできます。ESCR のシリアル出力端子直接アクセス許可 (SOPE) ビットが設定さ
れると , ソフトウェアにて SOT 端子の出力値を固定できます。これは送信シフトレジ
スタが空 , 例えば送信動作なしのときにのみ可能です。
LIN モードでは , この機能は自身の送信データを読み戻すために用いられます。単ワイ
ヤ LIN バス上に物理的な不具合がある場合は , エラー処理にも使用されます。
<注意事項>
SIOP には最後に書き込まれた値が保持されます。不要なエッジ出力を防ぐために出力端
子へのアクセスを設定する前に SIOP へ値を書き込んでください。
SIOP ビットへのリードモディファイライト (RMW) 系命令では SOT 端子の値が返されま
す。通常の読出し命令では , SIN の値が返されます。
470
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.6 LIN-UART の動作
MB91461
双方向通信機能 ( ノーマルモード )
15.6.5
動作モード 0, 2 では通常のシリアル双方向通信が可能です。非同期通信には動作
モード 0 を , 同期通信には動作モード 2 を選択してください。
■ 双方向通信機能
図 15.6-9 に , 動作モード 0, 2 での LIN-UART の設定を示します。
図 15.6-9 動作モード 0, 2 での LIN-UART の設定
bit 15
SCR, SMR
PEN
モード 0 → ◎
14
13
12
11
10
P
SBL
CL
AD CRE RXE TXE MD1 MD0 OTO EXT REST UPCL SCKE SOE
◎
◎
◎
×
0
モード 2 → □
□
□
+
×
0
bit 15
14
13
12
11
10
SSR,
TDR/RDR
9
8
7
6
◎
0
0
◎
◎
1
0
9
8
7
6
◎
PE ORE FRE RDRF TDRE BDS RIE
◎
◎
◎
◎
◎
◎
◎
モード 2 → □
◎
□
◎
◎
◎
◎
◎
bit 15
14
13
12
11
10
9
8
4
0
3
2
1
0
0
0
0
1
◎
◎
◎
0
0
◎
◎
5
4
3
2
1
0
変換データを設定 ( 書込み時 )
受信データを保持 ( 読出し時 )
TIE
モード 0 → ◎
5
7
6
5
4
3
2
ESCR, ECCR LBIE LBD LBL1 LBL0 SOPE SIOP CCO SECS 予約 LBR MS SCDE SSM BIE
1
0
RBI
TBI
モード 0 → ◎
◎
◎
◎
◎
◎
×
×
◎
×
×
×
◎
◎
◎
モード 2 → ×
×
×
×
◎
◎
◎
◎
×
◎
◎
◎
□
□
□
◎ : 使用ビット
× : 未使用ビット
1: "1" を設定
0: "0" を設定
□ : SSM = 1 の場合に使用 ( 同期スタート / ストップビット )
+ : 自動的に正しく設定されるビット
■ CPU 間の接続
図 15.6-10 に , LIN-UART 動作モード 2 双方向通信の接続例を示します。
図 15.6-10 LIN-UART 動作モード 2 双方向通信の接続例
SOT
SOT
SIN
SIN
SCK
CPU-1 (マスタ)
CM71-10159-2
出力
入力
SCK
CPU-2 (スレーブ)
FUJITSU MICROELECTRONICS LIMITED
471
第 15 章 LIN-UART
15.6 LIN-UART の動作
15.6.6
MB91461
マスタ / スレーブ通信機能 ( マルチプロセッサモード )
マスタ / スレーブモードでは , マスタ / スレーブいずれのシステムにおいても複数の
CPU との LIN-UART 通信が可能です。
■ マスタ / スレーブ通信機能
図 15.6-11 に , 動作モード 1 での LIN-UART の設定を示します。
図 15.6-11 動作モード 1 での LIN-UART の設定
bit 15
14
13
12
11
P
SBL
CL
AD CRE RXE TXE MD1 MD0 OTO EXT REST UPCL SCKE SOE
モード 1 → +
×
◎
◎
◎
0
◎
◎
0
1
0
0
0
0
1
◎
bit 15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
SCR, SMR
SSR,
TDR/RDR
PEN
10
9
PE ORE FRE RDRF TDRE BDS RIE
8
7
◎
◎
◎
◎
◎
◎
◎
bit 15
14
13
12
11
10
9
8
5
4
3
2
7
6
5
4
3
2
ESCR, ECCR LBIE LBD LBL1 LBL0 SOPE SIOP CCO SECS 予約 LBR MS SCDE SSM BIE
モード 1 → ×
×
×
×
◎
◎
×
1
0
変換データを設定 ( 書込み時 )
受信データを保持 ( 読出し時 )
TIE
モード 1 → ×
6
×
×
×
×
×
◎
1
0
RBI
TBI
◎
◎
◎ : 使用ビット
× : 未使用ビット
1: "1" を設定
0: "0" を設定
+ : 自動的に正しく設定されるビット
■ CPU 間の接続
図 15.6-12 に , LIN-UART マスタ / スレーブ通信の接続例を示します。LIN-UART はマ
スタとしてもスレーブとしても使用できます。
図 15.6-12 LIN-UART マスタ / スレーブ通信の接続例
SOT
SIN
マスタCPU
SOT
SIN
スレーブCPU #0
472
SOT
SIN
スレーブCPU #1
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.6 LIN-UART の動作
MB91461
■ 機能部
マスタ / スレーブ通信用に , 以下のように動作モードとデータ転送モードを設定してく
ださい。
表 15.6-3 マスタ / スレーブ通信機能の設定
動作モード
マスタ
CPU
アドレス
送受信
データ
送受信
スレーブ
CPU
データ
AD = 1 + 7
ビットまたは
8 ビットアド
モード 1
モード 1
レス
(AD ビット (AD ビット
送受信 ) AD = 0 + 7
送受信 )
ビットまたは
8 ビットデー
タ
パリティ 同期方法
なし
非同期
ストップ
ビット
ビット方向
1 ビット LSB ファースト
または
または
2 ビット MSB ファースト
■ 通信手順
マスタ CPU がアドレスデータを送信すると , 通信が開始されます。アドレスデータの
AD ビットは "1" に設定され , 通信対象の CPU が選択されます。それぞれのスレーブ
CPU はそのアドレスデータを確認します。アドレスデータがスレーブ CPU に割り当て
られたアドレスを示すと, そのスレーブCPUはマスタCPUと通信します (通常モード) 。
以下に , マスタ / スレーブ通信 ( マルチプロセッサモード ) のフローチャートを示しま
す。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
473
第 15 章 LIN-UART
15.6 LIN-UART の動作
MB91461
図 15.6-13 マスタ / スレーブ通信のフローチャート
( マスタ CPU)
( スレーブ CPU)
開始
開始
動作モード 1 に設定
動作モード 1 に設定
SIN 端子をシリアルデータ
入力に設定
SOT 端子をシリアルデータ
出力に設定
SIN 端子をシリアルデータ
入力に設定
SOT 端子をシリアルデータ
出力に設定
7 または 8 データビット長に設定
1 または 2 ストップビット長に設定
7 または 8 データビット長に設定
1 または 2 ストップビット長に設定
AD ビットに "1" を設定
送受信動作許可
送受信動作許可
受信バイト
スレーブへアドレスを送信
AD ビット= 1?
待機
NO
YES
バスアイドル
割込み
スレーブアドレス
は一致 ?
AD ビットに "0" を設定
NO
YES
マスタ CPU と通信
スレーブ CPU と通信
通信終了 ?
NO
YES
通信終了 ?
NO
YES
ほかのスレーブ
CPU と通信 ?
NO
YES
送受信動作禁止
終了
474
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.6 LIN-UART の動作
MB91461
LIN 通信機能
15.6.7
LIN マスタ , LIN スレーブ , いずれのシステムにおいても , LIN デバイスとの LINUART 通信が可能です。
■ LIN マスタ / スレーブ通信機能
図 15.6-14 に , 動作モード 3 (LIN) での LIN-UART の設定を示します。
図 15.6-14 動作モード 3 (LIN) での LIN-UART の設定
bit 15
14
13
12
11
P
SBL
CL
AD CRE RXE TXE MD1 MD0 OTO EXT REST UPCL SCKE SOE
モード 3 → +
×
+
+
×
0
◎
◎
1
1
0
0
0
0
1
◎
bit 15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
SCR, SMR
PEN
SSR,
TDR/RDR
10
9
PE ORE FRE RDRF TDRE BDS RIE
8
7
◎
◎
◎
◎
+
◎
◎
bit 15
14
13
12
11
10
9
8
5
4
3
2
7
6
5
4
3
2
ESCR, ECCR LBIE LBD LBL1 LBL0 SOPE SIOP CCO SECS 予約 LBR MS SCDE SSM BIE
モード 3 → ◎
◎
◎
◎
◎
◎
×
0
1
0
変換データを設定 ( 書込み時 )
受信データを保持 ( 読出し時 )
TIE
モード 3 → ×
6
◎
×
×
×
◎
1
0
RBI
TBI
◎
◎
◎ : 使用ビット
× : 未使用ビット
1: "1" を設定
0: "0" を設定
+ : 自動的に正しく設定されるビット
■ LIN デバイスの接続
図 15.6-15 に , LIN バスシステムの接続例を示します。
LIN-UART は LIN マスタ , LIN スレーブ , いずれとしても設定可能です。
図 15.6-15 LIN バスシステムの接続例
SOT
SOT
LINバス
SIN
LINマスタ
CM71-10159-2
SIN
シングルワイヤ
トランシーバ
シングルワイヤ
トランシーバ
FUJITSU MICROELECTRONICS LIMITED
LINスレーブ
475
第 15 章 LIN-UART
15.6 LIN-UART の動作
15.6.8
MB91461
LIN 通信モード ( 動作モード 3)
UART サンプルフローチャート
LIN 通信モードにおける LIN-UART のフローチャート例を示します。
■ マスタデバイスとしての LIN-UART
図 15.6-16 LIN マスタモードでの LIN-UART フローチャート
開始
初期化:動作モードを3に設定
(データ長8ビット,パリティなし,
1ストップビット)
TIE = 0, RIE = 0
メッセージ送信?
NO
YES
スリープモード送信
TDR = 80H
TIE = 0
Synch Break送信:
ECCRに"1"書込み:
LBR, TIE = 1;
Synch Field送信:
TDR = 55H
CPUからの
ウェイクアップ?
スリープ
モード送信?
NO
ウェイクアップコード送信
RIE = 0
YES TIE = 1
TDR = 80H
RIE = 1
YES
NO
ID Field送信: TDR = Id
スレーブへ
の書込み?
NO
YES
NO
TIE = 0
RIE = 1
スレーブからデータ読出し
RIE = 0
476
00H, 80H
または C0H 受信 ?
TIE = 1
スレーブへのデータ
書込み
TIE = 0
RIE = 0
YES
エラー発生?
NO
YES
エラーハンドラ
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 15 章 LIN-UART
15.6 LIN-UART の動作
MB91461
■ スレーブデバイスとしての LIN-UART
図 15.6-17 LIN スレーブモードでの LIN-UART フローチャート
開始
A
B
初期化:
動作モードを3に設定
(8N1データフォーマット)
C
エラー発生?
RIE = 0; LBIE = 1;
RXE = 0
NO
スレーブ
アドレス一致?
NO
C
E
YES
YES
マスタの
送信要求?
スレーブ
動作待ち
LBD = 1
LIN Break割込み
NO
YES
LINマスタからの
メッセージ待ち
LIN Break割り込み要因
(ESCR.LBDに“0”書き込み)
ICU割込み許可(両エッジ)
データ+チェック
サム受信
80H受信?
(スリープモード)
NO
S
RIE = 0
TIE = 1
チェックサム
計算
データ送信
(次ページへ)
スレーブ
動作待ち
TIE = 0
YES
B
ICU割込み
ICUデータ読出し
ICU割込みフラグクリア
C
マスタの
送信要求?
NO
YES
スレーブ
動作待ち
C
ICU割込み
ICUデータ読出し
新ボーレート計算
リロードカウンタに設定
割込みクリア
E
エラーハンドラ
スレーブ
動作待ち
バスアイドル
割込み
C
ID受信
RIE = 1; RXE = 1
A
( 続く )
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
477
第 15 章 LIN-UART
15.6 LIN-UART の動作
MB91461
( 続き )
S
CPUからの
ウェイクアップ?
NO
ウェイクアップ
コード送信
RIE = 0
TIE = 1
TDR = 80H
YES
RIE = 1
NO
478
00H, 80H
またはC0H
受信?
TIE = 0
YES
RIE = 0
FUJITSU MICROELECTRONICS LIMITED
C
CM71-10159-2
第 15 章 LIN-UART
15.7 LIN-UART 使用上の注意事項
MB91461
15.7
LIN-UART 使用上の注意事項
LIN-UART 使用時における注意事項を示します。
■ 動作設定
LIN-UART のシリアル制御レジスタ (SCR) には , TXE ( 送信 ) , RXE ( 受信 ) 動作許可
ビットがあります。これらのビットの初期値は停止状態となっているので , 送信 / 受信
いずれの動作においても転送開始前にこれらのビットを設定してください。ビットの
設定を禁止状態とすることで , 転送を中断することができます。
ISO9141 (LIN バスシステム ) のような単一バスシステムにおいては , 単方向通信である
ため , これらの 2 ビットを同時には設定しないでください。受信は自動的に実行される
ので , LIN-UART により送信されたデータは LIN-UART 自身も受信します。
■ 通信モードの設定
通信モードの設定は , システムが非動作中に行ってください。送信 / 受信中に動作モー
ドが変更されると , 送信 / 受信は停止し , 転送データは失われます。
■ 送信割込み許可タイミング
送信データエンプティフラグビット (SSR の TDRE ビット ) の初期値は "1" ( 送信デー
タがなく , 送信データ書込み許可状態 ) です。送信割込み要求は , 送信割込み要求が許
可 (SSR の TIE ビットが "1") されると直ちに生成されます。この割込みを発生させな
いためには , TDR レジスタへの送信データ書込み後に TIE フラグを "1" に設定してく
ださい。
■ 動作モード 3 における LIN の使用
LIN の機能はモード 0 でも使用可能です ( 送信 , 受信ブレーク ) が , 動作モードをモー
ド 3 に設定すると , LIN-UART のデータ形式が LIN の形式 (8N1, LSB ファースト ) に自
動的に設定されます。LIN-UART の LIN バスプロトコルへの適用は動作モードをモー
ド 3 に設定してください。ブレークの送信時間は変更可能ですが , 最低 11 シリアルビッ
トタイムが必要です。
■ 動作設定の変更
LIN-UART の動作設定を変更した場合は , 必ず LIN-UART をリセットしてください。特
に同期モード 2 でのスタート / ストップビットの有無に注意してください。
シリアルモードレジスタ (SMR) の設定を行う場合は , LIN-UART の再設定と UPCL ビッ
トの設定を同時にはできません。この場合 , LIN-UART が正常に動作しないことがあり
ます。SMR のビットを設定してから , UPCL ビットをセットするようにしてください。
■ LIN スレーブの設定
LIN スレーブとして LIN-UART を初期化する場合は , 必ずボーレートを最初の LIN 同
期ブレーク受信前に設定してください。これは最低 13 ビットタイムの LIN 同期ブレー
ク検出を確実にするためです。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
479
第 15 章 LIN-UART
15.7 LIN-UART 使用上の注意事項
MB91461
■ ソフトウェア互換
この LIN-UART は従来の MCU に搭載されているものに類似していますが , ソフトウェ
アには互換性はありません。プログラミングモデルはほぼ同じですが , レジスタ構成は
異なります。さらにボーレートは既定値から選択するのではなく , リロード値で設定す
るようになっています。
■ バスアイドル機能
同期モード 2 では , バスアイドル機能は使用できません。
■ シリアル制御レジスタ (SCR) の AD ビット
シリアル制御レジスタ (SCR) の AD ビット ( マルチプロセッサモードでのアドレス /
データビット ) を使用する際には下記のことに注意してください。
読み出すと最後に受信した AD ビットを返しますが , 書込みは送信時の AD ビットを設
定します。したがって , AD ビットは制御ビットでありフラグビットでもあります。内
部的には受信データと送信データはそれぞれ別のレジスタへ格納されますが , リード
モディファイライト (RMW) 系命令では , 受信データが読み出され , データ操作後 , 送
信データとして書き込まれます。この種の命令で同じレジスタのビットがアクセスさ
れると , AD ビットに誤った値が設定されることがあります。
そのため , このビットへの書込みアクセスは送信前に行ってください。あるいは , バイ
トアクセスですべてのビットを一度に正しく設定してください。また , AD ビットは送
信データレジスタのようにはデータを保持しません。
送信動作中にこのビットを更新すると , 送信中のデータの AD ビットが変更されます。
480
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 16 章
I2C インタフェース
I2C インタフェースの概要 , レジスタの構成 / 機能 ,
および動作について説明します。
16.1 I2C インタフェースの概要
16.2 I2C インタフェースのレジスタ
16.3 I2C インタフェースの動作説明
16.4 動作フローチャート
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
481
第 16 章 I2C インタフェース
16.1 I2C インタフェースの概要
16.1
MB91461
I2C インタフェースの概要
I2C インタフェースは , Inter IC BUS をサポートするシリアル I/O ポートで , I2C バ
ス上のマスタ / スレーブデバイスとして動作します。
■ I2C インタフェースの特長
I2C インタフェースの特長は , 以下のとおりです。
• マスタ / スレーブ送受信
• アービトレーション機能
• クロック同期化機能
• スレーブアドレス / ゼネラルコールアドレス検出機能
• 転送方向検出機能
• 再起動条件発生および検出機能
• バスエラー検出機能
• 10 ビット /7 ビット スレーブアドレス
• マスタモード時スレーブアドレス受信アクノリッジ制御
• 複合スレーブアドレス対応
• 送信 , バスエラー時に割込み可能
• 標準モード ( 最大 100kbps)/ 高速モード ( 最大 400kbps) に対応
482
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 16 章 I2C インタフェース
16.1 I2C インタフェースの概要
MB91461
■ I2C インタフェースのレジスタ一覧
I2C インタフェースのレジスタ一覧は , 以下のとおりです。
• バスステータスレジスタ (IBSR)
図 16.1-1 バスステータスレジスタ (IBSR) のビット構成
IBSR
アドレス : 0000D1H, 0000DDH bit 7
6
5
4
3
2
1
0
BB
RSC
AL
LRB
TRX
AAS
GCA
ADT
リード / ライト
R
R
R
R
R
R
R
R
初期値
0
0
0
0
0
0
0
0
000369H
• バス制御レジスタ (IBCR)
図 16.1-2 バス制御レジスタ (IBCR) のビット構成
IBCR
アドレス : 0000D0H, 0000DCH bit 15
14
13
12
11
10
9
8
000368H BER
BEIE
SCC
MSS
ACK
GCAA
INTE
INT
リード / ライト
R/W
R/W
W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
• クロック制御レジスタ (ICCR)
図 16.1-3 クロック制御レジスタ (ICCR) のビット構成
ICCR
アドレス : 0000DAH, 0000E6H bit 15
14
13
12
11
10
9
8
予約
NSF
EN
CS4
CS3
CS2
CS1
CS0
リード / ライト
−
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
−
0
0
1
1
1
1
1
000372H
• 10 ビットスレーブアドレスレジスタ (ITBA)
図 16.1-4 10 ビットスレーブアドレスレジスタ (ITBA) のビット構成
ITBAH
アドレス : 0000D2H, 0000DEH bit 15
14
13
12
11
10
9
8
予約
予約
予約
予約
予約
予約
TA9
TA8
リード / ライト
−
−
−
−
−
−
R/W
R/W
初期値
−
−
−
−
−
−
0
0
アドレス : 0000D3H, 0000DFH bit 7
6
5
4
3
2
1
0
TA7
TA6
TA5
TA4
TA3
TA2
TA1
TA0
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
00036AH
ITBAL
00036BH
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
483
第 16 章 I2C インタフェース
16.1 I2C インタフェースの概要
MB91461
• 10 ビットスレーブアドレスマスクレジスタ (ITMK)
図 16.1-5 10 ビットスレーブアドレスマスクレジスタ (ITMK) のビット構成
ITMKH
アドレス : 0000D4H, 0000E0H bit 15
00036CH ENTB
14
13
12
11
10
9
8
RAL
予約
予約
予約
予約
TM9
TM8
リード / ライト
R/W
R
−
−
−
−
R/W
R/W
初期値
0
0
−
−
−
−
1
1
アドレス : 0000D5H, 0000E1H bit 7
6
5
4
3
2
1
0
TM7
TM6
TM5
TM4
TM3
TM2
TM1
TM0
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
1
1
1
1
1
1
1
1
ITMKL
00036DH
• 7 ビットスレーブアドレスレジスタ (ISBA)
図 16.1-6 7 ビットスレーブアドレスレジスタ (ISBA) のビット構成
ISBA
アドレス : 0000D7H, 0000E3H bit 7
6
5
4
3
2
1
0
予約
SA6
SA5
SA4
SA3
SA2
SA1
SA0
リード / ライト
−
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
−
0
0
0
0
0
0
0
00036FH
• 7 ビットスレーブアドレスマスクレジスタ (ISMK)
図 16.1-7 7 ビットスレーブアドレスマスクレジスタ (ISMK) のビット構成
ISMK
アドレス : 0000D6H, 0000E2H bit 15
00036EH ENSB
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
R/W
初期値
0
1
1
1
1
1
1
1
• データレジスタ (IDAR)
図 16.1-8 データレジスタ (IDAR) のビット構成
IDAR
アドレス : 0000D9H, 0000E5H bit 7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
000371H
484
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 16 章 I2C インタフェース
16.1 I2C インタフェースの概要
MB91461
■ I2C インタフェースのブロックダイヤグラム
図 16.1-9 に , I2C インタフェースのブロックダイヤグラムを示します。
図 16.1-9 I2C インタフェースのブロックダイヤグラム
ICCR
EN
I2C 動作許可
ICCR
CS4
CS3
CS2
CS1
CS0
IBSR
BB
RSC
クロック分周2
2345
32
R-bus
シフトクロック発生
クロック選択2(1/12)
シフトクロック
エッジ変化タイミング
バスビジー
リピート
スタート
ラストビット
LRB
TRX
Sync
スタート・ストップ
コンディション検出
エラー
送信/受信
ファーストバイト
ADT
アービトレーションロスト検出
AL
IBCR
SCLI
SCLO
BER
BEIE
割込み要求
IRQ
INTE
SDA
SDAO
INT
IBCR
SCC
MSS
ACK
終了
スタート
マスタ
ACK許可
スタート・ストップ
コンディション発生
GC-ACK許可
GCAA
IDAR
IBSR
スレーブ
AAS
グローバル
コール
GCA
スレーブ
アドレス
比較
ISMK
ENSB
ITMK
ENTB
RAL
ITBA
CM71-10159-2
ITMK
ISBA
ISMK
FUJITSU MICROELECTRONICS LIMITED
485
第 16 章 I2C インタフェース
16.2 I2C インタフェースのレジスタ
16.2
MB91461
I2C インタフェースのレジスタ
I2C インタフェースで使用するレジスタの構成および機能について説明します。
■ I2C インタフェースのレジスタ概要
I2C インタフェースには , 次の 8 種類のレジスタがあります。
• バスステータスレジスタ (IBSR)
• バス制御レジスタ (IBCR)
• クロック制御レジスタ (ICCR)
• 10 ビットスレーブアドレスレジスタ (ITBA)
• 10 ビットスレーブアドレスマスクレジスタ (ITMK)
• 7 ビットスレーブアドレスレジスタ (ISBA)
• 7 ビットスレーブアドレスマスクレジスタ (ISMK)
• データレジスタ (IDAR)
486
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 16 章 I2C インタフェース
16.2 I C インタフェースのレジスタ
MB91461
16.2.1
2
バスステータスレジスタ (IBSR)
バスステータスレジスタ (IBSR) には , 以下の機能があります。
• バスビジー検出
• 再起動条件検出
• アービトレーションロスト検出
• アクノリッジ検出
• データ転送方向表示
• スレーブアドレッシング検出
• ゼネラルコールアドレス検出
• アドレスデータ転送検出
■ バスステータスレジスタ (IBSR)
図 16.2-1 に , バスステータスレジスタ (IBSR) のレジスタ構成を示します。
図 16.2-1 バスステータスレジスタ (IBSR) のレジスタ構成
IBSR
アドレス : 0000D1H, 0000DDH bit 7
6
5
4
3
2
1
0
BB
RSC
AL
LRB
TRX
AAS
GCA
ADT
リード / ライト
R
R
R
R
R
R
R
R
初期値
0
0
0
0
0
0
0
0
000369H
このレジスタは読出し専用です。レジスタのビットはすべてハードウェアにより自動
的に制御されます。I2C インタフェースが有効でない場合 (ICCR レジスタの EN ビット
が "0") は , このレジスタのビットはすべてクリア状態となります。
[bit7] BB : バスビジービット
I2C バスの状態を示すビットです。
BB
CM71-10159-2
内 容
0
停止条件を検出した [ 初期値 ]
1
起動条件を検出した ( バス使用中 )
FUJITSU MICROELECTRONICS LIMITED
487
第 16 章 I2C インタフェース
16.2 I2C インタフェースのレジスタ
MB91461
[bit6] RSC : 再起動条件ビット
再起動条件検出ビットです。
RSC
内 容
0
再起動条件は検出されていない [ 初期値 ]
1
再起動条件を検出した
このビットは , スレーブアドレス転送終了 (ADT = 0), または停止条件の検出でクリ
アされます。
[bit5] AL : アービトレーションロスト検出ビット
アービトレーションロスト検出ビットです。
AL
内 容
0
アービトレーションロストが検出されていない [ 初期値 ]
1
マスタ送信中にアービトレーションロストが発生した
このビットは INT ビットへの "0" 書込み , または IBCR レジスタ中の MSS ビットに
"1" を書き込むことによってクリアされます。
〔アービトレーションロストが発生する例〕
• データ送信が SCL の立上りエッジで SDA ライン上のデータと一致しない
• データのファーストビットで , ほかのマスタによって , 再起動条件が発生した
• I2C インタフェースが , ほかのスレーブデバイスによって SCL ラインが "L" にド
ライブされているために , 起動条件または停止条件を生成できない
[bit4] LRB : アクノリッジ格納ビット
アクノリッジ格納ビットです。受信側からのアクノリッジを格納します。
LRB
内 容
0
スレーブアクノリッジを検出した [ 初期値 ]
1
スレーブアクノリッジを検出していない
アクノリッジの検出 ( 受信 9 ビット ) により書き換わります。
起動条件または停止条件の検出でクリアされます。
488
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 16 章 I2C インタフェース
16.2 I C インタフェースのレジスタ
MB91461
2
[bit3] TRX : データ送信ビット
データ転送中に送信状態を示すビットです。
TRX
内 容
0
データ送信中でない [ 初期値 ]
1
データ送信中
• "1" をセット : マスタモードで起動条件が生成された
- スレーブモードでリードアクセス時 ( 送信 ) , 第 1 バイトの転送終了
- マスタモードで送信中
• "0" をセット : バスがアイドル状態 (BB = 0:IBCR)
- アービトレーションロスト発生
- マスタ割込み中 (MSS = 1, INT = 1) に SCC に "1" が書き込まれた
- マスタ割込み中 (MSS = 1, INT = 1) に MSS ビットがクリアされた
- スレーブ時 , 転送の最後にアクノリッジが発生しなかった
- スレーブモードでの受信中
- マスタモードでのスレーブからデータ受信中
[bit2] AAS : スレーブアドレッシング検出ビット
スレーブアドレッシング検出ビットです。
AAS
内 容
0
スレーブに指定されていない [ 初期値 ]
1
スレーブに指定された
( 再 ) 起動または停止条件の検出でクリアされます。
7/10 ビットのスレーブアドレスを検出したときに設定されます。
[bit1] GCA : ゼネラルコールアドレス検出ビット
ゼネラルコールアドレス (00H) 検出ビットです。
GCA
内 容
0
ゼネラルコールアドレスを検出していない [ 初期値 ]
1
ゼネラルコールアドレスを検出した
( 再 ) 起動または停止条件の検出でクリアされます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
489
第 16 章 I2C インタフェース
16.2 I2C インタフェースのレジスタ
MB91461
[bit0] ADT : アドレスデータ転送
スレーブアドレス受信検出ビットです。
ADT
内 容
0
受信データがスレーブアドレスでない ( またはバス開放中 )
[ 初期値 ]
1
受信データがスレーブアドレスである
起動の検出で "1" に設定されます。10 ビットライトアクセスでのスレーブアドレス
のヘッダが検出されると , 第 2 バイトの後にクリアされ , それ以外のときは第 1 バ
イトの後でクリアされます。
〔第 1 バイト / 第 2 バイトの後とは〕
• マスタ割込み (MSS = 1, INT = 1:IBCR) 中に MSS ビットに "0" が書き込まれた
• マスタ割込み (MSS = 1, INT = 1:IBCR) 中に SCC ビットに "1" が書き込まれた
• INT ビットがクリアされた
• マスタまたはスレーブとして転送対象でなければ , すべての転送バイトの最初
490
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 16 章 I2C インタフェース
16.2 I C インタフェースのレジスタ
MB91461
16.2.2
2
バス制御レジスタ (IBCR)
バス制御レジスタ (IBCR) には以下の機能があります。
• 割込み許可フラグ
• 割込み生成フラグ
• バスエラー検出フラグ
• 再起動条件生成
• マスタ / スレーブモード選択
• ゼネラルコールアクノリッジ生成許可
• データバイトアクノリッジ生成許可
■ バス制御レジスタ (IBCR)
図 16.2-2 に , バス制御レジスタ (IBCR) のレジスタ構成を示します。
図 16.2-2 バス制御レジスタ (IBCR) のレジスタ構成
IBCR
アドレス : 0000D0H, 0000DCH bit 15
14
13
12
11
10
9
8
000368H BER
BEIE
SCC
MSS
ACK
GCAA
INTE
INT
リード / ライト
R/W
R/W
W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
バス制御レジスタ (IBCR) への書込みアクセスは , INT ビットが "1" あるいは転送が開
始される場合に行ってください。ACK ビットもしくは GCAA ビットを変更するとバス
エラーが検出される場合があるので , 転送動作中にはレジスタへの書込みアクセスを
行わないでください。I2C インタフェースが有効でない場合 (ICCR の EN ビットが "0")
は , BER ビットと BEIE ビットを除き , このレジスタのビットはクリア状態となります。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
491
第 16 章 I2C インタフェース
16.2 I2C インタフェースのレジスタ
MB91461
[bit15] BER : バスエラーフラグ
バスエラー割込み要求フラグビットです。このビットは , リードモディファイライ
ト (RMW) 系命令では , 常に "1" が読まれます。
( 書込み時 )
BER
内 容
0
バスエラー割込み要求フラグをクリアする
1
意味を持ちません
( 読出し時 )
BER
内 容
0
バスエラーは検出されていない [ 初期値 ]
1
エラーコンディションを検出した
このビットが設定された場合 , CCR レジスタの EN ビットはクリアされ , I2C インタ
フェースは停止状態になり , データ転送は中断されます。また , BER, BEIE を除き
IBSR と IBCR レジスタのすべてのビットはクリアされます。このビットは , I2C イ
ンタフェースを再度許可 (EN = 1) にする前にクリアしてください。
〔"1" が設定される場合〕
1) 起動条件または停止条件が不正な場所で検出された ( スレーブアドレス転送中 ,
データ転送中 ) 。
2) 10 ビットリードアクセス時に , 第 1 バイトにて 10 ビットライトアクセスする前
に , リードアクセスのスレーブアドレスヘッダが受信された。
3) マスタモードで転送中に起動条件が検出された。
1), 2) の検出は , 転送実行中に I2C インタフェースが動作許可されていると , 不正
バスエラーレポートを抑止するために , 最初の停止条件の受信後にフラグセッ
トされます。
[bit14] BEIE : バスエラー割込み許可ビット
バスエラー割込み許可ビットです。
BEIE
内 容
0
バスエラー割込み禁止 [ 初期値 ]
1
バスエラー割込み許可
このビットが "1" のとき , BER ビットが "1" が設定されると割込みを発生します。
492
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 16 章 I2C インタフェース
16.2 I C インタフェースのレジスタ
MB91461
2
[bit13] SCC : 起動条件継続ビット
再起動条件継続ビットです。
( 書込み時 )
SCC
内 容
0
意味を持ちません
1
マスタ転送時に再起動条件を発生させる
このビットの読出し値は常に "0" です。
マスタモード (MSS = 1, INT = 1) 中にこのビットに "1" を書き込むと , 再起動条件
が発生し , 自動的に INT ビットをクリアします。
[bit12] MSS : マスタ / スレーブ選択ビット
マスタ / スレーブの選択ビットです。
MSS
内 容
0
スレーブモードとなります [ 初期値 ]
1
マスタモードとなり起動条件を発生し , IDAR レジスタの値をスレー
ブアドレスとして送信します
• このビットは, マスタ送信中にアービトレーションロストが発生した場合クリア
されてスレーブモードになります。
• マスタ割込みフラグセット中 (MSS = 1, INT = 1) に "0" を書き込むと INT ビッ
トは自動的にクリアされ , 停止条件が発生して転送が終了します。
( 注意事項 ) MSS ビットは直接的なリセットとして機能します。停止条件の発生
は , IBSR レジスタの BB ビットを読み出すことによって確認できま
す。
• バスがアイドル中 (MSS = 0, BB = 0) に "1" を書き込むと起動条件が発生して
IDAR の値が送信されます。
• バス使用中 (BB = 1, TRX = 0, MSS = 0) に "1" を書き込むと I2C インタフェー
スはバスが開放されるまで待ち , 送信を開始します。その間に I2C インタフェー
スはライトアクセスを伴うスレーブとしてアドレス指定されると, 転送終了後に
バスは開放されます。その間 , スレーブとして送信中の場合 (IBCR:AAS = 1,
TRX = 1), バスが開放されてもデータ送信しません。I2C インタフェースがスレー
ブ (IBSR: AAS = 1) として指定されたか , 次の割込み時にデータを送信が正常終
了にした (IBCR:MSS = 1) か , 不正終了した (IBSR:AL = 1) かどうかを確認する
ことが重要となります。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
493
第 16 章 I2C インタフェース
16.2 I2C インタフェースのレジスタ
MB91461
<注意事項>
下記条件で使用する場合 , スレーブとして受信できませんのでゼネラルコールアドレスの
送信は禁止です。
MB91461 のほかにマスタモードとなるほかの LSI がバスに存在し , MB91461 がマスタと
してゼネラルコールアドレスを送信し , 第 2 バイト目以降でアービトレーションロストが
発生する場合
[bit11] ACK : アクノリッジビット
データを受信許可ビットに従ってアクノリッジを発生するビットです。
ACK
内 容
0
データ受信に対してアクノリッジを発生しない [ 初期値 ]
1
データ受信に対してアクノリッジを発生する
• このビットは , スレーブ時のスレーブアドレス受信時には無効となります。I2C
インタフェースが 7 ビット , または 10 ビットのスレーブアドレス指定を検出し
たとき , 対応するイネーブルビット (ITMK:ENTB, ISMK:ENSB) が設定されてい
ると , アクノリッジを返します。
• このビットへの書込みは , 割込みフラグセット中 (INT = 1), バスが開放中 (IBSR:
BB = 0) または I2C インタフェースが停止中 (ICCR:EN = 0) に行ってください。
[bit10] GCAA : ゼネラルコールアドレスアクノリッジビット
ゼネラルコールアドレスを検出した場合のアクノリッジ発生許可ビットです。
GCAA
内 容
0
ゼネラルコールアドレスを検出時にアクノリッジを発生しない
[ 初期値 ]
1
ゼネラルコールアドレスを検出時にアクノリッジを発生する
このビットへの書込みは , 割込みフラグセット中 (INT = 1), バスが開放中 (IBSR:
BB = 0) または I2C インタフェースが停止中 (ICCR:EN = 0) に行ってください。
• ゼネラルコールアドレス受信時には , このビットと ACK ビットをともに "1" に
することにより , アクノリッジ応答の発生が許可されます。
• ゼネラルコールアドレス送信時には , このビットを "1" にすることにより , アク
ノリッジ応答の発生が許可されます。
• スレーブ受信 ( マスタでゼネラルコールアドレスを送信した後に , アービトレー
ションロストが発生した場合を含む ) でデータ受信時のアクノリッジビット出
力は , ACK ビットとこのビットがともに "1" のときに出力許可となります。
• バスステータスレジスタ (IBSR) の GCA ビットが "1" のときには , このビットの
設定値を変更しないでください。
494
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 16 章 I2C インタフェース
16.2 I C インタフェースのレジスタ
MB91461
2
[bit9] INTE : 割込み許可ビット
割込み許可ビットです。
INTE
内 容
0
割込み禁止 [ 初期値 ]
1
割込み許可
このビットが "1" のときに , INT ビットが "1" になると割込みを発生します。
[bit8] INT : 割込み要求フラグ
転送終了割込み要求フラグビットです。このビットは , リードモディファイライト
(RMW) 系命令では常に "1" が読み出されます。
( 書込み時 )
INT
内 容
0
転送終了割込み要求フラグをクリアする [ 初期値 ]
1
動作に影響を与えません
( 読出し時 )
INT
内 容
0
転送が終了していない , 転送対象でないまたはバスが開放状態である
[ 初期値 ]
1
アクノリッジビットを含めた 1 バイト転送が終了したときに次の条
件に該当する場合設定されます。
・バスマスタである
・スレーブアドレスに指定された
・ゼネラルコールアドレスを受信した
・アービトレーションロストが起こった
スレーブアドレスに指定されているとき , アクノリッジを含むスレー
ブアドレス受信の最後に設定されます。
このビットが "1" のとき , SCL ラインは "L" レベルに保たれます。このビットへ "0"
を書込みによりクリアされ , SCL ラインを開放し , 次バイトの転送を行って 再起動
条件または停止条件を生成します。
このビットは , SCC ビットまたは MSS ビットに "1" が書き込まれるとクリアされま
す。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
495
第 16 章 I2C インタフェース
16.2 I2C インタフェースのレジスタ
MB91461
<注意事項>
SCC, MSS, INT ビットの競合について
SCC, MSS, INT ビットの同時書込みにより , 次バイト転送 , 再起動条件 , または停止条件
発生の競合が起こります。このときの優先度は次のようになります。
• 次のバイト転送と停止条件発生
INT ビットに "0", MSS ビットに "0" を書き込むと , MSS ビットの書込みが優先されて
停止条件が発生します。
• 次のバイト転送と起動条件発生
INT ビットに "0", SCC ビットに "1" を書き込むと , SCC ビットの書込みが優先されて
再起動条件が発生し , IDAR の値が送信されます。
• 再起動条件発生と停止条件発生
SCC ビットに "1", MSS ビットに "0" を書き込むと , MSS ビットのクリアが優先されま
す。停止条件が発生して I2C インタフェースはスレーブモードになります。
図 16.2-3 と図 16.2-4 に示したタイミングで , 起動条件を発生させる命令を実行 (IBCR の
MSS = 1) すると , アービトレーションロスト検出 (IBSR の AL = 1) による割込み (IBCR
の INT = 1) は発生しません。
• アービトレーションロスト検出による割込みが発生しない条件 (1)
起動条件未検出状態 (IBSR の BB = 0) で , SDA 端子または SCL 端子レベルが "L" のと
きに , 起動条件を発生させる命令を実行 (IBCR の MSS = 1) した場合。
図 16.2-3 アービトレーションロスト検出による割込みが発生しないタイミング図
SCL端子またはSDA端子が"L"レベル
SCL端子
"L"
SDA端子
"L"
I2C動作許可状態(ENビット=1)
1
マスタモード設定(MSSビット=1)
アービトレーションロスト検出(ALビット=1)
バスビジー(BBビット)
0
割込み(INTビット)
0
496
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 16 章 I2C インタフェース
16.2 I C インタフェースのレジスタ
MB91461
2
• アービトレーションロスト検出による割込みが発生しない条件 (2)
ほかのマスタに I2C バスが占有されている状態で , I2C 動作許可 (ICCR の EN = 1) し
て起動条件を発生させる命令を実行 (IBCR の MSS = 1) した場合。
図 16.2-4 に示したとおり , I2C が動作禁止 (ICCR の EN = 0) の状態で , I2C バスのほ
かのマスタが通信を開始すると , 起動条件未検出 (IBSR の BB = 0) で I2C バスが占有
されている状態になるためです。
図 16.2-4 アービトレーションロスト検出による割込みが発生しないタイミング図
スタートコンディション
9クロック目でINTビット
割込みが発生しない
ストップコンディション
SCL端子
SDA端子
スレーブアドレス
ACK
データ
ACK
ENビット
MSSビット
ALビット
BBビット
0
INTビット
0
これらのような現象が発生する可能性がある場合には , 以下の手順でソフト処理を
行ってください。
1) 起動条件を発生させる命令を実行 (IBCR の MSS = 1)
2) タイマ機能などを用いて , ICCR に設定されている I2C 転送周波数での 3 ビットデー
タ送信時間待機 *
例:
I2C 転送周波数が 100kHz の場合
3 ビットデータ送信時間= {1/(100 × 103)} × 3 = 30 μs
* : アービトレーションロストが検出された場合 , MSS ビット設定後 , I2C 転送周波
数での 3 ビットデータ送信時間後には確実に AL = 1 となります。
3) BSR の AL ビットと BB ビットを確認し , AL = 1 かつ BB = 0 の場合には , ICCR の
EN ビットを "0" にして I2C を初期化
AL ビットと BB ビットがその他の値である場合は , 通常処理
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
497
第 16 章 I2C インタフェース
16.2 I2C インタフェースのレジスタ
MB91461
以下にフロー例を示します。
マスタモード設定
バス制御レジスタ (IBCR) の MSS ビットに "1" を設定
クロック制御レジスタ (ICCR) に設定されている
I2C 転送周波数での 3 ビットデータ送信時間待機
NO
BB = 0 かつ AL = 1
YES
EN ビット設定し , I2C の初期化
通常処理
• アービトレーションロスト検出による割込みが発生する例
バスビジー検出 (IBSR の BB = 1) されている状態で , 起動条件を発生させる命令を実
行 (IBCR の MSS ビットを "1" に設定 ) し , アービトレーションロストした場合には ,
AL = 1 検出時に INT = 1 となり割込みが発生します。
図 16.2-5 アービトレーションロスト検出による割込みが発生するタイミング例
9クロック目で割込み
スタートコンディション
SCL端子
SDA端子
スレーブアドレス
データ
ACK
ENビット
MSSビット
ALビット
ソフトでのALビットクリア
BBビット
ソフトでのINTビット
クリアでSCL開放
INTビット
498
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 16 章 I2C インタフェース
16.2 I C インタフェースのレジスタ
MB91461
2
クロック制御レジスタ (ICCR)
16.2.3
クロック制御レジスタ (ICCR) には , 以下の機能があります。
• ノイズフィルタ有効
• I2C インタフェース動作許可
• シリアルクロック周波数設定
■ クロック制御レジスタ (ICCR)
図 16.2-6 に , クロック制御レジスタ (ICCR) のレジスタ構成を示します。
図 16.2-6 クロック制御レジスタ (ICCR) のレジスタ構成
ICCR
アドレス : 0000DAH, 0000E6H bit 15
14
13
12
11
10
9
8
予約
NSF
EN
CS4
CS3
CS2
CS1
CS0
リード / ライト
−
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
−
0
0
1
1
1
1
1
000372H
[bit15] 予約 : 予約ビット
読出し値は常に "0" です。
[bit14] NSF : ノイズフィルタ有効ビット
SDA および SCL 端子に配置されたノイズフィルタを有効にするビットです。この
ノイズフィルタにより , これらの入力に発生するスパイク (CLKP1 ∼ CLKP1.5 サイ
クル ) を抑制することができます。送信 / 受信レートが 100kbps 以上の場合には , こ
のビットを "1" に設定してください。
[bit13] EN : 動作許可ビット
I2C インタフェース動作許可ビットです。
値
内 容
0
動作禁止 [ 初期値 ]
1
動作許可
<注意事項>
• I2C インタフェースの動作が禁止されると , 送受信は直ちに停止されます。
• MSS ビットに "0" を書き込んでストップコンディションを発生させたあとに I2C インタ
フェースの動作を禁止する場合は , ストップコンディションの発生を確認 (IBSR:BB = 0)
した後 , 動作を禁止 (ICCR:EN = 0) してください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
499
第 16 章 I2C インタフェース
16.2 I2C インタフェースのレジスタ
MB91461
[bit12 ∼ bit8] CS4 ∼ CS0 : クロック周期選択ビット
シリアルクロックの周波数を設定するビットです。
このビットは , I2C インタフェースを動作禁止 (EN = 0) にするか , EN ビットがクリ
アされたときにのみ書込み可能です。
シフトクロックの周波数 (fsck) は次式のように設定されます。
《ノイズフィルタ無効の場合》
fsck =
φ
n × 12 + 18
N > 0, φ: 周辺クロック ( = CLKP)
《ノイズフィルタ有効の場合》
fsck =
φ
N > 0, φ: 周辺クロック ( = CLKP)
( + 1) はノイズフィルタによる不確定要素
n × 12 + 19 ( + 1)
表 16.2-1 レジスタ設定
N
CS4
CS3
CS2
CS1
CS0
1
0
0
0
0
1
2
0
0
0
1
0
3
0
0
0
1
1
…
…
…
…
…
…
31
1
1
1
1
1
CS4 ∼ CS0 = 00000B は設定禁止です。
500
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 16 章 I2C インタフェース
16.2 I C インタフェースのレジスタ
MB91461
16.2.4
2
10 ビットスレーブアドレスレジスタ (ITBA)
10 ビットスレーブアドレスレジスタ (ITBA) のレジスタ構成 , および機能について説
明します。
■ 10 ビットスレーブアドレスレジスタ (ITBA)
図 16.2-7 に , 10 ビットスレーブアドレスレジスタ (ITBA) のレジスタ構成を示します。
図 16.2-7 10 ビットスレーブアドレスレジスタ (ITBA) のレジスタ構成
ITBAH
アドレス : 0000D2H, 0000DEH bit 15
14
13
12
11
10
9
8
予約
予約
予約
予約
予約
予約
TA9
TA8
リード / ライト
−
−
−
−
−
−
R/W
R/W
初期値
−
−
−
−
−
−
0
0
アドレス : 0000D3H, 0000DFH bit 7
6
5
4
3
2
1
0
TA7
TA6
TA5
TA4
TA3
TA2
TA1
TA0
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
00036AH
ITBAL
00036BH
10 ビットスレーブアドレスレジスタ (ITBA) への書込みアクセスは , I2C インタフェー
スが有効でない場合 (ICCR の EN ビットが "0") に行ってください。
[bit15 ∼ bit10] 予約 : 予約ビット
読出し時は常に "0" です。
[bit9 ∼ bit0] TA9 ∼ TA0 : 10 ビットスレーブアドレスビット (A9 ∼ A0)
10 ビットアドレスが有効 (ITMK:ENTB = 1) のとき , スレーブモードでスレーブア
ドレスを受信すると , 受信アドレスとを ITBA と比較します。
アクノリッジは , 10 ビットライトアクセスのアドレスヘッダ受信後 , マスタに送信
されます。
第 1, 第 2 バイト受信データと ITBAL レジスタを比較します。一致が検出されると ,
アクノリッジ信号をマスタデバイスに送信し , AAS ビットが設定されます。
I2C インタフェースは , 再起動条件の後 , 10 ビットリードアクセスのアドレスヘッ
ダの受信に応答します。
スレーブアドレスの全ビットは , ITMK の設定によりマスクされます。受信スレー
ブアドレスは , ITBA レジスタに上書きされます。このレジスタが有効なのは , AAS
(IBSR レジスタ ) が "1" のときのみです。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
501
第 16 章 I2C インタフェース
16.2 I2C インタフェースのレジスタ
16.2.5
MB91461
10 ビットスレーブアドレスマスクレジスタ (ITMK)
10 ビットスレーブアドレスマスクレジスタ (ITMK) のレジスタ構成 , および機能につ
いて説明します。
■ 10 ビットスレーブアドレスマスクレジスタ (ITMK)
図 16.2-8 に , 10 ビットスレーブアドレスマスクレジスタ (ITMK) のレジスタ構成を示
します。
図 16.2-8 10 ビットスレーブアドレスマスクレジスタ (ITMK) のレジスタ構成
ITMKH
アドレス : 0000D4H, 0000E0H bit 15
00036CH ENTB
14
13
12
11
10
9
8
RAL
予約
予約
予約
予約
TM9
TM8
リード / ライト
R/W
R
−
−
−
−
R/W
R/W
初期値
0
0
−
−
−
−
1
1
アドレス : 0000D5H, 0000E1H bit 7
6
5
4
3
2
1
0
TM7
TM6
TM5
TM4
TM3
TM2
TM1
TM0
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
1
1
1
1
1
1
1
1
ITMKL
00036DH
[bit15] ENTB : 10 ビットスレーブアドレス許可ビット
10 ビットスレーブアドレス動作許可ビットです。
このビットへの書込みは , I2C インタフェースが停止状態 (ICCR:EN = 0) で行って
ください。
[bit14] RAL : 受信スレーブアドレス長ビット
このビットは , スレーブアドレス長を示します。
このビットは , 10 ビット /7 ビットスレーブアドレスの動作許可ビットが両方許可
(ENTB = 1 かつ ENSB = 1) になっている場合に , 10 ビット , 7 ビットスレーブアド
レス動作のどちらの転送長が有効になるかの決定に使用できます。
このビットは AAS ビット (IBSR) が "1" のときに有効です。
このビットはインタフェースの動作を禁止 (ICCR:EN = 0) したときにクリアされま
す。
このビットは読出しのみ可能です。
[bit13 ∼ bit10] 予約 : 予約ビット
読出し時は常に "1" が読まれます。
502
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 16 章 I2C インタフェース
16.2 I C インタフェースのレジスタ
MB91461
2
[bit9 ∼ bit0] TM9 ∼ TM0 : 10 ビットスレーブアドレスマスクビット
このビットは10ビットスレーブアドレスレジスタ(ITBA)のビットをマスクします。
このレジスタへの書込みは , I2C インタフェースが動作禁止 (ICCR:EN = 0) のとき
行ってください。
このビットを設定することにより複合 10 ビットスレーブアドレスに対してアクノ
リッジを送信することが可能になります。このレジスタを 10 ビットスレーブアド
レス比較に使用するときに , このビットを "1" に設定してください。受信したスレー
ブアドレスは , ITBA に上書きされます。ASS = 1(IBSR) のときに ITBA レジスタを
読み出すことによって実際の指定されたスレーブアドレスを特定できます。
ITMK の TM9 ∼ TM0 の各ビットが ITBA のアドレスの各ビットに対応しており ,
TM9 ∼ TM0 の値が "1" のときは ITBA のアドレスが有効になり , "0" のときは無効
になります。
例 : ITBA アドレス 0010010111B
ITMK アドレス 1111111100B のとき
スレーブアドレスは 0010010100B ∼ 0010010111B の領域になります。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
503
第 16 章 I2C インタフェース
16.2 I2C インタフェースのレジスタ
16.2.6
MB91461
7 ビットスレーブアドレスレジスタ (ISBA)
7 ビットスレーブアドレスレジスタ (ISBA) のレジスタ構成 , および機能について説
明します。
■ 7 ビットスレーブアドレスレジスタ (ISBA)
図 16.2-9 に , 7 ビットスレーブアドレスレジスタ (ISBA) のレジスタ構成を示します。
図 16.2-9 7 ビットスレーブアドレスレジスタ (ISBA) のレジスタ構成
ISBA
アドレス : 0000D7H, 0000E3H bit 7
6
5
4
3
2
1
0
予約
SA6
SA5
SA4
SA3
SA2
SA1
SA0
リード / ライト
−
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
−
0
0
0
0
0
0
0
00036FH
7 ビットスレーブアドレスレジスタ (ISBA) への書込みアクセスは , I2C インタフェース
が有効でない場合 (ICCR の EN ビットが "0") に行ってください。
[bit7] 予約 : 予約ビット
読出し値は "0" です。
[bit6 ∼ bit0] SA6 ∼ SA0 : スレーブアドレスビット
スレーブモードでスレーブアドレスを受信したとき , 7 ビットスレーブアドレスが
許可 (ENSB = 1:ISMK) されていると , 受信スレーブアドレスと ISBA の比較を行い
ます。スレーブアドレス一致が検出されると , マスタに対してアクノリッジを送信
して AAS ビットを設定します。
I2C インタフェースは , 再起動条件の後に 7 ビットリードアクセスのアドレスヘッ
ダの受信にアクノリッジを返します。
スレーブアドレスの全ビットは , ISMK の設定によりマスクされます。受信スレー
ブアドレスは , ISBA レジスタに上書きされます。このレジスタが有効なのは , AAS
(IBSR レジスタ ) が "1" のときのみです。
I2C インタフェースは , 10 ビットスレーブアドレス指定 , またはゼネラルコールが
受信されたとき , ISBA と受信スレーブアドレスとの比較を行いません。
504
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 16 章 I2C インタフェース
16.2 I C インタフェースのレジスタ
MB91461
2
7 ビットスレーブアドレスマスクレジスタ (ISMK)
16.2.7
7 ビットスレーブアドレスマスクレジスタ (ISMK) には , 7 ビットスレーブアドレス
マスクと 7 ビットスレーブアドレス許可ビットがあります。
■ 7 ビットスレーブアドレスマスクレジスタ (ISMK)
図 16.2-10 に , 7 ビットスレーブアドレスマスクレジスタ (ISMK) のレジスタ構成を示し
ます。
図 16.2-10 7 ビットスレーブアドレスマスクレジスタ (ISMK) のレジスタ構成
ISMK
アドレス : 0000D6H, 0000E2H bit 15
00036EH ENSB
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
R/W
初期値
0
1
1
1
1
1
1
1
7 ビットスレーブアドレスマスクレジスタ (ISMK) への書込みアクセスは , I2C インタ
フェースが有効でない場合 (ICCR の EN ビットが "0") に行ってください。
[bit15] ENSB : 7 ビットスレーブアドレス許可ビット
7 ビットスレーブアドレス動作許可ビットです。
[bit14 ∼ bit8] SM6 ∼ SM0 : 7 ビットスレーブアドレスマスクビット
このビットは 7 ビットスレーブアドレスレジスタ (ISBA) のビットをマスクします。
このビットを設定することにより , 複合 7 ビットスレーブアドレスに対してアクノ
リッジを送信することが可能になります。ISMK レジスタを 7 ビットスレーブアド
レス比較に使用するときに , このビットを "1" に設定してください。受信したスレー
ブアドレスは , ISBA に上書きされます。ASS = 1(IBSR) のときに ISBA レジスタを
読み出すことによって実際の指定されたスレーブアドレスを特定できます。
I2C インタフェースが許可になった後にスレーブアドレス (ISBA) は受信動作によっ
て書き換えられるため , ISMK を書き換えたときは , ISMK を再設定しないと期待ど
おりの動作をしないことがあります。
ISMK の SM6 ∼ SM0 の各ビットが ISBA のアドレスの各ビットに対応しており ,
SM6 ∼ SM0 の値が "1" のときは ISBA のアドレスが有効になり , "0" のときは無効
になります。
例 : ISBA アドレス 0010111B
ISMK アドレス 1111100B のとき
スレーブアドレスは 0010100B ∼ 0010111B の領域になります。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
505
第 16 章 I2C インタフェース
16.2 I2C インタフェースのレジスタ
16.2.8
MB91461
データレジスタ (IDAR)
データレジスタ (IDAR) について説明します。
■ データレジスタ (IDAR)
図 16.2-11 に , データレジスタ (IDAR) のレジスタ構成を示します。
図 16.2-11 データレジスタ (IDAR) のレジスタ構成
IDAR
アドレス : 0000D9H, 0000E5H bit 7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
000371H
[bit7 ∼ bit0] D7 ∼ D0 : データビット
シリアル転送に使用されるデータレジスタであり , MSB から転送されます。
このレジスタの書込み側はダブルバッファになっており , バスが使用中 (BB = 1) で
ある場合 , 書込みデータはシリアル転送用のレジスタにロードされます。INT ビッ
ト (IBCR) がクリアされるか , バスがアイドル状態 (BSR:IBB = 0) のときに転送デー
タは内部転送レジスタにロードされます。
読出し時はシリアル転送用のレジスタを直接読み出すため , 本レジスタの受信デー
タは INT ビット (IBCR) が設定されている場合のみ有効です。
506
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 16 章 I2C インタフェース
16.3 I C インタフェースの動作説明
MB91461
16.3
2
I2C インタフェースの動作説明
I2C バスは , 1 本のシリアルデータライン (SDA) と 1 本のシリアルクロックライン
(SCL) の 2 本の双方向バスラインにより転送が行われます。
I2C インタフェースはそれに対して 2 本のオープンドレイン入出力端子 (SDA, SCL)
を有し , ワイヤード論理を可能にします。
■ 起動条件
バスが開放されている状態 (BB = 0, MSS = 0) で MSS ビットに "1" を書き込むと , I2C
インタフェースはマスタモードとなり , 起動条件を発生します。そのとき , スレーブア
ドレスとして IDAR レジスタの値を送信します。
バスマスタモードで割込みフラグが設定されているとき(IBCR:MSS=1, INT=1), SCC
ビットに "1" を書き込むことで , 再起動条件が生成されます。
バス使用時 (BB = 1, IBSR:TRX = 0, MSS = 0 または IBCR:INT = 0) に , MSS ビット
に "1" を書き込むとバスが開放され , 送信が開始されます。
スレーブモード時にライト ( 受信 ) アクセスされると , 転送が終了してバスが開放され
た後 , 送信を開始します。そのとき , インタフェースがデータ送信中であれば , バスが
開放されても送信しません。
インタフェースは , 次のことをチェックする必要があります。
• スレーブとして指定された (IBCR:MSS = 0, IBSR:AAS = 1) かどうか
• 次の割込みで , データバイトを正常に送れた (IBSR:AL = 1) かどうか
■ 停止条件
マスタモード (MSS = 1, IBCR:INT = 1) 時に , MSS ビットに "0" を書き込むと , 停止条
件を発生してスレーブモードになります。ほかの条件での , MSS への "0" 書込みは無
視されます。
MSS ビットがクリアされた後 , 停止条件を生成しようとします。停止条件を生成する
前に , SCL ラインが "L" にドライブされているときは生成されません。次のバイトが転
送された後に割込みが生成されます。
<注意事項>
MSS ビットに "0" を書き込んでから停止条件を発生するまでに時間を要します。起動条件
を発生前に I2C インタフェースを動作禁止 (ICCR:EN = 0) にすると , 直ちに動作が停止し
て SCL ラインに不正クロックが発生します。I2C インタフェースを動作禁止する際には ,
起動条件の発生を確認 (IBSR:BB = 0) した後 , 動作を禁止 (ICCR:EN = 0) してください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
507
第 16 章 I2C インタフェース
16.3 I2C インタフェースの動作説明
MB91461
■ スレーブアドレス検出
スレーブモードでは , 起動条件発生後 , BB = 1 に設定されてマスタからの送信データ
を IDAR レジスタへ受信します。
〔7 ビットスレーブアドレス動作許可の場合〕(ISMK レジスタの ENSB = 1)
8 ビットデータ受信後に IDAR レジスタと ISBA レジスタとの比較が行われます。こ
のとき , ISMK レジスタによりビットマスクされた値との比較になります。
一致している場合 , AAS = 1 に設定し , マスタに対してアクノリッジを送信します。
その後 , 受信データの bit0 ( 受信後の IDAR レジスタの bit0) を反転して TRX ビット
へ格納します。
〔10 ビットスレーブアドレス動作許可の場合〕(ITMK レジスタの ENTB = 1)
10 ビットアドレスのヘッダ部 (11110B, TA1, TA0, ライト ) を検出すると , マスタに
対してアクノリッジを送信し , 受信データの bit0 を反転して TRX ビットへ格納しま
す。このとき割込みは発生しません。
続いて , 次の転送データと ITBA レジスタの下位データとの比較が行われます。こ
のとき , ISMK レジスタによりビットマスクされた値との比較になります。
一致している場合 , AAS に "1" を設定し , マスタに対してアクノリッジを送信しま
す。このときに割込みが発生します。
スレーブとしてアドレス指定され , 再起動条件を検出した場合 , 10 ビットアドレス
のヘッダ部 (11110B, TA1, TA0, リード ) を受信後に AAS に "1" を設定し , 割込みを
発生します。
10 ビットスレーブアドレスレジスタ (ITBA) と 7 ビットスレーブアドレスレジスタ
(ISBA) を搭載しているので , 両方の動作許可 (ISMK レジスタの ENSB = 1, ITMK レ
ジスタの ENTB = 1) をすることにより , 10 ビットアドレス /7 ビットアドレスに対
してアクノリッジを送信することができます。
スレーブモード時 (AAS = 1) の受信スレーブアドレス長は , ITMK レジスタの RAL
ビットによって決定します。マスタモード時は , 両方の動作を禁止 (ISMK:ENSB =
0, ITMK:ENTB = 0) することにより , I2C インタフェースにスレーブアドレスを生
成しないことが可能です。
全スレーブアドレスは , ITMK, ISMK レジスタを設定することによりマスクできま
す。
508
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 16 章 I2C インタフェース
16.3 I C インタフェースの動作説明
MB91461
2
■ スレーブアドレスマスク
スレーブアドレスマスクレジスタ (ITMK, ISMK) は , スレーブアドレスレジスタの各
ビットに対してマスクすることができます。マスクレジスタに "1" を設定したビット
はアドレス比較を行いますが , "0" に設定されているビットは無視されます。スレーブ
モード (IBSR:AAS = 1) 時 , 受信スレーブアドレスは , ITBA (10 ビットアドレス時 ) ,
ISBA (7 ビットアドレス時 ) レジスタから読み出せます。
ビットマスクがクリアされていると , 常にスレーブとしてアクセスされるので , バスの
モニタとして使用できます。
<注意事項>
ほかのスレーブデバイスがない場合でも , スレーブアドレスを受信するとアクノリッジを
返すので , この機能はリアルバスモニタとはなりません。
■ スレーブアドレッシング
マスタモードでは , 起動条件発生後 , BB = 1, TRX = 1 を設定して IDAR レジスタの内
容を MSB ファーストから出力します。アドレスデータ送信後 , スレーブからアクノ
リッジを受信すると , 送信データの bit0 ( 送信後の IDAR レジスタの bit0) を反転して
TRX ビットへ格納します。この動作は , 再起動条件でも実行されます。
10 ビットスレーブアドレス書込みのために , 2 バイト送信します。第 1 バイトは ,
10 ビットシーケンスを示すヘッダ "11110A9A80" であり , 続いて , 第 2 バイトでスレー
ブアドレスの下位 8 ビット (A7 ∼ A0) を送信します。
10ビットスレーブアドレス読出しは上記のバイトを送信し, 再起動条件とともに, リー
ドアクセスを示すヘッダ "11110A9A81" を生成します。
■ アービトレーション
マスタ送信時に , ほかのマスタも同時にデータを送信している場合 , アービトレーショ
ンが起こります。自身の送信データが "1", SDA ライン上のデータが "L" レベルの場合 ,
自身はアービトレーションを失ったと見なして AL = 1 に設定します。
インタフェースがデータの最初のビットで不要な起動条件を検出されるか , 起動条件
または停止条件の生成が失敗した場合に AL = 1 が設定されます。
アービトレーションロストが発生すると MSS = 0, TRX = 0 となり , スレーブ受信モー
ドとなり , 自身のスレーブアドレスを受信するとアクノリッジを返します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
509
第 16 章 I2C インタフェース
16.3 I2C インタフェースの動作説明
MB91461
■ アクノリッジ
アクノリッジは , 受信側が送信側に対して送信します。データ受信時は , ACK ビット
(IBCR) によって , 受信時にアクノリッジを送信するかどうかを選択することができま
す。
スレーブモード時のデータ送信 ( ほかのマスタからのリードアクセス ) に , マスタから
アクノリッジがなくても , TRX ビットを "0" に設定して受信モードになります。これ
により , マスタはスレーブが SCL ラインを開放したときに , 停止条件を発生すること
ができます。
マスタモード時 , LRB ビット (IBSR) を読み出すことにより , アクノリッジがあったか
どうかをチェックできます。
ゼネラルコールアドレスを送信した後に , アービトレーションロストが発生した場合 ,
データ ( 発生したデータを含む ) 受信時にアクノリッジ応答する場合は , ACK ビット
と GCAA ビットをともに "1" に設定してください。それ以外の設定では , アクノリッ
ジ応答しません。
■ バスエラー
以下の条件が成立した場合はバスエラーと判断され , I2C インタフェースは停止状態に
なります。
• データ転送中 (ACK ビットを含む ) の I2C バスプロトコル違反の検出
• マスタ一時の停止条件検出
• バスアイドル時の I2C バスプロトコル違反の検出
■ エラーを発生しない通信エラー
マスタモード送信時 , SCL ラインにノイズなどで不正クロックが発生すると , I2C イン
タフェースの送信ビットカウンタが早く進み , ACK サイクルでスレーブが SDA ライン
に "L" を出したまま , ハングアップすることがあります。このようなクロックの不正に
対してエラー (AL = 1, BER = 1) は発生しません。
この場合次の方法でエラー処理をしてください。
• MSS = 1, TRX = 1, INT = 1 のときに LRB = 1 であれば , 通信エラーと判断します。
• ここで , EN = 0 とし , その後 EN = 1 とすることにより , 擬似的に SCL が 1 クロッ
ク発生します。
これにより , スレーブにバスを開放させます。
EN = 0 から EN = 1 の期間は , スレーブ側がクロックと認識できる期間 ( 送信ク
ロックの "H" 期間と同じ程度 ) としてください。
• EN = 0 の時点で , IBSR, IBCR はクリアされますので , 起動条件から再送信処理をし
てください。このとき , BSS = 0 による停止条件は生成されません。
このとき , EN = 1 から MSS = 1 ( 起動条件 ) までに , "n × 7 × tCPP" 以上の時間を
空けてください。
例 : 高速モードの場合 : 6 × 7 × 40 ≒ 2.333μs
標準モードの場合 : 27 × 7 × 40 ≒ 10.50μs
(CLKP = 18MHz 時 )
510
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 16 章 I2C インタフェース
16.3 I C インタフェースの動作説明
MB91461
2
<注意事項>
BER が設定されている場合は , EN = 0 ではクリアされません。クリア後 , 再送信してく
ださい。
■ その他
• アービトレーションロストした後 , 自分がアドレッシングされている場合とアドレッ
シングされていなかった場合をソフトで判断する必要があります。
アービトレーションロストするとハード的にスレーブになりますが , 1 バイト転送
終了後 , クロックライン , データライン双方を "L" に引っ張ります。このため ,
アドレッシングされていなければ , 直ちにクロックライン , データラインを開放し ,
アドレッシングされていた場合には , スレーブ送信またはスレーブ受信の準備をし
てからクロックライン , データラインを開放する必要があります ( すべてソフト
ウェアにて処理する必要があります ) 。
• I2C バスには 1 つの割込みしかなく , 1 バイト転送終了した時点で , あるいは割込み
条件に該当していた場合 , 割込み要因が発生する仕様になっています。
1 つの割込みで , 複数の割込み条件を判断しなければならないため , 割込みルーチン
内で , 各フラグをチェックする必要があります。1 バイト転送終了時点での割込み
条件を下記に示します。
- バスマスタであった場合
- アドレスされたスレーブであった場合
- ゼネラルコールアドレスを受信した場合
- アービトレーションロストが生じた場合
• アービトレーションロストを検出した場合 , 直ちに割込み要因が発生するのではな
く , 1 バイト転送終了した時点で要因が発生します。
アービトレーションロストを検出するとハード的にスレーブになりますが , スレー
ブになっても , 割込み要因を発生させるために , トータル 9 クロック出力をします。
そのため , 直ちに割込み要因が発生しないので , アービトレーションロスト後に処
理を行うことはできません。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
511
第 16 章 I2C インタフェース
16.4 動作フローチャート
16.4
MB91461
動作フローチャート
スレーブアドレスとデータ転送および受信データを例に , 動作フローチャートを示
します。
■ スレーブアドレスとデータ転送の例
図 16.4-1 に , スレーブアドレスとデータ転送例を示します。
図 16.4-1 スレーブアドレスとデータ転送例
7ビットスレーブアドレッシング
転送データ
スタート
スタート
ライトアクセスの
BERビットクリア(セット)
スレーブアドレス
インタフェース動作許可EN=1
IDAR =S.アドレス ≪1+RW
MSS=1
IDAR = バイトデータ
INT=0
INT=0
NO
NO
INT=1?
INT=1?
YES
YES
YES
YES
BER=1?
バスエラー
BER=1?
NO
NO
YES
AL=1?
YES
AASの検査
により再起動
転送
AL=1?
NO
AASの検査
により再起動
転送
NO
NO
ACK?
(LRB=0?)
NO
ACK?
(LRB=0?)
YES
YES
データ転送の準備
最終バイト
の転送
YES
NO
転送終了
転送終
・スレーブがACKを発生しない,
もしくはマスタがACKを受信
できない
・いったんEN=0にして再送信
転送終了
転送終
・反復「START」条件,「STOP」
条件を発生する
・「STOP」条件発生(BB=0)
を確認してEN=0
転送 終了
送信時:
・スレーブがACKを発生
しない,もしくはマスタが
ACKを受信できない
・いったんEN=0にして再送信
受信時:
ACKなし,反復
「START」条件,「STOP」
条件を発生する
512
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 16 章 I2C インタフェース
16.4 動作フローチャート
MB91461
■ 受信データの例
図 16.4-2 に , 受信データ例を示します。
図 16.4-2 受信データ例
スタート
リードアクセスの
スレーブアドレス
スレーブからの最終リード
データならACKビットを
クリアする。
INT=0
NO
INT=1?
YES
YES
BER=1?
バスエラー
再起動
NO
NO
最終バイト
の転送
YES
転送終了
反復「START」条件,「STOP」条件
を発生する
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
513
第 16 章 I2C インタフェース
16.4 動作フローチャート
MB91461
■ 割込み処理
図 16.4-3 に , 割込み処理を示します。
図 16.4-3 割込み処理
スタート
NO
INT=1?
ほかのモジュール
からの受信割込み
YES
YES
バスエラー
BER=1?
再起動
NO
YES
GCA=1?
スレーブ時にゼネラル
コール検出
NO
NO
転送の失敗
AAS=1?
YES
再トライを行う
YES
AL=1?
AL=1?
YES アービトレーション
ロスト再転送
NO
NO
YES
LRB=1?
YES
スレーブのACKなし
「STOP」条件,反復
「START」条件の生成
ADT=1
NO
次の割込みで
新データ転送開始。
必要であれば
ACKビットを変更
NO
TRX=1?
TRX=1?
YES
YES
NO
NO
IDARから受信データ
を読む。必要であれば
ACKビットを変更する
IDARに
次の送信
データを
書込む
IDARから受信データ
を読む。必要であ
ればACKビットを
変更する
IDARに次の送信
データを書込む
またはMSSビット
のクリア
クリア INT ビット
ISR終了
514
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 17 章
16 ビットリロードタイマ
16 ビットリロードタイマのレジスタの構成と機能
およびタイマの動作について説明します。
17.1 16 ビットリロードタイマの概要
17.2 16 ビットリロードタイマのレジスタ
17.3 16 ビットリロードタイマの動作
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
515
第 17 章 16 ビットリロードタイマ
17.1 16 ビットリロードタイマの概要
MB91461
16 ビットリロードタイマの概要
17.1
16 ビットリロードタイマは , 16 ビットのダウンカウンタ , 16 ビットのリロードレジス
タ , 内部カウント , クロック生成用プリスケーラ , 制御レジスタで構成されています。
■ 16 ビットリロードタイマ ( 以下 RLT) の概要
16 ビットリロードタイマは , 16 ビットのダウンカウンタ , 16 ビットのリロードレジス
タ , 内部カウント , クロック作成用プリスケーラ , 制御レジスタで構成されています。
本製品では 16 ビットリロードタイマを 5 チャネル (RLT0 ∼ RLT3, RLT7) 内蔵し , その
うち 1 チャネル (RLT7) は A/D 変換トリガ用として使用可能です。
クロックソースとして内部クロック 3 種類 ( リソースクロックの 2/8/32 分周 ), 外部イ
ベントから選択できます (RLT7 のみ外部イベントは選択できません ) 。
■ 16 ビットリロードタイマのブロックダイヤグラム
図 17.1-1 に 16 ビットリロードタイマのブロックダイヤグラムを示します。
図 17.1-1 16 ビットリロードタイマのブロックダイヤグラム
16ビットリロードレジスタ
(TMRLR)
リロード
R-bus
16ビットダウンカウンタ
UF
(TMR)
RELD
OUTL
OUT
CTL
カウント
許可
INTE
IRQ
UF
CNTE
TRG
クロック
セレクタ
EXCK
プリスケーラ
外部タイマ
出力
CSL1
CSL0
プリスケーラ
クリア
IN CTL
CSL1
CSL0
TOE0~TOE3
外部トリガ
選択
PFRK内ビット
外部トリガ入力
φ
516
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 17 章 16 ビットリロードタイマ
17.2 16 ビットリロードタイマのレジスタ
MB91461
16 ビットリロードタイマのレジスタ
17.2
16 ビットリロードタイマで使用されるレジスタの構成と機能について説明します。
■ 16 ビットリロードタイマのレジスタ一覧
TMCSR ( 上位 )
アドレス : 0001B6H , 0001BEH bit 15
0001C6H , 0001CEH 予約
14
13
12
11
10
予約
予約
予約
CSL1
CSL0
9
8
MOD2 MOD1
0001EEH
リード / ライト
−
−
−
−
R/W
R/W
R/W
R/W
初期値
−
−
−
−
0
0
0
0
6
5
4
3
2
1
0
予約
OUTL
RELD
INTE
UF
CNTE
TRG
TMCSR ( 下位 )
アドレス : 0001B7H , 0001BFH bit 7
0001C7H , 0001CFH MOD0
0001EFH
リード / ライト
R/W
R
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
TMR
アドレス : 0001B2H , 0001BAH bit 15
0001C2H , 0001CAH
0
0001EAH
リード / ライト
R
初期値
xxxxH
TMRLR
アドレス : 0001B0H , 0001B8H bit 15
0001C0H , 0001C8H
0
0001E8H
CM71-10159-2
リード / ライト
W
初期値
xxxxH
FUJITSU MICROELECTRONICS LIMITED
517
第 17 章 16 ビットリロードタイマ
17.2 16 ビットリロードタイマのレジスタ
17.2.1
MB91461
制御ステータスレジスタ (TMCSR)
制御ステータスレジスタ (TMCSR) は 16 ビットリロードタイマの動作モードと割込
みを制御します。
■ 制御ステータスレジスタ (TMCSR) のビット構成
TMCSR ( 上位 )
アドレス : 0001B6H , 0001BEH bit 15
0001C6H , 0001CEH 予約
14
13
12
11
10
予約
予約
予約
CSL1
CSL0
9
8
MOD2 MOD1
0001EEH
リード / ライト
−
−
−
−
R/W
R/W
R/W
R/W
初期値
−
−
−
−
0
0
0
0
6
5
4
3
2
1
0
予約
OUTL
RELD
INTE
UF
CNTE
TRG
TMCSR ( 下位 )
アドレス : 0001B7H , 0001BFH bit 7
0001C7H , 0001CFH MOD0
0001EFH
リード / ライト
R/W
R
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
[bit15 ∼ bit12] 予約 : 予約ビット
予約ビットです。
読出し値は常に 0000B となります。
[bit11, bit10] CSL1, CSL0 : カウントソース選択ビット
カウントソースセレクトビットです。カウントソースは内部クロックと外部イベン
トを選択できます。選択可能なカウントソースは以下のとおりです。
なお , RLT7 のみ外部イベントは選択できませんので , CSL1 = CSL0 = 1 以外の値
を設定してください。
518
カウントソース
(φ: リソースクロック )
φ = 18MHz
φ = 9MHz
φ/21[ 初期値 ]
0.11μs
0.22μs
内部クロック
φ/23
0.44μs
0.89μs
0
内部クロック
φ/25
1.78μs
3.56μs
1
外部イベント
−
−
CSL1
CSL0
0
0
内部クロック
0
1
1
1
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 17 章 16 ビットリロードタイマ
17.2 16 ビットリロードタイマのレジスタ
MB91461
外部イベントをカウントソースに設定した場合のカウント有効エッジは MOD1,
MOD0 ビットにより設定されます。
外部クロックに必要な最小パルス幅は 2 × T (T : リソースクロックサイクル ) です。
[bit9 ∼ bit7] MOD2, MOD1, MOD0 : モードビット
動作モードを選択するビットです。カウントソースが「内部クロック」の場合と
「外部クロック」の場合で機能が変わります。
• 内部クロックモードのとき・・・・・リロードトリガ設定
• 外部クロックモードのとき・・・・・カウント有効エッジの設定
また , MOD2 は必ず "0" を設定してください。
【内部クロック選択時のリロードトリガ設定】
カウントソースとして , 内部クロックが選択されている場合は MOD2 ∼ MOD0 ビッ
トの設定により有効エッジが入力されると , リロードレジスタの内容をロードして
カウント動作を継続します。
なお , RLT7 のみ外部トリガ入力端子が存在しませんので , 常に MOD2 ∼ MOD0 =
000B ( ソフトウェアトリガ ) を設定してください。
MOD2
MOD1
MOD0
0
0
0
ソフトウェアトリガ [ 初期値 ]
0
0
1
外部トリガ ( 立上りエッジ )
0
1
0
外部トリガ ( 立下りエッジ )
0
1
1
外部トリガ ( 両エッジ )
1
X
X
設定禁止
有効エッジ
【外部クロック選択時の有効エッジ設定】
カウントソースとして , 外部クロックイベントが設定されている場合は MOD2 ∼
MOD0 ビットの設定により有効エッジが入力されるとイベントをカウントします。
MOD2
MOD1
MOD0
X
0
0
- [ 初期値 ]
X
0
1
外部トリガ ( 立上りエッジ )
X
1
0
外部トリガ ( 立下りエッジ )
X
1
1
外部トリガ ( 両エッジ )
有効エッジ
外部イベント時のリロードは , アンダフローとソフトウェアトリガで発生します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
519
第 17 章 16 ビットリロードタイマ
17.2 16 ビットリロードタイマのレジスタ
MB91461
[bit6] 予約 : 予約ビット
予約ビットです。
読出し値は常に "0" となります。
[bit5] OUTL : 出力レベル
外部タイマ出力レベルを設定するビットです。本ビットが "0" のときと "1" のとき
では出力レベルが逆になります。
なお , RLT7 には外部出力端子は存在しませんが , RLT7 のタイマ出力は A/D コン
バータに接続されています。RLT7 を A/D 変換トリガとして選択した場合 , A/D コ
ンバータはタイマ出力の立上りエッジをトリガとして変換を開始しますので , 後述
する注意事項を参照してください。
[bit4] RELD : リロード許可ビット
リロード許可ビットです。"1" のときにリロードモードになり , カウンタの値が 0000H
→ FFFFH へのアンダフローと同時にリロードレジスタの内容をカウンタへロードし
てカウント動作を続けます。
"0" のときにワンショットモードになり , カウンタの値が 0000H → FFFFH へのアン
ダフローによりカウント動作を停止します。
PFRxy
OUTL
RELD
0
X
X
出力禁止 [ 初期状態 ]
0
カウント中 "H" の矩形波
• カウント停止時 : "L" 出力
• カウント中
: "H" 出力
• アンダフロー時 : "L" 出力
1
カウントスタート時 "L" のトグル出力
• カウント停止時 : "L" 出力
• カウント開始後 : "L" 出力
→ アンダフローごとにトグル出力
0
カウント中 "L" の矩形波
• カウント停止時 : "H" 出力
• カウント中
: "L" 出力
• アンダフロー時 : "H" 出力
1
カウントスタート時 "H" のトグル出力
• カウント停止時 : "H" 出力
• カウント開始後 : "H" 出力
→ アンダフローごとにトグル出力
1
1
1
1
0
0
1
1
出力波形
PFRxy は対応する端子の PFR レジスタ値を意味します。
520
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 17 章 16 ビットリロードタイマ
17.2 16 ビットリロードタイマのレジスタ
MB91461
[bit3] INTE : 割込み許可ビット
割込み要求許可ビットです。"1" のときに UF ビットが "1" になると割込み要求を発
生します。"0" のときは割込み要求を発生しません。
[bit2] UF : アンダフロー割込みフラグ
タイマ割込み要求フラグです。カウンタの値が 0000H → FFFFH へのアンダフロー
により "1" に設定されます。"0" の書込みによってクリアされます。
このビットへの "1" 書込みは意味がありません。
リードモディファイライト (RMW) 系命令における読出しでは , "1" が読み出されま
す。
[bit1] CNTE : カウント許可ビット
タイマのカウント許可ビットです。このビットに "1" を書き込むと , 起動トリガ待
ち状態になります。"0" 書込みによりカウント動作は停止します。
[bit0] TRG : トリガビット
ソフトウェアトリガビットです。"1" 書込みによりソフトウェアトリガがかかり , リ
ロードレジスタの内容をカウンタへロードしてカウント動作を開始します。
"0" 書込みは意味がありません。読出し値は常に "0" です。
本レジスタによるトリガ入力は , CNTE = 1 のときのみ有効となります。CNTE = 0
の時には何も起こりません。
<注意事項>
• UF, CNTE, TRG ビット以外の書換えは , CNTE = 0 のときに行うようにしてください。
• OUTL ビットの設定と , CNTE, TRG との設定は同時に行わないでください。
また , RLT7 を A/D 変換トリガとして選択した場合 , A/D コンバータはタイマ出力の立
上りエッジをトリガとして変換を開始しますので , OUTL ビットの設定と A/D コンバー
タのレジスタ設定順序によっては , 意図しないタイミングで A/D 変換が開始する恐れ
があります。
例えば , RLT7 のワンショットモードでカウンタアンダフロー時に A/D 変換起動を行う
場合は , 以下の順序にて設定を行ってください。
OUTL ビット設定 (TMCSR の OUTL 設定 )
→ A/D 変換トリガ選択設定 (ADCS1 の STS1, STS0 設定 )
→ RLT7 カウント開始 (TMCSR の CNTE, TRG 設定 )
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
521
第 17 章 16 ビットリロードタイマ
17.2 16 ビットリロードタイマのレジスタ
17.2.2
MB91461
16 ビットタイマレジスタ (TMR)
16 ビットタイマレジスタ (TMR) は 16 ビットタイマのカウント値を読み出すために
使用されます。
■ 16 ビットタイマレジスタ (TMR) のビット構成
図 17.2-1 16 ビットタイマレジスタ (TMR) のビット構成
TMR
アドレス : 0001B2H , 0001BAH bit 15
0001C2H , 0001CAH
0
0001EAH
リード / ライト
R
初期値
xxxxH
16 ビットタイマのカウント値を読み出すことができるレジスタです。初期値は不定で
す。本レジスタの読出しは必ず 16 ビットデータ転送命令で行ってください。
522
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 17 章 16 ビットリロードタイマ
17.2 16 ビットリロードタイマのレジスタ
MB91461
17.2.3
16 ビットリロードレジスタ (TMRLR)
16 ビットリロードレジスタ (TMRLR) はカウンタの初期値を保持するためのレジス
タです。
■ 16 ビットリロードレジスタ (TMRLR) のビット構成
図 17.2-2 16 ビットリロードレジスタ (TMRLR) のビット構成
TMRLR
アドレス : 0001B0H , 0001B8H bit 15
0001C0H , 0001C8H
0
0001E8H
リード / ライト
W
初期値
xxxxH
本レジスタは , カウントの初期値を保持しておくためのレジスタです。初期値は不定で
す。本レジスタの読出しは必ず 16 ビットデータ転送命令で行ってください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
523
第 17 章 16 ビットリロードタイマ
17.3 16 ビットリロードタイマの動作
17.3
MB91461
16 ビットリロードタイマの動作
16 ビットリロードタイマの下記の動作について説明します。
• 内部クロック動作
• アンダフロー動作
• 出力端子機能
■ 内部クロック動作
内部クロックの分周クロックでタイマを動作させる場合 , カウントソースとしてリ
ソースクロックの 2・8・32 分周のクロックから選択することができます。
カウント許可と同時にカウント動作を開始したい場合は , 制御ステータスレジスタの
CNTE ビットと TRG ビットの両方に "1" を書き込んでください。
TRG ビットによるトリガ入力は , タイマが起動状態 (CNTE = 1) のときは動作モード
にかかわらず常に有効です。
カウンタスタートにトリガが入力されてからリロードレジスタのデータがカウンタへ
ロードされるまでに T ( リソースクロックマシンサイクル ) の時間がかかります。
図 17.3-1 カウンタの起動および動作
カウントクロック
リロードデータ
カウンタ
-1
-1
-1
データロード
CNTEレジスタ
TRGレジスタ
T
524
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 17 章 16 ビットリロードタイマ
17.3 16 ビットリロードタイマの動作
MB91461
■ アンダフロー動作
カウンタの値が 0000H から FFFFH になるときをアンダフローとしています。したがっ
て , 〔リロードレジスタの設定値+ 1〕カウントでアンダフローが発生します。
アンダフロー発生時 , 制御レジスタの RELD ビットが "1" のときにリロードレジスタの
内容をカウンタへロードしてカウント動作を継続します。RELD ビットが "0" のときに
カウンタは FFFFH で停止します。
図 17.3-2 アンダフロー動作
[RELD=1]
カウントクロック
カウンタ
0000H
リロードデータ
-1
-1
-1
データロード
アンダフローセット
[RELD=0]
カウントクロック
カウンタ
0000H
FFFFH
アンダフローセット
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
525
第 17 章 16 ビットリロードタイマ
17.3 16 ビットリロードタイマの動作
MB91461
■ 出力端子機能
TOT 出力端子は , リロードモード時はアンダフローにより反転するトグル出力として ,
ワンショットモード時はカウント中を示すパルス出力として機能します。出力極性は
レジスタの OUTL ビットにより設定できます。OUTL = 0 のときにトグル出力は , 初
期値が "0" で , ワンショットパルス出力はカウント中に "1" を出力します。OUTL = 1
にすると出力波形は反転します。
図 17.3-3 出力端子機能 [RELD = 1, OUTL = 0]
カウント開始
アンダフロー
OUTL=1のときは反転
TOT0~TOT3
汎用ポート
CNTE
起動トリガ
図 17.3-4 出力端子機能 [RELD = 0, OUTL = 0]
カウント開始
アンダフロー
TOT0~TOT3
CNTE
OUTL=1で反転
汎用ポート
起動トリガ
起動トリガ待ち状態
526
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 17 章 16 ビットリロードタイマ
17.3 16 ビットリロードタイマの動作
MB91461
■ カウンタの動作状態
カウンタの状態は , 制御レジスタの CNTE ビットと内部信号の WAIT 信号によって決
まります。設定可能な状態として CNTE = 0, WAIT = 1 の停止状態 (STOP 状態 ) ,
CNTE = 1, WAIT = 1 の起動トリガ待ち状態 (WAIT 状態 ) , CNTE = 1, WAIT = 0 の動
作状態 (RUN 状態 ) があります。
図 17.3-5 カウンタ状態遷移
ハードウェアによる状態遷移
リセット
リセッ
レジスタアクセスによる状態遷移
STOP
STO
CNTE=0,WAIT=1
カウンタ: 停止時の値を保持
リセット直後は不定
CNTE=1
TRG=0
WAIT
WAI
CNTE=1
TRG=1
CNTE=1,WAIT=1
カウンタ: 停止時の値を保持
リセット直後リロードする
までは不定
TRG=1
CNTE=1,WAIT=0
RUN
RU
RELD・UF
カウンタ:動作
TRG=1
RELD・UF
LOAD
LOA
CNTE=1,WAIT=0
リロードレジスタの内容を
カウンタへロード
ロード終了
■ 注意事項
• 内部プリスケーラは , 制御ステータスレジスタの bit1 ( タイマ許可 : CNTE) が "1" に
設定されている状態でトリガ ( ソフトウェアトリガ , あるいは外部トリガ ) がかけら
れることにより動作可能になります。
• 割込み要求フラグセットタイミングとクリアタイミングが重複した場合にはフラ
グセットが優先し , クリア動作は無効になります。
• 16 ビットタイマリロードレジスタへの書込みと , リロードのタイミングが重なった
場合には , 旧データがカウンタにロードされ , 新データがカウンタにロードされる
のは次のリロードのタイミングとなります。
• 16 ビットタイマレジスタはロードとカウントのタイミングが重複した場合には ,
ロード ( リロード ) 動作が優先されます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
527
第 17 章 16 ビットリロードタイマ
17.3 16 ビットリロードタイマの動作
MB91461
528
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
第 18 章
16 ビットフリーランタイマ
16 ビットフリーランタイマの機能と動作について
説明します。
18.1 16 ビットフリーランタイマの概要
18.2 16 ビットフリーランタイマのレジスタ
18.3 16 ビットフリーランタイマの動作
18.4 16 ビットフリーランタイマ使用上の注意
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
529
第 18 章 16 ビットフリーランタイマ
18.1 16 ビットフリーランタイマの概要
18.1
MB91461
16 ビットフリーランタイマの概要
16 ビットフリーランタイマは , 16 ビットのタイマ ( アップカウンタ ) と制御回路で
構成されています。16 ビットフリーランタイマはインプットキャプチャ , アウト
プットコンペアと組み合せて使用することができます。
■ 16 ビットフリーランタイマの概要
16 ビットフリーランタイマは 16 ビットのアップカウンタ , 制御ステータスレジスタよ
り構成されています。本タイマのカウント値はアウトプットコンペア , インプットキャ
プチャの基本時間 ( ベースタイマ ) として使用されます。
• カウントクロックは 4 種類から選択可能
• カウンタオーバフローによる割込み発生
• モード設定により , アウトプットコンペアのコンペアレジスタの値との一致による
カウンタの初期化が可能
• フリーランタイマとインプットキャプチャ , アウトプットコンペアユニットは以下
の組合せで協調動作を行います。
- フリーランタイマ 0 とインプットキャプチャ 0, 1
- フリーランタイマ 1 とインプットキャプチャ 2, 3
- フリーランタイマ 2 とアウトプットコンペア 0, 1
- フリーランタイマ 3 とアウトプットコンペア 2, 3
530
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 18 章 16 ビットフリーランタイマ
18.1 16 ビットフリーランタイマの概要
MB91461
■ 16 ビットフリーランタイマのブロックダイヤグラム
図 18.1-1 16 ビットフリーランタイマのブロックダイヤグラム
割込み
ECLK
IVF
IVFE
STOP
MODE
CLR
CLK1
CLK0
分周期
φ
R-bus
FRCK
クロック選択
16ビットフリーランタイマ
(TCDT)
クロック
内部回路へ(T15~T00)
コンパレータ
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
531
第 18 章 16 ビットフリーランタイマ
18.2 16 ビットフリーランタイマのレジスタ
18.2
MB91461
16 ビットフリーランタイマのレジスタ
16 ビットフリーランタイマのレジスタについて説明します。
■ 16 ビットフリーランタイマのレジスタ一覧
図 18.2-1 16 ビットフリーランタイマのレジスタ一覧
TCDT ( 上位 )
bit 15
14
13
12
11
10
9
8
T15
T14
T13
T12
T11
T10
T09
T08
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
bit 7
6
5
4
3
2
1
0
T07
T06
T05
T04
T03
T02
T01
T00
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
bit 7
6
5
4
3
2
1
0
IVF
IVFE
CLR
CLK1
CLK0
アドレス : 0001F0H , 0001F4H
0001F8H , 0001FCH
TCDT ( 下位 )
アドレス : 0001F1H , 0001F5H
0001F9H , 0001FDH
TCCS
アドレス : 0001F3H , 0001F7H ECLK
0001FBH , 0001FFH
532
STOP MODE
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
x
0
0
0
0
0
0
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 18 章 16 ビットフリーランタイマ
18.2 16 ビットフリーランタイマのレジスタ
MB91461
タイマデータレジスタ (TCDT)
18.2.1
タイマデータレジスタは , 16 ビットフリーランタイマのカウント値を読み出すこと
ができるレジスタです。
■ タイマデータレジスタ (TCDT)
図 18.2-2 タイマデータレジスタ (TCDT) のビット構成
TCDT ( 上位 )
bit 15
14
13
12
11
10
9
8
T15
T14
T13
T12
T11
T10
T09
T08
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
bit 7
6
5
4
3
2
1
00
T07
T06
T05
T04
T03
T02
T01
T00
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
アドレス : 0001F0H , 0001F4H
0001F8H , 0001FCH
TCDT ( 下位 )
アドレス : 0001F1H , 0001F5H
0001F9H , 0001FDH
タイマデータレジスタのカウンタ値は , リセット時に 0000H に初期化されます。この
レジスタへの書込みによりタイマ値を設定することができます。
このレジスタへの書込みは , 必ず 16 ビットフリーランタイマが停止 (TCCS レジスタの
STOP = 1) 時に行ってください。
タイマの初期化は次の要因で行われます。
• リセットによる初期化
• タイマ制御ステータスレジスタの CLR ビットへの "1" 書込みによる初期化
• アウトプットコンペアのコンペアクリアレジスタ値とカウンタ値の一致による初
期化 ( モード設定が必要 )
<注意事項>
このレジスタへのアクセスは , ハーフワード (16 ビット ) で行ってください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
533
第 18 章 16 ビットフリーランタイマ
18.2 16 ビットフリーランタイマのレジスタ
MB91461
タイマ制御ステータスレジスタ
18.2.2
タイマ制御ステータスレジスタは , 16 ビットフリーランタイマのカウント値を制御
するために使用されます。
■ タイマ制御ステータスレジスタ (TCCS)
図 18.2-3 タイマ制御ステータスレジスタ (TCCS) のビット構成
TCCS
bit 7
アドレス : 0001F3H , 0001F7H ECLK
0001FBH , 0001FFH
6
5
IVF
IVFE
4
3
STOP MODE
2
1
0
CLR
CLK1
CLK0
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
x
0
0
0
0
0
0
[bit7] ECLK : クロック選択ビット
16 ビットフリーランタイマのカウントクロックソースとして , 内部クロックまたは
外部クロックを選択するビットです。クロックソースの選択は , アウトプットコン
ペア , インプットキャプチャが停止状態で行ってください。
ECLK
クロック選択
0
内部クロックソース (CLKP) を選択 [ 初期値 ]
1
外部端子 (FRCK) を選択
<注意事項>
内部クロックを選択した場合は , TCDT レジスタの bit1, bit0 (CLK1, CLK0) にカウントク
ロックの設定を行ってください。このカウントクロックがベースクロックとなります。
外部クロックに必要な最低パルス幅は , 2 × T です (T: 周辺系クロックサイクル ) 。
外部クロックを指定してアウトプットコンペアを使用した場合 , コンペア一致および割込
みは次のクロックサイクルで発生します。そのため , コンペア一致出力 , 割込みを発生さ
せるためには , コンペア一致後 , 最低 1 クロックサイクルを入力する必要があります。
534
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 18 章 16 ビットフリーランタイマ
18.2 16 ビットフリーランタイマのレジスタ
MB91461
[bit6] IVF : 割込み要求フラグ
16 ビットフリーランタイマの割込み要求フラグです。
16 ビットフリーランタイマがオーバフローを起こした場合 , またはモード設定によ
りコンペアレジスタとコンペア一致した場合に本ビットは "1" に設定されます。
割込み要求許可ビット (IVFE) が設定されていると割込みが発生します。
本ビットは "0" 書込みによりクリアされます。リードモディファイライト (RMW)
系命令では常に "1" が読み出されます。
IVF
割込み要求フラグ
0
割込み要求なし
1
割込み要求あり
<注意事項>
IVF ビットはリセット解除直後の初期値は "0" ですが , リセット解除後はタイマカウンタ
が自動的にカウント動作を行うため , オーバフロー発生後であれば IVF ビットのリード初
期値は "1" になります。
[bit5] IVFE : 割込み許可ビット
16 ビットフリーランタイマの割込み許可ビットです。
本ビットが"1"のとき, 割込みフラグ(IVF)に"1"が設定されると割込みが発生します。
IVFE
割込み許可
0
割込み禁止 [ 初期値 ]
1
割込み許可
[bit4] STOP : 停止ビット
16 ビットフリーランタイマのカウントを停止するためのビットです。
STOP
カウント動作
0
カウント許可 ( 動作 ) [ 初期値 ]
1
カウント禁止 ( 停止 )
<注意事項>
16 ビットフリーランタイマが停止すると , アウトプットコンペア動作も停止します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
535
第 18 章 16 ビットフリーランタイマ
18.2 16 ビットフリーランタイマのレジスタ
MB91461
[bit3] MODE : モード設定ビット
16 ビットフリーランタイマの初期化条件を設定します。
本ビットが "0" のときは , リセットとクリアビット (bit2 : CLR) でカウンタ値を初期
化することができます。
"1" のときは , リセットとクリアビット (bit2 : CLR) のほかにアウトプットコンペア
のコンペアレジスタ値との一致によりカウンタ値を初期化することができます。
MODE
タイマ初期化条件
0
リセット , クリアビット [ 初期値 ]
1
リセット , クリアビット , コンペアレジスタ
[bit2] CLR : タイマクリアビット
動作中の 16 ビットフリーランタイマ値を 0000H に初期化するためのビットです。
本ビットに "1" を書き込むことにより , タイマ値を 0000H に初期化します。
本ビットの読出しは常に "0" となります。
<注意事項>
カウンタ値の初期化は , カウント値の変化点で行われます。CLR ビットへ "1" 書込み後 ,
カウンタがクリアされる前に "0" を書き込むとカウンタクリア要求は取り下げられます。
タイマ停止中に初期化する場合は , データレジスタに 0000H を書き込んでください。
[bit1, bit0] CLK1, CLK0 : カウントクロック選択ビット
16 ビットフリーランタイマのカウントクロックを選択するビットです。
本ビットに書き込んだ後 , 直ちにカウントクロックは変更されます。本ビットの変更
は , アウトプットコンペア , インプットキャプチャが停止状態にて行ってください。
CLK1
CLK0
カウントクロック (φ)
φ = 18MHz
φ = 9MHz
0
0
φ/22
0.22μs
0.44μs
0
1
φ/24
0.89μs
1.78μs
1
0
φ/25
1.78μs
3.56μs
1
1
φ/26
3.56μs
7.11μs
φ: リソースクロック (CLKP)
536
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 18 章 16 ビットフリーランタイマ
18.3 16 ビットフリーランタイマの動作
MB91461
18.3
16 ビットフリーランタイマの動作
16 ビットフリーランタイマは , リセット解除後にカウンタ値 0000H よりカウントを
開始します。このカウンタ値が , 16 ビットアウトプットコンペアと 16 ビットイン
プットキャプチャの基準時間となります。
■ 16 ビットフリーランタイマの動作説明
カウンタ値は次の条件でクリアされます。
• オーバフローの発生
• コンペアクリアレジスタ ( アウトプットコンペアのコンペアレジスタ ) 値とのコン
ペア一致 ( モード設定が必要 )
• 動作中での TCCS レジスタの CLR ビットに "1" 書込み
• タイマ停止中での TCDT への 0000H 書込み
• リセットの発生
割込みはオーバフローが発生したときにコンペアクリアレジスタの値とコンペア一致し
てカウンタがクリアされたときに発生します ( コンペア一致割込みは , モード設定が必
要です )。
図 18.3-1 オーバフローによるカウンタクリア
カウンタ 値
FFFFH
BFFFH
7FFFH
3FFFH
時間
0000H
リセット
割込み
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
537
第 18 章 16 ビットフリーランタイマ
18.3 16 ビットフリーランタイマの動作
MB91461
図 18.3-2 コンペアクリアレジスタ値とコンペア一致したときのカウンタクリア
カウンタ値
FFFFH
一致
BFFFH
一致
7FFFH
3FFFH
0000H
時間
リセット
コンペアレジスタ
BFFFH
割込み
■ 16 ビットフリーランタイマのクリアタイミング
カウンタクリアは , リセット , ソフトウェア , コンペアクリアレジスタとの一致で行わ
れます。
リセットとソフトウェアでのカウンタクリアは , クリア発生とともに行われますが , コ
ンペアクリアレジスタとの一致によるカウンタクリアはカウントタイミングに同期し
て行われます。
図 18.3-3 16 ビットフリーランタイマのクリアタイミング
コンペアクリア
レジスタ値
N
カウンタクリア
カウンタ値
N
0000H
■ 16 ビットフリーランタイマのカウントタイミング
16 ビットフリーランタイマは , 入力されたクロック ( 内部または外部クロック ) により
カウントアップされます。外部クロック選択時は , 外部クロックの立下りエッジ↓をシ
ステムクロックで同期化した後 , 内部カウントクロックの立下りでカウントされます。
図 18.3-4 16 ビットフリーランタイマのカウントタイミング
外部クロック入力
内部クロック
カウンタ値
538
N
FUJITSU MICROELECTRONICS LIMITED
N+1
CM71-10159-2
第 18 章 16 ビットフリーランタイマ
18.4 16 ビットフリーランタイマ使用上の注意
MB91461
18.4
16 ビットフリーランタイマ使用上の注意
16 ビットフリーランタイマ使用上の注意を説明します。
■ 16 ビットフリーランタイマ使用上の注意
• 割込み要求フラグセットタイミングとクリアタイミングが重複した場合には , フラ
グセットが優先するためクリア動作は無効となります。
• 制御ステータスレジスタの bit2 ( カウンタ初期化ビット : CLR) は "1" が書き込まれ
ると , 内部カウンタをクリアするタイミングまで値を保持し , そのタイミングで自
身もクリアします。クリアタイミングと "1" の書込みが重複した場合には , 書込み
が優先してカウンタ初期化ビットは次のクリアタイミングまで "1" を保持し続けま
す。
• カウンタクリア動作は , 内部カウンタが動作中 ( 内部プリスケーラも動作中 ) のみ有
効となります。停止中にカウンタをクリアする場合は , タイマカウントデータレジ
スタに 0000H を書き込むようにしてください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
539
第 18 章 16 ビットフリーランタイマ
18.4 16 ビットフリーランタイマ使用上の注意
MB91461
540
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
第 19 章
インプットキャプチャ
インプットキャプチャの機能と動作について説明
します。
19.1 インプットキャプチャの概要
19.2 インプットキャプチャのレジスタ
19.3 インプットキャプチャの動作
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
541
第 19 章 インプットキャプチャ
19.1 インプットキャプチャの概要
MB91461
インプットキャプチャの概要
19.1
インプットキャプチャには外部から入力された信号の立上りエッジ , 立下りエッジ
または両エッジを検出して , そのときの 16 ビットフリーランタイマ値をレジスタに
保持する機能があります。また , エッジ検出時に割込みを発生することができます。
インプットキャプチャは , インプットキャプチャデータレジスタ , 制御レジスタで構
成されています。
■ インプットキャプチャの概要
各インプットキャプチャには , それぞれに対応した外部入力端子があります。
• 外部入力の有効エッジを 3 種類から選択可能です。
- 立上りエッジ
- 立下りエッジ
- 両エッジ
• 外部入力有効エッジを検出したときに割込みを発生することができます。
• フリーランタイマとインプットキャプチャは以下の組合せで協調動作を行います。
- フリーランタイマ 0 とインプットキャプチャ 0, 1
- フリーランタイマ 1 とインプットキャプチャ 2, 3
■ インプットキャプチャのブロックダイヤグラム
16ビットタイマカウント値(T15~T00)
R-bus
キャプチャデータレジスタch.0
IN0
入力端子
エッジ検出
EG11
EG10
EG01
EG00
16ビットタイマカウント値(T15~T00)
キャプチャデータレジスタch.1
ICP1
IN1
入力端子
エッジ検出
ICP0
ICE1
ICE0
割込み
割込み
542
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 19 章 インプットキャプチャ
19.2 インプットキャプチャのレジスタ
MB91461
19.2
インプットキャプチャのレジスタ
インプットキャプチャには下記のレジスタがあります。
• インプットキャプチャレジスタ (IPCP0 ∼ IPCP3)
• インプットキャプチャ制御レジスタ (ICS01,ICS23)
これらのレジスタの詳細を説明します。
■ インプットキャプチャのレジスタ一覧
図 19.2-1 インプットキャプチャのレジスタ一覧
IPCP ( 上位 )
bit 15
アドレス
IPCP0:000184H CP15
IPCP1:000186H
IPCP2:000188H
IPCP3:00018AH
14
13
12
11
10
9
8
CP14
CP13
CP12
CP11
CP10
CP09
CP08
リード / ライト
R
R
R
R
R
R
R
R
初期値
X
X
X
X
X
X
X
X
6
5
4
3
2
1
0
CP06
CP05
CP04
CP03
CP02
CP01
CP00
IPCP ( 下位 )
bit 7
アドレス
IPCP0:000185H CP07
IPCP1:000187H
IPCP2:000189H
IPCP3:00018BH
リード / ライト
R
R
R
R
R
R
R
R
初期値
X
X
X
X
X
X
X
X
ICS
CM71-10159-2
bit 7
アドレス
ICS01:000181H ICP1
ICS23:000183H
6
5
4
3
2
1
0
ICP0
ICE1
ICE0
EG11
EG10
EG01
EG00
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
FUJITSU MICROELECTRONICS LIMITED
543
第 19 章 インプットキャプチャ
19.2 インプットキャプチャのレジスタ
MB91461
インプットキャプチャレジスタ (IPCP0 ∼ IPCP3)
19.2.1
インプットキャプチャレジスタ (IPCP0 ∼ IPCP3) は , 対応した外部端子から入力さ
れる波形の有効エッジを検出したとき , 16 ビットフリーランタイマ値を保持するレジ
スタです。
■ インプットキャプチャレジスタ (IPCP0 ∼ IPCP3) のビット構成
図 19.2-2 インプットキャプチャレジスタ (IPCP0 ∼ IPCP3) のビット構成
IPCP ( 上位 )
bit 15
アドレス
IPCP0:000184H CP15
IPCP1:000186H
IPCP2:000188H
IPCP3:00018AH
14
13
12
11
10
9
8
CP14
CP13
CP12
CP11
CP10
CP09
CP08
リード / ライト
R
R
R
R
R
R
R
R
初期値
X
X
X
X
X
X
X
X
6
5
4
3
2
1
0
CP06
CP05
CP04
CP03
CP02
CP01
CP00
IPCP ( 下位 )
bit 7
アドレス
IPCP0:000185H CP07
IPCP1:000187H
IPCP2:000189H
IPCP3:00018BH
リード / ライト
R
R
R
R
R
R
R
R
初期値
X
X
X
X
X
X
X
X
本レジスタは , 対応した外部端子から入力される波形の有効エッジを検出したとき , 16
ビットフリーランタイマ値を保持するレジスタです。リセット時は不定です。
このレジスタは 16 ビットデータまたは 32 ビットデータでアクセスしてください。書
込みはできません。
544
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 19 章 インプットキャプチャ
19.2 インプットキャプチャのレジスタ
MB91461
19.2.2
インプットキャプチャ制御レジスタ (ICS01,ICS23)
インプットキャプチャ制御レジスタ (ICS01,ICS23) は , インプットキャプチャの割
込みやエッジ検出を制御するために使用します。
■ インプットキャプチャレジスタ (ICS01,ICS23) のビット構成
図 19.2-3 インプットキャプチャレジスタ (ICS01,ICS23) のビット構成
ICS
bit 7
アドレス
ICS01:000181H ICP1
ICS23:000183H
6
5
4
3
2
1
0
ICP0
ICE1
ICE0
EG11
EG10
EG01
EG00
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
[bit7, bit6] ICP1, ICP0 : 割込みフラグ
インプットキャプチャ割込みフラグです。外部入力端子の有効エッジを検出すると
本ビットを "1" に設定します。割込み許可ビット (ICE3 ∼ ICE0) が設定されている
と , 有効エッジを検出することにより割込みを発生することができます。本ビット
は "0" 書込みによりクリアされます。"1" 書込みは意味がありません。リードモディ
ファイライト (RMW) 系命令では "1" が読めます。
ICP0/ICP1
割込みフラグ
0
有効エッジ検出なし [ 初期値 ]
1
有効エッジ検出あり
[bit5, bit4] ICE1, ICE0 : 割込み許可ビット
インプットキャプチャ割込み許可ビットです。本ビットが "1" のとき , 割込みフラ
グ (ICP1, ICP0) が "1" に設定されるとインプットキャプチャ割込みが発生します。
ICE0/ICE1
CM71-10159-2
割込み許可
0
割込み禁止 [ 初期値 ]
1
割込み許可
FUJITSU MICROELECTRONICS LIMITED
545
第 19 章 インプットキャプチャ
19.2 インプットキャプチャのレジスタ
MB91461
[bit3 ∼ bit0] EG11, EG10, EG01, EG00 (EG31, EG30, EG21, EG20) : エッジ選択ビット
外部入力の有効エッジ極性を選択するビットです。インプットキャプチャ動作も兼
用しています。
EGn1
EGn0
0
0
エッジ検出なし ( 停止状態 ) [ 初期値 ]
0
1
立上りエッジ検出 ↑
1
0
立下りエッジ検出 ↓
1
1
両エッジ検出 ↑ & ↓
エッジ極性検出
EGn1/EGn0: n の番号がインプットキャプチャのチャネル番号に対応します。
n=0∼3
546
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 19 章 インプットキャプチャ
19.3 インプットキャプチャの動作
MB91461
19.3
インプットキャプチャの動作
16 ビットインプットキャプチャは , 設定された有効エッジを検出すると , 16 ビット
フリーランタイマの値をキャプチャレジスタに取り込んで割込みを発生させること
ができます。
■ 16 ビットインプットキャプチャの動作
図 19.3-1 インプットキャプチャの取込みタイミング例
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
時間
0000H
リセット
IN0
IN1
IN2
データレジスタ0
不定
3FFFH
不定
データレジスタ1
データレジスタ2
不定
BFFFH
BFFFH
7FFFH
キャプチャ0割込み
キャプチャ1割込み
キャプチャ2割込み
キャプチャ0:立上りエッジ
キャプチャ1:立下りエッジ
キャプチャ2:両エッジ
CM71-10159-2
再度有効エッジにより割込み発生
ソフトウェアにより割込みクリア
FUJITSU MICROELECTRONICS LIMITED
547
第 19 章 インプットキャプチャ
19.3 インプットキャプチャの動作
MB91461
■ 16 ビットインプットキャプチャの入力タイミング
図 19.3-2 16 ビットインプットキャプチャの入力タイミング例
φ
カウンタ値
N
N+ 1
インプットキャプチャ入力
有効エッジ
キャプチャ信号
キャプチャレジスタ値
N+ 1
割込み
548
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 20 章
アウトプットコンペア
ユニット
アウトプットコンペアユニットの機能と動作につ
いて説明します。
20.1 アウトプットコンペアユニットの概要
20.2 アウトプットコンペアユニットのレジスタ
20.3 アウトプットコンペアユニットの動作
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
549
第 20 章 アウトプットコンペアユニット
20.1 アウトプットコンペアユニットの概要
20.1
MB91461
アウトプットコンペアユニットの概要
アウトプットコンペアモジュールは , コンペアレジスタ , コンペア出力ラッ
チ , および制御レジスタで構成されています。
■ アウトプットコンペアユニットの特長
• コンペアレジスタは独立に使用できます。
出力ピンと割込みフラグはコンペアレジスタに対応しています。
• 出力ピンはコンペアレジスタを対で制御できます。
出力ピンはコンペアレジスタを使用して反転させることができます。
• 出力ピンの初期値を設定できます。
• コンペア ( 比較 ) が一致したときに割込みを発生させることができます。
• フリーランタイマとアウトプットコンペアユニットは以下の組合せで協調動作を
行います。
- フリーランタイマ 2 とアウトプットコンペア 0, 1
- フリーランタイマ 3 とアウトプットコンペア 2, 3
■ アウトプットコンペアユニットのブロックダイヤグラム
OTD1
OTD0
コンペアレジスタ
コンペア回路
R-bus
コンペアレジスタ
OTE0
出力
コンペア
出力用ラッチ
OTE1
出力
CMOD
コンペア回路
CST1
コンペア
出力用ラッチ
CST0
ICP1
ICP0
ICE1
ICE0
16ビットフリーランタイマ
割込み出力
割込み出力
550
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 20 章 アウトプットコンペアユニット
20.2 アウトプットコンペアユニットのレジスタ
MB91461
20.2
アウトプットコンペアユニットのレジスタ
アウトプットコンペアユニットには , コンペアレジスタと制御レジスタがあります。
■ アウトプットコンペアユニットのレジスタ
図 20.2-1 アウトプットコンペアユニットのレジスタ
OCCP ( 上位 )
14
13
12
11
10
9
8
C15
C14
C13
C12
C11
C10
C09
C8
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
X
X
X
X
X
X
X
X
bit 7
6
5
4
3
2
1
0
C07
C06
C05
C04
C03
C02
C01
C00
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
X
X
X
X
X
X
X
X
14
13
12
11
10
9
8
予約
予約
予約
CMOD
予約
予約
OTD1
OTD0
リード / ライト
−
−
−
R/W
−
−
R/W
R/W
初期値
1
1
1
0
1
1
0
0
bit 7
6
5
4
3
2
1
0
アドレス
OCCP0: 000190H
OCCP1: 000192H
OCCP2: 000194H
OCCP3: 000196H
bit 15
OCCP ( 下位 )
アドレス
OCCP0: 000191H
OCCP1: 000193H
OCCP2: 000195H
OCCP3: 000197H
OCS ( 上位 )
アドレス
OCS01: 00018CH
OCS23: 00018EH
bit 15
OCS ( 下位 )
アドレス
OCS01: 00018DH
OCS23: 00018FH
ICP1
ICP0
ICE1
ICE0
予約
予約
CST1
CST0
リード / ライト
R/W
R/W
R/W
R/W
−
−
R/W
R/W
初期値
0
0
0
0
1
1
0
0
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
551
第 20 章 アウトプットコンペアユニット
20.2 アウトプットコンペアユニットのレジスタ
20.2.1
MB91461
コンペアレジスタ (OCCP0 ∼ OCCP3)
コンペアレジスタ (OCCP0 ∼ OCCP3) の詳細を説明します。
■ コンペアレジスタ (OCCP0 ∼ OCCP3) のビット構成
図 20.2-2 コンペアレジスタ (OCCP0 ∼ OCCP3) のビット構成
OCCP ( 上位 )
14
13
12
11
10
9
8
C15
C14
C13
C12
C11
C10
C09
C8
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
X
X
X
X
X
X
X
X
bit 7
6
5
4
3
2
1
0
C07
C06
C05
C04
C03
C02
C01
C00
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
X
X
X
X
X
X
X
X
アドレス
OCCP0: 000190H
OCCP1: 000192H
OCCP2: 000194H
OCCP3: 000196H
bit 15
OCCP ( 下位 )
アドレス
OCCP0: 000191H
OCCP1: 000193H
OCCP2: 000195H
OCCP3: 000197H
■ コンペアレジスタ (OCCP0 ∼ OCCP3) の機能
16 ビットフリーランタイマと比較する 16 ビット長のコンペアレジスタです。本レジス
タは , 初期値が不定ですのでコンペア値を設定してから起動を許可してください。
本レジスタは 16 ビットまたは 32 ビットでアクセスしてください。本レジスタ値と 16
ビットフリーランタイマ値が一致した場合 , コンペア信号が発生してアウトプットコ
ンペア割込みフラグを設定します。また , ポートファンクションレジスタ (PFR) の対応
するビットを設定して出力許可している場合は , コンペアレジスタに対応した出力レ
ベルを反転します。
552
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 20 章 アウトプットコンペアユニット
20.2 アウトプットコンペアユニットのレジスタ
MB91461
制御レジスタ (OCS01,OCS23)
20.2.2
制御レジスタ (OCS01,OCS23) の詳細を説明します。
■ 制御レジスタのビット構成
図 20.2-3 制御レジスタ (OCS01,OCS23) のビット構成
OCS ( 上位 )
14
13
12
11
10
9
8
予約
予約
予約
CMOD
予約
予約
OTD1
OTD0
リード / ライト
−
−
−
R/W
−
−
R/W
R/W
初期値
1
1
1
0
1
1
0
0
bit 7
6
5
4
3
2
1
0
アドレス
OCS01: 00018CH
OCS23: 00018EH
bit 15
OCS ( 下位 )
アドレス
OCS01: 00018DH
OCS23: 00018FH
ICP1
ICP0
ICE1
ICE0
予約
予約
CST1
CST0
リード / ライト
R/W
R/W
R/W
R/W
−
−
R/W
R/W
初期値
0
0
0
0
1
1
0
0
[bit15 ∼ bit13] 予約 : 予約ビット
予約ビットです。読出しでは必ず 111B が読み出されます。
[bit12] CMOD : モードビット
出力端子を許可した場合のコンペア一致における端子出力レベル反転動作を指定
します。
• CMOD = 0 ( 初期値 ) のとき , コンペアレジスタに対応した端子の出力レベルを
反転します。
- コンペアレジスタ 0 (2) の一致によりレベルを反転します。
- コンペアレジスタ 1 (3) の一致によりレベルを反転します。
• CMOD = 1 のとき
- コンペアレジスタ 0 (2) の一致によりレベルを反転します。
- コンペアレジスタ 0 (2) と 1 (3) の一致によりレベルを反転します。
[bit11, bit10] 予約 : 予約ビット
予約ビットです。読出しでは必ず 11B が読み出されます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
553
第 20 章 アウトプットコンペアユニット
20.2 アウトプットコンペアユニットのレジスタ
MB91461
[bit9, bit8] OTD1, OTD0 : コンペア端子出力レベル変更ビット
アウトプットコンペアレジスタの出力端子を許可した場合の端子出力レベルを指
定します。指定はコンペア動作を停止してから行ってください。読出し動作では ,
アウトプットコンペア端子出力が読み出されます。
OTD1, OTD0
コンペア端子出力レベル
0
コンペア端子出力を "0" にします。[ 初期値 ]
1
コンペア端子出力を "1" にします。
[bit7, bit6] ICP1, ICP0 : 割込みフラグ
アウトプットコンペアの割込みフラグです。コンペアレジスタと 16 ビットフリー
ランタイマ値が一致した場合に "1" に設定されます。割込み要求ビット (ICE1, ICE0)
が許可されているときに本ビットが "1" に設定されると , アウトプットコンペア割
込みが発生します。本ビットは "0" 書込みによりクリアされ , "1" 書込みは意味があ
りません。リードモディファイライト (RMW) 系命令では "1" が読み出されます。
ICP1, ICP0
割込みフラグ
0
アウトプットコンペア一致なし [ 初期値 ]
1
アウトプットコンペア一致あり
フリーランタイマに外部クロックを指定した場合 , コンペア一致および割込みは次
のクロックで発生します。そのため , コンペア一致出力および割込みを発生させる
ためには , フリーランタイマの外部クロックに , コンペア一致後 , 最低 1 クロックを
入力する必要があります。
[bit5, bit4] ICE1, ICE0 : 割込み許可ビット
アウトプットコンペアの割込みを許可するビットです。本ビットが "1" のとき , 割
込みフラグ (ICP1, ICP0) が "1" に設定されるとアウトプットコンペア割込みが発生
します。
ICE1, ICE0
割込み許可
0
アウトプットコンペア割込み禁止 [ 初期値 ]
1
アウトプットコンペア割込み許可
[bit3, bit2] 予約 : 予約ビット
予約ビットです。読出しでは必ず 11B が読み出されます。
554
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 20 章 アウトプットコンペアユニット
20.2 アウトプットコンペアユニットのレジスタ
MB91461
[bit1, bit0] CST1, CST0 : 一致動作許可ビット
16 ビットフリーランタイマとの一致動作を許可するビットです。コンペア動作を許
可する前に必ずコンペアレジスタ値およびアウトプット制御レジスタ値を設定し
てください。
CST1, CST0
一致動作許可
0
コンペア動作禁止 [ 初期値 ]
1
コンペア動作許可
アウトプットコンペアは , 16 ビットフリーランタイマと同期させているため , 16
ビットフリーランタイマを停止させるとコンペア動作も停止します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
555
第 20 章 アウトプットコンペアユニット
20.3 アウトプットコンペアユニットの動作
20.3
MB91461
アウトプットコンペアユニットの動作
16 ビットアウトプットコンペアは , 設定されたコンペアレジスタ値と 16 ビットフ
リーランタイマ値との値を比較し , 一致すると割込みフラグを設定するとともに , 出
力レベルを反転することができます。
■ 16 ビットアウトプットコンペアの動作
1 チャネル独立でコンペア動作を行うことができます (CMOD = 0 のとき )。
図 20.3-1 コンペアレジスタ 0, 1 を使用した場合の出力波形例 ( 出力の初期値は "0")
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
時間
0000H
リセット
コンペアレジスタ0値
BFFFH
コンペアレジスタ1値
7FFFH
OP0出力
OP1出力
コンペア0割込み
コンペア1割込み
556
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 20 章 アウトプットコンペアユニット
20.3 アウトプットコンペアユニットの動作
MB91461
2組のコンペアレジスタを使い, 出力レベルを変えることができます (CMOD=1のとき)。
図 20.3-2 コンペアレジスタ 0, 1 を使用したときの出力波形例 ( 出力の初期値は "0")
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
時間
0000H
リセット
コンペアレジスタ0値
BFFFH
コンペアレジスタ1値
7FFFH
OP0出力
OP1出力
コンペア0割込み
コンペア1割込み
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
557
第 20 章 アウトプットコンペアユニット
20.3 アウトプットコンペアユニットの動作
MB91461
■ 16 ビットアウトプットコンペアの動作タイミング
2組のコンペアレジスタを使い, 出力レベルを変えることができます (CMOD=1のとき) 。
アウトプットコンペアは , フリーランタイマと , 設定したコンペアレジスタの値が一致
したときにコンペア一致信号が発生して出力を反転するとともに割込みを発生するこ
とができます。コンペア一致時の出力反転タイミングは , カウンタのカウントタイミン
グに同期して行われます。
● コンペアレジスタライトタイミング
コンペアレジスタ書換え時には , カウンタ値とはコンペアしません。
図 20.3-3 コンペアレジスタライトタイミング
カウンタ値
N
N+1
N+3
N+2
一致信号は発生しない
コンペアクリアレジスタ0値
N+1
M
コンペアレジスタ0ライト
コンペアクリアレジスタ1値
N+3
L
コンペアレジスタ1ライト
コンペア0停止
コンペア1停止
● コンペア一致 , 割込みタイミング
図 20.3-4 コンペアマッチ , 割込みタイミング
カウントクロック
カウンタ値
N
コンペアレジスタ値
N+1
N+3
N+2
N
コンペア一致
端子出力
割込み
● 端子出力タイミング
図 20.3-5 端子出力タイミング
カウンタ値
コンペアレジスタ値
N
N+1
N+1
N+1
N
コンペア一致
端子出力
558
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 21 章
PPG ( プログラマブル
パルスジェネレータ )
PPG のレジスタ , 機能と動作について説明します。
21.1 PPG の概要
21.2 PPG のレジスタ
21.3 PPG の動作
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
559
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.1 PPG の概要
21.1
MB91461
PPG の概要
PPG は精度の高い PWM 波形を任意の周期とデューティで効率良く出力することが
できます。
各チャネルは 16 ビットダウンカウンタ , 周期設定用バッファ付き 16 ビットデータ
レジスタ , デューティ設定用バッファ付き 16 ビットコンペアレジスタ , 端子制御部
からなります。また , 動作制御モードの指定のため , 各チャネルに制御ステータスレ
ジスタがあり , 各チャネル共通に制御するためのゼネラル制御レジスタ 10, ゼネラル
制御レジスタ 20 があります。
■ 特長
• 16 ビットダウンカウンタのカウントクロックは次の 4 つから選択可能 :
クロック : FCLKP, FCLKP/4, FCLKP/16, FCLKP/64 (FCLKP: ペリフェラル動作クロック )
• カウンタはリセットあるいはアンダフローにより FFFFH に設定される。
16 ビットダウンカウンタは 0000H から FFFFH に変わるときにアンダフローを発生。
• PPG の各チャネルごとに出力端子がある。
• レジスタ
周期設定レジスタ : バッファ付きのリロードレジスタ
デューティ設定レジスタ : バッファ付きの比較用レジスタ
• 出力端子制御
デューティ一致時には "1" 出力
アンダフロー時には "0" 出力
固定値出力モードによりオール "L" あるいはオール "H" 出力可能
極性反転指定あり
• 割込み要因として次の要因を選択可能
PPG の起動トリガ ( ソフトウェアトリガ )
カウンタボローの発生 ( 周期一致 )
デューティ一致
カウンタボローの発生 ( 周期一致 ) あるいはデューティ一致
• ソフトウェアあるいはリロードタイマを使用して複数の PPG を同時起動可能。
また , PPG 動作中に再起動可能。
560
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.1 PPG の概要
MB91461
■ PPG のブロックダイヤグラム
● PPG0 ∼ PPG7 の全体構成とリロードタイマとの接続
図 21.1-1 PPG の全体構成
PPG0~PPG3
出力端子
外部トリガ 0
外部トリガ 1
TRG入力
PPG ch.0
PPG0
TRG入力
PPG ch.1
PPG1
TRG入力
PPG ch.2
PPG2
TRG入力
PPG ch.3
PPG3
外部トリガ 2
外部トリガ 3
セレクタ
リロードタイマ0
リロードタイマ1
ゼネラル
制御
レジスタ 20
選択信号
ゼネラル制御レジスタ 10
(トリガ入力選択指定)
PPG4~PPG7
出力端子
セレクタ
リロードタイマ2
リロードタイマ3
ゼネラル
制御
レジスタ 21
選択信号
TRG入力
PPG ch.4
PPG4
TRG入力
PPG ch.5
PPG5
TRG入力
PPG ch.6
PPG6
TRG入力
PPG ch.7
PPG7
ゼネラル制御レジスタ 11
(トリガ入力選択指定)
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
561
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.1 PPG の概要
MB91461
● PPG の構成 (1 チャネル )
図 21.1-2 PPG の構成 (1 チャネル )
周期設定レジスタ
デューティ設定レジスタ
PCSR
PDUT
プリスケーラ
FCLKP/1
クロック
CMP
ロード
FCLKP/4
16ビットダウンカウンタ
FCLKP/16
スタート アンダフロー
FCLKP/64
PPGマスク
周辺機器クロック
(FCLKP)
PPG 出力
反転ビット
許可
内部トリガ (EN0~EN3)
割込み
選択
GCN20
リロードタイマ
ch.0, ch.1入力
エッジ
検出
IRQ
(割込み要求信号)
ソフトウェアトリガ
562
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.2 PPG のレジスタ
MB91461
21.2
PPG のレジスタ
PPG のレジスタおよび機能について説明します。
■ PPG のレジスタ
図 21.2-1 PPG のレジスタ
GCN10 ( 上位 )
bit 15
アドレス : 000100H
14
13
12
11
TSEL33 to TSEL30
10
9
8
TSEL23 to TSEL20
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
1
1
0
0
1
0
bit 7
6
5
4
3
2
1
0
GCN10 ( 下位 )
アドレス : 000101H
TSEL13 to TSEL0
TSEL03 to TSEL00
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
1
0
0
0
0
14
13
12
11
10
9
8
GCN11 ( 上位 )
bit 15
アドレス : 000104H
TSEL73 ∼ TSEL70
TSEL63 ∼ TSEL60
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
1
1
0
0
1
0
bit 7
6
5
4
3
2
1
0
GCN11 ( 下位 )
アドレス : 000105H
TSEL53 ∼ TSEL50
TSEL43 ∼ TSEL40
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
1
0
0
0
0
GCN2
bit 7
アドレス
GCN20: 000103H 予約
GCN21: 000107H
6
5
4
3
2
1
0
予約
予約
予約
EN3
EN2
EN1
EN0
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
−
−
−
−
0
0
0
0
( 続く )
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
563
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.2 PPG のレジスタ
MB91461
( 続き )
PTMR ( 上位 )
アドレス : 000110H, 000118H bit 15
000120H, 000128H D15
000130H, 000138H
000140H, 000148H
14
13
12
11
10
9
8
D14
D13
D12
D11
D10
D09
D08
リード / ライト
R
R
R
R
R
R
R
R
初期値
1
1
1
1
1
1
1
1
6
5
4
3
2
1
0
D06
D05
D04
D03
D02
D01
D00
PTMR ( 下位 )
アドレス : 000111H, 000119H bit 7
000121H, 000129H D07
000131H, 000139H
000141H, 000149H
リード / ライト
R
R
R
R
R
R
R
R
初期値
1
1
1
1
1
1
1
1
14
13
12
11
10
9
8
D14
D13
D12
D11
D10
D09
D08
PCSR ( 上位 )
アドレス : 000112H, 00011AH bit 15
000122H, 00012AH D15
000132H, 00013AH
000142H, 00014AH
リード / ライト
W
W
W
W
W
W
W
W
初期値
X
X
X
X
X
X
X
X
6
5
4
3
2
1
0
D06
D05
D04
D03
D02
D01
D00
PCSR ( 下位 )
アドレス : 000113H, 00011BH bit 7
000123H, 00012BH D07
000133H, 00013BH
000143H, 00014BH
リード / ライト
W
W
W
W
W
W
W
W
初期値
X
X
X
X
X
X
X
X
14
13
12
11
10
9
8
D14
D13
D12
D11
D10
D09
D08
PDUT ( 上位 )
アドレス : 000114H, 00011CH bit 15
000124H, 00012CH D15
000134H, 00013CH
000144H, 00014CH
リード / ライト
W
W
W
W
W
W
W
W
初期値
X
X
X
X
X
X
X
X
( 続く )
564
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.2 PPG のレジスタ
MB91461
( 続き )
PDUT ( 下位 )
アドレス : 000115H, 00011DH bit 7
000125H, 00012DH D07
000135H, 00013DH
000145H, 00014DH
6
5
4
3
2
1
0
D06
D05
D04
D03
D02
D01
D00
リード / ライト
W
W
W
W
W
W
W
W
初期値
X
X
X
X
X
X
X
X
14
13
12
11
10
9
8
CKS1
CKS0
PGMS
予約
PCNH
アドレス : 000116H, 00011EH bit 15
000126H, 00012EH CNTE
000136H, 00013EH
000146H, 00014EH
STGR MDSE RTRG
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
−
初期値
0
0
0
0
0
0
0
−
6
5
4
3
2
1
0
EGS0
IREN
IRQF
IRS1
IRS0
予約
OSEL
PCNL
アドレス : 000117H, 00011FH bit 7
000127H, 00012FH EGS1
000137H, 00013FH
000147H, 00014FH
CM71-10159-2
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
−
R/W
初期値
0
0
0
0
0
0
−
0
FUJITSU MICROELECTRONICS LIMITED
565
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.2 PPG のレジスタ
21.2.1
MB91461
制御ステータスレジスタ (PCNH, PCNL)
制御ステータスレジスタ (PCNH, PCNL) はチャネルごとに動作モード設定 , 起動許
可 , クロック選択 , 出力マスク , トリガ入力エッジ選択 , 割込み許可を制御します。
また , 割込みステータスフラグを表示します。
■ 制御ステータスレジスタの構成 (PCNH, PCNL)
図 21.2-2 制御ステータスレジスタの構成
PCNH
アドレス : 000116H, 00011EH bit 15
000126H, 00012EH CNTE
000136H, 00013EH
000146H, 00014EH
14
13
12
STGR MDSE RTRG
11
10
9
8
CKS1
CKS0
PGMS
予約
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
−
初期値
0
0
0
0
0
0
0
−
6
5
4
3
2
1
0
EGS0
IREN
IRQF
IRS1
IRS0
予約
OSEL
PCNL
アドレス : 000117H, 00011FH bit 7
000127H, 00012FH EGS1
000137H, 00013FH
000147H, 00014FH
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
−
R/W
初期値
0
0
0
0
0
0
−
0
■ 制御ステータスレジスタ PCNH/PCNL の各ビットの機能
[bit15] CNTE: カウンタ動作許可
16 ビットダウンカウンタの動作許可ビットです。
CNTE
機能
0
停止 [ 初期値 ]
1
動作
[bit14] STGR: ソフトウェアトリガ
本ビットを "1" に設定するとソフトウェアトリガが発生し , PPG が起動します。
読出し時には常に "0" が読み出されます。
566
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.2 PPG のレジスタ
MB91461
[bit13] MDSE: 動作モード
本ビットは PPG の動作として連続した PWM 動作にするかワンショット動作にする
かを指定します。
MDSE
機能
0
PWM 動作 [ 初期値 ]
1
ワンショット動作
[bit12] RTRG: 再起動許可
本ビットを "1" に設定するとトリガによる再起動を許可します。
RTRG
機能
0
再起動禁止 [ 初期値 ]
1
再起動許可
[bit11, bit10] CKS1, CKS0: クロック選択
16 ビットダウンカウンタの動作クロックを指定します。
CKS1
CKS0
0
0
FCLKP/1 [ 初期値 ]
0
1
FCLKP/4
1
0
FCLKP/16
1
1
FCLKP/64
カウントクロック
FCLKP: 周辺マクロの動作クロック
[bit9] PGMS: PPG 出力マスク
本ビットを "1" に設定することによりモード設定 , 周期設定 , デューティ設定にかか
わらず , PPG の出力を "L" あるいは "H" に固定します。
極性
PPG 出力
通常極性時
"L" 出力 [ 初期値 ]
反転極性時
"H" 出力
出力極性の指定は OSEL ビット ( 制御ステータスレジスタの bit0) で指定します。
[bit8] 予約 : 未使用ビット
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
567
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.2 PPG のレジスタ
MB91461
[bit7, bit6] EGS1, EGS0: トリガ入力選択
トリガ入力を GCN10 ( ゼネラル制御レジスタ 10) で指定した場合の有効エッジを指
定します。
EGS1
EGS0
0
0
トリガを受け付けない [ 初期値 ]
0
1
立上りエッジ
1
0
立下りエッジ
1
1
両エッジ
トリガ入力エッジ
[bit5] IREN: 割込み許可
割込み許可ビットです。
IREN
機能
0
割込み禁止 [ 初期値 ]
1
割込み許可
[bit4] IRQF: 割込み要求フラグ
bit5:IREN が許可されていて bit3, bit2 (IRS1, IRS0) で選択した割込み要因が発生する
と本ビットが設定されて CPU に割込み要求を発生します。
本ビットは "0" 書込みによりクリアされます。"1" 書込みでは値は変化しません。
リードモディファイライト (RMW) 系命令における読出し値はビット値にかかわら
ず "1" となります。
DMAC の起動要因に指定されている場合には , DMA 転送要求を発生します。転送
の際 DMAC により本ビットはクリアされます。
[bit3, bit2] IRS1, IRS0: 割込み要因選択
割込み要求を発生する動作を選択します。
IRS1
IRS0
0
0
ソフトウェアトリガまたはトリガ入力 [ 初期値 ]
0
1
カウンタのボロー発生 ( 周期一致 )
1
0
カウンタ値がデューティ値と一致
1
1
カウンタのボロー発生 ( 周期一致 ), あるいはカウンタ値が
デューティ値と一致した場合に割込み発生
割込み要因
[bit1] 予約 : 未使用ビット
568
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.2 PPG のレジスタ
MB91461
[bit0] OSEL: PPG 出力極性指定
出力極性指定ビットです。
bit9:PGMS との組合せで以下のように端子が制御されます。
表 21.2-1 PPG 出力の極性とエッジ
PGMS
OSEL
PPG 出力
0
0
通常極性 [ 初期値 ]
0
1
反転極性
1
0
"L" 固定
1
1
"H" 固定
CM71-10159-2
極性
リセット後
通常極性
"L" 出力
反転極性
"H" 出力
FUJITSU MICROELECTRONICS LIMITED
ディーティ
一致
アンダ
フロー
569
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.2 PPG のレジスタ
21.2.2
MB91461
PPG 周期設定レジスタ (PCSR)
PPG 周期設定レジスタ (PCSR) は周期を設定するための 16 ビットリロードレジスタで
す。
■ PPG 周期設定レジスタの構成 (PCSR)
図 21.2-3 PPG 周期設定レジスタの構成
PCSR ( 上位 )
アドレス : 000112H, 00011AH bit 15
000122H, 00012AH D15
000132H, 00013AH
000142H, 00014AH
14
13
12
11
10
9
8
D14
D13
D12
D11
D10
D09
D08
リード / ライト
W
W
W
W
W
W
W
W
初期値
X
X
X
X
X
X
X
X
6
5
4
3
2
1
0
D06
D05
D04
D03
D02
D01
D00
PCSR ( 下位 )
アドレス : 000113H, 00011BH bit 7
000123H, 00012BH D07
000133H, 00013BH
000143H, 00014BH
リード / ライト
W
W
W
W
W
W
W
W
初期値
X
X
X
X
X
X
X
X
■ PCSR の機能
PCSRレジスタはバッファ付きで , PCSRの設定値は起動トリガが検出された場合および
カウンタのボローが発生した場合にバッファからカウンタへのロードが行われます。
カウンタのボロー発生はカウント開始後 , PCSR 設定値+ 1 カウント後にボローが発生
します。PPG の動作周期はカウントクロック周期× (PCSR の設定値+ 1) となります。
PPG 周期設定レジスタの書き換え後は必ず PPG デューティ設定レジスタ PDUT の設定
を行ってください。
PPG 周期設定レジスタは必ずハーフワード (16 ビット ) あるいはワード (32 ビット ) で
アクセスしてください。
570
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.2 PPG のレジスタ
MB91461
PPG デューティ設定レジスタ (PDUT)
21.2.3
PPG デューティ設定レジスタ (PDUT) は出力波形のデューティを設定するための 16
ビットレジスタです。
■ PPG デューティ設定レジスタ (PDUT) の構成
図 21.2-4 PPG デューティ設定レジスタの構成
PDUT ( 上位 )
アドレス : 000114H, 00011CH bit 15
000124H, 00012CH D15
000134H, 00013CH
000144H, 00014CH
14
13
12
11
10
9
8
D14
D13
D12
D11
D10
D09
D08
リード / ライト
W
W
W
W
W
W
W
W
初期値
X
X
X
X
X
X
X
X
6
5
4
3
2
1
0
D06
D05
D04
D03
D02
D01
D00
PDUT ( 下位 )
アドレス : 000115H, 00011DH bit 7
000125H, 00012DH D07
000135H, 00013DH
000145H, 00014DH
リード / ライト
W
W
W
W
W
W
W
W
初期値
X
X
X
X
X
X
X
X
■ PDUT の機能
PPG デューティ設定レジスタは PPG 出力波形のデューティを設定するためのレジスタ
です。PPG の 16 ビットカウンタと一致した場合に PPG の出力が反転します。
PPG 出力パルス幅は
カウントクロック周期× (PDUT の設定値+ 1)
となります。
PPG デューティ設定レジスタは PPG 周期設定レジスタ (PCSR) よりも小さい値を設定
してください。PCSR よりも大きい値を設定した場合の PPG 出力は不定となります。
PPG デューティ設定レジスタと PPG 周期設定レジスタの値を同じに設定した場合 , 下
記の動作になります。
- 通常極性時 (OSEL = 0) : 常に "H" を出力します。
- 反転極性時 (OSEL = 1) : 常に "L" を出力します。
PPG デューティ設定レジスタは必ずハーフワード (16 ビット ) あるいはワード (32 ビッ
ト ) でアクセスしてください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
571
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.2 PPG のレジスタ
21.2.4
MB91461
PPG タイマレジスタ (PTMR)
PPG タイマレジスタ (PTMR) はカウント値を読み出すためのレジスタです。
■ PPG タイマレジスタ (PTMR) の構成
図 21.2-5 PPG タイマレジスタの構成
PTMR ( 上位 )
アドレス : 000110H, 000118H bit 15
000120H, 000128H D15
000130H, 000138H
000140H, 000148H
14
13
12
11
10
9
8
D14
D13
D12
D11
D10
D09
D08
リード / ライト
R
R
R
R
R
R
R
R
初期値
1
1
1
1
1
1
1
1
6
5
4
3
2
1
0
D06
D05
D04
D03
D02
D01
D00
PTMR ( 下位 )
アドレス : 000111H, 000119H bit 7
000121H, 000129H D07
000131H, 000139H
000141H, 000149H
リード / ライト
R
R
R
R
R
R
R
R
初期値
1
1
1
1
1
1
1
1
■ PTMR の機能
PPG タイマレジスタ (PTMR) はカウント値を読み出すためのレジスタです。
本レジスタからの読出しはハーフワード (16 ビット ) で行ってください。バイトアクセ
スした場合には正しく読み出せません。
572
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.2 PPG のレジスタ
MB91461
21.2.5
ゼネラル制御レジスタ 10 (GCN10)
ゼネラル制御レジスタ 10 (GCN10) は PPG0 ∼ PPG3 のトリガ入力を選択するため
のレジスタです。
■ ゼネラル制御レジスタ 10 (GCN10) の構成
図 21.2-6 ゼネラル制御レジスタ 10 (GCN10) の構成
GCN10 ( 上位 )
bit 15
アドレス : 000100H
14
13
12
11
TSEL33 ∼ TSEL30
10
9
8
TSEL23 ∼ TSEL20
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
1
1
0
0
1
0
bit 7
6
5
4
3
2
1
0
GCN10 ( 下位 )
アドレス : 000101H
TSEL13 ∼ TSEL0
TSEL03 ∼ TSEL00
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
1
0
0
0
0
■ GCN10 の機能
[bit15 ∼ bit12] TSEL33 ∼ TSEL30: PPG ch.3 入力選択
表 21.2-2 PPG ch.3 入力トリガ選択
TSEL33 ∼ TSEL30
PPG ch.3 トリガ入力
CM71-10159-2
bit15
bit14
bit13
bit12
0
0
0
0
GCN20 EN0 ビット
0
0
0
1
GCN20 EN1 ビット
0
0
1
0
GCN20 EN2 ビット
0
0
1
1
GCN20 EN3 ビット [ 初期値 ]
0
1
0
0
16 ビットリロードタイマ ch.0
0
1
0
1
16 ビットリロードタイマ ch.1
0
1
1
x
設定禁止
1
0
0
0
外部トリガ 0
1
0
0
1
外部トリガ 1
1
0
1
0
外部トリガ 2
1
0
1
1
外部トリガ 3
1
1
x
x
設定禁止
FUJITSU MICROELECTRONICS LIMITED
573
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.2 PPG のレジスタ
MB91461
[bit11 ∼ bit8] TSEL23 ∼ TSEL20: PPG ch.2 トリガ入力選択
表 21.2-3 PPG ch.2 トリガ入力選択
TSEL23 ∼ TSEL20
PPG ch.2 トリガ入力
bit11
bit10
bit9
bit8
0
0
0
0
GCN20 EN0 ビット
0
0
0
1
GCN20 EN1 ビット
0
0
1
0
GCN20 EN2 ビット [ 初期値 ]
0
0
1
1
GCN20 EN3 ビット
0
1
0
0
16 ビットリロードタイマ ch.0
0
1
0
1
16 ビットリロードタイマ ch.1
0
1
1
x
設定禁止
1
0
0
0
外部トリガ 0
1
0
0
1
外部トリガ 1
1
0
1
0
外部トリガ 2
1
0
1
1
外部トリガ 3
1
1
x
x
設定禁止
[bit7 ∼ bit4] TSEL13 ∼ TSEL10: PPG ch.1 トリガ入力選択
表 21.2-4 PPG ch.1 トリガ入力選択
TSEL13 ∼ TSEL10
PPG ch.1 トリガ入力
574
bit7
bit6
bit5
bit4
0
0
0
0
GCN20 EN0 ビット
0
0
0
1
GCN20 EN1 ビット [ 初期値 ]
0
0
1
0
GCN20 EN2 ビット
0
0
1
1
GCN20 EN3 ビット
0
1
0
0
16 ビットリロードタイマ ch.0
0
1
0
1
16 ビットリロードタイマ ch.1
0
1
1
x
設定禁止
1
0
0
0
外部トリガ 0
1
0
0
1
外部トリガ 1
1
0
1
0
外部トリガ 2
1
0
1
1
外部トリガ 3
1
1
x
x
設定禁止
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.2 PPG のレジスタ
MB91461
[bit3 ∼ bit0] TSEL03 ∼ TSEL00: PPG ch.0 トリガ入力選択
表 21.2-5 PPG ch.0 トリガ入力選択
TSEL03 ∼ TSEL00
PPG ch.0 トリガ入力
CM71-10159-2
bit3
bit2
bit1
bit0
0
0
0
0
GCN20 EN0 ビット [ 初期値 ]
0
0
0
1
GCN20 EN1 ビット
0
0
1
0
GCN20 EN2 ビット
0
0
1
1
GCN20 EN3 ビット
0
1
0
0
16 ビットリロードタイマ ch.0
0
1
0
1
16 ビットリロードタイマ ch.1
0
1
1
x
設定禁止
1
0
0
0
外部トリガ 0
1
0
0
1
外部トリガ 1
1
0
1
0
外部トリガ 2
1
0
1
1
外部トリガ 3
1
1
x
x
設定禁止
FUJITSU MICROELECTRONICS LIMITED
575
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.2 PPG のレジスタ
21.2.6
MB91461
ゼネラル制御レジスタ 11 (GCN11)
ゼネラル制御レジスタ 11 (GCN11) は PPG4 ∼ PPG7 のトリガ入力を選択するため
のレジスタです。
■ ゼネラル制御レジスタ 11 (GCN11) の構成
図 21.2-7 ゼネラル制御レジスタ 11 (GCN11) の構成
GCN11 ( 上位 )
bit 15
アドレス : 000104H
14
13
12
11
TSEL73 ∼ TSEL70
10
9
8
TSEL63 ∼ TSEL60
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
1
1
0
0
1
0
bit 7
6
5
4
3
2
1
0
GCN11 ( 下位 )
アドレス : 000105H
TSEL53 ∼ TSEL50
TSEL43 ∼ TSEL40
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
1
0
0
0
0
■ GCN11 の機能
[bit15 ∼ bit12] TSEL73 ∼ TSEL70: PPG ch.7 トリガ入力選択
TSEL73 ∼ TSEL70
PPG ch.7 トリガ入力
576
bit15
bit14
bit13
bit12
0
0
0
0
GCN21 EN0 ビット
0
0
0
1
GCN21 EN1 ビット
0
0
1
0
GCN21 EN2 ビット
0
0
1
1
GCN21 EN3 ビット [ 初期値 ]
0
1
0
0
16 ビットリロードタイマ ch.2
0
1
0
1
16 ビットリロードタイマ ch.3
0
1
1
x
設定禁止
1
x
x
x
設定禁止
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.2 PPG のレジスタ
MB91461
[bit11 ∼ bit8] TSEL63 ∼ TSEL60: PPG ch.6 トリガ入力選択
TSEL63 ∼ TSEL60
PPG ch.6 トリガ入力
bit11
bit10
bit9
bit8
0
0
0
0
GCN21 EN0 ビット
0
0
0
1
GCN21 EN1 ビット
0
0
1
0
GCN21 EN2 ビット [ 初期値 ]
0
0
1
1
GCN21 EN3 ビット
0
1
0
0
16 ビットリロードタイマ ch.2
0
1
0
1
16 ビットリロードタイマ ch.3
0
1
1
x
設定禁止
1
x
x
x
設定禁止
[bit7 ∼ bit4] TSEL53 ∼ TSEL50: PPG ch.5 トリガ入力選択
TSEL53 ∼ TSEL50
PPG ch.5 トリガ入力
CM71-10159-2
bit7
bit6
bit5
bit4
0
0
0
0
GCN21 EN0 ビット
0
0
0
1
GCN21 EN1 ビット [ 初期値 ]
0
0
1
0
GCN21 EN2 ビット
0
0
1
1
GCN21 EN3 ビット
0
1
0
0
16 ビットリロードタイマ ch.2
0
1
0
1
16 ビットリロードタイマ ch.3
0
1
1
x
設定禁止
1
x
x
x
設定禁止
FUJITSU MICROELECTRONICS LIMITED
577
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.2 PPG のレジスタ
MB91461
[bit3 ∼ bit0] TSEL43 ∼ TSEL40: PPG ch.4 トリガ入力選択
TSEL43 ∼ TSEL40
PPG ch.0 トリガ入力
578
bit3
bit2
bit1
bit0
0
0
0
0
GCN21 EN0 ビット [ 初期値 ]
0
0
0
1
GCN21 EN1 ビット
0
0
1
0
GCN21 EN2 ビット
0
0
1
1
GCN21 EN3 ビット
0
1
0
0
16 ビットリロードタイマ ch.2
0
1
0
1
16 ビットリロードタイマ ch.3
0
1
1
x
設定禁止
1
x
x
x
設定禁止
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.2 PPG のレジスタ
MB91461
21.2.7
ゼネラル制御レジスタ 2 (GCN20,GCN21)
ゼネラル制御レジスタ 2 (GCN20,GCN21) はソフトウェアにより起動トリガを発生
させるためのレジスタで 4 チャネル同時に起動可能です。
■ ゼネラル制御レジスタ 2 (GCN20,GCN21) の構成
図 21.2-8 ゼネラル制御レジスタ 2 (GCN20,GCN21) の構成
GCN2
bit 7
アドレス
GCN20: 000103H 予約
GCN21: 000107H
6
5
4
3
2
1
0
予約
予約
予約
EN3
EN2
EN1
EN0
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
−
−
−
−
0
0
0
0
■ GCN20,GCN21 の機能
ゼネラル制御レジスタ 1 (GCN1) によって EN0 ∼ EN3 が起動トリガ要因として選択さ
れている場合に , 本 GCN20,GCN21 レジスタの EN3 ∼ EN0 への "1" 書込みがそのまま
PPG のトリガ入力となります。その場合 , トリガ入力のエッジ選択には制御ステータ
スレジスタ (PCNL) の bit7, bit6 (EGS1, EGS0) を使用します。
本レジスタを使用することにより複数の PPG を同時に起動することができます。本レ
ジスタの bit7 ∼ bit4 には必ず "0" を書き込んでください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
579
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.3 PPG の動作
21.3
MB91461
PPG の動作
PPG の動作について説明します。PPG には PWM 動作とワンショット動作がありま
す。
■ PPG の動作
PWM 動作モードでは連続したパルスを発生します。一方 , ワンショットモードでは単
発のパルスを発生します。
本節では以下を説明します。
• PWM 動作
• ワンショット動作
• 割込み
• オール "L" およびオール "H" 出力方法
580
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.3 PPG の動作
MB91461
21.3.1
PWM 動作
PWM 動作では連続したパルスを発生します。
■ PWM 動作
PWM 動作モードでは起動トリガがかかると連続したパルスを発生します。出力パルス
の周期は PCSR レジスタの設定により制御され , デューティは PDUT レジスタにより
制御されます。周期とデューティの設定の際には必ず PCSR → PDUT の順に設定して
ください。
■ PPG 出力タイミング
起動トリガが受け付けられると周期設定値がカウンタにロードされ , ダウンカウント
を開始します。
ダウンカウント中にデューティ設定値 (PDUT) と一致すると PPG 出力は極性反転され
ます。
カウンタがアンダフローすると PCSR( 周期 ) がカウンタへリロードされ , PPG 出力は
極性反転されます。
再起動が禁止されている場合には動作途中でトリガ入力があっても PPG 出力は影響を
受けません ( 図 21.3-1 を参照 )。
再起動が有効な場合にトリガ入力がある場合にはカウント途中でも PCSR の値がカウ
ンタへリロードされてカウントを継続します ( 図 21.3-2 を参照 )。
[PPG 出力パルスの周期とデューティは以下の式で計算されます ]
Pm = T(m + 1) μs Pm: 出力パルス周期
Pn = T(n + 1) μs Pn: 出力パルスの "H" 幅
T: カントクロック周期
m: PCSR への設定値 (PCSR)
n: PDUT への設定値 (PDUT)
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
581
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.3 PPG の動作
MB91461
● PWM 動作の例 1) 再起動禁止 , 通常極性
図 21.3-1 PWM 動作の例 1) 再起動禁止 , 通常極性
立上りエッジ検出
トリガにより再起動されます
起動トリガ
カウント値
m
n
時間
0
PPG出力
Pn
Pm
Pn:出力パルス“H” 幅
n: PDUT値
Pm:出力周期
m: PCSR値
● PWM 動作の例 2) 再起動許可 , 通常極性
図 21.3-2 PWM 動作の例 2) 再起動許可 , 通常極性
立上りエッジ検出
トリガにより再起動されます
起動トリガ
カウント値
m
n
時間
0
PPG出力
Pn
Pm
Pm: 出力パルス周期
m: PCSR値
582
Pn: 出力パルス“H”幅
n: PDUT値
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.3 PPG の動作
MB91461
21.3.2
ワンショット動作
ワンショット動作モードは 1 つのパルスを発生するモードです。
■ ワンショット動作
ワンショット動作モードは起動トリガにより単一パルスが発生します。
パルスの周期とデューティは PCSR レジスタおよび PDUT レジスタで設定します。
周期とデューティを設定する際は必ず PCSR → PDUT の順に設定してください。
ワンショット動作モードにおいても動作は再起動の設定に依存し , 再起動が有効な場
合には再起動トリガが受け付けられた時点で PCSR の値をカウンタへリロードして再
スタートします。
● ワンショット動作タイミングチャート例 ( 再起動禁止 , 通常極性 )
図 21.3-3 再起動禁止の場合のワンショット動作タイミングチャート例
起動トリガ
立上りエッジ検出
トリガは無視されます
カウンタ値
m
n
時間
0
PPG出力
Pn
Pm
Pm = T(m+1)
Pn = T(n+1)
CM71-10159-2
Pm:
Pn:
T:
m:
n:
FUJITSU MICROELECTRONICS LIMITED
出力パルス周期
出力パルス“H” 幅
カウントクロック周期
PCSR値
PDUT値
583
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.3 PPG の動作
MB91461
● 再起動許可の場合のワンショット動作タイミング例 ( 通常極性 )
図 21.3-4 再起動許可の場合のワンショット動作タイミング例
起動トリガ
立上りエッジ検出
トリガにより再起動します
カウンタ値
m
n
時間
0
PPG出力
Pn
Pm
Pm = T(m+1)
Pn = T(n+1)
584
Pm:
Pn:
T:
m:
n:
出力パルス周期
出力パルス“H”幅
カウントクロック周期
PCSR値
PDUT値
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.3 PPG の動作
MB91461
割込み
21.3.3
PPG で発生する割込み要因には以下の 4 つがあります。
• PPG タイマの起動 ( ソフトウェアトリガあるいは外部トリガ )
• アンダフロー発生
• デューティ一致
• アンダフロー発生あるいはデューティ一致
■ 割込み処理
CPU に対する割込み要求の発生を制御するには PCNL レジスタで以下のように設定し
てください。
• bit5 (IREN) で割込みを許可します。
• bit3 と bit2 (IRS1, IRS0) で割込み要因選択指定します。
• ビット (IRQF) は割込み発生状況を示す要求フラグとなります。
図 21.3-5 に各割込みが発生するタイミングを示します。
図 21.3-5 割込み要因と発生タイミング
起動トリガ
最大 2.5T *
ロード
クロック
カウント値
X
0003H
0002H
0001H
0000H
0003H
PPG 出力
割込み
有効エッジ
デューティ一致
カウンタボロー
*: トリガ入力からカウント値がロードされるまでに最大 2.5T (T: カウントクロック周
期)かかります。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
585
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.3 PPG の動作
21.3.4
MB91461
PPG 出力オール "L" あるいはオール "H" の出力方法
PPG 出力としてオール "L" あるいはオール "H" の出力方法を示します。
■ オール "L" あるいはオール "H" の出力方法
制御ステータスレジスタ (PCNH) の bit9 すなわち PPG 出力マスク選択ビット (PGMS)
に "1" を書き込むことにより動作モード , 周期 , デューティの設定によらず PPG 出力は
"L"( 通常極性時 ) あるいは "H"( 反転極性時 ) となります。
図 21.3-6 PPG にオール "L" 出力する場合の例
PPG出力
デューティ
値を小さく
していく
ボローによる割込みでPGMS(マスクビット)
に"1"を書き込みます。また,ボローによる
割込みでPGMSに"0"を書き込むとハザード
を出力することなくPWM波形を出力可能
です。
図 21.3-7 PPG にオール "H" 出力する場合の例
PPG 出力
デューティ
値を大きく
していく
586
コンペア一致による割込み処理でデューテ
ィ設定レジスタに周期設定レジスタ値と同
じ値を書き込みます。
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.3 PPG の動作
MB91461
21.3.5
複数チャネルの起動
ゼネラル制御レジスタ 10 (GCN10) で起動トリガを選択することにより複数チャネ
ルを同時に起動することができます。ここでは , GCN20 を使用する場合の起動の例
を示します。
■ ソフトウェアによる複数同時起動の例
[ 設定手順 ]
(1) PCSR に周期を設定します。
(2) PDUT にデューティ比を設定します。
( 注意事項 ) 必ず PCSR → PDUT の順に書込みを行ってください。
(3) GCN10 レジスタに起動するチャネルのトリガ入力要因を設定します。
ch.0: EN0
ch.1: EN1
ch.2: EN2
ch.3: EN3
(4) 起動するチャネルの制御ステータスレジスタ (PCNL, PCNH) を設定します。
表 21.3-1 起動チャネル設定例
ビット
機能
CM71-10159-2
番号
ビット名
値
15
CNTE
1
タイマ動作を許可
14
STGR
0
GCN20 で起動トリガを設定するため , STGR
は "0" のままとする。
13
MDSE
0
PWM 動作
12
RTRG
0
再起動禁止
11
CKS1
0
10
CKS0
0
9
PGMS
0
出力マスクしない
8
−
0
未使用ビット
7
EGS1
0
6
EGS0
1
5
IREN
1
割込み許可
4
IRQF
0
割込み要因クリア
3
IRS1
0
2
IRS0
1
0
OSEL
0
カウントクロック : FCLKP/1 ( 分周なし )
立上りエッジ
カウンタボローで割込み要求発生
通常極性
FUJITSU MICROELECTRONICS LIMITED
587
第 21 章 PPG ( プログラマブルパルスジェネレータ )
21.3 PPG の動作
MB91461
(5) GCN20 にデータを書き込むことにより起動トリガを発生します。
例えば , ch.0 と ch.1 を同時に起動する場合には GCN20 レジスタの EN0 と EN1
に "1" を書き込みます。
■ リロードタイマによる PPG の複数同時起動
上記の (3) で起動要因として 16 ビットリロードタイマを選択します。
上記の (5) で GCN20 の代わりに 16 ビットリロードタイマを起動します。
588
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 22 章
リアルタイムクロック
リアルタイムクロック ( 以降 RTC) のレジスタ構成
とその機能 , RTC モジュールの動作について説明
します。
RTC には , タイマ制御レジスタ , サブセカンドレジ
スタ , 秒 / 分 / 時レジスタ , 2 分周器 ,
21 ビットプリスケーラ , 秒 / 分 / 時カウンタがあり
ます。RTC は実時間タイマとして動作し , 実時間
情報を与えます。
22.1 リアルタイムクロックのレジスタ構成
22.2 リアルタイムクロックのブロックダイヤグラム
22.3 リアルタイムクロックのレジスタの詳細
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
589
第 22 章 リアルタイムクロック
22.1 リアルタイムクロックのレジスタ構成
22.1
MB91461
リアルタイムクロックのレジスタ構成
リアルタイムクロックのレジスタ構成を示します。
■ リアルタイムクロックのレジスタ一覧
図 22.1-1 リアルタイムクロックのレジスタ一覧
WTCRH
bit 15
アドレス : 0004A2H INTE3
14
13
12
11
10
9
8
INT3
INTE2
INT2
INTE1
INT1
INTE0
INT0
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
bit 7
6
5
4
3
2
1
0
アドレス : 0004A3H TST2
TST1
TST0
予約
RUN
予約
予約
ST
リード / ライト
R/W
R/W
R/W
−
R
−
−
R/W
初期値
0
0
0
−
0
−
−
0
bit 23
22
21
20
19
18
17
16
−
−
−
D20
D19
D18
D17
D16
リード / ライト
−
−
−
R/W
R/W
R/W
R/W
R/W
初期値
−
−
−
X
X
X
X
X
bit 15
14
13
12
11
10
9
8
D15
D14
D13
D12
D11
D10
D9
D8
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
X
X
X
X
X
X
X
X
bit 7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
X
X
X
X
X
X
X
X
WTCRL
WTBR ( 上位 )
アドレス : 0004A5H
WTBR ( 中位 )
アドレス : 0004A6H
WTBR ( 下位 )
アドレス : 0004A7H
( 続く )
590
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 22 章 リアルタイムクロック
22.1 リアルタイムクロックのレジスタ構成
MB91461
( 続き )
WTHR
bit 31
30
29
28
27
26
25
24
−
−
−
H4
H3
H2
H1
H0
リード / ライト
−
−
−
R/W
R/W
R/W
R/W
R/W
初期値
−
−
−
X
X
X
X
X
bit 23
22
21
20
19
18
17
16
−
−
M5
M4
M3
M2
M1
M0
リード / ライト
−
−
R/W
R/W
R/W
R/W
R/W
R/W
初期値
−
−
X
X
X
X
X
X
bit 15
14
13
12
11
10
9
8
−
−
S5
S4
S3
S2
S1
S0
リード / ライト
−
−
R/W
R/W
R/W
R/W
R/W
R/W
初期値
−
−
X
X
X
X
X
X
アドレス : 0004A8H
WTMR
アドレス : 0004A9H
WTSR
アドレス : 0004AAH
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
591
第 22 章 リアルタイムクロック
22.2 リアルタイムクロックのブロックダイヤグラム
22.2
MB91461
リアルタイムクロックのブロックダイヤグラム
リアルタイムクロックのブロックダイヤグラムを示します。
■ リアルタイムクロックのブロックダイヤグラム
図 22.2-1 リアルタイムクロックのブロックダイヤグラム
RTC内部
RTC外部
原発振クロック
8分周
UPDT
2分周
21ビット
プリスケーラ
サブセカンド
レジスタ
ST
秒カウンタ
分カウンタ
時カウンタ
6ビット
5ビット
2分周
6ビット
秒/分/時レジスタ
サブセカンド
カウンタ
オーバフロー
INTE0 INT0
INTE1 INT1
INTE2 INT2
INTE3 INT3
IRQ
592
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 22 章 リアルタイムクロック
22.3 リアルタイムクロックのレジスタの詳細
MB91461
リアルタイムクロックのレジスタの詳細
22.3
リアルタイムクロックのレジスタ構成の詳細について説明します。
■ タイマ制御レジスタ (WTCRH, WTCRL)
図 22.3-1 タイマ制御レジスタ (WTCRH, WTCRL) のビット構成
WTCRH
bit 15
アドレス : 0004A2H INTE3
14
13
12
11
10
9
8
INT3
INTE2
INT2
INTE1
INT1
INTE0
INT0
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
bit 7
6
5
4
3
2
1
0
アドレス : 0004A3H TST2
TST1
TST0
−
RUN
予約
−
ST
リード / ライト
R/W
R/W
R/W
−
R
−
−
R/W
初期値
0
0
0
−
0
−
−
0
WTCRL
[bit15 ∼ bit8] INT3 ∼ INT0, INTE3 ∼ INTE0 : 割込みフラグおよび割込み許可ビット
INT0 から INT3 までは , 割込みフラグです。このフラグは , サブセカンドカウンタ ,
秒カウンタ , 分カウンタ , および時カウンタがそれぞれオーバフローした場合に設
定されます。INT ビットの設定を , 対応する INTE ビットが "1" の場合に行うと割込
み信号を生成します。本フラグは , 秒 / 分 / 時 / 日の単位で割込み信号を生成するよ
うに設計されています。INT ビットに "0" を書き込むとフラグはクリアされ , "1" の
書込みは無効です。INT ビットで動作するリードモディファイライト (RMW) 系命
令はすべて "1" を読み出します。
割込み
要因
割込み許可ビット
割込みフラグ
秒割込み
サブセカンドカウンタオーバフロー
INTE0
INT0
分割込み
秒カウンタオーバフロー
INTE1
INT1
時割込み
分カウンタオーバフロー
INTE2
INT2
日割込み
時カウンタオーバフロー
INTE3
INT3
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
593
第 22 章 リアルタイムクロック
22.3 リアルタイムクロックのレジスタの詳細
MB91461
[bit7 ∼ bit5] TST2 ∼ TST0 : テストビット
本ビットは , デバイステスト用です。
必ず , 000B を設定してください。
[bit4] 未使用ビット
[bit3] RUN : フラグ
本ビットは読出しのみ可能です。読出し値が "1" の場合 , RTC モジュールが動作中
であることを示しています。
[bit2] 予約 : 予約ビット
このビットは予約ビットです。常に "0" を書いてください。
[bit1] 未使用ビット
[bit0] ST : スタートビット
ST ビットを "1" に設定すると , ウォッチタイマはレジスタから秒 / 分 / 時値をロー
ドして動作を開始します。"0" にリセットした場合 , カウンタおよびプリスケーラは
すべて "0" にリセットされて停止します。
本ビットは , カウンタ値の更新にも使用できます。ST ビットを "0" に設定し , RUN
が "0" になるまで待ってからカウンタ値を更新し , ST ビットを "1" に設定します。
594
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 22 章 リアルタイムクロック
22.3 リアルタイムクロックのレジスタの詳細
MB91461
■ サブセカンドレジスタ
WTBR ( 上位 )
bit 23
22
21
20
19
18
17
16
−
−
−
D20
D19
D18
D17
D16
リード / ライト
−
−
−
R/W
R/W
R/W
R/W
R/W
初期値
−
−
−
X
X
X
X
X
bit 15
14
13
12
11
10
9
8
D15
D14
D13
D12
D11
D10
D9
D8
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
X
X
X
X
X
X
X
X
bit 7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
X
X
X
X
X
X
X
X
アドレス : 0004A5H
WTBR ( 中位 )
アドレス : 0004A6H
WTBR ( 下位 )
アドレス : 0004A7H
[bit23 ∼ bit21] 未使用ビット
[bit20 ∼ bit0] D20 ∼ D0
サブセカンドレジスタは , 21 ビットプリスケーラのリロード値を格納します。この
値は , リロードカウンタが "0" になるとリロードされます。21 ビットプリスケーラ
は , 新旧のデータバイトを結合した値をロードしてしまう場合があるので , 3 バイト
すべてを修正する場合は , 書込み命令中にリロード動作が行われていないことを確
認してください。サブセカンドレジスタの更新は ST ビットが "0" の期間に実行す
ることが推奨されます。サブセカンドレジスタが "0" に設定されている期間は , 21
ビットプリスケーラの動作は停止します。
なお , RTC に供給されるクロックは原発振クロックの 8 分周クロックで , RTC 内部
でさらに 2 分周されたクロック ( = 16 分周 ) が 21 ビットプリスケーラのカウント
クロックとなります。
1 秒を生成するための WTBR レジスタ設定値は以下のようになります。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
595
第 22 章 リアルタイムクロック
22.3 リアルタイムクロックのレジスタの詳細
MB91461
表 22.3-1 WTBR レジスタ設定値
596
原発振
クロック
(MHz)
原発振
クロック周期
(ns)
21 ビット
プリスケーラ
クロック周期
(μs)
WTBR 設定値
(dec)
WTBR 設定値
(hex)
9.00
111.11
1.78
281249
044AA1
10.00
100.00
1.60
312499
04C4B3
12.00
83.33
1.33
374999
05B8D7
14.00
71.43
1.14
437499
06ACFB
16.00
62.50
1.00
499999
07A11F
18.00
55.56
0.89
562499
089543
20.00
50.00
0.80
624999
098967
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 22 章 リアルタイムクロック
22.3 リアルタイムクロックのレジスタの詳細
MB91461
■ 時 / 分 / 秒レジスタ
図 22.3-2 時 / 分 / 秒レジスタ
WTHR
bit 31
30
29
28
27
26
25
24
−
−
−
H4
H3
H2
H1
H0
リード / ライト
−
−
−
R/W
R/W
R/W
R/W
R/W
初期値
−
−
−
X
X
X
X
X
bit 23
22
21
20
19
18
17
16
−
−
M5
M4
M3
M2
M1
M0
リード / ライト
−
−
R/W
R/W
R/W
R/W
R/W
R/W
初期値
−
−
X
X
X
X
X
X
bit 15
14
13
12
11
10
9
8
−
−
S5
S4
S3
S2
S1
S0
リード / ライト
−
−
R/W
R/W
R/W
R/W
R/W
R/W
初期値
−
−
X
X
X
X
X
X
アドレス : 0004A8H
WTMR
アドレス : 0004A9H
WTSR
アドレス : 0004AAH
− : 未使用ビット
時 / 分 / 秒レジスタは , 時間情報を格納します。時 / 分 / 秒の 2 進表記です。
本レジスタを読み出すと , カウンタ値のみを戻します。
レジスタは 3 バイト存在するため , 出力値に矛盾がないことを確認してください。つま
り , 出力値「1 時間 , 59 分 , 59 秒」は「0 時間 , 59 分 , 59 秒」から「1 時間 , 0 分 , 0 秒」
への変化点 , あるいは「1 時間 , 59 分 , 59 秒」から「2 時間 , 0 分 , 0 秒」への変化点で
ある可能性があります。
カウンタのオーバフローが発生したときに読出しを行うと , 誤った値を読み出すこと
があります。このため , 読出しは RTC 割込みを使用するか , 以下の手順に従ってくだ
さい。
1. RTC の割込みフラグ (INT) をクリア
2. レジスタ読出し
3. 読出し中にタイムオーバフローが発生し , 読出し後にフラグが設定された場合は再
度読出しを行ってください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
597
第 22 章 リアルタイムクロック
22.3 リアルタイムクロックのレジスタの詳細
MB91461
598
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
第 23 章
A/D コンバータ
A/D コンバータの概要 , レジスタの構成 / 機能 , お
よび動作について説明します。
23.1 A/D コンバータの概要
23.2 A/D コンバータのブロックダイヤグラム
23.3 A/D コンバータのレジスタ
23.4 A/D コンバータの動作
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
599
第 23 章 A/D コンバータ
23.1 A/D コンバータの概要
23.1
MB91461
A/D コンバータの概要
A/D コンバータは , アナログ入力電圧をデジタル値に変換するものです。
A/D コンバータの概要について説明します。
● A/D コンバータの特長
A/D コンバータの特長は , 以下のとおりです。
• 変換時間 : 1 チャネルあたり最小 1.0 μS
• サンプル & ホールド回路付き逐次比較変換方式を採用
• 10 ビットの分解能 (8/10 ビット切換え可能 )
• アナログ入力は 13 チャネルからソフトウェアで選択できます。
• 変換モード
• シングル変換モード :1 チャネルを選択変換
• スキャン変換モード : 連続した複数のチャネルを変換。最大 13/16 チャネルプログ
ラム可能
• 連続変換モード : 指定チャネルを繰り返し変換
• 停止変換モード : 指定チャネルを変換後 , 一時停止して次の起動がかかるまで待機
( 変換開始の同期が可能 ) 。
• 割込み要求
A/D 変換終了時には , CPU に対して A/D 変換終了の割込み要求を発生させることが
できます。
• 起動要因を選択可能
起動要因は , ソフト , 外部トリガ ( 立下りエッジ ) , または 16 ビットリロードタイマ
7 ( 立上りエッジ ) があります。
● 入力インピーダンス
A/D コンバータのサンプリング回路は次の等価回路で表されます。
図 23.1-1 入力インピーダンス
アナログ
信号
Rext
ANx
Rin:最大1.9kΩ
アナログSW (AVCC≧2.7V)
Rext = Tsamp / (7×Cin ) - Rin
600
Cin:最大14.7pF
FUJITSU MICROELECTRONICS LIMITED
A/Dコンバータ
CM71-10159-2
第 23 章 A/D コンバータ
23.2 A/D コンバータのブロックダイヤグラム
MB91461
A/D コンバータのブロックダイヤグラム
23.2
図 23.2-1 に , A/D コンバータのブロックダイヤグラムを示します。
■ A/D コンバータのブロックダイヤグラム
図 23.2-1 A/D コンバータのブロックダイヤグラム
AVRH/
AVCC AVRL AVSS
D/Aコンバータ
・・・
AN12
逐次比較レジスタ
比較器
デコーダ
サンプル&
ホールド回路
データレジスタ
内部データバス
AN0
入力回路
MPX
A/D制御レジスタ0
A/D制御レジスタ1
ATGX端子
動作クロック
16ビットリロードタイマ7
CLKP
CM71-10159-2
プリスケーラ
FUJITSU MICROELECTRONICS LIMITED
601
第 23 章 A/D コンバータ
23.3 A/D コンバータのレジスタ
23.3
MB91461
A/D コンバータのレジスタ
A/D コンバータで使用するレジスタの構成および機能について説明します。
■ A/D コンバータのレジスタ概要
A/D コンバータのレジスタには , 以下の 6 種類があります。
• アナログ入力許可レジスタ (ADER)
• 制御ステータスレジスタ (ADCS)
• データレジスタ (ADCR)
• 変換時間設定レジスタ (ADCT)
• 開始チャネル設定レジスタ (ADSC)
• 終了チャネル設定レジスタ (ADEC)
■ レジスタ一覧
図 23.3-1 レジスタ一覧
ADERH ( 下位 )
bit 7
6
5
4
3
2
1
0
−
−
−
−
−
−
−
−
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
bit 15
14
13
12
11
10
9
8
−
−
−
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
bit 7
6
5
4
3
2
1
0
ADE6
ADE5
ADE4
ADE3
ADE2
ADE1
ADE0
アドレス : 0001A1H
ADERL ( 上位 )
アドレス : 0001A2H
ADE12 ADE11 ADE10 ADE9
ADE8
ADERL ( 下位 )
アドレス : 0001A3H ADE7
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
14
13
12
11
10
9
8
INT
INTE
PAUS
STS1
STS0
STRT
予約
ADCS1
bit 15
アドレス : 0001A4H BUSY
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
( 続く )
602
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 23 章 A/D コンバータ
23.3 A/D コンバータのレジスタ
MB91461
( 続き )
ADCS0
bit 7
6
5
4
3
2
1
0
アドレス : 0001A5H MD1
MD0
S10
ACH4
ACH3
ACH2
ACH1
ACH0
リード / ライト
R/W
R/W
R/W
R
R
R
R
R
初期値
0
0
0
0
0
0
0
0
bit 15
14
13
12
11
10
9
8
−
−
−
−
−
−
D9
D8
リード / ライト
−
−
−
−
−
−
R
R
初期値
−
−
−
−
−
−
X
X
bit 7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
リード / ライト
R
R
R
R
R
R
R
R
初期値
X
X
X
X
X
X
X
X
14
13
12
11
10
9
8
CT5
CT4
CT3
CT2
CT1
CT0
ST9
ST8
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
1
0
0
0
0
bit 7
6
5
4
3
2
1
0
ST7
ST6
ST5
ST4
ST3
ST2
ST1
ST0
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
1
0
1
1
0
0
bit 15
14
13
12
11
10
9
8
−
−
−
−
ANS3
ANS2
ANS1
ANS0
リード / ライト
−
−
−
−
R/W
R/W
R/W
R/W
初期値
−
−
−
−
0
0
0
0
bit 7
6
5
4
3
2
1
0
−
−
−
−
ANE3
ANE2
ANE1
ANE0
リード / ライト
−
−
−
−
R/W
R/W
R/W
R/W
初期値
−
−
−
−
0
0
0
0
ADCR1
アドレス : 0001A6H
ADCR0
アドレス : 0001A7H
ADCT1
bit 15
アドレス : 0001A8H
ADCT0
アドレス : 0001A9H
ADSCH
アドレス : 0001AAH
ADECH
アドレス : 0001ABH
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
603
第 23 章 A/D コンバータ
23.3 A/D コンバータのレジスタ
23.3.1
MB91461
アナログ入力許可レジスタ (ADER)
アナログ入力に使用される端子に対応する ADER ビットに常に "1" を書き込んでく
ださい。
■ A/D 許可レジスタ (ADER)
図 23.3-2 A/D 許可レジスタ (ADER) のビット構成
ADERH ( 下位 )
bit 7
6
5
4
3
2
1
0
−
−
−
−
−
−
−
−
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
bit 15
14
13
12
11
10
9
8
−
−
−
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
bit 7
6
5
4
3
2
1
0
ADE6
ADE5
ADE4
ADE3
ADE2
ADE1
ADE0
アドレス : 0001A1H
ADERL ( 上位 )
アドレス : 0001A2H
ADE12 ADE11 ADE10 ADE9
ADE8
ADERL ( 下位 )
アドレス : 0001A3H ADE7
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
[bit7 ∼ bit0] 予約ビット
予約ビットです。必ず "0" を設定してください。
[bit12 ∼ bit0] ADE12 ∼ ADE0: A/D 入力許可
ADE
機能
0
汎用ポート [ 初期値 ]
1
アナログ入力
リセット時は 00000000H に初期化されます。
開始チャネル , 終了チャネルのアナログ入力許可レジスタには必ず "1" を書いてく
ださい。
604
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 23 章 A/D コンバータ
23.3 A/D コンバータのレジスタ
MB91461
A/D 制御ステータスレジスタ (ADCS)
23.3.2
A/D 制御ステータスレジスタ (ADCS) は , A/D コンバータの制御およびステータス表
示を行います。A/D 変換中には ADCS レジスタの更新を行わないでください。
■ A/D 制御ステータスレジスタ 1 (ADCS1)
図 23.3-3 A/D 制御ステータスレジスタ 1 (ADCS1) のビット構成
ADCS1
bit 7
アドレス : 0001A4H BUSY
6
5
4
3
2
1
0
INT
INTE
PAUS
STS1
STS0
STRT
予約
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
0
0
0
0
0
[bit7] BUSY : ビジーフラグおよび停止
BUSY
機能
読出し
A/D コンバータ動作表示用のビットです。
A/D 変換起動でセットされて最終チャネルの変換終了でクリアされ
ます。
書込み
A/D 動作中に本ビットに "0" を書き込むと強制的にクリアされます。
連続 , 停止モード時の強制終了に利用します。
動作表示用のビットに "1" を書き込むことはできません。
リードモディファイライト (RMW) 系命令では "1" が読まれます。
単発モードでは設定された最終チャネルの A/D 変換終了でクリアされます。
連続 , 停止モードでは "0" 書込みで停止するまでクリアされません。
リセット時にこのビットは "0" に初期化されます。
<注意事項>
強制終了とソフト起動を同時に行わないでください (BUSY = 0, STRT = 1)。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
605
第 23 章 A/D コンバータ
23.3 A/D コンバータのレジスタ
MB91461
[bit6] INT : 割込み
変換データが ADCR に書き込まれると設定されます。
bit5 (INTE) が "1" のときに本ビットが設定されると割込み要求が発生します。
クリアは "0" 書込みで行われます。
リセット時にこのビットは "0" に初期化されます。
DMA を使用した場合は DMA 転送終了時にこのビットはクリアされます。
<注意事項>
INT ビットの "0" 書込みクリアは A/D 停止中に行ってください。
[bit5] INTE : 割込み許可
このビットは変換終了による割込みの許可・禁止を指定します。
INTE
機能
0
割込み禁止 [ 初期値 ]
1
割込み許可
リセット時にこのビットは "0" に初期化されます。
[bit4] PAUS : A/D 変換一時停止
A/D 変換動作が一時的に停止した場合に設定されます。
A/D 変換結果を格納するレジスタが 1 つのため , 連続で変換した場合 , 変換結果を
DMA で転送しなければ前データが壊れてしまいます。
これを保護するためにデータレジスタの内容を DMA で転送しなければ次の変換
データが格納されないようになっています。この間 , A/D 変換動作は停止します。
DMA で転送を終了すると A/D は変換を再開します。
このビットは DMA を使用したときのみ有効です。
- このビットのクリアは "0" 書込みでのみ可能です
(DMA 転送終了ではクリアされません ) 。
ただし , DMA 転送待ち状態のときはクリアできません。
- 変換データの保護機能に関しては「23.4 A/D コンバータの動作」を参照してくだ
さい。
- リセット時にこのビットは "0" に初期化されます。
606
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 23 章 A/D コンバータ
23.3 A/D コンバータのレジスタ
MB91461
[bit3, bit2] STS1, STS0 : A/D 起動要因選択
リセット時にこれらのビットは 00B に初期化されます。
このビットの設定により A/D 起動要因を選択します。
STS1
STS0
0
0
ソフト起動 [ 初期値 ]
0
1
外部端子トリガでの起動とソフト起動
1
0
16 ビットリロードタイマでの起動とソフト起動
1
1
外部端子トリガ , 16 ビットリロードタイマでの起動とソフ
ト起動
機能
2 つ以上の起動要因が許されているモードでは最初に生じた要因により A/D 変換が
起動されます。
起動要因の設定は書き換えられると直ちに変わりますので , A/D 変換中に書き換え
るときには注意してください。
- 外部端子トリガは立下りエッジを検出します。外部トリガ入力レベルが "L" のと
きに本ビットを書き換えて外部端子トリガ起動に設定するとA/Dが起動する場合
があります。
- 16 ビットリロードタイマ選択時は , 16 ビットリロードタイマ 7 出力が選択され ,
16 ビットリロードタイマ出力の立上りエッジを検出します。
A/D の設定と 16 ビッ
トリロードタイマ設定の順序については「第 17 章 16 ビットリロードタイマ」を
参照してください。
[bit1] STRT : 開始
このビットに "1" を書き込むことにより A/D を起動 ( ソフト起動 ) します。
再起動するときは , 再び "1" を書き込んでください。
リセット時にこのビットは "0" に初期化されます。
連続モード時および停止モード時は動作機能上 , 再起動しません。"1" を書き込む前
に BUSY ビットをチェックしてください (BUSY ビットをクリアしてから起動して
ください ) 。
強制終了とソフト起動を同時に行わないでください (BUSY = 0, STRT = 1)。
[bit0] 予約ビット
このビットには必ず "0" を設定してください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
607
第 23 章 A/D コンバータ
23.3 A/D コンバータのレジスタ
MB91461
■ A/D 制御ステータスレジスタ 0 (ADCS0)
図 23.3-4 A/D 制御ステータスレジスタ 0 (ADCS0) のビット構成
ADCS0
bit 7
6
5
4
3
2
1
0
アドレス : 0001A5H MD1
MD0
S10
ACH4
ACH3
ACH2
ACH1
ACH0
リード / ライト
R/W
R/W
R/W
R
R
R
R
R
初期値
0
0
0
0
0
0
0
0
[bit7, bit6] MD1, MD0 : A/D 変換モード設定
MD1, MD0 ビットは , 動作モードを設定します。
リセット時にはこれらのビットは 00B に初期化されます。
MD1
MD0
0
0
単発モード , 動作中の再起動は不可能 [ 初期値 ]
0
1
単発モード , 動作中の再起動は不可能
1
0
連続モード , 動作中の再起動は不可能
1
1
停止モード , 動作中の再起動は不可能
動作モード
• 単発モード
ANS4 ∼ ANS0 の設定チャネルから ANE4 ∼ ANE0 の設定チャネルまで A/D 変
換を連続して行い , すべてのチャネルの変換が終了すると停止します。
• 連続モード
ANS4 ∼ ANS0 の設定チャネルから ANE4 ∼ ANE0 の設定チャネルまで A/D 変
換を繰り返し行います。
• 停止モード
ANS4 ∼ ANS0 の設定チャネルから ANE4 ∼ ANE0 の設定チャネルまで 1 チャネ
ルごとに A/D 変換を行い , 一時停止します。変換再開は起動要因発生によって行
われます。
• 連続モード , 停止モードで A/D 変換を起動すると , BUSY ビットで強制終了する
まで変換動作を続けます。
• 強制終了は BUSY ビットに "0" を書き込むことにより行われます。
• 強制終了後の起動時は ANS4 ∼ ANS0 の設定チャネルから変換されます。
• 単発 , 連続 , 停止の各モードでの再起動不可能はタイマ , 外部トリガ , ソフトすべ
ての起動に適用されます。
608
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 23 章 A/D コンバータ
23.3 A/D コンバータのレジスタ
MB91461
[bit5] S10
このビットは変換の分解能を指定します。"0" に設定されると 10 ビットの A/D 変換
が行われます。その他の場合には 8 ビットの A/D 変換が行われてその結果は ADCR0
に記憶されます。
リセット時にこのビットは "0" に初期化されます。
[bit4 ∼ bit0] ACH4 ∼ ACH0 : アナログ変換選択チャネル
これらのビットにより現在 A/D 変換中のチャネルを表します。
リセット時にこれらのビットは 00000B に初期化されます。
CM71-10159-2
ACH4
ACH3
ACH2
ACH1
ACH0
変換チャネル
0
0
0
0
0
AN0
0
0
0
0
1
AN1
0
0
0
1
0
AN2
0
0
0
1
1
AN3
0
0
1
0
0
AN4
0
0
1
0
1
AN5
0
0
1
1
0
AN6
0
0
1
1
1
AN7
0
1
0
0
0
AN8
0
1
0
0
1
AN9
0
1
0
1
0
AN10
0
1
0
1
1
AN11
0
1
1
0
0
AN12
ACH
機能
読出し
A/D 変換 (BUSY ビット= 1) の間 , 現在の変換チャネルを本ビット
群で表します。
強制終了 (BUSY ビット= 0) により停止した場合は変換が停止さ
れたチャネルを表します。
書込み
これらのビットへの書込みは無効です。
FUJITSU MICROELECTRONICS LIMITED
609
第 23 章 A/D コンバータ
23.3 A/D コンバータのレジスタ
23.3.3
MB91461
データレジスタ (ADCR1, ADCR0)
データレジスタ (ADCR0, ADCR1) は , 変換の結果として生成されたデジタル値を記
憶するために使用されるものです。ADCR0 は下位 8 ビットを記憶し , ADCR1 は変
換結果の最上位の 2 ビットを記憶します。これらのレジスタ値は変換が完了するた
びに書き換えられます。通常は最後の変換値がこのレジスタに記憶されます。
■ データレジスタ (ADCR1, ADCR0)
図 23.3-5 データレジスタ (ADCR1, ADCR0) のビット構成
ADCR1
bit 15
14
13
12
11
10
9
8
−
−
−
−
−
−
D9
D8
リード / ライト
−
−
−
−
−
−
R
R
初期値
−
−
−
−
−
−
X
X
bit 7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
リード / ライト
R
R
R
R
R
R
R
R
初期値
X
X
X
X
X
X
X
X
アドレス : 0001A6H
ADCR0
アドレス : 0001A7H
ADCR1 の bit15 ∼ bit10 からは常に 000000B が読み出されます。
変換データの保護機能を利用することができます。
「23.4 A/D コンバータの動作」を参
照してください。
610
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 23 章 A/D コンバータ
23.3 A/D コンバータのレジスタ
MB91461
変換時間設定レジスタ (ADCT)
23.3.4
A/D 変換時間設定レジスタ (ADCT) はアナログ入力のサンプリング時間および比較
時間を制御します。ADCT レジスタの設定で A/D の変換時間を設定します。
ADCT レジスタは A/D 変換動作中に書き換えないようにしてください。
■ 変換時間設定レジスタ
図 23.3-6 変換時間設定レジスタのビット構成
ADCT1
bit 15
14
13
12
11
10
9
8
CT5
CT4
CT3
CT2
CT1
CT0
ST9
ST8
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
0
1
0
0
0
0
bit 7
6
5
4
3
2
1
0
ST7
ST6
ST5
ST4
ST3
ST2
ST1
ST0
リード / ライト
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値
0
0
1
0
1
1
0
0
アドレス : 0001A8H
ADCT0
アドレス : 0001A9H
[bit15 ∼ bit10] CT5 ∼ CT0 : A/D 比較時間設定
これらのビットの設定により比較操作時間のクロック分周値を指定します。
CT5 ∼ CT0 の設定を 000001B にすると分周なし= CLKP になります。
CT5 ∼ CT0 の設定を 000000B には設定しないでください。
リセットによりこれらのビットは 000100B に初期化されます。
比較操作時間 (Compare Time) = CT 設定値 × CLKP 周期 × 10 + (4 × CLKP 周期 )
<注意事項>
比較操作時間は 660ns 以上になるよう , CT5 ∼ CT0 を設定してください。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
611
第 23 章 A/D コンバータ
23.3 A/D コンバータのレジスタ
MB91461
[bit9 ∼ bit0] ST9 ∼ ST0 : A/D 入力サンプリング時間設定
これらのビットの設定によりアナログ入力のサンプリング時間を指定します。
リセットによりこれらのビットは 0000101100B に初期化されます。
A/D 変換に必要なサンプリング時間 ( 以下 , 必要サンプリング時間 ) は Rext の値に
より決定しますので , 必要サンプリング時間以上になるような ST9 ∼ ST0 の設定が
必要です。
• 必要サンプリング時間の算出式
必要サンプリング時間 (Tsamp) = (Rext + Rin) × Cin × 7
• ST9 ∼ ST0 設定値の算出式
ST9 ∼ ST0 設定値 ≧ 必要サンプリング時間 (Tsamp) ÷ CLKP 周期
例 . CLKP = 18MHz, AVCC ≧ 3.0V, Rext = 15kΩ の場合
Tsamp = (15 × 103 + 1.9 × 103) × 14.7 × 10 − 12 × 7 = 1.74μs
→ ST = 1.74 × 10 − 6 ÷ (1/(18.0 × 106) ) = 31.3 → 32 (0000100000B) 以上を設
定してください。
<注意事項>
ST9 ∼ ST0 に 0000000000B, 0000000001B, 0000000010B は設定しないでください。
サンプリング時間は 400ns 以上になるように , Rext を決定してください。
■ 推奨設定値
最適な変換時間を達成するために , 以下の設定値が推奨されます。
表 23.3-1 推奨設定値
CLKP
(MHz)
比較操作時間
(CT5 ∼ CT0)
サンプリング時間
(ST9 ∼ ST0)
ADCT
設定値
変換時間 (μs)
9
000001B
0000001001B
0409H
1.56 + 1.00 = 2.56
18
000010B
0000010010B
0812H
1.33 + 1.00 = 2.33
(AVCC ≧ 3.0V, Rext ≦ 5.1kΩ)
612
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 23 章 A/D コンバータ
23.3 A/D コンバータのレジスタ
MB91461
開始チャネル設定レジスタ (ADSCH)
終了チャネル設定レジスタ (ADECH)
23.3.5
A/D 変換の開始チャネルと終了チャネルの設定レジスタです。
ADSCH, ADECH は A/D 変換中に書き換えないでください。
■ 開始チャネル設定レジスタ (ADSCH)・終了チャネル設定レジスタ (ADECH)
図 23.3-7 開始チャネル設定レジスタ (ADSCH)・終了チャネル設定レジスタ (ADECH) のビット構成
ADSCH
bit 15
14
13
12
11
10
9
8
−
−
−
ANS4
ANS3
ANS2
ANS1
ANS0
リード / ライト
−
−
−
−
R/W
R/W
R/W
R/W
初期値
−
−
−
−
0
0
0
0
bit 7
6
5
4
3
2
1
0
−
−
−
ANE4
ANE3
ANE2
ANE1
ANE0
リード / ライト
−
−
−
−
R/W
R/W
R/W
R/W
初期値
−
−
−
−
0
0
0
0
アドレス : 0001AAH
ADECH
アドレス : 0001ABH
これらのビットにより A/D 変換の開始チャネルと終了チャネルを設定します。
同一のチャネルが ANS4 ∼ ANS0 および ANE4 ∼ ANE0 に書き込まれると , 変換は 1 つ
のチャネルに対してのみ行われます ( シングルチャネル変換 ) 。
連続モード , 停止モードを設定している場合はこれらのビットで設定されたチャネル
の変換が終わると ANS4 ∼ ANS0 で設定された開始チャネルに戻ります。
<注意事項>
開始チャネルと終了チャネルの関係は , 常に ANS ≦ ANE となるように設定してくださ
い。ANS > ANE とした場合 , 動作は保証されません。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
613
第 23 章 A/D コンバータ
23.3 A/D コンバータのレジスタ
MB91461
[bit12 ∼ bit8] ANS4 ∼ ANS0 : A/D 開始チャネル設定
[bit4 ∼ bit0] ANE4 ∼ ANE0 : A/D 終了チャネル設定
ANS4
ANE4
ANS3
ANE3
ANS2
ANE2
ANS1
ANE1
ANS0
ANE0
開始 / 終了チャネル
0
0
0
0
0
AN0
0
0
0
0
1
AN1
0
0
0
1
0
AN2
0
0
0
1
1
AN3
0
0
1
0
0
AN4
0
0
1
0
1
AN5
0
0
1
1
0
AN6
0
0
1
1
1
AN7
0
1
0
0
0
AN8
0
1
0
0
1
AN9
0
1
0
1
0
AN10
0
1
0
1
1
AN11
0
1
1
0
0
AN12
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
x
x
x
x
設定禁止
<注意事項>
A/D 開始チャネル設定 (ANS4, ANS3, ANS2, ANS1, ANS0) に開始チャネルを設定した後
に , 本レジスタのビットをリードモディファイライト (RMW) 系命令で設定しないでくだ
さい。
ANS4, ANS3, ANS2, ANS1, ANS0 ビットは A/D 変換動作が開始するまでは前回の変換
チャネルが読み出されるため , ANS4, ANS3, ANS2, ANS1, ANS0 ビットに開始チャネル
を設定した後に , 本レジスタのビットをリードモディファイライト (RMW) 系命令で設定
した場合 , ANE4, ANE3, ANE2, ANE1, ANE0 ビットの値が書き換わる可能性があります。
614
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 23 章 A/D コンバータ
23.4 A/D コンバータの動作
MB91461
23.4
A/D コンバータの動作
A/D コンバータは逐次比較方式で作動し , 分解能は 10 ビットまたは 8 ビットを選択
することができます。A/D コンバータの動作モードを説明します。
■ A/D 変換データ
本 A/D コンバータは変換結果記憶用のレジスタが 1 つ (16 ビット ) であるため , 変換
データレジスタ (ADCR0 および ADCR1) は変換が完了するたびに書き換えられます。
このため , A/D コンバータ単独では連続変換処理には適しませんので DMA を使って変
換データをメモリに転送しながら変換することを推奨いたします。
■ 単発モード
単発モードは , ANS ビットと ANE ビットで設定されたアナログ入力を順に変換してい
き , ANE ビットで設定された終了チャネルまで変換が終わると A/D は動作を停止しま
す。開始チャネルと終了チャネルが同じとき (ANS = ANE) は一方のチャネルのみの変
換動作になります。
【例】
• ANS = 00000B, ANE = 00011B
開始 ⇒ AN0 ⇒ AN1 ⇒ AN2 ⇒ AN3 ⇒ 終了
• ANS = 00010B, ANE = 00010B
開始 ⇒ AN2 ⇒ 終了
■ 連続モード
連続モードは , ANS ビットと ANE ビットで設定されたアナログ入力を順に変換してい
き , ANE ビットで設定された終了チャネルまで変換が終わると ANS のアナログ入力に
戻り変換動作を続けます。開始チャネルと終了チャネルが同じとき (ANS = ANE) は一
方のチャネルのみの変換を続けます。
【例】
• ANS = 00000B, ANE = 00011B
開始 ⇒ AN0 ⇒ AN1 ⇒ AN2 ⇒ AN3 ⇒ AN0 ⇒ AN1 ( 繰返し )
• ANS = 00010B, ANE = 00010B
開始 ⇒ AN2 ⇒ AN2 ⇒ AN2 ( 繰返し )
連続モードで変換させると BUSY ビットに "0" を書き込むまで変換を繰り返し続けま
す (BUSY ビットに "0" を書き込む→強制終了 ) 。強制終了を行うと変換は途中で止まっ
てしまうため , 注意してください ( 強制終了した場合 , 変換レジスタには変換完了した
前データが格納されています ) 。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
615
第 23 章 A/D コンバータ
23.4 A/D コンバータの動作
MB91461
■ 停止モード
停止モードは , ANS ビットと ANE ビットで設定されたアナログ入力を順に変換してい
きますが , 1 チャネル変換するたびに変換動作を一時停止します。一時停止を解除する
にはもう一度起動をかけることにより行われます。
ANE ビットで設定された終了チャネルまで変換が終わると ANS のアナログ入力に戻
り変換動作を続けます。開始チャネルと終了チャネルが同じ (ANS = ANE) であれば変
換は一方のチャネルに対してのみ実行されます。
【例】
• ANS = 00000B, ANE = 00011B
開始 ⇒ AN0 ⇒ 停止⇒起動 ⇒ AN1 ⇒ 停止⇒起動 ⇒ AN2 ⇒ 停止⇒起動 ⇒
AN3 ⇒ 停止⇒起動 ⇒ AN0 ⇒ 停止⇒起動 ⇒ AN1 ( 繰返し )
• ANS = 00010B, ANE = 00010B
開始 ⇒ AN2 ⇒ 停止⇒起動 ⇒ AN2 ⇒ 停止⇒起動 ⇒ AN2 ( 繰返し )
このときの起動要因は STS1, STS0 で設定されたものとなります。
このモードを使用することにより変換開始の同期をかけることが可能です。
616
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
第 24 章
フラッシュメモリサポート
フラッシュメモリのシリアルプログラミングのサ
ポートについて説明します。
24.1 フラッシュメモリのシリアルプログラミング
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
617
第 24 章 フラッシュメモリサポート
24.1 フラッシュメモリのシリアルプログラミング
24.1
MB91461
フラッシュメモリのシリアルプログラミング
MB91461 は , 外部バスに接続されたフラッシュメモリに対してのシリアルプログラ
ミングをサポートしています。
■ フラッシュメモリシリアルプログラミング
オンボードでの FLASH シリアルプログラミングのサポート機能があります。これはシ
リアルダウンロード機能とよばれるものです。この機能ではデータを内部の RAM に
ダウンロードして , ダウンロードされたアドレスにジャンプし , プログラムを実行する
ことができます。この機能を使用するためには, いくつかのポート設定とモード端末の
設定が必要です。
表 24.1-1 シリアルダウロードを使うための設定
P15_2
P15_3
0
0
非同期シリアルダウンロード
0
1
同期シリアルダウンロード
シリアル通信機能
P15 と モード端子の設定 (MD3 ∼ MD0=0100B) をしてリセット (INITX) を解除すると , シ
リアルダウンロード機能が使えるようになります。シリアルダウンロードでは LINUART ch.0(SIN0, SOT0, SCK0) が使用されます。通信条件は以下のようになります。
表 24.1-2 シリアルダウンロードでの通信条件
通信モード
クロック
パリティ
ストップビット
データ長
転送方向
Asynchronous
内部
なし
1
8 bit
LSB から
Synchronous
外部
なし
なし
8 bit
LSB から
ボーレートジェネレータは以下のように設定されます。
表 24.1-3 ボーレート設定
水晶
618
BGR0
ボーレート
誤差
10MHz
BGR0 = 103H
4808bps
0.16%(4800 に対して )
20MHz
BGR0 = 103H
9615bps
0.16%(9600 に対して )
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
付録
各 CPU ステートにおける端子状態 , リトル・エン
ディアン領域を利用する際の注意事項 , FR ファミ
リの命令一覧 , および MB91461 を使用する際の注
意事項について説明します。
付録 A 命令一覧
付録 B I/O マップ
付録 C 割込みベクタ
付録 D DMA 転送要求要因
付録 E シリアル書込み時の端子状態
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
619
付録
MB91461
付録 A
命令一覧
MB91460 スーパーシリーズ CPU の命令一覧を示します。
A.1 記号の意味
A.2 命令一覧表
A.3 命令マップ
A.4 命令フォーマット TYPE-E の命令マップ
管理番号 : CM71-00504-1
620
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
付録 A 命令一覧
MB91461
A.1 記号の意味
命令一覧表に用いている記号の意味を説明します。
A.1.1
ニーモニック欄および動作欄
命令一覧表のニーモニック欄および動作欄に使用されている記号です。
i4
4 ビット即値です。ゼロ拡張の場合は 0(0H) ∼ 15(FH), マイナス拡張の場合は
-16(0H) ∼ -1(FH) の指定ができます。
付表 A.1-1 4 ビット即値 (i4) のゼロ拡張とマイナス拡張の値
ビットパターン
指定される値
ゼロ拡張
マイナス拡張
0000B
0
-16
0001B
1
-15
0010B
2
-14
・・・
1101B
13
-3
1110B
14
-2
1111B
15
-1
i8
8 ビット即値です。0 (00H) ∼ 255 (FFH) の指定ができます。
i20
20 ビット即値です。0 (00000H) ∼ 1,048,575 (FFFFFH) の指定ができます。
i32
32 ビット即値です。0 (0000 0000H) ∼ 4,294,967,295 (FFFF FFFFH) の指定ができます。
s8
符号付き 8 ビット即値です。-128 (80H) ∼ 127 (7FH) の指定ができます。
s10
符号付き10ビット即値です。4の倍数で-512 (200H)∼508 (1FCH)の指定ができます。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
621
付録
MB91461
u4
符号なし 4 ビット即値です。0 (0H) ∼ 15 (FH) の指定ができます。
u8
符号なし 8 ビット即値です。0 (00H) ∼ 255 (FFH) の指定ができます。
u10
符号なし 10 ビット即値です。4 の倍数で 0 (000H) ∼ 1020 (3FCH) の指定ができます。
udisp6
符号なし 6 ビットアドレス値です。
4 の倍数で 0 (00H) ∼ 60 (3CH) の指定ができます。
disp8
符号付き 8 ビットアドレス値です。-128(80H) ∼ 127(7FH) の指定ができます。
disp9
符号付き 9 ビットアドレス値です。2 の倍数で -256(100H) ∼ 254(0FEH) の指定がで
きます。
disp10
符号付き 10 ビットアドレス値です。4 の倍数で -512(200H) ∼ 508(1FCH) の指定がで
きます。
dir8
符号なし 8 ビットアドレス値です。0 (00H) ∼ 255 (FFH) の指定ができます。
dir9
符号なし 9 ビットアドレス値です。2 の倍数で 0 (000H) ∼ 510 (1FEH) の指定ができ
ます。
dir10
符号なし 10 ビットアドレス値です。4 の倍数で 0 (000H) ∼ 1020 (3FCH) の指定がで
きます。
label9
分岐アドレスです。
プログラムカウンタ (PC)+2 の値に対して , 2 の倍数で -256 (100H)
∼ 254 (0FEH) の範囲の指定ができます。
label12
分岐アドレスです。プログラムカウンタ (PC)+2 の値に対して , 2 の倍数で -2048
(800H) ∼ 2046 (7FEH) の範囲の指定ができます。
622
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
付録 A 命令一覧
MB91461
rel8
符号付き 8 ビット相対アドレス値です。プログラムカウンタ (PC)+2 の値に対して ,
rel8 を 2 倍した値を加算した結果が分岐先アドレスを示します。-128 (80H) ∼ 127
(7FH) の指定ができます。
rel11
符号付き 11 ビット相対アドレス値です。プログラムカウンタ (PC)+2 の値に対して ,
rel11 を 2 倍した値を加算した結果が分岐先アドレスを示します。-1024 (400H) ∼
1023 (3FFH) の指定ができます。
Ri, Rj
汎用レジスタ (R0 ∼ R15) を示します。
付表 A.1-2 Rj/Ri による汎用レジスタの指定
Ri / Rj
レジスタ
Ri / Rj
レジスタ
0000
R0
1000
R8
0001
R1
1001
R9
0010
R2
1010
R10
0011
R3
1011
R11
0100
R4
1100
R12
0101
R5
1101
R13
0110
R6
1110
R14
0111
R7
1111
R15
Rs
専用レジスタ (TBR, RP, USP, SSP, MDH, MDL) を示します。
付表 A.1-3 Rs による専用レジスタの指定
Rs
Rs
0000
テーブルベースレジスタ (TBR)
1000
0001
リターンポインタ (RP)
1001
0010
システムスタックポインタ (SSP)
1010
0011
ユーザスタックポインタ (USP)
1011
0100
乗除算レジスタ (MDH)
1100
0101
乗除算レジスタ (MDL)
1101
0110
0111
CM71-10159-2
レジスタ
Reserved ( 使用禁止 )
レジスタ
Reserved ( 使用禁止 )
1110
1111
FUJITSU MICROELECTRONICS LIMITED
623
付録
MB91461
(reglist)
8 ビットのレジスタリストを示します。各ビットに対応するレジスタが指定されま
す。
付表 A.1-4 LDM0, LDM1 命令の reglist のビットと汎用レジスタの対応
LDM0 命令
LDM1 命令
reglist
レジスタ
reglist
レジスタ
bit0
R0
bit0
R8
bit1
R1
bit1
R9
bit2
R2
bit2
R10
bit3
R3
bit3
R11
bit4
R4
bit4
R12
bit5
R5
bit5
R13
bit6
R6
bit6
R14
bit7
R7
bit7
R15
付表 A.1-5 STM0, STM1 命令の reglist のビットと汎用レジスタの対応
STM0 命令
A.1.2
STM1 命令
reglist
レジスタ
reglist
レジスタ
bit0
R7
bit0
R15
bit1
R6
bit1
R14
bit2
R5
bit2
R13
bit3
R4
bit3
R12
bit4
R3
bit4
R11
bit5
R2
bit5
R10
bit6
R1
bit6
R9
bit7
R0
bit7
R8
動作欄
命令一覧表の動作欄と , 命令細則のオペレーションに使用されている記号です。
extu( )
ゼロ拡張操作を示します。上位ビットの欠けている部分に "0" ビットを補います。
extn( )
マイナス拡張操作を示します。上位ビットの欠けている部分に "1" ビットを補いま
す。
exts( )
符号拡張操作を示します。( ) 内のデータの MSB が "0" ならばゼロ拡張操作をし ,
MSB が "1" ならばマイナス拡張操作をします。
624
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
付録 A 命令一覧
MB91461
&
ビット毎の論理積 (AND) を示します。
|
ビット毎の論理和 (OR) を示します。
^
ビット毎の排他的論理和 (EXOR) を示します。
()
間接アドレス指定を示します。( ) 内のレジスタまたは式の示すアドレスのメモリ読
出し・書込み値です。
{}
演算の優先順位を明示するための括弧です。( ) を間接アドレス指定に使用している
ため , { } を使用します。
if ( 条件 ) then { 式 } または if ( 条件 ) then { 式 1} else { 式 2}
条件実行を示します。条件が成立したときに then の次の式を , 成立しなかったとき
に else の次の式を実行します。式は { } で囲み複数記述できます。
[m:n]
ビット m からビット n までを取り出して , 操作対象とします。
A.1.3
型欄
命令一覧表の型欄に使用されている記号です。
A∼H
命令フォーマットを示します。A ∼ H は TYPE-A ∼ TYPE-H に対応します。
A.1.4
OP 欄
命令一覧表の型欄に使用されている 16 進数です。オペコード (OP, SUB-OP) を示しま
す。命令フォーマットにより , 次のように分かれます。
TYPE-A, TYPE-C, TYPE-D, TYPE-G
OP の 8 ビットを 16 進数 2 桁で示します。
TYPE-B
OP の 4 ビットの下位に , 4 ビットの 0000B を付加した 8 ビットを , 16 進数 2 桁で示
します。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
625
付録
MB91461
TYPE-E, TYPE-E’, TYPE-H
OP の上位 8 ビットを上位 2 桁 , SUB-OP の 4 ビットを次の 1 桁 , 残りを "0" とした
16 進数 4 桁で示します。
TYPE-F
OPの5ビットの下位に, 3ビットの000Bを付加した8ビットを, 16進数2桁で示します。
A.1.5
CYC 欄
命令一覧表の CYC 欄と , 命令細則の実行サイクル数に使用されている記号です。数値
は CPU クロックのサイクル数です。
a
メモリアクセスサイクルです。アクセス対象によりサイクル数が変化します。最小
値は 1 サイクルです。
b
メモリアクセスサイクルです。アクセス対象によりサイクル数が変化します。最小
値は 1 サイクルです。
ロード動作の対象となるレジスタを直後の命令が参照する場合にはインターロッ
クがかかり、実行サイクル数が +1 増加します。
c
直後の命令が、R15、SSP または USP を読み書きするする命令のときにインター
ロックがかかります。また、直後の命令が命令フォーマット A のときも、インター
ロックがかかります。インターロックがかかると、実行サイクル数は +1 増加して
2 となります。最小値は 1 サイクルです。
d
直後の命令が MDH/MDL を参照する場合にインターロックがかかります。インター
ロックがかかると、実行サイクル数は +1 増加して 2 サイクルとなります。最小値
は 1 サイクルです。
DIV1 命令の直後に、特殊レジスタ (TBR, RP, USP, SSP, MDH, MDL) を "ST
Rs,@R15-" 命令でアクセスすると、常にインターロックが掛かって、実行サイクル
数は増加して 2 となります。
626
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
付録 A 命令一覧
MB91461
A.1.6
FLAG 欄
命令一覧表の FLAG 欄と , 命令細則のフラグ変化に使用されている記号です。コンディ
ションコードレジスタ (CCR) のネガティブフラグ (N), ゼロフラグ (Z), オーバフローフ
ラグ (V), キャリフラグ (C) の変化を示します。
C
操作の結果で変化します。
−
変化しません。
0
"0" になります。
1
"1" になります。
A.1.7
RMW 欄
命令一覧表の RMW 欄に使用されている記号です。リードモディファイライト系命令
かどうかを示しています。
−
命令はリードモディファイライト系命令ではありません。
○
命令はリードモディファイライト系命令です。
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
627
付録
MB91461
A.2
命令一覧表
MB91460 スーパーシリーズ CPU の命令一覧を示します。
MB91460 スーパーシリーズ CPU の命令数は全部で 165 あります。以下の 16 種類に分
類しています。
• 加減算命令 (10 命令 )
• 比較演算命令 (3 命令 )
• 論理演算命令 (12 命令 )
• ビット操作演算命令 (8 命令 )
• 乗除算命令 (10 命令 )
• シフト演算命令 (9 命令 )
• 即値データ転送命令 (3 命令 )
• メモリロード命令 (13 命令 )
• メモリストア命令 (13 命令 )
• レジスタ間転送命令 / 専用レジスタ転送命令 (5 命令 )
• 遅延なし分岐命令 (23 命令 )
• 遅延分岐命令 (20 命令 )
• ダイレクトアドレス指定命令 (14 命令 )
• その他の命令 (16 命令 )
• リソース命令(2 命令)
• コプロセッサ制御命令(4 命令)
付表 A.2-1 加減算命令 (10 命令 )
型
OP
CYC
FLAG
NZVC
RMW
ADD Rj, Ri
A
A6
1
CCCC
−
Ri+Rj → Ri
ADD #i4, Ri
C
A4
1
CCCC
−
Ri+extu(i4) → Ri
i4 はゼロ拡張
ADD2 #i4, Ri
C
A5
1
CCCC
−
Ri+extn(i4) → Ri
i4 はマイナス拡張
ADDC Rj, Ri
A
A7
1
CCCC
−
Ri+Rj+C → Ri
キャリー付き加算
ADDN Rj, Ri
A
A2
1
----
−
Ri+Rj → Ri
ADDN #i4, Ri
C
A0
1
----
−
Ri+extu(i4) → Ri
i4 はゼロ拡張
ADDN2 #i4, Ri
C
A1
1
----
−
Ri+extn(i4) → Ri
i4 はマイナス拡張
SUB Rj, Ri
A
AC
1
CCCC
−
Ri-Rj → Ri
SUBC Rj, Ri
A
AD
1
CCCC
−
Ri-Rj-C → Ri
SUBN Rj, Ri
A
AE
1
----
−
Ri-Rj → Ri
ニーモニック
628
動作
FUJITSU MICROELECTRONICS LIMITED
備考
キャリー付き加算
CM71-10159-2
付録 A 命令一覧
MB91461
付表 A.2-2 比較演算命令 (3 命令 )
型
OP
CYC
FLAG
NZVC
RMW
CMP Rj, Ri
CMP #i4, Ri
A
C
AA
A8
1
1
CCCC
CCCC
−
−
Ri-Rj
Ri-extu(i4)
i4 はゼロ拡張
CMP2 #i4, Ri
C
A9
1
CCCC
−
Ri-extn(i4)
i4 はマイナス拡張
ニーモニック
動作
備考
付表 A.2-3 論理演算命令 (12 命令 )
ニーモニック
OP
型
CYC
FLAG
NZVC
RMW
動作
備考
AND Rj, Ri
A
82
1
CC--
−
Ri & Rj → Ri
ワード
AND Rj, @Ri
A
84
1+2a
CC--
○
(Ri) & Rj → (Ri)
ワード
ANDH Rj, @Ri
A
85
1+2a
CC--
○
(Ri) & Rj → (Ri)
ハーフワード
ANDB Rj, @Ri
A
86
1+2a
CC--
○
(Ri) & Rj → (Ri)
バイト
OR Rj, Ri
A
92
1
CC--
−
Ri | Rj → Ri
ワード
OR Rj, @Ri
A
94
1+2a
CC--
○
(Ri) | Rj → (Ri)
ワード
ORH Rj, @Ri
A
95
1+2a
CC--
○
(Ri) | Rj → (Ri)
ハーフワード
ORB Rj, @Ri
A
96
1+2a
CC--
○
(Ri) | Rj → (Ri)
バイト
EOR Rj, Ri
A
9A
1
CC--
−
Ri ^ Rj → Ri
ワード
EOR Rj, @Ri
A
9C
1+2a
CC--
○
(Ri) ^ Rj → (Ri)
ワード
EORH Rj, @Ri
A
9D
1+2a
CC--
○
(Ri) ^ Rj → (Ri)
ハーフワード
EORB Rj, @Ri
A
9E
1+2a
CC--
○
(Ri) ^ Rj → (Ri)
バイト
付表 A.2-4 ビット操作演算命令 (8 命令 )
型
OP
CYC
FLAG
NZVC
RMW
BANDL #u4, @Ri
C
80
1+2a
----
○
(Ri) & {F0H+u4} → (Ri)
下位 4 ビット
○
(Ri) & {u4<<4+0FH} → (Ri)
上位 4 ビット
ニーモニック
動作
備考
BANDH #u4, @Ri
C
81
1+2a
----
BORL #u4, @Ri
C
90
1+2a
----
○
(Ri) | u4 → (Ri)
下位 4 ビット
BORH #u4, @Ri
C
91
1+2a
----
○
(Ri) | {u4<<4} → (Ri)
上位 4 ビット
BEORL #u4, @Ri
C
98
1+2a
----
○
(Ri) ^ u4 → (Ri)
下位 4 ビット
BEORH #u4, @Ri
C
99
1+2a
----
○
上位 4 ビット
BTSTL #u4, @Ri
C
88
2+a
0C--
−
(Ri) ^ {u4<<4} → (Ri)
(Ri) & u4
BTSTH #u4, @Ri
C
89
2+a
CC--
−
(Ri) & {u4<<4}
上位 4 ビット
下位 4 ビット
付表 A.2-5 乗除算命令 (10 命令 )
型
OP
CYC
FLAG
NZVC
RMW
動作
MUL Rj, Ri
A
AF
5
CCC-
−
Ri × Rj → MDH,MDL
MULU Rj, Ri
A
AB
5
CCC-
−
Ri × Rj → MDH,MDL
MULH Rj, Ri
A
BF
3
CC--
−
Ri × Rj → MDL
MULUH Rj, Ri
DIV0S Ri
DIV0U Ri
DIV1 Ri
DIV2 Ri
DIV3
DIV4S
A
E
E
E
E
E’
E’
BB
97-4
97-5
97-6
97-7
9F-6
9F-7
3
1
1
d
1
1
1
CC--------C-C
-C-C
-------
−
−
−
−
−
−
−
Ri × Rj → MDL
符号なし
所定の命令シーケンス
にて
MDL ÷ Ri → MDL
MDL%Ri → MDH
ステップ演算
32 ÷ 32 ビット =
32 ビット
ニーモニック
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
備考
32 × 32 ビット =
64 ビット
符号なし
16 × 16 ビット =
32 ビット
629
付録
MB91461
付表 A.2-6 シフト演算命令 (9 命令 )
型
OP
CYC
FLAG
NZVC
RMW
LSL Rj, Ri
A
B6
1
CC-C
−
Ri << Rj → Ri
LSL #u4, Ri
C
B4
1
CC-C
−
Ri << u4 → Ri
LSL2 #u4, Ri
C
B5
1
CC-C
−
Ri << {u4+16} → Ri
LSR Rj, Ri
A
B2
1
CC-C
−
Ri >> Rj → Ri
LSR #u4, Ri
C
B0
1
CC-C
−
Ri >> u4 → Ri
ニーモニック
動作
LSR2 #u4, Ri
C
B1
1
CC-C
−
Ri >> {u4+16} → Ri
ASR Rj, Ri
A
BA
1
CC-C
−
Ri >> Rj → Ri
ASR #u4, Ri
C
B8
1
CC-C
−
Ri >> u4 → Ri
ASR2 #u4, Ri
C
B9
1
CC-C
−
Ri >> {u4+16} → Ri
備考
論理シフト
論理シフト
算術シフト
付表 A.2-7 即値データ転送命令 (3 命令 )
FLAG
NZVC
RMW
3
----
−
i32 → Ri
2
----
−
extu(i20) → Ri
上位 12 ビットはゼロ拡張
----
−
extu(i8) → Ri
上位 24 ビットはゼロ拡張
ニーモニック
型
OP
CYC
LDI:32 #i32, Ri
H
9F-8
LDI:20 #i20, Ri
G
9B
LDI:8 #i8, Ri
B
C0
1
動作
備考
付表 A.2-8 メモリロード命令 (13 命令 )
ニーモニック
型
LD @Rj, Ri
A
OP
04
CYC
b
FLAG
NZVC
RMW
----
−
(Rj) → Ri
動作
LD @(R13, Rj), Ri
A
00
b
----
−
(R13+Rj) → Ri
LD @(R14, disp10), Ri
B
20
b
----
−
(R14+o8 × 4) → Ri
LD @(R15, udisp6), Ri
C
03
b
----
−
(R15+u4 × 4) → Ri
LD @R15+, Ri
E
07-0
b
----
−
(R15) → Ri,
R15+4 → R15
LD @R15+, Rs
E
07-8
b
----
−
(R15) → Rs,
R15+4 → R15
LD @R15+, PS
E
07-9
1+a+c
CCCC
−
(R15) → PS,
R15+4 → R15
LDUH @Rj, Ri
A
05
b
----
−
extu((Rj)) → Ri
LDUH @(R13, Rj), Ri
A
01
b
----
−
extu((R13+Rj)) → Ri
LDUH @(R14, disp9), Ri
B
40
b
----
−
extu((R14+o8 × 2)) → Rj
LDUB @Rj, Ri
A
06
b
----
−
extu((Rj)) → Ri
LDUB @(R13, Rj), Ri
A
02
b
----
−
extu((R13+Rj)) → Ri
LDUB @(R14, disp8), Ri
B
60
b
----
−
extu((R14+o8)) → Ri
備考
ワード
ハーフ
ワード
ゼロ拡張
バイト
ゼロ拡張
• 命令フォーマット TYPE-B の o8 および TYPE-C の u4 フィールドと , アセンブラ記
述の disp8 ∼ disp10, udisp6 の関係は次のようになっています。
o8 = disp8
o8 = disp9 >> 1
o8 = disp10 >> 2
u4 = udisp6 >> 2
630
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
付録 A 命令一覧
MB91461
付表 A.2-9 メモリストア命令 (13 命令 )
型
OP
CYC
FLAG
NZVC
RMW
ST Ri, @Rj
A
14
a
----
−
Ri → (Rj)
ST Ri, @(R13, Rj)
A
10
a
----
−
Ri → (R13+Rj)
ST Ri, @(R14, disp10)
B
30
a
----
−
Ri → (R14+o8 × 4)
ST Ri, @(R15, udisp6)
C
13
a
----
−
Ri → (R15+u4 × 4)
ST Ri, @-R15
E
17-0
a
----
−
R15-4 → R15,
Ri → (R15)
ST Rs, @-R15
E
17-8
a
----
−
R15-4 → R15,
Rs → (R15)
ST PS, @-R15
E
17-9
a
----
−
R15-4 → R15,
PS → (R15)
STH Ri, @Rj
A
15
a
----
−
Ri → (Rj)
STH Ri, @(R13, Rj)
A
11
a
----
−
Ri → (R13+Rj)
STH Ri, @(R14, disp9)
B
50
a
----
−
Ri → (R14+o8 × 2)
STB Ri, @Rj
A
16
a
----
−
Ri → (Rj)
STB Ri, @(R13, Rj)
A
12
a
----
−
Ri → (R13+Rj)
STB Ri, @(R14, disp8)
B
70
a
----
−
Ri → (R14+o8)
ニーモニック
動作
備考
ワード
ハーフワード
バイト
• 命令フォーマット TYPE-B の o8 および TYPE-C の u4 フィールドと , アセンブラ記
述 disp8 ∼ disp10, udisp6 の関係は次のようになっています。
o8 = disp8
o8 = disp9 >> 1
o8 = disp10 >> 2
u4 = udisp6 >> 2
付表 A.2-10 レジスタ間転送命令 / 専用レジスタ転送命令 (5 命令 )
ニーモニック
型
OP
CYC
FLAG
NZVC
RMW
MOV Rj, Ri
A
8B
1
----
−
Rj → Ri
汎用レジスタ間転送
MOV Rs, Ri
A
B7
1
----
−
Rs → Ri
Rs: 専用レジスタ
MOV Ri, Rs
A
B3
1
----
−
Ri → Rs
Rs: 専用レジスタ
MOV PS, Ri
E
17-1
1
----
−
PS → Ri
PS: プログラムステータス
MOV Ri, PS
E
07-1
c
CCCC
−
Ri → PS
PS: プログラムステータス
CM71-10159-2
動作
備考
FUJITSU MICROELECTRONICS LIMITED
631
付録
MB91461
付表 A.2-11 遅延なし分岐命令 (23 命令 )
型
OP
CYC
FLAG
NZVC
RMW
JMP @Ri
E
97-0
2
----
−
CALL label12
F
D0
2
----
−
CALL @Ri
RET
E
E’
97-1
97-2
2
2
-------
−
−
INT #u8
D
1F
3+3a
----
−
INTE
E’
9F-3
3+3a
----
−
RETI
E’
97-3
2+2a
----
−
BNO label9
BRA label9
D
D
E1
E0
1
2
-------
−
−
BEQ label9
D
E2
2/1
----
−
BNE label9
D
E3
2/1
----
−
BC label9
D
E4
2/1
----
−
BNC label9
D
E5
2/1
----
−
BN label9
D
E6
2/1
----
−
BP label9
D
E7
2/1
----
−
BV label9
D
E8
2/1
----
−
BNV label9
D
E9
2/1
----
−
BLT label9
D
EA
2/1
----
−
BGE label9
D
EB
2/1
----
−
BLE label9
D
EC
2/1
----
−
BGT label9
D
ED
2/1
----
−
BLS label9
D
EE
2/1
----
−
BHI label9
D
EF
2/1
----
−
ニーモニック
動作
備考
Ri → PC
PC+2 → RP,
PC+2+exts(rel11 × 2) → PC
PC+2 → RP, Ri → PC
RP → PC
SSP-4 → SSP, PS → (SSP),
SSP-4 → SSP, PC+2 → (SSP),
0 → CCR:I, 0 → CCR:S,
(TBR+3FC-u8 × 4) → PC
SSP-4 → SSP, PS → (SSP),
SSP-4 → SSP, PC+2 → (SSP),
0 → CCR:S, 4 → ILM,
(TBR+3D8) → PC
(SSP) → PC, SSP+4 → SSP,
(SSP) → PS, SSP+4 → SSP
非分岐
PC+2+exts(rel8 × 2) → PC
if (Z==1) then
PC+2+exts(rel8 × 2) → PC
if (Z==0) then
PC+2+exts(rel8 × 2) → PC
if (C==1) then
PC+2+exts(rel8 × 2) → PC
if (C==0) then
PC+2+exts(rel8 × 2) → PC
if (N==1) then
PC+2+exts(rel8 × 2) → PC
if (N==0) then
PC+2+exts(rel8 × 2) → PC
if (V==1) then
PC+2+exts(rel8 × 2) → PC
if (V==0) then
PC+2+exts(rel8 × 2) → PC
if (V ^ N==1) then
PC+2+exts(rel8 × 2) → PC
if (V ^ N==0) then
PC+2+exts(rel8 × 2) → PC
if ({V ^ N} | Z==1) then
PC+2+exts(rel8 × 2) → PC
if ({V ^ N} | Z==0) then
PC+2+exts(rel8 × 2) → PC
if (C or Z==1) then
PC+2+exts(rel8 × 2) → PC
if (C or Z==0) then
PC+2+exts(rel8 × 2) → PC
• CYC 欄の "2/1" は , 分岐するときは 2, 分岐しないときは 1 を示します。
• RETI を実行するときはスタックフラグ (S) が "0" である必要があります。
• 命令フォーマット TYPE-D の rel8 および TYPE-F の rel11 フィールドと , アセンブラ
記述の label9, label12 の関係は次のようになっています。
rel8 = (label9-PC-2)/2
rel11 = (label12-PC-2)/2
632
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
付録 A 命令一覧
MB91461
付表 A.2-12 遅延分岐命令 (20 命令 )
型
OP
CYC
FLAG
NZVC
RMW
JMP:D @Ri
E
9F-0
1
----
−
Ri → PC
CALL:D label12
F
D8
1
----
−
PC+4 → RP,
PC+2+exts(rel11 × 2) → PC
CALL:D @Ri
E
9F-1
1
----
−
PC+4 → RP, Ri → PC
RET:D
E’
9F-2
1
----
−
RP → PC
BNO:D label9
D
F1
1
----
−
非分岐
BRA:D label9
D
F0
1
----
−
PC+2+exts(rel8 × 2) → PC
BEQ:D label9
D
F2
1
----
−
if (Z==1) then
PC+2+exts(rel8 × 2) → PC
BNE:D label9
D
F3
1
----
−
if (Z==0) then
PC+2+exts(rel8 × 2) → PC
BC:D label9
D
F4
1
----
−
if (C==1) then
PC+2+exts(rel8 × 2) → PC
BNC:D label9
D
F5
1
----
−
if (C==0) then
PC+2+exts(rel8 × 2) → PC
BN:D label9
D
F6
1
----
−
if (N==1) then
PC+2+exts(rel8 × 2) → PC
BP:D label9
D
F7
1
----
−
if (N==0) then
PC+2+exts(rel8 × 2) → PC
BV:D label9
D
F8
1
----
−
if (V==1) then
PC+2+exts(rel8 × 2) → PC
BNV:D label9
D
F9
1
----
−
if (V==0) then
PC+2+exts(rel8 × 2) → PC
BLT:D label9
D
FA
1
----
−
if (V ^ N==1) then
PC+2+exts(rel8 × 2) → PC
BGE:D label9
D
FB
1
----
−
if (V ^ N==0) then
PC+2+exts(rel8 × 2) → PC
BLE:D label9
D
FC
1
----
−
if ({V ^ N} | Z==1) then
PC+2+exts(rel8 × 2) → PC
BGT:D label9
D
FD
1
----
−
if ({V ^ N} | Z==0) then
PC+2+exts(rel8 × 2) → PC
BLS:D label9
D
FE
1
----
−
if (C or Z==1) then
PC+2+exts(rel8 × 2) → PC
BHI:D label9
D
FF
1
----
−
if (C or Z==0) then
PC+2+exts(rel8 × 2) → PC
ニーモニック
動作
備考
• 遅延分岐命令は必ず次の命令 ( 遅延スロット ) を実行してから分岐します。
• 命令フォーマット TYPE-D の rel8 および TYPE-F の rel11 フィールドと , アセンブラ
記述の label9, label12 の関係は次のようになっています。
rel8 = (label9-PC-2)/2
rel11 = (label12-PC-2)/2
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
633
付録
MB91461
付表 A.2-13 ダイレクトアドレス指定命令 (14 命令 )
ニーモニック
型
OP
CYC
FLAG
NZVC
RMW
DMOV @dir10, R13
D
08
b
----
−
(dir8 × 4) → R13
DMOV R13, @dir10
D
18
a
----
−
R13 → (dir8 × 4)
DMOV @dir10, @R13+
D
0C
2a
----
−
(dir8 × 4) → (R13),
R13+4 → (R13)
DMOV @R13+, @dir10
D
1C
2a
----
−
(R13) → (dir8 × 4),
R13+4 → (R13)
DMOV @dir10, @-R15
D
0B
2a
----
−
R15-4 → (R15),
(dir8 × 4) → (R15)
DMOV @R15+, @dir10
D
1B
2a
----
−
(R15) → (dir8 × 4),
R15+4 → (R15)
DMOVH @dir9, R13
D
09
b
----
−
(dir8 × 2) → R13
DMOVH R13, @dir9
D
19
a
----
−
R13 → (dir8 × 2)
DMOVH @dir9, @R13+
D
0D
2a
----
−
(dir8 × 2) → (R13),
R13+2 → (R13)
DMOVH @R13+, @dir9
D
1D
2a
----
−
(R13) → (dir8 × 2),
R13+2 → (R13)
DMOVB @dir8, R13
D
0A
b
----
−
(dir8) → R13
DMOVB R13, @dir8
D
1A
a
----
−
R13 → (dir8)
DMOVB @dir8, @R13+
D
0E
2a
----
−
(dir8) → (R13),
R13+2 → (R13)
DMOVB @R13+, @dir8
D
1E
2a
----
−
(R13) → (dir8),
R13+2 → (R13)
動作
備考
ワード
ハーフワード
バイト
• 命令フォーマット TYPE-D の dir8 フィールドとアセンブラ記述の dir8, dir9, dir10 の
関係は次のようになっています。
dir8 = dir8
dir8 = dir9 >> 1
dir8 = dir10 >> 2
634
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
付録 A 命令一覧
MB91461
付表 A.2-14 その他の命令 (16 命令 )
FLAG
NZVC
RMW
1
----
−
何も変化しない
c
CCCC
−
CCR & u8 → CCR
93
c
CCCC
−
CCR | u8 → CCR
D
87
1
----
−
u8 → ILM
ADDSP #s10
D
A3
1
----
−
R15+s8 × 4 → R15
EXTSB Ri
E
97-8
1
----
−
exts(Ri[7:0]) → Ri
符号拡張 8 → 32
EXTUB Ri
E
97-9
1
----
−
extu(Ri[7:0]) → Ri
ゼロ拡張 8 → 32
EXTSH Ri
E
97-A
1
----
−
exts(Ri[15:0]) → Ri
符号拡張 16 → 32
EXTUH Ri
E
97-B
1
----
−
extu(Ri[15:0]) → Ri
ゼロ拡張 16 → 32
LDM0 (reglist)
D
8C
*1
----
−
(R15) → reglist,
R15+4 → R15
ロードマルチ
R0 ∼ R7
LDM1 (reglist)
D
8D
*1
----
−
(R15) → reglist,
R15+4 → R15
ロードマルチ
R8 ∼ R15
STM0 (reglist)
D
8E
*2
----
−
R15-4 → R15,
reglist → (R15)
ストアマルチ
R0 ∼ R7
STM1 (reglist)
D
8F
*2
----
−
R15-4 → R15,
reglist → (R15)
ストアマルチ
R8 ∼ R15
ENTER #u10
D
0F
1+a
----
−
R14 → (R15-4) ,
R15-4 → R14,
R15-extu(u8 × 4) → R15
関数の入口処理
LEAVE
E’
9F-9
b
----
−
R14+4 → R15,
(R15-4) → R14
関数の出口処理
XCHB @Rj, Ri
A
8A
2a
----
○
Ri → TEMP,
extu((Rj)) → Ri,
TEMP → (Rj)
セマフォ管理用
バイトデータ
型
OP
CYC
NOP
E’
9F-A
ANDCCR #u8
D
83
ORCCR #u8
D
STILM #u8
ニーモニック
動作
備考
ILM 即値セット
*1 : LDM0(reglist), LDM1(reglist) の実行サイクル数は , 指定されたレジスタ数が n のとき
a × (n - 1) + 1 サイクルとなります。
*2 : STM0(reglist), STM1(reglist) の実行サイクル数は , 指定されたレジスタ数が n のとき
a × n + 1 サイクルとなります。
• ADDSP 命令において , 命令フォーマット TYPE-D の s8 フィールドとアセンブラ記
述の s10 の関係は次のようになっています。
s8 = s10 >> 2
• ENTER 命令において , 命令フォーマット中の TYPE-D の u8 フィールドとアセンブ
ラ記述の u10 の関係は次のようになっています。
u8 = u10 >> 2
CM71-10159-2
FUJITSU MICROELECTRONICS LIMITED
635
付録
MB91461
付表 A.2-15 リソース命令
ニーモニック
型
OP
CYC
FLAG
NZVC
動作
備考
LDRES
@Ri+, #u4
C
BC
a
----
(Ri) → u4 のリソース
Ri+=4
u4: チャネル番号
STRES
#u4, @Ri+
C
BD
a
----
u4 のリソース→ (Ri)
Ri+=4
u4: チャネル番号
<注意事項>
本シリーズでは , リソース命令の対象となる , チャネル番号を持つリソースを搭載してい
ないため使用できません。
付表 A.2-16 コプロセッサ制御命令
型
OP
CYC
FLAG
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
ニーモニック
動作
備考
エラートラップなし
<注意事項>
- 本シリーズでは , コプロセッサを搭載していないため使用できません。
636
FUJITSU MICROELECTRONICS LIMITED
CM71-10159-2
CM71-10159-2
ANDH Rj,
@Ri
ANDB Rj,
@Ri
STH Ri,
@Rj
LDUH @
Rj, Ri
LDUB @Rj, STB Ri,
Ri
@Rj
5
6
FUJITSU MICROELECTRONICS LIMITED
MOV Rj, Ri
LDM0
(reglist)
LDM1
(reglist)
STM0
(reglist)
STM1
(reglist)
DMOVB
R13, @d8
DMOVH
@d9, R13
DMOVB
@d8, R13
DMOV @d10, DMOV
@-R15
@R15+, @d10
DMOV @d10, DMOV
@R13+
@R13+, @d10
DMOVH
DMOVH
@d9, @R13+ @R13+, @d9
DMOVB
DMOVB
@d8, @R13+ @R13+, @d8
ENTER
#u10
9
A
B
LSL2 #u4,
Ri
MOV Ri, Rs
LSR Rj, Ri
ADD Rj, Ri LSL Rj, Ri
ADD2 #i4,
Ri
C
D
E
F
E format
EORB Rj,
@Ri
EORH Rj,
@Ri
EOR Rj,
@Ri
ASR2 #u4,
Ri
MUL Rj, Ri
SUBN Rj, Ri
SUBC Rj, Ri
SUB Rj, Ri
MULH Rj,
Ri
STRES
#u4,@Ri+
LDRES
@Ri+,#u4
MULUH Rj,
Ri
CMP Rj, Ri ASR Rj, Ri
CMP2 #i4,
Ri
LD:20 #i20, MULU Rj,
Ri
Ri
XCHB @Rj,
EOR Rj, Ri
Ri
BTSTH #u4, BEORH
@Ri
#u4, @Ri
DMOVH
R13, @d9
DMOV
@d10, R13
8
INT #u8
ORB Rj,
@Ri
ORH Rj,
@Ri
ADDSP
#s10
ADDN Rj,
Ri
C
ADDC Rj,
STILM #u8 E format
MOV Rs, Ri
LDUB
Ri
STB
@(R14,disp
LDI:8 #i8,
Ri,
8),
Ri
@(R14,disp8) BTSTL #u4, BEORL #u4,
Ri
CMP #i4, Ri ASR #u4, Ri
@Ri
@Ri
LD
@(R14,disp
10),
DMOV R13, Ri
@d10
E format
7
ST
LDUH
STH
@(R14,disp9),
Ri,
Ri,
@(R14,disp Ri
@(R14,disp9)
10)
OR Rj, @Ri ADD #i4, Ri LSL #u4, Ri
AND Rj,
@Ri
LD @Rj, Ri ST Ri, @Rj
4
E format
ORCCR #u8
ANDCCR
#u8
LD @ (R15, ST Ri,
udisp6), Ri @(R15, ud6)
LSR #u4, Ri
B
3
ADDN #i4,
Ri
A
BORH #u4, ADDN2 #i4, LSR2 #u4,
@Ri
Ri
Ri
BORL #u4,
@Ri
9
AND Rj, Ri OR Rj, Ri
8
LDUB @
STB Ri,
R13, Rj), Ri @(R13, Rj)
7
2
6
BANDH
#u4, @Ri
5
LDUH @(R13, STH Ri,
Rj), Ri
@(R13, Rj)
4
1
3
BANDL
#u4, @Ri
2
LD @ (R13, ST Ri,
Rj), Ri
@(R13, Rj)
1
0
0
上位 4 ビット
CALL:D
label12
CALL
label12
D
BHI label9
BLS label9
BGT label9
BLE label9
BGE label9
BLT label9
BNV label9
BV label9
BP label9
BN label9
BNC label9
BC label9
BNE label9
BEQ label9
BNO label9
BRA label9
E
BHI:D
label9
BLS:D
label9
BGT:D
label9
BLE:D
label9
BGE:D
label9
BLT:D
label9
BNV:D
label9
BV:D label9
BP:D label9
BN:D label9
BNC:D
label9
BC:D label9
BNE:D
label9
BEQ:D
label9
BNO:D
label9
BRA:D
label9
F
MB91461
A.3 命令マップ
付録 A 命令一覧
命令マップを示します。
命令ごとに 8 ビットのオペコード (OP) を表にしたものを付表 A.3-1 に示します。オペ
コード (OP) が 8 ビット未満の命令は MSB 側に詰めて 8 ビットに換算してあります。
付表 A.3-1 命令マップ
下位 4 ビット
637
付録
MB91461
命令フォーマット TYPE-E の命令マップ
A.4
命令フォーマットが TYPE-E, TYPE-E’ の命令の命令マップを示します。
命令ごとに 8 ビットのオペコード (OP) と 4 ビットのサブオペコード (SUB-OP) を表に
したものを付表 A.4-1 に示します。
付表 A.4-1 命令フォーマット TYPE-E の命令マップ
上位 8 ビット
下位 4 ビット
07
17
97
9F
0
LD @R15+,Ri
ST Ri,@-R15
JMP @Ri
JMP:D @Ri
1
MOV Ri,PS
MOV PS,Ri
CALL @Ri
CALL:D @Ri
2
−
−
RET
RET:D
3
−
−
RETI
INTE
4
−
−
DIV0S Ri
−
5
−
−
DIV0U Ri
−
6
−
−
DIV1 Ri
DIV3
7
−
−
DIV2 Ri
DIV4S
8
LD @R15+,Rs
ST Rs,@-R15
EXTSB Ri
LDI:32 #i32,Ri
9
LD @R15+,PS
ST PS,@-R15
EXTUB Ri
LEAVE
A
−
−
EXTSH Ri
NOP
B
−
−
EXTUH Ri
COPOP
#u4,#CC,CRj,CR