8.2MB

本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。
富士通マイクロエレクトロニクス
CONTROLLER MANUAL
CM44-10117-3
F2MC-16LX
16 ビット・マイクロコントローラ
MB90440G Series
ハードウェアマニュアル
F2MC-16LX
16 ビット・マイクロコントローラ
MB90440G Series
ハードウェアマニュアル
富士通マイクロエレクトロニクスのマイコンを効率的に開発するための情報を下記 URL にてご紹介いたします。
ご採用を検討中 , またはご採用いただいたお客様に有益な情報を公開しています。
開発における最新の注意事項に関しては , 必ず「Check Sheet」を参照してください。
「Check Sheet」はシステム開発において , 問題を未然に防ぐことを目的として , 最低限必要と思われるチェック
項目をリストにしたものです。
http://edevice.fujitsu.com/micom/jp-support/
富士通マイクロエレクトロニクス株式会社
はじめに
■ 本書の目的と対象読者
富士通マイクロエレクトロニクス製品につきまして,平素より格別のご愛読を賜り厚く
お礼申し上げます。
MB90440G シリーズは ,ASIC(Application Specific IC) 対応が可能なオリジナル 16 ビッ
ト・ワンチップマイクロコントローラである F2MC-16LX ファミリの汎用品の 1 つとし
て開発された製品です。
本書は , 実際にこの半導体を使って製品を設計する技術者の方を対象に ,MB90440G シ
リーズの機能や動作について記載しています。本書をご一読ください。
■ 商標
F2MCは, FUJITSU Flexible Microcontrollerの略で富士通マイクロエレクトロニクス株式
会社の商標です。
その他の記載されている社名および製品名などの固有名詞は , 各社の商標または登録
商標です。
i
■ 本書の全体構成
本書は , 以下に示す 25 の章および付録から構成されています。
第 1 章 概要
MB90440G シリーズの特長と基本的な仕様について説明します。
第 2 章 CPU
CPU について説明します。
第 3 章 割込み
割込みの機能と動作について説明します。
第 4 章 クロック
クロックについて説明します。
第 5 章 低消費電力モード
低消費電力モードについて説明します。
第 6 章 リセット
リセットについて説明します。
第 7 章 メモリアクセスモード
メモリアクセスモードの機能と動作について説明します。
第 8 章 I/O ポート
I/O ポートの機能について説明します。
第 9 章 タイムベースタイマ
タイムベースタイマの機能と動作について説明します。
第 10 章 ウォッチドッグタイマ
ウオッチドッグタイマの機能と動作について説明します。
第 11 章 時計タイマ
時計タイマの機能と動作について説明します。
第 12 章 16 ビット入出力タイマ
16 ビット入出力タイマの機能と動作について説明します。
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付 )
16 ビットリロードタイマ ( イベントカウント機能付 ) の機能と動作について説明し
ます。
第 14 章 8/16 ビット PPG
8/16 ビット PPG の機能と動作について説明します。
第 15 章 遅延割込み
遅延割込みの機能と動作について説明します。
第 16 章 DTP/ 外部割込み
DTP/ 外部割込みの機能と動作について説明します。
第 17 章 A/D コンバータ
A/D コンバータの機能と動作について説明します。
第 18 章 UART0
UART0 の機能と動作について示します。
ii
第 19 章 UART1(SCI)
UART1(SCI) の機能と動作について示します。
第 20 章 シリアル I/O
シリアル I/O の機能と動作について示します。
第 21 章 CAN コントローラ
CAN コントローラの機能と概要について説明します。
第 22 章 アドレス一致検出機能
アドレス一致検出の機能と動作について説明します。
第 23 章 ROM ミラー機能 選択モジュール
ROM ミラー機能選択モジュールについて説明します。
第 24 章 1M ビット フラッシュメモリ
1M ビットフラッシュメモリの機能と動作について説明します。フラッシュメモリ
へのデータ書込み / 消去の方法には , 下記の 3 とおりの方法があります。1) パラレ
ルライタ 2) シリアル専用ライタ 3) プログラム実行による書込み/消去 ここでは,"3)
プログラム実行による書込み / 消去 " について解説します。
第 25 章 MB90F443G シリアル書込み接続例
横河ディジタルコンピュータ株式会社製 AF220/AF210/AF120/AF110 フラッシュマ
イコンプログラマを用いた場合の , シリアル書込みの接続例について説明します。
付録
ここでは ,I/O マップ , 命令一覧表などを掲載します。
iii
•
•
•
•
•
•
•
本資料の記載内容は , 予告なしに変更することがありますので , ご用命の際は営業部門にご確認くださ
い。
本資料に記載された動作概要や応用回路例は , 半導体デバイスの標準的な動作や使い方を示したもので ,
実際に使用する機器での動作を保証するものではありません。したがいまして , これらを使用するにあ
たってはお客様の責任において機器の設計を行ってください。これらの使用に起因する損害などについ
ては , 当社はその責任を負いません。
本資料に記載された動作概要・回路図を含む技術情報は , 当社もしくは第三者の特許権 , 著作権等の知的
財産権やその他の権利の使用権または実施権の許諾を意味するものではありません。また , これらの使用
について , 第三者の知的財産権やその他の権利の実施ができることの保証を行うものではありません。し
たがって , これらの使用に起因する第三者の知的財産権やその他の権利の侵害について , 当社はその責任
を負いません。
本資料に記載された製品は , 通常の産業用 , 一般事務用 , パーソナル用 , 家庭用などの一般的用途に使用
されることを意図して設計・製造されています。極めて高度な安全性が要求され , 仮に当該安全性が確保
されない場合 , 社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途(原子力
施設における核反応制御 , 航空機自動飛行制御 , 航空交通管制 , 大量輸送システムにおける運行制御 , 生
命維持のための医療機器 , 兵器システムにおけるミサイル発射制御をいう), ならびに極めて高い信頼性
が要求される用途(海底中継器 , 宇宙衛星をいう)に使用されるよう設計・製造されたものではありませ
ん。したがって , これらの用途にご使用をお考えのお客様は , 必ず事前に営業部門までご相談ください。
ご相談なく使用されたことにより発生した損害などについては , 責任を負いかねますのでご了承くださ
い。
半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても , 結果的に人身事故 ,
火災事故 , 社会的な損害を生じさせないよう , お客様は , 装置の冗長設計 , 延焼対策設計 , 過電流防止対策
設計 , 誤動作防止設計などの安全設計をお願いします。
本資料に記載された製品を輸出または提供する場合は , 外国為替及び外国貿易法および米国輸出管理関
連法規等の規制をご確認の上 , 必要な手続きをおとりください。
本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商標です。
Copyright©2001-2008 FUJITSU MICROELECTRONICS LIMITED All rights reserved.
iv
目次
第1章
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
第2章
概要 ............................................................................................................ 1
製品概要 ................................................................................................................................. 2
特長 ........................................................................................................................................ 3
ブロックダイヤグラム............................................................................................................ 5
パッケージ外形寸法図............................................................................................................ 6
端子配列図.............................................................................................................................. 7
端子機能説明 .......................................................................................................................... 8
入出力回路形式 .................................................................................................................... 15
デバイスの取扱いに関する注意事項 .................................................................................... 17
CPU.......................................................................................................... 21
2.1 CPU の概要 .......................................................................................................................... 22
2.2 メモリ空間............................................................................................................................ 23
2.3 メモリ空間マップ ................................................................................................................. 24
2.4 リニア方式によるアドレス指定 ........................................................................................... 25
2.5 バンク方式によるアドレス指定 ........................................................................................... 26
2.6 メモリ空間における多バイト長データ................................................................................. 28
2.7 レジスタ ............................................................................................................................... 29
2.7.1
アキュムレータ (A)..................................................................................................... 32
2.7.2
ユーザスタックポインタ (USP) とシステムスタックポインタ (SSP) ....................... 33
2.7.3
プロセッサステータス (PS) ....................................................................................... 34
2.7.4
プログラムカウンタ (PC)........................................................................................... 37
2.8 レジスタバンク .................................................................................................................... 38
2.9 プリフィックスコード.......................................................................................................... 40
2.10 割込み抑止命令 .................................................................................................................... 43
第3章
割込み ...................................................................................................... 45
3.1 割込みの概要 ........................................................................................................................ 46
3.2 割込み要因............................................................................................................................ 47
3.3 割込みベクタ ........................................................................................................................ 49
3.4 ハードウェア割込み ............................................................................................................. 51
3.4.1
ハードウェア割込みの動作 ........................................................................................ 53
3.4.2
ハードウェア割込みの動作フロー.............................................................................. 55
3.5 ソフトウェア割込み ............................................................................................................. 56
3.6 拡張インテリジェント I/O サービス (EI2OS) ....................................................................... 58
3.6.1
割込み制御レジスタ (ICR).......................................................................................... 60
3.6.2
拡張インテリジェント I/O サービスディスクリプタ (ISD) ........................................ 63
3.6.3
拡張インテリジェント I/O サービス (EI2OS) の動作 ................................................. 67
3.6.4
拡張インテリジェント I/O サービス (EI2OS) の実行時間 .......................................... 69
3.7 未定義命令の実行による例外発生........................................................................................ 70
第4章
4.1
4.2
クロック................................................................................................... 71
クロックの概要 .................................................................................................................... 72
クロック発生部のブロックダイヤグラム ............................................................................. 74
v
4.3
4.4
4.5
4.6
第5章
クロック選択レジスタ (CKSCR).......................................................................................... 76
クロックモード .................................................................................................................... 80
発振安定待ち時間 ................................................................................................................. 83
振動子と外部クロックの接続 ............................................................................................... 84
低消費電力モード .................................................................................... 85
5.1 低消費電力モードの概要 ...................................................................................................... 86
5.2 低消費電力制御回路のブロックダイヤグラム...................................................................... 89
5.3 低消費電力モード制御レジスタ (LPMCR) ........................................................................... 91
5.4 CPU 間欠動作モード ............................................................................................................ 94
5.5 スタンバイモード ................................................................................................................. 95
5.5.1
スリープモード .......................................................................................................... 96
5.5.2
タイムベースタイマモード ........................................................................................ 99
5.5.3
時計モード ............................................................................................................... 101
5.5.4
ストップモード ........................................................................................................ 104
5.6 状態遷移図.......................................................................................................................... 107
5.7 スタンバイモード , ホールド , リセット時の端子状態 ....................................................... 109
5.8 低消費電力モード使用上の注意 ......................................................................................... 112
第6章
6.1
6.2
6.3
6.4
6.5
6.6
第7章
リセット................................................................................................. 115
リセットの概要 .................................................................................................................. 116
リセット要因と発振安定待ち時間...................................................................................... 118
外部リセット端子 ............................................................................................................... 119
リセット動作 ...................................................................................................................... 120
リセット要因ビット ........................................................................................................... 122
リセットによる各端子の状態 ............................................................................................. 124
メモリアクセスモード ........................................................................... 125
7.1 メモリアクセスモードの概要 ............................................................................................. 126
7.1.1
モード端子 ............................................................................................................... 127
7.1.2
モードデータ ............................................................................................................ 128
7.1.3
バスモード別メモリ空間 .......................................................................................... 129
7.2 外部メモリアクセス ( バス端子制御回路 ) ......................................................................... 131
7.2.1
外部メモリアクセス ( 外部バス端子制御回路 ) のレジスタ ..................................... 132
7.2.2
自動レディ機能選択レジスタ (ARSR) ..................................................................... 133
7.2.3
外部アドレス出力制御レジスタ (HACR).................................................................. 135
7.2.4
バス制御信号選択レジスタ (ECSR) ......................................................................... 136
7.3 外部メモリアクセス制御信号の動作 .................................................................................. 139
7.3.1
レディ機能 ............................................................................................................... 141
7.3.2
ホールド機能 ............................................................................................................ 143
第8章
I/O ポート............................................................................................... 145
8.1 I/O ポート ........................................................................................................................... 146
8.2 I/O ポートの入力レベル...................................................................................................... 147
8.3 I/O ポートのレジスタ一覧 .................................................................................................. 148
8.3.1
ポートデータレジスタ (PDR)................................................................................... 149
8.3.2
ポート入力レベル選択レジスタ (PILR).................................................................... 150
8.3.3
ポート方向レジスタ (DDR) ...................................................................................... 151
8.3.4
プルアップ制御レジスタ (PUCR) ............................................................................ 152
vi
8.3.5
第9章
9.1
9.2
9.3
アナログ入力許可レジスタ (ADER) ......................................................................... 153
タイムベースタイマ............................................................................... 155
タイムベースタイマの概要................................................................................................. 156
タイムベースタイマ制御レジスタ (TBTC) ......................................................................... 157
タイムベースタイマの動作................................................................................................. 159
第 10 章
ウォッチドッグタイマ ........................................................................... 161
10.1 ウォッチドッグタイマの概要 ............................................................................................. 162
10.2 ウォッチドッグタイマ制御レジスタ (WDTC) .................................................................... 163
10.3 ウォッチドッグタイマの動作 ............................................................................................. 165
第 11 章
時計タイマ ............................................................................................. 167
11.1 時計タイマの概要 ............................................................................................................... 168
11.2 時計タイマ制御レジスタ (WTC)......................................................................................... 169
11.3 時計タイマの動作 ............................................................................................................... 171
第 12 章
16 ビット入出力タイマ .......................................................................... 173
12.1 16 ビット入出力タイマの概要............................................................................................ 174
12.2 16 ビット入出力タイマのレジスタ .................................................................................... 176
12.3 16 ビットフリーランタイマ ............................................................................................... 177
12.3.1
16 ビットフリーランタイマのレジスタ ................................................................... 178
12.3.2
タイマコントロールステータスレジスタ................................................................. 179
12.3.3
16 ビットフリーランタイマの動作 .......................................................................... 181
12.4 アウトプットコンペア........................................................................................................ 183
12.4.1
アウトプットコンペアのレジスタ............................................................................ 184
12.4.2
アウトプットコンペアのコントロールステータスレジスタ .................................... 185
12.4.3
16 ビットアウトプットコンペアの動作 ................................................................... 188
12.5 インプットキャプチャ........................................................................................................ 190
12.5.1
インプットキャプチャのレジスタ............................................................................ 191
12.5.2
16 ビットインプットキャプチャの動作 ................................................................... 193
第 13 章
16 ビットリロードタイマ ( イベントカウント機能付 ).......................... 195
13.1 16 ビットリロードタイマ ( イベントカウント機能付 ) の概要 .......................................... 196
13.2 16 ビットリロードタイマのレジスタ................................................................................. 198
13.2.1
タイマコントロールステータスレジスタ (TMCSR)................................................. 199
13.2.2
16 ビットタイマレジスタ (TMR) /16 ビットリロードレジスタ
(TMRLR) のレジスタ配置......................................................................................... 202
13.3 16 ビットリロードタイマの内部クロック動作と外部クロック動作 .................................. 203
13.4 16 ビットリロードタイマのアンダフロー動作 .................................................................. 205
13.5 16 ビットリロードタイマの出力端子機能.......................................................................... 206
13.6 カウンタの動作状態 ........................................................................................................... 207
第 14 章
8/16 ビット PPG .................................................................................... 209
14.1 8/16 ビット PPG の概要..................................................................................................... 210
14.2 8/16 ビット PPG のブロックダイヤグラム ........................................................................ 211
14.3 8/16 ビット PPG のレジスタ.............................................................................................. 213
14.3.1
PPG0 動作モード制御レジスタ (PPGC0) ................................................................ 214
14.3.2
PPG1 動作モード制御レジスタ (PPGC1) ................................................................ 216
vii
14.3.3
PPG0/1 クロック選択レジスタ (PPG01) ................................................................. 219
14.3.4
リロードレジスタ (PRLL, PRLH)............................................................................. 220
14.4 8/16 ビット PPG の動作..................................................................................................... 221
14.5 8/16 ビット PPG のカウントクロックの選択 .................................................................... 223
14.6 8/16 ビット PPG のパルスの端子出力の制御 .................................................................... 224
14.7 8/16 ビット PPG の割込み ................................................................................................. 225
14.8 8/16 ビット PPG の各ハードウェアの初期値 .................................................................... 226
第 15 章
遅延割込み ............................................................................................. 229
15.1 遅延割込みモジュールの概要 ............................................................................................. 230
15.2 遅延割込みのレジスタ........................................................................................................ 231
15.3 遅延割込みの動作 ............................................................................................................... 232
第 16 章
16.1
16.2
16.3
16.4
16.5
DTP/ 外部割込み .................................................................................... 233
DTP/ 外部割込みの概要...................................................................................................... 234
DTP/ 外部割込みのレジスタ............................................................................................... 235
DTP/ 外部割込みの動作...................................................................................................... 237
DTP 要求と外部割込み要求の切換え ................................................................................. 240
DTP/ 外部割込みの使用上の注意 ....................................................................................... 241
第 17 章
A/D コンバータ ...................................................................................... 243
17.1 A/D コンバータの特長 ........................................................................................................ 244
17.2 A/D コンバータのブロックダイヤグラム ........................................................................... 246
17.3 A/D コンバータのレジスタ一覧.......................................................................................... 247
17.3.1
A/D コントロールステータスレジスタ (ADCS0) ..................................................... 248
17.3.2
A/D コントロールステータスレジスタ (ADCS1) ..................................................... 251
17.3.3
データレジスタ (ADCR0, ADCR1)........................................................................... 253
17.4 A/D コンバータの動作 ........................................................................................................ 255
17.5 EI2OS を使った変換動作.................................................................................................... 257
17.5.1
単発モード時の EI2OS の起動例 .............................................................................. 258
17.5.2
連続モード時の EI2OS の起動例 .............................................................................. 259
17.5.3
停止モード時の EI2OS の起動例 .............................................................................. 260
17.6 変換データ保護機能 ........................................................................................................... 261
第 18 章
UART0 ................................................................................................... 263
18.1 UART0 の特長 .................................................................................................................... 264
18.2 UART0 のブロックダイヤグラム ....................................................................................... 265
18.3 UART0 のレジスタ ............................................................................................................. 266
18.3.1
シリアルモードコントロールレジスタ 0(UMC0)..................................................... 267
18.3.2
ステータスレジスタ 0(USR0) .................................................................................. 269
18.3.3
インプットデータレジスタ 0(UIDR0) とアウトプットデータレジスタ 0(UODR0)
................................................................................................................................. 271
18.3.4
レート・データレジスタ 0(URD0)........................................................................... 272
18.4 UART0 の動作 .................................................................................................................... 274
18.5 ボーレート.......................................................................................................................... 275
18.6 内部クロックおよび外部クロック...................................................................................... 277
18.7 転送データフォーマット .................................................................................................... 278
18.8 パリティビット .................................................................................................................. 279
18.9 割込み生成とフラグのセットタイミング ........................................................................... 280
viii
18.9.1
受信動作時 ( モード 0, モード 1, モード 3) のフラグのセットタイミング............... 281
18.9.2
受信動作時 ( モード 2) のフラグのセットタイミング .............................................. 282
18.9.3
送信動作時のフラグのセットタイミング................................................................. 283
18.9.4
送受信動作時のステータスフラグ............................................................................ 284
18.10 UART0 の応用例................................................................................................................. 285
第 19 章
UART1(SCI) ........................................................................................... 287
19.1 UART1 の特長 .................................................................................................................... 288
19.2 UART1 のブロックダイヤグラム ....................................................................................... 289
19.3 UART1 のレジスタ一覧...................................................................................................... 290
19.3.1
シリアルモードレジスタ 1(SMR1)........................................................................... 291
19.3.2
シリアルコントロールレジスタ 1(SCR1) ................................................................ 293
19.3.3
シリアルインプットデータレジスタ 1(SIDR1)/
シリアルアウトプットデータレジスタ 1(SODR1)................................................... 295
19.3.4
シリアルステータスレジスタ 1(SSR1) .................................................................... 296
19.3.5
UART1 プリスケーラコントロールレジスタ (U1CDCR) ......................................... 298
19.4 UART1 の動作モードとクロック選択 ................................................................................ 299
19.4.1
非同期 ( 調歩同期 ) モード........................................................................................ 302
19.4.2
CLK 同期モード........................................................................................................ 303
19.5 UART1 のフラグと割込み発生要因.................................................................................... 305
19.6 UART1 の割込みとフラグのセットタイミング.................................................................. 306
19.7 ネガティブクロック動作 .................................................................................................... 308
19.8 UART1 の応用例と使用上の注意 ....................................................................................... 309
第 20 章
シリアル I/O ........................................................................................... 311
20.1 シリアル I/O の概要 ............................................................................................................ 312
20.2 シリアル I/O のレジスタ..................................................................................................... 313
20.2.1
シリアルモードコントロールステータスレジスタ (SMCS)..................................... 314
20.2.2
シリアルデータレジスタ (SDR) ............................................................................... 317
20.2.3
シリアル I/O プリスケーラ (SCDCR)....................................................................... 318
20.3 シリアル I/O の動作 ............................................................................................................ 319
20.3.1
シフトクロック ........................................................................................................ 320
20.3.2
シリアル I/O の動作状態 .......................................................................................... 321
20.3.3
シフト動作のスタート / ストップタイミング .......................................................... 323
20.3.4
拡張シリアル I/O インタフェースの割込み機能....................................................... 326
20.4 ネガティブクロック動作 .................................................................................................... 327
第 21 章
CAN コントローラ ................................................................................. 329
21.1 CAN コントローラの特長................................................................................................... 330
21.2 CAN コントローラのブロックダイヤグラム ...................................................................... 331
21.3 全体コントロールレジスタの一覧...................................................................................... 332
21.4 メッセージバッファ (ID レジスタ ) の一覧......................................................................... 334
21.5 メッセージバッファ (DLC レジスタ / データレジスタ ) の一覧 ......................................... 337
21.6 CAN コントローラのレジスタ分類 .................................................................................... 341
21.6.1
制御ステータスレジスタ (CSR) ............................................................................... 342
21.6.2
バス動作停止ビット (HALT=1)................................................................................. 345
21.6.3
ラストイベント表示レジスタ (LEIR) ....................................................................... 346
21.6.4
受信および送信エラーカウンタ (RTEC) .................................................................. 348
21.6.5
ビットタイミングレジスタ (BTR)............................................................................ 349
ix
21.6.6
メッセージバッファ有効レジスタ (BVALR) ............................................................ 351
21.6.7
IDE レジスタ (IDER) ................................................................................................ 352
21.6.8
送信要求レジスタ (TREQR)..................................................................................... 353
21.6.9
送信 RTR レジスタ (TRTRR) ................................................................................... 354
21.6.10
リモートフレーム受信待機レジスタ (RFWTR)........................................................ 355
21.6.11
送信解除レジスタ (TCANR) ..................................................................................... 356
21.6.12
送信完了レジスタ (TCR) .......................................................................................... 357
21.6.13
送信割込み許可レジスタ (TIER) .............................................................................. 358
21.6.14
受信完了レジスタ (RCR).......................................................................................... 359
21.6.15
リモート要求受信レジスタ (RRTRR) ...................................................................... 360
21.6.16
受信オーバランレジスタ (ROVRR).......................................................................... 361
21.6.17
受信割込み許可レジスタ (RIER) .............................................................................. 362
21.6.18
アクセプタンスマスク選択レジスタ (AMSR) .......................................................... 363
21.6.19
アクセプタンスマスクレジスタ 0 および 1(AMR0/AMR1) ...................................... 364
21.6.20
メッセージバッファ ................................................................................................. 366
21.6.21
ID レジスタ x(x=0 ∼ 15)(IDRx)................................................................................ 367
21.6.22
DLC レジスタ x(x=0 ∼ 15)(DLCRx)......................................................................... 369
21.6.23
データレジスタ x(x=0 ∼ 15)(DTRx) ........................................................................ 370
21.7 CAN コントローラの送信................................................................................................... 372
21.8 CAN コントローラの受信................................................................................................... 375
21.9 CAN コントローラの受信フローチャート.......................................................................... 378
21.10 CAN コントローラの使用方法............................................................................................ 379
21.11 メッセージバッファ (x) による送信方法 ............................................................................ 381
21.12 メッセージバッファ (x) による受信方法 ............................................................................ 383
21.13 マルチレベルメッセージバッファの構成の決定 ................................................................ 385
21.14 CAN2 RX/TX 端子の接続先の設定 ..................................................................................... 387
21.15 CAN コントローラの使用上の注意 .................................................................................... 388
第 22 章
22.1
22.2
22.3
22.4
アドレス一致検出機能 ........................................................................... 391
アドレス一致検出機能の概要 ............................................................................................. 392
アドレス一致検出機能のレジスタ...................................................................................... 393
アドレス一致検出機能の動作 ............................................................................................. 395
アドレス一致検出機能の使用例 ......................................................................................... 396
第 23 章
ROM ミラー機能選択モジュール........................................................... 399
23.1 ROM ミラー機能選択モジュールの概要 ............................................................................ 400
23.2 ROM ミラー機能選択レジスタ (ROMM) ............................................................................ 401
第 24 章
1M ビットフラッシュメモリ.................................................................. 403
24.1 1M ビットフラッシュメモリの概要 ................................................................................... 404
24.2 フラッシュメモリのセクタ構成 ......................................................................................... 405
24.3 書込み / 消去モード ............................................................................................................ 406
24.4 フラッシュメモリコントロールステータスレジスタ (FMCS) ........................................... 408
24.5 フラッシュメモリ自動アルゴリズム起動方法.................................................................... 410
24.6 自動アルゴリズム実行状態の確認...................................................................................... 411
24.6.1
データポーリングフラグ (DQ7) ............................................................................... 413
24.6.2
トグルビットフラグ (DQ6) ...................................................................................... 414
24.6.3
タイミングリミット超過フラグ (DQ5) .................................................................... 415
24.6.4
セクタ消去タイマフラグ (DQ3) ............................................................................... 416
x
24.6.5
トグルビット 2 フラグ (DQ2)................................................................................... 417
24.7 フラッシュメモリ書込み / 消去の詳細説明 ........................................................................ 419
24.7.1
フラッシュメモリの読出し / リセット状態 .............................................................. 420
24.7.2
フラッシュメモリへのデータ書込み ........................................................................ 421
24.7.3
フラッシュメモリの全データの消去 ( チップ消去 )................................................. 423
24.7.4
フラッシュメモリの任意データの消去 ( セクタ消去 ) ............................................. 424
24.7.5
フラッシュメモリのセクタ消去の一時停止 ............................................................. 426
24.7.6
フラッシュメモリのセクタ消去の再開 .................................................................... 427
24.8 1M ビットフラッシュメモリ使用上の注意......................................................................... 428
24.9 フラッシュセキュリティの特長 ......................................................................................... 430
24.10 1M ビットフラッシュメモリのプログラム例 ..................................................................... 431
第 25 章
25.1
25.2
25.3
25.4
25.5
付録
付録 A
付録 B
B.1
B.2
B.3
B.4
B.5
B.6
B.7
B.8
B.9
索引
MB90F443G シリアル書込み接続例...................................................... 435
MB90F443G シリアル書込み接続の基本構成 .................................................................... 436
シリアル書込み接続例 ( ユーザ電源使用時 )...................................................................... 439
シリアル書込み接続例 ( ライタから電源供給時 )............................................................... 441
フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 ) ....................... 443
フラッシュマイコンプログラマとの最小限の接続例 ( ライタから電源供給時 )................ 445
............................................................................................................... 447
I/O マップ ...................................................................................................................... 448
命令 ............................................................................................................................... 456
命令の種類 .................................................................................................................. 457
アドレッシング ........................................................................................................... 458
直接アドレッシング.................................................................................................... 460
間接アドレッシング.................................................................................................... 467
実行サイクル数 ........................................................................................................... 474
実効アドレスフィールド ............................................................................................ 476
命令一覧表の読み方.................................................................................................... 478
F2MC-16LX 命令一覧表 .............................................................................................. 481
命令マップ .................................................................................................................. 495
............................................................................................................... 517
xi
xii
本版での主な変更内容
ページ
変更内容(詳細は本文を参照してください。
-
-
FAR を削除
(FAR/ セラミック発振子→セラミック発振子 )
-
-
品種名 を変更
(MB90443G ( 開発中 ) → MB90443G)
-
-
端子名 を変更
(TOUT → TOT)
-
-
レジスタ名を変更
(EPCR レジスタ → ECSR レジスタ )
8
第 1 章 概要
1.6 端子機能説明
表 1.6-1 端子機能説明 を変更
● 水晶発振回路について を変更
( 各量産品において、ご使用される発振子メーカに発振評価
依頼をしてください。を追加 )
19
第 1 章 概要
1.8 デバイスの取扱いに関
する注意事項
● A/D コンバータの電源 , アナログ入力の投入順序について
を変更
(( アナログ電源とデジタル電源を同時に投入 , 遮断すること
は問題ありません ) を削除 )
● 供給電圧の安定化 を追加
60
第 3 章 割込み
3.6.1 割込み制御レジスタ
(ICR)
図 3.6-2 割込み制御レジスタ (ICR) の < 注意事項 > を変更
(ICS3 と ICS2 には , 常に "1" が読込まれます。を削除 )
72
第 4 章 クロック
4.1 クロックの概要
■ クロックの概要 の < 注意事項 > を変更
(3 MHz ∼ 5 MHz → 3 MHz ∼ 16 MHz)
76
第 4 章 クロック
4.3 クロック選択レジスタ
(CKSCR)
77
93
第 5 章 低消費電力モード
5.3 低消費電力モード制御
レジスタ (LPMCR)
107
108
図 4.3-1 クロック選択レジスタ (CKSCR) の構成 の bit15 SCM
のアクセスを変更
((R/W → R))
表 4.3-1 クロック選択レジスタ (CKSCR) の各ビットの機能説
明 を変更
(bit15 SCM: と bit14 MCM: に ・書込みは , 動作に影響しませ
ん。を追加 )
■ 低消費電力モード制御レジスタへのアクセス を変更
表 5.3-2 低消費電力モードへ遷移する場合に使用する命令一
覧 を変更
図 5.6-1 状態遷移図 を変更
第 5 章 低消費電力モード
5.6 状態遷移図
表 5.6-1 低消費電力モードの動作状態 を変更
( タイムベースタイマ *1 → PLL タイムベースタイマ *1)
( タイムベースタイマ *2 → メインタイムベースタイマ *2)
xiii
ページ
変更内容(詳細は本文を参照してください。
表 5.7-1 シングルチップモード時の各端子状態 を変更
(*3: " 入力遮断 " とは端子からすぐの入力ゲートの動作を禁
止する状態を意味します。→ *3: 入力遮断状態では , 入力は
マスクされ , CMOS 選択時は "L" レベルが , TTL 選択時は
"H" レベルが内部に伝わります。)
109
第 5 章 低消費電力モード
5.7 スタンバイモード , ホー
ルド , リセット時の
端子状態
114
第 5 章 低消費電力モード
5.8 低消費電力モード使用
上の注意
■ スタンバイモード遷移のための低消費電力モード制御レ
ジスタ (LPMCR) へアクセスする際の注意事項 を追加
■ 16 ビットリロードタイマの端子名 を追加
197
第 13 章 16 ビットリロード
タイマ ( イベントカウント
機能付 )
13.1 16 ビットリロードタイ
マ ( イベントカウント機能
付 ) の概要
235
236
241
第 16 章 DTP/ 外部割込み
16.2 DTP/ 外部割込みの
レジスタ
第 16 章 DTP/ 外部割込み
16.5 DTP/ 外部割込みの
使用上の注意
■ DTP/ 割込み許可レジスタ (ENIR:Interrupt request enable
register) に < 注意事項 > を追加
■ DTP/ 割込み要因レジスタ (EIRR:External interrupt request
register) の < 注意事項 > に・項目を追加
● DTP/ 外部割込みの動作手順 を変更
(1. 外部割込み入力として使用する端子と兼用する汎用入出
力ポートを入力ポートに設定する。を追加 )
● 外部割込み要求レベル を変更
< 注意事項 > に・項目を追加
249
第 17 章 A/D コンバータ
17.3.1 A/D コントロールス
テータスレジスタ (ADCS0)
309
第 19 章 UART1(SCI)
19.8 UART1 の応用例と
使用上の注意
図 19.8-1 モード 1 使用時のシステム構築例 を変更
(SO → SOT1)
(SI → SIN1)
342
344
21.6.1 制御ステータスレジスタ (CSR) の概要文を変更
第 21 章 CAN コントローラ
21.6.1 制御ステータスレジ
スタ (CSR)
■ 制御ステータスレジスタ (CSR) の [bit0] HALT: バス動作停
止ビット に 読出し時 , 書込み時の説明 と < 注意事項 > と
参考プログラム例 : を追加
参考プログラム例 : を変更
(for (i=0; ( i<=500 ) || ( IO_CANCT0.CSR.bit.HALT==0); i++); →
for (i=0; ( i<=500 ) && ( IO_CANCT0.CSR.bit.HALT==0); i++);)
345
第 21 章 CAN コントローラ
21.6.2 バス動作停止ビット
(HALT=1)
■ バス動作停止を解除する条件 (HALT=0) の < 注意事項 >
を変更
(・バスオフ時に HALT ビットに "0" を書き込む場合は ,
HALT ビットが "1" になっていることを確認後 , "0" を書き込
んでください を追加 )
355
第 21 章 CAN コントローラ
21.6.10 リモートフレーム受
信待機レジスタ (RFWTR)
図 21.6-12 リモートフレーム受信待機レジスタ (RFWTR) の
初期値全部 を変更
((0) → (X))
xiv
ページ
変更内容(詳細は本文を参照してください。
410
第 24 章 1M ビット フラッ
シュメモリ
24.5 フラッシュメモリ自動
アルゴリズム起動方法
24.5 フラッシュメモリ自動アルゴリズム起動方法 の 概要 を
変更
( 読出し / リセット , 書込み , チップ消去の 4 種類 → 読出し /
リセット , 書込み , チップ消去 , セクタ消去の 4 種類 )
図 24.7-2 フラッシュメモリのセクタ消去手順の例 を変更
425
第 24 章 1M ビット フラッ
シュメモリ
24.7.4 フラッシュメモリの
任意データの消去 ( セクタ
消去 )
426
第 24 章 1M ビット フラッ
シュメモリ
24.7.5 フラッシュメモリの
セクタ消去の一時停止
429
第 24 章 1M ビット フラッ
シュメモリ
24.8 1M ビットフラッシュ
メモリ使用上の注意
436
437
456
∼
516
第 25 章 MB90F443G シリア
ル書込み接続例
25.1 MB90F443G シリアル
書込み接続の基本構成
付録 B 命令
■ フラッシュメモリのセクタ消去の一時停止 を変更
(…最大 15µs 後 , 消去一時停止状態に入ります。→
…最大 20µs 後 , 消去一時停止状態に入ります。セクタ消去
一時停止コマンドは , セクタ消去コマンドあるいはセクタ消
去再開コマンド発行後 ,20µs 以上後に行ってください。)
● VID の適用 を変更
( セクタプロテクト動作に必要な VID の適用は , 供給電圧が
オンのとき常に開始し , 終了する必要があります。→
セクタプロテクト動作に必要な VID の印加は , 電源がオンの
とき開始し , 終了する必要があります。)
■ MB90F443G シリアル書込み接続の基本構成 を変更
表 25.1-1 富士通標準シリアルオンボード書込みに使用する
端子 を変更
「付録 B 命令」全体を変更
変更箇所は , 本文中のページ左側の│によって示しています。
xv
xvi
第1章
概要
MB90440G シリーズの特長と基本的な仕様につい
て説明します。
1.1 製品概要
1.2 特長
1.3 ブロックダイヤグラム
1.4 パッケージ外形寸法図
1.5 端子配列図
1.6 端子機能説明
1.7 入出力回路形式
1.8 デバイスの取扱いに関する注意事項
1
第 1 章 概要
1.1
製品概要
MB90440G シリーズの製品概要を示します。
■ MB90440G シリーズの製品概要
表 1.1-1 製品概要
特長
MB90V440G
MB90F443G
MB90443G
CPU
F2MC-16LX CPU
システムクロック
オンチップ PLL クロック逓倍方式 ( × 1, × 2, × 3, × 4,PLL 停止時 1/2)
最小命令実行時間 62.5ns(4MHz 原発振 4 逓倍)
ROM 容量
外部
フラッシュメモリ
128K バイト
MASK ROM
128K バイト
RAM 容量
14K バイト
6K バイト
6K バイト
パッケージ
PGA-256
QFP-100
エミュレータ
専用電源 *
なし
-
* : エミュレーションポッド MB2145-507 を使用する際のディップスイッチ S2 の設定です。詳細につ
いては『MB2145-507 ハードウェアマニュアル』(「2.7 エミュレータ専用電源端子」) を参照して
ください。
2
第 1 章 概要
特長
1.2
表 1.2-1 に ,MB90440G シリーズの特長を示します。
■ 特長
表 1.2-1 MB90440G シリーズの特長 (1 / 2)
機能
特長
UART0
全二重ダブルバッファ方式
非同期 / 同期転送 ( スタート / ストップビット付 ) をサポートします。
ボーレート 4808/5208/9615/10417/19230/38460/62500/500000bps ( 非同期 )
システムクロック =16MHz 時 500K/1M/2Mbps ( 同期 )
UART1(SCI)
全二重ダブルバッファ方式
非同期 ( スタート / ストップ同期 ) および CLK 同期通信
ボーレート
601bps ∼ 250kbps ( 非同期 )
31.25kbps ∼ 2Mbps ( 同期 )
シリアル I/O
MBS または LSB から転送開始可能です。
内部クロック同期転送および外部クロック同期転送をサポートします。
ポジティブエッジとネガティブエッジクロック同期をサポートします。
ボーレート システムクロック =16MHz 時 31.25k/62.5k/125k/500k/1M/2Mbps
A/D
コンバータ
10 ビットまたは 8 ビットの分解能
8 本の入力チャネル
変換時間 :6.12µs(1ch あたり)
16ビットリロー
ドタイマ (2ch)
動作クロック周波数 fsys/21 , fsys/23, fsys/25(fsys= システムクロック周波数)
外部イベントカウント機能をサポートします。
16ビット入出力
タイマ
オーバフロー時に割込み信号を出力します。
アウトプットコンペア (ch.0) との照合時に , タイマクリアをサポートします。
動作クロック周波数 fsys/22 , fsys/24, fsys/26, fsys/28(fsys= システムクロック周波数)
16ビットアウト
プットコンペア
(4ch)
16 ビット入出力タイマとの照合時に , 割込み信号を出力します。
16 ビットキャプチャレジスタ× 4 本
一対のコンペアレジスタを出力信号生成に使用可能です。
16 ビ ッ ト イ ン
プットキャプ
チャ (8ch)
立上りエッジ , 立下りエッジ , またはその両方を検出します。
16 ビットキャプチャレジスタ× 4 本
外部イベント時に割込み信号を出力します。
8/16 ビット PPG
(プ ロ グ ラ マ ブ
ルパルス発生
部)(4ch)
8 ビットと 16 ビットの動作モードをサポートします。
8 ビットリロードカウンタ× 8 本
"L" パルス幅用の 8 ビットリロードレジスタ× 8 本
"H" パルス幅用の 8 ビットリロードレジスタ× 8 本
一対の 8 ビットリロードカウンタを 1 本の 16 ビットリロードカウンタとして , または 8 ビッ
トプリスケーラと 8 ビットリロードカウンタとして構成可能です。
出力端子× 4 本
動作クロック周波数 fsys, fsys/21, fsys/22, fsys/23, fsys/24 または 128µs fosc=4MHz(fsys= シス
テムクロック周波数 ,fosc= 発振クロック周波数)
3
第 1 章 概要
表 1.2-1 MB90440G シリーズの特長 (2 / 2)
機能
特長
CAN
インタ
フェース (3ch)
CAN 仕様バージョン 2.0 パート A およびパート B に準拠します。
エラー時に自動再送します。
リモートフレームに応答して自動伝送します。
データおよび ID 用の順位付けされた 16 個のメッセージバッファ複数メッセージをサポート
します。
アクセプタンスフィルタの柔軟な構成 :
全ビットコンペア / 全ビットマスク /2 個の部分ビットマスク
最高 1Mbps までサポートします。
外部割込み
エッジ検出とレベル検出が設定可能です。
外部バス
インタフェース
選択可能な 8 ビットバスまたは 16 ビットバスを使用した外部アクセスが可能です(外部バ
スモード)。
入出力ポート
ほとんど , 全外部端子を汎用入出力として使用可能です。
すべてのプッシュプル出力とシュミットトリガ入力
入力 / 出力または周辺信号として , ビット単位でプログラム可能です。
32kHz サブ
クロック
フラッシュ
メモリ
4
低電力動作用のサブクロック。
自動プログラミング ,Embeded Algorithm, 書込み / 消去 / 消去一時停止 / 消去再開コマンドを
サポートします。
アルゴリズムの完了を示すフラグ
消去サイクル数 :10, 000 回
データ保持期間 :10 年間
ブートブロック構成
各ブロックで消去を実行可能です。
外部プログラミング電圧によるブロック保護
第 1 章 概要
ブロックダイヤグラム
1.3
図 1.3-1 に ,MB90440G シリーズのブロックダイヤグラムを示します。
■ ブロックダイヤグラム
図 1.3-1 ブロックダイヤグラム
X0,X1
X0A,X1A
RST
クロック
制御回路
16LX
CPU
入出力タイマ
RAM 6K
インプット
キャプチャ
×8ch
ROM
128K
アウトプット
コンペア
×4ch
IN0~IN5
IN7/OUT3,IN6/OUT2
OUT0,OUT1
プリスケーラ
SOT0
SCK0
SIN0
UART0
SOT1
SCK1
SIN1
UART1
(SCI)
内部データバス
プリスケーラ
8/16ビット
PPG×4ch
PPG0~PPG3
CAN
コントローラ
×3ch
RX0,RX1,RX2
TX0,TX1,TX2
16-bit
リロードタイマ
×2ch
TIN0,TIN1
TOT0,TOT1
プリスケーラ
SOT2
SCK2
SIN2
AVCC
AVSS
AN0~AN7
AVRH
AVRL
ADTG
AD00~AD15
A16~A23
シリアル
I/O
ALE
RD
外部バス
インタフェース
10bit
ADC×8ch
WRL/WR
WRH
HRQ
HAK
RDY
CLK
外部割込み
×8ch
INT0~INT7
5
第 1 章 概要
パッケージ外形寸法図
1.4
図 1.4-1 に ,FPT-100P-M06(QFP-100) のパッケージ外形寸法図を示します。
なお , 本外形寸法は参考用です。正式版につきましては別途ご相談ください。
■ FPT-100P-M06 パッケージ外形寸法図
図 1.4-1 FPT-100P-M06 パッケージ外形寸法図
プラスチック・QFP, 100 ピン
リードピッチ
0.65mm
パッケージ幅×
パッケージ長さ
14.00 × 20.00mm
リード形状
ガルウィング
封止方法
プラスチックモールド
取付け高さ
3.35mm MAX
コード(参考)
P-QFP100-14×20-0.65
(FPT-100P-M06)
プラスチック・QFP, 100 ピン
(FPT-100P-M06)
注 1)* 印寸法はレジン残りを含まず。
注 2)端子幅および端子厚さはメッキ厚を含む。
注 3)端子幅はタイバ切断残りを含まず。
23.90±0.40(.941±.016)
* 20.00±0.20(.787±.008)
80
51
81
50
0.10(.004)
17.90±0.40
(.705±.016)
*14.00±0.20
(.551±.008)
INDEX
Details of "A" part
100
0.25(.010)
+0.35
3.00 –0.20
+.014
.118 –.008
(Mounting height)
0~8˚
31
1
30
0.65(.026)
0.32±0.05
(.013±.002)
0.13(.005)
M
0.17±0.06
(.007±.002)
"A"
©2002-2008 FUJITSU MICROELECTRONICS LIMITED F100008S-c-5-6
C
2002 FUJITSU LIMITED F100008S-c-5-5
最新の外形寸法図については , 下記の URL にてご確認ください。
http://edevice.fujitsu.com/package/jp-search/
6
0.80±0.20
(.031±.008)
0.88±0.15
(.035±.006)
0.25±0.20
(.010±.008)
(Stand off)
単位:mm (inches)
注意:括弧内の値は参考値です。
第 1 章 概要
端子配列図
1.5
図 1.5-1 に ,FPT-100P-M06 の端子配列図を示します。
■ FPT-100P-M06 端子配列図
P77/OUT3/IN7
P76/OUT2/IN6
P75/IN5
P74/IN4
P73/IN3
P72/IN2
P71/IN1
P70/IN0
n.c.
MD2
P81/PPG1
P80/PPG0
P85/OUT1
P84/OUT0
P83/PPG3
P82/PPG2
X0A
X1A
PA0/INT3
RST
P97/RX1
P96/TX1
P95/INT2/RX0
P94/TX0
P93/RX2
P92/TX2
P91/INT1
P90/INT0
P87/TOT1
P86/TIN1
図 1.5-1 FPT-100P-M06 端子配列図
80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51
2
3
4
5
6
7
8
MD1
MD0
P57/TOT0
P56/TIN0
P67/AN7
P66/AN6
P65/AN5
P64/AN4
Vss
P63/AN3
P62/AN2
P61/AN1
P60/AN0
AVss
AVRL
AVRH
AVcc
P55/ADTG
P54/INT7
P53/INT6
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
P46/SOT2
P47/SCK2
C
P50/SIN2
P51/INT4
P52/INT5
98
99
100
1
P44/SCK1
Vcc
P45/SOT1
P15/AD13
P16/AD14
P17/AD15
93
94
95
96
97
P41/SCK0
P42/SIN0
P43/SIN1
P11/AD09
P12/AD10
P13/AD11
P14/AD12
QFP-100
MB90440Gシリーズ
(TOP VIEW)
FPT-100P-M06
89
90
91
92
P37/CLK
P40/SOT0
P05/AD05
P06/AD06
P07/AD07
P10/AD08
86
87
88
P35/HAK
P36/RDY
P01/AD01
P02/AD02
P03/AD03
P04/AD04
83
84
85
P32/WRL/ WR
P33/WRH
P34/HRQ
P00/AD00
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
81
82
P20/A16
P21/A17
P22/A18
P23/A19
P24/A20
P25/A21
P26/A22
P27/A23
P30/ALE
P31/RD
Vss
Vss
X0
X1
Vcc
7
第 1 章 概要
1.6
端子機能説明
表 1.6-1 に , 端子名 , 回路形式 , 機能説明について示します。
■ 端子機能説明
表 1.6-1 端子機能説明 (1 / 7)
回路
形式
QFP
端子名
82, 83
X0, X1
80, 79
X0A, X1A
77
RST
B
外部リセット要求入力端子です。
52
n.c.
−
空き端子です。
A
高速発振用端子です。
(発振)
低速発振用端子です。
A
発振器を接続しない場合は ,X0A をプルダウン処理に ,X1A をオープンにし
(発振)
てください。
プログラム可能なプルアップ機能を持つ汎用入出力ポートです。
この機能は , シングルチップモードの場合に利用できます。
P00 ∼ P07
H
85 ∼ 92
93 ∼
100
AD00 ∼
AD07
外部アドレス / データバスの下位 8 ビット用の入出力端子です。
この機能は外部バスが有効なときに利用できます。
P10 ∼ P17
プログラム可能なプルアップ機能を持つ汎用入出力ポートです。
この機能は , シングルチップモードの場合に利用できます。
H
外部アドレス / データバスの上位 8 ビット用の入出力端子です。
この機能は外部バスが有効なときに利用できます。
AD08 ∼
AD15
プログラム可能なプルアップ機能を持つ汎用入出力ポートです。
外バスモード時は,外部アドレス出力制御レジスタ(HACR)の対応するビッ
トが "1" の場合に , 汎用入出力ポートとして機能します。
P20 ∼ P27
H
1∼8
外部アドレスバスの A16 ∼ A23 用の出力端子です。
外バスモード時は,外部アドレス出力制御レジスタ(HACR)の対応するビッ
トが "0" の場合に , アドレス出力端子として機能します。
A16 ∼ A23
プログラム可能なプルアップ機能を持つ汎用入出力ポートです。
この機能は , シングルチップモードの場合に利用できます。
P30
9
H
ALE
アドレスラッチが可能な出力端子です。
この機能は , 外部バスが有効な場合に利用できます。
P31
プログラム可能なプルアップ機能を持つ汎用入出力ポートです。
この機能は , シングルチップモードの場合に利用できます。
10
H
RD
8
機能説明
データバス用の読込みストロボ出力端子です。
この機能は , 外部バスが有効な場合に利用できます。
第 1 章 概要
表 1.6-1 端子機能説明 (2 / 7)
QFP
端子名
回路
形式
プログラム可能なプルアップ機能を持つ汎用入出力ポートです。
この機能は , シングルチップモードの場合 , または WR/WRL 端子出力が無
効な場合に利用できます。
P32
12
WRL
H
WR
データバス用の書込みストロボ出力端子です。
この機能は , 外部バスと WR/WRL 端子出力の両方が有効な場合に利用でき
ます。WRL は 16 ビットアクセスでのデータバス下位 8 ビットのストロボ
書込みに使用されます。WR は 8 ビットアクセスでのデータバス 8 ビット
のストロボ書込みに使用されます。
プログラム可能なプルアップ機能を持つ汎用入出力ポートです。
この機能は , シングルチップモードと外部バス 8 ビットモードの場合 , ま
たは WRH 端子出力が有効な場合に利用できます。
P33
13
機能説明
H
WRH
データバス上位 8 ビット用の書込みストロボ出力端子です。
この機能は , 外部端子が有効な場合 , 外部バスの 16 ビットモードが選択さ
れている場合 , または WRH 出力端子が有効な場合に利用できます。
P34
プログラム可能なプルアップ機能を持つ汎用入出力ポートです。
この機能は , シングルチップモードの場合 , またはホールド機能が無効な
場合に利用できます。
14
H
HRQ
ホールドリクエスト入力端子です。
この機能は,外部バスとホールド機能の両方が有効な場合に利用できます。
P35
プログラム可能なプルアップ機能を持つ汎用入出力ポートです。
この機能は , シングルチップモードの場合 , またはホールド機能が無効な
場合に利用できます。
15
H
HAK
ホールドアクノリッジ出力端子です。
この機能は,外部バスとホールド機能の両方が有効な場合に利用できます。
P36
プログラム可能なプルアップ機能を持つ汎用入出力ポートです。
この機能は , シングルチップモードの場合 , または外部レディ機能が無効
な場合に利用できます。
16
H
RDY
レディ入力信号です。
この機能は , 外部バスと外部レディ機能の両方が有効な場合に利用できま
す。
P37
プログラム可能なプルアップ機能を持つ汎用入出力ポートです。
この機能は , シングルチップモードの場合 , またはクロック出力が無効な
場合に利用できます。
17
H
CLK
クロック出力端子です。
この機能は,外部バスとクロック出力の両方が有効な場合に利用できます。
P40
汎用入出力ポートです。
この機能は ,UART0 がシリアルデータ出力を無効にしている場合に利用で
きます。
18
G
SOT0
UART0 のシリアルデータ出力端子です。
この機能は UART0 がシリアルデータ出力を有効にしている場合に利用で
きます。
9
第 1 章 概要
表 1.6-1 端子機能説明 (3 / 7)
QFP
端子名
回路
形式
汎用入出力ポートです。
この機能はUART0がクロック出力を無効にしている場合に利用できます。
P41
19
G
UART0 のクロック入出力端子です。
この機能はUART0がクロック出力を有効にしている場合に利用できます。
SCK0
汎用入出力ポートです。
この機能は常に利用できます。
P42
20
G
SIN0
UART0 のシリアルデータ入力端子です。
UARTO が入力に使用されている間は , 対応するポート方向レジスタ (DDR)
を入力に設定してください。
P43
汎用入出力ポートです。
この機能は常に有効です。
21
G
SIN1
UART1 のシリアルデータ入力端子です。
UART1 が入力に使用されている間は , 対応するポート方向レジスタ (DDR)
を入力に設定してください。
P44
汎用入出力ポートです。
この機能は ,UART1 がクロック出力を無効にしている場合に利用できま
す。
22
G
SCK1
UART1 のクロックパルス入出力端子です。
この端子は ,UART1 がクロック出力を有効にしている場合に利用できま
す。
P45
汎用入出力ポートです。
この機能は UART1 がシリアルデータ出力を無効にしている場合に利用で
きます。
24
G
SOT1
UART1 のシリアルデータ出力端子です。
この機能は ,UART1 がシリアルデータ出力を有効にしている場合に利用で
きます。
P46
汎用入出力ポートです。
この機能は , シリアル I/O がシリアルデータ出力を有効にしている場合に
利用できます。
25
G
SOT2
シリアル I/O のシリアルデータ出力端子です。
この機能は , シリアル I/O がシリアルデータ出力を有効にしている場合に
使用できます。
P47
汎用入出力ポートです。
この機能は , シリアル I/O がクロック出力を無効にしている場合に利用で
きます
G
26
SCK2
10
機能説明
シリアル I/O のクロックパルス入出力端子です。
この機能は , シリアル I/O がクロック出力を有効にしている場合に利用で
きます。
第 1 章 概要
表 1.6-1 端子機能説明 (4 / 7)
QFP
端子名
回路
形式
汎用入出力ポートです。
この機能は常に利用できます。
P50
28
D
SIN2
D
INT4 ∼
INT7
INT4 ∼ INT7 の外部割込み要求入力端子です。
外部からの割り込みが許可されている間は , 対応するポート方向レジスタ
(DDR) を入力に設定してください。
汎用入出力ポートです。
この機能は常に利用できます。
P55
33
シリアル I/O のシリアルデータ入力端子です。
シリアル I/O が入力に使用されている間は , 対応するポート方向レジスタ
(DDR) を入力に設定してください。
汎用入出力ポートです。
この機能は常に利用できます。
P51 ∼ P54
29 ∼ 32
機能説明
D
ADTG
A/D コンバータのトリガ入力端子です。
A/D コンバータが入力のために使用されている間は , 対応するポート方向
レジスタ (DDR) を入力に設定してください。
P60 ∼ 63
汎用入出力ポートです。
この機能は , アナログ入力が可能なレジスタでポートを指定している場合
に利用できます。
E
38 ∼ 41
AN0 ∼
AN3
A/D コンバータのアナログ入力端子です。
この機能は , アナログ入力が可能なレジスタで AD を指定している場合に
利用できます。
P64 ∼ P67
汎用入出力ポートです。
この機能は , アナログ入力が可能なレジスタでポートを指定している場合
に利用できます。
E
43 ∼ 46
A/D コンバータのアナログ入力端子です。
この機能は , アナログ入力が可能なレジスタで AD を指定している場合に
利用できます。
AN4 ∼
AN7
P56
汎用入出力ポートです。この機能は常に利用できます。
TIN0
リロードタイマ 0 のイベント入力端子です。
リロードタイマが入力に使用されている間は , 対応するポート方向レジス
タ (DDR) を入力に設定してください。
P57
汎用入出力ポートです。
この機能は , リロードタイマ 0 が出力を無効にしている場合に利用できま
す。
47
D
48
D
リロードタイマ 0 の出力端子です。
この機能は , リロードタイマ 0 が出力を有効にしている場合に利用できま
す。
TOT0
汎用入出力ポートです。
この機能は常に利用できます。
P70 ∼ P75
D
53 ∼ 58
IN0 ∼ IN5
ICU0 から ICU5 のキャプチャを入力するデータサンプル入力端子です。
ICU が入力になっている間は , 対応するポート方向レジスタ (DDR) を入力
に設定してください。
11
第 1 章 概要
表 1.6-1 端子機能説明 (5 / 7)
QFP
端子名
回路
形式
汎用入出力ポートです。
OCU がコンペア出力を無効にしている場合に利用できます。
P76, P77
59, 60
OUT2,
OUT3
D
アウトプットコンペア OCU2, OCU3 のコンペア出力端子です。
OCU がコンペア出力を有効にしている場合に利用できます。
ICU6 と ICU7 のキャプチャを入力するデータサンプル入力端子です。
ICU が入力になっている間は , 対応するポート方向レジスタを入力に設定
およびコンペア出力を禁止してください。
IN6, IN7
汎用入出力ポートです。
この機能は ,PPG がパルス出力を無効にしている場合に利用できます。
P80 ∼ P83
D
61 ∼ 64
PPG0 ∼
PPG3
PPG の出力端子です。
この機能は ,PPG がパルス出力を有効にしている場合に利用できます。
P84, P85
汎用入出力ポートです。
この機能は ,OCU がコンペア出力を無効にしている場合に利用できます。
65, 66
D
アウトプットコンペア OCU0, OCU1 のコンペア出力端子です。
OCU がコンペア出力を有効にしている場合に利用できます。
OUT0,
OUT1
汎用入出力ポートです。
この機能は常に利用できます。
P86
67
D
TIN1
リロードタイマ 1 のイベント入力端子です。
リロードタイマが入力に使われている間は , 対応するポート方向レジスタ
を入力に設定してください。
P87
汎用入出力ポートです。
この機能は , リロードタイマ 0 が出力を無効にしている場合に利用できま
す。
68
D
リロードタイマ 1 の出力端子です。
この機能は , リロードタイマ 1 が出力を有効にしている場合に利用できま
す。
TOT1
汎用入出力ポートです。
この機能は常に利用できます。
P90, P91
69, 70
D
INT0, INT1
71
INT0 と INT1 の外部割込み要求入力端子です。
外部割込みが許可されている間は , 対応するポート方向レジスタを入力に
設定してください。
汎用入出力ポートです。
この機能は ,CAN0 が出力を無効にしている場合に利用できます。
P92
D
TX2
CAN2 の TX 出力端子です。
この機能は ,CAN0 が出力を有効にしている場合に利用できます。
P93
汎用入出力ポートです。
この機能は常に利用できます。
72
D
RX2
12
機能説明
CAN2 インタフェースの RX 入力端子です。
CAN 機能が使用されている間はほかの機能からの出力は停止してくださ
い。
第 1 章 概要
表 1.6-1 端子機能説明 (6 / 7)
QFP
端子名
回路
形式
汎用入出力ポートです。
この機能は ,CAN0 が出力を無効にしている場合に利用できます。
P94
73
74
機能説明
D
TX0
CAN0 の TX 出力端子です。
この機能は ,CAN0 が出力を有効にしている場合に利用できます。
P95
汎用入出力ポートです。
この機能は常に利用できます。
INT2
D
INT2 の外部割込み要求入力端子です。
外部割込みが許可されている間は , 対応するポート方向レジスタを入力に
設定してください。
RX0
CAN0 インタフェースの RX 入力端子です。
CAN 機能が使用されている間はほかの機能からの出力は停止してくださ
い。
P96
汎用入出力ポートです。
この機能は ,CAN1 が出力を無効にしている場合に利用できます。
75
D
TX1
CAN1 の TX 出力端子です。
この機能は ,CAN1 が出力を有効にしている場合に , 利用できます。
P97
汎用入出力ポートです。
この機能は常に利用できます。
76
D
RX1
CAN1 インターフェースの RX 入力端子です。
CAN 機能が使用されているときは , ほかの機能からの出力は停止してくだ
さい。
PA0
汎用入出力ポートです。
この機能は常に利用できます。
78
D
INT3
INT3 の外部割込み要求入力端子です。
外部割込みが許可されている間は , 対応するポート方向レジスタを入力に
設定してください。
A/D コンバータの電源入力端子です。
「1.8 デバイスの取扱いに関する注意事項」を参照してください。
34
AVCC
電源
37
AVSS
電源
35
AVRH
電源
36
AVRL
電源
49 ,
50
MD0 ,
MD1
C
オペレーティングモード専用入力端子です。
この端子は , 直接 VCC または VSS に接続してください。
51
MD2
F
オペレーティングモード専用入力端子です。
この端子は , 直接 VCC または VSS に接続してください。
27
C
-
電源のコンデンサ用端子です。
この端子は , 外部から 0.1µF のセラミックコンデンサに接続してください。
23, 84
VCC
電源
A/D コンバータの専用 GND 端子です。
A/D コンバータのリファレンス電圧入力端子です。
「1.8 デバイスの取扱いに関する注意事項 」を参照してください。
A/D コンバータのリファレンス低電圧入力端子です。
デジタル回路用の電源 (5.0V) 入力端子です。
13
第 1 章 概要
表 1.6-1 端子機能説明 (7 / 7)
QFP
端子名
回路
形式
11, 42,
81
VSS
電源
14
機能説明
デジタル回路用の GND 電源 (0.0V) 端子です。
第 1 章 概要
1.7
入出力回路形式
表 1.7-1 に , 各端子の回路形式について示します。
■ 入出力回路形式
表 1.7-1 入出力回路形式 ( 1 / 2 )
分類
回 路
備 考
X1,X1A
クロック入力
A
• 発振帰還抵抗 :
- 約 1MΩ(高速発振用)
- 約 10MΩ(低速発振用)
X0,X0A
HARD,SOFT
STANDBY CONTROL
•
CMOS ヒステリシス入力
• プルアップ抵抗値 約 50kΩ
B
R(プルアップ)
R
CMOS
ヒステリシス入力
R
C
•
CMOS ヒステリシス入力
•
•
CMOS レベル出力
CMOS ヒステリシス入力
特殊ヒステリシス入力
CMOS
ヒステリシス入力
P-ch
•
N-ch
D
R
CMOSヒステリシス入力
R
特殊ヒステリシス入力
15
第 1 章 概要
表 1.7-1 入出力回路形式 ( 2 / 2 )
分類
回 路
備 考
•
•
Vcc
P-ch
CMOS 出力
CMOS ヒステリシス入力
特殊ヒステリシス入力
•
• アナログ入力
N-ch
E
P-ch
アナログ入力
N-ch
CMOSヒステリシス入力
R
特殊ヒステリシス入力
R
•
R
CMOS
ヒステリシス入力
F
CMOS ヒステリシス入力
• プルダウン抵抗値 約 50kΩ
(フラッシュ品を除く)
R(プルダウン)
•
•
Vcc
P-ch
N-ch
G
CMOS 出力
CMOS ヒステリシス入力
特殊ヒステリシス入力
•
• TTL 入力(フラッシュ書込
みモードのフラッシュデバ
イス品のみ)
CMOSヒステリシス入力
R
特殊ヒステリシス入力
R
TTL
R
Vcc
CNTL
Vcc
P-ch
N-ch
H
CMOSヒステリシス入力
R
TTL
R
16
•
•
CMOS 出力
CMOS ヒステリシス入力
• TTL 入力(
「8.2 I/O ポートの
入力レベル」
)
• プログラマブルプルアップ
抵抗 約 50kΩ
第 1 章 概要
1.8
デバイスの取扱いに関する注意事項
デバイスを取り扱う際 , 以下の項目について注意してください。
• 最大定格電圧の厳守(ラッチアップの防止 )
• 未使用端子の処理について
• 外部クロック使用時の注意について
• サブクロックを使用しない場合の注意について
• 電源端子について(VCC/VSS)
•
•
•
•
•
•
•
•
•
•
プルアップ / プルダウン抵抗について
水晶発振回路について
A/D コンバータの電源 , アナログ入力の投入順序について
A/D コンバータ未使用時の端子処理について
N.C. 端子の処理について
電源投入時の注意点
初期化について
REALOS を使用する場合
PLL クロックモード動作中の注意について
供給電圧の安定化
■ デバイスの取扱いに関する注意事項
● 最大定格電圧の厳守(ラッチアップの防止)
最大定格を超えることのないよう注意してください(ラッチアップの防止)。
CMOS IC では , 入力端子や出力端子に VCC より高い電圧や VSS より低い電圧が印加さ
れた場合 , または VCC ∼ VSS 間に定格を超える電圧が印加された場合に , ラッチアッ
プ現象を生じることがあります。
ラッチアップ現象が起きると電源電流が激増し,素子の熱破壊に至る場合がありますの
で , 使用に際しては , 最大定格を超えることのないよう十分注意してください。
また , アナログ電源投入時および切断時においてもアナログ電源電圧 (AVCC,AVRH) と
アナログ入力電圧は , デジタル電源電圧 (VCC) を超えることのないよう十分注意してく
ださい。
● 未使用端子の処理について
使用していない入力端子を開放のままにしておくと,誤動作およびラッチアップによる
永久破損の原因となることがありますので ,2kΩ 以上の抵抗を介して , プルアップ , ま
たはプルダウンなどの処理をしてください。また , 使用していない入出力端子について
は , 出力状態にして開放とするか , 入力状態の場合は入力端子と同じ処理をしてくださ
い。
● 外部クロック使用時の注意について
外部クロックを使用する場合は ,X0 端子のみを駆動し ,X1 端子はオープンとしてくだ
さい。
17
第 1 章 概要
図 1.8-1 外部クロック使用例
MB90440Gシリーズ
X0
オープン
X1
● サブクロックを使用しない場合の注意について
X0A, X1A 端子に発振器を接続しない場合は ,X0A 端子にプルダウンの処理をし ,X1A
端子はオープンにしてください。
● 電源端子について (VCC/VSS)
VCC, VSS が複数ある場合 , デバイス設計上はラッチアップなどの誤動作を防止するた
めに , 同電位にすべき端子はデバイス内部で接続してありますが , 不要輻射の低減 , グ
ランドレベルの上昇によるストローブ信号の誤動作防止,総出力電流規格を守るなどの
ために , 必ずそれらすべてを外部で電源およびグランドに接続してください(下図を参
照)。
また電流供給源からできる限り低インピーダンスでこのデバイスの VCC, VSS に接続す
るように配慮してください。
さらに , このデバイスの近くで ,VCC と VSS の間に 0.1µF 程度のコンデンサをバイパス
コンデンサとして接続することをお薦めします。
図 1.8-2 電源端子(VCC/VSS) の取扱い
◎Vcc
◎Vss
Vss
Vcc
Vss
Vcc
MB90440G
シリーズ
Vcc
Vss
Vss
Vcc
● プルアップ / プルダウン抵抗について
MB90440Gシリーズは, 内部プルアップ/プルダウン抵抗をサポートしていません(ポー
ト 0 ∼ポート 3: プルアップ抵抗を除く )。必要な箇所に外部コンポーネントを使用し
てください。
18
第 1 章 概要
● 水晶発振回路について
X0, X1 端子の近辺のノイズはこのデバイスの誤動作の元となります。X0, X1 端子およ
び水晶振動子(あるいはセラミック振動子)さらにグランドへのバイパスコンデンサ
はできる限り近くになるように , またその配線は , ほかの配線とできる限り交差しない
ようにプリント基板を設計してください。
また ,X0, X1 端子の回りをグランドで囲むようなプリント基板アートワークは , 安定し
た動作を期待できますので , 強くお薦めします。
各量産品において , ご使用される発振子メーカに発振評価依頼をしてください。
● A/D コンバータの電源 , アナログ入力の投入順序について
A/D コンバータ ,D/A コンバータの電源 (AVCC, AVRH, AVRL) およびアナログ入力
(AN0 ∼ AN7) の印加は , 必ずデジタル電源 (VCC) の投入後に行ってください。
また , 電源切断時は A/D コンバータの電源およびアナログ入力の遮断の後で , デジタル
電源の遮断を行ってください。その際 ,AVRH, AVCC を超えないように投入・切断を
行ってください。
● A/D コンバータ未使用時の端子処理について
A/D コンバータおよび D/A コンバータを使用しないときは ,AVCC=VCC,
AVSS=AVRH=VSS に接続してください。
● N.C. 端子の処理について
N.C.(内部接続)端子は , 必ず開放にして使用してください。
● 電源投入時の注意点
内部に内蔵している降圧回路の誤動作を防ぐために,電源投入時における電圧の立上り
時間は ,50µs(0.2V ∼ 2.7V 間)以上を確保してください。
● 初期化について
デバイス内には,パワーオンリセットによってのみ初期化される内蔵レジスタ類があり
ます。これらの初期化を期待する場合は電源の再投入を行ってください。
● REALOS を使用する場合
REALOS を使用する場合は , 拡張インテリジェント I/O サービス (EI2OS) が使用できま
せん。
● PLL クロックモード動作中の注意について
本マイコンで PLL クロックを選択しているときに発振子が外れたり , あるいはクロッ
ク入力が停止した場合 , 本マイコンは PLL 内部の自励発振回路の自走周波数で動作を
継続し続ける場合があります。この動作は , 保証外の動作です。
● 供給電圧の安定化
Vcc 電源電圧の動作保証内においても , 電源電圧の急激な変化があると誤動作を起こす
場合がありますので ,Vcc 電源電圧を安定させてください。
安定化の基準としては , 商用周波数 (50 Hz ∼ 60 Hz) での Vcc リブル変動 (peak to peak
値 ) は , 標準 Vcc 電源電圧値の 10%以下に , また電源の切換え時などの瞬時変化におい
ては , 過度変動率が 0.1 V/ms 以下になるように電源電圧を抑えてください。
19
第 1 章 概要
20
第2章
CPU
CPU について説明します。
2.1 CPU の概要
2.2 メモリ空間
2.3 メモリ空間マップ
2.4 リニア方式によるアドレス指定
2.5 バンク方式によるアドレス指定
2.6 メモリ空間における多バイト長データ
2.7 レジスタ
2.8 レジスタバンク
2.9 プリフィックスコード
2.10 割込み抑止命令
21
第 2 章 CPU
2.1
CPU の概要
F2MC-16LX CPU コアは , 民生用・車載用機器等の高速リアルタイム処理が要求され
る用途向けに設計された 16 ビット CPU です。F2MC-16LX の命令セットはコント
ローラ用途向けに設計されており , 各種制御の高速・高効率処理が可能です。
■ CPU の概要
F2MC-16LX CPU コアは ,16 ビットデータ処理は勿論 , 内部に 32 ビットアキュームレー
タを塔載しているため 32 ビットデータ処理も可能です (32 ビットデータ処理にはいく
つかの命令が使用されます )。メモリ空間は最大 16M バイト ( 拡張可能 ), リニア方式
およびバンク方式のいずれかにてアクセス可能です。また , 命令体系は F2MC-8L の AT アーキテクチャをベースに , 高級言語対応命令の追加・アドレッシングモードの拡
張・乗除算命令の強化・ビット処理の充実化により命令が強化されています。
以下に ,F2MC-16LX CPU の特長を示します。
● 最小命令実行時間
62.5ns (4MHz 発振 ,4 逓倍 )
● 最大メモリ空間
16M バイト , リニア / バンク方式にてアクセス
● コントローラ用途に最適化された命令体系
• 豊富なデータタイプ : ビット / バイト / ワード / ロングワード
• 拡張されたアドレッシングモード :23 種類
• 32 ビットアキュムレータの採用による高精度演算 (32 ビット長 )
● 強力な割込み機能
8 つのプライオリティレベル ( プログラマブル )
● CPU に依存しない自動転送機能
最大 16ch までの拡張インテリジェント I/O サービス
● 高級言語 (C 言語 )/ マルチタスクに対応した命令体系
システムスタックポイント / 命令セットの対称性 / バレルシフト命令
● 実行速度の向上
4 バイトのキュー
22
第 2 章 CPU
2.2
メモリ空間
F2MC-16LX CPU には 16M バイトのメモリ空間があります。F2MC-16LX CPU が管
理するデータ・プログラム・I/O はすべてこの 16M バイトのメモリ空間に配置され
ます。CPU は 24 ビットのアドレスバスでこれらのアドレスを示すことにより , 各リ
ソースをアクセスすることができます。
■ CPU メモリ空間の概要
図 2.2-1 に ,F2MC-16LX システムとメモリマップの関係例を示します。
図 2.2-1 F2MC-16LX システムとメモリマップの関係例
FFFFFFH
F2 MC-16LX
CPU
プログラム
FF8000H
データ
810000H
割込み
800000H
データ領域
周辺回路
〔デバイス〕
プログラム領域
汎用ポート
0000C0H
0000B0H
000020H
000000H
割込みコントローラ
周辺回路
汎用ポート
■ アドレス指定の方式
F2MC-16LX のアドレス指定には , 以下に示す 2 種類の方式があります。
● リニア方式
24 ビットアドレスすべてを命令により指定する方式
● バンク方式
アドレス上位 8 ビットを用途に応じたバンクレジスタで , アドレス下位 16 ビットを命
令により指定する方式
23
第 2 章 CPU
2.3
メモリ空間マップ
図 2.3-1 に ,MB90440G シリーズのメモリ空間マップを示します。
■ メモリ空間マップ
図 2.3-1 に示すように , バンク 00 の上位部分は FF バンク ROM のイメージであり ,C コ
ンパイラのスモールモデルを有効にします。下位 16 ビットも同様なため , ポインタ宣
言内の far 仕様を使用せずに ROM 内のテーブルを参照できます。たとえば ,00C000H に
アクセスしようとすると ,ROM 内の FFC000H の値にアクセスすることになります。バ
ンク FF 内の ROM 領域は 48K バイトを超え , バンク 00 内にその全体イメージを表示
することはできません。
FF4000H ∼ FFFFFFH の間のイメージはバンク 00 内で可視ですが ,FF0000H ∼ FF3FFFH
の間のイメージはバンク FF 内でしか可視でありません。
図 2.3-1 メモリ空間マップ
MB90F443G
MB90443G
MB90V440G
FFFFFFH
FFFFFFH
FF0000H
FEFFFFH
FE0000H
FDFFFFH
FD0000H
FCFFFFH
FC0000H
ROM (FFバンク)
ROM (FEバンク)
FF0000H
FEFFFFH
FE0000H
ROM (FFバンク)
ROM (FEバンク)
ROM (FDバンク)
外部アクセス
メモリ
ROM (FCバンク)
外部アクセス
メモリ
00FFFFH
004000H
003FFFH
003900H
0038FFH
001FF5H
001FF0H
ROM(FFバンクの
イメージ)
00FFFFH
004000H
003FFFH
周辺
周辺
003900H
002000H
ROM補正
RAM 6K
000100H
000100H
24
外部アクセス
メモリ
0018FFH
RAM 14K
0000BFH
000000H
ROM(FFバンクの
イメージ)
外部アクセスメモリ
周辺
0000BFH
000000H
外部アクセスメモリ
周辺
第 2 章 CPU
2.4
リニア方式によるアドレス指定
リニア方式には以下に示す 2 種類の方式があります。
• 24 ビットオペランド指定: オペランドにて直接 24 ビットのアドレスを指定する方
式
• 32 ビットレジスタ間接指定:32 ビットの汎用レジスタの内容の下位 24 ビットをア
ドレスとして引用する方式
■ 24 ビットオペランド指定
図 2.4-1 に ,24 ビットオペランド指定の例を , 図 2.4-2 に ,32 ビットレジスタ間接指定の
例を示します。
図 2.4-1 リニア方式(24 ビットオペランド指定)の例
JMPP
123456H
旧プログラムカウンタ
+プログラムバンク
17
17452DH
452D
123456H
新プログラムカウンタ
+プログラムバンク
12
JMPP
123456H
次の命令
3456
■ 32 ビットレジスタ間接指定
図 2.4-2 リニア方式(32 ビットレジスタ間接指定)の例
MOV
A,@RL1+7
旧AL
XXXX
090700H
3A
+7
RL1
(上位8bitは無視)
新AL
240906F9
003A
25
第 2 章 CPU
2.5
バンク方式によるアドレス指定
バンク方式は 16M バイトの空間を 64K バイトごとの 256 個のバンクに分割し , 以下
に示す 5 個のバンクレジスタで各空間に対応するバンクを指定します。
• プログラムカウンタバンクレジスタ (PCB)
• データバンクレジスタ (DTB)
• ユーザスタックバンクレジスタ (USB)
• システムスタックバンクレジスタ (SSB)
• アディショナルデータバンクレジスタ (ADB)
■ バンク方式によるアドレス指定
● プログラムカウンタバンクレジスタ (PCB) による指定
プログラムカウンタバンクレジスタ (PCB) によって指定される 64K バイトのバンクを
プログラム (PC) 空間とよび , 主として命令コードやベクタテーブル , 即値データなど
が存在します。
● データバンクレジスタ (DTB) による指定
データバンクレジスタ (DTB) によって指定される 64K バイトのバンクをデータ (DT) 空
間とよび , 主として読み書き可能なデータや内外リソースの制御 / データレジスタなど
が存在します。
● ユーザスタックバンクレジスタ(USB)・システムスタックバンクレジスタ(SSB)による指定
ユーザスタックバンクレジスタ(USB)あるいはシステムスタックバンクレジスタ(SSB)
によって指定される 64K バイトのバンクをスタック (SP) 空間とよび , プッシュ / ポッ
プ命令や割込みのレジスタ退避などの際にスタックアクセスが生じたときにアクセス
される領域です。どちらの空間が使用されるかはコンディションコードレジスタ中の
S フラグの値に依存します。
● アディショナルデータバンクレジスタ (ADB) による指定
アディショナルデータバンクレジスタ (ADB) によって指定される 64K バイトのバンク
をアディショナル (AD) 空間とよび , 主として DT 空間に入りきらなかったデータなど
が存在します。
表 2.5-1 に示すように , 各アドレッシングモードで使用されるデフォルト空間が , 命令
のコード効率を向上するために事前に決められています。また , あるアドレッシングを
用いたときにデフォルト以外の空間を使用したいときは,各バンクに対応しているプリ
フィックスコードを命令に先行して指定することにより,そのプリフィックスコードに
対応した任意のバンク空間をアクセスすることができます。
DTB, USB, SSB, ADB はリセットにより "00H" に初期化され ,PCB はリセットベクタに
より指定された値に初期化されます。リセット後 ,DT, SP, AD の各空間はバンク
00(000000H ∼ 00FFFFH) に配置され ,PC 空間はリセットベクタにより指定されたバンク
に配置されます。
26
第 2 章 CPU
表 2.5-1 デフォルト空間
デフォルト空間
アドレッシングモード
プログラム空間
PC 間接 , プログラムアクセス , 分岐系
データ空間
@RW0, @RW1, @RW4, @RW5 を 用 い た ア ド レ ッ シ ン グ
モード ,@A,faddr16, dir
スタック空間
PUSHW, POPW, @RW3, @RW7 を 用 い た ア ド レ ッ シ ン グ
モード
アディショナル空間
@RW2, @RW6 を用いたアドレッシングモード
図 2.5-1 に , レジスタバンクに分割されたメモリ空間の例を示します。
図 2.5-1 各空間の物理アドレス
FFFFFFH
物
理
ア
ド
レ
ス
FF0000H
B3FFFFH
B30000H
92FFFFH
920000H
68FFFFH
680000H
4BFFFFH
4B0000H
プログラム空間
アデショナル空間
ユーザスタック空間
データ空間
システムスタック空間
FFH
: PCB (プログラムカウンタバンクレジスタ)
B3H
: ADB (アデショナルデータバンクレジスタ)
92H
: USB (ユーザスタックバンクレジスタ)
68H
: DTB (データバンクレジスタ)
4BH
: SSB (システムスタックバンクレジスタ)
000000H
27
第 2 章 CPU
メモリ空間における多バイト長データ
2.6
メモリへの書込みはアドレスの低い方から順に行われます。したがって 32 ビット長
データであれば下位 16 ビットが先に転送され , 続いて上位 16 ビットが転送されま
す。
なお , 下位データの書込み直後にリセット信号を入力すると上位データが書き込まれ
ないことがあります。
■ メモリ空間における多バイト長データの配置
図 2.6-1 に , メモリにおける多バイト長データの構成を示します。データは下位 8 ビッ
トが n 番地に , 以下 n+1 番地 ,n+2 番地 ,n+3 番地・・・の順に配置されます。
図 2.6-1 メモリにおける多バイト長データの配置の例
MSB
H
↑
01010101
LSB
11001100
11111111
00010100
01010101
11001100
11111111
n番地
00010100
↓
L
■ 多バイト長データのアクセス
アクセスはバンク内を基本にして行われますので,多バイト長のデータをアクセスする
命令では ,FFFFH 番地の次のアドレスは同じバンクの 0000H 番地になります。図 2.6-2
に , 多バイト長データのアクセス命令の例を示します。
図 2.6-2 MOVW A, 080FFFFH の実行
H
↑
80FFFFH
↓
L
28
??
??
実行後のAL
23H
01H
01H
・
・
・
800000H
実行前のAL
23H
第 2 章 CPU
2.7
レジスタ
F2MC-16LX のレジスタは大別して ,CPU 内の専用レジスタと , メモリ内の汎用レジ
スタの 2 種類に分けることができます。
専用レジスタは ,CPU の内部に専用ハードウェアとして存在し , 使用する用途が
CPU のアーキテクチャ上で限定されています。
汎用レジスタは ,CPU のアドレス空間上に RAM と共存し , アドレスを指定しないで
アクセスできるという点では専用レジスタと同じです。
通常のメモリと同じく , 使用する用途をユーザが指定することができます。
■ 専用レジスタ
F2MC-16LX CPU コアの専用レジスタは以下に示す 13 本があります。
• アキュムレータ (A=AH:AL):16 ビット× 2 本のアキュムレータ(合計 32 ビットのア
キュムレータとしても使用可能)
。
• ユーザスタックポインタ (USP): ユーザスタック領域を示す 16 ビットのポインタ
• システムスタックポインタ(SSP):システムスタック領域を示す16ビットのポインタ
• プロセッサステータス (PS): システムの状態を示す 16 ビットのレジスタ
• プログラムカウンタ (PC): プログラムが格納されているアドレスを持つ 16 ビットの
レジスタ
• プログラムカウンタバンクレジスタ (PCB):PC 空間を示す 8 ビットのレジスタ
• データバンクレジスタ (DTB):DT 空間を示す 8 ビットのレジスタ
• ユーザスタックバンクレジスタ (USB): ユーザスタック空間を示す 8 ビットのレジス
タ
• システムスタックバンクレジスタ (SSB): システムスタック空間を示す 8 ビットのレ
ジスタ
• アディショナルデータバンクレジスタ (ADB):AD 空間を示す 8 ビットのレジスタ
• ダイレクトページレジスタ (DPR): ダイレクトページを示す 8 ビットのレジスタ
図 2.7-1 に , 専用レジスタの構成を示します。
29
第 2 章 CPU
図 2.7-1 専用レジスタ
AH
32ビット
30
AL
アキュムレータ
USP
ユーザスタックポインタ
SSP
システムスタックポインタ
16ビット
PS
プロセッサステータス
PC
プログラムカウンタ
DPR
ダイレクトページレジスタ
PCB
プログラムカウンタバンクレジスタ
DTB
データバンクレジスタ
USB
ユーザスタックバンクレジスタ
SSB
システムスタックバンクレジスタ
ADB
アディショナルデータバンクレジスタ
8ビット
第 2 章 CPU
■ 汎用レジスタ
F2MC-16LX の汎用レジスタは主記憶の 000180H ∼ 00037FH(最大の場合)に存在し ,
レジスタバンクポインタ (RP) によって先に述べたアドレスのどの部分が現在使用中の
レジスタバンクであるかを指定します。各バンクには以下に示す 3 種のレジスタが存
在します。これらのレジスタは , 図 2.7-2 に示すように互いに依存しています。
• R0 ∼ R7
: 8 ビットの汎用レジスタ
• RW0 ∼ RW7: 16 ビットの汎用レジスタ
• RL0 ∼ RL3 : 32 ビットの汎用レジスタ
図 2.7-2 汎用レジスタ
MSB
000180H + RP×10H
16ビット
下位
LSB
RW0
汎用レジスタの
先頭アドレス
RL0
RW1
RW2
RL1
RW3
上位
R1
R0
RW4
R3
R2
RW5
R5
R4
RW6
R7
R6
RW7
RL2
RL3
バイトレジスタとワードレジスタの上位 / 下位バイトの関係は ,
RW(i+4) = R(i × 2+1) × 256+R(i × 2) [i=0 ∼ 3]
という式で表すことができ ,RLi の上位・下位と RW の関係は
RL(i) = RW(i × 2+1) × 65536+RW(i × 2) [i=0 ∼ 3]
という式で表すことができます。
31
第 2 章 CPU
2.7.1
アキュムレータ (A)
アキュムレータ (A) レジスタは , 2 つの 16 ビット長の演算用レジスタ AH および AL
で構成され , 演算などを行った際の結果やデータ転送の一時記憶などに使用されま
す。
■ アキュムレータ (A)
32 ビットデータ処理時は AH と AL を連結して使用します。また ,16 ビットデータ処
理モードのワード処理や 8 ビットデータ処理モードのバイト処理のときは AL のみが
使用されます(図 2.7-3 と 図 2.7-4 を参照)
。A レジスタ中のデータはメモリ / レジスタ
(Ri, RWi, RLi) 中のデータと各種演算ができ ,F2MC-8L のときと同様 , ワード長以下の
データを AL へ転送しますと , 転送前の AL 中のデータが自動的に AH に転送されます
(データ保持機能)ので , データ保持機能と AL-AH 間演算にて各種処理効率を上げる
ことが可能になります。
AL へのバイト長以下のデータの転送時は , データは符号拡張またはゼロ拡張され 16
ビット長となり AL へ格納されます。AL 中のデータは , ワード長としてもバイト長と
しても扱えます。AL にバイト処理の算術演算命令を実行すると , 演算前の AL の上位
8 ビットは無視され演算結果の上位 8 ビットはすべて "0" になります。A レジスタは ,
リセットでは初期化されず , リセット直後は不定値になります。
図 2.7-3 32 ビットデータ転送例
MOVL
A,@RW1+6
(RW1の内容+8ビット長オフセットの結果を番地としてロング
ワード長リードを行い,その内容をAに格納する命令)
MSB
実行前のA
XXXXH
XXXXH
DTB
実行後のA
8F74H
2B52H
AH
AL
A6H
メモリ空間
LSB
A61540H
8FH
74H
A6153EH
2BH
52H
15H
38H
+6
RW1
図 2.7-4 AL-AH 転送例
MOVW
A,@RW1+6
(RW1の内容+8ビット長オフセットの結果を番地としてワード長
リードを行い,その内容をAに格納する命令)
MSB
実行前のA
XXXXH
1234H
DTB
実行後のA
32
1234H
2B52H
AH
AL
A6H
メモリ空間
LSB
A61540H
8FH
74H
A6153EH
2BH
52H
15H
38H
+6
RW1
第 2 章 CPU
ユーザスタックポインタ (USP) とシステムスタック
ポインタ (SSP)
2.7.2
ユーザスタックポインタ (USP) およびシステムスタックポインタ (SSP) は ,16 ビッ
トのレジスタであり , プッシュ / ポップ命令およびサブルーチン実行時のデータ退避 /
復帰のメモリアドレスを示します。
■ ユーザスタックポインタ (USP) とシステムスタックポインタ (SSP)
ユーザスタックポインタ (USP) とシステムスタックポインタ (SSP) は , スタック系の命
令により使用されますが , プロセッサステータスレジスタ中の S フラグが "0" のときは ,
USP レジスタが有効になり ,S フラグが "1" のときは SSP レジスタが有効になります
( 図 2.7-5 を参照)。また , 割込みが受付られると S フラグがセットされるため , 割込み
時のレジスタ退避は必ずSSPの示すメモリ中に行われます。割込みルーチンでのスタッ
ク処理は SSP で , 割込みルーチン以外のスタック処理は USP が用いられます。スタッ
ク空間を分ける必要のない場合は SSP だけをお使いください。
スタック時のアドレスの上位 8 ビットは ,SSP → SSB, USP → USB により示されます。
また USP および SSP は , リセットでは初期化されず , 不定値になります。
図 2.7-5 スタック操作命令とスタックポインタ(S フラグが "0" の場合の PUSHW A の例)
例1 Sフラグが"0"の場合のPUSHW A
MSB
実行前
AL
A624H
0
Sフラグ
実行後
AL
A624H
Sフラグ 0
C6F326H
LSB
USB
C6H
USP
F328H
XX
XX
SSB
56H
SSP
1234H
USB
C6H
USP
F326H
SSB
56H
SSP
1234H
C6F326H
A6H
24H
561232H
XX
XX
561232H
A6H
24H
Sフラグが"0"であるため
ユーザスタックを使用
例2 Sフラグが"1"の場合のPUSHW A
実行前
AL
A624H
USB
C6H
USP
F328H
1
SSB
56H
SSP
1234H
A624H
USB
C6H
USP
F328H
SSB
56H
SSP
1232H
Sフラグ
実行後
AL
Sフラグ 1
< 注意事項 >
Sフラグが"1"であるため
システムスタックを使用
スタックポインタに設定すべき値は , 原則として偶数アドレスを使用してくださ
い。
33
第 2 章 CPU
2.7.3
プロセッサステータス (PS)
PS レジスタは ,CPU の動作制御を行うビットと CPU の状態を示すビットより構成
されています。
■ プロセッサステータス (PS)
図 2.7-6 に示すように ,PS レジスタはレジスタバンクポインタ (RP) およびインタラプ
トレベルマスクレジスタ (ILM) により構成されています。RP はレジスタバンクの先頭
アドレスを示します。PS レジスタの下位バイトは命令実行結果および割込み発生など
によりセット / リセットされる各種フラグより構成されているコンディションコード
レジスタ (CCR) より構成されています。
図 2.7-6 プロッセサステータス (PS) の構造
bit 15
PS
初期値
13 12
8 7
0
ILM
RP
CCR
000
00000
-01XXXXX
X:不定値
■ コンディションコードレジスタ (CCR)
図 2.7-7 に , コンディションコードレジスタ (CCR) の構成を示します。
図 2.7-7 コンディションコードレジスタ (CCR) の構成
bit
初期値
7
6
5
4
3
2
1
0
-
I
S
T
N
Z
V
C
: CCR
-
0
1
X
X
X
X
X
X:不定値
● 割込み許可フラグ (I)
ソフトウェアインタラプト以外のすべての割込みに対し I フラグが "1" の場合は割込み
が許可 ,"0" の場合は割込みはマスクされます。リセット時はクリアされます。
● スタックフラグ (S)
S フラグが "0" の場合はスタック操作用ポインタとして USP が有効 ,"1" の場合は SSP
が有効になります。割込み受付時またはリセット時にセットされます。
● スティッキィビットフラグ (T)
論理右 / 算術右シフト命令を実行後にキャリーよりシフトアウトされたデータに 1 つ
以上 "1" があったら "1", それ以外は "0" になります。シフト量がゼロの場合も "0" にな
ります。
● ネガティブフラグ (N)
演算結果の MSB が "1" なら N フラグはセット , それ以外はクリアされます。
● ゼロフラグ (Z)
演算結果がすべて "0" ならセット , それ以外はクリアされます。
34
第 2 章 CPU
● オーバフローフラグ (V)
演算の実行により符号付き数値としてオーバフローが生じるとセット,生じないとクリ
アされます。
● キャリーフラグ (C)
演算の実行により ,MSB より桁上り / 桁下りが生じるとセット , 生じないとクリアされ
ます。
■ レジスタバンクポインタ (RP)
レジスタバンクポインタ (RP) は ,F2MC-16L の持つ汎用レジスタとそれが存在する内部
RAM のアドレスとの関係を示すレジスタで , 現在使用中のレジスタバンクの先頭のメ
モリアドレスを [000180H+(RP) × 10H] という変換式で示します( 図 2.7-8 参照)。RP
レジスタは 5 ビットにより構成されており "00H" ∼ "1FH" までの値をとることができ ,
メモリ中の 000180H ∼ 00037FH のアドレスにレジスタバンクを配置できます。
ただし , この範囲内であっても内部 RAM でなければ汎用レジスタとして使用すること
はできません。RP レジスタはリセットによりすべて "0" に初期化されます。命令上で
は RP レジスタに 8 ビットの即値が転送できますが , 実際に使用されるのはそのデータ
の下位 5 ビットのみです。
図 2.7-8 レジスタバンクポインタ (RP)
bit
初期値
12
11
10
9
8
B4
B3
B2
B1
B0
0
0
0
0
0
: RP
35
第 2 章 CPU
■ インタラプトレベルマスクレジスタ (ILM)
インタラプトレベルマスクレジスタ (ILM) は 3 ビットから構成されており ,CPU の割込
みマスクのレベルを示します。この 3 ビットにより示されるレベルより強いレベルの
割込み要求のみが受付られます。レベルの強弱は "0" が最強で ,"7" が最弱と定義され
ています( 表 2.7-1 参照)。したがって , 割込みが受付られるには , 現状の ILM の保持
値より小さい値の要求でなければなりません。割込みが受付られるとその割込みのレ
ベル値が ILM にセットされ , これ以降の同じかそれより低い優先順位の割込みは受付
られなくなります。ILM はリセットによりすべて "0" に初期化されます。命令上では
ILM レジスタに 8 ビットの即値が転送できますが , 実際に使用されるのはそのデータ
の下位 3 ビットのみです。
図 2.7-9 インタラプトレベルレジスタ
bit
初期値
15
14
13
ILM2
ILM1
ILM0
0
0
0
: ILM
表 2.7-1 インタラプトレベルマスク (ILM) レジスタで示されるレベル
36
ILM2
ILM1
ILM0
レベル値
0
0
0
0
割込み禁止
0
0
1
1
0 のみ
0
1
0
2
1 より小さい値のレベル
0
1
1
3
2 より小さい値のレベル
1
0
0
4
3 より小さい値のレベル
1
0
1
5
4 より小さい値のレベル
1
1
0
6
5 より小さい値のレベル
1
1
1
7
6 より小さい値のレベル
許可される割込みレベル
第 2 章 CPU
2.7.4
プログラムカウンタ (PC)
プログラムカウンタレジスタは ,16 ビットのカウンタであり ,CPU が実行すべき命令
コードのメモリアドレスの下位 16 ビットを示します。上位 8 ビットアドレスは
PCB により示されます。PC レジスタは条件分岐命令 , サブルーチンコール命令 , 割
込み , リセットなどにより内容が更新されます。
また , オペランドアクセス時のベースポインタとして使用することもできます。
■ プログラムカウンタ (PC)
図 2.7-10 に , プログラムカウンタを示します。
図 2.7-10 プログラムカウンタ
PCB
FEH
PC
ABCDH
FEABCDH
次に実行する命令
37
第 2 章 CPU
2.8
レジスタバンク
レジスタバンクは 8 ワードで構成され , バイトレジスタ R0 ∼ R7, ワードレジスタ
RW0 ∼ RW7, ロングワードレジスタ RL0 ∼ RL3 の汎用レジスタとして各種演算 ,
ポインタとして各種命令に使用できます。
■ レジスタバンク
表 2.8-1 に , 各レジスタの機能を , 表 2.8-2 に各レジスタの関係を示します。
レジスタバンクの内容は , 通常の RAM 領域と同様に , リセットでは初期化されず , リ
セット前の状態が保持されます。ただし , パワーオン時は , 不定値になります。
表 2.8-1 各レジスタの機能
R0 ∼ R7
各種命令のオペランドとして使用
( 注意事項 )
R0 はバレルシフトのカウンタまたはノーマライズ命令のカウン
タとしても使用
RW0 ∼ RW7
ポインタ , 各種命令のオペランドとして使用
( 注意事項 )
RW0 はストリング命令のカウンタとしても使用
RL0 ∼ RL3
ロングポインタ , 各種命令のオペランドとして使用
表 2.8-2 各レジスタの関係
RW0
RL0
RW1
RW2
RL1
RW3
R0
RW4
R1
RL2
R2
RW5
R3
R4
RW6
R5
RL3
R6
RW7
R7
38
第 2 章 CPU
● ダイレクトページレジスタ (DPR) < 初期値 :01H >
ダイレクトページレジスタ (DPR) は ,2.16 に示すように , ダイレクトアドレッシング
モードの命令時のオペランドの addr8 ∼ addr15 を指定します。DPR は 8 ビット長であ
り , リセットにより "01H" に初期化されます。DPR は命令により読出しや書込みがで
きます。
図 2.8-1 ダイレクトアドレッシングモードによる物理アドレスの生成
DTBレジスタ
αααααααα
DPRレジスタ
命令中のダイレクトアドレス
ββββββββ
γγγγγγγγ
MSB
24ビット物理アドレス
LSB
αααααααα
ββββββββ
γγγγγγγγ
● プログラムカウンタバンクレジスタ (PCB) < 初期値 : リセットベクタ中の値 >
● データバンクレジスタ (DTB) < 初期値 :00H >
● ユーザスタックバンクレジスタ (USB) < 初期値 :00H >
● システムスタックバンレジスタ (SSB) < 初期値 :00H >
● アディショナルデータバンクレジスタ (ADB) < 初期値 :00H >
各々のバンクレジスタはそれぞれ PC 空間 ,DT 空間 ,SP 空間(ユーザ),SP 空間(シス
テム),AD 空間の配置されるメモリバンクを示します。すべてのバンクレジスタはバ
イト長であり , リセットにより PCB はリセットベクタにより 00H に初期化されます。
PCB 以外のバンクレジスタは読出し / 書込みができます。PCB は読出しは可能ですが
書き込むことはできません。
16M バイト全空間に分岐する JMPP, CALLP, RETP, RETI, RETF 命令実行時および割込
み時に PCB は書き換わります。各レジスタの動作は ,「 2.2 メモリ空間」を参照して
ください。
39
第 2 章 CPU
2.9
プリフィックスコード
命令の前にプリフィックスコードを置くことで , 命令動作の一部を変更することが可
能です。プリフィックスコードには , バンクセレクトプリフィックス , コモンレジス
タバンクプリフィックス , フラグ変化抑止プリフィックスの 3 種類があります。
■ バンクセレクトプリフィックス
データアクセスの際に使用されるメモリ空間は各アドレッシングモードごとに定めら
れています。バンクセレクトプリフィックスを命令前に置くことで , 命令によるデータ
アクセスのメモリ空間をアドレッシングモードと無関係に任意に選択することが可能
となります。
表 2.9-1 に , バンクセレクトプリフィックスと対応するメモリ空間を示します。
表 2.9-1 バンクセレクトプリフィックス
バンクセレクトプリフィックス
選択される空間
PCB
PC 空間
DTB
データ空間
ADB
AD 空間
SPB
そのときのスタックフラグの内容により SSP 空間 ,USP
空間のどちらかが用いられます。
ただし , 以下に示す命令に対しては注意してください。
● ストリング命令〔MOVS / MOVSW / SCEQ / SCWEQ / FILS / FILSW〕
プリフィックスの有無にかかわらず,オペランド指定されたバンクレジスタを使用して
ください。
● スタック操作命令〔PUSHW / POPW〕
プリフィックスの有無にかかわらず ,S フラグに応じて SSB または USB を使用してく
ださい。
● I/O アクセス命令〔MOV A, io / MOV io, A / MOVX A, io / MOVW A, io / MOVW io, A /MOV
io,#imm8 / MOVW io, #imm16 / MOVB A, io:bp / MOVB io:bp, A / SETB io:bp /CLRB io:bp
BBC io:bp, rel / BBS io:bp, rel / WBTC, WBTS〕
プリフィックスの有無にかかわらず , バンクの I/O 空間が使用されます。
● フラグ変更命令〔AND CCR, #imm8 / OR CCR, #imm8〕
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
● POPW PS
プリフィックスの有無にかかわらず ,S フラグに応じて SSB または USB が使用されま
す。プリフィックスの効果が次の命令まで及びます。
40
第 2 章 CPU
● MOV ILM, #imm8
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
● RETI
プリフィックス有無にかかわらず ,SSB が使用されます。
■ コモンレジスタバンクプリフィックス (CMR)
複数のタスク間でのデータ交換を容易にするためには , その場合の RP がどのような値
でも , 比較的簡単に定められた同一のレジスタバンクをアクセスする手段が必要です。
コモンレジスタバンクプリフィックス (CMR) を , レジスタバンクをアクセスする命令
の前に置くことで , 現在の RP の値に関係なくその命令のレジスタアクセスをすべて
000180H ∼ 00018FH にあるコモンバンク(RP=0 の場合に選択されるレジスタバンク)
に変更することができます。
コモンレジスタバンクプリフィックス (CMR) を使用する際には , 以下に示す命令に対
して注意してください。
● ストリング命令〔MOVS / MOVSW / SCEQ / SCWEQ / FILS / FILSW〕
プリフィックスコードを付加したストリング命令実行中に割込み要求が発生すると,割
込み復帰後のストリング命令に対しては,プリフィックスが無効であるため誤動作とな
ります。上記のストリング命令に対しては CMR プリフィックスを付加しないでくださ
い。
● フラグ変更命令〔AND CCR, #imm8 / OR CCR, #imm8 / POPW PS〕
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
● MOV ILM, #imm8
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
■ フラグ変化抑止プリフィックス (NCC)
フラグ変化を抑止するためには , フラグ変化抑止プリフィックスコード (NCC) を用い
ます。不要フラグ変化を抑止する命令の前に置くことで , 命令実行に伴うフラグ変化を
抑止可能です。
フラグ変化抑止プリフィックス (NCC) を使用する際には , 以下に示す命令に対して注
意してください。
● ストリング命令〔MOVS / MOVSW / SCEQ / SCWEQ / FILS / FILSW〕
プリフィックスコードを付加したストリング命令の実行中に割込み要求が発生すると
割込み復帰後のストリング命令に対してはプリフィックスが無効であるために誤動作
となります。上記のストリング命令にはNCCプリフィックスを付加しないでください。
● フラグ変更命令〔AND CCR, #imm8 / OR CCR, #imm8 / POPW PS〕
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
● 割込み命令〔INT #vct8 / INT9 / INT addr16 / INTP addr24 / RETI〕
プリフィックスの有無にかかわらず CCR は命令の仕様どおり変化します。
● JCTX @A
プリフィックスの有無にかかわらず CCR は命令の仕様どおり変化します。
41
第 2 章 CPU
● MOV ILM, imm8
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
42
第 2 章 CPU
2.10
割込み抑止命令
以下に示す 10 種類の命令については , 割込み要求はサンプリングされません。
• MOV ILM, #imm8
• AND CCR, #imm8
• OR CCR, #imm8
• POPW PS
• PCB
• DTB
• ADB
• SPB
• CMR
• NCC
■ 割込み抑止命令
上記の命令実行中に有効なハードウェア割込み要求が発生しても,割込み処理が行われ
るのは , 上記以外の命令が実行されたときに限られます。詳しくは 図 2.10-1 を参照し
てください。
図 2.10-1 割込み抑止命令
割込み抑止命令
(a)普通の命令
(a)
・・・・・・・・
割込み要求発生
・・・
割込み受付け
■ 割込み抑止命令とプリフィックス命令に関する制約
割込み抑止命令の前にプリフィックスコードを付加した場合,プリフィックスコードの
効果は , 割込み抑止命令以外のコード後の最初の〔命令〕まで及びます。
図 2.10-2 割込み抑止命令とプリフィックスコード
割込み抑止命令
MOV A,FFH
CCR:XXX10XX
NCC
MOV ILM,#imm8
・・・・
ADD A,01H
CCR:XXX10XX
NCCにより,CCRは変化しません
43
第 2 章 CPU
■ プリフィックスコードが連続している場合
競合するプリフィックスコードが連続していた場合 , 後方のものが有効になります。な
お , 競合するプリフィックスコードとはここでいう PCB, ADB, DTB, SPB のことを意味
します。
図 2.10-3 プリフィックスコードの連続
プリフィックスコード
・・・・・
ADB
DTB
PCB
ADD A,01H
・・・・
↑プリフィックスコードは
PCBが有効になります。
44
第3章
割込み
割込みの機能と動作について説明します。
3.1 割込みの概要
3.2 割込み要因
3.3 割込みベクタ
3.4 ハードウェア割込み
3.5 ソフトウェア割込み
3.6 拡張インテリジェント I/O サービス (EI2OS)
3.7 未定義命令の実行による例外発生
45
第 3 章 割込み
3.1
割込みの概要
F2MC-16LX はイベントなどの発生により , 現在実行中の処理を中断して , 別に定義
したプログラムへ制御を移す割込み機能があります。
■ 割込みの概要
割込み機能は以下の 4 つに分けることができます。
• ハードウェア割込み : 内蔵リソースのイベント発生による割込み処理
• ソフトウェア割込み : ソフトウェアのイベント発生命令による割込み処理
• 拡張インテリジェント I/O サービス (EI2OS): 内蔵リソースのイベント発生による転
送処理
• 例外 : 動作例外事項の発生による終了処理
この章では , これら 4 種類の割込みについて説明します。
46
第 3 章 割込み
割込み要因
3.2
表 3.2-1 に ,MB90440G シリーズでの割込み要因と割込みベクタ・割込み制御レジス
タを示します。
■ 割込み要因
表 3.2-1 割込み要因と割込みベクタ・割込み制御レジスタ ( 1 / 2 )
割込みベクタ
割込み要因
割込み制御レジスタ
2
EI OS クリア
番号
アドレス
番号
アドレス
リセット
×
# 08
FFFFDCH
-
-
INT9 命令
×
# 09
FFFFD8H
-
-
例外
×
# 10
FFFFD4H
-
-
CAN0 受信
×
# 11
FFFFD0H
ICR00
×
# 12
FFFFCCH
0000B0H
CAN0 送信 / ノードステータス
CAN1 受信
×
# 13
FFFFC8H
ICR01
×
# 14
FFFFC4H
0000B1H
CAN1 送信 / ノードステータス
外部割込み INT0/INT1
○
# 15
FFFFC0H
ICR02
×
# 16
FFFFBCH
0000B2H
タイムベースタイマ
16 ビットリロードタイマ 0
○
# 17
FFFFB8H
ICR03
○
# 18
FFFFB4H
0000B3H
A/D コンバータ
入出力タイマ
×
# 19
FFFFB0H
ICR04
○
# 20
FFFFACH
0000B4H
外部割込み INT2/INT3
シリアル I/O
○
# 21
FFFFA8H
ICR05
×
# 22
FFFFA4H
0000B5H
PPG0 ∼ PPG3
インプットキャプチャ 0
○
# 23
FFFFA0H
ICR06
○
# 24
FFFF9CH
0000B6H
外部割込み INT4/INT5
CAN2 受信
×
# 25
FFFF98H
ICR07
×
# 26
FFFF94H
0000B7H
CAN2 送信 / ノードステータス
外部割込み INT6/INT7
○
# 27
FFFF90H
ICR08
×
# 28
FFFF8CH
0000B8H
監視タイマ
47
第 3 章 割込み
表 3.2-1 割込み要因と割込みベクタ・割込み制御レジスタ ( 2 / 2 )
割込みベクタ
割込み要因
割込み制御レジスタ
EI2OS クリア
番号
アドレス
インプットキャプチャ 1
○
# 29
FFFF88H
インプットキャプチャ 2/3
○
# 30
FFFF84H
PPG4 ∼ PPG7
×
# 31
FFFF80H
アウトプットコンペア 0
○
# 32
FFFF7CH
アウトプットコンペア 1
○
# 33
FFFF78H
インプットキャプチャ 4/5
○
# 34
FFFF74H
アウトプットコンペア 2/3,
インプットキャプチャ 6/7
○
# 35
FFFF70H
16 ビットリロードタイマ 1
○
# 36
FFFF6CH
UART0 受信
◎
# 37
FFFF68H
UART0 送信
○
# 38
FFFF64H
UART1 受信
◎
# 39
FFFF60H
UART1 送信
○
# 40
FFFF5CH
フラッシュメモリ
×
# 41
FFFF58H
遅延割込み
×
# 42
FFFF54H
番号
アドレス
ICR09
0000B9H
ICR10
0000BAH
ICR11
0000BBH
ICR12
0000BCH
ICR13
0000BDH
ICR14
0000BEH
ICR15
0000BFH
◎ :EI2OS 割込みクリア信号にて割込み要求フラグはクリアされます。ストップ要求あり。
○ :EI2OS 割込みクリア信号にて割込み要求フラグはクリアされます。
× :EI2OS 割込みクリア信号にて割込み要求フラグはクリアされません。
< 注意事項 >
48
同一割込み番号に 2 つの割込み要因がある周辺モジュールは , 両方の割込み要求フ
ラグが EI2OS 割込みクリア信号でクリアされます。
EI2OS の終了時には , 同一の割込み番号に割り当てられたすべての割込みフラグに
対して ,EI2OS クリア信号が発行されます。1 つの割込みフラグが EI2OS を開始し ,
その間にハードウェアイベントによって別の割込みフラグが設定された場合 , 最初
のイベントによって発行された EI2OS クリア信号によってフラグがクリアされる
ので , 後から発生したイベントは失われます。したがって , この割込み番号には
EI2OS は使用しないでください。
EI2OS が有効な場合 , 同一の割込み制御レジスタ (ICR) にある 2 つの割込み信号の
うち 1 つが発行されると EI2OS が起動されます。各割込みソースには独自の
EI2OS ディスクリプタが用意されるべきですが , 実際には異なる割込みソースが同
一の EI2OS ディスクリプタを共用します。したがって ,1 つの割込みソースが
EI2OS を使用している間はほかの割込みを無効にしておく必要があります。
第 3 章 割込み
割込みベクタ
3.3
表 3.3-1 に ,MB90440G シリーズでの割込みベクタ一覧表を示します。
■ 割込みベクタ
表 3.3-1 割込みベクタ一覧表 ( 1 / 2 )
ソフトウェア
割込命令
ベクタ
アドレスL
ベクタ
アドレスM
ベクタ
アドレスH
モード
レジスタ
割込No
INT 0
FFFFFCH
FFFFFDH
FFFFFEH
未使用
#0
:
:
:
:
:
:
INT 7
FFFFE0H
FFFFE1H
FFFFE2H
未使用
#7
INT 8
FFFFDCH
FFFFDDH
FFFFDEH
FFFFDFH
#8
INT 9
FFFFD8H
FFFFD9H
FFFFDAH
未使用
#9
ROM 訂正
INT 10
FFFFD4H
FFFFD5H
FFFFD6H
未使用
#10
< 例外 >
INT 11
FFFFD0H
FFFFD1H
FFFFD2H
未使用
#11
CAN0 受信
INT 12
FFFFCCH
FFFFCDH
FFFFCEH
未使用
#12
CAN0 送信 / ノード
ステータス
INT 13
FFFFC8H
FFFFC9H
FFFFCAH
未使用
#13
CAN1 受信
INT 14
FFFFC4H
FFFFC5H
FFFFC6H
未使用
#14
CAN1 送信 / ノード
ステータス
INT 15
FFFFC0H
FFFFC1H
FFFFC2H
未使用
#15
外部割込み INT0/INT1
INT 16
FFFFBCH
FFFFBDH
FFFFBEH
未使用
#16
タイムベースタイマ
INT 17
FFFFB8H
FFFFB9H
FFFFBAH
未使用
#17
16 ビットリロードタイマ 0
INT 18
FFFFB4H
FFFFB5H
FFFFB6H
未使用
#18
A/D コンバータ
INT 19
FFFFB0H
FFFFB1H
FFFFB2H
未使用
#19
入出力タイマ
INT 20
FFFFACH
FFFFADH
FFFFAEH
未使用
#20
外部割込み INT2/INT3
INT 21
FFFFA8H
FFFFA9H
FFFFAAH
未使用
#21
シリアル I/O
INT 22
FFFFA4H
FFFFA5H
FFFFA6H
未使用
#22
PPG0 ∼ PPG3
INT 23
FFFFA0H
FFFFA1H
FFFFA2H
未使用
#23
インプットキャプチャ 0
INT 24
FFFF9CH
FFFF9DH
FFFF9EH
未使用
#24
外部割込み INT4/INT5
INT 25
FFFF98H
FFFF99H
FFFF9AH
未使用
#25
CAN2 受信
INT 26
FFFF94H
FFFF95H
FFFF96H
未使用
#26
CAN2 送信 / ノード
ステータス
INT 27
FFFF90H
FFFF91H
FFFF92H
未使用
#27
外部割込み INT6/INT7
ハードウェア割込み
なし
:
なし
(RESET ベクタ)
49
第 3 章 割込み
表 3.3-1 割込みベクタ一覧表 ( 2 / 2 )
ソフトウェア
割込命令
ベクタ
アドレスL
ベクタ
アドレスM
ベクタ
アドレスH
モード
レジスタ
割込No
INT 28
FFFF8CH
FFFF8DH
FFFF8EH
未使用
#28
監視タイマ
INT 29
FFFF88H
FFFF89H
FFFF8AH
未使用
#29
インプットキャプチャ 1
INT 30
FFFF84H
FFFF85H
FFFF86H
未使用
#30
インプットキャプチャ 2/3
INT 31
FFFF80H
FFFF81H
FFFF82H
未使用
#31
PPG4 ∼ PPG7
INT 32
FFFF7CH
FFFF7DH
FFFF7EH
未使用
#32
アウトプットコンペア 0
INT 33
FFFF78H
FFFF79H
FFFF7AH
未使用
#33
アウトプットコンペア 1
INT 34
FFFF74H
FFFF75H
FFFF76H
未使用
#34
インプットキャプチャ 4/5
INT 35
FFFF70H
FFFF71H
FFFF72H
未使用
#35
アウトプットコンペア 2/3
インプットキャプチャ 6/7
INT 36
FFFF6CH
FFFF6DH
FFFF6EH
未使用
#36
16 ビットリロードタイマ 1
INT 37
FFFF68H
FFFF69H
FFFF6AH
未使用
#37
UART0 受信
INT 38
FFFF64H
FFFF65H
FFFF66H
未使用
#38
UART0 送信
INT 39
FFFF60H
FFFF61H
FFFF62H
未使用
#39
UART1 受信
INT 40
FFFF5CH
FFFF5DH
FFFF5EH
未使用
#40
UART1 送信
INT 41
FFFF58H
FFFF59H
FFFF5AH
未使用
#41
フラッシュメモリ
INT 42
FFFF54H
FFFF55H
FFFF56H
未使用
#42
遅延割込み
INT 43
FFFF50H
FFFF51H
FFFF52H
未使用
#43
なし
:
:
:
:
:
:
INT254
FFFC04H
FFFC05H
FFFC06H
未使用
#254
なし
INT255
FFFC00H
FFFC01H
FFFC02H
未使用
#255
なし
50
ハードウェア割込み
:
第 3 章 割込み
3.4
ハードウェア割込み
ハードウェア割込みは , 内蔵リソースからの割込み要求信号に対応して ,CPU がそれ
まで実行していたプログラムの実行を一時中断し , ユーザの定義した割込み処理用プ
ログラムへ制御を移行する機能です。
■ ハードウェア割込みの概要
ハードウェア割込みの起動は , 割込み要求がもつ割込みレベルと ,CPU の PS がもつイ
ンタラプトレベルマスクレジスタ (ILM) の比較および PS 内の I フラグの内容をハード
ウェアで参照したのち , 発生条件に合致すれば発生します。
ハードウェア割込みが発生するときに CPU が行う処理は以下のものがあります。
• CPU 内部の PC, PS, AH, AL, PCB, DTB, ADB, DPR レジスタのシステムスタックへの
退避
• PS レジスタ内の ILMを設定。現在要求している割込みレベルと自動的に同じになる
• 対応する割込みベクタの値を取り込み , その値が指示する処理へ分岐
■ ハードウェア割込みの構造
ハードウェア割込みに関連する機構は , 以下の 3 つの部分に分かれて存在します。
● 内蔵リソース
割込み許可ビット , 割込み要求ビット : リソースからの割込み要求の制御
● 割込みコントローラ
ICR: 割込みのレベル付け , 同時要求割込みの優先度判定
● CPU
I, ILM: 要求割込みレベルと現レベルの比較 , 割込み許可状態の識別
マイクロコード : 割込み処理用ステップ
上記 3 つの区分の状態は , 内蔵リソースではリソース制御レジスタに , 割込みコント
ローラでは ICR に ,CPU では CCR の値によって指示されます。ハードウェア割込みを
使用する場合には , あらかじめソフトウェアでこの 3 つの区分を事前に設定します。
割込み処理の際に参照する割込みベクタのテーブルはメモリ領域の "FFFC00H ∼
FFFFFFH" に割り当ててあり , ソフトウェア割込みと共通で使用しています。
■ 入出力領域への書込み中のハードウェア割込み要求
入出力領域への書込み中はハードウェア割込み要求を受け付けません。これは各リ
ソースの割込み制御レジスタ関係の書換えを行っている最中の割込み要求に対して ,
CPU が割込み関係で誤動作を起こすことを避けるためです。
51
第 3 章 割込み
■ 多重割込み
F2 MC-16LX CPU は多重割込みをサポートしています。そのため , 割込み処理の実行中
にその割込みのもつ割込みレベルより高いレベルの割込みが発生すると,現在実行中の
命令を終了したあとで , 制御は高いレベルの割込みへ転送されます。高いレベルでの割
込みが終了すると , もとの割込み処理に戻ります。割込み処理実行中に , その割込みと
同等かより低いレベルの割込み処理が発生した場合は ,ILM の内容や I フラグの命令に
よって変更しないかぎり , 現在の割込み処理の終了まで , 新しい割込み要求は保留にな
ります。
なお , 拡張インテリジェント I/O サービスは多重に起動されることはなく ,1 つ
の拡張インテリジェント I/O サービスの処理中は , ほかの割込み要求および拡張インテ
リジェント I/O サービス要求はすべて保留になります。
■ スタック内へのレジスタの退避
図 3.4-1 に , スタック内に退避されたレジスタの順序を示します。
図 3.4-1 スタック内に退避されたレジスタ
ワード (16bit)
MSB
LSB
H
↑
←
SSP
(割込み発生前のSSPの値)
←
SSP
(割込み発生後のSSPの値)
AH
AL
DPR
ADB
DTB
PCB
PC
↓
L
52
PS
第 3 章 割込み
ハードウェア割込みの動作
3.4.1
ハードウェア割込み要求の機能を備えた内部リソースには , 割込み要求フラグと割込
み許可フラグが存在します。割込み要求フラグは , 割込み要求の有無を指示します。
割込み許可フラグは , 該当する内部リソースによる CPU への割込み要求の有無を指
示します。割込み要求フラグがセットされるのは , 内部リソースに特有のイベントが
発生する場合です。割込み許可フラグが " 許可 " を指示すると , リソースは割込みコ
ントローラへ割込み要求を発生します。
■ ハードウェア割込みの動作
同時に複数の割込み要求を受け取った場合 , 割込みコントローラは , 各割込み要求に対
する ICR 内の割込みレベル (IL) 同士を比較し , もっとも高いレベルの要求(IL 値の最
も小さいもの)を採択して CPU へ通知します。同一レベルの要求が複数あった場合に
は , 割込み番号が少ないものを優先します。各割込み要求と各 ICR の関係はハードウェ
アで決まっています。
CPU は受け取った割込みレベル (IL) と PS レジスタ内の ILM とを比較し , 割込みレベ
ル (IL) <(ILM) であり ,PS レジスタ内の I ビットが "1" に設定されている場合に , 現在実
行中の命令が終了したあとで , 割込み処理用マイクロコードを起動します。割込み処理
マイクロコードの先頭で割込みコントローラの ICR 中の ISE ビットを参照し ,ISE ビッ
トが "0"(すなわち割込み)であることを確認して割込み処理の本体を起動します。
割込み処理の本体では SSB と SSP の示すメモリ中へ PS と PC, PCB, DTB, ADB, DPR, A
の 12 バイトを退避した後 , 割込みベクタの中から , を 3 バイトを取り出して PC と PCB
へロードします。PS 中の ILM を , 受け付けた割込み要求のレベル値に更新 ,S フラグを
"1" に設定して分岐処理を行います。その結果 , 次に実行する命令はユーザの定義した
割込み処理プログラムになります。
ハードウェア割込みが発生してから,割込み処理プログラム内に割込み要求がなくなる
までの処理の流れを 図 3.4-2 に示します。
図 3.4-2 ハードウェア割込みの発生と解除まで
PS
レジスタファイル
内部データバス
マイクロコード
IR
⑥
F2MC-16LX CPU
⑦
要因 FF
①
チェック
⑤
比較器
④
PS : プロセッサステータス
I : CCR内の割込み許可フラグ
ILM : PS内の割込みレベル
マスクレジスタ
IR : インストラクションレジスタ
③
周辺
許可 FF
ILM
I
AND
周辺
②
レ
ベ
ル
比
較
器
割
込
レ
ベ
ル
IL
割込み
コントローラ
53
第 3 章 割込み
図 3.4-2 の図中における , ①∼⑦の内容を以下に説明します。
① 周辺の内部で割込み要因が発生します。
② 周辺内の割込み許可ビットを参照し割込み許可になっていれば , 周辺から割込みコ
ントローラへ割込み要求を発生します。
③ 割込み要求を受けとった割込みコントローラは , 同時に要求のあった割込みの優先
順位を判定した上で該当する割込みに対応する割込みレベルを CPU へ転送します。
④ CPU は割込みコントローラから要求のあった割込みレベルをプロセッサステータ
スレジスタ内の ILM ビットと比較します。
⑤ 比較の結果が現在の割込み処理レベルより優先順位が高い場合のみ , 同じプロセッ
サステータスレジスタ内の I フラグの内容をチェックします。
⑥ ⑤のチェックの結果 I フラグが割込み許可状態である場合のみ ,ILM ビットの内容
を要求されたレベルに設定し , 現在実行中の命令の実行が終了し次第割込み処理を行い ,
制御を割込み処理ルーチンへ移します。
⑦ ユーザの割込み処理ルーチン内のソフトウェアで①で発生した割込み要因をクリ
アすることで割込み要求が終了します。
⑥および⑦で ,CPU が行う割込み処理の実行時間を以下に示します。
• 割込み起動 :24+6 × 表 3.4-1 マシンサイクル
• 割込み復帰 :15+6 × 表 3.4-1 マシンサイクル(RETI 命令)
表 3.4-1 割込み処理時のサイクル数の補正値
54
スタックポインタが示しているアドレス
サイクル数の補正値
外部領域 8 ビットデータバスの場合
+4
外部領域 偶数アドレスの場合
+1
外部領域 奇数アドレスの場合
+4
内部領域 偶数アドレスの場合
0
内部領域 奇数アドレスの場合
+2
第 3 章 割込み
3.4.2
ハードウェア割込みの動作フロー
図 3.4-3 に , ハードウェア割込みの動作フローを示します。
■ ハードウェア割込みの動作フロー
図 3.4-3 ハードウェア割込み動作フロー
I
ILM
IF
IE
ISE
IL
S
I&IF&IE=1
AND
ILM > IL
: CCR内の割込み許可フラグ
: PS内の割込みレベルマスクレジスタ
: 内蔵リソースの割込み要求
: 内蔵リソースの割込みイネーブルフラグ
: EI2OSイネーブルフラグ
: 内蔵リソースの割込み要求レベル
: CCR内のフラグ
YES
NO
NO
次の命令の取込みと
デコード
PS,PC,PCB,DTB,ADB,DPR,
AをSSPのスタックへ退避
そののち,ILM=IL
INT命令
NO
通常命令実行
NO
ストリング系
命令の繰返し
完了
YES
YES
ISE = 1
拡張インテリジェント
I/Oサービスの処理
YES
PS,PC,PCB,DTB,ADB,DPR,
AをSSPのスタックへ退避
そののち,I=0,ILM=IL
S ← 1
割込みベクタ取込み
PCの更新
55
第 3 章 割込み
3.5
ソフトウェア割込み
ソフトウェア割込みは , 専用の命令の実行に対応して ,CPU がそれまで実行していた
プログラムの実行から , ユーザの定義した割込み処理用プログラムへ制御を移行する
機能です。
■ ソフトウェア割込みの概要
ソフトウェア割込みの起動は , ソフトウェア割込み命令の実行で常に発生します。ソフ
トウェア割込みが発生するときに CPU が行う処理は , 以下のものがあります。
• CPU 内部の PC, PS, AH, AL, PCB, DTB, ADB, DPR レジスタの値をシステムスタック
へ退避させます。
• PS レジスタ内に I を設定します。割込みは , 自動的に禁止されます。
• 対応する割込みベクタの値を取り出し , 次に値が指示する処理へ分岐します。
INT 命令から出されたソフトウェア割込み要求には , 割込み要求フラグや許可フラグは
存在しません。ソフトウェア割込み要求が出されるのは , 必ず INT 命令の実行により
ます。
INT 命令には割込みレベルが存在しません。したがって ,INT 命令は ,ILM を更新しま
せん。INT 命令は ,I フラグをクリアして後続の割込み要求を保留にします。
■ ソフトウェア割込みの構造
ソフトウェア割込みは , すべて CPU の内部で取り扱われます。
● CPU
• マイクロコード : 割込み処理用ステップ
表 3.3-1 に示すように , ソフトウェア割込みは , ハードウェア割込みと同じ割込みベク
タ領域を共用します。たとえば , 割込み要求番号の INT 15 は , ハードウェア割込みの
外部割込み #0 に使用されると同時に , ソフトウェア割込みの INT #15 に使用されます。
したがって , 外部割込み #0 と INT #15 は , 同じ割込み処理ルーチンを呼び出します。
■ ソフトウェア割込みの動作
CPU がソフトウェア割込み命令を取り込み実行すると , ソフトウェア割込み処理用マ
イクロコードを起動します。ソフトウェア割込み処理用マイクロコードは SSB と SSP
が指示するメモリ領域に 12 バイト(PS と PC, PCB, DTB, ADB, DPR, A)を退避させま
す。次に , マイクロコードは割込みベクタの中から ,3 バイトを取り出して PC と PCB
へ格納します。I フラグをリセット ("0") して ,S フラグをセット ("1") します。その結
果,ユーザアプリケーションプログラムが定義した割込み処理プログラムを次に実行し
ます。
ソフトウェア割込みが発生してから,割込み処理プログラム内に割込み要求がなくなる
までの処理の流れを 図 3.5-1 に示します。
56
第 3 章 割込み
図 3.5-1 ソフトウェア割込みの発生と解除まで
レジスタファイル
内部データバス
②
マイクロコード
①
IR
F2MC-16LX CPU
PS
I
S
Bユニット
キュー
フェッチ
退避
命令系バス
RAM
PS : プロセッサステータス
I : CCR内の割込み許可フラグ
S : CCR内のフラグ
IR : インストラクションレジスタ
Bユニット: Bus interfaceユニット
図 3.5-1 の図中における , ①∼③のソフトウェア割込みの発生と解除までの流れを以下
に示します。
① ソフトウェア割込み命令を実行します
② ソフトウェア割込み命令に対応したマイクロコードに従ってレジスタファイル中
の CPU 内専用レジスタが退避されます。
③ ユーザの割込み処理ルーチン内の RETI 命令で割込み処理が終了します。
■ ソフトウェア割込みに関する注意事項
プログラムカウンタバンクレジスタ (PCB) が "FFH" の場合 ,CALLV 命令のベクタ領域
は INT #vct8 命令のテーブルと重複します。ソフトウェアを設計する際は , 必ず CALLV
命令が INT #vct8 命令と同じアドレスを使用しないように注意してください。
57
第 3 章 割込み
3.6
拡張インテリジェント I/O サービス (EI2OS)
拡張インテリジェント I/O サービス (EI2OS) とは , ハードウェア割込み動作の一種で ,
I/O とメモリとの間でデータを自動的に転送します。従来は , 割込み処理プログラム
により ,I/O とメモリの間でデータを転送していましたが ,EI2OS では ,DMA モードの
ようなデータの転送が可能になります。
■ 拡張インテリジェント I/O サービス (EI2OS) の概要
拡張インテリジェント I/O サービス (EI2OS) は , 従来の割込み処理で行っていた方式と
比べると以下に示すような利点があります。
• 転送プログラムの作成が不要となるため , プログラム全体のサイズを小さくするこ
とができます。
• 転送の際に内部レジスタを使用しないので , レジスタの退避が不要になり転送速度
が速くなります。
• I/O によりいつでも転送を停止することができ , 不要なデータを転送しません。
• バッファアドレスのインクリメント , デクリメント , または未更新が選択できます。
• I/O レジスタアドレスのインクリメント , デクリメント , または未更新が選択できま
す(バッファアドレスを更新する場合)
EI2OS 処理の終了時には , 終了条件を設定した後に ,CPU が自動的に割込み処理ルーチ
ンへ分岐します。したがって , ユーザは終了条件の種類を判別することができます。
< 注意事項 >
REALOS を使用する場合は , 拡張インテリジェント I/O サービス (EI2OS) が使用で
きません。
EI2OS の概要を 図 3.6-1 に示します。
58
第 3 章 割込み
図 3.6-1 拡張インテリジェント I/O サービスの概要
メモリ空間
by IOA
I/Oレジスタ ……………
I/Oレジスタ
周辺
割込み要求 ①
CPU
③
ISD
③
by ICS
②
割込み制御レジスタ
割込みコントローラ
by BAP
④
バッファ
by DCT
(注意事項)
IOAで指定できる領域は,"000000H~00FFFFH"です。
BAPで指定できる領域は,"000000H~FFFFFFH"です。
DCTで指定できる最大転送数は,65536個です。
図 3.6-1 中の①∼⑤の説明を以下に示します。
① I/O が転送を要求します。
② 割込みコントローラがディスクリプタを選択します。
③ 転送元 / 転送先をディスクリプタから読出します。
④ I/O とメモリ間で転送が行われます。
⑤ 割込み要因は自動的にクリアされます。
■ 拡張インテリジェント I/O サービス (EI2OS) の構造
EI2OS に関連する機構は , 以下の 4 つの部分に分かれて存在します。
● 内蔵リソース
割込み許可ビット , 割込み要求ビット : リソースからの割込み要求の制御
● 割込みコントローラ
ICR: 割込みのレベル付け , 同時要求割込みの優先度判定 ,EI2OS 動作の選択
● CPU
• I, ILM: 要求割込みレベルと現レベルの比較 , 割込み許可状態の識別
• マイクロコード :EI2OS 処理用ステップ
● RAM
ディスクリプタ :EI2OS の転送情報を記述する
59
第 3 章 割込み
割込み制御レジスタ (ICR)
3.6.1
割込み制御レジスタは割込みコントローラ内にあり , 割込み機能を持つすべての I/O
に対応して存在します。このレジスタには以下に示す 3 種類の機能があります。
• 対応する周辺の割込みレベルの設定
• 対応する周辺の割込みを通常割込みにするか , 拡張インテリジェント I/O サービス
にするかの選択
• 拡張インテリジェント I/O サービスのチャネルの選択
このレジスタに対するリードモディファイライト系の命令でのアクセスは , 誤動作を
引き起こしますので行わないでください。
■ 割込み制御レジスタ (ICR)
割込み制御レジスタのビット構成を 図 3.6-2 に示します。
図 3.6-2 割込み制御レジスタ (ICR)
割込み制御レジスタ(ICR)
bit 15/7
アドレス:B0H~BFH
ライト
初期値
14/6
12/4
11/3
10/2
9/1
8/0
ICS3
ICS2
ICS1
ICS0
ISE
IL2
IL1
IL0
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(1)
(W)
(1)
(W)
(1)
14/6
13/5
12/4
11/3
10/2
S1
S0
ISE
IL2
IL1
IL0
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(1)
(R)
(1)
(R)
(1)
bit 15/7
アドレス: B0H~BFH
リード
初期値
13/5
(-)
(-)
(-)
(-)
9/1
書込み時
8/0
読出し時
R:リードオンリ
W:ライトオンリ
< 注意事項 >
ICS3 ∼ ICS0 は ,EI2OS を起動する場合のみ有効となります。EI2OS を起動する場
合は ISE を "1" に設定し , 起動しない場合は "0" に設定してください。EI2OS を起
動しない場合 ,ICS3 ∼ ICS0 は何を設定してもかまいません。
ICS1 と ICS0 は書込みのみ有効で ,S1 と S0 は読出しのみ有効です。
[bit15 ∼ bit12, bit7 ∼ bit4] ICS3 ∼ ICS0
ICS3 ∼ ICS0 ビットは ,EI2OS チャネル選択ビットです。
書込み専用のビットです。ここで設定された値によりメモリ上の拡張インテリジェン
ト I/O サービスディスクリプタのアドレスが決定します。ICS はリセットにより初期化
されます。ICS, チャネル番号およびディスクリプタアドレスの対応を 表 3.6-1 に示し
ます。
60
第 3 章 割込み
表 3.6-1 ICS ビット , チャネル番号およびディスクリプタアドレス
ICS3
ICS2
ICS1
ICS0
セレクトされるチャネル
ディスクリプタアドレス
0
0
0
0
0
000100H
0
0
0
1
1
000108H
0
0
1
0
2
000110H
0
0
1
1
3
000118H
0
1
0
0
4
000120H
0
1
0
1
5
000128H
0
1
1
0
6
000130H
0
1
1
1
7
000138H
1
0
0
0
8
000140H
1
0
0
1
9
000148H
1
0
1
0
10
000150H
1
0
1
1
11
000158H
1
1
0
0
12
000160H
1
1
0
1
13
000168H
1
1
1
0
14
000170H
1
1
1
1
15
000178H
[bit13, bit12, bit5, bit4] S1, S0
S1, S0 は ,EI2OS 終了ステータスビットです。
読出し専用のビットで ,EI2OS 終了時にこのビットの値を調べることにより , 終了条件
が何であったかを判別することができます。リセットにより "00B" に初期化されます。
S ビットと終了条件との関係を 表 3.6-2 に示します。
表 3.6-2 S ビットと終了条件
S1
S0
0
0
EI2OS 動作中あるいは非起動時
0
1
カウント終了による停止状態
1
0
予約
1
1
内蔵リソースからの要求による停止状態
終了条件
61
第 3 章 割込み
[bit11, bit3] ISE
ISE ビットは ,EI2OS を許可します。読書き可能なビットです。
割込み要求の発生時にこのビットが "1" であると EI2OS が起動され ,"0" のときは割込
みシーケンスが起動されます。また ,EI2OS の終了条件が満たされると(S1 ビットと
S0 ビットが "00B" でない),ISE ビットは "0" になります。対応する周辺に EI2OS の機
能がないときには , ソフトウェアで ISE を "0" にしておく必要があります。リセットに
より "0" に初期化されます。
[bit10 ∼ bit8, bit2 ∼ bit0] IL2, IL1, IL0
IL2, IL1, IL0 ビットは , 割込みレベルを設定します。
対応する内蔵リソースの割込みレベルを指定します。読出しと書込みができます。リ
セットによりレベル 7(割込みなし)に初期化されます。割込みレベル設定ビットと割
込みレベルとの関係を 表 3.6-3 に示します。
表 3.6-3 割込みレベル設定ビットのレベル値
62
IL2
IL1
IL0
割込みレベル値
0
0
0
0(最強割込み)
0
0
1
1
0
1
0
2
0
1
1
3
1
0
0
4
1
0
1
5
1
1
0
6(最弱割込み)
1
1
1
7(割込みなし)
第 3 章 割込み
3.6.2
拡張インテリジェント I/O サービスディスクリプタ
(ISD)
拡張インテリジェント I/O サービスディスクリプタは , 内部 RAM 中の 000100H ∼
00017FH に存在し , 以下に示すものから構成されます。
• データ転送の各種コントロールデータ
• ステータスデータ
• バッファアドレスポインタ
■ 拡張インテリジェント I/O サービスディスクリプタ (ISD)
図 3.6-3 に , 拡張インテリジェント I/O サービスディスクリプタの構成を示します。
図 3.6-3 拡張インテリジェント I/O サービスディスクリプタの構成
データカウンタ上位8ビット(DCTH)
H
データカウンタ下位8ビット(DCTL)
I/Oアドレスポインタ上位8ビット(IOAH)
I/Oアドレスポインタ下位8ビット(IOAL)
EI2OSステータス (ISCS)
バッファアドレスポインタ上位8ビット(BAPH)
000100H + 8 × ICS
バッファアドレスポインタ中位8ビット(BAPM)
ISD先頭アドレス
バッファアドレスポインタ下位8ビット(BAPL)
L
■ データカウンタ (DCT)
データカウンタ (DCT) は ,16 ビット長のレジスタで , 転送されたデータ要素の数に対応
したカウンタとして機能します。データ転送の前に , このカウンタは 1 個デクリメント
されます。このカウンタがゼロになると EI2OS は終了します。
データカウンタの構成を 図 3.6-4 に示します。
図 3.6-4 データカウンタ (DCT) の構成
データカウンタ上位 bit
15
B15
初期値
データカウンタ下位
初期値
(X)
bit 7
14
B14
(X)
6
13
B13
(X)
5
12
B12
(X)
4
11
B11
(X)
3
10
B10
(X)
2
9
8
B09
B08
(X)
1
DCTH
(X)
0
B07
B06
B05
B04
B03
B02
B01
B00
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
DCTL
63
第 3 章 割込み
■ I/O レジスタアドレスポインタ (IOA)
I/O レジスタアドレスポインタ (IOA) は ,16 ビット長のレジスタで , データ転送に使用
されるバッファと I/O レジスタの下位アドレス (A15 ∼ A00) を示します。上位アドレ
ス (A23 ∼ A16) はすべて "0" であり ,000000H ∼ 00FFFFH 番地までの任意の I/O を指定
できます。IOA の構成を 図 3.6-5 に示します。
図 3.6-5 I/O レジスタアドレスポインタ (IOA) の構成
I/Oレジスタ
アドレスポインタ上位
bit
初期値
I/Oレジスタ
アドレスポインタ下位
初期値
15
14
13
12
11
10
9
8
A15
A14
A13
A12
A11
A10
A09
A08
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
7
6
5
4
3
2
1
0
A07
A06
A05
A04
A03
A02
A01
A00
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
bit
IOAH
IOAL
■ EI2OS ステータスレジスタ (ISCS)
EI2OS ステータスレジスタ (ISCS) は ,8 ビット長のレジスタで , 更新の向き(インクリ
メント / デクリメント), 転送データ形式(バイト / ワード), バッファアドレスポイン
タおよび I/O レジスタアドレスポインタの転送方向を指示します。また , このレジスタ
は , バッファアドレスポインタまたは I/O レジスタアドレスポインタが更新または固定
されているかどうかも指示します。ISCS の構成を 図 3.6-6 に示します。
図 3.6-6 EI2OS ステータスレジスタ (ISCS) の構成
EI2OSステータスレジスタ(ISCS)
bit
初期値
7
6
5
4
3
2
1
0
予約
予約
予約
IF
BW
BF
DIR
SE
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
各ビットについて , 以下に説明します。
[bit4] IF
IF ビットは ,I/O レジスタアドレスポインタの更新 / 固定を指定します。
表 3.6-4 I/O レジスタアドレスポインタの更新 / 固定ビット (IF)
IF
64
機能
0
データ転送後 I/O レジスタアドレスポインタは更新される。
1
データ転送後 I/O レジスタアドレスポインタは更新されない。
第 3 章 割込み
[bit3] BW
BW ビットは , 転送データ長を指定します。
表 3.6-5 転送データ長を指定ビット (BW)
BW
機能
0
バイト
1
ワード
[bit2] BF
BF ビットは , バッファアドレスポインタの更新 / 固定を指定します。
表 3.6-6 バッファアドレスポインタの更新 / 固定指定ビット (BF)
BF
< 注意事項 >
機能
0
データ転送後バッファアドレスポインタは更新される。
1
データ転送後バッファアドレスポインタは更新されない。
更新する場合 , バッファアドレスポインタは下位 16 ビットのみ変化します。許さ
れるのはインクリメントのみです。
[bit1] :DIR
DIR ビットは , データの転送方向を指定します。
表 3.6-7 データの転送方向指定ビット (DIR) の設定
DIR
設定
0
I/O
1
バッファ→ I/O
→ バッファ
[bit0] SE
SE ビットは , リソースからの要求に応じて , 拡張インテリジェント I/O サービスの終了
を制御します。
表 3.6-8 EI2OS 終了制御ビット
SE
設定
0
リソースからの要求により終了しない。
1
リソースからの要求により終了する。
65
第 3 章 割込み
■ バッファアドレスポインタ (BAP)
24 ビットのレジスタで次に EI2OS による転送で使用するアドレスを保持します。BAP
は EI2OS の各チャネルに対してそれぞれ独立に存在しますので ,EI2OS の各チャネルは
16M バイトの任意の空間を転送することができます。
< 注意事項 >
66
ISCS の BF ビットを "0"(更新あり)にした場合 ,BAP は下位 16 ビットのみ変化し ,
BAPH は変化しません。
第 3 章 割込み
3.6.3
拡張インテリジェント I/O サービス (EI2OS) の動作
図 3.6-7 に拡張インテリジェント I/O サービス (EI2OS) の動作フローを , 図 3.6-8
に , 拡張インテリジェント I/O サービス (EI2OS) の使用手順フローを示します。
■ 拡張インテリジェント I/O サービス (EI2OS) の動作フロー
図 3.6-7 拡張インテリジェント I/O サービス (EI2OS) 動作フロー
内蔵ソースにより
割込み要求発生
ISE=1
NO
YES
割込みシーケンス
ISD/ISCSリード
リソースから
の終了要求
YES
YES
DIR=1
NO
IOAで示されるデータ
(データ転送)
BAPで示されるメモリ
IF=0
NO
BF=0
BAPで示されるデータ
(データ転送)
IOAで示されるメモリ
YES
DCT=00
NO
更新値は
BWによる
IOA更新
更新値は
BWによる
BAP更新
YES
NO
DCTデクリメント
YES
SE=1
NO
NO
(-1)
YES
S1,S0に"00"をセット
内蔵ソースに割込み
要求のクリア
CPU動作復帰
ISD :EI2OSディスクリプタ
ISCS:EI2OSステータスレジスタ
IF :EI2OSステータスレジスタ(ISCS)の
IOA更新/固定選択ビット
BW :EI2OSステータスレジスタ(ISCS)の
転送データ長指定ビット
BF :EI2OSステータスレジスタ(ISCS)の
BAP更新/固定選択ビット
DIR :EI2OSステータスレジスタ(ISCS)の
データ転送方向指定ビット
SE :EI2OSステータスレジスタ(ISCS)の
EI2OS終了制御ビット
EI2OS終了処理
S1,S0に"01"をセット
S1,S0に"11"をセット
ISEを"0"にクリア
割込みシーケンス
DCT :データカウンタ
IOA :I/Oレジスタアドレスポインタ
BAP :バッファアドレスポインタ
ISE :割込み制御レジスタ(ICR)のEI2OS許可ビット
S1,S0 :割込み制御レジスタ(ICR)のEI2OSステータス
67
第 3 章 割込み
図 3.6-8 拡張インテリジェント I/O サービス (EI2OS) の使用手順フロー
ソフトウェアによる処理
ハードウェアによる処理
開 始
システムスタック領域の設定
初
期
設
定
EI2OSディスクリプタの設定
内蔵リソースの初期設定
割込み制御レジスタ(ICR)
の設定
内蔵リソースの動作開始
設定割込み許可ビットの
設定
PS内のILM,Iの設定
S1,S0=00
ユーザプログラムの実行
(割込み要求)and(ISE=1)
データ転送
NO
カウントアウトまたは
リソースからの終了要求
による割込みへ分岐の判定
(割込みベクタへ分岐)
拡張インテリジェントI/O
サービスの再設定
(チャネルの切換えなど)
バッファ中のデータの処理
RETI
ISE : 割込み制御レジスタ(ICR)のEI2OSの許可ビット
S1,S0:割込み制御レジスタ(ICR)のEI2OSステータス
68
YES
S1,S0=01または
S1,S0=11
第 3 章 割込み
拡張インテリジェント I/O サービス (EI2OS) の
実行時間
3.6.4
拡張インテリジェント I/O サービス (EI2OS) の実行時間は次の 3 つの場合がありま
す。
• データ転送継続時(停止条件が成立しない場合)
• リソースからの停止要求時
• カウント終了時
■ 拡張インテリジェント I/O サービス (EI2OS) の実行時間
● データ転送継続時(停止条件が成立しない場合)
( 表 3.6-9 + 表 3.6-10 )マシンサイクル
表 3.6-9 拡張 EI2OS の継続時の実行時間
ISCS:SE ビット
"0" に設定
I/O アドレスポインタ
"1" に設定
固定
更新
固定
更新
固定
32
34
33
35
更新
34
36
35
37
バッファアドレスポインタ
● リソースからの停止要求時
(36+6 × 表 3.4-1 )マシンサイクル
● カウント終了時
( 表 3.6-9 + 表 3.6-10 +(21+6 × 表 3.4-1 ))マシンサイクル
表 3.6-10 拡張 EI2OS 実行時間のデータ転送の補正値
内部アクセス
外部アクセス
I/O アドレスポインタ
バッファ
アドレス
ポインタ
B/ 偶
奇
B/ 偶
8/ 奇
B/ 偶
0
+2
+1
+4
奇
+2
+4
+3
+6
B/ 偶
+1
+3
+2
+5
8/ 奇
+4
+6
+5
+8
内部アクセス
外部アクセス
B : バイトデータ転送
8 : 外部バス幅 8 ビット・ワード転送
偶 : 偶数アドレス・ワード転送
奇 : 奇数アドレス・ワード転送
69
第 3 章 割込み
3.7
未定義命令の実行による例外発生
F2MC-16LX では , 未定義命令の実行により例外が発生し , 例外処理が行われます。
例外処理は , 基本的には割込みと同じものであり , 命令の境目で例外事項が発生した
ことを検出した段階で , 通常処理から離れて例外処理を行います。一般的に , 例外処
理は予想外の動作を行った結果で発生するものですので , デバッグ時だけの使用や緊
急時の復旧ソフトウェアの起動などのみに使用することをお勧めします。
■ 未定義命令の実行による例外発生
F2MC-16LX では , 命令マップで定義していないコードはすべて未定義命令として扱い
ます。未定義命令を実行すると , ソフトウェア割込み命令の「INT 10」と等価な処理を
行います。すなわち ,AL, AH, DPR, DTB, ADB, PCB, PC, PS の内容をシステムスタック
に退避した後に , 割込み番号 10 のベクタで示されるルーチンへ分岐します。さらに ,I
フラグをクリアし ,S フラグを設定します。スタックへ退避した PC の値は未定義命令
を格納しているアドレスそのものです。RETI 命令で元の処理に復帰させることは可能
ですが , 再び例外を発生するため , 意味がありません。
70
第4章
クロック
クロックについて説明します。
4.1 クロックの概要
4.2 クロック発生部のブロックダイヤグラム
4.3 クロック選択レジスタ (CKSCR)
4.4 クロックモード
4.5 発振安定待ち時間
4.6 振動子と外部クロックの接続
71
第 4 章 クロック
4.1
クロックの概要
クロック発生部は ,CPU や周辺機能の動作クロックである内部クロックの動作を制
御します。この内部クロックのことをマシンクロックとよび , その 1 周期をマシン
サイクルといいます。また , 原発振によるクロックを発振クロックとよび , 内部の
PLL 発振によるクロックを PLL クロックといいます。
■ クロックの概要
クロック発生部は発振回路を内蔵しており , 外部に振動子を接続することによって , 発
振クロックを発生します。外部で生成したクロックを入力して , 発振クロックにするこ
ともできます。また ,PLL クロック逓倍回路を内蔵しており , 発振クロックの逓倍ク
ロックを 4 種類発生できます。クロック発生部では , 発振安定待ち時間の制御 ,PLL ク
ロック逓倍制御およびクロックセレクタでのクロックの切換えによる,内部クロックの
動作制御を行います。
● 発振クロック (HCLK)
X0, X1 端子に振動子を取り付けて発生させるか , あるいは外部から入力したクロック
のことです。
● サブクロック (SCLK)
X0A, X1A 端子に振動子を取り付けて発生させるか , あるいは外部から入力したクロッ
クの 4 分周クロックをいいます。
サブクロックは,時計タイマの入力クロックおよびサブクロックモード時の低速マシン
クロックとなります。
● メインクロック (MCLK)
発振クロックの 2 分周クロックです。タイムベースタイマとクロックセレクタへの入
力クロックとなります。
● PLL クロック (PCLK)
発振クロックを , 内蔵の PLL クロック逓倍回路により逓倍したクロックです。4 種類
の逓倍クロックを選択できるようになっています。
● マシンクロック (φ)
CPU と周辺機能の動作クロックです。このクロックの 1 周期を , マシンサイクル (1/φ)
としています。メインクロック(発振クロックの 2 分周クロック)と ,4 種類の逓倍ク
ロックの中から 1 種類を選択できるようになっています。
< 注意事項 >
72
動作電圧が 5V のとき,OSC 原発振は 3 MHz ∼ 16 MHz の間になります。CPU と
周辺リソース回路の最大動作周波数は 16MHz なので , 最大動作周波数を超える逓
倍率を指定した場合 , デバイスは正常に動作しません。例えば , 外部クロックが
16MHz で発振している場合には ,1 逓倍だけ指定が可能です。
PLL クロック逓倍回路の発振範囲は 3MHz ∼ 16MHz ですが , この範囲は動作電圧
および逓倍数の選択によって変化します。詳細は『データシート』を参照してくだ
さい。
第 4 章 クロック
■ クロック供給マップ
CPU や周辺機能の動作クロックとして , クロック発生部で生成したマシンクロックを
供給しています。このため CPU と周辺機能の動作は , メインクロックと PLL クロック
の切換え(クロックモード)や PLL クロック逓倍率切換えの影響を受けます。一部の
周辺機能へは , タイムベースタイマの分周出力が供給されており , 各周辺で , その動作
クロックを選択できるようになっています。図 4.1-1 に , クロック供給マップを示しま
す。
図 4.1-1 クロック供給マップ
周辺機能
4
4
ウォッチドッグ
タイマ
8/16 ビット
PPGタイマ0/1/2/3
クロック発生部
タイムベースタイマ
X0A
端子
X1A
端子
1 2 3 4
クロック
発生回路
シリアルI/O
X0
4分周
端子
X1
端子
16ビット
リロードタイマ0
時計タイマ
クロック
発生回路
PLL逓倍回路
(サブクロック) PCLK
(PLLクロック)
SCLK
プリスケーラ
クロックセレクタ φ
2分周
HCLK
MCLK
(マシンクロック)
(発振クロック) (メインクロック)
UART0
プリスケーラ0
CPU
UART1
プリスケーラ
16ビット
リロードタイマ1
アウトプット
コンペア0~3
PPG0~PPG3
端子
TIN0
端子
TOT0
端子
SCK2
端子
SIN2
端子
SOT2
端子
SCK0
端子
SIN0
端子
SOT0
端子
SCK1
端子
SIN1
端子
SOT1
端子
TIN1
端子
TOT1
端子
OUT0~OUT3
端子
入出力タイマ
インプット
キャプチャ0~7
HCLK :発振クロック
MCLK :メインクロック
PCLK :PLLクロック
φ :マシンクロック
10ビット
A/Dコンバータ
4
IN0~IN7
端子
AN0~AN7
端子
ADTG
端子
発振安定待ち制御
CAN0~CAN2
端子
RX0~RX2
端子
TX0~TX2
73
第 4 章 クロック
クロック発生部のブロックダイヤグラム
4.2
クロック発生部は , 次の 5 つのブロックで構成されています。
• システムクロック発生回路
• PLL 逓倍回路
• クロックセレクタ
• クロック選択レジスタ (CKSCR)
• 発振安定待ち時間セレクタ
■ クロック発生部のブロックダイヤグラム
図 4.2-1 に , クロック発生部のブロックダイヤグラムを示します。
なお, 図 4.2-1 には,スタンバイ制御回路,タイムベースタイマの回路も含まれています。
図 4.2-1 クロック発生部のブロックダイヤグラム
スタンバイ制御回路
低消費電力モード制御レジスタ( LPMCR)
STP SLP SPL
RST TMD CG1 CG0 予約
2
CPU間欠動作
サイクルセレクタ
CPUクロック
制御回路
CPU動作
クロック
時計モード
スリープ信号
ストップ信号
周辺クロック
制御回路
リセット
割込み
S Q
S Q
R
R
S Q
S Q
R
R
周辺機能動作
クロック
マシン
クロック
クロック
セレクタ
2
発振安定待ち
時間セレクタ
2
PLL逓倍回路
SCM
MCM
WS1 WS0
SCS MCS CS1
CS0
クロック選択レジスタ( CKSCR)
発振
クロック
発生回路
X0 端子
X1 端子
X0A 端子
X1A 端子
S :Set
R :Reset
Q :Out put
74
メイン
クロック
2分周
512分周
発振
クロック
4分周
サブクロック
発生回路
4分周
2分周
2分周
2分周
2分周
タイムベースタイマ
サブ
クロック
ウォッチドッグタイマへ
時計タイマ
1024分周
8分周
2分周
2分周
2分周
4分周
第 4 章 クロック
● システムクロック発生回路
外部に接続した振動子によって発振クロック (HCLK) を発生します。外部クロックを
入力することもできます。
● サブクロック発生回路
外部に接続した振動子によってサブクロック (SCLK) を発生します。外部クロックを入
力することもできます。
● PLL 逓倍回路
PLL 発振で発振クロックを逓倍し ,CPU クロックセレクタへ供給します。
● クロックセレクタ
メインクロックと ,4 種類の PLL クロックから ,CPU 系クロック制御回路および周辺系
クロック制御回路へ供給されるクロックを選択します。
● クロック選択レジスタ (CKSCR)
発振クロックと PLL クロックの切換え , 発振安定待ち時間の選択および PLL クロック
の逓倍率の選択などを行います。
● 発振安定待ち時間セレクタ
ストップモード解除時,サブクロックモードからメインクロックモードへの移行時およ
びサブクロックから PLL クロックモードへの移行時の発振クロックの発振安定待ち時
間を選択する回路です。4 種類のタイムベースタイマ出力を選択します。
75
第 4 章 クロック
4.3
クロック選択レジスタ (CKSCR)
クロック選択レジスタ (CKSCR) は , メインクロックと PLL クロックの切換え , 発振
安定待ち時間の選択および PLL クロックの逓倍率の選択などを行うレジスタです。
■ クロック選択レジスタ (CKSCR)
図 4.3-1 に , クロック選択レジスタ (CKSCR) の構成を , 表 4.3-1 に , クロック選択レジ
スタ (CKSCR) の各ビットの機能について説明します。
図 4.3-1 クロック選択レジスタ (CKSCR) の構成
アドレス
bit15
0000A1H
14
13
12
11
10
9
8
SCM
MCM
WS1
WS0
SCS
MCS
CS1
CS0
R
R
R/W
R/W
R/W
R/W
R/W
R/W
CS1 CS0
初期値
0
(LPMCR)
11111100B
逓倍率選択ビット
( )内は発振クロック4MHz時
0
0
1×HCLK( 4MHz)
0
1
2×HCLK( 8MHz)
1
0
3×HCLK(12MHz)
1
1
4×HCLK(16MHz)
MCS
マシンクロック選択ビット
0
PLLクロック選択
1
メインクロック選択
SCS
マシンクロック選択ビット(サブ)
0
サブクロック選択
1
メインクロック選択
WS1 WS0
発振安定待ち時間選択ビット
( )内は発振クロック4MHz時
0
0
210/HCLK(約256µs)
0
1
213/HCLK(約 2.05ms)
1
0
1
1
215/HCLK(約 8.19ms)
217/HCLK(約32.77ms)*
マシンクロック表示ビット
MCM
0
PLLクロックで動作中
1
メインクロックで動作中
マシンクロック表示ビット(サブ)
SCM
HCLK :発振クロック
R/W :リード/ライト可能
R
:リードオンリ
- :未使用
:初期値
7
0
サブクロックで動作中
1
メインクロックで動作中
*:パワーオンリセット時は218/HCLK(約65.54ms)になります。
< 注意事項 >
76
マシンクロック選択ビットは , リセットによりメインクロック選択に初期化され
ます。
第 4 章 クロック
表 4.3-1 クロック選択レジスタ (CKSCR) の各ビットの機能説明 (1 / 3)
ビット名
bit15
bit14
機
能
SCM:
マシンク
ロック表示
ビット
• マシンクロックとして , メインクロックまたはサブクロックのどちらが
選択されているかを表示するビットです。
• このビットが "0" のときサブクロックが選択されていることを示し ,"1"
のときメインクロックが選択されていることを示します。
• SCS が "1" で , かつ SCM が "0" ならば , メインクロック発振安定待ち時
間中であることを示します。
• 書込みは動作に影響しません。
MCM:
マシンク
ロック表示
ビット
• マシンクロックとして , メインクロックまたは PLL クロックのどちらが
選択されているかを表示するビットです。
• このビットが "0" のとき PLL クロックが選択されていることを示し ,"1"
のときメインクロックが選択されていることを示します。
• MCS が "0" で , かつ MCM が "1" ならば ,PLL クロック発振安定待ち期間
中であることを示します。
• 書込みは動作に影響しません。
• ストップモード解除時 , サブクロックモードからメインクロックモード
への移行時およびサブクロックから PLL クロックモードへの移行時の
発振クロックの発振安定待ち時間を選択します。
• すべてのリセット要因で "11B" に初期化されます。
bit13,
bit12
WS1, WS0:
発振安定待
ち時間選択
ビット
( 注意事項 )
発振安定待ち時間は , 使用する振動子に合わせて適切な値を設定する必
要があります。
「6.2 リセット要因と発振安定待ち時間」を参照してくだ
さい。"00B" の設定は , メインクロックモード時のみ設定してください。
メインクロックモードからPLLクロックモードに切り換えた場合の発振
安定待ち時間は ,214/HCLK(発振クロック周波数 4MHz で動作している
場合 : 約 4.1ms)固定です。サブクロックモードから PLL クロックモー
ドに切り換えた場合および PLL ストップモードから PLL クロックモー
ドに復帰する場合は WS1, WS0 に設定された値に従います。PLL の発振
安定は 214/HCLK 以上必要ですので ,サブクロックモードからPLL クロッ
クモードに切り換える場合およびPLLストップモードに移行する場合は
WS1, WS0 を "10B" または "11B" に設定してください。
77
第 4 章 クロック
表 4.3-1 クロック選択レジスタ (CKSCR) の各ビットの機能説明 (2 / 3)
ビット名
bit11
bit10
SCS:
マシンク
ロック選択
ビット
(サブ)
MCS:
マシンク
ロック選択
ビット
機
能
• マシンクロックとして , メインクロック , またはサブクロックのどちら
を選択するかを指定するビットです。
• このビットが "1" のときに "0" を書き込むと , サブクロックの同期をとっ
て(約 130µs)サブクロックモードに切り換わります。
• このビットが "0" のときに "1" を書き込むと , メインクロックの発振安
定待ち期間が発生するために , 自動的にタイムベースタイマがクリアさ
れます。
• サブクロック選択時の動作クロックは , サブ発振クロックの 4 分周を使
用します(サブ発振クロック 32kHz 時 , マシンクロックは 8kHz になり
ます)。
• SCS,MCS がともに "0" のときは ,SCS が優先され , サブクロックが選択
されます。
• すべてのリセット要因で "1" に初期化されます。
( 注意事項 )
電源投入時 , またはストップモードからの解除時はサブクロックの発振
安定待ち時間(約 2s)が発生します。したがって , その間にメインクロッ
クモードからサブクロックモードに切り換えた場合は発振安定待ち時
間が発生します。
• マシンクロックとして , メインクロック , または PLL クロックのどちら
を選択するかを指定するビットです。
• このビットが "0" のとき PLL クロックを選択し ,"1" のときメインクロッ
クを選択します。
• このビットが "1" のときに "0" を書き込むと ,PLL クロックの発振安定待
ち期間が発生するために , 自動的にタイムベースタイマがクリアされ ,
さらにタイムベースタイマ制御レジスタ (TBTC) の TBOF ビットもクリ
アされます。
• メインクロックモードから PLL クロックモードに切り換えた場合の発
振安定待ち時間は ,214/HCLK(発振クロック周波数 4MHz で動作してい
る場合 : 約 4.1ms)固定です。サブクロックモードから PLL クロックモー
ドに切り換えた場合および PLL ストップモードから PLL クロックモー
ドに復帰する場合は WS1, WS0 に設定された値に従います。PLL の発振
安定は 214/HCLK 以上必要ですので , サブクロックモードから PLL ク
ロックモードに切り換える場合および PLL ストップモードに移行する
場合は WS1, WS0 を "10B" または "11B" に設定してください。
• メインクロック選択時の動作クロックは , 発振クロックを 2 分周したク
ロックとなります(発振クロック周波数 4MHz 時 , 動作クロックは 2MHz
になります)。
• すべてのリセット要因で "1" に初期化されます。
( 注意事項 )
MCS ビットが "1" のときに "0" を書き込む場合には , タイムベースタイ
マ制御レジスタ (TBTC) の TBIE ビットまたはインタラプトレベルレジス
タ (ILM) によりタイムベースタイマ割込みがマスクされている状態で ,
行うようにしてください。
78
第 4 章 クロック
表 4.3-1 クロック選択レジスタ (CKSCR) の各ビットの機能説明 (3 / 3)
ビット名
bit9 ,
bit8
CS1, CS0:
逓倍率選択
ビット
機
能
• PLL クロックの逓倍率を選択するビットです。
• 4 種類の逓倍率から選択できます。
• すべてのリセット要因で "00B" に初期化されます。
( 注意事項 )
MCS ビットまたは MCM ビットが "0" のときには , 書込みが抑止されま
す。いったん ,MCS ビットを "1" にした(メインクロックモード)後に ,
CS1, CS0 ビットを書き換えてください。
HCLK: 発振クロック周波数
79
第 4 章 クロック
4.4
クロックモード
クロックモードには , メインクロックモードと PLL クロックモード , サブクロック
モードがあります。
■ メインクロックモード ,PLL クロックモード , サブクロックモード
● メインクロックモード
メインクロックモードは ,CPU および周辺機能の動作クロックとして発振クロックを 2
分周したクロックを使用し ,PLL クロックを停止させます。
● PLL クロックモード
PLL クロックモードは ,CPU および周辺機能の動作クロックとして PLL クロックを使
用します。PLL クロックの逓倍率は , クロック選択レジスタ (CKSCR:CS1, CS0) により
選択できます。
● サブクロックモード
サブクロックモードは,CPUおよび周辺機能の動作クロックとしてサブ発振クロックを
4 分周したクロックを使用し , メインクロックおよび PLL クロックを停止させます。
■ クロックモードの移行
クロック選択レジスタ (CKSCR) の MCS ビット ,SCS ビットへの書込み動作により , ク
ロックモードは , メインクロックモード ,PLL クロックモード , サブクロックモードに
移行します。
● メインクロックモードから PLL クロックモードへの移行
メインクロックモードの状態で , クロック選択レジスタ (CKSCR) の MCS ビットを "1"
から "0" に書き換えた場合には ,PLL クロックの発振安定待ち期間 (214/HCLK) 後に , メ
インクロックから PLL クロックに切り換わります。
● PLL クロックモードからメインクロックモードへの移行
PLL クロックモードの状態で , クロック選択レジスタ (CKSCR) の MCS ビットを "0" か
ら "1" に書き換えた場合には ,PLL クロックとメインクロックのエッジが一致するタイ
ミング(1 ∼ 8PLL クロック後)で PLL クロックからメインクロックに切り換わります。
● メインクロックモードからサブクロックモードへの移行
メインクロックモードの状態で , クロック選択レジスタ (CKSCR) の SCS ビットを "1"
から "0" に書き換えた場合には , サブクロックの同期をとって(約 130µs)メインク
ロックからサブクロックに切り換わります。
80
第 4 章 クロック
● サブクロックモードからメインクロックモードへの移行
サブクロックモードの状態で , クロック選択レジスタ (CKSCR) の SCS ビットを "0" か
ら "1" に書き換えた場合には , メインクロックの発振安定待ち時間後に , サブクロック
からメインクロックに切り換わります。発振安定待ち時間は , クロック選択レジスタ
(CKSCR) の WS1, WS0 ビットにより選択します。
< 注意事項 >
サブクロックモードから外部リセット端子(RST 端子)にてメインクロックモード
へ移行する場合は ,
振動子の発振時間 *+100µs+16 マシンサイクル
以上 "L" レベルを入力してください。
*: 振動子の発振時間は , 振幅が 90% に達する時間です。水晶発振子は数 ms ∼
数十 ms, セラミック発振子は数百 µs ∼数 ms, 外部クロックは 0ms となりま
す。
● PLL クロックモードからサブクロックモードへの移行
PLL クロックモードの状態で , クロック選択レジスタ (CKSCR) の SCS ビットを "1" か
ら "0" に書き換えた場合には , PLL クロックからサブクロックに切り換わります。
● サブクロックモードから PLL クロックモードへの移行
サブクロックモードの状態で , クロック選択レジスタ (CKSCR) の SCS ビットを "0" か
ら "1" に書き換えた場合には , メインクロックの発振安定待ち時間後に , サブクロック
から PLL クロックに切り換わります。発振安定待ち時間は , クロック選択レジスタ
(CKSCR) の WS1, WS0 ビットにより選択します。
< 注意事項 >
クロック選択レジスタ (CKSCR) の MCS ビット ,SCS ビットを書き換えても即座
にマシンクロックの切換えが行われません。マシンクロックに依存する周辺機能を
操作する場合には , クロック選択レジスタ (CKSCR) の MCM ビットおよび SCM
ビットを参照してマシンクロックの切換えが行われたことを確認したのちに , 周辺
機能の操作を行ってください。
クロックモードを切り換えた場合 , 切換えが完了するまでは , ほかのクロックモー
ドおよび低消費電力モードへの切換えを行わないようにしてください。切換えの完
了は , クロック選択レジスタ (CKSCR) の MCM ビットおよび SCM ビットを参照し
て確認してください。
SCS ビット ,MCS ビットがともに "0" の場合は ,SCS が優先され , サブクロック
モードになります。
■ PLL クロック逓倍率の選択
クロック選択レジスタ (CKSCR) の CS1, CS0 ビットに "00B" ∼ "11B" を書き込むことに
より ,1 ∼ 4 逓倍の 4 種類の PLL クロック逓倍率を選択できます。
■ マシンクロック
PLL 逓倍回路から出力される PLL クロック , 原発振の 2 分周クロック , サブ発振クロッ
クの 4 分周クロックが , マシンクロックとなります。このマシンクロックが CPU およ
び周辺機能に供給されます。メインクロック ,PLL クロック , サブクロックは , クロッ
ク選択レジスタ (CKSCR) の MCS ビットまたは SCS ビットへの書込みにより , いずれ
かを選択できます。
図 4.4-1 に , マシンクロックの切換えによる状態遷移を示します。
81
第 4 章 クロック
図 4.4-1 マシンクロック選択の状態遷移図
メイン
MCS = 1
MCM = 1
SCS = 1
SCM = 1
CS1,CS0=xx
メイン→ サブ
MCS = 1
MCM = 1
(9)
SCS = 0
(10)
SCM = 1
CS1,CS0=xx
(8)
(1)
(11) サブ→メイン
(6)
メイン→ PLLx
MCS = 0
MCM = 1
SCS = 1
SCM = 1
CS1,CS0=xx
(2)
(3)
(4)
(8)
MCS = 1
MCM = 1
SCS = 1
SCM = 0
CS1,CS0=xx
(8)
(12) サブ→ PLLx
MCS =0
MCM =1
(14) SCS =0
(15) SCM =1
CS1, CS0=xx
(13)
(5)
PLL1 →メイン
MCS = 1
MCM = 0
SCS = 1
SCM = 1
(7) CS1,CS0=00
PLL1 逓倍
MCS = 0
MCM = 0
(6) SCS = 1
SCM = 1
CS1,CS0=00
PLL2 →メイン
MCS = 1
MCM = 0
SCS = 1
SCM = 1
(7)
CS1,CS0=01
PLL2 逓倍
MCS = 0
MCM = 0
(6) SCS = 1
SCM = 1
CS1,CS0=01
PLL3 →メイン
MCS = 1
MCM = 0
SCS = 1
SCM = 1
(7)
CS1,CS0=10
PLL3 逓倍
MCS = 0
MCM = 0
(6) SCS = 1
SCM = 1
CS1,CS0=10
PLL4 →メイン
MCS = 1
MCM = 0
SCS = 1
SCM = 1
(7) CS1,CS0=11
PLL4 逓倍
MCS = 0
MCM = 0
SCS = 1
(6)
SCM = 1
CS1,CS0=11
サブ
MCS = x
(16) MCM = 1
SCS = 0
SCM = 0
(10)
CS1,CS0=xx
(8)
(8)
(8)
(8)
PLL1 →サブ
MCS = 1
MCM = 0
SCS = 0
SCM = 1
CS1,CS0=00
PLL2 →サブ
MCS = 1
MCM = 0
SCS = 0
SCM = 1
CS1,CS0=01
PLL3 →サブ
MCS = 1
MCM = 0
SCS = 0
SCM = 1
CS1,CS0=10
PLL4 →サブ
MCS = 1
MCM = 0
SCS = 0
SCM = 1
CS1,CS0=11
(17)
(17)
(17)
(17)
(1) MCS ビット"0"ライト
(2)PLL クロック発振安定待ち終了&CS1, CS0=00
(3)PLL クロック発振安定待ち終了&CS1, CS0=01
(4)PLL クロック発振安定待ち終了&CS1, CS0=10
(5)PLL クロック発振安定待ち終了& CS1, CS0=11
(6)MCS ビット"1"ライト(リセットを含む)
(7)PLL クロックとメインクロックの同期タイミング
(8)SCSビット"0"ライト
(9)メインクロックとサブクロックの同期タイミング
(10)SCSビット"1"ライト(MCS=1)
(11)メインクロック発振安定待ち終了
(12)メインクロック発振安定待ち終了&CS1,CS0=00
(13)メインクロック発振安定待ち終了&CS1,CS0=01
(14)メインクロック発振安定待ち終了&CS1,CS0=10
(15)メインクロック発振安定待ち終了&CS1,CS0=11
(16)SCSビット"1"ライト(MCS=0)
(17)PLL クロックとサブクロックの同期タイミング
MCS :クロック選択レジスタ(CKSCR)のマシンクロック選択ビット
MCM :クロック選択レジスタ(CKSCR)のマシンクロック表示ビット
SCM :クロック選択レジスタ(CKSCR)のマシンクロック表示ビット (サブ)
SCS :クロック選択レジスタ(CKSCR)のマシンクロック選択ビット (サブ)
CS1,CS0 :クロック選択レジスタ(CKSCR)の逓倍率選択ビット
< 注意事項 >
82
• マシンクロックの初期値はメインクロック (CKSCR:MCS=1,SCS=1) です。
• SCS,MCS ともに "0" のときは SCS が優先され , サブクロックが選択されます。
• サブクロックモードから PLL クロックモードへの切換え時は ,CKSCR:WS1,
WS0 を "10B" または "11B" に設定してください。
第 4 章 クロック
4.5
発振安定待ち時間
電源投入時 , ストップモード解除時 , サブクロックからメインクロック , サブクロッ
クから PLL クロックへ切り換える場合は , 発振クロックの発振が停止しているため ,
発振開始後 , 発振安定待ち時間をとる必要があります。また , メインクロックから
PLL クロック , メインクロックからサブクロックへ切換え時も , 発振安定待ち時間が
必要となります。
■ 発振安定待ち時間
セラミックや水晶などの振動子は , 発振を開始してから固有の振動数(発振周波数)で
安定して発振するまでに , 一般的に数 ms から数十 ms の時間が必要です。このため , 発
振開始直後は CPU の動作を禁止し , 発振安定待ち時間が経過して十分発振が安定した
時点で CPU にクロックを供給するようにします。振動子の種類(水晶 , セラミックな
ど)によって発振が安定するまでの時間が異なるため , 使用する振動子に合わせて適切
な発振安定待ち時間を選択する必要があります。発振安定待ち時間は , クロック選択レ
ジスタ (CKSCR) の設定で選択できます。
クロックモードをメインクロックから PLL クロック , メインクロックからサブクロッ
ク , サブクロックからメインクロック , サブクロックから PLL クロックに切り換えた
場合 , 発振安定待ち時間の間 ,CPU は切り換え前のクロックで動作しています。発振安
定待ち時間を経過すると , 各クロックモードに切り換わります。
図 4.5-1 に , 発振開始直後の動作を示します。
図 4.5-1 発振開始直後の動作
振動子の発振時間
発振安定待ち時間
( )
通常動作開始または
PLLクロック/サブクロックへの切換え
X1
発振開始
発振安定
83
第 4 章 クロック
4.6
振動子と外部クロックの接続
MB90440G シリーズは , システムクロック発生回路を内蔵しており , 外部に振動子
を接続してクロック発生させます。また , 外部で生成したクロックを入力することも
できます。
■ 振動子と外部クロックの接続
● 水晶振動子またはセラミック振動子の接続例
水晶振動子またはセラミック振動子は , 図 4.6-1 の例で示すように接続してください。
図 4.6-1 水晶振動子またはセラミック振動子の接続例
X0(X0A)
MB90440G シリーズ
X1(X1A)
● 外部クロックの接続例
図 4.6-2 の例で示すように , 外部クロックは ,X0(X0A) 端子に接続し ,X1(X1A) 端子は
オープン(開放)にしてください。
図 4.6-2 外部クロックの接続例
X0(X0A)
MB90440G シリーズ
~
オープン
84
X1(X1A)
第5章
低消費電力モード
低消費電力モードについて説明します。
5.1 低消費電力モードの概要
5.2 低消費電力制御回路のブロックダイヤグラム
5.3 低消費電力モード制御レジスタ (LPMCR)
5.4 CPU 間欠動作モード
5.5 スタンバイモード
5.6 状態遷移図
5.7 スタンバイモード , ホールド , リセット時の端子状態
5.8 低消費電力モード使用上の注意
85
第 5 章 低消費電力モード
低消費電力モードの概要
5.1
動作クロックの選択とクロックの動作制御による , 次のような CPU 動作モードを備
えています。
• クロックモード(PLL クロック , メインクロック , サブクロックの各モード)
• CPU 間欠動作モード(PLL クロック間欠動作 , メインクロック間欠動作 , サブク
ロック間欠動作の各モード)
• スタンバイモード(スリープ , タイムベースタイマ , 時計 , ストップの各モード)
■ CPU 動作モードと消費電流
CPU 動作モードと消費電流の関係を 図 5.1-1 に示します。
図 5.1-1 CPU 動作モードと消費電流
消費電流
数10mA
CPU
動作モード
PLLクロックモード
4逓倍クロック
3逓倍クロック
2逓倍クロック
1逓倍クロック
PLLクロック間欠動作モード
4逓倍クロック
3逓倍クロック
2逓倍クロック
1逓倍クロック
メインクロックモード(1/2HCLK)
メインクロック間欠動作モード
サブクロックモード
サブクロック間欠動作モード
数mA
スタンバイモード
スリープモード
タイムベースタイマモード
時計モード
数µA
低消費電力モード
ストップモード
(注意事項)この図は,各種モードのイメージを示したもので,実際の消費電流とは異なる部分があります。
86
第 5 章 低消費電力モード
■ クロックモード
● PLL クロックモード
発振クロック (HCLK) の PLL 逓倍クロックで CPU および周辺機能を動作させるモード
です。
● メインクロックモード
発振クロック (HCLK) の 2 分周クロックで CPU および周辺機能を動作させるモードで
す。メインクロックモードでは ,PLL 逓倍回路が停止します。
● サブクロックモード
サブ発振クロックで CPU および周辺機能を動作させるモードです。サブクロックモー
ドでは , メインクロックおよび PLL 逓倍回路が停止します。
< 参考 >
クロックモードについては ,「4.4 クロックモード」を参照してください。
■ CPU 間欠動作モード
周辺機能には高速クロックを供給したまま CPU を間欠動作させ , 消費電力を低減する
モードです。CPU 間欠動作モードは ,CPU がレジスタ , 内蔵メモリ , 周辺機能および外
部アクセスを行う場合 ,CPU にだけ間欠クロックを入力するモードです。
■ スタンバイモード
スタンバイモードは , 低消費電力制御回路による CPU へのクロックの供給停止(スリー
プモード)や ,CPU と周辺機能へのクロックの供給停止(タイムベースタイマモード),
または発振クロックの停止(ストップモード)によって消費電力を低減します。
● PLL スリープモード
PLL スリープモードは ,PLL クロックモードにおいて CPU の動作クロックを停止させ
るモードで ,CPU 以外は PLL クロックで動作します。
● メインスリープモード
メインスリープモードは , メインクロックモードにおいて CPU の動作クロックを停止
させるモードで ,CPU 以外はメインクロックで動作します。
● サブスリープモード
サブスリープモードは , サブクロックモードにおいて CPU の動作クロックを停止させ
るモードで ,CPU 以外はサブクロックで動作します。
● タイムベースタイマモード
タイムベースタイマモードは発振クロックとタイムベースタイマ以外の動作を停止さ
せるモードで , タイムベースタイマと時計タイマ以外の機能が停止します。
● 時計モード
時計タイマのみを動作させるモードです。サブクロックのみ動作し , メインクロックお
よび PLL 逓倍回路が停止します。
● ストップモード
ストップモードは原発振を停止させるモードで , すべての機能が停止します。
87
第 5 章 低消費電力モード
< 注意事項 >
88
ストップモードでは発振クロックが停止するため , もっとも低消費電力でデータを
保持することができます。
クロックモードを切り換えた場合 , 切換えが完了するまでは , ほかのクロックモー
ドおよび低消費電力モードへの切換えを行わないようにしてください。切換えの完
了は , クロック選択レジスタ (CKSCR) の MCM ビットおよび SCM ビットを参照し
て確認してください。
第 5 章 低消費電力モード
5.2
低消費電力制御回路のブロックダイヤグラム
低消費電力制御回路は , 次の 7 つのブロックで構成されています。
• CPU 間欠動作セレクタ
• スタンバイ制御回路
• CPU クロック制御回路
• 周辺クロック制御回路
• 端子ハイインピーダンス制御回路
• 内部リセット発生回路
• 低消費電力モード制御レジスタ (LPMCR)
■ 低消費電力制御回路のブロックダイヤグラム
図 5.2-1 に , 低消費電力制御回路のブロックダイヤグラムを示します。
図 5.2-1 低消費電力制御回路のブロックダイヤグラム
低消費電力モード制御レジスタ(LPMCR)
STP
RST
SLP
SPL
RST
TMD
CG1
CG0 予約
端子
端子ハイインピー
ダンス制御回路
端子ハイイン
ピーダンス制御
内部リセット
発生回路
内部リセット
CPU間欠動作
セレクタ
間欠サイクル選択
CPUクロック
制御回路
2
ストップ,スリープ信号
スタンバイ
制御回路
割込み解除
CPUクロック
ストップ信号
HCLK:発振クロック
MCLK:メインクロック
SCLK:サブクロック
周辺クロック
制御回路
マシンクロック
周辺クロック
サブクロック発振安定待ち時間
クロック発生部
クロックセレクタ
メインクロック発振安定待ち時間
発振安定
待ち時間
セレクタ
2
2
X0 端子
PLL逓倍回路
SCM
システム
クロック
発生回路
クロック選択レジスタ(CKSCR)
HCLK
2分周
MCM
WS1
WS0
SCS
512分周
4分周
MCLK
タイムベースタイマ
X1 端子
XOA 端子
X1A 端子
MCS
SC1
2分周
CS0
2分周
2分周
2分周
2分周
4分周
ウォッチドッグタイマへ
4分周
サブクロック
発生回路
SCLK
時計タイマ
1024分周
8分周
2分周
2分周
89
第 5 章 低消費電力モード
● CPU 間欠動作セレクタ
CPU 間欠動作モードにおける , 一時停止クロック数を選択します。
● スタンバイ制御回路
CPU クロック制御回路および周辺クロック制御回路を制御し , 低消費電力モードへの
移行および解除を行います。
● CPU クロック制御回路
CPU および周辺クロック制御回路周辺機能に供給するクロックを制御する回路です。
● 周辺クロック制御回路
周辺機能に供給するクロックを制御する回路です。
● 端子ハイインピーダンス制御回路
タイムベースタイマモードおよびストップモードにおいて,外部端子をハイインピーダ
ンスにする回路です。プルアップオプションの選択された端子に対しては , ストップ
モードではプルアップ抵抗を切り離します。
● 内部リセット発生回路
内部リセット信号を発生させる回路です。
● 低消費電力モード制御レジスタ (LPMCR)
スタンバイモードへの移行 / 解除および CPU 間欠動作機能の設定などを行うレジスタ
です。
90
第 5 章 低消費電力モード
低消費電力モード制御レジスタ (LPMCR)
5.3
低消費電力モード制御レジスタ (LPMCR) は , 低消費電力モードへの移行 / 解除およ
び CPU 間欠動作モードにおける CPU クロック一時停止サイクル数の設定などを行
うレジスタです。
■ 低消費電力モード制御レジスタ (LPMCR)
図 5.3-1 に , 低消費電力モード制御レジスタ (LPMCR) の構成を , 表 5.3-1 に各ビットの
機能を示します。
図 5.3-1 低消費電力モード制御レジスタ (LPMCR) の構成
アドレス
0000A0H
bit
15
8
(CKSCR)
7
6
5
4
3
2
1
0
STP
SLP
SPL
RST
TMD
CG1
CG0
RESV
W
W
R/W
W
R/W
R/W
R/W
R/W
初期値
00011000B
予約ビット
RESV
このビットへは必ず"0"を書き込んでください。
CG1 CG0
0
0
1
8クロック(CPUクロック:周辺クロック=1:約3~4)
1
0
16クロック(CPUクロック:周辺クロック=1:約5~6)
1
1
32クロック(CPUクロック:周辺クロック=1:約9~10)
0
タイムベースタイマモードに移行
1
変化なし,ほかへの影響なし
RST
内部リセット信号発生ビット
0
3マシンサイクルの内部リセット信号を発生
1
変化なし,ほかへの影響なし
SPL
端子状態指定ビット
(タイムベースタイマ・時計・ストップモード時)
0
保持
1
ハイインピーダンス
SLP
:リード/ライト可能
:ライトオンリ :初期値
0クロック(CPUクロック=周辺クロック)
タイムベースタイマモードビット
TMD
R/W
W
CPU一時停止クロック数選択ビット
0
スリープビット
0
変化なし,ほかへの影響なし
1
スリープモードに移行
STP
0
1
ストップビット
変化なし,ほかへの影響なし
ストップモードに移行
91
第 5 章 低消費電力モード
表 5.3-1 低消費電力モード制御レジスタ (LPMCR) の各ビットの機能説明
ビット名
bit7
STP:
ストップモー
ドビット
機
•
•
•
•
•
能
ストップモードへの移行を指示するビットです。
このビットに "1" を書き込むと , ストップモードへ移行します。
このビットに "0" を書き込んでも動作に影響しません。
リセット , またはストップ解除で "0" にクリアされます。
このビットを読み出すと , 常に "0" が読み出されます。
スリープモードへの移行を指示するビットです。
このビットに "1" を書き込むとスリープモードに移行します。
このビットに "0" を書き込んでも動作に影響しません。
リセット , スリープ解除 , またはストップ解除で "0" にクリアされます。
STP ビットと SLP ビットに同時に "1" を書き込んだ場合 , ストップモー
ドに移行します。
• このビットを読み出すと , 常に "0" が読み出されます。
•
•
•
•
bit6
SLP:
スリープモー
ドビット
bit5
SPL:
端子状態指定
ビット
(時計・タイム
ベースタイ
マ・ストップ
モード時)
• このビットはタイムベースタイマモード , またはストップモードの場合
だけ有効です。
• このビットが "0" の場合 , 外部端子のレベルを保持します。
• このビットが "1" の場合 , 外部端子をハイインピーダンスにします。
• リセットで "0" に初期化されます。
bit4
RST:
内部リセット
信号発生ビッ
ト
• このビットに "0" を書き込むと 3 マシンサイクルの内部リセット信号を
発生します。
• このビットに "1" を書き込んでも動作に影響しません。
• このビットを読み出すと , 常に "1" が読み出されます。
bit3
TMD:
時計・タイム
ベースタイマ
モードビット
• 時計モード , タイムベースタイマモードへの移行を指示するビットで
す。
• メインクロックモード , または PLL クロックモードにおいて , このビッ
トに "0" を書込むことにより,タイムベースタイマモードに移行します。
• サブクロック時に , このビットに "0" を書き込むことにより時計モード
に移行します。
• リセットまたは割込み要求発生で "1" に初期化させます。
• このビットを読み出すと , 常に "1" が読み出されます。
bit2,
bit1
CG1, CG0:
CPU クロック
一時停止サイ
クル数選択
ビット
• CPU 間欠動作機能の CPU クロックの一時停止サイクル数を設定する
ビットです。
• 一命令ごとに指定サイクル数 CPU クロック供給を停止します。
• 4 種類のクロック数から選択できます。
• リセットで "00B" に初期化されます。
bit0
RESV:
予約ビット
このビットには必ず "0" を書き込んでください。
92
第 5 章 低消費電力モード
■ 低消費電力モード制御レジスタへのアクセス
低消費電力モード制御レジスタへの書込みで , 低消費電力モード ( ストップモード , ス
リープモード , タイムベースタイマモード , 時計モード ) へ遷移しますが , 低消費電力
モードへの遷移に使用する命令は 表 5.3-2 の命令を使用してください。
表 5.3-2の命令による低消費電力モード遷移命令の直後には必ず下記
内の命令列を
配置してください。
MOV LPMCR,#H’xx
; 表 5.3-2 の低消費電力モード遷移命令
NOP
NOP
JMP $+3
; 次の命令へのジャンプ
MOV A,#H’10
; 任意の命令
内の命令以外が配置されると低消費電力モード解除後の動作は保証されません。
C 言語を使用して低消費電力モード制御レジスタをアクセスする場合は ,「5.8 低消費
電力モード使用上の注意」の「スタンバイモード遷移のための低消費電力モード制御
レジスタ (LPMCR) へアクセスする際の注意事項」を参照してください。
表 5.3-1 に示す以外の機能を制御する場合には , どの命令を使用してもかまいません。
ワード長で低消費電力モード制御レジスタへ書き込む場合には,偶数アドレスで書き込
むようにしてください。奇数アドレスの書込みで低消費電力モードへ遷移した場合に
は , 誤動作の原因となる場合があります。
表 5.3-2 低消費電力モードへ遷移する場合に使用する命令一覧
MOV io, #imm8
MOV dir, #imm8
MOV eam,#imm8
MOV eam,Ri
MOV io, A
MOV dir, A
MOV addr16, A
MOV eam, A
MOVW io, #imm16
MOVW dir, #imm16
MOVW eam, #imm16
MOVW eam, RWi
MOVW io, A
MOVW dir, A
MOVW addr16, A
MOVW eam, A
SETB io:bp
SETB dir:bp
SETB addr16:bp
CLRB io:bp
CLRB dir bp
CLRB addr16:bp
MOV @RLi+disp8, A
MOVW @RLi+disp8, A
● STP, SLP, TMD ビットの優先順位
ストップモード要求とスリープモード要求およびタイムベースタイマモード要求を同
時に行った場合は , 次の優先順位で要求を処理します。
ストップモード要求 > タイムベースタイマモード要求 > スリープモード要求
93
第 5 章 低消費電力モード
5.4
CPU 間欠動作モード
CPU 間欠動作モードは , 外部バスや周辺機能を高速動作させたまま CPU を間欠動作
させることで , 消費電力を低減するモードです。
■ CPU 間欠動作モード
CPU 間欠動作モードは , レジスタ , 内蔵メモリ (ROM, RAM), I/O, 周辺機能および外部
バスアクセスを行う場合,CPUに供給するクロックを一命令実行ごとに一定期間停止さ
せ , 内部バスサイクルの起動を遅らせるモードです。周辺機能に高速の周辺クロックを
供給したまま ,CPU の実行速度を下げると , 低消費電力で処理できます。
低消費電力モード制御レジスタ(LPMCR の CG1, CG0) で ,CPU に供給するクロックの
一時停止サイクル数を選択します。
外部バス動作そのものは , 周辺機能と同じクロックを使用します。
CPU 間欠動作モードを使用した場合の命令実行時間の算出は , レジスタ , 内蔵メモリ ,
内蔵周辺機能および外部バスアクセスを行う場合の命令実行回数に,一時停止サイクル
数をかけた補正値を通常の実行時間に加えることで , 求めることができます。図 5.4-1
に CPU 間欠動作モード時の動作クロックを示します。
図 5.4-1 CPU 間欠動作時のクロック
周辺クロック
CPUクロック
一時停止サイクル
1命令実行
サイクル
内部バス起動
94
第 5 章 低消費電力モード
スタンバイモード
5.5
スタンバイモードには , スリープ(PLL スリープ , メインスリープ , サブスリープ),
時計 , ストップの各モードがあります。
■ スタンバイモードの動作状態
表 5.5-1 に , スタンバイモードの動作状態を示します。
表 5.5-1 スタンバイモードの動作状態
スタンバイモード
移行条件
PLL
スリープモード
SCS=1
MCS=0
SLP=1
メインスリープ
モード
SCS=1
MCS=0
SLP=1
サブスリープ
モード
SCS=0
SLP=1
タイムベースタ
イマモード
(SPL=0)
SCS=1
TMD=0
メイン
クロック
サブ
クロック
マシン
クロック
CPU
周辺
端子
解除方法
動作
動作
外部リセット
または
割込み
動作
スリープ
モード
タイム
ベース
タイマ
モード
時計
モード
動作
停止
動作
保持
動作
タイムベースタ
イマモード
(SPL=1)
SCS=1
TMD=0
時計モード
(SPL=0)
SCS=0
TMD=0
時計モード
(SPL=1)
SCS=0
TMD=0
ストップモード
(SPL=0)
STP=1
停止
停止
*1
Hi-Z
保持
停止
停止
*2
Hi-Z
外部リセット
または
割込み *4
外部リセット
または
*5
割込み
停止
ストップ
モード
保持
停止
ストップモード
(SPL=1)
停止
STP=1
Hi-Z*3
外部リセット
または
割込み *6
*1 : タイムベースタイマ , 時計タイマは動作します。
*2 : 時計タイマは動作します。
*3 : DTP / 外部割込みの入力端子は動作します。
*4 : 時計タイマ , タイムベースタイマおよび外部割込み
*5 : 時計タイマおよび外部割込み
*6 : 外部割込み
SPL : 低消費電力モード制御レジスタ (LPMCR) の端子状態指定ビット
SLP : 低消費電力モード制御レジスタ (LPMCR) のスリープビット
STP : 低消費電力モード制御レジスタ (LPMCR) の時計ストップビット
TMD : 低消費電力モード制御レジスタ (LPMCR) の時計・タイムベースタイマモードビット
MCS : クロック選択レジスタ (CKSCR) のマシンクロック選択ビット
SCS : クロック選択レジスタ (CKSCR) のマシンクロック選択ビット(サブ)
Hi-Z : ハイインピーダンス
95
第 5 章 低消費電力モード
5.5.1
スリープモード
スリープモードは ,CPU の動作クロックを停止させるモードで ,CPU 以外は動作を続
行します。低消費電力モード制御レジスタ (LPMCR) でスリープモードへの移行を指
示すると ,PLL クロックモードを設定している場合は PLL スリープモードへ移行し ,
メインクロックモードを設定している場合はメインスリープモードへ , サブクロック
モードを設定している場合はサブスリープモードへ移行します。
■ スリープモードへの移行
低消費電力モード制御レジスタ (LPMCR) の SLP ビットに "1",TMD ビットに "1",STP
ビットに "0" を書き込むと , スリープモードに移行します。スリープモードに移行する
場合 , クロック選択レジスタ (CKSCR) が MCS=0, SCS=1 であれば PLL スリープモード
に ,MCS=1, SCS=1 であればメインスリープモードに ,SCS=0 であればサブスリープモー
ドに移行します。
< 注意事項 >
SLP ビットと STP ビットに同時に "1" を書き込むと ,STP ビットを優先し , ストッ
プモードへ移行します。SLP ビットに "1",TMD ビットに "0" を同時に書き込むと ,
TMD ビットを優先し , タイムベースタイマモード , または時計モードに移行しま
す。
● データ保持機能
スリープモードでは , アキュムレータなどの専用レジスタと内部 RAM の内容を保持し
ます。
● ホールド機能
スリープモード中は , 外部バスホールド機能は動作し , ホールド要求があるとホールド
状態になります。
● 割込み要求発生中の動作
低消費電力モード制御レジスタ (LPMCR) の SLP ビットに "1" を書き込んだ場合に , 割
込み要求が発生している場合はスリープモードに移行しません。そのため ,CPU は割込
みを受け付けない状態では次の命令を実行し,受け付ける状態であれば即座に割込み処
理ルーチンへ分岐します。
● 端子状態
スリープモード中は , 直前の状態を保持します。
■ スリープモードの解除
低消費電力制御回路は , リセット入力 , または割込みの発生によってスリープモードを
解除します。
● リセットによる復帰
リセットによりメインクロックモードに初期化されます。
96
第 5 章 低消費電力モード
< 注意事項 >
サブスリープモードから外部リセット端子(RST 端子)にてメインクロックモード
へ復帰する場合は ,
振動子の発振時間 *+100µs+16 マシンサイクル
以上 "L" レベルを入力してください。
*: 振動子の発振時間は , 振幅が 90% に達する時間です。水晶発振子は数 ms ∼
数十 ms, セラミック発振子は数百 µs ∼数 ms, 外部クロックは 0ms となりま
す。
● 割込みによる復帰
スリープモード中に , 周辺回路などから割込みレベルが 7 より高い割込み要求が発生す
るとスリープモードを解除します。スリープモードの解除後は , 通常の割込み処理と同
じ扱いとなります。コンディションコードレジスタ (CCR) の I フラグ , インタラプトレ
ベルマスクレジスタ (ILM) および割込み制御レジスタ (ICR) の設定によって , 割込みが
受け付けられる場合は ,CPU は割込み処理を実行します。割込みが受け付けられない場
合は , スリープモードを指定した命令の次の命令から処理を続行します。
図 5.5-1 に , 割込み発生によるスリープモードの解除を示します。
図 5.5-1 割込み発生によるスリープモードの解除
周辺機能の割込み
イネーブルフラグ設定
INT発生(IL<7)
NO
スリープ解除しない
スリープ解除しない
YES
I=0
YES
次の命令実行
スリープ解除する
NO
ILM<IL
YES
次の命令実行
NO
割込み実行
< 注意事項 >
割込み処理を実行する場合 , 通常はスリープモードを指定した命令の次の命令を実
行した後に , 割込み処理に移行します。ただし , スリープモードへの移行と外部バ
スホールド要求の受付けが同時であった場合 , 次の命令を実行する前に割込み処理
に移行することがあります。
97
第 5 章 低消費電力モード
図 5.5-2 に , スリープモードからの復帰動作を示します。
図 5.5-2 スリープモードの解除(外部リセット)
RST端子
スリープモード
メインクロック
発振中
PLLクロック
発振中
CPUクロック
CPU動作
PLLクロック
停止中
スリープモード解除
98
リセットシーケンス
リセット解除
処理
第 5 章 低消費電力モード
5.5.2
タイムベースタイマモード
タイムベースタイマモードは , 原発振とタイムベースタイマ , 時計タイマ以外の動作
を停止させるモードで , タイムベースタイマと時計タイマ以外すべての機能が停止し
ます。
■ タイムベースタイマモードへの移行
PLL クロックモード , またはメインクロックモードの場合 (CKSCR:SCS=1) に , 低消費
電力モード制御レジスタ (LPMCR) の TMD ビットに "0" を書き込むと , タイムベース
タイマモードに移行します。
● データ保持機能
タイムベースタイマモードでは , アキュムレータなどの専用レジスタと内部 RAM の内
容を保持します。
● ホールド機能
タイムベースタイマモード中は , 外部バスホールド機能は停止し , ホールド要求が入力
されてもその要求は受け付けません。タイムベースタイマモードへの移行中にホール
ド要求が入力された場合 , バスをハイインピーダンスにした状態で ,HAK 信号が "L" に
ならないことがあります。
● 割込み要求発生中の動作
低消費電力モード制御レジスタ (LPMCR) の TMD ビットに "0" を書き込んだ場合に , 割
込み要求が発生しているときはタイムベースタイマモードに移行しません。
● 端子状態
タイムベースタイマモード中の外部端子を , 直前の状態に保持するか , ハイインピーダ
ンス状態にするかを , 低消費電力モード制御レジスタ (LPMCR) の SPL ビットで制御で
きます。
99
第 5 章 低消費電力モード
■ タイムベースタイマモードの解除
低消費電力制御回路は , リセット入力 , または割込みの発生でタイムベースタイマモー
ドを解除します。
● リセットによる復帰
リセットによりメインクロックモードに初期化されます。
● 割込みによる復帰
タイムベースタイマモード中に時計タイマ,タイムベースタイマおよび外部割込みから
割込みレベルが 7 より高い割込み要求が発生すると(割込み制御レジスタ ICR:IL2, IL1,
IL0 が "111B" 以外), 低消費電力制御回路はタイムベースタイマモードを解除します。
タイムベースタイマモードの解除後は , 通常の割込み処理と同じ扱いとなります。コン
ディションコードレジスタ(CCR)のIフラグ,インタラプトレベルマスクレジスタ(ILM)
および割込み制御レジスタ (ICR) の設定により割込みが受け付けられる場合は , 割込み
処理を実行します。割込みが受け付けられない場合は , タイムベースタイマモードに入
る前の次の命令から処理を続行します。
< 注意事項 >
割込み処理を実行する場合 , 通常はタイムベースタイマモードを指定した命令の次
の命令を実行した後に , 割込み処理に移行します。ただし , タイムベースタイマ
モードへの移行と外部バスホールド要求の受付けが同時であった場合 , 次の命令を
実行する前に割込み処理に移行することがあります。
図 5.5-3 に , タイムベースタイマモードからの復帰動作を示します。
図 5.5-3 タイムベースタイマモードの解除(外部リセット)
RST端子
タイムベース
タイマモード
メインクロック
発振中
PLLクロック
発振安定待ち
CPUクロック
メインクロック
CPU動作
停止中
リセットシーケンス
リセット解除
時計モード解除
100
発振中
PLLクロック
処理
第 5 章 低消費電力モード
5.5.3
時計モード
時計モードは , サブクロックと時計タイマ以外の動作を停止させるモードで , チップ
のほぼ全機能が停止します。
■ 時計モードへの移行
サブクロックモード時 (CKSCR:SCS=0) に , 低消費電力モード制御レジスタ (LPMCR) の
TMD ビットに "0" を書き込むことにより , 時計モードに移行します。
● データ保持機能
時計モードでは,アキュムレータなどの専用レジスタと内部RAMの内容を保持します。
● ホールド機能
時計モード中は , 外部バスホールド機能は停止し , ホールド要求が入力されてもその要
求は受け付けません。時計モードへの移行中にホールド要求が入力された場合 , バスを
ハイインピーダンスにした状態で ,HAK 信号が "L" にならないことがあります。
● 割込み要求発生中の動作
低消費電力モード制御レジスタ (LPMCR) の TMD ビットに "0" を設定した場合に , 割
込み要求が発生している場合は時計モードに移行しません。
● 端子状態
時計モード中の外部端子を , 直前の状態に保持するか , ハイインピーダンス状態にする
かを , 低消費電力モード制御レジスタ (LPMCR) の SPL ビットで制御できます。
101
第 5 章 低消費電力モード
■ 時計モードの解除
低消費電力制御回路は,リセット入力,または割込みの発生で時計モードを解除します。
● リセットによる復帰
リセット要因による時計モードの解除の場合は , 時計モードを解除した上で , 発振安定
待ちリセット状態になります。リセットシーケンスは発振安定待ち時間経過後実行さ
れます。
< 注意事項 >
時計モードから外部リセット端子(RST 端子)にてメインクロックモードへ復帰す
る場合は ,
振動子の発振時間 *+100µs+16 マシンサイクル
以上 "L" レベルを入力してください。
*: 振動子の発振時間は , 振幅が 90% に達する時間です。水晶発振子は数 ms ∼
数十 ms, セラミック発振子は数百 µs ∼数 ms, 外部クロックは 0ms となりま
す。
● 割込みによる復帰
時計モード中に時計タイマおよび外部割込みから割込みレベルが 7 より高い割込み要
求が発生すると(割込み制御レジスタ ICR:IL2, IL1, IL0 が "111B" 以外), 低消費電力制
御回路は時計モードを解除し , 即座にサブクロックモードに移行します。サブクロック
モードに移行後は , 通常の割込み処理と同じ扱いとなります。コンディションコードレ
ジスタ (CCR) の I フラグ , インタラプトレベルマスクレジスタ (ILM) および割込み制御
レジスタ (ICR) を設定して割込みが受け付けられる場合は , 割込み処理を実行します。
割込みが受け付けられない場合は,時計モードに入る前の次の命令から処理を続行しま
す。
< 注意事項 >
102
割込み処理を実行する場合 , 通常は時計モードを指定した命令の次の命令を実行し
た後に , 割込み処理に移行します。ただし , 時計モードへの移行と外部バスホール
ド要求の受付けが同時であった場合 , 次の命令を実行する前に割込み処理に移行す
ることがあります。
第 5 章 低消費電力モード
図 5.5-4 に , 時計モードからの復帰動作を示します。
図 5.5-4 時計モードの解除(外部リセット)
RST端子
時計モード
メインクロック
発振安定待ち
PLLクロック
停止中
サブクロック
発振中
CPUクロック
CPU動作
発振中
メインクロック
停止中
リセットシーケンス
処理
リセット解除
時計モード解除
103
第 5 章 低消費電力モード
5.5.4
ストップモード
ストップモードは , 原発振を停止させるモードで , すべての機能が停止します。した
がって , 最も低消費電力でデータを保持することができます。
■ ストップモードへの移行
低消費電力モード制御レジスタ (LPMCR) の STP ビットに "1" を書き込むと , ストップ
モードに移行します。
● データ保持機能
ストップモードでは , アキュムレータなどの専用レジスタと内部 RAM の内容を保持し
ます。
● ホールド機能
ストップモード中は , 外部バスホールド機能は停止し , ホールド要求が入力されてもそ
の要求は受け付けません。ストップモードへの移行中にホールド要求が入力された場
合 , バスをハイインピーダンスにした状態で ,HAK 信号が "L" にならないことがありま
す。
● 割込み要求発生中の動作
低消費電力モード制御レジスタ (LPMCR) の STP ビットに "1" を設定した場合に , 割込
み要求が発生しているときはストップモードに移行しません。
● 端子状態の設定
ストップモード中の外部端子を , 直前の状態に保持するか , ハイインピーダンス状態に
するかを , 低消費電力モード制御レジスタ (LPMCR) の SPL ビットで制御できます。
< 注意事項 >
低消費電力モード制御レジスタ (LPMCR) の STP ビットと SLP ビットを同時に "1"
をセットした場合は ,STP ビットが優先され , ストップモードに移行します。
■ ストップモードの解除
低消費電力制御回路は , リセット入力 , または割込みの発生によりストップモードを解
除します。ストップモードから復帰する場合は , 発振クロック (HCLK) およびサブク
ロック (SCLK) が停止しているため , メインクロック発振安定待ち時間またはサブク
ロック発振安定待ち時間を経て , ストップモードが解除されます。
● リセットによる復帰
リセット要因によるストップモード解除の場合は , ストップモードを解除した上で , 発
振安定待ちリセット状態になります。リセットシーケンスは発振安定待ち時間経過後
実行されます。
104
第 5 章 低消費電力モード
< 注意事項 >
ストップモードから外部リセット端子(RST 端子)にてメインクロックモードへ復
帰する場合は ,
振動子の発振時間 *+100µs+16 マシンサイクル
以上 "L" レベルを入力してください。
*: 振動子の発振時間は , 振幅が 90% に達する時間です。水晶発振子は数 ms ∼
数十 ms, セラミック発振子は数百 µs ∼数 ms, 外部クロックは 0ms となりま
す。
● 割込みによる復帰
ストップモード中に外部割込みから割込みレベルが 7 より高い割込み要求が発生する
と(割込み制御レジスタ ICR:IL2, IL1, IL0 が "111B" 以外), 低消費電力制御回路はス
トップモードを解除します。ストップモードの解除後は , クロック選択レジスタ
(CKSCR) の WS1, WS0 ビットで指定されたメインクロックの発振安定待ち時間を経過
したあとで , 通常の割込み処理と同じ扱いとなります。コンディションコードレジスタ
(CCR) の I フラグ , インタラプトレベルマスクレジスタ (ILM) および割込み制御レジス
タ (ICR) を設定して割込みが受け付けられる場合は割込み処理を実行します。割込み
が受け付けられない場合は , ストップモードに入る前の次の命令から処理を続行しま
す。
< 注意事項 >
• 割込み処理を実行する場合 , 通常はストップモードを指定した命令の次の命令を
実行した後に , 割込み処理に移行します。ただし , ストップモードへの移行と外
部バスホールド要求の受付けが同時であった場合 , 次の命令を実行する前に割込
み処理に移行することがあります。
• PLL ストップモード中は , メインクロックおよび PLL 逓倍回路が停止している
ため ,PLL ストップモードから復帰する場合は , メインクロック発振安定待ち時
間および PLL クロック発振安定待ち時間を確保する必要があります。この場合
の発振安定待ち時間は , クロック選択レジスタの発振安定待ち時間選択ビット
(CKSCR:WS1, WS0) に設定された値に従い , メインクロック発振安定待ち時間お
よび PLL クロック発振安定待ち時間を同時にカウントしますので , CKSCR:WS1,
WS0 ビットは , 発振安定待ち時間の長い方に合わせて値を設定してください。た
だし ,PLL クロック発振安定待ち時間は 214/HCLK 以上必要になりますので ,
CKSCR:WS1, WS0 ビットには ,"10B" または "11B" を設定してください。
105
第 5 章 低消費電力モード
図 5.5-5 に , ストップモードからの復帰動作を示します。
図 5.5-5 ストップモードの解除(外部リセット)
RST端子
ストップモード
メインクロック
PLLクロック
発振安定待ち
停止中
メインクロック
CPUクロック
CPU動作
停止中
リセット解除
ストップモード解除
106
発振中
リセットシーケンス
処理
第 5 章 低消費電力モード
5.6
状態遷移図
図 5.6-1 に ,MB90440G シリーズの動作状態の遷移図と , 遷移条件を示します。
■ 状態遷移図
図 5.6-1 状態遷移図
外部リセット,ウォッチドッグタイマリセット,ソフトウェアリセット
電源投入
リセット
パワーオンリセット
SCS=1
発振安定待ち終了
SCS=0
MCS=0
SCS=0
メインクロックモード
MCS=1
SLP=1
割込み
メインスリープモード
TMD=0
割込み
メインタイムベースタイマモード
SCS=1
SLP=1
割込
PLL スリープモード
TMD=0
メインストップモード
割込み
発振安定待ち終了
メインクロック発振安定待ち
割込み
SLP=1
割込み
サブスリープモード
割込み
TMD=0
時計モード
PLLタイムベースタイマモード
STP=1
STP=1
STP=1
< 注意事項 >
サブクロックモード
PLL クロックモード
PLL ストップモード
割込み
発振安定待ち終了
PLLクロック発振安定待ち
サブストップモード
割込み
発振安定待ち終了
サブクロック発振安定待ち
クロックモードを切り換えた場合 , 切換えが完了するまでは , ほかのクロックモー
ドおよび低消費電力モードへの切換えを行わないようにしてください。切換えの完
了は , クロック選択レジスタ (CKSCR) の MCM ビットおよび SCM ビットを参照し
て確認してください。
107
第 5 章 低消費電力モード
■ 低消費電力モードの動作状態
表 5.6-1 に , 低消費電力モードの動作状態を示します。
表 5.6-1 低消費電力モードの動作状態
動作状態
メイン
クロック
サブ
クロック
PLL
クロック
PLL
CPU
周辺
時計
タイム
ベース
タイマ
動作
動作
クロック
ソース
動作
動作
PLL スリープ
動作
動作
動作
PLL タイムベース
タイマ
*1
PLL
クロック
停止
PLL ストップ
停止
停止
停止
PLL 発振安定待ち
動作
動作
動作
メイン
停止
停止
停止
動作
動作
動作
動作
動作
動作
メインスリープ
動作
動作
メインタイムベース
タイマ *2
メイン
クロック
停止
停止
メインストップ
停止
停止
メイン発振安定待ち
動作
動作
停止
サブ
停止
停止
動作
動作
動作
動作
動作
サブスリープ
時計
停止
動作
停止
停止
サブ
クロック
動作
メイン
クロック
停止
サブストップ
停止
サブ発振安定待ち
動作
パワーオンリセット
*1: PLL クロックモード時
*2: メインクロックモード時
108
停止
動作
停止
動作
リセット
停止
動作
停止
動作
停止
動作
第 5 章 低消費電力モード
5.7
スタンバイモード , ホールド , リセット時の端子状態
スタンバイモード , ホールド , リセット時の端子の状態を , 各メモリアクセスモード
ごとに示します。
■ シングルチップモード時の端子状態
表 5.7-1 に , シングルチップモード時の各端子状態について示します。
表 5.7-1 シングルチップモード時の各端子状態
スタンバイモード時
ストップ時 *6
端子名
リセット時
スリープ時
P00 ∼ P07 ,
P10 ∼ P17 ,
P20 ∼ P27 ,
P30 ∼ P37 ,
P40 ∼ P47,
P50, P55 ∼ P57,
P60 ∼ P67,
P70 ∼ P77,
P80 ∼ P87,
P92 ∼ P94, P96,
P97
P51 ∼ P54,
P90, P91, P95,
PA0
SPL=0
SPL=1
入力遮断 *3/ 直前
の状態を保持 *2
入力遮断 *3/
出力 Hi-Z*5
直前の状態を保持 *2
入力不可 *4/
出力 Hi-Z*5
入力可 *1
*1: " 入力可 " とは , 入力機能が可能な状態であることを意味するので , プルアップ , プルダウンオプ
ションを選択するか , または外部からの入力が必要です。出力ポートとして使用している場合に
はほかのポートと同じです。
*2: " 直前の状態を保持 " とは , このモードになる直前に出力していた状態をそのまま保持すること
を意味します。ただし , 入力状態であった場合は入力不可となるので注意してください。" 出力
していた状態をそのまま保持 " とは , 出力のある内蔵周辺が動作中であればその値を , ポートな
どとして出力している場合にはその値をそれぞれ保持することを意味します。
*3: 入力遮断状態では , 入力はマスクされ ,CMOS 選択時は "L" レベルが ,TTL 選択時は "H" レベルが
内部に伝わります。
*4: " 入力不可 " とは , 端子からすぐの入力ゲート動作は許可状態にあるが , 内部回路が動作していな
いので , 端子への入力値が内部で受け付けられない状態を意味します。
*5: " 出力 Hi-Z" とは端子駆動用トランジスタを駆動禁止状態にし , 端子をハイインピーダンスにす
ることを意味します。
*6: ストップ時およびハードウェアスタンバイ時は , ポート端子のプルアップオプションは切り離さ
れます。
< 注意事項 >
ストップ時は , 外部から入力する信号は 8 本以内とし , それぞれの周波数は ,1kHz
以下にしなければなりません。
109
第 5 章 低消費電力モード
■ 外部バス 16 ビットデータバスモード時の端子状態
表 5.7-2 に , 外部バス 16 ビットデータバスモード時の各端子状態について示します。
表 5.7-2 外部バス 16 ビットデータバスモード時の各端子状態
スタンバイモード時
端子名
ストップ時
ホールド時
リセット時
スリープ時
SPL=0
SPL=1
P00 ∼ P07
(AD00 ∼ AD07),
P10 ∼ P17
(AD08 ∼ AD15)
入力不可 /
出力 Hi-Z
入力遮断 /
出力 Hi-Z
P20 ∼ P27
(A16 ∼ A23)
出力状態 *1
出力状態 *1
P37(CLK)
入力不可 /
出力可能 *2
入力不可 /
出力状態 *1
P36(RDY)
P35(HAK)
直前の状態
を保持
入力遮断 /
直前の状態
を保持
P34(HRQ)
入力不可 /
出力 Hi-Z
入力不可 /
出力 Hi-Z
出力状態 *1
入力不可 /
出力可能 *2
入力不可 /
出力 Hi-Z
"L" 出力
入力遮断 /
出力 Hi-Z
入力不可 /
出力 Hi-Z
"1" 入力
P33(WRH)
P32(WRL)
"H" 出力
"H" 出力
入力不可 /
出力 Hi-Z
P31(RD)
P30(ALE)
P40 ∼ P47,
P50, P55 ∼ P57,
P60 ∼ P67,
P70 ∼ P77,
P80 ∼ P87,
P92 ∼ P94, P96,
P97
P51 ∼ P54,
P90, P91, P95,
PA0
"L" 出力
直前の状態
を保持
"L" 出力
"H" 出力
"L" 出力
入力遮断 /
直前の状態
を保持
直前の状態
を保持
入力不可 /
出力 Hi-Z
入力可
*1: " 出力状態 " とは端子駆動用トランジスタを駆動許可状態にしてありますが , 内部回路の動作が
停止状態であるため ,"H" ないし "L" の固定値を出すことを意味します。内部周辺回路が動作中
で , 出力機能を使用している場合には , 出力変化があります。
*2: " 出力可能 " とは端子駆動用トランジスタを駆動許可状態にしてあり , 内部回路の動作が許可状
態のため , 動作内容が端子に現れることを意味します。
110
第 5 章 低消費電力モード
■ 外部バス 8 ビットデータバスモード時の端子状態
表 5.7-3 に , 外部バス 8 ビットデータバスモード時の各端子状態について示します。
表 5.7-3 外部バス 8 ビットデータバスモード時の各端子状態
スタンバイモード時
端子名
ストップ時
ホールド時
リセット時
スリープ時
SPL=0
SPL=1
P00 ∼ P07
(AD00 ∼ AD07),
P10 ∼ P17
(AD08 ∼ AD15)
入力不可 /
出力 Hi-Z
入力遮断 /
出力 Hi-Z
P20 ∼ P27
(A16 ∼ A23)
出力状態
出力状態
P37(CLK)
入力不可 /
出力可能
入力不可 /
出力状態
入力不可 /
出力 Hi-Z
出力状態
入力不可 /
出力可能
入力不可 /
出力 Hi-Z
P36(RDY)
P35(HAK)
P34(HRQ)
入力不可 /
出力 Hi-Z
直前の状態
を保持
入力遮断 /
直前の状態
を保持
"L" 出力
入力遮断 /
出力 Hi-Z
入力不可 /
出力 Hi-Z
"1" 入力
直前の状態
を保持
P33(WRH)
P32(WRL)
P31(RD)
P30(ALE)
P40 ∼ P47,
P50, P55 ∼ P57,
P60 ∼ P67,
P70 ∼ P77,
P80 ∼ P87,
P92 ∼ P94, P96, P97
P51 ∼ P54,
P90, P91, P95, PA0
"H" 出力
"L" 出力
直前の状態
を保持
"H" 出力
入力不可 /
出力 Hi-Z
"L" 出力
"H" 出力
"L" 出力
入力遮断 /
直前の状態
を保持
直前の状態
を保持
入力不可 /
出力 Hi-Z
入力可
111
第 5 章 低消費電力モード
5.8
低消費電力モード使用上の注意
低消費電力モードを使用する場合には , 以下の内容に関して注意が必要です。
• スタンバイモードへの移行と割込み
• スタンバイモードの割込みによる解除
• ストップモードを解除するとき
• 発振安定待ち時間
• クロックモードの切換え
• スタンバイモード遷移のための低消費電力モード制御レジスタ (LPMCR) へアクセ
スする際の注意事項
■ スタンバイモードへの移行と割込み
周辺機能から CPU に対して割込み要求が発生していると , 低消費電力モード制御レジ
スタ (LPMCR:STP=1, SLP=1) または ,(LPMCR:TMD=0) としても無視されるため , 各ス
タンバイモードへは移行しません(割込み処理後にも , スタンバイモードへの移行はし
ません)
。この場合 , 割込みレベルが 7 より高ければ , 割込み要求が CPU に受け付けら
れるかどうかには関係しません。
また ,CPU が割込み処理中であっても , その割込み要求フラグビットがクリアされてお
り , ほかに割込み要求がなければ , スタンバイモードへ移行することができます。
■ スタンバイモードの割込みによる解除
スリープ , タイムベースタイマおよびストップモード中に , 周辺機能などから割込みレ
ベルが 7 より高い割込み要求が発生すると , スタンバイモードは解除されます。これは
CPU が割込みを受け付けるかどうかには関係しません。
スタンバイモード解除後は , 通常の割込み動作として , 割込み要求に対応する割込みレ
ベル設定ビット (ICR:IL2, IL1, IL0) の優先度がインタラプトレベルマスクレジスタ
(ILM) より高く , コンディションコードレジスタの割込み許可フラグが許可 (CCR:I=1)
されている場合は , 割込み処理ルーチンへ分岐します。
割込みが受け付けられない場合は,スタンバイモードを指定した命令の次の命令から動
作を再開します。
割込み処理を実行する場合,通常はスタンバイモードを指定した命令の次の命令を実行
した後に , 割込み処理に移行します。
ただし , スタンバイモードに移行した場合の条件によっては , 次の命令を実行する前に
割込み処理に移行することがあります。
< 注意事項 >
復帰直後に割込み処理ルーチンへ分岐させない場合は , スタンバイモード設定の前
に割込み禁止をするなどの対策が必要です。
■ ストップモード解除時
ストップモードに入る前に , 外部割込みの割込み入力要因の設定に従った入力により ,
解除することができます。入力要因として "H" レベル ,"L" レベル , 立上りエッジ , 立下
りエッジが選択できます。
112
第 5 章 低消費電力モード
■ 発振安定待ち時間
● 発振クロック発振安定待ち時間
ストップモード中は , 原発振用の発振器が停止しているため , 発振安定待ち時間をとる
必要があります。発振安定待ち時間としては , クロック選択レジスタ (CKSCR) の WS1,
WS0 ビットで選択された時間をとります。WS1, WS0 ビットに "00B" を設定するのは ,
メインクロックモードの場合のみにしてください。
● PLL クロック発振安定待ち時間
メインクロックモード中は ,PLL 逓倍回路が停止しているため ,PLL クロックモードに
移行する場合は ,PLL クロック発振安定待ち時間を確保する必要があります。PLL ク
ロック発振安定待ち時間中はメインクロックで動作します。
メインクロックモードから PLL クロックモードに切り換えた場合の PLL クロック発振
安定待ち時間は ,214/HCLK(HCLK: 発振クロック)に固定されています。
サブクロックモード中は,メインクロックおよびPLL逓倍回路が停止しているため,PLL
クロックモードに移行する場合は,メインクロック発振安定待ち時間およびPLLクロッ
ク発振安定待ち時間を確保する必要があります。この場合の発振安定待ち時間は , ク
ロック選択レジスタの発振安定待ち時間選択ビット (CKSCR:WS1, WS0) に設定された
値に従い , メインクロック発振安定待ち時間および PLL クロック発振安定待ち時間を
同時にカウントしますので ,CKSCR:WS1, WS0 ビットは , 発振安定待ち時間の長い方に
合わせて値を設定してください。ただし ,PLL クロック発振安定待ち時間は 214/HCLK
以上必要になりますので ,CKSCR:WS1, WS0 ビットには ,"10B" または "11B" を設定して
ください。
PLLストップモード中は,メインクロックおよびPLL逓倍回路が停止しているため,PLL
ストップモードから復帰する場合は , メインクロック発振安定待ち時間および PLL ク
ロック発振安定待ち時間を確保する必要があります。この場合の発振安定待ち時間は ,
クロック選択レジスタの発振安定待ち時間選択ビット (CKSCR:WS1,WS0) に設定され
た値に従い , メインクロック発振安定待ち時間および PLL クロック発振安定待ち時間
を同時にカウントしますので ,CKSCR:WS1, WS0 ビットは , 発振安定待ち時間の長い方
に合わせて値を設定してください。ただし ,PLL クロック発振安定待ち時間は 214/HCLK
以上必要になりますので ,CKSCR:WS1, WS0 ビットには ,"10B" または "11B" を設定して
ください。
■ クロックモードの切換え
クロックモードを切り換えた場合 , 切換えが完了するまでは , 低消費電力モードへの切
換えおよびほかのクロックモードへの切換えを行わないようにしてください。切換え
の完了は , クロック選択レジスタ (CKSCR) の MCM ビットおよび SCM ビットを参照し
て確認してください。
113
第 5 章 低消費電力モード
■ スタンバイモード遷移のための低消費電力モード制御レジスタ (LPMCR) へアクセ
スする際の注意事項
● アセンブラ言語を使用して低消費電力モード制御レジスタ (LPMCR) へアクセスする場合
• 低消費電力モード制御レジスタ(LPMCR)においてスタンバイモードに移行する設定
を行う場合は,表 5.3-2 の命令を使用してください。
• 表 5.3-2 の命令によるスタンバイモード遷移命令の直後には必ず下記
を配置してください。
内の命令列
; 表 5.3-2 の低消費電力モード遷移命令
MOV LPMCR,#H’xx
NOP
NOP
JMP $+3
; 次の命令へのジャンプ
MOV A,#H’10
; 任意の命令
内の命令以外が配置されるとスタンバイモード解除後の動作は保証されません。
● C 言語を使用して低消費電力モード制御レジスタ (LPMCR) にアクセスする場合
低消費電力モード制御レジスタ (LPMCR) においてスタンバイモードに移行する設定を
行う場合は,以下の (1) から (3) のいずれかの方法でアクセスしてください。
(1) スタンバイモードに遷移させる命令を関数化し,スタンバイモード遷移命令の後
に _wait_nop() のビルトイン関数を 2 個挿入してください。関数内で,スタンバ
イ復帰の割込み以外の割込みが発生する可能性がある場合は,コンパイル時に最
適化を実施し , LINK/UNLINK 命令の発生を抑止してください。
例(時計モードまたはタイムベースタイマモード遷移関数の場合)
void enter_watch(){
/*LPMCR の TMD ビットに "0" をセット */
IO_LPMCR.byte=0x10:
_wait_nop();
k _wait_nop();
}
(2) スタンバイモードに遷移させる命令を _asm 文で記述し,スタンバイモード遷移
命令の後に 2 個の NOP と JMP 命令を挿入してください。
例(スリープモード遷移の場合)
_asm(”MOVI:_IO_LPMCR,#H'58”); /*LPMCR の SLP ビットに "1" をセット */
_asm(”NOP”);
_asm(”NOP”);
_asm(”JMP $+3”);
/* 次の命令へのジャンプ
*/
(3) スタンバイモードに遷移させる命令を #pragma asm ∼ #pragma endasm 間に記述
し,
スタンバイモード遷移命令の後に2個のNOPとJMP命令を挿入してください。
例(ストップモード遷移の場合)
#pragma asm
MOV I:_IO_LPMCR,#H'98
/*LPMCR の STP ビットに "1" をセット */
NOP
NOP
JMP $+3
#pragma endasm
114
/* 次の命令へのジャンプ
*/
第6章
リセット
リセットについて説明します。
6.1 リセットの概要
6.2 リセット要因と発振安定待ち時間
6.3 外部リセット端子
6.4 リセット動作
6.5 リセット要因ビット
6.6 リセットによる各端子の状態
115
第 6 章 リセット
6.1
リセットの概要
リセット要因が発生すると ,CPU はただちに現在実行中の処理を中断し , リセット解
除待ち状態になります。リセット解除後は , リセットベクタで示されたアドレスから
処理を開始します。
リセットには , 次の 4 つの要因があります。
• 電源投入(パワーオン)
• RST 端子からの外部リセット要求
• ソフトウェアリセット要求
• ウォッチドッグタイマのオーバフロー
■ リセット要因
リセットの要因について 表 6.1-1 に示します。
表 6.1-1 リセット要因
マシンクロック
ウォッチ
ドッグタイマ
発振安定待ち
電源投入時
メインクロック
(MCLK)
停止
あり
RST 端子への "L" レベル入力
メインクロック
(MCLK)
停止
なし
ソフトウェア
低消費電力モード制御レジス
タ (LPMCR) の内部リセット信
号発生ビット (RST) に "0" を書
き込む
メインクロック
(MCLK)
停止
なし
ウォッチ
ドッグタイマ
ウォッチドッグタイマオーバ
フロー
メインクロック
(MCLK)
停止
なし
リセット
パワーオン
外部端子
発生要因
MCLK: メインクロック(発振クロックの 2 分周クロック)
● パワーオンリセット
パワーオンリセットは , 電源投入時に発生するリセットです。発振安定待ち時間は 218
発振クロックサイクル (218/HCLK) 固定です。発振安定待ち時間が経過した後 , リセッ
ト動作を行います。
● 外部リセット
外部リセットは , 外部リセット端子(RST 端子)に "L" レベルを入力することでリセッ
トを発生します。RST 端子への "L" レベル入力時間は ,16 マシンサイクル以上必要で
す。外部リセットでは , 発振安定待ち時間を取りません。
116
第 6 章 リセット
< 注意事項 >
• RST 端子によるリセット要求の発生の場合に限り , 書込み動作中(転送系命令実
行中 MOV など)にリセット要因が発生した場合 , 命令の終了後にリセット解除
待ち状態になります。そのため , 書込み中にリセットが入力されても , 正常に書
込みを終了します。ただし , ストリング系命令(MOVS など)は , 指定したカウ
ンタ分の転送が完了する前にリセットを受け付けるので , すべてのデータが転送
されることは保証されません。
• ストップモード , サブクロックモード , サブスリープモードおよび時計モードか
ら外部リセット端子(RST 端子)にてメインクロックモードへ復帰する場合は ,
振動子の発振時間 *+100µs+16 マシンサイクル
以上 "L" レベルを入力してください。
*: 振動子の発振時間は , 振幅が 90% に達する時間です。水晶発振子は数 ms ∼
数十 ms, セラミック発振子は数百 µs ∼数 ms, 外部クロックは 0ms となり
ます。
● ソフトウェアリセット
ソフトウェアリセットは , 低消費電力モード制御レジスタ (LPMCR) の内部リセット信
号発生ビット (RST) に "0" を書き込むことによって , 内部リセットを発生します。ソフ
トウェアリセットでは , 発振安定待ち時間を取りません。
● ウォッチドッグリセット
ウォッチドッグリセットは , ウォッチドッグタイマの起動後 , 定められた時間内に
ウォッチドッグタイマ制御レジスタ (WDTC) のウォッチドッグ制御ビット (WTE) に "0"
の書込みがない場合,ウォッチドッグタイマのオーバフローによってリセットを発生し
ます。ウォッチドッグリセットでは , 発振安定待ち時間を取りません。
クロックの定義
HCLK: 発振クロック周波数
MCLK: メインクロック周波数
SCLK: サブクロック周波数
φ : マシンクロック (CPU 動作クロック ) 周波数
1/ φ : マシンサイクル (CPU 動作クロック周期 ) 詳細は , 「4.1 クロックの概要」を
参照してください。
< 注意事項 >
ストップモード , またはサブクロックモードでリセットが発生した場合は ,217/HCLK
( 約 32.77ms, HCLK=4MHz 発振使用時 ) の発振安定待ち時間をとります。
詳細は ,「4.4 クロックモード」を参照してください。
117
第 6 章 リセット
6.2
リセット要因と発振安定待ち時間
MB90440G シリーズには ,6 種類のリセット要因があり , リセット時の発振安定待ち
時間がリセット要因によってそれぞれ異なります。
■ リセット要因と発振安定待ち時間
表 6.2-1 にリセット要因と発振安定待ち時間について示します。
表 6.2-1 リセット要因と発振安定待ち時間
リセット
発振安定待ち時間
( ) 内は発振クロック周波数 4MHz 時
リセット要因
パワーオン
電源立上げ
218/HCLK(約 65.54ms)
ウォッチドッグ
ウォッチドッグタイマのオーバフロー
なし :WS1, WS0 ビットは "11" に初期化されます。
外部
RST 端子からの "L" 入力
なし : ただし WS1, WS0 ビットは "11" に初期化さ
れます。
ソフトウェア
低消費電力モード制御レジスタ
(LPMCR) の RST ビットへの "0" 書込み
なし : ただし WS1, WS0 ビットは "11" に初期化さ
れます。
HCLK: 発振クロック周波数
WS1, WS0: クロック選択レジスタ (CKSCR) の発振安定待ち時間選択ビット
図 6.2-1 に , パワーオンリセット時の発振安定待ち時間について示します。
図 6.2-1 パワーオンリセット時の発振安定待ち時間
Vcc
217/HCLK
217/HCLK
CLK
CPU 動作
降圧回路の
安定待ち時間
< 注意事項 >
発振安定
待ち時間
セラミックや水晶などの振動子は , 発振を開始してから固有の振動数に安定するま
で , 一般に数 ms から十数 ms の発振安定待ち時間が必要です。そのため , 使用する
振動子に合わせた値を設定してください。詳細は , 「4.5 発振安定待ち時間」を参
照してください。
■ 発振安定待ちリセット状態
電源投入時のリセット,ストップモードおよびサブクロックモード中のリセットに対す
るリセット動作は,タイムベースタイマによって作られる発振安定待ち時間が経過して
からとなります。このとき , 外部リセット入力が解除されていない場合は , 外部リセッ
ト解除後にリセット動作を行います。
118
第 6 章 リセット
6.3
外部リセット端子
外部リセット端子(RST 端子)は , リセット入力専用端子で ,"L" レベルの入力に
よって内部リセットを発生します。MB90440G シリーズは ,CPU 動作クロックに同
期してリセットがかかりますが , 外部端子のみ非同期でリセットがかかります。
■ 外部リセット端子のブロックダイヤグラム
図 6.3-1 外部リセット端子のブロックダイヤグラム
CPU動作クロック
(PLL逓倍回路,HCLKの2分周)
RST
P-ch
同期化回路
端子
CPU
周辺機能
N-ch 入力バッファ
外部端子
HCLK:発振クロック
< 注意事項 >
書込み動作中のリセットによるメモリ破壊を防ぐため ,RST 端子入力の受付けをメ
モリが破壊されないサイクルで行います。また , 内部回路の初期化には , クロック
が必要です。特に外部クロックで動作させる場合は , リセット入力時にクロックを
入力する必要があります。
119
第 6 章 リセット
6.4
リセット動作
リセットが解除されると , モード端子の設定でモードデータとリセットベクタの読出
し先を選択し , モードフェッチを行います。このモードフェッチで ,CPU の動作モー
ドとリセット動作終了後の実行開始アドレスが決定されます。電源投入時 , サブク
ロックモードおよびストップモードからのリセットによる復帰では , 発振安定待ち時
間が経過してからモードフェッチを行います。
■ リセット動作の概要
図 6.4-1 に , リセット動作フローを示します。
図 6.4-1 リセット動作フロー
パワーオンリセット
ストップモード
サブクロックモード
外部リセット
ソフトウェアリセット
ウォッチドッグタイマリセット
リセット中
発振安定待ちリセット状態
モードフェッチ
(リセット動作)
モードデータ取込み
外部バスモード関連の
端子状態および機能変更
リセットベクタ取込み
通常動作
(RUN状態)
リセットベクタが示す
アドレスから命令コードを
取込み命令を実行
■ モード端子
モード端子 (MD0 ∼ MD2) は , リセットベクタとモードデータの取込み方法を指定しま
す。リセットベクタとモードデータの取込みは , リセットシーケンスで行います。モー
ド端子の詳細は , 「7.1.1 モード端子」を参照してください。
■ モードフェッチ
リセットが解除されると ,CPU は , リセットベクタとモードデータを CPU コア内の該当レ
ジスタ内にハードウェア転送します。リセットベクタとモードデータは , FFFFDCH ∼
FFFFDFH の 4 バイトに割り当てられています。CPU は , リセット解除でただちにこれ
らのアドレスをバスに出力し , リセットベクタとモードデータを取り込みます。この
モードフェッチで , CPU はリセットベクタが指すアドレスから処理を開始します。
図 6.4-2 に , リセットベクタとモードデータの転送を示します。
120
第 6 章 リセット
図 6.4-2 リセットベクタとモードデータの転送
2
メモリ空間
F MC-16LX CPUコア
モードレジスタ
FFFFDFH
モードデータ
FFFFDEH
リセットベクタビット23~16
FFFFDDH
リセットベクタビット15~8
FFFFDCH
リセットベクタビット7~0
マイクロ ROM
リセットシーケンス
PCB
PC
● モードデータ(アドレス :FFFFDFH)
モードレジスタの内容を変更できるのはリセット動作だけで,モードレジスタの設定は
リセット動作以降に有効となります。モードデータの詳細は , 「7.1.2 モードデータ」
を参照してください。
● リセットベクタ(アドレス :FFFFDCH ∼ FFFFDEH)
リセット動作終了後の実行開始アドレスを書き込んでおきます。この内容のアドレス
から実行を開始します。
121
第 6 章 リセット
6.5
リセット要因ビット
リセット発生要因は , ウォッチドッグタイマ制御レジスタ (WDTC) を読み出すこと
で識別することができます。
■ リセット要因ビット
図 6.5-1 に示すように , それぞれのリセット要因には対応したフリップフロップがあり
ます。これらの内容は , ウォッチドッグタイマ制御レジスタ (WDTC) を読み出すと得
られます。リセット解除後にリセット発生要因を識別する必要がある場合には , ウォッ
チドッグタイマ制御レジスタ (WDTC) の読出し値をソフトウェアで処理した上で , 適
切なプログラムへ分岐するようにしてください。
図 6.5-1 リセット要因ビットブロックダイヤグラム
RST端子
HST=内部"H"固定
(ハードウェアスタンバイモード無)
電源投入
定期的なクリアなし
RST=L
パワーオン
発生検出回路
ハードウェアスタンバイ
解除検出回路
ウォッチドッグ
タイマリセット
発生検出回路
外部リセット
要求検出回路
RSTビットセット
LPMCR:RSTビット
書込み検出回路
クリア
ウォッチドッグ
タイマ制御
レジスタ
(WDTC)
S
R
F/F
Q
S
F/F
Q
R
S
R
F/F
Q
S
F/F
Q
R
S
F/F
Q
R
遅延回路
ウォッチドッグタイマ
制御レジスタ
(WDTC)読出し
内部データバス
S :Set
R :Reset
Q :Out put
F/F:Flip Flop
■ リセット要因ビットとリセット要因の対応
ウォッチドックタイマ制御レジスタ (WDTC) のリセット要因ビットの構成を , 図 6.5-2
に , リセット要因ビットの内容とリセット要因の対応を 表 6.5-1 に示します。詳細は ,
「10.2 ウォッチドッグタイマ制御レジスタ (WDTC)」を参照してください。
122
第 6 章 リセット
図 6.5-2 リセット要因ビットの構成(ウォッチドッグタイマ制御レジスタ)
ウォッチドッグタイマ制御レジスタ(WDTC)
アドレス bit15
0000A8H
7
6
PONR
-
R
-
8
(TBTC)
5
3
4
WRST ERST SRST
R
R
R
2
1
0
WTE
WT1
WT0
W
W
W
初期値
X-XXX111B
R : リードオンリ
W : ライトオンリ
X : 不定
表 6.5-1 リセット要因ビットの内容とリセット要因の対応
PONR
WRST
ERST
SRST
パワーオンリセット要求の発生
1
X
X
X
ウォッチドッグタイマオーバフ
ローによるリセット要求の発生
△
1
△
△
RST 端子からの外部リセット要求
△
△
1
△
ソフトウェアリセット要求の発生
△
△
△
1
リセット要因
△ : 前の状態を保持
X : 不定
■ リセット要因ビットの注意事項
● 複数のリセット要因が発生した場合
リセット要因が複数発生する場合は , ウォッチドッグタイマ制御レジスタ (WDTC) の
対応するそれぞれのリセット要因ビットが "1" にセットされます。たとえば ,RST 端子
からの外部リセット要求の発生とウォッチドッグタイマのオーバフローが同時に発生
した場合 ,ERST ビットと WRST ビットの両方が "1" になります。
● パワーオンリセットの場合
パワーオンリセットの場合には ,PONR ビットが "1" にセットされますが ,PONR ビット以
外のリセット要因ビットは不定となります。このため ,PONR ビットが "1" の場合は ,PONR
ビット以外のリセット要因ビットを無視するようにソフトウェアを作成してください。
● リセット要因ビットのクリア
リセット要因ビットは , ウォッチドッグタイマ制御レジスタ (WDTC) を読み出したと
きのみクリアされます。それぞれのリセット要因に対応するビットに生じたフラグは ,
その後ほかの要因でリセットが発生してもクリアされず ,"1" のままとなります。
< 注意事項 >
パワーオンリセットが発生しない条件で電源を立ち上げた場合は , このレジスタの
値は保証されません。
123
第 6 章 リセット
6.6
リセットによる各端子の状態
リセットによる各端子の状態について説明します。
■ リセット中の端子の状態
リセット中の端子の状態は , モード端子 (MD2 ∼ MD0=011B) の設定によって決定され
ます。
リセット中の各端子の状態は「5.7
,
スタンバイモード , ホールド , リセット時の端子状
態」を参照してください。
● 内部ベクタモード設定時
I/O 端子(周辺機能端子)はすべてハイインピーダンスになり , モードデータの読出し
先は内部 ROM になります。
■ モードデータ読出し後の端子の状態
モードデータ読み出し後の端子の状態は , モードデータ (M1, M0=00B) によって決定さ
れます。
● シングルチップモード選択時 (M1, M0=00B)
I/O 端子(周辺機能端子)はすべてハイインピーダンスになり , モードデータの読出し
先は内部 ROM になります。
< 注意事項 >
124
リセット要因が発生したときハイインピーダンスとなる端子は , その端子に接続し
た機器が誤動作しないように配慮してください。
第7章
メモリアクセスモード
メモリアクセスモードの機能と動作について説明
します。
7.1 メモリアクセスモードの概要
7.2 外部メモリアクセス ( バス端子制御回路 )
7.3 外部メモリアクセス制御信号の動作
125
第 7 章 メモリアクセスモード
7.1
メモリアクセスモードの概要
F2MC-16LX では , アクセス方式 , アクセス領域について , 各種のモードがあります。
■ メモリアクセスモードの概要
表 7.1-1 モード端子とモード
動作モード
バスモード
アクセスモード
シングルチップ
8 ビット
内 ROM 外バス
RUN
16 ビット
8 ビット
外 ROM 外バス
16 ビット
フラッシュプログラミング
-
-
● 動作モード
動作モードとは , デバイスの動作状態を制御するモードを示すもので ,MDx モード設定
用端子とモードデータ内の Mx ビットで指定します。動作モードを選択することで , 通
常動作の起動や , フラッシュメモリの書込みを行うことができます。
● バスモード
バスモードとは , 内部 ROM の動作と外部アクセス機能の動作を制御するモードを示す
もので , モード設定用端子 (MDx) とモードデータ内の Mx ビットの内容で指定します。
モード設定用端子 (MDx) は , リセットベクタおよびモードデータを読み出すときのバ
スモードを指定するもので , モードデータ内の Mx ビットは , 通常動作時のバスモード
を指定するものです。
● アクセスモード
アクセスモードとは , 外部データバス幅を制御するモードを示すもので ,MDx モード設
定用端子とモードデータ内の S0 ビットで指定します。アクセスモードを選択すること
で , 外部データバスを 8 ビット長あるいは 16 ビット長を指定します。
126
第 7 章 メモリアクセスモード
モード端子
7.1.1
MD2 ∼ MD0 の 3 本の外部端子を組み合わせて , 表 7.1-2 の動作を指定ができます。
■ モード端子
表 7.1-2 モード端子とモード
モード端子設定
モード名
リセットベクタ
アクセス領域
外部データ
バス幅
備考
MD2
MD1
MD0
0
0
0
外部ベクタ
モード 0
外部
8 ビット
0
0
1
外部ベクタ
モード 1
外部
16 ビット
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
フラッシュシ
リアル書込み*
-
-
-
1
1
1
フラッシュメ
モリ
-
-
パラレルライタ使用時の
モード
リセットベクタ 16 ビットバ
ス幅アクセス
指定禁止
内部ベクタ
モード
内部
(モードデータ)
リセットシーケンス以降は
モードデータで制御
指定禁止
*: フラッシュメモリのシリアル書込みは , モード端子の設定だけでは書込みできません。ほかの端子の設定も
必要です。詳細は , フラッシュシリアル書込み接続例を参照してください。
127
第 7 章 メモリアクセスモード
7.1.2
モードデータ
モードデータは , 主記憶 FFFFDFH に置かれ ,CPU の動作を制御するために使用しま
す。リセットシーケンス実行中にこのデータを取り込み , デバイス内部のモードレジ
スタに格納します。モードレジスタの値を変更できるのはリセットシーケンスだけ
です。
本レジスタによる設定はリセットシーケンス以降に有効となります。
予約ビットは , 必ず "0" を設定してください。
■ モードデータ
図 7.1-1 モードデータ構成
bit
モードデータ
アドレス:FFFFDFH
7
6
5
4
3
2
1
0
M1
M0
予約
予約
SO
予約
予約
予約
[bit7, bit6] M1, M0(バスモード設定ビット)
M1, M0 は , リセットシーケンス終了後の動作モードを指定するビットです。M1, M0
ビットと , 機能の関係は , 表 7.1-3 のようになっています。
表 7.1-3 M1, M0(バスモード設定ビット)の機能
M1
M0
0
0
シングルチップモード
0
1
内 ROM 外バスモード
1
0
外 ROM 外バスモード
1
1
設定禁止
機能
備考
[bit3] S0(モード設定ビット)
S0 は , リセットシーケンス終了後のバスモード , アクセスモードを指定するビットで
す。S0 ビットと機能の関係は , 表 7.1-4 のようになっています。
表 7.1-4 S0(モード設定ビット)の機能
S0
128
機能
0
外部データバス 8 ビットモード
1
外部データバス 16 ビットモード
備考
第 7 章 メモリアクセスモード
バスモード別メモリ空間
7.1.3
バスモードの指定による , アクセス領域と物理アドレスの対応を 図 7.1-2 に示しま
す。
■ バスモード別メモリ空間
図 7.1-2 各バスモードにおけるアクセス領域と物理アドレスの関係
FFFFFFH
ROM領域
ROM領域
ROM領域
FFバンクの
イメージ
ROM領域
FFバンクの
イメージ
I/O
I/O
I/O
RAM
RAM
RAM
アドレス#1
010000H
) (
(
004000H
003900H
)
アドレス#2
アドレス#3
:内部
:外部
000100H
0000C0H
I/O
000000H
シングルチップ
品種
I/O
I/O
内ROM外バス
外ROM外バス
:アクセスなし
アドレス #1
アドレス #2
アドレス #3
MB90F443G
MB90443G
FE0000H
002000H
001900H
MB90V440G
(FC0000H)
− (RAM14KByte)
− (RAM14KByte)
129
第 7 章 メモリアクセスモード
■ 推奨設定
表 7.1-5 に , モード端子とモードデータの推奨設定例を示します。
表 7.1-5 モード端子とモードデータの推奨設定例
MD2
MD1
MD0
M1
M0
S0
シングルチップ
0
1
1
0
0
×
内 ROM 外バスモード・16 ビットバス
0
1
1
0
1
1
内 ROM 外バスモード・8 ビットバス
0
1
1
0
1
0
外 ROM 外バスモード・16 ビットバス・
ベクタ 16 バス幅
0
0
1
1
0
1
外 ROM 外バスモード・8 ビットバス
0
0
0
1
0
0
設定例
外部端子には各種モードごとに異なる信号機能があります。
表 7.1-6 各種モードごとの外部端子の機能
機能
外部バス拡張
端子名
シングルチップ
8 ビット
P07 ∼ P00
16 ビット
AD07 ∼ AD00
P17 ∼ P10
A15 ∼ A08
AD15 ∼ AD08
フラッシュ
プログラミング
D07 ∼ D00
A15 ∼ A08
P27 ∼ P20
A23 ∼ A16*
A07 ∼ A00
P30
ALE
A16
P31
RD
CE
P32
P33
ポート
WR*
WRL*
OE
ポート
WRH*
PGM
P34
HRQ*
P35
HAK*
P36
RDY*
P37
CLK*
未使用
* : アドレス上位出力端子と ,WRL/WR, WRH, HRQ, HAK, RDY, CLK 端子は , 機能選
択によりポートとして使用することが可能です。詳細は , 「7.2 外部メモリアク
セス ( バス端子制御回路 )」を参照ください。
130
第 7 章 メモリアクセスモード
外部メモリアクセス ( バス端子制御回路 )
7.2
外部バス端子制御回路は ,CPU のアドレス / データバスを外部に拡張するための外部
バス端子を制御します。
■ 外部メモリアクセス ( 外部バス端子制御回路 )
MB90440G デバイス外部のメモリ / 周辺をアクセスするためには , 以下に示すようなア
ドレス / データ / 制御信号を使用します。
• CLK(P37) : マシンサイクルクロック (KBP) 出力端子です。
• RDY(P36) : 外部レディ入力端子です。
• WRH(P33): データバス上位 8 ビットのライト信号です。
• WRL/WR(P32): データバス下位 8 ビットのライト信号 , または 8 ビットアクセス時
のデータバス 8 ビットのライト信号です。
• RD(P31) : リード信号です。
• ALE(P30) : アドレスラッチイネーブル信号です。
外部バス端子制御回路は外部バス端子の制御に使用され ,CPU アドレス / データバスの
外部拡張を可能にします。
■ 外部メモリアクセスのブロックダイヤグラム
図 7.2-1 外部バス制御器
P1
P0
P0データ
● P0方向
RB
●
P2
P3
P3
P0
●
○
●
データ制御
アドレス制御
アクセス
制御
アクセス制御
131
第 7 章 メモリアクセスモード
7.2.1
外部メモリアクセス ( 外部バス端子制御回路 ) の
レジスタ
外部メモリアクセス ( 外部バス端子制御回路 ) には , 次の 3 種類のレジスタがありま
す。
• 自動レディ機能選択レジスタ
• 外部アドレス出力制御レジスタ
• バス制御信号選択レジスタ
■ 外部メモリアクセスのレジスタ一覧
図 7.2-2 外部メモリアクセス ( 外部バス端子制御回路 ) のレジスタ一覧
自動レディ機能選択レジスタ bit 15
アドレス:0000A5H
リード/ライト
初期値
13
12
11
10
IOR1 IOR0 HMR1 HMR0
(W)
(0)
外部アドレス出力制御レジスタ bit 7
9
8
LMR1 LMR0
(W)
(0)
(W)
(1)
(W)
(1)
(-)
(-)
(-)
(-)
(W)
(0)
(W)
(0)
6
5
4
3
2
1
0
アドレス:0000A6H
E23
E22
E21
E20
E19
E18
E17
E16
リード/ライト
初期値
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
14
13
12
11
10
9
8
バス制御信号選択レジスタ
132
14
bit 15
アドレス:0000A7H
CKE
RYE
HDE
リード/ライト
初期値
(W)
(0)
(W)
(0)
(W)
(0)
IOBS HMBS WRE
(W)
(0)
(W)
(0)
(W)
(0)
LMBS
(W)
(0)
ARSR
HACR
ECSR
(-)
(-)
第 7 章 メモリアクセスモード
7.2.2
自動レディ機能選択レジスタ (ARSR)
自動レディ機能選択レジスタ (ARSR) は , 外部アクセス時 , 領域ごとのメモリアクセ
スの自動ウェイト時間を設定します。
■ 自動レディ機能選択レジスタ (ARSR)
図 7.2-3 自動レディ機能選択レジスタの構成
自動レディ機能選択レジスタ bit 15
アドレス:0000A5H
リード/ライト
初期値
14
13
12
11
10
IOR1 IOR0 HMR1 HMR0
(W)
(0)
(W)
(0)
(W)
(1)
(W)
(1)
9
8
LMR1 LMR0
(-)
(-)
(-)
(-)
(W)
(0)
ARSR
(W)
(0)
[bit15, bit14] IOR1, IOR0
IOR1, IOR0 ビットでは ,0000C0H ∼ 0000FFH の領域に対する外部アクセスを行ったと
きの自動ウェイト機能を指定します。IOR1, IOR0 ビットの組合せで , 表 7.2-1 に示すよ
うな設定になります。
表 7.2-1 IOR1, IOR0( 自動ウェイト機能指定ビット ) の機能
IOR1
IOR0
0
0
自動ウェイト禁止 [ 初期値 ]
0
1
外部アクセス時 ,1 サイクルの自動ウェイトが入る
1
0
外部アクセス時 ,2 サイクルの自動ウェイトが入る
1
1
外部アクセス時 ,3 サイクルの自動ウェイトが入る
機能
[bit13, bit12] HMR1, HMR0
HMR1, HMR0 では ,800000H ∼ FFFFFFH の領域に対する外部アクセスを行ったときの
自動ウェイト機能を指定します。HMR1, HMR0 ビットの組合せで , 表 7.2-2 に示すよう
な設定になります。
表 7.2-2 HMR1, HMR0( 自動ウェイト機能指定ビット ) の機能
HMR1
HMR0
0
0
自動ウェイト禁止
0
1
外部アクセス時 ,1 サイクルの自動ウェイトが入る
1
0
外部アクセス時 ,2 サイクルの自動ウェイトが入る
1
1
外部アクセス時 ,3 サイクルの自動ウェイトが入る [ 初期値 ]
機能
133
第 7 章 メモリアクセスモード
[bit9, bit8] LMR1, LMR0
LMR1, LMR0 では ,002000H ∼ 7FFFFFH の領域に対する外部アクセスを行ったときの自
動ウェイト機能を指定します。LMR1, LMR0 ビットの組合せで , 表 7.2-3 に示すような
設定になります。
表 7.2-3 LMR1, LMR0( 自動ウェイト機能指定ビット ) の機能
134
LMR1
LMR0
0
0
自動ウェイト禁止 [ 初期値 ]
0
1
外部アクセス時 ,1 サイクルの自動ウェイトが入る
1
0
外部アクセス時 ,2 サイクルの自動ウェイトが入る
1
1
外部アクセス時 ,3 サイクルの自動ウェイトが入る
機能 [ 初期値 ]
第 7 章 メモリアクセスモード
7.2.3
外部アドレス出力制御レジスタ (HACR)
外部アドレス出力制御レジスタ (HACR) は , アドレス (A23 ∼ A16) の外部への出力
を制御するレジスタです。各ビットが , それぞれアドレス A23 ∼ A16 に対応し , 各
アドレス出力端子を 図 7.2-4 に示すように制御します。
■ 外部アドレス出力制御レジスタ (HACR)
図 7.2-4 外部アドレス出力制御レジスタの構成
外部アドレス出力制御レジスタ bit 7
6
5
4
3
2
1
0
アドレス:0000A6H
E23
E22
E21
E20
E19
E18
E17
E16
リード/ライト
初期値
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
HACR
HACR レジスタは外部回路へのアドレス (A23 ∼ A16) の出力を制御します。8 ビット
がA23∼A16のアドレスビットに対応し,下記のようにアドレス出力端子を制御します。
HACR レジスタは , デバイスがシングルチップモード時にはアクセスすることができ
ません。
その場合,本レジスタの値にかかわらず,全端子がI/Oポートとして機能します。
このレジスタの全ビットは , すべて書込み専用で , 読み出しでは "1" となります。
表 7.2-4 外部アドレス出力制御レジスタ(E23 ∼ E16 ビット)の機能
0
対応する端子はアドレス出力 (A23 ∼ A16) になります。[ 初期値 ]
1
対応する端子は I/O ポート (P27 ∼ P20) になります。
135
第 7 章 メモリアクセスモード
7.2.4
バス制御信号選択レジスタ (ECSR)
バス制御信号選択レジスタ (ECSR) は , 外部バスモード時のバス動作の制御機能を設
定するレジスタです。デバイスがシングルチップモード時にはアクセスすることが
できません。その場合 , 本レジスタの値にかかわらず , 全端子が I/O ポートとして機
能します。バス制御信号選択レジスタのビットは , すべて書込み専用で , 読出しでは
"1" となります。
■ バス制御信号選択レジスタ (ECSR)
図 7.2-5 バス制御信号選択レジスタの構成
バス制御信号選択レジスタ
bit 15
14
13
アドレス:0000A7H
CKE
RYE
HDE
リード/ライト
初期値
(W)
(0)
(W)
(0)
(W)
(0)
12
11
10
IOBS HMBS WRE
(W)
(0)
(W)
(0)
(W)
(0)
9
8
LMBS
(W)
(0)
ECSR
(-)
(-)
[bit15] CKE
CKE ビットでは , 外部クロック信号端子 (CLK) の出力を 表 7.2-5 に示すように制御し
ます。
表 7.2-5 CKE(外部クロック (CLK) 出力制御ビット)の機能
0
I/O ポート (P37) 動作(クロック出力禁止)[ 初期値 ]
1
クロック信号 (CLK) 出力許可
[bit14] RYE
RYE ビットでは , 外部レディ(RDY) 信号端子の入力を , 表 7.2-6 に示すように制御しま
す。
表 7.2-6 RYE(外部レディ (RDY) 入力制御ビット)の機能
0
I/O ポート (P36) 動作(外部 RDY 入力禁止)[ 初期値 ]
1
外部レディ (RDY) 入力許可
[bit13] HDE
HDE ビットは , ホールド関係の信号の入出力許可を指定します。HDE ビットの設定に
より , ホールド要求入力信号 (HRQ) とホールドアクノリッジ出力信号 (HAK) の 2 本を
表 7.2-7 に示すように制御します。
136
第 7 章 メモリアクセスモード
表 7.2-7 HDE(ホールド関連端子の入出力許可指定ビット)の機能
0
I/O ポート (P35, P34) 動作(ホールド機能入出力禁止)[ 初期値 ]
1
ホールド要求 (HRQ) 入力 / ホールドアクノリッジ (HAK) 出力許可
[bit12] IOBS
IOBS ビットでは , 外部データバス 16 ビットモード時に ,0000C0H ∼ 0000FFH の領域に
対する外部アクセスを行ったときのバス幅を指定します。本ビットの設定により , 表
7.2-8 に示すように制御します。
表 7.2-8 IOBS (バス幅指定ビット)
0
16 ビットバス幅アクセス [ 初期値 ]
1
8 ビットバス幅アクセス
[bit11] HMBS
HMBS ビットは , 外部データバス 16 ビットモード時に ,800000H ∼ FFFFFFH の領域に
対する外部アクセスを行ったときのバス幅を指定します。本ビットの設定により , 表
7.2-9 に示すように制御します。
表 7.2-9 HMBS(バス幅指定ビット)の機能
0
16 ビットバス幅アクセス [ 初期値 ]
1
8 ビットバス幅アクセス
[bit10] WRE
WRE ビットは , 外部ライト信号(外部データバス 16 ビットモードの場合は WRH/WRL
両端子 , 外部データバス 8 ビットモードの場合は WR 端子)の出力を , 表 7.2-10 に示す
ように制御します。
外部データバス 8 ビットモードの場合は , 本ビットの設定値に関係なく ,P33 は I/O ポー
トとして機能します。
表 7.2-10 WRE(外部ライト信号出力制御ビット)の機能
0
I/O ポート (P33, P32) 動作(ライト信号出力禁止)[ 初期値 ]
1
ライトストローブ信号(WRH/WRL または WR のみ)の出力許可
137
第 7 章 メモリアクセスモード
[bit9] LMBS
LMBS ビットは , 外部データバス 16 ビットモード時に ,002000H ∼ 7FFFFFH の領域に
対する外部アクセスを行ったときのバス幅を指定します。本ビットの設定により , 表
7.2-11 のように制御します。
表 7.2-11 LMBS(バス幅指定ビット)の機能
< 注意事項 >
138
0
16 ビットバス幅アクセス [ 初期値 ]
1
8 ビットバス幅アクセス
• 外部データバス 16 ビットモード時 ,WRE ビットにて WR, WRH, WRL 機能を許
可する場合は ,P33, P32 を入力モードにしてください(DDR3 レジスタの
bit3,bit2 は "0" にしてください)
。
• 外部データバス 8 ビットモード時 ,WRE ビットにて WR 機能を許可する場合は , P32
を入力モードにしてください(DDR3 レジスタの bit2 は "0" にしてください)。
• また ,RYE, HDE ビットにて RDY, HRQ 信号入力を許可した場合でも , そのポー
トの I/O ポート機能は有効となります。そのため , そのポートに対応する DDR3
レジスタに , 必ず "0"(入力モード)を書き込みます。
第 7 章 メモリアクセスモード
7.3
外部メモリアクセス制御信号の動作
外部メモリへのアクセスは , レディ機能を使用しない場合は 3 サイクルで行います。
外部 16 ビットバスモードでの 8 ビットバス幅アクセスは ,8 ビット幅の周辺チップ
と 16 ビット幅の周辺チップを混在して外部バスに接続した場合に ,8 ビット幅の周
辺チップをリード / ライトするための機能です。
■ 外部メモリアクセス制御信号
外部データバス 16 ビットモードで 16 ビットバス幅アクセスを行うか 8 ビットバス幅
アクセスを行うかは ,ECSR レジスタの HMBS/LMBS/IOBS ビットで指定することにな
ります。
なお , アドレス出力と ALE 信号のアサート出力のみを行い ,RD/WRL/WRH/WR をア
サートしないことにより実際にはバス動作を行わない場合があります。ALE 信号のみ
で , 周辺チップへのアクセスを実行することがないようにしてください。
図 7.3-1 外部データバス 8 ビットモードのアクセスタイミングチャート
リード
ライト
リード
P37/CLK
P33/WRH
(ポートデータ)
P32/WRL/WR
P31/RD
P30/ALE
P27/A23~P20/A16
リードアドレス
ライトアドレス
リード
アドレス
P17/AD15~P10/AD08
リードアドレス
ライトアドレス
リード
アドレス
P07/AD07~P00/AD00
リード
アドレス
ライト
アドレス
リードデータ
リード
アドレス
ライトデータ
139
第 7 章 メモリアクセスモード
図 7.3-2 外部データバス 16 ビットモードのアクセスタイミングチャート
(16 ビットバス幅アクセス , 8 ビットバス幅アクセス時)
8ビットバス幅バイトリード
偶数アドレスバイトリード
8ビットバス幅バイトライト
偶数アドレスバイトライト
P37/CLK
P33/WRH
P32/WRL/WR
P31/RD
P30/ALE
P27/A23~P20/A16
P17/AD15~P10/AD08
リード
アドレス
P07/AD07~P00/AD00
リード
アドレス
リード
アドレス
ライトアドレス
リードアドレス
無効
ライト
アドレス
(不定)
リード
アドレス
ライト
アドレス
リードデータ
奇数アドレスバイトリード
リード
アドレス
ライトデータ
奇数アドレスバイトライト
P37/CLK
P33/WRH
P32/WRL/WR
P31/RD
P30/ALE
P27/A23~P20/A16
リードアドレス
P17/AD15~P10/AD08
リード
アドレス
P07/AD07~P00/AD00
リード
アドレス
ライト
アドレス
無効
リード
アドレス
ライト
アドレス
リードデータ
偶数アドレスワードリード
リード
アドレス
ライトアドレス
(不定)
リード
アドレス
ライトデータ
偶数アドレスワードライト
P37/CLK
P33/WRH
P32/WRL/WR
P31/RD
P30/ALE
リード
アドレス
P27/A23~P20/A16
リードアドレス
P17/AD15~P10/AD08
リード
アドレス
ライト
アドレス
リード
アドレス
P07/AD07~P00/AD00
リード
アドレス
ライト
アドレス
リード
アドレス
ライトアドレス
リードデータ
ライトデータ
( 注意事項 )
常にワードで読み出すように外部回路を設定してください。
P36/RYD 端子 , または自動レディ機能選択レジスタ (ARSR) の設定により , 低速のメモリや周辺
回路へのアクセスが可能となります。
140
第 7 章 メモリアクセスモード
7.3.1
レディ機能
P36/RDY 端子 , または自動レディ機能選択レジスタ (ARSR) の設定により , 低速の
メモリや周辺回路へのアクセスが可能となります。
バス制御信号選択レジスタ (ECSR) 中の RYE ビットが "1" に設定されている場合 ,
外部回路へのアクセス時に P36/RDY 信号に "L" レベルが入力されている期間ウェイ
トサイクルとなり , アクセスサイクルを延ばすことが可能です。
■ レディ機能
図 7.3-3 レディ機能タイミングチャート
偶数アドレスワードリード
偶数アドレスワードライト
P37/CLK
P33/WRH
P32/WRL/WR
P31/RD
P30/ALE
P27/A23~P20/A16
リードアドレス
ライトアドレス
P17/AD15~P10/AD08
リード
アドレス
ライト
アドレス
P07/AD07~P00/AD00
リード
アドレス
ライト
アドレス
P36/RDY
RDY端子取込み
ライトデータ
リードデータ
偶数アドレスワードライト
偶数アドレスワードリード
P37/CLK
P33/WRH
P32/WRL/WR
P31/RD
P30/ALE
P27/A23~P20/A16
リードアドレス
ライトアドレス
P17/AD15~P10/AD08
ライト
アドレス
リードアドレス
P07/AD07~P00/AD00
ライト
アドレス
リードアドレス
ライトデータ
オートレディにより延びたサイクル
141
第 7 章 メモリアクセスモード
MB90440G は , 外部メモリアクセス用のオートレディ機能を 2 種類内蔵しています。
オートレディ機能は , アドレス 002000H ∼ 7FFFFFH 間に配置した下位アドレス外部領
域へのアクセスが発生したときと , アドレス 800000H ∼ FFFFFFH 間に配置した上位ア
ドレス外部領域へのアクセスが発生したときに , 外部回路なしで自動的に 1 ∼ 3 サイク
ルのウェイトサイクルを挿入し,アクセスサイクルを延ばすことができる機能で,ARSR
中の LMR1/LMR0 ビット(下位アドレス外部領域)および ARSR 中の HMR1/HMR0
ビット(上位アドレス外部領域)の設定により起動します。
さらに ,MB90440G は I/O 用のオートレディ機能をメモリ用とは独立に内蔵しています。
ARSR レジスタの IOR1/IOR0 ビットを "0" に設定すると , アドレス 0000C0H ∼ 0000FFH
間の外部領域へのアクセス時に , 外部回路なしで自動的に 1 ∼ 3 サイクルのウェイトサ
イクルを挿入し , アクセスサイクルを延ばすことができます。
外部メモリ用 , 外部 I/O 用のオートレディどちらでも ECSR 中の RYE ビットが "1" に
設定されている場合,上記オートレディ機能によるウェイトサイクル終了後にP36/RDY
端子に "L" レベルが入力されているとそのままウェイトサイクルを継続します。
142
第 7 章 メモリアクセスモード
7.3.2
ホールド機能
バス制御信号選択レジスタ (ECSR) 中の HDE ビットが "1" に設定されている場合 ,
P34/HRQ, P35/HAK 両端子による外部アドレスホールド機能が有効となります。
■ ホールド機能
P34/HRQ 端子に "H" レベルを入力すると ,CPU の命令の終了時(ストリング命令の場
合は "1" エレメントデータの処理の終了時)にてホールド状態となり ,P35/HAK 端子よ
り "L" レベル信号を出力して以下の端子をハイインピーダンス状態にします。
• アドレス出力 :P27/A23 ∼ P20/A16
• データ入出力 :P17/AD15 ∼ P10/AD08, P07/AD07 ∼ P00/AD00
• バス制御信号 :P30/ALE, P31/RD, P32/WRL/WR, P33/WRH
これにより , デバイス外部回路により外部バスを使用することが可能となります。P34/
HRQ 端子に "L" レベル信号を入力すると ,P35/HAK 端子は "H" レベル出力となり , 外
部端子状態が復活してバスは動作を再開します。STOP 状態においては , ホールド要求
入力は受け付けません。
図 7.3-4 ホールドタイミング
ホールドサイクル
リードサイクル
ライトサイクル
P37/CLK
P34/HRQ
P35/HAK
P33/WRH
P32/WRL/WR
P31/RD
P30/ALE
P27/A23~P20/A16
(アドレス)
(アドレス)
P17/AD15~P10/AD08
(アドレス)
P07/AD07~P00/AD00
(アドレス)
リードデータ
ライトデータ
143
第 7 章 メモリアクセスモード
144
第8章
I/O ポート
I/O ポートの機能について説明します。
8.1 I/O ポート
8.2 I/O ポートの入力レベル
8.3 I/O ポートのレジスタ一覧
145
第 8 章 I/O ポート
8.1
I/O ポート
それぞれのポートの各端子は , 対応する周辺が端子を用いない設定となっているとき ,
ポート方向レジスタ (DDR) の設定により入力 , 出力の指定を行うことができます。
■ I/O ポートの概要
端子が入力と指定されている場合は , 端子の論理レベルが読み出されます。端子が出力
と指定されている場合は , データレジスタ値が読み出されます。これは , リードモディ
ファイライト命令のリードでも同じです。
端子がほかの周辺機能の出力として使用されている場合は,データレジスタの値に関係
なく , 端子の論理レベルが読み出されます。
通常は , ポートを出力に設定するのに先立って , リードモディファイライト系の命令を
データレジスタの設定に使用しない , および周辺機能の出力を切ることをお勧めしま
す。これは , この場合のリードモディファイライト命令がレジスタ値ではなく , ポート
の論理レベルを読み出すことになるからです。
図 8.1-1 に ,I/O ポートのブロックダイヤグラムを示します。
図 8.1-1 I/O ポートのブロックダイヤグラム
内部データバス
データレジスタリード
データレジスタ
データレジスタライト
方向レジスタ
方向レジスタライト
方向レジスタリード
146
端子
第 8 章 I/O ポート
8.2
I/O ポートの入力レベル
I/O ポートの入力レベルは , ポート入力レベル選択レジスタ (PILR) によって選択で
きます。
■ I/O ポートの入力レベル
MB90440G シリーズでは , 初期状態において ,P00 ∼ P07, P10 ∼ P17, P20 ∼ P27, P30 ∼
P37 端子は TTL レベル , ほかのポート端子は CMOS ヒステリシスレベルで動作してい
ますが ,PILR レジスタにより P00 ∼ P07, P10 ∼ P17, P20 ∼ P27, P30 ∼ P37 端子の入力
レベルは CMOS ヒステリシスレベルに , ほかのポート端子は特殊ヒステリシスレベル
に変えることができます (「8.3 I/O ポートのレジスタ一覧」を参照 )。
ほかのすべてのポートでは,入力レベルはポートごとにオートモーティブレベルに変更
可能です。これは PILR レジスタの使用で可能となります (「8.3 I/O ポートのレジスタ
一覧」を参照 )。
< 注意事項 >
PILR レジスタは各リセットにより初期化されます。初期状態と異なった入力レベル
を使用したい場合は , このことを考慮して使用してください。
147
第 8 章 I/O ポート
8.3
I/O ポートのレジスタ一覧
I/O ポートの各レジスタのビット構成を , 図 8.3-1 に示します。
■ I/O ポートのレジスタ一覧
図 8.3-1 I/O ポートのレジスタ一覧
bit 15/7
14/6
13/5 12/4
11/3 10/2
9/1
8/0
アドレス:000000H
P07
P06
P05
P04
P03
P02
P01
P00
ポート0データレジスタ(PDR0)
アドレス:000001H
P17
P16
P15
P14
P13
P12
P11
P10
ポート1データレジスタ(PDR1)
アドレス:000002H
P27
P26
P25
P24
P23
P22
P21
P20
ポート2データレジスタ(PDR2)
アドレス:000003H
P37
P36
P35
P34
P33
P32
P31
P30
ポート3データレジスタ(PDR3)
アドレス:000004H
P47
P46
P45
P44
P43
P42
P41
P40
ポート4データレジスタ(PDR4)
アドレス:000005H
P57
P56
P55
P54
P53
P52
P51
P50
ポート5データレジスタ(PDR5)
アドレス:000006H
P67
P66
P65
P64
P63
P62
P61
P60
ポート6データレジスタ(PDR6)
アドレス:000007H
P77
P76
P75
P74
P73
P72
P71
P70
ポート7データレジスタ(PDR7)
アドレス:000008H
P87
P86
P85
P84
P83
P82
P81
P80
ポート8データレジスタ(PDR8)
アドレス:000009H
P97
P96
P95
P94
P93
P92
P91
P90
ポート9データレジスタ(PDR9)
PA0
ポートAデータレジスタ(PDRA)
アドレス:00000AH
bit 15
アドレス:00000BH
L7
bit 15/7
14
13
12
11
10
9
8
L6
L5
L4
L3
L2
L1
L0
9/1
8/0
14/6
13/5 12/4
11/3 10/2
アドレス:000010H
D07
D06
D05
D04
D03
D02
D01
D00
ポート0方向レジスタ(DDR0)
アドレス:000011H
D17
D16
D15
D14
D13
D12
D11
D10
ポート1方向レジスタ(DDR1)
アドレス:000012H
D27
D26
D25
D24
D23
D22
D21
D20
ポート2方向レジスタ(DDR2)
アドレス:000013H
D37
D36
D35
D34
D33
D32
D31
D30
ポート3方向レジスタ(DDR3)
アドレス:000014H
D47
D46
D45
D44
D43
D42
D41
D40
ポート4方向レジスタ(DDR4)
アドレス:000015H
D57
D56
D55
D54
D53
D52
D51
D50
ポート5方向レジスタ(DDR5)
アドレス:000016H
D67
D66
D65
D64
D63
D62
D61
D60
ポート6方向レジスタ(DDR6)
アドレス:000017H
D77
D76
D75
D74
D73
D72
D71
D70
ポート7方向レジスタ(DDR7)
アドレス:000018H
D87
D86
D85
D84
D83
D82
D81
D80
ポート8方向レジスタ(DDR8)
アドレス:000019H
D97
D96
D95
D94
D93
D92
D91
D90
ポート9方向レジスタ(DDR9)
DA0
ポートA方向レジスタ(DDRA)
アドレス:00001AH
bit 15/7
14/6
13/5 12/4
11/3 10/2
アドレス:00001CH
PU07 PU06
PU05 PU04
PU03 PU02
PU01 PU00
ポート0プルアップ制御レジスタ(PUCR0)
アドレス:00001DH
PU17 PU16
PU15 PU14
PU13 PU12
PU11 PU10
ポート1プルアップ制御レジスタ(PUCR1)
アドレス:00001EH
PU27 PU26
PU25 PU24
PU23 PU22
PU21 PU20
ポート2プルアップ制御レジスタ(PUCR2)
アドレス:00001EH
PU37 PU36
PU35 PU34
PU33 PU32
PU31 PU30
ポート3プルアップ制御レジスタ(PUCR3)
bit 15
アドレス:00001BH
148
ポート入力レベル選択レジスタ(PILR)
14
ADE7 ADE6
13
12
ADE5 ADE4
11
10
ADE3 ADE2
9/1
9
8/0
8
ADE1 ADE0
ポート6アナログ入力許可レジスタ(ADER)
第 8 章 I/O ポート
8.3.1
ポートデータレジスタ (PDR)
ポートデータレジスタ (PDR) のビット構成の詳細を , 図 8.3-2 に示します。
■ ポートデータレジスタ (PDR)
図 8.3-2 ポートデータレジスタ (PDR)
bit 7
6
5
4
3
2
1
0
P06
P05
P04
P03
P02
P01
P00
bit 15
PDR1
P17
アドレス:000001H
14
13
12
11
10
9
8
P16
P15
P14
P13
P12
P11
P10
bit 7
PDR2
P27
アドレス:000002H
6
5
4
3
2
1
0
P26
P25
P24
P23
P22
P21
P20
bit 15
PDR3
P37
アドレス:000003H
14
13
12
11
10
9
8
P36
P35
P34
P33
P32
P31
P30
bit 7
PDR4
P47
アドレス:000004H
6
5
4
3
2
1
0
P46
P45
P44
P43
P42
P41
P40
bit 15
PDR5
P57
アドレス:000005H
14
13
12
11
10
9
8
P56
P55
P54
P53
P52
P51
P50
bit 7
PDR6
P67
アドレス:000006H
6
5
4
3
2
1
0
P66
P65
P64
P63
P62
P61
P60
bit 15
PDR7
P77
アドレス:000007H
14
13
12
11
10
9
8
P76
P75
P74
P73
P72
P71
P70
bit 7
PDR8
P87
アドレス:000008H
6
5
4
3
2
1
0
P86
P85
P84
P83
P82
P81
P80
14
13
12
11
10
9
8
P96
P95
P94
P93
P92
P91
P90
6
5
4
3
2
1
0
PDR0
アドレス:000000H
P07
bit 15
PDR9
アドレス:000009H
P97
bit 7
PDRA
アドレス:00000AH
PA0
初期値
アクセス
不定
R/W
*
不定
R/W
*
不定
R/W
*
不定
R/W
*
不定
R/W
*
不定
R/W
*
不定
R/W
*
不定
R/W
*
不定
R/W
*
不定
R/W
*
不定
R/W
*
*:入出力ポートのR/Wは,メモリへのR/Wとは多少動作が異なり,次のとおりになりますので
注意してください。
○入力モード
リード時:対応する端子のレベルが読み出されます。
ライト時:出力用のラッチに書き込まれます。
○出力モード
リード時:データレジスタラッチの値が読み出されます。
ライト時:出力用のラッチに書き込まれ,対応する端子に出力されます。
149
第 8 章 I/O ポート
8.3.2
ポート入力レベル選択レジスタ (PILR)
ポート入力レベル選択レジスタ (PILR) のビット構成を 図 8.3-3 に示します。
■ ポート入力レベル選択レジスタ (PILR)
図 8.3-3 ポート入力レベル選択レジスタ (PILR) のビット構成
ポート入力レベル選択レジスタ bit 15
14
13
12
11
10
9
8
L7
L6
L5
L4
L3
L2
L1
L0
アドレス:00000BH
リード/ライト
初期値
PILR
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0) (0) (0) (0) (0) (0) (0) (0)
表 8.3-1 に PILR レジスタの設定ビットとポート入力レベルの関係を示します。PILR レ
ジスタは各リセットにより初期化されます。初期状態と異なった入力レベルを使用し
たい場合は , このことを考慮して使用してください。
表 8.3-1 ポート入力レベル選択レジスタ
150
ビット名
対応ポート
ポート入力レベル
初期値
L0
P00 ∼ P07
P10 ∼ P 17
P20 ∼ P 27
P30 ∼ P 37
0:TTL レベル
1:CMOS ヒステリシス入力レベル
0
L1
P40 ∼ P47
0:CMOS ヒステリシス入力レベル
1: オートモーティブ入力レベル
0
L2
P50 ∼ P57
0:CMOS ヒステリシス入力レベル
1: オートモーティブ入力レベル
0
L3
P60 ∼ P67
0:CMOS ヒステリシス入力レベル
1: オートモーティブ入力レベル
0
L4
P70 ∼ P77
0:CMOS ヒステリシス入力レベル
1: オートモーティブ入力レベル
0
L5
P80 ∼ P87
0:CMOS ヒステリシス入力レベル
1: オートモーティブ入力レベル
0
L6
P90 ∼ P97
0:CMOS ヒステリシス入力レベル
1: オートモーティブ入力レベル
0
L7
PA0
0:CMOS ヒステリシス入力レベル
1: オートモーティブ入力レベル
0
第 8 章 I/O ポート
8.3.3
ポート方向レジスタ (DDR)
ポート方向レジスタ (DDR) のビット構成を 図 8.3-4 に示します。
■ ポート方向レジスタ (DDR)
図 8.3-4 ポート方向レジスタ (DDR)
bit 7
DDR0
アドレス:000010H
D07
bit 15
DDR1
アドレス:000011H
D17
bit 7
DDR2
アドレス:000012H
D27
bit 15
DDR3
アドレス:000013H
D37
bit 7
DDR4
アドレス:000014H
D47
bit 15
DDR5
アドレス:000015H
D57
bit 7
DDR6
アドレス:000016H
D67
bit 15
DDR7
アドレス:000017H
D77
bit 7
DDR8
アドレス:000018H
D87
bit 15
DDR9
アドレス:000019H
D97
bit 7
0
6
5
4
3
2
1
D06
D05
D04
D03
D02
D01
D00
14
13
12
11
10
9
8
D16
D15
D14
D13
D12
D11
D10
6
5
4
3
2
1
0
D26
D25
D24
D23
D22
D21
D20
14
13
12
11
10
9
8
D36
D35
D34
D33
D32
D31
D30
6
5
4
3
2
1
0
D46
D45
D44
D43
D42
D41
D40
14
13
12
11
10
9
8
D56
D55
D54
D53
D52
D51
D50
6
5
4
3
2
1
0
D66
D65
D64
D63
D62
D61
D60
14
13
12
11
10
9
8
D76
D75
D74
D73
D72
D71
D70
6
5
4
3
2
1
0
D86
D85
D84
D83
D82
D81
D80
14
13
12
11
10
9
8
D96
D95
D94
D93
D92
D91
D90
6
5
4
3
2
1
0
DDRA
アドレス:00001AH
DA0
初期値
アクセス
00000000B
R/W
00000000B
R/W
00000000B
R/W
00000000B
R/W
00000000B
R/W
00000000B
R/W
00000000B
R/W
00000000B
R/W
00000000B
R/W
00000000B
R/W
-------0B
R/W
各端子がポートとして機能しているときは,対応する各端子を以下のように制御します。
0:入力モード
1:出力モード
リセットで”0”になります。
151
第 8 章 I/O ポート
プルアップ制御レジスタ (PUCR)
8.3.4
プルアップ制御レジスタ (PUCR) のビット構成を 図 8.3-5 に , ブロックダイヤグラ
ムを 図 8.3-6 に示します。
■ プルアップ制御レジスタ (PUCR)
図 8.3-5 プルアップ制御レジスタ (PUCR) のビット構成
プルアップ制御レジスタ
bit 7
アドレス:00001CH
PU07
6
5
4
3
2
1
0
PU06
PU05
PU04
PU03
PU02
PU01
PU00
bit 15
アドレス:00001DH
PU17
14
13
12
11
10
PU16
PU15
PU14
PU13
PU12
9
PU11
8
PU10
PUCR1
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
リード/ライト
初期値
bit 7
アドレス:00001EH
PU27
6
5
4
3
2
1
0
PU26
PU25
PU24
PU23
PU22
PU21
PU20
PUCR2
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
リード/ライト
初期値
bit 15
アドレス:00001FH
リード/ライト
初期値
PUCR0
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
リード/ライト
初期値
PU37
14
13
12
11
10
9
8
PU36
PU35
PU34
PU33
PU32
PU31
PU30
PUCR3
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
■ プルアップ制御レジスタ (PUCR) のブロックダイヤグラム
図 8.3-6 プルアップ制御レジスタ (PUCR) のブロックダイヤグラム
プルアップ抵抗(約50kΩ)
P-ch
データレジスタ
ポート入出力
方向レジスタ
プルアップ制御レジスタ
内部データバス
< 注意事項 >
152
入力モード時のプルアップ抵抗制御を行います。
• 0: 入力モード時プルアップ抵抗なし。
• 1: 入力モード時プルアップ抵抗あり。
出力モード時は意味を持ちません(プルアップ抵抗なし)
。
入出力モードは方向レジスタ (DDR) で決まります。
ハードウェアスタンバイ時とストップモード時 (SPL=1) の場合は , プルアップ抵抗
なしになります(ハイインピーダンス)
。
ポートが外部バスとして使用される場合 , この機能は使用禁止になり , レジスタに
データは書き込まれません。
第 8 章 I/O ポート
8.3.5
アナログ入力許可レジスタ (ADER)
アナログ入力許可レジスタ (ADER) のビット構成を , 図 8.3-7 に示します。
■ アナログ入力許可レジスタ (ADER)
図 8.3-7 アナログ入力許可レジスタ (ADER) のビット構成
アナログ入力許可レジスタ
bit 15
アドレス:00001BH
リード/ライト
初期値
14
13
12
11
10
9
8
ADE7 ADE6
ADE5 ADE4
ADE3 ADE2
ADE1 ADE0
R/W
(1)
R/W
(1)
R/W
(1)
R/W
(1)
R/W
(1)
R/W
(1)
R/W
(1)
ADER
R/W
(1)
アナログ入力許可レジスタ (ADER) は , ポート 6 の各端子を次のように制御します。
• 0: ポート入力モード
• 1: アナログ入力モード
外部端子が A/D 変換器のアナログ入力として使用される場合 , 対応するビットは "1" に
設定してください。
153
第 8 章 I/O ポート
154
第9章
タイムベースタイマ
タイムベースタイマの機能と動作について説明し
ます。
9.1 タイムベースタイマの概要
9.2 タイムベースタイマ制御レジスタ (TBTC)
9.3 タイムベースタイマの動作
155
第 9 章 タイムベースタイマ
タイムベースタイマの概要
9.1
タイムベースタイマは ,18 ビットのタイマのほかにインターバルな割込みを制御す
る回路から構成されています。なお , タイムベースタイマは , クロック選択レジスタ
(CKSCR) 中の MCS ビットおよび SCS ビットに関係なく , メインクロック信号を使
用します。
■ タイムベースタイマのレジスタ
図 9.1-1 タイムベースタイマのレジスタ一覧
タイムベースタイマ制御レジスタ
bit 15
14
アドレス:0000A9H
13
予約
リード/ライト
初期値
(-)
(-)
(R/W)
(1)
(-)
(-)
12
11
10
9
8
TBIE
TBOF
TBR
TBC1
TBC0
TBTC
(R/W) (R/W) (R/W) (R/W) (R/W)
(1)
(0)
(0)
(0)
(0)
■ タイムベースタイマのブロックダイヤグラム
図 9.1-2 タイムベースタイマのブロックダイヤグラム
メインクロック
TBTC
TBC1
セレクタ
TBC0
クロック入力
212
214
216
タイムベースタイマ
219
212
TBTRES
214 216 219
TBR
TBIE
AND
Q
TBOF
S
R
タイムベース
割込み
WDTC
WT1
セレクタ
WT0
2bitカウンタ
OF
CLR
ウォッチドッグ
リセット発生回路
CLR
WDGRST
内部 リセット
発生回路へ
内部データバス
WTE
WTC
WDCS
SCE
AND
SCM
パワーオンリセット*
サブクロック停止
S
R
Q
210
WTC2
WTC1
WTC0
WTOF
214
215
時計タイマ
WTR
WTIE
213
セレクタ
WTRES
AND
Q
S
R
クロック入力
サブクロック/4
時計
割込み
WDTC
PONR
パワーオン発生から
WRST
156
ERST
RST 端子
SRST
LPMCRレジスタの
RSTビットから
第 9 章 タイムベースタイマ
9.2
タイムベースタイマ制御レジスタ (TBTC)
タイムベースタイマ制御レジスタ (TBTC) では , タイムベースタイマの動作を制御し ,
また , インターバル割込みの時間を制御します。
■ タイムベースタイマ制御レジスタ (TBTC)
図 9.2-1 タイムベースタイマ制御レジスタ (TBTC)
タイムベースタイマ制御レジスタ
bit 15
14
アドレス:0000A9H
リード/ライト
初期値
13
予約
(R/W)
(1)
(-)
(-)
(-)
(-)
12
11
10
9
8
TBIE
TBOF
TBR
TBC1
TBC0
TBTC
(R/W) (R/W) (R/W) (R/W) (R/W)
(1)
(0)
(0)
(0)
(0)
[bit15] 予約 : 予約ビット
書込みの値は常に "1" にしてください。
[bit14, bit13] - : 未定義ビット
bit14, bit13 は , 未定義ビットです。
[bit12] TBIE
タイムベースタイマによるインターバル割込みを許可するビットです。"1" のとき割込
み許可 ,"0" のとき割込みを禁止します。リセットにて "0" に初期化します。読み書き
可能なビットです。
[bit11] TBOF
タイムベースタイマの割込み要求フラグです。TBIE ビットが "1" のとき TBOF が ,"1"
になると割込み要求を発生します。TBC1, TBC0 ビットで設定されたインターバルごと
に "1" にセットされます。"0" の書込み , メインストップモードへの遷移 ,PLL ストップ
モードへの遷移 , サブクロックモードからメインクロックモードへの遷移 , サブクロッ
クモードから PLL クロックモードへの遷移 , メインクロックモードから PLL クロック
モードへの遷移 ,TBR ビットへの "0" 書込みおよびリセットによりクリアされます。
"1"
の書込みは意味がありません。
リードモディファイライト系命令における読出し時には "1" が読み出されます。
< 注意事項 >
TBOF ビットをクリアする場合は ,TBIE ビットまたはプロセッサステータス (PS)
のインタラプトレベルマスクレジスタ (ILM) の指定で , タイムベースタイマ割込み
が禁止されている状態で行うようにしてください。
[bit10] TBR
タイムベースタイマのカウンタを全ビット "0" にクリアするビットです。"0" を書き込
むことによりタイムベースタイマをクリアします。"1" の書込みは動作に影響はありま
せん。読出し時は "1" が読めます。
157
第 9 章 タイムベースタイマ
[bit9, bit8] TBC1, TBC0
タイムベースタイマのインターバル時間を設定するビットです。リセットにより "00B"
に初期化されます。読み書き可能なビットです。
表 9.2-1 に , タイムベースタイマ インターバル時間の設定を示します。
表 9.2-1 タイムベースタイマ インターバル時間の設定
158
TBC1
TBC0
0
0
1.024 ms
0
1
4.096 ms
1
0
16.384 ms
1
1
131.072 ms
原発振 4MHz 時のインターバル時間
第 9 章 タイムベースタイマ
9.3
タイムベースタイマの動作
タイムベースタイマは , ウォッチドッグカウンタのクロックソース , メインクロック
と PLL クロック発振安定待ち時間のタイマ , 一定周期ごとに割込みを発生するイン
ターバルタイマとしての機能があります。
■ タイムベースタイマ
タイムベースタイマは,マシンクロックを作成するもとになる発振クロックをカウント
する 18 ビットのカウンタにより構成され , 発振クロックが入力されている間常にカウ
ント動作を続けます。
タイムベースタイマのクリアは , パワーオンリセット , メインストップモードへの遷
移 ,PLL ストップモードへの遷移 , メインクロックモードから PLL クロックモードへの
遷移 , サブクロックモードからメインクロックモードへの遷移 , サブクロックモードか
ら PLL クロックモードへの遷移およびタイムベースタイマ制御レジスタ (TBTC) 内の
TBR ビットへの "0" 書き込みにより行われます。
タイムベースタイマの出力を使用している,ウォッチドッグカウンタとインターバル割
込み機能は , タイムベースカウンタのクリアにより影響を受けます。
■ タイムベースタイマのインターバル割込み機能
タイムベースカウンタの桁上り信号により一定周期ごとに割込みを発生します。タイ
ムベースタイマ制御レジスタレジスタ (TBTC) 内の TBC1, TBC0 ビットで設定されるイ
ンターバル時間ごとに TBOF フラグをセットします。このフラグのセットは , 最後に
タイムベースタイマがクリアされた時間を基準にして行われます。
メインクロックモードから PLL クロックモードに遷移すると , タイムベースタイマは
PLL クロックの発振安定待ちのタイマとして使用するために , タイムベースタイマの
クリアが行われます。
また , サブクロックモードからメインクロックモードに遷移すると , タイムベースタイ
マは発振クロックの発振安定待ちのタイマとして使用するために,タイムベースタイマ
がクリアされます。
メインストップモード ,PLL ストップモードに遷移するとタイムベースタイマは , 復帰
時の発振安定時間待ちのタイマとして使用されるので ,TBOF フラグはモード遷移と同
時にクリアされます。
159
第 9 章 タイムベースタイマ
160
第 10 章
ウォッチドッグタイマ
ウオッチドッグタイマの機能と動作について説明
します。
10.1 ウォッチドッグタイマの概要
10.2 ウォッチドッグタイマ制御レジスタ (WDTC)
10.3 ウォッチドッグタイマの動作
161
第 10 章 ウォッチドッグタイマ
ウォッチドッグタイマの概要
10.1
ウォッチドッグタイマは ,18 ビットのタイムベースタイマ , または 15 ビットの時計
タイマの桁上り信号をクロックソースとする 2 ビットのウォッチドッグカウンタ ,
コントロールレジスタ , ウォッチドッグリセット制御部により構成されています。
■ ウォッチドッグタイマのレジスタ
図 10.1-1 ウォッチドッグタイマのレジスタ一覧
ウォッチドッグタイマ制御レジスタ
bit 7
6
PONR
アドレス:0000A8H
リード/ライト
初期値
(R)
(X)
(-)
(-)
5
4
3
2
1
0
WRST
ERST
SRST
WTE
WT1
WT0
(R)
(X)
(R)
(X)
(R)
(X)
(W)
(1)
(W)
(1)
(W)
(1)
WDTC
■ ウォッチドッグタイマのブロックダイヤグラム
図 10.1-2 ウォッチドッグタイマのブロックダイヤグラム
メインクロック
TBTC
212
TBC1
セレクタ
TBC0
クロック入力
214
タイムベースタイマ
216
19
2
212
TBTRES
214
216
219
TBR
TBIE
AND
Q
TBOF
S
R
タイムベース
割込み
WDTC
WT1
セレクタ
WT0
2bitカウンタ
OF
CLR
ウォッチドッグ
リセット発生回路
CLR
WDGRST
内部 リセット
発生回路へ
内部データバス
WTE
WTC
WDCS
SCE
AND
SCM
パワーオンリセット
サブクロック停止
S
R
Q
210
WTC2
WTC1
WTC0
WTOF
214
215
時計タイマ
WTR
WTIE
213
セレクタ
WTRES
AND
Q
S
R
クロック入力
サブクロック/4
時計
割込み
WDTC
PONR
パワーオン発生から
WRST
162
ERST
RST 端子
SRST
LPMCRレジスタの
RSTビットから
第 10 章 ウォッチドッグタイマ
10.2
ウォッチドッグタイマ制御レジスタ (WDTC)
ウォッチドッグタイマ制御レジスタ (WDTC) は , ウォッチドッグタイマ関連の各種
制御を行うビットと各種リセット要因を識別するビットで構成しています。
■ ウォッチドッグタイマ制御レジスタ (WDTC)
図 10.2-1 ウォッチドッグタイマ制御レジスタ (WDTC)
ウォッチドッグタイマ制御レジスタ
bit 7
アドレス:0000A8H
リード/ライト
初期値
6
PONR
(R)
(X)
(-)
(-)
5
4
3
2
1
0
WRST
ERST
SRST
WTE
WT1
WT0
(R)
(X)
(R)
(X)
(R)
(X)
(W)
(1)
(W)
(1)
(W)
(1)
WDTC
[bit7, bit5 ∼ bit3] PONR, WRST, ERST, SRST
リセットの要因を示すフラグです。各種リセット要因が発生すると , 本ビットは 表
10.2-1 に示すように設定されます。これらのビットはすべて WDTC レジスタのリード
動作後に "0" にクリアされる読出し専用のレジスタです。なお , パワーオン時は ,PONR
ビット以外のリセット要因ビットの内容は定義されません。したがって ,PONR ビット
が "1" のときはこれ以外のビットの内容を無視するようにしてください。
表 10.2-1 リセット要因ビットとリセット要因
PONR
WRST
ERST
SRST
パワーオン
1
-
-
-
ウォッチドッグタイマ
*
1
*
*
外部端子
*
*
1
*
RST ビット
*
*
*
1
リセット要因
*: 前の状態を保持
[bit2] WTE
ウォッチドッグタイマが停止状態のときに本ビットに "0" を書き込むことにより
ウォッチドッグタイマを動作状態にします。2 回目以降の "0" の書込みではウォッチ
ドッグタイマのカウンタをクリアします。"1" の書込みは動作に影響はありません。
ウォッチドッグタイマは , 各種リセットにより停止状態となります。読出し時は "1" が
読み出されます。
163
第 10 章 ウォッチドッグタイマ
[bit1, bit0] WT1, WT0
ウォッチドッグタイマのインターバル時間を選択します。
ウォッチドッグタイマ起動時に書き込まれたデータのみが有効です。ウォッチドッグ
起動時以外の書込みデータは無視されます。また , 時計タイマ制御レジスタ (WTC) 内
の WDCS ビットとクロック選択レジスタ (CKSCR) の SCM ビットによりウォッチドッ
グタイマに入力するクロック信号の選択が行われます(タイムベースタイマ , 時計タイ
マ)。
WT1, WT0 ビットによるインターバル時間の設定を , 表 10.2-2 に示します。
表 10.2-2 WT1, WT0 へのアクセス
*:
< 注意事項 >
164
インターバル時間 *
WDCS
SCM
WT1
1
0
1
WT0
最小
最大
0
約 3.58ms
約 4.61ms
0
1
約 14.33ms
約 18.43ms
1
1
0
約 57.23ms
約 73.73ms
1
1
1
約 458.75ms
約 589.82ms
0
0
0
約 0.457s
約 0.576s
0
0
1
約 3.584s
約 4.608s
0
1
0
約 7.168s
約 9.216s
0
1
1
約 14.336s
約 18.432s
原発振 4MHz, サブ発振クロック 32kHz の場合
インターバル時間は , タイムベースタイマまたは時計タイマの桁上り信号をカウン
トクロックにしているため , タイムベースタイマまたは時計タイマがクリアされる
と , ウォッチドッグタイマのインターバル時間が長くなる場合があります。
タイムベースタイマはタイムベースタイマ制御レジスタ (TBTC) の TBR ビットへの
"0" 書込みのほか , メインクロックモードから PLL クロックモードへの遷移 , サブク
ロックモードからメインクロックモードへの遷移およびサブクロックモードから
PLL クロックモードへの遷移時にもクリアされますので , ご注意ください。
第 10 章 ウォッチドッグタイマ
10.3
ウォッチドッグタイマの動作
ウォッチドッグタイマの機能は , プログラムの暴走を検出することができます。プロ
グラムの暴走などにより , ウォッチドッグタイマの WTE ビットに "0" 書込みが定め
られた時間内に行われなかった場合 , ウォッチドッグタイマよりウォッチドッグリ
セット要求を発生します。
■ ウォッチドッグタイマの起動方法
ウォッチドッグタイマは,ウォッチドッグタイマの停止中にウォッチドッグタイマ制御
レジスタ (WDTC) 内の WTE ビットに "0" を書き込むことによって起動します。このと
き , 同時にウォッチドッグタイマのインターバル時間を WT1, WT0 ビットにより設定
します。インターバルの設定は , この起動のときのデータのみが有効となります。
■ ウォッチドッグタイマのリセット
ウォッチドッグタイマが起動されると , プログラムで定期的に 2 ビットのウォッチドッ
グカウンタをクリアする必要があります。具体的には , ウォッチドッグタイマ制御レジ
スタ (WDTC) 内の WTE ビットに定期的に "0" を書き込む必要があります。ウォッチ
ドッグカウンタは , タイムベースタイマの桁上り信号をクロックソースとする 2 ビット
のカウンタにより構成されています。したがって , タイムベースタイマがクリアされる
と , ウォッチドッグリセットのインターバルが設定より長くなることがあります。
ウォッチドッグタイマの動作を , 図 10.3-1 に示します。
図 10.3-1 ウォッチドッグタイマ動作
タイムベース
ウォッチドッグ
00
01
10
00
01
10
11
00
WTEライト
ウォッチドッグ起動 ウォッチドッグクリア
ウォッチドッグリセット
発生
■ ウォッチドッグカウンタの停止
ウォッチドッグタイマは各種リセットで停止状態となります。
■ ウォッチドッグカウンタのクリア
ウォッチドッグカウンタは , ウォッチドッグタイマ制御レジスタ (WDTC) 内の WTE
ビットに "0" を書き込むほかに , リセットの発生 , スリープモード , ストップモード , 時
計モード , またはホールドアクノリッジ信号への遷移によってクリアされます。
時計モード中は , ウォッチドッグタイマのカウンタはクリアされ , カウントを停止しま
す。
165
第 10 章 ウォッチドッグタイマ
166
第 11 章
時計タイマ
時計タイマの機能と動作について説明します。
11.1 時計タイマの概要
11.2 時計タイマ制御レジスタ (WTC)
11.3 時計タイマの動作
167
第 11 章 時計タイマ
時計タイマの概要
11.1
時計タイマは ,15 ビットのタイマのほかに , インターバル割込みを制御する回路から
構成されています。なお , 時計タイマは , クロック選択レジスタ (CKSCR) 内の MCS
ビットおよび SCS ビットに関係なく , サブクロック信号を使用します。
■ 時計タイマのレジスタ
図 11.1-1 時計タイマ制御レジスタ (WTC)
時計タイマ制御レジスタ bit 7
アドレス:0000AAH
WDCS
リード/ライト
初期値
(R/W)
(1)
6
5
4
3
2
SCE
WTIE
WTOF
WTR
WTC2
1
0
WTC1 WTC0
WTC
(R) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0) (0)
(X)
(0) (0)
(1) (0)
■ 時計タイマのブロックダイヤグラム
図 11.1-2 時計タイマのブロックダイヤグラム
メインクロック
TBTC
TBC1
セレクタ
TBC0
212
クロック入力
214
216
タイムベースタイマ
219
212
TBTRES
214 216 219
TBR
TBIE
AND
Q
TBOF
S
R
タイムベース
割込み
WDTC
WT1
セレクタ
WT0
2bitカウンタ
OF
CLR
ウォッチドッグ
リセット発生回路
CLR
WDGRST
内部 リセット
発生回路へ
内部データバス
WTE
WTC
WDCS
SCE
AND
SCM
パワーオンリセット
サブクロック停止
S
R
Q
210
WTC2
WTC1
WTC0
WTOF
214
215
時計タイマ
WTR
WTIE
213
セレクタ
WTRES
AND
Q
S
R
クロック入力
サブクロック/4
時計
割込み
WDTC
PONR
パワーオン発生から
WRST
168
ERST
RST 端子
SRST
LPMCRレジスタの
RSTビットから
第 11 章 時計タイマ
11.2
時計タイマ制御レジスタ (WTC)
時計タイマ制御レジスタ (WTC) は , 時計タイマの動作を制御します。また , イン
ターバル割込みの時間を制御します。
■ 時計タイマ制御レジスタ (WTC)
図 11.2-1 時計タイマ制御レジスタ (WTC)
時計タイマ制御レジスタ bit 7
アドレス:0000AAH
WDCS
リード/ライト
初期値
(R/W)
(1)
6
5
4
3
2
SCE
WTIE
WTOF
WTR
WTC2
1
0
WTC1 WTC0
WTC
(R) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0) (0)
(X)
(0) (0)
(1) (0)
[bit7] WDCS
マシンクロックにメインクロックまたは PLL クロックを選択しているときに , ウォッ
チドッグタイマの入力クロックとして , 時計タイマのクロック信号を使用するのか , ま
たはタイムベースタイマのクロック信号を使用するのかを選択するビットです。
WDCS=0 で , 時計タイマのクロック信号を選択し ,WDCS=1 でタイムベースタイマのク
ロック信号を選択することができます。WDCS に "1" を設定すると , タイムベースタイ
マ出力はメインクロックまたは PLL クロックを選択する機能に使用され , 時計タイマ
出力はサブクロックを含む機能に使用されます。
リセットにより , 本ビットは "1" に初期化されます。
< 注意事項 >
WDCS を "1" に設定した場合には , タイムベースタイマの出力と時計タイマの出力
は非同期であるため , ウォッチドッグタイマのカウンタが進む可能性があります。
このため ,WDCS を "1" に設定した場合には , クロックモードを変更する前後で ,
ウォッチドッグタイマをクリアする必要があります。
[bit6] SCE
サブクロックの発振安定待ち時間が経過したことを示すビットです。本ビットが "0" の
とき , 発振安定時間が現在進行中であることを示しています。発振安定時間は ,214 サ
イクル(サブクロック)固定です。パワーオンリセット時およびストップ時に , 本ビッ
トは "0" に初期化されます。
[bit5] WTIE
時計タイマによるインターバル割込みを許可するビットです。本ビットが "1" のとき
に割込みを許可し ,"0" のときに割込みを禁止します。リセットにより本ビットは "0" に
初期化されます。読み書き可能なビットです。
169
第 11 章 時計タイマ
[bit4] WTOF
時計タイマの割込みフラグです。WTIE ビットが "1" のときに ,WTOF を "1" に設定す
ると割込み要求が発生します。本ビットは ,WTC1, WTC0 ビットで設定したインター
バル時間ごとに "1" に設定されます。本ビットは ,"0" の書込み , ストップモードへの遷
移およびリセットによりクリアされます。"1" の書込みは動作に影響はありません。
リードモディファイライト命令による読出し時には , 常に "1" が読み出されます。
[bit3] WTR
時計タイマのカウンタを全ビット "0" にクリアするビットです。本ビットに "0" を書き
込むことにより , 時計カウンタをクリアします。"1" の書込みは動作に影響はありませ
ん。常に "1" が読み出されます。
[bit2 ∼ bit0] WTC2, WTC1, WTC0
時計タイマのインターバル時間を設定するビットです。表 11.2-1 にインターバル時間
の設定を示します。リセットにより本ビットは "000B" に初期化されます。読み書き可
能なビットです。
本ビットに書き込むときには ,bit4(WTOF) もクリアしてください。
表 11.2-1 時計タイマ インターバル時間の設定
170
インターバル時間
(サブ発振クロック 32kHz)
WTC2
WTC1
WTC0
0
0
0
31.25 ms
0
0
1
62.5 ms
0
1
0
125 ms
0
1
1
250 ms
1
0
0
500 ms
1
0
1
1.000 s
1
1
0
2.000 s
1
1
1
4.000 s
第 11 章 時計タイマ
11.3
時計タイマの動作
時計タイマは , ウォッチドッグカウンタのクロックソース , サブクロックの発振安定
待ち時間のためのタイマ , 一定周期ごとに割込みを発生するインターバルタイマとし
ての機能があります。
■ 時計タイマ
時計タイマは , サブクロックにより発生する発振入力をカウントする 15 ビットのカウ
ンタにより構成され,サブクロックが入力されている間時計タイマはカウント動作を続
けます。時計タイマのクリアは , パワーオンリセットおよび時計タイマ制御レジスタ
(WTC) 内の WTR ビットへの "0" の書き込みにより行われます。
< 注意事項 >
• 時計タイマの出力を使用しているウォッチドッグカウンタとインターバル割込み
は , 時計カウンタのクリアにより影響を受けます。
• 時計タイマ制御レジスタ (WTC) の WTR ビットへの "0" の書込みにより時計タイ
マをクリアする場合は ,WTIE ビットに "0" を設定し , 時計タイマの割込みを禁止
した状態で行ってください。
また , 割込みを許可する前に ,WTOF フラグへの "0" の書込みによる割込み要求
のクリアを行ってください。
■ 時計タイマのインターバル割込み機能
インターバル割込み機能は,時計カウンタの桁上り信号により一定周期ごとに割込みを
発生します。時計タイマ制御レジスタ (WTC) 内の WTC1, WTC0 ビットで設定される
インターバル時間ごとに WTOF フラグをセットします。このフラグ設定のタイミング
は , 最後に時計タイマがクリアされた時間を基準にして行われます。
ストップモードおよびハードウェアスタンバイモードに遷移すると,時計タイマは復帰
時のサブクロックの発振安定時間待ちのタイマとして使用されるので ,WTOFフラグは
モード遷移と同時にクリアされます。
171
第 11 章 時計タイマ
172
第 12 章
16 ビット入出力タイマ
16 ビット入出力タイマの機能と動作について説明
します。
12.1 16 ビット入出力タイマの概要
12.2 16 ビット入出力タイマのレジスタ
12.3 16 ビットフリーランタイマ
12.4 アウトプットコンペア
12.5 インプットキャプチャ
173
第 12 章 16 ビット入出力タイマ
12.1
16 ビット入出力タイマの概要
MB90440G シリーズは ,16 ビットフリーランタイマモジュール 1 本 , アウトプット
コンペアモジュール 2 本 , インプットキャプチャモジュール 4 本のモジュールから
構成され ,8 個の入力チャネルおよび 4 個の出力チャネルをサポートしています。こ
こでは ,16 ビットフリーランタイマ , アウトプットコンペア 0/1 およびインプット
キャプチャ 0/1 について説明します。残りのモジュールの機能も同様であり , レジス
タアドレスに関しては ,「付録 A I/O マップ」を参照してください。
■ 16 ビットフリーランタイマ
16 ビットフリーランタイマは 16 ビットのアップカウンタ , コントロールレジスタ , プ
リスケーラより構成されています。本タイマカウンタの出力値はインプットキャプ
チャ , アウトプットコンペアの基本時間(ベースタイマ)として使用されます。
• カウンタクロックは 4 種類から選択可能
- 内部クロック 4 種類 (φ/4, φ/16, φ/64, φ/256)
• 割込みはカウンタ値のオーバフロー , コンペアレジスタ 0 とのコンペア一致により
発生可能
• カウンタ値はリセット , ソフトクリア , コンペアレジスタ 0 とのコンペア一致によ
り "0000H" に初期化可能
■ アウトプットコンペア ( モジュールごとに 2 チャネル )
アウトプットコンペアモジュールは 2 本の 16 ビットコンペアレジスタ , コンペア出力
用ラッチ , コントロールレジスタより構成されています。16 ビットフリーランタイマ
値とコンペアレジスタ値が一致したとき出力レベルを反転すると共に割込みを発生す
ることができます。
• 2 本のコンペアレジスタを独立して動作
- 各コンペアレジスタに対応した出力端子と割込みフラグ
• 2 本のコンペアレジスタをペアにして出力端子を制御可能
- コンペアレジスタ 2 本を使用して出力端子を反転する。
• 出力端子の初期値を設定することが可能
• 割込みはコンペア一致により発生可能
174
第 12 章 16 ビット入出力タイマ
■ インプットキャプチャ ( モジュールごとに 2 チャネル )
インプットキャプチャモジュールは独立した 2 本の外部入力端子と対応した 16 ビット
キャプチャレジスタ , コントロールレジスタにより構成されています。外部入力端子よ
り入力された信号の任意エッジを検出することにより 16 ビットフリーランタイマ値を
キャプチャレジスタに保持し , 同時に割込みを発生することができます。
• 外部入力信号の検出エッジを選択可能
- 立上りエッジ , 立下りエッジ , 両エッジから選択可能
• 2 本のインプットチャネルは独立して動作可能
• 割込みは外部入力信号の有効エッジにより発生可能
- インプットキャプチャの割込みによりインテリジェント I/O サービスを起動可能
■ 16 ビット入出力タイマのブロックダイヤグラム
図 12.1-1 に ,16 ビット入出力タイマのブロックダイヤグラムを示します。
図 12.1-1 16 ビット入出力タイマのブロックダイヤグラム
コントロールロジック
各ブロックへ
割込み
16ビットフリーランタイマ
16ビットタイマ1
内部データバス
クリア
アウトプットコンペア0
コンペアレジスタ0
アウトプットコンペア1
コンペアレジスタ1
○
○
T
Q
OUT0
T
Q
OUT1
エッジ選択
IN0
エッジ選択
IN1
インプットキャプチャ0
キャプチャレジスタ0
インプットキャプチャ1
キャプチャレジスタ1
175
第 12 章 16 ビット入出力タイマ
12.2
16 ビット入出力タイマのレジスタ
16 ビット入出力タイマのレジスタには , 次の 3 つがあります。
• 16 ビットフリーランタイマのレジスタ
• 16 ビットアウトプットコンペアのレジスタ
• 16 ビットインプットキャプチャのレジスタ
■ 16 ビット入出力タイマのレジスタ
図 12.2-1 16 ビット入出力タイマのレジスタ
16ビットフリーランタイマのレジスタ
bit 15
0
アドレス:00006CH
タイマカウンタデータレジスタ
TCDT
bit 7
アドレス:00006EH
0
タイマカウンタコントロール
ステータスレジスタ
TCCS
16ビットアウトプットコンペアのレジスタ
bit 15
アドレス: 003928H
00392AH
bit 15
アドレス: 000058H
0
OCCP0/OCCP1
アウトプットコンペアレジスタ0,1
0
OCS1
コンペアコントロールステータス
レジスタ0,1
OCS0
16ビットインプットキャプチャのレジスタ
bit 15
アドレス: 003918H
00391AH
0
インプットキャプチャ
データレジスタ0,1
IPCP0/IPCP1
0
bit 7
アドレス:00004CH
176
ICS01
インプットキャプチャ
コントロールステータスレジスタ0,1
第 12 章 16 ビット入出力タイマ
16 ビットフリーランタイマ
12.3
16 ビットフリーランタイマは ,16 ビットのアップカウンタとコントロールステータ
スレジスタから構成されています。カウント値はアウトプットコンペア , インプット
キャプチャの基本時間(ベースタイマ)として使用されます。
• カウントクロックは 4 種類から選択可能です。
• カウンタオーバフロー割込みを発生することができます。
• モード設定によりアウトプットコンペアのコンペアレジスタ 0 の値との一致に
よるカウンタの初期化が可能です。
■ 16 ビットフリーランタイマのブロックダイヤグラム
図 12.3-1 16 ビットフリーランタイマのブロックダイヤグラム
マシンクロック(φ)
割込み要求
内部データバス
IVF
IVFE STOP MODE CLR
CLK1 CLK0
分周器
(TCCS)
コンパレータ0
16ビットフリーランタイマ
クロック
T15~T00
カウント値出力
177
第 12 章 16 ビット入出力タイマ
12.3.1
16 ビットフリーランタイマのレジスタ
データレジスタは ,16 ビットフリーランタイマのカウント値を読み出すことができ
るレジスタです。カウンタ値はリセット時に "0000H" にクリアされます。このレジ
スタに書き込むことで , タイマ値を設定できますが必ず停止 (STOP=1) 状態で行って
ください。このレジスタはワードアクセスしてください。
■ タイマカウンタデータレジスタ
図 12.3-2 タイマカウンタデータレジスタ
タイマカウンタデータレジスタ1/2
bit 15
14
13
12
アドレス:00006DH
T15 T14 T13 T12
リード/ライト
(R/W) (R/W) (R/W) (R/W)
初期値
(0) (0) (0) (0)
bit 7
アドレス:00006CH
リード/ライト
初期値
T07
11
T11
10
T10
9
T09
8
T08
(R/W) (R/W) (R/W) (R/W)
(0) (0)
(0) (0)
6
5
4
3
2
1
0
T06
T05
T04
T03
T02
T01
T00
TCDT
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0) (0) (0) (0) (0) (0)
(0) (0)
16 ビットフリーランタイマの初期化は次の要因で行われます。
• リセットによる初期化
• コントロールステータスレジスタのクリアビット (CLR) による初期化
• コンペアのコンペアレジスタ 0 とタイマカウンタ値の一致による初期化(モードの
設定が必要です。)
178
第 12 章 16 ビット入出力タイマ
12.3.2
タイマコントロールステータスレジスタ
タイマコントロールステータスレジスタは ,16 ビットフリーランタイマの動作モー
ドの設定 , 起動・停止や割込みの制御を行います。
■ タイマコントロールステータスレジスタ
図 12.3-3 タイマコントロールステータスレジスタ
タイマコントロールステータスレジスタ(TCCS)
bit 7
6
5
アドレス:00006EH
リード/ライト
初期値
予約
IVF
IVFE
4
3
STOP MODE
2
1
0
CLR
CLK1
CLK0
TCCS
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0) (0)
(0) (0)
(0)
(0)
(0) (0)
[bit7] 予約 : 予約ビット
本ビットには必ず "0" を書き込んでください。
[bit6] IVF
16 ビットフリーランタイマの割込み要求フラグです。
16 ビットフリーランタイマがオーバフローを起こしたとき , またはモード設定により
コンペアレジスタ 0 とコンペア一致してカウンタクリアされたときに本ビットは "1" に
セットされます。
割込み要求許可ビット (bit5:IVFE) がセットされていると割込みが発生します。
本ビットは "0" 書込みによりクリアされます。"1" 書込みは意味を持ちません。
リードモディファイ系命令では "1" が読めます。
0
割込み要求なし(初期値)
1
割込み要求あり
[bit5] IVFE
16 ビットフリーランタイマの割込み許可ビットです。本ビットが "1" のとき , 割込み
フラグ (bit6:IVF) が "1" にセットされると割込みが発生します。
0
割込み禁止(初期値)
1
割込み許可
179
第 12 章 16 ビット入出力タイマ
[bit4] STOP
16 ビットフリーランタイマのカウントを停止するためのビットです。
"1" 書込み時にタイマのカウント停止。"0" 書込み時にタイマのカウントを開始。
< 注意事項 >
0
カウント許可(動作)(初期値)
1
カウント禁止(停止)
16 ビットフリーランタイマのカウントが停止すると , アウトプットコンペア動作
も停止。
[bit3] MODE
16 ビットフリーランタイマの初期化条件を設定します。
"0" のときはリセットとクリアビット (bit2:CLR) でカウンタ値を初期化可能。
"1" のときはリセットとクリアビット (bit2:CLR) のほかにアウトプットコンペアのコン
ペアレジスタ 0 の値との一致によりカウンタ値を初期化することができます。
< 注意事項 >
0
リセット , クリアビットによる初期化(初期値)
1
リセット,クリアビット,コンペアレジスタ0による初期化
クリアビットとコンペアレジスタとの一致により , タイマ値の変化点でタイマの初
期値が行われます。
[bit2] CLR
動作中の 16 ビットフリーランタイマ値を "0000H" に初期化するビットです。
"1" 書込み時にカウンタ値を "0000H" に初期化。
"0" を書き込んでも意味を持ちません。
読出し値は常に "0" です。カウンタ値の初期化はカウント値の変化点で行われます。
< 注意事項 >
0
意味を持ちません(初期値)
1
カウンタ値を "0000H" に初期化します
タイマ停止中に初期化する場合はデータレジスタに "0000H" を書き込んでください。
[bit1, bit0] CLK1, CLK0
16 ビットフリーランタイマのカウントクロックを選択します。本ビットに書込み後す
ぐにクロックは変更されますのでアウトプットコンペア,インプットキャプチャが停止
状態のときに変更してください。
CLK1
CLK0
カウントクロック分周比
φ=16MHz
φ= 8MHz
φ= 4MHz
φ= 2MHz
0
0
φ/4
0.25µs
0.5µs
1µs
2µs
0
1
φ/16
1µs
2µs
4µs
8µs
1
0
φ/64
4µs
8µs
16µs
32µs
1
1
φ/256
16µs
32µs
64µs
128 µs
φ: マシンクロック
180
第 12 章 16 ビット入出力タイマ
16 ビットフリーランタイマの動作
12.3.3
16 ビットフリーランタイマは , リセット解除後にカウンタ値 "0000H" よりカウント
を開始します。このカウンタ値が 16 ビットアウトプットコンペアと 16 ビットイン
プットキャプチャの基準時間となります。
■ 16 ビットフリーランタイマの動作
カウンタ値は , 次の 5 つの条件でクリアされます。
• オーバフローが発生したとき。
• アウトプットコンペアレジスタ 0 値とコンペア一致したとき(モード設定が必要)
。
• 動作中に TCCS レジスタの CLR ビットに "1" を書き込んだとき。
• 停止中に TCDC レジスタに "0000H" を書き込んだとき。
• リセット時
割込みはオーバフローが発生したときと , コンペアレジスタ 0 値とコンペア一致してカ
ウンタクリアされたときに発生することができます(コンペア一致割込みはモード設
定が必要です)。
図 12.3-4 オーバフローによるカウンタクリア
カウンタ値
オーバフロー
FFFFH
BFFFH
7FFFH
3FFFH
0000H
時間
リセット
割込み
図 12.3-5 アウトプットコンペアレジスタ 0 値とコンペア一致したときのカウンタクリア
カウンタ値
FFFFH
BFFFH
一致
一致
7FFFH
3FFFH
0000H
時間
リセット
コンペア
レジスタ値
割込み
BFFFH
181
第 12 章 16 ビット入出力タイマ
■ 16 ビットフリーランタイマのタイミング
図 12.3-6 に示すように ,16 ビットフリーランタイマは , 入力されたクロック(内部また
は外部クロック)によりカウントアップされます。外部クロック選択時は立上りエッ
ジ↑でカウントされます。
図 12.3-6 16 ビットフリーランタイマのカウントタイミング
マシンクロック(φ)
外部クロック入力
カウントクロック
カウンタ値
N+1
N
図 12.3-7 に示すように , カウンタのクリアはリセット , ソフトウェアのクリア , コンペ
アレジスタ 0 との一致で行うことができます。リセットとソフトウェアのクリアでの
カウンタクリアはクリア発生とともに行われますが , コンペアレジスタ 0 との一致によ
るカウンタクリアはカウントタイミングに同期して行われます。
図 12.3-7 16 ビットフリーランタイマのクリアタイミング(コンペアレジスタ 0 との一致)
マシンクロック(φ)
N
コンペアレジスタ値
コンペア一致
カウンタ値
182
N
0000
第 12 章 16 ビット入出力タイマ
アウトプットコンペア
12.4
アウトプットコンペアモジュールは , 2 つの 16 ビットコンペアレジスタ , 2 本のコ
ンペア出力端子およびコントロールレジスタから構成されています。コンペアレジ
スタに設定された値と 16 ビットフリーランタイマ値が一致したら , 端子の出力レベ
ルを反転すると共に割込みを発生することができます。
■ アウトプットコンペア
• コンペアレジスタは全部で 2 本あり , 独立して動作させることができます。また , 設
定により 2 本のコンペアレジスタを使い端子の出力を制御可能です。
• 端子の出力初期値を設定することができます。
• 割込みはコンペア一致により発生可能です。
■ アウトプットコンペアのブロックダイヤグラム
図 12.4-1 アウトプットコンペアのブロックダイヤグラム
16ビットタイマカウンタ値(T15~T00)
コンペア制御
T Q
コンペアレジスタ0
OTE0
OUT0
CMOD
内部データバス
16ビットタイマカウンタ値(T15~T00)
T Q
OTE1
OUT1
コンペア制御
コンペアレジスタ1
ICP1 ICP0 ICE1 ICE0
コントロール制御部
コンペア1割込み
コンペア0割込み
各制御ブロック
183
第 12 章 16 ビット入出力タイマ
12.4.1
アウトプットコンペアのレジスタ
16 ビットフリーランタイマと比較する 16 ビット長のコンペアレジスタです。レジ
スタ値は初期値不定ですので設定してから起動許可してください。本レジスタは
ワードアクセスしてください。本レジスタ値と 16 ビットフリーランタイマ値が一致
したときコンペア信号が発生してアウトプットコンペア割込みフラグをセットしま
す。また , 出力許可をしている場合はコンペアレジスタに対応した出力レベルを反転
します。
■ アウトプットコンペアのコンペアレジスタ
図 12.4-2 アウトプットコンペアレジスタ
アウトプットコンペアレジスタ(OCCP0,OCCP1)
bit 15
14
13
12
11
10
9
8
アドレス:003929H
C15 C14 C13 C12 C11 C10 C09 C08
00392BH
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
リード/ライト
(X) (X) (X) (X) (X) (X)
(X) (X)
初期値
bit 7
6
5
4
3
2
1
0
アドレス:003928H
C07 C06 C05 C04 C03 C02 C01 C00
00392AH
リード/ライト
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
初期値
(X) (X) (X) (X) (X) (X)
(X) (X)
184
OCCP0,OCCP1
第 12 章 16 ビット入出力タイマ
12.4.2
アウトプットコンペアのコントロールステータスレ
ジスタ
コントロールステータスレジスタは , アウトプットコンペアの動作モードの設定 , 起
動・停止や割込みの制御 , 外部出力端子の設定を行います。
■ アウトプットコンペアのコントロールステータスレジスタ
図 12.4-3 コントロールステータスレジスタ
コンペアコントロールステータスレジスタ(0/1)
bit 15
14
13
アドレス:000059H
リード/ライト
初期値
リード/ライト
初期値
11
10
CMOD OTE1
(-)
(-)
bit 7
アドレス:000058H
12
(-)
(-)
(-)
(-)
6
9
8
OTE0 OTD1 OTD0
OCS1
(R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
5
4
3
ICP1 ICP0 ICE1 ICE0
(R/W) (R/W) (R/W) (R/W)
(0) (0)
(0)
(0)
2
1
0
CST1 CST0
(-)
(-)
OCS0
(-) (R/W) (R/W)
(0)
(-) (0)
[bit15 ∼ bit13] − : 未使用ビット
[bit12] CMOD
端子出力を許可した場合 (OTE1=1 OR OTE0=1) のコンペア一致における端子出力レベ
ル反転動作モードを切り換えます。
• CMOD=0 のとき(初期値)はコンペアレジスタに対応した端子の出力レベルを反転
します。
- OUT0: コンペアレジスタ 0 の一致によりレベルを反転します。
- OUT1: コンペアレジスタ 1 の一致によりレベルを反転します。
• CMOD=1 のときはコンペアレジスタ 0 は CMOD=0 時と同じく出力レベルを反転し
ますが , コンペアレジスタ 1 に対応した端子 (OUT1) の出力レベルは , コンペアレジ
スタ 0 の一致とコンペアレジスタ 1 の一致の両方で出力レベルを反転します。コン
ペアレジスタ 0 と 1 が同値のときはコンペアレジスタ 1 本のときと同じ動作をしま
す。
- OUT0: コンペアレジスタ 0 の一致によりレベルを反転します。
- OUT1: コンペアレジスタ 0 または 1 の一致によりレベルを反転します。
185
第 12 章 16 ビット入出力タイマ
[bit11, bit10] OTE1,OTE0
アウトプットコンペアの端子出力を許可するビットです。本ビットは初期値 "0" です。
< 注意事項 >
0
汎用ポートとして動作します。(初期値)
1
アウトプットコンペア端子出力になります。
OTE1: アウトプットコンペア 1(OUT1) に対応
OTE0: アウトプットコンペア 0(OUT0) に対応
[bit9, bit8] OTD1, OTD0
アウトプットコンペアの端子出力を許可した場合の端子出力レベルを変更するときに
使用します。コンペア端子出力の初期値は "0" となります。書込み時はコンペア動作
を停止してから行ってください。読出し時はアウトプットコンペア端子出力値が読め
ます。
< 注意事項 >
0
コンペア端子出力を "0" にします(初期値)
1
コンペア端子出力を "1" にします
OTD1: アウトプットコンペア 1 に対応
OTD0: アウトプットコンペア 0 に対応
[bit7, bit6] ICP1, ICP0
アウトプットコンペアの割込みフラグです。コンペアレジスタと 16 ビットフリーラン
タイマ値が一致した場合に "1" にセットされます。割込み要求ビット (ICE1, ICE0) が許
可されているときに本ビットがセットされるとアウトプットコンペア割込みが発生し
ます。本ビットは "0" 書込みによりクリアされ ,"1" 書込みでは意味をもちません。リー
ドモディファイ系命令では "1" が読めます。
< 注意事項 >
0
コンペア一致なし(初期値)
1
コンペア一致あり
ICP1: アウトプットコンペア 1 に対応
ICP0: アウトプットコンペア 0 に対応
[bit5, bit4] ICE1, ICE0
アウトプットコンペアの割込み許可ビットです。本ビットが "1" のとき割込みフラグ
(ICP0, ICP1) がセットされるとアウトプットコンペア割込みが発生します。
< 注意事項 >
186
0
アウトプットコンペア割込み禁止(初期値)
1
アウトプットコンペア割込み許可
ICE1: アウトプットコンペア 1 に対応
ICE0: アウトプットコンペア 0 に対応
第 12 章 16 ビット入出力タイマ
[bit3, bit2] − : 未使用ビット
[bit1, bit0] CST1, CST0
16 ビットフリーランタイマとの一致動作を許可するビットです。
0
コンペア動作禁止 ( 初期値 )
1
コンペア動作許可
コンペア動作許可をする前にコンペアレジスタ値を設定してください。
< 注意事項 >
CST1: アウトプットコンペア 1 に対応
CST0: アウトプットコンペア 0 に対応
< 注意事項 >
アウトプットコンペアは ,16 ビットフリーランタイマのクロックと同期させてい
るため 16 ビットフリーランタイマを停止させるとコンペア動作も停止します。
187
第 12 章 16 ビット入出力タイマ
12.4.3
16 ビットアウトプットコンペアの動作
16 ビットアウトプットコンペアは , 設定されたコンペアレジスタ値と 16 ビットフ
リーランタイマとの値を比較して一致したら割込み要求フラグをセットするととも
に , 出力レベルを反転することができます。
■ コンペアレジスタ 0, 1 を使用したときの出力波形例(出力の初期値は "0" とする)
図 12.4-4 コンペアレジスタ 0, 1 を使用したときの出力波形例
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
0000H
時間
リセット
コンペアレジスタ0値
BFFFH
コンペアレジスタ1値
7FFFH
OUT0
OUT1
コンペア0割込み
コンペア1割込み
コンペアレジスタ 0,1 を使い , 出力レベルを変えることができます(CMOD=0 のとき)
。
■ 2 組のコンペアレジスタによる出力波形例(出力の初期値は "0" とする)
図 12.4-5 2 組のコンペアレジスタによる出力波形例(出力の初期値は "0" とする)
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
0000H
時間
リセット
コンペアレジスタ0値
BFFFH
コンペアレジスタ1値
7FFFH
OUT0
OUT1
コンペア0に
対応
コンペア0と
1に対応
コンペア0割込み
コンペア1割込み
2組のコンペアレジスタを使い,出力レベルを変えることができます(CMOD=1のとき)。
188
第 12 章 16 ビット入出力タイマ
■ アウトプットコンペアのタイミング
アウトプットコンペアは,フリーランタイマと設定したコンペアレジスタの値が一致し
たときにコンペア一致信号が発生して出力値を反転するとともに割込みを発生するこ
とができます。コンペア一致時の出力反転タイミングはカウンタのカウントタイミン
グに同期して行われます。
図 12.4-6 に示すように , コンペアレジスタ書換え時のカウンタ値とはコンペアしませ
ん。
図 12.4-6 コンペアレジスタ書換え時のコンペア動作
N+1
N+2
一致信号は発生しない。
N+1
N
カウンタ値
コンペアレジスタ0値
M
N+3
コンペアレジスタ0
書込み
コンペアレジスタ1値
M
N+3
コンペアレジスタ1
書込み
コンペア0停止
コンペア1停止
図 12.4-7 にアウトプットコンペアの割込みタイミングを , 図 12.4-8 に , アウトプットコ
ンペアの出力端子変化タイミングを示します。
図 12.4-7 アウトプットコンペアの割込みタイミング
マシンクロック(φ)
N+1
N
カウンタ値
N
コンペアレジスタ値
コンペアマッチ
割込み
図 12.4-8 アウトプットコンペアの出力端子変化タイミング
カウンタ値
コンペアレジスタ値
N
N
N+1
N+1
N
コンペアマッチ信号
端子出力
189
第 12 章 16 ビット入出力タイマ
12.5
インプットキャプチャ
インプットキャプチャは外部から入力された信号の立上りエッジ , 立下りエッジまた
は両エッジを検出して , そのときの 16 ビットフリーランタイマ値をレジスタに保持
する機能を持っています。また , エッジ検出時に割込みを発生することができます。
インプットキャプチャは , インプットキャプチャデータレジスタ , コントロールレジ
スタで構成されています。
■ インプットキャプチャ
各インプットキャプチャは , それぞれに対応した外部入力端子を持っています。
● 外部入力の検出エッジを 3 種類から選択可能です。
• 立上りエッジ ( ↑ )
• 立下りエッジ ( ↓ )
• 両エッジ ( ↑↓ )
● 外部入力の有効エッジを検出したときに割込みを発生することができます。
■ インプットキャプチャのブロックダイヤグラム
図 12.5-1 インプットキャプチャの全体ブロックダイヤグラム
キャプチャデータレジスタ0
内部データバス
16ビットタイマカウンタ値
(T15~T00)
キャプチャデータレジスタ1
エッジ検出
IN0
EG11 EG10 EG01 EG00
エッジ検出
IN1
ICP1 ICP0 ICE1 ICE0
割込み
割込み
190
第 12 章 16 ビット入出力タイマ
インプットキャプチャのレジスタ
12.5.1
インプットキャプチャのレジスタは , 次の 2 つがあり , 対応した外部端子入力波形の
有効エッジを検出したとき 16 ビットタイマ値を保持するレジスタです(ワードアク
セスしてください。書込みはできません)。
■ インプットキャプチャデータレジスタ
図 12.5-2 インプットキャプチャデータレジスタ
インプットキャプチャデータレジスタ0/1
bit 15
14
13
12
11
10
9
8
アドレス:003919H
CP15 CP14 CP13 CP12 CP11 CP10 CP09 CP08
00391BH
リード/ライト
(R) (R)
(R) (R) (R)
(R) (R)
(R)
初期値
(X) (X)
(X) (X) (X)
(X) (X)
(X)
bit
7
アドレス:003918H
00391AH
リード/ライト
初期値
6
5
4
3
2
1
0
CP07 CP06 CP05 CP04 CP03 CP02 CP01 CP00
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
IPCP0/IPCP1
(R)
(X)
■ インプットキャプチャコントロールステータスレジスタ
図 12.5-3 インプットキャプチャコントロールステータスレジスタ
インプットキャプチャコントロールステータスレジスタ0/1
bit 7
6
5
4
3
2
1
0
アドレス:00004CH
ICP1 ICP0 ICE1 ICE0 EG11 EG10 EG01 EG00
リード/ライト
初期値
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0) (0)
(0) (0)
(0)
(0)
(0) (0)
ICS01
[bit7, bit6] ICP1, ICP0
インプットキャプチャ割込みフラグです。外部入力端子の有効エッジを検出すると本
ビットを "1" にセットします。割込み許可ビット (ICE0, ICE1) がセットされていると有
効エッジを検出することにより割込みを発生することができます。
本ビットは "0" 書込みによりクリアされます。"1" 書込みは意味を持ちません。リード
モディファイライト系命令では "1" が読めます。
< 注意事項 >
0
有効エッジ検出なし(初期値)
1
有効エッジ検出あり
ICP0: インプットキャプチャ 0 に対応
ICP1: インプットキャプチャ 1 に対応
191
第 12 章 16 ビット入出力タイマ
[bit5, bit4] ICE1, ICE0
インプットキャプチャ割込み許可ビットです。本ビットが "1" のとき割込みフラグ
(ICP0, ICP1) がセットされるとインプットキャプチャ割込みが発生します。
< 注意事項 >
0
割込み禁止(初期値)
1
割込み許可
ICE0: インプットキャプチャ 0 に対応
ICE1: インプットキャプチャ 1 に対応
[bit3 ∼ bit0] EG11, EG10, EG01, EG00
外部入力の有効エッジ極性を指定します。インプットキャプチャ動作許可も兼用して
います。
< 注意事項 >
192
EG11
EG01
EG10
EG00
0
0
エッジ検出なし(停止状態)(初期値)
0
1
立上りエッジ検出 ↑
1
0
立下りエッジ検出 ↓
1
1
両エッジ検出 ↑↓
エッジ検出極性
EG01, EG00: インプットキャプチャ 0 に対応
EG11, EG10: インプットキャプチャ 1 に対応
第 12 章 16 ビット入出力タイマ
16 ビットインプットキャプチャの動作
12.5.2
16 ビットインプットキャプチャは設定された有効エッジを検出すると 16 ビットフ
リーランタイマの値をキャプチャレジスタに取り込んで割込みを発生することとが
できます。
■ インプットキャプチャの取り込みタイミング例
• キャプチャ 0= 立上りエッジ
• キャプチャ 1= 立下りエッジ
• キャプチャ例 = 両エッジ(例として)
図 12.5-4 インプットキャプチャの取り込みタイミング例
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
0000H
時間
リセット
IN0
IN1
IN例
キャプチャ0
不定
キャプチャ1
不定
キャプチャ例
不定
3FFFH
7FFFH
BFFFH
3FFFH
キャプチャ0割込み
キャプチャ1割込み
キャプチャ例割込み
キャプチャ0=立上りエッジ
キャプチャ1=立下りエッジ
キャプチャ例=両エッジ(例として)
■ インプットキャプチャ入力タイミング
図 12.5-5 入力信号に対するキャプチャタイミング
マシンクロック(φ)
カウンタ値
インプットキャプチャ
入力
N
N+1
有効エッジ
キャプチャ信号
インプットキャプチャ
レジスタ
N+1
割込み
193
第 12 章 16 ビット入出力タイマ
194
第 13 章
16 ビットリロードタイマ
( イベントカウント機能付 )
16 ビットリロードタイマ ( イベントカウント機能
付 ) の機能と動作について説明します。
13.1 16 ビットリロードタイマ ( イベントカウント機能付 )
の概要
13.2 16 ビットリロードタイマのレジスタ
13.3 16 ビットリロードタイマの内部クロック動作と外部
クロック動作
13.4 16 ビットリロードタイマのアンダフロー動作
13.5 16 ビットリロードタイマの出力端子機能
13.6 カウンタの動作状態
195
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付 )
13.1
16 ビットリロードタイマ ( イベントカウント機能付 )
の概要
16 ビットリロードタイマ 1 は ,16 ビット のダウンカウンタ ,16 ビット のリロードレ
ジスタ , 入力端子 1 本 (TIN), 出力端子 1 本 (TOT) およびコントロールレジスタで構
成されています。入力クロックとして内部クロック 3 種類と外部クロックを選択で
きます。
■ 16 ビットリロードタイマ ( イベントカウント機能付 ) の概要
出力端子 (TOT) には , リロードモード時にはトグル出力波形を出力し , ワンショット
モード時にはカウント中を示す矩形波を出力します。入力端子 (TIN) は , イベントカウ
ントモード時にイベント入力となり , 内部クロックモード時にはトリガ入力 , または
ゲート入力に使用することができます。
MB90440G シリーズの 16 ビットリロードタイマは 2 つです。
■ インテリジェント I/O サービス (EI2OS) 機能と割込み
本タイマは EI2OS 対応の回路を有しています。このため , 本タイマのアンダフローに
より EI2OS を起動させることができます。
■ 16 ビットリロードタイマのブロックダイヤグラム
図 13.1-1 に ,16 ビットリロードタイマのブロックダイヤグラムを示します。
図 13.1-1 16 ビットリロードタイマのブロックダイヤグラム
16
/
16ビットリロードレジスタ
/
8
リロード
RELD
16ビットダウンカウンタ
/
16
OUTE
内部データバス
OUTL
2
/
OUT
CTL.
GATE
クロックセレクタ
EXCK
CNTE
CSL0
TRG
φ
φ
φ
21
23
25
プリスケーラ
クリア
マシンクロック
IRQ
クリア
EI 2 OS CLR
ポート(TIN)
IN CTL
出力許可
/3
MOD2
MOD1
196
UF
CSL1
トリガ
/
2
/
3
INTE
MOD0
ポート(TOT)
UARTボーレート(ch.0のみ)
A/Dコンバータ(ch.1のみ)
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付 )
■ 16 ビットリロードタイマ
本タイマは 2 つ内蔵されており , 入力端子名 (TIN) と出力端子名 (TOT) は以下のように
なります。
入力端子名 (TIN)
出力端子名 (TOT)
タイマ 1
TIN0
TOT0
タイマ 2
TIN1
TOT1
197
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付 )
13.2
16 ビットリロードタイマのレジスタ
16 ビットリロードタイマのレジスタには , 次の 2 種類があります。
• タイマコントロールステータスレジスタ (TMCSR)
• 16 ビットタイマレジスタ /16 ビットリロードレジスタ (TMR/TMRLR)
■ 16 ビットリロードタイマのレジスタ
図 13.2-1 16 ビットリロードタイマのレジスタ
タイマコントロールステータスレジスタ(上位)
bit 15
14
13
12
アドレス:ch.0 000051H
ch.1 000055H
リード/ライト
初期値
(-)
(-)
タイマコントロールステータスレジスタ(下位)
bit 7
6
5
リード/ライト
初期値
10
9
8
CSL1 CSL0 MOD2 MOD1
(-)
(-)
アドレス:ch.0 000050H
ch.1 000054H
11
(-)
(-)
(-)
(-)
(R/W) (R/W) (R/W) (R/W)
(0) (0) (0) (0)
4
3
MOD0 OUTE OUTL RELD INTE
2
UF
1
0
CNTE TRG
TMCSR
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0) (0) (0) (0) (0) (0) (0) (0)
16ビットタイマレジスタ/16ビットリロードレジスタ(上位)
bit 15
14
13
12
11
10
9
8
アドレス:ch.0 000053H
ch.1 000057H
リード/ライト
初期値
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X) (X) (X) (X) (X) (X) (X) (X)
16ビットタイマレジスタ/16ビットリロードレジスタ(下位)
bit 7
6
5
4
アドレス:ch.0 000052H
ch.1 000056H
リード/ライト
初期値
198
3
2
1
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X) (X) (X) (X) (X) (X) (X) (X)
0
TMR/
TMRLR
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付 )
13.2.1
タイマコントロールステータスレジスタ (TMCSR)
16 ビットタイマの動作モードおよび割込みの制御をします。UF, CNTE, TRG ビッ
ト以外のビットの書換えは ,CNTE=0 のときに行うようにしてください。
■ タイマコントロールステータスレジスタ (TMCSR)
図 13.2-2 タイマコントロールステータスレジスタ (TMCSR)
タイマコントロールステータスレジスタ(上位)
bit 15
14
13
12
アドレス:ch.0 000051H
ch.1 000055H
リード/ライト
初期値
11
CSL1
(-)
(-)
(-)
(-)
タイマコントロールステータスレジスタ(下位)
bit 7
6
5
4
RELD
INTE
アドレス:ch.0 000050H
ch.1 000054H
リード/ライト
初期値
(-)
(-)
(-)
(-)
MOD0
OUTE
OUTL
10
CSL0
9
MOD2
8
MOD1
(R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
3
UF
2
1
CNTE
TRG
0
TMCSR
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
[bit11, bit10] CSL1, CSL0 (Clock SeLect1, 0)
カウントクロックセレクトビットです。選択されるクロックソースを , 表 13.2-1 に示
します。
表 13.2-1 CSL ビット設定クロックソース
クロックソース(マシンサイクル φ=16MHz)
CSL1
CSL0
0
0
φ/21(0.125µs)
0
1
φ/23(0.5µs)
1
0
φ/25(2.0µs)
1
1
外部イベントカウントモード
[bit9 ∼ bit7] MOD2, MOD1, MOD0
動作モードおよび入出力端子の機能を設定するビットです。
MOD2 ビットは , 入出力の機能を選択するビットです。"0" の場合 , 入力端子はトリガ
入力端子となり,有効エッジが入力されるとリロードレジスタの内容をカウンタへロー
ドし , カウント動作を継続します。"1" の場合 , ゲートカウンタモードになり , 入力端
子はゲート入力となり , 有効レベルが入力されている間のみカウントをします。
MOD1, MOD 0 ビットは , 各モードにおける端子の機能の設定を行います。MOD2 ∼
MOD0 ビットの設定を 表 13.2-2 および 表 13.2-3 に示します。
199
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付 )
表 13.2-2 MOD2 ∼ MOD0 ビットの設定方法 (1)
MOD2
MOD1
MOD0
入力端子機能
有効エッジ , レベル
0
0
0
トリガ禁止
−
0
0
1
0
1
0
0
1
1
1
×
0
立上りエッジ
立下りエッジ
トリガ入力
両エッジ
"L" レベル
ゲート入力
1
1
×
"H" レベル
• 内部クロックモード時 (CSL0, CLS1=00, 01, 10)
• 表中の×は , 任意の値
表 13.2-3 MOD2 ∼ MOD ビットの設定方法 (2)
MOD2
MOD1
MOD0
入力端子機能
有効エッジ , レベル
0
0
−
−
0
1
1
0
1
1
立上りエッジ
×
トリガ入力
立下りエッジ
両エッジ
• イベントカウントモード時 (CSL0, CLS1=11)
• 表中の×は , 任意の値
[bit6] OUTE
出力許可ビットです。"0" のとき TOT 端子は汎用ポートになり ,"1" のとき TOT 端子は
タイマ出力端子になります。出力波形はリロードモード時トグル出力となり , ワン
ショットモード時はカウンタ中を示す矩形波出力になります。
[bit5] OUTL
TOT 端子の出力レベルを設定するビットです。
表 13.2-4 OUTE, RELD, OUTL の設定方法
200
OUTE
RELD
OUTL
0
×
×
汎用ポート
1
0
0
カウント中 "H" の矩形波
1
0
1
カウント中 "L" の矩形波
1
1
0
カウントスタート時 "L" のトグル出力
1
1
1
カウントスタート時 "H" のトグル出力
出力波形
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付 )
[bit4] RELD (REloaD)
リロード動作を許可するビットです。"1" のときはリロードモードになり , カウンタの
値が "0000H" → "FFFFH" へのアンダフローと同時にリロードレジスタの内容をカウン
タへロードしてカウント動作を続けます。"0" のときは単発動作モードとなり , カウン
タの値が "0000H" → "FFFFH" へのアンダフローによりカウント動作を停止します。
[bit3] INTE (INTerrupt Enable)
タイマ割込み要求許可ビットです。"1" のとき UF ビットが "1" になると割込み要求を
発生します。"0" のときは UF ビットが "1" であっても割込み要求を発生しません。
[bit2] UF (UnderFlow)
タイマ割込み要求フラグです。カウンタの値が , "0000H" → "FFFFH" へのアンダフロー
により "1" にセットされます。"0" の書込みまたはインテリジェント I/O サービスによっ
てクリアされます。このビットへの "1" 書込みは , 意味がありません。リードモディ
ファイライト系命令における読出し時には ,"1" が読み出されます。
[bit1] CNTE (CouNT enable)
タイマのカウントイネーブルビットです。このビットに "1" を書き込むと , 起動トリガ
待ち状態になります。"0" 書込みによりカウント動作は停止します。
[bit0] TRG (Trigger)
ソフトウェアトリガビットです。"1" 書込みによりソフトウェアトリガがかかり , リ
ロードレジスタの内容をカウンタへロードしてカウント動作を開始します。"0" 書込み
動作は , 意味を持ちません。読出し値は , 常に "0" です。このレジスタによるトリガ入
力は ,CNTE= 1 のときのみ有効となります。CNTE= 0 のときには , なにもおこりません。
201
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付 )
13.2.2
16 ビットタイマレジスタ (TMR) /16 ビットリロード
レジスタ (TMRLR) のレジスタ配置
TMR 内容(リード時):
16 ビットタイマのカウント値を読み出すことができるレジスタです。初期値は不定
です。このレジスタの読出しは , 必ずワード転送命令で行ってください。
TMRLR 内容(ライト時):
16 ビットリロードレジスタは , カウントの初期値を保持しておくレジスタです。初
期値は不定です。このレジスタへの書込みは , 必ずワード転送命令で行ってくださ
い。
■ 16 ビットタイマレジスタ (TMR)/16 ビットリロードレジスタ (TMRLR)
図 13.2-3 16 ビットタイマレジスタ (TMR) /16 ビットリロードレジスタ (TMRLR)
16ビットタイマレジスタ/16ビットリロードレジスタ(上位)
bit 15
14
13
12
11
10
9
8
アドレス:ch.0 000053H
ch.1 000057H
リード/ライト
初期値
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X) (X) (X) (X) (X) (X) (X) (X)
16ビットタイマレジスタ/16ビットリロードレジスタ(下位)
bit 7
6
5
4
アドレス:ch.0 000052H
ch.1 000056H
リード/ライト
初期値
202
3
2
1
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X) (X) (X) (X) (X) (X) (X) (X)
0
TMR/
TMRLR
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付 )
13.3
16 ビットリロードタイマの内部クロック動作と外部ク
ロック動作
内部クロックの分周クロックでタイマを動作させる場合 , クロックソースとしてマシ
ンクロックの 21, 23, 25 分周のクロックから選択することができます。外部入力端子
は , レジスタの設定により , トリガ入力またはゲート入力にすることができます。
外部クロックをセレクトすると TIN 端子は , 外部イベント入力端子となりレジスタ
で設定された有効エッジをカウントします。
■ 16 ビットリロードタイマの内部クロック動作
カウント許可と同時にカウント動作を開始したい場合は , コントロールレジスタの
CNTE ビットと TRG ビットの両方に "1" を書き込んでください。TRG ビットによるト
リガ入力は,タイマが起動状態のとき(CNTE=1) 動作モードにかかわらず常に有効です。
図 13.3-1 に , カウンタの起動およびカウンタの動作について示します。カウンタスター
トのトリガが入力されてからリロードレジスタのデータがカウンタへロードされるま
でに ,T(T: マシンサイクル)の時間がかかります。
図 13.3-1 16 ビットリロードタイマのカウンタの起動および動作
カウントクロック
カウンタ
リロードデータ
-1
-1
-1
データロード
CNTE(ビット)
TRG(ビット)
T
■ 16 ビットリロードタイマの入力端子機能(内部クロックモード時)
クロックソースとして,内部クロックを選択した場合,TIN端子はトリガ入力またはゲー
ト入力として使用することができます。トリガ入力として使用した場合 , 有効エッジが
入力されるとリロードレジスタの内容をカウンタにロードして,内部プリスケーラをク
リアした後 , カウント動作を開始します。
TIN は ,2・T(T はマシンサイクル)以上のパルスを入力してください。図 13.3-2 に ,
トリガ入力の動作を示します。
203
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付 )
図 13.3-2 16 ビットリロードタイマのトリガ入力の動作
カウントクロック
TIN端子
立上りエッジ検出時
プリスケーラ
カウンタ
0000H
-1
リロードデータ
-1
-1
ロード
2T~
2.5T
ゲート入力として使用する場合 , コントロールレジスタの MOD0 ビットにより設定され
る有効レベルが ,TIN 端子から入力されている間のみカウントをします。このときカウ
ントクロックは , 止まらずに動き続けます。ゲートモード時のソフトウェアトリガは ,
ゲートレベルにかかわらず可能です。TIN 端子のパルス幅は ,2・T(T はマシンサイク
ル)以上にしてください。図 13.3-3 に , ゲート入力の動作を示します。
図 13.3-3 16 ビットリロードタイマのゲート入力の動作
カウントクロック
TIN端子
MOD0=1とした場合(入力"H"のカウント)
-1
カウンタ
-1
-1
■ 外部イベントカウント
外部クロックをセレクトすると TIN 端子は , 外部イベント入力端子となりレジスタで
設定された有効エッジをカウントします。TIN 端子のパルス幅は ,4・T(T はマシンサ
イクル)以上にしてください。
204
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付 )
13.4
16 ビットリロードタイマのアンダフロー動作
16 ビットリロードタイマにより , カウンタ値が "0000H" から "FFFFH" に変化した
ときにアンダフローが定義されますので ,(リロードレジスタ設定 +1)カウントの後
でアンダフローが生じます。
■ 16 ビットリロードタイマのアンダフロー動作
アンダフロー発生時 , コントロールレジスタの RELD ビットが "1" のときリロードレジ
スタの内容をカウンタへロードしてカウント動作を継続し ,"0" のときカウンタを
FFFFH で停止させます。
アンダフローが発生すると , コントロールレジスタの UF ビットをセットし , このとき
に INTE ビットが "1" であると割込み要求を発生します。
図 13.4-1 と図 13.4-2 に , アンダフロー発生時の動作を示します。
図 13.4-1 16 ビットリロードタイマのアンダフロー動作 [RELD=1 の場合 ]
カウントクロック
カウンタ
0000H
リロードデータ
-1
-1
-1
データロード
アンダフローセット
図 13.4-2 16 ビットリロードタイマのアンダフロー動作 [RELD=0 の場合 ]
カウントクロック
カウンタ
0000H
FFFFH
アンダフローセット
205
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付 )
16 ビットリロードタイマの出力端子機能
13.5
TOT 端子はリロードモード時には , アンダフローにより反転するトグル出力として ,
ワンショットモード時には , カウント中を示すパルス出力として機能します。
■ 16 ビットリロードタイマの出力端子機能
16 ビットリロードタイマの出力極性は , レジスタの OUTL ビットにより設定でき
OUTL=0 のときトグル出力は , 初期値が "0" で , ワンショットパルス出力は , カウント
中 "1" を出力します。OUTL=1 にすると出力波形は , 反転します。図 13.5-1 と図 13.5-2
に出力端子機能を示します。
図 13.5-1 16 ビットリロードタイマの出力端子機能 (RELD=1, OUTL=0 の場合)
カウント開始
アンダフロー
TOT
OUTL=1のときは反転
汎用ポート
CNTE
起動トリガ
図 13.5-2 16 ビットリロードタイマの出力端子機能 (RELD=0, OUTL=0 の場合)
アンダフロー
TOT
OUTL=1で反転
汎用ポート
CNTE
起動トリガ
起動トリガ待ち状態
206
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付 )
13.6
カウンタの動作状態
カウンタの状態は , コントロールレジスタの CNTE ビットと内部信号の WAIT 信号
によって決まります。設定可能な状態として CNTE=0, WAIT=1 の停止状態(STOP
状態),CNTE=1, WAIT=1 の起動トリガ待ち状態(WAIT 状態), CNTE=1, WAIT=0
の動作状態(RUN 状態)があります。
■ カウンタの動作状態
図 13.6-1 に , 各状態の遷移を示します。
図 13.6-1 カウンタの状態遷移
リセット
STOP
ハードウェアによる状態遷移
CNTE=0,WAIT=1
TIN端子:入力禁止
レジスタアクセスによる状態遷移
TOT端子:汎用ポート
カウンタ:停止時の値を保持
リセット直後は不定
CNTE=0
WAIT
CNTE=0
CNTE=1
CNTE=1
TRG=0
TRG=1
CNTE=1,WAIT=1
RUN
TIN端子 :TIN端子として機能
TIN端子 :トリガ入力のみ有効
TOT端子 :初期値出力
TOT端子 :TOT端子として機能
RELD・UF
カウンタ:停止時の値を保持
リセット直後ロード
するまでは不定
カウンタ:動作
TRG=1
TINから起動
CNTE=1,WAIT=0
LOAD
TRG=1
CNTE=1,WAIT=0
リロードレジスタの内容を
カウンタへロード
RELD・UF
ロード終了
207
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付 )
208
第 14 章
8/16 ビット PPG
8/16 ビット PPG の機能と動作について説明しま
す。
14.1 8/16 ビット PPG の概要
14.2 8/16 ビット PPG のブロックダイヤグラム
14.3 8/16 ビット PPG のレジスタ
14.4 8/16 ビット PPG の動作
14.5 8/16 ビット PPG のカウントクロックの選択
14.6 8/16 ビット PPG のパルスの端子出力の制御
14.7 8/16 ビット PPG の割込み
14.8 8/16 ビット PPG の各ハードウェアの初期値
209
第 14 章 8/16 ビット PPG
14.1
8/16 ビット PPG の概要
8/16 ビット PPG は , ハードウェアとして ,8 ビットダウンカウンタ 2 個 ,8 ビットリ
ロードレジスタ 4 個 ,16 ビット制御レジスタ 1 個 , 外部パルス出力端子 2 本および
割込み出力 2 本を有し , これらにより以下の機能を実現します。
■ 8/16 ビット PPG の機能
● 8 ビット PPG 出力 2ch 独立動作モード
2ch の独立した PPG 出力動作が可能です。
● 16 ビット PPG 出力動作モード
1ch の 16 ビットの PPG 出力動作が可能です。
● 8+8 ビット PPG 出力動作モード
ch.0 の出力を ch.1 のクロック入力とすることにより , 任意周期の 8 ビット PPG 出力動
作が可能です。
● PPG 出力動作
任意周期・デューティ比のパルス波を出力します。外付け回路により D/A コンバータ
としても使用可能です。
< 注意事項 >
MB90440G シリーズには ,4 本の PPG があります。次節では PPG0/1 の機能につい
てのみ記述します。残りの PPG も同じ機能を持ちますが , レジスタアドレスについ
ては ,「 付録 A I/O マップ」を参照してください。ch.0 の PPG の出力信号は , どの
外部端子にも接続されていません。
210
第 14 章 8/16 ビット PPG
14.2
8/16 ビット PPG のブロックダイヤグラム
図 14.2-1 に ,8/16 ビット PPG(ch.0) のブロックダイヤグラムを , 図 14.2-2 に ,8/16
ビット PPG(ch.1) のブロックダイヤグラムを示します。
■ 8/16 ビット PPG のブロックダイヤグラム
図 14.2-1 8 ビット PPG(ch.0) のブロックダイヤグラム
PPG00出力許可
PPG00
周辺クロック
周辺クロック
周辺クロック
周辺クロック
周辺クロック
16分周
8分周
4分周
2分周
MB90440Gシリーズでは,この信号は
外部端子に接続していません。
PPGO
出力ラッチ
反転
クリア
PEN0
カウントクロック
選択
PCNT(ダウンカウンタ)
タイムベースタイマ出力
メインクロックの512分周
リロード
L/Hセレクト
MB90440Gシリーズでは,この
IRQ信号はOR論理によりチャネル1
のIRQ信号とマージされます。
S
R Q
IRQ
ch1-ボロー
L/Hセレクタ
PRLL0
PRLBH0
PIE0
PRLH0
PUF0
L側データバス
H側データバス
PPGC0
( 動作モード制御 )
211
第 14 章 8/16 ビット PPG
図 14.2-2 8 ビット PPG(ch.1) のブロックダイヤグラム
PPG10出力許可
PPG10
周辺クロック
周辺クロック
周辺クロック
周辺クロック
周辺クロック
16分周
8分周
4分周
2分周
MB90440Gシリーズは,この端子は
「PPG0」外部端子に接続しています。
PPG1
出力ラッチ
反転
クリア
PEN1
カウントクロック
選択
S
R Q
PCNT(ダウンカウンタ)
ch.0-ボロー
タイムベースカウンタ出力
メインクロックの512分周
L/Hセレクト
MB90440Gシリーズは,このIRQ
信号はOR論理によりチャンネル0の
IRQ信号とマージされます。
IRQ
リロード
L/Hセレクタ
PRLL1
PRLBH1
PIE1
PRLH1
PUF1
L側データバス
H側データバス
PPGC1
( 動作モード制御 )
図 14.2-3 PPG モジュールと外部端子の関係
PPG 0/1
PPG0
PPG 2/3
PPG1
PPG 4/5
PPG2
PPG 6/7
PPG3
外部端子
212
第 14 章 8/16 ビット PPG
14.3
8/16 ビット PPG のレジスタ
8/16 ビット PPG のレジスタには , 次の 5 つがあります。
• PPG0 動作モード制御レジスタ
• PPG1 動作モード制御レジスタ
• PPG0, PPG1 クロック選択レジスタ
• リロードレジスタ H
• リロードレジスタ L
■ 8/16 ビット PPG のレジスタ
図 14.3-1 8/16 ビット PPG のレジスタ
PPG0動作モード制御レジスタ
7
bit
アドレス:ch.0 000038H
アドレス:ch.1 000039H
リード/ライト
初期値
5
PEN0
リード/ライト
初期値
PPG1動作モード制御レジスタ
6
4
3
2
1
PE00 PIE0 PUF0
予約
(R/W) (-) (R/W) (R/W) (R/W) (-)
(0) (-) (0) (0) (0) (-)
bit 15
0
14
13
PEN1
12
11
PE10 PIE1 PUF1
(W)
(1)
(-)
(-)
10
9
MD1
MD0
PPGC0
8
PPGC1
予約
(R/W) (-) (R/W) (R/W) (R/W) (R/W) (R/W) (W)
(0) (-) (0) (0) (0) (0) (0) (1)
PPG0/1クロック選択レジスタ
7
bit
アドレス:ch.0 00003AH
ch.1
リード/ライト
初期値
リロードレジスタH
アドレス:ch.0 003901H
ch.1 003903H
リード/ライト
初期値
リロードレジスタL
アドレス:ch.0 003900H
ch.1 003902H
リード/ライト
初期値
6
5
4
3
2
1
0
PCS2 PCS1 PCS0 PCM2 PCM1 PCM0
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0) (0) (0) (0) (0) (0)
bit
15
14
13
12
11
PPGO1
(-)
(-)
10
(-)
(-)
9
8
PRLH0/
PRLH1
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X) (X) (X) (X) (X) (X) (X) (X)
bit
7
6
5
4
3
2
1
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X) (X) (X) (X) (X) (X) (X) (X)
0
PRLL0/
PRLL1
213
第 14 章 8/16 ビット PPG
14.3.1
PPG0 動作モード制御レジスタ (PPGC0)
動作モード制御レジスタ (PPGC0) は , ブロックの動作モードの選択 , 端子出力制御 ,
カウントクロック選択 , トリガの制御を行う 5 ビットの制御レジスタです。
■ PPG0 動作モード制御レジスタ (PPGC0)
図 14.3-2 PPG0 動作モード制御レジスタ (PPGC0)
PPG0動作モード制御レジスタ
アドレス:ch.0 000038H
リード/ライト
初期値
bit
7
6
PEN0
(R/W)
(0)
(-)
(-)
5
4
3
PE00
PIE0
PUF0
(R/W) (R/W) (R/W)
(0)
(0)
(0)
2
1
0
予約
(-)
(-)
(-)
(-)
PPGC0
(W)
(1)
[bit7] PEN0(PPG enable): 動作許可ビット
PPG のカウンタ動作を許可します。
PEN0
動作状態
0
動作停止("L" レベル出力保持)
1
PPG 動作許可
本ビットに "1" を書き込むことで ,PPG はカウントを開始します。
リセットにより , 本ビットは "0" に初期化されます。読出し / 書込みが可能です。
[bit5] PE00(PPG output enable 00):PPG00 端子出力許可ビット
パルス出力外部端子 PPG00 を以下のように制御します。
PE00
動作状態
0
汎用ポート端子(パルス出力禁止)
1
PPG00= パルス出力端子(パルス出力許可)
リセットにより , 本ビットは "0" に初期化されます。本ビットは , 読出し / 書込みが可
能です。
MB90440G シリーズについては , 本ビットを常に "0" に設定する必要があります。
214
第 14 章 8/16 ビット PPG
[bit4] PIE0(PPG Interrupt enable):PPG の割込み許可ビット
PPG の割込み許可を以下のように制御します。
PIE0
動作状態
0
割込み禁止
1
割込み許可
本ビットが "1" のとき ,PUF0 が "1" になると割込み要求を発生します。本ビットが "0"
のときは割込み要求を発生しません。
リセットにより , 本ビットは "0" に初期化されます。本ビットは , 読出し / 書込みが可
能です。
[bit3] PUF0(PPG underflow flag):PPG カウンタアンダフロービット
PPG のカウンタアンダフロービットを以下のように制御します。
PUF0
動作状態
0
PPG のカウンタアンダフローが検出していません
1
PPG のカウンタアンダフローを検出しました
8 ビット PPG 2ch モードおよび 8 ビットプリスケーラ +8 ビット PPG モードのときには ,
ch.0 のカウンタの値が 00H ∼ FFH へなったときのアンダフローにより "1" にセットさ
れます。16ビット PPG モードのときには, ch.1/ch.0のカウンタの値が"0000H"∼ "FFFFH"
へなったときのアンダフローにより "1" にセットされます。"0" の書込みにより "0" に
なります。このビットへの "1" 書込みは , 意味がありません。リードモディファイライ
トのリード時には "1" が読まれます。
リセットにより , 本ビットは "0" に初期化されます。本ビットは , 読出し / 書込みが可
能です。
[bit0] 予約 : 予約ビット
予約ビットです。PPGC0 を設定するときは必ず "1" に設定してください。
本ビットは常に "1" が読まれます。
215
第 14 章 8/16 ビット PPG
14.3.2
PPG1 動作モード制御レジスタ (PPGC1)
PPG1 動作モード制御レジスタ (PPGC1) は , ブロックの動作モードの選択 , 端子出
力制御 , カウントクロック選択 , トリガの制御を行う 7 ビットの制御レジスタです。
■ PPG1 動作モード制御レジスタ (PPGC1)
図 14.3-3 PPG1 動作モード制御レジスタ (PPGC1)
PPG1動作モード制御レジスタ
bit
15
アドレス:ch.1 000039H
PEN1
リード/ライト
初期値
(R/W)
(0)
14
(-)
(-)
13
12
11
10
9
PE10
PIE1
PUF1
MD1
MD0
(R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
8
予約
PPGC1
(W)
(1)
[bit15] PEN1(PPG enable): 動作許可ビット
PPG のカウンタ動作を許可します。
PEN1
動作状態
0
動作停止("L" レベル出力保持)
1
PPG 動作イネーブル
本ビットを "1" に設定することでカウンタ動作を許可します。
リセットにより , 本ビットは "0" に初期化されます。読出し / 書込みが可能です。
[bit13] PE10(PPG output enable 10):PPG10 端子出力許可ビット
パルス出力外部端子 PPG10 を以下のように制御します。
PE10
動作状態
0
汎用ポート端子(パルス出力禁止)
1
PPG10= パルス出力端子(パルス出力許可)
リセットにより , 本ビットは "0" に初期化されます。本ビットは , 読出し / 書込みが可
能です。
MB90440G シリーズについては , パルス信号は「PPG0」外部端子に出力されます。
216
第 14 章 8/16 ビット PPG
[bit12] PIE1(PPG Interrupt enable):PPG の割込み許可ビット
PPG の割込み許可を以下のように制御します。
PIE1
動作状態
0
割込み禁止
1
割込み許可
本ビットが "1" のとき ,PUF1 が "1" になると割込み要求を発生します。本ビットが "0"
のときは割込み要求を発生しません。
リセットにより , 本ビットは "0" に初期化されます。本ビットは , 読出し / 書込みが可
能です。
[bit11] PUF1(PPG underflow flag):PPG カウンタアンダフロービット
PPG のカウンタアンダフロービットを以下のように制御します。
PUF1
動作状態
0
PPG のカウンタアンダフローを検出していません
1
PPG のカウンタアンダフローを検出しました
8 ビット PPG 2ch モードおよび 8 ビットプリスケーラ +8 ビット PPG モードのときには ,
ch.1 のカウンタの値が "00H" ∼ "FFH" へなったときのアンダフローにより "1" にセットさ
れます。16 ビット PPG モードのときには ,ch.1/ch.0 のカウンタの値が "0000H" ∼ "FFFFH"
へなったときのアンダフローにより "1" にセットされます。"0" の書込みにより "0" になり
ます。このビットへの "1" 書込みは , 意味がありません。リードモディファイライトのリー
ド時には "1" が読まれます。
リセットにより , 本ビットは "0" に初期化されます。本ビットは , 読出し / 書込みが可
能です。
[bit10, bit9] MD1, MD0 (PPG count mode): 動作モード選択ビット
PPG タイマの動作モードを以下のように選択します。
MD1
MD0
0
0
8 ビット PPG 2ch 独立モード
0
1
8 ビットプリスケーラ +8 ビット PPG 1ch モード
1
0
予約(設定禁止)
1
1
16 ビット PPG 1ch モード
動作モード
リセットにより , 本ビットは "00B" に初期化されます。本ビットは , 読出し / 書込みが
可能です。
217
第 14 章 8/16 ビット PPG
< 注意事項 >
• MD1, MD0 ビットを "10" に設定しないでください。
• MD1, MD0 ビットを "01" に設定する場合には ,PPGC0 の PEN0 ビット /PPGC1
の PEN1 ビットを "01" に設定しないでください。また , PEN0 ビットおよび
PEN1 ビットを同時に "11" または "00" にセットすることを推奨します。
• MD1, MD0 ビットを "11" に設定する場合には ,PPGC0/PPGC1 をワード転送で
書き換え , PEN0 ビットおよび PEN1 ビットを同時に "11" または "00" にセット
してください。
[bit8] 予約 : 予約ビット
予約ビットです。PPGC1 を設定するときは必ず "1" に設定してください。
本ビットは常に "1" が読まれます。
218
第 14 章 8/16 ビット PPG
PPG0/1 クロック選択レジスタ (PPG01)
14.3.3
PPG0/1 クロック選択レジスタ (PPG01) は ,PPG の動作クロックの制御を行う 8
ビットの制御レジスタです。
■ PPG0/1 クロック選択レジスタ (PPG01)
図 14.3-4 PPG0/1 クロック選択レジスタ (PPG01)
PPG0/1クロック選択レジスタ
bit 7
6
5
4
3
2
アドレス:ch.0/ 00003AH
PCS2 PCS1 PCS0 PCM2 PCM1 PCM0
ch.1
リード/ライト
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
初期値
(0)
(0)
(0)
(0)
(0)
(0)
1
0
PPGO1
(-)
(-)
(-)
(-)
[bit7 ∼ bit5] PCS2 ∼ PCS0 (PPG count select): カウントクロック選択ビット
ch.1 のダウンカウンタの動作クロックを , 次のように選択します。
PCS2
PCS1
PCS0
0
0
0
周辺クロック(62.5ns マシンクロック 16MHz 時)
0
0
1
周辺クロック /2(125ns マシンクロック 16MHz 時)
0
1
0
周辺クロック /4(250ns マシンクロック 16MHz 時)
0
1
1
周辺クロック /8(500ns マシンクロック 16MHz 時)
動作モード
1
0
0
周辺クロック /16(1µs マシンクロック 16MHz 時)
1
1
1
タイムベースタイマからの入力クロック(128µs 原発振 4MHz 時)
リセットにより本ビットは "000B" に初期化されます。本ビットは , 読出し / 書込みが
可能です。
< 注意事項 >
8 ビットプリスケーラ +8 ビット PPG モードおよび 16 ビット PPG モードのときに
は , ch.1 の PPG は ,ch.0 からカウントクロックを受けて動作するため , これらの
ビットの設定は , 無効になります。
[bit4 ∼ bit2] PCM2 ∼ PCM0(PPG Count Mode): カウントクロック選択ビット
ch.0 のダウンカウンタの動作クロックを , 次のように選択します。
PCM2
PCM1
PCM0
0
0
0
周辺クロック(62.5ns マシンクロック 16MHz 時)
0
0
1
周辺クロック /2(125ns マシンクロック 16MHz 時)
0
1
0
周辺クロック /4(250ns マシンクロック 16MHz 時)
0
1
1
周辺クロック /8(500ns マシンクロック 16MHz 時)
1
0
0
周辺クロック /16(1µs マシンクロック 16MHz 時)
1
1
1
タイムベースタイマからの入力クロック(128µs 原発振 4MHz 時)
動作モード
リセットにより本ビットは "000B" に初期化されます。本ビットは , 読出し / 書込みが
可能です。
219
第 14 章 8/16 ビット PPG
14.3.4
リロードレジスタ (PRLL, PRLH)
リロードレジスタ (PRLL, PRLH) は , ダウンカウンタ PCNT へのリロード値を保持
する , 各 8 ビットのレジスタです。PRLL, PRLH レジスタは , どちらも読出し / 書込
みが可能です。
■ リロードレジスタ (PRLL, PRLH)
図 14.3-5 リロードレジスタ (PRLL, PRLH)
リロードレジスタH
アドレス:ch.0 003901H
ch.1 003903H
リード/ライト
初期値
リロードレジスタL
アドレス:ch.0 003900H
ch.1 003902H
リード/ライト
初期値
bit 15
14
13
220
11
10
9
8
PRLH0/
PRLH1
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X) (X) (X) (X) (X) (X) (X) (X)
bit 7
6
5
4
3
2
1
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X) (X) (X) (X) (X) (X) (X) (X)
レジスタ名
< 注意事項 >
12
0
PRLL0/
PRLL1
機能
PRLL
L 側リロード値保持
PRLH
H 側リロード値保持
8 ビットプリスケーラ +8 ビット PPG モードで使用する場合には ,ch.0 の PRLL と
PRLH に異なる値を設定すると , ch.1 の PPG 波形がサイクルごとに異なる場合が
あるので , ch.0 の PRLL と PRLH は , 同じ値に設定することを推奨します。
第 14 章 8/16 ビット PPG
14.4
8/16 ビット PPG の動作
8/16 ビット PPG には ,8 ビット 長の PPG ユニットが 2ch あり ,2ch 独立モード以外
に , 8 ビットプリスケーラ +8 ビット PPG モードと ,16 ビット PPG 1ch モードの計
3 種類の動作を行うことができます。
■ 8/16 ビット PPG の動作
8 ビット長の PPG ユニットそれぞれは ,8 ビット長のリロードレジスタが "L" 側と "H"
側の 2 本あります (PRLL, PRLH)。このレジスタに書き込まれた値が ,8 ビットダウンカ
ウンタ (PCNT) に "L" 側 /"H" 側交互にリロードされてカウントクロックごとにダウン
カウントされ , カウンタのボロー発生によるリロード時に , 端子出力 (PPG) の値を反転
させます。この動作により , 端子出力 (PPG) はリロードレジスタ値に対応した "L" 幅 /
"H" 幅をもつパルス出力となります。
表 14.4-1 に , リロード動作とパルス出力の関係を示します。
表 14.4-1 リロード動作とパルス出力の関係
リロード動作
端子出力変化
PRLH → PCNT
PPG0/1[0 → 1]
立上り
PRLL → PCNT
PPG0/1[1 → 0]
立下り
また ,PPGC0 中の bit4(PIE0) が "1" のときおよび PPGC1 中の bit12(PIE1) が "1" のとき , それ
ぞれのカウンタの "00H" ∼ "FFH" へのボロー(16 ビット PPG モードの場合には , "0000H" ∼
"FFFFH" へのボロー)によって割込み要求が出力されます。
■ 8/16 ビット PPG の動作モード
8/16 ビット PPG の動作モードには ,2ch 独立モードと ,8 ビットプリスケーラ +8 ビット
PPG モードと , 16 ビット PPG 1ch モードの計 3 種類の動作モードがあります。
● 2ch 独立モード
2ch 独立モードは ,8 ビット PPG として 2ch 独立に動作させる動作モードです。PPG00
端子は , ch.0 の PPG 出力が接続され ,PPG10 端子は ,ch.1 の PPG 出力が接続されます。
● 8 ビットプリスケーラ +8 ビット PPG モード
8 ビットプリスケーラ +8 ビット PPG モードは , ch.0 を 8 ビットプリスケーラとして動
作させ , ch.1 を ch.0 のボロー出力でカウントすることにより , 任意周期の 8 ビット PPG
波形を出力できるようにする動作モードです。PPG00 端子は , ch.0 のプリスケーラ出
力が接続され ,PPG10 端子は , ch.1 の PPG 出力が接続されます。
● 16 ビット PPG 1ch モード
16 ビット PPG 1ch モードは , ch.0 と ch.1 を連結させて ,16 ビットの PPG として動作さ
せる動作モードです。PPG00 端子と PPG10 端子は , 両方とも 16 ビット PPG 出力が接
続されます。
MB90440G シリーズについては , ch.0 の PPG からの出力信号は外部端子には接続して
いません。
221
第 14 章 8/16 ビット PPG
■ 8/16 ビット PPG の出力動作
8/16 ビット PPG は ,ch.0 の PPG については ,PPGC0(PWM 動作モード制御)レジスタ
の bit7(PEN0) を ,ch.1 の PPG については ,PPGC1 レジスタの bit15(PEN1) を "1" にセッ
トすることによって起動され , カウントを開始します。動作を開始した後は , PPGC0 の
bit7(PEN0) または PPGC1 の bit15(PEN1) に "0" を書き込むことによってカウント動作
を停止し , 停止した後 , パルス出力は L レベルを保持します。MB90440G シリーズにつ
いては , ch.0 の PPG からの出力信号は外部端子には接続していません。
8 ビットプリスケーラ +8 ビット PPG モードのときには , ch.0 を停止状態で ,ch.1 を動
作状態に設定しないでください。
16 ビット PPG モードのとき ,PPGC0 レジスタの bit7(PEN0) と PPGC1 レジスタの
bit15(PEN1) が同時に開始 , または停止していることを確認してください。
次の図は ,PPG
出力動作を示しています。PPG の動作中 , パルス波は振動数と効率の割合("H" レベル
と "L" レベルのパルス波である時間の割合)で出力しつづけ ,PPG は停止が指定される
まで動作します。
図 14.4-1 PPG 出力動作の出力波形
PEN
PENにより動作開始(L側から)
出力端子
PPG
T×(L+1)
T×(H+1)
(スタート)
L:PRLLの値
H:PRLHの値
T:周辺クロック(φ, φ/4, φ/16)
または,タイムベースカウンタからの入力
(PPGCのクロックセレクトによる)
■ 8/16 ビット PPG のリロード値とパルス幅の関係
リロードレジスタに書かれた値に +1 した値に , カウントクロックの周期を掛けた値が ,
出力されるパルスの幅となります。
8 ビット PPG 動作時のリロードレジスタ値が "00H" のときおよび 16 ビット PPG 動作
時のリロードレジスタ値が "0000H" のときは , カウントクロック 1 周期分のパルス幅を
もつことになりますので注意してください。また ,8 ビット PPG 動作時のリロードレジ
スタ値が "FFH" のとき , カウントクロック 256 周期分のパルス幅をもつことになり ,16
ビット PPG 動作時のリロードレジスタ値が "FFFFH" のときは , カウントクロック 65536
周期分のパルス幅をもつことになりますので注意してください。パルス幅の計算例を
次に示します。
Pl=T ×(L+1)
Ph=T ×(H+1)
222
L
H
T
Ph
Pl
:PRLL の値
:PRLH の値
:入力クロック周期
:ハイパルスの幅
:ローパルスの幅
第 14 章 8/16 ビット PPG
14.5
8/16 ビット PPG のカウントクロックの選択
8/16 ビット PPG の動作に使用するカウントクロックは , 周辺クロックおよびタイム
ベースカウンタの入力を使用しており ,6 種類のカウントクロック入力が選択できま
す。
■ 8/16 ビット PPG のカウントクロックの選択
PPG01 レジスタの bit4 ∼ bit2 (PCM2 ∼ PCM0) で ch.0 のクロックを ,bit7 ∼ bit5 (PCS2 ∼
PCS0) で ch.1 のクロックを選択します。
クロックは , マシンクロックの 1/16, 1/4, 1 倍の周辺クロックとタイムベースカウンタ
からの入力クロックより選択できます。
しかし ,8 ビットプリスケーラ +8 ビット PPG モードまたは 16 ビット PPG モードのと
きには , PCS2 ∼ PCS0 に "0" を設定しても意味はありません。
タイムベースカウンタの入力を使用した場合,トリガにより起動がかかる最初およびス
トップの後の最初のカウント周期がずれる可能性がありますので注意してください。
また,本モジュール動作中にタイムベースカウンタのクリアを行うと周期がずれること
があります。
8 ビットプリスケーラ +8 ビット PPG モードでは ch.0 が動作状態 ,ch.1 が停止状態であ
るときに ch.1 の起動を行うと , 最初のカウント周期がずれる可能性がありますので注
意してください。
223
第 14 章 8/16 ビット PPG
14.6
8/16 ビット PPG のパルスの端子出力の制御
本モジュールの動作によって生成されたパルス出力は , 外部端子 PPG00/PPG10 よ
り出力させることができます。
■ 8/16 ビット PPG のパルスの端子出力の制御
端子出力許可ビット (PPGC0:PE00, PPGC1:PE10) が "0" のとき(初期値)は , パルス出
力は外部端子より出力されずに , 汎用ポートとして機能します。本ビットに "1" を設定
すると , パルス出力が外部端子より出力されます。
16 ビット PPG モードでは ,PPG00, PPG10 は同じ波形が出力されるので , どちらの外部
端子出力を許可しても同じ出力を得ることができます。
8 ビットプリスケーラ +8 ビット PPG モードでは ,PPG0 は 8 ビットプリスケーラのトグ
ル波形が出力され ,PPG10 は 8 ビット PPG の波形が出力されます。このモードのとき
の出力波形の例を 図 14.6-1 に示します。
MB90440G シリーズについては ,ch.0 の PPG からの出力信号は外部端子には接続して
いません。
図 14.6-1 8+8PPG 出力動作の出力波形
Pl0
Ph0
PPG0
PPG1
Ph1
Pl0
Ph0
Pl1
Ph1
< 注意事項 >
224
=
=
=
=
T
T
T
T
×
×
×
×
(L0+1)
(L0+1)
(L0+1) × (L1+1)
(L0+1) × (H1+1)
Pl1
L0 :
L1 :
H1 :
T :
Ph0:
Pl0:
Ph1:
Pl1:
ch.0のPRLLの値 および ch.0のPRLHの値
ch.1のPRLLの値
ch.1のPRLHの値
入力クロック周期
PPG00のハイパルスの幅
PPG00のローパルスの幅
PPG10のハイパルスの幅
PPG10のローパルスの幅
ch.0 の PRLL と ch.0 の PRLH は , 同じ値を設定することを推奨します。
第 14 章 8/16 ビット PPG
14.7
8/16 ビット PPG の割込み
8/16 ビット PPG の割込みは , リロード値がカウントアウトし , ボローが発生したと
きにアクティブになります。
■ 8/16 ビット PPG の割込み
8 ビット PPG 2ch モードおよび 8 ビットプリスケーラ +8 ビット PPG モードのときには ,
それぞれのカウンタのボローにより , それぞれの割込みの要求が行われますが ,16 ビッ
ト PPG モードでは ,16 ビットカウンタのボローにより ,PUF0 と PUF1 が同時にセット
されます。このため , 割込み要因を一本化するために ,PIE0 または PIE1 のどちらか一
方のみを許可にすることを推奨します。また , 割込みフラッグのクリアも PUF0 と PUF1
を同時に行うことを推奨します。
225
第 14 章 8/16 ビット PPG
14.8
8/16 ビット PPG の各ハードウェアの初期値
8/16 ビット PPG の各ハードウェアは , リセット時に以下のように初期化されます。
■ 8/16 ビット PPG の各ハードウェアの初期値
● レジスタ
• PPGC0 → 0X000001B
• PPGC1 → 00000001B
• PPG10 → XXXXXX00B
● パルス出力
• PPG00 → "L"
• PPG10 → "L"
• PE00 → PPG00 出力禁止
• PE10 → PPG10 出力禁止
● 割込み要求
• IRQ0 → "L"
• IRQ1 → "L"
なお , 上記以外のハードウェアは初期化されません。
< 注意事項 >
8/16 ビット PPG のリロードレジスタ (PRLL, PRLH) へのライトタイミング
16 ビット PPG モード以外のモードの場合には , リロードレジスタ (PRLL, PRLH)
への書込みはワード転送命令を使用することを推奨します。なお , バイト転送命令
2 回にて書き込んだ場合 , タイミングによっては , 予想しないパルス幅の出力が発
生する可能性がありますので注意してください。
図 14.8-1 8/16 ビット PPG のリロードレジスタ (PRLL, PRLH) へのライトタイミングチャート
PPG0
A
B
A
B
C
B
C
D
C
D
①
図 14.8-1 のタイムチャートにおいて , ①のタイミングの前で PRLL を A から C に書き
換えて , ①の後 PRLH の値を B から D に書き換えた場合 , ①のタイミングでの PRL の
値は PRLL=C, PRLH=B のため 1 回だけ L 側のカウント数 C, H 側のカウント数 B のパ
ルスが発生されます。
226
第 14 章 8/16 ビット PPG
同様に ,16 ビット PPG モードで使用する場合には ,ch.0 と ch.1 の PRL はロングワード
転送で書き込むか , または ch.0 → ch.1 の順にワード転送で書き込んでください。この
モードのときには ,ch.0 の PRL への書込みは , 一時的に書き込まれ , その後 ch.1 の PRL
に書込みを行った時点で , 実際に ch.0 の PRL への書込みが行われます。
なお , 図 14.8-2 に示すように ,16 ビット PPG モード以外では ,ch.0 と ch.1 の PRL の書
込みは独立して行うことができます。
図 14.8-2 PRL 書込み部分のブロックダイヤグラム
ch.0のPRLの書込みデータ
16ビットPPGモード以外
の場合のch.0の書込み
テンポラリラッチ
ch.1のPRLの書込みデータ
16ビットPPGモード時
ch.1の書込みに同期して
転送
ch.1の書込み
ch.0のPRL
ch.1のPRL
227
第 14 章 8/16 ビット PPG
228
第 15 章
遅延割込み
遅延割込みの機能と動作について説明します。
15.1 遅延割込みモジュールの概要
15.2 遅延割込みのレジスタ
15.3 遅延割込みの動作
229
第 15 章 遅延割込み
15.1
遅延割込みモジュールの概要
遅延割込み発生モジュールは , タスク切換え用の割込みを発生するためのモジュール
です。本モジュールを使用することで , ソフトウェアで F2MC-16LX CPU に対して
割込み要求の発生 / 取消しを行うことができます。
■ 遅延割込みのブロックダイヤグラム
図 15.1-1 に , 遅延割込み発生モジュールのブロックダイヤグラムを示します。
図 15.1-1 遅延割込みのブロックダイヤグラム
F2MC-16LX バス
遅延割込み要因発生/解除レジスタ
要因ラッチ
■ 遅延割込み要求ロックの使用上の注意
このロックは DIRR の該当するビットに "1" を書き込むことでセットされ , 同じビット
に "0" を書き込むことでクリアされます。したがって , 割込み処理ルーチン内で要因を
クリアするようにソフトウェアを作成しておかないと割込み処理から復帰した途端に
再割込み処理を起動することになりますので注意してください。
230
第 15 章 遅延割込み
15.2
遅延割込みのレジスタ
DIRR は遅延割込み要求の発生 / 解除を制御するレジスタで , このレジスタに対して
"1" を書込み時には遅延割込みの要求を発生させ , "0" を書込み時には遅延割込みの
要求を解除します。リセット時には要因解除状態になります。
■ 遅延割込み要因発生 / 解除レジスタ (DIRR:Delayed interrupt request register)
遅延割込み要因発生 / 解除レジスタ (DIRR) では , 予約ビット領域は "0", "1" どちらの書
込みも結構ですが , 将来の拡張を考慮してこのレジスタをアクセスする際にはセット
ビット , クリアビット命令を使用することをお勧めします。
図 15.2-1 遅延割込み要因発生 / 解除レジスタ (DIRR)
遅延割込み要因発生/解除レジスタ
bit
15
14
13
12
11
10
9
アドレス:00009FH
リード/ライト
初期値
8
R0
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
DIRR
(R/W)
(0)
231
第 15 章 遅延割込み
15.3
遅延割込みの動作
ソフトウェアにて CPU が DIRR の該当ビットに "1" を書き込むと , 遅延割込み発生
モジュールの中にある要求ラッチがセットされ , 割込みコントローラに割込み要求を
発生します。
■ 遅延割込み発生
ほかの割込み要求が本割込みより優先順位が低い , あるいは , ほかの割込み要求がない
場合に , 割込みコントローラは F2MC-16LX CPU に対して割込み要求を発生します。図
15.3-1 に示すように ,F2MC-16LX CPU は自分の内部にある CCR レジスタ中の ILM ビッ
トと割込み要求を比較し , 要求レベルが ILM ビットより高かったときに現在実行中の
命令が終了し次第 , ハードウェア割込み処理マイクロプログラムを起動します。この結
果 , 本割込みに対する割込み処理ルーチンが実行されます。
図 15.3-1 遅延割込み発生
遅延割込み発生モジュール
割込みコントローラ
F2MC-16LX CPU
WRITE
ほかの要求
ICRyy
IL
CMP
DIRR
ICRxx
CMP
ILM
INTA
割込み処理ルーチン内で DIRR の該当ビットの "0" を書き込むことで本割込み要因をク
リアし , 合わせてタスクの切換えを行います。
232
第 16 章
DTP/ 外部割込み
DTP/ 外部割込みの機能と動作について説明しま
す。
16.1 DTP/ 外部割込みの概要
16.2 DTP/ 外部割込みのレジスタ
16.3 DTP/ 外部割込みの動作
16.4 DTP 要求と外部割込み要求の切換え
16.5 DTP/ 外部割込みの使用上の注意
233
第 16 章 DTP/ 外部割込み
DTP/ 外部割込みの概要
16.1
DTP(Data Transfer Peripheral) はデバイス外部に存在するペリフェラルと F2MC16LX CPU との間にあって , 外部ペリフェラルが発生する DMA 要求あるいは割込み
要求を受け取り , これを F2MC-16LX CPU に伝えてインテリジェント I/O サービス
あるいは割込み処理を起動させるための周辺です。
■ DTP/ 外部割込みの概要
インテリジェント I/O 機能に関しては "H" または "L" 要求レベルを使用することがで
きます。外部割込み要求に対しては 4 種類の要求レベルを使用することができます。
("H", "L" の立上りエッジおよび立下りエッジ。
)
■ DTP/ 外部割込みのブロックダイヤグラム
図 16.1-1 DTP/ 外部割込みのブロックダイヤグラム
内部データバス
8
8
DTP/割込み許可レジスタ
ゲート
8
エッジ検出回路
要因F/F
8
DTP/割込み要因レジスタ
16
要求レベル設定レジスタ
要求入力
■ DTP/ 外部割込みのレジスタ
図 16.1-2 DTP/ 外部割込みのレジスタ
DTP/割込み許可レジスタ
bit
アドレス:000030H
リード/ライト
初期値
7
6
5
4
3
2
1
0
EN7
EN6
EN5
EN4
EN3
EN2
EN1
EN0
DTP/割込み要因レジスタ bit
15
14
13
12
11
10
9
8
アドレス:000031H
ER7
ER6
ER5
ER4
ER3
ER2
ER1
ER0
リード/ライト
初期値
要求レベル設定レジスタ
アドレス:000033H
リード/ライト
初期値
アドレス:000032H
リード/ライト
初期値
234
ENIR
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
EIRR
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
bit
15
14
13
12
11
10
9
8
LB7
LA7
LB6
LA6
LB5
LA5
LB4
LA4
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
bit 7
6
5
4
3
2
1
0
LB3
LA3
LB2
LA2
LB1
LA1
LB0
LA0
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
ELVR
第 16 章 DTP/ 外部割込み
16.2
DTP/ 外部割込みのレジスタ
DTP/ 外部割込みのレジスタには , 次の 3 つがあります。
• DTP/ 割込み許可レジスタ (ENIR:Interrupt request enable register)
• DTP/ 割込み要因レジスタ (EIRR:External interrupt request register)
• 要求レベル設定レジスタ (ELVR:External level register)
■ DTP/ 割込み許可レジスタ (ENIR:Interrupt request enable register)
図 16.2-1 DTP/ 割込み許可レジスタ (ENIR)
DTP/割込み許可レジスタ
bit
アドレス:000030H
リード/ライト
初期値
7
6
5
4
3
2
1
0
EN7
EN6
EN5
EN4
EN3
EN2
EN1
EN0
ENIR
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
DTP/ 割込み許可レジスタ (ENIR) はデバイス端子を DTP/ 外部割込み要求入力として使
用し,割込みコントローラに対して要求を発生させる機能を動作させることを決定する
レジスタです。このレジスタの "1" を書かれたビットの対応する端子は DTP/ 外部割込
み要求入力として使用されます。"0" が書かれたビットの対応する端子は DTP/ 外部割
込み要求入力要因は保持しますが , 割込みコントローラに対しては要求を発生しませ
ん。
< 注意事項 >
DTP/ 外部割込みを許可 (ENIR:EN=1) する直前に , 対応する外部割込み要求フラグ
ビット (EIRR:ER) をクリアしてください。
■ DTP/ 割込み要因レジスタ (EIRR:External interrupt request register)
図 16.2-2 DTP/ 割込み要因レジスタ (EIRR)
DTP/割込み要因レジスタ
bit
アドレス:000031H
リード/ライト
初期値
15
14
13
12
11
10
9
8
ER7
ER6
ER5
ER4
ER3
ER2
ER1
ER0
EIRR
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
EIRR は , このレジスタの "1" となっているビットに対応する端子において DTP/ 外部割
込み要求が存在することを表します。このレジスタのビットに "0" を書込むと対応す
る要求フラグがクリアされます。"1" を書込んでも効果はありません。リードモディ
ファイライト系命令によりこのレジスタからは常に "1" が読み出されます。
235
第 16 章 DTP/ 外部割込み
< 注意事項 >
• 複数の外部割込み要求出力が許可 (ENIR:EN7 ∼ EN0=1) されている場合 ,CPU
が割り込みを受け付けたビット (ER7 ∼ ER0 の "1" にセットされているビット )
だけを "0" にクリアするようにしてください。それ以外のビットを無条件にクリ
アすることは避けてください。
• 外部割込み要求フラグビット (EIRR:ER) の値は , 対応する外部割込み要求許可
ビット (ENIR:EN) が "1" に設定されている時のみ有効です。DTP/ 外部割込みが
許可されていない状態 (ENIR:EN=0) では ,DTP/ 外部割込み要因の有無にかかわ
らず DTP/ 外部割込み要因ビットがセットされる可能性があります。
• DTP/ 外部割込みを許可 (ENIR:EN=1) する直前に , 対応する外部割込み要求フラ
グビット (EIRR:ER) をクリアしてください。
■ 要求レベル設定レジスタ (ELVR:External level register)
図 16.2-3 要求レベル設定レジスタ (ELVR)
要求レベル設定レジスタ
bit
アドレス:000033H
リード/ライト
初期値
15
14
13
12
11
10
9
8
LB7
LA7
LB6
LA6
LB5
LA5
LB4
LA4
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
bit 7
6
5
4
3
2
1
0
アドレス:000032H
リード/ライト
初期値
LB3
LA3
LB2
LA2
LB1
LA1
LB0
LA0
ELVR
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
ELVR は外部端子における要求イベントを定義するものです。表 16.2-1 に示すように ,
各端子には 2 ビットが割当てられます。入力レベルにより要求が検出されたとすれば ,
フラグがソフトウェアによりリセットされた後でも入力が指定されたレベルに在る限
り割込みフラグはセットされます。
表 16.2-1 LBx, LAx ビットの設定値と端子の割込み要求検出要因
236
LBx
LAx
0
0
"L" レベルが端子に入力
0
1
"H" レベルが端子に入力
1
0
立上りエッジが端子に入力
1
1
立下りエッジが端子に入力
割込み要求検出要因
第 16 章 DTP/ 外部割込み
DTP/ 外部割込みの動作
16.3
割込みフラグがセットされたときにこのブロックは割込みコントローラへ割込み信
号を送ります。割込みコントローラ内で同時発生した割込みの優先順位を識別した
結果 , 本リソースからの割込みが最も優先順位が高かったときに , 割込みコントロー
ラは F2MC-16LX CPU に対して割込み要求を発生します。F2MC-16LX CPU は自分
の内部にある CCR レジスタ中の ILM ビットと割込み要求を比較し , 要求レベルが
ILM ビットより高かったときに現在実行中の命令が終了し次第 , ハードウェア割込み
処理マイクロプログラムを起動します。
■ 外部割込みの動作
図 16.3-1 に示すように , ハードウェア割込み処理マイクロプログラムにおいて ,CPU は
割込みコントローラから ISE ビットの情報を読出し , これにより当該要求が割込み処理
であることを識別し , 割込み処理マイクロプログラムへ分岐します。割込み処理マイク
ロプログラムでは割込みベクタ領域の読出しと割込みコントローラへの割込みアクノ
リッジを発生し,ベクタから生成したマクロ命令のジャンプ先アドレスをプログラムカ
ウンタへ転送した上で , ユーザの割込み処理プログラムの実行を行います。
図 16.3-1 外部割込みの動作
DTP/外部割込み
割込みコントローラ
F2MC-16LX CPU
ほかの要求
ELVR
ICRyy
CMP
EIRR
ENIR
要因
IL
ICRxx
CMP
ILM
INTA
237
第 16 章 DTP/ 外部割込み
■ DTP の動作
初期化としてユーザプログラム内ではインテリジェント I/O サービスを起動するに当
たって , インテリジェント I/O サービスディスクリプタ内の I/O アドレスポインタに
"000000H" から "0000FFH" に割りつけられているレジスタのアドレスを設定し , バッ
ファアドレスポインタにメモリバッファの先頭アドレスを設定します。
DTP の動作シーケンスは外部割込みの場合とほぼ同じで ,CPU がハードウェア割込み
処理マイクロプログラムを起動するまでは全く同じです。DTP の場合は CPU がハード
ウェア割込み処理マイクロプログラム内で読み出す ISE ビットの内容が DTP を示して
いるので , インテリジェント I/O サービス処理マイクロプログラムへ制御を移します。
インテリジェント I/O サービスが起動されると , アドレッシングされている外部ペリ
フェラルにリードまたはライト信号が送られ本チップとの転送が行われます。外部ペ
リフェラルはその転送が行われてから 3 マシンサイクル以内に本チップに対する割込
み要求を取り下げてください。転送が終了するとディスクリプタの更新などが行われ ,
その後転送要因をクリアする信号を割込みコントローラに発生させます。転送要因を
クリアする信号を受けとった本リソースは要因を保持しているフリップフロップをク
リアして端子からの次の要求に備えます。インテリジェント I/O 機能処理の詳細につ
いては ,『MB90500 プログラミングマニュアル』を参照してください。
238
第 16 章 DTP/ 外部割込み
図 16.3-2 DTP 動作終了時の外部割込み取下げタイミング
割込み要因
内部動作
↑エッジ要求、またはHレベル要求
ディスクリプタ
選択,読出
アドレスバス端子
※拡張インテリジェントI/Oサービスが
I/Oレジスタ → メモリ転送の時
リードアドレス ライトアドレス
データバス端子
リードデータ
リード信号
ライトデータ
①
ライト信号
②
3マシンサイクル以内に取り下げる
図 16.3-3 DTP と外部ペリフェラルとのインタフェース簡略例
外
部
ペ
リ
フ
エ
ラ
ル
内部データバス
データ,アドレス,バス
レ
ジ
ス
タ
IRQ
転送終了後3マシンサイクル
以内に取り下げる
②
①
INT
DTP
CORE
MEMORY
MB90440Gシリーズ
239
第 16 章 DTP/ 外部割込み
16.4
DTP 要求と外部割込み要求の切換え
外部割込み要求と DTP 要求の切換えは , 割込みコントローラの中にある , 本リソー
スに対応する ICR レジスタ中の ISE ビットの設定によって行います。各端子に対応
して個々に ICR が割り当てられていますので , 対応する ICR の ISE ビットに "1" が
書かれた端子が DTP 要求として , また ,"0" が書かれた場合には外部割込み要求とし
て , それぞれ動作することになります。
■ DTP 要求と外部割込み要求の切換え
図 16.4-1 DTP 要求と外部割込み要求の切換え
割込みコントローラ
ICRxx
ICRyy
0
1
F2MC-16LX CPU
端子
DTP/外部割込み
DTP
外部割込み
240
第 16 章 DTP/ 外部割込み
16.5
DTP/ 外部割込みの使用上の注意
DTP/ 外部割込みを使用する際には , 次の点について特に注意が必要です。
• DTP を用いたときの外部に接続するペリフェラルの条件
• スタンバイからの復帰
• DTP/ 外部割込みの動作手順
• 外部割込み要求レベル
■ DTP/ 外部割込みの使用上の注意
● DTP を用いたときの外部に接続するペリフェラルの条件
DTP がサポートできる外部ペリフェラルは , 転送が行われたことにより自動的に要求
をクリアするものでなければなりません。また , 転送動作が開始してから 3 マシンサイ
クル以内(暫定値)で転送要求を取り下げるようになっていないと , 本リソースは次の
転送要求が発生したものとして扱ってしまいます。
● DTP/ 外部割込みの動作手順
DTP/外部割込み内に存在するレジスタの設定を行う際,次の手順で設定してください。
1. 外部割込み入力として使用する端子と併用する汎用入出力ポートを入力ポートに
設定する。
2. 許可レジスタの対象となるビットをディセーブル状態にする。
3. 要求レベル設定レジスタの対象となるビットを設定する。
4. 要因レジスタの対象となるビットをクリアする。
5. 許可レジスタの対象となるビットをイネーブル状態にする。
(ただし ,4. と 5. はワー
ド指定による同時書込み可)。
本リソース内のレジスタを設定するときには必ず許可レジスタをディセーブル状態に
設定しておかなくてはなりません。また , 許可レジスタをイネーブル状態にする前に必
ず要因レジスタをクリアしておく必要があります。これは , レジスタ設定時や割込み許
可状態時に誤って割込み要因が起こってしまうことを避けるためです。
● 外部割込み要求レベル
要求レベルがエッジ要求のとき , エッジがあったことを検出するためには , パルス幅は
最小 3 マシンサイクル必要とします。
要求入力レベルがレベル設定の場合 , パルス幅は最小 3 マシンサイクル必要とします。
また割込み入力端子がアクティブレベルを保持し続けている限りは,外部割込み要因レ
ジスタをクリアしても , 割込みコントローラへの割込み要求は発生し続けます。
図 16.5-1 に示すように , 要求入力レベルがレベル設定のとき , 外部より要求入力が入っ
てその後取り下げられても内部に要因保持回路が存在するので,割込みコントローラへ
の要求はアクティブのままです。図 16.5-2 に示すように ,割込みコントローラへの要求
を取り下げるには要因保持回路をクリアする必要があります。
241
第 16 章 DTP/ 外部割込み
図 16.5-1 レベル設定時の要因保持回路のクリア
割込み要因
レベル検出
要因 F/F
(要因保持回路)
許可ゲート
割込み
コントローラへ
クリアしない限り要因を保持し続ける
図 16.5-2 割込み許可時の割込み要因と割込みコントローラへの割込み要求
割込み要因
割込みコントローラ
への割込み要求
242
Hレベル
要因F/Fのクリアによってインアクティブとなる
第 17 章
A/D コンバータ
A/D コンバータの機能と動作について説明します。
17.1 A/D コンバータの特長
17.2 A/D コンバータのブロックダイヤグラム
17.3 A/D コンバータのレジスタ一覧
17.4 A/D コンバータの動作
17.5 EI2OS を使った変換動作
17.6 変換データ保護機能
243
第 17 章 A/D コンバータ
17.1
A/D コンバータの特長
A/D コンバータは , アナログ入力電圧をデジタル値に変換するものです。A/D コン
バータの特長は次のとおりです。
■ A/D コンバータの特長
● 変換時間
1 チャネル当たり最小 6.12µs ( マシンクロック 16MHz 時 )
● サンプル & ホールド回路付 RC 型逐次比較変換方式を採用
● 10 ビットまたは 8 ビットの分解能
● アナログ入力は 8 チャネルからプログラムで選択
• シングル変換モード
:1 チャネルを選択変換
• スキャン変換モード
: 連続した複数のチャネルを変換。最大 8ch プログラム可能
• 連続変換モード
: 指定チャネルを繰り返し変換
• 停止変換モード
:1 チャネルを変換したら一時停止して次の起動がかかるまで
待機 ( 変換開始の同期が可能 )。
● 割込み要求
A/D 変換終了時には , CPU に対して A/D 変換終了の割込み要求を発生させることがで
きます。この割込み発生で EI2OS を起動することができ ,A/D 変換結果データをメモリ
に転送できますので連続処理に適しています。
● 起動要因を選択可能
起動要因は , ソフトウェア , 外部トリガ ( 立下りエッジ ), またはタイマ ( 立上りエッジ
) があります。
■ アナログ入力許可レジスタ
アナログ入力に使用される端子に対応する ADER ビットに常に "1" を書き込んでくだ
さい。
図 17.1-1 アナログ入力許可レジスタ
アナログ入力許可レジスタ
bit
アドレス:00001BH
リード/ライト
初期値
15
14
13
ADE7 ADE6 ADE5
12
ADE4
10
ADE3 ADE2
9
8
ADE1
ADE0
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
ポート 6 端子は次のように制御されます。
• 0: ポート入力 / 出力モード
• 1: アナログ入力モード
• リセット時には "1" がセットされます。
244
11
ADER
第 17 章 A/D コンバータ
■ 入力インピーダンス
A/D コンバータのサンプリング回路は次の等価回路で表されます。
最大 3.2kΩ
ADC
アナログ入力
最大 30pF
サンプリング時間が 2µs(マシンクロック 16MHz, ST1=0 および ST0=1)にセットされ
たとき , アナログ入力への駆動インピーダンスは 5.0kΩ 以下でなければなりません。そ
うしなければ変換の精度は低下します。この場合 , サンプリング時間を更に長く設定す
るか , 外部コンデンサを付加して駆動インピーダンスを補償してください。
245
第 17 章 A/D コンバータ
17.2
A/D コンバータのブロックダイヤグラム
図 17.2-1 に ,A/D コンバータのブロックダイヤグラムを示します。
■ A/D コンバータのブロックダイヤグラム
図 17.2-1 A/D コンバータのブロックダイヤグラム
AVCC
AVRH/AVRL
AVSS
D/Aコンバータ
MPX
入力回路
逐次比較レジスタ
内部データバス
AN0
AN1
AN2
AN3
AN4
AN5
AN6
AN7
比較器
サンプル&
ホールド回路
ー
デ
コ
ダ
データレジスタ
ADCR0/ADCR1
A/D制御レジスタ0
ADTG端子
外部トリガ起動
16ビットリロードタイマ1
タイマ起動
φ
246
A/D制御レジスタ1
ADCS0/
ADCS1
動作クロック
プリスケーラ
第 17 章 A/D コンバータ
17.3
A/D コンバータのレジスタ一覧
A/D コンバータのレジスタには次の 2 種類があります。
• A/D コントロールステータスレジスタ
• データレジスタ
■ A/D コンバータのレジスタ一覧
図 17.3-1 A/D コンバータのレジスタ配置
bit15
8
7
bit0
ADCS0
ADCS1
ADCR1
ADCR0
8ビット
8ビット
図 17.3-2 A/D コンバータのレジスタ
A/Dコントロールステータスレジスタ上位
bit 15
14
13
BUSY
アドレス:000035H
リード/ライト
初期値
INT
INTE
MD1
アドレス:000034H
リード/ライト
初期値
データレジスタ下位
アドレス:000036H
リード/ライト
初期値
10
9
8
PAUS
STS1
STS0
STRT
予約
ADCS1
MD0
5
4
3
2
1
ANS2
ANS1
ANS0
ANE2
0
ANE1 ANE0
ADCS0
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
bit
アドレス:000037H
リード/ライト
初期値
11
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0) (0)
(0)
A/Dコントロールステータスレジスタ下位
bit 7
6
データレジスタ上位
12
15
14
13
12
11
SI0
ST1
(W)
(0)
ST0
(W)
(1)
CT1
(W)
(0)
CT0
(W)
(1)
(W)
(0)
bit
10
9
8
(-)
(-)
D9
(R)
(X)
D8
(R)
(X)
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
ADCR1
ADCR0
247
第 17 章 A/D コンバータ
A/D コントロールステータスレジスタ (ADCS0)
17.3.1
A/D コントロールステータスレジスタ (ADCS0) は ,A/D コンバータの制御およびス
テータス表示を行います。ADCS0 は A/D 変換動作中に書換えないようにしてくだ
さい。
■ A/D コントロールステータスレジスタ (ADCS0)
図 17.3-3 A/D コントロールステータスレジスタ (ADCS0)
A/Dコントロールステータスレジスタ下位
bit 7
6
MD1
アドレス:000034H
リード/ライト
初期値
MD0
5
4
3
2
1
ANS2
ANS1
ANS0
ANE2
0
ANE1 ANE0
ADCS0
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
[bit7, bit6] MD1, MD0(A/D converter mode set)
表 17.3-1 動作モードの設定。
MD1
MD0
0
0
単発モード , 動作中の再起動はすべて可能
0
1
単発モード , 動作中の再起動不可能
1
0
連続モード , 動作中の再起動不可能
1
1
停止モード , 動作中の再起動不可能
動作モード
● 単発モード
ANS2 ∼ ANS0 の設定チャネルから ANE2 ∼ ANE0 の設定チャネルまで A/D 変換を連
続して行い 1 回変換が終了したら停止する。
● 連続モード
ANS2 ∼ ANS0 の設定チャネルから ANE2 ∼ ANE0 の設定チャネルまで A/D 変換を繰
り返し行います。
● 停止モード
ANS2 ∼ ANS0 の設定チャネルから ANE2 ∼ ANE0 の設定チャネルまで 1ch ごとに A/D
変換を行い一時停止する。変換再開は起動要因発生によって行われます。
リセット時には本ビット群は "00B" に初期化されます。
< 注意事項 >
248
• 連続モード , 停止モードで A/D 変換を起動すると BUSY ビットで停止するまで
変換動作を続けます。
• 停止は BUSY ビットに "0" を書き込むことにより行われます。
• 単発 , 連続 , 停止の各モードの再起動の不可能はタイマ , 外部トリガ , ソフト
ウェアすべての起動に適用されます。
第 17 章 A/D コンバータ
[bit5 ∼ bit3] ANS2 ∼ ANS0 (Analog start channel set)
本ビット群より A/D 変換の開始チャネルを設定します。
A/D コンバータを起動すると , このビットで選択されたチャネルから A/D 変換を開始
します。
< 注意事項 >
ANS2
ANS1
ANS0
開始チャネル
0
0
0
AN0
0
0
1
AN1
0
1
0
AN2
0
1
1
AN3
1
0
0
AN4
1
0
1
AN5
1
1
0
AN6
1
1
1
AN7
• リード :A/D 変換の間 , 現在の変換チャネルが本ビット群から読み込まれます。
もしシステムが停止モードで停止すれば最後の変換チャネルが読み込まれます。
• リセット時には本ビット群は "000B" に初期化されます。
[bit2 ∼ bit0] ANE2 ∼ ANE0 (Analog end channel set)
本ビット群より A/D 変換の終了チャネルを設定します。
ANE2
ANE1
ANE0
終了チャネル
0
0
0
AN0
0
0
1
AN1
0
1
0
AN2
0
1
1
AN3
1
0
0
AN4
1
0
1
AN5
1
1
0
AN6
1
1
1
AN7
249
第 17 章 A/D コンバータ
< 注意事項 >
• アナログ開始チャネル設定 (ANS2, ANS1, ANS0) に開始チャネルを設定したあと
に , 本レジスタのビットをリードモディファイライト系命令で設定しないでくだ
さい。
• ANS2, ANS1, ANS0 ビットは A/D 変換動作が開始されるまでは前回の変換チャネ
ルが読み出されるため ,ANS2, ANS1, ANS0 ビットに開始チャネルを設定したあ
とに , 本レジスタのビットをリードモディファイライト系命令で設定した場合 ,
ANE2, ANE1, ANE0 ビットの値が書き換わる可能性があります。
• 同一のチャネルを ANE2 ∼ ANE0 ビットおよび ANS2 ∼ ANS0 ビットに書込む
と , 変換は 1 つのチャネルに対してのみ行われます (シングル変換)。
• 連続モード , 停止モードを設定している場合は本ビット群で設定されたチャネル
の変換が終わると ANS2 ∼ ANS0 で設定された開始チャネルに戻ります。
• 設定チャネルが ANS > ANE の場合は ,ANS より変換が始まり 7ch まで変換した
ら 0ch に戻り ANE まで変換します。
• リセット時には本ビット群は "000B " に初期化されます。
例:チャネル設定 ANS =6ch, ANE = 3chで単発モードのとき
変換は次の順序で行われます。ch.6→ch.7→ch.0→ch.1→ch.2→ch.3 250
第 17 章 A/D コンバータ
A/D コントロールステータスレジスタ (ADCS1)
17.3.2
A/D コントロールステータスレジスタ (ADCS1) は ,A/D コンバータの制御およびス
テータス表示を行います。
■ A/D コントロールステータスレジスタ (ADCS1)
図 17.3-4 A/D コントロールステータスレジスタ (ADCS1)
A/Dコントロールステータスレジスタ上位
bit 15
14
13
アドレス:000035H
リード/ライト
初期値
BUSY INT
12
11
10
9
8
INTE PAUS STS1 STS0 STRT 予約
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (W)
(0) (0) (0) (0) (0) (0) (0)
ADCS1
(R/W)
(0)
[bit15] BUSY(busy flag and stop)
• 読出し時
- A/D コンバータ動作表示用のビットです。
- A/D 変換起動でセットされ , 終了でクリアされます。
• 書込み時
- A/D 動作中に本ビットに "0" を書き込むと強制的に動作を停止します。
- 連続 , 停止モード時の強制停止に利用します。
- 動作表示用のビットに "1" を書き込むことはできません。RMW 系命令では "1" が
読まれます。単発モードでは A/D 変換終了でクリアされます。
- 連発 , 停止モードでは "0" 書込みで停止するまでクリアされません。
- リセット時に本ビットは "0" に初期化されます。
- 強制停止とソフト起動を同時に行わないでください (BUSY=0, STRT=1)。
[bit14] INT(interrupt)
変換データが ADCR に書き込まれるとセットされます。
bit5(INTE) が "1" のときに本ビットがセットされると割込み要求が発生します , また
EI2OS 起動を許可している場合 EI2OS が起動されます。"1" 書込みは影響しません。
クリアは "0" 書込みと EI2OS 割込みクリア信号で行われます。
< 注意事項 >
本ビットの "0" 書込みクリアは A/D 停止中に行ってください。
リセット時に本ビットは "0" に初期化されます。
[bit13] INTE(Interrupt enable)
本ビットは変換終了による割込みの許可 / 禁止を設定します。
• 0: 割込みの禁止
• 1: 割込みの許可
EI2OS を使用するときは本ビットをセットしてください。EI2OS は割込み要求発生で起
動するようになっています。
リセット時に本ビットは "0" に初期化されます。
251
第 17 章 A/D コンバータ
[bit12] PAUS(A/D converter pause)
A/D 変換動作が一時的に停止した場合にセットされます。
A/D 変換結果を格納するレジスタが 1 つのため連続で変換した場合 , 変換結果を EI2OS
で転送しなければ前データが壊れてしまいます。
これを保護するためデータレジスタの内容を EI2OS で転送しなければ次の変換データ
が格納されないようになっています。この間 A/D 変換動作は停止します。EI2OS で転
送を終了すると A/D は変換を再開します。
このビットは EI2OS を使用したときのみ有効です。
< 注意事項 >
• 変換データの保護機能に関しては , 「17.6 変換データ保護機能」を参照してく
ださい。
• リセット時に本ビットは "0" に初期化されます。
[bit11, bit10] STS1, STS0(Start source select)
リセット時に本ビット群は "00B" に初期化されます。
本ビットの設定により A/D 起動要因を選択します。
STS1
STS0
0
0
ソフトウェア起動
0
1
外部端子トリガでの起動とソフトウェア起動
1
0
タイマでの起動とソフトウェア起動
1
1
外部端子トリガ , タイマでの起動とソフトウェア起動
機能
2 つ以上の起動要因が許されているモードでは最初に生じた原因により A/D 変換が起
動されます。
起動源の設定は書き換えられると直ちに変わりますので ,A/D 変換中に書き換えるとき
には注意してください。
< 注意事項 >
• 外部端子トリガは立下りエッジを検出します。外部トリガ入力レベルが "L" のと
きに本ビットを書き換えて外部端子トリガ起動に設定すると A/D が起動する場
合があります。
• タイマ選択時は ,16 ビットリロードタイマ 1 の出力が選択されます。
[bit9] STRT(Start)
本ビットに "1" を書き込むことにより A/D を起動します。
再起動をかけるときは , 再び書き込んでください。
リセット時に本ビットは "0" に初期化されます。
停止モード時 , 動作機能上再起動はかかりません。"1" を書込む前に BUSY ビットを
チェックしてください。
強制停止とソフト起動を同時に行わないでください (BUSY=0, STRT=1)。
[bit8] 予約 : 予約ビット
これは予約ビットです。本ビットには常に "0" を書き込んでください。
252
第 17 章 A/D コンバータ
17.3.3
データレジスタ (ADCR0, ADCR1)
データレジスタ (ADCR0, ADCR1) は , 変換の結果として生成されたデジタル値を記
憶するために使用されるものです。ADCR0 は下位 8 ビットを記憶し ,ADCR1 は変
換結果の最上位の 2 ビットを記憶します。これらのレジスタ値は変換が完了するた
びに書き換えられます。通常は最後の変換値が本ビット群に記憶されます。
■ データレジスタ (ADCR0, ADCR1)
図 17.3-5 データレジスタ (ADCR0, ADCR1)
データレジスタ下位
アドレス:000036H
リード/ライト
初期値
データレジスタ上位
アドレス:000037H
リード/ライト
初期値
bit
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
bit 15
S10
(W)
(0)
14
13
12
11
10
9
8
ST1
(W)
(0)
ST0
(W)
(1)
CT1
(W)
(0)
CT0
(W)
(1)
(-)
(-)
D9
(R)
(X)
D8
(R)
(X)
ADCR0
ADCR1
ADCR1 のビット bit10 ∼ bit15 からは常に "0" が読み出されます。
変換データの保護機能を利用することができます。詳しくは , 「17.4 A/D コンバータ
の動作」を参照してください。
A/D 変換の間はこれらのレジスタにデータを絶対に書き込まないでください。
[bit15] S10
本ビットは変換の分解能を指定します。"0" を書込むと 10 ビットの A/D 変換が行われ
ます。その他の場合には 8 ビットの A/D 変換が行われてその結果は D7 ∼ D0 に記憶さ
れます。
本ビットからは常に "0" が読み出されます。
[bit14, bit13] ST1, ST0(Sampling time)
ST1
ST0
0
0
20 マシンサイクル(8MHz で 2.5µs)
0
1
32 マシンサイクル(16MHz で 2.0µs)
1
0
48 マシンサイクル(16MHz で 3.0µs)
1
1
128 マシンサイクル(16MHz で 8.0µs)
機能
本ビット群は入力時における電圧サンプリング時間の持続時間を決定するものです。
本ビットを "00B" に設定するときはマシンクロックが 8MHz のときにしてください。
8MHz 以外の場合には変換精度が保証されません。
本ビット群からは常に "00B" が読み出されます。
253
第 17 章 A/D コンバータ
[bit12, bit11] CT1, CT0(Compare time)
CT1
CT0
0
0
44 マシンサイクル(8MHz で 5.5µs)
0
1
66 マシンサイクル(16MHz で 4.12µs)
1
0
88 マシンサイクル(16MHz で 5.5µs)
1
1
176 マシンサイクル(16MHz で 11µs)
機能
本ビット群は比較操作時間の持続期間を決定するものです。
本ビットを "00B" に設定するときはマシンクロックが 8MHz 以下のときにしてくださ
い。8MHz より高速の場合には変換精度が保証されません。
本ビット群からは常に "00B" が読み出されます。
254
第 17 章 A/D コンバータ
17.4
A/D コンバータの動作
A/D コンバータは逐次比較方式で作動し , 分解能は 10 ビットまたは 8 ビットを選択
することができます。
この A/D コンバータは変換結果記憶用のレジスタが 1 つ(16 ビット)であるため ,
変換データレジスタ(ADCR0 および ADCR1)は変換が完了するたびに書き換えら
れます。このため ,A/D コンバータ単独では連続変換処理には適しませんので拡張イ
ンテリジェント I/O 機能 (EI2OS) を使って変換データをメモリに転送しながら変換
することを推奨いたします。
■ 単発モード
単発モードは ,ANS ビットと ANE ビットで設定されたアナログ入力を順に変換してい
き ANE ビットで設定された終了チャネルまで変換が終わると A/D は動作を停止しま
す。開始チャネルと終了チャネルが同じとき (ANS=ANE) は ANS で指定したチャネル
のみの変換動作になります。
例:
ANS=000, ANE=011
開始 → AN0 → AN1 → AN2 → AN3 → 終了
ANS=010, ANE=010
開始 → AN2 → 終了
■ 連続モード
連続モードは ,ANS ビットと ANE ビットで設定されたアナログ入力を順に変換してい
き ANE ビットで設定された終了チャネルまで変換が終わると ANS のアナログ入力に
戻り A/D 変換動作を続けます。開始チャネルと終了チャネルが同じとき (ANS=ANE)
は ANS で指定したチャネルのみの変換を続けます。
例:
ANS=000, ANE=011
開始→ AN0 → AN1 → AN2 → AN3 → AN0 - - →繰り返し
ANS=010, ANE=010
開始→ AN2 → AN2 → AN2 - - →繰り返し
連続モードで変換させると BUSY ビットに "0" を書き込むまで変換を繰り返し続けま
す(BUSY ビットに "0" を書き込む→強制動作停止)。強制動作停止を行うと変換中の
ものは途中で止まってしまうため , 注意してください(強制動作停止した場合は変換レ
ジスタは変換完了した前データが格納されています)
。
255
第 17 章 A/D コンバータ
■ 停止モード
停止モードは ,ANS ビットと ANE ビットで設定されたアナログ入力を順に変換してい
きますが 1ch 変換する度に変換動作を一時停止します。一時停止を解除するにはもう
一度起動をかけることにより行われます。
ANE ビットで設定された終了チャネルまで変換が終わると ANS のアナログ入力に戻
り A/D 変換動作を続けます。開始チャネルと終了チャネルが同じ (ANS=ANE) であれ
ば変換は 1 つのチャネルに対してのみ実行されます。
例:
ANS=000, ANE=011
開始→ AN0 →停止→起動→ AN1 →停止→起動→ AN2 →停止→起動→
→ AN3 →停止→起動→ AN0 - - →繰り返し
ANS=010, ANE=010
開始→ AN2 →停止→起動→ AN2 →停止→起動→ AN2 - - →繰り返し
このときの起動要因は STS1, STS0 ビットで設定されたものだけです。
このモードを使用することにより変換開始の同期をかけることが可能です。
256
第 17 章 A/D コンバータ
17.5
EI2OS を使った変換動作
図 17.5-1 に ,A/D 変換起動から変換データ転送までのフロー例(連続モード)を示
します。
■ EI2OS を使った変換動作
図 17.5-1 A/D 変換起動から変換データ転送までのフロー例(連続モード)
A/D変換起動
サンプル&ホールド
EI2OS起動
変換
データ転送
*
変換終了
割込み発生
割込み処理
割込みクリア
*: EI2OSの設定で決まります。
257
第 17 章 A/D コンバータ
単発モード時の EI2OS の起動例
17.5.1
単発モード時の EI2OS は次の手順で起動します。
• アナログ入力 AN1 ∼ AN3 の変換をして終了する。
• 変換データは 200H ∼ 205H 番地に順に転送する。
• ソフトウェアで変換を開始する。
• 最高の割込みレベルを使用する。
■ 単発モード時の EI2OS の起動例
設定項目
プログラム例
動作説明
最強割込み設定 , 割込み時 EI2OS 起動 , ディスクリプタアド
レスの設定。
MOV ICR03, #08H
MOV BAPL, #00H
MOV BAPM, #02H
EI2OS の設定
変換データの転送先番地。
MOV BAPH, #00H
ワードデータ転送,転送後転送先番地をインクリメントする。
I/O からメモリへ転送。リソースからの要求で終了しない。
MOV ISCS, #18H
MOV IOA, #36H
MOV DCT, #03H
EI2OS 転送を 3 回行う。変換回数と同じにする。
MOV ADCS0, #0BH
単発モード , 開始チャネル AN1, 終了チャネル AN3
MOV ADCS1, #A2H
ソフト起動 ,A/D 変換開始
RET
割込みからの復帰
A/D コンバータ設定
割込みシーケンス
ICR03
BAPL
BAPM
BAPH
ISCS
IOA
DCT
: 割込み制御レジスタ
: バッファアドレスポインタ下位
: バッファアドレスポインタ中位
: バッファアドレスポインタ上位
:EI2OS ステータスレジスタ
:I/O アドレスカウンタ
: データカウンタ
図 17.5-2 単発モード時の EI2OS の起動例
起動開始
AN1 →
割込み→EI2OS転送
AN2 →
割込み→EI2OS転送
AN3 →
割込み→EI2OS転送
終了
割込みシーケンス
平行処理
258
第 17 章 A/D コンバータ
連続モード時の EI2OS の起動例
17.5.2
連続モード時の EI2OS の起動例は次のとおりです。
• アナログ入力 AN3 ∼ AN5 の変換をして各チャネルの変換データを 2 つ取得する。
• 変換データは 600H ∼ 60BH 番地に順に転送する。
• 起動は外部エッジ入力で行う。
• 割込みレベル最強
■ 連続モード時の EI2OS の起動例
設定項目
プログラム例
動作説明
最強割込み設定 , 割込み時 EI2OS 起動 , ディスクリプタアド
レスの設定。
MOV ICR03, #08H
MOV BAPL, #00H
MOV BAPM, #06H
変換データの転送先番地
MOV BAPH, #00H
EI2OS の設定
MOV ISCS, #18H
ワードデータ転送 , 転送後転送先番地をインクリメントする。
I/O からメモリへ転送。リソースからの要求で終了しない。
MOV IOA, #36H
転送元アドレス
MOV DCT, #06H
EI2OS 転送を 6 回行う。3ch × 2 分のデータ転送を行う。
MOV ADCS0, #9DH
連続モード , 開始チャネル AN3, 終了チャネル AN5
MOV ADCS1, #A4H
外部エッジ起動 , A/D 変換開始
MOV ADCS1, #00H
割込みからの復帰
A/D コンバータ設定
EI2OS 終了割込み
シーケンス
ICR03
BAPL
BAPM
BAPH
ISCS
IOA
DCT
RET
: 割込み制御レジスタ
: バッファアドレスポインタ下位
: バッファアドレスポインタ中位
: バッファアドレスポインタ上位
:EI2OS ステータスレジスタ
:I/O アドレスカウンタ
: データカウンタ
図 17.5-3 連続モード時の EI2OS の起動例
起動開始
AN3 →
割込み→EI2OS
AN4 →
割込み→EI2OS
全6回転送後
AN5 →
割込み→EI2OS
割込みシーケンス
終了
259
第 17 章 A/D コンバータ
停止モード時の EI2OS の起動例
17.5.3
停止モード時の EI2OS の起動例は , 次のとおりです。
• アナログ入力 AN3 を一定期間おいて 12 回変換する。
• 変換データは 600H ∼ 617H 番地に順に転送する。
• 起動は外部エッジ入力で行う。
• 割込みレベル最強
■ 停止モード時の EI2OS の起動例
設定項目
プログラム例
MOV ICR03, #08H
動作説明
最強割込み設定 , 割込み時 EI2OS 起動 , ディスクリプタアドレ
スの設定。
MOV BAPL, #00H
MOV BAPM, #06H
変換データの転送先番地。
MOV BAPH, #00H
EI2OS の設定
MOV ISCS, #18H
ワードデータ転送 , 転送後転送先番地をインクリメントする。
I/O からメモリへ転送。リソースからの要求で終了しない。
MOV IOA, #36H
転送元アドレス
MOV DCT, #0CH
EI2OS 転送を 12 回行う。
MOV ADCS0, #DBH
停止モード , 開始チャネル AN3, 終了チャネル AN3
(1ch 変換)
MOV ADCS1, #A4H
外部エッジ起動 ,A/D 変換開始
MOV ADCS1, #00H
割込みからの復帰
A/D コンバータ設定
EI2OS 終了割込み
シーケンス
ICR03
BAPL
BAPM
BAPH
ISCS
IOA
DCT
RET
: 割込み制御レジスタ
: バッファアドレスポインタ下位
: バッファアドレスポインタ中位
: バッファアドレスポインタ上位
:EI2 OS ステータスレジスタ
:I/O アドレスカウンタ
: データカウンタ
図 17.5-4 停止モード時の EI2OS の起動例
起動開始
AN3 →
割込み→EI2OS転送
12回転送後
停止
割込みシーケンス
外部エッジ起動
終了
260
第 17 章 A/D コンバータ
17.6
変換データ保護機能
A/D コンバータは , 変換データ保護機能を持ち EI2OS を使って連続変換と複数の
データを確保できることを特長としています。
変換データレジスタは 1 つですので連続で A/D 変換をすると 1 回の変換終了と共に
変換データが格納されて前データが失われます。これを保護するために , 本 A/D コ
ンバータは変換が終了しても前データが EI2OS を使ってメモリへ転送されていない
と変換データはレジスタに格納されず A/D は一時停止する機能を持っています。
■ 変換データ保護機能
一時停止の解除は EI2OS でメモリへ転送された後 , 行われます。
前データが転送されていれば一時停止することなく A/D は連続して変換します。
< 注意事項 >
この機能は ADCS1 レジスタの INT, INTE ビットに関係しています。
データ保護機能は割込み許可 (INTE=1) 状態でしか動作しないようになっています。
割込み禁止 (INTE=0) の場合は本機能は動作せず連続で A/D 変換を行った場合は
次々に変換データはレジスタに格納されて旧データは失われます。
また , 割込み許可 (INTE=1) 状態で EI2OS を使わない場合は INT ビットはクリアさ
れないため , データ保護機能が働き A/D は変換を一時停止状態にします。この場合
は割込みシーケンスで INT ビットをクリアすると停止状態が解除されます。
EI2OS 動作中で A/D が一時停止をしているときに割込みを禁止にすると A/D が動
作し転送する前に変換データレジスタの内容が変わることがあります。
また , 一時停止中に再起動をかけると待機データが壊れます。
261
第 17 章 A/D コンバータ
■ データ保護機能のフロー例 (EI2OS の場合 )
図 17.6-1 データ保護機能のフロー例 (EI2OS の場合 )
EI2OS設定
A/D連続変換起動
1回変換終了
データレジスタに格納
2回変換終了
EI2OS終了
EI2OS起動
NO
A/D変換一時停止
YES
YES
データレジスタに格納
3回変換終了
EI2OS終了
*
NO
EI2OS起動
続く
すべて変換終了
EI2OS起動
割込みルーチン
終了
A/D変換停止
*:一時停止中にコンバータを再度動作させると,待機中の変換データを
そこないます。
■ 変換データ保護機能の使用上の注意
A/D コンバータを外部トリガまたは内部タイマを使って起動する場合 ADCS1 レジスタ
の A/D 起動要因ビット STS1, STS0 ビットで設定しますが , このときに外部トリガおよ
び内部タイマの入力値はインアクティブ側の状態で設定してください。アクティブ側
にしておくと動作しはじめる場合があります。
STS1 ビットおよび STS0 ビットをセットする場合には必ず ,ADTG 端子に対して "1"
(入力)を設定し内部タイマ(タイマ 2)に対しては "0"(出力)を設定してください。
262
第 18 章
UART0
UART0 の機能と動作について示します。
18.1 UART0 の特長
18.2 UART0 のブロックダイヤグラム
18.3 UART0 のレジスタ
18.4 UART0 の動作
18.5 ボーレート
18.6 内部クロックおよび外部クロック
18.7 転送データフォーマット
18.8 パリティビット
18.9 割込み生成とフラグのセットタイミング
18.10 UART0 の応用例
263
第 18 章 UART0
18.1
UART0 の特長
UART0 は , 外部デバイスと非同期(調歩同期)通信 , または CLK 同期通信を行うた
めのシリアル I/O ポートです。
■ UART0 の特長
UART0 には以下の特長があります。
• 全二重ダブルバッファ
• CLK 同期と CLK 非同期調歩式データ転送のサポート
• マルチプロセッサモードのサポート
• 専用ボーレートジェネレータの内蔵(12 種類)
• 外部クロック入力または内部タイマによる自由なボーレート設定のサポート
• 可変長データ(7 ∼ 9 ビット [ パリティなし ],6 ∼ 8 ビット [ パリティあり ])
• エラー検出機能(パリティ , フレーミング , オーバラン)
• 割込み機能(受信割込みと送信割込み)
• NRZ 形式の転送フォーマット
264
第 18 章 UART0
UART0 のブロックダイヤグラム
18.2
図 18.2-1 に ,UART0 のブロックダイヤグラムを示します。
■ UART0 のブロックダイヤグラム
図 18.2-1 UART0 のブロックダイヤグラム
制御信号
受信割込み
(CPU へ )
専用ボーレート
クロック
SCK0
16ビットリロード
タイマ0
クロック
選択回路
送信クロック
送信割込み
(CPU へ )
受信クロック
SCK0
SIN0
受信制御回路
送信制御回路
スタートビット
検出回路
送信スタート
回路
受信ビット
カウンタ
送信ビット
カウンタ
受信パリティ
カウンタ
送信パリティ
カウンタ
SOT0
受信状態判定回路
受信用シフタ
送信用シフタ
受信終了
送信開始
UIDR0
UODR0
EI OS用
受信エラー発生信号
(CPU へ)
2
内部データバス
UMC0
レジスタ
PEN
SBL
MC1
MC0
SMDE
RFC
SCKE
SOE
USR0
レジスタ
RDRF
ORFE
PE
TDRE
RIE
TIE
RBF
TBF
URD0
レジスタ
BCH
RC3
RC2
RC1
RC0
BCH0
P
D8
制御信号
265
第 18 章 UART0
18.3
UART0 のレジスタ
UART0 には , 次の 4 つのレジスタがあります。
• シリアルモードコントロールレジスタ
• ステータスレジスタ
• インプットデータ / アウトプットデータレジスタ
• レート・データレジスタ
■ UART0 のレジスタ
図 18.3-1 UART0 のレジスタ
シリアルモードコントロールレジスタ0
bit 7
6
アドレス:000020H
リード/ライト
初期値
ステータスレジスタ0
アドレス:000021H
リード/ライト
初期値
PEN
SBL
リード/ライト
初期値
レート・データレジスタ0
アドレス:000023H
リード/ライト
初期値
266
4
3
2
1
0
MC1
MC0
SMDE
RFC
SCKE
SOE
(R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
bit 15
14
12
11
10
9
8
RDRF ORFE
PE
TDRE
RIE
TIE
RBF
TBF
(R)
(0)
(R)
(0)
(R)
(1)
(R/W) (R/W) (R)
(0)
(0) (0)
(R)
(0)
5
4
3
2
1
0
D5
D4
D3
D2
D1
D0
(R)
(0)
D7
D6
UMC0
(W) (R/W) (R/W)
(0)
(1) (0)
13
シリアルインプットデータレジスタ0
シリアルアウトプットデータレジスタ0
bit 7
6
アドレス:000022H
5
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
bit 15
14
13
12
11
10
9
8
BCH
RC3
RC2
RC1
RC0
BCH0
P
D8
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(X)
USR0
UIDR0(read)
UODR0(write)
URD0
第 18 章 UART0
18.3.1
シリアルモードコントロールレジスタ 0(UMC0)
シリアルモードコントロールレジスタ 0(UMC0) は ,UART0 の動作モードを指定しま
す。動作が停止中に動作モードを設定します。ただし ,RFC ビットは動作中もアク
セス可能です。
■ シリアルモードコントロールレジスタ 0(UMC0)
図 18.3-2 シリアルモードコントロールレジスタ 0(UMC0)
シリアルモードコントロールレジスタ0
6
bit 7
アドレス:000020H
PEN
リード/ライト
初期値
SBL
5
4
3
2
1
0
MC1
MC0
SMDE
RFC
SCKE
SOE
(R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
UMC0
(W) (R/W) (R/W)
(0)
(1) (0)
[bit7] PEN(Parity Enable)
シリアルデータ I/O でパリティビットの追加(送信時)または検出(受信時)を指定
します。モード 2 では "0" に設定してください。
0: パリティなし
1: パリティあり
[bit6] SBL(Stop Bit Length)
送信データのストップビット数を指定します。受信データについては , 最初のストップ
ビットだけが認識され , それ以降のストップビットは無視されます。
0:1 ビット長
1:2 ビット長
[bit5, bit4] MC1, MC0(Mode control)
転送データの長さを制御します。下表に , 本ビットで選択可能な 4 つの転送モード(デー
タ長)を示します。
表 18.3-1 UART0 動作モード
モード
MC1
MC0
データ長 *1
0
0
0
7 (6)
1
0
1
8 (7)
2*2
1
0
8+1
3
1
1
9 (8)
*1: 括弧内の数字は , パリティ付きのデータ長を示します。
*2: いくつものスレーブ CPU が単一ホスト CPU に接続している場合 , モード 2 が使
用されます。受信パリティチェック機能は使用不可のため ,UMC レジスタ中の
PEN を "0" に設定してください (詳細については , 「18.4 UART0 の動作」を参
照)
。送信データ長は 9 ビットで , パリティビットは追加できません。
267
第 18 章 UART0
[bit3] SMDE(Synchro mode enable)
SMDE は , 転送方法を選択します。
0: 調歩式 CLK 同期転送 (調歩ビットによるクロック選択の同期転送)
1: 調歩式 CLK 非同期転送
[bit2] RFC (Receiver flag clear)
"0" を書き込むと ,USR0 レジスタ中の RDRF, ORFE, PE フラグがクリアされます。"1"
書込みは影響なく , 読出し値は常に "1" になります。
< 注意事項 >
受信割込みが UART0 操作中許可されている場合 ,RDRF, ORFE, PE のどれかが "1"
になっていれば ,RFC には "0" のみを書き込みます。
[bit1] SCKE(SCLK Enable)
CLK 同期モードで本ビットに "1" を書き込むと , ポート端子が UART0 シリアルクロッ
ク出力端子に切り換わり , 同期クロックが出力されます。CLK 同期モードまたは外部
クロックモードで "0" を設定してください。
0: 汎用入出力ポートとして機能し , シリアルクロックを出力しません。ポートが入力
モード (DDR=0) に設定され ,RC3 ∼ RC0 が "1111B" に設定されている場合 , 外部ク
ロック入力端子として機能します。
1:UART0 シリアルクロック出力端子として機能します。
[bit0] SOE(Serial Output Enable)
"1" を書き込むと , ポート端子が UART0 シリアルデータ出力端子に切り換わり , シリ
アル出力が可能になります。
0: ポート端子として機能し , シリアルデータを出力しません。
1:UART0 シリアルデータ出力端子として機能します。
268
第 18 章 UART0
18.3.2
ステータスレジスタ 0(USR0)
ステータスレジスタ 0(USR0) は ,UART0 ポートの現在の状態を示します。
■ ステータスレジスタ 0(USR0)
図 18.3-3 ステータスレジスタ 0(USR0)
ステータスレジスタ0
アドレス:000021H
リード/ライト
初期値
bit 15
14
13
12
11
10
9
8
RDRF ORFE
PE
TDRE
RIE
TIE
RBF
TBF
(R)
(0)
(R)
(0)
(R)
(1)
(R/W) (R/W) (R)
(0)
(0) (0)
(R)
(0)
(R)
(0)
USR0
[bit15] RDRF(Receiver Data Register Full)
UIDR0(シリアルインプットデータレジスタ)の状態を示すフラグです。UIDR0 レジ
スタに受信データがロードされるとセットされ ,UIDR0 レジスタを読み出すか , UMC0
レジスタ中の RFC に "0" を書き込むと , クリアされます。RIE がアクティブな場合 ,
RDRF がセットされていれば受信割込み要求が生成されます。
0 :UIDR0 中にデータなし
1 :UIDR0 中にデータあり
[bit14] ORFE (Over-run/framing error)
受信中にオーバランまたはフレーミングエラーが発生した場合にセットされるフラグ
です。UMC0 レジスタ中の RFC に "0" を書き込むと , クリアされます。本フラグがセッ
トされると ,UIDR0 中のデータは無効になり , 受信用シフタから UIDR0 へのロードが
実行されません。RIE がアクティブな場合 ,ORFE がセットされていれば受信割込み要
求が生成されます。
0: エラーなし
1: エラーあり
表 18.3-2 に ,RDRF または ORFE による受信完了後の UIDR0 の状態を示します。
表 18.3-2 受信完了後の UIDR0 の状態
RDRF
ORFE
0
0
空
0
1
フレーミングエラー
1
0
有効データ
1
1
オーバランエラー
UIDR0 データの状態
オーバランまたはフレーミングエラーが発生した場合 ,UIDR 中のデータは無効です。
次のデータはフラグクリア後に受信できます。
269
第 18 章 UART0
[bit13] PE(Parity Error)
受信パリティエラーが発生した場合にセットされるフラグです。UMC0 レジスタ中の
RFC に "0" を書き込むと , クリアされます。本フラグがセットされると ,UIDR0 中の
データは無効になり , 受信用シフタから UIDR0 へのロードが実行されません。RIE が
アクティブな場合 ,PE がセットされていれば受信割込み要求が生成されます。
0: パリティエラーなし
1: パリティエラー発生
[bit12] TDRE(Transmitter Data Register Empty)
UODR0(アウトプットデータレジスタ)の状態を示すフラグです。UODR0 レジスタ
に送信データを書き込むと , クリアされます。データが送信用シフタにロードされ , 転
送が開始されるとセットされます。TIE がアクティブな場合 ,TDRE がセットされてい
れば受信割込み要求が生成されます。
0:UODR0 中にデータあり
1:UODR0 中にデータなし
[bit11] RIE(Receiver Interrupt Enable)
受信割込み要求を許可します。
0: 割込みを禁止します。
1: 割込みを許可します。
[bit10] TIE(Transmitter Interrupt Enable)
送信割込み要求を許可します。TDRE が "1" のとき送信割込みが許可されると , 送信割
込みが直ちに生成されます。
0: 割込みを禁止します。
1: 割込みを許可します。
[bit9] RBF(Receiver Busy Flag)
UART0 がインプットデータを受信中であることを示すフラグです。スタートビットが
検出されるとセットされ , ストップビットが検出されるとクリアされます。
0: 受信側がアイドル状態
1: 受信側がビジー状態
[bit8] TBF(Transmitter Busy Flag)
UART0 がインプットデータを送信中であることを示すフラグです。送信データが
UODR0 レジスタに書き込まれるとセットされ , 送信が完了するとクリアされます。
0: 送信側がアイドル状態
1: 送信側がビジー状態
270
第 18 章 UART0
18.3.3
インプットデータレジスタ 0(UIDR0) とアウトプット
データレジスタ 0(UODR0)
インプットデータレジスタ 0(UIDR0) は , シリアルインプットデータレジスタであり ,
アウトプットデータレジスタ 0(UODR0) は , シリアルアウトプットデータレジスタで
す。
データ長が 6 ビットの場合最大有効ビットの D7 と D6 が無視され , データ長が 7
ビットの場合最大有効ビットの D7 が無視されます。USR レジスタ中の TDRE=1 の
ときのみ UODR0 に書き込みし , USR レジスタ中の RDRF=1 のときのみ UIDR0 を
読出しできます。
■ インプットデータレジスタ 0(UIDR0) とアウトプットデータレジスタ 0(UODR0)
図 18.3-4 インプットデータレジスタ 0(UIDR0) とアウトプットデータレジスタ 0(UODR0)
シリアルインプットデータレジスタ0
シリアルアウトプットデータレジスタ0
6
bit 7
アドレス:000022H
リード/ライト
初期値
D7
D6
5
4
3
2
1
0
D5
D4
D3
D2
D1
D0
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
UIDR0(read)
UODR0(write)
271
第 18 章 UART0
レート・データレジスタ 0(URD0)
18.3.4
レート・データレジスタ 0(URD0) は ,UART0 用のデータ転送速度を選択するレジス
タです。送信データ長が 9 ビットのとき , データの最大有効ビット (bit8) を保持しま
す。UART0 が停止中にボーレートとパリティを設定してください。
■ レート・データレジスタ 0(URD0)
図 18.3-5 レート・データレジスタ 0(URD0)
レート・データレジスタ0
アドレス:000023H
リード/ライト
初期値
bit 15
14
13
12
11
10
9
8
BCH
RC3
RC2
RC1
RC0
BCH0
P
D8
URD0
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(X)
[bit15, bit10] BCH, BCH0(Baud rate clock change)
ボーレートクロック用のマシンサイクルを指定します ( 詳細については ,「18.5 ボー
レート」を参照 )。
表 18.3-3 マシンサイクルの設定例
< 注意事項 >
272
BCH
BCH0
分周比
0
0
−
0
1
4 分周
16MHz マシンサイクル 16/4=4MHz
1
0
3 分周
12MHz マシンサイクル 12/3=4MHz
1
1
5 分周
10MHz マシンサイクル 10/5=2MHz
各マシンサイクルの設定例
設定禁止
BCH と BCH0 を "00B " に設定しないでください。
第 18 章 UART0
[bit14 ∼ bit11] RC3 ∼ RC0(Rate control)
UART0 ポート用のクロック入力を選択します (詳細については , 「18.5 ボーレート」
を参照)。
表 18.3-4 クロック入力選択
RC3 ∼ RC0
"0000B" ∼ "1011B"
< 注意事項 >
クロック入力
専用ボーレートジェネレータ
"1101B"
16 ビットリロードタイマ 0
"1111B"
外部クロック
レートコントロールビットを "1100B ", "1110B " に設定しないでください。
[bit9] P(Parity)
パリティがアクティブのとき , 偶数 / 奇数パリティを設定します (PEN=1)。
0: 偶数パリティ
1: 奇数パリティ
[bit8] D8
モード 2 または 3(9 ビットデータ長)およびパリティなしでの転送データの bit8 を保
持します。読出し時には UIDR0 レジスタの bit8 として , 書込み時には UODR0 レジス
タの bit8 として扱われます。その他のモードでは意味を持ちません。USR0 レジスタ中
で TDRE=1 のときのみ D8 に書き込みます。
273
第 18 章 UART0
UART0 の動作
18.4
表 18.4-1 に ,UART0 の動作モードを示します。モードを切り換えるには ,UMC0 レ
ジスタに値を設定します。
■ UART0 の動作モード
表 18.4-1 UART0 の動作モード
モード
パリティ
データ長
On
6
Off
7
On
7
Off
8
Off
8+1
On
8
Off
9
クロックモード
ストップビット長 *
CLK 非同期または
CLK 同期
1 ビットまたは 2 ビット
0
1
2
3
*: ストップビット長については , 送信動作のみ指定が可能です。受信動作については常に 1 ビット
長となります。UART0 は上記モード以外では動作しませんので , 設定しないでください。
< 注意事項 >
274
UART0 は , 調歩クロック同期転送を使用するので , クロック同期転送でもスタート
ビットとストップビットをデータに追加します。
第 18 章 UART0
18.5
ボーレート
専用ボーレートジェネレータ使用時には , 次の 2 種類があります。
• CLK 同期ボーレート
• CLK 非同期ボーレート
■ CLK 同期ボーレート
URD0 レジスタの BCH, BCH0, RC3, RC2, RC1 の 5 つのビットが CLK 同期転送用のボー
レートを選択します。
最初に ,BCH, BCH0 ビットを使用してマシンクロック分周比を選択します。
BCH
BCH0
0
1
⇒
4 で割る [例, 16MHz 時:16/4=4MHz]
1
0
⇒
3 で割る [例, 12MHz 時:12/3=4MHz]
1
1
⇒
5 で割る [例, 10MHz 時:10/5=2MHz]
次に , 上記で選択したクロックの分周比を RC3, RC2, RC1 ビットで設定します。CLK
同期転送には , 以下の 3 つの設定が可能です。それ以外の設定は禁止です。
RC3
RC2
RC1
0
1
0
⇒ 2 で割る
[例, 4MHz 時:4/2=2.0M(bps)]
0
1
1
⇒ 4 で割る
[例, 4MHz 時:4/4=1.0M(bps)]
1
0
0
⇒ 8 で割る
[例, 4MHz 時:4/8=0.5M(bps)]
(2MHz では,上記の例の半分の速度になります。 )
■ CLK 非同期ボーレート
URD0 レジスタの BCH, BCH0, RC3, RC2, RC1, RC0 の 6 つのビットが CLK 非同期転送
用のボーレートを選択します。
最初に ,BCH, BCH0 ビットを使用してマシンクロック分周比を選択します。
BCH
BCH0
0
1
⇒
4 で割る
[例, 16MHz 時:16/4=4MHz]
1
0
⇒
3 で割る
[例, 12MHz 時:12/3=4MHz]
1
1
⇒
5 で割る
[例, 10MHz 時:10/5=2MHz]
次に,上記で選択したクロックの非同期転送クロック分周比をRC3, RC2, RC1, RC0ビッ
トで設定します。CLK 同期転送には , 以下の設定が可能です。
275
第 18 章 UART0
RC3
RC2
RC1
0
0
0
⇒
8×1 で割る
0
1
0
⇒
8×2 で割る
0
1
1
⇒
8×4 で割る
1
0
0
⇒
8×8 で割る
0
0
1
⇒
割らない
1
0
1
RC0
⇒
8 で割る
×
×
0
⇒
12 で割る
1
⇒
13 で割る
0
⇒
設定禁止
1
⇒
8 で割る
上記の 12 個のボーレートが選択可能であり ,CLK 同期ボーレートの計算方法の公式を
以下に示します。
φ /4
[bps](マシンクロック= 16 MHz )
2 m -1
φ /3
ボーレート = m -1 [bps](マシンクロック= 12 MHz )
2
φ /5
ボーレート = m -1 [bps](マシンクロック= 10 MHz )
2
ボーレート =
ここで , φ はマシンクロックであり ,m は RC3 ∼ RC1 の 10 進数表記です。
< 注意事項 >
m=0 または m=1 の場合 , 上記公式は計算不可です。
CLK 非同期ボーレートが -1% ∼ +1% の範囲にある場合 , データ転送が可能です。
ボーレートは ,CLK 非同期ボーレートを 8 × 13, 8 × 12, 8 で割った値です。
表 18.5-1 に , マシンクロックが 16MHz, 12MHz, 10MHz 時の例を示します。表中の
"-" でマークした設定は使用しないでください。
表 18.5-1 ボーレート
CLK 非同期 (µs/ ボー)
RC3
RC2
RC1
RC0
CLK 同期 (µs/ ボー)
16 MHz
12 MHz
10 MHz
BCH/
BCH0=01
BCH/
BCH0=10
BCH/
BCH0=11
CLK
非同期
分周比
16 MHz
12 MHz
10 MHz
BCH/
BCH0=01
BCH/
BCH0=10
BCH/
BCH0=11
0
0
0
0
-
-
48/ 20833
8 × 12
-
-
-
0
0
0
1
26/ 38460
26/ 38460
52/ 19230
8 × 13
-
-
-
0
0
1
0
-
-
-
8
-
-
-
0
0
1
1
2/500000
2/500000
4/250000
8
-
-
-
0
1
0
0
48/ 20833
48/ 20833
96/10417
8 × 12
-
-
-
0
1
0
1
52/ 19230
52/ 19230
104/ 9615
8 × 13
0.5 / 2M
0.5 / 2M
1 / 1M
0
1
1
0
96/10417
96/10417
192/ 5208
8 × 12
-
-
-
0
1
1
1
104/ 9615
104/ 9615
208/ 4808
8 × 13
1 / 1M
1 / 1M
2 / 500k
1
0
0
0
192/ 5208
192/ 5208
-
8 × 12
-
-
-
1
0
0
1
208/ 4808
208/ 4808
416/ 2404
8 × 13
2 / 500k
2 / 500k
4 / 250k
1
0
1
0
-
-
-
8
-
-
-
1
0
1
1
16/ 62500
16/ 62500
32/ 31250
8
-
-
-
276
第 18 章 UART0
18.6
内部クロックおよび外部クロック
RC3 ∼ RC0 ビットを "1101B" に設定すると ,16 ビットリロードタイマからのク
ロック信号を選択することになります。RC3 ∼ RC0 を "1111B" に設定すると , 外部
クロックを選択することになります。なお , 外部クロックの最大周波数は 2MHz で
す。
■ 内部クロックおよび外部クロック
CLK 非同期ボーレートは ,CLK 同期ボーレートを 8 で割ったものです。また ,CLK 非同
期ボーレートが選択したボーレート -1% ∼ +1% の範囲にある場合 , データ転送が可能
です。表 18.6-1 に , 内部タイマをクロックとして選択した場合のボーレートを示しま
す。本表の値は , マシンクロックを 7.3728MHz として計算しています。ただし , 表中
の "-" でマークした設定は使用しないでください。
ボーレート=
φ /X
[bps]
8×2(n+ 1)
φ:マシンクロック
X :内部クロックのカウントクロックソースを割る比率
n:リロード値 (10 進数)
表 18.6-1 ボーレートとリロード値
X=21
(マシンクロックの 2 分周)
X=23
(マシンクロックの 8 分周)
76800
2
−
38400
5
−
19200
11
2
9600
23
5
4800
47
11
2400
95
23
1200
191
47
600
383
95
300
767
191
リロード値
ボーレート (bps)
表中の値は ,16 ビットリロードタイマのリロードカウント動作のリロード値(10 進数)です。
277
第 18 章 UART0
18.7
転送データフォーマット
UART0 は ,NRZ(non-return-to-zero) 形式のデータのみを扱います。図 18.7-1 に , 送
受信クロックと CLK 同期モードのデータとの関係を示します。
■ 転送データフォーマット
図 18.7-1 転送データフォーマット
SCK0
SIN0,SOT0
0
1
Start LSB
0
1
1
0
0
1
0
1
1
モードに
MSB Stop
D8 Stop 依存
転送されたデータは,"01001101B"(モード1)または,"101001101B"(モード3)
図 18.7-1 に示すように , 転送データは必ずスタートビット("L" レベルデータ)より始
まり ,LSB ファーストで指定されたデータビット長転送が行われ , ストップビット
("H"
レベルデータ)で終了します。外部クロックを選択している場合は , 常にクロックを入
力してください。
内部クロック(専用ボーレートジェネレータまたは 16 ビットリロードタイマ)を選択
している場合 , クロックは連続的に出力されます。CLK 同期転送を使用する場合 , 選択
したボーレートクロックが安定(2 ボーレートクロックサイクル)するまでデータ転送
を開始しないでください。
CLK 非同期転送を使用する場合 ,UMC0 レジスタ中の SCKE ビットを "0" に設定し , ク
ロック出力を無効にしてください。SIN0 と SOUT0 の転送データフォーマットは , 図
18.7-1 に示すものと同じです。
278
第 18 章 UART0
18.8
パリティビット
URD0 レジスタ中の P(パリティ)ビットは , パリティが許可されている場合に偶
数 / 奇数パリティのどちらを使用するかを指定します。UMC0 レジスタ中の PEN
(パリティイネーブル)ビットはパリティを許可します。
■ パリティビット
偶数パリティ設定時に 図 18.8-1 に示すデータを SIN0 に入力すると , 受信パリティエ
ラーが発生します。図 18.8-1 には , "001101B" を偶数 / 奇数パリティで送信時に送信さ
れるデータも示しています。
図 18.8-1 パリティを許可したシリアルデータ
(受信パリティエラー発生P=0)
SIN0
0
1
0
Start LSB
1
1
0
0
0
1
MSB ↑ Stop
(パリティ)
(偶数パリティ送信P=0)
SOT0
0
1
0
Start LSB
1
1
0
0
1
1
MSB ↑ Stop
(パリティ)
0
1
0
Start LSB
1
1
0
0
0
1
MSB ↑ Stop
(パリティ)
(奇数パリティ送信P=1)
SOT0
279
第 18 章 UART0
18.9
割込み生成とフラグのセットタイミング
UART0 には , 2 つの割込み要因と 6 個のフラグがあります。2 つの割込み要因には ,
受信割込みと送信割込みがあります。6 個のフラグとは ,RDRF, ORFE, PE, TDRE,
RBF, TBF です。受信については ,RDRF, ORFE, PE フラグが割込みを要求します。
送信については ,TDRE フラグが割込みを要求します。
■ 6 つのフラグのセットタイミング
● RDRF フラグ
RDRF フラグは UIDR0 レジスタに受信データがロードされるとセットされます。
UMC0
レジスタ中の RFC ビットに "0" を書き込むか ,UIDR0 レジスタを読み出すと , クリアさ
れます。
● ORFE フラグ
ORFE フラグは , オーバランまたはフレーミングエラーフラグです。受信エラーが発生
した場合にセットされ ,UMC0 レジスタ中の RFC ビットに "0" を書き込むと , クリアさ
れます。
● PE フラグ
PE フラグは , 受信パリティエラーフラグです。受信パリティエラーが発生した場合に
セットされ ,UMC0 レジスタ中の RFC ビットに "0" を書き込むと , クリアされます。パ
リティ検出機能はモード 2 では有効ではないので注意してください。
● TDRE フラグ
TDRE フラグは ,UODR0 レジスタが空になり書込み可能になったときにセットされ ,
UODR0 レジスタに書込みを行うと , クリアされます。上記の 4 個のフラグ (RDRF,
ORFE, PE, TDRE) は , 送受信割込みを起動します。
● RBF と TBF フラグ
RBF と TBF フラグは , 受信または送信が進行中であることを示します。RBF フラグは
受信中にアクティブになります。TBF フラグは送信中にアクティブになります。
280
第 18 章 UART0
18.9.1
受信動作時 ( モード 0, モード 1, モード 3) のフラグの
セットタイミング
RDRF, ORFE, PE フラグは , 受信転送が終了し最後のストップビットを検出すると
きにセットされ ,CPU への割込み要求が発生します。ORFE, PE のどちらかのビッ
トがアクティブ時には ,UIDR0 中のデータは無効となります。
■ 受信動作時 ( モード 0, モード 1, モード 3) のフラグのセットタイミング
図 18.9-1 , 図 18.9-2 , 図 18.9-3 に , RDRF, ORFE, PE フラグのセットタイミングを示しま
す。
図 18.9-1 RDRF のセットタイミング ( モード 0, モード 1, モード 3)
(Stop)
Stop
データ
RDRF
受信書込み
図 18.9-2 ORFE のセットタイミング(モード 0, モード 1, モード 3)
Stop
データ
RDRF = 1
RDRF = 0
ORFE
ORFE
受信割込み
Stop
データ
受信割込み
(フレーミングエラー)
(オーバランエラー)
図 18.9-3 PE のセットタイミング(モード 0, モード 1, モード 3)
データ
Stop
(Stop)
PE
受信割込み
281
第 18 章 UART0
18.9.2
受信動作時 ( モード 2) のフラグのセットタイミング
RDRF フラグは , 最後のストップビットを検出し , 最後のデータビット (D8) の値が
"1" で受信転送が終了するときにセットされます。
ORFE フラグは , 最後のデータビット (D8) の値に無関係に , 最後のストップビット
を検出するときにセットされます。ORFE ビットがアクティブ時には ,UIDR0 中の
データは無効となります。
どれかのフラグがセットされると ,CPU への割込み要求が発生します ( モード 2 の
使用法の詳細については , 「18.10 UART0 の応用例」を参照)。
■ 受信動作時 ( モード 2) のフラグのセットタイミング
図 18.9-4 RDRF のセットタイミング ( モード 2)
データ
D6
D7
Stop
D8
(Stop)
RDRF
受信割込み
図 18.9-5 ORFE のセットタイミング ( モード 2)
データ D7
D8
Stop
RDRF = 1
RDRF=0
ORFE
ORFE
受信割込み
D8
Stop
受信割込み
(オーバランエラー)
282
データ D7
(フレーミングエラー)
第 18 章 UART0
18.9.3
送信動作時のフラグのセットタイミング
送信動作時に UODR0 フラグに書き込まれたデータは , 内部シフトレジスタに転送さ
れます。このとき ,TDRE フラグがセットされ ,CPU への割込み要求が発生して , 次
のデータを UODR0 フラグに書込みができるようになります。
■ 送信動作時のフラグのセットタイミング
図 18.9-6 TDRE のセットタイミング ( モード 0)
UODR0書込み
TDRE
CPUへ割込みを要求する。
送信割込み
SOT0出力
ST D0 D1 D2 D3 D4 D5 D6 D7 SP SP ST D0 D1 D2 D3
ST
:スタートビット
D0~D7:データビット
SP
:ストップビット
283
第 18 章 UART0
送受信動作時のステータスフラグ
18.9.4
送受信動作時に ,RBF フラグは , スタートビットが検出されるとセットされ , ストッ
プビットが検出されるとクリアされます。UIDR0 中の受信データは ,RBF クリアタ
イミングではまだ無効状態です。UIDR0 中のデータは ,RDRF セットタイミングで
有効になります。
■ 送受信動作時のステータスフラグ
図 18.9-7 に ,RBF と受信割込みフラグのタイミングとの関係を示します。
図 18.9-7 RBF のセットタイミング ( モード 0)
SIN0入力
ST
D0
D1
D2
D3
D4
D5
D6
D7
SP
RBF
RDRF,PE,ORFE
UODR0 に送信データを書き込むと ,TBF がセットされ , 送信が完了するとクリアされ
ます。
図 18.9-8 TBF のセットタイミング ( モード 0)
UODR0ライト
SOT0出力
ST
D0
D1
D2
D3
D4
D5
D6
D7
SP
SP
TBF
< 注意事項 >
SIN0 入力端子が "1" に固定されていない限り , 受信動作はリセットのリリース後
に開始します。このため , モードを設定する前に ,UMC0 レジスタ中の RFC に "0"
を書き込み , セットされているすべての受信フラグをクリアしてください。
USR0 レジスタ中の RBF と TBF フラグが "0" のとき , 通信モードをセットしてく
ださい。モード設定中の送受信データは保証されません。
■ EI2OS( 拡張インテリジェント I/O サービス )
拡張インテリジェント I/O サービス (EI2OS) の詳細については ,「3.6 拡張インテリジェ
ント I/O サービス (EI2OS)」を参照してください。
284
第 18 章 UART0
18.10
UART0 の応用例
モード 2 は ,1 台のホスト CPU の数台のスレーブ CPU が接続されるような場合に使
用されます ( 図 18.10-1 を参照 )。
■ 応用例
図 18.10-1 に示すように , 通信は , ホスト CPU がアドレスデータを転送することによっ
て始まります。アドレスデータは ,9 番目のビット (D8) が "1" にセットされています。
これにより通信先となるスレーブ CPU が選択され , ユーザが決定したプロトコルを使
用してホスト CPU との通信を行います。通常データは D8 が "0" にセットされていま
す。非選択のスレーブ CPU は , 次の通信セッションが始まるまでスタンバイ状態で待
機します。図 18.10-2 に , 本モードでの動作フローチャートを示します。
このモードにおいては , パリティチェック機能は使用できませんので ,UMC0 レジスタ
の PEN ビットは "0" としてください。
図 18.10-1 モード 2 使用時のシステム構築例
SOT0
SIN0
ホストCPU
SOT0 SIN0
SOT0 SIN0
スレーブCPU #0
スレーブCPU #1
285
第 18 章 UART0
図 18.10-2 モード 2 使用時の通信フローチャート
(ホスト CPU )
(スレーブCPU)
START
START
転送モードを"3"とする
転送モードを"2"にセット
D0 ~ D7 にスレーブCPU選択,
D8に"1"をセットし,1バイト
転送
1バイト受信
NO
選択?
D8に"0"をセットし,通信
を実行
END
YES
転送モードを"3"にセットし,
SOT0出力を許可
マスターCPUで通信を実行
ステータスフラグを使用し
て転送の完了を確認,転送
モードを"2"にセットして,
SOT0出力を禁止
286
第 19 章
UART1(SCI)
UART1(SCI) の機能と動作について示します。
19.1 UART1 の特長
19.2 UART1 のブロックダイヤグラム
19.3 UART1 のレジスタ一覧
19.4 UART1 の動作モードとクロック選択
19.5 UART1 のフラグと割込み発生要因
19.6 UART1 の割込みとフラグのセットタイミング
19.7 ネガティブクロック動作
19.8 UART1 の応用例と使用上の注意
287
第 19 章 UART1(SCI)
19.1
UART1 の特長
UART1 は , 非同期(調歩同期)通信 , または CLK 同期通信を行うためのシリアル
I/O ポートです。
■ UART1 の特長
UART には以下の特長があります。
• 全二重ダブルバッファ
• 非同期(調歩同期),CLK 同期通信が可能
• マルチプロセッサモードのサポート
• 専用ボーレートジェネレータ内蔵
• 外部クロックによる自由なボーレートの設定が可能
• エラー検出機能(パリティ , フレーミング , オーバラン)
• 転送信号は NRZ 符号
• 拡張インテリジェント I/O サービスのサポート
288
第 19 章 UART1(SCI)
19.2
UART1 のブロックダイヤグラム
図 19.2-1 に ,UART1 のブロックダイヤグラムを示します。
■ UART1 のブロックダイヤグラム
図 19.2-1 UART1 のブロックダイヤグラム
制御信号
受信割込み
(CPU へ )
専用ボーレート
ジェネレータ
16ビットリロード
タイマ0
SCK1
クロック
選択回路
送信割込み
(CPU へ )
送信クロック
受信クロック
外部クロック
SIN1
受信制御回路
送信制御回路
スタートビット
検出回路
送信スタート
回路
受信ビット
カウンタ
送信ビット
カウンタ
受信パリティ
カウンタ
送信パリティ
カウンタ
SOT1
受信状態判定回路
受信用シフタ
送信用シフタ
受信終了
送信開始
SIDR1
SODR1
EI2OS用
受信エラー発生信号
(CPU へ)
内部データバス
SMR1
レジスタ
MD1
MD0
CS2
CS1
CS0
SCKE
SOE
SCR1
レジスタ
PEN
P
SBL
CL
A/D
REC
RXE
TXE
SSR1
レジスタ
PE
ORE
FRE
RDRF
TDRE
RIE
TIE
制御信号
289
第 19 章 UART1(SCI)
19.3
UART1 のレジスタ一覧
図 19.3-2 に ,UART1 のレジスタ一覧を示します。
■ UART1 のレジスタ一覧
図 19.3-1 UART1 のレジスタ構成
bit 15
8
bit 0
7
SCR1
SMR1
(R/W)
SSR1
SIDR1(R)/SODR1(W)
(R/W)
-
U1CDCR
(R/W)
8bit
8bit
図 19.3-2 UART1 のレジスタ一覧
シリアルモードレジスタ1
アドレス:000024H
リード/ライト
初期値
bit 7
MD1
リード/ライト
初期値
5
4
3
2
1
0
MD0
CS2
CS1
CS0
UPCL
SCKE
SOE
PEN
14
13
12
11
10
9
8
P
SBL
CL
A/D
REC
RXE
TXE
(R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
シリアルインプットデータレジスタ1/
シリアルアウトプットデータレジスタ1
bit 7
6
アドレス:000026H
リード/ライト
初期値
D7
D6
4
3
2
1
0
D5
D4
D3
D2
D1
D0
14
13
12
11
10
9
8
アドレス:000027H
PE
ORE
FRE
RDRF
TDRE
BDS
RIE
TIE
リード/ライト
初期値
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
(R) (R/W) (R/W) (R/W)
(1) (0) (0)
(0)
5
4
-
-
(-)
(-)
(-)
(-)
リード/ライト
初期値
290
5
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
UART1プリスケーラコントロールレジスタ
bit 7
6
MD
-
(R/W)
(0)
(-)
(-)
3
SCR1
(W) (R/W) (R/W)
(0)
(1) (0)
シリアルステータスレジスタ1
bit 15
アドレス:000028H
SMR1
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0) (0)
シリアルコントロールレジスタ1
bit 15
アドレス:000025H
6
2
DIV3 DIV2
1
SIDR1(read)
SODR1(write)
SSR1
0
DIV1 DIV0
(R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
U1CDCR
第 19 章 UART1(SCI)
シリアルモードレジスタ 1(SMR1)
19.3.1
シリアルモードレジスタ 1(SMR1) は ,UART1 の動作モードを指定します。動作モー
ドの設定は動作停止中に行い , 動作中にこのレジスタへの書込みは行わないでくださ
い。
■ シリアルモードレジスタ 1(SMR1)
シリアルモードレジスタ 1(SMR1) のビット構成を以下に示します。
図 19.3-3 シリアルモードレジスタ 1(SMR1)
シリアルモードレジスタ1
アドレス:000024H
リード/ライト
初期値
bit 7
MD1
6
5
4
3
2
1
0
MD0
CS2
CS1
CS0
UPCL
SCKE
SOE
SMR1
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0) (0)
[bit7, bit6] MD1, MD0(MoDe select)
このビットでは ,UART1 の動作モードを選択します。表 19.3-1 に , 動作モード選択設定
を示します。
表 19.3-1 動作モード選択設定
< 注意事項 >
モード
MD1
MD0
0
0
0
非同期(調歩同期)ノーマルモード
1
0
1
非同期(調歩同期)マルチプロセッサモード
2
1
0
CLK 同期モード
-
1
1
設定禁止
動作モード
モード 1 の非同期 ( 調歩同期 ) マルチプロセッサモードとは ,1 台のホスト CPU に
数台のスレーブ CPU が接続される使用法です。本リソースでは , 受信データの
データ形式を判別できません。したがって , 非同期 ( 調歩同期 ) マルチプロセッサ
モードのマスタのみをサポートします。
また , パリティチェック機能は使用できませんので UMC1 レジスタの PEN は "0"
に設定してください。
291
第 19 章 UART1(SCI)
[bit5 ∼ bit3] CS2 ∼ CS0 (Clock Select)
このビットでは , ボーレートクロックソースを選択します。専用ボーレートジェネレー
タを選択した場合には ,同時にボーレートも決定されます。表 19.3-2 にクロック入力選
択設定を示します。
表 19.3-2 クロック入力選択設定
CS2 ∼ CS0
000B ∼ 101B
クロック入力
専用ボーレートジェネレータ
110B
内部タイマ *
111B
外部クロック
*: 内部タイマを選択した場合 ,MB90440G シリーズでは 16 ビットリロードタイマ 0
出力が選択されます。
[bit2] UPCL
UART1 のリセットビットです。
"1" を書込むと UART1 のすべてのレジスタを初期化します。
"0" の書込みは意味がありません。
[bit1] SCKE (SCLK Enable)
CLK 同期モード(モード 2)で通信を行う場合 ,SCK1 端子をクロック入力端子にする
か , クロック出力端子として使うかを指定します。
CLK 非同期モード時または外部クロックモード時では "0" に設定してください。
0: クロック入力端子として機能します。
1: クロック出力端子として機能します。
< 注意事項 >
クロック入力端子として使うには , 外部クロックソースが選択されている必要があ
ります。
[bit0] SOE (Serial Output Enable)
汎用 I/O ポート端子と兼用されている外部端子 (SOT1) を , シリアル出力端子として使
うか ,I/O ポート端子として使うかを指定します。
0: 汎用 I/O ポート端子として機能します。
1: シリアルデータ出力端子 (SOT1) として機能します。
292
第 19 章 UART1(SCI)
シリアルコントロールレジスタ 1(SCR1)
19.3.2
シリアルコントロールレジスタ 1(SCR1) は , シリアル通信を行う場合の転送プロト
コルを制御します。
■ シリアルコントロールレジスタ 1(SCR1)
図 19.3-4 に , シリアルコントロールレジスタ 1(SCR1) のビット構成を示します。
図 19.3-4 シリアルコントロールレジスタ 1(SCR1) のレジスタ一覧
シリアルコントロールレジスタ1
bit 15
アドレス:000025H
リード/ライト
初期値
PEN
14
13
12
11
10
9
8
P
SBL
CL
A/D
REC
RXE
TXE
(R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
SCR1
(W) (R/W) (R/W)
(0)
(1) (0)
[bit15] PEN(Parity Enable)
シリアル通信において , パリティを付加してデータ通信を行うかどうかを指定します。
0: パリティなし
1: パリティあり
< 注意事項 >
パリティを付加できるのは , 非同期 ( 調歩同期 ) ノーマルモードのノーマルモード
( モード 0) のみです。非同期 ( 調歩同期 ) マルチプロセッサモードおよび CLK 同期
モード ( モード 2) では , パリティを付加することはできません。
[bit14] P(Parity)
パリティを付加してデータ通信を行うとき , 偶数 / 奇数パリティを指定します。
0: 偶数パリティ
1: 奇数パリティ
[bit13] SBL(Stop Bit Length)
非同期(調歩同期)通信を行うときのフレームエンドマークである , ストップビットの
ビット長を指定します。
0:1 ストップビット
1:2 ストップビット
293
第 19 章 UART1(SCI)
[bit12] CL(Character Length)
送受信する 1 フレームのデータ長を指定します。
0:7 ビットデータ
1:8 ビットデータ
< 注意事項 >
7 ビットデータを扱えるのは , 非同期 ( 調歩同期 ) ノーマルモードのうちのノーマル
モード ( モード 0) のみです。非同期 ( 調歩同期 ) マルチプロセッサモード ( モード
1) および CLK 同期モード ( モード 2) では ,8 ビットデータとしてください。
[bit11] A/D(Address/Data)
非同期(調歩同期)通信のマルチプロセッサモード(モード 1)において , 送信するフ
レームのデータ形式を指定します。
0: データフレーム
1: アドレスフレーム
[bit10] REC(Receiver Error Clear)
SSR1 レジスタのエラーフラグ (PE, ORE, FRE) をクリアします。
"1" 書込みは無効であり , 読出し値は常に "1" になります。
[bit9] RXE(Receiver Enable)
UART1 の受信動作を制御します。
0: 受信動作を禁止します。
1: 受信動作を許可します。
< 注意事項 >
受信中 ( 受信シフトレジスタにデータが入力されているとき ) に受信動作を禁止し
た場合には , そのフレームの受信を完了し受信データバッファ SIDR1 レジスタに
受信データをストアしたところで受信動作を停止します。
[bit8] TXE(Transmitter Enable)
UART1 の送信動作を制御します。
0: 送信動作を禁止します。
1: 送信動作を許可します。
< 注意事項 >
294
送信中 ( 送信レジスタからデータが出力されているとき ) に送信動作を禁止した場
合は , 送信データバッファ SODR1 レジスタにデータがなくなった後に送信動作を
停止します。
"0" の書込みは ,SODR1 レジスタにデータを書き込んだ後は , 一定の期間を置いて
行ってください。一定の期間は , クロック非同期転送モード時は , ボーレートの
1/16 時間です。クロック同期転送モード時は , ボーレートの時間です。
第 19 章 UART1(SCI)
シリアルインプットデータレジスタ 1(SIDR1)/
シリアルアウトプットデータレジスタ 1(SODR1)
19.3.3
シリアルインプットデータレジスタ 1(SIDR1)/ シリアルアウトプットデータレジス
タ 1(SODR1) レジスタは , 受信 / 送信用のデータバッファレジスタです。
■ シリアルインプットデータレジスタ1(SIDR1)/シリアルアウトプットデータレジス
タ 1(SODR1)
SIDR1 と SODR1 のビット構成を以下に示します。
図 19.3-5 シリアルインプットデータレジスタ 1(SIDR1)/
シリアルアウトプットデータレジスタ 1(SODR1)
シリアルインプットデータレジスタ1
シリアルアウトプットデータレジスタ1
6
bit 7
アドレス:000026H
リード/ライト
初期値
D7
D6
5
4
3
2
1
0
D5
D4
D3
D2
D1
D0
SIDR1(read)
SODR1(write)
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
シリアルインプットデータレジスタ 1(SIDR1) は , シリアルデータ受信用のデータバッ
ファレジスタです。シリアルアウトプットデータレジスタ 1(SODR1) は , シリアルデー
タ送信用のデータバッファレジスタです。データ長が 7 ビットの場合 , 上位 1 ビット
(D7) は無効データとなります。SODR1 レジスタへの書込みは ,SSR1 レジスタの TDRE
が "1" のときに行ってください。
< 注意事項 >
このアドレスへの書込みは SODR1 レジスタへの書込みを , 読出しは SIDR1 レジス
タの読出しを意味します。
295
第 19 章 UART1(SCI)
19.3.4
シリアルステータスレジスタ 1(SSR1)
シリアルステータスレジスタ 1(SSR1) は ,UART1 の動作状態を表すフラグで構成さ
れています。
■ シリアルステータスレジスタ 1(SSR1)
シリアルステータスレジスタ 1(SSR1) のビット構成を以下に示します。
図 19.3-6 シリアルステータスレジスタ 1(SSR1)
シリアルステータスレジスタ1
bit 15
14
13
12
11
10
9
8
アドレス:000027H
PE
ORE
FRE
RDRF
TDRE
BDS
RIE
TIE
リード/ライト
初期値
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
(R) (R/W) (R/W) (R/W)
(1) (0) (0)
(0)
SSR1
[bit15] PE(Parity Error)
受信時にパリティエラーが発生したときにセットされる , 割込み要求フラグです。一度
セットされたフラグをクリアするには ,SCR1 レジスタの REC ビット (bit10) に "0" を書
き込みます。
本ビットがセットされた場合には ,SIDR1 のデータは無効となります。
0: パリティエラーなし
1: パリティエラー発生
[bit14] ORE(Over Run Error)
受信時にオーバランエラーが発生したときにセットされる , 割込み要求フラグです。一
度セットされたフラグをクリアするには ,SCR1 レジスタの REC ビット (bit10) に "0" を
書き込みます。
本ビットがセットされた場合には ,SIDR1 のデータは無効となります。
0: オーバランエラーなし
1: オーバランエラー発生
[bit13] FRE(Framing Error)
受信時にフレーミングエラーが発生したときにセットされる , 割込み要求フラグです。
一度セットされたフラグをクリアするには ,SCR1 レジスタの REC ビット (bit10) に "0"
を書き込みます。
本ビットがセットされた場合には ,SIDR1 のデータは無効となります。
0: フレーミングエラーなし
1: フレーミングエラー発生
296
第 19 章 UART1(SCI)
[bit12] RDRF(Receiver Data Register Full)
SIDR1 レジスタに受信データがあることを示す , 割込み要求フラグです。
SIDR1 レジスタに受信データがロードされるとセットされ ,SIDR1 レジスタを読み出す
と自動的にクリアされます。
0: 受信データなし
1: 受信データあり
[bit11] TDRE(Transmitter Data Register Empty)
SODR1 に送信データを書き込めることを示す , 割込み要求フラグです。
SODR1 レジスタに送信データを書き込むとクリアされます。書き込んだデータが送信
用シフタにロードされて転送が開始されると再びセットされ,次の送信データを書き込
めることを表します。
0: 送信データの書込み禁止
1: 送信データの書込み許可
[bit10] BDS(Bit Direction Select)
シリアルデータを最下位ビット側から先に転送するか(LSB ファースト), 最上位ビッ
ト側から転送するか(MSB ファースト)を選択します。
0:LSB ファースト
1:MSB ファースト
[bit9] RIE(Receiver Interrupt Enable)
受信割込みを制御します。
0: 割込みを禁止します。
1: 割込みを許可します。
< 注意事項 >
受信割込み要因は ,PE, ORE, FRE によるエラー発生のほか ,RDRF による正常受信
があります。
[bit8] TIE(Transmitter Interrupt Enable)
送信割込みを制御します。
0: 割込みを禁止します。
1: 割込みを許可します。
< 注意事項 >
送信割込み要因は ,TDRE フラグによる送信要求も含みます。
297
第 19 章 UART1(SCI)
19.3.5
UART1 プリスケーラコントロールレジスタ
(U1CDCR)
UART1 プリスケーラコントロールレジスタ (U1CDCR) は , マシンクロックの分周を
制御するレジスタです。UART1 の動作クロックは , マシンクロックを分周すること
により得られます。この通信プリスケーラによって , 種々のマシンクロックに対して
一定のボーレートが得られるように設計されています。
本通信プリスケーラ出力は , 拡張 I/O シリアルインタフェースの動作クロックにも使
われています。
■ UART1 プリスケーラコントロールレジスタ (U1CDCR)
U1CDCR のビット構成を以下に示します。
図 19.3-7 UART1 プリスケーラコントロールレジスタ (U1CDCR)
UART1プリスケーラコントロールレジスタ
6
bit 7
アドレス:000028H
リード/ライト
初期値
MD
-
(R/W)
(0)
(-)
(-)
5
4
-
-
(-)
(-)
(-)
(-)
3
2
1
DIV3 DIV2
0
DIV1 DIV0
U1CDCR
(R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
[bit7] MD(Machine clock devide MoDe select)
通信プリスケーラの動作許可ビットです。
0: 通信プリスケーラは停止します。
1: 通信プリスケーラは動作します。
[bit3 ∼ bit0] DIV3 ∼ DIV0 (DIVide 3 ∼ DIVide0)
表 19.3-3 に示す表に従い , マシンクロックの分周比を決定します。
表 19.3-3 マシンクロックの分周比
DIV3
DIV2
DIV1
DIV0
分周比 *
0
0
0
0
1 分周
0
0
0
1
2 分周
0
0
1
0
3 分周
0
0
1
1
4 分周
0
1
0
0
5 分周
0
1
0
1
6 分周
0
1
1
0
7 分周
0
1
1
1
8 分周
*: 分周比を変えた場合はクロックの安定時間として 2 周期分の
から通信を行ってください。
298
時間を置いて
第 19 章 UART1(SCI)
UART1 の動作モードとクロック選択
19.4
UART1 は , 非同期モードと CLK 同期モードの 2 種類の動作モードを持ち ,SMR1 レ
ジスタ ,SCR1 レジスタに値を設定することによりモードを切り換えることができま
す。
■ UART1 の動作モード
表 19.4-1 に ,UART1 の動作モードを示します。
表 19.4-1 UART1 の動作モード
モード
パリティ
データ長
有/無
7
有/無
8
1
無
8+1
2
無
8
0
動作モード
ストップビット長
非同期(調歩同期)ノーマルモード
< 注意事項 >
1 ビットまたは 2 ビット
非同期(調歩同期)マルチプロセッサ
モード
CLK 同期モード
無
非同期 ( 調歩同期 ) モードでのストップビット長については , 送信動作のみ指定が
可能です。受信動作 については常に 1 ビット長となります。上記モード以外では
動作しませんので , 設定しないでください。
■ UART1 のクロック選択
● 専用ボーレートジェネレータ
専用ボーレートジェネレータを選択したときのボーレートを 表 19.4-2 および表 19.4-3
に示します。また , 通信プリスケーラ設定値を 表 19.4-4 に示します。
なお , 表中の φ はマシンクロックを示します。
表 19.4-2 ボーレート(非同期時)
CS2
CS1
CS0
φ/div=1MHz
φ/div=2MHz
φ/div=4MHz
φ/div=8MHz
0
0
0
4808
9615
19230
38460
(φ/div)/(8 × 13 × 2)
0
0
1
2404
4808
9615
19230
(φ/div)/(8 × 13 × 22)
0
1
0
1202
2404
4808
9615
(φ/div)/(8 × 13 × 23)
0
1
1
601
1202
2404
4808
(φ/div)/(8 × 13 × 24)
1
0
0
31250
62500
125k
250k
(φ/div)/25
1
0
1
15625
31250
62500
125k
(φ/div)/26
算出式
299
第 19 章 UART1(SCI)
表 19.4-3 ボーレート (CLK 同期時)
CS2
CS1
CS0
φ/div=1MHz
φ/div=2MHz
φ/div=4MHz
φ/div=8MHz
0
0
0
1M
2M
-
-
(φ/div)/1
0
0
1
500k
1M
2M
-
(φ/div)/2
0
1
0
250k
500k
1M
2M
(φ/div)/22
0
1
1
125k
250k
500k
1M
(φ/div)/23
1
0
0
62500
125k
250k
500k
(φ/div)/24
1
0
1
31250
62500
125k
250k
(φ/div)/25
算出式
表 19.4-4 通信プリスケーラ設定値
推奨マシンクロック φ
div
DIV3
DIV2
DIV1
DIV0
4MHz
4
0
0
1
1
6MHz
6
0
1
0
1
8MHz
8
0
1
1
1
6MHz
3
0
0
1
0
8MHz
4
0
0
1
1
10MHz
5
0
1
0
0
12MHz
6
0
1
0
1
14MHz
7
0
1
1
0
16MHz
8
0
1
1
1
8MHz
2
0
0
0
1
12MHz
3
0
0
1
0
16MHz
4
0
0
1
1
16MHz
2
0
0
0
1
φ/div
1MHz
2MHz
300
4MHz
8MHz
第 19 章 UART1(SCI)
● 内部タイマ
CS2 ∼ CS0 ビットを "110B" に設定して内部タイマを選択した場合は , リロードタイマ
0(16 ビット 動作時 ) をリロードモードで動作させます。このときのボーレートの算出
式は , 次のとおりです。
非同期 ( 調歩同期 ) : (φ/N)/(16 × 2 × (n+1))
CLK 同期 : (φ/N)/(2 × (n+1))
N: タイマのカウントクロックソース
n: タイマのリロード値
マシンクロックを 7.3728MHz としたときのボーレートとリロード値 (10 進数 ) の関係
を , 表 19.4-5 に示します。
表 19.4-5 ボーレートとリロード値
リロード値
ボーレート
(bps)
N=21
N=23
(マシンクロックの 2 分周) (マシンクロックの 8 分周)
38400
2
-
19200
5
-
9600
11
2
4800
23
5
2400
47
11
1200
95
23
600
191
47
300
383
95
ボーレートクロックソースとして内部タイマ(16 ビットタイマ 0)を選択した場合に
は ,16 ビットタイマ 0 の出力信号 TOT0 は , 既に MB90440G コントローラに内部的に接
続されていることに注意してください。したがって ,16 ビットタイマ 0 の外部出力端子
TOT0 から UART1 の外部クロック入力端子 SCK1 へ外部で接続する必要はありません。
また , タイマ端子をほかに使用していなければ ,I/O ポート端子として使用することが
できます。
● 外部クロック
CS2 ∼ CS0 を "111" に設定して外部クロックを選択した場合のボーレートは , 外部ク
ロックの周波数を f とすると次のようになります。
非同期(調歩同期): f/16
CLK 同期 : f
f の最大値は 2MHz であることに , 注意してください。
301
第 19 章 UART1(SCI)
19.4.1
非同期 ( 調歩同期 ) モード
UART1 は ,NRZ(Non Return to Zero) 形式のデータのみを扱います。
■ 非同期 ( 調歩同期 ) モードの転送データフォーマット
図 19.4-1 に , 転送データフォーマットを示します。
図 19.4-1 非同期 ( 調歩同期 ) モードの転送データフォーマット ( モード 0, モード 1)
SIN1,SOT1
0
1
Start LSB
0
1
1
0
0
1
転送されたデータは,"01001101B"
0
1
1
MSB Stop
A/D Stop
(モード0)
(モード1)
図 19.4-1 に示すように , 転送データは必ずスタートビット ("L" レベルデータ ) より始
まり , 指定されたデータビット長転送が行われ , ストップビット ("H" レベルデータ ) で
終了します。外部クロックを選択している場合は , 常にクロックを入力してください。
ノーマルモード ( モード 0) ではデータ長を 7 ビットまたは 8 ビットに設定することが
できますが , マルチプロセッサモード ( モード 1) では 8 ビットでなければなりません。
また , マルチプロセッサモードではパリティを付加することはできません。そのかわ
り ,A/D ビットが必ず付加されます。
■ 非同期 ( 調歩同期 ) モードの受信動作
シリアルコントロールレジスタ 1(SCR1) 内の RXE ビットが "1" ならば , 常に受信動作
が行われています。スタートビットを検出すると ,SCR1 レジスタで決められたデータ
フォーマットに従い ,1 フレームデータの受信が行われます。1 フレームの受信が終わ
ると , エラーが発生した場合にはエラーフラグのセットが行われたあと , シリアルス
テータスレジスタ 1(SSR1) 内の RDRF フラグがセットされます。この場合 , 同じ SSR1
レジスタの RIE ビットが "1" にセットされていれば CPU に対して受信割込みが発生し
ます。SSR1 レジスタの各フラグを調べ , 正常受信ならシリアルインプットデータレジ
スタ 1(SIDR1) をリードして , エラーが発生していれば必要なエラー処理をしてくださ
い。RDRF フラグは SIDR1 レジスタをリードするとクリアされます。
■ 非同期 ( 調歩同期 ) モードの送信動作
シリアルステータスレジスタ 1(SSR1) 内の TDRE フラグが "1" の場合 , シリアルアウト
プットデータレジスタ 1(SODR1) に送信データを書き込みます。ここでシリアルコン
トロールレジスタ 1(SCR1) 内の TXE ビットが "1" なら送信が行われます。SODR1 レジ
スタにセットしたデータが送信用シフトレジスタにロードされて送信が開始されると
SSR1 レジスタ内の TDRE フラグが再びセットされ , 次の送信データをセットできるよ
うになります。この場合 , 同じ SSR1 レジスタ内の TIE ビットが "1" にセットされてい
れば CPU に対して送信割込みが発生して ,SODR1 レジスタに送信データをセットする
ように要求します。SSR1 レジスタ内の TDRE フラグは SODR1 レジスタにデータを
セットするとクリアされます。
302
第 19 章 UART1(SCI)
19.4.2
CLK 同期モード
UART1 は ,NRZ(Non Return to Zero) 形式のデータのみを扱います。
■ CLK 同期モードの転送データフォーマット
図 19.4-2 に , 送受信クロックとデータとの関係を示します。
図 19.4-2 CLK 同期モードの転送データフォーマット ( モード 2)
SODR1書込み
マーク
SCLK
RXE,TXE
SIN1,SOT1
1
0
LSB
1
1
0
0
1
0
MSB
(モード2)
転送されたデータは,"01001101B"
内部クロック(専用ボーレートジェネレータまたは内部タイマ)を選択している場合は,
データを送信するとデータ受信用同期クロックが自動的に生成されます。
外部クロックを選択している場合は , 送信側 UART1 の送信用データバッファ SODR1
レジスタにデータがあること (TDRE フラグが "0") を確かめた後 , 正確に 1 バイト分の
クロックを供給する必要があります。また , 送信開始前と終了後は , 必ずマークレベル
にしてください。
データは 8 ビットのみとなり , パリティを付加することはできません。また , スター
ト / ストップビットがないのでオーバランエラー以外のエラー検出は行われません。
■ CLK 同期モードを使用する場合の各制御レジスタの設定値
CLK 同期モードを使用する場合の各制御レジスタの設定値を示します。
● SMR1 レジスタ
MD1, MD0
:10
CS2, CS1, CS0 : クロック入力を指定
SCKE
: 専用ボーレートジェネレータまたは内部タイマの場合 "1"
外部クロックの場合 "0"
SOE
: 送信を行う場合 "1", 受信のみの場合 "0"
303
第 19 章 UART1(SCI)
● SCR1 レジスタ
PEN
:"0"
P, SBL, A/D : これらのビットは意味を持ちません
CL
:"1"
REC
:"0"( 初期化するため )
RXE, TXE : 少なくとも , どちらか一方を "1"
● SSR1 レジスタ
RIE : 割込みを使用する場合 "1", 割込みを使用しない場合 "0"
TIE :"0"
■ CLK 同期モードの通信開始
SODR1 レジスタへの書込みによって通信を開始します。受信のみの場合でも , 必ず仮
の送信データを SODR1 レジスタに書き込む必要があります。
■ CLK 同期モードの通信終了
SSR1 レジスタの RDRF フラグが "1" に変化したことにより確認できます。SSR1 レジ
スタの ORE ビットによって , 通信が正常に行われたかを判断してください。
304
第 19 章 UART1(SCI)
19.5
UART1 のフラグと割込み発生要因
UART1 は PE/ORE/FRE/RDRF/TDRE の 5 つのフラグを持ちます。また , 割込み要
因には受信用のものと送信用のものがあります。
■ UART1 のフラグ
UART は ,PE/ORE/FRE/RDRF/TDRE の 5 つのフラグを持ちます。PE はパリティエ
ラー ,ORE はオーバランエラー ,FRE はフレーミングエラーのことで , 受信時エラーが
発生したときにセットされ ,SCR1 レジスタの REC に "0" を書き込むとクリアされます。
RDRF は受信データが SIDR1 レジスタにロードされるとセットされ ,SIDR1 レジスタを
読み出すことでクリアされます。ただし , モード 1 ではパリティ検出機能 , モード 2 で
はパリティ検出機能とフレーミングエラー検出機能はありません。
TDRE は ,SODR1 レ
ジスタが空になり , 書込み可能な状態になるとセットされ ,SODR1 レジスタへ書き込む
とクリアされます。
■ UART1 の割込み発生要因
UART1 の割込み発生要因には , 受信用のものと送信用のものがあります。受信時は ,PE/
ORE/FRE/RDRF により割込みを要求します。送信時は ,TDRE により割込みを要求しま
す。
各動作モード時の割込みとフラグのセットタイミングを , 「19.6 UART1 の割込みとフ
ラグのセットタイミング」に示します。
305
第 19 章 UART1(SCI)
19.6
UART1 の割込みとフラグのセットタイミング
各動作モード時の割込みとフラグのセットタイミングを示します。
■ UART1 の割込みとフラグのセットタイミング
● モード 0 の受信動作時
PE, ORE, FRE, RDRF は受信転送が終了し , 最後のストップビットを検出するときにフ
ラグがセットされ ,CPU への割込み要求が発生します。PE, ORE, FRE がアクティブ時
には ,SIDR1 のデータは無効データとなります。
図 19.6-1 に ,PE, ORE, FRE, RDRF のセットタイミング ( モード 0) を示します。
図 19.6-1 PE, ORE, FRE, RDRF のセットタイミング ( モード 0)
データ
D6
D7
Stop
PE,ORE,FRE
RDRF
受信割込み
● モード 1 の受信動作時
ORE, FRE, RDRF は受信転送が終了し , 最後のストップビットを検出するときにフラグ
がセットされ ,CPU への割込み要求が発生します。また , 受信可能なデータ長は 8 ビッ
トのため , 最後の 9 ビット目のアドレス / データを示すデータは無効データとなりま
す。ORE, FRE がアクティブ時は ,SIDR1 のデータは無効データとなります。
図 19.6-2 に ,ORE, FRE, RDRF のセットタイミング ( モード 1) を示します。
図 19.6-2 ORE, FRE, RDRF のセットタイミング ( モード 1)
データ
D7
アドレス/
データ
Stop
ORE,FRE
RDRF
受信割込み
● モード 2 の受信動作時
ORE, RDRF は受信転送が終了し , 最後のデータ (D7) を検出するときにフラグがセット
され ,CPU への割込み要求が発生します。ORE がアクティブ時は ,SIDR1 のデータは無
効データとなります。
図 19.6-3 に ,OR, RDRF のセットタイミング(モード 2)を示します。
306
第 19 章 UART1(SCI)
図 19.6-3 ORE, RDRF のセットタイミング(モード 2)
データ
D5
D6
D7
ORE
RDRF
受信割込み
● モード 0, モード 1, モード 2 の送信動作時
TDRE フラグは ,SODR1 レジスタへ送信データが書き込まれるとクリアされます。ま
た ,SODR1 レジスタ値が内部シフトレジスタに転送されると SODR1 レジスタが書き込
み可能な状態になるため ,TDRE フラグがセットされます。このフラグがセットされる
と CPU への割込み要求が発生します。送信動作中に SCR1 レジスタの TXE に "0"
(モー
ド 2 のときは RXE も含む)を書き込むと ,SSR1 レジスタの TDRE が "1" となり , 送信
用のシフタが停止してから UART1 の送信動作を禁止します。送信動作中に SCR レジ
スタの TXE に "0"(モード 2 のときは RXE も含む)を書き込んだ後 , 送信が停止する
前に SODR1 レジスタへ書き込まれたデータは送信されます。図 19.6-4 に ,TDRE のセッ
トタイミング ( モード 0, 1) を示します。また , 図 19.6-5 に ,TDRE のセットタイミング
( モード 2) を示します。
図 19.6-4 TDRE のセットタイミング ( モード 0, 1)
SODR1書込み
TDRE
CPUへ割込みを要求する。
SOT1割込み
SOT1出力
ST
D0
D1
D2
D3
D4
D5
D6
D7
SP SP
A/D
ST
D0
D1
D2
D3
ST
:スタートビット
D0~D7:データビット
SP
:ストップビット
A/D
:アドレス/データマルチプレクサ
図 19.6-5 TDRE のセットタイミング ( モード 2)
SODR1書込み
TDRE
CPUへ割込みを要求する。
SOT1割込み
SOT1出力
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
D6
D7
D0~D7:データビット
307
第 19 章 UART1(SCI)
19.7
ネガティブクロック動作
MB90440G シリーズは ,UART1 のネガティブクロック動作をサポートします。この
動作では , シフトクロック信号はインバータにより単純に反転にされます。このた
め ,UART1 で進行中のセクションにおけるシフトクロック信号の定義は , ロジック
"L" レベルからロジック "H" レベルへ , ネガティブエッジからポジティブエッジへ ,
あるいはこの逆に反転されます。このことは , シリアルクロックの入力および出力と
もに同じです。シリアルエッジセレクトレジスタは , この目的のために用意されてい
ます。
■ ネガティブクロック動作
図 19.7-1 シリアルエッジセレクトレジスタ (SES1)
シリアルエッジセレクトレジスタ
bit 7
6
5
4
3
0
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(-) (-) (-) (-) (-) (-) (-) (0)
表 19.7-1 NEG ビットの設定
NEG
308
1
NEG
アドレス:000029H
リード/ライト
初期値
2
操作
0
通常動作 [ 初期値 ]
1
シフトクロック信号反転
SES1
第 19 章 UART1(SCI)
19.8
UART1 の応用例と使用上の注意
UART1 の応用例として , モード 1 使用時のシステム構築例と通信フローチャートを
示します。
■ UART1 の応用例(モード 1 使用時のシステム構築例)
図 19.8-1 に示すように , モード 1 は ,1 台のホスト CPU に数台のスレーブ CPU が接続
されるような場合に使用されます。このリソースでは , ホスト側の通信インタフェース
のみサポートします。
図 19.8-1 モード 1 使用時のシステム構築例
SOT1
SIN1
ホストCPU
SOT1
SIN1
スレーブCPU#0
SOT1
SIN1
スレーブCPU#1
■ UART1 の通信フローチャート
通信はホスト CPU がアドレスデータを転送することによって始まります。アドレス
データとは ,SCR1 レジスタの A/D が "1" のときのデータで , それにより通信先となる
スレーブ CPU が選択され , ホスト CPU との通信が可能になります。通常データは ,SCR1
レジスタの A/D が "0" のときのデータです。図 19.8-2 にそのフローチャートを示しま
す。
このモードにおいては , パリティチェック機能は使用できませんので SCR1 レジスタの
PEN ビットは "0" としてください。
309
第 19 章 UART1(SCI)
図 19.8-2 モード 1 使用時の通信フローチャート
(ホスト CPU )
START
転送モードを"1"とする
D0 ~ D7 にスレーブ CPU を
選択するデータ,
A/Dに"1"をセットし
1バイト転送
A/Dに"0"をセット
受信動作許可
スレーブCPUと通信
NO
通信終了?
YES
ほかの
スレーブ CPU
と通信
NO
YES
受信動作禁止
END
■ 拡張インテリジェント I/O サービス (EI2OS)
拡張インテリジェント I/O サービス (EI2OS) の詳細については ,「3.6 拡張インテリジェ
ント I/O サービス (EI2OS)」を参照してください。
■ UART1 の使用上の注意
通信モードの設定は , 動作停止中に行ってください。モード設定時の送受信したデータ
は保証されません。
310
第 20 章
シリアル I/O
シリアル I/O の機能と動作について示します。
20.1 シリアル I/O の概要
20.2 シリアル I/O のレジスタ
20.3 シリアル I/O の動作
20.4 ネガティブクロック動作
311
第 20 章 シリアル I/O
シリアル I/O の概要
20.1
シリアル I/O の動作モードには , 以下の 2 種類があります。
• 内部シフトクロックモード : 内部クロックに同期してデータ転送を行います。
• 外部シフトクロックモード : 外部端子 (SCK2) から入力されるクロックに同期して
データ転送を行います。このモードで外部端子
(SCK2) を共有している汎用ポートを操作することに
より ,CPU の命令による転送動作も可能です。
■ シリアル I/O のブロックダイヤグラム
クロック同期によるデータ転送を可能にするシリアル I/O インタフェースのブロック
ダイヤグラムを示します。このインタフェースは 8 ビット× 1ch 構成で , データは LSB/
MSB から転送できます。
図 20.1-1 シリアル I/O のブロックダイヤグラム
内部データバス
D7~D0(LSBファースト)
(MSBファースト)D0~D7)
転送方向選択
SIN2
リード
ライト
SDR(シリアルデータレジスタ)
SOT2
SCK2
シフトクロック
カウンタ
制御回路
内部クロック
(通信プリスケーラ)
2
SMD2
1
SMD1
0
SMD0
SIE
SIR
BUSY
STOP
STRT
MODE
割込み
要求
内部データバス
312
BDS
SOE
SCOE
第 20 章 シリアル I/O
20.2
シリアル I/O のレジスタ
シリアル I/O のレジスタには , 次の 3 つがあります。
• シリアルモードコントロールステータスレジスタ (SMCS)
• シリアルデータレジスタ (SDR)
• シリアル I/O プリスケーラ (SCDCR)
■ シリアル I/O のレジスタ
図 20.2-1 シリアル I/O のレジスタ
シリアルモードコントロールステータスレジスタ
bit 15
14
13
アドレス:00002DH
リード/ライト
初期値
アドレス:00002CH
リード/ライト
初期値
シリアルデータレジスタ
アドレス:00002EH
リード/ライト
初期値
シリアルI/Oプリスケーラ
アドレス:00002BH
リード/ライト
初期値
SMD2
SMD1
SMD0
12
11
10
9
8
SIE
SIR
BUSY
STOP
STRT
(R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
bit 7
6
5
4
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(R)
(0)
SMCS
(R/W) (R/W)
(1)
(0)
3
2
1
0
MODE
BDS
SOE
SCOE
SMCS
(R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
bit 7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
SDR
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
bit 15
MD
14
13
12
11
10
9
8
DIV3
DIV2
DIV1
DIV0
SCDCR
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(-)
(-)
(-)
(1)
(1)
(1)
(1)
313
第 20 章 シリアル I/O
シリアルモードコントロールステータスレジスタ
(SMCS)
20.2.1
シリアルモードコントロールステータスレジスタ (SMCS) は , シリアル I/O 転送モー
ドを制御するレジスタです。
■ シリアルモードコントロールステータスレジスタ (SMCS)
図 20.2-2 シリアルモードコントロールステータスレジスタ (SMCS)
シリアルモードコントロールステータスレジスタ
bit 15
アドレス:00002DH
リード/ライト
初期値
14
13
12
11
SMD2 SMD1 SMD0 SIE
SIR
10
9
8
BUSY STOP STRT
(R/W) (R/W) (R/W) (R/W) (R/W) (R) (R/W) (R/W)
(0) (0) (0) (0) (0) (0) (1) (0)
↑
↑
*2
*1
bit 7
アドレス:00002CH
リード/ライト
初期値
(-)
(-)
6
(-)
(-)
5
(-)
(-)
4
2
1
0
MODE BDS
3
SOE
SCOE
SMCS
(-) (R/W) (R/W) (R/W) (R/W)
(-) (0) (0) (0) (0)
*1:書込み動作は,"0"のみ可
*2:書込み動作は,"1"のみ可,読出し動作は常に"0"
[bit15 ∼ bit13] SMD2 ∼ SMD0: シフトクロック選択ビット
シリアルシフトクロックモードを 表 20.2-1 に示すとおりに選択します。
表 20.2-1 シリアルシフトクロックモードの設定
SMD
2
SMD
1
SMD
0
φ=16MHz
div=4
φ=8MHz
div=4
φ=4MHz
div=4
div
M1
DIV
3
DIV
2
DIV
1
DIV
0
推奨マシン
サイクル
0
0
0
2 MHz
1 MHz
500 kHz
3
1
1
1
0
1
6 MHz
0
0
1
1 MHz
500 kHz
250 kHz
4
1
1
1
0
0
8 MHz
0
1
0
250 kHz
125 kHz
62.5 kHz
5
1
1
0
1
1
10 MHz
0
1
1
125 kHz
62.5 kHz
31.25 kHz
6
1
1
0
1
0
12 MHz
1
0
0
62.5 kHz
31.25 kHz
15.625 kHz
7
1
1
0
0
1
14 MHz
1
0
1
外部シフトクロックモード
8
1
1
0
0
0
16 MHz
1
1
0
予約
1
1
1
予約
< 注意事項 >
詳細については ,「20.2.3 シリアル I/O プリスケーラ (SCDCR)」を参照してくだ
さい。
リセットにより "000B" に初期化されます。本ビットの転送中の書換えは禁止しま
す。シフトクロックは内部シフトクロック 5 種類と , 外部シフトクロックが選択
できます。SMD2 ∼ SMD0=110B と 111B はリザーブですので設定しないでくだ
さい。
クロック選択で SCOE=0 とし ,SCK2 端子を共有しているポートを操作すること
によって命令ごとにシフト動作させることも可能です。
314
第 20 章 シリアル I/O
[bit12] SIE: シリアル I/O 割込み許可ビット
シリアル I/O の割込み要求を 表 20.2-2 に示すとおりに制御します。
表 20.2-2 割込み要求許可ビットの設定
0
シリアル I/O 割込み禁止 [ 初期値 ]
1
シリアル I/O 割込み許可
リセットにより "0" に初期化されます。本ビットは , 読出し / 書込みが可能です。
[bit11] SIR: シリアル I/O 割込み要求ビット
シリアルデータの転送が終了すると "1" にセットされ , 割込み許可時 (SIE=1) にこの
ビットが "1" になると ,CPU へ割込み要求を発生します。クリア条件は MODE ビット
によって異なります。MODE ビットが "0" のとき ,SIR ビットへの "0" 書込みによりク
リアされます。MODE ビットが "1" のとき ,SDR の読出し , または書込み動作によりク
リアされます。MODE ビットの値にかかわらずリセット , または STOP ビットへの "1"
書込み動作によりクリアされます。
本ビットに "1" を書き込んでも影響しません。リードモディファイライト系命令の読
出し時は , 常に "1" が読み出されます。
[bit10] BUSY : 転送状態ビット
シリアル転送が実行中か否かを示すビットです。
表 20.2-3 転送状態ビットの設定
BUSY
動作
0
停止またはシリアルデータレジスタ R/W 待機状態 [ 初期値 ]
1
シリアル転送状態
リセットにより "0" に初期化されます。本ビットは , 読出しのみ可能です。
[bit9] STOP : ストップビット
シリアル転送を強制的に中断させるビットです。本ビットを "1" に設定すると STOP=1
による停止状態となります。
表 20.2-4 ストップビットの設定
STOP
動作
0
動作
1
STOP=1 による転送停止 [ 初期値 ]
リセットにより "1" に初期化されます。本ビットは , 読出し / 書込みが可能です。
[bit8] STRT : スタートビット
シリアル転送の起動を行うビットです。停止状態で "1" を書くことによって転送が開
始されます。シリアル転送動作中およびシリアルシフトレジスタ R/W 待機中の "1" の
書込みは無視され , "0" の書込みは意味がありません。
読出し時には常に "0" が読み出されます。
315
第 20 章 シリアル I/O
[bit3] MODE : シリアルモード選択ビット
このビットにより停止状態からの起動条件の選択を行います。ただし , 動作中の書換え
は禁止です。
表 20.2-5 シリアルモード選択ビットの設定
MODE
動作
0
STRT=1 にすることにより起動します。[ 初期値 ]
1
シリアルデータレジスタのリード / ライトにより起動します。
リセットにより "0" に初期化されます。本ビットは , リード / ライトが可能です。拡張
インテリジェント I/O サービスを起動する際には "1" にしてください。
[bit2] BDS: 転送方向選択ビット
シリアルデータの入出力時に , 最下位ビット側から先に転送するか(LSB ファースト),
最上位ビット側から先に転送するか(MSB ファースト)を選択します。
表 20.2-6 転送方向選択ビットの設定
< 注意事項 >
0
LSB ファースト [ 初期値 ]
1
MSB ファースト
転送方向選択ビットは ,SDR にデータを書き込む前に , 設定してください。
[bit1]SOE : シリアル出力許可ビット
シリアル I/O 用出力外部端子 (SOT2) の出力を 表 20.2-7 に示すとおりに制御します。
表 20.2-7 シリアル出力許可ビットの設定
0
汎用ポート端子 [ 初期値 ]
1
シリアルデータ出力
リセットにより "0" に初期化されます。本ビットは , リード / ライトが可能です。
[bit0] SCOE : シフトクロック出力許可ビット
シフトクロック用入出力外部端子 (SCK2) の出力を 表 20.2-8 に示すとおりに制御しま
す。
表 20.2-8 シフトクロック出力許可ビットの設定
0
汎用ポート端子 , 命令毎転送時 [ 初期値 ]
1
シフトクロック出力端子
外部シフトクロックモードで命令ごとに転送を行うときは "0" に設定してください。リ
セットにより "0" に初期化されます。本ビットは , リード / ライトが可能です。
316
第 20 章 シリアル I/O
20.2.2
シリアルデータレジスタ (SDR)
シリアルデータレジスタ (SDR) は , シリアル I/O 転送データを格納するシリアル
データレジスタで , 転送中は読み書き不可です。
■ シリアルデータレジスタ (SDR)
図 20.2-3 シリアルデータレジスタ (SDR)
シリアルデータレジスタ
アドレス:00002EH
リード/ライト
初期値
bit 7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
SDR
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
317
第 20 章 シリアル I/O
シリアル I/O プリスケーラ (SCDCR)
20.2.3
シリアル I/O プリスケーラ (SCDCR) は , シリアル I/O のシフトクロックを提供しま
す。
シリアル I/O の動作クロックは , マシンクロックを分周することにより得られます。
シリアル I/O は , この通信プリスケーラによって種々のマシンクロックに対して一定
のボーレートが得られるように設計されています。SCDCR レジスタは , マシンク
ロックの分周を制御するレジスタです。
■ シリアル I/O プリスケーラ (SCDCR)
図 20.2-4 シリアル I/O プリスケーラ (SCDCR)
シリアルI/Oプリスケーラ
bit 15
アドレス:00002BH
リード/ライト
初期値
14
13
12
11
10
DIV3 DIV2
MD
(R/W)
(0)
9
8
DIV1
DIV0
SCDCR
(R/W) (R/W) (R/W) (R/W)
(1)
(1)
(1)
(1)
[bit15] MD(Machine clock devide moDe select)
通信プリスケーラの動作許可ビットです。
0: シリアル I/O プリスケーラは停止します。
1: シリアル I/O プリスケーラは動作します。
[bit11 ∼ bit8] DIV3 ∼ DIV0 (DIVide3 ∼ 0)
マシンクロックの分周比を決定するビットです。
表 20.2-9 マシンクロックの分周比
< 注意事項 >
318
DIV3 ∼ DIV0
分周比
1101B
3
1100B
4
1011B
5
1010B
6
1001B
7
1000B
8
分周比を変えた場合はクロックの安定時間として 2 周期分の時間を置いてから通
信を行ってください。
第 20 章 シリアル I/O
20.3
シリアル I/O の動作
拡張シリアル I/O インタフェースは , シリアルモードコントロールステータスレジス
タ (SMCS) およびシリアルデータレジスタ (SDR) により構成されます。8 ビットの
シリアルデータの入出力に使用します。
■ シリアル I/O の動作
シリアルデータの入出力は,シリアルデータレジスタの内容がシリアルシフトクロック
( 外部クロック , 内部クロック ) の立下りに同期してビット直列にシリアル出力端子
(SOT2 端子 ) に出力され , 立上りに同期してシリアル入力端子 (SIN2 端子 ) からビット
直列に SDR( シリアルデータレジスタ ) に入力されます。シフトの方向 (MSB からの転
送またはLSBからの転送)は, シリアルモードコントロールステータスレジスタ(SMCS)
の方向指定ビット (BDS) により指定することができます。
転送が終了するとシリアルモードコントロールステータスレジスタ (SMCS) の MODE
ビットによって停止状態 , またはシリアルデータレジスタ R/W 待機状態に入ります。
各々の状態から転送状態に移るには , それぞれ次のことを行います。
• 停止状態からの復帰のときは STOP ビットに "0",STRT ビットに "1" を書き込みます
(STOP と STRT は同時設定が可能です )。
• シリアルデータレジスタR/W待機状態からの復帰時はシリアルデータレジスタを読
み出し , または書き込みます。
319
第 20 章 シリアル I/O
シフトクロック
20.3.1
シフトクロックには内部シフトクロックモード , 外部シフトクロックモードの 2 種
類があり ,SMCS の設定で指定します。モードの切換えは , シリアル I/O が停止した
状態で行ってください。停止状態の確認は ,BUSY ビットを読み出すことで可能で
す。
■ 内部シフトクロックモード
内部クロックにより動作し , 同期タイミング出力としてデューティ比 50% のシフトク
ロックが SCK2 端子より出力可能です。データが 1 クロックごとに 1 ビット転送され
ます。転送の速度は以下のようになります。
ボーレート=
φ/div
A
A は ,SMCS の SMD ビットで示す分周比で ,21, 22, 24, 25, 26 です。
表 20.3-1 内部シフトクロックモードのボーレート算出式
SMD2
SMD1
SMD0
φ/div=4 MHz
φ/div=2 MHz
φ/div=1 MHz
ボーレート算出式
0
0
0
2 MHz
1 MHz
500 kHz
(φ/div)/21
0
0
1
1 MHz
500 kHz
250 kHz
(φ/div)/22
0
1
0
250 kHz
125 kHz
62.5 kHz
(φ/div)/24
0
1
1
125 kHz
62.5 kHz
31.25 kHz
(φ/div)/25
1
0
0
62.5 kHz
31.25 kHz
15.625 kHz
(φ/div)/26
div の値は , 表 20.2-9 を参照してください。
■ 外部シフトクロックモード
SCK2 端子から入力される外部シフトクロックに同期して , データが 1 クロックごとに
1 ビット転送されます。転送速度は DC から 1/(8 マシンサイクル)まで可能です。た
とえば , "1 マシンサイクル =62.5ns" のとき , 2MHz まで可能です。
命令ごとに転送することもでき , 次のような設定をすることによって実現します。
外部シフトクロックモードを選択し ,SMCS の SCOE ビットを "0" に設定します。さら
に , SCK2 端子を共有しているポートの方向レジスタに "1" を書き込み , ポートを出力
モードに設定します。以上の設定をした後 , ポートのデータレジスタ (PDR) に "1", "0"
を書き込むと , SCK2 端子に出力されるポートの値を外部クロックとして取り込み , 転
送動作を行います。シフトクロックの開始は "H" からスタートさせてください。
< 注意事項 >
320
シリアル I/O 動作中の SMCS, SDR への書込みは禁止です。
第 20 章 シリアル I/O
20.3.2
シリアル I/O の動作状態
シリアル I/O の動作状態には , 次の 4 種類があります。
• STOP 状態
• 停止状態
• SDR の R/W 待機状態
• 転送状態
■ シリアル I/O の動作状態
● STOP 状態
RESET 時 , または SMCS レジスタの STOP ビットに "1" を書き込んだときの状態でシ
フトカウンタは初期化され ,SIR=0 となります。
STOP 状態からの復帰は ,STOP=0, STRT=1(同時設定可)とすることによって行われま
す。STOP ビットは STRT ビットより優先ビットですので STOP=1 のとき STRT=1 とし
ても転送動作は行われません。
● 停止状態
MODE ビットが "0" のとき , 転送が終了したことによって SMCS レジスタが BUSY=0,
SIR=1 となり , カウンタが初期化され停止状態に入ります。停止状態からの復帰は
STRT=1 にすると転送動作が再開されます。
● シリアルデータレジスタ R/W 待機状態
SMCS レジスタの MODE ビットが "1" のとき , シリアル転送が終了すると ,BUSY=0,
SIR=1 となりシリアルデータレジスタ R/W 待機状態に入ります。割込み許可レジスタ
が許可状態ならば本ブロックより割込み信号を出します。
R/W 待機状態からの復帰はシリアルデータレジスタが読み出されたり , 書き込まれた
りすると BUSY=1 となり転送動作が再開されます。
● 転送状態
BUSY=1 でシリアル転送を行っている状態です。MODE ビットによりそれぞれ停止状
態および R/W 待機状態に遷移します。
図 20.3-1 に , 動作遷移を示します。
321
第 20 章 シリアル I/O
図 20.3-1 拡張シリアル I/O インタフェース動作遷移図
リセット
STOP=0 & STRT=0
転送終了
STRT=0,BUSY=0
MODE=0
STOP=0
&
STRT=1
MODE=0
&
STOP=0
&
終了
STOP
STOP=1
STRT=0,BUSY=0
STOP=1
転送動作
STOP=1
STOP=0
&
STRT=1
MODE=1 & 終了 & STOP=0
シリアルデータレジスタ R/W 待機
STRT=1,BUSY=1
SDRのR/W & MODE=1
STRT=1,BUSY=0
MODE=1
図 20.3-2 シリアルデータレジスタへのリード , ライト概念図
シリアルデータ
SOT2
SIN2
データバス
データバス
リード
ライト
割込み出力
I/O拡張
シリアルインタフェース
リード
ライト
②
①
割込み入力
データバス
CPU
割込みコントローラ
① MODE=1 のとき , シフトクロックカウンタによって転送終了し ,SIR=1 となってリー
ド / ライト待機状態に入ります。SIE ビットが "1" ならば割込み信号を発生します。
ただし ,SIE がインアクティブのときや STOP へ "1" を書き込むことによる転送中断
のときは割込み信号は発生しません。
②シリアルデータレジスタがリード / ライトされると , 割込み要求はクリアされシリア
ル転送を開始します。
322
第 20 章 シリアル I/O
20.3.3
シフト動作のスタート / ストップタイミング
シフト動作をスタートする場合は ,SMCS の STOP ビットを "0",STRT ビットを "1"
に設定します。
シフト動作のストップタイミングについては ,STOP=1 によって停止する場合と , 転
送終了によって停止する場合があります。
• STOP=1 によって停止→ MODE ビットにかかわらず SIR=0 のまま停止
• 転送終了で停止→ MODE ビットにかかわらず SIR=1 となり停止
BUSY ビットは MODE ビットにかかわらずシリアル転送状態のとき "1" となり , 停
止状態 , または R/W 待機状態のとき "0" となります。転送状態を確認したいときは
このビットをリードしてください。
■ シフト動作のスタート / ストップタイミング
● 内部シフトクロックモード(LSB ファースト)
図 20.3-3 シフト動作のスタート / ストップタイミング(内部クロック)
SCK2
"1"出力
(転送スタート)
STRT
(転送終了)
MODE=0の場合
BUSY
SOT2
DO0
DO7(データ保持)
・・・
● 外部シフトクロックモード(LSB ファースト)
図 20.3-4 シフト動作のスタート / ストップタイミング(外部クロック)
SCK2
(転送スタート)
STRT
(転送終了)
MODE=0の場合
BUSY
SOT2
DO0
・・・
DO7(データ保持)
323
第 20 章 シリアル I/O
● 外部シフトクロックモードで命令シフトを行ったとき(LSB ファースト)
図 20.3-5 シフト動作のスタート / ストップタイミング
(外部シフトクロックモードで命令シフト実行時)
SCK2に対応するPDRのビット"0"
SCK2
SCK2に対応するPDRのビット"1"
SCK2に対応するPDRのビット"0"
(転送終了)
MODE=0の場合
STRT
BUSY
SOT2
・・・
< 注意事項 >
DO6
DO7(データ保持)
命令シフトでは , SCK2 に対応する PDR のビットに "1" が書き込まれた場合 "H"
が出力され "0" が書き込まれたとき "L" が出力されます ( ただし , 外部シフトク
ロックモード選択で , SCOE=0 の場合 )。
● STOP=1 による停止(LSB ファースト , 内部クロック時)
図 20.3-6 STOP ビットを "1" としたときのストップタイミング
"1"出力
SCK2
(転送スタート)
(転送停止)
MODE=0の場合
STRT
BUSY
STOP
SOT2
・・・
< 注意事項 >
DO3
DO4
DO5(データ保持)
DO7 ∼ DO0 は出力データを示します。
シリアルデータの転送中は , シフトクロックの立下りでシリアル出力端子 (SOT2) から
のデータが出力され , 立上りでシリアル入力端子 (SIN2) のデータが入力されます。
324
第 20 章 シリアル I/O
● LSB ファースト(BDS ビットが "0" の場合)
図 20.3-7 シリアルデータの入出力シフトタイミング 1
SCK2
SIN2
SIN2入力
DI0
DI1
DI2
DI3
DI4
DI5
DI6
DI7
DO3
DO4
DO5
DO6
DO7
SOT 2出力
SOT2
DO0
DO1
DO2
● MSB ファースト(BDS ビットが "1" の場合)
図 20.3-8 シリアルデータの入出力シフトタイミング 2
SCK2
SIN2
SIN2入力
DI7
DI6
DI5
DI4
DI3
DI2
DI1
DI0
DO4
DO3
DO2
DO1
DO0
SOT2出力
SOT2
DO7
DO6
DO5
325
第 20 章 シリアル I/O
20.3.4
拡張シリアル I/O インタフェースの割込み機能
拡張シリアル I/O インタフェースは , CPU に対し割込み要求を発生することができ
ます。データの転送終了時に割込みフラグである SIR ビットがセットされ , 割込み
を許可する SMCS の SIE ビットが "1" のとき , CPU へ割込み要求を出力します。
■ 拡張シリアル I/O インタフェースの割込み機能
図 20.3-9 拡張シリアル I/O インタフェースの割込み信号出力タイミング
SCK2
(転送終了)*
BUSY
SIE=1
SIR
SDRの
RD/WR
SOT2
DO6
*:MODE=1の場合
326
DO7(データ保持)
第 20 章 シリアル I/O
20.4
ネガティブクロック動作
MB90440G シリーズは , シリアル I/O のネガティブクロック動作をサポートします。
この動作では , シフトクロック信号はインバータにより単純に反転にされます。この
ため , 前述のシリアル I/O のシフトクロック信号の定義は , ロジック "L" レベルから
ロジック "H" レベルへ , ネガティブエッジからポジティブエッジへ , あるいはこの逆
に反転されます。このことは , シリアルクロックの入力および出力ともに同じです。
■ ネガティブクロック動作
図 20.4-1 シリアルエッジセレクトレジスタ (SES2)
シリアルエッジセレクトレジスタ
bit 7
6
5
4
3
1
0
NEG
アドレス:00002FH
リード/ライト
初期値
2
SES2
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(-) (-) (-) (-) (-) (-) (-) (0)
表 20.4-1 NEG ビットの設定
NEG
動作
0
通常動作 [ 初期値 ]
1
シフトクロック信号反転
327
第 20 章 シリアル I/O
328
第 21 章
CAN コントローラ
CAN コントローラの機能と概要について説明しま
す。
21.1 CAN コントローラの特長
21.2 CAN コントローラのブロックダイヤグラム
21.3 全体コントロールレジスタの一覧
21.4 メッセージバッファ (ID レジスタ ) の一覧
21.5 メッセージバッファ (DLC レジスタ / データレジスタ )
の一覧
21.6 CAN コントローラのレジスタ分類
21.7 CAN コントローラの送信
21.8 CAN コントローラの受信
21.9 CAN コントローラの受信フローチャート
21.10 CAN コントローラの使用方法
21.11 メッセージバッファ (x) による送信方法
21.12 メッセージバッファ (x) による受信方法
21.13 マルチレベルメッセージバッファの構成の決定
21.14 CAN2 RX/TX 端子の接続先の設定
21.15 CAN コントローラの使用上の注意
329
第 21 章 CAN コントローラ
21.1
CAN コントローラの特長
MB90440G シリーズには , 3 つの CAN コントローラ (CAN0, CAN1, CAN2) が搭載
されています。
CAN コントローラは ,16 ビットマイクロコンピュータ (F2MC-16LX) 内に一体化さ
れたモジュールです。CAN(コントローラエリアネットワーク)は自動車用コント
ローラ間のシリアル通信用の標準プロトコルであり工業分野で広く使用されている
ものです。
■ CAN コントローラの特長
CAN コントローラの特長は次のとおりです。
• CAN 仕様バージョン 2.0 パート A および B に適合しています。
- 標準フレームおよび拡張フレームフォーマットでの送信 / 受信をサポートしてい
ます。
• リモートフレームの受信によるデータフレームの送信をサポートしています。
• 16 個の送信 / 受信メッセージバッファ
- 29 ビットの ID および 8 バイトデータ
- マルチ・レベル・メッセージ・バッファ構造
• フルビット比較 , フルビットマスク ,ID アクセプタンスマスクとして , アクセプタン
スレジスタ0/アクセプタンスレジスタ1を各メッセージバッファに提供しています。
- 標準フレームまたは拡張フレームフォーマットのいずれかで 2 個のアクセプタン
スマスクレジスタを提供します。
• ビット速度は 10 kbps ∼ 1 Mbps でプログラマブルです(1 Mbps ご使用の場合 , マシ
ンクロックは 8MHz 以上で動作する必要があります)
。
330
第 21 章 CAN コントローラ
21.2
CAN コントローラのブロックダイヤグラム
図 21.2-1 に ,CAN コントローラのブロックダイヤグラムを示します。
■ CAN コントローラのブロックダイヤグラム
図 21.2-1 CAN コントローラのブロックダイヤグラム
内部データバス
TQ (動作クロック)
プリスケーラ
1~64周波数分割
クロック
ビットタイミング発生
SYNC, TSEG1, TSEG2
PSC
TS1
BTR
TS2
RSJ
TOE
TS
RS
HALT
CSR
NIE
NT
バスステート
マシン
ノードステータス
変化割込み
ノードステータス
変化割込み発生
IDLE, INT, SUSPND,
送信,送信,ERR,OVRLD
NS1,0
エラー
制御
RTEC
送信/受信シーケンサ
BVALR
TREQR
TBFx,クリア
送信バッファx判定
TBFx
TDLC RDLC
TBFx
エラー
フレーム発生
データ
受信フィルタ
カウンタ
過負荷
フレーム
発生
IDSEL
BITER, STFER,
CRCER, FRMER,
ACKER
TCANR
出力
ドライバ
ARBLOST
TX
TRTRR
TCR
TBFx, セット, クリア
ACK発生
CRCER
RBFx, セット
RDLC
受信完了
割込み
受信完了
割込み発生
RIER
RRTRR
CRC発生
TDLC
送信完了
割込み
送信完了
割込み発生
TIER
RCR
スタッ
フィング
送信シフト
レジスタ
RFWTR
STFER
デスタッフィング/
スタッフィング
エラーチェック
受信シフト
レジスタ
RBFx, TBFx, セット, クリア
RBFx,セット
CRC発生/エラーチェック
IDSEL
ROVRR
ARBLOST
AMSR
AMR0
0
1
アクセプタンス
フィルタ
受信バッファx
判定
BITER
ビットエラー
チェック
ACKER
確認エラー
チェック
FRMER
フォームエラー
チェック
AMR1
IDR0~15
DLCR0~15
DTR0~15
RAM
RBFx
RAMアドレス
発生
アービットレーション
チェック
PH1
入力
ラッチ
RX
RBFx, TBFx, RDLC, TDLC, IDSEL
LEIR
IDER
331
第 21 章 CAN コントローラ
21.3
全体コントロールレジスタの一覧
表 21.3-1 に , 全体コントロールレジスタの一覧を示します。
■ 全体コントロールレジスタの一覧
表 21.3-1 全体コントロールレジスタの一覧 ( 1 / 2 )
アドレス
CAN0
CAN1
CAN2
000070H
000080H
00005CH
000071H
000081H
00005DH
000072H
000082H
00005EH
000073H
000083H
00005FH
000074H
000084H
000060H
000075H
000085H
000061H
000076H
000086H
000062H
000077H
000087H
000063H
000078H
000088H
000064H
000079H
000089H
000065H
00007AH
00008AH
000066H
00007BH
00008BH
000067H
00007CH
00008CH
000068H
00007DH
00008DH
000069H
00007EH
00008EH
00006AH
00007FH
00008FH
00006BH
003B00H
003D00H
003F00H
003B01H
003D01H
003F01H
003B02H
003D02H
003F02H
003B03H
003D03H
003F03H
003B04H
003D04H
003F04H
003B05H
003D05H
003F05H
003B06H
003D06H
003F06H
003B07H
003D07H
003F07H
332
レジスタ
略号
アクセス
初期値
メッセージバッファ
有効レジスタ
BVALR
R/W
00000000 00000000
送信要求レジスタ
TREQR
R/W
00000000 00000000
送信解除レジスタ
TCANR
W
00000000 00000000
送信完了レジスタ
TCR
R/W
00000000 00000000
受信完了レジスタ
RCR
R/W
00000000 00000000
リモート要求受信
レジスタ
RRTRR
R/W
00000000 00000000
受信オーバラン
レジスタ
ROVRR
R/W
00000000 00000000
受信割込み許可
レジスタ
RIER
R/W
00000000 00000000
制御ステータス
レジスタ
CSR
R/WR
00---000 0----0-1
ラストイベント表示
レジスタ
LEIR
R/W
-------- 000-0000
受信 / 送信エラー
カウンタ
RTEC
R
00000000 00000000
ビットタイミング
レジスタ
BTR
R/W
-1111111 11111111
第 21 章 CAN コントローラ
表 21.3-1 全体コントロールレジスタの一覧 ( 2 / 2 )
アドレス
レジスタ
CAN0
CAN1
CAN2
003B08H
003D08H
003F08H
略号
アクセス
初期値
IDER
R/W
XXXXXXXX
XXXXXXXX
RTR 送信レジスタ
TRTRR
R/W
00000000 00000000
リモートフレーム
受信待機レジスタ
RFWTR
R/W
XXXXXXXX
XXXXXXXX
TIER
R/W
00000000 00000000
IDE レジスタ
003B09H
003D09H
003F09H
003B0AH
003D0AH
003F0AH
003B0BH
003D0BH
003F0BH
003B0CH
003D0CH
003F0CH
003B0DH
003D0DH
003F0DH
003B0EH
003D0EH
003F0EH
003B0FH
003D0FH
003F0FH
003B10H
003D10H
003F10H
003B11H
003D11H
003F11H
003B12H
003D12H
003F12H
003B13H
003D13H
003F13H
003B14H
003D14H
003F14H
003B15H
003D15H
003F15H
003B16H
003D16H
003F16H
003B17H
003D17H
003F17H
003B18H
003D18H
003F18H
003B19H
003D19H
003F19H
003B1AH
003D1AH
003F1AH
003B1BH
003D1BH
003F1BH
−
−
00000CH
送信割込み許可
レジスタ
XXXXXXXX
XXXXXXXX
アクセプタンス
マスク選択レジスタ
AMSR
R/W
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
アクセプタンス
マスクレジスタ 0
AMR0
R/W
XXXXX--XXXXXXXX
XXXXXXXX
XXXXXXXX
アクセプタンス
マスクレジスタ 1
AMR1
R/W
XXXXX--XXXXXXXX
CAN2 RX/TX 端子
切換えレジスタ
CANSWR
R/W
- - - - - - 00
333
第 21 章 CAN コントローラ
21.4
メッセージバッファ (ID レジスタ ) の一覧
表 21.4-1 に , メッセージバッファ (ID レジスタ ) の一覧を示します。
■ メッセージバッファ (ID レジスタ ) の一覧
表 21.4-1 メッセージバッファ (ID レジスタ ) の一覧 (1 / 3)
アドレス
CAN0
CAN1
CAN2
003A00H
003C00H
003E00H
∼
003A1FH
∼
003C1FH
∼
003E1FH
003A20H
003C20H
003E20H
003A21H
003C21H
003E21H
003A22H
003C22H
003E22H
003A23H
003C23H
003E23H
003A24H
003C24H
003E24H
003A25H
003C25H
003E25H
003A26H
003C26H
003E26H
003A27H
003C27H
003E27H
003A28H
003C28H
003E28H
003A29H
003C29H
003E29H
003A2AH
003C2AH
003E2AH
003A2BH
003C2BH
003E2BH
003A2CH
003C2CH
003E2CH
003A2DH
003C2DH
003E2DH
003A2EH
003C2EH
003E2EH
003A2FH
003C2FH
003E2FH
003A30H
003C30H
003E30H
003A31H
003C31H
003E31H
003A32H
003C32H
003E32H
003A33H
003C33H
003E33H
レジスタ
略号
アクセス
初期値
汎用 RAM
−
R/W
XXXXXXXX ∼
XXXXXXXX
XXXXXXXX
XXXXXXXX
ID レジスタ 0
IDR0
R/W
XXXXX--- XXXXXXXX
XXXXXXXX
XXXXXXXX
ID レジスタ 1
IDR1
R/W
XXXXX--- XXXXXXXX
XXXXXXXX
XXXXXXXX
ID レジスタ 2
IDR2
R/W
XXXXX--- XXXXXXXX
XXXXXXXX
XXXXXXXX
ID レジスタ 3
IDR3
R/W
XXXXX--- XXXXXXXX
XXXXXXXX
XXXXXXXX
ID レジスタ 4
IDR4
R/W
XXXXX--- XXXXXXXX
334
第 21 章 CAN コントローラ
表 21.4-1 メッセージバッファ (ID レジスタ ) の一覧 (2 / 3)
アドレス
レジスタ
CAN0
CAN1
CAN2
003A34H
003C34H
003E34H
003A35H
003C35H
003E35H
003A36H
003C36H
003E36H
003A37H
003C37H
003E37H
003A38H
003C38H
003E38H
003A39H
003C39H
003E39H
003A3AH
003C3AH
003E3AH
003A3BH
003C3BH
003E3BH
003A3CH
003C3CH
003E3CH
003A3DH
003C3DH
003E3DH
003A3EH
003C3EH
003E3EH
003A3FH
003C3FH
003E3FH
003A40H
003C40H
003E40H
003A41H
003C41H
003E41H
003A42H
003C42H
003E42H
003A43H
003C43H
003E43H
003A44H
003C44H
003E44H
003A45H
003C45H
003E45H
003A46H
003C46H
003E46H
003A4H
003C47H
003E47H
003A48H
003C48H
003E48H
003A49H
003C49H
003E49H
003A4AH
003C4AH
003E4AH
003A4BH
003C4BH
003E4BH
003A4CH
003C4CH
003E4CH
003A4DH
003C4DH
003E4DH
003A4EH
003C4EH
003E4EH
003A4FH
003C4FH
003E4FH
略号
アクセス
初期値
XXXXXXXX
XXXXXXXX
ID レジスタ 5
IDR5
R/W
XXXXX--- XXXXXXXX
XXXXXXXX
XXXXXXXX
ID レジスタ 6
IDR6
R/W
XXXXX--- XXXXXXXX
XXXXXXXX
XXXXXXXX
ID レジスタ 7
IDR7
R/W
XXXXX--- XXXXXXXX
XXXXXXXX
XXXXXXXX
ID レジスタ 8
IDR8
R/W
XXXXX--- XXXXXXXX
XXXXXXXX
XXXXXXXX
ID レジスタ 9
IDR9
R/W
XXXXX--- XXXXXXXX
XXXXXXXX
XXXXXXXX
ID レジスタ 10
IDR10
R/W
XXXXX--- XXXXXXXX
XXXXXXXX
XXXXXXXX
ID レジスタ 11
IDR11
R/W
XXXXX--- XXXXXXXX
335
第 21 章 CAN コントローラ
表 21.4-1 メッセージバッファ (ID レジスタ ) の一覧 (3 / 3)
アドレス
レジスタ
CAN0
CAN1
CAN2
003A50H
003C50H
003E50H
003A51H
003C51H
003E51H
003A52H
003C52H
003E52H
003A53H
003C53H
003E53H
003A54H
003C54H
003E54H
003A55H
003C55H
003E55H
003A56H
003C56H
003E56H
003A57H
003C57H
003E57H
003A58H
003C58H
003E58H
003A59H
003C59H
003E59H
003A5AH
003C5AH
003E5AH
003A5BH
003C5BH
003E5BH
003A5CH
003C5CH
003E5CH
003A5DH
003C5DH
003E5DH
003A5EH
003C5EH
003E5EH
003A5FH
003C5FH
003E5FH
略号
アクセス
初期値
XXXXXXXX
XXXXXXXX
ID レジスタ 12
IDR12
R/W
XXXXX--- XXXXXXXX
XXXXXXXX
XXXXXXXX
ID レジスタ 13
IDR13
R/W
XXXXX--- XXXXXXXX
XXXXXXXX
XXXXXXXX
ID レジスタ 14
IDR14
R/W
XXXXX--- XXXXXXXX
XXXXXXXX
XXXXXXXX
ID レジスタ 15
IDR15
R/W
XXXXX--- XXXXXXXX
336
第 21 章 CAN コントローラ
21.5
メッセージバッファ (DLC レジスタ / データレジスタ )
の一覧
表 21.5-1 に , メッセージバッファ (DLC レジスタ ) の一覧を , 表 21.5-2 に , メッ
セージバッファ ( データレジスタ ) の一覧を示します。
■ メッセージバッファ (DLC レジスタ ) の一覧
表 21.5-1 メッセージバッファ (DLC レジスタ ) の一覧 (1 / 2)
アドレス
CAN0
CAN1
CAN2
003A60H
003C60H
003E60H
003A61H
003C61H
003E61H
003A62H
003C62H
003E62H
003A63H
003C63H
003E63H
003A64H
003C64H
003E64H
003A65H
003C65H
003E65H
003A66H
003C66H
003E66H
003A67H
003C67H
003E67H
003A68H
003C68H
003E68H
003A69H
003C69H
003E69H
003A6AH
003C6AH
003E6AH
003A6BH
003C6BH
003E6BH
003A6CH
003C6CH
003E6CH
003A6DH
003C6DH
003E6DH
003A6EH
003C6EH
003E6EH
003A6FH
003C6FH
003E6FH
003A70H
003C70H
003E70H
003A71H
003C71H
003E71H
003A72H
003C72H
003E72H
003A73H
003C73H
003E73H
003A74H
003C74H
003E74H
003A75H
003C75H
003E75H
レジスタ
略号
アクセス
初期値
DLC レジスタ 0
DLCR0
R/W
---- XXXX
DLC レジスタ 1
DLCR1
R/W
---- XXXX
DLC レジスタ 2
DLCR2
R/W
---- XXXX
DLC レジスタ 3
DLCR3
R/W
---- XXXX
DLC レジスタ 4
DLCR4
R/W
---- XXXX
DLC レジスタ 5
DLCR5
R/W
---- XXXX
DLC レジスタ 6
DLCR6
R/W
---- XXXX
DLC レジスタ 7
DLCR7
R/W
---- XXXX
DLC レジスタ 8
DLCR8
R/W
---- XXXX
DLC レジスタ 9
DLCR9
R/W
---- XXXX
DLC レジスタ 10
DLCR10
R/W
---- XXXX
337
第 21 章 CAN コントローラ
表 21.5-1 メッセージバッファ (DLC レジスタ ) の一覧 (2 / 2)
アドレス
CAN0
CAN1
CAN2
003A76H
003C76H
003E76H
003A77H
003C77H
003E77H
003A78H
003C78H
003E78H
003A79H
003C79H
003E79H
003A7AH
003C7AH
003E7AH
003A7BH
003C7BH
003E7BH
003A7CH
003C7CH
003E7CH
003A7DH
003C7DH
003E7DH
003A7EH
003C7EH
003E7EH
003A7FH
003C7FH
003E7FH
338
レジスタ
略号
アクセス
初期値
DLC レジスタ 11
DLCR11
R/W
---- XXXX
DLC レジスタ 12
DLCR12
R/W
---- XXXX
DLC レジスタ 13
DLCR13
R/W
---- XXXX
DLC レジスタ 14
DLCR14
R/W
---- XXXX
DLC レジスタ 15
DLCR15
R/W
---- XXXX
第 21 章 CAN コントローラ
■ メッセージバッファ ( データレジスタ ) の一覧
表 21.5-2 メッセージバッファ ( データレジスタ ) の一覧 (1 / 2)
アドレス
レジスタ
CAN0
CAN1
CAN2
003A80H
003C80H
003E80H
∼
003A87H
∼
003C87H
∼
003E87H
003A88H
003C88H
003E88H
∼
003A8FH
∼
003C8FH
∼
003E8FH
003A90H
003C90H
003E90H
∼
003A97H
∼
003C97H
∼
003E97H
003A98H
003C98H
003E98H
∼
003A9FH
∼
003C9FH
∼
003E9FH
003AA0H
003CA0H
003EA0H
∼
003AA7H
∼
003CA7H
∼
003EA7H
003AA8H
003CA8H
003EA8H
∼
003AAFH
∼
003CAFH
∼
003EAFH
003AB0H
003CB0H
003EB0H
∼
003AB7H
∼
003CB7H
∼
003EB7H
003AB8H
003CB8H
003EB8H
∼
003ABFH
∼
003CBFH
∼
003EBFH
003AC0H
003CC0H
003EC0H
∼
003AC7H
∼
003CC7H
∼
003EC7H
003AC8H
003CC8H
003EC8H
∼
003ACFH
∼
003CCFH
∼
003ECFH
003AD0H
003CD0H
003ED0H
∼
003AD7H
∼
003CD7H
∼
003ED7H
003AD8H
003CD8H
003ED8H
∼
003ADFH
∼
003CDFH
∼
003EDFH
003AE0H
003CE0H
003EE0H
∼
003AE7H
∼
003CE7H
∼
003EE7H
略号
アクセス
初期値
データレジスタ 0
(8 バイト)
DTR0
R/W
XXXXXXXX ∼
XXXXXXXX
データレジスタ 1
(8 バイト)
DTR1
R/W
XXXXXXXX ∼
XXXXXXXX
データレジスタ 2
(8 バイト)
DTR2
R/W
XXXXXXXX ∼
XXXXXXXX
データレジスタ 3
(8 バイト)
DTR3
R/W
XXXXXXXX ∼
XXXXXXXX
データレジスタ 4
(8 バイト)
DTR4
R/W
XXXXXXXX ∼
XXXXXXXX
データレジスタ 5
(8 バイト)
DTR5
R/W
XXXXXXXX ∼
XXXXXXXX
データレジスタ 6
(8 バイト)
DTR6
R/W
XXXXXXXX ∼
XXXXXXXX
データレジスタ 7
(8 バイト)
DTR7
R/W
XXXXXXXX ∼
XXXXXXXX
データレジスタ 8
(8 バイト)
DTR8
R/W
XXXXXXXX ∼
XXXXXXXX
データレジスタ 9
(8 バイト)
DTR9
R/W
XXXXXXXX ∼
XXXXXXXX
データレジスタ10
(8
バイト)
DTR10
R/W
XXXXXXXX ∼
XXXXXXXX
データレジスタ11
(8
バイト)
DTR11
R/W
XXXXXXXX ∼
XXXXXXXX
データレジスタ12
(8
バイト)
DTR12
R/W
XXXXXXXX ∼
XXXXXXXX
339
第 21 章 CAN コントローラ
表 21.5-2 メッセージバッファ ( データレジスタ ) の一覧 (2 / 2)
アドレス
CAN0
CAN1
CAN2
003AE8H
003CE8H
003EE8H
∼
003AEFH
∼
003CEFH
∼
003EEFH
003AF0H
003CF0H
003EF0H
∼
003AF7H
∼
003CF7H
∼
003EF7H
003AF8H
003CF8H
003EF8H
∼
003AFFH
∼
003CFFH
∼
003EFFH
340
レジスタ
略号
アクセス
初期値
データレジスタ13
(8
バイト)
DTR13
R/W
XXXXXXXX ∼
XXXXXXXX
データレジスタ14
(8
バイト)
DTR14
R/W
XXXXXXXX ∼
XXXXXXXX
データレジスタ15
(8
バイト)
DTR15
R/W
XXXXXXXX ∼
XXXXXXXX
第 21 章 CAN コントローラ
21.6
CAN コントローラのレジスタ分類
CAN コントローラのレジスタは , 次の 3 つに分類されます。
• 全体コントロールレジスタ
• メッセージバッファコントロールレジスタ
• メッセージバッファ
■ 全体コントロールレジスタ
全体コントロールレジスタには , 次の 5 つがあります。
• 制御ステータスレジスタ (CSR)
• ラストイベント表示レジスタ (LEIR)
• 受信および送信エラーカウンタ (RTEC)
• ビットタイミングレジスタ (BTR)
• CAN2 RX/TX 端子切換えレジスタ (CANSWR)
■ メッセージバッファコントロールレジスタ
メッセージバッファコントロールレジスタには , 次の 14 のレジスタがあります。
• メッセージバッファ有効レジスタ (BVALR)
• IDE レジスタ (IDER)
• 送信要求レジスタ (TREQR)
• 送信 RTR レジスタ (TRTRR)
• リモートフレーム受信待機レジスタ (RFWTR)
• 送信解除レジスタ (TCANR)
• 送信完了レジスタ (TCR)
• 送信割込み許可レジスタ (TIER)
• 受信完了レジスタ (RCR)
• リモート要求受信レジスタ (RRTRR)
• 受信オーバランレジスタ (ROVRR)
• 受信割込み許可レジスタ (RIER)
• アクセプタンスマスク選択レジスタ (AMSR)
• アクセプタンスマスクレジスタ 0 および 1(AMR0, AMR1)
■ メッセージバッファ
メッセージバッファは , 次の 3 つがあります。
• ID レジスタ x(x=0 ∼ 15)(IDRx)
• DLC レジスタ x(x=0 ∼ 15)(DLCRx)
• データレジスタ x(x=0 ∼ 15)(DTRx)
341
第 21 章 CAN コントローラ
21.6.1
制御ステータスレジスタ (CSR)
制御ステータスレジスタ (CSR) の下位 8 ビットに対しては , ビット操作命令 ( リー
ドモディファイライト ) を実行することは禁止されています。ただし,HALT ビット
が変化しないタイミング ( マクロの初期化など ) では , ビット操作命令を使用しても
問題ありません。
■ 制御ステータスレジスタ (CSR)
図 21.6-1 制御ステータスレジスタ (CSR)
制御ステータスレジスタ
アドレス:003B01H(CAN0) bit 15
003D01H(CAN1)
TS
003F01H(CAN2)
リード/ライト
(R)
(0)
初期値
14
13
12
11
10
9
RS
-
-
-
NT
NS1
(R)
(0)
(-)
(-)
(-)
(-)
(-)
(-)
5
4
3
2
1
0
-
-
-
NIE
予約
HALT
(-)
(-)
(-)
(-)
(-)
(-)
(R/W) (W)
(0)
(0)
(R/W)
(1)
6
アドレス:003B00H(CAN0) bit 7
003D00H(CAN1)
TOE
-
003F00H(CAN2)
(R/W) (-)
リード/ライト
(0)
(-)
初期値
8
NS0
(R/W) (R)
(0) (0)
CSR
(R)
(0)
CSR
[bit15] TS: 送信ステータスビット
本ビットはメッセージが送信中であるかどうかを示します。
0: メッセージは送信されていません。
1: メッセージが送信されています。
本ビットはエラーフレームおよびオーバロードフレームが送信されている間も "0" で
す。
[bit14] RS: 受信ステータスビット
本ビットはメッセージが受信されているかどうかを示します。
0: メッセージは受信されていません。
1: メッセージが受信されています。
メッセージがバス上に在る間 , 本ビットは "1" になります。このため本ビットはメッ
セージが送信されている間も "1" になります。本ビットは必ずしも , 受信メッセージが
アクセプタンスフィルタを通って通過したかどうかを示すものではありません。
結果として , 本ビットが "0" であるときはバス動作は停止している (HALT=0) か , バス
はインターミッション / バスアイドルにある , またはエラー / オーバロードフレームが
バス上にあることを意味します。
[bit10] NT: ノードステータス遷移フラグ
もし,ノードステータスがインクリメントに変化しまたはバスオフからエラーアクティ
ブに変化しても本ビットは "1" になります。
すなわち NT ビットは , ノードステータスがエラーアクティブ (00) からワーニング (01)
に , ワーニング (01) からエラーパッシブ (10) に , エラーパッシブ (10) からバスオフ (11)
に , バスオフ (11) からエラーアクティブ (00) に変化したときに "1" にセットされます。
括弧内の数字は NS1 ビットおよび NS0 ビットの値を示します。
342
第 21 章 CAN コントローラ
ノードステータス遷移割込み許可ビット (NIE) が "1" であるときに割込みが発生しま
す。"0" を書き込むと NT ビットが "0" にセットされます。NT ビットに "1" を書き込ん
でも無視されます。リードモディファイライト系命令が読み出されたときに "1" が読
み出されます。
[bit9, bit8] NS1 および NS0: ノードステータスビット 1 および 0
本ビット群は現在のノードステータスを表します。
表 21.6-1 NS1, NS0 およびノードステータスの間の対応
< 注意事項 >
NS1
NS0
0
0
エラーアクティブ
0
1
ワーニング(エラーアクティブ)
1
0
エラーパッシブ
1
1
バスオフ
ノードステータス
ワーニング(エラーアクティブ)はノードステータスに対する CAN 仕様 2.0B に
おけるエラーアクティブに含まれますが , 送信エラーカウンタまたは受信エラー
カウンタが "96" を超えたことを表します。ノードステータスの変化図は 図 21.6-2
に示されています。
図 21.6-2 ノードステータス遷移図
ハードウェアリセット
REC: 受信エラーカウンタ
TEC: 送信エラーカウンタ
エラー
アクティブ
レジスタ(CSR)のHALTビットに0が書き込ま
れた後,連続的な11ビットハイレベル(リ
セッシブビット)が受信入力端子(RX)に,
128回入力される。
REC ≧ 96
または
TEC ≧ 96
REC < 96
および
TEC < 96
ワーニング
REC ≧ 128
または
TEC ≧ 128
エラー
パッシブ
REC < 128
および
TEC < 128
バスオフ
TEC ≧ 256
[bit7] TOE: 送信出力許可ビット
本ビットに "1" を書き込むと汎用ポート端子を CAN コントローラの送信端子に切り換
えます。
0: 汎用ポート端子
1:CAN コントローラの送信端子
343
第 21 章 CAN コントローラ
[bit2] NIE: ノードステータス遷移割込み許可ビット
本ビットはノードステータス遷移割込み(NT=1 の場合)を許可または禁止します。
0: ノードステータス遷移割込みを禁止する
1: ノードステータス遷移割込みを許可する
[bit1] 予約 : 予約ビット
予約ビットです。このビットには , "1" を書き込まないでください。
[bit0] HALT: バス動作停止ビット
本ビットはバス動作停止をセットもしくは解除しまたはそのステートを表示します。
読出し時
0 : バス動作中
1 : バス動作停止
書込み時
0 : バス動作停止を解除
1 : バス動作停止をセット
< 注意事項 >
バスオフ時に HALT ビットに "0" を書き込む場合は,HALT ビットが "1" になっていることを
確認後,"0" を書き込んでください。
参考プログラム例 :
switch ( IO_CANCT0.CSR.bit.NS )
{
case 0 : /* error active */
break;
case 1 : /* warning */
break;
case 2 : /* error passive */
break;
default : /* bus off */
for (i=0; ( i<=500 ) && ( IO_CANCT0.CSR.bit.HALT==0); i++);
IO_CANCT0.CSR.word = 0x0084; /* HALT = 0 */
break;
}
( 注意事項 ) 変数 i はフェイルセーフのために使用しています。
344
第 21 章 CAN コントローラ
21.6.2
バス動作停止ビット (HALT=1)
バス動作停止ビットは , バス動作停止をセットもしくは解除し , またはそのステート
を表示します。
■ バス動作停止をセットする条件 (HALT=1)
バス動作停止をセットする条件 (HALT=1) として , 次の 3 つがあります。
• ハードウェアリセットの後
• ノードステータスがバスオフに変化したとき
• HALT への "1" の書込み
< 注意事項 >
• バス動作は F2MC-16LX が低消費電力消費モード(停止モード , クロックモード
およびハードウェアスタンバイモード)に遷移する前に HALT に "1" を書き込
むことにより停止しなければなりません。HALT に "1" が書き込まれるときに ,
送信が進行中であれば送信が終了した後にバス動作は停止します (HALT=1)。
HALT に "1" が書き込まれるときに , 受信が進行中であればバス動作は直ちに停
止します (HALT=1)。もし受信されたメッセージがメッセージバッファ (x) に記
憶中であればメッセージを記憶した後に , バス動作は停止します (HALT=1)。
• バス動作が停止したかどうかは , 常に HALT ビットを読み込んでチェックして
ください。
■ バス動作停止を解除する条件 (HALT=0)
• HALT への "0" の書込み
< 注意事項 >
• 上記条件のハードウェアリセット後または HALT に "1" を書き込むことによる
バス動作停止の解除は , HALT に "0" が書き込まれ受信入力端子 (RX) に継続的
な 11 ビットのハイレベル(リセッシブビット)が入力された後に行われます。
• 上記条件のノードステータスがバスオフに変化したときのバス動作停止の解除
は , HALT に "0" が書き込まれ受信入力端子 (RX) に継続的な 11 ビットのハイレ
ベル(リセッシブビット)が 128 回入力された後に行われます。次に送信およ
び受信エラーカウンタの両者の値が "0" に達してノードステータスはエラーア
クティブに変化します。
• バスオフ時に HALT ビットに "0" を書き込む場合は , HALT ビットが "1" になっ
ていることを確認後 , "0" を書き込んでください。
■ バス動作停止間の状態 (HALT=1)
• バスは , 送信および受信などの動作を一切行いません。
• 送信出力端子 (TX) は , ハイレベル(リセッシブビット)を出力します。
• ほかのレジスタおよびエラーカウンタの値は変化しません。
< 注意事項 >
ビットタイミングレジスタ (BTR) はバス動作停止 (HALT=1) の間にセットしなけれ
ばなりません。
345
第 21 章 CAN コントローラ
21.6.3
ラストイベント表示レジスタ (LEIR)
本レジスタはラストイベントを示します。
NTE, TCE および RCE は排他的なものです。ラストイベントのビットが "1" にセッ
トされたとき , ほかのビットは "0" にセットされます。
■ ラストイベント表示レジスタ (LEIR)
図 21.6-3 ラストイベント表示レジスタ (LEIR)
ラストイベント表示レジスタ
bit 7
6
5
アドレス:003B02H(CAN0)
003D02H(CAN1)
NTE
TCE
RCE
003F02H(CAN2)
リード/ライト
(R/W) (R/W) (R/W)
初期値
(0)
(0)
(0)
4
3
2
-
MBP3
MBP2
1
0
MBP1 MBP0
LEIR
(-) (R/W) (R/W) (R/W) (R/W)
(0)
(0) (0)
(-) (0)
[bit7] NTE: ノードステータス遷移イベントビット
• 本ビットが "1" のときはノードステータス遷移がラストイベントであることを表し
ます。
• 本ビットは制御ステータスレジスタ (CSR) の NT ビットと同時に "1" にセットされ
ます。
• 本ビットはまた CSR のノードステータス遷移割込み許可ビット (NIE) のセッティン
グに無関係に "1" にセットされます。
• 本ビットに "0" を書き込むと NTE ビットは "0" にセットされます。本ビットに "1"
を書き込んでも無視されます。
• リードモディファイライト系命令が実行されたときは "1" が読み出されます。
[bit6] TCE: 送信完了イベントビット
本ビットが "1" のときは送信完了がラストイベントであることを表します。
本ビットは送信完了レジスタ (TCR) のビットのいずれか 1 つと同時に "1" にセットさ
れます。また本ビットは送信割込み許可レジスタ (TIER) のビットのセッティングに無
関係に "1" にセットされます。
"0" を書き込むと本ビットは "0" にセットされます。本ビットに "1" を書き込んでも無
視されます。
リードモディファイライト系命令が実行されたときは "1" が読み出されます。
本ビットが "1" にセットされたとき MBP3 ∼ MBP0 ビットは送信動作を完了したメッ
セージバッファの番号を示すために使用されます。
346
第 21 章 CAN コントローラ
[bit5] RCE: 受信完了イベントビット
本ビットが "1" であるときは受信完了がラストイベントであることを表します。
本ビットは受信完了レジスタ (RCR) のビットのいずれか 1 つと同時に "1" にセットさ
れます。また本ビットは受信割込み許可レジスタ (RIER) のビットのセッティングに無
関係に "1" にセットされます。
"0" を書き込むと本ビットは "0" にセットされます。本ビットに "1" を書き込んでも無
視されます。
リードモディファイライト系命令が実行されたときは "1" が読み出されます。
本ビットが "1" にセットされたとき MBP3 ∼ MBP0 ビットは受信動作を完了したメッ
セージバッファの番号を示すために使用されます。
[bit3 ∼ bit0] MBP3 ∼ MBP0: メッセージバッファポインタビット
TCE または RCE ビットが "1" にセットされたときに本ビット群は対応するメッセージ
バッファ (0 ∼ 15) の番号を示します。
NTE ビットが "1" にセットされると本ビット群は意味を持ちません。
"0" を書き込むと本ビット群は "0" にセットされます。本ビット群に "1" を書き込んで
も無視されます。
リードモディファイライト系命令が実行されたときは "1" が読み出されます。
もし LEIR が CAN 割込みハンドラ内でアクセスされたとしても割込みを引き起こした
イベントは必ずしも LEIR により表されるものと同じではありません。割込みハンドラ
内で LEIR アクセスに対する割込み要求の時点で他の CAN イベントが生ずる可能性が
あります。
347
第 21 章 CAN コントローラ
21.6.4
受信および送信エラーカウンタ (RTEC)
受信および送信エラーカウンタは ,CAN 仕様で定められる送信エラーカウントおよ
び受信エラーカウントを示します。このレジスタは読出し専用です。
■ 受信エラーカウンタおよび送信エラーカウンタ (RTEC)
図 21.6-4 受信および送信エラーカウンタ (RTEC)
受信および送信エラーカウンタレジスタ
アドレス:003B05H(CAN0) bit 15
003D05H(CAN1)
TEC7
003F05H(CAN2)
リード/ライト
(R)
(0)
初期値
14
13
TEC6
TEC5
TEC4 TEC3
TEC2
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
4
3
2
1
0
6
5
アドレス:003B04H(CAN0) bit 7
003D04H(CAN1)
REC7 REC6 REC5
003F04H(CAN2)
(R)
(R) (R)
リード/ライト
(0)
(0)
(0)
初期値
12
11
10
REC4 REC3
REC2
(R)
(0)
(R)
(0)
(R)
(0)
9
8
TEC1 TEC0
REC1 REC0
(R)
(0)
RTEC
RTEC
(R)
(0)
[bit15 ∼ bit8] TEC7 ∼ TEC0: 送信エラーカウンタ
これらは送信エラーカウンタです。
TEC7 ∼ TEC0 は , カウンタ値が 256 より大きい場合 0 ∼ 7 を示します。以降のインク
リメントはカウンタ値にカウントされません。この場合バスオフがノードステータス
で示されます(制御ステータスレジスタ CSR の NS1 および NS0=11)。
[bit7 ∼ bit0] REC7 ∼ REC0: 受信エラーカウンタ
これらは受信エラーカウンタです。
REC7 ∼ REC0 は , カウンタ値が 256 より大きい場合に 0 ∼ 7 を示します。以降のイン
クリメントはカウンタ値にカウントされません。この場合エラーパッシブがノードス
テータスで示されます(制御ステータスレジスタ CSR の NS1 および NS0=10)。
348
第 21 章 CAN コントローラ
21.6.5
ビットタイミングレジスタ (BTR)
ビットタイミングレジスタ (BTR) はプリスケーラおよびビットタイミングをセット
するものです。
■ ビットタイミングレジスタ (BTR)
図 21.6-5 ビットタイミングレジスタ (BTR)
ビットタイミングレジスタ
アドレス:003B07H(CAN0) bit
003D07H(CAN1)
003F07H(CAN2)
リード/ライト
初期値
15
-
14
13
12
11
10
9
8
TS2.2 TS2.1 TS2.0 TS1.3 TS1.2 TS1.1 TS1.0
(-) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(-)
(1)
(1)
(1)
(1)
(0)
(1) (0)
6
5
4
3
2
1
0
アドレス:003B06H(CAN0) bit 7
003D06H(CAN1)
RSJ1 RSJ0 PSC5 PSC4 PSC3 PSC2 PSC1 PSC0
003F06H(CAN2)
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
リード/ライト
(1)
(1)
(1)
(1)
(1)
(1)
(1) (1)
初期値
< 注意事項 >
BTR
BTR
本レジスタはバス動作停止 (HALT=1) の間にセットしなければなりません。
[bit14 ∼ bit12] TS2.2 ∼ TS2.0: タイムセグメント 2 セットビット 2 ∼ 0
本ビット群は単位時間 (TQ) を [(TS2.2 ∼ TS2.0)+1] で分周してタイムセグメント
2(TSEG2) を決定します。タイムセグメント 2 は CAN 仕様におけるフェーズバッファ
セグメント 2(PHASE_SEG2) に等しいものです。
[bit11 ∼ bit8] TS1.3 ∼ TS1.0: タイムセグメント 1 設定ビット 3 ∼ 0
本ビット群は単位時間 (TQ) を [(TS1.3 ∼ TS1.0)+1] で分周してタイムセグメント
1(TSEG1) を決定します。タイムセグメント 1 は CAN 仕様におけるプロパゲーション
セグメント (PROP_SEG)+ フェーズバッファセグメント 1(PHASE_SEG1) に等しいもの
です。
[bit7, bit6] RSJ1 および RSJ0: 再同期ジャンプ幅設定ビット 1 および 0
本ビット群は単位時間 (TQ) を [(RSJ1 ∼ RSJ0)+1] で分周して再同期ジャンプ幅を決定
させます。
[bit5 ∼ bit0] PSC5 ∼ PSC0: プリスケーラ設定ビット 5 ∼ 0
本ビット群は入力クロックを [(PSC5 ∼ PSC0)+1] の周波数で分割して CAN コントロー
ラの単位時間 (TQ) を決定します。
CAN 仕様および CAN コントローラの夫々におけるビット時間セグメントは 図 21.6-6
および 図 21.6-7 に示されています。
349
第 21 章 CAN コントローラ
図 21.6-6 CAN 仕様におけるビット時間セグメント
ノミナルビット時間
PROP_SEG
SYNC_SEG
PHASE_SEG1
PHASE_SEG2
↑
サンプルポイント
図 21.6-7 CAN コントローラにおけるビット時間セグメント
ノミナルビット時間
SYNC_SEG
TSEG1
TSEG2
↑
サンプルポイント
入力クロック (CLK), 単位時間 (TQ), ビットタイム (BT), 同期セグメント (SYNC_SEG),
タイムセグメント 1, 2(TSEG1 および TSEG2)および再同期ジャンプ幅 [(RSJ1+RSJ0)+1]
周波数分割としたときの PSC=PSC5 ∼ PSC0, TSI=TS1.3 ∼ TS1.0, TS2=TS2.2 ∼ TS1.0,
RSJ=RSJ1 および RSJ0 の間の関係は次に示すとおりです。
TQ
BT
RSJW
=
=
=
=
=
(PSC + 1) × CLK
SYNC_SEG + TSEG1 + TSEG2
(1 + (TS1 + 1) + (TS2 + 1)) × TQ
(3 + TS1 + TS2) TQ
(RSJ + 1) × TQ
正しく動作を行うためには以下の条件を満足しなければなりません。
1 ≦ PSC ≦ 63 の場合
TSEG1 ≧ 2TQ
TSEG1 ≧ RSJW
TSEG2 ≧ 2TQ
TSEG2 ≧ RSJW
PSC=0 の場合
TSEG1 ≧ 5TQ
TSEG2 ≧ 2TQ
TSEG2 ≧ RSJW
CAN 仕様に従ったビットタイミングの設定をするためには , 遅延時間などほかの条件
も考慮されなければなりません。
350
第 21 章 CAN コントローラ
21.6.6
メッセージバッファ有効レジスタ (BVALR)
メッセージバッファ有効レジスタ (BVALR) は , メッセージバッファ (x) の有効性を
セットし , またはそのステートを表示するものです。
■ メッセージバッファ有効レジスタ (BVALR)
図 21.6-8 メッセージバッファ有効レジスタ (BVALR)
メッセージバッファ有効レジスタ
14
13
12
11
10
9
8
アドレス:000071H(CAN0) bit 15
000081H(CAN1)
BVAL15 BVAL14 BVAL13 BVAL12 BVAL11 BVAL10 BVAL9 BVAL8
00005DH(CAN2)
リード/ライト
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
初期値
(0) (0)
アドレス:000070H(CAN0)
000080H(CAN1)
00005CH(CAN2)
リード/ライト
初期値
bit 7
6
5
4
3
2
1
BVALR
0
BVAL7 BVAL6 BVAL5 BVAL4 BVAL3 BVAL2 BVAL1 BVAL0
BVALR
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0) (0)
0: メッセージバッファ (x) 無効
1: メッセージバッファ (x) 有効
もしメッセージバッファ(x) が無効にセットされればそれはメッセージを送信または受
信しません。
もしバッファが送信動作の間に無効にセットされればそれは送信が完了しまたはエ
ラーにより終了した後で無効 (BVALx=0) になります。
もしバッファが受信動作の間に無効にセットされればそれは直ちに無効 (BVALx=0) に
なります。もし受信メッセージがメッセージバッファ (x) にストアされていればメッ
セージバッファ (x) はメッセージをストアした後に無効となります。
< 注意事項 >
• x はメッセージバッファ番号を示します (x=0 ∼ 15)。
• ビット (BVALx) に "0" を書き込むことによりメッセージバッファ (x) を無効とし
たときにビット操作命令の実行はそのビットが "0" にセットされるまで禁止され
ます。
• CAN コントローラが CAN 通信に参加している状態(CSR:HALT ビットの読出
し値が "0" で , CAN コントローラが CAN バスの通信に参加しており送受信が可
能な状態)で , メッセージバッファを無効 (BVALR:BVAL=0) にする場合は ,
「21.15 CAN コントローラの使用上の注意」に従ってください。
351
第 21 章 CAN コントローラ
21.6.7
IDE レジスタ (IDER)
本レジスタは送信 / 受信の間にメッセージバッファ (x) により使用されるフレーム
フォーマットを設定します。
■ IDE レジスタ (IDER)
図 21.6-9 IDE レジスタ (IDER)
IDEレジスタ
14
13
12
11
10
9
8
アドレス:003B09H(CAN0) bit 15
003D09H(CAN1)
IDE15 IDE14 IDE13 IDE12 IDE11 IDE10 IDE9 IDE8
003F09H(CAN2)
リード/ライト
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
初期値
(X) (X)
アドレス:003B08H(CAN0)
003D08H(CAN1)
003F08H(CAN2)
リード/ライト
初期値
bit 7
IDE7
6
5
4
3
2
1
0
IDE6
IDE5
IDE4
IDE3
IDE2
IDE1
IDE0
IDER
IDER
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X) (X)
0: メッセージバッファ (x) に対して標準フレームフォーマット (11 ビットの ID) が使用
されます。
1: メッセージバッファ (x) に対して拡張フレームフォーマット (29 ビットの ID) が使用
されます。
< 注意事項 >
352
• 本レジスタはメッセージバッファ (x) が無効であるとき ( メッセージバッファ有
効レジスタの BVALx(BVALR)=0) に設定しなければなりません。バッファが有
効である (BVALx=1) ときに設定を行うと受信メッセージを不必要にストアする
可能性があります。
• CAN コントローラが CAN 通信に参加している状態 (CSR:HALT ビットの読出
し値が "0" で ,CAN コントローラが CAN バスの通信に参加しており送受信が可
能な状態 ) で , メッセージバッファを無効 (BVALR:BVAL=0) にする場合は ,
「21.15 CAN コントローラの使用上の注意」に従ってください。
第 21 章 CAN コントローラ
21.6.8
送信要求レジスタ (TREQR)
送信要求レジスタ (TREQR) は , メッセージバッファ (x) に対する送信要求を設定し
またはその状態を表示します。
■ 送信要求レジスタ (TREQR)
図 21.6-10 送信要求レジスタ (TREQR)
送信要求レジスタ
14
13
12
11
10
9
8
アドレス:000073H(CAN0) bit 15
000083H(CAN1)
TREQ15 TREQ14 TREQ13 TREQ12 TREQ11 TREQ10 TREQ9 TREQ8
00005FH(CAN2)
リード/ライト
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
初期値
(X) (X)
アドレス:000072H(CAN0)
000082H(CAN1)
00005EH(CAN2)
リード/ライト
初期値
bit 7
6
5
4
3
2
1
TREQR
0
TREQ7 TREQ6 TREQ5 TREQ4 TREQ3 TREQ2 TREQ1 TREQ0
TREQR
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X) (X)
TREQx に "1" が書き込まれたときメッセージバッファ (x) に対する送信を開始します。
もしリモートフレーム受信待機レジスタ (RFWTR)*1 の RFWTx が "0" であれば送信は
直ちに開始します。しかし RFWTx=1 であればリモートフレームが受信される(リモー
ト要求受信レジスタ (RRTRR)*1 が "1" になる)まで待機した後に送信が開始します。
もし TREQx に "1" が書き込まれるときに RRTRx が既に "1" であれば , RFWTx=1 であっ
ても送信は直ちに開始します *2。
*1: TRTRR および RFWTR に関しては 「21.6.9 送信 RTR レジスタ (TRTRR)」および
「21.6.10 リモートフレーム受信待機レジスタ (RFWTR)」を参照してください。
*2: 送信の解除に関しては 「21.6.11 送信解除レジスタ (TCANR)」および 「21.6.12 送
信完了レジスタ (TCR)」を参照してください。
TREQx に "0" を書き込んでも無視されます。
リードモディファイライト系命令がリードされたときは "0" がリードされます。
もし送信動作の完了時における("0" への)クリアおよび "1" の書込みによる設定が同
時に生じればクリア動作が優先されます。
もし 1 つ以上のビットに "1" が書き込まれれば下位番号のメッセージバッファ(x) から
開始して送信が行われます。
TREQx は送信が待ち状態中は "1" であり送信が完了または解除されたときに "0" にな
ります。
353
第 21 章 CAN コントローラ
21.6.9
送信 RTR レジスタ (TRTRR)
本レジスタはメッセージバッファ (x) による送信 RTR(リモート送信要求)ビット
を設定するものです。
■ 送信 RTR レジスタ (TRTRR)
図 21.6-11 送信 RTR レジスタ (TRTRR)
送信RTRレジスタ
14
13
12
11
10
9
8
アドレス:003B0BH(CAN0) bit 15
003D0BH(CAN1)
TRTR15 TRTR14 TRTR13 TRTR12 TRTR11 TRTR10 TRTR9 TRTR8
003F0BH(CAN2)
リード/ライト
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
初期値
(0) (0)
アドレス:003B0AH(CAN0)
003D0AH(CAN1)
003F0AH(CAN2)
リード/ライト
初期値
bit 7
6
5
4
2
1
0
TRTR7 TRTR6 TRTR5 TRTR4 TRTR3 TRTR2 TRTR1 TRTR0
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0) (0)
0: データフレームが送信されます。
1: リモートフレームが送信されます。
354
3
TRTRR
TRTRR
第 21 章 CAN コントローラ
21.6.10
リモートフレーム受信待機レジスタ (RFWTR)
リモートフレーム受信待機レジスタ (RFWTR) は , データフレーム送信に対する要求
が設定された ( 送信要求レジスタ (TREQR) の TREQx が "1" であり送信 RTR レジ
スタ (TRTRR) の TRTRx が "0" である ) ときに送信を開始する条件を設定します。
0: 送信は直ちに開始します。
1: リモートフレーム受信 ( リモート要求受信レジスタ (RRTRR) が "1" になる ) まで
待機した後に送信を開始します。
■ リモートフレーム受信待機レジスタ (RFWTR)
図 21.6-12 リモートフレーム受信待機レジスタ (RFWTR)
リモートフレーム受信待機レジスタ
14
13
12
11
10
9
8
アドレス:003B0DH(CAN0) bit 15
003D0DH(CAN1)
RFWT15 RFWT14 RFWT13 RFWT12 RFWT11 RFWT10 RFWT9 RFWT8
003F0DH(CAN2)
リード/ライト
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
初期値
(X) (X)
アドレス:003B0CH(CAN0)
003D0CH(CAN1)
003F0CH(CAN2)
リード/ライト
初期値
< 注意事項 >
bit 7
6
5
4
3
2
1
RFWTR
0
RFWT7 RFWT6 RFWT5 RFWT4 RFWT3 RFWT2 RFWT1 RFWT0
RFWTR
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X) (X)
• 送信に対する要求が設定されたときに RRTRx が既に "1" であれば送信は直ちに
開始します。
• リモートフレーム送信に対しては RFWTx を "1" にセットしないでください。
355
第 21 章 CAN コントローラ
21.6.11
送信解除レジスタ (TCANR)
TCANx に "1" が書き込まれたときに本レジスタはメッセージバッファ (x) への送信
に対する待ち状態中の要求を解除します。
解除の完了時に送信要求レジスタ (TREQR) の TREQx は "0" になります。TCANx
に "0" を書き込んでも無視されます。
これは書込み専用レジスタでありそのリード値は常に "0" です。
■ 送信解除レジスタ (TCANR)
図 21.6-13 送信解除レジスタ (TCANR)
送信解除レジスタ
14
13
12
11
10
9
8
アドレス:000075H(CAN0) bit 15
000085H(CAN1)
TCAN15 TCAN14 TCAN13 TCAN12 TCAN11 TCAN10 TCAN9 TCAN8
000061H(CAN2)
(W)
リード/ライト
(W) (W)
(W) (W)
(W)
(W) (W)
(0)
(0)
(0)
(0)
(0)
(0)
初期値
(0) (0)
アドレス:000074H(CAN0)
000084H(CAN1)
000060H(CAN2)
リード/ライト
初期値
356
bit 7
6
5
4
3
2
1
0
TCAN7 TCAN6 TCAN5 TCAN4 TCAN3 TCAN2 TCAN1 TCAN0
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
TCANR
(W)
(0)
TCANR
第 21 章 CAN コントローラ
21.6.12
送信完了レジスタ (TCR)
メッセージバッファ (x) により送信の完了時に対応する TCx は "1" になります。
もし送信完了割込み許可レジスタ (TIER) の TIEx が "1" であれば割込みが生じます。
■ 送信完了レジスタ (TCR)
図 21.6-14 送信完了レジスタ (TCR)
送信完了レジスタ
14
13
12
11
10
9
8
アドレス:000077H(CAN0) bit 15
000087H(CAN1)
TC9
TC8
TC15 TC14 TC13 TC12 TC11 TC10
000063H(CAN2)
リード/ライト
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
初期値
(0) (0)
アドレス:000076H(CAN0)
000086H(CAN1)
000062H(CAN2)
リード/ライト
初期値
bit
7
6
5
4
3
2
1
0
TC7
TC6
TC5
TC4
TC3
TC2
TC1
TC0
TCR
TCR
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0) (0)
● TCx=0 となる条件
• TCx に "0" を書き込む。
• 送信要求レジスタ (TREQR) の TREQx に "1" を書き込む。
送信の完了の後で TCx に "0" を書き込むとそれを "0" にセットします。TCx に "1" を書
込んでも無視されます。リードモディファイライト系命令が実行されたときは "1" が
読み出されます。
< 注意事項 >
もし送信動作の完了時の "1" への設定および "0" の書込みによるクリアが同時に生
じたときは "1" への設定が優先します。
357
第 21 章 CAN コントローラ
21.6.13
送信割込み許可レジスタ (TIER)
本レジスタはメッセージバッファ (x) による送信割込みを許可または禁止します。送
信割込みは送信完了時(送信完了レジスタ (TCR) の TCx が "1" になったとき)に発
生します。
■ 送信割込み許可レジスタ (TIER)
図 21.6-15 送信割込み許可レジスタ (TIER)
送信割込み許可レジスタ
14
13
12
11
10
9
8
アドレス:003B0FH(CAN0) bit 15
003D0FH(CAN1)
TIE15 TIE14 TIE13 TIE12 TIE11 TIE10 TIE9 TIE8
003F0FH(CAN2)
リード/ライト
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
初期値
(0) (0)
TIER
6
5
4
3
2
1
0
アドレス:003B0EH(CAN0) bit 7
003D0EH(CAN1)
TIE7 TIE6 TIE5 TIE4 TIE3 TIE2 TIE1 TIE0
003F0EH(CAN2)
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
リード/ライト
(0)
(0)
(0)
(0)
(0)
(0)
(0) (0)
初期値
TIER
0: 送信割込みは禁止されます。
1: 送信割込みは許可されます。
358
第 21 章 CAN コントローラ
21.6.14
受信完了レジスタ (RCR)
メッセージバッファ (x) への受信メッセージのストアの完了時に RCx は "1" になり
ます。
もし受信完了割込み許可レジスタの RIEx が "1" であれば割込みが生じます。
■ 受信完了レジスタ (RCR)
図 21.6-16 受信完了レジスタ (RCR)
受信完了レジスタ
14
13
12
11
10
9
8
アドレス:000079H(CAN0) bit 15
000089H(CAN1)
RC9
RC8
RC15 RC14 RC13 RC12 RC11 RC10
000065H(CAN2)
リード/ライト
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
初期値
(0) (0)
アドレス:000078H(CAN0)
000088H(CAN1)
000064H(CAN2)
リード/ライト
初期値
bit 7
RC7
6
5
4
3
2
1
0
RC6
RC5
RC4
RC3
RC2
RC1
RC0
RCR
RCR
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0) (0)
● RCx=0 となる条件
RCx に "0" を書き込む。
受信メッセージの処理の完了の後で RCx に "0" を書き込んで "0" にセットしてくださ
い。RCx に "1" を書き込んでも無視されます。
リードモディファイライト系命令が実行されたときは "1" が読み出されます。
< 注意事項 >
もし受信動作の完了時の "1" への設定および "0" の書込みによるクリアが同時に生
じたときは , "1" への設定が優先します。
359
第 21 章 CAN コントローラ
21.6.15
リモート要求受信レジスタ (RRTRR)
受信されたリモートフレームがメッセージバッファ (x) 内にストアされると RRTRx
は(RCx 設定が "1" になると同時に ) "1" になります。
■ リモート要求受信レジスタ (RRTRR)
図 21.6-17 リモート要求受信レジスタ (RRTRR)
リモート要求受信レジスタ
14
13
12
11
10
9
8
アドレス:00007BH(CAN0) bit 15
00008BH(CAN1)
RRTR15 RRTR14 RRTR13 RRTR12 RRTR11 RRTR10 RRTR9 RRTR8
000067H(CAN2)
リード/ライト
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
初期値
(0) (0)
アドレス:00007AH(CAN0)
00008AH(CAN1)
000066H(CAN2)
リード/ライト
初期値
bit 7
6
5
4
3
2
1
RRTRR
0
RRTR7 RRTR6 RRTR5 RRTR4 RRTR3 RRTR2 RRTR1 RRTR0
RRTRR
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0) (0)
● RRTRx=0 となる条件
• RRTRx に "0" を書き込む。
• 受信されたデータフレームがメッセージバッファ (x) にストアされた後(RCx 設定
が "1" になるのと同時)。
• メッセージバッファ (x) による送信が完了した後(送信完了レジスタ (TCR) の TCx
は "1")。
RRTRx に "1" を書き込んでも無視されます。
リードモディファイライト系命令が実行されたときは "1" が読み出されます。
< 注意事項 >
360
もし "1" への設定と "0" の書込みによるクリアが同時に生じたときは "1" への設定
が優先します。
第 21 章 CAN コントローラ
21.6.16
受信オーバランレジスタ (ROVRR)
もしメッセージバッファ (x) 内への受信メッセージのストア完了時に受信完了レジス
タ (RCR) がすでに "1" であれば ROVRx は "1" になり受信がオーバランしたことを
表します。
■ 受信オーバランレジスタ (ROVRR)
図 21.6-18 受信オーバランレジスタ (ROVRR)
受信オーバランレジスタ
14
13
12
11
10
9
8
アドレス:00007DH(CAN0) bit 15
00008DH(CAN1)
ROVR15 ROVR14 ROVR13 ROVR12 ROVR11 ROVR10 ROVR9 ROVR8
000069H(CAN2)
リード/ライト
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
初期値
(0) (0)
アドレス:00007CH(CAN0)
00008CH(CAN1)
000068H(CAN2)
リード/ライト
初期値
bit
7
6
5
4
3
2
1
ROVRR
0
ROVR7 ROVR6 ROVR5 ROVR4 ROVR3 ROVR2 ROVR1 ROVR0
ROVRR
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0) (0)
ROVRx に "0" を書き込むと ROVRx=0 になります。ROVRx に "1" を書込みしても無視
されます。受信がオーバランしたことをチェックした後で ROVRx に "0" を書き込むと
それを "0" に設定します。
リードモディファイライト系命令が実行されたときは "1" が読み出されます。
< 注意事項 >
もし "1" への設定と "0" の書込みによるクリアが同時に生じたときは "1" への設定
が優先します。
361
第 21 章 CAN コントローラ
21.6.17
受信割込み許可レジスタ (RIER)
受信割込み許可レジスタ (RIER) は , メッセージバッファ (x) による受信割込みを許
可または禁止します。
受信割込みは受信完了時(受信完了レジスタ (RCR) の RCx が "1" であるとき)に
発生します。
■ 受信割込み許可レジスタ (RIER)
図 21.6-19 受信割込み許可レジスタ (RIER)
受信割込み許可レジスタ
14
13
12
11
10
9
8
アドレス:00007FH(CAN0) bit 15
00008FH(CAN1)
RIE15 RIE14 RIE13 RIE12 RIE11 RIE10 RIE9 RIE8
00006BH(CAN2)
リード/ライト
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
初期値
(0) (0)
アドレス:00007EH(CAN0)
00008EH(CAN1)
00006AH(CAN2)
リード/ライト
初期値
bit
7
6
5
4
3
2
1
0
RIE7
RIE6
RIE5
RIE4
RIE3
RIE2
RIE1
RIE0
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0) (0)
0: 受信割込みは禁止されます。
1: 受信割込みは許可されます。
362
RIER
RIER
第 21 章 CAN コントローラ
アクセプタンスマスク選択レジスタ (AMSR)
21.6.18
本レジスタは受信メッセージ ID とメッセージバッファ (x)ID の比較に対するマスク
( アクセプタンスマスク ) を選択します。
■ アクセプタンスマスク選択レジスタ (AMSR)
図 21.6-20 アクセプタンスマスク選択レジスタ (AMSR)
アクセプタンスマスク選択レジスタ
タイプ1
7
bit
アドレス:003B10H(CAN0)
003D10H(CAN1)
003F10H(CAN2)
リード/ライト
初期値
6
5
4
3
2
1
0
AMS3.1 AMS3.0 AMS2.1 AMS2.0 AMS1.1 AMS1.0 AMS0.1 AMS0.0
(R/W) (R/W)
(X)
(X)
(R/W)
(X)
(R/W) (R/W)
(X)
(X)
(R/W) (R/W)
(X)
(X)
AMSR バイト0
(R/W)
(X)
タイプ2
14
13
12
11
10
9
8
アドレス:003B11H(CAN0) bit 15
003D11H(CAN1)
AMS4.0
AMS6.0
AMS5.0
AMS7.0
AMS4.1
AMS6.1
AMS5.1
AMS7.1
003F11H(CAN2)
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
リード/ライト
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
初期値
タイプ3
bit
アドレス:003B12H(CAN0)
003D12H(CAN1)
003F12H(CAN2)
リード/ライト
初期値
タイプ4
アドレス:003B13H(CAN0)
003D13H(CAN1)
003F13H(CAN2)
リード/ライト
初期値
7
6
5
4
3
2
1
0
AMS11.1 AMS11.0 AMS10.1 AMS10.0 AMS9.1 AMS9.0 AMS8.1 AMS8.0
(R/W) (R/W)
(X)
(X)
bit
15
14
(R/W)
(X)
13
(R/W) (R/W)
(X)
(X)
12
11
(R/W) (R/W)
(X)
(X)
10
9
(R/W)
(X)
(R/W) (R/W)
(X)
(X)
(R/W) (R/W)
(X)
(X)
AMSR バイト2
(R/W)
(X)
8
AMS15.1 AMS15.0 AMS14.1 AMS14.0 AMS13.1 AMS13.0 AMS12.1 AMS12.0
(R/W) (R/W)
(X)
(X)
AMSR バイト1
AMSR バイト3
(R/W)
(X)
表 21.6-2 アクセプタンスマスクの選択
< 注意事項 >
AMSx.1
AMSx.0
0
0
フルビット比較
0
1
フルビットマスク
1
0
アクセプタンスマスクレジスタ 0(AMR0)
1
1
アクセプタンスマスクレジスタ 1(AMR1)
アクセプタンスマスク
• AMSx.1 および AMSx.0 はメッセージバッファ (x) が無効である(メッセージ
バッファ有効レジスタ (BVALR) の BVALx が "0" である)ときに設定しなけれ
ばなりません。バッファが有効 (BVALx=1) なときに設定を行うと不要な受信
メッセージがストアされる可能性があります。
• CAN コントローラが CAN 通信に参加している状態(CSR:HALT ビットの読み
出し値が "0" で , CAN コントローラが CAN バスの通信に参加しており送受信が
可能な状態 ) で , メッセージバッファを無効(BVALR:BVAL=0) にする場合は ,
「21.15 CAN コントローラの使用上の注意」に従ってください。
363
第 21 章 CAN コントローラ
21.6.19
アクセプタンスマスクレジスタ 0 および 1(AMR0/AMR1)
AMR0 および AMR1 の 2 つのアクセプタンスマスクレジスタがありますが両者とも
に標準フレームフォーマットまたは拡張フレームフォーマットのいずれかで利用で
きます。
AM28 ∼ AM18(11 ビット ) は標準フレームフォーマットにおけるアクセプタンスマ
スクに使用され AM28 ∼ AM0(29 ビット ) は拡張フォーマットでアクセプタンスマ
スクに使用されます。
■ アクセプタンスマスクレジスタ 0 および 1(AMR0/AMR1)
図 21.6-21 アクセプタンスマスクレジスタ 0 および 1(AMR0/AMR1)
アクセプタンスマスクレジスタ0/1
6
5
4
3
2
1
0
アドレス:003B14H(CAN0) bit 7
003D14H(CAN1)
AM28 AM27 AM26 AM25 AM24 AM23 AM22 AM21
003F14H(CAN2)
リード/ライト
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
初期値
(X) (X)
AMR0 バイト0
14
13
12
11
10
9
8
アドレス:003B15H(CAN0) bit 15
003D15H(CAN1)
AM20 AM19 AM18 AM17 AM16 AM15 AM14 AM13
003F15H(CAN2)
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(R/W)
リード/ライト
(X)
(X)
(X)
(X)
(X)
(X)
(X) (X)
初期値
AMR0 バイト1
6
5
4
3
2
1
0
アドレス:003B16H(CAN0) bit 7
003D16H(CAN1)
AM8
AM7
AM6
AM5
AM12 AM11 AM10 AM9
003F16H(CAN2)
リード/ライト
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
初期値
(X) (X)
AMR0 バイト2
14
アドレス:003B17H(CAN0) bit 15
003D17H(CAN1)
AM3
AM4
003F17H(CAN2)
(R/W) (R/W)
リード/ライト
(X)
(X)
初期値
6
アドレス:003B18H(CAN0) bit 7
003D18H(CAN1)
AM28 AM27
003F18H(CAN2)
リード/ライト
(R/W) (R/W)
(X)
(X)
初期値
14
アドレス:003B19H(CAN0) bit 15
003D19H(CAN1)
AM20 AM19
003F19H(CAN2)
(R/W)
(R/W)
リード/ライト
(X)
(X)
初期値
6
アドレス:003B1AH(CAN0) bit 7
003D1AH(CAN1)
AM12 AM11
003F1AH(CAN2)
リード/ライト
(R/W) (R/W)
(X)
(X)
初期値
13
12
11
AM2
AM1
AM0
(R/W) (R/W) (R/W)
(X)
(X)
(X)
9
8
-
-
-
(-)
(-)
(-)
(-)
(-)
(-)
5
4
3
2
1
0
AM26
AM25
AM24
AM23
AM22
AM21
AMR0 バイト3
AMR1 バイト0
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X) (X)
13
12
11
10
9
8
AM18
AM17
AM16
AM15
AM14
AM13
AMR1 バイト1
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X) (X)
5
4
3
2
1
0
AM10
AM9
AM8
AM7
AM6
AM5
AMR1 バイト2
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X) (X)
14
13
12
11
アドレス:003B1BH(CAN0) bit 15
003D1BH(CAN1)
AM3
AM2
AM1
AM0
AM4
003F1BH(CAN2)
(R/W)
(R/W)
(R/W)
(R/W) (R/W)
リード/ライト
(X)
(X)
(X)
(X)
(X)
初期値
364
10
10
9
8
-
-
-
(-)
(-)
(-)
(-)
(-)
(-)
AMR1 バイト3
第 21 章 CAN コントローラ
● 0: コンペア
本ビットに対応するアクセプタンスコード(受信メッセージ ID と比較するための ID
レジスタ IDRx) を受信メッセージ ID のビットと比較します。マッチしなければメッ
セージは受信されません。
● 1: マスク
本ビットに対応するアクセプタンスコード ID レジスタ (IDRx) をマスクします。受信
メッセージ ID のビットとのコンペアは行われません。
< 注意事項 >
• AMR0 および AMR1 は AMR0 および AMR1 を選択するメッセージバッファ (x)
のすべてが無効(メッセージバッファ有効レジスタ (BVALR) の BVALx が "0")
であるときに設定しなければなりません。バッファが有効 (BVALx=1) であると
きに設定を行うと不必要な受信メッセージがストアされる可能性があります。
• CAN コントローラが CAN 通信に参加している状態(CSR:HALT ビットの読み
出し値が "0" で ,CAN コントローラが CAN バスの通信に参加しており送受信が
可能な状態)で , メッセージバッファを無効 (BVALR:BVAL=0) にする場合は ,
「21.15 CAN コントローラの使用上の注意」に従ってください。
365
第 21 章 CAN コントローラ
21.6.20
メッセージバッファ
メッセージバッファは 16 個あり ,1 つのメッセージバッファ x(x=0 ∼ 15) は ID レジ
スタ (IDRx), DLC レジスタ (DLCRx) およびデータレジスタ (DTRx) から構成されて
います。
■ メッセージバッファ
• メッセージバッファ (x) は送信および受信の両方に使用されます。
• 下位番号のメッセージバッファの方が高い優先順位を割当てられています。
- 送信時に送信要求が 1 つ以上のメッセージバッファに対して為されたときには最
下位番号のメッセージバッファから開始して送信が行われます( 「21.7 CAN コ
ントローラの送信」を参照してください)
。
- 受信時に 1 つ以上のメッセージバッファのアクセプタンスフィルタ(受信メッ
セージのアクセプタンスマスク ID とメッセージバッファとを比較する機構)を
受信メッセージ ID が通過するときに受信メッセージは最下位番号のメッセージ
バッファ内に記憶されます( 「21.8 CAN コントローラの受信」を参照してくだ
さい)。
• 同一のアクセプタンスフィルタが 1 つ以上のメッセージバッファ内に設定されたと
きにメッセージバッファはマルチレベルメッセージバッファとして使用すること
ができます。これにより受信時間に対する余裕が与えられます( 「21.12 メッセー
ジバッファ (x) による受信方法」を参照してください)
。
< 注意事項 >
• メッセージバッファおよび汎用 RAM 領域への書込み動作は , ワード単位でイー
ブンアドレスに対して行わなければなりません。バイト単位で書込み動作を行
うと下位バイトへの書込み時に上位バイトに不定データを書き込んでしまいま
す。
• メッセージバッファ有効レジスタ (BVALR) の BVALx ビットが "0"(無効)であ
るときにメッセージバッファ x(IDRx, DLCRx および DTRx)は汎用 RAM とし
て使用することができます。ただし ,CAN コントローラが送受信動作中は , メッ
セージバッファを使用しますので ,CPU のアクセスが最大で 64 マシンサイクル
待たされることがあります。これは汎用 RAM 領域(アドレス 003A00H ∼
003A1FH , 003C00H ∼ 003C1FH および 003E00H ∼ 003E1FH)についても同様
です。
366
第 21 章 CAN コントローラ
21.6.21
ID レジスタ x(x=0 ∼ 15)(IDRx)
ID レジスタ x(x=0 ∼ 15)(IDRx) は , メッセージバッファ (x) に対する ID レジスタで
す。
■ ID レジスタ x(x=0 ∼ 15)(IDRx)
図 21.6-22 ID レジスタ x(x=0 ∼ 15)(IDRx)
IDレジスタx(x=0~15)
6
5
4
3
2
1
0
アドレス:003A20H+4x(CAN0) bit 7
003C20H+4x(CAN1)
ID28 ID27 ID26 ID25 ID24 ID23 ID22 ID21
003E20H+4x(CAN2)
リード/ライト
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
初期値
(X) (X)
IDRx バイト0
14
13
12
11
10
9
8
アドレス:003A21H+4x(CAN0) bit 15
003C21H+4x(CAN1)
ID20 ID19 ID18 ID17 ID16 ID15 ID14 ID13
003E21H+4x(CAN2)
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
リード/ライト
(X)
(X)
(X)
(X)
(X)
(X)
(X) (X)
初期値
IDRx バイト1
6
5
4
3
2
1
0
アドレス:003A22H+4x(CAN0) bit 7
003C22H+4x(CAN1)
ID8
ID7
ID6
ID5
ID12 ID11 ID10 ID9
003E22H+4x(CAN2)
リード/ライト
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
初期値
(X)
(X)
(X)
(X)
(X)
(X)
(X) (X)
IDRx バイト2
14
13
12
11
アドレス:003A23H+4x(CAN0) bit 15
003C23H+4x(CAN1)
ID3
ID2
ID1
ID0
ID4
003E23H+4x(CAN2)
(R/W) (R/W) (R/W) (R/W) (R/W)
リード/ライト
(X)
(X)
(X)
(X)
(X)
初期値
10
9
8
-
-
-
(-)
(-)
(-)
(-)
(-)
(-)
IDRx バイト3
標準フレームフォーマット(IDE レジスタ (IDER) の IDEx=0) でメッセージバッファ(x)
を使用しているときは ID28 ∼ ID18 の 11 ビットを使用してください。拡張フレーム
フォーマット (IDEx=1) でバッファを使用しているときは ID28 ∼ ID0 の 29 ビットを使
用してください。
ID28 ∼ ID0 の機能は次のとおりです。
• アクセプタンスコード設定(受信メッセージ ID との比較用の ID)
• 送信メッセージ ID の設定
• 受信メッセージ ID の記憶
367
第 21 章 CAN コントローラ
< 注意事項 >
368
• 標準フレームフォーマットでは ID28 ∼ ID22 のビットのすべてに "1" をセット
することは禁止されています。
• 受信メッセージ ID はアクセプタンスマスクでマスクされているビットにも記憶
されます。標準フレームフォーマットでは ID17 ∼ ID0 は不定値(受信シフト
レジスタに残されている前回受信したメッセージの一部)が記憶されます。
• ID レジスタ x(x=0 ∼ 15)(IDRx) への書込み動作はワード単位で行わなければな
りません。バイト単位で書込み動作を行うと下位バイトへの書込み時に上位バ
イトに不定データを書き込んでしまいます。上位バイトへの書込みは無視され
ます。
• 本レジスタはメッセージバッファ (x) が無効(メッセージバッファ有効レジス
タ (BVALR) の BVALx が "0")であるときに設定されなければなりません。バッ
ファが有効 (BVALx=1)であるときに設定を行うと不必要な受信メッセージが
ストアされてしまいます。
• CAN コントローラが CAN 通信に参加している状態(CSR:HALT ビットの読み
出し値が "0" で , CAN コントローラが CAN バスの通信に参加しており送受信が
可能な状態)で , メッセージバッファを無効 (BVALR:BVAL=0) にする場合は ,
「21.15 CAN コントローラの使用上の注意」に従ってください。
第 21 章 CAN コントローラ
21.6.22
DLC レジスタ x(x=0 ∼ 15)(DLCRx)
DLC レジスタ x(x=0 ∼ 15)(DLCRx) は , メッセージバッファ x に対する DLC をスト
アします。
■ DLC レジスタ x(x=0 ∼ 15)(DLCRx)
図 21.6-23 DLC レジスタ x(x=0 ∼ 15)(DLCRx)
DLCレジスタx(x=0~15)
アドレス:003A60H+2x(CAN0) bit 7
003C60H+2x(CAN1)
-
003E60H+2x(CAN2)
リード/ライト
(-)
初期値
(-)
6
5
-
-
(-)
(-)
(-)
(-)
4
3
2
1
0
-
DLC3
DLC2
DLC1
DLC0
DLCRx バイト0
(-) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X) (X)
(-)
● 送信
• データフレームが送信する(送信 RTR レジスタ (TRTRR) の TRTRx が "0")ときに
送信メッセージのデータ長(バイト単位)を設定します。
• リモートフレームが送信する (TRTRx=1) ときに要求メッセージのデータ長(バイト
単位)を設定します。
< 注意事項 >
"0000" ∼ "1000"(0 ∼ 8 バイト)以外の設定は禁止されています。
● 受信
• データフレームが受信された(リモートフレーム要求受信レジスタ
の
(RRTRR)
RRTRx が "0")ときに受信メッセージのデータ長(バイト単位)を記憶します。
• リモートフレームが受信された (RRTRx=1) ときに要求メッセージのデータ長(バイ
ト単位)を記憶します。
< 注意事項 >
本レジスタへの書込み動作はワード単位で行わなければなりません。バイト単位で
書込み動作を行うと下位バイトへの書込み時に上位バイトに不定データを書き込ん
でいます。上位バイトへの書込みは無視されます。
369
第 21 章 CAN コントローラ
21.6.23
データレジスタ x(x=0 ∼ 15)(DTRx)
データレジスタ x(x=0 ∼ 15)(DTRx) は , メッセージバッファ (x) に対するデータレ
ジスタです。
本レジスタはデータフレームの送信および受信のみ使用されるものでありリモート
フレームの送信および受信には使用されません。
■ データレジスタ x(x=0 ∼ 15)(DTRx)
図 21.6-24 データレジスタ x(x=0 ∼ 15)(DTRx)
データレジスタx(x=0~15)
6
5
4
3
2
1
0
アドレス:003A80H+8x(CAN0) bit 7
003C80H+8x(CAN1)
D6
D5
D4
D3
D2
D1
D0
D7
003E80H+8x(CAN2)
リード/ライト
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
初期値
(X) (X)
DTRx バイト0
14
13
12
11
10
9
8
アドレス:003A81H+8x(CAN0) bit 15
003C81H+8x(CAN1)
D6
D5
D4
D3
D2
D1
D0
D7
003E81H+8x(CAN2)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
リード/ライト
(X)
(X)
(X)
(X)
(X)
(X)
(X) (X)
初期値
DTRx バイト1
6
5
4
3
2
1
0
アドレス:003A82H+8x(CAN0) bit 7
003C82H+8x(CAN1)
D6
D5
D4
D3
D2
D1
D0
D7
003E82H+8x(CAN2)
リード/ライト
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X) (X)
初期値
DTRx バイト2
14
13
12
11
10
9
8
アドレス:003A83H+8x(CAN0) bit 15
003C83H+8x(CAN1)
D6
D5
D4
D3
D2
D1
D0
D7
003E83H+8x(CAN2)
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
リード/ライト
(X)
(X)
(X)
(X)
(X)
(X)
(X) (X)
初期値
6
5
4
3
2
1
0
アドレス:003A84H+8x(CAN0) bit 7
003C84H+8x(CAN1)
D6
D5
D4
D3
D2
D1
D0
D7
003E84H+8x(CAN2)
リード/ライト
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
初期値
(X) (X)
DTRx バイト3
DTRx バイト4
14
13
12
11
10
9
8
アドレス:003A85H+8x(CAN0) bit 15
003C85H+8x(CAN1)
D6
D5
D4
D3
D2
D1
D0
D7
003E85H+8x(CAN2)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
リード/ライト
(X)
(X)
(X)
(X)
(X)
(X)
(X) (X)
初期値
DTRx バイト5
6
5
4
3
2
1
0
アドレス:003A86H+8x(CAN0) bit 7
003C86H+8x(CAN1)
D6
D5
D4
D3
D2
D1
D0
D7
003E86H+8x(CAN2)
リード/ライト
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X) (X)
初期値
DTRx バイト6
14
13
12
11
10
9
8
アドレス:003A87H+8x(CAN0) bit 15
003C87H+8x(CAN1)
D6
D5
D4
D3
D2
D1
D0
D7
003E87H+8x(CAN2)
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
リード/ライト
(X)
(X)
(X)
(X)
(X)
(X)
(X) (X)
初期値
DTRx バイト7
370
第 21 章 CAN コントローラ
● 送信メッセージデータ(0 ∼ 8 バイトのいずれか)の設定
データは MSB で開始して BYTE0, BYTE1, ...BYTE7 の順で送信されます。
● 受信メッセージデータ
データは MSB で開始して BYTE0, BYTE1, ...BYTE7 の順で記憶されます。
受信メッセージデータが 8 バイトより少なくてもデータが記憶されるデータレジスタ
(DTRx) の残りのバイトは不定となります。
< 注意事項 >
本レジスタへの書込み動作はワード単位で行わなければなりません。バイト単位で
書込み動作を行うと下位バイトへの書込み時に上位バイトに不定データを書き込ん
でしまいます。上位バイトへの書込みは無視されます。
371
第 21 章 CAN コントローラ
21.7
CAN コントローラの送信
CAN コントローラでは , 送信要求レジスタ (TREQR) の TREQx に "1" が書き込まれ
たときにメッセージバッファ (x) による送信が開始します。このときに TREQx は
"1" になり送信完了レジスタ (TCR) の TCx は "0" になります。
■ CAN コントローラの送信の開始
リモートフレーム受信待機レジスタ (RFWTR) の RFWTx が "0" であれば送信は直ちに
開始します。もし RFWTx が "1" であれば , リモートフレームが受信される(リモート
要求受信レジスタ (RRTRR) の RRTRx が "1" になる)まで待機した後に送信が開始し
ます。
もし送信に対する要求が 1 つ以上のメッセージバッファに対して為された(1 つ以上の
TREQx が "1")ときには最下位番号のメッセージバッファから開始して送信が行われ
ます。
CAN バスに対するメッセージ送信(送信出力端子 TX によるもの)はバスがアイドル
のときに開始します。
送信 RTR レジスタ (TRTRR) の TRTRx が "0" であればデータフレームが送信されます。
もし TRTRx が "1" であればリモートフレームが送信されます。
送信に関してメッセージバッファが CAN バス上の他の CAN コントローラと競合して
アービトレーションが不調に終わった場合または送信中にエラーが生じた場合 , メッ
セージバッファはバスがアイドルとなるまで待機しそれが成功するまで再送信を反復
します。
■ CAN コントローラの送信要求の解除
● 送信解除レジスタ (TCANR) による解除
送信待ち状態中に送信を実行しなかったメッセージバッファ(x) に対する送信要求は送
信解除レジスタ (TCANR) の TCANx に "1" を書き込むことにより解除することができ
ます。解除の完了時に TREQx は "0" になります。
● 受信メッセージの記憶による解除
送信要求にもかかわらず送信を実行しなかったメッセージバッファ(x) も受信を行いま
す。
データフレームの送信に対する要求にもかかわらずメッセージバッファ(x) が送信を実
行していなかった場合でも(TRTRx=0 または TREQx=1), アクセプタンスフィルタを通
過した受信データフレームをストアした後には送信要求が解除されます (TREQx=0)。
< 注意事項 >
372
リモートフレームをストアすることでは送信要求は解除されません(TREQx=1 は
そのままです)。
第 21 章 CAN コントローラ
リモートフレームの送信に対する要求にもかかわらずメッセージバッファ(x) が送信を
実行していなかった場合でも(TRTRx=1 または TREQx=1), アクセプタンスフィルタ
を 通過 し た 受信 リ モー ト フレ ー ムを ス トア し た 後に は 送信 要 求が 解 除さ れ ま す
(TREQx=0)。
< 注意事項 >
データフレームまたはリモートフレームのいずれをストアしても送信要求は解除
されます。
■ CAN コントローラの送信の完了
送信が成功したときに RRTRx は "0" になり TREQx は "0" になり送信完了レジスタ
(TCR) の TCx は "1" になります。もし送信完了割込みが許可されていれば(送信完了
割込み許可レジスタ (TIER) の TIEx は "1")割込みが生じます。
■ CAN コントローラの送信フローチャート
図 21.7-1 に ,CAN コントローラの送信フローチャートを示します。
373
第 21 章 CAN コントローラ
図 21.7-1 CAN コントローラの送信フローチャート
送信要求
(TREQx := 1)
TCx := 0
0
TREQx ?
1
0
RFWTx ?
1
0
RRTRx ?
1
上記条件を満足するほかのメッセージ
バッファがある場合,その中で最下位
番号メッセージバッファを選択
NO
バスは使用され
ていないか?
YES
0
1
TRTRx ?
データフレームが送信される
リモートフレームが送信される
NO
送信は成功したか?
YES
TCANx ?
RRTRx := 0
TREQx := 0
TCx
:= 1
TIEx ?
1
TREQx := 0
1
0
送信完了割込みが発生
送信の終了
374
0
第 21 章 CAN コントローラ
21.8
CAN コントローラの受信
CAN バス上でデータフレームまたはリモートフレームの開始 (SOF) が検出されたと
きに受信は開始します。
■ アクセプタンスフィルタリング
標準フレームフォーマットの受信メッセージは標準フレームフォーマットに設定され
たメッセージバッファ (x)(IDE レジスタ (IDER) の IDEx は "0")と比較されます。拡
張フレームフォーマットの受信メッセージは拡張フレームフォーマットに設定された
メッセージバッファ (x)(IDEx は "1")と比較されます。
もし受信メッセージ ID とアクセプタンスコード(受信メッセージ ID との比較のため
の ID レジスタ (IDRx))との比較の後にアクセプタンスマスクにより比較すべきビット
セットのすべてが一致すれば受信メッセージはメッセージバッファ(x) のアクセプタン
スフィルタを通過します。
■ 受信メッセージの記憶
受信動作が成功したときに受信メッセージはアクセプタンスフィルタを通過した ID を
含めメッセージバッファ (x) に記憶されます。
データフレームを受信したときに受信メッセージは ID レジスタ (IDRx), DLC レジスタ
(DLCRx) およびデータレジスタ (DTRx) に記憶されます。
受信メッセージデータが 8 バイトより少なくてもデータは DTRx の残りのバイトに記
憶されその値は不定となります。
リモートフレームを受信したときに受信メッセージは IDRx および DLCRx のみに記憶
されて DTRx はそのままです。
もしアクセプタンスフィルタを通過した ID を含む 1 つ以上のメッセージバッファがあ
れば受信メッセージが記憶されるべきメッセージバッファ x は次の規則により決定さ
れます。
• メッセージバッファx(x=0 ∼ 15) の優先順位はその番号が低いほど高くなります。す
なわちメッセージバッファ 0 が最高の優先度を与えられメッセージバッファ 15 は
最低の優先度が与えられます。
• 受信メッセージを記憶する上では基本的に受信完了レジスタ (RCR) の RCx ビット
が "0" に設定されたメッセージバッファが優先されます。
• もしアクセプタンスマスク選択レジスタ
(AMSR)
の各ビットが全ビット比較
(AMSx.1 および AMSx.0 ビットが "00" に設定されたメッセージバッファに設定され
ていれば RCR の RCx ビットの値にかかわらず受信メッセージはストアされます。
• もし RCR の RCx ビットが "0" のバッファと AMSR のビットが全ビット比較に設定
されているバッファが複数ある場合 , 受信メッセージは最下位番号(最優先)のメッ
セージバッファ x に記憶されます。
• もし上記のメッセージバッファが無ければ受信メッセージは下位番号メッセージ
バッファ x に記憶されます。
375
第 21 章 CAN コントローラ
図 21.8-1 には , 受信メッセージを記憶すべきメッセージバッファ x を決定するための
フローチャートが示されています。メッセージバッファはバッファ番号順に ,AMSR の
各ビットが全ビット比較にセットされたメッセージバッファ ,AMR0 または AMR1 を
使用しているメッセージバッファおよび AMSR の各ビットが全ビットマスクにセット
されたメッセージバッファの順番に設定されることを推奨します。
図 21.8-1 受信メッセージを記憶するメッセージバッファ (x) を決定するフローチャート
開始
RCxが"0"にセットされているか,AMSx.1
およびAMSx.0が"00"にセットされている
メッセージバッファがみつかるか?
NO
YES
上記に該当するメッセージバッファ
の中から,最下位番号の
メッセージバッファを選択
すべてのメッセージバッファ
の中から,最下位番号の
メッセージバッファを選択
終了
■ 受信オーバラン
受信メッセージがストアされるべきメッセージバッファ x に対応する受信完了レジス
タ (RCR) の RCx ビットがすでに "1" にセットされていてメッセージバッファ x の受信
メッセージの記憶が完了したときに受信オーバランレジスタ (ROVRR) の ROVRx ビッ
トは "1" にセットされて受信オーバランを示します。
■ データフレームおよびリモートフレームの受信に対する処理
● データフレームの受信に対する処理
リモート要求受信レジスタ (RRTRR) の RRTRx は "0" になります。
送信要求レジスタ (TREQR) の TREQx は(受信メッセージを記憶する直前に)"0" にな
ります。送信を実行しなかったメッセージバッファ (x) に対する送信要求は解除されま
す。
< 注意事項 >
データフレームまたはリモートフレームのいずれの送信に対する要求も解除され
ます。
● リモートフレームの受信に対する処理
RRTRx は "1" になります。
もし送信 RTR レジスタ (TRTRR) の TRTRx が "1" であれば TREQx は "0" になります。
この結果,送信を実行しなかったメッセージバッファへのリモートフレームの送信に対
する要求は解除されます。
376
第 21 章 CAN コントローラ
< 注意事項 >
• データフレーム送信に対する要求は解除されません。
• 送信要求の解除に関しては 「21.7 CAN コントローラの送信」を参照してくだ
さい。
■ 受信完了
受信完了レジスタ (RCR) の RCx は受信メッセージを記憶した後に "1" になります。
もし受信割込みが許可されていれば(受信割込み許可レジスタ (RIER) の RIEx が "1")
割込みが生じます。
< 注意事項 >
この CAN コントローラはそれ自身が送信したメッセージを受信することはありま
せん。
377
第 21 章 CAN コントローラ
21.9
CAN コントローラの受信フローチャート
図 21.9-1 に ,CAN コントローラの受信フローチャートを示します。
■ CAN コントローラの受信フローチャート
図 21.9-1 CAN コントローラの受信フローチャート
データフレームまたは,リモー
トフレームの開始(SOF)の検出
NO
アクセプタンスフィルタをパスする
メッセージバッファxはあるか ?
YES
NO
受信は成功したか?
YES
受信メッセージを記憶するメッセー
ジバッファxを決定
受信メッセージをメッセージ
バッファxに記憶
1
RCx ?
0
データフレーム
ROVRx := 1
リモートフレーム
受信メッセージは?
RRTRx := 0
RRTRx := 1
1
TRTRx ?
0
TREQx := 0
RCx := 1
RIEx ?
0
受信の終了
378
1
受信割込みが発生
第 21 章 CAN コントローラ
21.10
CAN コントローラの使用方法
CAN コントローラでは , 次のような設定が必要です。
• ビットタイミングの設定
• フレームフォーマットの設定
• ID の設定
• アクセプタンスフィルタの設定
• 低電力消費モードの設定
■ ビットタイミングの設定
ビットタイミングレジスタ (BTR) はバス動作停止(制御ステータスレジスタ (CSR) の
バス動作停止ビット (HALT) が "1")の間に設定しなければなりません。
設定完了の後に HALT に "0" を書き込んでバス動作停止を解除してください。
■ フレームフォーマットの設定
メッセージバッファ (x) により使用されるフレームフォーマットを設定してください。
標準フレームフォーマットを使用するときには IDE レジスタ (IDER) の IDEx を "0" に
設定してください。拡張フレームフォーマットを使用するときには IDEx を "1" に設定
してください。
この設定はメッセージバッファ(x) が無効(メッセージバッファ有効レジスタ (BVALR)
の BVALx が "0")であるときに行わなければなりません。バッファが有効 (BVALx=1)
のときに設定を行うと不必要な受信メッセージがストアされる可能性があります。
■ ID の設定
メッセージバッファ (x) の ID を ID レジスタ (IDRx) の ID28 ∼ ID0 に設定してくださ
い。メッセージバッファ (x) の ID は標準フレームフォーマットでは ID17 ∼ ID0 に設
定する必要はありません。メッセージバッファ (x) の ID は送信では送信メッセージと
して使用され受信ではアクセプタンスコードとして使用されます。
この設定はメッセージバッファ(x) が無効(メッセージバッファ有効レジスタ (BVALR)
の BVALx が "0")であるときに行わなければなりません。バッファが有効 (BVALx=1)
のときに設定を行うと不必要な受信メッセージがストアされる可能性があります。
■ アクセプタンスフィルタの設定
メッセージバッファ(x) のアクセプタンスフィルタはアクセプタンスコードおよびアク
セプタンスマスク設定により設定されます。それはアクセプタンスメッセージバッ
ファ (x) が無効(メッセージバッファ許可レジスタ (BVALR) の BVALx が "0")である
ときに設定しなければなりません。バッファが有効 (BVALx=1) であるときに設定を行
うと不必要な受信メッセージがストアされる可能性があります。
各メッセージバッファ(x) で使用されたアクセプタンスマスクをアクセプタンスマスク
選択レジスタ (AMSR) により設定してください。アクセプタンスマスクレジスタ
(AMR0 および AMR1)も使用するのであれば設定しなければなりません(設定の詳細
に関しては 「21.6.18 アクセプタンスマスク選択レジスタ (AMSR)」および 「21.6.19 ア
クセプタンスマスクレジスタ 0 および 1(AMR0/AMR1)」を参照してください)
。
379
第 21 章 CAN コントローラ
アクセプタンスマスクは不必要な受信メッセージがストアされたときでも送信要求が
解除されないように設定しなければなりません。たとえばそれは同一の ID のメッセー
ジのみを送信するのであればフルビット比較に設定しなければなりません。
■ 低電力消費モードの設定
F2MC-16LX を低電力消費モード(停止 , 時計 , ハードウェアスタンバイなど)に設定
するには制御ステータスレジスタ (CSR) のバス動作停止ビット (HALT) に "1" を書き込
んでからバス動作が停止したか (HALT=1) をチェックしてください。
380
第 21 章 CAN コントローラ
21.11
メッセージバッファ (x) による送信方法
ビットタイミングの設定 , フレームフォーマットの設定 ,ID の設定およびアクセプタ
ンスフィルタの設定が完了した後で ,BVALx を "1" に設定してメッセージバッファ
(x) を有効にしてください。
■ メッセージバッファ (x) による送信方法
● 送信データ長コードの設定
送信データ長コード(バイト単位)を DLC レジスタ (DLCRx) の DLC3 ∼ DLC0 に設
定してください。
データフレーム送信(送信 RTR レジスタ (TRTRR) の TRTRx が "0" のとき)に対して
は送信メッセージのデータ長を設定してください。
リモートフレーム送信(TRTRx=1 のとき)に対しては要求メッセージのデータ長(バ
イト単位)を設定してください。
< 注意事項 >
"0000" ∼ "1000"(0 ∼ 8 バイト)以外の設定は禁止されています。
● 送信データの設定(データフレームの送信に対してのみ)
データフレーム送信(送信レジスタ (TRTRR) の TRTRx が "0" のとき)に対してはデー
タを送信バイト数分データレジスタ (DTRx) に設定してください。
< 注意事項 >
送信データは送信要求レジスタ (TREQR) の TREQx ビットを "0" に設定して再書
込みしなければなりません。メッセージバッファ有効レジスタ (BVALR) の BVALx
ビットを "0" に設定する必要はありません。BVALx ビットを "0" に設定するとリ
モートフレーム受信を喪失する可能性があります。
● 送信 RTR レジスタの設定
データフレーム送信に対しては送信 RTR レジスタ (TRTRR) の TRTRx を "0" に設定し
てください。
リモートフレーム送信に対しては TRTRx を "1" に設定してください。
● 送信開始条件の設定(データフレームの送信のみ)
データフレーム送信に対する要求が設定された直後に送信を開始するためには,リモー
トフレーム受信待機レジスタ (RFWTR) の RFWTx を "0" に設定してください(送信要
求レジスタ (TREQR) の TREQx は "1" であり送信 RTR レジスタ (TRTRR) の TRTRx は
"0" です)。
データフレーム送信に対する要求が設定された(TREQx=1 および TRTRx=0)後にリ
モートフレームを受信する(リモート要求受信レジスタ (RRTRR) の RRTRx が "1" に
なる)まで待機した後に送信を開始するためには ,RFWTx を "1" に設定してください。
< 注意事項 >
もし RFWTx が "1" に設定されるとリモートフレーム送信を行うことはできませ
ん。
381
第 21 章 CAN コントローラ
● 送信完了割込みの設定
送信完了割込みを発生する場合には送信完了割込み許可レジスタ (TIER) の TIEx を "1"
に設定してください。
送信完了割込みを発生しない場合には TIEx を "0" に設定してください。
● 送信要求の設定
送信要求を行うには送信要求レジスタ (TREQR) の TREQx を "1" に設定してください。
● 送信要求の解除
メッセージバッファ(x) に対する送信の要求を解除するときには送信キャンセルレジス
タ (TCANR) の TCANx に "1" を書き込んでください。
TREQx をチェックしてください。TREQx=0 の場合には送信解除が終了したか送信が
完了しています。送信完了レジスタ (TCR) の TCx をチェックしてください。TCx=0 の
場合には送信解除は終了しています。TCx=1 ならば送信が完了しています。
● 送信完了の処理
送信が成功すれば送信完了レジスタ (TCR) の TCx は "1" になります。
もし送信完了割込みが許可されていれば(送信完了割込み許可レジスタ (TIER) の TIEx
が "1")割込みが生じます。
送信完了をチェックした後に TCx に "0" を書き込んでそれを "0" に設定してください。
これにより送信完了割込みが解除されます。
次の場合には待ち状態中の送信要求はメッセージの受信および記憶により解除されま
す。
• データフレームの受信によるデータフレーム送信の要求
• データフレームの受信によるリモートフレーム送信の要求
• リモートフレームの受信によるリモートフレーム送信の要求
データフレーム送信に対する要求はリモートフレームの受信および記憶によっては解
除されません。ただし ID および DLC は受信したリモートフレームの ID および DLC
により変更されます。送信されるべきデータフレームの ID および DLC が受信したリ
モートフレームの値になることに注意してください。
382
第 21 章 CAN コントローラ
21.12
メッセージバッファ (x) による受信方法
ビットタイミングの設定 , フレームフォーマットの設定 ,ID の設定およびアクセプタ
ンスフィルタの設定の後で , 以下の設定をしてください。
■ メッセージバッファ (x) による受信方法
● 受信割込み設定
受信割込みを許可するには受信割込み許可レジスタ (RIER) の RIEx を "1" に設定して
ください。
受信割込みを禁止するには RIEx を "0" に設定してください。
● 受信開始
設定の後で受信を開始するときにはメッセージバッファ有効レジスタ (BVALR) の
BVALx を "1" に設定してメッセージバッファ (x) を有効にしてください。
● 受信完了の処理
アクセプタンスフィルタへの通過の後に受信が成功すれば受信メッセージはメッセー
ジバッファ (x) に記憶されて受信完了レジスタ (RCR) の RCx は "1" になります。デー
タフレーム受信に関してはリモート要求受信レジスタ (RRTRR) の RRTRx は "0" にな
ります。リモートフレーム受信に関しては RRTRx は "1" になります。
もし受信割込みが許可されれば(受信割込み許可レジスタ (RIER) の RIEx が "1")割込
みが生じます。
受信完了をチェックした後 (RCx=1) で受信メッセージを処理してください。
受信メッセージの処理を完了した後は受信オーバーランレジスタ (ROVRR) の ROVRx
をチェックしてください。
ROVRx=0 ならば処理された受信メッセージは有効です。CRx に "0" を書き込んでそれ
を "0" に設定し(受信完了割込みも解除されます)て受信を終了します。
ROVRx=1 ならば受信オーバーランが生じ , 処理された受信メッセージに新たな受信
メッセージが上書きされている可能性があります。この場合には ROVRx ビットに "0"
を書き込んでそれを "0" に設定した後で受信メッセージを再処理しなければなりませ
ん。
図 21.12-1 に , 受信割込み処理の一例を示します。
383
第 21 章 CAN コントローラ
図 21.12-1 受信割込み処理の例
RCx=1で割込み
受信メッセージ読取り
A := ROVRx
ROVRx := 0
A = 0?
YES
RCx := 0
終了
384
NO
第 21 章 CAN コントローラ
21.13
マルチレベルメッセージバッファの構成の決定
もし受信が頻繁に行われる場合 , または不特定多数のメッセージを受信するのであれ
ば , すなわちメッセージを処理する時間が不十分であれば ,1 つ以上のメッセージ
バッファを組合せてマルチレベルメッセージバッファとすることにより CPU による
受信メッセージの処理に対する余裕を与えてください。
■ マルチレベルメッセージバッファの構成の決定
マルチレベルメッセージバッファを用意するには組合せられた各メッセージバッファ
に同じアクセプタンスフィルタを設定しなければなりません。
もしアクセプタンスマスク選択レジスタ (AMSR) の各ビットが全ビット比較 ((AMSx.1,
AMSx.0)=(0, 0)) に設定されていればメッセージバッファをマルチレベルメッセージ構
成とすることはできません。これは全ビット比較では受信完了レジスタ (RCR) の RCx
ビットの値の如何にかかわらず受信メッセージが記憶されることから ,1 つ以上のメッ
セージバッファに対して全ビット比較および同一アクセプタンスコード(ID レジスタ
(IDRx)) が指定されたとしても受信メッセージが常に下位番号の(優先度の低い)メッ
セージバッファに記憶されるからです。このため全ビット比較および同一アクセプタ
ンスコードを 1 つ以上のメッセージバッファに指定してはなりません。
図 21.13-1 は , マルチレベルメッセージバッファの動作例を示しています。
385
第 21 章 CAN コントローラ
図 21.13-1 マルチレベルメッセージバッファの動作例
:初期化
AMS15, AMS14, AMS13
AMSR 10 10 10
...
AM28~AM18
AMR0選択
AMS0
ID28~ID18
0000 1111
1111 111
111
0000
RC15, RC14, RC13
IDE
...
メッセージバッファ 13
0101 0000 000
0
...
メッセージバッファ 14
0101 0000 000
0
メッセージバッファ 15
0101 0000 000
0
...
...
RCR
ROVRR
0
0
0
...
0
0
0
...
ROVR15, ROVR14, ROVR13
マスク
メッセージ受信中:受信メッセージはメッセージバッファ13に記憶されます。
IDE
ID28~ID18
メッセージ受信中
0101 1111 000
0
...
メッセージバッファ 13
0101 1111 000
0
...
RCR
0
0
1
...
メッセージバッファ 14
0101 0000 000
0
...
ROVRR
0
0
0
...
メッセージバッファ 15
0101 0000 000
0
...
メッセージ受信中:受信メッセージはメッセージバッファ14に記憶されます。
メッセージ受信中
0101 1111 001
0
...
メッセージバッファ 13
0101 1111 000
0
...
RCR
0
1
1
...
0
...
ROVRR
0
0
0
...
0
...
メッセージバッファ 14
メッセージバッファ 15
0101 1111 001
0101 0000 000
メッセージ受信中:受信メッセージはメッセージバッファ15に記憶されます。
メッセージ受信中
0101 1111 010
0
...
メッセージバッファ 13
0101 1111 000
0
...
RCR
1
1
1
...
0101 1111 001
0
...
ROVRR
0
0
0
...
0
...
メッセージバッファ 14
メッセージバッファ 15
0101 1111 010
メッセージ受信中:オーバランが発生した場合(ROVR=13),受信メッセージはメッセージバッファ13に
記憶されます。
メッセージ受信中
0101 1111 011
0
...
メッセージバッファ 13
0101 1111 011
0
...
RCR
1
1
1
...
0
...
ROVRR
0
0
1
...
0
...
メッセージバッファ 14
メッセージバッファ 15
< 注意事項 >
386
0101 1111 001
0101 1111 010
4 個のメッセージが同一のアクセプタンスフィルタ設定によりメッセージバッファ
13, 14 および 15 に受信されます。
第 21 章 CAN コントローラ
21.14
CAN2 RX/TX 端子の接続先の設定
CAN2 RX/TX 端子切換えレジスタ (CANSWR) により ,CAN2 の RX/TX 端子 (RX2/
TX2) を CAN1 の RX1/TX1 端子に接続を切り換えることができます。
■ CAN2 RX/TX 端子切換えレジスタ (CANSWR)
図 21.14-1 CAN2 RX/TX 端子切換えレジスタ (CANSWR) のビット構成
CAN2 RX/TX端子切換えレジスタ
bit 7
6
5
4
3
2
アドレス:00000CH
リード/ライト
初期値
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
1
0
RXS
TXS
CANSWR
(-) (R/W) (R/W)
(-) (0) (0)
[bit1] RXS
"0" を書込むと CAN2 の入力は RX2 より入力されます。
"1" を書込むと CAN2 の入力は RX1 より入力され ,CAN1 と共用になります。
[bit0] TXS
"0" を書込むと CAN2 の出力は TX2 より出力します。
"1" を書込むと CAN2 の出力は TX1 より出力し ,CAN1 と共用になります。
CAN2 は 図 21.14-2 のように TX 端子あるいは RX 端子の接続先を変更し ,CAN1 と共
用することが可能で ,これにより外付け CANトランシーバを節約することができます。
共用の設定は CANSWR レジスタにより行います。
図 21.14-2 CAN2 RX/TX 端子の切換え
CAN1
TX
TX1
CANSWR:TXSビット
により切り換わる
RX1
RX
CAN1
CANSWR:RXSビット
により切り換わる
Vcc
CAN2
TX
TX2
RX2
RX
CAN2
387
第 21 章 CAN コントローラ
21.15
CAN コントローラの使用上の注意
CAN コントローラを使用する場合は , 以下の点に注意してください。
■ BVAL ビットによるメッセージバッファ禁止時の注意
メッセージバッファの内容の読出しや書込みの処理を行うために BVAL ビットを用い
てメッセージバッファを禁止すると ,CAN コントローラの送受信が正常に行われない
可能性があります。本注意事項は , この現象を回避する方法を説明しています。
● 発生条件
以下の 2 つの条件を同時に満たす場合に ,CAN コントローラの送受信が正常に行われ
ない可能性があります。
• CAN コントローラが CAN 通信に参加している状態 , つまり HALT ビットの読み出
し値が "0" で ,CAN コントローラが CAN バスの通信に参加しており送受信が可能な
状態。
• BVAL ビットの設定でメッセージバッファを禁止して , メッセージバッファの内容
へ読出しや書込みの処理を行う。
● 処置
受信メッセージバッファの構成を変更する場合の操作
CAN 通信が確立されている間(HALT ビットの読み出し値が "0" で ,CAN コント
ローラが CAN バスの通信に参加しており送受信が可能な状態)で ,ID レジスタや
AMS レジスタ ,AMR0/AMR1 レジスタの設定変更により , メッセージバッファの構
成の変更を行う場合は , 以下のいずれかの手段を使用してください。
• HALT ビットの使用
- HALT ビットに "1" を書込み , その後このビットが "1" になったことを確認してか
ら ID/AMS/AMR0/AMR1 レジスタの設定を変更してください。
• メッセージバッファ 0 を使用しない
- メッセージバッファ0 を送信にも受信にも使用しないでください。すなわち , メッ
セージバッファを禁止し(BVAL0=0), 受信割込みを禁止 (RIE0=0), 送信要求を
行わない (TREQ0=0) でください。
受信メッセージの処理を行う場合の操作
次に来るメッセージによる上書き動作の防止のために ,BVAL ビットによる受信禁
止を行わないでください。メッセージの上書き有無の確認は ,ROVR ビットを用い
てください。詳細は ,「21.6.16 受信オーバランレジスタ (ROVRR)」および「21.12
メッセージバッファ (x) による受信方法」を参照してください。
送信要求の抑止をする場合の操作
送信要求を抑止ないし中止する場合は ,BVAL ビットを使用せず ,TCAN ビットを用
いてください。
388
第 21 章 CAN コントローラ
送信メッセージを構成する場合の操作
送信メッセージの構成を行うために ,ID レジスタや IDE レジスタの設定を行う場合 ,
BVAL ビットを使用してメッセージバッファを禁止してください。この際 , 送信要
求ビットを読み出して "0" であること (TREQ=0) を確認するか , 送信完了ビットに
より送信が完了したこと (TC=1) を確認した後で ,BVAL ビットによる禁止処理
(BVAL=0) を行ってください。
389
第 21 章 CAN コントローラ
390
第 22 章
アドレス一致検出機能
アドレス一致検出の機能と動作について説明しま
す。
22.1 アドレス一致検出機能の概要
22.2 アドレス一致検出機能のレジスタ
22.3 アドレス一致検出機能の動作
22.4 アドレス一致検出機能の使用例
391
第 22 章 アドレス一致検出機能
22.1
アドレス一致検出機能の概要
アドレスが , アドレス検出レジスタに設定された値と等しい場合に ,CPU に読み込ま
れる命令コードを強制的に INT9 命令のコード (01H) に置き換えます。その結果 ,
CPU が設定された命令を実行するときに ,INT9 命令を実行します。INT9 割込みルー
チンで処理を行うことにより , アドレス一致検出機能を実現することができます。
アドレス検出レジスタは 2 本用意されており , 各レジスタごとにコンペア許可ビッ
トがあります。アドレス検出レジスタに設定された値とアドレスが一致して , かつ割
込み許可ビットが "1" の場合 ,CPU に読み込まれる命令コードを強制的に INT9 命令
のコードに置き換えます。
■ アドレス一致検出機能のブロックダイヤグラム
図 22.1-1 アドレス一致検出機能のブロックダイヤグラム
アドレス検出レジスタ
許可ビット
F2MC-16LXバス
392
比較
アドレスラッチ
INT9
命令
F2MC-16LX
CPUコア
第 22 章 アドレス一致検出機能
22.2
アドレス一致検出機能のレジスタ
アドレス一致検出機能には , 次の 2 種類のレジスタがあります。
• プログラムアドレス検出レジスタ (PADR0/PADR1)
• プログラムアドレス検出コントロール / ステータスレジスタ (PACSR)
■ プログラムアドレス検出レジスタ (PADR0/PADR1)
プログラムアドレス検出レジスタ (PADR0/PADR1:Program Address Detect Register 0/1)
は , 各レジスタに書き込まれた値と , アドレスを比較します。一致した場合は ,PACSR
の対応する割込み許可ビットが"1"の場合,CPUに対してINT9命令の発生を要求します。
対応する割込み許可ビットが "0" の場合は , 一致していても何も行いません。
図 22.2-1 プログラムアドレス検出レジスタ (PADR0/PADR1)
プログラムアドレス検出レジスタ
アクセス
初期値
PADR0 1FF2H/1FF1H/1FF0H
R/W
不定
PADR1 1FF5H/1FF4H/1FF3H
R/W
不定
バイト
バイト
バイト
表 22.2-1 に , プログラムアドレス検出レジスタ (PADR0/PADR1) と PACSR との対応を
示します。
表 22.2-1 PADR0/PADR1 レジスタと PACSR との対応
プログラムアドレス検出レジスタ
割込み許可ビット
PADR0
AD0E
PADR1
AD1E
■ プログラムアドレス検出コントロール / ステータスレジスタ (PACSR)
プログラムアドレス検出コントロールステータスレジスタ (PACSR:Program Address
detect Control Status Register) は , アドレス検出機能の動作を制御します。
図 22.2-2 プログラムアドレス検出コントロール / ステータスレジスタ (PACSR)
プログラムアドレス検出コントロール/ステータスレジスタ
6
5
bit 7
アドレス:009EH 予約
リード/ライト
初期値
予約
予約
4
3
2
1
0
予約
AD1E
予約
AD0E
予約
PACSR
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0) (0)
(0)
(0)
(0) (0)
(0)
[bit7 ∼ bit4] 予約ビット
bit7∼bit4は,予約ビットです。PACSRを設定するときは,必ず "0"を設定してください。
393
第 22 章 アドレス一致検出機能
[bit3] AD1E(Address Detect register 1 Enable)
AD1E は ,PADR1 の動作許可ビットです。
このビットが "1" のとき PADR1 レジスタとアドレスの比較を行い , 一致した場合に
CPU は INT9 命令を実行します。
[bit2] 予約ビット
bit2 は , 予約ビットです。PACSR を設定するときは , 必ず "0" を設定してください。
[bit1] AD0E(Address Detect register 0 Enable)
AD0E ビットは ,PADR0 の動作許可ビットです。
このビットが "1" のとき PADR0 レジスタとアドレスの比較を行い , 一致した場合に
CPU は INT9 命令を実行します。
[bit0] 予約 : 予約ビット
bit0 は , 予約ビットです。PACSR を設定するときは , 必ず "0" を設定してください。
394
第 22 章 アドレス一致検出機能
22.3
アドレス一致検出機能の動作
プログラムカウンタがアドレス一致検出レジスタと同じアドレスを指示している場
合は ,INT9 命令を実行します。INT9 命令ルーチンを処理することによってアドレス
一致検出機能を実現することができます。
■ アドレス一致検出機能の動作
アドレス検出レジスタは 2 本用意されており , 各レジスタごとにコンペア許可ビットが
あります。アドレス検出レジスタに設定された値とプログラムカウンタの値が一致し
て , かつコンペア許可ビットが "1" の場合 ,CPU は INT9 命令を実行します。
< 注意事項 >
アドレス検出レジスタとプログラムカウンタの値が一致した場合は , 内部データバ
スの内容が強制的に "01H" に変更されるので ,INT9 命令を実行することになりま
す。アドレス検出レジスタの内容を変更する前には , コンペア許可ビットを必ず
"0" にしてください。コンペア許可ビットが "1" になっている間に変更すると , 誤
動作を引き起こす可能性があります。
395
第 22 章 アドレス一致検出機能
22.4
アドレス一致検出機能の使用例
図 22.4-1 に , アドレス一致検出機能のシステム構成例を , 表 22.4-1 に ,E2PROM メ
モリマップを示します。
■ アドレス一致検出機能のシステム構成例
図 22.4-1 アドレス一致検出機能のシステム構成例
E2PROM
MCU
F2MC16LX
pull up 抵抗
SIN
○
コネクタ(UART)
■ E2PROM メモリマップ
表 22.4-1 E2PROM メモリマップ
アドレス
意味
0000H
パッチプログラム No.0 バイト数 (0 のときプログラムミス無し)
0001H
プログラムアドレス No.0 bit7 ∼ bit0
0002H
プログラムアドレス No.0 bit15 ∼ bit8
0003H
プログラムアドレス No.0 bit24 ∼ bit16
0004H
パッチプログラム No.1 バイト数 (0 のときプログラムミス無し)
0005H
プログラムアドレス No.1 bit7 ∼ bit0
0006H
プログラムアドレス No.1 bit15 ∼ bit8
0007H
プログラムアドレス No.1 bit24 ∼ bit16
0010H ∼
パッチプログラム No.0/1 本体
● 初期状態
E2PROM はすべて "0" とします。
● パッチが必要となる場合
コネクタ (UART) を通して , MCU にパッチプログラムの本体およびプログラムアドレ
スを転送します。MCU はその情報を E2PROM に書き込みます。
396
第 22 章 アドレス一致検出機能
● リセットシーケンス
MCU はリセット後 E2PROM の値を読み出します。パッチプログラムのバイト数が "0"
でなかった場合は , パッチプログラムの本体が E2PROM から読み出され RAM に書き
込まれます。次に ,MCU により PADR0, または PADR1 どちらか一方でパッチアドレス
をセットし , コンペア許可ビットをセットします。再配置可能はパッチプログラムが望
まれる場合は ,RAM 領域に対してパッチ済みプログラムの最初のアドレスを書き込む
ことができます。この場合 ,INT9 ルーチンがこのユーザ定義の RAM 領域を参照し ,
パッチ済みプログラムへ向けてジャンプします。
● INT9 命令
割込みルーチンでは , スタックプログラムのカウンタの値を調べることにより , 割込み
が発生するアドレスを知ることができます。割込みの最中にスタックへ押し込まれた
情報は破棄されます。
■ プログラムパッチ処理例
図 22.4-2 プログラムパッチ処理例
FFFFFFH
異常プログラム
ROM
P
C
∥
発
生
ア
ド
レ
ス
外付E2PROM
プログラムパッチ用
レジスタセット
○
○
○
プログラムバイト数
割込み発生アドレス
修正プログラム
UARTを使用して
データ転送
RAM
修正プログラム
000000H
397
第 22 章 アドレス一致検出機能
■ プログラムパッチ処理フロー図
図 22.4-3 プログラムパッチ処理フロー図
リセット
E2PROMの0000Hを読込む
YES
INT9
0000H (E2PROM) =0
パッチプログラムへ
JMP 000400H
NO
アドレスを読込む
2
0001H ~0003H (E PROM)
↓MOV
PADR0(MCU)
パッチプログラム実行
000400H ~000480H
パッチプログラムを読込む
0010H ~0090H(E2PROM)
↓MOV
000400H ~000480H(MCU)
パッチプログラム終了
JMP FF0050H
コンペア許可
MOV PACSR,#02H
通常プログラム実行
PC=PADR0
NO
YES
INT9
FFFFFFH
FFFFH
0090H
E2PROM
ROM
FF0050H
FE0000H
パッチプログラム
0010H
001100H
プログラムアドレス 下位:00
0003H
0002H
0001H
0000H
398
異常プログラム
FF0000H
プログラムアドレス 中位:00
プログラムアドレス 上位:FF
パッチプログラムバイト 数:80
スタック領域
RAM領域
RAM
000480H
000400H
000100H
000000H
パッチプログラム
RAM/レジスタ領域
I/O 領域
第 23 章
ROM ミラー機能
選択モジュール
ROM ミラー機能選択モジュールについて説明しま
す。
23.1 ROM ミラー機能選択モジュールの概要
23.2 ROM ミラー機能選択レジスタ (ROMM)
399
第 23 章 ROM ミラー機能 選択モジュール
23.1
ROM ミラー機能選択モジュールの概要
ROM ミラー機能選択モジュールは ,ROM が配置されている FF バンクが 00 バンク
でみることをレジスタの設定で選択することができます。
■ ROM ミラー機能選択モジュールのブロックダイヤグラム
図 23.1-1 ROM ミラー機能選択モジュールのブロックダイヤグラム
F MC-16LX
バス
ROMミラー機能選択レジスタ
アドレス領域
アドレス
FFバンク
00バンク
データ
ROM
400
第 23 章 ROM ミラー機能 選択モジュール
23.2
ROM ミラー機能選択レジスタ (ROMM)
ROM ミラー機能選択レジスタ (ROMM) は , アドレス 004000H ∼ 00FFFFH 番地の使
用中にアクセスしないでください。
■ ROM ミラー機能選択レジスタ (ROMM)
図 23.2-1 ROM ミラー機能選択レジスタ (ROMM)
ROMミラー機能選択レジスタ
bit 15
14
13
12
11
10
9
アドレス:00006FH
リード/ライト
初期値
8
MI
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
ROMM
(W)
(1)
[bit8] MI
"1" を書込み時には FF バンクの ROM のデータが 00 バンクでも読み出せるようになり
ます。"0" を書込み時には 00 バンクはこの機能ははたらきません。
本ビットは , 書込みのみ可能です。
< 注意事項 >
ROM ミラー機能を起動している場合 ,FF4000H ∼ FFFFFFH 番地のみ 004000H ∼
00FFFFH 番地にミラーされます。このため ,FF0000H ∼ FF3FFFH 番地は 00 バン
クにミラーされません。
401
第 23 章 ROM ミラー機能 選択モジュール
402
第 24 章
1M ビット
フラッシュメモリ
1M ビットフラッシュメモリの機能と動作について
説明します。
フラッシュメモリへのデータ書込み / 消去の方法に
は , 下記の 3 とおりの方法があります。
1) パラレルライタ
2) シリアル専用ライタ
3) プログラム実行による書込み / 消去
ここでは ,"3) プログラム実行による書込み / 消去 "
について解説します。
24.1 1M ビットフラッシュメモリの概要
24.2 フラッシュメモリのセクタ構成
24.3 書込み / 消去モード
24.4 フラッシュメモリコントロールステータスレジスタ
(FMCS)
24.5 フラッシュメモリ自動アルゴリズム起動方法
24.6 自動アルゴリズム実行状態の確認
24.7 フラッシュメモリ書込み / 消去の詳細説明
24.8 1M ビットフラッシュメモリ使用上の注意
24.9 フラッシュセキュリティの特長
24.10 1M ビットフラッシュメモリのプログラム例
403
第 24 章 1M ビット フラッシュメモリ
24.1
1M ビットフラッシュメモリの概要
1M ビットフラッシュメモリは ,CPU メモリマップ上の FE, FF バンクに配置され ,
フラッシュメモリインタフェース回路の機能により , マスク ROM と同様に CPU か
らのリードアクセスおよびプログラムアクセスが可能です。フラッシュメモリへの
書込み / 消去は , フラッシュメモリインタフェース回路を介して CPU からの命令動
作で行えます。このため , 内蔵 CPU の制御による実装状態での書き換えが可能とな
り , プログラムおよびデータの改善が効率よく行えます。
■ 1M ビットフラッシュメモリの特長
• 自動プログラムアルゴリズム (Embedded Alogrithm:MBM29LV200 と同様 )
• 消去一時停止 / 消去再開機能の搭載
• データポーリング , トグルビットによる書込み / 消去完了検出
• CPU 割込みによる書込み / 消去の完了検出
• セクタごとの消去が可能 ( セクタ組み合わせ自由 )
• 書込み / 消去回数 ( 最小 ) 10, 000 回
• フラッシュ読出しサイクルタイム ( 最小 ) 2 マシンサイクル
< 注意事項 >
マニュファクチャコードとデバイスコードの読出し機能はありません。また , こ
れらのコードはコマンドによってもアクセスできません。
■ フラッシュメモリ書込み / 消去の方法
フラッシュメモリは書込み / 消去と読出しを同時に行うことはできません。すなわち ,
フラッシュメモリにデータ書込み / 消去動作を行う際には , フラッシュメモリ上にある
プログラムを RAM に一度コピーし RAM 実行することで , フラッシュメモリからプロ
グラムアクセスをせず書込み動作だけを行うことが可能となります。
■ フラッシュメモリのレジスタ
図 24.1-1 フラッシュメモリコントロールステータスレジスタ (FMCS)
フラッシュメモリコントロールステータスレジスタ(FMCS)
6
5
4
3
bit 7
アドレス:0000AEH
リード/ライト
初期値
404
INTE RDYINT
WE
(R/W) (R/W) (R/W)
(0)
(0)
(0)
2
1
0
RDY
予約
(R)
(X)
(R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
LPM1 予約
LPM0
FMCS
第 24 章 1M ビット フラッシュメモリ
24.2
フラッシュメモリのセクタ構成
図 24.2-1 に , フラッシュメモリのセクタ構成を示します。
■ 1M ビットフラッシュメモリのセクタ構成
図 24.2-1 に ,1M ビットフラッシュメモリのセクタ構成を示します。図中アドレスに
は , 各セクタの上位アドレスと下位アドレスを示します。
図 24.2-1 1M ビットフラッシュメモリのセクタ構成
フラッシュメモリ
CPUアドレス
FFFFFFH
ライタアドレス*
7FFFFH
SA4(16Kバイト)
FFBFFFH
7BFFFH
FF9FFFH
79FFFH
FF7FFFH
77FFFH
FEFFFFH
6FFFFH
FE0000H
60000H
SA3(8Kバイト)
SA2(8Kバイト)
SA1(32Kバイト)
SA0(64Kバイト)
*:ライタアドレスとは,フラッシュメモリにパラレルライタでデータ
書込みを行う際,CPUアドレスに相当するアドレスです。汎用ライタ
を使用し書込み/消去を行う際は,このアドレスで書込み/消去を実
行します。
405
第 24 章 1M ビット フラッシュメモリ
24.3
書込み / 消去モード
フラッシュメモリのアクセスは , フラッシュメモリモードとその他モードの 2 つの
異なる方法で行われます。フラッシュメモリモードでは , 外部端子から直接書込み /
消去が行え , その他モードでは , 内部バスを介して CPU から書込み / 消去が行えま
す。モードの選択はモード外部端子で行います。
■ フラッシュメモリモード
リセット信号が発生中にモード端子を "111" にセットすると ,CPU が停止します。フ
ラッシュメモリインタフェース回路は直接ポート 0, 2, 3, 4 に接続しているので , 外部端
子から直接制御することができます。このモードでは ,MCU が外部端子中の標準フラッ
シュメモリと同様の動作を行い , フラッシュメモリプログラマを使用して書込み / 消去
が行えます。
フラッシュメモリモードでは,フラッシュメモリ自動アルゴリズムでサポートされるす
べての動作を使用できます。
■ その他モード
フラッシュメモリは ,CPU メモリ空間の FE, FF バンクに配置されており , 通常のマスク
ROM と同様にフラッシュメモリインタフェース回路を介して CPU から読出しアクセ
スおよびプログラムアクセスすることができます。
フラッシュメモリへの書込み / 消去は , フラッシュメモリインタフェース回路を介して
CPU からの命令で実行されます。このため , このモードでは MCU が対象ボードにはん
だ付けされていても再書込みが可能です。
これらのモードでは , セクタプロテクト動作を実行することはできません。
■ フラッシュメモリの制御信号
表 24.3-1 に , フラッシュメモリモードでのフラッシュメモリ制御信号を示します。
フラッシュメモリ制御信号と MBM29LV200 の外部端子にはほぼ 1 対 1 の対応関係が
存在します。セクタプロテクト動作で必要となる VID(12V) 端子は ,MBM29LV200 にお
ける A9, RESET, OE の代わりに ,MD0, MD1, MD2 となります。フラッシュメモリモー
ドでは , 外部データバス幅は 8 ビットに制限されており ,1 バイトのアクセスしか許可
されません。DQ15 ∼ DQ8 はサポートされていません。BYTE 端子は常に "0" にセッ
トしてください。
406
第 24 章 1M ビット フラッシュメモリ
表 24.3-1 フラッシュ制御信号
MB90F443G
MBM29LV200
端子番号
通常機能
フラッシュメモリモード
1∼8
P20 ∼ P27
AQ0 ∼ AQ7
A-1, A0 ∼ A6
9
P30
AQ16
A15
10
P31
CE
CE
12
P32
OE
OE
13
P33
WE
WE
16
P36
BYTE
BYTE
17
P37
RY/BY
RY/BY
18 ∼ 22
P40 ∼ P44
AQ8 ∼ AQ12
A7 ∼ A11
24 ∼ 26
P45 ∼ P47
AQ13 ∼ AQ15
A12 ∼ A14
49
MD0
MD0
A9(VID)
50
MD1
MD1
RESET(VID)
51
MD2
MD2
OE(VID)
85 ∼ 92
P00 ∼ P07
DQ0 ∼ DQ7
DQ0 ∼ DQ7
77
RST
RESET
RESET
使用不可
DQ8 ∼ DQ15
407
第 24 章 1M ビット フラッシュメモリ
24.4
フラッシュメモリコントロールステータスレジスタ
(FMCS)
フラッシュメモリコントロールステータスレジスタ (FMCS) は , フラッシュメモリイ
ンタフェース回路にあるレジスタで , フラッシュメモリの書き込み / 消去の際に使用
します。
■ フラッシュメモリコントロールステータスレジスタ (FMCS)
図 24.4-1 フラッシュメモリコントロールステータスレジスタ (FMCS)
フラッシュメモリコントロールステータスレジスタ(FMCS)
6
5
4
3
bit 7
アドレス:0000AEH
リード/ライト
初期値
INTE RDYINT
WE
(R/W) (R/W) (R/W)
(0)
(0)
(0)
2
1
0
RDY
予約
(R)
(X)
(R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
LPM1 予約
LPM0
FMCS
[bit7] INTE(INTerrupt Enable)
フラッシュメモリの書込み / 消去の終了で CPU に割り込みを発生させるビットです。
INTE ビットが "1" でかつ RDYINT ビットが "1" のときに CPU へ割り込みが発生しま
す。INTE ビットが "0" であれば割り込みは発生しません。
0: 書込み / 消去終了での割込み禁止
1: 書込み / 消去終了での割込み許可
[bit6] RDYINT(ReaDY INTerrupt)
フラッシュメモリの動作状態を表すビットです。
フラッシュメモリの書込み / 消去が終わって "1" となります。フラッシュメモリ書込
み / 消去後このビットが "0" の間は , フラッシュメモリへの書込み / 消去はできません。
書込み / 消去が終了して "1" になった後は , フラッシュメモリへの書込み / 消去が可能
になります。
"0" 書込みによって "0" にクリアされ ,"1" の書込みは無視されます。フラッシュメモリ
自動アルゴリズム(「1.5 フラッシュメモリ自動アルゴリズム起動方法」参照)終了タ
イミングで ,"1" にセットされます。リードモディファイライト (RMW) 命令使用時は ,
必ず "1" が読めます。
0: 書込み / 消去動作実行中
1: 書込み / 消去動作終了(割込み要求発生)
408
第 24 章 1M ビット フラッシュメモリ
[bit5] WE(Write Enable)
フラッシュメモリ領域へのライトイネーブルビットです。
このビットが "1" のとき ,FE, FF バンクへのコマンドシーケンス(
「1.5 フラッシュメモ
リ自動アルゴリズム起動方法」参照)発行後のライトは , フラッシュメモリ領域へのラ
イトになります。本ビットが "0" のとき , 書込み / 消去の信号は発生されません。この
ビットはフラッシュメモリの書込み / 消去のコマンドを起動する際に使用します。
書込み / 消去を行わないときは , 誤ってフラッシュメモリにデータを書込まないよう ,
常に "0" に設定することを推奨します。
0: フラッシュメモリ書込み / 消去禁止
1: フラッシュメモリ書込み / 消去許可
[bit4] RDY(ReadDY)
フラッシュメモリの書込み / 消去許可ビットです。
このビットが "0" の間は , フラッシュメモリへの書込み / 消去はできません。なお , こ
の状態でも読出し / リセットコマンド , セクタ消去一時停止等のサスペンドコマンドは
受け付けられます。
0: 書込み / 消去動作実行中(次データ書込み / 消去不可)
1: 書込み / 消去動作終了(次データ書込み / 消去許可)
[bit3] 予約 : 予約ビット
試験用予約ビットです。通常使用時は必ず "0" に設定してください。
[bit1] 予約 : 予約ビット
通常使用時は必ず "0" に設定してください。
[bit2, bit0] LPM1, LPM0(Low Power Mode)
LPM1, LPM0 ビットを使用すると , フラッシュメモリ本体の消費電力を制御できます。
しかし,CPUからフラッシュメモリへのアクセスタイムが設定により大きく異なります
ので ,CPU の動作周波数により設定値を選択してください。
01: 低電力消費モード(内部動作周波数 4MHz 以下で動作)
10: 低電力消費モード(内部動作周波数 8MHz 以下で動作)
11: 低電力消費モード(内部動作周波数 10MHz 以下で動作)
00: 通常消費電力モード(内部動作周波数 16MHz 以下で動作)
< 注意事項 >
RDYINT ビットと RDY ビットは同時には変化しません。どちらか片方のビットで
判定するようプログラムを作成してください( 図 24.4-2 を参照)
。
図 24.4-2 RDYINT ビットと RDY ビットの変化タイミング
自動アルゴリズム
終了タイミング
RDYINTビット
RDYビット
1マシンサイクル
409
第 24 章 1M ビット フラッシュメモリ
24.5
フラッシュメモリ自動アルゴリズム起動方法
フラッシュメモリの自動アルゴリズムを起動するコマンドには , 読出し / リセット ,
書込み , チップ消去 , セクタ消去の 4 種類があり , セクタ消去については一時停止と
再開の制御が可能です。
■ コマンドシーケンス表
表 24.5-1 に , フラッシュメモリの書込み / 消去時に使用するコマンドの一覧を示しま
す。コマンドレジスタにライトするデータはすべてバイトですが , ワードアクセスでラ
イトするようにしてください。このときの上位バイト分のデータは無視されます。
表 24.5-1 コマンドシーケンス表
バス
1stバス
2ndバス
3rdバス
4thバス
5thバス
6thバス
コマンド
ライトサイクル
ライトサイクル
ライトサイクル
ライトサイクル
ライトサイクル
ライトサイクル
シーケンス ライト
アクセス アドレス データ アドレス データ アドレス データ アドレス データ アドレス データ アドレス データ
読出し/
-
-
-
-
-
-
-
-
-
-
FxXXXX XXF0
1
リセット*
読出し/
-
-
RA
-
-
RD
FxAAAA XXAA Fx5554 XX55 FxAAAA XXF0
4
リセット*
書込み
プログラム
チップ
消去
セクタ
消去
4
FxAAAA XXAA
Fx5554
XX55
FxAAAA XXA0
PA
PD
(even) (word)
-
-
-
-
6
FxAAAA XXAA
Fx5554
XX55
FxAAAA
XX80
FxAAAA XXAA
Fx5554
XX55
FxAAAA
XX10
6
FxAAAA XXAA
Fx5554
XX55
FxAAAA
XX80
FxAAAA XXAA
Fx5554
XX55
SA
(even)
XX30
セクタ消去一時停止
セクタ消去再開
Address"FxXXXX"Data(xxB0H)の入力で,セクタ消去中の消去一時停止
Address"FxXXXX"Data(xx30H)の入力で,セクタ消去中の消去一時停止後,消去開始
Auto
-
-
-
-
-
-
FxAAAA XXAA Fx5554 XX55 FxAAAA XX90
3
Select
(注意事項)
・表中のアドレスFxはFFF,FE を意味します。それぞれの操作時にはアクセス対象バンクの値としてください。
・表中のアドレスは,CPUメモリマップ上の値です。アドレスおよびデータはすべて16進数表記しています。
ただし"X"は任意の値です。
・RA:読み出しアドレス
・PA:書込みアドレス ,偶数アドレスのみ指定可
・SA:セクタアドレス(「24.2 フラッシュメモリのセクタ構成」)を参照願います。
・RD:読み出しデータ
・PD:書込みデータ,ワードデータのみ指定可
*:2種類の読み出し/リセットコマンドは,どちらもフラッシュメモリを読み出しモードにリセットする
ことができます。
表 24.5-2 における AutoSelect はセクタ保護の状態を知るためのコマンドです。実際に
は前期コマンドとともに下記のようにアドレスを設定する必要があります。
表 24.5-2 AutoSelect 時のアドレス設定
セクタ保護
AQ13 ∼ AQ16
AQ7
AQ2
AQ1
AQ0
DQ7 ∼ DQ0
セクタアドレス
L
H
L
L
CODE*
*: 保護されたセクタアドレスでの出力は "01H", 保護されていないセクタアドレスでの出力は "00H"
410
第 24 章 1M ビット フラッシュメモリ
24.6
自動アルゴリズム実行状態の確認
フラッシュメモリでは , 書込み / 消去のフローを自動アルゴリズムで行うため , フ
ラッシュメモリ内部の動作状態や動作完了したことを知らせるハードウェアを持ち
ます。この自動アルゴリズムは , 下記のハードウェアシーケンスによって内蔵フラッ
シュメモリの動作状態の確認ができます。
■ ハードウェアシーケンスフラグ
ハードウェアシーケンスフラグは ,DQ7, DQ6, DQ5, DQ3, DQ2 の 5 ビットの出力で構成
されます。それぞれがデータポーリングフラグ (DQ7), トグルビットフラグ (DQ6), タイ
ミングリミット超過フラグ (DQ5), セクタ消去タイマフラグ (DQ3), トグルビット 2 フラ
グ (DQ2) の機能を持ちます。これにより , 書込み / チップ・セクタ消去終了 , 消去コー
ドライトが有効かの確認をすることができます。
ハードウェアシーケンスフラグを参照するには , コマンドシーケンス (「24.5 フラッ
シュメモリ自動アルゴリズム起動方法」の 表 24.5-1 を参照 ) 設定後にフラッシュメモ
リ内部の対象セクタのアドレスにリードアクセスすることで参照できます。表 24.6-1
にハードウェアシーケンスフラグのビット割当てを示します。
表 24.6-1 ハードウェアシーケンスフラグのビット割当て
ビット No.
7
6
5
4
3
2
1
0
ハードウェアシーケンスフラグ
DQ7
DQ6
DQ5
-
DQ3
DQ2
-
-
411
第 24 章 1M ビット フラッシュメモリ
自動書込み / チップ・セクタ消去が実行中であるかの判断は , ハードウェアシーケンス
フラグを確認するか , フラッシュメモリコントロールレジスタ (FMCS) の RDY ビット
を確認することで , 書込みが終了しているかを知ることができ , 書込み / 消去終了後は ,
読出し / リセット状態に戻ります。実際にプログラムを作成する際には , いずれかのフ
ラグで自動書込み / 消去終了を確認後に , データの読出し等の次処理を行ってくださ
い。また ,2 回目以降のセクタ消去コードライトが有効であるかも , ハードウェアシー
ケンスフラグによって確認することができます。次項に各ハードウェアシーケンスフ
ラグの説明を示します。表 24.6-2 に ,ハードウェアシーケンスフラグ機能の一覧を示し
ます。
表 24.6-2 ハードウェアシーケンスフラグ機能一覧
DQ7
DQ6
DQ5
DQ3
DQ2
DQ7 →
DATA:7
Toggle →
DATA:6
0→
DATA:3
0→
DATA:5
1→
DATA:2
チップセレクタ消去動作→消去
完了
0→1
Toggle →
Stop
1
0→1
Toggle →
Stop
セクタ消去ウェイト→消去開始
0
Toggle
0→1
0
Toggle
消去動作→セクタ消去一時停止
(消去中のセクタ)
0→1
Toggle →
1
1→0
0
Toggle
セクタ消去一時停止→消去再開
(消去中のセクタ)
1→0
1→
Toggle
0→1
0
Toggle
DATA:7
DATA:6
DATA:3
DATA:5
DATA:2
DQ7
Toggle
0
1
1
0
Toggle
1
1
*
状態
書込み動作→書込み完了
(書込みアドレス指定時)
正常動作時の
状態変化
セクタ消去一時停止中
(消去中でないセクタ)
書込み動作
異常動作
チップセクタ消去動作
*:DQ5 が "1" のとき(タイミングリミット超過), 書込み / 消去中セクタへの連続的な読出しに対しては ,DQ2
はトグル動作をし , ほかのセクタへの読出しに対してはトグルしません。
412
第 24 章 1M ビット フラッシュメモリ
24.6.1
データポーリングフラグ (DQ7)
データポーリングフラグ (DQ7) は , 自動アルゴリズム実行が進行中もしくは終了状
態であることをデータポーリング機能によって知らせるためのフラグです。
■ データポーリングフラグ (DQ7)
表 24.6-3 と表 24.6-4 に , データポーリングフラグの状態遷移を示します。
表 24.6-3 データポーリングフラグの状態遷移(正常動作時の状態変化)
動作状態
DQ7
書込み動作
→完了
チップセク
タ消去→
完了
セクタ消去
ウェイト→
開始
セクタ消去
→消去一時
停止消去中
のセクタ
セクタ消去
一時停止→
再開消去中
のセクタ
セクタ消去
一時停止中
消去中でな
いセクタ
DQ7 →
DATA:7
0→1
0
0→1
1→0
DATA:7
表 24.6-4 データポーリングフラグの状態遷移(異常動作時の状態変化)
動作状態
書込み動作
DQ7
DQ7
チップセクタ
消去動作
0
● 書込み動作時
自動書込みアルゴリズム実行中にリードアクセスすると,フラッシュメモリはアドレス
の指し示す番地によらず , 最後に書き込まれたデータの bit7 の反転データを出力しま
す。自動書込みアルゴリズム終了時にリードアクセスすると , フラッシュメモリはアド
レスの指し示す番地の読み出し値の bit7 を出力します。
● チップ / セクタ消去動作時
チップ消去 / セクタ消去アルゴリズム実行中に , セクタ消去時は現在消去しているセク
タから , チップ消去時はアドレスの指し示す番地に関係なく , リードアクセスするとフ
ラッシュメモリは "0" を出力します。同様に終了時には "1" を出力します。
● セクタ消去一時停止時
セクタ消去一時停止時にリードアクセスすると,フラッシュメモリはアドレスの指し示
す番地が消去中のセクタであれば "1" を出力し , 消去中のセクタでなければアドレスの
指し示す番地の読み出し値の bit7(DATA:7) を出力します。トグルビットフラグ (DQ6)
とともに参照することで , 現在セクタ一時停止状態であるか , どのセクタが消去中であ
るかの判定が可能です。
< 注意事項 >
自動アルゴリズム起動時は指定したアドレスへのリードアクセスは無視されます。
データの読み出しは , データポーリングフラグ (DQ7) の終了を受けてほかのビット
の出力が可能となります。このため自動アルゴリズム終了後のデータの読み出しは ,
データポーリング終了を確認したリードアクセスの次に行うようにしてください。
413
第 24 章 1M ビット フラッシュメモリ
24.6.2
トグルビットフラグ (DQ6)
トグルビットフラグ (DQ6) はデータポーリングフラグ (DQ7) と同様に , 主に自動ア
ルゴリズム実行が進行中 , もしくは終了状態であることをトグルビット機能によって
知らせるためのフラグです。
■ トグルビットフラグ (DQ6)
表 24.6-5 と表 24.6-6 に , トグルビットフラグの状態遷移を示します。
表 24.6-5 トグルビットフラグの状態遷移(正常動作時の状態変化)
動作状態
DQ6
書込み動作
→完了
チップセク
タ消去→
完了
セクタ消去
ウェイト→
開始
セクタ消去
→消去一時
停止消去中
のセクタ
セクタ消去
一時停止→
再開消去中
のセクタ
セクタ消去
一時停止中
消去中でな
いセクタ
Toggle →
DATA:6
Toggle →
Stop
Toggle
Toggle → 1
1 → Toggle
DATA:6
表 24.6-6 トグルビットフラグの状態遷移(異常動作時の状態変化)
動作状態
書込み動作
チップセクタ
消去動作
DQ6
Toggle
Toggle
● 書込み / チップ・セクタ消去時
自動書込みアルゴリズムおよびチップ・セクタ消去アルゴリズム実行中に , 連続した
リードアクセスを行うと , フラッシュメモリはアドレスの指し示す番地によらず , リー
ドごとに "1" と "0" を交互に出力するトグル状態を出力します。自動書き込みアルゴリ
ズムおよびチップ / セクタ消去アルゴリズム終了時に連続したリードアクセスを行う
とフラッシュメモリは bit6 のトグル動作を止め , アドレスの指し示す番地の読み出し
値の bit6(DATA:6) を出力します。
● セクタ消去一時停止時
セクタ消去一時停止時にリードアクセスすると,フラッシュメモリはアドレスの指し示
す番地が消去中のセクタに属するならば ,"1" を出力します。消去中のセクタに属さな
いのであれば , アドレスの指し示す番地の読み出し値の bit6(DATA:6) を出力します。
< 参考 >
414
書込みの際 , 書き込もうとしているセクタが書き換え保護されているセクタの場合
は , 約 2ms のトグル動作をした後 , データを書き換えることなくトグル動作を終わ
ります。
消去の際 , 選択されたすべてのセクタが書き換え保護されている場合トグルビット
は約 100ms のトグル動作をし , その後データを書き換えないで読み出し / リセット
状態に戻ります。
第 24 章 1M ビット フラッシュメモリ
24.6.3
タイミングリミット超過フラグ (DQ5)
タイミングリミット超過フラグ (DQ5) は , 自動アルゴリズムの実行がフラッシュメ
モリ内部に規定された時間(内部パルス回数)を超えてしまったことを知らせるフ
ラグです。
■ タイミングリミット超過フラグ (DQ5)
表 24.6-7 と表 24.6-8 に , タイミングリミット超過フラグの状態遷移を示します。
表 24.6-7 タイミングリミット超過フラグの状態遷移(正常動作時の状態変化)
動作状態
書込み動作
→完了
チップセク
タ消去→
完了
セクタ消去
ウェイト→
開始
セクタ消去
→消去一時
停止消去中
のセクタ
セクタ消去
一時停止→
再開消去中
のセクタ
セクタ消去
一時停止中
消去中でな
いセクタ
DQ5
0 → DATA:5
0→1
0
0
0
DATA:5
表 24.6-8 タイミングリミット超過フラグの状態遷移(異常動作時の状態変化)
動作状態
書込み動作
チップセクタ
消去動作
DQ5
1
1
● 書込み / チップセクタ消去時
書込み , またはチップセクタ消去自動アルゴリズム起動後にリードアクセスすると , 規
定時間(書込み / 消去に要する時間)内であれば "0" を , 規定時間を超えてしまってい
る場合は "1" を出力します。これは , 自動アルゴリズムが実行中か終了状態にあるか無
関係ですので , 書込み / 消去が成功したか失敗したかの判定が可能です。すなわち , こ
のフラグが "1" を出力したとき , データポーリング機能もしくはトグルビット機能によ
り自動アルゴリズムがまだ実行中であれば,書込みが失敗していると判断することがで
きます。
例えば ,"0" が書き込まれているフラッシュメモリアドレスに "1" を書き込もうとする
とフェイルが発生します。この場合フラッシュメモリはロックされ , 自動アルゴリズム
は終了しません。したがって , データポーリングフラグ (DQ7) から有効なデータが出
力されません。またトグルビットフラグ (DQ6) はトグル動作を止めず , タイムリミッ
トを超え , タイミングリミット超過フラグ (DQ5) は "1" を出力します。この状態はフ
ラッシュメモリが不良ではなく , 正しく使用されなかったということを表しています。
この状態が発生したときは , リセットコマンドを実行してください。
415
第 24 章 1M ビット フラッシュメモリ
24.6.4
セクタ消去タイマフラグ (DQ3)
セクタ消去タイマフラグ (DQ3) は , セクタ消去コマンド起動後セクタ消去ウェイト
期間中であるか否かを知らせるフラグです。
■ セクタ消去タイマフラグ (DQ3)
表 24.6-9 と表 24.6-10 に , セクタ消去タイマフラグの状態遷移を示します。
表 24.6-9 セクタ消去タイマフラグの状態遷移(正常動作時の状態変化)
動作状態
書込み動作
→完了
チップセク
タ消去→
完了
セクタ消去
ウェイト→
開始
セクタ消去
→消去一時
停止消去中
のセクタ
セクタ消去
一時停止→
再開消去中
のセクタ
セクタ消去
一時停止中
消去中でな
いセクタ
DQ3
0 → DATA:3
1
0→1
1→0
0→1
DATA:3
表 24.6-10 セクタ消去タイマフラグの状態遷移(異常動作時の状態変化)
動作状態
書込み動作
チップセクタ
消去動作
DQ3
0
1
● セクタ消去動作時
セクタ消去コマンド起動後にリードアクセスすると,フラッシュメモリはコマンドを発
行したセクタのアドレス信号の指し示す番地によらず,セクタ消去ウェイト期間中であ
れば "0" を , セクタ消去ウェイト期間を超えてしまっている場合は "1" を出力します。
データポーリング機能やトグルビット機能により消去アルゴリズムが実行中を示して
いる場合 , このフラグが "1" であれば内部で制御される消去が始まっています。続けて
のセクタ消去コードのライト , または消去一時停止以外のコマンドは , 消去が終了され
るまで無視されます。
このフラグが "0" であればフラッシュメモリは , 追加のセクタ消去コードのライトを受
け付けます。このことを確認するために , 引き続くセクタ消去コードのライトに先立ち
このフラグの状態をチェックすることを推奨します。もし 2 回目の状態チェックで "1"
であったなら追加セクタの消去コードは受け付けられてない可能性があります。
● セクタ消去動作時
セクタ消去一時停止中にリードアクセスすると,フラッシュメモリはアドレスの指し示
す番地が , 消去中のセクタに属するならば "1" を出力します。消去中のセクタに属さな
いのであれば , アドレスの指し示す番地の読み出し値の bit3(DATA:3) を出力します。
416
第 24 章 1M ビット フラッシュメモリ
24.6.5
トグルビット 2 フラグ (DQ2)
トグルビット 2 フラグ (DQ2) は , セクタ消去一時停止中であることをトグルビット
機能によって知らせるフラグです。
■ トグルビット 2 フラグ (DQ2)
表 24.6-11 と 表 24.6-12 に , トグルビット 2 フラグの状態遷移を示します。
表 24.6-11 トグルビット 2 フラグの状態遷移(正常動作時の状態変化)
動作状態
書込み動作
→完了
チップセクタ
消去→完了
セクタ消去
ウェイト→
開始
セクタ消去
→消去一時
停止消去中
のセクタ
セクタ消去
一時停止→
再開消去中
のセクタ
セクタ消去
一時停止中
消去中でな
いセクタ
DQ2
1 → DATA:2
Toggle →
Stop
Toggle
Toggle
Toggle
DATA:2
表 24.6-12 トグルビット 2 フラグの状態遷移(異常動作時の状態変化)
動作状態
書込み動作
チップセク
タ消去動作
DQ2
1
*
*:DQ5 が "1" のとき(タイモングリミット超過), 書込み / 消去中セクタへの連続的
な読出しに対しては DQ2 はトグル動作をし , ほかのセクタへの読出しに対してはト
グルしません。
● セクタ消去動作時
チップ・セクタ消去アルゴリズム実行中に連続したリードアクセスを行うと , フラッ
シュメモリはアドレスの指す番地によらず , リードごとに "1" と "0" を交互に出力する
トグル状態を出力します。チップ・セクタ消去アルゴリズム終了後に連続したリード
アクセスを行うと , フラッシュメモリは bit2 のトグル出力を止め , アドレスの指し示す
番地の読出し値の bit2(DATA:2) を出力します。
● セクタ消去一時停止時
セクタ消去一時停止中に連続したリードアクセスを行うと,フラッシュメモリはアドレ
スの指し示す番地が , 消去中のセクタに属するならば "1" と "0" を交互に出力するトグ
ル状態を出力します。消去中のセクタに属さないのであれば , アドレスの指し示す番地
の読み出し値の bit2(DATA:2) を出力します。
また , セクタ消去一時停止書込み時 , 消去一時停止していないセクタから連続したリー
ドアクセスを行うと ,"1" を出力します。
DQ2 は DQ6 とともに使用し , 消去一時停止中であるかを検出するのに使用します。
(DQ2 はトグル動作するが ,DQ6 はトグル動作しない。
)
417
第 24 章 1M ビット フラッシュメモリ
さらに ,DQ2 は消去しているセクタの検出にも使用します。消去動作時には ,DQ2 は消
去しているセクタからのリードアクセスならばトグル動作をします。
< 参考 >
418
消去の際 , 選択されたすべてのセクタが書換え保護されている場合 , トグルビット
2 は約 100µs のトグル動作をし , その後データを書き換えないで読出し / リセット
状態に戻ります。
第 24 章 1M ビット フラッシュメモリ
24.7
フラッシュメモリ書込み / 消去の詳細説明
自動アルゴリズムを起動するコマンドを発行し , フラッシュメモリに読出し / リセッ
ト , 書込み , チップ消去 , セクタ消去 , セクタ消去一時停止 , セクタ消去再開のそれ
ぞれの動作を行う手順を説明します。
■ フラッシュメモリ書込み / 消去の詳細説明
フラッシュメモリは読み出し / リセット , 書込み , チップ消去 , セクタ消去 , セクタ消
去一時停止 , 消去再開の動作がコマンドシーケンス( 「24.5 フラッシュメモリ自動ア
ルゴリズム起動方法」の 表 24.5-1 を参照)のバスへのライトサイクルを行うことで自
動アルゴリズムを実行することが可能です。それぞれのバスへのライトサイクルは必
ず続けて行う必要があります。また , 自動アルゴリズムはデータ・ポーリング機能等で
終了時を知ることができます。正常終了後は読出し / リセット状態に戻ります。
各動作について , 次項より下記の順に示します。
• 読出し / リセット状態にする
• データを書き込む
• 全データを消去する(チップ全消去)
• 任意のデータを消去する(セクタ消去)
• セクタ消去を一時停止する
• セクタ消去を再開する
419
第 24 章 1M ビット フラッシュメモリ
24.7.1
フラッシュメモリの読出し / リセット状態
読出し / リセットコマンドを発行し , フラッシュメモリを読出し / リセット状態にす
る手順について説明します。
■ フラッシュメモリの読出し / リセット状態
フラッシュメモリを読出し / リセット状態にするには , コマンドシーケンス表( 「24.5
フラッシュメモリ自動アルゴリズム起動方法」の 表 24.5-1 を参照)の読出し / リセッ
トコマンドを , フラッシュメモリ内の対象セクタに続けて送ることで実行可能です。
読出し / リセットコマンドには 1 回と 3 回のバス動作を行う 2 とおりのコマンドシー
ケンスがありますが , これらの本質的な違いはありません。
読出し / リセット状態はフラッシュメモリの初期状態であり , 電源投入時 , コマンドの
正常終了時は常に読出し / リセット状態になります。読出し / リセット状態はほかのコ
マンドの入力待ち状態です。
読出し/リセット状態では通常のリードアクセスでデータを読み出せます。マスクROM
と同様に CPU からのプログラムアクセスが可能です。通常読み出しでのデータ読出し
にこのコマンドは必要ありません,何らかの理由でコマンドが正常に終了しなかったと
きなど , 自動アルゴリズムを初期化する場合に主にこのコマンドを使用します。
420
第 24 章 1M ビット フラッシュメモリ
24.7.2
フラッシュメモリへのデータ書込み
書込みコマンドを発行し , フラッシュメモリへデータを書き込む手順について説明し
ます。
■ フラッシュメモリへのデータを書込み
フラッシュメモリの , データ書込み自動アルゴリズムを起動するには , コマンドシーケ
ンス表( 「24.5 フラッシュメモリ自動アルゴリズム起動方法」の 表 24.5-1 を参照)の
書込みコマンドを , フラッシュメモリ内の対象セクタに続けて送ることで実行可能で
す。4 サイクル目に目的のアドレスへのデータライトが終了した時点で , 自動アルゴリ
ズムが起動され自動書込みが開始します。
● アドレス指定方法
書込みデータサイクルの中で指定する書込みアドレスは , 偶数アドレスのみが可能で
す。奇数アドレスを指定すると正しく書き込むことができません。すなわち , 偶数アド
レスへのワードデータ単位での書込みが必要となります。
書込みはどのようなアドレスの順番でも , また , セクタの境界を超えても可能ですが ,1
回の書込みコマンドによって書き込まれるデータは 1 ワードのみです。
● データ書込み上の注意
書込みによって , データ "0" をデータ "1" に戻すことはできません。データ "0" にデー
タ "1" を書き込むと , データポーリングアルゴリズム (DQ7) または , トグル動作 (DQ6)
が終了せず , フラッシュメモリ素子が不良と判定され , 書込み規定時間を超えタイミン
グリミット超過フラグ (DQ5) がエラーと判定するか , あるいは見かけ上データ "1" が書
き込まれたように見えるかのどちらかとなります。しかし , 読出し / リセット状態で
データを読み出すとデータは "0" のままです。消去動作のみが "0" データを "1" にする
ことができます。
自動書込み実行中はすべてのコマンドが無視されます。書込み中にハードウェアリ
セットが起動されると,書き込んでいるアドレスのデータは保証されませんので注意が
必要です。
■ フラッシュメモリ書込み手順
図 24.7-1 に , フラッシュメモリ書込みの手順の例を示します。ハードウェア・シーケ
ンス・フラグ( 「24.6 自動アルゴリズム実行状態の確認」参照)を用いることでフラッ
シュメモリ内部の自動アルゴリズムの状態判定が可能です。ここでは , 書込み終了の確
認にデータポーリングフラグ (DQ7) を用いています。
フラグチェックのために読み込むデータは最後に書込みを行ったアドレスからの読込
みとなります。
データポーリングフラグ (DQ7) は , タイミングリミット超過フラグ (DQ5) と同時に変
わるので , たとえタイミングリミット超過フラグ (DQ5) が "1" であってもデータポーリ
ングフラグビット (DQ7) は再チェックする必要があります。
421
第 24 章 1M ビット フラッシュメモリ
トグルビットフラグ (DQ6) でも同様にタイミングリミット超過フラグビット (DQ5) が
"1"に変わるのと同時にトグル動作を止めるので,トグルビットフラグ(DQ6)を再チェッ
クする必要があります。
図 24.7-1 フラッシュメモリ書込み手順の例
書込み開始
FMCS:WE(ビット5)
フラッシュメモリ書込み許可
書込みコマンドシーケンス
①FxAAAA←XXAA
②Fx5554←XX55
③FxAAAA←XXA0
④書込みアドレス←書込みデータ
次アドレス
内部アドレスリード
DATA
データポーリングフラグ
(DQ7)
DATA
タイミングリミット(DQ5)
1
内部アドレスリード
DATA
データポーリングフラグ
(DQ7)
DATA
書込みエラー
最終アドレス
NO
YES
FMCS:WE(ビット5)
フラッシュメモリ書込み禁止
書込み完了
422
:ハードウェアシーケンスフラグ
による確認
第 24 章 1M ビット フラッシュメモリ
24.7.3
フラッシュメモリの全データの消去 ( チップ消去 )
チップ消去コマンドを発行し , フラッシュメモリの全データを消去する手順について
説明します。
■ フラッシュメモリの全データの消去 ( チップ消去 )
フラッシュメモリからすべてのデータを消去するには , コマンドシーケンス表(「24.5
フラッシュメモリ自動アルゴリズム起動方法」の 表 24.5-1 を参照)のチップ消去コマ
ンドを , フラッシュメモリ内の対象セクタに続けて送ることで実行可能です。
チップ消去コマンドは 6 回のバス動作で行われます ,6 サイクル目のライトが完了した
時点でチップ消去動作が開始します。チップ消去では , 消去前にユーザがフラッシュメ
モリに書込みを行う必要はありません。自動消去アルゴリズム実行中には , フラッシュ
メモリは自動的にすべてのセルを消去する前に "0" を書き込んで検証します。
423
第 24 章 1M ビット フラッシュメモリ
24.7.4
フラッシュメモリの任意データの消去 ( セクタ消去 )
セクタ消去コマンドを発行し , フラッシュメモリの任意のデータを消去する ( セクタ
消去 ) 手順について説明します。セクタごとの消去が可能であり , 複数のセクタを同
時に指定することも可能です。
■ フラッシュメモリの任意データの消去 ( セクタ消去 )
フラッシュメモリの任意のセクタを消去するためには , コマンドシーケンス表 ( 「24.5
フラッシュメモリ自動アルゴリズム起動方法」の 表 24.5-1 を参照 ) のセクタ消去コマ
ンドを , フラッシュメモリ内の対象セクタに続けて送ることで実行可能です。
● セクタ指定方法
セクタ消去コマンドは 6 回のバス動作で行われます。6 サイクル目に目的のセクタ内の
アクセス可能な任意の偶数の 1 アドレスへ , セクタ消去コード (30H) をライトすること
により 50µs のセクタ消去ウェイトが開始します。複数のセクタ消去を行う場合は , 上
記の処理に引き続き消去する目的のセクタ内のアドレスに消去コード(30H)をライトし
ます。
● 複数のセクタを指定するときの注意
最後のセクタ消去コードのライトから 50µs のセクタ消去ウェイト期間終了により消去
が開始します。すなわち , 複数のセクタを同時に消去する場合は , 次の消去セクタのア
ドレスと消去コード(コマンドシーケンス 6 サイクル目)をそれぞれ 50µs 以内に入力
する必要があり , それ以降では受け付けられないことがあります。引き続くセクタ消去
コードのライトが有効かどうかはセクタ消去タイマ(ハードウェア・シーケンス・フ
ラグ DQ3)によって調べることができます。なおこのとき , セクタ消去タイマをリー
ドするアドレスは , 消去しようとしているセクタを指すようにします。
■ フラッシュメモリのセクタ消去手順
ハードウェアシーケンスフラグ ( 「24.6 自動アルゴリズム実行状態の確認」を参照 ) を
用いることでフラッシュメモリ内部の自動アルゴリズムの状態判定が可能です。図
24.7-2 に , フラッシュメモリセクタ消去の手順の例を示します。ここでは , 消去終了の
確認にトグルビットフラグ (DQ6) を用いています。
フラグチェックのために読込むデータは,消去しようとしているセクタからの読込みと
なりますので , 注意が必要です。
トグルビットフラグ (DQ6) は , タイミングリミット超過フラグ (DQ5) が "1" に変わる
のと同時にトグル動作を止めるので , たとえタイミングリミット超過フラグ (DQ5) が
"1" であってもトグルビットフラグ (DQ6) は再チェックする必要があります。
データポーリングフラグ (DQ7) でも同様に , タイミングリミット超過フラグ (DQ5) と
同時に変わるので , データポーリングフラグを再チェックする必要があります。
424
第 24 章 1M ビット フラッシュメモリ
図 24.7-2 フラッシュメモリのセクタ消去手順の例
消去開始
FMCS:WE(ビット5)
フラッシュメモリ消去許可
消去コマンドシーケンス
①FxAAAA←XXAA
②Fx5554←XX55
③FxAAAA←XX80
④Fx5554←XX55
⑤セクタアドレス←消去コード(30H)
⑥セクタアドレス←消去コード(30H)
YES
消去セクタが他にあるか
NO
内部アドレスリード1
内部アドレスリード2
次セクタ
NO
YES
ドクルビット(DQ6)
データ1(DQ6)=データ2(DQ6)
セクタ消去終了
YES
NO
0
タイミングリミット(DQ5)
1
内部アドレスリード1
内部アドレスリード2
NO
ドクルビット(DQ6)
データ1(DQ6)=データ2(DQ6)
YES
消去エラー
最終セクタ
NO
YES
FMCS:WE(ビット5)
フラッシュメモリ消去禁止
消去完了
:ハードウェアシーケンスフラグ
による確認
425
第 24 章 1M ビット フラッシュメモリ
24.7.5
フラッシュメモリのセクタ消去の一時停止
セクタ消去一時停止コマンドを発行し , フラッシュメモリセクタ消去の一時停止を行
う手順について説明します。消去中でないセクタから , データを読みだすことが可能
です。
■ フラッシュメモリのセクタ消去の一時停止
フラッシュメモリのセクタ消去を一時停止するには , コマンドシーケンス表( 「24.5
フラッシュメモリ自動アルゴリズム起動方法」の 表 24.5-1 を参照)のセクタ消去一時
停止コマンドを , フラッシュメモリ内に送ることで実行可能です。
セクタ消去一時停止コマンドは , セクタ消去中に消去を一時停止し , 消去中でないセク
タからのデータ読み出しを可能にするものです。この状態では読み出しのみが可能で
書込みはできません。このコマンドは消去ウェイト時間を含むセクタ消去中のみ有効
で , チップ消去中や書込み動作中は無視されます。
消去一時停止コード (B0H) のライトを行うことで実施されますが , このときアドレスは
フラッシュメモリ内の任意のアドレスを指すようにします。消去一時停止での再度の
消去一時停止コマンドは無視されます。
セクタ消去ウェイト期間中に , セクタ消去一時停止コマンドが入力されると , 直ちにセ
クタ消去ウェイトを終了し , 消去動作を中断して消去停止状態になります。セクタ消去
ウェイト期間後のセクタ消去動作中に消去一時停止コマンドが入力されると,最大20µs
後 , 消去一時停止状態に入ります。セクタ消去一時停止コマンドは , セクタ消去コマン
ドあるいはセクタ消去再開コマンド発行後 ,20µs 以上後に行ってください。
426
第 24 章 1M ビット フラッシュメモリ
24.7.6
フラッシュメモリのセクタ消去の再開
セクタ消去再開コマンドを発行し , 一時停止したフラッシュメモリセクタ消去を再開
する手順について説明します。
■ フラッシュメモリのセクタ消去の再開
一時停止したセクタ消去を再開させるには , コマンドシーケンス表(「24.5 フラッシュ
メモリ自動アルゴリズム起動方法」の 表 24.5-1 を参照)のセクタ消去再開コマンド
を , フラッシュメモリ内に送ることで実行可能です。
セクタ消去再開コマンドは,セクタ消去一時停止コマンドによるセクタ消去一時停止状
態から , セクタ消去を再開するためのコマンドです。このコマンドは消去再開コード
(30H) のライトを行うことで実施されますが , このときのアドレスはフラッシュメモリ
領域内の任意のアドレスを指すようにします。
なお , セクタ消去中のセクタ消去再開コマンドの発行は無視されます。
427
第 24 章 1M ビット フラッシュメモリ
24.8
1M ビットフラッシュメモリ使用上の注意
1M ビットフラッシュメモリに関する注意を以下に示します。
■ フラッシュメモリ使用上の注意
● ハードウェアリセット (RST) の入力
読出し中で自動アルゴリズムが起動していないときに,ハードウェアリセットを入力す
るには ,L レベル幅として最低 500ns をとる必要があります。この場合 , ハードウェア
リセット起動後フラッシュメモリからデータを読み出すまでに , 最低 500ns が必要とな
ります。
同様に , 書込み / 消去中で自動アルゴリズムが起動しているときに , ハードウェアリ
セットを入力するには ,L レベル幅として最低 50ns をとる必要があります。この場合 ,
フラッシュメモリを初期化するために実行中の動作を停止した後データを読み出すま
でに ,20µs が必要となります。
書込み中にハードウェアリセットすると , 書き込まれているデータは不定となります。
消去中にハードウェアリセットすると,消去されているセクタは使用不可となる可能性
があります。
● ソフトウェアリセット , ウォッチドッグタイマリセット , ハードウェアスタンバイの取消し
CPU アクセスでフラッシュメモリ書込み / 消去中に , 自動アルゴリズムがアクティブ状
態でリセット条件が発生した場合 ,CPU が暴走する可能性があります。それは , これら
のリセット条件により,フラッシュメモリユニットが初期化されずに自動アルゴリズム
が続行し,リセット離脱後にCPUがシーケンスを開始したときフラッシュメモリユニッ
トが読出し状態になることが妨げられる可能性があるためです。これらのリセット条
件は , フラッシュメモリの書込み / 消去中に禁止されている必要があります。
● フラッシュメモリへのプログラムアクセス
自動アルゴリズム動作中は , フラッシュメモリへの読出しアクセスは禁止されます。
CPU のメモリアクセスモードが内蔵 ROM モードにセットされている場合 , プログラム
領域を RAM などの別の領域に切り換え後 , 書込み / 消去を開始する必要があります。
この場合 , 割込みベクタを含むセクタ (SA4) が消去されると , 書込み / 消去割込み処理
を実行できません。
● ホールド機能
CPU がホールド要求を受け付けたとき , フラッシュメモリユニットの書込み信号 WE
は歪曲され , 不正な書込みによる不正な書込み / 消去が可能になります。ホールド要求
の受付けが許可(ECSR の HDE ビットが "1" をセット)されたとき , コントロールス
テータスレジスタ (FMCS) の WE ビットが必ず "0" になっているようにしてください。
● 拡張インテリジェント I/O サービス (EI2OS)
フラッシュメモリインタフェース回路から CPU に発行された書込み / 消去割込みは ,
EI2OS には受付け不可能であり , 使用できません。
428
第 24 章 1M ビット フラッシュメモリ
● VID の適用
セクタプロテクト動作に必要な VID の印加は , 電減がオンのとき常に開始し , 終了する
必要があります。
429
第 24 章 1M ビット フラッシュメモリ
24.9
フラッシュセキュリティの特長
フラッシュセキュリティコントローラ機能により , フラッシュメモリの内容を外部端
子から読出されることを防止できます。
■ フラッシュセキュリティの特長
事前定義されたフラッシュメモリのアドレスが,フラッシュセキュリティコントローラ
(FE0001) に割り当てられます。このアドレスに保護コード "01H" が書き込まれると , フ
ラッシュメモリへのアクセスが制限されます。フラッシュメモリが一度保護されると ,
チップ消去を行うまで , 機能のロックを解除することはできません。ロックを解除しな
い限り , いずれの外部端子からもフラッシュメモリへの読出し / 書込みはできません。
この機能は,フラッシュメモリに格納される自己完結型プログラムやデータのセキュリ
ティを必要とするアプリケーションに適しています。マイクロコントローラの外部に
位置するプログラム部分を対象アプリケーションが必要とする場合には,フラッシュセ
キュリティコントローラは , 目的の機能を提供することができません。このため , 保護
コードを設定した場合は , 外部ベクタフェッチモードは使用しません。
標準パラレルプログラマによるフラッシュマイクロコントローラのプログラミングに
は , 独特のセットアップが必要になることがあります。たとえば , 横河ディジタルコン
ピュータ株式会社製のプログラマでは , デバイスチェックを切断する必要があります。
保護コードは,フラッシュプログラミングの終わりにコーディングすることを推奨され
ます。これは , プログラミング中の不要な保護を回避するためです。
一度保護されたフラッシュメモリを再度プログラムするには,チップ消去操作を行う必
要があります。
詳細については , 弊社担当者にお問い合わせください。
430
第 24 章 1M ビット フラッシュメモリ
24.10
1M ビットフラッシュメモリのプログラム例
ここでは ,1M ビットフラッシュメモリのプログラム例を掲載します。
■ 1M ビットフラッシュメモリのプログラム例
NAME
FLASHWE
TITLE
FLASHWE
;-----------------------------------------------------------------; 1Mbit-FLASH サンプルプログラム
;
; 1:FLASH にあるプログラム(アドレス FFC000H セクタ SA4)を RAM(アドレス
000700H); に転送する。
; 2:RAM 上でプログラムを実行する。
; 3:PDR1 の値を FLASH(アドレス FE0000H セクタ SA0)に書き込む。
; 4: 書込んだ値(アドレス FE0000H セクタ SA0)を読出し PDR2 に出力する。
; 5: 書込んだセクタ(SA0)を消去する。
; 6: 消去データ確認の出力
; 条件
;
・RAM 転送バイト数 : 100H(256 バイト)
;
・書込み , 消去の終了判定
;
DQ5(タイミングリミット超過フラグ)での判定
;
DQ6(トグルビットフラグ)での判定
;
RDY(FMCS)での判定
;
・エラー時の処理
;
P00 ∼ P07 に "Hi" を出力する
;
リセットコマンド発行
;-----------------------------------------------------------------;
RESOUS IOSEG ABS=00
;"RESOUS"I/O セグメントの定義
ORG
0000H
PDR0
RB
1
PDR1
RB
1
PDR2
RB
1
PDR3
RB
1
ORG
0010H
DDR0
RB
1
DDR1
RB
1
DDR2
RB
1
DDR3
RB
1
ORG
00A1H
CKSCR
RB
1
ORG
00AEH
FMCS
RB
1
ORG
006FH
ROMM
RB
1
RESOUS ENDS
;
SSTA
SSEG
RW
0127H
STA_T
RW
1
SSTA
ENDS
;
431
第 24 章 1M ビット フラッシュメモリ
DSEG ABS=0FFH
;FLASH コマンドアドレス
ORG
5554H
COMADR2 RW
1
ORG
0AAAAH
COMADR1 RW
1
DATA
ENDS
;-----------------------------------------------------------------; メインプログラム(SA1)
;-----------------------------------------------------------------CODE
CSEG
START:
;---------------------------------------------------------; 初期化
;---------------------------------------------------------MOV
CKSCR,#0BAH
;3 逓倍に設定
MOV
RP,#0
MOV
A,#!STA_T
MOV
SSB,A
MOVW A,#STA_T
MOVW SP,A
MOV
ROMM,#00H
; ミラー OFF
MOV
PDR0,#00H
; エラー確認用
MOV
DDR0,#0FFH
MOV
PDR1,#00H
; データ入力用ポート
MOV
DDR1,#00H
MOV
PDR2,#00H
; データ出力用ポート
MOV
DDR2,#0FFH
;---------------------------------------------------------;RAM(700H 番地)に "FLASH 書込み消去プログラム(FFC000H)" を転送する
DATA
;---------------------------------------------------------MOVW A,#0700H
; 転送先 RAM 領域
MOVW A,#0C000H
; 転送元アドレス (プログラムのある位置)
MOVW RW0,#100H
; 転送するバイト数
MOVS ADB,PCB
;FFBC00H から 000700H へ 100H 転送
CALLP 000700H
; 転送したプログラムのあるアドレスへジャンプ
;---------------------------------------------------; データ出力
;---------------------------------------------------OUT
MOV
A,#0FEH
MOV
ADB,A
MOVW RW2,#0000H
MOVW A,@RW2+00
MOV
PDR2,A
END
JMP
*
CODE
ENDS
;-----------------------------------------------------------------;FLASH 書込み消去プログラム(SA4)
;-----------------------------------------------------------------RAMPRG CSEG ABS=0FFH
ORG
0C000H
;---------------------------------------------------------; 初期化
;---------------------------------------------------------MOVW
RW0,#0500H
;RW0: 入力データ確保用 RAM 空間 00:0500 ∼
MOVW
RW2,#0000H
;RW2: フラッシュメモリ書込アドレス FD:0000 ∼
432
第 24 章 1M ビット フラッシュメモリ
MOV
MOV
MOV
MOV
MOV
MOV
A,#00H
DTB,A
A,#0FEH
ADB,A
PDR3,#00H
DDR3,#00H
;DTB 変更
;@RW0 用バンク指定
;ADB 変更 1
; 書込みモード指定アドレス用バンク指定
; スイッチ初期化
;
WAIT1
BBC
PDR3:0,WAIT1 ;PDR3:0 "Hi" で書込みスタート
;
;-----------------------------------------------------------------; 書込み(SA0)
;-----------------------------------------------------------------MOV
A,PDR1
MOVW
@RW0+00,A
;RAM に PDR1 データを確保
MOV
FMCS,#20H
; 書込みモード設定
MOVW
ADB:COMADR1,#00AAH ; フラッシュ書込みコマンド 1
MOVW
MOVW
ADB:COMADR2,#0055H ; フラッシュ書込みコマンド 2
ADB:COMADR1,#00A0H ; フラッシュ書込みコマンド 3
MOVW
A,@RW0+00
;
; 入力データ(RW0)をフラッシュメモリ(RW2)に
; 書込む
;
WRITE
NTOW
MOVW
@RW2+00,A
; 待ち時間チェック
;---------------------------------------------------------; タイムリミット超過チェック - フラグが立ちトグル動作中である場合 ERROR
;---------------------------------------------------------MOVW
A,@RW2+00
AND
A,#20H
;DQ5 タイムリミットチェック
BZ
NTOW
; タイムリミットオーバ
MOVW
A,@RW2+00
;AH
MOVW
A,@RW2+00
;AL
XORW
A
;AH AL の XOR(値が違えば "1")
AND
A,#40H
;DQ6 トグルビットは違っているか
BNZ
ERROR
; 違えば ERROR へ
;---------------------------------------------------------; 書込み終了チェック(FMCS-RDY)
;---------------------------------------------------------MOVW
A,FMCS
AND
A,#10H
;FMCS RDY ビット(4bit)抽出
BZ
WRITE
; 書込み終了か?
MOV
FMCS,#00H
; 書込みモード解除
;---------------------------------------------------------; 書込みデータ出力
;---------------------------------------------------------MOVW RW2,#0000H
; 書込みデータ出力
MOVW A,@RW2+00
MOV
PDR2,A
;
WAIT2
BBC
PDR3:1,WAIT2 ;PDR3:1"Hi" でセクタ消去スタート
;
;-----------------------------------------------------------------; セクタ消去(SA0/SA2)
;-----------------------------------------------------------------MOV
@RW2+00,#0000H; アドレス初期化
433
第 24 章 1M ビット フラッシュメモリ
ELS
MOV
FMCS,#20H
; 消去モード設定
MOVW ADB:COMADR1,#00AAH ; フラッシュ消去コマンド 1
MOVW ADB:COMADR2,#0055H ; フラッシュ消去コマンド 2
MOVW ADB:COMADR1,#0080H ; フラッシュ消去コマンド 3
MOVW ADB:COMADR1,#00AAH ; フラッシュ消去コマンド 4
MOVW ADB:COMADR2,#0055H ; フラッシュ消去コマンド 5
MOV
@RW2+00,#0030H
; 消すセクタに消去コマンド発行 6
; 待ち時間チェック
;---------------------------------------------------------; タイムリミット超過チェック - フラグが立ちトグル動作中である場合 ERROR
;---------------------------------------------------------MOVW A,@RW2+00
AND
A,#20H
;DQ5 タイムリミットチェック
BZ
NTOE
; タイムリミットオーバ
MOVW A,@RW2+00
;AH 書込み動作中は ,DQ6 から
MOVW A,@RW2+00
;AL リード毎 "Hi/Low" が交互出力される
XORW A
;AH と AL の XOR(DQ6 の値が違えば
;"1" 書込み動作中である)
AND
A,#40H
;DQ6 トグルビットは "Hi" か
BNZ
ERROR
;"Hi" なら ERROR へ
;---------------------------------------------------------; 消去終了チェック(FMCS-RDY)
;---------------------------------------------------------NTOE
MOVW A,FMCS
;
AND
A,#10H
;FMCS RDY ビット(4bit)抽出
BZ
ELS
; セクタ消去終了か?
MOV
FMCS,#00H
;FLASH 消去モード解除
RETP
; メインプログラムに戻る
;-----------------------------------------------------------------; エラー
;-----------------------------------------------------------------ERROR
MOV
ADB:COMADR1,#0F0H
; リセットコマンド(読出しが可能になる)
MOV
FMCS,#00H
;FLASH モード解除
MOV
PDR0,#0FFH
; エラー処理の確認
RETP
; メインプログラムに戻る
RAMPRG ENDS
;-----------------------------------------------------------------VECT
CSEG ABS=0FFH
ORG
0FFDCH
DSL
START
DB
00H
VECT
ENDS
;
END
START
434
第 25 章
MB90F443G
シリアル書込み接続例
横河ディジタルコンピュータ株式会社製 AF220/
AF210/AF120/AF110 フラッシュマイコンプログラ
マを用いた場合の , シリアル書込みの接続例につい
て説明します。
25.1 MB90F443G シリアル書込み接続の基本構成
25.2 シリアル書込み接続例 ( ユーザ電源使用時 )
25.3 シリアル書込み接続例 ( ライタから電源供給時 )
25.4 フラッシュマイコンプログラマとの最小限の接続例
( ユーザ電源使用時 )
25.5 フラッシュマイコンプログラマとの最小限の接続例
( ライタから電源供給時 )
435
第 25 章 MB90F443G シリアル書込み接続例
25.1
MB90F443G シリアル書込み接続の基本構成
MB90F443G では , フラッシュ ROM のシリアルオンボード書込み(富士通標準)を
サポートしています。その仕様について以下に解説します。
■ MB90F443G シリアル書込み接続の基本構成
富士通標準シリアルオンボード書込みには , 横河ディジタルコンピュータ株式会社製
AF220/AF210/AF120/AF110 フラッシュマイコンプログラマを使用します。シングル
チップモードで動作するプログラムあるいは内 ROM 外バスモードで動作するプログ
ラムのどちらかを選択して書込むことができます。図 25.1-1 に ,MB90F443G シリアル
書込み接続の基本構成を示します。
図 25.1-1 MB90443G シリアル書込み接続の基本構成
ホストインタフェースケーブル
汎用共通ケーブル(AZ210)
RS232C
AF220/AF210/
AF120/AF110
フラッシュマイ
コンプログラマ
+
メモリカード
CLK 同期シリアル
MB90F443G
ユーザシステム
スタンドアロンで動作可能
< 注意事項 >
436
AF220/AF210/AF120/AF110 フラッシュマイコンプログラマの機能 , 操作方法 , 接
続用汎用共通ケーブル (AZ210), およびコネクタについては , 横河ディジタルコン
ピュータ株式会社殿にお問い合わせください。
第 25 章 MB90F443G シリアル書込み接続例
表 25.1-1 富士通標準シリアルオンボード書込みに使用する端子
端 子
MD2,
MD1,
MD0
機 能
補足説明
モード端子
フラッシュマイコンプログラマから , 書込みモードに制御します。
X0, X1
発振子用端子
書込みモード時に ,CPU 内部動作クロックは PLL クロック 1 逓倍
となっております。従いまして , 発振クロック周波数が , 内部動作
クロックとなりますので,シリアル書き換え時に使用する発振子は
3MHz ∼ 16MHz となります。
P00, P01
書込みプログラム起動端子
RST
リセット端子
SIN1
シリアルデータ入力端子
SOT1
シリアルデータ出力端子
SCK1
シリアルクロック入力端子
C
C 端子
電源安定化の容量端子です。外部に 0.1µF 程度のセラミックコン
デンサを接続してください。
VCC
電源電圧供給端子
書込み電圧 (5V ± 10%)
VSS
GND 端子
フラッシュマイコンプログラマの GND と共通にします。
P00 に "L" レベル ,P01 に "H" レベルを入力してください。
-
UART1 を CLK 同期モードとして使用します。
なお ,P00, SIN1, SOT1, SCK1 端子をユーザシステムでも使用する場合には , 図 25.1-2
に示す制御回路が必要となります。(フラッシュマイコンプログラマの /TICS 信号に
より , シリアル書込み中はユーザ回路を切り離すことができます)。
図 25.1-2 制御回路
AF220/AF210/AF120/AF110
書込み制御端子
MB90F443G
書込み制御端子
10kΩ
AF220/AF210/AF120/AF110
/TICS端子
ユーザ
次節以降に, 次の4つのシリアル書込み接続例を示していますので,参照してください。
• MB90F443G 内部ベクタモード時のシリアル書込み接続例(ユーザ電源使用時)
• MB90F443G 内部ベクタモード時のシリアル書込み接続例(ライタから電源供給時)
• フラッシュマイコンプログラマとの最小限の接続例(ユーザ電源使用時)
• フラッシュマイコンプログラマとの最小限の接続例(ライタから電源供給時)
437
第 25 章 MB90F443G シリアル書込み接続例
表 25.1-2 フラッシュマイコンプログラマシステム構成 (横河ディジタルコンピュータ株式会社製)
型 格
機 能
AF220/AC4P
イーサネットインタフェース内蔵モデル /100V ∼ 220V 電源アダプタ
AF210/AC4P
スタンダードモデル /100V ∼ 220V 電源アダプタ
AF120/AC4P
単キーイーサネットインタフェースモデル /100V ∼ 220V 電源アダプタ
AF110/AC4P
単キーモデル /100V ∼ 220V 電源アダプタ
本体
AZ221
ライタ専用 PC/AT 用 RS232C ケーブル
AZ210
標準ターゲットプローブ (a) 長さ :1m
FF201
富士通製 F2MC-16LX フラッシュマイコン用コントロールモジュール
AZ290
リモートコントローラ
/P2
2MB PC Card(Option) FLASH メモリ容量∼ 128KB 対応
/P4
4MB PC Card(Option) FLASH メモリ容量∼ 512KB 対応
問合せ先 : 横河ディジタルコンピュータ株式会社
電話
: 042-333-6224
< 注意事項 >
AF200 フラッシュマイコンプログラマについては , 終息製品ですが , コントロール
モジュール FF201 を用いることで対応可能です。シリアル書込み接続例に関して
は ,「■ 発振クロック周波数とシリアルクロック入力周波数」に示した接続例に
て対応可能です。
■ 発振クロック周波数とシリアルクロック入力周波数
MB90F443G の入力可能なシリアルクロック周波数は以下の計算式より求まります。
入力可能なシリアルクロック周波数 =0.125 ×発振クロック周波数例
したがって , ご使用の発振クロック周波数によって , シリアルクロック入力周波数をフ
ラッシュマイコンプログラマの設定にて変更してください。
表 25.1-3 入力可能なシリアルクロック周波数の例
発振クロック周波
数
マイコンの入力可能な
最大シリアルクロック
周波数
AF220/AF210/AF120/
AF110 の設定可能な最
大シリアルクロック周
波数
AF200 の設定可能な最
大シリアルクロック周
波数
4MHz 時
500kHz
500kHz
500kHz
8MHz 時
1MHz
850kHz
500kHz
16MHz 時
2MHz
1.25MHz
500kHz
438
第 25 章 MB90F443G シリアル書込み接続例
25.2
シリアル書込み接続例 ( ユーザ電源使用時 )
図 25.2-1 に , マイコンの電源電圧をユーザ電源より供給する場合の , シリアル書込
み接続例を示します。なお , モード端子 MD2, MD0 には ,AF220/AF210/AF120/
AF110 の TAUX3, TMODE より ,MD2=1, MD0=0 が入力されます。
シリアル書換えモード :MD2, MD1, MD0=110B
■ シリアル書込み接続例 ( ユーザ電源使用時 )
図 25.2-1 MB90F443G シングルチップモード時のシリアル書込み接続例 ( ユーザ電源使用時 )
AF220/AF210/AF120/AF110
フラッシュマイコン
プログラマ
TAUX3
ユーザシステム
コネクタ
DX10-28S
MB90F443G
(19)
MD2
10kΩ
10kΩ
MD1
10kΩ
TMODE
(12)
MD0
X0
3MHz~16MHz
X1
TAUX
(23)
P00
10kΩ
/TICS
(10)
ユーザ
10kΩ
10kΩ
/TRES
(5)
RST
10kΩ
P01
ユーザ
0.1µF
TTXD
TRXD
TCK
(13)
(27)
(6)
TVcc
(2)
GND
(7,8,
14,15,
21,22,
1,28)
C
SIN1
SOT1
SCK1
Vcc
ユーザ電源
Vss
・3,4,9,11,16,17,18,20,24,25,26ピンはOPEN
・DX10-28S:ライトアングルタイプ
14ピン
1ピン
28ピン
15ピン
DX10-28S
コネクタ(ヒロセ電機製)のピン配列
439
第 25 章 MB90F443G シリアル書込み接続例
• SIN1, SOT1, SCK1 端子をユーザシステムでも使用する場合には ,P00 と同様に , 下図
に示す制御回路が必要となります(フラッシュマイコンプログラマの /TICS 信号に
より , シリアル書込み中はユーザ回路を切り離すことができます)。
AF220/AF210/AF120/AF110
書込み制御端子
MB90F443G
書込み制御端子
10kΩ
AF220/AF210/AF120/AF110
/TICS端子
ユーザ
• AF220/AF210/AF120/AF110 との接続はユーザ電源が OFF の状態で行ってください。
440
第 25 章 MB90F443G シリアル書込み接続例
25.3
シリアル書込み接続例 ( ライタから電源供給時 )
図 25.3-1 に , マイコンの電源電圧をライタ電源より供給する場合の , シリアル書込
み接続例を示します。なお , モード端子 MD2, MD0 には ,AF220/AF210/AF120/
AF110 の TAUX3, TMODE より ,MD2=1, MD0=0 が入力されます。
シリアル書換えモード :MD2, MD1, MD0=110B
■ シリアル書込み接続例 ( ライタから電源供給時 )
図 25.3-1 MB90F443G シングルチップモード時のシリアル書込み接続例 ( ライタから電源供給時 )
AF220/AF210/AF120/AF110
フラッシュマイコン
プログラマ
TAUX3
ユーザシステム
コネクタ
DX10-28S
MB90F443G
(19)
MD2
10kΩ
10kΩ
MD1
10kΩ
TMODE
(12)
MD0
X0
3MHz~16MHz
X1
TAUX
(23)
P00
10kΩ
TICS
(10)
ユーザ
10kΩ
10kΩ
TRES
(5)
RST
10kΩ
P01
ユーザ
0.1µF
TTXD
TRXD
TCK
TVcc
Vcc
TVPP1
(13)
(27)
(6)
(2)
(3)
(16)
GND
(7,8,
14,15,
21,22,
1,28)
C
SIN1
SOT1
SCK1
Vcc
Vss
・4,9,11,17,18,20,24,25,26ピンはOPEN
・DX10-28S:ライトアングルタイプ
14ピン
1ピン
28ピン
15ピン
DX10-28S
コネクタ(ヒロセ電機製)のピン配列
441
第 25 章 MB90F443G シリアル書込み接続例
• SIN1, SOT1, SCK1 端子をユーザシステムでも使用する場合には ,P00 と同様に , 下図
に示す制御回路が必要となります(フラッシュマイコンプログラマの /TICS 信号に
より , シリアル書込み中はユーザ回路を切り離すことができます)。
AF220/AF210/AF120/AF110
書込み制御端子
MB90F443G
書込み制御端子
10kΩ
AF220/AF210/AF120/AF110
/TICS端子
ユーザ
• AF220/AF210/AF120/AF110 との接続はユーザ電源が OFF の状態で行ってください。
• 書込み電源をAF220/AF210/AF120/AF110から供給するときはユーザ電源と短絡しな
いでください。
442
第 25 章 MB90F443G シリアル書込み接続例
25.4
フラッシュマイコンプログラマとの最小限の接続例
( ユーザ電源使用時 )
図 25.4-1 に , マイコンの電源電圧をユーザ電源より供給する場合の , フラッシュマ
イコンプログラマとの最小限の接続例を示します。
シリアル書換えモード :MD2, MD1, MD0=110B
■ フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 )
フラッシュメモリ書込み時に , 各端子を 図 25.4-1 に示すように設定して頂ければ ,
MD2, MD1, MD0, P00 とフラッシュマイコンプログラマとの接続は必要ありません。
図 25.4-1 MB90F443G フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 )
AF220/AF210/AF120/AF110
フラッシュマイコン
プログラマ
ユーザシステム
MB90F443G
シリアル書換え時1
10kΩ
MD2
10kΩ
10kΩ
10kΩ
10kΩ
シリアル書換え時0
10kΩ
シリアル書換え時1
MD1
MD0
X0
3MHz~16MHz
X1
10kΩ
P00
10kΩ
シリアル書換え時0
ユーザ回路
P01
シリアル書換え時1
ユーザ回路
C
0.1µF
コネクタ
DX10-28S
TRES
TTXD
TRXD
TCK
TVcc
GND
10kΩ
(5)
(13)
SIN1
SOT1
SCK1
Vcc
(27)
(6)
(2)
(7,8,
14,15,
21,22,
1,28)
RST
ユーザ電源
・3,4,9,10,11,12,16,17,18,19,20,23,24,25,26
ピンはOPEN
・DX10-28S:ライトアングルタイプ
Vss
14ピン
1ピン
DX10-28S
28ピン
15ピン
コネクタ(ヒロセ電機製)のピン配列
443
第 25 章 MB90F443G シリアル書込み接続例
• SIN1, SOT1, SCK1 端子をユーザシステムでも使用する場合には , 下図に示す制御回
路が必要となります(フラッシュマイコンプログラマの /TICS 信号により , シリア
ル書込み中はユーザ回路を切り離すことができます)
。
AF220/AF210/AF120/AF110
書込み制御端子
MB90F443G
書込み制御端子
10kΩ
AF220/AF210/AF120/AF110
/TICS端子
ユーザ
• AF220/AF210/AF120/AF110 との接続はユーザ電源が OFF の状態で行ってください。
444
第 25 章 MB90F443G シリアル書込み接続例
25.5
フラッシュマイコンプログラマとの最小限の接続例
( ライタから電源供給時 )
図 25.5-1 に , マイコンの電源電圧をライタ電源より供給する場合の , フラッシュマ
イコンプログラマとの最小限の接続例を示します。
シリアル書換えモード : MD2, MD1, MD0=110B
■ フラッシュマイコンプログラマとの最小限の接続例 ( ライタから電源供給時 )
フラッシュメモリ書込み時に各端子を 図 25.5-1 に示すように設定して頂ければ ,MD2,
MD1, MD0, P00 とフラッシュマイコンプログラマとの接続は必要ありません。
図 25.5-1 MB90F443G フラッシュマイコンプログラマとの最小限の接続例 ( ライタから電源供給時 )
AF220/AF210/AF120/AF110
フラッシュマイコン
プログラマ
ユーザシステム
MB90F443G
シリアル書換え時1
10kΩ
MD2
10kΩ
10kΩ
10kΩ
10kΩ
シリアル書換え時0
10kΩ
シリアル書換え時1
MD1
MD0
X0
3MHz~16MHz
X1
10kΩ
P00
10kΩ
シリアル書換え時1
ユーザ回路
P01
シリアル書換え時1
ユーザ回路
C
コネクタ
DX10-28S
TRES
TTXD
TRXD
TCK
TVcc
Vcc
TVPP1
GND
(5)
(13)
(27)
(6)
0.1µF
10kΩ
RST
SIN1
SOT1
SCK1
(2)
(3)
(16)
Vcc
(7,8,
14,15,
21,22,
1,28)
Vss
・4,9,10,11,12,17,18,19,20,23,24,25,26
ピンはOPEN
・DX10-28S:ライトアングルタイプ
14ピン
1ピン
DX10-28S
28ピン
15ピン
コネクタ(ヒロセ電機製)のピン配列
445
第 25 章 MB90F443G シリアル書込み接続例
• SIN1, SOT1, SCK1 端子をユーザシステムでも使用する場合には , 下図に示す制御回
路が必要となります(フラッシュマイコンプログラマの /TICS 信号により , シリア
ル書込み中はユーザ回路を切り離すことができます)
。
AF220/AF210/AF120/AF110
書込み制御端子
MB90F443G
書込み制御端子
10kΩ
AF220/AF210/AF120/AF110
/TICS端子
ユーザ
• AF220/AF210/AF120/AF110 との接続はユーザ電源が OFF の状態で行ってください。
• 書込み電源をAF220/AF210/AF120/AF110から供給するときはユーザ電源と短絡しな
いでください。
446
付録
ここでは ,I/O マップ , 命令一覧表などを掲載しま
す。
付録 A I/O マップ
付録 B 命令
447
付録
付録 A
I/O マップ
本マイクロコントローラの各リソースのレジスタは , 以下のようなアドレスが割当て
られています。
■ I/O マップ
表 A-1 I/O マップ (1 / 8)
アドレス
レジスタ
略称
アクセス
リソース
初期値
000000H
ポート 0 データレジスタ
PDR0
R/W
ポート 0
XXXXXXXXB
000001H
ポート 1 データレジスタ
PDR1
R/W
ポート 1
XXXXXXXXB
000002H
ポート 2 データレジスタ
PDR2
R/W
ポート 2
XXXXXXXXB
000003H
ポート 3 データレジスタ
PDR3
R/W
ポート 3
XXXXXXXXB
000004H
ポート 4 データレジスタ
PDR4
R/W
ポート 4
XXXXXXXXB
000005H
ポート 5 データレジスタ
PDR5
R/W
ポート 5
XXXXXXXXB
000006H
ポート 6 データレジスタ
PDR6
R/W
ポート 6
XXXXXXXXB
000007H
ポート 7 データレジスタ
PDR7
R/W
ポート 7
XXXXXXXXB
000008H
ポート 8 データレジスタ
PDR8
R/W
ポート 8
XXXXXXXXB
000009H
ポート 9 データレジスタ
PDR9
R/W
ポート 9
XXXXXXXXB
00000AH
ポート A データレジスタ
PDRA
R/W
ポート A
-------XB
00000BH
ポート入力レベル選択レジスタ
PILR
R/W
ポート
00000000B
00000CH
CAN2 RX/TX 端子切換え
レジスタ
CANSWR
R/W
CAN1/2
------00B
00000DH ∼
00000FH
予約領域
000010H
ポート 0 方向レジスタ
DDR0
R/W
ポート 0
00000000B
000011H
ポート 1 方向レジスタ
DDR1
R/W
ポート 1
00000000B
000012H
ポート 2 方向レジスタ
DDR2
R/W
ポート 2
00000000B
000013H
ポート 3 方向レジスタ
DDR3
R/W
ポート 3
00000000B
000014H
ポート 4 方向レジスタ
DDR4
R/W
ポート 4
00000000B
000015H
ポート 5 方向レジスタ
DDR5
R/W
ポート 5
00000000B
000016H
ポート 6 方向レジスタ
DDR6
R/W
ポート 6
00000000B
000017H
ポート 7 方向レジスタ
DDR7
R/W
ポート 7
00000000B
000018H
ポート 8 方向レジスタ
DDR8
R/W
ポート 8
00000000B
448
付録 A I/O マップ
表 A-1 I/O マップ (2 / 8)
アドレス
レジスタ
略称
アクセス
リソース
初期値
000019H
ポート 9 方向レジスタ
DDR9
R/W
ポート 9
00000000B
00001AH
ポート A 方向レジスタ
DDRA
R/W
ポート A
-------0B
00001BH
アナログ入力許可レジスタ
ADER
R/W
ポート 6, A/D
11111111B
00001CH
ポート 0 プルアップ制御
レジスタ
PUCR0
R/W
ポート 0
00000000B
00001DH
ポート 1 プルアップ制御
レジスタ
PUCR1
R/W
ポート 1
00000000B
00001EH
ポート 2 プルアップ制御
レジスタ
PUCR2
R/W
ポート 2
00000000B
00001FH
ポート 3 プルアップ制御
レジスタ
PUCR3
R/W
ポート 3
00000000B
000020H
シリアルモードコントロール
レジスタ 0
UMC0
R/W
00000100B
000021H
シリアルステータスレジスタ0
USR0
R/W
00010000B
000022H
シリアルインプットデータレジ
スタ 0/ シリアルアウトプット
データレジスタ 0
UIDR0/
UODR0
R/W
XXXXXXXXB
000023H
レート・データレジスタ
URD0
R/W
0000000XB
000024H
シリアルモードレジスタ 1
SMR1
R/W
00000000B
000025H
シリアルコントロールレジスタ
1
SCR1
R/W
00000100B
000026H
シリアルインプットデータレジ
スタ 1/ シリアルアウトプット
データレジスタ 1
SIDR1/
SODR1
R/W
XXXXXXXXB
000027H
シリアルステータスレジスタ
SSR1
R/W
00001000B
000028H
UART1 通信プリスケーラコント
ロールレジスタ
U1CDCR
R/W
0---0000B
000029H
シリアルエッジセレクト
レジスタ
SES1
R/W
-------0B
UART0
UART1
00002AH
00002BH
00002CH
00002DH
使用禁止
シリアル I/O プリスケーラ
シリアルモードコントロール
レジスタ
SCDCR
R/W
SMCS
R/W
0---1111B
----0000B
シリアル I/O
00000010B
00002EH
シリアルデータレジスタ
SDR
R/W
XXXXXXXXB
00002FH
シリアルエッジセレクト
レジスタ
SES2
R/W
-------0B
449
付録
表 A-1 I/O マップ (3 / 8)
アドレス
レジスタ
略称
アクセス
000030H
割込み許可レジスタ
ENIR
R/W
000031H
割込み要因レジスタ
EIRR
R/W
要求レベル設定レジスタ
ELVR
R/W
000032H
リソース
初期値
00000000B
DTP/
外部割込み
000033H
XXXXXXXXB
00000000B
00000000B
000034H
A/D コントロールステータス
レジスタ 0
ADCS0
R/W
000035H
A/D コントロールステータス
レジスタ 1
ADCS1
R/W
000036H
A/D データレジスタ 0
ADCR0
R
XXXXXXXXB
000037H
A/D データレジスタ 1
ADCR1
R/W
00101-XXB
000038H
PPG0 動作モード制御レジスタ
PPGC0
R/W
0-000--1B
000039H
PPG1 動作モード制御レジスタ
PPGC1
R/W
00003AH
PPG0/1クロック選択レジスタ
PPG01
R/W
00003BH
00000000B
A/D コンバータ
16 ビット
PPG タイマ 0/1
00000000B
0-000001B
000000--B
予約領域
00003CH
PPG2 動作モード制御レジスタ
PPGC2
R/W
00003DH
PPG3 動作モード制御レジスタ
PPGC3
R/W
00003EH
PPG2/3クロック選択レジスタ
PPG23
R/W
00003FH
0-000--1B
16 ビット
PPG タイマ 2/3
0-000001B
000000--B
使用禁止
000040H
PPG4 動作モード制御レジスタ
PPGC4
R/W
000041H
PPG5 動作モード制御レジスタ
PPGC5
R/W
000042H
PPG4/5クロック選択レジスタ
PPG45
R/W
000043H
0-000--1B
16 ビット
PPG タイマ 4/5
0-000001B
000000--B
使用禁止
000044H
PPG6 動作モード制御レジスタ
PPGC6
R/W
000045H
PPG7 動作モード制御レジスタ
PPGC7
R/W
000046H
PPG6/7クロック選択レジスタ
PPG67
R/W
000047H ∼
00004BH
0-000--1B
16 ビット
PPG タイマ 6/7
0-000001B
000000--B
使用禁止
00004CH
イン プットキャプ チャコント
ロールステータスレジスタ0/1
ICS01
R/W
インプットキャプ
チャ 0/1
00000000B
00004DH
イン プットキャプ チャコント
ロールステータスレジスタ2/3
ICS23
R/W
インプットキャプ
チャ 2/3
00000000B
00004EH
イン プットキャプ チャコント
ロールステータスレジスタ4/5
ICS45
R/W
インプットキャプ
チャ 4/5
00000000B
450
付録 A I/O マップ
表 A-1 I/O マップ (4 / 8)
アドレス
レジスタ
略称
アクセス
リソース
初期値
00004FH
イン プットキャプ チャコント
ロールステータスレジスタ6/7
ICS67
R/W
インプットキャプ
チャ 6/7
00000000B
タイマコントロールステータス
レジスタ 0
TMCSR0
R/W
000050H
000051H
000052H
000053H
000054H
000055H
000056H
000057H
000058H
00000000B
16 ビット
リロードタイマ0
タイマレジスタ 0/
タイマリロードレジスタ 0
TMR0/
TMRLR0
R/W
タイマコントロールステータス
レジスタ 1
TMCSR1
R/W
00000000B
TMR1/
TMRLR1
アウ トプットコン ペアコント
ロールレジスタ 0
OCS1
00005AH
アウ トプットコン ペアコント
ロールレジスタ 2
OCS2
0000--00B
00005CH ∼
00006BH
アウトプットコン
ペア 0/1
---00000B
0000--00B
R/W
00005BH
XXXXXXXXB
XXXXXXXXB
R/W
000059H
----0000B
R/W
OCS0
アウ トプットコン ペアコント
ロールレジスタ 1
アウ トプットコン ペアコント
ロールレジスタ 3
XXXXXXXXB
XXXXXXXXB
16 ビット
リロードタイマ1
タイマレジスタ 1/
タイマリロードレジスタ 1
----0000B
アウトプットコン
ペア 2/3
---00000B
OCS3
予約領域(CAN2 インタフェース用)
00000000B
00006CH
タイマデータレジスタ
TCDT
R/W
00006DH
入出力タイマ
00006EH
タイマコントロールステータス
レジスタ
TCCS
R/W
00006FH
ROM ミラー機能選択レジスタ
ROMM
R/W
00000000B
ROM ミラー機能
選択モジュール
000070H ∼
00007FH
予約領域(CAN0 インタフェース用)
000080H ∼
00008FH
予約領域(CAN1 インタフェース用)
000090H ∼
00009DH
使用禁止
00009EH
プログラムアドレス検出コント
ロール / ステータスレジスタ
00009FH
遅延割込み要因発生 /
解除レジスタ
00000000B
-------1B
PACSR
R/W
アドレス一致
検出機能
00000000B
DIRR
R/W
遅延割込み
発生モジュール
-------0B
451
付録
表 A-1 I/O マップ (5 / 8)
アドレス
レジスタ
略称
アクセス
0000A0H
低消費電力モード制御レジスタ
LPMCR
R/W
0000A1H
クロック選択レジスタ
CKSCR
R/W
0000A2H ∼
0000A4H
リソース
低消費電力
制御回路
初期値
00011000B
11111100B
使用禁止
0011--00B
0000A5H
自動レディ機能選択レジスタ
ARSR
0000A6H
外部アドレス出力制御レジスタ
HACR
0000A7H
バス制御信号選択レジスタ
ECSR
0000A8H
ウォッチドッグタイマ
制御レジスタ
WDTC
R/W
ウォッチドッグ
タイマ
X-XXX111B
0000A9H
タイムベースタイマ
制御レジスタ
TBTC
R/W
タイムベース
タイマ
1--00100B
0000AAH
時計タイマ制御レジスタ
WTC
R/W
時計タイマ
1X001000B
フラッシュメモリ
000X0000B
0000ABH ∼
0000ADH
0000AEH
W
外部メモリ
アクセス
00000000B
0000000-B
使用禁止
フラッシュメモリコントロール
ステータスレジスタ
0000AFH
FMCS
R/W
使用禁止
0000B0H
割込み制御レジスタ 00
ICR00
R/W
00000111B
0000B1H
割込み制御レジスタ 01
ICR01
R/W
00000111B
0000B2H
割込み制御レジスタ 02
ICR02
R/W
00000111B
0000B3H
割込み制御レジスタ 03
ICR03
R/W
00000111B
0000B4H
割込み制御レジスタ 04
ICR04
R/W
00000111B
0000B5H
割込み制御レジスタ 05
ICR05
R/W
00000111B
0000B6H
割込み制御レジスタ 06
ICR06
R/W
00000111B
0000B7H
割込み制御レジスタ 07
ICR07
R/W
0000B8H
割込み制御レジスタ 08
ICR08
R/W
0000B9H
割込み制御レジスタ 09
ICR09
R/W
00000111B
0000BAH
割込み制御レジスタ 10
ICR10
R/W
00000111B
0000BBH
割込み制御レジスタ 11
ICR11
R/W
00000111B
0000BCH
割込み制御レジスタ 12
ICR12
R/W
00000111B
0000BDH
割込み制御レジスタ 13
ICR13
R/W
00000111B
0000BEH
割込み制御レジスタ 14
ICR14
R/W
00000111B
0000BFH
割込み制御レジスタ 15
ICR15
R/W
00000111B
452
割込み
コントローラ
00000111B
00000111B
付録 A I/O マップ
表 A-1 I/O マップ (6 / 8)
アドレス
レジスタ
0000C0H ∼
0000FFH
略称
アクセス
プログラムアドレス検出
レジスタ 0
PADR0
R/W
XXXXXXXXB
R/W
XXXXXXXXB
001FF2H
R/W
001FF3H
R/W
001FF4H
初期値
外部領域
001FF0H
001FF1H
リソース
プログラムアドレス検出
レジスタ 1
PADR1
001FF5H
アドレス一致
検出機能
XXXXXXXXB
XXXXXXXXB
R/W
XXXXXXXXB
R/W
XXXXXXXXB
XXXXXXXXB
003900H
リロードレジスタ L
PRLL0
R/W
003901H
リロードレジスタ H
PRLH0
R/W
003902H
リロードレジスタ L
PRLL1
R/W
003903H
リロードレジスタ H
PRLH1
R/W
XXXXXXXXB
003904H
リロードレジスタ L
PRLL2
R/W
XXXXXXXXB
003905H
リロードレジスタ H
PRLH2
R/W
003906H
リロードレジスタ L
PRLL3
R/W
003907H
リロードレジスタ H
PRLH3
R/W
XXXXXXXXB
003908H
リロードレジスタ L
PRLL4
R/W
XXXXXXXXB
003909H
リロードレジスタ H
PRLH4
R/W
00390AH
リロードレジスタ L
PRLL5
R/W
00390BH
リロードレジスタ H
PRLH5
R/W
XXXXXXXXB
00390CH
リロードレジスタ L
PRLL6
R/W
XXXXXXXXB
00390DH
リロードレジスタ H
PRLH6
R/W
00390EH
リロードレジスタ L
PRLL7
R/W
00390FH
リロードレジスタ H
PRLH7
R/W
003910H ∼
003917H
16 ビット
PPG タイマ 0/1
16 ビット
PPG タイマ 2/3
16 ビット
PPG タイマ 4/5
16 ビット
PPG タイマ 6/7
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
予約領域
003918H
インプットキャプチャレジスタ
0
IPCP0
R
003919H
インプットキャプチャレジスタ
0
IPCP0
R
00391AH
インプットキャプチャレジスタ
1
IPCP1
R
XXXXXXXXB
00391BH
インプットキャプチャレジスタ
1
IPCP1
R
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
インプットキャプ
チャ 0/1
453
付録
表 A-1 I/O マップ (7 / 8)
アドレス
レジスタ
略称
アクセス
00391CH
インプットキャプチャレジスタ
2
IPCP2
R
00391DH
インプットキャプチャレジスタ
2
IPCP2
R
00391EH
インプットキャプチャレジスタ
3
IPCP3
R
XXXXXXXXB
00391FH
インプットキャプチャレジスタ
3
IPCP3
R
XXXXXXXXB
003920H
インプットキャプチャレジスタ
4
IPCP4
R
XXXXXXXXB
003921H
インプットキャプチャレジスタ
4
IPCP4
R
003922H
インプットキャプチャレジスタ
5
IPCP5
R
XXXXXXXXB
003923H
インプットキャプチャレジスタ
5
IPCP5
R
XXXXXXXXB
003924H
インプットキャプチャレジスタ
6
IPCP6
R
XXXXXXXXB
003925H
インプットキャプチャレジスタ
6
IPCP6
R
003926H
インプットキャプチャレジスタ
7
IPCP7
R
XXXXXXXXB
003927H
インプットキャプチャレジスタ
7
IPCP7
R
XXXXXXXXB
003928H
アウトプットコンペアレジスタ
0
0CCP0
R/W
XXXXXXXXB
003929H
アウトプットコンペアレジスタ
0
0CCP0
R/W
00392AH
アウトプットコンペアレジスタ
1
OCCP1
R/W
XXXXXXXXB
00392BH
アウトプットコンペアレジスタ
1
OCCP1
R/W
XXXXXXXXB
00392CH
アウトプットコンペアレジスタ
2
OCCP2
R/W
XXXXXXXXB
00392DH
アウトプットコンペアレジスタ
2
OCCP2
R/W
00392EH
アウトプットコンペアレジスタ
3
OCCP3
R/W
XXXXXXXXB
00392FH
アウトプットコンペアレジスタ
3
OCCP3
R/W
XXXXXXXXB
003930H ∼
0039FFH
454
リソース
初期値
XXXXXXXXB
XXXXXXXXB
インプットキャプ
チャ 2/3
XXXXXXXXB
インプットキャプ
チャ 4/5
XXXXXXXXB
インプットキャプ
チャ 6/7
XXXXXXXXB
アウトプットコン
ペア 0/1
XXXXXXXXB
アウトプットコン
ペア 2/3
(予約領域)
付録 A I/O マップ
表 A-1 I/O マップ (8 / 8)
アドレス
レジスタ
略称
アクセス
リソース
003A00H ∼
003AFFH
(予約領域 :CAN0 インタフェース)
003B00H ∼
003BFFH
(予約領域 :CAN0 インタフェース)
003C00H ∼
3CFFH
(予約領域 :CAN1 インタフェース)
003D00H ∼
003DFFH
(予約領域 :CAN1 インタフェース)
003E00H ∼
003EFFH
(予約領域 :CAN2 インタフェース)
003F00H ∼
003FFFH
(予約領域 :CAN2 インタフェース)
初期値
• 初期値について→ 0: 初期値 "0" / 1: 初期値 "1" / X: 初期値不定 / "-": 初期値不定(なし)
• 00FFH 以下のアドレスは予約領域です。外バスアクセス信号はできません。
• RAM 領域と予約領域の境界 #H は品種ごとに変わります。
( 注意事項 )
書込み可能なビットに関しては , リセットにより初期化される値が初期値として記述されています。
読出し時の値ではありませんので注意してください。
また ,LPMCR/CKSCR/WDTC では , リセットの種類により , 初期化される場合と , 初期化されない場合
がありますが , 初期化される場合の初期値が記述されています。
• コンペアレジスタ 0 ∼ 3 はフリーランタイマ 2 を , コンペアレジスタ 4 ∼ 7 はフリーランタイマ 1 を使用
します。なおフリーランタイマ 1 はインプットキャプチャでも使用します。
● 書込み / 書込みについての説明
R/W: リード / ライト可能
R: リードオンリ
W: ライトオンリ
● 初期値についての説明
0: このビットの初期値は "0" です。
1: このビットの初期値は "1" です。
X: このビットの初期値は不定です。
-: このビットは未使用です。初期値は不定です。
< 注意事項 >
アドレス 00000DH ∼ 0000FFH は予約領域です。このアドレスに読み取りアクセ
スすると ,"X" の読み取りが行われます。ただし , このアドレスへの書込みアクセス
は行わないでください。
455
付録
付録 B
命令
F2MC-16LX に使用している命令について説明します。
B.1 命令の種類
B.2 アドレッシング
B.3 直接アドレッシング
B.4 間接アドレッシング
B.5 実行サイクル数
B.6 実効アドレスフィールド
B.7 命令一覧表の読み方
B.8 F2MC-16LX 命令一覧表
B.9 命令マップ
管理番号 : CM44-00202-1
456
付録 B 命令
B.1
命令の種類
F2MC-16LX には , 以下に示す 351 種類の命令があります。
■ 命令の種類
• 転送系命令 ( バイト ) 41 命令
• 転送系命令 ( ワード , ロングワード ) 38 命令
• 加減算命令 ( バイト , ワード , ロングワード ) 42 命令
• 増減算命令 ( バイト , ワード , ロングワード ) 12 命令
• 比較命令 ( バイト , ワード , ロングワード ) 11 命令
• 符号なし乗除算命令 ( ワード , ロングワード ) 11 命令
• 符号付き乗除算命令 ( ワード , ロングワード ) 11 命令
• 論理演算命令 ( バイト , ワード ) 39 命令
• 論理演算命令 ( ロングワード ) 6 命令
• 符号反転命令 ( バイト , ワード ) 6 命令
• ノーマライズ命令 ( ロングワード ) 1 命令
• シフト命令 ( バイト , ワード , ロングワード ) 18 命令
• 分岐命令 50 命令 ( 分岐命令 1: 31 命令 , 分岐命令 2: 19 命令 )
• アキュムレータ操作命令 ( バイト , ワード ) 6 命令
• その他制御命令 ( バイト , ワード , ロングワード ) 28 命令
• ビット操作命令 21 命令
• ストリング命令 10 命令
457
付録
B.2
アドレッシング
F2MC-16LX では , 命令の実効アドレスフィールドまたは命令コード自体 ( インプラ
イド ) でアドレス形式が決定されます。命令コード自体でアドレス形式が決定する
場合は , 使用する命令コードに合わせてアドレスを指定します。命令によっては , 数
種類のアドレス指定方式から設定できるものがあります。
■ アドレッシング
F2MC-16LX には , 以下に示す 23 種類のアドレッシングがあります。
• 即値 (#imm)
• レジスタ直接
• 直接分岐アドレス (addr16)
• 物理直接分岐アドレス (addr24)
• I/O 直接 (io)
• 短縮直接アドレス (dir)
• 直接アドレス (addr16)
• I/O 直接ビットアドレス (io: bp)
• 短縮直接ビットアドレス (dir: bp)
• 直接ビットアドレス (addr16: bp)
• ベクタアドレス (#vct)
• レジスタ間接 (@RWj j=0 ∼ 3)
• ポストインクリメント付レジスタ間接 (@RWj+ j=0 ∼ 3)
• ディスプレースメント付レジスタ間接 (@RWi+disp8 i=0 ∼ 7, @RWj+disp16 j=0 ∼ 3)
• ディスプレースメント付ロングレジスタ間接 (@RLi+disp8 i=0 ∼ 3)
• ディスプレースメント付プログラムカウンタ間接 (@PC+disp16)
• ベースインデックス付レジスタ間接 (@RW0+RW7, @RW1+RW7)
• プログラムカウンタ相対分岐アドレス (rel)
• レジスタリスト (rlst)
• アキュムレータ間接 (@A)
• アキュムレータ間接分岐アドレス (@A)
• 間接指定分岐アドレス (@ear)
• 間接指定分岐アドレス (@eam)
458
付録 B 命令
■ 実効アドレスフィールド
実効アドレスフィールドで指定される , アドレス形式を表 B.2-1 に示します。
表 B.2-1 実効アドレスフィールド
コード
表記
アドレス形式
00
R0
RW0
RL0
01
R1
RW1
(RL0)
02
R2
RW2
RL1
03
R3
RW3
(RL1)
04
R4
RW4
RL2
05
R5
RW5
(RL2)
06
R6
RW6
RL3
07
R7
RW7
(RL3)
08
@RW0
09
@RW1
レジスタ直接
ea は左から順に
バイト
ワード
ロングワード
の型に対応する。
デフォルトバンク
なし
DTB
DTB
レジスタ間接
0A
@RW2
0B
@RW3
SPB
0C
@RW0+
DTB
0D
@RW1+
0E
@RW2+
0F
@RW3+
SPB
10
@RW0+disp8
DTB
11
@RW1+disp8
DTB
12
@RW2+disp8
ADB
13
@RW3+disp8
14
@RW4+disp8
15
@RW5+disp8
DTB
16
@RW6+disp8
ADB
17
@RW7+disp8
SPB
18
@RW0+disp16
DTB
19
@RW1+disp16
1A
@RW2+disp16
IB
@RW3+disp16
1C
@RW0+RW7
インデックス付レジスタ間接
DTB
1D
@RW1+RW7
インデックス付レジスタ間接
DTB
1E
@PC+disp16
16 ビットディスプレースメント付 PC 間接
PCB
1F
addr16
直接アドレス
DTB
ポストインクリメント付
レジスタ間接
8 ビットディスプレースメント付
レジスタ間接
16 ビットディスプレースメント付
レジスタ間接
ADB
DTB
ADB
SPB
DTB
DTB
ADB
SPB
459
付録
B.3
直接アドレッシング
直接アドレッシングでは , オペランド値 , レジスタおよびアドレスを直接指定しま
す。
■ 直接アドレッシング
● 即値 (#imm)
オペランドの値を直接指定します。(#imm4/#imm8/#imm16/#imm32) 。
図 B.3-1 に例を示します。
図 B.3-1 即値 (#imm) 例
MOVW A, #01212H (A にオペランドの値を格納する命令 )
実行前
A 2233
4455
実行後
A 4455
1 2 1 2 ( 命令によっては AL → AH に転送が行われる )
● レジスタ直接
オペランドとして , 直接レジスタを指定します。指定できるレジスタを表 B.3-1 に示し
ます。
表 B.3-1 レジスタ直接
汎用レジスタ
専用レジスタ
*:
460
バイト
R0, R1, R2, R3, R4, R5, R6, R7
ワード
RW0, RW1, RW2, RW3, RW4, RW5, RW6, RW7
ロングワード
RL0, RL1, RL2, RL3
アキュムレータ
A, AL
ポインタ
SP *
バンク
PCB, DTB, USB, SSB, ADB
ページ
DPR
制御
PS, CCR, RP, ILM
SP は , コンディションコードレジスタ (CCR) 中の S フラグビットの値に応じてユーザス
タックポインタ (USP) またはシステムスタックポインタ (SSP) のどちらか一方が選択さ
れ , 使用されます。分岐系の命令ではプログラムカウンタ (PC) は命令のオペランドには
記述されることなく指定されます。
付録 B 命令
図 B.3-2 に例を示します。
図 B.3-2 レジスタ直接例
MOV R0, A ( 汎用レジスタ R0 に A の下位 8 ビットを転送する命令 )
実行前
A 0716
2534
メモリ空間
R0
実行後
A 0716
2564
??
メモリ空間
R0
34
● 直接分岐アドレス (addr16)
分岐先のアドレスをディスプレースメントで直接指定します。ディスプレースメント
のデータ長は 16 ビットで , 論理空間内での分岐先を示します。無条件分岐命令 , サブ
ルーチンコール命令およびソフトウェア割込み命令に使用します。アドレスの bit23 ∼
bit16 はプログラムカウンタバンクレジスタ (PCB) で指定されます。図 B.3-3 に例を示
します。
図 B.3-3 直接分岐アドレス (addr16) 例
JMP 3B20H ( バンク内で直接分岐アドレス指定で , 無条件分岐を行う命令 )
実行前
PC 3 C 2 0
PCB 4 F
メモリ空間
4F3B20H 次の命令
実行後
PC 3 B 2 0
PCB 4 F
4F3C20H
62
4F3C21H
20
4F3C22H
3B
JMP 3B20H
461
付録
● 物理直接分岐アドレス (addr24)
分岐先のアドレスをディスプレースメントで直接指定します。ディスプレースメント
のデータ長は 24 ビットです。無条件分岐命令 , サブルーチンコール命令およびソフト
ウェア割込み命令に使用します。図 B.3-4 に例を示します。
図 B.3-4 物理直接分岐アドレス (addr24) 例
JMPP 333B20H ( 直接分岐アドレス 24 ビット指定で , 無条件分岐を行う命令 )
実行前
PC 3 C 2 0
PCB 4 F
メモリ空間
333B20H 次の命令
実行後
PC 3 B 2 0
PCB 3 3
4F3C20H
63
4F3C21H
20
4F3C22H
3B
4F3C23H
33
JMPP 333B20H
● I/O 直接 (io)
オペランドのメモリアドレスを 8 ビットのディスプレースメントで直接指定します。
データバンクレジスタ (DTB) , ダイレクトページレジスタ (DPR) の値にかかわらず ,
物理アドレス "000000H" ∼ "0000FFH" の空間の I/O 空間がアクセスされます。I/O 直接
アドレス指定を使用した命令の前にバンク指定用のバンクセレクトプリフィックスを
記述しても無効です。図 B.3-5 に例を示します。
図 B.3-5 I/O 直接 (io) 例
MOVW A, i : 0C0H (I/O 直接で読出しを行い , A に格納する命令 )
実行前
実行後
462
A 0716
2534
A 2534 FFEE
メモリ空間
0000C0H
EE
0000C1H
FF
付録 B 命令
● 短縮直接アドレス (dir)
オペランドでメモリアドレスの下位 8 ビットを直接指定します。アドレスの bit15 ∼
bit8 はダイレクトページレジスタ (DPR) により指定されます。アドレスの bit23 ∼ bit16
はデータバンクレジスタ (DTB) により指定されます。図 B.3-6 に例を示します。
図 B.3-6 短縮直接アドレス (dir) 例
MOV S : 20H, A (A の下位 8 ビットの内容を短縮直接アドレス指定方式で書き込む命令 )
A 4455
実行前
DPR 6 6
DTB 7 7
A 4455
実行後
DPR 6 6
1212
メモリ空間
776620H
1212
DTB 7 7
??
メモリ空間
776620H
12
● 直接アドレス (addr16)
オペランドで , メモリアドレス下位 16 ビットを直接指定します。アドレスの bit23 ∼
bit16 はデータバンクレジスタ (DTB) で指定されます。直接アドレスのアドレッシング
に対しては , アクセス空間指定用のプリフィックス命令は無効です。図 B.3-7 に例を示
します。
図 B.3-7 直接アドレス (addr16) 例
MOVW A, 3B20H ( 直接アドレスで読出しを行い , A に格納する命令 )
実行前
実行後
A 2020
A AABB
AABB
0123
DTB 5 5
メモリ空間
553B21H
01
553B20H
23
DTB 5 5
463
付録
● I/O 直接ビットアドレス (io: bp)
物理アドレス "000000H" ∼ "0000FFH" 内のビットを直接指定します。ビットの位置は
": bp" で表され , 数字の大きいほうが最上位ビット (MSB) , 小さい方が最下位ビット
(LSB) となります。図 B.3-8 に例を示します。
図 B.3-8 I/O 直接ビットアドレス (io: bp) 例
SETB i : 0C1H : 0 (I/O 直接ビットアドレス指定でセットビットを行う命令 )
メモリ空間
0000C1H
実行前
00
メモリ空間
0000C1H
実行後
01
● 短縮直接ビットアドレス (dir: bp)
オペランドでメモリアドレスの下位 8 ビットを直接指定します。アドレスの bit15 ∼
bit8 はダイレクトページレジスタ (DPR) で指定されます。アドレスの bit23 ∼ bit16 は
データバンクレジスタ (DTB) で指定されます。ビットの位置は ": bp" で表され , 数字の
大きい方が最上位ビット , 小さい方が最下位ビットとなります。図 B.3-9 に例を示しま
す。
図 B.3-9 短縮直接ビットアドレス (dir: bp) 例
SETB S : 10H : 0 ( 短縮直接ビットアドレス指定でセットビットを行う命令 )
メモリ空間
実行前
DTB 5 5
DPR 6 6
556610H
00
メモリ空間
実行後
464
DTB 5 5
DPR 6 6
556610H
01
付録 B 命令
● 直接ビットアドレス (addr16: bp)
64K バイト内の任意のビットに対し直接指定します。アドレスの bit23 ∼ bit16 はデー
タバンクレジスタ (DTB) で指定されます。ビットの位置は ": bp" で表され , 数字の大き
い方が最上位ビット , 小さい方が最下位ビットとなります。図 B.3-10 に例を示します。
図 B.3-10 直接ビットアドレス (addr16: bp) 例
SETB 2222H : 0 ( 直接ビットアドレス指定でセットビットを行う命令 )
メモリ空間
DTB 5 5
実行前
00
552222H
メモリ空間
DTB 5 5
実行後
01
552222H
● ベクタアドレス (#vct)
分岐先のアドレスは指定されたベクタの内容となります。ベクタ番号のデータ長には
4 ビットと 8 ビットの 2 種類があります。サブルーチンコール命令 , ソフトウェア割込
み命令に使用します。図 B.3-11 に例を示します。
図 B.3-11 ベクタアドレス (#vct) 例
CALLV #15 ( オペランドで指定した割込みベクタが示すアドレスへ分岐する命令 )
実行前
PC 0 0 0 0
PCB F F
実行後
メモリ空間
FFC000H
EF
FFFFE0H
00
FFFFE1H
D0
CALLV #15
PC D 0 0 0
PCB F F
465
付録
表 B.3-2 CALLV ベクタ一覧表
命令
ベクタアドレス L
ベクタアドレス H
CALLV #0
XXFFFEH
XXFFFFH
CALLV #1
XXFFFCH
XXFFFDH
CALLV #2
XXFFFAH
XXFFFBH
CALLV #3
XXFFF8H
XXFFF9H
CALLV #4
XXFFF6H
XXFFF7H
CALLV #5
XXFFF4H
XXFFF5H
CALLV #6
XXFFF2H
XXFFF3H
CALLV #7
XXFFF0H
XXFFF1H
CALLV #8
XXFFEEH
XXFFEFH
CALLV #9
XXFFECH
XXFFEDH
CALLV #10
XXFFEAH
XXFFEBH
CALLV #11
XXFFE8H
XXFFE9H
CALLV #12
XXFFE6H
XXFFE7H
CALLV #13
XXFFE4H
XXFFE5H
CALLV #14
XXFFE2H
XXFFE3H
CALLV #15
XXFFE0H
XXFFE1H
( 注意事項 ) XX には PCB レジスタの値が入ります。
<注意事項>
プログラムカウンタバンクレジスタ (PCB) が "FFH" の場合ベクタ領域は INT #vct8 (#0 ∼
#7) のベクタ領域と共有しているため , 使用する場合は注意が必要です。( 表 B.3-2 を参照
してください )
466
付録 B 命令
B.4
間接アドレッシング
間接アドレッシングでは , 記述したオペランドが示すアドレスのデータで , 間接的に
アドレスを指定します。
■ 間接アドレッシング
● レジスタ間接 (@RWj j=0 ∼ 3)
汎用レジスタ RWj の内容をアドレスとしたメモリをアクセスするアドレッシングで
す。アドレスの bit23 ∼ bit16 は , RW0, RW1 を用いた場合はデータバンクレジスタ
(DTB) で示され , RW3 の場合はシステムスタックバンクレジスタ (SSB) またはユーザ
スタックバンクレジスタ (USB) で示され , RW2 の場合はアディショナルデータバンク
レジスタ (ADB) で示されます。図 B.4-1 に例を示します。
図 B.4-1 レジスタ間接 (@RWj j=0 ∼ 3) 例
MOVW A, @RW1 ( レジスタ間接で読出しを行い , A に格納する命令 )
実行前
A 0716
2534
メモリ空間
RW1 D 3 0 F
実行後
DTB 7 8
78D30FH
EE
78D310H
FF
A 2534 FFEE
RW1 D 3 0 F
DTB 7 8
● ポストインクリメント付レジスタ間接 (@RWj+ j=0 ∼ 3)
汎用レジスタ RWj の内容をアドレスとしたメモリをアクセスするアドレッシングで
す。
オペランド操作後RWjはオペランドデータ長 (バイトの場合は1, ワードの場合は2,
ロングワードの場合は 4) 分だけ加算されます。アドレスの bit23 ∼ bit16 は , RW0, RW1
を用いた場合はデータバンクレジスタ (DTB) で示され , RW3 の場合はシステムスタッ
クバンクレジスタ (SSB) またはユーザスタックバンクレジスタ (USB) で示され , RW2
の場合はアディショナルデータバンクレジスタ (ADB) で示されます。
ポストインクリメントした結果がインクリメント指定したレジスタ自身のアドレス
だった場合は , 参照される値はインクリメントした値となり , 命令が書込みだった場合
は命令による書込みが優先されるので , インクリメントするはずだったレジスタは書
込みデータとなります。
図 B.4-2 に例を示します。
467
付録
図 B.4-2 ポストインクリメント付レジスタ間接 (@RWj+ j=0 ∼ 3) 例
MOVW A, @RW1+ ( ポストインクリメント付レジスタ間接で読出しを行い , A に格納する命令 )
実行前
A 0716
2534
メモリ空間
RW1 D 3 0 F
実行後
DTB 7 8
78D30FH
EE
78D310H
FF
A 2534 FFEE
RW1 D 3 1 1
DTB 7 8
● ディスプレースメント付レジスタ間接
(@RWi+disp8 i=0 ∼ 7, @RWj+disp16 j=0 ∼ 3)
汎用レジスタ RWj の内容にディスプレースメントを加算したものをアドレスとしたメ
モリをアクセスするアドレッシングです。ディスプレースメントは , バイトとワードの
2 種類があり , 符号付数値として加算されます。アドレスの bit23 ∼ bit16 は , RW0, RW1,
RW4, RW5 を用いた場合はデータバンクレジスタ (DTB) で示され , RW3, RW7 を用い
た場合はシステムスタックバンクレジスタ (SSB) またはユーザスタックバンクレジス
タ (USB) で示され , RW2, RW6 を用いた場合はアディショナルデータバンクレジスタ
(ADB) で示されます。図 B.4-3 に例を示します。
図 B.4-3 ディスプレースメント付レジスタ間接
(@RWi+disp8 i=0 ∼ 7, @RWj+disp16 j=0 ∼ 3) 例
MOVW A, @RW1+10H (ディスプレースメント付レジスタ間接で読出しを行い, Aに格納する命令)
実行前
A 0716
2534
(+10H)
RW1 D 3 0 F
実行後
A 2534 FFEE
RW1 D 3 0 F
468
DTB 7 8
DTB 7 8
メモリ空間
78D31FH
EE
78D320H
FF
付録 B 命令
● ディスプレースメント付ロングレジスタ間接 (RLi+disp8 i=0 ∼ 3)
汎用レジスタ RLi の内容にディスプレースメントを加算した結果の下位 24 ビットをア
ドレスとしたメモリをアクセスするアドレッシングです。ディスプレースメントは 8
ビットで符号付数値として加算されます。図 B.4-4 に例を示します。
図 B.4-4 ディスプレースメント付ロングレジスタ間接 (@RLi+disp8 i=0 ∼ 3) 例
MOVW A, @RL2+25H (ディスプレースメント付ロングレジスタ間接で読出しを行い, Aに格納する命令)
A 0716
実行前
2534
(+25H)
RL2 F 3 8 2
4B02
メモリ空間
824B27H
EE
824B28H
FF
A 2534 FFEE
実行後
RL2 F 3 8 2
4B02
● ディスプレースメント付プログラムカウンタ間接 (@PC+disp16)
(命令のアドレス+4+disp16) で示されるアドレスのメモリをアクセスするアドレッシン
グです。ディスプレースメントはワード長です。アドレスの bit23 ∼ bit16 はプログラ
ムカウンタバンクレジスタ (PCB) により指定されます。次に示す命令のオペランドア
ドレスは , ( 次の命令のアドレス +disp16) とは , みなしませんので注意してください。
• DBNZ eam, rel
• CBNE eam, #imm8, rel
• MOV eam, #imm8
• DWBNZ eam, rel
• CWBNE eam, #imm16, rel
• MOVW eam, #imm16
図 B.4-5 に例を示します。
図 B.4-5 ディスプレースメント付プログラムカウンタ間接 (@PC+disp16) 例
MOVW A, @PC+20H ( ディスプレースメント付 PC 間接で読出しを行い , A に格納する命令 )
実行前
A 0716
2534
メモリ空間
PCB C 5 PC 4 5 5 6
実行後
A 2534
FFEE
PCB C 5 PC 4 5 5 A
+4
C54556H
73
C54557H
9E
C54558H
20
C54559H
00
MOVW
A, @PC+20H
C5455AH
・
・
・
+20H
C5457AH
EE
C5457BH
FF
469
付録
● ベースインデックス付レジスタ間接 (@RW0+RW7, @RW1+RW7)
汎用レジスタ RW7 の内容に , RW0 あるいは RW1 を加算したものをアドレスとしたメ
モリをアクセスするアドレッシングです。アドレスの bit23 ∼ bit16 はデータバンクレ
ジスタ (DTB) で示されます。図 B.4-6 に例を示します。
図 B.4-6 ベースインデックス付レジスタ間接 (@RW0+RW7, @RW1+RW7) 例
MOVW A, @RW1+RW7 ( ベースインデックス付レジスタ間接で読出しを行い , A に格納する命令 )
実行前
A 0716
RW1 D 3 0 F
WR7 0 1 0 1
実行後
A 2534
RW1 D 3 0 F
2534
+
DTB 7 8
メモリ空間
78D410H
EE
78D411H
FF
FFEE
DTB 7 8
WR7 0 1 0 1
● プログラムカウンタ相対分岐アドレス (rel)
分岐先のアドレスはプログラムカウンタ (PC) の値と 8 ビットのディスプレースメント
を加算した値となります。加算の結果が 16 ビットを超えた場合は , バンクレジスタの
インクリメントまたはデクレメントをせずに , 超えた分は無視されますので , 64K バイ
トのバンク内で閉じたアドレスとなります。プログラムカウンタ相対分岐アドレスに
よるアドレッシングは , 無条件 / 条件分岐命令に使用します。アドレスの bit23 ∼ bit16
はプログラムカウンタバンクレジスタ (PCB) で示されます。
図 B.4-7 に例を示します。
図 B.4-7 プログラムカウンタ相対分岐アドレス (rel) 例
BRA 10H ( 無条件相対分岐を行う命令 )
実行前
PC 3 C 2 0
PCB 4 F
メモリ空間
4F3C32H 次の命令
実行後
470
PC 3 C 2 0
PCB 4 F
4F3C21H
10
4F3C20H
60
BRA 10H
付録 B 命令
● レジスタリスト (rlst)
スタックに対するプッシュ / ポップの対象となるレジスタを指定します。図 B.4-8 にレ
ジスタリストの構成 , 図 B.4-9 に例を示します。
図 B.4-8 レジスタリストの構成
MSB
LSB
RW7 RW6 RW5 RW4 RW3 RW2 RW1 RW0
対応ビットが "1" の場合に設定 , "0" の場合に非設定
MSB: 最上位ビット
LSB: 最下位ビット
図 B.4-9 レジスタリスト (rlst) 例
POPW, RW0, RW4 ( レジスタリストで示された複数のワードレジスタに , SP で示されるメモリの
データを転送する命令 )
SP 3 4 F A
SP 3 4 F E
RW0
×× ××
RW0
02 01
RW1
×× ××
RW1
×× ××
RW2
×× ××
RW2
×× ××
RW3
×× ××
RW3
×× ××
RW4
×× ××
RW4
04 03
RW5
×× ××
RW5
×× ××
RW6
×× ××
RW6
×× ××
RW7
×× ××
RW7
×× ××
メモリ空間
SP
01
メモリ空間
34FAH
01
34FAH
02
34FBH
02
34FBH
03
34FCH
03
34FCH
34FDH
04
04
34FEH
実行前
SP
34FDH
34FEH
実行後
471
付録
● アキュムレータ間接 (@A)
アキュムレータの下位バイト (AL) の内容 (16 ビット ) で示されるアドレスのメモリを
アクセスするアドレス方式です。アドレスの bit23 ∼ bit16 はデータバンクレジスタ
(DTB) によりニーモニックで指定されます。図 B.4-10 に例を示します。
図 B.4-10 アキュムレータ間接 (@A) 例
MOVW A, @A ( アキュムレータ間接で読出しを行い , A に格納する命令 )
A
実行前
0716
2534
DTB B B
A
実行後
0716
メモリ空間
BB2534H
EE
BB2535H
FF
FFEE
DTB B B
● アキュムレータ間接分岐アドレス (@A)
分岐先のアドレスは , アキュムレータの下位バイト (AL) の内容 (16 ビット ) となりま
す。バンク空間内での分岐先を示し , アドレスの bit23 ∼ bit16 はプログラムカウンタ
バンクレジスタ (PCB) で指定されますが , JCTX (Jump Context) 命令の場合は , アド
レスの bit23 ∼ bit16 はデータバンクレジスタ (DTB) で指定されます。アキュムレータ
間接分岐アドレスによるアドレッシングは , 無条件分岐命令に使用します。図 B.4-11
に例を示します。
図 B.4-11 アキュムレータ間接分岐アドレス (@A) 例
JMP @A ( アキュムレータ間接分岐アドレスで , 無条件分岐を行う命令 )
実行前
PC 3 C 2 0
A 6677
PCB 4 F
3B20
メモリ空間
4F3B20H 次の命令
4F3C20H
実行後
PC 3 B 2 0
A 6677
472
PCB 4 F
3B20
61
JMP @A
付録 B 命令
● 間接指定分岐アドレス (@ear)
ear で示される番地のワードデータが分岐先アドレスとなります。図 B.4-12 に例を示し
ます。
図 B.4-12 間接指定分岐アドレス (@ear) 例
JMP @@RW0 ( レジスタ間接の間接で無条件分岐を行う命令 )
実行前
PC 3 C 2 0
PCB 4 F
RW0 7 F 4 8
DTB 2 1
メモリ空間
217F48H
20
217F49H
3B
4F3B20H 次の命令
実行後
PC 3 B 2 0
PCB 4 F
RW0 7 F 4 8
DTB 2 1
4F3C20H
73
4F3C21H
08
JMP @@RW0
● 間接指定分岐アドレス (@eam)
eam で示される番地のワードデータが分岐先アドレスとなります。図 B.4-13 に例を示
します。
図 B.4-13 間接指定分岐アドレス (@eam) 例
JMP @RW0 ( レジスタ間接で無条件分岐を行う命令 )
実行前
PC 3 C 2 0
PCB 4 F
RW0 3 B 2 0
実行後
PC 3 B 2 0
メモリ空間
4F3B20H 次の命令
PCB 4 F
4F3C20H
73
4F3C21H
00
JMP @RW0
RW0 3 B 2 0
473
付録
B.5
実行サイクル数
命令の実行に要するサイクル数 ( 実行サイクル数 ) は , 各命令の「サイクル数」の値
と , 条件で決まる「補正値」の値およびプログラムフェッチの「サイクル数」の値
を加算することで得られます。
■ 実行サイクル数
内蔵 ROM などの 16 ビットバスに接続されたメモリ上のプログラムをフェッチする場
合には , 実行中の命令がワード境界を越えるごとにプログラムフェッチをするため ,
データのアクセスなどに干渉すると実行サイクル数が増大します。
外部データバスの 8 ビットバスに接続されたメモリ上のプログラムをフェッチする場
合は , 実行中の命令の 1 バイトごとにプログラムフェッチをするため , データのアクセ
スなどに干渉すると実行サイクル数が増大します。
CPU 間欠動作時は , 汎用レジスタ , 内蔵 ROM, 内蔵 RAM, 内蔵 I/O, 外部データバスの
アクセスをすると , 低消費電力モード制御レジスタの CG0, CG1 ビットで指定されるサ
イクル数分 CPU へ供給されるクロックが一時停止しますので , CPU 間欠動作の命令の
実行に要するサイクル数は , 通常の実行サイクル数に , 汎用レジスタ , 内蔵 ROM, 内蔵
RAM, 内蔵 I/O, 外部データバスの「アクセス回数」×一時停止の「サイクル数」の値
を「補正値」として加算してください。
■ 実行サイクル数計算方法
表 B.5-1 , 表 B.5-2 , 表 B.5-3 に命令実行サイクル数および補正値のデータを示します。
表 B.5-1 各種アドレッシングに対する実行サイクル数
(a) *
コード
00 ∼ 07
オペランド
Ri
RWi
RLi
各種アドレッシングに対する
実行サイクル数
各種アドレッシングに
対するレジスタ
アクセス回数
命令一覧表に記載
命令一覧表に記載
08 ∼ 0B
@RWj
2
1
0C ∼ 0F
@RWj+
4
2
10 ∼ 17
@RWi+disp8
2
1
18 ∼ 1B
@RWi+disp16
2
1
1C
1D
1E
1F
@RW0+RW7
@RW1+RW7
@PC+disp16
addr16
4
4
2
1
2
2
0
0
*: (a) は「B.8 F2MC-16LX 命令一覧表」の∼ ( サイクル数 ) , B ( 補正値 ) で使用さ
れています。" ∼ " と "B" の意味については「B.7 命令一覧表の読み方」を参照
してください。
474
付録 B 命令
表 B.5-2 実サイクル数算出用サイクル数の補正値
(b) バイト *1
オペランド
(c) ワード *1
(d) ロング *1
サイクル
数
アクセス
回数
サイクル
数
アクセス
回数
サイクル
数
アクセス
回数
内部レジスタ
+0
1
+0
1
+0
2
内部メモリ
偶数アドレス
+0
1
+0
1
+0
2
内部メモリ
奇数アドレス
+0
1
+2
2
+4
4
外部データバス *2
16 ビット偶数アドレス
+1
1
+1
1
+2
2
外部データバス *2
16 ビット奇数アドレス
+1
1
+4
2
+8
4
外部データバス *2
8 ビット
+1
1
+4
2
+8
4
*1: (b), (c), (d) は「B.8 F2MC-16LX 命令一覧表」の∼ ( サイクル数 ) , B ( 補正値 ) で使用され
ています。
*2: 外部データバスを使用した場合は , レディ入力および自動レディによりウェイトしたサ
イクル数も加算する必要があります。
表 B.5-3 プログラムフェッチサイクル数算出用サイクル数の補正値
命令
バイト境界
ワード境界
内部メモリ
−
+2
外部データバス 16 ビット
−
+3
外部データバス 8 ビット
+3
−
( 注意事項 ) ・ 外部データバスを使用した場合は , レディ入力および自動レディでウェイト
したサイクル数も加算する必要があります。
・ 実際にはすべてのプログラムフェッチで , 命令実行が遅くなるわけではない
ので , この補正値は最悪ケースを算出する場合に使用してください。
475
付録
B.6
実効アドレスフィールド
表 B.6-1 に実効アドレスフィールドを示します。
■ 実効アドレスフィールド
表 B.6-1 実効アドレスフィールド (1 / 2)
コード
476
表記
アドレス形式
00
R0
RW0
RL0
01
R1
RW1
(RL0)
02
R2
RW2
RL1
03
R3
RW3
(RL1)
04
R4
RW4
RL2
05
R5
RW5
(RL2)
06
R6
RW6
RL3
07
R7
RW7
(RL3)
08
@RW0
09
@RW1
0A
@RW2
0B
@RW3
0C
@RW0+
0D
@RW1+
0E
@RW2+
0F
@RW3+
10
@RW0+disp8
11
@RW1+disp8
12
@RW2+disp8
13
@RW3+disp8
14
@RW4+disp8
15
@RW5+disp8
16
@RW6+disp8
17
@RW7+disp8
アドレス拡張部の
バイト数 *
レジスタ直接
ea は左から順に
バイト
ワード
ロングワード
の型に対応する。
−
レジスタ間接
0
ポストインクリメント付
レジスタ間接
0
8 ビットディスプレースメント付
レジスタ間接
1
付録 B 命令
表 B.6-1 実効アドレスフィールド (1 / 2)
コード
*:
表記
18
@RW0+disp16
19
@RW1+disp16
1A
@RW2+disp16
IB
@RW3+disp16
1C
アドレス形式
アドレス拡張部の
バイト数 *
16 ビットディスプレースメント付
レジスタ間接
2
@RW0+RW7
インデックス付レジスタ間接
0
1D
@RW1+RW7
インデックス付レジスタ間接
0
1E
@PC+disp16
16 ビットディスプレースメント付 PC 間接
2
1F
addr16
直接アドレス
2
アドレス拡張部のバイト数は , 「B.8 F2MC-16LX 命令一覧表」の # ( バイト数 ) の "+" に当てはまります。
"#" の意味については「B.7 命令一覧表の読み方」を参照してください。
477
付録
B.7
命令一覧表の読み方
「B.8 F2MC-16LX 命令一覧表」で使用している項目の説明を表 B.7-1 に , 記号の説
明を表 B.7-2 に示します。
■ 命令の表示記号の説明
表 B.7-1 命令一覧表の項目の説明
項目
ニーモニック
説明
英大文字 , 記号 : アセンブラ上もそのまま表記します。
英小文字 : アセンブラ上では , 書き替えて記述します。
英小文字の後の数 : 命令中のビット幅を示します。
#
バイト数を示します。
∼
サイクル数を示します。
RG
命令実行時のレジスタアクセス回数を示します。
CPU 間欠動作時の補正値を算出するのに使用します。
B
オペレーション
LH
AH
命令実行時の実サイクル数の算出用補正値を示します。
命令実行時の実サイクルは∼欄の数値を加算したものとなります。
命令の動作を示します。
アキュムレータの bit15 ∼ bit8 に対する特殊動作を示します。
Z: 0 を転送する。
X: 符号を拡張して転送する。
− : 転送しない。
アキュムレータの上位 16 ビットに対する特殊動作を示します。
*: AL から AH へ転送する。
− : 転送しない。
Z: AH へ 00H を転送する。
X: AL の符号拡張で AH へ 00H または FFH を転送する。
I
I ( 割込み許可 ) , S ( スタック ) , T ( ステッキィビット ) ,
S
N ( ネガティブ ) , Z ( ゼロ ) , V ( オーバフロー ) , C ( キャリー )
T
の各フラグの状態を示します。
N
*: 命令の実行で変化する。
Z
− : 変化しない。
V
S: 命令の実行でセットされる。
C
R: 命令の実行でリセットされる。
RMW
478
リードモディファイライト命令 (1 命令でメモリなどからデータを読
み出し , メモリへ書き込む ) であるかどうか示します。
*: リードモディファイライト命令である。
− : リードモディファイライト命令ではない。
( 注意事項 )
読み書きで意味の異なるアドレスには使用できません。
付録 B 命令
表 B.7-2 命令一覧表の記号の説明 (1 / 2)
表記
A
意味
32 ビットアキュムレータ
命令により , 使用されるビット長が変わります。
バイト : AL の下位 8 ビット
ワード : AL の 16 ビット
ロング : AL: AH の 32 ビット
AH
A の上位 16 ビット
AL
A の下位 16 ビット
SP
スタックポインタ (USP or SSP)
PC
プログラムカウンタ
PCB
プログラムカウンタバンクレジスタ
DTB
データバンクレジスタ
ADB
アディショナルデータバンクレジスタ
SSB
システムスタックバンクレジスタ
USB
ユーザスタックバンクレジスタ
SPB
カレントスタックバンクレジスタ (SSB or USB)
DPR
ダイレクトページレジスタ
brg1
DTB, ADB, SSB, USB, DPR, PCB, SPB
brg2
DTB, ADB, SSB, USB, DPR, SPB
Ri
R0, R1, R2, R3, R4, R5, R6, R7
RWi
RW0, RW1, RW2, RW3, RW4, RW5, RW6, RW7
RWj
RW0, RW1, RW2, RW3
RLi
RL0, RL1, RL2, RL3
dir
短縮直接アドレス指定
addr16
直接アドレス指定
addr24
物理直接アドレス指定
ad24 0 ∼ 15
addr24 の bit0 ∼ bit15
ad24 16 ∼ 23
addr24 の bit16 ∼ bit23
io
I/O 領域 (000000H ∼ 0000FFH)
#imm4
4 ビット即値データ
#imm8
8 ビット即値データ
#imm16
16 ビット即値データ
#imm32
32 ビット即値データ
ext (imm8)
8 ビット即値データを符号拡張した 16 ビットデータ
479
付録
表 B.7-2 命令一覧表の記号の説明 (1 / 2)
表記
480
意味
disp8
8 ビットディスプレースメント
disp16
16 ビットディスプレースメント
bp
ビットオフセット値
vct4
ベクタ番号 (0 ∼ 15)
vct8
ベクタ番号 (0 ∼ 255)
()b
ビットアドレス
rel
PC 相対分岐指定
ear
実効アドレス指定 ( コード 00 ∼ 07)
eam
実効アドレス指定 ( コード 08 ∼ 1F)
rlst
レジスタ並び
付録 B 命令
B.8
F2MC-16LX 命令一覧表
F2MC-16LX で使用している命令の一覧を示します。
■ F2MC-16LX 命令一覧表
表 B.8-1 転送系命令 ( バイト ) 41 命令
#
∼
RG
B
LH
AH
I
S
T
N
Z
V
C
MOV
A,dir
2
3
0
(b)
byte (A) ← (dir)
Z
*
-
-
-
*
*
-
-
-
MOV
A,addr16
3
4
0
(b)
byte (A) ← (addr16)
Z
*
-
-
-
*
*
-
-
-
MOV
A,Ri
1
2
1
0
byte (A) ← (Ri)
Z
*
-
-
-
*
*
-
-
-
MOV
A,ear
2
2
1
0
byte (A) ← (ear)
Z
*
-
-
-
*
*
-
-
-
MOV
A,eam
2+
3 + (a)
0
(b)
byte (A) ← (eam)
Z
*
-
-
-
*
*
-
-
-
MOV
A,io
2
3
0
(b)
byte (A) ← (io)
Z
*
-
-
-
*
*
-
-
-
MOV
A,#imm8
2
2
0
0
byte (A) ← imm8
Z
*
-
-
-
*
*
-
-
-
MOV
A,@A
2
3
0
(b)
byte (A) ← ((A))
Z
-
-
-
-
*
*
-
-
-
MOV
A,@RLi+disp8
3
10
2
(b)
byte (A) ← ((RLi)+disp8)
Z
*
-
-
-
*
*
-
-
-
MOVN
A,#imm4
1
1
0
0
byte (A) ← imm4
Z
*
-
-
-
R
*
-
-
-
MOVX
A,dir
2
3
0
(b)
byte (A) ← (dir)
X
*
-
-
-
*
*
-
-
-
MOVX
A,addr16
3
4
0
(b)
byte (A) ← (addr16)
X
*
-
-
-
*
*
-
-
-
MOVX
A,Ri
2
2
1
0
byte (A) ← (Ri)
X
*
-
-
-
*
*
-
-
-
MOVX
A,ear
2
2
1
0
byte (A) ← (ear)
X
*
-
-
-
*
*
-
-
-
MOVX
A,eam
2+
3 + (a)
0
(b)
byte (A) ← (eam)
X
*
-
-
-
*
*
-
-
-
MOVX
A,io
2
3
0
(b)
byte (A) ← (io)
X
*
-
-
-
*
*
-
-
-
MOVX
A,#imm8
2
2
0
0
byte (A) ← imm8
X
*
-
-
-
*
*
-
-
-
MOVX
A,@A
2
3
0
(b)
byte (A) ← ((A))
X
-
-
-
-
*
*
-
-
-
MOVX
A,@RWi+disp8
2
5
1
(b)
byte (A) ← ((RWi)+disp8)
X
*
-
-
-
*
*
-
-
-
MOVX
A,@RLi+disp8
3
10
2
(b)
byte (A) ← ((RLi)+disp8)
X
*
-
-
-
*
*
-
-
-
MOV
dir,A
2
3
0
(b)
byte (dir) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
addr16,A
3
4
0
(b)
byte (addr16) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
Ri,A
1
2
1
0
byte (Ri) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
ear,A
2
2
1
0
byte (ear) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
eam,A
2+
3 + (a)
0
(b)
byte (eam) ← (A)
-
-
-
-
-
*
*
-
-
-
ニーモニック
オペレーション
RMW
MOV
io,A
2
3
0
(b)
byte (io) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
@RLi+disp8,A
3
10
2
(b)
byte ((RLi)+disp8) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
Ri,ear
2
3
2
0
byte (Ri) ← (ear)
-
-
-
-
-
*
*
-
-
-
MOV
Ri,eam
2+
4 + (a)
1
(b)
byte (Ri) ← (eam)
-
-
-
-
-
*
*
-
-
-
MOV
ear,Ri
2
4
2
0
byte (ear) ← (Ri)
-
-
-
-
-
*
*
-
-
-
MOV
eam,Ri
2+
5 + (a)
1
(b)
byte (eam) ← (Ri)
-
-
-
-
-
*
*
-
-
-
MOV
Ri,#imm8
2
2
1
0
byte (Ri) ← imm8
-
-
-
-
-
*
*
-
-
-
MOV
io,#imm8
3
5
0
(b)
byte (io) ← imm8
-
-
-
-
-
-
-
-
-
-
MOV
dir,#imm8
3
5
0
(b)
byte (dir) ← imm8
-
-
-
-
-
-
-
-
-
-
MOV
ear,#imm8
3
2
1
0
byte (ear) ← imm8
-
-
-
-
-
*
*
-
-
-
MOV
eam,#imm8
3+
4 + (a)
0
(b)
byte (eam) ← imm8
-
-
-
-
-
-
-
-
-
-
MOV
@AL,AH
2
3
0
(b)
byte ((A)) ← (AH)
-
-
-
-
-
*
*
-
-
-
XCH
A,ear
2
4
2
0
byte (A) ←→ (ear)
Z
-
-
-
-
-
-
-
-
-
XCH
A,eam
2+
5 + (a)
0
Z
-
-
-
-
-
-
-
-
-
XCH
Ri,ear
2
7
4
-
-
-
-
-
-
-
-
-
-
XCH
Ri,eam
2+
9 + (a)
2
-
-
-
-
-
-
-
-
-
-
2 × (b) byte (A) ←→ (eam)
0
byte (Ri) ←→ (ear)
2 × (b) byte (Ri) ←→ (eam)
( 注意事項 ) 表中の (a), (b) は , 表 B.5-1 および表 B.5-2 を参照してください。
481
付録
表 B.8-2 転送系命令 ( ワード・ロングワード ) 38 命令
ニーモニック
#
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C
RMW
MOVW
A,dir
2
3
0
(c)
word (A) ← (dir)
-
*
-
-
-
*
*
-
-
-
MOVW
A,addr16
3
4
0
(c)
word (A) ← (addr16)
-
*
-
-
-
*
*
-
-
-
MOVW
A,SP
1
1
0
0
word (A) ← (SP)
-
*
-
-
-
*
*
-
-
-
MOVW
A,RWi
1
2
1
0
word (A) ← (RWi)
-
*
-
-
-
*
*
-
-
-
MOVW
A,ear
2
2
1
0
word (A) ← (ear)
-
*
-
-
-
*
*
-
-
-
MOVW
A,eam
2+
3 + (a)
0
(c)
word (A) ← (eam)
-
*
-
-
-
*
*
-
-
-
MOVW
A,io
2
3
0
(c)
word (A) ← (io)
-
*
-
-
-
*
*
-
-
-
MOVW
A,@A
2
3
0
(c)
word (A) ← ((A))
-
-
-
-
-
*
*
-
-
MOVW
A,#imm16
3
2
0
0
word (A) ← imm16
-
*
-
-
-
*
*
-
-
-
MOVW
A,@RWi+disp8
2
5
1
(c)
word (A) ← ((RWi)+disp8)
-
*
-
-
-
*
*
-
-
-
MOVW
A,@RLi+disp8
3
10
2
(c)
word (A) ← ((RLi)+disp8)
-
*
-
-
-
*
*
-
-
-
MOVW
dir,A
2
3
0
(c)
word (dir) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
addr16,A
3
4
0
(c)
word (addr16) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
SP,A
1
1
0
0
word (SP) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
RWi,A
1
2
1
0
word (RWi) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
ear,A
2
2
1
0
word (ear) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
eam,A
2+
3 + (a)
0
(c)
word (eam) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
io,A
2
3
0
(c)
word (io) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
@RWi+disp8,A
2
5
1
(c)
word ((RWi)+disp8) ← (A)
-
-
-
-
-
*
*
-
-
MOVW
@RLi+disp8,A
3
10
2
(c)
word ((RLi)+disp8) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
RWi,ear
2
3
2
0
word (RWi) ← (ear)
-
-
-
-
-
*
*
-
-
-
MOVW
RWi,eam
2+
4 + (a)
1
(c)
word (RWi) ← (eam)
-
-
-
-
-
*
*
-
-
-
MOVW
ear,RWi
2
4
2
0
word (ear) ← (RWi)
-
-
-
-
-
*
*
-
-
-
MOVW
eam,RWi
2+
5 + (a)
1
(c)
word (eam) ← (RWi)
-
-
-
-
-
*
*
-
-
-
MOVW
RWi,#imm16
3
2
1
0
word (RWi) ← imm16
-
-
-
-
-
*
*
-
-
MOVW
io,#imm16
4
5
0
(c)
word (io) ← imm16
-
-
-
-
-
-
-
-
-
-
MOVW
ear,#imm16
4
2
1
0
word (ear) ← imm16
-
-
-
-
-
*
*
-
-
-
MOVW
eam,#imm16
4+
4 + (a)
0
(c)
word (eam) ← imm16
-
-
-
-
-
-
-
-
-
-
MOVW
@AL,AH
2
3
0
(c)
word ((A)) ← (AH)
-
-
-
-
-
*
*
-
-
-
XCHW
A,ear
2
4
2
0
word (A) ←→ (ear)
-
-
-
-
-
-
-
-
-
-
XCHW
A,eam
2+
5 + (a)
0
2 × (c)
word (A) ←→ (eam)
-
-
-
-
-
-
-
-
-
-
XCHW
RWi, ear
2
7
4
0
word (RWi) ←→ (ear)
-
-
-
-
-
-
-
-
-
-
XCHW
RWi, eam
2+
9 + (a)
2
2 × (c)
word (RWi) ←→ (eam)
-
-
-
-
-
-
-
-
-
-
MOVL
A,ear
2
4
2
0
long (A) ← (ear)
-
-
-
-
-
*
*
-
-
-
MOVL
A,eam
2+
5 + (a)
0
(d)
long (A) ← (eam)
-
-
-
-
-
*
*
-
-
-
MOVL
A,#imm32
5
3
0
0
long (A) ← imm32
-
-
-
-
-
*
*
-
-
-
MOVL
ear,A
2
4
2
0
long (ear) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVL
eam,A
2+
5 + (a)
0
(d)
long(eam) ← (A)
-
-
-
-
-
*
*
-
-
-
( 注意事項 ) 表中の (a), (c), (d) は , 表 B.5-1 および表 B.5-2 を参照してください。
482
付録 B 命令
表 B.8-3 加減算命令 ( バイト・ワード・ロングワード ) 42 命令
ニーモニック
#
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
ADD
A,#imm8
2
2
0
0
byte (A) ← (A) + imm8
Z
-
-
-
-
*
*
*
*
-
ADD
A,dir
2
5
0
(b)
byte (A) ← (A) + (dir)
Z
-
-
-
-
*
*
*
*
-
ADD
A,ear
2
3
1
0
byte (A) ← (A) + (ear)
Z
-
-
-
-
*
*
*
*
-
ADD
A,eam
2+
4 + (a)
0
(b)
byte (A) ← (A) + (eam)
Z
-
-
-
-
*
*
*
*
-
ADD
ear,A
2
3
2
0
byte (ear) ← (ear) + (A)
-
-
-
-
-
*
*
*
*
-
ADD
eam,A
2+
5 + (a)
0
2 × (b)
byte (eam) ← (eam) + (A)
Z
-
-
-
-
*
*
*
*
*
ADDC
A
1
2
0
0
byte (A) ← (AH) + (AL) + (C)
Z
-
-
-
-
*
*
*
*
-
ADDC
A,ear
2
3
1
0
byte (A) ← (A) + (ear)+ (C)
Z
-
-
-
-
*
*
*
*
-
ADDC
A,eam
2+
4 + (a)
0
(b)
byte (A) ← (A) + (eam)+ (C)
Z
-
-
-
-
*
*
*
*
-
ADDDC A
1
3
0
0
byte (A) ← (AH) + (AL) + (C) (10 進数 )
Z
-
-
-
-
*
*
*
*
-
SUB
A,#imm8
2
2
0
0
byte (A) ← (A) - imm8
Z
-
-
-
-
*
*
*
*
-
SUB
A,dir
2
5
0
(b)
byte (A) ← (A) - (dir)
Z
-
-
-
-
*
*
*
*
-
SUB
A,ear
2
3
1
0
byte (A) ← (A) - (ear)
Z
-
-
-
-
*
*
*
*
-
SUB
A,eam
2+
4 + (a)
0
(b)
byte (A) ← (A) - (eam)
Z
-
-
-
-
*
*
*
*
-
SUB
ear,A
2
3
2
0
byte (ear) ← (ear) - (A)
-
-
-
-
-
*
*
*
*
-
SUB
eam,A
2+
5 + (a)
0
2 × (b)
byte (eam) ← (eam) - (A)
-
-
-
-
-
*
*
*
*
*
SUBC
A
1
2
0
0
byte (A) ← (AH) - (AL) - (C)
Z
-
-
-
-
*
*
*
*
-
SUBC
A,ear
2
3
1
0
byte (A) ← (A) - (ear) - (C)
Z
-
-
-
-
*
*
*
*
-
SUBC
A,eam
2+
4 + (a)
0
(b)
byte (A) ← (A) - (eam) - (C)
Z
-
-
-
-
*
*
*
*
-
SUBDC
A
1
3
0
0
byte (A) ← (AH) - (AL) - (C) (10 進数 )
Z
-
-
-
-
*
*
*
*
-
ADDW
A
1
2
0
0
word (A) ← (AH) + (AL)
-
-
-
-
-
*
*
*
*
-
ADDW
A,ear
2
3
1
0
word (A) ← (A) + (ear)
-
-
-
-
-
*
*
*
*
-
ADDW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) + (eam)
-
-
-
-
-
*
*
*
*
-
ADDW
A,#imm16
3
2
0
0
word (A) ← (A) + imm16
-
-
-
-
-
*
*
*
*
-
word (ear) ← (ear) + (A)
-
-
-
-
-
*
*
*
*
-
word (eam) ← (eam) + (A)
-
-
-
-
-
*
*
*
*
*
ADDW
ear,A
2
3
2
0
ADDW
eam,A
2+
5+(a)
0
2 × (c)
ADDCW A,ear
2
3
1
0
word (A) ← (A) + (ear) + (C)
-
-
-
-
-
*
*
*
*
-
ADDCW A,eam
2+
4+(a)
0
(c)
word (A) ← (A) + (eam) + (C)
-
-
-
-
-
*
*
*
*
-
SUBW
A
1
2
0
0
word (A) ← (AH) - (AL)
-
-
-
-
-
*
*
*
*
-
SUBW
A,ear
2
3
1
0
word (A) ← (A) - (ear)
-
-
-
-
-
*
*
*
*
-
SUBW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) - (eam)
-
-
-
-
-
*
*
*
*
-
SUBW
A,#imm16
3
2
0
0
word (A) ← (A) - imm16
-
-
-
-
-
*
*
*
*
-
word (ear) ← (ear) - (A)
-
-
-
-
-
*
*
*
*
-
word (eam) ← (eam) - (A)
-
-
-
-
-
*
*
*
*
*
SUBW
ear,A
2
3
2
0
SUBW
eam,A
2+
5+(a)
0
2 × (c)
SUBCW A,ear
2
3
1
0
word (A) ← (A) - (ear) - (C)
-
-
-
-
-
*
*
*
*
-
SUBCW A,eam
2+
4+(a)
0
(c)
word (A) ← (A) - (eam) - (C)
-
-
-
-
-
*
*
*
*
-
ADDL
A,ear
2
6
2
0
long (A) ← (A) + (ear)
-
-
-
-
-
*
*
*
*
-
ADDL
A,eam
2+
7+(a)
0
(d)
long (A) ← (A) + (eam)
-
-
-
-
-
*
*
*
*
-
ADDL
A,#imm32
5
4
0
0
long (A) ← (A) + imm32
-
-
-
-
-
*
*
*
*
-
SUBL
A,ear
2
6
2
0
long (A) ← (A) - (ear)
-
-
-
-
-
*
*
*
*
-
SUBL
A,eam
2+
7+(a)
0
(d)
long (A) ← (A) - (eam)
-
-
-
-
-
*
*
*
*
-
SUBL
A,#imm32
5
4
0
0
long (A) ← (A) - imm32
-
-
-
-
-
*
*
*
*
-
( 注意事項 ) 表中の (a) ∼ (d) は , 表 B.5-1 および表 B.5-2 を参照してください。
483
付録
表 B.8-4 増減算命令 ( バイト・ワード・ロングワード ) 12 命令
ニーモニック
#
∼
RG
B
INC
ear
2
3
2
0
INC
eam
2+
5+(a)
0
2 × (b)
DEC
ear
2
3
2
0
DEC
eam
2+
5+(a)
0
2 × (b)
INCW
ear
2
3
2
0
INCW
eam
2+
5+(a)
0
2 × (c)
DECW
ear
2
3
2
0
DECW
eam
2+
5+(a)
0
2 × (c)
INCL
ear
2
7
4
0
INCL
eam
2+
9+(a)
0
2 × (d)
DECL
ear
2
7
4
0
DECL
eam
2+
9+(a)
0
2 × (d)
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
byte (ear) <-- (ear) + 1
-
-
-
-
-
*
*
*
-
-
byte (eam) ← (eam) + 1
-
-
-
-
-
*
*
*
-
*
byte (ear) ← (ear) - 1
-
-
-
-
-
*
*
*
-
-
byte (eam) ← (eam) - 1
-
-
-
-
-
*
*
*
-
*
word (ear) ← (ear) + 1
-
-
-
-
-
*
*
*
-
-
word (eam) ← (eam) + 1
-
-
-
-
-
*
*
*
-
*
word (ear) ← (ear) - 1
-
-
-
-
-
*
*
*
-
-
word (eam) ← (eam) - 1
-
-
-
-
-
*
*
*
-
*
long (ear) ← (ear) + 1
-
-
-
-
-
*
*
*
-
-
long (eam) ← (eam) + 1
-
-
-
-
-
*
*
*
-
*
long (ear) ← (ear) - 1
-
-
-
-
-
*
*
*
-
-
long (eam) ← (eam) - 1
-
-
-
-
-
*
*
*
-
*
LH
AH
I
S
T
N
Z
V
C RMW
( 注意事項 ) 表中の (a) ∼ (d) は , 表 B.5-1 および表 B.5-2 を参照してください。
表 B.8-5 比較命令 ( バイト・ワード・ロングワード ) 11 命令
ニーモニック
#
∼
RG
B
オペレーション
CMP
A
1
1
0
0
byte (AH) - (AL)
-
-
-
-
-
*
*
*
*
-
CMP
A,ear
2
2
1
0
byte (A) - (ear)
-
-
-
-
-
*
*
*
*
-
CMP
A,eam
2+
3+(a)
0
(b)
byte (A) - (eam)
-
-
-
-
-
*
*
*
*
-
CMP
A,#imm8
2
2
0
0
byte (A) - imm8
-
-
-
-
-
*
*
*
*
-
CMPW
A
1
1
0
0
word (AH) - (AL)
-
-
-
-
-
*
*
*
*
-
CMPW
A,ear
2
2
1
0
word (A) - (ear)
-
-
-
-
-
*
*
*
*
-
CMPW
A,eam
2+
3+(a)
0
(c)
word (A) - (eam)
-
-
-
-
-
*
*
*
*
-
CMPW
A,#imm16
3
2
0
0
word (A) - imm16
-
-
-
-
-
*
*
*
*
-
CMPL
A,ear
2
6
2
0
long (A) - (ear)
-
-
-
-
-
*
*
*
*
-
CMPL
A,eam
2+
7+(a)
0
(d)
long (A) - (eam)
-
-
-
-
-
*
*
*
*
-
CMPL
A,#imm32
5
3
0
0
long (A) - imm32
-
-
-
-
-
*
*
*
*
-
( 注意事項 ) 表中の (a) ∼ (d) は , 表 B.5-1 および表 B.5-2 を参照してください。
484
付録 B 命令
表 B.8-6 符号なし乗除算命令 ( ワード・ロングワード ) 11 命令
ニーモニック
#
∼
RG
B
LH
AH
I
S
T
N
Z
V
C RMW
DIVU
A
1
*1
0
0
word (AH) / byte (AL)
商→ byte (AL) 余り→ byte (AH)
-
-
-
-
-
-
-
*
*
-
DIVU
A,ear
2
*2
1
0
word (A) / byte (ear)
商→ byte (A) 余り→ byte (ear)
-
-
-
-
-
-
-
*
*
-
DIVU
A,eam
2+
*3
0
*6
word (A) / byte (eam)
商→ byte (A) 余り→ byte (eam)
-
-
-
-
-
-
-
*
*
-
DIVUW
A,ear
2
*4
1
0
long (A) / word (ear)
商→ word (A) 余り→ word (ear)
-
-
-
-
-
-
-
*
*
-
DIVUW
A,eam
2+
*5
0
*7
long (A) / word (eam)
商→ word (A) 余り→ word (eam)
-
-
-
-
-
-
-
*
*
-
MULU
MULU
A
1
*8
0
0
byte (AH) * byte (AL) → word (A)
-
-
-
-
-
-
-
-
-
-
A,ear
2
*9
1
0
byte (A) * byte (ear) → word (A)
-
-
-
-
-
-
-
-
-
-
MULU
A,eam
2+
*10
0
(b)
MULUW
A
1
*11
0
0
MULUW
A,ear
2
*12
1
MULUW
A,eam
2+
*13
0
オペレーション
byte (A) * byte (eam) → word (A)
-
-
-
-
-
-
-
-
-
-
word (AH) * word (AL) → Long (A)
-
-
-
-
-
-
-
-
-
-
0
word (A) * word (ear) → Long (A)
-
-
-
-
-
-
-
-
-
-
(c)
word (A) * word (eam) → Long (A)
-
-
-
-
-
-
-
-
-
-
*1:ゼロディバイトの場合 , 3 オーバフローの場合 , 7 正常の場合 , 15
*2:ゼロディバイトの場合 , 4 オーバフローの場合 , 8 正常の場合 , 16
*3:ゼロディバイトの場合 , 6+(a) オーバフローの場合 , 9+(a) 正常の場合 , 19+(a)
*4:ゼロディバイトの場合 , 4 オーバフローの場合 , 7 正常の場合 , 22
*5:ゼロディバイトの場合 , 6+(a) オーバフローの場合 , 8+(a) 正常の場合 , 26+(a)
*6:ゼロディバイト , またはオーバフローの場合 , (b) 正常の場合 , 2 × (b)
*7:ゼロディバイト , またはオーバフローの場合 , (c) 正常の場合 , 2 × (c)
*8:byte(AH) がゼロの場合 , 3 byte(AH) がゼロでない場合 , 7
*9:byte(ear) がゼロの場合 , 4 byte(ear) がゼロでない場合 , 8
*10:byte(eam) がゼロの場合 , 5+(a) byte(eam) がゼロでない場合 , 9+(a)
*11:word(AH) がゼロの場合 , 3 word(AH) がゼロでない場合 , 11
*12:word(ear) がゼロの場合 , 4 word(ear) がゼロでない場合 , 12
*13:word(eam) がゼロの場合 , 5+(a) word(eam) がゼロでない場合 , 13+(a)
( 注意事項 ) 表中の (a),(b),(c) は , 表 B.5-1 および表 B.5-2 を参照してください。
485
付録
表 B.8-7 符号付き乗除算命令 ( ワード・ロングワード ) 11 命令
ニーモニック
#
∼
RG
B
LH
AH
I
S
T
N
Z
V
C RMW
DIV
A
2
*1
0
0
word (AH) / byte (AL)
商 --> byte (AL) 余り→ byte (AH)
Z
-
-
-
-
-
-
*
*
-
DIV
A,ear
2
*2
1
0
word (A) / byte (ear)
商 --> byte (A) 余り→ byte (ear)
Z
-
-
-
-
-
-
*
*
-
DIV
A,eam
2+
*3
0
*6
word (A) / byte (eam)
商→ byte (A) 余り→ byte (eam)
Z
-
-
-
-
-
-
*
*
-
DIVW
A,ear
2
*4
1
0
long (A) / word (ear)
商 --> word (A) 余り→ word (ear)
-
-
-
-
-
-
-
*
*
-
DIVW
A,eam
2+
*5
0
*7
long (A) / word (eam)
商→ word (A) 余り→ word (eam)
-
-
-
-
-
-
-
*
*
-
MUL
A
2
*8
MUL
A,ear
2
*9
0
0
byte (AH) * byte (AL) → word (A)
-
-
-
-
-
-
-
-
-
-
1
0
byte (A) * byte (ear) → word (A)
-
-
-
-
-
-
-
-
-
-
MUL
A,eam
2+
*10
MULW
A
2
*11
0
(b)
byte (A) * byte (eam) → word (A)
-
-
-
-
-
-
-
-
-
-
0
0
word (AH) * word (AL) → Long (A)
-
-
-
-
-
-
-
-
-
MULW
A,ear
2
-
*12
1
0
word (A) * word (ear) → Long (A)
-
-
-
-
-
-
-
-
-
-
MULW
A,eam
2+
*13
0
(c)
word (A) * word (eam) → Long (A)
-
-
-
-
-
-
-
-
-
-
オペレーション
*1:ゼロディバイトの場合 , 3 オーバフローの場合 , 8 or 18 正常の場合 , 18
*2:ゼロディバイトの場合 , 4 オーバフローの場合 , 11 or 22 正常の場合 , 23
*3:ゼロディバイトの場合 , 5+(a) オーバフローの場合 12+(a) or 23+(a) 正常の場合 , 24+(a)
*4:被除数が正 : ゼロディバイトの場合 , 4 オーバフローの場合 , 12 or 30 正常の場合 , 31
被除数が負 : ゼロディバイトの場合 , 4 オーバフローの場合 , 12 or 31 正常の場合 , 32
*5:被除数が正 : ゼロディバイトの場合 , 5+(a) オーバフローの場合 , 12+(a) or 31+(a) 正常の場合 , 32+(a)
被除数が負 : ゼロディバイトの場合 , 5+(a) オーバフローの場合 , 13+(a) or 32+(a) 正常の場合 , 33+(a)
*6:ゼロディバイト , またはオーバフローの場合 , (b) 正常の場合 , 2 × (b)
*7:ゼロディバイト , またはオーバフローの場合 , (c) 正常の場合 , 2 × (c)
*8:byte(AH) がゼロの場合 , 3 結果が正の場合 , 12 結果が負の場合 , 13
*9:byte(ear) がゼロの場合 , 4 結果が正の場合 , 13 結果が負の場合 , 14
*10:byte(eam) がゼロの場合 , 5+(a) 結果が正の場合 , 14+(a) 結果が負の場合 , 15+(a)
*11:word(AH) がゼロの場合 , 3 結果が正の場合 , 16 結果が負の場合 , 19
*12:word(ear) がゼロの場合 , 4 結果が正の場合 , 17 結果が負の場合 , 20
*13:word(eam) がゼロの場合 , 5+(a) 結果が正の場合 , 18+(a) 結果が負の場合 , 21+(a)
( 注意事項 ) ・ DIV, DIVW 命令でオーバフロー発生時の実行サイクル数に 2 種類ありますが , 演算前と演算後に検出する場合が
あるためです。
DIV, DIVW 命令でオーバフロー発生時には , AL の内容は破壊されます。
・ 表中の (a),(b),(c) は , 表 B.5-1 および表 B.5-2 を参照してください。
486
付録 B 命令
表 B.8-8 論理 1 命令 ( バイト・ワード ) 39 命令
ニーモニック
#
∼
RG
B
AND
A,#imm8
2
2
0
0
AND
A,ear
2
3
1
0
LH
AH
I
S
T
N
Z
V
C RMW
byte (A) ← (A) and imm8
-
-
-
-
-
*
*
R
-
-
byte (A) ← (A) and (ear)
-
-
-
-
-
*
*
R
-
-
オペレーション
AND
A,eam
2+
4+(a)
0
(b)
byte (A) ← (A) and (eam)
-
-
-
-
-
*
*
R
-
-
AND
ear,A
2
3
2
0
byte (ear) ← (ear) and (A)
-
-
-
-
-
*
*
R
-
-
AND
eam,A
2+
5+(a)
0
2 × (b)
byte (eam) ← (eam) and (A)
-
-
-
-
-
*
*
R
-
*
OR
A,#imm8
2
2
0
0
byte (A) ← (A) or imm8
-
-
-
-
-
*
*
R
-
-
OR
A,ear
2
3
1
0
byte (A) ← (A) or (ear)
-
-
-
-
-
*
*
R
-
-
OR
A,eam
2+
4+(a)
0
(b)
byte (A) ← (A) or (eam)
-
-
-
-
-
*
*
R
-
-
OR
ear,A
2
3
2
0
byte (ear) ← (ear) or (A)
-
-
-
-
-
*
*
R
-
-
OR
eam,A
2+
5+(a)
0
2 × (b)
byte (eam) ← (eam) or (A)
-
-
-
-
-
*
*
R
-
*
XOR
A,#imm8
2
2
0
0
byte (A) ← (A) xor imm8
-
-
-
-
-
*
*
R
-
-
XOR
A,ear
2
3
1
0
byte (A) ← (A) xor (ear)
-
-
-
-
-
*
*
R
-
-
XOR
A,eam
2+
4+(a)
0
(b)
byte (A) ← (A) xor (eam)
-
-
-
-
-
*
*
R
-
-
XOR
ear,A
2
3
2
0
byte (ear) ← (ear) xor (A)
-
-
-
-
-
*
*
R
-
-
XOR
eam,A
2+
5+(a)
0
2 × (b)
byte (eam) ← (eam) xor (A)
-
-
-
-
-
*
*
R
-
*
NOT
A
1
2
0
0
byte (A) ← not (A)
-
-
-
-
-
*
*
R
-
-
NOT
ear
2
3
2
0
byte (ear) ← not (ear)
-
-
-
-
-
*
*
R
-
-
NOT
eam
2+
5+(a)
0
2 × (b)
byte (eam) ← not (eam)
-
-
-
-
-
*
*
R
-
*
ANDW
A
1
2
0
0
word (A) ← (AH) and (A)
-
-
-
-
-
*
*
R
-
-
ANDW
A,#imm16
3
2
0
0
word (A) ← (A) and imm16
-
-
-
-
-
*
*
R
-
-
ANDW
A,ear
2
3
1
0
word (A) ← (A) and (ear)
-
-
-
-
-
*
*
R
-
-
ANDW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) and (eam)
-
-
-
-
-
*
*
R
-
-
ANDW
ear,A
2
3
2
0
word (ear) ← (ear) and (A)
-
-
-
-
-
*
*
R
-
-
ANDW
eam,A
2+
5+(a)
0
2 × (c)
word (eam) ← (eam) and (A)
-
-
-
-
-
*
*
R
-
*
ORW
A
1
2
0
0
word (A) ← (AH) or (A)
-
-
-
-
-
*
*
R
-
-
ORW
A,#imm16
3
2
0
0
word (A) ← (A) or imm16
-
-
-
-
-
*
*
R
-
-
ORW
A,ear
2
3
1
0
word (A) ← (A) or (ear)
-
-
-
-
-
*
*
R
-
-
ORW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) or (eam)
-
-
-
-
-
*
*
R
-
-
word (ear) ← (ear) or (A)
-
-
-
-
-
*
*
R
-
-
word (eam) ← (eam) or (A)
-
-
-
-
-
*
*
R
-
*
ORW
ear,A
2
3
2
0
ORW
eam,A
2+
5+(a)
0
2 × (c)
XORW
A
1
2
0
0
word (A) ← (AH) xor (A)
-
-
-
-
-
*
*
R
-
-
XORW
A,#imm16
3
2
0
0
word (A) ← (A) xor imm16
-
-
-
-
-
*
*
R
-
-
XORW
A,ear
2
3
1
0
word (A) ← (A) xor (ear)
-
-
-
-
-
*
*
R
-
-
XORW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) xor (eam)
-
-
-
-
-
*
*
R
-
-
word (ear) ← (ear) xor (A)
-
-
-
-
-
*
*
R
-
-
word (eam) ← (eam) xor (A)
-
-
-
-
-
*
*
R
-
*
-
XORW
ear,A
2
3
2
0
XORW
eam,A
2+
5+(a)
0
2 × (c)
NOTW
A
1
2
0
0
word (A) ← not (A)
-
-
-
-
-
*
*
R
-
NOTW
ear
2
3
2
0
word (ear) ← not (ear)
-
-
-
-
-
*
*
R
-
-
NOTW
eam
2+
5+(a)
0
2 × (c)
word (eam) ← not (eam)
-
-
-
-
-
*
*
R
-
*
( 注意事項 ) 表中の (a), (b), (c) は , 表 B.5-1 および表 B.5-2 を参照してください。
487
付録
表 B.8-9 論理 2 演算命令 ( ロングワード ) 6 命令
#
∼
RG
B
ANDL
A,ear
2
6
2
0
ANDL
A,eam
2+
7+(a)
0
(d)
ORL
A,ear
2
6
2
0
long (A) ← (A) or (ear)
-
-
-
-
-
*
*
R
-
-
ORL
A,eam
2+
7+(a)
0
(d)
long (A) ← (A) or (eam)
-
-
-
-
-
*
*
R
-
-
long (A) ← (A) xor (ear)
-
-
-
-
-
*
*
R
-
-
long (A) ← (A) xor (eam)
-
-
-
-
-
*
*
R
-
-
LH
AH
I
S
T
N
Z
V
C RMW
ニーモニック
XORL
A,ear
2
6
2
0
XORL
A,eam
2+
7+(a)
0
(d)
LH
AH
I
S
T
N
Z
V
C RMW
long (A) ← (A) and (ear)
-
-
-
-
-
*
*
R
-
-
long (A) ← (A) and (eam)
-
-
-
-
-
*
*
R
-
-
オペレーション
( 注意事項 ) 表中の (a), (d) は , 表 B.5-1 および表 B.5-2 を参照してください。
表 B.8-10 符号反転命令 ( バイト・ワード ) 6 命令
ニーモニック
#
∼
RG
B
1
2
0
0
byte (A) ← 0 - (A)
X
-
-
-
-
*
*
*
*
byte (ear) ← 0 - (ear)
-
-
-
-
-
*
*
*
*
-
-
-
-
-
*
*
*
*
*
-
オペレーション
NEG
A
-
NEG
ear
2
3
2
0
NEG
eam
2+
5+(a)
0
2 × (b)
byte (eam) ← 0 - (eam)
-
NEGW
A
1
2
0
0
word (A) ← 0 - (A)
-
-
-
-
-
*
*
*
*
NEGW
ear
2
3
2
0
word (ear) ← 0 - (ear)
-
-
-
-
-
*
*
*
*
-
NEGW
eam
2+
5+(a)
0
2 × (c)
word (eam) ← 0 - (eam)
-
-
-
-
-
*
*
*
*
*
( 注意事項 ) 表中の (a), (b), (c) は , 表 B.5-1 および表 B.5-2 を参照してください。
表 B.8-11 ノーマライズ命令 ( ロングワード ) 1 命令
ニーモニック
NRML
A,R0
#
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
2
*1
1
0
long (A) ← 最初に "1" が立っていた所まで左
シフトする
byte (R0) ← その場合のシフト回数
-
-
-
-
-
-
*
-
-
*1:アキュムレータがすべて "0" であった場合は , 4 "0" 以外であった場合は , 6+(R0)
488
-
付録 B 命令
表 B.8-12 シフト命令 ( バイト・ワード・ロングワード ) 18 命令
ニーモニック
#
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
RORC
A
2
2
0
0
byte (A) ← 右ローテートキャリー付
-
-
-
-
-
*
*
-
*
-
ROLC
A
2
2
0
0
byte (A) ← 左ローテートキャリー付
-
-
-
-
-
*
*
-
*
-
RORC
ear
2
3
2
0
byte (ear) ← 右ローテートキャリー付
RORC
eam
2+
5+(a)
0
2 × (b) byte (eam) ← 右ローテートキャリー付
ROLC
ear
2
3
2
ROLC
eam
2+
5+(a)
0
0
ASR
A,R0
2
*1
1
0
LSR
A,R0
2
*1
1
0
LSL
A,R0
2
*1
1
ASRW
A
1
2
LSRW
A/SHRW A
1
LSLW
A/SHLW A
1
ASRW
A,R0
2
*1
LSRW
A,R0
2
*1
LSLW
A,R0
2
*1
ASRL
A,R0
2
*2
LSRL
A,R0
2
LSLL
A,R0
2
-
-
-
-
-
*
*
-
*
-
-
-
-
-
-
*
*
-
*
*
-
-
-
-
-
*
*
-
*
-
-
-
-
-
-
*
*
-
*
*
byte (A) ← 算術右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
byte (A) ← ロジカル右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
0
byte (A) ← ロジカル左バレルシフト (A,R0)
-
-
-
-
-
*
*
-
*
-
0
0
word (A) ← 算術右シフト (A,1 ビット )
-
-
-
-
*
*
*
-
*
-
2
0
0
word (A) ← ロジカル右シフト (A,1 ビット )
-
-
-
-
*
R
*
-
*
-
2
0
0
word (A) ← ロジカル左シフト (A,1 ビット )
-
-
-
-
-
*
*
-
*
-
1
0
word (A) ← 算術右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
1
0
word (A) ← ロジカル右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
1
0
word (A) ←ロジカル左バレルシフト (A,R0)
-
-
-
-
-
*
*
-
*
-
1
0
long (A) ← 算術右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
*2
1
0
long (A) ← ロジカル右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
*2
1
0
long (A) <-- ロジカル左バレルシフト (A,R0)
-
-
-
-
-
*
*
-
*
-
byte (ear) ← 左ローテートキャリー付
2 × (b) byte (eam) ← 左ローテートキャリー付
*1:R0 が "0" であった場合 , 6 "0" 以外であった場合は , 5+(R0)
*2:R0 が "0" であった場合 , 6 "0" 以外であった場合は , 6+(R0)
( 注意事項 ) 表中の (a),(b) は , 表 B.5-1 および表 B.5-2 を参照してください。
489
付録
表 B.8-13 分岐命令 1 31 命令
#
ニーモニック
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
BZ/BEQ
rel
2
*1
0
0
(Z) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BNZ/BNE
rel
2
*1
0
0
(Z) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BC/BLO
rel
2
*1
0
0
(C) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BNC/BHS
rel
2
*1
0
0
(C) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BN
rel
2
*1
0
0
(N) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BP
rel
2
*1
0
0
(N) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BV
rel
2
*1
0
0
(V) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BNV
rel
2
*1
0
0
(V) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BT
rel
2
*1
0
0
(T) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BNT
rel
2
*1
0
0
(T) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BLT
rel
2
*1
0
0
(V) xor (N) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BGE
rel
2
*1
0
0
(V) xor (N) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BLE
rel
2
*1
0
0
((V) xor (N)) or (Z) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BGT
rel
2
*1
0
0
((V) xor (N)) or (Z) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BLS
rel
2
*1
0
0
(C) or (Z) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BHI
rel
2
*1
0
0
(C) or (Z) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BRA
rel
2
*1
0
0
無条件分岐
-
-
-
-
-
-
-
-
-
-
JMP
@A
1
2
0
0
word (PC) ← (A)
-
-
-
-
-
-
-
-
-
-
JMP
addr16
3
3
0
0
word (PC) ← addr16
-
-
-
-
-
-
-
-
-
-
JMP
@ear
2
3
1
0
word (PC) ← (ear)
-
-
-
-
-
-
-
-
-
-
JMP
@eam
2+
4+(a)
0
(c)
word (PC) ← (eam)
-
-
-
-
-
-
-
-
-
-
JMPP
@ear
注 1)
2
5
2
0
word (PC) ← (ear), (PCB) ← (ear+2)
-
-
-
-
-
-
-
-
-
-
JMPP
@eam
注 1)
2+
6+(a)
0
(d)
word (PC) ← (eam), (PCB) ← (eam+2)
-
-
-
-
-
-
-
-
-
-
JMPP
addr24
4
4
0
0
CALL
@ear
注 2)
2
6
1
(c)
CALL
@eam
word (PC) ← ad24 0-15, (PCB) ← ad24 16-23
-
-
-
-
-
-
-
-
-
-
word (PC) ← (ear)
-
-
-
-
-
-
-
-
-
-
2 × (c) word (PC) ← (eam)
注 2)
2+
7+(a)
0
CALL
addr16 注 3)
3
6
0
CALLV
#vct4
注 3)
1
7
0
2 × (c) ベクタコール命令
CALLP
@ear
注 4)
2
10
2
2 × (c) word (PC) ← (ear)0-15, (PCB) ← (ear)16-23
11+(a)
0
10
0
CALLP
@eam
注 4)
2+
CALLP
addr24 注 5)
4
(c)
*2
word (PC) ← addr16
word (PC) ← (eam)0-15, (PCB) ← (eam)16-23
2 × (c) word (PC) ← addr0-15, (PCB) ← addr16-23
*1:分岐が行われる場合 , 4 行われない場合 , 3
*2:3 × (c)+(b)
注 1) 分岐先アドレスの読込み (word)
注 2) W:スタックへの退避 (word), R:分岐先アドレスの読込み (word)
注 3) スタックへの退避 (word)
注 4) W:スタックへの退避 (long), R:分岐先アドレスの読込み (long)
注 5) スタックへの退避 (long)
( 注意事項 ) 表中の (a) ∼ (d) は , 表 B.5-1 および表 B.5-2 を参照してください。
490
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
付録 B 命令
表 B.8-14 分岐命令 2 19 命令
ニーモニック
#
∼
RG
B
CBNE
A,#imm8,rel
3
*1
0
0
byte (A) ≠ imm8 で分岐
-
-
-
-
- * * * *
-
CWBNE
A,#imm16,rel
4
*1
0
0
word (A) ≠ imm16 で分岐
-
-
-
-
- * * * *
-
CBNE
ear,#imm8,rel
4
*2
1
0
byte (ear) ≠ imm8 で分岐
-
-
-
-
- * * * *
-
CBNE
eam,#imm8,rel
注 1)
4+
*3
0
(b)
byte (eam) ≠ imm8 で分岐
-
-
-
-
- * * * *
-
CWBNE
ear,#imm16,rel
5
*4
1
0
word (ear) ≠ imm16 で分岐
-
-
-
-
- * * * *
-
CWBNE
eam,#imm16,rel 注 1)
5+
*3
0
(c)
word (eam) ≠ imm16 で分岐
-
-
-
-
- * * * *
-
DBNZ
ear,rel
3
*5
2
byte (ear) = (ear) - 1, (ear) ≠ 0 で分岐
-
-
-
-
- * * * -
-
DBNZ
eam,rel
3+
*6
2
-
-
-
-
- * * * -
*
DWBNZ
ear,rel
3
*5
2
DWBNZ
eam,rel
3+
*6
2
0
オペレーション
2 × (b) byte (eam) = (eam) - 1, (eam) ≠ 0 で分岐
0
LH
AH
I S T N Z V C RMW
-
-
-
-
- * * * -
-
2 × (c) word (eam) = (eam) - 1, (eam) ≠ 0 で分岐
-
-
-
-
- * * * -
*
word (ear) = (ear) - 1, (ear) ≠ 0 で分岐
INT
#vct8
2
20
0
8 × (c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
INT
addr16
3
16
0
6 × (c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
INTP
addr24
4
17
0
6 × (c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
INT9
1
20
0
8 × (c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
RETI
1
*8
0
*7
割込みからの復帰
-
-
* * * * * * *
-
2
6
0
(c)
関数の入口で , 旧フレームポインタをスタッ
クに保存し , 新フレームポインタの設定 , お
よびローカルポインタの領域を確保する
-
-
-
-
-
-
-
-
-
-
1
5
0
(c)
関数の出口で , 旧フレームポインタをスタッ
クから復帰させる
-
-
-
-
-
-
-
-
-
-
注 2)
1
4
0
(c)
サブルーチンからの復帰
-
-
-
-
-
-
-
-
-
-
注 3)
1
6
0
(d)
サブルーチンからの復帰
-
-
-
-
-
-
-
-
-
-
LINK
#imm8
UNLINK
RET
RETP
*1:分岐が行われる場合 , 5 行われない場合 , 4
*2:分岐が行われる場合 , 13 行われない場合 , 12
*3:分岐が行われる場合 , 7+(a) 行われない場合 , 6+(a)
*4:分岐が行われる場合 , 8 行われない場合 , 7
*5:分岐が行われる場合 , 7 行われない場合 , 6
*6:分岐が行われる場合 , 8+(a) 行われない場合 , 7+(a) *7:次の割込み要求へ分岐する場合 , 3 × (b)+2 × (c) 今の割込みから復帰の場合 , 6 × (c)
*8:次の割込みへ分岐する場合 , 15 今の割込みから復帰する場合 , 17
注 1) CBNE / CWBNE 命令では , RWj+ のアドレッシングモードは , 使用しないでください。
注 2) スタックからの復帰 (word)
注 3) スタックからの復帰 (long)
( 注意事項 ) 表中の (a) ∼ (d) は , 表 B.5-1 および表 B.5-2 を参照してください。
491
付録
表 B.8-15 その他制御命令 ( バイト・ワード・ロングワード ) 28 命令
ニーモニック
#
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
PUSHW
A
1
4
0
(c)
word (SP) ← (SP) - 2, ((SP)) ← (A)
-
-
-
-
-
-
-
-
-
-
PUSHW
AH
1
4
0
(c)
word (SP) ← (SP) - 2, ((SP)) ← (AH)
-
-
-
-
-
-
-
-
-
-
PUSHW
PS
1
4
0
(c)
word (SP) ← (SP) - 2, ((SP)) ← (PS)
-
-
-
-
-
-
-
-
-
-
PUSHW
rlst
2
*3
*5
*4
(SP) ← (SP) - 2n, ((SP)) ← (rlst)
-
-
-
-
-
-
-
-
-
-
POPW
A
1
3
0
(c)
word (A) ← ((SP)), (SP) ← (SP) + 2
-
*
-
-
-
-
-
-
-
-
POPW
AH
1
3
0
(c)
word (AH) ← ((SP)), (SP) ← (SP) + 2
-
-
-
-
-
-
-
-
-
-
POPW
PS
1
4
0
(c)
word (PS) ← ((SP)), (SP) ← (SP) + 2
-
-
*
*
*
*
*
*
*
-
POPW
rlst
2
*2
*5
*4
(rlst) ← ((SP)), (SP) ← (SP) + 2n
-
-
-
-
-
-
-
-
-
-
JCTX
@A
1
14
0
6 × (c)
コンテキストスイッチ命令
-
-
*
*
*
*
*
*
*
-
AND
CCR,#imm8
2
3
0
0
byte (CCR) ← (CCR) and imm8
-
-
*
*
*
*
*
*
*
-
OR
CCR,#imm8
2
3
0
0
byte (CCR) ← (CCR) or imm8
-
-
*
*
*
*
*
*
*
-
MOV
RP,#imm8
2
2
0
0
byte (RP) ← imm8
-
-
-
-
-
-
-
-
-
-
MOV
ILM,#imm8
2
2
0
0
byte (ILM) ← imm8
-
-
-
-
-
-
-
-
-
-
MOVEA
RWi,ear
2
3
1
0
word (RWi) ← ear
-
-
-
-
-
-
-
-
-
-
MOVEA
RWi,eam
2+
2+(a)
1
0
word (RWi) ← eam
-
-
-
-
-
-
-
-
-
-
MOVEA
A,ear
2
1
0
0
word (A) ← ear
-
*
-
-
-
-
-
-
-
-
MOVEA
A,eam
2+
1+(a)
0
0
word (A) ← eam
-
*
-
-
-
-
-
-
-
-
ADDSP
#imm8
2
3
0
0
word (SP) ← (SP) + ext(imm8)
-
-
-
-
-
-
-
-
-
-
ADDSP
#imm16
3
3
0
0
word (SP) ← (SP) + imm16
-
-
-
-
-
-
-
-
-
-
MOV
A,brg1
2
*1
0
0
byte (A) ← (brg1)
Z
*
-
-
-
*
*
-
-
-
MOV
brg2,A
2
1
0
0
byte (brg2) ← (A)
-
-
-
-
-
*
*
-
-
-
NOP
1
1
0
0
ノーオペレーション
-
-
-
-
-
-
-
-
-
-
ADB
1
1
0
0
AD 空間アクセス用プリフィックス
コード
-
-
-
-
-
-
-
-
-
-
DTB
1
1
0
0
DT 空間アクセス用プリフィックス
コード
-
-
-
-
-
-
-
-
-
-
PCB
1
1
0
0
PC 空間アクセス用プリフィックス
コード
-
-
-
-
-
-
-
-
-
-
SPB
1
1
0
0
SP 空間アクセス用プリフィックス
コード
-
-
-
-
-
-
-
-
-
-
NCC
1
1
0
0
フラグ無変化用プリフィックスコー
ド
-
-
-
-
-
-
-
-
-
-
CMR
1
1
0
0
コモンレジスタバンク用プリフィッ
クス
-
-
-
-
-
-
-
-
-
-
*1:PCB,ADB,SSB,USB・・・・・・1 ステート
DTB,DPR ・・・・・・・・・・2 ステート
*2:7+3 × (POP する回数 )+2 × (POP する最後のレジスタ番号 ), RLST=0( 転送レジスタ無し ) の場合 7
*3:29+3 × (PUSH する回数 )-3 × (PUSH する最後のレジスタ番号 ), RLST=0 ( 転送レジスタ無し ) の場合 8
*4:(POP する回数 ) × (c), または (PUSH する回数 ) × (c)
*5:(POP する回数 ), または (PUSH する回数 )
( 注意事項 ) 表中の (a),(c) は , 表 B.5-1 および表 B.5-2 を参照してください。
492
付録 B 命令
表 B.8-16 ビット操作命令 21 命令
#
ニーモニック
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
MOVB
A,dir:bp
3
5
0
(b)
byte (A) ← (dir:bp)b
Z
*
-
-
-
*
*
-
-
-
MOVB
A,addr16:bp
4
5
0
(b)
byte (A) ← (addr16:bp)b
Z
*
-
-
-
*
*
-
-
-
MOVB
A,io:bp
3
4
0
(b)
byte (A) ← (io:bp)b
Z
*
-
-
-
*
*
-
-
-
MOVB
dir:bp,A
3
7
0
2 × (b) bit (dir:bp)b ← (A)
-
-
-
-
-
*
*
-
-
*
MOVB
addr16:bp,A
4
7
0
2 × (b) bit (addr16:bp)b ← (A)
-
-
-
-
-
*
*
-
-
*
MOVB
io:bp,A
3
6
0
2 × (b) bit (io:bp)b ← (A)
-
-
-
-
-
*
*
-
-
*
SETB
dir:bp
3
7
0
2 × (b) bit (dir:bp)b ← 1
-
-
-
-
-
-
-
-
-
*
SETB
addr16:bp
4
7
0
2 × (b) bit (addr16:bp)b ← 1
-
-
-
-
-
-
-
-
-
*
SETB
io:bp
3
7
0
2 × (b) bit (io:bp)b ← 1
-
-
-
-
-
-
-
-
-
*
CLRB
dir:bp
3
7
0
2 × (b) bit (dir:bp)b ← 0
-
-
-
-
-
-
-
-
-
*
CLRB
addr16:bp
4
7
0
2 × (b) bit (addr16:bp)b ← 0
-
-
-
-
-
-
-
-
-
*
CLRB
io:bp
3
7
0
2 × (b) bit (io:bp)b ← 0
-
-
-
-
-
-
-
-
-
*
BBC
dir:bp,rel
4
*1
0
(b)
(dir:bp) b = 0 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBC
addr16:bp,rel
5
*1
0
(b)
(addr16:bp) b = 0 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBC
io:bp,rel
4
*2
0
(b)
(io:bp) b = 0 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBS
dir:bp,rel
4
*1
0
(b)
(dir:bp) b = 1 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBS
addr16:bp,rel
5
*1
0
(b)
(addr16:bp) b = 1 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBS
io:bp,rel
4
*2
0
(b)
(io:bp) b = 1 の場合分岐
-
-
-
-
-
-
*
-
-
-
SBBS
addr16:bp,rel
5
*3
0
-
-
-
-
-
-
*
-
-
*
2 × (b) (addr16:bp) b = 1 で分岐 ,
bit (addr16:bp) b ← 1
WBTS
io:bp
3
*4
0
*5
WBTC
io:bp
3
*4
0
*5
(io:bp) b = 1 になるまで待つ
-
-
-
-
-
-
-
-
-
-
(io:bp) b = 0 になるまで待つ
-
-
-
-
-
-
-
-
-
-
LH
AH
I
S
T
N
Z
V
C RMW
*1:分岐が行われる場合 , 8 分岐が行われない場合 , 7
*2:分岐が行われる場合 , 7 分岐が行われない場合 , 6
*3:条件成立の場合 , 10 未成立の場合 , 9
*4:不定回数
*5:条件が成立するまで
( 注意事項 ) 表中の (b) は , 表 B.5-1 および表 B.5-2 を参照してください。
表 B.8-17 アキュムレータ操作命令 ( バイト・ワード ) 6 命令
#
∼
RG
B
SWAP
1
3
0
0
byte (A)0-7 ←→ (A)8-15
-
-
-
-
-
-
-
-
-
-
SWAPW
1
2
0
0
word (AH) ←→ (AL)
-
*
-
-
-
-
-
-
-
-
EXT
1
1
0
0
byte 符号拡張
X
-
-
-
-
*
*
-
-
-
ニーモニック
オペレーション
EXTW
1
2
0
0
word 符号拡張
-
X
-
-
-
*
*
-
-
-
ZEXT
1
1
0
0
byte ゼロ拡張
Z
-
-
-
-
R
*
-
-
-
ZEXTW
1
1
0
0
word ゼロ拡張
-
Z
-
-
-
R
*
-
-
-
493
付録
表 B.8-18 ストリング命令 10 命令
#
∼
RG
B
MOVS / MOVSI
2
*2
*5
*3
MOVSD
2
*2
*5
*3
SCEQ / SCEQI
2
*1
*8
SCEQD
2
*1
*8
FILS / FILSI
2
6m+6
MOVSW / MOVSWI
2
*2
MOVSWD
2
*2
*5
SCWEQ / SCWEQI
2
*1
SCWEQD
2
*1
FILSW / FILSWI
2
6m+6
ニーモニック
LH
AH
I
S
T
N
Z
V
C RMW
byte 転送 @AH+ ← @AL+, カウンタ = RW0
-
-
-
-
-
-
-
-
-
-
byte 転送 @AH- ← @AL-, カウンタ = RW0
-
-
-
-
-
-
-
-
-
-
*4
byte 検索 @AH+ ← AL, カウンタ = RW0
-
-
-
-
-
*
*
*
*
-
*4
byte 検索 @AH- ← AL, カウンタ = RW0
-
-
-
-
-
*
*
*
*
-
*8
*3
byte 充填 @AH+ ← AL, カウンタ = RW0
-
-
-
-
-
*
*
-
-
-
*5
*6
word 転送 @AH+ ← @AL+, カウンタ = RW0
-
-
-
-
-
-
-
-
-
-
*6
word 転送 @AH- ← @AL-, カウンタ = RW0
-
-
-
-
-
-
-
-
-
-
*8
*7
word 検索 @AH+ - AL, カウンタ = RW0
-
-
-
-
-
*
*
*
*
-
*8
*7
word 検索 @AH- - AL, カウンタ = RW0
-
-
-
-
-
*
*
*
*
-
*8
*6
word 充填 @AH+ ← AL, カウンタ = RW0
-
-
-
-
-
*
*
-
-
-
オペレーション
*1:RW0 が "0" の場合 , 5 カウントアウトの場合 , 4+7 × (RW0) 一致した場合 , 7n+5
*2:RW0 が "0" の場合 , 5 "0" 以外の場合 , 4+8 × (RW0)
*3:(b) × (RW0)+(b) × (RW0) ソースとデスティネーションで異なる領域をアクセスする場合には , それぞれ別々に (b) の項目
を算出してください。
*4:(b)+n
*5:2 × (b) × (RW0)
*6:(c) × (RW0)+(c) × (RW0) ソースとデスティネーションで異なる領域をアクセスする場合には , それぞれ別々に (c) の項目
を算出してください。
*7:(c) × n
*8:(b) × (RW0)
( 注意事項 ) ・ m:RW0 値 ( カウンタ値 )
n:ループした回数
・ 表中の (b),(c) は , 表 B.5-1 および表 B.5-2 を参照してください。
494
付録 B 命令
B.9
命令マップ
F2MC-16LX の命令コードは , 1 ∼ 2 バイトで構成されていますので , 命令マップは
複数のページで構成されています。
F2MC-16LX の命令マップを示します。
■ 命令マップの構造
図 B.9-1 命令マップの構造
基本ページマップ
ビット操作系命令
文字列操作系命令
2 バイト系命令
:第 1 バイト
ea 系命令× 9
:第 2 バイト
1 バイトで終わる命令 (NOP 命令など ) は基本ページで完結し , 2 バイト必要とする命
令 (MOVS 命令など ) は第 1 バイトを参照した段階で第 2 バイト用のマップの存在がわ
かり , 第 2 バイト用のマップを参照して続く 1 バイトを調べることができます。
実際の命令コードと命令マップの対応を図 B.9-2 に示します。
495
付録
図 B.9-2 実際の命令コードと命令マップの対応
命令によっては
ない場合もある
命令によって
長さが異なる
命令コード 第 1 バイト
第 2 バイト
オペランド
オペランド
・・・
[ 基本ページマップ ]
XY
+Z
[ 拡張ページマップ ]*
UV
+W
*:拡張ページマップとはビット操作系命令・文字列操作系命令・2 バイト系命令・ea 系
命令の総称で , 実際は各系列の命令ごとに複数存在します。
命令コードの例を表 B.9-1 に示します。
表 B.9-1 命令コードの例
第 1 バイト
( 基本ページマップより )
第 2 バイト
( 拡張ページマップより )
NOP
00 + 0=00
―
AND A, #8
30 + 4=34
―
MOV A, ADB
60 + F=6F
00 + 0=00
@RW2+d8, #8, rel
70 + 0=70
F0 + 2=F2
命令
496
A
SWAP
ADDSP
ADB
SPB
#8
CMP
A, #8
A, #8
dir, A
A, dir
io, A
A, io
JMP
BRA
60
@A
rel
MULU
DIVU
ea 系命令
その 2
B0
C0
D0
E0
ea 系命令
その 8
ea 系命令
その 7
#4
rel
rel
BNT
BT
BNV
BV
BP
BN
rel
rel
rel
rel
rel
BNC/BHS
rel
BC/BLO
BNZ/BNE
rel
BZ/BEQ
F0
+F
+E
+D
+C
+B
LSRW
ASRW
LSLW
NEGW
A
A
A
A
XORW
ORW
ANDW
ANDW
PUSHW
POPW
A, #16
A
A
A
A
PUSHW
POPW
rlst
rlst
XORW
PUSHW
POPW
A, #16
PS
PS
MOVW
RWi, ea
2 バイト XCHW
RWi, ea
系命令
文字列操 XCH
Ri, ea
作系命令
MOVW
ea, RWi
ビット操 MOV
ea, Ri
作系命令
CMPW
MOVL
MOVW
RETI
A, #16
A, #32 addr16, A
ORW
PUSHW
POPW
A
A, #16
AH
AH
A
A
ADDSP
MULUW
NOTW
#16
A
SWAPW
ZEXTW
EXTW
CMPL
CMPW
A, #32
BHI
BLS
BGT
BLE
BGE
BLT
rel
rel
rel
rel
rel
rel
A
MOVW
MOVW
RETP
A, SP
io, #16
MOVX
MOVX
CALLP
ea 系命令
A, dir
A, io
addr24
その 6
MOVW
MOVX
RET
A
SP, A A, addr16
A, #8
A0
ADDW
MOVW
MOVW
INT
MOVW
MOVW
MOV A,
MOVW
ea 系命令 MOVW
A, #16
A, dir
A, io
#vct8
A, RWi
RWi, A RWi, #16 @RWi+d8 @RWi+d8,A
その 9
NOT
XOR
A, #8
90
rel
SUBL
SUBW
A, #32
A
A
A
OR
OR
CCR, #8
80
MOV
MOV
MOV
MOVX A, MOV
CALL
ea 系命令 MOV
A, Ri
Ri, A
Ri, #8
A, Ri @RWi+d8
A, #4
その 1
70
MOV
JMP
ea 系命令
A, addr16
addr16
その 3
MOV
MOV
50
MOVX
MOV
JMPP
ea 系命令
A, #8 addr16, A
addr24
その 4
MOV
MOV
MOV
40
MOV
MOV
CBNE A, CWBNE A, MOVW
MOVW
INTP
MOV
+A
RP, #8
ILM, #8
#8, rel
#16, rel
A, #16 A,addr16
addr24
Ri, ea
+9
UNLINK
A
A
A, #8
A, #8
SUBC
SUB
ADD
30
AND
AND
MOV
MOV
CALL
ea 系命令
CCR, #8
A, #8
dir, #8
io, #8
addr16
その 5
CMP
A
A, dir
A, dir
ADDC
SUB
ADD
20
LINK
ADDL
ADDW
#imm8
A, #32
ZEXT
DTB
@A
EXT
JCTX
PCB
A
SUBDC
ADDDC
NEG
NCC
INT9
A
CMR
NOP
10
SUBW
MOVW
MOVW
INT
MOVEA
A, #16
dir, A
io, A
addr16
RWi, ea
+8
+7
+6
+5
+4
+3
+2
+1
+0
00
付録 B 命令
表 B.9-2 基本ページマップ
497
498
+F
+E
+D
+C
+B
+A
+9
+8
+7
+6
+5
+4
+3
+2
+1
+0
10
MOVB
io:bp, A
20
30
CLRB
io:bp
40
50
SETB
io:bp
60
70
BBC
io;bp, rel
80
90
BBS
io:bp, rel
A0
B0
MOVB
MOVB A, MOVB
MOVB
CLRB
CLRB
SETB
SETB
BBC
BBC
BBS
BBS
A, dir:bp addr16:bp
dir:bp, A addr16:bp,A
dir:bp addr16:bp
dir:bp addr16:bp dir:bp, rel addr16:bp,rel dir:bp, rel addr16:bp,rel
MOVB
A, io:bp
00
WBTS
io:bp
C0
D0
WBTC
io:bp
E0
SBBS
addr16:bp
F0
付録
表 B.9-3 ビット操作系命令マップ ( 第 1 バイト =6CH)
MOVSI
MOVSD
PCB, PCB
PCB, DTB
PCB, ADB
PCB, SPB
DTB, PCB
DTB, DTB
DTB, ADB
DTB, SPB
ADB, PCB
ADB, DTB
ADB, ADB
ADB, SPB
SPB, PCB
SPB, DTB
SPB, ADB
SPB, SPB
+1
+2
+3
+4
+5
+6
+7
+8
+9
+A
+B
+C
+D
+E
+F
10
+0
00
MOVSWI
20
MOVSWD
30
40
50
60
70
90
A0
B0
C0
SPB
ADB
DTB
SPB
ADB
DTB
SPB
ADB
DTB
SPB
ADB
DTB
SPB
ADB
DTB
SCEQI
SCEQD
SCWEQI SCWEQD FILSI
PCB
PCB
PCB
PCB
PCB
80
D0
FILSI
SPB
ADB
DTB
PCB
E0
F0
付録 B 命令
表 B.9-4 文字列操作系命令マップ ( 第 1 バイト =6EH)
499
500
LSLW
LSLL
LSL
MOVW
MOVW
A, R0
A, R0
A, R0 @RL2+d8, A A, @RL2+d8
MOVW
MOVW
NRML
A, @A @AL, AH
A, R0
ASRW
ASRL
ASR
MOVW
MOVW
A, R0
A, R0
A, R0 @RL3+d8, A A, @RL3+d8
LSRW
LSRL
LSR
A, R0
A, R0
A, R0
+D
+E
+F
MOVW
MOVW
@RL1+d8, A A, @RL1+d8
MOVW
MOVW
@RL0+d8, A A, @RL0+d8
+C
+B
+A
+9
+8
A
MOV
MOV
MOVX
MOV
MOV
A, PCB
A, @A A, @RL3+d8 @RL3+d8, A A, @RL3+d8
+6
ROLC
MOV
MOV
A, @A @AL, AH
+5
A
MOV
MOV
MOVX
MOV
MOV
A, DPR
DPR, A A, @RL2+d8 @RL2+d8, A A, @RL2+d8
+4
ROLC
MOV
MOV
A, USB
USB, A
+3
+7
MOV
MOV
MOVX
MOV
MOV
A, SSB
SSB, A A, @RL1+d8 @RL1+d8, A A, @RL1+d8
+2
40
MOV
MOV
A, ADB
ADB, A
30
+1
20
MOV
MOV
MOVX
MOV
MOV
A, DTB
DTB, A A, @RL0+d8 @RL0+d8, A A, @RL0+d8
10
+0
00
50
60
DIVU
MULW
MUL
70
A
A
A
80
90
A0
B0
C0
D0
E0
F0
付録
表 B.9-5 2 バイト系命令マップ ( 第 1 バイト =6FH)
@PC+d16, CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
使用禁止
使用禁止
+E A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
ADDL
ADDL A, SUBL
SUBL A,
A,@RW3+
addr16 A,@RW3+
addr16
SUBL
SUBL
SUBL A,
SUBL A,
addr16, CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16
@RW1+RW7 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
使用禁止
+D A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
+F
使用禁止
@RW0+RW7 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
使用禁止
+C A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
ADDL A,
@RW3, @RW3+d16 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
ADDL
ADDL A,
SUBL
SUBL A,
A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
+B
ADDL
使用禁止
@RW2, @RW2+d16 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
ADDL
ADDL A,
SUBL
SUBL A,
A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
+A
ADDL A,
@RW1, @RW1+d16 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
ADDL
ADDL A,
SUBL
SUBL A,
A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
+9
ADDL
@RW0+RW7
,#8, rel
使用禁止
@RW0, @RW0+d16 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
ADDL
ADDL A,
SUBL
SUBL A,
A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
+8
SUBL A,
RW7, @RW7+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL3 @RW7+d8
A, RL3 @RW7+d8
A, RL3 @RW7+d8
A, RL3 @RW7+d8
ADDL
ADDL A, SUBL
SUBL A,
A, RL3 @RW7+d8
A, RL3 @RW7+d8
+7
SUBL
RW6, @RW6+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL3 @RW6+d8
A, RL3 @RW6+d8
A, RL3 @RW6+d8
A, RL3 @RW6+d8
ADDL
ADDL A, SUBL
SUBL A,
A, RL3 @RW6+d8
A, RL3 @RW6+d8
+6
ADDL A,
RW5, @RW5+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL2 @RW5+d8
A, RL2 @RW5+d8
A, RL2 @RW5+d8
A, RL2 @RW5+d8
ADDL
ADDL A, SUBL
SUBL A,
A, RL2 @RW5+d8
A, RL2 @RW5+d8
+5
ADDL
@RW3, @RW3+d16
#8, rel
,#8, rel
RW4, @RW4+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL2 @RW4+d8
A, RL2 @RW4+d8
A, RL2 @RW4+d8
A, RL2 @RW4+d8
使用禁止
addr16,
,#8, rel
@PC+d16,
,#8, rel
@RW1+RW7
,#8, rel
@RW2, @RW2+d16
#8, rel
,#8, rel
@RW1, @RW1+d16
#8, rel
,#8, rel
@RW0, @RW0+d16
#8, rel
,#8, rel
R7, @RW7+d8,
#8, rel
#8, rel
R6, @RW6+d8,
#8, rel
#8, rel
R5, @RW5+d8,
#8, rel
#8, rel
R4, @RW4+d8,
#8, rel
#8, rel
R3, @RW3+d8,
#8, rel
#8, rel
R2, @RW2+d8,
#8, rel
#8, rel
R1, @RW1+d8,
#8, rel
#8, rel
ADDL
ADDL A, SUBL
SUBL A,
A, RL2 @RW4+d8
A, RL2 @RW4+d8
CBNE↓
F0
R0, @RW0+d8,
#8, rel
#8, rel
CBNE↓
E0
+4
D0
RW3, @RW3+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL1 @RW3+d8
A, RL1 @RW3+d8
A, RL1 @RW3+d8
A, RL1 @RW3+d8
C0
ADDL
ADDL A, SUBL
SUBL A,
A, RL1 @RW3+d8
A, RL1 @RW3+d8
B0
+3
A0
RW2, @RW2+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL1 @RW2+d8
A, RL1 @RW2+d8
A, RL1 @RW2+d8
A, RL1 @RW2+d8
90
ADDL
ADDL A, SUBL
SUBL A,
A, RL1 @RW2+d8
A, RL1 @RW2+d8
80
+2
70
RW1, @RW1+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL0 @RW1+d8
A, RL0 @RW1+d8
A, RL0 @RW1+d8
A, RL0 @RW1+d8
CWBNE↓
CWBNE↓
60
ADDL
ADDL A, SUBL
SUBL A,
A, RL0 @RW1+d8
A, RL0 @RW1+d8
50
40
+1
30
+0
20
RW0, @RW0+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL0 @RW0+d8
A, RL0 @RW0+d8
A, RL0 @RW0+d8
A, RL0 @RW0+d8
10
ADDL
ADDL A, SUBL
SUBL A,
A, RL0 @RW0+d8
A, RL0 @RW0+d8
00
付録 B 命令
表 B.9-6 ea 系命令 その 1 ( 第 1 バイト =70H)
501
502
+F @@RW3+
JMPP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RW2+ @PC+d16
@RW2+ @PC+d16 A,@RW2+ @PC+d16 @RW2+,A @PC+d16, A @RW2+, #8 @PC+d16, #8 A,@RW2+ @PC+d16
CALLP
CALLP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@addr16 @@RW3+ @addr16 @RW3+
addr16 @RW3+
addr16 A,@RW3+
addr16 @RW3+,A
addr16, A @RW3+, #8
addr16, #8 A,@RW3+
addr16
JMPP
JMPP
CALLP @
+E @@RW2+ @@PC+d16 @@RW2+ @@PC+d16
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A,
MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 @RW1+,A @RW1+RW7,A @RW1+, #8 @RW1+RW7,#8 A,@RW1+ @RW1+RW7
JMPP @
+D @@RW1+ @RW1+RW7 @@RW1+ @RW1+RW7
JMPP
INCL
INCL
DECL
DECL
MOVL
MOVL A,
MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 @RW0+,A @RW0+RW7,A @RW0+, #8 @RW0+RW7,#8 A,@RW0+ @RW0+RW7
CALLP @
JMPP
JMPP @
CALLP
CALLP @
INCL
INCL
DECL
DECL
MOVL
MOVL A,
MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@@RW3 @RW3+d16 @@RW3 @RW3+d16
@RW3 @RW3+d16
@RW3 @RW3+d16 A,@RW3 @RW3+d16 @RW3,A @RW3+d16,A @RW3, #8 @RW3+d16,#8
A,@RW3 @RW3+d16
+B
CALLP
JMPP
JMPP @
CALLP
CALLP @
INCL
INCL
DECL
DECL
MOVL
MOVL A,
MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@@RW2 @RW2+d16 @@RW2 @RW2+d16
@RW2 @RW2+d16
@RW2 @RW2+d16 A,@RW2 @RW2+d16 @RW2,A @RW2+d16,A @RW2, #8 @RW2+d16,#8
A,@RW2 @RW2+d16
+A
JMPP @
JMPP
JMPP @
CALLP
CALLP @
INCL
INCL
DECL
DECL
MOVL
MOVL A,
MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@@RW1 @RW1+d16 @@RW1 @RW1+d16
@RW1 @RW1+d16
@RW1 @RW1+d16 A,@RW1 @RW1+d16 @RW1,A @RW1+d16,A @RW1, #8 @RW1+d16,#8
A,@RW1 @RW1+d16
+9
JMPP
JMPP
JMPP @
CALLP
CALLP @
INCL
INCL
DECL
DECL
MOVL
MOVL A,
MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@@RW0 @RW0+d16 @@RW0 @RW0+d16
@RW0 @RW0+d16
@RW0 @RW0+d16 A,@RW0 @RW0+d16 @RW0,A @RW0+d16,A @RW0, #8 @RW0+d16,#8
A,@RW0 @RW0+d16
+8
+C @@RW0+ @RW0+RW7 @@RW0+ @RW0+RW7
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL3 @@RW7+d8
@RL3 @@RW7+d8
RL3 @RW7+d8
RL3 @RW7+d8
A, RL3 @RW7+d8
RL3, A @RW7+d8,A
R7, #8 @RW7+d8,#8
A, RW7 @RW7+d8
F0
+7
E0
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL3 @@RW6+d8
@RL3 @@RW6+d8
RL3 @RW6+d8
RL3 @RW6+d8
A, RL3 @RW6+d8
RL3, A @RW6+d8,A
R6, #8 @RW6+d8,#8
A, RW6 @RW6+d8
D0
+6
C0
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL2 @@RW5+d8
@RL2 @@RW5+d8
RL2 @RW5+d8
RL2 @RW5+d8
A, RL2 @RW5+d8
RL2, A @RW5+d8,A
R5, #8 @RW5+d8,#8
A, RW5 @RW5+d8
B0
+5
A0
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL2 @@RW4+d8
@RL2 @@RW4+d8
RL2 @RW4+d8
RL2 @RW4+d8
A, RL2 @RW4+d8
RL2, A @RW4+d8,A
R4, #8 @RW4+d8,#8
A, RW4 @RW4+d8
90
+4
80
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL1 @@RW3+d8
@RL1 @@RW3+d8
RL1 @RW3+d8
RL1 @RW3+d8
A, RL1 @RW3+d8
RL1, A @RW3+d8,A
R3, #8 @RW3+d8,#8
A, RW3 @RW3+d8
70
+3
60
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL1 @@RW2+d8
@RL1 @@RW2+d8
RL1 @RW2+d8
RL1 @RW2+d8
A, RL1 @RW2+d8
RL1, A @RW2+d8,A
R2, #8 @RW2+d8,#8
A, RW2 @RW2+d8
50
+2
40
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL0 @@RW1+d8
@RL0 @@RW1+d8
RL0 @RW1+d8
RL0 @RW1+d8
A, RL0 @RW1+d8
RL0, A @RW1+d8,A
R1, #8 @RW1+d8,#8
A, RW1 @RW1+d8
30
+1
20
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL0 @@RW0+d8
@RL0 @@RW0+d8
RL0 @RW0+d8
RL0 @RW0+d8
A, RL0 @RW0+d8
RL0, A @RW0+d8,A
R0, #8 @RW0+d8,#8
A, RW0 @RW0+d8
10
+0
00
付録
表 B.9-7 ea 系命令 その 2 ( 第 1 バイト =71H)
D0
E0
F0
MOVX
MOVX A,
XCH
XCH A,
A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
MOVX
MOVX A,
XCH
XCH A,
A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV A,
MOV
MOV
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 @RW0+, A @RW0+RW7,A
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV A,
MOV
MOV
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 @RW1+, A @RW1+RW7,A
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16 A,@RW2+ @PC+d16 @RW2+, A @PC+d16, A A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16 A,@RW3+
addr16 @RW3+, A
addr16, A A,@RW3+
addr16 A,@RW3+
addr16
+D
+E
+F
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R7 @RW7+d8
A, R7 @RW7+d8
R7, A @RW7+d8,A
A, R7 @RW7+d8
A, R7 @RW7+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R6 @RW6+d8
A, R6 @RW6+d8
R6, A @RW6+d8,A
A, R6 @RW6+d8
A, R6 @RW6+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R5 @RW5+d8
A, R5 @RW5+d8
R5, A @RW5+d8,A
A, R5 @RW5+d8
A, R5 @RW5+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R4 @RW4+d8
A, R4 @RW4+d8
R4, A @RW4+d8,A
A, R4 @RW4+d8
A, R4 @RW4+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R3 @RW3+d8
A, R3 @RW3+d8
R3, A @RW3+d8,A
A, R3 @RW3+d8
A, R3 @RW3+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R2 @RW2+d8
A, R2 @RW2+d8
R2, A @RW2+d8,A
A, R2 @RW2+d8
A, R2 @RW2+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R1 @RW1+d8
A, R1 @RW1+d8
R1, A @RW1+d8,A
A, R1 @RW1+d8
A, R1 @RW1+d8
+C
INC
DEC
R7 @RW7+d8
C0
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW3 @RW3+d16
@RW3 @RW3+d16
@RW3 @RW3+d16
@RW3 @RW3+d16 A,@RW3 @RW3+d16 @RW3, A @RW3+d16,A
A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
ROLC
RORC
RORC
INC
R7 @RW7+d8
R7 @RW7+d8
ROLC
INC
DEC
R6 @RW6+d8
B0
+B
ROLC
RORC
RORC
INC
R6 @RW6+d8
R6 @RW6+d8
ROLC
INC
DEC
R5 @RW5+d8
A0
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW2 @RW2+d16
@RW2 @RW2+d16
@RW2 @RW2+d16
@RW2 @RW2+d16 A,@RW2 @RW2+d16 @RW2, A @RW2+d16,A
A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
ROLC
RORC
RORC
INC
R5 @RW5+d8
R5 @RW5+d8
ROLC
INC
DEC
R4 @RW4+d8
90
+A
ROLC
RORC
RORC
INC
R4 @RW4+d8
R4 @RW4+d8
ROLC
INC
DEC
R3 @RW3+d8
INC
DEC
R2 @RW2+d8
INC
DEC
R1 @RW1+d8
80
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R0 @RW0+d8
A, R0 @RW0+d8
R0, A @RW0+d8,A
A, R0 @RW0+d8
A, R0 @RW0+d8
70
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW1 @RW1+d16
@RW1 @RW1+d16
@RW1 @RW1+d16
@RW1 @RW1+d16 A,@RW1 @RW1+d16 @RW1, A @RW1+d16,A
A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
ROLC
RORC
RORC
INC
R3 @RW3+d8
R3 @RW3+d8
ROLC
60
INC
DEC
R0 @RW0+d8
50
+9
ROLC
RORC
RORC
INC
R2 @RW2+d8
R2 @RW2+d8
ROLC
40
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW0 @RW0+d16
@RW0 @RW0+d16
@RW0 @RW0+d16
@RW0 @RW0+d16 A,@RW0 @RW0+d16 @RW0, A @RW0+d16,A
A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
ROLC
RORC
RORC
INC
R1 @RW1+d8
R1 @RW1+d8
ROLC
30
ROLC
RORC
RORC
INC
R0 @RW0+d8
R0 @RW0+d8
20
ROLC
10
+8
+7
+6
+5
+4
+3
+2
+1
+0
00
付録 B 命令
表 B.9-8 ea 系命令 その 3 ( 第 1 バイト =72H)
503
504
+F @@RW3+
JMP
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW2+ @@PC+d16
@RW2+ @PC+d16 A,@RW2+ @PC+d16 @RW2+, A @PC+d16, A @RW2+, #16 @PC+d16, #16 A,@RW2+ @PC+d16
CALL
CALL
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@addr16 @@RW3+ @addr16 @RW3+
addr16 @RW3+
addr16 A,@RW3+
addr16 @RW3+, A
addr16, A @RW3+, #16
addr16, #16 A,@RW3+
addr16
JMP
JMP
XCHW
XCHW A,
A,@RW1+ @RW1+RW7
+E @@RW2+ @@PC+d16 @@RW2+ @@PC+d16
CALL @
MOVW
MOVW
@RW1+, #16 @RW1+RW7,#16
CALL
INCW
INCW @
DECW
DECW
MOVW
MOVW A,
MOVW
MOVW
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 @RW1+, A @RW1+RW7,A
JMP @
JMP
+D @@RW1+ @RW1+RW7 @@RW1+ @RW1+RW7
XCHW
XCHW A,
A,@RW0+ @RW0+RW7
MOVW
MOVW
@RW0+, #16 @RW0+RW7,#16
INCW
INCW @
DECW
DECW
MOVW
MOVW A,
MOVW
MOVW
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 @RW0+, A @RW0+RW7,A
CALL @
JMP
JMP @
CALL
CALL @
INCW
INCW @ DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@@RW3 @RW3+d16 @@RW3 @RW3+d16
@RW3 @RW3+d16
@RW3 @RW3+d16 A,@RW3 @RW3+d16 @RW3, A @RW3+d16,A @RW3, #16 @RW3+d16,#16
A,@RW3 @RW3+d16
+B
CALL
JMP
JMP @
CALL
CALL @
INCW
INCW @ DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@@RW2 @RW2+d16 @@RW2 @RW2+d16
@RW2 @RW2+d16
@RW2 @RW2+d16 A,@RW2 @RW2+d16 @RW2, A @RW2+d16,A @RW2, #16 @RW2+d16,#16
A,@RW2 @RW2+d16
+A
JMP @
JMP
JMP @
CALL
CALL @
INCW
INCW @ DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@@RW1 @RW1+d16 @@RW1 @RW1+d16
@RW1 @RW1+d16
@RW1 @RW1+d16 A,@RW1 @RW1+d16 @RW1, A @RW1+d16,A @RW1, #16 @RW1+d16,#16
A,@RW1 @RW1+d16
+9
JMP
JMP
JMP @
CALL
CALL @
INCW
INCW @ DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@@RW0 @RW0+d16 @@RW0 @RW0+d16
@RW0 @RW0+d16
@RW0 @RW0+d16 A,@RW0 @RW0+d16 @RW0,A @RW0+d16,A @RW0, #16 @RW0+d16,#16
A,@RW0 @RW0+d16
+8
+C @@RW0+ @RW0+RW7 @@RW0+ @RW0+RW7
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW7 @@RW7+d8
RW7 @@RW7+d8
RW7 @RW7+d8
RW7 @RW7+d8
A, RW7 @RW7+d8
RW7, A @RW7+d8,A
RW7, #16 @RW7+d8,#16
A, RW7 @RW7+d8
F0
+7
E0
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW6 @@RW6+d8
RW6 @@RW6+d8
RW6 @RW6+d8
RW6 @RW6+d8
A, RW6 @RW6+d8
RW6, A @RW6+d8,A
RW6, #16 @RW6+d8,#16
A, RW6 @RW6+d8
D0
+6
C0
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW5 @@RW5+d8
RW5 @@RW5+d8
RW5 @RW5+d8
RW5 @RW5+d8
A, RW5 @RW5+d8
RW5, A @RW5+d8,A
RW5, #16 @RW5+d8,#16
A, RW5 @RW5+d8
B0
+5
A0
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW4 @@RW4+d8
RW4 @@RW4+d8
RW4 @RW4+d8
RW4 @RW4+d8
A, RW4 @RW4+d8
RW4, A @RW4+d8,A
RW4, #16 @RW4+d8,#16
A, RW4 @RW4+d8
90
+4
80
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW3 @@RW3+d8
RW3 @@RW3+d8
RW3 @RW3+d8
RW3 @RW3+d8
A, RW3 @RW3+d8
RW3, A @RW3+d8,A
RW3, #16 @RW3+d8,#16
A, RW3 @RW3+d8
70
+3
60
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW2 @@RW2+d8
RW2 @@RW2+d8
RW2 @RW2+d8
RW2 @RW2+d8
A, RW2 @RW2+d8
RW2, A @RW2+d8,A
RW2, #16 @RW2+d8,#16
A, RW2 @RW2+d8
50
+2
40
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW1 @@RW1+d8
RW1 @@RW1+d8
RW1 @RW1+d8
RW1 @RW1+d8
A, RW1 @RW1+d8
RW1, A @RW1+d8,A
RW1, #16 @RW1+d8,#16
A, RW1 @RW1+d8
30
+1
20
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW0 @@RW0+d8
RW0 @@RW0+d8
RW0 @RW0+d8
RW0 @RW0+d8
A, RW0 @RW0+d8
RW0, A @RW0+d8,A
RW0, #16 @RW0+d8,#16
A, RW0 @RW0+d8
10
+0
00
付録
表 B.9-9 ea 系命令 その 4 ( 第 1 バイト =73H)
ADD
ADD
A, ADDC
ADDC
A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW0+ @RW0+RW7 @RW0+, r W0+RW7, r
SUB
A, ADDC
ADDC
A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW1+ @RW1+RW7 @RW1+, r W1+RW7, r
ADD
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16,
A,@RW2+ @PC+d16 @RW2+, r PC+d16, r
ADD
ADD
SUB
SUB
ADDC
ADDC
CMP
CMP
AND
AND
OR
OR
XOR
XOR
DBNZ
DBNZ
A,@RW3+ A, addr16 A,@RW3+ A, addr16 A,@RW3+ A, addr16 A,@RW3+ A, addr16 A,@RW3+ A, addr16 A,@RW3+
A, addr16 A,@RW3+ A, addr16 @RW3+, r
addr16, r
+E
+F
+D A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
A, SUB
+C A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
SUB
ADD
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
A,@RW3 @RW3+d16 @RW3, r W3+d16, r
+B
A, SUB
ADD
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
A,@RW2 @RW2+d16 @RW2, r W2+d16, r
+A
ADD
ADD
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
A,@RW1 @RW1+d16 @RW1, r W1+d16, r
+9
ADD
ADD
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
A,@RW0 @RW0+d16 @RW0, r W0+d16, r
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R7 @RW7+d8
A, R7 @RW7+d8
A, R7 @RW7+d8
A, R7 @RW7+d8
A, R7 @RW7+d8
A, R7 @RW7+d8
A, R7 @RW7+d8
R7, r RW7+d8, r
ADD
F0
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R6 @RW6+d8
A, R6 @RW6+d8
A, R6 @RW6+d8
A, R6 @RW6+d8
A, R6 @RW6+d8
A, R6 @RW6+d8
A, R6 @RW6+d8
R6, r RW6+d8, r
E0
ADD
D0
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R5 @RW5+d8
A, R5 @RW5+d8
A, R5 @RW5+d8
A, R5 @RW5+d8
A, R5 @RW5+d8
A, R5 @RW5+d8
A, R5 @RW5+d8
R5, r RW5+d8, r
C0
ADD
B0
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R4 @RW4+d8
A, R4 @RW4+d8
A, R4 @RW4+d8
A, R4 @RW4+d8
A, R4 @RW4+d8
A, R4 @RW4+d8
A, R4 @RW4+d8
R4, r RW4+d8, r
A0
ADD
90
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R3 @RW3+d8
A, R3 @RW3+d8
A, R3 @RW3+d8
A, R3 @RW3+d8
A, R3 @RW3+d8
A, R3 @RW3+d8
A, R3 @RW3+d8
R3, r RW3+d8, r
80
ADD
70
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R2 @RW2+d8
A, R2 @RW2+d8
A, R2 @RW2+d8
A, R2 @RW2+d8
A, R2 @RW2+d8
A, R2 @RW2+d8
A, R2 @RW2+d8
R2, r RW2+d8, r
60
ADD
50
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R1 @RW1+d8
A, R1 @RW1+d8
A, R1 @RW1+d8
A, R1 @RW1+d8
A, R1 @RW1+d8
A, R1 @RW1+d8
A, R1 @RW1+d8
R1, r RW1+d8, r
40
ADD
30
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R0 @RW0+d8
A, R0 @RW0+d8
A, R0 @RW0+d8
A, R0 @RW0+d8
A, R0 @RW0+d8
A, R0 @RW0+d8
A, R0 @RW0+d8
R0, r RW0+d8, r
20
ADD
10
+8
+7
+6
+5
+4
+3
+2
+1
+0
00
付録 B 命令
表 B.9-10 ea 系命令 その 5 ( 第 1 バイト =74H)
505
506
NOT
NOT
@RW1+ @RW1+RW7
ADD
ADD @R
SUB
SUB
SUBC
SUBC A,
NEG
NEG A,
AND
AND
OR
OR
XOR
XOR
@RW1+, A @RW1+RW7,A @RW1+, A @RW1+RW7,A A,@RW1+ @RW1+RW7
@RW1+ @RW1+RW7 @RW1+, A @RW1+RW7,A @RW1+, A @RW1+RW7,A @RW1+, A @RW1+RW7,A
SUB
SUB
@RW2+, A @PC+d16,A
SUB
SUB
@RW3+, A addr16, A
ADD
ADD
@RW2+, A @PC+d16,A
ADD
ADD
@RW3+, A addr16, A
+D
+E
+F
SUBC
SUBC A, NEG
NEG A,
AND
AND
A,@RW3+
addr16 @RW3+
addr16 @RW3+, A addr16, A
OR
OR
@RW3+, A addr16, A
XOR
XOR
@RW3+, A addr16, A
NOT
NOT
@RW3+
addr16
OR
OR
XOR
XOR
NOT
NOT
@RW2+, A @PC+d16,A @RW2+, A @PC+d16,A
@RW2+ @PC+d16
NOT
NOT
@RW0+ @RW0+RW7
ADD
ADD @R
SUB
SUB
SUBC
SUBC A,
NEG
NEG A,
AND
AND
OR
OR
XOR
XOR
@RW0+, A @RW0+RW7,A @RW0+, A @RW0+RW7,A A,@RW0+ @RW0+RW7
@RW0+ @RW0+RW7 @RW0+, A @RW0+RW7,A @RW0+, A @RW0+RW7,A @RW0+, A @RW0+RW7,A
+C
SUBC
SUBC A, NEG
NEG A,
AND
AND
A,@RW2+ @PC+d16
@RW2+ @PC+d16 @RW2+, A @PC+d16,A
NOT
NOT
@RW3 @RW3+d16
ADD
ADD @R
SUB
SUB
SUBC
SUBC A, NEG
NEG A,
AND
AND
OR
OR
XOR
XOR
@RW3, A @RW3+d16,A @RW3, A @RW3+d16,A A, @RW3 @RW3+d16
@RW3 @RW3+d16 @RW3, A @RW3+d16,A @RW3, A @RW3+d16,A @RW3, A @RW3+d16,A
NOT
R7 @RW7+d8
NOT
R6 @RW6+d8
NOT
R5 @RW5+d8
NOT
R4 @RW4+d8
+B
XOR
NOT
R7, A @RW7+d8, A
XOR
NOT
R6, A @RW6+d8, A
XOR
NOT
R5, A @RW5+d8, A
XOR
NOT
R4, A @RW4+d8, A
NOT
R3 @RW3+d8
NOT
R2 @RW2+d8
NOT
R1 @RW1+d8
NOT
NOT
@RW2 @RW2+d16
XOR
NOT
XOR
NOT
R3, A @RW3+d8, A
XOR
R2, A @RW2+d8,A
XOR
NOT
R1, A @RW1+d8, A
NOT
R0 @RW0+d8
F0
ADD
ADD @R
SUB
SUB
SUBC
SUBC A, NEG
NEG A,
AND
AND
OR
OR
XOR
XOR
@RW2, A @RW2+d16,A @RW2, A @RW2+d16,A A, @RW2 @RW2+d16
@RW2 @RW2+d16 @RW2, A @RW2+d16,A @RW2, A @RW2+d16,A @RW2, A @RW2+d16,A
NEG A,
AND
AND
OR
OR
R7 @RW7+d8
R7, A @RW7+d8, A
R7, A @RW7+d8, A
XOR
XOR
XOR
XOR
XOR
XOR
E0
XOR
NOT
R0, A @RW0+d8, A
D0
+A
ADD
SUB
SUB
SUBC
SUBC A, NEG
R7, A @RW7+d8, A
R7, A @RW7+d8, A
A, R7 @RW7+d8
ADD
NEG A,
AND
AND
OR
OR
R6 @RW6+d8
R6, A @RW6+d8, A
R6, A @RW6+d8, A
NEG A,
AND
AND
OR
OR
R5 @RW5+d8
R5, A @RW5+d8, A
R5, A @RW5+d8, A
NEG A,
AND
AND
OR
OR
R4 @RW4+d8
R4, A @RW4+d8, A
R4, A @RW4+d8, A
NEG A,
AND
AND
OR
OR
R3 @RW3+d8
R3, A @RW3+d8, A
R3, A @RW3+d8, A
NEG A,
AND
AND
OR
OR
R2 @RW2+d8
R2, A @RW2+d8,A
R2, A @RW2+d8,A
NEG A,
AND
AND
OR
OR
R1 @RW1+d8
R1, A @RW1+d8, A
R1, A @RW1+d8, A
XOR
C0
NOT
NOT
@RW1 @RW1+d16
ADD
SUB
SUB
SUBC
SUBC A, NEG
R6, A @RW6+d8, A
R6, A @RW6+d8, A
A, R6 @RW6+d8
ADD
B0
ADD
ADD @R
SUB
SUB
SUBC
SUBC A, NEG
NEG A,
AND
AND
OR
OR
XOR
XOR
@RW1, A @RW1+d16,A @RW1, A @RW1+d16,A A, @RW1 @RW1+d16
@RW1 @RW1+d16 @RW1, A @RW1+d16,A @RW1, A @RW1+d16,A @RW1, A @RW1+d16,A
ADD
SUB
SUB
SUBC
SUBC A, NEG
R5, A @RW5+d8, A
R5, A @RW5+d8, A
A, R5 @RW5+d8
ADD
A0
+9
ADD
SUB
SUB
SUBC
SUBC A, NEG
R4, A @RW4+d8, A
R4, A @RW4+d8, A
A, R4 @RW4+d8
ADD
90
NOT
NOT
@RW0 @RW0+d16
ADD
SUB
SUB
SUBC
SUBC A, NEG
R3, A @RW3+d8, A
R3, A @RW3+d8, A
A, R3 @RW3+d8
ADD
80
NEG A,
AND
AND
OR
OR
R0 @RW0+d8
R0, A @RW0+d8, A
R0, A @RW0+d8, A
70
ADD
ADD
SUB
SUB
SUBC
SUBC A, NEG
NEG A,
AND
AND
OR
OR
XOR
XOR
@RW0, A @RW0+d16,A @RW0, A @RW0+d16,A A, @RW0 @RW0+d16
@RW0 @RW0+d16 @RW0, A @RW0+d16,A @RW0, A @RW0+d16,A @RW0, A @RW0+d16,A
ADD
SUB
SUB
SUBC
SUBC A, NEG
R2, A @RW2+d8,A
R2, A @RW2+d8,A
A, R2 @RW2+d8
60
ADD
50
ADD
SUB
SUB
SUBC
SUBC A, NEG
R1, A @RW1+d8, A
R1, A @RW1+d8, A
A, R1 @RW1+d8
40
ADD
30
ADD
SUB
SUB
SUBC
SUBC A, NEG
R0, A @RW0+d8, A
R0, A @RW0+d8, A
A, R0 @RW0+d8
20
ADD
10
+8
+7
+6
+5
+4
+3
+2
+1
+0
00
付録
表 B.9-11 ea 系命令 その 6 ( 第 1 バイト =75H)
ADDW A, SUBW
ADDW
ADDCW
+F
CMPW
CMPW A,
ANDW
ANDW A,
ANDW A,
ORW
ORW
ORW
ORW
A,
A,
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16, A,@RW2+ @PC+d16 @RW2+, r @PC+d16,r
ADDCW A,
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A,@RW3+
addr 16 A,@RW3+ addr 16
A,@RW3+
addr 16 A,@RW3+
addr 16 A,@RW3+
addr 16 A,@RW3+
addr16 A,@RW3+
addr 16 @RW3+, r
addr16, r
+E A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
SUBW A, ADDCW
SUBW A,
ANDW
XORW
XORW A,
DWBNZ
DWBNZ
A,@RW1+ @RW1+RW7 @RW1+, r @RW1+RW7,r
SUBW
ADDW A,
ADDW
CMPW A,
+D A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
CMPW
XORW
XORW A,
DWBNZ
DWBNZ
A,@RW0+ @RW0+RW7 @RW0+, r @RW0+RW7,r
ADDCW A,
+C A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
ADDCW
XORW
XORW A, DWBNZ
DWBNZ
A,@RW3 @RW3+d16 @RW3, r @RW3+d16,r
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A,
A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
+B
SUBW A,
XORW
XORW A, DWBNZ
DWBNZ
A,@RW2 @RW2+d16 @RW2, r @RW2+d16,r
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A,
A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
+A
SUBW
XORW
XORW A, DWBNZ
DWBNZ
A,@RW1 @RW1+d16 @RW1, r @RW1+d16,r
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A,
A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
+9
ADDW A,
XORW
XORW A, DWBNZ
DWBNZ
A,@RW0 @RW0+d16 @RW0, r @RW0+d16,r
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A,
A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
+8
ADDW
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW7 @RW7+d8
A, RW7 @RW7+d8
A, RW7 @RW7+d8
A, RW7 @RW7+d8
A, RW7 @RW7+d8
A, RW7 @RW7+d8
A, RW7 @RW7+d8
RW7, r @RW7+d8,r
F0
+7
E0
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW6 @RW6+d8
A, RW6 @RW6+d8
A, RW6 @RW6+d8
A, RW6 @RW6+d8
A, RW6 @RW6+d8
A, RW6 @RW6+d8
A, RW6 @RW6+d8
RW6, r @RW6+d8,r
D0
+6
C0
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW5 @RW5+d8
A, RW5 @RW5+d8
A, RW5 @RW5+d8
A, RW5 @RW5+d8
A, RW5 @RW5+d8
A, RW5 @RW5+d8
A, RW5 @RW5+d8
RW5, r @RW5+d8,r
B0
+5
A0
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW4 @RW4+d8
A, RW4 @RW4+d8
A, RW4 @RW4+d8
A, RW4 @RW4+d8
A, RW4 @RW4+d8
A, RW4 @RW4+d8
A, RW4 @RW4+d8
RW4, r @RW4+d8,r
90
+4
80
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW3 @RW3+d8
A, RW3 @RW3+d8
A, RW3 @RW3+d8
A, RW3 @RW3+d8
A, RW3 @RW3+d8
A, RW3 @RW3+d8
A, RW3 @RW3+d8
RW3, r @RW3+d8,r
70
+3
60
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW2 @RW2+d8
A, RW2 @RW2+d8
A, RW2 @RW2+d8
A, RW2 @RW2+d8
A, RW2 @RW2+d8
A, RW2 @RW2+d8
A, RW2 @RW2+d8
RW2, r @RW2+d8,r
50
+2
40
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW1 @RW1+d8
A, RW1 @RW1+d8
A, RW1 @RW1+d8
A, RW1 @RW1+d8
A, RW1 @RW1+d8
A, RW1 @RW1+d8
A, RW1 @RW1+d8
RW1, r @RW1+d8,r
30
+1
20
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW0 @RW0+d8
A, RW0 @RW0+d8
A, RW0 @RW0+d8
A, RW0 @RW0+d8
A, RW0 @RW0+d8
A, RW0 @RW0+d8
A, RW0 @RW0+d8
RW0, r @RW0+d8,r
10
+0
00
付録 B 命令
表 B.9-12 ea 系命令 その 7 ( 第 1 バイト =76H)
507
508
ORW
ORW
XORW
XORW
NOTW
NOTW
RW6, A @RW6+d8, A
RW6, A @RW6+d8, A
RW6 @RW6+d8
ORW
ORW
XORW
XORW
NOTW
NOTW
RW7, A @RW7+d8, A
RW7, A @RW7+d8, A
RW7 @RW7+d8
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW6, A @RW6+d8, A
RW6, A @RW6+d8, A
A, RW6 @RW6+d8
RW6 @RW6+d8
RW6, A @RW6+d8, A
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW7, A @RW7+d8, A
RW7, A @RW7+d8, A
A, RW7 @RW7+d8
RW7 @RW7+d8
RW7, A @RW7+d8, A
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW0, A @RW0+d16,A @RW0, A @RW0+d16,A A, @RW0 @RW0+d16
@RW0 @RW0+d16 @RW0, A @RW0+d16,A @RW0, A @RW0+d16,A @RW0, A @RW0+d16,A
@RW0 @RW0+d16
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW1, A @RW1+d16,A @RW1, A @RW1+d16,A A, @RW1 @RW1+d16
@RW1 @RW1+d16 @RW1, A @RW1+d16,A @RW1, A @RW1+d16,A @RW1, A @RW1+d16,A
@RW1 @RW1+d16
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW2, A @RW2+d16,A @RW2, A @RW2+d16,A A, @RW2 @RW2+d16
@RW2 @RW2+d16 @RW2, A @RW2+d16,A @RW2, A @RW2+d16,A @RW2, A @RW2+d16,A
@RW2 @RW2+d16
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW3, A @RW3+d16,A @RW3, A @RW3+d16,A A, @RW3 @RW3+d16
@RW3 @RW3+d16 @RW3, A @RW3+d16,A @RW3, A @RW3+d16,A @RW3, A @RW3+d16,A
@RW3 @RW3+d16
ADDW
ADDW
SUBW
SUBW
SUBCW
SUBCW A,
NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW0+, A @RW0+RW7,A @RW0+, A @RW0+RW7,A A,@RW0+ @RW0+RW7
@RW0+ @RW0+RW7 @RW0+, A @RW0+RW7,A @RW0+, A @RW0+RW7,A @RW0+, A @RW0+RW7,A
@RW0+ @RW0+RW7
ADDW
ADDW
SUBW
SUBW
SUBCW
SUBCW A,
NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW1+, A @RW1+RW7,A @RW1+, A @RW1+RW7,A A,@RW1+ @RW1+RW7
@RW1+ @RW1+RW7 @RW1+, A @RW1+RW7,A @RW1+, A @RW1+RW7,A @RW1+, A @RW1+RW7,A
@RW1+ @RW1+RW7
SUBW
SUBW
@RW2+, A @PC+d16,A
SUBW
SUBW
@RW3+, A addr16, A
ADDW
ADDW
@RW2+, A @PC+d16,A
ADDW
ADDW
@RW3+, A addr16, A
+6
+7
+8
+9
+A
+B
+C
+D
+E
+F
SUBCW
SUBCW A, NEGW
NEGW
ANDW
ANDW
A,@RW3+
addr16 @RW3+
addr16 @RW3+, A addr16, A
ORW
ORW
@RW3+, A addr16, A
XORW
XORW
@RW3+, A addr16, A
NOTW
NOTW
@RW3+
addr16
SUBCW
SUBCW A, NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
A,@RW2+ @PC+d16
@RW2+ @PC+d16 @RW2+, A @PC+d16,A @RW2+, A @PC+d16,A @RW2+, A @PC+d16,A
@RW2+ @PC+d16
ORW
ORW
XORW
XORW
NOTW
NOTW
RW5, A @RW5+d8, A
RW5, A @RW5+d8, A
RW5 @RW5+d8
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW5, A @RW5+d8, A
RW5, A @RW5+d8, A
A, RW5 @RW5+d8
RW5 @RW5+d8
RW5, A @RW5+d8, A
+5
F0
ORW
ORW
XORW
XORW
NOTW
NOTW
RW4, A @RW4+d8, A
RW4, A @RW4+d8, A
RW4 @RW4+d8
E0
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW4, A @RW4+d8, A
RW4, A @RW4+d8, A
A, RW4 @RW4+d8
RW4 @RW4+d8
RW4, A @RW4+d8, A
D0
+4
C0
ORW
ORW
XORW
XORW
NOTW
NOTW
RW3, A @RW3+d8, A
RW3, A @RW3+d8, A
RW3 @RW3+d8
B0
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW3, A @RW3+d8, A
RW3, A @RW3+d8, A
A, RW3 @RW3+d8
RW3 @RW3+d8
RW3, A @RW3+d8, A
A0
+3
90
ORW
ORW
XORW
XORW
NOTW
NOTW
RW2, A @RW2+d8, A
RW2, A @RW2+d8, A
RW2 @RW2+d8
80
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW2, A @RW2+d8, A
RW2, A @RW2+d8, A
A, RW2 @RW2+d8
RW2 @RW2+d8
RW2, A @RW2+d8, A
70
+2
60
ORW
ORW
XORW
XORW
NOTW
NOTW
RW1, A @RW1+d8, A
RW1, A @RW1+d8, A
RW1 @RW1+d8
50
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW1, A @RW1+d8, A
RW1, A @RW1+d8, A
A, RW1 @RW1+d8
RW1 @RW1+d8
RW1, A @RW1+d8, A
40
+1
30
ORW
ORW
XORW
XORW
NOTW
NOTW
RW0, A @RW0+d8, A
RW0, A @RW0+d8, A
RW0 @RW0+d8
20
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW0, A @RW0+d8, A
RW0, A @RW0+d8, A
A, RW0 @RW0+d8
RW0 @RW0+d8
RW0, A @RW0+d8, A
10
+0
00
付録
表 B.9-13 ea 系命令 その 8 ( 第 1 バイト =77H)
A,
MULU
+F
DIV
DIV
A, DIVW
DIVW A,
A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
DIV
DIV
A, DIVW
DIVW A,
A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
DIV
DIV
A, DIVW
DIVW A,
A,@RW3 @RW3+d16
A,@RW3 @RW3+d16
DIV
DIV
A, DIVW
DIVW A,
A,@RW2 @RW2+d16
A,@RW2 @RW2+d16
DIV
DIV
A, DIVW
DIVW A,
A,@RW1 @RW1+d16
A,@RW1 @RW1+d16
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, @RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
A, DIVW
DIVW A,
addr16 A,@RW3+
addr16
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
A,@RW2+ @PC+d16
MULUW
MULUW A, MUL
MUL A,
MULW
MULW A,
DIVU
DIVU A,
DIVUW
DIVUW A,
A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
A, MULUW
@RW1+RW7
MULU
@RW0+RW7
+E A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
MULU
+D A,@RW1+
MULU
+C A,@RW0+
MULUW
MULUW A, MUL
MUL A,
MULW
MULW A,
DIVU
DIVU A,
DIVUW
DIVUW A,
A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A,
A, @RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
MULU
MULU A, MULUW
MULUW A,
A,@RW3 @RW3+d16
A,@RW3 @RW3+d16
+B
A,
MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A,
A, @RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
MULU
MULU A, MULUW
MULUW A,
A,@RW2 @RW2+d16
A,@RW2 @RW2+d16
+A
MULU
MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A,
A, @RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
MULU
MULU A, MULUW
MULUW A,
A,@RW1 @RW1+d16
A,@RW1 @RW1+d16
+9
MULU
MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A,
A, @RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
MULU
MULU A, MULUW
MULUW A,
A,@RW0 @RW0+d16
A,@RW0 @RW0+d16
+8
DIV
DIV
A, DIVW
DIVW A,
A,@RW0 @RW0+d16
A,@RW0 @RW0+d16
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R7 @RW7+d8
A, RW7 @RW7+d8
A, R7 @RW7+d8
A, RW7 @RW7+d8
A, R7 @RW7+d8
A, RW7 @RW7+d8
A, R7 @RW7+d8
A, RW7 @RW7+d8
F0
+7
E0
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R6 @RW6+d8
A, RW6 @RW6+d8
A, R6 @RW6+d8
A, RW6 @RW6+d8
A, R6 @RW6+d8
A, RW6 @RW6+d8
A, R6 @RW6+d8
A, RW6 @RW6+d8
D0
+6
C0
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R5 @RW5+d8
A, RW5 @RW5+d8
A, R5 @RW5+d8
A, RW5 @RW5+d8
A, R5 @RW5+d8
A, RW5 @RW5+d8
A, R5 @RW5+d8
A, RW5 @RW5+d8
B0
+5
A0
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R4 @RW4+d8
A, RW4 @RW4+d8
A, R4 @RW4+d8
A, RW4 @RW4+d8
A, R4 @RW4+d8
A, RW4 @RW4+d8
A, R4 @RW4+d8
A, RW4 @RW4+d8
90
+4
80
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R3 @RW3+d8
A, RW3 @RW3+d8
A, R3 @RW3+d8
A, RW3 @RW3+d8
A, R3 @RW3+d8
A, RW3 @RW3+d8
A, R3 @RW3+d8
A, RW3 @RW3+d8
70
+3
60
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R2 @RW2+d8
A, RW2 @RW2+d8
A, R2 @RW2+d8
A, RW2 @RW2+d8
A, R2 @RW2+d8
A, RW2 @RW2+d8
A, R2 @RW2+d8
A, RW2 @RW2+d8
50
+2
40
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R1 @RW1+d8
A, RW1 @RW1+d8
A, R1 @RW1+d8
A, RW1 @RW1+d8
A, R1 @RW1+d8
A, RW1 @RW1+d8
A, R1 @RW1+d8
A, RW1 @RW1+d8
30
+1
20
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R0 @RW0+d8
A, RW0 @RW0+d8
A, R0 @RW0+d8
A, RW0 @RW0+d8
A, R0 @RW0+d8
A, RW0 @RW0+d8
A, R0 @RW0+d8
A, RW0 @RW0+d8
10
+0
00
付録 B 命令
表 B.9-14 ea 系命令 その 9 ( 第 1 バイト =78H)
509
510
MOVEA
MOVEA RW1
RW1,RW2 ,@RW2+d8
MOVEA
MOVEA RW1
RW1,RW3 ,@RW3+d8
MOVEA
MOVEA RW1
RW1,RW4 ,@RW4+d8
MOVEA
MOVEA RW1
RW1,RW5 ,@RW5+d8
MOVEA
MOVEA RW1
RW1,RW6 ,@RW6+d8
MOVEA
MOVEA RW1
RW1,RW7 ,@RW7+d8
MOVEA
MOVEA RW1
RW1,@RW0 ,@RW0+d16
MOVEA
MOVEA RW1
RW1,@RW1 ,@RW1+d16
MOVEA
MOVEA RW1
RW1,@RW2 ,@RW2+d16
MOVEA
MOVEA RW1
RW1,@RW3 ,@RW3+d16
MOVEA
MOVEA RW0
RW0,RW2 ,@RW2+d8
MOVEA
MOVEA RW0
RW0,RW3 ,@RW3+d8
MOVEA
MOVEA RW0
RW0,RW4 ,@RW4+d8
MOVEA
MOVEA RW0
RW0,RW5 ,@RW5+d8
MOVEA
MOVEA RW0
RW0,RW6 ,@RW6+d8
MOVEA
MOVEA RW0
RW0,RW7 ,@RW7+d8
MOVEA
MOVEA RW0
RW0,@RW0 ,@RW0+d16
MOVEA
MOVEA RW0
RW0,@RW1 ,@RW1+d16
MOVEA RW0
MOVEA RW0
MOVEA
MOVEA
+2
+3
+4
+5
+6
+7
+8
+9
50
70
90
B0
C0
D0
E0
F0
MOVEA
MOVEA RW4
RW4,@RW2+ ,@PC+d16
MOVEA
MOVEA
RW6,@RW3+ RW6, addr16
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
RW0,@RW3+ RW0, addr16 RW1,@RW3+ RW1, addr16 RW2,@RW3+ RW2, addr16 RW3,@RW3+ RW3, addr16 RW4,@RW3+ RW4, addr16 RW5,@RW3+ RW5, addr16
MOVEA
MOVEA RW3
RW3,@RW2+ ,@PC+d16
+F
MOVEA
MOVEA RW2
RW2,@RW2+ ,@PC+d16
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,@RW2+ ,@PC+d16
RW6,@RW2+ ,@PC+d16
RW7,@RW2+ ,@PC+d16
MOVEA
MOVEA RW1
RW1,@RW2+ ,@PC+d16
MOVEA
MOVEA RW0
RW0,@RW2+ ,@PC+d16
+E
MOVEA
MOVEA
RW7@RW3+ RW7, addr16
MOVEA
MOVEA RW7
RW7,@RW1+ ,@RW1+RW7
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6
RW5,@RW1+ ,@RW1+RW7 RW6,@RW1+ ,@RW1+RW7
MOVEA
MOVEA RW0 MOVEA
MOVEA RW1 MOVEA
MOVEA RW2 MOVEA
MOVEA RW3 MOVEA
MOVEA RW4
RW0,@RW1+ ,@RW1+RW7 RW1,@RW1+ ,@RW1+RW7 RW2,@RW1+ ,@RW1+RW7 RW3,@RW1+ ,@RW1+RW7 RW4,@RW1+ ,@RW1+RW7
MOVEA
MOVEA RW7
RW7,@RW0+ ,@RW0+RW7
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,@RW3 ,@RW3+d16 RW6,@RW3 ,@RW3+d16 RW7,@RW3 ,@RW3+d16
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,@RW2 ,@RW2+d16 RW6,@RW2 ,@RW2+d16 RW7,@RW2 ,@RW2+d16
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,@RW1 ,@RW1+d16 RW6,@RW1 ,@RW1+d16 RW7,@RW1 ,@RW1+d16
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,@RW0 ,@RW0+d16 RW6,@RW0 ,@RW0+d16 RW7,@RW0 ,@RW0+d16
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW7 ,@RW7+d8
RW6,RW7 ,@RW7+d8
RW7,RW7 ,@RW7+d8
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW6 ,@RW6+d8
RW6,RW6 ,@RW6+d8
RW7,RW6 ,@RW6+d8
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW5 ,@RW5+d8
RW6,RW5 ,@RW5+d8
RW7,RW5 ,@RW5+d8
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW4 ,@RW4+d8
RW6,RW4 ,@RW4+d8
RW7,RW4 ,@RW4+d8
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW3 ,@RW3+d8
RW6,RW3 ,@RW3+d8
RW7,RW3 ,@RW3+d8
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW2 ,@RW2+d8
RW6,RW2 ,@RW2+d8
RW7,RW2 ,@RW2+d8
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW1 ,@RW1+d8
RW6,RW1 ,@RW1+d8
RW7,RW1 ,@RW1+d8
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW0 ,@RW0+d8
RW6,RW0 ,@RW0+d8
RW7,RW0 ,@RW0+d8
A0
+D
MOVEA
MOVEA RW4
RW4,@RW3 ,@RW3+d16
MOVEA
MOVEA RW4
RW4,@RW2 ,@RW2+d16
MOVEA
MOVEA RW4
RW4,@RW1 ,@RW1+d16
MOVEA
MOVEA RW4
RW4,@RW0 ,@RW0+d16
MOVEA
MOVEA RW4
RW4,RW7 ,@RW7+d8
MOVEA
MOVEA RW4
RW4,RW6 ,@RW6+d8
MOVEA
MOVEA RW4
RW4,RW5 ,@RW5+d8
MOVEA
MOVEA RW4
RW4,RW4 ,@RW4+d8
MOVEA
MOVEA RW4
RW4,RW3 ,@RW3+d8
MOVEA
MOVEA RW4
RW4,RW2 ,@RW2+d8
MOVEA
MOVEA RW4
RW4,RW1 ,@RW1+d8
MOVEA
MOVEA RW4
RW4,RW0 ,@RW0+d8
80
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6
RW5,@RW0+ ,@RW0+RW7 RW6,@RW0+ ,@RW0+RW7
MOVEA
MOVEA RW3
RW3,@RW3 ,@RW3+d16
MOVEA
MOVEA RW3
RW3,@RW2 ,@RW2+d16
MOVEA
MOVEA RW3
RW3,@RW1 ,@RW1+d16
MOVEA
MOVEA RW3
RW3,@RW0 ,@RW0+d16
MOVEA
MOVEA RW3
RW3,RW7 ,@RW7+d8
MOVEA
MOVEA RW3
RW3,RW6 ,@RW6+d8
MOVEA
MOVEA RW3
RW3,RW5 ,@RW5+d8
MOVEA
MOVEA RW3
RW3,RW4 ,@RW4+d8
MOVEA
MOVEA RW3
RW3,RW3 ,@RW3+d8
MOVEA
MOVEA RW3
RW3,RW2 ,@RW2+d8
MOVEA
MOVEA RW3
RW3,RW1 ,@RW1+d8
MOVEA
MOVEA RW3
RW3,RW0 ,@RW0+d8
60
MOVEA
MOVEA RW0 MOVEA
MOVEA RW1 MOVEA
MOVEA RW2 MOVEA
MOVEA RW3 MOVEA
MOVEA RW4
RW0,@RW0+ ,@RW0+RW7 RW1,@RW0+ ,@RW0+RW7 RW2,@RW0+ ,@RW0+RW7 RW3,@RW0+ ,@RW0+RW7 RW4,@RW0+ ,@RW0+RW7
MOVEA
MOVEA RW2
RW2,@RW3 ,@RW3+d16
MOVEA
MOVEA RW2
RW2,@RW2 ,@RW2+d16
MOVEA
MOVEA RW2
RW2,@RW1 ,@RW1+d16
MOVEA
MOVEA RW2
RW2,@RW0 ,@RW0+d16
MOVEA
MOVEA RW2
RW2,RW7 ,@RW7+d8
MOVEA
MOVEA RW2
RW2,RW6 ,@RW6+d8
MOVEA
MOVEA RW2
RW2,RW5 ,@RW5+d8
MOVEA
MOVEA RW2
RW2,RW4 ,@RW4+d8
MOVEA
MOVEA RW2
RW2,RW3 ,@RW3+d8
MOVEA
MOVEA RW2
RW2,RW2 ,@RW2+d8
MOVEA
MOVEA RW2
RW2,RW1 ,@RW1+d8
MOVEA
MOVEA RW2
RW2,RW0 ,@RW0+d8
40
+C
+B RW0,@RW3 ,@RW3+d16
+A RW0,@RW2 ,@RW2+d16
MOVEA
MOVEA RW1
RW1,RW1 ,@RW1+d8
MOVEA
MOVEA RW0
RW0,RW1 ,@RW1+d8
+1
30
MOVEA
MOVEA RW1
RW1,RW0 ,@RW0+d8
20
MOVEA
MOVEA RW0
RW0,RW0 ,@RW0+d8
10
+0
00
付録
表 B.9-15 MOVEA RWi, ea 命令 ( 第 1 バイト =79H)
MOV R0,
MOV
MOV R1,
MOV
MOV R2,
MOV
MOV R3,
MOV
MOV R4,
MOV
MOV R5,
MOV
MOV R6,
MOV
MOV R7,
MOV R1,
MOV
MOV R2,
MOV
MOV R3,
MOV
MOV R4,
MOV
MOV R5,
MOV
MOV R6,
MOV
MOV R7,
MOV R0, MOV R0,
MOV R1, MOV R1,
MOV R2, MOV R2,
MOV R3, MOV R3,
MOV R4, MOV R4,
MOV R5, MOV R5,
MOV R6, MOV R6,
MOV R7, MOV R7,
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
MOV R0, MOV R0,
MOV R1, MOV R1,
MOV R2, MOV R2,
MOV R3, MOV R3,
MOV R4, MOV R4,
MOV R5, MOV R5,
MOV R6, MOV R6,
MOV R7, MOV R7,
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
MOV R0, MOV R0, MOV R1, MOV R1, MOV R2, MOV R2, MOV R3, MOV R3, MOV R4, MOV R4, MOV R5, MOV R5, MOV R6, MOV R6, MOV R7, MOV R7,
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
MOV R0, MOV R0, MOV R1, MOV R1, MOV R2, MOV R2, MOV R3, MOV R3, MOV R4, MOV R4, MOV R5, MOV R5, MOV R6, MOV R6, MOV R7, MOV R7,
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
+C
+D
+E
+F
+B R0,@RW3 @RW3+d16 R1,@RW3 @RW3+d16 R2,@RW3 @RW3+d16 R3,@RW3 @RW3+d16 R4,@RW3 @RW3+d16 R5,@RW3 @RW3+d16 R6,@RW3 @RW3+d16 R7,@RW3 @RW3+d16
MOV
+A R0,@RW2 @RW2+d16 R1,@RW2 @RW2+d16 R2,@RW2 @RW2+d16 R3,@RW2 @RW2+d16 R4,@RW2 @RW2+d16 R5,@RW2 @RW2+d16 R6,@RW2 @RW2+d16 R7,@RW2 @RW2+d16
MOV
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0,@RW1 @RW1+d16 R1,@RW1 @RW1+d16 R2,@RW1 @RW1+d16 R3,@RW1 @RW1+d16 R4,@RW1 @RW1+d16 R5,@RW1 @RW1+d16 R6,@RW1 @RW1+d16 R7,@RW1 @RW1+d16
+9
MOV R0,
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0,@RW0 @RW0+d16 R1,@RW0 @RW0+d16 R2,@RW0 @RW0+d16 R3,@RW0 @RW0+d16 R4,@RW0 @RW0+d16 R5,@RW0 @RW0+d16 R6,@RW0 @RW0+d16 R7,@RW0 @RW0+d16
+8
MOV
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R7 @RW7+d8
R1, R7 @RW7+d8
R2, R7 @RW7+d8
R3, R7 @RW7+d8
R4, R7 @RW7+d8
R5, R7 @RW7+d8
R6, R7 @RW7+d8
R7, R7 @RW7+d8
F0
+7
E0
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R6 @RW6+d8
R1, R6 @RW6+d8
R2, R6 @RW6+d8
R3, R6 @RW6+d8
R4, R6 @RW6+d8
R5, R6 @RW6+d8
R6, R6 @RW6+d8
R7, R6 @RW6+d8
D0
+6
C0
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R5 @RW5+d8
R1, R5 @RW5+d8
R2, R5 @RW5+d8
R3, R5 @RW5+d8
R4, R5 @RW5+d8
R5, R5 @RW5+d8
R6, R5 @RW5+d8
R7, R5 @RW5+d8
B0
+5
A0
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R4 @RW4+d8
R1, R4 @RW4+d8
R2, R4 @RW4+d8
R3, R4 @RW4+d8
R4, R4 @RW4+d8
R5, R4 @RW4+d8
R6, R4 @RW4+d8
R7, R4 @RW4+d8
90
+4
80
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R3 @RW3+d8
R1, R3 @RW3+d8
R2, R3 @RW3+d8
R3, R3 @RW3+d8
R4, R3 @RW3+d8
R5, R3 @RW3+d8
R6, R3 @RW3+d8
R7, R3 @RW3+d8
70
+3
60
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R2 @RW2+d8
R1, R2 @RW2+d8
R2, R2 @RW2+d8
R3, R2 @RW2+d8
R4, R2 @RW2+d8
R5, R2 @RW2+d8
R6, R2 @RW2+d8
R7, R2 @RW2+d8
50
+2
40
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R1 @RW1+d8
R1, R1 @RW1+d8
R2, R1 @RW1+d8
R3, R1 @RW1+d8
R4, R1 @RW1+d8
R5, R1 @RW1+d8
R6, R1 @RW1+d8
R7, R1 @RW1+d8
30
+1
20
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R0 @RW0+d8
R1, R0 @RW0+d8
R2, R0 @RW0+d8
R3, R0 @RW0+d8
R4, R0 @RW0+d8
R5, R0 @RW0+d8
R6, R0 @RW0+d8
R7, R0 @RW0+d8
10
+0
00
付録 B 命令
表 B.9-16 MOV Ri, ea 命令 ( 第 1 バイト =7AH)
511
512
MOVW
MOVW RW2,
RW2,@RW0 @RW0+d16
MOVW
MOVW RW2,
RW2,@RW1 @RW1+d16
MOVW
MOVW RW2,
RW2,@RW2 @RW2+d16
MOVW
MOVW RW2,
RW2,@RW3 @RW3+d16
MOVW
MOVW RW1,
RW1, RW6 @RW6+d8
MOVW
MOVW RW1,
RW1, RW7 @RW7+d8
MOVW
MOVW
MOVW
MOVW RW1,
RW0,@RW1 @RW1+d16 RW1,@RW1 @RW1+d16
MOVW
MOVW
MOVW
MOVW RW1,
RW0,@RW2 @RW2+d16 RW1,@RW2 @RW2+d16
MOVW
MOVW
MOVW
MOVW RW1,
RW0,@RW3 @RW3+d16 RW1,@RW3 @RW3+d16
MOVW
MOVW
MOVW
MOVW RW1, MOVW
MOVW RW2, MOVW
MOVW RW3, MOVW
MOVW RW4, MOVW
MOVW RW5, MOVW
MOVW RW6, MOVW
MOVW RW7,
RW0,@RW0+ @RW0+RW7 RW1,@RW0+ @RW0+RW7 RW2,@RW0+ @RW0+RW7 RW3,@RW0+ @RW0+RW7 RW4,@RW0+ @RW0+RW7 RW5,@RW0+ @RW0+RW7 RW6,@RW0+ @RW0+RW7 RW7,@RW0+ @RW0+RW7
MOVW
MOVW
RW1, @RW3+ RW1, addr16
MOVW
MOVW
RW0, RW7 @RW7+d8
MOVW
MOVW
MOVW
MOVW RW1,
RW0,@RW0 @RW0+d16 RW1,@RW0 @RW0+d16
MOVW
MOVW RW1,
RW1, @RW2+ @PC+d16
MOVW
MOVW
RW0, RW6 @RW6+d8
MOVW
RW0, @RW1+
MOVW
MOVW
RW0, @RW2+ @PC+d16
MOVW
MOVW
RW0, @RW3+ RW0, addr16
+6
+7
+8
+9
+A
+B
+C
+D
+E
+F
MOVW
MOVW
@RW1+RW7 RW1, @RW1+
MOVW
MOVW RW2,
RW2, RW7 @RW7+d8
MOVW
MOVW RW1,
RW1, RW5 @RW5+d8
MOVW
MOVW
RW0, RW5 @RW5+d8
+5
MOVW
MOVW
RW2, @RW3+ RW2, addr16
MOVW
MOVW
RW3, @RW3+ RW3, addr16
MOVW
MOVW RW3,
RW3, @RW2+ @PC+d16
MOVW
MOVW
RW4, @RW3+ RW4, addr16
MOVW
MOVW RW4,
RW4, @RW2+ @PC+d16
MOVW
MOVW
RW5, @RW3+ RW5, addr16
MOVW
MOVW
RW5, @RW2+ @PC+d16
MOVW
MOVW
RW6, @RW3+ RW6, addr16
MOVW
MOVW RW6,
RW6, @RW2+ @PC+d16
MOVW
MOVW
RW7, @RW3+ RW7, addr16
MOVW
MOVW RW7,
RW7, @RW2+ @PC+d16
MOVW RW7,
@RW1+RW7
MOVW
MOVW RW7,
RW7,@RW3 @RW3+d16
MOVW
MOVW RW7,
RW7,@RW2 @RW2+d16
MOVW
MOVW RW7,
RW7,@RW1 @RW1+d16
MOVW
MOVW RW7,
RW7,@RW0 @RW0+d16
MOVW
MOVW RW7,
RW7, RW7 @RW7+d8
MOVW
MOVW RW7,
RW7, RW6 @RW6+d8
MOVW
MOVW RW7,
RW7, RW5 @RW5+d8
MOVW
MOVW RW7,
RW7, RW4 @RW4+d8
MOVW
MOVW RW7,
RW7, RW3 @RW3+d8
MOVW RW6, MOVW
@RW1+RW7 RW7, @RW1+
MOVW
MOVW RW6,
RW6,@RW3 @RW3+d16
MOVW
MOVW RW6,
RW6,@RW2 @RW2+d16
MOVW
MOVW RW6,
RW6,@RW1 @RW1+d16
MOVW
MOVW RW6,
RW6,@RW0 @RW0+d16
MOVW
MOVW RW6,
RW6, RW7 @RW7+d8
MOVW
MOVW RW6,
RW6, RW6 @RW6+d8
MOVW
MOVW RW6,
RW6, RW5 @RW5+d8
MOVW
MOVW RW6,
RW6, RW4 @RW4+d8
MOVW
MOVW RW6,
RW6, RW3 @RW3+d8
MOVW
MOVW
@RW1+RW7 RW6, @RW1+
MOVW
MOVW RW5,
RW5,@RW3 @RW3+d16
MOVW
MOVW RW5,
RW5,@RW2 @RW2+d16
MOVW
MOVW RW5,
RW5,@RW1 @RW1+d16
MOVW
MOVW RW5,
RW5,@RW0 @RW0+d16
MOVW
MOVW RW5,
RW5, RW7 @RW7+d8
MOVW
MOVW RW5,
RW5, RW6 @RW6+d8
MOVW
MOVW RW5,
RW5, RW5 @RW5+d8
MOVW
MOVW RW5,
RW5, RW4 @RW4+d8
MOVW RW4, MOVW
@RW1+RW7 RW5, @RW1+
MOVW
MOVW RW4,
RW4,@RW3 @RW3+d16
MOVW
MOVW RW4,
RW4,@RW2 @RW2+d16
MOVW
MOVW RW4,
RW4,@RW1 @RW1+d16
MOVW
MOVW RW4,
RW4,@RW0 @RW0+d16
MOVW
MOVW RW4,
RW4, RW7 @RW7+d8
MOVW
MOVW RW4,
RW4, RW6 @RW6+d8
MOVW
MOVW RW4,
RW4, RW5 @RW5+d8
MOVW
MOVW RW4,
RW4, RW4 @RW4+d8
MOVW RW3, MOVW
@RW1+RW7 RW4, @RW1+
MOVW
MOVW RW3,
RW3,@RW3 @RW3+d16
MOVW
MOVW RW3,
RW3,@RW2 @RW2+d16
MOVW
MOVW RW3,
RW3,@RW1 @RW1+d16
MOVW
MOVW RW3,
RW3,@RW0 @RW0+d16
MOVW
MOVW RW3,
RW3, RW7 @RW7+d8
MOVW
MOVW RW3,
RW3, RW6 @RW6+d8
MOVW
MOVW RW3,
RW3, RW5 @RW5+d8
MOVW
MOVW RW3,
RW3, RW4 @RW4+d8
MOVW RW2, MOVW
@RW1+RW7 RW3, @RW1+
MOVW
MOVW RW2,
RW2, @RW2+ @PC+d16
MOVW RW1, MOVW
@RW1+RW7 RW2, @RW1+
MOVW
MOVW RW2,
RW2, RW6 @RW6+d8
MOVW
MOVW RW2,
RW2, RW5 @RW5+d8
MOVW
MOVW RW2,
RW2, RW4 @RW4+d8
MOVW
MOVW RW5,
RW5, RW3 @RW3+d8
MOVW
MOVW RW7,
RW7, RW2 @RW2+d8
MOVW
MOVW RW7,
RW7, RW1 @RW1+d8
MOVW
MOVW RW1,
RW1, RW4 @RW4+d8
MOVW
MOVW RW4,
RW4, RW3 @RW3+d8
MOVW
MOVW RW6,
RW6, RW2 @RW2+d8
MOVW
MOVW RW6,
RW6, RW1 @RW1+d8
MOVW
MOVW
RW0, RW4 @RW4+d8
MOVW
MOVW RW3,
RW3, RW3 @RW3+d8
MOVW
MOVW RW5,
RW5, RW2 @RW2+d8
MOVW
MOVW RW5,
RW5, RW1 @RW1+d8
+4
MOVW
MOVW RW2,
RW2, RW3 @RW3+d8
MOVW
MOVW RW4,
RW4, RW2 @RW2+d8
MOVW
MOVW RW4,
RW4, RW1 @RW1+d8
MOVW
MOVW RW1,
RW1, RW3 @RW3+d8
MOVW
MOVW RW3,
RW3, RW2 @RW2+d8
MOVW
MOVW RW3,
RW3, RW1 @RW1+d8
MOVW
MOVW
RW0, RW3 @RW3+d8
MOVW
MOVW RW2,
RW2, RW2 @RW2+d8
MOVW
MOVW RW2,
RW2, RW1 @RW1+d8
+3
F0
MOVW
MOVW RW7,
RW7, RW0 @RW0+d8
E0
MOVW
MOVW RW1,
RW1, RW2 @RW2+d8
D0
MOVW
MOVW RW6,
RW6, RW0 @RW0+d8
C0
MOVW
MOVW
RW0, RW2 @RW2+d8
B0
MOVW
MOVW RW5,
RW5, RW0 @RW0+d8
A0
+2
90
MOVW
MOVW RW4,
RW4, RW0 @RW0+d8
80
MOVW
MOVW RW1,
RW1, RW1 @RW1+d8
70
MOVW
MOVW RW3,
RW3, RW0 @RW0+d8
60
MOVW
MOVW
RW0, RW1 @RW1+d8
50
MOVW
MOVW RW2,
RW2, RW0 @RW0+d8
40
+1
30
MOVW
MOVW RW1,
RW1, RW0 @RW0+d8
20
MOVW
MOVW
RW0, RW0 @RW0+d8
10
+0
00
付録
表 B.9-17 MOVW RWi, ea 命令 ( 第 1 バイト =7BH)
+F
+E
+D
+C
+B
+A
+9
+8
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R1 @RW3+d16, R1
MOV
@RW2, R1 @RW2+d16, R1
MOV
@RW1, R1 @RW1+d16, R1
MOV
@RW0, R1 @RW0+d16, R1
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R2 @RW3+d16, R2
MOV
@RW2, R2 @RW2+d16, R2
MOV
@RW1, R2 @RW1+d16, R2
MOV
@RW0, R2 @RW0+d16, R2
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R3 @RW3+d16, R3
MOV
@RW2, R3 @RW2+d16, R3
MOV
@RW1, R3 @RW1+d16, R3
MOV
@RW0, R3 @RW0+d16, R3
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R4 @RW3+d16, R4
MOV
@RW2, R4 @RW2+d16, R4
MOV
@RW1, R4 @RW1+d16, R4
MOV
@RW0, R4 @RW0+d16, R4
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R5 @RW3+d16, R5
MOV
@RW2, R5 @RW2+d16, R5
MOV
@RW1, R5 @RW1+d16, R5
MOV
@RW0, R5 @RW0+d16, R5
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R6 @RW3+d16, R6
MOV
@RW2, R6 @RW2+d16, R6
MOV
@RW1, R6 @RW1+d16, R6
MOV
@RW0, R6 @RW0+d16, R6
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R7 @RW3+d16, R7
MOV
@RW2, R7 @RW2+d16, R7
MOV
@RW1, R7 @RW1+d16, R7
MOV
@RW0, R7 @RW0+d16, R7
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3+, R0 addr16, R0
MOV
@RW3+, R1 addr16, R1
MOV
MOV
MOV
MOV
MOV
@RW2+, R1 @PC+d16, R1
MOV
@RW2+, R0 @PC+d16, R0
MOV
MOV
MOV
@RW3+, R2 addr16, R2
MOV
@RW2+, R2 @PC+d16, R2
MOV
MOV
MOV
@RW3+, R3 addr16, R3
MOV
@RW2+, R3 @PC+d16, R3
MOV
MOV
MOV
@RW3+, R4 addr16, R4
MOV
@RW2+, R4 @PC+d16, R4
MOV
MOV
MOV
@RW3+, R5 addr16, R5
MOV
@RW2+, R5 @PC+d16, R5
MOV
MOV
MOV
@RW3+, R6 addr16, R6
MOV
@RW2+, R6 @PC+d16, R6
MOV
MOV
MOV
@RW3+, R7 addr16, R7
MOV
@RW2+, R7 @PC+d16, R7
MOV
@RW1+, R0 @RW1+RW7, R0 @RW1+, R1 @RW1+RW7, R1 @RW1+, R2 @RW1+RW7, R2 @RW1+, R3 @RW1+RW7, R3 @RW1+, R4 @RW1+RW7, R4 @RW1+, R5 @RW1+RW7, R5 @RW1+, R6 @RW1+RW7, R6 @RW1+, R7 @RW1+RW7, R7
MOV
@RW0+, R0 @RW0+RW7, R0 @RW0+, R1 @RW0+RW7, R1 @RW0+, R2 @RW0+RW7, R2 @RW0+, R3 @RW0+RW7, R3 @RW0+, R4 @RW0+RW7, R4 @RW0+, R5 @RW0+RW7, R5 @RW0+, R6 @RW0+RW7, R6 @RW0+, R7 @RW0+RW7, R7
MOV
@RW3, R0 @RW3+d16, R0
MOV
@RW2, R0 @RW2+d16, R0
MOV
@RW1, R0 @RW1+d16, R0
MOV
@RW0, R0 @RW0+d16, R0
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R7, R0 @RW7+d8, R0
R7, R1 @RW7+d8, R1
R7, R2 @RW7+d8, R2
R7, R3 @RW7+d8, R3
R7, R4 @RW7+d8, R4
R7, R5 @RW7+d8, R5
R7, R6 @RW7+d8, R6
R7, R7 @RW7+d8, R7
F0
+7
E0
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R6, R0 @RW6+d8, R0
R6, R1 @RW6+d8, R1
R6, R2 @RW6+d8, R2
R6, R3 @RW6+d8, R3
R6, R4 @RW6+d8, R4
R6, R5 @RW6+d8, R5
R6, R6 @RW6+d8, R6
R6, R7 @RW6+d8, R7
D0
+6
C0
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R5, R0 @RW5+d8, R0
R5, R1 @RW5+d8, R1
R5, R2 @RW5+d8, R2
R5, R3 @RW5+d8, R3
R5, R4 @RW5+d8, R4
R5, R5 @RW5+d8, R5
R5, R6 @RW5+d8, R6
R5, R7 @RW5+d8, R7
B0
+5
A0
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R4, R0 @RW4+d8, R0
R4, R1 @RW4+d8, R1
R4, R2 @RW4+d8, R2
R4, R3 @RW4+d8, R3
R4, R4 @RW4+d8, R4
R4, R5 @RW4+d8, R5
R4, R6 @RW4+d8, R6
R4, R7 @RW4+d8, R7
90
+4
80
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R3, R0 @RW3+d8, R0
R3, R1 @RW3+d8, R1
R3, R2 @RW3+d8, R2
R3, R3 @RW3+d8, R3
R3, R4 @RW3+d8, R4
R3, R5 @RW3+d8, R5
R3, R6 @RW3+d8, R6
R3, R7 @RW3+d8, R7
70
+3
60
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R2, R0 @RW2+d8, R0
R2, R1 @RW2+d8, R1
R2, R2 @RW2+d8, R2
R2, R3 @RW2+d8, R3
R2, R4 @RW2+d8, R4
R2, R5 @RW2+d8, R5
R2, R6 @RW2+d8, R6
R2, R7 @RW2+d8, R7
50
+2
40
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R1, R0 @RW1+d8, R0
R1, R1 @RW1+d8, R1
R1, R2 @RW1+d8, R2
R1, R3 @RW1+d8, R3
R1, R4 @RW1+d8, R4
R1, R5 @RW1+d8, R5
R1, R6 @RW1+d8, R6
R1, R7 @RW1+d8, R7
30
+1
20
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R0, R0 @RW0+d8, R0
R0, R1 @RW0+d8, R1
R0, R2 @RW0+d8, R2
R0, R3 @RW0+d8, R3
R0, R4 @RW0+d8, R4
R0, R5 @RW0+d8, R5
R0, R6 @RW0+d8, R6
R0, R7 @RW0+d8, R7
10
+0
00
付録 B 命令
表 B.9-18 MOV Ri, ea 命令 ( 第 1 バイト =7CH)
513
514
MOVW
MOVW@RW2
@RW2, RW1 +d16, RW1
MOVW
MOVW@RW3
@RW3, RW1 +d16, RW1
MOVW
MOVW@RW0
@RW0+, RW1 +RW7,RW1
MOVW
MOVW@RW1
@RW1+, RW1 +RW7,RW1
MOVW
MOVW@PC
@RW2+, RW1 +d16, RW1
MOVW
MOVW
@RW3+, RW1 addr16, RW1
MOVW
MOVW@RW2
@RW2, RW0 +d16, RW0
MOVW
MOVW@RW3
@RW3, RW0 +d16, RW0
MOVW
MOVW@RW0
@RW0+, RW0 +RW7,RW0
MOVW
MOVW@RW1
@RW1+, RW0 +RW7,RW0
MOVW
MOVW@PC
@RW2+, RW0 +d16, RW0
MOVW
MOVW
@RW3+, RW0 addr16, RW0
+B
+C
+D
+E
+F
MOVW
MOVW
@RW3+, RW2 addr16, RW2
MOVW
MOVW@PC
@RW2+, RW2 +d16, RW2
MOVW
MOVW@RW1
@RW1+, RW2 +RW7,RW2
MOVW
MOVW@RW0
@RW0+, RW2 +RW7,RW2
MOVW
MOVW@RW3
@RW3, RW2 +d16, RW2
MOVW
MOVW@RW2
@RW2, RW2 +d16, RW2
MOVW
MOVW
@RW3+, RW3 addr16, RW3
MOVW
MOVW@PC
@RW2+, RW3 +d16, RW3
MOVW
MOVW@RW1
@RW1+, RW3 -+RW7,RW3
MOVW
MOVW@RW0
@RW0+, RW3 +RW7,RW3
MOVW
MOVW@RW3
@RW3, RW3 +d16, RW3
MOVW
MOVW@RW2
@RW2, RW3 +d16, RW3
MOVW
MOVW@RW1
@RW1, RW3 +d16, RW3
MOVW
MOVW
@RW3+, RW4 addr16, RW4
MOVW
MOVW@PC
@RW2+, RW4 +d16, RW4
MOVW
MOVW@RW1
@RW1+, RW4 +RW7,RW4
MOVW
MOVW@RW0
@RW0+, RW4 +RW7,RW4
MOVW
MOVW@RW3
@RW3, RW4 +d16, RW4
MOVW
MOVW@RW2
@RW2, RW4 +d16, RW4
MOVW
MOVW@RW1
@RW1, RW4 +d16, RW4
MOVW
MOVW
@RW3+, RW5 addr16, RW5
MOVW
MOVW@PC
@RW2+, RW5 +d16, RW5
MOVW
MOVW@RW1
@RW1+, RW5 +RW7,RW5
MOVW
MOVW@RW0
@RW0+, RW5 +RW7,RW5
MOVW
MOVW@RW3
@RW3, RW5 +d16, RW5
MOVW
MOVW@RW2
@RW2, RW5 +d16, RW5
MOVW
MOVW@RW1
@RW1, RW5 +d16, RW5
MOVW
MOVW
@RW3+, RW6 addr16, RW6
MOVW
MOVW @PC
@RW2+, RW6 +d16, RW6
MOVW
MOVW@RW1
@RW1+, RW6 +RW7,RW6
MOVW
MOVW@RW0
@RW0+, RW6 +RW7,RW6
MOVW
MOVW@RW3
@RW3, RW6 +d16, RW6
MOVW
MOVW@RW2
@RW2, RW6 +d16, RW6
MOVW
MOVW@RW1
@RW1, RW6 +d16, RW6
MOVW
MOVW
@RW3+, RW7 addr16, RW7
MOVW
MOVW@PC
@RW2+, RW7 +d16, RW7
MOVW
MOVW@RW1
@RW1+, RW7 +RW7,RW7
MOVW
MOVW@RW0
@RW0+, RW7 +RW7,RW7
MOVW
MOVW@RW3
@RW3, RW7 +d16, RW7
MOVW
MOVW@RW2
@RW2, RW7 +d16, RW7
MOVW
MOVW@RW1
@RW1, RW7 +d16, RW7
MOVW
MOVW@RW0
@RW0, RW7 +d16, RW7
+A
MOVW
MOVW@RW1
@RW1, RW2 +d16, RW2
MOVW
MOVW@RW0
@RW0, RW6 +d16, RW6
MOVW
MOVW@RW1
@RW1, RW1 +d16, RW1
MOVW
MOVW@RW0
@RW0, RW5 +d16, RW5
MOVW
MOVW@RW1
@RW1, RW0 +d16, RW0
MOVW
MOVW@RW0
@RW0, RW4 +d16, RW4
+9
MOVW
MOVW@RW0
@RW0, RW3 +d16, RW3
MOVW
MOVW@RW0
@RW0, RW1 +d16, RW1
MOVW
MOVW@RW0
@RW0, RW0 +d16, RW0
+8
MOVW
MOVW@RW0
@RW0, RW2 +d16, RW2
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW7, RW0 @RW7+d8, RW0
RW7, RW1 @RW7+d8, RW1
RW7, RW2 @RW7+d8, RW2
RW7, RW3 @RW7+d8, RW3
RW7, RW4 @RW7+d8, RW4
RW7, RW5 @RW7+d8, RW5
RW7, RW6 @RW7+d8, RW6
RW7, RW7 @RW7+d8, RW7
F0
+7
E0
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW6, RW0 @RW6+d8, RW0
RW6, RW1 @RW6+d8, RW1
RW6, RW2 @RW6+d8, RW2
RW6, RW3 @RW6+d8, RW3
RW6, RW4 @RW6+d8, RW4
RW6, RW5 @RW6+d8, RW5
RW6, RW6 @RW6+d8, RW6
RW6, RW7 @RW6+d8, RW7
D0
+6
C0
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW5, RW0 @RW5+d8, RW0
RW5, RW1 @RW5+d8, RW1
RW5, RW2 @RW5+d8, RW2
RW5, RW3 @RW5+d8, RW3
RW5, RW4 @RW5+d8, RW4
RW5, RW5 @RW5+d8, RW5
RW5, RW6 @RW5+d8, RW6
RW5, RW7 @RW5+d8, RW7
B0
+5
A0
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW4, RW0 @RW4+d8, RW0
RW4, RW1 @RW4+d8, RW1
RW4, RW2 @RW4+d8, RW2
RW4, RW3 @RW4+d8, RW3
RW4, RW4 @RW4+d8, RW4
RW4, RW5 @RW4+d8, RW5
RW4, RW6 @RW4+d8, RW6
RW4, RW7 @RW4+d8, RW7
90
+4
80
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW3, RW0 @RW3+d8, RW0
RW3, RW1 @RW3+d8, RW1
RW3, RW2 @RW3+d8, RW2
RW3, RW3 @RW3+d8, RW3
RW3, RW4 @RW3+d8, RW4
RW3, RW5 @RW3+d8, RW5
RW3, RW6 @RW3+d8, RW6
RW3, RW7 @RW3+d8, RW7
70
+3
60
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW2, RW0 @RW2+d8, RW0
RW2, RW1 @RW2+d8, RW1
RW2, RW2 @RW2+d8, RW2
RW2, RW3 @RW2+d8, RW3
RW2, RW4 @RW2+d8, RW4
RW2, RW5 @RW2+d8, RW5
RW2, RW6 @RW2+d8, RW6
RW2, RW7 @RW2+d8, RW7
50
+2
40
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW1, RW0 @RW1+d8, RW0
RW1, RW1 @RW1+d8, RW1
RW1, RW2 @RW1+d8, RW2
RW1, RW3 @RW1+d8, RW3
RW1, RW4 @RW1+d8, RW4
RW1, RW5 @RW1+d8, RW5
RW1, RW6 @RW1+d8, RW6
RW1, RW7 @RW1+d8, RW7
30
+1
20
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW0, RW0 @RW0+d8, RW0
RW0, RW1 @RW0+d8, RW1
RW0, RW2 @RW0+d8, RW2
RW0, RW3 @RW0+d8, RW3
RW0, RW4 @RW0+d8, RW4
RW0, RW5 @RW0+d8, RW5
RW0, RW6 @RW0+d8, RW6
RW0, RW7 @RW0+d8, RW7
10
+0
00
付録
表 B.9-19 MOVW RWi, ea 命令 ( 第 1 バイト =7DH)
XCH
XCH
XCH
XCH
R1,
XCH
XCH R1,
R1,@RW2 W2+d16, A
XCH
XCH
R2,
XCH
XCH R2,
R2,@RW2 W2+d16, A
XCH
XCH
R3,
XCH
XCH R3,
R3,@RW2 W2+d16, A
XCH
XCH
R4,
XCH
XCH R4,
R4,@RW2 W2+d16, A
XCH
XCH
R5,
XCH
XCH R5,
R5,@RW2 W2+d16, A
XCH
XCH
R6,
XCH
XCH R6,
R6,@RW2 W2+d16, A
XCH
XCH
R7,
XCH
XCH R7,
R7,@RW2 W2+d16, A
XCH
XCH
XCH
XCH
XCH
R1, XCH
XCH
R2, XCH
XCH
R3, XCH
XCH
R4, XCH
XCH
R5, XCH
XCH
R6, XCH
XCH
R7,
+F R0,@RW3+ R0, addr16
XCH
XCH
R1,@RW3+ R1, addr16
XCH
XCH
R2,@RW3+ R2, addr16
XCH
XCH
R3,@RW3+ R3, addr16
XCH
XCH
R4,@RW3+ R4, addr16
XCH
XCH
R5,@RW3+ R5, addr16
XCH
XCH
R6,@RW3+ R6, addr16
XCH
XCH
R7,@RW3+ R7, addr16
+E R0,@RW2+ @PC+d16 R1,@RW2+ @PC+d16 R2,@RW2+ @PC+d16 R3,@RW2+ @PC+d16 R4,@RW2+ @PC+d16 R5,@RW2+ @PC+d16 R6,@RW2+ @PC+d16 R7,@RW2+ @PC+d16
R0, XCH
XCH R0,
XCH
XCH R1,
XCH
XCH R2,
XCH
XCH R3,
XCH
XCH R4,
XCH
XCH R5,
XCH
XCH R6,
XCH
XCH R7,
@RW1+RW7 R1,@RW1+ @RW1+RW7 R2,@RW1+ @RW1+RW7 R3,@RW1+ @RW1+RW7 R4,@RW1+ @RW1+RW7 R5,@RW1+ @RW1+RW7 R6,@RW1+ @RW1+RW7 R7,@RW1+ @RW1+RW7
+D R0,@RW1+
XCH
XCH R0,
XCH
XCH R1,
XCH
XCH R2,
XCH
XCH R3,
XCH
XCH R4,
XCH
XCH R5,
XCH
XCH R6,
XCH
XCH R7,
@RW0+RW7 R1,@RW0+ @RW0+RW7 R2,@RW0+ @RW0+RW7 R3,@RW0+ @RW0+RW7 R4,@RW0+ @RW0+RW7 R5,@RW0+ @RW0+RW7 R6,@RW0+ @RW0+RW7 R7,@RW0+ @RW0+RW7
XCH
+C R0,@RW0+
+B R0,@RW3 @RW3+d16 R1,@RW3 @RW3+d16 R2,@RW3 @RW3+d16 R3,@RW3 @RW3+d16 R4,@RW3 @RW3+d16 R5,@RW3 @RW3+d16 R6,@RW3 @RW3+d16 R7,@RW3 @RW3+d16
R0,
+A R0,@RW2 W2+d16, A
R0,
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0,@RW1 @RW1+d16 R1,@RW1 @RW1+d16 R2,@RW1 @RW1+d16 R3,@RW1 @RW1+d16 R4,@RW1 @RW1+d16 R5,@RW1 @RW1+d16 R6,@RW1 @RW1+d16 R7,@RW1 @RW1+d16
+9
XCH
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0,@RW0 @RW0+d16 R1,@RW0 @RW0+d16 R2,@RW0 @RW0+d16 R3,@RW0 @RW0+d16 R4,@RW0 @RW0+d16 R5,@RW0 @RW0+d16 R6,@RW0 @RW0+d16 R7,@RW0 @RW0+d16
+8
XCH
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R7 @RW7+d8
R1, R7 @RW7+d8
R2, R7 @RW7+d8
R3, R7 @RW7+d8
R4, R7 @RW7+d8
R5, R7 @RW7+d8
R6, R7 @RW7+d8
R7, R7 @RW7+d8
F0
+7
E0
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R6 @RW6+d8
R1, R6 @RW6+d8
R2, R6 @RW6+d8
R3, R6 @RW6+d8
R4, R6 @RW6+d8
R5, R6 @RW6+d8
R6, R6 @RW6+d8
R7, R6 @RW6+d8
D0
+6
C0
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R5 @RW5+d8
R1, R5 @RW5+d8
R2, R5 @RW5+d8
R3, R5 @RW5+d8
R4, R5 @RW5+d8
R5, R5 @RW5+d8
R6, R5 @RW5+d8
R7, R5 @RW5+d8
B0
+5
A
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R4 @RW4+d8
R1, R4 @RW4+d8
R2, R4 @RW4+d8
R3, R4 @RW4+d8
R4, R4 @RW4+d8
R5, R4 @RW4+d8
R6, R4 @RW4+d8
R7, R4 @RW4+d8
90
+4
80
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R3 @RW3+d8
R1, R3 @RW3+d8
R2, R3 @RW3+d8
R3, R3 @RW3+d8
R4, R3 @RW3+d8
R5, R3 @RW3+d8
R6, R3 @RW3+d8
R7, R3 @RW3+d8
70
+3
60
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R2 @RW2+d8
R1, R2 @RW2+d8
R2, R2 @RW2+d8
R3, R2 @RW2+d8
R4, R2 @RW2+d8
R5, R2 @RW2+d8
R6, R2 @RW2+d8
R7, R2 @RW2+d8
50
+2
40
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R1 @RW1+d8
R1, R1 @RW1+d8
R2, R1 @RW1+d8
R3, R1 @RW1+d8
R4, R1 @RW1+d8
R5, R1 @RW1+d8
R6, R1 @RW1+d8
R7, R1 @RW1+d8
30
+1
20
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R0 @RW0+d8
R1, R0 @RW0+d8
R2, R0 @RW0+d8
R3, R0 @RW0+d8
R4, R0 @RW0+d8
R5, R0 @RW0+d8
R6, R0 @RW0+d8
R7, R0 @RW0+d8
10
+0
00
付録 B 命令
表 B.9-20 XCH Ri, ea 命令 ( 第 1 バイト =7EH)
515
516
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0,@RW2+ @PC+d16
RW1,@RW2+ @PC+d16
RW2,@RW2+ @PC+d16
RW3,@RW2+ @PC+d16
RW4,@RW2+ @PC+d16
RW5,@RW2+ @PC+d16
RW6,@RW2+ @PC+d16
RW7,@RW2+ @PC+d16
XCHW
XCHW
RW0,@RW3+ RW0, addr16
+E
+F
XCHW
XCHW
RW7,@RW3+ RW7, addr16
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0,@RW1+ @RW1+RW7 RW1,@RW1+ @RW1+RW7 RW2,@RW1+ @RW1+RW7 RW3,@RW1+ @RW1+RW7 RW4,@RW1+ @RW1+RW7 RW5,@RW1+ @RW1+RW7 RW6,@RW1+ @RW1+RW7 RW7,@RW1+ @RW1+RW7
+D
XCHW
XCHW
RW6,@RW3+ RW6, addr16
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0,@RW0+ @RW0+RW7 RW1,@RW0+ @RW0+RW7 RW2,@RW0+ @RW0+RW7 RW3,@RW0+ @RW0+RW7 RW4,@RW0+ @RW0+RW7 RW5,@RW0+ @RW0+RW7 RW6,@RW0+ @RW0+RW7 RW7,@RW0+ @RW0+RW7
+C
XCHW
XCHW
RW5,@RW3+ RW5, addr16
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0,@RW3 @RW3+d16
RW1,@RW3 @RW3+d16
RW2,@RW3 @RW3+d16
RW3,@RW3 @RW3+d16
RW4,@RW3 @RW3+d16
RW5,@RW3 @RW3+d16
RW6,@RW3 @RW3+d16
RW7,@RW3 @RW3+d16
+B
XCHW
XCHW
RW4,@RW3+ RW4, addr16
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0,@RW2 @RW2+d16
RW1,@RW2 @RW2+d16
RW2,@RW2 @RW2+d16
RW3,@RW2 @RW2+d16
RW4,@RW2 @RW2+d16
RW5,@RW2 @RW2+d16
RW6,@RW2 @RW2+d16
RW7,@RW2 @RW2+d16
+A
XCHW
XCHW
RW3,@RW3+ RW3, addr16
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0,@RW1 @RW1+d16
RW1,@RW1 @RW1+d16
RW2,@RW1 @RW1+d16
RW3,@RW1 @RW1+d16
RW4,@RW1 @RW1+d16
RW5,@RW1 @RW1+d16
RW6,@RW1 @RW1+d16
RW7,@RW1 @RW1+d16
+9
XCHW
XCHW
RW2,@RW3+ RW2, addr16
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0,@RW0 @RW0+d16
RW1,@RW0 @RW0+d16
RW2,@RW0 @RW0+d16
RW3,@RW0 @RW0+d16
RW4,@RW0 @RW0+d16
RW5,@RW0 @RW0+d16
RW6,@RW0 @RW0+d16
RW7,@RW0 @RW0+d16
+8
XCHW
XCHW
RW1,@RW3+ RW1, addr16
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW7 @RW7+d8
RW1, RW7 @RW7+d8
RW2, RW7 @RW7+d8
RW3, RW7 @RW7+d8
RW4, RW7 @RW7+d8
RW5, RW7 @RW7+d8
RW6, RW7 @RW7+d8
RW7, RW7 @RW7+d8
F0
+7
E0
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW6 @RW6+d8
RW1, RW6 @RW6+d8
RW2, RW6 @RW6+d8
RW3, RW6 @RW6+d8
RW4, RW6 @RW6+d8
RW5, RW6 @RW6+d8
RW6, RW6 @RW6+d8
RW7, RW6 @RW6+d8
D0
+6
C0
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW5 @RW5+d8
RW1, RW5 @RW5+d8
RW2, RW5 @RW5+d8
RW3, RW5 @RW5+d8
RW4, RW5 @RW5+d8
RW5, RW5 @RW5+d8
RW6, RW5 @RW5+d8
RW7, RW5 @RW5+d8
B0
+5
A0
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW4 @RW4+d8
RW1, RW4 @RW4+d8
RW2, RW4 @RW4+d8
RW3, RW4 @RW4+d8
RW4, RW4 @RW4+d8
RW5, RW4 @RW4+d8
RW6, RW4 @RW4+d8
RW7, RW4 @RW4+d8
90
+4
80
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW3 @RW3+d8
RW1, RW3 @RW3+d8
RW2, RW3 @RW3+d8
RW3, RW3 @RW3+d8
RW4, RW3 @RW3+d8
RW5, RW3 @RW3+d8
RW6, RW3 @RW3+d8
RW7, RW3 @RW3+d8
70
+3
60
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW2 @RW2+d8
RW1, RW2 @RW2+d8
RW2, RW2 @RW2+d8
RW3, RW2 @RW2+d8
RW4, RW2 @RW2+d8
RW5, RW2 @RW2+d8
RW6, RW2 @RW2+d8
RW7, RW2 @RW2+d8
50
+2
40
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW1 @RW1+d8
RW1, RW1 @RW1+d8
RW2, RW1 @RW1+d8
RW3, RW1 @RW1+d8
RW4, RW1 @RW1+d8
RW5, RW1 @RW1+d8
RW6, RW1 @RW1+d8
RW7, RW1 @RW1+d8
30
+1
20
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW0 @RW0+d8
RW1, RW0 @RW0+d8
RW2, RW0 @RW0+d8
RW3, RW0 @RW0+d8
RW4, RW0 @RW0+d8
RW5, RW0 @RW0+d8
RW6, RW0 @RW0+d8
RW7, RW0 @RW0+d8
10
+0
00
付録
表 B.9-21 XCHW RWi, ea 命令 ( 第 1 バイト =7FH)
索引
索引
Numerics
A
16 ビットタイマレジスタ
16 ビットタイマレジスタ (TMR)/16 ビット
リロードレジスタ (TMRLR) .........................202
16 ビット入出力タイマ
16 ビット入出力タイマのブロックダイヤグラム
..........................................................................175
16 ビット入出力タイマのレジスタ ....................176
16 ビットフリーランタイマ
16 ビットフリーランタイマ ................................174
16 ビットフリーランタイマのタイミング ........182
16 ビットフリーランタイマの動作 ....................181
16 ビットフリーランタイマの
ブロックダイヤグラム ..................................177
16 ビットリロードタイマ
16 ビットリロードタイマ ( イベントカウン
ト機能付 ) の概要 ...........................................196
16 ビットリロードタイマのアンダフロー動作
..........................................................................205
16 ビットリロードタイマの出力端子機能 ........206
16 ビットリロードタイマの内部クロック動作
..........................................................................203
16 ビットリロードタイマの入力端子機能
( 内部クロックモード時 ) ..............................203
16 ビットリロードタイマの
ブロックダイヤグラム ..................................196
16 ビットリロードタイマのレジスタ ................198
16 ビットリロードレジスタ
16 ビットタイマレジスタ (TMR)/16 ビット
リロードレジスタ (TMRLR) .........................202
1M ビットフラッシュメモリ
1M ビットフラッシュメモリのセクタ構成 ......405
1M ビットフラッシュメモリの特長 ..................404
1M ビットフラッシュメモリのプログラム例
..........................................................................431
24 ビットオペランド指定
24 ビットオペランド指定 ......................................25
32 ビットレジスタ間接指定
32 ビットレジスタ間接指定 ..................................25
8/16 ビット PPG
8/16 ビット PPG のカウントクロックの選択
..........................................................................223
8/16 ビット PPG の各ハードウェアの初期値
..........................................................................226
8/16 ビット PPG の機能 .......................................210
8/16 ビット PPG の出力動作 ...............................222
8/16 ビット PPG の動作 .......................................221
8/16 ビット PPG の動作モード ...........................221
8/16 ビット PPG のパルスの端子出力の制御
..........................................................................224
8/16 ビット PPG のブロックダイヤグラム .......211
8/16 ビット PPG のリロード値とパルス幅の関係
..........................................................................222
8/16 ビット PPG のレジスタ ...............................213
8/16 ビット PPG の割込み ...................................225
A/D コントロールステータスレジスタ
A/D コントロールステータスレジスタ (ADCS0)
..........................................................................248
A/D コントロールステータスレジスタ (ADCS1)
..........................................................................251
A/D コンバータ
A/D コンバータの特長 ........................................ 244
A/D コンバータのブロックダイヤグラム ........246
A/D コンバータのレジスタ一覧 ........................ 247
ADCR0,ADCR1
データレジスタ (ADCR0,ADCR1) .....................253
ADCS0
A/D コントロールステータスレジスタ (ADCS0)
..........................................................................248
ADCS1
A/D コントロールステータスレジスタ (ADCS1)
........................................................................... 251
ADER
アナログ入力許可レジスタ (ADER) .................. 153
AMR
アクセプタンスマスクレジスタ 0 および 1
(AMR0/AMR1) ................................................364
AMSR
アクセプタンスマスク選択レジスタ (AMSR)
..........................................................................363
ARSR
自動レディ機能選択レジスタ (ARSR) ..............133
B
BTR
ビットタイミングレジスタ (BTR) .....................349
BVALR
メッセージバッファ有効レジスタ (BVALR)
..........................................................................351
BVAL ビット
BVAL ビットによるメッセージバッファ禁止時の
注意 .................................................................. 388
C
CAN2 RX/TX 端子切換えレジスタ
CAN2 RX/TX 端子切換えレジスタ (CANSWR)
..........................................................................387
CANSWR
CAN2 RX/TX 端子切換えレジスタ (CANSWR)
..........................................................................387
CAN コントローラ
CAN コントローラの受信フローチャート ....... 378
CAN コントローラの送信の開始 .......................372
CAN コントローラの送信の完了 .......................373
CAN コントローラの送信フローチャート ....... 373
CAN コントローラの送信要求の解除 ............... 372
CAN コントローラの特長 ................................... 330
517
索引
CAN コントローラのブロックダイヤグラム
..........................................................................331
CKSCR
クロック選択レジスタ (CKSCR) ..........................76
CLK 同期
CLK 同期ボーレート ............................................275
CLK 同期ボーレート
CLK 同期ボーレートの転送データフォーマット
..........................................................................303
CLK 同期モード
CLK 同期モードの通信開始 ................................304
CLK 同期モードの通信終了 ................................304
CLK 同期モードを使用する場合の
各制御レジスタの設定値 ..............................303
CLK 非同期ボーレート
CLK 非同期ボーレート ........................................275
CPU
CPU の概要 ..............................................................22
CPU 間欠動作モード
CPU 間欠動作モード ........................................87, 94
CPU 動作モード
CPU 動作モードと消費電流 ..................................86
CSR
制御ステータスレジスタ (CSR) .........................342
D
DDR
ポート方向レジスタ (DDR) ................................151
DIRR
遅延割込み要因発生 / 解除レジスタ
(DIRR:Delayed interrupt request register) .......231
DLCRx
DLC レジスタ x(x=0 ∼ 15)(DLCRx) ..................369
DLC レジスタ
DLC レジスタ x(x=0 ∼ 15)(DLCRx) ..................369
メッセージバッファ (DLC レジスタ ) の一覧
..........................................................................337
DTP
DTP の動作 ............................................................238
DTP/ 外部割込み
DTP/ 外部割込みの概要 .......................................234
DTP/ 外部割込みの使用上の注意 .......................241
DTP/ 外部割込みのブロックダイヤグラム .......234
DTP/ 外部割込みのレジスタ ...............................234
DTP/ 割込み許可レジスタ
DTP/ 割込み許可レジスタ (ENIR:Interrupt request
enable register) ..................................................235
DTP/ 割込み要因レジスタ
DTP/ 割込み要因レジスタ (EIRR:External interrupt
request register) ................................................235
DTP 要求
DTP 要求と外部割込み要求の切換え ................240
DTRx
データレジスタ x(x=0 ∼ 15)(DTRx) ..................370
E
ECSR
バス制御信号選択レジスタ (ECSR) ...................136
E2PROM
E2PROM メモリマップ ........................................396
518
EI2OS
EI2OS ステータスレジスタ (ISCS) .......................64
EI2OS を使った変換動作 .....................................257
単発モード時の EI2OS の起動例 ........................ 258
停止モード時の EI2OS の起動例 ........................ 260
連続モード時の EI2OS の起動例 ........................ 259
EIRR
DTP/ 割込み要因レジスタ (EIRR:External interrupt
request register) ................................................235
ELVR
要求レベル設定レジスタ (ELVR:External level
register) .............................................................236
ENIR
DTP/ 割込み許可レジスタ (ENIR:Interrupt request
enable register) ................................................. 235
F
F2MC-16LX
F2MC-16LX 命令一覧表 .......................................481
FMCS
フラッシュメモリコントロールステータス
レジスタ (FMCS) ............................................ 408
FPT-100P-M06
FPT-100P-M06 端子配列図 ......................................7
FPT-100P-M06 パッケージ外形寸法図 ..................6
H
HACR
外部アドレス出力制御レジスタ (HACR) ..........135
HALT
バス動作停止をセットする条件 (HALT=1)
..........................................................................345
I
I/O ポート
I/O ポートの概要 ..................................................146
I/O ポートの入力レベル ...................................... 147
I/O ポートのレジスタ一覧 ..................................148
I/O マップ
I/O マップ .............................................................. 448
I/O レジスタアドレスポインタ
I/O レジスタアドレスポインタ (IOA) ................. 64
ICR
割込み制御レジスタ (ICR) ....................................60
ID
ID の設定 ...............................................................379
IDER
IDE レジスタ (IDER) ............................................ 352
IDE レジスタ
IDE レジスタ (IDER) ............................................ 352
IDRx
ID レジスタ x(x=0 ∼ 15)(IDRx) .......................... 367
ID レジスタ
ID レジスタ x(x=0 ∼ 15)(IDRx) .......................... 367
メッセージバッファ (ID レジスタ ) の一覧
..........................................................................334
索引
L
LEIR
ラストイベント表示レジスタ (LEIR) ................346
LPMCR
低消費電力モード制御レジスタ (LPMCR) .........91
RRTRR
リモート要求受信レジスタ (RRTRR) ................ 360
RTEC
受信エラーカウンタおよび送信エラーカウンタ
(RTEC) .............................................................348
S
P
PACSR
プログラムアドレス検出コントロール /
ステータスレジスタ (PACSR) ......................393
PADR
プログラムアドレス検出レジスタ (PADR0/
PADR1) ............................................................393
PDR
ポートデータレジスタ (PDR) .............................149
PILR
ポート入力レベル選択レジスタ (PILR) ............150
PLL クロック逓倍率
PLL クロック逓倍率の選択 ..................................81
PLL クロックモード
メインクロックモード ,PLL クロックモード ,
サブクロックモード ........................................80
PPG0/1 クロック選択レジスタ
PPG0/1 クロック選択レジスタ (PPG01) ............219
PPG01
PPG0/1 クロック選択レジスタ (PPG01) ............219
PPG0 動作モード制御レジスタ
PPG0 動作モード制御レジスタ (PPGC0) ...........214
PPG1 動作モード制御レジスタ
PPG1 動作モード制御レジスタ (PPGC1) ...........216
PPGC0
PPG0 動作モード制御レジスタ (PPGC0) ...........214
PPGC1
PPG1 動作モード制御レジスタ (PPGC1) ...........216
PRLL,PRLH
リロードレジスタ (PRLL,PRLH) ........................220
PUCR
プルアップ制御レジスタ (PUCR) ......................152
プルアップ制御レジスタ (PUCR) の
ブロックダイヤグラム ..................................152
R
RCR
受信完了レジスタ (RCR) .....................................359
RFWTR
リモートフレーム受信待機レジスタ (RFWTR)
..........................................................................355
RIER
受信割込み許可レジスタ (RIER) ........................362
ROMM
ROM ミラー機能選択レジスタ (ROMM) ..........401
ROM ミラー機能選択モジュール
ROM ミラー機能選択モジュールの
ブロックダイヤグラム ..................................400
ROM ミラー機能選択レジスタ
ROM ミラー機能選択レジスタ (ROMM) ..........401
ROVRR
受信オーバランレジスタ (ROVRR) ...................361
SCDCR
シリアル I/O プリスケーラ (SCDCR) ................ 318
SCR1
シリアルコントロールレジスタ 1(SCR1) ......... 293
SDR
シリアルデータレジスタ (SDR) .........................317
SIDR1
シリアルインプットデータレジスタ 1(SIDR1)/
シリアルアウトプットデータレジスタ 1
(SODR1) ...........................................................295
SMCS
シリアルモードコントロールステータスレジスタ
(SMCS) .............................................................314
SMR1
シリアルモードレジスタ 1(SMR1) .................... 291
SODR1
シリアルインプットデータレジスタ 1(SIDR1)/
シリアルアウトプットデータレジスタ 1
(SODR1) ...........................................................295
SSP
ユーザスタックポインタ (USP) と
システムスタックポインタ (SSP) .................. 33
SSR1
シリアルステータスレジスタ 1(SSR1) ..............296
T
TBTC
タイムベースタイマ制御レジスタ (TBTC) ...... 157
TCANR
送信解除レジスタ (TCANR) ............................... 356
TCR
送信完了レジスタ (TCR) .....................................357
TIER
送信割込み許可レジスタ (TIER) ........................ 358
TMCSR
タイマコントロールステータスレジスタ
(TMCSR) .......................................................... 199
TMR
16 ビットタイマレジスタ (TMR)/16 ビット
リロードレジスタ (TMRLR) .........................202
TMRLR
16 ビットタイマレジスタ (TMR)/16 ビット
リロードレジスタ (TMRLR) .........................202
TREQR
送信要求レジスタ (TREQR) ................................353
TRTRR
送信 RTR レジスタ (TRTRR) ..............................354
519
索引
U
あ
U1CDCR
UART1 プリスケーラコントロールレジスタ
(U1CDCR) ........................................................298
UART0
UART0 の動作モード ...........................................274
UART0 の特長 .......................................................264
UART0 のブロックダイヤグラム .......................265
UART0 のレジスタ ...............................................266
UART1
UART1 の応用例 ( モード 1 使用時のシステム
構築例 ) ............................................................309
UART1 のクロック選択 .......................................299
UART1 の使用上の注意 .......................................310
UART1 の通信フローチャート ...........................309
UART1 の動作モード ...........................................299
UART1 の特長 .......................................................288
UART1 のフラグ ...................................................305
UART1 のブロックダイヤグラム .......................289
UART1 のレジスタ一覧 .......................................290
UART1 の割込みとフラグのセットタイミング
..........................................................................306
UART1 の割込み発生要因 ...................................305
UART1 プリスケーラコントロールレジスタ
UART1 プリスケーラコントロールレジスタ
(U1CDCR) ........................................................298
UIDR0
インプットデータレジスタ 0(UIDR0) とアウト
プットデータレジスタ 0(UODR0) ...............271
UMC
シリアルモードコントロールレジスタ 0(UMC0)
..........................................................................267
UODR0
インプットデータレジスタ 0(UIDR0) とアウト
プットデータレジスタ 0(UODR0) ...............271
URD
レート・データレジスタ 0(URD0) ....................272
USP
ユーザスタックポインタ (USP) とシステム
スタックポインタ (SSP) ..................................33
USR
ステータスレジスタ 0(USR0) .............................269
アウトプットコンペア
アウトプットコンペア ........................................ 183
アウトプットコンペアのコントロールステータス
レジスタ .......................................................... 185
アウトプットコンペアのコンペアレジスタ
..........................................................................184
アウトプットコンペアのタイミング ................ 189
アウトプットコンペアのブロックダイヤグラム
..........................................................................183
アウトプットコンペア ( モジュールごとに
2 チャネル ) ..................................................... 174
アウトプットデータレジスタ
インプットデータレジスタ 0(UIDR0) とアウト
プットデータレジスタ 0(UODR0) ............... 271
アキュムレータ
アキュムレータ (A) ................................................ 32
アクセプタンスフィルタ
アクセプタンスフィルタの設定 ........................ 379
アクセプタンスフィルタリング
アクセプタンスフィルタリング ........................ 375
アクセプタンスマスク選択レジスタ
アクセプタンスマスク選択レジスタ (AMSR)
..........................................................................363
アクセプタンスマスクレジスタ
アクセプタンスマスクレジスタ 0 および 1
(AMR0/AMR1) ................................................364
アドレス一致検出機能
アドレス一致検出機能のシステム構成例 ........396
アドレス一致検出機能の動作 ............................395
アドレス一致検出機能のブロックダイヤグラム
..........................................................................392
アドレス指定
アドレス指定の方式 .............................................. 23
バンク方式によるアドレス指定 .......................... 26
アドレッシング
アドレッシング ....................................................458
間接アドレッシング ............................................ 467
直接アドレッシング ............................................ 460
アナログ入力許可レジスタ
アナログ入力許可レジスタ ................................244
アナログ入力許可レジスタ (ADER) .................. 153
W
い
WDTC
ウォッチドッグタイマ制御レジスタ (WDTC)
..........................................................................163
WTC
時計タイマ制御レジスタ (WTC) ........................169
イベントカウント機能
16 ビットリロードタイマ ( イベントカウント
機能付 ) の概要 ............................................... 196
インターバル割込み
タイムベースタイマのインターバル割込み機能
..........................................................................159
時計タイマのインターバル割込み機能 ............171
インタラプトレベルマスクレジスタ
インタラプトレベルマスクレジスタ (ILM) .......36
インテリジェント I/O サービス
インテリジェント I/O サービス (EI2OS) 機能と
割込み .............................................................. 196
インプットキャプチャ
インプットキャプチャ ........................................ 190
インプットキャプチャ入力タイミング ............193
520
索引
インプットキャプチャの取り込みタイミング例
..........................................................................193
インプットキャプチャのブロックダイヤグラム
..........................................................................190
インプットキャプチャ ( モジュールごとに
2 チャネル ) .....................................................175
インプットキャプチャコントロールステータスレジ
スタ
インプットキャプチャコントロールステータス
レジスタ ..........................................................191
インプットキャプチャデータレジスタ
インプットキャプチャデータレジスタ .............191
インプットデータレジスタ
インプットデータレジスタ 0(UIDR0) とアウト
プットデータレジスタ 0(UODR0) ...............271
う
ウォッチドッグカウンタ
ウォッチドッグカウンタのクリア .....................165
ウォッチドッグカウンタの停止 .........................165
ウォッチドッグタイマ
ウォッチドッグタイマの起動方法 .....................165
ウォッチドッグタイマのブロックダイヤグラム
..........................................................................162
ウォッチドッグタイマのリセット .....................165
ウォッチドッグタイマのレジスタ .....................162
ウォッチドッグタイマ制御レジスタ
ウォッチドッグタイマ制御レジスタ (WDTC)
..........................................................................163
か
外形寸法図
FPT-100P-M06 パッケージ外形寸法図 ..................6
外部アドレス出力制御レジスタ
外部アドレス出力制御レジスタ (HACR) ..........135
外部イベントカウント
外部イベントカウント .........................................204
外部クロック
振動子と外部クロックの接続 ...............................84
内部クロックおよび外部クロック .....................277
外部シフトクロックモード
外部シフトクロックモード .................................320
外部バス 16 ビットデータバスモード
外部バス 16 ビットデータバスモード時の
端子状態 ..........................................................110
外部バス 8 ビットデータバスモード
外部バス 8 ビットデータバスモード時の
端子状態 ..........................................................111
外部バス端子制御回路
外部メモリアクセス ( 外部バス端子制御回路 )
..........................................................................131
外部メモリアクセス
外部メモリアクセス ( 外部バス端子制御回路 )
..........................................................................131
外部メモリアクセスのブロックダイヤグラム
..........................................................................131
外部メモリアクセスのレジスタ一覧 .................132
外部メモリアクセス制御信号
外部メモリアクセス制御信号 .............................139
外部リセット端子
外部リセット端子のブロックダイヤグラム
..........................................................................119
外部割込み
外部割込みの動作 ................................................237
外部割込み要求
DTP 要求と外部割込み要求の切換え ................ 240
カウンタ
カウンタの動作状態 ............................................ 207
カウントクロック
8/16 ビット PPG のカウントクロックの選択
..........................................................................223
拡張インテリジェント I/O サービス
拡張インテリジェント I/O サービス (EI2OS) の
概要 .................................................................... 58
拡張インテリジェント I/O サービス (EI2OS) の
構造 .................................................................... 59
拡張インテリジェント I/O サービス (EI2OS) の
実行時間 ............................................................ 69
拡張インテリジェント I/O サービス (EI2OS) の
動作フロー ........................................................67
拡張インテリジェント I/O サービス
ディスクリプタ (ISD) ...................................... 63
拡張シリアル I/O インタフェース
拡張シリアル I/O インタフェースの割込み機能
..........................................................................326
間接アドレッシング
間接アドレッシング ............................................ 467
く
クロック
クロックの概要 ......................................................72
クロック供給マップ
クロック供給マップ .............................................. 73
クロック選択
UART1 のクロック選択 ...................................... 299
クロック選択レジスタ
クロック選択レジスタ (CKSCR) .......................... 76
クロック発生部
クロック発生部のブロックダイヤグラム ..........74
クロックモード
クロックモード ......................................................87
クロックモードの移行 .......................................... 80
クロックモードの切換え .................................... 113
こ
コマンドシーケンス
コマンドシーケンス表 ........................................ 410
コモンレジスタバンクプリフィックス
コモンレジスタバンクプリフィックス (CMR)
............................................................................41
コンディションコードレジスタ
コンディションコードレジスタ (CCR) ............... 34
コントロールステータスレジスタ
アウトプットコンペアのコントロールステータス
レジスタ .......................................................... 185
コンペアレジスタ
2 組のコンペアレジスタによる出力波形例
( 出力の初期値は "0" とする ) ...................... 188
521
索引
コンペアレジスタ 0,1 を使用したときの出力波形
例 ( 出力の初期値は "0" とする ) .................188
さ
サブクロックモード
メインクロックモード ,PLL クロックモード ,
サブクロックモード ........................................80
し
システムスタックポインタ
ユーザスタックポインタ (USP) と
システムスタックポインタ (SSP) ..................33
実効アドレス
実効アドレスフィールド .....................................476
実効アドレスフィールド
実効アドレスフィールド .....................................459
実行サイクル
実行サイクル数 .....................................................474
実行サイクル数計算方法 .....................................474
自動レディ機能選択レジスタ
自動レディ機能選択レジスタ (ARSR) ..............133
シフト動作
シフト動作のスタート / ストップタイミング
..........................................................................323
受信エラーカウンタ
受信エラーカウンタおよび送信エラーカウンタ
(RTEC) .............................................................348
受信オーバラン
受信オーバラン .....................................................376
受信オーバランレジスタ
受信オーバランレジスタ (ROVRR) ...................361
受信完了レジスタ
受信完了レジスタ (RCR) .....................................359
受信メッセージ
受信メッセージの記憶 .........................................375
受信割込み許可レジスタ
受信割込み許可レジスタ (RIER) ........................362
状態遷移図
状態遷移図 .............................................................107
消費電流
CPU 動作モードと消費電流 ..................................86
シリアル I/O
シリアル I/O の動作 .............................................319
シリアル I/O の動作状態 .....................................321
シリアル I/O のブロックダイヤグラム .............312
シリアル I/O のレジスタ .....................................313
シリアル I/O プリスケーラ
シリアル I/O プリスケーラ (SCDCR) ................318
シリアルアウトプットデータレジスタ 1
シリアルインプットデータレジスタ 1(SIDR1)/
シリアルアウトプットデータレジスタ 1
(SODR1) ...........................................................295
シリアルインプットデータレジスタ 1
シリアルインプットデータレジスタ 1(SIDR1)/
シリアルアウトプットデータレジスタ 1
(SODR1) ...........................................................295
シリアル書込み
MB90F443G シリアル書込み接続の基本構成
..........................................................................436
522
シリアル書込み接続例 ( ユーザ電源使用時 )
..........................................................................439
シリアル書込み接続例 ( ライタから電源供給時 )
..........................................................................441
シリアルクロック入力周波数
発振クロック周波数とシリアルクロック入力
周波数 .............................................................. 438
シリアルコントロールレジスタ
シリアルコントロールレジスタ 1(SCR1) ......... 293
シリアルステータスレジスタ 1
シリアルステータスレジスタ 1(SSR1) ..............296
シリアルデータレジスタ
シリアルデータレジスタ (SDR) .........................317
シリアルモードコントロールステータスレジスタ
シリアルモードコントロールステータスレジスタ
(SMCS) .............................................................314
シリアルモードコントロールレジスタ
シリアルモードコントロールレジスタ 0(UMC0)
..........................................................................267
シリアルモードレジスタ 1
シリアルモードレジスタ 1(SMR1) .................... 291
シングルチップモード
シングルチップモード時の端子状態 ................ 109
振動子
振動子と外部クロックの接続 ..............................84
す
推奨設定
推奨設定 ................................................................ 130
スタック
スタック内へのレジスタの退避 .......................... 52
スタンバイモード
スタンバイモード ..................................................87
スタンバイモードの動作状態 ..............................95
スタンバイモードの割込みによる解除 ............112
スタンバイモードへの移行と割込み ................ 112
ステータスフラグ
送信動作時のステータスフラグ ........................ 284
ステータスレジスタ
ステータスレジスタ 0(USR0) ............................. 269
ストップモード
ストップモード解除時 ........................................ 112
ストップモードの解除 ........................................ 104
ストップモードへの移行 .................................... 104
スリープモード
スリープモードの解除 .......................................... 96
スリープモードへの移行 ...................................... 96
せ
制御ステータスレジスタ
制御ステータスレジスタ (CSR) .........................342
製品概要
MB90440G シリーズの製品概要 ............................ 2
セクタ消去
フラッシュメモリのセクタ消去手順 ................ 424
フラッシュメモリのセクタ消去の一時停止
..........................................................................426
フラッシュメモリのセクタ消去の再開 ............427
フラッシュメモリの任意データの消去
( セクタ消去 ) ................................................. 424
索引
セクタ消去タイマフラグ
セクタ消去タイマフラグ (DQ3) .........................416
全体コントロールレジスタ
全体コントロールレジスタ .................................341
全体コントロールレジスタの一覧 .....................332
専用レジスタ
専用レジスタ ...........................................................29
そ
送信 RTR レジスタ
送信 RTR レジスタ (TRTRR) ..............................354
送信エラーカウンタ
受信エラーカウンタおよび送信エラーカウンタ
(RTEC) .............................................................348
送信解除レジスタ
送信解除レジスタ (TCANR) ...............................356
送信完了レジスタ
送信完了レジスタ (TCR) .....................................357
送信要求レジスタ
送信要求レジスタ (TREQR) ................................353
送信割込み許可レジスタ
送信割込み許可レジスタ (TIER) ........................358
ソフトウェア割込み
ソフトウェア割込みに関する注意事項 ...............57
ソフトウェア割込みの概要 ...................................56
ソフトウェア割込みの構造 ...................................56
ソフトウェア割込みの動作 ...................................56
た
タイマカウンタデータレジスタ
タイマカウンタデータレジスタ .........................178
タイマコントロールステータスレジスタ
タイマコントロールステータスレジスタ .........179
タイマコントロールステータスレジスタ
(TMCSR) ..........................................................199
タイミングリミット超過フラグ
タイミングリミット超過フラグ (DQ5) .............415
タイムベースタイマ
タイムベースタイマ .............................................159
タイムベースタイマのインターバル割込み機能
..........................................................................159
タイムベースタイマのブロックダイヤグラム
..........................................................................156
タイムベースタイマのレジスタ .........................156
タイムベースタイマ制御レジスタ
タイムベースタイマ制御レジスタ (TBTC)
..........................................................................157
タイムベースタイマモード
タイムベースタイマモードの解除 .....................100
タイムベースタイマモードへの移行 ...................99
多重割込み
多重割込み ...............................................................52
多バイト長データ
多バイト長データのアクセス ...............................28
メモリ空間における多バイト長データの配置
............................................................................28
端子機能説明
端子機能説明 .............................................................8
端子状態
外部バス 16 ビットデータバスモード時の
端子状態 .......................................................... 110
外部バス 8 ビットデータバスモード時の
端子状態 .......................................................... 111
シングルチップモード時の端子状態 ................ 109
端子配列図
FPT-100P-M06 端子配列図 ......................................7
単発モード
単発モード ............................................................ 255
単発モード時の EI2OS の起動例 ........................ 258
ち
遅延割込み
遅延割込みのブロックダイヤグラム ................ 230
遅延割込み要求ロックの使用上の注意 ............230
遅延割込み発生
遅延割込み発生 ....................................................232
遅延割込み要因発生 / 解除レジスタ
遅延割込み要因発生 / 解除レジスタ
(DIRR:Delayed interrupt request register) ....... 231
チップ消去
フラッシュメモリの全データの消去
( チップ消去 ) ................................................. 423
調歩同期
非同期 ( 調歩同期 ) モードの受信動作 ..............302
非同期 ( 調歩同期 ) モードの送信動作 ..............302
非同期 ( 調歩同期 ) モードの転送データ
フォーマット ..................................................302
直接アドレッシング
直接アドレッシング ............................................ 460
て
停止モード
停止モード ............................................................ 256
停止モード時の EI2OS の起動例 ........................ 260
低消費電力制御回路
低消費電力制御回路のブロックダイヤグラム
............................................................................89
低消費電力モード
低消費電力モードの動作状態 ............................108
低消費電力モード制御レジスタ
低消費電力モード制御レジスタ (LPMCR) ......... 91
低消費電力モード制御レジスタへのアクセス
............................................................................93
ディスクリプタ
拡張インテリジェント I/O サービスディスクリプ
タ (ISD) .............................................................. 63
低電力消費モード
低電力消費モードの設定 .................................... 380
データカウンタ
データカウンタ (DCT) ...........................................63
データフレーム
データフレームおよびリモートフレームの
受信に対する処理 .......................................... 376
データポーリングフラグ
データポーリングフラグ (DQ7) .........................413
データ保護機能
データ保護機能のフロー例 (EI2OS の場合 )
..........................................................................262
523
索引
データレジスタ
データレジスタ (ADCR0,ADCR1) ......................253
データレジスタ x(x=0 ∼ 15)(DTRx) ..................370
メッセージバッファ ( データレジスタ ) の一覧
..........................................................................339
デバイスの取扱い
デバイスの取扱いに関する注意事項 ...................17
転送データフォーマット
CLK 同期ボーレートの転送データフォーマット
..........................................................................303
転送データフォーマット .....................................278
非同期 ( 調歩同期 ) モードの転送データ
フォーマット ..................................................302
と
動作モード
UART1 の動作モード ...........................................299
特長
特長 .............................................................................3
トグルビット 2 フラグ
トグルビット 2 フラグ (DQ2) .............................417
時計タイマ
時計タイマ .............................................................171
時計タイマのインターバル割込み機能 .............171
時計タイマのブロックダイヤグラム .................168
時計タイマのレジスタ .........................................168
時計タイマ制御レジスタ
時計タイマ制御レジスタ (WTC) ........................169
時計モード
時計モードの解除 .................................................102
時計モードへの移行 .............................................101
トグルビットフラグ
トグルビットフラグ (DQ6) .................................414
な
内部クロック
16 ビットリロードタイマの内部クロック動作
..........................................................................203
内部クロックおよび外部クロック .....................277
内部クロックモード
16 ビットリロードタイマの入力端子機能
( 内部クロックモード時 ) ..............................203
内部シフトクロックモード
内部シフトクロックモード .................................320
に
入出力回路形式
入出力回路形式 .......................................................15
入出力領域
入出力領域への書込み中のハードウェア割込み
要求 ....................................................................51
入力インピーダンス
入力インピーダンス .............................................245
ね
ネガティブクロック
ネガティブクロック動作 .............................308, 327
524
は
ハードウェアシーケンスフラグ
ハードウェアシーケンスフラグ ........................ 411
ハードウェア割込み
ハードウェア割込みの概要 ..................................51
ハードウェア割込みの構造 ..................................51
ハードウェア割込みの動作 ..................................53
ハードウェア割込みの動作フロー ...................... 55
ハードウェア割込み要求
入出力領域への書込み中のハードウェア割込み
要求 .................................................................... 51
バス制御信号選択レジスタ
バス制御信号選択レジスタ (ECSR) ...................136
バス動作停止ビット
バス動作停止をセットする条件 (HALT=1)
..........................................................................345
バスモード
バスモード別メモリ空間 .................................... 129
発振安定待ち
発振安定待ちリセット状態 ................................118
発振安定待ち時間
発振安定待ち時間 ..........................................83, 113
リセット要因と発振安定待ち時間 .................... 118
発振クロック周波数
発振クロック周波数とシリアルクロック入力
周波数 .............................................................. 438
バッファアドレスポインタ
バッファアドレスポインタ (BAP) .......................66
パリティビット
パリティビット ....................................................279
パルス幅
8/16 ビット PPG のリロード値とパルス幅の関係
..........................................................................222
バンクセレクトプリフィックス
バンクセレクトプリフィックス .......................... 40
バンク方式
バンク方式によるアドレス指定 .......................... 26
汎用レジスタ
汎用レジスタ .......................................................... 31
ひ
ビットタイミング
ビットタイミングの設定 .................................... 379
ビットタイミングレジスタ
ビットタイミングレジスタ (BTR) .....................349
非同期モード
非同期 ( 調歩同期 ) モードの受信動作 ..............302
非同期 ( 調歩同期 ) モードの送信動作 ..............302
非同期 ( 調歩同期 ) モードの転送データ
フォーマット ..................................................302
ふ
フラグ
6 つのフラグのセットタイミング .....................280
UART1 のフラグ ................................................... 305
UART1 の割込みとフラグのセットタイミング
..........................................................................306
受信動作時 ( モード 0,モード 1,モード 3) の
フラグのセットタイミング .......................... 281
索引
受信動作時 ( モード 2) のフラグの
セットタイミング ..........................................282
送信動作時のフラグのセットタイミング .........283
フラグ変化抑止プリフィックス
フラグ変化抑止プリフィックス (NCC) ...............41
フラッシュセキュリティ
フラッシュセキュリティの特長 .........................430
フラッシュマイコンプログラマ
フラッシュマイコンプログラマとの最小限の
接続例 ( ユーザ電源使用時 ) .........................443
フラッシュマイコンプログラマとの最小限の
接続例 ( ライタから電源供給時 ) .................445
フラッシュメモリ
フラッシュメモリ書込み手順 .............................421
フラッシュメモリ使用上の注意 .........................428
フラッシュメモリの制御信号 .............................406
フラッシュメモリのセクタ消去手順 .................424
フラッシュメモリのセクタ消去の一時停止
..........................................................................426
フラッシュメモリのセクタ消去の再開 .............427
フラッシュメモリの全データの消去
( チップ消去 ) ..................................................423
フラッシュメモリの任意データの消去
( セクタ消去 ) ..................................................424
フラッシュメモリへのデータを書込み .............421
フラッシュメモリを読出し / リセット状態
..........................................................................420
フラッシュメモリ書込み / 消去
フラッシュメモリ書込み / 消去の詳細説明
..........................................................................419
フラッシュメモリ書込み / 消去の方法 .............404
フラッシュメモリコントロールステータスレジスタ
フラッシュメモリコントロールステータス
レジスタ (FMCS) ............................................408
フラッシュメモリモード
フラッシュメモリモード .....................................406
プリフィックスコード
プリフィックスコードが連続している場合 .......44
プリフィックス命令
割込み抑止命令とプリフィックス命令に
関する制約 ........................................................43
プルアップ制御レジスタ
プルアップ制御レジスタ (PUCR) ......................152
プルアップ制御レジスタ (PUCR) の
ブロックダイヤグラム ..................................152
フレームフォーマット
フレームフォーマットの設定 .............................379
プログラムアドレス検出コントロール / ステータス
レジスタ
プログラムアドレス検出コントロール /
ステータスレジスタ (PACSR) ......................393
プログラムアドレス検出レジスタ
プログラムアドレス検出レジスタ
(PADR0/PADR1) .............................................393
プログラムカウンタ
プログラムカウンタ (PC) ......................................37
プログラムパッチ
プログラムパッチ処理フロー図 .........................398
プログラムパッチ処理例 .....................................397
プロセッサステータス
プロセッサステータス (PS) ..................................34
ブロックダイヤグラム
16 ビット入出力タイマのブロックダイヤグラム
..........................................................................175
16 ビットフリーランタイマの
ブロックダイヤグラム ..................................177
16 ビットリロードタイマの
ブロックダイヤグラム ..................................196
8/16 ビット PPG のブロックダイヤグラム ....... 211
A/D コンバータのブロックダイヤグラム ........246
CAN コントローラのブロックダイヤグラム
..........................................................................331
DTP/ 外部割込みのブロックダイヤグラム ....... 234
ROM ミラー機能選択モジュールの
ブロックダイヤグラム ..................................400
UART0 のブロックダイヤグラム ...................... 265
UART1 のブロックダイヤグラム ...................... 289
アウトプットコンペアのブロックダイヤグラム
..........................................................................183
アドレス一致検出機能のブロックダイヤグラム
..........................................................................392
インプットキャプチャのブロックダイヤグラム
..........................................................................190
ウォッチドッグタイマのブロックダイヤグラム
..........................................................................162
外部メモリアクセスのブロックダイヤグラム
..........................................................................131
外部リセット端子のブロックダイヤグラム
..........................................................................119
クロック発生部のブロックダイヤグラム ..........74
シリアル I/O のブロックダイヤグラム ............. 312
タイムベースタイマのブロックダイヤグラム
..........................................................................156
遅延割込みのブロックダイヤグラム ................ 230
低消費電力制御回路のブロックダイヤグラム
............................................................................89
時計タイマのブロックダイヤグラム ................ 168
ブロックダイヤグラム ............................................ 5
プルアップ制御レジスタ (PUCR) の
ブロックダイヤグラム ..................................152
へ
変換データ保護機能
変換データ保護機能 ............................................ 261
変換データ保護機能の使用上の注意 ................ 262
ほ
ポートデータレジスタ
ポートデータレジスタ (PDR) ............................. 149
ポート入力レベル選択レジスタ
ポート入力レベル選択レジスタ (PILR) ............150
ポート方向レジスタ
ポート方向レジスタ (DDR) ................................151
ホールド機能
ホールド機能 ........................................................ 143
ボーレート
CLK 同期ボーレート ...........................................275
525
索引
ま
ゆ
マシンクロック
マシンクロック .......................................................81
マルチレベルメッセージバッファ
マルチレベルメッセージバッファの構成の決定
..........................................................................385
ユーザスタックポインタ
ユーザスタックポインタ (USP) とシステム
スタックポインタ (SSP) ..................................33
ユーザ電源
シリアル書込み接続例 ( ユーザ電源使用時 )
..........................................................................439
フラッシュマイコンプログラマとの最小限の
接続例 ( ユーザ電源使用時 ) ........................ 443
み
未定義命令
未定義命令の実行による例外発生 .......................70
め
命令
命令の種類 .............................................................457
命令マップの構造 .................................................495
命令一覧表
F2MC-16LX 命令一覧表 .......................................481
メインクロックモード
メインクロックモード ,PLL クロックモード ,
サブクロックモード ........................................80
メッセージバッファ
BVAL ビットによるメッセージバッファ禁止時の
注意 ..................................................................388
メッセージバッファ .............................................366
メッセージバッファ (DLC レジスタ ) の一覧
..........................................................................337
メッセージバッファ (ID レジスタ ) の一覧
..........................................................................334
メッセージバッファ (x) による受信方法 ..........383
メッセージバッファ (x) による送信方法 ..........381
メッセージバッファ ( データレジスタ ) の一覧
..........................................................................339
メッセージバッファ有効レジスタ
メッセージバッファ有効レジスタ (BVALR)
..........................................................................351
メモリアクセスモード
メモリアクセスモードの概要 .............................126
メモリ空間
CPU メモリ空間の概要 ..........................................23
バスモード別メモリ空間 .....................................129
メモリ空間マップ
メモリ空間マップ ...................................................24
メモリマップ
E2PROM メモリマップ ........................................396
も
モード端子
モード端子 .....................................................120, 127
モードデータ
モードデータ .........................................................128
モードデータ読出し後の端子の状態 .................124
モードフェッチ
モードフェッチ .....................................................120
よ
要求レベル設定レジスタ
要求レベル設定レジスタ (ELVR:External level
register) .............................................................236
ら
ライタ
シリアル書込み接続例 ( ライタから電源供給時 )
..........................................................................441
フラッシュマイコンプログラマとの最小限の
接続例 ( ライタから電源供給時 ) ................ 445
ラストイベント表示レジスタ
ラストイベント表示レジスタ (LEIR) ................ 346
り
リセット
リセット中の端子の状態 .................................... 124
リセット動作
リセット動作の概要 ............................................ 120
リセット要因
リセット要因 ........................................................ 116
リセット要因と発振安定待ち時間 .................... 118
リセット要因ビット
リセット要因ビット ............................................ 122
リセット要因ビットとリセット要因の対応
..........................................................................122
リセット要因ビットの注意事項 ........................ 123
リモートフレーム
データフレームおよびリモートフレームの
受信に対する処理 .......................................... 376
リモートフレーム受信待機レジスタ
リモートフレーム受信待機レジスタ (RFWTR)
..........................................................................355
リモート要求受信レジスタ
リモート要求受信レジスタ (RRTRR) ................ 360
リロード値
8/16 ビット PPG のリロード値とパルス幅の関係
..........................................................................222
リロードレジスタ
リロードレジスタ (PRLL,PRLH) ........................ 220
れ
例外発生
未定義命令の実行による例外発生 ...................... 70
レート・データレジスタ
レート・データレジスタ 0(URD0) .................... 272
526
索引
レジスタ
16 ビットタイマレジスタ (TMR)/16 ビット
リロードレジスタ (TMRLR) .........................202
A/D コントロールステータスレジスタ (ADCS0)
..........................................................................248
A/D コントロールステータスレジスタ (ADCS1)
..........................................................................251
CAN2 RX/TX 端子切換えレジスタ (CANSWR)
..........................................................................387
DLC レジスタ x(x=0 ∼ 15)(DLCRx) ..................369
DTP/ 割込み許可レジスタ (ENIR:Interrupt request
enable register) ..................................................235
DTP/ 割込み要因レジスタ (EIRR:External interrupt
request register) ................................................235
IDE レジスタ (IDER) ............................................352
ID レジスタ x(x=0 ∼ 15)(IDRx) ..........................367
PPG0/1 クロック選択レジスタ (PPG01) ............219
PPG0 動作モード制御レジスタ (PPGC0) ...........214
PPG1 動作モード制御レジスタ (PPGC1) ...........216
ROM ミラー機能選択レジスタ (ROMM) ..........401
UART1 プリスケーラコントロールレジスタ
(U1CDCR) ........................................................298
アウトプットコンペアのコントロールステータス
レジスタ ..........................................................185
アクセプタンスマスク選択レジスタ (AMSR)
..........................................................................363
アクセプタンスマスクレジスタ 0 および 1
(AMR0/AMR1) ................................................364
アナログ入力許可レジスタ .................................244
アナログ入力許可レジスタ (ADER) ..................153
インタラプトレベルマスクレジスタ (ILM) ........36
インプットキャプチャコントロールステータス
レジスタ ..........................................................191
インプットキャプチャデータレジスタ .............191
インプットデータレジスタ (UIDR0) とアウト
プットデータレジスタ 0(UODR0) ...............271
ウォッチドッグタイマ制御レジスタ (WDTC)
..........................................................................163
外部アドレス出力制御レジスタ (HACR) ..........135
クロック選択レジスタ (CKSCR) ..........................76
コンディションコードレジスタ (CCR) ...............34
自動レディ機能選択レジスタ (ARSR) ..............133
受信オーバランレジスタ (ROVRR) ...................361
受信完了レジスタ (RCR) .....................................359
受信割込み許可レジスタ (RIER) ........................362
シリアルインプットデータレジスタ 1(SIDR1)/
シリアルアウトプットデータレジスタ 1
(SODR1) ...........................................................295
シリアルコントロールレジスタ 1(SCR1) .........293
シリアルステータスレジスタ 1(SSR1) ..............296
シリアルデータレジスタ (SDR) .........................317
シリアルモードコントロールステータスレジスタ
(SMCS) .............................................................314
シリアルモードコントロールレジスタ 0(UMC0)
..........................................................................267
シリアルモードレジスタ 1(SMR1) ....................291
ステータスレジスタ 0(USR0) .............................269
制御ステータスレジスタ (CSR) .........................342
全体コントロールレジスタの一覧 .....................332
送信 RTR レジスタ (TRTRR) ..............................354
送信解除レジスタ (TCANR) ...............................356
送信完了レジスタ (TCR) .....................................357
送信要求レジスタ (TREQR) ................................353
送信割込み許可レジスタ (TIER) ........................ 358
タイマカウンタデータレジスタ ........................ 178
タイマコントロールステータスレジスタ ........179
タイマコントロールステータスレジスタ
(TMCSR) .......................................................... 199
タイムベースタイマ制御レジスタ (TBTC) ...... 157
遅延割込み要因発生 / 解除レジスタ
(DIRR:Delayed interrupt request register) ....... 231
低消費電力モード制御レジスタ (LPMCR) ......... 91
データレジスタ (ADCR0,ADCR1) .....................253
データレジスタ x(x=0 ∼ 15)(DTRx) .................. 370
時計タイマ制御レジスタ (WTC) ........................ 169
バス制御信号選択レジスタ (ECSR) ...................136
ビットタイミングレジスタ (BTR) .....................349
フラッシュメモリコントロールステータス
レジスタ (FMCS) ............................................ 408
プルアップ制御レジスタ (PUCR) ...................... 152
プルアップ制御レジスタ (PUCR) の
ブロックダイヤグラム ..................................152
プログラムアドレス検出コントロール /
ステータスレジスタ (PACSR) ...................... 393
プログラムアドレス検出レジスタ
(PADR0/PADR1) .............................................393
ポートデータレジスタ (PDR) ............................. 149
ポート入力レベル選択レジスタ (PILR) ............150
ポート方向レジスタ (DDR) ................................151
メッセージバッファ (DLC レジスタ ) の一覧
..........................................................................337
メッセージバッファ (ID レジスタ ) の一覧
..........................................................................334
メッセージバッファ ( データレジスタ ) の一覧
..........................................................................339
メッセージバッファ有効レジスタ (BVALR)
..........................................................................351
要求レベル設定レジスタ (ELVR:External level
register) .............................................................236
ラストイベント表示レジスタ (LEIR) ................ 346
リモートフレーム受信待機レジスタ (RFWTR)
..........................................................................355
リモート要求受信レジスタ (RRTRR) ................ 360
リロードレジスタ (PRLL,PRLH) ........................ 220
レート・データレジスタ 0(URD0) .................... 272
割込み制御レジスタ (ICR) ....................................60
全体コントロールレジスタ ................................341
レジスタバンク
レジスタバンク ......................................................38
レジスタバンクポインタ
レジスタバンクポインタ (RP) ..............................35
レディ機能
レディ機能 ............................................................ 141
連続モード
連続モード ............................................................ 255
連続モード時の EI2OS の起動例 ........................ 259
わ
割込み
インテリジェント I/O サービス (EI2OS) 機能と
割込み .............................................................. 196
スタンバイモードへの移行と割込み ................ 112
割込みの概要 .......................................................... 46
527
索引
割込み制御レジスタ
割込み制御レジスタ (ICR) ....................................60
割込みベクタ
割込みベクタ ...........................................................49
割込み要因
割込み要因 ...............................................................47
528
割込み抑止命令
割込み抑止命令 ......................................................43
割込み抑止命令とプリフィックス命令に
関する制約 ........................................................43
CM44-10117-3
富士通マイクロエレクトロニクス ・ CONTROLLER MANUAL
F2MC-16LX
16 ビット・マイクロコントローラ
MB90440G Series
ハードウェアマニュアル
2008 年 7 月 第 3 版発行
発行
富士通マイクロエレクトロニクス株式会社
編集
マーケティング統括部 ビジネス推進部