11.4MB

本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。
富士通マイクロエレクトロニクス
CONTROLLER MANUAL
CM71-10104-8
FR50
32 ビット・マイクロコントローラ
MB91360 Series
ハードウェアマニュアル
FR50
32 ビット・マイクロコントローラ
MB91360 Series
ハードウェアマニュアル
富士通マイクロエレクトロニクスのマイコンを効率的に開発するための情報を下記 URL にてご紹介いたします。
ご採用を検討中 , またはご採用いただいたお客様に有益な情報を公開しています。
http://edevice.fujitsu.com/micom/jp-support/
富士通マイクロエレクトロニクス株式会社
はじめに
■ 本書の目的と対象読者
MB91360 シリーズは , FR50 ファミリの 32 ビットシングルチップマイクロコントロー
ラの一種として開発されました。MB91360 シリーズは RISC アーキテクチャ CPU コア
を含み , 高い CPU 処理能力を要する埋込みアプリケーションに適しています。
本マニュアルでは , MB91360 シリーズの機能および動作を説明しており , MB91360 シ
リーズ製品を使用して実際に製品を開発するエンジニアを対象としています。本書を
ご一読ください。MB91360 シリーズの命令セットの詳細については , 「FR Family
Instruction Manual」を参照してください。
■ 商標
FR ファミリは FUJITSU RISC コントローラの略であり , 富士通マイクロエレクトロニ
クス株式会社 の製品です。
本書に記載されている社名および製品名などの固有名詞は , 各所の商標または登録商
標です。
■ 本マニュアルの構成
本マニュアルは以下に示す 33 の章および付録から構成されています。
第 1 章 MB91360 シリーズの概要
MB91360 シリーズの概要を示し , 特長 , ブロックダイヤグラム , 機能などの重要な
情報について説明します。
第 2 章 CPU
FR50 ファミリ CPU コアのアーキテクチャ , 仕様と命令などの機能に関する重要な
情報について説明します。
第 3 章 命令キャッシュ
MB91360 シリーズのメンバである命令キャッシュメモリと , その動作について説明
します。
第 4 章 ブート ROM/ 構成レジスタ
シングルチップモードで使用される , 埋込み式ブート ROM の機能について説明し
ます。
第 5 章 クロック生成とデバイス状態
MB91360 シリーズの制御に使用するクロックの生成 , および制御について , 詳細に
説明します。さらに , デバイス状態 , および低電力モードについて解説します。こ
こでは , サブクロックなしの動作を想定しています。サブクロックの動作について
の説明は , 対応する章を参照してください。
第 6 章 クロック変調器
クロックモジュレータとその機能の概要について解説します。レジスタ構成および
クロックモジュレータの動作について , 解説します。
i
第 7 章 I/O ポート
I/O ポートの概要とレジスタの一覧を示し , 外部端子を I/O ポートとして使用するた
めの条件について説明します。
第 8 章 外部バスインタフェース
外部バスインタフェース , レジスタの構造と機能 , バス動作の基本 , バスの動作タイ
ミングについて説明します。
第 9 章 割込みコントローラ
割込みコントローラの概要を示し , レジスタの構造と機能 , および割込みコント
ローラの動作について説明します。
第 10 章 外部割込み / NMI コントローラ
外部割込み /NMI コントローラの概要を示し , レジスタの構成と機能 , および外部割
込み /NMI コントローラの動作について説明します。NMIX 端子が存在する型格は
2つです。
第 11 章 DMA コントローラ (DMAC)
DMA コントローラ (DMAC) の概要を示し , レジスタの構成と機能 , および DMA コ
ントローラの動作について説明します。
第 12 章 OS サポートモジュール
遅延割込みとビットサーチモジュールの概要を示し , レジスタの構成と機能 , 動作 ,
およびビットサーチモジュールの退避復帰処理について説明します。
第 13 章 PPG タイマ
PPG タイマの概要 , レジスタ構成と機能 , PPG タイマの動作について説明します。
第 14 章 A/D コンバータ
A/D コンバータの概要を示し , レジスタの構成と機能 , および A/D コンバータの動
作について説明します。
第 15 章 16 ビットリロードタイマ
16 ビットリロードタイマの概要を示し , レジスタの構成と機能 , および 16 ビットリ
ロードタイマの動作について説明します。
第 16 章 CAN コントローラ
CAN インタフェースの概要を示し , レジスタの構造と機能 , および CAN インタ
フェースの動作について説明します。
第 17 章 D/A コンバータ
D/A コンバータの概要を示し , レジスタの構造と機能 , および D/A コンバータの動
作について説明します。
第 18 章 I2C インタフェース (400 kHz)
高速 I2C インタフェースの機能と動作について説明します。
第 19 章 16 ビット I/O タイマ
MB91360 シリーズには , 2 つの 16 ビットフリーランタイマモジュール , 2 つのアウ
トプットコンペアモジュール , および 2 つのインプットキャプチャモジュールが含
まれ , 4 つの入力チャネルと 4 つの出力チャネルをサポートしています。ここでは ,
16 ビットフリーランタイマ , アウトプット 0/1, およびインプットキャプチャ 0/1 に
ついてのみ説明します。これら以外のモジュールは同一の機能を持ち , そのレジス
タアドレスは I/O マップにあります。
第 20 章 アラーム比較器
アラーム比較器 ( 不足 / 過電圧検出器 ) の概要を示し , レジスタの構造と機能 , およ
びアラーム比較器の動作について説明します。
ii
第 21 章 パワーダウンリセット
パワーダウンリセットの概要を示し , レジスタの構成と機能 , およびパワーダウン
リセットモジュールの動作について説明します。
第 22 章 シリアル I/O インタフェース (SIO)
シリアル I/O インタフェース (SIO) の概要を示し , レジスタの構成と機能 , およ
び SIO の動作について説明します。
第 23 章 サウンド生成器
サウンド生成器の概要を示し , レジスタの構成と機能について説明します。
第 24 章 ステッパモータ コントローラ
ステッパモータコントローラの概要を示し , レジスタの構成と機能について説明し
ます。
第 25 章 U- タイマ
U- タイマ (U-TIMER) は , UART のボーレートを発生するために使用する 16 ビット
タイマです。ここでは , U- タイマの概要を示し , レジスタの構造とその機能 , およ
び U- タイマの動作について説明します。
第 26 章 UART
UART は , 非同期 ( 開始ビット同期 ) 通信を行うためのシリアル I/O ポートです。こ
こでは , UART の概要を示し , レジスタの構造と機能 , および UART の動作につい
て説明します。
第 27 章 LIN 機能搭載 USART
USART の機能および動作について解説します。LIN (Local Interconnect Network) 機
能を搭載した USART は , 外部デバイスとの同期または非同期通信に使用する汎用
シリアルデータ通信インタフェースです。
第 28 章 リアルタイムクロック
リアルタイムクロック ( ウォッチタイマともよばれる ) のレジスタ構成とその機能 ,
RTC モジュールの動作について説明します。リアルタイムクロック ( ウォッチタイ
マ ) には , タイマ制御レジスタ , サブセカンドレジスタ , 秒 / 分 / 時レジスタ , 1/2 分
周器 , 21 ビットプリスケーラ , 秒 / 分 / 時カウンタがあります。リアルタイムクロッ
クは , 実時間タイマとして動作し , 実時間情報を与えます。
第 29 章 サブクロック
サブクロックの機能と動作について説明します。
第 30 章 32 kHz クロック補正ユニット
32 kHz クロック補正モジュールを使用すると , 4 MHz 発振クロックを基準にして
32 kHz 発振クロックを補正できます。ここでは , 補正ユニットの概要 , レジスタの
説明 , アプリケーションノートを示します。
第 31 章 フラッシュメモリ
MB91360 シリーズデバイスは , 256KB, 512KB または 768KB の内蔵フラッシュメモ
リを特長とします。MB91360 シリーズデバイス上では F- バスに接続されます。
第 32 章 EDSU
内蔵デバッグ・サポート・ユニット (EDSU) は , シングル・チップ FLASH MCU デ
バイスでの回路デバッグ・サポート機能の基本操作を可能にするモジュールです。
iii
第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続
シリアル書込みについて説明します。
付録
本付録には , 本文に含まれなかった詳細事項やプログラミングのための参考情報が
含まれています。「I/O マップ」, 「割込みベクタ」, 「各 CPU 状態における端子状
態」, および「命令」について説明します。
iv
•
•
•
•
•
•
•
本資料の記載内容は , 予告なしに変更することがありますので , ご用命の際は営業部門にご確認くださ
い。
本資料に記載された動作概要や応用回路例は , 半導体デバイスの標準的な動作や使い方を示したもので ,
実際に使用する機器での動作を保証するものではありません。したがいまして , これらを使用するにあ
たってはお客様の責任において機器の設計を行ってください。これらの使用に起因する損害などについ
ては , 当社はその責任を負いません。
本資料に記載された動作概要・回路図を含む技術情報は , 当社もしくは第三者の特許権 , 著作権等の知的
財産権やその他の権利の使用権または実施権の許諾を意味するものではありません。また , これらの使用
について , 第三者の知的財産権やその他の権利の実施ができることの保証を行うものではありません。し
たがって , これらの使用に起因する第三者の知的財産権やその他の権利の侵害について , 当社はその責任
を負いません。
本資料に記載された製品は , 通常の産業用 , 一般事務用 , パーソナル用 , 家庭用などの一般的用途に使用
されることを意図して設計・製造されています。極めて高度な安全性が要求され , 仮に当該安全性が確保
されない場合 , 社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途(原子力
施設における核反応制御 , 航空機自動飛行制御 , 航空交通管制 , 大量輸送システムにおける運行制御 , 生
命維持のための医療機器 , 兵器システムにおけるミサイル発射制御をいう), ならびに極めて高い信頼性
が要求される用途(海底中継器 , 宇宙衛星をいう)に使用されるよう設計・製造されたものではありませ
ん。したがって , これらの用途にご使用をお考えのお客様は , 必ず事前に営業部門までご相談ください。
ご相談なく使用されたことにより発生した損害などについては , 責任を負いかねますのでご了承くださ
い。
半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても , 結果的に人身事故 ,
火災事故 , 社会的な損害を生じさせないよう , お客様は , 装置の冗長設計 , 延焼対策設計 , 過電流防止対策
設計 , 誤動作防止設計などの安全設計をお願いします。
本資料に記載された製品を輸出または提供する場合は , 外国為替及び外国貿易法および米国輸出管理関
連法規等の規制をご確認の上 , 必要な手続きをおとりください。
本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商標です。
Copyright ©2001-2008 FUJITSU MICROELECTRONICS LIMITED All rights reserved.
v
vi
目次
第1章
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
第2章
MB91360 シリーズの概要.......................................................................... 1
MB91360 シリーズの特長 ...................................................................................................... 2
MB91360 シリーズの製品ラインナップ................................................................................. 4
外形寸法図.............................................................................................................................. 8
MB91360 シリーズのブロック構成...................................................................................... 12
端子配列 ............................................................................................................................... 19
端子機能説明 ........................................................................................................................ 28
入出力回路の種類 ................................................................................................................. 63
メモリ空間............................................................................................................................ 69
デバイスの取扱いについて................................................................................................... 70
CPU.......................................................................................................... 73
2.1 CPU アーキテクチャ ............................................................................................................ 74
2.2 CPU ハードウェア構造 ........................................................................................................ 76
2.3 FR50 の内部アーキテクチャ ................................................................................................ 78
2.4 プログラミングモデル.......................................................................................................... 81
2.4.1
汎用レジスタ .............................................................................................................. 82
2.4.2
専用レジスタ .............................................................................................................. 83
2.4.3
プログラムステータスレジスタ (PS) ......................................................................... 85
2.5 データ構造............................................................................................................................ 89
2.5.1
ワードアラインメント ............................................................................................... 90
2.6 メモリマップ ........................................................................................................................ 91
2.7 命令 ...................................................................................................................................... 93
2.7.1
命令と基本命令の概要 ............................................................................................... 94
2.7.2
分岐命令 ................................................................................................................... 100
2.8 EIT( 例外 , 割込み , トラップ )............................................................................................ 103
2.8.1
多重 EIT 処理............................................................................................................ 110
2.8.2
EIT の動作 ................................................................................................................ 112
2.9 リセット ( デバイスの初期化 ) ........................................................................................... 115
2.9.1
リセットレベル ........................................................................................................ 116
2.9.2
リセットソース ........................................................................................................ 117
2.9.3
リセットシーケンス ................................................................................................. 120
2.9.4
発振安定待ち時間..................................................................................................... 121
2.9.5
リセットモード ........................................................................................................ 123
2.10 動作モード.......................................................................................................................... 125
2.10.1
バスモード ............................................................................................................... 126
2.10.2
モード設定 ............................................................................................................... 127
2.10.3
フィックスベクタ..................................................................................................... 129
第3章
3.1
3.2
3.3
3.4
3.5
命令キャッシュ ...................................................................................... 131
概要 .................................................................................................................................... 132
本体の構成.......................................................................................................................... 133
各動作モードの状態 ........................................................................................................... 139
命令キャッシュのキャッシュ可能領域............................................................................... 141
FR50 の I-Cache を使用する場合の設定方法..................................................................... 142
vii
第4章
4.1
4.2
第5章
ブート ROM/ 構成レジスタ.................................................................... 145
ブート ROM........................................................................................................................ 146
構成レジスタ (F362GB モードレジスタ F362MD)............................................................. 150
クロック生成とデバイス状態 ................................................................ 153
5.1 クロック生成の概要 ........................................................................................................... 154
5.2 ベースクロックの生成........................................................................................................ 155
5.3 PLL 制御 ............................................................................................................................. 156
5.4 待ち時間 ............................................................................................................................. 157
5.5 クロック分配 ...................................................................................................................... 159
5.6 クロックパルス分周 ........................................................................................................... 161
5.7 クロック生成制御 ............................................................................................................... 162
5.8 クロック生成制御ブロックのレジスタ............................................................................... 163
5.8.1
RSRR: リセット要因レジスタ , ウォッチドッグタイマ制御レジスタ..................... 164
5.8.2
STCR: スタンバイ制御レジスタ .............................................................................. 167
5.8.3
TBCR: タイムベースカウンタ制御レジスタ ............................................................ 170
5.8.4
CTBR: タイムベースカウンタクリアレジスタ......................................................... 173
5.8.5
CLKR: クロックソース制御レジスタ ....................................................................... 174
5.8.6
DIVR0: ベースクロック分周設定レジスタ 0 ............................................................ 177
5.8.7
DIVR1: ベースクロック分周設定レジスタ 1 ............................................................ 180
5.8.8
CMCR: CAN モジュールのクロック制御 ................................................................. 182
5.8.9
MONCLK 端子 .......................................................................................................... 183
5.9 クロックソース PLL との切換え ........................................................................................ 184
5.9.1
概要 .......................................................................................................................... 185
5.9.2
内部電圧変化の抑制 ................................................................................................. 186
5.9.3
クロック変調器 ........................................................................................................ 187
5.9.4
手続き....................................................................................................................... 188
5.10 クロック制御部が持つ周辺回路 ......................................................................................... 190
5.10.1
タイムベースカウンタ ............................................................................................. 191
5.11 デバイス状態の制御 ........................................................................................................... 194
5.11.1
デバイスの状態と遷移 ............................................................................................. 195
5.11.2
各状態遷移要求の優先順位 ...................................................................................... 198
5.12 低消費電力モード ............................................................................................................... 199
5.12.1
スリープモード ........................................................................................................ 200
5.12.2
停止モード /RTC モード........................................................................................... 202
5.12.3
ハードウェアスタンバイモード ............................................................................... 205
5.12.4
4 MHz RTC モードから実行モードへの移行 ........................................................... 208
第6章
クロック変調器 ...................................................................................... 209
6.1 クロック変調器の概要........................................................................................................ 210
6.2 レジスタ動作 ...................................................................................................................... 211
6.2.1
制御レジスタ (CMCR).............................................................................................. 212
6.2.2
変調パラメータレジスタ (CMPR) ............................................................................ 217
6.2.3
周波数解像度設定レジスタ (CMLS0 ∼ CMLS3)...................................................... 218
6.2.4
乱数ジェネレータおよび監視レジスタ (CMLT0 ∼ CMLT3) .................................... 219
6.2.5
自動キャリブレーション・リロード・タイマ値 (CMAC) ........................................ 221
6.2.6
ステータスレジスタ (CMTS).................................................................................... 222
6.3 その他の設定 ...................................................................................................................... 223
6.3.1
変調パラメータの選択 ............................................................................................. 224
viii
6.3.2
6.3.3
6.3.4
第7章
7.1
7.2
構成フローチャート ................................................................................................. 225
プログラム例 ............................................................................................................ 226
可能な設定 ............................................................................................................... 228
I/O ポート............................................................................................... 231
I/O ポートとレジスタ構成 .................................................................................................. 232
ポート機能レジスタ (PFR) の設定 ..................................................................................... 237
第8章
外部バスインタフェース........................................................................ 245
8.1 外部バスインタフェースの概要 ......................................................................................... 246
8.2 外部バスインタフェースのレジスタ .................................................................................. 249
8.3 外部バスの仕様 .................................................................................................................. 263
8.4 外部バスアクセス ............................................................................................................... 270
8.5 バス信号 ............................................................................................................................. 276
8.6 バスの動作タイミング........................................................................................................ 277
8.7 バスインタフェースを汎用入出力 ポートとして使用する方法.......................................... 289
8.7.1
注意事項 ................................................................................................................... 290
8.7.2
使用レジスタ ............................................................................................................ 291
8.7.3
CAN を使用しないソフトウェア操作....................................................................... 292
8.7.4
CAN を使用したソフトウェア操作 .......................................................................... 294
第9章
9.1
9.2
9.3
割込みコントローラ............................................................................... 297
割込みコントローラの概要................................................................................................. 298
割込みコントローラのレジスタ ......................................................................................... 299
割込みコントローラの動作................................................................................................. 303
第 10 章
外部割込み /NMI コントローラ .............................................................. 307
10.1 外部割込みコントローラの概要 ......................................................................................... 308
10.2 外部割込みコントローラのレジスタ .................................................................................. 309
10.3 外部割込みコントローラの動作 ......................................................................................... 311
第 11 章
11.1
11.2
11.3
11.4
11.5
11.6
11.7
DMA コントローラ (DMAC) .................................................................. 313
DMA コントローラ (DMAC) の概要.................................................................................... 314
DMA コントローラ (DMAC) のレジスタ ............................................................................ 316
DMA コントローラ (DMAC) の動作.................................................................................... 330
DMA コントローラ (DMAC) の動作フロー......................................................................... 351
データバスの転送例 ........................................................................................................... 354
外部 DMA 信号.................................................................................................................... 357
DMA 転送例 ........................................................................................................................ 358
第 12 章
OS サポートモジュール......................................................................... 365
12.1 遅延割込み.......................................................................................................................... 366
12.2 ビットサーチモジュール .................................................................................................... 367
12.2.1
ビットサーチモジュールのレジスタ ........................................................................ 368
12.2.2
ビットサーチモジュールの動作と退避復帰の処理 .................................................. 370
第 13 章
PPG タイマ ............................................................................................ 373
13.1 PPG タイマの概要.............................................................................................................. 374
ix
13.2 PPG タイマのレジスタ ...................................................................................................... 377
13.2.1
制御ステータスレジスタ (PCNH, PCNL)................................................................. 379
13.2.2
PPG 周期設定レジスタ (PCSR) ............................................................................... 383
13.2.3
PPG デューティ設定レジスタ (PDUT) .................................................................... 384
13.2.4
PPG タイマレジスタ (PTMR) .................................................................................. 385
13.2.5
汎用制御レジスタ 1(GCN10, GCN11) ..................................................................... 386
13.2.6
禁止 / 汎用制御レジスタ 2(GCN20, GCN21) ........................................................... 391
13.3 PPG タイマの動作.............................................................................................................. 392
13.3.1
PPG 動作.................................................................................................................. 393
13.3.2
ワンショット動作モード .......................................................................................... 395
13.3.3
割込み....................................................................................................................... 397
13.3.4
オール "L" とオール "H" の PPG 出力....................................................................... 398
13.3.5
複数の PPG タイマチャネルの起動 ......................................................................... 399
第 14 章
A/D コンバータ ...................................................................................... 401
14.1 A/D コンバータの概要 ........................................................................................................ 402
14.2 A/D コンバータのレジスタ................................................................................................. 404
14.2.1
A/D チャネル設定レジスタ (ADCH) ......................................................................... 405
14.2.2
A/D モードレジスタ (ADMD).................................................................................... 408
14.2.3
A/D 制御ステータスレジスタ (ADCS)...................................................................... 410
14.2.4
A/D データレジスタ (ADCD) .................................................................................... 412
14.2.5
A/D 禁止レジスタ (ADBL) ........................................................................................ 413
14.3 A/D コンバータの動作 ........................................................................................................ 414
第 15 章
16 ビットリロードタイマ ...................................................................... 417
15.1 16 ビットリロードタイマの概要 ........................................................................................ 418
15.2 16 ビットリロードタイマのレジスタ構成.......................................................................... 419
15.2.1
制御ステータスレジスタ (TMCSR).......................................................................... 420
15.2.2
16 ビットタイマレジスタ (TMR).............................................................................. 422
15.2.3
16 ビットリロードレジスタ (TMRLR) ..................................................................... 423
15.3 16 ビットリロードタイマの動作 ........................................................................................ 424
15.3.1
内部クロック動作..................................................................................................... 425
15.3.2
アンダフロー動作..................................................................................................... 426
15.3.3
カウンタの動作状態 ................................................................................................. 427
15.3.4
その他の動作 ............................................................................................................ 428
第 16 章
CAN コントローラ ................................................................................ 429
16.1 CAN コントローラの概要................................................................................................... 430
16.2 レジスタ ............................................................................................................................. 432
16.2.1
オーバオール制御レジスタ ...................................................................................... 439
16.2.2
送信 , および受信エラーカウンタ (RTEC) ............................................................... 444
16.2.3
ビットタイミングレジスタ (BTR)............................................................................ 445
16.2.4
メッセージバッファ制御レジスタ............................................................................ 447
16.2.5
メッセージバッファ ................................................................................................. 458
16.2.6
インタフェース制御レジスタ (CREG) ..................................................................... 463
16.3 CAN コントローラの動作................................................................................................... 465
16.4 使用手順 ............................................................................................................................. 470
x
第 17 章
D/A コンバータ ...................................................................................... 475
17.1 D/A コンバータの概要 ........................................................................................................ 476
17.2 D/A コンバータのレジスタ................................................................................................. 477
17.3 D/A コンバータの動作 ........................................................................................................ 480
第 18 章
I2C インタフェース (400 kHz) .............................................................. 483
18.1 I2C インタフェース (400 kHz) の概要 ................................................................................ 484
18.2 I2C インタフェース (400 kHz) のレジスタ ......................................................................... 486
18.2.1
バス制御レジスタ (IBCR2)....................................................................................... 488
18.2.2
バスステータスレジスタ (IBSR2) ............................................................................ 492
18.2.3
10 ビットスレーブアドレスレジスタ (ITBA) ........................................................... 495
18.2.4
10 ビットスレーブアドレスマスクレジスタ (ITMK) ................................................ 496
18.2.5
7 ビットスレーブアドレスレジスタ (ISBA) ............................................................. 498
18.2.6
7 ビットスレーブアドレスマスクレジスタ (ISMK).................................................. 499
18.2.7
データレジスタ (IDARH, IDAR2) ............................................................................. 501
18.2.8
クロック制御レジスタ (ICCR2) ............................................................................... 502
18.2.9
クロック禁止レジスタ (IDBL2) ................................................................................ 505
2
18.3 I C インタフェースの動作.................................................................................................. 506
18.4 プログラミングフローチャート ......................................................................................... 509
第 19 章
16 ビット I/O タイマ .............................................................................. 513
19.1 16 ビット I/O タイマの概要................................................................................................ 514
19.2 16 ビット I/O タイマのレジスタ......................................................................................... 516
19.2.1
16 ビットフリーランタイマ ..................................................................................... 518
19.2.2
アウトプットコンペアモジュール............................................................................ 522
19.2.3
インプットキャプチャモジュール............................................................................ 526
19.3 16 ビット I/O タイマの動作................................................................................................ 529
19.4 動作タイミング .................................................................................................................. 533
第 20 章
アラーム比較器 ...................................................................................... 537
20.1 アラーム比較器のブロックダイヤグラム ........................................................................... 538
20.2 アラーム比較器のレジスタ................................................................................................. 539
20.3 アラーム比較器の動作モード ............................................................................................. 541
第 21 章
パワーダウンリセット ........................................................................... 543
21.1 パワーダウンリセットの概要 ............................................................................................. 544
21.2 パワーダウンリセットのレジスタ...................................................................................... 545
21.3 パワーダウンリセットの動作モード .................................................................................. 546
第 22 章
シリアル I/O インタフェース (SIO)........................................................ 547
22.1 シリアル I/O インタフェース (SIO) の概要 ........................................................................ 548
22.2 シリアル I/O インタフェース (SIO) のレジスタ ................................................................. 550
22.2.1
シリアルモード制御ステータスレジスタ (SMCS) ................................................... 551
22.2.2
シリアルシフトデータレジスタ (SDR) .................................................................... 555
22.2.3
SIO エッジ選択 / クロック禁止レジスタ (SES) ....................................................... 556
22.2.4
シリアル I/O プリスケーラ (CDCR) ......................................................................... 557
22.3 シリアル I/O インタフェース (SIO) の動作 ........................................................................ 559
xi
第 23 章
サウンド生成器 ...................................................................................... 565
23.1 サウンド生成器の概要........................................................................................................ 566
23.2 サウンド生成器のレジスタ................................................................................................. 567
23.2.1
サウンドコントロールレジスタ ............................................................................... 568
23.2.2
周波数データレジスタ (SGFR) ................................................................................ 570
23.2.3
振幅データレジスタ (SGAR).................................................................................... 571
23.2.4
デクリメントグレードレジスタ (SGDR) ................................................................. 572
23.2.5
トーンカウントレジスタ (SGTR)............................................................................. 573
23.2.6
サウンド禁止レジスタ (SGDBL) .............................................................................. 574
第 24 章
ステッパモータコントローラ ................................................................ 575
24.1 ステッパモータコントローラの概要 .................................................................................. 576
24.2 ステッパモータコントローラのレジスタ ........................................................................... 578
24.2.1
ゼロ検知 0 レジスタ (ZPD0) .................................................................................... 579
24.2.2
PWM 制御 0 レジスタ (PWC0)................................................................................. 581
24.2.3
PWM1, PWM2 比較レジスタ (PWC10, PWC20) ..................................................... 582
24.2.4
PWM1, PWM2 選択レジスタ (PWS10, PWS20)...................................................... 583
24.2.5
PWM クロック禁止レジスタ (SMDBL) .................................................................... 585
第 25 章
U- タイマ................................................................................................ 587
25.1 U- タイマ (U-TIMER) の概要 .............................................................................................. 588
25.2 U- タイマ (U-TIMER) のレジスタ ....................................................................................... 589
25.3 U- タイマ (U-TIMER) の動作 .............................................................................................. 593
第 26 章
UART ..................................................................................................... 595
26.1 UART の概要 ...................................................................................................................... 596
26.2 UART のレジスタ ............................................................................................................... 598
26.2.1
シリアルモードレジスタ (SMR)............................................................................... 599
26.2.2
シリアル制御レジスタ (SCR)................................................................................... 601
26.2.3
シリアル入力レジスタ (SIDR), シリアル出力レジスタ (SODR) .............................. 603
26.2.4
シリアル状態レジスタ (SSR)................................................................................... 604
26.2.5
UART レベル選択レジスタ (ULS) ............................................................................ 606
26.3 UART の動作 ...................................................................................................................... 607
26.3.1
非同期 ( 開始ビット同期 ) モード............................................................................. 608
26.3.2
割込み発生 , およびフラグの設定タイミング .......................................................... 610
26.3.3
その他の項目 ............................................................................................................ 613
第 27 章
LIN 機能搭載 USART............................................................................. 617
27.1 USART の概要.................................................................................................................... 618
27.2 USART の構成.................................................................................................................... 621
27.3 USART の端子.................................................................................................................... 625
27.4 USART のレジスタ............................................................................................................. 627
27.4.1
シリアルコントロールレジスタ (SCR5) .................................................................. 628
27.4.2
シリアルモードレジスタ (SMR5)............................................................................. 631
27.4.3
シリアルステータスレジスタ (SSR5) ...................................................................... 633
27.4.4
受信および送信データレジスタ (RDR5/TDR5)........................................................ 636
27.4.5
拡張ステータス制御レジスタ (ESCR5) ................................................................... 638
27.4.6
拡張通信制御レジスタ (ECCR5) .............................................................................. 640
27.4.7
ボーレート / リロードカウンタレジスタ 0 および 1 (BGR0/BGR1)........................ 642
xii
27.5 USART の割込み ................................................................................................................ 643
27.5.1
受信割込みの発生とフラグの設定タイミング.......................................................... 646
27.5.2
送信割込みの発生とフラグの設定タイミング.......................................................... 647
27.6 USART ボーレート............................................................................................................. 648
27.6.1
ボーレートの設定..................................................................................................... 650
27.6.2
リロードカウンタの再スタート ............................................................................... 652
27.7 USART の動作.................................................................................................................... 653
27.7.1
非同期モードでの動作 ( モード 0, モード 1) ............................................................ 655
27.7.2
同期モードでの動作 ( 動作モード 2) ........................................................................ 657
27.7.3
LIN 機能を用いた操作 ( モード 3) ............................................................................ 661
27.7.4
シリアル端子への直接アクセス ............................................................................... 663
27.7.5
双方向通信機能 ( ノーマルモード ) .......................................................................... 664
27.7.6
マスタ - スレーブ通信機能 ( マルチプロセッサモード ) .......................................... 665
27.7.7
LIN 通信機能............................................................................................................. 668
27.7.8
LIN 通信における USART フローチャート例 ( 運用モード 3) ................................. 669
27.8 USART の使用上の注意 ..................................................................................................... 672
第 28 章
28.1
28.2
28.3
28.4
ブロックダイヤグラム........................................................................................................ 676
レジスタ構成 ...................................................................................................................... 677
レジスタの詳細 .................................................................................................................. 679
更新ビット (UPDT) の使用................................................................................................. 683
第 29 章
29.1
29.2
29.3
29.4
リアルタイムクロック ........................................................................... 675
サブクロック.......................................................................................... 685
サブクロックシステムの概要 ............................................................................................. 686
サブクロックの動作 (SELCLK = 0) .................................................................................... 687
4 MHz リアルタイムクロックの構成 (SELCLK = 1) .......................................................... 688
リアルタイムクロックモジュールの使用方法.................................................................... 689
第 30 章
32 kHz クロック補正ユニット ............................................................... 691
30.1 概要 .................................................................................................................................... 692
30.2 レジスタの説明 .................................................................................................................. 696
30.2.1
補正ユニット制御レジスタ (CUCR)......................................................................... 698
30.2.2
32 kHz タイマデータレジスタ (16 ビット )(CUTD) ................................................. 700
30.2.3
4 MHz タイマデータレジスタ (24 ビット )(CUTR) .................................................. 702
30.3 アプリケーションノート .................................................................................................... 703
第 31 章
フラッシュメモリ .................................................................................. 705
31.1 フラッシュメモリの概要 .................................................................................................... 706
31.2 フラッシュメモリのブロックダイヤグラム ....................................................................... 707
31.3 書込み / 消去モード ............................................................................................................ 713
31.4 フラッシュ制御ステータスレジスタ (FMCS)..................................................................... 720
31.5 読出し / 書込みアクセス ..................................................................................................... 722
31.6 自動書込み / 消去................................................................................................................ 728
31.6.1
フラッシュコマンド ................................................................................................. 729
31.6.2
自動アルゴリズムの実行状態................................................................................... 736
31.7 セクタ保護動作 .................................................................................................................. 741
31.8 外部コマンド ...................................................................................................................... 744
31.9 フラッシュメモリへの接続................................................................................................. 746
xiii
31.10 フラッシュメモリ使用上の注意 ......................................................................................... 747
31.11 フラッシュメモリモードのタイミング図 ........................................................................... 748
31.12 フラッシュメモリモードでの AC 特性 ............................................................................... 755
第 32 章
EDSU ..................................................................................................... 759
32.1 EDSU の概要 ...................................................................................................................... 760
32.1.1
EDSU アプリケーションシステム ........................................................................... 761
32.1.2
デバッグシステム..................................................................................................... 762
32.1.3
EDSU メイン機能..................................................................................................... 763
32.1.4
EDSU の詳細............................................................................................................ 764
第 33 章
33.1
33.2
33.3
33.4
33.5
付録
付録 A
A.1
付録 B
付録 C
付録 D
D.1
D.2
索引
MB91360( 代表マイコン : MB91F362GB) シリアル書込み接続 ........... 765
MB91360( 代表マイコン : MB91F362GB) 書込み基本構成................................................ 766
富士通標準シリアルオンボード書込みに使用する端子 ..................................................... 767
シリアル書込み接続例........................................................................................................ 769
フラッシュマイコンプログラマシステム構成.................................................................... 777
その他の注意事項 ............................................................................................................... 778
............................................................................................................... 779
I/O マップ ..................................................................................................................... 780
MB91F376G 特殊 I/O マップ ...................................................................................... 809
割込みベクタ ................................................................................................................. 816
CPU の各状態における端子の状態 ............................................................................... 820
命令 ............................................................................................................................... 825
命令一覧...................................................................................................................... 826
FR50 ファミリの命令 ................................................................................................. 830
............................................................................................................... 845
xiv
本版での主な変更内容
ページ
変更内容(詳細は本文を参照してください。
)
-
-
品種を変更
(MB91FV360 → MB91FV360GA)
(MB91F362GA → MB91F362GB)
-
-
端子名を変更
(AVSS → AVSS/AVRL)
-
-
レジスタ名を変更
(GNC20 → GCN20)
(GNC21 → GCN21)
-
-
レジスタ名を変更
( 受け入れマスクレジスタ 0,1(AMR0,AMR1) →
受入れマスクレジスタ 00, 10(AMR00, AMR10))
-
-
用語を統一
(・変調原理 → ブロックダイヤグラム
・クォーツ → 水晶
・ボー → bps
・オシレータ → 発振
・実装 → 搭載
・デフォルト → 初期値
・サブクロック校正 → サブクロック補正
・ステッパモータ制御 → ステッピングモータ制御 )
-
-
5.8.6 WPR: ウォッチドッグリセット生成延期レジスタ を削除
16
1.4 MB91360 シリーズ
のブロック構成
表 1.4-2 を変更
(MB91FV360GA と MB91F362GA で利用可能です。→
MB91FV360GA と MB91F362GB で利用可能です。)
23
第 1 章 MB91360
シリーズの概要
1.5 端子配列
図 1.5-5 を変更
(PWM2M2 → PWM2M3)
28 ∼
44
第 1 章 MB91360
シリーズの概要
1.6 端子機能説明
表 1.6-1 を変更
表 1.6-2 を変更
118
第 2 章 CPU
2.9.2 リセットソース
■ ウォッチドッグリセット を変更
( ウォッチドッグリセットの発生遅延レジスタ (WPR) →
タイムベースカウンタクリアレジスタ (CTBR))
148
第 4 章 ブート ROM/
構成レジスタ
4.1 ブート ROM
表 4.1-2 を変更
(Adr → Addr)
54 ∼
57
表 1.6-5 を変更
xv
ページ
変更内容(詳細は本文を参照してください。)
149
第 4 章 ブート ROM/
構成レジスタ
4.1 ブート ROM
表 4.1-3 に注意事項を追加
( 注 ) RSRR のリセット要因ビットは読み出し動作によってクリ
アされます。読み出し値は R4 を確認してください。)
162
第 5 章 クロック生成
とデバイス状態
5.7 クロック生成制御
図 5.7-1 を変更
166
第 5 章 クロック生成
とデバイス状態
5.8.1 RSRR: リセット
要因レジスタ , ウォッ
チドッグタイマ制御
レジスタ
表 5.8-1 を変更
(WPR → CTBR)
167,
168
第 5 章 クロック生成
とデバイス状態
5.8.2 STCR: スタンバ
イ制御レジスタ
■ スタンバイ制御レジスタ に <注意事項> を追加
173
第 5 章 クロック生成
とデバイス状態
5.8.4 CTBR: タイム
ベースカウンタクリ
アレジスタ
■ タイムベースカウンタクリアレジスタ を変更
177
第 5 章 クロック生成
とデバイス状態
5.8.6 DIVR0: ベースク
ロック分周設定
レジスタ 0
■ ベースクロック分周設定レジスタ 0 のビットを変更
(bit 7 6 5 4 3 2 1 0 → bit 15 14 13 12 11 10 9 8 )
189
第 5 章 クロック生成
とデバイス状態
5.9.4 手続き
図 5.9-1 を変更
(・TCB → TBC
・MFWT → FMWT)
191
第 5 章 クロック生成
とデバイス状態
5.10.1 タイムベース
カウンタ
■ ウォッチドッグタイマ を変更
(WPR( ウォッチドッグリセット発生遅延レジスタ ) →
CTBR( タイムベースカウンタクリアレジスタ ))
202
第 5 章 クロック生成
とデバイス状態
5.12.2 停止モード /
RTC モード
■ 停止モード /RTC モード を変更
233
第 7 章 I/O ポート
7.1 I/O ポートと
レジスタ構成
図 7.1-2 のビット名を変更
(PK7 PK6 PJK PK4 PK3 PK2 PJK PK0 →
PK7 PK6 PK5 PK4 PK3 PK2 PK1 PK0)
243
第 7 章 I/O ポート
7.2 ポート機能レジス
タ (PFR) の設定
表 7.2-1 の PFRT レジスタのビット欄を追加
xvi
ページ
変更内容(詳細は本文を参照してください。)
276
第 8 章 外部バスイン
タフェース
8.5 バス信号
表 8.5-1 を変更
(Z → Hi-Z)
286
第 8 章 外部バスイン
タフェース
8.6 バスの動作タイミ
ング
■ アイドルサイクルでの動作 を変更
(CKLT → CLKT)
315
第 11 章 DMA コント
ローラ (DMAC)
11.1 DMA コントロー
ラ (DMAC) の概要
図 11.1-1 を変更
(DSS[3:0] → DSS[2:0])
320
第 11 章 DMA コント
ローラ (DMAC)
11.2 DMA コントロー
ラ (DMAC) のレジス
タ
■ DMAC- チャネル 0, 1, 2, 3, 4 制御 / 状態レジスタ A(DMACA0 ∼
DMACA4) の [bit28 ∼ bit24] IS4 ∼ IS0(Input Select)*: 転送要因の
選択 を変更
( ハードウェア → ソフトウェア転送要求のみ )
322
■ DMAC- チャネル 0, 1, 2, 3, 4 コントロール / ステータスレジス
タ B(DMACB0 ∼ DMACB4) の図を変更
(MD[1:0] → MOD[1:0])
323
[bit29, bit28] MOD(Mode)*: 転送モード設定 を変更
(MODE(Mode) → MOD(Mode))
325
[bit21] DADR(Dest.-Addr.-Reg.Reload)*: 転送先アドレスレジスタ
リロード指定 を変更
( ビット 17 の DRLD → bit22 の SADR)
第 11 章 DMA コント
ローラ (DMAC)
11.3 DMA コントロー
ラ (DMAC) の動作
■ エラーによる停止 を変更
391
第 13 章 PPG タイマ
13.2.6 禁止 / 汎用制御
レジスタ 2(GCN20,
GCN21)
図 13.2-9 のビット構成 のビットを変更
(bit7 6 5 4 3 2 1 0 → bit15 14 13 12 11 10 9 8)
431
第 16 章 CAN コント
ローラ
16.1 CAN コントロー
ラの概要
図 16.1-1 を変更
495
第 18 章 I2C インタ
フェース (400 kHz)
18.2.3 10 ビットスレー
ブアドレスレジスタ
(ITBA)
[bit9 ∼ bit0] TBA(Ten Bit slave Address : 10 ビットスレーブアドレス
(TA9 ∼ TA0) を変更
(TBAL レジスタ → ITBA レジスタ )
529
第 19 章 16 ビット I/O
タイマ
19.3 16 ビット I/O
タイマの動作
(・停止中に , TCDC レジスタに "0000H" が書き込まれたとき
343
346 ∼
348
■ 外部端子 , および内部動作のタイミング を変更
→ ・停止中に , TCDT レジスタに "0000H" が書き込まれたとき )
xvii
ページ
変更内容(詳細は本文を参照してください。)
571
第 23 章 サウンド生成
器
23.2.3 振幅データ
レジスタ (SGAR)
23.2.3 のタイトルを変更
(23.2.3 振幅データレジスタ (SAGR) →
23.2.3 振幅データレジスタ (SGAR))
629
第 27 章 LIN 機能搭載
USART
27.4.1 シリアルコント
ロールレジスタ
(SCR5)
表 27.4-1 の各ビットの機能 を変更
634
第 27 章 LIN 機能搭載
USART
27.4.3 シリアルステー
タスレジスタ (SSR5)
表 27.4-4 の各ビットの機能 を変更
( シリアル・モード・レジスタ (SMR5) →
シリアルコントロールレジスタ (SCR5))
789
付録 A I/O マップ
付録 A I/O マップ
アドレス 000484H 列を変更
(WPR[W] XXXXXXXX → - )
変更箇所は , 本文中のページ左側の│によって示しています。
xviii
第1章
MB91360 シリーズの概要
MB91360 シリーズの概要を示し , 特長 , ブロック
ダイヤグラム , 機能などの重要な情報について説明
します。
1.1 MB91360 シリーズの特長
1.2 MB91360 シリーズの製品ラインナップ
1.3 外形寸法図
1.4 MB91360 シリーズのブロック構成
1.5 端子配列
1.6 端子機能説明
1.7 入出力回路の種類
1.8 メモリ空間
1.9 デバイスの取扱いについて
1
第 1 章 MB91360 シリーズの概要
1.1
MB91360 シリーズの特長
MB91360 シリーズは , 一連の入出力周辺回路 , およびバス制御機能を搭載する標準
的なマイクロコントローラです。32 ビット RISC CPU(FR50 ファミリ ) コアの採用
により , 高性能 , および高速 CPU 処理を必要とする埋込み制御のアプリケーション
に適しています。また , 内部メモリを搭載することにより , CPU の実行速度を向上
させています。
■ MB91360 シリーズの特長
● 実行時間 : 最短 15.6ns(64 MHz) - デバイスに依存します。
● FR50 ファミリ CPU: RISC アーキテクチャ
本 CPU は , 数値実装を強化した汎用レジスタアーキテクチャを持ち , その広範囲な遅
延分岐命令によって , パイプラインブレークによる実行時間のロスを軽減します。
ビット操作命令 , およびメモリアクセス命令の強化により , 制御実装のコード効率 , お
よび実行速度が向上しています。
• 5 段階のパイプライン構成による高速処理 (1 サイクルあたり 1 命令 )
• 32 ビット線形アドレス空間 : 4G バイト
• l6 ビット固定長命令 ( 基本命令 )
• 高速の乗算 , およびステップ除算
• 高速割込み処理 (6 サイクル )
• 汎用レジスタ : l6×32 ビット
● 多彩な機能を持つ外部バスインタフェースユニット
MB91360 シリーズは , 外部メモリ空間を最大 8 領域に分割します。領域ごとに , チッ
プ選択信号の設定 , データバスの幅の選択 (8, l6, 32 ビット ), および領域サイズの指定
が可能です。
• 最大 32 ビット幅のアドレスバス
• プログラマブル自動待機機能
● DMAC
MB91360 シリーズは , ダイレクトメモリアクセス (DMA) により , CPU を経由せずに ,
さまざまな形式のデータ転送を実行できます。これにより , システムパフォーマンスが
向上します。
• 8 チャネル ( 最大 3 個の外部チャネルを含む )
• 4 個の転送モードをサポート :
シングル / ブロック , バースト , 連続転送 , および
フライバイ
2
第 1 章 MB91360 シリーズの概要
● 電力消費制御メカニズム
本 CPU は , 電力消費を抑えるために , 動作クロックを制御する機能を搭載しています。
• ソフトウェア制御 : スリープ機能 , および停止機能 / リアルタイムクロック機能
• ハードウェア制御 : ハードウェアスタンバイ機能
• ギア ( 分割 ) 機能 : CPU, および周辺回路のクロック周波数を個別に設定できます。
● 周辺機能
• UART, U- タイマ
• リアルタイムクロック ( オプションのサブクロック動作 , およびサブクロック補正
モジュール付 )
• ステップモータ制御
• サウンド生成器
• シリアル IO(SIO), SIO プリスケーラ
• パワーダウンリセット
• アラーム比較器
• IO タイマ
• I2C インタフェース
• 10 ビット D/A コンバータ
• CAN インタフェース
• 10 ビット A/D コンバータ
• l6 ビットリロードタイマ
• l6 ビット PPG タイマ
• ウォッチドッグタイマ
• ビットサーチモジュール
• 割込みコントローラ
• 外部割込み入力
• I/O ポート機能
● 割込みレベル
l6 のマスク可能割込みレベル
● 電源電圧
5V 電源を使用。内部レギュレータが内部電圧 3.3V を発生します。
● パッケージ
• MB91FV360GA: PGA401 パッケージ
• MB91F362GB : QFP208 パッケージ
• MB91F369GA : QFP160 パッケージ
• MB91F364G, MB91F365GB, MB91F366GB, MB91F367GB, MB91F368GB, MB91F376G,
MB91366GA
: QFP120 パッケージ
(「1.3 外形寸法図」も参照してください )。
3
第 1 章 MB91360 シリーズの概要
1.2
MB91360 シリーズの製品ラインナップ
MB91360 シリーズの製品を紹介し , それらの機能 , およびメモリサイズを表 1.2-1 ,
表 1.2-2 に示します。
■ MB91360 シリーズの製品ラインナップ
表 1.2-1 MB91360 シリーズの製品ラインナップ (MB91FV360GA, MB91F362GB, MB91F364G,
MB91F369GA) (1 / 2)
4
機能
MB91FV360GA
MB91F362GB
MB91F364G
MB91F369GA
キャッシュ / 命令 RAM
4 KB / 4 KB
- / 4 KB
-/-
- / 4 KB
D- バス RAM
16 KB
12 KB
12KB
16 KB
F- バス RAM
16 KB
4 KB
4KB
16 KB
フラッシュ /ROM
(F- バス )
512 KB
高速フラッシュ
512 KB
通常フラッシュ
256 KB
高速フラッシュ
512 KB
高速フラッシュ
ブート ROM
2 KB
2 KB
2 KB
2 KB
EDSU
なし
なし
1
なし
CAN
4 ch
3 ch
1 ch
2 ch
ステップモータ制御
4 ch
4 ch
なし
なし
サウンド生成器
1 ch
1 ch
なし
1 ch
PPG
8 ch
8 ch
4 ch
4 ch
インプットキャプチャ
4 ch
4 ch
4 ch
なし
アウトプットコンペア
4 ch
4 ch
4 ch
なし
フリーランタイマ
2 ch
2 ch
2 ch
なし
D/A コンバータ
2 ch
2 ch
2 ch
なし
A/D コンバータ
16 ch
16 ch
12 ch
10 ch
I2C 400 kHz
1 ch
1 ch
1 ch
1 ch
アラーム比較器
1 ch
1 ch
なし
1 ch
SIO/SIO プリスケーラ
2 ch
2 ch
1 ch
2 ch
UART/U- タイマ
3 ch
3 ch
1 ch
1 ch
LIN 機能付き USART
なし
なし
2 ch
なし
16 ビットリロードタイマ
6 ch
6 ch
3 ch
6 ch
外部割込み
8 ch
8 ch
8 ch
8 ch
NMI
1
なし
1
なし
第 1 章 MB91360 シリーズの概要
表 1.2-1 MB91360 シリーズの製品ラインナップ (MB91FV360GA, MB91F362GB, MB91F364G,
MB91F369GA) (2 / 2)
機能
MB91FV360GA
MB91F362GB
MB91F364G
MB91F369GA
リアルタイムクロック
1
1
1
1
RTC 用 32 kHz
サブクロックオプション
あり
なし
あり
なし
サブクロック補正
あり
なし
あり
なし
LED ポート
8 ビット
8 ビット
8 ビット
なし
パワーダウンリセット
1
1
なし
1
ビットサーチモジュール
1
1
1
1
ウォッチドッグタイマ
1
1
1
1
外部アドレスバス
32 ビット
21 ビット
なし
最大 24 ビット
外部データバス
32 ビット
32 ビット
なし
32 ビット
外部 DMA
3 ch
1 ch
なし
1 ch
最大動作周波数
( デバイス固有の仕様につい
てはデータシートを参照 )
64 MHz
64 MHz
64 MHz
64 MHz
5
第 1 章 MB91360 シリーズの概要
表 1.2-2 MB91360 シリーズの製品ラインナップ (MB91F365GB, MB91F366GB, MB91366GA,
MB91F367GB, MB91F368GB, MB91F376G) (1 / 2)
6
機能
MB91F365GB
MB91F366GB
MB91366GA
MB91F367GB
MB91F368GB
MB91F376G
キャッシュ / 命令 RAM
-/4 KB
-/4 KB
-/4 KB
-/4 KB
-/4 KB
D- バス RAM
16 KB
16 KB
16 KB
16 KB
16 KB
F- バス RAM
16 KB
16 KB
16 KB
16 KB
16 KB
フラッシュ /ROM
(F- バス )
512 KB
高速
フラッシュ
512 KB
通常
フラッシュ
512 KB
高速
フラッシュ
512 KB
高速
フラッシュ
768 KB
高速
フラッシュ
ブート ROM
2 KB
2 KB
2 KB
2 KB
2 KB
EDSU
なし
なし
なし
なし
なし
CAN
2 ch
2 ch
2 ch
2 ch
2 ch
ステップモータ制御
4 ch
4 ch
なし
なし
4 ch
サウンド生成器
1 ch
1 ch
なし
なし
1 ch
PPG
8 ch
8 ch
4 ch
4 ch
8 ch
インプットキャプチャ
4 ch
4 ch
4 ch
4 ch
4 ch
アウトプットコンペア
2 ch
2 ch
2 ch
2 ch
2 ch
フリーランタイマ
2 ch
2 ch
2 ch
2 ch
2 ch
D/A コンバータ
2 ch
なし
なし
なし
なし
A/D コンバータ
8 ch
8 ch
8 ch
8 ch
8 ch
I2C 400 kHz
1 ch
1 ch
1 ch
1 ch
1 ch
アラーム比較器
1 ch
1 ch
1 ch
1 ch
1 ch
SIO/SIO プリスケーラ
2 ch
2 ch
2 ch
2 ch
2 ch
UART/U- タイマ
2 ch
2 ch
1 ch
1 ch
2 ch
LIN 機能付き USART
なし
なし
なし
なし
なし
16 ビットリロードタイマ
6 ch
6 ch
3 ch
3 ch
6 ch
外部割込み
8 ch
8 ch
8 ch
8 ch
8 ch
NMI
なし
なし
なし
なし
なし
リアルタイムクロック
1
1
1
1
1
RTC 用 32 kHz
サブクロックオプション
なし
あり
なし
あり
あり
サブクロック補正
なし
あり
なし
あり
あり
LED ポート
なし
なし
なし
なし
なし
第 1 章 MB91360 シリーズの概要
表 1.2-2 MB91360 シリーズの製品ラインナップ (MB91F365GB, MB91F366GB, MB91366GA,
MB91F367GB, MB91F368GB, MB91F376G) (2 / 2)
機能
MB91F365GB
MB91F366GB
MB91366GA
MB91F367GB
MB91F368GB
MB91F376G
パワーダウンリセット
1
1
1
1
1
ビットサーチモジュール
1
1
1
1
1
ウォッチドッグタイマ
1
1
1
1
1
外部アドレスバス
なし
なし
なし
なし
なし
外部データバス
なし
なし
なし
なし
なし
外部 DMA
なし
なし
なし
なし
なし
最大動作周波数
( デバイス固有の仕様につい
てはデータシートを参照 )
64 MHz
64 MHz
64 MHz
64 MHz
64 MHz
7
第 1 章 MB91360 シリーズの概要
1.3
外形寸法図
MB91360 シリーズで使用する各パッケージの外形寸法図を示します。
■ パッケージ外形寸法図
図 1.3-1 MB91FV360GA (PGA-401C-A02)
セラミック・PGA, 401 ピン
リードピッチ
2.54 インタースティシャル
ピンマトリックス
37
封止方法
メタルシール
(PGA-401C-A02)
セラミック・PGA, 401 ピン
(PGA-401C-A02)
48.26 ± 0.55 SQ
(1.900 ± .022)
2.54 (.100) TYP
0.40 ± 0.10
DIA
(.016 ± .004)
1.00 (.039) DIA TYP
(4 PLCS)
45.72 (1.800)
REF
INDEX AREA
1.02 (.040) C TYP
(4 PLCS)
1.20 ± 0.25
(.047 ± .010)
EXTRA INDEX PIN
3.40 ± 0.40
(.134 ± .016)
5.27 (.207)
MAX
C
1994-2008 FUJITSU MICROELECTRONICS LIMITED R401002SC-2-3
最新の外形寸法図については , 下記 URL にてご確認ください。
http://edevice.fujitsu.com/package/jp-search/
8
単位:mm (inches)
注意:括弧内の値は参考値です。
第 1 章 MB91360 シリーズの概要
図 1.3-2 MB91F362GB (FPT-208P-M04)
プラスチック・QFP, 208 ピン
(FPT-208P-M04)
プラスチック・QFP, 208 ピン
(FPT-208P-M04)
リードピッチ
0.50mm
パッケージ幅×
パッケージ長さ
28.0 × 28.0mm
リード形状
ガルウィング
封止方法
プラスチックモールド
取付け高さ
3.95mm MAX
質量
5.71g
特徴
低熱抵抗タイプ
注 1)* 印寸法はレジン残りを含まず。
注 2)端子幅および端子厚さはメッキ厚を含む。
注 3)端子幅はタイバ切断残りを含まず。
30.60±0.20(1.205±.008)SQ
* 28.00±0.10(1.102±.004)SQ
+0.03
0.17 –0.08
156
+.001
.007 –.003
105
157
104
0.08(.003)
Details of "A" part
+0.20
3.75 –0.30
+.008
.148 –.012
(Mounting height)
+0.10
0.40 –0.15
+.004
INDEX
0˚~8˚
208
LEAD No.
53
1
"A"
52
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
©2003-2008 FUJITSU MICROELECTRONICS LIMITED F208020S-c-3-5
C
.016 –.006
(Stand off)
2003 FUJITSU LIMITED F208020S-c-3-4
単位:mm (inches)
注意:括弧内の値は参考値です。
最新の外形寸法図については , 下記の URL にてご確認ください。
http://edevice.fujitsu.com/package/jp-search/
9
第 1 章 MB91360 シリーズの概要
図 1.3-3 MB91F369GA (FPT-160P-M15)
プラスチック・QFP, 160 ピン
(FPT-160P-M15)
プラスチック・QFP, 160 ピン
(FPT-160P-M15)
リードピッチ
0.65mm
パッケージ幅×
パッケージ長さ
28 × 28mm
リード形状
ガルウィング
封止方法
プラスチックモールド
取付け高さ
4.10mm MAX
特徴
低熱抵抗タイプ
コード(参考)
P-QFP160-28×28-0.65
注 1)* 印寸法はレジン残りを含まず。
注 2)端子幅および端子厚さはメッキ厚を含む。
注 3)端子幅はタイバ切断残りを含まず。
32.00±0.20(1.260±.008)SQ
+0.05
* 28.00±0.10(1.102±.004)SQ
0.17 –0.03
+.002
.007 –.001
81
120
80
121
0.10(.004)
Details of "A" part
+0.35
3.75 –0.20
+.014
.148 –.008
(Mounting height)
0.25(.010)
INDEX
0~8°
160
41
1
0.65(.026)
+0.08
0.32 –0.07
+.0031
.013 –.0028
C
"A"
40
0.13(.005)
最新の外形寸法図については , 下記の URL にてご確認ください。
10
+0.10
0.40 –0.15
+.004
.016 –.006
(Stand off)
M
2003-2008 FUJITSU MICROELECTRONICS LIMITED F160037S-c-3-4
http://edevice.fujitsu.com/package/jp-search/
0.80±0.20
(.031±.008)
0.88±0.15
(.035±.006)
単位:mm (inches)
注意:括弧内の値は参考値です。
第 1 章 MB91360 シリーズの概要
図 1.3-4 MB91F364G, MB91F365GB, MB91F366GB, MB91F367GB,
MB91F368GB, MB91366GA および MB91F376G (FPT-120P-M21)
プラスチック・LQFP, 120ピン
(FPT-120P-M21)
リードピッチ
0.50mm
パッケージ幅×
パッケージ長さ
16.0 × 16.0mm
リード形状
ガルウィング
封止方法
プラスチックモールド
取付け高さ
1.70mm MAX
質量
0.88g
コード(参考)
P-LFQFP120-16×16-0.50
プラスチック・LQFP, 120ピン
(FPT-120P-M21)
注 1)* 印寸法はレジン残りを含む。
レンジ残りは、片側+0.25(.010)MAX。
注 2)端子幅および端子厚さはメッキ厚を含む。
注 3)端子幅はタイバ切断残りを含まず。
18.00±0.20(.709±.008)SQ
+0.40
* 16.00 –0.10 .630 +.016
–.004 SQ
90
61
60
91
0.08(.003)
Details of "A" part
+0.20
1.50 –0.10
+.008
(Mounting height)
.059 –.004
INDEX
0~8˚
120
LEAD No.
"A"
31
1
30
0.50(.020)
0.22±0.05
(.009±.002)
+0.05
0.08(.003)
M
0.145 –0.03
+.002
.006 –.001
©2002-2008 FUJITSU MICROELECTRONICS LIMITED F120033S-c-4-5
C
2002 FUJITSU LIMITED F120033S-c-4-4
0.60±0.15
(.024±.006)
0.10±0.05
(.004±.002)
(Stand off)
0.25(.010)
単位:mm (inches)
注意:括弧内の値は参考値です。
最新の外形寸法図については , 下記の URL にてご確認ください。
http://edevice.fujitsu.com/package/jp-search/
11
第 1 章 MB91360 シリーズの概要
1.4
MB91360 シリーズのブロック構成
MB91360 シリーズのブロックダイヤグラム , およびブロック機能の特長について示
します。
■ MB91360 シリーズデバイスの全体ブロックダイヤグラム
図 1.4-1 に , MB91360 シリーズデバイスの全体ブロックダイヤグラムを示します。
図 1.4-1 MB91360 シリーズデバイスの全体ブロックダイヤグラム
クロック生成
FR50コア
ユーザ RAM
Dバス
32
ウォッチ ドッグ
タイマ
命令キャッシュ/
RAM
32
ビットサーチ
モジュール
FバスRAM
32
DMAコントローラ
ブート ROM
2KB
32
バス
コンバータ
32
フラッシュ メモリ
外部バスインタ
フェース
R-bus アダプタ
CAN
外部バス
16
SIOプリス ケーラ/
SIO
ADC
DAC
外部 割込み
サブクロック
補正
U-TIMER/
UART
2
IIC
パワーダウン
リセット
リロード
タイマ
ICU
アラーム
コンパレータ
フリーラン
タイマ
リアルタイム
クロック
OCU
電圧
レギュレータ
LED
12
サウンド
生成器
ステッピング
モータ制御
プログラム
パルス発生器
第 1 章 MB91360 シリーズの概要
■ MB91360 シリーズのブロック機能
表 1.4-1 , および表 1.4-2 に , MB91360 シリーズのブロック機能の一覧を示します。
表 1.4-1 MB91360 シリーズのブロック機能〈1〉(1 / 2)
機能
特長
備考
FR50 コア
32 ビット富士通 RISC コア
FR30 とソフトウェア互換
クロックモジュール
( クロック制御 ,
クロック分周 , PLL)
CPU, および周辺回路の周波数を設定しま
す。
低消費電力モード :
RTC モード : リアルタイムクロック ,
および発振器だけがアク
ティブになります。
STOP モード : すべての内部回路 , および
発振回路を停止します。
モード MD[2:0] = 000 での発
振安定時間初期値は , 4 MHz
発振クロックで 32ms です。
時間は , INITX 解放後の時間
です。
サブクロック / 補正
32 kHz
リアルタイムクロックモジュールのクロッ
クは 32 kHz ∼ 4 MHz の水晶が使用でき
ます。動的スイッチは利用できません。
また , 32 kHz で動作するリアルタイムク
ロックタイマを , より正確な 4 MHz ク
ロックタイミングに基づき補正すること
が可能です。
利用可能。
ウォッチドッグ
ウォッチドッグタイマの間隔を調整でき
ます (220 ∼ 226 システムクロックサイク
ル )。
キャッシュまたは
命令 RAM
最大 4 KB
キャッシュモード (RAM モード ), ロック
機能は特定のプログラムセクションの
キャッシュを常駐させます。
*1, *2
ユーザ RAM
最大 16 KB
ユーザデータ用 RAM
*1, *2
F- バス RAM
最大 16 KB
データ , およびコード用 RAM
*1, *2
フラッシュメモリ
512 KB
セクタアーキテクチャ
セクタ 0: 64 KB
セクタ 7: 64 KB
セクタ 1: 64 KB
セクタ 8: 64 KB
セクタ 2: 64 KB
セクタ 9: 64 KB
セクタ 3: 32 KB
セクタ 10: 32 KB
セクタ 4: 8 KB
セクタ 11: 8 KB
セクタ 5: 8 KB
セクタ 12: 8 KB
セクタ 6: 16 KB
セクタ 13: 16 KB
↓
↓
16 ビット
16 ビット
最低 10000 プログラム /
イレースサイクル
最低 10 年間データ保持
位置は F- バス
MB91F376G については ,
データシートを参照してく
ださい。
書込みは 16 ビット幅,読出しは
16 ビットまたは 32 ビット幅
13
第 1 章 MB91360 シリーズの概要
表 1.4-1 MB91360 シリーズのブロック機能〈1〉(2 / 2)
機能
特長
備考
ブート ROM
2 KB
チップ初期化 , ブート状態のチェック ,
ブートストラップローダなどの機能があ
ります。
DMA
5 チャネル ( 最大 3 個の外部チャネルを含
みます )
最大 16 の DMA ソースが使用可能です。
転送モード : シングル / ブロック ,
バースト , 連続
MB91F362GB の DMA0 端子
位置は , 次のモードレジスタ
(F362MD) で制御される外部
バスの電力分離領域にマッ
プできます。
DREQ0<==>BRQ
DACK0<==>BGRNTX
DEOP0<==>AS
DSU
トレース機能を持つデバッグサポート
ユニット
( 内部 FIFO で 128 ステップ。オプション
の外部トレースメモリで , 128 を超えるス
テップ数も可能です。)
MB91FV360GA のみ
EDSU
埋込み型デバッグサポートユニット
4 命令アドレスブレークポイント
2 オペランドアドレスブレークポイント
2 オペランドデータブレークポイント
ブレークポイントはマスク機能および範
囲機能付き
MB91F364G のみ
32 ビットデマルチ
プレックス外部バス
インタフェース
27 ビットのアドレスまでの 32 ビットの
データ , 7 つの CS, CLK
ソフトウェアにより , Hi-Z に
設定できます (「モードレジ
スタ」機能を参照 )。
MB91F362GB および
MB91F369GA は 3.3V で動作
可能。
割込みコントローラ
8 つの外部割込みチャネル , 38 の内部割
込み , 16 のプログラマブル優先レベル
ビットサーチ
モジュール
1 ワードの MSB から見て最初の "l" と "0"
へ変化したビットを探します。これは , 1
サイクルで実行されます。
固定リセットベクタ
ハードワイヤードリセット , および
モードベクタ
電圧レギュレータ
コードは 0F:4000H から始ま
ります。
内部電圧 3.3V を発生します。
*1: MB91360 シリーズのクロックモジュールは , 多数のクロック周波数の発生が可能です。それら
すべての周波数において , そのリソースが , 指定されたすべての出力ボーレート , および出力周
波数を生成することは保証できません。
*2: リセット信号の同期化を有効にするには , TBCR の bit9(SYNCR) を "1" に設定します。すべて
のバスアクセスが完了した後以外には , リセットは発生しません。これによって リセット中に ,
間違ったデータが RAM に書き込まれるのを防止します。
14
第 1 章 MB91360 シリーズの概要
表 1.4-2 MB91360 シリーズのブロック機能 〈2〉 (1 / 4)
機能
調光用 PPG
特長
備考
16 ビット PWM タイマ
16 ビットダウンカウンタ , サイクル , および
デューティの設定レジスタ
トリガ時割込み , サイクル , およびデューティ
の一致
ソフトウェアまたはリロードタイマによる
トリガ可能
PWM 動作 , およびワンショット動作
クロック停止機能
内部プリスケーラにより , カウンタクロック
として , fRES/1, fRES/4, fRES/16, fRES/64 が可能
ADC
逐次比較形 , 内部サンプリング & ホールド回
路
分解能 10 ビット , 5V 動作
( 変換時間 : CLKP の 178 サイクル )
プログラムで選択できるアナログ入力チャネ
ル : シングル変換モード
連続変換モード
変換中止モード
変換の終わりに割込みをかけることによって ,
DMA 転送をアクティブにできます。
ソフトウェア , 外部トリガまたはリロード
タイマからの起動が選択できます。
プリスケーリングは内部で行われます。
クロック停止機能
基本
インターバル
タイマ
16 ビットリロードタイマ
クロックプリスケーラ (fRES/21, fRES/23,
CAN
CAN 仕様 version 2.0A, および B に準拠
エラー時の 0-TQ ビットタイミング自動再転
送仕様
自動転送によるリモートフレームへの応答
優先順の 16 のメッセージバッファ
( データ , および ID 用 )
複数メッセージをサポート
フィルタリング受渡しの柔軟な構成 :
フルビット比較 / フルビットマスク /2 個の
部分ビットマスク
最大 1Mbps をサポート
クロック停止機能
DAC
R-2R D/A コンバータ
分解能 10 ビット , 5V 動作
クロック停止機能
必要な周波数は 90 ∼ 300Hz
fRES/25) を内蔵
MB91FV360GA と MB91F362GB
で利用可能です。
15
第 1 章 MB91360 シリーズの概要
表 1.4-2 MB91360 シリーズのブロック機能 〈2〉 (2 / 4)
機能
特長
外部割込み
チャネルごとの「割込みマスク」ビット , お
よび「ペンディング要求」ビットを , エッジ
検出にするかレベル検出にするかをプログラ
ムできます。
モードレジスタ
(F362MD)
特別モードレジスタは , 次の項目を制御しま
す。
• I2C モジュール選択
• DMA 端子マッピング
• 外部バス無効モード
• 非対称 CLKT 生成
• アドレス /CSX のスワップ
I2C-2
標準モード ,
および
高速モード用
マスタまたはスレーブ転送アービトレーショ
ン機能
クロック同期化機能
スレーブアドレス , および一般呼出しアドレ
ス検出機能
転送方向検出機能
起動条件の繰返し発生機能 , および検出機能
バスエラー検出機能
備考
アドレス : 0001FEH
bit8: 新規 I2C 選択
bit9: DMA マッピング有効
bit10 ∼ bit13:
外部バスの
HiZ 制御
bit14: 非対称 CLKT
bit15: アドレススワップ
「4.2 構成レジスタ (F362GB モー
ドレジスタ F362MD)」を参照し
てください。
I2C-1 または I2C-2 のみ使用でき
ます。並行使用はできません。
F362MD の bit0 は , どのモジュー
ルを SCL パッド , および SDA
パッドに接続するかを判断する
ために使用します。デフォルト
は I2C-1 です。
SCL 回線と SDA 回線には , オプ
I2C 標準 , および高速モード仕様と互換
(400 kHz, 10 ビットアドレッシングまでの動作 ) ションのノイズフィルタが含ま
れます。ノイズフィルタは ,
クロック分周機能を含みます。
CLKP の 1 ∼ 1.5 サイクルの範囲
クロック停止機能
のスパイクを抑制できます。
MB91360 シリーズデバイスのス
イッチをオフにしている場合は ,
I2C バス上で他の接続デバイスと
通信することはできません。
16 ビット
インプットキャプ
チャモジュール
(ICU)
立上りエッジ検出 , 立下りエッジ検出または
両エッジ検出
2 個の 16 ビット捕獲レジスタ
外部イベント時の割込みを通知します。
クロック停止機能
MB91FV360GA と MB91F362GB
で利用可能です。
16 ビット
アウトプットコン
ペアモジュール
(OCU)
対応するフリーランタイマのタイマ値と一致
した場合に割込みを通知します。
出力信号を生成できます。
クロック停止機能
MB91FV360GA と MB91F362GB
で利用可能です。
フリーラン
タイマ
16 ビットフリーランタイマ。オーバフローま MB91FV360GA と MB91F362GB
たは比較レジスタ _0 と一致した場合に , 割込 で利用可能です。
みを通知します。プリスケーラ (fRES/22, fRES/24,
fRES/26) は内蔵されています。タイマデータレ
ジスタに R/W アクセスができます。
クロック停止機能
16
第 1 章 MB91360 シリーズの概要
表 1.4-2 MB91360 シリーズのブロック機能 〈2〉 (3 / 4)
機能
LED ポート
特長
備考
ソース電流 14mA(VDD-0.8V), およびシンク電
これら 8 チャネルすべての IOL 電
流 24mA(Vss+0.8V) が可能
流の合計は , 120mA を超えてはい
けません。これらのチャネルす
べての IOH 電流の合計は , 120mA
を超えてはいけません。
MB91FV360GA, MB91F362GB で
利用可能です。
アラーム比較器
(OV/UV 検出 )
外部電圧をモニタし , 電圧が , 定義されたしき 4:1 の外部電圧分割回路を使用し
い値より低くなったり高くなったりした場合 ます。
に割込みを発生します。
ステータスの読取りが可能 , 割込みは個別マ
スクが可能
クロック停止機能
パワーダウン
リセット
VDD をモニタリングし , VDD が定義されたし RTC モードまたは STOP モード
きい値電圧より低くなった場合にリセットを 時に無効にできます。
発生します。
シリアル IO
SIO
同期シリアルイ
ンタフェース +
SIO プリスケーラ
シリアル入出力
MSB または LSB から転送を開始できます。
内部クロック同期転送 , および外部クロック
同期転送をサポートします。
クロックの立上りエッジ , および
立下りエッジによる同期化をサ
ポートします。
シフトクロック用プリスケーラは次の周波数
が可能です。
fRES/3, fRES/4, fRES/5, fRES/6, fRES/7, fRES/8
クロック停止機能
サウンド生成器
( ブザー )
8 ビット PWM 信号は , 8 ビットリロードカウ
ンタからのトーン周波数と混合されます。
内部プリスケーラによる PWM クロック :
fRES/1, fRES/2, fRES/4, fRES/5, fRES/8
ターゲット周波数は , 300Hz ∼
5 kHz の範囲でプログラム可能で
す。fRES/1 とリロード値 5 では ,
fRES=16 MHz で 5.2 kHz になりま
トーン周波数 : PWM 周波数 /2/( リロード値 +1) す。
クロック停止機能
fRES/4 とリロード値 25 では ,
fRES=16 MHz で 300.48 Hz になり
ます。
ステッパモータ
制御
各チャネルでの 4 個の高電流出力
各チャネルに 2 個の同期化 8 ビット PWM
PMW クロック用内部プリスケーリング :
fRES, fRES/2, fRES/4, fRES/5, fRES/6, fRES/8
MB91FV360GA, MB91F362GB で
利用可能です。
ターゲット周波数 : 16 kHz
ゼロ検出回路を内蔵しています。
クロック停止機能
MB91360 シリーズデバイスには ,
スルーレート代表値 40ns の出力
ドライバが含まれています。
17
第 1 章 MB91360 シリーズの概要
表 1.4-2 MB91360 シリーズのブロック機能 〈2〉 (4 / 4)
機能
UART
特長
非同期 ( 調歩式同期 ) 通信を実行するための
シリアル I/O ポート
全二重 , ダブルバッファ
マルチプロセッサモードをサポートします。
可変データ長 (7/8 ビット )
1 個または 2 個のストップビット
エラー検出機能
( パリティ , フレーミング , オーバラン )
割込み機能
NRZ 型転送形式
U- タイマでボーレートを発生
U- タイマ
(UART ごとに 1
個)
必要な UART クロックを 16 ビットタイマで発
生 :fRES/25, ..., fRES/221 ( 非同期モード )
LIN 機能搭載
USART
非同期 ( 調歩式同期 ) 通信を実行するための
シリアルポート
全二重 , ダブルバッファ
マルチプロセッサモードをサポートします。
LIN-bus システムのための特別な機能
可変データ長 (7/8 ビット )
1 個または 2 個のストップビット
エラー検出機能
( パリティ , フレーミング , オーバラン )
割込み機能
NRZ 型転送形式
ボーレートジェネレータでボーレートを発生
必要とする UART クロック (fCLKP/21, ...,
備考
送受信用ポート信号の極性は
プログラム可能
クロック停止機能
USART with LIN option は新しい
マクロなので MB91FV360GA で
エミュレートすることはできま
せん。
送受信用ポート用信号の極性は
プログラム可能
fCLKP/215) を発生させる 15 ビットタイマ
クロック停止機能
リアルタイムク
発振周波数偏差修正機能
ロック (RTC)
読出し / 書込みのアクセスが可能な秒 / 分 / 時
( ウォッチタイマ ) レジスタ
毎秒 / 分 / 時 / 日の割込み通知が可能
内部クロック分周とプリスケーラにより
4 MHz 入力を基準とし , 正確な 1 秒クロック
が可能。
クロック停止機能
クロック変調器
18
16 タップ変調回路
最大入力周波数 48 MHz
最大出力周波数 64 MHz
4 MHz 用プリスケーラの値は
1E847FH です。
32 kHz 用プリスケーラの値は
04000FH です。
第 1 章 MB91360 シリーズの概要
1.5
端子配列
MB91FV360GA, MB91F362GB, および MB91F369GA の端子図を示します。
■ MB91FV360GA の端子図
図 1.5-1 に , MB91FV360GA の端子図を示します。
図 1.5-1 MB91FV360GA 端子図
23
24
69
119
174
230
173
118
68
22
172
117
67
21
20
115
65
19
114
64
18
113
63
17
112
62
16
166
111
61
15
110
60
14
109
59
13
108
58
12
107
57
106
383
339
384
291
340
385
239
292
341
386
184
240
293
342
387
185
241
294
343
388
80
130
242
295
344
389
131
186
296
345
390
346
348
349
377
394
350
376
395
PGA-401C-A02
351
底面図
375
396
352
374
397
353
373
398
354
372
399
355
371
400
356
370
401
357
369
368
321
270
320
269
214
158
105
367
56
213
312
48
204
95
203
94
39
87
139
40
88
140
41
89
141
42
90
142
43
91
143
44
92
144
201
202
146
93
138
200
257
258
147
46
2
310
38
86
199
256
309
259
148
47
3
311
205
96
358
260
149
150
4
359
261
206
97
49
5
313
207
98
360
262
151
50
6
314
208
99
361
263
152
51
7
315
209
100
362
264
153
52
8
316
210
101
363
265
154
53
9
317
211
102
364
266
155
54
10
318
212
103
365
267
156
55
11
319
268
157
104
366
137
198
255
308
37
85
197
254
307
136
196
253
306
36
84
195
252
305
135
194
251
304
35
83
193
250
303
134
192
249
302
34
82
191
248
301
81
133
190
247
300
132
189
246
299
393
188
245
298
392
378
244
297
391
379
215
159
187
243
347
322
271
216
382
338
290
238
183
129
323
272
217
160
337
289
237
182
128
79
324
273
218
161
381
288
236
181
127
33
78
325
274
219
162
380
336
235
180
126
32
77
326
275
220
163
335
287
179
125
31
76
327
276
221
164
286
234
124
30
75
328
277
222
165
233
178
329
278
223
177
123
29
74
330
279
224
167
285
122
28
73
331
280
225
168
176
27
72
332
281
226
169
121
232
26
71
333
282
227
170
175
334
283
228
171
116
66
284
229
120
231
25
70
145
INDEX
45
1
19
第 1 章 MB91360 シリーズの概要
■ MB91F362GB の端子図
図 1.5-2 に , MB91F362GB の端子図を示します。
図 1.5-2 MB91F362GB 端子図
156
CAN
PPG
SIO
I 2C Sound
XTAL+PLL
Mode
OCU
SIN2
SOT1
SIN1
SOT0
SIN0
RX2
TX2
RX1
TX1
RX0
TX0
VSS
VDD
OCPA7
OCPA6
OCPA5
OCPA4
OCPA3
OCPA2
OCPA1
OCPA0
SCK3
SOT3
SIN3
SCK4
SIN4
SOT4
SCL
SDA
SGA
SGO
VCI
CPO
VSS
X1A
X0A
X1
X0
VDD
SELCLK
MONCLK
INITX
HSTX
MD2
MD1
MD0
VSS
OUT3
OUT2
OUT1
OUT0
IN3
UART
105
104
157
PN[5:0]
PM[3:0]
PL[7:0]
PR[7:0]
PS[7:0]
PJ[7:0]
MB91F362GB
PI[6:0]
QFP
PB[2:0]
P1[7:0]
PH[7:0]
P0[7:0]
FPT-208P-M04
P2[7:0]
PG[7:0]
INDEX
P3[7:0]
1
20
PO[7:0]
208-pin plastic
208
ext. BusData
PP[5:0]
PK[7:0]
PQ[5:0]
P4[7:0]
P5[7:0]
P6[4:0] P7[4:6]
P8[7:0]
P9[7:0]
D24
D25
D26
D27
D28
D29
D30
D31
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
VDD
VSS
A16
A17
A18
A19
A20
CS4X
CS5X
CS6X
RDY
BGRNTX
BRQ
RDX
WR0X
WR1X
WR2X
WR3X
AS
ALE
CLK
AH/BOOT
CS0X
CS1X
CS2X
CS3X
VDD
VSS
SMC
SOT2
VSS
VCC3C
VDD int.
HVSS
PWM1P0
PWM1M0
PWM2P0
PWM2M0
HVDD
PWM1P1
PWM1M1
PWM2P1
PWM2M1
HVSS
PWM1P2
PWM1M2
PWM2P2
PWM2M2
HVDD
PWM1P3
PWM1M3
PWM2P3
PWM2M3
HVSS
VDD
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D12
D13
D14
VDD
VSS
D15
D16
D17
D18
D19
D20
D21
D22
D23
ext. Bus Address
Chip
Select
ext.Bus Control
Chip
Select
IN2
ICU
IN1
IN0
INT7
INT6
INT5
INT4
ext.
INT3
Int.
INT2
INT1
INT0
VSS
VDD
LED7
LED6
LED5
LED4
LED
LED3
LED2
LED1
LED0
LTESTX
CPUTESTX
TESTX
ATGX
VDD
VSS
ALARM
DA1
DAC
DA0
AVSS
AN7
AN6
AN5
AN4
AN3
ADC
AN2
AN1
AN0
AVRH
AVCC
DEOP0
DACK0 DMA
DREQ0
AN15
AN14
AN13
AN12
ADC
AN11
AN10
AN9
AN8
53
52
第 1 章 MB91360 シリーズの概要
■ MB91F364G の端子図
図 1.5-3 に , MB91F364G の端子図を示します。
図 1.5-3 MB91F364G 端子図
SIO
CAN
PPG
MD1
Port R
PR4
PR5
MD0
ATGX
CPUTESTX
TESTX
PR6
PR7
VSS
VDD
VSS
VDD
OUT3
OUT2
Port L
MB91F364G
LED0
LED1
VSS
LED4
120-pin package
FPT-120P-M21
Port J
LED2
LED3
IN1
IN0
VSS
VDD
LED7
VSS
VDD
PO6
PO7
Port K
INT7
INT6
Port O
PO4
PO5
OUT0
IN3
IN2
top view
LED5
LED6
OUT1
INT5
INT4
INT3
INT2
INT1
INT0
DA0
DA1
VSS
VSS
VDD
X0
PQ
VDD
X1A
X0A
VDD
MONCLK
VSS
X1
SELCLK
SDA
SCL
SOT0
SIN0
HSTX
NMIX
VSS
VDD
AN6
AN7
AVSS,AVRL
AVRH
AVCC
AN2
AN3
AN4
AN5
PM
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
AN0
1
AN8
AN9
AN10
AN11
PG
Port H
60
59
58
57
56
55
54
53
52
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
ICU
MD2
PR1
PR2
PR3
外部割込み
INITX
4 MHz
P.P
Port O
PR0
OCU
VCC3C
VDD
VSS
VCC3C
VDDI
VDDI
VSS
VDD
BREAKX
VDDI
TX0
RX0
OCPA0
OCPA3
OCPA2
OCPA1
SCK5
SIN5
VSS
SOT6
SOT5
SIN6
SCK6
SIN3
VSS
VDD
Port T
Port N
VDD
2 AN1
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
11 0
111
11 2
11 3
11 4
11 5
11 6
11 7
11 8
11 9
120
SCK3
SOT3
LTESTX
VSS
90
89
88
87
86
85
84
83
82
81
80
79
78
77
76
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
USART
ADC
I2C UART
32 kHz
21
第 1 章 MB91360 シリーズの概要
■ MB91F369GA の端子図
図 1.5-4 に , MB91F369GA の端子図を示します。
図 1.5-4 MB91F369GA 端子図
PPG
UART CAN
126
75
127
74
128
73
129
72
130
71
131
70
132
69
76
133
68
MB91F369GA
134
135
67
66
136
65
137
64
138
63
139
62
61
140
160-pin package
FPT-160P-M15
141
142
143
144
145
60
59
58
57
56
146
55
147
54
148
53
149
52
150
51
40
39
38
37
36
35
33
34
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
A4
A5
A6
A7
A8
A9
A10
A11
VDD35
CLK
VSS
A12
A13
A14
A15
A16
A17
A18
A19
A20
VDD35
VSS
CS4X
CS5X
CS6X
RDX
BGRNTX
BRQ
AS
ALE
AH
CS0X
CS1X
CS2X
CS3X
DREQ0
DACX0
DEOP
VSS
VDD35
13
41
12
42
160
11
43
159
10
44
158
9
45
157
8
46
156
7
47
155
6
48
154
5
153
4
49
3
50
152
2
151
Ext. bus Address
22
SIO
77
Chip
Select
Ext.Bus
Control
Chip
Select
DMA
SOT4
SCL
SDA
SGA
SGO
INT7
INT6
INT5
INT4
INT3
INT2
INT1
INT0
VSS
VDD
LTESTX
CPUTESTX
TESTX
INITX
HSTX
MD2
MD1
MD0
ATGX
VDD
VSS
ALARM
AN9
AN8
AN7
AN6
AN5
AN4
AN3
AN2
AN1
AN0
AVSS
AVCC
AVRH
Ext.Interrupt
124
125
78
Mode
80
79
I 2C
Sound
Gen.
81
82
84
83
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
112
110
111
114
113
115
116
117
118
119
120
121
122
123
1
Ext.Bus Data
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D12
D13
D14
D15
VDD35
VSS
D16
D17
D18
D19
D20
D21
D22
D23
D24
D25
D26
D27
D28
D29
D30
D31
VDD35
VSS
A0
A1
A2
A3
ADC
Osci.
VSS
VDD35
RDY
WR0X
WR1X
WR2X
WR3X
VSS
VDD35
VSS
MONCLK
VDD
VSS
X1
X0
VDD
OCPA3
OCPA2
OCPA1
OCPA0
VSS
VDD
SOT0
SIN0
RX1
TX1
RX0
TX0
VSS
VCC3C
VDDI
VDDI
VDDI
VDDI
VSS
SCK3
SOT3
SIN3
SCK4
SIN4
Ext. Bus Control
第 1 章 MB91360 シリーズの概要
■ MB91F365GB の端子図
図 1.5-5 に , MB91F365GB の端子図を示します。
図 1.5-5 MB91F365GB 端子図
VSS
VDD
SIN3
66
61
SOT3
67
SOT4
VSS
SCK3
63
OCPA0
69
68
62
OCPA1
70
SCK4
OCPA2
72
71
SIN4
OCPA4
OCPA3
74
64
OCPA5
75
73
OCPA7
OCPA6
77
76
RX0
TX0
79
78
RX1
VDD
TX1
VSS
82
80
SIN0
83
81
SOT0
85
84
86
PG0
SOT1
SIN1
88
87
PG2
PG1
90
SIO
PPG
65
CAN
UART
89
Digital I/O-Ports
INITX
PG3
91
60
PG4
92
59
MD2
PG5
93
58
MD1
VDD
94
57
MD0
HVSS
95
56
VDD
PWM1P0
96
55
OUT1
PWM1M0
97
54
OUT0
PWM2P0
PWM2M0
98
53
IN3
99
52
IN2
HVDD
100
51
PWM1P1
101
50
IN1
IN0
49
VSS
48
VCC3C
PWM1M1
102
PWM2P1
103
PWM2M1
104
HVSS
105
PWM1P2
106
PWM1M2
107
MB91F365GB
120-Pin plastic
QFP
47
VDD
46
INT7
45
INT5
43
INT4
109
42
INT3
110
41
INT2
INT1
108
PWM2M2
HVDD
PWM1P3
111
40
PWM1M3
112
39
INT0
PWM2P3
113
38
MONCLK
PWM2M3
114
37
VSS
VSS
115
36
X1
VDD
116
35
X0
24
26
27
28
29
30
AN7
DA0
DA1
ALARM
VSS
23
AN4
25
22
AN3
AN6
21
AN2
ADC
AN5
19
20
AN1
18
AVSS/AVRL
AN0
16
17
15
VSS
AVRH
14
VDD
2
I C
AVCC
12
13
SCL
11
Sound
SDA
10
8
VDD
VSS
SGA
7
PI3
9
6
PJ7
SGO
5
PJ6
BOOT
4
31
3
120
PJ5
TESTX
PJ3
PJ4
CPUTESTX
PJ2
32
2
VDD
33
119
1
34
118
VSS
117
PJ1
VDD
PJ0
Digital IO-Ports
ICU
INT6
44
PWM2P2
OCU
ext. Int.
4MHz Osc.
DAC
23
第 1 章 MB91360 シリーズの概要
■ MB91F366GB/MB91F376G の端子図
図 1.5-6 に , MB91F366GB/MB91F376G の端子図を示します。
図 1.5-6 MB91F366GB/MB91F376G 端子図
VSS
VDD
61
SIN3
66
SOT4
SOT3
67
63
VSS
SCK3
62
OCPA0
69
68
SCK4
OCPA1
70
SIN4
OCPA2
72
71
64
OCPA4
OCPA3
74
65
OCPA5
75
73
OCPA7
OCPA6
77
76
RX0
TX0
79
78
RX1
VDD
TX1
VSS
82
80
SIN0
83
81
SOT0
85
84
86
PG0
SOT1
SIN1
88
87
PG2
PG1
90
SIO
PPG
INITX
PG3
91
60
PG4
92
59
MD2
PG5
93
58
MD1
VDD
94
57
MD0
HVSS
95
56
VDD
PWM1P0
96
55
OUT1
PWM1M0
97
54
OUT0
PWM2P0
PWM2M0
98
53
IN3
99
52
IN2
HVDD
100
51
PWM1P1
101
50
IN1
IN0
49
VSS
48
VCC3C
PWM1M1
102
PWM2P1
103
PWM2M1
104
HVSS
105
PWM1P2
106
PWM1M2
107
MB91F366GB/F376G
120-Pin plastic
QFP
47
VDD
46
INT7
45
INT5
43
INT4
109
42
INT3
110
41
INT2
108
PWM2M2
HVDD
PWM1P3
111
40
INT1
PWM1M3
112
39
INT0
PWM2P3
113
38
MONCLK
PWM2M3
114
37
VSS
VSS
115
36
X1
VDD
116
35
X0
27
28
29
30
X1A
ALARM
VSS
26
AN7
X0A
24
23
AN4
25
22
AN3
AN6
21
AN2
ADC
AN5
19
20
AN1
18
AVSS/AVRL
AN0
16
17
15
VSS
AVRH
14
VDD
2
I C
AVCC
12
13
SCL
11
SDA
10
8
VDD
VSS
SGA
7
PI3
SGO
6
PJ7
9
5
PJ6
BOOT
4
31
3
120
PJ5
TESTX
PJ3
PJ4
CPUTESTX
PJ2
32
2
VDD
33
119
1
34
118
VSS
117
PJ1
VDD
PJ0
Sound
32KHz Osc.
OCU
ICU
INT6
44
PWM2P2
Digital IO-Ports
24
CAN
UART
89
Digital I/O-Ports
ext. Int.
4MHz Osc.
第 1 章 MB91360 シリーズの概要
■ MB91F367GB の端子図
図 1.5-7 に , MB91F367GB の端子図を示します。
図 1.5-7 MB91F367GB 端子図
VSS
VDD
61
SOT4
63
SIN3
66
62
SOT3
67
SCK4
VSS
SCK3
69
68
SIN4
OCPA0
70
64
OCPA1
72
71
65
OCPA2
74
73
PO5
PO4
OCPA3
75
PO7
PO6
77
76
RX0
TX0
79
78
RX1
VDD
TX1
VSS
82
80
SIN0
83
81
SOT0
85
84
86
PG0
PQ3
PQ2
88
87
PG2
PG1
90
89
SIO
INITX
PG3
91
60
PG4
92
59
MD2
PG5
93
58
MD1
VDD
94
57
MD0
VSS
95
56
VDD
PR0
96
55
OUT1
PR1
97
54
OUT0
PR2
98
53
IN3
PR3
99
52
IN2
HVDD
100
PR4
101
51
50
IN1
IN0
49
VSS
48
VCC3C
PR5
102
PR6
103
PR7
104
VSS
105
PS0
106
PS1
107
PS2
PS3
MB91F367GB
120-Pin plastic QFP
FPT-120P-M21
47
VDD
46
INT7
45
INT6
44
INT5
108
43
INT4
109
42
INT3
HVDD
110
41
INT2
PS4
111
40
INT1
PS5
112
39
INT0
PS6
113
38
MONCLK
PS7
114
37
VSS
VSS
115
36
X1
VDD
116
35
X0
PJ0
117
34
VDD
CPUTESTX
26
27
28
29
30
NC
NC
ALARM
VSS
23
AN7
22
AN3
AN4
24
21
AN2
25
20
AN1
AN6
18
19
AVSS
AN0
AN5
16
17
AVCC
15
I2C
AVRH
14
11
PM1
VSS
10
PM0
VDD
9
12
8
VDD
VSS
13
7
PI3
SCL
6
Digital
IO-Ports
SDA
5
PJ6
PJ7
BOOT
4
31
3
120
PJ4
TESTX
PJ3
PJ5
32
2
33
119
1
118
VSS
PJ1
PJ2
Digital IO-Ports
OCU
ICU
ext. Int.
VDD
Digital I/O-Ports
PPG
Digital I/O-Ports
CAN
UART
Digital I/O-Ports
4MHz Osc.
ADC
25
第 1 章 MB91360 シリーズの概要
■ MB91F368GB の端子図
図 1.5-8 に , MB91F368GB の端子図を示します。
図 1.5-8 MB91F368GB 端子図
VSS
VDD
61
SOT4
63
SIN3
66
62
SOT3
67
SCK4
VSS
SCK3
69
68
SIN4
OCPA0
70
64
OCPA1
72
71
65
OCPA2
74
73
PO5
PO4
OCPA3
75
PO7
PO6
77
76
RX0
TX0
79
78
RX1
VDD
TX1
VSS
82
80
SIN0
83
81
SOT0
85
84
86
PG0
PQ3
PQ2
88
87
PG2
PG1
90
89
SIO
INITX
PG3
91
60
PG4
92
59
MD2
PG5
93
58
MD1
VDD
94
57
MD0
VSS
95
56
VDD
PR0
96
55
OUT1
PR1
97
54
OUT0
PR2
98
53
IN3
PR3
99
52
IN2
HVDD
100
PR4
101
51
50
IN1
IN0
49
VSS
48
VCC3C
PR5
102
PR6
103
PR7
104
VSS
105
PS0
106
PS1
107
PS2
MB91F368GB
120-Pin plastic
QFP
47
VDD
46
INT7
45
INT6
44
INT5
108
43
INT4
PS3
109
42
INT3
HVDD
110
41
INT2
PS4
111
40
INT1
PS5
112
39
INT0
PS6
113
38
MONCLK
PS7
114
37
VSS
OCU
ICU
ext. Int.
VSS
115
36
X1
VDD
116
35
X0
PJ0
117
34
VDD
CPUTESTX
Digital
I/O-Ports
28
29
30
X1A
ALARM
VSS
27
X0A
26
23
AN4
AN7
22
AN3
24
21
AN2
25
20
AN1
AN6
18
19
AVSS/AVRL
AN0
ADC
AN5
16
VSS
17
15
VDD
AVCC
14
SCL
I2C
AVRH
12
13
SDA
11
8
VDD
VSS
10
7
PI3
PM1
6
9
5
PJ6
PJ7
PM0
4
BOOT
3
31
PJ4
120
PJ5
TESTX
PJ3
2
32
1
33
119
VSS
118
VDD
PJ1
PJ2
Digital IO-Ports
26
PPG
Digital I/O-Ports
CAN
UART
Digital I/O-Ports
32KHz
Osc.
4MHz Osc.
第 1 章 MB91360 シリーズの概要
■ MB91366GA の端子図
図 1.5-9 に , MB91366GA の端子図を示します。
図 1.5-9 MB91366GA 端子図
SOT4
VSS
VDD
SIN3
66
63
SOT3
67
62
VSS
SCK3
69
68
SCK4
OCPA0
70
SIN4
OCPA1
72
71
64
OCPA2
74
65
OCPA5
OCPA4
OCPA3
75
OCPA7
OCPA6
77
76
RX0
TX0
79
78
82
RX1
VDD
83
TX1
VSS
84
80
SIN0
85
81
SIN1
SOT0
86
PG0
SOT1
88
87
PG1
PG2
90
89
61
INITX
PG3
91
60
PG4
92
59
MD2
PG5
93
58
MD1
VDD
94
57
MD0
HVSS
95
56
VDD
PWM1P0
96
55
OUT1
PWM1M0
97
54
OUT0
PWM2P0
98
53
IN3
OCU
99
52
IN2
HVDD
100
PWM1P1
101
51
50
IN1
IN0
49
VSS
48
VCC3C
PWM2M0
PWM1M1
102
PWM2P1
103
PWM2M1
104
HVSS
105
PWM1P2
106
PWM1M2
107
PWM2P2
108
PWM2M2
109
MB91366GA
120-Pin plastic
QFP
47
VDD
46
INT7
45
INT6
44
INT5
43
INT4
42
INT3
HVDD
110
41
PWM1P3
111
40
INT2
INT1
PWM1M3
112
39
INT0
PWM2P3
113
38
MONCLK
PWM2M3
114
37
HVSS
115
36
VSS
X1
VDD
116
35
X0
Digital IO-Ports
26
27
28
29
30
X0A
X1A
ALARM
VSS
23
AN4
AN7
22
AN3
24
21
AN2
25
20
AN1
AN6
18
19
AVSS/AVRL
AN0
ADC
AN5
16
17
15
VSS
AVCC
14
VDD
I 2C
AVRH
12
13
SCL
SGA
Sound
SDA
10
11
SGO
9
7
8
PI3
6
VDD
VSS
5
PJ7
BOOT
PJ6
TESTX
31
4
32
120
3
119
PJ3
PJ5
PJ2
PJ4
VDD
CPUTESTX
2
34
33
1
117
118
VSS
PJ0
PJ1
VDD
SMC
SIO
PPG
CAN
73
UART
Digital IO-Ports
ICU
ext. Int.
4MHz Osc.
32KHz Osc.
27
第 1 章 MB91360 シリーズの概要
1.6
端子機能説明
MB91FV360GA, MB91F362GB, および MB91F369GA の端子配列の一覧および各回
路の種類の説明を示します。
■ MB91FV360GA の入出力端子とその機能
表 1.6-1 に , MB91FV360GA の入出力端子とその機能を示します。
表 1.6-1 MB91FV360GA の入出力端子とその機能 (1 / 11)
汎用 I/O
ポート
端子番号
端子名
I/O
1
D18
I/O
Q
外部バスデータビット 18
2
D11
I/O
Q
外部バスデータビット 11
3
D2
I/O
Q
外部バスデータビット 2
4
28
回路の種類
機能
接続しない
5
HVSS
6
HVDD5B
7
PWM2M1
I/O
PR7
M
SMC 1
8
PWM1M1
I/O
PR5
K
SMC 1
9
PWM1P0
I/O
PR0
K
SMC 0
10
VDD5R
11
VDD5P
12
SCK4
I/O
PN2
A
SIO クロック
13
VDD5J
14
EXRAM
I
P
トレース制御
15
TWRX
O
X
トレース制御
16
TAD9
O
X
トレースアドレス
17
TAD5
O
X
トレースアドレス
18
TAD3
O
X
トレースアドレス
19
TDT68
I/O
W
トレースデータ
20
TDT63
I/O
W
トレースデータ
21
TDT57
I/O
W
トレースデータ
22
TDT49
I/O
W
トレースデータ
23
TDT23
I/O
W
トレースデータ
24
TDT16
I/O
W
トレースデータ
25
TDT7
I/O
W
トレースデータ
26
TDT2
I/O
W
トレースデータ
27
ICD0
I/O
N
ICE データ
28
ICLK
IO
L
ICE クロック
29
X0
H
4 MHz 発振用端子
30
INITX
U
初期化端子
I
第 1 章 MB91360 シリーズの概要
表 1.6-1 MB91FV360GA の入出力端子とその機能 (2 / 11)
端子番号
端子名
I/O
31
MD1
I
32
IN3
I/O
33
INT3
34
汎用 I/O
ポート
回路の種類
機能
T
モード端子 1
PL3
A
ICU 入力 3
I/O
PK3
A
外部割込み 3
AN3
I/O
PH3
B
ADC 入力 3
35
DACK2
I/O
PB6
A
DMA 要求受付出力 2
36
AN13
I/O
PG5
B
ADC 入力 13
37
AN8
I/O
PG0
B
ADC 入力 8
38
ALE
I/O
P91
A
外部バス制御
39
WR1X
I/O
P85
S
外部バス制御
40
RDX
I/O
P83
S
外部バス制御
41
CS7X
I/O
A
チップセレクト 7(CAN)
42
A26
I/O
Q
外部バスアドレスビット 26
43
A20
I/O
Q
外部バスアドレスビット 20
44
A12
I/O
Q
外部バスアドレスビット 12
45
D21
I/O
Q
外部バスデータビット 21
46
D16
I/O
Q
外部バスデータビット 16
47
D13
I/O
Q
外部バスデータビット 13
48
D7
I/O
Q
外部バスデータビット 7
49
D3
I/O
Q
外部バスデータビット 3
50
VSS
51
PWM2P2
I/O
PS2
K
SMC 2
52
PWM2P1
I/O
PR6
K
SMC 1
53
PWM1P1
I/O
PR4
K
SMC 1
54
接続しない
55
SIN1
I/O
PQ2
A
UART 1 入力
56
TX3
I/O
PP6
Q
CAN 3 TX
57
SOT3
I/O
PN4
A
SIO 出力
58
SOT4
I/O
PN0
A
SIO 出力
59
接続しない
60
接続しない
61
SGO
I/O
62
TOEX
63
PM0
A
サウンド生成器 SGO
O
X
トレース制御
TAD8
O
X
トレースアドレス
64
TAD2
O
X
トレースアドレス
65
TDT67
I/O
W
トレースデータ
66
TDT60
I/O
W
トレースデータ
67
TDT54
I/O
W
トレースデータ
68
TDT48
I/O
W
トレースデータ
69
TDT26
I/O
W
トレースデータ
29
第 1 章 MB91360 シリーズの概要
表 1.6-1 MB91FV360GA の入出力端子とその機能 (3 / 11)
30
汎用 I/O
ポート
端子番号
端子名
I/O
70
TDT21
I/O
W
トレースデータ
71
TDT18
I/O
W
トレースデータ
72
TDT12
I/O
W
トレースデータ
73
TDT8
I/O
W
トレースデータ
74
TDT3
I/O
W
トレースデータ
75
ICS2
O
G
ICE ステータス
76
VDD5F
77
RSTX
I
E
リセット端子
78
OUT2
I/O
PL6
A
OCU 出力 2
79
IN0
I/O
PL0
A
ICU 入力 0
80
INT2
I/O
PK2
A
外部割込み 2
81
AN6
I/O
PH6
B
ADC 入力 6
82
AN1
I/O
PH1
B
ADC 入力 1
83
AVCC
84
DEOP0
I/O
PB2
A
DMA 出力終了 0
85
AN14
I/O
PG6
B
ADC 入力 14
86
AN9
I/O
PG1
B
ADC 入力 9
87
AS
I/O
P90
A
外部バス制御
88
BRQ
I/O
P82
A
外部バス制御
89
CS6X
I/O
P76
A
チップセレクト 6
90
A23
I/O
Q
外部バスアドレスビット 23
91
A17
I/O
Q
外部バスアドレスビット 17
92
A11
I/O
Q
外部バスアドレスビット 11
93
D27
I/O
Q
外部バスデータビット 27
94
D22
I/O
Q
外部バスデータビット 22
95
D17
I/O
Q
外部バスデータビット 17
96
D6
I/O
Q
外部バスデータビット 6
97
VDD5S
98
PWM1M3
I/O
PS5
K
SMC 3
99
PWM2M3
I/O
PS7
M
SMC 3
100
HVDD5A
101
PWM2P0
I/O
PR2
K
SMC 0
102
VCC3C
C
バイパスコンデンサ端子
103
SOT1
I/O
PQ3
A
UART 1 出力
104
SIN0
I/O
PQ0
A
UART 0 入力
105
TX1
I/O
PP2
Q
CAN 1 TX
106
OCPA2
I/O
PO2
A
PPG 出力
107
SCK3
I/O
PN5
A
SIO クロック
回路の種類
機能
アナログ VCC
第 1 章 MB91360 シリーズの概要
表 1.6-1 MB91FV360GA の入出力端子とその機能 (4 / 11)
端子番号
端子名
I/O
汎用 I/O
ポート
回路の種類
108
SIN4
I/O
PN1
A
SIO 入力
109
SCL
I/O
PM3
Y
I2C SCL
110
TCLK
I/O
W
トレース制御
111
TAD12
O
X
トレースアドレス
112
TAD15
O
X
トレースアドレス
113
TAD1
O
X
トレースアドレス
114
TDT65
I/O
W
トレースデータ
115
TDT59
I/O
W
トレースデータ
116
TDT55
I/O
W
トレースデータ
117
TDT51
I/O
W
トレースデータ
118
TDT42
I/O
W
トレースデータ
119
TDT32
I/O
W
トレースデータ
120
TDT27
I/O
W
トレースデータ
121
TDT22
I/O
W
トレースデータ
122
TDT11
I/O
W
トレースデータ
123
TDT4
I/O
W
トレースデータ
124
ICD3
I/O
N
ICE データ
125
TDT1
I/O
W
トレースデータ
126
SELCLK
I
F
クロック選択
127
NMIX
I
E
マスク不可割込み
128
OUT1
I/O
PL5
A
OCU 出力 1
129
IN1
I/O
PL1
A
ICU 入力 1
130
INT5
I/O
PK5
A
外部割込み 5
131
LED4
I/O
PJ4
J
LED ポート 4
132
ALARM
I
D
アラーム比較器入力
133
AN7
I/O
PH7
B
ADC 入力 7
134
AN2
I/O
PH2
B
ADC 入力 2
135
DACK0
I/O
PB1
A
DMA 要求受付出力 0
136
AN10
I/O
PG2
B
ADC 入力 10
137
CS0X
I/O
P94
A
チップセレクト 0
138
CS3X
I/O
P97
A
チップセレクト 2
139
BGRNTX
I/O
P81
A
外部バス制御
140
CS4X
I/O
P74
A
チップセレクト 4
141
A22
I/O
Q
外部バスアドレスビット 22
142
A18
I/O
Q
外部バスアドレスビット 18
143
A14
I/O
Q
外部バスアドレスビット 14
144
A5
I/O
Q
外部バスアドレスビット 5
145
INDEX
-
-
インデックス端子
-
機能
31
第 1 章 MB91360 シリーズの概要
表 1.6-1 MB91FV360GA の入出力端子とその機能 (5 / 11)
32
汎用 I/O
ポート
端子番号
端子名
I/O
146
D30
I/O
Q
外部バスデータビット 30
147
D26
I/O
Q
外部バスデータビット 26
148
D19
I/O
Q
外部バスデータビット 19
149
D10
I/O
Q
外部バスデータビット 10
150
D9
I/O
Q
外部バスデータビット 9
151
D5
I/O
Q
外部バスデータビット 5
152
PWM2M2
I/O
PS3
M
SMC 2
153
PWM1P3
I/O
PS4
K
SMC 3
154
PWM2M0
I/O
PR3
M
SMC 0
155
VSS
156
SOT2
I/O
PQ5
A
UART 2 出力
157
SOT0
I/O
PQ1
A
UART 0 出力
158
VDD5O
159
OCPA7
I/O
PO7
A
PPG 出力
160
OCPA5
I/O
PO5
A
PPG 出力
161
OCPA1
I/O
PO1
A
PPG 出力
162
VDD5K
163
X1A
O
I
32 kHz 発振用端子
164
X0A
I
I
32 kHz 発振用端子
165
SDA
I/O
Y
I2C SDA
166
TAD10
O
X
トレースアドレス
167
TAD11
O
X
トレースアドレス
168
TDT66
I/O
W
トレースデータ
169
TDT61
I/O
W
トレースデータ
170
TDT58
I/O
W
トレースデータ
171
TDT52
I/O
W
トレースデータ
172
TDT45
I/O
W
トレースデータ
173
TDT39
I/O
W
トレースデータ
174
TDT35
I/O
W
トレースデータ
175
TDT31
I/O
W
トレースデータ
176
TDT24
I/O
W
トレースデータ
177
TDT15
I/O
W
トレースデータ
178
TDT14
I/O
W
トレースデータ
179
TDT10
I/O
W
トレースデータ
180
ICD1
I/O
N
ICE データ
181
ICD2
I/O
N
ICE データ
182
HSTX
I
E
ハードウェアスタンバイ
183
OUT3
I/O
PL7
A
OCU 出力 3
184
OUT0
I/O
PL4
A
OCU 出力 0
PM2
回路の種類
機能
第 1 章 MB91360 シリーズの概要
表 1.6-1 MB91FV360GA の入出力端子とその機能 (6 / 11)
端子番号
端子名
I/O
汎用 I/O
ポート
回路の種類
185
INT6
I/O
PK6
A
外部割込み 6
186
LED7
I/O
PJ7
J
LED ポート 7
187
LED1
I/O
PJ1
J
LED ポート 1
188
CPUTESTX
I
E
テスト入力
189
DA1
O
C
DAC 出力
190
AN4
I/O
PH4
B
ADC 入力 4
191
DEOP1
I/O
PB5
A
DMA 出力終了 1
192
DACK1
I/O
PB4
A
DMA 確認応答 1
193
DREQ0
I/O
PB0
A
DMA リクエスト 0
194
CLK
I/O
P92
A
外部バスクロック
195
AH/BOOT
I/O
P93
A
外部バス制御 / ブートシングル
196
CS5X
I/O
P75
A
チップセレクト 5
197
A24
I/O
Q
外部バスアドレスビット 24
198
A21
I/O
Q
外部バスアドレスビット 21
199
A15
I/O
Q
外部バスアドレスビット 15
200
A8
I/O
Q
外部バスアドレスビット 8
201
A2
I/O
Q
外部バスアドレスビット 2
202
A0
I/O
Q
外部バスアドレスビット 0
203
D29
I/O
Q
外部バスデータビット 29
204
D25
I/O
Q
外部バスデータビット 25
205
D20
I/O
Q
外部バスデータビット 20
206
D15
I/O
Q
外部バスデータビット 15
207
D4
I/O
Q
外部バスデータビット 4
208
HVDD5C
209
PWM1M2
I/O
PS1
K
SMC 2
210
PWM1P2
I/O
PS0
K
SMC 2
211
PWM1M0
I/O
PR1
K
SMC 0
212
SIN2
I/O
PQ4
A
UART 2 入力
213
RX3
I/O
PP7
Q
CAN 3 RX
214
VSS
215
RX0
I/O
PP1
Q
CAN 0 RX
216
VDD5N
217
OCPA4
I/O
PO4
A
PPG 出力
218
OCPA0
I/O
PO0
A
PPG 出力
219
SIN3
I/O
PN3
A
SIO 入力
220
VSS
221
SGA
I/O
PM1
A
サウンド生成器 SGA
222
TAD13
O
X
トレースアドレス
機能
33
第 1 章 MB91360 シリーズの概要
表 1.6-1 MB91FV360GA の入出力端子とその機能 (7 / 11)
汎用 I/O
ポート
端子番号
端子名
I/O
223
TAD7
O
X
トレースアドレス
224
TAD6
O
X
トレースアドレス
225
TDT64
I/O
W
トレースデータ
226
TDT56
I/O
W
トレースデータ
227
TDT50
I/O
W
トレースデータ
228
TDT44
I/O
W
トレースデータ
229
TDT41
I/O
W
トレースデータ
230
TDT37
I/O
W
トレースデータ
231
TDT34
I/O
W
トレースデータ
232
TDT30
I/O
W
トレースデータ
233
TDT25
I/O
W
トレースデータ
234
TDT20
I/O
W
トレースデータ
235
TDT9
I/O
W
トレースデータ
236
BREAK
I
O
ICE ブレーク
237
ICS1
O
G
ICE ステータス
238
ICS0
O
G
ICE ステータス
239
MD2
I
T
モード端子 2
240
IN2
I/O
PL2
A
ICU 入力 2
241
INT4
I/O
PK4
A
外部割込み 4
242
LED6
I/O
PJ6
J
LED ポート 6
243
LED3
I/O
PJ3
J
LED ポート 3
244
34
回路の種類
機能
接続しない
245
TESTX
I
E
テスト入力
246
DA0
O
C
DAC 出力 0
247
AN5
I/O
PH5
B
ADC 入力 5
248
AN0
I/O
PH0
B
ADC 入力 0
249
AN15
I/O
PG7
B
ADC 入力 15
250
CS1X
I/O
P95
A
チップセレクト 1
251
WR3X
I/O
P87
S
外部バス制御
252
WR2X
I/O
P86
S
外部バス制御
253
DREQ2
I/O
P73
A
DMA リクエスト 2
254
A19
I/O
Q
外部バスアドレスビット 19
255
A13
I/O
Q
外部バスアドレスビット 13
256
A7
I/O
Q
外部バスアドレスビット 7
257
A4
I/O
Q
外部バスアドレスビット 4
258
D31
I/O
Q
外部バスデータビット 31
259
D28
I/O
Q
外部バスデータビット 28
260
D23
I/O
Q
外部バスデータビット 23
第 1 章 MB91360 シリーズの概要
表 1.6-1 MB91FV360GA の入出力端子とその機能 (8 / 11)
汎用 I/O
ポート
端子番号
端子名
I/O
261
D14
I/O
Q
外部バスデータビット 14
262
D8
I/O
Q
外部バスデータビット 8
263
D1
I/O
Q
外部バスデータビット 1
264
D0
I/O
Q
外部バスデータビット 0
265
266
回路の種類
機能
接続しない
HVSS
267
接続しない
268
VSS
269
RX2
I/O
PP5
Q
CAN 2 RX
270
RX1
I/O
PP3
Q
CAN 1 RX
271
VSS
272
OCPA3
I/O
PO3
A
PPG 出力
273
VSS
274
接続しない
275
VDD5I
276
TADSCX
O
X
トレース制御
277
TCE1X
O
X
トレース制御
278
TAD4
O
X
トレースアドレス
279
TAD0
O
X
トレースアドレス
280
TDT62
I/O
W
トレースデータ
281
TDT53
I/O
W
トレースデータ
282
TDT47
I/O
W
トレースデータ
283
TDT43
I/O
W
トレースデータ
284
TDT36
I/O
W
トレースデータ
285
TDT33
I/O
W
トレースデータ
286
TDT28
I/O
W
トレースデータ
287
TDT19
I/O
W
トレースデータ
288
TDT13
I/O
W
トレースデータ
289
TDT6
I/O
W
トレースデータ
290
TDT5
I/O
W
トレースデータ
291
X1
H
4 MHz 発振用端子
292
MONCLK
O
G
テスト用クロック出力
293
MD0
I
T
モード端子 0
294
INT7
I/O
PK7
A
外部割込み 7
295
INT1
I/O
PK1
A
外部割込み 1
296
LED5
I/O
PJ5
J
LED ポート 5
297
LTESTX
I
E
テスト入力
298
ATGX
I/O
A
ADC トリガ
299
AVRLR
R
アナログ基準電圧 "L"
PI3
35
第 1 章 MB91360 シリーズの概要
表 1.6-1 MB91FV360GA の入出力端子とその機能 (9 / 11)
I/O
端子番号
端子名
300
AVRH
301
DREQ1
I/O
302
AN12
303
汎用 I/O
ポート
機能
R
アナログ基準電圧 "H"
PB3
A
DMA リクエスト 1
I/O
PG4
B
ADC 入力 12
AN11
I/O
PG3
B
ADC 入力 11
304
WR0X
I/O
P84
S
外部バス制御
305
RDY
I/O
S
外部バス制御
306
A25
I/O
Q
外部バスアドレスビット 25
307
A16
I/O
Q
外部バスアドレスビット 16
308
A10
I/O
Q
外部バスアドレスビット 10
309
A6
I/O
Q
外部バスアドレスビット 6
310
A1
I/O
Q
外部バスアドレスビット 1
312
D24
I/O
Q
外部バスデータビット 24
313
D12
I/O
Q
外部バスデータビット 12
311
接続しない
314
接続しない
315
PWM2P3
316
HVSS
317
HVSS
I/O
PS6
318
K
SMC 3
接続しない
319
VDD5Q
320
TX2
I/O
PP4
Q
CAN 2 TX
321
TX0
I/O
PP0
Q
CAN 0 TX
322
OCPA6
I/O
PO6
A
PPG 出力
323
VDD5M
324
VDD5L
325
接続しない
326
VDD5H
327
TAD14
328
VSS3
329
VSS3
O
330
36
回路の種類
X
トレースアドレス
接続しない
331
VDD3C
332
TDT46
I/O
W
トレースデータ
333
TDT40
I/O
W
トレースデータ
334
TDT38
I/O
W
トレースデータ
335
VDD3B
336
TDT29
I/O
W
トレースデータ
337
TDT17
I/O
W
トレースデータ
338
VDD3A
第 1 章 MB91360 シリーズの概要
表 1.6-1 MB91FV360GA の入出力端子とその機能 (10 / 11)
端子番号
端子名
I/O
339
TDT0
I/O
340
VSS
341
VSS
汎用 I/O
ポート
回路の種類
W
342
機能
トレースデータ
接続しない
343
VDD5E
344
INT0
I/O
PK0
A
外部割込み 0
345
LED2
I/O
PJ2
J
LED ポート 2
346
LED0
I/O
PJ0
J
LED ポート 0
347
VDD5D
348
AVSS
349
DEOP2
350
VDD5C
351
CS2X
352
VSS
353
VSS
354
VDD5B
アナログ VSS
I/O
PB7
A
DMA 出力終了 2
I/O
P96
A
チップセレクト 2
355
接続しない
356
A9
I/O
Q
外部バスアドレスビット 9
357
A3
I/O
Q
外部バスアドレスビット 3
358
VSS
359
VSS
360
VDD5T
361
VSS
362
VSS
363
VSS
364
接続しない
365
HVSS
366
VSS
367
VSS
368
接続しない
369
VSS
370
VSS
371
接続しない
372
VSS
373
VSS
374
VSS
375
VDD3D
376
VSS3
377
VSS3
37
第 1 章 MB91360 シリーズの概要
表 1.6-1 MB91FV360GA の入出力端子とその機能 (11 / 11)
端子番号
端子名
378
VSS3
379
汎用 I/O
ポート
回路の種類
接続しない
380
VSS3
381
VSS3
382
接続しない
383
VSS3
384
VSS3
385
VSS3
386
VDD5G
387
VSS
388
VSS
389
VSS
390
接続しない
391
VSS
392
VSS
393
接続しない
394
VSS
395
VSS
396
VSS
397
38
I/O
接続しない
398
VSS
399
VSS
400
VSS
401
VDD5A
機能
第 1 章 MB91360 シリーズの概要
■ MB91F362GB の入出力端子とその機能
表 1.6-2 に , MB91F362GB の入出力端子とその機能を示します。
表 1.6-2 MB91F362GB の入出力端子とその機能 (1 / 6)
汎用 I/O
ポート
端子番号
端子名
I/O
1
D24
I/O
Q
外部バスデータビット 24
2
D25
I/O
Q
外部バスデータビット 25
3
D26
I/O
Q
外部バスデータビット 26
4
D27
I/O
Q
外部バスデータビット 27
5
D28
I/O
Q
外部バスデータビット 28
6
D29
I/O
Q
外部バスデータビット 29
7
D30
I/O
Q
外部バスデータビット 30
8
D31
I/O
Q
外部バスデータビット 31
9
A0
I/O
Q
外部バスアドレスビット 0
10
A1
I/O
Q
外部バスアドレスビット 1
11
A2
I/O
Q
外部バスアドレスビット 2
12
A3
I/O
Q
外部バスアドレスビット 3
13
A4
I/O
Q
外部バスアドレスビット 4
14
A5
I/O
Q
外部バスアドレスビット 5
15
A6
I/O
Q
外部バスアドレスビット 6
16
A7
I/O
Q
外部バスアドレスビット 7
17
A8
I/O
Q
外部バスアドレスビット 8
18
A9
I/O
Q
外部バスアドレスビット 9
19
A10
I/O
Q
外部バスアドレスビット 10
20
A11
I/O
Q
外部バスアドレスビット 11
21
A12
I/O
Q
外部バスアドレスビット 12
22
A13
I/O
Q
外部バスアドレスビット 13
23
A14
I/O
Q
外部バスアドレスビット 14
24
A15
I/O
Q
外部バスアドレスビット 15
25
VDD35*
26
VSS
27
A16
I/O
Q
外部バスアドレスビット 16
28
A17
I/O
Q
外部バスアドレスビット 17
29
A18
I/O
Q
外部バスアドレスビット 18
30
A19
I/O
Q
外部バスアドレスビット 19
31
A20
I/O
Q
外部バスアドレスビット 20
32
CS4X
I/O
P74
A
チップセレクト 4
33
CS5X
I/O
P75
A
チップセレクト 5
34
CS6X
I/O
P76
A
チップセレクト 6
35
RDY
I/O
S
外部バス制御
回路の種類
機能
分離された外部バス用 VDD (3.3V または 5.0V)
39
第 1 章 MB91360 シリーズの概要
表 1.6-2 MB91F362GB の入出力端子とその機能 (2 / 6)
40
端子番号
端子名
I/O
汎用 I/O
ポート
回路の種類
36
BGRNTX
I/O
P81
A
外部バス制御
37
BRQ
I/O
P82
A
外部バス制御
38
RDX
I/O
S
外部バス制御
39
WR0X
I/O
S
外部バス制御
40
WR1X
I/O
S
外部バス制御
41
WR2X
I/O
S
外部バス制御
42
WR3X
I/O
S
外部バス制御
43
AS
I/O
P90
A
外部バス制御
44
ALE
I/O
P91
A
外部バス制御
45
CLK
I/O
A
外部バスクロック
46
AH
I/O
P93
A
外部バス制御信号
47
CS0X
I/O
P94
A
チップセレクト 0
48
CS1X
I/O
P95
A
チップセレクト 1
49
CS2X
I/O
P96
A
チップセレクト 2
50
CS3X
I/O
P97
A
チップセレクト 3
51
VDD35*
52
VSS
53
AN8
I/O
PG0
B
ADC 入力 8
54
AN9
I/O
PG1
B
ADC 入力 9
55
AN10
I/O
PG2
B
ADC 入力 10
56
AN11
I/O
PG3
B
ADC 入力 11
57
AN12
I/O
PG4
B
ADC 入力 12
58
AN13
I/O
PG5
B
ADC 入力 13
59
AN14
I/O
PG6
B
ADC 入力 14
60
AN15
I/O
PG7
B
ADC 入力 15
61
DREQ0
I/O
PB0
A
DMA 要求 0
62
DACK0
I/O
PB1
A
DMA 要求受付出力 0
63
DEOP0
I/O
PB2
A
DMA EOP 0
64
AVCC
65
AVRH
66
AN0
I/O
67
AN1
68
機能
分離された外部バス用 VDD (3.3V または 5.0V)
アナログ VCC
R
アナログ基準電圧 "H"
PH0
B
ADC 入力 0
I/O
PH1
B
ADC 入力 1
AN2
I/O
PH2
B
ADC 入力 2
69
AN3
I/O
PH3
B
ADC 入力 3
70
AN4
I/O
PH4
B
ADC 入力 4
71
AN5
I/O
PH5
B
ADC 入力 5
72
AN6
I/O
PH6
B
ADC 入力 6
73
AN7
I/O
PH7
B
ADC 入力 7
第 1 章 MB91360 シリーズの概要
表 1.6-2 MB91F362GB の入出力端子とその機能 (3 / 6)
I/O
汎用 I/O
ポート
端子番号
端子名
回路の種類
機能
74
AVSS, AVRL
75
DA0
O
C
DAC 出力 0
76
DA1
O
C
DAC 出力 1
77
ALARM
I
D
アラームコンパレータ入力
78
VSS
79
VDD
80
ATGX
I/O
A
ADC トリガ入力
81
TESTX
I
E
テスト入力 (VDD に接続してください )
82
CPUTESTX
I
E
テスト入力 (VDD に接続してください )
83
LTESTX
I
E
テスト入力 (VDD に接続してください )
84
LED0
I/O
PJ0
J
LED ポート 0
85
LED1
I/O
PJ1
J
LED ポート 1
86
LED2
I/O
PJ2
J
LED ポート 2
87
LED3
I/O
PJ3
J
LED ポート 3
88
LED4
I/O
PJ4
J
LED ポート 4
89
LED5
I/O
PJ5
J
LED ポート 5
90
LED6
I/O
PJ6
J
LED ポート 6
91
LED7
I/O
PJ7
J
LED ポート 7
92
VDD
93
VSS
94
INT0
I/O
PK0
A
外部割込み 0
95
INT1
I/O
PK1
A
外部割込み 1
96
INT2
I/O
PK2
A
外部割込み 2
97
INT3
I/O
PK3
A
外部割込み 3
98
INT4
I/O
PK4
A
外部割込み 4
99
INT5
I/O
PK5
A
外部割込み 5
100
INT6
I/O
PK6
A
外部割込み 6
101
INT7
I/O
PK7
A
外部割込み 7
102
IN0
I/O
PL0
A
ICU 入力 0
103
IN1
I/O
PL1
A
ICU 入力 1
104
IN2
I/O
PL2
A
ICU 入力 2
105
IN3
I/O
PL3
A
ICU 入力 3
106
OUT0
I/O
PL4
A
OCU 出力 0
107
OUT1
I/O
PL5
A
OCU 出力 1
108
OUT2
I/O
PL6
A
OCU 出力 2
109
OUT3
I/O
PL7
A
OCU 出力 3
110
VSS
111
MD0
T
モード端子 0
アナログ VSS, アナログ基準電圧 "L"
I
PI3
41
第 1 章 MB91360 シリーズの概要
表 1.6-2 MB91F362GB の入出力端子とその機能 (4 / 6)
42
汎用 I/O
ポート
端子番号
端子名
I/O
112
MD1
I
T
モード端子 1
113
MD2
I
T
モード端子 2
114
HSTX
I
E
ハードウェアスタンバイ
115
INITX
I
U
初期化端子
116
MONCLK
O
G
評価用システムクロック出力
117
SELCLK
I
F
クロック選択 , 必ず VDD に接続してください。
118
VDD
119
X0
H
4 MHz 発振用端子
120
X1
H
4 MHz 発振用端子
121
X0A
I
I
使用禁止 , 必ず VSS に接続してください。
122
X1A
O
I
使用禁止 , オープンにしてください
123
VSS
124
CPO
C
使用禁止 , オープンにしてください
125
VCI
D
使用禁止 , 必ず VSS に接続してください。
126
SGO
I/O
PM0
A
サウンド生成器 SGO
127
SGA
I/O
PM1
A
サウンド生成器 SGA
128
SDA
I/O
PM2
Y
I2C SDA
129
SCL
I/O
PM3
Y
I2C SCL
130
SOT4
I/O
PN0
A
SIO 出力
131
SIN4
I/O
PN1
A
SIO 入力
132
SCK4
I/O
PN2
A
SIO クロック
133
SIN3
I/O
PN3
A
SIO 入力
134
SOT3
I/O
PN4
A
SIO 出力
135
SCK3
I/O
PN5
A
SIO クロック
136
OCPA0
I/O
PO0
A
PPG 出力 0
137
OCPA1
I/O
PO1
A
PPG 出力 1
138
OCPA2
I/O
PO2
A
PPG 出力 2
139
OCPA3
I/O
PO3
A
PPG 出力 3
140
OCPA4
I/O
PO4
A
PPG 出力 4
141
OCPA5
I/O
PO5
A
PPG 出力 5
142
OCPA6
I/O
PO6
A
PPG 出力 6
143
OCPA7
I/O
PO7
A
PPG 出力 7
144
VDD
145
VSS
146
TX0
I/O
PP0
Q
CAN 0 TX
147
RX0
I/O
PP1
Q
CAN 0 RX
148
TX1
I/O
PP2
Q
CAN 1 TX
149
RX1
I/O
PP3
Q
CAN 1 RX
回路の種類
機能
第 1 章 MB91360 シリーズの概要
表 1.6-2 MB91F362GB の入出力端子とその機能 (5 / 6)
端子番号
端子名
I/O
汎用 I/O
ポート
回路の種類
150
TX2
I/O
PP4
Q
CAN 2 TX
151
RX2
I/O
PP5
Q
CAN 2 RX
152
SIN0
I/O
PQ0
A
UART 0 入力
153
SOT0
I/O
PQ1
A
UART 0 出力
154
SIN1
I/O
PQ2
A
UART 1 入力
155
SOT1
I/O
PQ3
A
UART 1 出力
156
SIN2
I/O
PQ4
A
UART 2 入力
157
SOT2
I/O
PQ5
A
UART 2 出力
158
VSS
C
バイパスキャパシタ端子
機能
159
VCC3C
160
VDD
161
HVSS
162
PWM1P0
I/O
PR0
K
SMC 0
163
PWM1M0
I/O
PR1
K
SMC 0
164
PWM2P0
I/O
PR2
K
SMC 0
165
PWM2M0
I/O
PR3
M
SMC 0
166
HVDD
167
PWM1P1
I/O
PR4
K
SMC 1
168
PWM1M1
I/O
PR5
K
SMC 1
169
PWM2P1
I/O
PR6
K
SMC 1
170
PWM2M1
I/O
PR7
M
SMC 1
171
HVSS
172
PWM1P2
I/O
PS0
K
SMC 2
173
PWM1M2
I/O
PS1
K
SMC 2
174
PWM2P2
I/O
PS2
K
SMC 2
175
PWM2M2
I/O
PS3
M
SMC 2
176
HVDD
177
PWM1P3
I/O
PS4
K
SMC 3
178
PWM1M3
I/O
PS5
K
SMC 3
179
PWM2P3
I/O
PS6
K
SMC 3
180
PWM2M3
I/O
PS7
M
SMC 3
181
HVSS
182
VDD35*
183
D0
I/O
Q
外部バスデータビット 0
184
D1
I/O
Q
外部バスデータビット 1
185
D2
I/O
Q
外部バスデータビット 2
186
D3
I/O
Q
外部バスデータビット 3
187
D4
I/O
Q
外部バスデータビット 4
188
D5
I/O
Q
外部バスデータビット 5
43
第 1 章 MB91360 シリーズの概要
表 1.6-2 MB91F362GB の入出力端子とその機能 (6 / 6)
汎用 I/O
ポート
端子番号
端子名
I/O
189
D6
I/O
Q
外部バスデータビット 6
190
D7
I/O
Q
外部バスデータビット 7
191
D8
I/O
Q
外部バスデータビット 8
192
D9
I/O
Q
外部バスデータビット 9
193
D10
I/O
Q
外部バスデータビット 10
194
D11
I/O
Q
外部バスデータビット 11
195
D12
I/O
Q
外部バスデータビット 12
196
D13
I/O
Q
外部バスデータビット 13
197
D14
I/O
Q
外部バスデータビット 14
198
VDD35*
199
VSS
200
D15
I/O
Q
外部バスデータビット 15
201
D16
I/O
Q
外部バスデータビット 16
202
D17
I/O
Q
外部バスデータビット 17
203
D18
I/O
Q
外部バスデータビット 18
204
D19
I/O
Q
外部バスデータビット 19
205
D20
I/O
Q
外部バスデータビット 20
206
D21
I/O
Q
外部バスデータビット 21
207
D22
I/O
Q
外部バスデータビット 22
208
D23
I/O
Q
外部バスデータビット 23
回路の種類
機能
分離された外部バス用 VDD (3.3V または 5.0V)
* : VDD35 端子 (25, 51, 182, 198) を 3.3V 電源に接続した場合 , 外部バスインタフェース ( 端子 1 ∼ 52, 182 ∼ 208) は
3.3V で動作します。
44
第 1 章 MB91360 シリーズの概要
■ MB91F364G の入出力端子とその機能
表 1.6-3 に , MB91F364G の入出力端子とその機能を示します。
表 1.6-3 MB91F364G の入出力端子とその機能 (1 / 4)
端子番号
端子名
I/O
汎用 I/O ポート
回路の種類
1
AN0
I/O
PH0
B
ADC 入力 0
2
AN1
I/O
PH1
B
ADC 入力 1
3
AN2
I/O
PH2
B
ADC 入力 2
4
AN3
I/O
PH3
B
ADC 入力 3
5
AN4
I/O
PH4
B
ADC 入力 4
6
AN5
I/O
PH5
B
ADC 入力 5
7
AVSS, AVRL
8
AVRH
9
AVCC
10
AN6
I/O
PH6
B
ADC 入力 6
11
AN7
I/O
PH7
B
ADC 入力 7
12
AN8
I/O
PG0
B
ADC 入力 8
13
AN9
I/O
PG1
B
ADC 入力 9
14
AN10
I/O
PG2
B
ADC 入力 10
15
AN11
I/O
PG3
B
ADC 入力 11
16
VSS
17
VDD
18
SDA
I/O
PM2
YA
I2C SDA
19
SCL
I/O
PM3
YA
I2C SCL
20
SOT0
I/O
PQ1
A
UART0 SOT
21
SIN0
I/O
PQ0
A
UART0 SIN
22
HSTX
I
F
ハードウェアスタンバイ
23
NMIX
I
E
NMI
24
SELCLK
I
F
RTC クロック選択
25
VDD
26
MONCLK
O
Q1
変調クロック出力
27
VSS
28
X1A
O
I
32 kHz 発振用端子
29
X0A
I
I
32 kHz 発振用端子
30
VDD
31
X1
O
H
4 MHz 発振用端子
32
X0
I
H
4 MHz 発振用端子
33
VSS
34
INT0
I/O
PK0
B
外部割込み 0
35
INT1
I/O
PK1
B
外部割込み 1
36
INT2
I/O
PK2
B
外部割込み 2
機能
AVSS, アナログ基準電圧 "L"
R
アナログ基準電圧 "H"
AVCC
45
第 1 章 MB91360 シリーズの概要
表 1.6-3 MB91F364G の入出力端子とその機能 (2 / 4)
端子番号
端子名
I/O
汎用 I/O ポート
回路の種類
37
INT3
I/O
PK3
B
外部割込み 3
38
INT4
I/O
PK4
B
外部割込み 4
39
INT5
I/O
PK5
B
外部割込み 5
40
INT6
I/O
PK6
B
外部割込み 6
41
INT7
I/O
PK7
B
外部割込み 7
42
VDD
43
VSS
44
IN0
I/O
PL0
B
ICU 入力 0 *1
45
IN1
I/O
PL1
B
ICU 入力 1 *1
46
IN2
I/O
PL2
B
ICU 入力 2 *1
47
IN3
I/O
PL3
B
ICU 入力 3 *1
48
OUT0
I/O
PL4
B
OCU 出力 0
49
OUT1
I/O
PL5
B
OCU 出力 1
50
OUT2
I/O
PL6
B
OCU 出力 2
51
OUT3
I/O
PL7
B
OCU 出力 3
52
VDD
53
VSS
54
TESTX
I
E
テスト入力
55
CPUTESTX
I
E
テスト入力
56
ATGX
I/O
A
ADC トリガ
57
MD0
I
T
モード端子 0
58
MD1
I
T
モード端子 1
59
MD2
I
T
モード端子 2
60
INITX
I
U
初期化端子
61
VDD
62
VCC3C
63
VCC3C
64
VSS
65
VDDI
66
VDDI
67
VDDI
68
BREAKX
69
VDD
70
VSS
71
46
PI3
機能
電源用コンデンサまたはコア電圧の外部電源用端
子
分離したコア電源
I
BREAKX
E
EDSU ブレークポイント端子
RX0
I/O
PP1
Q
CAN RX
72
TX0
I/O
PP0
Q
CAN TX
73
OCPA0
I/O
PO0
A
PPG 出力 0
74
OCPA1
I/O
PO1
A
PPG 出力 1
75
OCPA2
I/O
PO2
A
PPG 出力 2
第 1 章 MB91360 シリーズの概要
表 1.6-3 MB91F364G の入出力端子とその機能 (3 / 4)
端子番号
端子名
I/O
汎用 I/O ポート
回路の種類
76
OCPA3
I/O
PO3
A
PPG 出力 3
77
VSS
78
SIN5
I/O
PT0
A
USART5 SIN
79
SCK5
I/O
PT1
A
USART5 SCK
80
SOT5
I/O
PT2
A
USART5 SOT
81
SOT6
I/O
PT3
A
USART6 SOT
82
SCK6
I/O
PT4
A
USART6 SCK
83
SIN6
I/O
PT5
A
USART6 SIN
84
VDD
85
VSS
86
SIN3
I/O
PN3
A
SIO SIN
87
SOT3
I/O
PN4
A
SIO SOT
88
SCK3
I/O
PN5
A
SIO SCK
89
VSS
90
LTESTX
I
LTESTX
E
テスト端子
91
VDD
92
PR0
I/O
PR0
A
ポート R 0
93
PR1
I/O
PR1
A
ポート R 1
94
PR2
I/O
PR2
A
ポート R 2
95
PR3
I/O
PR3
A
ポート R 3
96
PR4
I/O
PR4
A
ポート R 4
97
PR5
I/O
PR5
A
ポート R 5
98
PR6
I/O
PR6
A
ポート R 6
99
PR7
I/O
PR7
A
ポート R 7
100
VSS
101
VDD
102
LED0
I/O
PJ0
J
LED ポート 0
103
LED1
I/O
PJ1
J
LED ポート 1
104
LED2
I/O
PJ2
J
LED ポート 2
105
LED3
I/O
PJ3
J
LED ポート 3
106
VSS
107
LED4
I/O
PJ4
J
LED ポート 4
108
LED5
I/O
PJ5
J
LED ポート 5
109
LED6
I/O
PJ6
J
LED ポート 6
110
LED7
I/O
PJ7
J
LED ポート 7
111
VSS
112
VDD
113
PO4
I/O
PO4
A
ポート O 4
114
PO5
I/O
PO5
A
ポート O 5
機能
47
第 1 章 MB91360 シリーズの概要
表 1.6-3 MB91F364G の入出力端子とその機能 (4 / 4)
端子番号
端子名
I/O
汎用 I/O ポート
回路の種類
115
PO6
I/O
PO6
A
ポート O 6
116
PO7
I/O
PO7
A
ポート O 7
117
DA0
O
C
*2
118
DA1
O
C
*2
119
VSS
120
VDD
機能
*1: ポート L の機能レジスタ・ビットがクリアされると , ICU 入力回線が LIN-USART の LSYNC 出
力に接続されます。
*2: デジタル・テスト機能には , DA1 および DA0 端子も使用されます。正常なシステム機能を実現
するため , ポート P のデータ方向レジスタ DDRP[3:2] およびポート P の機能レジスタ PFRP[3:2]
は , 常に "0" に設定してください。
48
第 1 章 MB91360 シリーズの概要
■ MB91F369GA の入出力端子とその機能
表 1.6-4 に , MB91F369GA の入出力端子とその機能を示します。
表 1.6-4 MB91F369GA の入出力端子とその機能 (1 / 5)
端子番号
端子名
I/O
1
A4
I/O
Q
外部バスアドレスビット 4
2
A5
I/O
Q
外部バスアドレスビット 5
3
A6
I/O
Q
外部バスアドレスビット 6
4
A7
I/O
Q
外部バスアドレスビット 7
5
A8
I/O
Q
外部バスアドレスビット 8
6
A9
I/O
Q
外部バスアドレスビット 9
7
A10
I/O
Q
外部バスアドレスビット 10
8
A11
I/O
Q
外部バスアドレスビット 11
9
VDD35*
10
CLK
11
VSS
12
汎用 I/O ポート
回路の種類
機能
分離された外バス用 VDD (3.3V または 5.0V)
I/O
A
外部バスクロック
A12
I/O
Q
外部バスアドレスビット 12
13
A13
I/O
Q
外部バスアドレスビット 13
14
A14
I/O
Q
外部バスアドレスビット 14
15
A15
I/O
Q
外部バスアドレスビット 15
16
A16
I/O
Q
外部バスアドレスビット 16
17
A17
I/O
Q
外部バスアドレスビット 17
18
A18
I/O
Q
外部バスアドレスビット 18
19
A19
I/O
Q
外部バスアドレスビット 19
20
A20
I/O
Q
外部バスアドレスビット 20
21
VDD35*
22
VSS
23
CS4X
I/O
P74
A
チップセレクト 4
24
CS5X
I/O
P75
A
チップセレクト 5
25
CS6X
I/O
P76
A
チップセレクト 6
26
RDX
I/O
S
外部バス制御
27
BGRNTX
I/O
P81
A
外部バス制御
28
BRQ
I/O
P82
A
外部バス制御
29
AS
I/O
P90
A
外部バス制御
30
ALE
I/O
P91
A
外部バス制御
31
AH
I/O
P93
A
外部バス制御信号
32
CS0X
I/O
P94
A
チップセレクト 0
33
CS1X
I/O
P95
A
チップセレクト 1
34
CS2X
I/O
P96
A
チップセレクト 2
35
CS3X
I/O
P97
A
チップセレクト 3
36
DREQ0
I/O
PB0
A
DMA 要求 0
分離された外部バス用 VDD (3.3V または 5.0V)
49
第 1 章 MB91360 シリーズの概要
表 1.6-4 MB91F369GA の入出力端子とその機能 (2 / 5)
50
端子番号
端子名
I/O
汎用 I/O ポート
回路の種類
37
DACK0
I/O
PB1
A
DMA 要求受付出力 0
38
DEOP0
I/O
PB2
A
DMA EOP 0
39
VSS
40
VDD35*
41
AVRH
42
AVCC
43
AVSS, AVRL
44
AN0
I/O
PH0
B
ADC 入力 0
45
AN1
I/O
PH1
B
ADC 入力 1
46
AN2
I/O
PH2
B
ADC 入力 2
47
AN3
I/O
PH3
B
ADC 入力 3
48
AN4
I/O
PH4
B
ADC 入力 4
49
AN5
I/O
PH5
B
ADC 入力 5
50
AN6
I/O
PH6
B
ADC 入力 6
51
AN7
I/O
PH7
B
ADC 入力 7
52
AN8
I/O
PG0
B
ADC 入力 8
53
AN9
I/O
PG1
B
ADC 入力 9
54
ALARM
I
D
アラームコンパレータ入力
55
VSS
56
VDD
57
ATGX
I/O
A
ADC トリガ入力
58
MD0
I
T
モード端子 0
59
MD1
I
T
モード端子 1
60
MD2
I
T
モード端子 2
61
HSTX
I
E
ハードウェアスタンバイ
62
INITX
I
U
初期化端子
63
TESTX
I
E
テスト入力 (VDD に接続してください )
64
CPUTESTX
I
E
テスト入力 (VDD に接続してください )
65
LTESTX
I
E
テスト入力 (VDD に接続してください )
66
VDD
67
VSS
68
INT0
I/O
PK0
A
外部割込み 0
69
INT1
I/O
PK1
A
外部割込み 1
70
INT2
I/O
PK2
A
外部割込み 2
71
INT3
I/O
PK3
A
外部割込み 3
72
INT4
I/O
PK4
A
外部割込み 4
73
INT5
I/O
PK5
A
外部割込み 5
74
INT6
I/O
PK6
A
外部割込み 6
75
INT7
I/O
PK7
A
外部割込み 7
機能
分離された外部バス用 VDD (3.3V または 5.0V)
R
アナログ基準電圧 "H"
アナログ VCC
アナログ VSS アナログ基準電圧 "L"
PI3
第 1 章 MB91360 シリーズの概要
表 1.6-4 MB91F369GA の入出力端子とその機能 (3 / 5)
端子番号
端子名
I/O
汎用 I/O ポート
回路の種類
76
SGO
I/O
PM0
A
サウンド生成器 SGO
77
SGA
I/O
PM1
A
サウンド生成器 SGA
78
SDA
I/O
PM2
Y
I2C SDA
79
SCL
I/O
PM3
Y
I2C SCL
80
SOT4
I/O
PN0
A
SIO 出力
81
SIN4
I/O
PN1
A
SIO 入力
82
SCK4
I/O
PN2
A
SIO クロック
83
SIN3
I/O
PN3
A
SIO 入力
84
SOT3
I/O
PN4
A
SIO 出力
85
SCK3
I/O
PN5
A
SIO クロック
86
VSS
87
VDDI
内部レギュレータ用電源
88
VDDI
内部レギュレータ用電源
89
VDDI
内部レギュレータ用電源
90
VDDI
内部レギュレータ用電源
91
VDD3C
92
VSS
93
TX0
I/O
PP0
Q
CAN 0 TX
94
RX0
I/O
PP1
Q
CAN 0 RX
95
TX1
I/O
PP2
Q
CAN 1 TX
96
RX1
I/O
PP3
Q
CAN 1 RX
97
SIN0
I/O
PQ0
A
UART 0 入力
98
SOT0
I/O
PQ1
A
UART 0 出力
99
VDD
100
VSS
101
OCPA0
I/O
PO0
A
PPG 出力
102
OCPA1
I/O
PO1
A
PPG 出力
103
OCPA2
I/O
PO2
A
PPG 出力
104
OCPA3
I/O
PO3
A
PPG 出力
105
VDD
106
X0
I
H
4 MHz 発振用端子
107
X1
O
H
4 MHz 発振用端子
108
VSS
109
VDD
110
MONCLK
O
Q1
システムクロック出力
111
VSS
112
VDD35*
113
VSS
114
WR3X
機能
内部レギュレータ用キャパシタ端子
分離された外部バス用 VDD (3.3V または 5.0V)
I/O
S
外部バス制御
51
第 1 章 MB91360 シリーズの概要
表 1.6-4 MB91F369GA の入出力端子とその機能 (4 / 5)
52
端子番号
端子名
I/O
115
WR2X
I/O
S
外部バス制御
116
WR1X
I/O
S
外部バス制御
117
WR0X
I/O
S
外部バス制御
118
RDY
I/O
S
外部バス制御
119
VDD35*
120
VSS
121
D0
I/O
Q
外部バスデータビット 0
122
D1
I/O
Q
外部バスデータビット 1
123
D2
I/O
Q
外部バスデータビット 2
124
D3
I/O
Q
外部バスデータビット 3
125
D4
I/O
Q
外部バスデータビット 4
126
D5
I/O
Q
外部バスデータビット 5
127
D6
I/O
Q
外部バスデータビット 6
128
D7
I/O
Q
外部バスデータビット 7
129
D8
I/O
Q
外部バスデータビット 8
130
D9
I/O
Q
外部バスデータビット 9
131
D10
I/O
Q
外部バスデータビット 10
132
D11
I/O
Q
外部バスデータビット 11
133
D12
I/O
Q
外部バスデータビット 12
134
D13
I/O
Q
外部バスデータビット 13
135
D14
I/O
Q
外部バスデータビット 14
136
D15
I/O
Q
外部バスデータビット 15
137
VDD35*
138
VSS
139
D16
I/O
Q
外部バスデータビット 16
140
D17
I/O
Q
外部バスデータビット 17
141
D18
I/O
Q
外部バスデータビット 18
142
D19
I/O
Q
外部バスデータビット 19
143
D20
I/O
Q
外部バスデータビット 20
144
D21
I/O
Q
外部バスデータビット 21
145
D22
I/O
Q
外部バスデータビット 22
146
D23
I/O
Q
外部バスデータビット 23
147
D24
I/O
Q
外部バスデータビット 24
148
D25
I/O
Q
外部バスデータビット 25
149
D26
I/O
Q
外部バスデータビット 26
150
D27
I/O
Q
外部バスデータビット 27
151
D28
I/O
Q
外部バスデータビット 28
152
D29
I/O
Q
外部バスデータビット 29
汎用 I/O ポート
回路の種類
機能
分離された外部バス用 VDD (3.3V または 5.0V)
分離された外部バス用 VDD (3.3V または 5.0V)
第 1 章 MB91360 シリーズの概要
表 1.6-4 MB91F369GA の入出力端子とその機能 (5 / 5)
端子番号
端子名
I/O
153
D30
I/O
Q
外部バスデータビット 30
154
D31
I/O
Q
外部バスデータビット 31
155
VDD35 *
156
VSS
157
A0
I/O
Q
外部バスアドレスビット 0
158
A1
I/O
Q
外部バスアドレスビット 1
159
A2
I/O
Q
外部バスアドレスビット 2
160
A3
I/O
Q
外部バスアドレスビット 3
汎用 I/O ポート
回路の種類
機能
分離された外部バス用 VDD (3.3V または 5.0V)
*: VDD35 (9, 21, 40, 112, 119, 137, 155) ピンを 3.3 V に接続した場合 , 外部バスインタフェース (1-40, 112-160) は 3.3 V で
動作できます。
53
第 1 章 MB91360 シリーズの概要
■ MB91F365GB/F366GB/F376G, MB91366GA の入出力端子とその機能
表 1.6-5 に , MB91F365GB/F366GB/F376G, MB91366GA の入出力端子とその機能を示し
ます。
表 1.6-5 MB91F365GB/F366GB/F376G, MB91366GA の入出力端子とその機能 (1 / 4)
I/O
汎用 I/O ポート
回路の種類
(FLASH 品 )
回路の種類
(ROM 品 )
PJ4
I/O
PJ4
A
A
ポート J4
4
PJ5
I/O
PJ5
A
A
ポート J5
5
PJ6
I/O
PJ6
A
A
ポート J6
6
PJ7
I/O
PJ7
A
A
ポート J7
7
PI3
I/O
PI3
A
A
ポート I3
8
VDD
9
VSS
10
SGO
I/O
PM0
A
A
サウンド生成器 SGO
11
SGA
I/O
PM1
A
A
サウンド生成器 SGA
12
SDA
I/O
PM2
Y
Y
I2C SDA ( 内部 pull-up なし )
13
SCL
I/O
PM3
Y
Y
I2C SCL ( 内部 pull-up なし )
14
VDD
15
VSS
16
AVRH
R
R
アナログ基準電圧 "H"
17
AVCC
18
AVSS, AVRL
19
AN0
I/O
PH0
B
B
ADC0 入力
20
AN1
I/O
PH1
B
B
ADC1 入力
21
AN2
I/O
PH2
B
B
ADC2 入力
22
AN3
I/O
PH3
B
B
ADC3 入力
23
AN4
I/O
PH4
B
B
ADC4 入力
24
AN5
I/O
PH5
B
B
ADC5 入力
25
AN6
I/O
PH6
B
B
ADC6 入力
26
AN7
I/O
PH7
B
B
ADC7 入力
DA0
O
C
C
DAC 出力 (MB91F365GB)
I
I
I
32 kHz 発振用端子 (MB91F366GB/
366GA/MB91F376G)
O
C
C
DAC 出力 (MB91F365GB)
O
I
I
32 kHz 発振用端子 (MB91F366GB/
366GA/MB91F376G)
I
D
D
アラームコンパレータ入力
A
A
ブート端子 ( 注意事項参照 )
端子番号
端子名
1
VDD
2
VSS
3
27
X0A
DA1
28
X1A
54
29
ALARM
30
VSS
31
BOOT
機能
アナログ VCC
アナログ基準電圧 "L"/ アナログ VSS
I/O
P93
第 1 章 MB91360 シリーズの概要
表 1.6-5 MB91F365GB/F366GB/F376G, MB91366GA の入出力端子とその機能 (2 / 4)
回路の種類
(FLASH 品 )
回路の種類
(ROM 品 )
I
E
E
テストモード端子
I
E
E
テストモード端子
X0
I
H
H
4 MHz 発振用端子
36
X1
O
H
H
4 MHz 発振用端子
37
VSS
38
MONCLK
O
G
G
クロック出力
39
INT0
I/O
PK0
A
A
外部割込み 0
40
INT1
I/O
PK1
A
A
外部割込み 1
41
INT2
I/O
PK2
A
A
外部割込み 2
42
INT3
I/O
PK3
A
A
外部割込み 3
43
INT4
I/O
PK4
A
A
外部割込み 4
44
INT5
I/O
PK5
A
A
外部割込み 5
45
INT6
I/O
PK6
A
A
外部割込み 6
46
INT7
I/O
PK7
A
A
外部割込み 7
47
VDD
48
VCC3C
49
VSS
50
IN0
I/O
PL0
A
A
ICU 入力 0
51
IN1
I/O
PL1
A
A
ICU 入力 1
52
IN2
I/O
PL2
A
A
ICU 入力 2
53
IN3
I/O
PL3
A
A
ICU 入力 3
54
OUT0
I/O
PL4
A
A
OCU 出力 0
55
OUT1
I/O
PL5
A
A
OCU 出力 1
56
VDD
57
MD0
I
T
F
モード端子 0
58
MD1
I
T
F
モード端子 1
59
MD2
I
T
F
モード端子 2
60
INITX
I
U
U
初期化端子
61
VDD
62
VSS
63
SOT4
I/O
PN0
A
A
SIO4 出力
64
SIN4
I/O
PN1
A
A
SIO4 入力
65
SCK4
I/O
PN2
A
A
SIO4 クロック
66
SIN3
I/O
PN3
A
A
SIO3 入力
67
SOT3
I/O
PN4
A
A
SIO3 出力
68
SCK3
I/O
PN5
A
A
SIO3 クロック
69
VSS
端子番号
端子名
I/O
32
TESTX
33
CPUTESTX
34
VDD
35
汎用 I/O ポート
機能
内部電源電圧端子
内部電源用コンデンサ端子
内部電源電圧端子
内部電源電圧端子
55
第 1 章 MB91360 シリーズの概要
表 1.6-5 MB91F365GB/F366GB/F376G, MB91366GA の入出力端子とその機能 (3 / 4)
端子番号
端子名
I/O
汎用 I/O ポート
回路の種類
(FLASH 品 )
回路の種類
(ROM 品 )
70
OCPA0
I/O
PO0
A
A
PPG0 出力
71
OCPA1
I/O
PO1
A
A
PPG1 出力
72
OCPA2
I/O
PO2
A
A
PPG2 出力
73
OCPA3
I/O
PO3
A
A
PPG3 出力
74
OCPA4
I/O
PO4
A
A
PPG4 出力
75
OCPA5
I/O
PO5
A
A
PPG5 出力
76
OCPA6
I/O
PO6
A
A
PPG6 出力
77
OCPA7
I/O
PO7
A
A
PPG7 出力
78
TX0
I/O
PP0
Q
Q
CAN0 TX 出力
79
RX0
I/O
PP1
Q
Q
CAN0 RX 出力
80
TX1
I/O
PP2
Q
Q
CAN1 TX 出力
81
RX1
I/O
PP3
Q
Q
CAN1 RX 出力
82
VDD
83
VSS
84
SIN0
I/O
PQ0
A
A
UART0 入力
85
SOT0
I/O
PQ1
A
A
UART0 出力
86
SIN1
I/O
PQ2
A
A
UART1 入力
87
SOT1
I/O
PQ3
A
A
UART1 出力
88
PG0
I/O
PG0
A
A
ポート G0
89
PG1
I/O
PG1
A
A
ポート G1
90
PG2
I/O
PG2
A
A
ポート G2
91
PG3
I/O
PG3
A
A
ポート G3
92
PG4
I/O
PG4
A
A
ポート G4
93
PG5
I/O
PG5
A
A
ポート G5
94
VDD
95
HVSS
96
PWM1P0
I/O
PR0
K
K
SMC0
97
PWM1M0
I/O
PR1
K
K
SMC0
98
PWM2P0
I/O
PR2
K
K
SMC0
99
PWM2M0
I/O
PR3
M
M
SMC0
100
HVDD
101
PWM1P1
I/O
PR4
K
K
SMC1
102
PWM1M1
I/O
PR5
K
K
SMC1
103
PWM2P1
I/O
PR6
K
K
SMC1
104
PWM2M1
I/O
PR7
M
M
SMC1
105
HVSS
106
PWM1P2
I/O
PS0
K
K
SMC2
107
PWM1M2
I/O
PS1
K
K
SMC2
56
機能
SMC VSS
SMC VDD
SMC VSS
第 1 章 MB91360 シリーズの概要
表 1.6-5 MB91F365GB/F366GB/F376G, MB91366GA の入出力端子とその機能 (4 / 4)
端子番号
端子名
I/O
汎用 I/O ポート
回路の種類
(FLASH 品 )
回路の種類
(ROM 品 )
108
PWM2P2
I/O
PS2
K
K
SMC2
109
PWM2M2
I/O
PS3
M
M
SMC2
110
HVDD
111
PWM1P3
I/O
PS4
K
K
SMC3
112
PWM1M3
I/O
PS5
K
K
SMC3
113
PWM2P3
I/O
PS6
K
K
SMC3
114
PWM2M3
I/O
PS7
M
M
SMC3
115
HVSS
116
VDD
117
PJ0
I/O
PJ0
A
A
ポート J0
118
PJ1
I/O
PJ1
A
A
ポート J1
119
PJ2
I/O
PJ2
A
A
ポート J2
120
PJ3
I/O
PJ3
A
A
ポート J3
( 注意事項 )
機能
SMC VDD
端子 31 (BOOT) は , デフォルトで "L" になっていなければなりません ( プルダウン抵抗 ) 。リセット / ブート
時のディスターバンスを回避するため , いかなる用途においても , この端子は出力としてのみ使用することを
推奨します。
57
第 1 章 MB91360 シリーズの概要
■ MB91F367GB/F368GB の入出力端子とその機能
表 1.6-6 に , MB91F367GB/F368GB の入出力端子とその機能を示します。
表 1.6-6 MB91F367GB/F368GB の入出力端子とその機能 (1 / 4)
I/O
汎用 I/O
ポート
回路の種類
PJ4
I/O
PJ4
A
ポート J4
4
PJ5
I/O
PJ5
A
ポート J5
5
PJ6
I/O
PJ6
A
ポート J6
6
PJ7
I/O
PJ7
A
ポート J7
7
PI3
I/O
PI3
A
ポート I3
8
VDD
9
VSS
10
PM0
I/O
PM0
A
ポート M0
11
PM1
I/O
PM1
A
ポート M1
12
SDA
I/O
PM2
Y
I2C SDA ( 内部 pull-up なし )
13
SCL
I/O
PM3
Y
I2C SCL ( 内部 pull-up なし )
14
VDD
15
VSS
16
AVRH
R
アナログ基準電圧 "H"
17
AVCC
18
AVSS/AVRL
19
AN0
I/O
PH0
B
ADC0 入力
20
AN1
I/O
PH1
B
ADC1 入力
21
AN2
I/O
PH2
B
ADC2 入力
22
AN3
I/O
PH3
B
ADC3 入力
23
AN4
I/O
PH4
B
ADC4 入力
24
AN5
I/O
PH5
B
ADC5 入力
25
AN6
I/O
PH6
B
ADC6 入力
26
AN7
I/O
PH7
B
ADC7 入力
27
X0A
I
I
32 kHz 発振用端子 (MB91F368GB)
端子番号
端子名
1
VDD
2
VSS
3
アナログ VCC
アナログ基準電圧 "L"/ アナログ VSS
N.C.
28
X1A
未接続 (MB91F367GB)
O
I
N.C.
58
機能
32 kHz 発振用端子 (MB91F368GB)
未接続 (MB91F367GB)
29
ALARM
I
D
30
VSS
アラーム比較器入力
31
BOOT
I/O
A
ブート端子 ( 注意事項参照 )
32
TESTX
I
E
テストモード端子
33
CPUTESTX
I
E
テストモード端子
P93
第 1 章 MB91360 シリーズの概要
表 1.6-6 MB91F367GB/F368GB の入出力端子とその機能 (2 / 4)
I/O
汎用 I/O
ポート
端子番号
端子名
回路の種類
機能
34
VDD
35
X0
I
H
4 MHz 発振用端子
36
X1
O
H
4 MHz 発振用端子
37
VSS
38
MONCLK
O
G
クロック出力
39
INT0
I/O
PK0
A
外部割込み 0
40
INT1
I/O
PK1
A
外部割込み 1
41
INT2
I/O
PK2
A
外部割込み 2
42
INT3
I/O
PK3
A
外部割込み 3
43
INT4
I/O
PK4
A
外部割込み 4
44
INT5
I/O
PK5
A
外部割込み 5
45
INT6
I/O
PK6
A
外部割込み 6
46
INT7
I/O
PK7
A
外部割込み 7
47
VDD
48
VCC3C
49
VSS
50
IN0
I/O
PL0
A
ICU0 入力
51
IN1
I/O
PL1
A
ICU1 入力
52
IN2
I/O
PL2
A
ICU2 入力
53
IN3
I/O
PL3
A
ICU3 入力
54
OUT0
I/O
PL4
A
OCU 出力 0
55
OUT1
I/O
PL5
A
OCU 出力 1
56
VDD
57
MD0
I
T
モード端子 0
58
MD1
I
T
モード端子 1
59
MD2
I
T
モード端子 2
60
INITX
I
U
初期化端子
61
VDD
62
VSS
63
SOT4
I/O
PN0
A
SIO4 出力
64
SIN4
I/O
PN1
A
SIO4 入力
65
SCK4
I/O
PN2
A
SIO4 クロック
66
SIN3
I/O
PN3
A
SIO3 入力
67
SOT3
I/O
PN4
A
SIO3 出力
68
SCK3
I/O
PN5
A
SIO3 クロック
69
VSS
70
OCPA0
I/O
PO0
A
PPG 出力 0
71
OCPA1
I/O
PO1
A
PPG 出力 1
内部電源電圧端子
内部電源用コンデンサ端子
内部電源電圧端子
内部電源電圧端子
59
第 1 章 MB91360 シリーズの概要
表 1.6-6 MB91F367GB/F368GB の入出力端子とその機能 (3 / 4)
60
端子番号
端子名
I/O
汎用 I/O
ポート
回路の種類
72
OCPA2
I/O
PO2
A
PPG 出力 2
73
OCPA3
I/O
PO3
A
PPG 出力 3
74
PO4
I/O
PO4
A
ポート O4
75
PO5
I/O
PO5
A
ポート O5
76
PO6
I/O
PO6
A
ポート O6
77
PO7
I/O
PO7
A
ポート O5
78
TX0
I/O
PP0
Q
CAN0 TX 出力
79
RX0
I/O
PP1
Q
CAN0 RX 出力
80
TX1
I/O
PP2
Q
CAN1 TX 出力
81
RX1
I/O
PP3
Q
CAN1 RX 出力
82
VDD
83
VSS
84
SIN0
I/O
PQ0
A
UART0 入力
85
SOT0
I/O
PQ1
A
UART0 出力
86
PQ2
I/O
PQ2
A
ポート Q2
87
PQ3
I/O
PQ3
A
ポート Q3
88
PG0
I/O
PG0
A
ポート G0
89
PG1
I/O
PG1
A
ポート G1
90
PG2
I/O
PG2
A
ポート G2
91
PG3
I/O
PG3
A
ポート G3
92
PG4
I/O
PG4
A
ポート G4
93
PG5
I/O
PG5
A
ポート G5
94
VDD
95
VSS
96
PR0
I/O
PR0
K
ポート R0
97
PR1
I/O
PR1
K
ポート R1
98
PR2
I/O
PR2
K
ポート R2
99
PR3
I/O
PR3
M
ポート R3
100
HVDD
101
PR4
I/O
PR4
K
ポート R4
102
PR5
I/O
PR5
K
ポート R5
103
PR6
I/O
PR6
K
ポート R6
104
PR7
I/O
PR7
M
ポート R7
105
VSS
106
PS0
I/O
PS0
K
ポート S0
107
PS1
I/O
PS1
K
ポート S1
108
PS2
I/O
PS2
K
ポート S2
109
PS3
I/O
PS3
M
ポート S3
機能
ポート R, ポート S 用 VDD
第 1 章 MB91360 シリーズの概要
表 1.6-6 MB91F367GB/F368GB の入出力端子とその機能 (4 / 4)
I/O
汎用 I/O
ポート
端子番号
端子名
110
HVDD
111
PS4
I/O
PS4
K
ポート S4
112
PS5
I/O
PS5
K
ポート S5
113
PS6
I/O
PS6
K
ポート S6
114
PS7
I/O
PS7
M
ポート S7
115
VSS
116
VDD
117
PJ0
I/O
PJ0
A
ポート J0
118
PJ1
I/O
PJ1
A
ポート J1
119
PJ2
I/O
PJ2
A
ポート J2
120
PJ3
I/O
PJ3
A
ポート J3
( 注意事項 )
回路の種類
機能
ポート R, ポート S 用 VDD
端子 31 (BOOT) は , デフォルトで "L" になっていなければなりません ( プルダウン抵抗 ) 。
リセット / ブート時のディスターバンスを回避するため , いかなる用途においても , この
端子は出力としてのみ使用することを推奨します。
61
第 1 章 MB91360 シリーズの概要
■ 回路の種類
表 1.6-7 に , 回路の種類とその説明を示します。
表 1.6-7 回路の種類
回路の種類
A
入出力 , IOH=-4mA/IOL=4mA, CMOS オートモーティブシュミットトリガ入力 ,
B
入出力 , IOH=-4mA/IOL=4mA, CMOS オートモーティブシュミットトリガ入力 ,
STOP 制御
アナログ入力 , STOP 制御
C
アナログ出力
D
アナログ入力
E
CMOS シュミットトリガ入力 , 50kΩ プルアップ抵抗
F
CMOS シュミットトリガ入力
G
トライステート出力 , IOH=-4mA/IOL=4mA
H
4 MHz Oscillator Pin
I
32 kHz Oscillator Pin
J
入出力 , IOH=-14mA/IOL=24mA, CMOS オートモーティブシュミットトリガ入力 ,
STOP 制御 (LED)
K
入出力 , IOH=-30mA/IOL=30mA, CMOS オートモーティブシュミットトリガ入力 ,
L
入出力 , IOH=-4mA/IOL=4mA, CMOS 入力 (5V または 3V 入力 )
M
入出力 , IOH=-30mA/IOL=30mA, CMOS オートモーティブシュミットトリガ入力 ,
N
入出力 , IOH=-4mA/IOL=4mA, CMOS 入力 , 50kΩ プルダウン抵抗 (5V または 3V 入力 )
O
CMOS 入力 , 50kΩ プルダウン抵抗 (5V または 3V 入力 )
P
CMOS 入力 ; 3V 入力
Q
入出力 , IOH=-4mA/IOL=4mA, CMOS 入力 , STOP 制御
Q1
入出力 , IOH=-8mA/IOL=8mA, CMOS 入力 , STOP 制御
R
AVRL/AVRH 入力
S
入出力 , IOH=-4mA/IOL=4mA, CMOS 入力 , STOP 制御 , 10kΩ プルアップ抵抗
T
CMOS 入力 , フラッシュプログラミングに対して高耐圧入力
U
CMOS オートモーティブシュミットトリガ入力 , 50kΩ プルアップ抵抗 , コアへの
3.3V, および 5V 入力
W
入出力 , IOH=-4mA/IOL=4mA, CMOS 入力 , 3V 入力
X
トライステート出力 , IOH=-4mA/IOL=4mA, 3V
Y
入出力 , IOH=-3mA/IOL=3mA(I2C), CMOS 入力 , STOP 制御
YA
62
説明
STOP 制御 , EMC 用に改良されたスルーレート (SMC)
アナログ入力 , STOP 制御 , EMC 用に改良されたスルーレート (SMC)
入出力 , IOH=-3mA/IOL=3mA(I2C), CMOS シュミットトリガ入力 , STOP 制御
第 1 章 MB91360 シリーズの概要
1.7
入出力回路の種類
表 1.7-1 に , 表 1.6-7 で示した入出力回路の詳細を示します。
■ 入出力回路の種類
表 1.7-1 入出力回路の種類 (1 / 6)
形式
回路の種類
備考
A
P
デジタル出力
N
デジタル出力
R
• 入出力 , CMOS オートモーティブ
シュミットトリガ入力 , STOP 制御 ,
IOH=-4mA, IOL=4mA
V SS
デジタル入力
ストップ制御
B
アナログ入力
R
P
デジタル出力
N
デジタル出力
R
• 入出力 , CMOS オートモーティブ
シュミットトリガ入力 , アナログ入力 ,
STOP 制御 , IOH=-4mA, IOL=4mA
V SS
デジタル入力
ストップ制御
C
• アナログ出力
V CC
P
N
V SS
アナログ出力
63
第 1 章 MB91360 シリーズの概要
表 1.7-1 入出力回路の種類 (2 / 6)
形式
回路の種類
備考
D
• アナログ入力
VCC
P
N
R
VSS
アナログ入力
E
V CC
VCC
P
• CMOS シュミットトリガ入力 ,
50kΩ プルアップ
P
N
R
VSS
VSS
デジタル入力
F
• CMOS シュミットトリガ入力
V CC
P
N
R
VSS
デジタル入力
G
• トライステート出力 , IOH=-4mA,
IOL=4mA
VCC
P
デジタル出力
N
デジタル出力
V SS
H
• 4 MHz 発振器端子
X1
クロック入力
X0
ストップ制御
64
第 1 章 MB91360 シリーズの概要
表 1.7-1 入出力回路の種類 (3 / 6)
形式
回路の種類
備考
I
• 32 kHz 発振器端子
X1A
クロック入力
X0A
ストップ制御
J
P
R
デジタル出力
N
• 入出力 , CMOS シュミットトリガ入力 ,
STOP 制御 (LED), IOH=-12mA,
IOL=24mA
デジタル出力
V SS
デジタル入力
ストップ制御
K
R
P
デジタル出力
N
デジタル出力
• 入出力 , CMOS シュミットトリガ入力 ,
STOP 制御 (SMC), IOH=-30mA,
IOL=30mA
• 代表的スルーレート 40ns
V SS
デジタル入力
ストップ制御
L
V CC
R
P
デジタル出力
N
デジタル出力
• 入出力 , CMOS 入力 (5V または 3V 入
力 ), IOH=-4mA, IOL=4mA
V SS
デジタル入力
65
第 1 章 MB91360 シリーズの概要
表 1.7-1 入出力回路の種類 (4 / 6)
形式
回路の種類
備考
M
アナログ入力
R
P
デジタル出力
• 入出力 , CMOS オートモーティブ
シュミットトリガ入力 , アナログ入力 ,
STOP 制御 (SMC), IOH=-30mA,
IOL=30mA
• 代表的スルーレート 40ns
N
R
デジタル出力
V SS
デジタル入力
ストップ制御
N
デジタル入力
V CC
R
N
P
デジタル出力
N
デジタル出力
• 入出力 , CMOS 入力 , 50kΩ プルダウン
抵抗 (5V または 3V 入力 ), IOH=-4mA,
IOL=4mA
V SS
O
デジタル入力
V CC
V CC
R
P
N
N
V SS
V SS
P
• CMOS 入力 (3V 入力 )
V CC
P
N
R
V SS
デジタル入力
66
• CMOS 入力 , 50kΩ プルダウン抵抗
(5V または 3V 入力 )
第 1 章 MB91360 シリーズの概要
表 1.7-1 入出力回路の種類 (5 / 6)
形式
回路の種類
備考
Q/Q1
P
デジタル出力
N
デジタル出力
R
• Q : 入出力 , CMOS 入力 , STOP 制御 ,
IOH=-4mA, IOL=4mA
• Q1: 入出力 , CMOS 入力 , STOP 制御 ,
IOH=-8mA, IOL=8mA
VSS
デジタル入力
ストップ制御
S
Vcc
P
R
P
デジタル出力
N
デジタル出力
• 入出力 , CMOS 入力 , STOP 制御 , 10kΩ
プルアップ抵抗 , IOH=-4mA, IOL=4mA
Vss
デジタル入力
ストップ制御
T
• CMOS 入力
• フラッシュプログラミングに対して
高耐圧入力
制御信号
MD入力
R
U
V CC
V CC
P
P
• CMOS シュミットトリガ入力 , 50kΩ
プルアップ抵抗 , コアへの 3.3V, および
5V 入力
N
R
V SS
VSS
デジタル入力
67
第 1 章 MB91360 シリーズの概要
表 1.7-1 入出力回路の種類 (6 / 6)
形式
回路の種類
備考
W
• 入出力 , CMOS 入力 (3V 入力 )
3V
P
デジタル出力
N
デジタル出力
R
VSS
デジタル入力
X
• トライステート出力 (3V)
3V
P
デジタル出力
N
デジタル出力
VSS
Y
P
デジタル出力
N
デジタル出力
R
• I2C モードでは , オープンドレイン
出力として動作する入出力 , CMOS
入力 , STOP 制御 , IOH=-3mA, IOL=3mA
V SS
デジタル入力
ストップ制御
YA
R
P
デジタル出力
N
デジタル出力
• I2C モードでは , オープンドレイン
出力として動作する入出力 , CMOS
シュミットトリガ入力 , STOP 制御 ,
IOH=-3mA, IOL=3mA
V SS
デジタル入力
ストップ制御
( 注意事項 )
68
回路の種類に使用するシンボル ( 全回路図に共通 )
P: P チャネルトランジスタ
N: N チャネルトランジスタ
R: 拡散抵抗
第 1 章 MB91360 シリーズの概要
1.8
メモリ空間
FR50 シリーズの論理アドレス空間は 4G バイト (232 番地 ) あり , CPU はリニアに
アクセスできます。
■ MB91360 シリーズのメモリマップ
図 1.8-1 に , MB91360 シリーズのメモリ空間を示します。
図 1.8-1 MB91360 シリーズのメモリマップ
0000 0000 H
バイトデータ I/O
0000 0100 H
ハーフワードデータ I/O
ダイレクトアドレッシング領域
0000 0200 H
ワードデータ I/O
0000 0400 H
その他のI/O
0000 0800 H
~
~
000F FC00 H
初期ベクタテーブル領域
000F FFFF H
~
~
FFFF FFFFH
● ダイレクトアドレッシング領域
アドレス空間の下記の領域は , I/O 用に使用されるダイレクトアドレッシング領域で
す。これらの領域内のアドレスは , 命令中で直接オペランドのアドレスを指定できま
す。
ダイレクト領域は , アクセスするデータのサイズによって , 次のように異なります。
• バイトデータのアクセス : 000H ∼ 0FFH
• ハーフワードデータのアクセス : 000H ∼ 1FFH
• ワードデータのアクセス : 000H ∼ 3FFH
69
第 1 章 MB91360 シリーズの概要
1.9
デバイスの取扱いについて
本デバイスの使用時に守るべきいくつかの注意点について説明します。
■ デバイス取扱い上の注意事項
● ラッチアップの防止
CMOS IC でラッチアップが発生するのは , 以下のいずれかの場合です。
• VDD より高い , あるいは VSS より低い電圧が , 入力端子または出力端子に印加され
た場合
• VDD と VSS の間に定格を超える電圧を印加した場合
ラッチアップが発生すると , 電源電流が急激に増加して , 回路素子の熱破壊に至ること
があります。したがって , 最大定格を超えて回路が動作することがないように注意して
ください。
● 未使用端子の接続
未使用の入力端子を未接続のままにしておくと , 誤作動またはラッチアップ , およびデ
バイスの致命的な損傷が発生する場合があります。未使用の端子は抵抗を通して VDD
またはVSSに接続する必要があります。この場合の抵抗は, 2kΩを超えるものとします。
未使用の双方向端子は , 出力状態に設定すれば未接続のままにしておくことができま
す。入力状態に設定する場合は , 上述のように接続します。
2kΩ を超える抵抗は , 保護ダイオードを通って流れる電流を制限するために使用しま
す。未使用端子の電圧が VSS -0.3V 以下または VDD +0.3V 以上を超える場合は , ラッ
チアップの原因となる電流が保護ダイオードを通じて流れます。
● 外部リセット入力
INITX 端子に "L" レベルを入力する場合は , 発振回路の発振が安定するまで , この "L"
レベルを INITX 端子で保持してください。INITX は , 4 MHz の発振クロックで最低 8
サイクルの間 , "L" レベルで保持する必要があります。また Flash 品の場合は , 500ns 以
上の "L" パルス幅を入力してください。
● 電源端子
すべての VDD 端子は同じ電位に接続するものとします ( 例外として , MB91F362GB お
よび MB91F369GA における外部バスインタフェースがあります )。アナログ供給電圧
(AVCC) は , デジタル供給電圧より先にオンにしないでください。外部バスインタ
フェースが 3.3V で供給される場合は , 5V デジタル電圧のスイッチをオンにする前にこ
の電圧をオンにしないでください。外部バスインタフェースへの供給電圧のスイッチ
をオフにする場合は ( トライステートではなくプルダウン ), 関連するすべての信号が ,
このプルダウン供給以下の電圧であることを確認してください。
VDD 端子または VSS 端子が複数ある場合は , すべての VDD 端子 , および VSS 端子を ,
必ず電源またはグランドに , 外部接続してください。ラッチアップのような誤作動を防
止するため, 同電位の端子はデバイス内部で互いに接続する設計になっていますが, すべ
ての VDD 端子 , および VSS 端子を外部接続することによって , 好ましくない放射を最小
70
第 1 章 MB91360 シリーズの概要
限に抑え, グランドレベルの上昇によるストローブ信号の誤作動を防止し, 総出力電流を
定格内に保つことができます。
また, VDD, およびVSSはできるだけ低インピーダンスで電流源に接続するようにして
ください。
デバイスに近い VDD と VSS の間に約 0.1µF のセラミックバイパスコンデンサを接続
することをお勧めします。
MB91360 シリーズは , レギュレータを内蔵しています。本デバイスを 5V 電源で使用
する場合は , 5V 電源を VDD 端子に供給し , レギュレータ用に , 必ず , VCC3C 端子の
10nF と並行に 10µF のバイパスコンデンサを接続してください。
図 1.9-1 に , 電源接続の例を示します。
図 1.9-1 電源接続の例
[5V電源での使用]
5V
V DD
5V
AV CC
VCC3C
AVRH
10 nF
10µF
AV SS
V SS
GND
● 水晶発振回路
X0 端子 , およびX1端子の近辺のノイズはデバイスの誤作動の原因になります。X0, X1,
水晶発振子 ( またはセラミック発振子 ), およびグランドへのバイパスコンデンサが , で
きるだけデバイスに近くなるように , 回路基板を設計してください。
X0 端子と X1 端子をグランドで囲むようにプリント回路板を設計すると動作が安定し
ます。この設計を強く推奨します。
● 外部クロックの使用
外部クロックを使用するには , X0 端子のみを駆動し , X1 端子を開放します。
次のダイヤグラムは , 外部クロックの使用方法を示しています。
図 1.9-2 外部クロックの使用方法
MB91360 シリーズ
X0
X1
71
第 1 章 MB91360 シリーズの概要
● モード端子
モード端子 (MD0 ∼ MD2) は直接 VDD または VSS に接続してください。
ノイズの影響でデバイスが誤ってテストモードに入るのを防止するために , プリント
回路板のレイアウトは , モード端子と VDD または VSS との接続パターン長が最短にな
るように , かつ , 低インピーダンス接続となるようにしてください。
● 電源投入時
電源投入の直後には , 常に INITX 端子で INIT を実行してください (INITX 端子で "L"
レベルで起動 )。INITX 端子の低レベルの解放後 , また組込み待ち時間の経過後 , 発振
回路の発振が安定するまで , この低レベルを INITX 端子で保持してください。
アナログ供給電圧 (AVCC) は , デジタル供給電圧より先にオンにしないでください。外
部バスインタフェースが 3.3V で供給される場合は , 5V デジタル電圧のスイッチをオン
にする前にこの電圧をオンにしないでください。
● 電源投入時の状態
電源投入時 , 最小動作電圧まで到達していない場合 , 出力端子のレベルは保証されませ
ん。
● PLL クロックモード動作中の注意について
本マイコンで PLL クロックを選択しているとき , 発振子が外れたり , あるいはクロッ
ク入力が停止したりした場合 , 本マイコンは PLL 内部の自励発振回路の自走周波数で
動作を継続し続ける場合があります。この動作は保証外の動作です。
● ウォッチドッグタイマ機能について
本品種が備えているウォッチドッグ機能は , プログラムが一定時間内にリセット延期動
作を行うことを監視し , プログラムの暴走によりリセット延期動作が行われなかった
ときに , CPU をリセットするための機能です。そのため , いったんウォッチドッグタイ
マ機能を有効にすると , リセットを行うまで動作を続けます。
例外として , CPU のプログラム実行が停止する条件では自動的にリセット延期を行い
ます。この例外にあてはまる条件については , ウォッチドッグタイマの機能説明の項を
参照してください。
なお , システムの暴走により上記の状態となってしまった場合 , ウォッチドッグリセッ
トが発生しない可能性があります。その場合 , 外部 INITX 端子よりリセット (INIT) を
行ってください。
72
第2章
CPU
FR50 ファミリ CPU コアのアーキテクチャ , 仕様
と命令などの機能に関する重要な情報について説
明します。
2.1 CPU アーキテクチャ
2.2 CPU ハードウェア構造
2.3 FR50 の内部アーキテクチャ
2.4 プログラミングモデル
2.5 データ構造
2.6 メモリマップ
2.7 命令
2.8 EIT( 例外 , 割込み , トラップ )
2.9 リセット ( デバイスの初期化 )
2.10 動作モード
73
第 2 章 CPU
CPU アーキテクチャ
2.1
FR50 CPU は , RISC アーキテクチャを有する高性能 CPU コアです。この CPU は埋
込みアプリケーションに対して適切な , より高レベルな命令を特長としています。
■ 特長
● RISC アーキテクチャ
基本命令は 1 命令 / サイクルで実行されます (5 段階パイプラインを使用した高速処理 )。
● 32 ビットアーキテクチャ
汎用レジスタ : 16×32 ビット
● 4G バイトのリニアなメモリ空間
● 乗算器の搭載
32 ビット ×32 ビット乗算 : 5 サイクル
16 ビット ×16 ビット乗算 : 3 サイクル
● 割込処理機能の強化
高速応答速度 (6 サイクル )
多重割込みをサポート
レベルマスク機能 (16 レベル )
● I/O 操作用命令の強化
メモリ間転送命令
ビット操作命令
● 高いコーディング効率
基本命令ワード長 : 16 ビット
● 低電力消費
スリープモードと停止モード
74
第 2 章 CPU
■ FR50 CPU 仕様
表 2.1-1 に , FR50 CPU の仕様を示します。
表 2.1-1 FR50 CPU 仕様
パラメータ
クロック
仕様
64 MHz まで ( 装置に依存 )
最短命令実行時間
1 クロック
パイプライン段階
5 段階
インターロック制御
内部ハードウェアによる自動パイプラインインターロック制御
内部バス
Harvard バス , 命令 / データ : 16 ビット /32 ビット
データ長
4 ビット , 8 ビット , 16 ビット , 32 ビット
メモリ空間
4G バイト (232)
レジスタ数
汎用レジスタ
R0 ∼ R15: 16×32 ビット
専用レジスタ
PC : 32 ビット プログラムカウンタ
PS : 32 ビット プログラムステータス
TBR : 32 ビット 割込みベクタテーブル
RP : 32 ビット 戻りアドレスを記憶
SSP : 32 ビット システムスタック (R15 と共有 )
USP : 32 ビット ユーザスタック (R15 と共有 )
MDH : 32 ビット 乗算 , および除算データ
MDL : 32 ビット 乗算 , および除算データ
命令数
165 命令
命令長
16 ビット ( 固定 )( 即値命令を除く )
特殊命令
例外
割込みレベル
割込み応答時間
プロセス
電源
乗算命令 :
32 ビット ×32 ビット= 64 ビット , 5 サイクル , 符号付きまたは符号なし
16 ビット ×16 ビット= 32 ビット , 3 サイクル , 符号付きまたは符号なし
除算命令 :
32 ビット /32 ビット= 32 ビット , 段階的演算
バレルシフト命令 :
指定されたビット数を 1 クロック内でシフト可能
ビット操作命令 :
メモリ上で論理演算を実施して結果をメモリに転送します。
遅延分岐命令 :
コンパイラにより自動的に選択されます。
マルチレジスタ保持 , および復帰命令
動的変数の保持 , および解除の命令
セマフォ制御に対するバイトデータスワップ命令
メモリ間転送命令
高レベル内部周辺回路アクセス命令
リセット , INT 命令 , 予備命令の例外 , マスク可能割込み , NMI
16 レベル ( マスク可能割込み )
6 クロック
0.35µm
5V/ 内部電圧レギュレータが 3.3V の内部電源を発生します。
75
第 2 章 CPU
2.2
CPU ハードウェア構造
ここでは , FR50 CPU のブロックダイヤグラムと , CPU 機能の概略を示します。
■ CPU ブロックダイヤグラム
図 2.2-1 に , FR50 CPU のブロックダイヤグラムを示します。
図 2.2-1 CPU ブロックダイヤグラム
32 ビット
データバス
PC
*2
*1
乗算器
ALU
バレル
シフタ
PS
R0
R1
TBR
MDH
MDL
RP
SSP
USP
専用レジスタ
*1: 32 ビット×3 2 ビット:5 クロックサイクル
1 6 ビット×1 6 ビット:3 クロックサイクル
*2: バレルシフトは 1 サイクルが必要です。
R15
汎用レジスタ
PC :プログラムカウンタ
PS :プログラムステータス
TBR :テーブルベースレジスタ
RP :リターンポインタ
SSP :システムスタックポインタ
USP :ユーザスタックポインタ
MDH/MDL :乗除算結果レジスタ
■ CPU 機能説明
● 内部バス構造
内部データバスの幅は 32 ビットです。32 ビット演算は 1 クロックサイクルで実行する
ことができます。
命令アドレス (32 ビット ) と命令データ (16 ビット ), データアドレス (32 ビット ) とデー
タ (32 ビット ) バスは , Harvard バスインタフェース構造になっています。
76
第 2 章 CPU
● レジスタ
汎用レジスタは , R0 ∼ R15(16×32 ビットレジスタ ) で構成されています。
専用レジスタは , プログラムカウンタ (PC), プログラムステータス (PS), テーブルベー
スレジスタ (TBR), リターンポインタ (RP), システムスタックポインタ (SSP), および
ユーザスタックポインタ (USP) で構成されています。専用レジスタはすべて 32 ビット
です。
乗除算結果レジスタ MDH(32 ビット ) と MDL(32 ビット ) も提供されています。これ
らのレジスタは , 64 ビット乗算結果 , 除算結果除数と , 結果の余りと商を記憶します。
汎用レジスタ R13 は仮想アキュムレータとして , R14 は特殊命令のフレームポインタ
として使用されます。R15 はプログラム内で SSP または USP として機能するように選
択することができます。
● バレルシフタ
バレルシフタは , 32 ビットデータ上で指定された数のビットシフトを 1 クロックサイ
クルで実行することが可能です。
バレルシフタは 2 の累乗の定数を含む乗算 , 除算 , 平均と , 同様の計算で使用されます。
● ALU
ALU は , 32 ビット演算 , 論理演算と乗算と除算などの演算に使用されます。
● 乗算器
本 CPU の乗算器は , 32 ビット ×32 ビット整数乗算器回路です。64 ビット結果は MDH
と MDL に記憶されます。
● 書込みバッファ
本 CPU は , 2 段階データ記憶バッファを含んでいます。
● 遅延分岐
本 CPU のコンパイラは , 自動的に遅延分岐命令を選択します。
● 割込み制御
本 CPU のプログラムは , 6 クロックサイクルで割込みベクタアドレスに分岐できます。
77
第 2 章 CPU
2.3
FR50 の内部アーキテクチャ
FR50 CPU は , データと命令バスが独立しているという Harvard アーキテクチャを
有しています。
オンチップ命令キャッシュは , 命令バス (I- バス ) に接続されています。データバス
(D- バス ) はデータ RAM に接続しています。Harvard バス /Princeton バスコンバー
タは I- バスと D- バスの両方に接続され , CPU, バスコントローラと 32 ビット−
16 ビットバスコンバータ間のインタフェースとして動作します。
■ MB91360 シリーズの内部アーキテクチャ
図 2.3-1 に , MB91360 シリーズの内部アーキテクチャを示します。
図 2.3-1 FR50 の内部アーキテクチャ
FR50 CPU
Dバス
Iアドレス
命令
キャッシュ Iデータ
データRAM
Iバス
32
32
Dアドレス
32
Dデータ
32
アドレス
32
データ
32
32-ビット
16-ビット
バス
コンバータ
Harvard
Princeton
バス
コンバータ
16
Rバス
バスコントローラ
周辺回路
78
第 2 章 CPU
■ CPU パイプライン演算
本 CPU は , 32 ビット RISC の FR50 アーキテクチャをコンパクトに実現しています。
1 命令 / サイクルを実行するために , 5 段階のパイプライン方式を採用しています。パ
イプラインは以下のステップから構成されています。
● 命令フェッチ (IF):
命令アドレスを出力して命令をフェッチします。
● 命令デコード (ID):
フェッチした命令をデコードします。レジスタの読出しも行います。
● 実行 (EX):
演算を実行します。
● メモリアクセス (MA):
メモリロードまたはストアのアクセスを実行します。
● ライトバック (WB):
演算結果 ( またはロードされたメモリデータ ) をレジスタに書き込みます。
図 2.3-2 に , 命令パイプラインの構造を示します。
図 2.3-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 命令 / サイクルです。ただし , メモリウェイトを伴った
ロードストア命令 , 遅延スロットのない分岐命令 , およびマルチサイクル命令は , 実行
するのに2サイクル以上必要です。命令実行速度も, 命令の供給が遅ければ低下します。
■ 命令キャッシュ
オンチップ命令キャッシュにより , 外部高速メモリとその関連制御ロジックを付加せ
ずに , 高性能なシステムを実現できます。外部バス速度が遅い場合にも , CPU への命令
供給を高速に行うことができます。
命令キャッシュの詳細については , 「第 3 章 命令キャッシュ」を参照してください。
79
第 2 章 CPU
■ 32 ビット←→ 16 ビットバスコンバータ
CPU コアと , 16 ビット幅でアクセスされる R-bus とのインタフェースを行い , CPU か
ら内蔵周辺回路へのデータアクセスを実現します。
CPU から 32 ビット幅のアクセスが発生した場合 , このバスコンバータがそれを 2 回の
16 ビット幅アクセスに変換して R-bus へのアクセスを行います。内蔵周辺回路によっ
てはアクセス幅に関して制限があるものがあります。
■ Harvard ←→ Princeton バスコンバータ
Harvard ←→ Princeton バスコンバータは , CPU 命令とデータバスのアクセスの整合を
とり , 外部バスに対して円滑なインタフェースを提供します。
CPU は , 命令バスとデータバスが独立した Harvard アーキテクチャ構造です。
一方 , 外部バスを制御するバスコントローラは , 単一バスの Princeton アーキテクチャ
構造です。バスコンバータは , CPU の命令アクセスとデータアクセスして優先順位を
付け , バスコントローラへのアクセスの制御を行います。この機能により外部バスのア
クセス順序が常に最適化されたものとなります。
CPU がバス上で待機する時間をなくすため , 命令フェッチに , 2 ワード書込みバッファ
と 1 ワードプリフェッチバッファが提供されます。
80
第 2 章 CPU
2.4
プログラミングモデル
プログラミングで使用される主要 CPU レジスタを説明します。
CPU には次の 2 つのタイプのレジスタがあります。
• 汎用レジスタ ( 図 2.4-1 )
• 専用レジスタ ( 図 2.4-2 )
■ 汎用レジスタ
図 2.4-1 汎用レジスタ
32 ビット
R0
.....
.........
R1
R12
R13
AC
R14
FP
R15
SP
■ 専用レジスタ
図 2.4-2 専用レジスタ
32 ビット
プログラムカウンタ
PC
プログラムステータス
PS
テーブルベースレジスタ
TBR
リターンポインタ
RP
システムスタックポインタ
SSP
ユーザスタックポインタ
USP
乗除算結果レジスタ
MDH
−
ILM
− SCR
CCR
MDL
81
第 2 章 CPU
2.4.1
汎用レジスタ
汎用レジスタは R0 ∼ R15 で構成される CPU レジスタです。レジスタは , 演算に対
するアキュムレータ , およびメモリアクセスに対するポインタ ( アドレスを示す
フィールド ) として使用されます。ユーザは汎用レジスタの使用目的を指定するこ
とができます。
■ 汎用レジスタの構造
図 2.4-3 に , 汎用レジスタの構造を示します。
図 2.4-3 汎用レジスタの構造
32 ビット
初期値
.....
.........
R1
R12
•••••••••
XXXX XXXXH
R0
R13
AC ( アキュムレータ )
R14
FP ( フレームポインタ )
XXXX XXXXH
R15
SP ( スタックポインタ )
0000 0000H
16 ある汎用レジスタの中でも次のレジスタは特殊な目的を想定しており , そのために
一部の命令が強化されています。
• R13: 仮想アキュムレータ (AC)
• R14: フレームポインタ (FP)
• R15: スタックポインタ (SP)
リセット後の R0 ∼ R14 の初期値は不定です。R15 の初期値は 00000000H(SSP 値 ) です。
82
第 2 章 CPU
2.4.2
専用レジスタ
専用レジスタは , それぞれ特別の用途に使用されるレジスタです。専用レジスタに
は , 以下の 7 種のレジスタがあります。
• プログラムカウンタ (PC)
• プログラムステータス (PS)
• テーブルベースレジスタ (TBR)
• リターンポインタ (RP)
• システムスタックポインタ (SSP)
• ユーザスタックポインタ (USP)
• 乗除算結果レジスタ (MDH/MDL)
■ 専用レジスタの構造
図 2.4-4 に , 専用レジスタの構造を示します。
図 2.4-4 専用レジスタの構造
32 ビット
初期値
プログラムカウンタ
PC
プログラムステータス
PS
XXXX XXXXH
テーブルベースレジスタ
TBR
000F FC00H
リターンポインタ
RP
XXXX XXXXH
システムスタックポインタ
SSP
0000 0000H
ユーザスタックポインタ
USP
XXXX XXXXH
乗除算結果レジスタ
MDH
XXXX XXXXH
MDL
XXXX XXXXH
■ 専用レジスタの種類
● プログラムカウンタ (PC)
プログラムカウンタ (PC) は , 現在実行されている命令のアドレスを示しています。
命令の実行を伴う PC の更新時に , bit0 は "0" に設定されます。分岐指定アドレスとし
て奇数番号アドレスが指定された場合のみ bit0 の値は "1" になります。
ただし , その場合でも bit0 は無効であり , 命令は 2 の倍数であるアドレスに置く必要が
あります。
リセット後の初期値は不定です。
83
第 2 章 CPU
● プログラムステータス (PS)
プログラムステータスを保持するレジスタで , CCR, SCR, および ILM の 3 つのパート
から構成されています。詳細は , 「2.4.3 プログラムステータスレジスタ (PS)」を参照
してください。
未定義のビットはすべて予約ビットであり , 常に "0" が読み出されます。書込みは無効
です。
● テーブルベースレジスタ (TBR)
テーブルベースレジスタ (TBR) は , EIT 処理に使用されるベクタテーブルのトップアド
レスを保持します。
リセットにより 000FFC00H に初期化されます。
● リターンポインタ (RP)
リターンポインタ (RP) は , サブルーチンからの復帰するアドレスを保持します。
CALL 命令を実行すると PC の値が RP に転送されます。
RET 命令を実行すると RP の内容が PC に転送されます。
リセット後の初期値は不定です。
● システムスタックポインタ (SSP)
システムスタックポインタ (SSP) は , S フラグが "0" の場合に R15 として機能します。
SSP を明示的に指定することも可能です。
また , EIT が発生した場合に PS と PC を退避するスタックとして指定するスタックポ
インタとして使用することもできます。
リセットにより 00000000H に初期化されます。
● ユーザスタックポインタ (USP)
ユーザスタックポインタ (USP) は , S フラグが "1" の場合にスタックポインタ (R15) と
して機能します。
USP を明示的に指定することも可能です。
リセット後の初期値は不定です。
● MDH/MDL: 乗除算結果レジスタ
これらのレジスタは乗算と除算に使用されます。両レジスタとも 32 ビット長です。リ
セット後の初期値は不定です。
乗算実行時
32 ビット ×32 ビットの乗算のとき , 64 ビット長の演算結果は , 以下の配置で乗除算
結果格納レジスタに格納されます。
MDH: 上位 32 ビット
MDL: 下位 32 ビット
16 ビット ×16 ビットの乗算のときは , 以下のように結果が格納されます。
MDH: 不定
MDL: 結果 32 ビット
除算実行時
計算開始時 MDL に被除数を格納します。
DIV0S/DIV0U, DIV1, DIV2, DIV3, DIV4S 命令の実行により除算を計算すると , 結果
が MDH と MDL に格納されます。
MDH: 剰余
MDL: 商
84
第 2 章 CPU
プログラムステータスレジスタ (PS)
2.4.3
PS はプログラムステータスを保持するレジスタで , CCR, SCR, および ILM の 3 つ
のパートから構成されています。定義されていないビットはすべて予約ビットであ
り , 常に "0" が読み出されます。書込みは無効です。
■ プログラムステータスレジスタ (PS) の構造
図 2.4-5 に , プログラムステータスレジスタ (PS) の構造を示します。
図 2.4-5 プログラムステータスレジスタ (PS) の構造
bit
31
20
16
10
ILM
8 7
0
SCR
CCR
CCR:コンディションコードレジスタ
SCR:システムコンディションコードレジスタ
ILM:割込みレベルマスク
■ コンディションコードレジスタ (CCR)
● CCR 構造
図 2.4-6 に , 状態コードレジスタの構造を示します。
図 2.4-6 状態コードレジスタの構造
bit
7
6
−
−
5
S
4
I
3
N
2
Z
1
V
0
C
初期値
--00XXXXB
● CCR ビットの機能
[bit5] S: スタックフラグ
R15 として使用されるスタックポイントを指定します。
値
内容
0
SSP が R15 として使用されます。
EIT 発生時自動的に "0" となります。
ただし , スタックに退避される値はクリアされる前の値です。
1
USP が R15 として使用されます。
リセットにより "0" にクリアされます。
85
第 2 章 CPU
[bit4] I: 割込み許可フラグ
ユーザ割込み要求の許可と禁止を制御します。
値
内容
0
ユーザ割込み禁止。
INT 命令実行時 "0" にクリアされます。
ただし , スタックに退避させる値はクリアされる前の値です。
1
ユーザ割込み許可。
ユーザ割込み要求のマスク処理は , ILM の保持する値により制御され
ます。
リセットにより "0" にクリアされます。
[bit3] N: ネガティブフラグ
演算結果を 2 の補数で表現された整数とみなしたときの符号を示します。
値
内容
0
演算結果が正の値であったことを示します。
1
演算結果が負の値であったことを示します。
リセット後の初期値は不定です。
[bit2] Z: ゼロフラグ
演算結果が "0" であったかどうかを示します。
値
内容
0
演算結果が "0" 以外の値であったことを示します。
1
演算結果が "0" であったことを示します。
リセット後の初期値は不定です。
[bit1] V: オーバフローフラグ
演算結果にオーバフローが発生したかどうかを示します ( 演算で用いたオペランド
を 2 の補数整数とで表現されるとみなした場合 )。
値
内容
0
演算結果でオーバフローが発生しなかったことを示します。
1
演算結果でオーバフローが発生したことを示します。
リセット後の初期値は不定です。
86
第 2 章 CPU
[bit0] C: キャリーフラグ
演算により MSB からのキャリーまたはボローが発生したかどうかを示します。
値
内容
0
キャリーまたはボローのいずれも発生しなかったことを示します。
1
キャリーまたはボローが発生したことを示します。
リセット後の初期値は不定です。
■ システムコンディションコードレジスタ (SCR)
● SCR 構造
図 2.4-7 に , システムコンディションコードレジスタの構造を示します。
図 2.4-7 システムコンディションコードレジスタの構造
bit
10
D1
9
D0
8
T
初期値
XX0B
● SCR ビットの機能
[bit10, bit9] D1, D0: ステップ除算用フラグ
ステップ除算実行時の中間データを保持します。
除算処理の実行途中は , これらのビットを変更しないでください。
ステップ除算実行途中に他の処理を行う場合は , PS レジスタの値を退避・復帰する
ことによりステップ除算の再開が保証されます。
リセット後の初期値は不定です。
DIV0S 命令の実行により , 被除数と除数を参照して設定されます。
DIV0U 命令の実行により , 強制的にクリアされます。
[bit8] T: ステップトレーストラップフラグ
このフラグはステップトレーストラップを有効にするかどうかを指定します。
値
内容
0
ステップトレーストラップ無効。
1
ステップトレーストラップ有効。
これによりユーザ NMI とすべてのユーザ割込みが禁止となります。
リセットにより "0" に初期化されます。
ステップトレーストラップ機能はエミュレータが使用します。エミュレータ使用時 ,
ユーザプログラム中で使用することはできません。
87
第 2 章 CPU
■ 割込みレベルマスクレジスタ (ILM)
● ILM 構造
図 2.4-8 に , 割込みレベルマスクレジスタの構造を示します。
図 2.4-8 割込みレベルマスクレジスタの構造
bit
20
ILM4
19
ILM3
18
ILM2
17
ILM1
16
ILM0
初期値
01111B
● ILM ビットの機能
ILM レジスタは , 割込みレベルマスクの値を保持するレジスタで , ILM の保持する値が
レベルマスクに使用されます。
CPU に入力される割込要求の中で対応する割込レベルが , この ILM で示されるレベル
よりも強い場合にのみ割り込み要求が受け付けされます。
レベル 0(00000B) が最強で , レベル 31(11111B) が最弱です。
プログラムにより設定可能な値には制限があります。元の値が 16 ∼ 31 のとき , 新たな
値として設定できるのは 16 ∼ 31 です。0 ∼ 15 を設定する命令を実行すると , (" 指定
値+ 16") という値が転送されます。
元の値が 0 ∼ 15 のときは , 0 ∼ 31 の任意の値が設定可能です。
リセットにより 15(01111B) に初期化されます。
88
第 2 章 CPU
2.5
データ構造
データは次のように FR50 で割り当てられます。
• ビットオーダリング : Little endian
• バイトオーダリング : Big endian
■ ビットオーダリング
FR50 では , ビットオーダリングとして , リトルエンディアンを採用しています。
ビットオーダリングにおいては , bit0 は最低位置に置かれ , bit1, bit2 などは順番に高い
位置に置かれます。
図 2.5-1 に , ビットオーダリングを示します。
図 2.5-1 ビットオーダリング
bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MSB
( 最上位ビット )
LSB
( 最下位ビット )
■ バイトオーダリング
FR50 では , バイトオーダリングとして , ビッグエンディアンを採用しています。
32 ビットデータに関し , バイトオーダリングはバイト 0 を最高位置に置き , バイト 3 を
最低位置に置きます。バイト 0 は最低アドレスに置かれ , バイト 1 はバイト 0 のアドレ
ス+ 1 のようになります。
図 2.5-2 に , バイトオーダリングを示します。
図 2.5-2 バイトオーダリング
メモリ
アドレス
アドレス
アドレス
アドレス
n
(n+1)
(n+2)
(n+3)
bit
7
0
10101010
11001100
11111111
00010001
bit
MSB
31
バイト 0
10101010
23
バイト 1
11001100
15
バイト 2
11111111
LSB
7
0
バイト 3
00010001
89
第 2 章 CPU
2.5.1
ワードアラインメント
命令とデータはバイトとしてアクセスされます。したがって , 命令またはデータが
配置されるアドレスは , 命令またはデータのサイズに依存します。ここでは , プログ
ラムアクセスとデータアクセスに対するアドレス割当てについて述べます。
■ プログラムアクセス
FR50 は 16 ビット命令 ( 固定長 ) を使用しますので , プログラムは "2" の倍数であるア
ドレスに配置しなければなりません。
命令実行の一部としてプログラムカウンタ (PC) を更新する場合 , PC の bit0 は "0" に設
定されます。分岐指定アドレスとして奇数アドレスが指定された場合のみ , bit0 は "1"
の値を持つことができます。ただし , bit0 が "1" であっても , bit0 の値は無視されるの
で , 命令は 2 の倍数であるアドレスに配置しなければなりません。奇数アドレスの例外
はありません。
■ データアクセス
FR50 におけるデータアクセスのアドレスはデータアクセスサイズに依存して , 次のよ
うに強制的にアライメントされます。
•
ワードアクセス : アドレスは 4 の倍数です ( 最下位の 2 ビットは強制的に "00")。
•
ハーフワードアクセス : アドレスは 2 の倍数です ( 最下位ビットは強制的に "0")。
•
バイトアクセス : ( 任意のアドレスが使用されます )
ワード , およびハーフワードのアクセス時に , 一部のビットが "0" に強制的に設定され
るのは , 実効アドレスの計算結果に対してです。例えば , @(R13, Ri) アドレッシング
モードでは , 加算前のレジスタ値は (LSB が "1" であったとしても ) そのまま計算に使
用され , 加算結果の LSB がマスクされます。計算で使用されたレジスタの値はマスク
されません。
[ 例 ] LD @(R13, R2), R0
+)
加算の結果
R13
00002222H
R2
00000003H
00002225H
最下位 2 ビットは, 強制的にマスク
されます
アドレス端子
90
00002224H
第 2 章 CPU
メモリマップ
2.6
MB91360 シリーズメモリマップと FR50 ファミリの共通メモリマップを示します。
■ MB91360 シリーズメモリマップ
図 2.6-1 に , MB91360 シリーズのメモリマップを示します。
図 2.6-1 MB91360 シリーズメモリマップ
00:0000
ダイレクト
00:03FF
ダイレクト(ショート)アドレス:
0~0FF: バイトアクセス
0~1FF: ハーフワードアクセス(16 bit)
0~3FF: ワードアクセス(32 bit)
I/O領域
内部メモリ領域
00:07FF
00:1000
00:1024
DMA
01:1000
01:1FFF
I-RAM
03:C000
DバスRAM
03:FFFF
04:0000
04:3FFF
05:0000
05:07FF
08:0000
0F:4000
0F:FFFF
10:0000
10:07FF
F364Gでは不可
128K
128K
128K
64K
16K
16K
32K
03:D000 ~ 03:FFFF(F362GB,F364G)
FバスRAM
04:0000 ~ 04:0FFF(F362GB,F364G)
ブート ROM
04:4000 ~ 04:47FF(F376G)
フラッシュメモリ
04:4800 ~ 0F:FFFF(F376G)
0C:0000 ~ 0F:FFFF(F364G)
ブートセクタ
固定リセットベクタ
CAN
20:0000 ~ 20:03FF(F376G)
外部バスのCANのアドレスは,それぞれ
CS7,およびCS1のチップ選択領域の設
定に依存します。
ここに示すアドレスは,ブートROMでの
CS1とCS7の設定に対して有効です。
91
第 2 章 CPU
■ FR50 ファミリ共通メモリマップ
図 2.6-2 に , FR50 共通のメモリマップを示します。
アドレス空間は , 4G バイト (232 番地 ) の領域を持つ , 32 ビット線形ロジック空間です。
図 2.6-2 FR50 ファミリ共通メモリマップ
0000 0000H
バイトデータ I/O
0000 0100H
ハーフワードデータ I/O
ダイレクトアドレス領域
0000 0200H
ワードデータ I/O
0000 0400H
その他の I/O
0000 0800H
~
~
000F FC00H
ベクタテーブル初期領域
000F FFFFH
~
~
FFFF FFFFH
● ダイレクトアドレッシング領域
アドレス空間の下記の領域は , ダイレクトアドレッシングでアクセスできる I/O 領域で
す。オペランドアドレスは , 命令で直接指定することができます。
ダイレクトアドレス指定可能なアドレス領域のサイズは , アクセスされているデータ
長に依存します。
• バイトデータ (8 ビット )
: 0 ∼ 0FFH
• ハーフワードデータ (16 ビット ) : 0 ∼ 1FFH
• ワードデータ (32 ビット )
: 0 ∼ 3FFH
● ベクタテーブル初期領域
000FFC00H ∼ 000FFFFFH の領域は , EIT ベクタテーブル初期領域です。
EIT 処理で使用されるベクタテーブルは , テーブルベースレジスタ (TBR) を書き換える
ことにより , ユーザ指定アドレスに設定することができます。ただし , リセットによる
初期化によってこのアドレスに配置されます。
内部ブート ROM 内のコード実行後 , TBR は 000FFC00H に設定されます。
92
第 2 章 CPU
命令
2.7
FR50 の命令セットは , これまでの RISC プロセッサ命令セットに対して容易に制御
できる CISC 型命令を追加します。この命令セットは , 埋込みアプリケーションに適
しており , 高級言語をサポートします。
ここでは , 命令セットの特長を記述し , 基本命令を列挙し , パイプライン演算のフ
ローに大きな影響を持つ , 分岐命令 ( 遅延分岐命令 ) を説明します。
命令セットの詳しい説明については , 「付録 D 命令」と『FR ファミリ命令マニュ
アル』を参照してください。
■ 特長
● 固定された 16 ビット命令長 ( 即値転送命令を除く )
高いレベルの RISC プロセッサに比べて改良された命令コード効率
● 命令数 : 165
● 高速乗算命令とステップ除算命令
32 ビット ×32 ビット : 5 クロックサイクル
16 ビット ×16 ビット : 3 クロックサイクル
32 ビット /32 ビット : 33 クロックサイクル , 36 クロックサイクル ( 符号付き )
● バレルシフト命令
● 埋込み制御用に最適化された I/O 制御命令
ビット操作
: 即値とメモリ間の演算
論理演算
: 汎用レジスタとメモリ間の演算
メモリ間転送 : メモリ間のデータ転送
● コンパイラとリアルタイムオペレーティングシステム用に最適化された命令
ファンクションコールとリターン処理命令
複数の連続した汎用レジスタ保存 , および復帰命令
遅延分岐命令
● 周辺回路アクセラレータ命令
93
第 2 章 CPU
2.7.1
命令と基本命令の概要
FR50 では , 標準的な RISC 命令に加え , FR50 は埋込みアプリケーションに対して
最適化された論理演算 , ビット操作命令とダイレクトアドレッシング命令を提供し
ます。各命令が 16 ビット ( 命令によっては 32 ビットと 48 ビット ) であるため ,
FR50 は卓越したメモリ活用を提供します。
■ 命令の概要
命令セットは , 次の 6 つの機能グループに分割することができます。
• 算術演算
• ロードとストア
• 分岐
• 論理演算とビット操作
• ダイレクトアドレッシング
• その他
● 算術演算
算術演算命令では , 標準的な算術演算命令 ( 加算 , 減算 , 比較 ) とシフト命令 ( 論理シフ
ト , 算術演算シフト ) が提供されます。加算と減算は , マルチワード演算で使用される
キャリーとの演算と , フラグ ( アドレス計算に対して適切なもの ) を変化させない演算
を含みます。
32 ビット ×32 ビット乗算 , 16 ビット ×16 ビット乗算 , および 32 ビット /32 ビットス
テップ除算命令が提供されます。即値転送命令 ( 即値をレジスタに設定するもの ) とレ
ジスタ間転送命令も提供されます。
算術演算命令は , すべて , CPU の汎用レジスタと乗算 , および除算レジスタを使用して
演算を行います。
● ロードとストア
ロードとストア命令は , 外部メモリとの間でデータを読み書きします。これらの命令は
内蔵周辺回路 (I/O) との間で , 読み書きを行うためにも使用されます。
ロードとストア命令は , バイト (8 ビット ), ハーフワード (16 ビット ), およびワード長
(32 ビット ) のアクセスに対して提供されています。標準的なレジスタの間接メモリア
ドレッシングに加え , 命令によっては , ディスプレースメントによるレジスタ間接メモ
リアドレッシングと , レジスタインクリメント , およびデクリメントによるレジスタ間
接メモリアドレッシングをサポートしています。
● 分岐
分岐命令には , 分岐 , CALL, 割込み , およびリターン命令が含まれます。
分岐命令は , 遅延スロットを持つものと持たないものに分類されます。これにより , 用
途に合わせた最適化が行えます。分岐命令の詳しい情報に関しては ,「2.7.2 分岐命令」
を参照してください。
94
第 2 章 CPU
● 論理演算とビット操作
論理演算命令は , 汎用レジスタ間または汎用レジスタとメモリ ( または I/O) との間で ,
AND, OR または EOR 論理演算を実行できます。ビット操作命令は , メモリ ( または
I/O) の内容を直接的に操作できます。これらの命令は , 一般的なレジスタ間接のメモリ
アドレッシングを使用します。
● ダイレクトアドレッシング
ダイレクトアドレッシング命令は , I/O と汎用レジスタとの間 , および I/O とメモリと
の間のアドレスに対して使用される命令です。レジスタ間接のアドレッシングによっ
てではなく , 命令によって直接的に I/O アドレスを指定することにより , 高速かつ効率
的なアクセスが提供されます。レジスタのインクリメントまたはデクリメントによる
レジスタ間接のメモリアドレッシングをサポートしている命令もあります。
● その他
その他には , PS レジスタのフラグを設定する命令 , スタック演算を行う命令 , および ,
符号拡張またはゼロ拡張の命令があります。また , 高級言語に対する関数エントリとエ
グジット処理命令 , マルチレジスタでのロード , およびストアの命令があります。
■ 基本命令
表 2.7-1 に , 基本命令の一覧を示します。
表 2.7-1 基本命令 (1 / 5)
加算と減算命令
比較演算命令
ADD
Rj,
Ri
*ADD
#s5,
Ri
ADDC
Rj,
Ri
ADDN
Rj,
Ri
*ADDN
#s5,
Ri
SUB
Rj,
Ri
SUBC
Rj,
Ri
SUBN
Rj,
Ri
ADD
#u4,
Ri
ADD2
#u4,
Ri
ADDN
#u4,
Ri
ADDN2
#u4
Ri
CMP
Rj,
Ri
*CMP
#s5,
Ri
CMP
#u4,
Ri
CMP2
#u4,
Ri
95
第 2 章 CPU
表 2.7-1 基本命令 (2 / 5)
シフト命令
レジスタ間転送命令
メモリロード命令
96
LSL
Rj,
Ri
*LSL
#u5,
Ri
LSR
Rj,
Ri
*LSR
#u5,
Ri
ASR
Rj,
Ri
*ASR
#u5,
Ri
LSL
#u4,
Ri
LSL2
#u4,
Ri
LSR
#u4,
Ri
LSR2
#u4,
Ri
ASR
#u4,
Ri
ASR2
#u4,
Ri
MOV
Rj,
Ri
MOV
Rs,
Ri
MOV
Ri,
Rs
MOV
PS,
Ri
MOV
Ri,
PS
LD
@Rj,
Ri
LD
@(R13,Rj),
Ri
LD
@(R14,disp10),
Ri
LD
@(R15,udisp6),
Ri
LD
@R15+,
Ri
LD
@R15+,
Rs
LD
@R15+,
PS
LDUH
@Rj,
Ri
LDUH
@(R13,Rj),
Ri
LDUH
@(R14,disp9),
Ri
LDUB
@Rj,
Ri
LDUB
@(R13,Rj),
Ri
LDUB
@(R14,disp8),
Ri
第 2 章 CPU
表 2.7-1 基本命令 (3 / 5)
メモリストア命令
即値転送命令
標準的分岐命令 *1
ST
Ri,
@Rj
ST
Ri,
@(R13,Rj)
ST
Ri,
@(R14,disp10)
ST
Ri,
@(R15,udisp6)
ST
Ri,
@-R15
ST
Rs,
@-R15
ST
PS,
@-R15
STH
Ri,
@Rj
STH
Ri,
@(R13,Rj)
STH
Ri,
@(R14,disp9)
STB
Ri,
@Rj
STB
Ri,
@(R13,Rj)
STB
Ri,
@(R14,disp8)
*LDI # {i8 | i20 | i32},
Ri
LDI:32
#i32,
Ri
LDI:20
#i20,
Ri
LDI:8
#i8.
Ri
JMP
@Ri
CALL
label12
CALL
@Ri
RET
INT
#u8
INTE
RETI
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
97
第 2 章 CPU
表 2.7-1 基本命令 (4 / 5)
遅延分岐命令 *2
JMP:D
@Ri
CALL:D
label12
CALL:D
@Ri
RET:D
他の命令
BRA:D
label9
BNO:D
label9
BEQ:D
label9
BNE:D
label9
BC:D
label9
BNC:D
label9
BN:D
label9
BP:D
label9
BV:D
label9
BNV:D
label9
BLT:D
label9
BGE:D
label9
BLE:D
label9
BGT:D
label9
BLS:D
label9
BHI:D
label9
NOP
ANDCCR
#u8
ORCCR
#u8
STILM
#u8
ADDSP
#u10
EXTSB
Ri
EXTUB
Ri
EXTSH
Ri
EXTUH
Ri
*LDM
(reglist)
LDM0
(reglist)
LDM1
(reglist)
*STM
(reglist)
STM0
(reglist)
STM1
(reglist)
ENTER
#u10
LEAVE
XCHB
98
@Rj,
Ri
第 2 章 CPU
表 2.7-1 基本命令 (5 / 5)
ダイレクトアドレッシン
グ命令
周辺回路命令
DMOV
@dir10,
R13
DMOV
R13,
@dir10
DMOV
@dir10,
@R13+
DMOV
@R13+,
@dir10
DMOV
@dir10,
@-R15
DMOV
@-R15,
@dir10
DMOVH
@dir9,
R13
DMOVH
R13,
@dir9
DMOVH
@dir9,
@R13+
DMOVH
@R13+,
@dir9
DMOVB
@dir8,
R13
DMOVB
R13,
@dir8
DMOVB
@dir8,
@R13+
DMOVB
@R13+,
@dir8
LDRES
@Ri+,
#u4
STRES
#u4,
@Ri+
*1: 遅延スロットなし
*2: 遅延スロットあり
( 注意事項 ) ニーモニックの左上のアスタリスク (*) は , アセンブラにより命令
を拡張 , または追加した拡張命令です。
99
第 2 章 CPU
分岐命令
2.7.2
FR50 では , 分岐命令が遅延スロットにより動作するかどうかを指定することができ
ます。遅延スロットによる演算とは , 分岐命令の後に置かれた命令が実行されるこ
とを意味します。
■ 遅延スロットによる分岐命令
以下に並べられた表記を持つ命令は , 遅延スロットによる分岐動作を行います。
JMP:D
@Ri
CALL:D
label12
CALL:D
@Ri
RET:D
BRA:D
label9
BNO:D
label9
BEQ:D
label9
BNE:D
label9
BC:D
label9
BNC:D
label9
BN:D
label9
BP:D
label9
BV:D
label9
BNV:D
label9
BLT:D
label9
BGE:D
label9
BLE:D
label9
BGT:D
label9
BLS:D
label9
BHI:D
label9
● 動作
遅延スロットによる分岐とは , 分岐命令のすぐ後ろに置かれた命令を実行した後に ( 遅
延スロットと称されるように ), 分岐が発生することを意味します。
遅延スロットの命令は分岐の前に実行されるので , 見かけの実行速度は 1 サイクルで
す。ただし , 遅延スロットに有効な命令を置くことができない場合には , 代わりに NOP
命令を置く必要があります。
[例]
;
命令順序
ADD
R1, R2
;
BRA:D
LABEL
;
分岐命令
MOV
:
R2, R3
:
遅延スロット : 分岐の前に実行されます。
LABEL:ST
R3, @R4 ;
分岐先
条件分岐命令の場合 , 分岐条件が成立する場合も成立しない場合も遅延スロットに置
かれた命令は実行されます。
遅延分岐命令は , 命令によっては実行順序を逆転するように見えますが , プログラムカ
ウンタ (PC) の更新に対してのみ当てはまります。レジスタの更新または参照などの他
の演算は , プログラム中の順序に従って実行されます。
次に , いくつかの具体例を説明します。
(1) JMP:D @Ri または CALL:D @Ri 命令で参照する Ri の値は , 遅延スロット内の命令
が Ri を更新しても , 影響を受けません。
[例]
100
LDI:32
#Label, R0
JMP:D
@R0
; Label へ分岐。
第 2 章 CPU
LDI:8
:
#0,
; 分岐先アドレスには影響を与えない。
R0
(2) RET:D 命令が参照する RP の値は , 遅延スロットの中の命令が RP を更新しても影響
を受けません。
[例]
; RP に設定されているアドレスへ分岐。
RET:D
MOV
:
R8,
RP
; リターン動作には影響を与えません。
(3) Bcc:D rel 命令が参照するフラグも , 遅延スロットの中の命令の影響を受けません。
[例]
R0
; フラグ変化
ADD
#1,
BC:D
Overflow
; 前の命令の結果により分岐。
ANDCCR
:
#0
; このフラグ更新は上記分岐命令を参照しません。
(4) CALL:D 命令の遅延スロットの中の命令で RP を参照すると , CALL:D 命令により更
新された内容が読み出されます。
[例]
CALL:D
Label
MOV
:
RP,
;RP を更新して分岐。
R0
; 上記 CALL:D の実行から帰着する RP 値を転送します。
● 制約事項
(1) 遅延スロット内に置くことのできる命令
以下の基準を満足する命令のみ , 遅延スロット内で実行できます。
• 1 サイクル命令であること
• 分岐命令ではないこと
• 順番が変化した場合でも影響を受けない命令であること
"1 サイクル命令 " とは , 命令リストにおけるサイクル数の欄に , "1", "a", "b", "c" または
"d" と記載された命令です。
(2) ステップトレーストラップ
ステップトレーストラップは , 遅延スロットによる分岐命令の実行と遅延スロット
との間には発生しません。
(3) 割込み /NMI
割込みと NMI は , 遅延スロットによる分岐命令の実行と遅延スロットの間では , 受
け付けられません。
(4) 未定義命令の例外
遅延スロットが未定義命令を含んでいても , 未定義命令の例外は発生しません。こ
の場合 , 未定義命令は NOP 命令として実行されます。
101
第 2 章 CPU
● 遅延スロットのない分岐命令
以下に並べられた表記を有する命令は , 遅延スロットのない分岐動作を行います。
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
: 実行されません。
LABEL:ST
R3, @R4 ; 分岐先
遅延スロットのない分岐命令を実行するのに必要なサイクル数は , 分岐が発生すれば 2
サイクルであり , 分岐が発生しなければ 1 サイクルです。
遅延スロットのない分岐命令では遅延スロットに命令を置けないので , NOP 命令を含
む遅延スロットによる分岐命令に比べて , 命令コード効率は高まります。
遅延スロットに便利な命令を置く場合に遅延スロットを使用し , それ以外では遅延ス
ロットを使用しないでください。これにより , 実行速度とコード効率を両立させること
が可能となります。
102
第 2 章 CPU
2.8
EIT( 例外 , 割込み , トラップ )
EIT(Exceptions, Interrupt, Trap) は , 例外 , 割込み , およびトラップの一般名です。
EIT は , イベントが発生した場合に , 現在のプログラムの実行を中断し , 制御を別の
プログラムに移します。
• 例外は , 実行の内容に基づいて発生されます。実行は , 例外を引き起こした命令か
ら再開します。
• 割込みは , 実行内容に関係なく発生され , ハードウェアイベントによりトリガされ
ます。
• トラップは , 実行内容に基づいて発生されます。これには , システムコールなどプ
ログラムの演算により発生するトラップが含まれます。実行は , トラップを引き
起こした命令に続く命令から再開します。
命令を実行する場合 , コンテキストは , CPU の状態を完全に定義するのに必要な情
報を参照します。
■ 特長
• 多重割込みをサポート
• 割込みに対するレベルマスク機能 ( ユーザに対して 15 レベルが利用可能 )
• トラップ命令 (INT)
• エミュレータ ( ハードウェア / ソフトウェア ) を起動する EIT
■ EIT トリガ
次の項目は , EIT を発生できます。
• リセット
• ユーザ割込み ( 内部周辺回路 , 外部割込み )
• NMI( マスク不可割込み )
• 遅延割込み
• 定義されていない命令の例外
• トラップ命令 (INT)
• トラップ命令 (INTE)
• ステップトレーストラップ
■ EIT からのリターン
EIT から戻ると , RETI 標準分岐命令を使用します。
103
第 2 章 CPU
■ 割込みレベル
割込みレベルは 0 ∼ 31 の範囲で , 5 ビット値として管理されます。
表 2.8-1 に , 各レベルの割込みレベルの割当て一覧を示します。
表 2.8-1 割込みレベル
レベル
EIT の種類
注意
0
:
:
:
3
( システム予備 )
:
:
:
( システム予備 )
ILM の元の値が 16 ∼ 31 である場合 ,
この範囲の値をプログラムにより ILM
に設定することはできません。
00100
4
INTE 命令
ステップトレーストラップ
00101
:
:
:
01110
5
:
:
:
14
( システム予備 )
:
:
:
( システム予備 )
01111
15
NMI( ユーザ )
10000
16
割込み
10001
:
:
:
11110
17
:
:
:
30
割込み
:
:
:
割込み
11111
31
-
2 進数
10 進数
00000
:
:
:
00011
ILM に設定されると , ユーザ割込みは
禁止されます。
ICR に設定されると , 割込みは禁止さ
れます。
レベル 16 ∼ 31 はユーザが利用できます。
定義されていない命令の例外と INT 命令は , 割込みレベルによる影響を受けません。同
様に , ILM を変化もさせません。
■ I フラグ
このフラグは割込みを許可または禁止します。フラグは PS 内の状態コードレジスタ
(CCR) の bit4 に置かれます。
値
104
内容
0
割込み禁止
INT 命令により "0" にクリアされます。
ただし , スタック退避させる値は , ビットがクリアされる
前の値です。
1
割込み許可
割込み要求のマスクは , ILM 内の値により制御されます。
第 2 章 CPU
■ ILM( 割込みレベルマスクレジスタ )
ILM レジスタは PS 内に配置され , 割込みレベルマスクの値を記憶します。
CPU に入力される割込要求の中で , 対応する割込レベルが , この ILM で示されるレベ
ルよりも強い場合のみ割込要求が受け付けられます。
レベル 0(00000B) の優先順位が最も高く , レベル 31(11111B) の優先順位が最も低くなっ
ています。
プログラムから設定可能な値には制限があります。元の値が 16 ∼ 31 の間の値であれ
ば , 16 ∼ 31 の間で新たな値が設定できます。0 ∼ 15 の間の値を設定する命令を実行す
ると , " 指定値+ 16" という値が転送されます。
元の値が 0 ∼ 15 の間の値であれば , 0 ∼ 31 の間にある任意の値を設定することができ
ます。
SETILM 命令は , ILM レジスタ内の値を設定するのに使用されます。
■ 割込み /NMI に対するレベルマスク
NMI または割込み要求が発生した場合 , 割込みの優先順位レベル ( 表 2.8-1 ) が , ILM の
レベルマスク値と比較されます。
次の条件が満足された場合 , 割込みはマスクされて要求は受け付けられません。
割込み要求の割込みレベル≧レベルマスク値
■ ICR( 割込み制御レジスタ )
割込みコントローラ内に配置されたレジスタで , 各割込み要求に対するレベルを設定
します。各割込み入力に対して , ICR レジスタが用意されます。ICR レジスタは , I/O
メモリ空間内にマップされ , バスを介して CPU からアクセスされます。
● ICR 構造
図 2.8-1 に , 割込み制御レジスタの構造を示します。
図 2.8-1 割込み制御レジスタの構造
bit
7
6
5
4
3
2
1
0
−
−
−
ICR4
R
ICR3
R/W
ICR2
R/W
ICR1
R/W
ICR0
R/W
初期値
---11111B
←アクセス
R: リードオンリ , R/W: リード / ライト可能
105
第 2 章 CPU
● ICR ビットの機能
表 2.8-2 に , 割込み制御レジスタビットの機能を示します。
表 2.8-2 割込み制御レジスタビットの機能
ビット
機能
番号
名称
4
ICR4
常に "1"
3
ICR3
2
ICR2
割込みに対する , 割込みレベルの下位 4 ビット
読出し / 書込み可能
bit4 を含め , ICR は 16 ∼ 31 の範囲の値を持つことができます。
1
ICR1
0
ICR0
● ICR マッピング
表 2.8-3 に , 各割込みに対する割込み制御レジスタと割込みベクタを示します。
表 2.8-3 各割込みに対する割込み制御レジスタと割込みベクタ
割込み制御レジスタ
対応割込みベクタ
番号
割込み
番号
アドレス
アドレス
16 進数
10 進数
IRQ00
ICR00
00000400H
10H
16
TBR+3BCH
IRQ01
ICR01
00000401H
11H
17
TBR+3B8H
IRQ02
ICR02
00000402H
12H
18
TBR+3B4H
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
IRQ47
ICR47
0000042FH
3FH
63
TBR+300H
( 注意事項 ) 詳細については , 「第 9 章 割込みコントローラ」を参照してください。
106
第 2 章 CPU
● SSP( システムスタックポインタ )
図 2.8-2 に , システムスタックポインタレジスタの構造を示します。
図 2.8-2 システムスタックポインタレジスタの構造
bit 31・・
・・0
SSP
初期値
00000000H
SSP は , EIT 受理および復帰動作時のデータ退避 , 復活用スタックを示すポインタとし
て使用されます。
SSP の値は , EIT 処理により "8" だけデクリメントされ , RETI 命令により EIT から戻っ
た場合に , "8" だけインクリメントされます。
リセットにより 00000000H に初期化されます。
内部ブート ROM コードの実行中に有効なブート条件が検出された場合は , SSP は
0003D3F8H に設定されます。
● 割込みスタック
SSP により示される領域で , PC および PS の値が退避 • 復帰されます。割込みが発生し
た後 , SSP の示すアドレスに PC, "SSP+4" のアドレスに PS が格納されます。
図 2.8-3 に , 割込みスタック操作の例を示します。
図 2.8-3 割込みスタック操作の例
SSP
割込み前
80000000H
SSP
メモリ
80000000H
7FFFFFFCH
7FFFFFF8H
割込み後
7FFFFFF8H
メモリ
80000000H
7FFFFFFCH
7FFFFFF8H
PS
PC
● TBR( テーブルベースレジスタ )
このレジスタは , EIT ベクタテーブルのトップアドレスを示します。
各 EIT に対するベクタアドレスは , その EIT に対するオフセット値を TBR に加算する
ことにより得られます。
リセットにより 000FFC00H に初期化されます。
107
第 2 章 CPU
● EIT ベクタテーブル
TBR の示すアドレスから始まる 1K バイトの領域が , EIT ベクタ領域です。
各ベクタは , 4 バイトで構成されます。次の式は , ベクタ番号とベクタアドレスの間の
関係を示します。
vctadr = TBR + vctofs
= TBR + (3FCH -4 × vct)
vctadr : ベクタアドレス
vctofs : ベクタオフセット
vct
: ベクタ番号
加算結果の下位 2 ビットは常に "00" として処理されます。
リセット後の初期ベクタテーブル領域は 000FFC00H と 000FFFFFH の間の領域です。
ベクタによっては , 特殊な機能が割り当てられます。表 2.8-4 に , ベクタテーブルの詳
細を示します。
表 2.8-4 ベクタテーブル (1 / 2)
108
ベクタ番号
ベクタオフセット
(16 進数 )
16 進数
10 進数
3FC
00
0
リセット (*)
3F8
01
1
システム予備
3F4
02
2
システム予備
3F0
03
3
システム予備
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
3E0
07
7
システム予約
3DC
08
8
システム予約
3D8
09
9
INTE 命令
3D4
0A
10
システム予約
3D0
0B
11
システム予約
3CC
0C
12
ステップトレーストラップ
3C8
0D
13
システム予約
3C4
0E
14
定義されていない命令の例外
3C0
0F
15
NMI( ユーザ )
3BC
10
16
マスク可能割込み #0
3B8
11
17
マスク可能割込み #1( 注意事項 )
説明
第 2 章 CPU
表 2.8-4 ベクタテーブル (2 / 2)
ベクタ番号
ベクタオフセット
(16 進数 )
16 進数
10 進数
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
300
3F
63
マスク可能割込み /INT 命令
2FC
40
64
システム予約
(REALOS により使用されます )
2F8
41
65
システム予約
(REALOS により使用されます )
2F4
42
66
マスク可能割込み /INT 命令
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
000
FF
255
説明
*: TBR 値が変更されても , リセットベクタは常に固定アドレス 000FFFFCH に配置されます。
( 注意事項 )
MB91360 シリーズベクタテーブルに関しては , 「付録 B 割込みベクタ」を参照して
ください。
109
第 2 章 CPU
多重 EIT 処理
2.8.1
複数の EIT が同時に発生した場合 , CPU は次の操作を繰返し実行します。
1. 1 つの EIT を受け付けて , EIT シーケンスを実行
2. その後 , 次の EIT を検出
EIT 検出において , 受け付けられる EIT が存在しなくなると , CPU は , 最後に受け付
けた EIT に対してハンドラ命令を実行します。
したがって , 同時に発生した多重 EIT に対するハンドラを実行するシーケンスは , 次
の 2 つの要因により決定されます。
• EIT を受け付ける優先順位
• EIT を受け付ける場合に , 他の EIT はどのようにマスクされるか
■ 多重 EIT 処理
EIT 受付優先順位とは , PS と PC を退避して PC を更新し ( 必要に応じて ) 他の EIT の
マスク処理を行うという , EIT ワークレスを実行する要因を選ぶときの順番です。
したがって , 先に受理された EIT のハンドラを , 必ずしも最初に実行されるわけではあ
りません。
表 2.8-5 は , EIT を受け付ける優先順序の一覧です。
表 2.8-5 EIT を受け付けて , 他の EIT をマスクする優先順序
EIT を受け付
ける優先順位
EIT
他の EIT のマスキング
1
リセット
他の EIT はクリアされます。
2
定義されていない命令の例外
キャンセルされます。
3
INT 命令
I フラグ= 0
4
ユーザ割込み
ILM =受け付けた割込みのレベル
5
NMI( ユーザ )
ILM = 15
6
(INTE 命令 )
ILM = 4 *
7
NMI( エミュレータ )
ILM = 4
8
ステップトレーストラップ
ILM = 4
*: エミュレータ NMI が INTE 命令と同時に発生した場合にのみ , 優先順位は "6" となります。
(MB91360 シリーズはデータアクセスによる中断に対して , エミュレータ NMI を使用します。)
110
第 2 章 CPU
1 つの EIT を受け付けて他の EIT をマスキングした後 , 同時に発生する EIT のハンドラ
を実行するための優先順位は , 表 2.8-6 のとおりです。
表 2.8-6 EIT ハンドラに対する実行優先順位
EIT
ハンドラ実行優先順位
1
リセット *1
2
定義されていない命令の例外
3
ステップトレーストラップ *2
4
INTE 命令 *2
5
NMI( ユーザ )
6
INT 命令
7
ユーザ割込み
*1: 他の EIT はクリアされます。
*2: INTE 命令がステップ実行されるのであれば , ステップトレーストラップ EIT の
みが発生されます。INTE による EIT は無視されます。
これらの優先順位による多重 EIT 処理の例を , 図 2.8-4 に示します。
図 2.8-4 多重 EIT 処理の例
メインルーチン
INT 命令ハンドラ
NMI ハンドラ
優先順位
(高い)NMI 発生
(低い)INT 命令実行
(1 )最初に実行
(2 )次に実行
111
第 2 章 CPU
2.8.2
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. 割込み要求の割込みレベルを, ILMにより設定されたレベルマスク値と比較します。
割込みレベル≧レベルマスク値の場合は , 割込み要求はマスクされ , 受け付けられ
ません。割込みレベル<レベルマスク値の場合は , ステップ 4) に進みます。
4. 選択した割込み要求がマスク可能な割込みであり , I フラグが "0" である場合 , 割込
み要求はマスクされ受け付けられません。I フラグが "1" であれば , ステップ 5) に進
みます。
選択した割込み要求が NMI である場合には , I フラグの値に関係なくステッ
プ 5) に進みます。
5. 上記条件が満足されると , 現時点における命令処理の最後で , 割込み要求が受け付
けられます。
EIT 要求が検出された場合にユーザ割込み , または NMI 要求が受け付けられると , CPU
は受け付けた割込み要求に対応する割込み番号を使用して , 次のように動作します。
( ) はレジスタの指すアドレスを表します。
[ 動作 ]
1. SSP-4 → SSP
2. PS → (SSP)
3. SSP-4 → SSP
4. 次の命令のアドレス → (SSP)
5. 受け付けられた要求の割込みレベル → ILM
6. "0" → S フラグ
7. (TBR +受け取った割込み要求のベクタオフセット ) → PC
割込みシーケンスの完了後 , システムは , ハンドラの最初の命令を実行する前に , 新た
な EIT が存在するかどうかをチェックします。受付け可能な EIT が存在すれば , CPU
は EIT 処理シーケンスに入ります。
112
第 2 章 CPU
■ INT 命令の動作
INT #u8
u8 で示されるベクタの割込みハンドラに分岐します。
[ 動作 ]
1. SSP-4 → SSP
2. PS → (SSP)
3. SSP-4 → SSP
4. PC+2 → (SSP)
5. "0" → I フラグ
6. "0" → S フラグ
7. (TBR + 3FCH-4 × u8) → PC
■ INTE 命令の動作
INTE
ベクタ番号 #9 のベクタの割込みハンドラに分岐します。
[ 動作 ]
1. SSP-4 → SSP
2. PS → (SSP)
3. SSP-4 → SSP
4. PC+2 → (SSP)
5. "00100B" → ILM
6. "0" → S フラグ
7. (TBR + 3D8H) → PC
INTE 命令またはステップトレーストラップの処理ルーチン中では , INTE 命令を使用
しないでください。
同様に , ステップの実行中は , INTE は EIT を発生しません。
■ ステップトレーストラップの動作
PS の SCR 内の T フラグが設定される ( ステップトレース機能を可能とする ) と , 各命
令の実行の後にトラップが発生し , ブレークします。
[ ステップトレーストラップを検出する条件 ]
1. T フラグ= 1
2. 遅延分岐命令ではない
3. 現在実行しているプログラムが INTE 命令またはステップトレーストラップの処理
ルーチン以外であるとき。
4. 上記条件が満たされると , 現在の命令の終わりで中断します。
[ 動作 ]
1. SSP-4 → SSP
2. PS → (SSP)
3. SSP-4 → SSP
4. 次の命令のアドレス → (SSP)
5. "00100B" → ILM
6. "0" → S フラグ
7. (TBR + 3CCH) → PC
113
第 2 章 CPU
T フラグによりステップトレーストラップが許可されると , ユーザ NMI とユーザ割込
みは禁止されます。
同様に , INTE 命令による EIT を発生しません。
■ 未定義命令の例外の動作
命令のデコード時に未定義命令が検出されると , 未定義命令の例外が発生します。
[ 定未定義命令の例外を検出する条件 ]
1. 命令デコード時に未定義命令が検出される。
2. 命令が遅延スロット内ではない ( 遅延分岐命令のすぐ後ろに配置されていない )。
3. 上記条件が満足されると , 未定義命令の例外が発生し , 実行が中断されます。
[ 動作 ]
1. SSP-4 → SSP
2. PS → (SSP)
3. SSP-4 → SSP
4. PC → (SSP)
5. "0" → S フラグ
6. (TBR + 3C4H) → PC
PC として退避されるのは , 命令の例外を検出した命令自身のアドレスです。
■ RETI 命令の動作
RETI 命令は EIT 処理ルーチンから復帰する命令です。
[ 動作 ]
1. (R15) → PC
2. R15+4 → R15
3. (R15) → PS
4. R15+4 → R15
PS と PC を復帰するのに使用されたスタックポインタは , S フラグの内容に基づいて選
択されることに注意してください。割込みハンドラ内の R15( スタックポインタ ) で動
作する命令を実行するのであれば , S フラグを "1" に設定し , USP を R15 として設定す
ることをお勧めします。この場合 , RETI 命令の前に S フラグを "0" に戻してください。
■ 注意事項
● 遅延スロット
分岐命令の遅延スロット内の EIT に対しては制約が適用されます。詳細は「2.7.2 分岐
命令」を参照してください。
114
第 2 章 CPU
2.9
リセット ( デバイスの初期化 )
ここでは , FR50 のデバイスを初期化するリセット動作を説明します。
■ リセット
リセット要因が発生すると , FR50 のデバイスは , すべてのプログラムとハードウェア
動作を停止して初期化します。
この状態はリセット状態とよばれます。
リセット要因が解除されると , デバイスは初期状態からプログラムとハードウェア動
作を開始します。
このリセット状態から動作開始までの一連の動作は , リセットシーケンスとよばれま
す。
115
第 2 章 CPU
2.9.1
リセットレベル
FR50 のデバイスにおけるリセットの動作は , 以下の 2 つのレベルに分類されます。
• 設定初期化リセット (INIT)
• 動作初期化リセット (RST)
各リセットレベルの発生要因と初期化タイプは異なります。
■ 設定初期化リセット (INIT)
すべての設定を初期化する最も強力なリセットレベルは設定初期化リセット (INIT) と
よばれます。INIT は次の設定値を初期化します。
[INIT により初期化される設定値 ]
• デバイス動作モード ( バスモードと外部バス幅の設定値 )
• 内部クロック(クロックソース選択, PLL制御, 分周比設定)に関するすべての設定値
• 外部バス拡張インタフェースのすべての設定値
• 他の端子状態に関するすべて設定値
• 動作初期化リセット (RST) により初期化されるすべての設定値
詳細については , 各機能説明を参照してください。
電源投入後は必ず INITX 端子で INIT を実行してください。
■ 動作初期化リセット (RST)
プログラム動作を初期化する通常リセットレベルは, 動作初期化リセット(RST)とよば
れます。
INIT が発生した場合には , RST も同時に発生します。
RST は , 次の設定値を初期化します。
[RST により初期化される設定 ]
• プログラム動作
• CPU と内部バス
• リソースのレジスタ設定値
• I/O ポート設定
• 外部バスの CS0 領域に関するすべての設定値
詳細については各機能説明を参照してください。
116
第 2 章 CPU
2.9.2
リセットソース
ここでは , FR50 のデバイスにおける , 各リセットソースとリセットレベルについて
説明します。過去のリセット要因は , リセット要因レジスタ (RSRR) を読み出すこ
とにより得られます。各説明に出てくるレジスタとフラグの詳細については , 「5.8
クロック生成制御ブロックのレジスタ」を参照してください。
■ INITX 端子 ( 設定初期化リセット端子 ) への入力
INITX 端子 ( 外部端子 ) は , 設定初期化リセット端子として機能します。
設定初期化リセット (INIT) 要求は , INITX 端子に "L" レベルが入力された場合に発生
します。
この要求は , INITX 端子に High レベル信号を入力することにより解除されます。
INIT 要求に従って設定初期化リセット (INIT) が実行されると , リセット要因レジスタ
(RSRR) 内の INIT ビット (bit15) がセットされます。
この要求により実行される INIT は , すべてのリセット要因の中で最も強力なリセット
です。すべての入力 , 操作 , 状態に優先します。電源を入れたらすぐに , INITX 端子で
INIT を実行してください。また , 電源投入直後は , 発振回路の発振安定待ち時間を確保
するため , INITX 端子への "L" レベル入力を発振回路の要求する安定待ち時間の間持続
してください。
発生要因 : 外部 INITX 端子への "L" レベル入力
解除要因 : 外部 INITX 端子への "H" レベル入力
発生レベル : 設定初期化リセット (INIT)
対応フラグ : INIT ビット (bit15)
■ RSTX 端子 ( 動作初期化リセット端子 ) への入力 (MB91FV360GA のみ )
RSTX 端子 ( 外部端子 ) は , 動作初期化リセット端子として機能します。
動作初期化リセット (RST) 要求は , RSTX 端子に "L" レベルが入力された場合に発生し
ます。
この要求は RSTX 端子への "H" レベルの入力により解除されます。
RSTX 要求に従って動作初期化リセット (RST) が実行されると , リセット要因レジスタ
(RSRR) 内の ERST ビット (bit12) がセットされます。
タイムベースカウンタ制御レジスタ (TBCR) 内の SYNCR ビット (bit9) が設定されると
すべてのバスアクセスが停止した後にのみ , この要求に従って RST が実行されます。
このため , バスの使用状況によっては , RST の発生まで時間がかかることもあります。
発生要因 : 外部 RSTX 端子への "L" レベル入力
解除要因 : 外部 RSTX 端子への "H" レベル入力
発生レベル : 動作初期化リセット (RST)
対応フラグ : ERST ビット (bit12)
■ 内部パワーダウンリセット (「第 21 章 パワーダウンリセット」参照 )
RSTX 端子への "L" レベル同様 , 内部パワーダウンリセットにより動作初期化リセット
(RST) が実行されます。
117
第 2 章 CPU
■ STCR: SRST ビットへの書込み ( ソフトウェアリセット )
ソフトウェアリセット要求は , スタンバイ制御レジスタ (STCR) 内の SRST ビット (bit4)
に "0" が書き込まれた場合に発生します。
ソフトウェアリセット要求は , 動作初期化リセット (RST) 要求です。
RST が発生した場合 , 受け付けられたソフトウェアリセット要求は解除されます。
ソフトウェアリセット要求に従って動作初期化リセット(RST)が実行されると, リセッ
ト要因レジスタ (RSRR) 内の SRST ビット (bit11) がセットされます。
タイムベースカウンタ制御レジスタ (TBCR) 内の SYNCR ビット (bit9) が設定されると
すべてのバスアクセスが停止した後にのみ , この要求に従って RST が実行されます。
このため , バスの使用状況によっては , RST の発生まで時間がかかることもあります。
発生要因 : STCR 内の SRST ビット (bit4) への "0" 書込み
解除要因 : 動作初期化リセット (RST) の実行
発生レベル : 動作初期化リセット (RST)
対応フラグ : SRST ビット (bit11)
■ ウォッチドッグリセット
ウォッチドッグタイマ制御レジスタ (RSRR) にデータを書き込むと , ウォッチドッグタ
イマが起動します。RSRR 内の WT1 ビットと WT0 ビット (bit9, bit8) により設定された
サイクル以内にタイムベースカウンタクリアレジスタ (CTBR) へ A5H/5AH 書込みが行
われないと , ウォッチドッグリセット要求が発生します。ウォッチドッグリセット要求
は , 設定初期化リセット (INIT) 要求です。要求が受け付けられ INIT または RST が発生
すると , ウォッチドッグリセット要求は解除されます。
ウォッチドッグリセット要求に従って INIT が実行されると , リセット要因レジスタ
(RSRR) 内の WDOG ビット (bit13) がセットされます。ウォッチドッグリセット要求に
従って INIT が実行されても , 設定されている , 発振安定待ち時間は初期化されません。
発生要因 : 設定されたウォッチドッグタイマサイクルの経過
解除要因 : 設定初期化リセット (INIT) または動作初期化リセット (RST) の実行
発生レベル : 設定初期化リセット (INIT)
対応フラグ : WDOG ビット (bit13)
■ HSTX 端子 ( ハードウェアスタンバイ端子 ) への入力
HSTX 端子 ( 外部端子 ) は , ハードウェアスタンバイ端子として機能します。ハード
ウェアスタンバイ要求は , HSTX 端子へ "L" レベルが入力された場合に発生します。
ハードウェアスタンバイ要求が受け付けられ , デバイスがハードウェアスタンバイ状
態に切り換わると , 同時に設定初期化リセット (INIT) が発生します。
HSTX 端子に "H" レベルが入力されると , ハードウェアスタンバイ要求は解除されま
す。設定初期化リセット (INIT) もまた解除されます。
デバイスがハードウェアスタンバイ状態である場合 , 外部 INITX 端子に INIT 要求が生
じるとハードウェアスタンバイ要求は解除されますが , INIT は要求が発生したままの
状態になります。
デバイスでハードウェアスタンバイ状態による INIT が発生すると , リセット要因レジ
スタ (RSRR) 内の HSTB ビット (bit14) がセットされます。
電源を入れた直後にハードウェアスタンバイ要求が発生した場合は, INITX端子におけ
る設定初期化リセット (INIT) が他のリセットより優先されます。ただし , INITX 端子
における INIT が解除され , デバイスがハードウェアスタンバイ状態に切り換わると ,
設定されている , 発振待ち時間は最小値に初期化され , ハードウェアスタンバイ要求が
解除された後 , 発振安定待ち時間は最小値に設定されます。
発生要因 :
118
外部 HSTX 端子への "L" レベル入力
第 2 章 CPU
解除要因 :
外部 HSTX 端子への "H" レベル入力または INITX 端子における設定初
期化リセット (INIT)
発生レベル : 設定初期化リセット (INIT)
対応フラグ : HSTB ビット (bit14)
119
第 2 章 CPU
2.9.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 により示されたアドレスでプログラムの動作を開始しますが , シングルチップ
モードの場合は , 内部ブート ROM の最初のアドレスから開始します 「第
(
4 章 ブー
ト ROM/ 構成レジスタ」を参照してください )。
■ 動作初期化リセット (RST) 解除シーケンス
動作初期化リセット (RST) 要求が解除されると , デバイスは次の動作を順に実行しま
す。
1. RST を解除して , 通常の動作状態に切り換わります。
2. アドレス 000FFFFCH から , リセットベクタを読み出します。
3. プログラムカウンタ (PC) に , リセットベクタを書き込みます。
4. PC により示されたアドレスで , プログラム動作を開始します。
■ ハードウェアスタンバイ解除シーケンス
ハードウェアスタンバイ要求または低電圧検出スタンバイ要求が解除されると , デバ
イスは次の動作を順に実行します。
1. 設定初期化リセット(INIT)を設定し, 内部クロック動作を開始し, 端子ハイインピー
ダンス処理を解除します。
2. INIT を解除して , 発振安定待ち状態に切り換わります。
3. 発振安定待ち (STCR 内の bit3, bit2(OS1, OS0)) の間 , 動作初期化リセット (RST) 状態
を保持し , 内部クロックを停止します。
4. 動作初期化リセット (RST) が設定され , 内部クロックの動作を開始します。
5. RST を解除して , 通常の動作状態に切り換わります。
6. アドレス 000FFFF8H から , モードベクタを読み出します。
7. アドレス 000007FDH のモードレジスタ (MODR) に , モードベクタを書き込みます。
8. アドレス 000FFFFCH から , リセットベクタを読み出します。
9. プログラムカウンタ (PC) に , リセットベクタを書き込みます。
10.PC により示されたアドレスで , プログラムの動作を開始します。
120
第 2 章 CPU
2.9.4
発振安定待ち時間
デバイスは , 元の発振が停止した状態 , あるいは停止した可能性のある状態から戻っ
た場合に , 発振安定待ちの状態に自動的に切り換わります。
この機能は , 発振が開始した後の不安定な発振器出力を使用できないようにするも
のです。
発振安定待ち時間の間 , 内部クロックと外部クロックの供給は停止し , 内蔵タイム
ベースカウンタのみが動作します。デバイスは , スタンバイ制御レジスタ (STCR) に
より設定された , 安定までの待機時間が経過するのを待ちます。
発振安定待ちの動作を以下に示します。
■ 発振安定待ちの発生要因
発振安定待ちの発生要因は以下のとおりです。
1) 設定初期化リセット (INIT) の解除
INIT が解除された直後 , デバイスは発振安定待ちの状態に切り換わります。
発振安定待ち時間が経過すると , デバイスは動作初期化リセット (RST) 状態に切り
換わります。
2) 停止モードからの復帰時
停止モードが解除された直後 , デバイスは , 発振安定待ちの状態に切り換わります。
ただし , 停止モードが設定初期化リセット (INIT) 要求により解除された場合には ,
デバイスは INIT 状態に切り換わります。INIT が解除されてから , 発振安定待ちの
状態に切り換わります。
発振安定待ち時間が経過すると , デバイスは停止モード解除要因に対応する状態に
切り換わります。
• (NMI を含む ) 有効な外部割込み要求の入力による復帰時
→デバイスは通常の動作状態に切り換わります。
• INIT 要求による復帰時
→デバイスは RST 状態に切り換わります。
• RST 要求による復帰時
→デバイスは RST 状態に切り換わります。
3) エラー状態発生による復帰時 (PLL が選択されている場合に有効 )
PLL がソースクロックとして動作している場合に PLL 制御に何らかの異常 * が発生
すると , PLL ロックタイム確保のために , 自動的に発振安定待ち時間に切り換わり
ます。
発振安定待ち時間が経過すると , デバイスは通常の動作状態に切り換わります。
*: PLL 使用中の逓倍率の変更や , PLL 動作許可ビット化けの発生など
121
第 2 章 CPU
■ 発振が安定するまでの待機時間の選択
内蔵タイムベースカウンタは , 発振安定待ち時間をカウントするのに使用されます。
発振安定待ち要因の発生により , 発振安定待ちの状態にデバイスが切り換わった場合 ,
内蔵タイムベースカウンタは , 一度初期化した後に , 発振安定待ち時間のカウントを開
始します。
スタンバイ制御レジスタ (STCR) 内の OS1 ビットと OS0 ビット (bit3, bit2) は , 発振安定
待ち時間を 4 種類から 1 つ選択 , 設定するのに使用できます。
発振安定待ち時間の設定は , INITX 端子 ( 外部端子 ) における設定初期化リセット (INIT)
でのみ初期化できます。他のリセット ( ウォッチドッグリセット , ハードウェアスタン
バイ , 低電圧検出スタンバイによる設定初期化リセット (INIT), 動作初期化リセット
(RST) など ) を行うときには , リセットする前に設定されていた発振安定待ち時間が保
持されます。
発振安定待ち時間 4 種類では , 以下の用途を想定しています。
• OS1, OS0 = 11
発振が安定するまでの待機時間なし ( 停止モードにおいて PLL と発振器が停止しな
かった場合 )
• OS1, OS0 = 01
発振安定待ち時間 ( ミドル )( セラミック発振器などの高速安定発振器を使用した場
合)
• OS1, OS0 = 00, 10
発振安定待ち時間 ( ロング )( 通常の水晶発振器などを使用した場合 )
電源を入れたらすぐに , INITX 端子で INIT を実行してください。また , INITX 端子へ
の "L" レベル入力を保持し , 発振回路により要求された , 発振回路の発振安定待ち時間
を守ってください。
(INITX 端子で INIT を実行すると , 発振安定待ち時間の設定が最小値に初期化されま
す。)
電源を入れた直後にハードウェアスタンバイ要求が発生した場合は, INITX端子におけ
る設定初期化リセット (INIT) が他のリセットより優先されます。ただし , INITX 端子
における INIT が解除され , デバイスがハードウェアスタンバイ状態に切り換わると ,
発振安定待ち時間の設定は最大値に初期化され , ハードウェアスタンバイ要求が解除
された後の発振安定待ち時間は最大値に設定されます。
122
第 2 章 CPU
2.9.5
リセットモード
動作初期化リセット (RST) は , 通常 , 以下の 2 つのモードをサポートします。
• 通常 ( 非同期 ) リセットモード
• 同期リセットモード
モードを選択するには , タイムベースカウンタ制御レジスタの SYNCR ビット (bit9)
を使用します。
設定リセットモードは , 初期化リセット (INIT) を設定することによってのみ , 初期化
できます。
INIT は常に非同期で実行されます。
通常 ( 非同期 ) リセットと同期リセットについて , 以下に説明します。
■ 通常 ( 非同期 ) リセット
RST またはハードウェアスタンバイ要求が発生した場合 , 即座に RST 状態またはハー
ドウェアスタンバイ状態への遷移を行う動作を , 通常 ( 非同期 ) リセットとよばれます。
通常 ( 非同期 ) リセットモードにおいて , RST またはハードウェアスタンバイ要求が受
け付けられると , デバイスは , 内部バスアクセス状態を参照することなく , すぐに RST
またはハードウェアスタンバイ状態に切り換わります。
このモードでは,各状態へ遷移する時点で行われていたバスアクセスの結果は保証され
ません。しかし , それら要求を確実に受け付けることが可能です。
TBCR の SYNCR ビット (bit9) が "0" である場合 , デバイスは通常 ( 非同期 ) リセット
モードで動作します。
INIT が発生した後の初期値は通常リセットモードです。
■ 同期リセット
RST またはハードウェアスタンバイ要求が発生した場合に , すべてのバスアクセスが
停止した後で , RST またはハードウェアスタンバイ状態に切り換わることを , 同期リ
セットとよびます。
同期リセットモードにおいて RST またはハードウェアスタンバイ要求が受け付けられ
ても , 内部バスがアクセスされていれば , デバイスは , RST またはハードウェアスタン
バイ状態には切り換わりません。
上記要求が受け付けられた場合 , 内部バスにはスリープ要求が発せられます。各バスが
動作を停止してスリープ状態に切り換わると , デバイスは RST またはハードウェアス
タンバイ状態に切り換わります。本モードでは , 各状態へ遷移する時点ですべてのバス
アクセスが停止しているため , すべてのバスアクセスの結果は保証されます。
ただし , バスアクセスが何らかの理由により停止しない場合には , 各要求は受け付けら
れません ( この場合においても , INIT は直ちに有効になります )。次の場合 , バスアク
セスは停止しません。
• 外部拡張バスインタフェースに対し BRQ( バス解放要求 ) が入力され続け , BGRNTX
( バス解放アクノリッジ ) が有効となっている場合で , 内部バスが新たなバスアクセ
ス要求を発する場合。
• RDY(ready 要求 ) が外部拡張バスインタフェースに連続的に入力され , バスウェイ
123
第 2 章 CPU
トが有効となっている場合。このバスアクセスが終了後 , デバイスは最終的に RST
またはハードウェアスタンバイ状態に切り換わります。ただし , この切換えには時
間がかかります。
<注意事項>
124
DMA コントローラは , デバイスが各状態に切り換わるのを遅らせることはありま
せん。コントローラは , 要求を受け取ると転送を停止するからです。
TBCR 内の SYNCR ビット (bit9) が "1" である場合 , それは同期リセットモードで
あることを表しています。
INIT が発生すると , 初期値は通常 ( 非同期 ) リセットモードに戻ります。
第 2 章 CPU
2.10
動作モード
本 CPU には , 以下の 2 つの動作モードがあります。
• バスモード
• アクセスモード
各モードの詳細について , 以下に示します。
■ 動作モード
バスモード
アクセスモード
シングルチップ
内部 ROM 外部バス
32 ビットバス幅
→
外部 ROM 外部バス
16 ビットバス幅
8 ビットバス幅
1) バスモード
バスモードでは , 内部 ROM 動作と外部アクセスの機能が制御されます。これは ,
モード端子 (MD2, MD1, MD0) と , モードデータの ROMA ビット値により定義され
ます。
2) アクセスモード
アクセスモードでは , 外部データバス幅が制御されます。これは , モードレジスタ
の WTH1 ビットと WTH0 ビット , AMD0 ∼ AMD7( 領域モードレジスタ ) の BW1
ビットと BW0 ビットにより定義されます。
125
第 2 章 CPU
2.10.1
バスモード
FR50 には , 以下の 3 種類のバスモードがあります。
• バスモード 0( シングルチップモード )
• バスモード 1( 内部 ROM 外部バスモード )
• バスモード 2( 外部 ROM 外部バスモード )
モード設定の詳細については , 「2.10.2 モード設定」を参照してください。
■ バスモード 0( シングルチップモード )
このモードは内部 I/O, I- バス RAM, D- バス RAM に加え , F- バス RAM に対して有効
です。他の領域に対するアクセスは無効です。
<注意事項>
このモードは , 本品種ではサポートしていません。
■ バスモード 1( 内部 ROM 外部バスモード )
このモードは , 内部 I/O, I- バス RAM, D- バス RAM に加え , F- バス RAM( 内部 ROM な
ど ) に対して有効です。
他の領域に対するアクセスは外部空間に対するアクセスです。外部端子の一部はバス
端子として機能します。
■ バスモード 2( 外部 ROM 外部バスモード )
このモードは内部 I/O, I- バス RAM, D- バス RAM に対して有効です。
これは F- バス RAM に対するアクセスを禁止します。すべてのアクセスは外部空間に
対するものです。外部端子の一部はバス端子として機能します。
126
第 2 章 CPU
モード設定
2.10.2
FR50 のデバイスは , モード端子 (MD2 ∼ MD0) とモードレジスタ (MODR) を使用し
て動作モードを設定します。
■ モード端子
モードベクタフェッチに関する指定および試験モードを設定するのに , 表 2.10-1 に示
す 3 つのモード端子 (MD2 ∼ MD0) が使用されます。
表 2.10-1 モード端子
モード端子
リセットベクタ
アクセス領域
モード名
MD2
MD1
MD0
0
0
0
内部 ROM モード
ベクタ
0
0
1
外部 ROM モード
ベクタ
備考
内部
MB91F362GB および
MB91F364G はなし
外部
モードレジスタはバス幅
を設定するのに使用され
ます。
残りの設定
予備
フラッシュメモリモード
については「第 31 章
フラッシュメモリ」を参
照してください。
■ モードレジスタ (MODR)
モードベクタフェッチによって 0000_07FDH に書き込まれるデータは , モードデータと
よばれます。
MODR は 0000_07FDH に配置されます。動作モードを MODR に設定すると , デバイス
はこの動作モードで動作します。MODR は , リセット要因 (INIT レベル ) が発生した場
合のみ設定されます。ユーザプログラムは , MODR に対してデータを書き込むことは
できません。
<モードレジスタ (MODR) >
MODR
7
6
5
4
3
アドレス
0000 07FDH
0
0
0
0
0
2
1
0
ROMA WTH1 WTH0
初期値
XXXXXXXXB
動作モード設定ビット
[bit7 ∼ bit3] ( 予備ビット )
bit7 ∼ bit3 は常に "00000" に設定します。ほかの値を設定した場合の動作は保証さ
れません。
127
第 2 章 CPU
[bit2] ROMA( 内部 ROM 許可ビット )
ROMA ビットは内部 ROM 領域 (F- バスメモリ領域 ) を有効にするかどうかの設定
に使用します。
ROMA
機能
0
外部 ROM モード
1
内部 ROM モード
備考
F- バス領域へのアクセスは外部です。
[bit1, bit0] WTH1, WTH0( バス幅 / シングルチップモード指定ビット )
WTH1 ビットと WTH0 ビットは , バス幅 ( 動作モードが外部バスモードの場合に有
効 ) とシングルチップモードを設定するのに使用されます。動作モードが外部バス
モードである場合 , この値は AMD0(CS0 領域 ) の BW1 ビットと BW0 ビットに設定
されます。
WTH1
WTH0
機能
備考
0
0
8 ビットバス幅
外部バスモード
0
1
16 ビットバス幅
外部バスモード
1
0
32 ビットバス幅
外部バスモード
1
1
シングルチップモード
設定禁止
( 注意事項 ) "11" には設定しないでください。
128
第 2 章 CPU
2.10.3
フィックスベクタ
MB91360 シリーズデバイスの動作モードにおけるフィックスベクタについて説明し
ます。
■ フィックスベクタ
MB91360 シリーズデバイスをモード MD[2:0]=000 で起動した場合は , 内部フィックス
モードベクタ (FMV=0x06) , およびフィックスリセットベクタが使用されます。フィッ
クスリセットベクタは内部ブート ROM の開始アドレスをポイントします。
これにより , F- バス領域 , 内部 CAN モジュール , および内部フラッシュメモリにアク
セスできます。
詳細については , 「第 4 章 ブート ROM/ 構成レジスタ」を参照してください。
129
第 2 章 CPU
130
第3章
命令キャッシュ
MB91360 シリーズのメンバである命令キャッシュ
メモリと , その動作について説明します。
3.1 概要
3.2 本体の構成
3.3 各動作モードの状態
3.4 命令キャッシュのキャッシュ可能領域
3.5 FR50 の I-Cache を使用する場合の設定方法
131
第 3 章 命令キャッシュ
3.1
概要
命令キャッシュは , 一時記憶メモリです。
■ 命令キャッシュの概要
命令キャッシュは , 命令コードを外部の低速メモリからアクセスする場合に , 一度アク
セスしたコードを内部に保持する役目を果たし , 2 回目以降のアクセス速度を速めるた
めに使用します。命令キャッシュデータ RAM, タグ RAM は , このメモリを RAM モー
ドに設定することによりソフトウェアで直接読出し / 書込みアクセスできるようにな
ります。
<注意事項>
132
命令キャッシュを 1 度オンしてからオフにする場合には , 必ず「3.5 FR50 の
I-Cache を使用する場合の設定方法」に記載されているサブルーチンをご使用
ください。
第 3 章 命令キャッシュ
本体の構成
3.2
命令キャッシュメモリの本体の構成について説明します。
■ 命令キャッシュメモリ本体の構成
• FR の基本命令長
: 2 バイト
• ブロックの配置方式 : 2 ウェイセットアソシアティブ
• ブロック : 1 ウェイは 128 ブロック構成
1 ブロックは 16 バイト (= 4 サブブロック )
1 サブブロックは 4 バイト (= 1 バスアクセス単位 )
■ キャッシュ構成
図 3.2-1 にキャッシュ 1 の命令キャッシュ構成 , 図 3.2-2 にキャッシュ 2 の命令キャッ
シュタグ , 図 3.2-3 にキャッシュ 3 の RAM のアドレスマップ , 図 3.2-4 にキャッシュ 4
の各キャッシュサイズ時のメモリの割当て , 図 3.2-5 にキャッシュ 5 のキャッシュ領域
を示します。
図 3.2-1 キャッシュ 1 の命令キャッシュ構成
4 bytes
13
12
11
10
サブブロック 3 サブブロック 2 サブブロック 1 サブブロック 0 ブロック 0
サブブロック 3 サブブロック 2 サブブロック 1 サブブロック 0 ブロック 127
キャッシュタグ
サブブロック 3 サブブロック 2 サブブロック 1 サブブロック 0 ブロック 0
…
キャッシュタグ
…
…
キャッシュタグ
ウェイ 2
128 Blocks
4 bytes
…
128 Blocks
…
キャッシュタグ
4 bytes
…
ウェイ 1
4 bytes
…
4 bytes
サブブロック 3 サブブロック 2 サブブロック 1 サブブロック 0 ブロック 127
133
第 3 章 命令キャッシュ
図 3.2-2 キャッシュ 2 の 命令キャッシュタグ
ウェイ 1
9
31
8
アドレスタグ
予約
7
6
5
4
3
2
1
0
SBV3
SBV2
SBV1
SBV0
TAGV
予約
LRU
ETLK
有効 TAG
サブブロックバリッド
LRU
エントリロック
ウェイ 2
9
31
8
アドレスタグ
予約
7
6
5
4
3
SBV3
SBV2
SBV1
SBV0
TAGV
サブブロックバリッド
2
予約
1
0
ETLK
有効 TAG
エントリロック
[bit31 ∼ bit9] アドレスタグ
対応するブロックにキャッシュされている命令のメモリアドレスの上位 23 ビット
が格納されています。ブロック i のサブブロック k に格納されている命令データの
メモリアドレス IA は , 次のようになります。
IA= アドレスタグ × 211 + i × 24 + k × 22
CPU からアクセス要求された命令アドレスが , 一致するかどうかを確認します。タ
グ検査の結果に従い , 以下のように動作します。
1) 要求された命令データがキャッシュ内に存在する場合 ( ヒット ), キャッシュから
CPU へサイクル内にデータを転送します。
2) 要求された命令データがキャッシュ内に存在しない場合 ( ミス ), 外部アクセスで
取得された , データ (1 サブブロック ) を CPU とキャッシュが同時に取得します。
[bit7 ∼ bit4] SBV3 ∼ SBV0: サブブロックビットバリッド
サブブロックビットバリッド (SBV3 ∼ SBV0) に "1" を設定した場合 , 関連したサブ
ブロックには , タグで示されたアドレスの現行命令データがエントリされていま
す。サブブロックには , 通常 2 つの命令が格納されます ( 即値転送命令を除く )。
[bit3] TAGV: TAG バリッドビット
アドレスタグの値が有効かどうかを示します。このビットが "0" の場合は , サブバ
リットビットと無関係に, このブロックはインバリッド状態になります(フラッシュ
状態 )。
134
第 3 章 命令キャッシュ
[bit1] LRU ビット ( ウェイ 1 のみ )
ウェイ 1 の命令キャッシュタグにのみ存在します。選択されたセットについて , 最
後にキャッシュがアクセスしたエントリがウェイ 1 とウェイ 2 のどちらであるかを
示します。LRU=1 の場合は , ウェイ 1 の , LRU=0 の場合はウェイ 2 のセットのエン
トリが最後にアクセスしたことを示します。
[bit0] ETLK: エントリロックビット
タグに相当するブロック内の全エントリをキャッシュにロックします。
ETLK=1 の場合は , ロック状態であることを示します。キャッシュミスの場合 , エ
ントリは更新されません。ただし , 無効なサブブロックは更新されます。ウェイ 1,
2 ともにエントリロックされている場合にキャッシュミスした場合は ,「キャッシュ
ミス」判定の 1 サイクル後に , 外部メモリをアクセスします。
■ 制御レジスタ構成
IRBS (32 ビット )
bit31
30
29
28
27
26
25
24
初期値
0000 0300H
0
0
0
0
0
0
0
0
0000 0000B
R
R
R
R
R
R
R
R
bit23
22
21
20
19
18
17
16
0
0
0
0
0
0
0
1
R
R
R
R
R
R
R
R
(0000 0302H)
初期値
0000 0001B
bit15
14
13
12
11
10
9
8
IRBS
IRBS
IRBS
IRBS
−
−
−
−
R/W
R/W
R/W
R/W
−
−
−
−
bit7
6
5
4
3
2
1
0
初期値
---- ----B
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
初期値
0010 ----B
[bit15 ∼ bit12] IRBS
RAM モードでアクセスする場合に , キャッシュRAM のベースアドレスを設定しま
す。キャッシュ RAM は 4K バイト単位でアラインしてください。これらのビット
は INIT で初期化されます。初期値はアドレス 00012000H です。
ISIZE (8 ビット )
bit7
6
5
4
3
2
1
0
初期値
0000 0307H
-
-
-
-
-
-
SIZE1
SIZE0
---- --11B
-
-
-
-
-
-
R/W
R/W
135
第 3 章 命令キャッシュ
[bit1, bit0] SIZE1, SIZE0
キャッシュサイズを設定するビットです。これらのビットの設定により , キャッ
シュサイズ , IRAM 容量 , および RAM モード時のアドレスマップが , 図 3.2-3 のよ
うに変化します。キャッシュサイズを変更した場合は , 必ずフラッシュ , およびエ
ントリロックの解除を行ってから , キャッシュをオンにしてください。
表 3.2-1 に , SIZE1, および SIZE0 のキャッシュサイズのレジスタを示します。
表 3.2-1 キャッシュサイズレジスタ
SIZE1
SIZE0
サイズ
0
0
1K バイト
0
1
2K バイト
1
0
設定禁止
1
1
4K バイト ( 初期値 )
図 3.2-3 RAM のアドレスマップ
アドレス
(IRBS)
初期値
00010000
00010200
00010400
00010600
00010800
00010A00
00010C00
00010E00
00011000
00011200
00011400
00011600
00011800
00011A00
00011C00
00011E00
00012000
00012200
00012400
00012600
00012800
00012A00
00012C00
00012E00
00013000
Cache off Cache off Cache 4K Cache 4K
RAM on
RAM off
RAM off RAM on
TAG
TAG
(ウェイ0)
(ウェイ0)
TAG
(ウェイ1)
IRAM
Cache 2K Cache 2K
RAM off RAM on
TAG
TAG(ウェイ0)
TAG
TAG(ウェイ1)
(ウェイ1)
IRAM
IRAM
TAG
(ウェイ0)
(ウェイ1)
(ウェイ0) (ウェイ0)
Cache 1K Cache 1K
RAM off RAM on
IRAM
IRAM
(ウェイ0) (ウェイ0)
(ウェイ0) (ウェイ0)
IRAM
IRAM
IRAM
IRAM
IRAM
(ウェイ1) (ウェイ1) (ウェイ1) (ウェイ1)
IRAM
IRAM
(ウェイ1) (ウェイ1)
SRAM
(ウェイ0)
SRAM
(ウェイ0)
SRAM(ウェイ0)
SRAM(ウェイ1)
SRAM
(ウェイ1)
SRAM
(ウェイ1)
IRBSの設定値が,ほかのメモリ領域と重なる場合は,IRBSメモリ(SRAM)が優先されます。
はミラーとなる領域。
136
第 3 章 命令キャッシュ
図 3.2-4 各キャッシュサイズ時のメモリの割当て
TAG RAM
SRAM
00010000
00010004
00010008
0001000C
00010010
00010014
00x番地のエントリ
00xのミラー
01x番地のエントリ
01xのミラー
00010020
000番地の命令(SBV0)
004番地の命令(SBV1)
008番地の命令(SBV2)
00C番地の命令(SBV3)
010番地の命令(SBV0)
014番地の命令(SBV1)
018番地の命令(SBV2)
01C番地の命令(SBV3)
00012000
00012004
00012008
0001200C
00012010
00012014
00012018
0001201C
図 3.2-5 キャッシュ領域
アドレス
000
200
400
600
800
A00
C00
E00
Cache 4K Cache 2K Cache 1K Cache off
SRAM
IRAM
IRAM
SRAM
未使用
SRAM
IRAM
IRAM
IRAM
(ウェイ0)
SRAM
IRAM
(ウェイ1)
SRAM
ROMAB=0
ROMなし
未使用
SRAM
ROMAB=1
ROMあり
00000000 Direct area Direct area
00010000 ダイレクト領域 ダイレクト領域
00020000
D-bus RAM領域の場合でも,CACHEとしてはIバスに
00030000
のればキャッシュされます。
00040000 キャッシュ 内部ROM
領域
キャッシュ チップセレクトの領域ごとに,非キャッシュ領域と
領域
して設定することができます。
00100000
FFFFFFFF
■ I-CacHe 制御レジスタ
ICHCR(I-CacHe 制御レジスタ ) は , 命令キャッシュの動作を制御します。
ICHCR への書込みは , 続く 3 サイクル中に取り込んだ命令のキャッシュの動作には影
響を与えません。
ICHCR (8 ビット )
bit7
6
5
4
3
2
1
0
初期値
0000 03E7H
RAM
-
GBLK
ALFL
EOLK
ELKR
FLSH
ENAB
0-00 0000B
R/W
-
R/W
R/W
R/W
R/W
R/W
R/W
内部ブート ROM 内のコードを実行中に , 有効なブート条件が検出されると , このレジ
スタは "0x81" に設定されます。
[bit7] RAM: RAM モード
RAM ビットを 1 に設定すると , 命令キャッシュは RAM モードで動作します。RAM
モードにすることによって , ENAB ビットが "1"( キャッシュオン ) となっている場
合 , キャッシュ RAM は IRBS によって指定された領域にマッピングされます。
137
第 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
からの命令アクセスは , キャッシュを介さず外部に対して直接行われます。禁止状
態では , キャッシュの内容は保存されます。
138
第 3 章 命令キャッシュ
各動作モードの状態
3.3
各動作モード時におけるキャッシュの状態 , およびキャッシュのエントリ更新につ
いて説明します。
■ 各動作モード時のキャッシュの状態
表 3.3-1 に , ディセーブル / フラッシュはビット操作命令などでそのビットだけ変化さ
せた場合の状態を示しています。
表 3.3-1 各動作モード時のキャッシュの状態 (1 / 2)
リセット直後
ディセーブル
フラッシュ
キャッシュメモリ
内容は不定
直前の状態を保持 ,
ディセーブル状態で
の書換え不可
直前の状態を保持
タグ
アドレスタグ
内容は不定
直前の状態を保持 ,
ディセーブル状態で
の書換え不可
直前の状態を保持
サブブロック
バリッドビット
内容は不定
直前の状態を保持 ,
ディセーブル状態で
の書換え不可
直前の状態を保持
LRU
内容は不定
直前の状態を保持 ,
ディセーブル状態で
の書換え不可
直前の状態を保持
エントリロック
ビット
内容は不定
直前の状態を保持 ,
ディセーブル状態で
の書換え不可
直前の状態を保持
( エントリロックの
解除が必要 )
TAG バリッド
ビット
内容は不定
直前の状態を保持 ,
ディセーブル状態で
のフラッシュ可能
すべてのエントリが
インバリッド
直前の状態を保持 ,
ディセーブル状態で
のフラッシュ可能
直前の状態を保持
RAM
139
第 3 章 命令キャッシュ
表 3.3-1 各動作モード時のキャッシュの状態 (2 / 2)
リセット直後
制御
レジスタ
ディセーブル
フラッシュ
グローバル
ロック
アンロック
直前の状態を保持 ,
ディセーブル禁止状
態での書換え可能
直前の状態を保持
オートロック
フェイル
フェイルなし
直前の状態を保持 ,
ディセーブル状態で
の書換え可能
直前の状態を保持
エントリオート
ロック
アンロック
直前の状態を保持 ,
ディセーブル状態で
の書換え可能
直前の状態を保持
エントリロック
解除
解除なし
直前の状態を保持 ,
ディセーブル状態で
の書換え可能
直前の状態を保持
イネーブル
ディセーブル
ディセーブル
直前の状態を保持
フラッシュ
フラッシュし
ない
直前の状態を保持 ,
ディセーブル状態で
の書換え可能
メモリアクセス直後
のサイクルでフラッ
シュ。以後 "0" に戻
る。
■ キャッシュのエントリ更新
表 3.3-2 に , キャッシュのエントリ更新の状態を示します。
表 3.3-2 キャッシュのエントリ更新の状態
アンロック
ヒット
ミス
140
ロック
更新しない。
更新しない。
メモリデータをロードし , キャッシュ
のエントリデータを更新する。
タグミスの場合は更新しない。サブブロック
がインバリッドの場合は更新する。
第 3 章 命令キャッシュ
3.4
命令キャッシュのキャッシュ可能領域
命令キャッシュのキャッシュ可能領域について説明します。
■ 命令キャッシュのキャッシュ可能領域
• 命令キャッシュは , 外部バス空間のみキャッシュ可能です。
• DMA転送で外部メモリデータが更新されても, キャッシュされた命令とのコヒーレ
ンスはとりません。コヒーレンスを保持するには , キャッシュをフラッシュしてく
ださい。
• 命令キャッシュは , チップ選択領域ごとに , 非キャッシュ領域として設定できます。
この場合でも , キャッシュオンの場合は 1 サイクルのペナルティを受けますが ,
キャッシュオフはペナルティ対象とはなりません。
141
第 3 章 命令キャッシュ
3.5
FR50 の I-Cache を使用する場合の設定方法
I-Cache を使用する場合の設定方法について説明します。命令キャッシュを一度オ
ンしてからオフにする場合には必ず以下の方法に従ってください。
■ I-Cache を使用する場合の設定方法
1) 初期化
I-Cache を使うには , まずキャッシュの内容をクリアします。レジスタの FLSH ビッ
トと ELKR ビットを "1" にして , 過去のデータを消去します。
ldi #0x000003e7,r0
//
I-Cache 制御レジスタのアドレス
ldi #0B00000110,r1
//
FLSH ビット (bit1)
stb
r1,@r0
//
ELKR ビット (bit2)
//
レジスタに書込み
これで , キャッシュが初期化されました。
2) キャッシュを有効 ( オン ) にする
I-Cache を有効にするには , ENAB ビットを "1" に設定します。
I-Cache 制御レジスタのアドレス
ldi
#0x000003e7,r0 //
ldi
#0B00000001,r1 //
ENAB ビット (bit0)
stb
r1,@r0
レジスタに書込み
//
これ以降の命令アクセスがキャッシュされます。
キャッシュは , 初期化と有効化を同時に行うこともできます。
ldi
#0x000003e7,r0 //
ldi
#0B00000111,r1 //
stb
r1,@r0
I-Cache 制御レジスタのアドレス
ENAB ビット (bit0)
//
FLSH ビット (bit1)
//
ELKR ビット (bit2)
//
レジスタに書込み
3) キャッシュを無効 ( オフ ) にする
I-Cache を無効にするには , ENAB ビットを "0" に設定します。
ldi
#0x000003e7,r0
//
I-Cache 制御レジスタのアドレス
ldi
#0B00000000,r1
//
ENAB ビット (bit0)
stb
r1,@r0
//
レジスタに書込み
この状態 ( リセット後の状態と同じ ) では , キャッシュがないのと同じです。
キャッシュのオーバヘッドが処理上の問題となる場合は , キャッシュをオフにして
もかまいません。
4) キャッシュされた命令をすべてロックする。
現在 I-Cache に入っている命令をロックするには , レジスタの GBLK ビットを "1" に
設定します。ENAB ビットも "1" に設定します。そうしないと , キャッシュがオフ
になってしまい , キャッシュ内のロックした命令が使えません。
142
第 3 章 命令キャッシュ
ldi
#0x000003e7,r0
//
I-Cache 制御レジスタのアドレス
ldi
#0B00100001,r1
//
ENAB ビット (bit0)
stb
r1,@r0
//
GBLK ビット (bit5)
//
レジスタに書込み
5) キャッシュされた特定の命令をロックする。
特定の命令グループ ( サブルーチンなど ) をキャッシュにロックするには , それら
の命令を実行する前に EOLK ビットを "1" に設定します。このようにしてロックし
た命令は , 高速内部 ROM を使っているかのようにアクセスされます。
ldi
#0x000003e7,r0
//
I-Cache 制御レジスタのアドレス
ldi
#0B00001001,r1
//
ENAB ビット (bit0)
stb
r1,@r0
//
EOLK ビット (bit3)
//
レジスタに書込み
メモリのウェイトカウントによりますが , stb 命令以降の命令が有効になります。
ロックしたい命令グループが終ったところで , EOLK ビットを "0" に設定します。
ldi
#0x000003e7,r0
//
ldi
#0B00001001,r1
//
stb
r1,@r0
I-Cache 制御レジスタのアドレス
ENAB ビット (bit0)
//
EOLK ビット (bit3)
//
レジスタに書込み
6) キャッシュされた命令のロックを解除する
ロックを解除するには , 次のようにします。
ldi
#0x000003e7,r0
//
I-Cache 制御レジスタのアドレス
ldi
#0B00000000,r1
//
キャッシュディセーブル
stb
r1,@r0
//
レジスタに書込み
ldi
#0B00000100,r1
//
ELKR ビット (bit2)
stb
r1,@r0
//
レジスタに書込み
ロック情報だけが解除されるので , ロックされていた命令は , LRU ビットの状態に
応じて順次新しい命令に置き換わります。
143
第 3 章 命令キャッシュ
144
第4章
ブート ROM/ 構成レジスタ
シングルチップモードで使用される , 埋込み式ブー
ト ROM の機能について説明します。
4.1 ブート ROM
4.2 構成レジスタ (F362GB モードレジスタ F362MD)
145
第 4 章 ブート ROM/ 構成レジスタ
4.1
ブート ROM
ブート ROM は , FF000( リセットエントリ ) にある固定の起動ルーチンです。した
がって , RST または INIT が実行されるたびに実行されます。この ROM の目的は ,
リセット後にデバイスを構成し , 埋込みフラッシュメモリをプログラミングするた
めの簡単なシリアルブートローダを提供することです。
ブート ROM には , 以下の 3 つの論理部があります。
• チップ初期化
• ブート状態のチェック
• ブートストラップローダ
■ チップ初期化
各リセットの直後に , 次の設定が実行されます。
CS0:200000...2FFFFF, 32 ビットバス , 1 ウェイトステート ( デフォルトの外部アクセス )
CS7:100000...10FFFF, 16 ビットバス , 1 ウェイトステート (CAN)
さらに , テーブルベースレジスタが 1FFC00 に初期化され , 同期リセット「5.8.3
(
TBCR:
タイムベースカウンタ制御レジスタ」参照 ) が許可されます。
■ ブート状態のチェック
チップの初期化後 , 「セキュリティベクタ」がチェックされます ( ベクタ #66)。
表 4.1-1 に , セキュリティベクタのチェック値を示します。
表 4.1-1 セキュリティベクタのチェック値
品種
MB91F362GB
チェック値
セキュリティベクタは FFFF FFFFH
MB91F376G
セキュリティベクタは FFFF FFFFH
または , 外部の 04: 4800H ∼ 13: FFFFH
その他の MB91360 シリーズ
セキュリティベクタは FFFF FFFFH
または , 外部の 08: 0000H ∼ 0F: FFFFH
この機能の目的は , セキュリティ上の理由によりブートストラップローダを無効にす
ることで , 上記の表に当てはまるときのみにブートストラップローダは有効になりま
す。
RSRR( リセット要因レジスタ ) が読み出され保存されます。電源投入時のリセット ( 外
部 INITX 入力 , RSRR=0x80) が示されない場合は , ユーザアプリケーションへの分岐が
起動されます。
INITX が検出され , 「セキュリティベクタ」チェックが OK である場合 , ブートスト
ラップローダを起動するには , 次の条件が満たされなければなりません。
所定の時間内に , UART0(9600, 8N1) により起動文字 "V" が受信されること。
タイムアウトは 200ms に設定されます。MB91FV360GA では , 外部ブート端子 (Boot/
P93) がハイ状態のときにブートストラップローダが起動されます。
146
第 4 章 ブート ROM/ 構成レジスタ
■ ブートストラップローダ
ブート条件が満たされると , UART0 により応答文字 "F" が送信され , ブートローダが
コマンドを受け入れる状態になったことを示します。次の 4 種類のコマンドがありま
す。
• 受信して , 指定されたメモリブロックに書き込む
• 指定されたメモリブロックの内容をダンプする
• 特定のロケーションへの「コール」を起動する
• 検証のために計算したチェックサムを再ダンプする
図 4.1-1 に , ブートストラップローダのフローを示します。
図 4.1-1 ブートストラップローダのフロー
RST
INIT
クロックを2MHz
に設定,UART0
を初期化
チップ初期化
RSRR
リセット要因を
リセットし保存
"V"受信
NO
セキュリティ
ベクタ
=FFFFFFFF
YES
NO
NO
YES
タイムアウト
?
YES
リセット要因 Yes
=INITX
NO
Jump
@(SccVcc)
<注意事項>
Jump
アプリケーション起動
ブートローダ
起動
RSRR レジスタは , 1 回のみ読み出せます。RSRR レジスタを読み出すと , その内
容は一時的に RAM(3D500) に保存され , アプリケーション起動またはセキュリ
ティベクタによって指定されるアドレスに分岐した後 , R4( パラメータの C コン
パイラ記法 ) に存在します。
ブート ROM はチップを初期化し , いくつかのレジスタの設定値を変更します ( 表
4.1-3 参照 )。
ユーザプログラムの標準の起動アドレスは ( セキュリティベクタがほかのアドレ
スを指定しない限り ), F4000 です。
147
第 4 章 ブート ROM/ 構成レジスタ
■ ブートストラップローダの説明
有効なブート条件が検出されると , データはシリアルプロトコルを使用して , MPU と
読み書きされます。さらに , 専用アドレスへのコールやチェックサム (16 ビット長 , デー
タの送受信中に計算される ) の再ダンプが可能です。通信チャネルは UART0(9600 ボー ,
8 データビット , パリティなし , 1 ストップビット , ハンドシェイクなし , バイナリ伝送 ) です。
<注意事項>
このプロトコルを使用してデータを伝送するソフトウェアは , 富士通マイクロエレ
クトロニクスで提供しています。
表 4.1-2 にシリアル通信のプロトコル , 表 4.1-3 にブート ROM によって修正されるレジ
スタの説明を示します。
表 4.1-2 シリアル通信プロトコル
コマンド
PC から MCU
MCU から PC
備考
241 (0xF1)
1
130 (0x82)
2
Read (2)
Lo, MidLo, MidHi, Hi
Lo, Hi
Addr (4 バイト )
Size (2 バイト )
バイナリダンプ
CS (2 バイト )
直接読出しとダンプ
ブートローダは 16 ビットの
チェックサムを送信
241 (0xF1)
1
131 (0x83)
3
Write (3)
Addr (4 バイト )
Lo, Hi
Size (2 バイト )
受信と格納
バイナリダンプ
1
Call (4)
Lo, MidLo, MidHi, Hi
CS (2 バイト )
ブートローダは 16 ビットの
チェックサムを送信
241 (0xF1)
指定されたアドレスをコール
し , リターンを待つ。R4 に
返ったパラメータは PC にエ
コーされる。
132 (0x84)
4
Addr (4 バイト )
ret. Parameter
Get
Checksum (5)
1
241 (0xF1)
5
133 (0x85)
CS (2 バイト )
148
MCU は , 最後の読み書き操
作時に計算された 16 ビット
のチェックサム (Lo, Hi) を再
ダンプする。
第 4 章 ブート ROM/ 構成レジスタ
表 4.1-3 ブート ROM によって修正されるレジスタ
レジスタ
値
アドレス
説明
ASR0
0x20
0x640
領域選択レジスタ 0
AMR0
0x0F
0x642
領域マスクレジスタ 0
AMD0
0x11
0x660
領域モードレジスタ 0
ASR7
0x10
0x65C
領域選択レジスタ 7
AMR7
0x00
0x65E
領域マスクレジスタ 7
AMD7
0x29
0x667
領域モードレジスタ 7
CSE
0x81
0x668
CS 選択許可レジスタ
CMCR
0x0180
0x0164
CAN クロックイネーブル
TBR
0x0FFC00
-
テーブルベースレジスタ
TBCR
0x03
0x482
タイムベースカウンタ制御 / 同期リセットレジスタ
RSRR
0 ( 注参照 )
0x480
リセットソースレジスタ (R4 で可視 )
SP*
0x3D3F8
-
CLKR*
0x0(4 MHz)
0x36(32 kHz)
0x484
クロックソース制御レジスタ
DIVR0*
0x0(4 MHz)
0x77(32 kHz)
0x486
クロック分周レジスタ 0(CPU, および R- バス )
DIVR1*
0x0(4 MHz)
0x70(32 kHz)
0x487
クロック分周レジスタ 1( 外部バス )
PFRQ*
0x03
0x41A
ポートファンクションレジスタポート Q(UART0)
SMR0*
0x31
0x63
UART0 モードレジスタ
SCR0*
0x13
0x62
UART0 制御レジスタ
UTIMR0*
0x05
0x68
U-Timer0 リロード
UTIMC0*
0x82
0x6B
U-Timer0 制御
FMWT
0×3
0x00007004
フラッシュ待機制御レジスタ
FMCS
0x60
0x00007000
フラッシュ制御ステータスレジスタ
スタックポインタ
*: 有効なブート状態のチェックが実行された場合のみ , レジスタは修正されます。
注 ) RSRR のリセット要因ビットは読出し動作によってクリアされます。読出し値は R4 を確認し
てください。
149
第 4 章 ブート ROM/ 構成レジスタ
構成レジスタ (F362GB モードレジスタ F362MD)
4.2
構成レジスタは , 外部バスインタフェースのどの端子がアクティブで , 外部 DMA
チャネル用の端子がどこに配置され , どの I2C モジュールを使用するかを制御するた
めに使用するレジスタです。
■ 構成レジスタ
アドレス
00001FEH
bit15
14
ADRSWAP ASYMCLKT
13
HTZ_D_A
12
11
10
9
HIZ_ECLK HIZ_D_23_16 HIZ_D_15_0 DMASWP
8
IICSEL
アクセス
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] ADRSWAP (MB91F369GA でのみ有効 )
0: Pin23= CS4X, Pin24= CS5X, Pin25= CS6X
1: Pin23= A21, Pin24= A22, Pin25= A23
このビットは , 対応する PFR が CSX 出力またはアドレス信号にそれぞれ設定され
ている場合に有効です。
[bit14] ASYMCLKT (MB91F364G では不可 )
0: CLKT 用デューティサイクルは 1:1 です。
1: CLKB と CLKT の間の奇数比 (1:3, 1:5 など ) に対する CLKT のハイパルスは ,
CLKB の 1 ハイパルスの長さによって短縮されます。
CLKB:CLKT = 1:3 の例
CLKB
CLKT
(ASYMCLKT = 0)
CLKT
(ASYMCLKT = 1)
[bit13] HIZ_D_A ( 外部インタフェースを持つデバイスでのみ使用可能 )
0: D[31:24], A[20:0], RDX, WR3X, WR2X, WR1X, WR0X の出力は有効です。
1: D[31:24], A[20:0], RDX, WR3X, WR2X, WR1X, WR0X の出力は Hi-Z です。
[bit12] HIZ_ECLK ( 外部インタフェースを持つデバイスでのみ使用可能 )
0: CLK の出力は有効です。
1: CLK の出力は Hi-Z です。
[bit11] HIZ_D_23_16 ( 外部インタフェースを持つデバイスでのみ使用可能 )
0: D[23:16] の出力は有効です。
1: D[23:16] の出力は Hi-Z です。
150
第 4 章 ブート ROM/ 構成レジスタ
[bit10] HIZ_D_15_0 ( 外部インタフェースを持つデバイスでのみ使用可能 )
0: D[15:0] の出力は有効です。
1: D[15:0] の出力は Hi-Z です。
[bit9] DMASWP (MB91F362GB と MB91FV360GA のみ使用可能 )
0: 外部 DMA チャネル 0 のスワップは無効です。
1: 外部 DMA チャネル 0 のスワップは有効です ( 端子の位置については , 表 4.2-1 を
参照してください )。
表 4.2-1 端子の位置
DMA ピンスワップ
MB91F362GB
MB91FV360GA
DREQ0 ←→ BRQ
端子 61 ←→ 端子 37
端子 193 ←→ 端子 88
DACK0 ←→ BRGNTX
端子 62 ←→ 端子 36
端子 135 ←→ 端子 139
DEOP0 ←→ AS
端子 63 ←→ 端子 43
端子 84 ←→ 端子 87
[bit8] IICSEL
(100 kHz および 400 kHz I2C インタフェースを持つデバイスでのみ使用可能 )
0: 100 kHz I2C インタフェース (I2C-1) の選択
1: 400 kHz I2C インタフェース (I2C-2) の選択
<注意事項>
IICSEL は必ず "1" を設定してください。
151
第 4 章 ブート ROM/ 構成レジスタ
152
第5章
クロック生成とデバイス状態
MB91360 シリーズの制御に使用するクロックの生
成 , および制御について , 詳細に説明します。さら
に , デバイス状態 , および低電力モードについて解
説します。ここでは , サブクロックなしの動作を想
定しています。サブクロックの動作についての説
明は , 対応する章を参照してください。
5.1 クロック生成の概要
5.2 ベースクロックの生成
5.3 PLL 制御
5.4 待ち時間
5.5 クロック分配
5.6 クロックパルス分周
5.7 クロック生成制御
5.8 クロック生成制御ブロックのレジスタ
5.9 クロックソース PLL との切換え
5.10 クロック制御部が持つ周辺回路
5.11 デバイス状態の制御
5.12 低消費電力モード
153
第 5 章 クロック生成とデバイス状態
5.1
クロック生成の概要
内部動作クロックの生成の概要について説明します。
■ クロック生成の概要
MB91360 シリーズは , 以下のように内部動作クロックを生成します。
• ベースクロックの生成 : デバイスは , ソースクロック (X クロック ) を 2 分周 , また
は PLL 発振させて , 基本クロック (PLL クロック ) を生成
します。
• 各内部クロックの生成 : デバイスは , ベースクロックを分周し , 各ブロックに供給
するクロックを生成します。
以降に , 各クロックの生成 , および制御について説明します。
レジスタ , およびフラグの詳細については , 「5.7 クロック生成制御」と「5.8 クロッ
ク生成制御ブロックのレジスタ」を参照してください。
32 kHz サブクロックを使用して RTC モジュールの動作が可能なデバイスもあります。
詳細については「第 29 章 サブクロック」を参照してください。
154
第 5 章 クロック生成とデバイス状態
5.2
ベースクロックの生成
内部動作クロック生成のうち , ベースクロックについて説明します。
■ ベースクロックの生成
4 MHz 発振子 , およびキャパシタンスを , X0 端子 , および X1 端子に接続する必要があ
ります。
外部バスクロックを含め , クロックはすべてデバイス自身で生成します。
内蔵 PLL(「5.7 クロック生成制御」を参照 ) は , メインクロックを使用して逓倍率を定
めます。
内部ベースクロックは , 以下のソースクロックから 1 つを選択して生成します。
• メインクロック入力の 2 分周を基準として生成したソースクロック
(X クロック =2 MHz)
• PLL でメインクロックを逓倍して生成したソースクロック (PLL クロック )
ソースクロックの選択は , クロックソース制御レジスタ (CLKR) を設定して制御しま
す。
155
第 5 章 クロック生成とデバイス状態
5.3
PLL 制御
発振の許可 / 禁止 , および逓倍率は , クロックソース制御レジスタ (CLKR) の設定に
より制御されます。
■ PLL 発振の許可 / 禁止
PLL の発振許可 / 禁止は , CLKR の PLL1EN ビット (bit10) の設定に従って制御します。
設定初期化リセット (INIT) 後 , CLKR の PLL1EN ビット (bit10) は "0" に初期化され ,
PLL の発振動作は停止しています。PLL 発振停止中は , PLL クロックはソースクロッ
クとして選択できません。
プログラムの動作開始時に , まず PLL の逓倍率を設定し , PLL 発振を許可します。次
に , PLL ロックの待ち時間が経過してから , ソースクロックを PLL クロックに切り換
えます。この際 , PLL ロック待ち時間の完了は , タイムベースタイマ割込みを使用する
と良いでしょう。
PLL クロックをソースクロックとして選択している間は , PLL の動作は停止できませ
ん ( 対応するレジスタビットに対する書込み動作は , 無効になります )。デバイスを停
止モードへ切り換える場合に PLL を停止させたい場合は , ソースクロックとして X ク
ロックを選択し直してから PLL を停止させます。
停止モードで発振が停止するようにスタンバイ制御レジスタ (STCR) の OSCD1 ビット
(bit0) を設定した場合 , デバイスが停止モードへ切り換わると , PLL も自動的に停止し
ます。
その後デバイスが停止モードから復帰する際に , PLL は自動的に発振を開始します。
■ PLL 逓倍率
クロックソース制御レジスタ (CLKR) の PLL1S2, PLL1S1, および PLL1S0 ビット (bit14 ∼
bit12) を使用して , PLL の逓倍率を設定します。
これらのビットは , 初期化リセット (INIT) の設定が実行されると , すべて "0" に初期化
されます。
● PLL 逓倍率設定
PLL 逓倍率設定を初期値より変更する場合 , プログラムの動作開始後 , PLL の動作を許
可する前または許可時に , 逓倍率を設定します。PLL 逓倍率の変更後 , ロック待ち時間
が経過した後 , ソースクロックを PLL クロックに切り換えます。このとき , PLL ロッ
ク待ち時間の完了は , タイムベースタイマ割込みを使用すると良いでしょう。
動作中に PLL 逓倍率の設定を変更する場合は , ソースクロックを X クロックに切り換
えてから設定を変更します。上記同様 , PLL 逓倍率の変更後は , ロック待ち時間が経過
したらソースクロックを PLL クロックに復帰させます。
PLL 逓倍率の設定は , PLL の使用中でも変更できます。ただしこの場合は , 逓倍率設定
の変更後 , デバイスは自動的に発振安定待ち状態に切り換わります。
プログラムの動作は , 発振安定待ち時間が経過するまで停止します。クロックソースを
X クロックに切り換えた場合は , プログラムの動作は停止しません。
156
第 5 章 クロック生成とデバイス状態
5.4
待ち時間
発振器の許可後 , 発振器から安定クロック信号が発振されるまで , しばらく時間がか
かります。この時間を , 発振安定待ち時間とよびます。(「5.10 クロック制御部が持
つ周辺回路」参照 )
■ 待ち時間
PLL の動作開始後 , 設定した PLL 出力周波数が安定するまで , さらに一定の時間を必
要とします。この時間を , PLL ロック待ち時間とよびます。
待ち時間が必要な場合について , 以下に詳細を説明します。
● 電源投入後の待ち時間
電源投入後 , メインクロック用発振器回路の発振安定待ち時間が経過するまで , 動作を
待たなければなりません。
発振安定待ち時間は , INITX 端子に "L" レベルを入力することにより , 初期値に初期化
されます。詳細については , 「5.8.2 STCR: スタンバイ制御レジスタ」を参照してくだ
さい。
初期状態では , PLL の動作は許可されていないため , ロック待ち時間を考慮する必要は
ありません。
● 初期化リセット後の待ち時間
初期化リセット (INIT) が解除されると , デバイスは発振安定待ち状態に切り換わりま
す。この状態では , 発振安定待ち時間を内部的に生成します。
電源投入時 , INITX 端子への "L" レベル入力により発振安定待ち状態になると , 時間は
初期値に初期化されます。
ただし , この状態において "L" レベルが HSTX 端子 ( ハードウェアスタンバイ端子 ) に
入力されると , デバイスはハードウェアスタンバイ状態に切り換わり , 発振器回路が停
止します。このため , 発振安定待ち時間は , 安全のため最大値に初期化されます。
プログラムの動作開始後 , INITX 端子への信号入力以外の要因により INIT された場合 ,
INIT を解除すると , プログラムが設定した発振安定待ち時間が使用されます。
これらの状態では , PLL の動作が許可されていないため , ロック待ち時間を考慮する必
要はありません。
● PLL の動作許可後の待ち時間
プログラムの動作が始まり , 停止状態の PLL の動作を許可した場合 , ロック待ち時間
が経過するまでは PLL 出力を使用できません。
ソースクロックとして PLL を選択していない場合は , ロック待ち時間中であってもプ
ログラムの動作は実行可能です。
この際 , PLL ロック待ち時間は , タイムベースタイマ割込みを使用すると良いでしょ
う。
157
第 5 章 クロック生成とデバイス状態
● PLL 逓倍率変更後の待ち時間
プログラムの動作が始まり , 動作中の PLL の逓倍率設定を変更した場合 , ロック待ち
時間が経過するまでは PLL 出力を使用できません。
ソースクロックとして PLL を選択していない場合は , ロック待ち時間中であってもプ
ログラムの動作は実行可能です。
この際 , PLL ロック待ち時間は , タイムベースタイマ割込みを使用すると良いでしょ
う。
● 停止モード復帰後の待ち時間
プログラムの動作が始まり , デバイスが停止モードに切り換わった場合 , 停止モードか
らの復帰時に , プログラムが設定した発振安定待ち時間が使用されます。
停止モードで発振器回路が停止するよう設定した場合は , 発振器回路の発振安定待ち
時間または使用している PLL のロック待ち時間のうち , どちらか長い方が必要となり
ます。あらかじめ発振安定待ち時間を設定してから , デバイスを停止モードに切り換え
てください。
発振器回路が停止モードで停止しないよう設定した場合は , デバイスが停止モードに
切り換える前に , 発振安定待ち時間を最小値に設定します。
<注意事項>
158
ただし , 発振回路が停止後停止モードでハードウェアスタンバイ要求を入力した場
合は , 復帰後に発振安定停止時間が必要となります。発振安定待ち時間を最小値に
設定した場合は , この待ち時間を確保できず , 復帰後の動作は保証されません。こ
の場合は前もって発振器回路用の発振安定待ち時間を設定しておいてください。
第 5 章 クロック生成とデバイス状態
5.5
クロック分配
ソースクロックから生成されたベースクロックをもとに , 各機能の動作クロックを
作成します。デバイスには , 以下の 3 種類のメイン内部動作クロックがあります。
• CPU クロック (CLKB)
• リソースクロック (CLKP)
• 外部バスクロック (CLKT)
また,上記 3 種類のクロックのほかに次の 2 つのクロックがあります。
• CAN モジュール用クロック (CANCLK)
• RTC 用クロック ( リアルタイムクロックモジュール )
それぞれのクロックの分周比は , 個別に設定できます。
ここでは , 各内部動作クロックについて説明します。
■ CPU クロック (CLKB)
CPU クロックは , CPU, 内部メモリ , および内部バスで使用します。
CPU クロックは , 以下の回路で使用します。
• CPU
• 命令キャッシュ
• 内蔵 RAM, 内蔵フラッシュメモリ , 内蔵 ROM
( 関連するウェイトサイクルの設定は「第 31 章 フラッシュメモリ」を参照してく
ださい。)
• ビットサーチモジュール
• I バス , D バス , X バス , F バス
• DMA コントローラ
• DSU
周波数の上限はデバイスにより異なります。
「第 1 章 MB91360 シリーズの概要」の表
1.4-1 を参照してください。この周波数の上限を超える逓倍率と分周比の組合せは設定
できません。
■ リソースクロック (CLKP)
リソースクロックは , リソース , および周辺回路バスで使用します。
リソースクロックは , 以下の回路で使用します。
• 周辺回路バス
• クロック制御ブロック ( バスインタフェースブロックのみ )
• 割込みコントローラ , 外部割込み入力
• I/O ポートバス , リソース I/O ポート
• ステッパモータコントローラ
• UART モジュール , U- タイマ
• SIO, SIO プリスケーラ
159
第 5 章 クロック生成とデバイス状態
• 16 ビットリロードタイマ
• A/D コンバータ , D/A コンバータ
• I/O タイマ
• サウンド生成器
• PWM タイマ
• I2C インタフェース
• アラーム比較器 , パワーダウンリセット
動作可能な周波数の上限は 32 MHz です。この周波数の上限を超える逓倍率と分周比
の組合せは設定できません。
■ 外部バスクロック (CLKT)
外部バスクロックは , 外部拡張バスインタフェースで使用します。
外部バスクロックは , 以下の回路で使用します。
• 外部拡張バスインタフェース
• 外部 CLK 出力
• バスインタフェース I/O ポート
動作可能な周波数の上限は 32 MHz です。この周波数の上限を超える逓倍率と分周比
の組合せは設定できません。
■ その他のクロック
上記 3 種類のクロックのほかに , 次の 2 つのクロックがあります。
● CAN モジュール用クロック (CANCLK)
本クロックは , PLL の出力から直接生成します。本クロックの比率は , 8 ビット長プロ
グラマブルプリスケーラ ( レジスタ CMCR) が制御しています。CANCLK の値は , PLL
クロック /( プリスケーラ値 +1) です。
● RTC 用クロック ( リアルタイムクロックモジュール )
本クロックは , デバイス , および SELCLK 端子の設定に従って , 4 MHz または 32 kHz
の発振器回路出力から直接生成します。
160
第 5 章 クロック生成とデバイス状態
5.6
クロックパルス分周
各内部動作クロックの分周比は , ベースクロックから個別に設定できます。この機
能により , 各回路の最適な動作周波数が設定できます。
■ クロックパルス分周
分周比は , DIVR0( 基本クロック分周設定レジスタ 0) および DIVR1( 基本クロック分周
設定レジスタ 1) にて設定します。DIVR0, および DIVR1 には , それぞれ , 各クロックに
対応する 4 ビットの設定ビットがあります。レジスタ設定値 +1 がそのクロックのベー
スクロックに対する分周比です。設定した分周比が奇数であっても , デューティは常に
"50" です。
レジスタ設定値を変更すると , 次のクロックの立上りエッジから , 新しい分周比が有効
になります。
動作初期化リセット (RST) が生成した場合 , 分周比設定は初期化されず , RST 生成前の
分周比設定が保持されます。設定初期化リセット (INIT) が生成した場合のみ , 分周比
設定は初期化されます。初期状態では , リソースクロック (CLKP) 以外は , すべてのク
ロックの分周比が "1" になります。
このため , 必ず分周比を設定してから , ソースクロックを高速なもの (PLL クロック )
に変更します。
<注意事項>
動作可能な周波数の上限は , クロックごとに指定されています。ソースクロックの
選択 , PLL 逓倍率の設定 , および分周比の設定の組合せによって , 動作可能な周波
数の上限を超えた場合 , その動作は保証されません。
ソースクロック選択の変更設定シーケンスを間違えないように注意してください。
161
第 5 章 クロック生成とデバイス状態
5.7
クロック生成制御
ここでは , クロック生成制御ブロックのブロックダイヤグラムを示します。
■ クロック生成制御ブロックのブロックダイヤグラム
図 5.7-1 に , クロック生成制御ブロックのブロックダイヤグラムを示します。レジスタ
の詳細については ,「5.8 クロック生成制御ブロックのレジスタ」を参照してください。
Rバス
図 5.7-1 クロック生成制御ブロックのブロックダイヤグラム
[クロック発生ブロック]
DIVR0および
DIVR1レジスタ
CPUクロック分周
分周器
1~16
リソースクロック分周
分周器
1~16
外部バスクロック分周
停
止
制
御
分周器
1~16
CLKRレジスタ
SELCLK
X0
X1
PLL
1
クロック
変調器
X1A
発振器
回路
32 kHz
外部バスクロック
CLKT
MONCLK
1/2
RTCのクロック
RTCCLK
0
X0A
リソースクロック
CLKP
CANのクロック
CANCLK
プリスケーラ
発振器
回路
4 MHz
CPUクロック
CLKB
[停止/スリープ制御ブロック]
STCRレジスタ
内部割込み
停止状態
状態遷移
制御回路
スリープ状態
内部リセット
リセット発生
F/F
HSTX
リセット発生
F/F
内部リセット(RST)
内部リセット(INIT)
[リセットソース回路]
RSTX
INITX
RSRRレジスタ
ウォッチドッグF/F
タイムベースカウンタ
CTBRレジスタ
TBCRレジスタ
オーバフロー検出F/F
タイムベースタイマ
割込み要求
割込み許可
[ウォッチドッグ制御ブロック]
162
第 5 章 クロック生成とデバイス状態
5.8
クロック生成制御ブロックのレジスタ
クロック生成制御ブロックのレジスタの詳細について説明します。
■ クロック生成制御ブロックのレジスタ
クロック生成制御ブロックのレジスタには , 以下のものがあります。
• リセット要因レジスタ , ウォッチドッグタイマ制御レジスタ (RSRR)
直前のリセット要因を保持し , ウォッチドッグタイマの起動を制御するレジスタで
す。
• スタンバイ制御レジスタ (STCR)
デバイスの動作モードを制御するレジスタです。
• タイムベースカウンタ制御レジスタ (TBCR)
タイムベースタイマ割込みなどを制御するレジスタです。
• タイムベースカウンタクリアレジスタ (CTBR)
タイムベースカウンタを初期化するレジスタです。
• クロックソース制御レジスタ (CLKR)
システムのベースクロックとして使用するクロックソースを選択するとともに ,
PLL を制御するレジスタです。
• ベースクロック分周設定レジスタ 0 (DIVR0)
各内部クロックのベースクロックの分周比を制御するレジスタです。
• ベースクロック分周設定レジスタ 1 (DIVR1)
各内部クロックのベースクロックの分周比を制御するレジスタです。
• CAN モジュールのクロック制御 (CMCR)
CAN モジュールの専用クロックである CANCLK を起動するために使用するレジス
タです。
以降に , 各レジスタの詳細を説明します。
163
第 5 章 クロック生成とデバイス状態
5.8.1
RSRR: リセット要因レジスタ , ウォッチドッグタイ
マ制御レジスタ
リセット要因レジスタ , ウォッチドッグタイマ制御レジスタは , 直前のリセット要因
を保持し , ウォッチドッグタイマの起動を制御するレジスタです。
■ リセット要因レジスタ , ウォッチドッグタイマ制御レジスタ (RSRR)
リセット要因レジスタ , ウォッチドッグタイマ制御レジスタのレジスタ構成を , 以下に
示します。
bit
15
14
13
12
11
10
9
8
アドレス : 0000 0480H
INIT
HSTB
WDOG
ERST
SRST
-
WT1
WT0
アクセス
R
R
R
R
R
-
R/W
R/W
初期値 (INITX)
1
0
0
0
0
-
0
0
初期値 (INIT)
*
*
*
x
x
-
0
0
初期値 (RST)
x
x
x
*
*
-
0
0
ROM のブート後 **
0
0
0
0
0
-
0
0
* : リセット要因により変化します。
x : 初期化されません。
** : 内部ブート ROM でプログラムを実行後 , リセット要因の値を R4 に転送します。
RSRR を使用して直前のリセット要因を保持し , ウォッチドッグタイマの開始を制御し
ます。また , ウォッチドッグタイマの周期も設定します。本レジスタを読み出す場合 ,
保持されていたリセット要因はクリアされます。本レジスタの読出し前に複数回リ
セットが生成した場合 , リセット要因フラグは累積 ( 設定 ) されます。
本レジスタに書込みを行うと , ウォッチドッグタイマが起動します。RST が生成する
まで , ウォッチドッグタイマは動作を続けます。
[bit15] INIT (INITialize reset occurred)
本ビットは , INITX 端子入力によるリセット (INIT) の発生の有無を示します。
0
INITX 端子入力による INIT は生成していません
1
INITX 端子入力による INIT が生成しました
• 本ビットは , 読出し直後に "0" に設定されます。
• 本ビットは読出し専用です。書込みによって , ほかのビット値に影響を与えること
はありません。
164
第 5 章 クロック生成とデバイス状態
[bit14] HSTB (Hardware STandBy reset occurred)
本ビットは , HSTX 端子入力によるリセット (INIT) の発生の有無を示します。
0
HSTX 端子入力による INIT は生成していません
1
HSTX 端子入力による INIT が生成しました
• 本ビットは , INITX 端子入力によるリセット (INIT) が生成した場合 , または読出し
を行った直後に , "0" に初期化されます。
• 本ビットは読出し専用です。書込みによって , ほかのビット値に影響を与えること
はありません。
[bit13] WDOG (WatchDOG reset occurred)
本ビットは, ウォッチドッグタイマによるリセット(INIT)の発生の有無を示します。
0
ウォッチドッグタイマによる INIT は生成していません
1
ウォッチドッグタイマによる INIT が生成しました
• 本ビットは , INITX 端子入力によるリセット (INIT) が生成した場合または読出しを
行った直後に , "0" に初期化されます。
• 本ビットは読出し専用です。書込みによって , ほかのビット値に影響を与えること
はありません。
[bit12] ERST (External ReSeT occurred)
本ビットは , RSTX 端子入力によるリセット (RST) の発生の有無を示します。
0
RSTX 端子入力による RST は生成していません
1
RSTX 端子入力による RST が生成しました
• 本ビットは , INITX 端子入力によるリセット (INIT) が生成した場合または読出しを
行った直後に , "0" に初期化されます。
• 本ビットは読出し専用です。書込みによって , ほかのビット値に影響を与えること
はありません。
[bit11] SRST (Software ReSeT occurred)
本ビットは , STCR レジスタの SRST 端子へのデータ書込み ( ソフトウェアリセット )
による , リセット (RST) の発生の有無を示します。
0
ソフトウェアリセットによる RST は生成していません
1
ソフトウェアリセットによる RST が生成しました
• 本ビットは , INITX 端子入力によるリセット (INIT) 生成時または読出し直後に , "0"
に初期化されます。
• 本ビットは読出し専用です。書込みによって , ほかのビット値に影響を与えること
はありません。
165
第 5 章 クロック生成とデバイス状態
[bit9, bit8] WT1, WT0 (Watchdog interval Time select)
本ビットを使用して , ウォッチドッグタイマの周期を設定します。
本ビットに値を書き込むことにより, 表 5.8-1 に示す4種類のウォッチドッグタイマ
周期から 1 つを選択します。
表 5.8-1 ウォッチドッグタイマ周期
WT0
ウォッチドッグリセットの生成を
抑止するのに最小限必要な CTBR
への書込み間隔
CTBR への最終 5AH 書込みから
WT1
0
0
φ × 220 ( 初期値 )
φ × 220 ∼ φ × 221
0
1
φ × 222
φ × 222 ∼ φ × 223
1
0
φ × 224
φ × 224 ∼ φ × 225
1
1
φ × 226
φ × 226 ∼ φ × 227
ウォッチドッグリセット生成ま
での時間
( 注意事項 ) φ はシステムベースクロックの周期です。
• 本ビットは , リセット (RST) により "00" に初期化されます。
• 本ビットは読出し専用です。リセット (RST) 後 , 最初の書込みだけが有効です。そ
れ以降の書込みは無効となります。
166
第 5 章 クロック生成とデバイス状態
STCR: スタンバイ制御レジスタ
5.8.2
本レジスタは , デバイスの動作モードを制御するレジスタです。
■ スタンバイ制御レジスタ
スタンバイ制御レジスタのレジスタ構成を , 以下に示します。
bit
7
6
5
4
3
2
1
0
アドレス : 0000 0481H
STOP
SLEEP
HIZ
SRST
OS1
OS0
アクセス
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
初期値 (HSTX)*
0
0
1
1
1
1
1
1
初期値 (INIT)
0
0
1
1
x
x
1
1
初期値 (RST)
0
0
x
1
x
x
x
x
OSCD2 OSCD1
* : INITX による初期化と同時に , 本初期化が行われた場合のみ有効です。その他については , INIT
と同様です。
本レジスタを使用して , デバイスの動作モードを制御します。
デバイスの停止モードとスリープモードの2つのスタンバイモードに切り換えたり, 停
止モード中の端子や発振停止の制御を行います。また , 発振安定待ち時間の設定 , ソフ
トウェアリセット命令の発行を行います。
<注意事項>
スタンバイモードに入れる場合は , 同期スタンバイモード (TBCR: タイムベースカウン
タ制御レジスタの bit8:SYNCS ビットにて設定します ) を使用したうえで , 以下のシー
ケンスを必ず使用してください。
/*STCR ライト */
ldi
#_STCR,R0
;STCR レジスタ (0481H)
ldi
#_Val_of_Stdy,ri
;Val_of_Stdy は ,STCR へのライトデータ
std
rl,@r0
;STCR へのライト
/*STBR ライト */
ldi
#_CTBR,r2
;CTBR レジスタ (0483H)
ldi
#0xA5,rl
; クリアコマンド (1)
stb
rl,@r2
;CTBR への A5 ライト
ldi
#0xA5,rl
; クリアコマンド (2)
stb
rl,@r2
;CTBR への A5 ライト
/* ここでタイムベースカウンタクリア */
ldub
@r0,rl
;STCR リード
/* 同期スタンバイ遷移開始 */
ldub
@r0,rl
;STCR ダミーリード
167
第 5 章 クロック生成とデバイス状態
; タイミング調整用の NOP × 5
nop
nop
nop
nop
nop
[bit7] STOP (STOP mode)
本ビットを使用して , デバイスに対し停止モードへの切換えを指示します。bit6:
SLEEP ビットと本ビット両方に "1" を書き込んだ場合は , 本ビットの方が優先とな
り , 停止モードに切り換わります。
0
デバイスは , 停止モードに切り換わりません ( 初期値 )
1
デバイスは , 停止モードに切り換わります
• 本ビットは , リセット (RST) 時または停止復帰要因により , "0" に初期化されます。
• 本ビットは読出し , および書込みが可能です。
同期スタンバイについては ,「5.11.2 各状態遷移要求の優先順位」を参照してください。
[bit6] SLEEP (SLEEP mode)
本ビットを使用して , デバイスにスリープモードに切り換わるよう指示します。bit7
(STOP ビット ) が , 本ビットより優先されます。つまり , 両ビットが "1" の場合 , デ
バイスは停止モードに切り換わります。
0
デバイスは , スリープモードに切り換わりません ( 初期値 )
1
デバイスは , スリープモードに切り換わります
• 本ビットは , リセット (RST) 時またはスリープ復帰要因により , "0" に初期化されま
す。
• 本ビットは読出し , および書込みが可能です。
同期スタンバイについては , 「5.11.1 デバイスの状態と遷移」を参照してください。
[bit5] HIZ (HIZ mode)
本ビットを使用して , デバイスの停止モード時に , 端子状態を制御します。
0
デバイスが停止モードに切り換わる前の端子状態が保持されます
1
デバイスが停止モードの時は , 端子出力はハイインピーダンス状態になります ( 初期値 )
• 本ビットは , リセット (INIT) 生成時に "1" に初期化されます。
• 本ビットは読出し , および書込みが可能です。
[bit4] SRST (Software ReSeT)
本ビットを使用して , ソフトウェアリセット (RST) 命令を発行します。
0
ソフトウェアリセット (RST) 命令が発行されました
1
ソフトウェアリセット (RST) 命令は発行されません ( 初期値 )
• 本ビットは , リセット (RST) 生成時に "1" に初期化されます。
• 本ビットは読出し , および書込みが可能です。常に "1" が読み出されます。
168
第 5 章 クロック生成とデバイス状態
[bit3, bit2] OS1, OS0 (Oscillation Stabilization time select)
本ビットは , リセット (INIT) 後または停止モード復帰後等における発振安定待ち時
間を設定します。
表 5.8-2 で示しているのは , 本ビットへの書込み値と , それぞれに対応する 4 種類の
発振安定待ち時間の組合せです。
表 5.8-2 発振安定待ち時間との組合せ
OS1
OS0
発振安定待ち時間
4 MHz 発振時
0
0
φ × 216 ( 初期値 )
32 [ms]
0
1
φ × 211
1 [ms]
1
0
φ × 216
32 [ms]
1
1
φ × 21
1 [µs]
( 注意事項 )φ は , システムベースクロックの周期です。この場合 , 原発振の 2 倍の
周期です。
• 本ビットは, INITX端子入力によるリセット(INIT)生成時に, "00"に初期化されます。
ただし , INITX 端子入力によるリセット (INIT) と , HSTX 端子入力によるリセット
(INIT) が同時に有効であった場合は , 本ビットは "11" に初期化されます。
• 本ビットは読出し , および書込みが可能です。
[bit1] OSCD2 (OSCillation Disable mode for subclock oscillator)
設定については , サブクロックの動作についての章を参照してください。
[bit0] OSCD1 (OSCillation Disable mode for subclock oscillator)
本ビットは , メイン発振入力 (XIN1) における停止モードの発振停止を制御します。
0
発振は , 停止モード中も停止しません
1
発振は , 停止モードで停止します ( 初期値 )
• 本ビットは , リセット (INIT) 生成時に "1" に初期化されます。
• 本ビットは読出し , および書込みが可能です。
169
第 5 章 クロック生成とデバイス状態
5.8.3
TBCR: タイムベースカウンタ制御レジスタ
本レジスタは , タイムベースタイマ割込みなどを制御するレジスタです。
■ タイムベースカウンタ制御レジスタ
タイムベースカウンタ制御レジスタのレジスタ構成を , 以下に示します。
bit
15
14
13
12
11
10
9
8
アドレス : 0000 0482H
TBIF
TBIE
TBC2
TBC1
TBC0
−
初期値 (INIT)
0
0
x
x
x
x
0
0
初期値 (RST)
0
0
x
x
x
x
x
x
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
SYNCR SYNCS
内部ブート ROM のコードを実行後 , このレジスタの値は "0x03" となります。
本レジスタは , タイムベースタイマ割込みなどを制御します。
タイムベースタイマ割込みの許可 , 割込みインターバル時間の選択 , およびリセット動
作のオプション機能の設定を行います。
[bit15] TBIF (Time-Base timer Interrupt Flag)
本ビットは , タイムベースタイマ割込みフラグです。
タイムベースカウンタが設定されたインターバル時間が経過したことを示し
ます (bit13 ∼ bit11(TBC2 ∼ TBC0 ビット ) で設定したインターバル時間 )。
bit14(TBIE ビット ) による割込み許可時 (TBIE=1), bit15 に "1" を設定すると , タイム
ベースタイマ割込み要求が生成されます。
クリア要因
命令による "0" の書込み
設定要因
設定 ( 指定 ) したインターバル時間の経過 ( タイムベースカウンタ
出力の立下りエッジの検出 )
• 本ビットは , リセット (RST) 生成時に "0" に初期化されます。
• 本ビットは , 読出し , および書込みが可能です。
ただし , 書込みは "0" のみ有効です。"1" を書き込んでもビット値は変更されません。
リードモディファイライト系命令による読出し値は , 常に "1" となります。
[bit14] TBIE (Time-Base timer Interrupt Enable)
本ビットは , タイムベースタイマ割込み要求の出力を許可します。
タイムベースカウンタが設定されたインターバル時間を経過したことによって生
成する , 割込み要求出力を制御します。
本ビットを "1" に設定した場合 , bit15(TBIF ビット ) を "1" に設定すると , タイムベー
スタイマ割込み要求が生成されます。
170
第 5 章 クロック生成とデバイス状態
0
タイムベースタイマ割込み要求の出力を禁止します ( 初期値 )
1
タイムベースタイマ割込み要求の出力を許可します
• 本ビットは , リセット (RST) 生成時に "1" に初期化されます。
• 本ビットは , 読出し , および書込みが可能です。
[bit13 ∼ bit11] TBC2, TBC1, TBC0 (Time-Base timer Counting time select)
本ビットは , タイムベースタイマで使用するタイムベースカウンタのインターバル
時間を設定します。
表 5.8-3 に示しているのは , 本ビットの書込み値と , それぞれに対応する 8 種類のイ
ンターバル時間の組合せです。
表 5.8-3 インターバル時間との組合せ
TBC2
TBC1
TBC0
タイマ
インターバル時間
クロック周波数を 48 MHz に設定した場合
0
0
0
φ × 211
42.6 [µs]
0
0
1
φ × 212
85.3 [µs]
0
1
0
φ × 213
170.6 [µs]
0
1
1
φ × 222
87.3 [ms]
1
0
0
φ × 223
174.7 [ms]
1
0
1
φ × 224
349.5 [ms]
1
1
0
φ × 225
699 [ms]
1
1
1
φ × 226
1.4 [s]
( 注意事項 ) φ は , システムベースクロックの周期です。
• 本ビットの初期値は不定です。必ず値を設定してから割込みを許可してください。
• 本ビットは , 読出し , および書込みが可能です。
[bit10] ( 予約ビット )
本ビットは , 予備のビットです。
読出し値は不定で , 書込みは無効です。
[bit9] SYNCR (SYNChronous Reset enable)
本ビットは , 同期リセット動作許可ビットです。
動作初期化リセット(RST)要求またはハードウェアスタンバイ要求が生成した場合,
即座にリセット (RST) またはハードウェアスタンバイ遷移を行う通常リセット動作
を行うか , すべてのバスアクセスが停止してから動作初期化リセット (RST) または
ハードウェアスタンバイ遷移を行う同期リセット動作を行うかを選択します。
171
第 5 章 クロック生成とデバイス状態
0
通常リセットを行います
1
同期リセットを行います
• 本ビットは , リセット (INIT) 時に "0" に初期化されます。
• 本ビットは , 読出し , および書込みが可能です。
[bit8] SYNCS (SYNChronousb Standby enable)
本ビットは , 同期スタンバイ動作許可ビットです。
スタンバイ要求 ( スリープモード要求または停止モード要求 ) が発生する際 , STCR
レジスタの制御ビットへの書込みによってのみスタンバイ状態に遷移を行う通常
スタンバイ動作を行うか STCR レジスタの制御ビットへの書込み後に STCR レジス
タの読出しによってスタンバイ状態に遷移を行う同期スタンバイ動作を行うかを
選択します。
0
通常スタンバイ動作を行います
1
同期スタンバイ動作を行います
• 本ビットは , リセット (INIT) 時に "0" に初期化されます。
• 本ビットは , 読出し , および書込みが可能です。
172
第 5 章 クロック生成とデバイス状態
CTBR: タイムベースカウンタクリアレジスタ
5.8.4
本レジスタは , タイムベースカウンタを初期化するレジスタです。
■ タイムベースカウンタクリアレジスタ
タイムベースカウンタクリアレジスタのレジスタ構成を , 以下に示します。
bit
7
6
5
4
3
2
1
0
アドレス : 0000 0483H
D7
D6
D5
D4
D3
D2
D1
D0
初期値 (INIT)
x
x
x
x
x
x
x
x
初期値 (RST)
x
x
x
x
x
x
x
x
W
W
W
W
W
W
W
W
タイムベースカウンタを初期化するためのレジスタです。
本レジスタに連続して {A5H} と {5AH} を書き込むと , {5AH} の書込み直後にタイム
ベースカウンタを全ビット "0" にクリアします。{A5H} 書込みと {5AH} 書込みの間に
時間制限はありませんが , {A5H} の書込み後に {5AH} 以外のデータを書き込むと , 再度
{A5H} を書き込まないと {5AH} を書き込んでもクリア動作は行いません。
ストップ , スリープ ,DMA 転送中など ,CPU が動作してない間は自動的にクリアを行い
ますので , これらの条件が発生するとウォッチドッグリセットは自動的に延期されま
す。ただし , 外部バスのホールド要求 (BRQ) が受け付けられている場合ではウォッチ
ドッグリセットは延期されませんので,長時間外部バスをホールドする場合はスリープ
モードにしてからホールド要求 (BRQ) を入力してください。
本レジスタの読出し値は不定です。
<注意事項>
本レジスタを使用してタイムベースカウンタをクリアした場合 , 発振安定待ち間隔 ,
ウォッチドッグタイマ周期 , およびタイムベースタイマ周期は , 一時的に変動しま
す。
173
第 5 章 クロック生成とデバイス状態
5.8.5
CLKR: クロックソース制御レジスタ
本レジスタは , システムのベースクロックとして使用するクロックソースを選択す
るとともに , PLL を制御するレジスタです。
■ クロックソース制御レジスタ
クロックソース制御レジスタのレジスタ構成を , 以下に示します。
bit
15
14
13
12
11
10
9
8
アドレス : 0000 0484H PLL2S0 PLL1S2 PLL1S1 PLL1S0 PLL2EN PLL1EN CLKS1 CLKS0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値 (INIT)
0
0
1
1
0
0
0
0
初期値 (RST)
x
x
x
x
x
x
x
x
内部ブート ROM のコードを実行中 , ブート条件が有効になると , 本レジスタは ,
"0x00"(4 MHz モード ) または "0x36"(32 kHz モード ) のいずれかに設定されます。
本レジスタは , システムのベースクロックとして使用するクロックソースを選択する
とともに , PLL を制御します。
本レジスタでは , 3 種類のクロックソース (2 種類が本製品で利用可能 ) のうち 1 つを選
択します。また , メインシステム , およびサブシステムそれぞれの PLL 動作ならびに
逓倍率を許可します。
[bit15] PLL2S0 (PLL2 ratio Select 0)
本ビットは , この製品では使用しません。
[bit14 ∼ bit12] PLL1S2, PLL1S1, PLL1S0 (PLL1 ratio Select 2-0)
本ビットは , PLL の逓倍率を選択します。
8 種類の逓倍率のうち , 1 つを PLL 用に選択します (6 種類の逓倍率が本製品で利用
可能 )。
PLL をクロックソースとして選択している間は , 本ビットの書換えは禁止されてい
ます。
表 5.8-4 に示しているのは , 本ビットの書込み値と , それぞれに対応する PLL の逓
倍率の組合せです。
174
第 5 章 クロック生成とデバイス状態
表 5.8-4 PLL の逓倍率との組合せ
システムベースクロックの周期 φ
PLL1S2
PLL1S1
PLL1S0
PLL の逓倍率
0
0
0
予約
設定禁止
0
0
1
予約
設定禁止
0
1
0
(6 で逓倍 )
φ=41.7 [ns] (24 [MHz])
0
1
1
(4 で逓倍 )
φ=62.5 [ns] (16 [MHz])
1
0
0
(8 で逓倍 )
φ=31.3 [ns] (32 [MHz])
1
0
1
(10 で逓倍 )
φ=25.0 [ns] (40 [MHz])
1
1
0
(12 で逓倍 )
φ=20.8 [ns] (48 [MHz])
1
1
1
(16 で逓倍 )
φ=15.6 [ns] (64 [MHz])
( 注意事項 ) φ は , システムベースクロックの周期です。
• 本ビットは , リセット (INIT) 時に "000" に初期化されます。
• 本ビットは , 読出し , および書込みが可能です。
[bit11] PLL2EN (PLL2 ENable)
設定については , サブクロックの動作についての章を参照してください。
[bit10] PLL1EN (PLL1 ENable)
本ビットは , PLL の動作を許可します。
PLL をクロックソースとして選択している間は , 本ビットの書換えは禁止されてい
ます。
また , 本ビットが "0" のとき , PLL をクロックソースとして選択することは禁止され
ています ( クロックソースは , bit9, bit8 (CLKS1, CLKS0) の設定によります )。
STCR の bit0 (OSCD1) が "1" の場合 , bit10 が "1" であっても , PLL は停止モードにおい
て停止します。PLL の動作は , 停止モードから復帰した後許可されます。
0
PLL を停止します ( 初期値 )
1
PLL の動作を許可します
• 本ビットは , リセット (INIT) 時に "0" に初期化されます。
• 本ビットは , 読出し , および書込みが可能です。
• PLL をクロックソースとして選択するためには , CLKS1, CLKS0 の変更前に , 本ビッ
トを "1" に設定してください。
• 必ずほかのクロック設定がすべて済んでから , 本ビットを "1" に設定してください
( ただし , DIVR0 の説明の注意事項も参照してください )。
175
第 5 章 クロック生成とデバイス状態
[bit9, bit8] CLKS1, CLKS0 (ClocK source Select)
本ビットは , FR50 コアのクロックソースを設定します。
表 5.8-5 は , 本ビットに書き込む値と , それぞれに対応するクロックソースの組合せ
です (2 種類のクロックソースが本製品で利用可能です )。
bit9 (CLKS1) が "1" の場合 , bit8 (CLKS0) の値は変更できません。
表 5.8-5 クロックソースとの組合せ
[ 変更不可 ]
[ 変更可能 ]
"00" → "11"
"00" → "01" または "10"
"01" → "10"
"01" → "11" または "00"
"10" → "01" または "11"
"10" → "00"
"11" → "00" または "10"
"11" → "01"
CLKS1
CLKS0
クロックソース設定
0
0
発振入力 "X クロック " の 2 分周 ( 初期値 )
0
1
発振入力 "X クロック " の 2 分周
1
0
PLL クロック
1
1
予約
• 本ビットは , リセット (INIT) 時に "00" に初期化されます。
• 本ビットは , 読出し , および書込みが可能です。
• 前もって PLL が許可されている場合 (PLL1EN = 1) のみ , 本ビットを "10" に設定で
きます。
176
第 5 章 クロック生成とデバイス状態
DIVR0: ベースクロック分周設定レジスタ 0
5.8.6
本レジスタは , 各内部クロックのベースクロックの分周比を制御するレジスタです。
■ ベースクロック分周設定レジスタ 0
ベースクロック分周設定レジスタ 0 のレジスタ構成を , 以下に示します。
bit
15
14
13
12
11
10
9
8
アドレス : 0000 0486H
B3
B2
B1
B0
P3
P2
P1
P0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値 (INIT)
0
0
0
0
0
0
1
1
初期値 (RST)
x
x
x
x
x
x
x
x
内部ブート ROM のコードを実行中 , ブート条件が有効になると , 本レジスタは "0x00"
に設定されます。
本レジスタは , 各内部クロックのベースクロックに対する分周比を制御します。
CPU, および内部バス (CLKB) のクロックと , リソース , および周辺回路バス (CLKP) の
クロックの分周比を設定します。
動作周波数の上限は , クロックごとに定義されています。ソースクロックの選択 , PLL
逓倍率の設定 , および分周比の設定の組合せによって , 周波数の上限を超えた場合 , 動
作は保証されないことに注意してください ( ソースクロック選択の変更設定との順序
を間違えないよう注意してください )。
本レジスタ設定を変更すると , 次のクロックレートから新しい分周比が有効になりま
す。
[bit15 ∼ bit12] B3, B2, B1, B0 (clkB divide select 3 to 0)
本ビットは , CPU クロック (CLKB), 内部メモリ , および内部バスの分周比を設定し
ます。
本ビットに書き込む値により , CPU クロック , および内部バスのベースクロックに
対する分周比 ( クロック周波数 ) を , 表 5.8-6 に示す 16 種類の中から 1 つ選択します。
周波数の上限は 64 MHz です。この上限を超える周波数になる分周比は設定しない
でください。
<注意事項>
CLKB を分周する際 , CLKB と CLKT の比率に関していくつかの注意が必要です。
CLKB を分周する必要がある場合は , 以下の手引きに従ってください。
1. 両クロックの比率を "1" に設定して開始します。
2. PLL を許可します。
3. PLL がロックされるまで待ちます。
4. クロックソースを PLL に設定します。
5. 両クロックの分周比を同時に設定します。DIVR0 と DIVR1 に同時に書き込みま
す ( ハーフワードアクセス )。必ず , CLKB の周波数が CLKT の周波数以上で ,
CLKB の周波数が CLKT の周波数の整数倍になるように , 比率を選択します。設
定値については , 表 5.8-6 を参照してください。
6. 停止モードにする前に CLKB の分周比を "1" に戻し , PLL をクロックソースから
解除した後 , 停止モードにします。
177
第 5 章 クロック生成とデバイス状態
表 5.8-6 CPU クロック , および内部バスのベースクロックに対する分周比 ( クロック周波数 )
B3
B2
B1
B0
クロック分周比
クロック周波数 : ベースクロックが
48 MHz の場合
0
0
0
0
φ
48 [MHz] ( 初期値 )
0
0
0
1
φ × 2 ( 分周比 2)
24 [MHz]
0
0
1
0
φ × 3 ( 分周比 3)
16 [MHz]
0
0
1
1
φ × 4 ( 分周比 4)
12 [MHz]
0
1
0
0
φ × 5 ( 分周比 5)
9.6 [MHz]
0
1
0
1
φ × 6 ( 分周比 6)
8 [MHz]
0
1
1
0
φ × 7 ( 分周比 7)
6.8 [MHz]
0
1
1
1
φ × 8 ( 分周比 8)
6 [MHz]
…
…
…
…
…
…
1
1
1
1
φ × 16 ( 分周比 16)
3 [MHz]
( 注意事項 ) φ は , システムベースクロックの周期です。
• 本ビットは , リセット (INIT) 時に "0000" に初期化されます。
• 本ビットは , 読出し , および書込みが可能です。
[bit11 ∼ bit8] P3, P2, P1, P0 (clkP divide select 3 to 0)
本ビットは, 周辺回路クロック, および周辺回路バス(CLKP)の分周比を設定します。
本ビットに書き込む値により , 周辺回路 , およびバスのベースクロックに対する分
周比 ( クロック周波数 ) を , 表 5.8-7 に示す 16 種類の中から 1 つ選択します。
周波数の上限は 32 MHz です。この上限を超える周波数になる分周比は設定しない
でください。
表 5.8-7 周辺回路 , およびバスのベースクロックに対する分周比 ( クロック周波数 )
P3
P2
P1
P0
クロック分周比
クロック周波数 : ベースクロックが
48 MHz の場合
0
0
0
0
φ
設定禁止
0
0
0
1
φ × 2 ( 分周比 2)
24 [MHz]
0
0
1
0
φ × 3 ( 分周比 3)
16 [MHz]
0
0
1
1
φ × 4 ( 分周比 4)
12 [MHz] ( 初期値 )
0
1
0
0
φ × 5 ( 分周比 5)
9.6 [MHz]
0
1
0
1
φ × 6 ( 分周比 6)
8 [MHz]
0
1
1
0
φ × 7 ( 分周比 7)
6.8 [MHz]
0
1
1
1
φ × 8 ( 分周比 8)
6 [MHz]
…
…
…
…
…
…
1
1
1
1
φ × 16 ( 分周比 16)
3 [MHz]
( 注意事項 )
φ は , システムベースクロックの周期です。
• 本ビットは , リセット (INIT) 時に "0011" に初期化されます。
178
第 5 章 クロック生成とデバイス状態
• 本ビットは , 読出し , および書込みが可能です。
表 5.8-8 に , DIVR0(B3 ∼ B0), DIVR1(T3 ∼ T0) のレジスタの組合せを示します。
表 5.8-8 DIVR0(B3 ∼ B0), DIVR1(T3 ∼ T0) のレジスタの組合せ
DIVR0
(B3 ∼ B0)
DIVR1
(T3 ∼ T0)
分周
CLKB:CLKT
DIVR0
(B3 ∼ B0)
DIVR1
(T3 ∼ T0)
分周
CLKB:CLKT
0000
XXXX *
1:(XXXXH)*
0001
0000
2:1
設定不可
0101
0000
6:1
設定不可
0001
0001
2:2
設定可
0101
0001
6:2
設定不可
設定不可
設定可
0001
0010
2:3
設定不可
0101
0010
6:3
0001
0011
2:4
設定可
0101
0011
6:4
設定不可
0001
0100
2:5
設定不可
0101
0100
6:5
設定不可
0001
0101
2:6
設定可
0101
0101
6:6
設定可
設定不可
0001
0110
2:7
設定不可
0101
0110
6:7
0001
0111
2:8
設定可
0101
0111
6:8
設定不可
0001
1111
2:16
設定可
0101
1111
6:16
設定不可
0010
0000
3:1
設定不可
0110
0000
7:1
設定不可
設定不可
0010
0001
3:2
設定不可
0110
0001
7:2
0010
0010
3:3
設定可
0110
0010
7:3
設定不可
0010
0011
3:4
設定不可
0110
0011
7:4
設定不可
0010
0100
3:5
設定不可
0110
0100
7:5
設定不可
設定不可
0010
0101
3:6
設定可
0110
0101
7:6
0010
0110
3:7
設定不可
0110
0110
7:7
設定可
0010
0111
3:8
設定不可
0110
0111
7:8
設定不可
0010
1111
3:16
設定不可
0110
1111
7:16
設定不可
設定不可
0011
0000
4:1
設定不可
0111
0000
8:1
0011
0001
4:2
設定不可
0111
0001
8:2
設定不可
0011
0010
4:3
設定不可
0111
0010
8:3
設定不可
0011
0011
4:4
設定可
0111
0011
8:4
設定不可
0011
0100
4:5
設定不可
0111
0100
8:5
設定不可
0011
0101
4:6
設定不可
0111
0101
8:6
設定不可
0011
0110
4:7
設定不可
0111
0110
8:7
設定不可
0011
0111
4:8
設定可
0111
0111
8:8
設定可
設定可
0011
1111
4:16
設定可
0111
1111
8:16
0100
0000
5:1
設定不可
1111
0000
16:1
設定不可
0100
0001
5:2
設定不可
1111
0001
16:2
設定不可
0100
0010
5:3
設定不可
1111
0010
16:3
設定不可
設定不可
0100
0011
5:4
設定不可
1111
0011
16:4
0100
0100
5:5
設定可
1111
0100
16:5
設定不可
0100
0101
5:6
設定不可
1111
0101
16:6
設定不可
0100
0110
5:7
設定不可
1111
0110
16:7
設定不可
設定不可
1111
0111
16:8
設定不可
設定不可
1111
1111
16:16
設定可
0100
0111
5:8
0100
1111
5:16
* : X: 1 または 0
179
第 5 章 クロック生成とデバイス状態
5.8.7
DIVR1: ベースクロック分周設定レジスタ 1
本レジスタは , 各内部クロックのベースクロックの分周比を制御するレジスタです。
■ ベースクロック分周設定レジスタ 1
ベースクロック分周設定レジスタ 1 のレジスタ構成を , 以下に示します。
bit
7
6
5
4
3
2
1
0
アドレス : 0000 0487H
T3
T2
T1
T0
S3
S2
S1
S0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値 (INIT)
0
0
0
0
0
0
0
0
初期値 (RST)
x
x
x
x
x
x
x
x
内部ブート ROM のコードを実行中 , ブート条件が有効になると , 本レジスタは ,
"0x00"(4 MHz モード ) または "0x70"(32 kHz モード ) のいずれかに設定されます。
本レジスタは , 各内部クロックのベースクロックに対する分周比を制御します。
外部拡張バスインタフェース (CLKT) の分周比を設定します。
周波数の上限は , クロックごとに定義されています。ソースクロックの選択 , PLL 逓倍
率の設定 , および分周比の設定の組合せによって , 周波数の上限を超えた場合 , 動作は
保証されないことに注意してください ( ソースクロック選択の変更設定との順序を間
違えないよう注意してください )。
本レジスタ設定を変更すると , 次のクロックレートから新しい分周比が有効になりま
す。
[bit7 ∼ bit4] T3, T2, T1, T0 (clkT divide select 3 to 0)
本ビットは , 外部バス (CLKT) のクロックの分周比を設定します。本ビットに書込
み値により, 外部拡張バスインタフェースのベースクロックに対する分周比(クロッ
ク周波数 ) を , 表 5.8-9 に示す 16 種類の中から 1 つ選択します。
周波数の上限は 32 MHz です。この上限を超える周波数になる分周比は設定しない
でください。
180
第 5 章 クロック生成とデバイス状態
表 5.8-9 外部拡張バスインタフェースのベースクロックに対する分周比 ( クロック周波数 )
T3
T2
T1
T0
クロック分周比
クロック周波数 : ベースクロックが
48 MHz の場合
0
0
0
0
φ
設定禁止
0
0
0
1
φ × 2 ( 分周比 2)
24 [MHz]
0
0
1
0
φ × 3 ( 分周比 3)
16 [MHz]
0
0
1
1
φ × 4 ( 分周比 4)
12 [MHz]
0
1
0
0
φ × 5 ( 分周比 5)
9.6 [MHz]
0
1
0
1
φ × 6 ( 分周比 6)
8 [MHz]
0
1
1
0
φ × 7 ( 分周比 7)
6.8 [MHz]
0
1
1
1
φ × 8 ( 分周比 8)
6 [MHz]
…
…
…
…
…
…
1
1
1
1
φ × 16 ( 分周比 16)
3 [MHz]
( 注意事項 ) φ は , システムベースクロックの周期です。
• 本ビットは , リセット (INIT) 時に "0000" に初期化されます。
• 本ビットは , 読出し , および書込みが可能です。
[bit3 ∼ bit0] S3, S2, S1, S0 (clkS divide select 3 to 0)
本ビットは , この製品では使用しません。
181
第 5 章 クロック生成とデバイス状態
5.8.8
CMCR: CAN モジュールのクロック制御
本レジスタは , CAN モジュールの専用クロックである CANCLK を起動するために
使用するレジスタです。
■ CAN モジュールのクロック制御
CAN モジュールのクロック制御のレジスタ構成を , 以下に示します。
アドレス
0000 0164H
アドレス
0000 0165H
bit15
14
13
12
11
10
9
8
PRE7
PRE6
PRE5
PRE4
PRE3
PRE2
PRE1
PRE0
bit7
6
5
4
3
2
1
0
CAL
MSEL
MTST
SCLK
MSRT
PRES CDSBLE IRNG
初期値
11111111B
初期値
00000000B
内部ブート ROM で当該コードを実行後 , 本レジスタは "0x0180" に設定されます。
MB91360 シリーズでは , 外部バスクロック (CLKT) の代わりに , CAN モジュール専用
クロックを使用できます。CLKT は他の要求事項に制約される可能性があり , 常に CAN
ビットタイミングを正しく生成させるのに適しているとは限りません。CMCR レジス
タは , CAN モジュールの専用クロックである CANCLK を起動するために使用します。
またこのようにクロックを分けることで , CPU クロックと外部バスクロックをスケー
ルダウンしても , 例えば 16 MHz のままで CAN を動作させることができます。
詳細については , 「6.2.1 制御レジスタ (CMCR)」を参照してください。
182
第 5 章 クロック生成とデバイス状態
5.8.9
MONCLK 端子
MONCLK 端子は , 外部端子から内部クロック信号をモニタすることを可能にしてい
ます。
デバイスにより , PLL クロック , 発振信号 , CAN クロックから選択することが可能です。
2 つのレジスタは , MONCLK 端子の機能を制御します。制御レジスタ CMCR は ,
MONCLK 端子を有効または無効にします。選択レジスタ CMLT1 は , MONCLK 端子
でどの信号をモニタするかを決定します。
詳細については , 「6.2.1 制御レジスタ (CMCR)」および「6.2.4 乱数ジェネレータおよ
び監視レジスタ (CMLT0 ∼ CMLT3)」を参照してください。
183
第 5 章 クロック生成とデバイス状態
5.9
クロックソース PLL との切換え
ここでは , クロックソース PLL との切換えについて説明します。
184
第 5 章 クロック生成とデバイス状態
5.9.1
概要
本デバイスは , 動作中に低いクロック周波数の動作から高いクロック周波数の動作に
切り換えることができます。電源を入れた後 , リセット後に , あるいは低電力モード
(STOP モードと RTC モード ) から戻った後など , クロックソースが発振器入力から PLL
に変更される場合が発生します。
また , PLL を基本とした動作から低周波数の動作に切り換わるという逆の状況におい
て , STOP モードまたは RTC モードに切り換える前に , クロックソースを発振器入力に
設定する必要があります。
表 5.9-1 に示すように , CLKR レジスタの bit8 と bit9 に適切な値を書き込むと , クロッ
クソースが選択されます。
表 5.9-1 クロックソース設定
CLKR( アドレス 0x484 のクロックソースレジスタ )
クロックソース設定
CLKS1(CLKR の bit9)
CLKS0(CLKR の bit8)
0
任意
発振器入力の 2 分周
1
0
PLL クロック
1
1
予備設定
どちらの動作周波数変化についても , 内部電圧レギュレータにより生成される供給電
圧に一時的な変化が観測されます。高い周波数に切り換わると電圧が降下し , 低い周波
数に切り換わると内部電圧が上昇します。降下または上昇の幅は , 使用する動作周波数
に依存します。
デバイスの仕様外の動作または動作障害を回避するには , 以降の章で述べる事項を考
慮する必要があります。特に 48 MHz 以上での動作に対して , 失敗のない動作を保証す
るために対応策が必要です。最高周囲温度と最低動作電圧に関係した 64 MHz 制限を
適用する必要があります。
スリープモードとの遷移については対応策は必要ありません。この遷移ではわずかな
電圧降下と電圧上昇しか観測されません。
185
第 5 章 クロック生成とデバイス状態
5.9.2
内部電圧変化の抑制
内部電圧降下または電圧サージを抑制するために , 追加を推奨するものについて説
明します。
■ VCC3C 端子におけるより大きなキャパシタンス
VCC3C 端子における 10µF のキャパシタンスと平行して , 10µF のキャパシタンスを接
続すると , 内部電圧変化が大幅に抑制されます。キャパシタンスを追加するだけで ,
48 MHz の PLL 周波数までの動作が可能です。
電圧降下または電圧サージを減少させるために追加する外部キャパシタは , 以下の手
続きを使用することで省略できます。
■ クロックの滑らかな起動と停止
すべてのクロック(CLKB, CLKT, CLKP)を, 低周波数から直接目標とする周波数に切り
換えるのではなく , いくつかの段階的に切り換えることができます。
低周波数動作から戻すときも , またいくつかの段階的に切り換えることができます。
低速クロック動作と高速クロック動作との遷移間に , スリープモードは , 電流消費を減
らすために利用されます。
■ 不調を避ける推奨対策
表 5.9-2 に不調を避ける推奨対策を示します。
表 5.9-2 不調を避ける推奨対策
PLL 周波数設定
64 MHz
( さらにデータシートに記述された実行モード
の消費電流 / 電力の制限を参照してください )
186
推奨対策
最大周辺温度 : 70 ℃
最小動作電圧 : 4.75V
10µF のキャパシタンスとスタートアップ /
シャットダウンルーチンの追加
48 MHz
10µF のキャパシタンス , またはスタートアップ /
シャットダウンルーチンの追加
32 MHz
10µF のキャパシタンス , またはシャットダウン
ルーチンの追加
24 MHz
10µF のキャパシタンス , またはスタートアップ /
シャットダウンルーチンの追加
16 MHz
10µF のキャパシタンス , またはスタートアップ /
シャットダウンルーチンの追加
第 5 章 クロック生成とデバイス状態
5.9.3
クロック変調器
キャリブレーションエラーを避けるために , クロック変調器は , 上記の動作周波数の変
更記述による電圧降下の間は開始できません。目標値のクロック周波数を設定するオ
ペレーションとクロック変調器の活性化の間に , 10µs の待ち時間を挿入することを推
奨します。
クロック変調については「第 6 章 クロック変調器」を参照してください。
187
第 5 章 クロック生成とデバイス状態
5.9.4
手続き
推奨するスムーズなスタートとストップの手続きを実行する方法は , 以下を参照して
ください。
PLL を切り換える機能は , 以下のコマンドシーケンスで実行可能です。
・外部バスとリソースバスの周波数を低くします。
・タイムベースカウンタ (TBC) の起動と割込みを初期化して有効にします。
・スリープモードに切り換え , 直ちにクロックソースとして発振器を選択し , PLL をオ
フにします。
・タイムベースカウンタ割込みによって , スリープモードから復帰させます。
・タイムベースタイマ割込みを無効にします。
・タイムベースカウンタ (TBC) の起動と割込みを初期化して有効にします。
・PLL の要因を増加させます。
・スリープモードへの切換えと , クロックソースとして PLL を選択します。
・タイムベースカウンタ割込みによって , スリープモードから復帰させます。
・タイムベースタイマ割込みを無効にします。
・外部バスとリソースバスの周波数を高くします。
PLL が有効になり , PLL がクロックソースとして選択されたとき , コントローラはス
リープモードに入ります。タイムベースタイマの完了後にランモードに復帰します。
図 5.9-1 も参照してください。
188
第 5 章 クロック生成とデバイス状態
図 5.9-1 PLL 切換え処理の流れ
PLL設定の変更
*
*
*
*
内容をセーブする
割込みレベルを下げる
クロックモジュレータを電源オフにする
バス周波数を下げる
NO
PLLクロックソースか?
YES
*
*
*
*
TBCを有効にする
クロックソースを発振器に切り換える
クロックソースとしてPLLを無効にする
スリープモードに切り換える
TBC割込み
スリープ
* PLL オフに切り換える
* FMWTを 1(待ち状態)に設定する
NO
PLLをオンにするか?
YES
*
*
*
*
TBCを有効にする
FMWTレジスタを設定する
PLL周波数を設定する
PLLをオンにする
ロックタイム
タイムアップしたか?
NO
YES
* クロックソースとしてPLLを有効にする
* スリープモードに切り換える
TBC割込み
スリープ
* DIVR0レジスタを設定する
* 割込みレベルをリストアする
* 内容をリストアする
アプリケーションへ復帰
189
第 5 章 クロック生成とデバイス状態
5.10
クロック制御部が持つ周辺回路
クロック制御部が持つ周辺回路機能について説明します。
■ クロック制御部が持つ周辺回路
クロック制御部には, 26ビット長タイムベースカウンタがあり, システムベースクロッ
クで動作しています。タイムベースカウンタは , 発振安定待ち時間をカウントするとと
もに , 以下の用途にも使用します。
• ウォッチドッグタイマ
ウォッチドッグタイマは , 一定の時間が経過すると , 初期化リセット (INIT) 設定の
要求を生成することにより , ソフトウェアまたはハードウェアの異常動作を検出し
ます。
• タイムベースタイマ
タイムベースカウンタ出力を用いて , インターバル割込みを生成させます。
以降に , これらの機能について説明します。
190
第 5 章 クロック生成とデバイス状態
5.10.1
タイムベースカウンタ
タイムベースカウンタの以下の機能について説明します。
• ウォッチドッグタイマ
• タイムベースタイマ
■ ウォッチドッグタイマ
ウォッチドッグタイマは , タイムベースカウンタ出力を用いた暴走検出用タイマです。
プログラムまたはハードウェアの暴走などが原因となり , 設定 ( 指定 ) したインターバ
ルの間にウォッチドッグリセット生成遅延が行われなくなると , ウォッチドッグタイ
マは , 設定初期化リセット (INIT) 要求をウォッチドッグリセットとして生成させます。
[ ウォッチドッグタイマの起動と設定周期 ]
ウォッチドッグタイマは , リセット (RST) 後 , 最初の RSRR( リセット要因レジスタ /
ウォッチドッグタイマ制御レジスタ ) への書込みにより起動します。このとき , ウォッ
チドッグタイマのインターバル時間を , bit9, bit8 (WT1, WT0 ビット ) を使用して設定し
ます。最初の書込みで設定したインターバル時間だけが有効です。以降の書込みで設
定したインターバル時間はすべて無効になります。
[ ウォッチドッグリセットの生成遅延 ]
ウォッチドッグタイマの起動後は , 当該プログラムにおいて , 定期的に {A5H} , {5AH}
の順で CTBR( タイムベースカウンタクリアレジスタ ) へのデータ書込みを行う必要が
あります。このデータ書込み時に , ウォッチドッグリセット生成フラグは初期化されま
す。
[ ウォッチドッグリセットの生成 ]
ウォッチドッグリセット生成フラグは , 設定したインターバル時間のタイムベースカ
ウンタ出力の立下りエッジにより設定されます。
2 度目の立下りエッジ検出時に本フラグが設定されたままである場合 , ウォッチドッグ
タイマは , 設定初期化リセット (INIT) 要求をウォッチドッグリセットとして生成させ
ます。
[ ウォッチドッグタイマの停止 ]
ウォッチドッグタイマの起動後は , 動作初期化リセット(RST)が生成するまでは停止で
きません。
RST が生成する以下の条件においては , プログラムによって再起動されるまで , ウォッ
チドッグタイマは停止しています。
• 動作初期化リセット (RST) 状態
• 設定初期化リセット (INIT) 状態
• 発振安定待ちリセット (RST) 状態
• ハードウェアスタンバイ状態
[ ウォッチドッグタイマの一時停止 ( 自動生成の遅延 )]
CPU プログラムの動作が停止すると , ウォッチドッグタイマは , ウォッチドッグリセッ
ト生成フラグを初期化して , ウォッチドッグリセットの生成を遅延させます。プログラ
ムの動作が停止しているときは , プログラムが以下の状態のいずれかになっています。
191
第 5 章 クロック生成とデバイス状態
• スリープ状態
• 停止状態
• 発振安定待ち実行状態
• I- バス ( 命令バス ) または D- バス ( データバス ) への DMA の転送
(MB91FV360GA, MB91F365GB/F366GB/F367GB/F368GB, MB91366GA, MB91F369G
のみ )
• I- バス領域へのデータアクセス (IRAM モードでの I - RAM または I キャッシュ )
(MB91FV360GA, MB91F365GB/F366GB/F367GB/F368GB, MB91366GA, MB91F369G
のみ )
• D- バス RAM からの命令の獲得
(MB91FV360GA, MB91F365GB/F366GB/F367GB/F368GB, MB91366GA, MB91F369G
のみ )
• エミュレータデバッガを用いたプログラムのブレーク (MB91FV360GA のみ )
• モニタデバッガを用いたプログラムのブレーク (MB91FV360GA のみ )
• INTE 命令の実行から RETI 命令の実行までの時間 (MB91FV360GA のみ )
• ステップトレーストラップモード (PS レジスタの T フラグ = 1) で 1 命令ごとにブ
レーク (MB91FV360GA のみ )
• EDSU を用いたプログラムのブレーク (MB91F364G, MB91F376G のみ )
• エミュレーションモード
タイムベースカウンタをクリアすると , ウォッチドッグリセット生成フラグも初期化
され , ウォッチドッグリセットの生成が遅延されます。
システムの暴走により上記状態となってしまった場合 , ウォッチドッグリセットが発
生しない可能性があります。その場合 , 外部 INITX 端子よりリセット (INITX) をかけ
てください。
■ タイムベースタイマ
タイムベースタイマは , タイムベースカウンタ出力を用いたインターバルの割込み生
成用タイマです。本タイマは , PLL ロック待ち時間 , およびサブクロック発振安定待ち
時間など , 最大で { ベースクロック × 227} サイクルの比較的長時間をカウントするの
に適しています。
設定したインターバルのタイムベースカウンタ出力の立下りエッジを検出すると , タ
イムベースタイマは , タイムベースタイマ割込み要求を生成させます。
[ タイムベースタイマの起動とインターバル設定 ]
タイムベースタイマは , TBCR( タイムベースカウンタ制御レジスタ ) の bit13 ∼
bit11(TBC2, TBC1, TBC0 ビット ) を使用してインターバル時間を設定します。
設定したインターバルに対応するタイムベースカウンタ出力の立下りエッジは常に検出
されていますので , インターバル時間を設定したら , bit15(TBIF ビット ) をクリアし ,
bit14(TBIE ビット ) を "1" に設定して , 割込み要求出力を許可してください。
インターバル時間を変更する場合は , あらかじめ bit14(TBIE ビット ) を "0" に設定し ,
割込み要求出力を禁止してください。
タイムベースカウンタは常にカウントを行っており , これらの設定値に影響されます。
正確なインターバル割込み時間を得るためには , タイムベースカウンタをクリアして
192
第 5 章 クロック生成とデバイス状態
から割込みを許可してください。そうしない場合 , 割込みを許可した直後に割込み要求
が生成されることがあります。
[ プログラムによるタイムベースカウンタのクリア ]
CTBR にデータを {A5H}, {5AH} の順序で書き込むと , {5AH} の書込み直後に , タイム
ベースカウンタのビットはすべて "0" にクリアされます。{A5H} の書込みと {5AH} の
書込みの間に時間の制限はありません。
ただし , {A5H} の書込み後 , {5AH} 以外のデータを書き込むと , {A5H} を再度書き込ま
ない限り , {5AH} を書き込んでもタイムベースカウンタはクリアされません。
タイムベースカウンタをクリアすると , ウォッチドッグリセット生成フラグが初期化
され , ウォッチドッグリセットの生成が遅延されます。
[ デバイス状態遷移時のタイムベースカウンタのクリア ]
以下のデバイス状態の遷移時には , タイムベースカウンタのビットはすべて同時に "0"
にクリアされます。
• 停止状態
• 設定初期化リセット (INIT) 状態
• ハードウェアスタンバイ状態
特に停止状態では , タイムベースカウンタが発振安定待ち時間のカウントに使用され
るため , 意図しないタイムベースタイマのインターバル割込みが生成することがあり
ます。そのため , 停止モードを設定する前には , タイムベースタイマ割込みを禁止し ,
タイムベースタイマを使用しないでください。
ほかの状態においては , 動作初期化リセット (RST) が生成されるため , タイムベースタ
イマ割込みは自動的に禁止されます。
193
第 5 章 クロック生成とデバイス状態
5.11
デバイス状態の制御
FR50 のデバイスの状態 , およびその制御について説明します。
■ デバイスの状態
FR50 のデバイスには , 以下の動作状態があります。
• 実行状態 ( 通常動作 )
• スリープ状態
• 停止状態
• ハードウェアスタンバイ状態
• 発振安定待ち実行状態
• 発振安定待ちリセット (RST) 状態
• 動作初期化リセット (RST) 状態
• 設定初期化リセット (INIT) 状態
各状態の詳細 , および遷移については , 以降に説明します。
194
第 5 章 クロック生成とデバイス状態
5.11.1
デバイスの状態と遷移
FR50 ファミリのデバイスには , 以下の動作状態があります。
■ 実行状態 ( 通常動作 )
プログラム実行状態です。すべての内部クロックが供給され , すべての回路が動作可能
な状態です。
ただし, 16ビット周辺回路バスのバスクロックは, 周辺回路バスのアクセスがない場合
は停止しています。
各状態の遷移要求を受け付けますが , 同期リセットモードの場合 , 通常のリセットモー
ドの場合とでは , 要求に対する状態遷移の応答が一部異なります。詳細については ,
「2.9.5 リセットモード」を参照してください。
■ スリープ状態
プログラム停止状態です。プログラムの動作により , 状態が遷移します。
スリープ状態では , CPU プログラムの実行のみが停止し , リソースは動作可能な状態で
す。命令キャッシュは停止し , DMA コントローラからの要求がない限り , 各種内部メ
モリと , 内部バス , および外部バスは停止状態です。
有効な割込み要求が生成されると , スリープ状態はクリアされ , 実行状態 ( 通常動作 )
に遷移します。
設定初期化リセット (INIT) 要求が生成されると , 設定初期化リセット (INIT) 状態に遷
移します。
動作初期化リセット (RST) 要求が生成されると , 動作初期化リセット (RST) 状態に遷移
します。
ハードウェアスタンバイ要求が生成されると , ハードウェアスタンバイ状態に遷移し
ます。
■ 停止状態
デバイスは停止状態です。プログラムの動作により , 状態が遷移します。
停止状態では , 内部回路も内部クロックもすべて停止し , 発振回路と PLL も適切な設
定により停止させることができます。
また設定により , 外部端子 ( 除外される外部端子もあります ) をハイインピーダンス状
態にすることもできます。
特定の有効な割込み要求 ( クロックを使用しない ) が生成されると , 発振安定待ち実行
状態に遷移します。
設定初期化リセット (INIT) 要求が生成されると , 設定初期化リセット (INIT) 状態に遷
移します。
動作初期化リセット (RST) 要求が生成されると , 発振安定待ちリセット (RST) 状態に遷
移します。
ハードウェアスタンバイ要求が生成されると , ハードウェアスタンバイ状態に遷移し
ます。
195
第 5 章 クロック生成とデバイス状態
■ ハードウェアスタンバイ状態
デバイスは停止状態です。外部 HSTX 端子への "L" レベル入力 ( ハードウェアスタン
バイ要求 ) により , ハードウェアスタンバイ状態に遷移します。
ハードウェアスタンバイ状態では , 内部回路も内部クロックもすべて停止します。また ,
発振回路 , および PLL も停止します。
内部回路には設定初期化リセット (INIT) が供給されます。
外部端子 ( 除外される外部端子もあります ) は , 一律にハイインピーダンス状態になり
ます。
外部 HSTX 端子への "H" レベル入力または外部 INITX 端子への "L" レベル入力により ,
設定初期化リセット (INIT) 状態に遷移します。
■ 発振安定待ち実行状態
デバイスは停止状態です。停止状態からの復帰後 , 本状態に遷移します。
クロック生成制御部 ( タイムベースカウンタとデバイス状態の制御部 ) 以外の内部回路
はすべて停止します。内部クロックもすべて停止しますが , 発振回路 , および動作許可
されていた PLL は動作します。
停止状態などにおける外部端子のハイインピーダンス制御はクリアされます。
設定 ( 指定 ) した発振安定待ち時間の経過後 , 実行状態 ( 通常動作 ) に遷移します。
設定初期化リセット (INIT) 要求が生成すると , 設定初期化リセット (INIT) 状態に遷移
します。
動作初期化リセット (RST) 要求が生成すると , 発振安定待ちリセット (RST) 状態に遷移
します。
ハードウェアスタンバイ要求が生成すると , ハードウェアスタンバイ状態に遷移しま
す。
■ 発振安定待ちリセット (RST) 状態
デバイスは停止状態です。停止状態または設定初期化リセット (INIT) 状態からの復帰
後 , 本状態に遷移します。
クロック生成制御部 ( タイムベースカウンタとデバイス状態の制御部 ) 以外の内部回路
はすべて停止します。内部クロックもすべて停止しますが , 発振回路 , および動作許可
されていた PLL は動作します。
停止状態などにおける外部端子のハイインピーダンス制御はクリアされます。
内部回路に対し , 動作初期化リセット (RST) を出力します。
設定した発振安定待ち時間の経過後 , 発振安定待ちリセット (RST) 状態に遷移します。
設定初期化リセット (INIT) 要求が生成すると , 設定初期化リセット (INIT) 状態に遷移
します。
ハードウェアスタンバイ要求が生成すると , ハードウェアスタンバイ状態に遷移しま
す。
196
第 5 章 クロック生成とデバイス状態
■ 動作初期化リセット (RST) 状態
プログラムは初期化状態です。本状態に遷移するのは , 動作初期化リセット (RST) 要求
が受け付けられた場合 , もしくは発振安定待ちリセット (RST) 状態が完了した場合で
す。
CPU プログラムの実行は停止し , プログラムカウンタは初期化されます。周辺回路は
一部を除き初期化されます。
すべての内部クロックと発振回路 , および動作許可されていた PLL は動作します。
内部回路に対し , 動作初期化リセット (RST) を出力します。
動作初期化リセット (RST) 要求が解除されると , 実行状態 ( 通常動作 ) に遷移し , 動作
初期化リセットシーケンスを実行します。設定初期化リセット (INIT) 状態からの復帰
後だった場合は , 設定初期化リセットシーケンスが実行されます。
設定初期化リセット (INIT) 要求が生成すると , 設定初期化リセット (INIT) 状態に遷移
します。
ハードウェアスタンバイ要求が生成すると , ハードウェアスタンバイ状態に遷移しま
す。
■ 設定初期化リセット (INIT) 状態
全設定初期化状態です。本状態に遷移するのは , 設定初期化リセット (INIT) 要求が受
け付けられた場合またはハードウェアスタンバイ状態が終了した場合です。
CPU プログラムの実行は停止し , プログラムカウンタは初期化されます。リソースは
すべて初期化されます。発振回路は動作しますが , PLL は停止します。外部 INITX 端
子に "L" レベル入力が行われている間はすべての内部クロックが停止しますが , それ以
外では動作します。
内部回路に対し , 設定初期化リセット (INIT), および動作初期化リセット (RST) を出力
します。
設定初期化リセット (INIT) 要求が解除されると , 本状態はクリアされ , 発振安定待ちリ
セット (RST) 状態に遷移します。その後 , 動作初期化リセット (RST) 状態に遷移し , 設
定初期化リセットシーケンスを実行します。
197
第 5 章 クロック生成とデバイス状態
5.11.2
各状態遷移要求の優先順位
いかなる状態においても , 各状態遷移要求は以下の優先順位に従います。ただし , 特
殊な状態でしか生成しない要求もあり , そういうものについては該当する状態でし
か有効になりません。
■ 各状態遷移要求の優先順位
以下に各状態遷移要求の優先順位を示します。
優先順位は , 1) の優先度が最も高く , 7) にいくほど優先度が低くなります。
1. 設定初期化リセット (INIT) 要求
2. ハードウェアスタンバイ要求
3. 発振安定待ち時間の終了 ( 発振安定待ちリセット状態 , および発振安定待ち実行状
態のみ生成 )
4. 動作初期化リセット (RST) 要求
5. 有効な割込み要求 ( 実行 , スリープ , および停止状態のみ生成 )
6. 停止モード要求 ( レジスタに書込み )( 実行状態のみ生成 )
7. スリープモード要求 ( レジスタに書込み )( 実行状態のみ生成 )
198
第 5 章 クロック生成とデバイス状態
5.12
低消費電力モード
FR50 のデバイスの各低消費電力モード , およびその使用法について説明します。
■ 低消費電力モード
FR50 のデバイスの低消費電力モードには , 以下の 3 つがあります。
• スリープモード
レジスタへの書込みにより , デバイスをスリープ状態にします。
• 停止モード
レジスタへの書込みにより , デバイスを停止状態にします。
• ハードウェアスタンバイモード
外部 HSTX 端子への "L" レベル入力により , デバイスをハードウェアスタンバイ状
態にします。
以降に , 各モードの詳細を示します。
199
第 5 章 クロック生成とデバイス状態
5.12.1
スリープモード
ここでは , 低消費電力モードのうち , スリープモードについて説明します。
■ スリープモード
STCR( スタンバイ制御レジスタ ) の bit6(SLEEP ビット ) に "1" を書き込むと , スリープ
モードとなり , スリープ状態へ遷移します。スリープ状態から復帰する要因が生成する
までは , スリープ状態を維持します。
STCR( スタンバイ制御レジスタ ) の bit7(STOP ビット ) と bit6(SLEEP ビット ) の両方に
"1" を書き込むと , bit7(STOP ビット ) が bit6(SLEEP ビット ) より優先されて , 停止状態
に遷移します。
スリープ状態については , 「5.10.1 タイムベースカウンタ」を参照してください。
[ スリープ状態で停止する回路 ]
• CPU プログラム実行
• 命令キャッシュ
• データキャッシュ
• ビットサーチモジュール (DMA 転送が生成すると動作します。)
• 各種内部メモリ (DMA 転送が発生すると動作します。)
• 内部 / 外部バス (DMA 転送が発生すると動作します。)
[ スリープ状態で動作する回路 ]
• 発振回路
• 動作許可された PLL
• クロック生成制御部
• 割込みコントローラ
• リソース
• DMA コントローラ
• DSU
[ スリープ状態からの復帰要因 ]
• 有効な割込み要求
CPU の ILM にて設定したレベルを超える割込み要求が生成された場合 , スリープ
モードはクリアされ , 実行状態 ( 通常動作 ) に遷移します。
CPU の ILM にて設定したレベル以下の割込み要求が生成された場合 , スリープモー
ドはクリアされません。
• 設定初期化リセット (INIT) 要求
設定初期化リセット (INIT) 要求が生成された場合 , 設定初期化リセット (INIT) 状態
に遷移します。
• ハードウェアスタンバイ要求
ハードウェアスタンバイ要求が生成された場合 , ハードウェアスタンバイ状態に遷
移します。
200
第 5 章 クロック生成とデバイス状態
• 動作初期化リセット (RST) 要求
動作初期化リセット (RST) 要求が生成した場合 , 動作初期化リセット (RST) 状態に
遷移します。
<注意事項>
各要因の優先順位については , 「5.11.2 各状態遷移要求の優先順位」を参照してく
ださい。
[ 通常スタンバイ動作 , および同期スタンバイ動作 ]
TBCR( タイムベースカウンタ制御レジスタ ) の bit8(SYNCS ビット ) を "1" に設定する
と , 同期スタンバイ動作が許可されます。本状態において SLEEP ビットに書き込むだ
けでは , スリープ状態には遷移しません。SLEEP ビットへの書込み後 , STCR レジスタ
の読出しがあれば , スリープ状態に遷移します。
SYNCS ビットを "0" に設定すると , 通常スタンバイ動作となり , SLEEP ビットへの書
込みのみで , スリープ状態に遷移します。
通常スタンバイ動作の許可時 , 周辺回路クロック (CLKP) の分周比が CPU クロック
(CLKB) に比べて大きい場合 , 実際に SLEEP ビットへの書込みが行われるまでに , 多く
の命令が実行されます。
このため , SLEEP ビットへの書込み命令後 , {5 + (CPU クロック分周比 )/( 周辺回路ク
ロック分周比 )} 命令以上の NOP 命令を配置しないと , 後続の命令がスリープ状態に遷
移する前に実行されてしまいます。
同期スタンバイ動作時 , 実際の SLEEP ビットへの書込み後 , STCR レジスタの読出しが
完了するまでは , スリープ状態に遷移しません。CPU に STCR レジスタの読出し値が
格納されるまでは , CPU がバスを使用しているからです。
このため , CPU クロック (CLKB), および周辺回路クロック (CLKP) の分周比の設定にか
かわりなく , SLEEP ビットへの書込み命令と STCR レジスタへの読出し命令の後に ,
NOP 命令を 2 つ配置すれば , スリープ状態に遷移する前の後続命令の実行を防ぐこと
ができます。
201
第 5 章 クロック生成とデバイス状態
5.12.2
停止モード /RTC モード
ここでは , 低消費電力モードのうち , 停止モード /RTC モードについて説明します。
■ 停止モード /RTC モード
STCR( スタンバイ制御レジスタ ) の bit7(STOP ビット ) に "1" を書き込むと , 停止モー
ドが許可されます。停止状態から復帰する要因が生成されるまで , 停止状態を維持しま
す。
STCR( スタンバイ制御レジスタ ) の bit7(STOP ビット ) と bit6(SLEEP ビット ) の両方に
"1" を書き込むと , bit7(STOP ビット ) が bit6(SLEEP ビット ) より優先されて , 停止状態
に遷移します。
停止状態については , 「5.10.1 タイムベースカウンタ」を参照してください。
[ ストップモードへの移行 ]
ストップモードに入れる場合は , 同期スタンバイモード (TBCR: タイムベースカウンタ
制御レジスタの bit8:SYNCS ビットにて設定します ) を使用したうえで , 以下のシーケ
ンスを必ず使用してください。
/*STCR ライト */
ldi
#_STCR,R0
;STCR レジスタ (0481H)
ldi
#_Val_of_Stdy,ri
;Val_of_Stdy は ,STCR へのライトデータ
std
rl,@r0
;STCR へのライト
/*STBR ライト */
ldi
#_CTBR,r2
;CTBR レジスタ (0483H)
ldi
#0xA5,rl
; クリアコマンド (1)
stb
rl,@r2
;CTBR への A5 ライト
ldi
#0xA5,rl
; クリアコマンド (2)
stb
rl,@r2
;CTBR への A5 ライト
/* ここでタイムベースカウンタクリア */
ldub
@r0,rl
;STCR リード
/* 同期スタンバイ遷移開始 */
ldub
nop
nop
nop
nop
nop
202
@r0,rl
;STCR ダミーリード
; タイミング調整用の NOP × 5
第 5 章 クロック生成とデバイス状態
[ 停止状態で停止する回路 ]
• 停止するように設定した発振回路
STCR( スタンバイ制御レジスタ ) の bit0(OSCD1 ビット ) を "1" に設定してあるとき ,
停止状態中のメインクロック用発振回路を停止状態にします。
• 動作許可されていない PLL または停止するように設定した発振回路に接続された
PLL
STCR( スタンバイ制御レジスタ ) の bit0(OSCD1 ビット ) を "1" に設定してあるとき ,
CLKR( クロックソース制御レジスタ ) の bit10(PLL1EN ビット ) に "1" が設定して
あっても停止状態中のメインクロック用 PLL を停止状態にします。
• 下記以外のすべての内部回路 :
[ 停止状態で停止しない回路 ]
• 停止しないように設定した発振回路
STCR( スタンバイ制御レジスタ ) の bit1(OSCD1 ビット ) を "0" に設定してあるとき ,
発振回路は停止状態において停止しません。本モードは , RTC モードともよびます。
• 動作許可した PLL または停止しないように設定した発振回路に接続された PLL
STCR( スタンバイ制御レジスタ ) の bit0(OSCD1 ビット ) を "0" に設定してあるとき ,
CLKR( クロックソース制御レジスタ ) の bit10(PLL1EN ビット ) に "1" が設定してあ
ると , 停止状態中のメインクロック用 PLL は停止しません。
[ 停止状態における端子のハイインピーダンス制御 ]
STCR( スタンバイ制御レジスタ ) の bit5(HIZ ビット ) を "1" に設定すると , 停止状態に
おける端子出力が , ハイインピーダンス状態になります。ハイインピーダンス制御の対
象となる端子については , 「付録 C CPU の各状態における端子の状態」を参照してく
ださい。
STCR( スタンバイ制御レジスタ ) の bit5(HIZ ビット ) を "0" に設定すると , 停止状態に
おける端子出力は , 停止状態になる前の値を保持します。詳細については , 「付録 C
CPU の各状態における端子の状態」を参照してください。
203
第 5 章 クロック生成とデバイス状態
[ 停止モードからの復帰要因 ]
• クロックを必要としない有効な割込み要求の生成
要求のタイプを "H" に設定した外部割込み入力端子 (INT0 ∼ INT7) のみが有効です。
CPU の ILM にて設定したレベルを超える割込み要求が生成した場合 , 停止モードは
クリアされ , 実行状態 ( 通常動作 ) に遷移します。
CPU の ILM にて設定したレベル以下の割込み要求が生成した場合 , 停止モードはク
リアされません。
• 設定初期化リセット (INIT) 要求
設定初期化リセット (INIT) 要求が生成した場合 , 設定初期化リセット (INIT) 状態に
遷移します。
• ハードウェアスタンバイ要求
ハードウェアスタンバイ要求が生成した場合 , ハードウェアスタンバイ状態に遷移
します。
• 動作初期化リセット (RST) 要求
動作初期化リセット (RST) 要求が生成した場合 , 動作初期化リセット (RST) 状態に
遷移します。
<注意事項>
各要因の優先順位については , 「5.11.2 各状態遷移要求の優先順位」を参照してく
ださい。
[ 停止モードでのクロックソース選択 ]
メインクロック (X クロック ) の 2 分周をソースクロックとして選択してから , 停止モー
ドを設定してください。詳細については ,「5.3 PLL 制御」を参照してください。
分周比設定の制限事項については , 通常動作の場合と同様です。
[ 通常スタンバイ動作 , および同期スタンバイ動作 ]
TBCR( タイムベースカウンタ制御レジスタ ) の bit8(SYNCS ビット ) を "1" に設定して
ある場合 , 同期スタンバイ動作が許可されます。本状態において , STOP ビットへの書
込みのみでは , スリープ状態には遷移しません。STOP ビットに書込み後 , STCR レジ
スタの読み出すことにより , 停止状態に遷移します。
SYNCS ビットを "0" に設定すると , 通常スタンバイ動作が許可されます。本状態にお
いて , STOP ビットに書込みを行うと , 停止状態に遷移します。
通常スタンバイ動作時 , 周辺回路クロック (CLKP) の分周比が CPU クロック (CLKB) に
比べて大きい場合 , 実際に STOP ビットに書込みが行われるまでに , 多くの命令が実行
されます。
このため , STOP ビットへの書込み命令後 , {5 + (CPU クロック分周比 )/( 周辺回路ク
ロック分周比 )} 命令以上の NOP 命令を配置しないと , 後続の命令が停止状態への遷移
前に実行されてしまいます。
同期スタンバイ動作時は , 実際の STOP ビットへの書込み後 , STCR レジスタの読出し
が完了するまでは , 停止状態に遷移しません。STCR レジスタの読出し値が CPU に格
納されるまでは , CPU がバスを使用しているからです。
このため , CPU クロック (CLKB), および周辺回路クロック (CLKP) の分周比の設定にか
かわりなく , STOP ビットへの書込み命令と STCR レジスタへの読出し命令の後に NOP
命令を2つ配置すれば, 停止状態に遷移する前の後続命令の実行を防ぐことができます。
204
第 5 章 クロック生成とデバイス状態
5.12.3
ハードウェアスタンバイモード
ここでは , 低消費電力モードのうち , ハードウェアスタンバイモードについて説明し
ます。
■ ハードウェアスタンバイモード
外部 HSTX 端子への "L" レベル入力時 , ハードウェアスタンバイ要求が生成し , ハード
ウェアスタンバイ状態に遷移します。その後 "L" レベルの入力が行われている間は ,
ハードウェアスタンバイ状態を保持します。
ハードウェアスタンバイ状態については ,「5.10.1 タイムベースカウンタ」を参照して
ください。
[ ハードウェアスタンバイ状態で停止する回路 ]
• すべての発振回路
• すべての PLL
• すべての内部回路
[ ハードウェアスタンバイ状態で停止しない回路 ]
• なし
[ ハードウェアスタンバイ状態における端子のハイインピーダンス制御 ]
ハードウェアスタンバイ状態では , 端子からの出力はハイインピーダンス状態になり
ます。ハイインピーダンス制御の対象となる端子については , 「付録 C CPU の各状態
における端子の状態」を参照してください。
[ ハードウェアスタンバイモードからの復帰要因 ]
• 外部 HSTX 端子への "H" レベル入力
ハードウェアスタンバイ要求が解除されると , 設定初期化リセット (INIT) 状態に遷
移します。
• 外部 INITX 端子への "L" レベル入力による設定初期化リセット (INIT)
設定初期化リセット (INIT) 要求が外部 INITX 端子により生成した場合 , 設定初期化
リセット (INIT) 状態に遷移します。ハードウェアスタンバイ状態においては , 他の
設定初期化リセット (INIT) 要求は生成しません。
<注意事項>
各要因の優先順位については , 「5.11.2 各状態遷移要求の優先順位」を参照してく
ださい。
[ 通常リセット , および同期リセット ]
TBCR( タイムベースカウンタ制御レジスタ ) の bit9(SYNCR ビット ) を "1" に設定して
ある場合 , 同期リセットが許可されます。この場合 , ハードウェアスタンバイ要求が受
け付けられても , 内部バスがアクセスされている間は , ハードウェアスタンバイ状態に
遷移しません。
詳細については , 「2.9.5 リセットモード」を参照してください。
SYNCR ビットを "0" に設定してある場合 , 通常リセットが許可されます。この場合 ,
ハードウェアスタンバイ要求が受け付けられると , 内部バスアクセスの動作状態にか
205
第 5 章 クロック生成とデバイス状態
かわりなく , ハードウェアスタンバイ状態に遷移します。
詳細については , 「2.9.5 リセットモード」を参照してください。
■ スタンバイモードでの動作
表 5.12-1 に , スタンバイモードでの動作を示します。
表 5.12-1 スタンバイモードでの動作
内部クロック
モード
遷移状態
発振器
PLL
実行
-
○
スリープ
STCR の
SLEEP=1
RTC
リソース
端子
解除方法
○
○
動作中
-
×
○
○
動作中
割込み要求
RST, INIT
*2
×
×
×
*1
割込み要求
RST, INIT
×
×
×
×
×
*1
割込み要求
RST, INIT
HSTX=0
×
×
×
×
×
Hi-Z
HSTX=1
リセット
(RST)
RST
○
○
レジスタにリセット (RST) を適用
Hi-Z
リセット
(INIT)
INIT
○
×
レジスタにリセット (INIT) を適用
Hi-Z
CPU/
内部バス
DMA/
周辺回路
○
○
○
○
STCR の
STOP=1,
OSCD1=0
○
停止
STCR の
STOP=1,
OSCD1=1
ハードウェア
スタンバイ
○ : 動作中 , × : 停止中 , Hi-Z: ハイインピーダンス
RST: 外部リセット端子 (RSTX)=0, ソフトウェアリセット (STCR レジスタの SRST ビット =0), パ
ワーダウンリセット
INIT:外部リセット端子 (INITX)=0, ハードウェアスタンバイからの復帰 , ウォッチドッグリセット
*1: STCR の HIZ が "0" である場合は , 以前の状態を保持します。HIZ が "1" である場合は , Hi-Z
となります。
*2: RTC 状態に入る前に PLL のスイッチをオフにする必要があります。
206
第 5 章 クロック生成とデバイス状態
■ スタンバイモードの状態遷移図
図 5.12-1 に , スタンバイモードの状態遷移図を示します。
図 5.12-1 スタンバイモードの状態遷移図
電源オン
(10)
(8)
(7)
ハードウェア
スタンバイモード
(7)
(7)
発振安定待ち
リセット状態
(3)
(9)
設定初期化
リセット
(INIT)状態
(10)
(1)
(7)
(7)
(10)
動作初期化
リセット
(RST)状態
発振安定待ち
実行状態
(1)
(3)
(10)
(2)
(5)
(3)
(3)
(10)
停止モード
RTCモード
(6)
(7)
(4)
(7)
(10)
実行モード
(5)
スリープモード
(3)
(10)
(2) リセット解除
(6) STCRレジスタのSTOP= 1
OSCD1= 0 の場合は,RTCモードへ遷移
OSCD1= 1 の場合は,STOPモードへ遷移
(3) リセット(RST)
(7) ハードウェアスタンバイ入力
(4) STCRレジスタのSLEEP= 1
(8) ハードウェアスタンバイ解除
(5) 割込み入力
(9) INITXの解除
(1) 発振安定遅延時間完了
(10) リセット(INIT)
207
第 5 章 クロック生成とデバイス状態
5.12.4
4 MHz RTC モードから実行モードへの移行
低消費電力モードのうち , ハードウェアスタンバイモードについて説明します。
■ ハードウェアスタンバイモード
MB91360 シリーズは , 2 つの電源を持っています。1 つは , ストップモードと RTC モー
ドで使用され , 他の 1 つは , 実行モードで使用されます。
ストップモード /RTC モードから実行モードへ移るとき , 実行モード用電源はスイッチ
オンとなり , 通常 12µs 後 , 他方の電源はスイッチオフとなります。
ストップモードから実行モード , または 32 kHz RTC モードから実行モードへの移行が
あった場合 , 4 MHz 発振器を起動する必要があり , また特定の発振安定時間を適用する
必要があります。これらの場合 , 実行モード用電源がスイッチオンされた後 , 内部ク
ロックが開始することに注意してください。
このことは , 4 MHz RTC モードから実行モードへ移行した場合は異なります。この場
合は 4MHz 発振器が既に動作しています。
4 MHz RTC モードから実行モードへ以下の条件で移行した場合 , 誤動作をする恐れが
あります。
• 電源電圧が 4.75V 未満
• VCC3C 端子に接続されたコンデンサが 4.7µF 未満
• 最小発振安定時間である 1µs に設定
この設定では , 実行モード用電源が完全にスイッチオンされる前に , 内部クロックが動
作し始めることになります。電圧降下が VCC3C 端子で確認できます。
この問題は,上記に示した条件のすべてを満たしていないことを確認することで回避で
きます。すなわち
• 4.75V 以上の電源電圧を使用すること。
• VCC3C 端子に 4.7µF 以上のコンデンサを接続すること。
また , 実行モードで PLL を有効にする際での問題を回避するために , より大きな容
量のコンデンサの使用を推奨します。
• STCR レジスタの OS1 ビットと OS0 ビットに 1ms の発振安定時間を意味する "01"
を設定するなどして , より大きい発振安定時間を選択すること。
208
第6章
クロック変調器
クロックモジュレータとその機能の概要について
解説します。レジスタ構成およびクロックモジュ
レータの動作について , 解説します。
6.1 クロック変調器の概要
6.2 レジスタ動作
6.3 その他の設定
209
第 6 章 クロック変調器
6.1
クロック変調器の概要
クロックモジュレータは , クロック信号のスペクトラムを広範囲の周波数に拡散す
ることにより , 電磁波障害 (EMI) を低減します。
このモジュールには , PLL 回路から提供される , 周波数 F0 の標準クロック ( 非変調 ) が適
用されます。標準クロックの周波数は , ランダム信号によって変調します。すなわち , 変
調クロックの各クロック・パルス幅は , ランダムに決定されます。
図 6.1-1 変調クロックの周波数スペクトラム ( 基本波のみ )
変調範囲
F min
F0
F max
周波数
■ 変調度および周波数解像度
変調クロックの最大および最小周波数 (Fmax および Fmin) は , 変調度パラメータに
よって適格に定義されます。さらに , 変調範囲の解像度は , Low ∼ High の 3 段階から
選択できます。高い解像度では , 変調クロック・スペクトラムの拡散周波数の粒度が細
かくなりますが , 利用できる変調度が制限されます。
通常 , 設定可能な最大周波数解像度と最大変調度の組み合わせによって , 最大の EMI
低減効果が得られます。ただし , 解像度が低い場合 , 変調度の高低を調整することに
よって , より良い EMI 低減効果が得られる場合があります。付録の利用可能な設定表
を参照してください。
変調クロックの平均周波数は , 標準クロックの周波数 F0 です。
■ キャリブレーション・ユニット
モジュレータは , 16 MHz ∼ 48 MHz の入力周波数に対応します。このため , モジュー
ルには , キャリブレーション・ユニットが内蔵されています。キャリブレーション処理
は, ソフトウェアによって開始することも, ハードウェアによって自動的に開始 (推奨)
することもできます。
モジュレータが有効になっている場合は , ソフトウェアからキャリブレーション処理
を開始しなければなりません。通常の運用時は , 自動キャリブレーション機能によっ
て , キャリブレート済みのモジュレータが調整されます。自動キャリブレーション・イ
ベントの頻度は , 自動キャリブレーション・リロード・タイマの値で設定できます。
■ CAN プリスケーラ
CAN モジュールには非変調の動作クロックが必要なため , モジュレータによって , 変
調クロックの他にも非変調クロックが供給されます。
この CAN クロックは , CAN クロック・プリスケーラを介して , 拡張可能です。
■ オブザーバ
外部 MONCLK 端子で , 一部の内部クロック信号を監視できます。モジュレータ・モ
ジュールは , 目的の信号を選択するためのマルチプレクサを提供します。
この CAN クロックは , CAN クロック・プリスケーラを介して , 拡張可能です。
詳細については , 富士通マイクロエレクトロニクスにお問い合わせください。
210
第 6 章 クロック変調器
6.2
レジスタ動作
クロック・モジュレータ・レジスタを一覧表示し , 各レジスタの機能について解説
します。
アドレス
レジスタ
+0
+1
+2
+3
000164H
CMCR [R/W]
11111111 00000000
CMPR [R/W]
----1001 1---0001
000168H
CMLS0 [R/W]
01110111 11111111
CMLS1 [R/W]
01110111 11111111
00016CH
CMLS2 [R/W]
01110111 11111111
CMLS3 [R/W]
01110111 11111111
000170H
CMLT0 [R/W]
-----100 00000010
CMLT1 [R/W]
11110100 00000010
000174H
CMLT2 [R/W]
-----100 00000010
CMLT3 [R/W]
-----100 00000010
000178H
CMAC [R/W]
11111111 1111111
CMTS [R]
--000001 01111111
ブロック
クロック変調
211
第 6 章 クロック変調器
6.2.1
制御レジスタ (CMCR)
コントロールレジスタ (CMCR) には , 以下の機能があります。
・モジュレータ許可 / 禁止
・MONCLK 端子許可
・出力クロックの選択 ( テスト専用 )
・キャリブレーションの開始
・乱数ジェネレータの初期化
・R-bus レジスタ許可 / 禁止
・CAN プリスケーラの有効化 / 無効化
・CAN プリスケーラ値
<注意事項>
プリスケーラが無効になっている場合は , プリスケーラ値 PRE (CMCRH レジスタ )
のみを書き込みます。
bit
アドレス : 000165H
アクセス
初期値
7
6
5
4
3
2
1
0
PRES CDSBLE IRNG CAL MSEL MTST SCLK MSRT
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
[bit7] PRES : CAN プリスケーラの有効化 / 無効化
0
CAN プリスケーラ禁止 ( 初期値 )
1
CAN プリスケーラ許可
CAN プリスケーラのスケーリング・ファクタは , CMCRH の PRE ビットによって設
定されます。
プリスケーラが無効になっている場合, CANCLK の出力極性は"1"に設定されます。
[bit6] CDSBLE : R- バス・レジスタの有効化 / 無効化
0
すべての R- バス・レジスタを有効にします ( 初期値 ) 。
1
CMCR レジスタの CDSBLE ビットを除くすべての R- バス・レジスタを無効
にします。
CDSBLE ビットは , レジスタへの予期せぬ書込みアクセスを回避するための安全機
能です。
レジスタが無効になっている場合は , 読出しアクセスのみが可能です。すなわち ,
レジスタは書込み保護されています。
212
第 6 章 クロック変調器
<注意事項>
• R- バス・レジスタがロックされている場合 , ソフトウェア・キャリブレーション
要求は実行できません。
• モジュレータの起動時は , 常にソフトウェア・キャリブレーション要求を実行す
る必要があります (CAL ビットの解説を参照 ) 。モジュレータの起動時に
CDSBLE ビットが設定されている場合は , キャリブレーションが要求され , キャ
リブレーションが完了しても , ハードウェアによって CAL ビットを "0 " にリセッ
トすることはできません。CAL は " 1" のままになります。
この結果 , 自動 ( ハードウェア ) キャリブレーションが開始できなくなるため , モ
ジュレータのキャリブレーションは実行されません。
この結果 , 自動 ( ハードウェア ) キャリブレーションが開始できなくなるため , モ
ジュレータのキャリブレーションは実行されません。ソフトウェアによって開始
されたキャリブレーションが完了した後は , 自動キャリブレーションが有効に
なっている場合でも , レジスタ・ロックを設定できます。
[bit5] IRNG : 乱数ジェネレータの初期化
IRNG は乱数ジェネレータを初期化します。
0
乱数ジェネレータは初期化されています。
1
乱数ジェネレータが初期化されます。
このビットは , ソフトウェアによってのみ設定できます。初期化が完了すると , ハー
ドウェアによってビットがクリアされます。
乱数ジェネレータを初期化するには , モジュレータの起動時 (MSRT ビット ) , IRNG
を設定する必要があります。
ソフトウェアによって設定された "0" は無視されます。リードモディファイライト
(RMW)系命令の読出しサイクルでは " 0" が返されます。
[bit4] CAL : キャリブレーションの開始
このビットは , モジュレータのキャリブレーション ( ソフトウェアによるキャリブ
レーション要求 ) を開始し , キャリブレーションの完了を表示します。
0
遅延チェーンがキャリブレートされます ( 初期値 ) 。
1
キャリブレーションの開始
CAL はソフトウェアによってのみ設定できます。キャリブレーションが完了する
と , ハードウェアによって CAL がクリアされます。
調整開始時にキャリブレーション処理を開始するには , モジュレータの起動時
(MSRT ビット ) に CAL を設定する必要があります。
ソフトウェアによって設定された "0 " は無視されます。リードモディファイライト
(RMW)系命令の読出しサイクルでは "0" が返されます。
CDSBLE ビットによって R- バス・レジスタがロックされている場合は , SW キャリ
ブレーション要求を実行できません。
213
第 6 章 クロック変調器
<注意事項>
ソフトウェアから開始した (CAL ビット ) キャリブレーション処理の実行中は , モ
ジュレータを OFF にしないでください。
CAL ビットは , ソフトウェアによって開始されたキャリブレーション処理が実行中
であることを示します。ハードウェアによって自動開始されたキャリブレーション
処理の状態は , CAL ビットの設定では示されません。
キャリブレーション中 , 出力は非変調クロックに自動設定されます。
キャリブレーションに要する時間は , 44 × T0 です。
(T0 = 入力クロック期間 , F0 = 入力クロック周波数 )
F0 [MHz]
T0 [ns]
キャリブレーションに要する時間
16
62.5
2.75 µs
32
31.25
1.375 µs
48
20.83
0.916 µs
[bit3] MSEL : テストクロック選択
<注意事項>
0
テスト端子への信号は変調クロックです ( 初期値 ) 。
1
テスト端子への信号は , CMLT1 レジスタの OBS ビットで選択します。
MSEL 信号は同期していません。したがって , 切換え中に TESTCLK 端子で障害が
発生する可能性があります。
[bit2] MTST : Testclk 端子 MONCLK 許可
0
MONCLK 端子は無効です ( 初期値 ) 。
1
MONCLK 端子は許可。
TESTCLK 端子へのテスト信号は , CMLT1 レジスタの MSEL ビットおよび OBS
ビットで選択できます。
[bit1] SCLK : クロック選択
このビットは , 出力クロックを選択します。
0
出力 = 非変調クロック ( 初期値 )
1
出力 = 変調クロック
このビットはテスト用 ( すなわち , コアのクロックが非変調である場合に , モジュ
レータを起動する際に使用 ) です。
モジュレータの動作中にこのビットを変更しても , ソフトウェアまたはハードウェ
アによるキャリブレーションの次回実行時まで , 変更は反映されません。
214
第 6 章 クロック変調器
通常の運用時は , モジュレータ起動用の MSRT と同時に , SCLK を設定するか , モ
ジュレータの起動時には SCLK が既に設定されていなければなりません。
このビットの設定にかかわらず , モジュレータを OFF にすると , 出力クロックは自
動的に非変調クロックに変更されます。
[bit0] MSRT : モジュレータの起動
このビットは , モジュレータを有効 / 無効にします。
0
モジュレータを有効にします ( 初期値 )。
1
モジュレータを無効にします。
モ ジ ュ レ ー タ の 起 動 に 先 立 ち , す べ て の 構 成 レ ジ ス タ (CMPR, CMLT, CMLS,
CMAC) を設定する必要があります。
モジュレータの起動時 , キャリブレーション処理を開始し , 乱数ジェネレータを初
期化するには , CAL ビットおよび IRNG ビットを設定する必要があります。
出力クロックを変調クロックに設定するには , SCLK ビットを "1" に設定します。
SCLK が "0" の場合は , モジュレータの起動後も出力クロックは非変調クロックの
ままです。
<注意事項>
ソフトウェアから開始した (CAL ビット ) キャリブレーション処理の実行中は , モ
ジュレータを OFF にしないでください。
ソフトウェアから開始したキャリブレーション処理が完了すると , CAL ビットがク
リアされます。ソフトウェアから開始したキャリブレーション処理の完了後は , モ
ジュレータを OFF にできます。
<注意事項>
以下の操作を実行する前は , 必ずクロックモジュレータを OFF にしてください。
・PLL 周波数の変更
・PLL の OFF ( 省電力モード時など )
PLL からのクロック信号が安定した後 (PLL ロック後 ) , モジュレータを ON にでき
ます。
bit
アドレス : 000164H
アクセス
初期値
15
14
13
12
11
10
9
8
PRE7 PRE6 PRE5 PRE4 PRE3 PRE2 PRE1 PRE0
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
215
第 6 章 クロック変調器
[bit15 ∼ bit8] PRE7 ∼ PRE0 (CAN Prescaler Value) : CAN プリスケーラ値
CAN プリスケーラ用の値。CAN モジュールのクロックは , 次の方程式によって決
定されます。
CANCLK * =
F0
PRE+1
F0= 非変調入力クロック (PLL の出力または X0 発振器 )
初期値 : PRE=255, CANCLK=F0/256
*: CANCLK は CAN モジュール内で 2 で割られます。
<注意事項>
プリスケーラが無効になっている場合は , プリスケーラ値 PRE (CMCRH レジスタ )
のみを書込みます。
CANCLK は , CMCRL の PRES ビットによって有効化されます。
プリスケーラが無効になっている場合 , CANCLK の出力極性は "1" に設定されます。
CLK
CANCLK
PRE=0
CANCLK
PRE=1
CANCLK
PRE=2
SCANPREEN
(同期CLK)
CANCLK の立下りエッジは , CLK の立下りエッジによってのみ設定されます。
CLK で立上りまたは立下りエッジが設定されると , CANCLK で立上りエッジが設
定されます。
CANCLK は常に立下りエッジで開始されます。
SCANPREEN: CMCR レジスタ の内部同期されている PRES ビット (bit7)
CAN プリスケーラ許可
CLK: 非変調入力クロック (PLL の出力または X0 発振器 )
216
第 6 章 クロック変調器
6.2.2
変調パラメータレジスタ (CMPR)
変調パラメータレジスタ (CMPR) は変調度を決定します。
<注意事項>
モジュレータが OFF になっている場合は , このレジスタの書込みだけを実行しま
す。すなわち , まずモジュレータの構成を行い , その後 , CMCR:MRST ビットでモ
ジュレータを有効化します。
入力周波数および周波数解像度に応じて , 複数の変調度を選択できます。可能なレジス
タ設定については , 付録を参照してください。通常 , 設定可能な最大周波数解像度と最
大変調度の組み合わせによって , 最大の EMI 低減効果が得られます。ただし , 解像度
を低くし , 変調度を高く設定することによって , より良い EMI 低減効果が得られる場
合があります。
レジスタ
アドレス
初期値
プログラミング値
CMPR
000166H
0xF9F1
「6.3.4 可能な設定」参照
217
第 6 章 クロック変調器
6.2.3
周波数解像度設定レジスタ (CMLS0 ∼ CMLS3)
CMLS レジスタは , 変調範囲の周波数解像度を決定します。
<注意事項>
モジュレータが OFF になっている場合は , このレジスタの書込みだけを実行しま
す。すなわち , まずモジュレータの構成を行い , その後 , CMCR:MRST ビットでモ
ジュレータを有効化します。
変調範囲内の周波数解像度は , Low ∼ High の 3 段階に設定できます。高い解像度では ,
変調クロック・スペクトラムの拡散周波数の粒度が細かくなりますが , 利用できる変調
度が制限されます。通常 , 設定可能な最大周波数解像度と最大変調度の組合せによって ,
最大の EMI 低減効果が得られます。ただし , 解像度が低い場合 , 変調度の高低を調整
することによって , より良い EMI 低減効果が得られる場合があります。
常に , CMLS0 は 0xF800, CMLS1 は 0xFF04 に設定します。CMLS2 および CMLS3 の値
は , 目的の周波数解像度によって異なります。
「6.3.4 可能な設定」の利用可能な設定表
を参照してください。
218
レジスタ
アドレス
初期値
プログラミング値
CMLS0
000168H
0x77FF
0xF800
CMLS1
00016AH
0x77FF
0xFF04
CMLS2
00016CH
0x77FF
「6.3.4 可能な設定」参
照
CMLS3
00016EH
0x77FF
「6.3.4 可能な設定」参
照
第 6 章 クロック変調器
6.2.4
乱数ジェネレータおよび監視レジスタ
(CMLT0 ∼ CMLT3)
乱数ジェネレータは CMLT0 ∼ CMLT3 によって設定されます。CMLT1 には , 監視
コントロールレジスタも含まれます。
<注意事項>
モジュレータが OFF になっている場合は , このレジスタの書込みだけを実行しま
す。すなわち , まずモジュレータの構成を行い , その後 , CMCR:MRST ビットでモ
ジュレータを有効化します。
次の表のレジスタ値を用いて , 乱数ジェネレータの構成を行う必要があります。
レジスタ
アドレス
初期値
プログラミング値
CMLT0
000170H
0xFC02
0xF602
CMLT1
000172H
0xF402
0xS602
CMLT2
000174H
0xFC02
0xF602
CMLT3
000176H
0xFC02
0xF602
OBS[3:0] → 後述のコントロールレジスタ
監視コントロールレジスタは CMLT1 にあります。
bit
アドレス : 0000 0172H
アクセス
初期値
bit
アドレス : 0000 0173H
アクセス
初期値
15
OBS3
R/W
1
14
OBS2
R/W
1
13
OBS1
R/W
1
12
OBS0
R/W
1
11
LT11
R/W
0
10
LT10
R/W
1
9
LT9
R/W
0
8
LT8
R/W
0
7
LT7
R/W
0
6
LT6
R/W
0
5
LT5
R/W
0
4
LT4
R/W
0
3
LT3
R/W
0
2
LT2
R/W
0
1
LT1
R/W
1
0
LT0
R/W
0
CMLT1H
CMLT1L
[bit15 ∼ bit12] OBS : 監視
これらのビットは CMLT1 レジスタに設定されます。初期値は 1111B です。
OBS[3:0] によって , MONCLK 端子の出力が選択されます。MONCLK 端子で内部信
号を監視するには , CMCR レジスタの MTST ビットによって , これを有効にする必
要があります。
監視可能な信号を OBS ビットで決定するには , CMCR の MSEL を"1"に設定する必
要があります。それ以外の場合は , MONCLK で変調クロックが監視されます。
<注意事項>
OBS 信号は同期していません。したがって , 切換え中に MONCLK 端子で障害が発
生する可能性があります。
MONCLK 端子は端子ドライバで駆動します。したがって , この端子で測定された周
波数スペクトラムは , 内部クロック信号のスペクトラムを反映していません。
219
第 6 章 クロック変調器
以下の内部信号を監視できます。
OBS[3:0]
CMCR:
MSEL
2 進数
0
dddd
1
0000
1
16 進数
MB91F362GB,
MB91F369GA
監視可能な信号
MB91FV360GA,
MB91F364G,
MB91F366GB,
MB91F368GB
MB91F365GB,
MB91F367GB
変調クロック
変調クロック
変調クロック
0
非変調クロック (PLL)
非変調クロック (PLL)
非変調クロック (PLL)
0001
1
リザーブ
4 MHz 発振器
4 MHz 発振器
1
0010
2
4 MHz 発振器
32 kHz 発振器
"L" レベル
1
0011
3
CAN クロック
CAN クロック
CAN クロック
1
else
4-14
リザーブ
リザーブ
リザーブ
1
1111
15
自動キャリブレー
ション・タイマ・
パルス
自動キャリブレー
ション・タイマ・
パルス
自動キャリブレー
ション・タイマ・
パルス
レジェンド : d = 任意の値
220
第 6 章 クロック変調器
6.2.5
自動キャリブレーション・リロード・タイマ値
(CMAC)
このレジスタには , 自動キャリブレーション・リロード・タイマのリロード値が含
まれています。
<注意事項>
モジュレータが OFF になっている場合は , このレジスタの書込みだけを実行しま
す。すなわち , まずモジュレータの構成を行い , その後 , CMCR:MRST ビットでモ
ジュレータを有効化します。
bit
アドレス : 0000 0178H
アクセス
初期値
bit
アドレス : 0000 0179H
アクセス
初期値
15
RELF
R/W
1
14
RELE
R/W
1
13
RELD
R/W
1
12
RELC
R/W
1
11
RELB
R/W
1
10
RELA
R/W
1
9
REL9
R/W
1
8
REL8
R/W
1
7
REL7
R/W
1
6
REL6
R/W
1
5
REL5
R/W
1
4
REL4
R/W
1
3
REL3
R/W
1
2
REL2
R/W
1
1
REL1
R/W
1
0
REL0
R/W
1
CMACH
CMACL
自動キャリブレーション・リロード・タイマは , tCAL ( 時間 ) の間隔で , モジュレータ
の新規キャリブレーションを開始します。tCAL の計算には , 次の方程式を使用します。
2047 ×リロード値
tCAL=
F0
次の表は , 異なる入力周波数で可能な最大キャリブレーション間隔 ( リロード値 =
0xFFFF) を示したものです。キャリブレーション中はモジュレータが非変調クロック
に変更されるため , キャリブレーション間隔 tCAL は 1 秒以上に設定しなければなりま
せん。
F0( 入力クロック )
tCAL 最大値
キャリブレーションに要する時間
16 MHz
8.39 s
3µs
32 MHz
4.19 s
1.5µs
48 MHz
2.8 s
1µs
221
第 6 章 クロック変調器
6.2.6
ステータスレジスタ (CMTS)
ステータスレジスタには , キャリブレーション・ユニットの エラーフラグ ELF およ
び EHF が含まれています。
<注意事項>
ほかのすべてのビットは予備であり , 読出し専用です。
bit
アドレス : 0000 017AH
アクセス
初期値
bit
アドレス : 0000 017BH
アクセス
初期値
15
14
−
R
1
−
R
1
13
ELF
R
0
12
EHF
R
0
11
10
9
8
−
R
0
−
R
0
−
R
0
−
R
1
7
6
5
4
3
2
1
0
−
R
0
−
R
1
−
R
1
−
R
1
−
R
1
−
R
1
−
R
1
−
R
1
CMTSH
CMTSL
[bit13] ELF : 低入力周波数エラーフラグ
入力周波数が低すぎるためにモジュレータのキャリブレーションが実行できない
場合 , ELF エラーフラグが設定されます。クロックモジュレータの誤動作を回避す
るには , 入力周波数を上げます。
キャリブレーション処理の最後に , 状態が確認されます。フラグは , 新規キャリブ
レーション処理が開始されるたびにクリアされます。エラーフラグは読出し専用で
す。
0
キャリブレーション中にエラーなし
1
キャリブレーション中にエラー発生 - 入力周波数が低すぎる
[bit12] EHF : 高入力周波数エラーフラグ
入力周波数が高すぎるためにモジュレータのキャリブレーションが実行できない
場合 , EHF エラーフラグが設定されます。クロックモジュレータの誤動作を回避す
るには , 入力周波数を下げます。
キャリブレーション処理の最後に , 状態が確認されます。フラグは , 新規キャリブ
レーション処理が開始されるたびにクリアされます。エラーフラグは読出し専用で
す。
222
0
キャリブレーション中にエラーなし
1
キャリブレーション中にエラー発生 - 入力周波数が高すぎる
第 6 章 クロック変調器
6.3
その他の設定
適用例および可能なレジスタ設定については , 「6.3.4 可能な設定」を参照してくだ
さい。
223
第 6 章 クロック変調器
6.3.1
変調パラメータの選択
特定の EMI 低減効果を得るための特定の変調パラメータ設定はありません。最適な設
定は , 実際の用途 , システム全体および要件によって異なります。
変調パラメータの設定を最適化するには , 以下の推奨事項を参照してください。
(1) 必要な性能に応じて , 必要な PLL 周波数を定義します。
例えば 32 MHz
(2) 最大解像度および最大変調度を用いて設定します。
例えば 解像度 : 中 , 変調度 : 2
(3) EMI 測定を実行します。
(4) EMI 測定が要件を満たさなかった場合 , 同じ周波数解像度で変調度を下げるか , 周
波数解像度を下げて変調度を上げます。
例えば解像度 : 中 , 変調度 : 1 または解像度 : 低 , 変調度 :5
(5) 新しい設定を用いて (3) を繰り返し , 最良の設定が得られるまで続けます。
224
第 6 章 クロック変調器
6.3.2
構成フローチャート
PLL クロックの安定
NO
YES
乱数ジェネレータコントロールレジスタの設定
(CMLT レジスタ )
周波数解像度の設定
(CMLS レジスタ )
変調パラメータの設定
(CMPR レジスタ )
自動キャリブレーション リロード値の設定
(CMAC レジスタ )
CAN プリスケーラの設定
(CMCR レジスタ )
変調器 起動
変調器 稼動中
変調器 停止
(CMCR レジスタ )
PLL 不可
225
第 6 章 クロック変調器
6.3.3
プログラム例
次のアセンブラ・プログラム例に , クロックモジュレータの設定方法および起動方法
を示します。最初にモジュレータの設定を実行し , 最後にモジュレータを起動します。
・ まず , CMLT コントロールレジスタを必要な値に設定します。監視セレクタは , 初
期値 0xF のままにしておきます。
・ 周波数解像度を中 に設定します。
・変調度の設定は , 選択した周波数解像度に応じて , 16 MHz 入力クロック用に 3 種
類 , 24 MHz 用に 2 種類 , 32 MHz 用に 2 種類 , 40 MHz 用に 1 種類あります ( 可
能な設定については「6.3.4 可能な設定」) 。入力クロックが 32MHz の場合は ,
変調度 2 を選択します ( 周波数域 23.273 MHz ∼ 51.2 MHz) 。
・ 自動キャリブレーション・タイマ・リロード値を 0xFFFF に設定します (32 MHz
入力クロックでのキャリブレーション間隔 4.192 s に対応 ) 。
・ 最後に , クロックモジュレータを起動します。同時に , CAN プリスケーラを 3
(CANCLK=input_clock/4) に設定します。MONCLK 端子は無効のままにしておき
ます。モジュレータが起動されると同時に , キャリブレーションが開始され (CAL
ビット ) , 乱数ジェネレータが初期化されます (IRNG ビット ) 。
// control register CMLT
ldi
#0xF802,r0
ldi
#CMLT0,r1
ldi
#CMLT1,r2
ldi
#CMLT2,r3
ldi
#CMLT3,r4
sth
r0,@r1
sth
r0,@r2
sth
r0,@r3
sth
r0,@r4
// frequency resolution register CMLS
ldi
#0xF800,r0
ldi
#0xFF04,r1
ldi
#0xF813,r2
ldi
#0x0000,r3
ldi
#CMLS0,r4
ldi
#CMLS1,r5
ldi
#CMLS2,r6
ldi
#CMLS3,r7
sth
r0,@r4
sth
r1,@r5
sth
r2,@r6
sth
r3,@r7
// modulation parameter register CMPR
ldi
#0x0A82,r0
ldi
#CMPR,r1
sth
r0,@r1
// calibration reload timer CMAC = 0xFFFF
ldi
#0xFFFF,r0
ldi
#CMAC,r1
sth
r0,@r1
226
第 6 章 クロック変調器
// control register CMCR
// set CAN-prescaler = 3 (CANCLK=input_CLK/4), enable CAN clock
// disable MONCLK pin
// start clock modulator
ldi
#0x03B3,r0
ldi
#CMCR,r1
sth
r0,@r1
.
.
.
// stop clock modulator
// CAN clock remains enabled
ldi
#0x0380,r0
ldi
#CMCR,r1
sth
r0,@r1
227
第 6 章 クロック変調器
可能な設定
6.3.4
F0 = 入力周波数
Fmax = 変調範囲の上限
Fmin = 変調範囲の下限
<注意事項>
変調クロックの実際の最大周波数は , 表示されている周波数の Fmax より高い場合
があります。同様に , 実際の最小周波数は , Fmin より低い場合があります。変調ク
ロックの絶対最大周波数は 64 MHz 未満です。
228
F0
[MHz]
周波数解像度
変調度
Fmin
[MHz]
Fmax
[MHz]
CMLS2
CMLS3
CMPR
16
低
1
15.059
17.067
0x0000
0x0000
0x0F81
16
低
2
14.222
18.286
0x0000
0x0000
0x0E82
16
低
3
13.474
19.692
0x0000
0x0000
0x0D83
16
低
4
12.800
21.333
0x0000
0x0000
0x0C84
16
低
5
12.190
23.273
0x0000
0x0000
0x0B85
16
低
6
11.636
25.600
0x0000
0x0000
0x0A86
16
低
7
11.130
28.444
0x0000
0x0000
0x0987
16
低
8
10.667
32.000
0x0000
0x0000
0x0888
16
低
9
10.240
36.571
0x0000
0x0000
0x0789
16
低
10
9.846
42.667
0x0000
0x0000
0x068A
16
中
1
13.474
19.692
0xF813
0x0000
0x0D81
16
中
2
11.636
25.600
0xF813
0x0000
0x0A82
16
中
3
10.240
36.571
0xF813
0x0000
0x0783
16
高
1
11.130
28.444
0xF813
0xFF84
0xF9F1
24
低
1
22.588
25.600
0x0000
0x0000
0x0F81
24
低
2
21.333
27.429
0x0000
0x0000
0x0E82
24
低
3
20.211
29.538
0x0000
0x0000
0x0D83
24
低
4
19.200
32.000
0x0000
0x0000
0x0C84
24
低
5
18.286
34.909
0x0000
0x0000
0x0B85
24
低
6
17.455
38.400
0x0000
0x0000
0x0A86
24
低
7
16.696
42.667
0x0000
0x0000
0x0987
24
低
8
16.000
48.000
0x0000
0x0000
0x0888
24
中
1
20.211
29.538
0xF813
0x0000
0x0D81
24
中
2
17.455
38.400
0xF813
0x0000
0x0A82
24
高
1
16.696
42.667
0xF813
0xFF84
0xF9F1
32
低
1
30.118
34.133
0x0000
0x0000
0x0F81
32
低
2
28.444
36.571
0x0000
0x0000
0x0E82
第 6 章 クロック変調器
F0
[MHz]
周波数解像度
変調度
Fmin
[MHz]
Fmax
[MHz]
CMLS2
CMLS3
CMPR
32
低
3
26.947
39.385
0x0000
0x0000
0x0D83
32
低
4
25.600
42.667
0x0000
0x0000
0x0C84
32
低
5
24.381
46.545
0x0000
0x0000
0x0B85
32
低
6
23.273
51.200
0x0000
0x0000
0x0A86
32
中
1
26.947
39.385
0xF813
0x0000
0x0D81
32
中
2
23.273
51.200
0xF813
0x0000
0x0A82
40
低
1
37.647
42.667
0x0000
0x0000
0x0F81
40
低
2
35.556
45.714
0x0000
0x0000
0x0E82
40
低
3
33.684
49.231
0x0000
0x0000
0x0D83
40
中
1
33.684
49.231
0xF813
0x0000
0x0D81
48
低
1
45.176
51.200
0x0000
0x0000
0x0F81
低
2
42.667
54.857
0x0000
0x0000
0x0E82
48
229
第 6 章 クロック変調器
230
第7章
I/O ポート
I/O ポートの概要とレジスタの一覧を示し , 外部端
子を I/O ポートとして使用するための条件について
説明します。
7.1 I/O ポートとレジスタ構成
7.2 ポート機能レジスタ (PFR) の設定
231
第 7 章 I/O ポート
7.1
I/O ポートとレジスタ構成
MB91360 シリーズでは , 周辺回路が使用していない端子を I/O ポートとして使用す
ることができます。本項では , I/O ポートの基本ブロックダイヤグラム ( 構造図 ) と
レジスタ構成の一覧を示します。
■ ポート基本ブロックダイヤグラム
MB91360 シリーズには , 以下の 3 種類の I/O ポートレジスタがあります。
• ポートデータレジスタ (PDR)
• ポート機能レジスタ (PFR)
• データ方向レジスタ (DDR)
図 7.1-1 に I/O ポートの基本ブロックダイヤグラムを示します。
図 7.1-1 I/O ポートの基本ブロックダイヤグラム
ポートバス
周辺回路入力
PDR 読出し
0
周辺回路出力
PDR
1
1
端子
0
PFR
DDR
PDR:ポートデータレジスタ
DDR:データ方向レジスタ
PFR:ポート機能レジスタ
■ レジスタの構成と機能
I/O ポートレジスタは , ポートデータレジスタ (PDR), データ方向レジスタ (DDR), およ
びポート機能レジスタ (PFR) から構成されています。
PDR のビットは , DDR と PFR のビットに対応しています。同様に , レジスタビットは
ポート端子に対応しています。
ポートデータレジスタにはポート I/O データが含まれており , データ方向レジスタは ,
対応するビット ( 端子 ) が入力であるのか , 出力であるのかを指定します。"0" に設定
されたビットは入力であり , "1" に設定されたビットは出力です。ポート機能レジスタ
は , ポートが周辺回路ポートとして使用されるのか , I/O ポートとして使用されるのか
を指定します。通常 , "0" に設定されたビットは I/O ポートを意味し , "1" に設定された
ビットは機能ポートを意味します。
● 入力モード (DDR=0)
• PDR リード : 対応する外部端子の信号レベルが読み出されます。
• PDR ライト : PDR に設定値が書き込まれます。
● 出力モード (DDR=1)
• PDR リード : PDR の値が読み出されます。
• PDR ライト : PDR の値が , 対応する外部端子に出力されます。
232
第 7 章 I/O ポート
● ポートデータレジスタ (PDR)
ポートデータレジスタ (PDR) の構成を図 7.1-2 に示します。
図 7.1-2 ポートデータレジスタの構成
PDR7
アドレス :
7
6
5
4
3
2
1
0
P77
P76
P75
P74
P73
P72
P71
P70
7
6
5
4
3
2
1
0
P87
P86
P85
P84
P83
P82
P81
P80
7
6
5
4
3
2
1
0
P97
P96
P95
P94
P93
P92
P91
P90
7
6
5
4
3
2
1
0
PB7
PB6
PB5
PB4
PB3
PB2
PB1
PB0
7
6
5
4
3
2
1
0
PG7
PG6
PG5
PG4
PG3
PG2
PG1
PG0
7
6
5
4
3
2
1
0
PH7
PH6
PH5
PH4
PH3
PH2
PH1
PH0
7
6
5
4
3
2
1
0
00000012H
PI7
−
−
−
PI3
−
−
−
7
6
5
4
3
2
1
0
00000013H
PJ7
PJ6
PJ5
PJ4
PJ3
PJ2
PJ1
PJ0
7
6
5
4
3
2
1
0
00000014H
PK7
PK6
PK5
PK4
PK3
PK2
PK1
PK0
7
6
5
4
3
2
1
0
00000015H
PL7
PL6
PL5
PL4
PL3
PL2
PL1
PL0
7
6
5
4
3
2
1
0
00000016H
−
−
−
−
PM3
PM2
PM1
PM0
7
6
5
4
3
2
1
0
00000017H
−
−
PN5
PN4
PN3
PN2
PN1
PN0
7
6
5
4
3
2
1
0
00000018H
PO7
PO6
PO5
PO4
PO3
PO2
PO1
PO0
7
6
5
4
3
2
1
0
00000019H
PP7
PP6
PP5
PP4
PP3
PP2
PP1
PP0
7
6
5
4
3
2
1
0
−
PQ5
PQ4
PQ3
PQ2
PQ1
PQ
00000007H
PDR8
アドレス :
00000008H
PDR9
アドレス :
00000009H
PDRB
アドレス :
0000000BH
PDRG
アドレス :
00000010H
PDRH
アドレス :
00000011H
PDRI
アドレス :
PDRJ
アドレス :
PDRK
アドレス :
PDRL
アドレス :
PDRM
アドレス :
PDRN
アドレス :
PDRO
アドレス :
PDRP
アドレス :
PDRQ
アドレス :
0000001AH
−
7
6
5
4
3
2
1
0
0000001BH
PR7
PR6
PR5
PR4
PR3
PR2
PR1
PR0
7
6
5
4
3
2
1
0
0000001CH
PS7
PS6
PS5
PS4
PS3
PS2
PS1
PS0
7
6
5
4
3
2
1
0
−
PT5
PT4
PT3
PT2
PT1
PT0
PDRR
アドレス :
PDRS
アドレス :
PDRT
アドレス :
0000001DH
−
初期値
1111XXXXB
アクセス
R/W
初期値
XXXXXXXXB
アクセス
R/W
初期値
XXXXXXX1B
アクセス
R/W
初期値
XXXXXXXXB
アクセス
R/W
初期値
XXXXXXXXB
アクセス
R/W
初期値
XXXXXXXXB
アクセス
R/W
初期値
X---X---B
アクセス
R/W
初期値
XXXXXXXXB
アクセス
R/W
初期値
XXXXXXXXB
アクセス
R/W
初期値
XXXXXXXXB
アクセス
R/W
初期値
----XXXXB
アクセス
R/W
初期値
--XXXXXXB
アクセス
R/W
初期値
XXXXXXXXB
アクセス
R/W
初期値
XXXXXXXXB
アクセス
R/W
初期値
--XXXXXXB
アクセス
R/W
初期値
XXXXXXXXB
アクセス
R/W
初期値
XXXXXXXXB
アクセス
R/W
初期値
--XXXXXXB
アクセス
R/W
233
第 7 章 I/O ポート
● データ方向レジスタ (DDR)
データ方向レジスタ (DDR) の構成を図 7.1-3 に示します。
図 7.1-3 データ方向レジスタの構成
DDR7
アドレス : 00000607H
7
P77
6
P76
5
P75
4
P74
3
P73
2
P72
1
P71
0
P70
初期値 アクセス
00000000B R/W
DDR8
アドレス : 00000608H
7
P87
6
P86
5
P85
4
P84
3
P83
2
P82
1
P81
0
P80
初期値 アクセス
00000000B R/W
DDR9
アドレス : 00000609H
7
P97
6
P96
5
P95
4
P94
3
P93
2
P92
1
P91
0
P90
初期値 アクセス
00000000B R/W
DDRB
アドレス : 0000060BH
7
PB7
6
PB6
5
PB5
4
PB4
3
PB3
2
PB2
1
PB1
0
PB0
初期値 アクセス
00000000B R/W
DDRG
アドレス : 00000400H
7
PG7
6
PG6
5
PG5
4
PG4
3
PG3
2
PG2
1
PG1
0
初期値 アクセス
PG0 00000000B R/W
DDRH
アドレス : 00000401H
7
PH7
6
PH6
5
PH5
4
PH4
3
PH3
2
PH2
1
PH1
0
PH0
DDRI
アドレス : 00000402H
7
6
5
4
2
1
0
−
−
−
−
3
PI3
−
−
−
DDRJ
アドレス : 00000403H
7
PJ7
6
PJ6
5
PJ5
4
PJ4
3
PJ3
2
PJ2
1
PJ1
0
PJ0
初期値 アクセス
00000000B R/W
DDRK
アドレス : 00000404H
7
PK7
6
PK6
5
PK5
4
PK4
3
PK3
2
PK2
1
PK1
0
PK0
初期値 アクセス
00000000B R/W
DDRL
アドレス : 00000405H
7
PL7
6
PL6
5
PL5
4
PL4
3
PL3
2
PL2
1
PL1
0
PL0
初期値 アクセス
00000000B R/W
DDRM
アドレス : 00000406H
7
6
5
4
−
−
−
−
3
PM3
2
PM2
1
PM1
0
PM0
初期値 アクセス
----0000B
R/W
DDRN
アドレス : 00000407H
7
6
−
−
5
PN5
4
PN4
3
PN3
2
PN2
1
PN1
0
PN0
初期値 アクセス
--000000B
R/W
DDRO
アドレス : 00000408H
7
PO7
6
PO6
5
PO5
4
PO4
3
PO3
2
PO2
1
PO1
0
初期値 アクセス
PO0 00000000B R/W
DDRP
アドレス : 00000409H
7
PP7
6
PP6
5
PP5
4
PP4
3
PP3
2
PP2
1
PP1
0
PP0
初期値 アクセス
00000000B R/W
DDRQ
アドレス : 0000040AH
7
6
−
−
5
PQ5
4
PQ4
3
PQ3
2
PQ2
1
PQ1
0
PQ0
初期値 アクセス
--000000B
R/W
DDRR
アドレス : 0000040BH
7
PR7
6
PR6
5
PR5
4
PR4
3
PR3
2
PR2
1
PR1
0
PR0
初期値 アクセス
00000000B R/W
DDRS
アドレス : 0000040CH
7
PS7
6
PS6
5
PS5
4
PS4
3
PS3
2
PS2
1
PS1
0
PS0
初期値 アクセス
00000000B R/W
DDRT
アドレス : 0000040DH
7
6
−
−
5
PT5
4
PT4
3
PT3
2
PT2
1
PT1
0
PT0
初期値 アクセス
--000000B
R/W
234
初期値 アクセス
00000000B R/W
初期値
----0---B
アクセス
R/W
第 7 章 I/O ポート
● ポート機能レジスタ (PFR)
ポート機能レジスタ (PFR) の構成を図 7.1-4 に示します。
図 7.1-4 ポート機能レジスタの構成
PFR7
アドレス : 00000617H
PFR8
アドレス : 00000618H
PFR9
アドレス : 00000619H
PFRB
アドレス : 0000061BH
PFR27
アドレス : 00000627H
PFRG
アドレス : 00000410H
PFRH
7
6
5
4
3
2
1
0
P77
P76
P75
P74
P73
P72
P71
P70
7
6
5
4
3
2
1
0
P87
P86
P85
P84
P83
P82
−
−
7
6
5
4
3
2
1
0
P97
P96
P95
P94
P93
P92
P91
P90
7
6
5
4
3
2
1
0
PB7
PB6
PB5
PB4
PB3
PB2
PB1
PB0
7
6
5
4
3
2
1
0
P77
P76
P75
P74
P73
P72
P71
P70
7
6
5
4
3
2
1
0
PG7
PG6
PG5
PG4
PG3
PG2
PG1
PG0
7
6
5
4
3
2
1
0
PH7
PH6
PH5
PH4
PH3
PH2
PH1
PH0
PFRI
7
6
5
4
3
2
1
0
アドレス : 00000412H
−
−
−
−
PI3
−
−
−
アドレス : 00000411H
PFRJ
アドレス : 00000413H
PFRK
アドレス : 00000414H
PFRL
7
6
5
4
3
2
1
0
PJ7
PJ6
PJ5
PJ4
PJ3
PJ2
PJ1
PJ0
7
6
5
4
3
2
1
0
PK7
PK6
PK5
PK4
PK3
PK2
PK1
PK0
7
6
5
4
3
2
1
0
PL7
PL6
PL5
PL4
PL3
PL2
PL1
PL0
PFRM
7
6
5
4
3
2
1
0
アドレス : 00000416H
−
−
−
−
PM3
PM2
PM1
PM0
PFRN
7
6
5
4
3
2
1
0
PN4
PN3
PN2
PN1
PN0
アドレス : 00000415H
アドレス : 00000417H
−
−
PN5
PFRO
7
6
5
4
3
2
1
0
PO7
PO6
PO5
PO4
PO3
PO2
PO1
PO0
7
6
5
4
3
2
1
0
PP7
PP6
PP5
PP4
PP3
PP2
PP1
PP0
PFRQ
7
6
5
4
3
2
1
0
アドレス : 0000041AH
−
−
PQ5
PQ4
PQ3
PQ2
PQ1
PQ0
アドレス : 00000418H
PFRP
アドレス : 00000419H
初期値
00001111B
アクセス
初期値
111110--B
アクセス
初期値
11110101B
アクセス
初期値
00000000B
アクセス
初期値
1111-00-B
アクセス
初期値
00000000B
アクセス
初期値
00000000B
アクセス
初期値
----0---B
アクセス
初期値
00000000B
アクセス
初期値
00000000B
アクセス
初期値
00000000B
アクセス
初期値
----0000B
アクセス
初期値
--000000B
アクセス
初期値
00000000B
アクセス
初期値
00000000B
アクセス
初期値
--000000B
アクセス
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
( 続く )
235
第 7 章 I/O ポート
( 続き )
PFRR
7
6
5
4
3
2
1
0
PR7
PR6
PR5
PR4
PR3
PR2
PR1
PR0
7
6
5
4
3
2
1
0
PS7
PS6
PS5
PS4
PS3
PS2
PS1
PS0
PFRT
7
6
5
4
3
2
1
0
アドレス : 0000041DH
−
−
PT5
PT4
PT3
PT2
PT1
PT0
アドレス : 0000041BH
PFRS
アドレス : 0000041CH
236
初期値
00000000B
アクセス
初期値
00000000B
アクセス
初期値
--000000B
アクセス
R/W
R/W
R/W
第 7 章 I/O ポート
7.2
ポート機能レジスタ (PFR) の設定
各 PFR レジスタについて , その機能と初期値をまとめます。
■ ポート機能レジスタ (PFR) の機能と初期値
表 7.2-1 にポート機能レジスタの機能と初期値を示します。
<注意事項>
PFR7, PFR27, PFR8, PFR9, PFRB については「8.7 バスインタフェースを汎用入
出力 ポートとして使用する方法」を参照ください。
表 7.2-1 ポート機能レジスタの機能と初期値 (1 / 7)
レジスタ名
PFR7
PFR7(P71), PFR27 (P271)
PFR7 (P72), PFR27 (P272)
PFR7
PFR7 (P74), PFR27 (P274)
PFR7 (P75), PFR27 (P275)
PFR7 (P76), PFR27 (P276)
ビット名
P70
P71, P271
P72, P272
P73
P74, P274
P75, P275
P76, P276
ビット値
機能
0
汎用ポート
1
アドレス出力 A24( 初期状態 )
0, 0
汎用ポート
0, 1
アドレス出力 A25( 初期状態 )
1, 0
設定無効
1, 1
IORX
0, 0
汎用ポート
0, 1
アドレス出力 A26( 初期状態 )
1, 0
設定無効
1, 1
IOWX
0
汎用ポート
1
アドレス出力 A27( 初期状態 )
0, 0
汎用ポート
0, 1
1 出力
1, 0
アドレス出力 A28( 初期状態 )
1, 1
CS4 出力 (「4.2 構成レジスタ (F362GB
モードレジスタ F362MD)」参照 )
0, 0
汎用ポート
0, 1
1 出力
1, 0
アドレス出力 A29( 初期状態 )
1, 1
CS5 出力 (「4.2 構成レジスタ (F362GB
モードレジスタ F362MD)」参照 )
0, 0
汎用ポート
0, 1
1 出力
1, 0
アドレス出力 A30( 初期状態 )
1, 1
CS6 出力 (「4.2 構成レジスタ (F362GB
モードレジスタ F362MD)」参照 )
237
第 7 章 I/O ポート
表 7.2-1 ポート機能レジスタの機能と初期値 (2 / 7)
レジスタ名
PFR7 (P77), PFR27 (P277)
ビット名
P77, P277
PFR8 (BGRNTX)
PFR8 (BRQ)
−
P82
ビット値
機能
0, 0
汎用ポート
0, 1
1 出力
1, 0
アドレス出力 A31( 初期状態 )
1, 1
CS7 出力
−
なし (P82 ビットを BRQ 端子にした場合
に , BGRNTX 専用端子になります。)
0
汎用ポート ( 初期状態 )
1
BRQ
PFR8 (RDX)
P83
1
"1" を設定してください。
PFR8 (WR0X)
P84
1
"1" を設定してください。
PFR8 (WR1X)
P85
1
"1" を設定してください。
PFR8 (WR2X)
P86
0
汎用ポート
1
WR2X 出力 ( 初期状態 )
0
汎用ポート
1
WR3X 出力 ( 初期状態 )
0
汎用ポート
1
AS 出力 ( 初期値 : "1")
0
汎用ポート ( 初期値 )
1
未使用 ( 初期値 : "0")
0
汎用ポート (「8.7 バスインタフェースを
汎用入出力 ポートとして使用する方法」
参照 )
1
CLK 出力 ( 初期値 : "1")
0
未使用 ( 初期値 :"0")
1
汎用ポート
0
汎用ポート
1
外バス使用時 "1" を設定してください。
( 初期値 :"1")
0
汎用ポート
1
CS1 出力 ( 初期状態 )
0
汎用ポート
1
CS2 出力 ( 初期状態 )
0
汎用ポート
1
CS3 出力 ( 初期状態 )
0
通常使用時 "0" を設定してください。
( 初期値 : "0")
PFR8 (WR3X)
PFR9 (AS)
PFR9 (ALE)
PFR9 (CLK)
PFR9 (AH/BOOT)
PFR9 (CS0X)
PFR9 (CS1X)
PFR9 (CS2X)
PFR9 (CS3X)
PFRB
238
P87
P90
P91
P92
P93
P94
P95
P96
P97
PB0, PB3
第 7 章 I/O ポート
表 7.2-1 ポート機能レジスタの機能と初期値 (3 / 7)
レジスタ名
ビット名
PFRB (PB1), PFRB (PB4),
PFRB (PB6)
PB1, PB4,
PB6
PFRB ( ビット 2), DDRB
(PB2)
ビット 2,
PB2
PFRB ( ビット 5), DDRB
(PB5)
PFRB ( ビット 7), DDRB
(PB7)
PFRG
PFRH
PFRI
ビット 5,
PB5
ビット 7,
PB7
PG7 ∼ PG0
PH7 ∼ PH0
PI3
ビット値
0
汎用ポート ( 初期値 : "0")
1
DACK0, 1, 2
0, 0
汎用ポート入力 ( 初期状態 )
0, 1
汎用ポート出力
1, 0
DMAC: DSTP 入力
1, 1
DMAC: DEOP 出力
0, 0
汎用ポート入力 ( 初期状態 )
0, 1
汎用ポート出力
1, 0
DMAC: DSTP 入力
1, 1
DMAC: DEOP 出力
0, 0
汎用ポート入力 ( 初期状態 )
0, 1
汎用ポート出力
1, 0
DMAC: DSTP 入力
1, 1
DMAC: DEOP 出力
0
I/O ポート ( 初期値 )
1
AN15 ∼ AN8(ADC 入力 )
0
I/O ポート ( 初期値 )
1
AN7 ∼ AN0(ADC 入力 )
0
I/O ポート ( 初期値 )
1
ATGX(ADC トリガ入力 )
PI7
PFRJ
PFRK
PFRL
PJ7 ∼ PJ0
PK7 ∼ PK0
PL0 ∼ PL3
PL4 ∼ PL7
機能
SELCLK の値は PI7 で読み出すことがで
きます。(PDR7:bit7)
0
I/O ポート ( 初期値 )
1
LED7 ∼ LED0(LED ポート出力 )
0
I/O ポート ( 初期値 )
1
INT7 ∼ INT0( 外部割込み入力 )
0
I/O ポート ( 初期値 )
1
IN0 ∼ IN3(ICU 入力 )
0
I/O ポート ( 初期値 )
1
OUT0 ∼ OUT3(OCU 出力 )
239
第 7 章 I/O ポート
表 7.2-1 ポート機能レジスタの機能と初期値 (4 / 7)
レジスタ名
PFRM
ビット名
PM0
PM1
PM2
PM3
PFRN
PN0
PN1
PN2
PN3
PN4
PN5
PFRO
240
PO0 ∼ PO7
ビット値
機能
0
I/O ポート ( 初期値 )
1
SGO( サウンドジェネレータ出力 )
0
I/O ポート ( 初期値 )
1
SGA( サウンドジェネレータ出力 )
0
I/O ポート ( 初期値 )
1
SDA(I2C データ )
0
I/O ポート ( 初期値 )
1
SCL(I2C クロック )
0
I/O ポート ( 初期値 )
1
SOT4(SIO 出力 )
0
I/O ポート ( 初期値 )
1
SIN4(SIO 入力 )
0
I/O ポート ( 初期値 )
1
SCK4(SIO クロック )
0
I/O ポート ( 初期値 )
1
SIN3(SIO 入力 )
0
I/O ポート ( 初期値 )
1
SOT3(SIO 出力 )
0
I/O ポート ( 初期値 )
1
SCK3(SIO クロック )
0
I/O ポート ( 初期値 )
1
OCPA0 ∼ OCPA7(PPG 出力 )
第 7 章 I/O ポート
表 7.2-1 ポート機能レジスタの機能と初期値 (5 / 7)
レジスタ名
PFRP
ビット名
PP0
PP1
PP2
PP3
PP4
PP5
PP6
PP7
PFRQ
PQ0
PQ1
PQ2
PQ3
PQ4
PQ5
ビット値
機能
0
I/O ポート ( 初期値 )
1
TX0(CAN0)
0
I/O ポート ( 初期値 )
1
RX0(CAN0)
0
I/O ポート ( 初期値 )
1
TX1(CAN1)
0
I/O ポート ( 初期値 )
1
RX1(CAN1)
0
I/O ポート ( 初期値 )
1
TX2(CAN2)
0
I/O ポート ( 初期値 )
1
RX2(CAN2)
0
I/O ポート ( 初期値 )
1
TX3(CAN3)
0
I/O ポート ( 初期値 )
1
RX3(CAN3)
0
I/O ポート ( 初期値 )
1
SIN0(UART0)( ブート ROM* 後の値 )
0
I/O ポート ( 初期値 )
1
SOT0(UART0)( ブート ROM* 後の値 )
0
I/O ポート ( 初期値 )
1
SIN1(UART1)
0
I/O ポート ( 初期値 )
1
SOT1(UART1)
0
I/O ポート ( 初期値 )
1
SIN2(UART2)
0
I/O ポート ( 初期値 )
1
SOT2(UART2)
241
第 7 章 I/O ポート
表 7.2-1 ポート機能レジスタの機能と初期値 (6 / 7)
レジスタ名
PFRR
ビット名
PR0
PR1
PR2
PR3
PR4
PR5
PR6
PR7
PFRS
PS0
PS1
PS2
PS3
PS4
PS5
PS6
PS7
242
ビット値
機能
0
I/O ポート ( 初期値 )
1
PWM1P0( ステッパモータ制御 )
0
I/O ポート ( 初期値 )
1
PWM1M0( ステッパモータ制御 )
0
I/O ポート ( 初期値 )
1
PWM2P0( ステッパモータ制御 )
0
I/O ポート ( 初期値 )
1
PWM2M0( ステッパモータ制御 )
0
I/O ポート ( 初期値 )
1
PWM1P1( ステッパモータ制御 )
0
I/O ポート ( 初期値 )
1
PWM1M1( ステッパモータ制御 )
0
I/O ポート ( 初期値 )
1
PWM2P1( ステッパモータ制御 )
0
I/O ポート ( 初期値 )
1
PWM2M1( ステッパモータ制御 )
0
I/O ポート ( 初期値 )
1
PWM1P2( ステッパモータ制御 )
0
I/O ポート ( 初期値 )
1
PWM1M2( ステッパモータ制御 )
0
I/O ポート ( 初期値 )
1
PWM2P2( ステッパモータ制御 )
0
I/O ポート ( 初期値 )
1
PWM2M2( ステッパモータ制御 )
0
I/O ポート ( 初期値 )
1
PWM1P3( ステッパモータ制御 )
0
I/O ポート ( 初期値 )
1
PWM1M3( ステッパモータ制御 )
0
I/O ポート ( 初期値 )
1
PWM2P3( ステッパモータ制御 )
0
I/O ポート ( 初期値 )
1
PWM2M3( ステッパモータ制御 )
第 7 章 I/O ポート
表 7.2-1 ポート機能レジスタの機能と初期値 (7 / 7)
レジスタ名
ビット名
ビット値
機能
PFRT (MB91F364G のみ )
PFRT
PT0
PT1
PT2
PT3
PT4
PT5
0
I/O ポート ( 初期値 )
1
SIN5 (LIN-UART5)
0
I/O ポート ( 初期値 )
1
SCK5 (LIN-UART5)
0
I/O ポート ( 初期値 )
1
SOT5 (LIN-UART5)
0
I/O ポート ( 初期値 )
1
SOT6 (LIN-UART6)
0
I/O ポート ( 初期値 )
1
SCK6 (LIN-UART6)
0
I/O ポート ( 初期値 )
1
SIN6 (LIN-UART6)
*: ブートコードの実行時に , 有効なブート状態が検出された場合のみ , この値が設定されます。
243
第 7 章 I/O ポート
244
第8章
外部バスインタフェース
外部バスインタフェース , レジスタの構造と機能 ,
バス動作の基本 , バスの動作タイミングについて説
明します。
8.1 外部バスインタフェースの概要
8.2 外部バスインタフェースのレジスタ
8.3 外部バスの仕様
8.4 外部バスアクセス
8.5 バス信号
8.6 バスの動作タイミング
8.7 バスインタフェースを汎用入出力 ポートとして使用する
方法
245
第 8 章 外部バスインタフェース
8.1
外部バスインタフェースの概要
外部バスインタフェースは , 外部メモリ , および外部 I/O とのインタフェースを制御
します。
■ 外部バスインタフェースの特長
• 32 ビット (4G バイト ) のアドレス出力が可能です。
• チップセレクト機能により , 8 個の独立したバンク構成が可能です。
バンクは, 最小64Kバイト単位で論理アドレス空間上の任意の位置に設定できます。
領域なしに設定可能です。
• チップセレクト領域ごとに 32/16/8 ビットのバス幅の設定が可能です。
• プログラム可能な自動メモリ待ち ( 最大で 7 サイクル分 ) の挿入ができます。
• 未使用のアドレス / データ端子は I/O ポートとして使用できます。
<注意事項>
246
• チップセレクト領域 CS7 は , 内部 CAN モジュールに使用されます。必要なレジ
スタの設定は , 内部ブートルーチンによって行われます。この CS 領域に関連す
るレジスタのビットに上書きしないよう注意してください。
• 外部バス ( ユーザロジックバスともよばれる ) に内部的に接続されている CAN
マクロを使用している場合 , 外部バスインタフェースのいくつかのデータ , アド
レス , および制御ポートを汎用 I/O ポートとして構成することはできません。
「第 7 章 I/O ポート」を参照してください。
第 8 章 外部バスインタフェース
■ 外部バスインタフェースのブロックダイヤグラム
図 8.1-1 に外部バスインタフェースのブロックダイヤグラムを示します。
図 8.1-1 ブロックダイヤグラム
アドレスバス データバス
32
32
外部データバス
書込みバス
スイッチ
読出しバッファ
スイッチ
データブロック
アドレスブロック
+1 or +2
アライメント
外部アドレスバス
アドレスバッファ
ASR
CS0X~CS7X
AMR
コンバータ
外部端子制御部
RDX
WR0X, WR1X
WR2X, WR3X
全ブロック制御
レジスタ&制御
BRQ
BGRNTX
RDY
CLK
247
第 8 章 外部バスインタフェース
■ 領域
外部バスインタフェースには , 8 種類のチップセレクト領域が用意されます。
各領域の位置は , ASR0 ∼ ASR7( 領域選択レジスタ ) と AMR0 ∼ AMR7( 領域マスクレ
ジスタ ) によって指示される 4G バイトの空間に , 最小 64K バイト単位で任意に配置す
ることができます。また , ASR0 ∼ ASR7 のレジスタによって指定された領域に対して
外部バスをアクセスしようとすると , 対応するチップ選択信号 CS0X ∼ CS7X がアク
ティブ "L" になります。
図 8.1-2 にチップセレクト領域の配置例を示します。
例 1 は , 領域 0 を 00000000H ∼ 000FFFFFH に , 領域 1 から領域 5 を 00100000H ∼ 0014FFFFH
に 64K バイト単位で配置した例を示します。また , 例 2 は , 領域 0 を 00080000H ∼
000FFFFFH に , 領域 1 を 00000000H ∼ 0007FFFFH の 512K バイト , 領域 2 から領域 5 を
00100000H ∼ 004FFFFFH に 1M バイト単位で配置した例を示します。
図 8.1-2 チップセレクト領域の配置例
例1
例2
00000000H
0007FFFFH
00000000H
00080000H
CS0X (1M byte)
000FFFFFH
CS1X(64K byte)
CS2X(64K byte)
CS3X(64K byte)
0010FFFFH
0011FFFFH
0012FFFFH
0013FFFFH
0014FFFFH
CS4X(64K byte)
CS5X(64K byte)
000FFFFFH
001FFFFFH
CS1X(512 Kbyte)
CS0X(512 Kbyte)
CS2X(1 Mbyte)
CS3X(1 Mbyte)
002FFFFFH
003FFFFF
CS4X(1 Mbyte)
H
004FFFFF H
CS5X(1 Mbyte)
■ 外部バスのサイズ指定
各領域はレジスタの設定により , バス幅の任意指定が可能です。
領域 0 は , 設定初期化リセット (INIT), および動作初期化リセット (RST) 解除後は , モー
ドベクタフェッチによってモードベクタ (MODR) に書き込まれた設定値により , バス
サイズが指定されます。
248
第 8 章 外部バスインタフェース
外部バスインタフェースのレジスタ
8.2
外部バスインタフェースで使用するレジスタについて説明します。
■ 外部バスインタフェースのレジスタ一覧
表 8.2-1 に外部バスインタフェースのレジスタ一覧を示します。
表 8.2-1 外部バスインタフェースのレジスタ一覧
アドレス
ビット 31 ∼ 24
ビット 23 ∼ 16
ビット 15 ∼ 8
ビット 7 ∼ 0
00000640H
ASR0(Area Select Reg.0)
AMR0(Area Mode Reg.0)
00000644H
ASR1(Area Select Reg.1)
AMR1(Area Mode Reg.1)
00000648H
ASR2(Area Select Reg.2)
AMR2(Area Mode Reg.2)
0000064CH
ASR3(Area Select Reg.3)
AMR3(Area Mode Reg.3)
00000650H
ASR4(Area Select Reg.4)
AMR4(Area Mode Reg.4)
00000654H
ASR5(Area Select Reg.5)
AMR5(Area Mode Reg.5)
00000658H
ASR6(Area Select Reg.6)
AMR6(Area Mode Reg.6)
0000065CH
ASR7(Area Select Reg.7)
AMR7(Area Mode Reg.7)
00000660H
AMD0
AMD1
AMD2
AMD3
00000664H
AMD4
AMD5
AMD6
AMD7
00000668H
CSE
-
-
-
00000670H
CHE
-
-
-
000007FCH
-
MODR
-
-
ASR
AMR
AMD
CSE
CHE
MODR
(Area Select Register)
(Area Mask Register)
(Area Mode Register)
(Chip Select Enable Register)
(CacHe Enable Register)
(MODe Register)
249
第 8 章 外部バスインタフェース
■ 領域選択レジスタ (ASR0 ∼ ASR7)
図 8.2-1 に領域選択レジスタ (ASR0 ∼ ASR7) の構成を示します。
図 8.2-1 領域選択レジスタ (ASR0 ∼ ASR7) の構成
初期値
ASR0
bit15
14
13
12
...
2
1
0
INIT 時
RST 時
アクセス
...
A18
A17
A16
0000H
0000H
W
00 0640H
A31
A30
A29
...
ASR1
bit15
14
13
12
...
2
1
0
INIT 時
RST 時
アクセス
00 0644H
A31
A30
A29
...
...
A18
A17
A16
0000H
xxxxH
W
ASR2
bit15
14
13
12
...
2
1
0
INIT 時
RST 時
アクセス
00 0648H
A31
A30
A29
...
...
A18
A17
A16
0000H
xxxxH
W
ASR3
bit15
14
13
12
...
2
1
0
INIT 時
RST 時
アクセス
...
A18
A17
A16
0000H
xxxxH
W
00 064CH
A31
A30
A29
...
ASR4
bit15
14
13
12
...
2
1
0
INIT 時
RST 時
アクセス
...
A18
A17
A16
0000H
xxxxH
W
00 0650H
A31
A30
A29
...
ASR5
bit15
14
13
12
...
2
1
0
INIT 時
RST 時
アクセス
00 0654H
A31
A30
A29
...
...
A18
A17
A16
0000H
xxxxH
W
ASR6
bit15
14
13
12
...
2
1
0
INIT 時
RST 時
アクセス
...
A18
A17
A16
0000H
xxxxH
W
00 0658H
A31
A30
A29
...
ASR7
bit15
14
13
12
...
2
1
0
INIT 時
RST 時
アクセス
00 065CH
A31
A30
A29
...
...
A18
A17
A16
0000H
xxxxH
W
内部ブート ROM のコード実行後 , ASR0 は "0x20", ASR7 は "0x10" に設定されます。
250
第 8 章 外部バスインタフェース
■ 領域マスクレジスタ (AMR0 ∼ AMR7)
図 8.2-2 に領域マスクレジスタ (AMR0 ∼ AMR7) の構成を示します。
図 8.2-2 領域マスクレジスタ (AMR0 ∼ AMR7) の構成
初期値
AMR0
bit15
14
13
12
...
2
1
0
INIT 時
RST 時
アクセス
...
A18
A17
A16
FFFFH
FFFFH
W
0000 0642H
A31
A30
A29
...
AMR1
bit15
14
13
12
...
2
1
0
INIT 時
RST 時
アクセス
0000 0646H
A31
A30
A29
...
...
A18
A17
A16
0000H
xxxxH
W
AMR2
bit15
14
13
12
...
2
1
0
INIT 時
RST 時
アクセス
0000 064AH
A31
A30
A29
...
...
A18
A17
A16
0000H
xxxxH
W
AMR3
bit15
14
13
12
...
2
1
0
INIT 時
RST 時
アクセス
...
A18
A17
A16
0000H
xxxxH
W
0000 064EH
A31
A30
A29
...
AMR4
bit15
14
13
12
...
2
1
0
INIT 時
RST 時
アクセス
...
A18
A17
A16
0000H
xxxxH
W
0000 0652H
A31
A30
A29
...
AMR5
bit15
14
13
12
...
2
1
0
INIT 時
RST 時
アクセス
0000 0656H
A31
A30
A29
...
...
A18
A17
A16
0000H
xxxxH
W
AMR6
bit15
14
13
12
...
2
1
0
INIT 時
RST 時
アクセス
...
A18
A17
A16
0000H
xxxxH
W
0000 065AH
A31
A30
A29
...
AMR7
bit15
14
13
12
...
2
1
0
INIT 時
RST 時
アクセス
0000 065EH
A31
A30
A29
...
...
A18
A17
A16
0000H
xxxxH
W
<注意事項>
内部ブート ROM のコード実行後 , AMR0 は "0x0F", AMR7 は "0x00" に設定されま
す。
ASR0 ∼ ASR7( 領域選択レジスタ ) と AMR0 ∼ AMR7( 領域マスクレジスタ ) は , チッ
プセレクト領域 0 ∼ 7 のアドレス空間の範囲を指定します。
ASR0 ∼ ASR7 はアドレスの上位 16 ビット A31 ∼ A16 を指定し , AMR0 ∼ AMR7 で対
応するアドレスビットをマスクします。AMR0 ∼ AMR7 の各ビットは "0" で care, "1"
で don't care を示します。care とは ASR の設定値が "0" の場合は "0", "1" の場合は "1"
としてアドレス空間を示し , don't care の場合には ASR の設定値にかかわらず , "0", "1"
両方の場合のアドレス空間を示します。
ASR0, AMR0 はリセット時に初期化され , アドレス空間の全領域が領域 0 の指定となり
ます。
ASR1 ∼ ASR7, AMR1 ∼ AMR7 は INIT 時に初期化されます。リセット時は , 前の値が
保持されます。
251
第 8 章 外部バスインタフェース
以下に , ASR と AMR の組合せによる , 各チップ選択領域指定の例を示します。
( 例 1)
ASR1 = 00000000 00000011B
AMR1 = 00000000 00000000B
を設定した場合 , ASR1 に "1" を設定したビットに対応する AMR1 のビットは "0" であ
るため , その領域 1 のアドレス空間は ,
00000000 00000011 00000000 00000000 B
~
00000000 00000011 11111111 11111111 B
(00030000 H)
(0003FFFF H )
の 64K バイトになります。
( 例 2)
ASR2 = 00001111 11111111B
AMR2 = 00000000 00000011B
を設定した場合 , AMR2 に "0" を設定したビットに対応する ASR2 の設定値は "1", "0"
をそのまま care し , AMR2 に "1" を設定したビットに対応する ASR2 のビットは , "0",
または "1" の don't care になることから , 領域 2 のアドレス空間は ,
00001111 11111100 00000000 00000000 B
~
(0FFC0000H )
00001111 11111111 11111111 11111111 B
(0FFFFFFF H )
の 256K バイトになります。
領域 1 ∼ 5 の各領域のアドレス空間は , ASR1 ∼ ASR5 と AMR1 ∼ AMR5 で , 4G バイ
トの空間に最小 64K バイト単位で任意に配置することができます。これらのレジスタ
によって指定された領域に対してバスアクセスを行うと , 対応するチップセレクト端
子 (CS0X ∼ CS7X) が Low 出力となります。
なお , リセット時は , 領域 0 がすべての領域に割り当てられます。
連続領域が必要な場合 , 最大のチップセレクト領域も存在します。次の表に例を示しま
す。
表 8.2-2 最大のチップ選択領域の設定例
ASR
<注意事項>
252
AMR
CS 領域
0020H
001FH
1 M バイト : 0020:0000H ∼ 002F:FFFFH
0200H
01FFH
16 M バイト : 0200:0000H ∼ 02FF:FFFFH
2000H
1FFFH
256 M バイト : 2000:0000H ∼ 2FFF:FFFFH
チップセレクト領域は , お互いにオーバラップしないように設定してください。
各チップセレクト領域をオーバラップさせた場合は , 領域番号の小さい方が優先と
なります。チップセレクト信号は両方ともアクティブになりますが , 領域番号の小
さいバス幅 , 自動ウェイトサイクル , RDY 許可の設定が使用されます。
第 8 章 外部バスインタフェース
図 8.2-3 にチップセレクト領域の初期値 , および例 1, 例 2 の配置を示します。
図 8.2-3 チップセレクト領域の初期値 , および例 1, 例 2 の配置
(例1, 例2の配置)
(初期値)
00000000 H
00000000 H
00030000 H
00040000 H
0FFC0000 H
領域 0
10000000 H
FFFFFFFF H
FFFFFFFF H
領域 1
64 Kバイト(例1)
領域 2
256 Kバイト(例2)
■ 領域モードレジスタ (AMD0 ∼ AMD7)
AMD0 ∼ AMD7 は , 各チップセレクト領域でのメモリアクセス動作モードを指定しま
す。
● AMD0 レジスタ
AMD0 レジスタは , チップセレクト領域 0 の動作モードを指定します。リセット時は
領域 0 が全領域に選択されます。
下図に領域モードレジスタ (AMD0) のビット構成を示します。
AMD0
初期値
bit
0000 0660H
7
6
5
4
予約 RDYE BW1
−
3
2
1
0
INIT 時
アクセス
RST 時
BW0 WTC2 WTC1 WTC0 -0000111B -00xx111B
R/W
内部ブート ROM のコード実行後 , このレジスタは "0x11" に設定されます。
[bit6] (reserved)
予約ビットです。
通常使用時には , 必ず "0" を設定してください。
[bit5] RDYE(ReaDY input Enable bit): RDY 入力許可ビット
RDYE ビットは , 領域 0 に対する RDY 入力を以下のように制御します。
RDYE
機能
0
RDY 入力を無効にする ( 初期値 )
1
RDY 入力を有効にする
[bit4, bit3] BW1, BW0(Bus Width bit): バス幅ビット
BW1, および BW0 ビットは , 領域 0 のバス幅を指定します。
ただし , INIT 解除後 , モードを取り込んだ値 ( モードレジスタの WTH ビット ) が
モードの取込み直後に BW ビットに反映されます。
253
第 8 章 外部バスインタフェース
BW1
BW0
バス幅
0
0
8 ビット
0
1
16 ビット
1
0
32 ビット
1
1
予約
[bit2 ∼ bit0] WTC2 ∼ WTC0(Wait Cycle bit):
WTC2 ∼ WTC0 ビットは , 通常のバスインタフェース動作時における自動ウェイト
の挿入回数を指定します。
AMD0 レジスタの WTC2 ∼ WTC0 ビットはリセット時に "111" に設定され , リセッ
ト解除直後のバスアクセスでは自動的に 7 サイクルのウェイトが実行されます。
WTC2
WTC1
WTC0
挿入ウェイトサイクル数
0
0
0
0
0
0
1
1
0
1
0
2
0
1
1
3
1
0
0
4
1
0
1
5
1
1
0
6
1
1
1
7( 初期値 )
● AMD1 レジスタ
AMD1 レジスタは , チップセレクト領域 1(ASR1 レジスタと AMR1 レジスタで指定さ
れた領域 ) の動作モードを指定します。
下図に領域モードレジスタ (AMD1) のビット構成を示します。
AMD1
初期値
bit
0000 0661H
7
−
6
5
4
予約 RDYE BW1
3
2
1
0
RST 時
BW0 WTC2 WTC1 WTC0 -0000000B -xxxxxxxB
[bit6] (reserved)
予約ビットです。
通常使用時には , 必ず "0" を設定してください。
254
INIT 時
アクセス
R/W
第 8 章 外部バスインタフェース
[bit5] RDYE(ReaDY input Enable bit)
RDYE ビットは , 領域 1 に対する RDY 入力を下表のように制御します。
RDYE
機能
0
RDY 入力を無効にする
1
RDY 入力を有効にする
[bit4, bit3] BW1, BW0(Bus Width bit)
BW1, BW0 ビットは , 領域 1 のバス幅を指定します。
BW1
BW0
バス幅
0
0
8 ビット
0
1
16 ビット
1
0
32 ビット
1
1
予約
[bit2 ∼ bit0] WTC2 ∼ WTC0(Wait Cycle bit)
WTC2 ∼ WTC0 ビットは , 通常バスインタフェース , 自動ウェイトの挿入回数を指
定します。動作は AMD0 レジスタの WTC2 ∼ WTC0 ビットと同様ですが , 設定初
期化リセットで "000" に初期化され , 挿入されるウェイトサイクル数は "0" になり
ます。
本品種は , 時分割入出力インタフェースをサポートしていません。
<注意事項>
● AMD2 レジスタ
AMD2 レジスタは , チップセレクト領域 2 の動作モードを指定します。
下図に領域モードレジスタ (AMD2) のビット構成を示します。
AMD2
初期値
bit
0000 0662H
7
6
−
−
5
4
RDYE BW1
3
2
1
0
INIT 時
アクセス
RST 時
BW0 WTC2 WTC1 WTC0 --000000B --xxxxxxB
R/W
[bit5] RDYE(ReaDY input Enable bit)
RDYE ビットは , 領域 2 に対する RDY 入力を以下のように制御します。
RDYE
機能
0
RDY 入力を無効にする
1
RDY 入力を有効にする
255
第 8 章 外部バスインタフェース
[bit4, bit3] BW1, BW0(Bus Width bit)
BW1, BW0 ビットは , 領域 2 のバス幅を指定します。
BW1
BW0
バス幅
0
0
8 ビット
0
1
16 ビット
1
0
32 ビット
1
1
予約
[bit2 ∼ bit0] WTC2 ∼ WTC0(Wait Cycle bit)
WTC2 ∼ WTC0 レジスタは , 通常のバスインタフェース動作時における自動ウェイ
トの挿入回数を指定します。
他の AMD レジスタの WTC2 ∼ WTC0 ビットと同様の機能を持ち , 設定初期化リ
セット (INIT) で "000" に初期化され , 挿入ウェイトサイクル数は "0" になります。
WTC2
WTC1
WTC0
挿入ウェイトサイクル数
0
0
0
0
0
0
1
1
0
1
0
2
0
1
1
3
1
0
0
4
1
0
1
5
1
1
0
6
1
1
1
7
● AMD3 レジスタ
AMD3 レジスタは , チップセレクト領域 3 の動作モードを指定します。
下図に領域モードレジスタ (AMD3) のビット構成を示します。
AMD3
初期値
bit
0000 0663H
256
7
−
6
−
5
4
RDYE BW1
3
2
1
0
INIT 時
アクセス
RST 時
BW0 WTC2 WTC1 WTC0 --000000B --xxxxxxB
R/W
第 8 章 外部バスインタフェース
[bit5] RDYE(ReaDY input Enable bit)
RDYE ビットは , 領域 3 に対する RDY 入力を以下のように制御します。
RDYE
機能
0
RDY 入力を無効にする
1
RDY 入力を有効にする
[bit4, bit3] BW1, BW0(Bus Width bit)
BW1, BW0 ビットは , 領域 3 のバス幅を指定します。
BW1
BW0
バス幅
0
0
8 ビット
0
1
16 ビット
1
0
32 ビット
1
1
予約
[bit2 ∼ bit0] WTC2 ∼ WTC0(Wait Cycle bit)
WTC2 ∼ WTC0 ビットは , 通常のバスインタフェース動作時における自動ウェイト
の挿入回数を指定します。
他の AMD レジスタの WTC2 ∼ WTC0 ビットと同様の機能を持ち , 設定初期化リ
セット (INIT) で "000" に初期化され , 挿入ウェイトサイクル数は "0" になります。
WTC2
WTC1
WTC0
挿入ウェイトサイクル数
0
0
0
0
0
0
1
1
0
1
0
2
0
1
1
3
1
0
0
4
1
0
1
5
1
1
0
6
1
1
1
7
257
第 8 章 外部バスインタフェース
● AMD4 レジスタ
AMD4 レジスタは , チップセレクト領域 4 の動作モードを指定します。
下図に領域モードレジスタ (AMD4) のビット構成を示します。
AMD4
初期値
bit
0000 0664H
7
6
−
−
5
4
RDYE BW1
アクセス
3
2
1
0
INIT 時
RST 時
BW0 WTC2 WTC1 WTC0 --000000B --xxxxxxB
R/W
[bit5] RDYE(ReaDY input Enable bit)
RDYE ビットは , 領域 4 に対する RDY 入力を以下のように制御します。
RDYE
機能
0
RDY 入力を無効にする
1
RDY 入力を有効にする
[bit4, bit3] BW1, BW0(Bus Width bit)
BW1, BW0 ビットは , 領域 4 のバス幅を指定します。
BW1
BW0
バス幅
0
0
8 ビット
0
1
16 ビット
1
0
32 ビット
1
1
予約
[bit2 ∼ bit0] WTC2 ∼ WTC0(Wait Cycle bit)
WTC2 ∼ WTC0 ビットは , 通常のバスインタフェース動作時における自動ウェイト
の挿入回数を指定します。
他の AMD レジスタの WTC2 ∼ WTC0 ビットと同様の機能を持ち , 設定初期化リ
セット (INIT) で "000" に初期化され , 挿入ウェイトサイクル数は "0" になります。
258
WTC2
WTC1
WTC0
挿入ウェイトサイクル数
0
0
0
0
0
0
1
1
0
1
0
2
0
1
1
3
1
0
0
4
1
0
1
5
1
1
0
6
1
1
1
7
第 8 章 外部バスインタフェース
● AMD5 レジスタ
AMD5 レジスタは , チップセレクト領域 5 の動作モードを指定します。
下図に領域モードレジスタ (AMD5) のビット構成を示します。
AMD5
初期値
bit
0000 0665H
7
6
−
−
5
4
RDYE BW1
3
2
1
0
INIT 時
アクセス
RST 時
BW0 WTC2 WTC1 WTC0 --000000B --xxxxxxB
R/W
[bit5] RDYE(ReaDY input Enable bit)
RDYE ビットは , 領域 5 に対する RDY 入力を以下のように制御します。
RDYE
機能
0
RDY 入力を無効にする
1
RDY 入力を有効にする
[bit4, bit3] BW1, BW0(Bus Width bit)
BW1, BW0 ビットは , 領域 5 のバス幅を指定します。
BW1
BW0
バス幅
0
0
8 ビット
0
1
16 ビット
1
0
32 ビット
1
1
予約
[bit2 ∼ bit0] WTC2 ∼ WTC0(Wait Cycle bit)
WTC2 ∼ WTC0 ビットは , 通常のバスインタフェース動作時における自動ウェイト
の挿入の回数を指定します。
他の AMD レジスタの WTC2 ∼ WTC0 ビットと同様の機能を持ち , 設定初期化リ
セット (INIT) で "000" に初期化され , 挿入ウェイトサイクル数は "0" になります。
WTC2
WTC1
WTC0
挿入ウェイトサイクル数
0
0
0
0
0
0
1
1
0
1
0
2
0
1
1
3
1
0
0
4
1
0
1
5
1
1
0
6
1
1
1
7
259
第 8 章 外部バスインタフェース
● AMD6 レジスタ
AMD6 レジスタは , チップセレクト領域 6(ASR6 レジスタと AMR6 レジスタで指定し
た領域 ) の動作モードを指定します。
下図に領域モードレジスタ (AMD6) のビット構成を示します。
AMD6
初期値
bit
0000 0666H
7
6
−
−
5
4
RDYE BW1
3
2
1
0
INIT 時
アクセス
RST 時
BW0 WTC2 WTC1 WTC0 --000000B --xxxxxxB
R/W
[bit6] (reserved)
予約ビットです。通常使用時には , 必ず "0" を書き込んでください。
[bit5] RDYE(ReaDY input Enable bit)
RDYE ビットは , 領域 6 に対する RDY 入力を以下のように制御します。
RDYE
機能
0
RDY 入力を無効にする
1
RDY 入力を有効にする
[bit4, bit3] BW1, BW0(Bus Width bit)
BW1, BW0 ビットは , 領域 6 のバス幅を指定します。
BW1
BW0
バス幅
0
0
8 ビット
0
1
16 ビット
1
0
32 ビット
1
1
予約
[bit2 ∼ bit0] WTC2 ∼ WTC0(Wait Cycle bit)
WTC2 ∼ WTC0 ビットは , 領域 6 のメモリアクセス時の自動挿入ウェイトサイクル数
を指定します。他の AMD レジスタの WTC2 ∼ WTC0 ビットと同様の機能を持ち , リ
セットで "000" に初期化され , 挿入ウェイトサイクル数は "0" になります。
● AMD7 レジスタ
内部ブート ROM のコード実行後 , このレジスタは "0x29" に設定されます。
AMD7 レジスタは , チップセレクト領域 7(ASR7 レジスタと AMR7 レジスタで指定さ
れた領域 ) のバスモードを指定します。
各ビットは AMD6 レジスタと同様の意味を持ちます。
AMD7
初期値
bit
0000 0667H
260
7
6
−
−
5
4
RDYE BW1
3
2
1
アクセス
0
INIT 時
RST 時
--000000
--xxxxxx
BW0 WTC2 WTC1 WTC0
B
B
R/W
第 8 章 外部バスインタフェース
■ キャッシュ許可レジスタ (CHE): CacHe Enable register
下図にキャッシュ許可レジスタ (CHE) のビット構成を示します。
bit
0000 0670H
15
14
13
12
11
10
9
8
初期値 アクセス
CHE7 CHE6 CHE5 CHE4 CHE3 CHE2 CHE1 CHE0 11111111B R/W
[bit15 ∼ bit8]
CS0 ∼ CS7 の各領域のキャッシュ / 非キャッシュ領域の指定をします。
0: 非キャッシュ領域
1: キャッシュ領域
CHE のビット
対応する CS
CHE0
CS0
CHE1
CS1
CHE2
CS2
CHE3
CS3
CHE4
CS4
CHE5
CS5
CHE6
CS6
CHE7
CS7
CHE0 ビットが CS0 領域に対応 , CHE1 ビットが CS1 領域に対応となっています。
また , 非キャッシュ領域指定とキャッシュ領域指定がオーバラップした場合 , 非
キャッシュ領域指定が優先されます。
261
第 8 章 外部バスインタフェース
■ チップセレクト許可レジスタ (CSE): Chip Select Enable register
下図にチップセレクト許可レジスタ (CSE) のビット構成を示します。
bit
0000 0668H
15
14
13
12
11
10
9
8
初期値 アクセス
CSE7 CSE6 CSE5 CSE4 CSE3 CSE2 CSE1 CSE0 00000001B R/W
内部ブート ROM のコード実行後 , このレジスタは "0x81" に設定されます。
[bit15 ∼ bit8]
CS0 ∼ CS7 のチップセレクトの領域許可ビットです。
初期値は , 00000001B で CSE0 ビットのみ許可となっています。
"1"を書き込むことにより, ASR0∼ASR7, AMR0∼AMR7の設定が有効になります。
CSE0 ∼ CSE7
ASR0 ∼ ASR7, AMR0 ∼ AMR7 の設定
0
禁止
1
許可
CSE のビット
対応する CS
CSE0
CS0
CSE1
CS1
CSE2
CS2
CSE3
CS3
CSE4
CS4
CSE5
CS5
CSE6
CS6
CSE7
CS7
CSE0 ビットが CS0 領域に対応 , CSE1 ビットが CS1 領域に対応しています。
■ モードレジスタ (MODR): MODe Register
「2.10.3 フィックスベクタ」の項を参照してください。
262
第 8 章 外部バスインタフェース
外部バスの仕様
8.3
外部バスの仕様について説明します。
■ データバス幅と制御信号との関係
WR0X ∼ WR3X の制御信号は , ビッグエンディアン / リトルエンディアンやデータバ
ス幅に関係なくデータバスのバイト位置に常に 1 対 1 に対応します。
● 通常バスインタフェース
図 8.3-1 にバスモード別に , 設定されたデータバス幅で使用される MB91360 シリーズ
のデータバスのバイト位置とそれに対応する制御信号との関係をまとめます。
図 8.3-1 データバスのバイト位置と対応する制御信号の関係
a) 32ビットバス幅
データバス
制御信号
b) 16ビットバス幅
データバス
制御信号
D31
D31
b) 8ビットバス幅
データバス
制御信号
D31
: WR0X
: WR0X
: WR0X
D24
: WR1X
: WR1X
-
: -
: -
-
: -
D16
: WR2X
: WR3X
D0
-
: (D15~D0は未使用)
: (D23~D0は未使用)
■ ビッグエンディアン方式のバスアクセス
FR50 は , 通常ビッグエンディアンで外部アクセスを行います。
263
第 8 章 外部バスインタフェース
■ データフォーマット
データフォーマットには , アクセス方法によってワードアクセス , ハーフワードアクセ
ス , およびバイトアクセスの 3 種類があります。
各アクセス方法における , 内部レジスタと外部データバスとの関係を以下に示します。
● ワードアクセス (LD, ST 命令実行時 )
内部レジスタ
外部バス
D31
D31
AA
AA
BB
BB
D23
D23
D15
D15
CC
CC
D07
D07
DD
DD
● ハーフワードアクセス (LDUH, STH 命令実行時 )
a) 出力アドレス下位 00
b) 出力アドレス下位 10
内部レジスタ
内部レジスタ
外部バス
D31
外部バス
D31
D31
D31
D23
D23
D23
D15
D15
AA
D23
BB
D15
AA
D07
D15
AA
D07
BB
AA
D07
D07
BB
BB
● バイトアクセス (LDUB, STB 命令実行時 )
a) 出力アドレス下位 00
b) 出力アドレス下位 01
c) 出力アドレス下位 10
d) 出力アドレス下位 11
内部レジスタ 外部バス
内部レジスタ 外部バス
内部レジスタ 外部バス
内部レジスタ 外部バス
D31
D31
D31
D31
D31
D31
D31
AA
D23
D23
D23
D23
D23
D23
D23
AA
D15
D15
D15
D15
D15
D15
D15
AA
D07
D07
D07
D07
D07
D07
D07
AA
AA
AA
AA
AA
264
D31
D23
D15
D07
第 8 章 外部バスインタフェース
■ データバス幅
データバス幅は , 32 ビット , 16 ビット , および 8 ビットの 3 種類あります。
それぞれのバス幅における , 内部レジスタと外部バスとの関係を以下に示します。
● 32 ビットバス幅
外部バス
内部レジスタ
D31
AA
AA
D31
D23
BB
BB
D23
D15
CC
CC
D15
D07
DD
DD
D07
読出し/書込み
● 16 ビットバス幅
内部レジスタ
外部バス
出力アドレス下位
D31
AA
D23
BB
D15
CC
D07
DD
読出し/書込み
"00"
"01"
AA
CC
D31
BB
DD
D23
● 8 ビットバス幅
内部レジスタ
外部バス
出力アドレス下位
読出し/書込み
D31
AA
D23
BB
D15
CC
D07
DD
"00"
"01"
"10"
"11"
AA
BB
CC
DD
D31
265
第 8 章 外部バスインタフェース
■ 外部バスアクセス
外部バスアクセスのまとめとして , ここではバイトポジション , プログラムアドレスと
出力アドレス , 32 ビット /16 ビット /8 ビットバス幅のバスアクセス回数とワード / ハー
フワード / バイトアクセスについて説明します。
PA1/PA0
プログラムで指定したアドレス下位2ビット
出力A1/A0
出力するアドレスの下位2ビット
出力するアドレスの先頭バイト位置
+
アクセスするデータバイト位置
①~④
バスアクセス回数
したがって , ワードアクセスの場合には , プログラムで指定したアドレス下位 2 ビット
が "00", "01", "10", "11" であっても , 出力するアドレスの下位 2 ビットはすべて "00" と
なり , ハーフワードアクセスの場合には "00", "01" のときには 00 に , "10", "11" のとき
には "10" になります。
● 32 ビットバス幅
• ワードアクセスの場合
(a) PA1/PA0=00
①出力A1/A0=00
MSB
(b) PA1/PA0=01
①出力A1/A0=00
(c) PA1/PA0=10
①出力A1/A0=00
LSB
1
1
1
00
(d) PA1/PA0=11
①出力A1/A0=00
01 10
11
00
01 10
11
1
00
01
10
11
00
01 10
11
32bit
• ハーフワードアクセスの場合
(a) PA1/PA0=00
①出力A1/A0=00
(b) PA1/PA0=01
①出力A1/A0=00
1
(c) PA1/PA0=10
①出力A1/A0=10
1
00
01 10
11
(d) PA1/PA0=11
①出力A1/A0=10
1
00
01 10
11
1
00
01
10
11
00
01 10
11
• バイトアクセスの場合
(a) PA1/PA0=00
①出力A1/A0=00
(b) PA1/PA0=01
①出力A1/A0=01
1
1
00
266
01 10
11
(c) PA1/PA0=10
①出力A1/A0=10
(d) PA1/PA0=11
①出力A1/A0=11
1
00
01 10
11
1
00
01
10
11
00
01 10
11
第 8 章 外部バスインタフェース
● 16 ビットバス幅
• ワードアクセスの場合
(a) PA1/PA0=00
①出力A1/A0=00
②出力A1/A0=10
MSB
(b) PA1/PA0=01
①出力A1/A0=00
②出力A1/A0=10
(c) PA1/PA0=10
①出力A1/A0=00
②出力A1/A0=10
(d) PA1/PA0=11
①出力A1/A0=00
②出力A1/A0=10
LSB
1
00
01
1
00
01
1
00
01
1
00
01
2
10
11
2
10
11
2
10
11
2
10
11
16bit
• ハーフワードアクセスの場合
(a) PA1/PA0=00
①出力A1/A0=00
1
00
01
10
11
(b) PA1/PA0=01
①出力A1/A0=00
1
00
01
10
11
(c) PA1/PA0=10
①出力A1/A0=10
1
(d) PA1/PA0=11
①出力A1/A0=10
00
01
10
11
1
00
01
10
11
• バイトアクセスの場合
(a)PA1/PA0=00
1
00
01
10
11
(c)PA1/PA0=10
(b)PA1/PA0=01
①出力A1/A0=00
①出力A1/A0=01
1
00
01
10
11
(d)PA1/PA0=11
①出力A1/A0=10
1
①出力A1/A0=11
00
01
10
11
1
00
01
10
11
267
第 8 章 外部バスインタフェース
● 8 ビットバス幅
• ワードアクセスの場合
(a) PA1/PA0=00
①出力A1/A0=00
②出力A1/A0=01
③出力A1/A0=10
④出力A1/A0=11
(b) PA1/PA0=01
①出力A1/A0=00
②出力A1/A0=01
③出力A1/A0=10
④出力A1/A0=11
(c) PA1/PA0=10
①出力A1/A0=00
②出力A1/A0=01
③出力A1/A0=10
④出力A1/A0=11
(d) PA1/PA0=11
①出力A1/A0=00
②出力A1/A0=01
③出力A1/A0=10
④出力A1/A0=11
LSB
MSB
1
00
1
00
1
00
1
00
2
01
2
01
2
01
2
01
3
10
3
10
3
10
3
10
4
11
4
11
4
11
4
11
8bit
• ハーフワードアクセスの場合
(a) PA1/PA0=00
①出力A1/A0=00
②出力A1/A0=01
(b) PA1/PA0=01
①出力A1/A0=00
②出力A1/A0=01
(c) PA1/PA0=10
①出力A1/A0=10
②出力A1/A0=11
(d) PA1/PA0=11
①出力A1/A0=10
②出力A1/A0=11
1
00
1
00
00
00
2
01
2
01
01
01
10
10
1
10
1
10
11
11
2
11
2
11
• バイトアクセスの場合
(a) PA1/PA0=00
①出力A1/A0=00
1
00
01
268
(b) PA1/PA0=01
①出力A1/A0=01
1
(c) PA1/PA0=10
①出力A1/A0=10
(d) PA1/PA0=11
①出力A1/A0=11
00
00
00
01
01
01
10
10
10
10
11
11
1
11
1
11
第 8 章 外部バスインタフェース
■ 外部デバイスとの接続例
8 ビット , 16 ビット , および 32 ビットの外部デバイスと接続する場合のデータバスの
接続例を , 図 8.3-2 に示します。
図 8.3-2 外部デバイスとの接続例
MB91360シリーズ
W
D31 R
| 0
D24 X
00
D31
W
D23 R
| 1
D16 X
01
W
D15 R
| 2
D08 X
W
D07 R
| 3
D00 X
10
D24D23 D16D15 D08D07
* 16ビット/8ビットデバイスの場合は,
MB91360シリーズのMSB側のデータバス
を使用します。
11
0
D00
32ビットデバイス
("00"~"11" アドレス下位2ビット)
D15
1
D08D07
0
D00
D07
D00
* 16ビットデバイス
* 8ビットデバイス
("0"/"1" アドレス下位1ビット)
269
第 8 章 外部バスインタフェース
8.4
外部バスアクセス
データバス幅 , およびワード幅におけるバスアクセスについて , 詳細に説明します。
■ ワードアクセス
ワードアクセスにおける , データバス幅が 32 ビット , 16 ビット , および 8 ビットでの
内部レジスタと外部データバス ( 外部端子 ) との対応を , 表 8.4-1 に示します。
表 8.4-1 ワードアクセスにおける内部レジスタと外部端子の対応 )
ビッグエンディアンモード
内部レジスタ
外部端子
制御端子
アドレス下位2ビット:"0"
D31
D31
AA
AA
WR0X
BB
BB
WR1X
CC
CC
WR2X
DD
WR3X
32 ビットバス幅
DD
D00
D00
内部レジスタ
D31
16 ビットバス幅
1
外部端子
アドレス: "0"
D31
AA
AA
BB
CC
D16
DD
制御端子
"2"
CC
WR0X
BB
DD
WR1X
-
-
-
-
-
-
1
2
D00
内部レジスタ
D31
8 ビットバス幅
D00
270
外部端子
アドレス: "0"
D31
AA
AA
制御端子
"1" "2" "3"
BB
CC
DD
WR0X
BB
D24
-
-
-
-
-
CC
-
-
-
-
-
DD
-
-
-
-
-
1
2
3
4
第 8 章 外部バスインタフェース
■ ハーフワードアクセス
ハーフワードアクセスにおける , データバス幅が 32 ビット , 16 ビット , および 8 ビッ
トでの内部レジスタと外部データバス ( 外部端子 ) との対応を , 表 8.4-2 に示します。
表 8.4-2 ハーフワードアクセスにおける内部レジスタと外部端子の対応 (1 / 2)
ビッグエンディアンモード
内部レジスタ
外部端子
アドレス:
D31
D31
制御端子
"0"
AA
WR0X
BB
WR1X
AA
-
BB
-
D00
D00
1
32 ビットバス幅
内部レジスタ
外部端子
アドレス:
D31
制御端子
"0"
D31
-
D00
CC
CC
WR2X
DD
DD
WR3X
D00
1
271
第 8 章 外部バスインタフェース
表 8.4-2 ハーフワードアクセスにおける内部レジスタと外部端子の対応 (2 / 2)
ビッグエンディアンモード
内部レジスタ
外部端子
制御端子
アドレス:
"0"
D31
D31
AA
WR0X
BB
WR1X
AA
D16 -
-
BB
-
-
D00
1
16 ビットバス幅
内部レジスタ
外部端子
アドレス:
D31
"2"
D31
CC
WR0X
DD
WR1X
CC
D16 -
-
DD
-
-
D00
1
内部レジスタ
D31
制御端子
外部端子
アドレス: "0" "1"
D31
AA
BB
D24
制御端子
WR0X
-
-
-
AA
-
-
-
BB
-
-
-
1
2
D00
8 ビットバス幅
内部レジスタ
D31
外部端子
アドレス: "2" "3"
D31
CC
DD
-
-
-
-
-
-
-
-
1
2
DD
272
WR0X
D24
CC
D00
制御端子
D00
第 8 章 外部バスインタフェース
■ バイトアクセス
バイトアクセスにおける , データバス幅が 32 ビット , 16 ビット , および 8 ビットでの
内部レジスタと外部データバス ( 外部端子 ) との対応を , 表 8.4-3 に示します。
表 8.4-3 バイトアクセスにおける内部レジスタと外部端子の対応 (1 / 3)
ビッグエンディアンモード
内部レジスタ
外部端子
制御端子
アドレス: "0"
D31
D31
AA
WR0X
-
AA
D00
D00
1
内部レジスタ
外部端子
制御端子
アドレス: "1"
D31
D31
BB
WR1X
-
BB
D00
D00
1
32 ビットバス幅
内部レジスタ
外部端子
制御端子
アドレス: "2"
D31
D31
CC
WR2X
CC
D00
D00
1
内部レジスタ
外部端子
制御端子
アドレス: "3"
D31
D31
DD
D00
DD
WR3X
D00
1
273
第 8 章 外部バスインタフェース
表 8.4-3 バイトアクセスにおける内部レジスタと外部端子の対応 (2 / 3)
ビッグエンディアンモード
内部レジスタ
外部端子
制御端子
アドレス: "0"
D31
D31
AA
WR0X
-
D16
-
AA
-
D00
1
内部レジスタ
外部端子
制御端子
アドレス: "1"
D31
D31
BB
WR1X
D16
-
BB
-
D00
1
16 ビットバス幅
内部レジスタ
外部端子
制御端子
アドレス: "2"
D31
D31
CC
WR0X
-
D16
-
CC
-
D00
1
内部レジスタ
外部端子
制御端子
アドレス: "3"
D31
D31
DD
D16
-
DD
-
D00
1
274
WR1X
第 8 章 外部バスインタフェース
表 8.4-3 バイトアクセスにおける内部レジスタと外部端子の対応 (3 / 3)
ビッグエンディアンモード
内部レジスタ
外部端子
アドレス: "0"
D31
D31
AA
D24
制御端子
WR0X
-
AA
-
D00
1
内部レジスタ
外部端子
アドレス: "1"
D31
D31
BB
D24
制御端子
WR0X
-
BB
-
D00
1
8 ビットバス幅
内部レジスタ
外部端子
制御端子
アドレス:
"2"
D31
D31
CC
WR0X
D24
-
CC
D00
1
内部レジスタ
外部端子
アドレス: "3"
D31
D31
DD
D24
制御端子
WR0X
-
DD
-
D00
1
275
第 8 章 外部バスインタフェース
8.5
バス信号
バス信号について説明します。
表 8.5-1 に , バス信号一覧を示します。
表 8.5-1 バス信号一覧
信号
機能
CLKT の関連エッジ
リード
ライト
外部バス要求
A[31:0]
アドレス
立上りエッジ
出力
出力
Hi-Z
AH
テスト信号
−
出力 /0
出力 /0
出力 /0
*1
ALE
バス制御
−
出力 /0
出力 /0
出力 /0
*2
AS
アドレスストロボ
立上りエッジ
出力
出力
出力 /0
BGRNTX
バス要求認識
立上りエッジ
出力 /1
出力 /1
出力
BRQ
バス要求
立上りエッジ
入力
入力
入力
CLK
クロック
立上りエッジ
立下りエッジ
出力
出力
出力
CSnX
チップ選択
立上りエッジ
出力
出力
出力 /1
入力
出力
Hi-Z
ライト :
立上りエッジ
リード :
立下りエッジ
D[31:0]
データ
RDX
リード
立下りエッジ
出力
出力 /1
Hi-Z
RDY
レディ
立下りエッジ
入力
入力
入力
WR0X ∼
WR3X
ライト
立下りエッジ
出力 /1
出力
Hi-Z
備考
*1: 実行されないバス関連機能は I/O ポートで使用できます。
*2: マルチプレックス バス アクセス用バス制御ポート
( アドレスとデータは同じバスポートを使用しています。) MB91360 シリーズは使用不可。
初期機能 : 入力ポート (PFR9[1] 出力 /0 を設定後 )
276
第 8 章 外部バスインタフェース
バスの動作タイミング
8.6
各モードにおけるバスアクセスの動作を説明します。AC 特性の詳細な情報について
は , 「データシート」を参照してください。
■ 通常バスアクセス
通常バスインタフェースでは , 基本バスサイクルは , 読出しアクセスでも書込みアクセ
スでも 2 クロックサイクルです。
● 基本読出し / 書込みサイクル
図 8.6-1 に , バス幅が 32 ビットでワードアクセスによる場合の読出し , および書込みサ
イクルのタイミングを示します。
図 8.6-1 基本読出し / 書込みサイクルのタイミング
BA
BA
BA1
IDLE
BA2
BA1
BA2
BA
BA
BA
BA
CLK
AS
A[31:0]
Am
An
D[31:24]
Dn0
Dm0
D[23:16]
Dn1
Dm1
D[15:8]
Dn2
Dm2
D[7:0]
Dn3
Dm3
RDX
WR3X
WR2X
WR1X
WR0X
CSnX
CSmX
リードサイクル
アイドルサイクル
ライトサイクル
• CLK は内部クロックを出力します。
• AS はバスサイクル開始 (BA1) 期間のみ "L" を出力します。
• 外部 A31 ∼ A0 は , ワード / ハーフワード / バイトアクセスの先頭バイト位置のアド
レスをバスサイクルの開始から出力します。
• CS0X ∼ CS7X( チップセレクト領域 ) 信号の出力は , A31 ∼ A0 と同タイミングです。
• 読出しサイクルの場合は , 外部 RDX 出力信号の立上りで外部 D31 ∼ D0 入力を取り
込みます。
なお , 読出しサイクルの場合は , バス幅 , またはワード / ハーフワード / バイトアク
セスに関係なく , RDX 信号で外部 D31 ∼ D0 のすべてを取り込み , 取り込んだデー
タが有効かどうかの判断は MB91360 シリーズ内部で行います。
277
第 8 章 外部バスインタフェース
• 書込みサイクルの場合は , バスサイクル開始 (BA1) から書込みデータを出力し , 各
データバスのバイト位置に対応する制御信号はWR0X, WR1X, WR2X, WR3Xで制御
します。
<注意事項>
278
次のページからの例は , 16 MHz の CPU(CLKB) および 4 MHz の外部バスインタ
フェース (CLKT) を動作条件としています。
また , CPU クロックとバスインタフェースクロックのクロック比 , および動作命令
に関連して挿入されるアイドルサイクルについては , 8.4.4 項を参照してください。
第 8 章 外部バスインタフェース
■ 32 ビットバス幅での動作
● 8 ビットアクセス
• 8 ビットリード− 8 ビットリード ( 連続アドレス ) の場合
図 8.6-2 に , 8 ビットリード− 8 ビットリード ( 連続アドレス ) の動作を示します。
図 8.6-2 8 ビットリード− 8 ビットリード ( 連続アドレス ) の動作
BA
BA
BA1
BA2
BA1
BA2
BA1
BA2
BA1
BA2
BA
BA
CLK
AS
A[31:0]
Am
An
D[31:24]
Dn0
Dn0
D[23:16]
X
Dn1
D[15:8]
X
X
D[7:0]
X
X
RDX
CSnX
CSmX
バイトアクセスの場合 , 最上位 8 ビット , 中上位 8 ビット , 中下位 8 ビット , 最下位
8 ビットのいずれかが使用されます。
• 8 ビットリード− 8 ビットリード ( 不連続アドレス ) の場合
図 8.6-3 に , 8 ビットリード− 8 ビットリード ( 不連続アドレス ) の動作を示します。
図 8.6-3 8 ビットリード− 8 ビットリード ( 不連続アドレス ) の動作
BA
BA
BA1
BA2
BA1
BA2
BA
BA
BA
BA
BA
BA
CLK
AS
A[31:0]
Am
An
D[31:24]
Dn0
Dm0
D[23:16]
X
X
D[15:8]
X
X
D[7:0]
X
X
RDX
CSnX
CSmX
279
第 8 章 外部バスインタフェース
• 8 ビットリード− 8 ビットライト ( 不連続アドレス ) の場合
図 8.6-4 に , 8 ビットリード− 8 ビットライト ( 不連続アドレス ) の動作を示します。
図 8.6-4 8 ビットリード− 8 ビットライト ( 不連続アドレス ) の動作
BA
BA
BA1
BA2
IDLE
BA1
BA2
CLK
AS
A[31:0]
An
Am
D[31:24]
Dn0
Dm0
D[23:16]
X
D[15:8]
X
D[7:0]
X
RDX
WRX[3]
WRX[2]
WRX[1]
WRX[0]
CSnX
CSmX
280
BA
BA
BA
BA
第 8 章 外部バスインタフェース
● 16 ビットアクセス
• 16 ビットリード− 16 ビットリード ( 連続アドレス ) の場合
図 8.6-5 に , 16 ビットリード− 16 ビットリード ( 連続アドレス ) の動作を示します。
図 8.6-5 16 ビットリード− 16 ビットリード ( 連続アドレス ) の動作
BA
BA
BA1
IDLE
BA2
BA1
BA
BA2
BA
BA
BA
BA
CLK
AS
A[31:0]
An
D[31:24]
Dn0
Dm0
D[23:16]
Dn1
Dm1
D[15:8]
X
X
D[7:0]
X
X
Am
RDX
CSnX
CSmX
• 16 ビットリード− 16 ビットリード ( 不連続アドレス ) の場合
図 8.6-6 に, 16ビットリード−16ビットリード (不連続アドレス)の動作を示します。
図 8.6-6 16 ビットリード− 16 ビットリード ( 不連続アドレス ) の動作
BA
BA
BA1
BA2
IDLE
BA1
BA2
BA
BA
BA
BA
BA
BA
CLK
AS
A[31:0]
Am
An
D[31:24]
Dn0
Dm0
D[23:16]
0n1
Dm1
D[15:8]
X
X
D[7:0]
X
X
RDX
CSnX
CSmX
281
第 8 章 外部バスインタフェース
• 16 ビットリード− 16 ビットライト ( 不連続アドレス ) の場合
図 8.6-7 に, 16ビットリード−16ビットライト (不連続アドレス)の動作を示します。
図 8.6-7 16 ビットリード− 16 ビットライト ( 不連続アドレス ) の動作
BA
BA
BA1
BA2
IDLE
BA1
BA2
CLK
AS
A[31:0]
An
Am
D[31:24]
Dn0
Dm0
D[23:16]
Dn1
Dm1
D[15:8]
X
D[7:0]
X
RDX
WRX[3]
WRX[2]
WRX[1]
WRX[0]
CSnX
CSmX
282
BA
BA
BA
BA
第 8 章 外部バスインタフェース
● 32 ビットアクセス
32 ビットバス幅の場合 , 外部 D0 ∼ D31 が使われます。
• 32 ビットリード− 32 ビットリード ( 不連続アドレス ) の場合
図 8.6-8 に, 32ビットリード−32ビットリード (不連続アドレス)の動作を示します。
図 8.6-8 32 ビットリード− 32 ビットリード ( 不連続アドレス ) の動作
BA
BA
BA1
BA2
IDLE
BA1
BA
BA2
BA
BA
BA
BA
CLK
AS
A[31:0]
An
D[31:24]
Dn0
Dm0
D[23:16]
Dn1
Dm1
D[15:8]
Dn2
Dm2
D[7:0]
Dn3
Dm3
Am
RDX
CSnX
CSmX
• 32 ビットリード− 32 ビットライト ( 不連続アドレス ) の場合
図 8.6-9 に, 32ビットリード−32ビットライト (不連続アドレス)の動作を示します。
図 8.6-9 32 ビットリード− 32 ビットライト ( 不連続アドレス ) の動作
BA
BA
BA1
BA2
IDLE
BA1
BA2
BA
BA
BA
BA
CLK
AS
A[31:0]
An
Am
D[31:24]
Dn0
Dm0
D[23:16]
Dn1
Dm1
D[15:8]
Dn2
Dm2
D[7:0]
Dn3
Dm3
RDX
WRX[3]
WRX[2]
WRX[1]
WRX[0]
CSnX
CSmX
283
第 8 章 外部バスインタフェース
■ 8 ビットバス幅での動作
● 8 ビットアクセス
• 8 ビットリード− 8 ビットリード ( 不連続アドレス ) の場合
図 8.6-10 に , 8 ビットリード− 8 ビットリード ( 不連続アドレス ) の動作を示します。
図 8.6-10 8 ビットリード− 8 ビットリード ( 不連続アドレス ) の動作
BA
BA
BA1
BA2
IDLE
BA1
BA2
BA
BA
BA
BA
BA
CLK
AS
Am
A[31:0]
An
D[31:24]
Dn0
Dm0
D[23:16]
X
X
D[15:8]
X
X
D[7:0]
X
X
RDX
CSnX
CSmX
8 ビットおよび 16 ビットバス幅の場合 , WR0X ∼ WR3X 信号 ( 未使用データバス )
が I/O ポート機能で使用できます。
端子バス幅
D31 ∼ D24 WR0X
D23 ∼ D16 WR1X
D15 ∼ D8 WR2X
D7 ∼ D0 WR3X
32 ビット
×
×
×
×
16 ビット
×
×
○
○
8 ビット
×
○
○
○
× : I/O ポート使用不可
○ : I/O ポート使用可能
<注意事項>
284
データバスと WR1X ∼ WR3X のどの端子を I/O ポートとして使用できるかは , 領
域 0 ∼ 5 の最大バス幅に依存します。たとえば , 領域 0 ∼ 7 のバス幅がすべて 8
ビットなら , D23 ∼ D0, および WR1X ∼ WR3X は I/O ポートとして使用すること
が可能です。しかし , たとえば領域 1 だけが 16 ビットで残りの領域がすべて 8
ビットの場合は , 16 ビットが最大バス幅なので 8 ビットの領域アクセス中でも D23 ∼
D16, WR1X は I/O ポートとして使用できません。
この場合は , D15 ∼ D0, および WR2X/WR3X が I/O ポートとして使用できます。
第 8 章 外部バスインタフェース
• 8 ビットリード− 8 ビットライト ( 不連続アドレス ) の場合
図 8.6-11 に , 8 ビットリード− 8 ビットライト ( 不連続アドレス ) の動作を示します。
図 8.6-11 8 ビットリード− 8 ビットライト ( 不連続アドレス ) の動作
BA
BA
BA1
IDLE
BA2
BA1
BA
BA2
BA
BA
BA
CLK
AS
A[31:0]
An
Am
D[31:24]
Dn0
Dm0
D[23:16]
X
D[15:8]
X
D[7:0]
X
RDX
WRX[3]
WRX[2]
WRX[1]
WRX[0]
CSnX
CSmX
バス幅が 8 ビットの場合 , D23 ∼ D0 への入力値は無視されます。
● 16 ビットアクセス
• 16 ビットリード− 16 ビットリード ( 不連続アドレス ) の場合
図 8.6-12 に, 16ビットリード−16ビットリード(不連続アドレス)の動作を示します。
図 8.6-12 16 ビットリード− 16 ビットリード ( 不連続アドレス ) の動作
BA
BA
BA1
BA2
IDLE
BA1
BA2
BA
BA
BA
BA
BA
CLK
AS
A[31:0]
An
An+1
D[31:24]
Dn0
Dn1
Am+1
Am
Dm0
Dm1
D[23:16]
X
X
X
X
D[15:8]
X
X
X
X
D[7:0]
X
X
X
X
RDX
CSnX
CSmX
アクセス幅がデータバス幅を超えるとき , アドレスは MSB から順にアクセスされま
す。
285
第 8 章 外部バスインタフェース
• 16 ビットリード− 16 ビットライト ( 不連続アドレス ) の場合
図 8.6-13 に, 16ビットリード−16ビットライト(不連続アドレス)の動作を示します。
図 8.6-13 16 ビットリード− 16 ビットライト ( 不連続アドレス ) の動作
BA
BA
BA1
BA2
IDLE
BA1
BA
BA2
BA
BA
CLK
AS
A[31:0]
An
An+1
Am
Am+1
Dm0
Dm1
D[31:24]
Dn0
Dn1
D[23:16]
X
X
D[15:8]
X
X
D[7:0]
X
X
RDX
WRX[3]
WRX[2]
WRX[1]
WRX[0]
CSnX
CSmX
バス幅が 16 ビットのとき , D15 ∼ D0 への入力値は無視されます。
■ アイドルサイクルでの動作
アイドルサイクルは , CLKT と CLKB の内部同期化のために発生します。
アイドルサイクル数は , クロック比とアクセスタイプに依存します。
表 8.6-1 に , 最小アイドルサイクル数を示します。
表 8.6-1 最小アイドルサイクル数
286
CLKB:CLKT
read/read
read/write
write/*
1:1
1
2
0
1:2
1
1
0
1:3
0
1
0
1:4
0
1
0
1:8+
0
0
0
BA
第 8 章 外部バスインタフェース
■ ウェイトサイクルの動作
ウェイトサイクルには , AMD の WTC による自動ウェイトサイクルと , 外部 RDY 端子
を使用する外部ウェイトサイクルがあります。
● 自動ウェイトサイクル
図 8.6-14 に , バス幅が 16 ビットでハーフワードアクセスによる読出し / 書込みにおけ
る自動ウェイトサイクルのタイミングを示します。
図 8.6-14 自動ウェイトサイクルのタイミング
BA1
BA1
BA2
BA1
BA1
BA2
CLK
AS
外部A[31:0]
#2
#0
外部D[31:0]
#0:1
#2,3
外部RDX
外部WR0X,WR1X
ウエイト
ウエイト
• 自動ウェイトサイクルは , 各 AMD の WTC ビットを設定することにより実現できま
す。
• 上記は WTC が 001 すなわち 1 ウェイト挿入されたバスサイクルを示しており , 通常
2 クロック +1 ウェイトサイクルの計 3 クロックのバスサイクルになります。自動
ウェイトは最大 7 クロックサイクルまで ( バスサイクル 9 クロックサイクル ) 設定
できます。
● 外部ウェイトサイクル
図 8.6-15 に , バス幅が 16 ビットでハーフワードアクセスによる読出しにおける外部
ウェイトサイクルのタイミングを示します。
図 8.6-15 外部ウェイトサイクルのタイミング
BA1
BA1
BA1
BA1
BA1
BA2
CLK
AS
外部A[31:0]
#2
#0
外部D[31:16]
ウエイト
判定
外部RDX
#0:1
判定
外部RDY
RDYによるウェイト
2サイクル自動待機
• 外部ウェイトサイクルは , 各 AMD の RDYE ビットを "1" に設定し , 外部 RDY 端子
の入力を有効にすることにより実現できます。
• 外部 RDY を使用する場合は , 必ず 2 クロック以上の自動ウェイトサイクルを設定し
てください。
287
第 8 章 外部バスインタフェース
■ 外部バス要求
バス権開放のタイミングとバス権獲得のタイミングを示します。
● バス権解放
図 8.6-16 に , バス権開放のタイミングを示します。
図 8.6-16 バス権開放のタイミング
CLK
外部A
#0:1
外部D
Hi-Z
#0:1
Hi-Z
外部RDX
Hi-Z
BRQ
BGRNTX
1サイクル
● バス権獲得
図 8.6-17 に , バス権獲得のタイミングを示します。
図 8.6-17 バス権獲得のタイミング
CLK
外部A
外部D
外部RDX
Hi-Z
Hi-Z
Hi-Z
BRQ
BGRNTX
1サイクル
• PFR8 の P82 ビット * を "1" に設定することにより , BRQ, BGRNTX によるバスアー
ビトレーションを行うことができます。
*:「第 7 章 I/O ポート」を参照してください。
• バス権を解放するときは , 端子を Hi-Z にしてから 1 サイクル後に BGRNTX をアサー
トします。
• バス権を獲得するときは , BGRNTX をネゲートしてから 1 クロック後に各端子をア
クティブにします。
288
第 8 章 外部バスインタフェース
8.7
バスインタフェースを汎用入出力 ポートとして使用す
る方法
本アプリケーション・ノートでは , 外部バスインタフェースの入出力端子を汎
用入出力ポート
(「ポート・モード」) として使用する方法を解説します。MB91360 シリーズの
32 ビット・マイクロコントローラ・デバイス (MB91FV360GA, MB91F362GB およ
び MB91F369GA) に適用できます。
■ 概要
MB91360 シリーズの 32 ビット・マイクロコントローラ・デバイス (MB91FV360GA,
MB91F362GB および MB91F369GA) に適用できます。デバイスがシングル・チップ・
モードに初期化されている場合 (MD2=0, MD1=0, MD0=0) , モード・レジスタ MODR は
固定ベクタ 0x06 ( 内部 ROM, 32 ビット外部インタフェース ) に設定されています。ソ
フトウェアを用いて MODR の内容を変更することはできません。
「2.10.2 モード設定」
および 「2.10.3 フィックスベクタ」も参照してください。本節では , ソフトウェアを
用いて外部インタフェースの一部を汎用ポートとして使用するための 2 とおりの方法
について解説します。
• CAN を使用せずに 7 つのポート (MB91F362GB の 48 個の端子 ) を汎用入出力機能
に設定する方法
• CAN を使用して 4 つのポート (MB91F362GB の 32 個の端子 ) を汎用入出力機能に
設定する方法
289
第 8 章 外部バスインタフェース
8.7.1
注意事項
いずれの方法を使用する場合も , 電源投入中の外部インタフェースの状態を考慮に入
れる必要があります。外部インタフェースは , 以下のブート・シーケンス中にアクティ
ブになります。
■ 発振安定時間
初期化リセット後 , デバイスは発振安定時間 (32 ms) だけ待機します。
■ ブート ROM 処理
発振安定時間の終了後 , 固定モード・ベクタおよびリセット・ベクタが獲得されます。
外部インタフェース・ポートには以下の値があります。
I/O 端子
入力 / 出力
値
A[21:0]
出力
0x0FFFF8
D[31:0]
入力
Hi-Z
CS6X, CS5X, CS4X, CS3X, CS2X, CS1X, CS0X
出力
1
RDX, WR3X, WR2X, WR1X, WR0X
出力
1
CLK
出力
CLKT パルス
ALE, AS, AH, BRQ, BGRNTX, RDY
入力
Hi-Z
ブート ROM ソフトウェアがフラッシュ・セキュリティ・ベクタで有効な入力値を検
出すると , フラッシュ・エントリ・アドレスへのジャンプが実行されます。ブート ROM
ソフトウェアがフラッシュ・セキュリティ・ベクタで有効な入力値を検出すると , フ
ラッシュ・エントリ・アドレスへのジャンプが実行されます。ブート ROM ソフトウェ
アがフラッシュ・セキュリティ・ベクタで有効な入力値を検出すると , フラッシュ・エ
ントリ・アドレスへのジャンプが実行されます。
290
第 8 章 外部バスインタフェース
8.7.2
使用レジスタ
以下のレジスタを使用して , 外部インタフェース・ポートにアクセスします。
表 8.7-1 外部インタフェースポートレジスタ
レジスタ
アドレス
ブロック
+0
+1
+2
+3
000000H
PDR0 [R/W]
XXXX XXXX
PDR1 [R/W]
XXXX XXXX
PDR2 [R/W]
XXXX XXXX
PDR3 [R/W]
XXXX XXXX
000004H
PDR4 [R/W]
XXXX XXXX
PDR5 [R/W]
XXXX XXXX
PDR6 [R/W]
- - - X XXXX
PDR7 [R/W]
- 111 - - - -
000008H
PDR8 [R/W]
XXXX XXXX
PDR9 [R/W]
XXXX XXX1
000600H
DDR0 [R/W]
0000 0000
DDR1 [R/W]
0000 0000
DDR2 [R/W]
0000 0000
DDR3 [R/W]
0000 0000
000604H
DDR4 [R/W]
0000 0000
DDR5 [R/W]
0000 0000
DDR6 [R/W]
0000 0000
DDR7 [R/W]
0000 0000
000608H
DDR8 [R/W]
0000 0000
DDR9 [R/W]
0000 0000
000610H
PFR0 [R/W]
0000 0000
PFR1 [R/W]
0000 0000
PFR2 [R/W]
0000 0000
PFR3 [R/W]
0000 0000
000614H
PFR4 [R/W]
0000 0000
PFR5 [R/W]
0000 0000
PFR6 [R/W]
1111 1111
PFR7 [R/W]
0000 1111
PFR8 [R/W]
1111 10-0
PFR9 [R/W]
1111 0101
000618H
000624H
--
--
--
--
ポートデータ
レジスタ
PDRB [R/W]
- - - - - XXX
データ方向
レジスタ
DDRB [R/W]
0000 0000
--
PFRB [R/W]
0000 0000
--
PFR27 [R/W]
1111 -00-
ポート機能
レジスタ
ポートデータレジスタ (PDR) , データ方向レジスタ (DDR) およびポート機能レジスタ
(PFR) の動作については , 「7.1 I/O ポートとレジスタ構成」にある通常の入出力ポー
トの解説を参照してください。
ポート 7, 8, 9 および B のレジスタについては , 「7.1 I/O ポートとレジスタ構成」およ
び 「7.2 ポート機能レジスタ (PFR) の設定」を参照してください。
291
第 8 章 外部バスインタフェース
8.7.3
CAN を使用しないソフトウェア操作
■ ポート設定可能
CAN を使用しない場合は , 48 個の端子 (MB91F362GB) を持つ 7 つのポートを汎用
ポート・モードに設定できます。
表 8.7-2 CAN を使用しない場合のポート・モードの外部インタフェース
I/O 端子
ポート
コメント
A[20:16]
P6[4:0]
ポート・モードに設定可能
A[15:0]
P5[7:0]
P4[7:0]
アドレス出力中
D[31:24]
P3[7:0]
双方向データバスを保持
D[23:0]
P2[7:0]
P1[7:0]
P0[7:0]
ポート・モードに設定可能
CS6X, CS5X, CS4X
P7[6:4]
ポート・モードに設定可能
WR3X, WR2X, WR1X,
WR0X, RDX,
BRQ, BGRNTX, RDY
P8[7:3]
P8[2:0]
ポート・モードに設定可能
CS3X, CS2X, CS1X, CS0X,
AH, CLK, ALE, AS
P9[7:4]
P9[3:0]
ポート・モードに設定可能
■ セットアップシーケンス
この設定は , フラッシュ・ソフトウェアの開始時に実行することを推奨します。
• CLKB, CLKP, CLKT および CLKS を 1/1 に設定します ( ここでは PLL を開始しない ) 。
• CAN クロック ( ブート ROM で有効化されたクロック ) を無効にします。
• CSE レジスタの CS7 (CAN) および CS0 を無効にします。
• CS0 および CS7 領域の外部インタフェースを 8 ビット /0 待機状態に再設定します。
• ポート 0 ∼ポート 9 のポート機能レジスタをクリアします ( ポート 3, 4, 5 には影響
なし ) 。
• アプリケーションの開始
■ アセンブラ例
;;;
***************************************************************
.section main,code,locate=_PC_ADDRESS;; 0x00F4000
(in Flash)
;; --------------- manual startup... --------------// ** set CLKB & CLKP & CLKT & CLKS to 1/1 (no PLL here)
ldi:20 #0x0000,r1
// CLK[BPTS]=1/1
ldi:32 #_DIVR0,r12
// set DIVR address
sth
r1,@r12
//
_MAIN00:
292
第 8 章 外部バスインタフェース
;
###############################################################
; Setup ext. I/F to port mode:
;
###############################################################
; ------ Disable CAN clock (was enabled by boot ROM) ---------LDI
#_CMCR,R12
LDI
#0x000, R0
; disable CAN clock (CPU/2)
STH
R0,@R12
; ------ Disable CS7 (CAN) and CS0 ---------------------------LDI
#_CSE,R12; Chip select enable register
LDI
#0x00,R1
; disable CS7, CS0
STB
R1,@R12
;; -------- ext. I/F to 8 bit --------------------------------LDI
#_AMD0,R12; Area Mode reg
AMD0
;;
LDI
#0x11,R1
; 32-Bit Bus, 1 wait state,
no ready-pin
;;
;
(done by BootROM)
LDI
#0x00,R1
; 8-Bit Bus, 0 wait state,
no ready-pin
STB
R1,@R12
LDI
;;
LDI
ready-pin enabled
;;
(done by BootROM)
LDI
no ready-pin
STB
#_AMD7,R12
#0x29,R1
; Area Mode reg
AMD7 (CAN)
; 16-Bit Bus, 1 wait state,
;
#0x00,R1
;
8-Bit Bus, 0 wait state,
R1,@R12
;; -------- Clear all PFR’s ----------------------------------LDI
#0x0000,R0
;; clear all PFR’s
LDI
#_PFR27,R1
;;
stb
R0,@R1
;; Port 7 PFR2, Addr=0x0627
LDI
#_PFR0,R14
;;
stb
r0,@(r14,0x0)
;; Port 0 PFR, Addr=0x0610
stb
r0,@(r14,0x1)
;; Port 1 PFR, Addr=0x0611
stb
r0,@(r14,0x2)
;; Port 2 PFR, Addr=0x0612
stb
r0,@(r14,0x3)
;; Port 3 PFR, Addr=0x0613
stb
r0,@(r14,0x4)
;; Port 4 PFR, Addr=0x0614
stb
r0,@(r14,0x5)
;; Port 5 PFR, Addr=0x0615
stb
r0,@(r14,0x6)
;; Port 6 PFR, Addr=0x0616
stb
r0,@(r14,0x7)
;; Port 7 PFR, Addr=0x0617
stb
r0,@(r14,0x8)
;; Port 8 PFR, Addr=0x0618
stb
r0,@(r14,0x9)
;; Port 9 PFR, Addr=0x0619
Start_Application:
;; ========== Start Your application here...
293
第 8 章 外部バスインタフェース
8.7.4
CAN を使用したソフトウェア操作
■ ポート設定可能
CAN を使用する場合は , 33 個の端子を持つ 5 つのポートを汎用ポート・モードに設定
できます。
CAN を使用した場合のポート・モードの外部インタフェースの設定について , 表 8.7-3
に示します。
表 8.7-3 CAN を使用した場合のポート・モードの外部インタフェース
I/O 端子
ポート
コメント
A[20:16]
P6[4:0]
ポート・モードに設定可能
A[15:0]
P5[7:0]
P4[7:0]
アドレス出力中
D[31:16]
P3[7:0]
P2[7:0]
双方向データバスを保持
(I/F の実行時 , CAN に 16 ビット必要 )
D[15:0]
P1[7:0]
P0[7:0]
ポート・モードに設定可能
CS6X, CS5X, CS4X
P7[6:4]
ポート・モードに設定可能
WR3X, WR2X, WR1X, WR0X, RDX
BRQ, BGRNTX
RDY
P8[7:3]
P8[2:1]
P8[0]
WRX[3:0], RDX 出力を保持
ポート・モードに設定可能
RDY 入力中
CS3X, CS2X, CS1X, CS0X,
AH
CLK
ALE, AS
P9[7:4]
P9[3]
P9[2]
P9[1:0]
ポート・モードに設定可能
ポート・モードに設定可能
CLK は CLKT 出力のままです。
ポート・モードに設定可能
■ セットアップシーケンス
この設定は , フラッシュ・ソフトウェアの開始時に実行することを推奨します。
• CLKB, CLKP, CLKT および CLKS を 1/1 に設定します ( ここでは PLL を開始しない ) 。
• CSE レジスタの CS0 を無効にします。
• CS0 領域の外部インタフェースを 16 ビット /0 待機状態に再設定します。
• ポート 0 ∼ポート 7 のポート機能レジスタ ( ポート 2, 3, 4, 5 には影響なし ) および
ポート 8/9 の PFR で使用可能なビットをクリアします。
• アプリケーションの開始
■ アセンブラ例
;;;
***************************************************************
.section main,code,locate=_PC_ADDRESS;; 0x00F4000 (in Flash)
;; --------------- manual startup... --------------// ** set CLKB & CLKP & CLKT & CLKS to 1/1 (no PLL here)
ldi:20
#0x0000,r1
// CLK[BPTS]=1/1
ldi:32
#_DIVR0,r12
// set DIVR address
sth
r1,@r12
//
_MAIN00:
294
第 8 章 外部バスインタフェース
;
###############################################################
; Setup ext. I/F to port mode:
;
###############################################################
; ----- DON’T Disable CAN clock (was enabled by boot ROM) ---; ----- Disable CS0 ---------------------------------LDI
#_CSE,R12
; Chip select enable register
LDI
#0x80,R1
; disable CS0, CS7 is for CAN
STB
R1,@R12
;; ----- ext. I/F to 16bit (8 bit makes no sense) ----------LDI
#_AMD0,R12 ; Area Mode reg AMD0
;;
LDI
#0x11,R1
; 32-Bit Bus, 1 wait state, no
ready-pin
;;
; (done by BootROM)
LDI
#0x08,R1
; 16-Bit Bus, 0 wait state, no
ready-pin
STB
R1,@R12
;; ----- DON’T change AMD7 mode (is prepared by BootROM) ----;; ----- Clear all PFR’s ------------------------------------LDI
#0x0000,R0
;; clear all PFR’s
LDI
#_PFR27,R1
;;
stb
R0,@R1
;; Port 7 PFR2, Addr=0x0627
LDI
#_PFR0,R14
;;
stb
r0,@(r14,0x0)
;; Port 0 PFR, Addr=0x0610
stb
r0,@(r14,0x1)
;; Port 1 PFR, Addr=0x0611
stb
r0,@(r14,0x2)
;; Port 2 PFR, Addr=0x0612
stb
r0,@(r14,0x3)
;; Port 3 PFR, Addr=0x0613
stb
r0,@(r14,0x4)
;; Port 4 PFR, Addr=0x0614
stb
r0,@(r14,0x5)
;; Port 5 PFR, Addr=0x0615
stb
r0,@(r14,0x6)
;; Port 6 PFR, Addr=0x0616
stb
r0,@(r14,0x7)
;; Port 7 PFR, Addr=0x0617
ldi
#0xF9,R0
;; PFR8: WRX[3:0],RDX,RDY
needed.
stb
r0,@(r14,0x8)
;; Port 8 PFR, Addr=0x0618
ldi
#0x04,R0
;; PFR9: CLK needed.
stb
r0,@(r14,0x9)
;; Port 9 PFR, Addr=0x0619
Start_Application:
;; ========== Start Your application here...
295
第 8 章 外部バスインタフェース
296
第9章
割込みコントローラ
割込みコントローラの概要を示し , レジスタの構造
と機能 , および割込みコントローラの動作について
説明します。
9.1 割込みコントローラの概要
9.2 割込みコントローラのレジスタ
9.3 割込みコントローラの動作
297
第 9 章 割込みコントローラ
9.1
割込みコントローラの概要
割込みコントローラは , 割込み受付 / 調停処理を制御します。
■ ハードウェア構成
本モジュールは , 以下のものから構成されます。
• ICR レジスタ
• 割込み優先度判定回路
• 割込みレベル , 割込み番号 ( ベクタ ) 発生部
• ホールド要求取下げ要求発生部
■ 主要機能
本モジュールには , 主に以下のような機能があります。
• NMI 要求 / 割込み要求の検出
• 優先度判定 ( レベル , および番号による )
• 判定結果の要因の割込みレベル伝達 (CPU へ )
• 判定結果の要因の割込み番号伝達 (CPU へ )
• NMI/ 割込みレベルが "LEVEL ≠ 11111" 以外の割込み発生によるストップモードか
らの復帰指示 (CPU へ )
• バスマスタへのホールド要求取下げ要求発生
■ ブロックダイヤグラム
図 9.1-1 に割込みコントローラのブロックダイヤグラムを示します。
図 9.1-1 ブロックダイヤグラム
UNMI
WAKEUP (LEVEL≠11111の場合,1)
優先度判定
5
LEVEL4~LEVEL0
NMI処理
LEVEL 判定
R100
.
.
.
R147
(DLYIRQ)
ICR00
.
.
.
ICR47
VECTOR判定
R バス
298
6
LEVEL
および
VECTOR
発生
HLDREQ
撤回要求
MHALTI
VCT5~VCT0
第 9 章 割込みコントローラ
9.2
割込みコントローラのレジスタ
割込みコントローラで使用するレジスタについて説明します。
■ 割込みコントローラのレジスタ一覧
図 9.2-1 に割込みコントローラのレジスタ一覧を示します。
図 9.2-1 割込みコントローラのレジスタ一覧
bit
7
6
5
4
3
2
1
0
アドレス : 00000440H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR00
アドレス : 00000441H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR01
アドレス : 00000442H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR02
アドレス : 00000443H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR03
アドレス : 00000444H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR04
アドレス : 00000445H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR05
アドレス : 00000446H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR06
アドレス : 00000447H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR07
アドレス : 00000448H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR08
アドレス : 00000449H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR09
アドレス : 0000044AH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR10
アドレス : 0000044BH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR11
アドレス : 0000044CH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR12
アドレス : 0000044DH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR13
アドレス : 0000044EH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR14
アドレス : 0000044FH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR15
アドレス : 00000450H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR16
アドレス : 00000451H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR17
アドレス : 00000452H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR18
アドレス : 00000453H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR19
アドレス : 00000454H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR10
アドレス : 00000455H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR21
アドレス : 00000456H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR22
アドレス : 00000457H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR23
アドレス : 00000458H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR24
アドレス : 00000459H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR25
アドレス : 0000045AH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR26
アドレス : 0000045BH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR27
アドレス : 0000045CH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR28
アドレス : 0000045DH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR29
アドレス : 0000045EH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR30
アドレス : 0000045FH
アドレス : 00000460H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR31
-
-
-
ICR4
R
ICR3
R/W
ICR2
R/W
ICR1
R/W
ICR0
R/W
ICR32
(続く)
299
第 9 章 割込みコントローラ
(続き )
bit
7
6
5
4
3
2
1
0
アドレス : 00000461H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR33
アドレス : 00000462H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR34
アドレス : 00000463H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR35
アドレス : 00000464H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR36
アドレス : 00000465H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR37
アドレス : 00000466H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR38
アドレス : 00000467H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR39
アドレス : 00000468H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR40
アドレス : 00000469H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR41
アドレス : 0000046AH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR42
アドレス : 0000046BH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR43
アドレス : 0000046CH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR44
アドレス : 0000046DH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR45
アドレス : 0000046EH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR46
アドレス : 0000046FH
-
-
-
ICR4
R
ICR3
R/W
ICR2
R/W
ICR1
R/W
ICR0
R/W
ICR47
-
-
LVL4
R
LVL3
R/W
LVL2
R/W
LVL1
R/W
LVL0
R/W
HRCL
アドレス : 00000045H MHALTI
R/W
■ ICR(Interrupt Control Register)
ICR は , 割込み制御レジスタです。各割込み入力に対して 1 つずつ設けられており , 対
応する割込み要求の割込みレベルを設定します。
図 9.2-2 に割込み制御レジスタ (ICR) のビット構成を示します。
図 9.2-2 割込み制御レジスタ (ICR) のビット構成
bit7
-
6
-
5
-
4
3
2
1
0
初期値
---11111B
ICR4
ICR3
ICR2
ICR1
ICR0
R
R/W
R/W
R/W
R/W
[bit4 ∼ bit0] ICR4 ∼ ICR0
割込みレベル設定ビットで , 対応する割込み要求の割込みレベルを指定します。
このレジスタに設定した割込みレベルが CPU の ILM レジスタに設定されたレベル
マスク値以上の場合は , CPU 側で割込み要求はマスクされます。
リセットにより , レジスタは "11111B" に初期化されます。
設定可能な割込みレベル設定ビットと割込みレベルの対応を表 9.2-1 に示します。
300
第 9 章 割込みコントローラ
表 9.2-1 割込みレベル設定ビットと割込みレベルの対応
ICR4
ICR3
ICR2
ICR1
ICR0
0
0
0
0
0
0
0
1
1
1
0
14
0
1
1
1
1
15
NMI
1
0
0
0
0
16
設定可能な最強レベル
1
0
0
0
1
17
(強)
1
0
0
1
0
18
1
0
0
1
1
19
1
0
1
0
0
20
1
0
1
0
1
21
1
0
1
1
0
22
1
0
1
1
1
23
1
1
0
0
0
24
1
1
0
0
1
25
1
1
0
1
0
26
1
1
0
1
1
27
1
1
1
0
0
28
1
1
1
0
1
29
1
1
1
1
0
30
1
1
1
1
1
31
割込みレベル
システム予約
(弱)
割込み禁止
( 注意事項 ) ICR4 ビットは "1" 固定で , "0" を書き込むことはできません。
■ HRCL(Hold Request Cancel Level register)
このレジスタは , ホールド要求取下げ要求を発生するためのレベルを設定します。
図 9.2-3 に HRCL レジスタのビット構成を示します。
図 9.2-3 HRCL レジスタのビット構成
bit
7
アドレス : 00000045H MHALTI
R/W
6
5
4
3
2
1
0
−
−
LVL4
R
LVL3
R/W
LVL2
R/W
LVL1
R/W
LVL0
R/W
初期値
0--11111B
[bit7] MHALTI
MHALTI ビットは , マスク不可割込み (NMI) の要求を示します。このビットは NMI
要求によって "1" に設定されます。NMI 要求は , このビットに "0" を書き込むこと
によってクリアされます。
301
第 9 章 割込みコントローラ
[bit4 ∼ bit0] LVL4 ∼ LVL0
LVL4 ∼ LVL0 は , バスマスタへのホールド要求取下げ要求を出すための割込みレ
ベルを設定します。
このレジスタに設定した割込みレベルより高いレベルを持つ割込み要求が発生し
た場合は , バスマスタに対してホールド要求取下げ要求を出力します。
LVL4 ビットは "1" 固定で , "0" を書き込むことはできません。
302
第 9 章 割込みコントローラ
9.3
割込みコントローラの動作
割込みコントローラの動作について説明します。
■ 優先順位判定
本モジュールでは , 同時に発生している割込み要因の中で最も優先度の高い要因を選
択し , その要因の割込みレベルと割込み番号を CPU へ出力します。
割込み要因の優先順位判定基準は , 次のとおりです。
• NMI
• 以下の条件を満たす割込み要因
- 割込みレベルの数値が 31 以外 (31 は割込み禁止 )
- 割込みレベルの数値が最も小さい要因
- その中で , 最も小さい割込み番号を持つ要因
上記の判定基準により割込み要因が1つも選択されなかった場合は, 割込みレベルとし
て 31("11111B") を出力します。そのときの割込み番号は不定です。
割込み要因と割込み番号 , 割込みレベルの関係を「付録 B 割込みベクタ」の表に示し
ます。
■ マスク不可割込み (NMI: Non-Maskable Interrupt)
NMI は , 本モジュールが取り扱う割込み要因の中では最も優先順位が高くなっていま
す。
そのため , 他の割込み要因と同時発生の場合は常に NMI が選択されます。
● NMI 発生
NMI が発生すると , CPU に対して次の情報を伝えます。
• 割込みレベル : 15("01111B")
• 割込み番号 :
15("0001111B")
● NMI 検出
NMI の設定 , および検出は , 外部割込み /NMI モジュールで行います。本モジュールで
は NMI 要求により , 割込みレベル / 割込み番号 , MHALTI の生成だけを行います。
■ ホールド要求取下げ要求 (HRCL)
優先度の高い割込み処理を CPU のホールド中に行いたい場合は , ホールド要求発生元
から要求を取り下げる必要があります。この取下げ要求発生の基準となる割込みレベ
ルを , HRCL レジスタに設定します。
● 発生基準
HRCL レジスタに設定した割込みレベルより高いレベルの割込み要因が発生した場合
は , ホールド要求取下げ要求を発生します。
• HRCL レジスタの割込みレベル>優先度判定後の割込みレベル
→取下げ要求発生
303
第 9 章 割込みコントローラ
• HRCL レジスタの割込みレベル≦優先度判定後の割込みレベル
→取下げ要求なし
取下げ要求発生原因となった割込み要因をクリアしない限り , この取下げ要求は有効
であり , 結果的にいつまでも DMA 転送が起こらないことになります。必ず対応する割
込み要因をクリアしてください。
また , NMI を使用したときは , HRCL レジスタの MHALTI ビットが "1" となっている
ため , 取下げ要求が有効です。CPU をホールド状態にするには , MHALTI ビットをク
リアします。
● 設定可能なレベル
HRCL レジスタに設定可能な値は , ICR と同様に "10000B" から "11111B" までです。
"11111B" に設定した場合はすべての割込みレベルに対して取下げ要求を発生し , また ,
"10000B" に設定した場合は NMI でのみ取下げ要求を発生します。
ホールド要求取下げ要求発生となる割込みレベルの設定を表 9.3-1 に示します。
表 9.3-1 HRCL レジスタの割込みレベル設定
HRCL レジスタ
取下げ要求発生となる割込みレベル
16
NMI のみ
17
NMI, 割込みレベル 16
18
NMI, 割込みレベル 16, および 17
∼
31
<注意事項>
∼
NMI, 割込みレベル 16 ∼ 30 [ 初期値 ]
リセット後は , すべての割込みレベルに対して DMA 転送を抑止します。すなわち ,
割込みが発生していると DMA 転送が行われませんので , HRCL レジスタを必要な
値に設定してください。
■ スタンバイモード ( ストップ / スリープ ) からの復帰
割込み要求の発生により , ストップモードから復帰する機能を本モジュールで実現し
ます。NMI を含む , 周辺からの割込み要求 ( 割込みレベルが "11111B" 以外 ) が 1 つで
も発生すると , クロック制御部に対してストップモードからの復帰要求を発生します。
優先度判定部はストップ復帰後クロックが供給されてから動作を再開しますので , 優
先度判定部の結果が出るまでの間 CPU は命令を実行することになります。
スリープ状態からの復帰においても , 同様に動作します。
また , スリープ中であっても , 本モジュール内のレジスタはアクセス可能です。
<注意事項>
304
• NMI 要求に対してもストップモードからの復帰を行います。ただし , ストップ時
にも有効な入力を検出するように NMI を設定してください。
• ストップおよびスリープからの復帰の要因としたくない割込み要因は , 対応する
周辺の制御レジスタで割込みレベルを "11111B" に設定してください。
第 9 章 割込みコントローラ
■ ホールド要求取下げ要求機能 (HRCL) の使用例
DMA 転送中に , CPU が優先度の高い処理を行いたいときは , DMA にホールド要求を
取り下げてもらって CPU のホールド状態を解除する必要があります。ここでは , 割込
みを利用して DMA にホールド要求を取り下げてもらうこと , すなわち CPU の優先動
作を実現します。
● 制御レジスタ
• HRCL( ホールド要求取下げレベル設定レジスタ ): 本モジュール
このレジスタに設定した割込みレベルより高いレベルの割込みが発生した場合に ,
DMA に対してホールド要求取下げ要求を発生します。その基準となるレベルを設
定します。
• ICR: 本モジュール
使用する割込み要因に対応する ICR に , HRCL レジスタよりも高いレベルを設定し
ます。
● ハードウェア間の信号の流れ
ハードウェア間における各信号の流れは , 図 9.3-1 のようになっています。
図 9.3-1 ハードウェア間における信号の流れ
バスアクセス要求
本モジュール
IRQ
DHREQ
MHALTI
I-UNIT
(ICR)
(HRCL)
DMA
B-UNIT
CPU
DHACK
DHREQ :D-バスホールド要求
DHACK
:D-バスホールドアクノリッジ
IRQ
:割込み要求
MHALTI :ホールド要求取り下げ要求
305
第 9 章 割込みコントローラ
■ シーケンス
図 9.3-1 に示したハードウェア間の各信号のシーケンスを図 9.3-2 , 図 9.3-3 に示しま
す。
図 9.3-2 割込みレベル (HRCL > a の場合 )
RUN
バスホールド
割込み処理
バスホールド
(DMA転送)
CPU
バスアクセス要求
DHREQ
DHACK
IRQ
LEVEL
MHALTI
注意事項:割込みルーチンの例
1:割込み要因クリア
2:RETI
割込み要求が発生すると割込みレベルが変化して , これが HRCL レジスタに設定した
レベルより強いと DMA に対して MHALTI をアクティブにします。これによって DMA
はアクセス要求を取り下げ , CPU はホールド状態から復帰して割込み処理を行います。
多重割込みの場合を , 図 9.3-3 に示します。
図 9.3-3 割込みレベル (HRCL > a > b の場合 )
RUN
CPU
バスホールド
割込みI
割込み処理II
3
4
割込み処理I
1
2
バスホールド
(DMA転送)
バスアクセス要求
DHREQ
DHACK
IRQ1
IRQ2
LEVEL
MHALTI
注意事項:割込ルーチンの例
1, 3: 割込み要因例
2, 4: RETI
上記例では, 割込みルーチン1を実行中にそれよりも優先度の高い割込みが発生した場
合を示しています。HRCL レジスタに設定した割込みレベルより高い割込みレベルが
発生している間は , DHREQ は下がっています。
<注意事項>
306
HRCL レジスタと ICR に設定する割込みレベルの関係には , 十分注意してくださ
い。
第 10 章
外部割込み /
NMI コントローラ
外部割込み /NMI コントローラの概要を示し , レジ
スタの構成と機能 , および外部割込み /NMI コント
ローラの動作について説明します。
NMIX 端子が存在する型格は2つです。
10.1 外部割込みコントローラの概要
10.2 外部割込みコントローラのレジスタ
10.3 外部割込みコントローラの動作
307
第 10 章 外部割込み / NMI コントローラ
10.1
外部割込みコントローラの概要
外部割込み /NMI コントローラは , NMI 端子 , および INT0 ∼ INT7 から入力される外
部割込み要求を制御します。
"H" レベル , "L" レベル , 立上りエッジ , および立下りエッジの検出が選択できます
(NMI を除きます )。
外部割込み /NMI コントローラは , DMA 要求についても使用できます。
ここでは , コントローラのレジスタ構成と , そのブロックダイヤグラムを示します。
■ 外部割込み , および NMI コントローラのレジスタ構成
図 10.1-1 に外部割込み , および NMI コントローラのレジスタ構成を示します。
図 10.1-1 外部割込み , および NMI コントローラのレジスタ構成
bit
外部割込み許可
レジスタ (ENIR)
ENIR
bit
外部割込み要因
レジスタ (EIRR)
EIRR
bit
外部割込み要求
レベル設定
レジスタ (ELVR)
ELVR
bit
7
6
5
4
3
2
1
0
初期値
EN7
EN6
EN5
EN4
EN3
EN2
EN1
EN0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
ER7
ER6
ER5
ER4
ER3
ER2
ER1
ER0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
15
14
13
12
11
10
9
8
LB7
LA7
LB6
LA6
LB5
LA5
LB4
LA4
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
LB3
LA3
LB2
LA2
LB1
LA1
LB0
LA0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
00000000B
00000000B
00000000B
■ 外部割込み , および NMI コントローラのブロックダイヤグラム
図 10.1-2 に外部割込み, およびNMIコントローラのブロックダイヤグラムを示します。
図 10.1-2 外部割込み , および NMI コントローラのブロックダイヤグラム
Rバス
8
割込み要求
9 ゲート
Gate
8
8
308
割込み許可レジスタ
要求F/F
エッジ検出回路
外部割込み要因レジスタ
外部割込み要求レベル
External
level
regist
設定レジスタ
9
INT0~INT7
NMIX
第 10 章 外部割込み / NMI コントローラ
10.2
外部割込みコントローラのレジスタ
割込み要求許可レジスタ (ENIR), 外部割込み要因レジスタ (EIRR), および外部割込み
要求レベル設定レジスタ (ELVR) について説明します。
■ 割込み許可レジスタ (ENIR)
図 10.2-1 に割込み許可レジスタ (ENIR) のビット構成を示します。
図 10.2-1 割込み許可レジスタのビット構成
アドレス
ENIR 000041H
bit7
EN7
6
EN6
5
EN5
4
EN4
3
EN3
2
EN2
1
EN1
0
EN0
初期値
アクセス
00000000B
R/W
割込み許可レジスタ (ENIR) は , 外部割込み要求出力のマスク制御を行います。
このレジスタで "1" に設定されているビットに対応する割込み要求の出力が許可され ,
( たとえば , EN0 は INT0 を許可するかどうかを制御します。) 割込み要求が , 割込みコ
ントローラに対して出力されます。
このレジスタで "0" に設定されているビットに対応する端子については , 割込み要因は
保持されますが , 割込みコントローラに対して要求は出力されません。
マスク不可割込み (NMI) に対するマスクビットは提供されません。
<注意事項>
■ 外部割込み要因レジスタ (EIRR)
図 10.2-2 に外部割込み要因レジスタ (EIRR) のビット構成を示します。
図 10.2-2 外部割込み要求レジスタのビット構成
アドレス
EIRR 000040H
bit7
ER7
6
ER6
5
ER5
4
ER4
3
ER3
2
ER2
1
ER1
0
ER0
初期値
アクセス
00000000B
R/W
外部割込み要因レジスタ (EIRR) は , 読出し時には , 対応する外部割込み要求が存在す
るかどうかを示します。書込み時には , その要求を格納していたフリップフロップ
(NMI フラグ ) 内容をクリアするレジスタです。
読出し時に "1" を返すビットは , 対応する端子に外部割込み要求が存在することを示し
ます。
同様に , あるビットに "0" を書き込むと , そのビットに対応する要求を格納していたフ
リップフロップがクリアされます。"1" の書込みは無効です。
リードモディファイライト命令に対しては , レジスタビットは常に "1" として読み出さ
れます。
<注意事項>
ユーザによる NMI フラグの読出し , および書込みはできません。
309
第 10 章 外部割込み / NMI コントローラ
■ 外部割込み要求レベル設定レジスタ (ELVR)
図 10.2-3 に外部割込み要求レベル設定レジスタ (ELVR) のビット構成を示します。
図 10.2-3 外部割込み要求レベル設定レジスタのビット構成
アドレス
ELVR 000042H
bit15
LB7
14
LA7
13
LB6
12
LA6
11
LB5
10
LA5
9
LB4
8
LA4
初期値
アクセス
00000000B
R/W
000043H
bit7
LB3
6
LA3
5
LB2
4
LA2
3
LB1
2
LA1
1
LB0
0
LA0
初期値
アクセス
00000000B
R/W
外部割込み要求レベル設定レジスタ (ELVR) は , 要求の検出方法を指定します。
INT0 ∼ INT7 に 2 ビットずつ割り当てられています。その設定を表 10.2-1 に示します。
要求入力がレベル検出に設定されている場合 , 対応する EIRR レジスタのビットの入力
がアクティブレベルであれば , クリアされても直ちに再設定されます。
表 10.2-1 外部割込み要求レベルの設定
LBx
LAx
0
0
"L" レベルで要求を発生します。
0
1
"H" レベルで要求を発生します。
1
0
立上りエッジで要求を発生します。
1
1
立下りエッジで要求を発生します。
動作
NMI は , NMI 入力の立下りエッジだけを検出します ( ストップモード時以外 )。
ストップモード時は , NMI は "L" レベルを検出します。
310
第 10 章 外部割込み / NMI コントローラ
10.3
外部割込みコントローラの動作
外部割込みの動作 , ストップモードの解除 , 外部割込みの操作手順 , 外部割込み要求
レベル , および NMl について説明します。
■ 外部割込みの動作
要求レベル , および許可レジスタが設定された後 , ELVR レジスタで指定されたタイプ
の要求が割込み端子に入力されると , 外部割込みコントローラが割込みコントローラ
に対して割込み要求信号を発生します。割込みコントローラは , 同時発生した割込みの
優先順位を評価し , 本リソースからの割込みが最も優先順位が高かったときに , 該当す
る割込みが発生します。
図 10.3-1 に割込み要求信号のフローを示します。
図 10.3-1 割込み要求信号のフロー
External
interrupt
contro周辺系要求 Interrupt
contro
割込み
外部割込み
コントローラ
コントローラ
ELVR
EIRR
ENIR
CPU
ICR yy
IL
CMP
ICR XX
CMP
ILM
割込み入力
■ ストップモードの解除
ストップモードでクロックが停止している状態を解除するために外部割込みを使用す
る場合 , 要求入力タイプを "H" レベル要求に設定してください。"L" レベル要求を使用
すると誤動作となる場合があります。クロックが停止しているストップモードを , エッ
ジ検出要求を使用して解除することはできません。
■ 外部割込みの操作手順
外部割込みコントローラのレジスタを設定するには , 次の手順を使用します。
1. 許可レジスタの対象となるビットを無効に設定します。
2. 要求レベル設定レジスタの対象となるビットを設定します。
3. 要因レジスタの対象となるビットをクリアします。
4. 許可レジスタの対象となるビットを有効に設定します。
手順 3. および 4. は , 16 ビットデータの書込みとして同時に実行できます。
レジスタを設定する前に , 必ず , 許可レジスタで割込みを無効にしてください。また ,
許可レジスタで割込みを有効にする前に , 必ず , 要因レジスタをクリアしてください。
これは , レジスタを設定するときや , 割込み許可状態時に , 割込み要求が誤って発生す
るのを防止するためです。
■ 外部割込み要求レベル
要求のタイプがエッジ検出に設定されている場合 , エッジを確実に検出するには , 少な
くとも 3 マシンサイクル ( 周辺系クロックマシンサイクル ) のパルス幅が必要です。
要求タイプがレベル検出に設定されている場合 , ある外部要求入力があって後にそれ
311
第 10 章 外部割込み / NMI コントローラ
が削除されても , その割込み要因は内部回路に格納されるため , 外部入力が削除された
後も , 割込みコントローラへの要求はアクティブのままです。割込みコントローラへの
要求をクリアするには , 要求レジスタをクリアする必要があります。
図 10.3-2 に割込み要因保持回路の状態を示します。図 10.3-3 にその状態のときのタイ
ムチャートを示します。
図 10.3-2 割込みタイプがレベル検出に設定されているときの割込み要因保持回路のクリア
割込み入力
要因 F/F
( 要因保持回路)
レベル検出
許可ゲート
割込み
コントローラ
クリアしない限り要因を保持し続ける。
図 10.3-3 割込みが有効なときの割込み要因と割込みコントローラへの割込み要求
"H" レベル
割込み入力
割込みコントローラ
への割込み要求
要求F/Fがクリアされると非アクティブになる
■ NMl
• NMI は最優先のユーザ割込みでありマスクはできません。しかし , リセット後に ILM
が設定される前に NMI が検出された場合は , NMI は CPU では許可されません。こ
の場合 , NMI 要求はラッチされ NMI 設定後 , 直ちに許可されます。そのため , リセッ
ト後には , ILM を 15 以上の値に設定した後に NMI を使用するようにしてください。
• NMI は次のように検出されます。
- 通常動作 : 立下りエッジ
- ストップモード :"L" レベル
• NMI を使用して , ストップモードを解除できます。ストップモード時に "L" レベル
を入力すると , デバイスはストップモードから復帰し , 発振安定待ち時間が取られ
ます。
NMI 要求検出部には NMI フラグがあります。このフラグは NMl 要求によって設定さ
れます。この設定は , NMI 自身の割込みの受付け , またはリセットが発生したときにク
リアされます。このビットの読出しおよび書込みはできません。
図 10.3-4 に , NMI 要求検出部のブロックダイヤグラムを示します。
図 10.3-4 NMI 要求検出部のブロックダイヤグラム
(NMIフラグ)
N M I 要求
(ストップモードの解除)
Q
SX
R
0
立下りエッジ検出
1
ストップ
Clear
(reset,
interrupt
accepted) け)
クリア(リセット、割込み受付
312
NMIX
第 11 章
DMA コントローラ (DMAC)
DMA コントローラ (DMAC) の概要を示し , レジス
タの構成と機能 , および DMA コントローラの動作
について説明します。
11.1 DMA コントローラ (DMAC) の概要
11.2 DMA コントローラ (DMAC) のレジスタ
11.3 DMA コントローラ (DMAC) の動作
11.4 DMA コントローラ (DMAC) の動作フロー
11.5 データバスの転送例
11.6 外部 DMA 信号
11.7 DMA 転送例
313
第 11 章 DMA コントローラ (DMAC)
11.1
DMA コントローラ (DMAC) の概要
DMAC モジュールは , FR50 のデバイスで , ダイレクトメモリアクセス (DMA) 転送
を実現するためのモジュールです。本モジュールで制御される DMA 転送では , さま
ざまな種類のデータを , CPU を介さずにメモリ相互間 , またはメモリと I/O 機器間
で高速転送することができ , これによりシステムパフォーマンスが向上します。
■ ハードウェア構成
DMAC モジュールの主な構成要素は次のとおりです。
• 5 つの独立した DMA チャネル
• 5 チャネル独立アクセス制御回路
• 32 ビットアドレスレジスタ ( リロード指定可能 : 各チャネル 2 レジスタ )
• 16 ビット転送カウントレジスタ ( リロード指定可能 : 各チャネル 1 レジスタ )
• 4 ビットブロックカウントレジスタ ( 各チャネル 1 レジスタ )
• 外部転送要求入力端子 DREQ0, DREQ1, DREQ2( チャネル 0, 1, 2 のみ )
• 外部転送要求受付出力端子 DACK0, DACKl, DACK2( チャネル 0, 1, 2 のみ )
• DMA 終了出力端子 DEOP0, DEOP1, DEOP2( チャネル 0, 1, 2 のみ )
• フライバイ転送 ( メモリから I/O, メモリからメモリ )
( 必要であれば , ポートを使用して IOR, および IOW をサポートできます )
I/O 側のアクセス信号は, DACK, RDX, WRX, CAS の各信号をデコードして発生され
ます。
• 2 サイクル転送
■ 主な機能
本モジュールによる , データ転送のおもな機能は次のとおりです。
複数チャネルでの独立したデータ転送が可能です (5 チャネル )。
• 優先順位 ( チャネル 0 >チャネル 1 >チャネル 2 >チャネル 3 >チャネル 4)
• チャネル 0 とチャネル 1 の間で順位回転が可能です。
• DMAC の起動要因
- 外部専用端子入力 ( エッジ検出 / レベル検出 , チャネル 0 ∼ 2 のみ )
- 内部周辺要求 ( 外部割込みを含む割込み要求を共用 )
- ソフトウェア要求 ( レジスタ書込み )
• 転送モード
- デマンド転送 , バースト転送 , ステップ転送 , ブロック転送
- アドレッシングモード 32 ビットのフルアドレス指定 ( 増加 , 減少 , 固定 ) アドレ
スの増分 / 減分のサイズは -255 ∼ +255 の範囲で指定可能です。
- データの種類は , バイト長 , ハーフワード長 , ワード長です。
- シングルショット / リロード選択が可能です。
314
第 11 章 DMA コントローラ (DMAC)
■ ブロックダイヤグラム
図 11.1-1 に DMA コントローラ (DMAC) のブロックダイヤグラムを示します。
図 11.1-1 DMA コントローラ (DMAC) のブロックダイヤグラム
カウンタ
バスコントローラへ
ライト
バック
DMA
DMA 起動の要因
バッファ
転送要求
セレクタ
受付制御
DTC
2 ステップレジスタ
周辺回路起動要求/停止入力
選択回路と要求
外部端子の起動要求/停止入力
DTCR
カウンタ
DSS[2:0]
バッファ
読出し
読出し/書込み制御
書込み
優先度回路
転送コントローラへ
周辺回路の割込みクリア
BLK レジスタ
TYPE.MOD ,WS
セレクタ
DDNO
レジスタ
バス制御部
DMA 制御
セレクタ
DSAD
2 ステップレジスタ
SADM ,SASZ[7:0] SADR
2 ステップレジスタ
DADM ,DASZ[7:0] DADR
ライトバック
セレクタ
カウンタバッファ
アドレス
アドレスカウンタ
アクセス
カウンタバッファ
バス制御部
バスコント
ローラへ
MCLREQ
X バス
状態遷移回路
DDNO
IRQ[4:0]
ERIR ,EDIR
セレクタ
DDAD
ライトバック
DMAC 5 チャネルブロックダイヤグラム
315
第 11 章 DMA コントローラ (DMAC)
11.2
DMA コントローラ (DMAC) のレジスタ
DMA コントローラ (DMAC) で使用するレジスタについて説明します。
■ レジスタ一覧
図 11.2-1 に DMA コントローラ (DMAC) のレジスタ一覧を示します。
図 11.2-1 DMA コントローラ (DMAC) のレジスタ一覧
レジスタ
名前
bit
コントロール /
ステータス
レジスタ A
ビット
31
30
29
PAUS
STRG
IS[4:0]
R/W
R/W
R/W
R/W
23
22
21
DMACA DENB
bit
bit
15
28
初期値
27
20
26
19
25
00000000B
18
17
DDNO [3:0]
BLK [3:0]
R/W
R/W
14
13
12
11
10
24
9
16
0000XXXXB
8
XXXXXXXXB
DTC [15:8]
R/W
bit
7
6
5
4
3
2
1
0
XXXXXXXXB
DTC [7:0]
R/W
bit
コントロール /
ステータス
レジスタ B
DMACB
bit
31
30
TYPE[1:0]
R/W
R/W
23
22
29
28
26
MOD[1:0]
WS[1:0]
R/W
R/W
21
DTCR SADR DADR
bit
27
R/W
R/W
17
16
19
ERIE
EDIE
DSS[2:0]
R/W
R/W
R/W
R/W
R/W
15
14
13
12
11
10
24
SADM DADM
20
R/W
18
25
9
00000000B
00000000B
8
XXXXXXXXB
SASZ [7:0]
R/W
bit
7
6
5
4
3
DASZ [7:0]
2
1
0
XXXXXXXXB
R/W
( 続く )
316
第 11 章 DMA コントローラ (DMAC)
( 続き )
レジスタ
名前
bit
全体制御レジスタ
31
bit
bit
bit
初期値
30
29
28
−
−
PM01
DMAH[3:0]
R/W
R
R
R/W
R/W
23
22
21
20
19
18
17
16
−
−
−
−
−
−
−
−
R
R
R
R
R
R
R
R
15
14
13
12
11
10
9
8
−
−
−
−
−
−
−
−
R
R
R
R
R
R
R
R
7
6
5
4
3
2
1
0
−
−
−
−
−
−
−
−
R
R
R
R
R
R
R
R
31
30
29
28
27
26
25
24
DMACR DMAE
bit
転送元アドレス
レジスタ
ビット
DMASA
27
26
25
24
0XX00000B
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
DMASA [31:24]
R/W
bit
23
22
21
20
19
18
17
16
XXXXXXXXB
DMASA [23:16]
R/W
bit
15
14
13
12
11
10
9
8
XXXXXXXXB
DMASA [15:8]
R/W
bit
7
6
5
4
3
2
1
0
XXXXXXXXB
DMASA [7:0]
R/W
bit
転送先アドレス
レジスタ
31
30
29
DMADA
28
27
26
25
24
XXXXXXXXB
DMADA [31:24]
R/W
bit
23
22
21
20
19
18
17
16
XXXXXXXXB
DMADA [23:16]
R/W
bit
15
14
13
12
11
10
9
8
XXXXXXXXB
DMADA [15:8]
R/W
bit
7
6
5
4
3
DMADA [7:0]
2
1
0
XXXXXXXXB
R/W
317
第 11 章 DMA コントローラ (DMAC)
■ レジスタの設定に関する注意
DMAC を設定する場合 , 一部のビットの設定は DMA の停止中に行う必要があります。
これらのビットの設定を , DMA の動作中 ( 転送中 ) に行うと , 正常な動作が保証されま
せん。
以降のビット説明の中でビット名称の右端に付いているアスタリスク (*) は , DMAC 転
送中にビットの設定をしたとき , そのビットが動作に影響を及ぼすことを示します。そ
のビットを書き換える場合は , DMAC 転送を停止中に行ってください。( 起動の禁止状
態または一時停止状態 )。
これらのビットを , DMA 転送の起動禁止状態 (DMACR の DMAE=0, または DMACA の
DENB=0 のとき ) で設定した場合 , この設定は起動が許可された後に有効になります。
これらのビットを , DMA 転送の一時停止状態 (DMACR の DMAH[3:0] ≠ 0000, または
DMACA の PAUS=1 のとき ) で設定した場合 , この設定は一時停止状態の解除の後に有
効になります。
■ DMAC- チャネル 0, 1, 2, 3, 4 制御 / 状態レジスタ A(DMACA0 ∼ DMACA4)
これらのレジスタは , DMAC チャネルの動作を制御します。チャネルごとに 1 つのレ
ジスタがあります。
以下に , 各ビットの機能を説明します。
アドレス
bit31
30
29
00000200H DENB PAUS STRG
00000208H
00000210H
bit15
14
13
00000218H
00000220H
28
27
26
25
24
23
IS[4:0]
12
11
10
22
21
20
19
DDNO[3:0]
9
8
7
6
5
18
17
16
BLK[3:0]
4
3
2
1
0
DTC[15:0]
( 初期値 : 00000000_0000XXXX_XXXXXXXX_XXXXXXXXB)
[bit31] DENB(DMA Enable): DMA の動作許可ビット
各転送チャネルに対し , DMA 転送の起動の許可 / 禁止を制御します。
起動されたチャネルは , 転送要求が発生し , 受け付けられると DMA 転送を開始しま
す。
起動を許可されないチャネルに出された転送要求はすべて無効となります。
起動されたチャネルで指定したカウントの転送が終了すると , このビットは "0" に
なり転送は停止します。
このビットに "0" が書き込まれると , 転送は強制的に停止となります。ただし , "0" を
書き込んで転送を強制的に停止する前に , PAUS ビット (DMACA の bit30) で , 一時的
に DMA を停止状態にする必要があります。一時停止せずに強制停止すると , DMA
は停止しますが , 転送データは保証されません。DSS[2:0] ビット (DMACB の bit18 ∼
bit16) で停止の種類を確認してください。
DENB
318
機能
0
対応チャネルの DMA の動作を禁止 ( 初期値 )
1
対応チャネルの DMA の動作を許可
第 11 章 DMA コントローラ (DMAC)
• リセット時 , または停止要求が受け付けられたとき , "0" に初期化されます。
• 読出し / 書込みが可能です。
• DMAC 全体制御レジスタ (DMACR) の bit15 の DMAE ビットによって全チャネルの
動作が禁止されている場合 , このビットへの "1" の書込みは無効となり , 停止状態が
維持されます。このビットによって動作が許可されている状態で , bit15 の DMAE
ビットによって全チャネルの動作が禁止された場合 , DENB ビットは "0" になり , 転
送は中断します ( 強制停止 )。
[bit30] PAUS(Pause): 一時停止指示
対応するチャネルの DMA 転送の一時停止を制御します。このビットがいったん設
定されると , クリアされるまで DMA 転送は実行されません (DMA の停止中 , DSS
ビットは "1xx" になります )。
起動前に PAUS ビットが設定されると , 起動しても一時停止状態が継続します。
このビットが設定されているとき , 新たに出された転送要求は受け付けられますが ,
このビットがクリアされるまで転送は開始されません。
PAUS
機能
0
対応チャネルの DMA 動作を許可 ( 初期値 )
1
対応チャネルの DMA を一時停止
• リセット時 , "0" に初期化されます。
• 読出し / 書込みが可能です。
[bit29] STRG(Software Trigger): 転送要求
対応するチャネルの DMA 転送要求を発生します。このビットに "1" が書き込まれ
ると , レジスタへの書込みが終了した時点で転送要求が発生し , 対応するチャネル
の転送が始まります。ただし , 対応するチャネルが起動許可されていない場合 , こ
のビットの操作は無効です。
STRG
機能
0
無効
1
DMA 起動要求
• リセット時 , "0" に初期化されます。
• 読出し値は常に "0" です。
• 書込み値として有効なのは "1" だけです。"0" 設定は動作に影響しません。
<注意事項>
DMAE ビットへの書込みによる起動と , STRG ビットによる転送要求の発生が同時
に起こった場合 , 転送要求は有効になり , 転送が始まります。STRG ビットによる
転送要求の発生と , PAUS ビットへの "1" の書込みが同時に発生した場合 , 転送要求
は有効ですが , PAUS ビットが "0" に戻るまで DMA 転送は開始されません。
319
第 11 章 DMA コントローラ (DMAC)
[bit28 ∼ bit24] IS4 ∼ IS0(Input Select)*: 転送要因の選択
転送要求の要因を下表のように選択します。ただし , STRG ビットの機能によるソ
フトウェア転送要求は , これらのビット設定に関係なく有効です。
IS
機能
00000
ソフトウェア転送要求のみ
00001
設定禁止
↓
↓
01101
設定禁止
01110
外部 DMA 端子 "H" レベル , または↑ エッジ
01111
外部 DMA 端子 "L" レベル , または↓ エッジ
10000
UART0 RX 割込み
10001
UART0 TX 割込み
10010
UART1 RX 割込み
10011
UART1 TX 割込み
10100
外部割込み 0
10101
外部割込み 1
10110
リロードタイマ 0 割込み
10111
リロードタイマ 1 割込み
11000
外部割込み 2
11001
外部割込み 3
11010
UART2 RX 割込み
11011
UART2 TX 割込み
11100
SlO0 割込み *
11101
I2C 割込み
11110
A/D コンバータ割込み
11111
SIOl 割込み *
転送停止要求
なし
あり
なし
*: MB91F369GA のみ実装
• リセット時 , "00" に初期化されます。
• 読出し / 書込みが可能です。
<注意事項>
320
• デマンド転送モードが選択されている場合は , IS[4:0]=01110, 01111 のみ設定可
能です。他の要因による起動は禁止されます。
• 外部要求入力は , チャネル 0, 1, 2 についてのみ有効です。チャネル 3, 4 につい
ては , 外部要求入力は選択できません。検出方法をレベル検出とするかエッジ検
出とするかは , モード設定によって決まります。デマンド転送にはレベル検出が
使用され , その他のモードにはエッジ検出が使用されます。
第 11 章 DMA コントローラ (DMAC)
[bit23 ∼ bit20] DDNO3 ∼ DDNO0(Direct Access Number)*:
内部周辺回路へのフライ
バイ転送
これらのビットは , 対応するチャネルで使用される転送先 / 転送元の内部周辺回路
レジスタを指定します。
• リセット時 , "0000" に初期化されます。
• 読出し / 書込み可能です。
<注意事項>
本モデルは , この機能をサポートしません。書き込まれたデータは無視されます。
[bit19 ∼ bit16] BLK3 ∼ BLK0(Block Size): ブロックサイズ指定
対応するチャネルのブロック転送時のブロックサイズを指定します。これらのビッ
トで設定された値は , 1 つの転送単位におけるワード数 ( より正確には , データサイ
ズ設定の繰返しカウント ) になります。ブロック転送を実行しない場合は , 01H( サ
イズ 1) を設定します。デマンド転送の場合 , このレジスタの値は無視され , サイズ
1 が使用されます。
BLK
XXXXB
機能
対応チャネルのブロックサイズ指定
• リセット時に初期化されません。
• 読出し / 書込みが可能です。
• 全ビットを "0" に設定すると , ブロックサイズは 16 ワードになります。
• 読出し時には , ブロックサイズ ( リロード値 ) が常に読み出されます。
[bit15 ∼ bit0] DTC(DMA Terminal Count Register)*: 転送カウントレジスタ
このレジスタには転送カウントが格納されます。各レジスタ (DMACA ごとに 1 つ )
は 16 ビット構成です。
各レジスタには , 専用リロードレジスタがあります。転送カウンタレジスタのリ
ロードを許可しているチャネルに使用した場合 , 転送終了時に自動的に初期設定値
をレジスタに戻します。
DTC
XXXXH
機能
対応チャネルの転送カウント指定
DMA 転送が開始されると , このレジスタのデータは DMA 専用転送カウントカウン
タのカウンタバッファに格納され , このカウンタは転送単位ごとに減分されます。
DMA 転送の最後に , カウンタバッファの内容がレジスタに書き戻されて , DMA が
終了します。したがって , DMA の動作中には , 転送カウント値を読み出すことはで
きません。
• リセット時 , 初期化されません。
• 読出し / 書込みが可能です。DTC アクセスにはハーフワード長 , またはワード長を
使用する必要があります。
• 読出し値はカウント値です。リロード値を読み出すことはできません。
321
第 11 章 DMA コントローラ (DMAC)
■ DMAC- チャネル 0, 1, 2, 3, 4 コントロール / ステータスレジスタ B(DMACB0 ∼
DMACB4)
これらのレジスタは , DMAC チャネルの動作を制御します。チャネルごとに 1 つのレ
ジスタがあります。
各ビットの機能を以下に説明します。
アドレス
bit31
30
00000204H TYPE[1:0]
0000020CH
00000214H
bit15
14
0000021CH
00000224H
29
28
MOD[1:0]
13
11
27
26
WS[1:0]
11
25
24
23
22
21
20
19
18
SADM DADM DTCR SADR DADR ERIE EDIE
10
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] TYPE(Type)*: 転送種類設定
対応するチャネルの動作の種類を次のように設定します。
• 2 サイクル転送モード :
このモードでは , 転送元アドレス (DMASA), および転送先
アドレス (DMADA) を設定し , 転送カウントの値だけ読出
しと書込み操作を繰り返し , 転送を実行します。全領域
(32 ビットアドレシング ) を転送元 , および転送先に指定
できます。
• フライバイ転送モード : このモードでは , 転送先アドレス (DMADA) にメモリアド
レスを設定することにより, 外部領域⇔外部領域の転送を
1 サイクルで実行します。メモリアドレスは必ず外部領域
(SDRAM を除く ) を指定してください。
TYPE
機能
00
2 サイクル転送 ( 初期値 )
01
フライバイ : メモリから I/O への転送
10
フライバイ :I/O からメモリへの転送
11
設定禁止
• リセット時 , "00" に初期化されます。
• 読出し / 書込みが可能です。
322
第 11 章 DMA コントローラ (DMAC)
[bit29, bit28] MOD(Mode)*: 転送モード設定
対応するチャネルの動作モードを下表のように設定します。
MOD
機能
00
ブロック / ステップ転送モード ( 初期値 )
01
バースト転送モード
10
デマンド転送モード
11
設定禁止
• リセット時 , "00" に初期化されます。
• 読出し / 書込みが可能です。
[bit27, bit26] WS(Word Size): 転送データサイズ選択
対応するチャネルの転送データサイズを選択します。
転送は , このレジスタで設定したデータサイズで指定回数分の転送を行います。
WS
機能
00
バイト単位の転送 ( 初期値 )
01
ハーフワード単位の転送
10
ワード単位の転送
11
設定禁止
• リセット時 , "00" に初期化されます。
• 読出し / 書込みが可能です。
[bit25] SADM(Source-Addr.Count-Mode Select)*: 転送元アドレスカウントモード指定
対応するチャネルの転送元アドレスの , 1 転送ごとのアドレス処理を指定します。
アドレスの増分 / 減分は , 指定された転送元アドレスカウントサイズ (SASZ) に従い
ます。アドレスは , 1 回の転送ごとに増分 , または減分されます。転送が終了すると ,
次のアクセスアドレスが , 対応するアドレスレジスタ (DMASA) に書き込まれます。
したがって, DMA転送が終了するまで, 転送元アドレスレジスタは更新されません。
アドレスを固定するには , このレジスタの増分 , または減分を指定し , アドレスカウ
ントサイズを "0" にします。
SADM
機能
0
転送元アドレスを増分します。( 初期値 )
1
転送元アドレスを減分します。
• リセット時 , "0" に初期化されます。
• 読出し / 書込みが可能です。
323
第 11 章 DMA コントローラ (DMAC)
[bit24] DADM(Destination-Addr.Count-Mode Select)*:
転送先アドレスカウント
モード指定
対応するチャネルの転送先アドレスの , 1 転送ごとのアドレス処理を指定します。
アドレスの増分 / 減分は , 指定された転送先アドレスカウントサイズ (DASZ) に従い
ます。アドレスは 1 回の転送ごとに増分 , または減分されます。転送が終了すると ,
次のアクセスアドレスが , 対応するアドレスレジスタ (DMADA) に書き込まれます。
したがって , DMA 転送が終了するまで転送先アドレスレジスタは更新されません。
アドレスを固定するには , 本レジスタの増分 , または減分を指定し , アドレスカウン
トサイズを "0" にします。
DADM
機能
0
転送先アドレスを増分します。( 初期値 )
1
転送先アドレスを減分します。
• リセット時 , "0" に初期化されます。
• 読出し / 書込み可能です。
[bit23] DTCR(DTC-Reg.Reload)*: 転送カウントレジスタリロード指定
対応するチャネルの転送カウントレジスタのリロード機能を制御します。
このビットによってリロードが許可されている場合 , 転送終了時にカウントレジス
タの値を初期設定値に戻して , 転送が再起動されます。
カウントカウンタのリロードが禁止されている場合 , アドレスレジスタでリロード
が指定されていた場合でも , 転送はシングルショットの動作になり , 転送の終了時
に動作が停止します。
DTCR
機能
0
転送カウントレジスタのリロードを禁止します ( 初期値 )。
1
転送カウントレジスタのリロードを許可します。
• リセット時 , "0" に初期化されます。
• 読出し / 書込み可能です。
[bit22] SADR(Source-Addr.-Reg.Reload)*: 転送元アドレスレジスタリロード指定
対応するチャネルのアドレスレジスタのリロード機能を制御します。
このビットによってリロードが許可されている場合は , 転送の終了時に転送元アド
レスレジスタの値を初期設定値に戻します。
カウントカウンタのリロードが禁止されている場合 , アドレスレジスタでリロード
が指定されていた場合でも , 転送はシングルショットの動作になり , 転送終了時に
動作が停止します。この場合 , アドレスレジスタの値は , 初期設定値がリロードさ
れた状態で停止します。
このビットによってリロードが禁止されている場合 , 転送終了時のアドレスレジス
タの値は , 最終アドレスの次のアクセスアドレス ( アドレスの増分が指定されてい
る場合は , 増分されたアドレス ) になります。
324
第 11 章 DMA コントローラ (DMAC)
SADR
機能
0
転送元アドレスレジスタのリロードを禁止します ( 初期値 )。
1
転送元アドレスレジスタのリロードを許可します。
• リセット時 , "0" に初期化されます。
• 読出し / 書込みが可能です。
[bit21] DADR(Dest.-Addr.-Reg.Reload)*: 転送先アドレスレジスタリロード指定
対応するチャネルのアドレスレジスタのリロード機能を制御します。
このビットによってリロードが許可されている場合 , 転送終了時に転送先アドレス
レジスタの値を初期設定値に戻します。このほかの機能の詳細は , bit22 の SADR と
同等です。
DADR
機能
0
転送先アドレスレジスタのリロードを禁止します ( 初期値 )。
1
転送先アドレスレジスタのリロードを許可します。
• リセット時 , "0" に初期化されます。
• 読出し / 書込みが可能です。
[bit20] ERIE(Error Interrupt Enable)*: エラー割込み出力許可
エラーによる終了のための割込みの発生を制御します。DSS2 ∼ DSS0 は , 発生した
エラーの種類を示します。すべての終了要因により , この割込みが発生するわけで
はないことに注意してください。割込みが発生するのは , 特定の終了要因の場合だ
けです。(bit18 ∼ bit16 の DSS2 ∼ DSS0 ビットの説明を参照してください。)
ERIE
機能
0
エラー割込み要求の出力を禁止します ( 初期値 )。
1
エラー転送要求の出力を許可します。
• リセット時 , "0" に初期化されます。
• 読出し / 書込みが可能です。
[bitl9] EDIE(End Interrupt Enable)*: 終了割込み出力許可
正常終了したときの割込みの発生を制御します。
EDIE
機能
0
終了割込み要求の出力を禁止します ( 初期値 )。
1
終了転送要求の出力を許可します。
• リセット時 : "0" に初期化されます。
• 読出し / 書込みが可能です。
325
第 11 章 DMA コントローラ (DMAC)
[bit18 ∼ bit16] DSS2 ∼ DSS0(DMA Stop Status)*: 転送停止要因表示
対応するチャネルの DMA 転送が停止 , または終了した要因を示す 3 ビットコード
( 終了コード ) を表示します。終了コードの内容は下表のとおりです。
DSS
機能
発生する割込み
000
初期値
x01
アドレスエラー ( アンダフロー / オーバフロー )
エラー
x10
転送停止要求
エラー
x11
正常終了
終了
1xx
DMA 一時停止中 (DMAH, PAUS ビット , 割込み , 他 )
なし
なし
転送停止要求が設定されるのは , 周辺回路要求 , および外部端子の DSTP 機能が使
用される場合だけです。
「発生する割込み」欄は , 発生可能な割込み要求の種類を示します。
• リセット時 , "000" に初期化されます。
• "000" が書き込まれるとクリアされます。
• 読出し / 書込みが可能です。ただし , このビットへの書込みは , "000" のみ有効とな
ります。
[bit15 ∼ bit8] SASZ(Source Addr Count Size)*: 転送元アドレスカウントサイズ指定
対応するチャネルの 1 転送ごとの転送元アドレス (DMASA) の増減を指定します。
このビットに設定される値が , 1 回の転送単位でのアドレスの増分 , または減分にな
ります。アドレスの増分 , および減分は , 転送元アドレスカウントモード (SADM)
の指定に従います。
SASZ
XXH
機能
転送元アドレスの増分または減分のサイズを指定します。0 ∼
255。
• リセット時 , 初期化されません。
• 読出し / 書込みが可能です。
[bit7 ∼ bit0] DASZ(Des Addr Count Size)*: 転送先アドレスカウントサイズ指定
対応するチャネルの 1 転送ごとの転送先アドレス (DMADA)\ の増減を指定します。
このビットに設定される値が , 1 回の転送単位でのアドレスの増分 , または減分にな
ります。アドレスの増分 , および減分は , 転送先アドレスカウントモード (DADM)
の指定に従います。
DASZ
機能
XXH
転送先アドレスの増分または減分のサイズを指定します。0 ∼ 255。
• リセット時 , 初期化されません。
• 読出し / 書込みが可能です。
326
第 11 章 DMA コントローラ (DMAC)
■ DMAC- チャネル 0, 1, 2, 3, 4 転送元 / 転送先アドレス設定レジスタ (DMASA0 ∼
DMASA4/DMADA0 ∼ DMADA4)
これらのレジスタは , 各 DMAC チャネルの動作を制御します。チャネルごとに 1 つの
レジスタがあります。
各ビットの機能を以下に説明します。
bit
31
30
29
28
27
26
25
24
23
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]
( 初期値 : XXXXXXXX_XXXXXXXX_XXXXXXXX_XXXXXXXXB)
bit
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
DMADA[31:16]
bit
15
14
13
12
11
10
9
8
7
DMADA[15:0]
( 初期値 : XXXXXXXX_XXXXXXXX_XXXXXXXX_XXXXXXXXB)
転送元 / 転送先アドレスは , このレジスタ群に格納されます。各レジスタは 32 ビッ
ト構成です。
[bit31 ∼ bit0] DMASA(DMA Source Addr)*: 転送元アドレス設定
転送元アドレスを指定します。
[bit31 ∼ bit0] DMADA(DMA Destination Addr)*: 転送先アドレス設定
転送先アドレスの設定を行います。
DMA 転送が開始されると , このレジスタデータは DMA 専用アドレスカウンタのカ
ウンタバッファに格納され , 設定に従い , 転送ごとにアドレスがカウントされます。
DMA 転送の最後に , カウンタバッファの内容がレジスタに書き戻されて , DMA が
終了します。
したがって, DMAの動作中にアドレスカウンタの値を読み出せません。
各レジスタには専用リロードレジスタがあります。転送元 / 先アドレスレジスタの
リロードを許可しているチャネルに使用した場合 , 転送終了時に自動的に初期設定
値をレジスタに戻します。他のアドレスレジスタには影響ありません。
• リセット時 , 初期化されません。
• 読出し / 書込みが可能です。本レジスタには必ず 32 ビットデータでアクセスしてく
ださい。
• 読出し値は , 転送中は転送前のアドレス値になり , 転送終了時には次のアクセスア
ドレス値になります。リロード値を読み出すことはできません。したがって , 転送
アドレスをリアルタイムで読み出すことはできません。
このレジスタで DMAC レジスタを設定しないでください。DMAC レジスタ自身へ
の DMA 転送はできません。
327
第 11 章 DMA コントローラ (DMAC)
■ DMAC- チャネル 0, 1, 2, 3, 4 DMAC 全体制御レジスタ (DMACR)
このレジスタは , 5 つの DMAC チャネルの全体動作を制御します。このレジスタには
必ずバイトデータでアクセスしてください。
各ビットの機能は下表のとおりです。
bit
bit
31
30
29
28
DMAE
−
−
PM01
27
26
25
15
14
13
11
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 動作が許可されている場合 , 各チャネルに対する起動 / 停
止操作は有効ですが , これだけでは各チャネルは起動されません。
DMAE ビットに "0" が書き込まれると , 転送は強制終了します。"0" を書き込んで強
制的に終了するには , その前に , DMAH[3:0] ビット [DMACR レジスタの bit27 ∼
bit24] によって DMA を一時停止状態にしてから行ってください。一時停止しない
で強制終了すると , DMA は停止しますが , データ転送は保証されません。DSS[2:0]
ビット [DMACB レジスタの bit18 ∼ bit16] で , 停止の種類を確認してください。
DMAE
機能
0
全チャネルで DMA 転送を禁止 ( 初期値 )
1
全チャネルで DMA 転送を許可
• リセット時 , "0" に初期化されます。
• 読出し / 書込みが可能です。
[bit28] PM01(Priority mode ch0, ch1 robin): チャネル優先度回転
転送ごとにチャネル 0 とチャネル 1 の優先度を回転するには , このビットを設定し
ます。
PM01
機能
0
優先順位固定 ( チャネル 0 >チャネル 1)( 初期値 )
1
優先順位回転 ( チャネル 1 >チャネル 0)
• リセット時 , "0" に初期化されます。
• 読出し / 書込みが可能です。
328
第 11 章 DMA コントローラ (DMAC)
[bit27 ∼ bit24] DMAH(DMA Halt): DMA 一時停止
全 DMA チャネルの一時停止を制御します。このビットがいったん設定されると ,
このビットがクリアされるまで , どのチャネルでも DMA 転送は実行されません。
起動の前にこのビットが設定されると , 起動後も , 全チャネルが一時停止状態のま
まになります。
このビットが設定されている間 , DMA 転送が許可されている (DENB=1) チャネルで
発生する転送要求は , すべて有効です。このビットがクリアされると転送が開始さ
れます。
DMAH
0000
0000 以外
機能
全チャネルで DMA 動作を許可 ( 初期値 )
全チャネルで DMA を一時停止
• リセット時 , "0" に初期化されます。
• 読出し / 書込みが可能です。
[bit30, bit29, bit23 ∼ bit0] (Reserved): 未使用ビット
• 読出し値は不定です。
329
第 11 章 DMA コントローラ (DMAC)
11.3
DMA コントローラ (DMAC) の動作
ここでは , DMA コントローラ (DMAC) の動作について説明します。
■ 動作概要
DMAC ブロックは , FR50 製品に組み込まれている多機能 DMA コントローラで , CPU
を介入させずに高速なデータ転送を制御します。
● 主要動作
• 各転送チャネルは独立に各種の機能を設定できます。
• 起動を許可されたチャネルは , 設定された転送要求を検出するまでは転送動作を開
始しません。
• チャネルは , 転送要求を検出すると , DMA 転送要求をバスコントローラに対して出
します。これによりチャネルはバス使用の権利をバスコントローラから取得し , 転
送を開始します。
• データは , チャネルごとに設定されたモードに従ったシーケンスで転送されます。
● 転送モード
各DMAコントローラチャネルは, そのチャネルに対するDMACBレジスタのMOD[1:0]
ビットで設定される転送モードに従ってデータを転送します。
• ブロック / ステップ転送
DMA コントローラは , 転送要求を受け付けると , データを 1 ブロックだけ転送しま
す。DMA コントローラは , 次の転送要求を受け付けるまで , バスコントローラに対
して転送要求を出しません。
ブロック転送単位 : 設定されたブロックサイズ分 (DMACA:BLK[3:0])
• バースト転送
DMA コントローラは , 転送要求を受け付けると , 指定された転送カウントを終了す
るまで連続してデータを転送します。
指定された転送カウント : ブロックサイズ分×転送カウント分 (DMACA:BLK[3:0] ×
DMACA:DTC[15:0])
• デマンド転送
DMAコントローラは, 指定された転送カウントを終了するまで連続してデータを転
送するか , 外部からの転送要求 (DREQ 端子のレベル検出 ) 入力終了まで連続して
データを転送します。デマンド転送での指定転送回数は設定した転送カウント分
(DMACA:DTC[15:0]) となります。ブロックサイズは "1" に固定され , レジスタ値は
無視されます。
● 転送の種類
• 2 サイクル転送 ( 通常転送 )
DMA コントローラ動作は , 読出し動作と書込み動作を 1 つの単位として動作を行い
ます。
DMA コントローラは , 転送元レジスタにあるアドレスからデータを読み出し , 転送
先レジスタにあるアドレスにそのデータを書き込みます。
330
第 11 章 DMA コントローラ (DMAC)
• フライバイ転送 ( メモリから I/O へ )
DMA コントローラの動作は , 読出し動作を 1 つの単位として動作を行います。
フライバイ転送を設定して DMA 転送を行うと , DMA コントローラは , フライバイ転
送 ( 読出し ) 要求をバスコントローラに対して出力します。バスコントローラは , 外
部インタフェースにフライバイ転送 ( 読出し ) によるデータ転送をさせます。
• フライバイ転送 (I/O からメモリへ )
DMA コントローラの動作は , 書込み動作を 1 つの単位として動作を行います。
他の動作は , メモリから I/O へのフライバイ転送と同じです。
フライバイ転送でデータを書き込むためには , アクセスする領域は外部領域でなけ
ればなりません。
● 転送アドレス
アドレスは転送の種類によって , 以下のように設定されます。各チャネル転送元 , およ
びチャネル転送先について個別のアドレスが設定されます。
2 サイクル転送でのアドレス設定レジスタ (DMASA, および DMADA) の指定方法は , フ
ライバイ転送の場合と異なります。
• 2 サイクル転送のアドレス指定
あらかじめアドレスを設定してあるレジスタ (DMASA, または DMADA) からの読出
し値が , データアクセスのアドレスとして使用されます。
DMAコントローラは転送要求を受け付けると, レジスタからアドレスを読み出して
一時記憶バッファに格納し , データ転送を開始します。
1 回の転送 ( アクセス ) ごとにアドレスカウンタにて次のアクセスに使用するアド
レスを発生し ( 増分 , 減分 , または固定を選択 ), そのアドレスを一時記憶バッファ
に戻します。一時記憶バッファのデータは , 1 ブロックの転送が終了するたびにレ
ジスタ (DMASA, または DMADA) に戻されます。
したがって , 1 回のブロック転送ごとにしかアドレスレジスタ (DMASA, または
DMADA) の値が更新されないので , 転送中のアドレスをリアルタイムに知ることは
できません。
• フライバイ転送のアドレス指定
フライバイ転送では , 転送先アドレスレジスタ (DMADA) からの読出し値が , データ
アクセスのアドレスとして使用されます。転送元アドレスレジスタ (DMASA) は , 無
視されます。このアドレスは , 外部領域に設定されなければなりません。
DMAコントローラは転送要求を受け付けると, レジスタからアドレスを読み出して
一時記憶バッファに格納し , データ転送を開始します。
1 回の転送 ( アクセス ) ごとにアドレスカウンタにて次のアクセスに使用するアド
レスを発生し ( 増分 , 減分 , または固定を選択 ), そのアドレスを一時記憶バッファ
に戻します。この , 一時記憶バッファのデータは , 1 ブロックの転送が終了するたび
にレジスタ (DMADA) に戻されます。
したがって , 1 回のブロック転送ごとにしかアドレスレジスタ (DMADA) の値が更
新されないので , 転送中のアドレスをリアルタイムに知ることはできません。
331
第 11 章 DMA コントローラ (DMAC)
● 転送カウントと転送終了
• 転送カウント
転送カウントレジスタは , 1 ブロックの転送が終了するごとに 1 ずつ減分されます。
転送カウントレジスタが "0" になると , 指定転送カウントのデータ転送が終了しま
す。コントローラは終了コードを表示して停止するか , データ転送を再起動 * しま
す。
*: 転送カウントレジスタのリロードが禁止されている場合 , コントローラはデー
タ転送を停止します。リロードが許可されている場合 , コントローラはレジス
タの値を初期化して , データ転送要求 (DMACB の DTCR) を待ちます。
アドレスレジスタと同様に , 転送カウントレジスタの値も 1 ブロック転送ごとに更
新されます。
• 転送終了
転送終了の要因を以下に列挙します。転送終了時に , 要因を示す終了コードが表示
されます (DMACB の DSS[2:0])。
- 指 定 転 送 カ ウ ン ト の デ ー タ 転 送 の 終 了 (DMACA の BLK[3:0]×DMACA の
DTC[15:0]) => 正常終了
- 周辺回路または外部端子 (DSTP) からの転送停止要求の発生 => エラー
- アドレスエラーの発生 => エラー
- リセットの発生 => リセット
各終了要因に対する転送停止要因が表示され (DSS), 転送停止割込み , またはエラー
割込みの発生が可能です。
■ 転送要求の設定
DMA コントローラによる転送を開始する転送要求には , 以下に示すように 3 つの種類
があります。ソフトウェア要求は , 他の要求の設定にかかわらず常に使用できます。
● 外部転送要求端子
各チャネルの入力端子に対する入力で転送要求が発生します。
チャネル 0 ∼ 3 のみ使用可能です (DREQ0, DREQ1, DREQ2)。
転送の種類 , および起動の要因の設定により , 以下の要因が選択されます。
• エッジ検出
転送種類がブロック , ステップ , またはバースト転送の場合 , エッジ検出が選択され
ます。
- 立下りエッジ検出 : 転送要因選択レジスタで設定 DMACB の IS[4:0] が "01110" の
とき。
- 立上りエッジ検出 : 転送要因選択レジスタで設定 DMACB の IS[4:0] が "01111" の
とき。
転送の種類がデマンド転送の場合 , レベル検出が選択されます。
- "H" レベル検出 : 転送要因選択レジスタで設定 DMACB の IS[4:0] が "01110" のとき。
- "L" レベル検出 : 転送要因選択レジスタで設定 DMACB の IS[4:0] が "01111" のとき。
332
第 11 章 DMA コントローラ (DMAC)
● 内部周辺回路要求
内部周辺回路によって発生した割込みで , 転送要求を発生します。
チャネルごとに , どの周辺回路の割込みにより転送要求を発生するかを設定します。
(DMACB の IS[4:0]=1xxxx)
外部転送要求とは同時に使用することができません。
<注意事項>
転送要求として使用される割込み要求は CPU に対する割込み要求にも解釈される
ので , 割込みコントローラを割込み禁止に設定してください (ICR レジスタ )。
● ソフトウェアの要求
レジスタのトリガビットへの書込みにより, 転送要求を発生します(DMACAのSTRG)。
この要求は , 上記の 2 つの転送要求と独立して , 常に使用可能です。
ソフトウェア要求と起動 ( 転送許可 ) を同時に行った場合 , DMA 転送要求がバスコン
トローラに対して直ちに出力され , 転送が開始されます。
■ 転送シーケンス
DMA 転送起動後の動作シーケンスを指定する転送種類 , および転送モードは , チャネ
ルごとに独立して設定することができます (DMACB の TYPE [1:0], MOD[1:0] の設定 )。
● 転送シーケンスの選択
レジスタの設定によって以下のシーケンスが指定されます。
• バースト 2 サイクル転送
• デマンド 2 サイクル転送
• ブロック / ステップ 2 サイクル転送
• バーストフライバイ転送
• デマンドフライバイ転送
• ブロック / ステップフライバイ転送
[ バースト 2 サイクル転送 ]
DMA コントローラは , 転送要求を受け付けると , データ転送を指定転送カウントだ
け連続して行います。2 サイクル転送では , すべての領域に対して 32 ビットの転送
元アドレス , および転送先アドレスを指定できます。
転送要求として , 周辺回路転送要求 , ソフトウェア転送要求 , または外部端子
(DREQ) エッジ入力検出要求が選択できます。
転送元アドレスの指定
32 ビット全領域指定可能。
方向
→
転送先アドレスの指定
32 ビット全領域指定可能。
( 指定可能な転送アドレス表 )
バースト転送の特長は以下のとおりです。
• DMA コントローラは , 転送要求を受け付けると , 転送カウントレジスタが "0" にな
るまで連続してデータ転送を行います。
333
第 11 章 DMA コントローラ (DMAC)
転送カウントは次のように取得されます。
転送カウント = ブロックサイズ分×転送カウント分
(DMACA の BLK[3:0] × DMACA の DTC[15:0])
• データ転送中に別の転送要求が出されても無視されます。
• 転送カウントレジスタのリロードが許可されている場合 , データ転送終了後に次の
転送要求が受け付けられます。
• 転送中に優先度の高い転送要求が別のチャネルから受け付けられた場合は ,
1 ブ
ロックのデータ転送が終了したところでそのチャネルに切り替わります。優先度の
高い転送要求のデータ転送が終了するまで , 元のチャネルに制御が戻りません。
図 11.3-1 にバースト転送の例を示します。
バースト転送は外部端子信号の立上りエッジで起動されており , ブロック数は 1, 転
送カウントは 4 です。
図 11.3-1 バースト転送の例
転送要求(↑エッジ)
バス動作
CPU
SA
DA
4
転送カウント
SA
DA
3
SA
DA
2
SA
DA
1
CPU
0
転送終了
[ デマンド 2 サイクル転送 ]
デマンド転送シーケンスが選択されるのは , 外部端子の "H", または "L" レベルが転
送要求として選択される場合だけです。レベル選択は , DMACA の IS[3:0] で設定さ
れます。
転送元アドレスの指定
方向
転送先アドレスの指定
外部領域
→
外部領域
外部領域
→
内部 I/O
外部領域
→
内部 RAM, または ROM
内部 I/O
→
外部領域
内部 RAM, または ROM
→
外部領域
( 指定可能な転送アドレス表 )
連続転送の特長は , 以下のとおりです。
• 転送要求を 1 回の転送ごとにチェックし , 外部入力レベルが設定した転送要求レベ
ルと同じであれば , 転送要求をクリアせずにデータ転送を連続して行います。外部
入力レベルが変化すると , 転送要求はクリアされ , 1 ブロックのデータが転送された
ところでデータ転送が停止します。この動作を指定転送カウント終了まで繰り返し
ます。
334
第 11 章 DMA コントローラ (DMAC)
• ほかの動作はバースト転送の場合と同じです。
図 11.3-2 にデマンド転送の例を示します。
外部端子信号の "H" レベルで起動されており , ブロック数は "1", 転送カウントは "3"
です。
図 11.3-2 デマンド転送の例
転送要求(Hレベル)
CPU
バス動作
SA
DA
3
転送カウント
SA
DA
SA
CPU
2
DA
1
0
転送終了
<注意事項>
デマンド転送が選択されているときは , 外部領域のアドレスが , 転送元レジスタ , 転
送先レジスタ , またはその両方に設定されていることを確認してください。デマン
ド転送モード時は DMA 転送が外部バスタイミングに合わせられているため , 必ず
外部領域にアクセスすることが必要です。
[ ブロック / ステップ 2 サイクル転送 ]
ブロック / ステップ転送 (1 転送要求ごとに指定ブロック数分のデータが転送されま
す)では, 32ビット全領域の転送元アドレス, または転送先アドレスを指定できます。
転送元アドレスの指定
方向
転送先アドレスの指定
32 ビット全領域指定可能
→
32 ビット全領域指定可能
( 指定可能な転送アドレス表 )
• ステップ転送 : ブロックサイズとして "1" が設定されると , ステップ転送シーケン
スが選択されます。ステップ転送の特長は , 以下のとおりです。
- DMA コントローラは , 転送要求を受け付けると , データを 1 回だけ転送します。
その後 , 転送要求を取り消し , データ転送を停止します。DMA コントローラはバ
スコントローラに対して DMA 転送要求を取り消します。
- データ転送中に別の転送要求が出されても無視されます。
- 転送中に優先度の高い転送要求が別のチャネルから受け付けられた場合は , 現在
のデータ転送が終了したところでチャネルが切り替わり , 要求のあったデータ転
送が開始されます。転送要求が同時に発生した場合のみ , ステップ転送の優先順
位が有効です。
• ブロック転送 : ブロックサイズとして "1" 以外の値が設定されると , ブロック転送
シーケンスが選択されます。ブロック転送の特長は , 以下のとおり
です。
- この転送は , 1 回のデータ転送が複数回の ( ブロック数の ) 転送サイクルで構成さ
れる点を除けば , ステップ転送と同じ動作です。
図 11.3-3 にブロック転送の例を示します。
335
第 11 章 DMA コントローラ (DMAC)
ブロック転送は外部端子信号の立上りエッジで起動されており , ブロック数は "2",
転送カウントは "2" です。
図 11.3-3 ブロック転送の例
転送要求(↑エッジ)
バス動作
CPU
SA
DA
SA
ブロック数
DA
CPU
1
2
0
SA
DA
SA
DA
1
2
1
2
転送終了
[ バーストフライバイ転送 ]
この転送は , 転送領域が外部領域のみであることと , 転送動作が 1 回の読出し動作
( メモリから I/O へ ), または書込み動作 (I/O からメモリへ ) のみであることを除
けば , 2 サイクル転送と同じです。
転送元アドレスの指定
方向
転送先アドレスの指定
指定不要 ( 無効 )
なし
外部領域
( 指定可能な転送アドレスの表 )
[ デマンドフライバイ転送 ]
この転送は , 転送領域が外部領域のみであることと , 転送動作が 1 回の読出し動作
( メモリから I/O へ ), または書込み動作 (I/O からメモリへ ) のみであることを除
けば , 2 サイクル転送と同じです。
転送元アドレスの指定
方向
転送先アドレスの指定
指定不要 ( 無効 )
なし
外部領域
( 指定可能な転送アドレスの表 )
[ ブロック / ステップフライバイ転送 ]
この転送は , 転送領域が外部領域のみであることと , 転送動作が 1 回の読出し動作
( メモリから I/O へ ), または書込み動作 (I/O からメモリへ ) のみであることを除
けば , 2 サイクル転送と同じです。
転送元アドレスの指定
方向
転送先アドレスの指定
指定不要 ( 無効 )
なし
外部領域
( 指定可能な転送アドレスの表 )
336
第 11 章 DMA コントローラ (DMAC)
■ DMA 転送全般
● ブロックサイズ
• 1 回で転送されるデータ量は , ブロックサイズ指定レジスタで設定された数 (× デー
タサイズ ) のデータの集合となります。
• 1 転送サイクルで転送されるデータ量は , データサイズとして指定される値に固定
されるので , 1 回に転送されるデータは , ブロックサイズ指定値の分の転送サイクル
数で構成されます。
• データ転送中に優先度の高い転送要求が受け付けられた場合 , またはデータ転送一
時停止要求が出された場合 , 現在のデータブロック単位が転送されたところでデー
タ転送が停止します。これにより , 分割 , または一時停止がを希望しないデータブ
ロックは保護されますが , ブロックサイズが大きいと , 応答が低下することがあり
ます。
• データ転送を直ちに停止するのは , リセット信号が検出された場合だけです。ただ
し , 転送中のデータは保証されません。
● リロード動作
DMAC モジュールは , 以下に示すような 3 種類のリロード機能をチャネルごとに設定
できます。
• 転送カウントレジスタリロード機能
指定カウントのデータ転送が終了すると , この機能によって転送カウントレジスタ
に初期設定値が再度設定され , 起動の受付けを待ちます。
この機能は , 全転送シーケンスを繰り返すときに設定します。
この機能を指定しない場合 , 指定カウントのデータ転送の終了後にカウントレジス
タの値はゼロのままとなり , それ以降 , データ転送は行われません。
• 転送元アドレスレジスタリロード機能
指定カウントのデータ転送が終了すると , この機能によって転送元アドレスレジス
タに初期設定値が再度設定されます。
この機能は , 転送元アドレス領域の固定領域からデータを連続して転送する場合に
設定します。
この機能を指定しない場合 , 転送元アドレスレジスタの値は , 指定カウントのデー
タ転送が終了した時に使われたアドレスの次のアドレスになります。アドレス領域
を固定しない場合はこの機能を使用します。
• 転送先アドレスレジスタリロード機能
指定カウントのデータ転送が終了すると , この機能によって転送先アドレスレジス
タに初期設定値が再度設定されます。
この機能は , 転送先アドレス領域の固定領域へデータを連続して転送する場合に設
定します。
( 以下 , 上記の「転送元アドレスレジスタリロード機能」と同じ。)
- 指定カウントのデータ転送の終了後 , 転送元レジスタまたは転送先レジスタのリ
ロード機能を単に有効にしているだけではデータ転送は再起動されません。各アド
レスレジスタの値が再設定されるだけです。
337
第 11 章 DMA コントローラ (DMAC)
<注意事項>
動作モード , およびリロード動作の特殊な例を記載しますので , 注意してください。
• 外部端子入力レベル検出による連続転送モードでデータを入力が連続している間
に転送しているときに , 転送カウントレジスタリロード機能を使用した場合は ,
データ転送が終了したとしても , そのままリロードされ , 転送を継続します。こ
の場合も終了コードは設定されます。
• 転送終了によってデータ転送を一時停止した後に入力検出から再起動する場合は ,
リロード機能を指定しないでください。
• バースト , ブロック , ステップ転送モードでデータが転送されている場合は , 転
送終了となるリロード後 , いったん転送を中断し , あらためて転送要求入力が再
度検出されるまでデータは転送されません。
■ アドレッシングモード
各転送チャネルの転送先 , および転送元のアドレスは個別に指定します。
アドレスの指定方法を以下に示します。アドレスは転送シーケンスの中で指定します。
● アドレスレジスタの指定
• アドレスレジスタの特長
最大 32 ビット長のレジスタです。32 ビット長を使用している場合は , メモリマッ
プ内のすべての空間がアクセス可能です。
• 転送モードとアドレス設定
- 2サイクル転送モードでは, 転送元アドレスを転送元アドレス設定レジスタ(DMASA)
で設定し , 転送先アドレスを転送先アドレス設定レジスタ (DMADA) で設定しま
す。
- フライバイ転送モードでは, メモリアドレスを転送元アドレス設定レジスタ(DMASA)
で設定します。転送先アドレス設定レジスタ (DMADA) の値はこの時点では無視
されます。
• アドレスレジスタの機能
- アドレスはアクセスごとに読み出され , アドレスバスに転送されます。
- 同時にアドレスカウンタが , 次のアクセスで使用するアドレスを計算し , アドレ
スレジスタは新しいアドレスに更新されます。
- 転送先 , および転送元のアドレスは , チャネルごとに個別に , 増分 , または減分に
よって計算されます。アドレスの計算に使用される増分 , または減分の幅は , ア
ドレスカウントサイズ指定レジスタの値 (DMACB の SASZ, DASZ) によって指定
されます。
- 転送終了時のアドレスレジスタがリロード機能を有効にしていない場合 , 最終ア
ドレスにアドレス計算をした結果のアドレスが残されます。
- リロード機能が有効の場合 , アドレスの初期値がリロードされます。
338
第 11 章 DMA コントローラ (DMAC)
<注意事項>
• 32 ビットアドレス計算の結果 , オーバフロー , またはアンダフローが発生した場
合は , アドレスエラーとしてエラーが検出され , そのチャネルのデータ転送が停
止します。( 終了コードに関連する項目を参照してください。)
• アドレスレジスタに DMAC レジスタアドレスを設定しないでください。
• デマンド転送では , 外部領域のアドレスが転送元アドレス設定レジスタ , 転送先
アドレス設定レジスタ , またはその両方に設定されていることを確認してくださ
い。
• DMAC による DMAC レジスタへのデータ転送は行わないでください。
■ データの種類
1 回の転送のデータ長 ( データサイズ ) は , 以下の 3 つから選択します。
• バイト
• ハーフワード
• ワード
DMA データ転送ではワードバウンダリ仕様が遵守されます。したがって , データ長の
異なるアドレスが転送先 , または転送元のアドレスに指定された場合は , そのデータ長
の異なる下位ビットが無視されます。
• バイト
: アクセス開始アドレスと指定アドレスは一致します。
• ハーフワード : アクセス開始アドレスは , 下位 1 ビットが "0" である 2 バイトで構成
されます。
• ワード
: アクセス開始アドレスは , 下位 2 ビットが "00" である 4 バイトで構
成されます。
転送元アドレスの下位ビットが転送先アドレスの下位ビットと異なる場合は , 設定さ
れたままのアドレスが内部アドレスバスに出力されます。しかし , そのアドレスは上記
の仕様に従って修正されて , データがアクセスされます。
■ 転送カウントの制御
転送カウントは 16 ビットの範囲で指定します (1 ∼ 65536)。転送カウント指定値は , 転
送カウントレジスタ (DMACA の DTC) で設定します。
データ転送が開始されると , レジスタ値は一時記憶バッファに格納され , 転送カウント
カウンタによって "1" だけ減分されます。このカウンタ値が "0" になると , 指定カウン
ト数の転送が終了したことが検出され , そのチャネルのデータ転送が停止するか , 再起
動の受付け待ち ( リロード指定時 ) が行われます。
● 転送カウントレジスタ群の特長
• 各レジスタは 16 ビット構成です。
• 各レジスタには専用リロードレジスタがあります。
• データ転送が開始されるときのレジスタ値がゼロである場合 , データは 65,536 回転
送されます。
● リロード動作
• この機能が効果的なのは , リロード機能があるレジスタで , リロードが許可されて
いる場合だけです。
339
第 11 章 DMA コントローラ (DMAC)
• データ転送が開始されると , カウントレジスタの初期値がリロードレジスタに退避
します。
• 転送カウントカウンタがゼロになると , 転送終了が通知され , リロードレジスタか
ら初期値が読み出されて , カウントレジスタに書き込まれます。
■ CPU の制御
DMA は転送要求を受け付けると , バスコントローラに転送要求を送ります。
バスコントローラは , DMA に対してバス動作の切れ目にて内部バスを使用する権利を
与えます。その後 , データ転送が開始されます。
● DMA 転送と割込み
• DMA データ転送中 , 通常は , データ転送が終了するまで割込みは受け付けられませ
ん。
• 割込み中に DMA 転送要求が出力された場合 , 転送要求は受け付けられ , データ転送
が終了するまで割込みは停止されます。
• 例外として , NMI 要求 , または割込みコントローラで設定されたホールド抑止レベ
ルより高いレベルの割込み要求が出された場合 , DMAC は , 1 転送ブロックの切れ
目で一時的にバスコントローラへの転送要求を取り下げます。その後 , 要求された
割込みが終了するまで , DMAC はデータ転送を一時停止します。割込みの間 , 転送
要求は内部で保持されています。割込みが終了すると , DMAC は再びバスコント
ローラに転送要求を出力し , バス使用権を取得して , DMA 転送を再起動します。
● DMA 抑止
• FR50 の DMAC では , DMA 転送中により優先度の高い割込み要因が発生すると ,
DMA 転送を停止し , 対応する割込みルーチンへの分岐を制御します。この機能は ,
割込み要求がある限り有効ですが , 割込み要因がクリアされると抑止機構が働かな
くなり , 割込み処理ルーチン内で DMA 転送を再開します。したがって , DMA 転送
を中断させるレベルの割込み要因の処理ルーチンで , 割込み要因がクリアされた後
の DMA 再転送の開始を抑止するには , DMA 抑止機能を使用します。
DMAC 全体制御レジスタの DMAH[3:0] ビットにゼロ以外の値を書き込むと , DMA
抑止機能が動作を開始します。このレジスタにゼロを書き込むと , DMA 抑止機能は
停止します。
• この機能はおもに割込みルーチン内で使用されます。この機能は , 割込みルーチン
が割込み要因をクリアする前に DMA 抑止レジスタの値を "1" だけ増分します。こ
の増分によって , 以降の DMA 転送は起こりません。割込みが処理されると , 制御が
戻る前に DMAH[3:0] ビットの値が "1" だけ減分されます。もし多重割込みが発生し
た場合 , DMAH[3:0] ビットの値はゼロにならず , DMA 転送が連続して抑止されま
す。多重割込みが発生しない場合 , DMAH[3:0] ビットの値はゼロになり , DMA 要求
は直ちに有効になります。
<注意事項>
340
• レジスタのビット数は "4" です。15 レベルを超える多重割込みでは , この機能は
使用できません。
• DMA タスクの優先順位は , 必ず他の割込みレベルより 16 レベル以上 , 上に置い
てください。
第 11 章 DMA コントローラ (DMAC)
■ ホールド調停
デバイスが外部バス拡張モードで動作している場合 , 外部端子からのホールド機能が
使用可能です。外部ホールド要求と , DMAC モジュールによる DMA 転送要求との関
係について , 以下に説明します。
● 外部ホールド中の DMA 転送要求
DMA 転送開始後に外部バス領域がアクセスされる場合 , DMA 転送はその時点で一時
停止します。DMA 転送は , 外部ホールドが解除された後に再起動されます。
● DMA 転送中の外部ホールド要求
外部ホールド状態となります。ただし , 外部バス領域が DMA 転送でアクセスされた場
合 , DMA 転送はその時点で一時停止します。DMA 転送は , 外部ホールドが解除された
後に再起動されます。
● DMA 転送要求と外部ホールド要求の同時発生
外部ホールド状態となり , また DMA 転送が内部で開始されます。ただし , 外部バス領
域が DMA 転送でアクセスされた場合 , DMA 転送はその時点で一時停止します。DMA
転送は , 外部ホールドが解除された後に再起動されます。
■ 動作開始
各チャネルはDMA転送の開始を個別に制御しますが, 動作許可は全チャネルに必要です。
• 全チャネルの動作許可
DMAC 各チャネルを起動する前に , あらかじめ全チャネルの動作を DMA 動作許可
ビット (DMACR の DMAE) で許可する必要があります。チャネルが許可されない場
合 , 起動設定 , および転送要求はすべて無効になります。
• 転送起動
転送動作を開始するには , 各チャネルの制御レジスタにある動作許可ビットを使用
します。起動されたチャネルの転送要求が受け付けられると , 設定されているモー
ドで DMA 転送動作が開始されます。
• 一時停止後のチャネルの起動
各チャネルごと , または全チャネル制御にて , 起動前に一時停止状態にしてあった
場合 , 転送動作を起動しても一時停止状態は続きます。チャネルの停止中に転送要
求が発生すると , 要求は受け付けられ , 保持されます。一時停止が解除されると ,
チャネルはデータ転送を開始します。
■ 転送要求の受付と転送の実行
• チャネルが起動されると , 各チャネルに対して設定された転送要求のサンプリング
が開始されます。
• 外部端子起動の要因としてエッジ検出を選択した場合 , 転送要求が検出されると ,
DMAC は , 転送要求をクリアする条件が満足されるまで要求を保持します ( 外部端
子起動の要因がブロック , ステップ , バースト転送で選択されている場合 )。
• 外部端子起動の要因でレベル検出 , または周辺回路割込み起動が選択されている場
合 , DMAC は , 転送要求がクリアされるまでデータ転送を続けます。転送要求がク
リアされると , DMAC は , 1 転送単位でデータ転送を停止します ( デマンド転送 / 周
辺回路割込み起動 )。周辺回路割込みはレベル検出扱いとなりますので , 割込みは
DMA による割込みクリアで行うようにしてください。
341
第 11 章 DMA コントローラ (DMAC)
• 転送要求は , 他のチャネルの転送要求が受け付けられてデータ転送が行われている
間でも , 常に受け付けられており , 優先順位の判断を行って , 1 転送単位ごとに転送
するチャネルを決定しています。
■ DMA による周辺回路割込みのクリア
• FR50 ファミリの DMA には , 周辺回路割込みをクリアする機能があります。この機
能は , 周辺回路割込みが DMA 起動の要因として選択されている場合 (IS[4:0] が
"1xxxx" の場合 ) に動作します。
• 周辺回路割込みのクリアは , 設定された起動の要因に対して行われます。つまり ,
IS[4:0] で設定される周辺回路機能だけがクリアされます。
● 割込みクリアの発生タイミング
割込みクリアの発生タイミングは転送モードによって異なります。(「11.4 DMA コン
トローラ (DMAC) の動作フロー」を参照してください。)
● ブロック / ステップ転送
ブロック転送が選択された場合 , クリア信号は , 1 ブロック ( ステップ ) のデータが転
送されるごとに発生します。
● バースト転送
バースト転送が選択された場合 , クリア信号は , 指定転送カウントのデータ転送がすべ
て終了したら発生します。
● デマンド転送
デマンド転送では外部端子からの起動要求だけがサポートされるので , クリア信号は
発生しません。
■ DMA 転送の一時停止
DMA 転送は , 以下に示す場合に一時停止します。
• 制御レジスタにデータを書き込むことによる一時停止設定
( 全チャネル同時設定のみ可能 )
一時停止ビットによって一時停止を設定すると , 対応するチャネルは一時停止解除
が設定されるまでデータ転送を停止します。一時停止の確認には DSS ビットを使用
してください。一時停止を解除すると , チャネルはデータ転送を再開します。
• NMI, またはホールド抑止レベル割込みの処理中
NMI 要求 , またはホールド抑止レベルより高いレベルの割込み要求が発生した場合 ,
データを転送している全チャネルが , 転送単位の切れ目で一時停止します。次に
チャネルはバス使用権を開放し , NMI, またはホールド抑止レベル割込みの処理を
優先します。チャネルは , NMI, または割込みの処理中に受け付けた転送要求をその
まま保持し , NMI 処理が終了するのを待ちます。要求を保持しているチャネルが
データ転送を再開するのは , NMI, またはホールド抑止レベルの割込み処理が完了
してからです。
342
第 11 章 DMA コントローラ (DMAC)
■ 動作終了 / 停止
DMA 転送の終了はチャネルごとに個別に制御されますが , 全チャネルの動作を禁止す
ることも可能です。
● 転送終了
リロードが有効でない場合 , 転送カウントレジスタがゼロになると , データ転送は停止
します。正常終了を示す終了コードが表示され , 以降の転送要求は無効になります
(DMACA の DENB ビットをクリアします )。リロードが有効の場合 , 転送カウントレ
ジスタがゼロになると , 初期値がリロードされます。正常終了を示す終了コードが表示
され , 転送要求の待ち状態に入ります (DMACA の DENB ビットをクリアしません )。
● 全チャネルの動作禁止
DMA 動作許可ビットの DMAE によって全チャネルの動作を禁止すると , 使用中のチャ
ネルを含む全チャネルの DMAC 動作が停止します。全チャネルの DMA 動作が再度許
可されても , チャネルごとに DMA 動作を再起動しない限り , データは転送されません。
この場合 , 割込みは一切発生しません。
■ エラーによる停止
指定カウントのデータ転送中に , 正常終了以外の要因でチャネルがデータ転送を停止
する場合として , 各種エラー発生による停止 , または強制停止があります。
● 周辺回路から出された転送停止要求
転送要求を出す周辺回路の中には , エラーを検出すると転送停止要求を出力するもの
があります。( 例 : 通信系周辺回路での受信エラーや送信エラー )
DMAC は , 転送停止要求を受け付けると , 転送停止要求を示す終了コードを表示して ,
対応するチャネルのデータ転送を停止します。
転送停止要求が出される条件の詳細については , 各周辺回路の仕様および IS ビットの
説明を参照してください。
● アドレスエラーの発生
以下で示すように , 各アドレッシングモードで不正なアドレッシングが行われた場合
アドレスエラーとして検出されます。(32 ビットアドレスの指定時にアドレスカウンタ
でオーバフロー , またはアンダフローが発生した場合 )
アドレスエラーが検出されると, DMACは, アドレスエラーが発生したことを示す終了
コードを表示して , 対応するチャネルのデータ転送を停止します。
■ DMAC の割込み制御
転送要求と見なされる周辺回路割込みのほかに , 次の割込みを各 DMAC チャネルに対
して出力することが可能です。
• 転送終了割込み :
データ転送が正常終了するときのみ発生します。
• エラー割込み :
周辺回路から出される転送停止要求 ( 周辺回路に起因するエラー )
アドレスエラーの発生 ( ソフトウェアに起因するエラー )
これらの割込みはすべて , 終了コードの内容に従って出力されます。
割込み要求をクリアするには , DMACS レジスタの DSS2 ∼ DSS0( 終了コード ) に "000"
343
第 11 章 DMA コントローラ (DMAC)
を書き込むことにより行われます。チャネルがデータ転送を再起動する場合は , 必ず
"000" を終了コードとして書き込んで , 割込み要求をクリアしてください。
リロードが有効であれば , チャネルは自動的にデータ転送を再起動します。この時点で
は終了コードはクリアされず , 次のデータ転送の終了による新しい終了コードが書き
込まれるまで保持されます。
1 つの終了コードには , 終了要因を 1 種類だけ表示できます。複数の要因が同時に発生
した場合は , 優先度を調べて , より優先度の高いコードが表示されます。この際発生す
る割込みは , 表示される終了コードに従います。
次のリストは , 終了コードを表示する優先順位を , 順位の高い順に並べたものです。
• リセット
• "000" の書込みによる要求のクリア
• 周辺回路停止要求 , または外部端子入力 (DSTP) による停止要求
• 正常終了
• アドレスエラー検出時の停止
• チャネルの選択および制御
■ スリープ中の DMA 転送
• DMAC はスリープモードでも動作します。
• DMAC をスリープモードで動作させるときは , 次の点に注意してください。
<注意事項>
• CPU は停止しているので , DMAC レジスタを書き換えることはできません。
DMAC をスリープモードで動作させる前に , あらかじめレジスタを設定しておく
必要があります。
• スリープモードは割込みによって解除されるので , DMAC の起動要因に周辺回路
割込みが選択されている場合は , 割込みコントローラで割込みを禁止する必要が
あります。
スリープモードが DMAC 終了割込みによって解除されないようにするには , 割
込みを禁止してください。
■ チャネルの選択と制御
転送チャネルの数は 5 チャネルまで同時に設定可能です。各チャネルの機能は個別に
設定できます。
● チャネル間優先順位
DMA 転送に同時に 1 チャネルのみ可能なため , 各チャネルには優先順位が割り当てられ
ます。優先順位の割当てには , 固定モードと回転モードがあります。後述するように ,
モードはチャネルグループごとに選択します。
● 優先順位のモード
• 固定モード
チャネルの順位がチャネル番号の小さい順に固定されます。
チャネル 0 > チャネル 1 > チャネル 2 > チャネル 3 > チャネル 4
データ転送中に優先度の高い転送要求が受け付けられた場合は , 1 転送単位 ( ブロッ
クサイズ指定レジスタの設定値×データサイズ ) のデータ転送が完了した時点で ,
転送チャネルは優先度の高いチャネルに切り替わります。
344
第 11 章 DMA コントローラ (DMAC)
優先度の高い転送要求によるデータ転送が完了すると , 元のチャネルのデータ転送
が再起動されます。
図 11.3-4 に固定モードにおける動作タイミングチャートを示します。
図 11.3-4 固定モードにおける動作タイミングチャート
チャネル0転送要求
チャネル1転送要求
SA
CPU
バス動作
転送チャネル
DA
SA
ch.1
DA
SA
ch.0
DA
SA
DA
CPU
ch.1
ch.0
チャネル0転送終了
チャネル1転送終了
• 回転モード ( チャネル 0 とチャネル 1 の間のみ )
動作が許可された当初 , チャネルは「固定モード」と同じ順位に設定されますが ,
データ転送が 1 つ終了するごとにチャネルの順位は反転します。したがって , 転送
要求が同時に出された場合 , チャネルは 1 転送単位ごとに切り替わります。このモー
ドは , 連続転送 , またはバースト転送の設定時に効果のあるモードです。
図 11.3-5 に回転モードにおける動作タイミングチャートを示します。
図 11.3-5 回転モードにおける動作タイミングチャート
チャネル0転送要求
チャネル1転送要求
CPU
バス動作
SA
転送チャネル
DA
SA
ch.1
DA
ch.0
SA
DA
ch.1
SA
DA
CPU
ch.0
チャネル0転送終了
チャネル1転送終了
● チャネルグループ
チャネル間優先順位は , 次の表に示すモードによって選択します。
モード
固定
回転
優先順位
ch.0
>
ch.1
ch.0
>
ch.1
↑
ch.0
↓
<
ch.1
備考
最初 , チャネルは上段の順位に設定されます。
上段の順位でチャネルがデータを転送した後
に順位が反転します。
■ 外部端子 , および内部動作のタイミング
外部端子および内部動作のタイミングに関する注意事項について説明します。
● DREQ 外部端子の最小有効パルス幅
DREQ 外部端子 ( チャネル 0, 1, 2 のみ ) の最小有効パルス幅は次のとおりです。
• すべての転送モード ( バースト , ステップ , ブロック , デマンド転送など ) で DMA
345
第 11 章 DMA コントローラ (DMAC)
転送を動作させる場合 , 必要なクロックサイクルの最小幅は 5 システムクロックサ
イクル (=1/2φ, CPU 系クロックの 2 周期分 ) です。
<注意事項>
DACK 出力は , DREQ 入力の受付けを示しません。DMA が許可されていて , データ
がまだ転送されていない場合 , DREQ 入力は常に受け付けられます。したがって ,
DACK 出力が有効になるまでは , DREQ 入力を保持する必要はありません ( デマン
ド転送モードを除きます )。
● デマンド転送要求の停止時における DREQ 端子入力を無効にするためのタイミングについ
て
[2 サイクル転送 ]
デマンド転送では外部領域のアドレスが , 転送元アドレス設定レジスタ , 転送先ア
ドレス設定レジスタ , またはその両方に設定されているのを確認してください。
• 外部領域間のデータ転送
DREQ の取り下げのセンスタイミングが , ライトストローブの無効のタイミングよ
り1サイクル以上前になるように使用してください。そのためには , 以下のいずれ
かの方法があります。
(1) 外部 I/O あるいは , 外部グルーロジック側での調整により ,DREQ の取り下げタ
イミングを 1 以上前にする。
(2) FR が内蔵する外部バス制御部のオートウェイト機能を使用して , ウェイトを現
在の設定より 1 サイクル以上大きく設定する。
これより後に DREQ を無効にすると , 次の転送まで行う可能性があります。
346
第 11 章 DMA コントローラ (DMAC)
• 外部領域から内部領域間へのデータ転送
最後の DMA 転送の転送元アクセス時の外部 RDX 端子出力が "L" 区間の間に無効に
してください (DACK=L & RDX=L の区間 )。これより後に DREQ を無効にすると ,
次の転送まで行う可能性があります。
図 11.3-6 に外部領域から内部領域への 2 サイクル転送でデータが転送される場合の
DREQ 外部端子の無効タイミング例を示します。
図 11.3-6 DREQ 外部端子の無効タイミング例
外部バスクロック
CS0
CS1
AS
RD
WRn
DREQn
DACKn
矢印の範囲内で無効にしてください。○より遅いタイミングで無効にした場合 ,
1 回分多く転送する場合があります
• 内部領域から外部領域間へのデータ転送
DREQ の取り下げのセンスタイミングが , ライトスローブの無効のタイミングより
1 サイクル以上前になるように使用してください。そのためには , 以下のいずれか
の方法があります。
(1) 外部 I/O あるいは , 外部グルーロジック側での調整により ,DREQ の取り下げタ
イミングを 1 以上前にする。
(2)FR が内蔵する外部バス制御部のオートウェイト機能を使用して , ウェイトを現
在の設定より 1 サイクル以上大きく設定する。
これより後に DREQ を無効にすると , 次の転送まで行う可能性があります。
[ フライバイ転送 ]
デマンド転送では , 必ず , 外部領域のアドレスを転送先レジスタに設定してくださ
い。
• フライバイ ( 読出し端子に対するタイミング )
最後の DMA 転送の転送元アクセス時の外部 RDX 端子出力が "L" 区間の間に無効に
してください (DACK=L & RDX=L の区間 )。これより後に DREQ を無効にすると ,
次の転送まで行う可能性があります。
347
第 11 章 DMA コントローラ (DMAC)
• フライバイ ( 書込み端子に対するタイミング )
最後の DMA 転送の転送元アクセス時の外部 WRX 端子出力が "L" 区間の間に無効
にしてください (DACK=L & RDX=L の区間 )。これより後に DREQ を無効にすると ,
次の転送まで行う可能性があります。
図 11.3-7 に , データがフライバイ転送 ( 書込み ) される場合の DREQ 外部端子の無
効タイミング例を示します。
図 11.3-7 DREQ 外部端子の無効タイミング例
外部バスクロック
CS0
CS1
AS
RD
WRn
DREQn
DACKn
IORD
矢印の範囲内で無効にしてください。○より遅いタイミングで無効にした場合 ,
1 回分多く転送する場合があります
• 同一チャネルで引き続きデータを転送するための DREQ 外部端子入力のタイミング
( バースト , ステップ , ブロック , デマンド転送モードでのデータ転送 )
DREQ 端子入力による同一チャネルでの連続データ転送の動作は保証できません。
転送終了時に内部保持された要求をクリアするために DREQ が最速のタイミングで
再度有効にされた場合でも , 1 システムクロックサイクル (CLK 出力の 1 サイクル ) の
間は他チャネルからの転送要求の検出が有効です。したがって , 他チャネルの優先度
が高ければ , そのチャネルのデータ転送が起動されます。
上記動作以前に DREQ が有効にされた場合でも , データ転送がまだ終了していない
ため , そのアサートは無視されます。転送要求が他チャネルから出力されない場合
は , DACK 端子出力が有効にされたときに DREQ を再度有効にすることにより同一
チャネルでのデータ転送が再起動されます。
● DACK 端子出力のタイミング
• FR50 の DMAC の DACK 出力は , 受け付けられた転送要求に対するデータ転送が行
われていることを示します。
• DACK出力は基本的に, 外部バスアクセスタイミングのアドレス出力に同期します。
DACK 出力を使用する場合は , ポートレジスタで有効にする必要があります。
348
第 11 章 DMA コントローラ (DMAC)
● DEOP 端子出力のタイミング
• FR50 の DMAC の DEOP 出力は , 受け付けられたチャネルの DMA 転送が指定転送
回数分終了したことを示すものです。
• DEOP は , 転送される最終ブロックに対する外部領域のアクセスが開始されたとき
に出力されます。したがって , ブロックサイズに "1" 以外の値が設定されている場
合 ( ブロック転送モード ), 最終ブロックの最終データが転送されたときに DEOP が
出力されます。この場合 , データ転送が続いている間 (DEOP が出力される前 ) でも ,
DACK 端子出力がアサートされれば , 次の DREQ の受付けが開始されます。
• DEOP 出力は , 外部バスアクセスタイミングに従う RDX, および WRX に同期しま
す。ただし , 転送元 , または転送先が内部アクセスされている場合 , DEOP は出力さ
れません。DEOP 出力を使用する場合は , ポートレジスタで DEOP 出力を有効にす
る必要があります。
349
第 11 章 DMA コントローラ (DMAC)
● DSTP 外部端子のタイミング
• すべての転送モード ( バースト , ステップ , ブロック , デマンド転送など ) で DMA
転送を動作させる場合 , 必要なクロックサイクルの最小幅は 5 システムクロックサ
イクル (=1/2θ, CPU のクロックの 2 周期分 ) です。
• DSTP 入力タイミングを使用する場合は , DREQ の場合と同様に , 外部アクセスに同
期させてください (DACK 出力と RDX, または WRX との間でデコードした信号を使
用してください )。
• DMA データ転送を強制停止する場合に使用します。この端子の使用でデータ転送
を強制的に停止できますが , 状態レジスタ (DMACB の DSS[2:0]) が転送停止要求を
示し , エラーとして扱われます。割込みが許可されていれば割込みが発生します。
• この機能は DEOP 端子と兼用になっているので , 両方の機能を同時に使用すること
はできません。機能を切り換えるにはポートレジスタで設定してください。
● データ転送中に外部端子転送要求が再入力される場合
• バースト , ステップ , ブロック転送モードのデータ転送
- 次の転送要求は , DACK 信号が DMAC でアサートされる前に入力されたとしても
有効にはなりません。ただし , 外部バス制御ユニットと DMAC の動作が完全には
同期していないため , DACK 出力 , および DEOP 出力で , DREQ 外部端子入力を
作成する回路を初期化して , DREQ 入力による転送要求を有効にする必要があり
ます。
• デマンド転送モードのデータ転送
- 転送カウント分のデータ転送が終了した際に転送カウントレジスタのリロード
が指定されていると , 転送要求は再度受け付けられます。
● ブロック転送中に他の転送要求が出された場合
指定ブロックの転送が完了するまで , 他の転送要求は検出されません。ブロックの境界
にて , その時点で受け付けられている転送要求を評価し , 最も優先度の高いチャネルで
データを転送します。
● 外部 I/O デバイスと外部メモリ間のデータ転送
DMAC は , 転送では外部 I/O と外部メモリを区別しません。外部 I/O は固定の外部アド
レスとして設定してください。
フライバイモードでデータを転送する場合は , 外部メモリのアドレスを転送先アドレ
スレジスタに設定してください。また外部 I/O に対しては , DACK 出力と RDX, または
WRX の間でデコードされた信号を使用してください。
● DMAC の AC 特性
DREQ 外部端子 , DACK 端子出力 , DEOP 端子出力は , DMAC に関連する外部端子です。
これらの出力タイミングは , 外部バスアクセスに同期します。
350
第 11 章 DMA コントローラ (DMAC)
11.4
DMA コントローラ (DMAC) の動作フロー
ブロック転送 , バースト転送およびデマンド転送の動作フローを説明します。
■ ブロック転送
ブロック転送は , 以下の機能をもっています。
• すべての起動の要因で起動可能です ( 選択 )。
• すべての領域にアクセスできます。
• ブロック数が設定可能です。
• 指定ブロック数の転送の終了時に割込みクリアを出します。
• 指定カウントの転送の終了時に DMA 割込みを出します。
図 11.4-1 にブロック転送の動作フローを示します。
図 11.4-1 ブロック転送の動作フロー
DENB=>0
DMA停止
DENB=1
起動要求を待つ
リロード許可
起動要求
アドレス, 転送カウント,
ブロック数の初期値をロード
転送元アドレスアクセス
アドレス計算
フライバイでは 1 ア ク セ ス
転送先アドレスアクセス
アドレス計算
Address
calculation
ブロック数 -1
BLK=0
転送カウント -1
周辺回路割込み起動の要因選択時のみ
アドレス, 転送カウント,
ブロック数のライトバック
割込みクリア
DTC=0
DMA 転送の終了
割込みクリア
DMA 割込み発生
351
第 11 章 DMA コントローラ (DMAC)
■ バースト転送
バースト転送は , 以下の機能をもっています。
• すべての起動の要因で起動可能です ( 選択 )。
• すべての領域にアクセスできます。
• ブロック数が設定可能です。
• 指定カウントの転送の終了時に割込みをクリアして , DMA 割込みを出します。
図 11.4-2 にバースト転送の動作フローを示します。
図 11.4-2 バースト転送の動作フロー
DMA 停止
DENB=>0
DENB=1
起動要求を待つ
リロード許可
アドレス,転送カウント,
ブロック数の初期値をロード
転送元アドレスアクセス
アドレス計算
フライバイでは 1 アクセス
転送先アドレスアクセス
アドレス計算
ブロック数 -1
BLK=0
転送カウント -1
DTC=0
アドレス,転送カウント,
ブロック数のライトバック
周辺回路割込み起動の要因選択時のみ
Only when peripheralinterrupt
startcause isselected
割込みクリア
DMA 転送の終了
352
割込みクリア発生
DMA 割込み発生
第 11 章 DMA コントローラ (DMAC)
■ デマンド転送
• デマンド転送は , 以下の機能をもっています。
• 外部端子 (DREQ) からの要求 ( レベル検出 ) のみを受け付けます。ほかの要因によ
る起動は許可されません。
• 外部領域のアクセスが必須条件です ( 外部領域のアクセスが次の起動の要因になる
ため )。
• ブロック数は , 設定にかかわらず常に "1" です。
• 指定カウントの転送の終了時に割込みをクリアして , DMA 割込みを出します。
図 11.4-3 にデマンド転送の動作フローを示します。
図 11.4-3 デマンド転送の動作フロー
DMA 停止
DENB=>0
なし
リロード許可
DENB=1
起動要求
を待つ
起動要求
アドレス , 転送カウント,
ブロック数の初期値をロード
転送元アドレスアクセス
アドレス計算
フライバイでは 1 アクセス
転送先アドレスアクセス
アドレス計算
転送カウント-1
アドレス, 転送カウント,
ブロック数のライトバック
DTC=0
割込みクリア
DMA 転送の終了
周辺回路割込み起動の要因選択時のみ
割込みクリア発生
DMA 割込み発生
353
第 11 章 DMA コントローラ (DMAC)
11.5
データバスの転送例
データバスにおける , 2 サイクル転送およびフライバイ転送のデータ転送例を示しま
す。
■ 2 サイクル転送のデータフロー
以下の図で転送例を 6 つ示します。ほかの組合せは省略します。
外部領域→外部領域の転送
D-bus
X-bus
データバッファ
F-bus
RAM
ROMまたはRAM
I/O
I-bus
バス
コントローラ
D-bus
X-bus
データバッファ
F-bus
RAM
ROMまたはRAM
I/O
SDRAM I/F
バス
コントローラ
C PU
C PU
I-bus
DMAC
ライトサイクル
SDRAM I/F
リードサイクル
MB91xxx
外部バスインタフェース
DMAC
外部バスインタフェース
MB91xxx
外部領域→内部R A M 領域の転送
D-bus
X-bus
データバッファ
F-bus
RAM
ROMまたは
RAM
ROM
orRAM
I/O
I-bus
X-bus
バス
コントローラ
D-bus
データバッファ
F-bus
RAM
ROMまたはRAM
I/O
SDRAM I/F
バス
Bus
コントローラ
controller
SDRAM I/F
C PU
I-bus
DMAC
ライトサイクル
C PU
リードサイクル
MB91xxx
外部バスインタフェース
DMAC
外部バスインタフェース
MB91xxx
外部領域→内部 I/O 領域の転送
D-bus
X-bus
データバッファ
F-bus
RAM
354
ROMまたはRAM
I/O
I-bus
D-bus
X-bus
バス
コントローラ
データバッファ
F-bus
RAM
ROMまたはRAM
I/O
SDRAM I/F
バス
コントローラ
DMAC
ライトサイクル
C PU
C PU
I-bus
SDRAM I/F
リードサイクル
MB91xxx
外部バスインタフェース
DMAC
外部バスインタフェース
MB91xxx
第 11 章 DMA コントローラ (DMAC)
外部領域→SDRAM領域の転送
D-bus
X-bus
データバッファ
F-bus
RAM
ROMまたはRAM
I/O
I-bus
X-bus
バス
コントローラ
D-bus
データバッファ
F-bus
RAM
ROMまたはRAM
I/O
SDRAM I/F
バス
コントローラ
S DRA M I/
F
C PU
I-bus
DMAC
書込みサイクル
C PU
読出しサイクル
MB91xxx
外部バスインタフェース
DMAC
外部バスインタフェース
MB91xxx
X-bus
データバッファ
F-bus
RAM
ROMまたはRAM
ROM orRAM
I/O
I-bus
D-bus
X-bus
バス
Bus
コントローラ
controller
データバッファ
Data buffe
F-bus
RAM
ROMまたはRAM
ROM orRAM
I/O
SDRAM I/F
D-bus
バス
コントローラ
SDRAM I/F
C PU
I-bus
DMAC
書込みサイクル
C PU
読出しサイクル
MB91xxx
外部バスインタフェース
DMAC
外部バスインタフェース
MB91xxx
Externalbus interface
内部領域→外部領域の転送
データバッファ
Data buffe
F-bus
RAM
ROM orRAM
ROMまたはRAM
I/O
I-bus
Bus
バス
controller
コントローラ
D-bus
X-bus
データバッファ
Data buffe
F-bus
RAM
ROM orRAM
ROMまたはRAM
I/O
Externalbus interface
D-bus
X-bus
SDRAM I/F
Bus
バス
コントローラ
controller
DMAC
書込みサイクル
C PU
C PU
I-bus
SDRAM I/F
読出しサイクル
MB91xxx
外部バスインタフェース
DMAC
外部バスインタフェース
MB91xxx
Externalbus interface
内部 RAM領域→内部I/O領域の転送
355
第 11 章 DMA コントローラ (DMAC)
■ フライバイ転送のデータフロー
以下の図で転送例を 2 つ示します。
フライバイ転送(メモリからI/Oへ)
D-bus
データバッファ
F-bus
RAM
R O M または
RAM
ROM
orRAM
I/O
me mo ry
X-bus
でメモリを読み出す
RDX
CSxxwith
Readsおよび
memory
RDX and DACK
Writes
to I/ODACK
with RDX
and DACK
RDX
および
でメモリに書き込む
I/O
C PU
バス
コントローラ
メモリ
I-bus
SDRAM I/F
DMAC
リードサイクル
外部バスインタフェース
MB91xxx
Fly-bytransfer
with SDRAM isdisabled.
SDRAM
を使用するフライバイ転送は禁止です。
フライバイ転送 (I/O からメモリへ)
データバッファ
F-bus
RAM
RAM
R O M または
ROM
orRAM
I/O
me mo ry
WRX
CSxX with
および
でメモリに書き込む
Writes
to memory
WRX and CSxX
Readsおよび
I/O with
WRX でand
WRX
DACK
I/ODACK
を読み出す
I/O
D-bus
X-bus
バス
コントローラ
SDRAM I/F
C PU
I-bus
メモリ
DMAC
リードサイクル
外部バスインタフェース
MB91xxx
Fly-by
SDRAMtransfer
with SDRAM isdisabled.
を使用するフライバイ転送は禁止です。
フライバイ転送では上記の信号のほかに IOWX(A26), および IORX(A25) が使用できで
す。メモリから I/O への転送では IOWX は RDX と同じであり , I/O からメモリへの転
送では IORX は WRX と同じです。
356
第 11 章 DMA コントローラ (DMAC)
11.6
外部 DMA 信号
外部 DMA 転送および DMA 制御信号について説明します。
外部 DMA 転送は , 送信アドレスと送信データ用に外部バスインタフェースを使用しま
す。これらの信号の説明については関連する章を参照ください。バスインタフェース
信号に加え , 以下に示す DMA 制御信号が使われます。
表 11.6-1 DMA 制御信号
信号
機能
CLKT の関連エッジ
入出力
備考
DREQ
外部 DMA 処理要求
立上りエッジ
入力
DACK
外部 DMA 処理正常
立上りエッジ
出力
DEOP
外部 DMA 処理終了
立下りエッジ
出力
*
DSTP
外部 DMA 処理停止
立上りエッジ
入力
*
*: DEOP および DSTP は同じ端子を共有しています。要求する機能は , 必ず PFR を介
して定義してください。
357
第 11 章 DMA コントローラ (DMAC)
11.7
DMA 転送例
2 サイクル転送 , フライバイ転送およびデマンド転送の DMA 転送例として 6 例を示
します。
■ DMA ブロック 2 サイクル転送 ( バイト )
読出し
CPU
書込み
読出し
書込み
読出し
書込み
読出し
書込み
A[31:0]
An
Ax
Am
An+1
Am+1
An+2
Am+2
An+3
Am+3
D[31:24]
D0
Dx
D0
X
D[23:16]
X
Dx
D1
D[15:8]
X
Dx
X
D2
D[7:0]
X
Dx
X
X
3
4
CPU
CPU
CPU
CPU
12
13
CLK
AS
D1
X
X
X
X
D2
X
D3
D3
10
11
RDX
WRX[3]
WRX[2]
WRX[1]
WRX[0]
CSmX
DREQ
DACK
DEOP
1
2
5
6
7
8
9
1 区 : バス動作は , CPU アクセスです (DACK=1)。外部 DREQ は DMA 転送を開始す
るためにアクティブになります。
2 区 : バス動作は , まだ CPU アクセスです (DACK=1)。
3 区 : バス動作は , DMA アクセスに変わります (DACK=0)。第 1 バイト (D0) が DMA
ソースアドレス (An) から読み込まれます (RDX=0)。
4 区 : DMA 転送が CPU のライトアクセス (DACK=1) によって割り込まれます。
5 区 : 第 1 バイト (D0) が DMA ディスティネーションアドレス (Am) に書き込まれま
す (WRX[0]=0)。
6 区 : 第 2 バイト (D1) が DMA ソースアドレス (An+1) から読み込まれます (RDX=0)。
7 区 : 第 2 バイト (D1) が DMA ディスティネーションアドレス (Am+1) に書き込まれ
ます (WRX[1]=0)。
8 区 : 第 3 バイト (D2) が DMA ソースアドレス (An+2) から読み込まれます (RDX=0)。
9 区 : 第 3 バイト (D2) が DMA ディスティネーションアドレス (Am+2) に書き込まれ
ます (WRX[2]=0)。
10 区 :第 4 バイト (D3) が DMA ソースアドレス (An+3) から読み込まれます (RDX=0)。
これは , 最後の DMA リードアクセスです (DEOP=0)。
11 区 :第 4 バイト (D3) が DMA ディスティネーションアドレス (Am+3) に書き込まれ
ます (WRX[3]=0)。これは , 最後の DMA ライトアクセスです (DEOP=0)。
12 区 :DMA 転送が終了します。バス動作は , CPU アクセスです (DACK=1)。
358
第 11 章 DMA コントローラ (DMAC)
■ DMA バースト 2 サイクル転送 ( ハーフワード )
読出し
CPU
書込み
読出し
書込み
読出し
書込み
読出し
書込み
An
Ax
Am
An+2
Am+2
An+4
Am+4
An+6
Am+6
D[31:24]
D00
Dx
D00
X
D10
D10
X
D[23:16]
D01
Dx
D01
X
D11
D11
X
D[15:8]
X
Dx
D02
D02
X
D12
D12
D[7:0]
X
Dx
D03
D03
X
D13
D13
3
4
6
7
8
10
11
CPU
CPU
CPU
CPU
12
13
CLK
AS
A[31:0]
RDX
WRX[3]
WRX[2]
WRX[1]
WRX[0]
CSmX
DREQ
DACK
DEOP
1
2
5
9
1 区 : バス動作は , CPU アクセスです (DACK=1)。外部 DREQ は DMA 転送を開始す
るためにアクティブになります。
2 区 : バス動作は , まだ CPU アクセスです (DACK=1)。
3 区 : バス動作は , DMA アクセスに変わります (DACK=0)。第 1 ハーフワード (D00,
D01) が DMA ソースアドレス (An) から読み込まれます (RDX=0)。
4 区 : DMA 転送が CPU のライトアクセス (DACK=1) によって割り込まれます。
5 区 : 第 1 ハーフワード (D00, D01) が DMA ディスティネーションアドレス (Am) に
書き込まれます (WRX[1:0]=00)。
6 区 : 第 2 ハーフワード (D02, D03) が DMA ソースアドレス (An+2) から読み込まれま
す (RDX=0)。
7 区 : 第 2 ハーフワード (D02, D03) が DMA ディスティネーションアドレス (Am+2)
に書き込まれます (WRX[3:2]=00)。
8 区 : 第 3 ハーフワード (D10, D11) が DMA ソースアドレス (An+4) から読み込まれま
す (RDX=0)。
9 区 : 第 3 ハーフワード (D10, D11) が DMA ディスティネーションアドレス (Am+4)
に書き込まれます (WRX[1:0]=00)。
10 区 :第 4 ハーフワード (D12, D13) が DMA ソースアドレス (An+6) から読み込まれま
す (RDX=0)。これは , 最後の DMA リードアクセスです (DEOP=0)。
11 区 :第 4 ハーフワード (D12, D13) が DMA ディスティネーションアドレス (Am+6)
に書き込まれます (WRX[3:2]=00)。これは , 最後の DMA ライトアクセスです
(DEOP=0)。
12 区 :DMA 転送が終了します。バス動作は , CPU アクセスです (DACK=1)。
359
第 11 章 DMA コントローラ (DMAC)
■ DMA バースト 2 サイクル転送 ( ワード )
読出し
CPU
書込み
読出し
書込み
読出し
書込み
読出し
書込み
A[31:0]
An
Ax
Am
An+4
Am+4
An+8
Am+8
An+B
Am+B
D[31:24]
D00
Dx
D00
D10
D10
D20
D20
D30
D30
D[23:16]
D01
Dx
D01
D11
D11
D21
D21
D31
D31
D[15:8]
D02
Dx
D02
D12
D12
D22
D22
D32
D32
D[7:0]
D03
Dx
D03
D13
D13
D23
D23
D33
D33
3
4
5
6
7
8
9
10
11
CPU
CPU
CPU
CPU
12
13
CLK
AS
RDX
WRX[3]
WRX[2]
WRX[1]
WRX[0]
CSmX
DREQ
DACK
DEOP
1
2
1 区 : バス動作は , CPU アクセスです (DACK=1)。外部 DREQ は DMA 転送を開始す
るためにアクティブになります。
2 区 : バス動作は , まだ CPU アクセスです (DACK=1)。
3 区 : バス動作は , DMA アクセスに変わります (DACK=0)。第 1 ワード (D00, D01,
D02, D03) が DMA ソースアドレス (An) から読み込まれます (RDX=0)。
4 区 : DMA 転送が CPU のライトアクセス (DACK=1) によって割り込まれます。
5 区 : 第 1 ワード (D00, D01, D02, D03) が DMA ディスティネーションアドレス (Am)
に書き込まれます (WRX[3:0]=0000)。
6 区 : 第 2 ワード (D10, D11, D12, D13) が DMA ソースアドレス (An+4) から読み込ま
れます (RDX=0)。
7 区 : 第 2 ワード (D10, D11, D12, D13) が DMA ディスティネーションアドレス
(Am+4) に書き込まれます (WRX[3:0]=0000)。
8 区 : 第 3 ワード (D20, D21, D22, D23) が DMA ソースアドレス (An+8) から読み込ま
れます (RDX=0)。
9 区 : 第 3 ワード (D20, D21, D22, D23) が DMA ディスティネーションアドレス
(Am+8) に書き込まれます (WRX[3:0]=0000)。
10 区 :第 4 ワード (D30, D31, D32, D33) が DMA ソースアドレス (An+B) から読み込ま
れます (RDX=0)。これは , 最後の DMA リードアクセスです (DEOP=0)。
11 区 :第 4 ワード (D30, D31, D32, D33) が DMA ディスティネーションアドレス
(Am+B) に書き込まれます (WRX[3:0]=0000)。これは , 最後の DMA ライトアク
セスです (DEOP=0)。
12 区 :DMA 転送が終了します。バス動作は , CPU アクセスです (DACK=1)。
360
第 11 章 DMA コントローラ (DMAC)
■ DMA フライバイ転送 ( バイト )[ メモリから I/O へ ]
読出し
CPU
読出し
読出し
読出し
読出し
読出し
読出し
読出し
An
Ax
An+1
An+2
An+3
An+4
An+5
An+6
An+7
D[31:24]
External
Dx
External
D[23:16]
External
Dx
External
D[15:8]
External
Dx
External
D[7:0]
External
Dx
External
3
4
5
6
7
8
9
10
11
CPU
CPU
CPU
CPU
12
13
CLK
AS
A[31:0]
RDX
WRX[3]
WRX[2]
WRX[1]
WRX[0]
CSmX
DREQ
DACK
DEOP
1
2
1 区 : バス動作は , CPU アクセスです (DACK=1)。外部 DREQ は DMA 転送を開始す
るためにアクティブになります。
2 区 : バス動作は , まだ CPU アクセスです (DACK=1)。
3 区 : バス動作は , DMA アクセスに変わります (DACK=0)。第 1 バイトが DMA ソー
スアドレス (An) から読み込まれます (RDX=0)。データバスは , 外部に割り当て
られます。
4 区 : DMA 転送が CPU のライトアクセス (DACK=1) によって割り込まれます。
5 区 : 3 区と同じです。
6 区∼ 10 区 : バス動作は , DMA アクセスです (DACK=0)。
11 区 :これは , 最後の DMA リードアクセスです (DEOP=0)。
361
第 11 章 DMA コントローラ (DMAC)
■ DMA フライバイ転送 ( バイト ) [I/O からメモリへ ]
書込み
書込み
書込み
書込み
書込み
書込み
書込み
書込み
書込み
An
Ax
An+1
An+2
An+3
An+4
An+5
An+6
An+7
D[31:24]
External
Dx
External
D[23:16]
External
Dx
External
D[15:8]
External
Dx
External
D[7:0]
External
Dx
External
3
4
5
6
7
8
9
10
11
CPU
CPU
CPU
CPU
12
13
CLK
AS
A[31:0]
RDX
WRX[3]
WRX[2]
WRX[1]
WRX[0]
CSmX
DREQ
DACK
DEOP
1
2
1 区 : 7 バス動作は , CPU アクセスです (DACK=1)。外部 DREQ は DMA 転送を開始
するためにアクティブになります。
2 区 : バス動作は , まだ CPU アクセスです (DACK=1)。
3 区 : バス動作は , DMA アクセスに変わります (DACK=0)。第 1 バイトが DMA ディ
スティネーションアドレス (An) に書き込まれます (WRX[0]=0)。データバスは ,
外部に割り当てられます。
4 区 : DMA 転送が CPU のライトアクセス (DACK=1) によって割り込まれます。
5 区 : 3 区と同じです。
6 区∼ 10 区 : バス動作は , DMA アクセスです (DACK=0)。
11 区 :これは , 最後の DMA ライトアクセスです (DEOP=0)。
362
第 11 章 DMA コントローラ (DMAC)
■ DMA デマンド転送 ( ワード )
CPU
CPU
DMA
DMA
CPU
CPU
CPU
DMA
DMA
DMA
DMA
CPU
A[31:0]
A0
A1
Ax
Ax
A3
A4
A5
A6
A7
Ax
D[31:24]
D00
D10
Dx
Dx
D30
D40
D50
D60
D70
Dx
D[23:16]
D01
D11
Dx
Dx
D31
D41
D51
D61
D71
Dx
D[15:8]
D02
D12
Dx
Dx
D32
D42
D52
D62
D72
Dx
D[7:0]
D03
D13
Dx
Dx
D33
D43
D53
D63
D73
Dx
3
4
5
6
7
8
9
10
11
12
CPU
CLK
AS
RDX
WRX[3]
WRX[2]
WRX[1]
WRX[0]
CSmX
DREQ
DACK
DEOP
1
2
13
1 区 : バス動作は , CPU アクセスです。外部 DREQ は DMA 転送を開始するためにア
クティブになります。
2 区 : バス動作は , まだ CPU アクセスです。
3 区 : バス動作は , DMA アクセスに変わります。これは , DACK の 1 への変動により
ます。第 1 DMA アドレス (A0) とデータ (D0) が読み込まれます (RDX=0)。
4 区 : 第 2 DMA アドレス (A1) とデータ (D1) が読み込まれます。DMA 転送は , 外部
DREQ の 0 への変動によって割り込まれます。
5 区 : バス動作は , CPU アクセスです (DACK=1)。
6 区 : 外部 DREQ は , DMA 転送を継続するために再びアクティブになります。
7 区 : 2 区と同じです。
8 区 : 3 区と同じです。
9 区 : DMA 転送します。
10 区 :DMA 転送します。
11 区 :最後の DMA 転送です。これは , DEOP の 0 への変動によります。
12 区 :DMA 転送が終了します。DREQ は , DACK と連動するように非アクティブにな
ります。バス動作は , CPU アクセスです。
363
第 11 章 DMA コントローラ (DMAC)
364
第 12 章
OS サポートモジュール
遅延割込みとビットサーチモジュールの概要を示
し , レジスタの構成と機能 , 動作 , およびビット
サーチモジュールの退避復帰処理について説明し
ます。
12.1 遅延割込み
12.2 ビットサーチモジュール
365
第 12 章 OS サポートモジュール
12.1
遅延割込み
遅延割込みに使用する制御レジスタについて説明します。
■ 遅延割込み制御レジスタ (DICR)
遅延割込み制御レジスタ (DICR) は , 遅延割込みを発生するレジスタで , タスク切換え
割込みの発生に使用します。
● 遅延割込み制御レジスタ (DICR) のビット構成
図 12.1-1 に遅延割込み制御レジスタのビット構成を示します。
図 12.1-1 遅延割込み制御レジスタのビット構成
アドレス
bit7
6
5
4
3
2
1
0
初期値
00000044H
−
−
−
−
−
−
−
DLYI
-------0B
R/W
アクセス→
● 遅延割込み制御レジスタ (DICR) のビットの機能
以下に , 遅延割込み制御レジスタ (DICR) の各ビットの機能を説明します。
[bit0] DLYI
このビットは , 遅延割込みの発生 , および解除を制御します。
DLYI
説明
0
遅延割込みを解除します ( 要求なし )。( 初期値 )
1
遅延割込みを発生します。
● 動作
遅延割込みは , タスク切換え用の割込みを発生するためのものです。ソフトウェアで遅
延割込み機能を使用して , CPU への割込み要求の発生 , または取消しを行うことができ
ます。
• 割込み番号 : 遅延割込みは , 最大の割込み番号を持つ割込み要因に割り当てられま
す。MB91360 シリーズでは , 割込み番号 63(3FH) を遅延割込みに割り
当てています。
• DICR レジスタの DLYI ビットを "1" に設定すると , 遅延割込みが発生します。この
ビットを "0" に設定すると , 遅延割込みが取り消されます。このビットは , 一般の割
込みにおける割込み要因フラグと同じ機能を持ちます。割込みルーチンでは , この
ビットをクリアして , タスク切換えを指定してください。
366
第 12 章 OS サポートモジュール
12.2
ビットサーチモジュール
ビットサーチモジュールは , 入力レジスタに書き込まれたデータの "0", "1", または
変化点を検索し , 検出したビットの位置を返します。
ここでは , レジスタの構成とブロックダイヤグラムを示します。
■ ビットサーチモジュールのレジスタ構成
図 12.2-1 にビットサーチモジュールのレジスタ構成を示します。
図 12.2-1 ビットサーチモジュールのレジスタ構成
レジスタ名
名称
アドレス
0 検出用データレジスタ(BSD0)
BSD0
0000 03F0H
1 検出用データレジスタ (BSD1)
BSD1
0000 03F4H
変化点検出用データレジスタ (BSDC)
BSDC
0000 03F8H
検出結果レジスタ (BSRR)
BSRR
0000 03FCH
bit31 bit0
■ ビットサーチモジュールのブロックダイヤグラム
図 12.2-2 にビットサーチモジュールのブロックダイヤグラムを示します。
図 12.2-2 ビットサーチモジュールのブロックダイヤグラム
入力ラッチ
D-バス
アドレスデコーダ
検出モード
1検出データ化
ビットサーチ回路
検索結果
367
第 12 章 OS サポートモジュール
12.2.1
ビットサーチモジュールのレジスタ
本項では , 0 検出用データレジスタ (BSD0), 1 検出用データレジスタ (BSD1), 変化点
検出用データレジスタ (BSDC), および検出結果レジスタ (BSRR) について説明しま
す。
■ 0 検出用データレジスタ (BSD0)
図 12.2-3 に 0 検出用データレジスタ (BSD0) の構成を示します。
図 12.2-3 0 検出用データレジスタ (BSD0) の構成
アドレス
bit31
レジスタ構成
0
0000 03F0H
初期値
アクセス
不定
W
レジスタに書き込まれた値の 0 検出に使用します。
リセット後の初期値は不定です。
読出し値は不定です。
レジスタにデータを転送する場合は , 32 ビット長のデータ転送命令だけを使用してく
ださい。8 ビット長 , および 16 ビット長のデータ転送命令は使用しないでください。
■ 1 検出用データレジスタ (BSD1)
図 12.2-4 に 1 検出用データレジスタ (BSD1) の構成を示します。
図 12.2-4 1 検出用データレジスタ (BSD1) の構成
アドレス
bit31
レジスタ構成
0000 03F4H
0
初期値
アクセス
不定
R/W
レジスタにデータを転送する場合は , 32 ビット長のデータ転送命令だけを使用してく
ださい。8 ビット長 , および 16 ビット長のデータ転送命令は使用しないでください。
● 書込み
レジスタに書き込まれた値から "1" を検出します。
● 読出し
ビットサーチモジュールの内部状態の退避用データが読み出されます。
割込みハンドラなどがビットサーチモジュールを使用する場合に , 元の状態を退避復
帰する時に使用します。0 検出や変化点検出 , データレジスタへデータを書き込んだ場
合でも , このレジスタのみ操作することで退避復帰できます。
リセット後の初期値は不定です。
368
第 12 章 OS サポートモジュール
■ 変化点検出用データレジスタ (BSDC)
図 12.2-5 に変化点検出用データレジスタ (BSDC) の構成を示します。
図 12.2-5 変化点検出用データレジスタ (BSDC) の構成
アドレス
bit31
レジスタ構成
0
初期値
アクセス
不定
W
0000 03F8H
レジスタに書き込まれた値の変化点検出に使用します。
リセット後の初期値は不定です。
読出し値は不定です。
レジスタにデータを転送する場合は , 32 ビット長のデータ転送命令だけを使用してく
ださい。8 ビット長 , および 16 ビット長のデータ転送命令は使用しないでください。
■ 検出結果レジスタ (BSRR)
図 12.2-6 に検出結果レジスタ (BSRR) の構成を示します。
図 12.2-6 検出結果レジスタ (BSRR) の構成
アドレス
bit31
レジスタ構成
0000 03FCH
0
初期値
アクセス
不定
R
0 検出 , 1 検出 , または変化点検出の結果をこのレジスタから読み出すことができます。
このレジスタからどの検出結果が読み出されるかは , 最後に書き込まれたデータレジ
スタによって決まります。
369
第 12 章 OS サポートモジュール
12.2.2
ビットサーチモジュールの動作と退避復帰の処理
本項では , 0 検出 , 1 検出 , および変化点検出の動作と , 退避復帰の処理について説
明します。
■ 0 検出
ビットサーチモジュールは , "0" を検出するためにデータレジスタに書き込まれたデー
タを , MSB( 最大有効ビット ) から LSB( 最小有効ビット ) までをスキャンし , 最初に検
出した "0" の位置を返します。
検出結果は , 検出結果レジスタを読み出すことによって得られます。
表 12.2-1 に , 検出された位置と返される値の関係を示します。
データに "0" が含まれていない場合 ( つまり , 値が「FFFFFFFFH」の場合 ), ビットサー
チモジュールは値 "32" を返します。
[ 実行例 ]
レジスタに書き込まれたデータ
11111111111111111111000000000000B
11111000010010011110000010101010B
10000000000000101010101010101010B
11111111111111111111111111111111B
(FFFFF000H )
(F849E0AAH )
(8002AAAAH )
(FFFFFFFFH )
読出し値(10進)
20
5
1
32
■ 1 検出
ビットサーチモジュールは , "1" を検出するために , データレジスタに書き込まれた
データを , MSB( 最大有効ビット ) から LSB( 最小有効ビット ) までをスキャンし , 最初
に検出した "1" の位置を返します。
検出結果は , 検出結果レジスタを読み出すことによって得られます。
表 12.2-1 に , 検出された位置と返される値の関係を示します。
データに "1" が含まれていない場合 ( つまり , 値が「0000000H」の場合 ), ビットサーチ
モジュールは値 "32" を返します。
[ 実行例 ]
レジスタに書き込まれたデータ
00100000000000000000000000000000B
00000001001000110100010101100111B
00000000000000111111111111111111B
00000000000000000000000000000001B
00000000000000000000000000000000B
370
(20000000H)
(01234567H)
(0003FFFFH)
(00000001H)
(00000000H)
読出し値(10進)
2
7
14
31
32
第 12 章 OS サポートモジュール
■ 変化点検出
ビットサーチモジュールは , 変化点を検出するためにデータレジスタに書き込まれた
データを , ビット 30 から LSB までをスキャンし , 各ビットを MSB の値と比較します。
ビットサーチモジュールは , MSB と異なる値を最初に検出したビットの位置を返しま
す。
検出結果は , 検出結果レジスタを読み出すことで得られます。
表 12.2-1 に , 検出された位置と返される値の関係を示します。
データに変化点が含まれていない場合 , ビットサーチモジュールは値 "32" を返します。
[ 実行例 ]
レジスタに書き込まれたデータ
00100000000000000000000000000000B
00000001001000110100010101100111B
00000000000000111111111111111111B
00000000000000000000000000000001B
00000000000000000000000000000000B
11111111111111111111000000000000B
11111000010010011110000010101010B
10000000000000101010101010101010B
11111111111111111111111111111111B
読出し値(10進)
2
7
14
31
32
20
5
1
32
(20000000H)
(01234567H)
(0003FFFFH)
(00000001H)
(00000000H)
(FFFF000H)
(F849E0AAH)
(8002AAAAH)
(FFFFFFFFH)
表 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
−
−
−
371
第 12 章 OS サポートモジュール
■ 退避復帰の処理
ビットサーチモジュールを割込みハンドラで使用するときなど , ビットサーチモ
ジュールの内部状態を退避復帰する必要がある場合は , 次の手順を使用します。
1. 1 検出用データレジスタを読み出し , その内容を保存します ( 退避 )。
2. ビットサーチモジュールを使用します。
3. 手順 1. で退避したデータを , 1 検出用データレジスタに書き込みます ( 復帰 )。
上記手順の結果 , 検出結果レジスタが次に読み出されるときの値は , 手順 1. の前にビッ
トサーチモジュールに書き込まれた内容に応じた値になります。
最後に書き込まれたデータレジスタが , 0 検出用データレジスタ , または変化点検出用
データレジスタであっても , 上記の手順によって , モジュールを元の状態に正しく復元
させることができます。
372
第 13 章
PPG タイマ
PPG タイマの概要 , レジスタ構成と機能 , PPG タ
イマの動作について説明します。
13.1 PPG タイマの概要
13.2 PPG タイマのレジスタ
13.3 PPG タイマの動作
373
第 13 章 PPG タイマ
13.1
PPG タイマの概要
PPG ( プログラマブル・パルス・ジェネレータ ) タイマは , 任意の周波数とパルス幅
( デューティ比 ) で精度の高い PWM ( パルス幅変調 ) 波形を効率良く出力すること
ができます。
MB91360 シリーズには , 8 つの PPG タイマチャネルが格納されています。それぞ
れのチャネルは , 16 ビットのダウンカウンタ , サイクル設定レジスタ , デューティ設
定レジスタ , 端子制御部から構成されます。
各チャネルの制御ステータスレジスタを使用して , PPG タイマの動作状態を示しま
す。汎用制御レジスタ 1 と 2 は , 4 つのチャネルで共有する共通レジスタで , 入力や
ソフトウェアのトリガに使用します。
■ 機能概要
● カウンタクロック
16 ビットダウンカウンタのクロックは , 次の 4 種類から選択できます。
内部クロック : φ, φ/4, φ/16, φ/64(φ は周辺回路用のマシンクロック )
● カウンタ値
カウンタ値は , リセット , アンダフローで "FFFFH" に初期化することができます。16
ビットのダウンカウンタは , "0000H" から "FFFFH" に変わるとアンダフローを起こしま
す。
● PPG 出力
各チャネルは OCPA 端子に PPG 出力があります。8 チャネルに対して 8 出力端子あり
ます。
● レジスタ
レジスタには , 周期設定レジスタとデューティ設定レジスタがあります。
• 周期設定レジスタ
バッファ付 , リロード用データレジスタです。バッファからのデータ転送は , 起動
トリガが検出されたとき , またはダウンカウンタがアンダフローを起こした ( サイ
クルの一致 ) ときに実行されます。出力は , サイクルの一致で反転します。
• デューティ設定レジスタ
バッファ付コンペアレジスタです。このレジスタに設定される値は , カウンタ値と
比較されます。値が一致すると , 出力が反転します ( デューティの一致 )。
● 端子制御
デューティの一致で , "1" にリセット ( 優先 )。
アンダフローで , "0" にリセット。
出力値固定モードがあり , オール "L", またはオール "H" を出力できます。
極性の指定も可能です。
374
第 13 章 PPG タイマ
● 割込み要求
割込み要求は , 以下の割込み要因から選択して発生することができます。
• PPG タイマ起動 ( ソフトウェアトリガ , またはトリガ入力 )
• アンダフロー発生 ( サイクルの一致 )
• デューティの一致発生
• アンダフロー発生 ( サイクルの一致 ), またはデューティの一致発生
● 複数チャネルの同時起動
ソフトウェア , またはほかのインターバルタイマで複数チャネルの同時起動が設定で
きます。また , 動作中に PPG タイマの再起動も設定できます。
● PPG タイマブロックダイヤグラム
PPG タイマ全体のブロックダイヤグラムを図 13.1-1 に , PPG タイマ (1 チャネル分 ) の
ブロックダイヤグラムを図 13.1-2 に示します。
図 13.1-1 PPG タイマ全体のブロックダイヤグラム
16 ビットリロードタイマ
TRG 入力
PPG タイマ ch.0
ch.0
ch.1
汎用制御
レジスタ 10
(ソース選択)
出力端子
OCPA0(PPG0)
TRG 入力
PPG タイマ ch.1
OCPA1(PPG1)
汎用制御レジスタ
20
TRG 入力
PPG タイマ ch.2
OCPA2(PPG2)
禁止レジスタ 0
TRG 入力
PPG タイマ ch.3
OCPA3(PPG3)
TRG 入力
PPG タイマ ch.4
OCPA4(PPG4)
TRG 入力
PPG タイマ ch.5
OCPA5(PPG5)
汎用制御レジスタ
21
TRG 入力
PPG タイマ ch.6
OCPA6(PPG6)
禁止レジスタ 1
TRG 入力
PPG タイマ ch.7
OCPA7(PPG7)
16 ビットリロードタイマ
ch.2
ch.3
汎用制御
レジスタ 11
(ソース選択)
375
第 13 章 PPG タイマ
図 13.1-2 PPG タイマ (1 チャネル分 ) のブロックダイヤグラム
サイクル設定レジスタ
デューティ設定レジスタ
PCSR
PDUT
プリスケーラ
Prescaler
φ/1
cmp
φ/4
クロック
φ/16
ロード
16 ビットダウンカウンタ
φ/64
スタート
アンダフロー
PPG マスク
S
Q
PPG 出力
周辺回路クロック(φ)
R
反転ビット
Enable
許可
割込み
選択
TRG 入力
(内部トリガ入力 )
エッジ検出
ソフトウェアトリガ
376
IRQ(割込み要求信号 )
第 13 章 PPG タイマ
PPG タイマのレジスタ
13.2
この節では , PPG タイマのレジスタを列挙し , それらの機能の詳細について説明し
ます。
■ チャネル 0 ∼ 3 の PPG タイマのレジスタ
図 13.2-1 にチャネル 0 ∼ 3 の PPG タイマのレジスタ一覧を示します。
図 13.2-1 チャネル 0 ∼ 3 の PPG タイマのレジスタ一覧
アドレス
bit15
0000 011AH
0 アクセス
8 7
0000 0118H
GCN10
PDBL0
GCN20
レジスタ
R/W
汎用制御 レジスタ 10
R/W
禁止 / 汎用制御レジスタ 20
PPG ch.0
0000 0120H
PTMR0
R
ch.0 タイマ レジスタ
0000 0122H
PCSR0
W
ch.0 サイクル設定レジスタ
0000 0124H
PDUT0
W
ch.0 デューティ設定レジスタ
R/W
ch.0 コントロールステータスレジスタ
0000 0126H
PCNH0
PCNL0
PPG ch.1
0000 0128H
PTMR1
R
ch.1 タイマ レジスタ
0000 012AH
PCSR1
W
ch.1 サイクル設定レジスタ
0000 012CH
PDUT1
W
ch.1 デューティ設定レジスタ
R/W
ch.1 コントロールステータスレジスタ
0000 012EH
PCNH1
PCNL1
PPG ch.2
0000 0130H
PTMR2
R
ch.2 タイマ レジスタ
0000 0132H
PCSR2
W
ch.2 サイクル設定レジスタ
0000 0134H
PDUT2
W
ch.2 デューティ設定レジスタ
R/W
ch.2 コントロールステータスレジスタ
0000 0136H
PCNH2
PCNL2
PPG ch.3
0000 0138H
PTMR3
R
ch.3 タイマ レジスタ
0000 013AH
PCSR3
W
ch.3 サイクル設定レジスタ
0000 013CH
PDUT3
W
ch.3 デューティ設定レジスタ
R/W
ch.3 コントロールステータスレジスタ
0000 013EH
PCNH3
PCNL3
377
第 13 章 PPG タイマ
■ チャネル 4 ∼ 7 の PPG タイマのレジスタ
図 13.2-2 にチャネル 4 ∼ 7 の PPG タイマのレジスタ一覧を示します。
図 13.2-2 チャネル 4 ∼ 7 の PPG タイマのレジスタ一覧
アドレス
0000 011CH
0000 011EH
bit15
0 アクセス
レジスタ
R/W
汎用制御 レジスタ 11
8 7
GCN11
PDBL1
GCN21
R/W
禁止 / 汎用制御レジスタ 21
PPG ch.4
0000 0140H
PTMR4
R
ch.4 タイマ レジスタ
0000 0142H
PCSR4
W
ch.4 サイクル設定レジスタ
0000 0144H
PDUT4
W
ch.4 デューティ設定レジスタ
R/W
ch.4 コントロールステータスレジスタ
0000 0146H
PCNH4
PCNL4
PPG ch.5
0000 0148H
PTMR5
R
ch.5 タイマ レジスタ
0000 014AH
PCSR5
W
ch.5 サイクル設定レジスタ
0000 014CH
PDUT5
W
ch.5 デューティ設定レジスタ
R/W
ch.5 コントロールステータスレジスタ
0000 014EH
PCNH5
PCNL5
PPG ch.6
0000 0150H
PTMR6
R
ch.6 タイマ レジスタ
0000 0152H
PCSR6
W
ch.6 サイクル設定レジスタ
0000 0154H
PDUT6
W
ch.6 デューティ設定レジスタ
R/W
ch.6 コントロールステータスレジスタ
0000 0156H
PCNH6
PCNL6
PPG ch.7
0000 0158H
PTMR7
R
ch.7 タイマ レジスタ
0000 015AH
PCSR7
W
ch.7 サイクル設定レジスタ
0000 015CH
PDUT7
W
ch.7 デューティ設定レジスタ
R/W
ch.7 コントロールステータスレジスタ
0000 015EH
378
PCNH7
PCNL7
第 13 章 PPG タイマ
13.2.1
制御ステータスレジスタ (PCNH, PCNL)
PPG タイマの制御ステータスレジスタ (PCNH と PCNL) は , PPG タイマの動作を制
御し , その状態を示すレジスタです。
■ 制御ステータスレジスタ (PCNH, PCNL) のビット構成
図 13.2-3 に制御ステータスレジスタ (PCNH, PCNL) のビット構成を示します。
図 13.2-3 制御ステータスレジスタ (PCNH, PCNL) のビット構成
PCNH
アドレス
bit15
14
13
12
ch.0 000126H CNTE STGR MDSE RTRG
ch.1 00012EH
ch.2 000136H
ch.3 00013EH
ch.4 000146H
ch.5 00014EH
ch.6 000156H
ch.7 00015EH
11
CKS1
10
9
CKS0 PGMS
8
初期値
アクセス
−
0000000-B
R/W
0
初期値
アクセス
PCNL
アドレス
bit7
6
ch.0 000127H EGS1
ch.1 00012FH
ch.2 000137H
ch.3 00013FH
ch.4 000147H
ch.5 00014FH
ch.6 000157H
ch.7 00015FH
EGS0
5
IREN
4
IRQF
3
IRS1
2
IRS0
1
−
OSEL 000000-0B
R/W
■ PCNH/PCNL の各ビットの機能
以下に , 各ビットの機能を説明します。
[bit15] CNTE: タイマ動作の許可ビット
16 ビットダウンカウンタの動作を許可 / 停止するビットです。
0
タイマ動作を停止します。[ 初期値 ]
1
タイマ動作を許可します。
[bit14] STGR: ソフトウェアトリガビット
このビットに "1" を書き込むことにより , ソフトウェアトリガがかかります。
STGR ビットの読出し値は , 常に "0" です。
379
第 13 章 PPG タイマ
[bit13] MDSE: 動作モード選択ビット
連続してパルスを出力する PPG 動作か , 単一パルスを出力するワンショット動作か
を選択します。
0
PPG 動作 [ 初期値 ]
1
ワンショット動作
[bit12] RTRG: 再起動の許可ビット
ソフトウェアトリガ , またはトリガ入力による再起動を許可 / 禁止するビットです。
0
再起動を禁止します。[ 初期値 ]
1
再起動を許可します。
[bit11, bit10] CKS1, CKS0: カウンタクロック選択ビット
16 ビットダウンカウンタのカウントクロックを選択します。
設定値を表 13.2-1 に示します。
表 13.2-1 カウントクロックの選択
CKS1
CKS0
カウントクロックソース
0
0
φ [ 初期値 ]
0
1
φ/22
1
0
φ/24
1
1
φ/26
( 注意事項 ) φ は周辺回路用のクロック (CLKP)
[bit9] PGMS: PPG 出力マスク選択ビット
このビットに "1" を書き込むと , モード設定 , サイクル設定値 , デューティ設定値に
かかわらず , PPG 出力を , "L" レベル , または "H" レベルにマスクすることができま
す。表 13.2-2 に極性と PPG 出力の関係を示します。
表 13.2-2 PGMS に "1" 書込み時の PPG 出力
極性
PPG 出力
通常極性
"L" レベル出力 [ 初期値 ]
反転極性
"H" レベル出力
通常極性時にオール "H", 反転極性時にオール "L" を出力したい場合は , 周期設定レ
ジスタとデューティ設定レジスタを同じ値に設定します。そうすれば , 上記マスク
値の反転出力が出せます。
通常極性と反転極性については , OSEL[bit0] の説明を参照してください。
380
第 13 章 PPG タイマ
[bit8] 未使用ビット
[bit7, bit6] EGS1, EGS0: トリガ入力エッジ選択ビット
汎用制御レジスタ 1(GCN1) で選択した , トリガ入力ソースの有効エッジを選択しま
す。どのモードを選択していても , ソフトウェアトリガビット (STGR) に "1" を書き
込むと , ソフトトリガが有効になります。
設定値を表 13.2-3 に示します。
表 13.2-3 トリガ入力エッジの選択
EGS1
EGS0
トリガ入力エッジ
0
0
無効 [ 初期値 ]
0
1
立上りエッジ
1
0
立下りエッジ
1
1
両方の ( 立上り / 立下り ) エッジ
[bit5] IREN: 割込み要求許可ビット
割込み要求を許可 / 禁止します。
0
割込み要求を禁止します。[ 初期値 ]
1
割込み要求を許可します。
[bit4] IRQF: 割込み要求フラグ
bit5(IREN) の割込み要求が許可されていて , bit3, bit2(IRS1, IRS0) で選択した割込み
要因が発生するとこのビットが設定され , CPU に対する割込み要求を発生します。
また , DMA 転送の起動を選択している場合は , DMA 転送が起動されます。
このビットのクリアは , "0" 書込み , または DMAC からのクリア信号で行われます。
"1" を書き込んでもビットの値は変化しません。
リードモディファイライト系命令が読み出されると , ビット値にかかわらずビット
は "1" を返します。
[bit3, bit2] IRS1, IRS0: 割込み要因選択ビット
bit4(IRQF) を設定する割込み要因を選択します。
表 13.2-4 割込み要因の選択
IRS1
IRS0
0
0
ソフトウェアトリガの発生 , またはトリガ入力 [ 初期値 ]
0
1
アンダフロー発生 ( サイクルの一致 )
1
0
デューティの一致発生
1
1
アンダフロー発生 ( サイクルの一致 ), またはデューティの
一致発生
割込みソース
381
第 13 章 PPG タイマ
[bit0] OSEL: PPG 出力極性選択ビット
PPG 出力の極性を設定します。
bit9(PGMS) との組合せで , 表 13.2-5 のようになります。
表 13.2-5 PPG 出力極性 , およびエッジの指定
PGMS
OSEL
PPG 出力
0
0
通常極性 [ 初期値 ]
0
1
反転極性
1
0
"L" 出力で固定
1
1
"H" 出力で固定
極性
382
リセット後
通常極性
"L" 出力
反転極性
"H" 出力
デューティの一致
アンダフロー
第 13 章 PPG タイマ
13.2.2
PPG 周期設定レジスタ (PCSR)
PPG 周期設定レジスタ (PCSR) は , 16 ビットのリロードレジスタです。任意のサイ
クルでパルス信号を出力するために必要な , カウント値を設定するためのバッファ
が付いています。
■ PPG 周期設定レジスタ (PCSR) のビット構成
図 13.2-4 に PPG 周期設定レジスタ (PCSR) のビット構成を示します。
図 13.2-4 PPG 周期設定レジスタ (PCSR) のビット構成
bit15
アドレス
ch.0 000122H
ch.1 00012AH
ch.2 000132H
ch.3 00013AH
ch.4 000142H
ch.5 00014AH
ch.6 000152H
ch.7 00015AH
14
13
12
11
10
9
8
初期値
アクセス
XXXXXXXXB
W
XXXXXXXXB
W
D15
D14
D13
D12
D11
D10
D09
D08
bit7
6
5
4
3
2
1
0
D07
D06
D05
D04
D03
D02
D01
D00
■ PCSR の機能
PPG 周期設定レジスタ (PCSR) は , 16 ビット値のダウンカウンタがカウントを開始する
ときの , カウンタ値を設定します。カウンタの起動トリガが検出されたとき , およびカ
ウンタがアンダフローを起こしたときに ("0000H" から "FFFFH" へ ), 設定値がカウンタ
にロードされます。
カウントを開始した後 , ダウンカウンタが「設定値 +1」に到達すると , アンダフロー
( 周期の一致 ) を起こします。そこで , 出力パルス信号のサイクルが決まります。周期は ,
「カウントクロックサイクル」に「設定値 +1」のカウント値を掛けて得られる値です。
周期設定レジスタの初期設定や更新のときは , 周期設定レジスタの書込み後 , 必ず
デューティ設定レジスタへの書込みを行ってください。
このレジスタに書き込むときは , 16 ビットデータでレジスタにアクセスしてください。
383
第 13 章 PPG タイマ
13.2.3
PPG デューティ設定レジスタ (PDUT)
PPG デューティ設定レジスタ (PDUT) は , バッファ付の 16 ビット比較レジスタで ,
任意のパルス幅信号の出力に要求される比較値を設定します。
■ PPG デューティ設定レジスタ (PDUT) のビット構成
図 13.2-5 に PPG デューティ設定レジスタ (PDUT) のビット構成を示します。
図 13.2-5 PPG デューティ設定レジスタ (PDUT) のビット構成
アドレス
bit15
14
13
12
11
10
9
8
初期値
アクセス
ch.0 000124H
ch.1 00012CH
ch.2 000134H
ch.3 00013CH
ch.4 000144H
ch.5 00014CH
ch.6 000154H
ch.7 00015CH
D15
D14
D13
D12
D11
D10
D09
D08
XXXXXXXXB
W
bit7
6
5
4
3
2
1
0
D07
D06
D05
D04
D03
D02
D01
D00
XXXXXXXXB
W
■ PDUT の機能
PPG デューティ設定レジスタ (PDUT) は , PPG 出力パルス幅を決定するカウンタ値を設
定します。この値はダウンカウンタのカウント値と比較されます。値が一致すると ,
PPG 出力の極性が反転します。
ダウンカウンタは , 同じ極性でカウントを継続します。
「設定値 +1」に到達するとアン
ダフロー ( サイクルの一致 ) を起こし , 極性が反転してパルス幅が決まります。パルス
幅は , 「カウントクロックサイクル」に「設定値 +1」のカウント値を掛けて得られる
値です。
周期設定レジスタの値とデューティ設定レジスタの値を同じにすると , 通常極性時に
オール "H" を , 反転極性時にオール "L" を出力します。
PCSR レジスタと PDUT レジスタの値は , 「PCSR>PDUT」となるように設定してくだ
さい。「PCSR<PDUT」となるような設定をすると , PPG 出力は不定になります。
このレジスタに書き込むときは , 16 ビットデータでレジスタにアクセスしてください。
384
第 13 章 PPG タイマ
13.2.4
PPG タイマレジスタ (PTMR)
PPG タイマレジスタ (PTMR) を使用して , 16 ビットのダウンカウンタの値を読み出
します。
■ PPG タイマレジスタ (PTMR) のビット構成
図 13.2-6 に PPG タイマレジスタ (PTMR) のビット構成を示します。
図 13.2-6 PPG タイマレジスタ (PTMR) のビット構成
アドレス
bit15
14
13
12
11
10
9
8
初期値
アクセス
ch.0 000120H
ch.1 000128H
ch.2 000130H
ch.3 000138H
ch.4 000140H
ch.5 000148H
ch.6 000150H
ch.7 000158H
D15
D14
D13
D12
D11
D10
D09
D08
11111111B
R
bit7
6
5
4
3
2
1
0
D07
D06
D05
D04
D03
D02
D01
D00
11111111B
R
■ PTMR の機能
PPG タイマレジスタ (PTMR) は , ダウンカウンタの値を読み出す , 16 ビットのデータレ
ジスタです。
このレジスタの値を読み出すには , 16 ビットデータでレジスタにアクセスしてくださ
い。
385
第 13 章 PPG タイマ
13.2.5
汎用制御レジスタ 1(GCN10, GCN11)
汎用制御レジスタ 1(GCN10, GCN11) は , PPG タイマトリガ入力ソースを選択しま
す。
各チャネルに 4 ビットが割り当てられます。
■ 汎用制御レジスタ 1(GCN10, GCN11) のビット構成
図 13.2-7 に汎用制御レジスタ 1(GCN10, GCN11) のビット構成を示します。
図 13.2-7 汎用制御レジスタ 1(GCN10, GCN11) のビット構成
bit15
アドレス
GCN10: 000118H
GCN11 : 00011CH
14
13
12
11
TSEL33 ∼ TSEL30
bit7
6
5
10
9
8
TSEL23 ∼ TSEL20
4
3
TSEL13 ∼ TSEL10
2
1
初期値
アクセス
00110010B
R/W
00010000B
R/W
0
TSEL03 ∼ TSEL00
■ GCN10 のビット機能
以下に , 各ビットの機能を説明します。
[bit15 ∼ bit12] TSEL33 ∼ TSEL30: ch.3 入力選択ビット
これらのビットは , PPG タイマ ch.3 へのトリガ入力を選択します。
表 13.2-6 に設定値を示します。
表 13.2-6 PPG タイマ ch.3 へのトリガ入力の選択
TSEL33 ∼ TSEL30
ch.3 トリガ入力
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
×
設定禁止
1
0
×
×
設定禁止
1
1
×
×
設定禁止
[bit11 ∼ bit8] TSEL23 ∼ TSEL20: ch.2 トリガ入力選択ビット
これらのビットは , PPG タイマ ch.2 へのトリガ入力を選択します。
386
第 13 章 PPG タイマ
表 13.2-7 に設定値を示します。
表 13.2-7 PPG タイマ ch.2 へのトリガ入力の選択
TSEL23 ∼ TSEL20
ch.2 トリガ入力
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
×
設定禁止
1
0
×
×
設定禁止
1
1
×
×
設定禁止
[bit7 ∼ bit4] TSEL13 ∼ TSEL10: ch.1 トリガ入力選択ビット
これらのビットは , PPG タイマ ch.1 へのトリガ入力を選択します。
表 13.2-8 に設定値を示します。
表 13.2-8 PPG タイマ ch.1 へのトリガ入力の選択
TSEL13 ∼ TSEL10
ch.1 トリガ入力
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
×
設定禁止
1
0
×
×
設定禁止
1
1
×
×
設定禁止
387
第 13 章 PPG タイマ
[bit3 ∼ bit0] TSEL03 ∼ TSEL00: ch.0 トリガ入力選択ビット
これらのビットは , PPG タイマ ch.0 へのトリガ入力を選択します。
表 13.2-9 に設定値を示します。
表 13.2-9 PPG タイマ ch.0 へのトリガ入力の選択
TSEL03 ∼ TSEL00
ch.0 トリガ入力
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
×
設定禁止
1
0
×
×
設定禁止
1
1
×
×
設定禁止
■ GCN11 のビット機能
以下にビットの機能を説明します。
[bit15 ∼ bit12] TSEL33 ∼ TSEL30: ch.7 入力選択ビット
これらのビットは , PPG タイマ ch.7 へのトリガ入力を選択します。
表 13.2-10 に設定値を示します。
表 13.2-10 PPG タイマ ch.7 へのトリガ入力の選択
TSEL33 ∼ TSEL30
ch.7 トリガ入力
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
×
設定禁止
1
0
×
×
設定禁止
1
1
×
×
設定禁止
[bit11 ∼ bit8] TSEL23 ∼ TSEL20: ch.6 トリガ入力選択ビット
これらのビットは , PPG タイマ ch.6 へのトリガ入力を選択します。
388
第 13 章 PPG タイマ
表 13.2-11 に設定値を示します。
表 13.2-11 PPG タイマ ch.6 へのトリガ入力の選択
TSEL23 ∼ TSEL20
ch.6 トリガ入力
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
×
設定禁止
1
0
×
×
設定禁止
1
1
×
×
設定禁止
[bit7 ∼ bit4] TSEL13 ∼ TSEL10: ch.5 トリガ入力選択ビット
これらのビットは , PPG タイマ ch.5 へのトリガ入力を選択します。
表 13.2-12 に設定値を示します。
表 13.2-12 PPG タイマ ch.5 へのトリガ入力の選択
TSEL13 ∼ TSEL10
ch.5 トリガ入力
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
×
設定禁止
1
0
×
×
設定禁止
1
1
×
×
設定禁止
389
第 13 章 PPG タイマ
[bit3 ∼ bit0] TSEL03 ∼ TSEL00: ch.4 トリガ入力選択ビット
これらのビットは , PPG タイマ ch.4 へのトリガ入力を選択します。
表 13.2-13 に設定値を示します。
表 13.2-13 PPG タイマ ch.4 へのトリガ入力の選択
TSEL03 ∼ TSEL00
390
ch.4 トリガ入力
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
×
設定禁止
1
0
×
×
設定禁止
1
1
×
×
設定禁止
第 13 章 PPG タイマ
13.2.6
禁止 / 汎用制御レジスタ 2(GCN20, GCN21)
汎用制御レジスタ 2(GCN20, GCN21) は , ソフトウェアによって , 起動トリガを発生
させるためのレジスタです。禁止レジスタ (PDBL0, PDBL1) は , 1 つ以上のタイマ
とチャネルのクロックを選択的に禁止にできます。
■ 汎用制御レジスタ 2(GCN20, GCN21) のビット構成
図 13.2-8 に汎用制御レジスタ 2(GCN20, GCN21) のビット構成を示します。
図 13.2-8 汎用制御レジスタ 2(GCN20, GCN21) のビット構成
bit7
アドレス
GCN20 : 0000011BH
GCN21 : 0000011FH
−
6
−
5
−
4
−
3
EN3
2
EN2
1
EN1
0
初期値
アクセス
EN0
----0000B
R/W
● GCN20 のビット機能
このレジスタの EN3 から EN0 までのビットは , 汎用制御レジスタ 1(GCN10) によって
選択され , レジスタの値は PPG タイマトリガ入力にそのまま渡されます。
制御ステータスレジスタ 0 ∼ 3 (PCNL0 ∼ PCNL3) の bit7, bit6(EGS1, EGS0) で選択した
エッジをソフトウェアで発生させることにより , 複数チャネルの PPG タイマを同時に
起動することができます。
このレジスタの bit7 ∼ bit4 には , 必ず "0" を書き込んでください。
● GCN21 のビット機能
このレジスタの EN0 から EN3 までのビットは , 汎用制御レジスタ 1(GCN11) によって
選択され , レジスタの値は PPG タイマトリガ入力にそのまま渡されます。
制御ステータスレジスタ 4 ∼ 7 (PCNL4 ∼ PCNL7) の bit7, bit6(EGS1, EGS0) で選択した
エッジをソフトウェアで発生させることにより , 複数チャネルの PPG タイマを同時に
起動することができます。
このレジスタの bit7 ∼ bit4 には , 必ず "0" を書き込んでください。
■ 禁止レジスタ (PDBL0, PDBL1) のビット構成
図 13.2-9 に禁止レジスタ (PDBL0, PDBL1) のビット構成を示します。
図 13.2-9 禁止レジスタ (PDBL0, PDBL1) のビット構成
アドレス
bit15
14
13
12
11
10
9
8
初期値
アクセス
PDBL0 : 0000 011AH
−
−
−
−
DBL3
DBL2
DBL1
DBL0
----0000B
R/W
bit15
14
13
12
11
10
9
8
−
−
−
−
DBL7
DBL6
DBL5
DBL4
----0000B
R/W
PDBL1 : 0000 011EH
● PDBL0, PDBL1 のビット機能
ビットを "1" に設定すると , 対応する PPG チャネルのクロックは禁止となります。
391
第 13 章 PPG タイマ
13.3
PPG タイマの動作
PPG タイマの動作について説明します。
2 つの PPG 出力動作モードがあります。PPG タイマ動作とワンショット動作モード
です。
■ PPG タイマの動作
PPG 動作モードの出力は連続的なパルスで , ワンショット動作モードの出力は単一の
パルスです。
この節では , 割込み , およびオール "L" とオール "H" の PPG 出力の発生方法について
も説明します。説明する項目は以下のとおりです。
• PPG 動作
• ワンショット動作
• 割込み
• オール "L", およびオール "H" の PPG 出力
392
第 13 章 PPG タイマ
13.3.1
PPG 動作
PPG 動作モードの出力は , 連続的なパルスストリームです。
■ PPG 動作
PPG 動作モードでは , 起動トリガが検出された時点からの連続的なパルスストリーム
を出力します。
出力パルスの周期は , 周期設定レジスタ (PCSR) の値を変えることで制御できます。出
力パルス幅は , デューティ設定レジスタ (PDUT) の値を変えることで制御できます。出
力パルスの周期と幅 ( デューティ比 ) を設定するときは , PCSR にデータを書き込んだ
後に , 必ず PDUT への書込みを行ってください。
■ PPG 出力タイミング
起動トリガが検出されダウンカウンタがリセットされると , 周期設定レジスタ (PCSR)
に設定されている値がカウンタにロードされ , ダウンカウンタがカウントを開始しま
す。
カウンタはカウントを続け , デューティ設定レジスタ (PDUT) に設定されている値とカ
ウンタ値とを比較し , 値が一致すると ( デューティの一致 ), PPG 出力の極性が反転しま
す。
トリガの再起動が禁止の状態で , カウンタがアンダフローを起こすと , PCSR レジスタ
に設定されている値がカウンタにロードされます ( 周期の一致 )。同時に , PPG 出力の
極性が反転します。これで , 設定されたサイクルとパルス幅のパルス信号が出力された
ことになります。これ以降 , 同じ手順でパルス信号は連続的に出力されます。
トリガの再起動が許可になると , 再起動トリガが有効になります。PCSR レジスタに設
定された値が , カウンタにリロードされ , カウンタはカウントを開始します。
図 13.3-1 に , PPG 出力が通常極性で , トリガの再起動が禁止された状態でのタイミング
の例を示します。図 13.3-2 に , PPG 出力が通常極性で , トリガの再起動が許可されたと
きのタイミングの例を示します。
PPG 出力信号の周期とパルス幅は , 次の式で計算できます。
Pm =T(m+1) µs
Pn =T(n+1) µs
Pm:出力パルス周期
Pn:出力パルス幅
T :カウントクロック周期
m :周期設定レジスタ (PCSR) に設定されている値
n :デューティ設定レジスタ (PDUT) に設定されている値
393
第 13 章 PPG タイマ
● PPG 動作タイミング例 1( トリガの再起動禁止 , PPG 出力 : 通常極性 )
図 13.3-1 PPG 動作タイミング例 1( トリガの再起動禁止 , PPG 出力 : 通常極性 )
カウンタ値
m
n
0
時間
PPG 出力
Pn
Pm
立上り検出
トリガ無視
起動トリガ
Pm : 出力パルス周期
m: PCSR 値
Pn: 出力パルス "H"幅
n: PDUT 値
● PPG 動作タイミング例 2( トリガの再起動許可 , PPG 出力 : 通常極性 )
図 13.3-2 PPG 動作タイミング例 2( トリガの再起動許可 , PPG 出力 : 通常極性 )
カウンタ値
m
n
0
時間
Time
PPG 出力
Pn
Pm
立上りエッジ
トリガによる再起動
起動トリガ
394
Pm:出力パルス周期
Pn:出力パルス"H"幅
m : PCSR 値
n : PDUT値
第 13 章 PPG タイマ
13.3.2
ワンショット動作モード
ワンショット動作モードは , 単一のパルスを出力します。
■ ワンショット動作モード
ワンショット動作モードは , 起動トリガを検出すると , 単一のパルスを出力します。出
力パルスの周期は, 周期設定レジスタ(PCSR)の値を変更することにより制御できます。
出力パルス幅も , デューティ設定レジスタ (PDUT) の値を変更することにより制御でき
ます。出力パルスの周期と幅 ( デューティ比 ) を設定するときは , PCSR にデータを書
き込んだ後に , 必ず PDUT への書込みを行ってください。
ワンショットの動作も , 再起動が禁止か許可かによって異なります。
PPG 出力タイミングは PPG 動作モードと同じですが , ワンショット動作モードでは ,
カウンタがアンダフローすると , 単一パルスを出力した後に停止します。
PPG 出力信号の周期とパルス幅の計算式も , PPG 動作モードと同じです。
図 13.3-3 に , PPG 出力が通常極性で , トリガの再起動が禁止された状態でのタイミング
の例を示します。図 13.3-4 に , PPG 出力が通常極性で , トリガの再起動が許可されたと
きのタイミングの例を示します。
● ワンショット動作タイミング例 1( トリガの再起動禁止 , PPG 出力 : 通常極性 )
図 13.3-3 ワンショット動作タイミング例 1( トリガの再起動禁止 , PPG 出力 : 通常極性 )
カウンタ値
m
n
0
時間
PPG 出力
Pn
Pm
立上り検出
トリガ無視
起動トリガ
Pm = T (m + 1) µs
Pn = T (n + 1) µs
Pm :
Pn :
T:
m:
n:
出力パルス周期
出力パルス"H"幅
カウントクロック周期
PCSR 値
PDUT 値
395
第 13 章 PPG タイマ
● ワンショット動作タイミング例 2( トリガの再起動許可 , PPG 出力 : 通常極性 )
図 13.3-4 ワンショット動作タイミング例 2( トリガの再起動許可 , PPG 出力 : 通常極性 )
カウンタ値
m
n
0
時間
PPG 出力
Pn
Pm
立上りエッジ
トリガによる再起動
起動トリガ
Pm = T (m + 1) µs
Pn = T (n + 1) µs
396
Pm :
Pn :
T:
m:
n:
出力パルス周期
出力パルス"H"幅
カウントクロック周期
PCSR 値
PDUT 値
第 13 章 PPG タイマ
13.3.3
割込み
割込み要求信号には , 4 種類あります。以下の割込み要因から選択して発生させるこ
とができます。
• PPG タイマ起動 ( ソフトウェアトリガ , またはトリガ入力 )
• アンダフロー発生 ( 周期の一致 )
• デューティの一致発生
• アンダフロー発生 ( 周期の一致 ), またはデューティの一致発生
■ 割込み動作
CPU への割込み要求信号は , 制御ステータスレジスタ (PCNL) のビットを次のように設
定して発生させます。
• bit5 の割込み要求許可ビット (IREN) を , 割込み許可 (IREN=1) にします。
• bit3とbit2の割込み要因選択ビット(IRS1とIRS0)に, 必要な割込み要因を選択します。
• 上記の条件が設定されると , 割込み要求フラグ (IRQF) の bit4 が設定され , CPU への
割込み要求信号が発生されます。
図 13.3-5 に , 割込みのタイミングを示します。
図 13.3-5 割込み要因タイミング
起動トリガ
最大 2.5T *
ロード
クロック
カウント値
X
0003
H
0002 H
0001 H
0000
H
0003 H
PPG 出力
割込み
有効なエッジ
デューティの一致
アンダフロー
*: 起動トリガの適用からカウント値のロードまで, 最大 2.5T(T: カウントクロックサイクル)かかります。
397
第 13 章 PPG タイマ
13.3.4
オール "L" とオール "H" の PPG 出力
この節では , オール "L" とオール "H" の PPG 出力の発生例について説明します。
■ オール "L" とオール "H" の PPG 出力
制御ステータスレジスタ (PCNH) の bit9, PPG 出力マスク選択ビット (PGMS) に "1" を
書き込むと , モード設定 , 周期設定値 , デューティ設定値にかかわらず , 制御ステータ
スレジスタは PPG 出力を "L" レベル ( 通常極性 ), または "H" レベル ( 反転極性 ) にマ
スクします。
通常極性で出力信号をすべて "H" レベルの電圧 , または反転極性で出力信号をすべて
"L" レベルの電圧にする場合は , 周期設定レジスタとデューティ設定レジスタの設定を
同じ値にして , 上記のマスク値の反転出力を発生します。
図 13.3-6 にオール "L" の PPG 出力の発生例を , 図 13.3-7 にオール "H" の PPG 出力の発
生例を示します。
図 13.3-6 オール "L" の PPG 出力の発生例
PPG出力
デューティ値
を減少させる。
アンダフローで, 割込みを
使用してPGMS(マスクビット)
に"1"を書き込む。アンダフ
ロー割込みを使用してPGMSに
"0"を書き込むと, ヒゲを出力
することなくPWM波形を出力で
きる。
図 13.3-7 オール "H" の PPG 出力の発生例
PPG 出力
デューティ値
を増加させる。
デューティの一致で, 割込みを使用してデ
ューティ設定レジスタに周期設定レジスタ
と同じ値を設定する。
398
第 13 章 PPG タイマ
13.3.5
複数の PPG タイマチャネルの起動
汎用制御レジスタ 1 と 2(GCN1x と GCN2x) を使用して , 複数の PPG タイマチャネ
ルを起動できます。GCN1x レジスタを使用して起動トリガを選択すると , 複数の
チャネルを同時に起動できます。
この節では , GCN2x レジスタを使用したソフトウェアによる PPG タイマチャネル
の起動例と , GCN1x レジスタを使用して 16 ビットリロードタイマからトリガ入力
を選択してタイマを起動する例について説明します。
■ 複数の PPG タイマチャネルの起動
ソフトウェアによる複数の PPG タイマチャネルを起動するために , 以下の手順に従っ
て設定してください。
[ 設定手順 ]
(1) 周期設定レジスタ (PCSR) に周期設定カウンタ値を設定します。
(2) デューティ設定レジスタ (PDUT) にパルス幅設定カウンタ値を設定します。必ず
PCSR レジスタから PDUT レジスタの順で , データの書込みを行ってください。
(3) GCN1x レジスタを設定して , 起動するチャネルのトリガ入力ソースを決めます。こ
の例では , GCN2x レジスタを使うので , 初期設定のままとします。
• ch.0 の起動 : EN0
• ch.1 の起動 : EN1
• ch.2 の起動 : EN2
• ch.3 の起動 : EN3
(4) 起動するチャネルの制御ステータスレジスタ (PCNL, PCNH) を設定します。この例
では表 13.3-1 に示す設定を行います。
表 13.3-1 チャネルステータスレジスタ (PCNL, PCNH) の設定例 (1 / 2)
ビット
機能
No.
略語
値
15
CNTE
1
タイマ動作の許可
14
STGR
0
起動に GCN2 を使用するので , ソフトウェアトリガを禁止
13
MDSE
0
PPG 動作
12
RTRG
0
再起動の禁止
11
CKS1
0
10
CKS0
0
9
PGMS
0
出力マスクなし
8
−
0
未使用ビット (0, 1 のどちらでも良い )
カウントクロック : φ
399
第 13 章 PPG タイマ
表 13.3-1 チャネルステータスレジスタ (PCNL, PCNH) の設定例 (2 / 2)
ビット
機能
No.
略語
値
7
EGS1
0
6
EGS0
1
5
IREN
1
割込み要求の許可
4
IRQF
0
割込み要因のクリア
3
IRS1
0
2
IRS0
1
0
OSEL
0
立上りエッジを選択
アンダフローの発生により割込み要求を発生
通常極性
(5) 汎用制御レジスタ 2(GCN2x) にデータを書き込むことで , 起動トリガを発生させま
す。上記の設定で PPG タイマの ch.0 と ch.1 を同時に起動させる場合 , GCN20 レジス
タのビット EN0 と EN1 に "1" を書き込みます。立上りエッジが発生し , PPG タイマの
出力端子の OCPA0 と OCPA1 からパルスが出力されます (PPG0 と PPG1)。
■ 16 ビットリロードタイマのトリガを使用した起動
上記手順の (3) で , 汎用制御レジスタ 1(GCN10) を使用してトリガ入力ソースを選択し
ます。
ソースとして 16 ビットリロードタイマを選択します。手順の (5) で , 汎用制御レジス
タ 2(GCN20) の代わりに , 16 ビットリロードタイマを起動します。
制御ステータスレジスタ (PCNH) の bit12, bit7, bit6 を次のように設定して , 16 ビットの
リロードタイマ出力を切り換え , PPG タイマが固定された間隔で再起動できるように
します。
400
⇒ 再起動の許可
bit12(RTRG):
"1"
bit7, bit6(EGS1, EGS0):
"11" ⇒ 立上り , 立下りの両方のエッジで起動
第 14 章
A/D コンバータ
A/D コンバータの概要を示し , レジスタの構成と機
能 , および A/D コンバータの動作について説明し
ます。
14.1 A/D コンバータの概要
14.2 A/D コンバータのレジスタ
14.3 A/D コンバータの動作
401
第 14 章 A/D コンバータ
14.1
A/D コンバータの概要
A/D コンバータの特長とブロックダイヤグラムについて説明します。
■ A/D コンバータの特長
A/D コンバータは , アナログ入力電圧をデジタル値に変換するものです。以下に , A/D
コンバータの特長を示します。
• 変換時間は , チャネルあたり最小 178 サイクルです。(32 MHz:5.6µs, 24 MHz:7.4µs,
16 MHz:11.2µs)
• サンプリング & ホールド回路付き RC 型逐次比較変換方式を採用しています。
• 10 ビットの分解能があります。
• アナログ入力は , 16 チャネルからプログラムで選択できます。
• シングル変換モードは , 選択した 1 チャネルを変換します。指定されたチャネルを
1 回だけ変換します。
• スキャン変換モードは , 複数チャネルを連続変換します。最大 16 チャネルまでプロ
グラム可能です。
• 連続モードは , 指定されたチャネルを繰り返し変換します。
• ストップモードは , チャネルを変換し , 次の起動まで一時的に中断します ( 変換開始
タイミングを同期可能です )。
• A/D 変換終了時には , CPU に対して A/D 変換終了の割込み要求を発生させることが
できます。この割込み , すなわち連続処理に理想的なオプションを使用して DMA 転
送を起動し , A/D 変換の結果をメモリに転送できます。
• 起動要因は , ソフトウェア , 外部トリガ ( 立下りエッジ ), デバイス上のタイマ ch.4 が
利用可能な場合はタイマ ( 立上りエッジ ) から選択できます。
402
第 14 章 A/D コンバータ
■ A/D コンバータのブロックダイヤグラム
図 14.1-1 に , A/D コンバータのブロックダイヤグラムを示します。
図 14.1-1 ブロックダイヤグラム
AVCC
MPX
AN0
AN1
AN2
AN3
AN4
AN5
AN6
AN7
AN8
AN9
AN10
AN11
AN12
AN13
AN14
AN15
AVRH/AVRL
AVSS
D/A コンバータ
入
力
回
シーケンシャル比較レジスタ
路
比較器
データバス
サンプル / ホールド回路
デコーダ
A/Dデータレジスタ
ADCD
A/Dチャネル設定レジスタ
A/Dモードレジスタ
ADMD
A/D制御ステータスレジスタ
ATGX
トリガ起動
タイマ起動
16ビットリロードタイマ4の出力
(内部接続)
CLKP( φ)
ADCH
ADCS
動作クロック
プリスケーラ
403
第 14 章 A/D コンバータ
14.2
A/D コンバータのレジスタ
A/D コンバータのレジスタについて説明します。
■ A/D コンバータのレジスタ一覧
図 14.2-1 に , A/D コンバータのレジスタ一覧を示します。
図 14.2-1 A/D コンバータのレジスタ一覧
bit15 8
7 0
ADMD
ADCH
ADCS
ADCD
ADBL
8 ビット
レジスタ
A/D チャネル設定レジスタ
名前
ADCH
( アドレス : 00009DH)
A/D モードレジスタ
ADMD
( アドレス : 00009CH)
A/D 制御ステータスレジスタ
ADCS
( アドレス : 00009FH)
A/D データレジスタ
ADCD
( アドレス : 0000A0H)
( アドレス : 0000A1H)
A/D 禁止レジスタ
( アドレス : 0000A3H)
404
ADCD
ADBL
bit7
6
8 ビット
5
4
3
2
1
0
初期値
00000000B
ANS3
ANS2
ANS1
ANS0
ANE3
ANE2
ANE1
ANE0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit15
14
13
12
11
10
9
8
−
−
−
予約
MOD1
MOD0
STS1
STS0
−
−
−
W
R/W
R/W
R/W
R/W
bit7
6
5
4
3
2
1
0
BUSY
INT
INTE
PAUS
−
−
STRT
予約
R/W
R/W
R/W
R/W
−
−
W
R/W
bit15
14
13
12
11
10
9
8
−
−
−
−
−
−
D9
D8
R
R
R
R
R
R
R
R
bit7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
R
R
R
R
R
R
R
R
bit7
6
5
4
3
2
1
0
−
−
−
−
−
−
−
DBL
−
−
−
−
−
−
−
R/W
---X0000B
0000--00B
000000XXB
XXXXXXXXB
-------0B
第 14 章 A/D コンバータ
14.2.1
A/D チャネル設定レジスタ (ADCH)
A/D チャネル設定レジスタ (ADCH) は , A/D コンバータが変換するチャネルを指定
します。
■ A/D チャネル設定レジスタ (ADCH) のビット構成
図 14.2-2 に , A/D チャネル設定レジスタ (ADCH) のビット構成を示します。
図 14.2-2 A/D チャネル設定レジスタ (ADCH) のビット構成
ADCH
bit7
アドレス : 0000009DH
ANS3
0
初期値→
読出し / 書込み→ R/W
<注意事項>
6
5
4
3
2
1
0
ANS2
0
R/W
ANS1
0
R/W
ANS0
0
R/W
ANE3
0
R/W
ANE2
0
R/W
ANE1
0
R/W
ANE0
0
R/W
A/D コンバータの動作中には , ADCH を変更しないでください。
■ A/D チャネル設定レジスタ (ADCH) の各ビットの機能
以下に , A/D チャネル設定レジスタ (ADCH) の各ビットの機能を説明します。
[bit7 ∼ bit4] ANS3, ANS2, ANS1, ANS0( アナログ起動チャネル設定 )
これらのビットは , A/D 変換の起動チャネルを設定します。
A/D コンバータを起動すると , これらのビットによって指定されたチャネルから
A/D 変換を開始します。
表 14.2-1 に , アナログ起動チャネルの設定内容を示します。
表 14.2-1 アナログ起動チャネルの設定 (1 / 2)
ANS3
ANS2
ANS1
ANS0
起動チャネル
0
0
0
0
AN0
0
0
0
1
AN1
0
0
1
0
AN2
0
0
1
1
AN3
0
1
0
0
AN4
0
1
0
1
AN5
0
1
1
0
AN6
0
1
1
1
AN7
1
0
0
0
AN8
1
0
0
1
AN9
405
第 14 章 A/D コンバータ
表 14.2-1 アナログ起動チャネルの設定 (2 / 2)
ANS3
ANS2
ANS1
ANS0
起動チャネル
1
0
1
0
AN10
1
0
1
1
AN11
1
1
0
0
AN12
1
1
0
1
AN13
1
1
1
0
AN14
1
1
1
1
AN15
● 読出し
• A/D 変換中にこれらのビットを読み出すと , 現在変換中のチャネル番号を読み出せ
ます。
• A/D 変換停止中にこれらのビットを読み出すと , 直近に変換したチャネルを読み出
せます。
• "0" を書き込むかリセットで , リセットします。
[bit3 ∼ bit0] ANE3, ANE2, ANE1, ANE0( アナログ終了チャネル設定 )
これらのビットは , A/D 変換の終了チャネルを設定します。
表 14.2-2 に A/D 変換の終了チャネルの設定内容を示します。
表 14.2-2 A/D 変換の終了チャネルの設定
406
ANE3
ANE2
ANE1
ANE0
終了チャネル
0
0
0
0
AN0
0
0
0
1
AN1
0
0
1
0
AN2
0
0
1
1
AN3
0
1
0
0
AN4
0
1
0
1
AN5
0
1
1
0
AN6
0
1
1
1
AN7
1
0
0
0
AN8
1
0
0
1
AN9
1
0
1
0
AN10
1
0
1
1
AN11
1
1
0
0
AN12
1
1
0
1
AN13
1
1
1
0
AN14
1
1
1
1
AN15
第 14 章 A/D コンバータ
• ANS3 ∼ ANS0 と同じチャネルを設定すると , そのチャネルだけの変換が指定され
ます ( シングル変換 )。
• 連続モード , またはストップモードで , これらのビットで指定されたチャネルまで
変換が実行されます。その後 , ANS3 から ANS0 までで指定された起動チャネルか
ら変換が再起動されます。
• ANS>ANE の場合 , 変換は ANS で指定されたチャネルから起動して , チャネル F ま
で続けられ , 再度チャネル 0 から始まり , ANE で指定されたチャネルで終了します。
• "0" を書き込むかリセットでリセットします。
例:
チャネル設定が , ANS=0xE, ANE=0x3, シングル変換モードの場合の例
動作 : チャネル変換は , ch.14 → ch.15 → ch.0 → ch.1 → ch.2 → ch.3 で終了
407
第 14 章 A/D コンバータ
14.2.2
A/D モードレジスタ (ADMD)
このレジスタは , A/D コンバータの動作モードと起動要因を設定します。
■ A/D モードレジスタ (ADMD) のビット構成
図 14.2-3 に , A/D モードレジスタ (ADMD) のビット構成を示します。
図 14.2-3 A/D モードレジスタ (ADMD) のビット構成
ADMD
bit15
14
13
12
−
(-)
(-)
−
(-)
(-)
−
(-)
(-)
−
(X)
(W)
アドレス : 0000009CH
初期値→
読出し / 書込み→
<注意事項>
11
10
9
MOD1 MOD0 STS1
(0)
(0)
(0)
(R/W) (R/W) (R/W)
8
STS0
(0)
(R/W)
A/D コンバータの動作中には , ADMD を変更しないでください。
■ A/D モードレジスタ (ADMD) の各ビットの機能
以下に , A/D モードレジスタ (ADMD) の各ビットの機能を説明します。
[bit12] 予約ビット。
書込み時は常に "0" に設定します。読出し値は不定です。
[bit11, bit10] MOD1, MOD0(A/D コンバータモード設定 )
これらのビットは動作モードを設定します。
MOD1
MOD0
0
0
シングルモード : 動作中の再起動はすべて可能
0
1
シングルモード : 動作中の再起動不可能
1
0
連続モード : 動作中の再起動不可能
1
1
ストップモード : 動作中の再起動不可能
動作モード
• シングルモード
ANS3 ∼ ANS0 で選択されたチャネルから ANE3 ∼ ANE0 で選択されたチャネルま
での連続 A/D 変換をします。変換周期ごとに一時停止。
• 連続モード
ANS3 ∼ ANS0 で選択されたチャネルから ANE3 ∼ ANE0 で選択されたチャネルま
での変換サイクルの繰返しです。
• ストップモード
ANS3 ∼ ANS0 で選択されたチャネルから ANE3 ∼ ANE0 で選択されたチャネルま
での各チャネルの A/D 変換をし , 各チャネルごとに一時停止します。再起動は , 起
動要因の発生によって決定されます。
408
第 14 章 A/D コンバータ
A/D 変換動作は , 以下の条件で行われます。
• 連続モードまたはストップモードで A/D 変換が起動されると , 変換動作は , BUSY
ビットによって停止を指示されるまで継続します。
• 変換は , BUSY ビットに "0" を書き込むと停止します。
• シングルモード , 連続モード , ストップモードにおけるすべてのタイマ , すべての外
部トリガ , すべてのソフトウェア起動要因について , 再起動はすべて禁止されます。
参考 : A/D コンバータを起動して A/D 変換がまだ動作中にもう一度起動をかけること
を , 変換再起動とよびます。
[bit9, bit8] STS1, STS0( 起動要因選択 )
"0" を書き込むかリセットでリセットします。
これらのビットは A/D 起動要因を選択します。
STS1
STS0
0
0
ソフトウェア起動
0
1
外部トリガ端子起動 , ソフトウェア起動
1
0
タイマ起動 , ソフトウェア起動
1
1
外部トリガ端子起動 , タイマ起動 , ソフトウェア起動
機能
複数起動モードでは , 最初の起動で A/D 変換が開始されます。
起動要因は , レジスタに書き込むと直ちに変更されます。したがって , A/D 動作中
の起動モードの切換えは注意が必要です。
A/D コンバータは , 外部トリガ端子の立下りエッジとタイマの立上りエッジを検出
します。
タイマを選択すると , タイマ 4 の出力が選択されます。
<注意事項>
ADMD レジスタの A/D 起動要因ビット (STS1 と STS0) を使用し , 外部トリガ , ま
たは内部タイマを選択して A/D コンバータを起動するときには , 外部トリガ , また
は内部タイマの入力値を無効に設定してください。
入力値が有効であると , STS1 ビットと STS0 ビットに書き込んだときに起動しま
す。STS1 ビットと STS0 ビットを設定するときには , ATGX 入力 =1 で , かつ内部
タイマ出力 ( タイマ 4)=0 であることを確認してください。
409
第 14 章 A/D コンバータ
14.2.3
A/D 制御ステータスレジスタ (ADCS)
A/D 制御ステータスレジスタ (ADCS) は , A/D コンバータの制御ステータスレジスタ
です。
■ A/D 制御ステータスレジスタ (ADCS) のビット構成
図 14.2-4 に , A/D 制御ステータスレジスタ (ADCS) のビット構成を示します。
図 14.2-4 A/D 制御ステータスレジスタ (ADCS) のビット構成
ADCS
bit7
アドレス : 0000009FH
BUSY
初期値→ (0)
読出し / 書込み→ (R/W)
6
5
4
3
2
1
0
INT
(0)
(R/W)
INTE
(0)
(R/W)
PAUS
(0)
(R/W)
−
(-)
(-)
−
(-)
(-)
STRT
(0)
(W)
予約
(0)
(R/W)
■ A/D 制御ステータスレジスタ (ADCS) の各ビットの機能
以下に , A/D 制御ステータスレジスタ (ADCS) の各ビットの機能を説明します。
[bit7] BUSY( ビジーフラグとストップ )
• 読出し時は , A/D コンバータ動作指示ビットとなります。A/D 変換の起動で設定 , 完
了でクリアされます。
• 書込み時は , A/D 変換中にこのビットに "0" を書き込むと , 変換が強制終了します。
連続モードやストップモードでの強制終了に使用します。通常の動作では , この
ビットには "1" を書き込みます。
• RMW 命令は , このビットを "1" と読みます。
• シングル変換モードでは , A/D 変換完了でクリアされます。
• 連続モードとストップモードでは , "0" を書き込んで変換を停止するまで , このフラ
グはクリアされません。
• リセットでは "0" に初期化されます。
• 強制終了とソフトウェア起動 (BUSY=0 と STRT=1) は同時に指定しないでください。
[bit6] INT( 割込み )
データ指示ビットです。このビットは , 変換データが ADCD に格納されると設定さ
れます。このビットが設定されるときに bit5(INTE) が "1" であると , 割込み要求が
発生するか , DMA の起動が許可されていると , DMA が起動されます。このビット
に "1" を書き込んでも意味はありません。
A/D 変換停止中にこのビットに "0" を書き込むと , クリアされます。
0
変換は完了していません。
1
変換が終了し , 結果がデータレジスタに格納されました。
• このビットは , "0" を書き込むか DMA 割込みクリア信号でクリアされます。
• リセットでは "0" に初期化されます。
410
第 14 章 A/D コンバータ
[bit5] INTE( 割込み許可 )
このビットで , 変換完了割込みを許可 / 禁止します。
0
割込みを禁止します。
1
割込みを許可します。
• DMA を使用するときは , 常にこのビットを設定します。
• DMA は , 割込み要求の発生によって起動されます。
• "0" を書き込むかリセットでクリアされます。
[bit4] PAUS(A/D コンバータ一時停止 )
このビットは , A/D 変換が一時停止すると設定されます。
A/D コンバータには , 変換結果を格納するレジスタが 1 つしかありません。したがっ
て , 連続変換を実行するときに変換結果が DMA によって転送されないと , 直前の結
果は失われます。
この問題を避けるために , DMA によって前の値が転送されるまで , 次の変換データ
はデータレジスタに格納されません。この間 , A/D 変換は一時停止します。
DMA による転送が完了すると , A/D 変換は再起動されます。
このビットは , DMA を使用するときだけ意味があります。
0
一時停止していません。
1
一時停止中です。
• "0" を書き込むかリセットでクリアされます。
• A/D 変換一時停止中にこのビットに "0" を書き込むと , クリアされます。
参考 :「14.3 A/D コンバータの動作」の「■ 変換動作」の「● 変換データ保護機能」
を参照してください。
[bit1] STRT( 起動 )
このビットに "1" を書き込むと , A/D 変換が起動します。もう一度 "1" を書き込む
と , A/D 変換が再起動します。
再起動は , ストップモードでは機能しません。
このビットを読み出すと常に "0" です。
強制終了とソフトウェア起動 (BUSY=0 と STRT=1) は同時に指定しないでください。
0
無効
1
A/D 変換を起動します。
• リセットでは "0" に初期化されます。
[bit0] 予約ビット
このビットには , 常に "0" を書き込みます。
411
第 14 章 A/D コンバータ
14.2.4
A/D データレジスタ (ADCD)
A/D データレジスタ (ADCD) は , A/D コンバータの変換結果を格納します。
■ A/D データレジスタ (ADCD) のビット構成
図 14.2-5 に A/D データレジスタ (ADCD) のビット構成を示します。
図 14.2-5 A/D データレジスタ (ADCD) のビット構成
アドレス : 000000A1H
初期値→
読出し / 書込み→
アドレス : 000000A0H
初期値→
読出し / 書込み→
bit7
6
5
4
3
2
1
0
D7
(X)
(R)
D6
(X)
(R)
D5
(X)
(R)
D4
(X)
(R)
D3
(X)
(R)
D2
(X)
(R)
D1
(X)
(R)
D0
(X)
(R)
bit15
14
13
12
11
10
9
8
−
(0)
(R)
−
(0)
(R)
−
(0)
(R)
−
(0)
(R)
−
(0)
(R)
−
(0)
(R)
D9
(X)
(R)
D8
(X)
(R)
これらのレジスタには , A/D 変換結果のデジタル値が格納されます。
レジスタの値は , 各変換が完了すると更新されます。通常 , このレジスタは前の変換結
果を格納します。
リセット後のレジスタの内容は不定です。
ADCD の bit15 ∼ bit10 までの読出し値は "0" です。
A/D コンバータには , 変換データ保護機能があります。変換データ保護機能については ,
「14.3 A/D コンバータの動作」を参照してください。
このレジスタは書込み禁止です。
412
第 14 章 A/D コンバータ
14.2.5
A/D 禁止レジスタ (ADBL)
A/D 禁止レジスタ (ADBL) は , ADC のクロックを禁止にします。
■ A/D 禁止レジスタ (ADBL) のビット構成
図 14.2-6 に , A/D 禁止レジスタ (ADBL) のビット構成を示します。
図 14.2-6 A/D 禁止レジスタ (ADBL) のビット構成
アドレス : 000000A3H
初期値→
読出し / 書込み→
bit7
6
5
4
3
2
1
0
−
(-)
(-)
−
(-)
(-)
−
(-)
(-)
−
(-)
(-)
−
(-)
(-)
−
(-)
(-)
−
(-)
(-)
DBL
(0)
(R/W)
DBL ビットを "1" に設定すると , ADC のクロックは禁止になります。
413
第 14 章 A/D コンバータ
14.3
A/D コンバータの動作
A/D コンバータは , 10 ビットの分解能の逐次比較方式を使用して動作します。変換
結果を格納するために , 16 ビットのレジスタが 1 つしかないので , 変換データレジ
スタ (ADCD) は , 変換が完了するたびに更新されます。
つまり , A/D コンバータ自体は連続変換の実行に適していませんので , 変換動作中に
DMA サービス機能を使用して変換データをメモリに転送することをお勧めします。
■ 動作モード
動作モードには , シングルモード , 連続モード , ストップモードの 3 つがあります。
● シングルモード
シングル変換モードでは , ANS ビットと ANE ビットによって選択されたアナログ入力
信号が , ANE ビットにより決められる終了チャネルの変換が完了するまで , 順番に変
換されます。続いて , A/D 変換が終了します。開始チャネルと終了チャネルが同じであ
る場合 (ANS=ANE), 1 つのチャネルの変換だけが実行されます。
例:
ANS=0000, ANE=0011
⇒開始→ AN0 → AN1 → AN2 → AN3 →終了
ANS=0010, ANE=0010
⇒開始→ AN2 →終了
● 連続モード
連続変換モードでは , ANS ビットと ANE ビットによって選択されたアナログ入力信号
が , ANE ビットにより決められる終了チャネルの変換が完了するまで順番に変換され
ます。次に , コンバータは ANS チャネルのアナログ入力に戻り , 処理を繰り返します。
開始チャネルと終了チャネルが同じである場合 (ANS=ANE), そのチャネルの変換だけ
が連続的に実行されます。
例 : ANS=0000, ANE=001
開始→ AN0 → AN1 → AN2 → AN3 → AN0... →繰返し
ANS=0010, ANE=0010
開始→ AN2 → AN2 → AN2... →繰返し
連続変換モードでは , BUSY ビットに "0" が書き込まれるまで変換が繰り返されます。
BUSY ビットに "0" が書き込まれると , 変換は強制終了となります。動作を強制終了さ
せると , 変換の途中で現在の変換が停止するので , 注意してください。動作が強制終了
されると , 変換レジスタの値は , 直近に完了した変換の結果になります。
● ストップモード
ストップモードでは , ANS ビットと ANE ビットによって選択された , アナログ入力信
号が順番に変換されますが , 各チャネルの変換のたびに変換動作は一時停止します。こ
の一時停止は , もう一度起動信号を適用することによって解除されます。
414
第 14 章 A/D コンバータ
ANE ビットにより決められる終了チャネルの変換が完了すると , A/D コンバータは
ANS チャネルのアナログ入力信号に戻り , 処理を繰り返します。
開始チャネルと終了チャネルが同じである場合 (ANS=ANE), 1 つのチャネルの変換だ
けが実行されます。
例 : ANS=0000, ANE=0011
開始→ AN0 →停止→開始→ AN1 →停止→開始→ AN2 →停止→開始→ AN3 →
停止→開始→ AN0... →繰返し
ANS=0010, ANE=00100
開始→ AN2 →停止→開始→ AN2 →停止→開始→ AN2... →繰返し
ストップモードでは , 起動要因は , STS1 と STS0 ビットで決まる要因に限られます。
このモードにより , 変換起動信号の同期が可能になります。
■ 変換動作
DMA を使用した変換動作と変換データ保護機能について説明します。
● DMA を使用した変換動作
図 14.3-1 に , 連続変換モードにおける , A/D 変換の開始から変換データの転送までの流
れを示します。
図 14.3-1 連続変換モードにおける動作フロー
A/D
変換開始
データのサンプリングと
ホールド
DMA 開始
Start
DMA
データ転送
データ変換
*
処理割込み
変換終了
割込みクリア
割込み発生
* は , DMA 設定によって決まる動作を示します。
● 変換データ保護機能
A/D コンバータの特長の 1 つは , 変換データ保護機能です。これによってユニットは ,
連続変換の結果と複数のデータ集合を保護できます。
変換データレジスタは 1 つしかないので , 連続して A/D 変換をすると , 変換サイクルが
終了して変換結果が格納されるたびに , レジスタ内の前のデータが失われることにな
ります。データの消失を防ぐために , A/D コンバータには , 現在の変換サイクルが終了
しても , 前のデータが DMA によってメモリに転送されてしまうまでは , レジスタに新
しいデータを格納しないように一時停止する機能があります。
メモリへの DMA 転送が完了すると一時停止は取り消され , 変換が再開します。
前のデータが時間内にメモリに転送されれば , A/D 変換は一時停止しないで継続しま
す。
415
第 14 章 A/D コンバータ
<注意事項>
この機能は , ADCS レジスタの INT ビットと INTE ビットに関連しています。
• データ保護機能は , 割込み許可状態 (INTE=1) でのみ動作するように設計されて
います。
• 割込みが禁止されている (INTE=0) 場合は , この機能は動作せず , 連続の A/D 変
換を行った場合 , 前の変換データの集合は , 次の集合がレジスタに格納されると
消失します。
• 割込み許可のモード (INTE=1) では , DMA を使用せずに INT ビットをクリアする
ことはできませんので , データ保護機能によって A/D 変換は強制的に一時停止状
態のままになります。この場合は , 割込みシーケンスを使用して , INT ビットを
クリアし , 一時停止を解除します。
• DMA 転送中 , A/D コンバータが一時停止状態のときに割込みが禁止された場合
は , A/D コンバータは動作を再開でき , 変換データレジスタの内容は転送が完了
する前に消失する可能性があります。
• 一時停止状態で再起動をかけると , レジスタに待機中のデータは破壊されます。
図 14.3-2 に , データ保護機能の動作フロー (DMA 使用時 ) を示します。
図 14.3-2 データ保護機能の動作フロー (DMA 使用時 )
A/D コンバータが一時停止中のフローは省略しています。
DMA設定
A/D 連続変換を起動
(注意事項)
一時停止状態で再起動をかけると、レジスタに待機中
のデータは破壊されます。
1番目の変換サイクル終了
結果をデータレジスタに格納
2番目の変換サイクル終了
DMA 起動
NO
注
A/D変換一時停止
DMADMA終了?
YES
YES
結果をデータレジスタに格納
DMA 終了 ?
NO
DMA 起動
3 番目の変換サイクル終了
継続
DMA 起動
すべての変換サイクルを停止
割込みルーチン
終了
A/D変換停止
■ 使用上の注意事項
A/D コンバータを使用するうえで , ほかに注意すべき事項を , 以下に示します。
ATGX 端子へのパルス入力は , 次に示す最小入力パルス幅より長くなければなりませ
ん。
最小入力パルス幅 : 2 周辺クロック (CLKP) サイクル
ただし , 場合によっては , この仕様より入力パルスが短くても有効なパルスとして認識
されることがあります。
MB91360 シリーズの A/D コンバータの外部トリガ入力には , フィルタ機能がありませ
ん。必要な場合は , 外部にフィルタまたは同様の回路を接続してください。
416
第 15 章
16 ビットリロードタイマ
16 ビットリロードタイマの概要を示し , レジスタ
の構成と機能 , および 16 ビットリロードタイマの
動作について説明します。
15.1 16 ビットリロードタイマの概要
15.2 16 ビットリロードタイマのレジスタ構成
15.3 16 ビットリロードタイマの動作
417
第 15 章 16 ビットリロードタイマ
15.1
16 ビットリロードタイマの概要
16 ビットリロードタイマは , 16 ビットダウンカウンタ , 16 ビットリロードレジスタ ,
内部カウントクロック生成用プリスケーラとコントロールレジスタより構成されて
います。
16 ビットリロードタイマは , 割込みを使用して DMA 転送も起動できます。
MB91360 シリーズには , 6 個の 16 ビットリロードタイマチャネルが格納されてい
ます。
■ 16 ビットリロードタイマの機能
入力クロックは , 3 つの内部クロックから選択できます ( 周辺機器用クロックは 2/8/32
で分周されます )。
■ 16 ビットリロードタイマのブロックダイヤグラム
図 15.1-1 に , 16 ビットリロードタイマのブロックダイヤグラムを示します。
図 15.1-1 16 ビットリロードタイマのブロックダイヤグラム
16
16ビットリロードレジスタ
8
リロード
16ビットダウンカウンタ UF
16
RELD
Rバス
GATE
OUT
CTL.
CSL1
クロックセレクタ
CSL0
INTE
UF
IRQ
CNTE
TRG
2
φ
2
1
φ
2
φ
3
25
プリスケーラクリア
PWM(リロードタイマch.0~ch.3)* A/D(リロードタイマch.4)*
* 内部接続
CLKP
418
第 15 章 16 ビットリロードタイマ
15.2
16 ビットリロードタイマのレジスタ構成
16 ビットリロードタイマのレジスタについて説明します。
■ 16 ビットリロードタイマのレジスタ構成
16 ビットリロードタイマは , 次の 3 つのレジスタから構成されています。
• 制御ステータスレジスタ (TMCSR)
• 16 ビットタイマレジスタ (TMR)
• 16 ビットリロードレジスタ (TMRLR)
図 15.2-1 に , 16 ビットリロードタイマのレジスタ構成を示します。
図 15.2-1 16 ビットリロードタイマのレジスタ構成
bit15
制御ステータス
レジスタ (TMCSR)
16 ビットタイマ
レジスタ (TMR)
14
13
12
11
10
9
8
初期値
TMCSR 予備
予備
予備
予備
CSL1
CSL0
予備
予備
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
・TMCSR3 ∼
TMCSR5
----XX--B
・TMCSR0 ∼
TMCSR2
----0000B
bit7
6
5
4
3
2
1
0
予備
予備
予備
RELD
INTE
UF
CNTE
TRG
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit15
14
13
12
11
10
9
8
・TMCSR3 ∼
TMCSR5
---XXXXXB
・TMCSR0 ∼
TMCSR2
---00000B
XXXXXXXXB
TMR
R
R
R
R
R
R
R
R
bit7
6
5
4
3
2
1
0
XXXXXXXXB
16 ビットリロード
レジスタ (TMRLR)
R
R
R
R
R
R
R
R
bit15
14
13
12
11
10
9
8
XXXXXXXXB
TMRLR
W
W
W
W
W
W
W
W
bit7
6
5
4
3
2
1
0
XXXXXXXXB
W
W
W
W
W
W
W
W
419
第 15 章 16 ビットリロードタイマ
15.2.1
制御ステータスレジスタ (TMCSR)
制御ステータスレジスタ (TMCSR) は , 16 ビットリロードタイマの動作モード , およ
び割込みを制御します。
UF, CNTE, TRG 以外のビットの変更は , CNTE=0 のときに行うようにしてくださ
い。
同時書込みが可能です。
■ 制御ステータスレジスタ (TMCSR) のビット構成
図 15.2-2 に , 制御ステータスレジスタ (TMCSR) のビット構成を示します。
図 15.2-2 制御ステータスレジスタ (TMCSR) のビット構成
アドレス
bit11
0000 004EH CSL1
0000 0056H
R/W
0000 005EH
0000 0106H
0000 010EH
0000 0116H
10
9
8
7
6
5
4
3
2
1
0
CSL0
予備
予備
予備
予備
予備
RELD
INTE
UF
CNTE
TRG
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
←アクセス
初期値 : ・TMCSR3 ∼ TMCSR5 : XX-----XXXXXB
・TMCSR0 ∼ TMCSR2 : 0000---00000B
■ 制御ステータスレジスタ (TMCSR) の各ビットの機能
以下に , 制御ステータスレジスタ (TMCSR) の各ビットの機能について説明します。
[bit11, bit10] CSL1, CSL0(Count clock SeLect)
これらのビットは , カウントクロック選択ビットです。
選択されるクロックソースを , 表 15.2-1 に示します。
表 15.2-1 CSL ビットのクロックソース設定
CSL1
CSL0
クロックソース (φ: マシンクロック )
0
0
φ/21
0
1
φ/23
1
0
φ/25
1
1
設定禁止
[bit9 ∼ bit5] 予備ビット
常に , "00000" に設定します。
420
第 15 章 16 ビットリロードタイマ
[bit4] RELD
このビットでリロード動作を許可します。
RELD が "1" のとき , タイマはリロードモードで動作します。このモードでは , タイ
マはカウンタの値が "0000H" → "FFFFH" へのアンダフローと同時にリロードレジス
タの内容をカウンタへロードしてカウント動作を続けます。
RELD が "0" の場合は , カウンタ値が "0000H" から "FFFFH" に変わることによって
アンダフローが起こると , カウント動作が停止します。
[bit3] INTE
このビットは , 割込み要求許可ビットです。
INTE が "1" のときに , UF ビットが "1" に変わると割込み要求が発生します。
INTE が "0" の場合は , 割込み要求は発生しません。
[bit2] UF
このビットは , タイマ割込み要求フラグです。
アンダフローが発生すると ( カウンタ値が "0000H" から "FFFFH" に変わる ), UF は
"1" に設定されます。
"0" を書き込むとビットはクリアされます。"1" を書き込んでも意味はありません。
リードモディファイライト系命令における読出し時には , "1" が読み出されます。
[bit1] CNTE
このビットは , タイマカウントの許可ビットです。
"1" を書き込むと , タイマは起動トリガを待ちに設定されます。
"0" を書き込むと , カウント動作が停止します。
[bit0] TRG
このビットは , ソフトウェアトリガビットです。
TRG に "1" を書き込むとソフトウェアトリガが適用され , タイマはリロードレジス
タの内容をカウンタにロードし , カウントを開始します。
"0" を書き込んでも意味はありません。読み出すと常に "0" が返ります。
このレジスタを使用したトリガの適用は, CNTEが"1"の場合にのみ有効です。
CNTE
が "0" の場合は , "1" を書き込んでも効果はありません。
421
第 15 章 16 ビットリロードタイマ
15.2.2
16 ビットタイマレジスタ (TMR)
このレジスタを読み出すと 16 ビットタイマのカウント値が読み出されます。
初期値は不定です。
必ず , 16 ビットデータ転送命令を使用してこのレジスタを読み出します。
■ 16 ビットタイマレジスタ (TMR) の構成
図 15.2-3 に , 16 ビットタイマレジスタ (TMR) の構成を示します。
図 15.2-3 16 ビットタイマレジスタ (TMR) の構成
R
X
R
X
R
X
R
X
∼∼
422
bit15
∼∼
アドレス
0000 004AH
0000 0052H
0000 005AH
0000 0102H
0000 010AH
0000 0112H
……
……
0
R
X
R
X
R
X
R
X
←アクセス
←初期値
第 15 章 16 ビットリロードタイマ
15.2.3
16 ビットリロードレジスタ (TMRLR)
16 ビットリロードレジスタは , 初期カウント値を格納します。
初期値は不定です。
必ず , 16 ビットデータ転送命令を使用してこのレジスタを書き込みます。
■ 16 ビットリロードレジスタ (TMRLR) の構成
図 15.2-4 に , 16 ビットリロードレジスタ (TMRLR) の構成を示します。
図 15.2-4 16 ビットリロードレジスタ (TMRLR) の構成
W
X
W
X
W
X
W
X
∼∼
bit15
∼∼
アドレス
0000 0048H
0000 0050H
0000 0058H
0000 0100H
0000 0108H
0000 0110H
……
……
0
W
X
W
X
W
X
W
X
←アクセス
←初期値
423
第 15 章 16 ビットリロードタイマ
15.3
16 ビットリロードタイマの動作
16 ビットリロードタイマの次の 2 つの動作について説明します。
• 内部クロック動作
• アンダフロー動作
424
第 15 章 16 ビットリロードタイマ
15.3.1
内部クロック動作
16 ビットリロードタイマの内部クロック動作について説明します。
内部クロックの分周クロックでタイマを動作させる場合 , クロックソースとしてマシ
ンクロックの 2, 8, 32 分周のクロックから選択することができます。
カウント許可と同時にカウントの動作を開始する場合は , 制御ステータスレジスタの
CNTE ビットと TRG ビットの両方に "1" を書き込んでください。
TRG ビットによるトリガ入力は , タイマが起動状態のとき (CNTE が "1"), 動作モード
にかかわらず常に有効です。
カウンタの起動とカウンタの動作について , 図 15.3-1 に示します。
カウンタスタートのトリガが入力されてからリロードレジスタのデータがカウンタへ
ロードされるまでに , φ(φ: CLKP マシンサイクル ) の時間がかかります。
図 15.3-1 カウンタの起動と動作タイミング
カウンタクロック
カウンタ
データリロード
-1
-1
-1
データロード
CNTE(レジスタ)
TRG(レジスタ)
φ
425
第 15 章 16 ビットリロードタイマ
15.3.2
アンダフロー動作
16 ビットリロードタイマのアンダフロー動作について説明します。
カウンタの値が "0000H" から "FFFFH" になるときをアンダフローとしています。した
がって , 「リロードレジスタの設定値 +1」のカウントでアンダフローが発生すること
になります。
アンダフロー発生時 , 制御レジスタの RELD ビットが "1" のとき , リロードレジスタの
内容はカウンタへロードされてカウント動作は継続されます。RELD ビットが "0" のと
き , カウンタは "FFFFH" で停止します。
アンダフローにより , 制御レジスタの UF ビットが設定されます。このとき INTE ビッ
トが "1" であると , 割込み要求が発生します。
アンダフローの動作について , 図 15.3-2 に示します。
図 15.3-2 アンダフローの動作タイミング
・RELD= 1 の場合
カウントクロック
カウンタ
0000 H
データリロード
-1
データロード
アンダフローセット
・RELD= 0 の場合
カウントクロック
カウンタ
アンダフローセット
426
0000 H
FFFF H
-1
-1
第 15 章 16 ビットリロードタイマ
15.3.3
カウンタの動作状態
16 ビットリロードタイマのカウンタの動作状態について説明します。
カウンタの状態は , 制御レジスタの CNTE ビットと内部の WAIT 信号によって決まりま
す。
設定可能な状態としてCNTE=0, WAIT=1の停止状態(STOP状態: 動作停止), CNTE=1,
WAIT=1 の起動トリガ待ち状態 (WAIT 状態 : トリガ待ち ), および CNTE=1, WAIT=0 の
動作状態 (RUN 状態 : 動作中 ) があります。
各状態の遷移を図 15.3-3 に示します。
図 15.3-3 カウンタ状態の遷移
ハードウェアによる状態遷移
レジスタアクセスによる状態遷移
リセット
停止
CNTE= 0, WAIT= 1
カウンタ: カウント停止時の
値を保持。
リセット後は不定。
CNTE= 0
CNTE= 0
CNTE= 1
CNTE= 1
TRG= 1
TRG= 0
待機
実行
CNTE= 1, WAIT= 1
CNTE= 1, WAIT= 0
カウンタ: カウント中
カウンタ: カウント停止時の
値を保持。
リセット後、ロード
されるまでは不定。
RELD UF
TRG= 1
TRG= 1
ロード
CNTE= 1, WAIT= 0
リロードレジスタの内容を
カウンタにロード
RELD UF
ロード完了
427
第 15 章 16 ビットリロードタイマ
15.3.4
その他の動作
16 ビットリロードタイマのその他の動作について説明します。
• リロードタイマのチャネル 0 とチャネル 1 の割込み要求信号を使用して , DMA 転送
を起動できます。DMA コントローラは , 転送要求を確認するとリロードタイマの割
込みフラグをクリアします。
• リロードタイマのチャネル 4 の出力は , 内部で A/D コンバータに接続されています。
これを使用して, リロードレジスタに設定されている間隔で, 周期的にA/Dコンバー
タを起動できます。
• リロードタイマのチャネル 0 から 3 の出力は , 内部で PWM タイマに接続されてい
て , これらのタイマのトリガに使用できます。
428
第 16 章
CAN コントローラ
CAN インタフェースの概要を示し , レジスタの構
造と機能 , および CAN インタフェースの動作につ
いて説明します。
16.1 CAN コントローラの概要
16.2 レジスタ
16.3 CAN コントローラの動作
16.4 使用手順
429
第 16 章 CAN コントローラ
16.1
CAN コントローラの概要
CAN コントローラは , MB91360 シリーズの内蔵モジュールです。CAN(Controller
Area Network: コントローラエリアネットワーク ) は , 自動車コントローラ間のシリ
アル通信用標準プロトコルで , 産業界で広く応用されています。
■ CAN コントローラの特長
CAN コントローラには以下の特長があります。
•
CAN 仕様バージョン 2.0 パート A, および B に準拠
- 標準フレーム , および拡張フレームの各フォーマットにおける送受信をサポート
しています。
• リモートフレームの受信によるデータフレームの送信をサポート
• 16 の送受信メッセージバッファ
- 29 ビット ID, および 8 バイトデータを使用しています。
- 多重メッセージバッファ構成です。
• フルビット比較 , フルビットマスク , 部分ビットマスクフィルタリングをサポート
- 標準フレームフォーマット , または拡張フレームフォーマットのいずれでも使用
できる 2 つの受入マスクレジスタを採用しています。
• 10K ビット / 秒∼ 1M ビット / 秒でビット速度をプログラム可能 ( 入力クロックが
16 MHz の場合 )
以下の節では , CAN0 についてのみ説明します。他の CAN チャネルのレジスタアドレ
スについては ,「付録 A I/O マップ」を参照してください。
示されているアドレスは , CS7 領域が , 「第 4 章 ブート ROM/ 構成レジスタ」で説明
されているように定義されていると想定しています。
430
第 16 章 CAN コントローラ
■ CAN コントローラのブロックダイヤグラム
図 16.1-1 に , CAN コントローラのブロックダイヤグラムを示します。
図 16.1-1 ブロックダイヤグラム
CANCLK
CREG
CAN送受信動作用クロック
クロック構成
CLKT
外バスアクセス用クロック
TQ(作動クロック)
外部バス
(ユーザロジックバス)
プリスケーラ
1~64周波数分割
ビットタイミング発生
SYNC, TSEG1, TSEG2
PSC
PR
BTR
PH
RSJ
TOE
TS
RS
HALT
CSR
NIE
NT
ノード状態変更
割込み発生
IDLE, INT, SUSPND,
送信, 受信,
ERR, OVRLD
バス
ステート
マシン
ノード状態
変更割込み
NS1,NS0
エラー
制御
RTEC
送信/受信シーケンサ
BVALR
TREQR
TBFx、クリア
送信バッファx決定
TBFx
エラーフレーム
発生
データ 受入フィルタ
カウンタ
制御
オーバロード
フレーム発生
TDLC RDLC
TBFx
IDSEL
BITER, STFER,
CRCER, FRMER,
ACKER
TCANR
出力
ドライバ
ARBLOST
TX
TRTRR
TCR
TBFx, 設定, クリア
送信完了割込み
送信完了割込み発生
ACK発生
CRCER
RBFx, 設定
RIER
RRTRR
CRC発生
TDLC
TIER
RCR
スタッフィング
送信シフト
レジスタ
RFWTR
RDLC
受信完了割込み発生
受信完了割込み
STFER
デスタッフィング/
スタッフィング
エラーチェック
受信シフト
レジスタ
RBFx, TBFx, 設定, クリア
RBFx, 設定
CRC発生/
エラーチェック
IDSEL
ROVRR
ARBLOST
AMSR
AMR0x
0
1
BITER
受入フィルタ
受信バッファx
決定
RBFx
RAMアドレス
発生
ビットエラー
チェック
ACKER
肯定応答
エラーチェック
FRMER
形式エラー
チェック
AMR1x
IDR0~15
DLCR0~15
DTR0~15
RAM
調停チェック
PH1
入力
ラッチ
RX
RBFx, TBFx, RDLC, TDLC, IDSEL
LEIR
431
第 16 章 CAN コントローラ
16.2
レジスタ
CAN コントローラのレジスタについて説明します。
■ 制御レジスタ一覧
表 16.2-1 に , CAN コントローラの制御レジスタ一覧を示します。
表 16.2-1 に示されたレジスタに対しては , バイアスモードではライトアクセスできませ
ん。これらのレジスタへのライトアクセスは , 16 ビットアクセスを使用してください。
表 16.2-1 CAN コントローラの制御レジスタ一覧 (1 / 2)
アドレス
レジスタ
略記
アクセス
初期値
メッセージバッファ有効レジスタ
BVALR0
R/W
00000000 00000000
送信要求レジスタ
TREQR0
R/W
00000000 00000000
送信取消しレジスタ
TCANR0
W
00000000 00000000
送信完了レジスタ
TCR0
R/W
00000000 00000000
受信完了レジスタ
RCR0
R/W
00000000 00000000
リモート要求受信レジスタ
RRTRR0
R/W
00000000 00000000
受信オーバランレジスタ
ROVRR0
R/W
00000000 00000000
受信割込み許可レジスタ
RIER0
R/W
00000000 00000000
制御ステータスレジスタ
CSR0
R/W, R
00---000 0----0-1
最終イベントインディケータレジスタ
LEIR0
R/W
-------- 000-0000
CAN0
100000H
100001H
100002H
100003H
100004H
100005H
100006H
100007H
100008H
100009H
10000AH
10000BH
10000CH
10000DH
10000EH
10000FH
100010H
100011H
100012H
100013H
432
第 16 章 CAN コントローラ
表 16.2-1 CAN コントローラの制御レジスタ一覧 (2 / 2)
アドレス
レジスタ
略記
アクセス
初期値
受信 / 送信エラーカウンタ
RTEC0
R
00000000 00000000
ビットタイミングレジスタ
BTR0
R/W
-1111111 11111111
IDE レジスタ
IDER0
R/W
XXXXXXXX XXXXXXXX
送信 RTR レジスタ
TRTRR0
R/W
00000000 00000000
リモートフレーム受信待ちレジスタ
RFWTR0
R/W
XXXXXXXX XXXXXXXX
送信割込み許可レジスタ
TIER0
R/W
00000000 00000000
CAN0
100014H
100015H
100016H
100017H
100018H
100019H
10001AH
10001BH
10001CH
10001DH
10001EH
10001FH
100020H
XXXXXXXX XXXXXXXX
100021H
100022H
受入マスク選択レジスタ
AMSR0
R/W
XXXXXXXX XXXXXXXX
100023H
100024H
XXXXXXXX XXXXXXXX
100025H
受入マスクレジスタ 0
AMR00
R/W
100026H
XXXXX--- XXXXXXXX
100027H
100028H
XXXXXXXX XXXXXXXX
100029H
受入マスクレジスタ 1
AMR10
R/W
10002AH
XXXXX--- XXXXXXXX
10002BH
433
第 16 章 CAN コントローラ
■ メッセージバッファ
表 16.2-2 にメッセージバッファ(ID レジスタ ) 一覧を , 表 16.2-3 にメッセージバッファ
(DLC レジスタ , およびデータレジスタ ) 一覧を , 表 16.2-4 に構成レジスタを示します。
メッセージバッファレジスタ ( 表 16.2-2 , 表 16.2-3 ) へのバイトモードでのライトアク
セスはできません。16 ビットモードでライトしてください。
表 16.2-2 メッセージバッファ (ID レジスタ ) 一覧 (1 / 3)
アドレス
CAN0
レジスタ
略記
アクセス
初期値
汎用 RAM
--
R/W
XXXXXXXX ∼ XXXXXXXX
10002CH
∼
10004BH
10004CH
XXXXXXXX XXXXXXXX
10004DH
10004EH
ID レジスタ 0
IDR00
R/W
XXXXX--- XXXXXXXX
10004FH
100050H
XXXXXXXX XXXXXXXX
100051H
100052H
ID レジスタ 1
IDR10
R/W
XXXXX--- XXXXXXXX
100053H
100054H
XXXXXXXX XXXXXXXX
100055H
100056H
ID レジスタ 2
IDR20
R/W
XXXXX--- XXXXXXXX
100057H
100058H
XXXXXXXX XXXXXXXX
100059H
10005AH
ID レジスタ 3
IDR30
R/W
XXXXX--- XXXXXXXX
10005BH
10005CH
XXXXXXXX XXXXXXXX
10005DH
10005EH
ID レジスタ 4
IDR40
R/W
XXXXX--- XXXXXXXX
10005FH
100060H
XXXXXXXX XXXXXXXX
100061H
100062H
100063H
434
ID レジスタ 5
IDR50
R/W
XXXXX--- XXXXXXXX
第 16 章 CAN コントローラ
表 16.2-2 メッセージバッファ (ID レジスタ ) 一覧 (2 / 3)
アドレス
CAN0
レジスタ
略記
アクセス
100064H
XXXXXXXX XXXXXXXX
100065H
100066H
ID レジスタ 6
IDR60
R/W
XXXXX--- XXXXXXXX
100067H
100068H
XXXXXXXX XXXXXXXX
100069H
10006AH
ID レジスタ 7
IDR70
R/W
XXXXX--- XXXXXXXX
10006BH
10006CH
XXXXXXXX XXXXXXXX
10006DH
10006EH
ID レジスタ 8
IDR80
R/W
XXXXX--- XXXXXXXX
10006FH
100070H
XXXXXXXX XXXXXXXX
100071H
100072H
ID レジスタ 9
IDR90
R/W
XXXXX--- XXXXXXXX
100073H
100074H
XXXXXXXX XXXXXXXX
100075H
100076H
ID レジスタ 10
IDR100
R/W
XXXXX--- XXXXXXXX
100077H
100078H
XXXXXXXX XXXXXXXX
100079H
10007AH
ID レジスタ 11
IDR110
R/W
XXXXX--- XXXXXXXX
10007BH
10007CH
XXXXXXXX XXXXXXXX
10007DH
10007EH
10007FH
初期値
ID レジスタ 12
IDR120
R/W
XXXXX--- XXXXXXXX
435
第 16 章 CAN コントローラ
表 16.2-2 メッセージバッファ (ID レジスタ ) 一覧 (3 / 3)
アドレス
CAN0
レジスタ
略記
アクセス
100080H
XXXXXXXX XXXXXXXX
100081H
100082H
ID レジスタ 13
IDR130
R/W
XXXXX--- XXXXXXXX
100083H
100084H
XXXXXXXX XXXXXXXX
100085H
100086H
ID レジスタ 14
IDR140
R/W
XXXXX--- XXXXXXXX
100087H
100088H
XXXXXXXX XXXXXXXX
100089H
10008AH
初期値
ID レジスタ 15
IDR150
R/W
XXXXX--- XXXXXXXX
10008BH
表 16.2-3 メッセージバッファ (DLC レジスタ , およびデータレジスタ ) 一覧 (1 / 3)
アドレス
CAN0
レジスタ
略記
アクセス
DLC レジスタ 0
DLCR00
R/W
-------- ----XXXX
DLC レジスタ 1
DLCR10
R/W
-------- ----XXXX
DLC レジスタ 2
DLCR20
R/W
-------- ----XXXX
DLC レジスタ 3
DLCR30
R/W
-------- ----XXXX
DLC レジスタ 4
DLCR40
R/W
-------- ----XXXX
DLC レジスタ 5
DLCR50
R/W
-------- ----XXXX
DLC レジスタ 6
DLCR60
R/W
-------- ----XXXX
10008CH
10008DH
10008EH
10008FH
100090H
100091H
100092H
100093H
100094H
100095H
100096H
100097H
100098H
100099H
436
初期値
第 16 章 CAN コントローラ
表 16.2-3 メッセージバッファ (DLC レジスタ , およびデータレジスタ ) 一覧 (2 / 3)
アドレス
レジスタ
略記
アクセス
DLC レジスタ 7
DLCR70
R/W
-------- ----XXXX
DLC レジスタ 8
DLCR80
R/W
-------- ----XXXX
DLC レジスタ 9
DLCR90
R/W
-------- ----XXXX
DLC レジスタ 10
DLCR100
R/W
-------- ----XXXX
DLC レジスタ 11
DLCR110
R/W
-------- ----XXXX
DLC レジスタ 12
DLCR120
R/W
-------- ----XXXX
DLC レジスタ 13
DLCR130
R/W
-------- ----XXXX
DLC レジスタ 14
DLCR140
R/W
-------- ----XXXX
DLC レジスタ 15
DLCR150
R/W
-------- ----XXXX
1000ACH ∼
1000B3H
データレジスタ 0
(8 バイト )
DTR00
R/W
XXXXXXXX ∼ XXXXXXXX
1000B4H ∼
1000BBH
データレジスタ 1
(8 バイト )
DTR10
R/W
XXXXXXXX ∼ XXXXXXXX
1000BCH ∼
1000C3H
データレジスタ 2
(8 バイト )
DTR20
R/W
XXXXXXXX ∼ XXXXXXXX
1000C4H ∼
1000CBH
データレジスタ 3
(8 バイト )
DTR30
R/W
XXXXXXXX ∼ XXXXXXXX
1000CCH ∼
1000D3H
データレジスタ 4
(8 バイト )
DTR40
R/W
XXXXXXXX ∼ XXXXXXXX
1000D4H ∼
1000DBH
データレジスタ 5
(8 バイト )
DTR50
R/W
XXXXXXXX ∼ XXXXXXXX
1000DCH ∼
1000E3H
データレジスタ 6
(8 バイト )
DTR60
R/W
XXXXXXXX ∼ XXXXXXXX
CAN0
10009AH
10009BH
10009CH
10009DH
10009EH
10009FH
1000A0H
1000A1H
1000A2H
1000A3H
1000A4H
1000A5H
1000A6H
1000A7H
1000A8H
1000A9H
1000AAH
1000ABH
初期値
437
第 16 章 CAN コントローラ
表 16.2-3 メッセージバッファ (DLC レジスタ , およびデータレジスタ ) 一覧 (3 / 3)
アドレス
レジスタ
略記
アクセス
初期値
1000E4H ∼
1000EBH
データレジスタ 7
(8 バイト )
DTR70
R/W
XXXXXXXX ∼ XXXXXXXX
1000ECH ∼
1000F3H
データレジスタ 8
(8 バイト )
DTR80
R/W
XXXXXXXX ∼ XXXXXXXX
1000F4H ∼
1000FBH
データレジスタ 9
(8 バイト )
DTR90
R/W
XXXXXXXX ∼ XXXXXXXX
1000FCH ∼
100103H
データレジスタ 10
(8 バイト )
DTR100
R/W
XXXXXXXX ∼ XXXXXXXX
100104H ∼
10010BH
データレジスタ 11
(8 バイト )
DTR110
R/W
XXXXXXXX ∼ XXXXXXXX
10010CH ∼
100113H
データレジスタ 12
(8 バイト )
DTR120
R/W
XXXXXXXX ∼ XXXXXXXX
100114H ∼
10011BH
データレジスタ 13
(8 バイト )
DTR130
R/W
XXXXXXXX ∼ XXXXXXXX
10011CH ∼
100123H
データレジスタ 14
(8 バイト )
DTR140
R/W
XXXXXXXX ∼ XXXXXXXX
100124H ∼
10012BH
データレジスタ 15
(8 バイト )
DTR150
R/W
XXXXXXXX ∼ XXXXXXXX
CAN0
表 16.2-4 構成レジスタ (CREG)
アドレス
CAN0
10012CH
10012DH
438
レジスタ
略記
アクセス
初期値
構成レジスタ
CREG0
R/W
00000000
00000110
第 16 章 CAN コントローラ
16.2.1
オーバオール制御レジスタ
オーバオール制御レジスタには , 制御ステータスレジスタ (CSR), および最終イベン
トインディケータレジスタ (LEIR) の 2 種類があります。
■ 制御ステータスレジスタ (CSR)
制御ステータスレジスタ (CSR) の下位 8 ビットに対しては , ビット操作命令 ( リードモ
ディファイライト命令 ) を実行することは禁止されています。ただし , HALT ビットが
変化しないタイミング ( マクロの初期化時など ) では , ビット操作命令を使用しても問
題ありません。
図 16.2-1 に , 制御ステータスレジスタ (CSR) のビット構成を示します。
図 16.2-1 制御ステータスレジスタ (CSR) のビット構成
アドレス : 00100010H(CAN0)
読出し / 書込み :
初期値 :
アドレス : 00100011H(CAN0)
読出し / 書込み :
初期値 :
bit15
14
13
12
11
10
9
8
TS
R
(0)
RS
R
(0)
−
(-)
−
(-)
−
(-)
NT
NS1
NS0
R/W
(0)
R
(0)
R
(0)
bit7
6
5
4
3
2
1
0
TOE
R/W
(0)
−
(-)
−
(-)
−
(-)
−
(-)
NIE
−
(-)
HALT
R/W
(0)
R/W
(1)
[bit15] TS : 送信状態ビット
このビットは , メッセージが送信されているかどうかを示します。
• 0 : メッセージは送信されていません
• 1 : メッセージは送信されました
このビットは , エラー, およびオーバロードフレームが送信されたときも "0" になり
ます。
[bit14] RS : 受信状態ビット
このビットは , メッセージが受信されているかどうかを示します。
• 0 : メッセージは受信されていません
• 1 : メッセージは受信されました
メッセージがバス上にある間 , このビットは "1" になります。したがって , メッセー
ジが送信されているときも , このビットは "1" になります。このビットは , 必ずしも
受信メッセージが受入フィルタを通過したかどうかを示すものではありません。
結果として , このビットが "0" のときは , バス動作が停止 (HALT=0) していることを
意味します。すなわち , バスが断続 / バスアイドル状態であるか , またはエラー /
オーバロードフレームがバス上にあるかです。
[bit10] NT : ノード状態遷移フラグ
ノード状態がインクリメントに転じるか , または Bus Off から Error Active に変化す
ると , このビットが "1" に設定されます。言い換えると , ノード状態が Error
Active("00") か ら Warning("01"), Warning("01") か ら Error Passive("10"), Error
Passive("10") から Bus Off("11"), また , Bus Off("11") から Error Active("00") に変わる
と , NT ビットが "1" に設定されます。括弧内の数字は , NS1 と NS0 のビット値を示
しています。
439
第 16 章 CAN コントローラ
ノード状態遷移割込み許可ビット (NIE) が "1" の場合 , 割込みが発生します。"0" を
書き込むと , NT ビットは "0" に設定されます。NT ビットへの "1" の書込みは無視
されます。リードモディファイライト命令が読み出されたときに , "1" が読み出され
ます。
[bit9, bit8] NS1, NS0 : ノード状態ビット 1, ビット 0
これらのビットは , 現在のノード状態を示します。
表 16.2-5 に NS1, NS0 ビットとノード状態の対応を , 図 16.2-2 にノード状態の遷移
を示します。
表 16.2-5 NS1, NS0 とノード状態の対応
NS1
NS0
ノード状態
0
0
Error active
0
1
Warning (active)
1
0
Error passive
1
1
Bus off
図 16.2-2 ノード状態の遷移
ハードウェアリセット
REC:受信エラーカウンタ
TEC:送信エラーカウンタ
Error active
レジスタ(CSR)のHALTビットへの0の書込み後、
連続11ビットのハイレベル(中断ビット)が、受
信入力端子(RX)に128回入力されます。
REC ≧ 96
または
TEC ≧ 96
REC < 96
および
TEC < 96
REC ≧ 128
または
TEC ≧ 128
Error
passive
<注意事項>
Warning
(active)
REC < 128
および
TEC < 128
TEC ≧ 256
Bus off
(HALT = 1)
Warning (active) は , CAN 仕様 2.0B のノード状態の error active に含まれています
が , 送信エラーカウンタ , または受信エラーカウンタが 96 を超えていることを示し
ています。
[bit7] TOE : 送信出力許可ビット
このビットに "1" を書き込むと , 汎用ポート端子から CAN コントローラの送信端子
に切り替わります。
440
第 16 章 CAN コントローラ
• 0 : 汎用ポート端子
• 1 : CAN コントローラの送信端子
[bit2] NIE : ノード状態遷移割込み許可ビット
このビットは , ノード状態遷移割込みを許可 , または禁止にします (NT=1 の
とき )。
• 0 : ノード状態遷移割込み禁止
• 1 : ノード状態遷移割込み許可
[bit0] HALT : バス動作停止ビット
このビットは , バス動作停止を設定するか , 取消しするか , またはその状態を表示し
ます。
読込み時
0: バス動作中
1: バス動作停止
書込み時
0: バス動作停止を解除
1: バス動作停止をセット
<注意事項>
Bus Off 時に HALT ビットに "0" を書き込む場合は , HALT ビットが "1" になってい
ることを確認後 , "0" を書き込んでください。
参考プログラム例 :
switch (10_CANCT0.CSR.bit.NS)
{
case 0 : /* error active */
break;
case 1 : /* warning */
break;
case 2 : /* error passive */
break;
default : /* bus off */
for(i=0;(i<=500)&&(10_CANCT0.CSR.bit.HALT==0);i++);
10_CANCT0.CSR.word = 0x0084; /* HALT = 0 */
break;
{
*: 変数 i はフェイルセーフのために使用しています。
• バス動作停止 (HALT=1) の設定条件
- ハードウェアリセット後
- ノード状態が Bus Off に変わったとき
- HALT に "1" を書き込む
<注意事項>
• バスの動作は , MB91360 シリーズが低電力消費モード ( ストップモード , RTC
モード , およびハードウェアスタンバイモード ) に変わる前に , HALT に "1" を書
き込むことによって停止しなければなりません。
• HALT に "1" を書き込んだときに送信中であった場合は , バスの動作は送信が終
了すると停止します (HALT=1)。HALT に "1" を書き込んだときに受信中であった
場合は , バスの動作は直ちに停止します (HALT=1)。受信メッセージをメッセー
ジバッファ (x) に記憶中のときは , メッセージ記憶後にバス動作を停止します
(HALT=1)。
• バス動作が停止したかどうかを確認するには , HALT ビットを読み出します。
441
第 16 章 CAN コントローラ
• バス動作停止 (HALT=0) の取消し条件
- HALT に "0" を書き込む
<注意事項>
• 上記の条件のとおり , ハードウェアリセット後 , または HALT に "1" を書き込む
ことによって設定されたバス動作停止の取消しは , HALT に "0" を書き込み , 連続
11 ビットのハイレベル ( 断続ビット ) が受信入力端子 (RX) に入力された後に実
行されます (HALT=0)。
• 上記の条件のとおり , ノード状態が Bus Off に変わったときに設定されたバス動
作停止の取消しは , HALT に "0" を書き込み , 連続 11 ビットのハイレベル ( 断続
ビット ) が受信入力端子 (RX) に 128 回入力された後に実行されます (HALT=0)。
その後 , 送信 , および受信の両エラーカウンタは 0 に達し , ノード状態は error
active に変わります。
• Bus Off 時に HALT ビットに "0" を書き込む場合は , HALT ビットが "1" になって
いることを確認後 , "0" を書き込んでください。
• バス動作停止時の状態 (HALT=1)
- バスは , 送信・受信いずれの動作も行いません。
- 送信出力端子 (TX) は , ハイレベル ( 断続ビット ) を出力します。
- 他のレジスタ , およびエラーカウンタの値は変わりません。
<注意事項>
ビットタイミングレジスタ (BTR) は , バス動作停止時 (HALT=1) に設定しなければ
なりません。
■ 最終イベントインディケータレジスタ (LEIR)
最終イベントインディケータレジスタ (LEIR) は , 最終イベントを表示します。
NTE, TCE, および RCE は , 排他的です。最終イベントのビットが "1" に設定されると ,
ほかのビットは "0" に設定されます。
図 16.2-3 に , 最終イベントインディケータレジスタ (LEIR) のビット構成を示します。
図 16.2-3 最終イベントインディケータレジスタ (LEIR) のビット構成
7
6
5
アドレス : 00100013H(CAN0)
bit
NTE
TCE
RCE
読出し / 書込み :
初期値 :
R/W
(0)
R/W
(0)
R/W
(0)
4
3
2
1
0
−
(-)
MBP3
MBP2
MBP1
MBP0
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
[bit7] NTE : ノード状態遷移イベントビット
このビットが "1" のとき , ノード状態遷移が最終イベントであることを示します。
• このビットは , 制御ステータスレジスタ (CSR) の NT ビットと同時に "1" に設定され
ます。このビットも , CSR のノード状態遷移割込み許可ビット (NIE) の設定に関係
なく , "1" に設定されます。
• このビットに "0" を書き込むと , NT ビットが "0" に設定されます。このビットへの
"1" の書込みは無視されます。リードモディファイライト命令が実行されたときに ,
"1" が読み出されます。
[bit6] TCE : 送信完了イベントビット
このビットが "1" のとき , 送信完了が最終イベントであることを示します。
• このビットは , 送信完了レジスタ (TCR) のビットのうち , 任意の 1 つのビットと同
時に "1" に設定されます。このビットも , 送信割込み許可レジスタ (TIER) のビット
の設定に関係なく , "1" に設定されます。
442
第 16 章 CAN コントローラ
• このビットに "0" を書き込むと , "0" に設定されます。このビットへの "1" の書込み
は無視されます。リードモディファイライト命令が実行されたときに , "1" が読み出
されます。
• このビットが "1" に設定されると , 送信動作を完了するメッセージバッファの番号
を示すために , MBP3 ∼ MBP0 ビットが使用されます。
[bit5] RCE : 受信完了イベントビット
このビットが "1" のとき , 受信完了が最終イベントであることを示します。
• このビットは , 受信完了レジスタ (RCR) のビットのうち , 任意の 1 つのビットと同
時に "1" に設定されます。このビットも , 受信割込み許可レジスタ (RIER) のビット
の設定に関係なく , "1" に設定されます。
• このビットに "0" を書き込むと , "0" に設定されます。このビットへの "1" の書込み
は無視されます。リードモディファイライト命令が実行されたときに , "1" が読み出
されます。
• このビットが "1" に設定されると , 受信動作を完了するメッセージバッファの番号
を示すために MBP3 ∼ MBP0 ビットが使用されます。
[bit3 ∼ bit0] MBP3 ∼ MBP0 : メッセージバッファポインタビット
TCE, または RCE が "1" に設定されると , これらのビットは対応するメッセージバッ
ファの番号 (0 ∼ 15) を示します。NTE ビットが "1" に設定された場合は , これらの
ビットは何の意味も持ちません。
• これらのビットに "0" を書き込むと , "0" に設定されます。これらのビットへの "1"
の書込みは無視されます。リードモディファイライト命令が読み出されたときに ,
"1" が読み出されます。
<注意事項>
CAN 割込みハンドラ内で LEIR にアクセスすると , 割込みの要因となるイベント
は , 必ずしも LEIR が示したものと同じにはなりません。割込み要求から割込みハ
ンドラ内の LEIR アクセスまでの間に , 別の CAN イベントが起きている可能性があ
ります。
443
第 16 章 CAN コントローラ
16.2.2
送信 , および受信エラーカウンタ (RTEC)
送信 , および受信エラーカウンタ (RTEC) は , 送信時 , および受信時に発生したエ
ラー数をカウントするカウンタです。
■ 送信 , および受信エラーカウンタ (RTEC) のビット構成
図 16.2-4 に , 送信 , および受信エラーカウンタ (RTEC) のビット構成を示します。
図 16.2-4 送信 , および受信エラーカウンタ (RTEC) のビット構成
bit
15
アドレス : 00100014H(CAN0) TEC7
読出し / 書込み :
初期値 :
bit
R
(0)
7
アドレス : 00100015H(CAN0) REC7
読出し / 書込み :
初期値 :
R
(0)
14
13
12
11
10
9
8
TEC6
TEC5
TEC4
TEC3
TEC2
TEC1
TEC0
R
(0)
R
(0)
R
(0)
R
(0)
R
(0)
R
(0)
R
(0)
6
5
4
3
2
1
0
REC6
REC5
REC4
REC3
REC2
REC1
REC0
R
(0)
R
(0)
R
(0)
R
(0)
R
(0)
R
(0)
R
(0)
[bit15 ∼ bit8] TEC7 ∼ TEC0 : 送信エラーカウンタ
これらのビットは , 送信エラーカウンタです。
TEC7 ∼ TEC0 の値は , カウンタ値が 256 を超えている場合に 0 ∼ 7 を示し , その後
の増分はカウンタ値にカウントされません。この場合 , ノード状態は Error Passive
を示します ( 制御ステータスレジスタ CSR の NS1, および NS0=11)。
[bit7 ∼ bit0] REC7 ∼ REC0 : 受信エラーカウンタ
これらのビットは , 受信エラーカウンタです。
REC7 ∼ REC0 の値は , カウンタ値が 256 を超えている場合に 0 ∼ 7 を示し , その後
の増分はカウンタ値にカウントされません。この場合 , ノード状態は Bus Off を示
します ( 制御ステータスレジスタ CSR の NS1, および NS0=10)。
444
第 16 章 CAN コントローラ
16.2.3
ビットタイミングレジスタ (BTR)
ビットタイミングレジスタ (BTR) は , プリスケーラとビットタイミングを設定しま
す。
■ ビットタイミングレジスタ (BTR) のビット構成
図 16.2-5 に , ビットタイミングレジスタ (BTR) のビット構成を示します。
図 16.2-5 ビットタイミングレジスタ (BTR) のビット構成
bit
15
14
13
12
11
10
9
8
TS2.1
TS2.0
TS1.3
TS1.2
TS1.1
TS1.0
読出し / 書込み :
初期値 :
−
(-)
TS2.2
R/W
(1)
R/W
(1)
R/W
(1)
R/W
(1)
R/W
(1)
R/W
(1)
R/W
(1)
bit
7
アドレス : 00100016H(CAN0)
6
5
4
3
2
1
0
アドレス : 00100017H(CAN0) RSJ1
RSJ0
PSC5
PSC4
PSC3
PSC2
PSC1
PSC0
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
読出し / 書込み :
初期値 :
<注意事項>
このレジスタは , バス動作停止時 (HALT=1) に設定しなければなりません。
[bit14 ∼ bit12] TS2.2 ∼ TS2.0: 時間セグメント 2 設定ビット 2 ∼ 0
これらのビットは , 時間量 (TQ) の [(TS2.2 ∼ TS2.0) + 1] 周波数分割を引き起こし ,
時間セグメント 2(TSEG2) を決定します。時間セグメント 2 は , CAN 仕様のフェー
ズバッファセグメント 2(PHASE_SEG2) に相当します。
[bit11 ∼ bit8] TS1.3 ∼ TS1.0 : 時間セグメント 1 設定ビット 3 ∼ 0
これらのビットは , 時間量 (TQ) の [(TS1.3 ∼ TS1.0) + 1] 周波数分割を引き起こし ,
時間セグメント 1(TSEG1) を決定します。時間セグメント 1 は , CAN 仕様の伝播セ
グメント (PROP_SEG) とフェーズバッファセグメント 1(PHASE_SEG1) に相当しま
す。
[bit7, bit6] RSJ1, RSJ0 : 再同期ジャンプ幅設定ビット 1, 0
これらのビットは , 時間量 (TQ) の [(RSJ1 ∼ RSJ0) + 1] 周波数分割を引き起こし ,
再同期ジャンプ幅を決定します。
[bit5 ∼ bit0] PSC5 ∼ PSC0 : プリスケーラ設定ビット 5 ∼ 0
これらのビットは , 入力クロックの [(PSC5 ∼ PSC0) + 1] 周波数分割を引き起こし ,
CAN コントローラの時間量 (TQ) を決定します。
CAN 仕様 , CAN コントローラのビット時間セグメントを , それぞれ図 16.2-6 , およ
び図 16.2-7 に示します。
445
第 16 章 CAN コントローラ
図 16.2-6 CAN 仕様のビット時間セグメント
公称ビット時間
SYNC_SEG
PROP_SEG
PHASE_SEG1 PHASE_SEG2
サンプルポイント
図 16.2-7 CAN コントローラのビット時間セグメント
公称ビット時間
SYNC_SEG
TSEG1
TSEG2
サンプルポイント
入力クロック (CLK), 時間量 (TQ), ビット時間 (BT), 同期セグメント (SYNC_SEG), 時
間セグメント 1, および時間セグメント 2(TSEG1, および TSEG2), 再同期ジャンプ幅
[(RSJ1, および RSJ0) + 1] 周波数分割と PSC=PSC5 ∼ PSC0, TS1=TS1.3 ∼ TS1.0,
TS2=TS2.2 ∼ TS2.0, RSJ=RSJ1, RSJ0 の関係を以下に示します。
TQ
=(PSC + 1) × CLK
BT
= SYNC_SEG + TSEG1 + TSEG2
= (1 + (TS1 + 1) + (TS2 + 1)) × TQ
= (3 + TS1 + TS2) × TQ
RSJW = (RSJ + 1) × TQ
CAN コントローラを正しく動作させるために , 以下に示す条件を満たす必要があり
ます。
1 <= PSC <= 63 の場合 :
TSEG1 >= 2TQ
TSEG1 >= RSJW
TSEG2 >= 2TQ
TSEG2 >= RSJW
PSC = 0 の場合 :
TSEG1 >= 5TQ
TSEG2 >= 2TQ
TSEG2 >= RSJW
<注意事項>
446
CAN 仕様に定義されるビットタイミングの要件を満足するために , 追加条件を満足
する必要があります。たとえば , 伝播遅延を検討する必要があります。
第 16 章 CAN コントローラ
16.2.4
メッセージバッファ制御レジスタ
メッセージバッファ制御レジスタには , 14 種類のレジスタがあります。
■ メッセージバッファ制御レジスタの種類
14 種類のメッセージバッファ制御レジスタは , 以下のとおりです。
• メッセージバッファ有効レジスタ (BVALR)
•
IDE レジスタ (IDER)
• 送信要求レジスタ (TREQR)
• 送信 RTR レジスタ (TRTRR)
• リモートフレーム受信待ちレジスタ (RFWTR)
• 送信取消しレジスタ (TCANR)
• 送信完了レジスタ (TCR)
• 送信割込み許可レジスタ (TIER)
• 受信完了レジスタ (RCR)
• リモート要求受信レジスタ (RRTRR)
• 受信オーバランレジスタ (ROVRR)
• 受信割込み許可レジスタ (RIER)
• 受入れマスク選択レジスタ (AMSR)
• 受入れマスクレジスタ 00, 10(AMR00, AMR10)
■ メッセージバッファ有効レジスタ (BVALR)
図 16.2-8 に , メッセージバッファ有効レジスタ (BVALR) のビット構成を示します。
図 16.2-8 メッセージバッファ有効レジスタ (BVALR) のビット構成
bit
15
14
13
12
11
10
9
8
アドレス : 00100000H(CAN0) BVAL15 BVAL14 BVAL13 BVAL12 BVAL11 BVAL10 BVAL9 BVAL8
読出し / 書込み :
初期値 :
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
7
6
5
4
3
2
1
0
bit
アドレス : 00100001H(CAN0) BVAL7 BVAL6 BVAL5 BVAL4 BVAL3 BVAL2 BVAL1 BVAL0
読出し / 書込み :
初期値 :
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
このレジスタは , メッセージバッファ (x) の妥当性を設定するか , またはその状態を表
示します。
• 0 : メッセージバッファ (x) 無効
• 1 : メッセージバッファ (x) 有効
メッセージバッファ (x) が無効に設定されると , メッセージバッファ (x) はメッセージ
を送受信しません。
447
第 16 章 CAN コントローラ
送信要求禁止動作
送信要求を禁止するために BVAL ビットを使用しないでください。TCAN ビットを使
用してください。
送信メッセージ作成動作
送信メッセージを作成するために , ID レジスタおよび IDE レジスタの内容を変更する
メッセージバッファを BVAL ビットにより無効にする必要があります。この場合 ,
TREQ ビットが "0" かどうかの確認後 , または先行のメッセージ送信完了後 (TC=1),
BVAL ビットをリセットする必要があります (BVAL=0)
受信動作時にバッファを無効に設定すると , バッファは直ちに無効 (BVALx=0) になり
ます。受信メッセージがメッセージバッファ (x) に記憶されている場合 , メッセージ
バッファ (x) はメッセージが記憶された後に無効になります。
<注意事項>
• x は , メッセージバッファ番号 (x = 0 ∼ 15) を示します。
• ビット (BVALx) に "0" を書き込むことでメッセージバッファ (x) を無効にする場
合 , ビットが "0" に設定されるまでビット操作命令は禁止されます。
■ IDE レジスタ (IDER)
図 16.2-9 に , IDE レジスタ (IDER) のビット構成を示します。
図 16.2-9 IDE レジスタ (IDER) のビット構成
bit
15
14
13
12
11
10
9
8
IDE14
IDE13
IDE12
IDE11
IDE10
IDE9
IDE8
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
7
6
5
4
3
2
1
0
IDE6
R/W
(X)
IDE5
R/W
(X)
IDE4
R/W
(X)
IDE3
R/W
(X)
IDE2
R/W
(X)
IDE1
R/W
(X)
IDE0
R/W
(X)
アドレス : 00100018H(CAN0) IDE15
読出し / 書込み :
初期値 :
bit
アドレス : 00100019H(CAN0)
IDE7
読出し / 書込み : R/W
初期値 : (X)
このレジスタは, 送信/受信時にメッセージバッファ(x)が使用するフレームフォーマッ
トを設定します。
• 0 : 標準フレームフォーマット (11 ビット ID) が , メッセージバッファ (x) に使用さ
れています。
• 1 : 拡張フレームフォーマット (29 ビット ID) が , メッセージバッファ (x) に使用さ
れています。
<注意事項>
448
このレジスタは , メッセージバッファ (x) が無効 ( メッセージバッファ有効レジスタ
(BVALR) の BVALx=0) のときに設定しなければなりません。バッファが有効
(BVALx=1) のときに設定すると , 不必要な受信メッセージを記憶することになりま
す。
第 16 章 CAN コントローラ
■ 送信要求レジスタ (TREQR)
図 16.2-10 に , 送信要求レジスタ (TREQR) のビット構成を示します。
図 16.2-10 送信要求レジスタ (TREQR) のビット構成
bit
15
14
13
12
11
10
9
8
アドレス : 00100002H(CAN0) TREQ15 TREQ14 TREQ13 TREQ12 TREQ11 TREQ10 TREQ9 TREQ8
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
アドレス : 00100003H(CAN0) TREQ7 TREQ6 TREQ5 TREQ4 TREQ3 TREQ2 TREQ1 TREQ0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
読出し / 書込み : R/W
(0)
(0)
(0)
(0)
(0)
(0)
(0)
初期値 : (0)
このレジスタは , メッセージバッファ (x) に送信要求を設定するか , またはその状態を
表示します。
TREQx に "1" を書き込むと , メッセージバッファ (x) への送信が開始されます。リモー
トフレーム受信待ちレジスタ (RFWTR)*1 の RFWTx が "0" の場合 , 直ちに送信が開始さ
れます。しかし , RFWTx=1 の場合 , リモートフレームが受信される ( リモート要求受
信レジスタ (RRTRR)*1 の RRTRx が "1" になる ) のを待ってから , 送信が開始されます。
TREQx に "1" を書き込んだときに RRTRx がすでに "1" であった場合は , RFWTx=1 で
あっても直ちに送信が開始されます。*2
*1 :
RFWTR および TRTRR については , 「■ 送信 RTR レジスタ (TRTRR)」および
「■ リモートフレーム受信待ちレジスタ (RFWTR)」を参照してください。
*2 :
送信の取消しについては , 「■ 送信取消しレジスタ (TCANR)」および「16.2.6 イ
ンタフェース制御レジスタ (CREG)」を参照してください。
• TREQx への "0" の書込みは , 無視されます。
• リードモディファイライト命令が実行されたときに , "0" が読み出されます。
• 送信動作完了時の ("0" への ) クリアと , "1" を書き込むことによる設定が同時に起
こった場合 , クリアが優先されます。
• 複数のビットに "1" を書き込むと , 小さい番号のメッセージバッファ(x) から順に送
信が実行されます。
• 送信が保留されているとき , TREQx は "1" であり , 送信が完了するか , または取り消
されると , "0" になります。
449
第 16 章 CAN コントローラ
■ 送信 RTR レジスタ (TRTRR)
図 16.2-11 に , 送信 RTR レジスタ (TRTRR) のビット構成を示します。
図 16.2-11 送信 RTR レジスタ (TRTRR) のビット構成
bit
15
14
13
12
11
10
9
8
アドレス : 0010001AH(CAN0) TRTR15 TRTR14 TRTR13 TRTR12 TRTR11 TRTR10 TRTR9 TRTR8
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
アドレス : 0010001BH(CAN0) TRTR7 TRTR6 TRTR5 TRTR4 TRTR3 TRTR2 TRTR1 TRTR0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
読出し / 書込み : R/W
(0)
(0)
(0)
(0)
(0)
(0)
(0)
初期値 : (0)
このレジスタは , メッセージバッファ (x) により , 送信時の RTR(Remote Transmission
Request : リモートトランスミッションリクエスト ) ビットを設定します。
• 0 : データフレーム送信
• 1 : リモートフレーム送信
■ リモートフレーム受信待ちレジスタ (RFWTR)
図 16.2-12 に , リモートフレーム受信待ちレジスタのビット構成を示します。
図 16.2-12 リモートフレーム受信待ちレジスタのビット構成
bit
15
14
13
12
11
10
9
8
アドレス : 0010001CH(CAN0) RFWT15 RFWT14 RFWT13 RFWT12 RFWT11 RFWT10 RFWT9 RFWT8
読出し / 書込み :
初期値 :
bit
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
7
6
5
4
3
2
1
0
アドレス : 0010001DH(CAN0) RFWT7 RFWT6 RFWT5 RFWT4 RFWT3 RFWT2 RFWT1 RFWT0
読出し / 書込み :
初期値 :
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
このレジスタは , データフレーム送信要求が設定されたとき ( 送信要求レジスタ
(TREQR) の TREQx が "1", および送信 RTR レジスタ (TRTRR) の TRTRx が "0") に , 送
信を開始するための条件を設定します。
• 0 : 直ちに送信が開始されます
• 1 : リモートフレームが受信される ( リモート要求受信レジスタ (RRTRR) の RRTRx
が "1" になる ) のを待ってから , 送信が開始されます。
<注意事項>
450
• 送信要求が設定されたときに RRTRx がすでに "1" であった場合 , 直ちに送信が
開始されます。
• リモートフレーム送信については , RFWTx を "1" に設定しないでください。
第 16 章 CAN コントローラ
■ 送信取消しレジスタ (TCANR)
図 16.2-13 に , 送信取消しレジスタ (TCANR) のビット構成を示します。
図 16.2-13 送信取消しレジスタ (TCANR) のビット構成
bit
15
14
13
12
11
10
9
8
アドレス : 00100004H(CAN0) TCAN15 TCAN14 TCAN13 TCAN12 TCAN11 TCAN10 TCAN9 TCAN8
W
W
W
W
W
W
W
W
読出し / 書込み :
(0)
(0)
(0)
(0)
(0)
(0)
(0)
初期値 : (0)
bit
7
6
5
4
3
2
1
0
アドレス : 00100005H(CAN0) TCAN7 TCAN6 TCAN5 TCAN4 TCAN3 TCAN2 TCAN1 TCAN0
W
W
W
W
W
W
W
W
読出し / 書込み :
(0)
(0)
(0)
(0)
(0)
(0)
(0)
初期値 : (0)
TCANx に "1" を書き込むと , このレジスタはメッセージバッファ(x) への送信の保留要
求を取り消します。
送信が完了すると , 送信要求レジスタ (TREQR) の TREQx が "0" になります。TCANx
への "0" の書込みは無視されます。
これは書込み専用レジスタであり , 読出し時の値は常に "0" です。
■ 送信完了レジスタ (TCR)
図 16.2-14 に , 送信完了レジスタ (TCR) のビット構成を示します。
図 16.2-14 送信完了レジスタ (TCR) のビット構成
bit
15
14
13
12
11
10
9
8
TC14
R/W
(0)
TC13
R/W
(0)
TC12
R/W
(0)
TC11
R/W
(0)
TC10
R/W
(0)
TC9
R/W
(0)
TC8
R/W
(0)
7
6
5
4
3
2
1
0
TC7
R/W
(0)
TC6
R/W
(0)
TC5
R/W
(0)
TC4
R/W
(0)
TC3
R/W
(0)
TC2
R/W
(0)
TC1
R/W
(0)
TC0
R/W
(0)
アドレス : 00100006H(CAN0) TC15
読出し / 書込み : R/W
初期値 : (0)
bit
アドレス : 00100007H(CAN0)
読出し / 書込み :
初期値 :
メッセージバッファ (x) による送信が完了すると , 対応する TCx は "1" になります。
送信完了割込み許可レジスタ (TIER) の TIEx が "1" の場合は , 割込みが発生します。
TCx=0 となる条件は , 次のとおりです。
• TCx に "0" を書き込む。
• 送信要求レジスタ (TREQR) の TREQx に "1" を書き込む。
送信完了後 , TCx に "0" を書き込んで設定を "0" にします。TCx への "1" の書込みは無
視されます。リードモディファイライト命令が実行されたときに , "1" が読み出されま
す。
<注意事項>
送信動作完了時の ("1" への ) 設定と , "0" を書き込むことによるクリアが同時に起
こった場合 , 設定の方が優先されます。
451
第 16 章 CAN コントローラ
■ 送信割込み許可レジスタ (TIER)
図 16.2-15 に , 送信割込み許可レジスタ (TIER) のビット構成を示します。
図 16.2-15 送信割込み許可レジスタ (TIER) のビット構成
bit
15
アドレス : 0010001EH(CAN0) TIE15
読出し / 書込み : R/W
初期値 : (0)
bit
14
13
12
11
10
9
8
TIE14
R/W
(0)
TIE13
R/W
(0)
TIE12
R/W
(0)
TIE11
R/W
(0)
TIE10
R/W
(0)
TIE9
R/W
(0)
TIE8
R/W
(0)
7
アドレス : 0010001FH(CAN0)
TIE7
読出し / 書込み : R/W
初期値 : (0)
6
5
4
3
2
1
0
TIE6
R/W
(0)
TIE5
R/W
(0)
TIE4
R/W
(0)
TIE3
R/W
(0)
TIE2
R/W
(0)
TIE1
R/W
(0)
TIE0
R/W
(0)
このレジスタは , メッセージバッファ(x) による送信割込みを許可 , または禁止します。
送信割込みは, 送信完了時(送信完了レジスタ(TCR)のTCxが"1"のとき)に発生します。
• 0 : 送信割込み禁止
• 1 : 送信割込み許可
■ 受信完了レジスタ (RCR)
図 16.2-16 に , 受信完了レジスタ (RCR) のビット構成を示します。
図 16.2-16 受信完了レジスタ (RCR) のビット構成
bit
14
13
12
11
10
9
8
アドレス : 00100008H(CAN0) RC15
RC14
RC13
RC12
RC11
RC10
RC9
RC8
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
7
6
5
4
3
2
1
0
アドレス : 00100009H(CAN0)
RC7
RC6
RC5
RC4
RC3
RC2
RC1
RC0
読出し / 書込み :
初期値 :
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
読出し / 書込み :
初期値 :
bit
15
メッセージバッファ(x) で受信メッセージの記憶が完了すると , RCx は "1" になります。
受信完了割込み許可レジスタ (RIER) の RIEx が "1" の場合に , 割込みが発生します。
RCx=0 となる条件は , 次のとおりです。
• RCx に "0" を書き込む。
受信メッセージの記憶が完了すると , RCx に "0" を書き込んで設定を "0" にします。RCx
への "1" の書込みは無視されます。リードモディファイライト命令が実行されたとき
に , "1" が読み出されます。
<注意事項>
452
受信動作完了時の ("1" への ) 設定と , "0" を書き込むことによるクリアが同時に起
こった場合は , 設定の方が優先されます。
第 16 章 CAN コントローラ
■ リモート要求受信レジスタ (RRTRR)
図 16.2-17 に , リモート要求受信レジスタ (RRTRR) のビット構成を示します。
図 16.2-17 リモート要求受信レジスタ (RRTRR) のビット構成
bit
15
14
13
12
11
10
9
8
アドレス : 0010000AH(CAN0) RRTR15 RRTR14 RRTR13 RRTR12 RRTR11 RRTR10 RRTR9 RRTR8
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
アドレス : 0010000BH(CAN0) RRTR7 RRTR6 RRTR5 RRTR4 RRTR3 RRTR2 RRTR1 RRTR0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
読出し / 書込み : R/W
(0)
(0)
(0)
(0)
(0)
(0)
(0)
初期値 : (0)
メッセージバッファ (x) で受信リモートフレームの記憶が完了すると , RRTRx は (RCx
設定が "1" になるのと同時に )"1" になります。
RRTRx=0 となる条件は , 次のとおりです。
• RRTRx に "0" を書き込む。
• メッセージバッファ (x) での受信データフレーム記憶後 (RCx 設定が "1" になるのと
同時 )。
• メッセージバッファ(x) による送信が完了 ( 送信完了レジスタ (TCR) の TCx が "1")。
RRTRx への "1" の書込みは無視されます。リードモディファイライト命令が実行され
たときに , "1" が読み出されます。
<注意事項>
"1" への設定と , "0" を書き込むことによるクリアが同時に起こった場合は , 設定の
方が優先されます。
■ 受信オーバランレジスタ (ROVRR)
図 16.2-18 に , 受信オーバランレジスタ (ROVRR) のビット構成を示します。
図 16.2-18 受信オーバランレジスタ (ROVRR) のビット構成
bit
15
14
13
12
11
10
9
8
アドレス : 0010000CH(CAN0) ROVR15 ROVR14 ROVR13 ROVR12 ROVR11 ROVR10 ROVR9 ROVR8
読出し / 書込み :
初期値 :
bit
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
7
6
5
4
3
2
1
0
アドレス : 0010000DH(CAN0) ROVR7 ROVR6 ROVR5 ROVR4 ROVR3 ROVR2 ROVR1 ROVR0
読出し / 書込み :
初期値 :
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
メッセージバッファ (x) への受信メッセージの記憶完了時に , 受信完了レジスタ (RCR)
の RCx が "1" である場合 , ROVRx は "1" になり , 受信がオーバランしたことを示します。
ROVRx に "0" を書き込むと , ROVRx が "0" になります。ROVRx への "1" の書込みは
453
第 16 章 CAN コントローラ
無視されます。受信がオーバランしたことを確認後 , ROVRx に "0" を書き込んで設定
を "0" にします。リードモディファイライト命令が実行されたときに , "1" が読み出さ
れます。
<注意事項>
"1" への設定と , "0" を書き込むことによるクリアが同時に起こった場合は , 設定の
方が優先されます。
■ 受信割込み許可レジスタ (RIER)
図 16.2-19 に , 受信割込み許可レジスタ (RIER) のビット構成を示します。
図 16.2-19 受信割込み許可レジスタ (RIER) のビット構成
bit
14
13
12
11
10
9
8
アドレス : 0010000EH(CAN0) RIE15
RIE14
RIE13
RIE12
RIE11
RIE10
RIE9
RIE8
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
7
6
5
4
3
2
1
0
RIE6
R/W
(0)
RIE5
R/W
(0)
RIE4
R/W
(0)
RIE3
R/W
(0)
RIE2
R/W
(0)
RIE1
R/W
(0)
RIE0
R/W
(0)
読出し / 書込み :
初期値 :
bit
15
アドレス : 0010000FH(CAN0)
RIE7
読出し / 書込み : R/W
初期値 : (0)
このレジスタは , メッセージバッファ(x) による受信割込みを許可 , または禁止します。
受信割込みは, 受信完了時(受信完了レジスタ(RCR)のRCxが"1"のとき)に発生します。
• 0 : 受信割込み禁止
• 1 : 受信割込み許可
454
第 16 章 CAN コントローラ
■ 受入マスク選択レジスタ (AMSR)
図 16.2-20 に , 受入マスク選択レジスタ (AMSR) のビット構成を示します。
図 16.2-20 受入マスク選択レジスタ (AMSR) のビット構成
BYTE0
bit15
14
13
12
11
10
9
8
アドレス : 00100020H(CAN0) AMS7.1 AMS7.0 AMS6.1 AMS6.0 AMS5.1 AMS5.0 AMS4.1 AMS4.0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
読出し / 書込み : R/W
(X)
(X)
(X)
(X)
(X)
(X)
(X)
初期値 : (X)
BYTE1
bit7
6
5
4
3
2
1
0
アドレス : 00100021H(CAN0) AMS3.1 AMS3.0 AMS2.1 AMS2.0 AMS1.1 AMS1.0 AMS0.1 AMS0.0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
読出し / 書込み : R/W
(X)
(X)
(X)
(X)
(X)
(X)
(X)
初期値 : (X)
BYTE2
bit15
14
13
12
11
10
9
8
アドレス : 00100022H(CAN0) AMS15.1 AMS15.0 AMS14.1 AMS14.0 AMS13.1 AMS13.0 AMS12.1 AMS12.0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
読出し / 書込み : R/W
(X)
(X)
(X)
(X)
(X)
(X)
(X)
初期値 : (X)
BYTE3
bit7
6
5
4
3
2
1
0
アドレス : 00100023H(CAN0) AMS11.1 AMS11.0 AMS10.1 AMS10.0 AMS9.1 AMS9.0 AMS8.1 AMS8.0
読出し / 書込み :
初期値 :
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
このレジスタは , 受信メッセージ ID とメッセージバッファ (x)ID を比較するためのマ
スク ( 受入マスク ) を選択します。
表 16.2-6 に , 受入マスク選択の設定内容を示します。
表 16.2-6 受入マスクの選択
<注意事項>
AMSx.1
AMSx.0
0
0
フルビット比較
0
1
フルビットマスク
1
0
受入マスクレジスタ 0(AMR0)
1
1
受入マスクレジスタ 1(AMR1)
受入マスク
AMSx.1, および AMSx.0 は , メッセージバッファ (x) が無効 ( メッセージバッファ有
効レジスタ (BVALR) の BVALx が "0") のときに設定しなければなりません。バッ
ファが有効 (BVALx=1) のときに設定すると , 不必要な受信メッセージを記憶するこ
とになります。
455
第 16 章 CAN コントローラ
■ 受入マスクレジスタ 0x, 1x(AMR0x, AMR1x)
図 16.2-21 に , 受入マスクレジスタ 0x, 1x(AMR0x, AMR1x) のビット構成を示します。
図 16.2-21 受入マスクレジスタ 0x, 1x(AMR0x, AMR1x) のビット構成
AMR0x BYTE1
bit15
アドレス : 00100024H(CAN0) AM20
読出し / 書込み : R/W
初期値 : (X)
AMR0x BYTE0
bit7
アドレス : 00100025H(CAN0) AM28
読出し / 書込み : R/W
初期値 : (X)
AMR0x BYTE3
bit15
アドレス : 00100026H(CAN0)
AM4
読出し / 書込み : R/W
初期値 : (X)
AMR0x BYTE2
bit7
AMR1x BYTE0
11
10
9
8
AM16
R/W
(X)
AM15
R/W
(X)
AM14
R/W
(X)
AM13
R/W
(X)
6
5
4
3
2
1
0
AM27
R/W
(X)
AM26
R/W
(X)
AM25
R/W
(X)
AM24
R/W
(X)
AM23
R/W
(X)
AM22
R/W
(X)
AM21
R/W
(X)
14
13
12
11
10
9
8
AM3
R/W
(X)
AM2
R/W
(X)
AM1
R/W
(X)
AM0
R/W
(X)
−
(-)
−
(-)
−
(-)
5
4
3
2
1
0
AM10
R/W
(X)
AM9
R/W
(X)
AM8
R/W
(X)
AM7
R/W
(X)
AM6
R/W
(X)
AM5
R/W
(X)
14
13
12
11
10
9
8
AM19
AM18
AM17
AM16
AM15
AM14
AM13
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
bit7
6
5
4
3
2
1
0
AM27
R/W
(X)
AM26
R/W
(X)
AM25
R/W
(X)
AM24
R/W
(X)
AM23
R/W
(X)
AM22
R/W
(X)
AM21
R/W
(X)
bit15
アドレス : 00100029H(CAN0) AM28
読出し / 書込み : R/W
初期値 : (X)
AMR1x BYTE3
bit15
14
13
12
11
10
9
8
アドレス : 0010002AH(CAN0)
AM4
AM3
AM2
AM1
AM0
読出し / 書込み :
初期値 :
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
−
(-)
−
(-)
−
(-)
bit7
6
5
4
3
2
1
0
AM11
AM10
AM9
AM8
AM7
AM6
AM5
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
AMR1x BYTE2
アドレス : 0010002BH(CAN0) AM12
読出し / 書込み :
初期値 :
456
12
AM17
R/W
(X)
6
アドレス : 00100028H(CAN0) AM20
読出し / 書込み :
初期値 :
13
AM18
R/W
(X)
AM11
R/W
(X)
アドレス : 00100027H(CAN0) AM12
読出し / 書込み : R/W
初期値 : (X)
AMR1x BYTE1
14
AM19
R/W
(X)
R/W
(X)
第 16 章 CAN コントローラ
AMR0x と AMR1x の 2 つの受入マスクレジスタがあります。これらは両方とも , 標準
フレームフォーマット , または拡張フレームフォーマットのいずれでも使用できます。
AM28 ∼ AM18(11 ビット ) は標準フレームフォーマットの受入マスクに使用され , AM28 ∼
AM0(29 ビット ) は拡張フレームフォーマットの受入マスクに使用されます。
• 0 : Compare
- このビットに対応する受入コード ( 受信メッセージ ID と比較するための ID レジ
スタ IDRx) のビットと , 受信メッセージ ID のビットを比較します。一致しない場
合 , メッセージは受信されません。
• 1 : Mask
- このビットに対応する受入コード ID レジスタ (IDRx) のビットをマスクします。
受信メッセージ ID のビットとの比較は行われません。
<注意事項>
AMR0x と AMR1x は , AMR0x と AMR1x を選択しているすべてのメッセージバッ
ファ (x) が , 無効 ( メッセージバッファ有効レジスタ (BVALR) の BVALx が "0") の
ときに設定しなければなりません。バッファが有効 (BVALx が "1") のときに設定す
ると , 不必要な受信メッセージを記憶することになります。
457
第 16 章 CAN コントローラ
16.2.5
メッセージバッファ
メッセージバッファは 16 個あり , 1 つのメッセージバッファは以下の 3 種類のレジ
スタから構成されます。
• ID レジスタ (IDRx)
• DLC レジスタ (DLCRx)
• データレジスタ (DTRx)
■ メッセージバッファの機能
メッセージバッファのおもな機能は , 以下のとおりです。
• メッセージバッファ (x) は , 送信と受信の両方で使用されます。
• 小さい番号のメッセージバッファに , 高い優先順位が割り当てられます。
- 送信時に , 複数のメッセージバッファに対して送信要求が行われると , 一番小さ
い番号のメッセージバッファから順に送信が実行されます (「16.3 CAN コント
ローラの動作」の「■ 送信動作」参照 )。
- 受信時に , 受信メッセージ ID が複数のメッセージバッファの受入フィルタ ( 受信
メッセージの受入マスク ID とメッセージバッファを比較する機構 ) を通過する
と , 受信メッセージは一番小さい番号のメッセージバッファに記憶されます
(「16.3 CAN コントローラの動作」の「■ 送信動作」参照 )。
• 複数のメッセージバッファに同じ受入フィルタを設定すると , それらのメッセージ
バッファを多重メッセージバッファとして使用することができます。これにより ,
受信時間に余裕を持たせることができます (「16.4 使用手順」の「■多重メッセー
ジバッファ構成の設定」参照 )。
<注意事項>
• メッセージバッファ , および汎用 RAM 領域への書込み動作は , アドレスだけで
あっても , ワードで行わなければなりません。バイトで書込み動作を行うと , 下
位バイトへの書込み時に , 未定義データを上位バイトに書き込むことになりま
す。上位バイトへの書込みは無視されます。
• メッセージバッファ有効レジスタ (BVALR) の BVALx ビットが "0"( 無効 ) の場合 ,
メッセージバッファ x(IDRx, DLCRx, および DTRx) を汎用 RAM として使用する
ことができます。ただし , 受信動作時に , 待ち時間が最大 64 マシンサイクルに
なることがあります。同じことが , 汎用 RAM 領域 (CAN0 : アドレス
00001A00H ∼ 00001A1FH, および CAN1 : アドレス 00001B00H ∼ 00001B1FH)
にも当てはまります。
458
第 16 章 CAN コントローラ
■ ID レジスタ x(x=0 ∼ 15)(IDRx)
図 16.2-22 に , ID レジスタ x(x=0 ∼ 15)(IDRx) のビット構成を示します。
図 16.2-22 ID レジスタ x(x=0 ∼ 15)(IDRx) のビット構成
BYTE1
bit15
アドレス : 0010004CH+4X(CAN0)
ID20
読出し / 書込み : R/W
初期値 : (X)
BYTE0
bit7
アドレス : 0010004DH+4X(CAN0)
ID28
読出し / 書込み : R/W
初期値 : (X)
BYTE3
アドレス : 0010004EH+4X(CAN0)
読出し / 書込み :
初期値 :
BYTE2
13
12
11
10
9
8
ID18
R/W
(X)
ID17
R/W
(X)
ID16
R/W
(X)
ID15
R/W
(X)
ID14
R/W
(X)
ID13
R/W
(X)
6
5
4
3
2
1
0
ID27
R/W
(X)
ID26
R/W
(X)
ID25
R/W
(X)
ID24
R/W
(X)
ID23
R/W
(X)
ID22
R/W
(X)
ID21
R/W
(X)
bit15
14
13
12
11
10
9
8
ID4
R/W
(X)
ID3
R/W
(X)
ID2
R/W
(X)
ID1
R/W
(X)
ID0
R/W
(X)
−
(-)
−
(-)
−
(-)
bit7
アドレス : 0010004FH+4X(CAN0)
14
ID19
R/W
(X)
ID12
読出し / 書込み : R/W
初期値 : (X)
6
5
4
3
2
1
0
ID11
R/W
(X)
ID10
R/W
(X)
ID9
R/W
(X)
ID8
R/W
(X)
ID7
R/W
(X)
ID6
R/W
(X)
ID5
R/W
(X)
これは , メッセージバッファ (x) の ID レジスタです。
標準フレームフォーマット (IDE レジスタ (IDER) の IDEx=0) でメッセージバッファ(x)
を使用する場合は , ID28 ∼ ID18 の 11 ビットを使用します。拡張フレームフォーマッ
ト (IDEx=1) でメッセージバッファを使用する場合は , ID28 ∼ ID0 の 29 ビットを使用
します。
ID28 ∼ ID0 には , 以下の機能があります。
• 受入コード ( 受信メッセージ ID と比較するための ID) の設定
• 送信メッセージ ID の設定 : 標準フレームフォーマットでは , ID28 ∼ ID22 のすべ
てのビットに "1" を設定することは禁止されています。
• 受信メッセージ ID の記憶 : 受信メッセージ ID は , 受信マスクビットにも記憶され
ます。標準フレームフォーマットでは , ID17 ∼ ID0 は
未定義です。
<注意事項>
• このレジスタへの書込み動作は , ワードで行わなければなりません。バイトで書
込み動作を行うと , 下位バイトへの書込み時に , 未定義データを上位バイトに書
き込むことになります。上位バイトへの書込みは無視されます。
• このレジスタは , メッセージバッファ (x) が無効 ( メッセージバッファ有効レジ
スタ (BVALR) の BVALx が "0") のときに設定します。バッファが有効 (BVALx が
"1") のときに設定すると , 不必要な受信メッセージを記憶することになります。
459
第 16 章 CAN コントローラ
■ DLC レジスタ x(x=0 ∼ 15)(DLCRx)
図 16.2-23 に , DLC レジスタ x(x=0 ∼ 15)(DLCRx) のビット構成を示します。
図 16.2-23 DLC レジスタ x(x=0 ∼ 15)(DLCRx) のビット構成
bit
アドレス : 0010008DH+2X(CAN0)
読出し / 書込み :
初期値 :
7
−
(-)
6
−
(-)
5
−
(-)
4
3
2
1
0
−
(-)
DLC3
R/W
(X)
DLC2
R/W
(X)
DLC1
R/W
(X)
DLC0
R/W
(X)
メッセージバッファ x の DLC レジスタです。
● 送信時機能
•
データフレームを送信する ( 送信 RTR レジスタ (TRTRR) の TRTRx が "0") ときは ,
送信メッセージのデータ長 ( バイトカウント ) を設定します。
• リモートフレームを送信するときは (TRTRx が "1"), 要求メッセージのデータ長 ( バ
イトカウント ) を設定します。
<注意事項>
"0000" ∼ "1000"(0 ∼ 8 バイト ) 以外の設定は , 禁止されています。
● 受信時機能
• データフレームを受信する ( リモートフレーム要求受信レジスタ (RRTRR) の RRTRx
が "0") ときは , 受信メッセージのデータ長 ( バイトカウント ) を記憶します。
•
リモートフレームを受信するときは (RRTRx が "1"), 要求メッセージのデータ長 ( バ
イトカウント ) を記憶します。
<注意事項>
460
このレジスタへの書込み動作は , ワードで行わなければなりません。バイトで書込
み動作を行うと , 下位バイトへの書込み時に未定義データを上位バイトに書き込ん
だり , 上位バイトへの書込み時に未定義データを下位バイトに書き込んだりするこ
とになります。
第 16 章 CAN コントローラ
■ データレジスタ x(x=0 ∼ 15)(DTRx)
図 16.2-24 に , データレジスタ x(x=0 ∼ 15)(DTRx) のビット構成を示します。
図 16.2-24 データレジスタ x(x=0 ∼ 15)(DTRx) のビット構成
BYTE1
アドレス : 001000ACH+8X(CAN0)
読出し / 書込み :
初期値 :
BYTE0
アドレス : 001000ADH+8X(CAN0)
読出し / 書込み :
初期値 :
BYTE3
アドレス : 001000AEH+8X(CAN0)
読出し / 書込み :
初期値 :
BYTE2
アドレス : 001000AFH+8X(CAN0)
読出し / 書込み :
初期値 :
BYTE5
アドレス : 001000B0H+8X(CAN0)
読出し / 書込み :
初期値 :
BYTE4
アドレス : 001000B1H+8X(CAN0)
読出し / 書込み :
初期値 :
BYTE7
アドレス : 001000B2H+8X(CAN0)
読出し / 書込み :
初期値 :
BYTE6
アドレス : 001000B3H+8X(CAN0)
読出し / 書込み :
初期値 :
bit15
14
13
12
11
10
9
8
D7
R/W
(X)
D6
R/W
(X)
D5
R/W
(X)
D4
R/W
(X)
D3
R/W
(X)
D2
R/W
(X)
D1
R/W
(X)
D0
R/W
(X)
bit7
6
5
4
3
2
1
0
D7
R/W
(X)
D6
R/W
(X)
D5
R/W
(X)
D4
R/W
(X)
D3
R/W
(X)
D2
R/W
(X)
D1
R/W
(X)
D0
R/W
(X)
bit15
14
13
12
11
10
9
8
D7
R/W
(X)
D6
R/W
(X)
D5
R/W
(X)
D4
R/W
(X)
D3
R/W
(X)
D2
R/W
(X)
D1
R/W
(X)
D0
R/W
(X)
bit7
6
5
4
3
2
1
0
D7
R/W
(X)
D6
R/W
(X)
D5
R/W
(X)
D4
R/W
(X)
D3
R/W
(X)
D2
R/W
(X)
D1
R/W
(X)
D0
R/W
(X)
bit15
14
13
12
11
10
9
8
D7
D6
D5
D4
D3
D2
D1
D0
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
bit7
6
5
4
3
2
1
0
D7
R/W
(X)
D6
R/W
(X)
D5
R/W
(X)
D4
R/W
(X)
D3
R/W
(X)
D2
R/W
(X)
D1
R/W
(X)
D0
R/W
(X)
bit15
14
13
12
11
10
9
8
D7
D6
D5
D4
D3
D2
D1
D0
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
bit7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
R/W
(X)
データレジスタ x(x=0 ∼ 15)(DTRx) は , メッセージバッファ(x) のデータレジスタです。
このレジスタは , データフレームの送受信にのみ使用され , リモートフレームの送受信
には使用されません。
461
第 16 章 CAN コントローラ
• 送信メッセージデータ (0 ∼ 8 バイトのうち任意 ) を設定します。
- データは , MSB から始まって , BYTE0, BYTE1, ..., BYTE7 の順で送信されます。
•
受信メッセージデータを記憶します。
- データは , MSB から始まって , BYTE0, BYTE1, ..., BYTE7 の順で記憶されます。
受信メッセージデータが 8 バイト未満であっても , データレジスタ (DTRx) の残
りのバイトにデータが記憶され , それらは未定義になります。
<注意事項>
462
このレジスタへの書込み動作は , ワードで行わなければなりません。バイトで書込
み動作を行うと , 下位バイトへの書込み時に , 未定義データを上位バイトに書き込
むことになります。上位バイトへの書込みは無視されます。
第 16 章 CAN コントローラ
インタフェース制御レジスタ (CREG)
16.2.6
インタフェース制御レジスタ (CREG) は , CANCLK, およびユーザロジックバスク
ロック (CLKT) の異なるクロックが存在する場合に , CAN 送信 / 受信動作クロック ,
および CAN ユーザロジックバス ( 外部バス ) へのアクセスを構成するためのもので
す。
「第 5 章 クロック生成とデバイス状態」も参照してください。
<注意事項>
CANCLK プリスケーラ値は , クロックモジュレータの CMCR レジスタによって設
定されます。CANCLK は , CAN モジュール内でさらに 2 で割られます。
■ インタフェース制御レジスタ (CREG)
インタフェース制御レジスタ (CREG) を適正に動作させるためには , CAN コントロー
ラに接続されたユーザロジックバスを , チップ選択領域 7, 16 ビットバスアクセス , 1
ウェイトステート , および RDY 許可でプログラムしなければなりません。
CREG 設定のデフォルトは , ユーザロジックバスクロックを CAN レジスタアクセスに
使用し , CANCLK を同期許可の状態で CAN 送信 / 受信動作クロックとして使用します。
ブート ROM を用いた設定は , ユーザロジックバスクロックを同期禁止の状態で CAN
クロックとして使用します。
図 16.2-25 に , インタフェース制御レジスタ (CREG) のビット構成を示します。
図 16.2-25 インタフェース制御レジスタ (CREG) のビット構成
bit
15
14
13
12
11
10
9
8
アドレス : 0010012CH(CAN0) DTR_W DTR_B IDR_W IDR_B AMR_W AMR_B AMS_W AMS_B
読出し / 書込み :
初期値 / ブート ROM 値 :
bit
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
R/W
(0)
7
6
5
4
3
2
1
0
アドレス : 0010012DH(CAN0) E_INT
読出し / 書込み : R/W
初期値 / ブート ROM 値 : (0)
S_INT C_INV
R/W
R/W
(0)
(0)
L_INV C_CLK L_CLK SYNCH CDSBLE
R/W
R/W
R/W
R/W
R/W
(0)
(0)
(0)
(0/1)
(0)
[bit15 ∼ bit8] バイト順序
これらのビットは , レジスタ AMS, AMR0x, AMR1x, IDRx[10:0], および DTRx[15:0]
のバイト順序を変更するために使用できます。
バイト順序変更の例を , 図 16.2-26 に示します。
463
第 16 章 CAN コントローラ
図 16.2-26 バイト順序変更の例
xxx_B=1,およびxxx_W=0である場合は,バイト順序は次のように変更されます。
バイト0
バイト1
バイト2
バイト3
バイト1
バイト0
バイト3
バイト2
xxx_W=1,およびxxx_B=0である場合は,バイト順序は次のように変更されます。
バイト0
バイト1
バイト2
バイト3
バイト2
バイト3
バイト0
バイト1
xxx_W=1,およびxxx_B=1である場合は,バイト順序は次のように変更されます。
バイト0
バイト1
バイト2
バイト3
バイト3
バイト2
バイト1
バイト0
[bit7 ∼ bit4] E_INT, S_INT, C_INV, L_INV
これらのビットは , 特殊な CPU 構成に使用するためのものです。これらのビットを
初期値から変更すると , 適正な動作は保証されません。
[bit3, bit2] C_CLK, L_CLK
これらのビットは , CAN ユーザロジックバスアクセス , および CAN 送信 / 受信動作
のためのクロックを選択します。
表 16.2-7 に , クロック選択の設定内容を示します。
表 16.2-7 クロック選択の設定内容
C_CLK
L_CLK
モード
0
0
CANCLK (2 で分周 ) は CAN 動作に使用され , CLKT はユーザロジックバスに
接続された CAN レジスタへのアクセスに使用されます。同期モード
(SYNCH=0) を使用することをお勧めします。
0
1
テストのための予備です。
1
0
テストのための予備です。
1
1
テストのための予備です。
[bit1] SYNCH : 同期許可ビット
CPU のメインクロック , およびユーザロジックバスクロックの同期を許可 , または
禁止します。
• 0 : 同期許可
• 1 : 同期禁止
[bit0] CDSBLE : クロック禁止ビット
CAN クロック , および CAN バスの動作を許可 , または禁止します。
• 0 : クロック , および CAN バスの動作許可
• 1 : クロック , および CAN バスの動作禁止
<注意事項>
464
• ユーザロジックバスクロックを用いた CAN 動作周波数のために , ブート ROM
設定を使用できます。
• CAN プリスケーラレジスタ (BTR:PSC[5:0]) によって分周可能な CAN 動作周波
数は , 常に選択クロックであり , その周波数は "2" で分周されます。
第 16 章 CAN コントローラ
16.3
CAN コントローラの動作
CAN コントローラの動作として , 送信動作 , および受信動作を説明します。
■ 送信動作
送信の開始から送信の終了までを , 以下に説明します。
送信動作のフローチャートを , 図 16.3-1 に示します。
● 送信の開始
• 送信要求レジスタ (TREQR) の TREQx に "1" を書き込むと , メッセージバッファ (x)
による送信が開始されます。このとき , TREQx は "1" になり , 送信完了レジスタ
(TCR) の TCx は "0" になります。
• リモートフレーム受信待ちレジスタ (RFWTR) の RFWTx が "0" の場合は , 直ちに送
信が開始されます。RFWTx が "1" の場合 , リモートフレームが受信されて ( リモー
ト要求受信レジスタ (RRTRR) の RRTRx が "1" になる ) から , 送信が開始されます。
● 送信
• 複数のメッセージバッファに対して送信要求が行われる ( 複数の TREQx が "1") と ,
一番小さい番号のメッセージバッファから順に送信が実行されます。
• CAN バスへのメッセージ送信 ( 送信出力端子 TX による ) は , バスがアイドル状態
のときに開始されます。
•
送信 RTR レジスタ (TRTRR) の TRTRx が "0" の場合 , データフレームが送信されま
す。TRTRx が "1" の場合 , リモートフレームが送信されます。
• CAN バス上でメッセージバッファと別の CAN コントローラとの送信が重なり , 調
停が失敗した場合 , または送信時にエラーが発生した場合は , メッセージバッファ
はバスがアイドル状態になるまで待ち , 送信が完了するまで再送を繰り返します。
● 送信要求の取消し
•
送信取消しレジスタ (TCANR) による取消し
- 送信保留時に送信を実行しなかったメッセージバッファ (x) に対する送信要求は ,
送信取消しレジスタ (TCANR) の TCANx に "1" を書き込むことによって取り消す
ことができます。取消しが完了すると , TREQx は "0" になります。
• 受信メッセージの記憶による取消し
- 送信要求にもかかわらず送信を実行しなかったメッセージバッファ (x) は , 受信
も実行します。データフレームの送信要求 (TRTRx=0, または TREQx=1) にもかか
わらず , メッセージバッファ(x) が送信を実行しなかった場合は , 受入フィルタを
通過した受信データフレームが記憶された後 , 送信要求が取り消されます
(TREQx=0)*1。
- リモートフレーム送信要求 (TRTRx=1, または TREQx=1) にもかかわらず , メッ
セージバッファ (x) が送信を実行しなかった場合は , 受入フィルタを通過した受
信リモートフレームが記憶された後 , 送信要求が取り消されます (TREQx=0)*2。
*1 : 送信要求は , リモートフレームの記憶によっては取り消されません (TREQx=1 は
不変 )。
*2 : 送信要求は , データフレームまたはリモートフレームのいずれの記憶によっても
取り消されます。
465
第 16 章 CAN コントローラ
● 送信の終了
送信が終了すると , RRTRx が "0", TREQx が "0", 送信完了レジスタ (TCR) の TCx が "1"
になります。
送信完了割込みが許可されている場合 ( 送信完了割込み許可レジスタ (TIER) の TIEx が
"1") は , 割込みが発生します。
図 16.3-1 送信動作フローチャート
送信要求
(TREQx
:= 1)
TCx := 0
0
TREQx ?
1
0
RFWTx ?
1
0
RRTRx ?
1
上記の条件を満たす別のメッセージが存在
する場合, 一番小さい番号のメッセージ
バッファを選択します。
バスはアイドル
状態ですか?
NO
YES
0
1
TRTRx ?
データフレームが送信されました。
リモートフレームが送信されました。
NO
送信は完了しましたか?
YES
TCANx ?
RRTRx := 0
TREQx := 0
TCx
:= 1
TIEx
?
1
TREQx
1
0
送信完了割込みが起こります。
送信終了
466
:= 0
0
第 16 章 CAN コントローラ
■ 受信動作
受信の開始から受信の終了までを , 以下に説明します。
受信動作のフローチャートを , 図 16.3-3 に示します。
● 受信の開始
受信は , データフレーム , またはリモートフレームの開始 (SOF) が CAN バス上で検出
されると開始されます。
● 受入フィルタ
標準フレームフォーマットの受信メッセージは , 標準フレームフォーマットのメッ
セージバッファ (x) セット (IDE レジスタ (IDER) の IDEx=0) と比較されます。拡張フ
レームフォーマットの受信メッセージは , 拡張フレームフォーマットのメッセージ
バッファ (x) セット (IDEx=1) と比較されます。
受入マスクによる Compare に設定されたすべてのビットが , 受信メッセージ ID と受入
コード ( 受信メッセージ ID と比較するための ID レジスタ (IDRx)) の比較後に合致する
と , 受信メッセージはメッセージバッファ (x) の受入フィルタを通過します。
● 受信メッセージの記憶
受信メッセージは , 受入フィルタを通過した ID も含めてメッセージバッファ x に記憶
されます。データフレームを受信すると , 受信メッセージは ID レジスタ (IDRx), DLC
レジスタ (DLCRx), およびデータレジスタ (DTRx) に記憶されます。
受信メッセージデータが 8 バイト未満であっても , データは DTRx の残りのバイトに記
憶され , その値は未定義になります。
リモートフレームを受信すると受信メッセージは ID レジスタ (IDRx) と DLC レジスタ
(DLCRx) だけに記憶され , DTR レジスタ (DTRx) は不変のまま残ります。
受入フィルタを通過した ID を含むメッセージバッファが複数存在する場合は , 以下の
規則に従って , 受信メッセージを記憶するメッセージバッファ x が決められます。
• メッセージバッファ x(x=0 ∼ 15) の優先順位は , 番号が小さいほど高くなります。
メッセージバッファ 0 には最も高い優先順位が与えられ , メッセージバッファ 15 に
は最も低い優先順位が与えられます。
•
基本的に , 受信完了レジスタ (RCR) の RCx ビットが "0" に設定されているメッセー
ジバッファの方が , 受信メッセージの記憶の際に優先されます。
• 受信マスク選択レジスタ (AMSR) のビットが All Bits Compare(AMSx.1, および
AMSx.0 ビットが "00" に設定されているメッセージバッファについて ) に設定され
ている場合 , 受信メッセージは RCR の RCx ビットの設定に関係なく記憶されます。
•
RCR の RCx ビットが "0" に設定されているか , または AMSR セットのビットが All
Bits Compare に設定されているメッセージバッファが存在する場合 , 受信メッセー
ジは一番小さい番号の(最も優先順位が高い)メッセージバッファxに記憶されます。
• 上記のようなメッセージバッファが存在しない場合 , 受信メッセージは小さい番号
のメッセージバッファ x に記憶されます。
図 16.3-2 に , 受信メッセージが記憶されるメッセージバッファ x を決める際のフロー
チャートを示します。
467
第 16 章 CAN コントローラ
図 16.3-2 メッセージバッファ (x) を決める際のフローチャート
開始
RCxが0に設定されているか, あるいはAMSx.1
およびAMSx.0が00に設定されているメッセー
ジバッファが見つかりましたか?
NO
YES
一番小さい番号のメッセージ
バッファを選択します。
一番小さい番号のメッセージ
バッファを選択します。
終了
メッセージバッファは , 以下に示す順に数字の昇順に並べなければなりません。
1. AMSR のビットが All Bits Compare に設定されているメッセージバッファ
2. AMR0x, または AMR1x を使用しているメッセージバッファ
3. AMSR のビットが All Bits Mask に設定されているメッセージバッファ
● 受信オーバラン
受信オーバランが発生すると , 受信メッセージを記憶するメッセージバッファx に対応
する受信完了レジスタ (RCR) の RCx ビットが "1" に設定されます。メッセージバッ
ファ x への受信メッセージの記憶が完了すると , 受信オーバランレジスタ (ROVRR) の
ROVRx ビットが "1" に設定され , 受信がオーバランしたことを示します。
● データフレームとリモートフレームの受信処理
• データフレームの受信処理
- リモート要求受信レジスタ (RRTRR) の RRTRx が , "0" になります。
- 送信要求レジスタ (TREQR) の TREQx が ( 受信メッセージが記憶される直前に )"0"
になります。送信を実行しなかったメッセージバッファ (x) に対する送信要求は ,
取り消されます。データフレーム , またはリモートフレームのいずれの送信要求
も , 取り消されます。
• リモートフレームの受信処理
- RRTRx が "0" になります。
- 送信 RTR レジスタ (TRTRR) の TRTRx が "1" の場合 , TREQx は "0" になります。
送信を実行しなかったメッセージバッファに対するリモートフレームの送信要
求は , 取り消されます。データフレームの送信要求は取り消されません。送信要
求の取消しについては , 「■ 送信動作」を参照してください。
● 受信の完了
受信メッセージの記憶後 , 受信完了レジスタ (RCR) の RCx は "1" になります。
受信割込みが許可されている場合 ( 受信割込み許可レジスタ (RIER) の RIEx が "1"), 割
込みが発生します。
<注意事項>
468
この CAN コントローラは , 自身が送信したメッセージは受信しません。
第 16 章 CAN コントローラ
図 16.3-3 に , 受信動作のフローチャートを示します。
図 16.3-3 受信動作フローチャート
データフレームまたはリモート
フレームの開始(SOF)の検出
NO
受入フィルタを通過するメッセージ
バッファ(x)は見つかりましたか?
YES
NO
受信は完了しましたか?
YES
受信メッセージが記憶されるメッセージ
バッファ(x)を決めます。
受信メッセージをメッセージ
バッファ(x)に記憶します。
1
RCx ?
0
データフレーム
RRTRx
ROVRx
リモートフレーム
メッセージを受信
しましたか?
:= 0
RRTRx
1
TREQx
:= 1
:= 1
TRTRx ?
0
:= 0
RCx := 1
RIEx ?
1
0
受信割込みが起こります。
受信終了
469
第 16 章 CAN コントローラ
16.4
使用手順
ビットタイミング , フレームフォーマット , ID, および受入フィルタの設定と送信 /
受信の手順について説明します。
■ ビットタイミングの設定
ビットタイミングレジスタ (BTR) は , バス動作が停止している ( 制御ステータスレジス
タ (CSR) のバス動作停止ビット (HALT) が "1") ときに設定しなければなりません。
設定完了後 , HALT に "0" を書き込んで , バス動作停止を取り消します。
■ フレームフォーマットの設定
メッセージバッファ (x) が使用するフレームフォーマットを設定します。標準フレーム
フォーマットを使用している場合は , IDE レジスタ (IDER) の IDEx を "0" に設定しま
す。拡張フレームフォーマットを使用している場合は , IDEx を "1" に設定します。
この設定は, メッセージバッファ(x)が無効(メッセージバッファ有効レジスタ(BVALR)
の BVALx が "0") のときに設定しなければなりません。バッファが有効 (BVALx が "1")
のときに設定すると , 不必要な受信メッセージを記憶することになります。
■ ID の設定
メッセージバッファ (x)ID を , ID レジスタ (IDRx) の ID28 ∼ ID0 に設定します。標準
フレームフォーマットでは , メッセージバッファ (x)ID を ID11 ∼ ID0 に設定する必要
はありません。メッセージバッファ (x)ID は , 送信時には送信メッセージとして使用さ
れ , 受信時には受入コードとして使用されます。
この設定は, メッセージバッファ(x)が無効(メッセージバッファ有効レジスタ(BVALR)
の BVALx が "0") のときに設定しなければなりません。バッファが有効 (BVALx が "1")
のときに設定すると , 不必要な受信メッセージを記憶することになります。
■ 受入フィルタの設定
メッセージバッファ (x) の受入フィルタを , 受入コードと受入マスクセットによって設
定します。この設定は , 受入メッセージバッファ (x) が無効 ( メッセージバッファ許可
レジスタ (BVALR) の BVALx が "0") のときに設定しなければなりません。バッファが
有効 (BVALx が "1") のときに設定すると , 不必要な受信メッセージを記憶することに
なります。
各メッセージバッファ(x)で使用される受入マスクを, 受入マスク選択レジスタ(AMSR)
で設定します。受入マスクレジスタ (AMR0x, 1x) を使用している場合 , このレジスタも
設定します ( 設定の詳細については , 「16.2.3 ビットタイミングレジスタ (BTR)」の
「■受入マスク選択レジスタ (AMSR)」および「16.2.4 メッセージバッファ制御レジス
タ」の「■受入マスクレジスタ 0x, 1x(AMR0x, AMR1x)」を参照してください )。
受入マスクは , 不必要な受信メッセージが記憶されたときに , 送信要求が取り消されな
いように設定しなければなりません。たとえば , 送信 ID と同じ ID のメッセージのみ
受信する場合 , フルビット比較に設定する必要があります。
470
第 16 章 CAN コントローラ
■ メッセージバッファ (x) による送信手順
ビットタイミング , フレームフォーマット , ID, および受入フィルタの設定が完了した
ら , BVALx を "1" に設定してメッセージバッファ (x) を有効にします。
1. 送信データ長コードの設定
- 送信データ長コード ( バイトカウント ) を , DLC レジスタ (DLCRx) の DLC3 ∼
DLC0 に設定します。
- データフレーム送信 ( 送信 RTR レジスタ (TRTRR) の TRTRx が "0") については ,
送信メッセージのデータ長を設定します。
- リモートフレーム送信 (TRTRx=1) については , 要求メッセージのデータ長 ( バイ
トカウント ) を設定します。
<注意事項>
0000 ∼ 1000(0 ∼ 8 バイト ) 以外の設定は禁止されています。
2. 送信データの設定 ( データフレームの送信のみ )
- データフレーム送信 ( 送信レジスタ (TRTRR) の TRTRx が "0") については , デー
タレジスタ (DTRx)内で送信されたバイトのカウントとしてデータを設定します。
<注意事項>
送信データは , "0" に設定された送信要求レジスタ (TREQR) の TREQx ビットで再
書込みしなければなりません。メッセージバッファ有効レジスタ (BVALR) の
BVALx ビットを "0" に設定する必要はありません。BVALx ビットを "0" に設定する
と , リモートフレームの受信が禁止されます。
3. 送信 RTR レジスタの設定
- データフレーム送信については , 送信 RTR レジスタ (TRTRR) の TRTRx を "0" に
設定します。
- リモートフレーム送信については , TRTRx を "1" に設定します。
4. 送信開始条件の設定 ( データフレームの送信のみ )
- データフレーム送信要求が設定された ( 送信要求レジスタ (TREQR) の TREQx が
"1", および送信 RTR レジスタ (TRTRR) の TRTRx が "0") 直後に送信を開始するに
は , リモートフレーム受信待ちレジスタ (RFWTR) の RFWTx を "0" に設定します。
- データフレーム送信要求が設定された (TREQx=1, および RTRx=0) 後 , リモートフ
レームが受信される ( リモート要求受信レジスタ (RRTRR) の RRTRx が "1" にな
る ) まで待ってから送信を開始するには , RFWTx を "1" に設定します。
<注意事項>
RFWTx を "1" に設定すると , リモートフレーム送信を行うことができなくなりま
す。
5. 送信完了割込みの設定
- 送信完了割込みを発生させるときは, 送信完了割込み許可レジスタ(TIER)のTIEx
を "1" に設定します。
- 送信完了割込みを発生させないときは , TIEx を "0" に設定します。
6. 送信要求の設定
- 送信要求を発生するには , 送信要求レジスタ (TREQR) の TREQx を "1" に設定し
ます。
471
第 16 章 CAN コントローラ
7. 送信要求の取消し
- メッセージバッファ (x) への送信の保留要求を取り消すときは , 送信取消しレジ
スタ (TCANR) の TCANx に "1" を書き込みます。
- TREQx を確認します。TREQx=0 の場合は , 送信取消しが終了しているか , 送信が
完了しています。送信完了レジスタ (TCR) の TCx を確認します。TCx=0 の場合
は , 送信取消しが終了しています。TCx=1 の場合は , 送信が完了しています。
8. 送信完了処理
- 送信が完了すると , 送信完了レジスタ (TCR) の TCx が "1" になります。送信完了
割込みが許可されている場合 ( 送信完了割込み許可レジスタ (TIER) の TIExが "1"),
割込みが発生します。
送信の完了を確認後 , TCx に "0" を書き込んで設定を "0" に
します。これにより , 送信完了割込みが取り消されます。
- 次のような場合には , 送信保留要求は , メッセージを受信し記憶することによっ
て取り消されます。
データフレームの受信によるデータフレーム送信要求
データフレームの受信によるリモートフレーム送信要求
リモートフレームの受信によるリモートフレーム送信要求
<注意事項>
データフレーム送信要求は , リモートフレームを受信して記憶することによっては
取り消せません。ただし , ID, および DLC は , 受信したリモートフレームの ID, およ
び DLC によって変わります。送信されるデータフレームの ID, および DLC は , 受
信したリモートフレームの値になることに注意してください。
■ メッセージバッファ (x) による受信手順
フレームフォーマット , ID, および受入フィルタの設定が完了したら , 以下の設定をし
ます。
● 受信割込みの設定
受信割込みが許可されている場合 , 受信割込み許可レジスタ (RIER) の RIEx を "1" に設
定します。
受信割込みが禁止されている場合 , RIEx を "0" に設定します。
● 受信の開始
設定後 , 受信を開始するときは , メッセージバッファ有効レジスタ (BVALR) の BVALx
を "1" に設定し , メッセージバッファ (x) を有効にします。
● 受信完了処理
• 受入フィルタを通過して受信が完了すると , 受信メッセージはメッセージバッファ
(x) に記憶され , 受信完了レジスタ (RCR) の RCx が "1" になります。
• データフレームの受信については , リモート要求受信レジスタ (RRTRR) の RRTRx
が "0" になります。
• リモートフレームの受信については , RRTRx が "1" になります。
受信割込みが許可されている場合 ( 受信割込み許可レジスタ (RIER) の RIEx が "1"), 割
込みが発生します。
受信の完了 (RCx=1) を確認後 , 受信メッセージを処理します。
472
第 16 章 CAN コントローラ
受信メッセージの処理完了後 , 受信オーバランレジスタ (ROVRR) の ROVRx を確認し
ます。
• ROVRx=0 の場合 , 処理された受信メッセージは有効になっています。CRx に "0" を
書き込んで設定を "0" にし ( 受信完了割込みも取り消されます ), 受信を終了します。
• ROVRx=1 の場合 , 受信オーバランが起こり , 新しい受信メッセージが , 処理された
受信メッセージに上書きしている可能性があります。この場合 , ROVRx ビットに
"0" を書き込んで設定を "0" にした後 , 受信メッセージを再度処理する必要がありま
す。
図 16.4-1 に , 受信割込み処理の例を示します。
図 16.4-1 受信割込み処理の例
RCx=1での割込み
受信メッセージの読出し
A :=ROVRx
ROVRx :=0
A = 0?
NO
YES
RCx :=0
終了
■ 多重メッセージバッファ構成の設定
受信が頻繁に行われる場合 , または指定していないカウントのメッセージを受信する
場合(メッセージを受信するために十分な時間がない場合), 複数のメッセージバッファ
を 1 つの多重メッセージバッファにまとめて , CPU による受信メッセージの処理時間
に余裕を持たせることができます。
多重メッセージバッファを使用するには , 組み合わせたメッセージバッファに同じ受
入フィルタを設定しなければなりません。
受入マスク選択レジスタ (AMSR) のビットを All Bits Compare((AMSx.1, AMSx.0)=(0, 0))
に設定すると , メッセージバッファの多重メッセージ構成は許可されません。これは ,
All Bits Compare によって受信完了レジスタ (RCR) の RCx ビットの値に関係なく受信
メッセージが記憶されるため , All Bits Compare, および同じ受入コード (ID レジスタ
(IDRx)) が複数のメッセージバッファに指定されていても , 受信メッセージは常に小さ
い番号の ( 優先順位の低い ) メッセージバッファに記憶されるからです。したがって ,
All Bits Compare, および同じ受入コードを複数のメッセージバッファに指定してはな
りません。
図 16.4-2 に , 多重メッセージバッファの動作例を示します。
473
第 16 章 CAN コントローラ
図 16.4-2 多重メッセージバッファの動作例
初期化
AMS15, AMS14, AMS13
AMSR
AMR0xを選択。
10 10 10
. . .
AM18~AM28
AMR0
0000
111
IDE
. . .
ID18~ID28
メッセージバッファ13
1111
0101
0000
000
メッセージバッファ14
0101
0000
000
メッセージバッファ15
0101
0000
000
0
0
. . .
. . .
RC15, RC14, RC13
RCR
ROVRR
0
0
0
. . .
0
0
0
. . .
ROVR15, ROVR14, ROVR13
マスク
メッセージ受信 受信メッセージはメッセージバッファ13に記憶されます。
IDE
ID28 ~ ID18
メッセージ受信
0101
1111
000
0
. . .
メッセージバッファ13
0101
1111
000
0
. . .
メッセージバッファ14
0101
0000
000
0
. . .
メッセージバッファ15
0101
0000
000
0
. . .
RCR
ROVRR
0
0
1
. . .
0
0
0
. . .
0
1
1
. . .
0
0
0
. . .
1
1
1
. . .
0
0
0
. . .
メッセージ受信 受信メッセージはメッセージバッファ14に記憶されます。
メッセージ受信
0101
1111
001
0
. . .
メッセージバッファ13
0101
1111
000
0
. . .
メッセージバッファ14
0101
1111
001
0
. . .
メッセージバッファ15
0101
0000
000
0
. . .
RCR
ROVRR
メッセージ受信 受信メッセージはメッセージバッファ15に記憶されます。
メッセージ受信
0101
1111
010
0
. . .
メッセージバッファ13
0101
1111
000
0
. . .
メッセージバッファ14
0101
1111
001
0
. . .
メッセージバッファ15
0101
1111
010
0
. . .
RCR
ROVRR
メッセージ受信 オーバランが起こり(ROVR13=1), 受信メッセージはメッセージバッファ13に記憶されます。
メッセージ受信
0101
1111
011
0
. . .
メッセージバッファ13
0101
1111
011
0
. . .
メッセージバッファ14
0101
1111
001
0
. . .
010
0
. . .
メッセージバッファ15
0101
1111
RCR
ROVRR
1
1
1
. . .
0
0
1
. . .
( 注意事項 ) メッセージバッファ13, 14, 15 に設定された同じ受入フィルタにより ,
4 つのメッセージが受信されます。
474
第 17 章
D/A コンバータ
D/A コンバータの概要を示し , レジスタの構造と機
能 , および D/A コンバータの動作について説明し
ます。
17.1 D/A コンバータの概要
17.2 D/A コンバータのレジスタ
17.3 D/A コンバータの動作
475
第 17 章 D/A コンバータ
17.1
D/A コンバータの概要
D/A コンバータの機能とブロックダイヤグラムを示します。
■ D/A コンバータの機能
このブロックは , 10 ビットの分解能を持つ R-2R フォーマット D/A コンバータです。
D/A コンバータには 2 つのチャネルがあります。
出力制御は , D/A 制御レジスタを使用して , 2 つのチャネルで個別に実行できます。
■ D/A コンバータのブロックダイヤグラム
図 17.1-1 D/A コンバータのブロックダイヤグラム
R-バス
DA DA DA DA DA DA DA DA DA DA
19 18 17 16 15 14 13 12 11 10
DA DA DA DA DA DA DA DA DA DA
09 08 07 06 05 04 03 02 01 00
AVDD
AVDD
DA09
DA19
2R
DA18
2R
DA16
R
R
2R
DA07
R
R
DA01
DA11
2R
DA10
2R
DAE1
スタンバイ制御
DA出力ch.1
476
2R
DA08
R
2R
2R
DA00
R
2R
2R
DAE0
スタンバイ制御
DA出力ch.0
第 17 章 D/A コンバータ
17.2
D/A コンバータのレジスタ
D/A コンバータで使用するレジスタについて説明します。
■ D/A コンバータのレジスタ一覧
図 17.2-1 に , D/A コンバータのレジスタ一覧を示します。
図 17.2-1 D/A コンバータのレジスタ一覧
D/A 制御レジスタ (DACR)
D/A データレジスタ 0
(DADR0)
D/A データレジスタ 1
(DADR1)
D/A クロック制御レジスタ
(DDBL)
DACR
DADR0
DADR1
DDBL
bit7
6
5
4
3
2
1
0
初期値
−
−
−
−
−
MODE
DAE1
DAE0
-----000B
−
−
−
−
−
R/W
R/W
R/W
bit15
14
13
12
11
10
9
8
DA08
−
−
−
−
−
−
DA09
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit7
6
5
4
3
2
1
0
DA07
DA06
DA05
DA04
DA03
DA02
DA01
DA00
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit15
14
13
12
11
10
9
8
−
−
−
−
−
−
DA19
DA18
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit7
6
5
4
3
2
1
0
DA17
DA16
DA15
DA14
DA13
DA12
DA11
DA10
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit7
6
5
4
3
2
1
0
−
−
−
−
−
−
−
DBL
−
−
−
−
−
−
−
R/W
------XXB
XXXXXXXXB
------XXB
XXXXXXXXB
-------0B
■ D/A 制御レジスタ (DACR)
図 17.2-2 に , D/A 制御レジスタ (DACR) のビット構成を示します。
図 17.2-2 D/A 制御レジスタ (DACR) のビット構成
DACR
bit7
6
5
4
3
2
1
0
アドレス : 000000A5H
−
−
−
−
−
MODE
R/W
DAE1
R/W
DAE0
R/W
初期値
-----000B
477
第 17 章 D/A コンバータ
[bit2] MODE
このビットは , D/A コンバータのモード制御に使用します。
このビットに "1" を書き込むと , D/A コンバータは 8 ビットの分解能で動作します。
"0" を設定すると , D/A コンバータは 10 ビットの分解能で動作します。
リセット時に "0" に初期化されます。このビットは読出し , および書込みが可能です。
[bit1, bit0] DAE1, DAE0
これらのビットは , D/A コンバータ出力を許可 , または禁止するために使用します。
DAE1 ビットはチャネル 1 出力を制御し , DAE0 ビットはチャネル 0 出力を制御し
ます。
これらのビットに "1" を書き込むと , D/A 出力は許可されます。"0" を書き込むと ,
D/A 出力は禁止になります。
リセット時に "0" に初期化されます。これらのビットは読出し , および書込みが可
能です。
■ D/A データレジスタ (DADR)
図 17.2-3 に , D/A データレジスタ (DADR) のビット構成を示します。
図 17.2-3 D/A データレジスタ (DADR) のビット構成
DADR0
bit15
14
13
12
11
10
9
8
DA08
R/W
アドレス : 000000A6H
−
R/W
−
R/W
−
R/W
−
R/W
−
R/W
−
R/W
DA09
R/W
DADR0
bit7
6
5
4
3
2
1
0
アドレス : 000000A7H
DA07
R/W
DA06
R/W
DA05
R/W
DA04
R/W
DA03
R/W
DA02
R/W
DA01
R/W
DA00
R/W
DADR1
bit15
14
13
12
11
10
9
8
アドレス : 000000A8H
−
R/W
−
R/W
−
R/W
−
R/W
−
R/W
−
R/W
DA19
R/W
DA18
R/W
DADR1
bit7
6
5
4
3
2
1
0
DA17
R/W
DA16
R/W
DA15
R/W
DA14
R/W
DA13
R/W
DA12
R/W
DA11
R/W
DA10
R/W
アドレス : 000000A9H
初期値
------XXB
XXXXXXXXB
------XXB
XXXXXXXXB
[bit9 ∼ bit0] DADR0 レジスタ DA09 ∼ DA00
これらのビットは , D/A コンバータ ch.0 の出力電圧の設定に使用します。
リセット時に初期化はされません。これらのビットは読出し , および書込みが可能
です。
[bit9 ∼ bit0] DADR1 レジスタ DA19 ∼ DA10
これらのビットは , D/A コンバータ ch.1 の出力電圧の設定に使用します。
リセット時に初期化はされません。これらのビットは読出し , および書込みが可能
です。
これらのレジスタを 8 ビット分解能モードで読み出すと , DAx7...DAx0 と書き込ま
れた値は DAx9...DAx2 として表示されます。
478
第 17 章 D/A コンバータ
■ D/A クロック制御レジスタ (DDBL)
図 17.2-4 に , D/A クロック制御レジスタ (DDBL) のビット構成を示します。
図 17.2-4 D/A クロック制御レジスタ (DDBL) のビット構成
DDBL
bit7
アドレス : 000000ABH
−
6
−
5
−
4
−
3
−
2
−
1
0
−
DBL
R/W
初期値
-------0B
[bit0] DBL
このビットは , D/A コンバータモジュールのクロック制御に使用します。
このビットに "1" を書き込むと , D/A コンバータモジュールのクロックは禁止にな
ります。"0" を設定すると , D/A コンバータモジュールにクロックが供給されます。
リセット時に"0"に初期化されます。このビットは読出し, および書込みが可能です。
479
第 17 章 D/A コンバータ
17.3
D/A コンバータの動作
D/A コンバータの動作概要を説明します。
■ D/A コンバータの動作概要
D/A 出力は , D/A データレジスタ (DADR) に所望の D/A 出力値を書き込み , D/A 制御レ
ジスタ (DACR) 内の対応する D/A 出力チャネルの許可ビットに "1" を設定することに
よって開始されます。
D/A 出力を禁止にすると , 各 D/A コンバータチャネルの出力に直列に挿入されている
アナログスイッチがオフになります。さらに , D/A コンバータが "0" に内部クリアされ ,
直流電流の経路が遮断されます。これはストップモードにも当てはまります。
■ D/A コンバータ出力電圧の理論値
表 17.3-1 , および表 17.3-2 に , D/A コンバータ出力電圧の理論値を示します。
D/A コンバータ出力電圧は , 8 ビットモードで 0V ∼ (255/256)V × AVCC, 10 ビットモー
ドで 0V ∼ (1023/1024)V × AVCC です。出力電圧範囲は , AVCC 電圧を外部から調整
することによって変化します。
D/A コンバータ出力に , 内部バッファ増幅器はありません。アナログスイッチ ( 最大
100Ω) は出力に直列に挿入されているので , 外部出力負荷を加えたときに , 十分な設定
時間があります。
表 17.3-1 8 ビット分解能の D/A コンバータ出力電圧の理論値
DA07 ∼ DA00, および DA17 ∼
DA10 に書き込まれる値
00H
AVSS + 0 ×
1 LSB
01H
AVSS + 1 ×
1 LSB
02H
AVSS + 2 ×
1 LSB
|
|
FDH
AVSS + 253 × 1 LSB
FEH
AVSS + 254 × 1 LSB
FFH
AVSS + 255 × 1 LSB
1LSB : (AVCC-AVSS)/256
480
出力電圧の理論値
第 17 章 D/A コンバータ
表 17.3-2 10 ビット分解能の D/A コンバータ出力電圧の理論値
DA09 ∼ DA00, および DA19 ∼
DA10 に書き込まれる値
出力電圧の理論値
000H
AVSS + 0 ×
1 LSB
001H
AVSS + 1 ×
1 LSB
002H
AVSS + 2 ×
1 LSB
|
|
3FDH
AVSS + 1021 × 1 LSB
3FEH
AVSS + 1022 × 1 LSB
3FFH
AVSS + 1023 × 1 LSB
1 LSB : (AVCC-AVSS)/1024
481
第 17 章 D/A コンバータ
482
第 18 章
I2C インタフェース (400 kHz)
高速 I2C インタフェースの機能と動作について説
明します。
18.1 I2C インタフェース (400 kHz) の概要
18.2 I2C インタフェース (400 kHz) のレジスタ
18.3 I2C インタフェースの動作
18.4 プログラミングフローチャート
483
第 18 章 I2C インタフェース (400 kHz)
18.1
I2C インタフェース (400 kHz) の概要
I2C インタフェースは IC 間バスをサポートし , I2C バス上のマスタ / スレーブデバイ
スとして動作するシリアル I/O ポートです。
■ I2C インタフェース (400 kHz) の特長
I2C インタフェース (400 kHz) には , 以下の機能があります。
• マスタ / スレーブ送受信機能
• 調停機能
• クロック同期機能
• 汎用コールアドレッシング機能
• 伝送方向検出機能
• 再起動条件の発生と検出機能
• バスエラー検出機能
• マスタ , およびスレーブとしての 7 ビットアドレッシング
• マスタ , およびスレーブとしての 10 ビットアドレッシング
• 7 ビット , および 10 ビットのスレーブアドレスのインタフェースを提供可能
• スレーブアドレス受信のアクノリッジを禁止可能 ( マスタのみの動作 )
• 複数スレーブアドレス (7 ビットモード , 10 ビットモード ) のインタフェースを提供
するアドレスマスク機能
• 400K ビットまでの伝送速度
• SDA 用 , SCL 用の組込みノイズフィルタを使用可能
• プリスケーラ環境にかかわらず, R-バスクロックが6 MHzを超える場合に400Kビッ
トでデータを受信可能
• 伝送 , およびバスエラー時に MCU 割込み発生可能
• ビットレベルとバイトレベルでのスレーブによる減速をサポート
I2C インタフェースは , プリスケーラの設定にかかわらず R- バスクロック (CLKP) が
6 MHz を超えるデータ伝送速度 400K ビットをフル受信できるので , ビットレベルでの
SCL クロック引延しをサポートしません。ただし , 割込み中 (IBCR レジスタの INT=1)
は SCL が "L" になるので , バイトレベルでのクロック引延しが行われます。
<注意事項>
484
• 400 kHz I2C インタフェースは , マルチマスタ動作はサポートしていません。
• 400 kHz I2C インタフェースを使用する前に必ず F362MD (「4.2 構成レジスタ
(F362GB モードレジスタ F362MD)」) の IICSEL を "1" に設定してください。
第 18 章 I2C インタフェース (400 kHz)
■ I2C インタフェースのブロックダイヤグラム
図 18.1-1 に , I2C インタフェース (400 kHz) のブロックダイヤグラムを示します。
図 18.1-1 I2C インタフェース (400 kHz) のブロックダイヤグラム
ICCR2
I2 C 許可
EN
IDBL2
DBL
クロック禁止
ICCR2
2
CS4
Rバスクロック(CLKP)
モジュールクロック供給
クロック分周期1
3
4 5 ..
. 32
CS3
5
CS2
5
クロックセレクタ
同期
CS1
CS0
クロック分周期2 (12で分周)
SCLデューティサイクル発生器
シフトクロック発生器
IBSR2
BB
RSC
LRB
TRX
バスビジー
繰り返し起動
バスオブザーバ
最終ビット
送信/受信
バスエラー
アドレスデータ
ADT
AL
調停消失検出器
ICCR2
NSF
IBCR2
許可
BER
BEIE
割込み要求
Rバス
INTE
ノイズ
フィルタ
MCU
IRQ
INT
SCL
SDA
SCL
SDA
IBCR2
SCC
MSS
ACK
GCAA
起動
起動-停止条件発生器
マスタ
ACK許可
ACK発生器
GC-ACK許可
8
IBSR2
AAS
GCA
ISMK
ENSB
ITMK
ENTB
RAL
IDAR2
8
スレーブ
汎用コール
7ビットモード許可
スレーブアドレス
比較器
10ビットモード許可
受信アドレス長
7
10
10
ITBA
ITMK
7
ISBA
ISMK
10
10
7
7
485
第 18 章 I2C インタフェース (400 kHz)
18.2
I2C インタフェース (400 kHz) のレジスタ
I2C インタフェース (400 kHz) のレジスタの機能について説明します。
■ I2C インタフェース (400 kHz) のレジスタ一覧
図 18.2-1 に , I2C インタフェース (400 kHz) のレジスタ一覧を示します。
図 18.2-1 I2C インタフェース (400 kHz) のレジスタ一覧
レジスタ
バス制御レジスタ
バスステータスレジスタ
10 ビットスレーブ
アドレスレジスタ
名前
IBCR2
IBSR2
ITBAH
ITBAL
10 ビットスレーブ
アドレスマスクレジスタ
7 ビットスレーブ
アドレスマスクレジスタ
ISBA
ISMK
14
13
12
11
10
9
8
初期値
00000000B
BER
BEIE
SCC
MSS
ACK
GCAA
INTE
INT
R/W
R/W
W
R/W
R/W
R/W
R/W
R/W
bit7
6
5
4
3
2
1
0
BB
RSC
AL
LRB
TRX
AAS
GCA
ADT
R
R
R
R
R
R
R
R
bit15
14
13
12
11
10
9
8
−
−
−
−
−
−
TA9
TA8
-
-
-
-
-
-
R/W
R/W
bit7
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
bit15
14
13
12
11
10
9
8
RAL
−
−
−
−
TM9
TM8
R/W
R
-
-
-
-
R/W
R/W
bit7
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
bit7
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
bit15
14
13
12
11
10
9
8
ENSB
SM6
SM5
SM4
SM3
SM2
SM1
SM0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
ITMKH ENTB
ITMKL
7 ビットスレーブ
アドレスレジスタ
bit15
00000000B
00000000B
00000000B
00111111B
11111111B
00000000B
01111111B
( 続く )
486
第 18 章 I2C インタフェース (400 kHz)
( 続き )
データレジスタ
IDARH
IDARH2
クロック制御レジスタ
クロック禁止レジスタ
ICCR2
IDBL2
bit15
14
13
12
11
10
9
8
−
−
−
−
−
−
−
−
-
-
-
-
-
-
-
-
bit7
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
bit15
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
bit7
6
5
4
3
2
1
0
−
−
−
−
−
−
−
DBL
-
-
-
-
-
-
-
R/W
00000000B
00000000B
00011111B
00000000B
487
第 18 章 I2C インタフェース (400 kHz)
18.2.1
バス制御レジスタ (IBCR2)
この項では , バス制御レジスタ (IBCR2) の機能について説明します。
■ バス制御レジスタ (IBCR2) の機能
バス制御レジスタ (IBCR2) には , 以下の機能があります。
• 割込み許可
•
割込み発生
• バスエラー検出
•
再起動条件の発生
•
マスタ / スレーブモード選択
• 汎用コールアクノリッジ発生許可
• データバイトアクノリッジ発生許可
■ バス制御レジスタ (IBCR2) のビット機能
このレジスタへの書込みアクセスは , INT=1, または転送が開始される場合にのみ発生
します。ACK ビット , または GCAA ビットを変更するとバスエラーが発生することが
あるので , ユーザによるこのレジスタへの転送中の書込みは禁止されます。インタ
フェースが許可されない場合 (ICCR2 の EN=0) は , BER ビットと BEIE ビットを除き ,
このレジスタのすべてのビットがクリアされます。
図 18.2-2 に , バス制御レジスタ (IBCR2) のビット構成を示します。
図 18.2-2 バス制御レジスタ (IBCR2) のビット構成
バス制御レジスタ
bit15
14
13
12
11
10
9
8
アドレス : 00000184H
BER
BEIE
SCC
MSS
ACK
GCAA
INTE
INT
読出し / 書込み→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
初期値→
IBCR2
バス制御レジスタ (IBCR2) の各ビットの機能を , 以下に説明します。
[bit15] BER(Bus ERror)
このビットは , バスエラー割込みフラグです。ハードウェアによって設定され , ユー
ザがクリアします。リードモディファイライト系命令 (RMW) では , 常に "1" が読み
出されます。
( 書込みアクセスの場合 )
0
バスエラー割込みフラグクリア
1
無効
( 読出しアクセスの場合 )
488
0
バスエラー検出なし
1
下記エラー状態の 1 つを検出
第 18 章 I2C インタフェース (400 kHz)
このビットを設定すると , ICCR2 レジスタの EN ビットがクリアされます。I2C イン
タフェースが一時停止状態となってデータ転送が中断され , IBSR2 レジスタと
IBCR2 レジスタの BER と BEIE を除くすべてのビットがクリアされます。インタ
フェースを再度許可する前に , BER ビットをクリアする必要があります。
• このビットは , 以下の場合に "1" に設定されます。
- アドレスデータの転送中 , または bit2 ∼ bit9( アクノリッジビット ) の転送中に ,
起動条件 , または停止条件が誤った位置で検出された
- 10ビットの書込みアクセス以前に, 読出しアクセスを伴う10ビットアドレスヘッ
ダを受信した
- インタフェースがマスタモードのときに , 停止条件が検出された
• 転送中にインタフェースが許可された場合は , 誤ったバスエラー報告を防ぐために ,
最初の停止条件を受信した後で , 上記条件の最初の 2 つを検出することが許可され
ます。
[bit14] BEIE(Bus Error Interrupt Enable)
このビットは , バスエラー割込みを許可します。このビットを変更できるのはユー
ザだけです。
0
バスエラー割込み禁止
1
バスエラー割込み許可
このビットを "1" に設定すると , BER ビットが "1" に設定されたときに MCU 割込
みの発生が許可されます。
[bit13] SCC(Start Condition Continue)
このビットを使用して , 再起動条件を発生します。このビットは書込み専用で , 常
に "0" が読み出されます。
0
無効
1
マスタ転送中に繰り返し起動条件発生
マスタモード (MSS=1, INT=1) での割込み中にこのビットに "1" が書き込まれると ,
繰返し起動条件が発生し , INT ビットが自動的にクリアされます。
[bit12] MSS(Master Slave Select)
このビットは , マスタ / スレーブモード選択ビットです。このビットを設定できる
のはユーザだけです。クリアは , ユーザとハードウェアで行うことができます。
0
スレーブモードに移行する
1
マスタモードに移行し , 起動条件を発生してアドレスデータバイト
を IDAR2 レジスタに送信する
このビットは , マスタ送信中に調停消失イベントが発生するとクリアされます。
マスタ割込み中 (MSS=1, INT=1) に "0" を書き込むと , INT ビットが自動的にクリア
され , 停止条件が発生し , データ転送は終了します。MSS ビットは直ちにリセット
され , IBSR2 レジスタの BB ビットをポーリングすることにより停止条件の発生を
チェックできることに注意してください。
• バスのアイドル時に "1" を書き込むと (MSS=0, BB=0) 起動条件が発生し , IDAR2 レ
ジスタの内容 ( アドレスデータ ) が送信されます。
489
第 18 章 I2C インタフェース (400 kHz)
• バスの使用中に MSS ビット (IBSR2 の BB=1, TRX=0;IBCR2 の MSS=0) に "1" を書き
込むと , インタフェースはバスが解放されるまで待機して , 送信を開始します。
• インタフェースを , 書込みアクセス ( データ受信 ) を伴うスレーブとしてアドレス指
定した場合は , 転送が終了しバスが再度解放されてから送信が開始されます。イン
タフェースがスレーブとしてデータを送信している場合 (IBSR2 の AAS=1, TRX=1)
には , バスが再度解放されてもデータ送信を開始しません。次の割込み時に , イン
タフェースがスレーブとしてアドレス指定されたか (IBSR2 の AAS=1), データバイ
トの送信に成功したか (IBCR2 の MSS=1), またはデータバイトの送信に失敗したか
どうか (IBSR2 の AL=1) をチェックすることが重要です。
[bit11] ACK(ACKnowledge)
このビットは , データバイト受信時のアクノリッジ発生許可ビットです。このビッ
トを変更できるのはユーザだけです。
0
インタフェースによるデータバイト受信時のアクノリッジ発生なし
1
インタフェースによるデータバイト受信時のアクノリッジ発生
スレーブモードでアドレスバイトを受信する場合は , このビットは無効です。イン
タフェースが 7 ビット , または 10 ビットのスレーブアドレスを検出した場合は , 対
応する許可ビット (ITMK の ENTB, または ISMK の ENTB) が設定されているかどう
かをアクノリッジします。
このビットへの書込みアクセスは , 割込み中 (INT=1) か , バスがアイドルの場合
(IBSR2 レジスタの BB=0) にのみ発生します。
このビットへの書込みアクセスは , インタフェースが許可されていて (ICCR2 レジ
スタの EN=1) さらにバスエラーでない場合 (IBCR2 レジスタの BER=0) にのみ可能
です。
[bit10] GCAA(General Call Address Acknowledge)
このビットは , 汎用コールアドレスを受信したときにアクノリッジの発生を許可し
ます。このビットを変更できるのはユーザだけです。
0
インタフェースによる汎用コールアドレスバイト受信時のアクノ
リッジ発生なし
1
インタフェースによる汎用コールアドレスバイト受信時のアクノ
リッジ発生
このビットへの書込みアクセスは , 割込み中 (INT=1) か , バスがアイドルの場合
(IBSR2 レジスタの BB=0) にのみ発生します。
このビットへの書込みアクセスは , インタフェースが許可されていて (ICCR2 レジ
スタの EN=1) さらにバスエラーでない場合 (IBCR2 レジスタの BER=0) にのみ可能
です。
[bit9] INTE(INTerrupt Enable)
このビットは , MCU 割込みの発生を許可します。このビットを変更できるのはユー
ザだけです。
0
割込み禁止
1
割込み許可
このビットを "1" に設定すると , INT ビットが ( ハードウェアによって )"1" に設定
490
第 18 章 I2C インタフェース (400 kHz)
された場合に MCU 割込み発生を許可します。
[bit8] INT(INTerrupt)
このビットは , 伝送終了割込み要求フラグです。このビットはハードウェアによっ
て変更され , ユーザによってクリアすることができます。リードモディファイライ
トアクセスでは , 常に "1" が読み出されます。
( 書込みアクセスの場合 )
0
転送終了割込み要求フラグクリア
1
無効
( 読出しアクセスの場合 )
0
転送が終了しない , 現在の転送に関与していない , またはバスがアイ
ドル
1
次の条件下で , アクノリッジビットも含め 1 バイトのデータ転送 , ま
たは受信の最後に設定されます。
• デバイスがバスマスタ
• デバイスがスレーブとしてアドレス指定されている
• 汎用コールアドレス受信
• 調停消失発生
デバイスがスレーブとしてアドレス指定されている場合は , アクノ
リッジビットも含めアドレスデータ受信の最後 (7 ビットアドレス受
信の場合は最初のバイトの後 , 10 ビットアドレス受信の場合は 2 番
目のバイトの後 ) に設定されます。
このビットが "1" である間は , SCL ラインは "L" レベルに保持されます。このビッ
トに "0" を書き込むと設定がクリアされ , SCL ラインが解放されて次のバイトの転
送が実行されるか , または再起動条件 , または停止条件が発生します。また , SCC
ビットに "1" を書き込むか , MSS ビットをクリアすると , このビットはクリアされ
ます。
■ SCC, MSS, INT ビットの競合
SCC, MSS, INT ビットに同時に書き込むと , 次のバイト転送 , 再起動条件の発生 , およ
び停止条件の発生の競合が生じます。この場合の優先順位は , 以下のようになります。
• 次のバイト転送と停止条件発生 : INT ビットに "0" が書き込まれ , MSS ビットに
"0" が書き込まれると , MSS ビットが優先し , 停
止条件が発生します。
• 次のバイト転送と起動条件発生 : INT ビットに "0" が書き込まれ , SCC ビットに
"1"が書き込まれると, SCCビットが優先します。
再起動条件が発生し , IDAR2 レジスタの内容が
送信されます。
• 再起動条件発生と停止条件発生 : SCC ビットに "1" が書き込まれ , MSS ビットに
"0" が書き込まれると , MSS ビットのクリアが優
先されます。停止条件が発生し , インタフェース
はスレーブモードに移行します。
491
第 18 章 I2C インタフェース (400 kHz)
18.2.2
バスステータスレジスタ (IBSR2)
この項では , バスステータスレジスタ (IBSR2) の機能について説明します。
■ バスステータスレジスタ (IBSR2) の機能
バスステータスレジスタ (IBSR2) には , 以下の機能があります。
• バスビジー検出
• 再起動条件検出
• 調停消失検出
• アクノリッジ検出
• データ伝送方向表示
• スレーブとしてのアドレッシング検出
• 汎用コールアドレス検出
• アドレスデータ転送検出
■ バスステータスレジスタ (IBSR2) のビット機能
このレジスタは読出し専用です。すべてのビットは , ハードウェアにより制御されま
す。インタフェースが許可されていない場合 (ICCR2 の EN=0) は , すべてのビットがク
リアされます。
図 18.2-3 に , バスステータスレジスタ (IBSR2) のビット構成を示します。
図 18.2-3 バスステータスレジスタ (IBSR2) のビット構成
バスステータスレジスタ
bit7
6
5
4
3
2
1
0
アドレス : 00000185H
BB
RSC
AL
LRB
TRX
AAS
GCA
ADT
読出し / 書込み→
(R)
(R)
(R)
(R)
(R)
(R)
(R)
(R)
初期値→
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
IBSR2
バスステータスレジスタ (IBSR2) の各ビットの機能を , 以下に説明します。
[bit7] BB(Bus Busy)
このビットは , I2C バスの状態を表示します。
0
停止条件検出 ( バスアイドル )
1
起動条件検出 ( バス使用中 )
起動条件が検出されると , このビットは "1" に設定されます。停止条件が検出され
るとリセットされます。
[bit6] RSC(Repeated Start Condition)
このビットは , 再起動条件の検出を表示します。
492
第 18 章 I2C インタフェース (400 kHz)
0
再起動条件が検出されない
1
バス使用中 , 再起動条件を検出する
このビットは , アドレスデータ転送の終了 (ADT=0) あるいは停止条件の検出により
クリアされます。
[bit5] AL(Arbitration Loss)
このビットは , 調停消失を示します。
0
調停消失が検出されない
1
マスタ送信中に調停消失が発生
このビットは , IBCR2 レジスタの INT ビットに "0" を書き込むか , または MSS ビッ
トに "1" を書き込むとクリアされます。
調停消失は , 以下の場合に発生します。
•
送信データが , SCL の立上りエッジで読み出した SDA ラインのデータと一致しな
い場合
• 事前に別のスレーブにより SCL ラインがローとなったために , インタフェースが起
動条件 , または停止条件を発生できなかった場合
[bit4] LRB(Last Received Bit)
このビットを使用して , 受信側からのアクノリッジメッセージをトランスミッタに
格納します。
0
受信を確認した
1
受信が確認されない
ハードウェアが bit9( 応答ビット ) を受信するとこのビットは変更され , 起動条件 ,
または停止条件によりクリアされます。
[bit3] TRX(Transferring data)
このビットは , データ転送中のデータ送信動作を示します。
0
データを送信していない
1
データ送信中である
• このビットは , 以下の場合 "1" に設定されます。
- マスタモードで起動条件が発生した場合。
- 最初のバイト転送の終了 , およびスレーブとしての読出しアクセス , またはマス
タとしてのデータ送信の場合。
• このビットは , 以下の場合 "0" に設定されます。
- バスがアイドルである (IBSR2 の BB=0)
- 調停消失が発生した
493
第 18 章 I2C インタフェース (400 kHz)
- マスタ割込み中 (MSS=1, INT=1) に , SCC ビットに "1" が書き込まれた
- マスタ割込み中 (MSS=1, INT=1) に , MSS ビットがクリアされた
- インタフェースがスレーブモードで , 最終転送バイトが確認されなかった
- インタフェースがスレーブモードで , データを受信中
- インタフェースがマスタモードで , スレーブからデータを読出し中
[bit2] AAS(Addressed As Slave)
このビットは , スレーブアドレッシングの検出を示します。
0
スレーブとしてアドレス指定されていない
1
スレーブとしてアドレス指定されている
このビットは , ( 再 ) 起動条件 , または停止条件によりクリアされます。インタフェー
スが 7 ビットスレーブアドレスと 10 ビットスレーブアドレスの両方 , またはいずれ
かを検出すると , このビットが設定されます。
[bit1] GCA(General Call Address)
このビットは , 汎用コールアドレス (0x00) の検出を示します。
0
汎用コールアドレスがスレーブとして受信されない
1
汎用コールアドレスをスレーブとして受信する
このビットは , ( 再 ) 起動条件 , または停止条件によりクリアされます。
[bit0] ADT(Address Data Transfer)
このビットは , アドレスデータ転送の検出を表示します。
0
受信データはアドレスデータではない ( あるいはバスが使用中では
ない )
1
受信データはアドレスデータである
このビットは , 起動条件により "1" に設定されます。書込みアクセスを伴う 10 ビッ
トスレーブアドレスヘッダが検出された場合は , 第 2 バイトの後にクリアされます。
それ以外の場合は , 第 1 バイトの後にクリアされます。
「第 1/ 第 2 バイトの後」が意味するものは , 以下のとおりです。
• マスタ割込み中 (IBCR2 の MSS=1, INT=1) に , MSS ビットに "0" が書き込まれます。
• マスタ割込み中 (IBCR2 の MSS=1, INT=1) に , SCC ビットに "1" が書き込まれます。
• INT ビットはクリアされます。
• インタフェースがマスタ , またはスレーブとして現在の転送に関わっていない場合
は , すべてのバイト転送が開始されます。
494
第 18 章 I2C インタフェース (400 kHz)
18.2.3
10 ビットスレーブアドレスレジスタ (ITBA)
10 ビットスレーブアドレスレジスタ (ITBA) の機能について説明します。
■ 10 ビットスレーブアドレスレジスタ (ITBA) の機能
このレジスタ (ITBAH/ITBAL) は , 10 ビットスレーブアドレスを指定します。
インタフェースが禁止されている場合 (ICCR2 の EN=0) にのみ , このレジスタへの書込
みアクセスが可能です。
図 18.2-4 に , 10 ビットスレーブアドレスレジスタ (ITBA) のビット構成を示します。
図 18.2-4 10 ビットスレーブアドレスレジスタ (ITBA) のビット構成
10 ビットスレーブアドレス上位バイト
bit15
14
13
12
11
10
9
8
アドレス :00000186H
−
−
−
−
−
−
TA9
TA8
読出し / 書込み→
(-)
(-)
(-)
(-)
(-)
(-)
(R/W)
(R/W)
初期値→
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
ITBAH
10 ビットスレーブアドレス下位バイト
アドレス : 00000187H
読出し / 書込み→
初期値→
bit7
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)
ITBAL
10 ビットスレーブアドレスレジスタ (ITBA) の各ビットの機能を , 以下に説明します。
[bit15 ∼ bit10] 未使用ビット
これらのビットは , 常に "0" が読み出されます。
[bit9 ∼ bit0] TBA(Ten Bit slave Address) : 10 ビットスレーブアドレス (TA9 ∼ TA0)
アドレスデータをスレーブモードで受信する場合に , 10 ビットアドレスが許可
(ITMK レジスタの ENTB=1) されていれば , ITBA レジスタと比較されます。書込み
アクセスを伴う 10 ビットアドレスヘッダ *1 を受信後 , マスタにアクノリッジが送
信されます。次に , 2 番目の入着バイトが ITBA レジスタと比較されます。一致が検
出されると , マスタデバイスにアクノリッジ信号が送信され , AAS ビットが設定さ
れます。
また , 再起動条件の後 , 読出しアクセスを伴う 10 ビットヘッダ *2 を受信すると , イ
ンタフェースは肯定応答を発生します。
スレーブアドレスのすべてのビットは , ITMK レジスタを使用することでマスクで
きます。受信された 10 ビットスレーブアドレスは , ITBA レジスタに書き戻されま
すが , IBSR2 レジスタの AAS ビットが "1" である場合のみ , 有効となります。
*1
: 10 ビットヘッダ ( 書込みアクセス ) のビット順序は , 11110, TA9, TA8, 0 で構成
されます。
*
2 : 10 ビットヘッダ ( 読込みアクセス ) のビット順序は , 11110, TA9, TA8, 1 で構成
されます。
495
第 18 章 I2C インタフェース (400 kHz)
18.2.4
10 ビットスレーブアドレスマスクレジスタ (ITMK)
この項では , 10 ビットスレーブアドレスマスクレジスタ (ITMK) の機能について説明
します。
■ 10 ビットスレーブアドレスマスクレジスタ (ITMK) の機能
このレジスタには , 10 ビットスレーブアドレスマスクと 10 ビットスレーブアドレス許
可ビットが含まれています。
図 18.2-5 に , 10 ビットスレーブアドレスマスクレジスタ (ITMK) のビット構成を示し
ます。
図 18.2-5 10 ビットスレーブアドレスマスクレジスタ (ITMK) のビット構成
10 ビットスレーブアドレスマスク上位バイト
bit15
14
13
12
11
10
9
8
アドレス : 00000188H
ENTB
RAL
−
−
−
−
TM9
TM8
読出し / 書込み→
(R/W)
(R)
(-)
(-)
(-)
(-)
(R/W)
(R/W)
(0)
(0)
(1)
(1)
(1)
(1)
(1)
(1)
初期値→
ITMKH
10 ビットスレーブアドレスマスク下位バイト
bit7
6
5
4
3
2
1
0
アドレス :00000189H
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
[bit15] ENTB(ENable Ten Bit slave address) : 10 ビットスレーブアドレス許可
このビットは , 10 ビットスレーブアドレス ( およびその受信応答 ) を許可します。
インタフェースが禁止されている場合 (ICCR2 の EN=0) にのみ , このビットへの書
込みアクセスが可能です。
0
10 ビットスレーブアドレス禁止
1
10 ビットスレーブアドレス許可
[bit14] RAL(Received slave Address Length) : 受信スレーブアドレス長
このビットは , インタフェースが 7 ビット , または 10 ビットのスレーブとしてアド
レス指定されたかどうかを示します。このビットは , 読出し専用です。
0
7 ビットスレーブとしてアドレス指定
1
10 ビットスレーブとしてアドレス指定
このビットを使用して , 7 ビット , 10 ビット両方のスレーブアドレスが許可されて
いる場合 (ENTB =1, ENSB=1) に , インタフェースが 7 ビット , または 10 ビットのス
496
第 18 章 I2C インタフェース (400 kHz)
レーブとしてアドレス指定されたかどうかを判断できます。IBSR2 レジスタの AAS
ビットが "1" である場合にのみ , この内容は有効になります。インタフェースが禁
止される (ICCR2 の EN=0) と , このビットもリセットされます。
[bit13 ∼ bit10] 未使用ビット
これらのビットは , 常に "1" が読み出されます。
[bit9 ∼ bit0] TMK(Ten bit slave address MasK) :
10 ビットスレーブアドレスマスク
(TM9 ∼ TM0)
このレジスタを使用して , インタフェースの 10 ビットスレーブアドレスをマスクし
ます。
インタフェースが禁止されている場合 (ICCR2 の EN=0) にのみ , これらのビッ
トへの書込みアクセスが可能になります。
0
スレーブアドレス比較でビットを使用しない
1
スレーブアドレス比較でビットを使用
このビットを使用して , 複数の 10 ビットスレーブアドレスをインタフェースに確認
させることができます。このレジスタで "1" に設定されたビットだけが , 10 ビット
スレーブアドレス比較で使用されます。受信したスレーブアドレスは ITBA レジス
タに書き戻されるので , IBSR2 レジスタの AAS ビットが "1" のとき ITBA レジスタ
を読み出すことにより決定されます。
<注意事項>
インタフェースが許可された後にアドレスマスクを変更すると , 以前受信したス
レーブアドレスによって上書きされることがあるので , スレーブアドレスも再設定
する必要があります。
497
第 18 章 I2C インタフェース (400 kHz)
18.2.5
7 ビットスレーブアドレスレジスタ (ISBA)
この項では , 7 ビットスレーブアドレスレジスタ (ISBA) の機能について説明します。
■ 7 ビットスレーブアドレスレジスタ (ISBA) の機能
このレジスタは , 7 ビットスレーブアドレスを指定します。
インタフェースが禁止されている場合 (ICCR2 の EN=0) にのみ , このレジスタへの書込
みアクセスが可能です。
図 18.2-6 に , 7 ビットスレーブアドレスレジスタ (ISBA) のビット構成を示します。
図 18.2-6 7 ビットスレーブアドレスレジスタ (ISBA) のビット構成
7 ビットスレーブアドレスレジスタ
bit7
6
5
4
3
2
1
0
アドレス :0000018BH
−
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)
(0)
ISBA
[bit7] 未使用ビット
このビットは , 常に "0" が読み出されます。
[bit6 ∼ bit0] (Seven bit slave Address) : 7 ビットスレーブアドレス (SA6 ∼ SA0)
アドレスデータはスレーブモードで受信する場合に , 7 ビットアドレスが許可され
ていれば (ISMK レジスタの ENSB=1), ISBA レジスタと比較されます。一致が検出
されると , マスタデバイスにアクノリッジ信号が送信され , AAS ビットが設定され
ます。
スレーブアドレスのすべてのビットは, ISMKレジスタを使用することによりマスク
できます。受信された 7 ビットスレーブアドレスは ISBA レジスタに書き戻され ,
IBSR2 レジスタの AAS ビットが "1" である場合にのみ , 有効となります。
10 ビットヘッダ , または汎用コールを受信した場合には , インタフェースは受信
データとこのレジスタの内容を比較しません。
498
第 18 章 I2C インタフェース (400 kHz)
18.2.6
7 ビットスレーブアドレスマスクレジスタ (ISMK)
この項では , 7 ビットスレーブアドレスマスクレジスタ (ISMK) の機能について説明
します。
■ 7 ビットスレーブアドレスマスクレジスタ (ISMK) の機能
このレジスタには , 7 ビットスレーブアドレスマスクと 7 ビットモード許可ビットが含
まれています。インタフェースが禁止されている場合 (ICCR2 の EN=0) にのみ , このレ
ジスタへの書込みアクセスが可能です。
図 18.2-7 に , 7 ビットスレーブアドレスマスクレジスタ (ISMK) のビット構成を示しま
す。
図 18.2-7 7 ビットスレーブアドレスマスクレジスタ (ISMK) のビット構成
7 ビットスレーブアドレスマスクレジスタ
bit15
14
13
12
11
10
9
8
アドレス :0000018AH
ENSB
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)
初期値→
ISMK
7 ビットスレーブアドレスマスクレジスタ (ISMK) の各ビットの機能を , 以下に説明し
ます。
[bit15] ENSB(ENable Seven Bit slave Address) : 7 ビットスレーブアドレス許可
このビットは , 7 ビットスレーブアドレス ( およびその受信応答 ) を許可します。
0
7 ビットスレーブアドレス禁止
1
7 ビットスレーブアドレス許可
[bit14 ∼ bit8] SMK(Seven bit slave address MasK) :
7 ビットスレーブアドレスマスク
(SM6 ∼ SM0)
このレジスタは , インタフェースの 7 ビットスレーブアドレスをマスクするために
使用します。
0
スレーブアドレス比較でビットを使用しない
1
スレーブアドレス比較でビットを使用
このビットを使用して , 複数の 7 ビットスレーブアドレスをインタフェースに確認
させることができます。このレジスタで "1" に設定されたビットだけが , 7 ビットス
レーブアドレス比較で使用されます。受信したスレーブアドレスは ISBA レジスタ
に書き戻されるので , IBSR2 レジスタの AAS ビットが "1" のとき , ISBA レジスタを
読み出すことによって決定されます。
499
第 18 章 I2C インタフェース (400 kHz)
<注意事項>
500
インタフェースが許可された後にアドレスマスクを変更すると , 以前受信したス
レーブアドレスによって上書きされることがあるので , スレーブアドレスも再設定
する必要があります。
第 18 章 I2C インタフェース (400 kHz)
18.2.7
データレジスタ (IDARH, IDAR2)
この項では , データレジスタ (IDARH2) の機能について説明します。
■ データレジスタ (IDARH2) の機能
データレジスタ (IDARH2) は , シリアルデータ転送に使用されます。
図 18.2-8 に , データレジスタ (IDARH2) のビット構成を示します。
図 18.2-8 データレジスタ (IDARH2) のビット構成
データレジスタ上位バイト
bit15
14
13
12
11
10
9
8
アドレス :0000018CH
−
−
−
−
−
−
−
−
読出し / 書込み→
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
初期値→
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
bit7
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)
IDARH
データレジスタ
アドレス :0000018DH
読出し / 書込み→
初期値→
IDARH2
データレジスタ (IDARH2) のビット機能を , 以下に説明します。
[bit15 ∼ bit8] 未使用ビット
これらのビットは , 常に "0" が読み出されます。
[bit7 ∼ bit0] データビット (D7 ∼ D0)
データレジスタはシリアルデータ転送に使用され , MSB のデータを最初に転送しま
す。このレジスタは , 書込み側で 2 つのバッファに格納されるので , バスの使用中
(BB=1), 書込みデータをシリアル転送用にレジスタへロードすることができます。
IBCR2 レジスタの INT ビットがクリアされているか , またはバスがアイドルの場合
(IBSR2 の BB=0) に , データバイトは内部転送レジスタにロードされます。読出しア
クセスの場合は , 内部レジスタは直接読み出されます。そのため , IBCR2 レジスタ
の INT=1 の場合にのみ , このレジスタ内の受信データ値が有効になります。
501
第 18 章 I2C インタフェース (400 kHz)
18.2.8
クロック制御レジスタ (ICCR2)
この項では , クロック制御レジスタ (ICCR2) の機能について説明します。
■ クロック制御レジスタ (ICCR2) の機能
クロック制御レジスタ (ICCR2) には , 以下の機能があります。
• テストモード許可
• IO パッドノイズフィルタ許可
• I2C インタフェース動作許可
• シリアルクロック周波数設定
図 18.2-9 に , クロック制御レジスタ (ICCR2) のビット構成を示します。
図 18.2-9 クロック制御レジスタ (ICCR2) のビット構成
クロック制御レジスタ
bit15
14
13
12
11
10
9
8
アドレス :0000018EH
−
NSF
EN
CS4
CS3
CS2
CS1
CS0
読出し / 書込み→
(-)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値→
(0)
(0)
(0)
(1)
(1)
(1)
(1)
(1)
ICCR2
クロック制御レジスタ (ICCR2) の各ビットの機能を , 以下に説明します。
[bit15] 未使用ビット
このビットは , 常に "0" が読み出されます。
[bit14] IO パッドノイズフィルタ許可
このビットは , SDA, および SCL IO パッドに組み込まれたノイズフィルタを許可し
ます。このノイズフィルタは , パルス幅 最小 0ns から R- バスの最大 1 ∼ 1.5 サイク
ルまでのシングルスパイクを抑制します。抑制できる最大のスパイク波は , I2C の
信号 (SDA, SCL) と R- バスクロックの間の位相関係となります。インタフェースが
100K ビットを超えるデータ伝送速度で送受信している場合には , このビットを "1"
に設定する必要があります。
[bit13] EN(Enable)
このビットは , I2C インタフェースの動作を許可します。このビットを設定できる
のはユーザだけです。クリアは , ユーザだけでなくハードウェアでも行うことがで
きます。
0
インタフェース禁止
1
インタフェース許可
このビットを "0" に設定すると , IBSR2 レジスタと IBCR2 レジスタのすべてのビッ
ト (BER ビットと BEIE ビットは除く ) がクリアされます。モジュールは禁止され ,
I2C ラインはオープンのままになります。バスエラーが発生 (IBCR2 の BER=1) する
と , ハードウェアによってクリアされます。
502
第 18 章 I2C インタフェース (400 kHz)
<注意事項>
インタフェースが禁止されると , 送受信は直ちに停止されます。この場合 , I2C バス
が好ましくない状態に置かれることがあります。
[bit12 ∼ bit8] CS4 ∼ CS0(Clock preScaler)
これらのビットは , シリアルビット転送速度を選択します。このビットは , 同一書
込みアクセスでインタフェースが禁止される (EN=0) か , EN ビットをクリアする場
合に限り , 変更することができます。
これは次式により決まります。
ビット転送速度 = φ / (n × 12 + 18)
ノイズフィルタ禁止
n>0, φ : R- バスクロック CLKP (DIVR0 レジスタにより設定 )
ビット転送速度 = φ / (n × 12 + 19(+1))
ノイズフィルタ許可
n>0, φ : R- バスクロック CLKP (DIVR0 レジスタにより設定 )
(+1) : ノイズフィルタによって引き起こされる誤差
<注意事項>
ノイズ・フィルタに対応し ( 外部信号と内部クロックの関係に応じて遅延が異なる ) ,
2 番目の方程式では , (12n + 19) ∼ (12n + 20) の間の数値で割られます。
■ プリスケーラの設定
表 18.2-1 に , プリスケーラの設定内容を示します。
表 18.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
1
1
1
・・・
31
1
1
( 注意事項 ) プリスケーラの設定で , n=0 は SDA/SCL タイミングに違反するので使用しないでくだ
さい。
表 18.2-2 は , 一般的な R- バス・クロック設定での SCL 周波数の測定結果と , 100 K ビッ
ト動作および 400 K ビット動作での関連プリスケーラの推奨設定です。
503
第 18 章 I2C インタフェース (400 kHz)
表 18.2-2 プリスケーラ設定値と送信ビット転送速度の関係
100K ビット
( ノイズフィルタ禁止 )
R バスクロック
(CLKP)[MHz]
n
400K ビット
( ノイズフィルタ許可 )
ビット転送速度 [K ビット ]
32
<注意事項>
n
ビット転送速度 [K ビット ]
5
387.5
24
19
97.5
4
352.5
16
12
98
2
372
8
6
89
1
266.5
測定値は , 最新の 8 サイクル分の転送分析に基づいて決定されています。これは ,
全アドレスまたはデータ転送の初回サイクルが , 他のサイクルより長くかかるため
です。具体的には , アドレス転送の場合 , 初回サイクルは他のサイクルよりもプリ
スケーラの 3 カウント分長くかかります。データ転送の場合は , プリスケーラの 4
カウント分長くかかります ( 下図参照 ) 。
■ SCL 波形
図 18.2-10 SCL 波形
アドレス送信
9
6
7
5
7
5
データ送信
9
7
5
7
5
7
時間単位:プリスケーラ サイクル
図 18.2-10 は , アドレスおよびデータ・ビット送信時の波形図です。図内のタイミング
は , プリスケーラ・カウントです ( たとえば , 9 は , R バス・クロックに基づき , プリス
ケーラが 9 回カウントしたことを意味します ) 。図内のタイミングは , SCL タイミング
が , I2C バス上の他のデバイスからの影響を受けていないことを想定しています。
504
第 18 章 I2C インタフェース (400 kHz)
クロック禁止レジスタ (IDBL2)
18.2.9
この項では , クロック禁止レジスタ (IDBL2) の機能について説明します。
■ クロック禁止レジスタ (IDBL2) の機能
クロック禁止レジスタ (IDBL2) は , I2C モジュール用のクロック供給を制御するために
使用します。
図 18.2-11 に , クロック禁止レジスタ (IDBL2) のビット構成を示します。
図 18.2-11 クロック禁止レジスタ (IDBL2) のビット構成
クロック禁止レジスタ
bit7
6
5
4
3
2
1
0
アドレス : 0000018FH
−
−
−
−
−
−
−
DBL
読出し / 書込み→
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(R/W)
初期値→
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
IDBL2
クロック禁止レジスタ (IDBL2) のビットの機能を , 以下に説明します。
[bit0] DBL クロック禁止
このビットは , I2C モジュール用のクロック供給を制御するために使用します。こ
のビットが "1" の場合は , モジュールへのクロック供給が禁止され ( 節電のためな
ど ), I2C ラインはオープンのままになります。このビットは , リセットにより "0" に
初期化されます。
<注意事項>
このビットによりクロック供給を禁止すると , インタフェースは直ちに信号の送受
信を停止します。これにより , I2C バスが好ましくない状態に置かれることがあり
ます。
DBL ビットによりインタフェースを禁止 (DBL=1) すると , IDBL2 を除く I2C レジスタ
への読出しアクセスは未定義の値を返し , IDBL2 を除くすべての I2C レジスタへの書込
みアクセスは効果がなくなります。
505
第 18 章 I2C インタフェース (400 kHz)
18.3
I2C インタフェースの動作
I2C バスは , 2 本の双方向バスライン , シリアルデータライン (SDA), およびシリアル
クロックライン (SCL) を使用して通信を実行します。I2C インタフェースには , これ
らのラインに対応する 2 本のオープンドレイン I/O 端子 (SDA/SCL) があり , 布線論
理アプリケーションを使用できます。
■ 起動条件
バスが解放されているとき (IBSR2 の BB=0, IBCR2 の MSS=0), MSS ビットに "1" を書
き込むと , I2C インタフェースはマスタモードに入り , 起動条件を発生します。
バスのアイドル時 (MSS=0, BB=0) に "1" を書き込むと , 起動条件が発生し , IDAR2 レジ
スタの内容 ( アドレスデータ ) が送信されます。
バスがマスタモードで割込み状態のとき (IBCR2 の MSS=1, INT=1) に SCC ビットに "1"
を書き込むと , 再起動条件を発生できます。
バスの使用中 (IBSR2 の BB=1, TRX=0;IBCR2 の MSS=0, INT=0) に MSS ビットに "1" を
書き込むと , インタフェースはバスが解放されるまで待機して , 送信を開始します。
インタフェースを , その間に書込みアクセス ( データ受信 ) を伴うスレーブとしてアド
レス指定した場合は , 転送が終了しバスが再度解放されてから送信が開始されます。イ
ンタフェースがその間スレーブとしてデータを送信している場合には , バスが再度解
放されてもデータ送信を開始しません。次の割込み時に , インタフェースがスレーブと
してアドレス指定されたか (IBCR2 の MSS=0, IBSR2 の AAS=1), データバイトの送信に
成功したか(IBCR2のMSS=1), データバイトの送信に失敗したかどうか(IBSR2のAL=1)
をチェックすることが必要です。
他の状態で MSS ビット , または SCC ビットに "1" を書き込んでも意味を持ちません。
■ 停止状態
マスタモード (IBCR2 の MSS=1, INT=1) で MSS ビットに "0" を書き込むと停止条件が
発生し , デバイスはスレーブモードに移行します。他の状態で MSS ビットに "1" を書
き込んでも意味を持ちません。
MSSビットをクリアすると, インタフェースは停止条件を発生しようとしますが, 停止
条件が発生する前に別のマスタが SCL ラインをローに変えると , 停止条件の発生に失
敗します。この場合 , 次のバイトが転送された後で割込みが発生します。
■ スレーブアドレス検出
スレーブモードで起動条件が発生すると , BB は "1" に設定され , マスタデバイスから
送信されたデータは IDAR2 レジスタに受信されます。
8 ビットを受信した後 , ISMK レジスタの ENSB ビットが "1" である場合は , ISMK に格
納されたビットマスクが使用され , IDAR2 レジスタの内容が ISBA レジスタと比較され
ます。一致した場合は , AAS ビットは "1" に設定され , アクノリッジ信号がマスタに送
信されます。次に , 受信データの bit0(IDAR2 レジスタの bit0) が反転され , TRX ビット
に格納されます。
506
第 18 章 I2C インタフェース (400 kHz)
ITMK レジスタ内の ENTB ビットが "1" であり , 10 ビットアドレスヘッダ (11110, TA1,
TA0, 書込みアクセス ) が検出された場合は , インタフェースはアクノリッジ信号をマ
スタに送信し , 反転された最後のデータビットを TRX レジスタに格納します。割込み
は発生しません。次に転送されたバイトは (ITMK に格納されたビットマスクを使用し
て )ITBA レジスタの下位バイトと比較されます。一致した場合は , アクノリッジ信号
がマスタに送信され , AAS ビットが設定され , 割込みが発生します。
インタフェースがスレーブとしてアドレス指定され , 再起動条件を検出した場合は , 10
ビットアドレスヘッダ (11110, TA1, TA0, 読出しアクセス ) の受信後に AAS ビットが設
定され , 割込みが発生します。
10 ビット , および 7 ビットのアドレスとそのビットマスクには個別のレジスタがあるの
で , (ISMK の )ENSB ビットと (ITMK の )ENTB ビットを設定することにより , 両方のア
ドレスをインタフェースに確認させることができます。ITMK レジスタの RAL ビット
(AAS ビットが設定されている場合のみ , このビットが有効 ) を読み出すことにより , 受
信したスレーブアドレス長 (7 ビットまたは 10 ビット ) を判断できます。
また , インタフェースをマスタとしてのみ使用する場合は , 両方のビットを "0" に設定
することにより , インタフェースにスレーブアドレスを与えないことも可能です。
すべてのスレーブアドレスビットは , 対応するマスクレジスタ (ITMK, または ISMK) で
マスクできます。
■ スレーブアドレスマスク
マスクレジスタ (ITMK/ISMK) で "1" に設定したビットだけがアドレス比較のために使
用され , 他のビットはすべて無視されます。受信したスレーブアドレスは , IBSR2 レジ
スタのAASビットが"1"であれば, ITBAレジスタ(10ビットアドレス受信では, RAL=1),
または ISBA レジスタ (7 ビットアドレス受信では , RAL=0) から読み出すことができま
す。
ビットマスクがクリアされた場合には , インタフェースは常にスレーブとしてアドレ
ス指定されるので , バスモニタとして使用することができます。これは , 他にリスナー
スレーブがない場合でも , あらゆるスレーブアドレスの受信に対して肯定応答するた
め , 実際のバスモニタではないことに注意してください。
■ スレーブアドレッシング
マスタモードで起動条件が発生すると , BB ビットと TRX ビットは "1" に設定され ,
IDAR2 レジスタの内容は MSB 順で送信されます。アドレスデータの送信後にスレー
ブデバイスからアクノリッジ信号を受信すると , 送信データの bit0( 送信後の IDAR2 レ
ジスタの bit0) は反転され , TRX ビットに格納されます。スレーブの応答は , IBSR2 レ
ジスタの LRB ビットを使用してチェックできます。この手順は , 再起動条件にも当て
はまります。
書込みアクセスのために 10 ビットスレーブをアドレス指定するには , 2 バイトを送信
する必要があります。最初のバイトは , ビットシーケンス "1 1 1 1 0 A9 A8 0" から構成
される 10 ビットアドレスヘッダであり , 10 ビットスレーブアドレスの下位 8 ビット
(A7 ∼ A0) を含む 2 番目のバイトが続きます。
上記のバイトシーケンスを送信すると , ビットスレーブが読出しアクセスされ , 読出し
アクセス(1 1 1 1 0 A9 A8 1)を伴う10ビットアドレスヘッダによって再起動条件(IBCR2
の SCC ビット ) が続きます。
507
第 18 章 I2C インタフェース (400 kHz)
アドレスデータバイトをまとめると , 次のようになります。
•
7 ビットスレーブ , 書込みアクセス : 起動条件 - A6 A5 A4 A3 A2 A1 A0 0
•
7 ビットスレーブ , 読出しアクセス : 起動条件 - A6 A5 A4 A3 A2 A1 A0 1
• 10 ビットスレーブ , 書込みアクセス : 起動条件 - 1 1 1 1 0 A9 A8 0 - A7 A6 A5 A4
A3 A2 A1 A0
• 10 ビットスレーブ , 読出しアクセス : 起動条件 - 1 1 1 1 0 A9 A81 - A7 A6 A5 A4 A3
A2 A1 A0 - 再起動 - 1 1 1 1 0 A9 A8 1
■ 調停 / マルチマスタ動作
マルチマスタ動作でのバス調停は, MB91360シリーズの製品ではサポートしていません。
■ アクノリッジ
アクノリッジビットは , 受信側から送信側に送信されます。IBCR2 レジスタの ACK
ビットを使用して , データバイトを受信したときに , アクノリッジを送信するかどうか
を選択できます。
データをスレーブモードで送信 ( 別のマスタからの読出しアクセス ) しても , マスタか
らのアクノリッジが受信されない場合は , TRX ビットが "0" に設定され , デバイスは受
信モードに移行します。これにより , スレーブが SCL ラインを解放したらすぐ , マス
タは停止条件を発生できます。
マスタモードでは , IBSR2 レジスタの LRB ビットを読み出すことにより , スレーブに
よるアクノリッジをチェックできます。
508
第 18 章 I2C インタフェース (400 kHz)
18.4
プログラミングフローチャート
I2C インタフェース (400 kHz) モジュールを使用するための , 送信 , および受信のプ
ログラミング例を示します。
■ スレーブのアドレッシングとデータ送信の例
図 18.4-1 に , スレーブのアドレッシングとデータ送信例のフローチャートを示します。
図 18.4-1 スレーブのアドレッシングとデータ送信例のフローチャート
7ビットスレーブのアドレシング
データ送信
開始
開始
書き込み用スレーブを
アドレス指定
BERビットをクリア
(設定されている場合);
インタフェース許可 EN: = 1;
IDAR2:= データバイト;
INT: = 0
IDAR2: = sl.address<<1+RW;
MSS : = 1; INT : = 0
INT=1?
NO
NO
INT=1?
YES
YES
YES
BER = 1?
YES
バスエラー
BER = 1?
NO
NO
AL = 1?
YES
ACK?
NO
(LRB = 0?)
転送再開
AASか
どうかを
チェック
AL = 1?
YES
転送再開
AASか
どうかを
チェック
NO
ACK?
NO
(LRB = 0?)
YES
YES
データ送信準備完了
最終バイト
を伝送
したか?
YES
NO
スレーブからACKなし
再起動条件
または停止条件を発生
転送終了
再起動条件
または停止条件を発生
509
第 18 章 I2C インタフェース (400 kHz)
■ データ受信の例
図 18.4-2 に , データ受信例のフローチャートを示します。
図 18.4-2 データ受信例のフローチャート
開始
読出し用スレーブをアドレス指定
IBCR2のACKビットがスレーブから
読み出す最後のバイトであった場
合は,このビットをクリアする;
INT: = 0
INT = 1?
NO
YES
BER = 1?
YES
NO
NO
最終バイト
を伝送
したか?
YES
転送終了
再起動条件
または停止条件を発生
510
バスエラー
第 18 章 I2C インタフェース (400 kHz)
■ 割込みハンドラの例
図 18.4-3 に , 割込みハンドラの例のフローチャートを示します。
図 18.4-3 割込みハンドラの例のフローチャート
開始
INT=1?
ほかのモジュー
ルからの割込み
受信
NO
YES
BER = 1?
バスエラー
YES
NO
GCA = 1?
NO
NO
YES
転送失敗を記憶
して再試行
AAS = 1?
YES
スレーブとして
の汎用コール
YES
AL = 1?
AL = 1?
NO
NO
LRB = 1?
YES
次のINTで新しい
データ転送を開始
必要に応じてACK
ビットを変更
YES
YES
ADT = 1?
NO
NO
TRX = 1?
TRX = 1?
調停消失
転送再開
スレーブから
ACKなし
再起動条件
または
停止条件を
発生
YES
YES
NO
NO
IDAR2レジスタからの
受信バイトを読み出す
必要に応じてACK
ビットを変更
次に送信するバイト
をIDAR2レジスタに
入れる
IDAR2レジスタからの
受信バイトを読み出
す必要に応じてACK
ビットを変更
次に送信するバイト
をIDAR2レジスタに
入れるか,または
MSSをクリアする
INTビットをクリア
ISRの終了
511
第 18 章 I2C インタフェース (400 kHz)
512
第 19 章
16 ビット I/O タイマ
MB91360 シリーズには , 2 つの 16 ビットフリーラ
ンタイマモジュール , 2 つのアウトプットコンペア
モジュール , および 2 つのインプットキャプチャモ
ジュールが含まれ , 4 つの入力チャネルと 4 つの出
力チャネルをサポートしています。ここでは , 16
ビットフリーランタイマ , アウトプット 0/1, およ
びインプットキャプチャ 0/1 についてのみ説明しま
す。
これら以外のモジュールは同一の機能を持ち , その
レジスタアドレスは I/O マップにあります。
19.1 16 ビット I/O タイマの概要
19.2 16 ビット I/O タイマのレジスタ
19.3 16 ビット I/O タイマの動作
19.4 動作タイミング
513
第 19 章 16 ビット I/O タイマ
19.1
16 ビット I/O タイマの概要
16 ビット I/O タイマは , 16 ビットフリーランタイマ , アウトプットコンペアモ
ジュール , およびインプットキャプチャモジュールから構成されています。
ここでは , 16 ビット I/O タイマの機能概要について説明します。
■ 16 ビット I/O タイマの機能
以下に , 16 ビットフリーランタイマ , アウトプットコンペアモジュール , およびイン
プットキャプチャモジュールの機能概要を説明します。
● 16 ビットフリーランタイマ
16 ビットフリーランタイマは , 16 ビットアップカウンタ , データレジスタ , 制御ステー
タスレジスタ , およびプリスケーラで構成されます。このタイマカウンタの出力値は ,
インプットキャプチャモジュール , およびアウトプットコンペアモジュールの基本タ
イマとして使用されます。
• 4 つのカウンタクロックが使用可能です。
- φ= 周辺機器用クロック (CLKP): φ/4, φ/16, φ/32, φ/64
• カウンタオーバフローやコンペアレジスタ 0 との一致で割込みを発生できます。
• リセット , ソフトウェアクリア , またはコンペアレジスタ 0 との一致でカウンタ値
を "0000H" に初期化できます。
● アウトプットコンペアモジュール ( 各モジュールに 2 チャネル )
アウトプットコンペアモジュールは , 2 つの 16 ビットコンペアレジスタ , 比較出力ラッ
チ , および制御ステータスレジスタで構成されます。16 ビットフリーランタイマ値が
コンペアレジスタ値と一致すると , 出力レベルが反転し , 割込みが発生します。
• 2 つのコンペアレジスタは独立して使用できます。
- コンペアレジスタに対応する出力端子 , および割込みフラグ
• 出力端子は , 2 つのコンペアレジスタのペアに基づいて制御できます。出力端子は 2
つのコンペアレジスタによって反転できます。
• 出力端子の初期値が設定できます。
• 比較が一致すると , 割込みを発生します。
● インプットキャプチャモジュール ( 各モジュールに 2 チャネル )
インプットキャプチャモジュールは , 2 つの独立した外部入力端子に対応する , 16 ビッ
トインプットキャプチャデータレジスタ , 制御ステータスレジスタ , および禁止レジス
タで構成されます。16 ビットフリーランタイマの値をキャプチャレジスタに記憶でき ,
外部入力端子からの信号入力のエッジ検出と同時に割込みを発生します。
• 外部入力信号の検出エッジを指定できます。
- 立上り , 立下り , あるいは両方のエッジ
• 2 つの入力チャネルは独立した動作が可能です。
• 外部入力信号の有効エッジで割込みを発生できます。
514
第 19 章 16 ビット I/O タイマ
■ 16 ビット I/O タイマのブロックダイヤグラム
図 19.1-1 に , 16 ビット I/O タイマのブロックダイヤグラムを示します。
図 19.1-1 16 ビット I/O タイマのブロックダイヤグラム
制御ロジック
各
ブ
ロ
ッ
ク
へ
割込み
16ビットフリーランタイマ
16ビットタイマ
クリア
アウトプットコンペア0
コンペアレジスタ0
バ
ス アウトプットコンペア1
コンペアレジスタ1
T
Q
OUT0
T
Q
OUT1
エッジ選択
IN0
エッジ選択
IN1
インプットキャプチャ0
キャプチャレジスタ0
インプットキャプチャ1
キャプチャレジスタ1
515
第 19 章 16 ビット I/O タイマ
19.2
16 ビット I/O タイマのレジスタ
16 ビット I/O タイマで使用するレジスタの機能について説明します。
■ 16 ビット I/O タイマのレジスタ一覧
16 ビット I/O タイマは , 16 ビットフリーランタイマ , アウトプットコンペアモジュー
ル , およびインプットキャプチャモジュールの 3 つのブロックから構成されています。
各ブロックのレジスタ一覧を , 図 19.2-1 に示します。
図 19.2-1 16 ビット I/O タイマのレジスタ一覧
タイマデータレジスタ (TCDT)
bit
15
14
13
12
11
10
9
8
アドレス : 000000C8H/000000CCH
T15
T14
T13
T12
T11
T10
T09
T08
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
読出し / 書込み→ (R/W)
初期値→
bit
アドレス : 000000C9H/000000CDH
(X)
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)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
7
6
5
4
3
2
1
0
予備
IVF
IVFE
STOP
MODE
CLR
CLK1
CLK0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(-)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
15
C15
14
C14
13
C13
12
C12
11
C11
10
C10
9
C09
8
C08
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
読出し / 書込み→ (R/W)
初期値→
制御ステータスレジスタ (TCCS)
bit
アドレス : 000000CBH/000000CFH
読出し / 書込み→ (R/W)
初期値→
コンペアレジスタ (OCCP)
bit
アドレス : 000000BCH/000000CEH
000000C0H/000000C2H
読出し / 書込み→ (R/W)
初期値→
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
bit
7
C07
6
C06
5
C05
4
C04
3
C03
2
C02
1
C01
0
C00
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
アドレス : 000000BDH/000000CFH
000000C1H/000000C3H
読出し / 書込み→ (R/W)
初期値→
(X)
( 続く )
516
第 19 章 16 ビット I/O タイマ
( 続き )
制御ステータスレジスタ (OCS)
bit
15
14
アドレス : 000000B8H
13
12
11
−
読出し / 書込み→
(-)
−
−
CMOD
(-)
(-)
(R/W)
初期値→
(-)
(-)
(-)
bit
7
6
アドレス : 000000B9H ICP1
読出し / 書込み→ (R/W)
初期値→
(0)
10
9
8
−
−
OTD1
OTD0
(-)
(-)
(R/W)
(R/W)
(0)
(-)
(-)
(0)
(0)
5
4
3
2
1
0
ICP0
ICE1
ICE0
−
−
CST1
CST0
(R/W)
(R/W)
(R/W)
(-)
(-)
(R/W)
(R/W)
(0)
(0)
(0)
(-)
(-)
(0)
(0)
14
CP14
13
CP13
12
CP12
11
CP11
10
CP10
9
CP09
8
CP08
キャプチャレジスタ (IPCP)
bit
15
アドレス : 000000B0H/000000B2H CP15
000000B4H/000000B6H
読出し / 書込み→
(R)
(R)
(R)
(R)
(R)
(R)
(R)
(R)
初期値→
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
6
CP06
5
CP05
4
CP04
3
CP03
2
CP02
1
CP01
0
CP00
bit
7
CP07
アドレス : 000000B1H/000000B3H
000000B5H/000000B7H
読出し / 書込み→
(R)
(R)
(R)
(R)
(R)
(R)
(R)
(R)
初期値→
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
7
6
5
4
3
2
1
0
アドレス : 000000ADH/000000AFH ICP1
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)
bit
7
6
5
4
3
2
1
0
アドレス : 000000ACH/000000AEH
−
−
−
−
−
DBLT
DBLO
DBLI
読出し / 書込み→
(-)
(-)
(-)
(-)
(-)
(R/W)
(R/W)
(R/W)
初期値→
(-)
(-)
(-)
(-)
(-)
(0)
(0)
(0)
制御ステータスレジスタ (ICS)
bit
初期値→
禁止レジスタ (IOTDBL)
517
第 19 章 16 ビット I/O タイマ
16 ビットフリーランタイマ
19.2.1
16 ビットフリーランタイマは , 16 ビットアップカウンタ , およびタイマ制御ステー
タスレジスタで構成されます。本タイマのカウント値は , アウトプットコンペアモ
ジュール , およびインプットキャプチャモジュールの基本タイマとして使用されま
す。
■ 16 ビットフリーランタイマの機能概要
• 4 種類のカウンタクロック周波数が使用可能です。
• カウンタ値のオーバフローで割込みを発生できます。
• モードにより , コンペアレジスタ 0 との一致でカウンタ値を初期化できます。
■ 16 ビットフリーランタイマのブロックダイヤグラム
図 19.2-2 に , 16 ビットフリーランタイマのブロックダイヤグラムを示します。
図 19.2-2 16 ビットフリーランタイマのブロックダイヤグラム
f CLKP
割込み要求
IVF
IVFE STOP
MODE
分周器
CLR CLK1 CLK0
コンパレータ0
バス
16ビットアップカウンタ
クロック
カウント値出力
T15~T00
■ 16 ビットフリーランタイマのレジスタ機能
以下に , 16 ビットフリーランタイマで使用するレジスタの機能を説明します。
● タイマデータレジスタ (TCDT)
図 19.2-3 に , タイマデータレジスタのビット構成を示します。
図 19.2-3 タイマデータレジスタのビット構成
bit
15
14
13
12
11
10
9
8
アドレス : 000000C8H
T15
T14
T13
T12
T11
T10
T09
T08
属性→
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
X
X
X
X
X
X
X
X
初期値→
7
6
5
4
3
2
1
0
アドレス : 000000C9H
bit
T07
T06
T05
T04
T03
T02
T01
T00
属性→
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
X
X
X
X
X
X
X
X
初期値→
518
第 19 章 16 ビット I/O タイマ
タイマデータレジスタで , 16 ビットフリーランタイマのカウント値を読み出すことが
できます。カウント値はリセット時に "0000H" にクリアされます。このレジスタに値
を書き込むことによって , タイマの値を設定できます。ただし , 必ず動作の停止中
(STOP=1) に値を書き込むようにしてください。
タイマデータレジスタのアクセスには , ワード長のアクセス命令を使用します。
16 ビットフリーランタイマは , 次の要因で初期化されます。
• リセット
• 制御ステータスレジスタのクリアビット (CLR)
• コンペアレジスタ 0 とタイマカウンタの値の一致
● 制御ステータスレジスタ (TCCS)
図 19.2-4 に , 制御ステータスレジスタのビット構成を示します。
図 19.2-4 制御ステータスレジスタのビット構成
7
6
5
4
3
2
1
0
アドレス : 000000CBH
bit
予約
IVF
IVFE
STOP
MODE
CLR
CLK1
CLK0
属性→
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
-
0
0
0
0
0
0
0
初期値→
[bit7] 予約ビット
このビットには , 必ず "0" を書き込みます。
[bit6] IVF
このビットは , 16 ビットフリーランタイマの割込み要求フラグです。
16 ビットフリーランタイマがオーバフローした場合 , またはコンペアレジスタ 0 と
の一致でカウンタがクリアされた場合は , このビットが "1" に設定されます。
割込み要求許可ビット (bit5 : IVFE) が設定されている場合は , 割込みが発生します。
このビットは , "0" を書き込むとクリアされます。"1" の書込みは無効です。
リードモディファイライト命令では , 常に "1" が読み出されます。
0
割込み要求なし ( 初期値 )
1
割込み要求あり
[bit5] IVFE
IVFE は , 16 ビットフリーランタイマの割込み許可ビットです。
このビットが "1" のときに割込みフラグ (bit6 : IVF) が "1" に設定されると , 割込み
が発生します。
0
割込み禁止 ( 初期値 )
1
割込み許可
[bit4] STOP
STOP ビットは , 16 ビットフリーランタイマを停止させるときに使用します。
519
第 19 章 16 ビット I/O タイマ
このビットに "1" を書き込むとタイマが停止します。"0" を書き込むとタイマが起
動します。
0
カウンタ許可 ( 動作 )( 初期値 )
1
カウンタ禁止 ( 停止 )
( 注意事項 )
16 ビットフリーランタイマが停止すると , 出力の比較動作が停止し
ます。
[bit3] MODE
MODE ビットで , 16 ビットフリーランタイマのリセット条件を設定します。
"0" を設定すると , カウンタ値は , リセット , またはクリアビット (bit2 : CLR) で初
期化できます。
"1" を設定すると , カウンタ値は , リセット , およびクリアビット (bit2 : CLR) のほ
かに , コンペアレジスタ 0 との一致でも初期化できます。
0
リセットまたはクリアビットによる初期化 ( 初期値 )
1
リセット , クリアビット , またはコンペアレジスタ 0 との一致による
初期化
( 注意事項 )
クリアビット , およびコンペアレジスタとの一致によるタイマの初
期化は , タイマ値が変化したときに行われます。
[bit2] CLR
CLRビットは , 動作中の 16 ビットフリーランタイマの値を "0000H" に初期化します。
"1" に設定すると , カウンタ値は "0000H" に初期化されます。"0" の書込みは無効で
す。このビットの読出し値は常に "0" です。カウンタ値が初期化されるのは , カウ
ント値が変化したときです。
0
無効 ( 初期値 )
1
カウンタ値を "0000H" に初期化
( 注意事項 )
タイマの停止中にカウンタ値を初期化する場合は , データレジスタ
に "0000H" を書き込んでください。
[bit1, bit0] CLK1, CLK0
CLK1, および CLK0 を使用して , 16 ビットフリーランタイマのカウントクロックを
選択します。このビットに値が書き込まれると , クロックは直ちに更新されます。
したがって , このビットに値を書き込む前に , アウトプットコンペア , およびイン
プットキャプチャの動作が停止していることを確認してください。
表 19.2-1 に , CLK1, CLK0 の設定値を示します。
520
第 19 章 16 ビット I/O タイマ
表 19.2-1 CLK1, CLK0 の設定値
CLK1
CLK0
カウントクロック
φ=16 MHz
φ=8 MHz
φ=4 MHz
φ=1 MHz
0
0
φ/4
0.25 µs
0.5 µs
1µs
4µs
0
1
φ/16
1µs
2µs
4µs
16µs
1
0
φ/32
2µs
4µs
8µs
32µs
1
1
φ/64
4µs
8µs
16µs
64µs
φ : 周辺クロック (CLKP)
521
第 19 章 16 ビット I/O タイマ
19.2.2
アウトプットコンペアモジュール
アウトプットコンペアモジュールは , 2 つの 16 ビットコンペアレジスタ , 2 つの比
較出力端子 , および制御レジスタで構成されます。本モジュールのコンペアレジス
タに書き込まれた値が 16 ビットフリーランタイマの値と一致した場合は , 端子の出
力レベルを反転して割込みを発生できます。
■ アウトプットコンペアモジュールの機能概要
• 2 つのコンペアレジスタは , 独立して使用できます。設定に応じて , 2 つのコンペア
レジスタを端子出力の制御に使用できます。
• 端子出力の初期値が指定可能です。
• 比較の結果が一致すれば , 割込みを発生できます。
■ アウトプットコンペアモジュールのブロックダイヤグラム
図 19.2-5 に , アウトプットコンペアモジュールのブロックダイヤグラムを示します。
図 19.2-5 アウトプットコンペアモジュールのブロックダイヤグラム
16ビットタイマカウンタ値(T15~T00)
T
比較制御
Q
OUT0
Q
OUT1
コンペアレジスタ0
16ビットタイマカウンタ値(T15~T00)
バス
比較制御
CMOD
T
コンペアレジスタ1
ICP1 ICP0 ICE1 ICE0
コントローラ
比較1割込み
比較0割込み
制御ブロック
522
第 19 章 16 ビット I/O タイマ
■ アウトプットコンペアモジュールのレジスタ機能
以下に , アウトプットコンペアモジュールで使用するレジスタの機能を説明します。
● コンペアレジスタ (OCCP)
図 19.2-6 に , コンペアレジスタのビット構成を示します。
図 19.2-6 コンペアレジスタのビット構成
bit
000000BCH/000000BEH
15
14
13
12
11
10
9
8
C15
C14
C13
C12
C11
C10
C09
C08
属性→
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
000000BDH/000000BFH
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
初期値→
これらの 16 ビットコンペアレジスタは , 16 ビットフリーランタイマと比較されます。
レジスタの初期値は定義されていませんので , 動作を許可する前に適当な値を設定し
てください。このレジスタのアクセスには , ワード長のアクセス命令を使用してくださ
い。本レジスタの値が 16 ビットフリーランタイマの値と一致すると , 比較信号が発生
し , アウトプットコンペア割込みフラグが設定されます。出力が許可されると , コンペ
アレジスタに対応する出力レベルが反転します。
● 制御ステータスレジスタ (OCS01)
図 19.2-7 に , 制御ステータスレジスタのビット構成を示します。
図 19.2-7 制御ステータスレジスタのビット構成
bit
15
14
13
12
11
10
9
8
アドレス : 000000B8H
−
−
−
CMOD
−
−
OTD1
OTD0
属性→
-
-
-
R/W
-
-
R/W
R/W
初期値→
-
-
-
0
-
-
0
0
bit
7
6
5
4
3
2
1
0
アドレス : 000000B9H
ICP1
ICP0
ICE1
ICE0
−
−
CST1
CST0
属性→
R/W
R/W
R/W
R/W
-
-
R/W
R/W
0
0
0
0
-
-
0
0
初期値→
以下に , 制御ステータスレジスタの各ビットの機能を説明します。
[bit15 ∼ bit13] 未使用ビット
これらのビットは , 未使用ビットです。
[bit12] CMOD
CMOD は , 一致により端子出力レベルの反転モードを切り換えるために使用しま
す。
523
第 19 章 16 ビット I/O タイマ
• CMOD=0( デフォルト ) の場合 , コンペアレジスタに対応する端子の出力レベルが反
転します。
- OUT0 : コンペアレジスタ 0 との一致でレベルが反転します。
- OUT1 : コンペアレジスタ 1 との一致でレベルが反転します。
• CMOD=1 の場合 , コンペアレジスタ 0 については , CMOD=0 の場合と同じようにし
て出力レベルが反転します。一方 , コンペアレジスタ 1(OUT1) に対応する端子の出
力レベルは , コンペアレジスタ 0, または 1 との一致で反転します。コンペアレジス
タ 0 と 1 が同じ値の場合 , 単一のコンペアレジスタによる場合と同じ動作が実行さ
れます。
- OUT0 : コンペアレジスタ 0 との一致でレベルが反転します。
- OUT1 : コンペアレジスタ 0 または 1 との一致でレベルが反転します。
[bit11, bit10] 未使用ビット
これらのビットは , 未使用ビットです。
[bit9, bit8] OTD1, OTD0
アウトプットコンペア端子の出力が許可されている場合に , 端子出力レベルを変更
するために使用します。比較端子出力の初期値は "0" です。値を書き込む前に , 比
較動作が停止していることを確認してください。読出し時には , これらのビットは
アウトプットコンペア端子の出力値を示します。
0
比較端子出力を "0" に設定します ( 初期値 )。
1
比較端子出力を "1" に設定します。
( 注意事項 )
OTD1 はアウトプットコンペア 1 に , OTD0 はアウトプットコンペア
0 に対応します。
[bit7, bit6] ICP1, ICP0
アウトプットコンペア割込みフラグとして使用します。コンペアレジスタの値が 16
ビットフリーランタイマの値と一致すると , これらのビットに "1" が設定されます。
割込み要求ビット (ICE1, および ICE0) が許可されている場合は , ICP1, および ICP0
のビットが設定されると , アウトプットコンペア割込みが発生します。これらの
ビットは , "0" を書き込むとクリアされます。"1" の書込みは無効です。リードモ
ディファイライト命令では , 常に "1" が読み出されます。
0
比較の一致なし ( 初期値 )
1
比較の一致あり
( 注意事項 )
ICP1 はアウトプットコンペア 1 に , ICP0 はアウトプットコンペア 0
に対応します。
[bit5, bit4] ICE1, ICE0
アウトプットコンペア割込み許可フラグとして使用します。これらのビットに "1"
が書き込まれているときに割込みフラグ (ICP1, または ICP0) が設定されると , アウ
トプットコンペア割込みが発生します。
0
アウトプットコンペア割込み禁止 ( 初期値 )
1
アウトプットコンペア割込み許可
( 注意事項 )
524
ICE1 はアウトプットコンペア 1 に , ICE0 はアウトプットコンペア 0
に対応します。
第 19 章 16 ビット I/O タイマ
[bit3, bit2] 未使用ビット
これらのビットは , 未使用ビットです。
[bit1, bit0] CST1, CST0
これらのビットは , 16 ビットフリーランタイマとの比較を許可するために使用しま
す。比較動作を許可する前に , 必ずコンペアレジスタに値を書き込んでください。
0
比較動作の禁止 ( 初期値 )
1
比較動作の許可
( 注意事項 )
CST1 はアウトプットコンペア 1 に , CST0 はアウトプットコンペア
0 に対応します。
アウトプットコンペアは , 16 ビットフリーランタイマのクロックに同期しているので ,
16 ビットフリーランタイマが停止すると比較動作も停止します。
525
第 19 章 16 ビット I/O タイマ
19.2.3
インプットキャプチャモジュール
インプットキャプチャモジュールは , 外部入力信号の立上りエッジ , 立下りエッジ ,
またはその両方を検出して , 16 ビットフリーランタイマの値をレジスタに記憶しま
す。また , エッジ検出のときに , 割込みを発生することもできます。インプットキャ
プチャモジュールは , 2 つのインプットキャプチャデータレジスタ , および 1 つの制
御レジスタで構成されます。
各インプットキャプチャモジュールには , 対応する外部入力端子があります。
■ インプットキャプチャモジュールの機能概要
• 外部入力の検出エッジは , 次の 3 種類から選択できます。
- 立上りエッジ
- 立下りエッジ
- 立上り , あるいは立下りエッジ
• 外部入力の有効エッジを検出して , 割込みを発生できます。
■ インプットキャプチャモジュールのブロックダイヤグラム
図 19.2-8 に , インプットキャプチャモジュールのブロックダイヤグラムを示します。
図 19.2-8 インプットキャプチャモジュールのブロックダイヤグラム
インプットキャプチャデータレジスタ0
エッジ検出
16ビットタイマカウンタ値(T15~ T00)
EG11
インプットキャプチャデータレジスタ1
エッジ検出
EG10
IN0
EG01
EG00
バス
ICP1
ICP0
ICE1
IN1
ICE0
割込み
割込み
526
第 19 章 16 ビット I/O タイマ
■ インプットキャプチャモジュールのレジスタ機能
以下に , インプットキャプチャモジュールで使用するレジスタの機能を説明します。
● インプットキャプチャデータレジスタ (IPCP)
図 19.2-9 に , インプットキャプチャデータレジスタのビット構成を示します。
図 19.2-9 インプットキャプチャデータレジスタのビット構成
bit
000000B0H/000000B2H
15
14
13
12
11
10
9
8
CP15
CP14
CP13
CP12
CP11
CP10
CP09
CP08
属性→
R
R
R
R
R
R
R
R
初期値→
X
X
X
X
X
X
X
X
bit
000000B1H/000000B3H
7
6
5
4
3
2
1
0
CP07
CP06
CP05
CP04
CP03
CP02
CP01
CP00
属性→
R
R
R
R
R
R
R
R
初期値→
X
X
X
X
X
X
X
X
このレジスタは , 対応する外部端子入力の波形から有効エッジを検出したときに , 16
ビットタイマの値を記憶します。
<注意事項>
本レジスタのアクセスにはワードモードを使用してください。本レジスタは書込み
禁止です。
● 制御ステータスレジスタ (ICS)
図 19.2-10 に , 制御ステータスレジスタのビット構成を示します。
図 19.2-10 制御ステータスレジスタのビット構成
7
アドレス :
bit
000000ADH /000000AFH ICP1
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" に設定されます。割込み許可ビット (ICE0,
および ICE1) が設定されていると , 有効エッジの検出で割込みを発生できます。
これらのビットに "0" を書き込むとクリアされます。"1" の書込みは無効です。リー
ドモディファイライト命令では常に "1" が読み出されます。
0
有効エッジを検出しない ( 初期値 )
1
有効エッジを検出する
( 注意事項 )
ICP0 はインプットキャプチャ 0 に , ICP1 はインプットキャプチャ 1
に対応します。
527
第 19 章 16 ビット I/O タイマ
[bit5, bit4] ICE1, ICE0
インプットキャプチャ割込みの許可に使用します。これらのビットが "1" のときに
割込みフラグ (ICP0 または ICP1) が設定されると , インプットキャプチャ割込みが
発生します。
<注意事項>
0
割込み禁止 ( 初期値 )
1
割込み許可
ICE0 はインプットキャプチャ 0 に , ICE1 はインプットキャプチャ 1 に対応します。
[bit3 ∼ bit0] EG11, EG10, EG01, EG00
外部入力の有効エッジの極性を指定するために使用します。これらのビットは , イ
ンプットキャプチャ動作の許可にも使用します。
EG11
EG01
EG10
EG00
0
0
エッジ検出なし ( 停止 )
0
1
立上りエッジ検出
1
0
立下りエッジ検出
1
1
両エッジ検出
( 注意事項 )
エッジ検出の極性
( 初期値 )
EG01, EG00 はインプットキャプチャ 0 に , EG11, EG10 はインプット
キャプチャ 1 に対応します。
● 禁止レジスタ (IOTDBL)
図 19.2-11 に , 禁止レジスタのビット構成を示します。
図 19.2-11 禁止レジスタのビット構成
アドレス :
bit
000000ACH/000000AEH
属性→
初期値→
7
6
5
4
3
2
1
0
−
-
−
-
−
-
−
-
−
-
DBLT
DBLO
DBLI
R/W
R/W
R/W
-
-
-
-
-
0
0
0
[bit2] DBLT
このビットを使用して , フリーランタイマモジュールのクロックを禁止できます。
"1" でクロックが禁止になります。
[bit1] DBLO
このビットを使用して , ( 両チャネルの ) アウトプットコンペアモジュールのクロッ
クを禁止できます。"1" でクロックが禁止になります。
[bit0] DBLI
このビットを使用して , ( 両チャネルの ) インプットキャプチャモジュールのクロッ
クを禁止できます。"1" でクロックが禁止になります。
528
第 19 章 16 ビット I/O タイマ
16 ビット I/O タイマの動作
19.3
16 ビット I/O タイマの動作について説明します。
■ 16 ビットフリーランタイマ
16 ビットフリーランタイマは , リセットの解除後にカウンタ値 "0000" からカウントを
開始します。このカウンタ値は , 16 ビットアウトプットコンペア , および 16 ビットイ
ンプットキャプチャの動作のリファレンスタイムとして使用されます。
カウンタの値は , 次の条件でクリアされます。
• オーバフローが発生したとき
• アウトプットコンペアレジスタ 0 と一致したとき ( これはモードによります )
• 動作中に , TCCS レジスタの CLR ビットに "1" が書き込まれたとき
• 停止中に , TCDT レジスタに "0000H" が書き込まれたとき
• リセット時
オーバフローが発生したときや, コンペアレジスタ0と一致しカウンタがクリアされた
ときに , 割込みを発生させることが可能です。比較の一致割込みには , 適切なモード設
定が必要です。
図 19.3-1 にオーバフローによるカウンタクリアのタイミングチャートを , 図 19.3-2 に
アウトプットコンペアレジスタ 0 との一致によるカウンタクリアのタイミングチャー
トを示します。
図 19.3-1 オーバフローによるカウンタクリアのタイミングチャート
カウンタ値
FFFF H
オーバフロー
BFFF H
7FFF H
3FFF H
0000 H
時間
リセット
割込み
529
第 19 章 16 ビット I/O タイマ
図 19.3-2 アウトプットコンペアレジスタ 0 との一致によるカウンタクリアのタイミングチャート
カウンタ値
FFFF H
一致
BFFF H
一致
7FFF H
3FFF H
時間
0000 H
リセット
コンペア
レジスタ値
割込み
BFFF
H
■ アウトプットコンペアモジュール
16 ビットアウトプットコンペアモジュールでは , 指定したコンペアレジスタ値が 16
ビットフリーランタイマ値と一致したときに , 割込み要求フラグを設定し , 出力レベル
を反転することができます。
● コンペアレジスタ 0, 1 を使用しているときの出力波形の例
図 19.3-3 に , コンペアレジスタ 0, 1 を使用しているときの出力波形の例を示します。
出力の初期値は "0" です。
2 つのコンペアレジスタを使用して , 出力レベルを変更できます (CMOD=1 のとき )。
図 19.3-3 コンペアレジスタ 0, 1 を使用しているときの出力波形の例
カウンタ値
FFFF H
BFFF H
7FFF H
3FFF H
0000 H
リセット
コンペア
レジスタ0の値
コンペア
レジスタ1の値
OUT0
OUT1
コンペア0
割込み
コンペア1
割込み
530
時間
BFFF
H
7FFF H
第 19 章 16 ビット I/O タイマ
● 2 つのコンペアレジスタによる出力波形の例
図 19.3-4 に , 2 つのコンペアレジスタによる出力波形の例を示します。
出力の初期値は "0" です。
図 19.3-4 2 つのコンペアレジスタによる出力波形の例
カウンタ値
FFFF H
BFFF H
7FFF H
3FFF H
0000 H
リセット
コンペア
レジスタ0の値
コンペア
レジスタ1の値
時間
BFFF
H
7FFF H
OUT0
OUT1
コンペア0
割込み
コンペア1
割込み
比較0および1に対応
531
第 19 章 16 ビット I/O タイマ
■ インプットキャプチャモジュール
16ビットインプットキャプチャでは, 指定されたエッジを検出すると, 16ビットフリー
ランタイマ値を取り込んでインプットキャプチャデータレジスタに書き込むことによ
り , 割込みを発生することができます。
● インプットキャプチャの取込みタイミングの例
図 19.3-5 に , インプットキャプチャの取込みタイミングの例を示します。
図 19.3-5 インプットキャプチャの取込みタイミングの例
カウンタ値
FFFF H
BFFF H
7FFF H
3FFF H
時間
0000H
リセット
IN0
IN1
INの例
キャプチャ0
未定義
キャプチャ1
未定義
キャプチャの例
キャプチャ0
の割込み
キャプチャ1
の割込み
キャプチャ割込み
未定義
注意事項:キャプチャ0 :立上りエッジ
キャプチャ1 :立下りエッジ
キャプチャ例:両エッジ
532
3FFF H
7FFF H
BFFF H
7FFF H
第 19 章 16 ビット I/O タイマ
19.4
動作タイミング
16 ビットフリーランタイマ , アウトプットコンペアモジュール , およびインプット
キャプチャモジュールの動作タイミングについて説明します。
■ 16 ビットフリーランタイマのカウントタイミング
16 ビットフリーランタイマは , 入力クロック ( 内部クロック , または外部クロック ) で
インクリメントされます。外部クロックを選択すると , 16 ビットフリーランタイマは
立上りエッジでインクリメントされます。
● フリーランタイマのカウントタイミング
図 19.4-1 に , フリーランタイマのカウントタイミングを示します。
図 19.4-1 フリーランタイマのカウントタイミング
φ
外部クロック入力
カウントクロック
N
カウンタ値
N+1
カウンタのクリアは , リセット , ソフトウェアクリア , またはコンペアレジスタ 0 との
一致で行うことができます。リセット , またはソフトウェアクリアの場合 , カウンタは
直ちにクリアされます。コンペアレジスタ 0 との一致の場合 , カウンタはカウントタイ
ミングに同期してクリアされます。
● フリーランタイマのクリアタイミング
図 19.4-2 に , コンペアレジスタ 0 との一致によるフリーランタイマのクリアタイミン
グを示します。
図 19.4-2 フリーランタイマのクリアタイミング ( コンペアレジスタ 0 との一致 )
φ
コンペアレジスタ値
N
コンペアの一致
カウンタ値
N
0000
533
第 19 章 16 ビット I/O タイマ
■ アウトプットコンペアモジュールのタイミング
アウトプットコンペアモジュールでは , フリーランタイマ値が指定のコンペアレジス
タ値と一致すると , 比較の一致信号を発生します。これによって出力値を反転し , 割込
みを発生することができます。比較の一致による出力の反転タイミングは , カウンタの
カウントタイミングに同期します。
● コンペアレジスタの更新による比較動作
コンペアレジスタが更新されると , カウンタ値との比較は実行されません。
図 19.4-3 に , コンペアレジスタの更新による比較動作のタイミングを示します。
図 19.4-3 コンペアレジスタの更新による比較動作のタイミング
カウンタ値
N
N+1
N+2
N+3
一致信号は発生しません。
コンペア
レジスタ0の値
コンペア
レジスタ0の書込み
M
コンペア
レジスタ1の値
コンペア
レジスタ1の書込み
N+1
N+3
M
コンペア0停止
コンペア1停止
● 割込みタイミング
図 19.4-4 に , アウトプットコンペア動作の割込みタイミングを示します。
図 19.4-4 アウトプットコンペア動作の割込みタイミング
φ
カウンタ値
コンペア
レジスタ値
コンペアの一致
割込み
534
N
N+1
N
第 19 章 16 ビット I/O タイマ
● 出力端子の変化タイミング
図 19.4-5 に , アウトプットコンペア動作時の出力端子の変化タイミングを示します。
図 19.4-5 出力端子の変化タイミング ( アウトプットコンペア動作時 )
N
カウンタ値
N+1
N
コンペア
レジスタ値
N+1
N
コンペアの
一致信号
端子出力
■ インプットキャプチャモジュールのタイミング
● 入力信号のキャプチャタイミング
図 19.4-6 に , 入力信号のキャプチャタイミングを示します。
図 19.4-6 入力信号のキャプチャタイミング
φ
カウンタ値
インプット
キャプチャ入力
N
N+1
有効エッジ
キャプチャ信号
キャプチャ
レジスタ
N+1
割込み
535
第 19 章 16 ビット I/O タイマ
536
第 20 章
アラーム比較器
アラーム比較器 ( 不足 / 過電圧検出器 ) の概要を示
し , レジスタの構造と機能 , およびアラーム比較器
の動作について説明します。
20.1 アラーム比較器のブロックダイヤグラム
20.2 アラーム比較器のレジスタ
20.3 アラーム比較器の動作モード
537
第 20 章 アラーム比較器
20.1
アラーム比較器のブロックダイヤグラム
アラーム比較器のブロックダイヤグラムを示します。
■ アラーム比較器のブロックダイヤグラム
図 20.1-1 に , アラーム比較器のブロックダイヤグラムを示します。
図 20.1-1 アラーム比較器のブロックダイヤグラム
アラーム比較器-デジタル部
アラーム比較器-アナログ部
AVCC
OUT1
アラーム
4
5
AVCC
D
Q
RB[15:0]
RB[15:0]
STOP
STOP
ACSR
CK
PD
OUT2
2
5
AVCC
D
Q
WRCR
RMWR
RDCR
RSLEEP
RST
CLKP
CK
CDBLE
CLKP
RSLEEP
RST
CLKP
REG
CDBLE
割込み論理
538
DEC
IRQ_AC
IRQ_AC
第 20 章 アラーム比較器
20.2
アラーム比較器のレジスタ
アラーム比較器で使用するレジスタについて説明します。
■ アラーム比較器クロック禁止レジスタ (ACCDBL)
図 20.2-1 に , アラーム比較器クロック禁止レジスタ (ACCDBL) のビット構成を示しま
す。
図 20.2-1 アラーム比較器クロック禁止レジスタのビット構成
ACCDBL
アドレス : 00 0180H
bit7
6
5
4
3
2
1
0
−
−
−
−
−
−
−
CDBLE
初期値
-------0B
R/W
アクセス→
以下に , ビットの機能を説明します。
[bit0] CDBLE : クロック禁止ビット
このビットは , クロックの禁止 / 許可を設定します。
0
クロック禁止 ( アラーム比較器のデジタル部 )
1
クロック許可 ( アラーム比較器のデジタル部 )
[ 初期値 ]
■ アラーム比較器ステータスレジスタ (ACSR)
図 20.2-2 に , アラーム比較器ステータスレジスタ (ACSR) のビット構成を示します。
図 20.2-2 アラーム比較器ステータスレジスタのビット構成
ACSR
bit7
アドレス : 0000 0181H
アクセス→
−
6
5
4
OV_EN UV_EN OUT2
R/W
R/W
R
3
2
1
0
OUT1
IRQ
IEN
PD
R
R/W
R/W
R/W
初期値
-11XXX00B
以下に , ビットの機能を説明します。
[bit6] OV_EN(Overvoltage Enable) : 過電圧割込み許可
このビットは , 過電圧の場合の割込みを許可するか , しないかを設定します。
1
過電圧時の割込み許可 [ 初期値 ]
0
過電圧時の割込みなし
[bit5] UV_EN(Undervoltage Enable) : 低電圧割込み許可
このビットは , 低電圧の場合の割込みを許可するか , しないかを設定します。
539
第 20 章 アラーム比較器
1
不足電圧時の割込み許可 [ 初期値 ]
0
不足電圧時の割込みなし
[bit4] OUT2 : アラーム比較器 UV 同期出力
このビットは , アナログ入力電圧の不足電圧値を設定します。
1
アナログ入力電圧 < 2/5 AVcc
0
アナログ入力電圧 > 2/5 AVcc
[bit3] OUT1 : アラーム比較器 OV の同期出力
このビットは , アナログ入力電圧の過電圧値を設定します。
1
アナログ入力電圧 > 4/5 AVcc
0
アナログ入力電圧 < 4/5 AVcc
[bit2] IRQ : 割込みビット
このビットは , 低電圧 , または過電圧状態を検出するか , しないかを設定します。
1
低電圧 , または過電圧状態検出
0
通常動作
[bit1] IEN : 割込みアサート許可ビット
このビットは , 割込みアサートを許可するか , 禁止するかを設定します。
1
割込みアサート許可
0
割込みアサート禁止
[ 初期値 ]
[bit0] PD : パワーダウンビット
このビットは , パワーダウン / 実行モードを設定します。
540
0
パワーダウン ( アナログ部 )
1
実行モード ( アナログ部 )
[ 初期値 ]
第 20 章 アラーム比較器
20.3
アラーム比較器の動作モード
アラーム比較器は , 割込みモード , またはポーリングモードで動作できます。内部割
込み論理は , IEN ビットの設定から独立した割込みイベントをそれぞれ検出します。
■ 割込みモード (IEN=1)
表 20.3-1 は , 有効な割込みイベントを示しています。
表 20.3-1 有効な割込みイベント
OUT2
OUT1
IRQ
1
1
1
Vin > 4/5 AVDD ( 過電圧 )
1
0
0
2/5 AVDD < Vin < 4/5 AVDD ( 通常動作 )
0
0
1
2/5 AVDD >Vin ( 低電圧 )
アナログ入力電圧範囲
割込みビット IRQ は , 割込みイベントを検出して , CLKP の次の立上りで設定されま
す。IEN=1 の場合は , CPU に対する割込み要求が生成されます。両方の割込みが許可
されている場合にアサートされた割込み要因を決定するためには , 割込みサービス
ルーチン内で直ちに ACSR レジスタを読み出す必要があります。OUT2 および OUT1
には , 常に比較器出力の実ステータスが含まれ , 割込みトリガステータスは記憶されま
せん。
■ ポーリングモード (IEN=0)
IRQ レジスタビットは , アクティブな割込みイベントにより有効に設定され , ACSR レ
ジスタに書込みを行うとリセットされます。ACSR レジスタは , AC 比較器入力に送ら
れる入力電圧を監視するために , 継続的にポーリングされます。
■ IRQ フラグビットの設定とリセット
ACSR レジスタの IRQ ビットは , "0" を書き込むことによりゼロにリセットできます。
ACSR レジスタの IRQ ビットに対する "1" の書込みは , 無効となります。ハードウェア
( アラーム比較器の出力 ) によってのみ , IRQ は "1" に設定できます。"0" を書き込んで
も , アクティブな割込みステータスが検出されている限り , IRQ は引き続きアクティブ
です。
ACSR レジスタで実行されるビット設定コマンドは , R バス上のリードモディファイラ
イトアクセスで生じます。RMW コマンド実行中のすべての読出しアクセスは , IRQ フ
ラグに関して , CPU に "1" を返します。これによって , IRQ フラグビットのソフトウェ
ア設定に起因する , 割込みイベントの検出漏れを防ぐことができます。
541
第 20 章 アラーム比較器
■ アラーム比較器パワーダウンモード
アラーム比較器回路には , 表 20.3-2 に示すパワーダウンモードがあります。
表 20.3-2 パワーダウンモード
STOP
PD
CDBLE
アナログ部
デジタル部
0
0
0
実行モード
実行モード
0
0
1
パワーダウンモード
パワーダウンモード
0
1
0
パワーダウンモード
実行モード
0
1
1
パワーダウンモード
パワーダウンモード
1
0
0
パワーダウンモード
パワーダウンモード
1
0
1
パワーダウンモード
パワーダウンモード
1
1
0
パワーダウンモード
パワーダウンモード
1
1
1
パワーダウンモード
パワーダウンモード
<注意事項>
542
アラーム比較器 ( アナログ部 ) の出力は , 電源投入後 , あるいは実行モード再投入後
であっても , 最低 3 µs 間は未定義のままです。IRQ が正しく設定されているかどう
かを確認してから , アラーム比較器割込みソースを許可しなければなりません。
第 21 章
パワーダウンリセット
パワーダウンリセットの概要を示し , レジスタの構
成と機能 , およびパワーダウンリセットモジュール
の動作について説明します。
21.1 パワーダウンリセットの概要
21.2 パワーダウンリセットのレジスタ
21.3 パワーダウンリセットの動作モード
543
第 21 章 パワーダウンリセット
21.1
パワーダウンリセットの概要
パワーダウンリセットモジュールは , VDD がしきい値電圧より低くなるとシステム
をリセットします。リセット信号は , パワーダウンリセット制御レジスタ PDRCR
の設定により , 禁止および許可されます。低電力アプリケーションについては , パ
ワーダウンリセット制御回路のデジタル部とアナログ部を禁止できます。
■ パワーダウンリセットモジュールの特長
パワーダウンリセット回路には , 以下の機能があります。
• 5V の電源電圧をモニタし , 4.0V( 標準値 ) のしきい値より電圧が低い場合は , 2.27µs
( 標準値 ) 後にリセット信号を生成します。
• 基準電圧のための内部バンドギャップ回路を持っています。
• モニタ電圧のための 50mV( 標準値 ) ヒステリシス入力が可能です。
• パワーダウンリセット回路のアナログ部がパワーダウンモードに切り換えられた
場合は , 消費電流を 260µA( 標準値 ) 減らします。
図 21.1-1 に , パワーダウンリセットモジュールの回路を示します。
図 21.1-1 パワーダウンリセットモジュールの回路
入力段階
IN
PDCOMP
OUT
EN
RST
9-ビットカウンタ
READY
CLR
S
WR
RB[ 1]
(PD ビット)
544
R
Q
PDRSTX
第 21 章 パワーダウンリセット
21.2
パワーダウンリセットのレジスタ
パワーダウンリセットモジュールで使用するレジスタについて説明します。
■ パワーダウンリセット制御レジスタ (PDRCR)
図 21.2-1 に , パワーダウンリセット制御レジスタのビット構成を示します。
図 21.2-1 パワーダウンリセット制御レジスタのビット構成
bit
7
6
5
4
3
2
1
0
アドレス : 0000 017DH
−
−
−
−
−
CDSBLE
PD
EN
アクセス :
-
-
-
-
-
R/W
R/W
R/W
初期値 (INIT):
-
-
-
-
-
0
0
0
初期値 (RST):
X
X
X
X
X
X
X
X
以下に , レジスタの各ビットの機能を説明します。
[bit2] CDSBLE : クロック禁止
このビットは , パワーダウンリセット比較器のデジタル部のクロックを禁止しま
す。
0
クロック許可
1
クロック禁止
[ 初期値 ]
[bit1] PD : パワーダウン
このビットは , パワーダウンリセット比較器のアナログ部の低電力モードを制御し
ます。
0
低電力モード禁止
1
低電力モード許可
[ 初期値 ]
[bit0] EN : 許可
このビットは , パワーダウンリセット比較器を許可します。
0
パワーダウンリセット回路禁止
1
パワーダウンリセット回路許可
[ 初期値 ]
545
第 21 章 パワーダウンリセット
21.3
パワーダウンリセットの動作モード
パワーダウンリセットモジュールの動作モードについて説明します。
パワーダウンリセットモジュールの動作モードには , 実行モードと低電力モードの 2
種類があります。
■ 実行モード
初期リセットの後 , PDRCR の EN ビットは禁止されます。パワーダウンリセット制御
回路を起動するために許可する必要があります。
VDD がしきい値より低くなると , PDCOMP 信号は "H" になります。電圧降下による非
同期イベントに起因する準安定状態を回避するために , PDCOMP 信号は入力ステージ
で 2 クロックサイクルだけ遅延されます。
次に , PDRSTX 信号が "L" アクティブになります。
VDD が低電圧である間に PDRCR の PD ビットが "1" から "0" に切り換えられると ,
PDCOMP 信号は 3.19µs の間不定状態になります。回路の未定義動作を避けるために ,
PD ビットへの書込みアクセス後 , 9 ビットカウンタはリセットされます。カウンタは ,
511 クロックサイクルの後 , パワーダウンリセット制御回路を許可します。指定された
最速周波数を CLKP=32 MHz と仮定すると , 21µs の遅延が発生します。
■ 低電力モード
パワーダウンリセット回路のデジタル部とアナログ部は , 低電力モードに設定するこ
とができます。デジタル部のクロックを禁止するだけでなく , アナログ回路を低電力
モードに設定できます。
546
PD
CDSBLE
アナログ部
デジタル部
0
0
動作
動作
0
1
動作
低電力
1
1
低電力
低電力
第 22 章
シリアル I/O
インタフェース (SIO)
シリアル I/O インタフェース (SIO) の概要を示し ,
レジスタの構成と機能 , および SIO の動作につい
て説明します。
22.1 シリアル I/O インタフェース (SIO) の概要
22.2 シリアル I/O インタフェース (SIO) のレジスタ
22.3 シリアル I/O インタフェース (SIO) の動作
547
第 22 章 シリアル I/O インタフェース (SIO)
22.1
シリアル I/O インタフェース (SIO) の概要
シリアル I/O インタフェース (SIO) は , クロック同期調整を使用したデータ転送を可
能にするシリアル I/O インタフェースです。インタフェースは , シングル 8 ビット
チャネルで構成されています。
■ シリアル I/O インタフェース (SIO) の概要
データは , LSB, または MSB から転送できます。
MB91360 シリーズには , SIO0 と SIO1 の 2 種類のシリアル I/O ユニットがあります。本
章では , SIO0 についてのみ説明します。SIO1 のレジスタアドレスについては ,「付録
A I/O マップ」を参照してください。
シリアル I/O インタフェースは , 2 種類のモードで動作します。
• 内部シフトクロックモード : データは , 内部クロックに同期して転送されます。
• 外部シフトクロックモード : データは , 外部端子 (SCK) を経由して供給されるク
ロックに同期して転送されます。このモードでは , 外
部端子 (SCK) を共有している汎用ポートを操作するこ
とによって , CPU の命令によりデータを転送すること
も可能です。図 22.1-1 に , シリアル I/O インタフェー
ス (SIO) のブロックダイヤグラムを示します。
548
第 22 章 シリアル I/O インタフェース (SIO)
図 22.1-1 シリアル I/O インタフェースブロックダイヤグラム
内部データバス
(MSBから) D7からD0
D7からD0(LSBから)
転送方向選択
SIN3
読出し
書込み
SDR(シリアルデータレジスタ)
SOT3
SCK3
シフトクロック
カウンタ
制御回路
周辺機器用クロック
(CLKP)
2
1
0
SMD2
SMD1
SMD0
SIE
SIR
BUSY
STOP
STRT MODE
BDS
----
SCOE
割込み要求
内部データバス
549
第 22 章 シリアル I/O インタフェース (SIO)
22.2
シリアル I/O インタフェース (SIO) のレジスタ
シリアル I/O インタフェース (SIO) で使用するレジスタの機能について説明します。
■ シリアル I/O インタフェース (SIO) のレジスタ一覧
図 22.2-1 に , シリアル I/O インタフェース (SIO) のレジスタ一覧を示します。
図 22.2-1 シリアル I/O インタフェース (SIO) のレジスタ一覧
シリアルモード制御ステータスレジスタ (SMCS)
bit 15
14
13
12
11
10
9
8
アドレス : 00000084H/00000088H SMD2
SMD1
SMD0
SIE
SIR
BUSY
STOP
STRT
読出し / 書込み→ (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
bit
7
6
5
4
3
2
1
0
アドレス : 00000085H/00000089H
−
−
−
−
MODE
BDS
−
SCOE
読出し / 書込み→
(-)
(-)
(-)
(-)
(R/W)
(R/W)
(-)
(R/W)
初期値→
(-)
(-)
(-)
(-)
(0)
(0)
(-)
(0)
初期値→
SIO エッジ選択 / クロック禁止レジスタ (SES)
bit
15
14
13
12
11
10
9
8
アドレス : 00000086H/0000008AH
−
−
−
−
−
−
DBL
NEG
読出し / 書込み→
(-)
(-)
(-)
(-)
(-)
(-)
(R/W)
(R/W)
初期値→
(-)
(-)
(-)
(-)
(-)
(-)
(0)
(0)
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)
シリアルシフトデータレジスタ (SDR)
bit
アドレス : 00000087H/0000008BH
読出し / 書込み→ (R/W)
初期値→
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
シリアル I/O プリスケーラ (CDCR)
bit
15
14
13
12
11
10
9
8
アドレス : 0000008CH/0000008EH
MD
読出し / 書込み→ (R/W)
初期値→
550
(0)
−
−
−
DIV3
DIV2
DIV1
DIV0
(-)
(-)
(-)
(R/W)
(R/W)
(R/W)
(R/W)
(-)
(-)
(-)
(1)
(1)
(1)
(1)
第 22 章 シリアル I/O インタフェース (SIO)
シリアルモード制御ステータスレジスタ (SMCS)
22.2.1
シリアルモード制御ステータスレジスタ (SMCS) の機能について説明します。
■ シリアルモード制御ステータスレジスタ (SMCS) の機能
このレジスタは , シリアル I/O 転送モードを制御します。
図 22.2-2 に , シリアルモード制御ステータスレジスタ (SMCS) のビット構成を示します。
図 22.2-2 シリアルモード制御ステータスレジスタ (SMCS) のビット構成
SMCS
bit15
アドレス : 00000084H SMD2
アクセス
14
13
12
11
10
9
8
SMD1
SMD0
SIE
SIR
BUSY
STOP
STRT
R/W
R/W
R/W
R/W
R
R/W
R/W
R/W
↑
*1
SMCS
bit7
アドレス : 00000085H
−
6
5
−
−
↑
*2
4
3
2
−
MODE
BDS
R/W
R/W
アクセス
初期値
00000010B
1
0
−
SCOE
初期値
----00-0B
R/W
*1: "0" のみ書込み可能。
*2: "1" のみ書込み可能。"0" は常に読出し値。
以下に , 各ビットの機能を説明します。
[bit15 ∼ bit13]
シフトクロック選択ビット (SMD2, SMD1, SMD0 : Serial shift clock
mode)
シフトクロック選択ビットは , シリアルシフトクロックモードを選択するために使
用します。
これらのビットの設定内容を , 表 22.2-1 に示します。
表 22.2-1 シリアルシフトクロックモードの設定
SMD2
SMD1
SMD0
φ=16 MHz
div=16
φ=8 MHz
div=8
φ=4 MHz
div=8
0
0
0
1 MHz
1 MHz
500 kHz
6
1
1
0
1
6 MHz
0
0
1
500 kHz
500 kHz
250 kHz
8
1
1
0
0
8 MHz
0
1
0
125 kHz
125 kHz
62.5 kHz
10
1
0
1
1
10 MHz
0
1
1
62.5 kHz
62.5 kHz
31.25 kHz
12
1
0
1
0
12 MHz
1
0
0
31.25 kHz
31.25 kHz
15.625 kHz
14
1
0
0
1
14 MHz
1
0
1
外部シフトクロックモード
16
1
0
0
0
16 MHz
1
1
0
予備
1
1
1
予備
分周比 DIV3
DIV2 DIV1 DIV0
推奨マシン
サイクル
シリアル I/O プリスケーラ (CDCR) の設定詳細に
ついては , 「22.2.4 シリアル I/O プリスケーラ
(CDCR)」を参照してください。
551
第 22 章 シリアル I/O インタフェース (SIO)
これらのビットは , リセット時に "000B" に初期化されます。これらのビットは , デー
タ転送中に更新してはいけません。
5 種類の内部シフトクロックと外部シフトクロックが利用可能です。"110B", および
"111B"は予備ですので, SMD2, SMD1, SMD0にこれらの値は設定しないでください。
外部シフトクロックモードが選択された場合 , ソフトウェアによる 1 ビットシフト
動作を行うことができます。この動作を行うには , シフトクロック入力を共有して
いる汎用 I/O の , 出力レベルを変更します。
[bit12] シリアル I/O 割込み許可ビット (SIE : Serial I/O interrupt enable)
シリアル I/O 割込み許可ビットは , シリアル I/O 割込み要求を制御します。
SIE
動作
0
シリアル I/O 割込み禁止
1
シリアル I/O 割込み許可
[ 初期値 ]
このビットは , リセット時に "0" に初期化されます。読出し , および書込みが可能で
す。
[bit11] シリアル I/O 割込み要求ビット (SIR : Serial I/O interrupt request)
シリアルデータ転送完了時に , このビットに "1" が設定されます。割込み許可時
(SIE=1) にこのビットが設定されると , CPU に対して割込み要求を発行します。ク
リア条件は , MODE ビットによって変わります。
MODE ビットに "0" が書き込まれている場合は , SIR ビットは , "0" を書き込むこと
によりクリアされます。MODE ビットに "1" が書き込まれている場合は , SIR ビッ
トは , SDR に対して読出し , または書込みを行うことによりクリアされます。シス
テムをリセットするか , STOP ビットに "1" を書き込んだ場合は , MODE ビット値に
関係なく , SIR ビットはクリアされます。
SIR ビットに "1" を書き込んでも , 無効となります。リードモディファイライト命
令では常に "1" が読み出されます。
[bit10] 転送ステータスビット (BUSY)
転送ステータスビットは , シリアル転送が実行中かどうかを示します。
BUSY
動作中
0
停止 , またはシリアルデータレジスタを読み / 書きするためのスタンバイ [ 初期値 ]
1
シリアル転送中
このビットは , リセット時に "0" に初期化されます。このビットは , 読出し専用ビッ
トです。
552
第 22 章 シリアル I/O インタフェース (SIO)
[bit9] ストップビット (STOP)
ストップビットは , シリアル転送を強制終了します。このビットに "1" を書き込む
と , 転送が停止します。
STOP
動作中
0
通常動作
1
転送停止
[ 初期値 ]
このビットは , リセット時に "1" に初期化されます。読出し , および書込みが可能で
す。
[bit8] スタートビット (STRT : Start)
スタートビットは , シリアル転送を起動します。MODE ビットが "0" に設定されて
いる場合, このビットに"1"を書き込むことにより, データ転送が開始します。MODE
ビットに "1" を設定し , STRT ビットにも "1" を設定した場合 , シリアルデータレジ
スタにデータを書き込むことにより , 転送が開始します。
システムが , シリアル転送の動作中 , またはシリアルシフトレジスタの読出し , また
は書込みのためのスタンバイ中である場合は , "1" の書込みは無視されます。"0" の
書込みは無効です。読出し値は常に "0" です。
[bit3] シリアルモード選択ビット (MODE : Serial mode selection bit)
シリアルモード選択ビットは , 停止状態から転送動作を開始するための条件を選択
するために使用します。
このビットは , 動作中に更新してはいけません。
動作
MODE
0
STRT=1 のとき , 転送を開始します。[ 初期値 ]
1
シリアルデータレジスタに対して , 読出し , または書込みが行われた
とき , 転送を開始します。
このビットは , リセット時に "0" に初期化され , 読出し , および書込み可能です。イ
ンテリジェント I/O サービスを起動するためには , このビットに , "1" が書き込まれ
ていることを確認してください。
[bit2] ビット順序選択ビット (BDS : bit order select bit)
このビットは , データ転送のビット順序を指定します。データは , 最下位のビット
から (LSB からのモード ), または最上位ビットから (MSB からのモード ) データを
転送できます。
動作
BDS
<注意事項>
0
LSB から
1
MSB から
[ 初期値 ]
SDR にデータを書き込む前に , ビット順序を指定します。
553
第 22 章 シリアル I/O インタフェース (SIO)
[bit1] 未使用ビット
このビットは , 未使用ビットです。
[bit0] シフトクロック出力許可ビット (SCOE: SCK1 output enable)
シフトクロック出力許可ビットは , シフトクロック I/O 出力外部端子からの出力を
制御します。
動作
SCOE
0
シフトクロック入力端子
1
シフトクロック出力端子
[ 初期値 ]
外部シフトクロックモードにおいて , 各命令でデータが転送される際 , このビット
に "0" が書き込まれていることを確認してください。
このビットは , リセット時に "0" に初期化されます。読出し , および書込みが可能で
す。
554
第 22 章 シリアル I/O インタフェース (SIO)
22.2.2
シリアルシフトデータレジスタ (SDR)
シリアルシフトデータレジスタ (SDR) の機能について説明します。
■ シリアルシフトデータレジスタ (SDR) の機能
図 22.2-3 に , シリアルシフトデータレジスタ (SDR) のビット構成を示します。
図 22.2-3 シリアルシフトデータレジスタ (SDR) のビット構成
SDR
アドレス : 00000087H
bit7
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
初期値
XXXXXXXXB
[bit7 ∼ bit0] D7 ∼ D0 : シリアルシフトデータレジスタ
シリアルシフトデータレジスタは , シリアル I/O 転送データを記憶します。転送中
は , SDR の読出し , および書込みは禁止です。
555
第 22 章 シリアル I/O インタフェース (SIO)
22.2.3
SIO エッジ選択 / クロック禁止レジスタ (SES)
SIO エッジ選択 / クロック禁止レジスタ (SES) の機能について説明します。
■ SIO エッジ選択 / クロック禁止レジスタ (SES) の機能
図 22.2-4 に , SIO エッジ選択 / クロック禁止レジスタ (SES) のビット構成を示します。
図 22.2-4 SIO エッジ選択 / クロック禁止レジスタ (SES) のビット構成
SES
アドレス : 00000086H
bit7
6
5
4
3
2
1
0
−
−
−
−
−
−
DBL
NEG
R/W
R/W
初期値
------00B
以下に , SIO エッジ選択 / クロック禁止レジスタ (SES) の各ビットの機能を説明します。
[bit1] DBL : クロック禁止
このビットは , クロックの禁止を設定します。
DBL
動作
0
通常動作
1
SIO モジュールのクロックは禁止
[ 初期値 ]
[bit0] NEG : シフトクロック信号反転
このビットは , シフトクロック信号の反転を設定します。
詳細は , 「22.3 シリアル I/O インタフェース (SIO) の動作」の「■ 反転クロック動
作」を参照してください。
NEG
556
動作
0
通常動作
1
シフトクロック信号は反転
[ 初期値 ]
第 22 章 シリアル I/O インタフェース (SIO)
22.2.4
シリアル I/O プリスケーラ (CDCR)
シリアル I/O プリスケーラは , シリアル I/O のシフトクロックを供給します。
■ シリアル I/O プリスケーラ
シリアル I/O の動作クロックは , マシンクロックを分周して得ます。シリアル I/O は ,
通信プリスケーラのユーザが , さまざまなマシンクロックの一定のボーレートを得ら
れるように設計してあります。CDCR レジスタは , マシンクロック分周を制御します。
図 22.2-5 に , シリアル I/O プリスケーラのビット構成を示します。
図 22.2-5 シリアル I/O プリスケーラのビット構成
CDCR
アドレス : 0000008CH
bit15
14
13
12
11
10
9
8
MD
−
−
−
DIV3
DIV2
DIV1
DIV0
R/W
R/W
R/W
R/W
R/W
初期値
0---1111B
以下に , シリアル I/O プリスケーラの各ビットの機能を説明します。
[bit15] MD(Machine clock divide mode select)
このビットは , 通信プリスケーラの動作を制御するために使用します。
MD
<注意事項>
動作
0
シリアル I/O プリスケーラを禁止し , リセットします。
1
シリアル I/O プリスケーラを許可します。
MD を "0" に設定してプリスケーラをリセットする方法
この機能を使用して , SPI タイミングを生成できます。
557
第 22 章 シリアル I/O インタフェース (SIO)
[bit11 ∼ bit8] DIV3 ∼ DIV0(Divide3 ∼ Divide0)
これらのビットは , CLKP クロック分周比を決定するために使用します。
表 22.2-2 に , CLKP クロック分周比の設定内容を示します。
表 22.2-2 マシンクロック分周比
<注意事項>
558
DIV3 ∼ DIV0
CLKP 分周比
1101B
6
1100B
8
1011B
10
1010B
12
1001B
14
1000B
16
分周比を変更した場合は , 通信を開始する前にクロック安定のために 2 サイクルお
いてください。
第 22 章 シリアル I/O インタフェース (SIO)
22.3
シリアル I/O インタフェース (SIO) の動作
シリアル I/O インタフェース (SIO) の動作について説明します。
■ 動作概要
シリアル I/O は , シリアルモード制御ステータスレジスタ (SMCS) と , シリアルシフト
データレジスタ (SDR) で構成されており , 8 ビットシリアルデータの入出力に使用しま
す。シリアルシフトデータレジスタ内のビットは , シリアルシフトクロック ( 外部ク
ロックまたは内部クロック ) の立下りエッジで , シリアル出力端子 (SOT1 端子 ) を経由
して , 直列に出力されます。このビットは , シリアルシフトクロックの立上りエッジで ,
シリアル入力端子 (SIN1 端子 ) を経由して , シリアルシフトデータレジスタ (SDR) に直
列に入力されます。シフト方向 (MSB, または LSB からの転送 ) は , シリアルモード制
御ステータスレジスタ (SMCS) の方向指定ビット (BDS) が指定します。
シリアルデータ転送終了時には , シリアル I/O インタフェース (SIO) は , シリアルモー
ド制御ステータスレジスタ (SMCS) の MODE ビットに従って , 停止するか , またはデー
タレジスタの読出し , 書込みのためのスタンバイになります。停止 , またはスタンバイ
状態から転送を開始するには , 以下の手順に従ってください。
1. 停止状態から動作を再開するには , STOP ビットに "0" を , STRT ビットに "1" を書
き込んでください (STOP ビットと STRT ビットは同時に設定できます )。
2. シリアルシフトデータレジスタの読出し / 書込みスタンバイ状態から動作を再開す
るには , データレジスタの読出し , または書込みを行ってください。
■ シフトクロックのモード
シフトクロックには , 2 種類のモード ( 内部シフトクロックと外部シフトクロック ) が
あります。これら 2 種類のモードは , SMCS を設定することによって選択されます。
モードを切り換えるには , シリアル I/O 転送が停止していることを確認してください。
シリアル I/O 転送が停止していることを確認するためには , BUSY ビットの読出しを行
います。
● 内部シフトクロックモード
内部シフトクロックモードでは , データ転送は周辺機器用クロック (CLKP) に基づいて
行われます。同期タイミング出力として , デューティ比 50 % のシフトクロックを SCK
端子から出力できます。データは , クロックごとに 1 ビット転送されます。転送速度は ,
以下の式で表わすことができます。
転送速度 (s) = A / CLKP マシンサイクル (Hz)
"A" は , SMCS の SMD ビットで示された分周比です。値として 21, 22, 23, 24, 25 をとる
ことができます。
● 外部シフトクロックモード
外部シフトクロックモードでは , データ転送は , SCK 端子を経由して供給される外部ク
ロックに基づいて行われます。データは , クロックごとに 1 ビット転送されます。
転送速度は , "0" に近い値と 1/(5 CLKP サイクル ) の間で設定できます。たとえば , 1
CLKP サイクルが 0.1µs である場合 , 転送速度は最大 2 MHz にすることができます。
559
第 22 章 シリアル I/O インタフェース (SIO)
データビットは , ソフトウェアによっても転送できます。許可を与えるには以下のよう
にしてください。
1. 外部シフトクロックモードを選択し , SMCS の SCOE ビットに "0" を書き込みます。
2. SCK端子を共有しているポートの方向レジスタに"1"を書き込み, ポートを出力モー
ドにします。ポートのデータレジスタ (PDR) に "1", および "0" を書き込むと , SCK
端子経由のポート値出力が外部クロックとして取り込まれ , 転送が開始します。
3. シフトクロックが "H" から開始したことを確認してください。
<注意事項>
シリアル I/O 動作中に , SMCS, または SDR に対しての書込みは禁止です。
■ シリアル I/O 動作
シリアル I/O 動作のステータスは 4 種類 (STOP, Halt( 停止 ), SDR 読出し / 書込みスタン
バイ , 転送 ) あります。
● STOP
STOP 状態は , RESET 時 , または SMCS の STOP ビットに "1" を書き込んだときに , 初
期化されます。シフトカウンタは初期化され , SIR に "0" が書き込まれます。
STOP 状態から動作を再開するには , STOP に "0" を , STRT に "1" を書き込みます ( こ
れら 2 つのビットは , 同時に書き込むことができます )。STOP ビットは , STRT ビット
を無効にするので , STOP に "1" が書かれている間は , STRT に "1" を書き込んでも , 転
送を開始することはできません。
● Halt( 停止 )
MODE ビットが "0" の間に転送が完了すると , BUSY に "0" が設定され , SMCS の SIR
に "1" が設定されます。カウンタは初期化され , システムは停止します。STOP 状態か
ら動作を再開するには , STRT に "1" を書き込みます。
● シリアルデータレジスタ読出し / 書込みスタンバイ
MODE ビットが "1" の間に転送が完了すると , BUSY に "0" が設定され , SMCS の SIR
に "1" が設定されて , システムはシリアルデータレジスタ読出し / 書込みスタンバイ状
態になります。割込み許可フラグが設定してある場合は , 割込み信号が本ブロックから
出力されます。
読出し / 書込みスタンバイ状態から動作を再開するには , シリアルデータレジスタに対
して読出し , または書込みを行ってください。これにより , BUSY ビットに "1" が設定
され , データ転送が開始します。
● 転送
BUSY ビットが "1" に設定されていると , シリアル転送が動作しています。MODE ビッ
トに従って , Halt 状態 , または読出し / 書込みスタンバイ状態に移ります。
図 22.3-1 に , 動作遷移を示します。
560
第 22 章 シリアル I/O インタフェース (SIO)
図 22.3-1 拡張 I/O シリアルインタフェース動作遷移
転送の終了
STRT=0, BUSY=0
MODE=0
MODE=0
&
STOP=0
&
END
転送
STOP=0
&
STRT=1
リセット
STOP=0 & STRT=0
STOP
STRT=0, BUSY=0
STOP=1
STOP=1
STOP=0
&
STRT=1
MODE=1 & END & STOP=0
STOP=1
シリアルデータレジスタR/Wスタンバイ
STRT=1, BUSY=1
SDR R/W & MODE=1
STRT=1, BUSY=0
MODE=1
図 22.3-2 シリアルデータレジスタの読出し / 書込み
シリアルデータ
データバス
SOT
SIN
データバス
読出し
書込み
割込み出力
拡張 I/O シリアル
インタフェース
読出し
書込み
CPU
a.
b.
割込み入力
データバス 割込みコントローラ
a. MODE に "1" を書き込むと , シフトクロックカウンタに従って , 転送は終了します。
読出し / 書込みスタンバイ状態は , SIR に "1" を書き込むと開始します。SIE ビット
に "1" を書き込むと , 割込み信号が発生します。SIE が休止中の場合 , または STOP
に "1" を書き込むことにより転送が終了している場合は , 割込み信号は発生しませ
ん。
b. シリアルデータレジスタに対して読出し, または書込みを行うと, 割込み要求はクリ
アされ , シリアル転送が開始します。
■ シフト動作開始 / 停止タイミング , および I/O タイミング
•
シフト動作開始 : SMCS レジスタの STOP ビットに "0" を , STRT ビットに "1" を
書き込みます。
• シフト動作停止 :
システムは , 転送終了時 , または STOP に "1" を書き込んだとき
に停止します。
- STOP=1 による停止 :
システムは MODE ビットに関係なく , SIR=0 の場合に停
止します。
- 転送終了による停止 : システムは , MODE ビットに関係なく , SIR=1 の場合に停
止します。
BUSY ビットは , MODE ビットに関係なくシリアル転送中は "1" になり , 停止 , または
読出し / 書込みスタンバイ状態の間は "0" になります。転送状態を確認するには , 本
ビットの読出しを行います。
561
第 22 章 シリアル I/O インタフェース (SIO)
● 内部シフトクロックモード (LSB から )
図 22.3-3 に , 内部シフトクロックモードにおけるシフト動作開始 / 停止タイミングを示
します。
図 22.3-3 シフト動作開始 / 停止タイミング ( 内部シフトクロックモード )
"1"出力
SCK3
(転送開始)
(転送終了)
STRT
MODE=0の場合
BUSY
SOT3
DO0
DO7(データ維持)
● 外部シフトクロックモード (LSB から )
図 22.3-4 に , 外部シフトクロックモードにおけるシフト動作開始 / 停止タイミングを示
します。
図 22.3-4 シフト動作開始 / 停止タイミング ( 外部シフトクロックモード )
SCK3
STRT
BUSY
SOT3
(転送開始)
(転送終了)
MODE=0の場合
DO0
DO7(データ維持)
● 命令シフト付き外部シフトクロックモード (LSB から )
図 22.3-5 に , 命令シフト付き外部シフトクロックモードにおけるシフト動作開始 / 停止
タイミングを示します。
図 22.3-5 シフト動作開始 / 停止タイミング ( 命令シフト付き外部シフトクロックモード )
SCK3
STRT
BUSY
SOT3
PDRでSCK= "0"
PDRでSCK= "0"
PDRでSCK= "0"(転送終了)
MODE=0の場合
DO6
DO7(データ維持)
(注意事項)命令シフトについては,PDRのSCKに対応するビットに"1"が書き込まれたときは
"H"を出力し,"0"が書き込まれたときは"L"を出力します。
(外部シフトクロックモードでSCOE=0の場合)
562
第 22 章 シリアル I/O インタフェース (SIO)
● STOP=1 による停止 (LSB から開始 , 内部クロック )
図 22.3-6 に , STOP ビットに "1" を書き込んだ場合の停止タイミングを示します。
図 22.3-6 STOP ビットに "1" を書き込んだ場合の停止タイミング
"1"出力
SCK3
(転送開始)
STRT
(転送終了)
MODE=0の場合
BUSY
STOP
DO3
SOT3
DO4
DO5(データ維持)
(注意事項)DO7~DO0は,出力データを示しています。
シリアルデータ転送中 , データは , シフトクロックの立下りエッジでシリアル出力端子
(SOT2) から出力され , 立上りエッジでシリアル入力端子 (SIN) から入力されます。
図 22.3-7 に , I/O シフトタイミングを示します。
図 22.3-7 I/O シフトタイミング
m_LSBから開始(BDSビットが"0"の場合)
SCK3
SIN 出力
SIN3
D10
D11
SOT3
DO0
DO1
D12
D13
SOT 出力
DO2
DO3
D14
D15
D16
D17
DO4
DO5
DO6
DO7
m_MSBから開始(BDSビットが"1"の場合)
SCK3
SIN3
SIN 出力
D17
D16
D15
D14
D13
D12
D11
D10
DO4
DO3
DO2
DO1
DO0
SOT 出力
SOT3
DO7
DO6
DO5
(注意事項)DO7~DO0は,出力データを示しています。
563
第 22 章 シリアル I/O インタフェース (SIO)
■ 割込み動作
本ブロックでは , CPU に対する割込み要求を発行できます。データ転送終了時に , SIR
ビットは割込みフラグとして設定されます。SMCS の割込み許可ビット (SIE ビット )
に "1" が書き込まれると , CPU に対して割込み要求を発行します。
図 22.3-8 割込み信号出力タイミング
SCK3
(転送終了) *
BUSY
SIE=1
SIR
SDR RD/WR
SOT3
DO7(データ維持)
DO6
*: MODE=1の場合
■ 反転クロック動作
MB91360 シリーズは , シリアル I/O の反転クロック動作をサポートしています。この
動作においては , 単純にインバータがシフトクロック信号をネゲートします。したがっ
て , 前述のシリアル I/O に関するシフトクロック信号の定義は , 論理 "L" レベルから論
理 "H" レベルに , 立下りエッジから立上りエッジに , およびその逆に , 反転されます。
これは , シリアルクロック入力についてもシリアルクロック出力についても同様です。
エッジ選択レジスタが , この目的のために設計されています。
この制御は , SIO エッジ選択 / クロック禁止レジスタ (SDR) の NEG ビットによって行
います。
図 22.3-9 に SIO エッジ選択 / クロック禁止レジスタ (SDR) を , 表 22.3-1 に NEG ビット
の設定内容を示します。
図 22.3-9 SIO エッジ選択 / クロック禁止レジスタ (SES)
SES
アドレス : 00000086H
bit7
6
5
4
3
2
1
0
−
−
−
−
−
−
DBL
NEG
R/W
R/W
表 22.3-1 NEG ビットの設定
NEG
564
動作
0
通常動作
1
シフトクロック信号は反転
[ 初期値 ]
初期値
------00B
第 23 章
サウンド生成器
サウンド生成器の概要を示し , レジスタの構成と機
能について説明します。
23.1 サウンド生成器の概要
23.2 サウンド生成器のレジスタ
565
第 23 章 サウンド生成器
サウンド生成器の概要
23.1
サウンド生成器の概要とブロックダイヤグラムを示します。
■ サウンド生成器の構成
サウンド生成器は , サウンドコントロールレジスタ , 周波数データレジスタ , 振幅デー
タレジスタ , デクリメントグレードレジスタ , トーンカウントレジスタ , サウンド禁止
レジスタ , PWM パルス生成器 , 周波数カウンタ , 減分カウンタ , およびトーンパルスカ
ウンタで構成されています。
■ サウンド生成器のブロックダイヤグラム
図 23.1-1 に , サウンド生成器のブロックダイヤグラムを示します。
図 23.1-1 サウンド生成器のブロックダイヤグラム
クロック入力
プリスケーラ
S1
S0
8ビットPWM
パルス生成器 CO
EN
PWM
CI
トグル
フリップ
フロップ
周波数
カウンタ
CO
EN
リロード
D
EN
リロード
1/d
Frequency
レジスタ
振幅データ
レジスタ
DEC
DEC
減分カウンタ
CI
CO
EN
SGA
デクリメント
グレードレジスタ
Mix
SGO
トーンパルス
カウンタ CI
CO
EN
トーンカウント
レジスタ
566
Q
TONE
INTE
INT
ST
IRQ
第 23 章 サウンド生成器
23.2
サウンド生成器のレジスタ
サウンド生成器のレジスタの機能について説明します。
■ サウンド生成器のレジスタ一覧
図 23.2-1 に , サウンド生成器のレジスタ一覧を示します。
図 23.2-1 サウンド生成器のレジスタ一覧
サウンドコントロールレジスタ (SGCR)
bit 15
14
アドレス : 000000EEH TST
−
(-)
読出し / 書込み→ (R/W)
(-)
初期値→ (0)
bit
アドレス : 000000EFH
13
12
11
10
−
(-)
(-)
9
BUSY
(R)
(0)
8
DEC
(R/W)
(0)
−
(-)
(-)
−
(-)
(-)
−
(-)
(-)
7
S1
読出し / 書込み→ (R/W)
初期値→ (0)
6
S0
(R/W)
(0)
5
TONE
(R/W)
(0)
4
3
−
(-)
(-)
−
(-)
(-)
2
INTE
(R/W)
(0)
1
INT
(R/W)
(0)
0
ST
(R/W)
(0)
振幅データレジスタ (SGAR)
bit 15
アドレス : 000000F0H D7
読出し / 書込み→ (R/W)
初期値→ (0)
14
D6
(R/W)
(0)
13
D5
(R/W)
(0)
12
D4
(R/W)
(0)
11
D3
(R/W)
(0)
10
D2
(R/W)
(0)
9
D1
(R/W)
(0)
8
D0
(R/W)
(0)
周波数データレジスタ (SGFR)
bit
7
アドレス : 000000F1H D7
読出し / 書込み→ (R/W)
初期値→ (X)
6
D6
(R/W)
(X)
5
D5
(R/W)
(X)
4
D4
(R/W)
(X)
3
D3
(R/W)
(X)
2
D2
(R/W)
(X)
1
D1
(R/W)
(X)
0
D0
(R/W)
(X)
トーンカウントレジスタ (SGTR)
bit 15
アドレス : 000000F2H D7
読出し / 書込み→ (R/W)
初期値→ (X)
14
D6
(R/W)
(X)
13
D5
(R/W)
(X)
12
D4
(R/W)
(X)
11
D3
(R/W)
(X)
10
D2
(R/W)
(X)
9
D1
(R/W)
(X)
8
D0
(R/W)
(X)
5
D5
4
D4
3
D3
2
D2
1
D1
0
D0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
0
DBL
(R/W)
(0)
デクリメントグレードレジスタ (SGDR)
bit
7
6
アドレス : 000000F3H D7
D6
読出し / 書込み→ (R/W)
初期値→ (X)
サウンド禁止レジスタ (SGDBL)
bit
7
アドレス : 000000EDH −
読出し / 書込み→
初期値→
(-)
(-)
(R/W)
(X)
6
5
4
3
2
1
−
(-)
(-)
−
(-)
(-)
−
(-)
(-)
−
(-)
(-)
−
(-)
(-)
−
(-)
(-)
567
第 23 章 サウンド生成器
23.2.1
サウンドコントロールレジスタ
サウンドコントロールレジスタの機能について説明します。
■ サウンドコントロールレジスタの機能
図 23.2-2 に , サウンドコントロールレジスタのビット構成を示します。
図 23.2-2 サウンドコントロールレジスタのビット構成
サウンドコントロールレジスタ
bit
7
6
5
S1
S0
TONE
(R/W)
(R/W)
初期値→
(0)
bit
アドレス : 000000EFH
読出し / 書込み→
アドレス : 000000EEH
読出し / 書込み→
初期値→
4
3
2
1
0
−
−
INTE
INT
ST
(R/W)
(-)
(-)
(R/W)
(R/W)
(R/W)
(0)
(0)
(-)
(-)
(0)
(0)
(0)
15
14
13
12
11
10
9
8
TST
−
−
−
−
−
BUSY
DEC
(R/W)
(-)
(-)
(-)
(-)
(-)
(R)
(R/W)
(0)
(-)
(-)
(-)
(-)
(-)
(0)
(0)
SGCR
SGCR
以下に , サウンドコントロールレジスタの各ビットの機能を説明します。
[bit15] TST : テストビット
このビットは , デバイステスト用です。いずれのユーザアプリケーションにおいて
も , "0" に設定します。
[bit9] BUSY : ビジービット
このビットは , サウンド生成器が動作中であるかどうかを示します。ST ビットを
"1" に設定すると , このビットも "1" に設定されます。ST ビットを "0" にリセット
し , 1 トーンサイクル終了時に動作が完了すると , このビットは "0" にリセットされ
ます。このビットに対して出されるすべての書込み命令は無効となります。
[bit8] DEC : 自動デクリメント許可ビット
DEC ビットは , デクリメントグレードレジスタとともに , サウンドの自動デクリメ
ント用に設計されています。
このビットを "1" に設定すると , デクリメントグレードレジスタが指定したトグル
フリップフロップからのトーンパルス数を減分カウンタがカウントするごとに , 振
幅データレジスタに記憶されている値は 1 つずつデクリメントされます。
[bit7, bit6] S1, S0 : 動作クロック選択ビット
これらのビットは , サウンド生成器用のクロック入力信号を指定します。
表 23.2-1 に , クロック入力信号の設定内容を示します。
568
第 23 章 サウンド生成器
表 23.2-1 クロック入力信号の設定内容
S1
S0
0
0
CLKP
0
1
1/2 CLKP
1
0
1/4 CLKP
1
1
1/8 CLKP
クロック入力
[bit5] TONE : トーン出力ビット
このビットを "1" に設定すると , SGO 信号は , トグルフリップフロップからの単純
方形波形 ( トーンパルス ) になります。"1" 以外を設定した場合は , トーンパルスと
PWM パルスの混合 ( 論理和 ) 信号になります。
[bit2] INTE : 割込み許可ビット
このビットは , サウンド生成器の割込み信号を許可します。このビットが "1" で ,
INT ビットも "1" に設定されると , サウンド生成器は割込み信号を出力します。
[bit1] INT : 割込みビット
トーンパルスカウンタが , トーンカウントレジスタ , およびデクリメントグレード
レジスタが指定したトーンパルス数をカウントすると , このビットは "1" に設定さ
れます。
このビットは , "0" を書き込むと "0" にリセットされます。"1" を書き込んでも無効
となります。リードモディファイライト系命令では , 常に "1" を読み出します。
[bit0] ST : スタートビット
このビットは , サウンド生成器の動作開始用です。このビットが "1" である間は , サ
ウンド生成器は動作しています。
このビットを "0" にリセットすると , サウンド生成器は現行のトーンサイクル終了
時に動作を停止します。BUSY ビットは , サウンド生成器が完全に停止したかどう
かを示します。
569
第 23 章 サウンド生成器
周波数データレジスタ (SGFR)
23.2.2
周波数データレジスタの機能について説明します。
■ 周波数データレジスタの機能
図 23.2-3 に , 周波数データレジスタのビット構成を示します。
図 23.2-3 周波数データレジスタのビット構成
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)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
アドレス : 000000F1H
読出し / 書込み→
初期値→
SGFR
周波数データレジスタは , 周波数カウンタのリロード値を格納します。格納された値は ,
サウンド ( またはトグルフリップフロップからのトーン信号 ) の周波数を表します。レ
ジスタ値は , トグル信号が遷移するたびに , カウンタにリロードされます。
図 23.2-4 に , トーン信号とレジスタ値の関係を示します。
図 23.2-4 トーン信号とレジスタ値の関係
1 トーンサイクル
トーン信号
(レジスタ値+1) × (レジスタ値+1) ×
1 PWM サイクル
1 PWM サイクル
<注意事項>
570
動作中にレジスタ値を修正すると , 修正のタイミングによって , デューティサイク
ルの 50 % が変更されることもありますので , 注意してください。
第 23 章 サウンド生成器
23.2.3
振幅データレジスタ (SGAR)
振幅データレジスタの機能について説明します。
■ 振幅データレジスタの機能
図 23.2-5 に , 振幅データレジスタのビット構成を示します。
図 23.2-5 振幅データレジスタのビット構成
bit
15
14
13
12
11
10
9
8
アドレス : 000000F0H
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)
読出し / 書込み→
初期値→
SGAR
振幅データレジスタは , PWM パルス生成器のリロード値を記憶します。レジスタ値は ,
サウンドの振幅を表わします。レジスタ値は , 各トーンサイクル終了時に , PWM パル
ス生成器にリロードされます。
SGCR レジスタの DEC ビットが "1" で , 減分カウンタがリロード値に達すると , このレ
ジスタ値は 1 つずつデクリメントされます。レジスタ値が "00H" になると , それ以上の
デクリメントはしません。ただし , サウンド生成器は , ST ビットがクリアされるまで
動作し続けます。図 23.2-6 に , レジスタ値と PWM パルスの関係を示します。
図 23.2-6 レジスタ値と PWM パルスの関係
レジスタ値
1 PWM サイクル
256入力クロックサイクル
00 H
1 入力クロックサイクル
80H
129 入力クロックサイクル
FE H
255 入力クロックサイクル
FFH
256 入力クロックサイクル
(注意事項)レジスタ値が"FFH"に設定されると,PWM信号は常に"1"となります。
571
第 23 章 サウンド生成器
23.2.4
デクリメントグレードレジスタ (SGDR)
デクリメントグレードレジスタの機能について説明します。
■ デクリメントグレードレジスタの機能
図 23.2-7 に , デクリメントグレードレジスタのビット構成を示します。
図 23.2-7 デクリメントグレードレジスタのビット構成
bit
アドレス : 000000F3H
読出し / 書込み→
初期値→
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)
SGDR
デクリメントグレードレジスタは , 減分カウンタのリロード値を格納します。この機能
は , 振幅データレジスタに記憶した値を , 自動的にデクリメントするよう設計されてい
ます。
SGCR レジスタの DEC ビットが "1" で , 減分カウンタがトーンパルス数をリロード値
までカウントすると , 振幅データレジスタに記憶された値は , トーンサイクル終了時に
1 つずつデクリメントされます。
この動作によって , サウンドの自動デクリメントが , より少ない CPU 介入でできるよ
うになります。
このレジスタが指定したトーンパルス数は , 「レジスタ値 +1」であることに注意して
ください。デクリメントグレードレジスタが "00H" に設定されると , デクリメント動作
はトーンサイクルごとに行われます。
572
第 23 章 サウンド生成器
23.2.5
トーンカウントレジスタ (SGTR)
トーンカウントレジスタの機能について説明します。
■ トーンカウントレジスタの機能
図 23.2-8 に , トーンカウントレジスタのビット構成を示します。
図 23.2-8 トーンカウントレジスタのビット構成
bit
15
14
13
12
11
10
9
8
アドレス : 000000F2H
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)
読出し / 書込み→
初期値→
SGTR
トーンカウントレジスタは , トーンパルスカウンタのリロード値を格納します。トーン
パルスカウンタにはトーンパルス数 ( またはデクリメント動作数 ) が累積され , リロー
ド値になると SGCR レジスタの INT ビットを設定します。これらは , 割込みの頻度を
減少させるよう設計されています。
トーンパルスカウンタのカウント入力は , 減分カウンタからのキャリーアウト信号と
接続されています。トーンカウントレジスタに "00H" が設定されると , トーンパルスカ
ウンタは , 減分カウンタからのキャリーアウト信号ごとに , SGCR レジスタの INT ビッ
トを設定します。累積トーンパルス数は次式で表わされます。
(( デクリメントグレードレジスタ )+1) × (( トーンカウントレジスタ )+1)
すなわち , 両レジスタが "00H" に設定されると , トーンサイクルごとに SGCR レジスタ
の INT ビットが設定されます。
573
第 23 章 サウンド生成器
23.2.6
サウンド禁止レジスタ (SGDBL)
サウンド禁止レジスタのビット構成を示します。
■ サウンド禁止レジスタの機能
図 23.2-9 に , サウンド禁止レジスタのビット構成を示します。
図 23.2-9 サウンド禁止レジスタのビット構成
bit
7
6
5
4
3
2
1
0
アドレス : 000000EDH
−
−
−
−
−
−
−
DBL
読出し / 書込み→
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(R/W)
初期値→
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(0)
SGDBL
このビットは , サウンド生成器のクロックを制御するために使用します。
このビットに "1" を書き込むと , サウンド生成器モジュールのクロックは使用不可とな
ります。"0" を設定すると , クロックがサウンド生成器モジュールに供給されます。
このビットは , リセット時に "0" に初期化されます。読出し , および書込みが可能です。
574
第 24 章
ステッパモータ
コントローラ
ステッパモータコントローラの概要を示し , レジス
タの構成と機能について説明します。
24.1 ステッパモータコントローラの概要
24.2 ステッパモータコントローラのレジスタ
575
第 24 章 ステッパモータ コントローラ
24.1
ステッパモータコントローラの概要
ステッパモータコントローラの概要とブロックダイヤグラムを示します。
■ ステッパモータコントローラの概要
ステッパモータコントローラは , 2 個の PWM パルス発生器 , 4 個のモータドライバ , セ
レクタロジック , およびゼロロータポジション検出器から構成されています。
4 種類のモータドライバには高出力ドライブ機能があり , 2 個のモータコイルの終端 4
箇所に直接接続できます。PWM パルス発生器 , およびセレクタロジックを組み合わせ
ることによって , モータの回転を制御するよう設計されています。同期のメカニズムは ,
2 個の PWM の同期動作を保証します。ゼロロータポジション検出器を利用して , CPU
はロータ動作のフィードバック情報を得ることができます。
以下のセクションでは , ステッパモータコントローラ 0 に関してのみ解説します。他の
コントローラにも , 同様の機能があります。レジスタアドレスは , 「付録 A I/O マッ
プ」に示してあります。
<注意事項>
576
ロータのゼロポジション検出機能は , Siemens VDO Automotive AG の特許により保
護されており , VDO から事前に承認を得た場合にのみ使用できます。
第 24 章 ステッパモータ コントローラ
■ ステッパモータコントローラのブロックダイヤグラム
図 24.1-1 に , ステッパモータコントローラのブロックダイヤグラムを示します。
図 24.1-1 ステッパモータコントローラのブロックダイヤグラム
マシンクロック
プリスケーラ
CK
EN
P2
P1
PWM1P0
セレクタ
PWM1 パルス発生器
PWM
PWM1M0
P0
PWM1 比較レジスタ
PWM1 選択レジスタ
CK
セレクタ
PWM2P0
PWM2 パルス発生器
CE
EN
PWM2M0
PWM
ロード
PWM2 比較レジスタ
BS
PWM2 選択レジスタ
比較器
デバウンス論理
8ビットカウンタ
ゼロ検知 0 レジスタ
+
-
PWM2M0
1/9 AVCC
基準電圧
パワーダウン
ゼロロータポジション検出器
577
第 24 章 ステッパモータ コントローラ
24.2
ステッパモータコントローラのレジスタ
ステッパモータコントローラのレジスタの機能について説明します。
■ ステッパモータコントローラのレジスタ一覧
図 24.2-1 に , ステッパモータコントローラのレジスタ一覧を示します。
図 24.2-1 ステッパモータコントローラのレジスタ一覧
ゼロ検知 0 レジスタ (ZPD0)
bit 15
アドレス : 000000D0H S1
読出し / 書込み→ (R/W)
初期値→ (0)
14
S0
(R/W)
(0)
13
TS
(R/W)
(0)
12
T2
(R/W)
(0)
11
T1
(R/W)
(0)
10
T0
(R/W)
(0)
9
PD
(R/W)
(0)
8
RS
(R)
(0)
PWM 制御 0 レジスタ (PWC0)
bit
7
アドレス : 000000D1H S2
読出し / 書込み→ (R/W)
初期値→ (0)
6
P2
(R/W)
(0)
5
P1
(R/W)
(0)
4
P0
(R/W)
(0)
3
CE
(R/W)
(0)
2
1
−
(-)
(-)
−
(-)
(-)
0
TST
(R/W)
(0)
PWM 比較レジスタ (PWC20)
bit 15
アドレス : 000000D8H D7
読出し / 書込み→ (R/W)
初期値→ (X)
14
D6
(R/W)
(X)
13
D5
(R/W)
(X)
12
D4
(R/W)
(X)
11
D3
(R/W)
(X)
10
D2
(R/W)
(X)
9
D1
(R/W)
(X)
8
D0
(R/W)
(X)
6
D6
5
D5
4
D4
3
D3
2
D2
1
D1
0
D0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
14
BS
(R/W)
(0)
13
P2
(R/W)
(0)
12
P1
(R/W)
(0)
11
P0
(R/W)
(0)
10
M2
(R/W)
(0)
9
M1
(R/W)
(0)
8
M0
(R/W)
(0)
7
6
−
(-)
(-)
−
(-)
(-)
5
P2
4
P1
3
P0
2
M2
1
M1
0
M0
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
13
12
11
10
9
−
(-)
(-)
−
(-)
(-)
−
(-)
(-)
−
(-)
(-)
−
(-)
(-)
8
DBL
(PWC10)
アドレス : 000000D9H
7
D7
読出し / 書込み→ (R/W)
初期値→ (X)
PWM 選択レジスタ (PWS20)
bit 15
アドレス : 000000DAH −
読出し / 書込み→ (-)
初期値→ (-)
(PWS10)
アドレス : 000000DBH
読出し / 書込み→
初期値→
PWM クロック禁止レジスタ (SMDBL0)
bit 15
14
アドレス : 000000E8H −
−
読出し / 書込み→
初期値→
578
(-)
(-)
(-)
(-)
(R/W)
(0)
第 24 章 ステッパモータ コントローラ
24.2.1
ゼロ検知 0 レジスタ (ZPD0)
ゼロ検知 0 レジスタの機能について説明します。
■ ゼロ検知 0 レジスタの機能
図 24.2-2 に , ゼロ検知 0 レジスタのビット構成を示します。
図 24.2-2 ゼロ検知 0 レジスタのビット構成
bit
15
14
13
12
11
10
9
8
アドレス : 000000D0H
S1
S0
TS
T2
T1
T0
PD
RS
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R)
(0)
(0)
(0)
(0)
(0)
(0)
(1)
(0)
読出し / 書込み→
初期値→
ZPD0
[bit15, bit14] S1, S0 : デバウンスクロック選択ビット
これらのビットは , デバウンスロジックのクロック周波数を指定します。デバウン
スロジックは , 指定したクロック周波数で比較器の出力をサンプリングします。
表 24.2-1 に , デバウンスロジックのクロック周波数の設定内容を示します。
表 24.2-1 デバウンスロジックのクロック周波数
S2*
S1
S0
クロック入力
0
0
0
周辺機器用クロック (CLKP)
0
0
1
CLKP/2
0
1
0
CLKP/4
0
1
1
CLKP/8
1
0
0
予約
1
0
1
CLKP/5
1
1
0
CLKP/6
1
1
1
予約
* : S2 は PWC0 レジスタのビット 7 です。
[bit13] TS : タイムスライスビット
このビットは , ゼロロータポジション検出器の動作を許可します。このビットが "1"
のとき , ゼロロータポジション検出器は , PWM2M0 端子における入力電圧を基準電
圧と比較し , 入力電圧が基準電圧を超えた場合は RS ビットを設定します。*
* : 比較器用に , 3µs の設定時間が必要です。
579
第 24 章 ステッパモータ コントローラ
[bit12 ∼ bit10] T2 ∼ T0 : サンプル数選択
これらのビットは , デバウンス論理のサンプル数を指定します。デバウンス論理は ,
比較器の出力を指定回数だけサンプリングします。サンプリングした数値がすべて
"1" の場合 , デバウンス論理の出力は "1" になります。
表 24.2-2 に , デバウンス論理のサンプル数の設定内容を示します。
表 24.2-2 デバウンス論理のサンプル数
T2
T1
T0
サンプル数
0
0
0
1
0
0
1
2
0
1
0
3
0
1
1
4
1
X
X
5
[bit9] PD : パワーダウンビット
このビットに "1" を設定すると , アナログ部品 ( 比較器 , 基準電圧源 ) への電源供給
が切断されます。
[bit8] RS : 結果ビット
RS ビットは , PWM2M0 端子における入力電圧が基準電圧を超えたかどうかを示し
ます。デバウンス論理出力が "1" になると , RS ビットは "1" に設定されます。TS
ビットが "0" の間は , RS ビットは常に "0" を示します。
580
第 24 章 ステッパモータ コントローラ
24.2.2
PWM 制御 0 レジスタ (PWC0)
PWM 制御 0 レジスタの機能について説明します。
■ PWM 制御 0 レジスタの機能
図 24.2-3 に , PWM 制御 0 レジスタのビット構成を示します。
図 24.2-3 PWM 制御 0 レジスタのビット構成
bit
アドレス : 000000D1H
読出し / 書込み→
初期値→
7
6
5
4
3
2
1
0
S2
P2
P1
P0
CE
−
−
TST
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(-)
(-)
(R/W)
(0)
(0)
(0)
(0)
(0)
(-)
(-)
(0)
PWC0
[bit7] S2 : デバウンスクロック選択ビット 2
「24.2.1 ゼロ検知 0 レジスタ (ZPD0)」を参照してください。
[bit6 ∼ bit4] P2 ∼ P0 : 動作クロック選択ビット
このビットは , PWM パルス発生器のクロック入力信号を指定します。
表 24.2-3 に , PWM パルス発生器のクロック入力信号の設定内容を示します。
表 24.2-3 PWM パルス発生器のクロック入力信号
P2
P1
P0
クロック入力
0
0
0
周辺機器用クロック (CLKP)
0
0
1
CLKP/2
0
1
0
CLKP/4
0
1
1
CLKP/8
1
0
0
予約
1
0
1
CLKP/5
1
1
0
CLKP/6
1
1
1
予約
[bit3] CE : カウント有効ビット
このビットは , PWM パルス発生器の動作を有効にします。"1" に設定すると , PWM
パルス発生器は動作を開始します。PWM1 パルス発生器の開始から 1 CLKP サイク
ル後に PWM2 パルス発生器が動作を開始することに注意してください。これによっ
て , 出力ドライバからのスイッチングノイズが減少します。
[bit0] TST : テストビット
このビットは , デバイステスト用です。ユーザアプリケーションにおいては , 常に
"0" に設定しなければなりません。
581
第 24 章 ステッパモータ コントローラ
24.2.3
PWM1, PWM2 比較レジスタ (PWC10, PWC20)
PWM1, PWM2 比較レジスタの機能について説明します。
■ PWM1, PWM2 比較レジスタの機能
図 24.2-4 に , PWM1, PWM2 比較レジスタのビット構成を示します。
図 24.2-4 PWM1, PWM2 比較レジスタのビット構成
PWM1 比較 0 レジスタ
bit
アドレス : 000000D9H
読出し / 書込み→
初期値→
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)
PWC10
PWM2 比較 0 レジスタ
bit
15
14
13
12
11
10
9
8
アドレス : 000000D8H
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)
読出し / 書込み→
初期値→
PWC20
2 個の 8 ビット比較レジスタの内容は , PWM パルス幅を決定します。
格納された値が "00H" なら PWM デューティ 0 % を表わし , "FFH" はデューティ 99.6 %
を表わします。
図 24.2-5 に , 比較レジスタの設定値と PWM パルス幅の関係を示します。
図 24.2-5 比較レジスタの設定値と PWM パルス幅の関係
1PWMサイクル
256 入力クロックサイクル
レジスタ値
00 H
80H
128入力クロックサイクル
FFH
256入力クロックサイクル
このレジスタは常時アクセス可能ですが , 修正値は PWM2 選択レジスタの BS ビット
が "1" に設定された後で , 現行の PWM サイクル終了時にパルス幅に反映されます。
582
第 24 章 ステッパモータ コントローラ
24.2.4
PWM1, PWM2 選択レジスタ (PWS10, PWS20)
PWM1, PWM2 選択レジスタの機能について説明します。
■ PWM1, PWM2 選択レジスタの機能
図 24.2-6 に , PWM1, PWM2 選択レジスタのビット構成を示します。
図 24.2-6 PWM1, PWM2 選択レジスタのビット構成
PWM1 選択レジスタ
bit
7
6
5
4
3
2
1
0
アドレス : 000000DBH
−
−
P2
P1
P0
M2
M1
M0
読出し / 書込み→
(-)
(-)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値→
(-)
(-)
(0)
(0)
(0)
(0)
(0)
(0)
PWS10
PWM2 選択レジスタ
15
14
13
12
11
10
9
8
アドレス : 000000DAH
bit
−
BS
P2
P1
P0
M2
M1
M0
読出し / 書込み→
(-)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値→
(-)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
PWS20
[bit14] BS : 更新ビット
このビットは , PWM 出力設定の同期調整用です。両比較レジスタ , および両選択レ
ジスタの修正はすべて , このビットが設定されるまでは出力信号に反映されませ
ん。
このビットが "1" に設定されると , PWM パルス発生器 , およびセレクタは , 現行の
PWM サイクル終了時にレジスタの内容をロードします。
BS ビットは , 直後の PWM
サイクル開始時に自動的に "0" にリセットされます。自動リセットと同時にソフト
ウェアが BS ビットに "1" を設定すると , BS ビットは "1" に設定され ( そのまま変
わらず ), 自動リセットはキャンセルされます。
[bit13 ∼ bit11] P2 ∼ P0 : 出力選択ビット
これらのビットは , PWM2P0 における出力信号を選択します。
[bit10 ∼ bit8] M2 ∼ M0 : 出力選択ビット
これらのビットは , PWM2M0 における出力信号を選択します。
[bit5 ∼ bit3] P2 ∼ P0 : 出力選択ビット
これらのビットは , PWM1P0 における出力信号を選択します。
表 24.2-4 に , 出力レベルと選択ビットの関係を示します。
[bit2 ∼ bit0] M2 ∼ M0 : 出力選択ビット
これらのビットは , PWM1M0 における出力信号を選択します。
表 24.2-4 に , 出力レベルと選択ビットの関係を示します。
583
第 24 章 ステッパモータ コントローラ
表 24.2-4 出力レベルと選択ビットの関係
P2
P1
P0
PWMnP0
M2
M1
M0
PWMnM0
0
0
0
"L"
0
0
0
"L"
0
0
1
"H"
0
0
1
"H"
0
1
X
PWM パルス
0
1
X
PWM パルス
1
X
X
ハイインピーダンス
1
X
X
ハイインピーダンス
584
第 24 章 ステッパモータ コントローラ
PWM クロック禁止レジスタ (SMDBL)
24.2.5
この項では , PWM クロック禁止レジスタの機能について説明します。
■ PWM クロック禁止レジスタの機能
図 24.2-7 に , PWM クロック禁止レジスタのビット構成を示します。
図 24.2-7 PWM クロック禁止レジスタのビット構成
bit
15
14
13
12
11
10
9
8
アドレス : 000000E8H
−
−
−
−
−
−
−
DBL
読出し / 書込み→
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(R/W)
初期値→
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(0)
SMDBL0
[bit8] DBL : クロック禁止ビット
このビットに "1" を設定すると , SMC モジュールのクロックは禁止されます。"0"
を設定すると , クロックは SMC モジュールに供給されます。このビットは "0" に初
期化されます。読出し , および書込みが可能です。
<注意事項>
SMC1, および SMC3 に関しては , このビットはビットポジション 0 となります。
585
第 24 章 ステッパモータ コントローラ
586
第 25 章
U- タイマ
U- タイマ (U-TIMER) は , UART のボーレートを発
生するために使用する 16 ビットタイマです。ここ
では , U- タイマの概要を示し , レジスタの構造と
その機能 , および U- タイマの動作について説明し
ます。
25.1 U- タイマ (U-TIMER) の概要
25.2 U- タイマ (U-TIMER) のレジスタ
25.3 U- タイマ (U-TIMER) の動作
587
第 25 章 U- タイマ
25.1
U- タイマ (U-TIMER) の概要
U- タイマ (U-TIMER) は , UART のボーレートを発生するために使用する 16 ビット
タイマです。チップの動作周波数および U-TIMER のリロード値を組み合わせて ,
ユーザ定義のボーレートを設定することができます。本タイマは , カウントアンダ
フローで割込みを発生するので , インターバルタイマとしても使用可能です。
MB91360 シリーズは , 3 種類の U-TIMER チャネルを内蔵しています。インターバ
ルタイマは , 最大 216 × CLKP です。
■ U- タイマ (U-TIMER) のブロックダイヤグラム
図 25.1-1 に , U- タイマ (U-TIMER) のブロックダイヤグラムを示します。
図 25.1-1 U- タイマ (U-TIMER) のブロックダイヤグラム
0
bit15
UTIMR (リロードレジスタ)
bit15
ロード
0
UTIM (U-タイマ)
φ
クロック
アンダフロー
制御
(CLKP 周辺回路クロック)
f.f.
588
UARTへ
第 25 章 U- タイマ
25.2
U- タイマ (U-TIMER) のレジスタ
この節では , U- タイマ (U-TIMER) のレジスタの機能について説明します。U- タイマ
(U-TIMER) のレジスタには , 以下の 3 種類があります。
• U- タイマレジスタ (UTIM)
• リロードレジスタ (UTIMR)
• U-TIMER 制御レジスタ (UTIMC)
■ U- タイマ (U-TIMER) のレジスタ構成
図 25.2-1 に , U- タイマ (U-TIMER) のレジスタ構成を示します。
図 25.2-1 U- タイマ (U-TIMER) のレジスタ構成
U- タイマレジスタ (UTIM)
bit
アドレス : 00000074H
15
b15
14
b14
13
b13
12
b12
11
b11
10
b10
9
b9
8
b8
読出し / 書込み→
初期値→
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
bit
アドレス : 00000075H
7
b7
6
b6
5
b5
4
b4
3
b3
2
b2
1
b1
0
b0
読出し / 書込み→
初期値→
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
読出し / 書込み→
初期値→
15
b15
(W)
(0)
14
b14
(W)
(0)
13
b13
(W)
(0)
12
b12
(W)
(0)
11
b11
(W)
(0)
10
b10
(W)
(0)
9
b9
(W)
(0)
8
b8
(W)
(0)
bit
アドレス : 00000075H
7
b7
6
b6
5
b5
4
b4
3
b3
2
b2
1
b1
0
b0
読出し / 書込み→
初期値→
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
14
13
12
−
(-)
(-)
−
(-)
(0)
11
UNDR
10
−
(-)
(-)
9
UTST
8
UTCR
(R/W)
(0)
(R/W)
(1)
14
13
−
(W)
(-)
−
(W)
(-)
リロードレジスタ (UTIMR)
bit
アドレス : 00000074H
U- タイマ制御レジスタ (UTIMC)
bit 15
アドレス : 00000077H UCC1
読出し / 書込み→ (R/W)
初期値→ (0)
DMA 割込みクリアレジスタ (DRCL)
bit 15
アドレス : 00000076H −
読出し / 書込み→
初期値→
(W)
(-)
(R/W)
(0)
予備
(-)
(0)
12
11
10
9
8
−
(W)
(-)
−
(W)
(-)
−
(W)
(-)
−
(W)
(-)
−
(W)
(-)
589
第 25 章 U- タイマ
■ U- タイマレジスタ (UTIM)
U- タイマレジスタ (UTIM) は , タイマ値を示します。16 ビット転送命令でアクセスし
てください。
図 25.2-2 に , U- タイマレジスタ (UTIM) のビット構成を示します。
図 25.2-2 U- タイマレジスタ (UTIM) のビット構成
UTIM アドレス
ch.0 0000 0068H
ch.1 0000 0074H
ch.2 0000 0080H
bit15
b15
14
b14
...................................
2
b2
1
b1
0
b0
初期値 アクセス
0
R
■ U- タイマ リロードレジスタ (UTIMR)
リロードレジスタ (UTIMR) は , UTIM がアンダフローしたときに , UTIM にロードされ
ているリロード値を格納します。16 ビット転送命令でアクセスしてください。
図 25.2-3 に , リロードレジスタ (UTIMR) のビット構成を示します。
図 25.2-3 リロードレジスタ (UTIMR) のビット構成
UTIMR アドレス
ch.0 0000 0068H
ch.1 0000 0074H
ch.2 0000 0080H
bit15
b15
14
b14
...................................
2
b2
1
b1
0
b0
初期値 アクセス
0
W
内部ブート ROM のコードを実行中に有効なブート条件を検出すると , UTIMR0 レジス
タは "0x05" に設定されます。
■ U- タイマ制御レジスタ (UTIMC)
U- タイマ制御レジスタ (UTIMC) は , U-TIMER の動作を制御します。
図 25.2-4 に , U- タイマ制御レジスタ (UTIMC) のビット構成を示します。
図 25.2-4 U- タイマ制御レジスタ (UTIMC) のビット構成
UTIMC アドレス
ch.0 0000 006BH
ch.1 0000 0077H
ch.2 0000 0083H
bit7
UCC1
6
−
5
−
4
3
−
UNDR
2
1
予備
UTST
0
初期値 アクセス
UTCR 0--00001B
R/W
内部ブート ROM のコードを実行中に有効なブート条件を検出すると , UTIMC0 レジス
タは "0x82" に設定されます。
590
第 25 章 U- タイマ
以下に , U- タイマ制御レジスタ (UTIMC) の各ビットの機能を説明します
[bit7] UCC1(U-timer Count Control 1) : U- タイマカウント制御 1
このビットは , U-TIMER のカウント方法を制御します。
UCC1
動作
0
通常動作 α = 2n + 2 [ 初期値 ]
n: UTIMR 設定値
1
+1 モード α= 2n + 3
α: UART に対する出力クロックのサイクル
UART に対して標準の 2(n+1) サイクルのクロックを出力する以外に , U-TIMER の
奇数分周比も設定できます。
UCC1 を "1" に設定すると , 「2n+3」サイクルでクロックを発生します。
以下に , 設定例を 3 例示します。
• UTIMR= 5, UCC1= 0 --> クロックサイクル =2n+2=12 サイクル
• UTIMR= 25, UCC1= 1 --> クロックサイクル =2n+3=53 サイクル
• UTIMR= 60, UCC1= 0 --> クロックサイクル =2n+2=122 サイクル
U-TIMER をインターバルタイマとして使用する場合は , UCC1 値を "0" に設定して
ください。
[bit6, bit5, bit4] 予備ビット
これらのビットは , 予備ビットです。このレジスタに書き込むときは , 常にこれら
のビットを "000" に設定します。
[bit3] UNDR(UNDeR flow flag) : アンダフローフラグ
UNDR は , アンダフローが発生したことを示すフラグです。UNDR は , リセットま
たは "0" を書き込むことによりクリアされます。
リードモディファイライト系命令の読出し値は常に "0" です。
UNDR への "1" の書込みは無効です。
[bit2] 予備ビット
このビットには , 常に "0" を設定してください。
[bit1] UTST(U-TIMER STart) : STart U- タイマ
U-TIMER の動作を許可するビットです。
0
停止 : 動作中に "0" を書き込むと , タイマは停止します。
1
動作中 : 動作中に "1" を書き込んでも , 動作は継続します。
[ 初期値 ]
[bit0] UTCR(U-TIMER CleaR) : U- タイマ解除
UTCR に "0" を書き込むと , U-TIMER は 0000H にクリアされます。
アンダフローフリップフロップ ( 図 25.1-1 の f.f.) も "0" にクリアされます。
このビットでは , 常に "1" が読み出されます。
• タイマ停止時にスタートビット (UTST) を設定すると , カウンタは自動的にリロード
されます。
• タイマ停止時にクリアビット (UTCR), およびスタートビット (UTST) を同時に設定
591
第 25 章 U- タイマ
すると , カウンタはゼロにクリアされ , 直後のカウントダウンでアンダフローが発
生します。
• タイマの動作中にクリアビット (UTCR) を設定すると , カウンタはゼロにクリアさ
れます。
これにより出力波形にスパイク波 ( ヒゲ状の短いパルス ) が出力され , UART
の誤作動の原因となる場合があります。出力クロックを使用する際は , クリアビッ
トを使用してタイマ動作中にカウンタをクリアしないでください。
■ DMA 割込みクリアレジスタ (DRCL)
DMA 割込みクリアレジスタ (DRCL) は , DMA 転送を準備するために使用します。
図 25.2-5 に , DMA 割込みクリアレジスタ (DRCL) のビット構成を示します。
図 25.2-5 DMA 割込みクリアレジスタ (DRCL) のビット構成
DRCL アドレス
ch.0 0000 006AH
ch.1 0000 0076H
ch.2 0000 0082H
bit15
14
13
12
11
10
9
8
−
−
−
−
−
−
−
−
初期値 アクセス
--------B
W
初めて DMA を使用する際は , このレジスタに一度書込みを行ってから使用してくださ
い。
592
第 25 章 U- タイマ
25.3
U- タイマ (U-TIMER) の動作
U- タイマのボーレートの計算について説明します。
■ ボーレートの計算
UART は , 対応する U-TIMER(UART0 の U-TIMER0, UART1 の U-TIMER1, UART2 の
U-TIMER2) のアンダフローフリップフロップ ( 図 25.1-1 の f.f.) を , ボーレートのクロッ
クソースとして使用します。
● 非同期 ( 開始ビット同期 ) モード
UART は , U-TIEMR の出力を 16 分周して使用します。
bps =φ/(2n+2) × 16
UCC1 が "0" の場合
bps =φ/(2n+3) × 16
UCC1 が "1" の場合
n : UTIMR( リロード値 )
φ : 周辺回路クロック CLKP 周波数 ( ギア機能により変動 )
● クロック同期モード
MB91360 シリーズでは , UART のクロック同期モードはサポートされません。
593
第 25 章 U- タイマ
594
第 26 章
UART
UART は , 非同期 ( 開始ビット同期 ) 通信を行うた
めのシリアル I/O ポートです。ここでは , UART の
概要を示し , レジスタの構造と機能 , および UART
の動作について説明します。
26.1 UART の概要
26.2 UART のレジスタ
26.3 UART の動作
595
第 26 章 UART
26.1
UART の概要
UART は , 非同期 ( 開始ビット同期 ) 通信を行うためのシリアル I/O ポートです。
MB91360 シリーズは , UART を最大 3 チャネルを内蔵しています。
■ UART の特長
UART は , 以下の特長をもっています。
• 全二重ダブルバッファ
• 非同期 ( 開始ビット同期 ) 通信が可能
• マルチプロセッサモードをサポート
•
完全プログラマブルボーレート : 内部タイマにより , 任意のボーレートを設定可
能 (「第 25 章 U- タイマ」参照 )
• 外部クロックによる自由なボーレートの設定が可能
• エラー検出機能 ( パリティ , フレーミング , オーバラン )
• NRZ 転送信号
• 割込みによる DMA 転送の起動が可能
596
第 26 章 UART
■ UART のブロックダイヤグラム
図 26.1-1 に , UART のブロックダイヤグラムを示します。
図 26.1-1 UART のブロックダイヤグラム
制御信号
受信割込み(CPUへ)
SC(クロック)
送信クロック
U-TIMERより
クロック
選択回路
送信割込み(CPUへ)
受信クロック
外部クロック
SC
SI
(受信データ)
受信制御回路
送信制御回路
スタートビット
検出回路
送信スタート
回路
受信ビット
カウンタ
送信ビット
カウンタ
受信パリティ
カウンタ
送信パリティ
カウンタ
SO
(送信データ)
受信状態判定回路
受信用シフタ
送信用シフタ
受信完了
送信開始
SIDR
SODR
DMA用受信エラー
発生信号(DMACへ)
R-bus
MD1
MD0
SMR
レジスタ
CS0
SCR
レジスタ
PEN
P
SBL
CL
A/D
REC
RXE
TXE
SSR
レジスタ
PE
ORE
FRE
RDRF
TDRE
RIE
TIE
制御信号
597
第 26 章 UART
26.2
UART のレジスタ
UART レジスタの一覧を示し , 各レジスタの機能について説明します。
■ UART のレジスタ構成
図 26.2-1 に , UART のレジスタ一覧を示します。
図 26.2-1 UART のレジスタ一覧
シリアルモードレジスタ (SMR)
6
5
4
3
2
1
0
MD1
MD0
(R/W)
予約
(-)
予約
(-)
CS0
読出し / 書込み→ (R/W)
(W)
予約
(-)
−
(-)
−
(-)
(0)
(-)
(-)
(0)
(-)
(0)
(0)
アドレス :
bit
SMR0:000063H, SMR1:00006FH, SMR2:00007BH
初期値→
7
(0)
シリアル制御レジスタ (SCR)
アドレス :
bit
SCR0:000062H, SCR1:00006EH, SCR2:00007AH
7
6
5
4
3
2
1
0
PEN
P
SBL
CL
A/D
REC
RXC
TXE
(R/W)
(R/W)
(R/W)
(R/W)
(W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(1)
(0)
(0)
読出し / 書込み→ (R/W)
初期値→
(0)
シリアル入力レジスタ (SIDR)
7
6
5
4
3
2
1
0
SIDR0:000061H,SIDR1:000006DH,SIDR2:000079H
D7
D6
D5
D4
D3
D2
D1
D0
読出し / 書込み→
(R)
(R)
(R)
(R)
(R)
(R)
(R)
(R)
初期値→
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
アドレス :
bit
シリアル出力レジスタ (SODR)
7
6
5
4
3
2
1
0
SODR0:000061H,SODR1:00006DH,SODR2:000079H
D7
D6
D5
D4
D3
D2
D1
D0
読出し / 書込み→
(W)
(W)
(W)
(W)
(W)
(W)
(W)
(W)
初期値→
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
10
9
8
RIE
TIE
アドレス :
bit
シリアル状態レジスタ (SSR)
bit
15
14
13
12
11
SSR0:000060H, SSR1:00006CH, SSR2:000078H
PE
ORE
FRE
RDRF
TDRE
読出し / 書込み→
(R)
(R)
(R)
(R)
(R)
−
(-)
(R/W)
(R/W)
初期値→
(0)
(0)
(0)
(0)
(1)
(-)
(0)
(0)
bit
15
14
13
12
11
10
9
8
ULS0:000064H, ULS1:000070H, ULS2:00007CH
−
(-)
−
(-)
−
(-)
−
(-)
NSDO
NSDI
読出し / 書込み→
(R/W)
(R/W)
(R/W)
(R/W)
初期値→
(-)
(-)
(-)
(-)
(0)
(0)
(0)
(0)
アドレス :
UART レベル選択レジスタ (ULS)
アドレス :
598
UTDBL UDBL
第 26 章 UART
シリアルモードレジスタ (SMR)
26.2.1
シリアルモードレジスタ (SMR) は , UART の動作モードを指定します。
動作モードの設定は UART の動作停止中に行い , 動作中にはこのレジスタへの書込
みを行わないでください。
■ シリアルモードレジスタ (SMR) の機能
図 26.2-2 に , シリアルモードレジスタ (SMR) のビット構成を示します。
図 26.2-2 シリアルモードレジスタ (SMR) のビット構成
SMR
bit7
アドレス :
SMR0: 000063H MD1
SMR1: 00006FH R/W
SMR2: 00007BH
6
5
4
3
2
1
0
MD0
R/W
予約
予約
CS0
W
予約
予約
予約
初期値
00--0-00B
←アクセス
内部ブート ROM のコードを実行中に有効なブート状態が検出されると , SMR0 レジス
タは "0x31" に設定されます。
以下に , シリアルモードレジスタ (SMR) の各ビットの機能を説明します。
[bit7, bit6] MD1, MD0(MoDe select) : モード選択
これらのビットは , UART の動作モードを選択します。
表 26.2-1 に , UART の動作モードの設定内容を示します。
表 26.2-1 UART の動作モード
モード
MD1
MD0
0
0
0
非同期 ( 開始ビット同期 ) ノーマルモード
1
0
1
非同期 ( 開始ビット同期 ) マルチプロセッサモード
2
1
0
CLK 同期モード (MB91360 シリーズではサポートしていません )
-
1
1
設定禁止
<注意事項>
動作モード
[ 初期値 ]
モード 1 の CLK 非同期モード ( マルチプロセッサ ) とは , 1 台のホスト CPU に数
台のスレーブ CPU を接続する使用方法です。UART では , 受信データのデータ
フォーマットを判別できません。したがって , MB91360 シリーズは , マルチプロ
セッサモードのホスト ( マスタ )CPU のみをサポートします。また , パリティ
チェック機能は使用できませんので , SCR レジスタの PEN ビットは "0" に設定し
てください。
[bit5, bit4] 予約ビット
これらのビットは , 予約ビットです。常に "1" に設定します。
599
第 26 章 UART
[bit3] CS0(Clock Select) : クロック選択
このビットは , UART の動作クロックを選択します。
0
内部タイマ (U-TIMER)
[ 初期値 ]
1
外部クロック (MB91360 シリーズではサポートしていません )
[bit2 ∼ bit0] 予約ビット
これらのビットは , 予約ビットです。常に "000" に設定します。bit 1 は SCKE ( シ
リアル・クロック有効 ) , bit 0 は SOE ( シリアル・アウト有効 ) です。MB91360 シ
リーズでは , いずれの機能もサポートされません。シリアル出力を有効にするには ,
対応のポート機能レジスタ・ビットを設定します。
600
第 26 章 UART
26.2.2
シリアル制御レジスタ (SCR)
シリアル制御レジスタ (SCR) は , シリアル通信を行う場合の転送プロトコルを制御
します。
■ シリアル制御レジスタ (SCR) の機能
図 26.2-3 に , シリアル制御レジスタ (SCR) のビット構成を示します。
図 26.2-3 シリアル制御レジスタ (SCR) のビット構成
SCR
bit7
アドレス :
SCR0: 000062H PEN
SCR1: 00006EH R/W
SCR2: 00007AH
6
5
4
3
2
1
0
P
R/W
SBL
R/W
CL
R/W
A/D
R/W
REC
W
RXC
R/W
TXE
R/W
初期値
00000100B
←アクセス
内部ブート ROM のコードを実行中に有効なブート状態が検出されると , SCR0 レジス
タは "0x13" に設定されます。
以下に , シリアル制御レジスタ (SCR) の各ビットの機能を説明します。
[bit7] PEN(Parity ENable) : パリティ許可
このビットは , シリアル通信において , パリティビットを付加してデータ通信を行
うかどうかを指定します。
0
パリティを使用しない
1
パリティを使用する
[ 初期値 ]
パリティビットを付加できるのは , 非同期 ( 開始ビット同期 ) 通信モードのノーマ
ルモード ( モード 0) のみです。マルチプロセッサモード ( モード 1) では , パリティ
ビットを付加することはできません。
[bit6] P : パリティ
このビットは , シリアル通信において , パリティビットを付加してデータ通信を行
うときに , 偶数 / 奇数パリティを指定します。
0
偶数パリティ
1
奇数パリティ
[ 初期値 ]
[bit5] SBL(Stop Bit Length) : ストップビット長
このビットは , 非同期 ( 開始ビット同期 ) 通信モードでのフレームエンドマーク用
のストップビットのビット長を指定します。
0
1 ストップビット
1
2 ストップビット
[ 初期値 ]
601
第 26 章 UART
[bit4] CL(Character Length) : データ長
このビットは , 送受信する 1 フレームのデータ長を指定します。
0
7 ビットデータ
1
8 ビットデータ
[ 初期値 ]
7 ビットデータを扱えるのは , 非同期 ( 開始ビット同期 ) 通信モードのうちのノーマ
ルモード ( モード 0) のみです。マルチプロセッサモード ( モード 1) では , 8 ビット
データとしてください。
[bit3] A/D(Address/Data) : アドレス / データフレーム
このビットは , 非同期 ( 開始ビット同期 ) 通信のマルチプロセッサモード ( モード 1)
において送受信するフレームの , データ形式を指定します。
0
データフレーム
1
アドレスフレーム
[ 初期値 ]
[bit2] REC(Receiver Error Clear) : 受信エラークリア
このビットは , SSR レジスタのエラーフラグ (PE, ORE, FRE) をクリアします。
0
SSR レジスタのエラーフラグ (PE, ORE, FRE) をクリアします。
1
"1" の書込みは無視されます。読出し値は常に "1" になります。
[bit1] RXE(Receiver Enable) : 受信許可
このビットは , UART の受信を制御します。
0
受信を禁止します。
1
受信を許可します。
[ 初期値 ]
受信中 ( 受信シフタにデータが入力されているとき ) に受信を禁止した場合は , そ
のフレームの受信を完了し , 受信データバッファ SIDR レジスタに受信データを格
納したところで UART は受信を停止します。
[bit0] TXE(Transmitter Enable) : 送信許可
このビットは , UART の送信を制御します。
0
送信を禁止します。
1
送信を許可します。
[ 初期値 ]
送信中 ( 送信レジスタからデータが出力されているとき ) に送信を禁止した場合は ,
送信データバッファ SODR レジスタにデータがなくなるまで , UART は送信を停止
しません。
602
第 26 章 UART
26.2.3
シリアル入力レジスタ (SIDR), シリアル出力レジスタ
(SODR)
シリアル入力レジスタ (SIDR), およびシリアル出力レジスタ (SODR) は , 受信 / 送信
用のデータバッファレジスタです。
データ長を 7 ビットに設定している場合は , MSB(D7) は無視されます。
SODR レジスタへの書込みは , SSR レジスタの TDRE ビットが "1" の時に行ってく
ださい。
■ シリアル入力レジスタ (SIDR), およびシリアル出力レジスタ (SODR) の構成
図 26.2-4 に , シリアル入力レジスタ (SIDR), およびシリアル出力レジスタ (SODR) の
ビット構成を示します。
図 26.2-4 シリアル入力レジスタ , およびシリアル出力レジスタのビット構成
SIDR
アドレス :
SIDR0: 000061H
SIDR1: 00006DH
SIDR2: 000079H
SODR
アドレス :
SODR0: 000061H
SODR1: 00006DH
SODR2: 000079H
bit7
D7
6
D6
5
D5
4
D4
3
D3
2
D2
1
D1
0
D0
初期値
不定
アクセス
R
D7
D6
D5
D4
D3
D2
D1
D0
不定
W
( 注意事項 ) このアドレスへの書込みは SODR レジスタへの書込みを , 読出しは SIDR レジスタの読出し
を意味します。
603
第 26 章 UART
26.2.4
シリアル状態レジスタ (SSR)
シリアル状態レジスタ (SSR) は , UART の動作状態を表すフラグで構成されていま
す。
■ シリアル状態レジスタ (SSR) の機能
図 26.2-5 に , シリアル状態レジスタ (SSR) のビット構成を示します。
図 26.2-5 シリアル状態レジスタ (SSR) のビット構成
SSR
bit15
アドレス :
SSR0: 000060H PE
SSR1: 00006CH
R
SSR2: 000078H
14
13
12
11
10
9
8
ORE
R
FRE
R
RDRF
R
TDRE
R
予備
RIE
R/W
TIE
R/W
初期値
00001-00B
←アクセス
以下に , シリアル状態レジスタ (SSR) の各ビットの機能を説明します。
[bit15] PE(Parity Error) : パリティエラー
このビットは , 受信時にパリティエラーが発生したときに設定される , 割込み要求
フラグです。
一度設定されたフラグをクリアするには , SCR レジスタの REC ビット (bit2) に "0"
を書き込みます。
このビットが設定された場合には , SIDR レジスタのデータは無効になります。
0
パリティエラーなし
1
パリティエラーが発生
[ 初期値 ]
[bit14] ORE(Over Run Error) : オーバランエラー
このビットは , 受信時にオーバランエラーが発生したときに設定される , 割込み要
求フラグです。
一度設定されたフラグをクリアするには , SCR レジスタの REC ビットに "0" を書き
込みます。
このビットが設定された場合には , SIDR レジスタのデータは無効になります。
0
オーバランエラーなし
1
オーバランエラー発生
[ 初期値 ]
[bit13] FRE(FRaming Error) : フレーミングエラー
このビットは , 受信時にフレーミングエラーが発生したときに設定される , 割込み
要求フラグです。
一度設定されたフラグをクリアするには , SCR レジスタの REC ビットに "0" を書き
込みます。
604
第 26 章 UART
このビットが設定された場合には , SIDR レジスタのデータは無効になります。
0
フレーミングエラーなし
1
フレーミングエラー発生
[ 初期値 ]
[bit12] RDRF(Receiver Data Register Full) : 受信データレジスタフル
このビットは , SIDR レジスタに受信データがあることを示す , 割込み要求フラグで
す。
SIDR レジスタに受信データがロードされると設定され , SIDR レジスタを読み出す
と自動的にクリアされます。
0
受信データなし
1
受信データあり
[ 初期値 ]
[bit11] TDRE(Transmitter Data Register Empty) : 送信データレジスタエンプティ
このビットは , SODR レジスタに送信データを書き込めることを示す , 割込み要求
フラグです。
SODR レジスタに送信データを書き込むとクリアされます。このビットは , レジス
タに書き込んだデータが送信用シフタにロードされて転送が開始されると , 再び設
定されます。次の送信データを SODR レジスタに書き込めることを表します。
0
送信データの書込み禁止
1
送信データの書込み許可
[ 初期値 ]
[bit10] 予備ビット
このビットは , 予備ビットです。
[bit9] RIE(Receive Interrupt Enable) : 受信割込み許可
このビットは , 受信割込みを制御します。
受信割込み要因は , PE, ORE, FRE によるエラー発生の他 , RDRF による正常受信が
あります。
0
割込みを禁止します。
1
割込みを許可します。
[ 初期値 ]
[bit8] TIE(Transmitter Interrupt Enable) : 送信割込み許可
このビットは , 送信割込みを制御します。
送信割込み要因は , TDRE による送信要求があります。
0
割込みを禁止します。
1
割込みを許可します。
[ 初期値 ]
605
第 26 章 UART
26.2.5
UART レベル選択レジスタ (ULS)
UART レベル選択レジスタは , SDI ( 受信データ ) と SDO ( 送信データ ) のレベルを
制御します。UART, および U- タイマのクロックの制御にも使用されます。
■ UART レベル選択レジスタ (ULS) の機能
図 26.2-6 に , UART レベル選択レジスタ (ULS) のビット構成を示します。
図 26.2-6 UART レベル選択レジスタ (ULS) のビット構成
ULS
アドレス : bit15
ULS0: 000064H −
ULS1: 000070H
ULS2: 00007CH
14
13
12
11
10
−
−
−
NSDO
R/W
NSDI
R/W
9
8
初期値
UTDBL UDBL ----0000B
R/W
R/W ←アクセス
以下に , UART レベル選択レジスタ (ULS) の各ビットの機能を説明します。
[bit11] NSDO : ネゲートシリアルアウトプット
このビットが設定されると , SO の出力信号が反転します。
リセット時に"0"に初期化されます。このビットは読出し, および書込みが可能です。
[bit10] NSDI : ネゲートシリアルインプット
このビットが設定されると , SI の入力信号が反転します。
リセット時に"0"に初期化されます。このビットは読出し, および書込みが可能です。
[bit9] UTDBL : U- タイマ禁止
このビットは , U- タイマのクロックを制御します。
このビットに "1" を書き込むと , U- タイマモジュールのクロックが使用できなくな
ります。"0" を設定すると , U- タイマモジュールにクロックが供給されます。
リセット時に"0"に初期化されます。このビットは読出し, および書込みが可能です。
[bit8] UDBL : UART 禁止
このビットは , UART のクロックを制御します。
このビットに "1" を書き込むと , UART モジュールのクロックが使用できなくなり
ます。"0" を設定すると , UART モジュールにクロックが供給されます。
リセット時に"0"に初期化されます。このビットは読出し, および書込みが可能です。
606
第 26 章 UART
UART の動作
26.3
UART の動作に関する以下の項目について説明します。最初に動作モードとクロッ
ク選択 , 次に各モードについて順に説明します。
• UART の動作モード /UART のクロック選択
• 非同期 ( 開始ビット同期 ) モード
• 割込み生成 , およびフラグの設定タイミング
■ 動作モード
UART には表 26.3-1 に示す動作モードがあり , SMR レジスタ , SCR レジスタに値を設
定することによりモードを切り換えることができます。
表 26.3-1 UART の動作モード
モード
パリティ
データ長
有/無
7 ビット
有/無
8 ビット
無
8 ビット +
1 ビット
0
1
動作モード
非同期 ( 開始ビット同期 ) ノーマルモード
非同期 ( 開始ビット同期 ) マルチプロセッサ
モード
ストップ
ビット長
1 ビット ,
または
2 ビット
ただし , 非同期 ( 開始ビット同期 ) モードでのストップビット長については , 送信のみ
指定が可能です。受信については常に 1 ビット長となります。UART は , 上記モード以
外では動作しませんので , ほかのモードは設定しないでください。
■ UART のクロック選択
● イニシャルタイマ
U- タイマと , U- タイマに設定したリロード値でボーレートが決まります。このときの
ボーレートの算出式は , 次のとおりです。
非同期 ( 開始ビット同期 ) モード : φ/(16 × β)
CLK 同期モード : φ/β
φ : 周辺回路マシンクロック周波数 (CLKP)
β : U-TIMER で設定したサイクル (2n+2 または 2n+3, n はリロード値 )
非同期 ( 開始ビット同期 ) モードでは , 設定したボーレートの -1 % ∼ +1 % までの範囲
のボーレートで転送が可能です。
● CLK 同期モード
MB91360 シリーズでは , CLK 同期モードはサポートされません。
607
第 26 章 UART
非同期 ( 開始ビット同期 ) モード
26.3.1
非同期 ( 開始ビット同期 ) 通信について説明します。
■ 転送データフォーマット
UART は , 内部的に , NRZ(Non Return to Zero : 0 に戻らない ) フォーマットのデータの
みを扱います。図 26.3-1 に , データフォーマットを示します。別のデータフォーマッ
トを使用する場合は , UART レベル選択レジスタ (ULS) 内の該当する設定値を使用し
てください。
図 26.3-1 非同期 ( 開始ビット同期 ) モード ( モード 0, 1) の転送データフォーマット
SI, SO
0
1
0
1
1
0
0
1
LSB
Start
転送されたデータは「01001101B」
0
1
1
MSB
Stop -----------------モード0
A/D Stop -----------モード1
図 26.3-1 に示すように , 転送データは必ずスタートビット ("L" レベルデータ ) から始
まり LSB から指定されたデータビット長の転送が行われ , ストップビット ("H" レベル
データ ) で終了します。
外部クロックを選択している場合は , 常にクロックを入力してください。
ノーマルモード ( モード 0) ではデータ長を 7 ビット , または 8 ビットに設定すること
ができます。
マルチプロセッサモード ( モード 1) ではデータ長は 8 ビットでなければなりません。
また , マルチプロセッサモードではパリティビットを付加することはできません。代わ
りに , A/D ビットが常に付加されます。
■ 受信動作
SCR レジスタの RXE ビット (bit1) が "1" であれば , 常に受信中です。
受信ラインでスタートビットが検知されると , SCR レジスタで決められたデータ
フォーマットに従い , 1 フレームデータの受信が行われます。フレームの受信終了後に
エラーが発生した場合は , エラーフラグが設定され , 次に RDRF フラグ (SSR レジスタ
の bit12) が設定されます。
このとき , SSR レジスタの RIE ビット (bit9) が "1" に設定されていると , CPU に対して
受信割込みが発生します。
SSR レジスタの各フラグを調べ , 正常受信であれば SIDR レジスタの読出し , エラーが
発生していれば必要な処理を行うようにしてください。
RDRF フラグは , SIDR レジスタを読み出すとクリアされます。
608
第 26 章 UART
■ 送信動作
SSR レジスタの TDRE フラグ (bit11) が "1" のとき , SODR レジスタに送信データを書
き込みます。ここで , SCR レジスタの TXE ビット (bit0) が "1" であれば , データの送信
が行われます。
SODRレジスタに設定したデータは送信用シフトレジスタにロードされ, 送信が開始さ
れます。これにより TDRE フラグが再び設定され , SODR レジスタに次の送信データ
が設定できるようになります。
このとき , SSR レジスタの TIE ビット (bit8) が "1" に設定されていると , CPU に対して
送信割込みが出力され , SODR レジスタに送信データを設定するように要求します。
TDRE フラグは , SODR レジスタにデータを設定するとクリアされます。
609
第 26 章 UART
26.3.2
割込み発生 , およびフラグの設定タイミング
UART の割込み生成について説明します。
UART には , 5 つのフラグと 2 つの割込み要因があります。
5 つのフラグは , PE/ORE/FRE/RDRF/TDRE です。PE はパリティエラー , ORE はオーバ
ランエラー , FRE はフレーミングエラーのことです。これらのフラグは , 受信エラーが
発生した時に設定され, SCRレジスタのRECビットに"0"を書き込むとクリアされます。
RDRF は , 受信データが SIDR レジスタに存在することを示す割込みフラグです。RDRF
フラグは , 受信データが SIDR レジスタにロードされると設定され , SIDR レジスタを
読み出すとクリアされます。ただし , モード 1 ではパリティ検出機能が使用できず ,
モード 2 ではパリティ検出機能とフレーミングエラー検出機能が使用できません。
TDRE は , SODR レジスタに送信データを書込み可能であることを示す割込みフラグで
す。TDRE フラグは , SODR レジスタが空になる ( 書込み可能な状態になる ) と設定さ
れ , SODR レジスタへ書き込むとクリアされます。
2 つの割込み要因は , 受信用と送信用です。受信時は , PE/ORE/FRE/RDRF により割込
み要求を発生します。送信時は , TDRE により割込み要求を発生します。各動作モード
における割込みフラグの設定タイミングを以下に示します。
■ モード 0 で受信するときの割込みフラグの設定タイミング
PE, ORE, FRE, RDRF の各フラグは , データの受信が完了し , 最後のストップビットが
検出されたときに設定され , CPU への割込み要求を出力します。
PE, ORE, FRE の設定時は , SIDR のデータは無効になります。
図 26.3-2 に , モード 0 で受信するときの割込みフラグの設定タイミングを示します。
図 26.3-2 モード 0 で受信するときの割込みフラグの設定タイミング
データ
PE, ORE, FRE
RDRF
受信割込み
610
D6
D7
Stop
第 26 章 UART
■ モード 1 で受信するときの割込みフラグの設定タイミング
ORE, FRE, RDRF の各フラグは , データの受信が完了し , 最後のストップビットが検出
されたときに設定され , CPU への割込み要求を出力します。また , 受信可能なデータ長
は 8 ビットであるため , フレームのアドレス / データを示す最後の 9 ビット目は無効
データとなります。
ORE, FRE の設定時は , SIDR のデータは無効になります。
図 26.3-3 に , モード 1 で受信するときの割込みフラグの設定タイミングを示します。
図 26.3-3 モード 1 で受信するときの割込みフラグの設定タイミング
データ
D7
アドレス
/データ
Stop
ORE, FRE
RDRF
受信割込み
■ モード 2 で受信するときの割込みフラグの設定タイミング
ORE, および RDRF のフラグは , データの受信が完了し , 最後のデータビット (D7) が検
出されたときに設定され , CPU への割込み要求を出力します。
ORE の設定時は , SIDR のデータは無効になります。
図 26.3-4 に , モード 2 で受信するときの割込みフラグの設定タイミングを示します。
図 26.3-4 モード 2 で受信するときの割込みフラグの設定タイミング
データ
D5
D6
D7
ORE
RDRF
受信割込み
611
第 26 章 UART
■ モード 0, モード 1, モード 2 で送信するときの割込みフラグの設定タイミング
SODR レジスタに書込みを行うと , TDRE フラグはクリアされ , 内部のシフトレジスタ
にデータが転送されます。次のデータが SODR に書込み可能な状態になると , TDRE フ
ラグが設定され , CPU への割込み要求を出力します。
送信中に SCR レジスタの TXE ビット ( モード 2 のときは RXE ビット ) に "0" を書き
込むと , SSR レジスタの TDRE ビットが "1" となり , 送信用のシフタが停止し , UART
の送信が禁止されます。送信中に SCR レジスタの TXE( モード 2 のときは RXE ビット )
に "0" を書き込んだ後 ( ただし送信が停止する前 ) に , SODR レジスタに書き込まれた
データが送信されます。
図 26.3-5 にモード 0, モード 1 で送信するときの割込みフラグの設定タイミングを , 図
26.3-6 にモード 2 で送信するときの割込みフラグの設定タイミングを示します。
図 26.3-5 モード 0, モード 1 で送信するときの割込みフラグの設定タイミング
SODR書込み
TDRE
CPUへ割込みを要求する
SO割込み
SO出力
ST
D0
D1
D2
D3
D4
D5
D6
D7
SP
A/D
SP
ST
D0
D1
D2
D3
ST:スタートビット D0~D7:データビット SP:ストップビット A/D:アドレス/データマルチプレクサ
図 26.3-6 モード 2 で送信するときの割込みフラグの設定タイミング
SODR書込み
TDRE
CPUへ割込みを要求する
SO割込み
SO出力
D0
D1
D2
D3
D4
D5
D6
D0~D7:データビット
612
D7
D0
D1
D2
D3
D4
D5
D6
D7
第 26 章 UART
26.3.3
その他の項目
「UART の使用上の注意」, 「応用例」, 「ボーレートと U- タイマのリロード値の設
定例」について説明します。
■ UART の使用上の注意
動作モードの設定は , 動作停止中に行ってください。
モードを設定するときに送受信したデータは , 保証されません。
■ 応用例
モード 1 は , 1 台のホスト CPU を , 数台のスレーブ CPU に接続する場合に使用されま
す。( 図 26.3-7 参照 )
UART では , ホスト CPU 側の通信インタフェースのみサポートします。
図 26.3-7 に , モード 1 を使用するときのシステム構築例を示します。
図 26.3-7 モード 1 を使用するときのシステム構築例
SO
SI
ホストCPU
SO
SI
スレーブCPU#0
SO
SI
スレーブCPU#1
通信は , ホスト CPU がアドレスデータを送信することにより始まります。
SCR レジスタの A/D ビットが "1" のときの送信データはアドレスデータです。アドレ
スデータにより , 通信先となるスレーブ CPU が選択され , ホスト CPU との通信が可能
になります。
SCR レジスタの A/D ビットが "0" の時の送信データは通常のデータです。
■ モード 1 を使用するときの通信フローチャート
このモードではパリティチェック機能が使用できませんので , SCR レジスタの PEN
ビットは "0" に設定してください。
図 26.3-8 に , モード 1 を使用するときの通信フローチャートを示します。
613
第 26 章 UART
図 26.3-8 モード 1 を使用するときの通信フローチャート
(ホストCPU)
START
通信モードを1に設定
D0~D7にスレーブCPUを
選択するアドレスデータを,
A/Dに"1"を設定。
1バイトを送信
A/Dに"0"を設定
受信許可
スレーブCPU と通信
通信完了?
NO
YES
ほかのスレーブ
CPUと通信?
NO
YES
受信禁止
END
614
第 26 章 UART
■ ボーレートと U-TIMER のリロード値の設定例
以下は , ボーレートと U-TIMER のリロード値の設定例です。
表 26.3-2 の周波数は , 周辺回路のクロック (CLKP) 周波数を表します。また , UCC1 は ,
U-TIMER の UTIMC レジスタ UCC1 ビットに設定する値です。
表中の「-」部は , 誤差が± 1 % を超えているために使用できないことを示します。
● 非同期 ( 開始ビット同期 ) モード
表 26.3-2 非同期 ( 開始ビット同期 ) モードにおけるボーレートと U-TIMER のリロード値の設定例
ボーレート
ms
24MHz
16MHz
12MHz
8MHz
1200
833.33
624(UCC1=0)
415(UCC1=1)
311(UCC1=1)
207(UCC1=1)
2400
416.67
311(UCC1=1)
207(UCC1=1)
155(UCC1=1)
103(UCC1=0)
4800
208.33
155(UCC1=0)
103(UCC1=0)
77(UCC1=0)
51(UCC1=0)
9600
104.17
77(UCC1=0)
51(UCC1=0)
38(UCC1=0)
25(UCC1=0)
19200
52.08
38(UCC1=0)
25(UCC1=0)
18(UCC1=1)
12(UCC1=0)
38400
26.04
18(UCC1=1)
12(UCC1=0)
57600
17.36
12(UCC1=0)
10400
96.15
71(UCC1=0)
47(UCC1=0)
35(UCC1=0)
23(UCC1=0)
31250
32.00
23(UCC1=0)
15(UCC1=0)
11(UCC1=0)
7(UCC1=0)
62500
16.00
11(UCC1=0)
7(UCC1=0)
5(UCC1=0)
3(UCC1=0)
-
5(UCC1=1)
5(UCC1=1)
-
615
第 26 章 UART
616
第 27 章
LIN 機能搭載 USART
USART の機能および動作について解説します。
LIN (Local Interconnect Network) 機能を搭載した
USART は , 外部デバイスとの同期または非同期通
信に使用する汎用シリアルデータ通信インタ
フェースです。
27.1 USART の概要
27.2 USART の構成
27.3 USART の端子
27.4 USART のレジスタ
27.5 USART の割込み
27.6 USART ボーレート
27.7 USART の動作
27.8 USART の使用上の注意
<注意事項>
本章では , USART #5 のレジスタとアドレスのみを表示します。他の USART のア
ドレスについては , I/O マップを参照してください。
617
第 27 章 LIN 機能搭載 USART
USART の概要
27.1
LIN (Local Interconnect Network) 機能を搭載した USART は , 外部デバイスとの同
期または非同期通信に使用する汎用シリアルデータ通信インタフェースです。
USART には , 双方向通信機能 ( 通常モード ) , マスタ / スレーブ間通信机上 ( マスタ /
スレーブ・システムでのマルチプロセッサ・モード ) , および LIN バス・システム
( マスタまたはスレーブデバイスとして動作 ) 用の特別機能が搭載されています。
USART と他の UART の間にはソフトウェア互換性はありません。
■ USART 機能
USART は, CPU や周辺機器とのシリアルデータの送受信に使用する汎用シリアルデー
タ通信用のインタフェースです。
表 27.1-1 に USART の機能を示します。
表 27.1-1 USART 機能 (1 / 2)
項目
機能
データバッファ
全二重
シリアル入力
オーバサンプリング 5 回 ( 非同期モード )
転送モード
- クロック同期 ( 開始 / 停止同期 , および開始 / 停止ビット・オプション )
- クロック非同期 ( 開始ビット , 停止ビットの使用 )
ボーレート
- 15 ビット・リロードカウンタ搭載の専用ボーレート・ジェネレータ内蔵
- 外部クロックを入力し , リロードカウンタで調整することもできます。
データ長
- 7 ビット ( 同期または LIN モード以外 )
- 8 ビット
信号モード
ゼロ非復帰 (NRZ) およびゼロ復帰 (RZ)
開始ビット・
タイミング
開始ビットの立下りエッジへのクロック同期
( 非同期モードでの受信エラー検出時 )
エラー検出受信
- フレームエラー
- オーバランエラー
- パリティエラー
割込み要求
- 受信割込み
( 受信完了 , 受信エラー検出 , バスアイドル , LIN 同期ブレーク検出 )
- 送信割込み ( 送信完了 )
マスタ - スレーブ
通信機能
( マルチプロセッサ
モード )
1 対 n 通信 (1 つのマスタから n 個のスレーブへ )
( この機能は , マスタおよびスレーブ・システムの両方でサポートされます )
同期モード
マスタ USART または スレーブ USART としての機能
データ送受信端子
ダイレクトアクセスが可能
618
第 27 章 LIN 機能搭載 USART
表 27.1-1 USART 機能 (2 / 2)
項目
機能
LIN バス・
オプション
- マスタとして動作
- スレーブとしての動作
- LIN 同期中断発生
- LIN 同期中断の検出
- ICU 0 および 2 に接続されている LIN 同期フィールドでの開始 / 停止エッジ
の検出
同期シリアル・
クロック
開始 / 停止ビットとの通信用に , 同期シリアル・クロックを SCK5 端子上に継
続して出力できます。
クロック遅延
オプション
遅延クロック用特殊同期クロック・モード (SPI 準拠に有用 )
■ USART 動作モード
USART には , 4 種類の動作モードがあります ( シリアルモードレジスタ (SMR5) の
MD0 および MD1 ビットで選択 ) 。モード 0 および 2 は双方向シリアル通信 , モード 1
はマスタ / スレーブ間通信 , モード 3 は LIN マスタ / スレーブ間通信に使用します。
表 27.1-2 に USART の機能を示します。
表 27.1-2 USART 動作モード
データ長
動作モード
パリティ
無効
0
通常モード
1
マルチプロ
セッサモード
2
通常モード
3
LIN モード
パリティ
有効
7 または 8
7 または 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 は , マスタ / スレーブ接続システムでの USART のマスタまたはスレーブ
動作の両方でサポートされます。モード 3 での USART 機能は 8N1 形式 , LSB 最優
先にロックされます。
動作モードを変更すると , USART はすべての可能な送受信を切断した後 , 新たな処置
を待機します。
619
第 27 章 LIN 機能搭載 USART
シリアルモードレジスタ (SMR5) の MD1 および MD0 ビットによって , USART の動作
モードを選択できます。下表を参照してください。
表 27.1-3 モードビットの設定
MD1
MD0
モード
説明
0
0
0
非同期 ( 通常モード )
0
1
1
非同期 ( マルチプロセッサモード )
1
0
2
同期 ( 通常モード )
1
1
3
非同期 (LIN モード )
■ USART の割込み
表 27.1-4 USART の割込み
割込み制御レジスタ
割込み原因
620
割込みベクタ
割込み番号
レジスタ名
アドレス
オフセット
デフォルト
アドレス
USART5
受信割込み
#55(37H)
ICR39
0467H
320H
000FFF20H
USART5
送信割込み
#56(38H)
ICR40
0468H
31CH
000FFF1CH
USART6
受信割込み
#57(39H)
ICR41
0469H
318H
000FFF18H
USART6
送信割込み
#58(3AH)
ICR42
046AH
314H
000FFF14H
第 27 章 LIN 機能搭載 USART
27.2
USART の構成
USART のブロック構成について説明します。
■ USART の構成
USART は以下のブロックで構成されます。
• リロードカウンタ
• 受信制御回路
• 受信用シフトレジスタ
• 受信データレジスタ
• 送信制御回路
• 送信シフトレジスタ
• 送信データレジスタ
• エラー検出回路
• オーバサンプリングユニット
• 割込み発生回路
• LIN ブレークおよび同期フィールド検出
• バスアイドル検出回路
• シリアルモードレジスタ (SMR5)
• シリアルコントロールレジスタ (SCR5)
• シリアルステータスレジスタ (SSR5)
• 拡張通信コントロールレジスタ (ECCR5)
• 拡張ステータス / コントロールレジスタ (ESCR5)
621
第 27 章 LIN 機能搭載 USART
図 27.2-1 USART のブロックダイヤグラム
(OTO,
EXT,
REST)
CLK
PE
ORE FRE
TIE
RIE
LBIE
LBD
BIE
RBI
TBI
転送クロック
リロード
カウンタ
SCK5
受信クロック
割込み発生回路
送信制御回路
受信制御回路
端子
開始ビット
検出回路
SIN5
送信開始回路
受信 IRQ
受信再開
リロードカウンタ
受信ビット
カウンタ
送信ビット
カウンタ
受信パリティ
カウンタ
送信パリティ
カウンタ
端子
TDRE
送信 IRQ
SOT5
オーバ
サンプリング
ユニット
端子
RDRF
受信完了
SOT
SIN
ICU へ
LIN ブレーク &
同期フィールド
SIN
検出回路
送信開始
バスアイドル
検出回路
エラー検出
EI2OS へ
RDR
PE
ORE
FRE
LIN
ブレーク
発生回路
送信シフト
レジスタ
受信シフト
レジスタ
TDR
RBI
LBD
TBI
内部データバス
PE
ORE
FRE
RDRF
TDRE
BDS
RIE
TIE
622
SSRS
レジスタ
MD1
MD0
(OTO)
(EXT)
(REST)
UPCL
SCKE
SOE
PEN
SMR
レジスタ
P
SBL
CL
AD
CRE
RXE
TXE
SCR
レジスタ
LBIE
LBD
LBL1
LBL0
SOPE
SIOP
CCO
SCES
ESCR
レジスタ
LBR
MS
SPI
SSM
BIE
RBI
TBI
ECCR
レジスタ
LBR
LBL1
LBL0
第 27 章 LIN 機能搭載 USART
■ 各ブロックの説明
● リロードカウンタ
リロードカウンタは , 専用のボーレート・ジェネレータとして機能します。クロックの
送受信用に , 外部入力クロックまたは内部クロックを選択できます。リロードカウンタ
には , リロード値用の 15 ビット・レジスタが内蔵されています。送信リロードカウン
タの実際のカウントは , BGR0/BGR1 を介して読出し可能です。
● 受信制御回路
受信制御回路は , 受信ビット・カウンタ , 開始ビット検出回路および受信パリティ・カ
ウンタで構成されます。受信ビット・カウンタは , 受信データビットをカウントしま
す。指定データ長の 1 つのデータ項目の受信が完了すると , 受信ビット・カウンタに
よって受信データレジスタ・フル・フラグが設定されます。開始ビット検出回路は , シ
リアル入力信号から開始 ビットを検出し , リロードカウンタへ信号を送信して , 開始
ビットの立下りエッジに信号を同期します。受信パリティ・カウンタは , 受信データの
パリティをカウントします。
● 受信用シフトレジスタ
受信シフトレジスタは , ビット単位でデータをシフトしながら , SIN5 端子からの受信
データ入力を獲得します。受信が完了すると , 受信データは , 受信シフトレジスタに
よって RDR5 レジスタへ転送されます。
● 受信データレジスタ
このレジスタには , 受信データが格納されます。シリアル入力データは , 変換後 , この
レジスタに格納されます。
● 送信制御回路
送信制御回路は , 送信 ビット・カウンタ , 送信開始回路 , および送信パリティ・カウン
タで構成されます。送信 ビット・カウンタは , 送信データビットをカウントします。指
定データ長の 1 つのデータ項目の送信が完了すると , 送信ビット・カウンタによって送
信データレジスタ・フル・フラグが設定されます。TDR5 にデータが書き込まれると ,
送信開始回路によってデータ送信が開始されます。送信パリティ・カウンタは , 送信対
象のデータのパリティ・ビットを生成します ( パリティが有効になっている場合 ) 。
● 送信シフトレジスタ
送信シフトレジスタは , TDR5 レジスタに書き込まれたデータを自身に転送し , ビット
単位でデータをシフトしながら , SOT5 端子へ出力します。
● 送信データレジスタ
このレジスタは , 送信データを設定します。このレジスタに書き込まれたデータはシリ
アルデータに変換され , 出力されます。
● エラー検出回路
エラー検出回路は , 受信中における最新のエラーの有無を確認します。エラーが検出さ
れた場合は , 該当するエラーフラグが設定されます。
● オーバサンプリングユニット
オーバサンプリング・ユニットは , SIN5 端子での受信データを 5 回オーバサンプルし
ます。同期モードでは OFF になります。
● 割込み発生回路
割込み生成回路は , すべての受信または送信割込みを管理します。該当するイネーブ
ル・フラグが設定されている場合は , 割込みが必要なケースが発生すると , 直ちに割込
みが生成されます。
623
第 27 章 LIN 機能搭載 USART
● LIN ブレークおよび同期フィールド検出回路
LIN ブレークおよび LIN 同期フィールド検出回路は , LIN マスタノードによるメッ
セージ・ヘッダの送信中 , LIN ブレークを検出します。LIN ブレークが検出されると ,
特殊フラグ・ビットが生成されます。入力キャプチャ・ユニットに対する内部信号の
生成により , 同期フィールドの最初および 5 番目の立下りエッジがこの回路によって
認識され , 送信元のマスタノードにおける実際のシリアル・クロック時間が測定されま
す。
● LIN ブレーク生成回路
LIN ブレーク生成回路は , 一定長の LIN ブレークを生成します。
● バスアイドル検出回路
バスアイドル検出回路は , 送信も受信も実行されていない状態を検出します。送受信が
実行されていない場合 , この回路によって特殊フラグ・ビットが生成されます。
● シリアルモードレジスタ
このレジスタは , 以下の操作を実行します。
• USART 動作モードの選択
• クロック入力ソースの選択
• 外部クロックの「1 対 1」接続を実行するか , リロードカウンタに接続するかの選択
• USART のリセット ( レジスタの設定を保持 )
• 該当する端子へのシリアルデータ出力を有効にするか否かの指定
• 該当する端子へのクロック出力を有効にするか否かの指定
● シリアルコントロールレジスタ
このレジスタは , 以下の操作を実行します。
• パリティ・ビットを提供するか否かの指定
• パリティ・ビットの選択
• 停止 ビット長の指定
• データ長の仕様
• モード 1 でのフレーム・データ形式の指定
• エラーフラグのクリア
• 送信を有効にするか否かの指定
• 受信を有効にするか否かの指定
● シリアルステータスレジスタ
このレジスタは , 送受信およびエラー状態を確認し , 送受信割込み要求を有効または無
効にします。
● 拡張ステータス / 制御レジスタ
このレジスタは , 複数の LIN 機能と SIN5 および SOT5 端子 への直接アクセスを提供
し , USART 同期クロック・モードを設定します。
● 拡張通信制御レジスタ
拡張通信コントロールレジスタは , バスアイドル認識割込みの設定 , 同期クロックの設
定 , および LIN ブレークの生成をお行います。
624
第 27 章 LIN 機能搭載 USART
27.3
USART の端子
USART 端子について解説し , 端子ブロック・ダイヤグラムを示します。
■ USART 端子
USART 端子は汎用ポートとしても動作します。表 27.3-1 に , 端子機能 , 入出力形式 , お
よび USART5 の使用に必要な設定を示します。
表 27.3-1 USART5 端子 (MB91F364G)
端子名
端子機能
SIN5
Port T I/O また
はシリアル
データ入力
SOT5
Port T I/O また
はシリアル
データ出力
SCK5
入出力形式
プルアップ
スタンバイ制御
端子使用に必要な設定
ポート機能モードに設定
PFRT: ビット 0 = 1
CMOS 出力お
よび CMOS 自
動ヒステリシ
ス入力
なし
可能
出力有効モードに設定
SMR5: SOE = 1,
ポート機能モードに設定
PFRT: ビット 2 = 1
ポート機能モードに設定
PFRT: ビット 1 = 1
クロック出力時に出力有効
モードに設定
SMR5: SCKE = 1
Port T I/O また
はシリアルク
ロック入出力
MB91F364G には , 2 番目の USART (USART6) が搭載されています。この USART は以
下の端子に接続されています。
表 27.3-2 USART6 端子 (MB91F364G)
端子名
端子機能
SIN6
Port T I/O また
はシリアル
データ入力
SOT6
Port T I/O また
はシリアル
データ出力
SCK6
Port T I/O また
はシリアルク
ロック入出力
入出力形式
プルアップ
スタンバイ制御
端子使用に必要な設定
ポート機能モードに設定
PFRT: ビット 5 = 1
CMOS 出力お
よび CMOS 自
動ヒステリシ
ス入力
なし
可能
出力有効モードに設定
SMR6: SOE = 1,
ポート機能モードに設定
PFRT: ビット 3 = 1
ポート機能モードに設定
PFRT: ビット 4 = 1
クロック出力時に出力有効
モードに設定
SMR6: SCKE = 1
625
第 27 章 LIN 機能搭載 USART
図 27.3-1 USART 端子のブロックダイヤグラム
ポートバス
PDR 読み込み
周辺器入力
周辺器出力
PDR
PFR
DDR
626
端子
第 27 章 LIN 機能搭載 USART
27.4
USART のレジスタ
下図に USART レジスタ (MB91F364G) を示します。
図 27.4-1 USART レジスタ
アドレス
bit15
bit8 bit7
bit0
0198H, 0199H
SCR5 ( シリアルコントロールレジスタ ) SMR5( シリアルモードレジスタ )
019AH, 019BH
SSR5 ( シリアルステータスレジスタ )
019CH, 019DH
ESCR5 ( 拡張 ステータス / コントロール ECCR5
( 拡張通信コントロールレジスタ )
レジスタ )
019EH, 019FH
BGR15 ( ボーレート・ジェネレータ・レ BGR05 ( ボーレート・ジェネレータ・
ジスタ 1)
レジスタ 0)
01A0H, 01A1H
SCR6 ( シリアルコントロールレジスタ ) SMR6 ( シリアルモードレジスタ )
01A2H, 01A3H
SSR6 ( シリアルステータスレジスタ )
01A4H, 01A5H
ESCR6 ( 拡張 ステータス / コントロール ECCR6
( 拡張通信コントロールレジスタ )
レジスタ )
01A6H, 01A7H
BGR16 ( ボーレート・ジェネレータ・
レジスタ 1)
RDR5/TDR5 (Rx, Tx データレジスタ )
RDR6/TDR6 (Rx, Tx データレジスタ )
BGR06 ( ボーレート・ジェネレータ・
レジスタ 0)
627
第 27 章 LIN 機能搭載 USART
シリアルコントロールレジスタ (SCR5)
27.4.1
このレジスタは , パリティ・ビットの指定 , 停止ビットおよびデータ長の選択 , モード
1 でのフレーム・データ形式の選択 , 受信エラーフラグのクリア , 送受信を有効にする
か否かの指定を行います。
図 27.4-2 シリアルコントロールレジスタ (SCR5)
15
14
13
12
11
R/W R /W R/W R /W R/W
10
W
9
8
初期値
00000000 B
R /W R/W
bit8
TXE
0
1
送信許可
送信不可
送信可
bit9
RXE
0
1
受信許可
受信不可
受信可
bit10
CRE
0
1
受信エラー・フラグ・ ビットのクリア
書込み
読出し
無効
無効
全ての受信エラーフラグ 常に0を返す
のクリア (PE,FRE,ORE)
bit11
アドレス/データ選択
AD
0
1
データビット
アドレスビット
bit12
CL
0
1
データ長選択 (データフレーム)
7 ビット
8 ビット
bit13
SBL
0
1
停止ビット長選択
1 停止ビット
2 停止ビット
bit14
P
0
1
パリティ選択
偶数パリティ設定
奇数パリティ設定
bit15
PEN
0
628
R/W
:
リード/ライト可能
W
:
ライトオンリ
:
初期値
1
パリティ許可
パリティ無効
パリティ有効
第 27 章 LIN 機能搭載 USART
表 27.4-1 シリアルコントロールレジスタ (SCR5) の各ビットの機能
ビット名
機能
bit15
PEN:
パリティ許可
ビット
このビットは , シリアル非同期モードでの送信中にパリティ・ビットを
追加するか , または受信中にパリティ・ビットを検出するかを選択しま
す。
ECCR5 の SSM が選択されている場合 , パリティはモード 0 およびモー
ド 2 でのみ提供されます。このビットは , モード 3 (LIN) では 0 ( パリ
ティなし ) に固定されます。
bit14
P:
パリティ選択
ビット
パリティが提供されており , 有効になっている場合 , このビットは偶数
(0) または奇数 (1) パリティを選択します。
bit13
SBL:
停止ビット長
選択ビット
このビットは , ECCR5 の SSM が選択されている場合 , 非同期データフ
レームまたは同期フレームの停止ビット長を選択します。モード 3 (LIN)
では , このビットは 0 ( 停止ビット 1 つ ) に固定されます。
bit12
CL:
データ長選択
ビット
このビットは , 送信または受信データ長を指定します。モード 2 および 3
では , このビットは 1 (8 ビット ) に固定されます。
bit11
AD:
アドレス /
データ選択
ビット *
このビットは , マルチプロセッサ・モード 1 でのデータ形式を指定しま
す。このビットに書込みを行うと , 次に送信されるアドレスまたはデー
タフレームが決定されます。ビットからの読出しに対しては , 最新受信
フレームの種類が返されます。A1 はアドレス・フレーム , "0 " は通常の
データフレームです。
( 注意事項 ) RMW 読出しサイクル中 , AD ビットは , 最新の受信 AD ビッ
トではなく , 送信対象の値を返します。表 27.4-2 を参照
bit10
CRE:
受信エラー・
フラグ・
ビットの
クリア
このビット は , シリアルステータスレジスタの FRE, ORE, および PE フ
ラグをクリアします。このビットは , エラーによって発生した受信割込
みもクリアします。
"1" に設定すると , エラーフラグがクリアされます。
"0 " に設定した場合 , 影響はありません。
読出しに対しては , 常に "0" が返されます。
( 注意事項 ) 受信動作禁止 (RXE=0) 後に受信エラーフラグをクリアして
ください。
受信動作を禁止せずに受信エラーフラグをクリアにすると ,
そのタイミングで受信をいったん中断し , その後再開しま
す。このため,受信再開時に正常なデータを受信しない場
合があります。
bit9
RXE:
受信許可
ビット
このビットは , USART 受信を有効にします。
このビットが "0" に設定されている場合 , USART はデータフレームの受
信を無効にします。モード 0 または 3 での LIN ブレークの検出には影響
がありません。
bit8
TXE:
送信許可
ビット
このビットは USART 送信を有効にします。このビットが "0" に設定され
ている場合 , USART はデータフレームの送信を無効にします。
629
第 27 章 LIN 機能搭載 USART
表 27.4-2 AD ビットのリード / ライトオプション
サイクル
ライト
ノーマルリード
RMW リード
630
動作
AD ビットへ送られたデータの書込み
受け取った AD ビットの読出し
AD ビットから送られたデータの読出し
第 27 章 LIN 機能搭載 USART
シリアルモードレジスタ (SMR5)
27.4.2
このレジスタは , 動作モードおよびボーレート・クロックを選択し , 該当する端子への
シリアルデータおよびクロックの出力を有効にするか否かを指定します。
図 27.4-3 シリアルモードレジスタ (SMR5)
7
6
5
4
3
2
1
0
初期値
00000000 B
R/W R/W R/W R/W
W
W
R/W R/W
bit0
SOE
0
1
シリアルデータ出力許可
SOT5端子無効 (high Z)
SOT5端子有効 (TxData)
bit1
SCKE
0
1
シリアルクロック出力許可
外部シリアルクロック入力
内部シリアルクロック出力
bit2
UPCL
0
1
USARTプログラムリセット (ソフトウェアリセット)
書込み
読出し
無効
USARTをリセット
常に0を返す
bit3
通信再開リロードカウンタ
書込み
読出し
REST
0
1
無効
カウンタ再スタート
常に0を返す
bit4
EXT
0
1
外部クロック選択
内部ボーレート発生器の使用(リロードカウンタ)
外部シリアルクロックの使用
bit5
OT0
0
1
R/W
W
: リード/ライト可能
: ライトオンリ
: 初期値
1対1外部クロック選択
ボーレート発生器と共に外部クロックの使用
(リロードカウンタ)
外部クロックの使用
bit6
bit7
MD0
0
MD1
0
1
0
モード1: 非同期 マルチプロセッサモード
0
1
モード2: 同期モード
1
1
モード3: 非同期 LINモード
動作モード選択
モード0: 非同期 通常モード
631
第 27 章 LIN 機能搭載 USART
表 27.4-3 シリアルモードレジスタ (SMR5) の各ビットの機能
ビット名
機能
bit7,
bit6
MD1/ MD0:
動作モード
選択ビット
この 2 つのビットは USART の動作モードを設定します。
bit5
OTO: 1 対 1
外部クロック
選択ビット
このビットは USART のシリアルクロックとして直に外部クロックを設定
します。この機能は同期スレーブモード動作に使用します。
bit4
EXT:
外部クロック
選択ビット
このビットはリロードカウンタ用に内部クロックまたは外部クロックを
選択します。
bit3
REST: 通信
再開リロード
カウンタ
ビット
このビットに "1" が書き込まれたとき , リロードカウンタが再スタートし
ます。"0" の書込みは無視されます。このビットの読出しは常に "1" にな
ります。
bit2
UPCL:
USART プロ
グラムリセッ
トビット
( ソフトウェ
アリセット )
このビットに "1" を書き込むと USART を直ちにリセットします。レジス
タの設定値は保持されます。また送受信は遮断されます。
すべてのエラーフラグはクリアされ , 受信データレジスタ (RDR5) は 00H
bit1
SCKE:
シリアルク
ロック出力許
可ビット
• このビットはシリアルクロックの入出力ポートを制御します。
• このビットが "0" のとき , P94/SCK5 端子は汎用入出力ポート (P94) または
シリアルクロック入力端子として機能します。このビットが "1" のとき ,
シリアルクロック出力端子として機能します。
( 注意事項 ) P94/SCK5 端子をシリアルクロック入力端子 (SCKE=0) とし
て使用するとき , P94 端子を入力ポートとして設定してくだ
さい。また , 外部クロック選択ビットを外部クロック
(EXT = 1) に設定してください。
参考 : SCK5 端子がシリアルクロック出力 (SCKE=1) として設定されたと
き , 汎用入出力ポートの状態にかかわらずシリアルクロック出力端
子として機能します。
bit0
SOE:
シリアル
データ出力
許可ビット
• このビットはシリアルデータの出力を制御します。
• このビットが "0" のとき , P95/SOT5 端子は汎用入出力ポート (P95) として
機能します。このビットが "1" のとき , シリアルデータ出力端子 (SOT5)
として機能します。
参考 : シリアルデータが出力 (SOE=1) されたとき , P95/SOT5 端子は汎用
入出力ポートの状態にかかわらず SOT5 端子として機能します。
632
になります。"0" の書込みは無視されます。このビットの読出しは常に "1"
になります。
第 27 章 LIN 機能搭載 USART
シリアルステータスレジスタ (SSR5)
27.4.3
このレジスタは , 送受信およびエラー状態を確認し , 送受信の割込みを無効にします。
図 27.4-4 シリアルステータスレジスタ (SSR5)
15
14
13
12
11
R
R
R
R
R
10
R/W
9
8
R/W
R/W
初期値
00001000 B
bit8
TIE
0
1
送信割込み要求許可
送信割込み要求無効
送信割込み要求有効
bit9
RIE
0
1
受信割込み要求許可
受信割込み要求無効
受信割込み要求有効
bit10
BDS
転送方向選択
0
LSBからデータ転送
1
MSBからデータ転送
bit11
送信データエンプティ
TDRE
0
送信データ・レジスタがフル
1
送信データ・レジスタが空き
bit12
RDRF
0
1
受信データフル
受信データ・レジスタが空き
受信データ・レジスタがフル
bit13
FRE
0
1
フレーミング・エラー
フレーミング・エラーなし
受信中にフレーミング・エラー発生
bit14
ORE
0
1
オーバラン・エラー
オーバラン・エラーなし
受信中にオーバラン・エラー発生
bit15
R/W
:
R
: リードオンリ
リード/ライト可能
パリティ・エラー
PE
0
パリティ・エラーなし
1
受信中にパリティ・エラー発生
: 初期値
633
第 27 章 LIN 機能搭載 USART
表 27.4-4 シリアルステータスレジスタ (SSR5) の各ビットの機能 (1 / 2)
ビット名
機能
bit15
PE:
パリティ
エラーフラグ
• 受信中にパリティ・エラーが発生すると , このビットが "1" に設定されま
す。このビットは , シリアルコントロールレジスタ (SCR5) の CRE ビッ
トが "0" に設定されるとクリアされます。
• このビットおよび RIE ビットが "1" の場合 , 受信割込み要求が出力され
ます。
•このフラグが設定されている場合, 受信データレジスタ (RDR5) のデータ
が無効であることを示しています。
bit14
ORE:
オーバラン
エラーフラグ
ビット
• 受信中にオーバラン・エラーが発生すると , このビットが "1" に設定され
ます。このビットは , シリアルコントロールレジスタ (SCR5) の CRE
ビットが "0" に設定されるとクリアされます。
• このビットおよび RIE ビットが "1" の場合 , 受信割込み要求が出力され
ます。
•このフラグが設定されている場合, 受信データレジスタ (RDR5) のデータ
が無効であることを示しています。
bit13
FRE:
フレーミング
エラーフラグ
ビット
•受信中にフレーミングエラーが発生すると, このビットが "1" に設定され
ます。このビットは , シリアルコントロールレジスタ (SCR5) の CRE
ビットが "0" に設定されるとクリアされます。
• このビットおよび RIE ビットが "1" の場合 , 受信割込み要求が出力され
ます。
•このフラグが設定されている場合, 受信データレジスタ (RDR5) のデータ
が無効であることを示しています。
bit12
RDRF:
受信データ
フルフラグ
ビット
• このフラグは , 受信データレジスタ (RDR5) の状態を示します。
• RDR5 に受信データがロードされると , このビットが "1" に設定されま
す。このビットは , 受信データレジスタ (RDR5) が読み出された場合に
のみ "0" にクリアされます。
• このビットおよび RIE ビットが "1" の場合 , 受信割込み要求が出力され
ます。
bit11
TDRE:
送信データ
エンプティ
フラグビット
• このフラグは , 送信データレジスタ (TDR5) の状態を表示します。
• このビットは , TDR5 に送信データが書き込まれると "0" にクリアされま
す。送信シフトレジスタにデータがロードされ , 送信が開始される
と , このビットは "1" に設定されます。
• このビットおよび RIE ビットが "1" の場合 , 受信割込み要求が出力され
ます。
( 注意事項 ) このビットの初期値は "1" (TDR5 空 ) に設定されています。
bit10
BDS:
転送方向選択
ビット
• このビットは , 重要度が最下位のビットからシリアルデータを転送する
か (LSB 最優先 , BDS=0) , 最上位のビットから転送するか (MSB 最優先 ,
BDS=1) を選択します。
( 注意事項 ) シリアルデータレジスタからの読出しまたは書込み中 , シリ
アルデータの上位と下位は逆転できます。RDR5 レジスタへ
のデータの書込み後 , このビットに他の値が設定されている
場合 , データは無効になります。
モード 3 (LIN) では , このビットは "0" に固定されます。
634
第 27 章 LIN 機能搭載 USART
表 27.4-4 シリアルステータスレジスタ (SSR5) の各ビットの機能 (2 / 2)
ビット名
機能
bit9
RIE:
受信割込み
要求許可
ビット
• このビットは , CPU への送信割込み要求の入力を有効または無効にしま
す。
• このビットと受信データ フラグ・ビット (RDRF) が "1" に設定されるか ,
このビットと 1 つまたは複数のエラー・フラグ・ビット (PE, ORE, およ
び FRE) が "1" に設定されると , 受信割込み要求が出力されます。
bit8
TIE:
送信割込み
要求許可
ビット
• このビットは , CPU への送信割込み要求の出力を有効または無効にしま
す。
• このビットと TDRE ビットが "1" に設定されると , 送信割込み要求が出
力されます。
635
第 27 章 LIN 機能搭載 USART
受信および送信データレジスタ (RDR5/TDR5)
27.4.4
受信データレジスタ (RDR5) は , 受信データを格納します。送信データレジスタ (TDR5)
は送信データを格納します。RDR5 と TDR5 レジスタは , 同じアドレスに位置していま
す。
<注意事項>
TDR5 は書込み専用レジスタ , RDR5 は読出し専用レジスタです。これらのレジス
タは同じアドレスに位置しているため , 読出し値と書込み値は異なります。した
がって , INC/DEC 命令などの , リードモディファイライト (RMW) 操作を実行する
命令は使用できません。
図 27.4-5 シリアルコントロールレジスタ (RDR5/TDR5)
7
6
5
4
3
2
1
0
初期値
00000000B
R/W R/W R/W R/W R/W R/W R/W R/W
bit7~bit0
R/W
読出し
書込み
データレジスタ
受信データレジスタからの読出し
送信データレジスタへの書込み
R/W : リード/ライト可能
■ 受信動作
RDR5 は受信データを格納するレジスタです。SIN5 端子へ送信されたシリアルデータ
信号は , シフトレジスタで変換され , このレジスタに格納されます。データ長が 7 ビッ
トの場合 , 最上位のビット (D7) には "0" が設定されます。受信が完了すると , このレジ
スタにデータが格納され , 受信データ ・フル・フラグ・ビット (SSR5: RDRF) が "1" に
設定されます。この段階で受信割込み要求が有効になっている場合 , 受信割込みが発生
します。
ステータスレジスタ (SSR5) の RDRF ビットが "1" の場合 , RDR5 が読み出されます。
RDR5 が読み出されると , RDRF ビットは自動的に "0" にクリアされます。受信割込み
が有効になっており , エラーが発生しなかった場合は , 受信割込みがクリアされます。
受信エラーが発生した場合 (SSR5: PE, ORE, または FRE = 1) , RDR5 内のデータは無効
です。
636
第 27 章 LIN 機能搭載 USART
■ 送信動作
送信が有効にされている場合 , 送信対象のデータが送信データレジスタに書き込まれ
ると , データは , 送信シフトレジスタに転送された後 , シリアルデータに変換され ,
シリアルデータ出力ターミナル (SOT5 端子 ) から送信されます。データ長が 7 ビット
の場合 , 最上位のビット (D7) は送信されません。
このレジスタに送信データが書き込まれると , 送信データ空フラグ・ビット (SSR5:
TDRE) が "0" にクリアされます。送信シフトレジスタへの転送が完了すると , ビットは
"1" に設定されます。TDRE ビットが "1" の場合 , 送信データの次部分を書き込めます。
出力送信割込み要求が有効になっている場合 , 送信割込みが発生します。送信割込みが
生成されるか , TDRE ビットが "1" になった場合に , 送信データの次部分が書き込まれ
ます。
637
第 27 章 LIN 機能搭載 USART
拡張ステータス制御レジスタ (ESCR5)
27.4.5
このレジスタは , 複数の LIN 機能と SIN5 および SOT5 端子 への直接アクセスを提供
し , USART 同期クロック・モードの設定を行います。
図 27.4-6 拡張ステータス制御レジスタ (ESCR5) の構成
15
14
13
12
11
10
9
初期値
8
00000100B
R/W
R/W R/W R/W R/W R/W R/W R/W
bit8
SCES
シリアル・クロック・エッジ選択 (モード2)
0
立上りクロック・エッジでサンプリング(通常)
1
立下りクロック・エッジでサンプリング(変換クロック)
bit9
CCO
0
1
連続クロック出力許可 (モード2)
連続クロック出力無効
連続クロック出力有効
bit10
SIOP
0
1
シリアル入力/出力端子への直接アクセス
読出し
書込み(SOPE = 1 の時)
"0"をSOT5に設定
"1"をSOT5に設定
SIN5 端子の実際の値を返す
bit11
SOPE
0
1
シリアル出力端子への直接アクセスの有効化
シリアル出力端子への直接アクセス無効
シリアル出力端子への直接アクセス有効
bit12
bit13
LBLO
0
LBL1
0
LINブレーク長 13 bit time
1
0
LINブレーク長 14 bit time
0
1
1
1
LINブレーク長 15 bit time
LINブレーク長 16 bit time
LIN ブレーク長
bit14
LIN ブレーク検出
書込み
LBD
読出し *
0
LINブレーク検出フラ
グのクリア
LINブレーク検出なし
1
無視
LINブレーク検出
bit15
LBIE
R/W
*
638
:
リード/ライト可能
:
初期値
0
1
LINブレイク検出割込み許可
LINブレイク割込み無効
LINブレイク割込み有効
: RMWアクセスについては表 27.4-5 を参照してください。
第 27 章 LIN 機能搭載 USART
表 27.4-5 拡張ステータス制御レジスタ (ESCR5) の各ビットの機能
ビット名
機能
bit15
LBIE:
LIN ブレーク
検出割込許可
ビット
このビットは , LIN ブレークが検出された場合に受信割込みを有効にしま
す。
bit14
LBD:
LIN ブレーク
検出フラグ
LIN ブレークが検出されると , このビットが "1 " に設定されます。この
ビットを "0" に設定すると , ビットおよび該当する割込み ( 有効になって
いる場合 ) がクリアされます。
( 注意事項 ) RMW 命令は常に "1" を返します。この場合の "1" は , LIN
ブレークを意味しません。
bit13,
bit12
LBL1/LBL0:
LIN ブレーク
長の選択
この 2 つのビットで , USART によって生成される LIN ブレーク長 ( 単位 :
serial bit times) を決定します。受信 LIN ブレーク長は常に 13 bit times に固
定されています。
bit11
SOPE:
シリアル出力
端子への直接
アクセスの
有効化 *
SOE = 1 (SMR5) の場合 , このビットを "1" に設定すると , SOT5 端子への
直接書込みが有効になります。*
bit10
SIOP:
シリアル入
力 / 出力端子
への直接アク
セス *
通常の読出し命令に対しては , 常に SIN5 端子の実際の値が返されます。
SOPE = 1 の場合 , 書込みを行うと , ビット値が SOT5 端子に設定されま
す。リードモディファイライト命令 (RMW) 中は , 読出しサイクルで , こ
のビットにより SOT5 値が返されます。*
bit9
CCO:
連続クロック
出力許可
ビット
USART がマスタ・モード 2 ( 同期 ) で動作しており , SCK5 端子がクロッ
ク出力として設定されている場合 , このビットは SCK5 端子での継続的な
シリアル・クロックを有効にします。
bit8
SCES:
シリアル・
クロック・
エッジ選択
ビット
USART がマスタ・モード 2 ( 同期 ) で動作しており , SCK5 端子がクロッ
ク出力として設定されている場合 , このビットは , モード 2 ( 同期 ) およ
び出力クロック信号の内部シリアル・クロックを反転します。
スレーブモード 2 では , サンプリング時間が立上りエッジから立下りエッ
ジに切り換わります。
*: SOPE と SIOP の相互作用については , 表 27.4-6 を参照してください。
表 27.4-6 SOPE と SIOP の相互作用に関する解説
SOPE
SIOP
SIOP への書込み
0
R/W
SOT5 端子には影響がないが , 書き込ま
れた値は保持されます。
SIN5 の現在の値が返されます。
1
R/W
SOT5 に "0" または "1" が書き込まれま
す。
SIN5 の現在の値が返されます。
1
RMW
SIOP からの読出し
SOT5 の現在の値が返され , その値が再
び書き込まれます。
639
第 27 章 LIN 機能搭載 USART
拡張通信制御レジスタ (ECCR5)
27.4.6
拡張通信コントロールレジスタは , バスアイドル認識割込みの設定 , 同期クロックの設
定 , および LIN ブレークの生成を行います。
図 27.4-7 拡張通信制御レジスタ (ECCR5) の構成
7
6
R/W
W
5
4
3
2
R/W R/W R/W R/W
1
0
R
R
初期値
000000XXB
bit0
TBI *
0
1
送信バス・アイドル
送信中
送信動作なし
bit1
RBI *
0
1
受信バス・アイドル
受信中
受信動作なし
bit2
BIE *
0
1
バス・アイドル割込み
バス・アイドル割込み無効
バス・アイドル割込み有効
bit3
SSM
同期データ形式での開始/停止ビット指定 (モード2)
0
同期モード2で開始/停止ビット無効
1
同期モード2で開始/停止ビット有効
bit4
SCDE
0
1
シリアル・クロック遅延 (モード2)
クロック遅延無効
クロック遅延有効
bit5
MS
0
1
マスタ/スレーブ選択 (モード2)
マスタモード (シリアルクロックの生成)
スレーブスレーブ (外部シリアルクロック受信)
bit6
LIN ブレーク・ビットの設定
書込み
読出し
LBR
0
無視
1
LIN ブレークの生成
常に0を返す
bit7
INV
R/W
: リード/ライト可能
0
R
: リードオンリ
: ライトオンリ
1
W
X
: 不定
: 初期値
640
反転シリアルデータ
非反転シリアルデータ (NRZフォーマット)
反転シリアルデータ (RZフォーマット)
*: モード2では使用不可
第 27 章 LIN 機能搭載 USART
表 27.4-7 拡張通信制御レジスタ (ECCR5) の各ビットの機能
ビット名
機能
bit7
INV:
反転シリアル
データ
このビットは , SIN5 と SOT5 端子のシリアルデータを逆転します。SCK5
には影響はありません (ESCR5: SCES 参照 ) 。
"0" を設定した場合 : シリアルデータ形式は NRZ ( デフォルト ) です。
"1" を設定した場合 : シリアルデータが逆転します (RZ 形式 ) 。このビッ
トは , RMW 命令の影響を受けません。
bit6
LBR:
LIN ブレー
ク・ビットの
設定
動作モードとしてモード 0 または 3 が選択されている場合 , このビットを
"1" に設定すると , ESCR5 の LBL0/LBL1 ビットによって選択された長さ
の LIN ブレークが生成されます。
bit5
MS:
マスタ /
スレーブ
モード選択
ビット
このビットは , 同期 モード 2 での USART のマスタまたはスレーブモード
を選択します。マスタを選択した場合 , USART は自身の同期クロックを
生成します。スレーブモードを選択した場合 , USART は , 外部シリアルク
ロックを受信します。
( 注意事項 ) スレーブモードを選択した場合は , クロックソースが外部
になければならず , 「1 対 1」(SMR5: SCKE = 0, EXT = 1,
OTO = 1) に設定しなければなりません。
bit4
SCDE:
シリアル・
クロック遅延
イネーブル・
ビット
このビットを設定すると , シリアル出力クロックが 1 CLKP サイクル分
(SPI 準拠の場合は半サイクル分 * ) 遅延します。これは , USART がマスタ
モード 2 で動作している場合にのみ適用されます。
bit3
SSM:
開始 / 停止
ビット
モードの有効
化ビット
このビットは , 動作モード 2 で , 同期データ形式に開始および停止ビット
を追加します。モード 0, 1, および 3 では , このビットは無視されます。
bit2
BIE:
バスアイドル
割込みの有効
化ビット
このビットは , 実行中の送受信がない場合に (RBI = 1, TBI = 1) , 受信割込
みを有効にします。
( 注意事項 ) BIE はモード 2 では使用しないでください。
bit1
RBI:
受信バス
アイドル・
フラグ・
ビット
SIN5 端子で実行中の受信がない場合 , このビットは "1" に設定されます。
( 注意事項 ) このフラグは モード 2 では使用しないでください。
bit0
TBI:
送信バス
アイドル・
フラグ・
ビット
SOT5 端子で実行中の送信がない場合 , このビットは "1" に設定されます。
( 注意事項 ) このフラグは モード 2 では使用しないでください。
*: MB91360 シリーズデバイスの USART は , SPI 準拠にはなりません。
641
第 27 章 LIN 機能搭載 USART
ボーレート / リロードカウンタレジスタ 0 および 1
(BGR0/BGR1)
27.4.7
ボーレート / リロードカウンタレジスタは , シリアルクロックの分割比を設定します。
また , 送信リロードカウンタの実際のカウントも読み出せます。
図 27.4-8 ボーレート / リロードカウンタレジスタ 0/1(BGR0/BGR1) の構成
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
初期値
00000000B
00000000B
R
R/W R/W R/W R/W R/W R/W
R/W R/W R/W
R/W R/W R/W R/W R/W R/W
bit0~bit7
BGR0
書込み
読出し
ボーレート・ジェネレータ レジスタ0
リロード値の0ビットから7ビットをカウンタへ書込み
カウントの0ビットから7ビットを読出し
bit8~bit14
BGR1
書込み
読出し
ボーレート・ジェネレータ レジスタ1
リロード値の8ビットから14ビットをカウンタへ書込み
カウントの8ビットから14ビットを読出し
bit15
BGR1
R/W
: 読出し/書込み可能
R
: リードオンリ
読出し
未使用ビット
0を返す
ボーレート / リロードカウンタレジスタは , シリアルクロックの分割比を決定します。
これらのレジスタには , バイトまたはワードアクセスを介した読出し / 書込みが可能で
す。
642
第 27 章 LIN 機能搭載 USART
27.5
USART の割込み
USART は , 受信割込みおよび送信割込みの両方を使用します。以下のいずれかの場
合に , 割込み要求を生成できます。
• 受信データレジスタ (RDR5) に受信データが設定されるか , 受信エラーが発生し
た場合
• 送信データレジスタ (TDR5) から送信シフトレジスタへ送信データが転送された
場合
• LIN ブレークが検出された場合
• 受信側または送信側のいずれにも , バス・アクティビティがない場合
■ USART の割込み
表 27.5-1 USART の割込み制御ビットと割込み要因
受信 /
送信 /
ICU
割込み
要求
フラグ
ビット
フラグ
レジス
タ
動作モード
割込み要因
割込み
要因許可
ビット
割込み要求
クリア方法
0
1
2
3
受信
RDRF
SSR5
×
×
×
×
受信データの
RDR への書込み
SSR5 : RIE
受信データの
読出し
ORE
SSR5
×
×
×
×
オーバラン
エラー
FRE
SSR5
×
×
*
×
フレーミング
エラー
PE
SSR5
×
LBD
ESCR5
×
TBI &
RBI
ESCR5
×
×
送信
TDRE
SSR5
×
×
イン
プット
キャプ
チャ
ユニッ
ト
ICP0
ICS01/
23
ICP0
ICS01/
23
*
SSR5: CRE に
"1" が書き込ま
れたとき
パリティエラー
×
LIN 同期
ブレーク検出
ESCR5 :
LBIE
ESCR5 : LBD に
"0" が書き込ま
れたとき
×
バス・アクティ
ビティがない
ECCR5 :
BIE
受信データ /
送信データ
×
送信レジスタが
空
SSR5 : TIE
転送データが書
き込まれたとき
×
×
LIN 同期領域の
第 1 立下り
エッジ
ICS01/23 :
ICE0
ICE0 一時的
無効
×
×
LIN 同期領域の
第 5 立下り
エッジ
ICS01/23 :
ICE0
ICE0 無効
×
× : 使用可能
* : ECCR5:SSM = 1 のときのみ有効
643
第 27 章 LIN 機能搭載 USART
■ 受信割込み
受信モードで , 以下のいずれかのイベントが発生すると , シリアルステータスレジスタ
(SSR5) の該当するフラグ・ビットが "1" に設定されます。
• データの受信完了 ( 受信したデータがシリアル入力シフトレジスタから 受信データ
レジスタ (RDR5) へ転送され , データが読出し可能な状態にある ) : RDRF
• オーバラン・エラー (RDRF = 1 であるにもかかわらず , CPU によって RDR5 が読み
出されなかった ) : ORE
• フレーミングエラー ( 停止ビットを予期していたにもかかわらず , "0" ビットを受信
した ) : FRE
• パリティ・エラー ( 不正なパリティ・ビットが検出された ) : PE
受信割込みが有効になっている場合 (SSR5: RIE = 1) , 上記のフラグ・ビットの 1 つが
"1" に設定されると , 受信割込み要求が生成されます。
受信データレジスタ (RDR5) の読出しが実行されると , RDRF フラグは自動的に "0" に
クリアされます。
RDRF フラグをリセットするには , この方法以外ありません。シリアルコントロールレ
ジスタ (SCR5) のクリア受信エラー (CRE) フラグ・ビットが "1" になると , エラーフラ
グが "0" にクリアされます。RDRF フラグが "1" の場合は , RDR5 に含まれているデー
タがすべて有効であるため , エラー・ビットは設定されません。
CRE フラグは「書込み専用」であるため , このフラグを "1" に設定すると , 1 回の CPU
クロックサイクル分 , 内部処理に "1" が適用されることに注意してください。
■ 送信割込み
送信データレジスタ (TDR5) から送信シフトレジスタへ送信データが転送されると (シ
フトレジスタが空で , 送信データが存在する場合に発生 ) , シリアルステータスレジス
タ (SSR5) の送信データレジスタ空フラグビット (TDRE) が "1" に設定されます。この
ような場合 , SSR5 の送信割込みイネーブル (TIE) ビットが事前に "1" に設定されてい
ると , 割込み要求が生成されます。
TDRE の初期値 ( ハードウェアまたはソフトウェア・リセット後 ) は "1" になっていま
す。TIE フラグが "1" になっている場合は , 割込みが直ちに発生することに注意してく
ださい。また , TDRE フラグをリセットするには , 送信データレジスタ (TDR5) にデー
タを書き込まなければなりません。
■ LIN 同期中断割込み
この処理は, USART が LIN スレーブとしてモード 0 または 3 で動作している場合にの
み適用されます。
バス ( シリアル入力 ) の "0" ( 主 ) 状態が 11 ビット長を超過すると , 拡張ステータス /
コントロールレジスタ (ESCR5) の LIN ブレーク検出 (LBD) フラグビットが "1" に設
定されます。この場合 , 9 ビット長後に受信エラーフラグが "1" に設定されるため , LIN
同期ブレークのみを検出するには , RIE フラグまたは RXE フラグを "0" に設定する必
要があります。上記以外の場合は , まず受信エラー割込みが発生し , その後 , LBD = 1
になるまで , 割込みハンドラルーチンが待機する必要があります。
LBD フラグが "1" になると , 割込みおよび LBD フラグがクリアされます。CPU が LIN
同期ブレークを検出したか否かは , この方法によって確認します。これは , LIN マスタ
へのシリアルクロックの調整に , 以下の手順を要するためです。
644
第 27 章 LIN 機能搭載 USART
■ LIN 同期フィールド・エッジ検出割込み
この処理は, USART が LIN スレーブとしてモード 0 または 3 で動作している場合にの
み適用されます。
LIN ブレークが検出されると , USART は , 受信バスの次のエッジを立下げます。同時
に , ICU に接続されている内部信号が "1" に設定されます。LIN 同期フィールドの 5 番
目の立下りエッジ以降 , この信号は "0" にリセットされます。いずれの場合も , " both
edge detection " および ICU1/5 割込みが有効になっていると , ICU1/5 によって割込みが
生成されます。ICU1/5 カウンタ値の差分は , シリアルクロックを 8 で乗算することに
よって得られます。専用リロードカウンタの新規ボーレートを検出し , 計算するには ,
シリアルクロックを 8 で割ります。その後 , この値 (1) をボーレート・ジェネレータ・
レジスタ (BGR1/0) に設定します。開始ビットの立下りエッジが検出されるとリロード
カウンタは自動的にリセットされるため , カウンタをリスタートする必要はありませ
ん。
■ バスアイドル割込み
SIN5 端子で受信が行われていない場合 , ECCR5 の RBI フラグ・ビットが "1" になりま
す。同様に , データ送信が行われていない場合は , TBI フラグ・ビットが "1" になりま
す。ECCR5 のバスアイドル割込みイネーブル・ビット (BIE) が設定されており , バス
アイドル・フラグ・ビット (TBI および RBI) が両方とも "1" になると , 割込みが発生し
ます。
<注意事項>
• バス動作が行われていない場合 , TBI フラグは "0" に設定されます。ただし , SOPE
が "1" の場合は , SIOP ビット が "0" に設定されます。
• TBI および RBI はモード 2 ( 同期通信 ) では使用できません。
図 27.5-1 にバスアイドル割込みの発生プロセスを示します。
図 27.5-1 バスアイドル割込みの発生
送信データ
受信データ
TBI
RBI
受信IRQ
: 開始ビット
: 停止ビット
: データビット
645
第 27 章 LIN 機能搭載 USART
受信割込みの発生とフラグの設定タイミング
27.5.1
受信が完了した場合 (SSR5: RDRF) , 受信エラーが発生した場合 (SSR5: PE, ORE, また
は FRE) に , 受信割込みが発生します。
■ 受信割込みの発生とフラグの設定タイミング
通常 , データの受信が完了し (RDRF = 1) , シリアルステータスレジスタ (SSR5) の受信
割込みイネーブル (RIE) フラグ・ビットが "1" に設定されると , 受信割込みが発生しま
す。モード 0, 1, 2 (SSM = 1 の場合 ) , 3 で最初の停止ビットが検出されるか , モード 2
(SSM = 0 の場合 ) で最後のデータ・ビットが検出されると , この割込みが発生します。
<注意事項>
受信エラーが発生した場合は , いずれのモードでも , 受信データレジスタ (RDR5)
が獲得したデータは無効になります。
図 27.5-2 受信処理とフラグの設定タイミング
受信データ
(mode 0/3)
ST
D0
D1
D2
..
..
D5
D6
D7/P
SP
ST
受信データ
(mode 1)
ST
D0
D1
D2
..
..
D6
D7
AD
SP
ST
D0
D1
D2
...
.
D4
D5
D7
D0
受信データ
(mode 2)
D6
PE*1,FRE
RDRF
ORE*2
(RDRF=1の時)
受信割込み発生
*1: PE フラグは , モード 1 およびモード 3 ではいつも "0" になっています。
*2: CPU によって受信データが読み出されず (RDRF = 1) , 別の データフレームが読み
出された場合にのみ , ORE が発生します。
ST: 開始ビット
SP: 停止ビット
AD: モード 1( マルチプロセッサ ) アドレス / データ選択ビット
<注意事項>
モード 0 および 3 の場合は , 図 27.5-3 の例以外の受信処理も可能です。可能な受信
処理 : " 7p1 " および " 8N1 " (p = " E " ( 偶数 ) または " O " ( 奇数 )) , すべての NRZ
データ形式 (ECCR5: INV = 0)
図 27.5-3 ORE の設定タイミング
受信データ
RDRF
ORE
646
第 27 章 LIN 機能搭載 USART
27.5.2
送信割込みの発生とフラグの設定タイミング
出力データレジスタ (TDR5) への次の送信データの書込み準備が整うと , 送信割込みが
発生します。
■ 送信割込みの発生とフラグの設定タイミング
送信データレジスタ (TDR5) への次の送信データの書込み準備が整うと , 送信割込みが
発生します。これは , TDR5 が空で , 送信割込みイネーブル (TIE) ビットによって送信
割込みが有効にされている状態を意味します。
SSR5 の送信データレジスタ空 (TDRE) フラグ・ビットにより , TDR5 が空であること
が示されます。TDRE ビットは「読出し専用」であるため , このビットをクリアするに
は , TDR5 にデータを書き込む必要があります。
USART の 4 通りのモードでの送信処理とフラグの設定タイミングを下図に示します。
図 27.5-4 送信処理とフラグの設定タイミング
送信割込み発生
送信割込み発生
モード0,1,3:
TDR5への書込み
TDRE
シリアル出力
ST D0 D1 D2 D3 D4 D5 D6 D7
P SP ST D0 D1 D2 D3 D4 D5 D6 D7 P SP
AD
AD
送信割込み発生
送信割込み発生
モード2(SSM=0):
TDR5への書込み
TDRE
シリアル出力
*: ST: 開始ビット,
SP: 停止ビット,
<注意事項>
D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4
D0 ... D7: データビット, P: パリティ
AD: アドレス/データ選択ビット(モード1)
モード 0 の場合は , 28.5.2a の例以外の送信処理も可能です。
可能な送信処理 : " 8p1 " (p = " E " ( 偶数 ) または " O " ( 奇数 )) , ECCR5: INV = 0
SSM = 0 の場合 , モード 3 または 2 ではパリティは供給されません。
■ 送信割込み要求発生タイミング
送信割込みが有効になっている場合 (SSR5: TIE=1) , TDRE フラグが 1 に設定されると,
送信割込み要求が発生します。
<注意事項>
TDRE ビットの初期値は "1 " に設定されているため , 送信割込みが有効にされると
(TIE=1) , 直ちに送信完了割込みが発生します。TDRE は読出し専用ビットです。こ
のビットをクリアするには , 出力データレジスタ (TDR5) に新規データを書き込む
必要があります。注意して送信割込み許可のタイミングを指定してください。
647
第 27 章 LIN 機能搭載 USART
27.6
USART ボーレート
以下の 1 つを USART シリアル・クロック・ソースとして選択できます。
• 専用ボーレート・ジェネレータ ( リロードカウンタ )
• 独立した外部クロック (SCK5 端子へのクロック入力 )
• ボーレート・ジェネレータ ( リロードカウンタ ) へ接続された外部クロック
■ USART ボーレート選択
ボーレート選択回路は , 以下のように設計されています。ボーレートの選択には , 以下
の 3 通りの方法があります。
● 専用ボーレート・ジェネレータ ( リロードカウンタ ) を用いたボーレートの選択
USART には , 送信および受信シリアルクロック用に , 2 つの独立した内部リロードカ
ウンタがあります。ボーレート・ジェネレータ・レジスタ 0 および 1 (BGR0/1) によっ
て決定された 15 ビット・リロード値を介して , ボーレートを選択できます。
リロードカウンタは , ボーレート・ジェネレータ・レジスタ 0 および 1 の設定値で , 周
辺クロックを割ります。
● 外部クロック (1 対 1 モード ) を用いたボーレートの選択
USART クロック・パルス入力端子 (SCK5/P94) からのクロック入力が , そのまま使用さ
れます ( 同期 ) 。周辺クロックを 4 で割った数値に満たないボーレートのうち , 割算が
可能なものは , 外部に設定されます。
● 外部クロックを持つ専用ボーレート・ジェネレータを用いたボーレートの選択
外部クロック・ソースは , リロードカウンタに内部接続することもできます。このモー
ドでは , 内部周辺クロックの代わりに使用されます。この回路は , 特殊な周波数を持つ
水晶発振器を使用し , 周波数を割算できるように設計されています。
648
第 27 章 LIN 機能搭載 USART
図 27.6-1 ボーレート選択回路 ( リロードカウンタ )
REST
開始ビット
立下りエッジ検出
リロード値: v
受信
15-bit リロードカウンタ
Rxc = 0?
セット
FF
リロード
Rxc=v/2?
0
受信クロック
リセット
1
リロード値: v
CLK
0
SCK5
EXT
送信
15-bit リロードカウンタ
Txc = 0?
カウンタ値: Txc
Txc=v/2?
1
(外部クロック入力)
セット
FF
リロード
OTO
0
リセット
1
送信クロック
内部データバス
EXT
REST
OTO
SMR5
レジスタ
BGR14
BGR13
BGR12
BGR11
BGR10
BGR9
BGR8
BGR1
レジスタ
BGR7
BGR6
BGR5
BGR4
BGR3
BGR2
BGR1
BGR0
BGR0
レジスタ
649
第 27 章 LIN 機能搭載 USART
27.6.1
ボーレートの設定
ここでは , ボーレートの設定方法 , およびシリアルクロック周波数の計算方法について
解説します。
■ ボーレートの計算方法
2 つの 15 ビット・リロードカウンタは , ボーレート・ジェネレータ・レジスタ 1 およ
び 0 (BGR1, 0) によってプログラムされます。次の式を用いて , 目的のボーレートを設
定します。
ボーレート値 :
v = [φ / b] - 1
ここで , φ はリソースクロック (CLKP), b はボーレート , [ ] はガウス括弧 ( 丸め関数 ) で
す。
■ 算出例
CPU クロックが 16 MHz , 目的のボーレートが 19200 bps の場合のリロード値 v:
v = [16 × 106 / 19200] - 1 = 832
また , 正確なボーレートは次の式で計算できます。
bexact = φ / (v + 1)
この場合 , 以下のようになります。
16 × 106 / 833 = 19207.6831
<注意事項>
リロード値を "0" に設定すると , リロードカウンタが停止します。したがって , 最小
分割比は "2" です。
■ マシン速度とボーレートに応じた推奨分割比
以下の設定は , 異なる MCU クロック速度とボーレートに応じた推奨値です。
表 27.6-1 異なるマシン速度での推奨ボーレートおよびリロード値 (1 / 2)
8 MHz
ボーレート
650
10 MHz
16 MHz
20 MHz
24 MHz
32 MHz
値
%
dev.
値
%
dev.
値
%
dev.
値
% dev.
値
% dev.
値
% dev.
2M
3
0
4
0
7
0
9
0
11
0
15
0
1M
7
0
9
0
15
0
19
0
23
0
31
0
500000
15
0
19
0
31
0
39
0
47
0
63
0
460800
-
-
-
-
-
-
-
-
51
-0.16
-
-
250000
31
0
39
0
63
0
79
0
95
0
127
0
230400
-
-
-
-
-
-
86
0.22
103
-0.16
138
-0.08
153600
51
-0.16
64
-0.16
103
-0.16
129
-0.16
155
-0.16
207
0.16
125000
63
0
79
0
127
0
159
0
191
0
255
0
115200
-
-
86
0.22
138
0.08
173
0.22
207
-0.16
278
-0.08
76800
103
-0.16
129
-0.16
207
-0.16
259
-0.16
311
-0.16
416
0.08
57600
138
0.08
173
0.22
277
0.08
346
-0.06
416
0.08
555
0.08
38400
207
-0.16
259
-0.16
416
0.08
520
0.03
624
0
832
-0.04
第 27 章 LIN 機能搭載 USART
表 27.6-1 異なるマシン速度での推奨ボーレートおよびリロード値 (2 / 2)
8 MHz
ボーレート
10 MHz
16 MHz
20 MHz
24 MHz
32 MHz
値
%
dev.
値
%
dev.
値
%
dev.
値
% dev.
値
% dev.
値
% dev.
28800
277
0.08
346
<0.01
554
-0.01
693
-0.06
832
-0.03
1110
-0.01
19200
416
0.08
520
0.03
832
-0.03
1041
0.03
1249
0
1666
0.02
10417
767
<0.01
959
<0.01
1535
<0.01
1919
<0.01
2303
<0.01
3071
<0.01
9600
832
0.04
1041
0.03
1666
0.02
2083
0.03
2499
0
3332
0.01
7200
1110
<0.01
1388
<0.01
2221
<0.01
2777
<0.01
3332
<0.01
4443
-0.01
4800
1666
0.02
2082
-0.02
3332
<0.01
4166
<0.01
4999
0
6666
<0.01
2400
3332
<0.01
4166
<0.01
6666
<0.01
8332
<0.01
9999
0
13332
<0.01
1200
6666
<0.01
8334
0.02
13332
<0.01
16666
<0.01
19999
0
26666
<0.01
600
13332
<0.01
16666
<0.01
26666
<0.01
-
-
-
-
300
26666
<0.01
-
-
-
-
-
-
-
-
■ カウント例
リロード値が "832" であると仮定します。図 27.6-2 に , 2 つのリロードカウンタの動作
を示します。
図 27.6-2 リロードカウンタのカウント例
送信/受信
クロック
リロード
カウンタ
001
000
832
831
830
829
828
827
リロードカウント値
送信/受信
クロック
リロード
カウンタ
<注意事項>
417
416
415
414
413
412
411
410
シリアル・クロック信号の立下りエッジは , 常に |(v + 1)/ 2 | の後に発生します。
651
第 27 章 LIN 機能搭載 USART
リロードカウンタの再スタート
27.6.2
リロードカウンタは , 以下の状況でリスタートされる場合があります。
送信および受信リロードカウンタ :
• グローバル MCU リセット
• USART プログラム可能クリア (SMR5:UPCL ビット )
• ユーザプログラム可能リスタート (SMR5: REST ビット )
受信リロードカウンタ :
• 非同期モード時の立下りエッジ検出開始ビット
■ プログラマブルリセット
ユーザによってシリアルモードレジスタ (SMR5) の REST ビットが設定されている場
合 , 次のクロックサイクルで両方のリロードカウンタがリスタートされます。これは , 送
信リロードカウンタを小型タイマとして使用するための機能です。
この機能の使用方法を下図に示します ( リロード値が "100" と想定 ) 。
図 27.6-3 リロードカウンタ再スタート例
MCUクロック
リロード
カウンタ
クロック出力
REST
リロード値
37
36
35
100
99
98
97
96
95
94
93
92
91
90
89
88
87
BGR 0/1
読取り
データバス
90
:無関係
この例で , REST 後の MCU クロックサイクル数 (cyc) は次のように計算します。
cyc = v - c + 1 = 100 - 90 + 1 = 11
v はリロード値 , c は読出しカウンタ値です。
<注意事項>
SMR5:UPCL の設定により USART がリセットされると , リロードカウンタもリス
タートされます。
■ 自動再開
非同期 UART モードで, 開始ビットの立下りエッジが検出されると, 受信リロードカウ
ンタがリスタートされます。これにより , シリアル入力シフタを受信シリアルデータの
ストリームに同期させます。
652
第 27 章 LIN 機能搭載 USART
27.7
USART の動作
USART は , 動作モード 0 で通常の双方向シリアル通信を行います。モード 2 および
3 では双方向通信のマスタまたはスレーブとして動作し , モード 1 ではマルチプロ
セッサ通信のマスタまたはスレーブとして動作します。
■ USART の動作
● 動作モード
USART には , モード 0 ∼ 3 の 4 種類の動作モードがあります。内部 CPU の接続方法お
よびデータ転送モードに応じて , 動作モードを選択できます ( 表 27.7-1 参照 ) 。
表 27.7-1 USART の動作モード
データ長
動作モード
パリティ
無効
0
通常モード
1
マルチプロ
セッサ
モード
2
通常モード
3
LIN モード
パリティ
有効
7 または 8
7 または 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 は , マスタ / スレーブ接続システムでの USART のマスタまたはスレーブ
動作の両方でサポートされます。モード 3 での USART 機能は 8N1 形式 , LSB 最優
先にロックされます。
動作モードを変更すると , USART はすべての可能な送受信を切断した後 , 新たな処置
を待機します。
■ CPU 間接続方式
外部クロックの 1 対 1 接続 ( 通常モード ) およびマスタ / スレーブ接続 ( マルチプロ
セッサ・モード ) を選択できます。いずれの接続方法の場合も , すべての CPU で , デー
タ長 , パリティの有無 , 同期方式が一致していなければなりません。以下の手順で動作
モードを選択します。
• 1 対 1 接続の場合 , 2 台の CPU を動作モード 0 または 2 で使用します。非同期転送
モードの場合は モード 0, 同期転送モードの場合は モード 2 を選択します。
同期モード 2 では , 1 台の CPU をマスタ , もう 1 台をスレーブに設定します。
• マスタ / スレーブ接続の場合は , 動作モード 1 を選択し , マスタまたはスレーブ・シ
ステムとして使用します。
653
第 27 章 LIN 機能搭載 USART
■ 同期方式
非同期動作では , 受信した開始ビットの立下りエッジに USART 受信クロックが自動
同期します。
同期 モードでは , マスタ・デバイスのクロック信号 , または USART がマスタとして動
作している場合は USART 自身によって , 同期が実行されます。
■ 信号モード
USART では , 非ゼロ復帰 (NRZ) およびゼロ復帰 (RZ) 形式でデータを処理できます。
このオプションに対応し , ECCR: INV ビットが提供されています。
■ 動作許可ビット
USART では , 送信 (SCR5: TXE) および受信 (SCR5: RXE) 用のイネーブル・ビットを用
いて , 送受信が制御されします。送信または受信が無効にされると , 以下のように処理
が停止します。
• 受信中 ( 受信シフトレジスタにデータを入力中 ) に受信処理が無効にされると , フ
レームの受信が完了し , 受信データレジスタ (RDR5) で受信されたデータが読み出
されます。その後 , 受信処理が停止します。
• 送信中 ( 送信シフトレジスタからのデータを出力中 ) に送信処理が無効にされると ,
送信データレジスタ (TDR5) 内にデータがなくなるまで待機し , その後 , 送信処理が
停止します。
654
第 27 章 LIN 機能搭載 USART
27.7.1
非同期モードでの動作 ( モード 0, モード 1)
USART がモード 0 ( 通常モード ) またはモード 1 ( マルチプロセッサ・モード ) で動作
している場合は , 非同期転送モードが選択されます。
■ 転送データフォーマット
通常 , 非同期モードでの各データ転送は , 開始ビット ( バス・ロー・レベル ) で開始さ
れ , 最低 1 つの停止ビット ( ハイレベル ) で停止します。ビット・ストリームの方向
(LSB 最優先または MSB 最優先 ) は , シリアルステータスレジスタ (SSR5) の BDS ビッ
トによって決定されます。パリティ・ビット ( 有効になっている場合 ) は常に , 最後の
データビットと ( 最初 ) の停止ビットの間に置かれます。
モード 0 では , データフレーム長に 7 または 8 ビット , パリティ有または無 , 1 つまた
は 2 つの停止ビットを使用します。
モード 1 では , データフレーム長に 7 または 8 ビットを使用し , パリティビットではな
く , アドレス / データ選択ビットを追加します。1 つまたは 2 つの停止ビットを選択で
きます。
転送フレームのビット長の計算には , 次の式を使用します。
Length = 1 + d + p + s
図 27.7-1 送信データフォーマット ( 動作モード 1/ モード 2)
*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 ( ビット 7) : パリティが無効で , データ長が 8 ビットの場合
P ( パリティ ): パリティが有効で , データ長が 7 ビットの場合
*2: SCR の SBL ビットが 1 の場合のみ
ST: 開始ビット
SP: 停止ビット
AD: モード 1( マルチプロセッサ ) でのアドレス / データ選択ビット
<注意事項>
シリアルステータスレジスタ (SSR5) の BDS ビットが "1" (MSB 最優先 ) に設定され
ている場合 , ビット・ストリームの処理順序は , D7, D6, ... , D1, D0, (P) となります。
受信中 , 両方の停止ビットが検出されます ( 選択されている場合 ) 。ただし , 受信デー
タレジスタ・フル (RDRF) フラグは , 最初の停止ビットで "1" に設定されます。最後の
開始ビットが検出されると , 2 番目の停止ビットの後 , バスアイドル・フラグ (ECCR5
の RBI) が "1" になります。(2 番目の停止ビットは , マーク・レベルとして「バス処理」
に属します ) 。
655
第 27 章 LIN 機能搭載 USART
■ 送信動作
シリアルステータスレジスタ (SSR5) の送信データレジスタ空 (TDRE) フラグビットが
"1" になると , 送信データレジスタ (TDR5) への送信データの書込みが許可されます。
データが書き込まれると , TDRE フラグが "0" になります。シリアルコントロールレジ
スタ (SCR5) の TXE ビットで送信が有効 ("1") にされている場合は, 次に, 送信シフトレ
ジスタにデータが書き込まれ , シリアルクロックの次回クロックサイクル , スタート
ビットの開始で送信が開始されます。これにより TDRE フラグが "1" になり , TDR5 へ
の新規データの書込みが可能になります。
送信割込みが有効になっている場合 (TIE = 1) , TDRE フラグのよって割込みが生成さ
れます。TDRE フラグの初期値は "1" であるため , TIE を "1" にすると , 割り込みが直
ちに発生することに注意してください。
■ 受信動作
受信処理は , SCR5 の受信イネーブル (RXE) フラグビットによって受信が有効にされ
るたびに実行されます。
開始ビットが検出されると, SCR5 での指定形式に応じて, デー
タフレームが受信されます。エラーが発生すると , 該当するエラーフラグ (PE, ORE,
FRE) が設定されます。ただし , データフレームが受信されると , データはシリアルシ
フトレジスタから受信データレジスタ (RDR5) へ転送され , SSR5 の受信データレジス
タフル (RDRF) フラグが設定されます。その後 , CPU によるデータの読出しが必要で
す。データの読出しにより , RDRF フラグがクリアされます。受信割込みが有効になっ
ている場合 (RIE = 1) , RDRF によって割込みが生成されます。
<注意事項>
RDRF フラグが設定されており , エラーが発生しなかった場合にのみ , 受信データ
レジスタ (RDR5) に有効データが格納されます。
■ 停止ビット , エラー検出 , パリティ
送信処理には , 1 つまたは 2 つの停止ビットを選択できます。2 番目の停止ビットの後
に ECCR5 の受信バスアイドル (RBI) フラグが正しく設定されるよう , 受信中 , 両方の
停止ビット ( 選択されている場合 ) が確認されます。
モード 0 では , パリティエラー, オーバランエラーおよびフレーミングエラーが検出さ
れます。
モード 1 では , オーバランエラー , フレーミングエラーが検出できます。パリティは無
効になっています。
シリアルコントロールレジスタ (SCR5) のパリティイネーブル (PEN) ビットを選択す
ると , モード 0 (ECCR5 の SSM ビットが設定されている場合は モード 2 も該当 ) で ,
USART によってパリティ計算 ( 送信中 ) , パリティ検出 , および確認 ( 受信中 ) が実行
されます。
SCR5 の P ビットがクリアされている場合は偶数パリティ, フラグビットが設定されて
いる場合は奇数パリティが設定されます。モード 1 では , オーバランエラーおよびフ
レーミングエラーを検出できます。パリティは無効になっています。
■ 信号モード NRZ および RZ
USART を NRZ データ形式に設定するには , ECCR5:INV ビットを "0" ( 初期値 ) に設定
します。ECCR5:INV ビットを "1" に設定すると , RZ データ形式が設定されます。
656
第 27 章 LIN 機能搭載 USART
27.7.2
同期モードでの動作 ( 動作モード 2)
USART モード 2 ( 通常モード ) では , クロック 同期転送方式 を使用します。
■ 転送データフォーマット ( 通常同期 )
拡張通信コントロールレジスタ (ECCR5) が " 0" に設定されている場合 , 同期モードで
は ,8 ビット・データ ( 開始または停止ビットなし ) が転送されます。モード 2 のデー
タ形式は , 特殊クロック信号に属します。同期モードでの送信データ形式を下図に示し
ます。
図 27.7-2 送信データ形式 ( 動作モード 2)
送信データ書込み
受信データサンプルエッジ(SCES = 0)
マーク レベル
送信または受信
クロック (通常)
マーク レベル
送信クロック
(SCDE=1)
マーク レベル
送信および受信
データ
0
1
1
LSB
0
1
0
0
1
MSB
データ
■ 転送データ形式 (SPI, MB91360 シリーズでは非対応 )
拡張通信コントロールレジスタ (ECCR5) が "0" に設定されている場合 , 同期モードで
は , 8 ビット・データ ( 開始または停止ビットなし ) が転送されます。モード 2 のデー
タ形式は , 特殊クロック信号に属します。同期モードでの送信データ形式を下図に示し
ます。
図 27.7-3 SPI 転送データ形式 ( 動作モード 2)
送信データ書込み
受信データサンプルエッジ(SCES = 0)
マーク レベル
送信または受信
クロック (通常)
マーク レベル
送信クロック
(SCDE=1)
マーク レベル
送信および受信
データ
0
LSB
1
1
0
1
0
0
1
MSB
データ
657
第 27 章 LIN 機能搭載 USART
■ モード 2 でのクロック反転および開始 / 停止ビット
拡張ステータス / コントロールレジスタ (ESCR5) の SCES ビットが設定されている場
合は , シリアルクロックが反転します。したがって , スレーブモードの USART は , 受
信したシリアルクロックの立下りエッジでデータビットをサンプルします。マスタ
モードで SCES が設定されている場合 , クロック信号のマーク・レベルは "0" になるこ
とに注意してください。拡張通信コントロールレジスタ (ECCR5) の SSM5 ビットが設
定されている場合は , 非同期モードでのような開始ビットと停止ビットが , データ形式
に追加されます。
図 27.7-4 クロック反転を伴う送信データ形式
マークレベル
受信または送信クロック
(SCES = 0, CCO = 0):
受信または送信クロック
(SCES = 1, CCO = 0):
データストリーム (SSM=1)
(パリティなし, 1 停止ビット):
マークレベル
ST
SP
データフレーム
■ クロック供給
クロック同期 ( 通常 ) モード (I/O 拡張シリアル ) では , 送信 / 受信ビット数とクロック
サイクル数が一致していなければなりません。開始 / 停止ビット通信が有効になって
いる場合は , クロックサイクル数と , 追加開始 / 停止ビット数が一致していなければな
りません。
内部クロック (専用リロードカウンタ) が選択されている場合は, データの送信時, デー
タ受信同期クロックが自動的に生成されます。
外部クロックが選択されている場合は , 送信データレジスタの送信側にデータが入っ
ていることを確認します。その後 , 送信対象の各ビットのクロックサイクルを外部から
生成し供給する必要があります。SCES が "0" の場合は , 送信が開始され , 完了するま
でマーク・レベル ("H") を保持する必要があります。
ECCR の SCDE ビットを設定すると , 1 CLKP サイクル分 (SPI の場合は半サイクル ) ,
送信クロック信号が遅延します。この遅延により , 各立下りクロック・エッジで , 送信
データが有効かつ安定していることが確認されます ( 受信側のデバイスが立下りク
ロック・エッジでデータ・サンプルを行う場合には , 必須 )。
<注意事項>
MB91360 シリーズ デバイスの USART は , SPI 準拠にはなりません。
ESCR のシリアル・クロック・エッジ選択 (SCES) ビットが設定されている場合 , USART
のクロックが反転するため , 立下りクロック・エッジで受信データがサンプルされま
す。この場合 , 送信側デバイスの立下りシリアル・クロック・エッジで , シリアルデー
タが有効であることを確認する必要があります。
SCES と SCDE ビットの両方が設定されている場合は, SCES = SCDE = 0 の場合と同様,
立上りクロック・エッジでデータが安定します。ただし , アイドル状態でのマーカ値は
反転します ("L" レベル )。
658
第 27 章 LIN 機能搭載 USART
拡張ステータス / コントロールレジスタ (ESCR5) の CCO ビットが設定されている場合 ,
マスタモードでの SCK5 端子のシリアルクロックは , 継続的にクロックアウトされます。
このモードでは , データフレームの開始 / 停止時を受信側のデバイスに通知するため , 開
始 / 停止ビットを使用することを強く推奨します。図 27.7-5 に示します。
図 27.7-5 モード 2 での継続クロック出力
受信または送信クロック
(SCES = 0, CCO = 1):
受信または送信クロック
(SCES = 1, CCO = 1):
データストリーム (SSM=1)
(パリティなし, 1 停止ビット):
ST
SP
データフレーム
■ データ信号モード
ECCR5: INV = 0 の場合は NRZ データ形式が選択されています。それ以外の場合は , シ
リアルデータ入力および出力端子の信号モードは RZ です。
■ エラー検出
開始 / 停止ビットが選択されていない場合 (ECCR5: SSM = 0) は , オーバラン・エラー
のみが検出されます。
■ 通信
同期モードの初期化には , 以下の設定を行います。
● ボーレートジェネレータレジスタ (BGR0/BGR1) :
専用ボーレート・リロードカウンタ のリロード値を設定 :
● シリアルモード コントロールレジスタ (SMR5) :
• MD1, MD0: "10B"( モード 2)
• SCKE: "1"( 専用ボーレート・リロードカウンタ用 )
"0" ( 外部クロック入力 )
• SOE: "1" ( 送受信用 )
"0" ( 受信のみ )
● シリアルコントロールレジスタ (SCR5) :
• RXE, TXE: フラグ・ビットの 1 つを "1" に設定
• PEN: パリティなし - 値 : 無関係
• P, SBL, AD: パリティなし , 停止ビットなし , アドレス / データ選択なし - 値 : 無関係
• CL: 8 ビット・データに自動固定 - 値 : 無関係
• CRE: "1" ( 初期化時 , エラーフラグがクリアされ , 送受信が切断される )
659
第 27 章 LIN 機能搭載 USART
● シリアルステータスレジスタ (SSR5) :
• BDS: "0" (LSB 最優先 )
"1" (MSB ファースト )
• RIE: "1" ( 割込みを使用する場合 )
"0" ( 割込みを使用しない場合 )
● 拡張通信レジスタ (ECCR5) :
• SSM: "0" ( 開始 / 停止ビットが不要な場合 ( 通常 ) )
"1" ( 開始 / 停止ビットを追加する場合 ( 特殊 ) )
• MS:
"0" ( マスタモード , USART によるシリアルクロックの生成 )
"1" ( スレーブモード , USART はマスタ・デバイスからシリアルクロック
を受信 )
通信を開始するには , 送信データレジスタ (TDR5) にデータを書き込みます。
データを受信するには , SMR5 のシリアル出力イネーブル (SOE) ビットを無効にし ,
TDR5 にダミー • データを書き込みます。
<注意事項>
660
継続クロックおよび開始 / 停止ビット・モードを設定すると , 非同期モードのよう
な双方向の送受信が可能になります。
第 27 章 LIN 機能搭載 USART
27.7.3
LIN 機能を用いた操作 ( モード 3)
USART は , LIN マスタ・デバイスとしても LIN スレーブデバイスとしても使用できま
す。特殊モード 3 は , この LIN 機能に対応しています。USART をモード 3 に設定する
と , データ形式は 8N1 - LSB 最優先に設定されます。
■ LIN マスタとしての USART
LIN マスタモードでは , マスタがサブ • バス全体のボーレートを決定します。したがっ
て , スレーブデバイスがマスタに同期すると共に , 初期化後もマスタには必要なボー
レートが固定されている必要があります。
拡張ステータス / 通信レジスタ (ECCR5) の LBR ビットを "1" に設定すると , SOT5 端子
で 13 ∼ 16 bit times の "L" レベルが生成されます。これは , LIN 同期ブレークおよび
LIN メッセージの開始を意味します。これにより , シリアルステータスレジスタ (SSR5)
の TDRE フラグが "0" になり , ブレーク後 "1" にリセットされることにより , CPU への
送信割込みが生成されます (SSR5 の TIE が "1" の場合 ) 。送信対象の同期ブレーク長
を決定するには , ESCR5 の LBL1/LBL0 ビットを次のように設定します。
表 27.7-2 LIN ブレーク長
LBL1
LBL0
ブレーク長
0
0
13 Bit times
0
1
14 Bit times
1
0
15 Bit times
1
1
16 Bit times
LIN ブレークの後に , 同期フィールドを 0x55 バイトとして送信できます。送信割込み
を回避するには , LBR ビットを "1" に設定した後 , TDR5 に 0x55 と書き込みます ( ただ
し , TDRE フラグは "0" ) 。内部送信シフタは , LIN ブレークの完了を待機し , その後 ,
TDR5 値をシフトします。この場合 , LIN ブレークの後 , 開始ビットの前に , 割込みは
発生しません。
■ LIN スレーブとしての USART
LIN スレーブモードの場合 , USART をマスタのボーレートに同期させる必要がありま
す。受信が無効になっており (RXE = 0) , LIN ブレーク割込みが有効になっている場合
(LBIE = 1) , LIN マスタの同期ブレークが検出されると , USART によって受信割込みが
生成されます (ESCR5 の LBD フラグで表示 ) 。このビットを "0" にすると , 割込みがク
リアされます。
次に , LIN マスタのボーレート分析について解説します。USART により , 同期フィー
ルドの最初の立下りエッジが検出されます。その後 , USART は , 内部接続の立上りエッ
ジを介して , 入力キャプチャ・ユニット (ICU1/5) に通知します。5 番目の立下りエッジ
によって ICU 信号がリセットされます。したがって , ICU を LIN 入力キャプチャに合
わせて設定し (ICE01/45), 割込みを有効にする必要があります (ICS01/45)。最初の割込
み (a) と 2 番目の割込み (b) の後の ICU カウンタレジスタの値に基づき , BGR 値が算出
されます。
タイマ・オーバフローなし : BGR 値 = (b - a)/8
タイマ・オーバフローあり : BGR 値 = ( 最大値 - b + a)/8
661
第 27 章 LIN 機能搭載 USART
ここで最大値とは , オーバフローが発生するタイマの最大値です。
通常の LIN メッセージ・フレームの開始と , USART の動作を図 27.7-6 に示します。
図 27.7-6 LIN モードでのスレーブ USART の動作
シリアルクロック
シリアル入力
(LIN バス)
CPUによりクリア
されたLBR
LBD
内部ICU信号
同期フィールド
同期ブレーク(例: 14 Tビット)
■ LIN バス・タイミング
図 27.7-7 LIN バス・タイミングおよび USART 信号
旧 シリアルクロック
ICUカウント
新 シリアルクロック(計算後)
クロック未使用
(キャリブレーション
フレーム)
LINバス
(SIN)
RXE
LBD
(IRQ0)
LBIE
ICUへの
内部信号
ICUからの
IRQ
RDRF
(IRQ0)
RIE
CPUによる
RDR読取り
受信割込み許可
LIN ブレーク許可
LIN ブレーク検出および割込み
CPUによりクリアされたIRQ (LBD→0)
ICUからのIRQ
IRQクリア: インプットキャプチャ開始
ICUからのIRQ
IRQクリア: 計算と新ボーレートの設定
LBIE許可
受信許可
識別バイトの開始ビットエッジ
RDRのバイト読取り
CPUによるRDR読取り
662
第 27 章 LIN 機能搭載 USART
27.7.4
シリアル端子への直接アクセス
USART の送信端子 (SOT5) または受信端子 (SIN5) には , ユーザが直接アクセスできま
す。
■ USART 検出端子アクセス
プログラマは , USART のシリアル入力または出力端子に直接アクセスできます。ソフ
トウェアを用いて , ESCR5 の SIOP ビットを読み出し , 受信シリアルデータを常に監視
できます。ESCR5 のシリアル出力端子直接アクセス・イネーブル (SOPE) ビットを設
定することにより , ソフトウェアを用いて , SOT5 端子を必要な値に保持できます。こ
のアクセスは , 送信シフトレジスタが空 ( 送信処理が実行されていない ) の場合にのみ
可能です。
LIN モードでは , この機能を使用して , 送信済みのデータの読出しや , 単線 LIN バスの
物理障害時のエラー処理を実行できます。
<注意事項>
•
予期せぬ電圧の急上昇を回避するため , 出力端子へのアクセスを有効にする前に ,
目的の値を SIOP 端子に書き込んでください。SIOP には最新の書込み値が格納さ
れているため , 電圧が急上昇する場合があります。
• リードモディファイライト処理中 , SIOP ビットにより , 読出しサイクルで , SOT5
端子の実際の値が返されます ( 通常の読出し命令の場合は SIN5 の値が返される ) 。
663
第 27 章 LIN 機能搭載 USART
27.7.5
双方向通信機能 ( ノーマルモード )
動作モード 0 または動作モード 2 では , 通常のシリアル双方向通信が可能です。非同
期通信用の動作モード 0 と 同期通信用の動作モード 2 を選択してください。
■ 双方向通信機能
USART を通常モード ( 動作モード 0 または 2) で動作させるには , 図 27.7-8 の設定が必
要です。
図 27.7-8 USART の設定 ( 動作モード 0 および 2)
bit
SCR5, SMR5
モード 0
モード 2
SSR5,
TDR5/RDR5
15
PEN
◎
□
PE
モード 0 ◎
モード 2 □
14
P
◎
□
13
SBL
◎
□
12
CL
◎
×
11
AD
×
×
10
9
8
7
6
5
4
3
2
1
0
CRE RXE TXE MD1 MD0 OTO EXT REST UPCL SCKE SOE
0
0
0
0
0
0
◎
◎
×
◎
◎
0
1
0
0
0
◎
◎
◎
◎
◎
◎
ORE FRE RDRF TDRE BDS RIE
◎
◎
◎
□
◎
◎
◎
◎
◎
◎
◎
◎
TIE
送信データのセット ( 書込み中 )
受信データの保持 ( 読取り中 )
◎
◎
ESCR5, ECCR5 LBIE LBD LBL1 LBL0 SOPE SIOP CCO SECS −
モード 0 ×
×
×
×
×
×
×
×
×
×
×
×
×
◎
◎
モード 2 ×
◎ : 使用ビット
× : 未使用ビット
0/1 : ビットに "0" または "1" をセット
□ : SSM=1( 同期 開始 / 停止ビットモード ) の時に使用するビット
LBR
MS
×
×
×
◎
SCDE SSM
×
◎
×
◎
■ CPU 間接続
2 台の CPU を USART モード 2 で内部接続します ( 図 27.7-9 参照 ) 。
図 27.7-9 USART の接続例 ( モード 2 双方向通信 )
SOT
SOT
SIN
SIN
SCK
CPU-1(マスタ)
664
出力
入力
SCK
CPU-2(スレーブ)
BIE
RBI
TBI
×
×
×
×
×
×
第 27 章 LIN 機能搭載 USART
27.7.6
マスタ - スレーブ通信機能 ( マルチプロセッサモード )
USART は , マスタ・システムまたはスレーブ・システムに対応し , マスタ / スレーブ
モードで接続されている複数の CPU と通信できます。
■ マスタ / スレーブ通信機能
USART をマルチプロセッサ・モード ( モード 1) で動作させるには , 図 27.7-10 の設定
が必要です。
図 27.7-10 USART の設定 ( 動作モード 1)
bit 15
SCR5, SMR5 PEN
モード 1 ×
SSR5,
TDR5/RDR5
PE
14
P
×
13
SBL
◎
12
CL
◎
11
AD
◎
10
9
8
7
6
5
4
3
2
1
0
CRE RXE TXE MD1 MD0 OTO EXT REST UPCL SCKE SOE
0
0
1
0
0
0
1
◎
◎
×
◎
ORE FRE RDRF TDRE BDS RIE
モード 1 ×
◎
◎
◎
◎ : 使用ビット
× : 未使用ビット
0/1 : ビットに "0" または "1" をセット
◎
◎
◎
TIE
送信データのセット ( 書込み中 )
受信データの保持 ( 読取り中 )
◎
■ CPU 間接続
1 つの通信システムは , 1 台のマスタ CPU と , 2 本の通信ケーブルに接続された複数の
スレーブ CPU で構成されます ( 図 27.7-11 参照 ) 。USART は , マスタ CPU としてもス
レーブとしても使用できます。
図 27.7-11 USART マスタ - スレーブ通信の接続例
SIN
SOT
マスタCPU
SIN
SOT
スレーブCPU#1
SIN
SOT
スレーブCPU#2
665
第 27 章 LIN 機能搭載 USART
■ 機能選択
マスタ / スレーブ間通信の動作モードおよびデータ転送モードを選択します ( 表 27.7-3
参照 )。
表 27.7-3 マスタ - スレーブ通信機能の選択
運用モード
マスタ
CPU
スレーブ
CPU
アドレス
送受信
モード 1
( AD ビット
送信 )
データ
送受信
666
モード 1
(AD ビット
受信 )
データ
パリティ
同期 /
非同期
停止ビット
ビット方向
なし
非同期
1 ビット
または
2 ビット
LSB
または
MSB ファースト
AD=1 +7 ビットアド
レス
または
8 ビットアドレス
AD=0 +7 ビットデー
タ
または
8 ビットデータ
第 27 章 LIN 機能搭載 USART
■ 通信手順
マスタ CPU によってアドレスデータが送信されると , 通信が開始します。アドレス
データの AD ビットを "1" に設定し , 通信先となるスレーブ CPU I を選択します。各ス
レーブ CPU では , プログラムを使用して , アドレスデータが確認されます。アドレス
データがスレーブ CPU に割り当てられているアドレスを示している場合 , スレーブ
CPU とマスタ CPU が通信を行います ( 通常データ ) 。図 27.7-12 は , マスタ / スレーブ
間通信 ( マルチプロセッサ・モード ) のフローチャートです。
図 27.7-12 マスタ - スレーブ通信フローチャート
(マスタ CPU)
(スレーブ CPU)
Start
Start
運用モード1を設定
運用モード1を設定
SIN端子をシリアルデータ入力端子
に設定
SOT端子をシリアルデータ出力端子
に設定
SIN端子をシリアルデータ入力端子
に設定
SOT端子をシリアルデータ出力端子
に設定
7または8ビットデータを設定
1または2ストップビットを設定
7または8ビットデータを設定
1または2ストップビットを設定
ADビットに1を設定
TXE = RXE = 1を設定
バイトを受信
TXE = RXE = 1を設定
スレーブアドレスを送信
ADビット = 1 ?
ADビットに0を設定
NO
YES
スレーブアドレスが一致 ?
NO
スレーブCPUと通信
YES
NO
マスタCPUと通信
通信完了 ?
YES
NO
通信完了 ?
他のスレーブCPUと通信 ?
NO
YES
YES
TXE = RXE = 0を設定
End
667
第 27 章 LIN 機能搭載 USART
LIN 通信機能
27.7.7
USART と LIN デバイスとの通信は , LIN マスタまたは LIN スレーブ・システムの両方
で実行できます。
■ LIN マスタ - スレーブ通信機能
USART を LIN 通信モード ( 動作モード 3) で動作させるには , 下図の設定が必要です。
図 27.7-13 USART の設定
bit 15
SCR5, SMR5 PEN
モード 3 ×
SSR5,
TDR5/RDR5
PE
14
P
×
13
SBL
+
12
CL
+
11
AD
×
10
9
8
7
6
5
4
3
2
1
0
CRE RXE TXE MD1 MD0 OTO EXT REST UPCL SCKE SOE
0
1
1
0
0
0
1
◎
◎
×
◎
ORE FRE RDRF TDRE BDS RIE
モード 3 ×
◎
◎
◎
◎
+
◎
送信データのセット ( 書込み中 )
受信データの保持 ( 読取り中 )
TIE
◎
ESCR5, ECCR5 LBIE LBD LBL1 LBL0 SOPE SIOP CCO SECS
モード 3 ◎
◎
◎
◎
×
×
×
×
◎ : 使用ビット
× : 未使用ビット
0/1 : ビットに "0" または "1" をセット
+ : 正しい値に自動的に設定
−
LBR
MS
◎
×
SCDE SSM
×
×
BIE
RBI
TBI
×
×
×
■ LIN デバイス接続
下図は , 1 台の LIN マスタ・デバイスともう 1 台の LIN スレーブデバイスの間の通信
システムを示しています。USART は LIN マスタとしても LIN スレーブとしても動作
します。
図 27.7-14 小規模 LIN バスシステムの接続例
LINバス
SOT
SOT
SIN
LIN-マスタ
668
SIN
単線式
トランシーバ
単線式
トランシーバ
LIN-スレーブ
第 27 章 LIN 機能搭載 USART
27.7.8
LIN 通信における USART フローチャート例
( 運用モード 3)
LIN 通信における USART のフローチャート例を示します。
■ マスタデバイスとしての USART
図 27.7-15 USART LIN マスタ・フローチャート
START
初期化:
運用モード3を設定
(8N1データフォーマット)
TIE = 0, RIE = 0
NO
メッセージ送信?
YES
スリープモード送信
TDR = 0x80
TIE = 0
同期ブレークを送信:
ECCRに"1"の書込み:
LBR; TIE = 1;
同期フィールドを送信:
TDR = 0x55
YES
TDRE = 1
通信割込み
CPUからWakeUp 有 ?
WakeUp信号送信
RIE = 0
TIE = 1
TDR = 0x80
NO
RIE = 1
YES
スリープモード
送信 ?
NO
NO
0x00,0x80または
0xC0 受信 ?
YES
RIE = 0
識別フィールド送信:
TDR = Id
YES
スレーブへ書込み ?
NO
TIE = 0
RIE = 1
スレーブからデータ読出し
RIE = 0
TIE = 1
スレーブへ書込み
TIE = 0
エラー発生 ?
NO
YES
エラー処理
669
第 27 章 LIN 機能搭載 USART
■ スレーブデバイスとしての USART
図 27.7-16 USART LIN スレーブ・フローチャート ( パート 1)
(8N1 data format)
Initalzation:
Set Operat.mode 3
START
A
B
初期化:
運用モード3を設定
(8N1データフォーマット)
YES
E
エラー発生 ?
C
RIE = 0; LBIE = 1; RXE = 0
NO
スレーブアドレス
一致 ?
C
YES
NO
マスタから
データ送信要求有 ?
書込み
NO
(スレーブ動作)
YES
LBD = 1
LINブレーク割込み
LINマスタからのメッ
セージ待ち
割込みクリアのため
LBDに"0"の書込み
ICU割込み許可
(両エッジ)
データ受信と
チェック・サム
0x80受信
(スリープモード)
YES
RIE = 0
TIE = 1
チェック・サム
の計算
データ送信
S
TIE = 0
NO
書込み
(スレーブ動作)
ICU割込み
B
ICU値の読出しと格納
割込みクリア
C
エラー発生 ?
YES
NO
書込み
C
(スレーブ動作)
ICU割込み
ICU値の読出し
新ボーレートの計算
とリロードカウンタ
への設定
割込みクリア
E
識別を受信
RIE = 1
エラー処理
書込み
(スレーブ動作)
C
RBI割込み
RXE = 1
A
(続く)
670
第 27 章 LIN 機能搭載 USART
図 27.7-17 USART LIN スレーブ・フローチャート ( パート 2)
(続き)
S
CPUからWakeUp 有 ?
YES
WakeUp信号送信
RIE = 0
TIE = 1
TDR = 0x80
NO
TIE = 0
RIE = 1
NO
0x00,0x80または
0xC0 受信 ?
YES
RIE = 0
C
671
第 27 章 LIN 機能搭載 USART
27.8
USART の使用上の注意
USART 使用時の注意事項を以下に示します。
■ 動作許可
USART のコントロールレジスタ (SCR5) には , TXE ( 送信 ) および RXE ( 受信 ) 動作イ
ネーブル・ビットがあります。送受信はデフォルト値 ( 初期値 ) で無効になっているた
め , 転送の開始に先立ち , 送受信を有効にする必要があります。必要な場合は , 処理を
無効にすることで , 転送を中止できます。
ISO 9141 (LIN バス・システム ) のような単線バス・システムは , 単方向通信であるた
め , これら 2 つのビットは , 一度に 1 つずつ有効にしてください。自動受信機能により ,
USART によって送信されたデータは USART 自身が受信します。
■ 通信モードの設定
通信モードの設定は , システムが動作していない時に実行してください。送信または受
信中にモードを変更すると , 送信または受信が停止し , データが紛失されます。
■ 送信割込み許可タイミング
送信データ空フラグ・ビット (SSR5: TDRE) のデフォルト ( 初期値 ) は "1" ( 送信デー
タなし , 送信データ書込み有効 ) です。送信割込み要求を有効にすると (SSR5: TIE=1) , 直
ちに送信割込み要求が発生します。割込みが直ちに発生するのを回避するには , 送信
データの設定後 , TIE フラグを "1" に設定します。
■ LIN 動作モード 3 の使用
LIN 機能はモード 0 でも利用可能ですが ( レークの送受信 ), モード 3 を使用すると ,
USART データ形式が LIN 形式 (8N1, LSB 最優先 ) に自動設定されます。したがって ,
モード 0 以外の LIN の場合にも , ブレーク機能をバス・プロトコルに適用できます。ブ
レークの送信時間は変数ですが , 検出時間は , 最低 11 serial bit times に指定されている
ことに注意してください。
■ 動作設定の変更
動作設定の変更後は , USART をリセットしてください。特に , 同期 モード 2 で , デー
タ形式に開始 / 停止ビットを追加した場合や削除した場合は , USART をリセットして
ください。
<注意事項>
シリアルモードレジスタ (SMR5) の設定が必要な場合は , USART のリセット時に
UPCL ビットを設定しても意味がありません。この場合の正しい動作設定は保証で
きません。したがって , SMR5 のビットを設定し , その後 , UPCL ビットと共に
SMR5 ビットを再び設定することを推奨します。
■ LIN スレーブ設定
LIN スレーブとして USART を起動するには , 最初の LIN 同期ブレークを受信する前
に , ボーレートを設定する必要があります。最低 11 bit times 長の LIN 同期ブレークを
安全に検出するには , この操作が必要です。
672
第 27 章 LIN 機能搭載 USART
■ ソフトウェアの互換性
USART は富士通の旧バージョンの UART に似ていますが , 旧バージョンとのソフト
ウェア互換性はありません。プログラミング・モデルは同じ場合でも , レジスタ構成が
異なります。さらに USART の場合 , ボーレートは , プリセット値の選択ではなく , リ
ロード値によって決定されます。
■ バスアイドルファンクション
同期 モード 2 では , バスアイドル機能は使用できません。
■ 入力キャプチャ・ユニットを用いたボーレートの検出
USART では , ICU に接続可能な LSYN 信号のパルス長を測定することにより , ボー
レートを算出します。ICU への LSYN 信号の接続は , ポート L 機能レジスタ PFRL ( ア
ドレス 0415H) , ビット PL[3:0] によって制御されます。
図 27.8-1 入力キャプチャ・ユニットを用いたボーレートの検出回路例
1
0
S
IN0端子
LIN-U5ART
IN
ICU0
PL0
L SYN
フリーランタイマ0
IN1端子
1
0
S
IN
1
0
S
IN
ICU1
PL1
IN2端子
LIN-U6ART
ICU2
PL2
L SYN
フリーランタイマ1
1
0
S
IN3端子
IN
ICU3
PL3
PFR ビットが設定されている場合 , ICU はそれぞれの入力端子 IN に接続されます。
PFR ビットがクリアされると , IN 端子はポートモード (PFRL:PL[3:0]) になり , USART
は ICU に接続されます。使用者は次のことを考慮する必要があります。
• ICU0 と ICU1 は 1 つのフリーランタイマ ( プリスケーラ ) を共有し , また ICU2 と
ICU3 は他のフリーランタイマを共有します。
• フリーランタイマは OCU0/OCU2 の機能を用いてクリアできます。
673
第 27 章 LIN 機能搭載 USART
674
第 28 章
リアルタイムクロック
リアルタイムクロック ( ウォッチタイマともよばれ
る ) のレジスタ構成とその機能 , RTC モジュール
の動作について説明します。リアルタイムクロッ
ク ( ウォッチタイマ ) には , タイマ制御レジスタ ,
サブセカンドレジスタ , 秒 / 分 / 時レジスタ , 1/2 分
周器 , 21 ビットプリスケーラ , 秒 / 分 / 時カウンタ
があります。リアルタイムクロックは , 実時間タイ
マとして動作し , 実時間情報を与えます。
28.1 ブロックダイヤグラム
28.2 レジスタ構成
28.3 レジスタの詳細
28.4 更新ビット (UPDT) の使用
675
第 28 章 リアルタイムクロック
28.1
ブロックダイヤグラム
リアルタイムクロックのブロックダイヤグラムを示します。
■ ブロックダイヤグラム
図 28.1-1 ブロックダイヤグラム
V O scillat
発振 ion
クロック
clock
1/2クロック
分周器
21ビット
プリスケーラ
EN
WOT
CO
サブセカンド
レジスタ
UPDT
UPDT
ST
ST
分カウンタ
秒カウンタ
CI
EN
LOAD
CO
CO
6bits
6 ビット
時カウンタ
ts
ビット
6 6bi
CO
ビット
5 5bits
秒/分/時レジスタ
INTE0
INT0
INTE0
INT0
INTE1
IINT1
N T1
INT1 INT1
INTE1
INTE2
INT2
INT2 INT2
INTE2
INT2
IN T3 INT3
INT3
INT3
INTE3
INT3
IRQ
676
第 28 章 リアルタイムクロック
28.2
レジスタ構成
リアルタイムクロックのレジスタ構成を示します。
■ リアルタイムクロックのレジスタ一覧
タイマ制御レジスタ (WTCR)
bit
14
13
12
11
10
9
8
アドレス : 000000F6H INTE3
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)
7
6
5
4
3
2
1
0
アドレス : 000000F7H TST2
TST1
TST0
−
RUN
UPDT
−
ST
読出し / 書込み→ (R/W)
(R/W)
(R/W)
(-)
(R)
(R/W)
(-)
(R/W)
(0)
(0)
(0)
(-)
(0)
(0)
(-)
(0)
bit
7
6
5
4
3
2
1
0
アドレス : 000000F9H
−
−
−
D20
D19
D18
D17
D16
読出し / 書込み→
(-)
(-)
(-)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値→
(-)
(-)
(-)
(X)
(X)
(X)
(X)
(X)
初期値→
bit
初期値→
15
サブセカンドレジスタ (WTBR)
bit
アドレス : 000000FAH
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)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
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)
初期値→
bit
アドレス : 000000FBH
読出し / 書込み→ (R/W)
初期値→
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
bit
15
14
13
12
11
10
9
8
アドレス : 000000FCH
−
−
−
H4
H3
H2
H1
H0
読出し / 書込み→
(-)
(-)
(-)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値→
(-)
(-)
(-)
(X)
(X)
(X)
(X)
(X)
5
4
3
2
1
0
時レジスタ (WTHR)
分レジスタ (WTHR)
bit
7
6
アドレス : 000000FDH
−
−
M5
M4
M3
M2
M1
M0
読出し / 書込み→
(-)
(-)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値→
(-)
(-)
(X)
(X)
(X)
(X)
(X)
(X)
( 続く )
677
第 28 章 リアルタイムクロック
( 続き )
秒レジスタ (WTSR)
bit
6
5
4
3
2
1
0
−
−
S5
S4
S3
S2
S1
S0
(-)
(-)
(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
アドレス : 000000F5H
−
−
−
−
−
−
−
DBL
読出し / 書込み→
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(R/W)
初期値→
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(0)
アドレス : 000000FEH
読出し / 書込み→
初期値→
7
タイマ禁止レジスタ (WTDBL)
678
第 28 章 リアルタイムクロック
28.3
レジスタの詳細
リアルタイムクロックのレジスタ構成の詳細について説明します。
■ タイマ制御レジスタ (WTCR)
タイマ制御レジスタ
bit
7
6
5
4
3
2
1
0
アドレス : 000000F7H
TST2
TST1
TST0
−
RUN
UPDT
−
ST
読出し / 書込み→
(R/W)
(R/W)
(R/W)
(-)
(R)
(R/W)
(-)
(R/W)
初期値→
(0)
(0)
(0)
(-)
(0)
(0)
(-)
(0)
bit
15
14
13
12
11
10
9
8
アドレス : 000000F6H
INTE3
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)
初期値→
WTCR
WTCR
[bit15 ∼ bit8] INT3 ∼ INT0, INTE3 ∼ INTE0: 割込みフラグおよび割込み許可フラグ
INT0 から INT3 までは , 割込みフラグです。このフラグは , 秒カウンタ , 分カウンタ ,
および時カウンタがそれぞれオーバフローした場合に設定されます。INT ビットの
設定を , 対応する INTE ビットが "1" の場合に行うと , ウォッチタイマは割込み信号
を出します。本フラグは , 秒 / 分 / 時 / 日の単位で割込み信号を出すように設計され
ています。INT ビットに "0" を書き込むとフラグはクリアされ , "1" の書込みは無効
です。INT ビットで動作するリードモディファイライト系命令はすべて , "1" を読み
出します。
[bit7 ∼ bit5] TST2 ∼ TST0: テストビット
本ビットは , デバイステスト用です。すべてのユーザアプリケーションにおいて ,
"000" に設定しなければなりません。
[bit3] RUN: フラグ
本ビットは読出しのみ可能です。読出し値が "1" の場合 , RTC モジュールが動作中
であることを示しています。
[bit2] UPDT: 更新ビット
UPDT ビットは , 秒 / 分 / 時カウンタ値の修正用です。
カウンタ値を修正するには , 秒 / 分 / 時レジスタに修正データを書き込みます。次に
UPDT ビットを "1" に設定します。レジスタ値は , 21 ビットプリスケーラからの CO
信号で ( 書込んだ ) , 次のサイクルでカウンタにロードされます。UPDT ビットは ,
カウンタ値が更新されると , ハードウェアによりリセットされます。ただし , ソフ
トウェアによる設定動作とハードウェアによるリセット動作が同時に発生した場
合 , UPDT ビットはリセットされません。
これは , R-bus クロックが RTC クロック ( 発振クロック ) より高い周波数の場合の
み発生します。
<注意事項>
UPDT の使用方法については「28.4 更新ビット (UPDT) の使用」を参照してください。
679
第 28 章 リアルタイムクロック
UPDT ビットへの "0" の書込みは無効です。リードモディファイライト系命令では ,
"0" は読出し値です。
[bit0] ST: スタートビット
ST ビットを "1" に設定すると , ウォッチタイマはレジスタから秒 / 分 / 時値をロー
ドし , 動作を開始します。"0" にリセットした場合 , カウンタおよびプリスケーラは
すべて "0" にリセットされ停止します。
本ビットは , カウンタ値の更新にも使用できます。ST ビットを "0" に設定し , RUN
が "0" になるまで待ってからカウンタ値を更新し , ST ビットを "1" に設定します。
■ サブセカンドレジスタ (WTBR)
サブセカンドレジスタ
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)
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
アドレス : 000000F9H
−
−
−
D20
D19
D18
D17
D16
読出し / 書込み→
(-)
(-)
(-)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値→
(-)
(-)
(-)
(X)
(X)
(X)
(X)
(X)
アドレス : 000000FBH
読出し / 書込み→
アドレス : 000000FAH
読出し / 書込み→
初期値→
WTBR
WTBR
WTBR
[bit20 ∼ bit0] D20 ∼ D0
サブセカンドレジスタは , 21 ビットプリスケーラのリロード値を格納します。この
値は , リロードカウンタが "0" になるとリロードされます。3 バイトすべてを修正す
る場合は , 書込み命令間にリロード動作が行われていないことを確認してくださ
い。そうしないと , 21 ビットプリスケーラは , 新旧のデータバイトを結合した正し
くない値をロードしてしまいます。一般的には , サブセカンドレジスタは , ST ビッ
トが "0" の間に更新することが推奨されています。サブセカンドレジスタを "0" に
設定した場合 , 21 ビットプリスケーラは一切動作しません。
入力クロック周波数は , 常に発振クロック周波数と等しく , 4 MHz, または 32.768
kHz になるように設計されています。4 MHz の場合 , 21 ビットプリスケーラのリ
ロード値は , 一般的に "27 × 56-1" と等しい 1E847FH に設定されます。32.768 kHz の
場合 , プリスケーラの値は一般的に 4000H になります。
つまり , この 2 つのプリスケーラの組合せで , 正確に 1 秒のクロック信号を提供す
るように設計されています。
680
第 28 章 リアルタイムクロック
■ 秒 / 分 / 時レジスタ (WTSR, WTMR, WTHR)
秒レジスタ
bit
15
14
13
12
11
10
9
8
アドレス : 000000FEH
−
−
S5
S4
S3
S2
S1
S0
読出し / 書込み→
(-)
(-)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値→
(-)
(-)
(X)
(X)
(X)
(X)
(X)
(X)
bit
7
6
5
4
3
2
1
0
M4
M3
M2
M1
M0
WTSR
分レジスタ
アドレス : 000000FDH
−
−
M5
読出し / 書込み→
(-)
(-)
(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
アドレス : 000000FCH
−
−
−
H4
H3
H2
H1
H0
読出し / 書込み→
(-)
(-)
(-)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値→
(-)
(-)
(-)
(X)
(X)
(X)
(X)
(X)
WTMR
時レジスタ
WTHR
秒 / 分 / 時レジスタは , 時間情報を格納します。秒 , 分 , および時の 2 進表記です。
本レジスタを読み出すと , カウンタ値だけを戻します。レジスタは書込み値と結合でき
ますが , その書込みデータは , UPDT ビットを "1" に設定した後に , カウンタにロード
されます。
バイトレジスタは3つあるので, レジスタから出力された値に矛盾がないことを確認し
てください。すなわち , 出力値「1 時間 , 59 分 , 59 秒」は , 「0 時間 59 分 , 59 秒」,
「1 時間 , 0 分 , 0 秒」, または「2 時間 , 0 分 , 0 秒」である可能性があります。
カウンタのオーバフローが発生したときに読出しを行うと,間違った値を読む可能性が
あります。このため , 読出しは , RTC の割込み ( その割込みが CPU によって制御され
るので , データは安定する ) によって引き起こすか , 以下の手順に従うか , どちらか一
方にする必要があります。
• RTC の割込みフラグのクリア
• レジスタリード
• フラグが読出し後に設定された場合 ( 読出し中にタイムオーバフローが発生 ), 再度
読み出す。
681
第 28 章 リアルタイムクロック
■ クロック禁止レジスタ (WTDBL)
クロック禁止レジスタ
bit
7
6
5
4
3
2
1
0
アドレス : 000000F5H
−
−
−
−
−
−
−
DBL
読出し / 書込み→
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(R/W)
初期値→
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(0)
WTDBL
[bit0] DBL: クロック禁止
本ビットを "1" に設定すると , RTC モジュールのクロックは禁止されます。通常の
動作のためには , このビットを "0" に設定してください。本ビットは "0" に初期化
されます。読出し , および書込みが可能です。
682
第 28 章 リアルタイムクロック
28.4
更新ビット (UPDT) の使用
更新ビット (UPDT) の使用方法について説明します。
■ 概要
RTC クロックが R- バス・クロックより速い場合 ( 例 : RTC クロック = 4 MHz; R- バス・
クロック CLKP = 2 MHz) , 更新ビットは MB91F364G および MB91F369GA でのみ使用
できることに注意してください。他の MB91360 製品の場合は , ST および RUN コント
ロール・ビットを用いて , この特殊ケースでの更新を実行する必要があります。
■ 更新ビットのタイミング
他のデバイスで更新ビットを使用する場合は , 以下の手順を実行する必要があります。
• 秒 / 分 / 時レジスタ (WTSR, WTMR, WTHR) に , 新規値を書き込みます。
• WTCR レジスタの更新ビット UPDT ビットを "1" に設定します。
次のカウンタ・オーバフロー (2 回目の割込み ) 時に , 新規値が RTC カウンタにロー
ドされます。カウンタの更新後 , ハードウェアによって UPDT ビットが更新されま
す。UPDT ビットが更新されると , 更新処理は完了です。この更新処理には , この処
理を正しく完了するために , RTC クロックおよび R- バス・クロック CLKP が必要
です。
• RTC または STOP モードに切り換わる前に UPDT ビットが "0" になるまで待機し
ます。
683
第 28 章 リアルタイムクロック
684
第 29 章
サブクロック
サブクロックの機能と動作について説明します。
29.1 サブクロックシステムの概要
29.2 サブクロックの動作 (SELCLK = 0)
29.3 4 MHz リアルタイムクロックの構成 (SELCLK = 1)
29.4 リアルタイムクロックモジュールの使用方法
<注意事項>
サブクロック動作は , 特定の製品でのみ動作可能です。
「1.2 MB91360 シリーズの
製品ラインナップ」を参照してください。
685
第 29 章 サブクロック
29.1
サブクロックシステムの概要
サブクロックシステムの概要について説明します。
■ サブクロックシステムの概要
サブクロックシステムは , さまざまな節電モードを提供します。基本となる概念は , リ
アルタイムクロック (RTC) モジュールにのみ 32 kHz クロック信号を提供し , MCU の
それ以外のモジュールには 4 MHz クロック信号を提供して , RTC32K モードにおいて
より低い電力供給を達成することです。
この動作は , コンフィグレーション入力により切り換えることができます。SELCLK 端
子により , RTC モジュールを 4 MHz クロックで動作するように切り換えます。以下の
節で , "0" に接続した SELCLK の動作と , "1" に接続した SELCLK の動作を説明します。
<注意事項>
686
MB91F362GB では , SELCLK は常に "1" に接続してください。サブクロック動作は ,
これらのデバイスには搭載されていません。
第 29 章 サブクロック
29.2
サブクロックの動作 (SELCLK = 0)
サブクロックの動作について説明します。
■ サブクロックの動作 (SELCLK = 0)
次の表に , サブクロックシステムに関するコンポーネントの動作状態をまとめます。ス
リープモードについては表では省略していますが , CPU が停止することを除き , 動作は
RUN モードと同じです。
コンポーネントの動作
モード
電力消費
4MHz 発振
32kHz
発振
RTC
CPU および
周辺機器
PLL
RUN
高
RUN
RUN
RUN
RUN
STOP/RUN
RTC4M32K
中低
RUN
RUN
RUN
STOP
STOP
RTC32K
低
STOP
RUN
RUN
STOP
STOP
STOP
最低
STOP
STOP
STOP
STOP
STOP
RTC4M32K モードには , RUN モードより再起動が速いという長所があります。この長
所により 4 MHz クロック発振の安定化待ち時間が不要となり , 特に CAN バスイベント
の反応時間が改善されます。
次の表に , その動作モードと必要なソフトウェアの設定をまとめます。
ソフトウェアの設定
モード
STOP
PLL1EN
PLL2EN
OSCD1
OSCD2
RTC32
RUN
0
0 または 1
1
X
X
X
RTC4M32K
1
X
1
0
0
X
RTC32K
1
X
1
1
0
1
STOP
1
X
X
1
1
X
STOP, OSCD1, OSDC2 の各ビットは , クロック発生制御モジュール内の STCR レジス
タ ( アドレス 000481H) の 7, 1, 0 の各ビットに属します。PLL2EN ビットと PLL1EN ビッ
トは , 同じクロック発生制御モジュール内の CLKR レジスタ ( アドレス 000484H) の
bit11 と bit10 に属します。
RTC32 ビットは , CLKR2 レジスタ ( アドレス 000046H) のビット 8 に属します。
PLL2EN ビットは , 初期化後 , 32 kHz の発振を起動するために "1" に設定し , 動作中は
"1" に保持することが推奨されます。"1" に保持しなかった場合 , 32 kHz の発振器は起
動しません。また動作中は , CLKR2 レジスタ ( アドレス 000046H) の bit9 と bit10 を常
に "0" に設定してください。
687
第 29 章 サブクロック
29.3
4 MHz リアルタイムクロックの構成 (SELCLK = 1)
4 MHz リアルタイムクロックの構成 (SELCLK = 1) について説明します。
■ 4 MHz リアルタイムクロックの構成 (SELCLK = 1)
SELCLK パッドを論理レベル 1 に接続すると , ソフトウェアの設定にかかわらず 32 kHz
発振は禁止されます。この構成では , リアルタイムクロックモジュールに 4 MHz 発振
クロック信号が供給されます。
次の表に , この構成で利用できるモードをまとめます。
コンポーネントの動作
モード
電力消費
4M 発振
32k 発振
RTC
CPU およ
び周辺機器
PLL
RUN
高
動作
停止
動作
動作
停止 / 動作
RTC4M
中低
動作
停止
動作
停止
停止
STOP
最低
停止
停止
停止
停止
停止
ソフトウェアの設定
モード
STOP
PLL1EN
PLL2EN
OSCD1
OSCD2
RTC32
RUN
0
0 または 1
X
X
X
X
RTC4M
1
X
X
0
X
X
STOP
1
X
X
1
X
X
688
第 29 章 サブクロック
29.4
リアルタイムクロックモジュールの使用方法
リアルタイムクロックモジュールの使用方法について説明します。
■ リアルタイムクロックモジュールの使用方法
RTC モジュールが十分に機能するよう , 以下の動作について考慮してください。
RTC モジュールは 32 kHz 発振クロックに直接接続されるので , ソフトウェアによる発
振安定化時間の取扱いが必要です。これには , RTC モジュール (ST ビットを "1" に設定 )
を起動するソフトウェアをトリガするために , 別のタイマ ( タイムベースタイマなど )
を使用することが可能です。
また , STOP モードに入る前に , RTC モジュールを停止することも重要です。RTC モ
ジュールを停止しないで STOP モードから再起動すると , RTC モジュールが予期しな
い動作をすることがあります。
再起動後 , ソフトウェアにより発振安定化時間を再度測定する必要があります。その後 ,
RTC モジュールを再起動できます。
<注意事項>
RTC4M モードから RUN モードに切り換えるとき , 少なくとも 20µs 以上のウェイ
ト時間を必要とします。
689
第 29 章 サブクロック
690
第 30 章
32 kHz クロック補正ユニット
32 kHz クロック補正モジュールを使用すると ,
4 MHz 発振クロックを基準にして 32 kHz 発振ク
ロックを補正できます。ここでは , 補正ユニットの
概要 , レジスタの説明 , アプリケーションノートを
示します。
30.1 概要
30.2 レジスタの説明
30.3 アプリケーションノート
691
第 30 章 32 kHz クロック補正ユニット
30.1
概要
32 kHz クロック補正モジュールを使用すると , 4 MHz 発振クロックを基準にして
32 kHz 発振クロックを補正できます。
■ 補正ユニットの説明
このモジュールを使用すると , ソフトウェアによって , 32 kHz クロックによって生成さ
れた時間を 4 MHz クロックによって測定できます。
ソフトウェアによる処理と , このモジュールの利用によって , 32 kHz クロックの正確さ
を 4 MHz クロックの正確さに近づけることができます。32 kHz クロック補正モジュー
ルによる測定結果は , ソフトウェアにより処理できます。また , リアルタイムクロック
モジュールに必要な設定を得ることができます。
このモジュールは , 32 kHz クロックで動作するタイマと 4 MHz クロックで動作するタ
イマの , 2 つのタイマから構成されています。32 kHz タイマが 4 MHz タイマをトリガ
し , 4 MHz タイマの値がレジスタに格納されます。レジスタに格納された値はソフト
ウェアで処理され , 必要なリアルタイムクロックモジュールの設定が計算されます。
692
第 30 章 32 kHz クロック補正ユニット
■ 補正ユニットのブロックダイヤグラム
図 30.1-1 補正ユニットのブロックダイヤグラム
UC18CLK
OSC4
CLK4G = OSC4 |~STRT |(READY & ~RUNS);
gate
CLK4G
STRT
READY
RUNS
OSC32
gate
STRT
CLKP
CLKPG
gate
32kHz
タイマ
CLK32G
RSLEEPB
CLKPG2
gate
CUTD
4MHz
タイマ
RUN
カウンタ(16ビット)
STR TS
RSLEEPB
STRT
UC18TRD
RUN
同期
32->4
非同期
RST
R UNS
CUTR(24ビット)
CUTR
UC18TRR
CLKPG2 = CLKP |(~STRT & RSLEEPB);
READY
READY
STR T
同期
CLKP->32
非同期
RST
STRT
STRT
RB
STRT
リセット
READ Y
設定/リセット
R UNSS1
R UNSS
INTEN
RBB
RB
設定/リセット
RSLEEPB
RSLEEP
INT
RMWB
RMW
設定
リセット
UC18BUS
READY PULSE
CUCR(3ビット)
INT_I
INT
同期
4->CLKP
INT_INT
CUTR(24ビット)
*_RDB
*_RD
*_WRB
*_WR
RSTB
RST
UC18IO
CUTD(16ビット)
CUTD
UC18RBI
FC18
693
第 30 章 32 kHz クロック補正ユニット
■ タイミング
図 30.1-2 測定処理のタイミング
32 kHz
STRT(CLKP)
STRTS (32 kHz)
RUN(32 kHz)
RUNS(4 MHz)
32 kHz カウンタ (16 ビット)
4 MHz カウンタ (24ビット) 旧 CUTR
CUTD
CUTD-1
2
1
0
0
CUTD
新 CUTR
READY(32 kHz)
READYPULSE(CLKP)
INT (CLKP)
■ クロック
モジュールは, 4 MHzクロックOSC4, 32 kHzクロックOSC32, 周辺機器用クロックCLKP
の , 3 つの異なるクロックにより動作します。それぞれのドメインは同期回路によって
適合されます。
3 つのクロックはすべてゲート制御されます。STRT が 0 である場合は , 32 kHz と 4 MHz
のクロックのスイッチはオフになります。CLKPG の制御信号は RSLEEPB であり ,
CLKPG2 の制御信号は RSLEEP と STRT の 2 ビットであり , これらはハードウェアに
より設定 / リセットされます。
クロック周波数は以下の要件を満足する必要があります。
• クロック比
TOSC32 > 2 ×TOSC4 + 3 × TCLKP
TOSC4 < 1/2 ×TOSC32 - 3/2 ×TCLKP
TCLKP < 1/3 ×TOSC32 - 2/3 × TOSC4
• 入力周波数
入力周波数は , 表 30.1-1 に記載されている値を超えてはいけません。
694
第 30 章 32 kHz クロック補正ユニット
表 30.1-1 要件 1 および 2 を満足する有効クロック比の例
OSC32
OSC4
CLKP
最大動作周波数
4 MHz
250ns
13 MHz
76.9ns
32 MHz
31.25ns
最大動作速度
4 MHz
250ns
13 MHz
76.9ns
32 MHz
31.25ns
通常動作
32 kHz
31.25µs
4 MHz
250ns
2 MHz
500ns
695
第 30 章 32 kHz クロック補正ユニット
30.2
レジスタの説明
補正ユニットのレジスタ一覧を示し , 各レジスタの機能を詳細に説明します。
■ 補正ユニット制御レジスタ (CUCR)
補正ユニット制御レジスタ (CUCR)
bit
7
5
4
−
−
STRT
(R)
(R)
(R)
(0)
(0)
(0)
アドレス : 00000191H
−
読出し / 書込み→
初期値→
6
3
2
1
0
−
−
INT
INTEN
(R/W)
(R)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
12
11
10
9
8
CUCRL
■ 32 kHz タイマデータレジスタ (CUTD)
32kHz タイマデータレジスタ (CUTD)
bit
15
14
13
アドレス : 00000192H TDD15 TDD14 TDD13 TDD12 TDD11 TDD10 TDD9
読出し / 書込み→ (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
7
6
5
4
3
2
1
0
アドレス : 00000193H TDD7
TDD6
TDD5
TDD4
TDD3
TDD2
TDD1
TDD0
読出し / 書込み→ (R/W)
(R/W)
(R/W)
(R/W)
(R)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
初期値→
bit
初期値→
696
TDD8
(0)
CUTDH
CUTDL
第 30 章 32 kHz クロック補正ユニット
■ 4 MHz タイマデータレジスタ (CUTR)
4 MHz タイマデータレジスタ (CUTR)
bit
15
14
13
12
11
10
9
8
アドレス : 00000194H
−
−
−
−
−
−
−
−
読出し / 書込み→
(R)
(R)
(R)
(R)
(R)
(R)
(R)
(R)
初期値→
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
7
6
5
4
3
2
1
0
bit
アドレス : 00000195H TDR23 TDR22 TDR21 TDR20 TDR19 TDR18 TDR17 TDR16
読出し / 書込み→
(R)
(R)
(R)
(R)
(R)
(R)
(R)
(R)
初期値→
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
bit
15
14
13
12
11
10
9
8
アドレス : 00000196H TDR15 TDR14 TDR13 TDR12 TDR11 TDR10 TDR9
TDR8
読出し / 書込み→
(R)
(R)
(R)
(R)
(R)
(R)
(R)
(R)
初期値→
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
7
6
5
4
3
2
1
0
TDR6
TDR5
TDR4
TDR3
TDR2
TDR1
TDR0
bit
アドレス : 00000197H TDR7
読出し / 書込み→
(R)
(R)
(R)
(R)
(R)
(R)
(R)
(R)
初期値→
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
CUTR1H
CUTR1L
CUTR2H
CUTR2L
レジスタ
アドレス
ブロック
+0
+1
+2
+3
000190H
CUCR[R/W]
-------- ---0--00
CUTD[R/W]
10000000 00000000
000194H
CUTR1[R]
-------- 00000000
CUTR2[R]
00000000 00000000
32 kHz 発振器補正ユニット
697
第 30 章 32 kHz クロック補正ユニット
30.2.1
補正ユニット制御レジスタ (CUCR)
制御レジスタ (CUCR) には , 次の機能があります。
• 補正測定の開始 / 停止
• 割込みの許可 / 禁止
• 補正測定の終了を示す
■ 補正ユニット制御レジスタ (CUCR)
制御レジスタ下位バイト
bit
7
6
5
4
3
2
1
0
アドレス : 00000191H
−
−
−
STRT
−
−
INT
INTEN
読出し / 書込み→
(R)
(R)
(R)
(R/W)
(R)
(R/W)
(R/W)
(R/W)
初期値→
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
CUCRL
■ ビット [4]: STRT - 補正開始
0
補正停止 , モジュールスイッチオフ ( 初期値 )
1
補正開始
STRT ビットがソフトウェアにより "1" に設定されると , 補正が開始します。32 kHz タ
イマは , 32 kHz タイマデータレジスタに格納された値からのカウントダウンを開始し ,
4 MHz タイマはゼロからのカウントアップを開始します。
32 kHz タイマがゼロに達すると , このビットはハードウェアにより "0" にリセットされ
ます。
補正処理中にソフトウェアによってこのビットに "0" が書き込まれると , 補正は直ちに
停止します。ソフトウェアによる "0" の書込みと , ハードウェアによる "0" へのリセッ
トが同時に発生した場合は , ハードウェアの動作がソフトウェアの動作に優先されま
す。すなわち , 補正は適切に完了し , INT ビットは "1" に設定されます。補正中にこの
ビットへ "1" を書き込んでも影響はありません。
698
第 30 章 32 kHz クロック補正ユニット
■ ビット [1]: INT - 割込み
0
補正中 / モジュールインアクティブ ( 初期値 )
1
補正完了
このビットは補正の終了を示します。補正開始後 , 32 kHz タイマがゼロに達すると ,
4 MHz タイマデータレジスタは最後の 4 MHz タイマ値を格納し , INT ビットは "1" に
設定されます。
このビットに対してリードモディファイライト動作を行うと "1" が読み出され , この
ビットに "0" を書き込むとフラグがクリアされます (INT = 0)。このビットに "1" を書
き込んでも影響はありません。
割込みフラグ INT は , ハードウェアではリセットされません。そのため , 新たな補正を
開始する前に , ソフトウェアによりリセットする必要があります。リセットしない場合
の補正処理の終了は , STRT ビット (INT フラグは補正中も "1" のままです ) によっての
み知ることが可能です。
■ ビット [0]: INTEN - 割込み許可
0
割込み禁止 ( 初期値 )
1
割込み許可
これは INT ビットに対応する割込み許可ビットです。このビットが "1" に設定され ,
INT ビットがハードウェアにより設定されると , 補正モジュールは CPU への割込み
信号を送信します。INT ビット自体は INTEN ビットの影響を受けず , 割込み禁止の
場合 (INTEN = 0) でも , ハードウェアにより設定されます。
699
第 30 章 32 kHz クロック補正ユニット
30.2.2
32 kHz タイマデータレジスタ (16 ビット )(CUTD)
32 kHz タイマデータレジスタ (CUTD) は , 補正期間 (32 kHz リロード値 ) を決定す
る値を保持します。
■ 32 kHz タイマデータレジスタ (16 ビット )(CUTD)
32 kHz タイマデータレジスタ上位バイト
bit
アドレス : 00000192H
読出し / 書込み→
15
14
13
12
11
10
9
8
TDD15 TDD14 TDD13 TDD12 TDD11 TDD10 TDD9
TDD8
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(1)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
初期値→
CUTDH
32 kHz タイマデータレジスタ下位バイト
7
6
5
4
3
2
1
0
アドレス : 00000193H
bit
TDD7
TDD6
TDD5
TDD4
TDD3
TDD2
TDD1
TDD0
読出し / 書込み→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
初期値→
CUTDL
32.768 kHz の水晶が使用される場合のデフォルト値は 8000H であり , 1 秒の測定持続時
間に対応します。
このレジスタには , 補正がインアクティブ (STRT = 0) になっている場合以外は書き込
んではいけません。
32 kHz タイマレジスタは補正の持続時間を指定する値を格納します。補正を開始する
と , 格納された値が 32 kHz タイマにロードされ , タイマはゼロに達するまでのカウン
トダウンを開始します。
CUTDを0000H に初期化すると, アンダフローが発生し, 測定値は(FFFFH + 1) × TOSC32
となります。
32 kHz タイマは , 32 kHz 発振クロックで動作します。
1 秒間の測定持続時間を達成するには , CUTD レジスタに 8000H = 32768(10 進 ) をロー
ドする必要があります。この数値は水晶の正確な発振周波数 , FOSC = 32768Hz から得
られます。測定結果 (4.00 MHz の水晶を使用する場合 ) の理想値を次の表に示します。
700
第 30 章 32 kHz クロック補正ユニット
表 30.2-1 測定持続時間による理想的な測定結果
補正時間
CUTD 値
CUTR 値
2秒
0x0000
0x7A1200
1.75 秒
0xE000
0x6ACFC0
1.5 秒
0xC000
0x5B8D80
1.25 秒
0xA000
0x4C4B40
1秒
0x8000
0x3D0900
0.75 秒
0x6000
0x2DC6C0
0.5 秒
0x4000
0x1E8480
0.25 秒
0x2000
0x0F4240
STRT ビットへの "1" の書込みからハードウェアによる STRT のリセットまでにかかる
全処理時間は , 異なるクロックドメイン間の同期のために実際の補正測定時間より長
くなります。処理時間 < (CUTD + 3) × TOSC32 となります。
正確な補正測定時間は , CUTD × TOSC32 となります。
701
第 30 章 32 kHz クロック補正ユニット
4 MHz タイマデータレジスタ (24 ビット )(CUTR)
30.2.3
タイマデータレジスタ (CUTR) は補正結果の値 (4 MHz カウンタ ) を保持します。
■ 4 MHz タイマデータレジスタ (24 ビット )(CUTR)
<注意事項>
補正中にこのレジスタを読み出すと , 得られる値はランダムです。
補正の終了は , CUCR レジスタの INT ビットと STRT ビットにより示されます。
INTを"0"から"1"に変更し, STRTを1から0に変更すると, CUTRの値が有効になります。
4 MHz タイマデータレジスタ 1 上位バイト
bit
15
14
13
12
11
10
9
8
−
−
−
−
−
−
−
(R)
(R)
(R)
(R)
(R)
(R)
(R)
(R)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
5
4
3
2
1
0
アドレス : 000194H
−
読出し / 書込み→
初期値→
4 MHz タイマデータレジスタ 1 下位バイト
bit
7
6
アドレス : 000195H
TDR23 TDR22 TDR21 TDR20 TDR19 TDR18 TDR17 TDR16
読出し / 書込み→
(R)
(R)
(R)
(R)
(R)
(R)
(R)
(R)
初期値→
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
4 MHz タイマデータレジスタ 2 上位バイト
bit
15
14
13
12
11
10
9
8
アドレス : 000196H
TDR15 TDR14 TDR13 TDR12 TDR11 TDR10 TDR9
TDR8
読出し / 書込み→
(R)
(R)
(R)
(R)
(R)
(R)
(R)
(R)
初期値→
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
CUTR1H
CUTR1L
CUTR2H
4 MHz タイマデータレジスタ 2 下位バイト
bit
7
6
5
4
3
2
1
0
TDR7
TDR6
TDR5
TDR4
TDR3
TDR2
TDR1
TDR0
読出し / 書込み→
(R)
(R)
(R)
(R)
(R)
(R)
(R)
(R)
初期値→
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
アドレス : 000197H
CUTR2L
4 MHz タイマデータレジスタは補正の結果を格納します。補正が開始されると , 4 MHz
タイマはゼロからのカウントアップを開始します。32 kHz タイマがゼロに達すると ,
4 MHz タイマはカウントを停止し , ソフトウェアにより次の補正がトリガされるまで ,
レジスタは補正結果を保持します。
補正中にこのレジスタを読み出すと , 得られる値はランダムです。
補正の終了は , CUCR レジスタの INT ビットと STRT ビットにより示されます。これ
らのビットがそれぞれ "0" から "1", "1" から "0" に変更すると , CUTR の値が有効にな
ります。
ソフトウェアによりこのレジスタに書き込んでも影響はありません。
4 MHz タイマは , 4 MHz 発振クロックで動作します。
702
第 30 章 32 kHz クロック補正ユニット
30.3
アプリケーションノート
補正の正確さ , 電力消費 , 測定時間に関するアプリケーションノートを示します。
■ 32 kHz タイマデータレジスタの設定
32 kHz タイマデータレジスタの設定は , 以下の方法で計算できます。
補正に 1 秒の持続時間が必要な場合は , 8000H = 32768Dec を 32 kHz タイマデータレジ
スタに設定する必要があります。これは , 32.768 kHz 発振クロックの 32,768 パルスを
表します。
この設定により , 4 MHz タイマデータレジスタ内に約 3D0900H の値が格納されます。
この値は , 4 MHz 発振器の 4,000,000 パルスを表します。
表 30.3-1 32.768kHz 発振器と 4.0 MHz 発振器による理想的な測定結果 (CUTR)
補正時間
CUTD 値
CUTR 値
2秒
0x0000
0x7A1200
1.75 秒
0xE000
0x6ACFC0
1.5 秒
0xC000
0x5B8D80
1.25 秒
0xA000
0x4C4B40
1秒
0x8000
0x3D0900
0.75 秒
0x6000
0x2DC6C0
0.5 秒
0x4000
0x1E8480
0.25 秒
0x2000
0x0F4240
補正モジュールを使用する場合は , 補正の精度とともに電力消費が重要です。
■ 補正の精度
補正の正確さは , 4 MHz タイマのクロック周波数と補正の持続時間に依存します。
4 MHz タイマの最大誤差は +/- 1 桁です。クロック周波数が 4 MHz, 補正時間が 1 秒で
ある場合に達成される正確さは , 以下の方法で計算されます。
0.25µs ( クロックサイクル時間 )/1 秒 ( 持続時間 ) = 0.25 ppm
一般的には次のようになります。
正確さ = (4 MHz タイマのクロックサイクル時間 )/( 補正時間 )
■ 電力消費
RUN モードでの消費電流 IRUN が , RTC モードでの消費電流 IRTC の 20 倍
(IRUN = 20 × IRTC) であると仮定します。
補正測定を随時トリガするために , ソフトウェアにより RTC モードから MCU を再開
し , 補正時間を 1 秒に設定した場合 , 電力消費の増加は 20 × IRTC/60 = 1/3× IRTC となり
ます。
703
第 30 章 32 kHz クロック補正ユニット
この増加が , システム要件によるハードウェア限界に影響を与えないことを , ソフト
ウェアによって確認する必要があります。例えば , ソフトウェアは最低の周波数で補正
をトリガするよう設計する必要があります。
電力損失の理論的増加は , 特に MCU の RTC モードでは 5 % を超えないことが一般に
推奨されます。
■ 測定限界
32 kHz タイマが 32 kHz クロックで動作している場合は , 補正の限界持続時間は約 2 秒
です。一方 , 4 MHz タイマが 4 MHz クロックで動作している場合は , 4 秒まで測定でき
ます。
704
第 31 章
フラッシュメモリ
MB91360 シリーズデバイスは , 256KB, 512KB ま
たは 768KB の内蔵フラッシュメモリを特長としま
す。MB91360 シリーズデバイス上では F- バスに
接続されます。
31.1 フラッシュメモリの概要
31.2 フラッシュメモリのブロックダイヤグラム
31.3 書込み / 消去モード
31.4 フラッシュ制御ステータスレジスタ (FMCS)
31.5 読出し / 書込みアクセス
31.6 自動書込み / 消去
31.7 セクタ保護動作
31.8 外部コマンド
31.9 フラッシュメモリへの接続
31.10 フラッシュメモリ使用上の注意
31.11 フラッシュメモリモードのタイミング図
31.12 フラッシュメモリモードでの AC 特性
<注意事項>
フラッシュモードでのピン名は , MB91F362GB のピン名を参照しているので , 他の
製品の対応するピン名は「31.3 書込み / 消去モード」で確認してください。
705
第 31 章 フラッシュメモリ
31.1
フラッシュメモリの概要
フラッシュメモリは , MBM29LV400C を受け継ぐフラッシュメモリユニットと , フ
ラッシュメモリインタフェース回路から構成されます。
■ フラッシュメモリ
• 768K ワード × 8 ビット /384K ワード × 16 ビット /192K ワード ×32 ビット
((64K バイト× 5 + 32K バイト + 8K バイト× 2 + 16K バイト ) × 2) セクタ構成
(MB91F376G のみ )
• 512K ワード × 8 ビット /256K ワード × 16 ビット /128K ワード ×32 ビット
((64K バイト× 3 + 32K バイト + 8K バイト× 2 + 16K バイト ) × 2) セクタ構成
•
256K ワード × 8 ビット /128K ワード × 16 ビット /64K ワード ×32 ビット
((64K バイト + 32K バイト + 8K バイト× 2 + 16K バイト ) × 2) セクタ構成
(MB91F364G のみ )
• 自動プログラムアルゴリズムの使用 (Embedded Algorithm)
• 消去の一時停止 / 再開機能
• データポーリング , またはトグルビット機能を使用して書込み / 消去の完了を検出
• RY/BY 端子により書込み / 消去の完了を検出
• JEDEC 標準コマンド互換
• 10,000 回以上の書込み / 消去動作を保証
• セクタ消去機能 ( セクタ組合せ自由 )
• セクタ保護機能
• セクタ保護の一時的キャンセル機能
• ライタによる外部端子の制御下 ( フラッシュメモリモード ) および CPU による内部
バスの制御下 (CPU モード ) における , フラッシュメモリインタフェース回路による
フラッシュメモリ書込み / 消去の許可
706
第 31 章 フラッシュメモリ
フラッシュメモリのブロックダイヤグラム
31.2
図 31.2-1 は , フラッシュメモリユニットのブロックダイヤグラムを示します。
図 31.2-2 では , フラッシュメモリインタフェース回路を伴うフラッシュメモリのブ
ロックダイヤグラム全体を示します。
表 31.2-1 ∼表 31.2-4 では , フラッシュメモリのセクタ構成を示します。
■ フラッシュメモリのブロックダイヤグラム
図 31.2-1 は , フ ラ ッ シ ュ メ モ リ ユ ニ ッ ト の ブ ロ ッ ク ダ イ ヤ グ ラ ム を 示 し ま す。
MBM29LV400C とほぼ同じ構成になっています。
図 31.2-1 フラッシュメモリのブロック図
RY/BY
バッファ
DQ 0 toDQ 15
DQ0~DQ15
RY/BY
消去回路
I/O buf
fer
I/Oバッファ
WE
BYTE
制御回路
RESET
書込み回路
W rite cir uit
C hip enable/
チップ許可/
outputenable
出力許可回路
circ
uit
CE
OE
YYデコーダ
decoder
ST B
D atalatch
データラッチ
Yゲート
Y gate
ST B
低Vcc検出回路
W ri
te/erase
書込み/消去
pulse time r
パルスタイマ
アドレス
ラッチ
Address
latch
Xデコーダ
X decode
セルマトリックス
cellm atrix
A0~A17
A-1
707
第 31 章 フラッシュメモリ
■ フラッシュメモリのブロックダイヤグラム全体
図 31.2-2 は , フラッシュメモリインタフェース回路を伴うフラッシュメモリのブロッ
クダイヤグラム全体を示します。
図 31.2-2 フラッシュメモリのブロックダイヤグラム全体
Flash me m ory
フラッシュメモリ
interface circuit
インタフェース回路
Ext.Bus
I/F
外部バスI/F
BYTE
BYTE
CE
CE
OE
OE
WE
WE
A0
toA18
A0~A18
DQ0~DQ15
DQ0
to DQ1 5
UserLogic
ユーザ
bus
ロジック
バス
4Mビットフラッシュメモリ
4 Mb itflash me mory
RY/BY
A0
toA17
A0~A17
A-1
DQ0 to DQ1 5
DQ0~DQ15
RY/BY
RESET
外部リセット信号
E xternal res
et isgnal
RY /B Y write
RY/BY書込み
enabl
e signa
許可信号
CPU モードでは , フラッシュメモリは F-bus を介して CPU に接続されます。表 31.2-1 ,
表 31.2-2 , 表 31.2-3 および「付録 A I/O マップ」に , フラッシュセクタにアクセスする
ためのアドレスが一覧になっています。
フラッシュメモリモードでは , フラッシュメモリは外部バスインタフェースに接続され
ます。外部バスインタフェースを持たない製品では , フラッシュメモリ間のアドレス ,
データおよび制御信号をアクセスするために , 他のポートを使用します。
「31.3 書込み /
消去モード」の一覧表を参照してください。また , フラッシュメモリモードでは , 16 ビッ
トおよび 8 ビットアクセスが可能です。アドレス A0 は , 上位バイトと下位バイトを切り
換えるフラッシュメモリモジュールの A-1 端子に接続します。
708
第 31 章 フラッシュメモリ
■ セクタ構成 (256KB/512KB フラッシュメモリ )
CPU モードでのアドレッシングについては「付録 A I/O マップ」を参照してください。
表 31.2-1 ハーフワード読出し / 書込み , バイト読出し (256KB/512KB)
0
セクタ
6
16KB
セクタ
5
8KB
セクタ
4
8KB
セクタ
3
32KB
セクタ
2
64KB
セクタ
1
64KB
セクタ
0
64KB
<注意事項>
3FFFFH
3C000H
3BFFFH
3A000H
39FFFH
38000H
37FFFH
30000H
2FFFFH
20000H
1FFFFH
10000H
0FFFFH
00000H
CPU
モード
8 ビット× 2
15
0
フラッ
シュメモ
リモード
CPU
モード
FFFFCH
F8000H
セクタ
13
16KB
7FFFFH
7C000H
FFFFEH
F8002H
F7FFCH
F4000H
セクタ
12
8KB
7BFFFH
7A000H
F7FFEH
F4002H
F3FFCH
F0000H
セクタ
11
8KB
79FFFH
78000H
F3FFEH
F0002H
EFFFCH
E0000H
セクタ
10
32KB
77FFFH
70000H
EFFFEH
EFFFCH
C0000H
セクタ
9
64KB
6FFFFH
EFFFEH
60000H
C0002H
BFFFCH
A0000H
セクタ
8
64KB
5FFFFH
BFFFEH
50000H
A0002H
9FFFCH
80000H
セクタ
7
64KB
4FFFFH
9FFFEH
40000H
80002H
フラッ
シュメモ
リサイズ
512KB Flash
15
フラッ
シュメモ
リモード
256KB Flash
8 ビット× 2
E0002H
16 ビット CPU モードでは , アドレス N とアドレス N+1 はセクタ 0 からセクタ 6
に対応しますが , アドレス N+2 とアドレス N+3 はセクタ 7 からセクタ 13 をに対応
します。
709
第 31 章 フラッシュメモリ
表 31.2-2 ロングワード読出し (256KB/512KB)
0
31
16
セクタ 13
16KB
セクタ 6
16KB
セクタ 12
8KB
セクタ 5
8KB
セクタ 11
8KB
セクタ 4
8KB
セクタ 10
32KB
セクタ 3
32KB
セクタ 9
64KB
セクタ 2
64KB
セクタ 8
64KB
セクタ 1
64KB
セクタ 7
64KB
セクタ 0
64KB
710
CPU モード
7FFFFH
FFFFFH
78000H
F8000H
77FFFH
F7FFFH
74000H
F4000H
73FFFH
F3FFFH
70000H
F0000H
6FFFFH
EFFFFH
60000H
E0000H
5FFFFH
DFFFFH
40000H
C0000H
3FFFFH
BFFFFH
20000H
A0000H
1FFFFH
9FFFFH
00000H
80000H
フラッシュメモリ
サイズ
512KB Flash
15
フラッシュ
メモリモード
256KB Flash
LSB
8 ビット× 2
MSB
8 ビット× 2
第 31 章 フラッシュメモリ
■ セクタ構成 (768KB フラッシュメモリ )
表 31.2-3 ハーフワード読出し / 書込み , バイト読出し (768KB)
8 ビット× 2
15
セクタ
1
0
64KB
8 ビット× 2
フラッ
シュメモ
リモード
CPU
モード
−
13FFFCH
120000H
セクタ
3
−
11FFFCH
100000H
セクタ
2
64KB
FFFFCH
F8000H
セクタ
17
16KB
F7FFCH
F4000H
セクタ
16
8KB
F3FFCH
F0000H
セクタ
15
8KB
EFFFCH
E0000H
セクタ
14
32KB
DFFFCH
C0000H
セクタ
13
64KB
BFFFCH
A0000H
セクタ
12
64KB
9FFFCH
80000H
セクタ
11
64KB
7FFFCH
60000H
セクタ
3
64KB
5FFFCH
44800H
セクタ
2
56KB
15
0
64KB
フラッ
シュメモ
リモード
−
CPU
モード
備考
13FFFEH
120002H
ミラー
セクタ
0
64KB
セクタ
10
16KB
セクタ
9
8KB
セクタ
8
8KB
セクタ
7
32KB
セクタ
6
64KB
セクタ
5
64KB
セクタ
4
64KB
セクタ
1
64KB
セクタ
0
56KB
注意事
項参照
BFFFFH
BC000H
BBFFFH
BA000H
B9FFFH
B8000H
B7FFFH
B0000H
AFFFFH
A0000H
9FFFFH
90000H
8FFFFH
80000H
3FFFFH
30000H
2FFFFH
20000H
−
<注意事項>
447FCH
40000H
注意事
項参照
−
−
FFFFFH
FC000H
FBFFFH
11FFFEH
100002H
FFFFEH
F8002H
FA000H
F7FFEH
F4002H
F9FFFH
F3FFEH
F8000H
F0002H
F7FFFH
EFFFEH
F0000H
E0002H
EFFFFH
DFFFEH
E0000H
C0002H
DFFFFH
BFFFEH
D0000H
A0002H
CFFFFH
9FFFEH
C0000H
80002H
7FFFFH
7FFFEH
70000H
60002H
5FFFEH
6FFFFH
44802H
60000H
447FEH
注意事項
参照
40002H
CPU モードでは , アドレス 0x40000 ∼アドレス 0x447FF は RAM やブート ROM
とオーバラップするためアクセスできません。ミラーアドレスを代わりに使用して
ください。
711
第 31 章 フラッシュメモリ
表 31.2-4 ロングワード読出し (768KB)
LSB
8 ビット× 2
MSB
8 ビット× 2
31
16
セクタ 3
64KB
15
CPU モード
備考
8
セクタ 1
64KB
13FFFFH
120000H
ミラー
セクタ 2
64KB
セクタ 0
64KB
セクタ 17
16KB
セクタ 10
16KB
セクタ 16
8KB
セクタ 9
8KB
セクタ 15
8KB
セクタ 8
8KB
セクタ 14
32KB
セクタ 7
32KB
セクタ 13
64KB
セクタ 6
64KB
セクタ 12
64KB
セクタ 5
64KB
セクタ 11
64KB
セクタ 4
64KB
セクタ 3
64KB
セクタ 1
64KB
セクタ 2
56KB
セクタ 0
56KB
−
<注意事項>
712
−
−
−
11FFFFH
100000H
FFFFFH
F8000H
F7FFFH
F4000H
F3FFFH
F0000H
EFFFFH
E0000H
DFFFFH
C0000H
BFFFFH
A0000H
9FFFFH
80000H
7FFFFH
60000H
5FFFFH
44800H
447FFH
注意事項
参照
40000H
CPU モードでは , アドレス 0x40000 ∼アドレス 0x447FF は RAM やブート ROM
とオーバラップするためアクセスできません。ミラーアドレスを代わりに使用して
ください。
第 31 章 フラッシュメモリ
31.3
書込み / 消去モード
フラッシュメモリへのアクセスには 2 つの方法があります。
フラッシュメモリモードでは , 外部端子からの直接書込み / 消去が許可されます。そ
の他のモードでは , CPU からの内部バスを介した書込み / 消去が許可されます。
これらのモードは外部モード端子により選択します。
■ フラッシュメモリモード
INITX 信号がアサートされている場合に , モード端子を "111" に設定すると , CPU は停
止します。フラッシュメモリインタフェース回路を外部バスインタフェースに直接接
続すると , 外部端子による直接制御が可能になります。このモードでは , MCU が外部
端子における標準フラッシュメモリのように見なされるので , フラッシュメモリプロ
グラマを使用して書込み / 消去を行えます。
フラッシュメモリモードでは , フラッシュメモリ自動アルゴリズムによってサポート
されるすべての動作を使用できます。
■ CPU モード
フラッシュメモリは CPU メモリ空間の F- バス領域にあります。通常のマスクと同様に ,
CPU から , フラッシュメモリインタフェース回路を通じて , ROM の読出しアクセスお
よびプログラムアクセスを行えます。
フラッシュメモリの書込み / 消去は , CPU から , フラッシュメモリインタフェース回路
を介した命令により実行されます。そのため , このモードでは , MCU がターゲットボー
ド上にはんだ付けされている場合でも再書込みが許可されます。
セクタ保護動作は , これらのモードでは行うことができません。
■ フラッシュメモリの制御信号
表 31.3-1 に , フラッシュメモリモードにおけるフラッシュメモリ制御信号を示します。
フラッシュメモリ制御信号と MBM29LV400C の外部端子の間は , ほぼ 1 対 1 で対応し
ています。
セクタ保護動作に必要な VID(12V) 端子は , MBM29LV400C 用の A9, RESET,
および OE ではなく , MD0, MD1, および MD2 です。
フラッシュメモリモードでは , 外部データバスの幅は 8 ビット , または 16 ビットです。
次の表は , プログラム処理で必要な端子とフラッシュメモリモードで未使用端子の状
態について示しています。未使用端子の大部分はリセット状態 (High-Z 出力 , 入力可 )
です。誤操作や損傷を避けるために , これらの端子は抵抗を介して VDD か VSS に接続
してください。詳細については以下の表を参照してください。機能端子を除いたすべ
ての電源用端子は , 定格範囲内の電源に接続してください。また , 推奨のコンデンサを
VCC3C 端子に接続してください。
713
第 31 章 フラッシュメモリ
● フラッシュメモリモードの信号割当て ( その 1)
表 31.3-1 フラッシュメモリモードで使用する端子 ( その 1) (1 / 2)
MBM29
LV400C
MB91
FV360GA
MB91
F364G
MB91
F362GB
MB91
F369GA
備考
端子
番号
端子名
端子
番号
端子名
端子
番号
端子名
端子
番号
端子名
A-1
202
A0
9
A0
92
PR0
157
A0
アドレス A0
A0
310
A1
10
A1
93
PR1
158
A1
アドレス A1
A1
201
A2
11
A2
94
PR2
159
A2
アドレス A2
A2
357
A3
12
A3
95
PR3
160
A3
アドレス A3
A3
257
A4
13
A4
96
PR4
121
D0
アドレス A4
A4
144
A5
14
A5
97
PR5
122
D1
アドレス A5
A5
309
A6
15
A6
98
PR6
123
D2
アドレス A6
A6
256
A7
16
A7
99
PR7
124
D3
アドレス A7
A7
200
A8
17
A8
102
LED0
125
D4
アドレス A8
A8
356
A9
18
A9
103
LED1
126
D5
アドレス A9
A9
308
A10
19
A10
104
LED2
127
D6
アドレス A10
A10
92
A11
20
A11
105
LED3
128
D7
アドレス A11
A11
44
A12
21
A12
107
LED4
129
D8
アドレス A12
A12
255
A13
22
A13
108
LED5
130
D9
アドレス A13
A13
143
A14
23
A14
109
LED6
131
D10
アドレス A14
A14
199
A15
24
A15
110
LED7
132
D11
アドレス A15
A15
307
A16
27
A16
113
PO4
133
D12
アドレス A16
A16
91
A17
28
A17
114
PO5
134
D13
アドレス A17
A17
142
A18
29
A18
115
PO6
135
D14
アドレス A18
A18
-
-
-
-
-
-
136
D15
注意事項参照
[A20]
-
-
-
-
117
DA0
-
-
注意事項参照
WE
140
CS4X
32
CS4X
116
PO7
72
INT4
書込み可能
BYTE
196
CS5X
33
CS5X
2
AN1
71
INT3
バイトアクセス
OE
305
RDY
35
RDY
54
TESTX
73
INT5
出力可能
139
BGRNT
X
36
BGRNTX
55
CPUTESTX
69
INT1
チップ可能
RY/BY
88
BRQ
37
BRQ
56
ATGX
68
INT0
Ready/Busy
( オープンドレイン )
A9(VID)
293
MD0
111
MD0
57
MD0
58
MD0
VDA9 高電圧
RESET(VID)
31
MD1
112
MD1
58
MD1
59
MD1
VDRS 高電圧
OE(VID)
239
MD2
113
MD2
59
MD2
60
MD2
VDOE 高電圧
CE
714
第 31 章 フラッシュメモリ
表 31.3-1 フラッシュメモリモードで使用する端子 ( その 1) (2 / 2)
MBM29
LV400C
MB91
FV360GA
MB91
F364G
MB91
F362GB
MB91
F369GA
備考
端子
番号
端子名
端子
番号
端子名
端子
番号
端子名
端子
番号
端子名
RESET
30
INITX
115
INITX
60
INITX
62
INITX
リセット
DQ0
46
D16
201
D16
44
INO
139
D16
データ I/O
DQ1
95
D17
202
D17
45
IN1
140
D17
データ I/O
DQ2
1
D18
203
D18
46
IN2
141
D18
データ I/O
DQ3
148
D19
204
D19
47
IN3
142
D19
データ I/O
DQ4
205
D20
205
D20
48
OUT0
143
D20
データ I/O
DQ5
45
D21
206
D21
49
OUT1
144
D21
データ I/O
DQ6
94
D22
207
D22
50
OUT2
145
D22
データ I/O
DQ7
260
D23
208
D23
51
OUT3
146
D23
データ I/O
DQ8
312
D24
1
D24
34
INT0
147
D24
データ I/O
DQ9
204
D25
2
D25
35
INT1
148
D25
データ I/O
DQ10
147
D26
3
D26
36
INT2
149
D26
データ I/O
DQ11
93
D27
4
D27
37
INT3
150
D27
データ I/O
DQ12
259
D28
5
D28
38
INT4
151
D28
データ I/O
DQ13
203
D29
6
D29
39
INT5
152
D29
データ I/O
DQ14
146
D30
7
D30
40
INT6
153
D30
データ I/O
DQ15
258
D31
8
D31
41
INT7
154
D31
データ I/O
[TMODX]
89
CS6X
34
CS6X
118
DA1
70
INT2
テストモード
プルアップ
[ATDIN]
253
DREQ2
-
-
1
AN0
74
INT6
ATD テスト
プルダウン
[EQIN]
42
A26
-
-
90
LTESTX
75
INT7
EQ テスト
プルダウン
( 注意事項 )
・MB91F362GB: A19( 端子 30) および A20( 端子 32) はフラッシュメモリモードでは "L" にします。
フラッシュメモリからのリードでは , D0 ∼ D15( 端子 183 ∼ 197, 200) を出力モードに切り換えます。
フラッシュモードでの未使用端子 (MB91F362GB) を参照ください。
・MB91F364G : DA0( 端子 117) はフラッシュメモリモードでは "H" にします。
・MB91F369GA : 端子 70 はフラッシュメモリモードでは "H" にします。また , 端子 74 および端子 75 はフラッシュメモリ
モードでは "L" にします。
ALARM ( 端子 54) は "L" にします。
他のすべての端子はフラッシュメモリモードの間 , オープンのままにします。
715
第 31 章 フラッシュメモリ
表 31.3-2 フラッシュモードでの未使用端子 (MB91F362GB)
MB91F362GB
通常機能
フラッシュメモリ
モード
75, 76
DA0, DA1
出力
オープンのまま
77
ALARM
入力
プルダウン
81 ∼ 83
TESTX,
CPUTESTX,
LTESTX
入力
プルアップまたはオープンの
まま ( 初期プルアップ )
114
HSTX
入力
プルアップまたはオープンの
まま ( 初期プルアップ )
116
MONCLK
出力
オープンのまま
117
SELCLK
入力
プルアップ
119, 121
X0, X0A
入力
プルダウン
120, 122
X1, X1A
出力
オープンのまま
124
CPO
出力
オープンのまま
125
VCI
入力
プルダウン
入力
プルアップ
他の全信号
716
備考
端子番号
第 31 章 フラッシュメモリ
● フラッシュメモリモードの信号割当て ( その 2)
表 31.3-3 フラッシュメモリモードで使用する端子 ( その 2) (1 / 2)
MBM29
LV400C
MB91F365GB
MB91F366GB
MB91F367GB
MB91F368GB
MB91F376GA
備考
端子
番号
端子名
端子
番号
端子名
端子
番号
端子名
A-1
96
PWM1P0
96
PR0
96
PWM1P0
アドレス A0
A0
97
PWM1M0
97
PR1
97
PWM1M0
アドレス A1
A1
98
PWM2P0
98
PR2
98
PWM2P0
アドレス A2
A2
99
PWM2M0
99
PR3
99
PWM2M0
アドレス A3
A3
101
PWM1P1
101
PR4
101
PWM1P1
アドレス A4
A4
102
PWM1M1
102
PR5
102
PWM1M1
アドレス A5
A5
103
PWM2P1
103
PR6
103
PWM2P1
アドレス A6
A6
104
PWM2M1
104
PR7
104
PWM2M1
アドレス A7
A7
106
PWM1P2
106
PS0
106
PWM1P2
アドレス A8
A8
107
PWM1M2
107
PS1
107
PWM1M2
アドレス A9
A9
108
PWM2P2
108
PS2
108
PWM2P2
アドレス A10
A10
109
PWM2M2
109
PS3
109
PWM2M2
アドレス 11
A11
111
PWM1P3
111
PS4
111
PWM1P3
アドレス 12
A12
112
PWM1M3
112
PS5
112
PWM1M3
アドレス 13
A13
113
PWM2P3
113
PS6
113
PWM2P3
アドレス A14
A14
114
PWM2M3
114
PS7
114
PWM2M3
アドレス A15
A15
91
PG3
91
PG3
91
PG3
アドレス A16
A16
92
PG4
92
PG4
92
PG4
アドレス A17
A17
93
PG5
93
PG5
93
PG5
アドレス A18
A18
-
-
-
-
89
PG1
アドレス A19
[A20]
-
-
-
-
88
PG0
プルアップ
注意事項参照
WE
31
BOOT
31
BOOT
31
BOOT
書込み可能
BYTE
32
TESTX
32
TESTX
32
TESTX
バイトアクセス
OE
51
IN1
51
IN1
51
IN1
出力可能
CE
50
IN0
50
IN0
50
IN0
チップ可能
RY/BY
38
MONCLK
38
MONCLK
38
MONCLK
Ready/Busy
( オープン
ドレイン )
A9(VID)
57
MD0
57
MD0
57
MD0
VDA9 ハイ電圧
RESET(VID)
58
MD1
58
MD1
58
MD1
VDRS ハイ電圧
OE(VID)
59
MD2
59
MD2
59
MD2
VDOE ハイ電圧
717
第 31 章 フラッシュメモリ
表 31.3-3 フラッシュメモリモードで使用する端子 ( その 2) (2 / 2)
MBM29
LV400C
MB91F365GB
MB91F366GB
MB91F367GB
MB91F368GB
MB91F376GA
備考
端子
番号
端子名
端子
番号
端子名
端子
番号
端子名
RESET
60
INITX
60
INITX
60
INITX
リセット
DQ0
117
PJ0
117
PJ0
117
PJ0
データ I/O
DQ1
118
PJ1
118
PJ1
118
PJ1
データ I/O
DQ2
119
PJ2
119
PJ2
119
PJ2
データ I/O
DQ3
120
PJ3
120
PJ3
120
PJ3
データ I/O
DQ4
53
IN2
53
IN2
53
IN2
データ I/O
DQ5
55
IN3
55
IN3
55
IN3
データ I/O
DQ6
39
OUT0
39
OUT0
39
OUT0
データ I/O
DQ7
40
OUT1
40
OUT1
40
OUT1
データ I/O
DQ8
39
INT0
39
INT0
39
INT0
データ I/O
DQ9
40
INT1
40
INT1
40
INT1
データ I/O
DQ10
41
INT2
41
INT2
41
INT2
データ I/O
DQ11
42
INT3
42
INT3
42
INT3
データ I/O
DQ12
43
INT4
43
INT4
43
INT4
データ I/O
DQ13
44
INT5
44
INT5
44
INT5
データ I/O
DQ14
45
INT6
45
INT6
45
INT6
データ I/O
DQ15
46
INT7
46
INT7
46
INT7
データ I/O
[TMODX]
33
CPUTESTX
33
CPUTESTX
33
CPUTESTX
テストモード
プルアップ
[ATDIN]
63
PN0
63
PN0
63
PN0
ATD テスト
プルダウン
[EQIN]
90
PG2
90
PG2
90
LTEST
X
EQ テスト
プルダウン
( 注意事項 )
MB91F376G: 768KB フラッシュマクロでは , A18 はフラッシュマクロの追加入力端子になります。
端子 88(PG0) に接続した線 (A20) はハイにしてください。
718
第 31 章 フラッシュメモリ
表 31.3-4 フラッシュモードでの未使用端子
(MB91F365GB/F366GB/F367GB/F368GB/F376G)
MB91F365GB/F366GB/F367GB/F368GB/F376G
端子番号
通常機能
端子状態
35
X0
入力
プルアップ
36
X1
出力
オープンのまま
66
SIN3
出力
オープンのまま
67
SOT3
出力
オープンのまま
68
SCK3
出力
オープンのまま
27
DA0 / X0A
出力 / 入力
オープンのまま / プルアップ
28
DA1/X1A
出力 / 出力
オープンのまま
29
ALARM
入力
プルアップ
入力
プルアップ
他の全信号
備考
719
第 31 章 フラッシュメモリ
31.4
フラッシュ制御ステータスレジスタ (FMCS)
フラッシュ制御ステータスレジスタについて説明します。
■ フラッシュ制御ステータスレジスタ (FMCS)
デバイスで使用するフラッシュメモリマクロ :
通常フラッシュマクロを使用するメモリ : MB91F362GB
高速フラッシュマクロを使用するメモリ :
他の MB91360 シリーズ デバイス MB91FV360GA
bit
7
アドレス : 00007000H FACCEN
アクセス R/W
初期値 *1
ブート ROM 後の値
6
5
4
3
2
1
0
RDY
RDYI
WE
LPM
−
−
RDYEG
R/W
R/W
R
R
R/W
R/W
R/W
1/0 *2
1
1
0
X
0
0
0
0
1
1
0
X
0
0
0
*1: FMCS レジスタは , 初期リセット (INIT) または動作リセット (RST) により初期化されます。
*2: MB91F376G および MB91F364G の場合は "0" で , 他の製品の場合は "1" です。
[bit7] FACCEN: FACC 出力許可
通常フラッシュマクロ
0: FACC 信号許可 - 推奨設定
1: FACC 信号禁止
高速フラッシュマクロ
0: ATDIN 信号と EQIN 信号を使用した同期読出しアクセス - 推奨設定
1: 非同期読出しアクセス
[bit6, bit5] 予約
MB91F376G では , これらのビットへの書込みは常に "00" です。
他の製品では , これらのビットへの書込みは , 常に "11" です。
[bit4] RDYEG: 予備ビット
[bit3] RDY
自動アルゴリズムの状態
0: 自動アルゴリズムの状態は書込み / 読出しです。書込み / 読出し / 消去を受け付ける
ことはできません。
1: 書込み / 読出し / 消去を受け付けられます。
720
第 31 章 フラッシュメモリ
[bit2] RDYI: 予備ビット
[bit1] WE
このビットは , CPU モードでのフラッシュメモリの書込み / 読出しを制御するために使
用します。
0: フラッシュメモリの書込み禁止 , 読出しアクセス幅 32 ビット
1: 書込み許可 , 読出しアクセス幅 16 ビット , 自動アルゴリズム使用可能
このビットは , RDY が "1" である場合にのみ書き込めます。
[bit0] LPM
0: 通常モード
1: 低電力モード , CPU 周波数が 5 MHz 未満の場合に使用可能
721
第 31 章 フラッシュメモリ
31.5
読出し / 書込みアクセス
フラッシュメモリモードでは , フラッシュメモリへの読出し / 書込みアクセスを外部
端子の制御下におく必要があります。ただし , CPU アクセスでは , フラッシュメモ
リインタフェース回路によってフラッシュメモリが制御されるため , 読出し / 書込み
アクセスに特別なタイミング制約はありません。
ここで使用する「書込みアクセス」は , そのまま「フラッシュメモリのプログラム」
を意味するのではなく , 「フラッシュコマンドの起動」を意味します。
■ フラッシュメモリモードでの読出し / 書込みアクセス
表 31.5-1 は , フラッシュメモリモードにおける読出し / 書込みアクセス用端子の設定を
示します。これらの端子をフラッシュメモリライタに接続する場合は , 制御に関する特
別な問題はありません。ただし , それ以外の場合には , タイミング仕様を満足する必要
があります。タイミング仕様については , 「31.11 フラッシュメモリモードのタイミン
グ図」および「31.12 フラッシュメモリモードでの AC 特性」を参照してください。
表 31.5-1 フラッシュメモリモードでの読出し / 書込みアクセス用端子の設定条件
BGRNTX(CE)
RDY(OE)
CS4X(WE)
A0 ∼ A18
D16 ∼ D31
INITX
読出し
L
L
H
読出し
アドレス
DOUT
H
書込み
L
H
L
書込み
アドレス
DIN
H
出力禁止
L
H
H
X
Hi-Z
H
スタンバイ
H
X
X
X
Hi-Z
H
ハードウェア
リセット
X
X
X
X
Hi-Z
L
動作
<注意事項>
722
この表は , MB91F362GB のピン名を使用しています。他のデバイスの対応するピ
ン名は ,「31.3 書込み / 消去モード」で確認してください。
第 31 章 フラッシュメモリ
■ CPU 読出しアクセス , フラッシュウェイト制御レジスタ (FMWT)
フラッシュウェイト制御レジスタ (FMWT)
bit
7
アドレス : 00007004H
6
5
4
3
2
1
0
−
−
FAC1
FAC0
アクセス
−
R/W
R/W
R/W
R/W
R/W
WTC1
WTC0
R/W
R/W
初期値
−
0
0
0/1*
0
0
1
1
ブート ROM 起動後のレジスタの値
−
0
0
1
0
0
1
1
EQINH WTC2
*: MB91F376G および MB91F364G の場合は "1", ほかの製品の場合は "0"
[bit6]
このビットは予備であり , このレジスタに書き込む場合は , このビットに常に "0" を
設定します。
[bit5, bit4] FAC1, FAC0
通常フラッシュマクロ: これらのビットは, FACC信号の"L"パルス幅を制御します。
高速フラッシュマクロ : これらのビットは , ATDIN 信号の "H" パルス幅を制御しま
す。
FAC1
FAC0
FACC のローパルス幅 /ATDIN の "H" パルス幅
0
0
CLKB の 0.5 サイクル
0
1
CLKB の 1 サイクル
1
0
CLKB の 1.5 サイクル
1
1
CLKB の 2 サイクル
[bit3] EQINH
このビットは , EQIN 信号の立下りエッジを制御します。
通常フラッシュマクロ : このレジスタビットに書き込む場合は , 常に "0" を書き込み
ます。
高速フラッシュマクロ :
0: FWAITR 信号の立下りエッジにおける EQIN の立下りエッジ
1: FWAITR 信号の立下りエッジのハーフサイクル後の EQIN の立下りエッジ
[bit2 ∼ bit0] WTC2 ∼ WTC0 : 待ちサイクルビット
WTC2 ∼ WTC0 は , フラッシュメモリアクセス用の自動待ちサイクルを挿入するた
めに使用します。
723
第 31 章 フラッシュメモリ
WTC2
WTC1
WTC0
ウェイトサイクル
0
0
0
0
0
0
1
1
0
1
0
2
0
1
1
3
1
0
0
4
1
0
1
5
1
1
0
6
1
1
1
7
通常フラッシュマクロの推奨設定 :
クロック変調を適用しない場合 :
WTC0
FACC "L" 幅
サイクル /
ウェイト
サイクル
FMWT
1
1
1/3
13H
0
1
1
1/3
13H
0
0
1
0
1/2
12H
0
0
0
1
0
0.5/2
02H
0
0
0
0
0
1
0.5/1
01H
0
0
0
0
0
1
0.5/1
01H
CLKB 非変調
コアクロック
周波数 [MHz]
FAC1
FAC0
EQINH
WTC2
WTC1
64
0
1
0
0
48
0
1
0
40
0
1
32
0
24
16
クロック変調を適用する場合 :
CLKB コア
クロック
周波数
[MHz]
最高
ピーク
周波数
FAC1
FAC0
EQINH
WTC2
WTC1
48
64
0
1
0
0
32
48
0
1
0
24
40
0
1
24
32
0
16
24
0
724
WTC0
FACC "L" 幅
サイクル /
ウェイト
サイクル
FMWT
1
1
1/3
13H
0
1
1
1/3
13H
0
0
1
0
1/2
12H
0
0
0
1
0
0.5/2
02H
0
0
0
0
1
0.5/1
01H
第 31 章 フラッシュメモリ
1サイクルFACC='L'
3ウェイトサイクル
コアクロック
CLKB
FA
A1
A2
A3
Fバスアドレス
Fバス待ち
FWAITR
t FP
FACC
フラッシュ用FACC
tFACC
FD
D1
Fバスデータ
tFPの最小値は15nsで,tFACCの最小値は40nsです。
高速フラッシュマクロの推奨設定 :
クロック変調を適用しない場合 :
CLKB 非変調
コアクロック
周波数 [MHz]
FAC1
FAC0
EQINH
WTC2
WTC1
WTC0
ATDIN ’H’ 幅サ
イクル / ウェイ
トサイクル
64
0
1
0
0
1
1
1/3
13H
48
0
0 *1, *2
0 *1
0
1
0
0.5/2
02H
40
0
0 *1, *2
0 *1
0
1
0
0.5/2
02H
32
0
0
1
0
0
1
0.5/1
09H
24
0
0
0 *1
0
0
1
0.5/1
01H
16
0
0
0
0
0
1
0.5/1
01H
FMWT
*1: MB91F376G での推奨値は 1
*2: MB91F364G での推奨値は 1
725
第 31 章 フラッシュメモリ
クロック変調を適用する場合 :
CLKB コア
クロック周
波数 [MHz]
最高
ピーク
周波数
FAC1
FAC0
EQINH
WTC2
WTC1
WTC0
ATDIN ’H’ 幅サ
イクル / ウェ
イトサイクル
FMWT
48
64
0
1
0
0
1
1
1/3
13H
32
48
0
0 *1, *2
0 *1
0
1
0
0.5/2
02H
24
40
0
0 *1, *2
0 *1
0
1
0
0.5/2
12H
24
32
0
0
1
0
0
1
0.5/1
09H
16
24
0
0
0 *1
0
0
1
0.5/1
01H
*1: MB91F376G での推奨値は 1
*2: MB91F364G での推奨値は 1
1サイクルATDIN='H' 3ウェイトサイクル
コアクロック
CLKB
FA
A1
A3 Fバスアドレス
A2
Fバス待ち
FWAITR
ATDIN
フラッシュ用
ATDIN
tWATD
EQIN
フラッシュ用
EQIN
tWEQ
FD
D1
tACC
tRC
tWATDの最小値は10nsで,tWEQの最小値は20nsです。
tRCの最小値は40nsです。
tACCの最大値はtWATD + tWEQ + 5nsです。
726
Fバスデータ
第 31 章 フラッシュメモリ
■ デバイスの CPU による書込みアクセス
次の表に , フラッシュメモリへの書込みアクセスに対する WTC2 ∼ WTC0 の推奨設定
を示します。書込み動作に対しては , FMCS レジスタの FACCEN ビットを "1" に設定
します。したがって , 書込み動作に対しては , FAC1, FAC0 および EQINH の各ビットの
設定は意味を持ちません。
クロック変調を適用しない場合 :
CLKB 無変調コア
クロック周波数 [MHz]
WTC2
WTC1
WTC0
待機サイクル数
FMWT
64
書込み動作に対しては設定できません。
48
書込み動作に対しては設定できません。
40
1
0
0
4
X4H
32
0
1
0
2
X2H
24
0
1
0
2
X2H
16
0
0
1
1
X1H
クロック変調を適用する場合 :
CLKB コア
クロック周波数
[MHz]
最高ピーク
周波数
[MHz]
48
64
書込み動作に対しては設定できません。
32
48
書込み動作に対しては設定できません。
24
40
1
0
0
4
X4H
24
32
0
1
0
2
X2H
16
24
0
1
0
2
X2H
WTC2
WTC1
WTC0
待機サイクル数
FMWT
727
第 31 章 フラッシュメモリ
31.6
自動書込み / 消去
自動書込み / 消去について説明します。
■ 自動書込み / 消去
フラッシュメモリユニットの書込み / 消去は , フラッシュメモリモードであるか , CPU
モードであるかに関係なく , フラッシュメモリ自動アルゴリズムの起動により実行さ
れます。
自動アルゴリズムを起動するために , 書込みアクセスの多様なシーケンスが 1 ∼ 6 サイ
クルで実行されます。これらはフラッシュコマンドとよばれます。
728
第 31 章 フラッシュメモリ
フラッシュコマンド
31.6.1
フラッシュメモリユニットの自動アルゴリズムを起動するためのコマンドとして ,
読出し / リセット , 書込み , チップ消去 , セクタ消去 , の 4 つのコマンドがあります。
また , セクタ消去動作については一時停止コマンドと再開コマンドがあります。
ここでは , フラッシュメモリモード , および CPU モードにおけるコマンドシーケン
スを示します。
■ コマンドシーケンス
表 31.6-1 と表 31.6-2 に , フラッシュメモリユニットで利用可能なコマンドを示します。
すべてのデータは , バイトデータでコマンドレジスタに書き込まれますが , CPU アクセ
スではハーフワードアクセスにより書き込む必要があります。上位データバイトは無
視されます。
フラッシュメモリモードでは , 外部端子 BYTE を使用したバイトアクセス , またはハー
フワードアクセスの選択が許可されます。
表 31.6-1 コマンドシーケンスリスト (CPU モード )
コマンド
シーケンス
バスの
書込み
サイクル
第 1 バスの書込み
サイクル
第 2 バスの書込み
サイクル
第 3 バスの書込み
サイクル
第 4 バスの読出し /
書込みサイクル
第 5 バスの書込み
サイクル
第 6 バスの書込み
サイクル
アドレス
データ
アドレス
データ
アドレス
データ
アドレス
データ
アドレス
データ
アドレス
データ
読出し /
リセット *
1
**xxxx
xxF0
-
-
-
-
-
-
-
-
-
-
読出し /
リセット *
4
**5554
xxAA
**aaa8
xx55
**5554
xxF0
RA
RD
-
-
-
-
書込み
4
**5554
xxAA
**aaa8
xx55
**5554
xxA0
PA
( 偶数 )
PD
( ハーフ
ワード )
-
-
-
-
チップ消去
6
**5554
xxAA
**aaa8
xx55
**5554
xx80
**5554
xxAA
**aaa8
xx55
**5554
xx10
セクタ消去
6
**5554
xxAA
**aaa8
xx55
**5554
xx80
**5554
xxAA
**aaa8
xx55
SA ( 偶数 )
xx30
セクタ消去一時停止
アドレス **xxxx またはデータ (xxB0H) を入力すると , セクタ消去は一時停止されます。
セクタ消去再開
アドレス **xxxx またはデータ (xx30H) を入力すると , セクタ消去は一時停止後再開されます。
( 注意事項 ): 表中のアドレスは , CPU メモリ空間の値です。アドレスとデータはすべて 16 進の値で
す。x は任意の値です。** は 08 ∼ 0F です。
RA: 読出しアドレス
PA: 書込みアドレス。偶数アドレスだけを指定できます。
SA: セクタアドレス ( 表 31.6-3 参照 )。偶数アドレスだけを指定できます。
RD: 読出しデータ
PD: 書込みデータ。ハーフワードデータだけを指定できます。
<注意事項>
2 種類の読出し / リセットコマンドは , フラッシュメモリを読出しモードにリセッ
トします。
CPU モード時 , フラッシュメモリに対してバイト書込みは行わないでください。
729
第 31 章 フラッシュメモリ
表 31.6-2 コマンドシーケンスリスト ( フラッシュメモリモード )
コマンド
シーケンス
バス
の書
込み
サイ
クル
第 1 バスの書込み
サイクル
第 2 バスの
書込みサイクル
第 3 バスの
書込みサイクル
第 4 バスの読出し
/ 書込みサイクル
第 5 バスの書込み
サイクル
第 6 バスの書込み
サイクル
アドレス データ
アドレス データ
アドレス データ
アドレス データ
アドレス データ
アドレス
データ
読出し /
リセット *
1
**xxxx
F0
-
-
-
-
-
-
-
-
-
-
読出し /
リセット *
4
*aaaa
AA
*5554
55
*aaaa
F0
RA
RD
-
-
-
-
書込み
4
*aaaa
AA
*5554
55
*aaaa
A0
PA
( 偶数 )
PD
( ハーフ ワード )
-
-
-
チップ消去
6
*aaaa
AA
*5554
55
*aaaa
80
*aaaa
AA
*5554
55
*aaaa
10
セクタ消去
6
*aaaa
AA
*5554
55
*aaaa
80
*aaaa
AA
*5554
55
SA
( 偶数 )
30
セクタ消去一時停
止
アドレス **xxxx またはデータ (B0H) を入力すると , セクタ消去が一時停止されます。
セクタ消去再開
アドレス **xxxx またはデータ (30H) を入力すると , セクタ消去が一時停止後再開されます。
( 注意事項 ): 表中のアドレスはライタのアドレス用の値です。アドレスとデータはすべて 16 進の値
です。x は任意の値です。* は 0 ∼ 7 です。
RA: 読出しアドレス
PA: 書込みアドレス。偶数アドレスだけを指定できます。
SA: セクタアドレス ( 表 31.6-3 参照 )。偶数アドレスだけを指定できます。
RD: 読出しデータ
PD: 書込みデータ。ハーフワードデータだけを指定できます。
<注意事項>
2 種類の読出し / リセットコマンドは , フラッシュメモリを読出しモードにリセッ
トします。
■ 読出し / リセットコマンド
2 種類の読出し / リセットコマンドがあります。1 つは , 1 つのバス動作で実行され , も
う一方は 3 つのバス動作で実行されます。コマンドシーケンスは両方とも本質的に同
じものです。
フラッシュメモリユニットは , デフォルトで読出し / リセット状態になり , 電源投入時
もコマンド実行の正常終了時も常にこの状態に入ります。読出し / リセット状態は , 別
のコマンド入力の待ち状態でもあります。
読出し / リセット状態では , 通常の読出しアクセスによりデータを読み出すことができ
ます。CPU が通常モードである場合は , マスク ROM 同様 , CPU からのプログラムアク
セスが許可されます。
したがって , このコマンドはデータの読出しには必要なく , 何らかの理由によりコマン
ド実行が終了しなかった場合に , 主として自動アルゴリズムをリセットするために使
用されます。
730
第 31 章 フラッシュメモリ
■ 書込みコマンド
書込みコマンドは 4 つのバス動作で実行します。コマンドシーケンスでは , アンロック
を2サイクル実行した後, 書込みセットアップコマンドと書込みデータサイクルが続き
ます。自動書込みは , 4 回目の書込みサイクル終了時に開始されます。
CPU が通常モードにある場合は , 書込みデータサイクルで偶数アドレスだけを指定で
きます。奇数アドレスを指定すると正しい書込みができなくなります。そのため , 通常
モードで書き込む場合は , 偶数アドレスへハーフワードで書き込みます。フラッシュメ
モリモードではこのような制限はありません。
自動書込みアルゴリズム用のコマンドシーケンスを実行すると , フラッシュメモリユ
ニットは , 書き込まれたデータが有効かどうかを確かめて , 自動的に作られた適切なラ
イトパルスを生成します。自動書込みの終了は , データポーリング機能 (「31.6.2 自動
アルゴリズムの実行状態」を参照 ) を使用して判断できます。書込みが完了すると , フ
ラッシュメモリユニットは読出し / リセット状態に戻ります。
書込み中はすべてのコマンドが無視されます。書込み中にハードウェアリセットが発
生した場合は , アドレスに書き込まれていたデータが無効になります。
書込みは , 任意のアドレス順序でも , セクタ境界を超えても可能です。ただし , 書込み
コマンドを 1 回実行すると , CPU アクセスでは 1 ハーフワードのデータが書き込まれ ,
フラッシュメモリモードでは 1 バイト , または 1 ハーフワードのデータが書き込まれま
す。
書込みによってデータ "0" をデータ "1" に戻すことはできません。データ "0" をデータ
"1"に書き込むと, データポーリングアルゴリズム (D23) , またはトグル動作 (D22) が終
了せず , フラッシュメモリ素子が不足と判定され書込み規定時間を超え , タイミングリ
ミット超過フラグ (D21) がエラーと判定するか , あるいは見かけ上データ "1" が書き込
まれたように見えるかのどちらかとなります。ただし , 読出し / リセット状態でデータ
を読み出すと "0" のままです。消去した場合にのみ , "0" をデータ "1" に設定すること
ができます。
図 31.6-1 は , 書込みコマンドを使用した書込み手順を示します。
図 31.6-1 書込みコマンドを使用した書込み手順
書込み開始
書込みコマンドシーケンス
デバイスデータポーリング
次のアドレス
NO
最終アドレス?
YES
書込み終了
731
第 31 章 フラッシュメモリ
■ チップ消去コマンド
チップ消去コマンドは , 6 回のバス動作で実行されます。コマンドシーケンスでは , ア
ンロックを 2 サイクル実行した後 , 書込みセットアップコマンドが実行されます。さら
に同じアンロックが 2 サイクル続いてチップ消去コマンドが書き込まれます。チップ
消去は , 6 回目の書込みサイクルが完了すると開始されます。
チップを消去する前に , ユーザがフラッシュメモリユニットに書き込む必要はありま
せん。自動消去アルゴリズムの実行中 , すべてのセルが自動的に消去される前に , フ
ラッシュメモリユニットが "0" パターンを書き込んで検証します。
自動消去の終了は , データポーリング機能 (「31.6.2 自動アルゴリズムの実行状態」を
参照 ) を使用して判断できます。フラッシュメモリユニットは , 消去完了後 , 読出し /
リセット状態に戻ります。
図 31.6-2 は , チップ消去コマンドを使用したチップ消去の手順を示しています。
■ セクタ消去コマンド
セクタ消去コマンドは , 6 回のバス動作で実行されます。コマンドシーケンスでは , ア
ンロックを 2 サイクル実行した後 , 書込みセットアップコマンドが実行されます。さら
に同じアンロックが 2 サイクル続き , 6 回目のサイクルで書込みセクタ消去コードをセ
クタアドレスに書き込み , セクタ消去のために 50µs 待ちます。
複数のセクタを消去する場合は , 上記シーケンスの後 , セクタ消去コード (30H) をセク
タアドレスに書き込みます。最後のセクタ消去コードが書き込まれてから 50µs のセク
タ消去待ち期間が完了すると , セクタ消去が開始されます。すなわち , 複数のセクタを
同時に消去する場合は , 次の消去セクタのアドレスと消去コード ( コマンドシーケンス
6 サイクル目 ) をそれぞれ 50µs の間に入力する必要があり , それ以降では受け付けら
れません。引き続くセクタ消去コードの有効性は , セクタ消去タイマフラグ (「31.6.2
自動アルゴリズムの実行状態」を参照 ) によってモニタできます。セクタ消去待機中
に , セクタ消去およびセクタ消去一時停止以外のコマンドが受け付けられた場合は , フ
ラッシュメモリユニットが読出し / リセット状態へ戻り , 以前のコマンドシーケンスは
無視されます。この場合の消去は , セクタを再度消去することによって完了されます。
セクタアドレスは任意の組合せと順序で選択できますが , 選択したセクタは昇順で消
去されます。
セクタを消去する前に , ユーザがフラッシュメモリユニットに書き込む必要はありま
せん。自動的に消去されるセクタのすべてのメモリに対して書込みが行われます。セ
クタ消去中に他のセクタが影響を受けることはありません。
自動セクタ消去の終了は , データポーリング機能 (「31.6.2 自動アルゴリズムの実行状
態」を参照 ) を使用して判断できます。フラッシュメモリユニットは , 消去の完了後 ,
読出し / リセット状態に戻ります。セクタ消去中 , 他のコマンドは無視されます。
図 31.6-2 は , セクタ消去コマンドを使用したセクタ消去の手順です。
図 31.6-2 チップ消去 / セクタ消去コマンドを使用したチップ消去 / セクタ消去の手順
E消去開始
rase start
Cチップ消去/セクタ消去コマンドシーケンス
hip E rase/S ector E rase com m and sequence
データポーリングまたはトグルビット機能の完了
C om pletion of data polli
ng or toggle bit function
消去終了
E rase en
732
第 31 章 フラッシュメモリ
● セクタアドレス
セクタアドレスは , 各セクタを表す任意のアドレスです。セクタとモードでアクセス可
能な任意のアドレスでかまいません。
表 31.6-3 ハーフワードモード用のセクタアドレス (768KB)
フラッシュメモリモードでの A[19:13]
セクタ
A13
フラッシュメモリ
モードでの
アドレス範囲
CPU モードで
のアドレス
FC000H ∼ FFFFFH
F8002H
A19
A18
A17
A16
A15
A14
SA17
1
1
1
1
1
1
SA16
1
1
1
1
1
0
1
FA000H ∼ FBFFFH
F4002H
SA15
1
1
1
1
1
0
0
F8000H ∼ F9FFFH
F0002H
SA14
1
1
1
1
0
F0000H ∼ F7FFFH
E0002H
SA13
1
1
1
0
E0000H ∼ EFFFFH
C0002H
SA12
1
1
0
1
D0000H ∼ DFFFFH
A0002H
SA11
1
1
0
0
C0000H ∼ CFFFFH
80002H
SA10
1
0
1
1
1
1
BC000H ∼ BFFFFH
F8000H
SA9
1
0
1
1
1
0
1
BA000H ∼ BBFFFH
F4000H
SA8
1
0
1
1
1
0
0
B8000H ∼ B9FFFH
F0000H
SA7
1
0
1
1
0
B0000H ∼ B7FFFH
E0000H
SA6
1
0
1
0
A0000H ∼ AFFFFH
C0000H
SA5
1
0
0
1
90000H ∼ 9FFFFH
A0000H
SA4
1
0
0
0
80000H ∼ 8FFFFH
80000H
SA3
0
1
1
1
70000H ∼ 7FFFFH
60002H
SA2
0
1
1
0
60000H ∼ 6FFFFH
40002H
SA1
0
0
1
1
30000H ∼ 3FFFFH
60000H
SA0
0
0
1
0
20000H ∼ 2FFFFH
40000H
733
第 31 章 フラッシュメモリ
表 31.6-4 ハーフワードモード用のセクタアドレス (256KB/512KB)
フラッシュメモリモードでの A[18:13]
セクタ
A13
フラッシュメモリ
モードでの
アドレス範囲
CPU モードで
のアドレス
7C000H ∼ 7FFFFH
F8002H
A18
A17
A16
A15
A14
SA13
1
1
1
1
1
SA12
1
1
1
1
0
1
7A000H ∼ 7BFFFH
F4002H
SA11
1
1
1
1
0
0
78000H ∼ 79FFFH
F0002H
SA10
1
1
1
0
70000H ∼ 77FFFH
E0002H
SA9
1
1
0
60000H ∼ 6FFFFH
C0002H
SA8
1
0
1
50000H ∼ 5FFFFH
A0002H
SA7
1
0
0
40000H ∼ 4FFFFH
80002H
SA6
0
1
1
1
1
3C000H ∼ 3FFFFH
F8000H
SA5
0
1
1
1
0
1
3A000H ∼ 3BFFFH
F4000H
SA4
0
1
1
1
0
0
38000H ∼ 39FFFH
F0000H
SA3
0
1
1
0
30000H ∼ 37FFFH
E0000H
SA2
0
1
0
20000H ∼ 2FFFFH
C0000H
SA1
0
0
1
10000H ∼ 1FFFFH
A0000H
SA0
0
0
0
00000H ∼ 0FFFFH
80000H
■ セクタ消去一時停止コマンド
セクタ消去一時停止コマンドは , 自動アルゴリズムによるセクタ消去を一時停止し , 消
去されていないセクタ ( 書込み不可 ) からのデータ読出しを許可します。このコマンド
はセクタ消去待ち期間を含むセクタ消去中にのみ許可され , チップ消去中および書込
み中には無視されます。このコマンドは , セクタ消去一次停止コード (B0H) を書き込む
ことにより , 実行されます。この場合 , フラッシュメモリ領域内の任意のアドレスが指
定されます。
セクタ消去待ち期間中にこのコマンドが入力されるとすぐに , フラッシュメモリユ
ニットは消去を一時停止するためにセクタ消去待ちを終了して , 消去一次停止状態に
入ります。
セクタ消去待ち期間後のセクタ消去中にセクタ消去一時停止コマンドを入力すると ,
フラッシュメモリユニットは 20µs 以内に消去一次停止状態に入ります。
フラッシュメモリユニットが消去を停止して消去一時停止状態にあるかどうかは ,
データポーリング機能 , またはトグルビット機能 (「31.6.2 自動アルゴリズムの実行状
態」参照 ) を使用して判断できます。消去一時停止状態で入力したセクタ消去一時停
止コマンドは無視されます。
734
第 31 章 フラッシュメモリ
消去一時停止状態では , 消去されていないセクタへの通常の読出しアクセスにより ,
データを読み出すことができます。
■ セクタ消去再開コマンド
セクタ消去再開コマンドは , セクタ消去一時停止コマンドにより一時停止されたセク
タ消去を再開します。このコマンドは , 消去再開コード (30H) の書込みにより実行され
ます。この場合 , フラッシュメモリ領域内の任意のアドレスが指定されます。
消去再開状態では , フラッシュメモリユニットは , セクタ消去再開コマンドの入力は無
視しますが , セクタ消去一時停止コマンドの入力は受け付けます。
■ 高速モード
フラッシュメモリには , 高速モード機能があります。このモードで高速モードコマンド
をコマンドレジスタに書き込むと , 標準プログラムコマンドシーケンスに必要な最初
のアンロック 2 サイクルが省略されます。このモードでは , 標準プログラムコマンドの
4 バスサイクルの代わりに , 2 サイクルのプログラミング用バスサイクルが必要です
( このモードでは消去コマンドを書き込まないでください )。このモードを終了した後
で , 読出し動作も実行されます。このモードを終了するには , コマンドレジスタに高速
モードのリセットコマンドを書き込む必要があります 。高速モードでは , CE = VIH の
場合でも Vcc 動作電流が必要です。
■ 高速プログラミング
高速モードでは , プログラミングは 2 つのバスサイクル動作で実行できます。自動アル
ゴリズムは , プログラムセットアップコマンド (A0H) とデータ書込みサイクル (PA/PD)
を書き込むことにより実行されます。
■ 拡張セクタ保護
通常セクタ保護以外に , 拡張セクタ保護が利用できます。MD1 端子上に VID を印加し ,
コマンドシーケンスを書き込むと , この機能によるセクタ保護が可能になります。従来
の手順とは異なり , 制御端子に対して VID を印加し制御タイミングを設定する必要は
ありません。このモードでのセクタ保護には , MD1 端子にのみ VID が必要です。この
条件で , コマンドレジスタにセットアップコマンド (60H) を書き込むと , 動作が開始さ
れます。
次に , 保護するセクタのアドレスに , セクタアドレス端子 (A18, A17, A16, A15, A14, お
よび A13) と (A6, A1, A0) = (0, 1, 0) を設定し ( 他のアドレス端子には VIL を設定するこ
とを推奨 ), 拡張セクタ保護コマンド (60H) を書き込む必要があります。セクタは通常 ,
150µs で保護されます。保護回路のプログラミングを検証するために , セクタアドレス
端子 (A18, A17, A16, A15, A14, および A13) と (A6, A1, A0) = (0, 1, 0) を設定し , コマン
ド (40H) を書き込む必要があります。書込みコマンドに続く読出し動作では , 保護セク
タに対し , デバイス出力 D16 に論理 "1" が生成されます。出力データが論理 "0" である
場合は , 拡張セクタ保護コマンド (60H) を再度書き込んでください。動作を終了するに
は , MD1 端子を VIH に設定する必要があります。
735
第 31 章 フラッシュメモリ
自動アルゴリズムの実行状態
31.6.2
書込み / 消去フローは自動アルゴリズムにより制御されます。フラッシュメモリユ
ニットには , 内部動作と動作の完了をフラッシュメモリユニット外のユニットに知
らせるための , ハードウェアシーケンスフラグとレディ / ビジー信号があります。
■ ハードウェアシーケンスフラグリスト
ハードウェアシーケンスフラグは , D23, D22, D21, および D19 の 4 つの出力から構成さ
れます。これらは , データポーリングフラグ (D23), トグルビットフラグ (D22), タイミ
ングリミット超過フラグ (D21), およびセクタ消去タイマフラグ (D19) です。
ハードウェアシーケンスフラグは , 自動アルゴリズムの起動後にフラッシュメモリ領
域のアドレスに対して読出しアクセスを行うことより参照できます。これは CPU アク
セス時は使用しないでください。
表 31.6-5 は , ハードウェアシーケンスフラグの機能リストです。
表 31.6-5 ハードウェアシーケンスフラグの機能リスト
D22
D21
D19
トグル => 停止
0 => 1
0
0 => 1
トグル => 停止
0 => 1
2
セクタ消去待ち => 消去開始
0
トグル
0
0 => 1
消去 => セクタ消去一次停止
( セクタ消去中 )
0 => 1
トグル => 1
0
1 => 0
セクタ消去一次停止 => 再開
( セクタ消去中 )
1 => 0
1 => トグル
0
0 => 1
セクタ消去一次停止
( セクタ消去中ではない )
データ
データ
データ
データ
D23
トグル
1
0
0
トグル
1
1
状態
通常動作
における
状態変化
書込み => 書込み完了
( 書込みアドレス指定時 )
チップ / セクタ消去 => 消去完了
異常動作
書込み
チップ / セクタ消去
<注意事項>
736
D23
D23 => D23
D20 はデバイス試験用で , D16 ∼ D18 は将来使用するための予備です。
第 31 章 フラッシュメモリ
■ データポーリングフラグ (D23)
データポーリングフラグは , 主として , 自動アルゴリズムが実行中であること , または
終了したことを通知するために使用されます。このフラグは , 書込み , チップ消去 , ま
たはセクタ消去について有効です。
● 書込み
書込みアルゴリズム実行中の読出しアクセスでは , フラッシュメモリユニットは , アド
レス信号により指定されたアドレスの値にかかわらず , 最後に書き込まれた bit7 の反
転データを出力します。
書込みアルゴリズム終了時の読出しアクセスでは , フラッシュメモリユニットは , アド
レス信号により指定されたアドレスで読出した値の bit7 を出力します。
● チップ / セクタ消去
チップ / セクタ消去アルゴリズム実行中に , セクタ消去時は現在消去しているセクタか
ら , チップ消去時はアドレスの指し示す番地に関係なく , 読出しアクセスするとフラッ
シュメモリユニットは , "0" を出力します。チップ / セクタ消去アルゴリズム終了時の
読出しアクセスでは , フラッシュメモリユニットは "1" を出力します。
● セクタ消去一時停止
セクタ消去一時停止時の読出しアクセスでは , アドレス信号により指定されたアドレ
スが消去中セクタに属する場合は , フラッシュメモリユニットは "1" を出力します。ア
ドレス信号によって指定されたアドレスが消去中のセクタに属さない場合は , フラッ
シュメモリユニットは , アドレス信号により指定されたアドレスで読み出された値の
bit7 を出力します。
トグルビットフラグとともにこのフラグを参照すると , フラッシュメモリユニットが
消去一時停止状態であるかどうか , およびどのセクタが消去されているかを判断でき
ます。
自動アルゴリズム時は , 指定されたアドレスへの読出しアクセスは無視されます。デー
タ読出しでは , bit7 によるデータポーリング終了後に他のビットが正しいデータを出力
できます。自動アルゴリズム終了後のデータ読出しは , データポーリング完了を確認し
た読出しアクセスの次に行う必要があります。
■ トグルビットフラグ (D22)
データポーリングフラグ同様 , トグルビットフラグは , トグルビット機能を使用して ,
主に自動アルゴリズムが実行中であること , あるいは終了したことを通知します。この
フラグは書込み , チップ消去 , またはセクタ消去について有効です。
● 書込み , チップおよびセクタの消去
書込みおよびチップ / セクタ消去アルゴリズム実行中の連続読出しアクセスでは , フ
ラッシュメモリユニットは , アドレス信号により指定されたアドレスの値にかかわら
ず , 読出しサイクルのたびに , "1" と "0" を交互に出力するトグル状態を出力します。
書込みおよびチップ / セクタ消去アルゴリズム終了時の連続読出しアクセスでは , フ
ラッシュメモリユニットは , bit6 のトグル動作を止め , アドレスの指し示す番地の読出
し値の bit6 を出力します。
書込みでは , データを書き込むセクタが再書込みから保護されている場合は , 約 2µs の
トグル動作を終了した後データを再書込みせずに終了します。消去では , 選択したすべ
737
第 31 章 フラッシュメモリ
てのセクタが書込み禁止である場合は , トグルビットは約 100µs の間トグルを行い , そ
の後データを再書込みせずに , 読出し / リセット状態に戻ります。
● セクタ消去の一時停止
セクタ消去一時停止時の読出しアクセスでは , アドレス信号により指定されたアドレ
スが消去中セクタに属する場合は , フラッシュメモリユニットが "1" を出力します。ア
ドレス信号により指定されたアドレスが消去中セクタに属さない場合は , フラッシュ
メモリユニットは , アドレス信号により指定されたアドレス値の bit6 の値を出力しま
す。
■ タイミングリミット超過フラグ (D21)
タイミングリミット超過フラグは , フラッシュメモリユニット内で事前に決められた
時間 ( 内部パルスカウント ) を超えて自動アルゴリズムが実行されたことを通知するた
めに使用されます。このフラグは , 書込み , チップ消去 , またはセクタ消去について有
効です。
書込み , チップ消去 , またはセクタ消去コマンド後の読出しアクセスでは , アドレス信
号により指定されたアドレスの値にかかわらず , フラッシュメモリユニットは , 指定時
間 ( 書込み / 消去に必要な時間 ) 内に自動アルゴリズムが実行された場合には "0" を出
力し , 指定時間を超えてアルゴリズムが実行された場合には "1" を出力します。これは
自動アルゴリズムが実行中でも終了後でも行われるので , 書込み / 消去が成功か , また
は不成功かを判断できます (「■ ハードウェアシーケンスフラグの使用例」を参照 )。
つまり , このフラグが "1" を出力した場合に , 自動アルゴリズムがデータポーリング機
能 , またはトグルビット機能によりまだ実行中であると見なされる場合は , 書込み , ま
たは消去が不成功であったと判断できます。
例えば , "0" が書き込まれているアドレスにユーザが "1" を書き込むと , 失敗状態が発
生します。この場合 , フラッシュメモリはハングアップし , 自動アルゴリズムの実行は
終了しません。したがって , D23 から有効データを出力することができません。bit6 は
トグル動作を停止せずにタイムリミットを超え , bit5 は "1" を出力します。この状態は ,
フラッシュメモリの不良ではなく , 不適切な使用を示すことに注意してください。
この状態が発生した場合は , リセットコマンドを実行する必要があります。
■ セクタ消去タイマフラグ (D19)
セクタ消去タイマフラグは , セクタ消去コマンド起動後のセクタ消去待ち期間中であ
るか否かを通知するために使用されます。このフラグはセクタ消去についてのみ有効
です。
● セクタ消去
セクタ消去コマンド起動後の読出しアクセスでは , フラッシュメモリユニットは , アド
レス信号により指定されたアドレスの値にかかわらず , セクタ消去待ち期間中に自動
アルゴリズムが実行された場合には "0" を出力し , セクタ待ち期間を超えてアルゴリズ
ムが実行された場合には "1" を出力します。
消去アルゴリズムが実行されていることがデータポーリング機能 , またはトグルビッ
ト機能により示されている場合に , このフラグが "1" である場合は , 内部で制御される
消去がすでに開始されています。データポーリング機能 , またはトグルビット機能が消
去の終了を示すまでの間は , セクタ消去一時停止コマンド以外のセクタ消去コードや
コマンドを連続して書き込んでも無視されます。このフラグが "0" である場合は , フ
ラッシュメモリユニットは , 新たなセクタ消去コードの書込みを受け付けます。このた
738
第 31 章 フラッシュメモリ
め , セクタ消去コードの書込みを続ける前に , このフラグの状態をソフトウェアによっ
てチェックする必要があります。2 回目の状態チェック後にこのフラグが "1" である場
合は , 新たなセクタ消去コードの書込みは受け付けられません。
● セクタ消去一時停止
セクタ消去一時停止中の読出しアクセスでは , フラッシュメモリユニットは , アドレス
信号により指定されたアドレスが消去中セクタに属する場合には , "1" を出力します。
信号アドレスにより指定されたアドレスが , 消去中セクタに属さない場合は , フラッ
シュメモリユニットは信号アドレスにより指定されたアドレスの値の bit3 を出力しま
す。
■ ハードウェアシーケンスフラグの使用例
前述したハードウェアシーケンスフラグを使用すると , フラッシュメモリユニット内
の自動アルゴリズムの状態を判断できます。図 31.6-3 と図 31.6-4 は , データポーリン
グ機能とトグルビット機能を使用した書込み / 消去の判断に関するフローチャートで
す。
図 31.6-3 データポーリング機能を使用した書込み / 消去の判断フローチャート
書込み/消去開始
読込み
(D16~D31)
ADDr = VA
D23 = データ?
YES
NO
NO
D21 = 1?
YES
読込み
(D16~D31)
ADDr = VA
D23 = データ?
YES
NO
書込み/消去失敗
書込み/消去合格
VA = 書込みアドレス
= セクタ消去中に消去されたセクタのアドレス
= チップ消去中に保護されなかったセクタのアドレス
<注意事項>
D21 が変更されると , D23 も変更されます。D21 = 1 の場合でも , D23 を再度
チェックする必要があります。
739
第 31 章 フラッシュメモリ
図 31.6-4 トグルビット機能を使用した書込み / 消去の判断フローチャート
書込み/消去開始
読込み
(D16~D31)
ADDr = "H"または"L"
D22 = トグル?
NO
YES
NO
D21 = 1?
読込み
(D16~D31)
ADDr = "H"または"L"
YES
D22 = トグル?
NO
YES
書込み/消去失敗
<注意事項>
書込み/消去合格
D21 を 1 に変更すると , D22 はトグルを停止します。D21 = 1 の場合でも , D22 を
再度チェックする必要があります。
■ レディ / ビジー信号
フラッシュメモリユニットには , データポーリングフラグやトグルビットフラグなど
のハードウェアシーケンスフラグとともに , 自動アルゴリズムの実行 , または終了を通
知するレディ / ビジー信号などのハードウェア信号もあります。
この信号はフラッシュメモリモードでのみ使用します。
レディ / ビジー信号は , フラッシュメモリユニットから , 非同期の RY/BY 信号をチッ
プ外部の BRQ 端子 ( このとき , 本端子はオープンドレイン出力となる ) として供給し
ます。プルアップ抵抗を Vcc に接続すると , 複数の BRQ 端子を並列に接続できます。
BRQ 端子の出力が "0" である場合は , フラッシュメモリユニットが書込み中 , または消
去中であり , ビジーです。書込みコマンドも消去コマンドも受け付けられません。BRQ
端子の出力が "1" で外部プルアップ抵抗が接続されている場合は , フラッシュメモリユ
ニットの読出し / 書込み準備ができています。消去一時停止モードでは , 外部プルアッ
プ抵抗を接続すると , BRQ 端子は "1" を出力します。BRQ 端子は外部リセット中のレ
ディ状態を示します。
740
第 31 章 フラッシュメモリ
31.7
セクタ保護動作
フラッシュメモリユニットにはセクタ保護機能があり , セクタ内の不正な書込み / 消
去を禁止します。一度保護したセクタは , デバイスが損傷を受けない限り変更され
ません。セクタを一時的に保護すると , 書込み / 消去のために保護をキャンセルする
ことができます。この動作はセクタ保護動作を使用して行います。
セクタ保護動作には , 書込み / 消去アルゴリズムのような自動アルゴリズムはありま
せん。セクタ保護動作はフラッシュメモリモードでのみ実行できます。そのため ,
この動作はフラッシュメモリライタを使用してのみ行うことができます。
■ セクタ保護動作リスト
セクタ保護には , セクタ保護の許可 , セクタ保護の検証 , セクタ保護の一時的キャンセ
ルという 3 つの動作があります。
<注意事項>
表 31.6-3 のセクタリストに対応するアドレス端子 A11 ∼ A18 を設定します。
■ セクタ保護の許可
セクタ保護の許可は , フラッシュメモリユニットの保護回路への書込みを提供します。
この動作は , 13 のセクタ組合せでの書込みと消去を禁止します。
この動作では , 保護するセクタのセクタアドレス (A18, A17, A16, A15, A14, A13) をアド
レス信号に設定し , A9 を "0" に設定する必要があります。セクタとセクタアドレスの
対応については , 表 31.6-5 を参照してください。
MD2 と MD0 に VID(12V) を印加して BGRNTX(CE) を "0" に設定すると , 保護回路への
書込みは CS4X(WE) パルスの立下りで開始され , CS4X(WE) パルスの立上りで終了し
ます。CS4X(WE)パルスの印加中は, セクタアドレスを一定に保持する必要があります。
セクタ保護は一度適用するとキャンセルできません。これは保護されたセクタの書込
み / 消去を禁止します。
741
第 31 章 フラッシュメモリ
■ セクタ保護の検証
セクタ保護の検証は , フラッシュメモリユニットの保護回路への書込みを検証します。
この動作では, BGRNTX(CE)とRDY(OE)を"0"に設定し, MD0にVを印加し, CS4X(WE)
を "1" に設定します ( マージンモード )。セクタアドレス (A18, A17, A16, A15, A14, A13
のいずれか ) をアドレス信号に設定し , (A7, A2, A1) = (0, 1, 0) の条件下で読み出すと ,
保護されたセクタ内の D16に 1が出力されます。
00H が非保護セクタで読み出されます。
図 31.7-1 は , セクタ保護の許可とセクタ保護の検証を使用したセクタ保護アルゴリズ
ムを示します。
図 31.7-1 セクタ保護の許可とセクタ保護の検証を使用したセクタ保護アルゴリズム
開始
Start
S et up sector ad dresses
セクタアドレスをセットアップ
(A19,A18,A17,A16,A15,A14,A13)
P ulse coun t
パルスカウント(PLSCNT=1)
MD MD2
2 = M=D MD0
0 = V= VID
MD1 == VVIIDMD1H
IH
A7A7==CE
C E == VVIL
IL
OE =OEVIH
= V IH
A I=V IL
AI=VIL
A 2=V IH
A2=VIH
Ap
ply WE pu lse.
WEパルスを印加
P PLSCNT
LS CNT = PPLSCNT
LS CNT + +1
100µsタイムアウト
T ime out 100 ms
WE = =VVIHIH
WE
CE == OE
O E= =VVILIL
CE
(M D0 rem ains V ID.)
(MD0はV のまま変化しない)
ID
R ead sector ad dress S A .
セクタアドレスSAを読み出す
(Addr
A 7 ==VVIL,A2
= V IH,A1 =
(Addr ==SA,
SA,A7
IL,A2 = VIH,
V IL,)
A1 = VIL)
NO
PLS C NT = 25 ?
YES
MD0のV
Ca ncel
ID of MD 0 and
IDVをキャンセルし
てリセットコマンドを書
w rite R eset com m and.
き込む
NO
D ata = 01H?
データ
01H
YES
O ther sectors
ほかのセクタを保護
?
protected?
NO
Fa il
失敗
MD0のV
をキャンセルし
Ca ncel
IDV
ID of MD 0 and
てリセットコマンドを書
w rite R eset com m and.
き込む
セクタ保護の完了
C omp le
tion of sector protection
742
YES
第 31 章 フラッシュメモリ
■ セクタ保護の一時的キャンセル
セクタ保護の許可によって保護されたセクタの書込み / 消去は , デバイスが損傷を受け
ない限り不可能です。セクタ保護の一時的キャンセルでは , 設定済みのセクタ保護の情
報を一時的にキャンセルできます。この動作は , MD1 に連続的に VID を印加すること
により設定します。この場合 , 設定済みのセクタ保護のデータはすべて無視され , セク
タすべての書込み / 消去が許可されます。
MD1 を 1(5V) に設定すると , この動作はキャンセルされ , 保護済みのすべてのセクタが
再度保護されます。
図 31.7-2 は , セクタ保護の一時的キャンセルのアルゴリズムを示します。
図 31.7-2 セクタ保護の一時的キャンセルのアルゴリズム
Start
開始
MD1 = V ID *1
V g or w riting.
E xecute erasin
消去または書込みの実行
MD1 = V IH
E nd of sector protect cance llation*2
*2
セクタ保護キャンセルの終了
*1: すべての保護セクタの保護がキャンセルされます。
*2: 保護済みのセクタが再度保護されます。
743
第 31 章 フラッシュメモリ
31.8
外部コマンド
外部コマンドについて説明します。
■ 拡張セクタ保護アルゴリズム
図 31.8-1 拡張セクタ保護アルゴリズム
開始
MD = V ID ID
MD[2:0]=V
4µs待つ
デバイスはセクター
時非保護モードで動
作中
拡張セクタ
保護に入る?
セクタ保護を設定する
ためにXXXH/60Hに書き
込む
PLSCNT=1
PL
S CNT=1
セクタ保護のためにSPA/
40Hに書き込む
(A1=VIL,A2=VIH,A7=VIL)
150µsタイムアウト
Tim
e O ut 150m s
PLSCNTをインクリメント
セクタ保護のためにSPA/
40Hに書き込む
, IH,A7=VIL)
(A1=VIL,A2=V
NO
PLSCNT = 25?
YE S
RESETからVIDを除去
リセットコマンドを書き込む
NO
データ = 01H?
YES
ほかのセクタを保護?
NO
デバイス失敗
RESETからVIDを除去
リセットコマンドを書き込む
セクタ保護完了
744
次のセクタアドレスを設定
YES
第 31 章 フラッシュメモリ
■ 高速モードアルゴリズム
図 31.8-2 高速モード用 Embedded Programm アルゴリズム
開始
555H/AAH
2AAH/55H
高速モードの設定
555H/20H
X XXH/20H
Pアドレスのプログラム/プログラム
.
データポーリング
高速プログラム中
バイトを検証?
アドレスをイン
クリメント
最後のアドレス?
プログラミング完了
*シーケンスは16倍モードに適用されます。
アドレスは8倍モードとは異なります。
X XXH/90H
高速モードのリセット
X XXH/F 0H
745
第 31 章 フラッシュメモリ
31.9
フラッシュメモリへの接続
フラッシュメモリへの接続について説明します。
■ フラッシュメモリへの接続
MB91360 シリーズのフラッシュメモリモードでは , フラッシュメモリライタの外部接
続が可能です。表 31.3-1 に示すとおり , MB91360 シリーズと MBM29LV400C の外部端
子(4Mビットフラッシュメモリ)にはいくらか違いがあります。
そのためMBM29LV400C
ライタへ接続するには , 図 31.9-1 に示すソケットアダプタが必要です。
MBM29LV400C の外部端子 (4M ビットフラッシュメモリ ) は , 表 31.3-1 に示すように
フラッシュメモリモードの MB91360 シリーズの外部端子に対応します。フラッシュラ
イタへ接続するには , 同じ端子配列のソケットアダプタが必要です。
また , MBM29LV400C と MB91360 シリーズの VID 電圧 (12V) 供給端子にも違いがあり
ます。通常のデジタル電圧とライタから供給される VID 電圧を MB91360 シリーズの各
端子に割り当てるために , ソケットアダプタによってダイオードをクランプする必要
があります。
図 31.9-1 は, ソケットアダプタを使用した, フラッシュメモリライタとMB91360シリー
ズの接続例です。この図に示されていない接続は , 表 31.3-1 に示すように行う必要が
あります。
図 31.9-1 フラッシュメモリライタへの接続例
S ocket ad apte
ソケットアダプタ
フラッシュライタ
flash w riter
A9
MB91F362GB
MB91FV360GA
MB91F369GA
A10
D9
INITX
INITX
RDY
INT5
MD0
MD0
MD1
MD1
MD2
MD2
2.2K Ω
RESET
2.2K Ω
OE
2.2KΩ
746
第 31 章 フラッシュメモリ
31.10
フラッシュメモリ使用上の注意
MB91360 シリーズ デバイスのフラッシュメモリについての注意事項を以下に記述
します。
■ ハードウェアリセットの入力 (INITX), ハードウェアスタンバイ (HSTX)
CPU モードでの INITX または HSTX の最小 "L" レベル・パルス幅は , 4 MHz クロック
(X0) の 8 サイクルです。フラッシュメモリモードでの INITX の最小 "L" レベル・パル
ス幅は 500ns です。「1.9 デバイスの取扱いについて」を参照してください。
自動アルゴリズム実行中にハードウェアリセットまたはハードウェアスタンバイする
と , その実行は解除されます。
書込み中にハードウェアリセットまたはハードウェアスタンバイすると , 書込み中の
データは不定になります。
■ ソフトウェアリセット , ウォッチドッグタイマリセット
CPU アクセスでのフラッシュメモリの書込み / 消去中にリセット条件が発生し , このと
き自動アルゴリズムがアクティブである場合は , CPU が暴走することがあります。こ
れは , リセット条件によってフラッシュメモリユニットが初期化されないまま自動ア
ルゴリズムが継続され , リセットが非アクティブになり CPU がシーケンスを起動した
場合に , フラッシュメモリユニットが読出し状態に入ることを防止するために発生し
ます。これらのリセット条件は , フラッシュメモリの書込み / 消去中に禁止する必要が
あります。
■ フラッシュメモリにアクセスするプログラム
自動アルゴリズムの動作中は , フラッシュメモリへの読出しアクセスが禁止されます。
CPU のメモリアクセスモードを内部 ROM モードに設定する場合は , プログラム領域を
RAM などの別領域に切り換えた後で書込み / 消去を開始する必要があります。
この場合 , 割込みベクタを含むセクタを消去すると , 割込み処理を実行できません。
同じ理由により , 自動アルゴリズムの動作中は , すべての割込みソースを使用禁止にす
る必要があります。
■ ホールド機能
CPU がホールド要求を受け付けると , フラッシュメモリユニットの書込み信号 WE が
ずれ , 間違った書込み / 消去の原因となることがあります。ホールドの要求の受付を許
可する場合は , 制御ステータスレジスタ (FMCS) の WE ビットが "0" であることを確認
してください。
■ VID の印加
セクタ保護動作に必要な VID の印加は , 必ず供給電圧がオンである場合に開始し , 終了
する必要があります。
747
第 31 章 フラッシュメモリ
31.11
フラッシュメモリモードのタイミング図
フラッシュメモリモードでの各外部端子のタイミング図を示します。それぞれの AC
仕様については , 図 31.11-1 を参照してください。
■ 読出しアクセスによるデータ読出し
図 31.11-1 読出しアクセスのタイミング図
tRC
アドレス安定
A18~A0
t AC
130 ns
BGRNTX(CE)
30ns
t
DF
tOE
RDY(OE)
50ns
120ns (TOGGLE)
0ms (Read)
tOEH
CS4X(WE)
tOH
t CE
130 ns
0
高インピーダンス
D31~D16
748
高インピーダンス
出力確定
第 31 章 フラッシュメモリ
■ 書込みデータポーリング読出し (WE 制御 )
図 31.11-2 書込みアクセスのタイミング図 (WE 制御 )
第3バスサイクル
A18~A0
データポーリング
7AAAAH
PA
tWC
tAS
PA
tRC
tAH
BGRNTX(CE)
t GH eL
RDY(OE)
tWP
CS4X(WE)
tCS
D31~D16
tWHWH1
tOE
tWPH
tDF
tDH
A0 H
PD
D23
D OUT
t DS
tOH
VDD(=5.0V)
PA: 書込みアドレス
PD: 書込みデータ
D23: 書込みデータの逆出力
DOUT: 書込みデータの出力
<注意事項>
tCE
4 バスサイクル中の最後 2 バスサイクルのシーケンスが記述されています。
749
第 31 章 フラッシュメモリ
■ 書込みデータポーリング読出し (CE 制御 )
図 31.11-3 書込みアクセスのタイミング図 (CE 制御 )
第3バスサイクル
A18~A0
データポーリング
7AAAA H
PA
tWC
tAS
PA
tAH
tWH
BGRNTX(CE)
tGHEL
RDY(OE)
tCP
CS4X(WE)
tWS
tWHW H1
tCPH
tDH
A0H
D31~D16
PD
D23
D OUT
tDS
VDD(=5.0V)
PA: 書込みアドレス
PD: 書込みデータ
D23: 書込みデータの逆出力
DOUT: 書込みデータの出力
<注意事項>
750
4 バスサイクル中の最後の 2 バスサイクルのシーケンスが記述されています。
第 31 章 フラッシュメモリ
■ チップ消去 / セクタ消去コマンドシーケンス
図 31.11-4 書込みアクセスのタイミング図 ( チップ消去 / セクタ消去 )
tAS
7AAAA H
A18~A0
BGRNTX(CE)
tAH
75554H
7AAAA H
7AAAA H
75554 H
SA*
tGH W L
RDY(OE)
t WP
tWPH
CS4X(WE)
tCS
tDH
AA H
D31~D16
55 H
80 H
AA H
55 H
10 H /30 H
tDS
VDD
tVCS
<注意事項>
SA はセクタ消去時のセクタアドレスです。7AAAAH( または 6AAAAH) はチップ消
去時のアドレスです。
751
第 31 章 フラッシュメモリ
■ データポーリング
図 31.11-5 データポーリングのタイミング図
tCH
BGRNTX(CE)
tDF
tOE
RDY(OE)
tOEH
CS4X(WE)
t CE
D23
t OH
D23
D23= 有効データ
高インピーダンス
tWHWH1 または tWHWH2
D31-D16 =
有効データ
D31-D16 = 無効
D31~D16
tEO E
*: DQ7は有効データです(デバイスは自動動作を終了します)。
■ トグルビット
図 31.11-6 トグルビットのタイミング図
BGRNTX(CE)
tOE H
RDY(OE)
tOE S
CS4X(WE)
*
データ(D31~D16)
D 22 = トグル
D22 =トグル停止
D 22 = トグル
tOE
*:DQ6はトグルを停止します(デバイスは自動動作を終了します)。
752
D31~D16=有効
第 31 章 フラッシュメモリ
■ 書込み中 / 消去中の RY/BY タイミング
図 31.11-7 書込み中 / 消去中の RY/BY 信号出力のタイミング図
BGRNTX(CE)
最後の書込みパルスの立上りエッジ
RDY(OE)
書込みまたは消去
CS4X(WE)
t BUSY
■ INITX および RY/BY のタイミング
図 31.11-8 ハードウェアリセット時の RY/BY 信号出力のタイミング図
BGRNTX(CE)
CS4X(WE)
tRP
BRQ(RY/BY)
tReady
753
第 31 章 フラッシュメモリ
■ セクタ保護の許可 / セクタ保護の検証
図 31.11-9 セクタ保護の許可 / セクタ保護の検証
SAx
A18~A13
SAy
(A7 , A 2 ,A1)= (0 ,1 , 0)
A7, A2, およびA1
MD0 12 V
(A9(VID)) 5 V
MD2 12 V
(OE(VID)) 5 V
tVLHT
tVLHT
CS4X(WE)
t WPP
RDY(OE)
tO ESP
D31~D16
tCSP
01H
tOE
SAx: 最初のセクタアドレス
SAy: 次のセクタアドレス
■ セクタ保護の一時的キャンセル
図 31.11-10 セクタ保護の一時的キャンセル
MD1 12 V
5V
5V
(RESET(VID))
BGRNTX(CE)
CS4X(WE)
tVLHT
書込み/読出しコマンドシーケンス
BRQ(RY/BY)
セクタ保護のキャンセル
754
第 31 章 フラッシュメモリ
31.12
フラッシュメモリモードでの AC 特性
フラッシュメモリモードでの外部端子の AC 仕様を以下に示します。この仕様は ,
ユーザがフラッシュメモリモードで読出し / 書込みアクセスを行う場合に適用されま
す。この仕様は , 通常モードでのアクセスおよびフラッシュメモリライタの使用に
は必要ありません。
値は , 事前の通知なく変更されることがあります。
■ 読出しアクセス
表 31.12-1 読出しアクセスの AC 特性 ( 推奨条件下における )
値
パラメータ
記号
試験条件
単位
MIN
TYP
MAX
読出しサイクル時間
tRC
-
130
-
-
ns
アドレスアクセス時間
tACC
CE = VIL
OE = VIL
-
-
130
ns
CE ∼データ出力
tCE
OE = VIL
-
-
130
ns
OE ∼データ出力
tOE
-
-
-
50
ns
CE ∼出力フロート
tDF
-
-
-
30
ns
OE ∼出力フロート
tDF
-
-
-
30
ns
直前サイクルデータ
出力ホールド時間
tOH
-
0
-
-
ns
tReady
-
-
-
20
µs
INITX 端子から読出し
モードへの戻り
<注意事項>
特性はサンプルチェックの値であり , すべてのチェックの値ではありません。
755
第 31 章 フラッシュメモリ
■ 書込み [ 書込み / 消去コマンド ] アクセス (WE 制御 )
表 31.12-2 書込みアクセスの AC 特性 (WE 制御 )( 推奨条件下における )
値
パラメータ
記号
単位
MIN
TYP
MAX
書込みサイクル時間
tWC
130
-
-
ns
アドレス設定時間
tAS
0
-
-
ns
アドレスホールド時間
tAH
50
-
-
ns
データ設定時間
tDS
50
-
-
ns
データホールド時間
tDH
0
-
-
ns
出力許可設定時間
tOES
0
-
-
ns
0
-
-
ns
10
-
-
ns
tGHWL
0
-
-
ns
CE 設定時間
tCS
0
-
-
ns
CE ホールド時間
tCH
0
-
-
ns
書込みパルス幅
tWP
50
-
-
ns
書込みパルス幅ハイレベル
tWPH
20
-
-
ns
書込み継続時間
tWHWH1
-
16
-
µs
セクタ消去継続時間 *1
tWHWH2
-
1.5
30
s
VDD 設定時間
tVCS
50
-
-
µs
電圧遷移時間 *2
tVLHL
4
-
-
µs
書込みパルス幅 *2
tWPP
100
-
-
µs
WE 確認用の OE 設定時間 *2
tOESP
4
-
-
µs
WE 確認用の CE 設定時間 *2
tCSP
4
-
-
µs
INITX パルス幅
tRP
500
-
-
ns
tBUSY
50
-
-
ns
読出し
出力許可ホールド
時間
トグルおよび
データポーリ
ング
書込み前の読出しリカバリー時間
書込み / 消去が許可されるまでの
RY/BY 遅延
tOEH
*1: 消去前の内部予備プログラミング時間は含まれていません。
*2: セクタ保護にのみ適用します。
特性はサンプルチェックの値であり , すべてのチェックの値ではありません。
756
第 31 章 フラッシュメモリ
■ 書込み [ 書込み / 消去コマンド ] アクセス (CE 制御 )
表 31.12-3 書込みアクセスの AC 特性 (CE 制御 )( 推奨条件下における )
値
パラメータ
記号
単位
MIN
TYP
MAX
書込みサイクル時間
tWC
120
-
-
ns
アドレス設定時間
tAS
0
-
-
ns
アドレスホールド時間
tAH
50
-
-
ns
データ設定時間
tDS
50
-
-
ns
データホールド時間
tDH
0
-
-
ns
出力許可設定時間
tOES
0
-
-
ns
0
-
-
ns
10
-
-
ns
tGHWL
0
-
-
ns
WE 設定時間
tWS
0
-
-
ns
WE ホールド時間
tWH
0
-
-
ns
CE パルス幅
tCP
50
-
-
ns
CE パルス幅ハイレベル
tCPH
20
-
-
ns
書込み継続時間
tWHWH1
-
16
-
µs
セクタ消去継続時間 *
tWHWH2
-
1.5
30
s
VDD 設定時間
tVCS
50
-
-
µs
INITX パルス幅
tRP
500
-
-
ns
tBUSY
50
-
-
ns
出力許可ホールド
時間
読出し
トグルおよび
データ
ポーリング
書込み前の読出しリカバリー時間
書込み / 消去が許可されるまでの
RY/BY 遅延
tOEH
*: 消去前の内部予備プログラミング時間は含まれていません。
特性はサンプルチェックの値であり , すべてのチェックの値ではありません。
757
第 31 章 フラッシュメモリ
758
第 32 章
EDSU
内蔵デバッグ・サポート・ユニット (EDSU) は , シ
ングル・チップ FLASH MCU デバイスでの回路デ
バッグ・サポート機能の基本操作を可能にするモ
ジュールです。
32.1 EDSU の概要
759
第 32 章 EDSU
32.1
EDSU の概要
内蔵デバッグ・サポート・ユニット (EDSU) は , シングルチップ FLASH MCU デバ
イスでの回路デバッグ・サポート機能の基本操作を可能にするモジュールです。
EDSU は , 高額なイン・サーキット・エミュレーション (ICE) システムに代わる効果
的なソリューションとして開発されたものです。ICE システムは , 特殊デバッグ・サ
ポート・ユニット (DSU) に搭載されている評価チップ (EVA) に基づいています。ま
た , ターゲット・システムの物理的なサイズによっては , ICE の導入が困難であるに
もかかわらず , イン・システムのデバッグ機能が必要であるという状況が考えられ
ます。
ハードウェア・サポートはブレーク検出に制限されているため , マスク不可能な例外処
理が発生します。バックグランド・デバッグ監視ソフトウェアを導入することにより ,
これらの例外 ( 割込み ) を処理すると共に , 要件に応じて EDSU の構成を実行できま
す。EDSU は , 内部インタフェースを介して , 実行ユニット (E ユニット ) および D バ
スにのみ接続されます。追加 MCU ポートは必要ありません。ただし , デバッグ中 , 1
つの UART チャネルが使用されます。プログラム実行トレース機能はサポートされま
せん。
EDSU の利点は , ターゲット・デバイスでのデバッグが可能になるという点です。エ
ミュレーション・システムに切り換えることなく , ターゲット・デバイス上で , アプリ
ケーション・ソフトウェアのデバッグを直接実行できます。エミュレーション・シス
テムに接続するために , ターゲット・システム PCB 上の特殊 ( 高額 ) アダプタを監視
する必要がないため , 真のイン・システム・デバッグ処理が実現します。
エミュレーション・デバイスでは処理不可能な , 新規 ( またはカスタム ) マクロが導入
されているデバイスのデバッグ処理も可能になります。
これらの利点により , ( 高価な ) エミュレーション・システムを購入せずに , 高速イン •
システム開発 / デバッグ処理を可能にするソリューションが実現します。
760
第 32 章 EDSU
32.1.1
EDSU アプリケーションシステム
図 32.1-1 は , 内蔵デバッグ・サポート・ユニットを用いた典型的なアプリケーショ
ン・システム例です。
図 32.1-1 EDSU アプリケーション・システム
ホスト PC
> BDSU ready
> go
RS232
MB91F366
ターゲットアプリケーションシステム
バックグランドでデバッグ監視ソフトウェアを実行する RS232 インタフェースを搭載
しているホスト PC が , シリアル・ケーブルを介して , 内蔵デバッグ・サポート機能を
持つ MCU に直接接続されています (CMOS コンバータへの RS232 は , ターゲット・シ
ステム PCB の外部 ( 例えばシリアルケーブル ) に設置可能 ) 。
761
第 32 章 EDSU
32.1.2
デバッグシステム
表 32.1-1 は , 利用可能なデバッグ・システムの比較表です。
表 32.1-1 利用可能なデバッグ・システムの比較
DSU 付き EVA チップ
ICE システムへのアダプタが
必要
EDSU
シングルチップ ,
リアル・イン・システム・
デバッグ *
ソフトウェアモニタ
デバッガ
外部 RAM が必要
デバッグ・ソフトウェアは ICE デバッグ・ソフトウェア通信用 デバッグ・ソフトウェア通信用に
に UART チャネル (x1) が必要
UART が必要
を介して通信 ,
現在 , 外部 UART 16550 デバイス
デバッグ中 , リソースの
用ソフトウェアのみが利用可能
ブロックなし
モニタ・デバッガ・カーネルが モニタ・デバッガ・カーネルま モニタ・デバッガ・カーネルの
不要
たはデバッグ機能を , 必要な
開始時 , 複雑なブート・プロシー
アプリケーションにリンク
ジャが必要
短所 : 予備の FLASH 領域
短所 : 予備 の FLASH 領域 ,
外部 RAM へのプログラ
ム・アップロード
FLASH 内にコードを配置し ,
FLASH から実行可能
FLASH 内にコードを配置し ,
FLASH から実行可能
コードは外部 RAM に配置され ,
FLASH 領域にマップされる
デバッグ処理中 , FLASH が無効に
なる
ハードウェア・ブレークポイン ハードウェア・ブレークポイン リアルタイムのデバッグ処理では
ない , ソフトウェア・ブレークポ
トを伴うリアルタイム・
トを伴うリアルタイム・
デバッグ処理
デバッグ処理
イント
8 命令ブレークポイント
2 オペランド中断ポイント
マスクオプション
データ値ブレーク・オプション
命令 / データのトレース
命令ブレークポイントは , ソフト
4 命令ブレークポイント
ウェアに制限される
2 オペランド中断ポイント
範囲とマスクオプション
データ値ブレーク・オプション
*: デバッグ環境は , ターゲット・アプリケーションの環境と同じ。追加アダプタ , 補助配線が不要
(EMI 測定には重要 ) 。
762
第 32 章 EDSU
32.1.3
EDSU メイン機能
MB91360 シリーズ 向け内蔵デバッグ・サポート・ユニット (EDSU)
■ メイン機能
• 4 アドレス・ブレークポイント命令
• 2 割込みアドレス・ブレークポイント・マスク
• 命令ブレークポイント・アドレス範囲機能
• 2 オペランド・アドレス・ブレークポイント
( データサイズおよびアクセス・タイプでプログラム可能 )
• 1 オペランド・アドレス・ブレークポイント・マスク
• オペランド・ブレークポイント・アドレス範囲機能
• 2 オペランド・データ値ブレークポイント
• 1 オペランド・データ値ブレークポイント・マスク
• リソース割込みでプログラム可能なブレークトリガ
763
第 32 章 EDSU
32.1.4
EDSU の詳細
バックグランド・デバッグ処理ソフトウェアに関するドキュメンテーションを参照し
てください。
764
第 33 章
MB91360( 代表マイコン :
MB91F362GB) シリアル
書込み接続
シリアル書込みについて説明します。
33.1 MB91360( 代表マイコン : MB91F362GB) 書込み基本構
成
33.2 富士通標準シリアルオンボード書込みに使用する端子
33.3 シリアル書込み接続例
33.4 フラッシュマイコンプログラマシステム構成
33.5 その他の注意事項
765
第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続
33.1
MB91360( 代表マイコン : MB91F362GB) 書込み基本構
成
MB91360 シリーズの Flash 内蔵デバイスではフラッシュ ROM のシリアルオンボー
ド書込み ( 富士通標準 ) をサポートしています。その仕様について MB91F362GB を
代表マイコンとして以下に解説します。
■ MB91360( 代表マイコン : MB91F362GB) 書込み基本構成
富士通標準シリアルオンボード書込みには , 横河ディジタルコンピュータ株式会社製
NET IMPRESS フラッシュマイコンプログラマを使用します。
図 33.1-1 に , MB91360 ( 代表マイコン : MB91F362GB) 書込み接続例の基本構成を示し
ます。
図 33.1-1 MB91360( 代表マイコン : MB91F362GB) シリアル書込み接続例の基本構成
ホストインタフェースケーブル (AZ201)
RS232C
NET IMPRESS
フラッシュマイ
コンプログラマ
+
汎用共通ケーブル (AZ211)
CLK 同期シリアル
MB91F362GB
ユーザシステム
メモリカード
スタンドアロンで動作可能
<注意事項>
766
NET IMPRESS フラッシュマイコンプログラマの機能・操作方法および接続用汎用
共通ケーブル (AZ211), コネクタにつきましては , 横河ディジタルコンピュータ株式
会社殿にお問い合わせください。
第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続
33.2
富士通標準シリアルオンボード書込みに使用する端子
富士通標準シリアルオンボード書込みに使用する端子について説明します。
■ 富士通標準シリアルオンボード書込みに使用する端子
表 33.2-1 に , 富士通標準シリアルオンボード書込みに使用する端子の機能を示します。
表 33.2-1 富士通標準シリアルオンボード書込みに使用する端子の機能
端 子
機 能
補 足 説 明
MD2,
MD1,
MD0
モード端子
フラッシュマイコンプログラマから書込みモードに制御
します。FLASH シリアル書込みを行う場合 , 通常モード
と同じ MD2, MD1, MD0 = 0, 0, 0 を設定します。
X0, X1
発振用端子
書込みモード時に , CPU 内部動作クロックは 2 分周と
なっております。シリアル書き換え時に使用する振動子
は通常モードと同じ 4 MHz となります。
INITX
リセット端子
-
SIN0
シリアルデータ入力端子
SOT0
シリアルデータ出力端子
SIN3
シリアルクロック入力端子
SOT3
シリアルデータ出力端子
SCK3
シリアルクロック入力端子
SIN4
シリアルクロック入力端子
SOT4
シリアルデータ出力端子
SCK4
シリアルクロック入力端子
VDD
電源電圧供給端子
VSS
GND 端子
UART を CLK 同期モードとして使用します。
SIO0 を CLK 同期モードとして使用します。
SIO1 を CLK 同期モードとして使用します。
書込み電圧をユーザシステムから供給する場合にはフ
ラッシュマイコンプログラマとの接続は必要ありませ
ん。接続時にはユーザ側の電源と短絡しないようにして
ください。
フラッシュマイコンプログラマの GND と共通にします。
図 33.2-1 制御回路
NET IMPRESS
書込み制御端子
NET IMPRESS
/TICS 端子
MB91F362GB
書込み制御端子
10 kΩ
ユーザ
767
第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続
<注意事項>
768
SIN0, SOT0, SIN3, SOT3, SCK3, SIN4, SOT4, SCK4 端子をユーザシステムでも使
用する場合には , 右図の制御回路が必要となります。( フラッシュマイコンプログ
ラマの /TICS 信号により , シリアル書込み中はユーザ回路を切り離すことができま
す。接続例をご参照ください。)
第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続
33.3
シリアル書込み接続例
代表的なシリアル書込み接続例を示します。
■ UART 通信を使用するシリアル書込み接続例
UART 通信を使用する場合におけるシリアル書込み接続例を下記に示します。
なお , モード端子 MD2, MD1, MD0 にはフラッシュマイコンプログラマ (NET IMPRESS)
の TAUX3, TAUX, TMDE より MD2=0, MD1 = 0, MD0 = 0 が入力されます。( シリアル
書換えモード : MD2, MD1, MD0 = 000)
769
第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続
図 33.3-1 MB91F362GB UART 通信を使用するシリアル書込み接続例
ユーザシステム
IMPRESS
フラッシュマイコン
プログラマ
コネクタ
DX10-28S
MB91F362GB
(19)
TAUX3
TAUX
MD2
MD1
10 kΩ
TMDE
10 kΩ
MD0
(12)
10 kΩ
X0
4 MHz
X1
TAUX
(23)
/TICS
(10)
10 kΩ
10 kΩ
(5)
/TRES
INITX
ユーザ
TTXD
(13)
SIN0
TRXD
(27)
SOT0
TVcc
(2)
VDD
GND
(7,8,
14,15,
21,22,
1,28)
3, 4, 6, 9, 11, 16, 17, 18, 20,
24, 25, 26 ピンは OPEN
DX10-28S: ライトアングルタイプ
<注意事項>
770
ユーザ電源
Vss
14 ピン
1 ピン
DX10-28S
28 ピン
15 ピン
コネクタ ( ヒロセ電機製 ) のピン配列
• SIN0, SOT0 端子をユーザシステムでも使用する場合には , 下図の制御回路が必
要となります。( フラッシュマイコンプログラマの /TICS 信号により , シリアル
書み中はユーザ回路を切り離すことができます。)
• NET IMPRESS との接続はユーザ電源が OFF の状態で行ってください。
第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続
図 33.3-2 制御回路
NET IMPRESS
書込み制御端子
NET IMPRESS
/TICS 端子
MB91F362GB
書込み制御端子
10 kΩ
ユーザ
771
第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続
■ SIO0 を使用するシリアル書込み接続例
SCI 通信を使用する場合におけるシリアル書込み接続例を下記に示します。
なお , モード端子 MD2, MD1, MD0 にはフラッシュマイコンプログラマ (NET IMPRESS)
の TAUX3, TAUX, TMDE より MD2 = 0, MD1 = 0, MD0 = 0 が入力されます。( シリアル
書換えモード : MD2, MD1, MD0 = 000)
772
第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続
図 33.3-3 MB91F362GB SIO0 を使用するシリアル書込み接続例
ユーザシステム
IMPRESS
フラッシュマイコン
プログラマ
TAUX3
TAUX
コネクタ
DX10-28S
MB91F362GB
(19)
MD2
MD1
10 kΩ
TMDE
10 kΩ
MD0
(12)
10 kΩ
X0
4 MHz
X1
TAUX
(23)
/TICS
(10)
10 kΩ
10 kΩ
10 kΩ
/TRES
(5)
INITX
ユーザ
TTXD
(13)
TRXD
(27)
TCK
(6)
TVcc
(2)
SIN0
SIN3
SOT0
SOT3
SCK3
VDD
ユーザ電源
GND
(7,8,
14,15,
21,22,
1,28)
3, 4, 6, 9, 11, 16, 17, 18, 20,
24, 25, 26 ピンは OPEN
DX10-28S: ライトアングルタイプ
Vss
14 ピン
1 ピン
DX10-28S
28 ピン
15 ピン
コネクタ ( ヒロセ電機製 ) のピン配列
<注意事項>
• SIN0, SOT0, SCK0, SIN3, SOT3, SCK3 端子をユーザシステムでも使用する場合
には , 下図の制御回路が必要となります。( フラッシュマイコンプログラマの
/TICS 信号により , シリアル書込み中はユーザ回路を切り離すことができます。)
• NET IMPRESS との接続はユーザ電源が OFF の状態で行ってください。
• SOT0 と SIN0 は必ず使用しますのでプローブ先端でこれらを結線してください。
773
第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続
図 33.3-4 制御回路
AF200
書込み制御端子
AF200
/TICS 端子
MB91F362GB
書込み制御端子
10 kΩ
ユーザ
774
第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続
■ SIO1 を使用するシリアル書込み接続例
SCI 通信を使用する場合におけるシリアル書込み接続例を下記に示します。
なお , モード端子 MD2, MD1, MD0 にはフラッシュマイコンプログラマ (NET IMPRESS)
の TAUX3, TAUX, TMDE より MD2 = 0, MD1 = 0, MD0 = 0 が入力されます。( シリアル
書換えモード : MD2, MD1, MD0 = 000)
図 33.3-5 SIO1 を使用するシリアル書込み接続例
ユーザシステム
IMPRESS
フラッシュマイコン
プログラマ
TAUX3
TAUX
コネクタ
DX10-28S
MB91F362GB
(19)
MD2
MD1
10 kΩ
TMDE
10 kΩ
MD0
(12)
10 kΩ
X0
4 MHz
X1
TAUX
(23)
/TICS
(10)
10 kΩ
10 kΩ
10 kΩ
/TRES
(5)
INITX
ユーザ
TTXD
(13)
TRXD
(27)
TCK
(6)
SIN0
SIN4
SOT0
SOT4
SCK4
TVcc
(2)
VDD
GND
(7,8,
14,15,
21,22,
1,28)
3, 4, 6, 9, 11, 16, 17, 18, 20,
24, 25, 26 ピンは OPEN
ユーザ電源
Vss
14 ピン
DX10-28S
28 ピン
DX10-28S: ライトアングルタイプ
1 ピン
15 ピン
コネクタ ( ヒロセ電機製 ) のピン配列
775
第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続
<注意事項>
• SIN0, SOT0, SIN4, SOT4, SCK4 端子をユーザシステムでも使用する場合には ,
下図の制御回路が必要となります。( フラッシュマイコンプログラマの /TICS 信
号により , シリアル書込み中はユーザ回路を切り離すことができます。)
• NET IMPRESS との接続はユーザ電源が OFF の状態で行ってください。
• SOT0 と SIN0 は必ず使用しますのでプローブ先端でこれらを結線してくださ
い。
図 33.3-6 制御回路
MB91F362GB
書込み制御端子
書込み制御端子
10 kΩ
/TICS 端子
776
第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続
33.4
フラッシュマイコンプログラマシステム構成
フラッシュマイコンプログラマ ( 横河ディジタルコンピュータ株式会社製 ) のシステ
ム構成を示します。
■ フラッシュマイコンプログラマシステム構成 ( 横河ディジタルコンピュータ株式会
社製 )
表 33.4-1 フラッシュマイコンプログラマシステム構成 ( 横河ディジタルコンピュータ株式会社製 )
型 格
本
体
機 能
AF220/AC4P
イーサネットインタフェースモデル /100 V ∼ 220 V 電源アダプタ
AF210/AC4P
スタンダードモデル /100 V ∼ 220 V 電源アダプタ
AF120/AC4P
単キーイーサネットインタフェースモデル /100 V ∼ 220 V 電源アダプタ
AF110/AC4P
単キーモデル /100 V ∼ 220 V 電源アダプタ
AZ221
ライタ専用 PC-AT 用 RS232C ケーブル
AZ210
標準ターゲットプローブ (a) 長さ : 1m
FF003
富士通製 FR フラッシュマイコン用コントロールモジュール
AZ290
リモートコントローラ
/P2
2MB PC Card (Option) FLASH メモリ容量 128KB まで
/P5
4MB PC Card (Option) FLASH メモリ容量 768KB まで
/E6
4MB PC Card (Option) FLASH メモリ容量 2MB まで
問い合せ先 : 横河ディジタルコンピュータ株式会社 機器事業部
電話 : 042-333-6224
777
第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続
33.5
その他の注意事項
MB91360( 代表マイコン : MB91F362GB) シリアル書込み接続時の注意事項を示し
ます。
■ MB91360( 代表マイコン : MB91F362GB) シリアル書込み接続時の注意事項
● 原発振クロック周波数について
FLASH メモリ書込み時に使用可能な原発振クロックは 4.0 MHz です。
● フラッシュメモリ書込み時のポート状態
シリアルライタを用いて FLASH メモリ書込み時のポート状態は , 書込みに使用してい
る端子を除きリセット状態と同じです。
778
付録
本文で解説できなかった詳細およびプログラミン
グのための参考情報を載せています。ここでは , 以
下の項目が含まれています。
付録 A I/O マップ
付録 B 割込みベクタ
付録 C CPU の各状態における端子の状態
付録 D 命令
779
付録
付録 A
I/O マップ
本付録では , MB91360 シリーズの内部周辺回路機能で使用するレジスタのアドレス
を一覧で示します。
■ I/O マップの読み方
レジスタ
内部周辺回路
アドレス
000014H
+0
+1
+2
PDRG[R/W]
PDRH[R/W]
PDRI[R/W]
XXXXXX--
XXXXXXXX
----XXXX
+3
―
ポートデータ
レジスタ
読出し/書込み属性
リセット後のレジスタの初期値(ビットの初期値)
"1": 初期値"1","0": 初期値"0",
"X": 初期値"X"(未定義),
"-"は,存在しないビットです。
レジスタ名(1コラムのレジスタは4n番地,2コラムのレジスタは4n+1番地・・・)
左端のレジスタの番地 (+0)。+1 , +2, および +3 はそれぞれ番地を 1 ずつ増分したもの
です。ワードでアクセスした場合, 1コラムのレジスタはデータのMSB側に置かれます。
<注意事項>
780
書込み専用 (W) ビットを含むレジスタに , RMW 命令を使用しないでください。
RMW 命令 (RMW: リードモディファイライト )
AND Rj, @Ri
OR Rj, @Ri EOR Rj, @Ri
ANDH Rj, @Ri
ORH Rj, @Ri EORH Rj, @Ri
ANDB Rj, @Ri
ORB Rj, @Ri EORB Rj, @Ri
BANDL #u4, @Ri BORL #u4, @Ri BEORL #u4, @Ri
BANDH #u4, @Ri BORH #u4, @Ri BEORH #u4, @Ri
予備の領域および "―" の付いた領域のデータは不定です。これらの領域は使用しな
いでください。
付録 A I/O マップ
レジスタ
アドレス
ブロック
+0
+1
+2
000000H
予約
000004H
000008H
+3
PDR7 [R/W]
-111----
予約
PDR8 [R/W]
XXXXXXXX
PDR9 [R/W]
XXXXXXX1
00000CH
―――
PDRB [R/W]
-----XXX
―――
000010H
PDRG [R/W]
XXXXXXXX
PDRH [R/W]
XXXXXXXX
PDRI [R/W]
X---X---
PDRJ [R/W]
XXXXXXXX
000014H
PDRK [R/W]
XXXXXXXX
PDRL [R/W]
XXXXXXXX
PDRM [R/W]
----XXXX
PDRN [R/W]
--XXXXXX
000018H
PDRO [R/W]
XXXXXXXX
PDRP [R/W]
--XXXXXX
PDRQ [R/W]
--XXXXXX
PDRR [R/W]
XXXXXXXX
00001CH
PDRS [R/W]
XXXXXXXX
PDRT [R/W]
--XXXXXX
―――
―――
000020H
|
00003CH
―――
―――
―――
―――
000040H
EIRR [R/W]
00000000
ENIR [R/W]
00000000
000044H
DICR [R/W]
-------0
HRCL [R/W, R]
0--11111
000048H
00004CH
000050H
000054H
000058H
00005CH
T-unit ポート
データレジスタ
R-bus ポート
データレジスタ
予約
ELVR [R/W]
00000000 00000000
CLKR2 [R/W]
-----000
予備
TMRLR0 [W]
XXXXXXXX XXXXXXXX
TMR0 [R]
XXXXXXXX XXXXXXXX
―――
TMCSR0 [R/W]
----0000 ---00000
TMRLR1 [W]
XXXXXXXX XXXXXXXX
TMR1 [R]
XXXXXXXX XXXXXXXX
―――
TMCSR1 [R/W]
----0000 ---00000
TMRLR2 [W]
XXXXXXXX XXXXXXXX
TMR2 [R]
XXXXXXXX XXXXXXXX
―――
TMCSR2 [R/W]
----0000 ---00000
000060H
SSR0 [R/W, R]
00001-00
000064H
ULS0 [R/W]
----0000
SIDR0/SODR0
[R/W]
XXXXXXXX
SCR0 [R/W, W]
00000100
SMR0 [R/W, W]
00--0-0-
―――
―――
―――
Ext int/NMI
DLYI/I-unit RTC
リロードタイマ
0
リロードタイマ
1
リロードタイマ
2
UART0
781
付録
レジスタ
アドレス
ブロック
+0
000068H
+2
+3
DRCL0 [W]
--------
UTIMC0 [R/W]
0--00-01
U-TIMER 0
SIDR1/SODR1
[R/W]
XXXXXXXX
SCR1 [R/W, W]
00000100
SMR1 [R/W, W]
00--0-0-
UART1
―――
―――
―――
DRCL1 [W]
--------
UTIMC1 [R/W]
0-----01
U-TIMER 1
SIDR2/SODR2
[R/W]
XXXXXXXX
SCR2 [R/W, W]
00000100
SMR2 [R/W, W]
00--0-0-
UART2
―――
―――
―――
UTIM0/UTIMR0 [R/W]
00000000 00000000
00006CH
SSR1 [R/W, R]
00001-00
000070H
ULS1 [R/W]
----0000
000074H
+1
UTIM1/UTIMR1 [R/W]
00000000 00000000
000078H
SSR2 [R/W, R]
00001-00
00007CH
ULS2 [R/W]
----0000
000080H
UTIM2/UTIMR2 [R/W]
00000000 00000000
DRCL2 [W]
--------
UTIMC2 [R/W]
0---1-01
U-TIMER 2
000084H
SMCS0 [R/W]
00000010 ----00-0
SES0 [R/W]
------00
SDR0 [R/W]
00000000
SIO 0
000088H
SMCS1 [R/W]
00000010 ----00-0
SES1 [R/W]
------00
SDR1 [R/W]
00000000
SIO 1
00008CH
CDCR0 [R/W]
0---1111
予約
CDCR1 [R/W]
0---1111
予約
SIO 0/1
プリスケーラ
000090H
―――
―――
―――
―――
予約
000094H
―――
―――
―――
―――
000098H
―――
―――
―――
―――
00009CH
ADMD [R/W, W]
----0000
ADCH [R/W]
00000000
―――
ADCS [R/W, W]
0000--00
―――
ADBL [R/W]
-------0
0000A0H
0000A4H
0000A8H
0000ACH
ADCD [R/W]
000000XX XXXXXXXX
―――
DACR [R/W]
-----000
DADR1 [R/W]
------XX XXXXXXXX
IOTDBL0 [R/W]
-----000
ICS01 [R/W]
00000000
DADR0 [R/W]
------XX XXXXXXXX
―――
DDBL [R/W]
-------0
IOTDBL1 [R/W]
-----000
ICS23 [R/W]
00000000
0000B0H
IPCP0 [R]
XXXXXXXX XXXXXXXX
IPCP1 [R]
XXXXXXXX XXXXXXXX
0000B4H
IPCP2 [R]
XXXXXXXX XXXXXXXX
IPCP3 [R]
XXXXXXXX XXXXXXXX
782
A/D コンバータ
DAC
インプット
キャプチャ
0, 1, 2, 3
付録 A I/O マップ
レジスタ
アドレス
ブロック
+0
+1
+2
+3
0000B8H
OCS01 [R/W]
---0--00 0000--00
OCS23 [R/W]
---0--00 0000--00
0000BCH
OCCP0 [R/W]
XXXXXXXX XXXXXXXX
OCCP1 [R/W]
XXXXXXXX XXXXXXXX
0000C0H
OCCP2 [R/W]
XXXXXXXX XXXXXXXX
OCCP3 [R/W]
XXXXXXXX XXXXXXXX
0000C4H
0000C8H
0000CCH
―――
―――
アウトプット
コンペア
0, 1, 2, 3
―――
―――
予備
TCDT0 [R/W]
XXXXXXXX XXXXXXXX
―――
TCCS0 [R/W]
-0000000
ICU/OCU 用
フリーラン
カウンタ 0
TCDT1 [R/W]
XXXXXXXX XXXXXXXX
―――
TCCS1 [R/W]
-0000000
ICU/OCU 用
フリーラン
カウンタ 1
0000D0H
ZPD0 [R/W, R]
00000010
PWC0 [R/W]
00000--0
ZPD1 [R/W, R]
00000010
PWC1 [R/W]
00000--0
SMC 0, 1
0000D4H
ZPD2 [R/W, R]
00000010
PWC2 [R/W]
00000--0
ZPD3 [R/W, R]
00000010
PWC3 [R/W]
00000--0
SMC 2, 3
0000D8H
PWC20 [R/W]
XXXXXXXX
PWC10 [R/W]
XXXXXXXX
PWS20 [R/W]
-0000000
PWS10 [R/W]
--000000
SMC 0
0000DCH
PWC21 [R/W]
XXXXXXXX
PWC11 [R/W]
XXXXXXXX
PWS21 [R/W]
-0000000
PWS11 [R/W]
--000000
SMC 1
0000E0H
PWC22 [R/W]
XXXXXXXX
PWC12 [R/W]
XXXXXXXX
PWS22 [R/W]
-0000000
PWS12 [R/W]
--000000
SMC 2
0000E4H
PWC23 [R/W]
XXXXXXXX
PWC13 [R/W]
XXXXXXXX
PWS23 [R/W]
-0000000
PWS13 [R/W]
--000000
SMC 3
0000E8H
SMDBL0 [R/W]
-------0
SMDBL1 [R/W]
-------0
SMDBL2 [R/W]
-------0
SMDBL3 [R/W]
-------0
SMC 0, 1, 2, 3
―――
SGDBL [R/W]
-------0
SGAR [R/W]
00000000
SGFR [R/W]
XXXXXXXX
―――
WTDBL [R/W]
-------0
0000ECH
0000F0H
0000F4H
0000F8H
0000FCH
―――
WTHR [R/W]
---00000
SGCR [R/W, R]
0-----00 000--000
SGTR [R/W]
XXXXXXXX
SGDR [R/W]
XXXXXXXX
WTCR [R/W, R]
00000000 000-0000
WTBR [R/W]
--XXXXXX XXXXXXXX XXXXXXXX
WTMR [R/W]
--000000
WTSR [R/W]
--000000
サウンド生成器
リアルタイム
クロック
( ウォッチタイマ )
―――
783
付録
レジスタ
アドレス
ブロック
+0
000100H
000104H
000108H
00010CH
000110H
000114H
+1
+2
+3
TMRLR3 [W]
XXXXXXXX XXXXXXXX
TMR3 [R]
XXXXXXXX XXXXXXXX
―――
TMCSR3 [R/W]
----XX-- ---XXXXX
TMRLR4 [W]
XXXXXXXX XXXXXXXX
TMR4 [R]
XXXXXXXX XXXXXXXX
―――
TMCSR4 [R/W]
----XX-- ---XXXXX
TMRLR5 [W]
XXXXXXXX XXXXXXXX
TMR5 [R]
XXXXXXXX XXXXXXXX
―――
TMCSR5 [R/W]
----XX-- ---XXXXX
リロードタイマ 3
リロードタイマ 4
リロードタイマ 5
000118H
GCN10 [R/W]
00110010 00010000
PDBL0 [R/W]
----0000
GCN20 [R/W]
----0000
PWM 制御 0
00011CH
GCN11 [R/W]
00110010 00010000
PDBL1 [R/W]
----0000
GCN21 [R/W]
----0000
PWM 制御 1
000120H
PTMR0 [R]
11111111 11111111
000124H
PDUT0 [W]
XXXXXXXX XXXXXXXX
000128H
PTMR1 [R]
11111111 11111111
00012CH
PDUT1 [W]
XXXXXXXX XXXXXXXX
000130H
PTMR2 [R]
11111111 11111111
000134H
PDUT2 [W]
XXXXXXXX XXXXXXXX
000138H
PTMR3 [R]
11111111 11111111
00013CH
PDUT3 [W]
XXXXXXXX XXXXXXXX
000140H
PTMR4 [R]
11111111 11111111
000144H
PDUT4 [W]
XXXXXXXX XXXXXXXX
000148H
PTMR5 [R]
11111111 11111111
00014CH
PDUT5 [W]
XXXXXXXX XXXXXXXX
784
PCSR0 [W]
XXXXXXXX XXXXXXXX
PCNH0 [R/W]
0000000-
PCNL0 [R/W]
000000-0
PCSR1 [W]
XXXXXXXX XXXXXXXX
PCNH1 [R/W]
0000000-
PWM4
PCNL4 [R/W]
000000-0
PCSR5 [W]
XXXXXXXX XXXXXXXX
PCNH5 [R/W]
0000000-
PWM3
PCNL3 [R/W]
000000-0
PCSR4 [W]
XXXXXXXX XXXXXXXX
PCNH4 [R/W]
0000000-
PWM2
PCNL2 [R/W]
000000-0
PCSR3 [W]
XXXXXXXX XXXXXXXX
PCNH3 [R/W]
0000000-
PWM1
PCNL1 [R/W]
000000-0
PCSR2 [W]
XXXXXXXX XXXXXXXX
PCNH2 [R/W]
0000000-
PWM0
PCNL5 [R/W]
000000-0
PWM5
付録 A I/O マップ
レジスタ
アドレス
ブロック
+0
+1
000150H
PTMR6 [R]
11111111 11111111
000154H
PDUT 6 [W]
XXXXXXXX XXXXXXXX
000158H
PTMR7 [R]
11111111 11111111
00015CH
PDUT7 [W]
XXXXXXXX XXXXXXXX
000160H
―――
―――
+2
+3
PCSR6 [W]
XXXXXXXX XXXXXXXX
PCNH6 [R/W]
0000000-
PCNL6 [R/W]
000000-0
PCSR7 [W]
XXXXXXXX XXXXXXXX
PCNH7 [R/W]
0000000-
PCNL7 [R/W]
000000-0
―――
―――
000164H
CMCR [R/W]
11111111 0000000
CMPR [R/W, R]
----1001 1---0001
000168H
CMLS0 [R/W]
01110111 1111111
CMLS1 [R/W]
01110111 1111111
00016CH
CMLS2 [R/W]
01110111 1111111
CMLS3 [R/W]
01110111 1111111
000170H
CMLT0 [R/W, R]
-----100 00000010
CMLT1 [R/W, R]
11110100 00000010
000174H
CMLT2 [R/W, R]
-----100 00000010
CMLT3 [R/W, R]
-----100 00000010
000178H
CMAC [R/W]
11111111 1111111
CMTS [R/W, R]
--000001 01111111
―――
PDRCR [R/W]
-----000
―――
―――
000180H
ACCDBL[R/W]
-------0
ACSR [R/W, R]
---XXX00
―――
―――
000184H
IBCR2 [R/W]
00000000
IBSR2 [R]
00000000
ITBAH [R/W]
------00
ITBAL [R/W]
00000000
000188H
ITMKH [R/W, R]
00----11
ITMKL [R/W]
11111111
ISMK [R/W]
01111111
ISBA [R/W]
-0000000
00018CH
IDARH [-]
00000000
IDARH2 [R/W]
00000000
ICCR2 [R/W]
-0011111
IDBL2 [R/W]
-------0
00017CH
PWM6
000190H
CUCR [R/W, R]
-------- ---0--00
CUTD [R/W]
10000000 00000000
000194H
CUTR1 [R]
-------- 00000000
CUTR2 [R]
00000000 00000000
PWM7
予約
クロック
変調
パワーダウン
リセット
アラーム比較器
I2C( 新 )
32 kHz 発振器の
補正ユニット
785
付録
レジスタ
アドレス
ブロック
+0
+1
+2
+3
000198H
SCR5 [R/W, W]
00000000
SMR5 [R/W, W]
00000000
SSR5 [R/W, R]
00001000
RDR5/TDR5
[R/W]
00000000
00019CH
ESCR5 [R/W]
00000X00
ECCR5
[R/W, R, W]
-00000XX
BGR15 [R/W]
-0000000
BGR05 [R/W]
00000000
0001A0H
SCR6 [R/W, W]
00000000
SMR6 [R/W, W]
00000000
SSR6 [R/W, R]
00001000
RDR6/TDR6
[R/W]
00000000
0001A4H
ESCR6 [R/W]
00000X00
ECCR6
[R/W, R, W]
-00000XX
BGR16 [R/W]
-0000000
BGR06 [R/W]
00000000
0001A8H
USART6
予約
|
0001F8H
―――
0001FCH
F362MD [R/W]
00000000
―――
786
USART5
―――
SFR [R/W]
-------0
SFR_BDEN
F362 モード
レジスタ
特殊機能
レジスタ
(EDSU 可能 )
付録 A I/O マップ
レジスタ
アドレス
ブロック
+0
+1
+2
+3
000200H
DMACA0 [R/W]
00000000 0000XXXX XXXXXXXX XXXXXXXX
000204H
DMACB0 [R/W]
00000000 00000000 XXXXXXXX XXXXXXXX
000208H
DMACA1 [R/W]
00000000 0000XXXX XXXXXXXX XXXXXXXX
00020CH
DMACB1 [R/W]
00000000 00000000 XXXXXXXX XXXXXXXX
000210H
DMACA2 [R/W]
00000000 0000XXXX XXXXXXXX XXXXXXXX
000214H
DMACB2 [R/W]
00000000 00000000 XXXXXXXX XXXXXXXX
000218H
DMACA3 [R/W]
00000000 0000XXXX XXXXXXXX XXXXXXXX
00021CH
DMACB3 [R/W]
00000000 00000000 XXXXXXXX XXXXXXXX
000220H
DMACA4 [R/W]
00000000 0000XXXX XXXXXXXX XXXXXXXX
000224H
DMACB4 [R/W]
00000000 00000000 XXXXXXXX XXXXXXXX
DMAC
000228H
|
00023CH
―――
000240H
DMACR [R/W]
0--00000 -------- -------- --------
000244H
|
0002FCH
―――
000300H
000304H
予約
IRBS [R/W, R]
00000000 00000001 00100000 --------
0003E4H
0003E8H
|
0003ECH
ISIZE [R/W]
------11
―――
000308H
|
0003E0H
命令キャッシュ
予約
―――
ICHRC [R/W]
0-000000
―――
命令キャッシュ
予約
―――
787
付録
レジスタ
アドレス
ブロック
+0
+1
+2
+3
0003F0H
BSD0 [W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
0003F4H
BSD1 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
0003F8H
BSDC [W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
0003FCH
BSRR [R]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
000400H
DDRG [R/W]
00000000
DDRH [R/W]
00000000
DDRI [R/W]
----0---
DDRJ [R/W]
00000000
000404H
DDRK [R/W]
00000000
DDRL [R/W]
00000000
DDRM [R/W]
----0000
DDRN [R/W]
--000000
000408H
DDRO [R/W]
00000000
DDRP [R/W]
----0000
DDRQ [R/W]
--000000
DDRR [R/W]
00000000
00040CH
DDRS [R/W]
00000000
DDRT [R/W]
--000000
―――
―――
000410H
PFRG [R/W]
00000000
PFRH [R/W]
00000000
PFRI [R/W]
----0---
PFRJ [R/W]
00000000
000414H
PFRK [R/W]
00000000
PFRL [R/W]
00000000
PFRM [R/W]
----0000
PFRN [R/W]
--000000
000418H
PFRO [R/W]
00000000
PFRP [R/W]
00000000
PFRQ [R/W]
--000000
PFRR [R/W]
00000000
00041CH
PFRS [R/W]
00000000
PFRT [R/W]
--000000
―――
―――
000420H
|
00043CH
788
ビットサーチ
モジュール
R-bus ポート
方向レジスタ
R-bus ポート
機能レジスタ
予約
―――
付録 A I/O マップ
レジスタ
アドレス
ブロック
+0
+1
+2
+3
000440H
ICR00 [R/W, R]
---11111
ICR01 [R/W, R]
---11111
ICR02 [R/W, R]
---11111
ICR03 [R/W, R]
---11111
000444H
ICR04 [R/W, R]
---11111
ICR05 [R/W, R]
---11111
ICR06 [R/W, R]
---11111
ICR07 [R/W, R]
---11111
000448H
ICR08 [R/W, R]
---11111
ICR09 [R/W, R]
---11111
ICR10 [R/W, R]
---11111
ICR11 [R/W, R]
---11111
00044CH
ICR12 [R/W, R]
---11111
ICR13 [R/W, R]
---11111
ICR14 [R/W, R]
---11111
ICR15 [R/W, R]
---11111
000450H
ICR16 [R/W, R]
---11111
ICR17 [R/W, R]
---11111
ICR18 [R/W, R]
---11111
ICR19 [R/W, R]
---11111
000454H
ICR20 [R/W, R]
---11111
ICR21 [R/W, R]
---11111
ICR22 [R/W, R]
---11111
ICR23 [R/W, R]
---11111
000458H
ICR24 [R/W, R]
---11111
ICR25 [R/W, R]
---11111
ICR26 [R/W, R]
---11111
ICR27 [R/W, R]
---11111
00045CH
ICR28 [R/W, R]
---11111
ICR29 [R/W, R]
---11111
ICR30 [R/W, R]
---11111
ICR31 [R/W, R]
---11111
000460H
ICR32 [R/W, R]
---11111
ICR33 [R/W, R]
---11111
ICR34 [R/W, R]
---11111
ICR35 [R/W, R]
---11111
000464H
ICR36 [R/W, R]
---11111
ICR37 [R/W, R]
---11111
ICR38 [R/W, R]
---11111
ICR39 [R/W, R]
---11111
000468H
ICR40 [R/W, R]
---11111
ICR41 [R/W, R]
---11111
ICR42 [R/W, R]
---11111
ICR43 [R/W, R]
---11111
00046CH
ICR44 [R/W, R]
---11111
ICR45 [R/W, R]
---11111
ICR46 [R/W, R]
---11111
ICR47 [R/W, R]
---11111
000470H
|
00047CH
予約
―――
000480H
RSRR [R/W, R]
10000-00
STCR [R/W]
00110011
TBCR [R/W]
00XXX-00
CTBR [W]
XXXXXXXX
000484H
CLKR [R/W]
00000000
―――
DIVR0 [R/W]
00000011
DIVR1 [R/W]
00000000
000488H
|
0005FCH
割込み制御
ユニット
クロック制御
ユニット
予約
―――
789
付録
レジスタ
ブロック
アドレス
000600H
000604H
000608H
+0
+1
+2
+3
―――
―――
―――
―――
―――
―――
―――
DDR7 [R/W]
00000000
DDR8 [R/W]
00000000
DDR9 [R/W]
00000000
―――
DDRB [R/W]
00000000
00060CH
000610H
000614H
000618H
―――
―――
―――
―――
―――
―――
―――
―――
PFR7 [R/W]
00001111
PFR8 [R/W]
111110-0
PFR9 [R/W]
11110101
―――
PFRB [R/W]
00000000
00061CH
―――
000620H
―――
000624H
0000628H
|
00063FH
790
T-unit ポート
方向レジスタ
T-unit ポート
機能レジスタ
PFR27 [R/W]
1111-00-
―――
予約
―――
付録 A I/O マップ
レジスタ
アドレス
ブロック
+0
+1
+2
+3
000640H
ASR0 [W]
00000000 00000000
AMR0 [W]
11111000 11111111
000644H
ASR1 [W]
00000000 00000000
AMR1 [W]
00000000 00000000
000648H
ASR2 [W]
00000000 00000000
AMR2 [W]
00000000 00000000
00064CH
ASR3 [W]
00000000 00000000
AMR3 [W]
00000000 00000000
000650H
ASR4 [W]
00000000 00000000
AMR4 [W]
00000000 00000000
000654H
ASR5 [W]
00000000 00000000
AMR5 [W]
00000000 00000000
000658H
ASR6 [W]
00000000 00000000
AMR6 [W]
00000000 00000000
00065CH
ASR7 [W]
00000000 00000000
AMR7 [W]
00000000 00000000
000660H
AMD0 [R/W]
-00XX111
AMD1 [R/W]
-XXXXXXX
AMD2 [R/W]
--XXXXXX
AMD3 [R/W]
--XXXXXX
000664H
AMD4 [R/W]
--XXXXXX
AMD5 [R/W]
--XXXXXX
AMD6 [R/W]
-XXXXXXX
AMD7 [R/W]
-XXXXXXX
000668H
CSE
11000011
―――
―――
―――
00066CH
000670H
―――
CHE
11111111
000674H
|
0007F8H
0007FCH
T-unit
―――
―――
―――
予約
―――
―――
MODR [W]
XXXXXXXX
―――
―――
モードレジスタ
EDSU
000800H
|
000834H
EDSU レジスタ (MB91F364G のみ )
000838H
|
000AFCH
―――
予約
791
付録
レジスタ
アドレス
ブロック
+0
+1
+2
+3
000B00H
ESTS0
X0000000
ESTS1
XXXXXXXX
ESTS2
XXXXXXXX
―――
000B04H
ECTL0
0X000000
ECTL1
00000000
ECTL2
000X0000
ECTL3
00000X11
000B08H
ECNT0
XXXXXXXX
ECNT1
XXXXXXXX
EUSA
XXX0000X
EDTC
0000XXXX
000B0CH
EWPT
XXXXXXXX XXXXXXXX
―――
000B10H
EDTR0
XXXXXXXX XXXXXXXX
EDTR1
XXXXXXXX XXXXXXXX
000B14H
|
000B1CH
―――
000B20H
EIA0
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
000B24H
EIA1
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
000B28H
EIA2
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
000B2CH
EIA3
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
000B30H
EIA4
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
000B34H
EIA5
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
000B38H
EIA6
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
000B3CH
EIA7
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
000B40H
EDTA
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
000B44H
EDTM
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
000B48H
EOA0
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
000B4CH
EOA1
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
000B50H
EPCR
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
792
DSU
付録 A I/O マップ
レジスタ
アドレス
ブロック
+0
+1
+2
+3
000B54H
EPSR
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
000B58H
EIAM0
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
000B5CH
EIAM1
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
000B60H
EOAM0/EODM0
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
000B64H
EOAM1/EODM1
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
000B68H
EOD0
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
000B6CH
EOD1
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
001000H
DMASA0 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
001004H
DMADA0 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
001008H
DMASA1 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
00100CH
DMADA1 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
001010H
DMASA2 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
001014H
DMADA2 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
001018H
DMASA3 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
00101CH
DMADA3 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
001020H
DMASA4 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
001024H
DMADA4 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
001028H
|
003FFCH
―――
004000H
|
006FFFH
―――
DSU
DMAC
予約
予約
793
付録
レジスタ
アドレス
007000H
007004H
ブロック
+0
+1
+2
+3
FMCS [R/W]
1110X000
―――
―――
―――
FMWT [R/W]
--000011
―――
―――
―――
007008H
|
00FFFCH
―――
010000H
|
010FFCH
( 厳密なアドレス範囲については , 「第 3 章 命令キャッシュ」を参照
してください。)
キャッシュメモリは MB91FV360GA でのみ搭載
011000H
|
011FFCH
MB91F364G では不可
MB91FV360GA では , キャッシュメモリは I-RAM モードで使用可能
012000H
|
01FFFCH
020000H
|
03BFFCH
フラッシュメモリ
制御レジスタ
予備
I-Cache
4 K バイト
I-RAM
4 K バイト
予約
―――
予約
―――
03C000H
|
03FFFCH
MB91F362GB, MB91F364G では , 12K バイトのみ
(03D000H ∼ 03FFCH)
ユーザ RAM
16K バイト
(D-bus)
004000H
|
043FFCH
MB91F362GB, MB91F364G では , 4K バイトのみ
(040000H ∼ 040FFCH)
高速 RAM
16K バイト
(F-bus)
794
付録 A I/O マップ
レジスタ
アドレス
ブロック
+0
+1
+2
044000H
|
0FEFFCH
―――
050000H
|
0507FCH
―――
050800H
|
07FFF4H
―――
+3
ブート ROM
2K バイト
(F-bus)
セクタ 0
64K バイト
セクタ 7
64K バイト
0A0000H
|
0BFFFCH
セクタ 1
64K バイト
セクタ 8
64K バイト
0C0000H
|
0DFFFCH
セクタ 2
64K バイト
セクタ 9
64K バイト
0E0000H
|
0EFFFCH
セクタ 3
32K バイト
セクタ 10
32K バイト
0F0000H
|
0F3FFCH
セクタ 4
8K バイト
セクタ 11
8K バイト
0F4000H
|
0F7FFCH
セクタ 5
8K バイト
セクタ 12
8K バイト
0F8000H
|
0FFFF4H
セクタ 6
16K バイト
セクタ 13
16K バイト
0FFFF8H
0FFFFCH
00 05 00 00 H
512K バイト フラッシュ F-bus
080000H
|
09FFFCH
256K バイト フラッシュ F-bus
予約
FMV [R]
06 00 00 00 H
モードベクタ
FRV [R]
(MB91F376G: 00 04 40 00H)
固定リセット
ベクタ
アドレス 0FFFF8H および 0FFFFCH への書込み操作はできません。このアドレスにアクセスすると ,
上記の値が読み出されます。
<注意事項>
256KB フラッシュマクロについては , MB91F364G でのみ使用される。
768KB フラッシュマクロについては , MB91F376G でのみ使用される。
795
MB91F376G: 「付録 A.1 MB91F376G 特殊 I/O マップ」を参照してください。
予約
付録
レジスタ
アドレス
ブロック
+1
+2
+3
100000H
BVALR0 [R/W]
00000000 00000000
TREQR0 [R/W]
00000000 00000000
100004H
TCANR0 [W]
00000000 00000000
TCR0 [R/W]
00000000 00000000
100008H
RCR0 [R/W]
00000000 00000000
RRTRR0 [R/W]
00000000 00000000
10000CH
ROVRR0 [R/W]
00000000 00000000
RIER0 [R/W]
00000000 00000000
100010H
CSR0 [R/W, R]
00000000 00000001
100014H
RTEC0 [R]
00000000 00000000
BTR0 [R/W]
-1111111 11111111
100018H
IDER0 [R/W]
XXXXXXXX XXXXXXXX
TRTRR0 [R/W]
00000000 00000000
10001CH
RFWTR0 [R/W]
XXXXXXXX XXXXXXXX
TIER0 [R/W]
00000000 00000000
―――
LEIR0 [R/W]
000-0000
100020H
AMSR0 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
100024H
AMR00 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100028H
AMR10 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
10002CH
|
100048H
汎用 RAM [R/W]
10004CH
IDR00 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100050H
IDR10 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100054H
IDR20 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100058H
IDR30 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
10005CH
IDR40 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100060H
IDR50 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100064H
IDR60 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100068H
IDR70 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
796
CAN 0
備考 :
CAN 0 ∼ CAN 3
のアドレス範囲
はチップ選択範
囲に依存します。
記述されている
アドレスは
デフォルトの値
であり , ブート
ROM の内容によ
り決定されます。
MB91F376G: 「付録 A.1 MB91F376G 特殊 I/O マップ」を参照してください。
+0
付録 A I/O マップ
レジスタ
アドレス
ブロック
+1
+2
+3
10006CH
IDR80 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100070H
IDR90 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100074H
IDR100 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100078H
IDR110 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
10007CH
IDR120 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100080H
IDR130 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100084H
IDR140 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100088H
IDR150 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
10008CH
DLCR00 [R/W]
-------- ----XXXX
DLCR10 [R/W]
-------- ----XXXX
100090H
DLCR20 [R/W]
-------- ----XXXX
DLCR30 [R/W]
-------- ----XXXX
100094H
DLCR40 [R/W]
-------- ----XXXX
DLCR50 [R/W]
-------- ----XXXX
100098H
DLCR60 [R/W]
-------- ----XXXX
DLCR70 [R/W]
-------- ----XXXX
10009CH
DLCR80 [R/W]
-------- ----XXXX
DLCR90 [R/W]
-------- ----XXXX
1000A0H
DLCR100 [R/W]
-------- ----XXXX
DLCR110 [R/W]
-------- ----XXXX
1000A4H
DLCR120 [R/W]
-------- ----XXXX
DLCR130 [R/W]
-------- ----XXXX
1000A8H
DLCR140 [R/W]
-------- ----XXXX
DLCR150 [R/W]
-------- ----XXXX
1000ACH
DTR00 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1000B4H
DTR10 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1000BCH
DTR20 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
CAN 0
MB91F376G: 「付録 A.1 MB91F376G 特殊 I/O マップ」を参照してください。
+0
797
付録
レジスタ
アドレス
ブロック
+1
+2
+3
1000C4H
DTR30 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1000CCH
DTR40 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1000D4H
DTR50 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1000DCH
DTR60 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1000E4H
DTR70 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1000ECH
DTR80 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1000F4H
DTR90 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1000FCH
DTR100 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
100104H
DTR110 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
10010CH
DTR120 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
100114H
DTR130 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
10011CH
DTR140 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
100124H
DTR150 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
10012CH
CREG0 [R/W]
00000000 00000110
798
―――
CAN 0
MB91F376G: 「付録 A.1 MB91F376G 特殊 I/O マップ」を参照してください。
+0
付録 A I/O マップ
レジスタ
アドレス
ブロック
+1
+2
+3
100200H
BVALR1 [R/W]
00000000 00000000
TREQR1 [R/W]
00000000 00000000
100204H
TCANR1 [W]
00000000 00000000
TCR1 [R/W]
00000000 00000000
100208H
RCR1 [R/W]
00000000 00000000
RRTRR1 [R/W]
00000000 00000000
10020CH
ROVRR1 [R/W]
00000000 00000000
RIER1 [R/W]
00000000 00000000
100210H
CSR1 [R/W]
00000000 00000001
100214H
RTEC1 [R]
00000000 00000000
BTR1 [R/W]
-1111111 11111111
100218H
IDER1 [R/W]
XXXXXXXX XXXXXXXX
TRTRR1 [R/W]
00000000 00000000
10021CH
RFWTR1 [R/W]
XXXXXXXX XXXXXXXX
TIER1 [R/W]
00000000 00000000
LEIR1 [R/W]
000-0000
100220H
AMSR1 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
100224H
AMR01 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100228H
AMR11 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
10022CH
|
100248H
汎用 RAM [R/W]
10024CH
IDR01 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100250H
IDR11 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100254H
IDR21[R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100258H
IDR31 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX-
10025CH
IDR41 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100260H
IDR51 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100264H
IDR61 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
CAN 1
備考 :
CAN 0 ∼ CAN 3
のアドレス範囲
はチップ選択範
囲に依存します。
記述されている
アドレスは
デフォルトの値
であり , ブート
ROM の内容によ
り決定されます。
799
MB91F376G: 「付録 A.1 MB91F376G 特殊 I/O マップ」を参照してください。
+0
付録
レジスタ
アドレス
ブロック
+1
+2
+3
100268H
IDR71 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
10026CH
IDR81 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100270H
IDR91 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100274H
IDR101 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100278H
IDR111 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
10027CH
IDR121 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXX---
100280H
IDR131 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100284H
IDR141 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100288H
IDR151 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
10028CH
DLCR01 [R/W]
-------- ----XXXX
DLCR11 [R/W]
-------- ----XXXX
100290H
DLCR21 [R/W]
-------- ----XXXX
DLCR31 [R/W]
-------- ----XXXX
100294H
DLCR41 [R/W]
-------- ----XXXX
DLCR51 [R/W]
-------- ----XXXX
100298H
DLCR61 [R/W]
-------- ----XXXX
DLCR71 [R/W]
-------- ----XXXX
10029CH
DLCR81[R/W]
-------- ----XXXX
DLCR91 [R/W]
-------- ----XXXX
1002A0H
DLCR101 [R/W]
-------- ----XXXX
DLCR111 [R/W]
-------- ----XXXX
1002A4H
DLCR121 [R/W]
-------- ----XXXX
DLCR131 [R/W]
-------- ----XXXX
1002A8H
DLCR141 [R/W]
-------- ----XXXX
DLCR151 [R/W]
-------- ----XXXX
1002ACH
DTR01 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1002B4H
DTR11 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
800
CAN 1
MB91F376G: 「付録 A.1 MB91F376G 特殊 I/O マップ」を参照してください。
+0
付録 A I/O マップ
レジスタ
アドレス
ブロック
+1
+2
+3
1002BCH
DTR21 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1002C4H
DTR31 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1002CCH
DTR41 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1002D4H
DTR51 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1002DCH
DTR61 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1002E4H
DTR71 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1002ECH
DTR81 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1002F4H
DTR91 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1002FCH
DTR101 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
100304H
DTR111 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
10030CH
DTR121 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
100314H
DTR131 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
10031CH
DTR141 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
100324H
DTR151 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
10032CH
CREG1 [R/W]
00000000 00000110
CAN 1
MB91F376G: 「付録 A.1 MB91F376G 特殊 I/O マップ」を参照してください。
+0
―――
801
付録
レジスタ
アドレス
ブロック
+0
+1
+2
+3
100400H
BVALR2 [R/W]
00000000 00000000
TREQR2 [R/W]
00000000 00000000
100404H
TCANR2 [W]
00000000 00000000
TCR2 [R/W]
00000000 00000000
100408H
RCR2 [R/W]
00000000 00000000
RRTRR2 [R/W]
00000000 00000000
10040CH
ROVRR2 [R/W]
00000000 00000000
RIER2 [R/W]
00000000 00000000
100410H
CSR2 [R/W, R]
00000000 00000001
100414H
RTEC2 [R]
00000000 00000000
BTR2 [R/W]
-1111111 11111111
100418H
IDER2 [R/W]
XXXXXXXX XXXXXXXX
TRTRR2 [R/W]
00000000 00000000
10041CH
RFWTR2 [R/W]
XXXXXXXX XXXXXXXX
TIER2 [R/W]
00000000 00000000
―――
LEIR2[R/W]
000-0000
100420H
AMSR2 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
100424H
AMR02 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100428H
AMR12 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
10042CH
|
100448H
汎用 RAM [R/W]
10044CH
IDR02 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100450H
IDR12 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100454H
IDR22 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
802
CAN 2
備考 :
CAN 0 ∼ CAN 3
のアドレス範囲
はチップ選択範
囲に依存します。
記述されている
アドレスは
デフォルトの値
であり , ブート
ROM の内容によ
り決定されます。
付録 A I/O マップ
レジスタ
アドレス
ブロック
+0
+1
+2
+3
100458H
IDR32 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
10045CH
IDR42 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100460H
IDR52 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100464H
IDR62 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100468H
IDR72 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
10046CH
IDR82 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100470H
IDR92 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100474H
IDR102 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100478H
IDR112 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
10047CH
IDR122 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXX---
100480H
IDR132 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100484H
IDR142 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100488H
IDR152 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
10048CH
DLCR02 [R/W]
-------- ----XXXX
DLCR12 [R/W]
-------- ----XXXX
100490H
DLCR22 [R/W]
-------- ----XXXX
DLCR32 [R/W]
-------- ----XXXX
100494H
DLCR42 [R/W]
-------- ----XXXX
DLCR52 [R/W]
-------- ----XXXX
100498H
DLCR62 [R/W]
-------- ----XXXX
DLCR72 [R/W]
-------- ----XXXX
10049CH
DLCR82 [R/W]
-------- ----XXXX
DLCR92 [R/W]
-------- ----XXXX
1004A0H
DLCR102 [R/W]
-------- ----XXXX
DLCR112 [R/W]
-------- ----XXXX
1004A4H
DLCR122 [R/W]
-------- ----XXXX
DLCR132 [R/W]
-------- ----XXXX
CAN 2
803
付録
レジスタ
アドレス
ブロック
+0
1004A8H
+1
DLCR142 [R/W]
-------- ----XXXX
+2
+3
DLCR152 [R/W]
-------- ----XXXX
1004ACH
DTR02 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1004B4H
DTR12 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1004BCH
DTR22 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1004C4H
DTR32 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1004CCH
DTR42 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1004D4H
DTR52 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1004DCH
DTR62 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1004E4H
DTR72 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1004ECH
DTR82 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1004F4H
DTR92 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1004FCH
DTR102 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
100504H
DTR112 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
10050CH
DTR122 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
804
CAN 2
付録 A I/O マップ
レジスタ
アドレス
ブロック
+0
+1
+2
+3
100514H
DTR132 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
10051CH
DTR142 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
100524H
DTR152 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
10052CH
CREG2 [R/W]
00000000 00000110
―――
100600H
BVALR3 [R/W]
00000000 00000000
TREQR3 [R/W]
00000000 00000000
100604H
TCANR3 [W]
00000000 00000000
TCR3 [R/W]
00000000 00000000
100608H
RCR3 [R/W]
00000000 00000000
RRTRR3 [R/W]
00000000 00000000
10060CH
ROVRR3 [R/W]
00000000 00000000
RIER3 [R/W]
0000000 00000000
100610H
CSR3 [R/W, R]
00000000 00000001
100614H
RTEC3 [R]
00000000 00000000
BTR3 [R/W]
-1111111 11111111
100618H
IDER3 [R/W]
XXXXXXXX XXXXXXXX
TRTRR3 [R/W]
00000000 00000000
10061CH
RFWTR3 [R/W]
XXXXXXXX XXXXXXXX
TIER3 [R/W]
00000000 00000000
―――
LEIR3 [R/W]
000-0000
100620H
AMSR3 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
100624H
AMR03 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100628H
AMR13 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
10062CH
|
100648H
汎用 RAM [R/W]
10064CH
IDR03 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100650H
IDR13 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
CAN 2
CAN 3
備考 :
CAN 0 ∼ CAN 3
のアドレス範囲
はチップ選択範
囲に依存します。
記述されている
アドレスは
デフォルトの値
であり , ブート
ROM の内容によ
り決定されます。
805
付録
レジスタ
アドレス
ブロック
+0
+1
+2
+3
100654H
IDR23 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100658H
IDR33 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
10065CH
IDR43 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100660H
IDR53 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100664H
IDR63 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100668H
IDR73 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
10066CH
IDR83 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100670H
IDR93 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100674H
IDR103 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100678H
IDR113 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
10067CH
IDR123 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXX---
100680H
IDR133 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100684H
IDR143 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
100688H
IDR153 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
10068CH
DLCR033 [R/W]
-------- ----XXXX
DLCR13 [R/W]
-------- ----XXXX
100690H
DLCR233 [R/W]
-------- ----XXXX
DLCR33 [R/W]
-------- ----XXXX
100694H
DLCR43 [R/W]
-------- ----XXXX
DLCR53 [R/W]
-------- ----XXXX
100698H
DLCR63 [R/W]
-------- ----XXXX
DLCR73 [R/W]
-------- ----XXXX
10069CH
DLCR83 [R/W]
-------- ----XXXX
DLCR93 [R/W]
-------- ----XXXX
1006A0H
DLCR103 [R/W]
-------- ----XXXX
DLCR113 [R/W]
-------- ----XXXX
806
CAN 3
付録 A I/O マップ
レジスタ
アドレス
ブロック
+0
+1
+2
+3
1006A4H
DLCR123 [R/W]
-------- ----XXXX
DLCR133 [R/W]
-------- ----XXXX
1006A8H
DLCR143 [R/W]
-------- ----XXXX
DLCR153[R/W]
-------- ----XXXX
1006ACH
DTR03 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1006B4H
DTR13 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1006BCH
DTR23[R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1006C4H
DTR33 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1006CCH
DTR43 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1006D4H
DTR53 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1006DCH
DTR63 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1006E4H
DTR73 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1006ECH
DTR83 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1006F4H
DTR93 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
1006FCH
DTR103 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
100704H
DTR113 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
10070CH
DTR123 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
CAN 3
807
付録
レジスタ
アドレス
ブロック
+0
+1
+2
+3
100714H
DTR133 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
10071CH
DTR143 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
100724H
DTR153 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
10072CH
CREG3 [R/W]
00000000 00000110
808
―――
CAN 3
付録 A I/O マップ
A.1
MB91F376G 特殊 I/O マップ
768KB フラッシュメモリのために , MB91F376G の I/O マップはほかの製品と異
なっています。ここではその違いのみがリストされています。
レジスタ
アドレス
ブロック
+0
+1
044000H
|
0447FCH
+2
+3
ブート ROM
2K バイト
(F-bus)
─────
044800H
|
05FFFCH
セクタ 0 ( パリティ )
56K バイト
060000H
|
07FFFCH
セクタ 1
64K バイト
セクタ 3
64K バイト
080000H
|
09FFFCH
セクタ 4
64K バイト
セクタ 11
64K バイト
0A0000H
|
0BFFFCH
セクタ 5
64K バイト
セクタ 12
64K バイト
0C0000H
|
0DFFFCH
セクタ 6
64K バイト
セクタ 13
64K バイト
0E0000H
|
0EFFFCH
セクタ 7
32K バイト
セクタ 14
32K バイト
0F0000H
|
0F3FFCH
セクタ 8
8K バイト
セクタ 15
8K バイト
0F4000H
|
0F7FFCH
セクタ 9
8K バイト
セクタ 16
8K バイト
0F8000H
|
0FFFFCH
セクタ 10
16K バイト
セクタ 17
16K バイト
100000H
|
11FFFCH
セクタ 0 : ミラー
64K バイト
セクタ 2: ミラー
64K バイト
120000H
|
13FFFCH
セクタ 1 : ミラー
64K バイト
セクタ 3: ミラー
64K バイト
セクタ 2 ( パリティ )
56K バイト
768K バイト
フラッシュメモリ
(F-bus)
固定モードおよびリセットベクタ
809
付録
レジスタ
アドレス
ブロック
+0
+1
+2
+3
200000H
BVALR0 [R/W]
00000000 00000000
TREQR0 [R/W]
00000000 00000000
200004H
TCANR0 [W]
00000000 00000000
TCR0 [R/W]
00000000 00000000
200008H
RCR0 [R/W]
00000000 00000000
RRTRR0 [R/W]
00000000 00000000
20000CH
ROVRR0 [R/W]
00000000 00000000
RIER0 [R/W]
00000000 00000000
200010H
CSR0 [R/W, R]
00000000 00000001
200014H
RTEC0 [R]
00000000 00000000
BTR0 [R/W]
-1111111 11111111
200018H
IDER0 [R/W]
XXXXXXXX XXXXXXXX
TRTRR0 [R/W]
00000000 00000000
20001CH
RFWTR0 [R/W]
XXXXXXXX XXXXXXXX
TIER0 [R/W]
00000000 00000000
―――
LEIR0 [R/W]
000-0000
200020H
AMSR0 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
200024H
AMR00 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200028H
AMR10 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
20002CH
|
200048H
汎用 RAM [R/W]
20004CH
IDR00 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200050H
IDR10 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200054H
IDR20 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200058H
IDR30 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
20005CH
IDR40 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200060H
IDR50 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200064H
IDR60 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200068H
IDR70 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
810
CAN 0
備考 :
CAN 0 ∼ CAN 1
のアドレス範囲
はチップ選択範
囲に依存します。
記述されている
アドレスはデ
フォルトの値で
あり , ブート
ROM の内容によ
り決定されます。
付録 A I/O マップ
レジスタ
アドレス
ブロック
+0
+1
+2
+3
20006CH
IDR80 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200070H
IDR90 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200074H
IDR100 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200078H
IDR110 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
20007CH
IDR120 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200080H
IDR130 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200084H
IDR140 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200088H
IDR150 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
20008CH
DLCR00 [R/W]
-------- ----XXXX
DLCR10 [R/W]
-------- ----XXXX
200090H
DLCR20 [R/W]
-------- ----XXXX
DLCR30 [R/W]
-------- ----XXXX
200094H
DLCR40 [R/W]
-------- ----XXXX
DLCR50 [R/W]
-------- ----XXXX
200098H
DLCR60 [R/W]
-------- ----XXXX
DLCR70 [R/W]
-------- ----XXXX
20009CH
DLCR80 [R/W]
-------- ----XXXX
DLCR90 [R/W]
-------- ----XXXX
2000A0H
DLCR100 [R/W]
-------- ----XXXX
DLCR110 [R/W]
-------- ----XXXX
2000A4H
DLCR120 [R/W]
-------- ----XXXX
DLCR130 [R/W]
-------- ----XXXX
2000A8H
DLCR140 [R/W]
-------- ----XXXX
DLCR150 [R/W]
-------- ----XXXX
2000ACH
DTR00 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
2000B4H
DTR10 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
2000BCH
DTR20 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
CAN 0
811
付録
レジスタ
アドレス
ブロック
+0
+1
+2
+3
2000C4H
DTR30 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
2000CCH
DTR40 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
2000D4H
DTR50 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
2000DCH
DTR60 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
2000E4H
DTR70 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
2000ECH
DTR80 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
2000F4H
DTR90 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
2000FCH
DTR100 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
200104H
DTR110 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
20010CH
DTR120 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
200114H
DTR130 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
20011CH
DTR140 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
200124H
DTR150 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
20012CH
CREG0 [R/W]
00000000 00000110
812
―――
CAN 0
付録 A I/O マップ
レジスタ
アドレス
ブロック
+0
+1
+2
+3
200200H
BVALR1 [R/W]
00000000 00000000
TREQR1 [R/W]
00000000 00000000
200204H
TCANR1 [W]
00000000 00000000
TCR1 [R/W]
00000000 00000000
200208H
RCR1 [R/W]
00000000 00000000
RRTRR1 [R/W]
00000000 00000000
20020CH
ROVRR1 [R/W]
00000000 00000000
RIER1 [R/W]
00000000 00000000
200210H
CSR1 [R/W]
00000000 00000001
200214H
RTEC1 [R]
00000000 00000000
BTR1 [R/W]
-1111111 11111111
200218H
IDER1 [R/W]
XXXXXXXX XXXXXXXX
TRTRR1 [R/W]
00000000 00000000
20021CH
RFWTR1 [R/W]
XXXXXXXX XXXXXXXX
TIER1 [R/W]
00000000 00000000
―――
LEIR1 [R/W]
000-0000
200220H
AMSR1 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
200224H
AMR01 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200228H
AMR11 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
20022CH
|
200248H
汎用 RAM [R/W]
20024CH
IDR01 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200250H
IDR11 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200254H
IDR21[R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200258H
IDR31 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX-
20025CH
IDR41 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200260H
IDR51 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200264H
IDR61 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
CAN 1
備考 :
CAN 0 ∼ CAN 1
のアドレス範囲
はチップ選択範
囲に依存します。
記述されている
アドレスはデ
フォルトの値で
あり , ブート
ROM の内容によ
り決定されます。
813
付録
レジスタ
アドレス
ブロック
+0
+1
+2
+3
200268H
IDR71 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
20026CH
IDR81 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200270H
IDR91 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200274H
IDR101 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200278H
IDR111 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
20027CH
IDR121 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXX---
200280H
IDR131 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200284H
IDR141 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
200288H
IDR151 [R/W]
XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX
20028CH
DLCR01 [R/W]
-------- ----XXXX
DLCR11 [R/W]
-------- ----XXXX
200290H
DLCR21 [R/W]
-------- ----XXXX
DLCR31 [R/W]
-------- ----XXXX
200294H
DLCR41 [R/W]
-------- ----XXXX
DLCR51 [R/W]
-------- ----XXXX
200298H
DLCR61 [R/W]
-------- ----XXXX
DLCR71 [R/W]
-------- ----XXXX
20029CH
DLCR81[R/W]
-------- ----XXXX
DLCR91 [R/W]
-------- ----XXXX
2002A0H
DLCR101 [R/W]
-------- ----XXXX
DLCR111 [R/W]
-------- ----XXXX
2002A4H
DLCR121 [R/W]
-------- ----XXXX
DLCR131 [R/W]
-------- ----XXXX
2002A8H
DLCR141 [R/W]
-------- ----XXXX
DLCR151 [R/W]
-------- ----XXXX
2002ACH
DTR01 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
2002B4H
DTR11 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
814
CAN 1
付録 A I/O マップ
レジスタ
アドレス
ブロック
+0
+1
+2
+3
2002BCH
DTR21 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
2002C4H
DTR31 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
2002CCH
DTR41 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
2002D4H
DTR51 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
2002DCH
DTR61 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
2002E4H
DTR71 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
2002ECH
DTR81 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
2002F4H
DTR91 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
2002FCH
DTR101 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
200304H
DTR111 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
20030CH
DTR121 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
200314H
DTR131 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
20031CH
DTR141 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
200324H
DTR151 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
20032CH
CREG1 [R/W]
00000000 00000110
CAN 1
―――
815
付録
付録 B
割込みベクタ
本付録では , 割込みベクタテーブルを一覧で示します。
割込みベクタテーブルでは , MB91360 シリーズの各割込みに割り当てられた割込み
ベクタ , および割込みコントロールレジスタを示しています。
■ 割込みベクタ
割込みレベル *1
割込み番号
割込み
10 進
6進
割込みベクタ *2
設定
レジスタ
レジスタ
アドレス
オフ
セット
デフォルトベク
タアドレス
RN
リセット
0
00
-
-
0x3FC
0x000FFFFC
-
モードベクタ
1
01
-
-
0x3F8
0x000FFFF8
-
システム予約
2
02
-
-
0x3F4
0x000FFFF4
-
システム予約
3
03
-
-
0x3F0
0x000FFFF0
-
システム予約
4
04
-
-
0x3EC
0x000FFFEC
-
システム予約
5
05
-
-
0x3E8
0x000FFFE8
-
システム予約
6
06
-
-
0x3E4
0x000FFFE4
-
コプロセッサフォルト
トラップ *4
7
07
-
-
0x3E0
0x000FFFE0
コプロセッサフォルト
トラップ *4
8
08
-
-
0x3DC
0x000FFFDC
INTE 命令 *4
9
09
-
-
0x3D8
0x000FFFD8
-
命令ブレーク例外 *4
10
0A
-
-
0x3D4
0x000FFFD4
-
オペランドブレークト
ラップ *4
11
0B
-
-
0x3D0
0x000FFFD0
ステップトレースト
ラップ *4
12
0C
-
-
0x3CC
0x000FFFCC
NMI 割込み ( ツール )
13
0D
-
-
0x3C8
0x000FFFC8
未定義の命令の例外
14
0E
-
-
0x3C4
0x000FFFC4
-
NMI 要求
15
0F
0x3C0
0x000FFFC0
-
外部割込み 0
16
10
ICR00
0x440
0x3BC
0x000FFFBC
4
外部割込み 1
17
11
ICR01
0x441
0x3B8
0x000FFFB8
5
*4
816
FH 固定
-
-
-
付録 B 割込みベクタ
割込み番号
割込み
10 進
6進
割込みレベル *1
割込みベクタ *2
設定
レジスタ
レジスタ
アドレス
オフ
セット
デフォルトベク
タアドレス
RN
外部割込み 2
18
12
ICR02
0x442
0x3B4
0x000FFFB4
8
外部割込み 3
19
13
ICR03
0x443
0x3B0
0x000FFFB0
9
外部割込み 4
20
14
ICR04
0x444
0x3AC
0x000FFFAC
-
外部割込み 5
21
15
ICR05
0x445
0x3A8
0x000FFFA8
-
外部割込み 6
22
16
ICR06
0x446
0x3A4
0x000FFFA4
-
外部割込み 7
23
17
ICR07
0x447
0x3A0
0x000FFFA0
-
リロードタイマ 0
24
18
ICR08
0x448
0x39C
0x000FFF9C
6
リロードタイマ 1
25
19
ICR09
0x449
0x398
0x000FFF98
7
リロードタイマ 2
26
1A
ICR10
0x44A
0x394
0x000FFF94
-
CAN 0 RX
27
1B
ICR11
0x44B
0x390
0x000FFF90
-
CAN 0 TX/NS
28
1C
ICR12
0x44C
0x38C
0x000FFF8C
-
CAN 1 RX
29
1D
ICR13
0x44D
0x388
0x000FFF88
-
CAN 1 TX/NS
30
1E
ICR14
0x44E
0x384
0x000FFF84
-
CAN 2 RX
31
1F
ICR15
0x44F
0x380
0x000FFF80
-
CAN 2 TX/NS
32
20
ICR16
0x450
0x37C
0x000FFF7C
-
CAN 3 RX *5
33
21
ICR17
0x451
0x378
0x000FFF78
-
CAN 3 TX/NS *5
34
22
ICR18
0x452
0x374
0x000FFF74
-
PPG 0/1
35
23
ICR19
0x453
0x370
0x000FFF70
-
PPG 2/3
36
24
ICR20
0x454
0x36C
0x000FFF6C
-
PPG 4/5
37
25
ICR21
0x455
0x368
0x000FFF68
-
PPG 6/7
38
26
ICR22
0x456
0x364
0x000FFF64
-
リロードタイマ 3
39
27
ICR23
0x457
0x360
0x000FFF60
-
リロードタイマ 4
40
28
ICR24
0x458
0x35C
0x000FFF5C
-
リロードタイマ 5
41
29
ICR25
0x459
0x358
0x000FFF58
-
ICU 0/1
42
2A
ICR26
0x45A
0x354
0x000FFF54
-
OCU 0/1
43
2B
ICR27
0x45B
0x350
0x000FFF50
-
ICU 2/3
44
2C
ICR28
0x45C
0x34C
0x000FFF4C
-
OCU 2/3
45
2D
ICR29
0x45D
0x348
0x000FFF48
-
ADC
46
2E
ICR30
0x45E
0x344
0x000FFF44
14
817
付録
割込みレベル *1
割込み番号
割込み
10 進
6進
割込みベクタ *2
設定
レジスタ
レジスタ
アドレス
オフ
セット
デフォルトベク
タアドレス
RN
タイムベース
オーバフロー
47
2F
ICR31
0x45F
0x340
0x000FFF40
フリーランカウンタ 0
48
30
ICR32
0x460
0x33C
0x000FFF3C
-
フリーランカウンタ 1
49
31
ICR33
0x461
0x338
0x000FFF38
-
SIO 0 *6
50
32
ICR34
0x462
0x334
0x000FFF34
12
SIO 1 *6
51
33
ICR35
0x463
0x330
0x000FFF30
15
サウンド生成器
52
34
ICR36
0x464
0x32C
0x000FFF2C
-
UART 0 RX
53
35
ICR37
0x465
0x328
0x000FFF28
0
UART 0 TX
54
36
ICR38
0x466
0x324
0x000FFF24
1
UART 1 RX
USART5 RX*7
55
37
ICR39
0x467
0x320
0x000FFF20
2*8
UART 1 TX
USART5 TX*7
56
38
ICR40
0x468
0x31C
0x000FFF1C
3*8
UART 2 RX
USART6 RX*7
57
39
ICR41
0x469
0x318
0x000FFF18
10*8
UART 2 TX
USART6 TX*7
58
3A
ICR42
0x46A
0x314
0x000FFF14
11*8
I2C
59
3B
ICR43
0x46B
0x310
0x000FFF10
13
アラーム比較器
60
3C
ICR44
0x46C
0x30C
0x000FFF0C
-
RTC
( ウォッチタイマ )/
補正ユニット
61
3D
ICR45
0x46D
0x308
0x000FFF08
DMA
62
3E
ICR46
0x46E
0x304
0x000FFF04
-
遅延割込み起動ビット
63
3F
ICR47
0x46F
0x300
0x000FFF00
-
システム予約 *3
64
40
-
-
0x2FC
0x000FFEFC
-
システム予約 *3
65
41
-
-
0x2F8
0x000FFEF8
-
システム予約
66
42
-
-
0x2F4
0x000FFEF4
-
システム予約
67
43
(ICR51)
0x473
0x2F0
0x000FFEF0
-
システム予約
68
44
(ICR52)
0x474
0x2EC
0x000FFEEC
-
システム予約
69
45
(ICR53)
0x475
0x2E8
0x000FFEE8
-
システム予約
70
46
(ICR54)
0x476
0x2E4
0x000FFEE4
-
システム予約
71
47
(ICR55)
0x477
0x2E0
0x000FFEE0
-
818
-
-
付録 B 割込みベクタ
割込みレベル *1
割込み番号
割込み
10 進
6進
割込みベクタ *2
設定
レジスタ
レジスタ
アドレス
オフ
セット
デフォルトベク
タアドレス
RN
システム予約
72
48
(ICR56)
0x478
0x2DC
0x000FFEDC
-
システム予約
73
49
(ICR57)
0x479
0x2D8
0x000FFED8
-
システム予約
74
4A
(ICR58)
0x47A
0x2D4
0x000FFED4
-
システム予約
75
4B
(ICR59)
0x47B
0x2D0
0x000FFED0
-
システム予約
76
4C
(ICR60)
0x47C
0x2CC
0x000FFECC
-
システム予約
77
4D
(ICR61)
0x47D
0x2C8
0x000FFEC8
-
システム予約
78
4E
(ICR62)
0x47E
0x2C4
0x000FFEC4
-
システム予約
79
4F
(ICR63)
0x47F
0x2C0
0x000FFEC0
-
INT 命令で使用
80 ∼
255
50 ∼
FF
-
-
0x2BC
∼
0x000
0x000FFEBC
∼
0x000FFC00
-
*1 : ICR は割込みコントローラ内にあり , 各割込み要求の割込みレベルを設定します。ICR は , 割込
み要求ごとに提供されます。
*2 : 各 EIT( 例外 , 割込み , またはトラップ ) に対するベクタアドレスは , 表示されているオフセッ
トをテーブルベースレジスタ値 (TBR) に加算することによって計算されます。TBR は EIT ベ
クトタテーブルの最上位を指定します。本テーブルに表示したアドレスは , デフォルトの TBR
値 (0x000FFC00) に対するものです。リセットによって , TBR はこの値に初期化されます。内
部ブート ROM の実行により , TBR は 0x00FFC00 に設定されます。
*3 : REALOS で使用。
*4 : システム予備。
*5 : MB91FV360GA でのみ使用可能。
*6 : SIO と DMA の間では , MB91F369GA のみ搭載されています。
*7 : MB91F364G では USART5/6, 他の製品では UART1/2
*8 : MB91F364G では USART と DMA の間で搭載されません。
【備考】
TBR で指定されるアドレスの 1K バイト領域は , EIT ベクタ領域です。
各ベクタは 4 バイトです。
次の式は , ベクタ番号とベクタアドレスの関係を示します。
vctadr = TBR + vctofs
= TBR + (3FCH - 4 × vct)
vctadr : ベクタアドレス
vctofs : ベクタオフセット
vct : ベクタ番号
819
付録
付録 C
CPU の各状態における端子の状態
本付録では , 次の項目について説明します。
• データバスとメモリ動作モード
• 端子状態の表で使用する用語
• CPU の各状態における端子の状態
■ データバスとメモリ動作モード
本付録では , 次のモードの端子状態について説明します。
内部 ROM モード , 32 ビットデータバス
■ 端子状態の表で使用する用語
次に , 表 C-1 および表 C-2 に , 表 C-3 で使用する主な用語について説明します。
詳細は表 C-3 を参照してください。
● 動作モードの用語
表 C-1 動作モードの用語 (1 / 2)
用語
説明
スリープモード
STCR レジスタの SLEEP ビットに "1" を書き込むと , デバイスはスリープモー
ドに設定されます (STOP ビットは "0")。
STCR : クロックコントローラのスタンバイ制御レジスタ
停止モード
(HIZ=0)
HIZ=0 のときに , STCR レジスタの STOP ビットに "1" を書き込むと , デバイ
スは停止モードに設定されます。停止モードでは , 出力端子は , 停止モードに
入る前の状態を保持します。入力端子は "0" 固定です。
停止モード
(HIZ=1)
HIZ=1 のときに , STCR レジスタの STOP ビットに "1" を書き込むと , デバイ
スは停止モードに設定されます。停止モードでは , I/O 端子はハイインピーダ
ンスになります ( 初期値 )。入力端子は "0" に固定です。
RTC モード
STCR レジスタのビット OSCD1 が "0" のときに , STCR レジスタの STOP ビッ
トに "1" を書き込むと , デバイスは RTC モードに設定されます。このモード
では , 選択された発振器はまだ動作中であり , リアルタイムクロック (RTC) を
動作させることができます。端子状態は停止モードと同じです。
バス解放
(BGRNTX=0)
PFR8 レジスタの bit2 が "1" のときは , BRQ 入力が可能です。この場合 , BRQ
端子に "H" レベルの信号を入力すると , 外部バスが解放され BGRNTX 端子か
ら "L" レベルの信号が出力されます。
設定初期化
リセット (INIT)
次の条件で INIT リセットがトリガされます。
1. 外部リセット端子 (INITX) からの入力
2. ハードウェアスタンバイの解除
3. ウォッチドッグタイマのタイムアウト
4. パワーダウンリセット
820
付録 C CPU の各状態における端子の状態
表 C-1 動作モードの用語 (2 / 2)
用語
説明
動作初期化
リセット (RST)
次の条件で RST リセットがトリガされます。
1. 外部リセット端子 (RSTX, MB91FV360GA 以外では使用不可 ) からの入力
2. ソフトウェアリセット
- STCR レジスタの SRST ビットを "1" に設定
ハードウェア
スタンバイ
HSTX 入力端子に "L" レベルが適用されている間 , 発振は停止し , すべての
I/O 端子はハイインピーダンスに移行します。入力は "0" 固定です。
● 動作状態の用語
表 C-2 動作状態の用語
用語
説明
入力可
入力機能が使用可能な状態です。
入力 0 固定
端子の入力ゲートで外部入力を遮断し , 入力状態が内部的に "0" に固定されて
います。
出力 Hi-Z
端子駆動用トランジスタが禁止状態で , 端子はハイインピーダンスになりま
す。
出力保持
この指定されたモードになる直前に , 端子が出力していた状態をそのまま出力
することを示します。つまり , 停止していない内部の周辺機器からの出力は ,
内部の周辺機器の制御により動作を続けます。ポート出力の端子一式は , 出力
の状態を維持します。
直前の状態を保持
出力端子については , 指定されたモードになる前の出力状態を維持します。入
力端子については , 入力可能な状態のままになります。
821
付録
■ CPU の各状態における端子の状態
表 C-3 CPU の各状態における端子の状態 (1 / 3)
端子の機能
ポート
スリープ
モード
HIZ=0
機能
D0 ∼ D7
D8 ∼ D15
D16 ∼
D23
D24 ∼
D31
停止モード /
RTC モード
前の状態
を保持
INIT
リセット
RST
リセット
ハード
ウェアス
タンバイ
バス解放
(BGRNTX=0)
HIZ=1
出力保持 / 出力 Hi-Z/ 出力 Hi-Z/
入力 0 固 入力 0 固 入力許可
( ただし初
定
定
期状態の
詳細につ
いては I/O
ポートの
章を参照 )
前の状態 出力 Hi-Z/ 出力 Hi-Z/
を保持
入力 0 固 入力許可
( ただし初 定
期状態の
詳細につ
いては I/O
ポートの
章を参照 )
A0 ∼ A7
A8 ∼ A15
A16 ∼
A20
( ∼ A23)
P70 ∼ P72 A24 ∼
A26
P73
DREQ2
P74 ∼ P76 CS4X ∼
CS6X
CS7X
RDY
P81
BGRNTX
"L"
P82
BRQ
"H"
RDX
出力 Hi-Z/
入力許可
WR0X ∼
WR3X
P90
AS
P91
ALE
P93
CLK
クロック
アウト
AH/BOOT
前の状態
P94 ∼ P97 CS0X ∼
CS3X
822
Hi-Z 出力
付録 C CPU の各状態における端子の状態
表 C-3 CPU の各状態における端子の状態 (2 / 3)
端子の機能
ポート
スリープ
モード
HIZ=0
機能
PB0
DREQ0
PB1
DACK0
PB2
DEOP0
PB3
DREQ1
PB4
DACK1
PB5
DEOP1
PB6
DACK2
PB7
DEOP2
PG0 ∼
PG7
AN8 ∼
AN15
PH0 ∼
PH7
AN0 ∼
AN7
停止モード /
RTC モード
前の状態
を保持
INIT
リセット
RST
リセット
ハード
ウェアス
タンバイ
バス解放
(BGRNTX=0)
HIZ=1
出力保持 / Hi-Z 出力 / Hi-Z 出力 /
入力 0 固 入力 0 固 入力許可
( ただし初
定
定
期状態の
詳細につ
いては I/O
ポートの
章を参照 )
Hi-Z 出力 /
入力許可
( ポート
モード )
前の状態 Hi-Z 出力 / 前の状態を保
を保持
入力 0 固 持
( ただし初 定
期状態の
詳細につ
いては I/O
ポートの
章を参照 )
Hi-Z 出力 /
入力許可
( ポート
モード )
DA0, DA1
PI3
ATGX
PJ0 ∼ PJ7
LED0 ∼
LED7
PK0 ∼
PK7
INT0 ∼
INT7
PL0 ∼ PL3 IN0 ∼ IN3
PL4 ∼ PL7 OUT0 ∼
OUT3
PM0
SGO
PM1
SGA
PM2
SDA
PM3
SCL
PN0
SOT4
PN1
SIN4
PN2
SCK4
PN3
SIN3
PN4
SOT3
PN5
SCK3
PO0 ∼
PO7
OCPA0 ∼
OCPA7
入力許可
入力許可
入力許可
Hi-Z 出力 /
入力 0 固
定
出力保持 / Hi-Z 出力 /
入力 0 固 入力 0 固
定
定
Hi-Z 出力 /
入力許可
( ただし初
期状態の
詳細につ
いては I/O
ポートの
章を参照 )
Hi-Z 出力 /
入力許可
( ただし初
期状態の
詳細につ
いては I/O
ポートの
章を参照 )
823
付録
表 C-3 CPU の各状態における端子の状態 (3 / 3)
端子の機能
ポート
スリープ
モード
停止モード /
RTC モード
HIZ=0
機能
PP0
TX0
PP1
RX0
PP2
TX1
PP3
RX1
PP4
TX2
PP5
RX2
PP6
TX3
PP7
RX3
PQ0
SIN0
PQ1
SOT0
PQ2
SIN1
PQ3
SOT1
PQ4
SIN2
PQ5
SOT2
PR0 ∼
PR7
SMC0,
SMC1
前の状態
を保持
INIT
リセット
RST
リセット
ハード
ウェアス
タンバイ
バス解放
(BGRNTX=0)
HIZ=1
出力保持 / Hi-Z 出力 / Hi-Z 出力 /
入力 0 固 入力 0 固 入力許可
( ただし初
定
定
期状態の
詳細につ
いては I/O
ポートの
章を参照 )
Hi-Z 出力 / Hi-Z 出力 / 前の状態を保
入力許可 入力 0 固 持
( ただし初 定
期状態の
詳細につ
いては I/O
ポートの
章を参照 )
PS0 ∼ PS7 SMC2,
SMC3
MB91FV360GA, MB91F362GB, MB91F369GA 以外 :
PFR が "1" に設定されている場合 , 次の端子は , HIZ=1 またはハードウェアスタンバイ
のとき , ストップモードまたは RTC モードでは自動的に Hi-Z 状態になりません。
824
リソース
ポート
対象端子
I 2C
M
SDA, SCL
I2C バスがアクティブローの
動作時のみ
SIO
N
SOT4, SCK4, SOT3, SCK3
SCK3, SCK4 は , 出力時のみ
CAN
P
TX0, TX1, TX2, TX3
UART
Q
SOT2, SOT1, SOT0
SMC
R, S
PWM1P0 から PWM1P3,
PWM2P0 から PWM2P3,
PWM1M0 から PWM1M3,
PWM2M0 から PWM2M3
備考
PWM1/2 選択レジスタの設定
が Hiz モード時のみ
付録 D 命令
付録 D
命令
本付録では , FR50 ファミリの命令を示します。
命令の一覧を示す前に , 以下の項目を説明します。
• 命令一覧の読み方
• アドレッシング指定モードの記号
• FR50 ファミリ命令のワード形式
825
付録
D.1
命令一覧
ここでは , 命令一覧を示します。
■ 命令一覧の読み方
ニーモニック
クラス
OP
サイクル
NZVC
動作
Rj ,
#s 5,
A
C'
A6
A4
1
1
CCCC
CCCC
Ri + Rj → Ri
Ri + s5 → Ri
・
・
・
・
・
・
・
・
・
・
(3)
(4)
(5)
(6)
(7)
ADD
*ADD
Ri
Ri
・
・
(1)
(1)
(2)
(3)
(4)
(5)
(6)
(2)
826
ー
ー
命令名が示されています。
ニーモニック左側の*印(アスタリスク)は,CPU仕様にはなくアセンブラで命令を拡張,
または追加した拡張命令です。
オペランドに指定可能なアドレス指定モードが,記号で示されています。
記号の意味は,「アドレス指定モードの記号」を参照してください。
命令のワード形式のクラス名が示されています。
命令ワード形式の詳細については,「FRファミリ命令のワード形式」を参照してくださ
い。
命令コードが16進数表示されています。
マシンサイクル数を表しています。
a: メモリアクセスサイクルであり,Ready 機能により拡張できます。
b: メモリアクセスサイクルであり,Ready 機能により拡張できます。
ただし,LD動作の対象となるレジスタを直後の命令が参照する場合には,インターロ
ックがかかり,実行サイクル数が+1増加します。
c: 直後の命令が,R15,SSP,またはUSPに対し読出しあるいは書込みを行う命令である
場合,あるいは命令ワード形式Aの命令である場合,インターロックがかかり,実行
サイクル数は+1増加して2となります。
d: 直後の命令がMDH,またはMDLを参照する場合,インターロックがかかり,実行サイク
ル数は+1増加します(計2サイクル)。
a,b,c,dとも最小値は1サイクルです。
フラグ変化を表しています。
C
0
1
(7)
備考
フラグ変化
: 変化する
: 変化しない
: クリア
: セット
命令の動作を表しています。
N
Z
V
C
:
:
:
:
フラグの意味
ネガティブフラグ
ゼロフラグ
オーバーフラグ
キャリーフラグ
付録 D 命令
■ アドレッシングモードの記号
表 D.1-1 アドレッシングモードの記号の説明 (1 / 2)
記号
説明
Ri
レジスタ直接 (R0 ∼ R15, AC, FP, SP)
Rj
レジスタ直接 (R0 ∼ R15, AC, FP, SP)
R13
レジスタ直接 (R13, AC)
PS
レジスタ直接 ( プログラムステータスレジスタ )
Rs
レジスタ直接 (TBR, RP, SSP, USP, MDH, MDL)
CRi
レジスタ直接に (CR0 ∼ CR15)
CRj
レジスタ直接 (CR0 ∼ CR15)
#i8
符号なし 8 ビット即値 (-128 ∼ 255), -128 ∼ -1 は , 128 ∼ 255 として扱います。
#i20
符号なし 20 ビット即値 (-0X80000 ∼ 0XFFFFF), -0X7FFFF ∼ -1 は , 0X7FFFF ∼
0XFFFFF として扱います。
#i32
符号なし 32 ビット即値 (-0X80000000 ∼ 0XFFFFFFFF), -0X80000000 ∼ -1 は ,
0X80000000 ∼ 0XFFFFFFFF として扱います。
#s5
符号付き 5 ビット即値 (-16 ∼ 15)
#s10
符号付き 10 ビット即値 (-512 ∼ 508, 4 の倍数のみ )
#u4
符号なし 4 ビット即値 (0 ∼ 15)
#u5
符号なし 5 ビット即値 (0 ∼ 31)
#u8
符号なし 8 ビット即値 (0 ∼ 255)
#u10
符号なし 10 ビット即値 (0 ∼ 1020, 4 の倍数のみ )
@dir8
符号なし 8 ビット直接アドレス (0 ∼ 0XFF)
@dir9
符号なし 9 ビット直接アドレス (0 ∼ 0X1FE, 2 の倍数のみ )
@dir10
符号なし 10 ビット直接アドレス (0 ∼ 0X3FC, 4 の倍数のみ )
Label9
符号付き 9 ビット分岐アドレス (-0X100 ∼ 0XFC, 2 の倍数のみ )
Label12
符号付き 12 ビット分岐アドレス (-0X800 ∼ 0X7FC, 2 の倍数のみ )
Label20
符号付き 20 ビット分岐アドレス (-0X80000 ∼ 0X7FFFF)
Label32
符号付き 32 ビット分岐アドレス (-0X80000000 ∼ 0X7FFFFFFF)
@Ri
レジスタ間接 (R0 ∼ R15, AC, FP, SP)
@Rj
レジスタ間接 (R0 ∼ R15, AC, FP, SP)
@(R13,Rj)
レジスタ相対間接 (Rj: R0 ∼ R15, AC, FP, SP)
@(R14,disp10)
レジスタ相対間接 (disp10: -0X200 ∼ 0X1FC, 4 の倍数のみ )
@(R14,disp9)
レジスタ相対間接 (disp9: -0X100 ∼ 0XFE, 2 の倍数のみ )
827
付録
表 D.1-1 アドレッシングモードの記号の説明 (2 / 2)
記号
説明
@(R14,disp8)
レジスタ相対間接 (disp8: -0X80 ∼ 0X7F)
@(R15,udisp6)
レジスタ相対間接 (udisp6: 0 ∼ 60, 4 の倍数のみ )
@Ri+
@R13+
ポストインクリメント付きレジスタ間接レジスタ (R13(AC))
@SP+
スタックポップ
@-SP
スタックプッシュ
(reglist)
828
ポストインクリメント付きレジスタ間接 (R0 ∼ R12, R13(AC), R14(FP), R15(SP))
レジスタリスト
付録 D 命令
■ FR50 ファミリ命令のワード形式
表 D.1-2 FR50 ファミリ命令のワード形式
種類
命令フォーマット
MSB
LSB
16 ビット
A
B
OP
Rj
Ri
8
4
4
OP
i8/o8
Ri
4
8
4
C
OP
u4/m4/i4
Ri
8
4
4
ADD, ADDN, CMP, LSL, LSR, ASR 命令のみ
C’
D
E
F
OP
s5/u5
Ri
7
5
4
OP
u8/rel8/dir/reglist
8
8
OP
SUB-OP
Ri
8
4
4
OP
rel11
5
11
829
付録
D.2
FR50 ファミリの命令
ここでは , FR50 ファミリの命令を一覧で示します。
■ 加減算命令
表 D.2-1 加減算命令
ニーモニック
型
OP
サイクル
NZVC
動作
備考
ADD
Rj,
Ri
A
A6
1
CCCC
Ri + Rj → Ri
*
#s5,
Ri
C'
A4
1
CCCC
Ri + s5 → Ri
アセンブラでは , MSB を
符号と見なす。
ADD
#u4,
Ri
C
A4
1
CCCC
Ri + extu(i4) → Ri
ゼロ拡張
ADD2
#u4,
Ri
C
A5
1
CCCC
Ri + extn(i4) → Ri
マイナス拡張
ADDC
Rj,
Ri
A
A7
1
CCCC
Ri + Rj + c → Ri
キャリー付き加算
ADDN
Rj,
Ri
A
A2
1
----
Ri + Rj → Ri
*ADDN
#s5,
Ri
C'
A0
1
----
Ri + s5 → Ri
アセンブラでは , MSB を
符号と見なす。
ADDN
#u4,
Ri
C
A0
1
----
Ri + extu(i4) → Ri
ゼロ拡張
ADDN2
#u4,
Ri
C
A1
1
----
Ri + extn(i4) → Ri
マイナス拡張
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
----
型
OP
サイクル
NZVC
ADD
キャリー付き減算
Ri - Rj → Ri
■ 比較命令
表 D.2-2 比較命令
ニーモニック
動作
備考
CMP
Rj,
Ri
A
AA
1
CCCC
Ri - Rj
*CMP
#s5,
Ri
C'
A8
1
CCCC
Ri - s5
アセンブラでは , MSB を
符号と見なす。
CMP
#u4,
Ri
C
A8
1
CCCC
Ri - extu(i4)
ゼロ拡張
CMP2
#u4,
Ri
C
A9
1
CCCC
Ri - extn(i4)
マイナス拡張
830
付録 D 命令
■ 論理演算命令
表 D.2-3 論理演算命令
ニーモニック
型
OP
サイクル
NZVC
動作
備考
AND
Rj,
Ri
A
82
1
CC--
Ri &= Rj
ワード
AND
Rj,
@Ri
A
84
1+2a
CC--
(Ri) &= Rj
ワード
ANDH
Rj,
@Ri
A
85
1+2a
CC--
(Ri) &= Rj
ハーフワード
ANDB
Rj,
@Ri
A
86
1+2a
CC--
(Ri) &= Rj
バイト
OR
Rj,
Ri
A
92
1
CC--
Ri | = Rj
ワード
OR
Rj,
@Ri
A
94
1+2a
CC--
(Ri) | = Rj
ワード
ORH
Rj,
@Ri
A
95
1+2a
CC--
(Ri) | = Rj
ハーフワード
ORB
Rj,
@Ri
A
96
1+2a
CC--
(Ri) | = Rj
バイト
EOR
Rj,
Ri
A
9A
1
CC--
Ri ^ = Rj
ワード
EOR
Rj,
@Ri
A
9C
1+2a
CC--
(Ri) ^ = Rj
ワード
EORH
Rj,
@Ri
A
9D
1+2a
CC--
(Ri) ^ = Rj
ハーフワード
EORB
Rj,
@Ri
A
9E
1+2a
CC--
(Ri) ^ = Rj
バイト
831
付録
■ ビット操作命令
表 D.2-4 ビット操作命令
ニーモニック
型
OP
サイクル
NZVC
動作
備考
BANDL
#u4,
@Ri
C
80
1+2a
----
(Ri)&=(0xF0+u4)
下位 4 ビットを操作
BANDH
#u4,
@Ri
C
81
1+2a
----
(Ri)&=((u4<<4)+0x0F)
上位 4 ビットを操作
*BAND
#u8,
@Ri
----
(Ri)&=u8
BORL
#u4,
@Ri
C
90
1+2a
----
(Ri) | = u4
下位 4 ビットを操作
BORH
#u4,
@Ri
C
91
1+2a
----
(Ri) | = (u4<<4)
上位 4 ビットを操作
*BOR
#u8,
@Ri
----
(Ri) | = u8
BEORL
#u4,
@Ri
C
98
1+2a
----
(Ri) ^ = u4
下位 4 ビットを操作
BEORH
#u4,
@Ri
C
99
1+2a
----
(Ri) ^ = (u4<<4)
上位 4 ビットを操作
*BEOR
#u8,
@Ri
----
(Ri) ^ = u8
BTSTL
#u4,
@Ri
C
88
2+a
0C--
(Ri) & u4
下位 4 ビットをテスト
BTSTH
#u4,
@Ri
C
89
2+a
CC--
(Ri) & (u4<<4)
上位 4 ビットをテスト
*1
*2
*3
*1 : アセンブラは , u8&0x0F でビットが立っていれば BANDL を発生し , u8&0xF0 でビットが立って
いれば BANDH を発生します。BANDL と BANDH の両方が発生する場合もあります。
*2 : アセンブラは , u8&0x0F でビットが立っていれば BORL を発生し , u8&0xF0 でビットが立ってい
れば BORH を発生します。BORL と BORH の両方が発生する場合もあります。
*3 : アセンブラは , u8&0x0F でビットが立っていれば BEORL を発生し , u8&0xF0 でビットが立って
いれば BEORH を発生します。BEORL と BEORH の両方が発生する場合もあります。
■ 乗除算命令
表 D.2-5 乗除算作命令 (1 / 2)
ニーモニック
型
OP
サイクル
NZVC
動作
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
A
BB
3
CC--
Ri * Rj → MDL
832
備考
32 ビット *32 ビット =
64 ビット
符号なし
16 ビット *16 ビット =
32 ビット
符号なし
付録 D 命令
表 D.2-5 乗除算作命令 (2 / 2)
ニーモニック
型
OP
サイクル
NZVC
動作
備考
DIV0S
Ri
E
97-4
1
----
DIV0U
Ri
E
97-5
1
----
DIV1
Ri
E
97-6
d
-C-C
DIV2
Ri
E
97-7
1
-C-C
DIV3
E
9F-6
1
----
DIV4S
E
9F-7
1
----
Ri
36
-C-C
MDL / Ri → MDL, MDL % Ri → MDH
Ri
33
-C-C
MDL / Ri → MDL, MDL % Ri → MDH
*DIV
ステップ演算
32 ビット /32 ビット =32
ビット
*1
*DIVU
*2
*1 : DIV0S, DIV1 × 32, DIV2, DIV3, DIV4S を発生します。命令コード長は 72 バイトとなります。
*2 : DIV0U, DIV1 × 32 を発生します。命令コード長は 66 バイトとなります。
■ シフト命令
表 D.2-6 シフト命令
ニーモニック
型
OP
サイクル
NZVC
動作
LSL
Rj,
Ri
A
B6
1
CC-C
Ri << Rj → Ri
*LSL
#u5,
Ri (u5:0 ∼ 31)
C'
B4
1
CC-C
Ri << u5 → 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
#u5,
Ri (u5:0 ∼ 31)
C'
B0
1
CC-C
Ri >> u5 → 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
*
#u5,
Ri (u5:0 ∼ 31)
C'
B8
1
CC-C
Ri >> u5 → Ri
ASR
#u4,
Ri
C
B8
1
CC-C
Ri >> u4 → Ri
*ASR2
#u4,
Ri
C
B9
1
CC-C
Ri >>(u4+16) → Ri
備考
論理シフト
論理シフト
ASR
算術シフト
833
付録
■ 即値セット /16 ビット /32 ビット即値転送命令
表 D.2-7 即値セット /16 ビット /32 ビット即値転送命令
ニーモニック
型
OP
サイクル NZVC
動作
LDI:32
#i32, Ri
E
9F-8
3
----
i32 → Ri
LDI:20
#i20, Ri
C
9B
2
----
i20 → Ri
LDI:8
#i8,
B
C
1
----
i8 → Ri
*
# {i8 | i20 | i32}, Ri
LDI
Ri
備考
上位 12 ビットはゼ
ロ拡張
上位 24 ビットはゼ
ロ拡張
{i8 | i20 | i32} → Ri
*1
*1 : 即値が絶対値の場合は , i8, i20, i32 の選択はアセンブラが自動的に行います。即値が相対値 , ま
たは外部参照シンボルを含む場合は , アセンブラは i32 が選択されます。
■ メモリロード命令
表 D.2-8 メモリロード命令
ニーモニック
型
OP
サイクル NZVC
動作
備考
LD
@Rj, Ri
A
04
b
----
(Rj) → Ri
LD
@(R13,Rj), Ri
A
00
b
----
(R13+Rj) → Ri
LD
@(R14,disp10), Ri
B
2
b
----
(R14+disp10) → Ri
LD
@(R15,udisp6), Ri
C
03
b
----
(R15+udisp6) → Ri
LD
@R15+, Ri
E
07-0
b
----
(R15) → Ri,R15+=4
LD
@R15+, Rs
E
07-8
b
----
LD
@R15+, PS
E
07-9
1+a+c
LDUH
@Rj, Ri
A
05
b
----
(Rj) → Ri
ゼロ拡張
LDUH
@(R13,Rj), Ri
A
01
b
----
(R13+Rj) → Ri
ゼロ拡張
LDUH
@(R14,disp9), Ri
B
4
b
----
(R14+disp9) → Ri
ゼロ拡張
LDUB
@Rj, Ri
A
06
b
----
(Rj) → Ri
ゼロ拡張
LDUB
@(R13,Rj), Ri
A
02
b
----
(R13+Rj) → Ri
ゼロ拡張
LDUB
@(R14,disp8), Ri
B
6
b
----
(R14+disp8) → Ri
ゼロ拡張
(R15) → Rs,R15+=4 Rs : 特殊レジスタ
*
CCCC (R15) → PS,R15+=4
* :ハード仕様の o8, o4 のフィールドには , 次のようにアセンブラが計算して値を設定します。
disp10/4 → o8, disp9/2 → o8, disp8 → o8 disp10, disp9, disp8 は符号付き , udisp6/4 → o4 udisp6 は符号
なし。
834
付録 D 命令
■ メモリストア命令
表 D.2-9 メモリストア命令
ニーモニック
型
OP
サイクル
NZVC
動作
備考
ST Ri,
@Rj
A
14
a
----
Ri → (Rj)
ワード
ST Ri,
@(R13,Rj)
A
10
a
----
Ri → (R13+Rj)
ワード
ST Ri,
@(R14,disp10)
B
3
a
----
Ri → (R14+disp10)
ワード
ST Ri,
@(R15,udisp6)
C
13
a
----
(Ri → (R15+udisp6)
ST Ri,
@-R15
E
17-0
a
----
R15 − =4,Ri → (R15)
ST Rs,
@-R15
E
17-8
a
----
ST PS,
@-R15
E
17-9
a
----
R15 − =4,Rs → (R15) Rs : 特殊レジスタ
*
R15 − =4,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
5
a
----
Ri → (R14+disp9)
ハーフワード
STB Ri,
@Rj
A
16
a
----
Ri → (Rj)
バイト
STB Ri,
@(R13,Rj)
A
12
a
----
Ri → (R13+Rj)
バイト
STB Ri,
@(R14,disp8)
B
7
a
----
Ri → (R14+disp8)
バイト
* :ハード仕様の o8, o4 のフィールドには , 次のようにアセンブラが計算して値を設定します。
disp10/4 → o8, disp9/2 → o8, disp8 → o8 disp10, disp9, disp8 は符号付き , udisp6/4 → o4 udisp6 は , 符
号なし。
■ レジスタ間転送命令
表 D.2-10 レジスタ間転送命令
ニーモニック
型
OP
サイクル
NZVC
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
MOV
Ri,
PS
E
07-1
c
CCCC
Ri → PS
動作
備考
* : 特殊レジスタ Rs : TBR, RP, USP, SSP, MDH, MDL
835
付録
■ 通常分岐命令 ( 遅延なし )
表 D.2-11 通常分岐命令 ( 遅延なし )
ニーモニック
型
OP
サイクル
NZVC
動作
備考
JMP
@Ri
E
97-0
2
----
Ri → PC
CALL
label12
F
D0
2
----
PC+2 → RP, PC+2+(label12-PC-2) → PC
CALL
@Ri
E
97-1
2
----
PC+2 → RP, Ri → PC
E
97-2
2
----
RP → PC
D
1F
3+3a
----
SSP - =4,PS → (SSP),SSP - =4,PC+2 → (SSP),
0 → I フラグ , 0 → S フラグ , (TBR+0x3FC-u8 × 4)
→ PC
INTE
E
9F-3
3+3a
----
SSP - =4,PS → (SSP),SSP - =4,PC+2 → (SSP),
0 → S フラグ , (TBR+0x3D8) → PC
エミュレータで使用される
RETI
E
97-3
2+2a
CCCC
(R15) → PC, R15+ =4, (R15) → PS, R15+ =4
RET
INT
#u8
BRA
label9
D
E0
2
----
PC+2+(label9-PC-2) → PC
BNO
label9
D
E1
1
----
非分岐
BEQ
label9
D
E2
2/1
----
(Z==1) ならば
PC+2+(label9-PC-2) → PC
BNE
label9
D
E3
2/1
----
↑ s/Z==0
BC
label9
D
E4
2/1
----
↑ s/C==1
BNC
label9
D
E5
2/1
----
↑ s/C==0
BN
label9
D
E6
2/1
----
↑ s/N==1
BP
label9
D
E7
2/1
----
↑ s/N==0
BV
label9
D
E8
2/1
----
↑ s/V==1
BNV
label9
D
E9
2/1
----
↑ s/V==0
BLT
label9
D
EA
2/1
----
↑ s/V xor N==1
BGE
label9
D
EB
2/1
----
↑ s/V xor N==0
BLE
label9
D
EC
2/1
----
↑ s/(V xor N) , または Z==1
BGT
label9
D
ED
2/1
----
↑ s/(V xor N) , または Z==0
BLS
label9
D
EE
2/1
----
↑ s/C , または Z==1
BHI
label9
D
EF
2/1
----
↑ s/C , または Z==0
リターン
( 注意事項 )・ サイクル数の「2/1」は , 分岐する場合 2, 分岐しない場合 1 であることを意味します。
・ ハード仕様の rel11, rel8 のフィールドには , 次のようにアセンブラが計算して値を設定
します。
(label12-PC-2)/2 → rel11, (label9-PC-2)/2 → rel8 label12 label9 は符号付き。
836
付録 D 命令
■ 遅延分岐命令
表 D.2-12 遅延分岐命令
ニーモニック
型
OP
サイクル
NZVC
動作
備考
JMP:D
@Ri
E
9F-0
1
----
Ri → PC
CALL:D
label12
F
D8
1
----
PC+4 → RP, PC+2+(label12-PC-2) → PC
CALL:D
@Ri
E
9F-1
1
----
PC+4 → RP, Ri → PC
E
9F-2
1
----
RP → PC
RET:D
BRA:D
label9
D
F0
1
----
PC+2+(label9-PC-2) → PC
BNO:D
label9
D
F1
1
----
非分岐
BEQ:D
label9
D
F2
1
----
(Z==1) ならば
PC+2+(label9-PC-2) → PC
BNE:D
label9
D
F3
1
----
↑ s/Z==0
BC:D
label9
D
F4
1
----
↑ s/C==1
BNC:D
label9
D
F5
1
----
↑ s/C==0
BN:D
label9
D
F6
1
----
↑ s/N==1
BP:D
label9
D
F7
1
----
↑ s/N==0
BV:D
label9
D
F8
1
----
↑ s/V==1
BNV:D
label9
D
F9
1
----
↑ s/V==0
BLT:D
label9
D
FA
1
----
↑ s/V xor N==1
BGE:D
label9
D
FB
1
----
↑ s/V xor N==0
BLE:D
label9
D
FC
1
----
↑ s/(V xor N) , または Z==1
BGT:D
label9
D
FD
1
----
↑ s/(V xor N) , または Z==0
BLS:D
label9
D
FE
1
----
↑ s/C , または Z==1
BHI:D
label9
D
FF
1
----
↑ s/C , または Z==0
リターン
( 注意事項 )・ハード仕様の rel11, rel8 のフィールドには , 次のようにアセンブラが計算して値を設
定します。
(label12-PC-2)/2 → rel11, (label9-PC-2)/2 → rel8 label12 label9 は符号付き。
・遅延分岐命令では , 必ず次の命令 ( 遅延スロット ) を実行してから分岐します。
・遅延スロットに置くことができる命令は , 1 サイクル命令です。複数サイクル命令を
置くことはできません。
837
付録
■ その他の命令
表 D.2-13 その他の命令
型
OP
サイクル
NZVC
NOP
E
9F-A
1
----
ANDCCR #u8
D
83
c
CCCC
CCR and u8 → CCR
ORCCR
#u8
D
93
c
CCCC
CCR , or u8 → CCR
STILM
#u8
D
87
1
----
i8 → ILM
ILM 即値設定
ADDSP
#s10
D
A3
1
----
R15 += s10
ADD SP 命令 *1
EXTSB
Ri
E
97-8
1
----
符号拡張 8 → 32 ビット
EXTUB
Ri
E
97-9
1
----
ゼロ拡張 8 → 32 ビット
EXTSH
Ri
E
97-A
1
----
符号拡張 16 → 32 ビット
EXTUH
Ri
E
97-B
1
----
ゼロ拡張 16 → 32 ビット
LDM0
(reglist)
D
8C
----
(R15) → reglist,
R15 インクリメント
マルチロード R0 から R7
LDM1
(reglist)
D
8D
----
(R15) → reglist,
R15 インクリメント
マルチロード R8 から R15
*LDM
(reglist)
----
(R15) → reglist,
R15 インクリメント
マルチロード R0 から R15
*2
STM0
(reglist)
D
8E
----
R15 デクリメント
Reglist → (R15)
マルチストア R0 から R7
STM1
(reglist)
D
8F
----
R15 デクリメント
Reglist → (R15)
マルチストア R8 から R15
*STM
(reglist)
----
R15 デクリメント
Reglist → (R15)
マルチストア R0 から R15
*3
ENTER
#u10
ニーモニック
LEAVE
XCHB
@Rj, Ri
動作
備考
変化なし
D
0F
1+a
----
R14 → (R15-4),
R15-4 → R14,
R15-u10 → R15
関数の入口処理 *4
E
9F-9
b
----
R14+4 → R15,
(R15-4) → R14
関数の出口処理
A
8A
2a
----
Ri → TEMP
(Rj) → Ri
TEMP → (Rj)
セマフォ管理用
バイトデータ
*1: アセンブラは , s10/4 を計算して s8 にして値を設定します。s10 は符号付き。
*2: reglist で , R0 ∼ R7 のいずれかの指定があれば LDM0 を生成し , R8 ∼ R15 のいずれかの指定があれば LDM1
を生成します。LDM0 と LDM1 の両方が生成する場合もあります。
(LDM0 (reglist) , LDM1 (reglist) の実行サイクル数は , 指定されたレジスタ数が n の場合 , a*(n-1)+b+1
サイクルとなります。
*3: reglist で , R0 ∼ R7 のいずれかの指定があれば STM0 を生成し , R8 ∼ R15 のいずれかの指定があれば STM1
を生成します。STM1 と STM0 の両方が生成する場合もあります。
STM0 (reglist), STM1 (reglist) の実行サイクル数は , 指定されたレジスタ数が n の場合 , a*n+1 サイクルとなり
ます。
*4: アセンブラは , u10/4 を計算して u8 にして値を設定します。u10 は符号なし。
838
付録 D 命令
■ 20 ビット通常分岐マクロ命令
表 D.2-14 20 ビット通常分岐マクロ命令
ニーモニック
動作
備考
*
CALL20
label20,Ri
次の命令のアドレス → RP, label20 → PC
Ri: テンポラリレジスタ *1
*
BRA20
label20,Ri
Label20 → PC
Ri: テンポラリレジスタ *2
*
BEQ20
label20,Ri
(Z==1) ならば label20 → PC
Ri: テンポラリレジスタ *3
*
BNE20
label20,Ri
↑ s/Z==0
↑
*
BC20
label20,Ri
↑ s/C==1
↑
*
BNC20
label20,Ri
↑ s/C==0
↑
*BN20
label20,Ri
↑ s/N==1
↑
*BP20
label20,Ri
↑ s/N==0
↑
*BV20
label20,Ri
↑ s/V==1
↑
*BNV20
label20,Ri
↑ s/V==0
↑
*BLT20
label20,Ri
↑ s/V xor N==1
↑
*BGE20
label20,Ri
↑ s/V xor N==0
↑
*BLE20
label20,Ri
↑ s/(V xor N) , または Z==1
↑
*BGT20
label20,Ri
↑ s/(V xor N) , または Z==0
↑
*BLS20
label20,Ri
↑ s/C , または Z==1
↑
*BHI20
label20,Ri
↑ s/C , または Z==0
↑
*1: CALL20
• label20-PC-2 が -0x800 ∼ +0x7fe の場合は , 次のように命令を生成します。
CALL label12
• label20-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。
LDI:20 #label20,Ri
CALL @Ri
*2: BRA20
• label20-PC-2 が -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。
BRA label9
• label20-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。
LDI:20 #label20,Ri
JMP @Ri
*3: Bcc20
• label20-PC-2 が -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。
Bcc label9
• label20-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。
Bxcc false
xcc は cc の背反条件
LDI:20 #label20,Ri
JMP @Ri
false:
839
付録
■ 20 ビット遅延分岐マクロ命令
表 D.2-15 20 ビット遅延分岐マクロ命令
ニーモニック
動作
備考
*
CALL20:D
label20,Ri
次の命令のアドレス +2 → RP, label20 → PC
Ri: テンポラリレジスタ *1
*
BRA20:D
label20,Ri
Label20 → PC
Ri: テンポラリレジスタ *2
*
BEQ20:D
label20,Ri
(Z==1) ならば label20 → PC
Ri: テンポラリレジスタ *3
*
BNE20:D
label20,Ri
↑ s/Z==0
↑
*
BC20:D
label20,Ri
↑ s/C==1
↑
*
BNC20:D
label20,Ri
↑ s/C==0
↑
*BN20:D
label20,Ri
↑ s/N==1
↑
*BP20:D
label20,Ri
↑ s/N==0
↑
*BV20:D
label20,Ri
↑ s/V==1
↑
*BNV20:D
label20,Ri
↑ s/V==0
↑
*BLT20:D
label20,Ri
↑ s/V xor N==1
↑
*BGE20:D
label20,Ri
↑ s/V xor N==0
↑
*BLE20:D
label20,Ri
↑ s/(V xor N) , または Z==1
↑
*BGT20:D
label20,Ri
↑ s/(V xor N) , または Z==0
↑
*BLS20:D
label20,Ri
↑ s/C , または Z==1
↑
*BHI20:D
label20,Ri
↑ s/C , または Z==0
↑
*1:CALL20:D
• label20-PC-2 が -0x800 ∼ +0x7fe の場合は , 次のように命令を生成します。
CALL:D label12
• label20-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。
LDI:20 #label20,Ri
CALL:D @Ri
*2: BRA20:D
• label20-PC-2 が -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。
BRA:D label9
• label20-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。
LDI:20 #label20,Ri
JMP:D @Ri
*3: Bcc20:D
• label20-PC-2 が -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。
Bcc:D label9
• label20-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。
Bxcc false
xcc は cc の背反条件
LDI:20 #label20,Ri
JMP:D @Ri
false:
840
付録 D 命令
■ 32 ビット通常分岐マクロ命令
表 D.2-16 32 ビット通常分岐マクロ命令
ニーモニック
動作
備考
*
CALL32
label32,Ri
次の命令のアドレス → RP, label32 → PC
Ri: テンポラリレジスタ *1
*
BRA32
label32,Ri
Label32 → PC
Ri: テンポラリレジスタ *2
*
BEQ32
label32,Ri
(Z==1) ならば label32 → PC
Ri: テンポラリレジスタ *3
*
BNE32
label32,Ri
↑ s/Z==0
↑
*
BC32
label32,Ri
↑ s/C==1
↑
*
BNC32
label32,Ri
↑ s/C==0
↑
*BN32
label32,Ri
↑ s/N==1
↑
*BP32
label32,Ri
↑ s/N==0
↑
*BV32
label32,Ri
↑ s/V==1
↑
*BNV32
label32,Ri
↑ s/V==0
↑
*BLT32
label32,Ri
↑ s/V xor N==1
↑
*BGE32
label32,Ri
↑ s/V xor N==0
↑
*BLE32
label32,Ri
↑ s/(V xor N) , または Z==1
↑
*BGT32
label32,Ri
↑ s/(V xor N) , または Z==0
↑
*BLS32
label32,Ri
↑ s/C , または Z==1
↑
*BHI32
label32,Ri
↑ s/C , または Z==0
↑
*1: CALL32
• label32-PC-2 が -0x800 ∼ +0x7fe の場合は , 次のように命令を生成します。
CALL label12
• label32-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。
LDI:32 #label32,Ri
CALL @Ri
*2: BRA32
• label32-PC-2 が -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。
BRA label9
• label32-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。
LDI:32 #label32,Ri
JMP @Ri
*3: Bcc32
• label32-PC-2 が -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。
Bcc label9
• label32-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。
Bxcc false
xcc は cc の背反条件
LDI:32 #label32,Ri
JMP @Ri
false:
841
付録
■ 32 ビット遅延分岐マクロ命令
表 D.2-17 32 ビット遅延分岐マクロ命令
ニーモニック
動作
備考
*
CALL32:D
label32,Ri
次の命令のアドレス +2 → RP, label32 → PC
Ri: テンポラリレジスタ *1
*
BRA32:D
label32,Ri
Label32 → PC
Ri: テンポラリレジスタ *2
*
BEQ32:D
label32,Ri
(Z==1) ならば label32 → PC
Ri: テンポラリレジスタ *3
*
BNE32:D
label32,Ri
↑ s/Z==0
↑
*
BC32:D
label32,Ri
↑ s/C==1
↑
*
BNC32:D
label32,Ri
↑ s/C==0
↑
*BN32:D
label32,Ri
↑ s/N==1
↑
*BP32:D
label32,Ri
↑ s/N==0
↑
*BV32:D
label32,Ri
↑ s/V==1
↑
*BNV32:D
label32,Ri
↑ s/V==0
↑
*BLT32:D
label32,Ri
↑ s/V xor N==1
↑
*BGE32:D
label32,Ri
↑ s/V xor N==0
↑
*BLE32:D
label32,Ri
↑ s/(V xor N) , または Z==1
↑
*BGT32:D
label32,Ri
↑ s/(V xor N) , または Z==0
↑
*BLS32:D
label32,Ri
↑ s/C , または Z==1
↑
*BHI32:D
label32,Ri
↑ s/C , または Z==0
↑
*1: CALL32:D
• label32-PC-2 が -0x800 ∼ +0x7fe の場合は , 次のように命令を生成します。
CALL:D label12
• label32-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。
LDI:32 #label32,Ri
CALL:D @Ri
*2: BRA32:D
• label32-PC-2 が -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。
BRA:D label9
• label32-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。
LDI:32 #label32,Ri
JMP:D @Ri
*3: Bcc32:D
• label32-PC-2 が -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。
Bcc:D label9
• label32-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。
Bxcc false
xcc は cc の背反条件
LDI:32 #label32,Ri
JMP:D @Ri
false:
842
付録 D 命令
■ ダイレクトアドレッシング命令
表 D.2-18 ダイレクトアドレッシング命令
ニーモニック
型
OP
サイクル
NZVC
動作
備考
DMOV
@dir10, R13
D
08
b
----
(dir10) → R13
ワード
DMOV
R13,
@dir10
D
18
a
----
R13 → (dir10)
ワード
DMOV
@dir10, @R13+
D
0C
2a
----
(dir10) → (R13),R13+=4
ワード
DMOV
@R13+, @dir10
D
1C
2a
----
(R13) → (dir10),R13+=4
ワード
DMOV
@dir10, @-R15
D
0B
2a
----
R15 - =4,(R15) → (dir10) ワード
DMOV
@R15+, @dir10
D
1B
2a
----
(R15) → (dir10),R15+=4
ワード
DMOVH
@dir9,
R13
D
09
b
----
(dir9) → R13
ハーフワード
DMOVH
R13,
@dir9
D
19
a
----
R13 → (dir9)
ハーフワード
DMOVH
@dir9,
@R13+
D
0D
2a
----
(dir9) → (R13),R13+=2
ハーフワード
DMOVH
@R13+, @dir9
D
1D
2a
----
(R13) → (dir9),R13+=2
ハーフワード
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++
バイト
DMOVB
@R13+, @dir8
D
1E
2a
----
(R13) → (dir8),R13++
バイト
( 注意事項 ) dir8, dir9, dir10 のフィールドには , 次のようにアセンブラが計算して値を設定します。
dir8 → dir, dir9/2 → dir, dir10/4 → dir dir8, dir9, dir10 は符号なし。
■ リソース命令
表 D.2-19 リソース命令
ニーモニック
型
OP
サイクル
NZVC
動作
備考
LDRES
@Ri+,
#u4
C
BC
a
----
(Ri) → u4 のリソース
Ri+=4
u4: チャネル番号
STRES
#u4,
@Ri+
C
BD
a
----
u4 周辺のリソース →
(Ri)
Ri+=4
u4: チャネル番号
843
付録
844
索引
Numerics
0 検出
0 検出 ......................................................................370
0 検出用データレジスタ (BSD0) ........................368
10 ビット
10 ビットスレーブアドレスマスクレジスタ
(ITMK) の機能 ................................................496
10 ビットスレーブアドレスレジスタ (ITBA) の
機能 ..................................................................495
16 ビット
16 ビットタイマレジスタ (TMR) の構成 ..........422
16 ビットリロードタイマの機能 ........................418
16 ビットリロードタイマのトリガを使用した
起動 ..................................................................400
16 ビットリロードタイマのブロックダイヤグラ
ム ......................................................................418
16 ビットリロードタイマのレジスタ構成 ........419
16 ビットリロードレジスタ (TMRLR) の構成
..........................................................................423
32kHz タイマデータレジスタ (16 ビット )(CUTD)
..........................................................................700
32 ビット←→ 16 ビットバスコンバータ ............80
即値セット /16 ビット /32 ビット即値転送命令
..........................................................................834
16 ビット I/O タイマ
16 ビット I/O タイマの機能 ................................514
16 ビット I/O タイマのブロックダイヤグラム
..........................................................................515
16 ビット I/O タイマのレジスタ一覧 ................516
16 ビットフリーランタイマ
16 ビットフリーランタイマ ................................529
16 ビットフリーランタイマのカウントタイミン
グ ......................................................................533
16 ビットフリーランタイマの機能概要 ............518
16 ビットフリーランタイマのブロックダイヤグ
ラム ..................................................................518
16 ビットフリーランタイマのレジスタ機能
..........................................................................518
1 検出
1 検出 ......................................................................370
1 検出用データレジスタ (BSD1) ........................368
ブロックダイヤグラム
16 ビットフリーランタイマのブロックダイヤグ
ラム ..................................................................518
20 ビット
20 ビット遅延分岐マクロ命令 ............................840
20 ビット通常分岐マクロ命令 ............................839
24 ビット
4MHz タイマデータレジスタ (24 ビット )(CUTR)
..........................................................................702
2 サイクル転送
2 サイクル転送のデータフロー ..........................354
DMA バースト 2 サイクル転送 ( ハーフワード )
..........................................................................359
DMA バースト 2 サイクル転送 ( ワード ) .........360
DMA ブロック 2 サイクル転送 ( バイト ) .........358
32kHz タイマデータレジスタ
32kHz タイマデータレジスタ (16 ビット )(CUTD)
..........................................................................700
32kHz タイマデータレジスタ (CUTD) ..............696
32kHz タイマデータレジスタの設定 ................. 703
32 ビット
32 ビット遅延分岐マクロ命令 ........................... 842
32 ビット通常分岐マクロ命令 ........................... 841
32 ビット←→ 16 ビットバスコンバータ ........... 80
即値セット /16 ビット /32 ビット即値転送命令
..........................................................................834
32 ビットバス幅での動作 ................................... 279
4MHz タイマデータレジスタ
4MHz タイマデータレジスタ (24 ビット )(CUTR)
..........................................................................702
4MHz タイマデータレジスタ (CUTR) ............... 697
4MHz リアルタイムクロック
4MHz リアルタイムクロックの構成 (SELCLK = 1)
..........................................................................688
7 ビットスレーブアドレスマスクレジスタ
7 ビットスレーブアドレスマスクレジスタ
(ISMK) の機能 ................................................499
7 ビットスレーブアドレスレジスタ
7 ビットスレーブアドレスレジスタ (ISBA) の
機能 .................................................................. 498
8 ビット
8 ビットバス幅での動作 .....................................284
845
A
A/D 禁止レジスタ
A/D 禁止レジスタ (ADBL) のビット構成 .........413
A/D コンバータ
A/D コンバータの特長 .........................................402
A/D コンバータのレジスタ一覧 .........................404
動作モード .............................................................414
使用上の注意事項 .................................................416
A/D 制御ステータスレジスタ
A/D 制御ステータスレジスタ (ADCS) の各ビット
の機能 ..............................................................410
A/D 制御ステータスレジスタ (ADCS) のビット
構成 ..................................................................410
A/D チャネル設定レジスタ
A/D チャネル設定レジスタ (ADCH) のビット構成
..........................................................................405
A/D チャネル設定レジスタ (ADCH) の各ビットの
機能 ..................................................................405
A/D データレジスタ
A/D データレジスタ (ADCD) のビット構成
..........................................................................412
A/D モードレジスタ
A/D モードレジスタ (ADMD) の各ビットの機能
..........................................................................408
A/D モードレジスタ (ADMD) のビット構成
...........................................................................408
ACCDBL
アラーム比較器クロック禁止レジスタ (ACCDBL)
..........................................................................539
ACSR
アラーム比較器ステータスレジスタ (ACSR)
..........................................................................539
ADBL
A/D 禁止レジスタ (ADBL) のビット構成 .........413
ADCD
A/D データレジスタ (ADCD) のビット構成
..........................................................................412
ADCH
A/D チャネル設定レジスタ (ADCH) のビット構成
..........................................................................405
A/D チャネル設定レジスタ (ADCH) の各ビットの
機能 ..................................................................405
ADCS
A/D 制御ステータスレジスタ (ADCS) の各ビット
の機能 ..............................................................410
A/D 制御ステータスレジスタ (ADCS) のビット
構成 ..................................................................410
ADMD
A/D モードレジスタ (ADMD) の各ビットの機能
..........................................................................408
A/D モードレジスタ (ADMD) のビット構成
..........................................................................408
AF200
フラッシュマイコンプログラマシステム構成
( 横河ディジタルコンピュータ株式会社製 )
..........................................................................777
AMR0 ∼ AMR7
領域マスクレジスタ (AMR0 ∼ AMR7) .............251
AMR0x,AMR1x
受入マスクレジスタ 0x,1x(AMR0x,
AMR1x) ..........................................................456
846
AMSR
受入マスク選択レジスタ (AMSR) .....................455
ASR0 ∼ ASR7
領域選択レジスタ (ASR0 ∼ ASR7) ...................250
B
BSD0
0 検出用データレジスタ (BSD0) ........................ 368
BSD1
1 検出用データレジスタ (BSD1) ........................ 368
BSDC
変化点検出用データレジスタ (BSDC) ..............369
BSRR
検出結果レジスタ (BSRR) ..................................369
BTR
ビットタイミングレジスタ (BTR) のビット構成
..........................................................................445
BVALR
メッセージバッファ有効レジスタ (BVALR)
........................................................................... 447
C
CAN コントローラ
CAN コントローラの特長 ................................... 430
CAN コントローラのブロックダイヤグラム
..........................................................................431
CAN モジュール
CAN モジュールのクロック制御 .......................182
CCR
コンディションコードレジスタ (CCR) ............... 85
CE 制御
書込みデータポーリング読出し (CE 制御 )
..........................................................................750
CE 制御
書込み [ 書込み/消去コマンド ] アクセス
(CE 制御 ) ........................................................ 757
Chip Select Enable register
チップセレクト許可レジスタ (CSE):Chip Select
Enable register ..................................................262
CLKB
CPU クロック (CLKB) .........................................159
CLKP
リソースクロック (CLKP) ..................................159
CLKR
クロックソース制御レジスタ ............................174
CLKT
外部バスクロック (CLKT) ..................................160
CMCR
CAN モジュールのクロック制御 .......................182
CPU
CPU アーキテクチャの特長 ..................................74
CPU 機能説明 .......................................................... 76
CPU の各状態における端子の状態 .................... 822
CPU の制御 ............................................................ 340
CPU パイプライン演算 .......................................... 79
CPU ブロックダイヤグラム ..................................76
FR50 CPU 仕様 ........................................................75
CPU クロック
CPU クロック (CLKB) .........................................159
CREG
インタフェース制御レジスタ (CREG) ..............463
CSE
チップセレクト許可レジスタ (CSE):Chip Select
Enable register ..................................................262
CSR
制御ステータスレジスタ (CSR) .........................439
CTBR
タイムベースカウンタクリアレジスタ .............173
CUCR
補正ユニット制御レジスタ (CUCR) ..........696, 698
CUTD
32kHz タイマデータレジスタ (16 ビット )(CUTD)
..........................................................................700
32kHz タイマデータレジスタ (CUTD) ..............696
CUTR
4MHz タイマデータレジスタ (24 ビット )(CUTR)
...........................................................................702
4MHz タイマデータレジスタ (CUTR) ...............697
D
D/A クロック制御レジスタ
D/A クロック制御レジスタ (DDBL) ..................479
D/A コンバータ
D/A コンバータ出力電圧の理論値 .....................480
D/A コンバータの機能 .........................................476
D/A コンバータの動作概要 .................................480
D/A コンバータのブロックダイヤグラム
..........................................................................476
D/A コンバータのレジスタ一覧 .........................477
D/A 制御レジスタ
D/A 制御レジスタ (DACR) ..................................477
D/A データレジスタ
D/A データレジスタ (DADR) ..............................478
D19
セクタ消去タイマフラグ (D19) ..........................738
D21
タイミングリミット超過フラグ (D21) ..............738
D22
トグルビットフラグ (D22) ..................................737
D23
データポーリングフラグ (D23) ..........................737
DACR
D/A 制御レジスタ (DACR) ..................................477
DADR
D/A データレジスタ (DADR) ..............................478
DDBL
D/A クロック制御レジスタ (DDBL) ..................479
DICR
遅延割込み制御レジスタ (DICR) .......................366
DIVR0
ベースクロック分周設定レジスタ 0 ..................177
DIVR1
ベースクロック分周設定レジスタ 1 ..................180
DLCRx
DLC レジスタ x(x=0 ∼ 15)(DLCRx) ..................460
DLC レジスタ x(x=0 ∼ 15)
DLC レジスタ x(x=0 ∼ 15)(DLCRx) ..................460
DMA
DMA 転送の一時停止 ..........................................342
DMA による周辺回路割込みのクリア ..............342
DMAC
DMAC の割込み制御 ...........................................343
DMACA0 ∼ DMACA4
DMAC- チャネル 0,1,2,3,4 制御 /
状態レジスタ A(DMACA0 ∼ DMACA4)
........................................................................... 318
DMACB0 ∼ DMACB4
DMAC- チャネル 0,1,2,3,4 コントロール /
ステータスレジスタ B(DMACB0 ∼ DMACB4)
..........................................................................322
DMACR
DMAC- チャネル 0,1,2,3,4 DMAC 全体制御
レジスタ (DMACR) ........................................ 328
DMAC 全体制御レジスタ
DMAC- チャネル 0,1,2,3,4 DMAC 全体制御
レジスタ (DMACR) ........................................ 328
DMAC チャネル
DMAC- チャネル 0,1,2,3,4 DMAC 全体制御
レジスタ (DMACR) ........................................ 328
DMAC- チャネル 0,1,2,3,4 コントロール /
ステータスレジスタ B(DMACB0 ∼ DMACB4)
..........................................................................322
DMAC- チャネル 0,1,2,3,4 制御 /
状態レジスタ A(DMACA0 ∼ DMACA4)
..........................................................................318
DMAC- チャネル 0,1,2,3,4 転送元 /
転送先アドレス設定レジスタ (DMASA0 ∼
DMASA4/DMADA0 ∼ DMADA4) ............... 327
DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4
DMAC チャネル -0,1,2,3,4 転送元 /
転送先アドレス設定レジスタ (DMASA0 ∼
DMASA4/DMADA0 ∼ DMADA4) ............... 327
DMA 転送
DMA 転送全般 ......................................................337
スリープ中の DMA 転送 .....................................344
動作開始 ................................................................ 341
DMA 転送例
DMA デマンド転送 ( ワード ) ............................363
DMA バースト 2 サイクル転送 ( ハーフワード )
........................................................................... 359
DMA バースト 2 サイクル転送 ( ワード ) ........360
DMA フライバイ転送 ( バイト )
[I/O からメモリヘ ] ........................................ 362
DMA フライバイ転送 ( バイト )
[ メモリから I/O ヘ ] ...................................... 361
DMA ブロック 2 サイクル転送 ( バイト ) ........358
DMA 割込みクリアレジスタ
DMA 割込みクリアレジスタ (DRCL) ................ 592
DRCL
DMA 割込みクリアレジスタ (DRCL) ................ 592
DTRx
データレジスタ x(x=0 ∼ 15)(DTRx) .................. 461
E
EDSU
メイン機能 ............................................................ 763
EIRR
外部割込み要求レジスタ (EIRR) ........................ 309
EIT
EIT( 例外 , 割込み , トラップ ) の特長 ..............103
EIT からのリターン .............................................103
847
EIT 動作の注意事項 .............................................114
EIT トリガ .............................................................103
多重 EIT 処理 ........................................................110
ELVR
外部割込み要求レベル設定レジスタ (ELVR)
..........................................................................310
ENIR
割込み許可レジスタ (ENIR) ................................309
F
FMCS
フラッシュ制御ステータスレジスタ (FMCS)
...........................................................................720
FR50
FR50 CPU 仕様 ........................................................75
FR50 ファミリ共通メモリマップ .........................92
FR50 ファミリ命令
FR50 ファミリ命令のワード形式 .......................829
G
GCN10
GCN10 のビット機能 ...........................................386
汎用制御レジスタ 1(GCN10,GCN11) の
ビット構成 ......................................................386
GCN11
GCN11 のビット機能 ...........................................388
汎用制御レジスタ 1(GCN10,GCN11) の
ビット構成 ......................................................386
GCN20
汎用制御レジスタ 2(GCN20,GCN21) の
ビット構成 ......................................................391
GCN21
汎用制御レジスタ 2(GCN20,GCN21) の
ビット構成 ......................................................391
H
Harvard
Harvard ←→ Princeton バスコンバータ ...............80
Hold Request Cancel Level register
HRCL(Hold Request Cancel Level register) ..........301
HRCL
HRCL(Hold Request Cancel Level register) ..........301
ホールド要求取下げ要求機能 (HRCL) の使用例
...........................................................................305
HSTX 端子
HSTX 端子 ( ハードウェアスタンバイ端子 ) への
入力 ..................................................................118
I
I/O タイマ
16 ビット I/O タイマの機能 ................................514
I/O タイミング
シフト動作開始 / 停止タイミング,および
I/O タイミング ................................................561
I/O ポート
ポート基本ブロックダイヤグラム .....................232
848
I/O マップ
I/O マップの読み方 .............................................. 780
I2C インタフェース
I2C インタフェース (400kHz) の特長 ................ 484
I2C インタフェース (400kHz) のレジスタ一覧
..........................................................................486
2
I C インタフェースのブロックダイヤグラム
..........................................................................485
IBCR
バス制御レジスタ (IBCR2) の機能 .................... 488
バス制御レジスタ (IBCR2) のビット機能 ........488
IBSR
バスステータスレジスタ (IBSR2) の機能 ......... 492
バスステータスレジスタ (IBSR2) のビット機能
..........................................................................492
I-Cache
I-CacHe 制御レジスタ .......................................... 137
I-Cache を使用する場合の設定方法 ...................142
ICCR
SCL 波形 ................................................................ 504
クロック制御レジスタ (ICCR2) の機能 ............502
プリスケーラの設定 ............................................ 503
ICR
ICR(Interrupt Control Register) ..............................300
ICR( 割込み制御レジスタ ) ................................. 105
ID
ID の設定 ...............................................................470
IDAR
データレジスタ (IDAR2) の機能 ........................ 501
IDBL
クロック禁止レジスタ (IDBL2) の機能 ............505
IDER
IDE レジスタ (IDER) ............................................ 448
IDE レジスタ
IDE レジスタ (IDER) ............................................ 448
IDRx
ID レジスタ x(x=0 ∼ 15)(IDRx) .......................... 459
ID レジスタ x(x=0 ∼ 15)
ID レジスタ x(x=0 ∼ 15)(IDRx) .......................... 459
IEN=0
ポーリングモード (IEN=0) ..................................541
IEN=1
割込みモード (IEN=1) .......................................... 541
ILM
ILM( 割込みレベルマスクレジスタ ) ................ 105
割込みレベルマスクレジスタ (ILM) ................... 88
INIT
設定初期化リセット (INIT) ................................. 116
設定初期化リセット (INIT) 解除シーケンス
........................................................................... 120
設定初期化リセット (INIT) 状態 ........................ 197
INITX
INITX および RY/BY のタイミング .................. 753
INITX 端子
INITX 端子 ( 設定初期化リセット端子 ) への入力
..........................................................................117
INT
INT 命令の動作 ..................................................... 113
ビット [1]:INT - 割込み ........................................ 699
INTE
INTE 命令の動作 ..................................................113
INTEN
ビット [0]:INTEN - 割込み許可 .......................... 699
Interrupt Control Register
ICR(Interrupt Control Register) ..............................300
IRQ フラグビット
IRQ フラグビットの設定とリセット .................541
ISBA
7 ビットスレーブアドレスレジスタ (ISBA) の
機能 ..................................................................498
ISMK
7 ビットスレーブアドレスマスクレジスタ
(ISMK) の機能 .................................................499
ITBA
10 ビットスレーブアドレスレジスタ (ITBA) の
機能 ..................................................................495
ITMK
10 ビットスレーブアドレスマスクレジスタ
(ITMK) の機能 ................................................496
I フラグ
I フラグ ..................................................................104
L
LEIR
最終イベントインディケータレジスタ (LEIR)
..........................................................................442
LIN
LIN 同期フィールド・エッジ検出割込み .........645
LIN バス・タイミング .........................................662
LIN スレーブ設定 .................................................672
LIN スレーブとしての USART ...........................661
LIN デバイス接続 .................................................668
LIN 同期中断割込み .............................................644
LIN 動作モード 3 の使用 .....................................672
LIN マスタ - スレーブ通信機能 ..........................668
LIN マスタとしての USART ...............................661
M
MB91360
MB91360( 代表マイコン : MB91F362GB) シリアル
書込み接続時の注意事項 ..............................778
MB91360 シリーズデバイスの全体ブロック
ダイヤグラム ....................................................12
MB91360 シリーズの製品ラインナップ ...............4
MB91360 シリーズの特長 .......................................2
MB91360 シリーズの内部アーキテクチャ .........78
MB91360 シリーズのブロック機能 .....................13
MB91360 シリーズのメモリマップ .....................69
MB91360 シリーズメモリマップ .........................91
MB91360G
MB91360G( 代表マイコン : MB91F362GB) 書込み
基本構成 ..........................................................766
MB91366GA
MB91366GA の端子図 ............................................27
MB91F365GB/F366GB/F376G, MB91366GA の
入出力端子とその機能 ....................................54
MB91F362GB
MB91360( 代表マイコン :MB91F362GB) シリアル
書込み接続時の注意事項 ..............................778
MB91360G( 代表マイコン : MB91F362GB) 書込み
基本構成 ..........................................................766
MB91F362GB の端子図 ..........................................20
MB91F362GB の入出力端子とその機能 ..............39
MB91F364G
MB91F364G の端子図 ............................................ 21
MB91F364G の入出力端子とその機能 ................45
MB91F365GB
MB91F365GB/F366GB/F376G, MB91366GA の
入出力端子とその機能 ....................................54
MB91F365GB の端子図 .........................................23
MB91F366GB
MB91F365GB/F366GB/F376G, MB91366GA の
入出力端子とその機能 ....................................54
MB91F366GB/MB91F376G の端子図 ................... 24
MB91F367GB
MB91F367GB/F368GB の入出力端子とその機能
............................................................................58
MB91F367GB の端子図 .........................................25
MB91F368GB
MB91F368GB の端子図 .........................................26
MB91F367GB/F368GB の入出力端子とその機能
............................................................................58
MB91F369GA
MB91F369GA の端子図 .........................................22
MB91F369GA の入出力端子とその機能 ............. 49
MB91F376G
MB91F365GB/F366GB/F376G, MB91366GA の
入出力端子とその機能 ....................................54
MB91F366GB/MB91F376G の端子図 ................... 24
MB91FV360GA
MB91FV360GA の端子図 ...................................... 19
MB91FV360GA の入出力端子とその機能 ..........28
MODe Register
モードレジスタ (MODR):MODe Register ..........262
MODR
モードレジスタ (MODR) .....................................127
モードレジスタ (MODR):MODe Register ..........262
N
NMI
マスク不可割込み (NMI:Non-Maskable Interrupt)
........................................................................... 303
ユーザ割込みと NMI の動作 ............................... 112
割込み /NMI に対するレベルマスク ................. 105
NMI コントローラ
外部割込み,および NMI コントローラの
ブロックダイヤグラム ..................................308
外部割込み,および NMI コントローラの
レジスタ構成 ..................................................308
Non-Maskable Interrupt
マスク不可割込み (NMI:Non-Maskable Interrupt)
........................................................................... 303
P
PCNH
制御ステータスレジスタ (PCNH,PCNL) の
ビット構成 ......................................................379
PCNH/PCNL
PCNH/PCNL の各ビットの機能 .........................379
PCNL
制御ステータスレジスタ (PCNH,PCNL) の
ビット構成 ......................................................379
849
PCSR
PCSR の機能 ..........................................................383
PPG 周期設定レジスタ (PCSR) のビット構成
...........................................................................383
PDBL0
禁止レジスタ (PDBL0,PDBL1) のビット構成
..........................................................................391
PDBL1
禁止レジスタ (PDBL0,PDBL1) のビット構成
..........................................................................391
PDUT
PDUT の機能 .........................................................384
PPG デューティ設定レジスタ (PDUT) の
ビット構成 ......................................................384
PFR
ポート機能レジスタ (PFR) の機能と初期値
..........................................................................237
PLL
PLL 逓倍率 .............................................................156
PLL 発振の許可/禁止 ........................................156
PPG
PPG 出力タイミング ............................................393
PPG 動作 ................................................................393
オール "L" とオール "H" の PPG 出力 ...............398
複数の PPG タイマチャネルの起動 ...................399
PPG 周期設定レジスタ
PPG 周期設定レジスタ (PCSR) のビット構成
..........................................................................383
PPG タイマ
PPG タイマの機能概要 ........................................374
PPG タイマの動作 ................................................392
チャネル 0 ∼ 3 の PPG タイマのレジスタ
..........................................................................377
チャネル 4 ∼ 7 の PPG タイマのレジスタ
..........................................................................378
PPG タイマレジスタ
PPG タイマレジスタ (PTMR) のビット構成
..........................................................................385
PPG デューティ設定レジスタ
PPG デューティ設定レジスタ (PDUT) の
ビット構成 ......................................................384
Princeton
Harvard ←→ Princeton バスコンバータ ...............80
PS
プログラムステータスレジスタ (PS) の構造
............................................................................85
PTMR
PPG タイマレジスタ (PTMR) のビット構成
..........................................................................385
PTMR の機能 .........................................................385
PWM1,PWM2 選択レジスタ
PWM1,PWM2 選択レジスタの機能 ................583
PWM1,PWM2 比較レジスタ
PWM1,PWM2 比較レジスタの機能 ................582
PWM クロック禁止レジスタ
PWM クロック禁止レジスタの機能 ..................585
PWM 制御 0 レジスタ
PWM 制御 0 レジスタの機能 ..............................581
850
R
RCR
受信完了レジスタ (RCR) .....................................452
RETI
RETI 命令の動作 ..................................................114
RFWTR
リモートフレーム受信待ちレジスタ (RFWTR)
..........................................................................450
RIER
受信割込み許可レジスタ (RIER) ........................ 454
ROVRR
受信オーバランレジスタ (ROVRR) ...................453
RRTRR
リモート要求受信レジスタ (RRTRR) ................ 453
RSRR
リセット要因レジスタ,ウォッチドッグタイマ
制御レジスタ(RSRR)..................................164
RST
動作初期化リセット (RST) ................................. 116
動作初期化リセット (RST) 状態 ........................ 197
動作初期化リセット (RST) 解除シーケンス
..........................................................................120
発振安定待ちリセット (RST) 状態 .................... 196
RSTX 端子
RSTX 端子 ( 動作初期化リセット端子 ) への
入力 (MB91FV360GA のみ ) .........................117
RTC モード
停止モード /RTC モード .....................................202
RTEC
送信,および受信エラーカウンタ (RTEC) の
ビット構成 ......................................................444
RY/BY
INITX および RY/BY のタイミング .................. 753
RY/BY タイミング
書込み中/消去中の RY/BY タイミング ..........753
S
SCC,MSS,INT ビット
SCC,MSS,INT ビットの競合 .........................491
SCR
システムコンディションコードレジスタ (SCR)
............................................................................87
シリアル制御レジスタ (SCR) の機能 ................ 601
SDR
シリアルシフトデータレジスタ (SDR) の機能
..........................................................................555
SELCLK = 0
サブクロックの動作 (SELCLK = 0) ...................687
SELCLK = 1
4MHz リアルタイムクロックの構成 (SELCLK = 1)
..........................................................................688
SES
SIO エッジ選択 / クロック禁止レジスタ (SES) の
機能 .................................................................. 556
SIDR
シリアル入力レジスタ (SIDR),およびシリアル
出力レジスタ (SODR) の構成 .......................603
SIO
シリアル I/O インタフェース (SIO) の概要
..........................................................................548
シリアル I/O インタフェース (SIO) のレジスタ
一覧 ..................................................................550
SIO エッジ選択 / クロック禁止レジスタ
SIO エッジ選択 / クロック禁止レジスタ (SES) の
機能 ..................................................................556
SMCS
シリアルモード制御ステータスレジスタ (SMCS)
の機能 ..............................................................551
SMR
シリアルモードレジスタ (SMR) の機能 ...........599
SODR
シリアル入力レジスタ (SIDR),およびシリアル
出力レジスタ (SODR) の構成 .......................603
SRST ビット
STCR:SRST ビットへの書込み ( ソフトウェアリ
セット ) ............................................................118
SSR
シリアル状態レジスタ (SSR) の機能 .................604
STCR
STCR:SRST ビットへの書込み ( ソフトウェアリ
セット ) ............................................................118
STRT
ビット [4]:STRT - 補正開始 .................................698
T
TBCR
タイムベースカウンタ制御レジスタ (TBCR)
..........................................................................170
TCANR
送信取消しレジスタ (TCANR) ...........................451
TCR
送信完了レジスタ (TCR) .....................................451
TIER
送信割込み許可レジスタ (TIER) ........................452
TMCSR
制御ステータスレジスタ (TMCSR) の各ビットの
機能 ..................................................................420
制御ステータスレジスタ (TMCSR) のビット構成
..........................................................................420
TMR
16 ビットタイマレジスタ (TMR) の構成 ..........422
TMRLR
16 ビットリロードレジスタ (TMRLR) の構成
..........................................................................423
TREQR
送信要求レジスタ (TREQR) ................................449
TRTRR
送信 RTR レジスタ (TRTRR) ..............................450
U
UART
UART の使用上の注意 .........................................613
UART の特長 .........................................................596
UART のブロックダイヤグラム .........................597
UART のレジスタ構成 .........................................598
UART レベル選択レジスタ
UART レベル選択レジスタ (ULS) の機能 ........606
ULS
UART レベル選択レジスタ (ULS) の機能 ........606
UPDT
更新ビット (UPDT) の概要 ................................. 683
USART
CPU 間接続 ....................................................664, 665
CPU 間接続方式 ....................................................653
LIN 同期フィールド・エッジ検出割込み ......... 645
LIN バス・タイミング .........................................662
LIN スレーブ設定 ................................................. 672
LIN スレーブとしての USART ........................... 661
LIN デバイス接続 ................................................. 668
LIN 同期中断割込み .............................................644
LIN 動作モード 3 の使用 .....................................672
LIN マスタ - スレーブ通信機能 .........................668
LIN マスタとしての USART ............................... 661
USART 機能 .......................................................... 618
USART 検出端子アクセス ..................................663
USART 端子 .......................................................... 625
USART 動作モード .............................................. 619
USART の構成 ......................................................621
USART の動作 ......................................................653
USART の割込み ..........................................620, 643
USART ボーレート選択 ...................................... 648
エラー検出 ............................................................ 659
各ブロックの説明 ................................................623
機能選択 ................................................................ 666
クロック供給 ........................................................ 658
算出例 ....................................................................650
自動再開 ................................................................ 652
受信動作 ........................................................636, 656
受信割込み ............................................................ 644
受信割込みの発生とフラグの設定タイミング
..........................................................................646
信号モード ............................................................ 654
信号モード NRZ および RZ ................................656
スレーブデバイスとしての USART .................. 670
送信動作 ........................................................637, 656
送信割込み ............................................................ 644
送信割込み許可タイミング ................................672
送信割込みの発生とフラグの設定タイミング
..........................................................................647
送信割込み要求発生タイミング ........................ 647
双方向通信機能 ....................................................664
ソフトウェアの互換性 ........................................ 673
通信 ........................................................................659
通信手順 ................................................................ 667
通信モードの設定 ................................................672
停止ビット , エラー検出 , パリティ .................. 656
データ信号モード ................................................659
転送データ形式(SPI, MB91360 シリーズでは非
対応)................................................................ 657
転送データフォーマット .................................... 655
転送データフォーマット ( 通常同期 ) ............... 657
同期方式 ................................................................ 654
動作許可 ................................................................ 672
動作許可ビット ....................................................654
動作設定の変更 ....................................................672
入力キャプチャ・ユニットを用いたボーレートの
検出 .................................................................. 673
バスアイドルファンクション ............................673
バスアイドル割込み ............................................ 645
プログラマブルリセット .................................... 652
ボーレートの計算方法 ........................................ 650
851
マシン速度とボーレートに応じた推奨分割比
..........................................................................650
マスタ / スレーブ通信機能 .................................665
マスタデバイスとしての USART ......................669
モード 2 でのクロック反転および
開始 / 停止ビット ...........................................658
UTIM
U- タイマレジスタ (UTIM) ..................................590
UTIMC
U- タイマ制御レジスタ (UTIMC) .......................590
U-TIMER
U- タイマ (U-TIMER) のブロックダイヤグラム
..........................................................................588
U- タイマ (U-TIMER) のレジスタ構成 ..............589
ボーレートと U-TIMER のリロード値の設定例
..........................................................................615
UTIMR
U- タイマリロードレジスタ (UTIMR) ...............590
U- タイマ
U- タイマ (U-TIMER) のブロックダイヤグラム
..........................................................................588
U- タイマ (U-TIMER) のレジスタ構成 ..............589
U- タイマリロードレジスタ (UTIMR) ...............590
U- タイマ制御レジスタ
U- タイマ制御レジスタ (UTIMC) .......................590
U- タイマレジスタ
U- タイマレジスタ (UTIM) ..................................590
V
VCC3C 端子
VCC3C 端子におけるより大きなキャパシタンス
..........................................................................186
VID
VID の印加 .............................................................747
W
WE 制御
書込み [ 書込み / 消去コマンド ] アクセス
(WE 制御 ) .......................................................756
書込みデータポーリング読出し (WE 制御 )
..........................................................................749
あ
アーキテクチャ
CPU アーキテクチャの特長 ..................................74
MB91360 シリーズの内部アーキテクチャ ......... 78
アイドルサイクル
アイドルサイクルでの動作 ................................286
アウトプットコンペアモジュール
アウトプットコンペアモジュール .................... 530
アウトプットコンペアモジュールの機能概要
..........................................................................522
アウトプットコンペアモジュールのタイミング
..........................................................................534
アウトプットコンペアモジュールの
ブロックダイヤグラム ..................................522
アウトプットコンペアモジュールのレジスタ機能
..........................................................................523
アクセス
データアクセス ......................................................90
フラッシュメモリにアクセスするプログラム
..........................................................................747
プログラムアクセス .............................................. 90
アクノリッジ
アクノリッジ ........................................................ 508
アドレッシング
スレーブのアドレッシングとデータ送信の例
..........................................................................509
アドレッシングモード
アドレッシングモード ........................................ 338
アドレッシングモードの記号 ............................827
アラーム比較器
アラーム比較器のブロックダイヤグラム
..........................................................................538
アラーム比較器パワーダウンモード ................ 542
アラーム比較器クロック禁止レジスタ
アラーム比較器クロック禁止レジスタ (ACCDBL)
..........................................................................539
アラーム比較器ステータスレジスタ
アラーム比較器ステータスレジスタ (ACSR)
..........................................................................539
アルゴリズム
拡張セクタ保護アルゴリズム ............................744
高速モードアルゴリズム .................................... 745
い
印加
VID の印加 .............................................................747
インタフェース制御レジスタ
インタフェース制御レジスタ (CREG) ..............463
インプットキャプチャモジュール
インプットキャプチャモジュール .................... 532
インプットキャプチャモジュールの機能概要
..........................................................................526
インプットキャプチャモジュールのタイミング
..........................................................................535
インプットキャプチャモジュールの
ブロックダイヤグラム ..................................526
インプットキャプチャモジュールのレジスタ機能
..........................................................................527
852
う
ウエイトサイクル
ウエイトサイクルの動作 .....................................287
ウォッチドッグタイマ
ウォッチドッグタイマ .........................................191
ウォッチドッグタイマ制御レジスタ
リセット要因レジスタ,ウォッチドッグタイマ
制御レジスタ(RSRR)..................................164
ウォッチドッグタイマリセット
ソフトウェアリセット,ウォッチドッグタイマリ
セット ..............................................................747
ウォッチドッグリセット
ウォッチドッグリセット .....................................118
受入フィルタ
受入フィルタの設定 .............................................470
受入マスク選択レジスタ
受入マスク選択レジスタ (AMSR) ......................455
受入マスクレジスタ 0x,1x
受入マスクレジスタ 0x,1x(AMR0x,
AMR1x) ..........................................................456
え
エラー
エラーによる停止 .................................................343
エラー検出
停止ビット , エラー検出 , パリティ ...................656
お
オール "H"
オール "L" とオール "H" の PPG 出力 ...............398
オール "L"
オール "L" とオール "H" の PPG 出力 ...............398
主な機能
データ転送の主な機能 .........................................314
か
解除シーケンス
設定初期化リセット (INIT) 解除シーケンス
..........................................................................120
動作初期化リセット (RST) 解除シーケンス
..........................................................................120
ハードウェアスタンバイ解除シーケンス .........120
外部 ROM 外部バスモード
バスモード 2( 外部 ROM 外部バスモード )
..........................................................................126
外部インターフェイス
アセンブラ例 .........................................................292
概要 .........................................................................289
セットアップシーケンス .....................................292
発振安定時間 .........................................................290
ブート ROM 処理 ..................................................290
ポート設定可能 .....................................................292
外部端子
外部端子,および内部動作のタイミング .........345
外部デバイス
外部デバイスとの接続例 .....................................269
外部バス
外部バスアクセス ................................................266
外部バスクロック
外部バスクロック (CLKT) ..................................160
外部バス要求
外部バス要求 ........................................................ 288
外部割込み
外部割込みの操作手順 ........................................ 311
外部割込みの動作 ................................................311
外部割込み要求レベル ........................................ 311
外部割込み要求レベル設定レジスタ (ELVR)
..........................................................................310
外部割込み,および NMI コントローラの
ブロックダイヤグラム ..................................308
外部割込み,および NMI コントローラの
レジスタ構成 ..................................................308
外部割込み要求レベル設定レジスタ
外部割込み要求レベル設定レジスタ (ELVR)
..........................................................................310
回路の種類
回路の種類 .............................................................. 62
カウントタイミング
16 ビットフリーランタイマのカウントタイミン
グ ......................................................................533
書込み
書込み [ 書込み/消去コマンド ] アクセス
(CE 制御 ) ........................................................ 757
書込みアクセス
書込み [ 書込み / 消去コマンド ] アクセス
(WE 制御 ) ....................................................... 756
デバイスの CPU による書込みアクセス ........... 727
書込みコマンド
書込みコマンド ....................................................731
書込み中/消去中
書込み中/消去中の RY/BY タイミング ..........753
書込みデータポーリング読出し
書込みデータポーリング読出し (CE 制御 )
..........................................................................750
書込みデータポーリング読出し (WE 制御 )
..........................................................................749
拡張セクタ
拡張セクタ保護 ....................................................735
拡張セクタ保護
拡張セクタ保護 ....................................................735
拡張セクタ保護アルゴリズム
拡張セクタ保護アルゴリズム ............................744
き
起動条件
起動条件 ................................................................ 506
機能概要
PPG タイマの機能概要 ........................................ 374
基本構成
MB91360G( 代表マイコン : MB91F362GB) 書込み
基本構成 .......................................................... 766
基本命令
基本命令 .................................................................. 95
キャッシュ
各動作モード時のキャッシュの状態 ................ 139
キャッシュのエントリ更新 ................................140
命令キャッシュ ......................................................79
853
キャッシュ可能領域
命令キャッシュのキャッシュ可能領域 .............141
キャッシュ構成
キャッシュ構成 .....................................................133
キャパシタンス
VCC3C 端子におけるより大きなキャパシタンス
..........................................................................186
禁止レジスタ
禁止レジスタ (PDBL0,PDBL1) のビット構成
..........................................................................391
く
クロック
外部バスクロック (CLKT) ..................................160
クロック .................................................................694
クロック生成の概要 .............................................154
クロックの滑らかな起動と停止 .........................186
クロック生成制御ブロックのレジスタ .............163
クロックパルス分周 .............................................161
その他のクロック .................................................160
クロック禁止レジスタ
クロック禁止レジスタ (WTDBL) .......................682
クロック禁止レジスタ (IDBL2) の機能 .............505
クロック制御
CAN モジュールのクロック制御 .......................182
クロック制御レジスタ
SCL 波形 ................................................................504
クロック制御レジスタ (ICCR2) の機能 .............502
プリスケーラの設定 .............................................503
クロック生成制御ブロック
クロック生成制御ブロックのブロックダイヤグラ
ム ......................................................................162
クロック生成制御ブロックのレジスタ .............163
クロック選択
UART のクロック選択 .........................................607
クロックソース制御レジスタ
クロックソース制御レジスタ .............................174
クロックパルス分周
クロックパルス分周 .............................................161
クロック変調器
CAN プリスケーラ ...............................................210
オブザーバ .............................................................210
キャリブレーション・ユニット .........................210
変調度および周波数解像度 .................................210
け
検出結果レジスタ
検出結果レジスタ (BSRR) ...................................369
こ
更新ビット
更新ビット (UPDT) の概要 .................................683
更新ビットのタイミング .....................................683
構成レジスタ
構成レジスタ .........................................................150
高速
高速プログラミング .............................................735
854
高速モード
高速モード ............................................................ 735
高速モードアルゴリズム
高速モードアルゴリズム .................................... 745
コマンド
書込みコマンド ....................................................731
セクタ消去一時停止コマンド ............................734
セクタ消去コマンド ............................................ 732
セクタ消去再開コマンド .................................... 735
チップ消去コマンド ............................................ 732
読出し / リセットコマンド ................................. 730
コマンドシーケンス
コマンドシーケンス ............................................ 729
コンディションコードレジスタ
コンディションコードレジスタ (CCR) ............... 85
コントロール / ステータスレジスタ B
DMAC- チャネル 0,1,2,3,4 コントロール /
ステータスレジスタ B(DMACB0 ∼ DMACB4)
..........................................................................322
さ
最終イベントインディケータレジスタ
最終イベントインディケータレジスタ (LEIR)
..........................................................................442
サウンド禁止レジスタ
サウンド禁止レジスタの機能 ............................574
サウンドコントロールレジスタ
サウンドコントロールレジスタの機能 ............568
サウンド生成器
サウンド生成器の構成 ........................................ 566
サウンド生成器のブロックダイヤグラム
..........................................................................566
サウンド生成器のレジスタ一覧 ........................ 567
サブクロック
サブクロックの動作 (SELCLK = 0) ...................687
サブクロックシステム
サブクロックシステムの概要 ............................686
サブセカンドレジスタ
サブセカンドレジスタ (WTBR) .........................680
し
シーケンス
シーケンス ............................................................ 306
システムコンディションコードレジスタ
システムコンディションコードレジスタ (SCR)
............................................................................. 87
実行状態
実行状態 ( 通常動作 ) ...........................................195
実行モード
実行モード ............................................................ 546
自動書込み/消去
自動書込み/消去 ................................................728
シフトクロック
シフトクロックのモード .................................... 559
シフト動作開始 / 停止タイミング
シフト動作開始 / 停止タイミング,および
I/O タイミング ................................................561
シフト命令
シフト命令 ............................................................ 833
周波数データレジスタ
周波数データレジスタの機能 .............................570
周辺回路
クロック制御部が持つ周辺回路 .........................190
周辺回路割込み
DMA による周辺回路割込みのクリア ..............342
受信オーバランレジスタ
受信オーバランレジスタ (ROVRR) ...................453
受信完了レジスタ
受信完了レジスタ (RCR) .....................................452
受信手順
メッセージバッファ (x) による受信手順 ..........472
受信動作
受信動作 .................................................................608
受信割込み許可レジスタ
受信割込み許可レジスタ (RIER) ........................454
主要機能
主要機能 .................................................................298
消去コマンド
書込み [ 書込み / 消去コマンド ] アクセス
(WE 制御 ) .......................................................756
書込み [ 書込み/消去コマンド ] アクセス
(CE 制御 ) .........................................................757
消去中
書込み中/消去中の RY/BY タイミング ..........753
乗除算命令
乗除算命令 .............................................................832
状態遷移図
スタンバイモードの状態遷移図 .........................207
状態遷移要求
各状態遷移要求の優先順位 .................................198
使用例
ハードウェアシーケンスフラグの使用例 .........739
シリアル I/O
シリアル I/O 動作 .................................................560
シリアル I/O プリスケーラ .................................557
シリアル I/O インタフェース
シリアル I/O インタフェース (SIO) の概要
..........................................................................548
シリアル I/O インタフェース (SIO) の
レジスタ一覧 ..................................................550
動作概要 .................................................................559
シリアルオンボード書込み
富士通標準シリアルオンボード書込みに使用する
端子 ..................................................................767
シリアル書込み接続
MB91360( 代表マイコン :MB91F362GB) シリアル
書込み接続時の注意事項 ..............................778
シリアルシフトデータレジスタ
シリアルシフトデータレジスタ (SDR) の機能
..........................................................................555
シリアル出力レジスタ
シリアル入力レジスタ (SIDR),および
シリアル出力レジスタ (SODR) の構成
..........................................................................603
シリアル状態レジスタ
シリアル状態レジスタ (SSR) の機能 .................604
シリアル制御レジスタ
シリアル制御レジスタ (SCR) の機能 ................601
シリアル入力レジスタ
シリアル入力レジスタ (SIDR),および
シリアル出力レジスタ (SODR) の構成
...........................................................................603
シリアルモード制御ステータスレジスタ
シリアルモード制御ステータスレジスタ (SMCS)
の機能 .............................................................. 551
シリアルモードレジスタ
シリアルモードレジスタ (SMR) の機能 ........... 599
シングルチップモード
バスモード 0( シングルチップモード ) ............. 126
振幅データレジスタ
振幅データレジスタの機能 ................................571
す
スタンバイ制御レジスタ
スタンバイ制御レジスタ .................................... 167
スタンバイモード
スタンバイモード ( ストップ / スリープ ) からの
復帰 .................................................................. 304
スタンバイモードでの動作 ................................206
スタンバイモードの状態遷移図 ........................ 207
ステッパモータコントローラ
ステッパモータコントローラの概要 ................ 576
ステッパモータコントローラのブロックダイヤグ
ラム .................................................................. 577
ステッパモータコントローラのレジスタ一覧
..........................................................................578
ステップトレーストラップ
ステップトレーストラップの動作 .................... 113
ストップ / スリープ
スタンバイモード ( ストップ / スリープ ) からの
復帰 .................................................................. 304
ストップモード
ストップモードの解除 ........................................ 311
スリープモード
スリープモード ....................................................200
スレーブ
スレーブのアドレッシングとデータ送信の例
..........................................................................509
スレーブアドレス
スレーブアドレス検出 ........................................ 506
スレーブアドレスマスク .................................... 507
スレーブアドレッシング
スレーブアドレッシング .................................... 507
せ
制御 / 状態レジスタ A
DMAC- チャネル 0,1,2,3,4 制御 / 状態
レジスタ A(DMACA0 ∼ DMACA4) ............318
制御信号
データバス幅と制御信号との関係 .................... 263
フラッシュメモリの制御信号 ............................713
制御ステータスレジスタ
制御ステータスレジスタ (CSR) .........................439
制御ステータスレジスタ (PCNH,PCNL) の
ビット構成 ......................................................379
制御ステータスレジスタ (TMCSR) の各ビットの
機能 .................................................................. 420
制御ステータスレジスタ (TMCSR) のビット構成
..........................................................................420
制御レジスタ
I-CacHe 制御レジスタ .......................................... 137
制御レジスタ一覧 ................................................432
855
制御レジスタ構成 .................................................135
セクタ構成
セクタ構成 (256KB/512KB フラッシュメモリ )
..........................................................................709
セクタ構成 (768KB フラッシュメモリ ) ...........711
セクタ消去一時停止コマンド
セクタ消去一時停止コマンド .............................734
セクタ消去コマンド
セクタ消去コマンド .............................................732
セクタ消去コマンドシーケンス
チップ消去 / セクタ消去コマンドシーケンス
..........................................................................751
セクタ消去再開コマンド
セクタ消去再開コマンド .....................................735
セクタ消去タイマフラグ
セクタ消去タイマフラグ (D19) ..........................738
セクタ保護
セクタ保護の一時的キャンセル .................743, 754
セクタ保護の許可 .................................................741
セクタ保護の許可/セクタ保護の検証 .............754
セクタ保護の検証 .................................................742
セクタ保護動作リスト
セクタ保護動作リスト .........................................741
設定初期化リセット
設定初期化リセット (INIT) .................................116
設定初期化リセット (INIT) 解除シーケンス
..........................................................................120
設定初期化リセット (INIT) 状態 ........................197
設定初期化リセット端子
INITX 端子 ( 設定初期化リセット端子 ) への入力
...........................................................................117
設定タイミング
モード 0 で受信するときの割込みフラグの
設定タイミング ..............................................610
モード 0,モード 1,モード 2 で送信するときの
割込みフラグの設定タイミング ..................612
モード 1 で受信するときの割込みフラグの
設定タイミング ..............................................611
モード 2 で受信するときの割込みフラグの
設定タイミング ..............................................611
ゼロ検知 0 レジスタ
ゼロ検知 0 レジスタの機能 .................................579
専用レジスタ
専用レジスタ ...........................................................81
専用レジスタの構造 ...............................................83
専用レジスタの種類 ...............................................83
そ
送信 RTR レジスタ
送信 RTR レジスタ (TRTRR) ..............................450
送信完了レジスタ
送信完了レジスタ (TCR) .....................................451
送信手順
メッセージバッファ (x) による送信手順 ..........471
送信動作
送信動作 .................................................................609
送信取消しレジスタ
送信取消しレジスタ (TCANR) ...........................451
送信要求レジスタ
送信要求レジスタ (TREQR) ................................449
856
送信割込み許可レジスタ
送信割込み許可レジスタ (TIER) ........................ 452
送信,および受信エラーカウンタ
送信,および受信エラーカウンタ (RTEC) の
ビット構成 ......................................................444
即値セット
即値セット /16 ビット /32 ビット即値転送命令
..........................................................................834
測定限界
測定限界 ................................................................ 704
その他
その他の命令 ........................................................ 838
ソフトウェアリセット
STCR:SRST ビットへの書込み
( ソフトウェアリセット ) ............................. 118
ソフトウェアリセット,ウォッチドッグタイマ
リセット .......................................................... 747
た
待機時間
発振が安定するまでの待機時間の選択 ............122
退避復帰の処理
退避復帰の処理 ....................................................372
タイマ制御レジスタ
タイマ制御レジスタ (WTCR) ............................. 679
タイミング
INITX および RY/BY のタイミング .................. 753
アウトプットコンペアモジュールのタイミング
..........................................................................534
インプットキャプチャモジュールのタイミング
..........................................................................535
外部端子,および内部動作のタイミング ........345
更新ビットのタイミング .................................... 683
タイミング ............................................................ 694
タイミングリミット超過フラグ
タイミングリミット超過フラグ (D21) ..............738
タイムベースカウンタクリアレジスタ
タイムベースカウンタクリアレジスタ ............173
タイムベースカウンタ制御レジスタ
タイムベースカウンタ制御レジスタ (TBCR)
........................................................................... 170
タイムベースタイマ
タイムベースタイマ ............................................ 192
ダイレクトアドレッシング命令
ダイレクトアドレッシング命令 ........................ 843
多重 EIT 処理
多重 EIT 処理 ........................................................ 110
多重メッセージバッファ
多重メッセージバッファ構成の設定 ................ 473
端子機能
MB91F362GB の入出力端子とその機能 ............. 39
MB91F364G の入出力端子とその機能 ................45
MB91F365GB/F366GB/F376G, MB91366GA の
入出力端子とその機能 ....................................54
MB91F367GB/F368GB の入出力端子とその機能
............................................................................58
MB91F369GA の入出力端子とその機能 ............. 49
MB91FV360GA の入出力端子とその機能 ..........28
端子図
MB91366GA の端子図 ...........................................27
MB91F362GB の端子図 .........................................20
MB91F364G の端子図 ............................................21
MB91F365GB の端子図 ..........................................23
MB91F366GB/MB91F376G の端子図 ...................24
MB91F367GB の端子図 ..........................................25
MB91F368GB の端子図 ..........................................26
MB91F369GA の端子図 .........................................22
MB91FV360GA の端子図 .......................................19
ち
遅延スロット
遅延スロットによる分岐命令 .............................100
遅延分岐命令
遅延分岐命令 .........................................................837
遅延割込み制御レジスタ
遅延割込み制御レジスタ (DICR) .......................366
チップ
チップ初期化 .........................................................146
チップ消去 / セクタ消去コマンドシーケンス
チップ消去 / セクタ消去コマンドシーケンス
..........................................................................751
チップ消去コマンド
チップ消去コマンド .............................................732
チップセレクト許可レジスタ
チップセレクト許可レジスタ (CSE):Chip Select
Enable register ..................................................262
チャネル
チャネル 0 ∼ 3 の PPG タイマのレジスタ
..........................................................................377
チャネル 4 ∼ 7 の PPG タイマのレジスタ
..........................................................................378
チャネルの選択と制御 .........................................344
注意事項
MB91360( 代表マイコン :MB91F362GB)
シリアル書込み接続時の注意事項 ..............778
調停
調停 / マルチマスタ動作 .....................................508
つ
通常同期
転送データフォーマット ( 通常同期 ) ...............657
通常動作
実行状態 ( 通常動作 ) ...........................................195
通常バスアクセス
通常バスアクセス .................................................277
通常分岐命令
通常分岐命令 ( 遅延なし ) ...................................836
通常リセット
通常 ( 非同期 ) リセット ......................................123
通信フローチャート
モード 1 を使用するときの通信フローチャート
..........................................................................613
て
停止状態
停止状態 .........................................................195, 506
停止ビット
停止ビット , エラー検出 , パリティ ...................656
停止モード
停止モード /RTC モード .....................................202
低消費電力モード
低消費電力モード ................................................199
低電力
低電力モード ........................................................ 546
データ
データの種類 ........................................................ 339
データアクセス
データアクセス ......................................................90
データ受信
データ受信の例 ....................................................510
データ送信
スレーブのアドレッシングとデータ送信の例
..........................................................................509
データバス
データバスとメモリ動作モード ........................ 820
データバス幅 ........................................................ 265
データバス幅
データバス幅と制御信号との関係 .................... 263
データフォーマット
データフォーマット ............................................ 264
転送データフォーマット .................................... 608
データフロー
2 サイクル転送のデータフロー .........................354
フライバイ転送のデータフロー ........................ 356
データポーリング
データポーリング ................................................752
データポーリングフラグ
データポーリングフラグ (D23) .......................... 737
データ読出し
読出しアクセスによるデータ読出し ................ 748
データレジスタ
0 検出用データレジスタ (BSD0) ........................ 368
1 検出用データレジスタ (BSD1) ........................ 368
データレジスタ (IDAR2) の機能 ........................ 501
変化点検出用データレジスタ (BSDC) ..............369
データレジスタ x(x=0 ∼ 15)
データレジスタ x(x=0 ∼ 15)(DTRx) .................. 461
デクリメントグレードレジスタ
デクリメントグレードレジスタの機能 ............572
デバイス
デバイス取扱い上の注意事項 ..............................70
デバイスの状態 ....................................................194
デマンド転送
DMA デマンド転送 ( ワード ) ............................363
デマンド転送 ........................................................ 353
転送
転送データフォーマット .................................... 608
転送要求の受付と転送の実行 ............................341
転送要求の設定 ....................................................332
転送カウント
転送カウントの制御 ............................................ 339
転送先アドレス設定レジスタ
DMAC- チャネル 0,1,2,3,4 転送元 /
転送先アドレス設定レジスタ (DMASA0 ∼
DMASA4/DMADA0 ∼ DMADA4) ............... 327
転送元アドレス設定レジスタ
DMAC- チャネル 0,1,2,3,4 転送元 /
転送先アドレス設定レジスタ (DMASA0 ∼
DMASA4/DMADA0 ∼ DMADA4) ............... 327
電力消費
電力消費 ................................................................ 703
857
と
に
同期リセット
同期リセット .........................................................123
動作
サブクロックの動作 (SELCLK = 0) ....................687
受信動作 .................................................................467
シリアル I/O 動作 .................................................560
送信動作 .................................................................465
動作終了 / 停止 ......................................................343
動作モード .............................................................607
反転クロック動作 .................................................564
割込み動作 .............................................................564
動作概要
D/A コンバータの動作概要 .................................480
DMA コントローラの動作概要 ..........................330
動作初期化リセット
動作初期化リセット (RST) ..................................116
動作初期化リセット (RST) 状態 .........................197
動作初期化リセット端子
RSTX 端子 ( 動作初期化リセット端子 ) への入力
(MB91FV360GA のみ ) ...................................117
動作モード
各動作モード時のキャッシュの状態 .................139
動作モード .............................................................125
ワンショット動作モード .....................................395
動作初期化リセット
動作初期化リセット (RST) 解除シーケンス
..........................................................................120
トーンカウントレジスタ
トーンカウントレジスタの機能 .........................573
特長
パワーダウンリセットモジュールの特長
..........................................................................544
トグルビット
トグルビット .........................................................752
トグルビットフラグ
トグルビットフラグ (D22) ..................................737
トラップ
EIT( 例外,割込み,トラップ ) の特長 .............103
トリガ
16 ビットリロードタイマのトリガを使用した
起動 ..................................................................400
EIT トリガ .............................................................103
取下げ要求
ホールド要求取下げ要求 (HRCL) ......................303
ホールド要求取下げ要求機能 (HRCL) の使用例
..........................................................................305
入出力回路
入出力回路の種類 ..................................................63
な
内部 ROM 外部バスモード
バスモード 1( 内部 ROM 外部バスモード )
..........................................................................126
内部電圧変化
不調を避ける推奨対策 .........................................186
内部動作
外部端子,および内部動作のタイミング
..........................................................................345
内部パワーダウンリセット
内部パワーダウンリセット .................................117
858
は
バースト転送
バースト転送 ........................................................ 352
ハードウェア
ハードウェア構成 ........................................298, 314
ハードウェアシーケンス
ハードウェアシーケンスフラグの使用例 ........739
ハードウェアシーケンスフラグリスト ............736
ハードウェアスタンバイ
ハードウェアスタンバイ解除シーケンス ........120
ハードウェアスタンバイ状態 ............................196
ハードウェアスタンバイモード ................205, 208
ハードウェアリセットの入力 (INITX),
ハードウェアスタンバイ (HSTX) ................ 747
ハードウェアスタンバイ端子
HSTX 端子 ( ハードウェアスタンバイ端子 ) への
入力 .................................................................. 118
ハードウェアリセット
ハードウェアリセットの入力 (INITX),
ハードウェアスタンバイ (HSTX) ................ 747
ハーフワードアクセス
ハーフワードアクセス ........................................ 271
バイト
バイトオーダリング .............................................. 89
バイトアクセス
バイトアクセス ....................................................273
パイプライン演算
CPU パイプライン演算 .......................................... 79
バスアクセス
ビッグエンディアン方式のバスアクセス ........263
バスコンバータ
32 ビット←→ 16 ビットバスコンバータ ........... 80
Harvard ←→ Princeton バスコンバータ ............... 80
バスステータスレジスタ
バスステータスレジスタ (IBSR2) の機能 ......... 492
バスステータスレジスタ (IBSR2) のビット機能
..........................................................................492
バス制御レジスタ
バス制御レジスタ (IBCR2) の機能 .................... 488
バス制御レジスタ (IBCR2) のビット機能 ........488
バスモード
バスモード 0( シングルチップモード ) ............. 126
バスモード 1( 内部 ROM 外部バスモード )
........................................................................... 126
バスモード 2( 外部 ROM 外部バスモード )
........................................................................... 126
パッケージ
パッケージ外形寸法図 ............................................ 8
発振
発振が安定するまでの待機時間の選択 ............122
発振安定待ち
発振安定待ち実行状態 ........................................ 196
発振安定待ちの発生要因 .................................... 121
発振安定待ちリセット (RST) 状態 .................... 196
パリティ
停止ビット , エラー検出 , パリティ .................. 656
パワーダウンモード
アラーム比較器パワーダウンモード .................542
パワーダウンリセット
パワーダウンリセット制御レジスタ (PDRCR)
..........................................................................545
パワーダウンリセットモジュール
パワーダウンリセットモジュールの特長 .........544
反転クロック
反転クロック動作 .................................................564
汎用制御レジスタ 1
汎用制御レジスタ 1(GCN10,GCN11) の
ビット構成 ......................................................386
汎用制御レジスタ 2
汎用制御レジスタ 2(GCN20,GCN21) の
ビット構成 ......................................................391
汎用レジスタ
汎用レジスタ ...........................................................81
汎用レジスタの構造 ...............................................82
ひ
比較命令
比較命令 .................................................................830
ビジー信号
レディ / ビジー信号 .............................................740
ビッグエンディアン方式
ビッグエンディアン方式のバスアクセス .........263
ビット
ビットオーダリング ...............................................89
ビット 0
ビット [0]:INTEN - 割込み許可 ...........................699
ビット 1
ビット [1]:INT - 割込み ........................................699
ビット 4
ビット [4]:STRT - 補正開始 .................................698
ビット機能
GCN10 のビット機能 ...........................................386
GCN11 のビット機能 ...........................................388
バス制御レジスタ (IBCR2) のビット機能 .........488
ビット構成
A/D 禁止レジスタ (ADBL) のビット構成 .........413
A/D 制御ステータスレジスタ (ADCS) の
ビット構成 ......................................................410
A/D チャネル設定レジスタ (ADCH) のビット構成
..........................................................................405
A/D データレジスタ (ADCD) のビット構成
..........................................................................412
A/D モードレジスタ (ADMD) のビット構成
..........................................................................408
PPG 周期設定レジスタ (PCSR) のビット構成
..........................................................................383
PPG タイマレジスタ (PTMR) のビット構成
..........................................................................385
PPG デューティ設定レジスタ (PDUT) の
ビット構成 ......................................................384
禁止レジスタ (PDBL0,PDBL1) のビット構成
..........................................................................391
制御ステータスレジスタ (PCNH,PCNL) の
ビット構成 ......................................................379
制御ステータスレジスタ (TMCSR) のビット構成
..........................................................................420
送信,および受信エラーカウンタ (RTEC) の
ビット構成 ......................................................444
汎用制御レジスタ 1(GCN10,GCN11) の
ビット構成 ......................................................386
汎用制御レジスタ 2(GCN20,GCN21) の
ビット構成 ......................................................391
ビットタイミングレジスタ (BTR) のビット構成
........................................................................... 445
ビットサーチモジュール
ビットサーチモジュールのブロックダイヤグラム
..........................................................................367
ビットサーチモジュールのレジスタ構成 ........367
ビット操作命令
ビット操作命令 ....................................................832
ビットタイミング
ビットタイミングの設定 .................................... 470
ビットタイミングレジスタ
ビットタイミングレジスタ (BTR) のビット構成
..........................................................................445
ビットの機能
A/D 制御ステータスレジスタ (ADCS) の各ビット
の機能 .............................................................. 410
A/D チャネル設定レジスタ (ADCH) の各ビットの
機能 .................................................................. 405
A/D モードレジスタ (ADMD) の各ビットの機能
..........................................................................408
制御ステータスレジスタ (TMCSR) の各ビットの
機能 .................................................................. 420
非同期
通常 ( 非同期 ) リセット ...................................... 123
秒 / 分 / 時レジスタ
秒 / 分 / 時レジスタ (WTSR, WTMR, WTHR)
..........................................................................681
ふ
フィックスベクタ
フィックスベクタ ................................................129
ブート
ブート状態のチェック ........................................ 146
ブートストラップローダ .................................... 147
ブートストラップローダの説明 ........................ 148
ブートストラップローダ
ブートストラップローダ .................................... 147
ブートストラップローダの説明 ........................ 148
フライバイ転送
DMA フライバイ転送 ( バイト )[
I/O からメモリヘ ] .........................................362
DMA フライバイ転送 ( バイト )
[ メモリから I/O ヘ ] ...................................... 361
フライバイ転送のデータフロー ........................ 356
フラグ
セクタ消去タイマフラグ (D19) .......................... 738
タイミングリミット超過フラグ (D21) ..............738
データポーリングフラグ (D23) .......................... 737
トグルビットフラグ (D22) ..................................737
フラグリスト
ハードウェアシーケンスフラグリスト ............736
フラッシュ制御ステータスレジスタ
フラッシュ制御ステータスレジスタ (FMCS)
..........................................................................720
859
フラッシュメモリ
フラッシュメモリ .................................................706
フラッシュメモリにアクセスするプログラム
..........................................................................747
フラッシュメモリの制御信号 .............................713
フラッシュメモリのブロックダイヤグラム
..........................................................................707
フラッシュメモリのブロックダイヤグラム全体
..........................................................................708
フラッシュメモリへの接続 .................................746
フラッシュメモリモード .....................................713
フラッシュメモリモード
フラッシュメモリモードでの読出し / 書込み
アクセス ..........................................................722
プリスケーラ
シリアル I/O プリスケーラ .................................557
フレームフォーマット
フレームフォーマットの設定 .............................470
プログラミング
高速プログラミング .............................................735
プログラムアクセス
プログラムアクセス ...............................................90
プログラムステータスレジスタ
プログラムステータスレジスタ (PS) の構造
............................................................................85
ブロックダイヤグラム
16 ビット I/O タイマのブロックダイヤグラム
..........................................................................515
16 ビットリロードタイマのブロックダイヤグラ
ム ......................................................................418
A/D コンバータのブロックダイヤグラム .........403
CAN コントローラのブロックダイヤグラム
..........................................................................431
CPU ブロックダイヤグラム ..................................76
D/A コンバータのブロックダイヤグラム .........476
DMA コントローラのブロックダイヤグラム
..........................................................................315
I2C インタフェースのブロックダイヤグラム
..........................................................................485
MB91360 シリーズデバイスの全体ブロック
ダイヤグラム ....................................................12
UART のブロックダイヤグラム .........................597
U- タイマ (U-TIMER) のブロックダイヤグラム
..........................................................................588
アウトプットコンペアモジュールのブロック
ダイヤグラム ..................................................522
アラーム比較器のブロックダイヤグラム .........538
インプットキャプチャモジュールのブロック
ダイヤグラム ..................................................526
外部割込み,および NMI コントローラの
ブロックダイヤグラム ..................................308
クロック生成制御ブロックのブロックダイヤ
グラム ..............................................................162
サウンド生成器のブロックダイヤグラム .........566
ステッパモータコントローラのブロック
ダイヤグラム ..................................................577
ビットサーチモジュールのブロックダイヤグラム
..........................................................................367
フラッシュメモリのブロックダイヤグラム
..........................................................................707
フラッシュメモリのブロックダイヤグラム全体
..........................................................................708
ブロックダイヤグラム .................................298, 676
860
ポート基本ブロックダイヤグラム .................... 232
補正ユニットのブロックダイヤグラム ............693
ブロック転送
ブロック転送 ........................................................ 351
分岐命令
遅延スロットによる分岐命令 ............................100
へ
ベース
ベースクロックの生成 ........................................ 155
ベースクロック
ベースクロックの生成 ........................................ 155
ベースクロック分周設定レジスタ 0
ベースクロック分周設定レジスタ 0 ................. 177
ベースクロック分周設定レジスタ 1
ベースクロック分周設定レジスタ 1 ................. 180
ベクタ
割込みベクタ ........................................................ 816
変化点検出
変化点検出 ............................................................ 371
変化点検出用データレジスタ
変化点検出用データレジスタ (BSDC) ..............369
変換動作
変換動作 ................................................................ 415
ほ
ポート機能レジスタ
ポート機能レジスタ (PFR) の機能と初期値
..........................................................................237
ポーリングモード
ポーリングモード (IEN=0) ..................................541
ホールド機能
ホールド機能 ........................................................ 747
ホールド調停
ホールド調停 ........................................................ 341
ホールド要求
ホールド要求取下げ要求 (HRCL) ...................... 303
ホールド要求取下げ要求機能 (HRCL) の使用例
..........................................................................305
ボーレート
算出例 ....................................................................650
入力キャプチャ・ユニットを用いたボーレートの
検出 .................................................................. 673
ボーレートと U-TIMER のリロード値の設定例
........................................................................... 615
ボーレートの計算 ................................................593
ボーレートの計算方法 ........................................ 650
マシン速度とボーレートに応じた推奨分割比
..........................................................................650
補正
補正の精度 ............................................................ 703
補正開始
ビット [4]:STRT - 補正開始 ................................698
補正ユニット
補正ユニットの説明 ............................................ 692
補正ユニット制御レジスタ
補正ユニット制御レジスタ (CUCR) ..........696, 698
補正ユニットブロックダイヤグラム
補正ユニットのブロックダイヤグラム ............693
ま
マスク不可割込み
マスク不可割込み (NMI:Non-Maskable Interrupt)
...........................................................................303
待ち時間
待ち時間 .................................................................157
マルチマスタ動作
調停 / マルチマスタ動作 .....................................508
み
未定義命令
未定義命令の例外の動作 .....................................114
め
命令
20 ビット遅延分岐マクロ命令 ............................840
20 ビット通常分岐マクロ命令 ............................839
32 ビット遅延分岐マクロ命令 ............................842
32 ビット通常分岐マクロ命令 ............................841
基本命令 ...................................................................95
シフト命令 .............................................................833
乗除算命令 .............................................................832
即値セット /16 ビット /32 ビット即値転送命令
..........................................................................834
その他の命令 .........................................................838
ダイレクトアドレッシング命令 .........................843
遅延分岐命令 .........................................................837
通常分岐命令 ( 遅延なし ) ...................................836
特長 ...........................................................................93
比較命令 .................................................................830
ビット操作命令 .....................................................832
命令の概要 ...............................................................94
メモリストア命令 .................................................835
メモリロード命令 .................................................834
リソース命令 .........................................................843
レジスタ間転送命令 .............................................835
論理演算命令 .........................................................831
命令キャッシュ
命令キャッシュ .......................................................79
命令キャッシュの概要 .........................................132
命令キャッシュのキャッシュ可能領域 .............141
命令キャッシュメモリ本体の構成 .....................133
メッセージバッファ
メッセージバッファ .............................................434
メッセージバッファ (x) による受信手順 ..........472
メッセージバッファ (x) による送信手順 ..........471
メッセージバッファの機能 .................................458
メッセージバッファ制御レジスタ
メッセージバッファ制御レジスタの種類 .........447
メッセージバッファ有効レジスタ
メッセージバッファ有効レジスタ (BVALR)
..........................................................................447
メモリストア命令
メモリストア命令 .................................................835
メモリ動作モード
データバスとメモリ動作モード .........................820
メモリマップ
FR50 ファミリ共通メモリマップ .........................92
MB91360 シリーズのメモリマップ .....................69
MB91360 シリーズメモリマップ .........................91
メモリロード命令
メモリロード命令 ................................................834
も
モード
CPU モード ............................................................ 713
高速モード ............................................................ 735
実行モード ............................................................ 546
シフトクロックのモード .................................... 559
低電力モード ........................................................ 546
フラッシュメモリモード .................................... 713
モード 0
モード 0 で受信するときの割込みフラグの
設定タイミング .............................................. 610
モード 0,モード 1,モード 2
モード 0,モード 1,モード 2 で送信するときの
割込みフラグの設定タイミング .................. 612
モード 1
モード 1 で受信するときの割込みフラグの
設定タイミング .............................................. 611
モード 1 を使用するときの通信フローチャート
..........................................................................613
モード 2
モード 2 で受信するときの割込みフラグの
設定タイミング .............................................. 611
モード端子
モード端子 ............................................................ 127
モードレジスタ
モードレジスタ (MODR) .....................................127
モードレジスタ (MODR):MODe Register ..........262
ゆ
ユーザ割込み
ユーザ割込みと NMI の動作 ............................... 112
優先順位判定
優先順位判定 ........................................................ 303
よ
用語
端子状態の表で使用する用語 ............................820
読出し / 書込みアクセス
CPU 読出しアクセス , フラッシュウェイト制御
レジスタ (FMWT) .......................................... 723
フラッシュメモリモードでの読出し / 書込み
アクセス .......................................................... 722
読出し / リセットコマンド
読出し / リセットコマンド ................................. 730
読出しアクセス
読出しアクセス ....................................................755
読出しアクセスによるデータ読出し ................ 748
り
リアルタイムクロック
リアルタイムクロックのレジスタ一覧 ............677
861
リアルタイムクロックモジュール
リアルタイムクロックモジュールの使用方法
..........................................................................689
リセット
リセット .................................................................115
リセットコマンド
読出し / リセットコマンド .................................730
リセット要因レジスタ
リセット要因レジスタ,ウォッチドッグタイマ
制御レジスタ(RSRR)..................................164
リソースクロック
リソースクロック (CLKP) ...................................159
リソース命令
リソース命令 .........................................................843
リモートフレーム受信待ちレジスタ
リモートフレーム受信待ちレジスタ (RFWTR)
..........................................................................450
リモート要求受信レジスタ
リモート要求受信レジスタ (RRTRR) ................453
領域選択レジスタ
領域選択レジスタ (ASR0 ∼ ASR7) ...................250
領域マスクレジスタ
領域マスクレジスタ (AMR0 ∼ AMR7) .............251
領域モードレジスタ
領域モードレジスタ (AMD0 ∼ AMD7) ............253
リロード
16 ビットリロードタイマの機能 ........................418
16 ビットリロードタイマのトリガを使用した
起動 ..................................................................400
16 ビットリロードタイマのブロックダイヤグラ
ム ......................................................................418
16 ビットリロードタイマのレジスタ構成
..........................................................................419
リロードカウンタ
カウント例 .............................................................651
リロード値
ボーレートと U-TIMER のリロード値の設定例
..........................................................................615
リロードレジスタ
U- タイマリロードレジスタ (UTIMR) ...............590
れ
例外
EIT( 例外,割込み,トラップ ) の特長 .............103
レジスタ
クロック生成制御ブロックのレジスタ .............163
構成レジスタ .........................................................150
スタンバイ制御レジスタ .....................................167
専用レジスタ ...........................................................81
専用レジスタの構造 ...............................................83
専用レジスタの種類 ...............................................83
チャネル 0 ∼ 3 の PPG タイマのレジスタ
..........................................................................377
チャネル 4 ∼ 7 の PPG タイマのレジスタ
..........................................................................378
汎用レジスタ ...........................................................81
汎用レジスタの構造 ...............................................82
レジスタの構成と機能 .........................................232
レジスタの設定に関する注意 .............................318
レジスタ一覧
16 ビット I/O タイマのレジスタ一覧 ................516
862
A/D コンバータのレジスタ一覧 ........................ 404
D/A コンバータのレジスタ一覧 ........................ 477
DMA コントローラのレジスタ一覧 .................. 316
I2C インタフェース (400kHz) のレジスタ一覧
..........................................................................486
サウンド生成器のレジスタ一覧 ........................ 567
シリアル I/O インタフェース (SIO) の
レジスタ一覧 ..................................................550
ステッパモータコントローラのレジスタ一覧
..........................................................................578
リアルタイムクロックのレジスタ一覧 ............677
割込みコントローラのレジスタ一覧 ................ 299
レジスタ間転送命令
レジスタ間転送命令 ............................................ 835
レジスタ機能
16 ビットフリーランタイマのレジスタ機能
..........................................................................518
アウトプットコンペアモジュールのレジスタ機能
..........................................................................523
インプットキャプチャモジュールのレジスタ機能
..........................................................................527
レジスタ構成
16 ビットリロードタイマのレジスタ構成
..........................................................................419
UART のレジスタ構成 ........................................ 598
U- タイマ (U-TIMER) のレジスタ構成 ..............589
外部割込み,および NMI コントローラの
レジスタ構成 ..................................................308
ビットサーチモジュールのレジスタ構成
........................................................................... 367
レディ / ビジー信号
レディ / ビジー信号 .............................................740
レベルマスク
割込み /NMI に対するレベルマスク ................. 105
ろ
論理演算命令
論理演算命令 ........................................................ 831
わ
ワードアクセス
ワードアクセス ....................................................270
ワード形式
FR50 ファミリ命令のワード形式 ...................... 829
割込み
EIT( 例外,割込み,トラップ ) の特長 ............103
USART の割込み ..................................................643
ビット [1]:INT - 割込み ........................................ 699
割込み /NMI に対するレベルマスク ................. 105
割込み動作 ............................................................ 564
割込みレベル ........................................................ 104
割込み許可
ビット [0]:INTEN - 割込み許可 .......................... 699
割込み許可レジスタ (ENIR) ............................... 309
割込み許可レジスタ
割込み許可レジスタ (ENIR) ............................... 309
割込みコントローラ
割込みコントローラのレジスタ一覧 ................ 299
割込み制御
DMAC の割込み制御 ...........................................343
割込み制御レジスタ
ICR( 割込み制御レジスタ ) .................................105
割込み動作
割込み動作 .............................................................397
割込みハンドラ
割込みハンドラの例 .............................................511
割込みフラグ
モード 0 で受信するときの割込みフラグの設定タ
イミング ..........................................................610
モード 0,モード 1,モード 2 で送信するときの
割込みフラグの設定タイミング ..................612
モード 1 で受信するときの割込みフラグの
設定タイミング .............................................. 611
モード 2 で受信するときの割込みフラグの
設定タイミング .............................................. 611
割込みモード
割込みモード (IEN=1) .......................................... 541
割込みレベルマスクレジスタ
ILM( 割込みレベルマスクレジスタ ) ................ 105
割込みレベルマスクレジスタ (ILM) ................... 88
ワンショット動作モード
ワンショット動作モード .................................... 395
863
864
CM71-10104-8
富士通マイクロエレクトロニクス • CONTROLLER MANUAL
FR50
32 ビット・マイクロコントローラ
MB91360 Series
ハードウェアマニュアル
2008 年 10 月 第 8 版発行
発行
富士通マイクロエレクトロニクス株式会社
編集
マーケティング統括部 ビジネス推進部