7.6MB

本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。
はじめに
■ 本書の目的と対象読者
富士通半導体製品につきまして,平素より格別のご愛顧を賜り厚くお礼申し上げ
ます。
MB91F127/128は,新しいRISCアーキテクチャのCPUをコアとした「32ビットシング
ルチップマイクロコントローラ FR30シリーズ」の一つとして開発された製品で,
高性能なCPU処理パワーを要求される組込み用途に最適な仕様となっています。
本書は,実際にこのMB91F127/128を使用して製品を開発される技術者を対象
に,MB91F127/128の機能や動作について解説したものです。本書をご一読ください。
なお,各種命令の詳細については,『インストラクションマニュアル』をご参照く
ださい。
■ 商標
FRは,FUJITSU RISC controllerの略で,富士通株式会社の製品です。
Embedded Algorithm TMはAdvanced Micro Devices社の商標です。
i
■ 本書の全体構成
本書は,以下に示す17の章および付録から構成されています。
第1章 概要
この章では,MB91F127/128の特長,ブロックダイヤグラム,機能概要など全体
を知るための基本的なことがらについて説明します。
第2章 デバイスの取扱いについて
MB91F127/128の取扱いに関して,端子処理のしかたや,電源の取扱いの注意な
どについて説明します。
第3章 CPUおよび制御部
この章では,FRシリーズのCPUコアの機能を知るために,アーキテクチャ,仕様,
命令などの基本的なことについて説明します。
第4章 バスインタフェース
この章では,バスインタフェースの基本事項,レジスタ構成/機能,バス動作,
バスタイミングおよびバス動作のプログラム例について説明します。
第5章 I/Oポート
この章では,I/Oポートの概要,レジスタ構成および外部端子をI/Oとして使用
する条件について説明します。
第6章 16ビットリロードタイマ
この章では,16ビットリロードタイマの概要,レジスタの構成/機能および16
ビットリロードタイマの動作について説明します。
第7章 PPGタイマ
この章では,PPGタイマの概要,レジスタの構成/機能およびPPGタイマ動作に
ついて説明します。
第8章 多機能タイマ
この章では,多機能タイマの概要,レジスタの構成/機能および多機能タイマ
の動作について説明します。
第9章 U-TIMER
この章では,U-TIMERの概要,レジスタの構成/機能およびU-TIMERの動作につ
いて説明します。
第10章 外部割込み
この章では,外部割込みの概要,レジスタの構成/機能および外部割込み制御
部の動作について説明します。
第11章 遅延割込みモジュール
この章では,遅延割込みモジュールの概要,レジスタの構成/機能および遅延
割込みモジュールの動作について説明します。
第12章 割込みコントローラ
この章では,割込みコントローラの概要,レジスタの構成/機能,割込みコント
ローラの動作およびホールドリクエスト取下げ要求機能の使用例について説明
します。
ii
第13章 A/Dコンバータ(逐次比較型)
この章では,A/Dコンバータの概要,レジスタの構成/機能およびA/Dコンバー
タの動作について説明します。
第14章 UART
この章では,UARTの概要,レジスタの構成/機能およびUARTの動作について説
明します。
第15章 DMAコントローラ(DMAC)
この章では,DAMコントローラ(DMAC)の概要,レジスタの構成/機能およびDMA
コントローラ(DMAC)の動作について説明します。
第16章 ビットサーチモジュール
この章では,ビットサーチモジュールの概要,レジスタ構成/機能およびビッ
トサーチモジュールの動作,退避/復帰処理について説明します。
第17章 フラッシュメモリ
この章では, フラッシュメモリの機能や動作について説明します。
ここでは,FR-CPUからこのフラッシュメモリを使用する場合について解説し
ます。ROMライタからこのフラッシュメモリを使用する場合の詳細につきまして
は,別途ROMライタの取扱説明書をご参照ください。
付
録
付録として,I/Oマップ,割込みベクタ,CPUステートでの端子状態を記載して
います。
・本資料の記載内容は,予告なしに変更することがありますので,ご用命の際は当社営業担当部門にご確認くださ
い。
・本資料に記載された情報・回路図は,半導体デバイスの応用例として使用されており,実際に使用する機器への
搭載を目的としたものではありません。また,これらの情報・回路図の使用に起因する第三者の特許権,その他
の権利侵害について,当社はその責任を負いません。
・本資料に記載された製品は,通常の産業用,一般事務用,パーソナル用,家庭用などの一般的用途に使用されるこ
とを意図して設計・製造されています。極めて高度な安全性が要求され,仮に当該安全性が確保されない場合,
社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途(原子力施設における核反応
制御,航空機自動飛行制御,航空交通管制,大量輸送システムにおける運行制御,生命維持のための医療機器,兵
器システムにおけるミサイル発射制御をいう),ならびに極めて高い信頼性が要求される用途(海底中継器, 宇
宙衛星をいう)に使用されるよう設計・製造されたものではありません。したがって,これらの用途にご使用を
お考えのお客様は,必ず事前に当社営業担当部門までご相談ください。ご相談なく使用されたことにより発生
した損害などについては,責任を負いかねますのでご了承ください。
・半導体デバイスは,ある確率で故障が発生します。当社半導体デバイスが故障しても,結果的に人身事故,火災
事故,社会的な損害を生じさせないよう,お客様は,装置の冗長設計,延焼対策設計,過電流防止対策設計,誤動
作防止設計などの安全設計をお願いします。
・本資料に記載された製品が,「外国為替および外国貿易法」に基づき規制されている貨物または技術に該当す
る場合には,本製品を輸出するに際して,同法に基づく許可が必要となります。
©2001 FUJITSU LIMITED Printed in Japan
iii
本書の読み方
■ 本書の記述形式
以下に本書で使用する主要な用語に関しての説明を示します。
用語
I-BUS
D-BUS
C-BUS
R-BUS
E-unit
φ
θ
意
味
内部インストラクション用の16ビット幅のバスです。FRシリーズは,内部ハーバードアー
キテクチャを採用しているため,命令とデータは独立したバスです。I-BUSには,バスコン
バータが接続されます。
内部32ビット幅のデータバスです。D-BUSには,内部リソースが接続されます。
内部マルチプレクスバスです。スイッチを通してI-BUSとD-BUSに接続されます。C-BUSに
は外部インタフェースモジュールが接続されます。
外部データバスは,データと命令がマルチプレクスされます。
内部16ビット幅のデータバスです。R-BUSはアダプタを通してD-BUSに接続されます。
R-BUSには,各種I/O,クロック発生部,割込みコントローラが接続されます。R-BUSは16
ビット幅でかつアドレス,データがマルチプレクスされるため,CPUがこれらのリソース
にアクセスする場合,複数サイクルの時間がかかります。
演算実行ユニットです。
システムクロック。R-BUSにつながる各内蔵リソースに対してクロック発生部から出力さ
れるクロック。最速で原発振と同周期ですが,クロック発生部ギア制御レジスタ(GCR)の
PCK1,0で1,1/2,1/4,1/8(または 1/2,1/4.1/8,1/16)に分周されたクロックとなります。
システムクロック。R-BUS以外のバスに接続されるリソースとCPUの動作クロック。最速
で 原 発 振 と 同 周 期 で す が , ク ロ ッ ク 発 生 部 ギ ア 制 御 レ ジ ス タ (GCR) の CCK1,0 で
1,1/2,1/4,1/8(または 1/2,1/4,1/8,1/16)に分周されたクロックとなります。
iv
目次
第1章
概要 ............................................................ 1
1.1
MB91F127/128の特長 ..................................................... 2
1.2
ブロックダイヤグラム ................................................... 5
1.3
外形寸法図 ............................................................. 6
1.4
端子配列 ............................................................... 7
1.5
端子機能一覧 ........................................................... 8
1.6
入出力回路形式 ........................................................ 12
第2章
デバイスの取扱いについて ....................................... 15
2.1
デバイス取扱い上の注意 ................................................ 16
2.2
電源に関する取扱い上の注意 ............................................ 18
第3章
CPUおよび制御部 ................................................ 19
3.1
メモリ空間 ............................................................ 20
3.2
内部アーキテクチャ .................................................... 23
3.3
専用レジスタ .......................................................... 27
3.3.1
プログラムステータスレジスタ(PS) .................................... 30
3.4
汎用レジスタ .......................................................... 34
3.5
データ構造 ............................................................ 35
3.6
ワードアライメント .................................................... 36
3.7
メモリマップ .......................................................... 37
3.8
命令概要 .............................................................. 39
3.9
3.10
3.8.1
遅延スロット付き分岐命令 ............................................ 41
3.8.2
遅延スロットなし分岐命令 ............................................ 43
EIT(例外,割込み,トラップ) ............................................. 44
3.9.1
EITの割込みレベル ................................................... 45
3.9.2
割込み制御レジスタ(ICR) ............................................. 47
3.9.3
システムスタックポインタ(SSP) ....................................... 48
3.9.4
テーブルベースレジスタ(TBR) ......................................... 49
3.9.5
多重EIT処理 ......................................................... 51
3.9.6
EITの動作 ........................................................... 53
リセットシーケンス .................................................... 57
v
3.11
3.12
3.13
第4章
クロック発生部と制御部 ................................................ 58
3.11.1
リセット要因レジスタ(RSRR)とウォッチドッグ周期制御レジスタ(WTCR)..... 60
3.11.2
スタンバイ制御レジスタ(STCR) ........................................ 62
3.11.3
DMA要求抑止レジスタ(PDRR) ........................................... 63
3.11.4
タイムベースタイマクリアレジスタ(CTBR) .............................. 64
3.11.5
ギア制御レジスタ(GCR) ............................................... 65
3.11.6
ウォッチドッグリセット発生延期レジスタ(WPR) ......................... 68
3.11.7
PLL制御レジスタ(PCTR) ............................................... 69
3.11.8
ウォッチドッグ機能 .................................................. 71
3.11.9
ギア機能 ............................................................ 73
3.11.10
リセット要因保持 .................................................... 75
3.11.11
DMA抑止 ............................................................. 77
3.11.12
クロックダブラ機能 .................................................. 79
3.11.13
PLLのクロック設定例 ................................................. 81
スタンバイモード(低消費電力メカニズム)................................. 84
3.12.1
ストップ状態 ........................................................ 86
3.12.2
スリープ状態 ........................................................ 90
3.12.3
スタンバイモードの状態遷移 .......................................... 92
動作モード ............................................................ 93
バスインタフェース ............................................. 95
4.1
バスインタフェースの概要 .............................................. 96
4.2
バスインタフェースのブロックダイヤグラム............................... 99
4.3
バスインタフェースのレジスタ ......................................... 100
4.3.1
エリア選択レジスタ(ASR)とエリアマスクレジスタ(AMR) ................. 101
4.3.2
エリアモードレジスタ0(AMD0) ........................................ 104
4.3.3
エリアモードレジスタ1(AMD1) ........................................ 106
4.3.4
エリアモードレジスタ32(AMD32) ...................................... 107
4.3.5
エリアモードレジスタ4(AMD4) ........................................ 108
4.3.6
エリアモードレジスタ5(AMD5) ........................................ 109
4.3.7
外部端子制御レジスタ0(EPCR0)....................................... 110
4.3.8
外部端子制御レジスタ1(EPCR1) ....................................... 113
4.3.9
リトルエンディアンレジスタ(LER) .................................... 114
vi
4.4
4.5
バス動作 ............................................................. 115
4.4.1
データバス幅と制御信号との関係 ..................................... 116
4.4.2
ビッグエンディアンのバスアクセス ................................... 118
4.4.3
リトルエンディアンのバスアクセス ................................... 124
4.4.4
ビッグエンディアンとリトルエンディアンの外部アクセスの比較 ......... 128
バスタイミング ....................................................... 132
4.5.1
基本リードサイクル ................................................. 133
4.5.2
基本ライトサイクル ................................................. 135
4.5.3
各モードでのリードサイクル ......................................... 137
4.5.4
各モードでのライトサイクル ......................................... 139
4.5.5
リード/ライト混在サイクル .......................................... 141
4.5.6
自動ウェイトサイクル ............................................... 142
4.5.7
外部ウェイトサイクル ............................................... 143
4.5.8
時分割入出力インタフェース ......................................... 144
4.5.9
外部バスリクエスト ................................................. 146
4.6
内部クロック逓倍動作(クロックダブラ).................................. 147
4.7
外部バスのプログラム例 ............................................... 148
第5章
I/Oポート ..................................................... 151
5.1
I/Oポートの概要 ...................................................... 152
5.2
ポートデータレジスタ(PDR) ............................................ 153
5.3
データ方向レジスタ(DDR) .............................................. 154
5.4
外部端子をI/Oポートとして使用 ........................................ 155
第6章
16ビットリロードタイマ ........................................ 159
6.1
16ビットリロードタイマの概要 ......................................... 160
6.2
16ビットリロードタイマのレジスタ...................................... 161
6.2.1
コントロールステータスレジスタ(TMCSR) .............................. 162
6.2.2
16ビットタイマレジスタ(TMR) ........................................ 165
6.2.3
16ビットリロードレジスタ(TMRLR) .................................... 166
6.3
16ビットリロードタイマの動作 ......................................... 167
6.4
カウンタの動作状態 ................................................... 169
第7章
7.1
PPGタイマ ..................................................... 171
PPGタイマの概要 ...................................................... 172
vii
7.2
PPGタイマのブロックダイヤグラム....................................... 173
7.3
PPGタイマのレジスタ .................................................. 174
7.3.1
コントロールステータスレジスタ(PCNH,PCNL) .......................... 175
7.3.2
PPG周期設定レジスタ(PCSR) .......................................... 178
7.3.3
PPGデューティ設定レジスタ(PDUT) .................................... 179
7.3.4
PPGタイマレジスタ(PTMR) ............................................ 180
7.3.5
ジェネラルコントロールレジスタ1(GCN1) .............................. 181
7.3.6
ジェネラルコントロールレジスタ2(GCN2) .............................. 183
7.4
PPG動作 .............................................................. 184
7.5
ワンショット動作 ..................................................... 185
7.6
割込み ............................................................... 186
7.7
PPG出力オール”L”とオール”H” ........................................... 187
7.8
PPGタイマ複数チャネルの起動 .......................................... 188
第8章
多機能タイマ .................................................. 189
8.1
多機能タイマの概要 ................................................... 190
8.2
多機能タイマユニットのブロックダイヤグラム............................ 191
8.3
多機能タイマユニットのレジスタ ....................................... 192
8.4
第9章
8.3.1
16ビットフリーランタイマのレジスタ ................................. 193
8.3.2
アウトプットコンペアのレジスタ ..................................... 196
8.3.3
インプットキャプチャのレジスタ ..................................... 199
多機能タイマユニットの動作 ........................................... 201
8.4.1
16ビットフリーランタイマ部の動作 ................................... 202
8.4.2
16ビットアウトプットコンペア部の動作 ............................... 204
8.4.3
16ビットインプットキャプチャ部の動作 ............................... 206
U-TIMER ....................................................... 207
9.1
U-TIMERの概要 ........................................................ 208
9.2
U-TIMERのレジスタ .................................................... 209
9.3
U-TIMERの動作 ........................................................ 212
第10章
外部割込み .................................................... 213
10.1
外部割込みの概要 ..................................................... 214
10.2
外部割込みのレジスタ ................................................. 215
10.2.1
割込み許可レジスタ(ENIR) ........................................... 216
viii
10.3
第11章
10.2.2
外部割込み要因レジスタ(EIRR) ....................................... 217
10.2.3
外部割込み要求レベル設定レジスタ(ELVR,EHVR) ........................ 218
外部割込み動作 ....................................................... 219
遅延割込みモジュール .......................................... 221
11.1
遅延割込みモジュールの概要 ........................................... 222
11.2
遅延割込みモジュールのレジスタ ....................................... 223
11.3
遅延割込みモジュールの動作 ........................................... 224
第12章
割込みコントローラ ............................................ 225
12.1
割込みコントローラの概要 ............................................. 226
12.2
割込みコントローラのレジスタ ......................................... 227
12.2.1
割込み制御レジスタ(ICR) ............................................ 229
12.2.2
ホールドリクエスト取下げ要求レベル 設定レジスタ(HRCL) .............. 230
12.3
割込みコントローラの動作 ............................................. 231
12.4
ホールドリクエスト取下げ要求機能(HRCR)の使用例........................ 234
第13章
A/Dコンバータ(逐次比較型) ..................................... 237
13.1
A/Dコンバータ(逐次比較型)の概要 ...................................... 238
13.2
A/Dコンバータのレジスタ .............................................. 240
13.2.1
コントロールステータスレジスタ(ADCS) ............................... 241
13.2.2
データレジスタ(ADCR) ............................................... 245
13.2.3
アナログ入力制御レジスタ(AIC) ...................................... 247
13.3
A/Dコンバータの動作 .................................................. 248
13.4
変換データ保護機能 ................................................... 250
13.5
A/Dコンバータ使用上の注意 ............................................ 252
第14章
UART .......................................................... 253
14.1
UARTの概要 ........................................................... 254
14.2
UARTのレジスタ ....................................................... 256
14.2.1
シリアルモードレジスタ(SMR) ........................................ 257
14.2.2
シリアルコントロールレジスタ(SCR) .................................. 259
14.2.3
シリアルインプットデータレジスタ(SIDR)/ シリアルアウトプットデータレジス
タ(SODR) ........................................................... 261
14.2.4
シリアルステータスレジスタ(SSR) .................................... 262
ix
14.3
UARTの動作 ........................................................... 264
14.3.1
非同期(調歩同期)モード ............................................. 265
14.3.2
CLK同期モード ...................................................... 266
14.3.3
UARTの割込み発生とフラグのセットタイミング ......................... 268
14.4
UARTの使用例 ......................................................... 271
14.5
ボーレートとU-TIMERのリロード値の設定例............................... 273
第15章
DMAコントローラ ............................................... 275
15.1
DMAコントローラの概要 ................................................ 276
15.2
DMAコントローラのブロックダイヤグラム................................. 277
15.3
DMAコントローラのレジスタ ............................................ 278
15.3.1
DMACパラメータディスクリプタポインタ(DPDP) ......................... 279
15.3.2
DMACコントロールステータスレジスタ(DACSR) .......................... 280
15.3.3
DMAC端子コントロールレジスタ(DATCR) ................................ 282
15.3.4
RAM上のディスクリプタ内レジスタ .................................... 284
15.4
DMAコントローラの転送モード .......................................... 287
15.5
DMAコントローラのタイミング図 ........................................ 290
15.6
第16章
15.5.1
ディスクリプタアクセス部のタイミング図 ............................. 291
15.5.2
データ転送部のタイミング図 ......................................... 293
15.5.3
連続転送モードでの転送停止タイミング図 ............................. 294
15.5.4
転送の終了動作タイミング図 ......................................... 296
DMAコントローラに関する注意事項....................................... 298
ビットサーチモジュール ........................................ 301
16.1
ビットサーチモジュールの概要 ......................................... 302
16.2
ビットサーチモジュールのレジスタ...................................... 303
16.3
ビットサーチモジュールの動作と退避/復帰処理........................... 305
第17章
フラッシュメモリ .............................................. 307
17.1
フラッシュメモリの概要 ............................................... 308
17.2
フラッシュメモリのレジスタ ........................................... 313
17.2.1
フラッシュメモリステータスレジスタ(FSTR) ........................... 314
17.2.2
フラッシュメモリウェイトレジスタ(FWTC) ............................. 316
17.3
フラッシュメモリのアクセスモード...................................... 317
17.4
自動アルゴリズム起動方法 ............................................. 319
x
17.5
自動アルゴリズム実行状態 ............................................. 323
17.6
セクタプロテクトオペレーション ....................................... 329
付録
.............................................................. 333
A
I/Oマップ ............................................................ 334
B
割込みベクタ ......................................................... 340
C
各CPUステートにおける端子状態 ........................................ 342
索引
.............................................................. 347
xi
xii
第1章
概要
この章では,MB91F127/128の特長,ブロックダイヤグラム,機能概要など全体を知る
ための基本的なことがらについて説明します。
1.1
MB91F127/128の特長
1.2
ブロックダイヤグラム
1.3
外形寸法図
1.4
端子配列
1.5
端子機能一覧
1.6
入出力回路形式
1
第1章 概要
1.1
MB91F127/128の特長
MB91F127/128の特長
MB91F127/128は,32ビットRISC CPU(FRファミリ)をコアとし,高性能/高速なCPU処
理を要求される組込み制御用に各種I/Oリソースやバス制御機構を内蔵した標準シン
グルチップマイクロコントローラです。
MB91F127は,256Kバイトのフラッシュメモリと14KバイトのRAMを,またMB91F128
は,510Kバイトのフラッシュメモリと14KバイトのRAMを内蔵しています。
ナビゲーションシステム,高性能FAX,プリンタ制御など,高性能なCPU処理パワーを
要求される組込み用途に最適な仕様となっています。
■ FR CPU
32ビットRISC,ロード/ストアアーキテクチャ,5段パイプライン
動作周波数:内部25MHz
汎用レジスタ:32ビット×16本
16ビット固定長命令(基本命令),1命令/1サイクル
メモリ-メモリ間転送,ビット処理,バレルシフトなどの命令:組込み用途
に適した命令
関数入口/出口命令,レジスタ内容のマルチロードストア命令:高級言語
対応命令
レジスタインタロック機能:アセンブラ記述の容易化
遅延スロット付き分岐命令:分岐処理時のオーバヘッドの低減
乗算器の内蔵/命令レベルでのサポート
-
符号付き32ビット乗算:5サイクル
-
符号付き16ビット乗算:3サイクル
割込み(PC,PSの待避):6サイクル,16プライオリティレベル
■ バスインタフェース
最大動作周波数:内部25MHz
25ビットアドレスバス(32MB空間)
16ビットアドレス出力,8/16ビットデータ入出力
基本バスサイクル:2クロックサイクル
最小64Kバイト単位で設定可能なチップセレクト出力:6本
自動ウェイトサイクル:領域ごとに0∼7サイクルのうちで任意に設定可
能
アドレス/データの時分割入出力インタフェースのサポート(領域1のみ)
未使用データ/アドレス端子は入出力ポートとして使用可能
リトルエンディアンモードサポート(領域1∼5のうち1領域選択)
■ 内蔵RAM
14KB
D-bus RAM 12KB,C-bus RAM 2KB
2
1.1 MB91F127/128の特長
■ リロードタイマ
16ビットタイマ:3チャネル
内部クロック:2クロックサイクル分解能,2/8/32分周および外部クロッ
クから選択
■ その他のインタバルタイマ
16ビットタイマ:3チャネル(U-TIMER)
PPGタイマ:4チャネル
16ビットOCU:4チャネル,ICU:4チャネル,フリーランタイマ:1チャネル
ウォッチドッグタイマ:1チャネル
■ 割込みコントローラ
外部割込み入力:通常割込み端子6本(INT0∼INT5)
内部割込み要因:UART,DMAC,A/D,リロードタイマ,UTIMER,遅延割込み,
PPG,ICU,OCU
優先レベルをプログラマブルに設定可能(16レベル)
■ A/Dコンバータ(逐次変換型)
8/10ビット分解能,8チャネル
逐次比較変換:25MHz動作時,5.2μs
サンプル&ホールド回路内蔵
変換モード:シングル変換/スキャン変換/リピート変換より選択
起動:ソフトウェア/外部トリガ/内蔵タイマより選択
■ UART
3チャネル
全二重ダブルバッファ
データ長:7∼9ビット(パリティ無し),6∼8ビット(パリティ有り)
非同期(調歩同期),CLK同期通信の選択可能
マルチプロセッサモード
ボーレートジェネレータとして16ビットタイマ(U-TIMER)内蔵:任意の
ボーレートを発生
外部クロックを転送クロックとして使用可能
エラー検出:パリティ,フレーム,オーバラン
3
第1章 概要
■ DMAC(DMAコントローラ)
8チャネル
転送要因:内蔵リソースの割込み要求
転送シーケンス−ステップ転送/ブロック転送/バースト転送/連続転送
転送データ長:8ビット/16ビット/32ビットから選択可
割込み要求によって一時停止が可能
■ ビットサーチモジュール
1ワード中のMSBからの最初の”1”/”0”の変化ビットの位置を1サイクルで
サーチ
■ リセット要因
パワーオンリセット/ウォッチドッグタイマ/ソフトウェアリセット/外
部リセット
■ 低消費電力モード
スリープ/ストップモード
■ クロック制御
PLL回路内蔵,1逓倍,2逓倍の選択可能
ギア機能:CPUとペリフェラルの動作クロック周波数を独立に任意に設定
可能
ギアクロックは1/1,1/2,1/4,1/8(または1/2,1/4,1/8,1/16)から選択可
能
ただし,ペリフェラルの動作は25MHzを上限とする。
■ フラッシュメモリ
256KBフラッシュROM(MB91F127)/510KBフラッシュROM(MB91F128):
単一電源にてREAD/WRITE/ERASE可能
■ その他の特長
パッケージ:LQFP-100
CMOSテクノロジ:0.35μm
電源電圧:3.3V±0.3V
■ シリーズ構成
品種名
概要
フラッシュメモリ
D-bus RAM
C-bus RAM
4
MB91FV129
評価用エバチップ
510KB
16KB
2KB
MB91F127
量産版
256KB
12KB
2KB
MB91F128
量産版
510KB
12KB
2KB
1.2 ブロックダイヤグラム
1.2
ブロックダイヤグラム
図 1.2-1に,MB91F127/128のブロックダイヤグラムを示します。
■ ブロックダイヤグラム
図 1.2-1 ブロックダイヤグラム
<注意事項>
• 端子は機能別表記です(実際の端子は一部マルチプレクス)。
• REALOSをご使用になる場合は,外部割込みを使うか内蔵タイマを使って時間管理を行ってくだ
さい。
5
第1章 概要
1.3
外形寸法図
MB91F127/128には1種類のパッケージが用意されています。
■ LQFP-100P-M05の外形寸法図
プラスチック・LQFP,100ピン
リ ー ド ピ ッ チ
0.50 mm
パッケージ幅×
パッケージ長さ
14.0×14.0 mm
リ ー ド 形 状
ガルウィング
封
止
方
法
プラスチックモールド
取 付 け 高 さ
重
1.70 mm MAX
さ
0.65 g
(FPT-100P-M05)
プラスチック・LQFP,100ピン
(FPT-100P-M05)
16.00±0.20(.630±.008)SQ
14.00±0.10(.551±.004)SQ
75
51
76
50
0.08(.003)
Details of "A" part
+0.20
100
26
1
25
C
0.20±0.05
(.008±.002)
0.08(.003)
M
0.10±0.10
(.004±.004)
(Stand off)
0°~8°
"A"
0.50(.020)
+.008
1.50 –0.10 .059 –.004
(Mounting height)
INDEX
0.145±0.055
(.0057±.0022)
0.50±0.20
(.020±.008)
0.60±0.15
(.024±.006)
0.25(.010)
2000 FUJITSU LIMITED F100007S-3c-5
単位:mm(inches)
図 1.3-1 FPT-100P-M05の外形寸法図
6
1.4 端子配列
1.4
端子配列
MB91F127/128の端子配列を示します。
■ 端子配列図
図 1.4-1に,MB91F127/128の端子配列図を示します。
図 1.4-1 MB91F127/128の端子配列図
7
第1章 概要
1.5
端子機能一覧
この節では,MB91F127/128の端子機能を説明します。
■ 端子機能説明
表 1.5-1に,MB91F127/128の端子機能を示します。
表 1.5-1 端子機能表 (続く)
端子名
D16/P20
D17/P21
D18/P22
D19/P23
D20/P24
D21/P25
D22/P26
D23/P27
D24/P30
D25/P31
D26/P32
D27/P33
D28/P34
D29/P35
D30/P36
D31/P37
A00/P40
A01/P41
A02/P42
A03/P43
A04/P44
A05/P45
A06/P46
A07/P47
A08/P50
A09/P51
A10/P52
A11/P53
A12/P54
A13/P55
A14/P56
A15/P57
A16/P60
A17/P61
A18/P62
A19/P63
A20/P64
A21/P65
A22/P66/IN2
A23/P67/IN3
8
入出力回路
形式
D
機 能
外部データバスのビット16∼ビット23です。
外部バス幅が8ビットの設定のときまたはシングルチップモードのとき
は,汎用の入出力ポート(P20∼P27)として使用できます。
D
外部データバスのビット24∼ビット31です。
未使用時は汎用の入出力ポート(P30∼P37)として使用できます。
D
外部アドレスバスのビット00∼ビット15です。
アドレスバスとして使用しない場合は,汎用の入出力ポート(P40∼P47,
P50∼P57)として使用できます。
D
外部アドレスバスのビット16∼ビット23です。
アドレスバスとして使用しない場合は,汎用の入出力ポート(P60∼P67)
として使用できます。
[IN2,IN3] インプットキャプチャの入力端子です。この機能はインプッ
トキャプチャが入力動作のときに有効になります。
1.5 端子機能一覧
表 1.5-1 端子機能表 (続く)
端子名
A24/P70/FRCK/TCI2
入出力回路
形式
D
RDY/P80
D
BGRNT /P81/IN0
D
BRQ/P82/IN1
D
RD /P83
D
WR0 /P84
D
WR1 /P85
D
機 能
外部アドレスバスのビット24です。
[P70] A24,FRCK,TCI2未使用時は汎用の入出力ポートとして使用できま
す。
[FRCK] フリーランタイマの外部クロック入力です。この機能はフリー
ランタイマの外部クロック入力を使用するときに有効になります。
[TCI2] タイマ2の外部クロック入力です。この機能はタイマ2の外部ク
ロック入力を使用するときに有効となります。
外部レディ入力です。実行中のバスサイクルが完了しないときに”0”を
入力します。未使用時は汎用の入出力ポートとして使用できます。
外部バス開放受付出力です。外部バスを開放したときに”L”を出力しま
す。未使用時は汎用の入出力ポートとして使用できます。
[IN0] インプットキャプチャの入力です。この機能はインプットキャプ
チャが入力動作のときに有効になります。
外部バス開放要求入力です。外部バスを開放してほしいときに”1”を入
力します。未使用時は汎用の入出力ポートとして使用できます。
[IN1] インプットキャプチャの入力です。この機能はインプットキャプ
チャが入力動作のときに有効になります。
外部バスリードストローブです。未使用時は汎用の入出力ポートとして
使用できます。
外部バスライトストローブです。各制御信号とデータバスのバイト位置
は次のような関係になっています。
16ビットバス幅 8ビットバス幅
D31∼D24
WR0
D23∼D16
注意事項:
WR1
WR0
(ポート可)
シングルチップモード
(ポート可)
(ポート可)
WR1 はリセット中はHi-zになっています。16ビットバス幅で使用する場
合は外部にプルアップ抵抗を付けてください。
CS0 /PA0
D
CS1 /PA1
CS2 /PA2
CS3 /PA3/SO1
D
CS4 /PA4/SI1
CS5 /PA5/SC1
CLK/PA6
D
OCPA0/PG0
OCPA1/PG1
OCPA2/PG2
OCPA3/PG3
OC0/PG4
OC1/PG5
OC2/PG6
OC3/PG7
D
[P84またはP85] WR0 , WR1 未使用時は汎用の入出力ポートとして使用
できます。
チップセレクト0,1,2出力です。(Low active)
[PA0,1,2] チップセレクトを使用しないときは汎用の入出力ポートと
して使用できます。
チップセレクト3,4,5出力です。 (Low active)
[PA3,4,5] チップセレクト,UARTのch1を使用しないときは汎用の入出
力ポートとして使用できます。
[SO1,SI1,SC1] UART1のデータ出力,データ入力,クロックの端子です。
UART1が動作を許可しているときに有効となります。
システムクロック出力です。外部バス動作周波数と同じクロックを出力
します。
[PA6] 未使用時は汎用の入出力ポートとして使用できます。
[OCPA0∼3] PPGタイマの出力です。この機能はPPGタイマの出力指定が
許可のときに有効となります。
[OC0∼3] アウトプットコンペアの出力です。この機能はアウトプット
コンペアの出力指定が許可のときに有効となります。
[PG0-7] 未使用時は汎用の入出力ポートとして使用できます。
9
第1章 概要
表 1.5-1 端子機能表 (続く)
端子名
MD0
MD1
MD2
X0
X1
A
RST
C
HST
P86/ALE
C
D
INT0/PE0
INT1/PE1
INT2/PE2
INT3/PE3
INT4/PE4/TCI1
INT5/PE5/SC0
D
SI0/PE6
D
SO0/PE7
D
PF0/TCI0
D
SI2/PF1
D
SO2/PF2
D
SC2/PF3/ ATG
D
AN0/PJ0
AN1/PJ1
AN2/PJ2
AN3/PJ3
AN4/PJ4
AN5/PJ5
AN6/PJ6
AN7/PJ7
AVCC
AVRH
10
入出力回路
形式
B
D
E
-
機 能
モード端子0∼2です。これらの端子により,MCUの基本動作モードを設定
します。
VCCまたはVSSに直接接続して使用してください。
クロック(発振)入力です。
クロック(発振)出力です。
外部リセット入力です。
ハードウェアスタンバイ入力です。
[ALE] アドレスラッチ信号出力です。この機能は,EPCRのALE出力指定が
許可のときに有効となります。
[INT0,1,2,3] 外部割込み要求入力です。対応する外部割込みを許可し
ている間はこの入力を随時使用していますので,意図的に行う以外は,ほ
かの機能による出力を停止させておく必要があります。
[PE0,1,2,3] 汎用の入出力ポートです。
[INT4,5] 外部割込み要求入力です。対応する外部割込みを許可してい
る間はこの入力を随時使用していますので,意図的に行う以外は,ほかの
機能による出力を停止させておく必要があります。
[TCI1] タイマ1の外部クロック入力です。
[SC0] UART0のクロック入力です。
[PE4,5] 汎用の入出力ポートです。
[SI0] UART0のデータ入力です。この機能はUART0のデータ入力指定が許
可のときに有効となります。
[PE6] 汎用の入出力ポートです。
[SO0] UART0のデータ出力です。この機能はUART0のデータ出力指定が許
可のときに有効となります。
[PE7] 汎用の入出力ポートです。
[TCI0] タイマ0の外部クロック入力です。
[PF0] 汎用の入出力ポートです。
[SI2] UART2のデータ入力です。この機能はUART2のデータ入力指定が許
可のときに有効となります。
[PF1] 汎用の入出力ポートです。
[SO2] UART2のデータ出力です。この機能はUART2のデータ出力指定が許
可のときに有効となります。
[PF2] 汎用の入出力ポートです。この機能はUART2のデータ出力指定が
禁止のときに有効となります。
[SC2] UART2のクロック入力です。
[ ATG ] A/Dコンバータの外部トリガ入力です。それぞれの機能を選択し
ている間は,この入力を随時使用していますので,意図的に行う以外は,
ほかの機能による出力を停止させておく必要があります。
[PF3] 汎用の入出力ポートです。
[AN0∼7] A/Dコンバータアナログ入力です。この機能はAICレジスタの
指定がアナログ入力のとき有効となります。
[PJ0∼7] 汎用入出力ポートです。
A/DコンバータのVCC電源です。
A/Dコンバータの基準電圧です(高電位側)。この端子の投入/切断は必ず
VCCにAVRH以上の電位が印加してある状態で行ってください。
1.5 端子機能一覧
表 1.5-1 端子機能表 (続き)
端子名
AVSS/AVRL
VCC
VSS
入出力回路
形式
-
機 能
A/Dコンバータ VSS電源および基準電圧(低電位側)です。
デジタル回路の電源です。必ず全端子とも電源を接続して使用してくだ
さい。
デジタル回路の接地レベルです。
<注意事項>
上記の大部分の端子は,XXXX/PXXといったように,I/Oポートとリソースの入出力がマルチプレク
スされます。これら端子でポートとリソースの出力同士が競合した場合,リソースが優先されます。
11
第1章 概要
1.6
入出力回路形式
この節では,入出力回路形式を示します。
■ 入出力回路形式
表 1.6-1 入出力回路形式(続く)
分類
回
路
形
式
備
考
・25MHz用
・発振帰還抵抗:約1MΩ
・スタンバイ制御あり
A
・CMOSレベル入力
・フラッシュテスト用の高電圧
制御あり
B
・CMOSレベルヒステリシス入力
・スタンバイ制御なし
C
12
1.6 入出力回路形式
表 1.6-1 入出力回路形式(続き)
分類
回
路
形
式
備
考
・CMOSレベル出力
・CMOSレベルヒステリシス入力
・スタンバイ制御あり
D
・スタンバイ制御あり
・CMOSレベル出力
・CMOSレベルヒステリシス入力
・アナログ入力
E
13
第1章 概要
14
第2章
デバイスの取扱いについて
この章では,MB91F127/128の取扱い上の注意について説明します。
2.1
デバイス取扱い上の注意
2.2
電源に関する取扱い上の注意
15
第2章 デバイスの取扱いについて
2.1
デバイス取扱い上の注意
ここでは,ラッチアップ防止および端子処理について説明します。
■ ラッチアップ防止のために
CMOS ICでは入力端子や出力端子にVCCより高い電圧やVSSより低い電圧を印加した
場合またはVCC∼VSS間に定格を超える電圧を印加した場合に,ラッチアップ現象を
生じることがあります。ラッチアップが生じると電源電流が激増し,素子の熱破壊
に至ることがありますので,使用に際しては最大定格を超えることのないよう十分
に注意してください。
また,アナログ端子はデジタル電源を超えないよう十分に注意してください。
■ 未使用入力端子の処理について
使用していない入力端子を開放のままにしておくと,誤動作の原因となることが
ありますので,プルアップまたはプルダウンなどの処理をしてください。
■ 電源端子の接続(VCC,VSS)について
VCC,VSS端子が複数ある場合,デバイス設計上はラッチアップなどの誤動作を防止
するためにデバイス内部で同電位にすべきもの同士を接続してありますが,不要輻
射の低減,グラウンドレベルの上昇によるストローブ信号の誤動作の防止/総電力
電流規格を遵守などのために,必ずそれらすべてを外部で電源およびグラウンドに
接続してください。また,電流供給源からできるかぎり低インピーダンスでこのデ
バイスのVCC,VSSに接続するような配慮をお願いします。
■ 水晶発振回路について
X0,X1端子の近辺のノイズは,このデバイスを誤動作のもととなります。X0とX1
および水晶発振子(またはセラミック発振子)さらにグラウンドへのバイパスコン
デンサはできるかぎり近くに配置するように,また,その配線においてはほかの配
線とできるかぎり交差しないようにプリント板を設計してください。
また,X0,X1端子の回りをグラウンドで囲むようなプリント板アートワークはよ
り安定した動作ができますので,設計の際に考慮してください。
■ NC端子の処理について
NC端子は,必ず開放にして使用してください。
■ モード端子(MD0∼MD2)について
これらの端子は,VCCまたはVSSに直接つないで使用してください。ノイズにより誤
作動してしまうことを防ぐために,プリント板上の各モード端子とVCC またはVSS間
のパターン長をできる限り短くし,これらを低インピーダンスで接続するようにし
てください。
■ 外部リセット入力
RST 端子に”L”レベルを入力し,内部が確実にリセット状態となるためには, RST
端子の”L”レベル入力が最低5マシンサイクル必要です。
16
2.1 デバイス取扱い上の注意
■ 外部クロック使用時の注意について
外部クロックを使用する際には,原則としてX0端子,またX1端子にはX0と逆相の
クロックを同時に供給してください。ただし,この場合にはSTOPモード(発振停止
モード)は使用しないでください。(STOP時X1端子が”H”出力で停止するため)
また,12.5MHz以下ではX0端子のみの供給で使用することができます。
図 2.1-1,図 2.1-2に,外部クロック使用方法例について示します。
図 2.1-1 外部クロック使用例(通常)
<注意事項>
STOPモード(発振停止モード)は使用できません。
図 2.1-2 外部クロック使用例(12.5MHz以下の場合は可能)
■ スリープ/ストップ状態からの復帰
C-Bus RAM内のプログラムからスリープ/ストップ状態に入り,その状態から復帰
する際には割込みによる復帰ではなく,リセットによる復帰をしてください。
17
第2章 デバイスの取扱いについて
2.2
電源に関する取扱い上の注意
電源投入時の端子の扱いや処理など,電源に関する注意事項について説明します。
■ 電源投入時について
電源投入時には,必ず RST 端子を”L”レベル状態から開始し,電源がVCC レベルに
なってから,最低でも内部動作クロックの5サイクル分の時間を確保してから”H”レ
ベルにしてください。
■ 電源投入時の端子状態について
電源投入時の端子の状態は不定です。電源を投入し発振が開始し,回路の初期化
が行われます。
■ 電源投入時の原振入力について
電源投入時は,必ず発振安定待ち解除されるまでの間クロックを入力してくださ
い。
■ パワーオンリセットの初期化について
デバイス内には,パワーオンリセットによってのみ初期化される内蔵レジスタ類
があります。これらの初期化を期待する場合には,電源の再投入によるパワーオン
リセットを行ってください。
18
第3章
CPUおよび制御部
CPUおよび制御部
この章では,FRファミリの機能を知るために,アーキテクチャ,仕様,命令などの基
本的なことがらについて説明します。
3.1
メモリ空間
3.2
内部アーキテクチャ
3.3
専用レジスタ
3.4
汎用レジスタ
3.5
データ構造
3.6
ワードアライメント
3.7
メモリマップ
3.8
命令概要
3.9
EIT(例外,割込み,トラップ)
3.10
リセットシーケンス
3.11
クロック発生部と制御部
3.12
スタンバイモード(低消費電力メカニズム)
3.13
動作モード
19
第3章 CPUおよび制御部
3.1
メモリ空間
FRファミリの論理アドレス空間は4Gバイト(232番地)あり,CPUはリニアにアクセス
を行います。
■ ダイレクトアドレシング領域
アドレス空間の下記の領域は,I/O用に使用されます。
この領域をダイレクトアドレシング領域と呼び,命令中で直接オペランドの
アドレスを指定できます。
ダイレクトアドレシング領域は,アクセスするデータのサイズにより,以下の
ように異なります。
バイトデータアクセス
:0∼0FFH
ハーフワードデータアクセス:0∼1FFH
ワードデータアクセス
20
:0∼3FFH
3.1 メモリ空間
■ メモリマップ
図 3.1-1に,MB91F127のメモリ空間を示します。
図 3.1-1 MB91F127のメモリマップ
<注意事項>
シングルチップモードでは外部領域へのアクセスはできません。外部領域へアクセスを行う場合
は,モードレジスタで内部ROM外部バスモードを選択してください。
21
第3章 CPUおよび制御部
図 3.1-2に,MB91F128のメモリ空間を示します。
図 3.1-2 MB91F128のメモリマップ
<注意事項>
シングルチップモードでは外部領域へのアクセスはできません。外部領域へアクセスを行う場合
は,モードレジスタで内部ROM外部バスモードを選択してください。
22
3.2 内部アーキテクチャ
3.2
内部アーキテクチャ
FRファミリCPUは,RISCアーキテクチャを採用すると同時に,組込み用途に向けた高
機能命令を導入した高性能コアです。
■ 特長
○
RISCアーキテクチャの採用
基本命令:1命令1サイクル
○
32ビットアーキテクチャ
汎用レジスタ:32ビット×16本
○
4GBのリニアなメモリ空間
○
乗算器の搭載
32ビット×32ビット乗算:5サイクル
16ビット×16ビット乗算:3サイクル
○
割込み処理機能の強化
高速応答速度:6サイクル
多重割込みのサポート
レベルマスク機能:16レベル
○
I/O操作用命令の強化
メモリ-メモリ転送命令
ビット処理命令
○
高いコード効率
基本命令語長:16ビット
○
低消費電力
スリープモード,ストップモード
23
第3章 CPUおよび制御部
■ 内部アーキテクチャ
FRファミリのCPUは,命令バスとデータバスが独立したハーバードアーキテク
チャ構造を採用しています。32ビット←→16ビットバスコンバータはデータバス
(D-BUS)に接続され,CPUと周辺リソースとのインタフェースを実現します。ハー
バード←→プリンストンバスコンバータはI-BUS,D-BUS双方に接続され,CPUとバス
コントローラとのインタフェースを実現します。
図 3.2-1に,内部アーキテクチャを示します。
図 3.2-1 内部アーキテクチャ
24
3.2 内部アーキテクチャ
○
CPU
CPUは,32ビットRISCのFRアーキテクチャをコンパクトにインプリメントした
ものです。
1サイクルあたり1命令を実行するため,5段階の命令パイプライン方式を採用
しています。パイプラインは,以下のステージから構成されています。
命令フェッチ(IF)
:命令アドレスを出力し,命令をフェッチします。
命令デコード(ID)
:フェッチした命令をデコードします。レジスタの
読出しも行います。
実行(EX)
:演算を実行します。
メモリアクセス(MA):メモリに対するロードまたはストアのアクセス
を行います。
ライトバック(WB)
:演算結果(またはロードされたメモリデータ)を
レジスタに書き込みます。
図 3.2-2に,命令パイプラインの構成を示します。
図 3.2-2 命令パイプライン
命令は,順不同で実行されることはありません。すなわち,命令Aが命令Bの前にパ
イプラインに入ると,命令Aは必ず命令Bの前に書込みバックステージに達します。
命令の実行は,原則として1サイクルあたり1命令の速度で行われます。ただし,
メモリウェイトを伴ったロードストア命令,遅延スロットをもたない分岐命令およ
び複数サイクル命令では,命令の実行に複数のサイクルが必要となります。また,
命令の供給が遅い場合も命令の実行速度が低下します。
○
32ビット←→16ビットバスコンバータ
32ビット幅で高速アクセスされるD-BUSと,16ビット幅でアクセスされる
R-BUSとのインタフェースを行い,CPUから内蔵周辺回路へのデータアクセスを
実現します。
CPUから32ビット幅のアクセスがあった場合,このバスコンバータがそれを2
回の16ビット幅アクセスに変換してR-BUSへアクセスします。内蔵周辺回路の一
部には,アクセス幅に関して制限のあるものがあります。
25
第3章 CPUおよび制御部
○
ハーバード←→プリンストンバスコンバータ
CPUの命令アクセスとデータアクセスの整合をとり,外部バスとのスムーズな
インタフェースを実現します。
CPUは,命令バスとデータバスが独立したハーバードアーキテクチャ構造です。
一方,外部バスの制御を行うバスコントローラは,単一バスのプリンストンアー
キテクチャ構造です。このバスコンバータは,CPUの命令アクセスとデータアク
セスに優先順位をつけ,バスコントローラへのアクセスを制御します。この働き
により,外部へのバスアクセス順位が常に最適化されたものになります。
また,CPUのバス待ち時間をなくすための2ワードの書込みバッファと,命令
フェッチのための1ワードのプリフェッチバッファを持っています。
26
3.3 専用レジスタ
3.3
専用レジスタ
専用レジスタは,特定の目的のために使用します。プログラムカウンタ(PC),プログ
ラムステータス(PS),テーブルベースレジスタ(TBR),リターンポインタ(RP),システ
ムスタックポインタ(SSP),ユーザスタックポインタ(USP)および乗除算結果レジスタ
(MDH/MDL)が用意されています。
■ 専用レジスタ一覧
図 3.3-1に,専用レジスタ一覧を示します。
図 3.3-1 専用レジスタ一覧
■ プログラムカウンタ(PC)
プログラムカウンタ(PC:Program Counter)の機能について説明します。
プログラムカウンタ(PC)は,32ビットから構成されています。
図 3.3-2に,プログラムカウンタ(PC)のビット構成を示します。
図 3.3-2 プログラムカウンタ(PC)のビット構成
プログラムカウンタで,実行している命令のアドレスを示しています。
命令の実行を伴うPCの更新時に,ビット0が”1”になる可能性があるのは,分岐先
アドレスとして奇数番地を指定した場合だけです。ただし,その場合でもビット0
は無効であり,命令は2の倍数のアドレスに置く必要があります。
リセットによる初期値は不定です。
27
第3章 CPUおよび制御部
■ プログラムステータス(PS)
プログラムステータスを保持するレジスタで,CCR,SCR,ILMの三つのパートに分
かれています。詳細については「3.3.1 プログラムステータスレジスタ(PS)」を
参照してください。
未定義のビットはすべて予約ビットです。読出し時,常に”0”が読み出されます。
書込みは無効です。
■ テーブルベースレジスタ(TBR)
テーブルベースレジスタ(TBR:Table Base Register)の機能について説明します。
テーブルベースレジスタ(TBR)は,32ビットから構成されています。
図 3.3-3に,テーブルベースレジスタ(TBR)のビット構成を示します。
図 3.3-3 テーブルベースレジスタ(TBR)のビット構成
テーブルベースレジスタで,EIT処理の際に使用されるベクタテーブルの先頭ア
ドレスを保持します。
リセットによる初期値は,000FFC00Hです。
■ リターンポインタ(RP)
リターンポインタ(RP:Return Pointer)の機能について説明します。
リターンポインタ(RP)は,32ビットから構成されています。
図 3.3-4に,リターンポインタ(RP)のビット構成を示します。
図 3.3-4 リターンポインタ(RP)のビット構成
リターンポインタで,サブルーチンから復帰するアドレスを保持します。
CALL命令実行時,PCの値がこのRPに転送されます。
RET命令実行時,RPの内容がPCに転送されます。
リセットによる初期値は不定です。
■ システムスタックポインタ(SSP)
システムスタックポインタ(SSP:System Stack Pointer)の機能について説明しま
す。
システムスタックポインタ(SSP)は,32ビットから構成されています。
図 3.3-5に,システムスタックポインタ(SSP)のビット構成を示します。
図 3.3-5 システムスタックポインタ(SSP)のビット構成
SSPは,システムスタックポインタです。
Sフラグが”0”のとき,R15として機能します。
SSPを明示的に指定することも可能です。
また,EIT発生時に,PSとPCを退避するスタックを指定するスタックポインタとし
ても使用されます。
リセットによる初期値は00000000Hです。
28
3.3 専用レジスタ
■ ユーザスタックポインタ(USP)
ユーザスタックポインタ(USP:User Stack Pointer)の機能について説明します。
ユーザスタックポインタ(USP)は,32ビットから構成されています。
図 3.3-6に,ユーザスタックポインタ(USP)のビット構成を示します。
図 3.3-6 ユーザスタックポインタ(USP)のビット構成
USPは,ユーザスタックポインタです。
Sフラグが”1”のとき,R15として機能します。
USPを明示的に指定することも可能です。
リセットによる初期値は不定です。
RETI命令で使用することはできません。
■ 乗除算結果レジスタ(MDH/MDL)
乗除算結果レジスタ(MDH/MDL:Multiply & Divide register)の機能について説明
します。
乗除算結果レジスタ(MDH/MDL)は,32ビットから構成されています。
図 3.3-7に,乗除算結果レジスタ(MDH/MDL)のビット構成を示します。
図 3.3-7 乗除算結果格納レジスタ(MDH/MDL)
乗除算用のレジスタで,MDHとMDLがあります。それぞれ32ビット長です。
リセットによる初期値は不定です。
○
乗算実行時の機能
32ビット×32ビットの乗算のとき,64ビット長の演算結果は,以下の配置で乗
除算結果レジスタに格納されます。
MDH:上位32ビット
MDL:下位32ビット
16ビット×16ビットの乗算の場合は,以下のように結果が乗除算結果レジス
タに格納されます。
MDH:不定
MDL:結果32ビット
○
除算実行時の機能
計算開始時,被除数をMDLに格納します。
DIV0S/DIV0U,DIV1,DIV2,DIV3,DIV4Sの各命令の実行により除算を計算すると,
以下のように結果がMDLとMDHに格納されます。
MDH:剰余
MDL:商
29
第3章 CPUおよび制御部
3.3.1
プログラムステータスレジスタ(PS)
プログラムステータスレジスタ(PS)
プログラムステータスレジスタ(PS:Program Status)は,プログラムステータスを
保持するレジスタで,ILM,SCRおよびCCRの三つのパートに分かれています。未定義の
ビットはすべて予約ビットです。読出し時,常に”0”が読み出されます。書込みは無効
です。
■ プログラムステータスレジスタ(PS)
○
プログラムステータスレジスタ(PS)
プログラムステータスレジスタ(PS)は,コンディションコードレジスタ(CCR),シス
テムコンディションコードレジスタ(SCR)および割込みレベルマスクレジスタ
(ILM)から構成されています。
図 3.3-8に,プログラムステータスレジスタのレジスタ構成を示します。
図 3.3-8 プログラムステータスレジスタ(PS)のレジスタ構成
○
コンディションコードレジスタ(CCR)
図 3.3-9に,コンディションコードレジスタ(CCR:Condition Code Register)
の構成を示します。
図 3.3-9 コンディションコードレジスタ(CCR)のレジスタ構成
以下に,各ビットの機能を説明します。
【ビット5】S:スタックフラグ
このビットは,R15として使用させるスタックポインタを指定します。
S
0
1
スタックフラグ(S)の機能
システムスタックポインタ(SSP)がR15として使用されます。
EIT発生時,自動的に”0”となります。
(ただし,スタックに退避される値はクリアされる前の値です。)
ユーザスタックポインタ(USP)がR15として使用されます。
このビットは,リセットにより”0”にクリアされます。
RETI命令実行時は”0”にセットしてください。
30
3.3 専用レジスタ
【ビット4】I:割込み許可フラグ
このビットは,ユーザ割込み要求の許可/禁止を制御します。
I
0
1
割込み許可フラグ(I)の機能
ユーザ割込禁止。
INT命令実行時,”0”にクリアされます。
(ただし,スタック退避させる値はクリアする前の値です。)
ユーザ割込許可。
ユーザ割込要求のマスク処理は,ILMの保持する値により制御されます。
このビットは,リセットにより”0”にクリアされます。
【ビット3】N:ネガティブフラグ
このビットは,演算結果を2の補数で表現された整数とみなしたときの符号を
示します。
N
ネガティフラグ(N)の機能
0
演算結果が正の値であったことを示します。
1
演算結果が負の値であったことを示します。
このビットは,リセットによる初期状態は不定です。
【ビット2】Z:ゼロフラグ
このビットは,演算結果が0であったかどうかを示します。
Z
ゼロフラグ(Z)の機能
0
演算結果が0以外の値であったことを示します。
1
演算結果が0であったことを示します。
このビットは,リセットによる初期状態は不定です。
【ビット1】V:オーバフローフラグ
このビットは,演算に用いたオペランドを2の補数で表現される整数であると
みなし,演算の結果,オーバフローが生じたかどうかを示します。
V
オーバフローフラグ(V)の機能
0
演算の結果,オーバフローは生じていないことを示します。
1
演算の結果,オーバフローが生じたことを示します。
このビットは,リセットによる初期状態は不定です。
【ビット0】C:キャリフラグ
このビットは,演算により最上位ビットからのキャリまたはボローが発生し
たかどうかを示します。
C
キャリフラグ(C)の機能
0
キャリもボローも発生していないことを示します。
1
キャリまたはボローが発生したことを示します。
このビットは,リセットによる初期状態は不定です。
31
第3章 CPUおよび制御部
○
システムコンディションコードレジスタ(SCR)
図 3.3-10に,システムコンディションコードレジスタ(SCR:System Condition
code Register)の構成を示します。
。
図 3.3-10 システムコンディションコードレジスタ(SCR)のレジスタ構成
以下に,システムコンディションコードレジスタ(SCR)の各ビットの機能を説
明します。
【ビット10,9】D1,D0:ステップ除算用フラグ
これらのビットは,ステップ除算実行時の中間データを保持します。
除算処理の実行途中は,変更してはいけません。
ステップ除算実行途中にほかの処理を行う場合は,プログラムステータスレ
ジスタ(PS)の値を退避/復帰することによりステップ除算の再開が保証されま
す。
このビットは,リセットによる初期状態は不定です。
DIV0S命令の実行により,被除数と除数を参照して設定されます。
DIV0U命令の実行により,強制的にクリアされます。
【ビット8】T:ステップトレーストラップフラグ
このビットは,ステップトレーストラップを有効にするかどうかを指定する
フラグです。
T
0
1
ステップトレーストラップ(T)の機能
ステップトレーストラップ無効
ステップトレーストラップ有効
このとき,ユーザ用NMIとユーザ割込みがすべて割込禁止となります。
このビットは,リセットにより”0”に初期化されます。
ステップトレーストラップの機能はエミュレータが使用します。エミュレー
タ使用時,ユーザプログラム中で使用することはできません。
32
3.3 専用レジスタ
○
割込みレベルマスクレジスタ(ILM)
図 3.3-11に,割込みレベルマスクレジスタ(ILM)の構成を示します。
図 3.3-11 割込みレベルレジスタ(ILM)のレジスタ構成
割込みレベルマスクレジスタ(ILM)は,割込みレベルマスク値を保持するレジ
スタで,このILMの保持する値がレベルマスクに使用されます。
CPUに入力される割込要求の中で,対応する割込みレベルが,このILMで示され
るレベルよりも強い場合にのみ割込要求が受け付けられます。
レベル値は,0(00000B)が最強で,31(11111B)が最弱です。
プログラムから設定可能な値には制限があります。元の値が16∼31の場合,新
たな値として設定できるのは16∼31です。0∼15を設定する命令を実行する
と,(指定した値+16)という値が転送されます。
元の値が0∼15の場合は,0∼31の任意の値が設定可能です。
このレジスタは,リセットにより15(01111B)に初期化されます。
33
第3章 CPUおよび制御部
3.4
汎用レジスタ
レジスタR0∼R15は汎用レジスタです。各種演算におけるアキュムレータおよびメ
モリアクセスのポインタとして使用されます。
■ 汎用レジスタ
図 3.4-1に,汎用レジスタの構成を示します。
図 3.4-1 汎用レジスタの構成
16本のレジスタのうち,以下に示すレジスタは特殊な用途を想定しています。
そのため,一部の命令が強化されています。
R13:仮想アキュムレータ(AC)
R14:フレームポインタ(FP)
R15:スタックポインタ(SP)
リセットによるR0∼R14の初期値は不定です。R15の初期値は,00000000H(SSPの
値)となります。
34
3.5 データ構造
3.5
データ構造
FRファミリのデータ配置には,次の二つがあります。
・ビットオーダリングの場合:リトルエンディアン
・バイトオーダリングの場合:ビッグエンディアン
■ ビットオーダリング
FRファミリでは,ビットオーダリングとして,リトルエンディアンを採用してい
ます。
図 3.5-1に,ビットオーダリングのビット構成を示します。
図 3.5-1 ビットオーダリングのビット構成
■ バイトオーダリング
FRファミリでは,バイトオーダリングとして,ビッグエンディアンを採用してい
ます。
図 3.5-2に,バイトオーダリングの構造を示します。
図 3.5-2 バイトオーダリングの構造
35
第3章 CPUおよび制御部
3.6
ワードアライメント
命令やデータはバイト単位でアクセスするため,配置するアドレスは命令長やデー
タ幅で異なります。
■ プログラムアクセス
FRファミリのプログラムは,2の倍数のアドレスに配置する必要があります。
プログラムカウンタ(PC)のビット0は,命令の実行に伴うPCの更新時に,”0”に設
定されます。
“1”になる可能性があるのは,分岐先アドレスとして奇数番地を指定した場合だ
けです。
ただし,その場合でもビット0は無効であり,命令は2の倍数のアドレスに置かな
くてはなりません。
奇数アドレス例外はありません。
■ データアクセス
FRファミリでは,データアクセスを行う際,その幅により以下のように強制的な
アラインメントがアドレスに対して施されます。
ワードアクセス
:アドレスは,4の倍数
(最下位2ビットは強制的に”00”)
ハーフワードアクセス:アドレスは,2の倍数
(最下位ビットは強制的に”0”)
バイトアクセス
:
──
ワードおよびハーフワードデータアクセス時に,一部のビットが強制的に”0”に
されるのは,実効アドレスの計算結果に対してです。例えば,@(R13,Ri)のアドレシ
ングモードの場合,加算前のレジスタは(たとえ最下位ビットが”1”であっても)そ
のまま計算に使用され,加算結果の下位ビットがマスクされます。計算前のレジス
タがマスクされるわけではありません。
【例】
36
LD
@(R13,R2),R0
3.7 メモリマップ
3.7
メモリマップ
MB91F127/128のメモリマップと,FRファミリ共通のメモリマップを示します。
■ MB91F127/128のメモリマップ
メモリのアドレス空間は32ビットリニアです。
図 3.7-1に,MB91F127/128のメモリマップを示します。
図 3.7-1 メモリマップ
○
ダイレクトアドレシング領域
アドレス空間の下記の領域は,I/O用の領域です。この領域は,ダイレクトアド
レシングにより,命令中で直接オペランドアドレスを指定することができます。
ダイレクトアドレス指定可能なアドレス領域の大きさは,データ長ごとに異
なります。
○
バイトデータ(8ビット)
:0∼0FFH
ハーフワードデータ(16ビット)
:0∼1FFH
ワードデータ(32ビット)
:0∼3FFH
ベクタテーブル初期領域
000FFC00H∼000FFFFFHの領域はEITベクタテーブル初期領域です。
EIT処理時に使用されるベクタテーブルは,TBRを書き換えることにより任意
のアドレスに配置可能ですが,リセットによる初期化によってこのアドレスに
配置されます。
37
第3章 CPUおよび制御部
■ FRファミリ共通のメモリマップ
FRファミリでは,メモリマップを以下のように定めています。これは,品種によら
ず共通です(シングルチップモードを除く)。
図 3.7-2に,FRファミリ共通のメモリマップを示します。
図 3.7-2 FRファミリ共通のメモリマップ
<注意事項>
シングルチップモードでは,外部領域はアクセス不可になります。
MB91F127/128では,内蔵ROM領域の080000H∼0807FFHを内蔵RAM2KBにアサインしています。
38
3.8 命令概要
3.8
命令概要
FRファミリは,一般的なRISCの命令体系に加え,組込み用途に最適化された論理演
算,ビット操作およびダイレクトアドレッシング命令をサポートしています。各命令
は16ビット長(一部命令は32,48ビット長)ですので,優れたメモリ使用効率を持ちま
す。
命令セットは以下の機能グループに分けることができます。
・算術演算
・ロードとストア
・分岐
・論理演算とビット操作
・ダイレクトアドレッシング
・その他
■ 命令概要
○
算術演算
標準の算術演算命令(加算,減算,比較)およびシフト命令(論理シフト,算術演
算シフト)があります。加算と減算については,多ワード長演算で使用するキャ
リ付演算や,アドレス計算に便利なフラグ値を変化させない演算も可能です。
さらに,32ビット×32ビット,16ビット×16ビットの乗算命令と,32ビット÷
32ビットのステップ除算命令を持ちます。
また,レジスタに即値をセットする即値転送命令や,レジスタ間転送命令も備
えています。
算術演算命令は,すべてCPU内の汎用レジスタおよび乗除算レジスタを用いて
演算を行います。
○
ロードとストア
ロードとストアは外部メモリに対して読出しと書込みを行う命令です。また,
チップ内の周辺回路(I/O)への読出しと書込みにも使用されます。
ロードとストアはバイト,ハーフワード,ワードの3種類のアクセス長を持ち
ます。また一般的なレジスタ間接のメモリアドレッシングに加え,一部の命令に
ついてはディスプレースメント付レジスタ間接やレジスタインクリメントデク
リメント付レジスタ間接のメモリアドレッシングも可能です。
○
分岐
分岐,コール,割込みおよび復帰の命令です。分岐命令は,遅延スロットを持つ
ものと持たないものがあり,用途に応じて最適化を行うことができます。
分岐命令の詳細については「3.8.1 遅延スロット付き分岐命令」「3.8.2 遅
延スロットなし分岐命令」を参照してください。
○
論理演算とビット操作
論理演算命令は汎用レジスタ間または汎用レジスタとメモリ(およびI/O)間
でAND,OR,EORの論理演算を行うことが可能です。また,ビット操作命令はメモリ
(およびI/O)の内容を直接操作することができます。メモリアドレッシングは一
般的なレジスタ間接です。
39
第3章 CPUおよび制御部
○
ダイレクトアドレシング
ダイレクトアドレシング命令はI/Oと汎用レジスタ間またはI/Oとメモリ間の
アクセスに使用する命令です。I/Oのアドレスをレジスタ間接ではなく命令中で
直接指定することにより,高速,高効率なアクセスを行うことができます。一部
の命令についてはレジスタインクリメントデクリメント付レジスタ間接のメモ
リアドレッシングも可能です。
○
その他
プログラムステータスレジスタ(PS)内のフラグ設定,スタック操作,符号/ゼ
ロ拡張等を行う命令です。また,高級言語対応の関数入口/出口,レジスタマルチ
ロード/ストア命令も備えています。
40
3.8 命令概要
3.8.1
遅延スロット付き分岐命令
遅延スロット付きの動作では,分岐先の命令を実行する前に,分岐命令の直後(”遅
延スロット”と呼びます)に置かれた命令を実行した後に分岐します。
■ 遅延スロット付き分岐命令
遅延スロット付きの分岐命令には,以下の命令があります。
JMP:D @Ri
CALL:D label12
CALL:D @Ri
BRA:D label9
BNO:D label9
BEQ:D label9
BC:D
label9
BNC:D label9
BN:D
label9
BV:D
label9
BNV:D label9
BLT:D label9
BLE:D label9
BGT:D label9
BLS:D label9
RET:D
BNE:D
BP:D
BGE:D
BHI:D
label9
label9
label9
label9
■ 遅延スロット付き分岐命令の動作説明
遅延スロット付きの動作では,分岐先の命令を実行する前に,分岐命令の直後
(「遅延スロット」と呼びます)に置かれた命令を実行した後に,分岐します。
分岐動作の前に遅延スロットの命令を実行するため,見かけ上の実行速度が1サ
イクルとなります。その代わり,遅延スロットに有効な命令を入れることができな
いときは,NOP命令を置かなくてはなりません。
[例]
;
命令の並び
ADD
BRA:D
MOV
…
LABEL : ST
R1, R2
LABEL
R2, R3
;
; 分岐命令
; 遅延スロット…分岐の前に実行される
R3, @R4
; 分岐先
条件分岐命令の場合,分岐条件が成立する場合も成立しない場合も遅延ス
ロットに置かれた命令は実行されます。
遅延分岐命令では,一部の命令の実行順序が反転するように見えますが,それ
はPCの更新動作だけについてであり,その他の動作(レジスタの更新/参照など)
はあくまで記述された順番で実行されます。
以下に,具体例を示します。
○
JMP:D @Ri / CALL:D @Ri 命令で参照するRiは,遅延スロットの中の命令がRi
を更新しても影響を受けません。
[例]
LDI:32 #Label,
JMP:D @R0
LDI:8 #0,
…
R0
R0
; Label に分岐
; 分岐先アドレスには影響を与えない。
41
第3章 CPUおよび制御部
○
RET:D 命令が参照するRPは,遅延スロットの中の命令がRPを更新しても影響を
受けません。
[例]
RET:D
MOV
…
○
R8,
RP
;これより前に設定されたRPの示すアドレスへの分岐
;リターン動作には影響を与えない
Bcc:D rel命令が参照するフラグも,遅延スロットの命令の影響を受けません。
[例]
ADD
#1,
BC:D
Overflow
ANDCCR #0
…
○
R0
;フラグ変化
;上記の命令の実行結果により分岐
;このフラグ更新は上記分岐命令では参照しない
CALL:D命令の遅延スロット中の命令でRPを参照すると,CALL:D命令により更
新された内容が読み出されます。
[例]
CALL:D Label
MOV
RP,
…
R0
;RPを更新して分岐
;上記CALL:Dの実行結果のRPを転送
■ 遅延スロット付き分岐命令の制限事項
○
遅延スロットに置くことができる命令
遅延スロット内で実行できるのは,以下の条件を満たす命令のみです。
1サイクル命令
分岐命令ではないこと
順番が変化した場合でも動作に影響を与えない命令
「1サイクル命令」とは,命令一覧表中でサイクル数の欄が「1」,「a」,「b」,
「c」または「d」と記載された命令です。
○
ステップトレーストラップ
遅延スロットを持つ分岐命令の実行と遅延スロットの間では,ステップト
レーストラップは発生しません。
○
割込み/NMI
遅延スロットを持つ分岐命令の実行と遅延スロットの間では,割込み/NMIを
受理しません。
○
未定義命令例外
遅延スロットに未定義命令があった場合,未定義命令例外は発生しません。こ
のとき,未定義命令はNOP命令として動作します。
42
3.8 命令概要
3.8.2
遅延スロットなし分岐命令
遅延スロットなしの動作では,あくまで命令の順に実行します。
■ 遅延スロットなし分岐命令
遅延スロットなしの分岐命令には,以下の命令があります。
JMP @Ri
CALL label12
CALL @Ri
RET
BRA label9
BNO
label9
BEQ
label9
BNE
BC
label9
BNC
label9
BN
label9
BP
BV
label9
BNV
label9
BLT
label9
BGE
BLE label9
BGT
label9
BLS
label9
BHI
label9
label9
label9
label9
■ 遅延スロットなし分岐命令の動作説明
遅延スロットなしの動作では,あくまで命令の並びの順に実行します。直後の命
令が分岐前に実行されることはありません。
[例]
;
命令の並び
ADD
BRA
MOV
…
LABEL: ST
R1, R2
LABEL
2, R3
;
; 分岐命令(遅延スロットなし)
; 実行されない
R3, @R4
; 分岐先
遅延スロットなしの分岐命令の実行サイクル数は,分岐するとき2サイクル,分岐
しないとき1サイクルとなります。これは,遅延スロットに適当な命令を入れること
ができないためにNOPを明記した遅延スロット付き分岐命令に比べ,命令コード効
率を上げることができます。遅延スロットに有効な命令を設置できるときは遅延ス
ロット付きの動作を選択し,そうでないときは遅延スロットなしの動作を選択する
ことで,実行速度とコード効率を両立させることが可能となります。
43
第3章 CPUおよび制御部
3.9
EIT(例外
EIT(例外,
例外,割込み,
割込み,トラップ)
トラップ)
EITとは,現プログラム実行時にイベントの発生により,そのプログラムの実行を中
断し,ほかのプログラムを実行することを指し,例外(Exception),割込み(Interrupt),
トラップ(Trap)の総称です。
■ EIT(例外,割込み,トラップ)
例外とは,実行中のコンテキストに関連して発生する事象です。例外を起こした
命令から再実行します。
割込みとは,実行中のコンテキストに無関係に発生する事象です。イベント要因
は,ハードウェアです。
トラップとは,実行中のコンテキストに関連して発生する事象です。システム
コールのようにプログラムで指示するものがあります。トラップを起こした命令の
次の命令から再実行します。
■ 特長
割込みに多重割込みをサポート
割込みにレベルマスク機能(15レベルをユーザが使用可能)
トラップ命令(INT)
エミュレータ起動用EIT(ハードウェア/ソフトウェア)
■ EIT要因
EIT要因として,以下のものがあります。
リセット
ユーザ割込み(内部リソース,外部割込み)
遅延割込み
未定義命令例外
トラップ命令(INT)
トラップ命令(INTE)
ステップトレーストラップ
コプロセッサ不在トラップ
コプロセッサエラートラップ
■ EITからの復帰
EITからの復帰には,RETI命令を使用します。
■ EITの注意事項
遅延スロット
分岐命令の遅延スロットには,EITに関して制約があります。詳しくは
「3.8 命令概要」を参照してください。
44
3.9 EIT(例外,割込み,トラップ)
3.9.1
EITの割込みレベル
EITの割込みレベル
割込みレベルは0∼31で,5ビットで管理されます。
■ EITの割込みレベル
表 3.9-1に,各レベルの割当てを示します。
表 3.9-1 EITの割込みレベル
レベル
2進数
00000
…
…
00011
10進数
0
…
…
3
要因
備考
(システム予約)
…
…
(システム予約)
ILMの元の値が16∼31のとき,
この範囲の値をプログラムに
よりILMに設定することはで
きません。
00100
4
INTE命令
ステップトレーストラップ
00101
…
…
01110
01111
10000
5
…
…
14
15
16
(システム予約)
…
…
(システム予約)
NMI(ユーザ用)
割込み
ILM設定時,ユーザ割込禁止
10001
…
…
11110
11111
17
…
…
30
31
割込み
…
…
割込み
─
ICR設定時,割込禁止
操作が可能なのは,16∼31のレベルです。
未定義命令例外,コプロセッサ不在トラップ,コプロセッサエラートラップおよ
びINT命令は,割込みレベルの影響を受けません。また,ILMを変化させることもあり
ません。
■ Iフラグ
割込みの許可/禁止を指定するフラグです。プログラムステータスレジスタ(PS)
のCCRのビット4として設けられています。
I
0
1
Iフラグの機能
割込み禁止。
INT命令実行時”0”にクリアされます。
(ただし,スタック退避させる値はクリアする前の値です。)
割込み許可。
割込要求のマスク処理は,ILMの保持する値により制御されます。
45
第3章 CPUおよび制御部
■ 割込みレベルマスクレジスタ(ILM)
割込みレベルマスク値を保持するプログラムステータスレジスタ(PS)(ビット20
∼16)です。
CPUに入力される割込み要求の中で,対応する割込みレベルが,この割込みレベル
マスクレジスタ(ILM)で示されるレベルよりも強い場合にのみ割込要求が受け付け
られます。
レベル値は,0(00000B)が最強で,31(11111B)が最弱です。
プログラムから設定可能な値には制限があります。元の値が16∼31のとき,新た
な値として設定できるのは16∼31です。0∼15の値を設定する命令を実行すると,”
指定した値+16”という値が転送されます。
元の値が0∼15のときは,0∼31の任意の値が設定可能です。
<注意事項>
割込みレベルマスクレジスタ(ILM)を設定するには,STILM命令を使用してください。
■ 割込みに対するレベルマスク
割込み要求が発生したときは,割込み要因の持つ割込みレベル(「表 3.9-1」を参
照してください)がILMの保持するレベルマスク値と比較されます。そして,次の条
件が成立したときはマスクされ,要求は受理されません。
要因の持つ割込みレベル
46
≧
レベルマスク値
3.9 EIT(例外,割込み,トラップ)
3.9.2
割込み制御レジスタ(ICR)
割込み制御レジスタ(ICR)
割込み制御レジスタ(ICR:Interrupt Control Register)は,割込みコントローラ内
に設けられたレジスタで,割込みの各要求に対するレベルを設定します。ICRは,割込
要求入力のそれぞれに対応して用意されています。ICRはI/O空間にマッピングされて
おり,CPUからはバスを通してアクセスされます。
■ 割込み制御レジスタ(ICR)のビット構成
図 3.9-1に,割込み制御レジスタ(ICR)のビット構成を示します。
図 3.9-1 割込み制御レジスタ(ICR)のビット構成
以下に,割込み制御レジスタ(ICR)の各ビットの機能を説明します。
【ビット4】ICR4
このビットは,常に”1”です。
【ビット3∼0】ICR3∼0
これらのビットは,対応する割込み要因の割込みレベルの下位4ビットです。
読出し,書込みが可能です。
ビット4と合わせて,ICRは16∼31の範囲で値を設定することができます。
■ 割込み制御レジスタ(ICR)のマッピング
表 3.9-2に,割込要因と割込みベクタの割当てを示します。
表 3.9-2 割込要因と割込みベクタの割当て
割込み制御レジスタ
割込み要因
番号
アドレス
IRQ00
IRQ01
IRQ02
…
…
ICR00
ICR01
ICR02
…
…
00000400H
00000401H
00000402H
…
…
IRQ45
IRQ46
IRQ47
ICR45
ICR46
ICR47
0000042DH
0000042EH
0000042FH
対応する割込みベクタ
番 号
アドレス
16進
10進
10H
16
TBR + 3BCH
11H
17
TBR + 3B8H
12H
18
TBR + 3B4H
…
…
…
…
…
…
3DH
3EH
3FH
61
62
63
TBR + 308H
TBR + 304H
TBR + 300H
詳細は「第12章 遅延割込みコントローラ」を参照してください。
47
第3章 CPUおよび制御部
3.9.3
システムスタックポインタ(SSP)
システムスタックポインタ(SSP)
システムスタックポインタ(SSP)は,EITの受理および復帰動作時のデータ退避/復
帰用スタックを示すポインタとして使用されます。
■ システムスタックポインタ(SSP)
システムスタックポインタ(SSP)は,32ビットから構成されています。
図 3.9-2に,システムスタックポインタ(SSP)のビット構成を示します。
図 3.9-2 システムスタックポインタ(SSP)のビット構成
EIT処理時に内容が8減算され,RETI命令の実行によるEITからの復帰動作時に8加
算されます。
リセットによる初期値は00000000Hです。
SSPは,CCR中のSフラグが”0”のとき,汎用レジスタR15としても機能します。
■ 割込みスタック
システムスタックポインタ(SSP)により示される領域で,PCおよびPSの値が退避/
復活されます。割込み後は,SSPの示すアドレスにPCが,”SSP+4”のアドレスにPSが格
納されています。
図 3.9-3に,割込みスタックの例を示します。
図 3.9-3 割込みスタックの例
48
3.9 EIT(例外,割込み,トラップ)
3.9.4
テーブルベースレジスタ(TBR)
テーブルベースレジスタ(TBR)
テーブルベースレジスタ(TBR:Table Base Register)は,EIT用ベクタテーブルの先
頭アドレスを示すレジスタです。
■ テーブルベースレジスタ(TBR)
テーブルベースレジスタ(TBR)は,32ビットから構成されています。
図 3.9-4に,テーブルベースレジスタ(TBR)のビット構成を示します。
図 3.9-4 テーブルベースレジスタ(TBR)のビット構成
TBRとEIT要因ごとに決められたオフセット値を加算したアドレスが,ベクタアド
レスとなります。
リセットによる初期値は000FFC00Hです。
■ EITベクタテーブル
テーブルベースレジスタ(TBR)の示すアドレスから1KBの領域が,EIT用ベクタ領
域となっています。
1ベクタ当たりの大きさは4バイトで,ベクタ番号とベクタアドレスの関係は下記
のように表されます。
vctadr = TBR + vctofs
= TBR + (3FCH - 4 × vct)
vctadr:ベクタアドレス
vctofs:ベクタオフセット
vct
:ベクタ番号
加算結果の下位2ビットは,常に”00”として扱われます。
000FFC00H∼000FFFFFHの領域がリセットによるベクタテーブルの初期領域です。
ベクタの一部には特殊な機能が割り当てられています。
表 3.9-3に,アーキテクチャ上のベクタテーブルを示します。
49
第3章 CPUおよび制御部
表 3.9-3 ベクタテーブル
ベクタオフセット
ベクタ番号
説
明
(16進数)
16進数
10進数
3FC
00
0
リセット *1
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
:
:
:
:
:
:
:
:
300
3F
63
マスク可能割込み要因/INT命令
2FC
40
64
システム予約(REALOSにて使用)
2F8
41
65
システム予約(REALOSにて使用)
2F4
42
66
マスク可能割込み要因/INT命令
:
:
:
:
:
:
:
:
000
FF
255
*1:TBRの値を変更してもリセットベクタは常に固定アドレス000FFFFCHが使用されます。
*2:MB91F128におけるベクタテーブルは「付録 B 割込みベクタ」を参照してください。
50
3.9 EIT(例外,割込み,トラップ)
3.9.5
多重EIT
多重EIT処理
EIT処理
複数のEIT要因が同時に発生した場合,CPUは一つのEIT要因を選択して受理し,EIT
シーケンスを実行した後,再びEIT要因の検出を行う,という動作を繰り返します。
EIT要因検出の際に,受理可能なEIT要因がなくなったとき,最後に受理したEIT要因
のハンドラの命令を実行します。そのため,複数のEIT要因が同時に発生した場合の各
要因に対するハンドラの実行順序は,次の二つの要素によって決まります。
・EIT要因受理の優先順位
・受理した場合にほかの要因をどのようにマスクするか
■ EIT要因受理の優先順位
EIT要因受理の優先度とは,PSとPCを退避してPCを更新し(必要に応じて)ほかの
要因のマスク処理を行うという,EITシーケンスを実行する要因を選ぶときの順番
です。必ずしも,先に受理された要因のハンドラが先に実行されるわけではありま
せん。
表 3.9-4に,EIT要因受理の優先度を示します。
表 3.9-4 EIT要因の受理の優先度とほかの要因へのマスク
受理の優先順位
要 因
1
リセット
2
未定義命令例外
INT命令
3
コプロセッサ不在トラップ
コプロセッサエラートラップ
4
ユーザ割込み
5
NMI(ユーザ用)
6
ステップトレーストラップ
7
INTE命令
ほかの要因に対するマスク
ほかの要因は破棄されます。
取消
Iフラグ=0
なし
ILM=受理した要因のレベル
ILM=15
ILM=4
ILM=4
EIT要因を受理した後,ほかの要因に対するマスクの処理を加味すると同時に発
生したEIT要因の各ハンドラの実行順序は以下のようになります。
表 3.9-5に,EIT要因の各ハンドラの実行順序を示します。
表 3.9-5 EITハンドラの実行順序
ハンドラの実行順序
要 因
1
リセット *1
2
未定義命令例外
3
ステップトレーストラップ *2
4
INTE命令 *2
5
NMI(ユーザ用)
6
INT命令
7
ユーザ割込み
8
コプロセッサ不在トラップ,コプロセッサエラートラップ
*1:ほかの要因は破棄されます。
*2:ステップトレーストラップによるEITが発生する状況下でのINTE命令は使用でき
ません。
51
第3章 CPUおよび制御部
図 3.9-5に,多重EIT処理の例を示します。
図 3.9-5 多重EIT処理の例
52
3.9 EIT(例外,割込み,トラップ)
3.9.6
EITの動作
EITの動作
EITの動作について説明します。
■ EITの動作
以下の説明で,転送元の”PC”とは各EIT要因を検出した命令のアドレスを示すも
のとします。
また,動作説明の中で”次の命令のアドレス”とは,EITを検出した命令が下記のよ
うになっていることを意味します。
LDIが32のとき:PC+6
LDIが20で,COPOP,COPLD,COPST,COPSVのとき:PC+4
その他の命令のとき:PC+2
■ ユーザ割込みの動作
ユーザ割込み要求が発生すると,以下の順序で要求受理の可否が判定されます。
○
割込み要求受理の可否判定
1)
同時に発生した要求の割込みレベルを比較し,最も強いレベル(最も小さ
い数値)を保持するものが選択されます。比較に使用されるレベルは,マス
ク可能割込みについては対応するICRの保持する値が使用されます。
2)
同じレベルをもつ割込み要求が複数発生しているときは,最も若い割込み
番号をもつ割込要求が選択されます。
3)
選択された割込み要求の割込みレベルをILMで決定されるレベルマスク値
と比較します。
割込みレベル ≧ レベルマスク値のとき,割込要求はマスクされ受理され
ません。
割込みレベル < レベルマスク値のときは,4)へ移ります。
4)
選択された割込み要求がマスク可能割込みであるとき,Iフラグが”0”なら
ば割込み要求はマスクされ,受理されません。Iフラグが”1”ならば 5)へ移
ります。
5) 上記の条件が成立したとき,命令処理の切れ目で割込要求が受理されます。
EIT要求検出時にユーザ割込みの要求が受理されると,受理された割込み要求に
対応した割込み番号を使用して,CPUは以下のように動作します。[動作]における
( )は,レジスタの指すアドレスを表します。
【動作】
1)
SSP-4
→ SSP
2)
PS
→
3)
SSP-4
→ SSP
4)
次の命令のアドレス
5)
受理した要求の割込みレベル
6)
“0”
7)
(TBR + 受理した割込み要求のベクタオフセット)
→
(SSP)
→
(SSP)
→
ILM
Sフラグ
→ PC
割込みシーケンス終了後,ハンドラの先頭の命令を実行する前に,新たなEITの検
出を行います。この時点で受理可能なEITが発生していると,CPUはEIT処理シーケン
スに遷移します。
53
第3章 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)
“00100”
→
ILM
6)
“0”
→
Sフラグ
7)
(TBR + 3D8H)
→
PC
INTE命令およびステップトレーストラップの処理ルーチン中では,INTE命令は使
用しないでください。
また,ステップ実行中はINTEによるEITの発生はありません。
54
3.9 EIT(例外,割込み,トラップ)
■ ステップトレーストラップの動作
PS中のSCRにおけるTフラグをセットしてステップトレースの機能をイネーブル
にしておくと,一命令実行ごとにトラップが発生し,ブレイクします。ステップト
レーストラップ検出の条件は,以下のとおりです。
○
ステップトレースストラップ検出の条件
Tフラグ=1
遅延分岐命令ではないとき
INTE命令,ステップトレーストラップの処理ルーチン以外を実行中で
あるとき
以上の条件が成立すると,命令動作の切れ目でブレイクします。
【動作】
1)
SSP-4
→
SSP
2)
PS
→
(SSP)
3)
SSP-4
→
SSP
4)
次の命令のアドレス
5)
“00100”
→
ILM
6)
“0”
→
Sフラグ
7)
(TBR + 3CCH)
→
→
(SSP)
PC
Tフラグをセットしてステップトレーストラップをイネーブルにしたとき,ユー
ザ割込みは禁止状態となります。また,INTE命令によるEITは発生しなくなります。
■ 未定義命令例外の動作
命令のデコード時に未定義命令であることを検出すると,未定義命令例外が発生
します。
未定義命令例外の検出条件は,以下のとおりです。
命令のデコード時に,未定義命令であることを検出。
遅延スロット外に置かれている。(遅延分岐命令の直後ではない。)
以上の条件が成立すると,未定義命令例外が発生しブレイクします。
【動作】
1)
SSP-4
→
SSP
2)
PS
→
(SSP)
3)
SSP-4
→
SSP
4)
PC
→
(SSP)
5)
“0”
6)
(TBR + 3C4H)
→
Sフラグ
→
PC
PCとして退避されるのは,未定義命令例外を検出した命令自身のアドレスです。
55
第3章 CPUおよび制御部
■ コプロセッサ不在トラップ
実装していないコプロセッサを使用するコプロセッサ命令を実行すると,コプロ
セッサ不在トラップが発生します。
【動作】
1)
SSP-4
→
SSP
2)
PS
→
(SSP)
3)
SSP-4
→
SSP
4)
次の命令のアドレス
5)
“0”
6)
(TBR + 3E0H)
→
→
→
(SSP)
Sフラグ
PC
■ コプロセッサエラートラップ
コプロセッサを使用しているときにエラーが発生した場合,次にそのコプロセッ
サを操作するコプロセッサ命令を実行したとき,コプロセッサエラートラップが発
生します。(なお,MB91F128にはコプロセッサは搭載していません。)
【動作】
1)
SSP-4
→
SSP
2)
PS
→
(SSP)
3)
SSP-4
→
SSP
4)
次の命令のアドレス
5)
“0”
6)
(TBR + 3DCH)
→
→
→
(SSP)
Sフラグ
PC
■ RETI命令の動作
RETI命令は,EIT処理ルーチンから復帰する命令です。
【動作】
1)
(R15)
→ PC
2)
R15+4
→ R15
3)
(R15)
→ PS
4)
R15+4
→ R15
RETI命令は,Sフラグが”0”の状態で実行する必要があります。
56
3.10 リセットシーケンス
3.10
リセットシーケンス
この節では,CPUを初期状態にするときのリセットについて説明します。
■ リセット要因
リセット要因は以下のとおりです。
外部リセット端子からの入力
スタンバイ制御レジスタ(STCR)中のSRSTビット操作によるソフトウェア
リセット
ウォッチドッグタイマのカウントアップ
パワーオンリセット
■ リセットによる初期化
リセット要因が発生すると,CPUは初期化されます。
○
外部リセット端子/ソフトウェアリセットからの解除
端子を定められた状態に設定します。
デバイス内部の各リソースを,リセット状態にします。制御レジスタは,
あらかじめ決められた値に初期化されます。
クロックとして,最も遅いギアが選択されます。
■ リセットシーケンス
リセット要因が解除されると,CPUは以下のリセットシーケンスを実行します。
(000FFFFCH) → PC
<注意事項>
リセット後は,モードレジスタの設定により,動作モードを細かく設定します。
詳細は,「3.13 動作モード」を参照してください。
57
第3章 CPUおよび制御部
3.11
クロック発生部と制御部
クロック発生部と制御部は以下の機能を受け持つモジュールです。
・CPUクロック生成(ギア機能を含む)
・周辺クロック生成(ギア機能を含む)
・リセット発生および要因の保持
・スタンバイ機能
・DMA要求の抑止
・PLL(逓倍回路)内蔵
■ クロック発生部と制御部のレジスタ一覧
図 3.11-1に,クロック発生部と制御部のレジスタ一覧を示します。
図 3.11-1 クロック発生部と制御部のレジスタ一覧
58
3.11 クロック発生部と制御部
■ クロック発生部と制御部のブロックダイヤグラム
図 3.11-2に,クロック発生部と制御部のブロックダイヤグラムを示します。
図 3.11-2 クロック発生部と制御部のブロックダイヤグラム
59
第3章 CPUおよび制御部
3.11.1
リセット要因レジスタ(RSRR)
リセット要因レジスタ(RSRR)とウォッチドッグ周
(RSRR)とウォッチドッグ周
期制御レジスタ(WTCR)
期制御レジスタ(WTCR)
リセット要因レジスタ(RSRR)は,発生したリセットの種別を保持するレジスタで,
ウォッチドッグ周期制御レジスタ(WTCR)は,ウォッチドッグタイマの周期を指定する
レジスタです。
■ リセット要因レジスタ(RSRR)とウォッチドッグ周期制御レジスタ(WTCR)のレジスタ構成
図 3.11-3に,リセット要因レジスタ(RSRR)とウォッチドッグ周期制御レジスタ
(WTCR)のレジスタ構成を示します。
図 3.11-3 リセット要因レジスタ(RSRR)とウォッチドッグ周期制御レジスタ(WTCR)のレジスタ構成
以下に,リセット要因レジスタ(RSRR)とウォッチドッグ周期制御レジスタ(WTCR)
の各ビットの機能を説明します。
【ビット15】:PONR
このビットが”1”であると,直前に発生したリセットはパワーオンリセットで
あったことを示します。このビットが”1”の場合は,このレジスタのこのビット以
外の内容は無効となります。
【ビット14】:HSTB
このビットが”1”であると,直前に発生したリセットはハードウェアスタンバ
イであったことを示します。
【ビット13】:WDOG
このビットが”1”であると,直前に発生したリセットはウォッチドッグリセッ
トであったことを示します。
【ビット12】:ERST
このビットが”1”であると,直前に発生したリセットは外部リセット端子に起
因するリセットであったことを示します。
【ビット11】:SRST
このビットが”1”であると,直前に発生したリセットはソフトウェアリセット
要求に起因するリセットであったことを示します。
【ビット10】:(Reserved)
このビットは予約ビットです。読出し値は不定です。
60
3.11 クロック発生部と制御部
【ビット9,8】:WT1,0
このビットは,ウォッチドッグの周期を指定するものです。このビットと選択
する周期は,表 3.11-1のような関係があります。このビットはすべてのリセッ
トにより初期化されます。
表 3.11-1 WT1,WT0で指定されたウォッチドッグの周期
ウォッチドッグリセットの発生を抑止する WPRへの最終5AH書込みからウォッチ
ために最低限必要なWPRへの書込み間隔
ドッグリセットが発生するまでの時間
0
0
φ×215
〔初期値〕
φ×215∼φ×216
0
1
φ×217
φ×217∼φ×218
1
0
φ×219
φ×219∼φ×220
21
1
1
φ×2
φ×221∼φ×222
ただし,φはGCRのCHC=1のときはX0の2倍,CHC=0のときはPLLの発振周波数の周期となります。
WT1
WT0
61
第3章 CPUおよび制御部
3.11.2
スタンバイ制御レジスタ(STCR)
スタンバイ制御レジスタ(STCR)
スタンバイ動作の制御と発振安定待ち時間の指定を行うレジスタです。
■ スタンバイ制御レジスタ(STCR)のレジスタ構成
図 3.11-4に,スタンバイ制御レジスタ(STCR)のレジスタ構成を示します。
図 3.11-4 スタンバイ制御レジスタ(STCR)のレジスタ構成
以下に,スタンバイ制御レジスタ(STCR)の各ビットの機能を説明します。
【ビット7】:STOP
このビットに”1”を書き込むと内部周辺のクロック停止,内部CPUのクロック停
止および発振の停止を行うストップ状態になります。
【ビット6】:SLEP
このビットに”1”を書き込むと内部CPUのクロック停止を行うスリープ状態に
なります。なお,ビット7とこのビット両方に”1”を書き込んだ場合は,ビット7の
方が優先となりますので,ストップ状態になります。
【ビット5】:HIZX
このビットに”1”を書き込んだ状態でストップ状態になるとデバイスの端子を
ハイインピーダンスにします。
【ビット4】:SRST
このビットに”0”を書き込むとソフトウェアリセット要求を発生します。
【ビット3,2】:OSC1,0
このビットは,発振安定待ち時間を指定するものです。このビットと選択する
周期は表 3.11-2のような関係があります。このビットはパワーオンリセットに
より初期化され,それ以外のリセット要因では影響を受けません。
表 3.11-2 OSC1,OSC0で指定された発振安定待ち時間
OSC1
OSC0
発振安定待ち時間
0
0
φ×215
0
1
φ×217
1
0
φ×219
1
1
φ×221
〔初期値〕
ただし,φはGCRのCHC=1の場合はX0の2倍,GCRのCHC=0の場合
はX0の1倍の周期となります。
【ビット1,0】:(Reserved)
このビットは予約ビットです。読出し値は不定です。
62
3.11 クロック発生部と制御部
3.11.3
DMA要求抑止レジスタ
DMA要求抑止レジスタ(PDRR)
要求抑止レジスタ(PDRR)
DMA要求を一時的に抑止して,CPUを動作させるレジスタです。
■ DMA要求抑止レジスタ(PDRR)のレジスタ構成
図 3.11-5に,DMA要求抑止レジスタ(PDRR)のレジスタ構成を示します。
図 3.11-5 DMA要求抑止レジスタ(PDRR)のレジスタ構成
以下に,スタンバイ制御レジスタ(STCR)の各ビットの機能を説明します。
【ビット11∼8】:D3∼D0
これらのビットに”0”以外の値を書き込むと,以降のDMAからCPUへのDMA転送要
求を抑止します。以降,これらのビットの内容を”0”にしない限り,DMA転送は行え
なくなります。
63
第3章 CPUおよび制御部
3.11.4
タイムベースタイマクリアレジスタ(CTBR)
タイムベースタイマクリアレジスタ(CTBR)
タイムベースタイマの内容を0に初期化するためのレジスタです。
■ タイムベースタイマクリアレジスタ(CTBR)のレジスタ構成
図 3.11-6に,タイムベースタイマクリアレジスタ(CTBR)のレジスタ構成を示し
ます。
図 3.11-6 タイムベースタイマクリアレジスタ(CTBR)のレジスタ構成
以下に,タイムベースタイマクリアレジスタ(CTBR)の各ビットの機能を説明しま
す。
【ビット7∼0】
これらのビットに連続してA5H,5AHを書き込むと,5AHの直後にタイムベース
タイマを0にクリアします。これらのビットの読出し値は不定です。A5H書込み
と5AH書込みの間の時間は制限がありません。
<注意事項>
このレジスタを使用してタイムベースタイマをクリアすると,発振安定待ち間隔,ウォッチドッグ
周期およびタイムベースを使用している周辺の周期が一時的に変動します。
64
3.11 クロック発生部と制御部
3.11.5
ギア制御レジスタ(GCR
ギア制御レジスタ(GCR)
(GCR)
CPU系,周辺系クロックのギア機能を制御するレジスタです。
■ ギア制御レジスタ(GCR)のレジスタ構成
図 3.11-7に,ギア制御レジスタ(GCR)のレジスタ構成を示します。
図 3.11-7 ギア制御レジスタ(GCR)のレジスタ構成
以下に,ギア制御レジスタ(GCR)の各ビットの機能を説明します。
【ビット15,14】:CCK1,0
これらのビットは,CPU系のギア周期を指定するものです。これらのビットと
選択する周期は,表 3.11-3のような関係があります。これらのビットはリセッ
トにより初期化されます。
表 3.11-3 CPU系マシンクロック
CCK1
CCK0
CHC
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
1
PLL:PLLの発振周波数
発振:X0からの入力周波数
CPU系マシンクロック
PLL×1
PLL×1/2
PLL×1/4
PLL×1/8
原振×1/2
原振×1/2×1/2
原振×1/2×1/4
原振×1/2×1/8
〔初期値〕
【ビット13】:DBLAK
このビットは,クロックダブラの動作状態を示すビットです。読出し専用であ
り,書込みは無視されます。このビットはリセットにより初期化されます。
バス周波数の切替えにはタイムラグがありますが,実際に動作が切り替った
かどうかはこのビットで確認出来ます。
DBLAK
0
1
1:1で動作中
2:1で動作中
内部:外部の動作周波数
〔初期値〕
【ビット12】:DBLON
このビットは,クロックダブラの動作状態を指定するビットです。このビット
はリセットにより初期化されます。
DBLON
0
1
内部:外部の動作周波数
1:1で動作
2:1で動作
〔初期値〕
65
第3章 CPUおよび制御部
【ビット11,10】:PCK1,0
これらのビットは,周辺系のギア周期を指定するものです。これらのビットと
選択する周期は表 3.11-4のような関係があります。これらのビットはリセット
により初期化されます。
表 3.11-4 周辺系マシンクロック
PCK1
PCK0
CHC
周辺系マシンクロック
(原振:X0からの入力周波数)
PLL×1
PLL×1/2
PLL×1/4
PLL×1/8
原振×1/2
原振×1/2×1/2
原振×1/2×1/4
原振×1/2×1/8 〔初期値〕
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
1
PLL:PLLの発振周波数
発振:X0からの入力周波数
なお,CPU系のクロックが25MHzよりも高い周波数で動作させるときは,周辺系
クロックは,CPU系クロックの1/2以下の周波数になるように設定してください。
周辺系クロックの最大周波数は25MHzです。
<注意事項>
CPU系ギアと周辺系ギアを同時に変更したい場合は,一度両方を同じギアに設定した後に,希望の
ギアに設定してください。変更前のCPU系を周辺系のギアが同じ設定である場合と,片方のギアだ
けを変更する場合,そして両方を同じギアに設定する場合は,目的の値に一度に設定するのでかま
いません。クロックダブラがONになっているときは,GCRの値に関わらずCPU系ギアは固定値となる
ため,やはり目的の値に一度に設定するのでかまいません。
[プログラム記述例]
ldi
ldi
stb
ldi
ldi
stb
ldi
stb
66
#0×484,
#0×0d,
r0,
:
#0×484,
#0×cd,
r0,
#0×c5,
r0,
r1
r0
@r1
r1
r0
@r1
r0
@r1
; CPU:1/1,周辺:1/8
; CPU:1/8,周辺:1/8
一度同じ比率に設定
; CPU:1/8,周辺:希望の比率に設定
3.11 クロック発生部と制御部
【ビット9】:(Reserved)
このビットは予約ビットです。常に”1”を書いてください。
【ビット8】:CHC
このビットは,基準クロックの選択を設定するビットです。リセットにより初
期化されます。
PLL制御レジスタ(PCTR)のVSTPビットが”1”のときには,このビットへの”0”書込
みは無視されます。
CHC
0
1
クロック選択
発振回路の2分周を基準クロックとして使用
PLLからの発振出力を基準クロックとして使用
〔初期値〕
<注意事項>
PCTRのVSTPが”0”のときにストップモードに移行すると,PLLは発振を停止しますが,VSTPは”0”のま
まとなります。外部割込みなどによりストップモードから復帰したときは,PLLの発振が安定する
までにSTCRのOSC1,OSC0で設定した発振安定待ち時間のほかに約100μ秒必要となりますので,そ
れより前にこのビットを”0”に設定しないでください。
ストップモードからの復帰時の手順,内部動作は「3.12.1 ストップ状態」を参照してください。
67
第3章 CPUおよび制御部
3.11.6
ウォッチドッグリセット発生延期レジスタ(WPR)
ウォッチドッグリセット発生延期レジスタ(WPR)
ウォッチドッグタイマ用フリップフロップをクリアするレジスタです。このレジス
タを用いてウォッチドッグリセットの発生を延期させます。
■ ウォッチドッグリセット発生延期レジスタ(WPR)のレジスタ構成
図 3.11-8に,ウォッチドッグリセット発生延期レジスタ(WPR)のレジスタ構成を
示します。
図 3.11-8 ウォッチドッグリセット発生延期レジスタ(WPR)のレジスタ構成
以下に,ウォッチドッグリセット発生延期レジスタ(WPR)の各ビットの機能を説
明します。
【ビット7∼0】:D7∼D0
これらのビットに連続してA5H,5AHを書き込むと,5AHの直後にウォッチドッ
グタイマ用フリップフロップを”0”にクリアし,ウォッチドッグリセットの発生
を延期させます。
これらのビットの読出し値は不定です。A5Hと5AHの間の時間は制限がありま
せんが,表 3.11-5の期間内に両データの書込みを終えないとウォッチドッグリ
セットを発生します。ただし,ストップ,スリープ,ホールド中は自動的にクリア
を行いますので,これらの条件が発生すると,ウォッチドッグリセットは自動的
に延期されます。
表 3.11-5 WT1,WT0で指定されたウォッチドッグの周期
ウォッチドッグリセットの発生を
WPRへの最終5AH書込みからウォッチ
WT0 抑止するために最低限必要なWPRへ
ドッグリセットが発生するまでの時間
の書込み間隔
0
0
φ×215
φ×215∼φ×216
17
0
1
φ×2
φ×217∼φ×218
19
1
0
φ×2
φ×219∼φ×220
21
1
1
φ×2
φ×221∼φ×222
ただし,φはGCRのCHC=1のときはX0の2倍,CHC=0のときはPLLの発振周波数となります。
WT1
68
3.11 クロック発生部と制御部
3.11.7
PLL制御レジスタ
PLL制御レジスタ(PCTR)
制御レジスタ(PCTR)
PLLの発振を制御するレジスタです。このレジスタは,GCRのCHCが”1”のときのみ設
定を変更可能です。
■ PLL制御レジスタ(PCTR)のレジスタ構成
図 3.11-9に,PLL制御レジスタ(PCTR)のレジスタ構成を示します。
図 3.11-9
PLL制御レジスタ(PCTR)のレジスタ構成
以下に,PLL制御レジスタ(PCTR)の各ビットの機能を説明します。
【ビット15,14】:SLCT1,0
このビットは,PLLの逓倍率を制御するものです。電源投入時のみ初期化され
ます。
このビットの設定はGCRのCHCを”0”にしたときの内部動作周波数になります。
なお,2逓倍の設定は,原振が12.5MHz以下の場合に限ります。
表 3.11-6に,内部動作周波数を示します。
表 3.11-6 内部動作周波数
SLCT1
SLCT0
内部動作周波数(原振:12.5MHzの場合)
0
0
6.25MHz 動作
[初期値]
0
1
12.5MHz 動作 (1逓倍)
1
1
25.0 MHz 動作 (2逓倍) *
*:原振12.5MHz以下の場合のみ設定可能
<注意事項>
原振が12.5MHzを越える場合には,2逓倍の設定は行わないでください。
【ビット13,12】:(Reserved)
このビットは予約ビットです。常に”0”を書いてください。
69
第3章 CPUおよび制御部
【ビット11】:VSTP
このビットは,PLLの発振を制御するものです。電源投入時および外部リセッ
トにより初期化されます。なお,PLLを停止して使用する場合は,リセット解除後
に毎回停止させる必要があります。
VSTP
0
1
発振
発振停止
PLL動作
[初期値]
<注意事項>
ストップモードに移行すると,このビットの設定に関わらず,PLLは停止します。
【ビット10,9,8】(Reserved)
このビットは予約ビットです。常に”0”を書いてください。
70
3.11 クロック発生部と制御部
3.11.8
ウォッチドッグ機能
ウォッチドッグ機能は,プログラムの暴走状態を検出する機能です。プログラムの
暴走などによりウォッチドッグリセット延期レジスタへのA5H,5AH書込みが定められ
た時間内に行われなかった場合,ウォッチドッグタイマよりウォッチドッグリセット
要求が発生します。
■ ウォッチドッグ制御部のブロックダイヤグラム
図 3.11-10に,ウォッチドッグ制御部のブロックダイヤグラムを示します。
図 3.11-10 ウォッチドッグ制御部ブロックダイヤグラム
■ ウォッチドッグタイマの起動方法
ウォッチドッグタイマは,ウォッチドッグ制御レジスタ(WTCR)への書込みにより
動作を開始します。このとき,ウォッチドッグタイマのインターバル時間をWT1,WT0
ビットにより設定します。インターバル時間の設定は,最初の書込みで設定した時
間だけが有効となり,それ以降の設定は無視されます。
〔例〕
LDI:8 #00000010b,R1
LDI:20 #WTCR,R2
STB
R1,@R2
; WT1,0=10
; ウォッチドッグ起動
71
第3章 CPUおよび制御部
■ リセット発生延期方法
一度,ウォッチドッグタイマを起動すると,プログラムで定期的にウォッチドッ
グリセット延期レジスタ(WPR)に対して定期的にA5H,5AHを書き込む必要がありま
す。ウォッチドッグリセット用フリップフロップは,タイムベースタイマの選択し
たタップの立下りを記憶し,2回目の立下りでこのフリップフロップがクリアされ
ていないと,リセットが生成されます。
図 3.11-11に,ウォッチドッグタイマの動作タイミングを示します。
図 3.11-11 ウォッチドッグタイマの動作
<注意事項>
・最初のA5Hと次の5AHの書込み間隔の規定はありません。ウォッチドッグの延期は,2回の5AHの書
込み間隔がWTビットで指定した時間内であり,かつそれらの間に1回のA5Hの書込みがあること
でのみ行えます。
・最初のA5Hの後の書込みが5AH以外であったときは,最初のA5Hの書込みがあったことを無効にし
ます。このため,再度A5Hの書込みを行う必要があります。
■ タイムベースタイマ
タイムマベースタイマは,ウォッチドックタイマへのクロック供給および発振安
定時間待ち用のタイマとして使用されています。動作クロックφはGCRのCHC=1のと
きはX0の2倍,GCRのCHC=0のときはPLLの発振周波数の周期となります。
また,DRAMのリフレッシュのときのカウント値には,RFCRでこのタイムベースタ
イマの値をカウントクロックとして使用します。
図 3.11-12 タイムベースタイマの構成
72
3.11 クロック発生部と制御部
3.11.9
ギア機能
クロックを間引いて供給する機能です。CPU用と周辺用の2種の独立な回路があり,
異なるギア比でもCPUと周辺の間でのデータの送受を行うことができます。さらに,
原クロックの選択として,PLLからのクロックと同周期のクロックを使用するかまた
は2分周回路を通したクロックを使用するかの指定が行えます。
■ ギア制御部のブロックダイヤグラム
図 3.11-13に,ギア制御部のブロックダイヤグラムを示します。
図 3.11-13 ギア制御部ブロックダイヤグラム
73
第3章 CPUおよび制御部
■ ギア機能の設定
CPUのクロックの制御であればギア制御レジスタ(GCR)のCCK1,CCK0ビットを,周
期のクロックの制御であれば同レジスタのPCK1,PCK0ビットを,それぞれ望む値に
設定することで,希望するギア比に設定することができます。
〔例〕
LDI:20
LDI:8
STB
LDI:8
STB
LDI:8
STB
LDI:8
STB
LDI:8
STB
#GCR,R2
#11111110b,R1
R1.@R2
#01111010b,R1
R1,@R2
#00111010b,R1
R1,@R2
#00110010b,R1
R1,@R2
#10110010b,R1
R1,@R2
;
;
;
;
;
;
;
;
;
;
CCK=11,PCK=11,CHC=0
CPU clock=1/8f, Peripheral clock=1/8f, f=direct
CCK=01,PCK=10,CHC=0
CPU clock=1/2f, Peripheral clock=1/4f, f=direct
CCK=00,PCK=10,CHC=0
CPU clock=f, Peripheral clock=1/4f, f=direct
CCK=00,PCK=00,CHC=0
CPU clock=f, Peripheral clock=f, f=direct
CCK=10,PCK=00,CHC=0
CPU clock=1/4f, Peripheral clock=f, f=direct
また,ギア制御レジスタ(GCR)のCHCビットを”1”にすると2分周回路の出力を原ク
ロックとして選択し,”0”にすると発振回路からのクロックと同周期のクロックを
そのまま使用します。原クロックを切り替えるために,CPU系と周辺系は同時に変化
します。
〔例〕
LDI:8
LDI:20
STB
LDI:8
STB
LDI:8
STB
#01110001b,R1
#GCR,R2
R1,@R2
#00110011b,R1
R1,@R2
#00110010b,R1
R1,@R2
; CCK=01,PCK=00,CHC=1
;
;
;
;
;
CPU clock=1/2f, Peripheral clock=f, f=1/2xtal
CCK=00,PCK=00,CHC=1
CPU clock=f, Peripheral clock=f, f=1/2xtal
CCK=00,PCK=00,CHC=0
CPU clock=f, Peripheral clock=f, f=direct
図 3.11-14に,クロック選択のタイミングチャートを示します。
図 3.11-14 クロック選択のタイミングチャート
74
3.11 クロック発生部と制御部
3.11.10
リセット要因保持
直前に発生したリセットの要因を保持します。読出しにより全フラグを”0”にしま
す。
読み出さない限り,一度立った要因フラグは消えません。
■ リセット要因保持回路のブロックダイヤグラム
図 3.11-15に,リセット要因保持回路のブロックダイヤグラムを示します。
図 3.11-15 リセット要因保持回路のブロックダイヤグラム
75
第3章 CPUおよび制御部
■ リセット要因保持の設定
この機能を使用するにあたっての特別な設定は不要です。リセットエントリアド
レスに置くプログラムの始めの方に,リセット要因レジスタの読出しと,適切なプ
ログラムへ分岐する命令を置くようにします。
〔例〕
RESET-ENTRY
LDI:20
LDI:8
LDUB
MOV
AND
BNE
LSR
MOV
AND
BNE
LSR
MOV
AND
BNE
:
#RSRR, R10
#10000000B, R2
@R10, R1
R1, R10
R2, R10
PONR-RESET
#1, R2
R1, R10
R2, R10
HSTB-RESET
#1, R2
R1, R10
R2, R10
WDOG-RESET
; GET RSRR VALUE INTO R1
; R10 USED AS A TEMPORARY REGISTER
; WAS PONR RESET?
; POINT NEXT BIT
; R10 USED AS A TEMPORARY REGISTER
; WAS HARDWARE STANDBY RESET?
; POINT NEXT BIT
; R10 USED AS A TEMPORARY REGISTER
; WAS WATCH DOG RESET?
<注意事項>
•PONRビットが”1”のときは,それ以外のビットの内容は不定として扱ってください。また,リセッ
ト要因をチェックする必要がある場合には,必ず先頭にパワーオンリセット確認の命令を置い
てください。
•パワーオンリセットのチェック以外のリセット要因のチェックは,任意の位置にすることができ
ます。置いた順に優先度が決まります。
76
3.11 クロック発生部と制御部
3.11.11
DMA抑止
DMA抑止
FRファミリはDMA転送中に,より優先度の高い割込み要因が発生するとDMA転送を中
断して該当割込みルーチンへ分岐します。この機構は,割込み要求がある限り有効で
すが,割込み要因をクリアすると抑止機構が動かなくなり,割込み処理ルーチン内で
DMA転送を再開します。
このため,DMA転送を中断するレベルの割込み要因の処理ルーチン内で,割込み要因
クリア後のDMA再転送開始を抑止したいときは,DMA抑止機能を使用します。DMA抑止機
能は,DMA抑止レジスタに”0”以外の値を書くことで起動し, ”0”を書くことで停止しま
す。
■ DMA抑止回路のブロックダイヤグラム
図 3.11-16に,DMA抑止回路のブロックダイヤグラムを示します。
図 3.11-16DMA抑止回路のブロックダイヤグラム
77
第3章 CPUおよび制御部
■ DMA抑止の設定
この機能は,主として割込み処理ルーチン内で使用します。
割込み処理ルーチンで,割込み要因をクリアする前にDMA抑止レジスタの内容を
一つ増加させます。
このようにすると,以降,DMA転送は行いません。割込み処理への対応を行った後,
復帰する前に,DMA抑止レジスタの内容を一つ減少させます。もし,多重割込みであ
れば,DMA抑止レジスタの内容はまだ”0”にならないため,引き続いてDMA転送は抑止
されます。また,多重割込みでなければ,DMA抑止レジスタの内容は”0”になるため,
その後すぐにDMA要求を有効にします。
[例]
INT-ENTRY
LDI:20
#PDRR, R10
LD
@R10, R1
ADD
#1, R1
ST
R1, @R10
LDI:20
#int-REG, R10
LDI:8
#10H, R1
ST
R1, @R10
:
; interrupt execute routine
:
LDI:20
#PDRR, R10
LD
@R10, R1
ADD2
#-1, R1
ST
R1, @R10
RETI
; GET PDRR VALUE INTO R1
;
;
;
;
PDRR:=PDRR+1, DMA disabled
int occurred with int-REG
example, int-flag=#10h
CLEAR int-REQ, (but still DMA disabled)
; GET PDRR VALUE INTO R1
; PDRR:=PDRR-1, DMA may be enabled
<注意事項>
レジスタのビット数は4ビットですので,15レベルを超える多重割込みで,この機能を使用するこ
とができません。DMAタスクの優先順位は,必ずほかの割込みレベルより15レベルは上においてく
ださい。
78
3.11 クロック発生部と制御部
3.11.12
クロックダブラ機能
内部動作周波数の上昇に伴い外部バスタイミングが厳しくなるのを避けるため,外
部バスと内部動作の周波数を1:2にすることができます。
■ クロックダブラ機能の起動
クロックダブラ機能は,GCRのDBLONを”1”に設定することにより有効になります。
DBLONが”1”に設定されると,C-BUSの全アクセスが終了するのを待って,外部バスク
ロックの切替えを行います。そのため,切り替るまでに若干のタイムラグがありま
すが,GCRのDBLAKの値により,切替りタイミングを知ることができます。また,ク
ロックダブラ機能を起動させることにより,CPU系クロックのギアはGCRの設定に関
わらず1/1になります。
このデバイスは外部バスの動作周波数として,原発振の2倍の周波数までが設定
可能になっています。そのため,クロックダブラ機能をONにするときは,次のように
設定してください。
[例]
DOUBLER-ON
LDI:20
BORL
BORH
LOOP
BTSTH
BEQ
BANDL
#GCR,R0
#0001B,@R0
#0001B,@R0
;2分周系に切替え(CHC=1)
;クロックダブラON (DBLON=1)
#0010B,@R0
LOOP
#1110B,@R0
;DBLAKを確認
;DBLAKが1になるまでループ
;PLL系に切替え(CHC=0)
■ クロックダブラ機能の停止
クロックダブラ機能はGCRのDBLONを0に設定することにより無効になります。
同時にCPU系クロックのギアは1/1からギア制御レジスタ(GCR)のCCKビットの設
定に戻ります。
[例]
DOUBLER-OFF
LDI:20
BORL
BANDH
#GCR,R0
#0001B,@R0
#1110B,@R0
;2分周系に切替え(CHC=1)
;クロックダブラOFF(DBLON=0)
また,クロックダブラ機能をOFFにした後に,PLLのクロックを使用する場合は,次
のように設定を行ってください。
[例]
DOUBLER-OFF
LDI:20
BORL
BANDH
LDI:20
LDI:8
STB
BANDL
#GCR,R0
#0001B,@R0
#1110B,@R0
#PCTR,R1
#01000000B,R2
R2,@R1
#1110,@R0
;2分周系に切替え(CHC=1)
;クロックダブラOFF(DBLON=0)
;PLL=25MHz
;PLL系に切替え(CHC=0)
79
第3章 CPUおよび制御部
■ クロックダブラ機能のon/offに伴う注意事項
クロックダブラ機能をon/offさせると,内部クロックにデッドサイクルを生じる
ことがあります。
デッドサイクルが生じた場合は,タイマでの時間測定やUARTの転送中には誤差と
して現れます。
■ クロックダブラ機能のon/offによる動作周波数の組合せ
PLL制御レジスタ(PCTR)のSLCT1,SLCT0ビットと,ギア制御レジスタ(GCR)の設定
の組合せにより,このデバイスの動作周波数は表 3.11-7のようになります。(原発
振12.5MHzを使用した場合の例)
表 3.11-7 クロックダブラ機能のon/offによる動作周波数の組合せ
GCR
CHC
ギア
1/1
1/2
1/4
1/8
PLLの発振
周波数(MHz)
クロック
ダブラ
内部動作
周波数(MHz)
外部バス
周波数(MHz)
OFF
6.25
6.25
OFF
3.13
3.13
2分周
OFF
1.56
1.56
OFF
0.78
0.78
*1
ON
6.25
3.13
50.0
OFF
50.0
50.0
1/1
25.0
OFF
25.0
25.0
1/2
25.0
OFF
12.5
12.5
1/4
25.0
OFF
6.25
6.25
1/8
25.0
OFF
3.13
3.13
1/1
12.5
OFF
12.5
12.5
PLL*3
1/2
12.5
OFF
6.25
6.25
1/4
12.5
OFF
3.13
3.13
1/8
12.5
OFF
1.56
1.56
*1
50.0
ON
50.0
25.0
*1
25.0
ON
25.0
12.5
*1
12.5
ON
12.5
6.25
*1:どのように設定してあっても1/1固定となります。
*2:クロックダブラをOFFにするときは,2分周系に切替えてからOFFにしてください。
*3:PLLの発振周波数を変更するときは,2分周系に切替えることが必要です。
80
備 考
初期値
設定禁止
設定禁止
3.11 クロック発生部と制御部
3.11.13
PLLのクロック設定例
PLLのクロック設定例
PLLのクロック設定例とアセンブラのソース例について説明します。
■ PLLのクロック設定例
図 3.11-17は,PLLを使用した25MHz動作への,切替え手順の例です。(原発振12.5
MHzの場合)
図 3.11-17 PLLのクロック設定例
<注意事項>
•ここに記載したDBLON,VSTP,SLCT0の各ビットの設定順序は特にありません。
•周辺部の動作周波数が25MHzを超えないようにしてください。
•PLLのVCOの再起動時には,安定するまでの待ち時間100μs以上を,ソフトウェアで必ず取ってく
ださい。また,キャッシュON/OFFなどで待ち時間の不足を起こさないように注意してください。
•SLCTビットを書き換えて逓倍率を変更する場合も,PLLが安定するまでの待ち時間100μs以上を,
ソフトウェアで必ず取ってください。
81
第3章 CPUおよび制御部
■ クロック系参考図
図 3.11-18に,クロック系参考図を示します。
図 3.11-18 クロック系参考図
82
3.11 クロック発生部と制御部
■ アセンブラのソース例
;
;
;
;
************************************************************
PLL Sample Program
************************************************************
Load Setting Data
ldi:20
#GCR, R0
ldi:20
#PCTR,R1
ldi:8
#GCR_MASK,R2
; GCR_MASK = 0000 0001 b
ldi:8
#PCTR_MASK,R3
; PCTR_MASK = 0000 1000 b
ldub
@R0,R4
; read GCR register
ldub
@R1,R5
; read PCTR register
st
PS,@-R15
; push processor status
stilm
#0x0
; disable interrupt
;
and
R4,R2
beq
CHC_0
bra
CHC_1
CHC_0:
borl
#0001B,@r0
; to 1/2 clock @r0=GCR register
CHC_1:
call
VCO_RUN
PLL_SET_END:
ld
@R15+, PS
; pop processor status
; ************************************************************
; VCO Setting
; ************************************************************
VCO_RUN:
st
R3, @-R15
; push R3
ldi:8
#PCTR _MASK, R3
; PCTR_MASK =0000 1000 b
and
R5, R3
; PTCR->VSTP=1 ?
beq
LOOP_100US_END
; if VSTP = 0 return
bandl
#0111B, @r1
; set VSTP = 0
st
R2, @-R15
; push R2 for Loop counter
ldi:20
#0x15E, R2
; wait 100 mS
WAIT_100US:
; 100us = 160ns(6.25MHz) * 7 * 100 (2BC)cycle
add2
#(-1), R2
; 2BCh/2 = 15Eh (if cache on)
bne
WAIT_100US ;
LOOP_100US_END:
ld
@R15+, R2
; Pop R2
ld
@R15+, R3
; Pop R3
ret
83
第3章 CPUおよび制御部
3.12
スタンバイモード(
スタンバイモード(低消費電力メカニズム)
低消費電力メカニズム)
スタンバイモードには,ストップ状態とスリープ状態があります。
■ ストップ状態の概要
ストップ状態とは,以下の状態をいい消費電力を最低限に抑えることができます。
すべての内部クロックを停止
発振回路の動作停止
ストップ状態への移行は,以下の方法で行います。
命令による,スタンバイ制御レジスタ(STCR)への書込み
HST 端子へのLレベルの印加
また,復帰は,以下の方法で行います。
割込み要求(ただし,ストップ中でも割込み要求が発生可能な周辺に限り
ます。) 注:INT4とINT5は,ストップ状態からの復帰に使用できません。
RST 端子へのLレベルの印加
HST 端子へのLレベルからHレベルへの印加
ストップ状態では,すべての内部クロックが停止しますので,復帰用の割込みを
生成できるもの以外の内蔵周辺は停止状態になります。
■ スリープ状態の概要
○
概要
スリープ状態とは,以下の状態をいい,CPU動作不要な状況での消費電力をあ
る程度抑えることができます。
CPUクロックと内部バスクロックが停止
スリープ状態への移行は,以下の方法で行います。
命令による,スタンバイ制御レジスタ(STCR)への書込み
また,復帰は,以下の方法で行います。
割込み要求
注:INT4とINT5は,ストップ状態からの復帰に使用できません。
リセット要因の発生
スリープ状態では,内部DMAクロックと周辺クロックは動作しますので,これ
ら二つのクロックを使用しているすべての内蔵周辺の割込みで解除ができます。
84
3.12 スタンバイモード(低消費電力メカニズム)
■ スタンバイモードの動作一覧
表 3.12-1に,スタンバイモード時の動作一覧を示します。
表 3.12-1 スタンバイモードの動作一覧
内部クロック
動作状態
遷移条件
ラン
スリープ
ストップ
STCRの
SLEP=1
STCRの
STOP=1
発振器
DMA/
周辺
○
周辺
端子
○
CPU/
内部バス
○
○
動作
○
X
○
○
動作
X
X
X
X
*
ハードウェア
X
X
X
X
HST =0
スタンバイ
○:動作 X:停止
*:STCRのHIZX=“0”で前の状態を保持します。HIZX=“1”でHi-Zになります。
Hi-Z
解除方法
HST =1
<注意事項>
リセット: RST =“0”
スタンバイ制御レジスタ(STCR)のSRSTビット=“0”
ウォッチドッグリセット
パワーオンリセット
■ ストップおよびスリープに入れるプログラムの配置アドレス
ストップおよびスリープに入れるプログラムは,C-bus上のROMまたは外部メモリ
のアドレス領域に置いてください。C-bus上のROMには置かないでください。
85
第3章 CPUおよび制御部
3.12.1
ストップ状態
図 3.12-1に,ストップ制御部のブロックダイヤグラムを示し,ストップ状態への移
行とストップ状態からの復帰について説明します。
■ ストップ制御部のブロックダイヤグラム
図 3.12-1に,ストップ制御部のブロックダイヤグラムを示します。
図 3.12-1 ストップ制御部ブロックダイヤグラム
■ ストップ状態への移行
○
命令を用いてストップ状態にする方法
ストップ状態にいれるためには,スタンバイ制御レジスタ(STCR)のビット7
へ”1”を書き込みます。
ストップ要求を発行したのち,CPUが内部バスを使用していない状態になった
あと,以下の順にクロックを停止します。
CPUクロック → 内部バスクロック → 内部DMAクロック → 内部周辺クロッ
ク
発振回路の停止は,内部周辺クロック停止と同時に行います。
<注意事項>
命令を用いてストップ状態にするためには,必ず下記ルーチンを使用してください。
•STCRへ書き込む前には,GCRのCCK1,CCK0とPCK1,PCK0の組に同じ値を設定し,CPU系クロックと周
辺系クロックのギア比を同一にしてください。
•GCRのCHCビットが”0”(PLLで動作中)の状態でストップ状態にしないでください。ストップ状態に
いれるときは,GCRのCHCビットを”1”(2分周系を選択)にしてクロックを切替えてからストップ
状態に遷移させてください。
•STCRへの書込み直後は,最低6個の連続するNOP命令が必要です。
86
3.12 スタンバイモード(低消費電力メカニズム)
[設定方法:ギア最高速の場合の例]
LDI:20
LDI:8
STB
#GCR,R0
#00000011b,R1
R1,@R0
; CHC=1, CPU=周辺ギア比
; DBLON=0
BTSTH
BNE
#0010b,@R0
loop
;
; DBLAK= 0 になるまで待つ
LDI:20
LDI:8
STB
NOP
NOP
NOP
NOP
NOP
NOP
#STCR,R0
#10010000b,R1
R1@R0
; STOP=1
loop
○
;
;
;
;
;
;
HST 端子を用いてストップ状態にする方法
ストップ状態にいれるためには, HST 端子にLレベルを印加します。
HST 端子にLレベルを印加したのち,CPUが内部バスを使用していない状態に
なったあとで, 次の順にクロックを停止します。
CPUクロック → 内部バスクロック → 内部DMAクロック → 内部周辺クロッ
ク
発振回路の停止は内部周辺クロック停止と同時に行います。
<注意事項>
リセット中( RST =L)は, HST 端子をLレベルにしてもストップには入りません。また, HST 端子をL
レベルのままリセットを解除した場合もストップには入りません。一度, HST 端子をHレベルに戻
した以降,Lレベルにすることによりストップに入ることができます。同様に, HST 端子をLレベル
のままパワーオンした場合もパワーオンリセット解除後にストップには入りません。
87
第3章 CPUおよび制御部
■ ストップ状態からの復帰
ストップ状態からの復帰は割込みまたはリセットの発生で行うことができます。
○
割込みによる復帰
周辺の機能に付随する割込み許可ビットが有効であれば,周辺の割込みの発
生によりストップ状態から復帰します。ストップ状態から通常動作状態へは,以
下の手順で行います。
割込み発生 → 発振回路動作再開 → 発振安定待ち → 安定後,内部周辺ク
ロック供給再開 → 内部DMAクロック供給再開 → 内部バスクロック供給再開
→ 内部CPUクロック供給再開
発振安定待ち時間後のプログラム実行は,以下のようになります。
発生した割込みのレベルがCPUのILM,Iフラグで許可されている場合
-
レジスタ退避を行った後に,割込みベクタを取り込んで割込み処理ルー
チンより実行
発生した割込みのレベルがCPUのILM,Iフラグで禁止されている場合
○
ストップ状態に入れた命令以降の命令より実行
RST 端子による復帰
ストップ状態からの通常動作状態へは,以下の手順で行います。
RST 端子へのLレベル印加 → 内部リセット発生 → 発振回路動作再開 → 発
振安定待ち → 安定後,内部周辺クロック供給再開 → 内部DMAバスクロック供
給再開 → 内部バスクロック供給再開 → 内部CPUクロック供給再開 → リ
セットベクタ取込み → リセットエントリアドレスより命令の実行再開
<注意事項>
・周辺からの割込み要求がすでに発生している場合は,ストップ状態にならず,書込みは無視され
ます。
・パワーオンリセット以外では発振安定待ち時間中のすべての内部クロック供給は行いません。
パワーオンリセットでは内部状態の初期化を行う必要があるため,すべての内部クロックの供
給を行います。
・C-bus RAM内プログラムからストップ状態に移行した場合,割込みによってではなく,リセットに
よって復帰するようにしてください。
88
3.12 スタンバイモード(低消費電力メカニズム)
○
HST 端子による復帰
ストップ状態からの通常動作状態へは,以下の手順で行います。
HST 端子へのHレベル印加 → 内部リセット発生 → 発振回路動作再開 → 発
振安定待ち → 安定後,内部周辺クロック供給再開 → 内部DMAクロック供給再
開 → 内部バスクロック供給再開 → 内部CPUクロック供給再開 → リセット
ベクタ取り込み → リセットエントリアドレスより命令の実行再開
<注意事項>
•周辺からの割込み要求がすでに発生している場合は,ストップ状態にならず,書込みは無視され
ます。
•パワーオンリセット以外では,発振安定待ち時間中はすべての内部クロック供給は行いません。
パワーオンリセットでは内部状態の初期化を行う必要があるため,すべての内部クロックの供
給を行います。
•ストップ状態から HST 端子を”L”レベルにすると,直ちにストップ状態が解除されて所定の発振
安定待ち時間が取られます。発振安定待ち時間経過後, HST 端子が”L”レベルであると, HST 端子
によるストップ状態へと遷移します。
89
第3章 CPUおよび制御部
3.12.2
スリープ状態
図 3.12-2に,スリープ制御部のブロックダイヤグラムを示し,スリープ状態への移
行とスリープ状態からの復帰について説明します。
■ スリープ制御部のブロックダイヤグラム
図 3.12-2に,スリープ制御部のブロックダイヤグラムを示します。
図 3.12-2 スリープ制御部ブロックダイヤグラム
■ スリープ状態への移行
スリープ状態にいれるためには,STCRのビット7へ”0”,ビット6へ”1”を書き込みま
す。
スリープ要求を発行したのち,CPUが内部バスを使用していない状態になったあ
と,以下の順にクロックを停止します。
CPUクロック → 内部バスクロック
<注意事項>
スリープ状態にするためには,必ず下記ルーチンを使用してください。
・STCRへ書き込む前には,GCRのCCK1,CCK0とPCK1,PCK0ビットの組に同じ値を設定し,CPU系クロッ
クと周辺系クロックのギア比を同一にしてください。
・GCRのCHCビットに任意です。
・STCRへの書き込み直後には,最低6個の連続するNOP命令が必要です。
90
3.12 スタンバイモード(低消費電力メカニズム)
[設定方法:ギア最高速の場合の例]
LDI:20
LDI:8
STB
LDI:20
LDI:8
STB
NOP
NOP
NOP
NOP
NOP
NOP
#GCR,R0
#00000011b,R1
R1,@R0
#STCR,R0
#01010000b,R1
R1,@R0
; CHC=1,CPU=周辺ギア比
; DBLON=0の場合
; SLEP=1
;
;
;
;
;
;
■ スリープ状態からの復帰
スリープ状態からの復帰は割込みまたはリセットの発生で行うことができます。
○
割込みによる復帰
周辺の機能に付随する割込み許可ビットが有効であれば,周辺の割込みの発
生によりスリープ状態から復帰します。スリープ状態から通常動作状態へは,以
下の手順で行います。
割込み発生 → 内部バスクロック供給再開 → 内部CPUクロック供給再開
クロック供給後のプログラム実行は,以下のようになります。
発生した割込みのレベルがCPUのILM,Iフラグで許可されている場合
-
レジスタ退避を行った後に,割込みベクタを取込んで割込み処理ルーチ
ンより実行
発生した割込みのレベルがCPUのILM,Iフラグで禁止されている場合
○
スリープ状態に入れた命令以降の命令より実行
リセット要求による復帰
スリープ状態からの通常動作状態へは,以下の手順で行います。
内部リセット発生 → 内部バスクロック供給再開 → 内部CPUクロック供給
再開 → リセットベクタ取込み → リセットエントリアドレスより命令の実行
再開
○
HST 端子による復帰
スリープ状態からの通常動作状態へは,以下の手順で行います。
HST 端子へのLレベル印加 → ハードウェアスタンバイ状態へ遷移 → HST 端
子へのHレベル印加 → 内部リセット発生 → 発振回路動作再開 → 発振安定
待ち → 安定後,内部周辺クロック供給再開 → 内部DMAクロック供給再開 →
内部バスクロック供給再開 → 内部CPUクロック供給再開 →リセットベクタ取
り込み →リセットエントリアドレスより命令の実行再開
<注意事項>
・スリープモード中のDMA転送動作は使用できません。スリープモードにする前に,必ずDMA転送動
作を動作禁止に設定してください。
•周辺からの割込み要求がすでに発生している場合は,スリープ状態になりません。
91
第3章 CPUおよび制御部
3.12.3
スタンバイモードの状態遷移
図 3.12-3にスタンバイモードの状態遷移図を示します。
■ スタンバイモード状態遷移図
図 3.12-3に,スタンバイモードの状態遷移図を示します。
図 3.12-3 低消費電力モード状態遷移図
92
3.13 動作モード
3.13
動作モード
動作モードには,バスモードとアクセスモードがあります。
モード端子(MD2,MD1,MD0)と,モードレジスタ(MODR)で動作モードの制御を行います。
■ 動作モード
動作モードには,バスモードとアクセスモードがあります。
○
バスモード
バスモードとは,内部ROMの動作と外部アクセス機能の動作を制御するモード
を指し,モード設定端子(MD2,MD1,MD0)とモードレジスタ(MODR)内のM1,M0ビッ
トの内容で指定します。
○
アクセスモード
アクセスモードとは,外部データバス幅を制御するモードを示し,モード設定
端子(MD2,MD1,MD0)とエリアモードレジスタ(AMD0,AMD1,AMD32,AMD4,AMD5)内の
BW1,BW0ビットで指定します。
■ モード端子
MD2,MD1,MD0の3端子で,表 3.13-1に示すように動作の設定を行います。
表 3.13-1 モード設定
モード端子
モード名
MD2
MD1
MD0
0
0
0
0
0
1
0
1
0
0
1
1
1
-
-
外部ベクタ
モード0
外部ベクタ
モード1
内部ベクタ
モード
-
リセットベクトル
アクセス領域
外部データ
バス幅
外部
8 bit
外部
16 bit
-
-
外部ROM
外部バスモード
外部ROM
外部バスモード
設定禁止
内部
(モードレジスタ)
シングルチップモード
-
-
使用禁止
備 考
■ モードデータ
リセット後,CPUが ”000007FFH”に書き込むデータをモードデータと呼びます。
”000007FFH”に存在するのはモードレジスタ(MODR)で,このレジスタに設定した後
は,このレジスタの設定モードで動作します。モードレジスタ(MODR)には,リセット
後,1度だけしか書き込むことができません。
このレジスタによる設定値は,書込み直後に有効となります。
93
第3章 CPUおよび制御部
■ モードレジスタ(MODR)
図 3.13-1に,モードレジスタ(MODR)のビット構成を示します。
図 3.13-1 モードレジスタ(MODR)のビット構成
○
バスモード設定ビット(M1,M0)
モードレジスタ書込み後のバスモードの指定を行います。
表 3.13-2に,各ビットの機能の関係を示します。
表 3.13-2バスモード設定ビットとその機能
M1
0
0
1
1
M0
0
1
0
1
機 能
シングルチップモード
内部ROM外部バスモード
外部ROM外部バスモード
-
備 考
設定禁止
<注意事項>
内部ROMを持たない品種では,上記のうち”1, 0”のみ設定してください。
○
その他のビット(*)
これらのビットには,常に”0”を書き込んでください。
■ モードレジスタ(MODR)書込み時の注意点
MODRに書き込む前には必ずAMD0∼AMD5を設定し,各チップセレクト(CS)領域のバ
ス幅を決定してください。MODRには,バス幅を設定するビットはありません。
バス幅に関しては,MODR書込み時はモード端子MD2∼MD0の値が,MODR書込み後は
AMD0∼AMD5のBW1,BW0の設定値が有効になります。
例えば,外部リセットベクタは通常領域0( CS0 がアクティブな領域)で行います
が,そのときのバス幅はMD2∼MD0端子で決まります。MD2∼MD0でそのときのバス幅
を16ビットに設定し,AMD0には何も設定しないままMODRに書込みを行ってしまう
と,AMD0のバス幅の初期値は8ビットになっているため,領域0はMODRに書込み後,8
ビットバスモードに遷移してバス動作をしてしまい,誤動作します。
このような問題を防ぐため,MODRを書き込む前には必ずAMD0∼AMD5を設定してお
くことが必要です。
94
第4章
バスインタフェース
この章では,外部バスインタフェースの基本事項,レジスタ構成/機能,バス動作,バ
スタイミングおよびバス動作のプログラム例について説明します。
なお,MB91F127/128にはDRAM制御信号用の端子を持っていませんので,DRAMインタ
フェースとして使用することはできません。
4.1
バスインタフェースの概要
4.2
バスインタフェースのブロックダイヤグラム
4.3
バスインタフェースのレジスタ
4.4
バス動作
4.5
バスタイミング
4.6
内部クロック逓倍動作(クロックダブラ)
4.7
外部バスのプログラム例
95
第4章 バスインタフェース
4.1
バスインタフェースの概要
バスインタフェースは,外部メモリおよび外部I/Oとのインタフェースを制御しま
す。
■ バスインタフェースの特長
25ビット(32MB)のアドレス出力
チップセレクト機能により6個の独立したバンク
-
最小64KB単位で論理アドレス空間上の任意の位置に設定可能
-
アドレス端子とチップセレクト端子で合計32MB×6の領域設定可能
チップセレクト領域ごとに16/8ビットのバス幅の設定が可能
プログラマブルな自動メモリウェイト(最大で7サイクル分)の挿入
アドレス/データの時分割入出力インタフェースのサポート
未使用のアドレス/データ端子はI/Oポートとして使用可能
リトルエンディアンモードサポート
96
4.1 バスインタフェースの概要
■ チップセレクト領域
バスインタフェースには全部で,6種類のチップセレクト領域が用意されます。
各領域の位置は,エリア選択レジスタ(ASR1∼ASR5)とエリアマスクレジスタ
(AMR1∼AMR5)で4GBの空間に,最小64KB単位で任意に配置することができます。また,
これらのレジスタによって指定された領域に対して外部バスアクセスをしようと
すると,対応するチップセレクト信号 CS0 ∼ CS5 がアクティブ”L”になります。
リセット時は, CS0 を除くこれらの端子はインアクティブ”H”となります。
<注意事項>
領域0は,ASR1∼ASR5によって指定された領域以外の空間に割り当てられます。
リセット時は,00010000H∼0005FFFFH以外の外部領域が領域0です。
図 4.1-1の(a)に領域1から領域5を00100000H∼0014FFFFHに64KB単位で配置した
例を示します。また,図 4.1-1の(b)に領域1を00000000H∼0007FFFFHの512KB,領域2
から領域5を00100000H∼004FFFFFHに1MB単位で配置した例を示します。
図 4.1-1 チップセレクト領域の設定例
97
第4章 バスインタフェース
■ バスインタフェース
バスインタフェースには次のインタフェースがあります。
通常バスインタフェース
アドレス/データ時分割入出力インタフェース
これらのインタフェースは,あらかじめ決められた領域でのみ使用できます。
表 4.1-1に,各チップセレクト領域と,使用可能なインタフェース機能との対応
を示します。
エリアモードレジスタ(AMD)によって,これらのどのインタフェースを使用する
かどうかを選択します。なお,選択しない場合は通常バスインタフェースになりま
す。
表 4.1-1 チップセレクト領域と選択できるバスインタフェースとの対応
領域
0
1
2
3
4
5
選択できるバスインタフェース
通常バス
時分割
DRAM
○
○
○
○
○
○
○
-
備 考
リセット時
■ 時分割入出力指定
領域1はAMD1で設定された幅のバス上にアドレスとデータが時分割で入出力され
ます。ALE端子にアドレスのラッチパルスが出力されます。
■ バスサイズ指定
各領域は,レジスタの設定によりバス幅の任意指定ができます。領域0は,リセッ
ト時MD2,MD1,MD0で設定されたバス幅になり,モードレジスタ(MODR)に書込み以降
は,エリアモードレジスタ0(AMD0)の設定値によりバスサイズが指定されます。
98
4.2 バスインタフェースのブロックダイヤグラム
4.2
バスインタフェースのブロックダイヤグラム
図 4.2-1に,バスインタフェースのブロックダイヤグラムを示します。
■ バスインタフェースのブロックダイヤグラム
図 4.2-1 バスインタフェースのブロックダイヤグラム
99
第4章 バスインタフェース
4.3
バスインタフェースのレジスタ
図 4.3-1に,バスインタフェースのレジスタ一覧を示します。
■ バスインタフェースのレジスタ一覧
図 4.3-1 バスインタフェースのレジスタ一覧
モードレジスタ(MODR)については,「3.13
100
動作モード」を参照してください。
4.3 バスインタフェースのレジスタ
4.3.1
エリア選択レジスタ(ASR)
エリア選択レジスタ(ASR)とエリアマスクレジス
(ASR)とエリアマスクレジス
タ(AMR)
エリア選択レジスタ(ASR1∼ASR5)とエリアマスクレジスタ(AMR1∼AMR5)は,チップ
セレクト領域1∼5のアドレス空間の範囲を指定します。
■ エリア選択レジスタ(ASR)とエリアマスクレジスタ(AMR)の構成
エリア選択レジスタ(ASR)とエリアマスクレジスタ(AMR)のレジスタ構成は以下
のとおりです。
○
エリア選択レジスタ(ASR1∼ASR5)
図 4.3-2 エリア選択レジスタ(ASR1∼ASR5)の構成
○
エリアマスクレジスタ(AMR1∼AMR5)
図 4.3-3 エリアマスクレジスタ(AMR1∼AMR5)
101
第4章 バスインタフェース
エリア選択レジスタ(ASR1∼ASR5)とエリアマスクレジスタ(AMR1∼AMR5)は,チッ
プセレクト領域1∼5のアドレス空間の範囲を指定します。
ASR1∼ASR5はアドレスの上位16ビット(A31∼A16)を指定し,AMR1∼AMR5で対応す
るアドレスビットをマスクします。AMR1∼AMR5の各ビットは”0”でcare, ”1”でdon't
careを示します。
”care”は,ASRの設定値が”0”の場合は”0”, ”1”の場合は”1”としてアドレス空間を示
します。
”don't care”の場合は,ASRの設定値にかかわらず, ”0”, ”1”両方の場合のアドレス
空間を示します。
以下にASRとAMRの組合せによる,各チップセレクト領域指定の例を示します。
[例1]
ASR1 = 00000000 00000011B
AMR1 = 00000000 00000000B
上記を設定した場合,ASR1に”1”を設定したビットに対応するAMR1のビット
は”0”のため,領域1のアドレス空間は,次のように64KBになります。
00000000 00000011 00000000 00000000B
|
00000000 00000011 11111111 11111111B
(00030000H)
(0003FFFFH)
[例2]
ASR2 = 00001111 11111111B
AMR2 = 00000000 00000011B
上記を設定した場合,AMR2に”0”を設定したビットに対応するASR2の設定値
は”1”と”0”をそのままcareし,AMR2に”1”を設定したビットに対応するASR2のビッ
トは, ”0”もしくは”1”のdon't careになることから,領域2のアドレス空間は,次の
ように256KBになります。
00001111 11111100 00000000 00000000B
|
00001111 11111111 11111111 11111111B
(0FFC0000H)
(0FFFFFFFH)
領域1∼5の各領域のアドレス空間は,ASR1∼5とAMR1∼5で,4GBの空間に最小64KB
単位で任意に配置することができます。これらのレジスタによって指定された領域
に対してバスアクセスを行うと,対応するチップセレクト端子( CS0 ∼ CS5 )が”L”出
力となります。
なお,領域0はASR1∼5とAMR1∼5で設定された領域以外の空間が割り当てられ,リ
セット時はASR1∼5とAMR1∼5の初期値により0001000H∼0005FFFFH以外の領域が割
り当てられています。
<注意事項>
チップセレクト領域は,お互いにオーバラップしないように設定してください。
102
4.3 バスインタフェースのレジスタ
図 4.3-4に,リセット時の初期値で64KBに設定されたマップと,[例1]と[例2]
で設定した領域のマップを示します。
図 4.3-4 チップセレクト領域を設定したマップの例
103
第4章 バスインタフェース
4.3.2
エリアモードレジスタ0(AMD0)
エリアモードレジスタ0(AMD0)
エリアモードレジスタ0(AMD0)は,チップセレクト領域0(ASR1∼5およびAMR1∼5で
指定された領域以外の領域)の動作モードを指定します。リセット時は,領域0が選択
されます。
■ エリアモードレジスタ0(AMD0)の構成
図 4.3-5に,エリアモードレジスタ0(AMD0)のレジスタ構成を示します。
図 4.3-5 エリアモードレジスタ0(AMD0)の構成
■ エリアモードレジスタ0(AMD0)のビット機能
以下に,エリアモードレジスタ0(AMD0)の各ビットの機能説明します。
【ビット4,3】: BW1,0(Bus Width bit)
BW1,BW0は,領域0のバス幅を指定します。
BW1
0
0
1
1
BW0
0
1
0
1
バス幅
8ビット
16ビット
設定禁止
設定禁止
<注意事項>
BW1,BW0の初期値はともに”0”ですが,読出し時MODRを書き込むまでは,レジスタの値ではなく
MD1,MD0の端子レベルが読まれます。
【ビット2∼0】: WTC2∼0(Wait Cycle bit)
WTC2∼WTC0は,通常バスインタフェース時の自動ウェイトの挿入回数を指定
します。
WTC2
0
0
0
0
1
1
1
1
WTC1
0
0
1
1
0
0
1
1
WTC0
0
1
0
1
0
1
0
1
挿入ウェイトサイクル数
0
1
2
3
4
5
6
7
AMD0のWTC2∼WTC0はリセット時に”111”に設定され,リセット解除直後のバス
アクセスでは自動的に7サイクルのウェイトが挿入されます。
<注意事項>
MODRを書き込む前に,必ずAMD0のBW1,BW0にMD2,MD1,MD0端子で設定したバス幅と同じバス幅を設
定してください。
104
4.3 バスインタフェースのレジスタ
領域0のバス幅は,リセット時はMD2,MD1,MD0端子で設定され,モードレジスタ
(MODR)設定後は,AMD0で設定されているバス幅が有効になります。
MD2,MD1,MD0端子で領域0を16ビット幅に設定し,そのバス幅のままでAMD0を
設定せずにMODRの書込みを行うと,AMD0のBW1,BW0の初期値は”00”のため,8ビッ
トバス幅に遷移して誤動作してしまいます。
105
第4章 バスインタフェース
4.3.3
エリアモードレジスタ1(AMD1)
エリアモードレジスタ1(AMD1)
エリアモードレジスタ1(AMD1)は,チップセレクト領域1(ASR1とAMR1で指定された
領域)の動作モードを指定します。
領域1ではアドレス/データ入出力の時分割入出力インタフェースを指定できます。
時分割入出力インタフェースはデータバスにアドレス出力/データ入出力を行うイン
タフェースであり,以下のように8ビットバス幅/16ビットバス幅のみをサポートしま
す。
・8ビットバス幅:A7∼A0がD31∼D24にマルチプレクス
・16ビットバス幅:A15∼A0がD31∼D16にマルチプレクス
■ エリアモードレジスタ1(AMD1)の構成
図 4.3-6に,エリアモードレジスタ1(AMD1)のレジスタ構成を示します。
図 4.3-6 エリアモードレジスタ1(AMD1)の構成
■ エリアモードレジスタ1(AMD1)のビット機能
以下に,エリアモードレジスタ1(AMD1)の各ビットの機能説明します。
【ビット7】: MPX (MultiPleX bit)
MPXは,アドレス/データ入出力の時分割入出力インタフェースを制御します。
MPX
0
1
機能
通常バスインタフェース
時分割入出力インタフェース
【ビット4,3】: BW1,BW0 (Bus Width bit)
BW1,BW0は,領域1のバス幅を指定します。
BW1
0
0
1
1
BW0
0
1
0
1
バス幅
8ビット
16ビット
設定禁止
Reserved
【ビット2∼0】: WTC2∼WTC0 (Wait Cycle bit)
WTCは,通常バスインタフェース動作時の自動挿入ウェイトサイクル数を指定
します。動作はAMD0のWTC2∼WTC0と同様ですが,リセットで”000”に初期化され,
挿入ウェイトサイクル数は”0”になります。
106
4.3 バスインタフェースのレジスタ
4.3.4
エリアモードレジスタ32(AMD32)
エリアモードレジスタ32(AMD32)
エリアモードレジスタ(AMD32)は,チップセレクト領域2(ASR2とAMR2で指定された
領域)とチップセレクト領域3(ASR3とAMR3で指定された領域)の動作モードを制御し
ます。
これらの領域は通常バスアクセスのみであり,時分割入出力インタフェースは使用で
きません。
領域2,3のバス幅は,BW1,BW0ビットで一括して同じバス幅を制御し,自動ウェイトサ
イクルはそれぞれの領域で独立に設定できます。
■ エリアモードレジスタ32(AMD32)の構成
図 4.3-7に,エリアモードレジスタ32(AMD32)のレジスタ構成を示します。
図 4.3-7 エリアモードレジスタ32(AMD32)の構成
■ エリアモードレジスタ32(AMD32)のビット機能
以下に,エリアモードレジスタ32(AMD32)の各ビットの機能説明します。
【ビット7,6】: BW1,BW0 (Bus Width bit)
BW1,BW0は,領域2/領域3のバス幅を指定します。
BW1
0
0
1
1
BW0
0
1
0
1
バス幅
8ビット
16ビット
設定禁止
Reserved
【ビット5∼3】: WT32∼WT30 (Wait Cycle bit)
WT32∼WT30は,領域3のメモリアクセス時の自動ウェイトサイクル数を指定し
ます。
動作は,AMD0のWTC2∼0と同様です。リセットで”000”に初期化され,挿入ウェイ
トサイクル数は”0”になります。
【ビット2∼0】: WT22∼WT20 (Wait Cycle bit)
WT22∼WT20は,領域2のメモリアクセス時の自動挿入ウェイトサイクル数を指
定します。
動作は,AMD0のWTC2∼0と同様です。リセットで”000”に初期化され,挿入ウェイ
トサイクル数は”0”になります
107
第4章 バスインタフェース
4.3.5
エリアモードレジスタ4(AMD4)
エリアモードレジスタ4(AMD4)
エリアモードレジスタ4(AMD4)は,チップセレクト領域4(ASR4とAMR4で指定された
領域)の動作モードを指定します。
■ エリアモードレジスタ4(AMD4)の構成
図 4.3-8に,エリアモードレジスタ4(AMD4)のレジスタ構成を示します。
図 4.3-8 エリアモードレジスタ4(AMD4)の構成
■ エリアモードレジスタ4(AMD4)のビット機能
以下に,エリアモードレジスタ4(AMD4)の各ビットの機能説明します。
【ビット7】: DRME (DRaM Enable bit)
DRMEは,領域4に対して通常バスインタフェースを選択します。
DRME
0
1
動作
通常バスインタフェース
設定禁止
【ビット4,3】: BW1,BW0 (Bus Width bit)
BW1,BW0は,領域4のバス幅を指定します。ほかのエリアモードレジスタ(AMD)
タのBWビットと同様の機能を持ちます。
BW1
0
0
1
1
BW0
0
1
0
1
バス幅
8ビット
16ビット
設定禁止
Reserved
【ビット2∼0】: WTC2∼WTC0 (Wait Cycle bit)
WTC2∼WTC0は,領域4のメモリアクセス時の自動挿入ウェイトサイクル数を指
定します。ほかのエリアモードレジスタ(AMD)のWTCビットと同様の機能を持ち,
リセットで”000”に初期化された挿入ウェイトサイクル数は”0”になります。
108
4.3 バスインタフェースのレジスタ
4.3.6
エリアモードレジスタ5(AMD5)
エリアモードレジスタ5(AMD5)
エリアモードレジスタ5(AMD5)は,チップセレクト領域5(ASR5とAMR5で指定された
領域)の動作モードを指定します。
■ エリアモードレジスタ5(AMD5)の構成
図 4.3-9に,エリアモードレジスタ5(AMD5)のレジスタ構成を示します。
図 4.3-9 エリアモードレジスタ5(AMD5)の構成
■ エリアモードレジスタ5(AMD5)のビット機能
以下に,エリアモードレジスタ5(AMD5)の各ビットの機能説明します。
【ビット7】: DRME (DRaM Enable bit)
DRMEは,領域5に対して通常バスインタフェースかを選択します。
DRME
0
1
機能
通常バスインタフェース
設定禁止
【ビット4,3】: BW1,BW0 (Bus Width bit)
BW1,BW0は,領域5のバス幅を指定します。ほかのエリアモードレジスタ(AMD)
タのBWビットと同様の機能を持ちます。
BW1
0
0
1
1
BW0
0
1
0
1
バス幅
8ビット
16ビット
設定禁止
Reserved
【ビット2∼0】: WTC2∼WTC0 (Wait Cycle bit)
WTC2∼WTC0は,領域5のメモリアクセス時の自動挿入ウェイトサイクル数を指
定します。ほかのエリアモードレジスタ(AMD)のWTCビットと同様の機能を持ち,
リセットで”000”に初期化され,挿入ウェイトサイクル数は”0”になります。
109
第4章 バスインタフェース
4.3.7
外部端子制御レジスタ0(
外部端子制御レジスタ0(EPCR0
0(EPCR0)
EPCR0)
外部端子制御レジスタ0(EPCR0)は,各信号の出力を制御します。
出力許可の場合は,各バスモードで所望のタイミングを出力し,入力有効の場合は,
外部からの入力信号を受付けます。
出力禁止/入力無効の場合は,I/Oポートとして使用できます。
■ 外部端子制御レジスタ0(EPCR0)の構成
図 4.3-10に,外部端子制御レジスタ0(EPCR0)のレジスタ構成を示します。
図 4.3-10 外部端子制御レジスタ0(EPCR0)の構成
■ 外部端子制御レジスタ0(EPCR0)のビット機能
以下に, 外部端子制御レジスタ0(EPCR0)の各ビットの機能説明します。
【ビット13】: ALEE (ALE output Enable bit)
ALEEは,ALE出力を許可するかどうかを選択します。
リセット時は出力許可となります。
ALEE
0
1
機能
出力禁止
出力許可 (初期値)
ALEは領域1を時分割モードで使用した際,外部周辺のアドレスストローブと
して使用します。
【ビット11】: WRE (WRite pulse output Enable bit)
WREはライトパルス WR0 ∼ WR1 を出力するかどうかを選択します。
リセット時は出力許可となります。
WRE
0
1
機能
出力禁止
出力許可 (初期値)
MB91F127/128では,WREビットによる WR0 ∼ WR1 端子のI/Oポート制御を行わな
いため,このビットには,常に”1”を設定してください。ライトパルスはWREビット
を”1”に設定していても,AMDで設定されたバス幅に応じてI/Oポートとして使用
することができます(例えば,8ビットモードでは WR1 は出力されず,対応する端
子はI/Oポートとして使用できます)。
110
4.3 バスインタフェースのレジスタ
【ビット10】: RDXE (ReaDX pulse output Enable bit)
RDXEは,リードパルス RD を出力するかどうかを選択します。
リセット時は出力許可となります。
WRE
0
1
機能
出力禁止 (設定禁止)
出力許可 (初期値)
外部バスモード使用時は,RDXEビットによる RD 端子のI/Oポート制御は行わな
いため,このビットには,常に”1”を設定してください。
【ビット9】: RDYE (ReaDY input Enable bit)
RDYEは,RDY入力を以下のように制御します。
リセット時は入力無効となります。
RDYE
0
1
機能
RDY入力無効 (初期値)
RDY入力有効
【ビット8】: BRE(Bus Request Enable bit)
BREは,BRQと BGRNT を以下のように制御します。
リセット時はBRQの入力は無効, BGRNT の出力は禁止となります。
BRE
機能
0
BRQの入力無効, BGRNT の出力禁止
(端子はI/Oポートとして機能) (初期値)
1
BRQの入力有効, BGRNT の出力許可
【ビット6】: CKE (ClocK output Enable bit)
CKEは,CLK(外部バスの動作クロック波形)の出力イネーブルビットです。
CKE
0
1
機能
出力禁止
出力許可 (初期値)
このビットはリセット時に”1”に初期化され,CLKは出力状態になります。
【ビット5】: COE5 (Chip select Output Enable 5)
COE5は, CS5 の出力を制御します。リセット時は出力許可となります。
COE5
0
1
機能
出力禁止
出力許可 (初期値)
【ビット4】: COE4 (Chip select Output Enable 4)
COE4は, CS4 の出力を制御します。リセット時は出力許可となります。
COE4
0
1
機能
出力禁止
出力許可 (初期値)
【ビット3】: COE3 (Chip select Output Enable 3)
COE3は, CS3 の出力を制御します。リセット時は出力許可となります。
COE3
0
1
機能
出力禁止
出力許可 (初期値)
111
第4章 バスインタフェース
【ビット2】: COE2 (Chip select Output Enable 2)
COE2は, CS2 の出力を制御します。リセット時は出力許可となります。
COE2
0
1
機能
出力禁止
出力許可 (初期値)
【ビット1】: COE1 (Chip select Output Enable 1)
COE1は, CS1 の出力を制御します。リセット時は出力許可となります。
COE1
0
1
機能
出力禁止
出力許可 (初期値)
【ビット0】: COE0 (Chip select Output Enable 0)
COE0は, CS0 の出力を制御します。リセット時は出力許可となります。
COE0
0
1
機能
出力禁止
出力許可 (初期値)
外部バスモード使用時には,COE0ビットによる CS0 端子のI/Oポート制御は行
われないため,このビットには常に”1”を設定してください。
112
4.3 バスインタフェースのレジスタ
4.3.8
外部端子制御レジスタ1(EPCR1)
外部端子制御レジスタ1(EPCR1)
外部端子制御レジスタ1(EPCR1)は,アドレス信号の出力を制御します。
■ 外部端子制御レジスタ1(EPCR1)の構成
図 4.3-11に,外部端子制御レジスタ1(EPCR1)のレジスタ構成を示します。
図 4.3-11 外部端子制御レジスタ1(EPCR1)の構成
■ 外部端子制御レジスタ1(EPCR1)のビット機能
以下に,外部端子制御レジスタ1(EPCR1)の各ビットの機能説明します。
【ビット8∼0】: AE24∼AE16 (Address output Enable 24∼16)
AE24∼AE16は,対応するアドレスを出力するかどうかを指定します。
出力禁止の場合は,I/Oポートとして使用できます。
AE24∼AE16
0
1
機能
出力禁止
出力許可 (初期値)
AE24∼AE16は,リセットによって”1FFH”に初期化されます。
113
第4章 バスインタフェース
4.3.9
リトルエンディアンレジスタ(LER)
リトルエンディアンレジスタ(LER)
MB91F127/128のバスアクセスは通常全領域ビッグエンディアン(big endian)で行
いますが,リトルエンディアンレジスタ(LER)を設定することにより,領域1∼5のどれ
か1領域をリトルエンディアン(little endian)領域として扱うことができます。
通常/時分割/DRAMインタフェースに依存せず,全バスモードに対してサポートしま
す。ただし,領域0はリトルエンディアン対象外です。
■ リトルエンディアンレジスタ(LER)の構成
図 4.3-11に,リトルエンディアンレジスタ(LER)のレジスタ構成を示します。
図 4.3-12 リトルエンディアンレジスタ(LER)の構成
■ リトルエンディアンレジスタ(LER)のビット機能
以下に, リトルエンディアンレジスタ(LER)の各ビットの機能説明します。
【ビット2∼0】: LE2-0
表 4.3-1に示すように,LE2,LE1,LE0ビットの組合せでリトルエンディアン領
域を指定します。
表 4.3-1
ビット(LE2,LE1,LE0)の組合せによるモードの設定
LE2
LE1
LE0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
モード
リセット後の初期値
リトルエンディアン領域なし
領域1がリトルエンディアン
領域0,2∼5はビッグエンディアン
領域2がリトルエンディアン
領域0∼1,3∼5はビッグエンディアン
領域3がリトルエンディアン
領域0∼2,4∼5はビッグエンディアン
領域4がリトルエンディアン
領域0∼3,5はビッグエンディアン
領域5がリトルエンディアン
領域0∼4はビッグエンディアン
<注意事項>
リトルエンディアンレジスタ(LER)には,リセット後一度だけしか書き込むことができません。
114
4.4 バス動作
4.4
バス動作
バス動作の基本事項として,次の項目について説明します。
・データバス幅と制御信号との関係
・ビッグエンディアンのバスアクセス
・リトルエンディアンのバスアクセス
・外部アクセスの比較
■ データバス幅と制御信号との関係
次のバスインタフェースでのデータバス幅と制御信号の関係について説明しま
す。
通常バスインタフェース
時分割入出力バスインタフェース
DRAMインタフェース
■ ビッグエンディアンのバスアクセス
外部アクセスについて,次の項目を説明します。
データフォーマット
データバス幅
外部バスアクセス
外部デバイスとの接続例
■ リトルエンディアンのバスアクセス
外部アクセスについて,次の項目を説明します。
リトルエンディアンの概要
データフォーマット
データバス幅
外部デバイスとの接続例
■ ビッグエンディアンとリトルエンディアンの外部アクセスの比較
ビッグエンディアンとリトルエンディアンの外部アクセスの比較として,バス幅
に対するワードアクセス,ハーフワードアクセスおよびバイトアクセスについて説
明します。
115
第4章 バスインタフェース
4.4.1
データバス幅と制御信号との関係
データバスの制御信号( WR0 ∼ WR1,CS0H,CS0L,CS1L,CS1H,DW0X,DW1X)は,ビッグエ
ンディアン/リトルエンディアンやデータバス幅に関係なくデータバスのバイト位置
に常に1対1に対応します。
■ データバス幅と制御信号との関係
ここでは,バスモード別に,設定されたデータバス幅で使用されるMB91F127/128
のデータバスのバイト位置とそれに対応する制御信号をまとめます。
○
通常バスインタフェースでのデータバス幅と制御信号
図 4.4-1 通常バスインタフェースでのデータバス幅と制御信号
○
時分割入出力バスインタフェースでのデータバス幅と制御信号
図 4.4-2 時分割入出力バスインタフェースでのデータバス幅と制御信号
116
4.4 バス動作
○
DRAMインタフェースでのデータバス幅と制御信号
図 4.4-3 DRAMインタフェースでのデータバス幅と制御信号
表 4.4-1に,データバス幅と制御信号の関係を示します。
表 4.4-1 データバス幅と制御信号の関係
バス幅
16ビットバス幅
8ビットバス幅
データバス
WR
2CAS/1WE
1CAS/2WE
WR
2CAS/1WE
1CAS/2WE
D31-D24
WR0
CASL
WEL
WR0
CAS
WE
D23-D16
WR1
CASH
WEH
117
第4章 バスインタフェース
4.4.2
ビッグエンディアンのバスアクセス
リトルエンディアンレジスタ(LER)を設定しない領域に対しては,ビッグエンディ
アンで外部バスアクセスを行います。
FRファミリは通常ビッグエンディアンです。
■ データフォーマット
データフォーマットごとに,内部レジスタと外部データバスとの関係を示します。
○
ワードアクセス(LD,ST命令実行時)
図 4.4-4 ワードアクセスの内部レジスタと外部データバスとの関係
○
ハーフワードアクセス(LDUH,STH命令実行時)
図 4.4-5 ハーフワードアクセスの内部レジスタと外部データバスとの関係
118
4.4 バス動作
○
バイトアクセス(LDUB,STB命令実行時)
図 4.4-6 バイトアクセスの内部レジスタと外部データバスとの関係
■ データバス幅
データバス幅ごとに,内部レジスタと外部データバスとの関係を示します。
○
16ビットバス幅
図 4.4-7 16ビットバス幅の内部レジスタと外部データバスとの関係
119
第4章 バスインタフェース
○
8ビットバス幅
図 4.4-8 8ビットバス幅内部レジスタと外部データバスとの関係
■ 外部バスアクセス
外部バスアクセス(16ビット/8ビットバス幅)をワード/ハーフワード/バイトア
クセス別に図 4.4-9,図 4.4-10に示します。また,以下の項目も合わせて図 4.4-9,
図 4.4-10に示します。
-
アクセスバイト位置
-
プログラムアドレスと出力アドレス
-
バスアクセス回数
<注意事項>
MB91F127/128は,ミスアラインエラーを検出しません。したがって,ワードアクセスの場合には,
プログラムで指定したアドレス下位2ビットが”00”, ”01”, ”10”, ”11”であっても,出力するアドレ
スの下位2ビットはすべて”00”となり,ハーフワードアクセスの場合には”00”, ”01”のときは”00”
に, ”10”, ”11”のときには”10”になります。
120
4.4 バス動作
○
16ビットバス幅
ワードアクセス
(B)ハーフワードアクセス
(C)バイトアクセス
図 4.4-9 16ビット幅のときの外部バスアクセス
121
第4章 バスインタフェース
○
8ビットバス幅
(A)ワードアクセス
(B)ハーフワードアクセス
(C)バイトアクセス
図 4.4-10 8ビットバス幅のときの外部バスアクセス
122
4.4 バス動作
■ 外部デバイスとの接続例
図 4.4-11に,MB91F127/128と外部デバイスとの接続例を示します。
図 4.4-11 MB91F127/128と外部デバイスの接続例
123
第4章 バスインタフェース
4.4.3
リトルエンディアンのバスアクセス
リトルエンディアン(LER)を設定した領域に対しては,リトルエンディアンで外部
バスアクセスを行います。
■ リトルエンディアンの概要
MB91F127/128のリトルエンディアンバスアクセスは,ビッグエンディアン時のバ
スアクセス動作を利用し,基本的にはビッグエンディアン時の出力アドレスの順番
と制御信号の出力は同じで,データバスのバイト位置をバス幅に応じてスワップす
ることにより実現しています。
接続時には,ビッグエンディアン領域とリトルエンディアン領域を物理的に分け
る必要がありますので,十分注意が必要です。
出力するアドレスの順番はビッグエンディアン/リトルエンディアンで
変わりありません。
ワードアクセス:ビッグエンディアンのアドレス”00”に対応するMSB側の
バイトデータが,リトルエンディアンでは,LSB側のバイトデータになり
ます。
ワードアクセスの場合は,ワード内の4バイトすべてのバイト位置がひっ
くりかえります。
”00”→ ”11”, ”01”→ ”10”, ”10”→ ”01”, ”11”→ ”00”
ハーフワードアクセス:ビッグエンディアンのアドレス”0”に対応するMSB
側のバイトデータが,リトルエンディアンでは,LSB側のバイトデータに
なります。
ハーフワードアクセスの場合は,ハーフワード内の2バイトのバイト位置
がひっくりかえります。
”0”→ ”1”, ”1”→ ”0”
バイトアクセス:ビッグエンディアン/リトルエンディアンとも同じです。
16/8ビットバス幅で使用するデータバス制御信号はビッグエンディアン
/リトルエンディアンで変わりありません。
124
4.4 バス動作
■ データフォーマット
データフォーマットごとに,内部レジスタと外部データバスとの関係を示します。
○
ワードアクセス(LD,ST命令実行時)
図 4.4-12 ワードアクセスの内部レジスタと外部データバスとの関係
○
ハーフワードアクセス(LDUH,STH命令実行時)
図 4.4-13 ハーフワードアクセスの内部レジスタと外部データバスとの関係
○
バイトアクセス(LDUB,STB命令実行時)
図 4.4-14 バイトアクセスの内部レジスタと外部データバスとの関係
125
第4章 バスインタフェース
■ データバス幅
データバス幅ごとに,内部レジスタと外部データバスとの関係を示します。
○
16ビットバス幅
図 4.4-15 16ビットバス幅の内部レジスタと外部データバスとの関係
○
8ビットバス幅
図 4.4-16 8ビットバス幅の内部レジスタと外部データバスとの関係
126
4.4 バス動作
■ 外部デバイスとの接続例
図 4.4-17と図 4.4-18に,MB91127/F128と外部デバイスとの接続例をバス幅ごと
に示します。
○
16ビットバス幅
図 4.4-17 MB91F127/128と外部デバイスとの接続例(16ビットバス幅)
○
8ビットバス幅
図 4.4-18 MB91F127/128外部デバイスとの接続例(8ビットバス幅)
127
第4章 バスインタフェース
4.4.4
ビッグエンディアンとリトルエンディアンの外部
アクセスの比較
バス幅に対するワードアクセス,ハーフワードアクセス,およびバイトアクセスに
ついて,ビッグエンディアンとリトルエンディアンの外部アクセスの比較を示します。
■ ワードアクセス
ビッグエンディアンモード
16ビット
バス幅
8ビット
バス幅
128
リトルエンディアンモード
4.4 バス動作
■ ハーフワードアクセス
ビッグエンディアンモード
リトルエンディアンモード
16ビット
バス幅
8ビット
バス幅
129
第4章 バスインタフェース
■ バイトアクセス
ビッグエンディアンモード
16ビット
バス幅
130
リトルエンディアンモード
4.4 バス動作
ビッグエンディアンモード
リトルエンディアンモード
8ビット
バス幅
131
第4章 バスインタフェース
4.5
バスタイミング
次の項目について,各モードでのバスアクセスのタイミング図と動作について説明
します。
・通常バスアクセス
・ウェイトサイクル
・時分割入出力インタフェース
・外部バスリクエスト
■ 通常バスアクセス
通常バスインタフェースでは,リードサイクル/ライトサイクルともに,”2クロッ
クサイクル”が基本バスサイクルになります。このマニュアルでは,その2サイクル
を”BA1”, ”BA2”で表します
基本リードサイクル
基本ライトサイクル
各モードでのリードサイクル
各モードでのライトサイクル
リード/ライト混合サイクル
■ ウェイトサイクル
ウェイトサイクルには,エリアモードレジスタ(AMD)のWTCビットによる自動ウェ
イトサイクルと,RDY端子を使用する外部ウェイトサイクルがあります。
ウェイトサイクルは,前のサイクルを継続して行うモードであり,ウェイトが解
除されるまで, ”BA1サイクル”を繰り返します。
自動ウェイトサイクル
外部ウェイトサイクル
■ 時分割入出力インタフェース
領域1ではアドレス/データの時分割入出力インタフェースがサポートされます。
時分割入出力はBW1,0に指定されたバス幅において行われます。
時分割入出力インタフェースは,アドレス出力サイクル2クロック+データアクセ
スサイクル2クロックの計4クロックサイクルが基本バスサイクルになり,アドレス
出力サイクルでは,出力アドレスラッチ信号としてALE端子をアサートします。
■ 外部バスリクエスト
バス権解放
バス権獲得
132
4.5 バスタイミング
4.5.1
基本リードサイクル
基本リードサイクルの動作タイミングを示します。
■ 基本リードサイクルタイミング
○
バス幅:16ビット,アクセス:ワード,CS0領域のアクセス
図 4.5-1 基本リードサイクルのタイミング図
【動作説明】
CLKは,外部バスの動作クロックを出力します。
ギアがかかったときには,ギア比に応じてCLKの周波数も下がります。
A24∼A00(アドレス24∼00)は,リードサイクルのワード/ハーフワード/
バイトアクセスの先頭バイト位置のアドレスをバスサイクルの開始
(BA1)から出力します。
図 4.5-1の場合,16ビットバス幅でワードアクセスを行うため,1回目の
バスサイクルでワードアクセスの上位16ビットのアドレス(下位2ビッ
ト”0”)を,2回目のバスサイクルで下位16ビットのアドレス(下位2ビッ
ト”2”)を出力します。
133
第4章 バスインタフェース
D31∼D16(データ31∼16)は,外部メモリ,I/Oからのリードデータを表し
ます。リードサイクルの場合は, RD の立ち上がりでD31∼D16を取り込みま
す。なお,リードサイクルの場合は,バス幅やワード/ハーフワード/バイ
トアクセスに関係なく, RD の立ち上がりでD31∼D16をすべて取り込み,取
り込んだデータが有効かどうかの判断はチップ内部で行います。
RD は,外部データバスのリードストローブ信号であり,BA1の立ち下がり
でアサートし,BA2の立ち下がりでネゲートします。
リードサイクルの場合は WR0 , WR1 はネゲート状態です。
CS0 ∼ CS5 (領域チップセレクト)信号の出力は,A24∼A00と同タイミング
でバスサイクルの開始(BA1)からアサートされます。 CS0 ∼ CS5 はアドレ
ス出力をデコードして作っており,アドレス出力が変化してASR,AMRで設
定したチップセレクト領域が変わらない限り変化しません。
また, CS0 ∼ CS5 は,いつも必ずどれかはアサートされています。
134
4.5 バスタイミング
4.5.2
基本ライトサイクル
基本ライトサイクル
基本ライトサイクルの動作タイミングを示します。
■ 基本ライトサイクルの動作タイミング
○
バス幅:8ビット,アクセス:ワード,CS0領域のアクセス
図 4.5-2 基本ライトサイクルの動作タイミング例
【動作説明】
A24∼A00(アドレス24∼00)は,ライトサイクルのワード/ハーフワード/
バイトアクセスの先頭バイト位置のアドレスをバスサイクルの開始
(BA1)から出力します。図 4.5-2の場合,8ビットバス幅でワードアクセス
を行うため,まずワードアクセスの先頭バイト(アドレス下位”0”)のアド
レスを出力し,その後は順々に先頭バイトから+1のアドレス(”1”),+2のア
ドレス(”2”),+3のアドレス(”3”)を出力します。
D31∼D16(データ31∼16)は,外部メモリ,I/Oへのライトデータを表しま
す。ライトサイクルの場合は,ライトデータをバスサイクルの開始(BA1)
から出力し,バスサイクルの終了(BA2の終了)でHi-zにします。
図 4.5-2の場合は,8ビットデータバス幅のため,D31∼D24にライトデー
タが出力されます。
ライトサイクルでは, RD はネゲート状態です。
135
第4章 バスインタフェース
WR0 , WR1 は,外部データバスのライトストローブ信号であり,BA1の立ち
下がりでアサートし,BA2の立ち下がりでネゲートします。D31∼D24は
WR0 ,D23∼D16は WR1 と,それぞれ対応するデータバスに応じてアサート
されます。
図 4.5-2の場合は,8ビットデータバス幅のため, WR0 のみアサートされま
す。
チップセレクト領域0∼5の最大バス幅が8ビットの場合,すなわち設定さ
れたすべての領域が8ビットの場合は,D23∼D16と WR1 は自動的にI/Oポー
トになり,Hi-zとなります。
図 4.5-2は,D23∼D16と WR1 がI/Oポートとして使用される場合を示して
います。また,チップセレクト領域0∼5のうち,バス幅がどれか1領域でも
16ビットに設定されていると,D23∼D16と WR1 はI/Oポートとして使用で
きませんので,ご注意ください。
端子
最大バス幅
16ビット
8ビット
D31-24
D23-16
WR0
D31-24
WR1
D23-16
WR0
D31-24
WR1
WR0
I/Oポート
DACK0∼DACK2,E0P0∼E0P2はDMAの外部バスサイクルで出力されます。出
力するかどうかは,DMACのレジスタ設定により決定され,出力タイミング
は WR0 ∼ WR1 と同じです。
136
4.5 バスタイミング
4.5.3
各モードでのリードサイクル
各モードでのリードサイクルの動作タイミングを示します。
■ 各モードでのリードサイクルの動作タイミング
○
バス幅:16ビット,アクセス:ハーフワード
図 4.5-3 リードサイクルのタイミング例1
○
バス幅:16ビット,アクセス:バイト
図 4.5-4 リードサイクルのタイミング例2
○
バス幅:8ビット,アクセス:ワード
図 4.5-5 リードサイクルのタイミング例3
137
第4章 バスインタフェース
○
バス幅:8ビット,アクセス:ハーフワード
図 4.5-6 リードサイクルのタイミング例4
○
バス幅:8ビット,アクセス:バイト
図 4.5-7 リードサイクルのタイミング例5
138
4.5 バスタイミング
4.5.4
各モードでのライトサイクル
各モードでのライトサイクルの動作タイミングを示します。
■ ライトサイクルタイミング
○
バス幅:16ビット,アクセス:ワード
図 4.5-8 ライトサイクルのタイミング例1
○
バス幅:16ビット,アクセス:ハーフワード
図 4.5-9 ライトサイクルのタイミング例2
139
第4章 バスインタフェース
○
バス幅:16ビット,アクセス:バイト
図 4.5-10 ライトサイクルのタイミング例3
○
バス幅:8ビット,アクセス:ハーフワード
図 4.5-11 ライトサイクルのタイミング例4
○
バス幅:8ビット,アクセス:バイト
図 4.5-12 ライトサイクルのタイミング例5
140
4.5 バスタイミング
4.5.5
リード/
リード/ライト混在サイクル
リード/ライト混在サイクルの動作タイミングを示します。
■ リード/ライト混在サイクルタイミング
○
CS0領域:バス幅16ビット,ワードリード
CS1領域:バス幅 8ビット,ハーフワードリード
図 4.5-13 リード/ライト混在サイクルのタイミング例1
【動作説明】
図 4.5-13は,チップセレクト領域の切り替わりに,アイドルサイクル(何
もバスサイクルをおこなっていないサイクル)が挿入された場合を表し
ています。バスサイクルの間にアイドルサイクルが挿入された場合は,ア
ドレスは次のバスサイクルが開始されるまで前のバスサイクルのアドレ
スをそのまま出力し続けます。
それに伴い,出力しているアドレスに対応する CS0 ∼ CS5 もアサートし続
けます。
図 4.5-13は,16ビット/8ビットバスの混在です。
最大バス幅が16ビットのため,8ビットアクセス領域(CS1領域)でも,D23
∼D16と WR1 はI/Oポートになりません。D23∼D16は不定データが出力さ
れ, WR1 はネゲート状態になります。
141
第4章 バスインタフェース
4.5.6
自動ウェイトサイクル
自動ウェイトサイクルの動作タイミングを示します。
■
自動ウェイトサイクルタイミング
○
バス幅:16ビット,アクセス:ハーフワードリード/ライト
図 4.5-14 自動ウェイトサイクルのタイミング例
【動作説明】
自動ウェイトサイクルは,それぞれのチップセレクト領域のエリアモー
ドレジスタ(AMD)のWTCビットを設定することにより実現できます。
図 4.5-14の場合は,WTCビットに”001”を設定して,通常バスサイクルに1
ウェイトのバスサイクルを挿入した例を示しており,その場合は”通常バ
スサイクル2クロック”+”ウェイトサイクル1クロック”の”計3クロックバ
スサイクル”になります。
自動ウェイトは,最大7クロックサイクルまで(その場合,通常バスサイク
ルは9クロックサイクル)設定することができます。
142
4.5 バスタイミング
4.5.7
外部ウェイトサイクル
外部ウェイトサイクルの動作タイミングを示します。
■ 外部ウェイトサイクルタイミング
○
バス幅:16ビット,アクセス:ハーフワード
図 4.5-15 外部ウェイトサイクルのタイミング例
【動作説明】
外部ウェイトサイクルは,EPCR0のRDYEビットを”1”に設定し,外部RDY端子
の入力を有効にすることにより実現できます。
外部RDYを使用する場合は,必ず1クロック以上の自動ウェイトサイクル,
すなわちAMDのWTCビットに”001”以上の値を設定してください。自動ウェ
イトサイクル中はRDYの検出はせず,自動ウェイトサイクル後検出します。
また,外部RDYは,CLK端子出力の立ち下がりに同期して入力してください。
CLKの立ち下がり時点で外部RDYが”L”レベルならばウェイトサイクルとな
り,同じBA1サイクルを繰り返します。また,”H”レベルのときにはウェイト
サイクル終了と判断し,BA2サイクルに遷移します。
143
第4章 バスインタフェース
4.5.8
時分割入出力インタフェース
時分割入出力インタフェースの動作タイミングを示します。
■ 時分割入出力インタフェースの動作タイミング
○
8ビットバス幅リード
図 4.5-16に,下記条件の動作タイミング例を示します。
-
AMD1:MPX=1,BW=00B,WTC=000B,EPCR0:ALEE=1
-
アクセス:8ビットデータリード
図 4.5-16 8ビットバス幅リード動作タイミング例
8ビットバス幅のときには,D31-24にアドレスA07-00が出力されます。
○
時分割モードでの自動ウェイト動作(16ビットバス幅ライト)
図 4.5-17に,下記条件の動作タイミング例を示します。
-
AMD1:MPX=1,BW=01B,WTC=001B,EPCR0:ALEE=1
-
アクセス:16ビットデータリード
図 4.5-17 時分割モードでの自動ウェイト動作タイミング例
16ビットバス幅のときには,D31-16にアドレスA15-00が出力されます。
144
4.5 バスタイミング
○
時分割モードでの外部ウェイト動作
図 4.5-18に,下記条件の動作タイミング例を示します。
-
AMD1:MPX=1,BW=00B,WTC=010B,EPCR0:ALEE=1
-
アクセス:8ビットデータリード
図 4.5-18 時分割モードでの外部ウェイト動作タイミング例
145
第4章 バスインタフェース
4.5.9
外部バスリクエスト
外部バスリクエストの動作タイミングを示します。
■ バス権解放
図 4.5-19 バス権解放のタイミング例
【動作説明】
EPCR0のBREビットを”1”に設定することによりBRQ, BGRNT によるバスアー
ビトレーションを行うことができます。
バス権解放時は,端子をHigh-Zにしてから1サイクル後に BGRNT をアサー
トします。
■ バス権獲得
図 4.5-20 バス権獲得のタイミング例
【動作説明】
EPCR0のBREビットを”1”に設定することにより,BRQ, BGRNT によるバス
アービトレーションを行うことができます。
バス権解放時は, BGRNT をネゲートしてから1クロック後に各端子をアク
ティブにします。
146
4.6 内部クロック逓倍動作(クロックダブラ)
4.6
内部クロック逓倍動作(
内部クロック逓倍動作(クロックダブラ)
クロックダブラ)
MB91F127/128はクロック逓倍回路を持っており,CPU内部はバスインタフェースの2
倍,1倍のいずれかの周波数で動作します。どちらのクロックを選択した場合でも,バ
スインタフェースはCLKからの外部アクセス要求が発生した場合,CLK出力の立ち上が
りを待って外部へのアクセスを開始します。
■ クロック選択方法
2倍,1倍のクロック選択の方法は「3.11.12 クロックダブラ機能」を参照してく
ださい。
クロック選択の変更は,チップ動作中でも任意に行うことができます。クロック
選択の切替え中は,バス動作が一時抑止されます。また,リセット時には,クロック
選択は自動的に1倍になります。
図 4.6-1に2倍クロックの,図 4.6-2に1倍クロックのタイミング例を示します。
図 4.6-1 2倍クロックの場合のタイミング例(BW-16ビット,アクセス:ワードリード)
図 4.6-2 1倍クロックの場合のタイミング例(BW-16ビット,アクセス:ワードリード)
147
第4章 バスインタフェース
4.7
外部バスのプログラム例
外部バスのプログラム例
外部バスを動作させるための簡単なプログラム例を示します。
■ 外部バス動作のプログラム仕様例
レジスタの設定は以下のとおりです。
○
領域
領域0(AMD0):16ビット,通常バス,自動ウェイト0
領域1(AMD1):16ビット,通常バス,自動ウェイト2
領域2(AMD32):16ビット,通常バス,自動ウェイト1
領域3(AMD32):16ビット,通常バス,自動ウェイト1
領域4(AMD4):16ビット,DRAM,ページサイズ256,1CAS/2WE,
ウェイトあり,CBRリフレッシュ
領域5(AMD5):16ビット,DRAM,ページサイズ512,2CAS/1WE,
ウェイトなし,CBRリフレッシュ
○
ほかのバス
リフレッシュ(RFCR):ウェイトなし,1/8設定
外部端子(EPCR0):外部RDY受付け,BRQ, BGRNT のアービトレーション
外部端子(DSCR):DRAM端子の設定
リトルエンディアン(LER):領域2
その他,以下の点に注意してください。
MD2,MD1,MD0端子は”001”外部ベクタは16ビットモード
領域0を同じバス幅に設定してから,モードレジスタ(MODR)を設定
領域1∼5はオーバラップしないように設定
148
4.7 外部バスのプログラム例
■ 外部バス動作のプログラム例
このプログラムは説明のためにバイトレジスタはバイトで,ハーフワードレジス
タはハーフワードで書込みを行っています。
*****
プログラム例
//各レジスタ設定
init_epcr
ldi:20
*****
#0xffff,r0
// 外部端子設定
// 外部RDYウェイト,
// BRQ, BGRNT バスアービットレーショ
ン
init_dscr
ldi:20 #0x628,r1
sth
r0,@r1
ldi:8
#0xff,r0
init_dmcr4
ldi:20
stb
ldi:8
ldi:20
stb
ldi:8
ldi:20
stb
ldi:8
ldi:20
stb
ldi:8
ldi:20
stb
ldi:8
ldi:20
stb
ldi:20
init_dmcr5
ldi:20 #0x62c,r1
sth
r0,@r1
ldi:20 #0x10c0,r0
init_rfcr
ldi:20 #0x62e,r1
sth
r0,@r1
ldi:20 #0x0205,r0
init_amd0
init_amd1
init_amd32
init_amd4
init_amd5
init_asr
#0x625,r1
r0,@r1
#0x08,r0
#0x620,r1
r0,@r1
#0x0a,r0
#0x621,r1
r0,@r1
#0x49,r0
#0x622,r1
r0,@r1
#0x88,r0
#0x623,r1
r0,@r1
#0x88,r0
#0x624,r1
r0,@r1
#0x0c90,r0
ldi:20 #0x626,r1
sth
r0,@r1
ldi:32 #0x0013001,r0
ldi:32 #0x0015001,r1
ldi:32 #0x0017001,r2
ldi:32 #0x0019001,r3
ldi:32 #0x001b001,r4
ldi:20 #0x60c,r5
ldi:20 #0x610,r6
ldi:20 #0x614,r7
ldi:20 #0x618,r8
ldi:20 #0x61C,r9
st
r0,@r5
// epcr0 レジスタ アドレス設定
// epcr0 レジスタライト
// DRAM端子設定
// RAS, CAS, WE
// dscr レジスタ アドレス設定
// dscr レジスタライト
// 16ビットバス,0-wait
// amd0 レジスタ アドレス設定
// amd0 レジスタライト
// 16ビットバス,2-wait
// amd1 レジスタ アドレス設定
// amd1 レジスタライト
// 通常,16ビットバス,1-wait
// amd32 レジスタ アドレス設定
// amd32 レジスタライト
// DRAM, 16ビットバス
// amd4 レジスタ アドレス設定
// amd4 レジスタライト
// DRAM, 16ビットバス
// amd5 レジスタ アドレス設定
// amd5 レジスタライト
// page size=256,Q1/Q4-wait,Page
// 1CAS-2WE, CBR, パリティなし
// dmcr4 レジスタ アドレス設定
// dmcr4 レジスタライト
//page size=512, Q1/Q4-waitなし,
// Page
// 2CAS-1WE, CBR, パリティなし
// dmcr5 レジスタ アドレス設定
// dmcr5 レジスタライト
// REL=2, R1W/R3W-waitなし,
// refresh, 1/8
// rfcr レジスタ アドレス設定
// rfcr レジスタライト
// asr1,amr1 レジスタ設定値
// asr2,amr2 レジスタ設定値
// asr3,amr3 レジスタ設定値
// asr4,amr4 レジスタ設定値
// asr5,amr5 rレジスタ設定値
// asr1,amr1 レジスタ アドレス設定
// asr2,amr2 レジスタ アドレス設定
// asr3,amr3 レジスタ アドレス設定
// asr4,amr4 レジスタ アドレス設定
// asr5,amr5 レジスタ アドレス設定
// asr1,amr1 レジスタライト
149
第4章 バスインタフェース
init_ler
init_modr
st
r1,@r6
st
r2,@r7
st
r3,@r8
st
r4,@r9
ldi:8
#0x02,r0
ldi:20 #0x7fe,r1
stb
r0,@r1
ldi:8
#0x80,r0
ldi:20 #0x7ff,r1
stb
r0,@r1
//
//
//
//
// asr2,amr2 レジスタライト
// asr3,amr3 レジスタライト
// asr4,amr4 レジスタライト
// asr5,amr5 レジスタライト
CS2 little endian
ler レジスタ アドレス設定
// ler レジスタライト
外ROM 外バスexternal bus
modrレジスタ アドレス設定
// modrレジスタライト
//外部バスアクセス
adr_set
bus_acc
150
ldi:32
ldi:32
ldi:32
ldi:32
ldi:32
ldi:32
ldi:32
ldi:32
ld
lduh
ld
ldub
st
sth
st
stb
#0x00136da0,r0
#0x00151300,r1
#0x00196434,r2
#0x0019657c,r3
#0x00196600,r4
#0x001a6818,r5
#0x001a6b8c,r6
#0x001a6c00,r7
@r0, r8
@r1,r9
@r2,r10
@r3,r11
r8,@r4
r9,@r5
r10,@r6
r11,@r7
//
//
//
//
//
//
//
//
CS1
CS2
CS4
CS4
CS4
CS5
CS5
CS5
// CS4
// CS4
// CS5
// CS5
アドレス
アドレス
アドレス (ページ内)
アドレス (ページ内)
アドレス (ページ外)
アドレス (ページ内)
アドレス (ページ内)
アドレス (ページ外)
// CS1 data word load
// CS2 data half word load
data word load
data byte load
// CS4 data word store
// CS5 data half word store
data word store
data byte store
第5章
I/Oポート
I/Oポート
この章では,I/Oポートの概要,レジスタの構成および外部端子をI/Oとして使用す
る条件について説明します。
5.1
I/Oポートの概要
5.2
ポートデータレジスタ(PDR)
5.3
データ方向レジスタ(DDR)
5.4
外部端子をI/Oポートとして使用
151
第5章 I/Oポート
5.1
I/Oポートの概要
I/Oポートの概要
MB91F127/128は,各端子に対応するリソースが入出力として端子を使用しない設定
になっているとき,I/Oポートとして使用することができます。
■ I/Oポートの基本ブロックダイヤグラム
図 5.1-1に,I/Oポートの基本的な構成を示します。
図 5.1-1 I/Oポートの基本ブロックダイヤグラム
■ I/Oポートのレジスタ
I/Oポートは,ポートデータレジスタ(PDR)とデータ方向レジスタ(DDR)で構成さ
れています。
○
入力モード(DDR=”0”)時
PDR読出し時:対応する外部端子のレベルが読み出されます。
PDR書込み時:PDRに設定値が書き込まれます。
○
出力モード(DDR=”1”)時
PDR読出し時:PDRの値が読み出されます。
PDR書込み時:PDRの値が対応する外部端子に出力されます。
152
5.2 ポートデータレジスタ(PDR)
5.2
ポートデータレジスタ(PDR)
ポートデータレジスタ(PDR)
ポートデータレジスタ(PDR2∼PDRJ)は,I/Oポートの入出力データレジスタです。
対応するデータ方向レジスタ(DDR2∼DDRJ)で,入出力制御が行われます。
■ ポートデータレジスタ(PDR)の構成
図 5.2-1に,ポートデータレジスタ(PDR:Port Data Register)の構成を示します。
図 5.2-1 ポートデータレジスタ(PDR)の構成
153
第5章 I/Oポート
5.3
データ方向レジスタ(DDR)
データ方向レジスタ(DDR)
データ方向レジスタ(DDR2∼DDRJ)は,対応するI/Oポートの入出力方向をビット単
位で制御します。0で入力,1で出力制御が行われます。
■ データ方向レジスタ(DDR)の構成
図 5.3-1に,データ方向レジスタ(DDR:Data Direction Register)の構成を示しま
す。
図 5.3-1 データ方向レジスタ(DDR)の構成
154
5.4 外部端子をI/Oポートとして使用
5.4
外部端子をI/O
外部端子をI/Oポートとして使用
I/Oポートとして使用
各外部端子についての初期値と,I/Oポートとして使用するのか,制御端子として使
用するのかを切り替えるレジスタとの関係を示します。
■ 外部端子の機能(I/Oポートまたは制御端子)選択
表 5.4-1に,各外部端子についての初期値と,I/Oポートとして使用するのか,制
御端子として使用するのかを切り替えるレジスタとの関係を示します。
表 5.4-1中のシングルチップ:∼,外部バス:∼とあるのは,使用する動作モード
によって,8ビット:∼,16ビット:∼とあるのは,外部バス幅によって機能が変化す
ることを示します。
表 5.4-1 外部端子の機能選択一覧(続く)
端子番号
端子記号
初期値(シングル
チップモード)
P20∼P27
25∼32
P20∼P27
D16∼D23
33∼39,41
P30∼P37
D24∼D31
P30∼P37
P40∼P47
P50∼P57
A00∼A15
P40∼P47
P50∼P57
59∼64
66,67
P60∼P67
A16∼A23
P60∼P67
68
P70
A24
FRCK
TCI2
P70
19
P80
RDY
P80
20
P81
P81
42 44∼58
BGRNT
IN0
21
P82
BRQ
IN1
P82
22
P83
P83
RD
切替えレジスタ
MD0∼2,AMD0∼5,M0,M1で設定したモードで自動的に切り
替ります。
シングルチップ:P20∼P27
8ビット:P20∼P27
16ビット:D16∼D23
MD0∼2,M0,M1で設定したモードで自動的に切り替ります。
シングルチップ:P30∼P37
外部バス:D24∼D31
MD0∼2,M0,M1で設定したモードで自動的に切り替ります。
シングルチップ:P40∼P47,
P50∼P57
外部バス:A00∼A15
EPCR1(AE16∼AE23ビット)
0:P60∼P67
1:A16∼A23
EPCR1(AE24ビット)
0:P70
1:A24
端子の値が常にFRCK,TCI2に入力されます(ストップ時除
く)。
EPCR0(RDYEビット)
0:P80
1:RDY
EPCR0(BREビット)
0:P81
1: BGRNT
端子の値が常にIN0に入力されます(ストップ時除く)。
EPCR0(BREビット)
0:P82
1:BRQ
端子の値が常にIN1に入力されます(ストップ時除く)。
EPCR0(RDXEビット)
0:P83
1: RD
155
第5章 I/Oポート
表 5.4-1 外部端子の機能選択一覧(続く)
端子番号
23,24
端子記号
P84,P85
初期値
(シングルチップモード)
P84,P85
切替えレジスタ
WR0 , WR1
MD0∼2,AMD0∼5,M0,M1で設定したモードで自動的
に切り替ります。
シングルチップ:P84,P85
PA0∼PA2
PA0∼PA2
16ビット: WR0 , WR1
EPCR0(C0E0∼C0E2ビット)
0:PA0∼PA2
PA3
1: CS0 ∼ CS2
EPCR0(C0E3ビット)とSMR(SOEビット)
C0E3,SOE 00:PA3
8ビット: WR0 ,P85
11∼9
CS0 ∼ CS2
8
PA3
CS3
SO1
7,6
PA4,PA5
PA4,PA5
CS4 , CS5
SI1,SC1
5
PA6
CLK
PA6
96∼99
PG0∼PG3
OCPA0∼OCPA3
PG0∼PG3
100,1∼3
PG4∼PG7
OC0∼OC3
PG4∼PG7
16∼18
12
MD0∼MD2
P86
ALE
MD0∼MD2
P86
72
PJ0∼PJ7
AN0∼AN7
PJ0∼PJ7
95∼94
PE0,PE1
INT0,INT1
PE2,PE3
INT2,INT3
PE4
INT4
PE0/INT0,
PE1/INT1
PE2/INT2,
PE3/INT3
PE4/INT4/TCI1
89,88
87
86
85
84
156
TCI1
PE5
INT5
SC0
PE6
SI0
PE7
SO0
10: CS3
その他:SO1
EPCR0(C0E4,C0E5ビット)
0:PA4,PA5
1: CS4 , CS5
端子の値が常にSI1,SC1に入力されます(ストップ
時除く)。
EPCR0(C0E6ビット)
0:PA6
1:CLK
PCNL(POENビット)
0:PG0∼PG3
1:OCPA0∼OCPA3
OCS0∼3(OTEビット)
0:PG4∼PG7
1:OC0∼OC3
―
EPCR0(ALEEビット)
0:P86
1:ALE
AIC(AIビット),DDRJ(PJビット)
AI, PJ
00:AN
その他:PJ
端子の値が常にINT0,INT1に入力されます。
端子の値が常にINT2,INT3に入力されます。
端子の値が常にINT4,TCI1に入力されます(ストッ
プ時除く)。
PE5/INT5/SC0
端子の値が常にINT5,SC0に入力されます(ストッ
プ時除く)。
PE6/SI0
端子の値が常にSI0に入力されます
(ストップ時除く)。
SMR(SOEビット)
0:PE7
1:SO0
PE7
5.4 外部端子をI/Oポートとして使用
表 5.4-1 外部端子の機能選択一覧(続き)
端子番号
80
81
82
83
69
70
71
14
13
92
91
4,93,43
15,40,65,90
端子記号
PF0
TCI0
PF1
SI2
PF2
SO2
PF3
SC2
初期値
(シングルチップモード)
PF0/TCI0
PF1/SI2
PF2
切替えレジスタ
端子の値が常にTCI0に入力されます
(ストップ時除く)。
端子の値が常にSI2に入力されます
(ストップ時除く)。
SMR(SOEビット)
0:PF2
1:SO2
PF3/SC2/ ATG
端子の値が常にSC2, ATG に入力されます(ストッ
プ時除く)。
ATG
AVCC
AVRH
AVSS(AVRL)
AVCC
AVRH
AVSS(AVRL)
RST
RST
HST
X0
X1
VCC
VSS
HST
X0
X1
VCC
VSS
-
157
第5章 I/Oポート
158
第6章
16ビットリロードタイマ
16ビットリロードタイマ
この章では,16ビットリロードタイマの概要,レジスタの構成/機能および16ビット
リロードタイマの動作について説明します。
6.1
16ビットリロードタイマの概要
6.2
16ビットリロードタイマのレジスタ
6.3
16ビットリロードタイマの動作
6.4
カウンタの動作状態
159
第6章 16ビットリロードタイマ
6.1
16ビットリロードタイ
16ビットリロードタイマの概要
ビットリロードタイマの概要
16ビットリロードタイマは,16ビットのダウンカウンタ,16ビットのリロードレジ
スタ,内部カウンタクロック作成用プリスケーラ,コントロールレジスタで構成され
ています。
■ 16ビットリロードタイマの概要
16ビットリロードタイマは,16ビットのダウンカウンタ,16ビットのリロードレ
ジスタ,内部カウンタクロック作成用プリスケーラ,コントロールレジスタで構成
されています。
入力クロックとして内部クロック3種類(マシンクロックの2/8/32分周)から選択
できます。
割込みによるDMA転送の起動が可能です。MB91F127/128はこのタイマを3チャネル
内蔵しています。
リロードタイマのチャネル2 TO出力は,LSI内部でA/Dコンバータに接続されてい
ます。したがって,リロードレジスタに設定された周期でA/D変換を起動することが
可能です。
■ ブロックダイヤグラム
図 6.1-1に,16ビットリロードタイマのブロックダイヤグラムを示します。
図 6.1-1 16ビットリロードタイマのブロックダイヤグラム
160
6.2 16ビットリロードタイマのレジスタ
6.2
16ビットリロードタイマのレジスタ
16ビットリロードタイマのレジスタ
この節では,16ビットリロードタイマで使用するレジスタの構成と機能について説
明します。
■ 16ビットリロードタイマのレジスタ一覧
図 6.2-1 16ビットリロードタイマのレジスタ一覧
161
第6章 16ビットリロードタイマ
6.2.1
コントロールステータスレジスタ(TMCSR)
コントロールステータスレジスタ(TMCSR)
コントロールステータスレジスタ(TMCSR)は,16ビットタイマの動作モードおよび
割込みの制御をします。
■ コントロールステータスレジスタ(TMCSR)のビット構成
図 6.2-2 コントロールステータスレジスタ(TMCSR)のビット構成
UF,CNTE,TRGビット以外のビットの書換えは,CNTE=0のときに行うようにしてく
ださい。
コントロールステータスレジスタ(TMCSR)は,同時書込みが可能です。
■ コントロールステータスレジスタ(TMCSR)のビット機能
以下に,コントロールステータスレジスタ(TMCSR)のビット機能を説明します。
【ビット11,10】 CSL1,CSL0 (Count clock SLect)
カウントクロックセレクトビットです。
表 6.2-1に,選択されるクロックソースを示します。
表 6.2-1 CSLビット設定クロックソース
CSL1
0
0
1
1
162
CSL0
0
1
0
1
クロックソース(f:マシンクロック)
f/2 1
f/2 3
f/2 5
外部クロック
6.2 16ビットリロードタイマのレジスタ
【ビット9,8,7】 MOD2,MOD1,MOD0 (MODe)
動作モードおよび入出力端子の機能を設定するビットです。
MOD2ビットは,入力端子の機能を選択するビットです。
“0”の場合,入力端子はトリガ入力端子となり,有効エッジが入力されるとリ
ロードレジスタの内容をカウンタへロードし,カウント動作を継続します。
”1”の場合,ゲートカウントモードになり,入力端子はゲート入力となり,有効
レベルが入力されている間のみカウントをします。
MOD1,MOD0ビットは,各モードにおける端子機能の設定を行います。
表 6.2-2,表 6.2-3に,MOD2,1,0の設定を示します。
表 6.2-2 MOD2,1,0ビットの設定方法(1)
内部クロックモード時 (CSL0,1=00,01,10)
MOD2
0
0
0
0
1
1
MOD1
0
0
1
1
×
×
MOD0
0
1
0
1
0
1
入力端子機能
トリガ禁止
トリガ入力
ゲート入力
有効エッジ,レベル
―――
立上りエッジ
立下りエッジ
両エッジ
“L”レベル
“H”レベル
表 6.2-3 MOD2,1,0ビットの設定方法(2)
イベントカウントモード時 (CSL0,1=11)
MOD2
×
MOD1
0
0
1
1
MOD0
0
1
0
1
入力端子機能
―――
イベント入力
有効エッジ,レベル
―――
立上りエッジ
立下りエッジ
両エッジ
【ビット6】 OUTE (OUTput Enable)
必ず”0”を設定してください。
【ビット5】 OUTL
必ず”0”を設定してください。
【ビット4】 RELD
リロード許可ビットです。
”1”のときリロードモードになり,カウンタの値が0000HからFFFFHへのアンダフ
ローと同時にリロードレジスタの内容をカウンタへロードして,カウント動作
を続けます。
”0”のときカウンタの値が0000HからFFFFHへのアンダフローによりカウント動
作を停止します。
【ビット3】 INTE
割込み要求許可ビットです。
”1”のとき,UFビットが”1”になると割込み要求を発生します。
”0”のときは割込み要求を発生しません。
163
第6章 16ビットリロードタイマ
【ビット2】 UF
タイマ割込み要求フラグです。カウンタの値が0000HからFFFFHへのアンダフ
ローにより”1”にセットされます。”0”の書込みによってクリアされます。
このビットへの”1”書込みは意味がありません。
リードモディファイライト系命令における読出し時には,”1”が読み出されま
す。
【ビット1】 CNTE
タイマのカウントイネーブルビットです。このビットに”1”を書き込むと,起動
トリガ待ち状態になります。
”0”書込みによりカウント動作は停止します。
【ビット0】 TRG
ソフトウェアトリガビットです。”1”書込みによりソフトウェアトリガがかか
り,リロードレジスタの内容をカウンタへロードしてカウント動作を開始しま
す。
”0”書込み動作は意味を持ちません。
読出し値は常に”0”です。
このレジスタによるトリガ入力は,CNTE=”1”のときのみ有効となります。
CNTE=”0”のときには何も起こりません。
164
6.2 16ビットリロードタイマのレジスタ
6.2.2
16ビットタイマレジスタ
16ビットタイマレジスタ(TMR)
ビットタイマレジスタ(TMR)
16ビットタイマレジスタ(TMR)は,16ビットタイマのカウント値を読み出すことが
できるレジスタです。初期値は不定です。
このレジスタの読出しは,必ず16ビットデータ転送命令で行ってください。
■ 16ビットタイマレジスタ(TMR)のビット構成
図 6.2-3に,16ビットタイマレジスタ(TMR)のビット構成を示します。
図 6.2-3 16ビットタイマレジスタ(TMR)のビット構成
165
第6章 16ビットリロードタイマ
6.2.3
16ビットリロードレジスタ
16ビットリロードレジスタ(TMRLR)
ビットリロードレジスタ(TMRLR)
16ビットリロードレジスタ(TMRLR)は,カウントの初期値を保持しておくレジスタ
です。初期値は不定です。
このレジスタへの書込みは,必ず16ビットデータ転送命令で行ってください。
■ 16ビットリロードレジスタ(TMRLR)のビット構成
図 6.2-4に,16ビットリロードレジスタ(TMRLR)のビット構成を示します。
図 6.2-4 16ビットリロードレジスタ(TMRLR)のビット構成
166
6.3 16ビットリロードタイマの動作
6.3
16ビットリロードタイマの動作
16ビットリロードタイマの動作
この節では,16ビットリロードタイマの動作について説明します。
■ 内部クロック動作
内部クロックの分周クロックでタイマを動作させる場合,カウントソースとして
マシンクロックの2,8,32分周のクロックから選択することができます。
カウント許可と同時にカウント動作を開始したい場合は,コントロールステータ
スレジスタ(TMCSR)のCNTEビットとTRGビットの両方に”1”を書き込んでください。
TRGビットによるトリガ入力は,タイマが起動状態のとき(CNTE=”1”)動作モードに
係わらず常に有効です。
図 6.3-1に,カウンタの起動および動作を示します。
カウ ンタ ス ター ト のト リ ガが 入力 さ れて か ら,16 ビッ トリ ロ ード レ ジス タ
(TMRLR)のデータがカウンタへロードされるまでに,T(T:周辺系クロックマシンサ
イクル)の時間がかかります。
図 6.3-1 カウンタの起動および動作
■ アンダフロー動作
カウンタの値が0000H からFFFFH になるときをアンダフローとしています。した
がって,〔リロードレジスタの設定値+1〕カウントでアンダフローが発生すること
になります。
アンダフロー発生時にコントロールステータスレジスタ(TMCSR)のRELDビット
が”1”のとき16ビットリロードレジスタ(TMRLR)の内容をカウンタへロードして,カ
ウント動作を継続します。RELDビットが”0”のとき,カウンタはFFFFHで停止します。
アンダフローによりコントロールステータスレジスタ(TMCSR)のUFビットがセッ
トされ,INTEビットが”1”のとき,割込要求を発生します。
図 6.3-2に,アンダフロー動作を示します。
図 6.3-2 アンダフロー動作のタイミング
167
第6章 16ビットリロードタイマ
■ 入力端子機能
クロックソースとして,内部クロックを選択した場合,TCI端子はトリガ入力また
はゲート入力として使用することができます。トリガ入力として使用した場合,有
効エッジが入力されると16ビットリロードレジスタ(TMRLR)の内容をカウンタに
ロードして,内部プリスケーラをクリアした後,カウント動作を開始します。
TCIは,2×T(Tは周辺系クロックマシンサイクル)以上のパルスを入力してくださ
い。
図 6.3-3に,トリガ入力の動作を示します。
図 6.3-3 トリガ入力の動作
ゲート入力として使用する場合,コントロールステータスレジスタ(TMCSR)の
MOD0ビットにより設定される有効レベルが,TCI端子から入力されている間のみカ
ウントをします。このときカウントクロックは,止まらずに動き続けます。ゲート
モード時のソフトウェアトリガは,ゲートレベルに関わらず可能です。TCI端子のパ
ルス幅は,2×T(Tは周辺系クロックマシンサイクル)以上にしてください。
図 6.3-4に,ゲート入力の動作を示します。
図 6.3-4 ゲート入力の動作
■ 外部イベントカウント
外部クロックをセレクトすると,TCI端子は外部イベント入力端子となり,レジス
タで設定された有効エッジをカウントします。TCI端子のパルス幅は,2×T(Tは周辺
系クロックマシンサイクル)以上にしてください。
168
6.4 カウンタの動作状態
6.4
カウンタの動作状態
カウンタの状態は,コントロールステータスレジスタ(TMCSR)のCNTEビットと内部
信号のWAIT信号によって決まります。設定可能な状態としてCNTE=”0”,WAIT=”1”の停止
状態(STOP状態),CNTE=”1”,WAIT=”1”の起動トリガ待ち状態(WAIT状態),CNTE=”1”,WAIT
=”0”の動作状態(RUN状態)があります。
■ カウンタの動作状態
図 6.4-1に,各状態の遷移を示します。
’ ’
’ ’
’ ’
’ ’
’ ’
’ ’
’ ’
’ ’
図 6.4-1 カウンタの状態遷移
169
第6章 16ビットリロードタイマ
170
第7章
PPGタイマ
PPGタイマ
この章では,PPGタイマの概要,レジスタの構成/機能および動作について説明しま
す。
7.1
PPGタイマの概要
7.2
PPGタイマのブロックダイヤグラム
7.3
PPGタイマのレジスタ
7.4
PPG動作
7.5
ワンショット動作
7.6
割込み
7.7
PPG出力オール”L”とオール”H”
7.8
PPGタイマ複数チャネルの起動
171
第7章 PPGタイマ
7.1
PPGタイマの概要
PPGタイマの概要
PPGタイマは,精度の高いPPG波形を効率良く出力することができます。
MB91F127/128は,PPGタイマを4チャネル内蔵しています。
■ PPGタイマの特長
○
各チャネルは,16ビットダウンカウンタ,周期設定用バッファ付16ビットデー
タレジスタ,デューティ設定用バッファ付16ビットコンペアレジスタ,端子制
御部から構成されます。
○
16ビットダウンカウンタのカウントクロックは,4種類から選択が可能です。
-
内部クロックΦ,Φ/4,Φ/16,Φ/64
○
カウンタ値は,リセット,カウンタボローで”FFFFH”に初期化することができま
す。
○
各チャネルごとにPPG出力があります。
○
レジスタ概要
○
○
-
周期設定レジスタ:バッファ付,リロード用データレジスタ
-
デューティ設定レジスタ:バッファ付,コンペアレジスタ
-
バッファからの転送は,カウンタボローで行います。
端子制御
-
デューティ一致で”1”にセット(優先)
-
カウンタボローで”0”にリセット
-
出力値固定モードがあり,オール”L”(または”H”)を簡単に出力できます。
-
極性指定も可能です。
割込み要求は,以下の組合せから選択して発生することができます。
-
PPGタイマ起動
-
カウンタボロー発生(周期一致)
-
デューティ一致発生
-
カウンタボロー発生(周期一致)またはデューティ一致発生
上記の割込み要求によって,DMA転送起動が可能です。
○
ソフトウェアまたはほかのインターバルタイマで複数チャネルの同時起動が
設定できます。
また,動作中の再起動も設定可能です。
172
7.2 PPGタイマのブロックダイヤグラム
7.2
PPGタイマのブロックダイヤグラム
PPGタイマのブロックダイヤグラム
図 7.2-1にPPGタイマの全体ブロックダイヤグラムを,図 7.2-2にPPGタイマ1チャ
ネル分のブロックダイヤグラムを示します。
■ PPGタイマの全体ブロックダイヤグラム
図 7.2-1 PPGタイマの全体ブロックダイヤグラム
■ PPGタイマ1チャネル分のブロックダイヤグラム
図 7.2-2
PPGタイマ1チャネル分のブロックダイヤグラム
173
第7章 PPGタイマ
7.3
PPGタイマのレジスタ
PPGタイマのレジスタ
図 7.3-1にPPGタイマのレジスタ一覧を示します。
■ PPGタイマのレジスタ一覧
図 7.3-1
174
PPGタイマのレジスタ一覧
7.3 PPGタイマのレジスタ
7.3.1
コントロールステータスレジスタ(PCNH,PCNL)
コントロールステータスレジスタ(PCNH,PCNL)
コントロールステータスレジスタ(PCNH,PCNL)は,PPGタイマの制御およびステータ
ス表示をします。PPGタイマ動作中に書き換え不可能なビットがありますので注意し
てください。
■ コントロールステータスレジスタ(PCNH,PCNL)のビット構成
図 7.3-2に,コントロールステータスレジスタ(PCNH,PCNL)のビット構成を示し
ます。
図 7.3-2 コントロールステータスレジスタ(PCNH,PCNL)のビット構成
■ コントロールステータスレジスタ(PCNH,PCNL)のビット機能
以下に,コントロールステータスレジスタ(PCNH,PCNL)のビット機能を説明しま
す。
【ビット15】CNTE:タイマ許可ビット
このビットは,16ビットダウンカウンタの動作を許可するビットです。
CNTE
0
1
機能
停止 (初期値)
許可
【ビット14】STGR:ソフトウェアトリガビット
このビットに”1”を書き込むことによりソフトウェアトリガがかかります。
STGRビットの読出し値は,常に”0”です。
【ビット13】MDSE:モード選択ビット
このビット は, 連続して パルスを出 すPPG 動作か, 単一パルス を出すワ ン
ショット動作かを選択します。
MDSE
0
1
機能
PPG動作 (初期値)
ワンショット動作
【ビット12】RTRG:再起動許可ビット
このビットは,ソフトウェアトリガによる再起動を許可するビットです。
RTRG
0
1
機能
再起動禁止 (初期値)
再起動許可
175
第7章 PPGタイマ
【ビット11,10】CKS1,CKS0:カウンタクロック選択ビット
これらのビットは,16ビットダウンカウンタのカウントクロックを選択しま
す。
CKS1
CKS0
0
0
Φ (初期値)
0
1
Φ/4
1
0
Φ/16
1
1
Φ/64
Φ:周辺系マシンクロック
周期
【ビット9】PGMS:PPG出力マスク選択ビット
このビットに”1”を書き込むことによりモード設定,周期設定値,デューティ設
定値に関わらずPPG出力を”0”または”1”にマスクできます。
極性
通常極性
反転極性
PPG出力
L出力
H出力
通常極性時にオール”H”または反転極性時にオール”L”を出力したい場合は,周
期設定レジスタとデューティ設定レジスタに同値を書き込めば上記マスク値の
反転を出力できます。
【ビット8】(reserved)
このビットは,未使用ビットです。
【ビット7,6】EGS1,EGS0:トリガ入力エッジ選択ビット
これらのビットは,ジェネラルコントロールレジスタ1で選んだ起動要因の有
効エッジを選択します。
どのモードを選択していてもソフトトリガのビットに”1”を書き込むとソフト
トリガは有効になります。
EGS1
0
0
1
1
EGS0
0
1
0
1
エッジ選択
無効 (初期値)
立上りエッジ
立下りエッジ
両エッジ
【ビット5】IREN:割込み要求許可ビット
このビットは,割込み要求を許可するビットです。
IREN
0
1
機能
禁止 (初期値)
許可
【ビット4】IRQF:割込み要求フラグ
このビットは,ビット5のIRENビットが許可されていてビット3,2のIRS1ビッ
ト,IRS0ビットにて選択した割込み要因が発生すると,このビットがセットされ
CPUに割込み要求を発生します。また,DMA転送の起動を選択している場合は,DMA
転送が起動されます。
このビットのクリアは, “0”書込みとDMACからのクリア信号で行われます。
”1”を書き込んでもビット値は変化しません。
リードモディファイライト系命令における読出し値は,ビット値に関わら
ず”1”です。
176
7.3 PPGタイマのレジスタ
【ビット3,2】IRS1,IRS0:割込み要因選択ビット
これらのビットは,ビット4のIRQFビットをセットする要因を選択します。
IRS1
0
0
1
1
IRS0
0
1
0
1
割込み要因
ソフトウェアトリガ入力あり (初期値)
カウンタボロー発生(周期一致)
デューティ一致発生
カウンタボロー発生(周期一致)またはデューティ一致発生
【ビット1】POEN:PPG出力許可ビット
このビットは, ”1”に設定することにより,PPG出力が端子から出力されます。
POEN
0
1
機能
汎用ポート (初期値)
PPG出力端子
【ビット0】OSEL:PPG出力極性指定ビット
このビットは,PPG出力の極性を設定します。
ビット9のPGMSビットとの組合せで,表 7.3-1のようになります。
表 7.3-1 PPG出力極性指定組合せ
PGMS
0
0
1
1
OSEL
0
1
0
1
PPG出力
通常極性 (初期値)
反転極性
出力”L”固定
出力”H”固定
表 7.3-2 PPG出力極性指定
極性
通常極性
反転極性
リセット後
“L”出力
“H”出力
デューティ一致
立上りエッジ
立下りエッジ
カウンタボロー
立下りエッジ
立上りエッジ
177
第7章 PPGタイマ
7.3.2
PPG周期設定レジスタ
PPG周期設定レジスタ(PCSR)
周期設定レジスタ(PCSR)
PPG周期設定レジスタ(PCSR)は,周期を設定するためのバッファ付きレジスタです。
バッファからの転送は,カウンタボローで行われます。
■ PPG周期設定レジスタ(PCSR)のビット構成
図 7.3-3に,PPG周期設定レジスタ(PCSR)のビット構成を示します。
図 7.3-3 PPG周期設定レジスタ(PCSR)のビット構成
周期設定レジスタの初期設定時および書換え時は,周期設定レジスタの書込み後,
必ずデューティ設定レジスタへの書込み動作を行ってください。
このレジスタは,16ビットデータでアクセスしてください。
178
7.3 PPGタイマのレジスタ
7.3.3
PPGデューティ設定レジスタ
PPGデューティ設定レジスタ(PDUT)
デューティ設定レジスタ(PDUT)
PPGデューティ設定レジスタ(PDUT)は,デューティを設定するためのバッファ付レ
ジスタです。バッファからの転送は,カウンタボローで行われます。
■ PPGデューティ設定レジスタ(PDUT)のビット構成
図 7.3-4は,PPGデューティ設定レジスタ(PDUT)のビット構成を示します。
図 7.3-4 PPGデューティ設定レジスタ(PDUT)ビット構成
周期設定レジスタの値とデューティ設定レジスタの値を同じにすると,通常極性
時にオール”H”を,反転極性時にオール”L”を出力します。
PCSR<PDUTとなるような値を設定しないでください。PPG出力は不定となります。
このレジスタは,16ビットデータでアクセスしてください。
179
第7章 PPGタイマ
7.3.4
PPGタイマレジスタ
PPGタイマレジスタ(PTMR)
タイマレジスタ(PTMR)
PPGタイマレジスタ(PTMR)は,16ビットダウンカウンタの値を読み出すことができ
ます。
■ PPGタイマレジスタ(PTMR)のビット構成
図 7.3-5に,PPGタイマレジスタ(PTMR)のビット構成を示します。
図 7.3-5 PPGタイマレジスタ(PTMR)のビット構成
このレジスタは,16ビットデータでアクセスしてください。
180
7.3 PPGタイマのレジスタ
7.3.5
ジェネラルコントロールレジスタ1(GCN1)
ジェネラルコントロールレジスタ1(GCN1)
ジェネラルコントロールレジスタ1(GCN1)は,PPGタイマのトリガ入力の要因を選択
するレジスタです。
■ ジェネラルコントロールレジスタ1(GCN1)のビット構成
図 7.3-6に,ジェネラルコントロールレジスタ1(GCN1)のビット構成を示します。
図 7.3-6 ジェネラルコントロールレジスタ1(GCN1)のビット構成
■ ジェネラルコントロールレジスタ1(GCN1)のビット詳細
【ビット15∼12】TSEL33-30:ch3トリガ入力選択ビット
これらのビットは,ch3トリガ入力選択ビットです。
15
0
0
0
0
0
0
0
1
1
1
1
1
TSEL33-30
14
13
0
0
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
X
12
0
1
0
1
0
1
X
0
1
0
1
X
ch3トリガ入力
GCN2のEN0ビット
GCN2のEN1ビット
GCN2のEN2ビット
GCN2のEN3ビット (初期値)
16ビットリロードタイマch0
16ビットリロードタイマch1
設定禁止
設定禁止
設定禁止
設定禁止
設定禁止
設定禁止
181
第7章 PPGタイマ
【ビット11∼8】TSEL23-20:ch2トリガ入力選択ビット
これらのビットは,ch2トリガ入力選択ビットです。
11
0
0
0
0
0
0
0
1
1
1
1
1
TSEL23-20
10
9
0
0
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
X
8
0
1
0
1
0
1
X
0
1
0
1
X
ch2トリガ入力
GCN2のEN0ビット
GCN2のEN1ビット
GCN2のEN2ビット (初期値)
GCN2のEN3ビット
16ビットリロードタイマch0
16ビットリロードタイマch1
設定禁止
設定禁止
設定禁止
設定禁止
設定禁止
設定禁止
【ビット7∼4】TSEL13-10:ch1トリガ入力選択ビット
これらのビットは,ch1トリガ入力選択ビットです。
7
0
0
0
0
0
0
0
1
1
1
1
1
TSEL13-10
6
5
0
0
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
X
4
0
1
0
1
0
1
X
0
1
0
1
X
ch1トリガ入力
GCN2のEN0ビット
GCN2のEN1ビット (初期値)
GCN2のEN2ビット
GCN2のEN3ビット
16ビットリロードタイマch0
16ビットリロードタイマch1
設定禁止
設定禁止
設定禁止
設定禁止
設定禁止
設定禁止
【ビット3∼0】TSEL03-00:ch0トリガ入力選択ビット
これらのビットは,ch0トリガ入力選択ビットです。
3
0
0
0
0
0
0
0
1
1
1
1
1
182
TSEL00-03
2
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
X
0
0
1
0
1
0
1
X
0
1
0
1
X
ch0トリガ入力
GCN2のEN0ビット (初期値)
GCN2のEN1ビット
GCN2のEN2ビット
GCN2のEN3ビット
16ビットリロードタイマch0
16ビットリロードタイマch1
設定禁止
設定禁止
設定禁止
設定禁止
設定禁止
設定禁止
7.3 PPGタイマのレジスタ
7.3.6
ジェネラルコントロールレジスタ2(GCN2)
ジェネラルコントロールレジスタ2(GCN2)
ジェネラルコントロールレジスタ2(GCN2)は,ソフトウェアによって,起動トリガを
発生させるためのレジスタです。
■ ジェネラルコントロールレジスタ2(GCN2)のビット構成
図 7.3-7に,ジェネラルコントロールレジスタ2(GCN2)のビット構成を示します。
図 7.3-7 ジェネラルコントロールレジスタ2(GCN2)のビット構成
ジェネラルコントロールレジスタ1(GCN1)でこのレジスタのENビットを選択した
場合,レジスタの値がそのままPPGタイマのトリガ入力に伝わります。
コントロールステータスレジスタ(PCN)のEGS1,0ビットで選択したエッジをソフ
トウェアで発生させることにより,複数チャネルのPPGタイマを同時に起動できま
す。
このレジスタのビット7∼ビット4には,必ず0を書き込んでください。
183
第7章 PPGタイマ
7.4
PPG動作
PPG動作
PPG動作は,連続してパルスを出力する動作です。
■ PPG動作
PPG動作では,起動トリガの検出時より連続してパルスを出力することができま
す。出力パルスの周期は,PCSR値を変えることにより制御することができ,また
デューティ比は,PDUT値を変えることにより制御できます。
PCSRにデータを書き込んだ後は,必ずPDUTへの書込みを行ってください。
図 7.4-1にトリガの再起動を禁止した場合のPPG動作のタイミングチャートを,
図 7.4-2にトリガの再起動を許可した場合のPPG動作のタイミングチャートを示し
ます。
○
再起動禁止の場合
図 7.4-1 PPG動作のタイミングチャート(トリガ再起動禁止)
○
再起動許可の場合
図 7.4-2 PPG動作のタイミングチャート(トリガ再起動許可)
184
7.5 ワンショット動作
7.5
ワンショット動作
ワンショット動作では,単一パルスを出力する動作です。
■ ワンショット動作
ワンショット動作では,トリガにより任意の幅の単一パルスを出力することがで
きます。再起動許可の場合は,動作中にエッジを検出するとカウンタをリロードし
ます。
図 7.5-1にトリガの再起動を禁止した場合のワンショット動作のタイミング
チャートを,図 7.5-2にトリガの再起動を許可した場合のワンショット動作のタイ
ミングチャートを示します。
○
再起動禁止の場合
図 7.5-1 ワンショット動作のタイミングチャート(トリガ再起動禁止)
○
再起動許可の場合
図 7.5-2 ワンショット動作のタイミングチャート(トリガ再起動許可)
185
第7章 PPGタイマ
7.6
割込み
割込み要因とタイミングチャートを示します。
■ 割込み
図 7.6-1に,割込み要因とタイミングチャートを示します。
図 7.6-1 割込み要因とタイミングチャート(PPG出力:通常極性)
186
7.7 PPG出力オール”L”とオール”H”
7.7
PPG出力オール
とオール”H
PPG出力オール”L
出力オール L”とオール
とオール H”
PPG出力オール”L”とオール”H”について示します。
■ PPG出力オール”L”とオール”H”
図 7.7-1に,PPG出力をオール”L”に,図 7.7-2に,オール”H”にする出力方法を示し
ます。
○
PPG出力をオール”L”レベルにする例
図 7.7-1 PPG出力をオール”L”レベルにする例
○
PPG出力をオール”H”レベルにする例
図 7.7-2 PPG出力をオール”H”レベルにする例
187
第7章 PPGタイマ
7.8
PPGタイマ複数チャネルの起動
PPGタイマ複数チャネルの起動
ジェネラルコントロールレジスタ1,2(GCN1,GCN2)を使って,PPGタイマの複数チャ
ネルを起動できます。ジェネラルコントロールレジスタ1(GCN1)で起動トリガを選択
することにより,複数チャネルを同時に起動することができます。ここでは,ジェネラ
ルコントロールレジスタ2(GCN2)を使ったソフトウェア起動例と,16ビットリロード
タイマを使用して起動する場合の例を示します。
■ ソフトウェアによるPPGタイマ複数チャネル起動
【設定手順】
1)
PCSRに周期を設定します。
2)
PDUTにデューティを設定します。
※必ずPCSR → PDUTの順で書込みを行ってください。
3)
GCN1で,起動するチャネルのトリガ入力要因を決めます。
ここでは,GCN2を使うので,初期設定のままとします。
(ch0 → EN0, ch1 → EN1, ch2 → EN2, ch3 → EN3)
4)
起動するチャネルのコントロールステータスレジスタを設定します。
-
CNTE:1 → タイマ動作を許可
-
STGR:0 → GCN2で起動するのでここでは起動しない
-
MDSE:0 → PPG動作
-
RTRG:0 → 再起動禁止とする
-
CSK1,0:00 → カウントクロック=Φ
-
PGMS:0 → 出力マスクしない
-
(ビット8:0 → 未使用ビット,何を設定しても構いません)
-
EGS1,0:01 → 立上りエッジ起動
-
IREN:1 → 割込み要求許可
-
IRQF:0 → 割込み要因をクリア
-
IRS1,0:01 → カウンタボロー発生で割込み要求発生
-
POEN:1 → PPG出力許可
-
OSEL:0 → 通常極性
5)
GCN2にデータを書き込むことで,起動トリガを発生させます。
上記の設定でch0とch1を同時に起動させる場合,GCN2のEN0,EN1に”1”を書き込み
ます。立上りエッジが発生しPPG0,PPG1からパルスが出力されます。
■ 16ビットリロードタイマを使用して起動する場合
16ビットリロードタイマを使用して起動する場合は,設定手順 3)のGCN1で要因
として16ビットリロードタイマを選択し,設定手順 5)でGCN2の代わりに16ビット
リロードタイマを起動します。また,コントロールステータスレジスタの設定で,
-
RTRG:1 → 再起動許可とする
-
EGS1,0:11 → 両エッジ起動
とし,16ビットリロードタイマ出力をトグル出力設定にすることにより,一定時
間ごとにPPGタイマを再起動することも可能です。
188
第8章
多機能タイマ
この章では,多機能タイマの概要,レジスタの構成/機能および動作について説明し
ます。
8.1 多機能タイマの概要
8.2 多機能タイマユニットのブロックダイヤグラム
8.3 多機能タイマユニットのレジスタ
8.4 多機能タイマユニットの動作
189
第8章 多機能タイマ
8.1
多機能タイマの概要
多機能タイマユニットは,16ビットフリーランタイマ1本,16ビットアウトプットコ
ンペア4本,16ビットインプットキャプチャ4本から構成されています。
■ 多機能タイマの構成
○
16ビットフリーランタイマ(×1)
16ビットフリーランタイマは16ビットのアップカウンタ,コントロールレジ
スタ,16ビットコンペアクリアレジスタ,プリスケーラより構成されています。
このカウンタの出力値はアウトプットコンペア,インプットキャプチャの基本
時間(ベースタイマ)として使用されます。
カウンタ動作クロックは6種類から選択可能です。
内部クロック6種類(Φ/2,Φ/4,Φ/8,Φ/16,Φ/32,Φ/64)
Φ:マシンクロック
割込みはカウンタ値のオーバフロー,コンペアクリアレジスタとのコン
ペアマッチにより発生することができます。
(コンペアマッチはモード設定が必要です。)
カウンタ値は,リセット,ソフトクリア,コンペアクリアレジスタとのコ
ンペアマッチにより”0000H”に初期化することができます。
○
アウトプットコンペア(×4)
アウトプットコンペアは4本の16ビットコンペレジスタ,コンペア出力用ラッ
チ,コントロールレジスタより構成されています。16ビットフリーランタイマ値
とコンペアレジスタ値が,一致したとき出力レベルを反転すると共に割込みを
発生することができます。
4本のコンペアレジスタを独立して動作が可能です。各コンペアレジスタ
に対応した出力端子と割込みフラグを持っています。
2本のコンペアレジスタをペアにして出力端子を制御することが可能で
す。コンペアレジスタ2本を使用して,出力レベルを反転することが可能
です。
各出力端子の初期値を設定することが可能です。
割込みはコンペア一致により発生可能です。
○
インプットキャプチャ(×4)
インプットキャプチャは独立した4本の外部入力端子と対応したキャプチャ
レジスタ,コントロールレジスタにより構成されています。外部入力端子より入
力された信号の任意エッジを検出することにより16ビットフリーランタイマ値
をキャプチャレジスタに保持し,同時に割込みを発生することができます。
外部入力信号の有効エッジ(立上りエッジ,立下りエッジ,両エッジ)を選
択可能です。
4本のインプットキャプチャは独立して動作が可能です。
割込みは外部入力信号の有効エッジにより発生が可能です。
190
8.2 多機能タイマユニットのブロックダイヤグラム
8.2
多機能タイマユニットのブロックダイヤグラム
図 8.2-1に多機能タイマユニットのブロックダイヤグラムを示します。
■ 多機能タイマユニットのブロックダイヤグラム
図 8.2-1 多機能タイマユニットのブロックダイヤグラム
191
第8章 多機能タイマ
8.3
多機能タイマユニットのレジスタ
図 8.3-1に多機能タイマユニットのレジスタ一覧を示します。
■ 多機能タイマユニットのレジスタ一覧
図 8.3-1 多機能タイマユニットのレジスタ一覧
192
8.3 多機能タイマユニットのレジスタ
8.3.1
16ビットフリーランタイマのレジスタ
16ビットフリーランタイマのレジスタ
16ビットフリーランタイマのレジスタには,次の三つのレジスタがあります。
・データレジスタ(TCDT)
・コンペアクリアレジスタ
・タイマコントロールステータスレジスタ(TCCS)
■ データレジスタ(TCDT)の構成
図 8.3-2に,データレジスタ(TCDT)のビット構成を示します。
図 8.3-2 データレジスタ(TCDT)のビット構成
16ビットフリーランタイマのカウント値を読み出すことのできるレジスタです。
カウンタ値は,リセット時に”0000H”にクリアされます。このレジスタに書き込むこ
とでタイマ値を設定できますが,必ず停止(STOP=1)状態で行ってください。このレ
ジスタは,ワードアクセスしてください。
16ビットフリーランタイマの初期化は次の要因で行われます。
リセットによる初期化
タイマコントロールステータスレジスタ(TCCS)のクリア(SCLR)による初
期化
コンペアクリアレジスタ(Ch.6のコンペアレジスタ)値とタイマカウンタ
値の一致による初期化(モード設定が必要です)
■ コンペアクリアレジスタ
16ビットフリーランタイマと比較する16ビット長のコンペアレジスタです。アウ
トプットコンペアのCh.6のコンペアレジスタが使用されます。このレジスタ値と16
ビットフリーランタイマ値が一致したとき,16ビットフリーランタイマ値を”0000H”
に初期化して,コンペアクリア割込みフラグをセットします。
また,割込み動作を許可している場合は,CPUに対して割込み要求を行います。
193
第8章 多機能タイマ
■ タイマコントロールステータスレジスタ(TCCS)の構成
図 8.3-3に,タイマコントロールレジスタ(TCCS)のビット構成を示します。
図 8.3-3 タイマコントロールレジスタ(TCCS)のビット構成
以下に,タイマコントロールレジスタ(TCCS)のビット機能を説明します。
【ビット15】:ECLK
16ビットフリーランタイマのカウントクロックソースを内部か外部かを選択
するビットです。このビットに書込み後すぐにクロックは変更されますのでア
ウトプットコンペア,インプットキャプチャが停止状態のときに変更してくだ
さい。
ECLK
0
1
機能
内部クロックソースを選択 (初期値)
外部端子(FRCK)よりクロックを入力します
<注意事項>
内部クロックを選択した場合は,ビット2∼ビット0(CLK2∼CLK0)にカウントクロックの設定を
行ってください。このカウントクロックがベースクロックとなります。また,FRCKよりクロックを
入力する場合は,対応するDDRビットを”0”に設定してください。
【ビット14∼8】: (reserved)
これらのビットは,未使用ビットです。
【ビット7】:IVF
16ビットフリーランタイマの割込み要求フラグです。16ビットフリーランタ
イマがオーバフローを起こしたときにこのビットは”1”にセットされます。割込
み要求許可ビット(ビット6:IVFE)がセットされていると割込みが発生します。
このビットは”0”書込みによりクリアされます。”1”書込みは意味を持ちません。
リードモディファイライト系命令では,常に”1”が読めます。
IVF
0
1
機能
割込み要求なし (初期値)
割込み要求あり
【ビット6】:IVFE
16ビットフリーランタイマの割込み許可ビットです。このビットが”1”のとき,
割込みフラグ(ビット7:IVF)が”1”セットされると割込みが発生します。
IVFE
0
1
194
機能
割込み禁止 (初期値)
割込み許可
8.3 多機能タイマユニットのレジスタ
【ビット5】:STOP
16ビットフリーランタイマのカウントを停止するためのビットです。”1”書込
み時にタイマのカウント停止。”0”書込み時にタイマのカウントを開始します。
STOP
0
1
機能
カウント許可 (動作) (初期値)
カウント禁止 (停止)
<注意事項>
16ビットフリーランタイマが停止すると,アウトプットコンペア動作も停止します。
【ビット4】:MODE
16ビットフリーランタイマの初期化条件を設定します。”0”のときは,リセット
とクリアビット(ビット3:SCLR)でカウンタ値を初期化可能。”1”のときは,リセッ
トとクリアビット(ビット3:SCLR)のほかにアウトプットコンペアのコンペアレ
ジスタ6の値との一致によりカウンタ値を初期化することができます。
MODE
0
1
機能
リセット,クリアビットによる初期化 (初期値)
リセット,クリアビット,コンペアレジスタ6による初期化
<注意事項>
カウンタ値の初期化はカウント値の変化点で行われます。
【ビット3】:SCLR
動作中の16ビットフリーランタイマ値を”0000H”に初期化するためのビットで
す。”1”書込み時にカウンタを”0000H”に初期化。”0”を書き込んでも意味を持ちま
せん。読出し値は,常に”0”です。カウンタ値の初期化は,カウント値の変化点で
行われます。
SCLR
0
1
フラグの意味
意味を持ちません (初期値)
カウンタ値を”0000H”に初期化します
<注意事項>
タイマ停止中に初期化する場合は,データレジスタに”0000H”を書き込んでください。
【ビット2,1,0】:CLK2,CLK1,CLK0
16ビットフリーランタイマのカウントクロックを選択するビットです。この
ビットに書込み後すぐにクロックは変更されますのでアウトプットコンペア,
インプットキャプチャが停止状態のときに変更してください。
CLK2
CLK1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
Φ=マシンクロック
CLK0
0
1
0
1
0
1
0
1
カウント
クロック
Φ
Φ/2
Φ/4
Φ/8
Φ/16
Φ/32
Φ/64
Φ/128
Φ=25MHz
40ns
80ns
0.16μs
0.32μs
0.64μs
1.28μs
2.56μs
5.12μs
Φ=16MHz
62.5ns
0.125μs
0.25μs
0.5μs
1μs
2μs
4μs
8μs
Φ=12.5MHz
80ns
0.16μs
0.32μs
0.64μs
1.28μs
2.56μs
5.12μs
10.24μs
Φ=8MHz
0.125μs
0.25μs
0.5μs
1μs
2μs
4μs
8μs
16μs
195
第8章 多機能タイマ
8.3.2
アウトプットコンペアのレジスタ
アウトプットコンペアのレジスタには,次の二つのレジスタがあります。
・コンペアレジスタ(OCCP0∼3)
・アウトプットコントロールレジスタ(OCS0∼3)
■ コンペアレジスタ(OCCP0∼3)の構成
図 8.3-4に,コンペアレジスタ(OCCP0∼3)のビット構成を示します。
図 8.3-4 コンペアレジスタ(OCCP0∼3)のビット構成
16ビットフリーランタイマと比較する16ビット長のコンペアレジスタです。この
レジスタ値は,初期値不定ですので設定してから起動を許可してください。このレ
ジスタはワードアクセスしてください。このレジスタ値と16ビットフリーランタイ
マ値が一致したとき,コンペア信号が発生してアウトプットコンペア割込みフラグ
をセットします。また,出力許可している場合は,コンペアレジスタに対応した出力
レベルを反転します。
<注意事項>
コンペアレジスタを書き換える場合はコンペア割込みのルーチン内で行うかコンペアをディス
エーブルの状態で行い,コンペア一致と書込みが同時に発生しないようにしてください。
196
8.3 多機能タイマユニットのレジスタ
■ アウトプットコントロールレジスタ(OCS0∼3)の構成
図 8.3-5に,アウトプットコントロールレジスタ(OCS0∼3)のビット構成を示し
ます。
図 8.3-5 アウトプットコントロールレジスタ(OCS0∼3)のビット構成
ch0,ch1について説明しますので,ch2,ch3はそれぞれch0→ch2,ch1→ch3と読み
替えてください。
以下に,アウトプットコントロールレジスタ(OCS0∼3)のビット機能を説明しま
す。
【ビット12】:CMOD
端子出力を許可した場合(OTE1=0またはOTE0=1)のコンペア一致における端子
出力レベル反転動作モードを切替えます。
CMOD=0のとき(初期値)はコンペアレジスタに対応した端子の出力レベル
を反転します。
-
OC0:コンペアレジスタ0の一致によりレベルを反転します。
-
OC1:コンペアレジスタ1の一致によりレベルを反転します。
CMOD=1のときはコンペアレジスタ0は,CMOD=0と同じく出力レベルを反転
しますが,コンペアレジスタ1に対応した端子(OC1)の出力レベルは,コン
ペアレジスタ0の一致とコンペアレジスタ1の一致の両方で出力レベルを
反転します。コンペアレジスタ0と1が同じ値のときは,コンペアレジスタ
1本のときと同じ動作をします。
-
OC0:コンペアレジスタ0の一致によりレベルを反転します。
-
OC1:コンペアレジスタ0と1の一致によりレベルを反転します。
【ビット11,10】:OTE1,OTE0
アウトプットコンペアの端子出力を許可するビットです。
OTE
機能
0
汎用ポートとして動作します (初期値)
1
アウトプットコンペア端子出力になります
OTE1:アウトプットコンペア1に対応
OTE0:アウトプットコンペア0に対応
197
第8章 多機能タイマ
【ビット9,8】:ODT1,ODT0
アウトプットコンペアレジスタの端子出力を許可した場合の端子出力レベル
を変更するときに使用します。コンペア端子出力の初期値は”0”となります。書
込み時はコンペア動作を停止してから行ってください。読出し時は,アウトプッ
トコンペア端子出力値が読めます。
ODT
機能
0
コンペア端子出力を”0”にします (初期値)
1
コンペア端子出力を”1”にします
ODT1:アウトプットコンペア1に対応
ODT0:アウトプットコンペア0に対応
【ビット7,6】:IOP1,IOP0
アウトプットコンペアの割込みフラグです。コンペアレジスタと16ビットフ
リーランタイマ値が一致した場合に”1”にセットされます。割込み要求ビット
(IOE1,IOE0)が許可されているときにこのビットが”1”セットされるとアウト
プットコンペア割込みが発生します。このビットは”0”書込みによりクリアさ
れ”1”書込みでは意味を持ちません。リードモディファイライト系の命令では”1”
が読めます。
IOP
機能
0
アウトプットコンペア一致なし (初期値)
1
アウトプットコンペア一致あり
IOP1:アウトプットコンペア1に対応,
IOP0:アウトプットコンペア0に対応
【ビット5,4】:IOE1,IOE0
アウトプットコンペアの割込みを許可するビットです。このビットが”1”のと
き,割込みフラグ(IOP1,IOP0)が”1”にセットされるとアウトプットコンペア割込
みが発生します。
IOE
機能
0
アウトプットコンペア割込み禁止 (初期値)
1
アウトプットコンペア割込み許可
IOE1:アウトプットコンペア1に対応
IOE0:アウトプットコンペア0に対応
【ビット3,2】: (reserved)
これらのビットは,未使用ビットです。
【ビット1,0】:CST1,CST0
アウトプットコンペアの割込みを許可するビットです。このビットが”1”のと
き,割込みフラグ(IOP1,IOP0)が”1”にセットされると,アウトプットコンペア割
込みが発生します。
CST
機能
0
アウトプットコンペア割込み禁止 (初期値)
1
アウトプットコンペア割込み許可
IOE1:アウトプットコンペア1に対応
IOE0:アウトプットコンペア0に対応
<注意事項>
アウトプットコンペアは,16ビットフリーランタイマと同期させているため,16ビットフリーラン
タイマを停止させるとコンペア動作も停止します。
198
8.3 多機能タイマユニットのレジスタ
8.3.3
インプットキャプチャのレジスタ
インプットキャプチャデータレジスタには,次の二つのレジスタがあります。
・インプットキャプチャデータレジスタ(IPCP0∼3)
・インプットキャプチャコントロールレジスタ(ICS01,ICS23)
■ インプットキャプチャデータレジスタ(IPCP0∼3)の構成
図 8.3-6に,インプットキャプチャデータレジスタ(IPCP0∼3)のビット構成を示
します。
図 8.3-6 インプットキャプチャデータレジスタ(IPCP0∼3)のビット構成
このレジスタは,対応した外部端子入力波形の有効エッジを検出したとき,16
ビットフリーランタイマ値を保持するレジスタです。ワードアクセスしてください。
書込みはできません。
199
第8章 多機能タイマ
■ インプットキャプチャコントロールレジスタ(ICS01,ICS23)の構成
図 8.3-7に,インプットキャプチャコントロールレジスタ(ICS01,ICS23)のビッ
ト構成を示します。
図 8.3-7 インプットキャプチャコントロールレジスタ(ICS01,ICS23)のビット構成
以下に,インプットキャプチャコントロールレジスタ(ICS01,ICS23)のビット機
能を説明します。
【ビット7,6】:ICP3,ICP2,ICP1,ICP0
これらのビットは,インプットキャプチャ割込みフラグです。外部入力端子の
有効エッジを検出するとこのビットを”1”にセットします。割込み許可ビット
(ICE3,ICE2,ICE1,ICE0)がセットされていると,有効エッジを検出することによ
り割込みを発生することができます。このビットは,”0”書込みによりクリアされ
ます。”1”書込みは意味を持ちません。リードモディファイライト系の命令では”1”
が読めます。
ICP
機能
0
有効エッジ検出なし (初期値)
1
有効エッジ検出あり
ICPn:nの番号がインプットキャプチャのチャネル番号に対応します。
【ビット5,4】:ICE3,ICE2,ICE1,ICE0
インップットキャプチャ割込み許可ビットです。このビットが”1”のとき割込
みフラグ(ICP3,ICP2,ICP1,ICP0)が”1”にセットされるとインプットキャプチャ
割込みが発生します。
ICE
機能
0
割込み禁止 (初期値)
1
割込み許可
ICEn:nの番号がインプットキャプチャのチャネル番号に対応します
【ビット3∼0】:EG31/30,EG21/20,EG11/10,EG01/00
外部入力の有効エッジ極性を選択するビットです。インプットキャプチャ動
作許可も兼用しています。
EG31
EG30
エッジ検出極性
0
0
エッジ検出なし(停止状態) (初期値)
0
1
立上りエッジ検出
1
0
立下りエッジ検出
1
1
両エッジ検出
EGn1/EGn0:
nの番号がインプットキャプチャのチャネル番号に対応します。
200
8.4 多機能タイマユニットの動作
8.4
多機能タイマユニットの動作
多機能タイマユニットの動作について説明します。
■ 多機能タイマの動作説明
○
16ビットフリーランタイマ
16ビットフリーランタイマは,リセット解除後にカウンタ値”0000H”よりカウ
ントを開始します。このカウンタ値が,16ビットアウトプットコンペアと16ビッ
トインプットキャプチャの基準時間となります。
○
16ビットアウトプットコンペア
16ビットアウトプットコンペアは,設定されたコンペアレジスタ値と16ビッ
トフリーランタイマ値との値を比較して一致したら割込みフラグをセットする
とともに,出力レベルを反転することができます。
○
16ビットインプットキャプチャ
16ビットインプットキャプチャは,設定された有効エッジを検出すると,16
ビットフリーランタイマの値をキャプチャレジスタに取り込んで割込みを発生
することができます。
201
第8章 多機能タイマ
8.4.1
16ビットフリーランタイマ部の動作
16ビットフリーランタイマ部の動作
16ビットフリーランタイマは,リセット解除後にカウンタ値”0000H”よりカウントを
開始します。このカウンタ値が,16ビットアウトプットコンペアと16ビットインプッ
トキャプチャの基準時間となります。
■ 16ビットフリーランタイマの動作説明
カウンタ値は,次の条件でクリアされます。
オーバフローが発生したとき。
コンペアクリアレジスタ(アウトプットコンペアCh6のコンペアレジス
タ)値とコンペアマッチしたとき。(モード設定が必要)
動作中にタイマコントロールステータスレジスタ(TCCS)のSCLRビット
に”1”を書き込んだとき。
タイマ停止中にTCDTに”0000H”を書き込んだとき。
割込みは,オーバフローが発生したとき,コンペアクリアレジスタ値とコンペア
マッチしてカウンタがクリアされたとき発生することができます。(コンペアマッ
チ割込みは,モード設定が必要です。)
図 8.4-1 オーバフローによるカウンタの起動と動作のタイミング
図 8.4-2 コンペアクリアレジスタ値とコンペアマッチしたときのカウンタクリア
202
8.4 多機能タイマユニットの動作
■ 16ビットフリーランタイマのクリアタイミング
カウンタのクリアは,リセット,ソフトウェア,コンペアクリアレジスタとの一致
で行われます。リセットとソフトウェアでのカウンタクリアは,クリア発生ととも
に行われますが,コンペアクリアレジスタとの一致によるカウンタクリアはカウン
トタイミングに同期して行われます。
図 8.4-3 フリーランタイマのクリアタイミング
■ 16ビットフリーランタイマのカウントタイミング
16ビットフリーランタイマは,入力されたクロック(内部または外部クロック)に
よりカウントアップされます。外部クロック選択時は,立上りエッジでカウントさ
れます。
図 8.4-4 16ビットフリーランタイマのカウントタイミング
203
第8章 多機能タイマ
8.4.2
16ビットアウトプットコンペア部
16ビットアウトプットコンペア部の動作
ビットアウトプットコンペア部の動作
16ビットアウトプットコンペアは,設定されたコンペアレジスタ値と16ビットフ
リーランタイマ値との値を比較して一致したら割込みフラグをセットするとともに,
出力レベルを反転することができます。
■ 16ビットアウトプットコンペアの動作説明
○
1チャネル独立でコンペア動作を行うことができます。(CMOD=0のとき)
図 8.4-5 コンペアレジスタ0,1を使用したときの出力波形例(出力の初期は”0”)
○
2組のコンペアレジスタを使い出力レベルを変えることができます。
(CMOD=1のとき)
図 8.4-6 コンペアレジスタ0,1を使用したときの出力波形例(出力の初期値は”0”)
204
8.4 多機能タイマユニットの動作
■ 16ビットアウトプットコンペアのタイミング
○
2組のコンペアレジスタを使い出力レベルを変えることができます。
(CMOD=1のとき)
アウトプットコンペアは,フリーランタイマと設定したコンペアレジスタの
値が一致したときにコンペアマッチ信号が発生して出力を反転するとともに割
込みを発生することができます。コンペアマッチ時の出力反転タイミングは,カ
ウンタのカウントタイミングに同期して行われます。コンペアレジスタ書き換
え時のカウンタ値とはコンペアしません。
図 8.4-7 16ビットアウトプットコンペアのタイミング
205
第8章 多機能タイマ
8.4.3
16ビットインプットキャプチャ部の動作
16ビットインプットキャプチャ部の動作
16ビットインプットキャプチャは,設定された有効エッジを検出すると,16ビット
フリーランタイマの値をキャプチャレジスタに取り込んで割込みを発生することが
できます。
■ 16ビットインプットキャプチャの動作
図 8.4-8 インプットキャプチャの取り込みタイミング例
■ 16ビットインプットキャプチャのタイミング
図 8.4-9 16ビットインプットキャプチャのタイミング
206
第9章
U-TIMER
この章では,U-TIMERの概要,レジスタの構成/機能および動作について説明します。
9.1
U-TIMERの概要
9.2
U-TIMERのレジスタ
9.3
U-TIMERの動作
207
第9章 U-TIMER
9.1
U-TIMERの概要
TIMERの概要
U-TIMER(16 bit timer for UART baud rate generation)の概要とブロックダイヤ
グラムを示します。
■ U-TIMERの概要
U-TIMERは,UARTのボーレートを発生するための16ビットタイマです。チップの動
作周波数と,U-TIMERのリロード値の組み合せで任意のボーレートを設定できます。
また,カウントアンダフローで割込みを発生するので,インターバルタイマとし
ても使用できます。
MB91F127/128は,U-TIMERを3チャネル内蔵しています。インターバルタイマとし
て使用する場合,2組のU-TIMER(ch0,1)をカスケードして使用でき,最大232 ×Φの
インタバルをカウントできます。
■ ブロックダイヤグラム
図 9.1-1に,U-TIMERのブロックダイヤグラムを示します。
図 9.1-1 U-TIMERのブロックダイヤグラム
208
9.2 U-TIMERのレジスタ
9.2
U-TIMERのレジスタ
TIMERのレジスタ
U-TIMERのレジスタには,以下の三つがあります。
・Uタイマ値レジスタ (UTIM)
・リロードレジスタ (UTIMR)
・Uタイマ制御レジスタ (UTIMC)
■ U-TIMERのレジスタ一覧
図 9.2-1に,U-TIMERのレジスタ一覧を示します。
図 9.2-1 U-TIMERのレジスタ構成
■ Uタイマ値レジスタ(UTIM)
図 9.2-2に, Uタイマ値レジスタ(UTIM)のビット構成を示します。
図 9.2-2 Uタイマ値レジスタ(UTIM)のビット構成
UTIMは,タイマの値を示します。16ビット転送命令でアクセスしてください。
■ リロードレジスタ(UTIMR)
図 9.2-3に,リロードレジスタ(UTIMR)のビット構成を示します。
図 9.2-3 リロードレジスタ(UTIMR)のビット構成
UTIMRは,UTIMがアンダフローしたときにUTIMにリロードされる値を格納するレ
ジスタです。
16ビット転送命令でアクセスしてください。
209
第9章 U-TIMER
■ U-TIMER制御レジスタ(UTIMC)
図 9.2-4に,U-TIMER制御レジスタ(UTIMC)のビット構成を示します。
図 9.2-4 U-TIMER制御レジスタ(UTIMC)のビット構成
UTIMCは,U-TIMERの動作を制御します。
■ U-TIMER制御レジスタ(UTIMC)のビット詳細
以下に,U-TIMER制御レジスタ(UTIMC)の各ビットの機能を説明します。
【ビット7】 UCC1(U-timer Count Control 1)
このビットは,U-TIMERのカウントの仕方を制御します。
UCC1
機能
0
通常動作 α=2n+2 (初期値)
1
+1モード α=2n+3
n:UTIMRの設定値(10進数)
α:UARTに対する出力クロックの周期
U-TIMERは,UARTに対して通常の2(n+1)周期のクロックのほかに奇数分周を設定
できます。
UCC1を1に設定すると,2n+3の周期を発生します。
設定例:1.UTIMR= 5, UCC1=0 → 発生周期=2n+2= 12サイクル
2.UTIMR=25, UCC1=1 → 発生周期=2n+3= 53サイクル
3.UTIMR=60, UCC1=0 → 発生周期=2n+2=122サイクル
U-TIMERをインターバルタイマとして使用する場合は,UCC1の値を”0”に設定して
ください。
【ビット6,5】 (reserved)
これらのビットは,予約ビットです。
【ビット4】 UTIE(U-TIMER Interrupt Enable)
このビットは,U-TIMERのアンダフローによる割込み許可ビットです。
UTIE
0
1
割込み禁止
割込み許可
機能
(初期値)
【ビット3】 UNDR(UNDeR flow flag)
このビットは,アンダフローが発生したことを示すフラグです。
ビット4のUTIEが”1”のときにUNDRがセットされると,アンダフロー割込みが発
生します。UNDRは,リセットまたは”0”書込みによりクリアされます。
リードモディファイライト系命令の読出し時は,常に”1”が読み出されます。
また,UNDRビットに対する”1”書込みは無効です。
210
9.2 U-TIMERのレジスタ
【ビット2】 CLKS(CLocK Select)
このビットは,U-TIMERのチャネル0とチャネル1のカスケード指定ビットです。
CLKS
0
機能
クロックソースは周辺系クロック(Φ)
(初期値)
U-TIMERチャネル0のソースクロックタイミングとして,チャネル1の
1
アンダフロー信号を使用 *1
*1:ブロックダイヤグラムのf.f.
CLKSはチャネル0でのみ有効です。チャネル1では常に”0”にしてください。
【ビット1】 UTST(U-Timer STart)
このビットは,U-TIMERの動作許可ビットです。
UTST
0
1
機能
停止。動作中でも”0”の書込みで停止します。 (初期値)
動作。動作中に”1”を書き込んでも動作を続行します。
【ビット0】 UTCR(U-Timer CleaR)
UTCRに”0”を書き込むと,U-TIMERは0000H にクリアされます(f.f.も”0”にクリ
ア)。
このビットは,常に”1”が読み出されます。
■ U-TIMER制御レジスタ(UTIMC)使用上の注意事項
ストップ状態からスタートビットUTSTをアサート(スタート)すると自動
的にリロードします。
ストップ状態からクリアビットUTCRとスタートビットUTSTを同時にア
サートすると,カウンタを”0”にクリアして,直後のカウントダウンでアン
ダフローが発生します。
動作中にクリアビットUTCRをアサートすると,カウンタも”0”にクリアさ
れます。このため,出力波形にヒゲ状の短いパルスが出力される場合があ
り,UARTやカスケートモードの上位側のU-TIMERが誤動作する可能性があ
ります。出力クロックを使用している場合には,動作中にクリアビットに
よってクリアを行わないでください。
カスケードモードで,下位側のリロ−ドレジスタ(UTIMR)に”0”または”1”を
セットすると正しくカウントされません。
211
第9章 U-TIMER
9.3
U-TIMERの動作
TIMERの動作
この節では,U-TIMERのボーレートの計算と,カスケードモードのタイミングを示し
ます。
■ ボーレートの計算
UARTは,対応するU-TIMER(U-TIMER0→UART0,U-TIMER1→UART1,U-TIMER2→UART2)
のアンダフロフーリップフロップ(ブロックダイヤグラム中のf.f.)をボーレート
用クロックソースとして使用します。
○
非同期(調歩同期)モード
UARTは,U-TIMERの出力を16分周して使用します。
UCC1=0の場合
f
bps = ────────
(2n+2)×16
UCC1=1の場合
f
bps = ────────
(2n+3)×16
n:UTIMR(リロード値)
f:周辺系マシンクロック周波数(ギアにより変動)
○
CLK同期モード
UCC1=0の場合
f
bps = ────────
(2n+2)
UCC1=1の場合
f
bps = ────────
(2n+3)
n:UTIMR(リロード値)
f:周辺系マシンクロック周波数(ギアにより変動)
■ カスケードモード
U-TIMERチャネル0と1は,カスケードモードで使用できます。
図 9.3-1に,UTIMR ch0を”0100H”に,UTIMR ch1を”0002H”に設定した場合のタイミン
グチャート例を示します。
図 9.3-1 カスケードモードのタイミングチャート
212
第10章
10章 外部割込み
この章では,外部割込みの概要,レジスタの構成/機能および動作について説明しま
す。
10.1 外部割込みの概要
10.2 外部割込みのレジスタ
10.3 外部割込み動作
213
第10章 外部割込み
10.1
外部割込みの概要
外部割込みは,INT0∼INT5に入力される外部割込要求の制御を行うブロックです。
検出する要求のレベルとして,”H”,”L”,”立上りエッジ”,”立下りエッジ”から選択で
きます。
■ 外部割込みのブロックダイヤグラム
図 10.1-1に,外部割込みのブロックダイヤグラムを示します。
図 10.1-1 外部割込みのブロックダイヤグラム
214
10.2 外部割込みのレジスタ
10.2
外部割込みのレジスタ
この節では,外部割込みで使用するレジスタの構成および機能について説明します。
■ 外部割込みのレジスタ一覧
図 10.2-1に,外部割込みのレジスタ一覧を示します。
図 10.2-1 外部割込みのレジスタ一覧
215
第10章 外部割込み
10.2.1
割込み許可レジスタ(ENIR
割込み許可レジスタ(ENIR)
(ENIR)
割込み許可レジスタ(ENIR)は,外部割込み要求出力のマスク制御を行います。
■ 割込み許可レジスタ(ENIR)の構成
図 10.2-2に,割込み許可レジスタ(ENIR:ENable Interrupt request Register)
のビット構成を示します。
図 10.2-2 割込み許可レジスタ(ENIR)のビット構成
割込み許可レジスタ(ENIR)は,外部割込み要求出力のマスク制御を行います。こ
のレジスタの”1”が書かれたビットに対応する割込み要求出力は許可され(INT0の
許可をEN0が制御),割込みコントローラに対して要求が出力されます。”0”が書かれ
たビットに対応する端子は割込み要因を保持しますが,割込みコントローラに対し
ては要求を発生しません。
このデバイスでは,ビットEN6,EN7への書込みは意味を持ちません。
ビットEN6,EN7には”0”を書き込んでください。
216
10.2 外部割込みのレジスタ
10.2.2
外部割込み要因レジスタ(EIRR
外部割込み要因レジスタ(EIRR)
(EIRR)
外部割込み要因レジスタ(EIRR)のビット構成と機能を説明します。
■ 外部割込み要因レジスタ(EIRR)の構成
図 10.2-3 に , 外 部 割 込 み 要 因 レ ジ ス タ (EIRR:External Interrupt Request
Register)のビット構成を示します。
図 10.2-3 外部割込み要因レジスタ(EIRR)のビット構成
外部割込み要因レジスタ(EIRR)は,読出し時には対応する外部割込み要求がある
ことを示し,書込み時にはこの要求を示すフリップフロップ内容をクリアするレジ
スタです。このレジスタを読み出したときに”1”であった場合,このビットに対応す
る端子に外部割込み要求があることを示します。
また,このレジスタに”0”を書き込むと,対応するビットの要求フリップフロップ
がクリアされます。”1”の書込みは無効です。
リードモディファイライト系命令の読出し時には, ”1”が読み出されます。
217
第10章 外部割込み
10.2.3
外部割込み要求レベル設定レジスタ(ELVR
外部割込み要求レベル設定レジスタ(ELVR,EHVR)
(ELVR,EHVR)
外部割込み要求レベル設定レジスタ(ELVR,EHVR)のビット構成と機能を説明します。
■ 外部割込み要求レベル設定レジスタ(ELVR,EHVR)の構成
図 10.2-4に,外部割込み要求レベル設定レジスタ(ELVR,EHVR)のビット構成を示
します。
図 10.2-4 外部割込み要求レベル設定レジスタ(ELVR,EHVR)のビット構成
外部割込み要求レベル設定レジスタ(ELVR,EHVR)は,要求検出の選択を行うレジ
スタです。INT0∼INT5に2ビットずつが割り当てられています。
表 10.2-1に,設定内容を示します。
要求入力がレベルの場合,外部割込み要因レジスタ(EIRR)の各ビットをクリアし
ても入力がアクティブレベルならば,該当するビットは再びセットされます。
表 10.2-1 外部割込み要求レベル割当て
LBx
0
0
1
1
218
LAx
0
1
0
1
動作
Lレベルで要求あり
Hレベルで要求あり
立上りエッジで要求あり
立下りエッジで要求あり
10.3 外部割込み動作
10.3
外部割込み動作
要求レベル,許可レジスタを設定した後,対応する端子に外部割込み要求レベル設
定レジスタ(ELVR,EHVR)で設定された要求が入力されると,このモジュールは割込み
コントローラに対して割込要求信号を発生します。
■ 外部割込みの動作
割込みコントローラ内で同時発生した割込みの優先順位を識別した結果,このリ
ソースからの割込みが最も優先順位が高かったときに,該当する割込みが発生しま
す。
図 10.3-1に,外部割込みの動作を示します。
図 10.3-1 外部割込みの動作
■ ストップからの復帰
クロック停止モードのストップ状態からの復帰に外部割込みを使う場合は,入力
要求をHレベル要求としてください。Lレベル要求では誤動作を起こす可能性があり
ます。
エッジ要求ではクロック停止モードのストップ状態からの復帰は行われません。
■ 外部割込みの動作手順
外部割込み部内に存在するレジスタの設定は,次の手順で行ってください。
1)
許可レジスタの対象となるビットをdisable状態にする。
2)
要求レベル設定レジスタの対象となるビットを設定する。
3)
要因レジスタの対象となるビットをクリアする。
4)
許可レジスタの対象となるビットをenable状態にする。
ただし,3)と4)は,16ビットデータによる同時書込みができます。
このモジュール内のレジスタを設定するときには,必ず許可レジスタをdisable
状態に設定しておかなくてはなりません。また,許可レジスタをenable状態にする
前に必ず要因レジスタをクリアしておく必要があります。これは,レジスタ設定時
に割込み許可状態時に誤って割込み要因が起こってしまうことを避けるためです。
219
第10章 外部割込み
■ 外部割込み要求レベル
要求レベルがエッジ要求のとき,エッジがあったことを検出するためには,パル
ス幅は最小3マシンサイクル(周辺系クロックマシンサイクル)必要とします。
要求入力レベルがレベル設定のとき,外部より要求入力が入ってその後取り下げ
られても,内部に要因保持回路が存在するので,割込みコントローラへの要求はア
クティブのままです。
割込みコントローラへの要求を取り下げるには,要因レジスタをクリアする必要
があります。
図 10.3-2にレベル設定時の要因保持回路のクリアを,図 10.3-3に割込み許可時
の割込み要因と割込みコントローラへの割込み要求を示します。
図 10.3-2 レベル設定時の要因保持回路のクリア
図 10.3-3 割込み許可時の割込み要因と割込みコントローラへの割込み要求
220
第11章
11章 遅延割込みモジュール
この章では,遅延割込みモジュールの機能と動作について説明します。
11.1 遅延割込みモジュールの概要
11.2 遅延割込みモジュールのレジスタ
11.3 遅延割込みモジュールの動作
221
第11章 遅延割込みモジュール
11.1
遅延割込みモジュールの概要
遅延割込みモジュールは,タスク切替え用の割込みを発生するためのモジュールで
す。このモジュールを使用することで,ソフトウェアでCPUに対して割込み要求の発生
/取消しを行うことができます。
■ 遅延割込みモジュールのブロックダイヤグラム
図 11.1-1に,遅延割込みモジュールのブロックダイヤグラムを示します。
図 11.1-1 遅延割込みモジュールのブロックダイヤグラム
222
11.2 遅延割込みモジュールのレジスタ
11.2
遅延割込みモジュールのレジスタ
この節では,遅延割込みモジュールで使用するレジスタの構成および機能について
説明します。
■ 遅延割込みモジュールのレジスタ一覧
遅延割込みモジュールには,遅延割込み制御レジスタ(DICR)があります。
図 11.2-1に,遅延割込み制御レジスタ(DICR)の構成を示します。
図 11.2-1 遅延割込み制御レジスタ(DICR)の構成
■ 遅延割込み制御レジスタ(DICR)の構成
遅延割込み制御レジスタ(DICR:Delayed Interrupt Control Register)は,遅延割
込みを制御するレジスタです。
図 11.2-2に,遅延割込み制御レジスタ(DICR)のビット構成を示します。
図 11.2-2 遅延割込み制御レジスタ(DICR)のビット構成
以下に,遅延割込み制御レジスタ(DICR)のビット機能を説明します。
【ビット0】 DLYI
このビットは,該当する割込み要因の発生/解除を制御します。
DLYI
0
1
機能
遅延割込要因の解除/要求なし
遅延割込要因の発生
(初期値)
223
第11章 遅延割込みモジュール
11.3
遅延割込みモジュールの動作
遅延割込みは,タスク切替え用の割込みを発生するものです。この機能を使用する
ことにより,ソフトウェアでCPUに対して割込み要求の発生/取消しを行うことができ
ます。
■ 割込み番号
遅延割込みは,最も大きな割込み番号に対応した割込み要因に割り当てられてい
ます。
MB91F127/128では,遅延割込みを割込み番号63(3FH)に割り当てています。
■ DICRのDLYIビット
このビットに”1”を書き込むことによって,遅延割込み要因が発生します。ま
た, ”0”を書き込むことによって,遅延割込み要因を解除します。
このビットは,一般の割込みにおける割込み要因フラグと同じものであり,割込
みルーチンの中でこのビットをクリアし,合わせてタスクの切替えを行うようにし
てください。
224
第12章
12章 割込みコントローラ
この章では,割込みコントローラの概要,レジスタの構成/機能,割込みコントロー
ラの動作およびホールドリクエスト取下げ要求機能の使用例について説明します。
12.1
割込みコントローラの概要
12.2
割込みコントローラのレジスタ
12.3
割込みコントローラの動作
12.4
ホールドリクエスト取下げ要求機能(HRCR)の使用例
225
第12章 割込みコントローラ
12.1
割込みコントローラの概要
割込みコントローラは,割込み受付/調停処理を行います。
■ 割込みコントローラのハードウェア構成
割込みコントローラは,以下のものから構成されます。
割込み制御レジスタ(ICR)
割込み優先度判定回路
割込みレベル,割込み番号(ベクタ)発生部
HOLDリクエスト取下げ要求発生部
■ 割込みコントローラの主要機能
割込みコントローラには,主に以下のような機能があります。
割込み要求の検出
優先度判定(レベルおよび番号による)
判定結果の要因の割込みレベル伝達(CPUへ)
判定結果の要因の割込み番号伝達(CPUへ)
割込み発生によるストップモードからの復帰指示
バスマスタへのHOLDリクエスト取下げ要求発生
■ ブロックダイヤグラム
図 12.1-1に,割込みコントローラのブロックダイヤグラムを示します。
図 12.1-1 割込みコントローラのブロックダイヤグラム
226
12.2 割込みコントローラのレジスタ
12.2
割込みコントローラのレジスタ
この節では,割込みコントローラで使用するレジスタの構成および機能について説
明します。
■ 割込みコントローラのレジスタ一覧
図 12.2-1に,割込みコントローラのレジスタ一覧を示します。
図 12.2-1 割込みコントローラのレジスタ一覧(続く)
227
第12章 割込みコントローラ
図 12.2-1 割込みコントローラのレジスタ一覧(続き)
228
12.2 割込みコントローラのレジスタ
12.2.1
割込み制御レジスタ(ICR)
割込み制御レジスタ(ICR)
割込み制御レジスタです。各割込み入力に対して一つずつ設けられており,対応す
る割込み要求の割込みレベルを設定します。
■ 割込み制御レジスタ(ICR)の構成
図 12.2-2に,割込み制御レジスタ(ICR:Interrupt Control Register)のビット構
成を示します。
図 12.2-2 割込み制御レジスタ(ICR)のビット構成
以下に,割込み制御レジスタ(ICR)の各ビットの機能を説明します。
【ビット4∼0】 ICR4∼0
これらのビットは割込みレベル設定ビットで,対応する割込み要求の割込み
レベルを指定します。
このレジスタに設定した割込みレベルがCPUの割り込みレベルマスクレジス
タ(ILM)に設定した(された)レベルマスク値以上の場合は,CPU側で割込み要求
はマスクされます。
リセットにより,11111Bに初期化されます。
表 12.2-1に,設定可能な割込みレベル設定ビットと割込みレベルの対応を示
します。
表 12.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
割込み禁止
注1:ICR4は”1”固定で,”0”を書き込むことはできません。
229
第12章 割込みコントローラ
12.2.2
ホールドリクエスト取下げ要求レベル
設定レジスタ(HRCL)
設定レジスタ(HRCL)
ホールドリクエスト取下げ要求レベル設定レジスタ(HRCL)は,ホールドリクエスト
取下げ要求発生のためのレベル設定レジスタです。
■ ホールドリクエスト取下げ要求レベル設定レジスタ(HRCL)の構成
図 12.2-3に,ホールドリクエスト取下げ要求レベル設定レジスタ(HRCL)のビッ
ト構成を示します。
図 12.2-3 ホールドリクエスト取下げ要求レベル設定レジスタ(HRCL)のビット構成
以下に,ホールドリクエスト取下げ要求レベル設定レジスタ(HRCL)の各ビットの
機能を説明します。
【ビット4∼0】 LVL4∼0
これらのビットは,バスマスタへのホールドリクエスト取下げ要求を出すた
めの割込みレベルを設定します。
このレジスタに設定した割込みレベルより高いレベルを持つ割込み要求が発
生した場合は,バスマスタに対してホールドリクエスト取下げ要求を出します。
LVL4ビットは”1”固定で, ”0”を書き込むことはできません。
230
12.3 割込みコントローラの動作
12.3
割込みコントローラの動作
この節では,割込みコントローラの動作として,以下の項目について説明します。
・優先順位判定
・スタンバイモード(ストップ/スリープ)からの復帰
・ホールドリクエスト取下げ要求
■ 優先順位判定
割込みコントローラでは,同時に発生している割込み要因の中で最も優先度の高
い要因を選択し,その要因の割込みレベルと割込み番号をCPUへ出力します。
割込み要因の優先順位判定基準は,以下のとおりです。
以下の条件を満たす要因
-
割込みレベルの数値が31以外(31は割込み禁止)。
-
割込みレベルの数値が最も小さい要因。
-
その中で,最も小さい割込み番号を持つ要因。
表 12.3-1に,割込み要因と割込み番号,割込みレベルの関係を示します。
表 12.3-1 割込み要因と割込み番号,割込みレベルの関係(続く)
割込み要因
NMI要求
外部割込み 0
外部割込み 1
外部割込み 2
外部割込み 3
UART 0 受信完了
UART 1 受信完了
UART 2 受信完了
UART 0 送信完了
UART 1 送信完了
UART 2 送信完了
DMAC 0 (終了,エラー)
DMAC 1 (終了,エラー)
DMAC 2 (終了,エラー)
DMAC 3 (終了,エラー)
DMAC 4 (終了,エラー)
DMAC 5 (終了,エラー)
DMAC 6 (終了,エラー)
DMAC 7 (終了,エラー)
A/D
リロードタイマ 0
リロードタイマ 1
リロードタイマ 2
外部割込み 4
外部割込み 5
システム予約
システム予約
割込み番号
10進
16進
15
0F
16
10
17
11
18
12
19
13
20
14
21
15
22
16
23
17
24
18
25
19
26
1A
27
1B
28
1C
29
1D
30
1E
31
1F
32
20
33
21
34
22
35
23
36
24
37
25
38
26
39
27
40
28
41
29
割込み
レベル
オフセット
TBRデフォルト
のアドレス
15(FH)固定
ICR00
ICR01
ICR02
ICR03
ICR04
ICR05
ICR06
ICR07
ICR08
ICR09
ICR10
ICR11
ICR12
ICR13
ICR14
ICR15
ICR16
ICR17
ICR18
ICR19
ICR20
ICR21
ICR22
ICR23
ICR24
ICR25
3C0H
3BCH
3B8H
3B4H
3B0H
3ACH
3A8H
3A4H
3A0H
39CH
398H
394H
390H
38CH
388H
384H
380H
37CH
378H
374H
370H
36CH
368H
364H
360H
35CH
358H
000FFFC0H
000FFFBCH
000FFFB8H
000FFFB4H
000FFFB0H
000FFFACH
000FFFA8H
000FFFA4H
000FFFA0H
000FFF9CH
000FFF98H
000FFF94H
000FFF90H
000FFF8CH
000FFF88H
000FFF84H
000FFF80H
000FFF7CH
000FFF78H
000FFF74H
000FFF70H
000FFF6CH
000FFF68H
000FFF64H
000FFF60H
000FFF5CH
000FFF58H
231
第12章 割込みコントローラ
表 12.3-1 割込み要因と割込み番号,割込みレベルの関係(続き)
割込み要因
U-TIMER 0
U-TIMER 1
U-TIMER 2
FLASHメモリ
システム予約
システム予約
PPG0
PPG1
PPG2
PPG3
ICU0(取込み)
ICU1(取込み)
ICU2(取込み)
ICU3(取込み)
OCU0(一致)
OCU1(一致)
OCU2(一致)
OCU3(一致)
システム予約
16ビットフリーランタイマ
システム予約
遅延割込み要因ビット
割込み番号
10進
16進
42
2A
43
2B
44
2C
45
2D
46
2E
47
2F
48
30
49
31
50
32
51
33
52
34
53
35
54
36
55
37
56
38
57
39
58
3A
59
3B
60
3C
61
3D
62
3E
63
3F
割込み
レベル
オフセット
TBRデフォルト
のアドレス
ICR26
ICR27
ICR28
ICR29
ICR30
ICR31
ICR32
ICR33
ICR34
ICR35
ICR36
ICR37
ICR38
ICR39
ICR40
ICR41
ICR42
ICR43
ICR44
ICR45
ICR46
ICR47
354H
350H
34CH
348H
344H
340H
33CH
338H
334H
330H
32CH
328H
324H
320H
31CH
318H
314H
310H
30CH
308H
304H
300H
000FFF54H
000FFF50H
000FFF4CH
000FFF48H
000FFF44H
000FFF40H
000FFF3CH
000FFF38H
000FFF34H
000FFF30H
000FFF2CH
000FFF28H
000FFF24H
000FFF20H
000FFF1CH
000FFF18H
000FFF14H
000FFF10H
000FFF0CH
000FFF08H
000FFF04H
000FFF00H
■ 割込み要因の解除
割込みルーチンにおける,割込み要因解除のための命令とRETI命令の間には制限
があります。
詳細は,「3.9 EIT(例外,割込み,トラップ)」を参照してください。
■ スタンバイモード(ストップ/スリープ)からの復帰
割込み要求の発生により,ストップモードから復帰する機能をこのモジュールで
実現します。周辺からの割込み要求が一つでも発生すると,クロック制御部に対し
てストップモードからの復帰要求を発生します。
優先度判定部は,ストップ復帰後クロックが供給されてから動作を再開しますの
で,優先度判定部の結果が出るまでの間,CPUは命令を実行することになります。
スリープ状態からの復帰においても,同様に動作します。また,スリープ時は,こ
のジュール内のレジスタはDMACなどでアクセス可能です。
<注意事項>
ストップおよびスリープからの復帰の要因としたくない割込み要因は,対応する周辺の制御レ
ジスタにて割込み要求出力を禁止してください。スタンバイからの復帰要求信号は,全割込み要
因の単なる論理和出力のため,ICRに設定した割込みレベルの内容は加味されません。
スリープ時にDMA転送を行いたい場合は,割込み要求をこのモジュールへ伝えないようにDMA側
で設定し,誤ってスリープ状態から復帰しないようにしてください。
232
12.3 割込みコントローラの動作
■ ホールドリクエスト取下げ要求(HRCR:Hold Request Cancel Request)
優先度の高い割込処理を,CPUのホールド中に行いたい場合は,ホールドリクエス
ト発生元においてリクエストを取り下げてもらう必要があります。この取下げ要求
発生の基準となる割込みレベルをホールドリクエスト取下げ要求レベル設定レジ
スタ(HRCL)に設定します。
○
発生基準
ホールドリクエスト取下げ要求レベル設定レジスタ(HRCL)に設定した割込み
レベルより高いレベルの割込み要因が発生した場合は,ホールドリクエスト取
下げ要求を発生します。
ホールドリクエスト取下げ要求レベル設定レジスタ(HRCL)の割込みレベ
ル > 優先度判定後の割込みレベル → 取下げ要求発生
ホールドリクエスト取下げ要求レベル設定レジスタ(HRCL)の割込みレベ
ル ≦ 優先度判定後の割込みレベル → 取下げ要求なし
取下げ要求発生原因となった割込み要因をクリアしない限り,この取下げ要
求は有効であり,結果的にいつまでもDMA転送が起こらないことになります。必
ず対応する割込み要因をクリアしてください。
○
設定可能なレベル
ホールドリクエスト取下げ要求レベル設定レジスタ(HRCL)に設定可能な値
は,ICRと同様に”10000B”から”11111B”までです。
”11111B”に設定した場合は,すべての割込みレベルに対して取下げ要求を発生
します。
表 12.3-2に,ホールドリクエスト取下げ要求発生となる割込みレベルの設定
を示します。
表 12.3-2 ホールドリクエスト取下げ要求発生となる割込みレベルの設定
HRCLレジスタ
16
17
18
割込みレベル16
割込みレベル16∼17
∼
∼
31
取下げ要求発生となる割込みレベル
割込みレベル16∼30
〔初期値〕
リセット後は,すべての割込みレベルに対してホールドリクエスト取下げ状
態になります。すなわち,割込みが発生しているとDMA転送が行われませんので,
ホールドリクエスト取下げ要求レベル設定レジスタ(HRCL)の値を必要な値に設
定してください。
233
第12章 割込みコントローラ
12.4
ホールドリクエスト取下げ要求機能(HRCR)
ホールドリクエスト取下げ要求機能(HRCR)の使用例
(HRCR)の使用例
DMA転送中に,CPUが優先度の高い処理を行いたいときは,DMAに対してホールドリク
エストを取り下げてもらって,ホールド状態を解除する必要があります。ここでは,
割込みを利用してDMAに対してホールドリクエストの取下げ,すなわちCPUの優先動作
を実現します。
■ 制御レジスタ
ホールドリクエスト取下げ要求レベル設定レジスタ(HRCL)
このレジスタに設定した割込みレベルより高いレベルの割込みが発生し
た場合に,DMAに対してホールドリクエスト取下げ要求を発生します。そ
の基準となるレベルを設定します。
割込み制御レジスタ(ICR)
使用する割込み要因に対応するICRに,ホールドリクエスト取下げ要求レ
ベル設定レジスタ(HRCL)よりも高いレベルを設定します。
DMA要求抑止レジスタ(PDRR):クロック制御部
DMAからのホールドリクエストを一時的に抑止するためのレジスタです。
割込み要因のクリアにより,再びホールド状態に戻るのを防ぎます。
このレジスタの値が0000B のときのみ,DMAからのホールドリクエストを
CPUに伝えます。使用方法としては,割込みルーチンの先頭でこのレジス
タの内容をインクリメントし,ルーチンの出口でデクリメントしてくだ
さい。
■ ハードウェア構成
各信号の流れは,次のようになっています。
図 12.4-1 ホールドリクエスト取下げ要求機能を使用するためのハードウェア構成例
234
12.4 ホールドリクエスト取下げ要求機能(HRCR)の使用例
■ ホールドリクエスト取下げ要求シーケンス
○
割込みルーチンの例
図 12.4-2に,ホールドリクエスト取下げ要求シーケンスのタイミング例(割
込みレベル:HRCL>a)を示します。
図 12.4-2 ホールドリクエスト取下げ要求シーケンスのタイミング例
① PDRRインクリメント
② 割込要因クリア
∼
③ PDRRデクリメント
④ RETI
割込み要求が発生すると割込みレベルが変化して,これがホールドリクエスト取
下げ要求レベル設定レジスタ(HRCL)に設定したレベルよりも高いとDMAに対して
HRCRをアクティブにします。これによってDMAはホールドリクエストを下げ,CPUは
ホールド状態から復帰して割込み処理を行います。割込みルーチンでは,PDRRをイ
ンクリメント(①)し,割込み要因をクリア(②)します。これにより割込みレベルは
変化し,HRCRがインアクティブになりDMAは再びホールドリクエストを出すように
なります。しかし,PDRRが0ではないので,このホールドリクエストは遮断されてい
ます。PDRRをデクリメント(③)することで,初めてホールドリクエストがCPUに伝わ
り,再びDMA転送が行われるようになります。
235
第12章 割込みコントローラ
○
割込みルーチンの例
図 12.4-3に,多重割込みの場合のホールドリクエスト取下げ要求シーケンスの
タイミング例(割込みレベル:HRCL>a>b)を示します。
図 12.4-3 ホールドリクエスト取下げ要求シーケンスのタイミング例
①,⑤
②,⑥
③,⑦
④,⑧
PDRRインクリメント
割込要因クリア
PDRRデクリメント
RETI
図 12.4-3では,割込みルーチン1を実行中にそれよりも優先度の高い割込み
が発生した場合を示しています。
ここでも,各割込みルーチンの先頭でPDRRをインクリメントし,ルーチンの出
口でデクリメントすることによって,不用意にホールドリクエストが上がるの
を防ぐことができます。
<注意事項>
・PDRRのインクリメント/デクリメントは,DMA転送中(CPUホールド中)に処理させない割込みルー
チンの先頭と出口で必ず行うようにしてください。これを行わないと,割込みルーチンの途中で
再びDMA転送が行われてしまいます。
・逆にPDRRのインクリメント/デクリメントを通常の割込みルーチンでは行わないでください。割
込みルーチン実行中にDMA転送が行えず,パフォーマンスを落とすことになります。
・ホールドリクエスト取下げ要求レベル設定レジスタ(HRCL)とICRに設定する割込みレベルの関係
には,十分注意してください。
236
第13章
13章 A/Dコンバータ
A/Dコンバータ(
コンバータ(逐次比較型)
逐次比較型)
この章では,A/Dコンバータの概要,レジスタの構成/機能およびA/Dコンバータの動
作について説明します。
13.1
A/Dコンバータ(逐次比較型)の概要
13.2
A/Dコンバータのレジスタ
13.3
A/Dコンバータの動作
13.4
変換データ保護機能
13.5
A/Dコンバータ使用上の注意
237
第13章 A/Dコンバータ(逐次比較型)
13.1
A/Dコンバータ
A/Dコンバータ(
コンバータ(逐次比較型)
逐次比較型)の概要
A/Dコンバータは,逐次比較変換方式でアナログ入力電圧をデジタル値に変換する
モジュールです。
■ A/Dコンバータの特長
最小変換時間:5.2μs/チャネル(マシンクロック25MHz時)
サンプル&ホールド回路内蔵
分解能:10ビット
アナログ入力は4チャネルからプログラムで選択
-
シングル変換モード:1チャネルを選択変換
-
スキャン変換モード:連続した複数のチャネルを変換。最大4チャネルプ
ログラム可能
-
連続変換モード:指定チャネルを繰返し変換
-
停止変換モード:1チャネルを変換したら一時停止して次の起動がかか
るまで待機(変換開始の同期が可能)
割込みによるDMA転送の起動が可能
起動要因は,ソフトウェア,外部トリガ(立下りエッジ),リロードタイマ
(立上りエッジ)から選択
238
13.1 A/Dコンバータ(逐次比較型)の概要
■ ブロックダイヤグラム
図 13.1-1に,A/Dコンバータのブロックダイヤグラムを示します。
図 13.1-1 A/Dコンバータのブロックダイヤグラム
239
第13章 A/Dコンバータ(逐次比較型)
13.2
A/Dコンバータのレジスタ
A/Dコンバータのレジスタ
この節では,A/Dコンバータで使用するレジスタの構成および機能について説明し
ます。
■ A/Dコンバータのレジスタ
図 13.2-1にA/Dコンバータのレジスタ構成を,図 13.2-2にA/Dコンバータのレジ
スタ一覧を示します。
図 13.2-1 A/Dコンバータのレジスタ構成
図 13.2-2 A/Dコンバータのレジスタ一覧
240
13.2 A/Dコンバータのレジスタ
13.2.1
コントロールステータスレジスタ(ADCS)
コントロールステータスレジスタ(ADCS)
コントロールステータスレジスタ(ADCS)は,A/Dコンバータの制御およびステータ
スの表示を行います。
■ コントロールステータスレジスタ(ADCS)のビット構成
図 13.2-3に,コントロールステータスレジスタ(ADCS)のビット構成を示します。
図 13.2-3 コントロールステータスレジスタ(ADCS)のビット構成
<注意事項>
コントロールステータスレジスタ(ADCS)は,A/D変換動作中に書き換えないでください。また,リー
ドモディファイライト系の命令でアクセスしないでください。
■ コントロールステータスレジスタ(ADCS)のビット詳細
以下に,コントロールステータスレジスタ(ADCS)の各ビットの機能を説明します。
【ビット15】BUSY(BUSY flag and stop)
読出し時と書込み時で,以下のように機能が変わります。
読出し時:
A/Dコンバータ動作表示用のビットです。A/D変換起動でセットされ,終了
でクリアされます。
書込み時:
A/D動作中にこのビットに”0”を書き込むと,強制的に動作を停止します。
連続,停止モード時の強制停止に利用します。
動作表示用のビットに”1”を書き込むことはできません。RMW系命令では”1”が読
まれます。単発モードではA/D変換終了でクリアされます。連続,停止モードで
は”0”書込みで停止するまでクリアされません。
リセット時”0”に初期化されます。
強制停止とソフト起動を同時に行わないでください。(BUSY=0,STRT=1)
241
第13章 A/Dコンバータ(逐次比較型)
【ビット14】 INT(INTerrupt)
データ表示ビットです。変換データがADCRに書き込まれるとセットされます。
INTE(ビット13)が”1”のときに,このビットがセットされると割込み要求が発
生します。また,DMA転送の起動を選択している場合は,DMAが起動されます。”1”
書込みは意味を持ちません。
クリアは”0”書込みとDMACからのクリア信号で行われます。
<注意事項>
このビットの”0”書込みによるクリアは,A/D停止中に行ってください。リセット時”0”に初期化され
ます。リードモディファイライト系命令の読出しでは,”1”が読み出されます。
【ビット13】 INTE(INTerrupt Enable)
このビットは,変換終了による割込みの許可/不許可を指定します。
INTE
0
1
機能
割込みの禁止
(初期値)
割込みの許可
割込み要求発生でDMA転送を起動するときは,このビットをセットしてくださ
い。リセット時”0”に初期化されます。
【ビット12】 PAUS (A/D converter PAUSe)
A/D変換動作が一時的に停止した場合にセットされます。
A/D変換結果を格納するレジスタが一つのため,連続で変換した場合に,変換
結果をDMAで転送しなければ前データが壊れてしまいます。
これを保護するためデータレジスタの内容をDMAで転送しなければ,次の変換
データが格納されないようになっています。この間A/D変換動作は停止します。
DMAで転送を終了するとA/Dは変換を再開します。このビットはDMAを使用した
ときのみ有効です。
詳細については,「13.4 変換データ保護機能」を参照してください。リセッ
ト時”0”に初期化されます。
【ビット11,10】 STS1,STS0(STart Source select)
これらのビットは,リセット時”00”に初期化されます。これらのビットの設定
により,A/D変換起動要因を選択します。
表 13.2-1に,A/Dコンバータ起動要因の選択を示します。
表 13.2-1 A/Dコンバータ起動要因の選択
STS1
0
0
1
1
STS0
0
1
0
1
機 能
ソフトウェア起動
外部端子トリガでの起動またはソフトウェア起動
タイマでの起動またはソフトウェア起動
外部端子トリガ,タイマでの起動またはソフトウェア起動
起動が兼用になっているモードでは,最初に検出した要因で起動します。
起動要因は書換えと同時に変わりますので,A/D変換動作中に書き換えるとき
は注意してください。
<注意事項>
・外部端子トリガは立下がりエッジを検出します。外部トリガ入力レベルが”L”のときにこのビッ
トを書き換えて外部トリガ起動にすると,A/Dコンバータが起動する場合があります。
・タイマ選択時は,リロードタイマのチャネル2が選択されます。リロードタイマの出力レベル
が”H”のときにこのビットを書き換えてタイマ起動にするとA/Dコンバータが起動する場合があ
ります。
242
13.2 A/Dコンバータのレジスタ
【ビット9】 STRT(STaRT)
このビットに”1”を書き込むことにより,A/Dコンバータを起動します。再起動
をかけるときは,再び書き込んでください。停止モード時は,動作機能上再起動
はかかりません。
リセット時に”0”に初期化されます。
強制停止とソフトウェア起動を同時に行わないでください。(BUSY=0,STRT=1)
リードモディファイライト系の命令では”0”が読まれます。
【ビット8】 (Reserved)
このビットは,試験用ビットです。書込み時は”0”を書き込んでください。
【ビット7,6】 MD1,MD0 (A/D converter MoDe set)
これらのビットは,動作モードを選択します。
表 13.2-2に,A/Dコンバータ動作モードの選択を示します。
表 13.2-2 A/Dコンバータ動作モードの選択
MD1
0
0
1
1
MD0
0
1
0
1
動作モード
単発モード,動作中の再起動はすべて可能
単発モード,動作中の再起動は不可能
連続モード,動作中の再起動は不可能
停止モード,動作中の再起動は不可能
・単発モード:ANS2∼ANS0の設定チャネルからANE2∼ANE0の設定チャネルまで
A/D変換を連続して行い,1回変換が終了したら停止する。
・連続モード:ANS2∼ANS0の設定チャネルからANE2∼ANE0の設定チャネルま
で,A/D変換を繰り返し行います。
・停止モード:ANS2∼ANS0の設定チャネルからANE2∼ANE0の設定チャネルま
で,1チャネルごとにA/D変換を行い一時停止します。
変換再開は,起動要因発生によって行われます。
リセット時に”00B”に初期化されます。
<注意事項>
連続モード,停止モードでA/D変換を起動すると,BUSYビットで停止するまで変換動作を続けます。
停止はBUSYビットに”0”を書き込むことにより行われます。単発,連続,停止の各モードの再起動の
不可能はタイマ,外部トリガおよびソフトウェアのすべての起動に適用されます。
243
第13章 A/Dコンバータ(逐次比較型)
【ビット5,4,3】 ANS2,ANS1,ANS0(ANalog Start channel set)
これらのビットにより,A/D変換の開始チャネルを設定します。
A/Dコンバータを起動すると,これらのビットで選択されたチャネルからA/D
変換を始めます。
表 13.2-3に,A/D変換開始チャネルの設定を示します。
表 13.2-3 A/D変換開始チャネルの設定
ANS2
0
0
0
0
1
1
1
1
ANS1
0
0
1
1
0
0
1
1
ANS0
0
1
0
1
0
1
0
1
開始チャネル
AN0
AN1
AN2
AN3
AN4
AN5
AN6
AN7
読出し時,これらのビットは,A/D変換中は変換チャネルが読まれます。
停止モードで停止中は,前の変換チャネルが読まれます。
リセット時”000B”に初期化されます。
【ビット2,1,0】 ANE2,ANE1,ANE0(ANalog End channel set)
これらのビットにより,A/D変換の終了チャネルを設定します。
表 13.2-4に,A/D変換時の終了チャネルの設定を示します。
表 13.2-4 A/D変換時の終了チャネルの設定
ANE2
0
0
0
0
1
1
1
1
ANE1
0
0
1
1
0
0
1
1
ANE0
0
1
0
1
0
1
0
1
終了チャネル
AN0
AN1
AN2
AN3
AN4
AN5
AN6
AN7
ANS2∼ANS0と同じチャネルを設定すると,1チャネル変換になります(シング
ル変換)。
連続モード,停止モードを設定している場合は,これらのビットで設定された
チャネルの変換が終わると,ANS2∼ANS0で設定された開始チャネルに戻ります。
設定チャネルは,ANS≦ANEとしてください。
リセット時に”000B”に初期化されます。
設定例:
チャネル設定 ANS=1チャネル,ANE=3チャネルで単発モードのときの動作
変換チャネル 1チャネル → 2チャネル → 3チャネル に変わります。
244
13.2 A/Dコンバータのレジスタ
13.2.2
データレジスタ(ADCR)
データレジスタ(ADCR)
データレジスタ(ADCR)は,変換格納レジスタで,変換結果であるデジタル値が格納
されます。A/D変換の分解能を選択する機能もあります。
■ データレジスタ(ADCR)の構成
図 13.2-4に,データレジスタ(ADCR)のビット構成を示します。
図 13.2-4 データレジスタ(ADCR)のビット構成
データレジスタ(ADCR)の値は,1回の変換終了時ごとに更新されます。通常は,最
終変換値が格納されています。
このレジスタは,リセット時は不定です。(上位の15∼10ビットを除く)
以下に,データレジスタ(ADCR)の各ビットの機能を説明します。
【ビット15】S10 (Select 10bit or 8bit resolution)
A/D変換の分解能を選択するビットです。
S10
0
1
機能
10ビット分解能 (D9∼D0)
8ビット分解能 (D7∼D0)
(初期値)
なお,分解能によって,使用されるデータビットが異なります。
【ビット14,13】ST1,ST0(Sampling Time)
A/D変換時のサンプリング時間を選択するビットです。
A/Dが起動されると,このビットに設定された時間,アナログ入力が取り込ま
れます。
表 13.2-5に,A/Dコンバータのサンプリング時間設定を示します。
表 13.2-5 A/Dコンバータのサンプリング時間設定
ST1
0
0
1
1
ST0
0
1
0
1
サンプリング時間
11 * φ
23 * φ
33 * φ
45 * φ
1.4μs @8MHz
1.4μs @16MHz
1.3μs @25MHz
245
第13章 A/Dコンバータ(逐次比較型)
【ビット12,11】CT1,CT0(Conversion Time)
A/D変換時のコンペア時間を選択するビットです。
アナログ入力が取り込まれた(サンプリング時間経過)後,このビットに設定
された時間後に,変換結果の
データが確定し,このレジスタのビット9∼ビット0に格納されます。
表 13.2-6に,A/Dコンバータのコンペア時間設定を示します。
表 13.2-6 A/Dコンバータのコンペア時間設定
CT1
0
0
1
1
CT0
0
1
0
1
コンペア時間
34 * φ
67 * φ
100 * φ
122 * φ
4.3μs @8MHz
4.2μs @16MHz
4.0μs @25MHz
【ビット10】 空きビット
【ビット9∼0】 D9∼D0(Date register)
A/D変換の結果が格納され,レジスタは1回の変換終了ごとに書き換えられま
す。
通常は最終変換値が格納されます。これらのレジスタの初期値は不定です。
変換データ保護機能があります。
A/D変換中にこれらのビットにデータを書き込まないようにしてください。
246
13.2 A/Dコンバータのレジスタ
13.2.3
アナログ入力制御レジスタ(A
アナログ入力制御レジスタ(AI
(AIC)
アナログ入力制御レジスタ(AIC)は,アナログ入力を選択するときに使用します。
■ アナログ入力制御レジスタ(AIC)の構成
図 13.2-5に,アナログ入力制御レジスタ(AIC)のビット構成を示します。
図 13.2-5 アナログ入力制御レジスタ(AIC)のビット構成
以下に,アナログ入力制御レジスタ(AIC)の各ビットの機能を説明します。
【ビット0∼7】 AI0∼AI7 (Analog Input control register)
対応するI/Oポートの各端子を以下のように制御します
AI
0
1
機能
アナログ入力モード
ポートモード
(初期値)
<注意事項>
ポート入力モードに設定しているときに中間電圧レベルが入力されるとリーク電流が流れます。
したがって,アナログ入力をするときには必ずアナログ入力設定をしてください。
247
第13章 A/Dコンバータ(逐次比較型)
13.3
A/Dコンバータの動作
A/Dコンバータの動作
A/Dコンバータは,逐次変換方式で動作し10ビットの分解能をもっています。
このA/Dコンバータは,変換結果格納用のレジスタが一つ(16ビット)しかないた
め,1回の変換終了とともに変換データレジスタ(ADCR)が更新されてしまいます。
連続で変換をする際は,DMA転送を使用することが可能です。
A/Dコンバータには,単発変換モード,連続変換モードおよび停止変換モードの3種
類のモードがあります。各モードでの動作を説明します。
■ 単発変換モード
単発変換モードは,ADCSのANSビットとANEビットで設定されたアナログ入力を順
に変換していき,ANEビットで設定された終了チャネルまで変換が終わると,A/Dコ
ンバータは動作を停止します。
開始チャネルと終了チャネルが同じとき(ANS=ANE)は,1チャネル変換動作になり
ます。
例:
ANS=000B,ANE=011Bの場合
開始 → AN0 → AN1 → AN2 → AN3 → 終了
ANS=010B,ANE=010Bの場合
開始 → AN2 → 終了
■ 連続変換モード
連続変換モードは,ADCSのANSビットとANEビットで設定されたアナログ入力を順
に変換していき,ANEビットで設定された終了チャネルまで変換が終わるとANSのア
ナログ入力に戻り,A/D変換動作を続けます。
開始チャネルと終了チャネルが同じとき(ANS=ANE)は,1チャネル変換を続けます。
例:
ANS=000B,ANE=011Bの場合
開始 → AN0 → AN1 → AN2 → AN3 → AN0 →→→→ 繰り返し
ANS=010B,ANE=010Bの場合
開始 → AN2 → AN2 → AN2 →→→→ 繰り返し
連続変換モードで変換させるとBUSYビットに”0”を書き込むまで変換を繰り返し
続けます。BUSYビットに”0”を書き込むと,強制動作停止します。強制動作停止を行
うと,変換中のものは途中で止まってしまうため,注意してください。強制動作停止
した場合は,変換レジスタは変換完了した前データが格納されています。
248
13.3 A/Dコンバータの動作
■ 停止変換モード
停止変換モードは,ADCSのANSビットとANEビットで設定されたアナログ入力を順
に変換していきますが,1チャネル変換するごとに変換動作を一時停止します。一時
停止を解除するには,もう一度起動することにより行われます。
ANEビットで設定された終了チャネルまで変換が終わると,ANSのアナログ入力に
戻り,A/D変換動作を続けます。
開始チャネルと終了チャネルが同じ場合(ANS=ANE)は,1チャネルを変換します。
例:
ANS=000B,ANE=011Bの場合
開始 → AN0 → 停止 → 起動 → AN1 → 停止 → 起動 → AN2 → 停止
→ 起動 → AN3 → 停止 → 起動 → AN0 →→→→ 繰り返し
ANS=010B,ANE=010Bの場合
開始 → AN2 → 停止 → 起動 → AN2 → 停止 → 起動 → AN2
→→→→ 繰り返し
このときの起動要因は,STS1,STS0で設定されたものだけです。
このモードを使用することにより,変換開始の同期をかけることが可能です。
249
第13章 A/Dコンバータ(逐次比較型)
13.4
変換データ保護機能
A/Dコンバータは,変換データ保護機能を持ち,DMACを使って連続変換と複数のデー
タを確保できることを特長としています。
■ 変換データ保護機能
変換データレジスタは一つですので,連続でA/D変換をすると1回の変換終了と共
に変換データが格納されて前データが失われます。これを保護するために,このA/D
コンバータは変換が終了しても前データがDMACを使ってメモリへ転送されていな
いと,変換データはレジスタに格納されずA/Dは一時停止する機能を持っています。
一時停止の解除は,DMA転送によってメモリへ転送された後に行われます。
前データが転送されていれば,一時停止することなくA/Dは連続して変換します。
<注意事項>
この機能はADCSのINT,INTEビットに関係しています。
データ保護機能は,割込み許可(INTE=1)状態でしか動作しないようになっています。
割込み禁止(INTE=0)の場合は,この機能は動作せず,連続でA/D変換を行った場合は,次々に変換
データはレジスタに格納されて旧データは失われます。
また,割込み許可(INTE=1)状態でDMA転送を使わない場合は,INTビットはクリアされないため,
データ保護機能が働き,A/Dは変換を一時停止状態にします。この場合は,割込みシーケンスでINT
ビットをクリアすると停止状態が解除されます。
DMA動作中で,A/Dが一時停止をしているときに割込みを禁止すると,A/Dが動作し,転送する前に変
換データレジスタの内容が変わることがあります。
また,一時停止中に再起動をかけると待機データが壊れます。
250
13.4 変換データ保護機能
図 13.4-1に,DMA転送使用時のデータ保護機能フローを示します。
図 13.4-1 DMA転送使用時のデータ保護機能フロー
251
第13章 A/Dコンバータ(逐次比較型)
13.5
A/Dコンバータ使用上の注意
A/Dコンバータ使用上の注意
A/Dコンバータを使用するときの使用上の注意を示します。
■ A/Dコンバータ使用上の注意
○
A/Dコンバータを外部トリガまたは内部タイマを使って起動する場合
A/Dコンバータを外部トリガまたは内部タイマを使って起動する場合,コント
ロールステータスレジスタ(ADCS)のA/D起動要因ビットSTS1,STS0で設定します
が,このときに外部トリガおよび内部タイマの入力値はインアクティブ側にし
てください。アクティブ側にしておくと誤動作します。
STS1,STS0設定時は, ATG =1入力,リロードタイマ(チャネル2)=0出力の状態に
してください。
■ A/Dコンバータのその他の注意事項
外部インピーダンスが指定値以上に高くなると,規定のサンプリング時間内にア
ナログ入力値をサンプリングできなくなり,正しい変換結果が得られません。
252
第14章
14章 UART
この章では,UARTの概要,レジスタの構成/機能およびUARTの動作について説明しま
す。
14.1
UARTの概要
14.2
UARTのレジスタ
14.3
UARTの動作
14.4
UARTの使用例
14.5
ボーレートとU-TIMERのリロード値の設定例
253
第14章 UART
14.1
UARTの概要
UARTの概要
UARTは,非同期(調歩同期)通信またはCLK同期通信を行うためのシリアルI/Oポート
です。
MB91F127/128は,UARTを3チャネル内蔵しています。
■ UARTの特長
UARTは,以下の特長をもっています。
全二重ダブルバッファ
非同期(調歩同期),CLK同期通信が可能
マルチプロセッサモードのサポート
完全プログラマブルモード
-
内蔵タイマにより任意のボーレートを設定可能(「9.3
参照)
外部クロックによる自由なボーレートの設定が可能
エラー検出機能(パリティ,フレーミング,オーバラン)
転送信号はNRZ符号
割込みによるDMA転送の起動が可能
254
U-TIMERの動作」
14.1 UARTの概要
■ ブロックダイヤグラム
図 14.1-1に,UARTのブロックダイヤグラムを示します。
図 14.1-1 UARTのブロックダイヤグラム
255
第14章 UART
14.2
UARTのレジスタ
UARTのレジスタ
この節では,UARTで使用するレジスタの構成および機能について説明します。
■ UARTのレジスタ
図 14.2-1に,UARTのレジスタ構成を,図 14.2-2に,UARTのレジスタ一覧を示しま
す。
図 14.2-1 UARTのレジスタ構成
図 14.2-2 UARTのレジスタ一覧
256
14.2 UARTのレジスタ
14.2.1
シリアルモードレジスタ(SMR)
シリアルモードレジスタ(SMR)
シリアルモードレジスタ(SMR)は,UARTの動作モードを指定します。
動作モードの設定は動作停止中に行います。動作中にこのレジスタへの書込みは行
わないでください。
■ シリアルモードレジスタ(SMR)のビット構成
図 14.2-3に,シリアルモードレジスタ(SMR)のビット構成を示します。
図 14.2-3 シリアルモードレジスタ(SMR)のビット構成
■ シリアルモードレジスタ(SMR)のビット詳細
以下に,シリアルモードレジスタ(SMR)の各ビットの機能を説明します。
【ビット7,6】MD1,MD0(MoDe select)
これらのビットは,UARTの動作モードを選択します。
表 14.2-1に,UARTの動作モード選択を示します。
表 14.2-1 UARTの動作モード選択
モード
0
1
2
−
MD1
0
0
1
1
MD0
0
1
0
1
動作モード
非同期(調歩同期)ノーマルモード (初期値)
非同期(調歩同期)マルチプロセッサモード
CLK同期モード
設定禁止
<注意事項>
モード1のCLK非同期モード(マルチプロセッサ)とは,1台のホストCPUに数台のスレーブCPUが接続
される使用法です。このリソースでは,受信データのデータ形式を判別できません。したがって,
マルチプロセッサモードのマスタのみをサポートします。また,パリティチェック機能は使用でき
ませんので,シリアルコントロールレジスタ(SCR)のPENは”0”に設定してください。
【ビット5,4】(reserved)
これらのビットは,未使用ビットです。
常に”1”を書き込んでください。
【ビット3】CS0(Clock Select)
このビットは,UARTの動作クロックを選択します。
CS0
0
1
機能
内蔵タイマ(U-TIMER)
外部クロック
(初期値)
【ビット2】(reserved)
このビットは,未使用ビットです。
常に”0”を書き込んでください。
257
第14章 UART
【ビット1】SCKE(SCLK Enable)
このビットは,CLK同期モード(モード2)で通信をする場合,SC端子をクロック
入力端子にするか,クロック出力端子として使うかを指定します。
CLK非同期モード時または外部クロックモード時では”0”に設定してください。
SCKE
0
1
機能
クロック入力端子として機能します。 (初期値)
クロック出力端子として機能します。
<注意事項>
クロック入力端子として使うには,CS0ビットを”1”にして外部クロックを選択しておく必要があ
ります。
【ビット0】SOE (Serial Output Enable)
このビットは,汎用I/Oポート端子と兼用されている外部端子(SO)を,シリア
ル出力端子として使うか,I/Oポート端子として使うかを指定します。
SOE
0
1
258
機能
汎用I/Oポート端子として機能します。 (初期値)
シリアルデータ出力端子(SO)として機能します。
14.2 UARTのレジスタ
14.2.2
シリアルコントロールレジスタ
シリアルコントロールレジスタ(SCR)
コントロールレジスタ(SCR)
シリアルコントロールレジスタ(SCR)は,シリアル通信を行う場合の転送プロトコ
ルを制御します。
■ シリアルコントロールレジスタ(SCR)のビット構成
図 14.2-4に,シリアルコントロールレジスタ(SCR)のビット構成を示します。
図 14.2-4 シリアルコントロールレジスタ(SCR)のビット構成
■ シリアルコントロールレジスタ(SCR)のビット詳細
以下に,シリアルコントロールレジスタ(SCR)の各ビットの機能を説明します。
【ビット7】PEN(Parity Enable)
このビットは,シリアルデータに対して,パリティビットの付加(送信時)およ
び検出(受信時)をするかどうかを選択します。
PEN
0
1
機能
パリティなし (初期値)
パリティあり
<注意事項>
動作モード1,2を選択した場合は,パリティは使用できません。
このビットは常に”0”設定してください。
【ビット6】P(Parity)
このビットは,パリティを付加してデータ通信を行うとき,偶数/奇数パリ
ティを指定します。
P
0
1
偶数パリティ
奇数パリティ
機能
(初期値)
【ビット5】SBL(Stop Bit Length)
このビットは,非同期(調歩同期)通信を行うときのフレームエンドマークで
ある,ストップビットのビット長を指定します。
SBL
0
1
機能
1ストップビット (初期値)
2ストップビット
259
第14章 UART
【ビット4】CL(Character Length)
このビットは,送受信する1フレームのデータ長を指定します。
CL
0
1
機能
7ビットデータ (初期値)
8ビットデータ
<注意事項>
7ビットデータを扱えるのは,非同期(調歩同期)通信のうちのノーマルモード(モード0)のみです。
マルチプロセッサモード(モード1)およびCLK同期通信(モード2)では,8ビットデータとしてくだ
さい。
【ビット3】A/D(Address/Data)
このビットは,非同期(調歩同期)通信のマルチプロセッサモード(モード1)に
おいて,送受信するフレームのデータ形式を指定します。
A/D
0
1
機能
データフレーム
アドレスフレーム
(初期値)
【ビット2】REC(Receiver Error Clear)
このビットに, ”0”を書き込むことによって,シリアルステータスレジスタ
(SSR)のエラーフラグ(PE,ORE,FRE)をクリアします。
”1”書込みは無効であり,読出し値は常に”1”になります。
【ビット1】RXE(Receiver Enable)
このビットは,UARTの受信動作を制御します。
RXE
0
1
機能
受信動作を禁止します。
受信動作を許可します。
(初期値)
<注意事項>
受信中(受信シフトレジスタにデータが入力されているとき)に受信動作を禁止した場合には,そ
のフレームの受信を完了し,受信データバッファ/シリアルインプットデータレジスタ(SIDR)に受
信データをストアしたところで受信動作を停止します。
【ビット0】TXE(Transmitter Enable)
このビットは,UARTの送信動作を制御します。
TXE
0
1
機能
送信動作を禁止します。
送信動作を許可します。
(初期値)
<注意事項>
送信中(送信レジスタからデータが出力されているとき)に送信動作を禁止した場合は,送信デー
タバッファ(SODR)にデータがなくなった後に送信動作を停止します。”0”の書込みは,SODRにデー
タを書き込んだ後は,一定の期間を置いて行ってください。一定の期間は,クロック非同期転送
モード時は,ボーレートの1/16時間です。クロック同期転送モード時は,ボーレートの時間です。
260
14.2 UARTのレジスタ
14.2.3
シリアルインプットデータレジスタ(SIDR)/
シリアルインプットデータレジスタ(SIDR)/
シリアルアウトプットデータレジスタ(SODR)
シリアルアウトプットデータレジスタ(SODR)
これらのレジスタは,受信/送信用のデータバッファレジスタです。
■ シリアルインプットデータレジスタ(SIDR)/シリアルアウトプットデータレジスタ(SODR)の
構成
図 14.2-5に,シリアルインプットデータレジスタ(SIDR)およびシリアルアウト
プットデータレジスタ(SODR)のビット構成を示します。
図 14.2-5 シリアルインプットデータレジスタ(SIDR)/
シリアルアウトプットデータレジスタ(SODR)のビット構成
データ長が7ビットの場合,SIDR,SODRのビット7(D7)は無効データとなります。シ
リアルアウトプットデータスレジスタ(SODR)への書込みは,シリアルステータスレ
ジスタ(SSR)のTDREビットが”1”のときに書き込んでください。
<注意事項>
このアドレスへの書込みはシリアルアウトプットデータスレジスタ(SODR)への書込みを,読出し
はシリアルインプットデータスレジスタ(SIDR)からの読出しを意味します。
261
第14章 UART
14.2.4
シリアルステータスレジスタ(SSR)
シリアルステータスレジスタ(SSR)
シリアルステータスレジスタ(SSR)は,UARTの動作状態を表すフラグで構成されて
います。
■ シリアルステータスレジスタ(SSR)のビット構成
図 14.2-6に,シリアルステータスレジスタ(SSR)のビット構成を示します。
図 14.2-6 シリアルステータスレジスタ(SSR)のビット構成
■ シリアルステータスレジスタ(SSR)のビット詳細
以下に,シリアルステータスレジスタ(SSR)の各ビットの機能を説明します。
【ビット7】PE(Parity Error)
このビットは,受信時にパリティエラーが発生したときにセットされる,割込
み要求フラグです。
一度セットされたフラグをクリアするには,シリアルコントロールレジスタ
(SCR)のRECビット(ビット10)に”0”を書き込みます。
このビットがセットされた場合には,SIDRのデータは無効データとなります。
PE
0
1
機能
パリティエラーなし
パリティエラーが発生
(初期値)
【ビット6】ORE(Over Run Error)
このビットは,受信時にオーバランエラーが発生したときにセットされる,割
込み要求フラグです。
一度セットされたフラグをクリアするには,シリアルコントロールレジスタ
(SCR)のRECビットに”0”を書き込みます。
このビットがセットされた場合には,SIDRのデータは無効データとなります。
ORE
0
1
機能
オーバランエラーなし
オーバランエラーが発生
(初期値)
【ビット5】FRE(FRaming Error):フレーミングエラーの有無
このビットは,受信時にフレーミングエラーが発生したときにセットされる,
割込み要求フラグです。
一度セットされたフラグをクリアするには,シリアルコントロールレジスタ
(SCR)のRECビットに”0”を書き込みます。
このビットがセットされた場合には,SIDRのデータは無効データとなります。
FRE
0
1
262
機能
フレーミングエラーなし (初期値)
フレーミングエラーが発生
14.2 UARTのレジスタ
【ビット4】RDRF(Receiver Data Register Full)
このビットは,シリアルインプットデータスレジスタ(SIDR)に受信データが
あることを示す,割込み要求フラグです。
シリアルインプットデータスレジスタ(SIDR)に受信データがロードされると
セットされ,シリアルインプットデータスレジスタ(SIDR)を読み出すと自動的
にクリアされます。
RDRF
0
1
受信データなし
受信データあり
機能
(初期値)
【ビット3】TDRE(Transmitter Data Register Empty)
このビットは,SODRに送信データを書き込めることを示す,割込み要求フラグ
です。
シリアルアウトプットデータスレジスタ(SODR)に送信データを書き込むとク
リアされます。書き込んだデータが送信用シフタにロードされて転送が開始さ
れると再びセットされ,次の送信データを書き込むことができることを表しま
す。
TDRE
0
1
機能
送信データの書込み禁止
送信データの書込み許可
(初期値)
【ビット2】(reserved)
このビットは,未使用ビットです。
【ビット1】RIE(Receiver Interrupt Enable)
このビットは,受信割込みを制御します。
RIE
0
1
機能
受信割込みを禁止します。
受信割込みを許可します。
(初期値)
<注意事項>
受信割込み要因は,PE,ORE,FREによるエラー発生のほか,RDRFによる正常受信があります。
【ビット0】TIE(Transmitter Interrupt Enable)
このビットは,送信割込みを制御します。
TIE
0
1
機能
送信割込みを禁止します。
送信割込みを許可します。
(初期値)
<注意事項>
送信割込み要因は,TDREによる送信要求があります。
263
第14章 UART
14.3
UARTの動作
UARTの動作
UARTは以下の三つの動作モードを持ち,シリアルモードレジスタ(SMR),シリアルコ
ントロールレジスタ(SCR)に値を設定することにより,モードを切り替ることができ
ます。
・非同期(調歩同期) ノーマルモード
・非同期(調歩同期) マルチプロセッサモード
・CLK同期モード
■ UARTの動作モード
表 14.3-1に,UARTの動作モードを示します。
非同期(調歩同期)モードでのストップビット長については,送信動作のみ指定が
可能です。受信動作については常に1ビット長となります。下記モード以外では動
作しませんので,設定しないでください。
表 14.3-1 UARTの動作モード
モード
パリティ
あり/なし
あり/なし
データ長
7
8
1
なし
8 + 1
2
なし
8
0
動作モード
非同期(調歩同期)
ノーマルモード
非同期(調歩同期)
マルチプロセッサモード
CLK同期モード
ストップビット長
1ビット
または
2ビット
なし
■ UARTのクロック選択
○
内部タイマ
CS0を”0”に設定してU-TIMERを選択した場合は,U-TIMERに設定したリロード値
でボーレートが決まります。このときのボーレートの算出式は,次のとおりです。
非同期(調歩同期):Φ/(16×β)
CLK同期
:Φ/β
Φ:周辺系マシンクロック周波数(CLKP)
β:U-TIMERで設定した周期(2n+2または2n+3
nはリロード値)
非同期(調歩同期)モードのボーレートは,設定したボーレートの-1%∼+1%
までの範囲で転送が可能です。
○
外部クロック
CS0を”1”に設定して外部クロックを選択した場合のボーレートは,外部クロッ
クの周波数をfとすると次のようになります。
非同期(調歩同期):f/16
CLK同期
:f
ただし,fは最大3.125MHzまでです。
264
14.3 UARTの動作
14.3.1
非同期(
非同期(調歩同期)
調歩同期)モード
UARTは,NRZ(Non Return to Zero)形式のデータのみを扱います。転送データは必ず
スタートビット(”L”レベルデータ)より始まり,LSBファーストで指定されたデータ
ビット長の転送が行われ,ストップビット(”H”レベルデータ)で終了します。外部ク
ロックを選択している場合は,常にクロックを入力してください。
■ 非同期(調歩同期)モードの転送データフォーマット
図 14.3-1に,非同期(調歩同期)モード転送データフォーマットを示します。
ノーマルモード(モード0)では,データ長を7ビットまたは8ビットに設定するこ
とができますが,マルチプロセッサモード(モード1)では8ビットでなければなりま
せん。また,マルチプロセッサモードではパリティを付加することはできません。
そのかわり,A/Dビットが必ず付加されます。
図 14.3-1 非同期(調歩同期)モードの転送データフォーマットモード0,1)
○
受信動作
シリアルコントロールレジスタ(SCR)のRXEビット(ビット1)が”1”ならば,常に
受信動作が行われています。受信ラインにスタートビットが現れると,シリアル
コントロールレジスタ(SCR)で決められたデータフォーマットに従い,1フレー
ムデータの受信が行われます。1フレームの受信が終わってからエラーが発生し
た場合には,エラーフラグのセットが行われた後,RDRFフラグ(シリアルステー
タスレジスタ(SSR)のビット4)がセットされます。このとき同じシリアルステー
タスレジスタ(SSR)のRIEビット(ビット1)が”1”にセットされていればCPUに対し
て受信割込みが発生します。シリアルステータスレジスタ(SSR)の各フラグを調
べ,正常受信ならシリアルインプットデータスレジスタ(SIDR)を読み出して,エ
ラーが発生していれば必要な処理を行うようにしてください。
RDRFフラグは,シリアルインプットデータスレジスタ(SIDR)を読み出すとク
リアされます。
○
送信動作
シリアルステータスレジスタ(SSR)のTDREフラグ(ビット11)が”1”のとき,シリ
アルアウトプットデータスレジスタ(SODR)に送信データを書き込みます。ここ
で,シリアルコントロールレジスタ(SCR)のTXEビット(ビット0)が”1”なら送信が
行われます。
シリアルアウトプットデータスレジスタ(SODR)にセットしたデータが,送信
用シフトレジスタにロードされて送信が開始されるとTDREフラグが再びセット
され,次の送信データをセットできるようになります。このとき,同じシリアル
ステータスレジスタ(SSR)のTIEビット(ビット0)が”1”にセットされていればCPU
に対して送信割込みが発生して, シリアルアウトプットデータスレジスタ
(SODR)に送信データをセットするように要求します。
TDREフラグは,シリアルアウトプットデータスレジスタ(SODR)にデータを
セットすると一度クリアされます。
265
第14章 UART
14.3.2
CLK同期モード
CLK同期モード
UARTは,NRZ(Non Return to Zero)形式のデータのみを扱います。
■ CLK同期モードの転送データフォーマット
図 14.3-2に,CLK同期モードの送受信クロックとデータとの関係を示します。
図 14.3-2 CLK同期モードの転送データフォーマット(モード2)
CS0を”0”に設定し,U-TIMERからの出力を選択している場合は,データを送信する
と,データ受信用同期クロックが自動的に生成されます。
外部クロックを選択している場合は,送信側UARTの送信用データバッファ/シリ
アルアウトプットデータスレジスタ(SODR)にデータがあること(TDREフラグが”0”)
を確かめた後,正確に1バイト分のクロックを供給する必要があります。
また,送信開始前と終了後は,必ずマークレベルにしてください。
データ長は8ビットのみとなり,パリティを付加することはできません。また,ス
タート/ストップビットがないので,オーバランエラー以外のエラー検出は行われ
ません。
○
初期化
CLK同期モードを使用する場合の,各制御レジスタの設定値を示します。
シリアルモードレジスタ(SMR)
-
MD1,MD0:10
-
CS
:クロック入力を指定
-
SCKE
:内部タイマの場合1,外部クロックの場合0
-
SOE
:送信を行う場合1,受信のみの場合0
シリアルコントロールレジスタ(SCR)
-
PEN
:0
-
P,SBL,A/D:これらのビットは意味を持ちません
-
CL
:1
-
REC
:0(初期化するため)
-
RXE,TXE
:少なくとも,どちらか一方を1
シリアルステータスレジスタ(SSR)
266
-
RIE
:割込みを使用する場合1,割込みを使用しない場合0
-
TIE
:0
14.3 UARTの動作
○
通信開始
シリアルアウトプットデータスレジスタ(SODR)への書込みによって通信を開始
します。受信のみの場合でも,必ず仮の送信データをシリアルアウトプットデータ
スレジスタ(SODR)に書き込む必要があります。
○
通信終了
シリアルステータスレジスタ(SSR)のRDRFフラグが”1”に変化したことにより確
認できます。シリアルステータスレジスタ(SSR)のOREビットによって,通信が正常
に行われたかを判断してください。
267
第14章 UART
14.3.3
UARTの割込み発生とフラグのセットタイミング
UARTの割込み発生とフラグのセットタイミング
UARTには,五つのフラグと二つの割込み要因があります。
五つのフラグは,PE/ORE/FRE/RDRF/TDREです。
二つの割込み要因は,受信用のものと送信用のものです。
■ 割込み発生とフラグ
PEはパリティエラー,OREはオーバランエラー,FREはフレーミングエラーのこと
で,受信時エラーが発生したときにセットされ,シリアルコントロールレジスタ
(SCR)のRECに”0”を書き込むとクリアされます。
RDRFは,受信データがシリアルインプットデータスレジスタ(SIDR)にロードされ
るとセットされ,シリアルインプットデータスレジスタ(SIDR)を読み出すことでク
リアされます。ただし,モード1ではパリティ検出機能,モード2ではパリティ検出機
能とフレーミングエラー検出機能はありません。
TDREは,シリアルアウトプットデータスレジスタ(SODR)が空になって書込み可能
な状態になるとセットされ,シリアルアウトプットデータスレジスタ(SODR)へ書き
込むとクリアされます。
受信時は,PE/ORE/FRE/RDRFにより割込みを要求します。
送信時は,TDREにより割込みを要求します。
■ モード0の受信動作時割込みフラグのセットタイミング
PE,ORE,FRE,RDRFは,受信転送が終了し最後のストップビットを検出するときに
フラグがセットされ,CPUへの割込み要求が発生します。PE,ORE,FREがアクティブ時
は,SIDRのデータは無効データとなります。
図 14.3-3に,モード0におけるORE,FRE,RDRFのセットタイミングを示します。
図 14.3-3 ORE,FRE,RDRFのセットタイミング(モード0)
268
14.3 UARTの動作
■ モード1の受信動作時割込みフラグのセットタイミング
ORE,FRE,RDRFは,受信転送が終了し最後のストップビットを検出するときにフラ
グがセットされ,CPUへの割込み要求が発生します。また,受信可能なデータ長は8
ビットのため,最後の9ビット目のアドレス/データを示すデータは無効データとな
ります。ORE,FREがアクティブ時は,SIDRのデータは無効データとなります。
図 14.3-4に,モード1におけるORE,FRE,RDRFのセットタイミングを示します。
図 14.3-4 ORE,FRE,RDRFのセットタイミング(モード1)
■ モード2の受信動作時割込みフラグのセットタイミング
ORE,RDRFは,受信転送が終了し最後のデータ(D7)を検出するときにフラグがセッ
トされ,CPUへの割込み要求が発生します。OREがアクティブ時は,SIDRのデータは無
効データとなります。
図 14.3-5に,モード2におけるORE,RDRFのセットタイミングを示します。
図 14.3-5 ORE,RDRFのセットタイミング(モード2)
269
第14章 UART
■ モード0,モード1,モード2の送信動作時割込みフラグのセットタイミング
TDREはシリアルアウトプットデータスレジスタ(SODR)へ書き込まれるとクリア
され,内部のシフトレジスタに転送されます。その後,次のデータ書込みが可能な状
態になるとセットされ,CPUへの割込み要求が発生します。送信動作中にシリアルコ
ントロールレジスタ(SCR)のTXEに”0”(モード2のときはRXEも含む)を書き込むと,
シリアルステータスレジスタ(SSR)のTDREが”1”となり,送信用のシフタが停止して
からUARTの送信動作を禁止します。送信動作中にシリアルコントロールレジスタ
(SCR)のTXEに”0”(モード2のときはRXEも含む)を書き込んだ後,送信が停止する前
にシリアルアウトプットデータスレジスタ(SODR)へ書き込まれたデータは送信さ
れます。
図 14.3-6にモード0,1におけるTDREのセットタイミングを,図 14.3-7にモード2
におけるTDREのセットタイミングを示します。
図 14.3-6 TDREのセットタイミング(モード0,1)
図 14.3-7 TDREのセットタイミング(モード2)
270
14.4 UARTの使用例
14.4
UARTの使用例
UARTの使用例
UARTの使用上の注意と使用例を示します。
■ 使用上の注意
通信モードの設定は動作停止中に行ってください。モード設定時に送受信した
データは保証されません。同期転送モード(モード2)で使用しているときに,送信
データレジスタ(SODR)への書込みが受信割込みの要求(RDRF=1)に相当するタイミ
ングと一致した場合,通信制御回路が停止する場合がありますので,データ転送が
完全に終わってからSODRに書き込むか,送信開始してからすぐにSODRへの書込みを
するようにしてください。
■ UARTの使用例
モード1は,1台のホストCPUに数台のスレーブCPUが接続されるような場合に使用
されます。
図 14.4-1に,モード1を使用時のシステム構築例を示します。このリソースでは,
ホスト側の通信インタフェースのみサポートしています。
図 14.4-1 モード1を使用時のシステム構築例
通信は,ホストCPUがアドレスデータを転送することによって始まります。アドレ
スデータとは,シリアルコントロールレジスタ(SCR)のA/Dビットが”1”のときの
データで,それにより通信先となるスレーブCPUが選択され,ホストCPUとの通信が
可能になります。
通常データは,シリアルコントロールレジスタ(SCR)のA/Dビットが”0”のときの
データです。
図 14.4-2に,そのフローチャートを示します。
このモードにおいては,パリティチェック機能は使用できませんので,シリアル
コントロールレジスタ(SCR)のPENビットは”0”としてください。
271
第14章 UART
図 14.4-2 モード1を使用時の通信フローチャート
272
14.5 ボーレートとU-TIMERのリロード値の設定例
14.5
ボーレートとU
ボーレートとU-TIMERのリロード値の設定例
TIMERのリロード値の設定例
ボーレートとU-TIMERのリロード値の設定例を示します。
■ ボーレートとU-TIMERのリロード値の設定例
表 14.5-1に,非同期(調歩同期)モードの設定値を,表 14.5-2にCLK同期モードの
設定値を示します。
表中の周波数は,周辺系マシンクロック周波数を表します。また,UCC1は,U-TIMER
のU-TIMERコントロールレジスタ(UTIMC)のUCC1ビットに設定する値です。表中の
「−」部は,誤差が±1%を越えてしまうため使用できないことを示します。
表 14.5-1 非同期(調歩同期)モードの設定値
ボーレート
1200
2400
4800
9600
19200
38400
57600
μs
833.33
416.67
208.33
104.17
52.08
26.04
17.36
10400
31250
62500
96.15
32.00
16.00
25MHz
650 D (UCC1=0)
324 D (UCC1=1)
162 D (UCC1=0)
80 D (UCC1=1)
39 D (UCC1=1)
19 D (UCC1=1)
12 D (UCC1=1)
74
24
11
D
D
D
(UCC1=0)
(UCC1=0)
(UCC1=1)
20MHz
520 D (UCC1=0)
259 D (UCC1=1)
129 D (UCC1=0)
64 D (UCC1=0)
31 D (UCC1=1)
−
−
59 D (UCC1=0)
19 D (UCC1=0)
9 D (UCC1=0)
12.5MHz
324 D (UCC1=1)
162 D (UCC1=0)
80 D (UCC1=1)
39 D (UCC1=1)
19 D (UCC1=1)
12 D (UCC1=1)
−
36
11
D
D
(UCC1=1)
(UCC1=1)
−
10MHz
259 D (UCC1=1)
129 D (UCC1=0)
64 D (UCC1=0)
31 D (UCC1=1)
−
−
−
29 D (UCC1=0)
9 D (UCC1=0)
4 D (UCC1=0)
表 14.5-2 CLK同期モードの設定値
ボーレート
μs
250K
4.00
500K
2.00
1M
1.00
*1:±1%以上の誤差あり
49
24
11
25MHz
(UCC1=0)
D (UCC1=0)
D (UCC1=1)
D
39
19
9
20MHz
(UCC1=0)
D (UCC1=0)
D (UCC1=0)
D
12.5MHz
24 D (UCC1=0)
11 D (UCC1=1)
5 D (UCC1=0)*1
19
9
4
10MHz
(UCC1=0)
D (UCC1=0)
D (UCC1=0)
D
273
第14章 UART
274
第15章
15章 DMAコントローラ
DMAコントローラ
この章では,DMAコントローラの概要,レジスタの構成/機能およびDMAコントローラ
の動作について説明します。
15.1
DMAコントローラの概要
15.2
DMAコントローラのブロックダイヤグラム
15.3
DMAコントローラのレジスタ
15.4
DMAコントローラの転送モード
15.5
DMAコントローラのタイミング図
15.6
DMAコントローラに関する注意事項
275
第15章 DMAコントローラ
15.1
DMAコントローラの概要
DMAコントローラの概要
DMAコントローラは,DMA(Direct Memory Access)転送を行います。
■ DMAコントローラの特長
8チャネル
モード:シングル/ブロック転送,バースト転送,連続転送の3種
アドレス全領域とアドレス全領域の間での転送
最大65536回の転送回数
転送終了時割込み機能
転送アドレス増加/減少をソフトウェアで選択可能
■ DMA転送要求要因一覧表
表 15.1-1に,DMA転送要求要因一覧を示します。
表 15.1-1 DMA転送要求要因一覧
チャネル番号
0
1
2
3
4
5
6
7
276
転送要求要因
なし
なし
なし
PPG ch0
UART ch0 受信
UART ch0 送信
16ビットリロードタイマ ch0
A/Dコンバータ
15.2 DMAコントローラのブロックダイヤグラム
15.2
DMAコントローラのブロックダイヤグラム
DMAコントローラのブロックダイヤグラム
図 15.2-1にDMAコントローラのブロックダイヤグラムを示します。
■ DMAコントローラのブロックダイヤグラム
図 15.2-1 DMAコントローラのブロックダイヤグラム
277
第15章 DMAコントローラ
15.3
DMAコントローラのレジスタ
DMAコントローラのレジスタ
図 15.3-1にDMAコントローラのレジスタ一覧を示します。
■ DMAコントローラのレジスタ一覧
図 15.3-1に,DMAコントローラのレジスタ一覧を示します。
[DMAC内部レジスタ]
[RAM上のDMAディスクリプタ]
図 15.3-1 DMAコントローラのレジスタ一覧
278
15.3 DMAコントローラのレジスタ
15.3.1
DMACパラメータディスクリプタポインタ
DMACパラメータディスクリプタポインタ(DPDP)
パラメータディスクリプタポインタ(DPDP)
DMACパラメータディスクリプタポインタ(DPDP)は,DMACの内部レジスタで,RAM上に
あるDMAC用ディスクリプタテーブルの先頭アドレスを格納します。
DPDPのビット6∼ビット0は常に0で,設定可能なディスクリプタの先頭アドレスは
128バイト単位となります。
■ DMACパラメータディスクリプタポインタ(DPDP)の構成
図 15.3-2に,DMACパラメータディスクリプタポインタ(DPDP)のビット構成を示
します。
図 15.3-2 DMACパラメータディスクリプタポインタ(DPDP)のビット構成
リセット時は,初期化されません。読出し/書込み可能です。
このレジスタへのアクセスには,32ビット転送命令を使用してください。
各チャネルの動作モードを指定するディスクリプタは,DPDPで指定される表
15.3-1に示すアドレスに置かれます。
表 15.3-1 各チャネルのディスクリプタアドレス
DMAチャネル
0
1
2
3
ディスクリプタアドレス
DPDP + 0 (00H)
DPDP + 12 (0CH)
DPDP + 24 (18H)
DPDP + 36 (24H)
DMAチャネル
4
5
6
7
ディスクリプタアドレス
DPDP + 48 (30H)
DPDP + 60 (3CH)
DPDP + 72 (48H)
DPDP + 84 (54H)
279
第15章 DMAコントローラ
15.3.2
DMACコントロールステータスレジスタ
DMACコントロールステータスレジスタ(DACSR)
コントロールステータスレジスタ(DACSR)
DMACコントロールステータスレジスタ(DACSR)は,DMACの内部レジスタで,DMAC全体
に関する制御,ステータスを示します。
■ DMACコントロールステータスレジスタ(DACSR)のビット構成
図 15.3-3に,DMACコントロールステータスレジスタ(DACSR)のビット構成を示し
ます。
図 15.3-3 DMACコントロールステータスレジスタ(DACSR)のビット構成
■ DMACコントロールステータスレジスタ(DACSR)のビット詳細
以下に,DMACコントロールステータスレジスタ(DACSR)の各ビットの機能を説明
します。
【ビット31,27,23,19,15,11,7,3】 DERn(DMA ERror)
これらのビットは,チャネルnのDMA要求発生元にエラーが発生して,DMA転送
処理を中断したことを示します。
DER
0
1
機能
エラーはありません。
エラーが発生しました。
エラーが発生するか否かは,DMA要求発生元(リソース)により異なります。
エラーが発生しないDMA要求発生元もあります。
リセット時は,”0”に初期化されます。
読出し/書込み可能ですが,これらのビットへの書込みは,”0”のみ有効です。
リードモディファイライト系の命令による読出し値は,”1”が読み出されます。
280
15.3 DMAコントローラのレジスタ
【ビット30,26,22,18,14,10,6,2】 DEDn(DMA EnD)
これらのビットは,チャネルnのDMA転送が終了したことを示します。
DED
0
1
機能
DMA転送動作は終了していません。
カウンタが0になったまたは転送要求発生
元でエラーが発生したことを示します。
リセット時は,”0”に初期化されます。
読出し/書込み可能ですが,これらのビットへの書込みは,”0”のみ有効です。
リードモディファイライト系の命令による読出し時は,”1”が読み出されます。
【ビット29,25,21,17,13,9,5,1】 DIEn(DMA Interrupt Enable)
これらのビットは,チャネルnのDMA転送終了時(DEDnが1になったとき)に割込
み要求を発生させるか否かを指定します。
DIE
0
1
機能
割込み禁止
割込み許可
リセット時は,”0”に初期化されます。読出し/書込み可能です。
【ビット28,24,20,16,12,8,4,0】 DOEn(DMA Operation Enable)
これらのビットは,チャネルnのDMA転送動作を許可します。
DOE
0
1
機能
動作禁止
動作許可
該当するチャネルのDMA転送が完了すると(DEDnが1になると),DOEnは0にクリ
アされます。
転送の完了によるクリア動作と,バスからの書込みによるセット動作が同時
に行われた場合は,セット動作が優先されます。
リセット時は,”0”に初期化されます。読出し/書込み可能です。
281
第15章 DMAコントローラ
15.3.3
DMAC端子コントロールレジスタ
DMAC端子コントロールレジスタ(DATCR)
端子コントロールレジスタ(DATCR)
DMAC端子コントロールレジスタ(DATCR)は,DMACの内部レジスタで外部転送要求入
力端子,外部転送要求受付出力端子,外部転送終了出力端子に関する制御を行います。
■ DMAC端子コントロールレジスタ(DATCR)のビット構成
図 15.3-4に,DMAC端子コントロールレジスタ(DATCR)のビット構成を示します。
図 15.3-4 DMAC端子コントロールレジスタ(DATCR)のビット構成
■ DMAC端子コントロールレジスタ(DATCR)のビット詳細
以下に,DMAC端子コントロールレジスタ(DATCR)の各ビットの機能を説明します。
【ビット21,20,13,12,5,4】 LSn1,LSn0:転送要求入力検出レベル選択
これらのビットは,該当する外部転送要求入力端子DREQnの検出レベルを表
15.3-2のように選択します。
表 15.3-2 転送要求入力検出レベル
LSn1
LSn0
動作制御機能
0
0
立上がりエッジ検出
0
1
立下がりエッジ検出
“H”レベル検出
1
0
1
1
“L”レベル検出
リセット時は,不定です。読出し/書込み可能です。
連続転送モードを使用するときは,”H”レベル検出または”L”レベル検出を
設定してください。
282
15.3 DMAコントローラのレジスタ
【ビット19,11,3】 AKSEn
【ビット18,10,2】 AKDEn
これらのビットは,転送要求受付出力信号を発生するタイミングを指定しま
す。また,転送要求受付出力信号の端子からの出力機能の許可/禁止も指定しま
す。表 15.3-3に,転送要求受付出力の指定を示します。
表 15.3-3 転送要求受付出力の指定
AKSEn
0
0
1
AKDEn
0
1
0
1
1
動作制御機能
転送受付出力禁止
転送受付出力許可,転送先データアクセス時に出力
転送受付出力許可,転送元データアクセス時に出力
転送受付出力許可
転送元および転送先データアクセス時に出力
リセット時は,”00”に初期化されます。読出し/書込み可能です。
【ビット17,9,1】 EPSEn
【ビット16,8,0】 EPDEn
これらのビットは,転送終了出力信号を発生するタイミングを指定します。ま
た,転送終了出力信号の端子からの出力機能の許可/禁止も指定します。
表 15.3-4に,転送終了出力の指定を示します。
表 15.3-4 転送終了出力の指定
EPSEn
0
0
1
EPDEn
0
1
0
1
1
動作制御機能
転送終了出力禁止
転送終了出力許可,転送先データアクセス時に出力
転送終了出力許可,転送元データアクセス時に出力
転送終了出力許可
転送元および転送先データアクセス時に出力
リセット時は,”00”に初期化されます。読出し/書込み可能です。
283
第15章 DMAコントローラ
15.3.4
RAM上のディスクリプタ内レジスタ
RAM上のディスクリプタ内レジスタ
DMA転送における,チャネルごとの設定情報を格納します。チャネル当たり12バイト
の大きさを持ち,DPDPにより示されるアドレスのメモリが使用されます。
チャネルごとのディスクリプタの先頭アドレスは,「表 15.3-1 各チャネルのディ
スクリプタアドレス」を参照してください。
■ ディスクリプタ先頭ワードの構成
図 15.3-5に,ディスクリプタ先頭ワードのビット構成を示します。
図 15.3-5 ディスクリプタ先頭ワードのビット構成
以下に,ディスクリプタ先頭ワードの各ビットの機能を説明します。
【ビット31∼16】 DMACT:転送回数指定
これらのビットは,DMA転送を行う回数を指定します。0000Hを設定すると,
65536回の転送を行います。1回転送を行うたびに,値が1ずつ減少します。
【ビット15∼12】 空き
【ビット11∼8】 BLK:ブロックサイズ指定
シングル/ブロック転送モードにおける,転送ブロックサイズを指定します。
“0”を設定すると,ブロックサイズとしては16が指定されたことになります。シ
ングル転送を行うときは,”1”を指定してください。
【ビット7,6】 SCS1,SCS0:転送元アドレス更新モード指定
284
15.3 DMAコントローラのレジスタ
【ビット5,4】 DCS1,DCS0:転送先アドレス更新モード指定
これらのビットは,転送元および転送先アドレスの1転送ごとの更新モードを
指定します。表 15.3-5の組合せの指定が可能です。
表 15.3-5 転送元/転送先アドレス更新モードの指定
SCS1
0
0
0
0
0
0
1
1
1
SCS0
DCS1
0
0
0
0
0
1
1
0
1
0
1
1
0
0
0
0
0
1
その他
DCS0
0
1
0
0
1
0
0
1
0
転送元アドレス
転送先アドレス
アドレス増加
アドレス増加
アドレス増加
アドレス減少
アドレス増加
アドレス固定
アドレス減少
アドレス増加
アドレス減少
アドレス減少
アドレス減少
アドレス固定
アドレス固定
アドレス増加
アドレス固定
アドレス減少
アドレス固定
アドレス固定
設定禁止
アドレスを更新するモードにおける増減の単位は,転送データサイズの指定
に応じて,表 15.3-6のようになります。
表 15.3-6 アドレス増減の単位
転送データサイズ
バイト(8ビット)
ハーフワード(16ビット)
ワード(32ビット)
アドレス増減の単位
±1バイト
±2バイト
±4バイト
【ビット3,2】 WS1,WS0
これらのビットは,転送データサイズを指定します。
表 15.3-7に,転送データサイズの指定を示します。
表 15.3-7 転送データサイズの指定
WS1
0
0
1
1
WS0
0
1
0
1
転送データサイズ
バイト
ハーフワード
ワード
設定禁止
【ビット1,0】 MOD1,MOD0:転送モード指定
これらのビットは,転送モードを指定します
表 15.3-8に,転送モードの指定を示します。
表 15.3-8 転送モードの指定
MOD1
0
0
1
1
MOD0
0
1
0
1
動作モード
シングル/ブロックモード
バーストモード
連続転送モード
設定禁止
連続転送モードが使用できるのは,ch0∼ch2だけです。
285
第15章 DMAコントローラ
■ ディスクリプタ第2ワードの構成
図 15.3-6に,ディスクリプタ第2ワードのビット構成を示します。
図 15.3-6 ディスクリプタ第2ワードのビット構成
転送元アドレスを格納します。
アドレス更新モードの指定(SCS1,SCS0ビット)に基づき,転送動作に応じて値が
更新されます。
転送データサイズがハーフワード長のときは2の倍数のアドレスを,ワード長の
ときは4の倍数のアドレスを指定してください。
■ ディスクリプタ第3ワードの構成
図 15.3-7に,ディスクリプタ第3ワードのビット構成を示します。
図 15.3-7 ディスクリプタ第3ワードのビット構成
転送先アドレスを格納します。
アドレス更新モードの指定(DCS1,DCS0ビット)に基づき,転送動作に応じて値が
更新されます。
転送データサイズがハーフワード長のときは2の倍数のアドレスを,ワード長の
ときは4の倍数のアドレスを指定してください。
286
15.4 DMAコントローラの転送モード
15.4
DMAコントローラの転送モード
DMAコントローラの転送モード
DMAコントローラには,次の三つの転送モードがあり,動作手順は以下のとおりです。
・シングル/ブロック転送モード
・連続転送モード
・バースト転送モード
■ シングル/ブロック転送モード
1)
初期化ルーチンでディスクリプタの設定を行います。
2)
プログラムにより,DMA転送要求発生元の初期化を行います。内部周辺回路
を転送要求発生元とする場合は,割込み要求を許可にします。同時に,割込
みコントローラのICRは割込み禁止にします。
3)
プログラムにより,所望するDACSRのDOEnビットに”1”を書き込みます。
---この時点でDMAに関する設定は完了---
4)
DMACがDMA転送要求入力を検出すると,CPUにバス権確保を要求します。
5)
CPUがバス権を移譲すると,DMACはディスクリプタにある3ワードの情報を
バスを経由してアクセスします。
6)
DMACTの減算を行い,ディスクリプタ内の情報に従った転送をBLKで指定さ
れた回数またはDMACTが”0”になるまで行います。データの転送中,転送要
求受付出力信号を出力します(外部転送要求入力使用の場合)。
減算したDMACTが”0”になったとき,データ転送中に転送終了出力信号を出
力する。
7)
転送要求入力をクリアする。
8)
SADRまたはDADRの増加減を行い,DMACTの値とともにディスクリプタに書
き戻します。
9)
CPUにバス権を返します。
10) DMACTの値が”0”であった場合,DACSRのDEDnを”1”にするとともに割込み許
可になっていればCPUに割込みをかけます。
1回あたりの最低所要サイクル数は,ディスクリプタを内蔵RAMに格納し,データ
を外部バス間で転送,データ長がバイトの場合,以下のようになります。
転送元/転送先アドレスともに固定のとき:(6+5×BLK)サイクル
転送元/転送先アドレスの一方のみ固定のとき:(7+5×BLK)サイクル
転送元/転送先アドレスの両方が増加または減少のとき:(8+5×BLK)サイ
クル
287
第15章 DMAコントローラ
■ 連続転送モード
1)
初期化ルーチンでディスクリプタの設定を行います。
2)
プログラムにより,DMA転送要求発生元の初期化を行います。外部転送要求
入力端子を,HまたはLレベル検出に設定します。
3)
プログラムにより,所望するDACSRのDOEnビットに1を書き込みます。
---この時点でDMAに関する設定は完了---
4)
DMACがDMA転送要求入力を検出すると,CPUにバス権確保を要求します。
5)
CPUがバス権を移譲すると,DMACはディスクリプタにある3ワードの情報を
バスを経由してアクセスします。
6) DMACTの減算を行い,ディスクリプタ内の情報に従った転送を1回行います。
データの転送中,転送要求受付出力信号を出力します。減算したDMACT
が”0”になったとき,データ転送中に転送終了出力信号を出力します。
7)
DMACTの値が”0”ではなく,周辺からのDMA要求がまだ存在すれば,ふたたび
6)から繰り返します(バスの状態によっては8)を経由します)。
8)
DMACTの値が”0”であるか,周辺からのDMA要求が解除されたならば,SADRま
たはDADRに増加減を行い,DMACTの値とともにディスクリプタに書き戻し
ます。
9)
CPUにバス権を返します。
カウンタの値が”0”であった場合,DACSRのDEDnを”1”にするとともに割込み許可
になっていれば,CPUに割込みをかけます。
1回あたりの最低所要サイクル数は,ディスクリプタを内蔵RAMに格納し,データ
を外部バス間で転送,データ長がバイトの場合,以下のようになります。
転送元/転送先アドレスともに固定のとき:(6+5×n)サイクル
転送元/転送先アドレスの一方のみ固定のとき:(7+5×n)サイクル
転送元/転送先アドレスの両方が増加または減少のとき:(8+5×n)サイク
ル
288
15.4 DMAコントローラの転送モード
■ バースト転送モード
1)
初期化ルーチンでディスクリプタの設定を行います。
2)
プログラムにより,DMA転送要求発生もとの初期化を行います。内部周辺回
路を転送要求元とする場合は,割込み要求を許可にします。同時に,割込み
コントローラのICRは割込み禁止にします。
3)
プログラムにより,所望するDACSRのDOEnビットに”1”を書き込みます。
---この時点でDMAに関する設定は完了---
4)
DMACがDMA転送要求入力を検出すると,CPUにバス権確保を要求する。
5)
CPUがバス権を移譲すると,DMACはディスクリプタにある3ワードの情報を
バスを経由してアクセスします。
6)
DMACTの減算を行いながら,ディスクリプタ内の情報に従った転送をDMACT
で設定した回数だけ行います。データの転送中,転送要求受付出力信号を
出力します(外部転送要求入力使用の場合)。減算したDMACTが”0”になった
とき,データ転送中に転送終了出力信号を出力します。
7)
SADRまたはDADRの増加減を行い,DMACTの値とともにディスクリプタに書
き戻します。
8)
CPUにバス権を返します
9)
DACSRのDEDnを”1”にするとともに割込み許可になっていれば,CPUに割込
みをかけます。
1回あたりの最低所要サイクル数は,ディスクリプタを内蔵RAMに格納し,データ
を外部バス間で転送,データ長がバイトの場合は以下のようになります。
転送元/転送先アドレスともに固定のとき:(6+5×n)サイクル
転送元/転送先アドレスの一方のみ固定のとき:(7+5×n)サイクル
転送元/転送先アドレスの両方が増加または減少のとき:(8+5×n)サイク
ル
289
第15章 DMAコントローラ
15.5
DMAコントローラのタイミング図
DMAコントローラのタイミング図
DMAコントローラの動作タイミング図を示します。
・ディスクリプタアクセス部のタイミング図
・データ転送部のタイミング図
・連続転送モードでの転送停止タイミング図
・転送の終了動作タイミング図
■ タイミング図で使用している記号の説明
表 15.5-1に,タイミング図で使用している記号の説明を示します。
表 15.5-1 タイミング図中の記号説明
記号
#0
#0H
#0L
#1
#1H
#1L
#2
#2H
#2L
#1/2
#1/2H
#1/2L
S
SH
SL
D
DH
DL
290
記号の意味
ディスクリプタNo.0
ディスクリプタNo.0のビット31∼ビット16
ディスクリプタNo.0のビット15∼ビット0
ディスクリプタNo.1
ディスクリプタNo.1のビット31∼ビット16
ディスクリプタNo.1のビット15∼ビット0
ディスクリプタNo.2
ディスクリプタNo.2のビット31∼ビット16
ディスクリプタNo.2のビット15∼ビット0
ディスクリプタNo.1またはNo.2
(SCS1,SCS0,DCS1,DCS0により決まります)
ディスクリプタNo.1またはNo.2のビット31∼ビット16
ディスクリプタNo.1またはNo.2のビット15∼ビット0
転送元
転送元のビット31∼ビット16
転送元のビット15∼ビット0
転送先
転送先のビット31∼ビット16
転送先のビット15∼ビット0
15.5 DMAコントローラのタイミング図
15.5.1
ディスクリプタアクセス部のタイミング図
ディスクリプタアクセス部のタイミング図を示します。
■ ディスクリプタアクセス部
○
要求端子入力モード:レベル,ディスクリプタアドレス:外部
図 15.5-1 ディスクリプタアクセス部のタイミング図1
○
要求端子入力モード:レベル,ディスクリプタアドレス:内部
図 15.5-2 ディスクリプタアクセス部のタイミング図2
○
要求端子入力モード:エッジ,ディスクリプタアドレス:外部
図 15.5-3 ディスクリプタアクセス部のタイミング図3
291
第15章 DMAコントローラ
○
要求入力モード:エッジ,ディスクリプタアドレス:内部
図 15.5-4 ディスクリプタアクセス部のタイミング図4
<注意事項>
DREQnの発生からDMAC動作開始までの部分については,最も早い条件の場合を示してあります。
実際の動作では,CPUの命令フェッチやデータアクセスによるバスの競合があるため,DMACの動作
開始が遅れる場合があります。
292
15.5 DMAコントローラのタイミング図
15.5.2
データ転送部のタイミング図
データ転送部のタイミング図を示します。
■ データ転送部,16/8ビットデータ
○
転送元領域:外部,転送先領域:外部
図 15.5-5 データ転送部のタイミング図1
○
転送元領域:外部,転送先領域:内部RAM
図 15.5-6 データ転送部のタイミング図2
○
転送元領域:内部RAM,転送先領域:外部
図 15.5-7 データ転送部のタイミング図3
293
第15章 DMAコントローラ
15.5.3
連続転送モードでの転送停止タイミング図
連続転送モードでの転送停止タイミング図を示します。
■ 連続転送モードでの転送停止(いずれか一方のアドレスは固定である場合)
16/8ビットデータ
○
転送元領域:外部,転送先領域:外部
図 15.5-8 連続転送モードでの転送停止タイミング図1
○
転送元領域:外部,転送先領域:内部RAM
図 15.5-9 連続転送モードでの転送停止タイミング図2
○
転送元領域:内部RAM,転送先領域:外部
図 15.5-10 連続転送モードでの転送停止タイミング図3
294
15.5 DMAコントローラのタイミング図
■ 連続転送モードでの転送停止(両方のアドレスが変化する場合)16/8ビットデータ
○
転送元領域:外部,転送先領域:外部
図 15.5-11 連続転送モードでの転送停止タイミング図4
○
転送元領域:外部,転送先領域:内部RAM
図 15.5-12 連続転送モードでの転送停止タイミング図5
○
転送元領域:内部RAM,転送先領域:外部
図 15.5-13 連続転送モードでの転送停止タイミング図6
295
第15章 DMAコントローラ
15.5.4
転送の終了動作タイミング図
転送の終了動作タイミング図を示します。
■ 転送の終了動作(いずれか一方のアドレスは固定である場合)
○
バス幅:16ビット,データ長:8/16ビット
図 15.5-14 転送の終了動作タイミング図1
○
バス幅:16ビット,データ長:32ビット
図 15.5-15 転送の終了動作タイミング図2
296
15.5 DMAコントローラのタイミング図
■ 転送の終了動作(両方のアドレスが変化する場合)
○
バス幅:16ビット,データ長:8/16ビット
図 15.5-16 転送の終了動作タイミング図3
○
バス幅:16ビット,データ長:32ビット
図 15.5-17 転送の終了動作タイミング図4
297
第15章 DMAコントローラ
15.6
DMAコントローラに関する注意事項
DMAコントローラに関する注意事項
DMAコントローラを使用する上での注意事項について説明します。
■ チャネル間優先順位
このDMAコントローラは,一つのチャネルのDMA転送要求により一度起動されると,
ほかのチャネルのDMA転送要求が発生しても実行中の転送が終了するまでほかの
チャネルの転送要求は受理されず,保留されます。
DMAコントローラがDMA転送要求を検出するときに,複数のチャネルの要求が同時
にアクティブになっていた場合,受理するチャネルは以下の優先度に従って決まり
ます。
(強) ch0 > ch1 > ch2 > ch3 > ch4 > ch5 > ch6 > ch7 (弱)
複数のチャネルの要求が同時に発生した場合,一つのチャネルのDMA転送を実行
した後,次のチャネルのDMA転送を行う前に,一度CPUにバスの制御が戻ります。
■ リソースの割込み要求をDMA転送要求として使用する場合
DMAコントローラ転送を望む場合,該当する割込みの割込みコントローラ内の割
込みレベルは割込み禁止にする必要があります。
また,逆に割込み発生を望む場合,DMAコントローラ内のDMAコントローラ動作許
可ビットを禁止状態にし,割込みレベルを適切な値にする必要があります。
■ 優先度の高い割込み発生時のDMA転送禁止
DMA転送要求の発生によるDMA転送の実行中に,より優先度の高い割込み要求が発
生した場合,DMA転送を停止させる機能があります。
○
ホールドリクエスト取下げ要求レベル設定レジスタ(HRCL)
割込みコントローラのホールドリクエスト取下げ要求レベル設定レジスタ
(HRCL)を操作することにより,割込み要求の発生時に,DMA転送動作を停止させ
ることができます。
周辺回路からの割込み要求が発生したときに,その割込み要求に設定された
割込みレベルが,HRCLに設定された割込みレベルよりも強い値であった場合,
DMACのDMA転送動作が抑止されます。DMA転送動作の実行中であれば,転送動作の
切れ目で動作を中止し,バス権をCPUに開放します。DMA転送要求の発生待ちの状
態であれば,DMA転送要求が発生しても保留する状態になります。
リセット後,HRCLは最も弱いレベル(31)に設定されるので,すべての割込み要
求に対してDMA転送動作は抑止されることになります。割込み要求が発生してい
ていもDMA転送を動作させたいときは,ホールドリクエスト取下げ要求レベル設
定レジスタ(HRCL)を必要な値に設定してください。
298
15.6 DMAコントローラに関する注意事項
○
DMA要求抑止レジスタ(PDRR)
ホールドリクエスト取下げ要求レベル設定レジスタ(HRCL)の指定によるDMA
転送動作の抑止機能は,より高い優先度の割込み要求がアクティブなときのみ
有効です。そのため,たとえば割込みハンドラのプログラム中で割込み要求をク
リアすると,その時点でホールドリクエスト取下げ要求レベル設定レジスタ
(HRCL)によるDMA転送の抑止は解除され,CPUがバス権を失ってしまう場合があ
ります。
ほかの割込み要求を受理できるように割込み要求はクリアして,かつDMA転送
動作は抑止するために,クロック制御部のDMA要求抑止レジスタ(PDRR)が用意さ
れています。
割込みハンドラ中でPDRRに”0”以外の値を書き込むと,DMA転送動作は抑止され
ます。DMA転送動作の抑止を解除したいとき,PDRRに”0”を書き込んでください。
■ スリープモード中のDMA転送動作
スリープモード中のDMA転送動作は使用できません。スリープモードにする前に
必ずDMA転送動作を動作禁止に設定してください。
■ DMAコントローラ内部レジスタへの転送動作
転送先アドレスとして,DMACの内部レジスタは指定しないでください。
■ 連続転送について
連続転送モードでは,デバイスの内部バスバッファの状態によっては,転送中で
あってもディスクリプタの書き戻しが発生する場合があります。その場合でも転送
動作そのものは終了することはなく,再び継続して行われます。
■ 内部メモリを外部転送する動作
ブロック転送モード時に,1回のDREQに対して,2回DMA転送を行ってしまいます。
また,連続転送モード時には,DREQを落としても1回余分にDMA転送をしてしまい
ます。以下のいずれかを選択して対応してください。
DREQをエッジ検出モードで使用する(ブロックモード時のみ有効)。
転送先アドレスを外部領域に設定し,DACKを転送先にアクセス時に発生
させるようにする。
転送元/転送先アドレスともに固定の場合を除き,ディスクリプタを外部
メモリに設定する。
299
第15章 DMAコントローラ
300
第16章
16章 ビットサーチモジュール
この章では,ビットサーチモジュールの概要,レジスタ構成/機能およびビットサー
チモジュールの動作,退避/復帰処理について説明します。
16.1
ビットサーチモジュールの概要
16.2
ビットサーチモジュールのレジスタ
16.3
ビットサーチモジュールの動作と退避/復帰処理
301
第16章 ビットサーチモジュール
16.1
ビットサーチモジュールの概要
入力レジスタに書き込まれたデータに対して,0,1または変化点を検索し,検出した
ビット位置を返します。
■ ブロックダイヤグラム
図 16.1-1に,ビットサーチモジュールのブロックダイヤグラムを示します。
図 16.1-1 ビットサーチモジュールのブロックダイヤグラム
302
16.2 ビットサーチモジュールのレジスタ
16.2
ビットサーチモジュールのレジスタ
ビットサーチモジュールのレジスタには以下の四つがあります。
・0検出用データレジスタ(BSD0)
・1検出用データレジスタ(BSD1)
・変化点検出用データレジスタ(BSDC)
・検出結果レジスタ(BSRR)
■ ビットサーチモジュールのレジスタ一覧
図 16.2-1 ビットサーチモジュールのレジスタ一覧
■ 0検出用データレジスタ(BSD0)
図 16.2-2に,0検出用データレジスタ(BSD0)のレジスタ構成を示します。
図 16.2-2 0検出用データレジスタ(BSD0)のレジスタ構成
書き込んだ値に対して,0検出を行います。リセットによる初期値は不定です。
読出し値は不定です。データ転送には,32ビット長のデータ転送命令を使用して
ください。8ビット長,16ビット長のデータ転送命令は,使わないでください。
303
第16章 ビットサーチモジュール
■ 1検出用データレジスタ(BSD1)
図 16.2-3に,1検出用データレジスタ(BSD1)のレジスタ構成を示します。
図 16.2-3 1検出用データレジスタ(BSD1)のレジスタ構成
データ転送には,32ビット長のデータ転送命令を使用してください。8ビット
長,16ビット長のデータ転送命令は,使わないでください。
○
書込み時
書き込んだ値に対して,”1”を検出します。
○
読出し時
ビットサーチモジュールの内部状態の退避用データが読み出されます。割込
みハンドラ等がビットサーチモジュールを使用する場合に,元の状態を退避復
帰するときに使用します。
0検出,変化点検出,データレジスタにデータを書き込んだ場合でも,1検出用
データレジスタのみ操作することで退避復帰できます。
リセットによる初期値は不定です。
■ 変化点検出用データレジスタ(BSDC)
図 16.2-4に,変化点検出用データレジスタ(BSDC)のレジスタ構成を示します。
図 16.2-4 変化点検出用データレジスタ(BSDC)のレジスタ構成
書き込んだ値に対して,変化点の検出を行います。リセットによる初期値は不定
です。
読出し値は不定です。データ転送には,32ビット長のデータ転送命令を使用して
ください。8ビット長,16ビット長のデータ転送命令は,使わないでください。
■ 検出結果レジスタ(BSRR)
図 16.2-5に,検出結果レジスタ(BSRR)のレジスタ構成を示します。
図 16.2-5 検出結果レジスタ(BSRR)のレジスタ構成
0検出,1検出または変化点検出の結果が読み出されます。どの検出結果が読み出
されるかは,最後に書き込んだデータレジスタによって決定されます。
304
16.3 ビットサーチモジュールの動作と退避/復帰処理
16.3
ビットサーチモジュールの動作と退避/
ビットサーチモジュールの動作と退避/復帰処理
ビットサーチモジュールの0検出,1検出および変化点検出の動作と退避/復帰処理
について説明します。
■ 0検出
0検出用データレジスタに書き込まれたデータをMSBからLSBへスキャンし,最初
の”0”を検出した位置を返します。検出結果は,検出結果レジスタを読み出すことで
得られます。
表 16.3-1に,検出した位置と返す数値の関係を示します。
”0”が存在しないとき,(すなわちFFFFFFFFHという数値のとき,)32という値をサー
チ結果として返します。
【実行例】
書込みデータ
11111111
11111000
10000000
11111111
11111111
01001001
00000010
11111111
11110000
11100000
10101010
11111111
読出し値(10進)
00000000B
10101010B
10101010B
11111111B
(FFFFF000H)
(F849E0AAH)
(8002AAAAH)
(FFFFFFFFH)
→
→
→
→
20
5
1
32
■ 1検出
1検出用データレジスタに書き込まれたデータをMSBからLSBへスキャンし,最初
の”1”を検出した位置を返します。検出結果は,検出結果レジスタを読み出すことで
得られます。
表 16.3-1に,検出した位置と返す値との関係を示します。
”1”が存在しないとき,(すなわち00000000Hという数値のとき,)32という値をサー
チ結果として返します。
【実行例】
書込みデータ
00100000
00000001
00000000
00000000
00000000
00000000
00100011
00000011
00000000
00000000
00000000
01000101
11111111
00000000
00000000
読出し値(10進)
00000000B
01100111B
11111111B
00000001B
00000000B
(20000000H)
(01234567H)
(0003FFFFH)
(00000001H)
(00000000H)
→
→
→
→
→
2
7
14
31
32
305
第16章 ビットサーチモジュール
■ 変化点検出
変化点検出用データレジスタに書き込まれたデータを,ビット30からLSBへス
キャンし,MSBの値と比較します。最初にMSBと異なる値を検出した位置を返します。
検出結果は,検出結果レジスタを読み出すことで得られます。
表 16.3-1に,検出した位置と返す値を示します。
変化点が存在しないときは,32を返します。変化点検出では,結果として0を返す
ことはありません。
【実行例】
書込みデータ
00100000
00000001
00000000
00000000
00000000
11111111
11111000
10000000
11111111
00000000
00100011
00000011
00000000
00000000
11111111
01001001
00000010
11111111
00000000
01000101
11111111
00000000
00000000
11110000
11100000
10101010
11111111
読出し値(10進)
00000000B
01100111B
11111111B
00000001B
00000000B
00000000B
10101010B
10101010B
11111111B
(20000000H)
(01234567H)
(0003FFFFH)
(00000001H)
(00000000H)
(FFFFF000H)
(F849E0AAH)
(8002AAAAH)
(FFFFFFFFH)
→
→
→
→
→
→
→
→
→
2
7
14
31
32
20
5
1
32
表 16.3-1 ビット位置と返す値(10進)
検出した
ビット位置
31
30
29
28
27
26
25
24
返す値
0
1
2
3
4
5
6
7
検出した
ビット位置
23
22
21
20
19
18
17
16
返す値
8
9
10
11
12
13
14
15
検出した
ビット位置
15
14
13
12
11
10
9
8
返す値
16
17
18
19
20
21
22
23
検出した
ビット位置
7
6
5
4
3
2
1
0
存在しない
返す値
24
25
26
27
28
29
30
31
32
■ 退避/復帰の処理
割込みハンドラ中で,ビットサーチモジュールを使う場合のように,ビットサー
チモジュールの内部状態を退避/復帰させる必要がある場合は,以下の手順に従っ
てください。
1)
1検出用データレジスタを読出し,この内容を保存する(退避)
2)
ビットサーチモジュールを使用
3)
1)で退避したデータを1検出用データレジスタに書き込む(復帰)
以上の操作により,次に検出結果レジスタを読み出した時に得られる値は,1)以
前に,ビットサーチモジュールに書き込まれた内容に応じたものとなります。
最後に書き込まれたデータレジスタが0検出用または変化点検出用であっても,
上記手順で正しく元に戻ります。
306
第17章
17章 フラッシュメモリ
この章では,フラッシュメモリの概要,レジスタの構成/機能および動作について説
明します。
17.1
フラッシュメモリの概要
17.2
フラッシュメモリのレジスタ
17.3
フラッシュメモリのアクセスモード
17.4
自動アルゴリズム起動方法
17.5
自動アルゴリズム実行状態
17.6
セクタプロテクトオペレーション
307
第17章 フラッシュメモリ
17.1
フラッシュメモリの概要
MB91F127およびMB91F128には,それぞれ256Kバイト(2Mビット)および510Kバイト
(4Mビット)の容量で,+3V単一電源による全セクタ一括消去およびセクタ単位での消
去が可能で,FR-CPUによるハーフワード(16ビット)単位での書込みが可能なフラッ
シュメモリを内蔵しています。
■ フラッシュメモリの概要
こ の フ ラ ッ シ ュ メ モ リ は, 内 蔵 の 3V 動 作 256K バ イト (MB91F127)/510K バイ ト
(MB91F128)フラッシュメモリです。
当社製4Mビット(510K×8/254K×16)フラッシュメモリMBM29LV400TCと(一部セク
タ構成を除いて)同じものであり,ROMライタによるデバイス外部からの書込みも可
能です。
また,MBM29LV400TC相当の機能に加え,FR-CPUの内蔵ROMとして使用する場合には,
ワード(32ビット)単位での命令/データ読出しが可能であり,デバイスの高速動作
を実現できます。
本書と併せてMBM29LV400TCデータシートもご参照ください。
フラッシュメモリマクロとFR-CPUインタフェース回路の組合せにより,以下の機
能を実現します。
CPUのプログラム/データ格納用メモリとして機能
-
ROMとして使用する際は32ビットバス幅でアクセス可能
-
CPUによる読出し/書込み/消去(自動プログラムアルゴリズム*1)が可能
単体フラッシュメモリ製品のMBM29LV400TC相当の機能
-
ROMライタによる読出し/書込み/消去(自動プログラムアルゴリズム*1)
が可能
*1:自動プログラムアルゴリズム= Embedded Algorithm TM
ここでは,FR-CPUからこのフラッシュメモリを使用する場合について解説してい
ます。
ROMライタからこのフラッシュメモリを使用する場合の詳細につきましては,別
途ROMライタの取り扱い説明書を参照ください。
■ 自動アルゴリズム実行状態
CPUプログラミングモードにて自動アルゴリズムを起動した場合には,内部レ
ディ/ビジー信号(RDY/BUSYX)により自動アルゴリズムの動作状態を知ることがで
きます。このレディ/ビジー信号のレベルは,フラッシュメモリステータスレジスタ
の”RDY”ビットとして読むことができます。
”RDY”ビットが”0”の期間は,自動アルゴリズムによる書込みまたは消去が行われ
ており,新たな書込みまたは消去コマンドを受け付けることはできません。また,
フラッシュメモリアドレスからのデータ読み出しはできません。”RDY”ビットが”0”
の期間に読み出したデータはフラッシュメモリのステータスを示すハードウェア
シーケンスフラグとなっています(「17.4 自動アルゴリズム起動方法」を参照し
てください)。
308
17.1 フラッシュメモリの概要
■ 割込み制御
自動アルゴリズムのシーケンス終了により,CPUに対し割込み要求を発生するこ
とができます。これにより,長時間にわたる自動アルゴリズムシーケンスの終了を
即座に知ることが可能です。
自動アルゴリズム終了割込みは,フラッシュメモリステータスレジスタ
の”RDYINT”ビットと”INTE”ビットにより制御されます。
“RDYINT”ビットは自動アルゴリズム終了割込みフラグです。内部レディ/ビジー
信 号 (RDY/BUSYX) の ”0” か ら ”1” の 立 上 が り を 検 出 す る と ,”1” に セ ッ ト さ れ ま
す。”INTE”ビットが”1”のとき,”RDYINT”ビットがセットされるとCPUに対して割込み
要求が出力されます。
割込み要求をキャンセルするには”RDYINT”ビットまたは”INTE”ビットに”0”を書き
込んでください。
■ ROMライタによる書込み
このフラッシュメモリは,ROMライタを用いてデバイス外部より書込みを行うこ
とができます。この状態では,単体フラッシュメモリ製品のMBM29LV400TC相当の端
子機能がデバイス外部端子に割り当てられ,FR-CPUは動作を停止します。CPUモード
とはアドレス線の接続が変更され,メモリ領域内のマッピングが変化します。詳細
については『対応ROMライタの仕様書』を参照してください。
■ フラッシュメモリのブロックダイヤグラム
図 17.1-1 フラッシュメモリのブロックダイヤグラム
309
第17章 フラッシュメモリ
■ フラッシュメモリのセクタ構成(MB91F127)
フラッシュメモリのアドレスマッピングは,FR-CPUからのアクセス時とROMライ
タでのアクセス時とでは異なります。図 17.1-2と表 17.1-1にFR-CPUからのアクセ
ス時におけるマッピングを,図 17.1-3にROMライタからのアクセス時におけるマッ
ピングを示します。
○
FR-CPUからのアクセス時におけるマッピング
図 17.1-2 FR-CPUからのアクセス時におけるマッピング(MB91F127)
表 17.1-1 セクタアドレス一覧(MB91F127)
セクタ
アドレス
SA9
SA10
SA11
SA12
SA13
SA2
SA3
SA4
SA5
SA6
310
アドレス範囲
0C0002,3H
0E0002,3H
0F0002,3H
0F4002,3H
0F8002,3H
0C0000,1H
0E0000,1H
0F0000,1H
0F4000,1H
0F8000,1H
∼
∼
∼
∼
∼
∼
∼
∼
∼
∼
0DFFFE,FH
0EFFFE,FH
0F3FFE,FH
0F7FFE,FH
0FFFFE,FH
0DFFFC,DH
0EFFFC,DH
0F3FFC,DH
0F7FFC,DH
0FFFFC,DH
(LSB側
(LSB側
(LSB側
(LSB側
(LSB側
(MSB側
(MSB側
(MSB側
(MSB側
(MSB側
16ビット)
16ビット)
16ビット)
16ビット)
16ビット)
16ビット)
16ビット)
16ビット)
16ビット)
16ビット)
対応ビット位置
セクタ容量
ビット15
ビット15
ビット15
ビット15
ビット15
ビット31
ビット31
ビット31
ビット31
ビット31
64
32
8
8
16
64
32
8
8
16
∼
∼
∼
∼
∼
∼
∼
∼
∼
∼
0
0
0
0
0
16
16
16
16
16
Kバイト
Kバイト
Kバイト
Kバイト
Kバイト
Kバイト
Kバイト
Kバイト
Kバイト
Kバイト
17.1 フラッシュメモリの概要
○
ROMライタからのアクセス時におけるマッピングとセクタ構成
図 17.1-3 ROMライタからのアクセス時におけるマッピングとセクタ構成(MB91F127)
■ フラッシュメモリのセクタ構成(MB91F128)
フラッシュメモリのアドレスマッピングは,FR-CPUからのアクセス時とROMライ
タでのアクセス時とでは異なります。図 17.1-4と表 17.1-2にFR-CPUからのアクセ
ス時におけるマッピングを, 図 17.1-5にROMライタからのアクセス時における
マッピングを示します。
○
FR-CPUからのアクセス時におけるマッピング
図 17.1-4 FR-CPUからのアクセス時におけるマッピング(MB91F128)
311
第17章 フラッシュメモリ
表 17.1-2 セクタアドレス一覧(MB91F128)
セクタ
アドレス
SA7
SA8
SA9
SA10
SA11
SA12
SA13
SA0
SA1
SA2
SA3
SA4
SA5
SA6
○
アドレス範囲
080802,3H ∼ 09FFFE,FH
0A0002,3H ∼ 0BFFFE,FH
0C0002,3H ∼ 0DFFFE,FH
0E0002,3H ∼ 0EFFFE,FH
0F0002,3H ∼ 0F3FFE,FH
0F4002,3H ∼ 0F7FFE,FH
0F8002,3H ∼ 0FFFFE,FH
080800,1H ∼ 09FFFC,DH
0A0000,1H ∼ 0BFFFC,DH
0C0000,1H ∼ 0DFFFC,DH
0E0000,1H ∼ 0EFFFC,DH
0F0000,1H ∼ 0F3FFC,DH
0F4000,1H ∼ 0F7FFC,DH
0F8000,1H ∼ 0FFFFC,DH
(LSB側 16ビット)
(LSB側 16ビット)
(LSB側 16ビット)
(LSB側 16ビット)
(LSB側 16ビット)
(LSB側 16ビット)
(LSB側 16ビット)
(MSB側 16ビット)
(MSB側 16ビット)
(MSB側 16ビット)
(MSB側 16ビット)
(MSB側 16ビット)
(MSB側 16ビット)
(MSB側 16ビット)
対応ビット位置
セクタ容量
ビット15
ビット15
ビット15
ビット15
ビット15
ビット15
ビット15
ビット31
ビット31
ビット31
ビット31
ビット31
ビット31
ビット31
64
64
64
32
8
8
16
64
64
64
32
8
8
16
∼
∼
∼
∼
∼
∼
∼
∼
∼
∼
∼
∼
∼
∼
0
0
0
0
0
0
0
16
16
16
16
16
16
16
Kバイト
Kバイト
Kバイト
Kバイト
Kバイト
Kバイト
Kバイト
Kバイト
Kバイト
Kバイト
Kバイト
Kバイト
Kバイト
Kバイト
ROMライタからのアクセス時におけるマッピングとセクタ構成
図 17.1-5 ROMライタからのアクセス時におけるマッピングとセクタ構成(MB91F128)
312
17.2 フラッシュメモリのレジスタ
17.2
フラッシュメモリのレジスタ
フラッシュメモリにはフラッシュメモリステータスレジスタ(FSTR)とフラッシュ
メモリウェイトレジスタ(FWTC)の二つのレジスタがあります。
■ フラッシュメモリのレジスタ一覧
図 17.2-1に,フラッシュメモリのレジスタ一覧を示します。
図 17.2-1 フラッシュメモリのレジスタ一覧
313
第17章 フラッシュメモリ
17.2.1
フラッシュメモリステータスレジスタ(FSTR)
フラッシュメモリステータスレジスタ(FSTR)
フラッシュメモリステータスレジスタ(FSTR)は,フラッシュメモリの動作状態を示
すレジスタです。
■ フラッシュメモリステータスレジスタ(FSTR)の構成
このレジスタは,CPUに対する割込みの制御や,フラッシュメモリへの書込みの制
御を行います。CPUでのみアクセスすることが可能です。ライタ搭載時はアクセス
できません。
このレジスタは,リードモディファイライト系命令ではアクセスしないでくださ
い。
図 17.2-2に,フラッシュメモリステータスレジスタ(FSTR)のビット構成を示し
ます。
図 17.2-2 フラッシュメモリステータスレジスタ(FSTR)のビット構成
以下に,フラッシュメモリステータスレジスタ(FSTR)の各ビットの機能を説明し
ます。
【ビット7】 INTE(INTerrupt Enable)
このビットは,フラッシュメモリの自動アルゴリズム(書込み/消去など)の終
了による割込み発生を制御します。
リセット時は”0”に初期化されます。読出し/書込み可能です。
INTE
0
1
機能
自動アルゴリズム終了割込み出力禁止 (初期値)
自動アルゴリズム終了割込み出力許可
【ビット6】 RDYINT(ReaDY INTerrupt)
このビットは,フラッシュメモリの自動アルゴリズム(書込み/消去など)の終
了により”1”になります。
ビット7のINTEを”1”に設定により割込み発生が許可されているときに,この
ビットが”1”になると,自動アルゴリズム終了割込み要求が発生します。
リセット時”0”に初期化されます。読出し/書込み可能です。ただし書込みは”0”
のみ可能で,”1”を書き込んでもビット値は変化しません。
クリア要因:命令による”0”の書込みによりクリア
セット要因:自動アルゴリズムの終了によりセット(RDY/BUSYX信号の立上り
エッジを検出)
314
17.2 フラッシュメモリのレジスタ
【ビット5】 WE(Write Enable)
このビットは,CPUモードにおけるフラッシュメモリへのデータおよびコマン
ドの書込みを制御します。
このビットが”0”の間は,フラッシュメモリへのデータおよびコマンドの書込
みはすべて無効になります。また,フラッシュメモリからのデータ読出しが32
ビットアクセスとなります。
このビットが”1”の間は,フラッシュメモリへのデータおよびコマンドの書込
みが有効となり,自動アルゴリズムの起動が可能となります。ただし,フラッ
シュメモリからのデータ読出しは16ビットアクセスとなり,32ビットアクセス
はできないため,この間はプログラムメモリとして使用できません。
このビットの書換えは,必ずRDYビットにより自動アルゴリズム(書込み/消
去)が停止していることを確認してから行ってください。RDYビットが”0”の間は,
このビットの値を書き換えることができません。
リセット時”0”に初期化されます。読出し/書込み可能です。
WE
0
1
機能
フラッシュメモリへの書込み禁止および32ビット読出しの許可
(ROMモード)
(初期値)
フラッシュメモリへの書込み許可および32ビット読出しの禁止
(プログラミングモード)
【ビット4】 RDY(ReaDY)
このビットは,自動アルゴリズム(書込み/消去)の動作状態を表示します。
このビットが”0”の期間は,自動アルゴリズムによる書込みまたは消去が行わ
れており,新たな書込みまた消去コマンドを受け付けることはできません。また,
フラッシュメモリアドレスからのデータ読出しはできません。読出したデータ
はフラッシュメモリのステータスを示します。
詳しくは,「17.5 自動アルゴリズム実行状態」を参照してください。
リセット時”0”に初期化されます。読出し/書込み可能です。
RDY
0
1
機能
書込み/消去動作中で,データの読出しや書込み/消去コマンドの
受付けはできません。
データの読出しおよび書込み/消去コマンドの受付けが可能です。
【ビット3∼1】 (reserved)
このビットは,予約ビットです。
読み出し値は不定で,書込みは動作に影響を与えません。
【ビット0】 (reserved)
このビットは,予約ビットです。
読み出し値は”0”です。このビットには常に”0”を書き込んでください。
“1”を書き込んだ場合の動作は保証できません。リセット時”0”に初期化されま
す。
315
第17章 フラッシュメモリ
17.2.2
フラッシュメモリウェイトレジスタ
フラッシュメモリウェイトレジスタ(F
ジスタ(FWTC
(FWTC)
WTC)
フラッシュメモリウェイトレジスタ(FWTC)は,CPUモードにおいてフラッシュメモ
リのウェイト制御を行います。また,フラッシュメモリの高速読出しアクセスを行う
ための制御をします。
■ フラッシュメモリウェイトレジスタ(FWTC)の構成
図 17.2-3に,フラッシュメモリウェイトレジスタ(FWTC)のビット構成を示しま
す。
図 17.2-3 フラッシュメモリウェイトレジスタ(FWTC)のビット構成
以下に,フラッシュメモリウェイトレジスタ(FWTC)の各ビットの機能を説明しま
す。
【ビット1,0】 WTC1,WTC0
これらのビットは,フラッシュメモリのウェイト制御をします。
WTC1,WTC0
00
01
10
11
機能
+0ウェイト,2サイクル (初期値)
+1ウェイト,3サイクル
使用できません
使用できません
【ビット2】 FACH
このビットは,フラッシュメモリの読出し速度の制御をします。
FACH
0
1
316
機能
通常読出し (初期値)
高速読出し
17.3 フラッシュメモリのアクセスモード
17.3
フラッシュメモリのアクセスモード
FR-CPUによりアクセスする場合,以下の2種類のアクセスモードが存在します。
・FR-CPUモード:内部バスを通してCPUにアクセス。
ワード(32ビット)長データを一括で読み出すことができますが,
書込みはできません。
・FLASHメモリモード:外部端子から直接アクセス。
ワード(32ビット)長アクセスは禁止されていますが,
ハーフワード(16ビット)長での書込みが可能になります。
■ FR-CPU ROMモード(32ビット,読出しのみ)
FR-CPUの内蔵ROMとして機能するモードです。ワード(32ビット)長データの一括
読出しが可能となりますが,フラッシュへの書込み,自動アルゴリズムの起動はで
きません。
○
モードの指定方法
フラッシュメモリステータスレジスタの”WE”ビットが”0”のとき,このモードと
なります。
CPU動作時でのリセット解除後は常にこのモードになります。
CPU動作時以外ではこのモードにすることができません。
○
動作内容
フラッシュメモリ領域の読出し時,メモリよりワード(32ビット)長データを
一括で読み出します。
読出しにかかるサイクル数は2サイクル/1ワード(1ウェイト)です。これによ
りFR-CPUに対し,ウェイトなしで命令を供給することができます。
○
制限事項
ROMライタ書込み時とはアドレスの与え方およびエンディアンが異なります。
このモードでは,フラッシュメモリへのコマンド/データともに書込みはでき
ません。
■ FR-CPU プログラミングモード(16ビット,読出し/書込み)
データの消去/書込みが可能になるモードです。ワード(32ビット)長データの一
括アクセスは不可能ですので,このモードで動作している間はフラッシュメモリ上
のプログラムは実行が不可能となります。
○
モード指定の方法
フラッシュメモリステータスレジスタ(FSTR)の”WE”ビットが”1”のときこの
モードとなります。
CPU動作時でのリセット解除後は”WE”ビットが”0”になっています。このモード
にするためには”1”を書き込んでください。再度”0”を書き込むかまたはリセット
の発生により”WE”ビットが”0”になるとROMモードに戻ります。
フラッシュメモリステータスレジスタ(FSTR)の”RDY”ビットが”0”の期間は”WE”
ビットを書き換えることができません。”RDY”ビットが”1”になったことを確認し
てから”WE”ビットを書き換えてください。
317
第17章 フラッシュメモリ
○
動作内容
フラッシュメモリ領域の読出し時,メモリよりハーフワード(16ビット)長
データを一括で読み出します。読出しにかかるサイクル数は2サイクル/ハーフ
ワード(1ウェイト)です。
フラッシュメモリへのコマンド書込みにより,自動アルゴリズムを起動する
ことができます。自動アルゴリズムの起動により,フラッシュメモリの消去/書
込みが可能となります。自動アルゴリズムの詳細については,「17.4 自動アル
ゴリズム起動方法」を参照してください。
○
制限事項
ROMライタ書込み時とはアドレスの与え方およびエンディアンが異なります。
このモードではワード(32ビット)長でデータを読み出すことを禁止します。
■ フラッシュメモリモード
MD2,1,0端子を”1,1,1”に設定してリセットをかけると,CPUは機能を停止します。
このときフラッシュメモリインタフェース回路の機能により,ポート2,3,4,5,6か
らの信号がフラッシュメモリ本体の制御信号と直結状態になり,外部端子からフ
ラッシュメモリ本体への直接制御が可能になります。イメージとしてフラッシュメ
モリが単体として外部端子に現れてくるモードであり,主にフラッシュメモリライ
タを用いた書込み/消去を行う際に設定します。
このモードでは, 4Mビットフラッシュメモリの自動アルゴリズムの持つすべて
のオペレーションが使用可能です。
■ MBM29LV400TCとのフラッシュメモリ制御信号の対応
表 17.3-1に,MBM29LV400TCとのフラッシュメモリ制御信号の対応を示します。
表 17.3-1 MBM29LV400TCとのフラッシュメモリ制御信号の対応
MBM29LV400TC
外部端子
RESET
RY/BY
BYTE
WE
OE
CE
A17 ∼ A10
A9
A8 ∼ A0
A-1
DQ15 ∼ DQ8
DQ7 ∼ DQ0
318
MB91F127/MB91F128 外部制御端子
FLASHメモリモード
FR-CPUモード
通常オペレーション
VID印加端子
RSTX
RSTX
MD1
なし
RY/BYX
−
(CPUに割込み要求)
内部 H 固定
BYTEX
−
WEX
−
内部制御信号
OEX
MD2
+ I/F回路による制御
CEX
−
AQ18 ∼ AQ11
−
AQ10
MD0
内部アドレスバス
AQ9 ∼ AQ1
−
AQ0
−
なし
−
内部データバス
DQ7 ∼ DQ0
−
17.4 自動アルゴリズム起動方法
17.4
自動アルゴリズム起動方法
フラッシュメモリに対する書込み/消去は,フラッシュメモリ自身が持つ自動アル
ゴリズムを起動することで行います。
■ コマンドオペレーション
自動アルゴリズムを起動するには,フラッシュメモリに対し,1∼6回のハーフ
ワード(16ビット)データの連続書込みを実行します。これをコマンドと呼びます。
不正なアドレスとデータを書き込んだり,誤った順番でアドレスとデータを書き
込んだりすると,フラッシュメモリは読出しモードにリセットされます。
表 17.4-1に,コマンドの一覧を示します。
表 17.4-1 コマンド一覧
第1書込み
アク
コマンド
サイクル
セス
シーケンス
回数 アド
データ
レス
読出し/
1 XXXXX XXF0
リセット
読出し/
4 D5555 XXAA
リセット
プログラム
4 D5555 XXAA
チップ消去
6 D5555 XXAA
セクタ消去
6 D5555 XXAA
セクタ消去一時停止
XXXXX
セクタ消去再開
XXXXX
Auto Select 3 D5555 XXAA
連続モード
3 D5555 XXAA
連続書込み
2 XXXXX XXA0
連続モード
リセット
第3書込み
サイクル
CAAAB
XX55
D5555
XXF0
(RA)
(RD)
CAAAB
CAAAB
CAAAB
XXB0
XX30
CAAAB
CAAAB
(PA)
XX55
XX55
XX55
D5555
D5555
D5555
XXA0
XX80
XX80
(PA)
D5555
D5555
(PD)
XXAA
XXAA
XX55
XX55
(PD)
XXF0
D5555
D5555
XX90
XX20
CAAAB
CAAAB
XX55
XX55
D5555
(SA)
XX10
XX30
XXXXX または
XX00
すべてのアドレスとデータは16進数表記です。
(RA):読出しアドレス
(PA):書込みアドレス
(SA):セクタアドレス(セクタ内の任意の1アドレスを指定。「表 17.1-1 セクタアドレス一覧」参照。)
(RD):読出しデータ
(PD):書込みデータ
消去一時停止コマンド(B0h)と,消去再開コマンド(30h)は,セクタ消去動作中のみ有効です。
2種類のリセットコマンドは,どちらもフラッシュメモリを読出しモードにリセットすることができます。
2
XXXXX
第4書込み
第5書込み
第6書込み
/読み出し
サイクル
サイクル
サイクル
アド
アド
アド
アド
アド
データ
データ
データ
データ
データ
レス
レス
レス
レス
レス
第2書込み
サイクル
XX90
319
第17章 フラッシュメモリ
○
リード(読出し)/リセットコマンド
タイミングリミット超過から読み出しモードへ復帰するには,読出し/リセッ
トコマンドシーケンスを発行することで行います。読出しサイクルでフラッ
シュメモリからデータを読み出します。
フラッシュメモリは,ほかのコマンドが入力されるまで,読出し状態を保ちま
す。
フラッシュメモリは,電源投入時自動的に読出し/リセットにセットされます。
この場合は,データ読出しにコマンドは必要ありません。
○
プログラム(書込み)
CPUプログラミングモードでは,ハーフワード単位を基本として書込みを行い
ます。書込みは4回のバス動作で行われます。コマンドシーケンスには二つの
”アンロック”サイクルがあり,書込みセットアップコマンドと書込みデータサイ
クルが続きます。そして,最後の書込みサイクルでメモリへの書込みが開始され
ます。
自動書込みアルゴリズムコマンドシーケンス実行後は,フラッシュメモリは
それ以上の外部よりの制御を必要としません。フラッシュメモリは,自動的に内
部で作られた適切な書込みパルスを発生し,書き込まれたセルのマージンを検
証します。自動書込み動作は,データポーリング機能により,ビット7のデータが
このビットに書き込んだデータに一致したとき終了し(「17.5 自動アルゴリズ
ム実行状態」のハードウェアシーケンスフラグ参照),このときをもって読出し
モードに戻り,これ以上書込みアドレスは受け付けなくなります。この結果,フ
ラッシュメモリはこの時点で次の有効アドレスを要求します。このようにデー
タポーリングは,メモリが書込み中であることを示します。
書込み中はフラッシュメモリに書き込みされたすべてのコマンドが無視され
ます。もし書込み中にハードウェアリセットが起動されると書き込んでいるア
ドレスのデータは保証されません。
書込みはどのようなアドレスの順番でも,またセクタの境界を超えても可能
です。書込みによって,データ”0”をデータ”1”に戻すことはできません。データ”0”
にデータ”1”を書き込むと,データポーリングアルゴリズムにより,素子が不良と
判定されるかまたは見かけ上データ”1”が書き込まれたように見えるかのどちら
かです。しかし,リセット/読出しモードでデータを読み出すとデータは”0”のま
まです。消去動作のみが”0”データを”1”データにすることができます。
図 17.4-1に,書込みコマンドを使った書込み手順を示します。
図 17.4-1 書込みコマンドを使った書込み手順
320
17.4 自動アルゴリズム起動方法
○
チップ消去
チップ消去(全セクタの一括消去)は,6回のアクセスで行われます。まず最初
に,二つの”アンロック”サイクルがあり,引き続き”セットアップ”コマンドが書き
込まれます。チップ消去コマンドまでに,さらに二つの”アンロック”サイクルが
続けられます。
チップ消去では,消去前にユーザがフラッシュメモリに書込みを行う必要は
ありません。自動消去アルゴリズム実行中には,フラッシュメモリは自動的にす
べてのセルを消去する前に”0”のパターンに書き込んで検証します(プリプログ
ラム)。この動作中には,フラッシュメモリは外部からの制御は必要としません。
自動消去はコマンドシーケンス中の書込みで開始され,ビット7が”1”になった
ときに終了し,このときフラッシュメモリは読出しモードに戻ります。チップ消
去時間は「セクタ消去時間×全セクタ数+チップ書込み時間(プリプログラム)」
となります。
図 17.4-2に,チップ消去コマンドを使ったチップ消去手順を示します。
○
セクタ消去
セクタ消去は,6回のアクセスで行われます。二つの”アンロック”サイクルがあ
り,引き続き”セットアップ”コマンドを書き込みし,その後さらに二つの”アン
ロック”サイクルが続き,6サイクル目にセクタ消去コマンドを入力することによ
りセクタ消去が始まります。最後のセクタ消去コマンドの書込みから50μsのタ
イムアウト期間中,次のセクタ消去コマンドの受付けが可能です。
複数のセクタ消去は前述したような六つのバスサイクルを書き込むことで同
時に受付け可能となります。このシーケンスは同時に消去するセクタのアドレ
スにセクタ消去コマンド(30H)を引き続き書き込むことで行います。最後のセク
タ消去コマンドの書込みから50μsのタイムアウト期間終了により,セクタ消去
が開始されます。すなわち,複数のセクタを同時に消去する場合には,次の消去
セクタをそれぞれ50μs以内に入力する必要があり,それ以降ではコマンドは受
け付けられないことがあります。引き続くセクタ消去コマンドが有効かどうか
はビット3にてモニタ可能です(「17.5 自動アルゴリズム実行状態」のハード
ウェアシーケンスフラグ参照)。
タイムアウト中のセクタ消去コマンドまたは消去一時停止以外のいかなるコ
マンドも読出しにリセットし,その前のコマンドシーケンスは無視します。この
場合は,そのセクタを再度消去することにより消去が完了します。セクタ消去
バッファへのセクタアドレス入力は,セクタのどのような組合せや数(0∼6)か
らでも実行可能です。
セクタ消去では,消去前にユーザがフラッシュメモリに書込みを行う必要は
ありません。フラッシュメモリは自動的に消去されるセクタ内のすべてのセル
に書込みを行います(プリプログラム)。また,セクタ消去中はほかの消去されな
いセクタは何の影響も受けません。これらの動作中は,フラッシュメモリは外部
からの制御は必要としません。
自動セクタ消去は,最後のセクタ消去コマンドの書込みから50μsのタイムア
ウト期間の後に開始され,ビット7のデータが”1”になったとき(「17.5 自動アル
ゴリズム実行状態」のハードウェアシーケンスフラグ参照)終了し,フラッシュ
メモリは読出しモードに戻ります。ほかのコマンドは無視されます。データポー
リングは消去されたセクタ内のどのアドレスでも働きます。複数セクタ消去時
間は「(セクタ消去時間+セクタ書込み時間(プリプログラム))×消去セクタ数」
となります。
図 17.4-2に,チップ消去コマンドを使ったチップ消去手順を示します。
321
第17章 フラッシュメモリ
図 17.4-2 チップ消去コマンドを使ったチップ消去手順
○
消去一時停止
消去一時停止コマンドは,ユーザがセクタ消去中にフラッシュメモリの自動
アルゴリズムを一時停止して,消去中でないセクタからのデータ読出しと書込
みを可能にするものです。このコマンドはセクタ消去中のみ有効で,チップ消去
や書込みの動作中は無視されます。消去一時停止コマンド(B0H)はセクタ消去コ
マンド(30H)後のセクタ消去タイムアウト期間を含むセクタ消去動作中にのみ
有効です。このコマンドがタイムアウト期間中に入力されると直ちにタイムア
ウトを終了し,消去動作を中断します。消去再開コマンドが書き込まれると消去
動作が再開されます。消去一時停止,消去再開コマンドの入力の際のアドレスは
任意であってかまいません。
セクタ消去動作中に消去一時停止コマンドが入力されると,フラッシュメモ
リが消去動作を停止するのに最大20μsの時間がかかります。フラッシュメモリ
が消去一時停止モードに入ると,レディ/ビジー出力とビット7が”1”を出力し,
ビット6がトグル動作をやめます。消去しているセクタのアドレスを入力し,
ビット6とビット7の読出し値モニタすることによって,消去動作を停止してい
るかどうかを確かめられます。さらに,消去一時停止コマンドの書込みは無視さ
れます。
消去動作が停止したとき,フラッシュメモリは消去一時停止読出しモードに
なります。このモードでのデータの読出しはデータが消去一時停止していない
セクタに有効となりますが,それ以外は標準的な読出しと同じです。消去一時停
止読出し中,その消去一時停止したセクタからの連続的な読出しに対しては,
ビット2はトグル動作をします(「17.5 自動アルゴリズム実行状態」のハード
ウェアシーケンスフラグ参照)。
消去一時停止読出しモードに入った後,ユーザは書込みのコマンドシーケン
スを書き込むことによりフラッシュメモリに書込みができます。この書込み
モードは,消去一時停止書込みモードとなります。このモードでの書込みは,
データが消去一時停止していないセクタに有効となりますが,それ以外は通常
のバイト書込みと同じです。消去一時停止書込みモード中,その消去一時停止し
たセクタからの連続的な読出しに対しては,ビット2はトグル動作をします。消
去一時停止ビット(ビット6)によって検出できます。
使用上の注意として,ビット6はどんなアドレスに対しても読出し可能ですが,
ビット7は書込みアドレスに対して読出しを行わなければなりません。
セクタ消去動作を再開するためには,再開コマンド(30H)を入力する必要があ
ります。この時点でさらに再開コマンドを入力しても無視されます。他方,消去
一時停止コマンドはフラッシュメモリが消去再開した後に入力することができ
ます。
322
17.5 自動アルゴリズム実行状態
17.5
自動アルゴリズム実行状態
このフラッシュメモリでは,書込み/消去のフローを自動アルゴリズムで行うため,
フラッシュメモリ内部の動作状態や動作完了したことをフラッシュメモリ外部に知
らせるハードウェアを持ちます。一つはレディ/ビジー信号,もう一つはハードウェア
シーケンスフラグです
■ レディ/ビジー信号(RDY/BUSYX)
フラッシュメモリは内部の自動アルゴリズムが実行中か終了したかを知らせる
手段として,ハードウェアシーケンスフラグのほかに,レディ/ビジー信号を持って
います。このレディ/ビジー信号はフラッシュメモリインタフェース回路に接続さ
れ,フラッシュメモリステータスレジスタの”RDY”ビットとして読み出すことが可
能です。また,このレディ/ビジー信号の立ち上がりにより,CPUに対して割込み要求
を発生することも可能です。(「17.1 フラッシュメモリの概要」を参照してくださ
い)。
“RDY”ビットの読出し値が”0”のとき,フラッシュメモリは書込みまたは消去動作
中です。このときは書込みコマンドも消去コマンドも受け付けません。”RDY”ビッ
トの読出し値が”1”のときフラッシュメモリは読出し/書込みまたは消去動作待ち
の状態です。
■ ハードウェアシーケンスフラグ
ハードウェアシーケンスフラグは,自動アルゴリズム実行中にフラッシュメモリ
の任意のアドレス(バイトアクセス時は奇数アドレス)を読み出すことによりデー
タとして得られます。データのうち,有効ビットは5ビットで,それぞれが自動アル
ゴリズムの状態を示します。
図 17.5-1に,ハードウェアシーケンスフラグの構成を示します。
図 17.5-1 ハードウェアシーケンスフラグの構成
なお,これらのフラグについてはFR-CPU ROMモード時に意味を持ちません。必ず
FR-CPUプログラミングモードのみで,ハーフワードまたはバイト読出しを行ってく
ださい。
表 17.5-1に,ハードウェアシーケンスフラグ状態一覧を示します。
323
第17章 フラッシュメモリ
表 17.5-1 ハードウェアシーケンスフラグ状態一覧
状態
DPOLL
TOGLLE
TLOVER
SETIMR
TOGGL2
自動書込み動作
反転データ
トグル
0
0
1
自動消去動作
0
トグル
0
1
トグル
消去一時停止/読出し
(消去一時停止してい
1
1
0
0
トグル *1
るセクタ)
実行中 消去
消去一時停止/読出し
一時停止 (消去一時停止してい データ
データ
データ
データ
データ
モード
ないセクタ)
消去一時停止/書込み
(消去一時停止してい 反転データ トグル *2
0
0
1 *3
ないセクタ)
反転データ
トグル
1
0
1
タイム 自動書込み動作
リミット 自動消去動作
0
トグル
1
1
未定義
超過 消去一時停止時の書込み動作
0
トグル
1
1
未定義
*1:消去一時停止セクタからの連続的な読出し時にビット2はトグル動作をします。
*2:どんなアドレスからの連続的な読出し時でも,ビット6はトグル動作をします。
*3:消去一時停止書込み中,その書込みされているアドレスの読出し時は,ビット2は”1”となります。
しかし,消去一時停止しているセクタからの連続的な読出し時は,ビット2はトグル動作をします。
以下に,各ビットの説明します。
【ビット7】 DPOLL:データポーリング
自動書込み動作中
自動書込みアルゴルズム実行中に読出しを行うと,フラッシュメモリはビッ
ト7に最後に書き込まれたデータの反転データを出力します。自動書込みアルゴ
リズム終了時に読出しアクセスを行うと,フラッシュメモリはアドレス信号の
指し示す番地の読出しデータのビット7を出力します。
自動消去動作中
自動消去アルゴリズム実行中に読出しを行うと,フラッシュメモリはアドレ
ス信号の指し示す番地によらず”0”を出力します。同様に終了時には”1”を出力し
ます。
セクタ消去一時停止中
セクタ消去一時停止中に読出しを行うと,フラッシュメモリはアドレス信号
の指し示す番地が消去中のセクタに属するならば”1”を出力します。消去中のセ
クタに属さないのであれば,アドレス信号の指し示す番地の読み出し値のビッ
ト7を出力します。
後述のビット6のトグルビットとともに参照することで,現在セクタ消去一時
停止状態にあるか否か,どのセクタが消去中であるかの判定が可能です。
<注意事項>
自動アルゴリズムの動作が終了に近づくと,ビット7(データポーリング)は読み出し動作中,非同
期的に変化します。これはフラッシュメモリが動作状態の情報をビット7に送り出し,そして確定
したデータをその次に送り出すことを意味します。フラッシュメモリが自動アルゴリズムを終了
したとき,また,ビット7が確定データを出力しているときでも,ほかのビットはまだ不確定です。
ほかのビットの確定データは,連続した読出しの実行によって読み出されます。
324
17.5 自動アルゴリズム実行状態
【ビット6】 TOGGLE:トグルビット
自動書込み/消去動作中
自動書込みまたは消去アルゴリズム実行中に連続した読出しを行うと,フ
ラッシュメモリは”1”と”0”をトグルする結果をビット6に出力します。自動書込み
または消去アルゴリズムが終了すると,連続した読出しに対してビット6のトグ
ル動作をやめ,有効なデータを出力します。
トグルビットは各コマンドシーケンスの差以後の書込みサイクルの後から有
効になります。
なお,書込みの際,書き込もうとしたセクタが書き換え保証されているセクタ
の場合は,約2μsの間トグル動作した後,データに書き換えることなくトグル動
作を終わります。消去の際,もし選択されたすべてのセクタが書込み保証されて
いる場合には,トグルビットは約100μsトグル動作をし,その後データを書き換
えないで読出しモードに戻ります。
セクタ消去一時停止中
セクタ消去一時停止中に読出しを行うと,フラッシュメモリはアドレス信号
の指し示す番地が消去中のセクタに属するならば”1”を出力します。消去中のセ
クタに属さないのであれば,アドレス信号の指し示す番地の読み出し値のビッ
ト6を出力します。
【ビット5】 TLOVER:タイミングリミット超過
自動書込み/消去動作中
ビット5は自動アルゴリズムの実行がフラッシュメモリ内部に規定された時
間(内部パルス回数)を超えてしまったことを示します。この状態においてビッ
ト5は”1”を出力します。すなわち自動アルゴリズムが動作中で,このフラグが”1”
を出力した場合は,書込みまたは消去が失敗したことを示します。
ビット5はまた,消去することなく非ブランクの部分に書き込もうとすると,
フェイルとなります。この場合,ビット7(データポーリング)から確定データを
読むことができず,またビット6(トグルビット)はトグリングしたままとなりま
す。この状態でタイムリミットを超えると,ビット5に”1”が出力されます。この
場合は,フラッシュメモリが不良なのではなく,正しく使用されなかったという
ことを表していることに注意してください。もし,この状態が発生したときには,
リセットコマンドを実行してください。
325
第17章 フラッシュメモリ
【ビット3】 SETIMR:セクタ消去タイマ
セクタ消去動作中
最初のセクタ消去コマンドシーケンス実行後,セクタ消去ウェイト期間中に
なります。ビット3は,この期間中”0”を,セクタ消去ウェイト期間を超えてしまっ
ている場合は”1”を出力します。データポーリングとトグルビットは最初のセク
タ消去コマンドシーケンスの実行後から有効となります。
データポーリング機能やトグルビット機能により,消去アルゴリズムが実行
中を示している場合,このフラグが”1”であれば,内部で制御される消去が始まっ
ており,続けてのコマンドライトはデータポーリングかトグルビットが消去の
終了を示すまで無視されます(消去一時停止コードの入力のみ受け付けます)。
このフラグが”0”の場合,フラッシュメモリは追加のセクタ消去コードの書込み
を受け付けます。このことを確認するために,引き続くセクタ消去コードの書込
みに先立ってソフトウェアでこのフラグの状態をチェックすることを推奨しま
す。もし,2回目の状態チェックで”1”であったなら,追加セクタ消去コードは受け
付けられていない可能性があります。
セクタ消去一時停止中に読出しを行うと,フラッシュメモリはアドレス信号
の指し示す番地が消去中のセクタに属するならば”1”を出力します。消去中のセ
クタに属さないのであれば,アドレス信号の指し示す番地の読み出し値のビッ
ト3を出力します。
【ビット2】 TOGGL2:トグルビット2
セクタ消去動作中
このトグルビットは,ビット6のトグルビットに加えて,フラッシュメモリが
自動消去動作中であるか,消去一時停止中であるかを検出することに使われま
す。自動消去中に消去しているセクタから連続して読み出しを行うとビット2が
トグル動作をします。フラッシュメモリが消去一時停止読出しモードならば,消
去一時停止しているセクタから連続して読出しを行うとビット2はトグル動作
をします。
フラッシュメモリが消去一時停止書込みモードのときは,消去一時停止して
いないセクタからアドレスを連続して読み出すとビット2は”1”が読み出されま
す。ビット6はビット2と違い,通常の書込み,消去または消去一時停止書込み動
作中にのみトグル動作をします。
例えば,ビット2とビット6は,消去一時停止読み出しモードを検出するために,
一緒に使われます(ビット2はトグル動作をするが,ビット6はトグル動作をしな
い)。さらにビット2は消去しているセクタの検出にも使われます。フラッシュ
メモリが消去動作のときは,ビット2は消去しているセクタからの読み出しなら
ばトグル動作をします。
326
17.5 自動アルゴリズム実行状態
■ ハードウェアシーケンスフラグの使用例
先に延べたハードウェアシーケンスフラグを用いることで,フラッシュメモリ内
部の自動アルゴリズムの状態判定が可能です。例として図 17.5-2,図 17.5-3に,
書込み/消去判定のフローチャートを,それぞれデータポーリング機能を用いた場
合と,トグルビット機能を用いた場合について示します。
図 17.5-2 データポーリング機能を用いた書込み/消去判定のフローチャート
327
第17章 フラッシュメモリ
図 17.5-3 トグルビット機能を用いた書込み/消去判定のフローチャート
328
17.6 セクタプロテクトオペレーション
17.6
セクタプロテクトオペレーション
このフラッシュメモリには不正な書込み/消去に対し,セクタ単位でこれを無効に
するセクタ保護機能を持ちます。一度保護設定されたセクタはデバイスが破壊しない
限り,その設定を持ち続けますが,一時的であれば保護を解除し,書込み/消去を行う
ことも可能です。これらの操作はセクタプロテクトオペレーションを通して行われま
す。
セクタプロテクトオペレーションには書込み/消去のような自動アルゴリズムは持
ちません。また,通常モードには対応せず,フラッシュメモリモードでのみ実行可能で
す。このため主にフラッシュメモリライタを用いた外部端子制御で行われるべきもの
です。
■ セクタプロテクトオペレーション一覧
セクタプロテクトオペレーションには,
イネーブルセクタプロテクト
ベリファイセクタプロテクト
セクタプロテクト一時解除
の3種類があります。
表 17.6-1に,それぞれの端子設定を示します。
表 17.6-1 端子設定
オペレーション
イネーブル
セクタプロテクト
ベリファイ
セクタプロテクト
セクタプロテクト
一時解除
CEX
OEX
WEX
AQ1
AQ2
AQ7
L
H
L
L
H
L
L
L
H
L
H
L
-
-
-
-
-
-
AQ13
∼AQ18
セクタ
アドレス
セクタ
アドレス
DQ0
∼DQ15
RSTX
MD2
MD1
MD0
-
H
VID
H
VID
コード
出力
H
H
H
VID
-
-
H
H
VID
H
329
第17章 フラッシュメモリ
■ イネーブルセクタプロテクト
イネーブルセクタプロテクトでは,フラッシュメモリ内部の保護回路への書込み
を行います。
このオペレーションにより7個のセクタのどのセクタの組合せでも書込みも消去
も無効にすることができます。なお, MB91F127/MB91F128ではすべてのセクタが保
護解除された状態で出荷されます。
このオペレーションでは,まずアドレス信号に保護すべきセクタのセクタアドレ
ス(AQ18,AQ17,AQ16,AQ15,AQ14,AQ13)の設定と,AQ8=“0”の設定が必要となります。
セクタとセクタアドレスの対応は,表 17.1-1を参照ください。
保護回路の書込みは,MD2とMD0にVID(=12V)を印加し,CEX=“0”にした後,WEXパル
スの立下がりで開始され,立上りで終了します。なお,セクタアドレスはWEXパルス
の間中一定に保たなければなりません。セクタ保護は一度設定されると,取り消す
ことができません。また,保護されたセクタへは,これ以降書込み/消去は不可能と
なります。
■ ベリファイセクタプロテクト
ベリファイセクトプロテクトでは,フラッシュメモリ内部の保護回路の書込みに
対する検証(ベリファイ)を行います。このオペレーションでは,まずCEXとOEXを”0”
に し ,WEX を ”1” に し た ま ま MD0 に VID を 印 加 ( マ ー ジ ン モ ー ド ) し ま す 。
(AQ7,AQ2,AQ1)=(0,1,0)の条件で,アドレス信号をあるセクタアドレスにして読み
出すと,保護されたセクタでは出力DQ0に”1”が出力されます。保護されていないセ
クタでは,00Hが読み出されます。
図 17.6-1に,イネーブルセクタプロテクト,ベリファイセクタプロテクトを用い
たセクタ保護のアルゴリズムを示します。
330
17.6 セクタプロテクトオペレーション
図 17.6-1 イネーブルセクタプロテクトおよびベリファイセクタプロテクトを用いたセクタ保護
アルゴリズム
331
第17章 フラッシュメモリ
■ セクタプロテクト一時解除
イネーブルセクタプロテクトにより保護されたセクタはデバイスが破壊しない
限り,書込み/消去ができませんが,セクタプロテクト一時解除のオペレーションで
は,以前に設定されたセクタ保護情報の一時的解除を可能にします。このオペレー
ションは,MD1にVIDを印加し続けることで設定されます。この間,以前に設定された
セクタ保護情報は無視され,すべてのセクタに書込み/消去が可能となります。
MD1を”1”(=5V)に戻すと,このオペレーションは解除され,以前に保護されたすべ
てのセクタが再び保護されます。
図 17.6-2に,セクタプロテクト一時解除のアルゴリズムを示します。
図 17.6-2 セクタプロテクト一時解除のアルゴリズム
332
付録
付録として,I/Oマップ,割込みベクタ,CPUステートでの端子状態について記載して
います。
A
I/Oマップ
B
割込みベクタ
C
各CPUステートにおける端子状態
333
付録
A
I/Oマ
I/Oマップ
MB91F127/128に内蔵された周辺機器の各レジスタは,付表 A-1に示すアドレスが割
当てられます。
■ I/Oマップ
[表の見方]
<注意事項>
レジスタのビット値は,以下のように初期値を表します。
”1”:初期値”1”
”0”:初期値”0”
”X”:初期値”X”
”-”:その位置に物理的にレジスタがない
334
A I/Oマップ
付表 A-1 I/Oマップ (続く)
アドレス
000000H
000004H
000008H
レジスタ
+1
+2
PDR2 [R/W]
XXXXXXXX
PDR6 [R/W]
PDR5 [R/W]
XXXXXXXX
XXXXXXXX
PDRA [R/W]
-XXXXXXX
PDRE [R/W]
XXXXXXXX
+0
PDR3 [R/W]
XXXXXXXX
PDR7 [R/W]
-------X
-
00000CH
000010H
000014H
000018H
00001CH
000020H
000024H
000028H
PDRG [R/W]
XXXXXXXX
-
-
SIDR [R]
SSR [R/W]
SODR [W]
00001-00
XXXXXXXX
SIDR [R]
SSR [R/W]
SODR [W]
00001-00
XXXXXXXX
SIDR [R]
SSR [R/W]
SODR [W]
00001-00
XXXXXXXX
TMRLR [W]
XXXXXXXX XXXXXXXX
00002CH
-
000030H
TMRLR [W]
XXXXXXXX XXXXXXXX
000034H
-
000038 H
TMRLR [W]
XXXXXXXX XXXXXXXX
00003CH
000040H
000044H
000048H
00004CH
000050H
000054H
000058H
00005CH
000060H
000064H
IPCP1[R]
XXXXXXXX XXXXXXXX
IPCP3[R]
XXXXXXXX XXXXXXXX
ICS23[R/W]
00000000
ADCR [R]
000000XX XXXXXXXX
OCCP1[R/W]
XXXXXXXX XXXXXXXX
OCCP3[R/W]
XXXXXXXX XXXXXXXX
OCS2,3[R/W]
XXX00000 0000XX00
-
+3
内部リソース
PDR4 [R/W]
XXXXXXXX
PDR8[R/W]
--XXXXXX
PDRF [R/W]
----XXXX
PDRJ [R/W]
XXXXXXXX
--
ポートデータ
レジスタ
未使用
SCR [R/W]
00000100
SMR [R/W]
00--0-00
UART0
SCR [R/W]
00000100
SMR [R/W]
00--0-00
UART1
SCR [R/W]
00000100
SMR [R/W]
00--0-00
UART2
TMR [R]
XXXXXXXX XXXXXXXX
TMCSR [R/W]
----0000 00000000
TMR [R]
XXXXXXXX XXXXXXXX
TMCSR [R/W]
----0000 00000000
TMR [R]
XXXXXXXX XXXXXXXX
TMCSR [R/W]
----0000 00000000
IPCP0[R]
XXXXXXXX XXXXXXXX
IPCP2[R]
XXXXXXXX XXXXXXXX
ICS01[R/W]
00000000
ADCS [R/W]
000000000 00000000
OCCP0[R/W]
XXXXXXXX XXXXXXXX
OCCP2[R/W]
XXXXXXXX XXXXXXXX
OCS0,1[R/W]
XXX00000 0000XX00
リロードタイマ0
リロードタイマ1
未使用
リロードタイマ2
多機能タイマ
A/Dコンバータ
(逐次比較)
多機能タイマ
未使用
多機能タイマ
335
付録
付表 A-1 I/Oマップ (続く)
アドレス
000068H
00006CH
000070H
000074H
000078H
00007CH
000080H
000084H
000088H
00008CH
000090H
000094H
000098H
レジスタ
+0
+1
TCDT [R/W]
00000000 00000000
UTIM [R]
UTIMR [W]
00000000 00000000
UTIM [R]
UTIMR [W]
00000000 00000000
UTIM [R]
UTIMR [W]
00000000 00000000
EIRR [R/W]
ENIR [R/W]
00000000
00000000
EHVR [R/W]
ELVR [R/W]
00000000
00000000
00009CH
0000A0H
0000A4H
0000A8H
0000ACH
0000B0H
0000B4H
0000B8H
0000BCH
0000C0H
0000C4H
0000C8H
0000CCH
+3
TCCS [R/W]
0------- 00000000
-
内部リソース
未使用
フリーランタイマ
多機能タイマ
未使用
未使用
-
UTIMC[R/W]
0--00001
U-Timer0
-
UTIMC[R/W]
0--00001
U-Timer1
-
UTIMC[R/W]
0--00001
U-Timer2
-
未使用
未使用
外部割込み
-
未使用
0000D0H
-
-
DDRE [W]
00000000
DDRF [W]
----0000
ポート方向
レジスタ
0000D4H
-
AIC3[R/W]
11111111
-
-
A/Dコンバ−タ
0000D8H
0000DCH
0000E0H
0000E4H
0000E8H
0000ECH
336
+2
DDRG [W]
00000000
GCN1 [R/W]
00110010 00010000
PTMR0 [R]
11111111 11111111
PDUT0 [W]
XXXXXXXX XXXXXXXX
PTMR1 [R]
11111111 11111111
PDUT1 [W]
XXXXXXXX XXXXXXXX
DDRJ [W]
00000000
GCN2[R/W]
00000000
PCSR0 [W]
XXXXXXXX XXXXXXXX
PCNH0[R/W]
PCNL0[R/W]
0000000 00000000
PCSR1 [W]
XXXXXXXX XXXXXXXX
PCNH1[R/W]
PCNL1[R/W]
000000000000000
-
ポート方向
レジスタ
PPG
PPG0
PPG1
A I/Oマップ
付表 A-1 I/Oマップ (続く)
アドレス
0000F0H
0000F4H
0000F8H
0000FCH
レジスタ
+0
+1
PTMR2 [R]
11111111 11111111
PDUT2 [W]
XXXXXXXX XXXXXXXX
PTMR3 [R]
11111111 11111111
PDUT3 [W]
XXXXXXXX XXXXXXXX
000100H
∼ 0001FCH
000200H
000204H
000208H
-------00000000
--------
0003F4 H
0003F8H
0003FC H
000408H
00040CH
000410H
000414H
000418H
00041CH
000420H
000424H
000428H
PCSR2 [W]
XXXXXXXX XXXXXXXX
PCNH2[R/W]
PCNL2[R/W]
000000000000000
PCSR3 [W]
XXXXXXXX XXXXXXXX
PCNH3[R/W]
PCNL3[R/W]
000000000000000
DPDP
-------DACSR
00000000
DATCR
--XX0000
内部リソース
PPG2
PPG3
未使用
[R/W]
-------[R/W]
00000000
[R/W]
--XX0000
00000000
00000000
DMAコントローラ
--XX0000
-
0003F0H
000404H
+3
-
00020CH
000210H
∼ 0002FCH
000300H
∼ 0003ECH
000400H
+2
ICR00 [R/W]
---11111
ICR04[R/W]
---11111
ICR08 [R/W]
---11111
ICR12[R/W]
---11111
ICR16[R/W]
---11111
ICR20[R/W]
---11111
ICR24 [R/W]
---11111
ICR28[R/W]
---11111
ICR32[R/W]
---11111
ICR36[R/W]
---11111
ICR40[R/W]
---11111
BSD0
XXXXXXXX XXXXXXXX
BSD1
XXXXXXXX XXXXXXXX
BSDC
XXXXXXXX XXXXXXXX
BSRR
XXXXXXXX XXXXXXXX
ICR01[R/W]
---11111
ICR05[R/W]
---11111
ICR09[R/W]
---11111
ICR13[R/W]
---11111
ICR17[R/W]
---11111
ICR21[R/W]
---11111
ICR25[R/W]
---11111
ICR29[R/W]
---11111
ICR33[R/W]
---11111
ICR37[R/W]
---11111
ICR41[R/W]
---11111
-
未使用
-
未使用
[W]
XXXXXXXX XXXXXXXX
[R/W]
XXXXXXXX XXXXXXXX
[W]
XXXXXXXX XXXXXXXX
[R]
XXXXXXXX XXXXXXXX
ICR02[R/W]
---11111
ICR06[R/W]
---11111
ICR10[R/W]
---11111
ICR14[R/W]
---11111
ICR18[R/W]
---11111
ICR22[R/W]
---11111
ICR26[R/W]
---11111
ICR30[R/W]
---11111
ICR34[R/W]
---11111
ICR38[R/W]
---11111
ICR42[R/W]
---11111
ビットサーチ
モジュール
ICR03[R/W]
---11111
ICR07[R/W]
---11111
ICR11[R/W]
---11111
ICR15[R/W]
---11111
ICR19[R/W]
---11111
ICR23[R/W]
---11111
ICR27[R/W]
---11111
ICR31[R/W]
---11111
ICR35[R/W]
---11111
ICR39[R/W]
---11111
ICR43[R/W]
---11111
割込み
コントローラ
337
付録
付表 A-1 I/Oマップ (続き)
アドレス
00042CH
000430H
レジスタ
+1
+2
ICR45[R/W]
ICR46[R/W]
---11111
---11111
HRCL [R/W]
---11111
+0
ICR44[R/W]
---11111
DICR [R/W]
-------0
000434H
∼ 00047CH
000480H
000484H
000488H
000604H
000608H
00060CH
000610H
000614H
000618H
00061CH
000620H
000624H
000628H
00062CH
0007C4H
338
未使用
CTBR [W]
XXXXXXXX
WPR [W]
XXXXXXXX
-
-
-
DDR3 [W]
00000000
DDR7 [W]
-------0
DDR2 [W]
00000000
DDR6 [W]
00000000
DDRA [W]
-0000000
ASR1 [W]
00000000 00000001
ASR2 [W]
00000000 00000010
ASR3 [W]
00000000 00000011
ASR4 [W]
00000000 00000100
ASR5 [W]
00000000 00000101
AMD0 [W]
AMD1 [R/W]
---00111
0--00000
AMD5[R/W]
DSCR [W]
0--00000
00000000
EPCR0 [W]
--1-1100 -1111111
DMCR4 [R/W]
00000000 0000000-
未使用
-
-
DDR5 [W]
00000000
DDR4 [W]
00000000
DDR8 [W]
--000000
AMR1 [W]
00000000 00000000
AMR2 [W]
00000000 00000000
AMR3 [W]
00000000 00000000
AMR4 [W]
00000000 00000000
AMR5 [W]
00000000 00000000
AMD32[R/W]
AMD4 [R/W]
00000000
0--00000
RFCR [R/W]
--XXXXXX 00---000
EPCR1 [W]
-------1 11111111
DMCR5 [R/W]
00000000 0000000-
FSTR [R/W]
000XXXX0
FWTC [R/W]
XXXXX000
クロック制御部
PLL制御部
-
データ方向
レジスタ
バス
インタフェース
未使用
-
-
-
-
-
-
フラッシュメモリ
0007C8H
∼ 0007F8H
0007FCH
遅延割込み
PDDR [R/W]
----0000
000630H
∼ 0007BCH
0007C0H
-
STCR [R/W]
000111--
00048CH
∼ 0005FCH
000600H
割込み
コントローラ
RSRR [R]
WTCR [W]
1XXXX-00
GCR [R/W]
110011-1
PTCR [R/W]
00--0---
内部リソース
+3
ICR47[R/W]
---11111
-
未使用
LER [W]
-----000
MODR [W]
XXXXXXXX
リトルエンデアン
レジスタ
モードレジスタ
A I/Oマップ
<注意事項>
ライトオンリーのビットのあるレジスタに対して,RMW系の命令を行わないでください。
RMW系の命令(RMW:リードモディファイライト)
AND Rj, @Ri
または Rj, @Ri
Eまたは Rj, @Ri
ANDH Rj, @Ri
またはH Rj, @Ri
EまたはH Rj, @Ri
ANDB Rj, @Ri
またはB Rj, @Ri
EまたはB Rj, @Ri
BANDL #u4, @Ri
BまたはL #u4, @Ri
BEまたはL #u4, @Ri
BANDH #u4, @Ri
BまたはH #u4, @Ri
BEまたはH #u4, @Ri
”未使用”または”-”の領域のデータは不定です。
339
付録
B
割込みベクタ
付表 B-1に割込みベクタテーブルを示します。
割込みベクタテーブルには,MB91F127/128の割込み要因と割込みベクタ/割込み制
御レジスタの割当てが記載されています。
■ 割込みベクタ
付表 B-1 割込みベクタ (続く)
割込要因
リセット
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
未定義命令例外
NMI 要求
外部割込み0
外部割込み1
外部割込み2
外部割込み3
UART 0 受信完了
UART 1 受信完了
UART 2 受信完了
UART 0 送信完了
UART 1 送信完了
UART 2 送信完了
DMAC 0(終了,エラー)
DMAC 1(終了,エラー)
DMAC 2(終了,エラー)
DMAC 3(終了,エラー)
DMAC 4(終了,エラー)
DMAC 5(終了,エラー)
DMAC 6(終了,エラー)
DMAC 7(終了,エラー)
A/D(逐次型)
リロードタイマ 0
リロードタイマ 1
リロードタイマ 2
340
割込番号
10進
16進
0
00
1
01
2
02
3
03
4
04
5
05
6
06
7
07
8
08
9
09
10
0A
11
0B
12
0C
13
0D
14
0E
15
0F
16
10
17
11
18
12
19
13
20
14
21
15
22
16
23
17
24
18
25
19
26
1A
27
1B
28
1C
29
1D
30
1E
31
1F
32
20
33
21
34
22
35
23
36
24
37
25
割込レベル*1 オフセット
15(FH)固定
ICR00
ICR01
ICR02
ICR03
ICR04
ICR05
ICR06
ICR07
ICR08
ICR09
ICR10
ICR11
ICR12
ICR13
ICR14
ICR15
ICR16
ICR17
ICR18
ICR19
ICR20
ICR21
3FCH
3F8H
3F4H
3F0H
3ECH
3E8H
3E4H
3E0H
3DCH
3D8H
3D4H
3D0H
3CCH
3C8H
3C4H
3C0H
3BCH
3B8H
3B4H
3B0H
3ACH
3A8H
3A4H
3A0H
39CH
398H
394H
390H
38CH
388H
384H
380H
37CH
378H
374H
370H
36CH
368H
TBRデフォルト
のアドレス*2
000FFFFCH
000FFFF8H
000FFFF4H
000FFFF0H
000FFFECH
000FFFE8H
000FFFE4H
000FFFE0H
000FFFDCH
000FFFD8H
000FFFD4H
000FFFD0H
000FFFCCH
000FFFC8H
000FFFC4H
000FFFC0H
000FFFBCH
000FFFB8H
000FFFB4H
000FFFB0H
000FFFACH
000FFFA8H
000FFFA4H
000FFFA0H
000FFF9CH
000FFF98H
000FFF94H
000FFF90H
000FFF8CH
000FFF88H
000FFF84H
000FFF80H
000FFF7CH
000FFF78H
000FFF74H
000FFF70H
000FFF6CH
000FFF68H
B 割込みベクタ
付表 B-1 割込みベクタ (続き)
割込要因
外部割込み 4
外部割込み 5
システム予約
システム予約
U-TIMER 0
U-TIMER 1
U-TIMER 2
フラッシュメモリ
システム予約
システム予約
PPG0
PPG1
PPG2
PPG3
ICU0(取込み)
ICU1(取込み)
ICU2(取込み)
ICU3(取込み)
OCU0(一致)
OCU1(一致)
OCU2(一致)
OCU3(一致)
システム予約
16ビットフリーランタイマ
システム予約
遅延割込み要因ビット
システム予約
(REALOSにて使用) *3
システム予約
(REALOSにて使用) *3
割込番号
10進
16進
38
26
39
27
40
28
41
29
42
2A
43
2B
44
2C
45
2D
46
2E
47
2F
48
30
49
31
50
32
51
33
52
34
53
35
54
36
55
37
56
38
57
39
58
3A
59
3B
60
3C
61
3D
62
3E
63
3F
ICR22
ICR23
ICR24
ICR25
ICR26
ICR27
ICR28
ICR29
ICR30
ICR31
ICR32
ICR33
ICR34
ICR35
ICR36
ICR37
ICR38
ICR39
ICR40
ICR41
ICR42
ICR43
ICR44
ICR45
ICR46
ICR47
364H
360H
35CH
358H
354H
350H
34CH
348H
344H
340H
33CH
338H
334H
330H
32CH
328H
324H
320H
31CH
318H
314H
310H
30CH
308H
304H
300H
TBRデフォルト
のアドレス*2
000FFF64H
000FFF60H
000FFF5CH
000FFF58H
000FFF54H
000FFF50H
000FFF4CH
000FFF48H
000FFF44H
000FFF40H
000FFF3CH
000FFF38H
000FFF34H
000FFF30H
000FFF2CH
000FFF28H
000FFF24H
000FFF20H
000FFF1CH
000FFF18H
000FFF14H
000FFF10H
000FFF0CH
000FFF08H
000FFF04H
000FFF00H
割込レベル*1 オフセット
64
40
-
2FCH
000FFEFCH
65
41
-
2F8H
000FFEF8H
000FFEF4H
42
66
2F4H
∼ 000H
∼ 000FFC00H
∼ 255 ∼ FF
*1 ICRは,割込みコントローラ内に設けられたレジスタで,割込みの各要求に対する割込みレベルを設定します。
ICRは,割込み要求の各々に対応して用意されています。
*2 TBRは,EIT用ベクタテーブルの先頭アドレスを示すレジスタです。
TBRとEIT要因ごとに決められたオフセット値を加算したアドレスが,ベクタアドレスとなります。
*3 REALOS/FRをご使用される場合は,システムコード用に0X40,0X41の割込みを使用します。
INT命令で使用
参考:
TBRの示すアドレスから1KBの領域が,EIT用ベクタ領域となっています。
1ベクタ当たりの大きさは4バイトで,ベクタ番号とベクタアドレスの関係は
下記のように表されます。
Vctadr = TBR + vctofs
= TBR + (3FCH - 4×vct)
vctadr:ベクタアドレス
vctofs:ベクタオフセット
vct
:ベクタ番号
341
付録
C
各CPUステートにおける端
CPUステートにおける端子状態
ステートにおける端子状態
付表 C-1∼付表 C-3に各CPUステートにおける端子状態を示します。
なお,外部バスモード時とシングルチップモード時では,リセット時の端子状態が
異なりますので注意してください。
■ 端子状態一覧表の用語説明
付表 C-1∼付表 C-3中の端子の状態として使用している語句は,以下の意味を持
ちます。
入力可
入力機能が使用可能な状態であることを意味します。
入力0固定
端子からすぐの入力ゲートで,外部入力を遮断して内部へ”0”を伝えてい
る状態です。
出力Hi-Z
端子駆動用トランジスタを駆動禁止状態にし,端子をハイインピーダン
スにすることを意味します。
出力保持
このモードになる直前に出力していた状態をそのまま出力することを意
味します。すなわち,出力のある内蔵周辺が動作中であれば,その内蔵周
辺に従い出力を行い,ポートなどとして出力している場合には,その出力
を保持します。
直前の状態を保持
このモードになる直前に出力していた状態をそのまま出力または入力で
あれば入力可能を意味します。
342
C 各CPUステートにおける端子状態
■ 端子状態一覧表
付表 C-1 シングルチップモード時の端子状態
端子名
機能
スリープ時
P20∼P27
P30∼P37
P40∼P47
P50∼P57
P60∼P65
P66
P67
P70
ポート
直前の状態保持
P80
P81
P82
P83∼P86
PA0∼PA2
PA3
PA4
PA5
PA6
PG0
PG1
PG2
PG3
PG4
PG5
PG6
PG7
PE0
PE1
PE2
PE3
PE4
リセット時
出力Hi-x,
全端子入力可
IN2
IN3
FRCK
TCI2
ポート
IN0
IN1
ポート
PE6
PE7
PF0
PF1
PF2
PF3
SO1
SI1
SC1
ポート
OCPA0
OCPA1
OCPA2
OCPA3
OC0
OC1
OC2
OC3
INT0
INT1
INT2
INT3
INT4
TCI1
INT5
SC0
SI0
SO0
TCI0
SI2
SO2
SC2
PJ0∼PJ7
ATG
AN0∼AN7
PE5
ストップ時
HIZX=0
HIZX=1
直前の状態保持
出力Hi-z
入力0固定
入力可
入力可
343
付録
付表 C-2 外部バス16ビットモード時の端子状態
端子名
機能
P20∼P27
-----
D16∼D23
D24∼D31
A00∼A15
P60∼P67
A16∼A23
P70
P80
A24
RDY
P81
BGRNT
P82
BRQ
----P85
RD
WR0
WR1
P86
ALE
PA0
PA1
PA2
PA3
PA4
PA5
PA6
CS0
CS1
CS2
CS3
CS4
CS5
CLK
PG0
PG1
PG2
PG3
PG4
PG5
PG6
PG7
PE0
PE1
PE2
PE3
PE4
OCPA0
OCPA1
OCPA2
OCPA3
OC0
OC1
OC2
OC3
INT0
INT1
INT2
INT3
INT4
TCI1
PE5
INT5
SC0
PE6
SI0
PE7
SO0
PF0
TCI0
PF1
SI2
PF2
SO2
PF3
SC2
ATG
PJ0∼PJ7
AN0∼AN7
P:汎用ポート指定時
F:指定機能選択時
344
スリープ時
ストップ時
HIZX=0
HIZX=1
同左
出力Hi-z
入力0固定
同左
出力保持
または Hi-z
出力保持
(アドレス出力)
P:直前状態保持 同左
F:アドレス出力
直前状態保持
同左
P:直前状態保持 P,F:
F:RDY入力
直前状態保持
P:直前状態保持 P,F:
F:H出力
直前状態保持
P:直前状態保持 P,F:
F:BRQ出力
直前状態保持
直前状態保持
同左
バス開放
(BGRNT)
出力Hi-z
出力Hi-x,
全端子入力可
FFH出力
P:直前状態保持
F:RDY入力
L出力
BRQ入力
H出力
P:直前状態保持 P,F:
F:H出力
直前状態保持
P:直前状態保持 P,F:
F:L出力
直前状態保持
直前状態保持
H出力
P:直前状態保持 P:同左
F:CS出力
F:H出力
H出力
L出力
L出力
H出力
P:直前状態保持 P,F:
F:CLK出力
直前状態保持
直前状態保持
直前の状態保持
入力可
リセット時
CLK出力
直前の状態保持
入力可
CLK出力
C 各CPUステートにおける端子状態
付表 C-3 外部バス8ビットモード時の端子状態
端子名
機能
P20∼P27
---
ポート
D24∼D31
---
A00∼A15
P60∼P67
A16∼A23
P70
P80
A24
RDY
P81
BGRNT
P82
BRQ
----P85
P86
RD
WR0
ポート
ALE
PA0
PA1
PA2
PA3
PA4
PA5
PA6
CS0
CS1
CS2
CS3
CS4
CS5
CLK
PG0
PG1
PG2
PG3
PG4
PG5
PG6
PG7
PE0
PE1
PE2
PE3
PE4
OCPA0
OCPA1
OCPA2
OCPA3
OC0
OC1
OC2
OC3
INT0
INT1
INT2
INT3
INT4
TCI1
PE5
INT5
SC0
PE6
SI0
PE7
SO0
PF0
TCI0
PF1
SI2
PF2
SO2
PF3
SC2
ATG
PJ0∼PJ7
AN0∼AN7
P:汎用ポート指定時
F:指定機能選択時
スリープ時
ストップ時
HIZX=0
HIZX=1
同左
出力Hi-z
同左
入力0固定
直前状態保持
出力保持
または Hi-z
出力保持
同左
(アドレス出力)
P:直前状態保持 同左
F:アドレス出力
直前状態保持
同左
P:直前状態保持 P,F:
F:RDY入力
直前状態保持
P:直前状態保持 P,F:
F:H出力
直前状態保持
P:直前状態保持 P,F:
F:BRQ出力
直前状態保持
直前状態保持
同左
バス開放
(BGRNT)
直前の状態保持
出力Hi-z
出力Hi-x,
全端子入力可
FFH出力
P:直前状態保持
F:RDY入力
L出力
BRQ入力
H出力
直前状態保持
同左
P:直前状態保持 P,F:
F:L出力
直前状態保持
直前状態保持
H出力
P:直前状態保持 P:同左
F:CS出力
F:H出力
直前の状態保持
P:直前状態保持 P,F:
F:CLK出力
直前状態保持
直前状態保持
直前の状態保持
CLK出力
入力可
リセット時
L出力
L出力
H出力
CLK出力
直前の状態保持
入力可
345
付録
346
索引
<数字>
<アルファベット>
0
0検出
0検出 ................................ 305
ビットサーチモジュール ............... 305
0検出データレジスタ
0検出用データレジスタ(BSD0) .......... 303
1
16ビットアウトプットコンペア
16ビットアウトプットコンペアのタイミング
................................ 205
16ビットアウトプットコンペアの動作説明
................................ 204
16ビットインプットキャプチャ
16ビットインプットキャプチャのタイミング
................................ 206
16ビットインプットキャプチャの動作 ... 206
16ビットタイマレジスタ
16ビットタイマレジスタ(TMR)のビット構成
................................ 165
16ビットフリーランタイマ
16ビットフリーランタイマのカウントタイミ
ング ............................ 203
16ビットフリーランタイマの動作説明 ... 202
16ビットフリーランタイマのクリアタイミン
グ .............................. 203
16ビットリロードタイマ
16ビットリロードタイマの概要 ......... 160
16ビットリロードタイマのレジスタ一覧
................................ 161
16ビットリロードタイマを使用して起動する
場合 ............................ 188
アンダフロー動作 ..................... 167
外部イベントカウント ................. 168
内部クロック動作 ..................... 167
入力端子機能 ......................... 168
16ビットリロードレジスタ
16ビットリロードレジスタ(TMRLR)のビット構
成 .............................. 166
1検出
1検出 ................................ 305
ビットサーチモジュール ............... 305
1検出データレジスタ
1検出用データレジスタ(BSD1) .......... 304
A
ADCR
データレジスタ(ADCR)の構成 ........... 245
ADCS
コントロールステータスレジスタ(ADCS)の
ビット構成 ...................... 241
コントロールステータスレジスタ(ADCS)の
ビット詳細 ...................... 241
A/Dコンバータ
A/Dコンバータ(逐次変換型) .............. 3
A/Dコンバータ使用上の注意 ............ 252
A/Dコンバータのその他の使用上の注意
................................ 252
A/Dコンバータの特長 .................. 238
A/Dコンバータのレジスタ .............. 240
単発変換モード ....................... 248
停止変換モード ....................... 249
ブロックダイヤグラム ................. 239
変換データ保護機能 ................... 250
連続変換モード ....................... 248
AIC
アナログ入力制御レジスタ(AIC)の構成
................................ 247
AMD0
エリアモードレジスタ0(AMD0)の構成 .... 104
エリアモードレジスタ0(AMD0)のビット機能
................................ 104
AMD1
エリアモードレジスタ1(AMD1)の構成 .... 106
エリアモードレジスタ1(AMD1)のビット機能
................................ 106
AMD32
エリアモードレジスタ32(AMD32)の構成
................................ 107
エリアモードレジスタ32(AMD32)のビット機能
................................ 107
AMD4
エリアモードレジスタ4(AMD4)の構成 .... 108
エリアモードレジスタ4(AMD4)のビット機能
................................ 108
AMD5
エリアモードレジスタ5(AMD5)の構成 .... 109
エリアモードレジスタ5(AMD5)のビット機能
................................ 109
AMR
エリア選択レジスタ(ASR)とエリアマスクレジ
スタ(AMR)構成 ................... 101
347
索引
ASR
エリア選択レジスタ(ASR)とエリアマスクレジ
スタ(AMR)構成 ................... 101
B
BSD0
0検出用データレジスタ(BSD0) .......... 303
BSD1
1検出用データレジスタ(BSD1) .......... 304
BSDC
変化点検出用データレジスタ(BSDC) ..... 304
BSRR
検出結果レジスタ(BSRR) ............... 304
BUSYX
レディ/ビジー信号(RDY/BUSYX) ......... 323
C
CLK同期モード
CLK同期モードの転送データフォーマット
................................ 266
CTBR
タイムベースタイマクリアレジスタ(CTBR)の
レジスタ構成 ..................... 64
D
DACSR
DMACコントロールステータスレジスタ(DACSR)
のビット構成 .................... 280
DMACコントロールステータスレジスタ(DACSR)
のビット詳細 .................... 280
DATCR
DMAC端子コントロールレジスタ(DATCR)のビッ
ト構成 .......................... 282
DMAC端子コントロールレジスタ(DATCR)のビッ
ト詳細 .......................... 282
DDR
データ方向レジスタ(DDR)の構成 ........ 154
DICR
DICRのDLYIビット ..................... 224
遅延割込み制御レジスタ(DICR)の構成 ... 223
DLYIビット
DICRのDLYIビット ..................... 224
DMA
DMAコントローラの特長 ................ 276
DMA転送要求要因一覧表 ................ 276
DMAC
DMAC(DMAコントローラ) .................. 4
DMACコントロールステータスレジスタ(DACSR)
のビット構成 .................... 280
DMACコントロールステータスレジスタ(DACSR)
のビット詳細 .................... 280
DMAC端子コントロールレジスタ(DATCR)のビッ
ト構成 .......................... 282
348
DMAC端子コントロールレジスタ(DATCR)のビッ
ト詳細 .......................... 282
DMAC パ ラ メ ー タ デ ィ ス ク リ プ タ ポ イ ン タ
(DPDP)の構成 .................... 279
DMAコントローラ
DMAC(DMAコントローラ) .................. 4
DMAコントローラ内部レジスタへの転送動作
................................ 299
DMAコントローラのタイミング図 ........ 290
DMAコントローラの特長 ................ 276
DMAコントローラのブロックダイヤグラム
................................ 277
DMAコントローラのレジスタ一覧 ........ 278
リソースの割込要求をDMA転送要求として使用
する場合 ........................ 298
スリープモード中のDMA転送動作 ........ 299
チャネル間優先順位 ................... 298
内部メモリを外部転送する動作 ......... 299
優先度の高い割込発生時のDMA転送禁止
................................ 298
連続転送について ..................... 299
DMA転送禁止
優先度の高い割込発生時のDMA転送禁止
................................ 298
DMA転送動作
スリープモード中のDMA転送動作 ........ 299
DMA転送要求
リソースの割込要求をDMA転送要求として使用
する場合 ・・・・・・・・・・・・・・・・・・・・・・・・ 298
DMA要求抑止レジスタ
DMA要求抑止レジスタ(PDRR)のレジスタ構成
................................. 63
DMA抑止
DMA抑止回路のブロックダイヤグラム ..... 77
DMA抑止の設定 ......................... 78
DPDP
DMAC パ ラ メ ー タ デ ィ ス ク リ プ タ ポ イ ン タ
(DPDP)の構成 .................... 279
E
EHVR
外部割込み要求レベル設定レジスタ
(ELVR,EHVR)の構成 ............... 218
EIRR
外部割込み要因レジスタ(EIRR)の構成 ... 217
EIT
EITからの復帰 ......................... 44
EITの注意事項 ......................... 44
EITの動作............................. 53
EITの割込みレベル ..................... 45
EITベクタテーブル ..................... 49
EIT要因............................... 44
EIT要因受理の優先順位 ................. 51
EIT(例外,割込み,トラップ) ............. 44
特長 ................................. 44
索引
ELVR
外部割込み要求レベル設定レジスタ
(ELVR,EHVR)の構成 ............... 218
ENIR
I
FR CPU
FR CPU ................................. 2
FR-CPU
FR-CPU ROMモード(32ビット,読出しのみ)
................................ 317
FR-CPU プログラミングモード(16ビット,読出
し/書込み) ...................... 317
FSTR
フラッシュメモリステータスレジスタ(FSTR)
の構成 .......................... 314
FWTC
フラッシュメモリウェイトレジスタ(FWTC)の
構成 ............................ 316
I/Oポート
外部端子の機能(I/Oポートまたは制御端子)選
択.............................. 155
ICR
割込み制御レジスタ(ICR)の構成 ........ 229
割込み制御レジスタ(ICR)のビット構成 ... 47
割込み制御レジスタ(ICR)のマッピング ... 47
ICS
インプットキャプチャコントロールレジスタ
(ICS01,ICS23)の構成 ............. 200
ILM
割込みレベルマスクレジスタ(ILM) ....... 46
INT
INT命令の動作 ......................... 54
INTE
INTE命令の動作 ........................ 54
I/O
I/Oポートの基本ブロックダイヤグラム
................................ 152
I/Oポートのレジスタ .................. 152
I/Oマップ............................ 334
IPCP
インプットキャプチャデータレジスタ(IPCP0
∼3)の構成 ...................... 199
Iフラグ
Iフラグ............................... 45
G
L
割込み許可レジスタ(ENIR)の構成 ....... 216
EPCR0
外部端子制御レジスタ0(EPCR0)の構成 ... 110
外部端子制御レジスタ0(EPCR0)のビット機能
................................ 110
EPCR1
外部端子制御レジスタ1(EPCR1)の構成 ... 113
外部端子制御レジスタ1(EPCR1)のビット機能
................................ 113
F
GCN1
LER
ジェネラルコントロールレジスタ1(GCN1)の
ビット構成 ...................... 181
ジェネラルコントロールレジスタ1(GCN1)の
ビット詳細 ...................... 181
GCN2
ジェネラルコントロールレジスタ2(GCN2)の
ビット構成 ...................... 183
GCR
ギア制御レジスタ(GCR)のレジスタ構成 ... 65
H
HRCL
ホールドリクエスト取下げ要求レベル設定レ
ジスタ(HRCL)の構成 .............. 230
HRLC
ホールドリクエスト取下げ要求(HRLC) ... 233
リトルエンディアンレジスタ(LER)の構成
................................ 114
リトルエンディアンレジスタ(LER)のビット機
能.............................. 114
LQFP-100P-M05
LQFP-100P-M05の外形寸法図 .............. 6
M
MBM29LV400TC
MBM29LV400TCとのフラッシュメモリ制御信号
の対応 .......................... 318
MD
モード端子(MD0∼MD2)について .......... 16
MDH
乗除算結果レジスタ(MDH/MDL) ........... 29
MDL
乗除算結果レジスタ(MDH/MDL) ........... 29
MODR
モードレジスタ(MODR) .................. 94
モードレジスタ(MODR)書込み時の注意点
................................. 94
349
索引
O
OCCP
コンペアレジスタ(OCCP0∼3)の構成 ..... 196
OCS
アウトプットコントロールレジスタ(OCS0∼3)
の構成 .......................... 197
PPG動作
PPG動作.............................. 184
PS
プログラムステータスレジスタ(PS) ...... 30
PTMR
PPGタイマレジスタ(PTMR)のビット構成
................................ 180
R
P
RDY
PC
レディ/ビジー信号(RDY/BUSYX) ......... 323
プログラムカウンタ(PC) ................ 27
RETI
PCNH
コントロールステータスレジスタ(PCNH,PCNL)
のビット機能 .................... 175
コントロールステータスレジスタ(PCNH,PCNL)
のビット構成 .................... 175
PCNL
コントロールステータスレジスタ(PCNH,PCNL)
のビット機能 .................... 175
コントロールステータスレジスタ(PCNH,PCNL)
のビット構成 .................... 175
RETI命令の動作 ........................ 56
ROMライタ
ROMライタによる書込み ................ 309
RP
リターンポインタ(RP) .................. 28
RSRR
リセット要因レジスタ(RSRR)とウォッチドッ
グ周期制御レジスタ(WTCR)のレジスタ構
成............................... 60
PCSR
PPG周期設定レジスタのビット構成 ...... 178
PCTR
PLL制御レジスタ(PCTR)のレジスタ構成 ... 69
PDR
S
SCR
シリアルコントロールレジスタ(SCR)のビット
構成 ............................ 259
シリアルコントロールレジスタ(SCR)のビット
詳細 ............................ 259
ポートデータレジスタ(PDR)の構成 ...... 153
PDRR
DMA要求抑止レジスタ(PDRR)のレジスタ構成
................................. 63
PDUT
PPGデューティ設定レジスタ(PDUT)のビット構
成 .............................. 179
PLL
PLLのクロック設定例 ................... 81
PLL制御レジスタ
PLL制御レジスタ(PCTR)のレジスタ構成 ... 69
PPG周期設定レジスタ
PPG周期設定レジスタ(PCSR)のビット構成
................................ 178
PPG出力
PPG出力オール ........................ 187
PPGタイマ
PPGタイマ1チャネル分のブロックダイヤグラ
ム .............................. 173
PPGタイマの全体ブロックダイヤグラム .. 173
PPGタイマの特長 ...................... 172
PPGタイマのレジスタ一覧 .............. 174
ソフトウェアによるPPGタイマ複数チャネル起
動 .............................. 188
PPGタイマレジスタ
PPGタイマレジスタ(PTMR)のビット構成 .. 180
PPGデューティ設定レジスタ
PPGデューティ設定レジスタ(PDUT)のビット構
成 .............................. 179
SIDR
シリアルインプットデータレジスタ(SIDR)の
構成 ............................ 261
SMR
シリアルモードレジスタ(SMR)のビット構成
................................ 257
シリアルモードレジスタ(SMR)のビット詳細
................................ 257
SODR
シリアルアウトプットデータレジスタ(SODR)
の構成 .......................... 261
SSP
システムスタックポインタ(SSP) ..... 28, 48
SSR
シリアルステータスレジスタ(SSR)のビット構
成.............................. 262
シリアルステータスレジスタ(SSR)のビット詳
細.............................. 262
STCR
スタンバイ制御レジスタ(STCR)のレジスタ構
成............................... 62
T
TBR
テーブルベースレジスタ(TBR) ....... 28, 49
350
索引
TCCS
タ イ マコ ント ロー ルス テータ ス レジ スタ
(TCCS)の構成 .................... 194
TCDT
データレジスタ(TCDT)の構成 ........... 193
TMCSR
コントロールステータスレジスタ(TMCSR)の
ビット機能 ...................... 162
コントロールステータスレジスタ(TMCSR)の
ビット構成 ...................... 162
TMR
16ビットタイマレジスタ(TMR)のビット構成
................................ 165
TMRLR
16ビットリロードレジスタ(TMRLR)のビット構
成 .............................. 166
W
WPR
ウォッチドッグリセット発生延期レジスタ
(WPR)のレジスタ構成 .............. 68
WTCR
リセット要因レジスタ(RSRR)とウォッチドッ
グ周期制御レジスタ(WTCR)のレジスタ構
成............................... 60
U
UART
UART .................................. 3
UARTのクロック選択 ................... 264
UARTの使用例 ......................... 271
UARTの動作モード ..................... 264
UARTの特長 ........................... 254
UARTのレジスタ ....................... 256
使用上の注意 ......................... 271
ブロックダイヤグラム ................. 255
割込み発生とフラグ ................... 268
USP
ユーザスタックポインタ(USP) ........... 29
UTIM
Uタイマ値レジスタ(UTIM) .............. 209
UTIMC
U-TIMER制御レジスタ(UTIMC) ........... 210
U-TIMER制御レジスタ(UTIMC)使用上の注意事
項 .............................. 211
U-TIMER制御レジスタ(UTIMC)のビット詳細
................................ 210
U-TIMER
U-TIMERの概要 ........................ 208
U-TIMERのレジスタ一覧 ................ 209
カスケードモード ..................... 212
ボーレートとU-TIMERのリロード値の設定例
................................ 273
ボーレートの計算 ..................... 212
Uタイマ値レジスタ
Uタイマ値レジスタ(UTIM) .............. 209
U-TIMER制御レジスタ
U-TIMER制御レジスタ(UTIMC) ........... 210
U-TIMER制御レジスタ(UTIMC)使用上の注意事
項 .............................. 211
U-TIMER制御レジスタ(UTIMC)のビット詳細
................................ 210
UTIMR
リロードレジスタ(UTIMR) .............. 209
351
索引
<五十音>
あ
アウトプットコントロールレジスタ
アウトプットコントロールレジスタ(OCS0∼3)
の構成 .......................... 197
アセンブラ
アセンブラのソース例 .................. 83
アドレシング
ダイレクトアドレシング領域 ............ 20
アナログ入力制御レジスタ
アナログ入力制御レジスタ(AIC)の構成 .. 247
アンダフロー
アンダフロー動作 ..................... 167
い
イネーブルセクタプロテクト
イネーブルセクタプロテクト ........... 330
インタバルタイマ
その他のインタバルタイマ ............... 3
インプットキャプチャコントロールレジスタ
インプットキャプチャコントロールレジスタ
(ICS01,ICS23)の構成 ............. 200
インプットキャプチャデータレジスタ
インプットキャプチャデータレジスタ(IPCP0
∼3)の構成 ...................... 199
う
ウェイトサイクル
ウェイトサイクル ..................... 132
ウォッチドッグ
ウォッチドッグ制御部のブロックダイヤグラ
ム ............................... 71
ウォッチドッグタイマの起動方法 ........ 71
ウォッチドッグ周期制御レジスタ
リセット要因レジスタ(RSRR)とウォッチドッ
グ周期制御レジスタ(WTCR)のレジスタ構
成 ............................... 60
ウォッチドッグタイマ
ウォッチドッグタイマの起動方法 ........ 71
ウォッチドッグリセット発生延期レジスタ
ウォッチドッグリセット発生延期レジスタ
(WPR)のレジスタ構成 .............. 68
え
エリア選択レジスタ
エリア選択レジスタ(ASR)とエリアマスクレジ
スタ(AMR)の構成 ................. 101
エリアマスクレジスタ
エリア選択レジスタ(ASR)とエリアマスクレジ
スタ(AMR)構成 ................... 101
352
エリアモードレジスタ0
エリアモードレジスタ0(AMD0)の構成 .... 104
エリアモードレジスタ0(AMD0)のビット機能
................................ 104
エリアモードレジスタ1
エリアモードレジスタ1(AMD1)の構成 .... 106
エリアモードレジスタ1(AMD1)のビット機能
................................ 106
エリアモードレジスタ32
エリアモードレジスタ32(AMD32)の構成
................................ 107
エリアモードレジスタ32(AMD32)のビット機能
................................ 107
エリアモードレジスタ4
エリアモードレジスタ4(AMD4)の構成 .... 108
エリアモードレジスタ4(AMD4)のビット機能
................................ 108
エリアモードレジスタ5
エリアモードレジスタ5(AMD5)の構成 .... 109
エリアモードレジスタ5(AMD5)のビット機能
................................ 109
お
オール.................................... 187
か
外形寸法図
LQFP-100P-M05の外形寸法図 .............. 6
外部アクセス
ビッグエンディアンとリトルエンディアンの
外部アクセスの比較 .............. 115
外部イベントカウント
外部イベントカウント ................. 168
外部ウェイトサイクル
外部ウェイトサイクルタイミング ....... 143
外部クロック
外部クロック使用時の注意について ...... 17
外部端子
外部端子の機能(I/Oポートまたは制御端子)選
択.............................. 155
外部端子制御レジスタ0
外部端子制御レジスタ0(EPCR0)の構成... 110
外部端子制御レジスタ0(EPCR0)のビット機能
................................ 110
外部端子制御レジスタ1
外部端子制御レジスタ1(EPCR1)の構成... 113
外部端子制御レジスタ1(EPCR1)のビット機能
................................ 113
外部デバイス
外部デバイスとの接続例 .......... 123, 127
外部転送
内部メモリを外部転送する動作 ......... 299
索引
外部バス
外部バス動作のプログラム仕様例 ....... 148
外部バスリクエスト ................... 132
外部バスアクセス
外部バスアクセス ..................... 120
外部バス動作
外部バス動作のプログラム例 ........... 149
外部リセット
外部リセット入力 ...................... 16
外部割込み
外部割込みの動作 ..................... 219
外部割込みの動作手順 ................. 219
外部割込みのブロックダイヤグラム ..... 214
外部割込みのレジスタ一覧 ............. 215
外部割込み要求レベル ................. 220
ストップからの復帰 ................... 219
外部割込み要因レジスタ
外部割込み要因レジスタ(EIRR)の構成 ... 217
外部割込み要求レベル設定レジスタ
外部割込み要求レベル設定レジスタ
(ELVR,EHVR)の構成 ............... 218
回路形式
入出力回路形式 ........................ 12
カウンタ
カウンタの動作状態 ................... 169
カスケードモード
カスケードモード ..................... 212
き
ギア
ギア機能の設定 ........................ 74
ギア制御部のブロックダイヤグラム ...... 73
ギア制御レジスタ
ギア制御レジスタ(GCR)のレジスタ構成 ... 65
基本ライトサイクル
基本ライトサイクルの動作タイミング ... 135
基本リードサイクル
基本リードサイクルタイミング ......... 133
く
クロック
クロック選択方法 ..................... 147
PLLのクロック設定例 ................... 81
UARTのクロック選択 ................... 264
クロック系参考図 ...................... 82
クロック制御 ........................... 4
クロック制御部
クロック発生部と制御部のブロックダイヤグ
ラム ............................. 59
クロック発生部と制御部のレジスタ一覧 .. 58
クロックダブラ機能
クロックダブラ機能のon/offに伴う注意事項
................................. 80
クロックダブラ機能のon/offによる動作周波
数の組合せ ....................... 80
クロックダブラ機能の起動 .............. 79
クロックダブラ機能の停止 .............. 79
クロック発生部
クロック発生部と制御部のブロックダイヤグ
ラム ............................. 59
クロック発生部と制御部のレジスタ一覧
................................. 58
け
検出結果レジスタ
検出結果レジスタ(BSRR) ............... 304
原振入力
電源投入時の原振入力について .......... 18
こ
コプロセッサ
コプロセッサエラートラップ ............ 56
コプロセッサ不在トラップ .............. 56
コマンドオペレーション
コマンドオペレーション ............... 319
コントロールステータスレジスタ
コントロールステータスレジスタ(PCNH,PCNL)
のビット機能 .................... 175
コントロールステータスレジスタ(PCNH,PCNL)
のビット構成 .................... 175
コントロールステータスレジスタ(ADCS)の
ビット構成 ...................... 241
コントロールステータスレジスタ(ADCS)の
ビット詳細 ...................... 241
コントロールステータスレジスタ(TMCSR)の
ビット機能 ...................... 162
コントロールステータスレジスタ(TMCSR)の
ビット構成 ...................... 162
コンバータ
A/Dコンバータ(逐次変換型) .............. 3
コンペアクリアレジスタ
コンペアクリアレジスタ ............... 193
コンペアレジスタ
コンペアレジスタ(OCCP0∼3)の構成 ..... 196
し
シーケンス
ホールドリクエスト取下げ要求シーケンス
................................ 235
353
索引
ジェネラルコントロールレジスタ1
ジェネラルコントロールレジスタ1(GCN1)の
ビット構成 ...................... 181
ジェネラルコントロールレジスタ1(GCN1)の
ビット詳細 ...................... 181
ジェネラルコントロールレジスタ2
ジェネラルコントロールレジスタ2(GCN2)の
ビット構成 ...................... 183
システムスタックポインタ
システムスタックポインタ(SSP) ..... 28, 48
自動アルゴリズム
自動アルゴリズム実行状態 ............. 308
自動ウェイトサイクル
自動ウェイトサイクルタイミング ....... 142
時分割入出力
時分割入出力指定 ...................... 98
時分割入出力インタフェース
時分割入出力インタフェースの動作タイミン
グ .............................. 144
時分割入出力インタフェース ........... 132
乗除算結果レジスタ
乗除算結果レジスタ(MDH/MDL) ........... 29
使用例
UARTの使用例 ......................... 271
初期化
リセットによる初期化 .................. 57
シリアルアウトプットデータレジスタ
シリアルアウトプットデータレジスタ(SODR)
の構成 .......................... 261
シリアルインプットデータレジスタ
シリアルインプットデータレジスタ(SIDR)の
構成 ............................ 261
シリアルコントロールレジスタ
シリアルコントロールレジスタ(SCR)のビット
構成 ............................ 259
シリアルコントロールレジスタ(SCR)のビット
詳細 ............................ 259
シリアルステータスレジスタ
シリアルステータスレジスタ(SSR)のビット構
成 .............................. 262
シリアルステータスレジスタ(SSR)のビット詳
細 .............................. 262
シリアルモードレジスタ
シリアルモードレジスタ(SMR)のビット構成
................................ 257
シリアルモードレジスタ(SMR)のビット詳細
................................ 257
シングル/ブロック転送
シングル/ブロック転送モード .......... 287
す
水晶発振
水晶発振回路について .................. 16
スタック
割込みスタック ........................ 48
354
スタンバイ制御レジスタ
スタンバイ制御レジスタ(STCR)のレジスタ構
成............................... 62
スタンバイモード
スタンバイモード状態遷移図 ............ 92
スタンバイモード(ストップ/スリープ)からの
復帰 ............................ 232
スタンバイモードの動作一覧 ............ 85
ステップトレーストラップ
ステップトレーストラップの動作 ........ 55
ストップ
スタンバイモード(ストップ/スリープ)からの
復帰 ............................ 232
ストップおよびスリープに入れるプログラム
の配置アドレス ................... 85
ストップからの復帰 ................... 219
ストップ制御部のブロックダイヤグラム
................................. 86
ストップ状態
ストップ状態の概要 .................... 84
ストップ状態からの復帰 ................ 88
ストップ状態への移行 .................. 86
スリープ/ストップ状態からの復帰 ....... 17
スリープ
スタンバイモード(ストップ/スリープ)からの
復帰 ............................ 232
ストップおよびスリープに入れるプログラム
の配置アドレス ................... 85
スリープ状態からの復帰 ................ 91
スリープ状態への移行 .................. 90
スリープ制御部のブロックダイヤグラム
................................. 90
スリープモード中のDMA転送動作 ........ 299
スリープ状態
スリープ状態の概要 .................... 84
スリープ/ストップ状態からの復帰 ....... 17
せ
制御信号
データバス幅と制御信号との関係
........................... 115, 116
制御端子
外部端子の機能(I/Oポートまたは制御端子)選
択.............................. 155
制御レジスタ
制御レジスタ ......................... 234
セクタ構成
フラッシュメモリのセクタ構成(MB91F127)
................................ 310
フラッシュメモリのセクタ構成(MB91F128)
................................ 311
索引
セットタイミング
モード0の受信動作時割込みフラグのセットタ
イミング ........................ 268
モード0,モード1,モード2の送信動作時割込み
フラグのセットタイミング ........ 270
モード1の受信動作時割込みフラグのセットタ
イミング ........................ 269
モード2の受信動作時割込みフラグのセットタ
イミング ........................ 269
セクタプロテクト一時解除
セクタプロテクト一時解除 ............. 332
セクタプロテクトオペレーション
イネーブルセクタプロテクト ........... 330
セクタプロテクト一時解除 ............. 332
セクタプロテクトオペレーション一覧 ... 329
ベリファイセクタプロテクト ........... 330
専用レジスタ
専用レジスタ一覧 ...................... 27
そ
ソフトウェア
ソフトウェアによるPPGタイマ複数チャネル起
動 .............................. 188
た
退避
退避/復帰の処理 ...................... 306
タイマコントロールステータレジスタ
タ イ マコ ント ロー ルス テータ ス レジ スタ
(TCCS)の構成 .................... 194
タイミング
基本リードサイクルタイミング ......... 133
タイミング図
タイミング図で使用している記号の説明
................................ 290
タイムベースタイマ
タイムベースタイマ .................... 72
タイムベースタイマクリアレジスタ
タイムベースタイマクリアレジスタ(CTBR)の
レジスタ構成 ..................... 64
ダイレクトアドレシング
ダイレクトアドレシング領域 ............ 20
多機能タイマ
多機能タイマの構成 ................... 190
多機能タイマの動作説明 ............... 201
多機能タイマユニットのレジスタ一覧 ... 192
多機能タイマユニット
多機能タイマユニットのブロックダイヤグラ
ム .............................. 191
端子
NC端子の処理について .................. 16
端子機能説明 ........................... 8
端子状態一覧表の用語説明 ............. 342
端子配列図 ............................. 7
電源端子の接続(VCC,VSS)について......... 16
電源投入時の端子状態について .......... 18
未使用入力端子の処理のついて .......... 16
モード端子(MD0∼MD2)について .......... 16
端子状態
端子状態一覧表 ....................... 343
端子状態一覧表の用語説明 ............. 342
単発変換モード
単発変換モード ....................... 248
ち
遅延スロット付き
遅延スロット付き分岐命令 .............. 41
遅延スロット付き分岐命令の制限事項 .... 42
遅延スロット付き分岐命令の動作説明 .... 41
遅延スロットなし
遅延スロットなし分岐命令 .............. 43
遅延スロットなし分岐命令の動作説明 .... 43
遅延割込み制御レジスタ
遅延割込み制御レジスタ(DICR)の構成 ... 223
遅延割込みモジュール
DICRのDLYIビット ..................... 224
遅延割込みモジュールのブロックダイヤグラ
ム.............................. 222
遅延割込みモジュールのレジスタ一覧 ... 223
割込み番号 ........................... 224
チップセレクト
チップセレクト領域 .................... 97
チャネル間
チャネル間優先順位 ................... 298
調歩同期モード
非同期(調歩同期)モードの転送データフォー
マット .......................... 265
つ
通常バスアクセス
通常バスアクセス ..................... 132
て
停止変換モード
停止変換モード ....................... 249
低消費電力
低消費電力モード ....................... 4
ディスクリプタ
ディスクリプタアクセス部のタイミング図
................................ 291
ディスクリプタ先頭ワードの構成 ....... 284
ディスクリプタ第3ワードの構成 ........ 286
ディスクリプタ第2ワードの構成 ........ 286
データアクセス
データアクセス ........................ 36
データ転送
データ転送部,16/8ビットデータ ........ 293
355
索引
データバス幅
データバス幅 ......................... 119
データバス幅 ......................... 126
データバス幅と制御信号との関係
........................... 115, 116
データフォーマット
データフォーマット .............. 118, 125
データ方向レジスタ
データ方向レジスタ(DDR)の構成 ........ 154
データレジスタ
データレジスタ(ADCR)の構成 ........... 245
データレジスタ(TCDT)の構成 ........... 193
テーブルベースレジスタ
テーブルベースレジスタ(TBR) ....... 28, 49
電源投入
電源投入時について .................... 18
電源投入時の原振入力について .......... 18
電源投入時の端子状態について .......... 18
転送停止
連続転送モードでの転送停止(いずれか一方の
アドレスは固定である場合)16/8ビット
データ .......................... 294
連続転送モードでの転送停止(両方のアドレス
が変化する場合)16/8ビットデータ
................................ 295
転送データ
CLK同期モードの転送データフォーマット
................................ 266
非同期(調歩同期)モードの転送データフォー
マット .......................... 265
転送動作
DMAコントローラ内部レジスタへの転送動作
................................ 299
転送の終了動作
転送の終了動作(いずれか一方のアドレスは固
定である場合) ................... 296
転送の終了動作タイミング図 ........... 296
転送の終了動作(両方のアドレスが変化する場
合) ............................. 297
転送モード
シングル/ブロック転送モード .......... 287
バースト転送モード ................... 289
連続転送モード ....................... 288
と
動作周波数
クロックダブラ機能のon/offによる動作周波
数の組合せ ....................... 80
動作モード
UARTの動作モード ..................... 264
動作モード ............................ 93
特長
FR CPU ................................. 2
その他の特長 ........................... 4
トラップ
EIT(例外,割込み,トラップ) ............. 44
356
な
内蔵RAM
内蔵RAM 14KB .......................... 2
内部アーキテクチャ
特長 ................................. 23
内部アーキテクチャ .................... 24
内部クロック
内部クロック動作 ..................... 167
内部メモリ
内部メモリを外部転送する動作 ......... 299
に
入出力回路形式
入出力回路形式 ........................ 12
入力端子
入力端子機能 ......................... 168
未使用入力端子の処理のついて .......... 16
は
バースト転送
バースト転送モード ................... 289
ハードウェア
ハードウェアシーケンスフラグ ......... 323
ハードウェアシーケンスフラグの使用例
................................ 327
ハードウェア構成
ハードウェア構成 ..................... 234
割込みコントローラのハードウェア構成
................................ 226
ハーフワードアクセス
ハーフワードアクセス ................. 129
バイトアクセス
バイトアクセス ....................... 130
バイトオーダリング
バイトオーダリング .................... 35
バスアクセス
通常バスアクセス ..................... 132
ビッグエンディアンのバスアクセス ..... 115
リトルエンディアンのバスアクセス ..... 115
バスインタフェース
バスインタフェースのブロックダイヤグラム
................................. 99
バスインタフェースのレジスタ一覧 ..... 100
バスインタフェース ................. 2, 98
バスインタフェースの特長 .............. 96
バス権
バス権解放 ........................... 146
バス権獲得 ........................... 146
バスサイズ
バスサイズ指定 ........................ 98
パワーオンリセット
パワーオンリセットの初期化について .... 18
索引
汎用レジスタ
汎用レジスタ .......................... 34
ひ
ビジー信号
レディ/ビジー信号(RDY/BUSYX) ......... 323
ビッグエンディアン
ビッグエンディアンとリトルエンディアンの
外部アクセスの比較 .............. 115
ビッグエンディアンのバスアクセス ..... 115
ビットオーダリング
ビットオーダリング .................... 35
ビットサーチモジュール
退避/復帰の処理 ...................... 306
ビットサーチモジュール ................. 4
ビットサーチモジュールのブロックダイヤグ
ラム ............................ 302
ビットサーチモジュールのレジスタ一覧
................................ 303
非同期モード
非同期(調歩同期)モードの転送データフォー
マット .......................... 265
ふ
複数チャネル
ソフトウェアによるPPGタイマ複数チャネル起
動 .............................. 188
復帰
退避/復帰の処理 ...................... 306
フラグ
割込み発生とフラグ ................... 268
フラッシュメモリ
MBM29LV400TCとのフラッシュメモリ制御信号
の対応 .......................... 318
ROMライタによる書込み ................ 309
自動アルゴリズム実行状態 ............. 308
フラッシュメモリ ....................... 4
フラッシュメモリの概要 ............... 308
フラッシュメモリのセクタ構成(MB91F127)
................................ 310
フラッシュメモリのセクタ構成(MB91F128)
................................ 311
フラッシュメモリのブロックダイヤグラム
................................ 309
フラッシュメモリのレジスタ一覧 ....... 313
フラッシュメモリモード ............... 318
割込み制御 ........................... 309
フラッシュメモリウェイトレジスタ
フラッシュメモリウェイトレジスタ(FWTC)の
構成 ............................ 316
フラッシュメモリステータスレジスタ
フラッシュメモリステータスレジスタ(FSTR)
の構成 .......................... 314
プログラムアクセス
プログラムアクセス .................... 36
プログラムカウンタ
プログラムカウンタ(PC) ................ 27
プログラムステータスレジスタ
プログラムステータスレジスタ(PS) ...... 30
ブロックダイヤグラム
16ビットリロードタイマのブロックダイヤグ
ラム ............................ 160
A/Dコンバータのブロックダイヤグラム
................................ 239
DMAコントローラのブロックダイヤグラム
................................ 277
DMA抑止回路のブロックダイヤグラム ..... 77
I/Oポートの基本ブロックダイヤグラム
................................ 152
PPGタイマ1チャネル分のブロックダイヤグラ
ム.............................. 173
PPGタイマの全体ブロックダイヤグラム
................................ 173
UARTのブロックダイヤグラム ........... 255
U-TIMERのブロックダイヤグラム ........ 208
ウォッチドッグ制御部のブロックダイヤグラ
ム............................... 71
外部割込みのブロックダイヤグラム ..... 214
ギア制御部のブロックダイヤグラム ...... 73
クロック発生部と制御部のブロックダイヤグ
ラム ............................. 59
ストップ制御部のブロックダイヤグラム
................................. 86
スリープ制御部のブロックダイヤグラム
................................. 90
多機能タイマユニットのブロックダイヤグラ
ム.............................. 191
遅延割込みモジュールのブロックダイヤグラ
ム.............................. 222
バスインタフェースのブロックダイヤグラム
................................. 99
ビットサーチモジュールのブロックダイヤグ
ラム ............................ 302
フラッシュメモリのブロックダイヤグラム
................................ 309
ブロックダイヤグラム ................... 5
リセット要因保持回路のブロックダイヤグラ
ム............................... 75
割込みコントローラのブロックダイヤグラム
................................ 226
分岐命令
遅延スロット付き分岐命令 .............. 41
遅延スロット付き分岐命令の制限事項 .... 42
遅延スロット付き分岐命令の動作説明 .... 41
遅延スロットなし分岐命令 .............. 43
遅延スロットなし分岐命令の動作説明 .... 43
357
索引
へ
ベリファイセクタプロテクト
ベリファイセクタプロテクト ........... 330
変化点検出
ビットサーチモジュール ............... 306
変化点検出 ........................... 306
変化点検出用データレジスタ
変化点検出用データレジスタ(BSDC) ..... 304
変換データ
変換データ保護機能 ................... 250
ほ
ポートデータレジスタ
ポートデータレジスタ(PDR)の構成 ...... 153
ホールドリクエスト取下げ要求
制御レジスタ ......................... 234
ハードウェア構成 ..................... 234
ホールドリクエスト取下げ要求(HRLC) ... 233
ホールドリクエスト取下げ要求シーケンス
................................ 235
ホールドリクエスト取下げ要求レベル設定レジスタ
ホールドリクエスト取下げ要求レベル設定レ
ジスタ(HRCL)の構成 .............. 230
ボーレート
ボーレートとU-TIMERのリロード値の設定例
................................ 273
ボーレートの計算 ..................... 212
モード0,モード1,モード2の送信動作時割込み
フラグのセットタイミング ........ 270
モード1
モード0,モード1,モード2の送信動作時割込み
フラグのセットタイミング ........ 270
モード1の受信動作時割込みフラグのセットタ
イミング ........................ 269
モード2
モード0,モード1,モード2の送信動作時割込み
フラグのセットタイミング ........ 270
モード2の受信動作時割込みフラグのセットタ
イミング ........................ 269
モード端子
モード端子 ............................ 93
モードデータ
モードデータ .......................... 93
モードレジスタ
モードレジスタ(MODR) .................. 94
モードレジスタ(MODR)書込み時の注意点
................................. 94
ゆ
ま
ユーザスタックポインタ
ユーザスタックポインタ(USP) ........... 29
ユーザ割込み
ユーザ割込みの動作 .................... 53
優先順位判定
優先順位判定 ......................... 231
優先度の高い割込み
優先度の高い割込発生時のDMA転送禁止
................................ 298
マッピング
割込み制御レジスタ(ICR)のマッピング ... 47
ら
み
未定義命令
未定義命令例外の動作 .................. 55
め
命令
命令概要 .............................. 39
メモリマップ
FRファミリ共通のメモリマップ .......... 38
MB91F127/128のメモリマップ ............ 37
メモリマップ .......................... 21
も
モード0
モード0の受信動作時割込みフラグのセットタ
イミング ........................ 268
358
ライトサイクル
ライトサイクルタイミング ............. 139
ラッチアップ
ラッチアップ防止のために .............. 16
り
リードサイクル
各モードでのリードサイクルの動作タイミン
グ.............................. 137
リード/ライト混在サイクル
リード/ライト混在サイクルタイミング
................................ 141
リセット
リセットシーケンス .................... 57
リセットによる初期化 .................. 57
リセット発生延期方法 .................. 72
リセット要因 ....................... 4, 57
索引
リセット要因保持
リセット要因保持回路のブロックダイヤグラ
ム ............................... 75
リセット要因保持の設定 ................ 76
リセット要因レジスタ
リセット要因レジスタ(RSRR)とウォッチドッ
グ周期制御レジスタ(WTCR)のレジスタ構
成 ............................... 60
リソースの割込要求
リソースの割込要求をDMA転送要求として使用
する場合 ........................ 298
リターンポインタ
リターンポインタ(RP) .................. 28
リトルエンディアン
ビッグエンディアンとリトルエンディアンの
外部アクセスの比較 .............. 115
リトルエンディアンの概要 ............. 124
リトルエンディアンのバスアクセス ..... 115
リトルエンディアンレジスタ
リトルエンディアンレジスタ(LER)の構成
................................ 114
リトルエンディアンレジスタ(LER)のビット機
能 .............................. 114
領域
チップセレクト領域 .................... 97
リロードタイマ
リロードタイマ ......................... 3
リロード値
ボーレートとU-TIMERのリロード値の設定例
................................ 273
リロードレジスタ
リロードレジスタ(UTIMR) .............. 209
れ
例外
EIT(例外,割込み,トラップ) ............. 44
レジスタ一覧
16ビットリロードタイマのレジスタ一覧
................................ 161
DMAコントローラのレジスタ一覧 ........ 278
クロック発生部と制御部のレジスタ一覧 .. 58
専用レジスタ一覧 ...................... 27
レディ信号
レディ/ビジー信号(RDY/BUSYX) ......... 323
レベルマスク
割込みに対するレベルマスク ............ 46
連続転送
連続転送について ..................... 299
連続転送モード ....................... 288
連続転送モードでの転送停止(いずれか一方の
アドレスは固定である場合)16/8ビット
データ .......................... 294
連続転送モードでの転送停止タイミング図
................................ 294
連続転送モードでの転送停止(両方のアドレス
が変化する場合)16/8ビットデータ
................................ 295
連続変換モード
連続変換モード ....................... 248
わ
ワードアクセス
ワードアクセス ....................... 128
割込み
EITの割込みレベル ..................... 45
EIT(例外,割込み,トラップ) ............. 44
割込み............................... 186
割込みスタック ........................ 48
割込み制御 ........................... 309
割込みに対するレベルマスク ............ 46
割込みベクタ ......................... 340
割込み許可レジスタ
割込み許可レジスタ(ENIR)の構成 ....... 216
割込みコントローラ
優先順位判定 ......................... 231
割込みコントローラ ..................... 3
割込みコントローラの主要機能 ......... 226
割込みコントローラのハードウェア構成
................................ 226
割込みコントローラのレジスタ一覧 ..... 227
割込み制御レジスタ
割込み制御レジスタ(ICR)のビット構成 ... 47
割込み制御レジスタ(ICR)の構成 ........ 229
割込み制御レジスタ(ICR)のマッピング ... 47
割込み発生
割込み発生とフラグ ................... 268
割込み番号
割込み番号 ........................... 224
割込みフラグ
モード0の受信動作時割込みフラグのセットタ
イミング ........................ 268
モード0,モード1,モード2の送信動作時割込み
フラグのセットタイミング ........ 270
モード1の受信動作時割込みフラグのセットタ
イミング ........................ 269
モード2の受信動作時割込みフラグのセットタ
イミング ........................ 269
割込み要因
割込み要因の解除 ..................... 232
割込みレベルマスクレジスタ
割込みレベルマスクレジスタ(ILM) ....... 46
ワンショット動作
ワンショット動作 ..................... 185
359
索引
360
CM71-10115-1
富士通半導体デバイス・CNTROLLER
MANUAL
富士通半導体デバイス
FR30
32ビット マイクロコントローラ
MB91F127/128
ハードウェアマニュアル
2002年02月 初版発行
発 行
富士通株式会社
編 集
技術標準部
電子デバイス事業本部
技術情報開発部