4.6MB

本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。
富士通マイクロエレクトロニクス
CONTROLLER MANUAL
CM44-10105-6
F2MC-16LX
16 ビット・マイクロコントローラ
MB90590 Series
ハードウェアマニュアル
F2MC-16LX
16 ビット・マイクロコントローラ
MB90590 Series
ハードウェアマニュアル
富士通マイクロエレクトロニクスのマイコンを効率的に開発するための情報を下記 URL にてご紹介いたします。
ご採用を検討中 , またはご採用いただいたお客様に有益な情報を公開しています。
開発における最新の注意事項に関しては , 必ず「Check Sheet」を参照してください。
「Check Sheet」はシステム開発において , 問題を未然に防ぐことを目的として , 最低限必要と思われるチェック項目
をリストにしたものです。
http://edevice.fujitsu.com/micom/jp-support/
富士通マイクロエレクトロニクス株式会社
はじめに
■ 本書の目的と対象読者
富士通マイクロエレクトロニクス製品につきまして , 平素より格別のご愛
読を賜り厚くお例申し上げます。
MB90590 シリーズは , ASIC(Application Specific IC) 対応が可能なオリジナ
ル 16 ビット・ワンチップマイクロコントローラである F2MC®-16LX ファ
ミリの汎用品の 1 つとして開発された製品です。
本書は , 実際にこの半導体を使って製品を設計する技術者の方を対象に ,
MB90590 シリーズの機能や動作について記載しています。本書をご一読
ください。
■ 商標
F2MC は FUJITSU Flexible Microcontroller の略で , 富士通マイクロエレクト
ロニクス株式会社の商標です。
Embedded Algorithm は Advanced Micro Devices Inc. の商標です。
そのほか , 本書で登場するシステム名 , 製品名はそれぞれの会社もしくは
組織の商標です。
i
■ 本書の全体構成
本書は , 以下に示す 25 の章および付録から構成されています。
第 1 章 概要
この章では , MB90590 シリーズの特長や基本的な仕様について説明し
ます。
第 2 章 CPU
この章では , CPU の機能と動作について説明します。
第 3 章 割込み
この章では , MB90590 シリーズの割込みと拡張インテリジェント I/O
サービス (EI2OS) の機能と動作について説明します。
第 4 章 遅延割込み
この章では , 遅延割込みの機能と動作について説明します。
第 5 章 クロックとリセット
この章では , クロックとリセットの機能と動作について説明します。
第 6 章 低消費電力制御回路
この章では , 低消費電力回路の機能と動作について説明します。
第 7 章 メモリアクセスモード
この章では , メモリアクセスモードの機能と動作について説明します。
第 8 章 I/O ポート
この章では , I/O ポートの機能と動作について説明します。
第 9 章 タイムベースタイマ
この章では , タイムベースタイマの機能と動作について説明します。
第 10 章 ウォッチドッグタイマ
この章では , ウォッチドッグタイマの機能と動作について説明します。
第 11 章 16 ビット入出力タイマ
この章では , 16 ビット入出力タイマの機能と動作について説明します。
第 12 章 16 ビットリロードタイマ ( イベントカウント機能付 )
この章では , 16 ビットリロードタイマ ( イベントカウント機能付 ) の機
能と動作について説明します。
第 13 章 時計タイマ
この章では , 時計タイマの機能と動作について説明します。
第 14 章 8/16 ビット PPG タイマ
この章では , 8/16 ビット PPG の機能と概要について説明します。
第 15 章 DTP/ 外部割込み
この章では , DTP/ 外部割込みの機能と動作について説明します。
第 16 章 A/D コンバータ
この章では , A/D コンバータの機能と動作について説明します。
ii
第 17 章 UART0
この章では , UART0 の機能と動作について説明します。
第 18 章 シリアル I/O
この章では , シリアル I/O の機能と動作について説明します。
第 19 章 CAN コントローラ
この章では , CAN コントローラの機能と概要について説明します。
第 20 章 ステッピングモータコントローラ
この章では , ステッピングモータコントローラの機能と動作について
説明します。
第 21 章 サウンドジェネレータ
この章では , サウンドジェネレータの機能と動作について説明します。
第 22 章 アドレス一致検出機能
この章は , アドレス一致検出の機能と動作について説明します。
第 23 章 ROM ミラー機能選択モジュール
この章では , ROM ミラー機能選択モジュールについて説明します。
第 24 章 2M/3M ビットフラッシュメモリ
この章では , 2M/3M ビットフラッシュメモリの機能や動作について説
明します。
第 25 章 MB90F594A/MB90F594G/MB90F591A/MB90F591G シリアル書込
み接続例
この章では , 横河ディジタルコンピュータ株式会社製 AF220/AF210/
AF120/AF110フラッシュマイコンプログラマを用いた場合の, シリアル
書込み接続例について説明します。
付録
付録では , I/O マップ , 命令 , フラッシュメモリモードのタイミングダイ
ヤグラム , MB90590 シリーズ割込みベクタ一覧表を示します。
iii
•
•
•
•
•
•
•
本資料の記載内容は , 予告なしに変更することがありますので , ご用命の際は営業部門にご確認くださ
い。
本資料に記載された動作概要や応用回路例は , 半導体デバイスの標準的な動作や使い方を示したもので ,
実際に使用する機器での動作を保証するものではありません。したがいまして , これらを使用するにあ
たってはお客様の責任において機器の設計を行ってください。これらの使用に起因する損害などについ
ては , 当社はその責任を負いません。
本資料に記載された動作概要・回路図を含む技術情報は , 当社もしくは第三者の特許権 , 著作権等の知的
財産権やその他の権利の使用権または実施権の許諾を意味するものではありません。また , これらの使用
について , 第三者の知的財産権やその他の権利の実施ができることの保証を行うものではありません。し
たがって , これらの使用に起因する第三者の知的財産権やその他の権利の侵害について , 当社はその責任
を負いません。
本資料に記載された製品は , 通常の産業用 , 一般事務用 , パーソナル用 , 家庭用などの一般的用途に使用
されることを意図して設計・製造されています。極めて高度な安全性が要求され , 仮に当該安全性が確保
されない場合 , 社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途(原子力
施設における核反応制御 , 航空機自動飛行制御 , 航空交通管制 , 大量輸送システムにおける運行制御 , 生
命維持のための医療機器 , 兵器システムにおけるミサイル発射制御をいう), ならびに極めて高い信頼性
が要求される用途(海底中継器 , 宇宙衛星をいう)に使用されるよう設計・製造されたものではありませ
ん。したがって , これらの用途にご使用をお考えのお客様は , 必ず事前に営業部門までご相談ください。
ご相談なく使用されたことにより発生した損害などについては , 責任を負いかねますのでご了承くださ
い。
半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても , 結果的に人身事故 ,
火災事故 , 社会的な損害を生じさせないよう , お客様は , 装置の冗長設計 , 延焼対策設計 , 過電流防止対策
設計 , 誤動作防止設計などの安全設計をお願いします。
本資料に記載された製品を輸出または提供する場合は , 外国為替及び外国貿易法および米国輸出管理関
連法規等の規制をご確認の上 , 必要な手続きをおとりください。
本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商標です。
Copyright ©2006-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
入出力回路............................................................................................................................ 12
デバイスの取扱い ................................................................................................................. 14
CPU.......................................................................................................... 19
2.1 CPU の概要 .......................................................................................................................... 20
2.2 メモリ空間............................................................................................................................ 21
2.3 メモリ空間マップ ................................................................................................................. 22
2.4 リニア方式によるアドレス指定 ........................................................................................... 23
2.5 バンク方式によるアドレス指定 ........................................................................................... 24
2.6 メモリ空間における多バイト長データ................................................................................. 26
2.7 レジスタ ............................................................................................................................... 27
2.7.1
アキュムレータ (A)..................................................................................................... 30
2.7.2
ユーザスタックポインタ (USP) とシステムスタックポインタ (SSP) ....................... 31
2.7.3
プロセッサステータス (PS) ....................................................................................... 32
2.7.4
プログラムカウンタ (PC)........................................................................................... 35
2.8 レジスタバンク .................................................................................................................... 36
2.9 プリフィックスコード.......................................................................................................... 38
2.10 割込み抑止命令 .................................................................................................................... 40
2.11 「DIV A,Ri」, 「DIVW A,RWi」命令の使用上の注意 ............................................................ 41
第3章
割込み ...................................................................................................... 43
3.1 割込みの概要 ........................................................................................................................ 44
3.2 割込みベクタ ........................................................................................................................ 47
3.3 割込み制御レジスタ (ICR).................................................................................................... 48
3.4 割込みフロー ........................................................................................................................ 52
3.5 ハードウェア割込み ............................................................................................................. 54
3.5.1
ハードウェア割込みの動作 ........................................................................................ 55
3.5.2
ハードウェア割込みの発生と解除.............................................................................. 56
3.5.3
多重割込み ................................................................................................................. 58
3.6 ソフトウェア割込み ............................................................................................................. 59
3.7 拡張インテリジェント I/O サービス (EI2OS) ....................................................................... 61
3.7.1
拡張インテリジェント I/O サービスディスクリプタ (ISD) ........................................ 63
3.7.2
EI2OS ステータスレジスタ (ISCS) ............................................................................ 65
3.8 拡張インテリジェント I/O サービス (EI2OS) の動作フローと使用手順............................... 67
3.9 例外 ...................................................................................................................................... 70
v
第4章
4.1
4.2
4.3
遅延割込み ............................................................................................... 71
遅延割込みモジュールの概要 ............................................................................................... 72
遅延割込みのレジスタ.......................................................................................................... 73
遅延割込みの動作 ................................................................................................................. 74
第5章
5.1
5.2
5.3
クロックとリセット................................................................................. 75
クロック発生部 .................................................................................................................... 76
リセット要因の発生 ............................................................................................................. 77
リセット要因 ........................................................................................................................ 80
第6章
低消費電力制御回路................................................................................. 83
6.1 低消費電力制御回路の概要................................................................................................... 84
6.2 低消費電力制御回路のレジスタ ........................................................................................... 86
6.2.1
低消費電力モード制御レジスタ (LPMCR) ................................................................. 87
6.2.2
クロック選択レジスタ (CKSCR)................................................................................ 89
6.3 低消費電力モードの動作 ...................................................................................................... 91
6.3.1
スリープモード .......................................................................................................... 93
6.3.2
時計モード ................................................................................................................. 94
6.3.3
ストップモード .......................................................................................................... 96
6.3.4
ハードウェアスタンバイモード ................................................................................. 98
6.4 CPU 間欠動作....................................................................................................................... 99
6.5 マシンクロック切換え........................................................................................................ 100
6.6 クロック選択の状態遷移 .................................................................................................... 101
第7章
7.1
7.2
7.3
メモリアクセスモード ........................................................................... 103
メモリアクセスモードの概要 ............................................................................................. 104
モード端子.......................................................................................................................... 105
モードデータ ...................................................................................................................... 106
第8章
I/O ポート............................................................................................... 109
8.1 I/O ポート ........................................................................................................................... 110
8.2 I/O ポートのレジスタ ......................................................................................................... 111
8.2.1
ポートデータレジスタ (PDR0 ∼ PDR9).................................................................. 112
8.2.2
ポート方向レジスタ (DDR0 ∼ DDR9)..................................................................... 113
8.2.3
アナログ入力許可レジスタ (ADER) ......................................................................... 114
第9章
9.1
9.2
9.3
タイムベースタイマ............................................................................... 115
タイムベースタイマの概要................................................................................................. 116
タイムベースタイマ制御レジスタ (TBTC) ......................................................................... 117
タイムベースタイマの動作................................................................................................. 118
第 10 章
ウォッチドッグタイマ ........................................................................... 119
10.1 ウォッチドッグタイマの概要 ............................................................................................. 120
10.2 ウォッチドッグタイマの動作 ............................................................................................. 123
vi
第 11 章
16 ビット入出力タイマ .......................................................................... 125
11.1 16 ビット入出力タイマの概要............................................................................................ 126
11.2 16 ビット入出力タイマのレジスタ .................................................................................... 128
11.3 16 ビットフリーランタイマ ............................................................................................... 129
11.3.1
タイマカウンタデータレジスタ (TCDT) .................................................................. 130
11.3.2
タイマカウンタ制御ステータスレジスタ (TCCS).................................................... 131
11.3.3
16 ビットフリーランタイマの動作 .......................................................................... 133
11.4 アウトプットコンペア........................................................................................................ 135
11.4.1
アウトプットコンペアのレジスタ............................................................................ 136
11.4.2
アウトプットコンペアの制御ステータスレジスタ (OCS0/1) .................................. 137
11.4.3
16 ビットアウトプットコンペアの動作 ................................................................... 140
11.5 インプットキャプチャ........................................................................................................ 142
11.5.1
インプットキャプチャのレジスタ............................................................................ 143
11.5.2
16 ビットインプットキャプチャの動作 ................................................................... 145
第 12 章
16 ビットリロードタイマ ( イベントカウント機能付 ).......................... 147
12.1 16 ビットリロードタイマ ( イベントカウント機能付 ) の概要 .......................................... 148
12.2 16 ビットリロードタイマのレジスタ................................................................................. 150
12.2.1
タイマ制御ステータスレジスタ (TMCSR) ............................................................... 151
12.2.2
16 ビットタイマレジスタ (TMR)/16 ビットリロードレジスタ (TMRLR) の
レジスタ配置 ................................................................................................................. 154
12.3 16 ビットリロードタイマの内部クロック動作と外部クロック動作 .................................. 155
12.4 16 ビットリロードタイマのアンダフロー動作 .................................................................. 157
12.5 16 ビットリロードタイマの出力端子機能.......................................................................... 158
12.6 カウンタの動作状態 ........................................................................................................... 159
第 13 章
時計タイマ ............................................................................................. 161
13.1 時計タイマの概要 ............................................................................................................... 162
13.2 時計タイマのレジスタ........................................................................................................ 163
13.2.1
タイマ制御レジスタ (WTCR) ................................................................................... 165
13.2.2
サブ秒レジスタ (WTBR) .......................................................................................... 167
13.2.3
秒 / 分 / 時間レジスタ (WTSR/WTMR/WTHR) ......................................................... 168
第 14 章
8/16 ビット PPG .................................................................................... 169
14.1 8/16 ビット PPG の概要..................................................................................................... 170
14.2 8/16 ビット PPG のブロックダイヤグラム ........................................................................ 171
14.3 8/16 ビット PPG のレジスタ.............................................................................................. 173
14.3.1
PPG0 動作モード制御レジスタ (PPGC0) ................................................................ 174
14.3.2
PPG1 動作モード制御レジスタ (PPGC1) ................................................................ 176
14.3.3
PPG0/1 クロック選択レジスタ (PPG01) ................................................................. 178
14.3.4
リロードレジスタ (PRLL, PRLH)............................................................................. 180
14.4 8/16 ビット PPG の動作..................................................................................................... 181
14.5 8/16 ビット PPG のカウントクロックの選択 .................................................................... 184
14.6 8/16 ビット PPG のパルスの端子出力の制御 .................................................................... 185
14.7 8/16 ビット PPG の割込み ................................................................................................. 186
14.8 8/16 ビット PPG の各ハードウェアの初期値 .................................................................... 187
vii
第 15 章
15.1
15.2
15.3
15.4
15.5
DTP/ 外部割込み .................................................................................... 189
DTP/ 外部割込みの概要...................................................................................................... 190
DTP/ 外部割込みのレジスタ............................................................................................... 192
DTP/ 外部割込みの動作...................................................................................................... 194
DTP 要求と外部割込み要求の切換え ................................................................................. 196
DTP/ 外部割込みの使用上の注意 ....................................................................................... 197
第 16 章
A/D コンバータ ...................................................................................... 199
16.1 A/D コンバータの特長 ........................................................................................................ 200
16.2 A/D コンバータのブロックダイヤグラム ........................................................................... 202
16.3 A/D コンバータのレジスタ一覧.......................................................................................... 203
16.3.1
A/D 制御ステータスレジスタ 0 (ADCS0)................................................................. 204
16.3.2
A/D 制御ステータスレジスタ 1 (ADCS1)................................................................. 207
16.3.3
A/D データレジスタ 0/1 (ADCR0, ADCR1).............................................................. 210
16.4 A/D コンバータの動作 ........................................................................................................ 212
16.5 EI2OS を使った変換動作.................................................................................................... 214
16.5.1
単発モード時の EI2OS の起動例 .............................................................................. 215
16.5.2
連続モード時の EI2OS の起動例 .............................................................................. 217
16.5.3
停止モード時の EI2OS の起動例 .............................................................................. 219
16.6 変換データ保護機能 ........................................................................................................... 221
第 17 章
UART0 ................................................................................................... 223
17.1 UART0 の特長 .................................................................................................................... 224
17.2 UART0 のブロックダイヤグラム ....................................................................................... 225
17.3 UART0 のレジスタ ............................................................................................................. 226
17.3.1
シリアルモード制御レジスタ 0 (UMC0) .................................................................. 227
17.3.2
シリアルステータスレジスタ 0 (USR0)................................................................... 229
17.3.3
シリアルインプットデータレジスタ 0 (UIDR0) とシリアルアウトプットレジスタ 0
(UODR0)........................................................................................................................ 231
17.3.4
レート・データレジスタ 0 (URD0).......................................................................... 232
17.4 UART0 の動作 .................................................................................................................... 234
17.5 ボーレート.......................................................................................................................... 235
17.6 内部クロックおよび外部クロック...................................................................................... 238
17.7 転送データフォーマット .................................................................................................... 239
17.8 パリティビット .................................................................................................................. 240
17.9 割込み生成とフラグのセットタイミング ........................................................................... 241
17.9.1
受信動作時 ( モード 0, モード 1, モード 3) のフラグのセットタイミング .............. 242
17.9.2
受信動作時 ( モード 2) のフラグのセットタイミング.............................................. 243
17.9.3
送信動作時のフラグのセットタイミング................................................................. 244
17.9.4
送受信動作時のステータスフラグ............................................................................ 245
17.10 UART0 の応用例................................................................................................................. 246
第 18 章
シリアル I/O ........................................................................................... 249
18.1 シリアル I/O の概要 ............................................................................................................ 250
18.2 シリアル I/O のレジスタ..................................................................................................... 251
18.2.1
シリアルモード制御ステータスレジスタ (SMCS) ................................................... 252
18.2.2
シリアルシフトデータレジスタ (SDR) .................................................................... 256
18.3 シリアル I/O プリスケーラ (CDCR) ................................................................................... 257
18.4 シリアル I/O の動作 ............................................................................................................ 258
viii
18.4.1
シフトクロック ........................................................................................................ 259
18.4.2
シリアル I/O の動作状態 .......................................................................................... 260
18.4.3
シフト動作のスタート / ストップタイミング .......................................................... 262
18.4.4
拡張シリアル I/O インタフェースの割込み機能....................................................... 265
18.5 ネガティブクロック動作 .................................................................................................... 266
第 19 章
CAN コントローラ ................................................................................. 267
19.1 CAN コントローラの特長................................................................................................... 268
19.2 CAN コントローラのブロックダイヤグラム ...................................................................... 269
19.3 全体制御レジスタの一覧 .................................................................................................... 270
19.4 メッセージバッファ (ID レジスタ ) の一覧 ........................................................................ 272
19.5 メッセージバッファ (DLC レジスタ / データレジスタ ) の一覧......................................... 275
19.6 CAN コントローラのレジスタ分類 .................................................................................... 278
19.6.1
CAN 制御ステータスレジスタ (CSR)....................................................................... 279
19.6.2
バス動作停止ビット (HALT=1)................................................................................. 282
19.6.3
ラストイベント表示レジスタ (LEIR) ....................................................................... 283
19.6.4
受信および送信エラーカウンタ (RTEC) .................................................................. 285
19.6.5
ビットタイミングレジスタ (BTR)............................................................................ 286
19.6.6
メッセージバッファ有効レジスタ (BVALR) ............................................................ 288
19.6.7
IDE レジスタ (IDER) ................................................................................................ 289
19.6.8
送信要求レジスタ (TREQR)..................................................................................... 290
19.6.9
送信 RTR レジスタ (TRTRR) ................................................................................... 291
19.6.10
リモートフレーム受信待機レジスタ (RFWTR)........................................................ 292
19.6.11
送信解除レジスタ (TCANR) ..................................................................................... 293
19.6.12
送信完了レジスタ (TCR) .......................................................................................... 294
19.6.13
送信割込み許可レジスタ (TIER) .............................................................................. 295
19.6.14
受信完了レジスタ (RCR).......................................................................................... 296
19.6.15
リモート要求受信レジスタ (RRTRR) ...................................................................... 297
19.6.16
受信オーバランレジスタ (ROVRR).......................................................................... 298
19.6.17
受信割込み許可レジスタ (RIER) .............................................................................. 299
19.6.18
アクセプタンスマスク選択レジスタ (AMSR) .......................................................... 300
19.6.19
アクセプタンスマスクレジスタ 0/1 (AMR0/AMR1)................................................. 302
19.6.20
メッセージバッファ ................................................................................................. 304
19.6.21
ID レジスタ x (x=0 ∼ 15) (IDRx).............................................................................. 305
19.6.22
DLC レジスタ x (x=0 ∼ 15) (DLCRx)....................................................................... 307
19.6.23
データレジスタ x (x=0 ∼ 15) (DTRx) ...................................................................... 308
19.7 CAN コントローラの送信................................................................................................... 310
19.8 CAN コントローラの受信................................................................................................... 312
19.9 CAN コントローラの受信フローチャート.......................................................................... 315
19.10 CAN コントローラの使用方法............................................................................................ 316
19.11 メッセージバッファ (x) による送信方法 ............................................................................ 318
19.12 メッセージバッファ (x) による受信方法 ............................................................................ 320
19.13 マルチレベルメッセージバッファの構成の決定 ................................................................ 322
19.14 CAN コントローラの使用上の注意 .................................................................................... 324
ix
第 20 章
ステッピングモータコントローラ ......................................................... 327
20.1 ステッピングモータコントローラの概要 ........................................................................... 328
20.2 ステッピングモータコントローラのレジスタ.................................................................... 329
20.2.1
PWM 制御 0 レジスタ (PWC0)................................................................................. 330
20.2.2
PWM1&PWM2 コンペアレジスタ (PWC10/PWC20)............................................... 331
20.2.3
PWM1&PWM2 選択レジスタ (PWS10/PWS20) ...................................................... 332
20.3 ステッピングモータコントローラの使用上の注意............................................................. 334
第 21 章
サウンドジェネレータ ........................................................................... 335
21.1 サウンドジェネレータの概要 ............................................................................................. 336
21.2 サウンドジェネレータのレジスタ...................................................................................... 337
21.2.1
サウンド制御レジスタ (SGCR)................................................................................ 338
21.2.2
周波数データレジスタ (SGFR) ................................................................................ 340
21.2.3
振幅データレジスタ (SGAR).................................................................................... 341
21.2.4
デクリメントグレードレジスタ (SGDR) ................................................................. 342
21.2.5
トーンカウントレジスタ (SGTR)............................................................................. 343
第 22 章
22.1
22.2
22.3
22.4
アドレス一致検出機能 ........................................................................... 345
アドレス一致検出機能の概要 ............................................................................................. 346
アドレス一致検出機能のレジスタ...................................................................................... 347
アドレス一致検出機能の動作 ............................................................................................. 349
アドレス一致検出機能の使用例 ......................................................................................... 350
第 23 章
ROM ミラー機能選択モジュール........................................................... 353
23.1 ROM ミラー機能選択モジュールの概要 ............................................................................ 354
23.2 ROM ミラー機能選択レジスタ (ROMM) ............................................................................ 355
第 24 章
2M/3M ビットフラッシュメモリ............................................................ 357
24.1 2M/3M ビットフラッシュメモリの概要 ............................................................................. 358
24.2 ブロックダイヤグラム (2M ビットフラッシュメモリの例 ) とセクタ構成 ........................ 359
24.3 書込み / 消去モード ............................................................................................................ 361
24.4 フラッシュメモリ制御ステータスレジスタ (FMCS).......................................................... 363
24.5 フラッシュメモリ自動アルゴリズム起動方法.................................................................... 365
24.6 自動アルゴリズム実行状態の確認...................................................................................... 367
24.6.1
データポーリングフラグ (DQ7) ............................................................................... 369
24.6.2
トグルビットフラグ (DQ6) ...................................................................................... 370
24.6.3
タイミングリミット超過フラグ (DQ5) .................................................................... 371
24.6.4
セクタ消去タイマフラグ (DQ3) ............................................................................... 372
24.6.5
トグルビット 2 フラグ (DQ2)................................................................................... 373
24.7 フラッシュメモリ書込み / 消去の詳細説明 ........................................................................ 375
24.7.1
読出し / リセット状態にする.................................................................................... 376
24.7.2
データを書込む ........................................................................................................ 377
24.7.3
全データを消去する ( チップ消去 ) .......................................................................... 380
24.7.4
任意のデータを消去する ( セクタ消去 )................................................................... 381
24.7.5
セクタ消去を一時停止する ...................................................................................... 383
24.7.6
セクタ消去を再開する ............................................................................................. 384
24.8 2M/3M ビットフラッシュメモリ使用上の注意................................................................... 385
24.9 フラッシュメモリにおけるリセットベクタアドレス ......................................................... 386
24.10 2M ビットフラッシュメモリのプログラム例 ..................................................................... 387
x
第 25 章
MB90F594A/MB90F594G/MB90F591A/MB90F591G
シリアル書込み接続例 ........................................................................... 393
25.1 MB90F594A/MB90F594G/MB90F591A/MB90F591G
シリアル書込み接続の基本構成 ......................................................................................... 394
25.2 シリアル書込み接続例 ( ユーザ電源使用時 )...................................................................... 397
25.3 シリアル書込み接続例 ( ライタから電源供給時 )............................................................... 399
25.4 フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 ) ....................... 401
25.5 フラッシュマイコンプログラマとの最小限の接続例 ( ライタから電源供給時 )................ 403
付録
付録 A
付録 B
B.1
B.2
B.3
B.4
B.5
B.6
B.7
B.8
B.9
付録 C
付録 D
索引
............................................................................................................... 405
I/O マップ ...................................................................................................................... 406
命令 ............................................................................................................................... 417
命令の種類 .................................................................................................................. 418
アドレッシング ........................................................................................................... 419
直接アドレッシング.................................................................................................... 421
間接アドレッシング.................................................................................................... 428
実行サイクル数 ........................................................................................................... 435
実効アドレスフィールド ............................................................................................ 437
命令一覧表の読み方.................................................................................................... 439
F2MC-16LX 命令一覧表.............................................................................................. 442
命令マップ .................................................................................................................. 456
フラッシュメモリモードのタイミングダイヤグラム.................................................... 478
MB90590 シリーズ割込みベクタ一覧表........................................................................ 483
............................................................................................................... 487
xi
xii
本版での主な変更内容
ページ
417 ∼ 477
変更内容(詳細は本文を参照してください。)
「付録 B 命令」全体を変更
変更箇所は , 本文中のページ左側の│によって示しています。
< 参考 > 4 版→ 5 版での主な変更内容
ページ
変更内容(詳細は本文を参照してください。)
−
レジスタ名を変更
( 制御ステータスレジスタ (CSR) → CAN 制御ステータスレジスタ (CSR))
(PWM 制御 0 レジスタ (PWMC0) → PWM 制御 0 レジスタ (PWC0))
3
表 1.2-1 MB90590 の特長 (1 / 2) の 時計タイマ を変更
( 発振偏差の修正に対応の記述を削除 )
14
■ デバイスの取り扱い を変更
( ● 供給電圧の安定化 を追加 )
16
● 水晶発振回路について を変更
( 各量産品において , ご使用される発振子メーカに発振評価依頼をしてください。の
文を追加 )
59
■ ソフトウェア割込み を変更
(・PS レジスタに "I" を設定。→ ・PS: I フラグに "0" を設定。)
60
図 3.6-1 ソフトウェア割込みの発生と解除まで を変更
( ③ を追加 )
68
● データ転送継続時 ( 停止条件が成立しない場合 ) を変更
(「図 3.8-1 拡張インテリジェント I/O サービス (EI2OS) の動作フロー」+「表 3.8-2
EI2OS の実行時間のデータ転送の補正値」)→ ( 表 3.8-1+ 表 3.8-2))
78
表 5.2-2 リセット入力によって初期化されないレジスタ の MCS を変更
(×→○)
84
■ 低消費電力制御回路の概要 を変更
(PLL クロックの逓倍率は,CS1,CS0 ビットの設定により,1,2,3,4 逓倍の中から選択
することができます。の文を削除 )
< 注意事項 > を変更
( 切換えが完了する前に , 他のクロックモードおよび低消費電力モードへの切換えを
行った場合 , 切り換わらない場合があります。の文を追加 )
92
表 6.3-2 低消費電力モードへの遷移に使用される命令の一覧 を変更
100
< 注意事項 > を変更
( 切換えが完了する前に , 他のクロックモードおよび低消費電力モードへの切換えを
行った場合 , 切り換わらない場合があります。の文を追加 )
102
< 注意事項 > を変更
( 切換えが完了する前に , 他のクロックモードおよび低消費電力モードへの切換えを
行った場合 , 切り換わらない場合があります。の文を追加 )
xiii
< 参考 > 4 版→ 5 版での主な変更内容
ページ
変更内容(詳細は本文を参照してください。)
171
14.2 8/16 ビット PPG のブロックダイヤグラム の要約を変更
(8/16 ビット → 8 ビット )
図 14.2-1 8 ビット PPG(ch.0) のブロックダイヤグラム を変更
( 図 を変更 )
(ch.0 の PPG 出力信号は外部端子に接続していません。の文を追加 )
172
図 14.2-2 8 ビット PPG(ch.1) のブロックダイヤグラム を変更
( 図 を変更 )
図 14.2-3 PPG モジュールとユニット番号 , および外部端子の関係 を追加
174
【bit5】PE00 を予約ビットに変更
187
●パルス出力 を変更
●割込み要求 を変更
197
● DTP/ 外部割込みの動作手順 を変更
(1. 外部割込み入力として使用する端子と兼用する汎用入出力ポートを入力ポートに
設定する。の文を追加 )
198
図 15.5-1 レベル設定時の割込み要求フラグビット (EIRR:ER) のクリア および
図 15.5-2 割込み許可時の割込み要因と割込みコントローラへの割込み要求 を変更
205
【bit5, bit4, bit3】ANS2, ANS1, ANS0(Analog start channel set) を変更
( ただし , 本ビットに値を設定した場合でも , A/D 変換が開始されるまでは , 設定し
た値ではなく , 前回に A/D 変換した変換チャネルが読み込まれます。の文を追加 )
206
209
< 注意事項 > を変更
(・A/D 変換開始チャネル選択ビット (ANS2, ANS1, ANS0) に開始チャネルを設定し
たあとに , A/D 変換モード選択ビット (MD1, MD0) および A/D 変換終了チャネル選
択ビット (ANE2, ANE1, ANE0) をリードモディファイライト系命令で設定しないで
ください。
ANS2, ANS1, ANS0 ビットは A/D 変換動作が開始するまでは前回の変換チャネルが
読み出されるため , ANS2, ANS1, ANS0 ビットに開始チャネルを設定したあとに ,
MD1, MD0 ビットおよび ANE2, ANE1, ANE0 ビットをリードモディファイライト系
命令で設定した場合 , ANE2, ANE1, ANE0 ビットの値が書き替わる可能性がありま
す。の文を追加 )
【bit9】STRT(Start) を変更
( バイト / ワード命令では "1" が読み出されます。
リードモディファイライト系命令では "0" が読み出されます。の文を追加 )
239
■ 転送データフォーマット を変更
(SIN0 と SOUT0 の転送データフォーマットは,→ SIN0 と SOT0 の転送データ
フォーマットは,)
279
19.6.1 CAN 制御ステータスレジスタ (CSR) の要約を変更
( 制御ステータスレジスタ (CSR) に対しては,ビット操作命令(リードモディファイ
ライト)を実行することは禁止されています。→ CAN 制御ステータスレジスタ
(CSR) の下位 8 ビットに対しては , ビット操作命令 ( リードモディファイライト ) を
実行することは禁止されています。ただし , HALT ビットが変化しないタイミング (
マクロの初期化時など ) では , ビット操作命令を使用しても問題ありません。)
281
【bit0】HALT: バス動作停止ビット を変更
xiv
< 参考 > 4 版→ 5 版での主な変更内容
ページ
変更内容(詳細は本文を参照してください。)
282
■バス動作停止を解除する条件 (HALT=0 ) の < 注意事項 > を変更
(・バスオフ時に HALT ビットに "0" を書き込む場合は , HALT が "1" になっているこ
とを確認後 , "0" を書き込んでください。の文を追加 )
334
20.3 ステッピングモータコントローラの使用上の注意 を追加
362
表 24.3-1 フラッシュ制御信号 を変更
(RY/B → RY/BY)
371
●書込み / チップ・セクタ消去時 を変更
( まれに "1" が書込めたように , 正常終了する場合もあります。の文を追加 )
382
図 24.7-2 フラッシュメモリのセクタ消去手順の例 を変更
383
■フラッシュメモリのセクタ消去を一時停止する を変更
( セクタ消去一時停止コマンドは , セクタ消去コマンドあるいはセクタ消去再開コマ
ンド発行後 , 20μs 以上後に行ってください。の文を追加 )
385
●ハードウェアリセット (RST) の入力 を変更
(50ns → 500ns)
( 消去中にハードウェアリセットすると,→ 消去中のハードウェアリセットや電源切
断により ,)
● VID の適用 を変更
( セクタプロテクト動作に必要な VID の適用は,供給電圧がオンのとき常に開始し,
→ セクタプロテクト動作に必要な VID の印加は , 電源がオンのとき開始し ,)
395
397, 399
表 25.1-1 富士通標準シリアルオンボード書込みに使用する端子 を変更
(- → P00 に "L" レベル , P01 に "H" レベルを入力してください。)
図 25.2-1 MB90F594A/MB90F594G/MB90F591A/MB90F591G シリアル書込み接続例 (
ユーザ電源使用時 ) および 図 25.3-1 MB90F594A/MB90F594G/MB90F591A/
MB90F591G シリアル書込み接続例 ( ライタから電源供給時 ) を変更
((5) の右側に 抵抗の図 を追加 )
406 ∼ 411
表 A-1 I/O マップ を変更
412 ∼ 416
表 A-2 I/O マップ (19XX アドレス ) を変更
454
表 B.8-17 アキュムレータ操作命令 ( バイト・ワード ) 6 命令 を変更
(SWAPW / XCHW A, T → SWAPW )
xv
xvi
第1章
概要
この章では , MB90590 シリーズの特長や基本的な
仕様について説明します。
1.1 製品概要
1.2 特長
1.3 ブロックダイヤグラム
1.4 パッケージ外形寸法図
1.5 端子配列図
1.6 端子機能説明
1.7 入出力回路
1.8 デバイスの取扱い
1
第 1 章 概要
1.1
製品概要
表 1.1-1 に , MB90590 シリーズの製品概要を示します。
■ 製品概要
表 1.1-1 製品概要
特長
MB90V590G
MB90F594A/F594G/
F591A/F591G
MB90594G/591/591G
品種構成
評価用品
フラッシュメモリ品
マスク ROM 品
F2MC-16LX CPU
CPU
システムクロック
オンチップ PLL クロック逓倍方式 ( × 1, × 2, × 3, × 4, PLL 停止時 1/2)
最小命令実行時間 62.5ns (4MHz 原発振 4 逓倍 )
ROM/ フラッシュメモリ
外部
ハード・ワイヤード・リ
セット・ベクタ付きブー
トブロックフラッシュメ
モリ 256K バイト /384K
バイト
RAM
8K バイト
6K バイト /8K バイト
パッケージ
PGA-256
QFP100
エミュレータ専用電源 *
無
-
MASK ROM
256K バイト /
384K バイト
*: エミュレーションポッド MB2145-507 をご使用いただく際のディップスイッチ S2 の設定です。
詳細につきましては , 『MB2145-507 ハードウェアマニュアル (2.7 エミュレータ専用電源 ) 』を参
照ください。
< 注意事項 >
2
型格に G サフィックスの付いた製品については , CAN コントローラの機能が拡張
されています。CAN の章の「19.6.5 ビットタイミングレジスタ (BTR)」の記述を
参照してください。
第 1 章 概要
特長
1.2
表 1.2-1 に , MB90590 シリーズの特長を示します。
■ 特長
表 1.2-1 MB90590 の特長 (1 / 2)
機能
特長
UART (3 チャネル )
全二重ダブルバッファ方式
非同期 / 同期転送 ( スタート / ストップビット付 ) をサポートします。
ボーレート 4808/5208/9615/10417/19230/38460/62500/500000bps ( 非同期 )
システムクロック =16MHz 時 500K/1M/2Mbps ( 同期 )
シリアル I/O
MSB または LSB から転送開始可能です。
内部クロック同期転送および外部クロック同期転送をサポートします。
ポジティブエッジとネガティブエッジクロック同期をサポートします。
ボーレートシステムクロック =16MHz 時 31.25K/62.5K/125K/500K/1M/
2Mbps
A/D コンバータ
10 ビットまたは 8 ビットの分解能
8 本の入力チャネル
変換時間 :26.3µs
16 ビットリロードタイ
マ (2 チャネル )
動作クロック周波数 fsys/21, fsys/23, fsys/25 (fsys= システムクロック
周波数 )
外部イベントカウント機能をサポートします。
時計タイマ
発振クロックで直接動作します。
リード / ライト可能な秒 / 分 / 時レジスタ
信号割込み
16 ビット入出力タイマ
オーバフロー時に割込み信号を出力します。
アウトプットコンペア (ch.0) との照合時に , タイマクリアをサポートしま
す。
動作クロック周波数 fsys/22, fsys/24, fsys/26, fsys/28 (fsys= システムクロック
周波数 )
16 ビットアウトプット
コンペア (6 チャネル )
16 ビット入出力タイマとの照合時に , 割込み信号を出力します。
16 ビットキャプチャレジスタ× 6 本
1 対のコンペアレジスタを出力信号生成に使用可能です。
16 ビットインプット
キャプチャ (6チャネル
)
立上りエッジ , 立下りエッジまたはその両方を検出します。
16 ビットキャプチャレジスタ× 6 本
外部イベント時に割込み信号を出力します。
3
第 1 章 概要
表 1.2-1 MB90590 の特長 (2 / 2)
機能
特長
8/16 ビット PPG ( プロ
グラマブルパルス発生
部 ) (6 チャネル )
8 ビットと 16 ビットの動作モードをサポートします。
8 ビットリロードカウンタ 2 本× 6 ユニット
"L" パルス幅用の 8 ビットリロードレジスタ 2 本× 6 ユニット
"H" パルス幅用の 8 ビットリロードレジスタ 2 本× 6 ユニット
1 対の 8 ビットリロードカウンタを 1 本の 16 ビットリロードカウンタとし
てまたは 8 ビットプリスケーラと 8 ビットリロードカウンタとして構成可
能です。
出力端子× 6 本
動作クロック周波数 fsys, fsys/21, fsys/22, fsys/23, fsys/24 または
128µs@fosc=4MHz (fsys= システムクロック周波数 , fosc= 発振クロック周
波数 )
CAN インタフェース
(2 チャネル )
CAN 仕様バージョン 2.0 パート A およびパート B に準拠します。
エラー時に自動再送します。
リモートフレームに応答して自動伝送します。
データおよび ID 用の順位付けされた 16 個のメッセージバッファ複数メッ
セージをサポートします。
アクセプタンスフィルタの柔軟な構成 : 全ビットコンペア / 全ビットマス
ク /2 個の部分ビットマスク
最高 1Mbps までサポートします。
ステッピングモータコ
ントローラ
(4 チャネル )
各チャネルに対する高電流出力× 4 本
各チャネルに対する同期化済み 8 ビット PWM* × 2 本
MB89940 設計リソースを継承します。
外部割込み
(8 チャネル )
エッジ検出とレベル検出が設定可能です。
MB90V590G は , 8 本の入力チャネルのうち 4 本だけをサポートします。
サウンド発生部
8 ビット PWM 信号は , 8 ビットリロードカウンタからのトーン周波数と
ミックスされます。
PWM 周波数システムクロック =16MHz 時 62.5K, 31.2K, 15.6K, 7.8K
トーン周波数 PWM 周波数 /2/ ( リロード値 +1)
入出力ポート
ほとんど , 全外部端子を汎用入出力として使用可能です。
すべてのプッシュプル出力とシュミットトリガ入力
入力 / 出力または周辺信号として , ビット単位でプログラム可能です。
フラッシュメモリ
自動プログラミング , Embedded AlgorithmTM*, 書込み / 消去 / 消去一時停止 /
消去再開コマンドをサポートします。
アルゴリズムの完了を示すフラグ
フラッシュメモリ中の固定ブートセクタを示すために , ハード・ワイヤー
ド・リセット・ベクタが使用可能です。
ブートブロック構成
各ブロックで消去を実行可能です。
外部プログラミング電圧によるブロック保護
*: Embedded Algorithm は Advanced Micro Devices Inc. の商標です。
4
第 1 章 概要
1.3
ブロックダイヤグラム
図 1.3-1 に , MB90590 シリーズのブロックダイヤグラムを示します。
■ ブロックダイヤグラム
図 1.3-1 ブロックダイヤグラム
X0,X1
RST
クロック
制御回路
F2MC-16LX
CPU
HST
入出力タイマ
RAM 6K/8K
ROM/ フラッシュ
インプット
キャプチャ×
6 チャネル
IN[5:0]
アウトプット
コンペア×
6 チャネル
OUT[5:0]
8/16ビット
PPG x
6チャネル
PPG[5:0]
256K/384K
プリスケーラ× 3
SOT[2:0]
SCK[2:0]
SIN[2:0]
UART
3チャネル
SOT3
SCK3
シリアル
I/O
SIN3
AVCC
AVRH
AVRL
TOT/WOT
RX[1:0]
TX[1:0]
PWM1M[3:0]
PWM1P[3:0]
10ビット
ADC x
8チャネル
ADTG
TIN
CAN
2チャネル
SMC
4チャネル
AVSS
AN[7:0]
F2MC-16LX バス
プリスケーラ
PWM2M[3:0]
PWM2P[3:0]
DVCC
DVSS
外部割込み
8 チャネル
INT[7:0]
16 ビット
リロードタイマ
× 2 チャネル
サウンド
発生部
SGO
SGA
時計タイマ
5
第 1 章 概要
パッケージ外形寸法図
1.4
図 1.4-1 に , MB90590 シリーズのパッケージ外形寸法図を示します。なお , 本外形
寸法は参考用です。正式版については , 別途ご相談ください。
■ パッケージ外形寸法図
図 1.4-1 パッケージ外形寸法図
プラスチック・ 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
1
30
0.65(.026)
"A"
C
6
0.25(.010)
+0.35
3.00 –0.20
+.014
.118 –.008
(Mounting height)
0~8°
31
2002 FUJITSU LIMITED F100008S-c-5-5
0.32±0.05
(.013±.002)
0.13(.005)
M
0.17±0.06
(.007±.002)
0.80±0.20
(.031±.008)
0.88±0.15
(.035±.006)
0.25±0.20
(.010±.008)
(Stand off)
単位: mm (inches)
注意:括弧内の値は参考値です。
VSS
X0
X1
VCC
P00/IN0
P01/IN1
P02/IN2
P03/IN3
P04/IN4
P05/IN5
P06/OUT0
P07/OUT1
P10/OUT2
P11/OUT3
P12/OUT4
P13/OUT5
P14/RX1
P15/TX1
P16/SGO
P17/SGA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
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
80
P95/INT3
P94/INT2
P93/INT1
RST
P92/INT0
P91/RX0
P90/TX0
DVSS
P87/PWM2M3
P86/PWM2P3
P85/PWM1M3
P84/PWM1P3
DVCC
P83/PWM2M2
P82/PWM2P2
P81/PWM1M2
P80/PWM1P2
DVSS
P77/PWM2M1
P76/PWM2P1
P75/PWM1M1
P74/PWM1P1
DVCC
P73/PWM2M0
P72/PWM2P0
P71/PWM1M0
P70/PWM1P0
DVSS
HST
MD2
1.5
P20
P21
P22
P23
P24/INT4
P25/INT5
P26/INT6
P27/INT7
P30
P31
VSS
P32
P33
P34/SOT0
P35/SCK0
P36/SIN0
P37/SIN1
P40/SCK1
P41/SOT1
P42/SOT2
P43/SCK2
P44/SIN2
VCC
P45/SIN3
P46/SCK3
P47/SOT3
C
P50/PPG0
P51/PPG1
P52/PPG2
第 1 章 概要
端子配列図
図 1.5-1 に , MB90590 シリーズの端子配列図を示します。
■ 端子配列図
図 1.5-1 端子配列図
QFP-100
パッケージコード ( モールド )
FPT-100P-M06
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
MD1
MD0
P57/TOT/WOT
P56/TIN
P67/AN7
P66/AN6
P65/AN5
P64/AN4
VSS
P63/AN3
P62/AN2
P61/AN1
P60/AN0
AVSS
AVRL
AVRH
AVCC
P55/PPG5/ADTG
P54/PPG4
P53/PPG3
7
第 1 章 概要
端子機能説明
1.6
表 1.6-1 に , MB90590 シリーズの端子機能説明を示します。
■ 端子機能説明
表 1.6-1 端子機能説明 (1 / 4)
端子番号
端子名
82
X0
回路形式
A
発振入力端子です。
83
X1
77
RST
B
リセット入力端子です。
52
HST
C
ハードウェアスタンバイ入力端子です。
発振出力端子です。
P00 ∼ P05
汎用入出力ポートです。
D
85 ∼ 90
IN0 ∼ IN5
インプットキャプチャの入力端子です。
P06 ∼ P07
P10 ∼ P13
汎用入出力ポートです。
D
91 ∼ 96
OUT0 ∼ OUT5
P14
97
汎用入出力ポートです。
RX1
CAN インタフェース 1 の RX 入力端子です。
P15
汎用入出力ポートです。
TX1
CAN インタフェース 1 の TX 出力端子です。
信号出力を許可にするには , ポート方向レジスタの
対応するビットを "1" に設定します。
P16
汎用入出力ポートです。
D
SGO
サウンド発生部の SGO 出力端子です。
信号出力を許可にするには , ポート方向レジスタの
対応するビットを "1" に設定します。
P17
汎用入出力ポートです。
99
D
100
D
サウンド発生部の SGA 出力端子です。
信号出力を許可にするには , ポート方向レジスタの
対応するビットを "1" に設定します。
D
汎用入出力ポートです。
SGA
1∼4
P20 ∼ P23
P24 ∼ P27
5∼8
汎用入出力ポートです。
D
INT4 ∼ INT7 の外部割込み入力端子です。
MB90V590Gは, これらの端子機能をサポートしてい
ません。
D
汎用入出力ポートです。
INT4 ∼ INT7
9, 10
アウトプットコンペアの出力端子です。
信号出力を許可にするには , ポート方向レジスタの
対応するビットを "1" に設定します。
D
98
8
機能説明
P30, P31
第 1 章 概要
表 1.6-1 端子機能説明 (2 / 4)
端子番号
端子名
回路形式
12, 13
P32, P33
D
P34
14
D
P35
D
P36
UART0 の SCK 入出力端子です。
信号出力を許可にするには , ポート方向レジスタの
対応するビットを "1" に設定します。
汎用入出力ポートです。
D
SIN0
UART0 の SIN 入力端子です。
P37
17
汎用入出力ポートです。
D
SIN1
UART1 の SIN 入力端子です。
P40
18
汎用入出力ポートです。
D
SCK1
UART1 の SCK 入出力端子です。
P41
19
汎用入出力ポートです。
D
SOT1
UART1 の SOT 出力端子です。
P42
20
汎用入出力ポートです。
D
SOT2
UART2 の SOT 出力端子です。
P43
21
汎用入出力ポートです。
D
SCK2
UART2 の SCK 入出力端子です。
P44
22
汎用入出力ポートです。
D
SIN2
UART2 の SIN 入力端子です。
P45
24
汎用入出力ポートです。
D
SIN3
シリアル I/O の SIN 入力端子です。
P46
25
汎用入出力ポートです。
D
SCK3
シリアル I/O の SCK 入出力端子です。
P47
26
汎用入出力ポートです。
D
SOT3
シリアル I/O の SOT 出力端子です。
P50 ∼ P55
28 ∼ 33
UART0 の SOT 出力端子です。
信号出力を許可にするには , ポート方向レジスタの
対応するビットを "1" に設定します。
汎用入出力ポートです。
SCK0
16
汎用入出力ポートです。
汎用入出力ポートです。
SOT0
15
機能説明
PPG0 ∼ PPG5,
ADTG
汎用入出力ポートです。
D
P60 ∼ P63
プログラマブルパルス発生部の出力端子です。
端子番号33は, A/Dコンバータの外部トリガのADTG
入力端子とも共用されています。
汎用入出力ポートです。
E
38 ∼ 41
AN0 ∼ AN3
A/D コンバータの入力端子です。
9
第 1 章 概要
表 1.6-1 端子機能説明 (3 / 4)
端子番号
端子名
回路形式
P64 ∼ P67
汎用入出力ポートです。
E
43 ∼ 46
AN4 ∼ AN7
A/D コンバータの入力端子です。
P56
47
汎用入出力ポートです。
D
TIN
16 ビットリロードタイマの TIN 入力端子です。
P57
汎用入出力ポートです。
TOT/WOT
16ビットリロードタイマのTOT出力端子と時計タイ
マの WOT 出力端子です。これら周辺ブロック中の 3
つの出力許可フラグのうち, 一度に設定できるのは1
つだけです。そうでなければ , 出力信号は意味があ
りません。
P70 ∼ P73
汎用入出力ポートです。
48
54 ∼ 57
D
PWM1P0, PWM1M0,
PWM2P0, PWM2M0
F
P74 ∼ P77
59 ∼ 62
PWM1P1, PWM1M1,
PWM2P1, PWM2M1
PWM1P2, PWM1M2,
PWM2P2, PWM2M2
F
PWM1P3, PWM1M3,
PWM2P3, PWM2M3
F
汎用入出力ポートです。
CAN インタフェース 0 の TX 出力端子です。
P91
75
汎用入出力ポートです。
D
RX0
CAN インタフェース 0 の RX 入力端子です。
P92
76
汎用入出力ポートです。
D
INT0
INT0 の外部割込み入力端子です。
P93
78
汎用入出力ポートです。
D
INT1
INT1 の外部割込み入力端子です。
P94
79
汎用入出力ポートです。
D
INT2
INT2 の外部割込み入力端子です。
P95
80
汎用入出力ポートです。
D
INT3
10
ステッピングモータコントローラ ch.3 の出力端子で
す。
D
TX0
58, 68
ステッピングモータコントローラ ch.2 の出力端子で
す。
汎用入出力ポートです。
F
P90
74
ステッピングモータコントローラ ch.1 の出力端子で
す。
汎用入出力ポートです。
P84 ∼ P87
69 ∼ 72
ステッピングモータコントローラ ch.0 の出力端子で
す。
汎用入出力ポートです。
P80 ∼ P83
64 ∼ 67
機能説明
DVCC
INT3 の外部割込み入力端子です。
-
高電流出力バッファの専用電源入力端子です ( 端子
番号 54 ∼ 72) 。
第 1 章 概要
表 1.6-1 端子機能説明 (4 / 4)
端子番号
端子名
回路形式
機能説明
53, 63, 73
DVSS
-
高電流出力バッファの専用 GND 電源端子です ( 端子
番号 54 ∼ 72) 。
34
AVCC
-
A/D コンバータの専用電源入力端子です。
37
AVSS
-
A/D コンバータの専用 GND 電源端子です。
35
AVRH
-
A/D コンバータの VrefH 入力端子です。
36
AVRL
-
A/D コンバータの VrefL 入力端子です。
49, 50
MD0, MD1
C
テストモード用入力端子です。VCC に接続してくだ
51
MD2
G
テストモード用入力端子です。VSS に接続してくだ
27
C
-
外部コンデンサ用の端子です。0.1µF のコンデンサ
を , この端子と VSS に接続してください。
23, 84
VCC
-
電源入力端子です。
11, 42, 81
VSS
-
GND 電源端子です。
さい。
さい。
11
第 1 章 概要
1.7
入出力回路
表 1.7-1 に , 入出力回路を示します。
■ 入出力回路
表 1.7-1 入出力回路 (1 / 2)
分類
回路
備考
A
• 発振帰還抵抗約 1MΩ
X1
クロック
入力
発振帰還抵抗
X0
HARD,SOFT STANBY CONTROL
B
• プルアップ抵抗付きヒステリ
シス入力
• プルアップ抵抗 : 約 50kΩ
R( プルアップ )
R
ヒステリシス
入力
C
• ヒステリシス入力端子
R
ヒステリシス
入力
D
• CMOS 出力
• ヒステリシス入力
P-ch
N-ch
R
12
ヒステリシス
入力
第 1 章 概要
表 1.7-1 入出力回路 (2 / 2)
分類
回路
備考
E
P-ch
• CMOS 出力
• ヒステリシス入力
• アナログ入力
N-ch
P-ch
アナログ入力
N-ch
R
ヒステリシス
入力
F
• CMOS 高電流出力
• ヒステリシス入力
高電流
R
ヒステリシス
入力
G
R
R( プルダウン )
ヒステリシス
入力
• プルダウン抵抗付きヒステリ
シス入力
• プルダウン抵抗 : 約 50kΩ
• フラッシュメモリ品にはプル
ダウン抵抗はありません。
13
第 1 章 概要
1.8
デバイスの取扱い
デバイスを取り扱う際には , 以下の項目について特にご注意ください。
• ラッチアップの防止
• 供給電圧の安定化
• 未使用端子の処理
• 外部クロックの使用
• 電源入力端子 (VCC/VSS)
• プルアップ / プルダウン抵抗
• 水晶発振回路について
• A/D コンバータの電源 , アナログ入力の投入順序について
• A/D コンバータ未使用時の端子処理について
• N.C. 端子の処理について
• 電源投入時の注意点
• 初期化について
• ポート 0, 1 からの出力が不定になる場合
• 「DIV A,Ri」, 「DIVW A,RWi」命令を使用する場合
• REALOS を使用する場合
• PLL クロックモード動作中の注意について
■ デバイスの取り扱い
● ラッチアップの防止
CMOSIC は , 以下の条件でラッチアップ現象を生じることがあります。
• VCC を超えるか VSS に満たない電圧が , 入力または出力端子に適用された場合。
• 定格電圧を超える電圧が VCC と VSS の間に適用された場合。
• AVCC 電源入力が VCC 電圧の前に適用された場合。
ラッチアップ現象は , 電流を急激に増加させ , デバイスを傷つけることがあります。
● 供給電圧の安定化
VCC 電源電圧の動作保証内においても , 電源電圧の急激な変化があると誤動作を起こ
す場合がありますので , VCC 電源電圧を安定させてください。
安定化の基準としては , 商用周波数 (50Hz ∼ 60Hz) での VCC リプル変動 (peak to peak
値 ) は , 標準 VCC 電源電圧値の 10% 以下に , また電源の切換え時などの瞬時変化にお
いては , 過渡変動率が 0.1V/ms 以下になるように電源電圧を抑えてください。
14
第 1 章 概要
● 未使用端子の処理
使用していない入力端子を開放のままにした場合 , 誤動作およびラッチアップによる
永久破壊の原因となることがありますので , 2kΩ 以上の抵抗を介して , プルアップまた
はプルダウンの処置をしてください。
また , 使用していない入出力端子がある場合は , 出力状態に設定して開放するか , 入力
状態に設定して入力端子と同じ処置をしてください。
● 外部クロックの使用
外部クロックを使用するには , X0 端子を駆動して X1 端子は開放してください。
図 1.8-1 に , 外部クロックの使用方法を示します。
図 1.8-1 外部クロックの使用
MB90590 シリーズ
X0
X1
● 電源入力端子 (VCC/VSS)
図 1.8-2 に示すように , すべての VCC 電源端子は , 必ず同電位にしてください。また ,
すべての VSS 電源端子も同様に扱ってください。複数の VCC または VSS システムがあ
る場合 , デバイスは保証された動作範囲内でも正しく動作しません。
図 1.8-2 電源入力端子 (VCC/VSS)
Vcc
Vss
Vcc
Vss
Vss
Vcc
MB90590
シリーズ
Vcc
Vss
Vss
Vcc
● プルアップ / プルダウン抵抗
MB90590 シリーズは , 内部プルアップ / プルダウン抵抗オプションをサポートしてい
ません。必要であれば , 外部構成部品を使用してください。
15
第 1 章 概要
● 水晶発振回路について
X0, X1 端子の近辺のノイズはこのデバイスの誤動作の元となります。X0, X1 端子およ
び水晶振動子 (またはセラミック振動子) さらにグランドへのバイパスコンデンサはで
きる限り近くになるように , またその配線は , ほかの配線とできる限り交差しないよう
にプリント基板を設計してください。
また , X0, X1 端子の回りをグランドで囲むようなプリント基板アートワークは , 安定し
た動作を期待できますので , 強くお薦めします。
各量産品において , ご使用される発振子メーカに発振評価依頼をしてください。
● A/D コンバータの電源 , アナログ入力の投入順序について
A/Dコンバータ, D/Aコンバータの電源 (AVCC, AVRH, AVRL, DVCC, DVSS) およびアナ
ログ入力 (AN0 ∼AN7) の印加は, 必ずデジタル電源 (VCC) の投入後に行ってください。
また , 電源切断時は A/D コンバータの電源およびアナログ入力の遮断の後で , デジタル
電源の遮断を行ってください。その際 , AVRH, DVCC は AVCC を超えないように投入・
切断を行ってください。( アナログ電源とデジタル電源を同時に投入 , 遮断することは
問題ありません。)
● A/D コンバータ未使用時の端子処理について
A/D コンバータを使用しないときは , AVCC=VCC, AVSS=AVRH=VSS に接続してくださ
い。
● N.C. 端子の処理について
N.C. ( 内部接続 ) 端子は , 必ず開放にして使用してください。
● 電源投入時の注意点
内部に内蔵している降圧回路の誤動作を防ぐために , 電源投入時における電圧の立上
り時間は , 50µs (0.2V ∼ 2.7V の間 ) 以上を確保してください。
● 初期化について
デバイス内には , パワーオンリセットによってのみ初期化される内蔵レジスタ類があ
ります。これらの初期化を期待する場合は電源の再投入を行ってください。
● ポート 0, 1 からの出力が不定になる場合 (MB90F594G/MB90F591G/MB90591G 以外 )
電源を投入後 , 降圧回路の発振安定待ち時間 ( パワーオンリセット中 ) に RST 端子が
"H" の場合 , ポート 0, 1 から不定を出力します。RST 端子が "L" の場合 , ポート 0, 1 は
ハイインピーダンス状態 * になります。タイミングは , 図 1.8-3, 図 1.8-4 のようになり
ますので注意してください。
*: P06, P07, P10 ∼ P13, P16, P17 を除く ( 不定出力のみ )
16
第 1 章 概要
図 1.8-3 ポート 0, 1 が不定出力になるタイミングチャート (RST 端子が "H" の場合 )
発振安定待ち時間 *2
降圧回路の安定待ち時間 *1
Vcc ( 電源端子 )
PONR( パワーオンリセット ) 信号
RST( 外部非同期リセット ) 信号
RST( 内部リセット ) 信号
発振クロック信号
KA( 内部動作クロック A) 信号
KB( 内部動作クロック B) 信号
PORT( ポート出力 ) 信号
出力不定期間
*1:降圧回路の発振安定待ち時間
217/ 発振クロック周波数 ( 発振クロック周波数 16MHz の場合 , 約 8.19ms)
*2:発振安定待ち時間
218/ 発振クロック周波数 ( 発振クロック周波数 16MHz の場合 , 約 16.38ms)
図 1.8-4 ポート 0, 1 がハイインピーダンス状態になるタイミングチャート (RST 端子が "L" の場合 )
発振安定待ち時間 *2
降圧回路の安定待ち時間 *1
Vcc ( 電源端子 )
PONR( パワーオンリセット ) 信号
RST( 外部非同期リセット ) 信号
RST( 内部リセット ) 信号
発振クロック信号
KA( 内部動作クロック A) 信号
KB( 内部動作クロック B) 信号
PORT( ポート出力 ) 信号
ハイ・インピーダンス
*1:降圧回路の発振安定待ち時間
217/ 発振クロック周波数 ( 発振クロック周波数 16MHz の場合 , 約 8.19ms)
*2:発振安定待ち時間
218/ 発振クロック周波数 ( 発振クロック周波数 16MHz の場合 , 約 16.38ms)
●「DIV A,Ri」, 「DIVW A,RWi」命令を使用する場合
符号付乗除算命令「DIV A,Ri」, 「DIVW A,RWi」命令は , 対応するバンクレジスタ
(DTB, ADB, USB, SSB) の値を "00H" に設定し使用してください。対応するバンクレジ
スタ (DTB, ADB, USB, SSB) の値を "00H" 以外に設定した場合 , 命令実行結果により得
られる余りは , 命令オペランドのレジスタに格納されません。
詳細は ,「2.11 「DIV A,Ri」,「DIVW A,RWi」命令の使用上の注意」を参照してください。
● REALOS を使用する場合
REALOS を使用する場合は , 拡張インテリジェント I/O サービス (EI2OS) は使用できま
せん。
17
第 1 章 概要
● PLL クロックモード動作中の注意について
本マイコンで PLL クロックを選択しているときに発振子が外れたりまたはクロック入
力が停止した場合 , 本マイコンは PLL 内部の自励発振回路の自走周波数で動作を継続
し続ける場合があります。この動作は , 保証外です。
18
第2章
CPU
この章では , CPU の機能と動作について説明しま
す。
2.1 CPU の概要
2.2 メモリ空間
2.3 メモリ空間マップ
2.4 リニア方式によるアドレス指定
2.5 バンク方式によるアドレス指定
2.6 メモリ空間における多バイト長データ
2.7 レジスタ
2.8 レジスタバンク
2.9 プリフィックスコード
2.10 割込み抑止命令
2.11 「DIV A,Ri」, 「DIVW A,RWi」命令の使用上の注意
19
第 2 章 CPU
2.1
CPU の概要
F2MC-16LX CPU コアは , 民生用・車載用機器等の高速リアルタイム処理が要求され
る用途向けに設計された 16 ビット CPU です。F2MC-16LX の命令セットはコント
ローラ用途向けに設計されており , 各種制御の高速・高効率処理が可能です。
■ CPU の概要
F2MC-16LX CPU コアは 16 ビットデータ処理は勿論 , 内部に 32 ビットアキュムレータ
を塔載しているため 32 ビットデータ処理も可能です。メモリ空間は最大 16M バイト
( 拡張可能 ) , リニア方式およびバンク方式のいずれかにてアクセス可能です。また , 命
令体系は F2MC-8L の A-T アーキテクチャをベースに , 高級言語対応命令の追加・アド
レッシングモードの拡張・乗除算命令の強化・ビット処理の充実化により命令が強化
されています。
以下に , F2MC-16LX CPU の特長を示します。
● 最小命令実行時間
62.5ns (4MHz 発振 , 4 逓倍 )
● 最大メモリ空間
16M バイト , リニア / バンク方式にてアクセス
● コントローラ用途に最適化された命令体系
• 豊富なデータタイプビット / バイト / ワード / ロングワード
• 拡張されたアドレッシングモード 23 種類
• 32 ビットアキュムレータの採用による高精度演算 (32 ビット長 ) の強化
● 強力な割込み機能
8 つのプライオリティレベル ( プログラマブル )
● CPU に依存しない自動転送機能
最大 16 チャネルまでの拡張インテリジェント I/O サービス
● 高級言語 (C 言語 ) / マルチタスクに対応した命令体系
システムスタックポイントの採用 / 命令セットの対称性 / バレルシフト命令
● 実行速度の向上
4 バイトのキュー
20
第 2 章 CPU
2.2
メモリ空間
F2MC-16LX CPU が管理するデータ・プログラム・I/O はすべて F2MC-16LX CPU が
持つ 16M バイトのメモリ空間のいずれかに配置されます。CPU は 24 ビットのアド
レスバスでこれらのアドレスを示すことにより , 各リソースをアクセスすることが
できます。
■ CPU メモリ空間の概要
図 2.2-1 に , F2MC-16LX システムとメモリマップの関係例を示します。
図 2.2-1 F2MC-16LX システムとメモリマップの関係例
FFFFFFH
プログラム
F2MC-16LX
データ
810000H
割込み
800000H
CPU
プログラム領域
FF8000H
データ領域
0000C0H
周辺回路
0000B0H
割込みコントローラ
周辺回路
[ デバイス ]
汎用ポート
000020H
汎用ポート
000000H
■ アドレス作成の方式
F2MC-16LX のアドレス指定には , 以下に示す 2 つの方式があります。
● リニア方式
24 ビットアドレスすべてを命令により指定する方式
● バンク方式
アドレス上位 8 ビットを用途に応じたバンクレジスタで , アドレス下位 16 ビットを命
令により指定する方式
21
第 2 章 CPU
2.3
メモリ空間マップ
図 2.3-1 に , MB90590 シリーズのメモリ空間マップを示します。
■ メモリ空間マップ
図 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 メモリ空間マップ
MB90V590G
FFFFFFH
ROM (FF バンク )
FF0000H
FEFFFFH
FE0000H
FDFFFFH
MB90F594A/MB90594G/
MB90F594G
FFFFFFH
FF0000H
FEFFFFH
ROM (FE バンク )
FE0000H
FDFFFFH
FC0000H
FBFFFFH
ROM (FC バンク )
FD0000H
FCFFFFH
ROM (FE バンク )
ROM (FC バンク )
FC0000H
ROM (FB バンク )
ROM (F9 バンク )
ROM(FF バンク
のイメージ )
00FFFFH
004000H
ROM(FF バンク
のイメージ )
00FFFFH
004000H
周辺
002100H
0020FFH
001FFFH
周辺
001900H
0018FFH
RAM 6Kバイト
000100H
22
ROM (FA バンク )
ROM (F9 バンク )
ROM(FF バンク
のイメージ )
0028FFH
RAM 2Kバイト
001900H
0018FFH
0000BFH
000000H
ROM (FB バンク )
F90000H
0028FFH
001FFFH
ROM (FD バンク )
FA0000H
F9FFFFH
F90000H
ROM (FE バンク )
FD0000H
FCFFFFH
FB0000H
FAFFFFH
ROM (FA バンク )
002100H
0020FFH
FE0000H
FDFFFFH
FC0000H
FBFFFFH
FA0000H
F9FFFFH
004000H
ROM (FF バンク )
FF0000H
FEFFFFH
FB0000H
FAFFFFH
00FFFFH
FFFFFFH
ROM (FD バンク )
ROM (FD バンク )
FD0000H
FCFFFFH
ROM (FF バンク )
MB90F591A/MB90591
MB90F591G/MB90591G
RAM 6Kバイト
0000BFH
000000H
周辺
001900H
0018FFH
000100H
周辺
001FFFH
RAM 2Kバイト
RAM 6Kバイト
000100H
周辺
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
旧プログラムカウンタ
+プログラムバンク
17452DH
17
452D
JMPP 123456H
123456H
新プログラムカウンタ
+プログラムバンク
12
次の命令
3456
図 2.4-2 リニア方式 (32 ビットレジスタ間接指定 ) の例
MOV A, @RL1+7
旧 AL
090700H
XXXX
3A
+7
RL1
240906F9
( 上位 8 ビットは無視
新 AL
003A
23
第 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 の各空間はバンク "00H"
(000000H ∼ 00FFFFH) に配置され , PC 空間はリセットベクタにより指定されたバンク
に配置されます。
24
第 2 章 CPU
表 2.5-1 デフォルト空間
デフォルト空間
アドレッシング
プログラム空間
PC 間接 , プログラムアクセス , 分岐系
データ空間
@RW0,@RW1,@RW4,@RW5 を用いたアドレッシング ,
@A,addr16,dir
スタック空間
PUSHW, POPW,@RW3,@RW7 を用いたアドレッシング
アディショナル空間
@RW2,@RW6 を用いたアドレッシング
図 2.5-1 に , レジスタバンクに分割されたメモリ空間の例を示します。
図 2.5-1 各空間の物理アドレス
FFFFFFH
FF0000H
プログラム空間
FFH
: PCB ( プログラムバンクレジスタ )
B3H
: ADB ( アディショナルバンクレジスタ )
92H
: USB ( ユーザスタックバンクレジスタ )
68H
: DTB ( データバンクレジスタ )
4BH
: SSB ( システムスタックバンクレジスタ )
B3FFFFH
B30000H
物
理 92FFFFH
ア
ド 920000H
レ
68FFFFH
ス
680000H
アディショナル空間
ユーザスタック空間
データ空間
4BFFFFH
システムスタック空間
4B0000H
000000H
25
第 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 MOVWA,080FFFFH の実行
H
80FFFFH
実行前の AL
??
??
実行後の AL
23H
01H
01H
·
·
·
800000H
23H
L
26
第 2 章 CPU
2.7
レジスタ
F2MC-16LX のレジスタは大別して , 専用レジスタと , 汎用レジスタの 2 種類に分け
ることができます。
専用レジスタは , CPU の内部に専用ハードウェアとして存在し , 使用する用途が
CPU のアーキテクチャ上で限定されています。
汎用レジスタは , 通常のメモリと同じく , 使用する用途をユーザが指定することがで
きるものです。CPU のアドレス空間上に RAM と共存し , アドレスを指定しないで
アクセスできるという点では専用レジスタと同じです。
■ 専用レジスタ
F2MC-16LX CPU コアの専用レジスタは以下に示す 11 本があります。
• アキュムレータ (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 に , 専用レジスタの構成を示します。
27
第 2 章 CPU
図 2.7-1 専用レジスタ
AH
AL
アキュムレータ
USP
ユーザスタックポインタ
SSP
システムスタックポインタ
PS
プロセッサステータス
PC
プログラムカウンタ
DPR
ダイレクトページレジスタ
PCB
プログラムバンクレジスタ
DTB
データバンクレジスタ
USB
ユーザスタックバンクレジスタ
SSB
システムスタックバンクレジスタ
ADB
アディショナルデータバンクレジスタ
8ビット
16ビット
32ビット
■ 汎用レジスタ
図 2.7-2 に示すように , F2MC-16LX の汎用レジスタは主記憶の 000180H ∼ 00037FH ( 最大の
場合 ) に存在し , レジスタバンクポインタ (RP) によって先に述べたアドレスのどの部分が
現在使用中のレジスタバンクであるかを指定します。各バンクには以下に示す 3 種のレジ
スタが存在します。これらは独立ではなく , 以下に示すような関係があります。
• R0 ∼ R7:8 ビットの汎用レジスタ
• RW0 ∼ RW7:16 ビットの汎用レジスタ
• RL0 ∼ RL3:32 ビットの汎用レジスタ
図 2.7-2 汎用レジスタ
MSB
LSB
16 ビット
000180H +RP × 10H
汎用レジスタの先頭アドレス
RW0
下位
RL0
RW1
RW2
RL1
RW3
R1
R0
RW4
R3
R2
RW5
R5
R4
RW6
R7
R6
RW7
RL2
RL3
上位
28
第 2 章 CPU
バイトレジスタとワードレジスタの上位 / 下位バイトの関係は ,
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]
という式で表すことができます。
29
第 2 章 CPU
2.7.1
アキュムレータ (A)
アキュムレータ (A) レジスタは , 2 つの 16 ビット長の演算用レジスタ AH および AL
で構成され , 演算などを行った際の結果やデータ転送の一時記憶などに使用されま
す。
■ アキュムレータ (A)
アキュムレータ (A) レジスタでは , 図 2.7-3 に示すように , 32 ビットデータ処理時は AH
と AL を連結して使用します。また , 図 2.7-4 に示すように , 16 ビットデータ処理のワー
ド処理や 8 ビットデータ処理のバイト処理のときは AL のみが使用されます。A レジ
スタ中のデータはメモリ / レジスタ (Ri, RWi, RLi) 中のデータと各種演算ができ , F2MC8のときと同様, F2MC-16LXでも基本的にワード長以下のデータをALへ転送しますと,
転送前の AL 中のデータが自動的に AH に転送されます ( データ保持機能 ) ので , デー
タ保持機能と AL-AH 間演算にて各種処理効率を上げることが可能になります。
AL へのバイト長以下のデータの転送時は , データは符号拡張またはゼロ拡張され 16
ビット長となり AL へ格納されます。AL 中のデータは , ワード長としてもバイト長と
しても扱えます。AL にバイト処理の算術演算命令を実行すると , 演算前の AL の上位
8 ビットは無視され演算結果の上位 8 ビットはすべて "0" になります。A レジスタは ,
リセットでは初期化されず , リセット直後は不定値になります。
図 2.7-3 32 ビットデータ転送例
MOVL A,@RW1+6
実行前の A
XXXXH
MSB
XXXXH
8F74H
8FH
74H
A6153EH
2BH
52H
15H
38H
+6
2B52H
AH
A61540H
A6H
DTB
実行後の A
LSB
RW1
AL
図 2.7-4 AL-AH 転送例
MSB
MOVW A,@RW1+6
実行前の A
XXXXH
1234H
DTB
A6H
LSB
A61540H
8FH
74H
A6153EH
2BH
52H
15H
38H
+6
実行後の A
30
1234H
1234H
RW1
第 2 章 CPU
ユーザスタックポインタ (USP) とシステムスタック
ポインタ (SSP)
2.7.2
ユーザスタックポインタ (USP) およびシステムスタックポインタ (SSP) は , 16 ビッ
トのレジスタであり , プッシュ / ポップ命令およびサブルーチン実行時のデータ退避 /
復帰のメモリアドレスを示します。
■ ユーザスタックポインタ (USP) とシステムスタックポインタ (SSP)
図 2.7-5 および図 2.7-6 に示すように , ユーザスタックポインタ (USP) とシステムスタッ
クポインタ (SSP) は , スタック系の命令により使用されますが , プロセッサステータス
中の S フラグが "0" のときは , USP レジスタが有効になり , S フラグが "1" のときは SSP
レジスタが有効になります。また , 割込みが受け付けられると S フラグがセットされ
るため , 割込み時のレジスタ退避は必ず SSP の示すメモリ中に行われます。割込みルー
チンでのスタック処理は SSP で , 割込みルーチン以外のスタック処理は USP が用いら
れます。スタック空間を分ける必要のない場合は SSP だけをお使いください。
スタック時のアドレスの上位 8 ビットは , SSP → SSB, USP → USB により示されます。
また USP および SSP は , リセットでは初期化されず , 不定値になります。
図 2.7-5 スタック操作命令とスタックポインタ (S フラグが "0" のときの PUSHW A の例 )
MSB
実行前
AL
A624H
USB
C6H
USP
F328H
S フラグ
0
SSB
56H
SSP
1234H
AL
A624H
USB
C6H
USP
F326H
0
SSB
56H
SSP
1234H
実行後
C6F326H
LSB
XX
XX
S フラグが "0" であるためシ
ステムスタックを使用
C6F326H
A6H
24H
図 2.7-6 スタック操作命令とスタックポインタ (S フラグが "1" のときの PUSHW A の例 )
MSB
実行前
AL
A624H
USB
C6H
USP
F328H
S フラグ
1
SSB
56H
SSP
1234H
AL
A624H
USB
C6H
USP
F328H
1
SSB
56H
SSP
1232H
実行後
< 注意事項 >
LSB
561232H
XX
XX
561232H
A6H
24H
S フラグが "1" であるため
システムスタックを使用
スタックポインタに設定すべき値は , 原則として偶数アドレスを使用してくださ
い。
31
第 2 章 CPU
2.7.3
プロセッサステータス (PS)
プロセッサステータス (PS) は , CPU の動作制御を行うビットと CPU の状態を示す
ビットより構成されています。
■ プロセッサステータス (PS)
図 2.7-7 に示すように , プロセッサステータス (PS) の上位バイトはレジスタバンクの先
頭アドレスを示すインタラプトレベルマスクレジスタ (ILM) およびレジスタバンクポ
インタ (RP) より構成され , PS の下位バイトは命令実行結果および割込み発生などによ
りセット / リセットされる各種フラグより構成されているコンディションコードレジ
スタ (CCR) より構成されています。
図 2.7-7 プロッセサステータス (PS) の構造
bit 15
13 12
PS
8 7
ILM
0
RP
CCR
■ コンディションコードレジスタ (CCR)
図 2.7-8 に , コンディションコードレジスタ (CCR) の構成を示します。
図 2.7-8 コンディションコードレジスタ (CCR) の構成
bit
7
初期値→
−
−
6
I
0
5
S
1
3
T
*
4
N
*
2
Z
*
1
V
*
0
C
*
: CCR
*: 不定値
● 割込み許可フラグ (I)
ソフトウェアインタラプト以外のすべての割込み要求に対し I が "1" のときは割込みが
許可 , "1" のときは割込みはマスク。リセット時クリア。
● スタックフラグ (S)
S が "0" のときはスタック操作用ポインタとして USP が有効 , "1" のときは SSP が有効
になります。割込み受付時およびリセット時にセット。
● スティッキィビットフラグ (T)
論理右 / 算術右シフト命令を実行後にキャリよりシフトアウトされたデータに 1 つ以
上 "1" があったら "1", それ以外は "0"。シフト量がゼロの場合も "0"。
● ネガティブフラグ (N)
演算結果の MSB が "1" なら N フラグはセット , それ以外はクリア。
● ゼロフラグ (Z)
演算結果がすべて "0" ならセット , それ以外はクリア。
32
第 2 章 CPU
● オーバフローフラグ (V)
演算の実行により符号付き数値としてオーバフローが生じるとセット , 生じないとク
リア。
● キャリーフラグ (C)
演算の実行により MSB より桁上がり / 桁下がりが生じるとセット , 生じないとクリア。
■ レジスタバンクポインタ (RP)
図 2.7-9 に示すように , レジスタバンクポインタ (RP) は , F2MC-16LX の持つ汎用レジ
スタとそれが存在する内部 RAM のアドレスとの関係を示すレジスタで , 現在使用中の
レジスタバンクの先頭のメモリアドレスを [000180H+(RP)*10H] という変換式で示しま
す。
RP は 5ビットにより構成されており00H ∼1FH までの値をとることができ , 000180H
∼ 00037FH のメモリ中にレジスタバンクを配置できます。
ただし , この範囲内であっても内部 RAM でなければ汎用レジスタとして使用すること
はできません。RP はリセットによりすべて "0" に初期化されます。命令上では RP に
8 ビットの即値が転送できますが , 実際に使用されるのはそのデータの下位 5 ビットの
みです。
図 2.7-9 レジスタバンクポインタ (RP)
初期値→
B4
0
B3
0
B2
0
B1
0
B0
0
: RP
■ インタラプトレベルマスクレジスタ (ILM)
図 2.7-10 に示すように , インタラプトレベルマスクレジスタ (ILM) は 3 ビットから構
成されており , CPU の割込みマスクのレベルを示します。この 3 ビットにより示され
るレベルより強いレベルの割込み要求のみが受け付けられます。表 2.7-1 に示すように
, レベルの強弱は "0" が最強で , "7" が最弱と定義されています。したがって割込みが受
け付けられるには , 現状の ILM の保持値より小さい値の要求でなければなりません。
割込みが受け付けられるとその割込みのレベル値が ILM にセットされ , これ以降の同
じかそれより低い優先順位の割込みは受け付けられなくなります。ILM はリセットに
よりすべて "0" に初期化されます。命令上では ILM に 8 ビットの即値が転送できます
が , 実際に使用されるのはそのデータの下位 3 ビットのみです。
図 2.7-10 インタラプトレベルマスクレジスタ (ILM)
初期値→
ILM2
0
ILM1
0
ILM0
0
: ILM
33
第 2 章 CPU
表 2.7-1 インタラプトレベルマスクレジスタ (ILM) で示されるレベルの強弱
34
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)
プログラムカウンタ (PC) は , 16 ビットのカウンタであり , CPU が実行すべき命令
コードのメモリアドレスの下位 16 ビットを示します。上位 8 ビットアドレスは
PCB により示されます。PC は条件分岐命令 , サブルーチンコール命令 , 割込み , リ
セットなどにより内容が更新されます。
また , オペランドアクセス時のベースポインタとして使用することもできます。
■ プログラムカウンタ (PC)
図 2.7-11 に , プログラムカウンタを示します。
図 2.7-11 プログラムカウンタ
PCB
FEH
PC
ABCDH
次に実行する命令
FEABCDH
35
第 2 章 CPU
2.8
レジスタバンク
レジスタバンクは 8 ワードで構成され , バイトレジスタ R0 ∼ R7, ワードレジスタ
RW0 ∼ RW7, ロングワードレジスタ RL0 ∼ RL3 の汎用レジスタとして各種演算 ,
ポインタとして各種命令に使用でき , RL0 ∼ RL3 は全空間を直接アクセスするリニ
アポインタとしても使用できます。
■ レジスタバンク
表 2.8-1 に , 各レジスタの機能を , 図 2.8-1 に各レジスタの関係を示します。
レジスタバンクの内容は , 通常の RAM 同様に , リセットでは初期化されず , リセット
前の状態が保持されます。ただし , パワーオン時は不定値になります。
表 2.8-1 各レジスタの機能
R0 ∼ R7
各種命令のオペランドとして使用
( 注意事項 ) R0 はバレルシフトのカウンタおよびノーマライズ命
令のカウンタとしても使用
RW0 ∼ RW7
ポインタ , 各種命令のオペランドとして使用
( 注意事項 ) RW0 はストリング命令のカウンタとしても使用
RL0 ∼ RL3
ロングポインタ , 各種命令のオペランドとして使用
図 2.8-1 各レジスタの関係
RW0
RL0
RW1
RW2
RL1
RW3
R0
RW4
R1
RL2
R2
RW5
R3
R4
RW6
R5
RL3
R6
RW7
R7
36
第 2 章 CPU
● ダイレクトページレジスタ (DPR) <初期値 :01H >
ダイレクトページレジスタ (DPR) は , ダイレクトアドレッシングの命令時のオペラン
ドの addr8 ∼ addr15 を指定します。図 2.8-2 に示すように , DPR は 8 ビット長であり ,
リセットにより "01H" に初期化されます。
図 2.8-2 ダイレクトアドレッシングによる物理アドレスの生成
DTB レジスタ
DPR レジスタ
命令中のダイレクトアドレス
αααααααα
ββββββββ
γγγγγγγγ
MSB
24 ビット
物理アドレス
LSB
ααααααααββββββββγγγγγγγγ
● プログラムカウンタバンクレジスタ (PCB) <初期値 : リセットベクタ中の値>
● データバンクレジスタ (DTB) <初期値 :00H >
● ユーザスタックバンクレジスタ (USB) <初期値 :00H >
● システムスタックバンクレジスタ (SSB) <初期値 :00H >
● アディショナルデータバンクレジスタ (ADB) <初期値 :00H >
各々のバンクレジスタはそれぞれ PC 空間 , DT 空間 , SP 空間 ( ユーザ ) , SP 空間 ( シス
テム ) AD 空間の配置されるメモリバンクを示します。すべてのバンクレジスタはバイ
ト長であり , リセットにより PCB はリセットベクタの値に初期化されます。PCB 以外
のバンクレジスタは読出し / 書込みができます。PCB は読出しは可能ですが書き込む
ことはできません。
16M バイト全空間に分岐する JMPP, CALLP, RETP, RETIQ, RETF 命令実行時および割
込み時に PCB は書き換わります。各レジスタの動作は , 「2.2 メモリ空間」を参照し
てください。
37
第 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 アクセス命令
MOVA,io/MOVio,A/MOVXA,io/MOVWA,io/MOVWio,A/MOVio,#imm8
MOVWio,#imm16/MOVBA,io:bp/MOVBio:bp,A/SETBio:bp/CLRBio:bp
BBCio:bp,rel/BBSio:bp,rel/WBTC,WBTS
プリフィックス有無に関わらず , バンクの IO 空間が使用されます。
● フラグ変更命令〔AND CCR,#imm8/OR CCR,#imm8〕
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
● POPW PS
プリフィックス有無に関わらず , S フラグに応じて SSB または USB が使用されます。
プリフィックスの効果が次の命令まで及びます。
38
第 2 章 CPU
● MOVILM,#imm8
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
● RETI
プリフィックス有無に関わらず , SSB が使用されます。
■ コモンレジスタバンクプリフィックス (CMR)
複数のタスク間でのデータ交換を容易にするためには , そのときの RP がどのような値
でも比較的簡単に定められた同一のレジスタバンクをアクセスする手段が必要です。
コモンレジスタバンクプリフィックス (CMR) をレジスタバンクをアクセスする命令の
前に置くことで , 現在の RP の値に関係なくその命令のレジスタアクセスをすべて
000180H ∼ 00018FH にあるコモンバンク (RP=0 のときに選択されるレジスタバンク )
に変更することができます。ただし , 以下に示す命令に対しては注意してください。
● ストリング命令〔MOVS, MOVSW, SCEQ, SCWEQ, FILS, FILSW〕
プリフィックスコードを付加したストリング命令実行中に割込み要求が発生すると ,
割込み復帰後のストリング命令に対しては , プリフィックスが無効であるため誤動作
となります。上記のストリング命令に対しては CMR プリフィックスを付加しないでく
ださい。
● フラグ変更命令〔AND CCR,#imm8, OR CCR,#imm8, POPW PS〕
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
● MOVILM,#imm8
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
■ フラグ変化抑止プリフィックス (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 は命令の仕様通り変化します。
● MOVILM,imm8
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
39
第 2 章 CPU
2.10
割込み抑止命令
以下に示す 10 種類の命令については , 割込み要求はサンプリングされません。
• MOV ILM, #imm8 • PCB
• AND CCR, #imm8 • ADB
• SPB
• CMR
• OR CCR, #imm8 • NCC
• POPW PS
• DTB
■ 割込み抑止命令
図 2.10-1 に示すように , この命令実行中に有効なハードウェア割込み要求が発生して
も , 割込み処理が行われるのは , この命令以降にこの種類以外の命令が実行された後に
なります。
図 2.10-1 割込み抑止命令
割込み抑止命令
(a)
(a) 普通の命令
割込み要求発生
割込み受け付け
■ 割込み抑止命令とプリフィックス命令に関する制約
図 2.10-2 に示すように , 割込み抑止命令の前にプリフィックスコードを付加した場合 ,
プリフィックスコードの効果は , プリフィックスコード後の最初の〔割込み抑止命令以
外の命令〕まで及びます。
図 2.10-2 割込み抑止命令とプリフィックスコード
割込み抑止命令
MOV A, FFH
NCC
ADD A,01H
MOV ILM,#imm8
CCR:XXX10XX
CCR:XXX10XX
NCC により CCR は変化しません。
■ プリフィックスコードが連続している場合
図 2.10-3 に示すように , 競合するプリフィックスコードが連続していた場合 , 後方のも
のが有効になります。なお , 競合するプリフィックスコードとはここでいう PCB, ADB,
DTB, SPB のことを意味します。
図 2.10-3 プリフィックスコードの連続
プリフィックスコード
ADB
DTB
PCB
ADD A,01H
プリフィックスコードは
PCB が有効になります。
40
第 2 章 CPU
2.11
「DIV A,Ri」, 「DIVW A,RWi」命令の使用上の注意
「DIV A,Ri」, 「DIVW A,RWi」命令を使用する場合 , バンクレジスタを "00H" に設定
してください。
■「DIV A,Ri」, 「DIVW A,RWi」命令の使用上の注意
表 2.11-1 「DIV A,Ri」, 「DIVW A,RWi」命令の使用上の注意
命令
左記命令事項時に影響を
受けるバンクレジスタ名
余りが格納されるアドレス
DIV A,R0
(DTB: 上位 8 ビット ) + (0180H+RP × 10H+8H 下位 16 ビット )
DIV A,R1
(DTB: 上位 8 ビット ) + (0180H+RP × 10H+9H 下位 16 ビット )
DIV A,R4
(DTB: 上位 8 ビット ) + (0180H+RP × 10H+CH 下位 16 ビット )
(DTB: 上位 8 ビット ) + (0180H+RP × 10H+DH 下位 16 ビット )
DIV A,R5
DTB
DIVW A,RW0
(DTB: 上位 8 ビット ) + (0180H+RP × 10H+0H 下位 16 ビット )
DIVW A,RW1
(DTB: 上位 8 ビット ) + (0180H+RP × 10H+2H 下位 16 ビット )
DIVW A,RW4
(DTB: 上位 8 ビット ) + (0180H+RP × 10H+8H 下位 16 ビット )
DIVW A,RW5
(DTB: 上位 8 ビット ) + (0180H+RP × 10H+AH 下位 16 ビット )
DIV A,R2
(ADB: 上位 8 ビット ) + (0180H+RP × 10H+AH 下位 16 ビット )
(ADB: 上位 8 ビット ) + (0180H+RP × 10H+EH 下位 16 ビット )
DIV A,R6
ADB
DIVW A,RW2
(ADB: 上位 8 ビット ) + (0180H+RP × 10H+4H 下位 16 ビット )
DIVW A,RW6
(ADB: 上位 8 ビット ) + (0180H+RP × 10H+EH 下位 16 ビット )
DIV A,R3
(USB*2: 上位 8 ビット ) + (0180H+RP × 10H+BH 下位 16 ビット )
(USB*2: 上位 8 ビット ) + (0180H+RP × 10H+FH 下位 16 ビット )
DIV A,R7
USBSSB*1
DIVW A,RW3
(USB*2: 上位 8 ビット ) + (0180H+RP × 10H+6H 下位 16 ビット )
DIVW A,RW7
(USB*2: 上位 8 ビット ) + (0180H+RP × 10H+EH 下位 16 ビット )
*1:CCR レジスタの S ビットによる
*2:CCR レジスタの S ビットが "0" の場合
バンクレジスタ (DTB, ADB, USB, SSB) の値が "00H" の場合は , 除算結果の余りが命令
オペランドのレジスタに格納されます。バンクレジスタの値が "00H" 以外の場合は , 上
位 8 ビットアドレスは命令オペランドのレジスタに対応したバンクレジスタにより指
定され , 下位 16 ビットアドレスは命令オペランドのレジスタのアドレスと同じアドレ
スとなり , 上位 8 ビットで指定されたバンクのレジスタに余りが格納されます。
41
第 2 章 CPU
●例
DTB="053H", RP="03H" の場合に「DIV A,R0」を実行した場合は , R0 のアドレスが
"0180H"+RP("03H") × "10H"+"08H" (R0 相当アドレス ) ="0001B8H" となります。
ここで , 「DIV A,R0」で指定されるバンクレジスタはデータバンクレジスタ (DTB) で
すので, バンクアドレス"053H"を付加したアドレス"05301B8H"に余りが格納されます。
< 参考 >
バンクレジスタおよび Ri, RWi のレジスタについては , 「2.7 レジスタ」を参照し
てください。
■ 注意事項の回避について
「DIV A,Ri」, 「DIVW A,RWi」命令の使用上の注意事項を回避してプログラムを開発
していただくために , コンパイラでは表 2.11-1 の命令を生成しないように変更し , アセ
ンブラでは表 2.11-1 の命令を同等の命令列に置き換える機能を追加したものが用意さ
れています。MB90590 シリーズのコンパイラおよびアセンブラは , 以下のものを使用
してください。
● コンパイラ
cc907 の V02L06 以降のバージョンおよび fcc907s の V30L02 以降のバージョン
● アセンブラ
asm907a の V03L04 以降のバージョンおよび fasm907s の V03L04(Rev.300004) 以降の
バージョン
42
第3章
割込み
この章では , MB90590 シリーズの割込みと拡張イ
ンテリジェント I/O サービス (EI2OS) の機能と動作
について説明しています。
3.1 割込みの概要
3.2 割込みベクタ
3.3 割込み制御レジスタ (ICR)
3.4 割込みフロー
3.5 ハードウェア割込み
3.6 ソフトウェア割込み
3.7 拡張インテリジェント I/O サービス (EI2OS)
3.8 拡張インテリジェント I/O サービス (EI2OS) の
動作フローと使用手順
3.9 例外
43
第 3 章 割込み
割込みの概要
3.1
F2MC-16LX は , イベントなどの発生により現在実行中の処理を中断して , 別に定義
したプログラムへ制御を移す割込み機能があります。
■ 割込みの概要
割込み機能は以下の 4 つに分けることができます。
• ハードウェア割込み……内蔵リソースのイベント発生による割込み処理
• ソフトウェア割込み……ソフトウェアのイベント発生命令による割込み処理
• 拡張インテリジェント I/O サービス (EI2OS)……内蔵リソースのイベント発生による
転送処理
• 例外……動作例外事項の発生による中断処理
この章では , これら 4 種類の割込みについて説明します。
■ ハードウェア割込み
ハードウェア割込みは , 内部リソースからの割込み要求によって起動します。ハード
ウェア割込み要求は , 内部リソース内の割込み要求フラグと割込み許可フラグがセッ
トされた場合に発生します。したがって , ハードウェア要求を発生させるためには , 内
部リソース内に , 割込み要求フラグと割り込み許可フラグを持っていなければなりま
せん。
● 割込みレベルの指定
ハードウェア割込みは , 割込みレベルを指定することができます。割込みレベルを指定
するには , 割込みコントローラのレベル設定ビット (IL0, IL1, IL2) を使用します。
● ハードウェア割込み要求マスク
ハードウェア割込み要求は , CPU 内のプロセッサステータスレジスタ (PS) 中の I フラ
グおよび ILM ビット (IL0, IL1, IL2) を使用してマスクすることができます。マスクの
かかっていない割込み要求が発生すると , CPU は , PS, PC, PCB, DTB, ADB, DPR, A の
各レジスタからなる 12 バイトのデータを SSB と SSP レジスタが示すメモリ領域に退
避します。
図 3.1-1 ハードウェア割込みの概要
レジスタファイル
F2MC-16LX バス
マイクロコード
PS
IR
⑥
F2MC-16LX・CPU
ILM
チェック
⑤
比較器
④
③
周辺
許可 FF
AND
要因 FF
⑦
44
I
①
②
レ
ベ
ル
比
較
器
割
込
み
レ
ベ
ル 割込み
IL
コントローラ
PS : プロセッサステータス
I
: 割込み許可フラグ
ILM : 割込みレベルマスク
レジスタ
IR : インストラクション
レジスタ
第 3 章 割込み
■ ソフトウェア割込み
ソフトウェア割込みは , CPU がそれまで実行していたプログラムの実行から , ユーザの
定義した割込み処理用プログラムへ制御を移行する機能です。
ソフトウェア割込みは , INT 命令実行により要求されます。INT 命令により要求される
割込みには , 割込み要求フラグと割込み許可フラグはありません。INT 命令の実行によ
り常に割込み要求が発生します。
INT 命令には , 割込みレベルの割当てもありません。このため , INT 命令使用時には
ILM の更新は行われません。代わりに , I フラグをクリアして , 継続する割込み要求を
保留状態にします。
図 3.1-2 ソフトウェア割り込みの概要
①
F2MC-16LX バス
レジスタ
ファイル
I
PS
② マイクロ
S
B ユニット
コード
IR
F2MC-16LX・CPU
キュー
フェッチ
: プロセッサステータス
: 割込み許可フラグ
: 割込みレベルマスク
レジスタ
IR
: インストラクション
レジスタ
B ユニット: バスインタフェース
ユニット
PS
I
ILM
退避
命令系バス
RAM
■ 拡張インテリジェント I/O サービス (EI2OS)
拡張インテリジェント I/O サービスは , 内蔵リソースとメモリの間でデータを自動的に
転送します。この種の処理には , 従来割込み処理プログラムが使用されていましたが ,
EI2OS はデータ転送を DMA ( ダイレクトメモリアクセス ) 的に実行できます。
拡張インテリジェント I/O サービス機能を内部リソースより発生させるためには , 割込
みコントローラの割込み制御レジスタ (ICR) 中に拡張インテリジェント I/O サービス許
可フラグ (ISE) を持っていなければなりません。
拡張インテリジェント I/O サービスは ISE フラグが "1" で割込み要求が発生した場合に
起動されます。
なお, ハードウェア割込み要求によって通常の割込みを発生させるには,
ISE フラグを "0" にセットします。
45
第 3 章 割込み
図 3.1-3 拡張インテリジェント I/O サービス (EI2OS) の概要
メモリ空間
IOA
I/O レジスタ
I/O レジスタ
周辺
割込み要求
CPU
③
ISD
ICS
①
②
割込み制御レジスタ
③
割込みコントローラ
BAP
④
バッファ
DCT
① I/O が転送を要求します。
② 割込みコントローラが
ディスクリプタを選択します。
③ 転送元 / 先をディスクリプタから
読み出します。
④ I/O とメモリ間で転送が行われます。
■ 例外
例外処理は , 基本的には割込みと同じものであり , 命令の境目で例外事項が発生したこ
とを検出した段階で , 通常処理から離れて例外処理を行います。一般的に , 例外処理は
予想外の動作を行った結果で発生するものですので , デバッグ時だけの使用や緊急時
の復旧ソフトウェアの起動などのみに使用することをお勧め致します。
46
第 3 章 割込み
割込みベクタ
3.2
割込みベクタは , ハードウェア割込みとソフトウェア割込みについて同じ領域を使
用します。例えば , 割込み要求番号 INT42 が , 遅延ハードウェア割込みとソフト
ウェア割込み INT#42 に使用されます。したがって , 遅延割込みと INT#42 が同じ割
込み処理ルーチンを呼び出します。割込みベクタは , 表 3.2-1 に示すようにアドレス
FFFC00H と FFFFFFH の間に配置されます。
■ 割込みベクタ
表 3.2-1 割込みベクタ
割込み要求
ベクタアドレス L
ベクタアドレス H
ベクタアドレス
バンク
モードレジスタ
INT0*1
FFFFFCH
FFFFFDH
FFFFFEH
未使用
INT1*1
FFFFF8H
FFFFF9H
FFFFFAH
未使用
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
INT7*1
FFFFE0H
FFFFE1H
FFFFE2H
未使用
INT8*2
FFFFDCH
FFFFDDH
FFFFDEH
FFFFDFH
INT9
FFFFD8H
FFFFD9H
FFFFDAH
未使用
INT10*3
FFFFD4H
FFFFD5H
FFFFD6H
未使用
INT11
FFFFD0H
FFFFD1H
FFFFD2H
未使用
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
INT254
FFFC04H
FFFC05H
FFFC06H
未使用
INT255
FFFC00H
FFFC01H
FFFC02H
未使用
*1:PCB が FFH の場合 , CALLV 命令のベクタ領域は , INT #vct8 (#0 ∼ #7) と同じです。
*2: このベクタは , リセットベクタです。
*3: このベクタは , 例外処理ベクタです。
■ 割込みベクタ一覧表
付録に「表 D-1 MB90590 シリーズ割込みベクタ一覧表」を示していますので , 参照し
てください。
47
第 3 章 割込み
割込み制御レジスタ (ICR)
3.3
割込み制御レジスタは割込みコントローラ内にあり , 割込み機能を持つすべての I/O
に対応して存在します。このレジスタには以下に示す 3 つの機能があります。
• 対応する周辺の割込みレベルの設定
• 対応する周辺の割込みを通常割込みにするか , 拡張インテリジェント I/O サービス
にするかの選択
• 拡張インテリジェント I/O サービスのチャネルの選択
このレジスタに対するリードモディファイライト系の命令でのアクセスは誤動作を
引き起こしますので行わないでください。
■ 割込み制御レジスタ (ICR)
図 3.3-1 に , 割込み制御レジスタのビット構成の図を示します。
図 3.3-1 割込み制御レジスタ (ICR)
bit
15/7
14/6
ICS3
ICS2
W
W
< 注意事項 >
13/5
ICS1
or
S1
*
12/4
ICS0
or
S0
*
11/3
10/2
9/1
8/0
ISE
IL2
IL1
IL0
R/W
R/W
R/W
R/W
割込み制御レジスタ
リセット時 00000111B
• ICS3 ∼ ICS0 は EI2OS を起動する場合のみ有効となります。EI2OS を起動する
場合は ISE を "1" に設定し , 起動しない場合は "0" に設定してください。EI2OS
を起動しない場合 , ICS3 ∼ ICS0 は何を設定してもかまいません。
• *"1" は常に読出しです。ICS1 と ICS0 は書込みのみ , S1 と S0 は読出しのみ ,
それぞれ有効です。
【bit10 ∼ bit8, bit2 ∼ bit0】IL0, IL1, IL2 ( 割込みレベル設定ビット )
割込みレベル設定ビットです。対応する内蔵リソースの割込みレベルを指定します。読
み書きができます。リセットによりレベル 7 ( 割込みなし ) に初期化されます。
表 3.3-1 に , 割込みレベル設定ビットと割込みレベルとの関係を示します。
48
第 3 章 割込み
表 3.3-1 割込みレベル設定ビットと割込みレベル
ILM2
ILM1
ILM0
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 ( 割込みなし )
割込みレベル値
【bit11, bit3】ISE ( 拡張インテリジェント I/O サービスイネーブルビット )
EI2OS 許可ビットです。割込み要求の発生時にこのビットが "1" であると EI2OS が起
動され , "0" のときは割込みシーケンスが起動されます。また , EI2OS が終了 ( カウン
ト終了による場合と内蔵リソースからの要求による場合 ) したとき , ISE ビットは "0"
になります。対応する内蔵リソースに EI2OS の機能がないときには , ソフトウェアで
ISE を "0" にしておく必要があります。読み書き可能なビットです。
リセットにより "0" に初期化されます。
49
第 3 章 割込み
【bit15 ∼ bit12, bit7 ∼ bit4】ICS3 ∼ ICS0 ( 拡張インテリジェント I/O サービスチャネル
セレクトビット )
EI2OS チャネル選択ビットです。書込み専用のビットで , このビットにより EI2OS の
チャネルを指定します。ここで設定された値によりメモリ上の拡張インテリジェント
I/O サービスディスクリプタのアドレスが決定します。ICS はリセットにより "0000" に
初期化されます。
表 3.3-2 に , ICS, チャネル番号 , ディスクリプタアドレスの対応関係を示します。
表 3.3-2 ICS ビット , チャネル番号 , ディスクリプタアドレス
50
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
セレクトされるチャネル ディスクリプタアドレス
第 3 章 割込み
【bit13, bit12, bit5, bit4】S0, S1 ( 拡張インテリジェント I/O サービスステータス )
EI2OS 終了ステータスビットです。読出し専用のビットで , EI2OS 終了時にこのビット
の値を調べることにより , 終了条件が何であったかを判別することができます。
リセットにより "00" に初期化されます。
表 3.3-3 に , S ビットと終了条件との関係を示します。
表 3.3-3 S ビットと終了条件
S1
S0
0
0
EI2OS 動作中または非起動時
0
1
カウント終了による停止状態
1
0
リザーブ
1
1
内蔵リソースからの要求による停止状態
終了条件
51
第 3 章 割込み
3.4
割込みフロー
図 3.4-1 に , 割込みフローを示します。
■ 割込みフロー
図 3.4-1 割込みフロー
I
ILM
IF
IE
ISE
IL
S
I & IF & IE = 1
AND
ILM > IL
: CCR 中のフラグ
: CPU のレベルレジスタ
: 内蔵リソースの割込み要求
: 内蔵リソースの割込みイネーブルフラグ
: EI2OS のイネーブルフラグ
: 内蔵リソースの割込み要求レベル
: CCR 中のフラグ
YES
NO
NO
YES
ISE = 1
次の命令の取り込みと
デコード
PS, PC, PCB, DTB, ADB, DPR, A
を SSP のスタックへ退避
そののち , ILM = IL
拡張インテリジェント
I/O サービス処理
YES
INT 命令
NO
通常命令実行
NO
ストリング系
命令の繰り返し
完了
YES
PC の更新
52
PS, PC, PCB, DTB, ADB, DPR, A を
SSP のスタックへ退避
そののち , I = 0, ILM = IL
S←1
割込みベクタ取り込み
第 3 章 割込み
図 3.4-2 割込み処理中のレジスタ退避
ワード (16 ビット )
H
MSB
LSB
SSP( 割込み発生前の SSP の値 )
AH
AL
DPR
ADB
DPB
PCB
PC
PS
L
SSP( 割込み発生後の SSP の値 )
53
第 3 章 割込み
3.5
ハードウェア割込み
ハードウェア割込みは , 内蔵リソースからの割込み要求信号に対応して , CPU がそ
れまで実行していたプログラムの実行を一時中断し , ユーザの定義した割込み処理
用プログラムへ制御を移行する機能です。
■ ハードウェア割込み
ハードウェア割込みの起動は , 割込み要求がもつ割込みレベルと , CPU の PS がもつイ
ンタラプトレベルマスクレジスタ (ILM) の比較および PS 内の I フラグの内容をハード
ウェアで参照したのち , 発生条件に合致すれば発生します。
ハードウェア割込みが発生するときに CPU が行う処理には , 以下のものがあります。
• CPU 内部の PC, PS, AH, AL, PCB, DTB, ADB, DPR レジスタのシステムスタックへの
退避
• PS レジスタ内の ILM の設定。自動的に現在要求している割込みレベルと同じになる
• 対応する割込みベクタの内容の取り込みとそこへの分岐
■ ハードウェア割込みの構造
ハードウェア割込みに関連する機構は , 以下の 3 つの部分に分かれて存在します。
● 内蔵リソース
割込み許可ビット , 割込み要求ビット : リソースからの割込み要求の制御
● 割込みコントローラ
ICR: 割込みのレベル付け , 同時要求割込みの優先度判定
● CPU
I, ILM: 要求割込みレベルと現レベルの比較 , 割込み許可状態の識別
マイクロコード : 割込み処理用ステップ
各機構は , 内蔵リソースではリソースの制御レジスタに , 割込みコントローラでは ICR
に , CPU では CCR の内容などとして現れます。ハードウェア割込みを使用する場合に
は , あらかじめソフトウェアでこの 3ヵ所の設定を行う必要があります。
割込み処理の際に参照する割込みベクタのテーブルはメモリ領域の FFFC00H ∼
FFFFFFH に割り当ててあり , ソフトウェア割込みと共通で使用しています。付録 D の
「表 D-2 割込み要因と割込みベクタ・割込制御レジスタ」に , MB90590 シリーズの割当
てを示します。
54
第 3 章 割込み
3.5.1
ハードウェア割込みの動作
ハードウェア割込み要求の機能を持つ内蔵リソースは , 割込みの要求のありなしを
示す「割込み要求フラグ」と , CPU への自分の割込み要求のするしないを選択する
「割込み許可フラグ」を持っています。割込み要求フラグは内蔵リソース固有のイベ
ントの発生によりセットされ , 割込み許可フラグが「許可」であったときに , リソー
スは割込みコントローラへ割込み要求を発生します。
■ ハードウェア割込みの動作
割込みコントローラは , 同時に受け取った各割込み要求に対する ICR 内の割込みレベ
ル (IL) 同士を比較し , もっとも高いレベルの要求 (IL の値の最も小さいもの ) を採択し
て CPU へ通知します。同一レベルの要求が複数あった場合には , 割込み番号が少ない
ものを優先します。各割込み要求と各 ICR の関係はハードウェアで決まっています。
CPU は受け取った割込みレベル (IL) と PS レジスタ内の ILM とを比較し , 割込みレベ
ル (IL)<(ILM) であり , PS レジスタ内の I ビットが "1" であるときに , 現在実行中の命令
が終了したあとで , 割込み処理用マイクロコードを起動します。割込み処理マイクロ
コードの先頭で割込みコントローラの ICR 中の ISE ビットを参照し , "0" ( 割込み ) で
あることを確認して割込み処理の本体を起動します。
割込み処理の本体では SSB と SSP の示すメモリ中へ PS と PC, PCB, DTB, ADB, DPR, A
の 12 バイトを退避した後 , 割込みベクタを 3 バイトリードし PC と PCB へロード , PS
中の ILM を , 受け付けた割込み要求のレベル値に更新 , S フラグを "1" に設定して分岐
処理を行います。その結果 , 次に実行する命令はユーザの定義した割込み処理プログラ
ムになります。
55
第 3 章 割込み
ハードウェア割込みの発生と解除
3.5.2
図 3.5-1 に , ハードウェア割込みの発生から割込み処理プログラムに割込み要求がな
くなるまでのフローを示します。
■ ハードウェア割込みの発生と解除
図 3.5-1 ハードウェア割込みの発生と解除まで
PS
レジスタファイル
F2MC-16LX バス
マイクロコード
IR
⑥
F2MC-16LX・CPU
I
ILM
チェック
⑤
比較器
④
PS : プロセッサステータス
I
: 割込み許可フラグ
ILM : 割込みレベルマスク
レジスタ
IR : インストラクション
レジスタ
③
周辺
許可 FF
AND
②
要因 FF
⑦
レ
ベ
ル
比
較
器
①
割
込
み
レ
ベ
ル
IL
割込み
コントローラ
①周辺の内部で割込み要因が発生します。
②周辺内の割込み許可ビットを参照し割込み許可になっていれば , 周辺から割込みコ
ントローラへ割込み要求を発生します。
③割込み要求を受けとった割込みコントローラは , 同時に要求のあった割込みの優先
順位を判定した上で該当する割込みに対応する割込みレベルを CPU へ転送します。
④ CPU は割込みコントローラから要求のあった割込みレベルをプロセッサステータス
レジスタ内の ILM ビットと比較します。
⑤比較の結果が現在の割込み処理レベルより優先順位が高い場合のみ , 同じプロセッ
サステータスレジスタ内の I フラグの内容をチェックします。
⑥⑤のチェックの結果 I フラグが割込み許可状態である場合のみ , ILM ビットの内容を
要求されたレベルに設定し , 現在実行中の命令の実行が終了し次第割込み処理を行
い , 制御を割込み処理ルーチンへ移します。
⑦ユーザの割込み処理ルーチン内のソフトウェアで①で発生した割込み要因をクリア
することで割込み要求が終了します。
⑥および⑦で , CPU が行う割込み処理の実行時間の計算式を以下に示します。なお , サ
イクル数の補正値は , 表 3.5-1 を参照してください。
割込み起動 :24+6 ×サイクル数の補正値
割込み復帰 :15+6 ×サイクル数の補正値 (RETI 命令 )
56
第 3 章 割込み
表 3.5-1 割込み処理時のサイクル数の補正値
スタックポインタが示しているアドレス
サイクル数の補正値
内部領域偶数アドレスの場合
0
内部領域奇数アドレスの場合
+2
57
第 3 章 割込み
多重割込み
3.5.3
特殊な場合として , データの入出力領域への書込み中はハードウェア割込み要求を
受け付けません。これは各リソースの割込み制御レジスタ関係の書換えを行ってい
る最中の割込み要求に対して , CPU が割込み関係で誤動作を起こすことを避けるた
めです。
また , 割込み処理の実行中に割込みが発生した場合は , 割込みレベルの強い方の処理
が優先されます。
■ 多重割込み
F2MC-16LX CPU は多重割込みをサポートしています。そのため , 割込み処理の実行中
にその割込みのもつ割込みレベルより強いレベルの割込みが発生すると , 現在実行中
の命令を終了したあとでそちらに制御が移ります。強いレベルでの割込みが終了する
と , もとの割込み処理に戻ります。割込み処理実行中に , その割込みと同等かより弱い
レベルの割込み処理が発生した場合は , ILM の内容や I フラグの命令による変更をしな
いかぎり現在の割込み処理の終了まで , 新しい割込み要求は保留されます。なお , 拡張
インテリジェント I/O サービスは多重に起動されることはなく , 1 つの拡張インテリ
ジェント I/O サービスの処理中は , ほかの割込み要求および拡張インテリジェント I/O
サービス要求はすべて保留されます。
図 3.5-2 に , スタック内に退避されるレジスタの順番を示します。
割込みに退避されるレジスタ
図 3.5-2 スタック内に退避されたレジスタ
ワード (16 ビット )
MSB
LSB
H
SSP( 割込み発生前の SSP の値 )
AH
AL
DPR
ADB
DPB
PCB
PC
PS
L
58
SSP( 割込み発生後の SSP の値 )
第 3 章 割込み
3.6
ソフトウェア割込み
ソフトウェア割込みは , 専用の命令の実行に対応して , CPU がそれまで実行してい
たプログラムの実行から , ユーザの定義した割込み処理用プログラムへ制御を移行
する機能です。ソフトウェア割込みの起動は , ソフトウェア割込み命令の実行で常
に発生します。
■ ソフトウェア割込み
ソフトウェア割込みが発生するときに CPU が行う処理は以下のものがあります。
• CPU 内部の PC, PS, AH, AL, PCB, DTB, ADB, DPR レジスタのシステムスタックへの
退避
• PS: I フラグに "0" を設定。自動的に割込み禁止になる
• 対応する割込みベクタの内容の取り込みとそこへの分岐
ソフトウェア割込みである INT 命令の実行による割込み要求には割込み要求フラグお
よび許可フラグはなく , INT 命令の実行により常に割込み要求が発生します。
INT 命令には割込みレベルはありません。したがって , INT 命令では ILM の更新は行
われず , I フラグに "0" を設定して継続する割込み要求を保留状態にします。
■ ソフトウェア割込みの構造
ソフトウェア割込みに関連する機構は , すべて CPU の内部に存在します。
CPU…………………マイクロコード : 割込み処理用ステップ
■ MB90590 シリーズ割込みベクタ一覧表
「表 D-1 MB90590 シリーズ割込みベクタ一覧表」に , MB90590 シリーズの割込みベク
タ一覧表を示します。
「表 D-1 MB90590 シリーズ割込みベクタ一覧表」に示すように , ソフトウェア割込み
はハードウェア割込みと同じ割込みベクタ領域を共有しています。例えば , 割込み要求
番号の INT12 は , ソフトウェア割込みの INT#12 で使用されると同時にハードウェア割
込みの外部割込みでも使用されます。したがって , 外部割込みと INT#12 は同じ割込み
処理ルーチンを呼び出します。
■ ソフトウェア割込みの動作
CPU がソフトウェア割込み命令を取り込み実行すると , ソフトウェア割込み処理用マ
イクロコードを起動します。ソフトウェア割込み処理マイクロコードでは SSB と SSP
の示すメモリ中へ PS と PC, PCB, DTB, ADB, DPR, A の 12 バイトを退避した後 , 割込み
ベクタを 3 バイトリードし PC と PCB へ格納 , I フラグを "0" に , S フラグを "1" にして
分岐処理を行います。その結果 , 次に実行する命令はユーザの定義した割込み処理プロ
グラムになります。
図 3.6-1 に , ソフトウェア割込みの発生から割込み処理プログラムに割込み要求がなく
なるまでのフローを示します。
59
第 3 章 割込み
図 3.6-1 ソフトウェア割込みの発生と解除まで
①
レジスタ
ファイル
PS
I
F2MC-16LX バス
② マイクロ
コード
S
B ユニット
IR
キュー
フェッチ
F2MC-16LX・CPU
③
退避
命令系バス
RAM
PS : プロセッサステータス
I
: 割込み許可フラグ
ILM : 割込みレベルマスクレジスタ
IR
: インストラクションレジスタ
B ユニット: バスインタフェースユニット
①ソフトウェア割込み命令を実行します。
②ソフトウェア割込み命令に対応したマイクロコードにしたがってレジスタファイル
中の CPU 内専用レジスタの退避を行います。
③ユーザの割込み処理ルーチン内の RETI 命令で割込み処理が終了します。
■ その他
プログラムバンクレジスタ (PCB) が FFH であるとき , CALLV 命令のベクタ領域は INT #vct8
命令のテーブルと重なります。ソフトウェアを作成する際に同一アドレスを使用するよう
な CALLV 命令と INT #vct8 命令を使用しないように注意してください。
「表 D-2 割込み要因と割込みベクタ・割込み制御レジスタ」に , MB90590 シリーズの割
込み要因 , 割込みベクタ , 割込み制御レジスタの関係を示します。
60
第 3 章 割込み
3.7
拡張インテリジェント I/O サービス (EI2OS)
拡張インテリジェント I/O サービス (EI2OS) とはハードウェア割込み動作の一種で ,
I/O とメモリとの間での自動データ転送機能を持っています。従来割込み処理プログ
ラムで行っていた I/O とのデータのやりとりを DMA 的に行えます。
■ 拡張インテリジェント I/O サービス (EI2OS)
従来の割込み処理で行っていた方式と比べると以下に示すような利点があります。
• 転送のためのプログラムを記述する必要がないため , プログラムサイズを小さくす
ることができる
• 転送の際に内部レジスタを使用しないので , レジスタの退避が不要になり転送速度
が速い
• I/O が都合により転送を停止することができ , 不要データの転送がない
• バッファアドレスのインクリメント , 更新なしの選択ができる
• I/O レジスタアドレスのインクリメント , 更新なしの選択ができる ( バッファアドレ
ス更新ありの場合 )
また , EI2OS が終了したときには , 終了条件を設定した後に自動的に割込み処理ルーチ
ンへ分岐しますので , ユーザは終了条件の種類を判別することができます。
EI2OS を実現するために , 2 箇所の部分にハードウェアが分散して存在し , それぞれの
ブロックの中に以下に示すようなレジスタやディスクリプタがあります。
● 割込み制御レジスタ
割込みコントローラ内にあり , IDS のアドレスを示します。
● 拡張インテリジェント I/O サービスディスクリプタ
RAM 上にあり転送モード , I/O のアドレスや転送数 , バッファアドレスを保持します。
< 注意事項 >
REALOS を使用する場合 , 拡張インテリジェント I/O サービス (EI2OS) は使用でき
ません。
図 3.7-1 に , EI2OS の概要を示します。
61
第 3 章 割込み
図 3.7-1 拡張インテリジェント I/O サービスの概要
メモリ空間
by IOA
I/O レジスタ
I/O レジスタ
周辺
CPU
割込み要求
③
by ICS
②
ISD
③
①
割込み制御レジスタ
割込みコントローラ
by BAP
④
バッファ
< 注意事項 >
by
DCT
① I/O が転送を要求します。
② 割込みコントローラが
ディスクリプタを選択します。
③ 転送元 / 先をディスクリプタから
読み出します。
④ I/O とメモリ間で転送が行われます。
• IOA で指定できる領域は , 000000H ∼ 00FFFFH です。
• BAP で指定できる領域は , 000000H ∼ FFFFFFH です。
• DCT で指定できる最大転送数は , 65536 個です。
■ 拡張インテリジェント I/O サービス (EI2OS) の構造
EI2OS に関連する機構は , 以下の 4 つの部分に分かれて存在します。
• 内蔵リソース…………割込み許可ビット , 割込み要求ビット : リソースからの割込
み要求の制御
• 割込みコントローラ…………ICR: 割込みのレベル付け , 同時要求割込みの優先度判
定 , EI2OS 動作の選択
• CPU…………I, ILM: 要求割込みレベルと現レベルの比較 , 割込み許可状態の識別
マイクロコード :EI2OS 処理用ステップ
• RAM…………ディスクリプタ :EI2OS の転送情報を記述する
62
第 3 章 割込み
拡張インテリジェント I/O サービスディスクリプタ
(ISD)
3.7.1
拡張インテリジェント I/O サービスディスクリプタは , 内部 RAM 中の 000100H ∼
00017FH に存在し , 以下に示すものから構成されます。
• データ転送の各種制御データ
• ステータスデータ
• バッファアドレスポインタ
■ 拡張インテリジェント I/O サービスディスクリプタ (ISD)
図 3.7-2 に , 拡張インテリジェント I/O サービスディスクリプタの構成を示します。
図 3.7-2 拡張インテリジェント I/O サービスディスクリプタの構成
H
データカウンタ上位8ビット(DCTH)
データカウンタ下位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.7-3 に , データカウンタの構成を示します。
図 3.7-3 データカウンタの構成
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
B15
B14
B13
B12
B11
B10
B09
B08
B07
B06
B05
B04
B03
B02
B01
B00
DCT
( リセット時不定 )
63
第 3 章 割込み
■ I/O レジスタアドレスポインタ (IOA)
I/O レジスタアドレスポインタ (IOA) は , 16 ビット長のレジスタで , I/O レジスタアド
レスポインタの 16 ビットによりバッファとデータ転送する I/O レジスタの下位アドレ
ス (A15 ∼ A0) を示します。上位アドレス (A23 ∼ A16) はすべて "0" であり , 000000H
から 00FFFFH 番地までの任意の I/O を指定できます。図 3.7-4 に , IOA の構成の図を示
します。
図 3.7-4 I/O レジスタアドレスポインタの構成
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
A15
A14
A13
A12
A11
A10
A09
A08
A07
A06
A05
A04
A03
A02
A01
A00
IOA
( リセット時不定 )
■ バッファアドレスポインタ (BAP)
24 ビットのレジスタで次に EI2OS による転送で使用するアドレスを保持します。BAP
は EI2OS の各チャネルに対してそれぞれ独立に存在しますので , EI2OS の各チャネルは
16M バイトの任意の空間と転送することができます。ISCS の BF ビットが "0" にセッ
トされている場合 ( 更新可能 ) , BAP の下位 16 ビットのみ変化し , BAPH は変化しませ
ん。
64
第 3 章 割込み
EI2OS ステータスレジスタ (ISCS)
3.7.2
EI2OS ステータスレジスタ (ISCS) は , 8 ビット長のレジスタで , バッファアドレス
ポインタ , I/O レジスタアドレスポインタの更新 / 固定 , 転送データ長 ( バイト / ワー
ド ) , 転送方向を示します。
■ EI2OS ステータスレジスタ (ISCS)
図 3.7-5 に , ISCS の構成を示します。
< 注意事項 >
ISCS の bit7 ∼ bit5 には必ず "0" を書き込んでください。
図 3.7-5 ISCS の構成
bit
7
6
5
4
3
2
1
0
予約
予約
予約
IF
BW
BF
DIR
SE
ISCS
( リセット時不定 )
以下に各ビットの説明を示します。
【bit4】IF
I/O レジスタアドレスポインタの更新 / 固定を指定します。
0: データ転送後 I/O レジスタアドレスポインタは更新 ( インクリメント ) される。
1: データ転送後 I/O レジスタアドレスポインタは固定される。
< 注意事項 >
インクリメントのみ許可されます。
【bit3】BW
転送データ長を指定します。
0: バイト
1: ワード
【bit2】BF
バッファアドレスポインタの更新 / 固定を指定します。
0: データ転送後バッファアドレスポインタは更新 ( インクリメント ) される。
1: データ転送後バッファアドレスポインタは固定される。
< 注意事項 >
更新する場合 , バッファアドレスポインタは下位 16 ビットのみ変化します。
【bit1】DIR
データの転送方向を指定します。
0:I/O アドレスポインタ→バッファアドレスポインタ
1: バッファアドレスポインタ→ I/O アドレスポインタ
65
第 3 章 割込み
【bit0】SE
内蔵リソースからの要求での拡張インテリジェント I/O サービスの終了を制御します。
0: 内蔵リソースからの要求により終了しない。
1: 内蔵リソースからの要求により終了する。
66
第 3 章 割込み
3.8
拡張インテリジェント I/O サービス (EI2OS) の動作フ
ローと使用手順
図 3.8-1 に , 拡張インテリジェント I/O サービス (EI2OS) の動作フローの図を , 図
3.8-2 に , 使用手順の図を示します。
■ 拡張インテリジェント I/O サービス (EI2OS) の動作フロー
図 3.8-1 拡張インテリジェント I/O サービス (EI2OS) の動作フロー
内部リソースより
割込み要求発生
ISE = 1
BAP
I/OA
: バッファアドレスポインタ
: I/O アドレスポインタ
ISD
: EI2OS ディスクリプタ
ISCS
DCT
: EI2OS ステータス
: データカウンタ
ISE
: EI2OS イネーブルビット
S1, S0
: EI2OS 終了ステータス
NO
YES
割込みシーケンス
ISD/ISCS リード
リソースからの終了要求
YES
NO
DIR = 1
SE = 1
YES
NO
IOA で示されるデータ
↓ ( データ転送 )
BAP で示されるメモリ
IF = 0
BAP で示されるデータ
↓ ( データ転送 )
IOA で示されるメモリ
YES
NO
BF = 0
更新値は ,
BW による
IOA 更新
更新値は ,
BW による
BAP 更新
YES
NO
DCT デクリメント
DCT = 00
NO
S1, S0 に "00" を
セット
YES
S1, S0 に "01" を
セット
S1, S0 に "11" を
セット
リソース割込み要求
のクリア
ISE を "0" にクリア
CPU 動作復帰
割込みシーケンス
67
第 3 章 割込み
図 3.8-2 拡張インテリジェント I/O サービス (EI2OS) の使用手順フロー
EI2OS による処理
CPU による処理
EI2OS の初期化
正常終了
ジョブ実行
AND(ISE=1)
( 割込み要求 )
データ転送
カウントアウトまたは
リソースからの終了要
求による割込みの発生
拡張インテリジェント
I/O サービスの設定
( チャネルの切換え )
バッファ中のデータの処理
各フローでの拡張 EI2OS の実行時間を以下に示します。
● データ転送継続時 ( 停止条件が成立しない場合 )
( 表 3.8-1+ 表 3.8-2) マシンサイクル
● リソースからの停止要求時
(36+6 ×表 3.5-1) マシンサイクル
● カウント終了時
( 表 3.8-1+ 表 3.8-2+ (21+6 ×表 3.5-1) ) マシンサイクル
表 3.8-1 EI2OS の継続時の実行時間
ISCS・SE ビット
"0" に設定
I/O アドレスポインタ
固定
更新
固定
更新
固定
32
34
33
35
更新
34
36
35
37
バッファアドレスポインタ
68
"1" に設定
第 3 章 割込み
表 3.8-2 EI2OS の実行時間のデータ転送の補正値
内部アクセス
I/O アドレスポインタ
バッファアドレス
ポインタ
内部
アクセス
B/ 偶
奇
B/ 偶
0
+2
奇
+2
+4
B: バイトデータ転送
偶 : 偶数アドレス・ワード転送
奇 : 奇数アドレス・ワード転送
69
第 3 章 割込み
3.9
例外
F2MC-16LX では , 以下の要因により例外が発生し , 例外処理が行われます。
■ 未定義命令の実行
例外処理は , 基本的には割込みと同じものであり , 命令の境目で例外事項が発生したこ
とを検出した段階で , 通常処理から離れて例外処理を行います。一般的に , 例外処理は
予想外の動作を行った結果で発生するものですので , デバッグ時だけの使用や緊急時
の復旧ソフトウェアの起動などのみに使用することをお勧め致します。
■ 未定義命令の実行による例外発生
F2MC-16LX では , 命令マップで定義していないコードはすべて未定義命令として扱い
ます。未定義命令を実行すると , ソフトウェア割込み命令の「INT10」と等価な処理を
行います。すなわち , AL, AH, DPR, DTB, ADB, PCB, PC, PS の内容をシステムスタック
に退避した後に , I フラグを "0" に設定し , S フラグを "1" に設定し , 割込み番号 10 の
ベクタで示されるルーチンへ分岐します。スタックへ退避した PC の値は未定義命令を
格納しているアドレスそのものです。2 バイト以上の命令コードでは , 未定義であるこ
とが識別できたコードを格納しているアドレスになります。このため , RETI 命令で復
帰させることは可能ですが , 再び例外を発生するため , 意味がありません。
70
第4章
遅延割込み
この章では , 遅延割込みの機能と動作について説明
しています。
4.1 遅延割込みモジュールの概要
4.2 遅延割込みのレジスタ
4.3 遅延割込みの動作
71
第 4 章 遅延割込み
4.1
遅延割込みモジュールの概要
遅延割込み発生モジュールは , タスク切換え用の割込みを発生するためのモジュー
ルです。本モジュールを使用することで , ソフトウェアで F2MC-16LX CPU に対し
て割込み要求の発生 / 取消しを行うことができます。
■ 遅延割込みのブロックダイヤグラム
図 4.1-1 に , 遅延割込み発生モジュールのブロックダイヤグラムを示します。
図 4.1-1 遅延割込みのブロックダイヤグラム
F2MC-16LX バス
遅延割込み要因発生 / 解除デコーダ
要因ラッチ
■ 遅延割込み要求ロックの使用上の注意
このロックは DIRR の該当するビットに "1" を書き込むことでセットされ , 同じビット
に "0" を書き込むことでクリアされます。したがって , 割込み処理ルーチン内で要因を
クリアするようにソフトウェアを作成しておかないと割込み処理から復帰した途端に
再割込み処理を起動することになりますので注意してください。
72
第 4 章 遅延割込み
4.2
遅延割込みのレジスタ
DIRR は遅延割込み要求の発生 / 解除を制御するレジスタで , このレジスタに対して
"1" を書込み時には遅延割込みの要求を発生させ , "0" を書込み時には遅延割込みの
要求を解除します。リセット時には要因解除状態になります。
■ 遅延割込み要因発生 / 解除レジスタ (DIRR:Delayed interrupt request register)
遅延割込み要因発生 / 解除レジスタ (DIRR) では , 予約ビット領域は 0, 1 どちらの書き
込みも結構ですが , 将来の拡張を考慮してこのレジスタをアクセスする際にはセット
ビット , クリアビット命令を使用することをお勧めします。
図 4.2-1 遅延割込み要因発生 / 解除レジスタ (DIRR)
bit
15
14
13
12
11
10
9
アドレス:00009FH
−
−
−
−
−
−
−
8
R0
(−)
(−)
(−)
(−)
(−)
(−)
(−)
(−)
(−)
(−)
(−)
(−)
(−)
(−)
(R/W)
(0)
リード / ライト→
初期値→
DIRR
リセット時には要因解除状態になります。
73
第 4 章 遅延割込み
4.3
遅延割込みの動作
ソフトウェアにて CPU が DIRR の該当ビットに "1" を書き込むと , 遅延割込み発生
モジュールの中にある要求ラッチがセットされ , 割込みコントローラに割込み要求
を発生します。
■ 遅延割込み発生
ほかの割込み要求が本割込みより優先順位が低い , またはほかの割込み要求がない場
合に , 割込みコントローラは F2MC-16LX CPU に対して割込み要求を発生します。図
4.3-1 に示すように , F2MC-16LX CPU は自分の内部にある CCR レジスタ中の ILM ビッ
トと割込み要求を比較し , 要求レベルが ILM ビットより高かったときに現在実行中の
命令が終了し次第 , ハードウェア割込み処理マイクロプログラムを起動します。この結
果 , 本割込みに対する割込み処理ルーチンが実行されます。
図 4.3-1 遅延割込み発生
遅延割込み発生モジュール
F2MC-16LX CPU
割込みコントローラ
WRITE
ほかの要求
ICRyy
IL
CMP
CMP
DIRR
ICRxx
ILM
INTA
74
第5章
クロックとリセット
この章では , クロックとリセットの機能と動作につ
いて説明しています。
5.1 クロック発生部
5.2 リセット要因の発生
5.3 リセット要因
75
第 5 章 クロックとリセット
5.1
クロック発生部
クロック発生部により , スリープ , 時計 , ストップおよび PLL クロック逓倍機能な
ど内部クロックの動作制御を行います。この内部クロックのことをマシンクロック
とよび , その 1 周期をマシンサイクルとしています。また , 原発振によるクロックを
メインクロックとよび , 内部の VCO 発振によるクロックを PLL クロックとしてい
ます。
■ クロック発生部の注意
動作電圧が 5V のとき , OSC 原発振は 3MHz ∼ 5MHz の発振が可能です。外部クロッ
クの供給の場合は 3MHz ∼ 16MHz の発振が可能です。しかし , CPU および周辺リソー
ス回路の最大動作周波数が 16MHz なので , 16MHz を超える逓倍係数を指定した場合に
は , 正常な動作は保証されません。例えば , 外部クロックが 16MHz で発振している場
合 , 逓倍係数として "1" しか指定できません。
また , VCO 発振の最低動作周波数は 4MHz であり , この周波数以下の発振も指定する
こともできません。
図 5.1-1 に , クロック発生回路ブロックダイヤグラムを示します。
図 5.1-1 クロック発生回路ブロックダイヤグラム
S Q
リセット
S Q
割込み HST
ストップ
モード遷移
R
マシンクロック
時計モード
スリープ
R
モード遷移
マシンクロック選択
S Q
1
R
2
3
4
PLL 逓倍
発振安定時
時間選択
タイムベースタイマ
1/2
X0
1/2048
1/4
1/4
1/8
XL
ウォッチドッグ
インターバル選択
監視タイマ
ウォッチドッグリセット
76
第 5 章 クロックとリセット
5.2
リセット要因の発生
リセット要因が発生すると , F2MC-16LX は直ちに現在実行中の処理を中断し , リ
セット解除待ち状態になります。
■ リセット要因の発生
リセットは以下の要因で発生します。
• パワーオンリセットの発生
• ハードウェアスタンバイ状態の解除
• ウォッチドッグタイマのオーバフロー
• RST 端子による外部リセット要求の発生
• ソフトウェアによるリセット要求の発生
■ リセット解除後の動作
リセット要因が取り除かれると , F2MC-16LX は直ちにリセットベクタを格納してある
アドレスを出力し , リセットベクタとモードデータの取り込みを行います。リセットベ
クタとモードデータは FFFFDCH ∼ FFFFDFH の 4 バイトに割り当てられています。リ
セットベクタとモードデータは , 図 5.2-1 で示すように , リセット解除後にレジスタに
ハードウェアで転送されます。
リセットベクタとモードデータを読み出した後のバスモードは , モードデータにより
指定します。
図 5.2-1 リセットベクタとモードデータの格納場所と格納先
F2MC-16LX CPU
モード
メモリ空間
レジスタ
FFFFDFH
モードデータ
FFFFDEH
リセットベクタ・ビット 23 ∼ 16
FFFFDDH
リセットベクタ・ビット 15 ∼ 8
FFFFDCH
リセットベクタ・ビット 7 ∼ 0
マイクロ ROM
リセットシーケンス
PCB
PC
< 注意事項 >
MB90F594A, MB90F594G, MB90F591A および MB90F591G については , ハードワ
イヤードロジックによりリセットベクタとモードデータにあらかじめ決められた値
が設定されています。詳細については , 「24.9 フラッシュメモリにおけるリセッ
トベクタアドレス」を参照してください。
77
第 5 章 クロックとリセット
■ リセット入力によって初期化されないレジスタ
本製品には , パワーオンリセットでしか初期化されないレジスタがあります。
表 5.2-1 に各リセット要因によって初期化されないレジスタを示します。
表 5.2-1 リセット入力によって初期化されないレジスタ
CKSCR
LPMCR
リセットの種類
WS1
WS0
MCS
CS1
CS0
CG1
CG0
RST のみ 使 用 ソフ ト ウェ ア リ
セット
×
×
×
×
×
×
×
ウォッチドッグリセット
×
×
○
×
×
○
○
パワーオンリセット
○
○
○
○
○
○
○
ハードウェアスタンバイ
×
×
○
×
×
○
○
•
•
•
•
WS1, WS0: メインクロック発振安定待ち時間設定
MCS: マシンクロック設定 ("0"=PLL クロック , "1"= メインクロック )
CS1, CS0:PLL クロック逓倍設定
CG1, CG0:CPU 間欠動作の設定○ : 初期化する× : 初期化しない ( 前の状態を保持 )
MCS ビットについては , マシンクロック設定ビットですので , 特に注意が必要です。例
えば , 電源投入がパワーオンリセット規格を満足しないときは , パワーオンリセットが
発生しません。そのため , MCS が初期化されないことにより , 内部動作周波数が動作
保証範囲外になり , 正常動作しなくなることが考えられます。
また , 何らかの原因により CPU が暴走し , MCS, CS1, CS0 が書換わった際にも内部動作
周波数が動作保証範囲外になり , その状態から RST 入力のみでは正常復帰しなくなる
ことが考えられます ( ただし , 内部ウォッチドッグが発生した場合には , MCS が初期化
され正常動作します ) 。
上記のようなケースが考えられる場合には , HST+RST (HST と RST をショート ) とし
て使用することを推奨します。
表 5.2-2 に , HST+RST を行った場合のリセット入力による初期化されないレジスタに
ついて示します。
また , 図 5.2-2 に示すように , リセット解除時の動作状態が , HST+RST
のリセット入力と , RST のみの入力とで異なるので , 注意が必要です。
表 5.2-2 リセット入力によって初期化されないレジスタ
CKSCR
LPMCR
リセットの種類
RST+HST
WS1
WS0
MCS
CS1
CS0
CG1
CG0
×
×
○
×
×
○
○
○ : 初期化する
× : 初期化しない ( 前の状態を保持 )
78
第 5 章 クロックとリセット
図 5.2-2 リセット入力による動作遷移
[ リセット入力による動作遷移 ]
リセット入力 (RST, HST+RST)
A. 発振状態
状態
RST のみ使用
発振
(HST="H")
HST+RST を使用
発振
停止
メイン発振
安定待ち
メインラン実行可能
B. 命令実行タイミング ("L" 停止 , "H" 開始 )
• RST のみを使用 (HST="H")
リセット入力前に設定
した発振安定時間
• HST+RST を使用
• パワーオンリセット時
VCC( 電源 )
状態
パワーオン
リセット
発振
停止
メイン発振
安定待ち
メインラン実行可能
メイン発振の 218 カウント
発振安定時間
79
第 5 章 クロックとリセット
5.3
リセット要因
表 5.3-1 に , 5 種類のリセット要因を示します。リセット要因によりマシンクロック
とウォッチドッグ機能の初期化状態が異なります。
リセット要因レジスタはリセット要因を表示します。
■ リセット要因
表 5.3-1 リセット要因
リセット
発生要因
マシンクロック
ウォッチドッグ
タイマ
発振安定待ち
パワーオン
電源立上げ時
メインクロック
停止
あり
ハードウェア
スタンバイ
HST端子への"L"レベル入
力
メインクロック
停止
あり
ウォッチドッ
グタイマ
ウォッチドッグタイマ
オーバフロー
メインクロック
停止
あり
外部端子
RST端子への "L"レベル入
力
前の状態を保持
前の状態を保持
なし
ソフトウェア
LPMCR 中の RST ビットに
"0" 書込み
前の状態を保持
前の状態を保持
なし
( 注意事項 )
• ストップ , ハードウェアスタンバイモード時のリセット入力は , リセット要因に関係なく発振安
定待ち時間を取ります。
• パワーオンリセットの発振安定待ち時間は , 原発振 218 サイクル固定です。それ以外の発振安定
待ち時間は , クロック選択レジスタの CS1/CS0 により決定されます。
図 5.3-1 に示すように , それぞれのリセット要因には対応したフリップフロップがあり
ます。それぞれのリセット要因には対応したフリップフロップがあります。これらの
内容はウォッチドッグタイマ制御レジスタを読み出すことで得ることができますので,
リセット解除後にリセット発生要因を識別する必要がある場合には , ウォッチドッグ
タイマ制御レジスタを読み出した値をソフトウェアで処理した上で , 適切なプログラ
ムへ分岐するようにしてください。図 5.3-2 に , ウォッチドッグタイマ制御レジスタの
構成を示します。
80
第 5 章 クロックとリセット
図 5.3-1 リセット要因ビットブロックダイヤグラム
HST 端子
ハードウェア
スタンバイ
解除検出回路
パワーオン発生
検出回路
F/F
Q
R
S
F/F
R
外部リセット要求
検出回路
S
F/F
Q
定期的なクリアなし
RST=L
HST=L→H
電源投入
S
RST 端子
R
S
F/F
Q
RST ビットセット
ウォッチドッグタイマ
リセット発生検出回路
R
S
F/F
Q
LPMCR, RST ビット
書込み検出回路
WTC レジスタ
R
遅延
回路
Q
WTC
レジスタ読出し
F2MC-16LX 内部バス
図 5.3-2 ウォッチドッグタイマ制御レジスタ
bit
7
6
5
4
アドレス : 0000A8H
PONR STBR WRST ERST
(R)
(R)
(R)
(R)
リード / ライト→
(X)
(X)
(X)
(X)
初期値→
3
2
1
0
SRST
(R)
(X)
WTE
(W)
(1)
WT1
(W)
(1)
WT0
(W)
(1)
WDTC
リセット要因が複数発生する場合でも , ウォッチドッグタイマ制御レジスタの対応す
るそれぞれのリセット要因ビットを立てるようになっています。したがって , 外部リ
セット要求とウォッチドッグリセットが同時に発生した場合でもERSTビットとWRST
ビットの両方が "1" になります。
ただし , パワーオンリセットの場合だけは別で , PONR ビットが "1" であるときはそれ
以外のビットの内容は正常なリセット要因を示しておりません。このため , PONR ビッ
トが "1" の場合はそれ以外のリセット要因ビットの内容は無視するようにソフトウェ
アを作成してください。
表 5.3-2 リセット要因ビット
PONR
STBR
WRST
ERST
SRST
パワーオン
1
-
-
-
-
ハードウェアスタンバイ
*
1
*
*
*
ウォッチドッグタイマ
*
*
1
*
*
外部端子
*
*
*
1
*
RST ビット
*
*
*
*
1
リセット要因
*: 前の値を保持
81
第 5 章 クロックとリセット
82
第6章
低消費電力制御回路
この章では , 低消費電力制御回路の機能と動作につ
いて説明します。
6.1 低消費電力制御回路の概要
6.2 低消費電力制御回路のレジスタ
6.3 低消費電力モードの動作
6.4 CPU 間欠動作
6.5 マシンクロック切換え
6.6 クロック選択の状態遷移
83
第 6 章 低消費電力制御回路
6.1
低消費電力制御回路の概要
MB90590 シリーズは , 電力消費の削減を支援する各種動作モードをサポートしてい
ます。
動作モードとして , PLL クロックモード・PLL スリープモード・時計モード・メイ
ンクロックモード・メインスリープモード・メインストップモード・ハードウェア
スタンバイモードがあり , PLL クロックモード以外の動作モードが低消費電力モー
ドに分類しています。
■ 低消費電力制御回路の概要
メインクロックモードまたはメインスリープモードでは , メインクロック (OSC 発振ク
ロック ) が使用されます。これらのモードでは , メインクロックを 2 分周したクロック
を動作クロックとして発生させ , PLL クロック (VCO 発振クロック ) を停止させます。
PLL スリープモードまたはメインスリープモードでは , CPU の動作クロックだけが停
止します。その他のクロックはすべて動作します。
時計モードでは , タイムベースタイマだけが動作します。ストップモードまたはハード
ウェアスタンバイモードでは , 発振が停止し , 最も低い消費電力でデータを保持できま
す。
CPU 間欠動作機能は , レジスタ , 内蔵メモリまたは内蔵リソースのアクセスを行うとき
に , CPU に供給するクロックを間欠動作させる機能であり , 内蔵リソースに高速クロッ
クを供給したまま CPU の実行速度を下げることにより , 低消費電力で処理が行えます。
WS1, WS0 ビットを使用して , ストップモードまたはハードウェアスタンバイモードの
解除時のメインクロックの発振安定待ち時間を設定することができます。
< 注意事項 >
84
クロックモードを切り換えた場合 , 切換えが完了するまでに , ほかのクロックモー
ドおよび低消費電力モードへの切換えを行わないようにしてください。切換えの完
了はクロック選択レジスタ (CKSCR) の MCM ビットを参照してください。切換え
が完了する前に , 他のクロックモードおよび低消費電力モードへの切換えを行った
場合 , 切り換わらない場合があります。
第 6 章 低消費電力制御回路
■ 低消費電力回路のブロックダイヤグラム
図 6.1-1 低消費電力制御回路とクロック生成部
CKSCR
MCS
メインクロック
(OSC 発振 )
PLL 逓倍回路
MCM
1
2
3
4
1/2
CPU クロック発生
CKSCR
CS1
CPU クロックセレクタ
CPU クロック
0/9/17/33
間欠サイクル選択
CS0
LPMCR
CG1
CG0
CPU 間欠動作機能
サイクル数選択回路
LPMCR
F2MC-16LX バス
SLP
周辺系クロック発生
周辺クロック
スタンバイ制御回路
STP
RST
解除 HST 起動
HST 端子
割込み要求
または RST
CKSCR
WS1
WS0
発振安定
待ち時間
セレクタ
210
213
215
217*
クロック入力
タイムベースタイマ
タイムベース
クロック
212 214 216 219
LPMCR
SPL
LPMCR
RST
端子ハイインピーダンス制御回路
端子 HI-Z
RST 端子
内部リセット発生回路
内部 RST
ウォッチドッグ
タイマへ
WDGRST
*: 電源投入時は , 218 となります。
85
第 6 章 低消費電力制御回路
6.2
低消費電力制御回路のレジスタ
低消費電力制御回路には , 次の 2 つのレジスタがあります。
• 低消費電力モード制御レジスタ (LPMCR)
• クロック選択レジスタ (CKSCR)
■ 低消費電力制御回路のレジスタ
図 6.2-1 低消費電力制御回路のレジスタ
低消費電力モード制御レジスタ
bit
アドレス:0000A0H
リード / ライト→
初期値→
7
6
5
4
STP
SLP
SPL
RST
3
2
1
0
CG0
(W)
(1)
予約
(−)
(1)
CG1
(R/W)
(0)
(R/W)
(0)
予約
(−)
(0)
(W)
(0)
(W)
(0)
(R/W)
(0)
15
14
13
12
11
10
9
8
予約
(−)
(1)
MCM
(R)
(1)
WS1
(R/W)
(1)
WS0
(R/W)
(1)
予約
(−)
(1)
MCS
(R/W)
(1)
CS1
(R/W)
(0)
CS0
(R/W)
(0)
LPMCR
クロック選択レジスタ
bit
アドレス:0000A1H
リード / ライト→
初期値→
86
CKSCR
第 6 章 低消費電力制御回路
6.2.1
低消費電力モード制御レジスタ (LPMCR)
低消費電力モード制御レジスタはクロック選択レジスタと共に消費電力の削減に関
する各種動作モードの設定を行います。
■ 低消費電力モード制御レジスタ (LPMCR)
図 6.2-2 低消費電力モード制御レジスタ (LPMCR)
bit
アドレス:0000A0H
リード / ライト→
初期値→
7
STP
6
SLP
5
SPL
4
RST
予約
3
2
CG1
1
CG0
予約
0
(W)
(0)
(W)
(0)
(R/W)
(0)
(W)
(1)
(−)
(1)
(R/W)
(0)
(R/W)
(0)
(−)
(0)
LPMCR
【bit7】STP
"1" を 書 き 込 む こ と に よ り 時 計 モ ー ド (CKSCR.MCS=0) ま た は ス ト ッ プ モ ー ド
(CKSCR.MCS=1) に遷移します。"0" の書込みでは何の操作もしません。リセット , 時
計解除またはストップ解除で "0" にクリアされます。書込みのみ可能なビットです。読
出し値は , 常に "0" です。
【bit6】SLP
"1" を書き込むことによりスリープモードに遷移します。"0" の書込みでは何の操作も
しません。リセット , またはスリープ解除 , またはストップ解除で "0" にクリアされま
す。
STP ビットと SLP ビットに同時に "1" を書き込んだ場合 , 時計モードまたはストップ
モードに遷移します。書込みのみ可能なビットです。読出し値は , 常に "0" です。
【bit5】SPL
"0" のとき , 時計モードおよびストップモード時の外部端子のレベルを保持します。"1"
のとき , 時計モードおよびストップモード時の外部端子をハイインピーダンスにしま
す。リセットで "0" にクリアされます。読み書き可能なビットです。
SPL を "0" にセットし , マイクロコントローラがストップモードまたは時計モードに
なっている場合 (STP=1), すべての入力は安定したデジタル値が供給されなければなら
ないことに注意してください。そうでなければ , 入力バッファで電流が消費されます
(A/D アナログ入力は例外 ) 。
マイクロコントローラがストップモードまたは時計モードになっているときには , す
べての入力バッファを停止させるために SPL ビットを "1" にセットすることを推奨し
ます。
【bit4】RST
"0" を書き込むことにより 3 マシンサイクルの内部リセット信号を発生します。"1" の
書込みでは何の操作もしません。リード時は "1" が , 読み出されます。
【bit3】予約
必ず "1" を設定してください。
87
第 6 章 低消費電力制御回路
【bit2, bit1】CG1, CG0
CPU 間欠動作機能のクロック一時停止サイクル数を設定します。
パワーオン , ハードウェアスタンバイ , ウォッチドッグによるリセットにより "00" に
初期化されます。その他のリセット要因によるリセットでは初期化されません。読み
書き可能なビットです。
CPU 間欠動作機能は , レジスタ , 内蔵メモリまたは内蔵リソースのアクセスを行うとき
に, CPUへのクロック供給を一時停止し, 内部バスサイクルの起動を遅延させる機能で,
内蔵リソースに高速クロックを供給したまま CPU の実行速度を下げることにより , 低
消費電力で処理が行えます。
表 6.2-1 CG ビット設定
CG1
CG0
0
0
0 サイクル (CPU クロック = リソースクロック )
0
1
9 サイクル (CPU クロック = リソースクロック =1: 約 3 ∼ 4)
1
0
17サイクル (CPUクロック=リソースクロック=1:約5∼6)
1
1
33サイクル (CPUクロック=リソースクロック=1:約9∼10)
CPU クロック一時停止サイクル数
【bit0】予約
必ず "0" を設定してください。
< 注意事項 >
88
ストップモード , 時計モード時に周辺機能とポートを兼用している端子をハイイン
ピーダンスに設定する場合は , 周辺機能の出力を禁止に設定した後 , STP ビットを
"1" に設定してください。
対象となる端子を以下に示します
対象端子 :
P06/OUT0, P07/OUT1, P10/OUT2, P11/OUT3, P12/OUT4, P13/OUT5,
P15/TX1, P16/SG0, P17/SGA, P34/SOT0, P35/SCK0
第 6 章 低消費電力制御回路
クロック選択レジスタ (CKSCR)
6.2.2
クロック選択レジスタは , CPU のマシンクロックの設定・制御を行い , 電源立上げ
時や発振復帰時の発振安定待ち時間の設定を行います。
■ クロック選択レジスタ (CKSCR)
図 6.2-3 クロック選択レジスタ (CKSCR)
bit
アドレス:0000A1H
リード / ライト→
初期値→
15
14
13
12
11
10
9
8
予約
(−)
(1)
MCM
(R)
(1)
WS1
(R/W)
(1)
WS0
(R/W)
(1)
予約
(−)
(1)
MCS
(R/W)
(1)
CS1
(R/W)
(0)
CS0
(R/W)
(0)
CKSCR
【bit14】MCM
マシンクロックとして , メインクロックまたは PLL クロックのどちらが選択されてい
るかを表示するビットです。"0" のとき , PLL クロックが選択されていることが示され ,
"1" のとき , メインクロックが選択されていることが示されます。MCS=0 で , かつ
MCM=1 ならば , PLL クロック発振安定待ち期間中であることになります。なお , PLL
クロックの発振安定待ち期間は , 213 メインクロックサイクル固定です。
書込みは , 動作に影響しません。
【bit13, bit12】WS1, WS0
ストップモード , ハードウェアスタンバイモード解除時のメインクロックの発振安定
待ち時間を設定します。
パワーオンリセットにより "11" に初期化され , その他のリセット要因によるリセット
では初期化されません。読み書き可能なビットです。
表 6.2-2 WS ビット設定
< 注意事項 >
WS1
WS0
0
0
約 256µs ( 原振 210 カウント )
0
1
約 2.05ms ( 原振 213 カウント )
1
0
約 8.19ms ( 原振 215 カウント )
1
1
約 32.77ms ( 原振 217 * カウント )
発振安定待ち時間 ( 原発振 4MHz 時 )
パワーオンリセット時は , 約 65.54ms ( 原振 218 カウント ) となります。
【bit11】予約
必ず "1" を設定してください。
89
第 6 章 低消費電力制御回路
【bit10】MCS
マシンクロックとして , メインクロックまたは PLL クロックのどちらを選択するかを
指示するビットです。"0" を書き込むことにより , PLL クロックを選択します。"1" を
書き込むことにより , メインクロックを選択します。"1" のときに , "0" を書き込むと ,
PLL クロックの発振安定待ち期間を発生するために , 自動的にタイムベースタイマが
クリアされます。なお , PLL クロックの発振安定待ち期間は , 213 メインクロックサイ
クル固定です。( 原発振 4MHz 時 , 発振安定待ち時間は約 2ms になります ) 。
また , メインクロック選択時の動作クロックは , メインクロックを 2 分周したクロック
となります ( 原発振 4MHz 時 , 動作クロックは 2MHz になります ) 。
パワーオン , ハードウェアスタンバイ , ウォッチドッグによるリセットにより "1" に初
期化されます。しかし , RST 端子からの外部リセットまたはソフトウェアリセット
(LPMCR レジスタ中の RST ビット ) により初期化されることはありません。
< 注意事項 >
MCS ビットを "1" から "0" に更新するとき , タイムベースタイマ割込みを TBIE
ビットまたは CPU の ILM ビットで必ずマスクしてください。
【bit9, bit8】CS1, CS0
PLL クロックの逓倍率を選択するビットです。
本ビットはパワーオンリセットにより "00" に初期化されます。その他のリセットでは
初期化されません。
MCS ビットが "0" のときには書込みが抑止されます。一度 , MCS ビットを "1" にした
( メインクロックモード ) 後に , CS ビットを書き換えてください。読み書き可能なビッ
トです。
表 6.2-3 CS ビット設定
< 注意事項 >
90
CS1
CS0
0
0
4MHz ( 動作周波数 =OSC 発振周波数 )
0
1
8MHz ( 動作周波数 =OSC 発振周波数× 2)
1
0
12MHz ( 動作周波数 =OSC 発振周波数× 3)
1
1
16MHz ( 動作周波数 =OSC 発振周波数× 4)
マシンクロック ( 原発振 4MHz 時 )
動作電圧が 5V のとき , OSC 原発振は 3MHz ∼ 5MHz の発振が可能です。外部ク
ロックの供給の場合は , 3MHz ∼ 16MHz の発振が可能です。しかし , CPU および
周辺リソース回路の最大動作周波数が 16MHz なので , 16MHz を超える逓倍係数を
指定した場合には , 正常な動作は保証されません。例えば , 外部クロックが 16MHz
で発振している場合 , 逓倍係数として "1" しか指定できません。
また , VCO 発振の最低動作周波数は 4MHz であり , この周波数以下の発振も指定で
きません。
第 6 章 低消費電力制御回路
6.3
低消費電力モードの動作
表 6.3-1 に , 各動作モードにおけるチップの状態を示します。
■ 低消費電力モードの動作
表 6.3-1 低消費電力モード動作状態
発振
&T.B.T
PLL
CPU
MCS=1
SLP=1
動作
停止
停止
MCS=0
SLP=1
動作
動作
MCS=0
STP=1
動作
MCS=0
STP=1
遷移条件
時計
周辺
端子
動作
動作
動作
停止
動作
動作
動作
停止
停止
動作
停止
保持 *
動作
停止
停止
動作
停止
HI-Z
MCS=1
STP=1
停止
停止
停止
停止
停止
保持 *
(SPL=1)
MCS=1
STP=1
停止
停止
停止
停止
停止
HI-Z
ハードウェア
HST=L
停止
停止
停止
停止
停止
HI-Z
メイン
スリープ
PLL
スリープ
時計
(SPL=0)
時計
(SPL=1)
ストップ
(SPL=0)
ストップ
スタンバイ
タイマ
解除方法
外部リセット
割込み
外部リセット
割込み
外部リセット
外部割込み
外部リセット
外部割込み
外部リセット
外部割込み
外部リセット
外部割込み
HST=H
*: ストップモードまたは時計モードで SPL を "0" にセットしている場合 , すべての入力は安定したデジタル値
を入力しなければなりません。そうでなければ , 入力バッファで電流が消費されます (A/D アナログ入力は例
外)。
< 注意事項 >
ストップモード , 時計モード時に周辺機能とポートを兼用している端子をハイイン
ピーダンスに設定する場合は , 周辺機能の出力を禁止に設定した後 , STP ビットを
"1" に設定してください。
対象となる端子を以下に示します
対象端子 :
P06/OUT0, P07/OUT1, P10/OUT2, P11/OUT3, P12/OUT4, P13/OUT5, P15/TX1,
P16/SG0, P17/SGA, P34/SOT0, P35/SCK0
91
第 6 章 低消費電力制御回路
■ 低消費電力モード制御レジスタアクセスの注意
低消費電力モード制御レジスタにデータを書き込むと, 低消費電力モード (ストップま
たはスリープモード ) が起動します。この場合 , 表 6.3-2 に示す命令を使用してくださ
い。低消費電力モードを起動するのにその他の命令を使用した場合 , 誤動作が起こる可
能性があります。低消費電力モード制御レジスタの低消費電力モードへの遷移を除く
機能の制御については , 任意の命令を使用できます。
ワード長で低消費電力モード制御レジスタにデータを書き込むには , 必ずデータを偶
数番地のアドレスに書き込むようにします。奇数番地にデータを書き込んで低消費電
力モードを起動した場合 , 誤動作が起こる可能性があります。
表 6.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+dip8,A
MOVW RLi+dip8,A
■ 低消費電力モードへ移行する場合の注意
ストップモード , 時計モード時に周辺機能とポートを兼用している端子をハイイン
ピーダンスに設定する場合は , 以下の手順に従ってください。
1. 周辺機能の出力を禁止します。
2. 低消費電力モード制御レジスタ (LPMCR) の SPL ビットに "1", STP ビットに "1" を
設定します。
92
第 6 章 低消費電力制御回路
6.3.1
スリープモード
スリープモードとは , CPU に供給するクロックのみを停止するモードで , CPU は停
止し , 周辺回路は動作を続けます。
■ スリープモードへの遷移
低消費電力モード制御レジスタ中の SLP ビットに "1", STP ビットに "0" を書き込むこ
とによりスタンバイ制御回路をスリープモードに設定します。
SLP ビットに "1" を書き込んだときに割込み要求が発生していると , スタンバイ制御回
路はスリープモードへ遷移しません。そのため , CPU は割込みを受け付けない状態で
は次の命令の実行 , 受け付ける状態であれば即座に割込み処理ルーチンの分岐を行い
ます。
スリープモードでは , アキュムレータなどの専用レジスタと内部 RAM の内容を保持し
ます。
■ スリープモードの解除
スタンバイ制御回路は , リセット入力または割込みの発生によりスリープモードを解
除します。リセット要因によりスリープモードを解除した場合は , スリープモードを解
除した上でリセット状態になります。
スリープモード中に周辺回路および内蔵リソースから割込みレベルが 7 より強い割込
み要求が発生すると , スタンバイ制御回路はスリープモードを解除します。スリープ
モードの解除後は , 通常の割込み処理と同じ扱いとなり , I フラグ , ILM と割込み制御
レジスタ (ICR) の設定により割込みが受け付けられるときは , CPU はスタンバイ書込
み命令の次の割込み保留でない命令を実行後に , 割込み処理を実行し , 割込みが受け付
けられないときはスリープモードに入れた命令の次の命令から処理を続行します。
< 注意事項 >
通常 , 割込み処理はスリープモードへの遷移中に実行された命令の次の命令を実行
後に開始されます。
93
第 6 章 低消費電力制御回路
6.3.2
時計モード
時計モードとは , 原発振 , タイムベースタイマ , 時計タイマ以外の動作を止めるモー
ドであり , チップのほぼ全機能が停止します。
■ 時計モードへの遷移
スタンバイ制御回路は , クロック選択レジスタの MCS ビットが "0" で , 低消費電力モー
ド制御レジスタの STP ビットに "1" が書き込まれたときに , 時計モードにセットされ
ます。
時計モード中の I/O 端子を , 直前の状態に保持するか , ハイインピーダンス状態にする
かを , 低消費電力モード制御レジスタ中の SPL ビットにより制御できます。STP ビッ
トに "1" を書き込んだときに割込み要求が発生している場合は , スタンバイ制御回は時
計モードに遷移しません。
時計モードでは , アキュムレータなどの専用レジスタと内部 RAM の内容を保持しま
す。
< 注意事項 >
時計モード時に周辺機能とポートを兼用している端子をハイインピーダンスに設定
する場合は , 周辺機能の出力を禁止に設定した後 , STP ビットを "1" に設定してく
ださい。
対象となる端子を以下に示します
対象端子 :
P06/OUT0, P07/OUT1, P10/OUT2, P11/OUT3, P12/OUT4, P13/OUT5,
P15/TX1, P16/SG0, P17/SGA, P34/SOT0, P35/SCK0
■ 時計モードの解除
スタンバイ制御回路は , リセット入力または割込みの発生により時計モードを解除し
ます。リセット要因により時計モードを解除した場合は , 時計モードを解除した上で ,
リセット状態になります。
時計モードからの復帰の場合 , まずスタンバイ制御回路が時計モードを解除し , PLL ク
ロック発振安定待ち状態に遷移します。MCS ビットは外部リセットによりクリアされ
ないので , リセット時間が PLL クロック発振安定待ち時間より短い場合 , リセットシー
ケンスはメインクロックを使用して行われます。PLL クロック発振安定待ち時間は , タ
イムベースタイマがクリアされていないので , その状態に応じて 213 ∼ 3 × 213 になり
ます。
時計モード中に周辺回路などから割込みレベルが 7 より強い割込み要求が発生すると ,
スタンバイ制御回路は時計モードを解除します。時計モードの解除後は , 通常の割込み
処理と同じ扱いとなり , I フラグ , ILM と割込み制御レジスタ (ICR) の設定により割込
みが受け付けられるときは , CPU はスタンバイ書込み命令の次の割込み保留でない命
令を実行後に , 割込み処理を実行し , 割込みが受け付けられないときは時計モードに入
る前の次の命令から処理を続行します。
94
第 6 章 低消費電力制御回路
< 注意事項 >
• 通常 , 割込み処理は時計モードへの遷移中に実行された命令の次の命令を実行
後に開始されます。
• スタンバイ制御回路は , 時計モードが解除されると PLL クロック発振安定待ち
状態に遷移します。PLL クロックを使用していない場合 , リセットまたは割込
みの直後の命令により MCS ビットに "1" を書き込んでください。
95
第 6 章 低消費電力制御回路
6.3.3
ストップモード
ストップモードとは , 原発振を止めるモードであり , チップの全機能が停止します。
したがって , もっとも低消費電力でデータを保持することができます。
■ ストップモードへの遷移
クロック選択レジスタの MCS ビットが "1" で , 低消費電力モード制御レジスタ中の STP
ビットに "1" を書き込むことによりスタンバイ制御回路をストップモードに設定しま
す。
ストップモード中の I/O 端子を , 直前の状態に保持するか , ハイインピーダンス状態に
するかを , LPMCR 中の SPL ビットにより制御できます。SPL ビットが "0" にセットさ
れている場合 , すべての入力は安定したデジタル値で提供しなければなりません。そう
でなければ , 入力バッファで電流が消費されます (A/D アナログ入力は例外 ) 。
STP ビットに "1" を書き込んだときに割込み要求が発生している場合は , スタンバイ制
御回路はストップモードに遷移しません。
ストップモードでは , アキュムレータなどの専用レジスタと内部 RAM の内容を保持し
ます。
< 注意事項 >
ストップモード時に周辺機能とポートを兼用している端子をハイインピーダンスに
設定する場合は , 周辺機能の出力を禁止に設定した後 , STP ビットを "1" に設定し
てください。
対象となる端子を以下に示します
対象端子 :
P06/OUT0, P07/OUT1, P10/OUT2, P11/OUT3, P12/OUT4, P13/OUT5,
P15/TX1, P16/SG0, P17/SGA, P34/SOT0, P35/SCK0
■ ストップモードの解除
スタンバイ制御回路は , リセット入力または割込みの発生によりストップモードを解
除します。リセット要因によりストップモードを解除した場合は , ストップモードを解
除した上で , リセット状態になります。
ストップモード中に周辺回路などから割込みレベルが 7 より強い割込み要求が発生す
ると, スタンバイ制御回路はストップモードを解除します。ストップモードの解除後は,
CKSCR 中の WS1, WS0 ビットで指定されたメインクロックの発振安定待ち時間を経過
したあとで , 通常の割込み処理と同じ扱いとなり , I フラグ , ILM と割込み制御レジス
タ (ICR) の設定により割込みが受け付けられるときは , CPU はスタンバイ書込み命令
の次の割込み保留でない命令を実行後に , 割込み処理を実行し , 割込みが受け付けられ
ないときはストップモードに入る前の次の命令から処理を続行します。
96
第 6 章 低消費電力制御回路
■ 発振安定待ち時間設定
WS1, WS0 ビットを使用して , ストップモードまたはハードウェアスタンバイモードの
解除時の発振安定待ち時間の設定を行います。X0, X1 端子に接続する発振回路 , 発振
素子の種類や特性に応じて発振安定待ち時間を設定します。
パワーオンリセット以外のリセットでは , 本ビットは初期化されません。パワーオンリ
セット時は "11" に初期化されるので , 電源を最初に投入したときに , 発振安定待ち時
間は原発振の約 217 パルスカウントに設定されます。
< 注意事項 >
通常 , 割込み処理はストップモードへの遷移中に実行された命令の次の命令実行後
に開始されます。
97
第 6 章 低消費電力制御回路
6.3.4
ハードウェアスタンバイモード
ハードウェアスタンバイモードとは , リセットを含むほかの状態に関係なく HST 端
子が "L" レベルの間 , 発振を停止させ I/O 端子をすべてハイインピーダンス状態にす
るモードです。
■ ハードウェアスタンバイモードへの遷移
HST 端子を "L" レベルにすることにより , どんな状態からでもスタンバイ制御回路を
ハードウェアスタンバイモードに設定することができます。ハードウェアスタンバイ
モードでは内部 RAM の内容は保持されますが , アキュムレータなどの専用レジスタは
初期状態になります。
■ ハードウェアスタンバイモードの解除
ハードウェアスタンバイモードの解除は , HST 端子によってのみ解除することができ
ます。HST 端子を "H" レベルとなるとスタンバイ制御回路はハードウェアスタンバイ
モードを解除し , 内部リセット信号を有効にしたのち発振安定待ち状態に遷移します。
さらに , メインクロック発振安定待ち時間の経過後 , スタンバイ制御回路は内部リセッ
トを解除し , その結果は CPU はリセットシーケンスから実行を開始します。
■ 発振安定待ち時間設定
WS1, WS0 ビットを使用して , ストップモードまたはハードウェアスタンバイモードの
解除時の発振安定待ち時間の設定を行います。X0, X1 端子に接続する発振回路 , 発振
素子の種類や特性に応じて発振安定待ち時間を設定します。
パワーオンリセット以外のリセットでは , 本ビットは初期化されません。パワーオンリ
セット時は "11" に初期化されるので , 電源を最初に投入したときに , 発振安定待ち時
間は原発振の約 217 パルスカウントに設定されます。
98
第 6 章 低消費電力制御回路
6.4
CPU 間欠動作
CPU 間欠動作機能は , レジスタまたは内蔵メモリ (ROM, RAM, I/O, リソース ) アク
セスを行うときに CPU に供給するクロックを一定期間停止させ , 内部バスサイクル
の起動を遅らせます。内蔵リソースに高速クロックを供給したまま CPU の実行速度
を下げることにより , 低消費電力で処理が行えます。
■ CPU 間欠動作
図 6.4-1 に , CPU 間欠動作を示します。CPU 間欠動作は , CG1, CG0 ビットにより , ク
ロック一時停止のサイクル数の選択を行います。
なお , 外部バス動作そのものは , リソースと同じクロックを使用して行われます。
また , CPU 間欠動作機能を使用した場合の命令実行時間の算出は , 通常の実行時間に補
正係数 ( レジスタ , 内蔵メモリまたは内蔵リソースアクセスを行う回数に , 一時停止サ
イクル数をかけた値 ) を加えることで , 求めることができます。
図 6.4-1 CPU 間欠動作
周辺クロック
CPU クロック
一時停止サイクル
1 命令実行
サイクル
内部バス起動
99
第 6 章 低消費電力制御回路
6.5
マシンクロック切換え
CKSCR レジスタ中の MCS ビットへの書込みにより , マシンクロックは , メインク
ロックから PLL クロックに切り換わります。
■ メインクロックと PLL クロックの切換え
MCS ビットを "1" から "0" に書き換えた場合には , PLL クロックの発振安定待ち時間
(213 マシンクロックサイクル ) 経過後に , マシンクロックはメインクロックから PLL ク
ロックに切り換わります。
MCS ビットを "0" から "1" に書き換えた場合には , PLL クロックとメインクロックの
エッジが一致する時点 (1 ∼ 8PLL クロックサイクル後 ) で , マシンクロックは PLL ク
ロックからメインクロックに切り換わります。
MCS ビットを書き換えても即座にマシンクロックの切換えが行われないので , マシン
クロックに依存するリソースを操作する場合には , MCM ビットを常に参照してマシン
クロックの切換えが行われたことを確認した後 , リソースの操作を行います。
< 注意事項 >
クロックモードを切り換えた場合 , 切換えが完了するまでに , ほかのクロックモー
ドおよび低消費電力モードへの切換えを行わないようにしてください。切換えの完
了はクロック選択レジスタ (CKSCR) の MCM ビットを参照してください。切換え
が完了する前に , 他のクロックモードおよび低消費電力モードへの切換えを行った
場合 , 切り換わらない場合があります。
■ マシンクロック初期化
MCS ビットは , 外部端子 RST によるリセット , RST ビットによるリセットでは初期化
されません。その他のリセットでは , "1" に初期化されます。
100
第 6 章 低消費電力制御回路
6.6
クロック選択の状態遷移
PLL クロックの発振安定待ち時間は , 213 メインクロックサイクル固定です ( 原発振
4MHz 時 , 発振安定待ち時間は約 2ms になります ) 。
■ クロック選択の状態遷移
図 6.6-1 に , クロック選択の状態遷移を示します。
図 6.6-1 クロック選択の状態遷移
パワーオン
メイン
メイン→ PLLx
①
MCS = 1
MCM = 1
CS1/0=XXB
②
MCS = 0
MCM = 1
CS1/0=XXB
⑦
③
④
PLL1 →メイン
PLL1 逓倍
MCS = 1
MCM = 0
CS1/0=00B
⑥
MCS = 0
MCM = 0
CS1/0=00B
⑦
PLL2 逓倍
PLL2 →メイン
MCS = 1
⑦
MCM = 0
CS1/0=01B
⑥
PLL3 →メイン
⑤
MCS = 1
⑦
MCM = 0
CS1/0=10B
⑥
PLL4 →メイン
MCS = 1
MCM = 0
CS1/0=11B
MCS = 0
MCM = 0
CS1/0=01B
PLL3 逓倍
MCS = 0
MCM = 0
CS1/0=10B
PLL4 逓倍
⑥
MCS = 0
MCM = 0
CS1/0=11B
101
第 6 章 低消費電力制御回路
① MCS ビットクリア
② PLL クロック発振安定待ち終了 &CS1/CS0=00B
③ PLL クロック発振安定待ち終了 &CS1/CS0=01B
④ PLL クロック発振安定待ち終了 &CS1/CS0=10B
⑤ PLL クロック発振安定待ち終了 &CS1/CS0=11B
⑥ MCS ビットセット ( ハードウェアスタンバイ , ウォッチドッグリセットを含む )
⑦ PLL クロックとメインクロック同期タイミング
< 注意事項 >
102
クロックモードを切り換えた場合 , 切換えが完了するまでに , ほかのクロックモー
ドおよび低消費電力モードへの切換えを行わないようにしてください。切換えの
完了はクロック選択レジスタ (CKSCR) の MCM ビットを参照してください。切換
えが完了する前に , 他のクロックモードおよび低消費電力モードへの切換えを行っ
た場合 , 切り換わらない場合があります。
第7章
メモリアクセスモード
この章では , メモリアクセスモードの機能と動作に
ついて示します。
7.1 メモリアクセスモードの概要
7.2 モード端子
7.3 モードデータ
103
第 7 章 メモリアクセスモード
7.1
メモリアクセスモードの概要
F2MC-16LX では , アクセス方式 , アクセス領域のそれぞれについて , 次の 2 種類の
メモリアクセスモードがあります。
・動作モード
・バスモード
■ メモリアクセスモード
図 7.1-1 メモリアクセスモード
動作モード
○ RUN
○ フラッシュメモリモード
バスモード
シングルチップ
MB90590 シリーズについては , 外部バス機能はサポートされていません。このため , 本
マニュアルの以下の部分は完全にはサポートされていません。お客様がご使用の際に
は , MB90590 シリーズをシングルチップモードで使用してください。
MB90590 シリーズをシングルチップモードに設定するには , モード入力 (MD2 ∼ MD0)
を"011"にし, モードデータの最大有効2ビット(M1, M0)を"00"にする必要があります。
● 動作モード
動作モードとは , デバイスの動作状態を制御するモードを示すもので , モード設定用端
子 (MDx) の内容で指定します。動作モードを選択することで , 通常動作 / 内部試験プ
ログラムの起動 / 特殊試験機能の起動を行うことができます。
● バスモード
バスモードとは , 内部 ROM の動作と外部アクセス機能の動作を制御するモードを示す
もので , モード設定用端子 (MDx) とモードデータ内の Mx ビットの内容で指定します。
モード設定用端子 (MDx) は , リセットベクタおよびモードデータを読み出すときのバ
スモードを指定するもので , モードデータ内の Mx ビットは , 通常動作時のバスモード
を指定するものです。
104
第 7 章 メモリアクセスモード
モード端子
7.2
MD2 ∼ MD0 の 3 本の外部端子の設定の組合せによって , モードの指定ができます。
■ モード端子
表 7.2-1 モード端子と設定モードの関係
モード端子設定
モード名
リセット
ベクタアク
セス領域
外部データ
バス幅
備考
MD2
MD1
MD0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
フラッシュメモリ
シリアル書込み *
―
―
―
1
1
1
フラッシュメモリ
モード
―
―
パラレルライタ使用時の
モード
( 設定禁止 )
内部ベクタモード
内部
( モード
データ )
リセットシーケンス以降
はモードデータで制御
( 指定禁止 )
*: フラッシュメモリのシリアル書込みは , モード端子の設定だけでは書込みができません。ほかの端
子設定も必要です。
詳細は「第 25 章 MB90F594A/MB90F594G/MB90F591A/MB90F591G シリアル書込み接続例」を参
照してください。
105
第 7 章 メモリアクセスモード
7.3
モードデータ
主記憶 FFFFDFH に置く , CPU の動作制御用のデータです。リセットシーケンス実
行中にこのデータを取り込み , デバイス内部のモードレジスタに格納します。モー
ドレジスタの内容を変更できるのはリセットシーケンスだけです。
本レジスタによる設定はリセットシーケンス以降に有効となります。
予約ビットは , 必ず "0" を設定してください。
■ モードデータ
図 7.3-1 に , ビットの設定を示します。
図 7.3-1 モードデータ構成
モードデータ
7
6
5
4
M1
M0
0
0
3
0
2
1
0
0
0
0
機能拡張ビット ( 予約領域 )
バスモード設定ビット
■ バスモード設定ビット
リセットシーケンス終了後の動作モードの指定を行うビットです。表 7.3-1 に , ビット
と機能との関係を示します。
表 7.3-1 バスモード設定ビットと機能
106
M1
M0
0
0
0
1
1
0
1
1
機能
シングルチップモード
( 設定禁止 )
第 7 章 メモリアクセスモード
図 7.3-2 に , 各バスモードのアクセス領域と物理アドレスとの対応関係を示します。
図 7.3-2 各バスモードのアクセス領域と物理アドレス
FFFFFFH
ROM
デバイス依存 #1
FF0000H
010000H
ROM
004000H
デバイス依存 #2
RAM
002100H
001100H
I/O
RAM
000100H
0000C0H
000000H
:アクセスなし
:内部アクセス
I/O
シングルチップ
< 注意事項 > 「デバイス依存」とは , デバイスにより決定されるアドレスのことです。
■ 推奨設定例
表 7.3-2 に , モード端子とモードデータの推奨設定例を示します。
表 7.3-2 モード端子とモードデータの推奨設定例
設定例
シングルチップ
< 注意事項 >
MD2
MD1
MD0
M1
M0
0
1
1
0
0
フラッシュ品については , ハードワイヤードロジックによりモードデータにあらか
じめ決められた値が設定されています。詳細については , 「24.9 フラッシュメモ
リにおけるリセットベクタアドレス」を参照してください。
107
第 7 章 メモリアクセスモード
108
第8章
I/O ポート
この章では , I/O ポートの機能と動作について説明
します。
8.1 I/O ポート
8.2 I/O ポートのレジスタ
109
第 8 章 I/O ポート
8.1
I/O ポート
それぞれのポートの各端子は , 対応する周辺が端子を用いない設定となっていると
き , 1 端子ごとに方向レジスタを設定することにより , 入力 , 出力の指定を行うこと
ができます。入力端子として指定した場合 , 端子の論理レベルが読み出され , 出力端
子として指定した場合 , データレジスタ値が読み出されます。これは , リードモディ
ファイライトのリード操作にも適用されます。
■ I/O ポート
I/O ポートでは , ポート 0 ∼ポート 3 についてのみは , 周辺信号の出力を許可する場合 ,
ポート方向レジスタの対応するビットを "1" に設定する必要があります。
周辺回路の出力として使用している場合にデータレジスタを読み出したときは , 方向
レジスタの値に関係なく , 制御出力として出力しているものが , 読み出されます。
一般的には , ポートを出力に設定する前に , データレジスタの設定にリードモディファ
イライト系の命令を使用しないことが推奨されます。それは , リードモディファイライ
ト系の命令によってレジスタ値ではなくポートの論理レベルが読み出されるからで
す。
図 8.1-1 に , I/O ポートのブロックダイヤグラムを示します。
図 8.1-1 I/O ポートのブロックダイヤグラム
内部データバス
データレジスタリード
データレジスタ
データレジスタライト
方向レジスタ
方向レジスタライト
方向レジスタリード
110
端子
第 8 章 I/O ポート
I/O ポートのレジスタ
8.2
I/O ポートのレジスタには , 次の 3 種類があります。
• ポートデータレジスタ
• ポート方向レジスタ
• ポートアナログ入力許可レジスタ
■ I/O ポートのレジスタ
図 8.2-1 に , I/O ポートのレジスタを示します。
図 8.2-1 I/O ポートのレジスタ
アドレス
bit
: 000000H
: 000001H
: 000002H
: 000003H
: 000004H
: 000005H
: 000006H
: 000007H
: 000008H
: 000009H
アドレス
bit
: 000010H
: 000011H
: 000012H
: 000013H
: 000014H
: 000015H
: 000016H
: 000017H
: 000018H
: 000019H
アドレス
bit
: 00001BH
7
6
5
4
3
2
1
0
P07
P17
P27
P37
P47
P57
P67
P77
P87
P06
P16
P26
P36
P46
P56
P66
P76
P86
−
−
P05
P15
P25
P35
P45
P55
P65
P75
P85
P95
P04
P14
P24
P34
P44
P54
P64
P74
P84
P94
P03
P13
P23
P33
P43
P53
P63
P73
P83
P93
P02
P12
P22
P32
P42
P52
P62
P72
P82
P92
P01
P11
P21
P31
P41
P51
P61
P71
P81
P91
P00
P10
P20
P30
P40
P50
P60
P70
P80
P90
7
6
5
4
3
2
1
0
D07
D17
D27
D37
D47
D57
D67
D77
D87
D06
D16
D26
D36
D46
D56
D66
D76
D86
−
−
D05
D15
D25
D35
D45
D55
D65
D75
D85
D95
D04
D14
D24
D34
D44
D54
D64
D74
D84
D94
D03
D13
D23
D33
D43
D53
D63
D73
D83
D93
D02
D12
D22
D32
D42
D52
D62
D72
D82
D92
D01
D11
D21
D31
D41
D51
D61
D71
D81
D91
D00
D10
D20
D30
D40
D50
D60
D70
D80
D90
7
6
5
4
3
2
1
0
ポートデータレジスタ (PDR0)
ポートデータレジスタ (PDR1)
ポートデータレジスタ (DDR2)
ポートデータレジスタ (PDR3)
ポートデータレジスタ (PDR4)
ポートデータレジスタ (PDR5)
ポートデータレジスタ (PDR6)
ポートデータレジスタ (PDR7)
ポートデータレジスタ (PDR8)
ポートデータレジスタ (PDR9)
ポート方向レジスタ (DDR0)
ポート方向レジスタ (DDR1)
ポート方向レジスタ (DDR2)
ポート方向レジスタ (DDR3)
ポート方向レジスタ (DDR4)
ポート方向レジスタ (DDR5)
ポート方向レジスタ (DDR6)
ポート方向レジスタ (DDR7)
ポート方向レジスタ (DDR8)
ポート方向レジスタ (DDR9)
ADE7 ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 ADE0 アナログ入力許可レジスタ (ADER)
111
第 8 章 I/O ポート
8.2.1
ポートデータレジスタ (PDR0 ∼ PDR9)
I/O ポートの R/W は , メモリへの R/W とは多少動作が異なりますので注意してくだ
さい。
[ 入力モード ]
リード時 : 対応する端子のレベルが読み出されます。
ライト時 : 出力用のラッチに書き込まれます。
[ 出力モード ]
リード時 : データレジスタラッチの値が読み出されます。
ライト時 : 出力ラッチに書き込まれ , 対応する端子に出力されます。
■ ポートデータレジスタ (PDR0 ∼ PDR9)
図 8.2-2 に , ポートデータレジスタ (PDR0 ∼ PDR9) を示します。
図 8.2-2 ポートデータレジスタ (PDR0 ∼ PDR9)
PDR0
bit
アドレス : 000000H
7
P07
6
P06
5
P05
4
P04
3
P03
2
P02
1
P01
0
P00
初期値
アクセス
XXXXXXXXB R/W
PDR1
bit
アドレス : 000001H
7
P17
6
P16
5
P15
4
P14
3
P13
2
P12
1
P11
0
P10
XXXXXXXXB
R/W
PDR2
bit
アドレス : 000002H
7
6
5
4
3
2
1
0
P27
P26
P25
P24
P23
P22
P21
P20
XXXXXXXXB
R/W
PDR3
bit
アドレス : 000003H
7
P37
6
P36
5
P35
4
P34
3
P33
2
P32
1
P31
0
P30
XXXXXXXXB
R/W
PDR4
bit
アドレス : 000004H
7
6
5
4
3
2
1
0
P47
P46
P45
P44
P43
P42
P41
P40
XXXXXXXXB
R/W
PDR5
bit
アドレス : 000005H
7
P57
6
P56
5
P55
4
P54
3
P53
2
P52
1
P51
0
P50
XXXXXXXXB
R/W
PDR6
bit
アドレス : 000006H
7
6
5
4
3
2
1
0
P67
P66
P65
P64
P63
P62
P61
P60
XXXXXXXXB
R/W
XXXXXXXXB
R/W
XXXXXXXXB
R/W
--XXXXXXB
R/W
PDR7
bit
アドレス : 000007H
7
6
5
4
3
2
1
0
P77
P76
P75
P74
P73
P72
P71
P70
PDR8
bit
アドレス : 000008H
7
6
5
4
3
2
1
0
P87
P86
P85
P84
P83
P82
P81
P80
7
6
5
4
3
2
1
0
−
−
P95
P94
P93
P92
P91
P90
PDR9
bit
アドレス : 000009H
112
第 8 章 I/O ポート
8.2.2
ポート方向レジスタ (DDR0 ∼ DDR9)
ポート方向レジスタ (DDR0 ∼ DDR9) は , 各端子がポートとして機能しているとき
は , 対応する各端子を以下のように制御します。
0: 入力モード
1: 出力モード
■ ポート方向レジスタ (DDR0 ∼ DDR9)
図 8.2-3 に , ポート方向レジスタ (DDR0 ∼ DDR9) を示します。
図 8.2-3 ポート方向レジスタ (DDR0 ∼ DDR9)
DDR0
bit
アドレス : 000010H
7
D07
6
D06
5
D05
4
D04
3
D03
2
D02
1
D01
0
D00
初期値
アクセス
00000000B
R/W
DDR1
bit
アドレス : 000011H
7
D17
6
D16
5
D15
4
D14
3
D13
2
D12
1
D11
0
D10
00000000B
R/W
DDR2
bit
アドレス : 000012H
7
D27
6
D26
5
D25
4
D24
3
D23
2
D22
1
D21
0
D20
00000000B
R/W
DDR3
bit
アドレス : 000013H
7
D37
6
D36
5
D35
4
D34
3
D33
2
D32
1
D31
0
D30
00000000B
R/W
DDR4
bit
アドレス : 000014H
7
D47
6
D46
5
D45
4
D44
3
D43
2
D42
1
D41
0
D40
00000000B
R/W
DDR5
bit
アドレス : 000015H
7
D57
6
D56
5
D55
4
D54
3
D53
2
D52
1
D51
0
D50
00000000B
R/W
DDR6
bit
アドレス : 000016H
7
D67
6
D66
5
D65
4
D64
3
D63
2
D62
1
D61
0
D60
00000000B
R/W
DDR7
bit
アドレス : 000017H
7
D77
6
D76
5
D75
4
D74
3
D73
2
D72
1
D71
0
D70
00000000B
R/W
DDR8
bit
アドレス : 000018H
7
D87
6
D86
5
D85
4
D84
3
D83
2
D82
1
D81
0
D80
00000000B
R/W
DDR9
bit
アドレス : 000019H
7
−
6
−
5
D95
4
D94
3
D93
2
D92
1
D91
0
D90
--000000B
R/W
< 注意事項 >
ポート方向レジスタのポート 0, 1 は , パワーオンリセット中は不定であり , パワー
オンリセット後は "00H" に初期化されます。したがって , ポート 0, 1 の出力も , パ
ワーオンリセット中は不定となります。
113
第 8 章 I/O ポート
8.2.3
アナログ入力許可レジスタ (ADER)
アナログ入力許可レジスタ (ADER) は , ポート 6 の各端子を以下のように制御しま
す。
0: ポート入出力モード
1: アナログ入力モード
外部端子を A/D コンバータのアナログ入力として使用している場合 , 対応するビッ
トを "1" に設定する必要があります。
■ アナログ入力許可レジスタ (ADER)
図 8.2-4 に , アナログ入力許可レジスタ (ADER) を示します。
図 8.2-4 アナログ入力許可レジスタ (ADER)
bit
7
6
5
4
3
2
1
0
ADE7
ADE6
ADE5
ADE4
ADE3
ADE2
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)
アドレス : 00001BH
初期値→
114
(1)
ADER
第9章
タイムベースタイマ
この章では , タイムベースタイマの機能と動作につ
いて説明します。
9.1 タイムベースタイマの概要
9.2 タイムベースタイマ制御レジスタ (TBTC)
9.3 タイムベースタイマの動作
115
第 9 章 タイムベースタイマ
9.1
タイムベースタイマの概要
タイムベースタイマは , システムクロックを分周する 18 ビットのタイムベースカウ
ンタと制御レジスタにより構成されます。タイムベースタイマは , タイムベースカ
ウンタの桁上がり信号により指定したインターバルで割込みを発生します。
■ タイムベースタイマの概要
パワーオン時 , タイムベースカウンタは , ストップモードを設定するかまたはソフト
ウェア (TBR ビットへの "0" の書込み ) によりすべて "0" にクリアされます。原振が入
力されている間 , タイムベースカウンタはインクリメントされます。
タイムベースカウンタは , ウォッチドッグタイマのクロック供給 , 発振安定時間待ちの
ためのタイマとして使用できます。
■ タイムベースタイマのブロックダイヤグラム
図 9.1-1 に , タイムベースタイマのブロックダイヤグラムを示します。
図 9.1-1 タイムベースタイマのブロックダイヤグラム
WTE
出力許可
WT1
WT0
2 ビット
カウンタ
セレクタ
リセット
コントロール
タイムベースカウンタ
f/2
パワーオン
リセット
STOP モード
1
1
1
1
1
1
1
1
1
2
211
212
213
214
215
216
217
218
クリア
コントロール
TBOF
セレクタ
TBOF
TBR
クリア
TBC1
TBC0
WS1
WS0
116
1/210 ~ 1/217
セレクタ
EI2OS
タイムベース分周出力
発振安定待ち完了信号
IRQ
リセット
第 9 章 タイムベースタイマ
9.2
タイムベースタイマ制御レジスタ (TBTC)
タイムベースタイマ制御レジスタ (TBTC) はタイムベースタイマの割込みの制御を
行い , タイムベースカウンタのクリアを行うことができます。
■ タイムベースタイマ制御レジスタ (TBTC)
図 9.2-1 タイムベースタイマ制御レジスタ (TBTC)
bit
アドレス : 0000A9H
リード / ライト→
初期値→
15
14
13
12
11
10
9
8
予約
(W)
(1)
−
(−)
(−)
−
(−)
(−)
TBIE
TBOF
TBR
TBC1
TBC0
(R/W)
(0)
(R/W)
(0)
(W)
(1)
(R/W)
(0)
(R/W)
(0)
TBTC
【bit15】予約
予約済みビットです。このレジスタにデータを書込むときは , 必ず "1" を書き込んでく
ださい。
【bit12】TBIE
タイムベースタイマによるインターバル割込みを許可するビットです。"1" のとき割込
み許可 , "0" のとき割込みを禁止します。リセットにより "0" に初期化します。読み書
き可能なビットです。
【bit11】TBOF
タイムベースタイマの割込み要求フラグです。TBIE ビットが "1" のとき TBOF が , "1"
になると割込み要求を発生します。TBC1, TBC0 ビットで設定されたインターバルごと
に "1" にセットされます。"0" の書込み , ストップモード , ハードウェアスタンバイモー
ドでの変遷およびリセットによりクリアされます。"1" の書込みは , 意味がありません。
リードモディファイライト系命令におけるリード時には "1" が読めます。
【bit10】TBR
タイムベースカウンタを全ビット "0" にクリアするビットです。"0" を書き込むことに
よりタイムベースカウンタをクリアします。"1" の書込みは意味がありません。
リード時は "1" が読めます。
【bit9, bit8】TBC1, TBC0
タイムベースタイマのインターバルを設定するビットです。表 9.2-1 に , インターバル
の設定を示します。
表 9.2-1 タイムベースタイマインターバルの選択
TBC1
TBC0
0
0
1.024ms
0
1
4.096ms
1
0
16.384ms
1
1
131.072ms
原振 4MHz 時のインターバル時間
117
第 9 章 タイムベースタイマ
9.3
タイムベースタイマの動作
タイムベースタイマには , ウォッチドッグタイマのクロックソース , 発振安定時間待
ちのためのタイマ , 一定周期で割込みを発生するインターバルタイマの機能があり
ます。
■ タイムベースカウンタ
タイムベースカウンタは , 原振入力を 2 分周して発生させたクロック用の 18 ビットの
カウンタにより構成されます。このクロックは , マシンクロックを発生するのに使用さ
れます。原振が入力されている間 , タイムベースカウンタはカウント動作を続けます。
タイムベースカウンタのクリアは , パワーオンリセット , ストップモードかハードウェ
アスタンバイモードへの遷移または TBTC レジスタ中の TBR ビットへの "0" の書込み
により行われます。
■ インターバル割込み機能
タイムベースカウンタの桁上がり信号により一定周期で割込みを発生します。TBTC レ
ジスタ中の TBC1, TBC0 ビットで設定されるインターバル時間ごとに TBOF フラグを
セットします。このフラグの書込みは , 最後にタイムベースタイマがクリアされた時間
を基準にして行われます。
ストップモードまたはハードウェアスタンバイモードに遷移すると , タイムベースタ
イマは復帰時の発振安定時間待ちのタイマとして使用されるので , TBOF フラグはモー
ド遷移と同時にクリアされます。
118
第 10 章
ウォッチドッグタイマ
この章では , ウォッチドッグタイマの機能と動作に
ついて説明します。
10.1 ウォッチドッグタイマの概要
10.2 ウォッチドッグタイマの動作
119
第 10 章 ウォッチドッグタイマ
ウォッチドッグタイマの概要
10.1
ウォッチドッグタイマは , 18 ビットのタイムベースタイマの桁上がり信号をクロッ
クソースとする 2 ビットのウォッチドッグカウンタ , 制御レジスタ , ウォッチドッグ
リセット制御部により構成されています。
■ ウォッチドッグタイマのブロックダイヤグラム
図 10.1-1 に , ウォッチドッグタイマのブロックダイヤグラムを示します。
図 10.1-1 ウォッチドッグタイマのブロックダイヤグラム
WTE
出力許可
WT1
WT0
2 ビット
カウンタ
セレクタ
リセット制御
タイムベースカウンタ
f/2
パワーオン
リセット
STOP モード
1
1
1
1
1
1
1
1
1
2
211
212
213
214
215
216
217
218
クリア
コントロール
TBOF
セレクタ
TBOF
TBR
クリア
TBC1
TBC0
WS1
WS0
120
EI2OS
1/210 ~ 1/217
セレクタ
タイムベース分周出力
発振安定待ち完了信号
IRQ
リセット
第 10 章 ウォッチドッグタイマ
■ ウォッチドッグタイマ制御レジスタ (WDTC)
図 10.1-2 ウォッチドッグタイマ制御レジスタ (WDTC)
bit
7
6
5
4
アドレス : 0000A8H PONR STBR WRST ERST
(R)
(R)
(R)
(R)
リード / ライト→
(X)
(X)
(X)
(X)
初期値→
3
2
1
0
SRST
(R)
(X)
WTE
(W)
(1)
WT1
(W)
(1)
WT0
(W)
(1)
WDTC
【bit7 ∼ bit3】PONR, STBR, WRST, ERST, SRST
リセットの要因を示すフラグです。各種リセット要因が発生すると , 本ビットは表
10.1-1 のように設定されます。これらのビットはすべて WDTC のリード動作後に "0"
にクリアされます。読出し専用のレジスタです。詳細については , 「5.2 リセット要因
の発生」を参照してください。
表 10.1-1 リセット要因レジスタ
PONR
STBR
WRST
ERST
SRST
パワーオン
1
―
―
―
―
ハードウェアスタンバイ
*
1
*
*
*
ウォッチドッグタイマ
*
*
1
*
*
外部端子
*
*
*
1
*
RST ビット
*
*
*
*
1
リセット要因
*: 前の値の保持を示します。
【bit2】WTE
ウォッチドッグタイマが停止状態のときに本ビットに "0" を書き込むことにより ,
ウォッチドッグタイマを動作状態にします。"1" の書込みは何の操作もしません。
ウォッチドッグタイマは , パワーオン , ハードウェアスタンバイ , ウォッチドッグタイ
マによるリセットにより停止状態となります。読出し時は "1" が読み出されます。
【bit1, bit0】WT1, WT0
ウォッチドッグタイマのインターバル時間を選択するビットです。ウォッチドッグタ
イマ起動時に書き込まれたデータのみが有効です。ウォッチドッグ起動時以外の書込
みデータは無視します。
表 10.1-2 に , インターバル時間の設定を示します。
書込み可能なビットです。
121
第 10 章 ウォッチドッグタイマ
表 10.1-2 ウォッチドッグタイマインターバル選択ビット
WT1
WT0
インターバル時間
( 原振 :4MHz)
最小
最大 *
メイン・クロック・
サイクル・カウント
0
0
約 3.58ms
約 4.61ms
214 ± 211 サイクル
0
1
約 14.33ms
約 18.43ms
216 ± 213 サイクル
1
0
約 57.23ms
約 73.73ms
218 ± 215 サイクル
1
1
約 458.7ms
約 589.82ms
221 ± 218 サイクル
*: インターバルの最大値は , ウォッチドッグ動作中にタイムベースカウンタまたは
時計カウンタがリセットされない場合の値です。
122
第 10 章 ウォッチドッグタイマ
10.2
ウォッチドッグタイマの動作
ウォッチドッグタイマの機能により , プログラムの暴走を検出することができます。
プログラムの暴走などにより , 定められた時間内にウォッチドッグタイマのアクセ
スが行われない場合 , ウォッチドッグタイマはシステムをリセットします。
■ ウォッチドッグタイマの起動方法
ウォッチドッグタイマの起動は , ウォッチドッグタイマの停止中に WDTC レジスタの
WTE ビットに "0" を書き込むことによって行われます。このとき , 同時にウォッチドッ
グタイマのリセット発生のインターバルを WT1, WT0 ビットにより設定します。イン
ターバルの設定は , この起動のときのデータのみが有効となります。
■ ウォッチドッグカウンタ
一度 , ウォッチドッグタイマが起動されると , ウォッチドッグタイマカウンタをプログ
ラム内で定期的にクリアする必要があります。WDTC レジスタの WTE ビットに "0" を
書き込むと , ウォッチドッグカウンタがクリアされます。ウォッチドッグカウンタは ,
タイムベースカウンタの桁上がり信号をクロックソースとする 2 ビットのカウンタに
より構成されています。したがって , タイムベースカウンタがクリアされると , ウォッ
チドッグリセットの発生時間が設定より短くなることがあります。
ウォッチドッグのカウンタは , WTE ビットへの書込みによるクリアのほかに , リセッ
トの発生 , スリープモード , ストップモードへの変遷によってクリアされます。( なお ,
時計モードへの変遷では , クリアされません。)
図 10.2-1 に , ウォッチドッグタイマの動作を示します。
図 10.2-1 ウォッチドッグタイマの動作
タイムベース
ウォッチドッグ
00
01
10
00
01
10
11
00
WTE ライト
ウォッチドッグ起動
ウォッチドッグクリア
ウォッチドッグリセット
■ ウォッチドッグ停止
ウォッチドッグタイマは , 一度起動すると , パワーオン , ハードウェアスタンバイ ,
ウォッチドッグによるリセットでのみ初期化され停止状態となります。外部端子 , ソフ
トウェアによるリセットではウォッチドッグのカウンタはクリアしますがウォッチ
ドッグ機能は , 停止されません。
123
第 10 章 ウォッチドッグタイマ
124
第 11 章
16 ビット入出力タイマ
この章では , 16 ビット入出力タイマの機能と動作
について説明します。
11.1 16 ビット入出力タイマの概要
11.2 16 ビット入出力タイマのレジスタ
11.3 16 ビットフリーランタイマ
11.4 アウトプットコンペア
11.5 インプットキャプチャ
125
第 11 章 16 ビット入出力タイマ
11.1
16 ビット入出力タイマの概要
MB90590 シリーズは , 16 ビットフリーランタイマ 1 本 , アウトプットコンペアモ
ジュール 3 本およびインプットキャプチャ 3 本のモジュールから構成され , 6 個の入
力チャネルおよび 6 個の出力チャネルをサポートしています。ここでは , 16 ビット
入出力タイマの機能のうち , 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 本を使用して出力端子を反転する。
● 出力端子の初期値を設定することが可能
● 割込みはコンペア一致により発生可能
126
第 11 章 16 ビット入出力タイマ
■ インプットキャプチャ ( モジュールごとに 2 チャネル )
インプットキャプチャは独立した 2 本の外部入力端子と対応したキャプチャレジスタ ,
制御レジスタにより構成されています。外部入力端子より入力された信号の任意エッ
ジを検出することにより16ビットフリーランタイマ値をキャプチャレジスタに保持し,
同時に割込みを発生することができます。
● 外部入力信号のエッジを選択可能
立上りエッジ , 立下りエッジ , 両エッジから選択可能
● 2 本のインプットキャプチャは独立して動作可能
● 割込みは外部入力信号の有効エッジにより発生可能
インプットキャプチャの割込みによりインテリジェント I/O サービスを起動できます。
■ 16 ビット入出力タイマのブロックダイヤグラム
図 11.1-1 に , 16 ビット入出力タイマのブロックダイヤグラムを示します。
図 11.1-1 16 ビット入出力タイマのブロックダイヤグラム
制御ロジック
各
ブ
ロ
ッ
ク
へ
割込み
16 ビットフリ−ランタイマ
16 ビットタイマ
クリア
アウトプットコンペア 0
バ
ス
コンペアレジスタ 0
T Q
OUT0
T Q
OUT1
エッジ選択
IN0
エッジ選択
IN1
アウトプットコンペア 1
コンペアレジスタ 1
インプットキャプチャ 0
キャプチャレジスタ 0
インプットキャプチャ 1
キャプチャレジスタ 1
127
第 11 章 16 ビット入出力タイマ
11.2
16 ビット入出力タイマのレジスタ
16 ビット入出力タイマのレジスタには , 次の 3 つがあります。
• 16 ビットフリーランタイマのレジスタ
• 16 ビットアウトプットコンペアのレジスタ
• 16 ビットインプットキャプチャのレジスタ
■ 16 ビットフリーランタイマのレジスタ一覧
15
0
TCDT
001944H
タイマデータレジスタ
00006EH
TCCS
制御ステータスレジスタ
■ 16 ビットアウトプットコンペアのレジスタ一覧
15
0
001930H
001932H
OCCP0/OCCP1
000058H
OCS1
コンペアレジスタ
OCS0
制御ステータスレジスタ
■ 16 ビットインプットキャプチャのレジスタ一覧
15
001920H
001922H
000054H
128
0
IPCP0/IPCP1
ICS0/ICS1
チャプタレジスタ
制御ステータスレジスタ
第 11 章 16 ビット入出力タイマ
16 ビットフリーランタイマ
11.3
16 ビットフリーランタイマのカウント値はアウトプットコンペア , インプットキャ
プチャの基本時間 ( ベースタイマ ) として使用されます。
• カウントクロックは 4 種類から選択可能です。
• カウンタオーバフロー割込みを発生することができます。
• モード設定によりアウトプットコンペアのコンペアレジスタ 0 の値との一致によ
るカウンタの初期化が可能です。
■ 16 ビットフリーランタイマのブロックダイヤグラム
図 11.3-1 16 ビットフリーランタイマのブロックダイヤグラム
割込み要求
IVF
バ
ス
IVFE STOP MODE CLR CLK1 CLK0
φ
分周器
コンパレータ 0
16 ビットフリーランタイマ
クロック
T15 ~ T00
カウント値出力
129
第 11 章 16 ビット入出力タイマ
11.3.1
タイマカウンタデータレジスタ (TCDT)
タイマカウンタデータレジスタ (TCDT) は , 16 ビットフリーランタイマのカウント
値を読み出すことができるレジスタです。カウンタ値はリセット時に "0000" にクリ
アされます。このレジスタに書き込むことで , タイマ値を設定できますが必ず停止
(STOP=1) 状態で行ってください。このレジスタはワードアクセスしてください。
■ タイマカウンタデータレジスタ (TCDT)
図 11.3-2 タイマカウンタデータレジスタ (TCDT)
bit
15
アドレス : 001945H
T15
リード / ライト→ (R/W)
(0)
初期値→
bit
アドレス : 001944H
14
13
12
11
10
9
8
T14
(R/W)
(0)
T13
(R/W)
(0)
T12
(R/W)
(0)
T11
(R/W)
(0)
T10
(R/W)
(0)
T9
(R/W)
(0)
T8
(R/W)
(0)
7
6
5
4
3
2
1
0
T07
T06
T05
T04
T03
T02
T01
T00
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
リード / ライト→ (R/W)
(0)
初期値→
TCDT
TCDT
16 ビットフリーランタイマの初期化は次の要因で行われます。
• リセットによる初期化
• 制御ステータスレジスタのクリアビット (CLR) による初期化
• アウトプットコンペアのコンペアレジスタ 0 とタイマカウンタ値の一致による初期
化 ( モードの設定が必要です )
130
第 11 章 16 ビット入出力タイマ
11.3.2
タイマカウンタ制御ステータスレジスタ (TCCS)
タイマカウンタ制御ステータスレジスタ (TCCS) は , 16 ビットフリーランタイマの
動作モードの設定 , 起動・停止や割込みの制御を行います。
■ タイマカウンタ制御ステータスレジスタ (TCCS)
図 11.3-3 タイマカウンタ制御ステータスレジスタ (TCCS)
bit
アドレス : 00006EH
7
予約
(R/W)
リード / ライト→
(0)
初期値→
6
5
IVF
(R/W)
(0)
IVFE
(R/W)
(0)
4
3
2
STOP MODE CLR
(R/W) (R/W) (R/W)
(0)
(0)
(0)
1
0
CLK1
(R/W)
(0)
CLK0
(R/W)
(0)
TCCS
【bit7】予約ビット
本ビットには必ず "0" を書き込んでください。
【bit6】IVF
16 ビットフリーランタイマの割込み要求フラグです。
16 ビットフリーランタイマがオーバフローを起こしたときまたはモード設定によりコ
ンペアレジスタ 0 とコンペア一致したときに本ビットは "1" にセットされます。
割込み要求許可ビット (bit5:IVFE) がセットされていると割込みが発生します。
本ビットは "0" 書込みによりクリアされます。"1" 書込みは意味を持ちません。
リードモディファイ系命令では "1" が読めます。
0
割込み要求なし ( 初期値 )
1
割込み要求あり
【bit5】IVFE
16 ビットフリーランタイマの割込み許可ビットです。本ビットが "1" のとき , 割込み
フラグ (bit6:IVF) が "1" にセットされると割込みが発生します。
0
割込み禁止 ( 初期値 )
1
割込み許可
【bit4】STOP
16 ビットフリーランタイマのカウントを停止するためのビットです。
"1" 書込み時に 16 ビットフリーランタイマのカウント停止。"0" 書込み時に 16 ビット
フリーランタイマのカウントを開始。
0
カウント許可 ( 動作 ) ( 初期値 )
1
カウント禁止 ( 停止 )
131
第 11 章 16 ビット入出力タイマ
< 注意事項 >
16 ビットフリーランタイマのカウントが停止すると , アウトプットコンペア動作
も停止します。
【bit3】MODE
16 ビットフリーランタイマの初期化条件を設定します。
"0" のときはリセットとクリアビット (bit2:CLR) でカウンタ値を初期化可能。
"1" のときはリセットとクリアビット (bit2:CLR) のほかにアウトプットコンペアのコン
ペアレジスタ 0 の値との一致によりカウンタ値を初期化することができます。
< 注意事項 >
0
リセット , クリアビットによる初期化 ( 初期値 )
1
リセット , クリアビット , コンペアレジスタ 0 による初期化
カウンタ値の初期化はカウント値の変化点で行われます。
【bit2】CLR
動作中の 16 ビットフリーランタイマ値を "0000" に初期化するビットです。
"1" 書込み時にカウンタ値を "0000" に初期化。"0" を書込んでも意味を持ちません。リー
ド値は常に "0" です。カウンタ値の初期化はカウント値の変化点で行われます。
< 注意事項 >
0
意味を持ちません ( 初期値 )
1
カウンタ値を "0000" に初期化します
16 ビットフリーランタイマ停止中に初期化する場合はデータレジスタに "0000" を
書き込んでください。
【bit1, bit0】CLK1, CLK0
16 ビットフリーランタイマのカウントクロックを選択します。本ビットに書込み後す
ぐにクロックは変更されますのでアウトプットコンペア , インプットキャプチャが停
止状態のときに変更してください。
表 11.3-1 CLK1, CLK0 の設定
カウントクロック分周比 φ =16MHz
φ =8MHz
φ =4MHz
φ =1MHz
0.25µs
0.5µs
1µs
4µs
φ/16
1µs
2µs
4µs
16µs
0
φ/64
4µs
8µs
16µs
64µs
1
φ/256
16µs
32µs
64µs
256µs
CLK1
CLK0
0
0
φ /4
0
1
1
1
( 注意事項 ) φ: マシンクロック
132
第 11 章 16 ビット入出力タイマ
11.3.3
16 ビットフリーランタイマの動作
16 ビットフリーランタイマはリセット解除後にカウンタ値 "0000" よりカウントを
開始します。このカウンタ値が 16 ビットアウトプットコンペアと 16 ビットイン
プットキャプチャの基準時間となります。
■ 16 ビットフリーランタイマの動作
カウンタ値は , 次の 5 つの条件でクリアされます。
• オーバフローが発生したとき。
• アウトプットコンペアレジスタ 0 値とコンペア一致したとき ( モード設定が必要 ) 。
• 動作中に TCCS レジスタの CLR ビットに "1" を書き込んだとき。
• 停止中に TCDC レジスタに "0000" を書き込んだとき。
• リセット時
割込みはオーバフローが発生したときと, アウトプットコンペアレジスタ0値とコンペ
ア一致したときに発生します ( コンペア一致割込みはモード設定が必要です ) 。
■ オーバフローによるカウンタクリア
図 11.3-4 オーバフローによるカウンタクリア
カウンタ値
FFFFH
オーバフロー
BFFFH
7FFFH
3FFFH
0000H
時間
リセット
割込み
133
第 11 章 16 ビット入出力タイマ
■ アウトプットコンペアレジスタ 0 値とコンペア一致したときのカウンタクリア
図 11.3-5 アウトプットコンペアレジスタ 0 値とコンペア一致したときのカウンタクリア
カウンタ値
FFFFH
一致
一致
BFFFH
7FFFH
3FFFH
時間
0000H
リセット
コンペア
レジスタ値
BFFFH
割込み
■ 16 ビットフリーランタイマのタイミング
● 16 ビットフリーランタイマのクリアタイミング ( コンペアレジスタ 0 との一致 )
カウンタのクリアはリセット , ソフト , コンペアレジスタ 0 との一致で行うことができ
ます。リセットとプログラムでのカウンタクリアはクリア発生とともに行われますが ,
コンペアレジスタ 0 との一致によるカウンタクリアはカウントタイミングに同期して
行われます。
図 11.3-6 16 ビットフリーランタイマのタイミング
φ
コンペア
レジスタ値
N
コンペア一致
カウンタ値
N
134
0000
第 11 章 16 ビット入出力タイマ
11.4
アウトプットコンペア
アウトプットコンペアモジュールは , 2 つの 16 ビットコンペアレジスタ , 2 本のコ
ンペア出力端子および制御レジスタから構成されています。コンペアレジスタに設
定された値と 16 ビットフリーランタイマ値が一致したら , 端子の出力レベルを反転
すると共に割込みを発生することができます。
■ アウトプットコンペア
• コンペアレジスタは全部で 2 本あり , 独立して動作させることができます。また設
定により 2 本のコンペアレジスタを使い端子の出力を制御可能です。
• 端子の出力初期値を設定することができます。
• 割込みはコンペア一致により発生可能です。
■ アウトプットコンペアのブロックダイヤグラム
図 11.4-1 に , アウトプットコンペアのブロックダイヤグラムを示します。
図 11.4-1 アウトプットコンペアのブロックダイヤグラム
16 ビットタイマカウンタ値 (T15 ∼ T00)
T
コンペア制御
Q
OTE0
OUT0
OTE1
OUT1
コンペアレジスタ 0
CMOD
16 ビットタイマカウンタ値 (T15 ∼ T00)
バ
ス
T
コンペア制御
Q
コンペアレジスタ 1
ICP1
コントローラ
ICP0 ICE1 ICE0
コンペア 1 割込み
コンペア 0 割込み
制御ブロック
135
第 11 章 16 ビット入出力タイマ
11.4.1
アウトプットコンペアのレジスタ
16 ビットフリーランタイマと比較する 16 ビット長のコンペアレジスタです。レジ
スタ値は初期値不定ですので設定してから起動許可してください。本レジスタは
ワードアクセスしてください。本レジスタ値と 16 ビットフリーランタイマ値が一致
した時コンペア信号が発生してアウトプットコンペア割込みフラグをセットします。
また , 出力許可をしている場合はコンペアレジスタに対応した出力レベルを反転し
ます。
■ アウトプットコンペアのコンペアレジスタ
図 11.4-2 アウトプットコンペアのコンペアレジスタ
bit
アドレス:001931H
001933H
15
C15
リード / ライト→ (R/W)
(X)
初期値→
bit
アドレス:001930H
001932H
7
C07
リード / ライト→ (R/W)
(X)
初期値→
136
14
C14
13
C13
12
C12
11
C11
10
C10
9
C09
8
C08
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
6
C06
5
C05
4
C04
3
C03
2
C02
1
C01
0
C00
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
OCCP0/
OCCP1
OCCP0/
OCCP1
第 11 章 16 ビット入出力タイマ
11.4.2
アウトプットコンペアの制御ステータスレジスタ
(OCS0/1)
制御ステータスレジスタ (OCS0/1) は , アウトプットコンペアの動作モードの設定 ,
起動・停止や割込みの制御 , 外部出力端子の設定を行います。
■ アウトプットコンペアの制御ステータスレジスタ (OCS0/1)
図 11.4-3 アウトプットコンペアの制御ステータスレジスタ (OCS0/1)
bit
15
14
13
アドレス:000059H
−
−
−
リード / ライト→
初期値→
(−)
(−)
(−)
(−)
bit
7
ICP1
リード / ライト→ (R/W)
(0)
初期値→
アドレス:000058H
10
9
8
CMOD OTE1
12
11
OTE0
OTD1
OTD0
(−)
(−)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
6
ICP0
5
ICE1
4
ICE0
3
2
−
−
1
CST1
0
CST0
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(−)
(−)
(R/W)
(0)
(R/W)
(0)
(−)
(−)
OCS1
OCS0
【bit15, bit14, bit13】未使用ビット
【bit12】CMOD
端子出力を許可した場合 (OTE1=1or 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 の一致によりレベルを反転します。
137
第 11 章 16 ビット入出力タイマ
【bit11, bit10】OTE1, OTE0
アウトプットコンペアの端子出力を許可するビットです。本ビットは初期値 "0" です。
< 注意事項 >
0
汎用ポートとして動作します。( 初期値 )
1
アウトプットコンペア端子出力になります。
OTE1: アウトプットコンペア 1(OUT1) に対応
OTE0: アウトプットコンペア 0(OUT0) に対応
それらを出力として指定するときにはポート方向レジスタの対応ビットも "1" に
セットしなければなりません。
【bit9, bit8】OTD1, OTD0
アウトプットコンペアの端子出力を許可した場合の端子出力レベルを変更するときに
使用します。コンペア端子出力の初期値は "0" となります。書込み時はコンペア動作
を停止してから行ってください。読出し時はアウトプットコンペア端子出力値が読め
ます。
< 注意事項 >
0
コンペア端子出力を "0" にします ( 初期値 )
1
コンペア端子出力を "1" にします
OTD1: アウトプットコンペア 1 に対応
OTD0: アウトプットコンペア 0 に対応
【bit7, bit6】ICP1, ICP0
アウトプットコンペアの割込みフラグです。コンペアレジスタと 16 ビットフリーラン
タイマ値が一致した場合に "1" にセットされます。割込み要求ビット (ICE1, ICE0) が許
可されているときに本ビットがセットされるとアウトプットコンペア割込みが発生し
ます。本ビットは "0" 書込みによりクリアされ , "1" 書込みでは意味をもちません。リー
ドモディファイ系命令では "1" が読めます。
< 注意事項 >
138
0
コンペア一致なし ( 初期値 )
1
コンペア一致あり
ICP1: アウトプットコンペア 1 に対応
ICP0: アウトプットコンペア 0 に対応
第 11 章 16 ビット入出力タイマ
【bit5, bit4】ICE1, ICE0
アウトプットコンペアの割込み許可ビットです。本ビットが "1" のとき割込みフラグ
(ICP0, ICP1) がセットされるとアウトプットコンペア割込みが発生します。
< 注意事項 >
0
アウトプットコンペア割込み禁止 ( 初期値 )
1
アウトプットコンペア割込み許可
ICE1: アウトプットコンペア 1 に対応
ICE0: アウトプットコンペア 0 に対応
【bit3, bit2】未使用ビット
【bit1, bit0】CST1, CST0
16 ビットフリーランタイマとの一致動作を許可するビットです。
0
コンペア動作禁止 ( 初期値 )
1
コンペア動作許可
コンペア動作許可をする前にコンペアレジスタ値を設定してください。
< 注意事項 >
CST1: アウトプットコンペア 1 に対応
CST0: アウトプットコンペア 0 に対応
アウトプットコンペアは 16 ビットフリーランタイマのクロックと同期させている
ため 16 ビットフリーランタイマを停止させるとコンペア動作も停止します。
139
第 11 章 16 ビット入出力タイマ
16 ビットアウトプットコンペアの動作
11.4.3
16 ビットアウトプットコンペアは , 設定されたコンペアレジスタ値と 16 ビットフ
リーランタイマとの値を比較して一致したら割込み要求フラグをセットするととも
に , 出力レベルを反転することができます。
■ コンペアレジスタ 0, 1 を使用したときの出力波形例 ( 出力の初期値は 0 とする )
図 11.4-4 コンペアレジスタ 0, 1 を使用したときの出力波形例
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
時間
0000H
リセット
コンペア
レジスタ 0 値
コンペア
レジスタ 1 値
BFFFH
7FFFH
OUT0
OUT1
コンペア 0 割込み
コンペア 1 割込み
■ 2 組のコンペアレジスタによる出力波形例 ( 出力の初期値は 0 とする )
2 組のコンペアレジスタを使い , 出力レベルを変えることができます
(CMOD=1 のとき ) 。
図 11.4-5 2 組のコンペアレジスタによる出力波形例 ( 出力の初期値は 0 とする )
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
時間
0000H
リセット
コンペア
レジスタ 0 値
コンペア
レジスタ 1 値
OUT0
OUT1
コンペア 0 割込み
コンペア 1 割込み
140
BFFFH
7FFFH
コンペア 0 と 1
に対応
第 11 章 16 ビット入出力タイマ
■ アウトプットコンペアのタイミング
アウトプットコンペアは , 16 ビットフリーランタイマと設定したコンペアレジスタの
値が一致したときにコンペア一致信号が発生して出力値を反転するとともに割込みを
発生することができます。コンペア一致時の出力反転タイミングはカウンタのカウン
トタイミングに同期して行われます。
● コンペアレジスタ書換え時のコンペア動作
コンペアレジスタ書換え時のカウンタ値とはコンペアしません。
図 11.4-6 コンペアレジスタ書換え時のコンペア動作
カウンタ値
N
コンペアレジスタ 0 値
N+1N+2N+3
一致信号は発生しない。
M
N+1
コンペアレジスタ 0 ライト
コンペアレジスタ 1 値
N+3
M
コンペアレジスタ 1 ライト
コンペア 0 停止
コンペア 1 停止
● アウトプットコンペアの割込みタイミング
図 11.4-7 アウトプットコンペアの割込みタイミング
φ
N
カウンタ値
N+1
コンペア
レジスタ値
N
コンペア一致
割込み
● アウトプットコンペアの出力端子変化タイミング
図 11.4-8 アウトプットコンペアの出力端子変化タイミング
カウンタ値
コンペア
レジスタ値
NN+1
N+1
N
N
コンペア一致
信号
端子出力
141
第 11 章 16 ビット入出力タイマ
インプットキャプチャ
11.5
インプットキャプチャは外部から入力された信号の立上りエッジ , 立下りエッジま
たは両エッジを検出して , そのときの 16 ビットフリーランタイマ値をレジスタに保
持する機能を持っています。また , エッジ検出時に割込みを発生することができま
す。インプットキャプチャは , インプットキャプチャデータレジスタ , 制御ステータ
スレジスタで構成されています。
■ インプットキャプチャ
各インプットキャプチャは , それぞれに対応した外部入力端子を持っています。
● 外部入力の有効エッジを 3 種類から選択可能です。
• 立上りエッジ ( ↑ )
• 立下りエッジ ( ↓ )
• 両エッジ ( ↑↓ )
● 外部入力の有効エッジを検出したときに割込みを発生することができます。
■ インプットキャプチャのブロックダイヤグラム
図 11.5-1 に , インプットキャプチャのブロックダイヤグラムを示します。
図 11.5-1 インプットキャプチャの全体ブロックダイヤグラム
キャプチャデータレジスタ 0
EG11 EG10 EG01
16 ビットタイマカウンタ値 (T15 ∼ T00)
バ
ス
IN0
エッジ検出
エッジ検出
キャプチャデータレジスタ 1
ICP1
ICP0
ICE1
EG00
IN1
ICE0
割込み
割込み
142
第 11 章 16 ビット入出力タイマ
11.5.1
インプットキャプチャのレジスタ
インプットキャプチャのレジスタは , 次の 2 つがあり , 対応した外部端子入力波形の
有効エッジを検出したとき 16 ビットフリーランタイマ値を保持するレジスタです
( ワードアクセスしてください。書込みはできません ) 。
• インプットキャプチャデータレジスタ (IPCP0/1)
• インプットキャプチャ制御ステータスレジスタ (ICS0/1)
■ インプットキャプチャデータレジスタ (IPCP0/1)
図 11.5-2 インプットキャプチャデータレジスタ (IPCP0/1)
bit
アドレス:001921H
001923H
リード / ライト→
初期値→
bit
アドレス:001920H
001922H
リード / ライト→
初期値→
15
CP15
14
CP14
13
CP13
12
CP12
11
CP11
10
CP10
9
CP09
8
CP08
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
7
CP07
6
CP06
5
CP05
4
CP04
3
CP03
2
CP02
1
CP01
0
CP00
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
IPCP0/
IPCP1
IPCP0/
IPCP1
■ インプットキャプチャ制御ステータスレジスタ (ICS0/1)
図 11.5-3 インプットキャプチャ制御ステータスレジスタ (ICS0/1)
bit
7
ICP1
6
ICP0
5
ICE1
4
ICE0
3
EG11
2
EG10
1
EG01
0
EG00
リード / ライト→ (R/W)
(0)
初期値→
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
アドレス:000054H
ICS0/ICS1
【bit7, bit6】ICP1, ICP0
インプットキャプチャ割込みフラグです。外部入力端子の有効エッジを検出すると本
ビットを "1" にセットします。割込み許可ビット (ICE0, ICE1) がセットされていると有
効エッジを検出することにより割込みを発生することができます。
本ビットは "0" 書込みによりクリアされます。"1" 書込みは意味を持ちません。リード
モディファイライト系命令では "1" が読めます。
< 注意事項 >
0
有効エッジ検出なし ( 初期値 )
1
有効エッジ検出あり
ICP0: インプットキャプチャ 0 に対応
ICP1: インプットキャプチャ 1 に対応
143
第 11 章 16 ビット入出力タイマ
【bit5, bit4】ICE1, ICE0
インプットキャプチャ割込み許可ビットです。本ビットが "1" のとき割込みフラグ
(ICP0, ICP1) がセットされるとインプットキャプチャ割込みが発生します。
< 注意事項 >
0
割込み禁止 ( 初期値 )
1
割込み許可
ICE0: インプットキャプチャ 0 に対応
ICE1: インプットキャプチャ 1 に対応
【bit3, bit2, bit1, bit0】EG11, EG10, EG01, EG00
外部入力の有効エッジ極性を指定します。インプットキャプチャ動作許可も兼用して
います。
< 注意事項 >
144
EG11
EG01
EG10
EG00
0
0
エッジ検出なし ( 停止状態 ) ( 初期値 )
0
1
立上りエッジ検出↑
1
0
立下りエッジ検出↓
1
1
両エッジ検出↑↓
エッジ検出極性
EG01, EG00: インプットキャプチャ 0 に対応
EG11, EG10: インプットキャプチャ 1 に対応
第 11 章 16 ビット入出力タイマ
11.5.2
16 ビットインプットキャプチャの動作
16 ビットインプットキャプチャは設定された有効エッジを検出すると 16 ビットフ
リーランタイマの値をキャプチャレジスタに取り込んで割込みを発生することとが
できます。
■ インプットキャプチャの取り込みタイミング例
• キャプチャ 0= 立上りエッジ
• キャプチャ 1= 立下りエッジ
• キャプチャ例 = 両エッジ ( 例として )
図 11.5-4 インプットキャプチャの取り込みタイミング例
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
0000H
時間
リセット
IN0
IN1
IN 例
キャプチャ 0
不定
キャプチャ 1
不定
キャプチャ 例
不定
3FFFH
7FFFH
BFFFH
3FFFH
キャプチャ 0 割込み
キャプチャ 1 割込み
キャプチャ割込み
145
第 11 章 16 ビット入出力タイマ
■ インプットキャプチャ入力タイミング
● 入力信号に対するキャプチャタイミング
図 11.5-5 入力信号に対するキャプチャタイミング
φ
カウンタ値
インプット
キャプチャ入力
N
N+1
有効エッジ
キャプチャ信号
キャプチャ
レジスタ
割込み
146
N+1
第 12 章
16 ビットリロードタイマ
( イベントカウント機能付 )
この章では , 16 ビットリロードタイマ ( イベント
カウント機能付 ) の機能と動作について説明しま
す。
12.1 16 ビットリロードタイマ ( イベントカウント機能付 )
の概要
12.2 16 ビットリロードタイマのレジスタ
12.3 16 ビットリロードタイマの内部クロック動作と外部ク
ロック動作
12.4 16 ビットリロードタイマのアンダフロー動作
12.5 16 ビットリロードタイマの出力端子機能
12.6 カウンタの動作状態
147
第 12 章 16 ビットリロードタイマ ( イベントカウント機能付 )
12.1
16 ビットリロードタイマ ( イベントカウント機能付 )
の概要
16 ビットリロードタイマ 1 は , 16 ビットのダウンカウンタ , 16 ビットのリロードレ
ジスタ , 入力端子 1 本 (TIN), 出力端子 1 本 (TOT), 制御レジスタで構成されていま
す。入力クロックとして内部クロック 3 種類と外部クロックを選択できます。
■ 16 ビットリロードタイマ ( イベントカウント機能付 ) の概要
出力端子 (TOT) には , リロードモード時にはトグル出力波形を出力し , ワンショット
モード時にはカウント中を示す矩形波を出力します。入力端子 (TIN) は , イベントカウ
ントモード時にイベント入力となり , 内部クロックモード時にはトリガ入力または
ゲート入力に使用することができます。
MB90590 シリーズの 16 ビットリロードタイマは 2 つですが , TIN 入力および TOT 出
力外部端子はこれらの 2 つのタイマ間で共有されています。
■ インテリジェント I/O サービス (EI2OS) 機能と割込み
本タイマは EI2OS 対応の回路を有しています。このため , 本タイマのアンダフローに
より EI2OS を起動させることができます。本製品では , 2 つのタイマすべてが EI2OS で
使用することができますが , 割込みコントローラ内の割込み制御レジスタ (ICRx) 1 つ
に対して 2 つのタイマ (ch.0+ch.1) を接続してありますので , ch.0 と ch.1 を別の用途の
EI2OS に割り当てることはできません。また , 2 つのタイマはそれぞれ別の割込みベク
タを持っていますので , 割込みは同時に 2 つの用途に使用できますが , ch.0 と ch.1 の割
込み制御レジスタが上記共有関係にありますので , 割込みレベルは組合せのチャネル
で同一のレベルとなります。
148
第 12 章 16 ビットリロードタイマ ( イベントカウント機能付 )
■ 16 ビットリロードタイマのブロックダイヤグラム
図 12.1-1 に , 16 ビットリロードタイマのブロックダイヤグラムを示します。
図 12.1-1 16 ビットリロードタイマのブロックダイヤグラム
16
16 ビットリロードレジスタ
8
リロード
RELD
UF
16 ビットダウンカウンタ
OUTE
16
F2MC-16LX バス
OUTL
2
OUT
CTL.
GATE
INTE
UF
CSL1
クロックセレクタ
CNTE
CSL0
TRG
リトリガ
IRQ
クリア
EI2OSCLR
2
出力許可
IN CTL
EXCK
φ
21
φ
23
φ
25
3
プリスケーラ
クリア
MOD2
MOD1
周辺クロック
ポート (TIN)
MOD0
ポート (TOT)
UART ボーレート (ch.0)
A/DC (ch.1)
3
149
第 12 章 16 ビットリロードタイマ ( イベントカウント機能付 )
16 ビットリロードタイマのレジスタ
12.2
16 ビットリロードタイマのレジスタには , 次の 2 種類があります。
• タイマ制御レジスタ
• 16 ビットタイマレジスタ /16 ビットリロードレジスタ
■ 16 ビットリロードタイマのレジスタ
図 12.2-1 16 ビットリロードタイマのレジスタ
タイマ制御ステータスレジスタ上位
15
bit
14
13
12
アドレス:ch.0 000051 H
ch.1 000053 H
リード / ライト
初期値
(
(
)
)
(
(
)
)
(
(
)
)
(
(
)
)
11
10
9
8
CSL1
CSL0
MOD2 MOD1
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
タイマ制御ステータスレジスタ下位
7
6
5
4
MOD0
OUTE
OUTL
RELD
INTE
UF
CNTE
TRG
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
10
9
8
bit
アドレス:
ch.0 000050 H
ch.1 000052 H
リード / ライト
初期値
3
2
1
0
TMCSR
16 ビットタイマレジスタ上位 /16 ビットリロードレジスタ上位
bit
15
14
13
(R/W)
(X)
(R/W)
(X)
12
11
アドレス: ch.0 001941 H
ch.1 001943 H
リード / ライト
初期値
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
16 ビットタイマレジスタ下位 /16 ビットリロードレジスタ下位
bit
アドレス:
6
5
4
3
2
1
ch.0 001940 H
ch.1 001942 H
リード / ライト
初期値
150
7
0
TMR/
TMRLR
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
第 12 章 16 ビットリロードタイマ ( イベントカウント機能付 )
12.2.1
タイマ制御ステータスレジスタ (TMCSR)
16 ビットタイマの動作モードおよび割込みの制御をします。UF, CNTE, TRG ビット
以外のビットの書換えは , CNTE=0 のときに行うようにしてください。
■ タイマ制御ステータスレジスタ (TMCSR) の配置
図 12.2-2 タイマ制御ステータスレジスタ (TMCSR) の配置
タイマ制御ステータスレジスタ上位
15
bit
14
13
12
11
10
9
8
ch.0 000051 H
アドレス:ch.1 000053 H
リード / ライト
初期値
(
(
)
)
(
(
)
)
(
(
)
)
(
(
)
)
CSL1
CSL0
MOD2
MOD1
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
タイマ制御ステータスレジスタ下位
7
6
5
MOD0
OUTE
OUTL
RELD
INTE
UF
CNTE
TRG
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
bit
アドレス:ch.0 000050 H
ch.1 000052 H
リード / ライト
初期値
4
3
2
1
0
TMCSR
■ タイマ制御ステータスレジスタ (TMCSR) の内容
【bit11, bit10】CSL1, CSL0(ClockSeLect1, 0)
カウントクロックセレクトビットです。選択されるクロックソースを , 表 12.2-1 に示
します。
表 12.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, bit8, bit7】MOD2, MOD1, MOD0
動作モードおよび入出力端子の機能を設定するビットです。
MOD2 ビットは , 入出力の機能を選択するビットです。"0" の場合 , 入力端子はトリガ
入力端子となり , 有効エッジが入力されるとリロードレジスタの内容をカウンタへ
ロードし , カウント動作を継続します。"1" の場合 , ゲートカウンタモードになり , 入
力端子はゲート入力となり , 有効レベルが入力されている間のみカウントをします。
MOD1, MOD0 ビットは , 各モードにおける端子の機能の設定を行います。MOD2,
MOD1, MOD0 ビットの設定を表 12.2-2 および表 12.2-3 に示します。
151
第 12 章 16 ビットリロードタイマ ( イベントカウント機能付 )
表 12.2-2 MOD2, MOD1, MOD0 ビットの設定方法 (1)
MOD2
MOD1
MOD0
入力端子機能
有効エッジ , レベル
0
0
0
トリガ禁止
―
0
0
1
トリガ入力
立上りエッジ
0
1
0
↑
立下りエッジ
0
1
1
↑
両エッジ
1
×
0
ゲート入力
"L" レベル
1
×
1
↑
"H" レベル
内部クロックモード時 (CSL0, CSL1=00, 01, 10)
表 12.2-3 MOD2, MOD1, MOD0 ビットの設定方法 (2)
MOD2
×
MOD1
MOD0
入力端子機能
有効エッジ , レベル
0
0
―
―
0
1
トリガ入力
立上りエッジ
1
0
↑
立下りエッジ
1
1
↑
両エッジ
• イベントカウントモード時 (CSL0, CSL1=11)
• 表中の×は , 任意の値
【bit6】OUTE
出力許可ビットです。"0" のとき TOT 端子は汎用ポートになり , "1" のとき TOT 端子は
タイマ出力端子になります。出力波形はリロードモード時トグル出力となり , ワン
ショットモード時はカウンタ中を示す矩形波出力になります。
【bit5】OUTL
TOT 端子の出力レベルを設定するビットです。
表 12.2-4 OUTE, RELD, OUTL の設定方法
152
OUTE
RELD
OUTL
0
×
×
汎用ポート
1
0
0
カウント中 "H" の矩形波
1
0
1
カウント中 "L" の矩形波
1
1
0
カウントスタート時 "L" のトグル出力
1
1
1
カウントスタート時 "H" のトグル出力
出力波形
第 12 章 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" のときには , なにもおこりま
せん。
153
第 12 章 16 ビットリロードタイマ ( イベントカウント機能付 )
12.2.2
16 ビットタイマレジスタ (TMR)/16 ビットリロード
レジスタ (TMRLR) のレジスタ配置
16 ビットタイマレジスタ (TMR) ( 書込み時 ) は , 16 ビットタイマのカウント値を読
み出すことができるレジスタです。初期値は不定です。このレジスタの読出しは ,
必ずワード転送命令で行ってください。
16 ビットリロードレジスタ (TMRLR) ( 読出し時 ) は , カウントの初期値を保持して
おくレジスタです。初期値は不定です。このレジスタへの書込みは , 必ずワード転
送命令で行ってください。
■ 16ビットタイマレジスタ(TMR)/16ビットリロードレジスタ(TMRLR)のレジスタ配
置
図 12.2-3 16 ビットタイマレジスタ (TMR)/16 ビットリロードレジスタ (TMRLR) のレジスタ配置
16 ビットタイマレジスタ上位 /16 ビットリロードレジスタ上位
bit
15
14
13
(R/W)
(X)
(R/W)
(X)
12
11
10
9
8
アドレス:ch.0 001941 H
ch.1 001943 H
リード / ライト
初期値
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
16 ビットタイマレジスタ下位 /16 ビットリロードレジスタ下位
bit
7
6
5
4
3
2
1
アドレス:ch.0 001940 H
TMR/
TMRLR
ch.1 001942 H
リード / ライト
初期値
154
0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
第 12 章 16 ビットリロードタイマ ( イベントカウント機能付 )
12.3
16 ビットリロードタイマの内部クロック動作と外部ク
ロック動作
内部クロックの分周クロックでタイマを動作させる場合 , クロックソースとしてマ
シンクロックの 21, 23, 25 分周のクロックから選択することができます。外部入力端
子は , レジスタの設定により , トリガ入力またはゲート入力にすることができます。
外部クロックをセレクトすると TIN 端子は , 外部イベント入力端子となりレジスタ
で設定された有効エッジをカウントします。
■ 16 ビットリロードタイマの内部クロック動作
カウント許可と同時にカウント動作を開始したい場合は , 制御レジスタの CNTE ビッ
トと TRG ビットの両方に "1" を書き込んでください。
TRG ビットによるトリガ入力は ,
16 ビットリロードタイマが起動状態のとき (CNTE="1") 動作モードにかかわらず常に
有効です。
図 12.3-1 に , カウンタの起動およびカウンタの動作について示します。カウンタスター
トのトリガが入力されてからリロードレジスタのデータがカウンタへロードされるま
でに , T (T: マシンサイクル ) の時間がかかります。
図 12.3-1 16 ビットリロードタイマのカウンタの起動および動作
カウント
クロック
カウンタ
リロードデータ
-1-1
-1
データロード
CNTE( ビット )
TRG( ビット )
T
■ 16 ビットリロードタイマの入力端子機能 ( 内部クロックモード時 )
クロックソースとして , 内部クロックを選択した場合 , TIN 端子はトリガ入力または
ゲート入力として使用することができます。トリガ入力として使用した場合 , 有効エッ
ジが入力されるとリロードレジスタの内容をカウンタにロードして , 内部プリスケー
ラをクリアした後 , カウント動作を開始します。
TIN は , 2・T (T はマシンサイクル ) 以上のパルスを入力してください。図 12.3-2 に , ト
リガ入力の動作を示します。
155
第 12 章 16 ビットリロードタイマ ( イベントカウント機能付 )
図 12.3-2 16 ビットリロードタイマのトリガ入力の動作
カウント
クロック
立上りエッジ検出時
TIN
プリスケーラ
クリア
カウンタ
リロードデータ
0000H
-1-1
-1
ロード
2T~
2.5T
ゲート入力として使用する場合 , 制御レジスタの MOD0 ビットにより設定される有効
レベルが , TIN 端子から入力されている間のみカウントをします。このときカウントク
ロックは , 止まらずに動き続けます。ゲートモード時のソフトウェアトリガは , ゲート
レベルにかかわらず可能です。TIN 端子のパルス幅は , 2・T (T はマシンサイクル ) 以
上にしてください。図 12.3-3 に , ゲート入力の動作を示します。
図 12.3-3 16 ビットリロードタイマのゲート入力の動作
カウント
クロック
TIN
MOD0=:"1" とした場合 ( 入力 "H" の間カウント )
-1-1
カウンタ
-1
■ 外部イベントカウント
外部クロックをセレクトすると TIN 端子は , 外部イベント入力端子となりレジスタで
設定された有効エッジをカウントします。TIN 端子のパルス幅は , 4・T (T はマシンサ
イクル ) 以上にしてください。
156
第 12 章 16 ビットリロードタイマ ( イベントカウント機能付 )
12.4
16 ビットリロードタイマのアンダフロー動作
16 ビットリロードタイマにより , カウンタ値が 0000H から FFFFH に変化したとき
にアンダフローが定義されますので , ( リロードレジスタ設定 +1) カウントの後でア
ンダフローが生じます。
■ 16 ビットリロードタイマのアンダフロー動作
アンダフロー発生時 , 制御レジスタの RELD ビットが "1" のときリロードレジスタの内
容をカウンタへロードしてカウント動作を継続し , "0" のときカウンタを FFFFH で停止
させます。
アンダフローが発生すると , 制御レジスタの UF ビットをセットし , このときに INTE
ビットが "1" であると割込み要求を発生します。
図 12.4-1 に , アンダフロー発生時の動作を示します。
図 12.4-1 16 ビットリロードタイマのアンダフロー動作
カウント
クロック
カウンタ
0000H
リロードデータ
-1-1
-1
データロード
アンダフロー
セット
[RELD=1]
カウント
クロック
カウンタ
0000H
FFFFH
アンダフロー
セット
[RELD=0]
157
第 12 章 16 ビットリロードタイマ ( イベントカウント機能付 )
12.5
16 ビットリロードタイマの出力端子機能
TOT 端子はリロードモード時には , アンダフローにより反転するトグル出力として ,
ワンショットモード時には , カウント中を示すパルス出力として機能します。
■ 16 ビットリロードタイマの出力端子機能
16 ビットリロードタイマの出力極性は , レジスタの OUTL ビットにより設定でき
OUTL="0" のときトグル出力は , 初期値が "0" で , ワンショットパルス出力は , カウン
ト中 "1" を出力します。OUTL="1" にすると出力波形は , 反転します。図 12.5-1 と図
12.5-2 に出力端子機能を示します。
図 12.5-1 16 ビットリロードタイマの出力端子機能 (1)
カウント開始
アンダフロー
TOT
OUTL=1 のときは反転
汎用ポート
CNTE
起動トリガ
[RELD=1, OUTL=0]
図 12.5-2 16 ビットリロードタイマの出力端子機能 (2)
アンダフロー
TOT
汎用ポート
OUTL=1 のとき
は反転
CNTE
起動トリガ
起動トリガ待ち状態
[RELD=0, OUTL=0]
158
第 12 章 16 ビットリロードタイマ ( イベントカウント機能付 )
12.6
カウンタの動作状態
カウンタの状態は , 制御レジスタの CNTE ビットと内部信号の WAIT 信号によって
決まります。設定可能な状態として CNTE=0, WAIT=1 の停止状態 (STOP 状態 ) ,
CNTE=1, WAIT=1 の起動トリガ待ち状態 (WAIT 状態 ) ,
CNTE=1, WAIT=0 の動作状態 (RUN 状態 ) があります。
■ カウンタの動作状態
図 12.6-1 に , 各状態の遷移を示します。
図 12.6-1 カウンタの状態遷移
リセット
ハードウェアによる状態遷移
STOP
CNTE=0, WAIT=1
レジスタアクセスによる状態遷移
TIN:入力禁止
TOT:汎用ポート
カウンタ:停止時の値を保持
リセット直後は不定
CNTE=0
CNTE=0
CNTE=1
TRG=1
CNTE=1
TRG=0
WAIT
RUN
CNTE=1, WAIT=1
CNTE=1, WAIT=0
TIN :トリガ入力のみ有効
TIN :TIN として機能
TOT:初期値出力
TOT:TOT として機能
カウンタ:停止時の値を保持
リセット直後ロード
するまでは不定
RELD·UF
カウンタ:動作
TRG=1 TRG=1
RELD·UF
LOAD
CNTE=1, WAIT=0
リロードレジスタの内容を
カウンタへロード
ロード終了
159
第 12 章 16 ビットリロードタイマ ( イベントカウント機能付 )
160
第 13 章
時計タイマ
この章では , 時計タイマの機能と動作について説明
します。
13.1 時計タイマの概要
13.2 時計タイマのレジスタ
161
第 13 章 時計タイマ
13.1
時計タイマの概要
時計タイマは , タイマ制御レジスタ , サブ秒レジスタ , 秒 / 分 / 時間レジスタ , 1/2 ク
ロック分周器 , 21 ビットプリスケーラおよび秒 / 分 / 時間カウンタから構成されてい
ます。MCU の発振周波数は , 所定の時計タイマの動作を行うために , 4MHz である
ことが前提になっています。時計タイマはリアルワールドタイマとして動作してリ
アルワールド時間情報を提供します。
■ 時計タイマのブロックダイヤグラム
図 13.1-1 に , 時計タイマのブロックダイヤグラムを示します。
図 13.1-1 時計タイマのブロックダイヤグラム
発振クロック 1/2 クロック
分周器
OE
21 ビットプリスケーラ
OE
WOT
CO
EN
サブ秒レジスタ
UPDT
ST
秒カウンタ
CI
EN
LOAD
CO
6 ビット
INTE0
INT0
分カウンタ
INTE1
時間カウンタ
CO
6 ビット
秒 / 分 / 時間レジスタ
INT1
INTE2
INT2
CO
5 ビット
INT3
INT3
IRQ
162
第 13 章 時計タイマ
13.2
時計タイマのレジスタ
時計タイマのレジスタには , 次の 5 種類があります。
• タイマ制御レジスタ
• サブ秒レジスタ
• 秒レジスタ
• 分レジスタ
• 時間レジスタ
■ 時計タイマのレジスタ
図 13.2-1 時計タイマのレジスタ (1/2)
タイマ制御レジスタ
bit
アドレス : 000060H
リード / ライト→
初期値→
7
6
5
4
3
2
1
0
予約
(R/W)
(0)
予約
(R/W)
(0)
予約
(R/W)
(0)
−
(−)
(−)
−
(−)
(−)
UPDT
(R/W)
(0)
OE
(R/W)
(0)
ST
(R/W)
(0)
15
14
13
12
11
10
9
8
WTCR
タイマ制御レジスタ
bit
アドレス : 000061H
リード / ライト→
初期値→
INTE3
(R/W)
(0)
INT3 INTE2
(R/W) (R/W)
(0)
(0)
INT2 INTE1
(R/W) (R/W)
(0)
(0)
INT1 INTE0
(R/W) (R/W)
(0)
(0)
INT0
(R/W)
(0)
WTCR
サブ秒レジスタ
bit
アドレス : 00194AH
リード / ライト→
初期値→
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
15
14
13
12
11
10
9
8
D15
(R/W)
(X)
D14
(R/W)
(X)
D13
(R/W)
(X)
D12
(R/W)
(X)
D11
(R/W)
(X)
D10
(R/W)
(X)
D9
(R/W)
(X)
D8
(R/W)
(X)
7
6
5
4
3
2
1
0
−
(−)
(−)
D20
(R/W)
(X)
D19
(R/W)
(X)
D18
(R/W)
(X)
D17
(R/W)
(X)
D16
(R/W)
(X)
WTBR
サブ秒レジスタ
bit
アドレス : 00194BH
リード / ライト→
初期値→
WTBR
サブ秒レジスタ
bit
アドレス : 00194CH
リード / ライト→
初期値→
−
(−)
(−)
−
(−)
(−)
WTBR
163
第 13 章 時計タイマ
図 13.2-1 時計タイマのレジスタ (2/2)
秒レジスタ
bit
アドレス : 00194DH
リード / ライト→
初期値→
15
14
13
12
11
10
9
8
−
(−)
(−)
−
(−)
(−)
S5
(R/W)
(0)
S4
(R/W)
(0)
S3
(R/W)
(0)
S2
(R/W)
(0)
S1
(R/W)
(0)
S0
(R/W)
(0)
7
6
5
4
3
2
1
0
−
(−)
(−)
−
(−)
(−)
M5
(R/W)
(0)
M4
(R/W)
(0)
M3
(R/W)
(0)
M2
(R/W)
(0)
M1
(R/W)
(0)
M0
(R/W)
(0)
15
14
13
12
11
10
9
8
−
(−)
(−)
−
(−)
(−)
−
(−)
(−)
H4
H3
H2
H1
H0
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
WTSR
分レジスタ
bit
アドレス : 00194EH
リード / ライト→
初期値→
WTMR
時間レジスタ
bit
アドレス : 00194FH
リード / ライト→
初期値→
164
WTHR
第 13 章 時計タイマ
13.2.1
タイマ制御レジスタ (WTCR)
タイマ制御レジスタ (WTCR) は時計タイマの起動・停止 , 割込みの制御や外部出力
端子の設定などを行います。
■ タイマ制御レジスタ (WTCR)
図 13.2-2 タイマ制御レジスタ (WTCR)
タイマ制御レジスタ
bit
アドレス : 000060H
リード / ライト→
初期値→
7
6
5
4
3
2
1
0
OE
(R/W)
(0)
ST
(R/W)
(0)
9
8
INTE0
(R/W)
(0)
INT0
(R/W)
(0)
予約
(R/W)
(0)
予約
(R/W)
(0)
予約
(R/W)
(0)
−
(−)
(−)
−
(−)
(−)
UPDT
(R/W)
(0)
15
14
13
12
11
10
INTE3
(R/W)
(0)
INT3
(R/W)
(0)
WTCR
タイマ制御レジスタ
bit
アドレス : 000061H
リード / ライト→
初期値→
INTE2 INT2
(R/W) (R/W)
(0)
(0)
INTE1 INT1
(R/W) (R/W)
(0)
(0)
WTCR
【bit15 ∼ bit8】INT3 ∼ INT0, INTE3 ∼ INTE0: 割込みフラグおよび割込みイネーブル
フラグ
INT0 ∼ INT3 は割込みフラグです。これらのフラグは秒カウンタ , 分カウンタおよび
時間カウンタがそれぞれオーバフローしたときにセットされます。もし対応する INTE
ビットが "1" であるときに INT ビットがセットされたとすれば , 時計タイマは割込みの
信号を発します。これらのフラグは秒 / 分 / 時間 / 日ごとに割込みの信号を発するよう
にされています。
INT ビットに "0" を書込むと各フラグはクリアされますが , "1" を書込んでも効果はあ
りません。INT ビットに対して何らかのリードモディファイライト系命令を実行する
と "1" がリードされることになります。
【bit7 ∼ bit5】予約ビット
予約ビットです。本ビットには必ず "0" を書き込んでください。
【bit2】UPDT: 書換えビット
UPDT ビットは秒 / 分 / 時間カウンタ値を変更するために用意されたものです。
カウンタ値を変更するためには変更データを秒 / 分 / 時間レジスタに書き込んでくださ
い。次に UPDT ビットを "1" にセットしてください。レジスタ値は 21 ビットプリス
ケーラからの次の CO 信号時にカウンタにロードされます。UPDT ビットはカウンタ値
が書換えられたときにハードウェアによりリセットされます。ただし , ソフトウェアに
よるセット動作と上記ハードウェアによるリセット動作が同時に生じた場合には
UPDT ビットはリセットされません。
UPDT ビットに "0" を書き込んでも効果はなく , リードモディファイライト系命令は "0"
をリードする結果となります。
< 注意事項 >
秒カウンタが , 59 秒を示しているとき , UPDT ビットをセットしてもカウンタ値
は , 変更されず , このビットはクリアされます。このため , ST ビットによりカウン
タ値を変更することをおすすめします。
165
第 13 章 時計タイマ
【bit1】OE: 出力許可ビット
OE ビットが "1" にセットされたとき WOT 外部端子は時計タイマ用の出力として機能
します。その他の場合にそれは汎用 I/O またはほかのペリフェラルブロックとして使
用することができます。
【bit0】ST: 開始ビット
ST ビットが "1" にセットされたときに時計タイマは秒 / 分 / 時間値を各レジスタから
ロードしてその動作を開始します。それが "0" にリセットされたときにすべてのカウ
ンタおよびプリスケーラは "0" にリセットされて停止します。
166
第 13 章 時計タイマ
サブ秒レジスタ (WTBR)
13.2.2
サブ秒レジスタ (WTBR) は , 発振クロックを分周する 21 ビットプリスケーラのリ
ロード値を格納します。リロード値は通常 21 ビットプリスケーラの出力が正確に 1
秒周期となるように設定されます。サブ秒レジスタはリセットで初期化されません
が , プリスケーラは初期化されます。
■ サブ秒レジスタ (WTBR)
図 13.2-3 サブ秒レジスタ (WTBR)
サブ秒レジスタ
bit
アドレス : 00194AH
リード / ライト→
初期値→
7
6
5
4
3
2
1
0
D7
(R/W)
(X)
D6
(R/W)
(X)
D5
(R/W)
(X)
D4
(R/W)
(X)
D3
(R/W)
(X)
D2
(R/W)
(X)
D1
(R/W)
(X)
D0
(R/W)
(X)
15
14
13
12
11
10
9
8
D15
(R/W)
(X)
D14
(R/W)
(X)
D13
(R/W)
(X)
D12
(R/W)
(X)
D11
(R/W)
(X)
D10
(R/W)
(X)
D9
(R/W)
(X)
D8
(R/W)
(X)
7
6
5
4
3
2
1
0
−
(−)
(−)
−
(−)
(−)
−
(−)
(−)
D20
D19
D18
D17
D16
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
WTBR
サブ秒レジスタ
bit
アドレス : 00194BH
リード / ライト→
初期値→
WTBR
サブ秒レジスタ
bit
アドレス : 00194CH
リード / ライト→
初期値→
WTBR
【bit20 ∼ bit0】D20 ∼ D0
サブ秒レジスタは 21 ビットプリスケーラに対するリロード値を記憶するものです。こ
の値はリロードカウンタが "0" に達した後にリロードされます。すべての 3 バイトを
変更するときにはリロード動作が書込み命令同士の間に実行されないように注意して
ください。そうしないと 21 ビットプリスケーラは新たなデータバイトと古いデータバ
イトを組み合せた誤った値をロードしてしまいます。普通はサブ秒レジスタを開始
ビットが "0" の間に書き換えることを推奨します。もしサブ秒レジスタが "0" にセット
されれば 21 ビットプリスケーラは全く動作しません。
入力クロック周波数は常に発振クロック周波数と等しくなるようにされており , 4MHz
が意図されています。21 ビットプリスケーラのリロード値は典型的には 16 進数で
1E847F であり , これは "27*56-1" に等しくなります。このためこれらの 2 つのプリス
ケーラの組合せにより厳密に 1 秒のクロック信号が与えられることになります。
167
第 13 章 時計タイマ
13.2.3
秒 / 分 / 時間レジスタ (WTSR/WTMR/WTHR)
秒 / 分 / 時間レジスタ (WTSR/WTMR/WTHR) は時間情報を記憶します。それは秒 ,
分および時間をバイナリで表示します。
これらのレジスタを読み取るとそれぞれのカウンタ値が読み出されます。しかしこ
れらのレジスタは書込みを伴うものであり , UPDT ビットが "1" にセットされた後は
書込みデータが各カウンタ内にロードされます。これらのレジスタおよびカウンタ
はリセットにて初期化されます。
■ 秒 / 分 / 時間レジスタ (WTSR/WTMR/WTHR)
図 13.2-4 秒 / 分 / 時間レジスタ (WTSR/WTMR/WTHR)
秒レジスタ
bit
アドレス : 00194DH
リード / ライト→
初期値→
15
14
13
12
11
10
9
8
−
(−)
(−)
−
(−)
(−)
S5
(R/W)
(0)
S4
(R/W)
(0)
S3
(R/W)
(0)
S2
(R/W)
(0)
S1
(R/W)
(0)
S0
(R/W)
(0)
7
6
5
4
3
2
1
0
−
(−)
(−)
−
(−)
(−)
M5
M4
M3
M2
M1
M0
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
15
14
13
12
11
10
9
8
−
(−)
(−)
−
(−)
(−)
−
(−)
(−)
H4
(R/W)
(0)
H3
(R/W)
(0)
H2
(R/W)
(0)
H1
(R/W)
(0)
H0
(R/W)
(0)
WTSR
分レジスタ
bit
アドレス : 00194EH
リード / ライト→
初期値→
WTMR
時間レジスタ
bit
アドレス : 00194FH
リード / ライト→
初期値→
WTHR
秒 / 分 / 時間レジスタには , 3 つのバイトレジスタがありますので , レジスタから得ら
れる値が一貫していることを確認してください。
すなわち "1 時間 59 分 59 秒 " という値が得られたとすると , それは "0 時間 59 分 59 秒 "
または "1 時間 0 分 0 秒 " または "2 時間 0 分 0 秒 " かも知れません。
同様に , MCU の動作クロックが発振クロックの半分の場合 (PLL が停止したとき ) , こ
れらのレジスタからのリード値は誤っている可能性があります。これは , 読出し動作と
カウンタ動作の同期によるものです。このため , 使用する上では秒割込みで読出し命令
をトリガすることを推奨いたします。
168
第 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 の各ハードウェアの初期値
169
第 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 出力 2 チャネル独立動作モード
2 チャネルの独立した PPG 出力動作が可能です。
● 16 ビット PPG 出力動作モード
1 チャネルの 16 ビットの PPG 出力動作が可能です。
● 8 ビットプリスケーラ +8 ビット PPG 出力動作モード
ch.0 の出力を ch.1 のクロック入力とすることにより , 任意周期の 8 ビット PPG 出力動
作が可能です。
● PPG 出力動作
任意周期・デューティ比のパルス波を出力します。外付け回路により D/A コンバータ
としても使用可能です。
PPG の ch.0 と ch.1 を合わせて 1 ユニットとよびます。
MB90590 シリーズには PPG が 6 ユニットあります。次節では PPG の ch.0 と ch.1 の機
能についてのみ記述します。残りの PPG も同じ機能を持ち , レジスタアドレスについ
ては I/O マップに記しています。
PPG の ch.0 を PPG (ch.0), と ch.1 を PPG (ch.1) と表します。
170
第 14 章 8/16 ビット PPG
14.2
8/16 ビット PPG のブロックダイヤグラム
図 14.2-1 に , 8 ビット PPG(ch.0) のブロックダイヤグラムを , 図 14.2-2 に , 8 ビッ
ト PPG(ch.1) のブロックダイヤグラムを示します。
■ 8/16 ビット PPG のブロックダイヤグラム
図 14.2-1 8 ビット PPG(ch.0) のブロックダイヤグラム
周辺クロック 16 分周
周辺クロック 8 分周
周辺クロック 4 分周
周辺クロック 2 分周
周辺クロック
PPG00
出力ラッチ
反転
クリア
PEN0
カウント
クロック選択
タイムベースカウンタ
の出力メインクロック
の 512 分周
L/H セレクト
PCNT
( ダウンカウンタ )
MB90590 シリーズでは , この IRQ
信号は OR 論理により PPG (ch.1)
の IRQ 信号とマージされます。
S
RQ
IRQ
リロード
ch.1- ボロー
L/H セレクタ
P RLL0
PRLBH0
PIE0
PRLH0
PUF0
"L" 側データバス
"H" 側データバス
PPGC0
( 動作モード制御 )
ch.0 の PPG 出力信号は外部端子に接続していません。
171
第 14 章 8/16 ビット PPG
図 14.2-2 8 ビット PPG(ch.1) のブロックダイヤグラム
PPG0 端子出力許可
PPG0 端子
周辺クロック 16 分周
周辺クロック 8 分周
周辺クロック 4 分周
周辺クロック 2 分周
周辺クロック
MB90590 シリーズでは , この端子は
「PPG0」外部端子に接続しています。
PPG1
出力ラッチ
反転
カウント
クロック選択
ch.0- ボロー
クリア
PEN1
S
RQ
PCNT
( ダウンカウンタ )
タイムベースカ
ウンタの出力メ
インクロックの
512 分周
L/H セレクト
MB90590 シリーズでは , この IRQ
信号は OR 論理により PPG (ch.0)
の IRQ 信号とマージされます。
IRQ
リロード
L/H セレクタ
PRLL1
PRLBH1
PIE1
PRLH1
PUF1
L 側データバス
H 側データバス
PPGC1
( 動作モード制御 )
図 14.2-3 PPG モジュールとユニット番号 , および外部端子の関係
PPG ユニット 0
PPG (ch.0), PPG (ch.1)
PPG0
PPG ユニット 1
PPG (ch.2), PPG (ch.3)
PPG1
PPG ユニット 2
PPG (ch.4), PPG (ch.5)
PPG2
PPG ユニット 3
PPG (ch.6), PPG (ch.7)
PPG3
PPG ユニット 4
PPG (ch.8), PPG (ch.9)
PPG4
PPG ユニット 5
PPG (ch.A), PPG (ch.B)
PPG5
外部端子
172
第 14 章 8/16 ビット PPG
14.3
8/16 ビット PPG のレジスタ
8/16 ビット PPG のレジスタには , 次の 5 つがあります。
• PPG0 動作モード制御レジスタ
• PPG1 動作モード制御レジスタ
• PPG0/1 クロック選択レジスタ
• リロードレジスタ H
• リロードレジスタ L
■ 8/16 ビット PPG のレジスタ
図 14.3-1 8/16 ビット PPG のレジスタ
PPG0 動作モード制御レジスタ
7
6
5
4
3
2
1
0
PEN0
−
PE00
PIE0
PUF0
−
−
予約
(−)
(−)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(−)
(−)
(−)
(−)
(W)
(1)
15
14
13
12
11
10
9
8
PEN1
−
PE10
PIE1
PUF1
MD1
MD0
予約
(−)
(−)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(W)
(1)
7
6
5
4
3
2
1
0
PCS2
PCS1
PCS0
PCM2 PCM1 PCM0
−
−
リード / ライト→ (R/W)
(0)
初期値→
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(−)
(−)
(−)
(−)
アドレス : bit
ch.0 000038H
リード / ライト→ (R/W)
(0)
初期値→
PPGC0
PPG1 動作モード制御レジスタ
アドレス : bit
ch.1 000039H
リード / ライト→ (R/W)
(0)
初期値→
PPGC1
PPG0/1 クロック選択レジスタ
アドレス : bit
ch.0, 1 003AH
リロードレジスタ H
アドレス :
bit
15
14
13
(R/W)
(0)
12
11
(R/W)
(0)
10
9
8
ch.0 001901H
ch.1 001903H
リード / ライト→
初期値→
リロードレジスタ L
アドレス :
ch.0 001900H
ch.1 001902H
リード / ライト→
初期値→
PPG01
PRLH
(R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
bit
7
6
5
4
(R/W) (R/W)
(X)
(X)
3
2
(R/W)
(X)
1
0
PRLL
(R/W) (R/W)
(X)
(X)
(R/W) (R/W) (R/W)
(X)
(X)
(X)
(R/W) (R/W)
(X)
(X)
(R/W)
(X)
173
第 14 章 8/16 ビット PPG
14.3.1
PPG0 動作モード制御レジスタ (PPGC0)
動作モード制御レジスタ (PPGC0) は , 8/16 ビット PPG の動作モードの選択 , 端子
出力制御 , カウントクロック選択およびトリガの制御を行う 5 ビットの制御レジス
タです。PPG (ch.0) を制御します。
■ PPG0 動作モード制御レジスタ (PPGC0)
図 14.3-2 PPG0 動作モード制御レジスタ (PPGC0)
7
6
5
4
3
2
1
0
PEN0
−
PE00
PIE0
PUF0
−
−
予約
(−)
(−)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(−)
(−)
(−)
(−)
(W)
(1)
アドレス : bit
ch.0 000038H
リード / ライト→ (R/W)
(0)
初期値→
PPGC0
【bit7】PEN0(Ppg ENable): 動作許可ビット
PPG (ch.0) の動作開始および動作モードを以下のように選択します。
PEN0
動作状態
0
動作停止 ("L" レベル出力保持 )
1
PPG (ch.0) 動作許可
本ビットに 1 を書き込むことで , PPG (ch.0) はカウントを開始します。
リセットにより , 本ビットは "0" に初期化されます。読出し / 書込みが可能です。
【bit5】PE00
予約ビットです。本ビットは常に "0" に設定してくだい。
【bit4】PIE0(Ppg Interrupt Enable):PPG の割込み許可ビット
PPG (ch.0) の割込み許可を以下のように制御します。
0
割込み禁止
1
割込み許可
本ビットが "1" のとき , PUF0 が "1" になると割込み要求を発生します。本ビットが "0"
のときは割込み要求を発生しません。
リセットにより , 本ビットは "0" に初期化されます。本ビットは , 読出し / 書込みが可
能です。
174
第 14 章 8/16 ビット PPG
【bit3】PUF0(Ppg Underflow Flag):PPG カウンタアンダフロービット
PPG (ch.0) のカウンタアンダフロービットを以下のように制御します。
0
PPG (ch.0) のカウンタアンダフローが検出していません
1
PPG (ch.0) のカウンタアンダフローを検出しました
8 ビット PPG2 チャネルモードおよび 8 ビットプリスケーラ +8 ビット PPG モードのと
きには , ch.0 のカウンタの値が 00H ∼ FFH へなったときのアンダフローにより "1" に
セットされます。16 ビット PPG1 チャネルモードのときには , ch.0 のカウンタの値が
0000H ∼ FFFFH へなったときのアンダフローにより "1" にセットされます。"0" の書込
みにより "0" になります。このビットへの "1" 書込みは , 意味がありません。リードモ
ディファイライトのリード時には "1" が読まれます。
リセットにより , 本ビットは "0" に初期化されます。本ビットは , 読出し / 書込みが可
能です。
【bit0】
予約ビットです。必ず "1" に設定してください。本ビットは常に "1" が読まれます。
175
第 14 章 8/16 ビット PPG
14.3.2
PPG1 動作モード制御レジスタ (PPGC1)
PPG1 動作モード制御レジスタ (PPGC1) は , 8/16 ビット PPG の動作モードの選択 ,
端子出力制御 , カウントクロック選択およびトリガの制御を行う 7 ビットの制御レ
ジスタです。PPG (ch.1) の制御と PPG ユニット 0 の動作モードを選択します。
■ PPG1 動作モード制御レジスタ (PPGC1)
図 14.3-3 PPG1 動作モード制御レジスタ (PPGC1)
15
14
13
12
11
10
9
8
PEN1
−
PE10
PIE1
PUF1
MD1
MD0
予約
(−)
(−)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(W)
(1)
アドレス : bit
ch.0 000039H
リード / ライト→ (R/W)
(0)
初期値→
PPGC1
【bit15】PEN1(PPG ENable): 動作許可ビット
PPG (ch.1) の動作開始および動作モードを以下のように選択します。
PEN1
動作状態
0
動作停止 ("L" レベル出力保持 )
1
PPG (ch.1) 動作許可
本ビットに 1 を書き込むことで PWM はカウントを開始します。
リセットにより , 本ビットは "0" に初期化されます。読出し / 書込みが可能です。
【bit13】PE10 (PPG output Enable 10):PPG0 端子出力許可ビット
パルス出力外部端子 PPG0 を以下のように制御します。
0
汎用ポート端子 ( パルス出力禁止 )
1
PPG0= パルス出力端子 ( パルス出力許可 )
リセットにより , 本ビットは "0" に初期化されます。本ビットは , 読出し / 書込みが可
能です。
【bit12】PIE1(PPG Interrupt Enable):PPG の割込み許可ビット
PPG (ch.1) の割込み許可を以下のように制御します。
0
割込み禁止
1
割込み許可
本ビットが "1" のとき , PUF1 が "1" になると割込み要求を発生します。本ビットが "0"
のときは割込み要求を発生しません。
リセットにより , 本ビットは "0" に初期化されます。本ビットは , 読出し / 書込みが可
能です。
176
第 14 章 8/16 ビット PPG
【bit11】PUF1(Ppg Underflow Flag):PPG カウンタアンダフロービット
PPG (ch.1) のカウンタアンダフロービットを以下のように制御します。
0
PPG (ch.1) のカウンタアンダフローを検出していません
1
PPG (ch.1) のカウンタアンダフローを検出しました
8 ビット PPG2 チャネルモードおよび 8 ビットプリスケーラ +8 ビット PPG モードのと
きには , ch.1 のカウンタの値が 00H ∼ FFH へなったときのアンダフローにより "1" に
セットされます。16 ビット PPG1 チャネルモードのときには , 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 ビット PPG2 チャネル独立モード
0
1
8 ビットプリスケーラ +8 ビット PPG1 チャネルモード
1
0
予約 ( 設定禁止 )
1
1
16 ビット PPG1 チャネルモード
動作モード
リセットにより , 本ビットは "00" に初期化されます。本ビットは , 読出し / 書込みが可
能です。
< 注意事項 >
• ビットを "10" に設定しないでください。
• ビットを "01" に設定する場合には , PPGC0 の PEN0 ビット /PPGC1 の PEN1
ビットを "01" に設定しないでください。また , PEN0 ビットおよび PEN1 ビット
を同時に "11" または "00" にセットすることを推奨します。
• ビットを "11" に設定する場合には , PPGC0/PPGC1 をワード転送で書換え ,
PEN0 ビットおよび PEN1 ビットを同時に "11" または "00" にセットしてくださ
い。
【bit8】予約ビット
予約ビットです。PPGC1 を設定するときは必ず "1" に設定してください。
177
第 14 章 8/16 ビット PPG
14.3.3
PPG0/1 クロック選択レジスタ (PPG01)
PPG0/1 クロック選択レジスタ (PPG01) は , 8/16 ビット PPG の端子出力の制御を行
う 8 ビットの制御レジスタです。
■ PPG0/1 クロック選択レジスタ (PPG01)
図 14.3-4 PPG0/1 クロック選択レジスタ (PPG01)
7
6
5
PCS2
PCS1
PCS0
PCM2 PCM1 PCM0
リード / ライト→ (R/W)
(0)
初期値→
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
アドレス : bit
ch.0, ch.1 00003AH
4
3
(R/W)
(0)
2
(R/W)
(0)
1
0
−
−
(−)
(−)
(−)
(−)
PPG01
【bit7 ∼ bit5】PCS2 ∼ PCS0 (PPG Count Select): カウントクロック選択ビット
ch.1 のダウンカウンタの動作クロックを , 次のように選択します。
表 14.3-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 時 )
動作モード
リセットにより本ビットは "000" に初期化されます。本ビットは , 読出し / 書込みが可
能です。
< 注意事項 >
178
8 ビットプリスケーラ +8 ビット PPG モードおよび 16 ビット PPG モードのときに
は , ch.1 の PPG は , ch.0 からカウントクロックを受けて動作するため , PCS2 ∼
PCS0 ビットの指定は , 無効になります。
第 14 章 8/16 ビット PPG
【bit4 ∼ bit2】PCM2 ∼ PCM0 (PPG Count Mode): カウントクロック選択ビット
ch.0 のダウンカウンタの動作クロックを , 次のように選択します。
表 14.3-2 動作モード
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 時 )
動作モード
リセットにより本ビットは "000" に初期化されます。本ビットは , 読出し / 書込みが可
能です。
179
第 14 章 8/16 ビット PPG
14.3.4
リロードレジスタ (PRLL, PRLH)
リロードレジスタ (PRLL, PRLH) は , ダウンカウンタ PCNT へのリロード値を保持
する , 各 8 ビットのレジスタです。PRLL, PRLH レジスタは , どちらも読出し / 書込
みが可能です。
■ リロードレジスタ (PRLL, PRLH)
図 14.3-5 リロードレジスタ (PRLL, PRLH)
リロードレジスタ H
アドレス :
bit
15
14
13
12
11
10
9
8
ch.0 001901H
ch.1 001903H
PRLH
リード / ライト→
初期値→
リロードレジスタ L
アドレス :
(R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
bit
7
6
5
4
(R/W) (R/W)
(X)
(X)
3
2
(R/W)
(X)
1
ch.0 001900H
ch.1 001902H
PRLL
リード / ライト→
初期値→
(R/W) (R/W)
(X)
(X)
レジスタ名
< 注意事項 >
180
0
(R/W) (R/W) (R/W)
(X)
(X)
(X)
(R/W) (R/W)
(X)
(X)
(R/W)
(X)
機能
PRLL
"L" 側リロード値保持
"L" のパルス幅を設定します
PRLH
"H" 側リロード値保持
"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 ユニットが 2 チャネルあり , 2 チャネル独
立モード以外に , 連結動作させることにより , 8 ビットプリスケーラ +8 ビット PPG
モードと , 16 ビット PPG1 チャネルモードの計 3 種類の動作を行うことができま
す。
■ 8/16 ビット PPG の動作
8 ビット長の PPG ユニットそれぞれは , 8 ビット長のリロードレジスタが "L" 側と "H"
側の 2 本あります (PRLL, PRLH)。このレジスタに書き込まれた値が , 8 ビットダウン
カウンタ (PCNT) に "L" 側 /"H" 側交互にリロードされてカウントクロックごとにダウ
ンカウントされ , カウンタのボロー発生によるリロード時に , PPG0 出力端子の値を反
転させます。この動作により , PPG0 出力端子はリロードレジスタ値に対応した "L" 幅 /
"H" 幅をもつパルスを出力します。
表 14.4-1 に , リロード動作とパルス出力の関係を示します。
表 14.4-1 リロード動作とパルス出力の関係
リロード動作
端子出力変化
PRLH → PCNT
PPG0 出力端子 [0 → 1]
立上り
PRLL → PCNT
PPG0 出力端子 [1 → 0]
立下り
また , PPGC0 中のビット 4(PIE0) が "1" のときおよび PPGC1 中の bit12(PIE1) が "1" の
とき , それぞれのカウンタの 00 ∼ FF へのボロー (16 ビット PPG モードの場合には ,
0000 ∼ FFFF へのボロー ) によって割込み要求が出力されます。
■ 8/16 ビット PPG の動作モード
8/16 ビット PPG の動作モードには , 2 チャネル独立モードと , 8 ビットプリスケーラ +8
ビットPPGモードと, 16ビットPPG1チャネルモードの計3種類の動作モードがあります。
● 2 チャネル独立モード
2 チャネル独立モードは , 8 ビット PPG として 2 チャネル独立に動作させる動作モード
です。
● 8 ビットプリスケーラ +8 ビット PPG モード
8 ビットプリスケーラ +8 ビット PPG モードは , ch.0 を 8 ビットプリスケーラとして動
作させ , ch.1 を ch.0 のボロー出力でカウントすることにより , 任意周期の 8 ビット PPG
波形を出力できるようにする動作モードです。
● 16 ビット PPG1 チャネルモード
16 ビット PPG1 チャネルモードは , ch.0 と ch.1 を連結させて , 16 ビットの PPG として
動作させる動作モードです。
181
第 14 章 8/16 ビット PPG
■ 8/16 ビット PPG の出力動作
8/16 ビット PPG は , ch.0 の PPG については , PPGC0 レジスタの bit7(PEN0) を , ch.1 の
PPG については , PPGC1 レジスタの bit15(PEN1) を "1" にセットすることによって起動
され , カウントを開始します。MB90590 シリーズについては , ch.0 の PPG からの出力
信号は外部端子には接続していません。
8 ビットプリスケーラ +8 ビット PPG モードのときには , ch.0 を停止状態で , ch.1 を動
作状態に設定しないでください。
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" レベルを保持します。
図 14.4-1 PPG 出力動作の出力波形
PEN
PEN により動作開始 ("L" 側から )
PPG0
出力端子
T×(L+1)
( スタート )
182
T×(H+1)
L: PRLL の値
H: PRLH の値
T: 周辺クロック (φ, φ/4, φ/16)
またはタイマベースカウンタから
の入力 (PPGC のクロックセレク
トによる )
第 14 章 8/16 ビット PPG
■ 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)
L
H
T
Ph
Pl
: PRLL の値
: PRLH の値
: 入力クロック周期
: ハイパルスの幅
: ローパルスの幅
183
第 14 章 8/16 ビット PPG
14.5
8/16 ビット PPG のカウントクロックの選択
8/16 ビット PPG の動作に使用するカウントクロックは , 周辺クロックおよびタイム
ベースカウンタの入力を使用しており , 6 種類のカウントクロック入力が選択できま
す。
■ 8/16 ビット PPG のカウントクロックの選択
PPG0/1 クロック選択レジスタ (PPG01) の bit4 ∼ bit2 (PCM2 ∼ PCM0) で ch.0 のクロッ
クを , bit7 ∼ bit5 (PCS2 ∼ PCS0) で ch.1 のクロックを選択します。
クロックは , マシンクロックの 1/16 ∼ 1 倍の周辺クロックとタイムベースカウンタか
らの入力クロックより選択できます。
しかし , 8 ビットプリスケーラ +8 ビット PPG モードまたは 16 ビット PPG モードのと
きには , PCS2 ∼ PCS0 を設定しても意味はありません。
タイムベースカウンタの入力を使用した場合 , トリガにより起動がかかる最初および
ストップの後の最初のカウント周期がずれる可能性がありますので注意してくださ
い。また , 本モジュール動作中にタイムベースカウンタのクリアを行うと周期がずれる
ことがあります。
8 ビットプリスケーラ +8 ビット PPG モード・ch.0 が動作状態 , ch.1 が停止状態である
ときに ch.1 の起動を行うと , 最初のカウント周期がずれる可能性がありますので注意
してください。
184
第 14 章 8/16 ビット PPG
14.6
8/16 ビット PPG のパルスの端子出力の制御
本モジュールの動作によって生成されたパルス出力は , 外部端子 PPG0 より出力さ
せることができます。
■ 8/16 ビット PPG のパルスの端子出力の制御
PPG1 動作モード制御レジスタ (PPGC1) の bit13 (PE10) が "0" のとき ( 初期値 ) は , パル
ス出力は外部端子より出力されずに , 汎用ポートとして機能します。本ビットに "1" を
設定すると , パルス出力が外部端子より出力されます。
8 ビットプリスケーラ +8 ビット PPG モードでは , PPG (ch.0) の 8 ビットプリスケーラ
のトグル波形が出力され , PPG (ch.1) の 8 ビット PPG の波形が出力されます。このモー
ドのときの出力波形の例を図 14.6-1 に示します。
MB90590 シリーズについては , ch.0 の PPG からの出力信号は外部端子には接続してい
ません。
図 14.6-1 8 ビットプリスケーラ +8 ビット PPG 出力動作の出力波形
Ph0
Pl0
PPG (ch.0) の出力
( 内部信号 )
PPG (ch.1) の出力
(PPG0 端子波形 )
Ph1
Pl0 = T x (L0+1)
Ph0 = T x (L0+1)
Pl1 = T x (L0+1) x (L1+1)
Ph1 = T x (L0+1) x (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 は , 同じ値を設定することを推奨します。
185
第 14 章 8/16 ビット PPG
14.7
8/16 ビット PPG の割込み
8/16 ビット PPG は , リロード値がカウントアウトし , ボローが発生したときに割込
み要求を出力します。
■ 8/16 ビット PPG の割込み
8 ビット PPG2 チャネルモードおよび 8 ビットプリスケーラ +8 ビット PPG モードのと
きには, それぞれのカウンタのボローにより, それぞれの割込みの要求が行われますが,
16 ビット PPG モードでは , 16 ビットカウンタのボローにより , PUF0 と PUF1 が同時に
セットされます。このため , 割込み要因を一本化するために , PIE0 または PIE1 のどち
らか一方のみを許可にすることを推奨します。また , 割込み要因のクリアも PUF0 と
PUF1 を同時に行うことを推奨します。
186
第 14 章 8/16 ビット PPG
14.8
8/16 ビット PPG の各ハードウェアの初期値
8/16 ビット PPG の各ハードウェアは , リセット時に以下のように初期化されます。
■ 8/16 ビット PPG の各ハードウェアの初期値
● レジスタ
• PPGC0 → 0-000--1B
• PPGC1 → 0-000001B
• PPG01 → 000000--B
● パルス出力
PPG0 端子は出力禁止となります。
出力を許可した場合は "L" 出力となります。
● 割込み要求
割込み禁止となります。
なお , リロード値は保持されます。
< 注意事項 >
8/16 ビット PPG のリロードレジスタ (PRLL, PRLH) へのライトタイミング
16 ビット PPG モード以外のモードの場合には , リロードレジスタ (PRLL, PRLH)
への書込みはワード転送命令を使用することを推奨します。なお , バイト転送命令
2 回にて書き込んだ場合 , タイミングによっては , 予想しないパルス幅の出力が発
生する可能性がありますので注意してください。
187
第 14 章 8/16 ビット PPG
図 14.8-1 8/16 ビット PPG のリロードレジスタ (PRLL, PRLH) へのライトタイミングチャート
PPG0
B
A
B
C
A
B
C
C
D
D
①
図 14.8-1 のタイムチャートにおいて , ①のタイミングの前で PRLL を A から C に書き
換えて , ①の後 PRLH の値を B から D に書き換えた場合 , ①のタイミングでの PRL の
値は PRLL=C, PRLH=B のため 1 回だけ "L" 側のカウント数 C, "H" 側のカウント数 B の
パルスが発生されます。
同様に , 16 ビット PPG モードで使用する場合には , ch.0 と ch.1 の PRL はロングワード
転送で書き込むかまたは ch.0 → ch.1 の順にワード転送で書き込んでください。この
モードのときには , ch.0 の PRL への書込みは , 一時的にテンポラリに書き込まれ , その
後 ch.1 の PRL に書込みを行った時点で , 実際に ch.0 の PRL への書込みが行われます。
なお , 16 ビット PPG モード以外では , ch.0 と ch.1 の PRL の書込みは独立して行うこと
ができます。
図 14.8-2 PRL 書込み動作のブロックダイヤグラム
ch.0 の PRL の書込みデー
テンポラリラッチ
16 ビット PPG モード以外の
ときの ch.0 の書込み
16 ビット PPG モード時
ch.1 の書込みに同期し
て転送
ch.1 の書込み
ch.0 PRL
188
ch.1 の PRL の書込みデータ
ch.1 PRL
第 15 章
DTP/ 外部割込み
この章では , DTP/ 外部割込みの機能と動作につい
て説明します。
15.1 DTP/ 外部割込みの概要
15.2 DTP/ 外部割込みのレジスタ
15.3 DTP/ 外部割込みの動作
15.4 DTP 要求と外部割込み要求の切換え
15.5 DTP/ 外部割込みの使用上の注意
189
第 15 章 DTP/ 外部割込み
DTP/ 外部割込みの概要
15.1
DTP(Data Transfer Peripheral) はデバイス外部に存在するペリフェラルと F2MC16LX CPU との間にあって , 外部ペリフェラルが発生する DMA 要求または割込み
要求を受け取り , これを F2MC-16LX CPU に伝えてインテリジェント I/O サービス
または割込み処理を起動させるための周辺です。
■ DTP/ 外部割込みの概要
インテリジェント I/O 機能に関しては "H" または "L" 要求レベルを使用することがで
きます。外部割込み要求に対しては , "H", "L" のほか立上りエッジおよび立下りエッジ
の 4 種類の要求レベルを使用することができます。
MB90590 シリーズでは , 外部バスインタフェースはサポートされていません。このた
め DTP/ 外部割込みはデータ転送ペリフェラルの役割を果たすことはできません。それ
は外部割込みとしてのみ使用することができます。
MB90V590G では , このブロックに 4 本の端子のみが割り当てられています。このため
外部割込み ch.4 ∼ ch.7 はサポートされていません。これらの外部割込みは禁止してく
ださい。
■ DTP/ 外部割込みのブロックダイヤグラム
図 15.1-1 DTP/ 外部割込みのブロックダイヤグラム
8
8
8
16
190
DTP/ 割込み許可レジスタ
ゲート
要因 F/F
DTP/ 割込み要因レジスタ
要求レベル設定レジスタ
エッジ検出回路
8
要求入力
第 15 章 DTP/ 外部割込み
■ DTP/ 外部割込みのレジスタ
図 15.1-2 DTP/ 外部割込みのレジスタ
bit
アドレス :
000030H
bit
アドレス :
000031H
bit
アドレス :
000032H
bit
アドレス :
000033H
7
6
5
4
3
2
1
0
EN7
EN6
EN5
EN4
EN3
EN2
EN1
EN0
15
14
13
12
11
10
9
8
ER7
ER6
ER5
ER4
ER3
ER2
ER1
ER0
7
6
5
4
3
2
1
0
LB3
LA3
LB2
LA2
LB1
LA1
LB0
LA0
15
14
13
12
11
10
9
8
LB7
LA7
LB6
LA6
LB5
LA5
LB4
LA4
DTP/ 割込み許可レジスタ
(ENIR)
DTP/ 割込み要因レジスタ
(EIRR)
要求レベル設定レジスタ
(ELVR)
要求レベル設定レジスタ
(ELVR)
191
第 15 章 DTP/ 外部割込み
15.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)
DTP/ 割込み許可レジスタ (ENIR) はデバイス端子を DTP/ 外部割込み要求入力として使
用し , 割込みコントローラに対して要求を発生させる機能を動作させることを決定す
るレジスタです。このレジスタの "1" を書かれたビットの対応する端子は DTP/ 外部割
込み要求入力として使用され , 割込みコントローラに対して要求を発生する機能を動
作させます。"0" が書かれたビットの対応する端子は DTP/ 外部割込み要求入力要因は
保持しますが , 割込みコントローラに対しては要求を発生しません。
図 15.2-1 DTP/ 割込み許可レジスタ (ENIR)
bit
7
アドレス : 000030H
EN7
リード / ライト→ (R/W)
(0)
初期値→
6
5
4
3
2
1
0
EN6
(R/W)
(0)
EN5
(R/W)
(0)
EN4
(R/W)
(0)
EN3
(R/W)
(0)
EN2
(R/W)
(0)
EN1
(R/W)
(0)
EN0
(R/W)
(0)
ENIR
■ DTP/ 割込み要因レジスタ (EIRR: External interrupt request register)
EIRR は , このレジスタの "1" となっているビットに対応する端子において DTP/ 外部割
込み要求が存在することを表します。このレジスタのビットに "0" を書き込むと対応
する要求フラグがクリアされます。"1" を書込んでも効果はありません。リードモディ
ファイライト系命令によりこのレジスタからは常に "1" が読み出されます。
図 15.2-2 DTP/ 割込み要因レジスタ (EIRR)
bit
15
アドレス : 000031H
ER7
リード / ライト→ (R/W)
初期値→
< 注意事項 >
192
(X)
14
13
12
11
10
9
8
ER6
(R/W)
ER5
(R/W)
ER4
(R/W)
ER3
(R/W)
ER2
(R/W)
ER1
(R/W)
ER0
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
EIRR
( ただし両者で
対象が異なる )
複数の外部割込み要求が許可 (ENIR:EN7 ∼ EN0=1) されている場合 , CPU が割込
みを受け付けたビット (ER7 ∼ ER0 の "1" にセットされているビット ) だけを "0"
にクリアするようにしてください。それ以外のビットを無条件にクリアすることは
避けてください。
第 15 章 DTP/ 外部割込み
■ 要求レベル設定レジスタ (ELVR:External level register)
図 15.2-3 要求レベル設定レジスタ (ELVR)
bit
アドレス : 000032H
7
6
5
4
3
2
1
0
LB3
(R/W)
LA3
(R/W)
LB2
(R/W)
LA2
(R/W)
LB1
(R/W)
LA1
(R/W)
LB0
(R/W)
LA0
(R/W)
7
6
5
4
3
2
1
0
LB7
(R/W)
LA7
(R/W)
LB6
(R/W)
LA6
(R/W)
LB5
(R/W)
LA5
(R/W)
LB4
(R/W)
LA4
(R/W)
bit
アドレス : 000033H
初期値
00000000B
初期値
00000000B
ELVR は外部端子における要求イベントを定義するものです。表 15.2-1 に示すように ,
各端子には 2 ビットが割り当てられます。入力レベルにより要求が検出された場合 , フ
ラグがソフトウェアによりリセットされた後でも入力が指定されたレベルを保持して
いれば割込みフラグはセットされます。
表 15.2-1 LBx と Lax 端子の割込み要求検出要因
LBx
LAx
0
0
"L" レベルが端子に入力
0
1
"H" レベルが端子に入力
1
0
立上りエッジが端子に入力
1
1
立下りエッジが端子に入力
割込み要求検出要因
193
第 15 章 DTP/ 外部割込み
15.3
DTP/ 外部割込みの動作
割込みフラグがセットされたときにこのブロックは割込みコントローラへ割込み信
号を送ります。割込みコントローラ内で同時発生した割込みの優先順位を識別した
結果 , 本リソースからの割込みが最も優先順位が高かったときに , 割込みコントロー
ラは F2MC-16LX CPU に対して割込み要求を発生します。F2MC-16LX CPU は自分
の内部にある CCR レジスタ中の ILM ビットと割込み要求を比較し , 要求レベルが
ILM ビットより高かったときに現在実行中の命令が終了し次第 , ハードウェア割込み
処理マイクロプログラムを起動します。
■ 外部割込みの動作
図 15.3-1 に示すように , ハードウェア割込み処理マイクロプログラムにおいて , CPU は
割込みコントローラからISEビットの情報を読み出し, これにより当該要求が割込み処
理であることを識別し , 割込み処理マイクロプログラムへ分岐します。割込み処理マイ
クロプログラムでは割込みべクタ領域の読出しと割込みコントローラへの割込みアク
ノリッジを発生し , ベクタから生成したマクロ命令のジャンプ先アドレスをプログラ
ムカウンタへ転送した上で , ユーザの割込み処理プログラムを実行します。
図 15.3-1 外部割込みの動作
DTP/ 外部割込み
割込みコントローラ
F2MC-16LX CPU
ICRyy
IL
ほかの要求
ELVR
EIRR
ENIR
要因
194
CMP
ICRxx
CMP
ILM
INTA
第 15 章 DTP/ 外部割込み
■ DTP の動作
初期化としてユーザプログラム内ではインテリジェント I/O サービスを起動するに当
たって , インテリジェント I/O サービスディスクリプタ内の I/O アドレスポインタに
000000H から 0000FFH に割りつけられているレジスタのアドレスを設定し , バッファア
ドレスポインタにメモリバッファの先頭アドレスを設定します。
DTP の動作シーケンスは外部割込みの場合とほぼ同じで , CPU がハードウェア割込み
処理マイクロプログラムを起動するまでは全く同じです。DTP の場合は CPU がハード
ウェア割込み処理マイクロプログラム内で読み出す ISE ビットの内容が DTP を示して
いるので , インテリジェント I/O サービス処理マイクロプログラムへ制御を移します。
インテリジェント I/O サービスが起動されると , アドレッシングされている外部ペリ
フェラルにリードまたはライト信号が送られ本チップとの転送が行われます。外部ペ
リフェラルはその転送が行われてから 3 マシンサイクル以内に本チップに対する割込
み要求を取り下げてください。転送が終了するとディスクリプタの更新などが行われ ,
その後転送要因をクリアする信号を割込みコントローラに発生させます。転送要因を
クリアする信号を受けとった本リソースは要因を保持しているフリップフロップをク
リアして端子からの次の要求に備えます。インテリジェント I/O 機能処理の詳細につ
いては , 『F2MC-16LX プログラミングマニュアル』を参照してください。
図 15.3-2 DTP 動作終了時の外部割込み取下げタイミング
内部動作
エッジ要求 , または "H" レベル要求
* インテリジェント I/O サービスが
I/O レジスタ→メモリ転送のとき
ディスクリプタ
選択 , 読出し
割込み要因
アドレスバス端子
リードアドレス
ライトアドレス
ライトデータ
リードデータ
データバス端子
①
リード信号
②
ライト信号
3 マシンサイクル以内に取り下げる
図 15.3-3 DTP と外部ペリフェラルとのインタフェース簡略例
外
部
ペ
リ
フ
ェ
ラ
ル
データ ,
アドレスバス
内部バス
レ
ジ
ス
タ
①
INT
IRQ
転送終了後 , 3 マシンサイクル
以内に取り下げる
②
DTP
CORE
MEMORY
MB90590
195
第 15 章 DTP/ 外部割込み
15.4
DTP 要求と外部割込み要求の切換え
外部割込み要求と DTP 要求の切換えは , 割込みコントローラの中にある , 本リソー
スに対応する ICR レジスタ中の ISE ビットの設定によって行います。各端子に対応
して個々に ICR が割り当てられていますので , 対応する ICR の ISE ビットに "1" が
書かれた端子が DTP 要求として , また , "0" が書かれた場合には外部割込み要求と
して , それぞれ動作することになります。
■ DTP 要求と外部割込み要求の切換え
図 15.4-1 DTP 要求と外部割込み要求の切換え
割込みコントローラ
0
ICRxx
ICRyy
1
F2MC-16LX CPU
端子
外部割込み /DTP
DTP
外部割込み
196
第 15 章 DTP/ 外部割込み
15.5
DTP/ 外部割込みの使用上の注意
DTP/ 外部割込みを使用する際には , 次の点について特に注意が必要です。
• DTP を用いたときの外部に接続するペリフェラルの条件
• スタンバイからの復帰
• DTP/ 外部割込みの動作手順
• 外部割込み要求レベル
■ DTP/ 外部割込みの使用上の注意
● DTP を用いたときの外部に接続するペリフェラルの条件
DTP がサポートできる外部ペリフェラルは , 転送が行われたことにより自動的に要求
をクリアするものでなければなりません。また , 転送動作が開始してから 3 マシンサイ
クル以内 ( 暫定値 ) で転送要求を取り下げるようになっていないと , 本リソースは次の
転送要求が発生したものとして扱ってしまいます。
● スタンバイからの復帰
ストップモードまたは時計モードのスタンバイ状態からの復帰に外部割込みを使う場
合は , 入力要求を "H" レベルまたは "L" レベル要求としてください。エッジ要求ではス
トップモードまたは時計モードのスタンバイ状態からの復帰は行われません。
● DTP/ 外部割込みの動作手順
DTP/外部割込み内に存在するレジスタの設定を行う際, 次の手順で設定してください。
1. 外部割込み入力として使用する端子と兼用する汎用入出力ポートを入力ポートに
設定する。
2. 許可レジスタの対象となるビットを禁止状態にする。
3. 要求レベル設定レジスタの対象となるビットを設定する。
4. 要因レジスタの対象となるビットをクリアする。
5. 許可レジスタの対象となるビットを許可状態にする。
( ただし , 4. と 5. はワード指定による同時書込み可 ) 。
本リソース内のレジスタを設定するときには必ず許可レジスタを禁止状態に設定して
おかなくてはなりません。また , 許可レジスタを許可状態にする前に必ず要因レジスタ
をクリアしておく必要があります。これは , レジスタ設定時や割込み許可状態時に誤っ
て割込み要因が起こってしまうことを避けるためです。
● 外部割込み要求レベル
要求レベルがエッジ要求のとき , エッジがあったことを検出するためには , パルス幅は
最小 3 マシンサイクル必要とします。
図 15.5-1 に示すように , 要求入力レベルがレベル設定のとき , 外部より要求入力が入っ
てその後取り下げられても , 割込み要求許可状態 (ENIR:EN=1) であれば , 割込みコント
ローラへの要求は動作中のままです。図 15.5-2 に示すように , 割込みコントローラへ
の要求を取り下げるには割込み要求フラグビット (EIRR:ER) をクリアする必要があり
ます。
197
第 15 章 DTP/ 外部割込み
図 15.5-1 レベル設定時の割込み要求フラグビット (EIRR:ER) のクリア
レベル検出
割込み要因
割込み要求フラグビット
(EIRR:ER)
許可ゲート
割込み
コントローラへ
クリアしない限り要因を保持し続ける
図 15.5-2 割込み許可時の割込み要因と割込みコントローラへの割込み要求
割込み要因
("H" レベル検出の場合 )
割込みコントローラ
への割込み要求
198
割込み要因の取り下げ
割込み要求フラグビット (EIRR:ER) のクリアによってインアクティブとなる
第 16 章
A/D コンバータ
この章では , A/D コンバータの機能と動作について
説明します。
16.1 A/D コンバータの特長
16.2 A/D コンバータのブロックダイヤグラム
16.3 A/D コンバータのレジスタ一覧
16.4 A/D コンバータの動作
16.5 EI2OS を使った変換動作
16.6 変換データ保護機能
199
第 16 章 A/D コンバータ
16.1
A/D コンバータの特長
A/D コンバータは , アナログ入力電圧をデジタル値に変換するものです。A/D コン
バータの特徴は次のとおりです。
■ A/D コンバータの特長
● 変換時間
1 チャネル当たり最小 26.3µs (16MHz のマシンクロック )
● サンプル & ホールド回路付 RC 型逐次比較変換方式を採用
● 10 ビットまたは 8 ビットの分解能
● アナログ入力は 8 チャネルからプログラムで選択
• シングル変換モード :1 チャネルを選択変換
• スキャン変換モード : 連続した複数のチャネルを変換。最大 8 チャネルプログラム
可能
• 連続変換モード : 指定チャネルを繰り返し変換
• 停止変換モード :1 チャネルを変換したら一時停止して次の起動が掛かるまで待機
( 変換開始の同期が可能 ) 。
● 割込み要求
A/D 変換終了時には , CPU に対して A/D 変換終了の割込み要求を発生させることがで
きます。この割込み発生で EI2OS を起動することができ A/D 変換結果データをメモリ
に転送できますので連続処理に適しています。
● 起動要因を選択可能
起動要因は , ソフト , 外部トリガ ( 立下りエッジ ) , タイマ ( 立上りエッジ ) の選択。
■ アナログ入力許可レジスタ
アナログ入力に使用される端子に対応する ADER ビットに常に "1" を書き込んでくだ
さい。
ポート 6 端子は次のように制御されます。
図 16.1-1 アナログ入力許可レジスタ
bit
7
ADE7
6
ADE6
5
ADE5
4
ADE4
3
ADE3
2
ADE2
1
ADE1
0
ADE0
リード / ライト→ (R/W)
(1)
初期値→
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
アドレス : 00001BH
• 0: ポート入力 / 出力モード
• 1: アナログ入力モード
• リセット時には "1" がセットされます。
200
第 16 章 A/D コンバータ
■ 入力インピーダンス
A/D コンバータのサンプリング回路は次の等価回路で表されます。
サンプリング時間が 4µs (16MHz のマシンクロックで ST1=0 および ST0=0) にセットさ
れたとき, アナログ入力への駆動インピーダンスは15.5kΩ以下でなければなりません。
そうしなければ変換の精度は低下します。もしそうであれば , サンプリング時間をさら
に長く設定する (ST1=1 および ST0=1) か , 外部コンデンサを付加して駆動インピーダ
ンスを補償してください。
図 16.1-2 入力インピーダンス
最大 3.2kΩ
アナログ入力
ADC
最大 30pF
201
第 16 章 A/D コンバータ
A/D コンバータのブロックダイヤグラム
16.2
図 16.2-1 に , A/D コンバータのブロックダイヤグラムを示します
■ A/D コンバータのブロックダイヤグラム
図 16.2-1 A/D コンバータのブロックダイヤグラム
AVCC
AVR H/L
AV SS
D/A コンバータ
MPX
AN0
AN1
AN2
AN3
AN4
AN5
AN6
AN7
入
力
回
路
逐次比較レジスタ
デ
|
タ
バ
ス
比較器
サンプル & ホールド回路
デ
コ
|
ダ
A/D データレジスタ
ADCR0, ADCR1
A/D 制御レジスタ 0
A/D 制御レジスタ 1
トリガ起動
ADCS0, ADCS1
ADTG
タイマ起動
16 ビット
リロードタイマ 1
φ
202
動作クロック
プリスケーラ
第 16 章 A/D コンバータ
A/D コンバータのレジスタ一覧
16.3
A/D コンバータのレジスタには次の 2 つがあります。
• A/D 制御ステータスレジスタ
• A/D データレジスタ
■ A/D コンバータのレジスタ一覧
図 16.3-1 A/D コンバータのレジスタ配置
15
8
bit
アドレス :
000034H
bit
アドレス :
000035H
bit
アドレス :
000036H
bit
アドレス :
000037H
7
0
ADCS1
ADCS0
ADCR1
ADCR0
8 ビット
8 ビット
7
6
5
4
3
2
1
0
MD1
MD0
ANS2
ANS1
ANS0
ANE2
ANE1
ANE0
15
14
13
12
11
10
9
8
BUSY
INT
INTE
PAUS
STS1
STS0
STRT
予約
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
15
14
13
12
11
10
9
8
S10
ST1
ST0
CT1
CT0
−
D9
D8
A/D 制御ステータス
レジスタ
(ADCS0 および ADCS1)
A/D データレジスタ
(ADCR0 および ADCR1)
203
第 16 章 A/D コンバータ
16.3.1
A/D 制御ステータスレジスタ 0 (ADCS0)
A/D 制御ステータスレジスタ 0 (ADCS0) は , A/D コンバータの制御およびステータ
ス表示を行います。ADCS0 は A/D 変換動作中に書換えないようにしてください。
■ A/D 制御ステータスレジスタ 0 (ADCS0)
図 16.3-2 A/D 制御ステータスレジスタ 0 (ADCS0)
bit
7
6
5
4
3
2
1
MD1
MD0
ANS2
ANS1
ANS0
ANE2
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)
アドレス : 000034H
(0)
初期値→
0
【bit7, bit6】MD1, MD0 (A/D converter mode set)
表 16.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 の設定チャネルまで 1 チャネルご
とに A/D 変換を行い一時停止する。変換再開は起動要因発生によって行われます。
リセット時には本ビット群は "00" に初期化されます。
< 注意事項 >
204
• 連続モード , 停止モードで A/D 変換を起動すると BUSY ビットで停止するまで
変換動作を続けます。
• 停止は BUSY ビットに "0" を書き込むことにより行われます。
• 単発 , 連続 , 停止の各モードの再起動の不可能はタイマ , 外部トリガ , ソフト
ウェアすべての起動に適用されます。
第 16 章 A/D コンバータ
【bit5, bit4, bit3】ANS2, ANS1, ANS0 (Analog start channels et)
本ビット群より A/D 変換の開始チャネルを設定します。
A/D コンバータを起動すると , このビットで選択されたチャネルから A/D 変換を開始
します。
表 16.3-2 開始チャネルの設定
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 変換の間 , 現在の変換チャネルが本ビット群から読み込まれます。
もしシステムが停止モードで停止すれば最後の変換チャネルが読み込まれます。
ただし , 本ビットに値を設定した場合でも , A/D 変換が開始されるまでは , 設定
した値ではなく , 前回に A/D 変換した変換チャネルが読み込まれます。
• リセット時には本ビット群は "000" に初期化されます。
【bit2, bit1, bit0】ANE2, ANE1, ANE0 (Analog end channel set)
本ビット群より A/D 変換の終了チャネルを設定します。
表 16.3-3 終了チャネルの設定
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
205
第 16 章 A/D コンバータ
< 注意事項 >
• A/D 変換開始チャネル選択ビット (ANS2, ANS1, ANS0) に開始チャネルを設定し
たあとに , A/D 変換モード選択ビット (MD1, MD0) および A/D 変換終了チャネル
選択ビット (ANE2, ANE1, ANE0) をリードモディファイライト系命令で設定しな
いでください。
ANS2, ANS1, ANS0 ビットは A/D 変換動作が開始するまでは前回の変換チャネ
ルが読み出されるため , ANS2, ANS1, ANS0 ビットに開始チャネルを設定したあ
とに , MD1, MD0 ビットおよび ANE2, ANE1, ANE0 ビットをリードモディファ
イライト系命令で設定した場合 , ANE2, ANE1, ANE0 ビットの値が書き替わる可
能性があります。
• 同一のチャネルが ANE2 ∼ ANE0 および ANS2 ∼ ANS0 に書込まれると , 変換
は 1 つのチャネルに対してのみ行われます ( シングル変換 ) 。
• 連続モード , 停止モードを設定している場合は本ビット群で設定されたチャネル
の変換が終わると ANS2 ∼ ANS0 で設定された開始チャネルに戻ります。
• 設定チャネルが ANS>ANE の場合は , ANS より変換が始まり AN7 まで変換した
ら AN0 に戻り ANE まで変換します。
例:チャネル設定
ANS = 6, ANE = 3 で単発モードのとき
動作 変換チャネル AN6 → AN7 → AN0 → AN1 → AN2 → AN3
• リセット時には本ビット群は "000" に初期化されます。
206
第 16 章 A/D コンバータ
16.3.2
A/D 制御ステータスレジスタ 1 (ADCS1)
A/D 制御ステータスレジスタ 1 (ADCS1) は , A/D コンバータの制御およびステータ
ス表示を行います。
■ A/D 制御ステータスレジスタ 1 (ADCS1)
図 16.3-3 A/D 制御ステータスレジスタ 1 (ADCS1)
bit
アドレス : 000035H
15
14
13
12
11
10
9
8
BUSY
INT
INTE
PAUS
STS1
STS0
STRT
予約
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
リード / ライト→ (R/W)
初期値→
(0)
ADCS1
【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 に書き込まれるとセットされます。
ビット 5(INTE) が "1" のときに本ビットがセットされると割込み要求が発生します , ま
た EI2OS 起動を許可している場合 EI2OS が起動されます。"1" 書込みは意味を持ちま
せん。
クリアは "0" 書込みと EI2OS 割込みクリア信号で行われます。
< 注意事項 >
本ビットの "0" 書込みクリアは A/D 停止中に行ってください。
リセット時に本ビットは "0" に初期化されます。
【bit13】INTE (Interrupt enable)
本ビットは変換終了による割込みの許可・不許可を指定します。
• 0: 割込みの禁止
• 1: 割込みの許可
EI2OS を使用するときは本ビットをセットしてください。EI2OS は割込み要求発生で起
動するようになっています。
リセット時に本ビットは "0" に初期化されます。
207
第 16 章 A/D コンバータ
【bit12】PAUS (A/D converter pause)
A/D 変換動作が一時的に停止した場合にセットされます。
A/D 変換結果を格納するレジスタが 1 つのため連続で変換した場合 , 変換結果を EI2OS
で転送しなければ前データが壊れてしまいます。
これを保護するためデータレジスタの内容を EI2OS で転送しなければ次の変換データ
が格納されないようになっています。この間 A/D 変換動作は停止します。EI2OS で転
送を終了すると A/D は変換を再開します。
このビットは EI2OS を使用したときのみ有効です。
< 注意事項 >
• 変換データの保護機能に関しては , 「16.6 変換データ保護機能」を参照してく
ださい。
• リセット時に本ビットは "0" に初期化されます。
【bit11, bit10】STS1, STS0 (Start source select)
リセット時に本ビット群は "00" に初期化されます。
本ビットの設定により A/D 起動要因を選択します。
STS1
STS0
0
0
ソフト起動。
0
1
外部端子トリガでの起動とソフト起動。
1
0
16 ビットリロードタイマでの起動とソフト起動。
1
1
外部端子トリガ , 16 ビットリロードタイマでの起動
とソフト起動
機能
2 つ以上の起動要因が許されているモードでは最初に生じた原因により A/D 変換が起
動されます。
起動源の設定は書き換えられると直ちに変わりますので, A/D変換中に書き換えるとき
には注意してください。
< 注意事項 >
208
• 外部端子トリガは立下りエッジを検出します。外部トリガ入力レベルが "L" のと
きに本ビットを書き換えて外部端子トリガ起動に設定すると A/D が起動する場
合があります。
• 16 ビットリロードタイマ選択時は , 16 ビットリロードタイマ 1 の出力が選択さ
れます。
第 16 章 A/D コンバータ
【bit9】STRT(Start)
本ビットに "1" を書き込むことにより A/D を起動します。
再起動をかけるときは , 再び書き込んでください。
リセット時に本ビットは "0" に初期化されます。
停止モード時は動作機能上再起動はかかりません。"1" を書き込む前に BUSY ビットを
チェックしてください。
強制停止とソフト起動を同時に行わないでください (BUSY=0, STRT=1)。
バイト / ワード命令では "1" が読み出されます。
リードモディファイライト系命令では "0" が読み出されます。
【bit8】予約
これは予約ビットです。本ビットには常に "0" を書き込んでください。
209
第 16 章 A/D コンバータ
16.3.3
A/D データレジスタ 0/1 (ADCR0, ADCR1)
A/D データレジスタ 0/1 (ADCR0, ADCR1) は , 変換の結果として生成されたデジタ
ル値を記憶するために使用されるものです。ADCR0 は下位 8 ビットを記憶し ,
ADCR1 は変換結果の最上位の 2 ビットを記憶します。これらのレジスタ値は変換が
完了するたびに書き換えられます。通常は最後の変換値が本ビット群に記憶されま
す。
■ A/D データレジスタ 0/1 (ADCR0, ADCR1)
ADCR1 の bit10 ∼ bit15 からは常に "0" が読み込まれます。
変換データの保護機能を利用することができます。詳しくは , 「16.6 変換データ保護
機能」を参照してください。
A/D 変換の間はこれらのレジスタにデータを絶対に書込まないでください。
図 16.3-4 A/D データレジスタ 0/1 (ADCR0, ADCR1)
bit
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
リード / ライト→
(R)
(R)
(R)
(R)
(R)
(R)
(R)
(R)
初期値→
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
bit
15
14
13
12
11
10
9
8
S10
ST1
ST0
CT1
CT0
−
D9
D8
リード / ライト→
(W)
(W)
(W)
(W)
(W)
(−)
(W)
(W)
初期値→
(0)
(0)
(0)
(0)
(1)
(0)
(X)
(X)
アドレス : 000036H
アドレス : 000037H
ADCR0
ADCR1
【bit15】S10
本ビットは変換の分解能を指定します。"0" にセットされると 10 ビットの A/D 変換が
行われます。その他の場合には 8 ビットの A/D 変換が行われてその結果は D7 ∼ D0 に
記憶されます。
本ビットを読み込むと常に "0" が読み出されます。
【bit14, bit13】ST1, ST0 (Sampling time)
表 16.3-4 ST1, ST0 の機能
ST1
ST0
0
0
64 マシンサイクル (16MHz で 4µs)
0
1
予約
1
0
予約
1
1
4096 マシンサイクル (16MHz で 256µs)
機能
本ビット群は入力時における電圧サンプリング時間の持続時間を決定するものです。
本ビット群を読み込むと常に "00" が読み出されます。
210
第 16 章 A/D コンバータ
【bit12, bit11】CT1, CT0 (Compare time)
表 16.3-5 CT1, CT0 の機能
CT1
CT0
0
0
176 マシンサイクル (8MHz で 22µs)
0
1
352 マシンサイクル (16MHz で 22µs)
1
0
予約
1
1
予約
機能
本ビット群は比較操作時間の持続期間を決定するものです。
本ビットを "00" に設定するときはマシンクロックが 8MHz 以下のときにしてください。
8MHz より高速の場合には変換精度が保証されません。
本ビット群を読み込むと常に "00" が読み出されます。
211
第 16 章 A/D コンバータ
16.4
A/D コンバータの動作
A/D コンバータは逐次比較方式で作動し , 分解能は 10 ビットまたは 8 ビットから選
択することができます。
この A/D コンバータは変換結果記憶用のレジスタが 1 つ (16 ビット ) であるため ,
A/D データレジスタ 0/1 (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" を書き込む→強制動作停止 ) 。強制動作停止を行うと変換中の
ものは途中で止まってしまうため , 注意してください (強制動作停止した場合は変換レ
ジスタは変換完了した前データが格納されています ) 。
212
第 16 章 A/D コンバータ
■ 停止モード
停止モードは , ANS ビットと ANE ビットで設定されたアナログ入力を順に変換してい
きますが 1 チャネル変換するたびに変換動作を一時停止します。一時停止を解除する
にはもう一度起動をかけることにより行われます。
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 で設定されたものだけです。
このモードを使用することにより変換開始の同期をかけることが可能です。
213
第 16 章 A/D コンバータ
16.5
EI2OS を使った変換動作
図 16.5-1 に , A/D 変換起動から変換データ転送までのフロー例 ( 連続モード ) を示
します。
■ EI2OS を使った変換動作
図 16.5-1 A/D 変換起動から変換データ転送までのフロー例 ( 連続モード )
A/D 変換起動
サンプル & ホールド
EI2OS 起動
変換
データ転送
変換終了
割込み発生
☆は EI2OS の設定で決まります。
214
割込み処理
割込みクリア
第 16 章 A/D コンバータ
16.5.1
単発モード時の EI2OS の起動例
単発モード時の EI2OS は次の手順で起動します。
• アナログ入力 AN1 ∼ AN3 の変換をして終了する。
• 変換データは 200H ∼ 205H 番地に順に転送する。
• ソフトウェアで変換を開始する。
• 最高の割込みレベルを使用する。
■ 単発モード時の EI2OS の起動例
表 16.5-1 単発モード時の EI2OS の起動例
設定項目
プログラム例
MOV ICR10,#08H
動作説明
最強割込み設定 , 割込み時 EI2OS 起動 , ディスクリ
プタアドレスの設定。
MOV BAPL,#00H
MOV BAPM,#02H
EI2OS の設定
変換データの転送先番地。
MOV BAPH,#00H
MOV ISCS,#18H
ワードデータ転送 , 転送後転送先番地をインクリメ
ントする。I/O からメモリへ転送。リソースからの
要求で終了しない。
MOV IOA,#36H
転送元アドレス
MOV DCT,#03H
EI2OS 転送を 3 回行う。変換回数と同じにする。
MOV ADCS0#0BH
単発モード , 開始チャネル AN1, 終了チャネル AN3
MOV ADCS1#A2H
ソフト起動 , A/D 変換開始
RET
割込みからの復帰
A/Dコンバータ設定
割込みシーケンス
ICR10: 割込み制御レジスタ
BAPL: バッファアドレスポインタ下位
BAPM: バッファアドレスポインタ中位
BAPH: バッファアドレスポインタ上位
ISCS:EI2OS ステータスレジスタ
IOA:I/O アドレスカウンタ
DCT: データカウンタ
215
第 16 章 A/D コンバータ
図 16.5-2 単発変換モードの EI2OS 起動プログラム例のフロー
起動開始
AN1
割込み → EI2OS 転送
AN2
割込み → EI2OS 転送
AN3
割込み → EI2OS 転送
終了
割込みシーケンス
並行処理
216
第 16 章 A/D コンバータ
16.5.2
連続モード時の EI2OS の起動例
連続モード時の EI2OS の起動例は次のとおりです。
• アナログ入力 AN3 ∼ AN5 の変換をして各チャネルの変換データを 2 つ取得する。
• 変換データは 600H ∼ 60BH 番地に順に転送する。
• 起動は外部エッジ入力で行う。
• 割込みレベル最強
■ 連続モード時の EI2OS の起動例
表 16.5-2 連続モード時の EI2OS の起動例
設定項目
プログラム例
MOV ICR10#08H
動作説明
最強割込み設定 , 割込み時 EI2OS 起動 , ディスクリ
プタアドレスの設定。
MOV BAPL,#00H
MOV BAPM,#06H
変換データの転送先番地
MOV BAPH,#00H
EI2OS の設定
MOV ISCS,#18H
ワードデータ転送 , 転送後転送先番地をインクリメ
ントする。I/O からメモリへ転送。リソースからの
要求で終了しない。
MOV IOA,#36H
転送元アドレス
MOV DCT,#06H
EI2OS 転送を 6 回行う。3 チャネル× 2 分のデータ
転送を行う。
MOV ADCS0#9DH
連続モード , 開始チャネル AN3, 終了チャネル AN5
MOV ADCS1#A4H
外部エッジ起動 , A/D 変換開始
A/Dコンバータ設定
EI2OS 終 了 割 込 み
シーケンス
MOV ADCS1#00H
割込みからの復帰
RET
ICR10: 割込み制御レジスタ
BAPL: バッファアドレスポインタ下位
BAPM: バッファアドレスポインタ中位
BAPH: バッファアドレスポインタ上位
ISCS:EI2OS ステータスレジスタ
IOA:I/O アドレスカウンタ
DCT: データカウンタ
217
第 16 章 A/D コンバータ
図 16.5-3 連続変換モードの EI2OS 起動プログラム例のフロー
起動開始
AN3
割込み → EI2OS 転送
AN4
割込み → EI2OS 転送
AN5
割込み → EI2OS 転送
全 6 回転送後
割込みシーケンス
終了
218
第 16 章 A/D コンバータ
16.5.3
停止モード時の EI2OS の起動例
停止モード時の EI2OS の起動例は , 次のとおりです。
• アナログ入力 AN3 を一定期間おいて 12 回変換する。
• 変換データは 600H ∼ 617H 番地に順に転送する。
• 起動は外部エッジ入力で行う。
• 割込みレベル最強
■ 停止モード時の EI2OS の起動例
表 16.5-3 停止モード時の EI2OS の起動例
設定項目
プログラム例
MOV ICR10#08H
動作説明
最強割込み設定 , 割込み時 EI2OS 起動 , ディスクリ
プタアドレスの設定。
MOV BAPL,#00H
MOV BAPM,#06H
EI2OS の設定
MOV BAPH,#00H
MOV ISCS,#18H
ワードデータ転送 , 転送後転送先番地をインクリメ
ントする。I/O からメモリへ転送。リソースからの
要求で終了しない。
MOV IOA,#36H
転送元アドレス
MOV DCT,#0CH
EI2OS 転送を 12 回行う。
MOV ADCS0#DBH
停止モード , 開始チャネル AN3, 終了チャネル AN3
(1 チャネル変換 )
MOV ADCS1#A4H
外部エッジ起動 , A/D 変換開始
A/Dコンバータ設定
EI2OS 終 了 割 込 み
シーケンス
変換データの転送先番地。
MOV ADCS1#00H
割込みからの復帰
RET
ICR10: 割込み制御レジスタ
BAPL: バッファアドレスポインタ下位
BAPM: バッファアドレスポインタ中位
BAPH: バッファアドレスポインタ上位
ISCS:EI2OS ステータスレジスタ
IOA:I/O アドレスカウンタ
DCT: データカウンタ
219
第 16 章 A/D コンバータ
図 16.5-4 停止モードの EI2OS 起動プログラム例のフロー
起動開始
AN3
割込み → EI2OS 転送
12 回転送後
停止
外部エッジ起動
割込みシーケンス
終了
220
第 16 章 A/D コンバータ
16.6
変換データ保護機能
A/D コンバータは , 変換データ保護機能を持ち EI2OS を使って連続変換と複数の
データを確保できることを特長としています。
A/D データレジスタは 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 が動
作し転送する前に A/D データレジスタの内容が変わることがあります。
また , 一時停止中に再起動をかけると待機データが壊れます。
221
第 16 章 A/D コンバータ
■ 変換データ保護機能のフロー例 (EI2OS の場合 )
図 16.6-1 変換データ保護機能のフロー例 (EI2OS の場合 )
EI2OS 設定
A/D 連続変換起動
1 回変換終了
A/D データレジスタに格納
EI2OS 起動
2 回変換終了
EI2OS 終了
NO
A/D 一時停止
YES
YES
A/D データレジスタに格納
EI2OS 終了
NO
EI2OS 起動
3 回変換終了
続く
EI2OS 起動
すべて変換終了
割込みルーチン
終了
A/D 停止
■ 変換データ保護機能の使用上の注意
A/D コンバータを外部トリガまたは内部タイマを使って起動する場合 ADCS1 レジスタ
の A/D 起動要因ビット STS1, STS0 で設定しますが , このときに外部トリガおよび内部
タイマの入力値はインアクティブ側の状態で設定してください。アクティブ側にして
おくと動作しはじめる場合があります。
STS1 および STS0 をセットする場合には必ず , ADTG に対して "1" ( 入力 ) を指定し内
部タイマ ( タイマ 2) に対しては "0" ( 出力 ) を指定してください。
222
第 17 章
UART0
この章では , UART0 の機能と動作について説明し
ます。
17.1 UART0 の特長
17.2 UART0 のブロックダイヤグラム
17.3 UART0 のレジスタ
17.4 UART0 の動作
17.5 ボーレート
17.6 内部クロックおよび外部クロック
17.7 転送データフォーマット
17.8 パリティビット
17.9 割込み生成とフラグのセットタイミング
17.10 UART0 の応用例
223
第 17 章 UART0
17.1
UART0 の特長
UART は , 非同期 ( 調歩同期 ) 通信または CLK 同期通信を行うためのシリアル I/O
ポートです。MB90590 シリーズには 3 本の UART があります。次節では UART0 の
機能についてのみ記述します。残りの UART も同じ機能を持ち , レジスタアドレス
については「付録 A I/O マップ」に記しています。
■ UART0 の特長
UART0 には以下の特長があります。
• 全二重ダブルバッファ
• CLK 同期と CLK 非同期調歩式データ転送のサポート
• マルチプロセッサモードのサポート
• 専用ボーレートジェネレータの内蔵 (12 種類 )
• 外部クロック入力または内部タイマによる自由なボーレート設定のサポート
• 可変長データ (7 ∼ 9 ビット [ パリティなし ], 6 ∼ 8 ビット [ パリティあり ])
• エラー検出機能 ( パリティ , フレーミング , オーバラン )
• 割込み機能 ( 受信割込みと送信割込み )
• NRZ 形式の転送フォーマット
224
第 17 章 UART0
17.2
UART0 のブロックダイヤグラム
図 17.2-1 に , UART0 のブロックダイヤグラムを示します。
■ UART0 のブロックダイヤグラム
図 17.2-1 UART0 のブロックダイヤグラム
制御バス
受信割込み (CPU へ )
専用ボーレートクロック
SCK0
送信クロック
16 ビットリロードタイマ 0
クロック
選択回路
送信割込み (CPU へ )
受信クロック
SCK0
SIN0
受信制御回路
送信制御回路
スタートビット
検出回路
送信スタート回路
受信ビット
カウンタ
送信ビット
カウンタ
受信パリティ
カウンタ
送信パリティ
カウンタ
SOT0
送信用シフタ
受信用シフタ
受信状態判定回路
受信終了
送信開始
UIDR
UODR
EI2OS 用
受信エラー発生信号
(CPU へ )
データバス
UMC
レジスタ
PEN
SBL
MC1
MC0
SMDE
RFC
SCKE
SOE
USR
レジスタ
RDRF
ORFE
PE
TDRE
RIE
TIE
RBF
TBF
URD
レジスタ
BCH
RC3
RC2
RC1
RC0
BCH0
P
D8
制御バス
225
第 17 章 UART0
17.3
UART0 のレジスタ
UART0 には , 次の 4 つのレジスタがあります。
• シリアルモード制御レジスタ 0
• シリアルステータスレジスタ 0
• シリアルインプットデータ / シリアルアウトプットデータレジスタ 0
• レート・データレジスタ 0
■ UART0 のレジスタ
図 17.3-1 UART0 のレジスタ
シリアルモード制御レジスタ 0
bit
アドレス : 000020H
7
6
5
4
3
2
1
0
PEN
SBL
MC1
MC0
SMDE
RFC
SCKE
SOE
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(W)
(1)
(R/W)
(0)
(R/W)
(0)
14
13
12
11
10
9
8
PE
TDRE
RIE
TIE
RBF
TBF
(R)
(0)
(R)
(1)
(R/W)
(0)
(R/W)
(0)
(R)
(0)
(R)
(0)
リード / ライト→ (R/W)
(0)
初期値→
UMC0
シリアルステータスレジスタ 0
bit
15
アドレス : ch.0 000021H RDRF ORFE
リード / ライト→
初期値→
(R)
(0)
(R)
(0)
USR0
シリアルインプットデータレジスタ 0/ シリアルアウトプットデータレジスタ 0
bit
アドレス : 000022H
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
15
14
13
12
11
10
9
8
BCH
RC3
RC2
RC1
RC0
BCH0
P
D8
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(X)
リード / ライト→ (R/W)
(X)
初期値→
UIDR0( リード )
UODR0( ライト )
レート・データレジスタ 0
bit
アドレス : ch.0 000023H
リード / ライト→ (R/W)
(0)
初期値→
226
URD0
第 17 章 UART0
17.3.1
シリアルモード制御レジスタ 0 (UMC0)
シリアルモード制御レジスタ 0 (UMC0) は , UART0 の動作モードを指定します。動
作が停止中に動作モードを設定します。ただし , RFC ビットは動作中もアクセス可
能です。
■ シリアルモード制御レジスタ 0 (UMC0) の構成
図 17.3-2 シリアルモード制御レジスタ 0 (UMC0)
bit
アドレス : ch.0 000020H
7
6
5
4
3
2
1
0
PEN
SBL
MC1
MC0
SMDE
RFC
SCKE
SOE
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(W)
(1)
(R/W)
(0)
(R/W)
(0)
リード / ライト→ (R/W)
(0)
初期値→
UMC0
■ シリアルモード制御レジスタ 0 (UMC0) の内容
【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)
転送データの長さを制御します。表 17.3-1 に , 本ビットで選択可能な 4 つの転送モー
ド ( データ長 ) を示します。
表 17.3-1 UART 動作モード
モード
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" に設定してください ( 詳細については , 「17.4 UART0 の動作」を参
照 ) 。送信データ長は 9 ビットで , パリティビットは追加できません。
227
第 17 章 UART0
【bit3】SMDE(Synchro mode enable)
SMDE は , 転送方法を選択します。
0: 調歩式 CLK 同期転送 ( 調歩ビットによるクロック選択の同期転送 )
1: 調歩式 CLK 非同期転送
【bit2】RFC(Receiver flag clear)
"0" を書き込むと , USR レジスタ中の 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 が "1111" に設定されている場合 , 外部ク
ロック入力端子として機能します。
1:UART0 シリアルクロック出力端子として機能します。
< 注意事項 >
ポート端子をクロック出力として使用している場合 , ポート方向レジスタの対応す
るビットを "1" に設定する必要があります。これは UART0 専用です。
【bit0】SOE(Serial Output Enable)
"1" を書き込むと , ポート端子が UART0 シリアルデータ出力端子に切り換わり , シリ
アル出力が可能になります。
0: ポート端子として機能し , シリアルデータを出力しません。
1:UART0 シリアルデータ出力端子として機能します。
< 注意事項 >
228
ポート端子をシリアル出力として使用している場合 , ポート方向レジスタの対応す
るビットを "1" に設定する必要があります。これは UART0 専用です。
第 17 章 UART0
17.3.2
シリアルステータスレジスタ 0 (USR0)
シリアルステータスレジスタ 0 (USR0) は , UART0 ポートの現在の状態を示します。
■ シリアルステータスレジスタ 0 (USR0) の構成
図 17.3-3 シリアルステータスレジスタ 0 (USR0)
bit
15
14
アドレス : ch.0 000021H RDRF ORFE
リード / ライト→
初期値→
(R)
(0)
(R)
(0)
13
12
11
10
9
8
PE
TDRE
RIE
TIE
RBF
TBF
(R)
(0)
(R)
(1)
(R/W)
(0)
(R/W)
(0)
(R)
(0)
(R)
(0)
USR0
■ シリアルステータスレジスタ 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: エラーあり
表 17.3-2 に , RDRF または ORFE による受信完了後の UIDR0 の状態を示します。
表 17.3-2 受信完了後の UIDR0 の状態
RDRF
ORFE
0
0
空
0
1
フレーミングエラー
1
0
有効データ
1
1
オーバランエラー
UIDR0 データの状態
オーバランまたはフレーミングエラーが発生した場合 , UIDR 中のデータは無効です。
次のデータはフラグクリア後に受信できます。
229
第 17 章 UART0
【bit13】PE(Parity Error)
受信パリティエラーが発生した場合にセットされるフラグです。UMC レジスタ中の
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: 送信側がビジー状態
230
第 17 章 UART0
17.3.3
シリアルインプットデータレジスタ 0 (UIDR0) とシ
リアルアウトプットレジスタ 0 (UODR0)
シリアルインプットデータレジスタ 0 (UIDR0) は , シリアルデータの入力 ( 受信 ) 用
レジスタであり , シリアルアウトプットレジスタ 0 (UODR0) は , データの出力 ( 送
信 ) 用レジスタです。
■ シリアルインプットデータレジスタ 0 (UIDR0) とシリアルアウトプットレジスタ 0
(UODR0)
図 17.3-4 シリアルインプットデータレジスタ 0 (UIDR0) と
シリアルアウトプットレジスタ 0 (UODR0)
bit
アドレス : ch.0 000022H
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
リード / ライト→ (R/W)
(X)
初期値→
UIDR0( リード )
UODR0( ライト )
データ長が 6 ビットの場合 , 最大有効ビットの D7 と D6 が無視され , データ長が 7 ビッ
トの場合 , 最大有効ビットの D7 が無視されます。USR レジスタ中の TDRE="1" のとき
のみUODRに書き込みし, USRレジスタ中のRDRF="1"のときのみUIDRを読出します。
231
第 17 章 UART0
17.3.4
レート・データレジスタ 0 (URD0)
レート・データレジスタ 0 (URD0) は , UART0 用のデータ転送速度を選択するレジ
スタです。送信データ長が 9 ビットのとき , データの最大有効ビット ( ビット 8) を
保持します。UART0 が停止中にボーレートとパリティを設定してください。
■ レート・データレジスタ 0 (URD0) の構成
図 17.3-5 レート・データレジスタ 0 (URD0)
bit
アドレス : ch.0 000023H
15
14
13
12
11
10
9
8
BCH
RC3
RC2
RC1
RC0
BCH0
P
D8
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(X)
リード / ライト→ (R/W)
(0)
初期値→
URD0
■ レート・データレジスタ 0 (URD0) の内容
【bit15, bit10】BCH, BCH0 (Baud rate clock change)
ボーレートクロック用のマシンサイクルを指定します ( 詳細については , 「17.5 ボー
レート」を参照 ) 。
表 17.3-3 マシンサイクルの設定例
< 注意事項 >
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 を "00" に設定しないでください。
【bit14 ∼ bit11】RC3, RC2, RC1, RC0 (Rate control)
UART0 ポート用のクロック入力を選択します ( 詳細については , 「17.5 ボーレート」
を参照 ) 。
表 17.3-4 クロック入力選択
RC3 ∼ RC0
"0000" ∼ "1011"
< 注意事項 >
232
クロック入力
専用ボーレートジェネレータ
"1101"
16 ビット リロードタイマ 0
"1111"
外部クロック
レートコントロールビットを "1100""1110" に設定しないでください。
第 17 章 UART0
【bit9】P(Parity)
パリティがアクティブのとき , 偶数 / 奇数パリティを設定します (PEN="1")。
0: 偶数パリティ
1: 奇数パリティ
【bit8】D8
モード 2 または 3 (9 ビットデータ長 ) およびパリティなしでの転送データの bit8 を保
持します。読出し時には UIDR0 レジスタの bit8 として , 書込み時には UODR0 レジス
タの bit8 として扱われます。その他のモードでは意味を持ちません。USR0 レジスタ中
で TDRE="1" のときのみ D8 に書き込みます。
233
第 17 章 UART0
17.4
UART0 の動作
表 17.4-1 に , UART0 の動作モードを示します。モードを切り換えるには , UMC レ
ジスタに値を設定します。
■ UART0 の動作モード
表 17.4-1 UART0 の動作モード
モード
パリティ
データ長
On
6
Off
7
On
7
Off
8
Off
8+1
On
8
Off
9
クロックモード
ストップビット長 *
0
1
2
CLK 非 同 期 ま た は
CLK 同期
1 ビットまたは
2 ビット
3
*: ストップビット長については , 送信動作のみ指定が可能です。受信動作について
は常に 1 ビット長となります。UART0 は上記モード以外では動作しませんので ,
設定しないでください。
< 注意事項 >
234
UART0 は , 調歩クロック同期転送を使用するので , クロック同期転送でもスタート
ビットとストップビットをデータに追加します。
第 17 章 UART0
17.5
ボーレート
専用ボーレートジェネレータ使用時には , 次の 2 種類があります。
• CLK 同期ボーレート
• CLK 非同期ボーレート
■ CLK 同期ボーレート
BCH, BCH0, RC3, RC2, RC1 の 5 つの URD レジスタが CLK 同期転送用のボーレートを
選択します。
最初に , BCH, BCH0 を使用してマシンクロック分周比を選択します。
BCH
BCH0
0
1
→
4 分周 [ 例 : 16 MHz 時 16/4 = 4 MHz]
1
0
→
3 分周 [ 例 : 12 MHz 時 12/3 = 4 MHz]
1
1
→
5 分周 [ 例 : 10 MHz 時 10/5 = 2 MHz]
次に , 上記で選択したクロックの分周比を RC3, RC2, RC1 に設定します。CLK 同期転
送には , 以下の 3 つの設定が可能です。それ以外の設定は禁止されます。
RC3
RC2
RC1
0
1
0
→ 2 分周 [ 例 : 4 MHz 時 4/2 = 2.0 M (bps)]
0
1
1
→ 4 分周 [ 例 : 4 MHz 時 4/4 = 1.0 M (bps)]
1
0
0
→ 8 分周 [ 例 : 4 MHz 時 4/8 = 0.5 M (bps)]
(2 MHz 時 , 上記の例の半分の速度になります。)
■ CLK 非同期ボーレート
BCH, BCH0, RC3, RC2, RC1, RC0 の 6 つの URD レジスタが CLK 非同期転送用のボー
レートを選択します。
最初に , BCH, BCH0 を使用してマシンクロック分周比を選択します。
BCH
BCH0
0
1
→
4 分周 [ 例 : 16 MHz 時 16/4 = 4 MHz]
1
0
→
3 分周 [ 例 : 12 MHz 時 12/3 = 4 MHz]
1
1
→
5 分周 [ 例 : 10 MHz 時 10/5 = 2 MHz]
次に , 上記で選択したクロックの非同期転送クロック分周比を RC3, RC2, RC1, RC0 に
設定します。CLK 同期転送には , 以下の設定が可能です。
235
第 17 章 UART0
RC3
RC2
RC1
RC0
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
→ 8 分周
×
×
0
→ 12 分周
1
→ 13 分周
0
→ 設定禁止
1
→ 8 分周
上記の 12 個のボーレートが選択可能であり , CLK 同期ボーレートの計算方法の公式を
以下に示します。
ここで , はマシンサイクルであり , m は RC3 ∼ RC1 の 10 進数表記です。
< 注意事項 >
236
ボーレート
=
ボーレート
=
ボーレート
=
φ/4
2m-1
φ/3
2m-1
φ/5
2m-1
[bps] ( マシンサイクル= 16 MHz)
[bps] ( マシンサイクル= 12 MHz)
[bps] ( マシンサイクル= 10 MHz)
m=0 または m=1 の場合 , 上記公式は計算不可です。
CLK 非同期ボーレートが -1% ∼ +1% の範囲にある場合 , データ転送が可能です。
ボーレートは , CLK 非同期ボーレートを 8 × 13, 8 × 12, 8 で割った値です。
表 17.5-1 に , マシンサイクルが 16MHz, 12MHz, 10MHz 時の例を示します。表中の
"_" でマークした設定は使用しないでください。
第 17 章 UART0
表 17.5-1 ボーレート
CLK 非同期 (µs/ ボー )
RC3
RC2
RC1
RC0
16MHz
12MHz
10MHz
BCH/
0=01
BCH/
0=10
BCH/
0=11
-
-
48/20833
26/38460 26/38460 52/19230
CLK 同期 (µs/ ボー )
16MHz
12MHz
10MHz
BCH/
0=01
BCH/
0=10
BCH/
0=11
8 × 12
-
-
-
8 × 13
-
-
-
8
-
-
-
CLK 非同期分周比
0
0
0
0
0
0
0
1
0
0
1
0
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
8
-
-
-
-
-
-
-
-
-
-
16/62500 16/62500 32/31250
237
第 17 章 UART0
17.6
内部クロックおよび外部クロック
RC3 ∼ RC0 を "1101" に設定すると , 16 ビット リロードタイマからのクロック信
号を選択することになります。RC3 ∼ RC0 を "1111" に設定すると , 外部クロック
を選択することになります。なお , 外部クロックの最大周波数は 2MHz です。
■ 内部クロックおよび外部クロック
CLK 非同期ボーレートは , CLK 同期ボーレートを 8 で割ったものです。また , CLK 非
同期ボーレートが選択したボーレート -1% ∼ +1% の範囲にある場合 , データ転送が可
能です。表 17.6-1 に , 内部タイマをクロックとして選択した場合のボーレートを示し
ます。本表の値は , マシンサイクルを 7.3728MHz として計算しています。ただし , 表
中の "_" でマークした設定は使用しないでください。
ボーレート
=
φ/X
8 × 2 (n+1)
[bps]
φ :マシンサイクル
X :内部タイマのカウントクロックソースの分周比
n :リロード値 (10 進数 )
表 17.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
表中の値は , 16 ビット リロードタイマのリロードカウント動作のリロード値 (10 進数 ) です。
238
第 17 章 UART0
転送データフォーマット
17.7
UART0 は , NRZ(non-return-to-zero) 形式のデータのみを扱います。図 17.7-1 に ,
送受信クロックと CLK 同期モードのデータとの関係を示します。
■ 転送データフォーマット
図 17.7-1 転送データフォーマット
SCK0
SIN0, SOT0
0
1
0
起動 LSB
1
1
0
0
1
0
1
1
⎫
MSB 停止
D8 停止 ⎬ モードに依存
⎭
転送されたデータは 01001101B ( モード 1) または 101001101B ( モード 3) 。
図 17.7-1 に示すように , 転送データは必ずスタートビット ("L" レベルデータ ) より始
まり , LSB ファーストで指定されたデータビット長転送が行われ , ストップビット ("H"
レベルデータ ) で終了します。外部クロックを選択している場合は , 常にクロックを入
力してください。
内部クロック ( 専用ボーレートジェネレータまたは 16 ビット リロードタイマ ) を選択
している場合 , クロックは連続的に出力されます。CLK 同期転送を使用する場合 , 選択
したボーレートクロックが安定 (2 ボーレートクロックサイクル ) するまでデータ転送
を開始しないでください。
CLK 非同期転送を使用する場合 , UMC0レジスタ中の SCKE ビットを "0" に設定し , クロッ
ク出力を無効にしてください。SIN0 と SOT0 の転送データフォーマットは , 図 17.7-1 に示
すものと同じです。
239
第 17 章 UART0
17.8
パリティビット
URD0 レジスタ中の P ( パリティ ) ビットは , パリティが許可されている場合に
偶数 / 奇数パリティのどちらを使用するかを指定します。UMC レジスタ中の PEN
( パリティイネーブル ) ビットはパリティを許可します。
■ パリティビット
偶数パリティ設定時に図 17.8-1に示すデータをSINに入力すると, 受信パリティエラー
が発生します。図 17.8-1 には , 001101B を偶数 / 奇数パリティで送信時に送信される
データも示しています。
図 17.8-1 パリティを許可したシリアルデータ
SIN0
( 受信パリティエラー発生 P=0)
0
1
0
1
1
0
起動 LSB
0
MSB
0
1
停止
( パリティ )
SOT0
( 偶数パリティ送信 P=0)
0
1
0
1
1
0
0
MSB
1
1
停止
( パリティ )
起動 LSB
SOT0
( 奇数パリティ送信 P=1)
0
1
起動 LSB
240
0
1
1
0
0
MSB
0
1
停止
( パリティ )
第 17 章 UART0
17.9
割込み生成とフラグのセットタイミング
UART0 には , 2 つの割込み要因と 6 個のフラグがあります。2 つの割込み要因には ,
受信割込みと送信割込みがあります。6 個のフラグとは , RDRF, ORFE, PE, TDRE,
RBF, TBF です。受信については , RDRF, ORFE, PE フラグが割込みを要求します。
送信については , TDRE フラグが割込みを要求します。
■ フラグのセットタイミング
● RDRF フラグ
RDRF は UIDR レジスタに受信データがロードされるとセットされます。UMC レジス
タ中の 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 は送信中にアクティブになります。
241
第 17 章 UART0
受信動作時 ( モード 0, モード 1, モード 3) のフラグの
セットタイミング
17.9.1
RDRF, ORFE, PE フラグは , 受信転送が終了し最後のストップビットを検出すると
きにセットされ , CPU への割込み要求が発生します。ORFE, PE のどちらかのビッ
トがアクティブ時には , UIDR0 中のデータは無効となります。
■ 受信動作時 ( モード 0, モード 1, モード 3) のフラグのセットタイミング
図 17.9-1, 図 17.9-2, 図 17.9-3 に , RDRF, ORFE, PE フラグのセットタイミングを示しま
す。
図 17.9-1 RDRF のセットタイミング ( モード 0, 1, 3)
停止
データ
( 停止 )
RDRF
受信割込み
図 17.9-2 ORFE のセットタイミング ( モード 0, 1, 3)
データ
停止
RDRF = 1
データ
停止
RDRF = 0
ORFE
ORFE
受信割込み
受信割込み
( フレーミングエラー )
( オーバランエラー )
図 17.9-3 PE のセットタイミング ( モード 0, 1, 3)
データ
PE
受信割込み
242
停止
( 停止 )
第 17 章 UART0
17.9.2
受信動作時 ( モード 2) のフラグのセットタイミング
RDRF フラグは , 最後のストップビットを検出し , 最後のデータビット (D8) の値が
"1" で受信転送が終了するときにセットされます。
ORFE フラグは , 最後のデータビット (D8) の値に無関係に , 最後のストップビット
を検出するときにセットされます。ORFE ビットがアクティブ時には , UIDR0 中の
データは無効となります。
どれかのフラグがセットされると , CPU への割込み要求が発生します ( モード 2 の
使用法の詳細については , 「17.10 UART0 の応用例」を参照 ) 。
■ 受信動作時 ( モード 2) のフラグのセットタイミング
図 17.9-4 RDRF のセットタイミング ( モード 2)
データ D6D7D8
停止
( 停止 )
RDRF
受信割込み
図 17.9-5 ORFE のセットタイミング ( モード 2)
データ D7D8
停止
データ D7D8
RDRF=1
RDRF=0
ORFE
ORFE
受信割込み
受信割込み
( オーバランエラー )
停止
( フレーミングエラー )
243
第 17 章 UART0
送信動作時のフラグのセットタイミング
17.9.3
送信動作時に UODR フラグに書き込まれたデータは , 内部シフトレジスタに転送さ
れます。このとき , TDRE フラグがセットされ , CPU への割込み要求が発生して , 次
のデータを UODR フラグに書込みができるようになります。
■ 送信動作時のフラグのセットタイミング
図 17.9-6 TDRE のセットタイミング ( モード 0)
UODR ライト
TDRE
CPU へ割込みを要求する。
送信割込み
SOT0 出力
ST D0
ST: スタートビット
244
D1
D2 D3
D4
D5 D6
D0 ∼ D7: データビット
D7
SP SP ST D0
SP: ストップビット
D1 D2
D3
第 17 章 UART0
送受信動作時のステータスフラグ
17.9.4
送受信動作時に , RBF フラグは , スタートビットが検出されるとセットされ , ストッ
プビットが検出されるとクリアされます。UIDR0 中の受信データは , RBF クリアタ
イミングではまだ無効状態です。UIDR0 中のデータは , RDRF セットタイミングで
有効になります。
■ 送受信動作時のステータスフラグ
図 17.9-7 に , RBF と受信割込みフラグのタイミングとの関係を示します。
図 17.9-7 RBF のセットタイミング ( モード 0)
SIN0 入力
ST D0 D1
D2 D3 D4
D5 D6 D7
SP
RBF
RDRF, PE, ORFE
ST: スタートビット
D0 ∼ D7: データビット
SP: ストップビット
UODR0 に送信データを書き込むと , TBF がセットされ , 送信が完了するとクリアされ
ます。
図 17.9-8 TBF のセットタイミング ( モード 0)
UODR ライト
ST D0
SOT0 出力
D1 D2
D3 D4
D5 D6
D7
SP SP
TBF
ST: スタートビット
< 注意事項 >
D0 ∼ D7: データビット
SP: ストップビット
SIN0 入力端子が "1" に固定されていない限り , 受信動作はリセットのリリース後に
開始します。このため , モードを設定する前に , UMC0 レジスタ中の RFC に "0" を
書き込み , セットされているすべての受信フラグをクリアしてください。
USR0 レジスタ中の RBF と TBF フラグが "0" のとき , 通信モードをセットしてくだ
さい。モード設定中の送受信データは保証されません。
■ EI2OS ( 拡張インテリジェント I/O サービス )
EI2OS の詳細については ,「3.7 拡張インテリジェント I/O サービス (EI2OS)」を参照し
てください。
245
第 17 章 UART0
17.10
UART0 の応用例
モード 2 は , 1 台のホスト CPU の数台のスレーブ CPU が接続されるような場合に
使用されます ( 図 17.10-1 を参照 ) 。
■ UART0 の応用例
図 17.10-1 RBF のセットタイミング ( モード 0)
SIN0 入力
ST D0
D1 D2
D3
D4
D5 D6
D7
SP
RBF
RDRF, PE, ORFE
ST: スタートビット
D0 ∼ D7: データビット
SP: ストップビット
図 17.10-2 に示すように , 通信は , ホスト CPU がアドレスデータを転送することによっ
て始まります。アドレスデータは , 9 番目のビット (D8) が "1" にセットされています。
これにより通信先となるスレーブ CPU が選択され , ユーザが決定したプロトコルを使
用してホスト CPU との通信を行います。通常データは D8 が "0" にセットされていま
す。非選択のスレーブ CPU は , 次の通信セッションが始まるまでスタンバイ状態で待
機します。図 17.10-3 に , 本モードでの動作フローチャートを示します。
このモードにおいては , パリティチェック機能は使用できませんので , UMC0 レジスタ
の PEN ビットは "0" としてください。
図 17.10-2 モード 2 使用時のシステム構築例
SOT0
SIN0
ホスト CPU
246
SOT0 SIN0
SOT0 SIN0
スレーブ CPU#0
スレーブ CPU#1
第 17 章 UART0
図 17.10-3 モード 2 使用時の通信フローチャート
( ホスト CPU)
( スレーブ CPU)
起動
起動
転送モードを "3" とする
転送モードを "2" にセット
D0 ∼ D7 にスレーブ CPU
選択 , D8 に "1" をセットし ,
1 バイト転送
1 バイト受信
NO
選択 ?
D8 に "0" をセットし ,
通信を実行
終了
YES
転送モードを "3" にセット
し , SOT0 出力を許可
マスタ CPU で通信を実行
ステータスフラグを使用し
て転送の完了を確認 , 転送
モードを "2" にセットして
SOT0 出力を禁止
247
第 17 章 UART0
248
第 18 章
シリアル I/O
この章では , シリアル I/O の機能と動作について説
明します。
18.1 シリアル I/O の概要
18.2 シリアル I/O のレジスタ
18.3 シリアル I/O プリスケーラ (CDCR)
18.4 シリアル I/O の動作
18.5 ネガティブクロック動作
249
第 18 章 シリアル I/O
18.1
シリアル I/O の概要
シリアル I/O の動作モードには , 以下の 2 種類があります。
• 内部シフトクロックモード……内部クロックに同期してデータ転送を行います。
• 外部シフトクロックモード……外部端子 (SCK3) から入力されるクロックに同期し
てデータ転送を行います。このモードで外部端子
(SCK3) を共有している汎用ポートを操作すること
により , CPU の命令による転送動作も可能です。
■ シリアル I/O のブロックダイヤグラム
クロック同期によるデータ転送を可能にするシリアル I/O インタフェースのブロック
ダイヤグラムを示します。このインタフェースは 8 ビット× 1 チャネル構成で , データ
は LSB/MSB から転送できます。
図 18.1-1 拡張シリアル I/O インタフェースのブロックダイヤグラム
内部データバス
(MSB ファースト )
D0 ∼ D7
D7 ∼ D0 (LSB ファースト )
転送方向選択
SIN3
リード
ライト
SDR
( シリアルデータレジスタ )
SOT3
SCK3
シフトクロック
カウンタ
制御回路
内部クロック
2
1
0
SMD2 SMD1 SMD0
SIE
SIR
BUSY STOP
STRT MODE
割込み要求
内部データバス
250
BDS
SOE
SCOE
第 18 章 シリアル I/O
シリアル I/O のレジスタ
18.2
シリアル I/O のレジスタには , 次の 2 つがあります。
• シリアルモード制御ステータスレジスタ (SMCS)
• シリアルシフトデータレジスタ (SDR)
■ シリアル I/O のレジスタ
図 18.2-1 シリアル I/O のレジスタ
bit
アドレス :
00002DH
15
14
13
SMD2 SMD1 SMD0
12
11
10
9
8
SIE
SIR
BUSY
STOP
STRT
bit
7
6
5
4
3
2
1
0
アドレス :
00002CH
−
−
−
−
MODE
BDS
SOE
SCOE
bit
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
アドレス :
00002EH
シリアルモード制御
ステータスレジスタ (SMCS)
シリアルデータレジスタ
(SDR)
251
第 18 章 シリアル I/O
18.2.1
シリアルモード制御ステータスレジスタ (SMCS)
シリアルモード制御ステータスレジスタ (SMCS) は , シリアル I/O 転送モードを制御
するレジスタです。
■ シリアルモード制御ステータスレジスタ (SMCS)
図 18.2-2 シリアルモード制御ステータスレジスタ (SMCS)
SMCS
bit
アドレス :00002DH
15
14
13
SMD2 SMD1 SMD0
R/W
R/W
R/W
12
11
10
9
8
初期値
SIE
SIR
BUSY
STOP
STRT
00000010B
R/W
R/W
R
R/W
R/W
↑
*1
SMCS
bit
アドレス :00002CH
↑
*2
7
6
5
4
3
2
1
0
初期値
−
−
−
−
MODE
BDS
SOE
SCOE
----0000B
R/W
R/W
R/W
R/W
(−)
(−)
(−)
(−)
*1:Write 動作は "0" のみ可。
*2:Write 動作は "1" のみ可 , Read 動作は常に "0"。
■ シリアルモード制御ステータスレジスタ (SMCS) の各ビット機能
【bit3】シリアルモード選択ビット (MODE)
このビットにより停止状態からの起動条件の選択を行います。ただし , 動作中の書換え
は禁止します。
表 18.2-1 シリアルモード選択ビットの設定
MODE
動作
0
STRT=1 にすることにより起動します。[ 初期値 ]
1
シリアルデータレジスタのリード / ライトにより起動します。
リセットにより "0" に初期化されます。本ビットは , 読出し / 書込みが可能です。イン
テリジェント I/O サービスを起動する際には "1" にしておいてください。
【bit2】転送方向選択ビット (BDS:Bit DirectionS elect)
シリアルデータの入出力時に , 最下位ビット側から先に転送するか (LSB ファースト ) ,
最上位ビット側から先に転送するか (MSB ファースト ) を , 表 18.2-2 に示すとおりに選
択します。
表 18.2-2 転送方向選択ビットの設定
252
0
LSB ファースト [ 初期値 ]
1
MSB ファースト
第 18 章 シリアル I/O
< 注意事項 >
転送方向選択ビットは , SDR にデータを書き込む前に , 設定しておいてください。
【bit1】シリアル出力許可ビット (SOE:Serial Out Enable)
シリアル I/O 用出力外部端子 (SOT3) の出力を表 18.2-3 に示すとおりに制御します。
表 18.2-3 シリアル出力許可ビットの設定
0
汎用ポート端子 [ 初期値 ]
1
シリアルデータ出力
リセットにより "0" に初期化されます。本ビットは , 読出し / 書込みが可能です。
【bit0】シフトクロック出力許可ビット (SCOE:SCK3 Output Enable)
シフトクロック用入出力外部端子 (SCK3) の出力を表 18.2-4 に示すとおりに制御しま
す。
表 18.2-4 シフトクロック出力許可ビットの設定
0
汎用ポート端子 , 命令毎転送時 [ 初期値 ]
1
シフトクロック出力端子
外部シフトクロックモードで命令ごとに転送を行うときは "0" に設定してください。リ
セットにより "0" に初期化されます。本ビットは , 読出し / 書込みが可能です。
【bit15, bit14, bit13】シフトクロック選択ビット
(SMD2, SMD1, SMD0: SerialShiftClockMode)
シリアルシフトクロックモードを表 18.2-5 に示すとおりに選択します。
表 18.2-5 シリアルシフトクロックモードの設定
SMD SMD SMD φ=16MHz
2
1
0
div=4
φ=8MHz
φ=4MHz
div=4
div=4
div
M1
DIV3 DIV2 DIV1 DIV0 推奨マシン
サイクル
0
0
0
2MHz
1MHz
500kHz
3
1
1
1
0
1
6MHz
0
0
1
1MHz
500kHz
250kHz
4
1
1
1
0
0
8MHz
0
1
0
250kHz
125kHz
62.5kHz
5
1
1
0
1
1
10MHz
0
1
1
125kHz
62.5kHz
31.25kHz
6
1
1
0
1
0
12MHz
1
0
0
62.5kHz
31.25kHz
15.625kHz
7
1
1
0
0
1
14MHz
1
0
1
外部シフトクロックモード
8
1
1
0
0
0
16MHz
1
1
0
予約
1
1
1
予約
( 注意事項 ) 詳細については , 「18.3 シリアル I/O プリスケーラ (CDCR)」を参照してください。
253
第 18 章 シリアル I/O
リセットにより "000" に初期化されます。本ビットの転送中の書換えは禁止します。シ
フトクロックは内部シフトクロック 5 種類と , 外部シフトクロックが選択できます。
SMD2, SMD1, SMD0="110", "111" はリザーブですので設定しないでください。
クロック選択で SCOE=0 とし , SCK3 端子を共有しているポートを操作することによっ
て命令ごとにシフト動作させることも可能です。
【bit12】シリアル I/O 割込み許可ビット (SIE:Serial I/O Interrupt Enable)
シリアル I/O の割込み要求を表 18.2-6 に示すとおりに制御します。
表 18.2-6 割込み要求許可ビットの設定
0
シリアル I/O 割込み禁止 [ 初期値 ]
1
シリアル I/O 割込み許可
リセットにより "0" に初期化されます。本ビットは , 読出し / 書込みが可能です。
【bit11】シリアル I/O 割込み要求ビット (SIR:Serial I/O Interrupt Request)
シリアルデータの転送が終了すると "1" にセットされ , 割込み許可時 (SIE="1") にこの
ビットが "1" になると , CPU へ割込み要求を発生します。クリア条件は MODE ビット
によって異なります。MODE ビットが "0" のとき , SIR ビットへの "0" 書込みによりク
リアされます。MODE ビットが "1" のとき , SDR の読出しまたは書込み動作によりク
リアされます。MODE ビットの値にかかわらずリセットまたは STOP ビットへの "1"
書込み動作によりクリアされます。
本ビットに "1" を書き込んでも意味がありません。リードモディファイライト系命令
のリード時は , 常に "1" が読み出されます。
【bit10】転送状態ビット (BUSY)
シリアル転送が実行中か否かを示すビットです。
表 18.2-7 転送状態ビットの設定
BUSY
動作
0
停止またはシリアルデータシフトレジスタ R/W 待機状態 [ 初期値 ]
1
シリアル転送状態
リセットにより "0" に初期化されます。本ビットは , 読出しのみ可能です。
254
第 18 章 シリアル I/O
【bit9】ストップビット (STOP)
シリアル転送を強制的に中断させるビットです。本ビットを "1" にすると STOP=1 に
よる停止状態となります。
表 18.2-8 ストップビットの設定
STOP
動作
0
動作
1
STOP=1 による転送停止 [ 初期値 ]
リセットにより "1" に初期化されます。本ビットは , 読出し / 書込みが可能です。
【bit8】スタートビット (STRT: Start)
シリアル転送の起動を行うビットです。停止状態で "1" を書くことによって転送が開
始されます。シリアル転送動作中およびシリアルシフトデータレジスタ R/W 待機中の
"1" の書込みは無視され , "0" の書込みは意味がありません。
リード時には常に "0" が読み出されます。
255
第 18 章 シリアル I/O
18.2.2
シリアルシフトデータレジスタ (SDR)
シリアルシフトデータレジスタ (SDR) は , シリアル I/O 転送データを格納するシリ
アルデータレジスタで , 転送中は読み書き不可です。
■ シリアルシフトデータレジスタ (SDR)
図 18.2-3 シリアルシフトデータレジスタ (SDR)
bit
アドレス :00002EH
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
SDR
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
( 不定 )
リード / ライト→ (R/W)
(X)
初期値→
256
第 18 章 シリアル I/O
18.3
シリアル I/O プリスケーラ (CDCR)
シリアル I/O プリスケーラ (CDCR) は , シリアル I/O のシフトクロックを提供しま
す。
シリアル I/O の動作クロックは , マシンクロックを分周することにより得られます。
シリアル I/O は , この通信プリスケーラによって種々のマシンクロックに対して一定
のボーレートが得られるように設計されています。CDCR レジスタは , マシンク
ロックの分周を制御するレジスタです。
■ シリアル I/O プリスケーラ (CDCR)
図 18.3-1 シリアル I/O プリスケーラ (CDCR)
bit
アドレス :00006DH
15
14
13
12
11
10
9
8
MD
−
−
−
DIV3
DIV2
DIV1
DIV0
(−)
(−)
(−)
(−)
(−)
(−)
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
リード / ライト→ (R/W)
(0)
初期値→
CDCR
【bit15】MD(Machine clock devide moDe select)
通信プリスケーラの動作許可ビットです。
0: シリアル I/O プリスケーラは停止します。
1: シリアル I/O プリスケーラは動作します。
【bit11, bit10, bit9, bit8】DIV3 ∼ DIV0 (DIVide3 ∼ 0)
マシンクロックの分周比を決定するビットです。
表 18.3-1 マシンクロックの分周比
< 注意事項 >
DIV3 ∼ DIV0
分周比
1101B
3
1100B
4
1011B
5
1010B
6
1001B
7
1000B
8
分周比を変えた場合はクロックの安定時間として 2 周期分の時間を置いてから通信
を行ってください。
257
第 18 章 シリアル I/O
18.4
シリアル I/O の動作
拡張シリアル I/O インタフェースは , シリアルモード制御ステータスレジスタ
(SMCS), シリアルシフトデータレジスタ (SDR) により構成されます。8 ビットのシ
リアルデータの入出力に使用します。
■ シリアル I/O の動作
シリアルデータの入出力は , シフトレジスタの内容がシリアルシフトクロック ( 外部ク
ロック , 内部クロック ) の立下りに同期してビット直列にシリアル出力端子 (SOT3 端
子 ) に出力され , 立上りに同期してシリアル入力端子 (SIN3 端子 ) からビット直列に
SDR ( シリアルシフトデータレジスタ ) に入力されます。シフトの方向 (MSB からの転
送または LSB からの転送 ) は , SMCS ( シリアルモード制御ステータスレジスタ ) の方
向指定ビット (BDS) により指定することができます。
転送が終了するとシリアルモード制御ステータスレジスタ (SMCS) の MODE ビットに
よって停止状態またはデータレジスタリード / ライト待機状態に入ります。各々の状
態から転送状態に移るには , それぞれ次のことを行います。
• 停止状態からの復帰のときは STOP ビットに "0", STRT ビットに "1" を書き込みま
す (STOP と STRT は同時設定が可能です ) 。
• シリアルシフトデータレジスタリード / ライト待機状態からの復帰時はデータレジ
スタをリードまたはライトします。
258
第 18 章 シリアル I/O
シフトクロック
18.4.1
シフトクロックには内部シフトクロックモード , 外部シフトクロックモードの 2 種
類があり , SMCS の設定で指定します。モードの切換えは , シリアル I/O が停止した
状態で行ってください。停止状態の確認は , BUSY ビットを読み出すことで可能で
す。
■ 内部シフトクロックモード
内部クロックにより動作し , 同期タイミング出力としてデューティ比 50% のシフトク
ロックが SCK3 端子より出力可能です。データが 1 クロックごとに 1 ビット転送され
ます。転送の速度 ( ボーレート ) は以下のようになります。
A は SMCS の SMD ビットで示す分周比で , 21, 22, 24, 25, 26 です。
A × div
転送速度 (s)
=
内部クロックのマシンサイクル (Hz)
表 18.4-1 内部シフトクロックモードのボーレート算出式
SMD2
SMD1
SMD0
φ / div=4MHz
φ / div=2MHz
φ / div=1MHz
ボーレート算出式
0
0
0
2MHz
1MHz
500kHz
(φ ÷ div) /21
0
0
1
1MHz
500kHz
250kHz
(φ ÷ div) /22
0
1
0
250kHz
125kHz
62.5kHz
(φ ÷ div) /24
0
1
1
125kHz
62.5kHz
31.25kHz
(φ ÷ div) /25
1
0
0
62.5kHz
31.2kHz
15.625kHz
(φ ÷ div) /26
■ 外部シフトクロックモード
SCK3 端子から入力される外部シフトクロックに同期して , データが 1 クロックごとに
1 ビット転送されます。転送速度は DC から 1/ (8 マシンサイクル ) まで可能です。例
えば , "1 マシンサイクル =62.5ns" のとき , 2MHz まで可能です。
命令ごとに転送することもでき , 次のような設定をすることによって実現します。
外部シフトクロックモードを選択し , SMCS の SCOE ビットを "0" に設定します。さら
に , SCK3 端子を共有しているポートの方向レジスタに "1" を書き込み , ポートを出力
モードに設定します。以上の設定をした後 , ポートのデータレジスタ (PDR) に "1", "0"
を書き込むと , SCK3 端子に出力されるポートの値を外部クロックとして取り込み , 転
送動作を行います。シフトクロックの開始は "H" からスタートさせてください。
< 注意事項 >
シリアル I/O 動作中の SMCS, SDR への書込みは禁止です。
259
第 18 章 シリアル I/O
18.4.2
シリアル I/O の動作状態
シリアル I/O の動作状態には , 次の 4 種類があります。
• STOP 状態
• 停止状態
• SDR のリード / ライト待機状態
• 転送状態
■ シリアル 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 にす
ると転送動作が再開されます。
● シリアルシフトデータレジスタリード / ライト待機状態
SMCS の MODE ビットが "1" のとき , シリアル転送が終了すると , BUSY=0, SIR=1 と
なりシリアルシフトデータレジスタリード / ライト待機状態に入ります。割込み許可
レジスタが許可状態ならば本ブロックより割込み信号を出します。
リード / ライト待機状態からの復帰はシリアルシフトデータレジスタが読み出された
り , 書き込まれたりすると BUSY=1 となり転送動作が再開されます。
● 転送状態
BUSY=1 でシリアル転送を行っている状態です。MODE ビットによりそれぞれ停止状
態およびリード / ライト待機状態に遷移します。
図 18.4-1 に , 動作遷移を示します。
260
第 18 章 シリアル I/O
図 18.4-1 拡張シリアル I/O インタフェース動作遷移図
リセット
STOP=0 & STRT=0
STOP
転送終了
STRT=0, BUSY=0
MODE=0
MODE=0
&
STOP=0
&
終了
STOP=0
&
STRT=1
STRT=0, BUSY=0
STOP=1
STOP=1
転送動作
STRT=1, BUSY=1
STOP=1
STOP=0
&
STRT=1
シリアルシフトデータレジスタ
リード / ライト待機
MODE=1 & 終了& STOP=0
STRT=1, BUSY=0
MODE=1
SDR の R/W & MODE=1
図 18.4-2 シリアルシフトデータレジスタへのリード , ライト概念図
シ
リ
ア
ル
デ
|
タ
データバス
SOT3
SIN3
データバス
リード
ライト
割込み出力
拡張シリアル
I/O インタフェース
リード
ライト
CPU
①
②
割込み入力
データバス
割込みコントローラ
① MODE=1のとき, シフトクロックカウンタによって転送終了し, SIR=1となってリー
ド / ライト待機状態に入ります。SIE ビットが "1" ならば割込み信号を発生します。
ただし , SIE がインアクティブのときや STOP へ "1" を書き込むことによる転送中断
のときは割込み信号は発生しません。
② シリアルシフトデータレジスタがリード / ライトされると , 割込み要求はクリアさ
れシリアル転送を開始します。
261
第 18 章 シリアル I/O
18.4.3
シフト動作のスタート / ストップタイミング
シフト動作をスタートする場合は , SMCS の STOP ビットを "0", STRT ビットを
"1" に設定します。
シフト動作のストップタイミングについては , STOP=1 によって停止する場合と , 転
送終了によって停止する場合があります。
• STOP=1 によって停止→ MODE ビットにかかわらず SIR=0 のまま停止
• 転送終了で停止→ MODE ビットにかかわらず SIR=1 となり停止
BUSY ビットは MODE ビットにかかわらずシリアル転送状態の時 "1" となり , 停止
状態またはリード / ライト待機状態のとき "0" となります。転送状態を確認したいと
きはこのビットをリードしてください。
■ シフト動作のスタート / ストップタイミング
● 内部シフトクロックモード (LSB ファースト )
図 18.4-3 シフト動作のスタート / ストップタイミング ( 内部クロック )
"1" 出力
SCK3
( 転送スタート )
STRT
( 転送終了 )
MODE=0 のとき
BUSY
SOT3
D00
D07 ( データ保持 )
● 外部シフトクロックモード (LSB ファースト )
図 18.4-4 シフト動作のスタート / ストップタイミング ( 外部クロック )
SCK3
( 転送スタート )
STRT
( 転送終了 )
MODE=0 のとき
BUSY
SOT3
262
DO0
D07 ( データ保持 )
第 18 章 シリアル I/O
● 外部シフトクロックモードで命令シフトを行ったとき (LSB ファースト )
図 18.4-5 シフト動作のスタート / ストップタイミング
( 外部シフトクロックモードで命令シフトを実行時 )
PDR の SCK3 ビット "0"
SCK3
STRT
PDR の SCK3 ビット "1"
( 転送終了 )
PDR の SCK3 ビット "0"
MODE=0 のとき
BUSY
SOT3
< 注意事項 >
D07 ( データ保持 )
D06
命令シフトでは , PDR の SCK に対応するビットに "1" が書き込まれたとき "H" が
出力され "0" が書き込まれたとき "L" が出力されます ( ただし , 外部シフトクロック
モード選択で , SCOE=0 のとき ) 。
● STOP=1 による停止 (LSB ファースト , 内部クロック時 )
図 18.4-6 STOP ビットを "1" としたときのストップタイミング
"1" 出力
SCK3
( 転送スタート )
STRT
( 転送終了 )
MODE=0 のとき
BUSY
STOP
SOT3
< 注意事項 >
D03D04
D05 ( データ保持 )
DO7 ∼ DO0 は出力データを示します。
263
第 18 章 シリアル I/O
シリアルデータの転送中は , シフトクロックの立下りでシリアル出力端子 (SOT3) から
のデータが出力され , 立上りでシリアル入力端子 (SIN3) のデータが入力されます。
図 18.4-7 シリアルデータの入出力シフトタイミング
○ LSB ファースト (BDS ビットが "0" のとき )
SCK3
SIN3
SIN 入力
D10
D11
D12
D13
D14
D15
D16
D17
DO3
DO4
DO5
DO6
DO7
D14
D13
D12
D11
D10
DO4
DO3
DO2
DO1
DO0
SOT 出力
SOT3
DO0
DO1
DO2
○ MBS ファースト (BDS ビットが "1" のとき )
SCK3
SIN3
SIN 入力
D17
D16
D15
SOT 出力
SOT3
264
DO7
DO6
DO5
第 18 章 シリアル I/O
18.4.4
拡張シリアル I/O インタフェースの割込み機能
拡張シリアル I/O インタフェースは , CPU に対し割込み要求を発生することができ
ます。データの転送終了時に割込みフラグである SIR ビットがセットされ , 割込み
を許可する SMCS の SIE ビットが "1" のとき , CPU へ割込み要求を出力します。
■ 拡張シリアル I/O インタフェースの割込み機能
図 18.4-8 拡張シリアル I/O インタフェースの割込み信号出力タイミング
SCK3
( 転送終了 )
BUSY
( 注意事項 ) MODE=1 の場合
SIE=1
SIR
SDR RD/WR
SOT3
D06
D07 ( データ保持 )
265
第 18 章 シリアル I/O
18.5
ネガティブクロック動作
MB90590 シリーズは , シリアル I/O のネガティブクロック動作をサポートします。
この動作では , シフトクロック信号はインバータにより単純に反転にされます。こ
のため , 「18.4.1 シフトクロック」のシリアル I/O のシフトクロック信号の定義は ,
ロジック "L" レベルからロジック "H" レベルへ , ネガティブエッジからポジティブ
エッジへまたはこの逆に反転されます。このことは , シリアルクロックの入力およ
び出力ともに同じです。
■ ネガティブクロック動作
図 18.5-1 ネガティブクロック動作
シリアルエッジセレクトレジスタ
bit
アドレス :00002FH
リード / ライト→
初期値→
7
6
5
4
3
2
1
0
−
−
−
−
−
−
−
NEG
(−)
(−)
(−)
(−)
(−)
(−)
(−)
(−)
(−)
(−)
(−)
(−)
(−)
(−)
(R/W)
(0)
表 18.5-1 NEG ビットの設定
NEG
266
動作
0
通常動作 ( 初期値 )
1
シフトクロック信号反転
SES
第 19 章
CAN コントローラ
この章では , CAN コントローラの機能と概要につ
いて説明します。
19.1 CAN コントローラの特長
19.2 CAN コントローラのブロックダイヤグラム
19.3 全体制御レジスタの一覧
19.4 メッセージバッファ (ID レジスタ ) の一覧
19.5 メッセージバッファ (DLC レジスタ / データレジスタ )
の一覧
19.6 CAN コントローラのレジスタ分類
19.7 CAN コントローラの送信
19.8 CAN コントローラの受信
19.9 CAN コントローラの受信フローチャート
19.10 CAN コントローラの使用方法
19.11 メッセージバッファ (x) による送信方法
19.12 メッセージバッファ (x) による受信方法
19.13 マルチレベルメッセージバッファの構成の決定
19.14 CAN コントローラの使用上の注意
267
第 19 章 CAN コントローラ
19.1
CAN コントローラの特長
CAN コントローラは , 16 ビットマイクロコンピュータ (F2MC-16LX) 内に一体化さ
れたモジュールです。CAN ( コントローラエリアネットワーク ) は自動車用コント
ローラ間のシリアル通信用の標準プロトコルであり工業分野で広く使用されている
ものです。
■ CAN コントローラの特長
CAN コントローラの特長は次のとおりです。
● CAN 仕様バージョン 2.0 パート A および B に適合しています。
標準フレームおよび拡張フレームフォーマットでの送信 / 受信をサポートしています。
● リモートフレームの受信によるデータフレームの送信をサポートしています。
● 16 個の送信 / 受信メッセージバッファ
29 ビットの ID および 8 バイトデータ
マルチ・レベル・メッセージ・バッファ構造
● フルビット比較 , フルビットマスクおよび部分的ビットマスクフィルタリングをサポート
しています。
標準フレームまたは拡張フレームフォーマットのいずれかで 2 個のアクセプタンスマ
スクレジスタを提供します。
● ビット速度は10Kビット/s∼1Mビット/sでプログラマブルです (1Mビット/sでご使用の場
合 , マシンクロックは 8MHz 以上で動作する必要があります ) 。
268
第 19 章 CAN コントローラ
CAN コントローラのブロックダイヤグラム
19.2
図 19.2-1 に , CAN コントローラのブロックダイヤグラムを示します。
■ CAN コントローラのブロックダイヤグラム
図 19.2-1 CAN コントローラのブロックダイヤグラム
F2MC-16X バス
クロック
TQ( 動作クロック )
プリスケーラ
1 ∼ 64 周波数分割
ビットタイミング発生
SYNC, TSEG1, TSEG2
PSC
TS1
BTR
TS2
RSJ
TOE
TS
RS
CSR
HALT
NIE
NT
ノードステータス
変化割込み発生
NS1, 0
エラー
制御
RTEC
送信 / 受信
シーケンサ
BVALR
TREQR
IDLE, INT, SUSPND,
送信 , 受信 ,
ERR, OVRLD
バス
ステート
マシン
ノード
ステータス
変化割込み
TBFx
クリア
送信バッファ
x 判定
TBFx
TDLC RDLC
TBFx
過負荷
フレーム
発生
IDSEL
BITER, STFER,
CRCER, FRMER,
ACKER
TCANR
エラーフ
レーム発生
データ アクセプタンス
カウンタ フィルタ制御
出力ド
ライバ
ARBLOST
TX
TRTRR
TCR
送信完了
割込み
TIER
ACK
発生
CRC
発生
TBFx, セット , クリア
送信完了
割込み発生
TDLC
CRCER
RBFx, セット
RDLC
RCR
受信完了
割込み
受信完了
割込み発生
RIER
RRTRR
スタッ
フィング
送信シフト
レジスタ
RFWTR
RBFx, TBFx, セット , クリア
CRC 発生 / エラー
チェック
STFER
デスタッフィング /
スタッフィングエ
ラーチェック
受信シフト
レジスタ
RBFx, セットIDSEL
ROVRR
ARBLOST
AMSR
AMR0
0
1
アクセプタンス
フィルタ
BITER
ビットエラー
チェック
受信バッファ x
判定
ACKER
確認エラー
チェック
RBFx
FRMER
フォームエラー
チェック
AMR1
IDR0 ~ 15,
DLCR0 ~ 15,
DTR0 ~ 15,
RAM
RAM アドレス
発生
アービトレー
ションチェック
PH1
入力
ラッチ
RX
RBFx, TBFx, RDLC, TDLC, IDSEL
LEIR
IDER
269
第 19 章 CAN コントローラ
全体制御レジスタの一覧
19.3
表 19.3-1 に , 全体制御レジスタの一覧を示します。
■ 全体制御レジスタの一覧
表 19.3-1 全体制御レジスタの一覧 (1 / 2)
アドレス
CAN0
CAN1
000070H
000080H
000071H
000081H
000072H
000082H
000073H
000083H
000074H
000084H
000075H
000085H
000076H
000086H
000077H
000087H
000078H
000088H
000079H
000089H
00007AH
00008AH
00007BH
00008BH
00007CH
00008CH
00007DH
00008DH
00007EH
00008EH
00007FH
00008FH
001C00H
001D00H
001C01H
001D01H
001C02H
001D02H
001C03H
001D03H
001C04H
001D04H
001C05H
001D05H
001C06H
001D06H
001C07H
001D07H
270
レジスタ
略号
アクセス
初期値
メッセージバッファ有効
レジスタ
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
CAN 制御ステータス
レジスタ
CSR
R/W, R
00---000 0----001
ラストイベント表示レジ
スタ
LEIR
R/W
-------- 000-0000
受信および送信エラー
カウンタ
RTEC
R
00000000 00000000
ビットタイミング
レジスタ
BTR
R/W
-1111111 11111111
第 19 章 CAN コントローラ
表 19.3-1 全体制御レジスタの一覧 (2 / 2)
アドレス
レジスタ
CAN0
CAN1
001C08H
001D08H
001C09H
001D09H
001C0AH
001D0AH
001C0BH
001D0BH
001C0CH
001D0CH
001C0DH
001D0DH
001C0EH
001D0EH
001C0FH
001D0FH
001C10H
001D10H
001C11H
001D11H
001C12H
001D12H
001C13H
001D13H
001C14H
001D14H
001C15H
001D15H
001C16H
001D16H
001C17H
001D17H
001C18H
001D18H
001C19H
001D19H
001C1AH
001D1AH
001C1BH
001D1BH
略号
アクセス
初期値
IDER
R/W
XXXXXXXX XXXXXXXX
送信 RTR レジスタ
TRTRR
R/W
00000000 00000000
リモートフレーム受信待
機レジスタ
RFWTR
R/W
XXXXXXXX XXXXXXXX
送信割込み許可レジスタ
TIER
R/W
00000000 00000000
IDE レジスタ
XXXXXXXX XXXXXXXX
アクセプタンスマスク
選択レジスタ
AMSR
R/W
XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX
アクセプタンスマスク
レジスタ 0
AMR0
R/W
XXXXX--- XXXXXXXX
XXXXXXXX XXXXXXXX
アクセプタンスマスク
レジスタ 1
AMR1
R/W
XXXXX--- XXXXXXXX
271
第 19 章 CAN コントローラ
メッセージバッファ (ID レジスタ ) の一覧
19.4
表 19.4-1 に , メッセージバッファ (ID レジスタ ) の一覧を示します。
■ メッセージバッファ (ID レジスタ ) の一覧
表 19.4-1 メッセージバッファ (ID レジスタ ) の一覧 (1 / 3)
アドレス
レジスタ
CAN0
CAN1
001A00H
001B00H
∼
001A1FH
∼
001B1FH
001A20H
001B20H
001A21H
001B21H
001A22H
001B22H
001A23H
001B23H
001A24H
001B24H
001A25H
001B25H
001A26H
001B26H
001A27H
001B27H
001A28H
001B28H
001A29H
001B29H
001A2AH
001B2AH
001A2BH
001B2BH
001A2CH
001B2CH
001A2DH
001B2DH
001A2EH
001B2EH
001A2FH
001B2FH
001A30H
001B30H
001A31H
001B31H
001A32H
001B32H
001A33H
001B33H
汎用 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
272
第 19 章 CAN コントローラ
表 19.4-1 メッセージバッファ (ID レジスタ ) の一覧 (2 / 3)
アドレス
レジスタ
CAN0
CAN1
001A34H
001B34H
001A35H
001B35H
001A36H
001B36H
001A37H
001B37H
001A38H
001B38H
001A39H
001B39H
001A3AH
001B3AH
001A3BH
001B3BH
001A3CH
001B3CH
001A3DH
001B3DH
001A3EH
001B3EH
001A3FH
001B3FH
001A40H
001B40H
001A41H
001B41H
001A42H
001B42H
001A43H
001B43H
001A44H
001B44H
001A45H
001B45H
001A46H
001B46H
001A47H
001B47H
001A48H
001B48H
001A49H
001B49H
001A4AH
001B4AH
001A4BH
001B4BH
001A4CH
001B4CH
001A4DH
001B4DH
001A4EH
001B4EH
001A4FH
001B4FH
略号
アクセス
初期値
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
273
第 19 章 CAN コントローラ
表 19.4-1 メッセージバッファ (ID レジスタ ) の一覧 (3 / 3)
アドレス
レジスタ
CAN0
CAN1
001A50H
001B50H
001A51H
001B51H
001A52H
001B52H
001A53H
001B53H
001A54H
001B54H
001A55H
001B55H
001A56H
001B56H
001A57H
001B57H
001A58H
001B58H
001A59H
001B59H
001A5AH
001B5AH
001A5BH
001B5BH
001A5CH
001B5CH
001A5DH
001B5DH
001A5EH
001B5EH
001A5FH
001B5FH
略号
アクセス
初期値
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
274
第 19 章 CAN コントローラ
メッセージバッファ (DLC レジスタ / データレジスタ )
の一覧
19.5
表 19.5-1 に , メッセージバッファ (DLC レジスタ ) の一覧を , 表 19.5-2 に , メッ
セージバッファ ( データレジスタ ) の一覧を示します。
■ メッセージバッファ (DLC レジスタ ) の一覧
表 19.5-1 メッセージバッファ (DLC レジスタ ) の一覧 (1 / 2)
アドレス
レジスタ
CAN0
CAN1
001A60H
001B60H
001A61H
001B61H
001A62H
001B62H
001A63H
001B63H
001A64H
001B64H
001A65H
001B65H
001A66H
001B66H
001A67H
001B67H
001A68H
001B68H
001A69H
001B69H
001A6AH
001B6AH
001A6BH
001B6BH
001A6CH
001B6CH
001A6DH
001B6DH
001A6EH
001B6EH
001A6FH
001B6FH
001A70H
001B70H
001A71H
001B71H
001A72H
001B72H
001A73H
001B73H
001A74H
001B74H
001A75H
001B75H
略号
アクセス
初期値
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
275
第 19 章 CAN コントローラ
表 19.5-1 メッセージバッファ (DLC レジスタ ) の一覧 (2 / 2)
アドレス
レジスタ
CAN0
CAN1
001A76H
001B76H
001A77H
001B77H
001A78H
001B78H
001A79H
001B79H
001A7AH
001B7AH
001A7BH
001B7BH
001A7CH
001B7CH
001A7DH
001B7DH
001A7EH
001B7EH
001A7FH
001B7FH
276
略号
アクセス
初期値
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
第 19 章 CAN コントローラ
■ メッセージバッファ ( データレジスタ ) の一覧
表 19.5-2 メッセージバッファ ( データレジスタ ) の一覧
アドレス
レジスタ
略号
アクセス
初期値
001B80H ∼
001B87H
データレジスタ 0
(8 バイト )
DTR0
R/W
XXXXXXXX ∼ XXXXXXXX
001A88H ∼
001A8FH
001B88H ∼
001B8FH
データレジスタ 1
(8 バイト )
DTR1
R/W
XXXXXXXX ∼ XXXXXXXX
001A90H ∼
001A97H
001B90H ∼
001B97H
データレジスタ 2
(8 バイト )
DTR2
R/W
XXXXXXXX ∼ XXXXXXXX
001A98H ∼
001A9FH
001B98H ∼
001B9FH
データレジスタ 3
(8 バイト )
DTR3
R/W
XXXXXXXX ∼ XXXXXXXX
001AA0H ∼
001AA7H
001BA0H ∼
001BA7H
データレジスタ 4
(8 バイト )
DTR4
R/W
XXXXXXXX ∼ XXXXXXXX
001AA8H ∼
001AAFH
001BA8H ∼
001BAFH
データレジスタ 5
(8 バイト )
DTR5
R/W
XXXXXXXX ∼ XXXXXXXX
001AB0H ∼
001AB7H
001BB0H ∼
001BB7H
データレジスタ 6
(8 バイト )
DTR6
R/W
XXXXXXXX ∼ XXXXXXXX
001AB8H ∼
001ABFH
001BB8H ∼
001BBFH
データレジスタ 7
(8 バイト )
DTR7
R/W
XXXXXXXX ∼ XXXXXXXX
001AC0H ∼
001AC7H
001BC0H ∼
001BC7H
データレジスタ 8
(8 バイト )
DTR8
R/W
XXXXXXXX ∼ XXXXXXXX
001AC8H ∼
001ACFH
001BC8H ∼
001BCFH
データレジスタ 9
(8 バイト )
DTR9
R/W
XXXXXXXX ∼ XXXXXXXX
001AD0H ∼
001AD7H
001BD0H ∼
001BD7H
データレジスタ 10
(8 バイト )
DTR10
R/W
XXXXXXXX ∼ XXXXXXXX
001AD8H ∼
001ADFH
001BD8H ∼
001BDFH
データレジスタ 11
(8 バイト )
DTR11
R/W
XXXXXXXX ∼ XXXXXXXX
001AE0H ∼
001AE7H
001BE0H ∼
001BE7H
データレジスタ 12
(8 バイト )
DTR12
R/W
XXXXXXXX ∼ XXXXXXXX
001AE8H ∼
001AEFH
001BE8H ∼
001BEFH
データレジスタ 13
(8 バイト )
DTR13
R/W
XXXXXXXX ∼ XXXXXXXX
001AF0H ∼
001AF7H
001BF0H ∼
001BF7H
データレジスタ 14
(8 バイト )
DTR14
R/W
XXXXXXXX ∼ XXXXXXXX
001AF8H ∼
001AFFH
001BF8H ∼
001BFFH
データレジスタ 15
(8 バイト )
DTR15
R/W
XXXXXXXX ∼ XXXXXXXX
CAN0
CAN1
001A80H ∼
001A87H
277
第 19 章 CAN コントローラ
19.6
CAN コントローラのレジスタ分類
CAN コントローラのレジスタは , 次の 3 つに分類されます。
• 全体制御レジスタ
• メッセージバッファ制御レジスタ
• メッセージバッファ
■ 全体制御レジスタ
全体制御レジスタには , 次の 4 つがあります。
• CAN 制御ステータスレジスタ (CSR)
• ラストイベント表示レジスタ (LEIR)
• 受信および送信エラーカウンタ (RTEC)
• ビットタイミングレジスタ (BTR)
■ メッセージバッファ制御レジスタ
メッセージバッファ制御レジスタには , 次の 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)
278
第 19 章 CAN コントローラ
19.6.1
CAN 制御ステータスレジスタ (CSR)
CAN 制御ステータスレジスタ (CSR) の下位 8 ビットに対しては , ビット操作命令
( リードモディファイライト ) を実行することは禁止されています。ただし , HALT
ビットが変化しないタイミング ( マクロの初期化時など ) では , ビット操作命令を使
用しても問題ありません。
■ CAN 制御ステータスレジスタ (CSR)
図 19.6-1 CAN 制御ステータスレジスタ (CSR)
bit
15
14
13
12
11
10
9
8
アドレス:001C01H (CAN0)
001D01H (CAN1)
TS
RS
−
−
−
NT
NS1
NS0
リード / ライト→
初期値→
(R)
(0)
(R)
(0)
(−)
(−)
(−)
(−)
(−)
(−)
(R/W)
(0)
(R)
(0)
(R)
(0)
7
6
5
4
3
2
1
0
TOE
−
−
−
−
NIE
予約
HALT
(−)
(−)
(−)
(−)
(−)
(−)
(−)
(−)
(R/W)
(0)
(W)
(0)
(R/W)
(1)
bit
アドレス:001C00H (CAN0)
001D00H (CAN1)
リード / ライト→ (R/W)
(0)
初期値→
【bit15】TS: 送信ステータスビット
本ビットはメッセージが送信中であるかどうかを示します。
0: メッセージは送信されていません。
1: メッセージが送信されています。
本ビットはエラーフレームおよびオーバロードフレームが送信されている間も "0" で
す。
【bit14】RS: 受信ステータスビット
本ビットはメッセージが受信されているかどうかを示します。
0: メッセージは受信されていません。
1: メッセージが受信されています。
メッセージがバス上に在る間 , 本ビットは "1" になります。このため本ビットはメッ
セージが送信されている間も "1" になります。本ビットは必ずしも , 受信メッセージが
アクセプタンスフィルタを通って通過したかどうかを示すものではありません。
結果として , 本ビットが "0" であるときはバス動作は停止している (HALT=0) か , バス
はインターミッション / バスアイドルにある , またはエラー / オーバロードフレームが
バス上にあることを意味します。
【bit10】NT: ノードステータス遷移フラグ
もしノードステータスがインクリメントに変化しまたはバスオフからエラーアクティ
ブに変化しても本ビットは "1" になります。
すなわち NT ビットは , ノードステータスがエラーアクティブ (00) からワーニング (01)
279
第 19 章 CAN コントローラ
に , ワーニング (01) からエラーパッシブ (10) に , エラーパッシブ (10) からバスオフ (11)
に , バスオフ (11) からエラーアクティブ (00) に変化したときに "1" にセットされます。
括弧内の数字は NS1 ビットおよび NS0 ビットの値を示します。
ノードステータス遷移割込み許可ビット (NIE) が "1" であるときに割込みが発生しま
す。"0" を書き込むと NT ビットが "0" にセットされます。NT ビットに "1" を書き込ん
でも無視されます。リードモディファイライト系命令がリードされたときに "1" がリー
ドされます。
【bit9, bit8】NS1, NS0: ノードステータスビット 1, 0
本ビット群は現在のノードステータスを表します。
表 19.6-1 NS1, NS0 およびノードステータスの間の対応
< 注意事項 >
NS1
NS0
0
0
エラーアクティブ
0
1
ワーニング ( エラーアクティブ )
1
0
エラーパッシブ
1
1
バスオフ
ノードステータス
ワーニング ( エラーアクティブ ) はノードステータスに対する CAN 仕様 2.0B にお
けるエラーアクティブに含まれますが , 送信エラーカウンタまたは受信エラーカウ
ンタが "96" を超えたことを表します。ノードステータスの変化図は図 19.6-2 に示
されています。
図 19.6-2 ノードステータス遷移図
ハードウェアリセット
REC:受信エラーカウンタ
TEC:送信エラーカウンタ
REC ≧ 96
または
TEC ≧ 96
ワーニング
エラー
アクティブ
レジスタ (CSR) の HALT ビットに "0"
が書き込まれた後 , 連続的な 11 ビット
ハイレベル ( リセッシブビット ) が受
信入力端子 (RX) に 128 回入力。
REC < 96
および
TEC < 96
REC ≧ 128
または
TEC ≧ 128
エラー
パッシブ
280
REC < 128
および
TEC < 128
TEC ≧ 256
バスオフ
第 19 章 CAN コントローラ
【bit7】TOE: 送信出力許可ビット
本ビットに "1" を書き込むと汎用ポート端子を CAN コントローラの送信端子に切り換
えます。
0: 汎用ポート端子
1: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 はフェイルセーフのために使用しています。
281
第 19 章 CAN コントローラ
19.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) は , ハイレベル ( リセッシブビット ) を出力します。
• ほかのレジスタおよびエラーカウンタの値は変化しません。
< 注意事項 >
282
ビットタイミングレジスタ (BTR) はバス動作停止 (HALT=1) の間にセットしなけれ
ばなりません。
第 19 章 CAN コントローラ
19.6.3
ラストイベント表示レジスタ (LEIR)
本レジスタはラストイベントを示します。
NTE, TCE および RCE は排他的なものです。ラストイベントのビットが "1" にセッ
トされたとき , ほかのビットは "0" にセットされます。
■ ラストイベント表示レジスタ (LEIR)
図 19.6-3 ラストイベント表示レジスタ (LEIR)
bit
アドレス:001C02H (CAN0)
001D02H (CAN1)
7
6
5
4
NTE
TCE
RCE
−
(R/W)
(0)
(R/W)
(0)
(−)
(−)
リード / ライト→ (R/W)
(0)
初期値→
3
2
1
0
MBP3 MBP2
MBP1 MBP0
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
【bit7】NTE: ノードステータス遷移イベントビット
• 本ビットが "1" のときはノードステータス遷移がラストイベントであることを表し
ます。
• 本ビットは制御ステータスレジスタ (CSR) の NT ビットと同時に "1" にセットされ
ます。
• 本ビットはまた CSR のノードステータス遷移割込み許可ビット (NIE) のセッティン
グに無関係に "1" にセットされます。
• 本ビットに "0" を書き込むと NTE ビットは "0" にセットされます。本ビットに "1"
を書き込んでも無視されます。
• リードモディファイライト系命令が実行されたときは "1" がリードされます。
【bit6】TCE: 送信完了イベントビット
本ビットが "1" のときは送信完了がラストイベントであることを表します。
本ビットは送信完了レジスタ (TCR) のビットのいずれか 1 つと同時に "1" にセットさ
れます。また本ビットは送信割込み許可レジスタ (TIER) のビットのセッティングに無
関係に "1" にセットされます。
"0" を書き込むと本ビットは "0" にセットされます。本ビットに "1" を書き込んでも無
視されます。
リードモディファイライト系命令が実行されたときは "1" がリードされます。
本ビットが "1" にセットされたとき MBP3 ∼ MBP0 ビットは送信動作を完了したメッ
セージバッファの番号を示すために使用されます。
283
第 19 章 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 イベントが生ずる可能性
があります。
284
第 19 章 CAN コントローラ
19.6.4
受信および送信エラーカウンタ (RTEC)
受信および送信エラーカウンタは , CAN 仕様で定められる送信エラーカウントおよ
び受信エラーカウントを示します。このレジスタは読出し専用です。
■ 受信エラーカウンタおよび送信エラーカウンタ (RTEC)
図 19.6-4 受信エラーカウンタおよび送信エラーカウンタ (RTEC)
bit
15
14
13
12
11
10
9
8
TEC6
TEC5
TEC4
TEC3
TEC2
TEC1
TEC0
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
7
6
5
4
3
2
1
0
REC6
REC5
REC4
REC3
REC2
REC1
REC0
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
アドレス:001C05H (CAN0)
TEC7
001D05H (CAN1)
リード / ライト→
初期値→
bit
アドレス:001C04H (CAN0)
REC7
001D04H (CAN1)
リード / ライト→
初期値→
(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) 。
285
第 19 章 CAN コントローラ
19.6.5
ビットタイミングレジスタ (BTR)
ビットタイミングレジスタ (BTR) はプリスケーラおよびビットタイミングをセット
するものです。
■ ビットタイミングレジスタ (BTR)
図 19.6-5 ビットタイミングレジスタ (BTR)
bit
15
14
13
12
11
10
9
8
アドレス:001C07H (CAN0)
001D07H (CAN1)
−
TS2.2
TS2.1
TS2.0
TS1.3
TS1.2
TS1.1
TS1.0
(−)
(−)
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
7
6
5
4
3
2
1
0
アドレス:001C06H (CAN0)
RSJ1
001D06H (CAN1)
RSJ0
PSC5
PSC4
PSC3
PSC2
PSC1
PSC0
リード / ライト→ (R/W)
(1)
初期値→
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
リード / ライト→
初期値→
bit
< 注意事項 >
本レジスタはバス動作停止 (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 コントローラのそれぞれにおけるビット時間セグメントは図
19.6-6 および図 19.6-7 に示されています。
286
第 19 章 CAN コントローラ
図 19.6-6 CAN 仕様におけるビット時間セグメント
ノミナルビット時間
SYNC_SEG
PROP_SEG
PHASE_SEG1 PHASE_SEG2
サンプルポイント
図 19.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
= (PSC + 1) × CLK
BT
= SYNC_SEG + TSEG1 + TSEG2
= (1 + (TS1 + 1) + (TS2 + 1)) × TQ
= (3 + TS1 + TS2)
RSJW
TQ
= (RSJ + 1) × TQ
正しく動作を行うためには以下の条件を満足しなければなりません。
G サフィックス付きの製品
G サフィックス無しの製品
・1 ≦ PSC ≦ 63 の場合
TSEG1 ≧ 2TQ
TSEG1 ≧ RSJW
TSEG2 ≧ 2TQ
TSEG2 ≧ RSJW
・PSC=0 の場合
TSEG1 ≧ 5TQ
TSEG2 ≧ 2TQ
TSEG2 ≧ RSJW
・1 ≦ PSC ≦ 63 の場合
TSEG1 ≧ RSJW
TSEG2 ≧ RSJW+2TQ
・PSC=0 の場合
TSEG1 ≧ 5TQ
TSEG2 ≧ RSJW+2TQ
CAN 仕様に従ったビットタイミングの設定をするためには , 遅延時間などほかの条件
も考慮されなければなりません。
287
第 19 章 CAN コントローラ
19.6.6
メッセージバッファ有効レジスタ (BVALR)
メッセージバッファ有効レジスタ (BVALR) は , メッセージバッファ (x) の有効性を
セットし , またはそのステートを表示するものです。
■ メッセージバッファ有効レジスタ (BVALR)
図 19.6-8 メッセージバッファ有効レジスタ (BVALR)
bit
15
14
13
12
11
10
9
8
アドレス:000071H (CAN0)
BVAL15 BVAL14 BVAL13 BVAL12 BVAL11 BVAL10 BVAL9 BVAL8
000081H (CAN1)
リード / ライト→ (R/W)
(0)
初期値→
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
6
5
4
3
2
1
0
アドレス:000070H (CAN0) BVAL
7
000080H (CAN1)
BVAL
6
BVAL
5
BVAL
4
BVAL
3
BVAL
2
BVAL
1
BVAL
0
リード / ライト→ (R/W)
(0)
初期値→
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
bit
7
0: メッセージバッファ (x) 無効
1: メッセージバッファ (x) 有効
もしメッセージバッファ(x) が無効にセットされればそれはメッセージを送信または受
信しません。
もしバッファが送信動作の間に無効にセットされればそれは送信が完了しまたはエ
ラーにより終了した後で無効 (BVALx=0) になります。
もしバッファが受信動作の間に無効にセットされればそれは直ちに無効 (BVALx=0) に
なります。もし受信メッセージがメッセージバッファ (x) に格納されていればメッセー
ジバッファ (x) はメッセージを格納した後に無効となります。
< 注意事項 >
288
• x はメッセージバッファ番号を示します (x=0 ∼ 15) 。
• ビット (BVALx) に "0" を書き込むことによりメッセージバッファ (x) を無効とし
たときにビット操作命令の実行はそのビットが "0" にセットされるまで禁止され
ます。
• CAN コントローラが CAN 通信に参加している状態 (CSR:HALT ビットの読出し
値が "0" で , CAN コントローラが CAN バスの通信に参加しており送受信が可能
な状態 ) で , メッセージバッファを無効 (BVALR:BVAL=0) にする場合は ,
「19.14 CAN コントローラの使用上の注意」に従ってください。
第 19 章 CAN コントローラ
19.6.7
IDE レジスタ (IDER)
本レジスタは送信 / 受信の間にメッセージバッファ (x) により使用されるフレーム
フォーマットを設定します。
■ IDE レジスタ (IDER)
図 19.6-9 IDE レジスタ (IDER)
bit
14
13
12
11
10
9
8
アドレス:001C09H (CAN0)
IDE15
001D09H (CAN1)
IDE14
IDE13
IDE12
IDE11
IDE10
IDE9
IDE8
リード / ライト→ (R/W)
(X)
初期値→
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
7
6
5
4
3
2
1
0
IDE7
IDE6
IDE5
IDE4
IDE3
IDE2
IDE1
IDE0
リード / ライト→ (R/W)
(X)
初期値→
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
bit
アドレス:001C08H (CAN0)
001D08H (CAN1)
15
0: メッセージバッファ (x) に対して標準フレームフォーマット (ID11 ビット ) が使用さ
れます。
1: メッセージバッファ (x) に対して拡張フレームフォーマット (ID29 ビット ) が使用さ
れます。
< 注意事項 >
• 本レジスタはメッセージバッファ (x) が無効であるとき ( メッセージバッファ有
効レジスタの BVALx(BVALR)=0) に設定しなければなりません。バッファが有効
である (BVALx=1) ときに設定を行うと受信メッセージを不必要に格納する可能
性があります。
• CAN コントローラが CAN 通信に参加している状態 (CSR:HALT ビットの読出し
値が "0" で , CAN コントローラが CAN バスの通信に参加しており送受信が可能
な状態 ) で , メッセージバッファを無効 (BVALR:BVAL=0) にする場合は ,
「19.14 CAN コントローラの使用上の注意」に従ってください。
289
第 19 章 CAN コントローラ
19.6.8
送信要求レジスタ (TREQR)
送信要求レジスタ (TREQR) は , メッセージバッファ (x) に対する送信要求を設定し ,
またはその状態を表示します。
■ 送信要求レジスタ (TREQR)
図 19.6-10 送信要求レジスタ (TREQR)
bit
15
14
13
12
11
10
9
8
アドレス:000073H (CAN0)
TREQ15 TREQ14 TREQ13 TREQ12 TREQ11 TREQ10 TREQ9 TREQ8
000083H (CAN1)
リード / ライト→ (R/W)
(0)
初期値→
bit
7
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
6
5
4
3
2
1
0
アドレス:000072H (CAN0)
TREQ7 TREQ6 TREQ5 TREQ4 TREQ3 TREQ2 TREQ1 TREQ0
000082H (CAN1)
リード / ライト→ (R/W)
(0)
初期値→
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
TREQx に "1" が書き込まれたときメッセージバッファ (x) に対する送信を開始します。
もしリモートフレーム受信待機レジスタ (RFWTR)*1 の RFWTx が "0" であれば送信は
直ちに開始します。しかし RFWTx=1 であればリモートフレームが受信される ( リモー
ト要求受信レジスタ (RRTRR)*1 が "1" になる ) まで待機した後に送信が開始します。
もし TREQx に "1" が書き込まれるときに RRTRx が既に "1" であれば , RFWTx=1 であっ
ても送信は直ちに開始します *2。
*1:TRTRR および RFWTR に関しては「19.6.9 送信 RTR レジスタ (TRTRR)」および
「19.6.10 リモートフレーム受信待機レジスタ (RFWTR)」を参照してください。
*2: 送信の解除に関しては「19.6.11 送信解除レジスタ (TCANR)」および「19.6.12 送
信完了レジスタ (TCR)」を参照してください。
TREQx に "0" を書き込んでも無視されます。
リードモディファイライト系命令がリードされたときは "0" が読み出されます。
もし送信動作の完了時における ("0" への ) クリアおよび "1" の書込みによる設定が同
時に生じればクリア動作が優先されます。
もし 1 つ以上のビットに "1" が書き込まれれば下位番号のメッセージバッファ(x) から
開始して送信が行われます。
TREQx は送信が待ち状態中は "1" であり送信が完了または解除されたときに "0" にな
ります。
290
第 19 章 CAN コントローラ
19.6.9
送信 RTR レジスタ (TRTRR)
本レジスタはメッセージバッファ (x) による送信 RTR ( リモート送信要求 ) ビットを
設定するものです。
■ 送信 RTR レジスタ (TRTRR)
図 19.6-11 送信 RTR レジスタ (TRTRR)
bit
15
14
13
12
11
10
9
8
アドレス:001C0BH (CAN0)
TRTR15 TRTR14 TRTR13 TRTR12 TRTR11 TRTR10 TRTR9 TRTR8
001D0BH (CAN1)
リード / ライト→ (R/W)
(0)
初期値→
bit
7
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
6
5
4
3
2
1
0
アドレス:001C0AH (CAN0)
TRTR7 TRTR6 TRTR5 TRTR4 TRTR3 TRTR2 TRTR1 TRTR0
001D0AH (CAN1)
リード / ライト→ (R/W)
(0)
初期値→
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
0: データフレームが送信されます。
1: リモートフレームが送信されます。
291
第 19 章 CAN コントローラ
19.6.10
リモートフレーム受信待機レジスタ (RFWTR)
リモートフレーム受信待機レジスタ (RFWTR) は , データフレーム送信に対する要求
が設定された ( 送信要求レジスタ (TREQR) の TREQx が "1" であり送信 RTR レジ
スタ (TRTRR) の TRTRx が "0" である ) ときに送信を開始する条件を設定します。
0: 送信は直ちに開始します。
1: リモートフレーム受信 ( リモート要求受信レジスタ (RRTRR) が "1" になる ) まで
待機した後に送信を開始します。
■ リモートフレーム受信待機レジスタ (RFWTR)
図 19.6-12 リモートフレーム受信待機レジスタ (RFWTR)
bit
15
14
13
12
11
10
9
8
アドレス:001C0DH (CAN0)
RFWT15 RFWT14 RFWT13 RFWT12 RFWT11 RFWT10 RFWT9 RFWT8
001D0DH (CAN1)
リード / ライト→ (R/W)
(X)
初期値→
bit
7
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
6
5
4
3
2
1
0
アドレス:001C0CH (CAN0)
RFWT7 RFWT6 RFWT5 RFWT4 RFWT3 RFWT2 RFWT1 RFWT0
001D0CH (CAN1)
リード / ライト→ (R/W)
(X)
初期値→
< 注意事項 >
292
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
• 送信に対する要求が設定されたときに RRTRx が既に "1" であれば送信は直ちに
開始します。
• リモートフレーム送信に対しては RFWTx を "1" にセットしないでください。
第 19 章 CAN コントローラ
19.6.11
送信解除レジスタ (TCANR)
TCANx に "1" が書き込まれたときに本レジスタはメッセージバッファ (x) への送信
に対する待ち状態中の要求を解除します。
解除の完了時に送信要求レジスタ (TREQR) の TREQx は "0" になります。TCANx
に "0" を書き込んでも無視されます。
これは書込み専用レジスタでありその読出し値は常に "0" です。
■ 送信解除レジスタ (TCANR)
図 19.6-13 送信解除レジスタ (TCANR)
bit
15
14
13
12
11
10
9
8
アドレス:000075H (CAN0)
TCAN15 TCAN14 TCAN13 TCAN12 TCAN11 TCAN10 TCAN9 TCAN8
000085H (CAN1)
リード / ライト→
初期値→
bit
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
7
6
5
4
3
2
1
0
アドレス:000074H (CAN0)
TCAN7 TCAN6 TCAN5 TCAN4 TCAN3 TCAN2 TCAN1 TCAN0
000084H (CAN1)
リード / ライト→
初期値→
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
293
第 19 章 CAN コントローラ
19.6.12
送信完了レジスタ (TCR)
メッセージバッファ (x) により送信の完了時に対応する TCx は "1" になります。
もし送信完了割込み許可レジスタ (TIER) の TIEx が "1" であれば割込みが生じます。
■ 送信完了レジスタ (TCR)
図 19.6-14 送信完了レジスタ (TCR)
bit
15
14
13
12
11
10
9
8
アドレス:000077H (CAN0)
TC15
000087H (CAN1)
TC14
TC13
TC12
TC11
TC10
TC9
TC8
リード / ライト→ (R/W)
(0)
初期値→
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
7
6
5
4
3
2
1
0
TC7
TC6
TC5
TC4
TC3
TC2
TC1
TC0
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
bit
アドレス:000076H (CAN0)
000086H (CAN1)
リード / ライト→ (R/W)
(0)
初期値→
● TCx=0 となる条件
• TCx に "0" を書き込む。
• 送信要求レジスタ (TREQR) の TREQx に "1" を書き込む。
送信の完了の後で TCx に "0" を書き込むとそれを "0" にセットします。TCx に "1" を書
込んでも無視されます。リードモディファイライト系命令が実行されたときは "1" が
読み出されます。
< 注意事項 >
294
もし送信動作の完了時の "1" への設定および 0 の書込みによるクリアが同時に生じ
たときは "1" への設定が優先します。
第 19 章 CAN コントローラ
19.6.13
送信割込み許可レジスタ (TIER)
本レジスタはメッセージバッファ (x) による送信割込みを許可または禁止します。送
信割込みは送信完了時 ( 送信完了レジスタ (TCR) の TCx が "1" になったとき ) に発
生します。
■ 送信割込み許可レジスタ (TIER)
図 19.6-15 送信割込み許可レジスタ (TIER)
bit
14
13
12
11
10
9
8
アドレス:001C0FH (CAN0)
TIE15
001D0FH (CAN1)
TIE14
TIE13
TIE12
TIE11
TIE10
TIE9
TIE8
リード / ライト→ (R/W)
(0)
初期値→
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
7
6
5
4
3
2
1
0
TIE7
TIE6
TIE5
TIE4
TIE3
TIE2
TIE1
TIE0
リード / ライト→ (R/W)
(0)
初期値→
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
bit
アドレス:001C0EH (CAN0)
001D0EH (CAN1)
15
0: 送信割込みは禁止されます。
1: 送信割込みは許可されます。
295
第 19 章 CAN コントローラ
19.6.14
受信完了レジスタ (RCR)
メッセージバッファ (x) への受信メッセージの格納の完了時に RCx は "1" になりま
す。
もし受信完了割込み許可レジスタの RIEx が "1" であれば割込みが生じます。
■ 受信完了レジスタ (RCR)
図 19.6-16 受信完了レジスタ (RCR)
bit
14
13
12
11
10
9
8
アドレス:000079H (CAN0)
RC15
000089H (CAN1)
RC14
RC13
RC12
RC11
RC10
RC9
RC8
リード / ライト→ (R/W)
(0)
初期値→
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
7
6
5
4
3
2
1
0
RC7
RC6
RC5
RC4
RC3
RC2
RC1
RC0
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
bit
アドレス:000078H (CAN0)
000088H (CAN1)
15
リード / ライト→ (R/W)
(0)
初期値→
● RCx=0 となる条件
RCx に "0" を書き込む。
受信メッセージの処理を完了した後 , RCx に "0" を書き込んで "0" にセットしてくださ
い。RCx に "1" を書き込んでも無視されます。
リードモディファイライト系命令が実行されたときは "1" が読み出されます。
< 注意事項 >
296
もし受信動作の完了時の "1" への設定および "0" の書込みによるクリアが同時に生
じたときは , "1" への設定が優先します。
第 19 章 CAN コントローラ
19.6.15
リモート要求受信レジスタ (RRTRR)
受信されたリモートフレームがメッセージバッファ (x) 内に格納されると RRTRx は
(RCx 設定が "1" になると同時に ) "1" になります。
■ リモート要求受信レジスタ (RRTRR)
図 19.6-17 リモート要求受信レジスタ (RRTRR)
bit
15
14
13
12
11
10
9
8
アドレス:00007BH (CAN0)
RRTR15 RRTR14 RRTR13 RRTR12 RRTR11 RRTR10 RRTR9 RRTR8
00008BH (CAN1)
リード / ライト→ (R/W)
(0)
初期値→
bit
7
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
6
5
4
3
2
1
0
アドレス:00007AH (CAN0)
RRTR7 RRTR6 RRTR5 RRTR4 RRTR3 RRTR2 RRTR1 RRTR0
00008AH (CAN1)
リード / ライト→ (R/W)
(0)
初期値→
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
● RRTRx=0 となる条件
• RRTRx に "0" を書き込む。
• 受信されたデータフレームがメッセージバッファ (x) に格納された後 (RCx 設定が
"1" になるのと同時 ) 。
• メッセージバッファ (x) による送信が完了した後 ( 送信完了レジスタ (TCR) の TCx
は "1") 。
RRTRx に "1" を書き込んでも無視されます。
リードモディファイライト系命令が実行されたときは "1" が読み出されます。
< 注意事項 >
もし "1" への設定と "0" の書込みによるクリアが同時に生じたときは "1" への設定が
優先します。
297
第 19 章 CAN コントローラ
19.6.16
受信オーバランレジスタ (ROVRR)
もしメッセージバッファ (x) 内への受信メッセージの格納完了時に受信完了レジスタ
(RCR) がすでに "1" であれば ROVRx は "1" になり受信がオーバランしたことを表
します。
■ 受信オーバランレジスタ (ROVRR)
図 19.6-18 受信オーバランレジスタ (ROVRR)
bit
15
14
13
12
11
10
9
8
アドレス:00007DH (CAN0)
ROVR15 ROVR14 ROVR13 ROVR12 ROVR11 ROVR10 ROVR9 ROVR8
00008DH (CAN1)
リード / ライト→ (R/W)
(0)
初期値→
bit
7
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
6
5
4
3
2
1
0
アドレス:00007CH (CAN0)
ROVR7 ROVR6 ROVR5 ROVR4 ROVR3 ROVR2 ROVR1 ROVR0
00008CH (CAN1)
リード / ライト→ (R/W)
(0)
初期値→
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
ROVRx に "0" を書き込むと ROVRx=0 になります。ROVRx に "1" を書込みしても無視
されます。受信がオーバランしたことをチェックした後で ROVRx に "0" を書き込むと
それを "0" に設定します。
リードモディファイライト系命令が実行されたときは "1" が読み出されます。
< 注意事項 >
298
もし "1" への設定と "0" の書込みによるクリアが同時に生じたときは "1" への設定が
優先します。
第 19 章 CAN コントローラ
19.6.17
受信割込み許可レジスタ (RIER)
受信割込み許可レジスタ (RIER) は , メッセージバッファ (x) による受信割込みを許
可または禁止します。
受信割込みは受信完了時 ( 受信完了レジスタ (RCR) の RCx が "1" であるとき ) に発
生します。
■ 受信割込み許可レジスタ (RIER)
図 19.6-19 受信割込み許可レジスタ (RIER)
bit
15
14
13
12
11
10
アドレス:00007FH (CAN0)
RIE15 RIE14 RIE13 RIE12 RIE11 RIE10
00008FH (CAN1)
リード / ライト→ (R/W)
(0)
初期値→
9
8
RIE9
RIE8
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
7
6
5
4
3
2
1
0
RIE7
RIE6
RIE5
RIE4
RIE3
RIE2
RIE1
RIE0
リード / ライト→ (R/W)
(0)
初期値→
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
bit
アドレス:00007EH (CAN0)
00008EH (CAN1)
0: 受信割込みは禁止されます。
1: 受信割込みは許可されます。
299
第 19 章 CAN コントローラ
19.6.18
アクセプタンスマスク選択レジスタ (AMSR)
本レジスタは受信メッセージ ID とメッセージバッファ (x) ID の比較に対するマスク
( アクセプタンスマスク ) を選択します。
■ アクセプタンスマスク選択レジスタ (AMSR)
図 19.6-20 アクセプタンスマスク選択レジスタ (AMSR)
BYTE0
bit
7
6
5
4
3
2
1
0
AMS
3.1
AMS
3.0
AMS
2.1
AMS
2.0
AMS
1.1
AMS
1.0
AMS
0.1
AMS
0.0
リード / ライト→ (R/W)
(X)
初期値→
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
15
14
13
12
11
10
9
8
AMS
7.1
AMS
7.0
AMS
6.1
AMS
6.0
AMS
5.1
AMS
5.0
AMS
4.1
AMS
4.0
リード / ライト→ (R/W)
(X)
初期値→
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
7
6
5
4
3
2
1
0
AMS
11.1
AMS
11.0
AMS
10.1
AMS
10.0
AMS
9.1
AMS
9.0
AMS
8.1
AMS
8.0
リード / ライト→ (R/W)
(X)
初期値→
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
15
14
13
12
11
10
9
8
AMS
15.1
AMS
15.0
AMS
14.1
AMS
14.0
AMS
13.1
AMS
13.0
AMS
12.1
AMS
12.0
リード / ライト→ (R/W)
(X)
初期値→
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
アドレス:001C10H (CAN0)
001D10H (CAN1)
BYTE1
bit
アドレス:001C11H (CAN0)
001D11H (CAN1)
BYTE2
bit
アドレス:001C12H (CAN0)
001D12H (CAN1)
BYTE3
bit
アドレス:001C13H (CAN0)
001D13H (CAN1)
表 19.6-2 アクセプタンスマスクの選択
300
AMSx.1
AMSx.0
0
0
フルビット比較
0
1
フルビットマスク
1
0
アクセプタンスマスクレジスタ 0(AMR0)
1
1
アクセプタンスマスクレジスタ 1(AMR1)
アクセプタンスマスク
第 19 章 CAN コントローラ
< 注意事項 >
• AMSx.1 および AMSx.0 はメッセージバッファ (x) が無効である ( メッセージ
バッファ有効レジスタ (BVALR) の BVALx が "0" である ) ときに設定しなければ
なりません。バッファが有効 (BVALx=1) なときに設定を行うと不要な受信メッ
セージが格納される可能性があります。
• CAN コントローラが CAN 通信に参加している状態 (CSR:HALT ビットの読出し
値が "0" で , CAN コントローラが CAN バスの通信に参加しており送受信が可能
な状態 ) で , メッセージバッファを無効 (BVALR:BVAL=0) にする場合は ,
「19.14 CAN コントローラの使用上の注意」に従ってください。
301
第 19 章 CAN コントローラ
19.6.19
アクセプタンスマスクレジスタ 0/1 (AMR0/AMR1)
AMR0 および AMR1 の 2 つのアクセプタンスマスクレジスタがありますが両者とも
に標準フレームフォーマットまたは拡張フレームフォーマットのいずれかで利用で
きます。
AM28 ∼ AM18 (11 ビット ) は標準フレームフォーマットにおけるアクセプタンスマ
スクに使用され AM28 ∼ AM0 (29 ビット ) は拡張フォーマットでアクセプタンスマ
スクに使用されます。
■ アクセプタンスマスクレジスタ 0/1(AMR0/AMR1)
図 19.6-21 アクセプタンスマスクレジスタ 0/1(AMR0/AMR1)
AMR0 BYTE0
6
5
4
3
2
1
0
アドレス:001C14H (CAN0)
AM28
001D14H (CAN1)
AM27
AM26
AM25
AM24
AM23
AM22
AM21
リード / ライト→ (R/W)
(X)
初期値→
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
14
13
12
11
10
9
8
アドレス:001C15H (CAN0)
AM20
001D15H (CAN1)
AM19
AM18
AM17
AM16
AM15
AM14
AM13
リード / ライト→ (R/W)
(X)
初期値→
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
6
5
4
3
2
1
0
アドレス:001C16H (CAN0)
AM12
001D16H (CAN1)
AM11
AM10
AM9
AM8
AM7
AM6
AM5
リード / ライト→ (R/W)
(X)
初期値→
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
15
14
13
12
11
10
9
8
AM4
AM3
AM2
AM1
AM0
−
−
−
リード / ライト→ (R/W)
(X)
初期値→
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(−)
(−)
(−)
(−)
(−)
(−)
AMR0 BYTE1
AMR0 BYTE2
AMR0 BYTE3
bit
bit
bit
bit
アドレス:001C17H (CAN0)
001D17H (CAN1)
7
15
7
( 続く )
302
第 19 章 CAN コントローラ
( 続き )
AMR1 BYTE0
bit
6
5
4
3
2
1
0
アドレス:001C18H (CAN0)
AM28
001D18H (CAN1)
AM27
AM26
AM25
AM24
AM23
AM22
AM21
リード / ライト→ (R/W)
(X)
初期値→
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
AMR1 BYTE1
bit
7
14
13
12
11
10
9
8
アドレス:001C19H (CAN0)
AM20
001D19H (CAN1)
AM19
AM18
AM17
AM16
AM15
AM14
AM13
リード / ライト→ (R/W)
(X)
初期値→
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
6
5
4
3
2
1
0
アドレス:001C1AH (CAN0)
AM12
001D1AH (CAN1)
AM11
AM10
AM9
AM8
AM7
AM6
AM5
リード / ライト→ (R/W)
(X)
初期値→
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
15
14
13
12
11
10
9
8
AM5
AM4
AM3
AM2
AM0
−
−
−
リード / ライト→ (R/W)
(X)
初期値→
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(−)
(−)
(−)
(−)
(−)
(−)
AMR1 BYTE2
bit
AMR1 BYTE3
bit
アドレス:001C1BH (CAN0)
001D1BH (CAN1)
15
7
● 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) にする場合は ,
「19.14 CAN コントローラの使用上の注意」に従ってください。
303
第 19 章 CAN コントローラ
19.6.20
メッセージバッファ
メッセージバッファは 16 個あり , 1 つのメッセージバッファ x (x=0 ∼ 15) は ID レ
ジスタ (IDRx), DLC レジスタ (DLCRx) およびデータレジスタ (DTRx) から構成され
ています。
■ メッセージバッファ
● メッセージバッファ (x) は送信および受信の両方に使用されます。
● 下位番号のメッセージバッファの方が高い優先順位を割り当てられています。
• 送信時に送信要求が 1 つ以上のメッセージバッファに対してなされたときには最下
位番号のメッセージバッファから開始して送信が行われます (「19.7 CAN コント
ローラの送信」を参照してください ) 。
• 受信時に 1 つ以上のメッセージバッファのアクセプタンスフィルタ ( 受信メッセー
ジのアクセプタンスマスク ID とメッセージバッファとを比較する機構 ) を受信メッ
セージ ID が通過するときに受信メッセージは最下位番号のメッセージバッファ内
に格納されます (「19.8 CAN コントローラの受信」を参照してください ) 。
● 同一のアクセプタンスフィルタが 1 つ以上のメッセージバッファ内に設定されたときに
メッセージバッファはマルチレベルメッセージバッファとして使用することができます。
これにより受信時間に対する余裕が与えられます。
(「19.12 メッセージバッファ (x) による受信方法」を参照してください ) 。
< 注意事項 >
• メッセージバッファおよび汎用 RAM 領域への書込み動作は , ワード単位でイー
ブンアドレスに対して行わなければなりません。バイト単位で書込み動作を行う
と下位バイトへの書込み時に上位バイトに不定データを書き込んでしまいます。
• メッセージバッファ有効レジスタ (BVALR) の BVALx ビットが 0 ( 無効 ) である
ときにメッセージバッファ x (IDRx, DLCRx および DTRx) は汎用 RAM として使
用することができます。ただし , CAN コントローラが送受信動作中は , メッセー
ジバッファを使用しますので , CPU のアクセスが最大で 64 マシンサイクル待た
されることがあります。これは汎用 RAM 領域 ( アドレス 001A00H ∼ 001A1FH
およびアドレス 001B00H ∼ 001B1FH) についても同様です。
304
第 19 章 CAN コントローラ
19.6.21
ID レジスタ x (x=0 ∼ 15) (IDRx)
ID レジスタ x (x=0 ∼ 15) (IDRx) は , メッセージバッファ (x) に対する ID レジスタ
です。
■ ID レジスタ x (x=0 ∼ 15) (IDRx)
図 19.6-22 ID レジスタ x (x=0 ∼ 15) (IDRx)
BYTE0
bit
7
6
5
4
3
2
1
0
ID28
ID27
ID26
ID25
ID24
ID23
ID22
ID21
リード / ライト→ (R/W)
(X)
初期値→
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
15
14
13
12
11
10
9
8
ID20
ID19
ID18
ID17
ID16
ID15
ID14
ID13
リード / ライト→ (R/W)
(X)
初期値→
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
7
6
5
4
3
2
1
0
ID12
ID11
ID10
ID9
ID8
ID7
ID6
ID5
リード / ライト→ (R/W)
(X)
初期値→
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
アドレス:001A20H+4x (CAN0)
001B20H+4x (CAN1)
BYTE1
bit
アドレス:001A21H+4x (CAN0)
001B21H+4x (CAN1)
BYTE2
bit
アドレス:001A22H+4x (CAN0)
001B22H+4x (CAN1)
BYTE3
bit
15
14
13
12
11
10
9
8
アドレス:001A23H+4x (CAN0)
001B23H+4x (CAN1)
ID4
ID3
ID2
ID1
ID0
−
−
−
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(−)
(−)
(−)
(−)
(−)
(−)
リード / ライト→ (R/W)
(X)
初期値→
標準フレームフォーマット (IDE レジスタ (IDER) の IDEx=0) でメッセージバッファ(x)
を使用しているときは ID28 ∼ ID18 の 11 ビットを使用してください。拡張フレーム
フォーマット (IDEx=1) でバッファを使用しているときは ID28 ∼ ID0 の 29 ビットを使
用してください。
ID28 ∼ ID0 の機能は次のとおりです。
• アクセプタンスコード設定 ( 受信メッセージ ID との比較用の ID)
• 送信メッセージ ID の設定
< 注意事項 >
標準フレームフォーマットでは ID28 ∼ ID22 のビットのすべてに "1" をセットする
ことは禁止されています。
305
第 19 章 CAN コントローラ
• 受信メッセージ ID の格納
< 注意事項 >
受信メッセージ ID はアクセプタンスマスクでマスクされているビットにも格納さ
れます。標準フレームフォーマットでは ID17 ∼ ID0 は不定値 ( 前回受信したメッ
セージの一部 ) が格納されます。
< 注意事項 >
• 本レジスタへの書込み動作はワード単位で行わなければなりません。バイト単位
で書込み動作を行うと下位バイトへの書込み時に上位バイトに不定データを書き
込んでしまいます。上位バイトへの書込みは無視されます。
• 本レジスタはメッセージバッファ (x) が無効 ( メッセージバッファ有効レジスタ
(BVALR) の BVALx が "0") であるときに設定されなければなりません。バッファ
が有効 (BVALx=1) であるときに設定を行うと不必要な受信メッセージが格納さ
れてしまいます。
• CAN コントローラが CAN 通信に参加している状態 (CSR:HALT ビットの読出し
値が "0" で , CAN コントローラが CAN バスの通信に参加しており送受信が可能
な状態 ) で , メッセージバッファを無効 (BVALR:BVAL=0) にする場合は ,
「19.14 CAN コントローラの使用上の注意」に従ってください。
306
第 19 章 CAN コントローラ
19.6.22
DLC レジスタ x (x=0 ∼ 15) (DLCRx)
DLC レジスタ x (x=0 ∼ 15) (DLCRx) は , メッセージバッファ x に対する DLC を格
納します。
■ DLC レジスタ x (x=0 ∼ 15) (DLCRx)
図 19.6-23 DLC レジスタ x (x=0 ∼ 15) (DLCRx)
bit
7
6
5
4
3
2
1
0
アドレス:001A60H+2x (CAN0)
001B60H+2x (CAN1)
−
−
−
−
DLC3
DLC2
DLC1
DLC0
(−)
(−)
(−)
(−)
(−)
(−)
(−)
(−)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
リード / ライト→
初期値→
● 送信
• データフレームが送信する ( 送信 RTR レジスタ (TRTRR) の TRTRx が "0") ときに送
信メッセージのデータ長 ( バイト単位 ) を設定します。
• リモートフレームが送信する (TRTRx=1) ときに要求メッセージのデータ長 ( バイト
単位 ) を設定します。
< 注意事項 >
0000 ∼ 1000 (0 ∼ 8 バイト ) 以外の設定は禁止されています。
● 受信
• データフレームが受信された
( リモートフレーム要求受信レジスタ (RRTRR) の
RRTRx が "0") ときに受信メッセージのデータ長 ( バイト単位 ) を格納します。
• リモートフレームが受信された (RRTRx=1) ときに要求メッセージのデータ長 ( バイ
ト単位 ) を格納します。
< 注意事項 >
本レジスタへの書込み動作はワード単位で行わなければなりません。バイト単位で
書込み動作を行うと下位バイトへの書込み時に上位バイトに不定データを書き込ん
でいます。上位バイトへの書込みは無視されます。
307
第 19 章 CAN コントローラ
19.6.23
データレジスタ x (x=0 ∼ 15) (DTRx)
データレジスタ x (x=0 ∼ 15) (DTRx) は , メッセージバッファ (x) に対するデータレ
ジスタです。
本レジスタはデータフレームの送信および受信のみ使用されるものでありリモート
フレームの送信および受信には使用されません。
■ データレジスタ x (x=0 ∼ 15) (DTRx)
図 19.6-24 データレジスタ x (x=0 ∼ 15) (DTRx)
BYTE0
bit
アドレス:001A80H+8x (CAN0)
001B80H+8x (CAN1)
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
リード / ライト→ (R/W)
(X)
初期値→
BYTE1
bit
15
14
13
12
11
10
9
8
アドレス:001A81H+8x (CAN0)
001B81H+8x (CAN1)
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
リード / ライト→ (R/W)
(X)
初期値→
BYTE2
bit
アドレス:001A82H+8x (CAN0)
001B82H+8x (CAN1)
リード / ライト→ (R/W)
(X)
初期値→
BYTE3
bit
15
14
13
12
11
10
9
8
アドレス:001A83H+8x (CAN0)
001B83H+8x (CAN1)
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
リード / ライト→ (R/W)
(X)
初期値→
( 続く )
308
第 19 章 CAN コントローラ
( 続き )
BYTE4
bit
アドレス:001A84H+8x (CAN0)
001B84H+8x (CAN1)
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
リード / ライト→ (R/W)
(X)
初期値→
BYTE5
bit
15
14
13
12
11
10
9
8
アドレス:001A85H+8x (CAN0)
001B85H+8x (CAN1)
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
リード / ライト→ (R/W)
(X)
初期値→
BYTE6
bit
アドレス:001A86H+8x (CAN0)
001B86H+8x (CAN1)
リード / ライト→ (R/W)
(X)
初期値→
BYTE7
bit
15
14
13
12
11
10
9
8
アドレス:001A87H+8x (CAN0)
001B87H+8x (CAN1)
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
リード / ライト→ (R/W)
(X)
初期値→
● 送信メッセージデータ (0 ∼ 8 バイトのいずれか ) の設定。
データは MSB で開始して BYTE0, BYTE1, ...BYTE7 の順で送信されます。
● 受信メッセージデータ
データは MSB で開始して BYTE0, BYTE1, ...BYTE7 の順で格納されます。
受信メッセージデータが 8 バイトより少なくてもデータが格納されるデータレジスタ
(DTRx) の残りのバイトは不定となります。
< 注意事項 >
本レジスタへの書込み動作はワード単位で行わなければなりません。バイト単位で
書込み動作を行うと下位バイトへの書込み時に上位バイトに不定データを書き込ん
でしまいます。上位バイトへの書込みは無視されます。
309
第 19 章 CAN コントローラ
19.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)。
< 注意事項 >
リモートフレームを格納することでは送信要求は解除されません (TREQx=1 はその
ままです ) 。
リモートフレームの送信に対する要求にもかかわらずメッセージバッファ(x) が送信を
実行していなかった場合でも (TRTRx=1 または TREQx=1) , アクセプタンスフィルタを
通過した受信リモートフレームを格納した後には送信要求が解除されます
(TREQx=0)。
310
第 19 章 CAN コントローラ
< 注意事項 >
データフレームまたはリモートフレームのいずれを格納しても送信要求は解除され
ます。
■ CAN コントローラの送信の完了
送信が成功したときに RRTRx は "0" になり TREQx は "0" になり送信完了レジスタ
(TCR) の TCx は "1" になります。もし送信完了割込みが許可されていれば ( 送信完了
割込み許可レジスタ (TIER) の TIEx は "1") 割込みが生じます。
■ CAN コントローラの送信フローチャート
図 19.7-1 に , CAN コントローラの送信フローチャートを示します。
図 19.7-1 CAN コントローラの送信フローチャート
送信要求
(TREQx:=1)
TCx:=0
0
TREQx?
1
0
RFWTx?
1
0
RRTRx?
1
上記条件を満足する他のメッセージ
バッファがある場合 , その中で最下
位番号メッセージバッファを選択
NO
バスは使用されて
いないか。
YES
0
1
TRTRx?
データフレームが送信される
リモートフレームが送信される
NO
送信は成功したか。
YES
TCANx?
1
RRTRx:= 0
TREQx:= 0
TCx := 1
TIEx?
0
TREQx:=0
1
0
送信完了割込みが生ずる
送信の終了
311
第 19 章 CAN コントローラ
19.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 に格納されます。
312
第 19 章 CAN コントローラ
図 19.8-1 には , 受信メッセージを格納すべきメッセージバッファ x を決定するための
フローチャートが示されています。メッセージバッファはバッファ番号順に , AMSR の
各ビットが全ビット比較にセットされたメッセージバッファ , AMR0 または AMR1 を
使用しているメッセージバッファおよび AMSR の各ビットが全ビットマスクにセット
されたメッセージバッファの順番に設定されることを推奨します。
図 19.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" になります。
この結果 , 送信を実行しなかったメッセージバッファへのリモートフレームの送信に
対する要求は解除されます。
< 注意事項 >
• データフレーム送信に対する要求は解除されません。
• 送信要求の解除に関しては「19.7 CAN コントローラの送信」を参照してくださ
い。
313
第 19 章 CAN コントローラ
■ 受信完了
受信完了レジスタ (RCR) の RCx は受信メッセージを格納した後に "1" になります。
もし受信割込みが許可されていれば ( 受信割込み許可レジスタ (RIER) の RIEx が "1")
割込みが生じます。
< 注意事項 >
314
この CAN コントローラはそれ自身が送信したメッセージを受信することはありま
せん。
第 19 章 CAN コントローラ
19.9
CAN コントローラの受信フローチャート
図 19.9-1 に , CAN コントローラの受信フローチャートを示します。
■ CAN コントローラの受信フローチャート
図 19.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?
1
0
受信割込みが生じる
受信の終了
315
第 19 章 CAN コントローラ
19.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)
のときに設定を行うと不必要な受信メッセージが格納される可能性があります。
316
第 19 章 CAN コントローラ
■ アクセプタンスフィルタの設定
メッセージバッファ(x) のアクセプタンスフィルタはアクセプタンスコードおよびアク
セプタンスマスク設定により設定されます。それはアクセプタンスメッセージバッ
ファ (x) が無効 ( メッセージバッファ許可レジスタ (BVALR) の BVALx が "0") である
ときに設定しなければなりません。バッファが有効 (BVALx=1) であるときに設定を行
うと不必要な受信メッセージが格納される可能性があります。
各メッセージバッファ(x) で使用されたアクセプタンスマスクをアクセプタンスマスク
選択レジスタ (AMSR) により設定してください。アクセプタンスマスクレジスタ
(AMR0 および AMR1) も使用するのであれば設定しなければなりません ( 設定の詳細
に関しては「19.6.18 アクセプタンスマスク選択レジスタ (AMSR)」および「19.6.19 ア
クセプタンスマスクレジスタ 0/1 (AMR0/AMR1)」を参照してください ) 。
アクセプタンスマスクは不必要な受信メッセージが格納されたときでも送信要求が解
除されないように設定しなければなりません。例えば , それは同一の ID のメッセージ
のみを送信するのであればフルビット比較に設定しなければなりません。
■ 低電力消費モードの設定
F2MC-16LX を低電力消費モード ( 停止 , 時計 , ハードウェアスタンバイなど ) に設定す
るには制御ステータスレジスタ (CSR) のバス動作停止ビット (HALT) に "1" を書き込ん
でからバス動作が停止したか (HALT=1) をチェックしてください。
317
第 19 章 CAN コントローラ
19.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" に設定してください。
< 注意事項 >
318
もし RFWTx が "1" に設定されるとリモートフレーム送信を行うことはできません。
第 19 章 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 が受信したリ
モートフレームの値になることに注意してください。
319
第 19 章 CAN コントローラ
19.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 ならば処理された受信メッセージは有効です。RCx に "0" を書き込んでそれ
を "0" に設定し ( 受信完了割込みも解除されます ) て受信を終了します。
ROVRx=1 ならば受信オーバランが生じ , 処理された受信メッセージに新たな受信メッ
セージが上書きされている可能性があります。この場合には ROVRx ビットに "0" を書
き込んでそれを "0" に設定した後で受信メッセージを再処理しなければなりません。
図 19.12-1 に , 受信割込み処理の一例を示します。
320
第 19 章 CAN コントローラ
図 19.12-1 受信割込み処理の例
RCx=1 で割込み
受信メッセージ読取り
A:=ROVRx
ROVRx:=0
A = 0?
NO
YES
RCx:=0
終了
321
第 19 章 CAN コントローラ
19.13
マルチレベルメッセージバッファの構成の決定
受信が頻繁に行われる場合または不特定多数のメッセージを受信する場合は , 1 つ以
上のメッセージバッファを組み合せてマルチレベルメッセージバッファとすること
により CPU による受信メッセージの処理に対する余裕を与えてください。
■ マルチレベルメッセージバッファの構成の決定
マルチレベルメッセージバッファを用意するには , 組み合せた各メッセージバッファ
に同じアクセプタンスフィルタを設定しなければなりません。
アクセプタンスマスク選択レジスタ (AMSR) の各ビットが全ビット比較 ((AMSx.1,
AMSx.0)= (0, 0)) に設定されていれば , メッセージバッファをマルチレベルメッセージ
構成とすることはできません。これは , 全ビット比較では受信完了レジスタ (RCR) の
RCx ビットの値のいかんにかかわらず , 受信メッセージが格納されることから , 1 つ以
上のメッセージバッファに対して全ビット比較および同一アクセプタンスコード (ID
レジスタ (IDRx)) が指定されたとしても , 受信メッセージが常に下位番号の ( 優先度の
低い ) メッセージバッファに格納されるからです。このため , 全ビット比較および同一
アクセプタンスコードを 1 つ以上のメッセージバッファに指定してはなりません。
図 19.13-1 は , マルチレベルメッセージバッファの動作例を示しています。
322
第 19 章 CAN コントローラ
図 19.13-1 マルチレベルメッセージバッファの動作例
初期化
AMS15, AMS14, AMS13
AMSR 10 10 10
AMR0 選択
...
AM28 ~ AM18
AMS0
ID28 ~ ID18
0000 1111 111
RC15, RC14, RC13
IDE
...
メッセージバッファ 13
0101 0000 000
0
...
RCR
0
0
0
...
メッセージバッファ 14
0101 0000 000
0
...
ROVRR
0
0
0
...
メッセージバッファ 15
0101 0000 000
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
...
メッセージバッファ 14
0101 1111 001
0
...
ROVRR
0
0
0
...
メッセージバッファ 15
0101 0000 000
0
...
メッセージ受信中:受信メッセージはメッセージバッファ 15 に記憶されます。
メッセージ受信中
0101 1111 010
0
...
メッセージバッファ 13
0101 1111 000
0
...
RCR
1
1
1
...
メッセージバッファ 14
0101 1111 001
0
...
ROVRR
0
0
0
...
メッセージバッファ 15
0101 1111 010
0
...
メッセージ受信中:受信メッセージはメッセージバッファ 13 に記憶されます。
< 注意事項 >
メッセージ受信中
0101 1111 011
0
...
メッセージバッファ 13
0101 1111 011
0
...
RCR
1
1
1
...
メッセージバッファ 14
0101 1111 001
0
...
ROVRR
0
0
1
...
メッセージバッファ 15
0101 1111 010
0
...
4 個のメッセージが同一のアクセプタンスフィルタ設定によりメッセージバッファ
13, 14 および 15 に受信されます。
323
第 19 章 CAN コントローラ
19.14
CAN コントローラの使用上の注意
CAN コントローラが CAN 通信に参加している状態 (CSR:HALT ビットの読出し値
が "0" で , CAN コントローラが CAN バスの通信に参加しており送受信が可能な状
態 ) で , メッセージバッファの内容の読出しや書込み中にメッセージバッファ有効レ
ジスタの BVAL ビットを無効 (BVALR:BVAL=0) にした場合 , CAN コントローラの
動作に異常をもたらす可能性があります。これは , 以下の操作により回避すること
ができます。
■ CAN コントローラの使用上の注意
● 受信メッセージバッファの構成を変更する場合の操作
CAN のアプリケーションによっては , CAN 通信後に得られる情報を元にメッセージ
バッファの構成を変更する場合があります。CAN 通信が確立されている間 (CSR:HALT
ビットの読出し値が "0" で , CAN コントローラが CAN バスの通信に参加しており送受
信が可能な状態 ) で , ID レジスタ (IDR) やアクセプタンスマスク選択レジスタ (AMSR),
アクセプタンスマスクレジスタ 0/1(AMR0/AMR1) の設定変更によりメッセージバッ
ファの構成を変更する場合は , 以下のいずれかによる操作を行ってください。
【HALT ビットの使用】
制御ステータスレジスタ (CSR) の HALT ビットに "1" を書き込み , HALT ビットの読出
し値が "1" になったことを確認してから ID レジスタ (IDR) やアクセプタンスマスク選
択レジスタ (AMSR), アクセプタンスマスクレジスタ 0/1(AMR0/AMR1) の設定を変更し
てください。
【メッセージバッファ 0 を使用しない】
メッセージバッファ0を送信にも受信にも使用しないでください ( メッセージバッファ
を無効 (BVALR:BVAL0=0), 受信完了時の割り込みを禁止 (RIER:RIE0=0), 送信要求しな
い (TREQR:TREQ=0) に設定してください ) 。
● 受信メッセージの処理を行う場合の操作
受信メッセージをメッセージバッファから読み出す場合は , 次のメッセージが上書き
される可能性があります。これを回避するために , メッセージバッファ有効レジスタの
BVAL ビットによる受信禁止 (BVALR:BVAL=0) を行わないでください。受信メッセー
ジをメッセージバッファから確実に読み出す場合は , メッセージの読出し前後で , メッ
セージの上書き有無を受信オーバランレジスタ (ROVRR) の ROVR ビットにより確認
してください。詳細は「19.6.16 受信オーバランレジスタ (ROVRR)」および「19.12 メッ
セージバッファ (x) による受信方法」を参照してください。
● 送信要求の抑止をする場合の操作
送信要求を解除する場合は , メッセージバッファ有効レジスタの BVAL ビットによる
送信禁止 (BVALR:BVAL=0) を行わないでください。送信要求を解除する場合は , 受信
キャンセルレジスタ (TCANR) の TCAN ビットを "1" に設定してください。
324
第 19 章 CAN コントローラ
● 送信メッセージを構成する場合の操作
送信メッセージの構成を行うために , ID レジスタ (IDR) や IDE レジスタ (IDER) の設定
を行う場合は, メッセージバッファ有効レジスタのBVALビットによりメッセージバッ
ファを無効 (BVALR:BVAL=0) にする必要があります。
送信要求レジスタ (TREQR) の TREQ ビットが "0" であることを確認するか , 送信完了
レジスタ (TCR) の TC ビットが "1" であることを確認してから BVAL ビットを無効
(BVALR:BVAL=0) にしてください。
325
第 19 章 CAN コントローラ
326
第 20 章
ステッピングモータ
コントローラ
この章では , ステッピングモータコントローラの機
能と動作について説明します。
20.1 ステッピングモータコントローラの概要
20.2 ステッピングモータコントローラのレジスタ
20.3 ステッピングモータコントローラの使用上の注意
327
第 20 章 ステッピングモータ コントローラ
ステッピングモータコントローラの概要
20.1
ステッピングモータコントローラは 2 個の PWM パルス発生器 , 4 個のモータドライ
バおよびセレクタロジックから構成されています。
4 個のモータドライバは , 高出力駆動能力があり , 2 個のモータコイルの 4 個の端部
に直接接続することができます。PWM パルス発生器とセレクタロジックを組み合わ
せて , モータの回転を制御するように設計されています。同期機構により 2 個の
PWM の同期動作が確かなものとなります。
次項ではステッピングモータコントローラ 0 のみを説明しています。ほかのコント
ローラの機能も同様です。レジスタアドレスは I/O マップに見られます。
■ ステッピングモータコントローラのブロックダイヤグラム
図 20.1-1 に , ステッピングモータコントローラのブロックダイヤグラムを示します。
図 20.1-1 ステッピングモータコントローラのブロックダイヤグラム
マシンクロック
OE1
プリスケーラ
CK
PWM1P0
PWM1 パルス発生器
EN
P1
セレクタ
PWM1M0
PWM
P0
PWM1 選択レジスタ
PWM1 コンペアレジスタ
OE2
CK
CE
EN
出力許可
PWM2P0
セレクタ
PWM2 パルス発生器
PWM2M0
PWM
ロード
PWM2 コンペアレジスタ
328
出力許可
BS
PWM2 選択レジスタ
第 20 章 ステッピングモータ コントローラ
20.2
ステッピングモータコントローラのレジスタ
ステッピングモータコントローラのレジスタには次の 5 種類があります。
• PWM 制御 0 レジスタ (PWC0)
• PWM1 コンペア 0 レジスタ (PWC10)
• PWM2 コンペア 0 レジスタ (PWC20)
• PWM1 選択レジスタ (PWS10)
• PWM2 選択レジスタ (PWS20)
■ ステッピングモータコントローラのレジスタ
図 20.2-1 ステッピングモータコントローラのレジスタ
PWM 制御 0 レジスタ
bit
7
アドレス : 000062H
OE2
(R/W)
リード / ライト→
(0)
初期値→
6
5
4
3
2
1
0
OE1
(R/W)
(0)
P1
(R/W)
(0)
P0
(R/W)
(0)
CE
(R/W)
(0)
−
(−)
(−)
−
(−)
(−)
予約
(R/W)
(0)
6
5
4
3
2
1
0
D6
(R/W)
(X)
D5
(R/W)
(X)
D4
(R/W)
(X)
D3
(R/W)
(X)
D2
(R/W)
(X)
D1
(R/W)
(X)
D0
(R/W)
(X)
PWC0
PWM1 コンペア 0 レジスタ
bit
7
アドレス : 001950H
D7
リード / ライト→ (R/W)
(X)
初期値→
PWC10
PWM2 コンペア 0 レジスタ
bit
アドレス : 001951H
15
14
13
12
11
10
9
8
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
7
6
5
4
3
2
1
0
−
(−)
(−)
−
(−)
(−)
P2
(R/W)
(0)
P1
(R/W)
(0)
P0
(R/W)
(0)
M2
(R/W)
(0)
M1
(R/W)
(0)
M0
(R/W)
(0)
15
14
13
12
11
10
9
8
−
(−)
(−)
BS
(R/W)
(0)
P2
(R/W)
(0)
P1
(R/W)
(0)
P0
(R/W)
(0)
M2
(R/W)
(0)
M1
(R/W)
(0)
M0
(R/W)
(0)
リード / ライト→ (R/W)
(X)
初期値→
PWC20
PWM1 選択レジスタ
bit
アドレス : 001952H
リード / ライト→
初期値→
PWS10
PWM2 選択レジスタ
bit
アドレス : 001953H
リード / ライト→
初期値→
PWS20
329
第 20 章 ステッピングモータ コントローラ
20.2.1
PWM 制御 0 レジスタ (PWC0)
PWM 制御 0 レジスタ (PWC0) は , ステッピングモータコントローラの起動・停止 ,
割込みの制御や外部出力端子などの設定を行います。
■ PWM 制御 0 レジスタ (PWC0)
図 20.2-2 PWM 制御 0 レジスタ (PWC0)
PWM 制御 0 レジスタ
bit
アドレス : 000062H
7
6
5
4
3
OE2
OE1
P1
P0
CE
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
リード / ライト→ (R/W)
(0)
初期値→
2
−
(−)
(−)
1
0
−
(−)
(−)
予約
PWC0
(R/W)
(0)
【bit7】OE2: 出力許可ビット
本ビットが "1" にセットされたとき外部端子は PWM2P0 および PWM2M0 として割り
当てられます。その他の場合にはそれらは汎用 I/O として使用することができます。
【bit6】OE1: 出力許可ビット
本ビットが "1" にセットされたとき外部端子は PWM1P0 および PWM1M0 として割り
当てられます。その他の場合にはそれらは汎用 I/O として使用することができます。
【bit5, bit4】P1, P0: 動作クロック選択ビット
本ビット群は PWM パルス発生器に対するクロック入力信号を指定します。
表 20.2-1 P1, P0 のクロック入力
P1
P0
0
0
マシンクロック
0
1
1/2 マシンクロック
1
0
1/4 マシンクロック
1
1
1/8 マシンクロック
クロック入力
【bit3】CE: カウント許可ビット
本ビットは PWM パルス発生器の動作を許可します。本ビットが "1" にセットされたと
き PWM パルス発生器はそれらの動作を開始します。PWM2 パルス発生器は PWM1 パ
ルス発生器の 1 マシンクロックサイクル後にスタートすることに注意してください。こ
れは出力ドライバからのスイッチングノイズを減少させるのを助けるものです。
【bit0】予約ビット
予約ビットです。本ビットには必ず "0" を書き込んでください。
330
第 20 章 ステッピングモータ コントローラ
20.2.2
PWM1&PWM2 コンペアレジスタ (PWC10/PWC20)
PWM1&PWM2 の 2 つの 8 ビットコンペアレジスタ (PWC10/PWC20) の内容は ,
PWM パルスの幅を決定するものです。記憶された "00H" の値は PWM のデューティ
が 0% であることを表し , "FFH" は 99.6% のデューティを表します。
■ PWM1&PWM2 コンペアレジスタ (PWC10/PWC20)
PWM1&PWM2 コンペアレジスタは , 任意の時点でアクセスすることができますが , 変
更された値は PWM2 選択レジスタの BS ビットが "1" にセットされた後における現在
の PWM サイクルの終わりにパルス幅に反映されます。
図 20.2-3 PWM1&PWM2 コンペアレジスタ (PWC10/PWC20)
PWM1 コンペア 0 レジスタ
bit
7
D7
アドレス : 001950H
リード / ライト→ (R/W)
(X)
初期値→
6
5
4
3
2
1
0
D6
D5
D4
D3
D2
D1
D0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
14
D6
13
D5
12
D4
11
D3
10
D2
9
D1
8
D0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
PWC10
PWM2 コンペア 0 レジスタ
bit
アドレス : 001951H
15
D7
リード / ライト→ (R/W)
(X)
初期値→
PWC20
1 つの PWM サイクル
256 入力クロックサイクル
レジスタ値
00H
80H
128 入力クロックサイクル
FFH
255 入力クロックサイクル
331
第 20 章 ステッピングモータ コントローラ
20.2.3
PWM1&PWM2 選択レジスタ (PWS10/PWS20)
PWM1&PWM2 選択レジスタ (PWS10/PWS20) は , ステッピングモータコントロー
ラの外部端子の出力が "0", "1", PWM パルスおよびハイインピーダンスかを選択し
ます。
■ PWM1&PWM2 選択レジスタ (PWS10/PWS20)
図 20.2-4 PWM1&PWM2 選択レジスタ (PWS10/PWS20)
PWM1 選択レジスタ
bit
アドレス : 001952H
リード / ライト→
初期値→
7
6
−
−
5
P2
4
P1
3
P0
2
M2
1
M1
0
M0
(−)
(−)
(−)
(−)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
15
−
14
BS
13
P2
12
P1
11
P0
10
M2
9
M1
8
M0
(−)
(−)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
PWS10
PWM2 選択レジスタ
bit
アドレス : 001953H
リード / ライト→
初期値→
PWS20
【bit14】BS: 書換えビット
本ビットは PWM 出力に対する設定を同期するために用意されています。本ビットが
セットされるまで , 2 個のコンペアレジスタおよび 2 個の選択レジスタに対して行われ
た変更は出力信号には反映されません。
本ビットが "1" にセットされたとき , PWM パルス発生器およびセレクタはレジスタ内
容を現在の PWM サイクルの終わりでロードします。BS ビットは次の PWM サイクル
の始めに自動的に "0" にリセットされます。もし BS ビットがこの自動リセットと同時
にソフトウェアにより "1" にセットされると , BS ビットは "1" にセットされ , ( すなわ
ち変更されないままであり ) 自動リセットは解除されます。
【bit13 ∼ bit11】P2 ∼ P0: 出力選択ビット
本ビット群は PWM2P0 における出力信号を選択するものです。
【bit10 ∼ bit8】M2 ∼ M0: 出力選択ビット
本ビット群は PWM2M0 における出力信号を選択するものです。
【bit5 ∼ bit3】P2 ∼ P0: 出力選択ビット
本ビット群は PWM1P0 における出力信号を選択するものです。
332
第 20 章 ステッピングモータ コントローラ
【bit2 ∼ bit0】M2 ∼ M0: 出力選択ビット
本ビット群は PWM1M0 における出力信号を選択するものです。
次の表は出力レベルと選択ビットの間の関係を示すものです。
表 20.2-2 出力選択ビットの設定
P2
P1
P0
PWMnP0
M2
M1
M0
PWMnM0
0
0
0
"L"
0
0
0
"L"
0
0
1
"H"
0
0
1
"H"
0
1
X
PWM パルス
0
1
X
PWM パルス
1
X
X
高インピーダンス
1
X
X
高インピーダンス
333
第 20 章 ステッピングモータ コントローラ
20.3
ステッピングモータコントローラの使用上の注意
ステッピングモータコントローラを使用するにあたっての注意点を示します。
■ PWM 設定値変更時の注意
PWM コンペアレジスタ 1(PWC10), PWM コンペアレジスタ 2(PWC20), PWM 選択レジ
スタ 1(PWS10) および PWM 選択レジスタ 2(PWS20) は常時アクセス可能ですが , PWM
の "H" 幅設定を変更する , または PWM 出力を変更するためには , これらのレジスタに
設定値を書き込んだあと ( または同時に ), PWM 選択レジスタ 2 の BS ビットに "1" を
書き込む必要があります。
BS ビットが "1" にセットされると , 現在の PWM サイクルの終了時に新しい設定値が
有効になり , BS ビットは自動的にクリアされます。
また , BS ビットへの "1" 書込みと , PWM サイクル終了時の BS ビットのリセットが同
時に行われた場合は , "1" 書込みが優先され , BS ビットのリセットはキャンセルされま
す。
334
第 21 章
サウンドジェネレータ
この章では , サウンドジェネレータの機能と動作に
ついて説明します。
21.1 サウンドジェネレータの概要
21.2 サウンドジェネレータのレジスタ
335
第 21 章 サウンドジェネレータ
21.1
サウンドジェネレータの概要
サウンドジェネレータは , サウンド制御レジスタ , 周波数データレジスタ , 振幅デー
タレジスタ , デクリメントグレードレジスタ , トーンカウントレジスタ , PWM パル
ス発生器 , 周波数カウンタ , デクリメントカウンタおよびトーンパルスカウンタから
構成されています。
■ サウンドジェネレータのブロックダイヤグラム
図 21.1-1 に , サウンドジェネレータのブロックダイヤグラムを示します。
図 21.1-1 サウンドジェネレータのブロックダイヤグラム
クロック入力
プリスケーラ
S1
S0
8 ビット PWM
パルス発生器
CO
EN
PWM
CI
トグル
フリップ
- フロップ
周波数
カウンタ
リロード
振幅データ
レジスタ
D
EN
CO
EN
リロード
Q
1/d
周波数データ
レジスタ
DEC
DEC
デクリメント
カウンタ
CI
CO
EN
SGA
OE1
デクリメント
グレードレジスタ
OE1
混合
SGO
トーンパルス
カウンタ
TONE OE2
OE2
CI
CO
EN
トーンカウント
レジスタ
INTE
INT
ST
IRQ
336
第 21 章 サウンドジェネレータ
21.2
サウンドジェネレータのレジスタ
サウンドジェネレータのレジスタには , 次の種類があります。
• サウンド制御レジスタ
• 周波数データレジスタ
• 振幅データレジスタ
• デクリメントグレードレジスタ
• トーンカウントレジスタ
■ サウンドジェネレータのレジスタ
図 21.2-1 サウンドジェネレータのレジスタ
サウンド制御レジスタ
bit
アドレス:00005EH
リード / ライト→
初期値→
bit
アドレス:00005FH
リード / ライト→
初期値→
7
6
5
4
3
2
1
0
S1
(R/W)
(0)
S0
(R/W)
(0)
TONE
(R/W)
(0)
OE2
(R/W)
(0)
OE1
(R/W)
(0)
INTE
(R/W)
(0)
INT
(R/W)
(0)
ST
(R/W)
(0)
15
14
13
12
11
10
9
8
予約
(R/W)
(0)
−
(−)
(−)
−
(−)
(−)
−
(−)
(−)
−
(−)
(−)
−
(−)
(−)
BUSY
(R)
(0)
DEC
(R/W)
(0)
7
6
5
4
3
2
1
0
D7
(R/W)
(X)
D6
(R/W)
(X)
D5
(R/W)
(X)
D4
(R/W)
(X)
D3
(R/W)
(X)
D2
(R/W)
(X)
D1
(R/W)
(X)
D0
(R/W)
(X)
15
14
13
12
11
10
9
8
SGCR
SGCR
周波数データレジスタ
bit
アドレス:001946H
リード / ライト→
初期値→
SGFR
振幅データレジスタ
bit
アドレス:001947H
リード / ライト→
初期値→
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
SGAR
デクリメントグレードレジスタ
bit
アドレス:001948H
リード / ライト→
初期値→
7
6
5
4
3
2
1
0
D7
(R/W)
(X)
D6
(R/W)
(X)
D5
(R/W)
(X)
D4
(R/W)
(X)
D3
(R/W)
(X)
D2
(R/W)
(X)
D1
(R/W)
(X)
D0
(R/W)
(X)
15
14
13
12
11
10
9
8
D7
(R/W)
(X)
D6
(R/W)
(X)
D5
(R/W)
(X)
D4
(R/W)
(X)
D3
(R/W)
(X)
D2
(R/W)
(X)
D1
(R/W)
(X)
D0
(R/W)
(X)
SGDR
トーンカウントレジスタ
bit
アドレス:001949H
リード / ライト→
初期値→
SGTR
337
第 21 章 サウンドジェネレータ
21.2.1
サウンド制御レジスタ (SGCR)
サウンド制御レジスタ (SGCR) は , サウンドジェネレータの割込みの制御や外部出
力端子などの設定を行い , 動作状態の制御を行います。
■ サウンド制御レジスタ (SGCR)
図 21.2-2 サウンド制御レジスタ (SGCR)
bit
7
アドレス:00005EH
リード / ライト→
初期値→
bit
アドレス:00005FH
リード / ライト→
初期値→
6
5
4
3
2
1
0
S1
S0
TONE
OE2
OE1
INTE
INT
ST
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
15
14
13
12
11
10
9
8
予約
(R/W)
(0)
−
(−)
(−)
−
(−)
(−)
−
(−)
(−)
−
(−)
(−)
−
(−)
(−)
BUSY
(R)
(0)
DEC
(R/W)
(0)
SGCR
SGCR
【bit15】予約ビット
予約ビットです。本ビットには必ず "0" を書き込んでください。
【bit9】BUSY: ビジービット
本ビットはサウンドジェネレータが動作しているかどうかを示すものです。本ビット
は ST ビットが "1" にセットされると同時に "1" にセットされます。また , 本ビットは
ST ビットが "0" にリセットされて 1 つのトーンサイクルの終わりに動作が完了したと
きに "0" にリセットされます。本ビットに書込み命令を行っても効果はありません。
【bit8】DEC: 自動デクリメント許可ビット
DEC ビットはデクリメントグレードレジスタと組み合わされたサウンドの自動デグラ
デーションのために用意されたものです。
もし本ビットが "1" にセットされると , デクリメントグレードレジスタにより指定され
たトグルフリップ - フロップからのトーンパルスの個数がデクリメントカウンタによ
りカウントされるごとに, 振幅データレジスタに記憶された値は1だけデクリメントさ
れます。
【bit7, bit6】S1, S0: 動作クロック選択ビット
本ビット群はサウンドジェネレータに対するクロック入力信号を指定するものです。
表 21.2-1 S1, S0 のクロック入力
338
S1
S0
0
0
マシンクロック
0
1
1/2 マシンクロック
1
0
1/4 マシンクロック
1
1
1/8 マシンクロック
クロック入力
第 21 章 サウンドジェネレータ
【bit5】TONE: トーン出力ビット
本ビットが "1" にセットされたとき SGO 信号はトグルフリップ - フロップから単純な
矩形波形 ( トーンパルス ) になります。その他の場合にそれはトーンパルスと PWM パ
ルスとの混合 (AND ロジック ) 信号となります。
【bit4】OE2: サウンド出力許可ビット
本ビットが "1" にセットされたとき外部端子は SGO 出力として割り当てられます。そ
の他の場合には端子は汎用に使用することができます。SGO 出力を許可するにはポー
ト方向レジスタの対応ビットも "1" にセットしなければなりません。
【bit3】OE1: 振幅出力許可ビット
本ビットが "1" にセットされたとき外部端子は SGA 出力として割り当てられます。そ
の他の場合には端子は汎用に使用することができます。SGA 出力を許可するには , ポー
ト方向レジスタの対応ビットも "1" にセットしなければなりません。
SGA 信号は PWM パルス発生器からの PWM パルスでありサウンドの振幅を表してい
ます。
【bit2】INTE: 割込み許可ビット
本ビットはサウンドジェネレータの割込み信号を許可するものです。本ビットが "1" で
あり INT ビットが "1" にセットされたとき , サウンドジェネレータは割込みを信号で知
らせます。
【bit1】INT: 割込みビット
トーンカウントレジスタおよびデクリメントグレードレジスタにより指定されたトー
ンパルスの個数がトーンパルスカウンタによりカウントされたときに本ビットは "1"
にセットされます。
本ビットは "0" を書込むことにより "0" にリセットされます。"1" を書き込んでも効果
はなく , リードモディファイライト系命令は常に "1" を読み取る結果となります。
【bit0】ST: 開始ビット
本ビットはサウンドジェネレータの動作を開始させるためのものです。本ビットが "1"
の間にサウンドジェネレータはその動作を行います。
本ビットが "0" にリセットされたときサウンドジェネレータは現在のトーンサイクル
の終わりにその動作を停止します。BUSY ビットはサウンドジェネレータが完全に停
止したかどうかを示します。
本ビットが "0" のとき "1" を書き込むと , 周波数データレジスタ , 振幅データレジスタ ,
デクリメントグレードレジスタ , トーンカウントレジスタの値は , それぞれカウンタに
ロードされます。
339
第 21 章 サウンドジェネレータ
21.2.2
周波数データレジスタ (SGFR)
周波数データレジスタ (SGFR) は周波数カウンタに対するリロード値を記憶します。
記憶された値はサウンド ( またはトグルフリップ - フロップからのトーン信号 ) の周
波数を表します。レジスタ値は周波数カウンタのアンダフローかつ PWM パレス生
成カウンタのアンダフローでカウンタ内にリロードされます。
■ 周波数データレジスタ (SGFR)
図 21.2-3 周波数データレジスタ (SGFR)
bit
アドレス:001946H
リード / ライト→
初期値→
7
6
5
4
3
2
1
0
D7
(R/W)
(X)
D6
(R/W)
(X)
D5
(R/W)
(X)
D4
(R/W)
(X)
D3
(R/W)
(X)
D2
(R/W)
(X)
D1
(R/W)
(X)
D0
(R/W)
(X)
SGFR
図 21.2-4 に , トーン信号とレジスタ値との間の関係を示しています。
図 21.2-4 トーン信号とレジスタ値との間の関係
1 つのトーンサイクル
トーン信号
( レジスタ値 +1) ×
1PWM サイクル
( レジスタ値 +1) ×
1PWM サイクル
動作中にレジスタ値を変更すると変更のタイミングによっては 50% のデューティサイ
クルが変わることもあり得ます。
340
第 21 章 サウンドジェネレータ
21.2.3
振幅データレジスタ (SGAR)
振幅データレジスタ (SGAR) は PWM パルス発生器に対するリロード値を記憶しま
す。レジスタ値はサウンドの振幅を表します。レジスタ値はトーン信号の立下りで
PWM パルス発生器にリロードされます。
■ 振幅データレジスタ (SGAR)
図 21.2-5 振幅データレジスタ (SGAR)
bit
15
アドレス:001947H
D7
リード / ライト→ (R/W)
(0)
初期値→
14
13
12
11
10
9
8
D6
(R/W)
(0)
D5
(R/W)
(0)
D4
(R/W)
(0)
D3
(R/W)
(0)
D2
(R/W)
(0)
D1
(R/W)
(0)
D0
(R/W)
(0)
SGAR
DEC ビットが "1" でありデクリメントカウンタがそのリロード値に達したとき , この
レジスタ値は 1 だけデクリメントされますが , レジスタ値が "00" に達したときには以
後のデクリメントは行われません。ただし , サウンドジェネレータは ST ビットがクリ
アされるまでその動作を継続します。
図 21.2-6 は , レジスタ値と PWM パルスとの間の関係を示しています。
図 21.2-6 レジスタ値と PWM パルスとの間の関係
1 つの PWM サイクル
256 入力クロックサイクル
レジスタ値
00H
1 つの入力クロックサイクル
80H
129 入力クロックサイクル
FEH
255 入力クロックサイクル
FFH
256 入力クロックサイクル
レジスタ値が "FF" にセットされたときに PWM 信号は常に "1" となります。
341
第 21 章 サウンドジェネレータ
21.2.4
デクリメントグレードレジスタ (SGDR)
デクリメントグレードレジスタ (SGDR) はデクリメントカウンタに対するリロード
値を記憶するものです。これらは振幅データレジスタ内の記憶値を自動的にデクリ
メントするために用意されたものです。レジスタ値はデクリメントカウンタのアン
ダフローかつトーン信号の立下りでカウンタ内にリロードされます。
■ デクリメントグレードレジスタ (SGDR)
図 21.2-7 デクリメントグレードレジスタ (SGDR)
bit
アドレス:001948H
リード / ライト→
初期値→
7
6
5
4
3
2
1
0
D7
(R/W)
(X)
D6
(R/W)
(X)
D5
(R/W)
(X)
D4
(R/W)
(X)
D3
(R/W)
(X)
D2
(R/W)
(X)
D1
(R/W)
(X)
D0
(R/W)
(X)
SGDR
DEC ビットが "1" でありデクリメントカウンタがトーンパルスをリロード値までカウ
ントしたとき, 振幅データレジスタはトーンサイクルの終わりに1だけデクリメントさ
れます。
この動作により CPU の介在の回数を少なくしてサウンドの自動的なデグラデーション
が実現されます。
このレジスタにより指定されたトーンパルスの数は " レジスタ値 +1" であることに注
意してください。デクリメントグレードレジスタが "00" にセットされたときにデクリ
メント動作がトーンサイクルごとに行われます。
342
第 21 章 サウンドジェネレータ
21.2.5
トーンカウントレジスタ (SGTR)
トーンカウントレジスタ (SGTR) はトーンパルスカウンタに対するリロード値を記
憶するものです。トーンパルスカウンタはトーンパルスの数 ( またはデクリメント
動作の回数 ) を蓄積してそれがリロード値に達したときに INT ビットをセットしま
す。それらは割込みの頻度を減少することを目的としています。レジスタ値はトー
ンパレスカウンタのアンダフローかつデクリメントカウンタのアンダフローかつ
トーン信号の立下りでカウンタ内にリロードされます。
■ トーンカウントレジスタ (SGTR)
図 21.2-8 トーンカウントレジスタ (SGTR)
bit
15
アドレス:001949H
D7
リード / ライト→ (R/W)
(X)
初期値→
14
13
12
11
10
9
8
D6
(R/W)
(X)
D5
(R/W)
(X)
D4
(R/W)
(X)
D3
(R/W)
(X)
D2
(R/W)
(X)
D1
(R/W)
(X)
D0
(R/W)
(X)
SGTR
トーンパルスカウンタのカウント入力はデクリメントカウンタからのキャリーアウト
信号に接続されています。トーンカウントレジスタが "00" にセットされたときにトー
ンパルスカウンタはデクリメントカウンタからのキャリーアウトごとに INT ビットを
セットします。このため蓄積されたトーンパルスの数は ,
( ( デクリメントグレードレジスタ ) +1) × ( ( トーンカウントレジスタ ) +1)
となります。
すなわち , 両レジスタが "00" にセットされたときに INT ビットはトーンサイクルごと
にセットされます。
343
第 21 章 サウンドジェネレータ
344
第 22 章
アドレス一致検出機能
この章は , アドレス一致検出の機能と動作について
説明します。
22.1 アドレス一致検出機能の概要
22.2 アドレス一致検出機能のレジスタ
22.3 アドレス一致検出機能の動作
22.4 アドレス一致検出機能の使用例
345
第 22 章 アドレス一致検出機能
22.1
アドレス一致検出機能の概要
アドレスが , アドレス検出レジスタに設定された値と等しい場合に , CPU に読み込
まれる命令コードを強制的に INT9 命令のコード (01H) に置き換えます。その結果 ,
CPU が設定された命令を実行するときに , INT9 命令を実行します。INT9 割込み
ルーチンで処理を行うことにより , アドレス一致検出機能を実現することができま
す。
アドレス検出レジスタは 2 本用意されており , 各レジスタにコンペア許可ビットが
あります。アドレス検出レジスタに設定された値とアドレスが一致して , かつ割込
み許可ビットが "1" の場合 , CPU に読み込まれる命令コードを強制的に INT9 命令
のコードに置き換えます。
■ アドレス一致検出機能のブロックダイヤグラム
図 22.1-1 アドレス一致検出機能のブロックダイヤグラム
アドレスラッチ
比較
アドレス検出レジスタ
INT9 命令
許可ビット
F2MC-16LX
CPU コア
F2MC-16LX バス
346
第 22 章 アドレス一致検出機能
22.2
アドレス一致検出機能のレジスタ
アドレス一致検出機能には , 次の 2 種類のレジスタがあります。
• プログラムアドレス検出レジスタ (PADR0/PADR1)
• プログラムアドレス検出制御ステータスレジスタ (PACSR)
■ プログラムアドレス検出レジスタ (PADR0/PADR1)
プログラムアドレス検出レジスタ (PADR0/PADR1:Program Address Detect Register0/1)
は , 各レジスタに書き込まれた値と , アドレスを比較します。一致した場合は , ADCSR
の対応する割込み許可ビットが "1" の場合 , CPU に対して INT9 命令の発生を要求しま
す。
対応する割込み許可ビットが "0" の場合は , 一致していても何も行いません。
図 22.2-1 プログラムアドレス検出レジスタ (PADR0/PADR1)
アドレス:
PADR0 1FF2H/1FF1H/1FF0H
PADR1 1FF5H/1FF4H/1FF3H
バイト
バイト
バイト
アクセス
R/W
R/W
初期値
不定
不定
表 22.2-1 に , プログラムアドレス検出レジスタ (PADR0/PADR1) と PACSR との対応を
示します。
表 22.2-1 PADR0/PADR1 レジスタと PACSR との対応
アドレス検出レジスタ
割り込み許可ビット
PADR0
AD0E
PADR1
AD1E
347
第 22 章 アドレス一致検出機能
■ プログラムアドレス検出制御ステータスレジスタ (PACSR)
プ ロ グ ラ ム ア ド レ ス 検 出 制 御 ス テ ー タ ス レ ジ ス タ (PACSR: Program Address detect
Control Status Register) は , アドレス検出機能の動作を制御します。
図 22.2-2 プログラムアドレス検出制御ステータスレジスタ (PACSR)
bit
アドレス:009EH
7
予約
リード / ライト→ (R/W)
(0)
初期値→
6
5
4
3
2
1
0
予約
予約
予約
AD1E
予約
AD0E
予約
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
PACSR
【bit7 ∼ bit4】予約ビット
bit7 ∼ bit4 は , 予約ビットです。PACSR を設定する時は , 必ず "0" を設定してください。
【bit3】AD1E(Address Detect register1 Enable)
AD1E は , ADR1 の動作許可ビットです。
このビットが "1" のとき PADR1 レジスタとアドレスの比較を行い , 一致した場合に
CPU は INT9 命令を実行します。
【bit2】予約ビット
bit2 は , 予約ビットです。PACSR を設定する時は , 必ず "0" を設定してください。
【bit1】AD0E(Address Detect register0 Enable)
AD0E ビットは , PADR0 の動作許可ビットです。
このビットが "1" のとき PADR0 レジスタとアドレスの比較を行い , 一致した場合に
CPU は INT9 命令を実行します。
【bit0】予約ビット
bit0 は , 予約ビットです。PACSR を設定する時は , 必ず "0" を設定してください。
348
第 22 章 アドレス一致検出機能
22.3
アドレス一致検出機能の動作
プログラムカウンタがアドレス一致検出レジスタと同じアドレスを指示している場
合は , INT9 命令を実行します。INT9 命令ルーチンを処理することによってアドレス
一致検出機能を実現することができます。
■ アドレス一致検出機能の動作
アドレス検出レジスタは2本用意されており, 各レジスタにコンペア許可ビットがあり
ます。アドレス検出レジスタに設定された値とプログラムカウンタの値が一致して , か
つコンペア許可ビットが "1" の場合 , CPU は INT9 命令を実行します。
< 注意事項 >
アドレス検出レジスタとプログラムカウンタの値が一致した場合は , 内部データバ
スの内容が強制的に "01H" に変更されるので , INT9 命令を実行することになりま
す。アドレス検出レジスタの内容を変更する前には , コンペア許可ビットを必ず "0"
にしてください。コンペア許可ビットが "1" になっている間に変更すると , 誤動作
を引き起こす可能性があります。
349
第 22 章 アドレス一致検出機能
22.4
アドレス一致検出機能の使用例
図 22.4-1 にアドレス一致検出機能のシステム構成例を , 表 22.4-1 に E2PROM メモ
リマップを示します。
■ アドレス一致検出機能のシステム構成例
図 22.4-1 アドレス一致検出機能のシステム構成例
E2PROM
MCU
F2MC-16LX
プルアップ抵抗
コネクタ (UART)
SIN
■ 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 に書き込みます。
350
第 22 章 アドレス一致検出機能
● リセットシーケンス
MCU はリセット後 E2PROM の値を読み出します。パッチプログラムのバイト数が "0"
でなかった場合は , パッチプログラムの本体が E2PROM から読み出され RAM に書き
込まれます。次に , MCU により PADR0 または PADR1 どちらか一方でパッチアドレス
をセットし , コンペア許可ビットをセットします。再配置可能はパッチプログラムが望
まれる場合は , RAM 領域に対してパッチ済みプログラムの最初のアドレスを書き込む
ことができます。この場合 , INT9 ルーチンがこのユーザ定義の RAM 領域を参照し ,
パッチ済みプログラムへ向けてジャンプします。
● INT9 命令
割込みルーチンでは , スタックプログラムのカウンタの値を調べることにより , 割込み
が発生するアドレスを知ることができます。割込みの最中にスタックへ格納された情
報は破棄されます。
■ プログラムパッチ処理例
図 22.4-2 プログラムパッチ処理例
FFFFFFH
③
異常プログラム
ROM
①
P
C
発
生
ア
ド
レ
ス
RAM
外付け E2PROM
プログラムパッチ用
レジスタセット
修正プログラム
②
○プログラムバイト数
○割込み発生アドレス
○修正プログラム
UART を使用してデータ転送
000000H
351
第 22 章 アドレス一致検出機能
■ プログラムパッチ処理フロー図
図 22.4-3 プログラムパッチ処理フロー図
リセット
E2PROM の 0000H を読み込む
INT9
YES
0000H(E2PROM)=0
パッチプログラムへ
JMP 000400H
NO
アドレスを読み込む
0001H ~ 0003H (E2PROM)
MOV
PADR0 (MCU)
パッチプログラム実行
000400H ∼ 000480H
パッチプログラムを読み込む
0010H ~ 0090H (E2PROM)
MOV
000400H ~ 000480H (MCU)
パッチプログラム終了
JMP FF0050H
コンペア許可
MOV PACSR, #02H
通常プログラム実行
NO
PC=PADR0
YES
INT9
FFFFFFH
FF0050H
ROM
EEPROM
異常プログラム
FF0000H
FFFFH
FE0000H
0090H
パッチプログラム
0010H
001100H
スタック領域
RAM 領域
プログラムアドレス下位:00
0003H
000480H
プログラムアドレス中位:00
0002H
パッチプログラム
RAM
000400H
RAM/ レジスタ領域
プログラムアドレス上位:FF
0001H
000100H
パッチプログラムバイト数:80
0000H
352
000000H
I/O 領域
第 23 章
ROM ミラー機能選択
モジュール
この章では , ROM ミラー機能選択モジュールにつ
いて説明します。
23.1 ROM ミラー機能選択モジュールの概要
23.2 ROM ミラー機能選択レジスタ (ROMM)
353
第 23 章 ROM ミラー機能選択 モジュール
23.1
ROM ミラー機能選択モジュールの概要
ROM ミラー機能選択モジュールは , ROM が配置されている FF バンクが 00 バンク
でみることを , レジスタの設定で選択することができます。
■ ROM ミラー機能選択モジュールのブロックダイヤグラム
図 23.1-1 ROM ミラー機能選択モジュールのブロック
ROM ミラー機能選択レジスタ
アドレス領域
FF バンク
00 バンク
ROM
354
第 23 章 ROM ミラー機能選択 モジュール
23.2
ROM ミラー機能選択レジスタ (ROMM)
ROM ミラー機能選択レジスタ (ROMM) は , アドレス 004000H ∼ 00FFFFH 番地の使
用中にアクセスしないでください。
■ ROM ミラー機能選択レジスタ (ROMM)
図 23.2-1 ROM ミラー機能選択レジスタ (ROMM)
bit
アドレス:0006FH
リード / ライト→
初期値→
15
−
(−)
(−)
14
−
(−)
(−)
13
−
(−)
(−)
12
−
(−)
(−)
11
−
(−)
(−)
10
−
(−)
(−)
9
8
−
(−)
(−)
MI
(W)
(1)
ROMM
【bit8】MI
"1" を書込み時には FF バンクの ROM のデータが 00 バンクでも読みだせるようになり
ます。"0" を書込み時には 00 バンクはこの機能ははたらきません。
本ビットは , 書込みのみ可能です。
< 注意事項 >
ROM ミラー機能を起動している場合 , FF4000 ∼ FFFFFF 番地のみ 004000 ∼
00FFFF 番地にミラーされます。このため , FF0000 ∼ FF3FFF 番地は 00 バンクに
ミラーされません。
355
第 23 章 ROM ミラー機能選択 モジュール
356
第 24 章
2M/3M ビット
フラッシュメモリ
この章では , 2M/3M ビットフラッシュメモリの機
能や動作について説明します。
フラッシュメモリへのデータ書込み / 消去の方法に
は , 下記の 3 とおりの方法があります。
• パラレルライタ
• シリアル専用ライタ
• プログラム実行による書込み / 消去
ここでは , " プログラム実行による書込み / 消去 "
について解説します。
24.1 2M/3M ビットフラッシュメモリの概要
24.2 ブロックダイヤグラム (2M ビットフラッシュメモリの
例 ) とセクタ構成
24.3 書込み / 消去モード
24.4 フラッシュメモリ制御ステータスレジスタ (FMCS)
24.5 フラッシュメモリ自動アルゴリズム起動方法
24.6 自動アルゴリズム実行状態の確認
24.7 フラッシュメモリ書込み / 消去の詳細説明
24.8 2M/3M ビットフラッシュメモリ使用上の注意
24.9 フラッシュメモリにおけるリセットベクタアドレス
24.10 2M ビットフラッシュメモリのプログラム例
357
第 24 章 2M/3M ビット フラッシュメモリ
24.1
2M/3M ビットフラッシュメモリの概要
2M/3M ビットフラッシュメモリは , CPU メモリマップ上の FC ∼ FF バンクに配置
され , フラッシュメモリインタフェース回路の機能により , マスク ROM と同様に
CPU からのリードアクセスおよびプログラムアクセスが可能です。フラッシュメモ
リへの書込み / 消去は , フラッシュメモリインタフェース回路を介して CPU からの
命令動作で行えます。このため , 内蔵 CPU の制御による実装状態での書き換えが可
能となり , プログラムおよびデータの改善が効率よく行えます。
■ 2M/3M ビットフラッシュメモリの特長
• セクタ構成 : 複数のセクタに分割
• 自動プログラムアルゴリズム (Embedded Algorithm * :MBM29LV200 と同様 )
• 消去一時停止 / 消去再開機能の搭載
• データポーリング , トグルビットによる書込み / 消去完了検出
• CPU 割込みによる書込み / 消去の完了検出
• セクタごとの消去が可能 ( セクタ組み合わせ自由 )
• 書込み / 消去回数 ( 最小 ) 10,000 回
• フラッシュ読出しサイクルタイム ( 最小 ) 2 マシンサイクル
* : Embedded Algorithm は Advanced Micro Devices, Inc. の商標です。
< 注意事項 >
マニュファクチャコードとデバイスコードの読出し機能はありません。また , これ
らのコードはコマンドによってもアクセスできません。
■ フラッシュメモリ書込み / 消去の方法
フラッシュメモリは書込みと読出しを同時に行うことはできません。つまり , フラッ
シュメモリにデータ書込み / 消去動作を行う際には , フラッシュメモリ上にあるプログ
ラムを RAM に一度コピーし RAM 実行することで , フラッシュメモリからプログラム
アクセスをせず書込み動作だけを行うことが可能となります。
■ フラッシュメモリのレジスタ
図 24.1-1 フラッシュメモリ制御ステータスレジスタ (FMCS)
bit
アドレス : 0000AEH
7
358
5
4
3
2
1
0
WE
RDY
予約
LPM1
予約
LPM0
(R/W)
(R/W)
(R)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(X)
(0)
(0)
(0)
(0)
INTE RDYINT
リード / ライト→ (R/W)
初期値→
6
(0)
FMCS
第 24 章 2M/3M ビット フラッシュメモリ
24.2
ブロックダイヤグラム (2M ビットフラッシュメモリの
例 ) とセクタ構成
図 24.2-1 に , フラッシュメモリインタフェース回路付のフラッシュメモリ全体のブ
ロックダイヤグラム (2M ビットフラッシュメモリの例 ) を , 図 24.2-2 に , フラッ
シュメモリのセクタ構成を示します。
■ フラッシュメモリ全体のブロックダイヤグラム (2Mビットフラッシュメモリの例)
図 24.2-1 フラッシュメモリ全体のブロックダイヤグラム (2M ビットフラッシュメモリの例 )
フラッシュメモリ
インタフェース回路
BYTE
F2MC-16LX バス
ポート 2
ポート 3
ポート 4
INT
2M ビットフラッシュメモリ
BYTE
CE
CE
OE
OE
WE
WE
AQ0 ~ AQ17
AQ0 ~ AQ16
AQ-1
DQ0 ~ DQ15
DQ0 ~ DQ15
RY/BY
RY/BY
RESET
ライトイネーブル割込み
信号 ( 対 CPU)
外部リセット信号
RY/BY ライト
イネーブル信号
359
第 24 章 2M/3M ビット フラッシュメモリ
■ 2M/3M ビットフラッシュメモリのセクタ構成
図 24.2-2 に , 2M/3M ビットフラッシュメモリのセクタ構成を示します。図中アドレス
には , 各セクタの上位アドレスと下位アドレスを示します。
図 24.2-2 2M/3M ビットフラッシュメモリのセクタ構成
MB90F594A/MB90F594G
(2M ビットフラッシュメモリ )
ライタアドレス *
SA6 (16K バイト)
SA5 (8K バイト)
SA4 (8K バイト)
SA3 (32K バイト)
SA2 (64K バイト)
MB90F591A/MB90F591G
(3M ビットフラッシュメモリ )
CPU アドレス
7FFFFH
FFFFFFH
7BFFFH
FFBFFFH
79FFFH
FF9FFFH
77FFFH
FF7FFFH
6FFFFH
FEFFFFH
5FFFFH
FDFFFFH
SA1 (64K バイト)
ライタアドレス *
SA11 (16K バイト)
SA10 (8K バイト)
SA8 (8K バイト)
SA8 (32K バイト)
SA7 (64K バイト)
CPU アドレス
7FFFFH
FFFFFFH
7BFFFH
FFBFFFH
79FFFH
FF9FFFH
77FFFH
FF7FFFH
6FFFFH
FEFFFFH
5FFFFH
FDFFFFH
4FFFFH
FCFFFFH
3FFFFH
FBFFFFH
3BFFFH
FBBFFFH
39FFFH
FB9FFFH
37FFFH
FB7FFFH
2FFFFH
FAFFFFH
1FFFFH
F9FFFFH
0FFFFH
F8FFFFH
00000H
F80000H
SA6 (64K バイト)
4FFFFH
FCFFFFH
SA0 (64K バイト)
未使用
40000H
FC0000H
SA5 (16K バイト)
SA4 (8K バイト)
SA3 (8K バイト)
SA2 (32K バイト)
SA1(64K バイト)
SA0 (64K バイト)
未使用
*: ライタアドレスとは , フラッシュメモリにパラレルライタでデータ書込みを行う際 , CPU アドレス
に対して相当するアドレスです。
汎用ライタを使用し書込み / 消去を行う際は , このアドレスで書
込み / 消去を実行します。
360
第 24 章 2M/3M ビット フラッシュメモリ
24.3
書込み / 消去モード
フラッシュメモリのアクセスは , フラッシュメモリモードとその他モードの 2 つの
異なる方法で行われます。フラッシュメモリモードでは , 外部端子から直接書込み /
消去が行え , その他モードでは , 内部バスを介して CPU から書込み / 消去が行えま
す。モードの選択はモード外部端子で行います。
■ フラッシュメモリモード
リセット信号が発生中にモード端子を "111" にセットすると , CPU が停止します。フ
ラッシュメモリインタフェース回路は直接ポート0, 2, 3, 4に接続しているので, 外部端
子から直接制御することができます。このモードでは , MCU が外部端子中の標準フ
ラッシュメモリと同様の動作を行い , フラッシュメモリプログラマを使用して書込み /
消去が行えます。
フラッシュメモリモードでは , フラッシュメモリ自動アルゴリズムでサポートされる
すべての動作を使用できます。
■ その他モード
フラッシュメモリは , CPU メモリ空間の FC/F9 ∼ 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" にセットしてください。
361
第 24 章 2M/3M ビット フラッシュメモリ
表 24.3-1 フラッシュ制御信号
MB90F594A/MB90F594G/MB90F591A/MB90F591G
端子番号
通常機能
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
14(15)
P34(P35)
AQ17(AQ18)
A16
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
使用不可
362
MBM29LV200
フラッシュメモリ
モード
DQ8 ∼ DQ15
第 24 章 2M/3M ビット フラッシュメモリ
24.4
フラッシュメモリ制御ステータスレジスタ (FMCS)
制御ステータスレジスタ (FMCS) は , フラッシュメモリインタフェース回路にある
レジスタで , フラッシュメモリの書込み / 消去の際に使用します。
■ 制御ステータスレジスタ (FMCS)
図 24.4-1 制御ステータスレジスタ (FMCS)
bit
7
6
5
アドレス : 0000AEH
INTE RDYINT WE
リード / ライト→ (R/W) (R/W) (R/W)
(0)
(0)
(0)
初期値→
4
3
2
1
0
RDY
(R)
(X)
予約
LPM1
(R/W)
(0)
予約
LPM0
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
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" の書込みは無視されます。フラッ
シュメモリ自動アルゴリズム (「24.5 フラッシュメモリ自動アルゴリズム起動方法」参
照 ) 終了タイミングで , "1" にセットされます。リードモディファイライト (RMW) 命
令使用時は , 必ず "1" が読めます。
• 0: 書込み / 消去動作実行中
• 1: 書込み / 消去動作終了 ( 割込み要求発生 )
363
第 24 章 2M/3M ビット フラッシュメモリ
【bit5】WE(Write Enable)
フラッシュメモリ領域へのライトイネーブルビットです。
このビットが "1" の時 , FC/F9 ∼ FF バンクへのコマンドシーケンス 「24.5
(
フラッシュ
メモリ自動アルゴリズム起動方法」参照 ) 発行後のライトは , フラッシュメモリ領域へ
のライトになります。本ビットが "0" のとき , 書込み / 消去の信号は発生されません。
このビットはフラッシュメモリの書込み / 消去のコマンドを起動する際に使用します。
書込み / 消去を行わないときは , 誤ってフラッシュメモリにデータを書込まないよう ,
常に "0" に設定することを推奨します。
• 0: フラッシュメモリ書込み / 消去禁止
• 1: フラッシュメモリ書込み / 消去許可
【bit4】RDY(ReaDY)
フラッシュメモリの書込み / 消去許可ビットです。
このビットが "0" の間は , フラッシュメモリへの書込み / 消去はできません。なお , こ
の状態でも読出し / リセットコマンド , セクタ消去一時停止コマンドは受け付けられま
す。
• 0: 書込み / 消去動作実行中
• 1: 書込み / 消去動作終了 ( 次データ書込み / 消去許可 )
【bit3, bit1】予約ビット
試験用予約ビットです。通常使用時は必ず "0" に設定してください。
【bit2, bit0】LPM1, LPM0(Low Power Mode)
フラッシュメモリアクセス時のフラッシュメモリ本体の消費電流を制御します。ただ
し , CPU からフラッシュメモリへのアクセスタイムが設定により大きく異なりますの
で , CPU の動作周波数により設定値を選択してください。
• 01: 低電力消費モード ( 内部動作周波数 4MHz 以下で動作 )
• 10: 低電力消費モード ( 内部動作周波数 8MHz 以下で動作 )
• 11: 低電力消費モード ( 内部動作周波数 10MHz 以下で動作 )
• 00: 通常消費電力モード ( 内部動作周波数 16MHz 以下で動作 )
MB90F591A/MB90F591G については , 通常使用時は "00" に設定してください。"00" 以
外を設定した場合 , フラッシュメモリアクセスできません。
< 注意事項 >
RDYINT ビットと RDY ビットは同時には変化しません。どちらか片方のビットで
判定するようプログラムを作成してください。
自動アルゴリズム
終了タイミング
RDYINT ビット
RDY ビット
1 マシンサイクル
364
第 24 章 2M/3M ビット フラッシュメモリ
24.5
フラッシュメモリ自動アルゴリズム起動方法
フラッシュメモリの自動アルゴリズムを起動するコマンドには , 読出し / リセット ,
書込み , セクタ消去 , チップ消去の 4 種類があり , セクタ消去については一時停止と
再開の制御が可能です。
■ コマンドシーケンス表
表 24.5-1 に , フラッシュメモリの書込み / 消去時に使用するコマンドの一覧を示しま
す。コマンドレジスタにライトするデータはすべてバイトですが , ワードアクセスで書
き込むようにしてください。このときの上位バイト分のデータは無視されます。
表 24.5-1 コマンドシーケンス表
コマンド バスライト
シーケンス アクセス
1st バスライト 2nd バスライ 3th バスライト 4th バスライト 5th バスライト 6th バスライト
サイクル
トサイクル
サイクル
サイクル
サイクル
サイクル
アドレス データ アドレス データ アドレス データ アドレス データ アドレス データ アドレス データ
読出し /
リセット *
1
FxXXXX XXF0
-
読出し /
リセット *
4
FxAAAA XXAA
Fx5554
XX55 FxAAAA XXF0
書込みプロ
グラム
4
FxAAAA XXAA
Fx5554
チップ消去
6
FxAAAA XXAA
セクタ消去
6
FxAAAA XXAA
-
-
-
-
-
-
-
-
-
RA
RD
-
-
-
-
XX55 FxAAAA XXA0 PA(even) PD(word)
-
-
-
-
Fx5554
XX55 FxAAAA XX80 FxAAAA XXAA
Fx5554
XX55 FxAAAA XX10
Fx5554
XX55 FxAAAA XX80 FxAAAA XXAA
Fx5554
XX55 SA(even) XX30
セクタ消去一時停止
Address"FxXXXX"Data(xxB0H) の入力で , セクタ消去中の消去一時停止
セクタ消去再開
Address"FxXXXX"Data(xx30H) の入力で , セクタ消去中の消去一時停止後 , 消去開始
AutoSelect
3
FxAAAA XXAA
Fx5554
XX55 FxAAAA XX90
-
-
-
-
-
-
*:2 種類の読出し / リセットコマンドは , どちらもフラッシュメモリを読出しモードにリセットすることができます。
( 注意事項 )
・表中のアドレス Fx は , 2M ビットフラッシュメモリの場合は , FF, FE, FD, FC を , 3M ビットフラッシュメモリの場合は , F9, FA, FB, FD,
FE, FF を意味します。それぞれの操作時にはアクセス対象バンクの値としてください。
・表中のアドレスは , CPU メモリマップ上の値です。アドレスおよびデータはすべて 16 進数表記しています。ただし "X" は任意の値で
す。
・RA: 読出しアドレス
・PA: 書込みアドレス , 偶数アドレスのみ指定可
・SA: セクタアドレス , 「24.2 ブロックダイヤグラム (2M ビットフラッシュメモリの例 ) とセクタ構成」を参照願います。
・RD: 読出しデータ
・PD: 書込みデータ , ワードデータのみ指定可
365
第 24 章 2M/3M ビット フラッシュメモリ
表 24.5-1 における AutoSelect はセクタ保護の状態を知るためのコマンドです。実際に
は前期コマンドとともに下記のようにアドレスを設定する必要があります。
表 24.5-2 AutoSelect 時のアドレス設定
セクタ保護
AQ13 ∼ AQ17(AQ18)
AQ7
AQ2
AQ1
AQ0
DQ7 ∼ DQ0
セクタアドレス
"L"
"H"
"L"
"L"
CODE*
*: 保護されたセクタアドレスでの出力は "01H", 保護されていないセクタアドレスでの出力は "00H"
366
第 24 章 2M/3M ビット フラッシュメモリ
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 ハードウェア・シーケンス・フラグのビット割当て
bit
ハードウェア
シーケンスフラグ
7
6
5
4
3
2
1
0
DQ7
DQ6
DQ5
-
DQ3
DQ2
-
-
自動書込み / チップ・セクタ消去が実行中であるかの判断は , ハードウェアシーケンス
フラグを確認するか , フラッシュメモリ制御レジスタ (FMCS) の RDY ビットを確認す
ることで , 書込みが終了しているかを知ることができ , 書込み / 消去終了後は , 読出し /
リセット状態に戻ります。実際にプログラムを作成する際には , いずれかのフラグで自
動書込み / 消去終了を確認後に , データの読出し等の次処理を行ってください。また ,
2 回目以降のセクタ消去コードライトが有効であるかも , ハードウェアシーケンスフラ
グによって確認することができます。事項に各ハードウェアシーケンスフラグの説明
を示します。表 24.6-2 に , ハードウェアシーケンスフラグ機能の一覧を示します。
367
第 24 章 2M/3M ビット フラッシュメモリ
表 24.6-2 ハードウェアシーケンスフラグ機能一覧
DQ7
DQ6
DQ5
DQ3
DQ2
書込み動作→書込
み完了 ( 書込みアド
レス指定時 )
DQ7 →
DATA:7
Toggle →
DATA:6
0→
DATA:5
0→
DATA:3
1→
DATA:2
チップ・セクタ消去
動作→消去完了
0→1
Toggle →
Stop
0→1
1
Toggle →
Stop
セクタ消去ウェイ
ト→消去開始
0
Toggle
0
0→1
Toggle
消去動作→セクタ
消去一時停止 ( 消去
中のセクタ )
0→1
Toggle →
1
0
1→0
Toggle
セクタ消去一時停
止→消去再開 ( 消去
中のセクタ )
1→0
1→
Toggle
0
0→1
Toggle
セクタ消去一時停
止中 ( 消去中でない
セクタ )
DATA:7
DATA:6
DATA:5
DATA:3
DATA:2
DQ7
Toggle
1
0
1
0
Toggle
1
1
*
状態
正常動作時
の状態変化
書込み動作
異常動作
チップ・セクタ消去
動作
*: DQ5 が "1" のとき ( タイミングリミット超過 ) , 書込み / 消去中セクタへの連続的な読 出しに対し
ては DQ2 はトグル動作をし , ほかのセクタへの読出しに対してはトグルしません。
368
第 24 章 2M/3M ビット フラッシュメモリ
データポーリングフラグ (DQ7)
24.6.1
データポーリングフラグ (DQ7) は , 自動アルゴリズム実行が進行中もしくは終了状
態であることをデータポーリング機能によって知らせるためのフラグです。
■ データポーリングフラグ (DQ7)
表 24.6-3 と表 24.6-4 に , データポーリングフラグの状態遷移を示します。
表 24.6-3 データポーリングフラグの状態遷移 ( 正常動作時の状態変化 )
動作状態
書込み動作
→完了
DQ7
チップセク セクタ消去
タ消去
ウェイト
→完了
→開始
DQ7 →
DATA:7
0
0→1
セクタ消去→
消去一時停止
セクタ消去一
時停止→再開
セクタ消去
一時停止中
消去中のセクタ
消去中のセクタ
消去中でないセクタ
0→1
1→0
DATA:7
表 24.6-4 データポーリングフラグの状態遷移 ( 異常動作時の状態変化 )
動作状態
書込み動作
チップ・セクタ
消去動作
DQ7
DQ7
0
● 書込み動作時
自動書込みアルゴリズム実行中にリードアクセスすると , フラッシュメモリはアドレ
スの指し示す番地によらず , 最後に書込まれたデータの bit7 の反転データを出力しま
す。自動書込みアルゴリズム終了時にリードアクセスすると , フラッシュメモリはアド
レスの指し示す番地の読出し値の bit7 を出力します。
● チップ / セクタ消去動作時
チップ消去 / セクタ消去アルゴリズム実行中に , セクタ消去時は現在消去しているセク
タから , チップ消去時はアドレスの指し示す番地に関係なく , リードアクセスするとフ
ラッシュメモリは "0" を出力します。同様に終了時には "1" を出力します。
● セクタ消去一時停止時
セクタ消去一時停止時にリードアクセスすると , フラッシュメモリはアドレスの指し
示す番地が消去中のセクタであれば "1" を出力し , 消去中のセクタでなければアドレス
の指し示す番地の読出し値の bit7(DATA:7) を出力します。トグルビットフラグ (DQ6)
とともに参照することで , 現在セクタ一時停止状態であるか , どのセクタが消去中であ
るかの判定が可能です。
< 注意事項 >
自動アルゴリズム起動時は指定したアドレスへのリードアクセスは無視されます。
データの読出しは , データポーリングフラグ (DQ7) の終了を受けて他のビットの出
力が可能となります。このため自動アルゴリズム終了後のデータの読出しは , デー
タポーリング終了を確認したリードアクセスの次に行うようにしてください。
369
第 24 章 2M/3M ビット フラッシュメモリ
24.6.2
トグルビットフラグ (DQ6)
トグルビットフラグ (DQ6) は , データポーリングフラグと同様に , 主に自動アルゴ
リズム実行が進行中または終了状態であることをトグルビット機能によって知らせ
るためのフラグです。
■ トグルビットフラグ (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) を出力します。
< 参考 >
370
書込みの際 , 書込もうとしているセクタが書き換え保護されているセクタの場合は ,
約 2µs のトグル動作をした後 , データを書き換えることなくトグル動作を終わりま
す。消去の際 , 選択されたすべてのセクタが書き換え保護されている場合トグル
ビットは約 100µs のトグル動作をし , その後データを書き換えないで読出し / リ
セット状態に戻ります。
第 24 章 2M/3M ビット フラッシュメモリ
24.6.3
タイミングリミット超過フラグ (DQ5)
タイミングリミット超過フラグ (DQ5) は , 自動アルゴリズムの実行がフラッシュメ
モリ内部に規定された時間 ( 内部パルス回数 ) を超えてしまったことを知らせるフラ
グです。
■ タイミングリミット超過フラグ (DQ5)
表 24.6-7 と表 24.6-8 に , タイミングリミット超過フラグの状態遷移を示します。
表 24.6-7 タイミングリミット超過フラグの状態遷移 ( 正常動作時の状態変化 )
動作状態
DQ5
書込み動作
→完了
チップセク セクタ消去
タ消去
ウェイト
→完了
→開始
0→
DATA:5
0
0→1
セクタ消去→
消去一時停止
セクタ消去一
時停止→再開
セクタ消去
一時停止中
消去中のセクタ
消去中のセクタ
消去中でないセクタ
0
0
DATA:5
表 24.6-8 タイミングリミット超過フラグの状態遷移 ( 異常動作時の状態変化 )
動作状態
書込み動作
チップ・セクタ
消去動作
DQ5
1
1
● 書込み / チップ・セクタ消去時
書込みまたはチップ・セクタ消去自動アルゴリズム起動後にリードアクセスすると , 規
定時間 ( 書込み / 消去に要する時間 ) 内であれば "0" を , 規定時間を超えてしまってい
る場合は "1" を出力します。これは , 自動アルゴリズムが実行中か終了状態にあるか無
関係ですので , 書込み / 消去が成功したか失敗したかの判定が可能です。すなわち , こ
のフラグが "1" を出力したとき , データポーリング機能もしくはトグルビット機能によ
り自動アルゴリズムがまだ実行中であれば , 書込みが失敗していると判断することが
できます。
例えば , "0" が書き込まれているフラッシュメモリアドレスに "1" を書き込もうとする
とフェイルが発生します。この場合 , フラッシュメモリはロックされ , 自動アルゴリズ
ムは終了しません。まれに "1" が書き込めたように正常終了する場合もあります。し
たがって , データポーリングフラグ (DQ7) から有効なデータが出力されません。また ,
トグルビットフラグ (DQ6) はトグル動作を止めず , タイムリミットを超え , タイミング
リミット超過フラグ (DQ5) は "1" を出力します。この状態はフラッシュメモリが不良
ではなく , 正しく使用されなかったということを表しています。この状態が発生したと
きは , リセットコマンドを実行してください。
371
第 24 章 2M/3M ビット フラッシュメモリ
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) を出力します。
372
第 24 章 2M/3M ビット フラッシュメモリ
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) を出力します。
373
第 24 章 2M/3M ビット フラッシュメモリ
● セクタ消去一時停止時
セクタ消去一時停止中に連続したリードアクセスを行うと , フラッシュメモリはアド
レスの指し示す番地が消去中のセクタに属するならば , "1" と "0" を交互に出力するト
グル状態を出力します。消去中のセクタに属さないのであれば , アドレスの指し示す番
地の読出し値の bit2 (DATA:2) を出力します。
また , セクタ消去一時停止書込み時 , 消去一時停止していないセクタから連続したリー
ドアクセスを行うと , "1" を出力します。
DQ2はDQ6とともに使用し, 消去一時停止中であるかを検出するのに使用します (DQ2
はトグル動作するが , DQ6 はトグル動作しない ) 。
さらに , DQ2 は消去しているセクタの検出にも使用します。消去動作時には , DQ2 は
消去しているセクタからのリードアクセスならばトグル動作をします。
< 参考 >
374
消去の際 , 選択されたすべてのセクタが書き換え保護されている場合トグルビット
2 は約 100µs のトグル動作をし , その後データを書き換えないで読出し / リセット
状態に戻ります。
第 24 章 2M/3M ビット フラッシュメモリ
24.7
フラッシュメモリ書込み / 消去の詳細説明
自動アルゴリズムを起動するコマンドを発行し , フラッシュメモリに読出し / リセッ
ト , 書込み , チップ消去 , セクタ消去 , セクタ消去一時停止およびセクタ消去再開の
それぞれの動作を行う手順を説明します。
■ フラッシュメモリ書込み / 消去の詳細説明
フラッシュメモリは読出し / リセット , 書込み , チップ消去 , セクタ消去 , セクタ消去
一時停止 , 消去再開の動作がコマンドシーケンス (「24.5 フラッシュメモリ自動アルゴ
リズム起動方法」の表 24.5-1 を参照 ) のバスへのライトサイクルを行うことで自動ア
ルゴリズムを実行することが可能です。それぞれのバスへのライトサイクルは必ず続
けて行う必要があります。また , 自動アルゴリズムはデータポーリング機能等で終了時
を知ることができます。正常終了後は読出し / リセット状態に戻ります。
フラッシュメモリの各動作について , 次項より下記の順に示します。
• 読出し / リセット状態にする
• データを書込む
• データを消去する ( チップ全消去 )
• 全データを消去する ( セクタ消去 )
• セクタ消去を一時停止する
• セクタ消去を再開する
375
第 24 章 2M/3M ビット フラッシュメモリ
24.7.1
読出し / リセット状態にする
読出し / リセットコマンドを発行し , フラッシュメモリを読出し / リセット状態にす
る手順について説明します。
■ フラッシュメモリを読出し / リセット状態にする
フラッシュメモリを読出し / リセット状態にするには , コマンドシーケンス表 (「24.5
フラッシュメモリ自動アルゴリズム起動方法」の表 24.5-1 を参照 ) の読出し / リセット
コマンドを , フラッシュメモリ内の対象セクタに続けて送ることで実行可能です。
読出し / リセットコマンドには , 1 回と 3 回のバス動作を行う 2 とおりのコマンドシー
ケンスがありますが , これらの本質的な違いはありません。
読出し / リセット状態はフラッシュメモリの初期状態であり , 電源投入時 , コマンドの
正常終了時は常に読出し / リセット状態になります。読出し / リセット状態はほかのコ
マンドの入力待ち状態です。
読出し/リセット状態では通常のリードアクセスでデータを読み出せます。マスクROM
と同様に CPU からのプログラムアクセスが可能です。通常読出しでのデータ読出しに
このコマンドは必要ありません , 何らかの理由でコマンドが正常に終了しなかったと
きなど , 自動アルゴリズムを初期化する場合に主にこのコマンドを使用します。
376
第 24 章 2M/3M ビット フラッシュメモリ
24.7.2
データを書込む
書込みコマンドを発行し , フラッシュメモリにデータを書込む手順について説明し
ます。
■ フラッシュメモリにデータを書込む
フラッシュメモリの , データ書込み自動アルゴリズムを起動するには , コマンドシーケ
ンス表 (「24.5 フラッシュメモリ自動アルゴリズム起動方法」の表 24.5-1 を参照 ) の書
込みコマンドを , フラッシュメモリ内の対象セクタに続けて送ることで実行可能です。
4 サイクル目に目的のアドレスへのデータライトが終了した時点で , 自動アルゴリズム
が起動され自動書込みが開始します。
● アドレス指定方法
書込みデータサイクルの中で指定する書込みアドレスは , 偶数アドレスのみが可能で
す。奇数アドレスを指定すると正しく書き込むことができません。つまり , 偶数アドレ
スへのワードデータ単位での書込みが必要となります。
書込みはどのようなアドレスの順番でも , また , セクタの境界を超えても可能ですが ,
1 回の書込みコマンドによって書込まれるデータは 1 ワードのみです。
● データ書込み上の注意
書込みによって , データ "0" をデータ "1" に戻すことはできません。データ "0" にデー
タ "1" を書込むと , データポーリングアルゴリズム (DQ7) またはトグル動作 (DQ6) が
終了せず , フラッシュメモリ素子が不良と判定され , 書込み規定時間を超えタイミング
リミット超過フラグ (DQ5) がエラーと判定するか , あるいは見かけ上データ "1" が書込
まれたように見えるかのどちらかとなります。しかし , 読出し / リセット状態でデータ
を読み出すとデータは "0" のままです。消去動作のみが "0" データを "1" にすることが
できます。
自動書込み実行中はすべてのコマンドが無視されます。書込み中にハードウェアリ
セットが起動されると , 書込んでいるアドレスのデータは保証されませんので注意が
必要です。
377
第 24 章 2M/3M ビット フラッシュメモリ
■ フラッシュメモリの書込み手順
図 24.7-1 に , フラッシュメモリの書込み手順の例を示します。ハードウェア・シーケ
ンス・フラグ (「24.6 自動アルゴリズム実行状態の確認」を参照 ) を用いることでフ
ラッシュメモリ内部の自動アルゴリズムの状態判定が可能です。ここでは , 書込み終了
の確認にデータポーリングフラグ (DQ7) を用いています。
フラグチェックのために読み込むデータは , 最後に書込みを行ったアドレスからの読
込みとなります。
データポーリングフラグ (DQ7) は , タイミングリミット超過フラグフラグ (DQ5) と同
時に変わるので , たとえタイミングリミット超過フラグ (DQ5) が "1" であってもデータ
ポーリングフラグビット (DQ7) は再チェックする必要があります。
トグルビットフラグ (DQ6) でも同様にタイミングリミット超過フラグビット (DQ5) が
"1" に変わるのと同時にトグル動作を止めるので , トグルビットフラグ (DQ6) を再
チェックする必要があります。
378
第 24 章 2M/3M ビット フラッシュメモリ
図 24.7-1 フラッシュメモリ書込み手順の例
書込み開始
FMCS:WE (bit5)
フラッシュメモリ書込み許可
書込みコマンドシーケンス
(1) FxAAAA ← XXAA
(2) Fx5554 ← XX55
(3) FxAAAA ← XXA0
(4) 書込みアドレス←書込みデータ
内部アドレスリード
データポーリング
(DQ7)
次アドレス
Data
Data
0
タイミングリミット
(DQ5)
1
内部アドレスリード
Data
データポーリング
(DQ7)
Data
書込みエラー
最終アドレス
NO
YES
FMCS:WE ( ビット 5)
フラッシュメモリ書込み禁止
書込み完了
ハードウェア・シーケンス・
フラグによる確認
379
第 24 章 2M/3M ビット フラッシュメモリ
24.7.3
全データを消去する ( チップ消去 )
チップ消去コマンドを発行し , フラッシュメモリの全データを消去する手順につい
て説明します。
■ フラッシュメモリの全データを消去する ( チップ消去 )
フラッシュメモリからすべてのデータを消去するには , コマンドシーケンス表 (「24.5
フラッシュメモリ自動アルゴリズム起動方法」の表 24.5-1 を参照 ) のチップ消去コマ
ンドを , フラッシュメモリ内の対象セクタに続けて送ることで実行可能です。
チップ消去コマンドは 6 回のバス動作で行われます , 6 サイクル目の書込みが完了した
時点でチップ消去動作が開始します。チップ消去では , 消去前にユーザがフラッシュメ
モリに書込みを行う必要はありません。自動消去アルゴリズム実行中には , フラッシュ
メモリは自動的にすべてのセルを消去する前に "0" を書き込んで検証します。
380
第 24 章 2M/3M ビット フラッシュメモリ
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) と
同時に変わるので , データポーリングフラグ (DQ7) を再チェックする必要があります。
381
第 24 章 2M/3M ビット フラッシュメモリ
図 24.7-2 フラッシュメモリのセクタ消去手順の例
消去開始
FMCS:WE (bit5)
フラッシュメモリ消去許可
消去コマンドシーケンス
(1) FxAAAA ← XXAA
(2) Fx5554 ← XX55
(3) FxAAAA ← XX80
(4) FxAAAA ← XXAA
(5) Fx5554 ← XX55
(6) 消去セクタへコード入力 (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 (bit5)
フラッシュメモリ消去禁止
消去完了
382
ハードウェア・シーケンス・
フラグによる確認
第 24 章 2M/3M ビット フラッシュメモリ
24.7.5
セクタ消去を一時停止する
セクタ消去一時停止コマンドを発行し , フラッシュメモリセクタ消去の一時停止を
行う手順について説明します。消去中でないセクタから , データを読み出すことが
可能です。
■ フラッシュメモリのセクタ消去を一時停止する
フラッシュメモリのセクタ消去を一時停止するには , コマンドシーケンス表 (「24.5 フ
ラッシュメモリ自動アルゴリズム起動方法」の表 24.5-1 を参照 ) のセクタ消去一時停
止コマンドを , フラッシュメモリ内に送ることで実行可能です。
セクタ消去一時停止コマンドは , セクタ消去中に , 消去を一時停止し消去中でないセク
タからのデータ読出しを可能にするものです。この状態では読出しのみが可能で書込
みはできません。このコマンドは消去ウェイト時間を含むセクタ消去中のみ有効で ,
チップ消去中や書込み動作中は無視されます。
消去一時停止コード (B0H) のライトを行うことで実施されますが , このときアドレスは
フラッシュメモリ内の任意のアドレスを指すようにします。消去一時停止での再度の
消去一時停止コマンドは無視されます。
セクタ消去ウェイト期間中に , セクタ消去一時停止コマンドが入力されると , 直ちにセ
クタ消去ウェイトを終了し , 消去動作を中断して消去停止状態になります。セクタ消去
ウェイト期間後のセクタ消去動作中に消去一時停止コマンドが入力されると , 最大 20µs
の時間の後 , 消去一時停止状態に入ります。
セクタ消去一時停止コマンドは , セクタ消去
コマンドあるいはセクタ消去再開コマンド発行後 , 20µs 以上後に行ってください。
383
第 24 章 2M/3M ビット フラッシュメモリ
24.7.6
セクタ消去を再開する
セクタ消去再開コマンドを発行し , 一時停止したフラッシュメモリセクタ消去を再
開する手順について説明します。
■ フラッシュメモリのセクタ消去を再開する
一時停止したセクタ消去を再開させるには , コマンドシーケンス表 (「24.5 フラッシュ
メモリ自動アルゴリズム起動方法」の表 24.5-1 を参照 ) のセクタ消去再開コマンドを ,
フラッシュメモリ内に続けて送ることで実行可能です。
セクタ消去再開コマンドは , セクタ消去一時停止コマンドによるセクタ消去一時停止
状態から , セクタ消去を再開するためのコマンドです。このコマンドは消去再開コード
(30H) のライトを行うことで実施されますが , このときのアドレスはフラッシュメモリ
領域内の任意のアドレスを指すようにします。
なお , セクタ消去中のセクタ消去再開コマンドの発行は無視されます。
384
第 24 章 2M/3M ビット フラッシュメモリ
24.8
2M/3M ビットフラッシュメモリ使用上の注意
2M/3M ビットフラッシュメモリに関する注意を以下に示します。
■ フラッシュメモリ使用上の注意
● ハードウェアリセット (RST) の入力
読出し中で自動アルゴリズムが起動していないときに , ハードウェアリセットを入力
するには , "L" レベル幅として最低 500ns をとる必要があります。この場合 , ハードウェ
アリセット起動後フラッシュメモリからデータを読み出すまでに , 最低 500ns が必要と
なります。
同様に , 書込み / 消去中で自動アルゴリズムが起動しているときに , ハードウェアリ
セットを入力するには , "L" レベル幅として最低 500ns をとる必要があります。この場
合 , フラッシュメモリを初期化するために実行中の動作を停止した後データを読み出
すまでに , 20µs が必要となります。
書込み中にハードウェアリセットすると , 書き込まれているデータは不定となります。
消去中のハードウェアリセットや電源切断により , 消去されているセクタは使用不可
となる可能性があります。
● ソフトウェアリセット , ウォッチドッグタイマリセット , ハードウェアスタンバイの取消し
CPU アクセスでフラッシュメモリを書込み / 消去時に , 自動アルゴリズムがアクティブ
状態でリセット条件が発生した場合 , CPU が暴走する可能性があります。それは , これ
らのリセット条件により , フラッシュメモリユニットが初期化されずに自動アルゴリ
ズムが続行し , リセット離脱後に CPU がシーケンスを開始したときフラッシュメモリ
ユニットが読出し状態になることが妨げられる可能性があるためです。これらのリ
セット条件は , フラッシュメモリの書込み / 消去中に禁止されている必要があります。
● フラッシュメモリへのプログラムアクセス
自動アルゴリズム動作中は , フラッシュメモリへの読出しアクセスは禁止されます。
CPU のメモリアクセスモードが内蔵 ROM モードにセットされている場合 , プログラム
領域を RAM などの別の領域に切換え後 , 書込み / 消去を開始する必要があります。こ
の場合 , 割込みベクタを含むセクタ (SA6/SA11) が消去されると , 書込み / 消去割込み
処理を実行できません。
同じ理由で , 自動アルゴリズム動作中は , フラッシュメモリ以外のその他すべての割込
みソースは無効となります。
● 拡張インテリジェント I/O サービス (EI2OS)
フラッシュメモリインタフェース回路から CPU に発行された書込み / 消去割込みは ,
EI2OS には受付不可能であり , 使用できません。
● VID の適用
セクタプロテクト動作に必要な VID の印加は , 電源がオンのとき開始し , 終了する必要
があります。
385
第 24 章 2M/3M ビット フラッシュメモリ
24.9
フラッシュメモリにおけるリセットベクタアドレス
MB90F594A, MB90F594G, MB90F591A および MB90F951G は , ハードワイヤード
リセットベクタをサポートします。
内部ベクタモードでのアドレス FFFFDCH ∼ FFFFDFH へのすべての読出しアクセ
スは , ハードワイヤードロジックにより事前に決められた値を読み出すことになり
ます。しかし , フラッシュメモリモードでは , 前節で述べたようにこれらのアドレス
のアクセスが可能です。
このため , これらのアドレスへの書込みは意味がありません。特に ( フラッシュメモ
リモードではなく ) CPU アクセスでフラッシュメモリをプログラミングするとき ,
ソフトウェアポーリング用にこれらのアドレスを読み出さないように注意してくだ
さい。さもなければ , フラッシュメモリはハードウェアシーケンスフラグ値の代わ
りに固定リセットベクタ値を返します。
■ フラッシュメモリにおけるリセットベクタアドレス
次の表に , リセットベクタとモードデータの事前に決められた値を示します。
< 注意事項 >
386
リセットベクタ
FFA000H
モードデータ
00H
リセットベクタとモードデータは事前に決められた値が設定されていますので , フ
ラッシュメモリに書き込むプログラムの中のリセットベクタ値とモードデータ値は
動作に影響を与えませんが , 同一のプログラムをマスク ROM 品で使用した場合 ,
異なる動作をする可能性がありますので , フラッシュメモリにも同一の値を書き込
むことを推奨します。
第 24 章 2M/3M ビット フラッシュメモリ
24.10
2M ビットフラッシュメモリのプログラム例
ここでは , 2M ビットフラッシュメモリのプログラム例を掲載します。
■ 2M ビットフラッシュメモリのプログラム例
NAME FLASHWE
TITLE FLASHWE
;------------------------------------------------------------------------;2M ビット -FLASH サンプルプログラム
;
;1: FLASH にあるプログラム ( アドレス FFBC00H セクタ SA5) を RAM( アドレス 001500H) に
;
転送する。
;2: RAM 上でプログラムを実行する。
;3: PDR1 の値を FLASH( アドレス FD0000H セクタ SA1) に書込む。
;4: 書込んだ値 ( アドレス FD0000H セクタ SA1) を読出し PDR2 に出力する。
;5: 書込んだセクタ (SA1) を消去する。
;6: 消去データ確認の出力
; 条件
;
;
・RAM 転送バイト数 : 100H(256B)
・書込み , 消去の終了判定
;
DQ5( タイミングリミット超過フラグ ) での判定
;
DQ6( トグルビットフラグ ) での判定
;
RDY(FMCS) での判定
;
・エラー時の処理
P00 ∼ P07 に "H" を出力する
;
;
リセットコマンド発行
;-------------------------------------------------------------------------;
RESOUS IOSEG
ABS=00
PDR0
PDR1
PDR2
PDR3
ORG
RB
RB
RB
RB
0000H
1
1
1
1
DDR0
DDR1
DDR2
DDR3
ORG
RB
RB
RB
RB
0010H
1
1
1
1
CKSCR
ORG
RB
00A1H
1
;"RESOUS"I/O セグメントの定義
387
第 24 章 2M/3M ビット フラッシュメモリ
FMCS
ORG
RB
00AEH
1
ORG
ROMM
RB
RESOUS ENDS
;
SSTA
SSEG
006FH
1
RW
RW
ENDS
0127H
1
DSEG
ABS=0FFH
STA_T
SSTA
;
DATA
ORG
COMADR2 RW
;FLASH コマンドアドレス
5554H
1
ORG
0AAAAH
COMADR1 RW
1
DATA
ENDS
;/////////////////////////////////////////////////////////////
; メインプログラム (FFA000H)
;/////////////////////////////////////////////////////////////
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(1500H 番地 ) に "FLASH 書込み消去プログラム (FFBCOOH)" を転送する
;
//////////////////////////////////////////////////////////////
;
388
MOVW
A,#1500H
; 転送先 RAM 領域
MOVW
A,#0BC00H
; 転送元アドレス ( プログラムのある位置 )
MOVW
RW0,#100H
; 転送するバイト数
MOVS
ADB,PCB
;FFBC00H から 001500H へ 100H 転送
CALLP 001500H
; 転送したプログラムのあるアドレスへジャンプ
/////////////////////////////////////////////////////
第 24 章 2M/3M ビット フラッシュメモリ
;
;
OUT
データ出力
/////////////////////////////////////////////////////
MOV
A,#0FDH
MOV
ADB,A
MOVW
RW2,#0000H
MOVW
A,@RW2+00
MOV
PDR2,A
END
JMP *
CODE
ENDS
;////////////////////////////////////////////////////////////
;FLASH 書込み消去プログラム (SA5)
;////////////////////////////////////////////////////////////
RAMPRG CSEG
ABS=0FFH
ORG
0BC00H
;
////////////////////////////////////////////
;
;
初期化
////////////////////////////////////////////
MOVW
RW0,#0500H
;RW0: 入力データ確保用 RAM 空間 00:0500 ∼
MOVW
RW2,#0000H
;RW2: フラッシュメモリ書込みアドレス FD:0000 ∼
MOV
A,#00H
;DTB 変更
MOV
DTB,A
;@RW0 用バンク指定
MOV
A,#0FDH
;ADB 変更 1
MOV
ADB,A
; 書込みモード指定アドレス用バンク指定
MOV
PDR3,#00H
; スイッチ初期化
MOV
DDR3,#00H
;
WAIT1 BBC
PDR3:0,WAIT1 ;PDR3:0 "H" で書込みスタート
;
;////////////////////////////////////////////////
; 書込み (SA1)
;////////////////////////////////////////////////
MOV
A,PDR1
MOVW
@RW0+00,A
;RAM に PDR1 データを確保
MOV
FMCS,#20H
; 書込みモード設定
MOVW
ADB:COMADR1,#00AAH
; フラッシュ書込みコマンド 1
MOVW
ADB:COMADR2,#0055H
; フラッシュ書込みコマンド 2
MOVW
ADB:COMADR1,#00A0H
; フラッシュ書込みコマンド 3
MOVW
A,@RW0+00
; 入力データ (RW0) をフラッシュメモリ (RW2)
;
に書き込む
;
MOVW
@RW2+00,A
;
WRITE
; 待ち時間チェック
///////////////////////////////////////////////////////////////////
;
;
タイムリミット超過チェック - フラグが立ちトグル動作中であるとき ERROR
///////////////////////////////////////////////////////////////////
MOVW
A,@RW2+00
AND
A,#20H
;DQ5 タイムリミットチェック
389
第 24 章 2M/3M ビット フラッシュメモリ
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 へ
///////////////////////////////////////
;
;
NTOW
書込み終了チェック (FMCS-RDY)
///////////////////////////////////////
MOVW
A,FMCS
AND
A,#10H
;FMCS RDY ビット (4 ビット ) 抽出
BZ
WRITE
; 書込み終了か ?
;
MOV
FMCS,#00H
; 書込みモード解除
/////////////////////////////////////////////////////
;
;
書込みデータ出力
/////////////////////////////////////////////////////
MOVW
RW2,#0000H
MOVW
A,@RW2+00
MOV
PDR2,A
; 書込みデータ出力
;
WAIT2 BBC
PDR3:1,WAIT2
;PDR3:1 "H" でセクタ消去スタート
;
;/////////////////////////////////////////////
; セクタ消去 (SA1)
;/////////////////////////////////////////////
MOV
@RW2+00,#0000H
; アドレス初期化
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
ELS
;
; 待ち時間チェック
///////////////////////////////////////////////////////////////////
;
;
タイムリミット超過チェック - フラグが立ちトグル動作中であるとき ERROR
///////////////////////////////////////////////////////////////////
MOVW
A,@RW2+00
AND
A,#20H
;DQ5 タイムリミットチェック
BZ
NTOE
; タイムリミットオーバ
MOVW
A,@RW2+00
;AH 書込み動作中は , DQ6 から
MOVW
A,@RW2+00
;AL リードごと "H" "L" が交互出力される
XORW
A
;AH と AL の XOR(DQ6 の値が違えば "1" 書込み動作
中である )
;
390
AND
A,#40H
;DQ6 トグルビットは "H" か
BNZ
ERROR
;"H" なら ERROR へ
第 24 章 2M/3M ビット フラッシュメモリ
;
///////////////////////////////////////
;
;
NTOE
消去終了チェック (FMCS-RDY)
///////////////////////////////////////
MOVW
A,FMCS
;
AND
A,#10H
;FMCS RDY ビット (4 ビット ) 抽出
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
VECT
;
ORG
0FFDCH
DSL
START
DB
ENDS
00H
391
第 24 章 2M/3M ビット フラッシュメモリ
392
第 25 章
MB90F594A/MB90F594G/
MB90F591A/MB90F591G
シリアル書込み接続例
横河ディジタルコンピュータ株式会社製 AF220/
AF210/AF120/AF110 フラッシュマイコンプログラ
マを用いた場合のシリアル書込み接続例について
説明します。
25.1 MB90F594A/MB90F594G/MB90F591A/MB90F591G
シリアル書込み接続の基本構成
25.2 シリアル書込み接続例 ( ユーザ電源使用時 )
25.3 シリアル書込み接続例 ( ライタから電源供給時 )
25.4 フラッシュマイコンプログラマとの最小限の接続例
( ユーザ電源使用時 )
25.5 フラッシュマイコンプログラマとの最小限の接続例
( ライタから電源供給時 )
393
第 25 章 MB90F594A/MB90F594G/MB90F591A/MB90F591G シリアル書込み接続例
25.1
MB90F594A/MB90F594G/MB90F591A/MB90F591G
シリアル書込み接続の基本構成
MB90F594A/MB90F594G/MB90F591A/MB90F591G では , フラッシュ ROM のシリ
アルオンボード書込み ( 富士通標準 ) をサポートしています。その仕様について以下
に説明します。
■ MB90F594A/MB90F594G/MB90F591A/MB90F591G
シリアル書込み接続の基本構成
富士通標準シリアルオンボード書込みには , 横河ディジタルコンピュータ株式会社製
AF220/AF210/AF120/AF110 フラッシュマイコンプログラマを使用します。
図 25.1-1 MB90F594A/MB90F594G/MB90F591A/MB90F591G シリアル書込み接続の基本構成
ホストインタフェースケーブル (AZ201)
汎用共通ケーブル (AZ210)
RS232C
AF220/AF210/
AF120/AF110
MB90F594A/
CLK 同期シリアル MB90F594G/
フラッシュ
MB90F591A/
マイコン
MB90F591G
プログラマ
+
ユーザシステム
メモリカード
スタンドアロンで動作可能
< 注意事項 >
394
AF220/AF210/AF120/AF110 フラッシュマイコンプログラマの機能・操作方法およ
び接続用汎用共通ケーブル (AZ210), コネクタにつきましては , 横河ディジタルコン
ピュータ株式会社にお問い合わせください。
第 25 章 MB90F594A/MB90F594G/MB90F591A/MB90F591G シリアル書込み接続例
表 25.1-1 富士通標準シリアルオンボード書込みに使用する端子
端子
機能
補足説明
モード端子
フラッシュマイコンプログラマから , 書込み
モードに制御します。
X0, X1
発振用端子
書込みモード時に, CPU内部動作クロックはPLL
クロック 1 逓倍となっています。したがって , 発
振クロック周波数が , 内部動作クロックとなり
ます。
P00, P01
書込みプログラム起動端子
P00 に "L" レベル , P01 に "H" レベルを入力して
ください。
RST
リセット端子
SIN3
シリアルデータ入力端子
SOT3
シリアルデータ出力端子
SCK3
シリアルクロック入力端子
C
C 端子
電源安定化の容量端子です。外部に 0.1µF 程度
のセラミックコンデンサを接続してください。
VCC
電源電圧供給端子
書込み電圧 (5V±10%) をユーザシステムから供
給する場合にはフラッシュマイコンプログラマ
との接続は必要ありません。接続時にはユーザ
側の電源と短絡しないようにしてください。
VSS
GND 端子
フラッシュマイコンプログラマのGNDと共通に
します。
HST
ハードウェアスタンバイ端子
シリアル書込みモード中は "H" レベルを入力し
てください。
MD2, MD1, MD0
-
シリアル I/O を使用します。
P00, SIN3, SOT3, SCK3 端子をユーザシステムでも使用する場合には , 下図の制御回路
が必要となります。フラッシュマイコンプログラマの /TICS 信号により , シリアル書込
み中はユーザ回路を切り離すことができます。
「25.2 シリアル書込み接続例 ( ユーザ電源使用時 )」∼「25.5 フラッシュマイコンプロ
グラマとの最小限の接続例 ( ライタから電源供給時 )」に , 以下のシリアル書込み接続
例を示しますので参照してください。
図 25.1-2 制御回路
AF220/AF210/AF120/AF110
書込み制御端子
MB90F594A/
MB90F594G/
MB90F591G
書込み制御端子
10kΩ
AF220/AF210/AF120/
AF110
/TICS 端子
ユーザ回路
• シリアル書込み接続例 ( ユーザ電源使用時 )
• シリアル書込み接続例 ( ライタから電源供給時 )
• フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 )
395
第 25 章 MB90F594A/MB90F594G/MB90F591A/MB90F591G シリアル書込み接続例
• フラッシュマイコンプログラマとの最小限の接続例 ( ライタから電源供給時 )
表 25.1-2 フラッシュマイコンプログラマのシステム構成 ( 横河ディジタルコンピュータ株式会社製 )
型格
機能
AF220/ACAP
AF210/ACAP
本
体 AF120/ACAP
AF110/ACAP
イーサネットインタフェース内蔵モデル /100V ∼ 220V 電源アダプタ
スタンダードモデル /100V ∼ 220V 電源アダプタ
単キーイーサネットインタフェース内蔵モデル /100V ∼ 220V 電源アダプタ
単キーモデル /100V ∼ 220V 電源アダプタ
AZ221
ライタ専用 PC/AT 用 RS232C ケーブル
AZ210
標準ターゲットプローブ (a) 長さ :1m
FF201
富士通製 F2MC-16LX フラッシュマイコン用コントロールモジュール
AZ290
リモートコントローラ
/P2
2M バイト PC Card ( オプション ) フラッシュメモリ容量∼ 128K バイト対応
/P4
4M バイト PC Card ( オプション ) フラッシュメモリ容量∼ 512K バイト対応
問い合せ先 : 横河ディジタルコンピュータ株式会社
電話 :042-333-6224
< 注意事項 >
AF200 フラッシュマイコンプログラマは終息製品ですが , コントロールモジュール
FF201 を用いることにより使用できます。シリアル書込み接続例を「25.2 シリア
ル書込み接続例 ( ユーザ電源使用時 )」以降に示します。
■ 発振クロック周波数とシリアルクロック入力周波数
MB90F594A/MB90F594G/MB90F591A/MB90F591G の入力可能なシリアルクロック周波
数は , 以下の計算式により求めることができます。ご使用の発振クロック周波数に合わ
せて , シリアルクロック入力周波数をフラッシュマイコンプログラマに設定してくだ
さい。
入力可能なシリアルクロック周波数 =0.125 ×発振クロック周波数
表 25.1-3 入力可能なシリアルクロック周波数の例
発振クロック マイコンの入力可能な最大
周波数
シリアルクロック周波数
AF220/AF210/AF120/
AF110 の設定可能な最大
シリアルクロック周波数
AF200 の設定可能な最大
シリアルクロック周波数
4MHz 時
500kHz
500kHz
500kHz
8MHz 時
1MHz
850kHz
500kHz
16MHz 時
2MHz
1.25MHz
500kHz
396
第 25 章 MB90F594A/MB90F594G/MB90F591A/MB90F591G シリアル書込み接続例
25.2
シリアル書込み接続例 ( ユーザ電源使用時 )
図 25.2-1 に , マイコンの電源電圧をユーザ電源より供給する場合の , シリアル書込
み接続例を示します。なお , モード端子 MD2, MD0 には , AF220/AF210/AF120/
AF110 の TAUX3, TMODE より , MD2=1, MD0=0 が入力されます。
シリアル書換えモード :MD2, MD1, MD0=110B
■ シリアル書込み接続例 ( ユーザ電源使用時 )
図 25.2-1 MB90F594A/MB90F594G/MB90F591A/MB90F591G シリアル書込み接続例
( ユーザ電源使用時 )
ユーザシステム
AF220/AF210/AF120/AF110
フラッシュマイコン
プログラマ
TAUX3
MB90F594A/MB90F594G/
MB90F591A/MB90F591G
コネクタ
DX10-28S
MD2
(19)
10kΩ
10kΩ
MD1
10kΩ
TMODE
MD0
X0
(12)
X1
TAUX
(23)
/TICS
(10)
P00
10kΩ
ユーザ
ユーザ
10kΩ
HST
10kΩ
10kΩ
/TRES
RST
(5)
10kΩ
P01
C
ユーザ
0.1µF
TTXD
TRXD
TCK
(13)
(27)
(6)
TVcc
(2)
SIN3
SOT3
SCK3
VCC
ユーザ電源
GND
(7,8,
14,15.
21,22
1,28)
VSS
14 ピン
3, 4, 9, 11, 16, 17, 18, 20,
24, 25, 26 ピンは開放
DX10-28S: ライトアングルタイプ
1 ピン
DX10-28S
28 ピン
15 ピン
コネクタ ( ヒロセ電機製 ) のピン配列
397
第 25 章 MB90F594A/MB90F594G/MB90F591A/MB90F591G シリアル書込み接続例
• SIN3, SOT3, SCK3 端子をユーザシステムでも使用する場合には , P00 と同様下図の
制御回路が必要となります ( フラッシュマイコンプログラマの /TICS 信号により , シ
リアル書込み中はユーザ回路を切り離すことができます ) 。
• AF220/AF210/AF120/AF110 との接続はユーザ電源が OFF の状態で行ってください。
図 25.2-2 制御回路
AF220/AF210/AF120/AF110
書込み制御端子
10kΩ
AF220/AF210/AF120/
AF110
/TICS 端子
MB90F594A/
MB90F594G/
MB90F591A/
MB90F591G
書込み制御端子
ユーザ回路
398
第 25 章 MB90F594A/MB90F594G/MB90F591A/MB90F591G シリアル書込み接続例
25.3
シリアル書込み接続例 ( ライタから電源供給時 )
図 25.3-1 に , マイコンの電源電圧をライタ電源より供給する場合の , シリアル書込み
接続例を示します。なお , モード端子 MD2, MD0 には , AF220/AF210/AF120/AF110
の TAUX3, TMODE より , MD2=1, MD0=0 が入力されます。
シリアル書換えモード :MD2, MD1, MD0=110B
■ シリアル書込み接続例 ( ライタから電源供給時 )
図 25.3-1 MB90F594A/MB90F594G/MB90F591A/MB90F591G シリアル書込み接続例
( ライタから電源供給時 )
AF220/AF210/AF120/AF110
フラッシュマイコン
プログラマ
TAUX3
ユーザシステム
コネクタ
DX10-28S
MB90F594A/MB90F594G/
MB90F591A/MB90F591G
MD2
(19)
10kΩ
10kΩ
MD1
10kΩ
TMODE
MD0
X0
(12)
X1
TAUX
(23)
/TICS
(10)
P00
10kΩ
ユーザ回路
ユーザ
10kΩ
HST
10kΩ
/TRES
10kΩ
RST
(5)
10kΩ
P01
C
ユーザ
0.1µF
TTXD
TRXD
TCK
TVcc
Vcc
TVPP1
GND
(13)
(27)
(6)
(2)
(3)
(16)
(7,8,
14,15.
21,22
1,28)
SIN3
SOT3
SCK3
VCC
ユーザ電源
VSS
14 ピン
1 ピン
4, 9, 11, 17, 18, 20,
DX10-28S
24, 25, 26 ピンは開放
DX10-28S: ライトアングルタイプ
28 ピン
15 ピン
コネクタ ( ヒロセ電機製 ) のピン配列
399
第 25 章 MB90F594A/MB90F594G/MB90F591A/MB90F591G シリアル書込み接続例
• SIN3, SOT3, SCK3 端子をユーザシステムでも使用する場合には , P00 と同様下図の
制御回路が必要となります ( フラッシュマイコンプログラマの /TICS 信号により , シ
リアル書込み中はユーザ回路を切り離すことができます ) 。
• AF220/AF210/AF120/AF110 との接続はユーザ電源が OFF の状態で行ってください。
• 書込み電源をAF220/AF210/AF120/AF110から供給する時はユーザ電源と短絡しない
でください。
図 25.3-2 制御回路
AF220/AF210/AF120/AF110
書込み制御端子
10kΩ
AF220/AF210/AF120/
AF110
/TICS 端子
MB90F594A/
MB90F594G/
MB90F591A/
MB90F591G
書込み制御端子
ユーザ回路
400
第 25 章 MB90F594A/MB90F594G/MB90F591A/MB90F591G シリアル書込み接続例
25.4
フラッシュマイコンプログラマとの最小限の接続例
( ユーザ電源使用時 )
図 25.4-1 に , マイコンの電源電圧をユーザ電源より供給する場合の , フラッシュマ
イコンプログラマとの最小限の接続例を示します。
シリアル書換えモード :MD2, MD1, MD0=110B
■ フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 )
フラッシュメモリ書込み時に, 各端子を下記のように設定して頂ければ, MD2, MD1, MD0,
P00 とフラッシュマイコンプログラマとの接続は必要ありません。
図 25.4-1 フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 )
AF220/AF210/AF120/AF110 ユーザシステム
フラッシュマイコン
シリアル書換え時 1
プログラマ
10kΩ
MB90F594A/MB90F594G/
MB90F591A/MB90F591G
MD2
シリアル
書換え時 1
10kΩ
10kΩ
MD1
10kΩ
10kΩ
MD0
シリアル書換え時 0
10kΩ
X0
X1
シリアル
書換え時 0
P00
10kΩ
10kΩ
ユーザ回路
シリアル
書換え時 1 10kΩ
コネクタ
DX10-28S
/TRES
TTXD
TRXD
TCK
TVcc
(5)
(13)
(27)
(6)
(2)
GND
(7,8,
14,15,
21,22,
1,28)
P01
ユーザ回路
HST
C
0.1µF
10kΩ
RST
SIN3
SOT3
SCK3
VCC
ユーザ電源
VSS
14 ピン
3, 4, 9, 10, 11, 12, 16, 17, 18, 19,
20, 23, 24, 25, 26 ピンは開放
DX10-28S:ライトアングルタイプ
1 ピン
DX10-28S
28 ピン
15 ピン
コネクタ ( ヒロセ電機製 ) のピン配列
401
第 25 章 MB90F594A/MB90F594G/MB90F591A/MB90F591G シリアル書込み接続例
• SIN3, SOT3, SCK3 端子をユーザシステムでも使用する場合には , 下図の制御回路が
必要となります ( フラッシュマイコンプログラマの /TICS 信号により , シリアル書
込み中はユーザ回路を切り離すことができます ) 。
• AF220/AF210/AF120/AF110 との接続はユーザ電源が OFF の状態で行ってください。
図 25.4-2 制御回路
AF220/AF210/AF120/AF110
書込み制御端子
10kΩ
AF220/AF210/AF120/
AF110
/TICS 端子
MB90F594A/
MB90F594G/
MB90F591A/
MB90F591G
書込み制御端子
ユーザ回路
402
第 25 章 MB90F594A/MB90F594G/MB90F591A/MB90F591G シリアル書込み接続例
25.5
フラッシュマイコンプログラマとの最小限の接続例
( ライタから電源供給時 )
図 25.5-1 に , マイコンの電源電圧をライタ電源より供給する場合の , フラッシュマ
イコンプログラマとの最小限の接続例を示します。
シリアル書換えモード :MD2, MD1, MD0=110B
■ フラッシュマイコンプログラマとの最小限の接続例 ( ライタから電源供給時 )
フラッシュメモリ書込み時に各端子を下記のように設定して頂ければ , MD2, MD1, MD0,
P00 とフラッシュマイコンプログラマとの接続は必要ありません。
図 25.5-1 フラッシュマイコンプログラマとの最小限の接続例 ( ライタから電源供給時 )
AF220/AF210/AF120/AF110 ユーザシステム
フラッシュマイコン
シリアル書換え時 1
プログラマ
MB90F594A/MB90F594G/
MB90F591A/MB90F591G
10kΩ
MD2
シリアル書換え時 1
10kΩ
10kΩ
MD1
10kΩ
10kΩ
MD0
シリアル書換え時 0
10kΩ
X0
X1
P00
10kΩ
シリアル書換え時 0
10kΩ
ユーザ回路
P01
シリアル書換え時 1
10kΩ
コネクタ
DX10-28S
/TRES
TTXD
TRXD
TCK
TVcc
GND
(5)
(13)
(27)
(6)
(2)
(3)
(16)
(7,8,
14,15,
21,22,
1,28)
ユーザ回路
HST
C
0.1µF
10kΩ
RST
SIN3
SOT3
SCK3
VCC
VSS
14 ピン
1 ピン
4, 9, 10, 11, 12, 17, 18, 19,
DX10-28S
20, 23, 24, 25, 26 ピンは開放
DX10-28S:ライトアングルタイプ
28 ピン
15 ピン
コネクタ ( ヒロセ電機製 ) のピン配列
403
第 25 章 MB90F594A/MB90F594G/MB90F591A/MB90F591G シリアル書込み接続例
• SIN3, SOT3, SCK3 端子をユーザシステムでも使用する場合には , 下図の制御回路が
必要となります ( フラッシュマイコンプログラマの /TICS 信号により , シリアル書
込み中はユーザ回路を切り離すことができます ) 。
• AF220/AF210/AF120/AF110 との接続はユーザ電源が OFF の状態で行ってください。
• 書込み電源をAF220/AF210/AF120/AF110から供給する時はユーザ電源と短絡しない
でください。
図 25.5-2 制御回路
AF220/AF210/AF120/AF110
書込み制御端子
10kΩ
AF220/AF210/AF120/
AF110
/TICS 端子
MB90F594A/
MB90F594G/
MB90F591A/
MB90F591G
書込み制御端子
ユーザ回路
404
付録
付録では , I/O マップ , F2MC-16LX の命令などを示
します。
付録 A I/O マップ
付録 B 命令
付録 C フラッシュメモリモードのタイミングダイヤグラム
付録 D MB90590 シリーズ割込みベクタ一覧表
405
付録
付録 A
I/O マップ
表 A-1 に , 周辺ブロック中のレジスタに割り当てられるアドレスを示します。
■ I/O マップ
表 A-1 I/O マップ (1 / 6)
アドレス
レジスタ
略称
アクセス
リソース
初期値
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
XXXXXXXX
000009H
ポートデータレジスタ
( ポート 9 用 )
PDR9
R/W
ポート 9
--XXXXXXB
00000A ∼
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
406
付録 A I/O マップ
表 A-1 I/O マップ (2 / 6)
アドレス
レジスタ
略称
アクセス
リソース
初期値
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
000019H
ポート方向レジスタ
( ポート 9 用 )
DDR9
R/W
ポート 9
--000000B
ポート 6, A/D
11111111B
00001AH
00001BH
使用禁止
アナログ入力許可レジスタ
( ポート 6 用 )
ADER
00001C ∼
00001FH
R/W
使用禁止
000020H
シリアルモード制御レジスタ 0
UMC0
W, R/W
00000100B
000021H
シリアルステータスレジスタ 0
USR0
R, R/W
00010000B
000022H
シリアルインプット / シリアルア
ウトプットデータレジスタ 0
UIDR0/
UODR0
R/W
XXXXXXXXB
000023H
レート・データレジスタ 0
URD0
R/W
0000000XB
000024H
シリアルモード制御レジスタ 1
UMC1
W, R/W
00000100B
000025H
シリアルステータスレジスタ 1
USR1
R, R/W
00010000B
000026H
シリアルインプット / シリアルア
ウトプットデータレジスタ 1
UIDR1/
UODR1
R/W
XXXXXXXXB
000027H
レート・データレジスタ 1
URD1
R/W
0000000XB
000028H
シリアルモード制御レジスタ 2
UMC2
W, R/W
00000100B
000029H
シリアルステータスレジスタ 2
USR2
R, R/W
00010000B
00002AH
シリアルインプット /
シリアルアウトプットデータレジ
スタ 2
UIDR2/
UODR2
R/W
XXXXXXXXB
00002BH
レート・データレジスタ 2
URD2
R/W
0000000XB
シリアルモード制御ステータスレ
ジスタ
R/W
----0000B
SMCS
00002CH
00002DH
UART0
UART1
UART2
00000010B
R, R/W
シリアル I/O
00002EH
シリアルシフトデータレジスタ
SDR
R/W
XXXXXXXXB
00002FH
シリアルエッジセレクタレジスタ
SES
R/W
-------0B
407
付録
表 A-1 I/O マップ (3 / 6)
アドレス
レジスタ
略称
アクセス
000030H
DTP/ 割込み許可レジスタ
ENIR
R/W
000031H
DTP/ 割込み要因レジスタ
EIRR
R/W
リソース
初期値
00000000B
XXXXXXXXB
DTP/ 外部割込み
00000000B
000032H
要求レベル設定レジスタ
ELVR
R/W
00000000B
000033H
000034H
A/D 制御ステータスレジスタ 0
ADCS0
R/W
000035H
A/D 制御ステータスレジスタ 1
ADCS1
W, R/W
00000000B
00000000B
A/D コンバータ
000036H
A/D データレジスタ 0
ADCR0
R
XXXXXXXXB
000037H
A/D データレジスタ 1
ADCR1
R, W
000010XXB
000038H
PPG0 動作モード制御レジスタ
PPGC0
W, R/W
0-000--1B
000039H
PPG1 動作モード制御レジスタ
PPGC1
W, R/W
00003AH
PPG0/1 クロック選択レジスタ
PPG01
R/W
00003BH
0-000001B
000000--B
使用禁止
00003CH
PPG2 動作モード制御レジスタ
PPGC2
W, R/W
00003DH
PPG3 動作モード制御レジスタ
PPGC3
W, R/W
00003EH
PPG2/3 クロック選択レジスタ
PPG23
R/W
00003FH
0-000--1B
PPG (ch.2, ch.3)
ユニット 1
0-000001B
000000--B
使用禁止
000040H
PPG4 動作モード制御レジスタ
PPGC4
W, R/W
000041H
PPG5 動作モード制御レジスタ
PPGC5
W, R/W
000042H
PPG4/5 クロック選択レジスタ
PPG45
R/W
000043H
0-000--1B
PPG (ch.4, ch.5)
ユニット 2
0-000001B
000000--B
使用禁止
000044H
PPG6 動作モード制御レジスタ
PPGC6
W, R/W
000045H
PPG7 動作モード制御レジスタ
PPGC7
W, R/W
000046H
PPG6/7 クロック選択レジスタ
PPG67
R/W
000047H
0-000--1B
PPG (ch.6, ch.7)
ユニット 3
0-000001B
000000--B
使用禁止
000048H
PPG8 動作モード制御レジスタ
PPGC8
W, R/W
000049H
PPG9 動作モード制御レジスタ
PPGC9
W, R/W
00004AH
PPG8/9 クロック選択レジスタ
PPG89
R/W
00004BH
0-000--1B
PPG (ch.8, ch.9)
ユニット 4
0-000001B
000000--B
使用禁止
00004CH
PPGA 動作モード制御レジスタ
PPGCA
W, R/W
00004DH
PPGB 動作モード制御レジスタ
PPGCB
W, R/W
00004EH
PPGA/B クロック選択レジスタ
PPGAB
R/W
408
PPG (ch.0, ch.1)
ユニット 0
0-000--1B
PPG (ch.A, ch.B)
ユニット 5
0-000001B
000000--B
付録 A I/O マップ
表 A-1 I/O マップ (4 / 6)
アドレス
レジスタ
略称
00004FH
アクセス
リソース
初期値
使用禁止
タイマ制御ステータスレジスタ 0
( 下位 )
TMCSR0
000051H
タイマ制御ステータスレジスタ 0
( 上位 )
TMCSR0
R/W
000052H
タイマ制御ステータスレジスタ 1
( 下位 )
TMCSR1
R/W
000053H
タイマ制御ステータスレジスタ 1
( 上位 )
TMCSR1
R/W
000054H
インプットキャプチャ制御ステー
タスレジスタ 0/1
ICS01
R/W
インプットキャプチャ
0/1
00000000B
000055H
インプットキャプチャ制御ステー
タスレジスタ 2/3
ICS23
R/W
インプットキャプチャ
2/3
00000000B
000056H
インプットキャプチャ制御ステー
タスレジスタ 4/5
ICS45
R/W
インプットキャプチャ
4/5
00000000B
000050H
16 ビット
リロードタイマ 0
OCS0
000059H
アウトプットコンペア制御ステー
タスレジスタ 1
OCS1
R/W
00005AH
アウトプットコンペア制御ステー
タスレジスタ 2
OCS2
R/W
00005BH
アウトプットコンペア制御ステー
タスレジスタ 3
OCS3
R/W
00005CH
アウトプットコンペア制御ステー
タスレジスタ 4
OCS4
R/W
00005DH
アウトプットコンペア制御ステー
タスレジスタ 5
OCS5
R/W
00005EH
サウンド制御レジスタ ( 下位 )
SGCR
R/W
0000--00B
R/W
アウトプットコンペア
0/1
---00000B
0000--00B
アウトプットコンペア
2/3
---00000B
0000--00B
アウトプットコンペア
4/5
---00000B
00000000B
サウンドジェネレータ
00005FH
サウンド制御レジスタ ( 上位 )
SGCR
R, R/W
000060H
タイマ制御レジスタ ( 下位 )
WTCR
R/W
000061H
タイマ制御レジスタ ( 上位 )
WTCR
R/W
000062H
PWM 制御レジスタ 0
PWC0
R/W
000063H
0-----00B
000--000B
時計タイマ
000065H
----0000B
使用禁止
アウトプットコンペア制御ステー
タスレジスタ 0
000064H
----0000B
00000000B
16 ビット
リロードタイマ 1
000057H
000058H
00000000B
R/W
00000000B
ステッピングモータ
コントローラ 0
00000--0B
ステッピングモータ
コントローラ 1
00000--0B
使用禁止
PWM 制御レジスタ 1
PWC1
R/W
使用禁止
409
付録
表 A-1 I/O マップ (5 / 6)
アドレス
レジスタ
000066H
PWM 制御レジスタ 2
略称
アクセス
リソース
初期値
PWC2
R/W
ステッピングモータ
コントローラ 2
00000--0B
ステッピングモータ
コントローラ 3
00000--0B
000067H
000068H
使用禁止
PWM 制御レジスタ 3
PWC3
R/W
000069H
使用禁止
00006A ∼
00006CH
使用禁止
00006DH
シリアル I/O プリスケーラ
CDCR
R/W
シリアル I/O
0---1111B
00006EH
タイマカウンタ制御ステータスレ
ジスタ
TCCS
R/W
入出力タイマ
00000000B
00006FH
ROM ミラー機能選択レジスタ
ROMM
W
ROM ミラー機能選択
モジュール
-------1B
000070 ∼
00008FH
CAN インタフェース 0/1 用に予約済み。『CAN コントローラハードウェアマニュアル』を参照。
000090 ∼
00009DH
使用禁止
00009EH
プログラムアドレス検出制御ス
テータスレジスタ
PACSR
R/W
アドレス一致検出機能
00000000B
00009FH
遅延割込み要因発生 / 解除レジス
タ
DIRR
R/W
遅延割込み
-------0B
0000A0H
低消費電力モード制御レジスタ
LPMCR
W, R/W
00011000B
低消費電力制御回路
0000A1H
クロック選択レジスタ
CKSCR
0000A2 ∼
0000A7H
R, R/W
11111100B
使用禁止
0000A8H
ウォッチドッグタイマ制御レジス
タ
WDTC
R, W
ウォッチドッグタイマ
XXXXX111B
0000A9H
タイムベースタイマ制御レジスタ
TBTC
W, R/W
タイムベースタイマ
1--00100B
フラッシュメモリ
000X0000B
0000AA ∼
0000ADH
0000AEH
0000AFH
410
使用禁止
フラッシュメモリ制御ステータス
レジスタ (MB90F594/MB90F594G/
MB90F591A/MB90F591G のみ , そ
れ以外は使用禁止 )
FMCS
R, R/W
使用禁止
付録 A I/O マップ
表 A-1 I/O マップ (6 / 6)
アドレス
レジスタ
略称
アクセス
リソース
初期値
0000B0H
割込み制御レジスタ 00
ICR00
W, R/W
00000111B
0000B1H
割込み制御レジスタ 01
ICR01
W, R/W
00000111B
0000B2H
割込み制御レジスタ 02
ICR02
W, R/W
00000111B
0000B3H
割込み制御レジスタ 03
ICR03
W, R/W
00000111B
0000B4H
割込み制御レジスタ 04
ICR04
W, R/W
00000111B
0000B5H
割込み制御レジスタ 05
ICR05
W, R/W
00000111B
0000B6H
割込み制御レジスタ 06
ICR06
W, R/W
00000111B
0000B7H
割込み制御レジスタ 07
ICR07
W, R/W
00000111B
0000B8H
割込み制御レジスタ 08
ICR08
W, R/W
00000111B
0000B9H
割込み制御レジスタ 09
ICR09
W, R/W
00000111B
0000BAH
割込み制御レジスタ 10
ICR10
W, R/W
00000111B
0000BBH
割込み制御レジスタ 11
ICR11
W, R/W
00000111B
0000BCH
割込み制御レジスタ 12
ICR12
W, R/W
00000111B
0000BDH
割込み制御レジスタ 13
ICR13
W, R/W
00000111B
0000BEH
割込み制御レジスタ 14
ICR14
W, R/W
00000111B
0000BFH
割込み制御レジスタ 15
ICR15
W, R/W
00000111B
割込みコントローラ
0000C0 ∼
0000FFH
使用禁止
411
付録
表 A-2 I/O マップ (19XX アドレス ) (1 / 5)
アドレス
レジスタ
略称
アクセス
リソース
初期値
XXXXXXXXB
1900H
リロードレジスタ L
PRLL0
R/W
1901H
リロードレジスタ H
PRLH0
R/W
1902H
リロードレジスタ L
PRLL1
R/W
1903H
リロードレジスタ H
PRLH1
R/W
XXXXXXXXB
1904H
リロードレジスタ L
PRLL2
R/W
XXXXXXXXB
1905H
リロードレジスタ H
PRLH2
R/W
1906H
リロードレジスタ L
PRLL3
R/W
1907H
リロードレジスタ H
PRLH3
R/W
XXXXXXXXB
1908H
リロードレジスタ L
PRLL4
R/W
XXXXXXXXB
1909H
リロードレジスタ H
PRLH4
R/W
190AH
リロードレジスタ L
PRLL5
R/W
190BH
リロードレジスタ H
PRLH5
R/W
XXXXXXXXB
190CH
リロードレジスタ L
PRLL6
R/W
XXXXXXXXB
190DH
リロードレジスタ H
PRLH6
R/W
190EH
リロードレジスタ L
PRLL7
R/W
190FH
リロードレジスタ H
PRLH7
R/W
XXXXXXXXB
1910H
リロードレジスタ L
PRLL8
R/W
XXXXXXXXB
1911H
リロードレジスタ H
PRLH8
R/W
1912H
リロードレジスタ L
PRLL9
R/W
1913H
リロードレジスタ H
PRLH9
R/W
XXXXXXXXB
1914H
リロードレジスタ L
PRLLA
R/W
XXXXXXXXB
1915H
リロードレジスタ H
PRLHA
R/W
1916H
リロードレジスタ L
PRLLB
R/W
1917H
リロードレジスタ H
PRLHB
R/W
1918 ∼
191FH
412
使用禁止
PPG (ch.0, ch.1)
ユニット 0
PPG (ch.2, ch.3)
ユニット 1
PPG (ch.4, ch.5)
ユニット 2
PPG (ch.6, ch.7)
ユニット 3
PPG (ch.8, ch.9)
ユニット 4
PPG (ch.A, ch.B)
ユニット 5
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
付録 A I/O マップ
表 A-2 I/O マップ (19XX アドレス ) (2 / 5)
アドレス
レジスタ
略称
アクセス
リソース
初期値
1920H
インプットキャプチャデータレジ
スタ 0 ( 下位 )
IPCP0
R
1921H
インプットキャプチャデータレジ
スタ 0 ( 上位 )
IPCP0
R
1922H
インプットキャプチャデータレジ
スタ 1 ( 下位 )
IPCP1
R
XXXXXXXXB
1923H
インプットキャプチャデータレジ
スタ 1 ( 上位 )
IPCP1
R
XXXXXXXXB
1924H
インプットキャプチャデータレジ
スタ 2 ( 下位 )
IPCP2
R
XXXXXXXXB
1925H
インプットキャプチャデータレジ
スタ 2 ( 上位 )
IPCP2
R
1926H
インプットキャプチャデータレジ
スタ 3 ( 下位 )
IPCP3
R
XXXXXXXXB
1927H
インプットキャプチャデータレジ
スタ 3 ( 上位 )
IPCP3
R
XXXXXXXXB
1928H
インプットキャプチャデータレジ
スタ 4 ( 下位 )
IPCP4
R
XXXXXXXXB
1929H
インプットキャプチャデータレジ
スタ 4 ( 上位 )
IPCP4
R
192AH
インプットキャプチャデータレジ
スタ 5 ( 下位 )
IPCP5
R
XXXXXXXXB
192BH
インプットキャプチャデータレジ
スタ 5 ( 上位 )
IPCP5
R
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
インプットキャプチャ
0/1
XXXXXXXXB
インプットキャプチャ
2/3
XXXXXXXXB
インプットキャプチャ
4/5
192C ∼
192FH
使用禁止
1930H
アウトプットコンペアレジスタ 0
( 下位 )
OCCP0
R/W
193H
アウトプットコンペアレジスタ 0
( 上位 )
OCCP0
R/W
1932H
アウトプットコンペアレジスタ 1
( 下位 )
OCCP1
R/W
XXXXXXXXB
1933H
アウトプットコンペアレジスタ 1
( 上位 )
OCCP1
R/W
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
アウトプットコンペア
0/1
413
付録
表 A-2 I/O マップ (19XX アドレス ) (3 / 5)
アドレス
レジスタ
略称
アクセス
リソース
初期値
1934H
アウトプットコンペアレジスタ 2
( 下位 )
OCCP2
R/W
1935H
アウトプットコンペアレジスタ 2
( 上位 )
OCCP2
R/W
1936H
アウトプットコンペアレジスタ 3
( 下位 )
OCCP3
R/W
XXXXXXXXB
1937H
アウトプットコンペアレジスタ 3
( 上位 )
OCCP3
R/W
XXXXXXXXB
1938H
アウトプットコンペアレジスタ 4
( 下位 )
OCCP4
R/W
XXXXXXXXB
1939H
アウトプットコンペアレジスタ 4
( 上位 )
OCCP4
R/W
193AH
アウトプットコンペアレジスタ 5
( 下位 )
OCCP5
R/W
XXXXXXXXB
193BH
アウトプットコンペアレジスタ 5
( 上位 )
OCCP5
R/W
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
アウトプットコンペア
2/3
XXXXXXXXB
アウトプットコンペア
4/5
193D ∼
193FH
使用禁止
タイマレジスタ 0/ リロードレジス TMR0/
TMRLR0
タ 0 ( 下位 )
R/W
1941H
タイマレジスタ 0/ リロードレジス TMR0/
TMRLR0
タ 0 ( 上位 )
R/W
1942H
タイマレジスタ 1/ リロードレジス TMR1/
TMRLR1
タ 1 ( 下位 )
R/W
1943H
タイマレジスタ 1/ リロードレジス TMR1/
TMRLR1
タ 1 ( 上位 )
R/W
XXXXXXXXB
1944H
タイマカウンタデータレジスタ
( 下位 )
TCDT
R/W
00000000B
1945H
タイマカウンタデータレジスタ
( 上位 )
TCDT
R/W
00000000B
1946H
周波数データレジスタ
SGFR
R/W
XXXXXXXXB
1947H
振幅データレジスタ
SGAR
R/W
1940H
XXXXXXXXB
16 ビット
リロードタイマ 0
XXXXXXXXB
XXXXXXXXB
16 ビット
リロードタイマ 1
入出力タイマ
00000000B
サウンドジェネレータ
414
1948H
デクリメントグレードレジスタ
SGDR
R/W
XXXXXXXXB
1949H
トーンカウントレジスタ
SGTR
R/W
XXXXXXXXB
付録 A I/O マップ
表 A-2 I/O マップ (19XX アドレス ) (4 / 5)
アドレス
レジスタ
略称
アクセス
リソース
初期値
194AH
サブ秒レジスタ ( 下位 )
WTBR
R/W
XXXXXXXXB
194BH
サブ秒レジスタ ( 中位 )
WTBR
R/W
XXXXXXXXB
194CH
サブ秒レジスタ ( 上位 )
WTBR
R/W
---XXXXXB
時計タイマ
194DH
秒レジスタ
WTSR
R/W
--000000B
194EH
分レジスタ
WTMR
R/W
--000000B
194FH
時レジスタ
WTHR
R/W
---00000B
1950H
PWM1 コンペアレジスタ 0 ( 下位 )
PWC10
R/W
XXXXXXXXB
1951H
PWM2 コンペアレジスタ 0 ( 上位 )
PWC20
R/W
1952H
PWM1 セレクトレジスタ 0 ( 下位 )
PWS10
R/W
1953H
PWM2 セレクトレジスタ 0 ( 上位 )
PWS20
R/W
-0000000B
1954H
PWM1 コンペアレジスタ 1 ( 下位 )
PWC11
R/W
XXXXXXXXB
1955H
PWM2 コンペアレジスタ 1 ( 上位 )
PWC21
R/W
1956H
PWM1 セレクトレジスタ 1 ( 下位 )
PWS11
R/W
1957H
PWM2 セレクトレジスタ 1 ( 上位 )
PWS21
R/W
-0000000B
1958H
PWM1 コンペアレジスタ 2 ( 下位 )
PWC12
R/W
XXXXXXXXB
1959H
PWM2 コンペアレジスタ 2 ( 上位 )
PWC22
R/W
195AH
PWM1 セレクトレジスタ 2 ( 下位 )
PWS12
R/W
195BH
PWM2 セレクトレジスタ 2 ( 上位 )
PWS22
R/W
-0000000B
195CH
PWM1 コンペアレジスタ 3 ( 下位 )
PWC13
R/W
XXXXXXXXB
195DH
PWM2 コンペアレジスタ 3 ( 上位 )
PWC23
R/W
195EH
PWM1 セレクトレジスタ 3 ( 下位 )
PWS13
R/W
195FH
PWM2 セレクトレジスタ 3 ( 上位 )
PWS23
R/W
ステッピングモータ
コントローラ 0
ステッピングモータ
コントローラ 1
ステッピングモータ
コントローラ 2
ステッピングモータ
コントローラ 3
XXXXXXXXB
--000000B
XXXXXXXXB
--000000B
XXXXXXXXB
--000000B
XXXXXXXXB
--000000B
-0000000B
1960 ∼
19FFH
使用禁止
1A00 ∼
1AFFH
CAN インタフェース 0 用に予約済み。『CAN コントローラハードウェアマニュアル』参照。
1B00 ∼
1BFFH
CAN インタフェース 1 用に予約済み。『CAN コントローラハードウェアマニュアル』参照。
1C00 ∼
1CFFH
CAN インタフェース 0 用に予約済み。『CAN コントローラハードウェアマニュアル』参照。
1D00 ∼
1DFFH
CAN インタフェース 1 用に予約済み。『CAN コントローラハードウェアマニュアル』参照。
415
付録
表 A-2 I/O マップ (19XX アドレス ) (5 / 5)
アドレス
レジスタ
略称
1E00 ∼
1EFFH
アクセス
リソース
初期値
使用禁止
1EF0H
プログラムアドレス検出レジスタ
0 ( 下位 )
PADR0
R/W
XXXXXXXXB
1EF1H
プログラムアドレス検出レジスタ
0 ( 中位 )
PADR0
R/W
XXXXXXXXB
1EF2H
プログラムアドレス検出レジスタ
0 ( 上位 )
PADR0
R/W
XXXXXXXXB
1EF3H
プログラムアドレス検出レジスタ
1 ( 下位 )
PADR1
R/W
XXXXXXXXB
1EF4H
プログラムアドレス検出レジスタ
1 ( 中位 )
PADR1
R/W
XXXXXXXXB
1EF5H
プログラムアドレス検出レジスタ
1 ( 上位 )
PADR1
R/W
XXXXXXXXB
アドレス一致検出機能
1EF6 ∼
1FFFH
•
•
使用禁止
初期値 "?" は未使用ビットを表し , "X" は値が不定であることを示します。
表にリストされていない 0000H ∼ 00FFH の範囲のアドレスは , MCU の主要機能のために予約されています。
これらの予約済みアドレスへのリードアクセスの結果は "X" になり , ライトアクセスは禁止です。
○書込み / 読込みについての説明
R/W : リードライト可
R
: リードオンリー
W
: ライトオンリー
○初期値についての説明
0: このビットの初期値は "0" です。
1: このビットの初期値は "1" です。
X: このビットの初期値は不定です。
-: このビットは未使用です。初期値は不定です。
416
付録 B 命令
付録 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
417
付録
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 命令
418
付録 B 命令
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)
419
付録
■ 実効アドレスフィールド
実効アドレスフィールドで指定される , アドレス形式を表 B.2-1 に示します。
表 B.2-1 実効アドレスフィールド
コード
420
表記
アドレス形式
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
付録 B 命令
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 レジスタ直接
汎用レジスタ
専用レジスタ
*:
バイト
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) は命令のオペランドには
記述されることなく指定されます。
421
付録
図 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 次の命令
実行後
422
PC 3 B 2 0
PCB 4 F
4F3C20H
62
4F3C21H
20
4F3C22H
3B
JMP 3B20H
付録 B 命令
● 物理直接分岐アドレス (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 に格納する命令 )
実行前
実行後
A 0716
2534
メモリ空間
0000C0H
EE
0000C1H
FF
A 2534 FFEE
423
付録
● 短縮直接アドレス (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 に格納する命令 )
実行前
実行後
424
A 2020
A AABB
AABB
0123
DTB 5 5
DTB 5 5
メモリ空間
553B21H
01
553B20H
23
付録 B 命令
● 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
メモリ空間
実行後
DTB 5 5
DPR 6 6
556610H
01
425
付録
● 直接ビットアドレス (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
PC D 0 0 0
PCB F F
426
メモリ空間
CALLV #15
付録 B 命令
表 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 を参照
してください )
427
付録
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 に例を示します。
428
付録 B 命令
図 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
実行後
DTB 7 8
メモリ空間
78D31FH
EE
78D320H
FF
A 2534 FFEE
RW1 D 3 0 F
DTB 7 8
429
付録
● ディスプレースメント付ロングレジスタ間接 (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
430
+4
C54556H
73
C54557H
9E
C54558H
20
C54559H
00
C5455AH
・
・
・
+20H
C5457AH
EE
C5457BH
FF
MOVW
A, @PC+20H
付録 B 命令
● ベースインデックス付レジスタ間接 (@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 次の命令
実行後
PC 3 C 2 0
PCB 4 F
4F3C21H
10
4F3C20H
60
BRA 10H
431
付録
● レジスタリスト (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
実行前
432
SP
34FDH
34FEH
実行後
付録 B 命令
● アキュムレータ間接 (@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
61
JMP @A
PCB 4 F
3B20
433
付録
● 間接指定分岐アドレス (@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
RW0 3 B 2 0
434
メモリ空間
4F3B20H 次の命令
PCB 4 F
4F3C20H
73
4F3C21H
00
JMP @RW0
付録 B 命令
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 命令一覧表の読み方」を参照
してください。
435
付録
表 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
−
( 注意事項 ) ・ 外部データバスを使用した場合は , レディ入力および自動レディでウェイト
したサイクル数も加算する必要があります。
・ 実際にはすべてのプログラムフェッチで , 命令実行が遅くなるわけではない
ので , この補正値は最悪ケースを算出する場合に使用してください。
436
付録 B 命令
B.6
実効アドレスフィールド
表 B.6-1 に実効アドレスフィールドを示します。
■ 実効アドレスフィールド
表 B.6-1 実効アドレスフィールド (1 / 2)
コード
表記
アドレス形式
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
437
付録
表 B.6-1 実効アドレスフィールド (1 / 2)
コード
*:
438
表記
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 命令一覧表の読み方」を参照してください。
付録 B 命令
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
リードモディファイライト命令 (1 命令でメモリなどからデータを読
み出し , メモリへ書き込む ) であるかどうか示します。
*: リードモディファイライト命令である。
− : リードモディファイライト命令ではない。
( 注意事項 )
読み書きで意味の異なるアドレスには使用できません。
439
付録
表 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)
440
意味
8 ビット即値データを符号拡張した 16 ビットデータ
付録 B 命令
表 B.7-2 命令一覧表の記号の説明 (1 / 2)
表記
意味
disp8
8 ビットディスプレースメント
disp16
16 ビットディスプレースメント
bp
ビットオフセット値
vct4
ベクタ番号 (0 ∼ 15)
vct8
ベクタ番号 (0 ∼ 255)
()b
ビットアドレス
rel
PC 相対分岐指定
ear
実効アドレス指定 ( コード 00 ∼ 07)
eam
実効アドレス指定 ( コード 08 ∼ 1F)
rlst
レジスタ並び
441
付録
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 を参照してください。
442
付録 B 命令
表 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 を参照してください。
443
付録
表 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 を参照してください。
444
付録 B 命令
表 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 を参照してください。
445
付録
表 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 を参照してください。
446
付録 B 命令
表 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 を参照してください。
447
付録
表 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 を参照してください。
448
付録 B 命令
表 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)
449
付録
表 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 を参照してください。
450
-
付録 B 命令
表 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 を参照してください。
451
付録
表 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 -
-
-
-
-
-
8 × (c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
-
* * * * * * *
-
INT9
1
20
0
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 を参照してください。
452
付録 B 命令
表 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 を参照してください。
453
付録
表 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
*
-
-
-
454
付録 B 命令
表 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 を参照してください。
455
付録
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 に示します。
456
付録 B 命令
図 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
命令
457
458
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.9-2 基本ページマップ
+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 命令
表 B.9-3 ビット操作系命令マップ ( 第 1 バイト =6CH)
459
460
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.9-4 文字列操作系命令マップ ( 第 1 バイト =6EH)
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 命令
表 B.9-5 2 バイト系命令マップ ( 第 1 バイト =6FH)
461
462
@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.9-6 ea 系命令 その 1 ( 第 1 バイト =70H)
+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 命令
表 B.9-7 ea 系命令 その 2 ( 第 1 バイト =71H)
463
464
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.9-8 ea 系命令 その 3 ( 第 1 バイト =72H)
+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 命令
表 B.9-9 ea 系命令 その 4 ( 第 1 バイト =73H)
465
466
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.9-10 ea 系命令 その 5 ( 第 1 バイト =74H)
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 命令
表 B.9-11 ea 系命令 その 6 ( 第 1 バイト =75H)
467
468
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.9-12 ea 系命令 その 7 ( 第 1 バイト =76H)
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 命令
表 B.9-13 ea 系命令 その 8 ( 第 1 バイト =77H)
469
470
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.9-14 ea 系命令 その 9 ( 第 1 バイト =78H)
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 命令
表 B.9-15 MOVEA RWi, ea 命令 ( 第 1 バイト =79H)
471
472
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.9-16 MOV Ri, ea 命令 ( 第 1 バイト =7AH)
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 命令
表 B.9-17 MOVW RWi, ea 命令 ( 第 1 バイト =7BH)
473
474
+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.9-18 MOV Ri, ea 命令 ( 第 1 バイト =7CH)
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 命令
表 B.9-19 MOVW RWi, ea 命令 ( 第 1 バイト =7DH)
475
476
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.9-20 XCH Ri, ea 命令 ( 第 1 バイト =7EH)
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 命令
表 B.9-21 XCHW RWi, ea 命令 ( 第 1 バイト =7FH)
477
付録
付録 C
フラッシュメモリモードのタイミングダイヤグラム
フラッシュメモリモードにおける MB90F594 の外部端子の各タイミングダイヤグラ
ムを以下に示します。
■ 読出しアクセスによるデータリード
図 C-1 読出しアクセスのタイミングダイヤグラム
tRC
アドレス安定
AQ16~AQ0
tACC
CE
tDF
tOE
OE
tOEH
WE
tOH
tCE
ハイ
インピーダンス
出力定義済
ハイインピーダンス
DQ7~DQ0
■ 書込み , データポーリング , 読出し (WE コントロール )
図 C-2 書込みアクセス (WE コントロール ) のタイミングダイヤグラム
3rdバスサイクル
AQ18
~
AQ0
データポーリング
7AAAAH
PA
tWC
tAS
PA
tRC
tAH
CE
tGHWL
OE
tWP
tWHWH1
WE
tDF
tDH
A0H
DQ7
~
DQ0
tOE
tWPH
tcs
PD
DQ7
DOUT
tDS
tOH
5.0 V
tCE
PA
: 書込みアドレス
PD
: 書込みデータ
DQ7 : 書込みデータの反転出力
DOUT : 書込みデータの出力
( 注意事項 ) 4 つのバスサイクルの内の後最後の 2 つのバスサイクルシーケンスを記述
します。
478
付録 C フラッシュメモリモードのタイミングダイヤグラム
■ 書込み , データポーリング , 読出し (CE コントロール )
図 C-3 書込みアクセス (CE コントロール ) のタイミングダイヤグラム
3rdバスサイクル
データポーリング
7AAAAH
AQ18~AQ0
PA
tWC
tAS
PA
tAH
tWH
WE
tGHWL
OE
tCP
tWHWH1
CE
tCPH
tWS
tDH
A0H
PD
DQ7
DOUT
DQ7~DQ0
tDS
5.0 V
PA
: 書込みアドレス
PD
: 書込みデータ
DQ7
: 書込みデータの反転出力
DOUT : 書込みデータの出力
( 注意事項 ) 4 つのバスサイクルの内の後最後の 2 つのバスサイクルシーケンスを記述
します。
■ チップ消去 / セクタ消去コマンドシーケンス
図 C-4 書込みアクセス ( チップ消去 / セクタ消去 ) のタイミングダイヤグラム
AQ18
~
AQ0
tAS
tAH
7AAAAH
75555H
7AAAAH
7AAAAH
75555H
SA*
CE
tGHWL
OE
tWP
WE
tWPH
tCS
DQ7
~
DQ0
tDH
AAH
55H
80?
AAH
55H
10H/30H
tDS
VCC
tVCS
*: SA はセクタ消去におけるセクタアドレスです。7AAAAH ( または 6AAAAH) はチッ
プ消去におけるアドレスです。
479
付録
■ データポーリング
図 C-5 データポーリングのタイミングダイヤグラム
tCH
CE
tOE
tDF
OE
tOEH
WE
tCE
tOH
*
DQ7
DQ7
ハイ
インピーダンス
DQ7=有効データ
tWHWH1 または
tWHWH2
DQ6~DQ0
DQ6~DQ0
=有効データ
DQ6~DQ0=無効
tOE
*: DQ7 は有効データです ( デバイスは自動動作を停止します ) 。
■ トグルビット
図 C-6 グルビットのタイミングダイヤグラム
CE
tOEH
WE
tOES
OE
*
データ (DQ7~DQ0)
DQ6=トグル
DQ6=トグル
DQ6=トグル停止
DQ7~DQ0
=有効
tOE
*: DQ7 は有効データです ( デバイスは自動動作を停止します ) 。
■ 書込み / 消去中の RY/BY タイミング
図 C-7 書込み / 消去中の RY/BY 信号出力のタイミングダイヤグラム
CE
最終書込みパルスの
立上りエッジ
WE
書込みまたは消去
RY/BY
tビジー
480
付録 C フラッシュメモリモードのタイミングダイヤグラム
■ RST と RY/BY タイミング
図 C-8 ハードウェアリセット時の RY/BY 信号出力のタイミングダイヤグラム
CE
RY/BY
tRP
RST
tレディ
■ セクタプロテクト許可 / セクタプロテクト検証
図 C-9 セクタプロテクト許可 / セクタプロテクト検証
AQ18~AQ9
SAx
AQ8, AQ2, AQ1
SAy
(AQ8, AQ2, AQ1) = (0, 1, 0)
MD0 12 V
5V
MD2 12 V
5V
tVLHT
tVLHT
OE
WE
tWPP
tOESP
CE
tCSP
DQ7~DQ0
01H
SA x: 最初のセクタアドレス
SAy: 次のセクタアドレス
tOE
481
付録
■ セクタプロテクト一時取消し
図 C-10 セクタプロテクト一時取消し
MD1
12 V
5V
5V
CE
WE
tVLHT
RY/BY
482
書込み/消去コマンドシーケンス
付録 D MB90590 シリーズ割込みベクタ一覧表
付録 D
MB90590 シリーズ割込みベクタ一覧表
割込み処理の際に参照する割込みベクタのテーブルはメモリ領域の FFFC00H ∼
FFFFFFH に割り当ててあり , ソフトウェア割込みと共通で使用しています。
■ MB90590 シリーズ割込みベクタ一覧表
表 D-1 に , MB90590 シリーズの割込みベクタ一覧表を示します。
表 D-1 MB90590 シリーズ割込みベクタ一覧表 (1 / 2)
ソフトウェア
割込み命令
ベクタアド
レス L
ベクタアド
レス M
ベクタアド
レス H
モードレジ
スタ
割込み
No
INT0
FFFFFCH
FFFFFDH
FFFFFEH
未使用
#0
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
INT7
FFFFE0H
FFFFE1H
FFFFE2H
未使用
#7
なし
INT8
FFFFDCH
FFFFDDH
FFFFDEH
FFFFDF
#8
(RESET ベクタ )
INT9
FFFFD8H
FFFFD9H
FFFFDAH
未使用
#9
アドレス一致検出機能
INT10
FFFFD4H
FFFFD5H
FFFFD6H
未使用
#10
< 例外 >
INT11
FFFFD0H
FFFFD1H
FFFFD2H
未使用
#11
タイムベースタイマ
INT12
FFFFCCH
FFFFCDH
FFFFCEH
未使用
#12
外部割込み (INTO ∼ INT7)
INT13
FFFFC8H
FFFFC9H
FFFFCAH
未使用
#13
CAN0RX
INT14
FFFFC4H
FFFFC5H
FFFFC6H
未使用
#14
CAN0TX/NS
INT15
FFFFC0H
FFFFC1H
FFFFC2H
未使用
#15
CAN1RX
INT16
FFFFBCH
FFFFBDH
FFFFBEH
未使用
#16
CAN1TX/NS
INT17
FFFFB8H
FFFFB9H
FFFFBAH
未使用
#17
PPG (ch.0, ch.1) ユニット 0
INT18
FFFFB4H
FFFFB5H
FFFFB6H
未使用
#18
PPG (ch.2, ch.3) ユニット 1
INT19
FFFFB0H
FFFFB1H
FFFFB2H
未使用
#19
PPG (ch.4, ch.5) ユニット 2
INT20
FFFFACH
FFFFADH
FFFFAEH
未使用
#20
PPG (ch.6, ch.7) ユニット 3
INT21
FFFFA8H
FFFFA9H
FFFFAAH
未使用
#21
PPG (ch.8, ch.9) ユニット 4
INT22
FFFFA4H
FFFFA5H
FFFFA6H
未使用
#22
PPG (ch.A, ch.B) ユニット 5
INT23
FFFFA0H
FFFFA1H
FFFFA2H
未使用
#23
16 ビットリロードタイマ 0
INT24
FFFF9CH
FFFF9DH
FFFF9EH
未使用
#24
16 ビットリロードタイマ 1
INT25
FFFF98H
FFFF99H
FFFF9AH
未使用
#25
インプットキャプチャ 0/1
INT26
FFFF94H
FFFF95H
FFFF96H
未使用
#26
アウトプットコンペア 0/1
ハードウェア割込み
なし
・
・
・
483
付録
表 D-1 MB90590 シリーズ割込みベクタ一覧表 (2 / 2)
ソフトウェア
割込み命令
ベクタアド
レス L
ベクタアド
レス M
ベクタアド
レス H
モードレジ
スタ
割込み
No
INT27
FFFF90H
FFFF91H
FFFF92H
未使用
#27
インプットキャプチャ 2/3
INT28
FFFF8CH
FFFF8DH
FFFF8EH
未使用
#28
アウトプットコンペア 2/3
INT29
FFFF88H
FFFF89H
FFFF8AH
未使用
#29
インプットキャプチャ 4/5
INT30
FFFF84H
FFFF85H
FFFF86H
未使用
#30
アウトプットコンペア 4/5
INT31
FFFF80H
FFFF81H
FFFF82H
未使用
#31
A/D コンバータ
INT32
FFFF7CH
FFFF7DH
FFFF7EH
未使用
#32
入出力タイマ / 時計タイマ
INT33
FFFF78H
FFFF79H
FFFF7AH
未使用
#33
シリアル I/O
INT34
FFFF74H
FFFF75H
FFFF76H
未使用
#34
サウンド発生部
INT35
FFFF70H
FFFF71H
FFFF72H
未使用
#35
UART0RX
INT36
FFFF6CH
FFFF6DH
FFFF6EH
未使用
#36
UART0TX
INT37
FFFF68H
FFFF69H
FFFF6AH
未使用
#37
UART1RX
INT38
FFFF64H
FFFF65H
FFFF66H
未使用
#38
UART1TX
INT39
FFFF60H
FFFF61H
FFFF62H
未使用
#39
UART2RX
INT40
FFFF5CH
FFFF5DH
FFFF5EH
未使用
#40
UART2TX
INT41
FFFF58H
FFFF59H
FFFF5AH
未使用
#41
フラッシュメモリ
INT42
FFFF54H
FFFF55H
FFFF56H
未使用
#42
遅延割込み
INT43
FFFF50H
FFFF51H
FFFF52H
未使用
#43
なし
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
INT254
FFFC04H
FFFC05H
FFFC06H
未使用
#254
なし
INT255
FFFC00H
FFFC01H
FFFC02H
未使用
#255
なし
484
ハードウェア割込み
・
・
・
付録 D MB90590 シリーズ割込みベクタ一覧表
■ 割込み要因と割込みベクタ・割込み制御レジスタ
表 D-2 割込み要因と割込みベクタ・割込み制御レジスタ (1 / 2)
割込み要因
EI2OS
クリア
割込みベクタ
割込み制御レジスタ
番号
アドレス
番号
アドレス
リセット
×
#08
FFFFDCH
-
-
INT9 命令
×
#09
FFFFD8H
-
-
例外
×
#10
FFFFD4H
-
-
タイムベースタイマ
×
#11
FFFFD0H
ICR00
0000B0H
外部割込み (INT0 ∼ INT7)
○
#12
FFFFCCH
CAN0RX
×
#13
FFFFC8H
ICR01
0000B1H
CAN0TX/NS
×
#14
FFFFC4H
CAN1RX
×
#15
FFFFC0H
ICR02
0000B2H
CAN1TX/NS
×
#16
FFFFBCH
PPG (ch.0, ch.1) ユニット 0
×
#17
FFFFB8H
ICR03
0000B3H
PPG (ch.2, ch.3) ユニット 1
×
#18
FFFFB4H
PPG (ch.4, ch.5) ユニット 2
×
#19
FFFFB0H
ICR04
0000B4H
PPG (ch.6, ch.7) ユニット 3
×
#20
FFFFACH
PPG (ch.8, ch.9) ユニット 4
×
#21
FFFFA8H
ICR05
0000B5H
PPG (ch.A, ch.B) ユニット 5
×
#22
FFFFA4H
16 ビットリロードタイマ 0
○
#23
FFFFA0H
ICR06
0000B6H
16 ビットリロードタイマ 1
○
#24
FFFF9CH
インプットキャプチャ 0/1
○
#25
FFFF98H
ICR07
0000B7H
アウトプットコンペア 0/1
○
#26
FFFF94H
インプットキャプチャ 2/3
○
#27
FFFF90H
ICR08
0000B8H
アウトプットコンペア 2/3
○
#28
FFFF8CH
インプットキャプチャ 4/5
○
#29
FFFF88H
ICR09
0000B9H
アウトプットコンペア 4/5
○
#30
FFFF84H
A/D コンバータ
○
#31
FFFF80H
ICR10
0000BAH
入出力タイマ / 時計タイマ
×
#32
FFFF7CH
シリアル I/O
○
#33
FFFF78H
ICR11
0000BBH
サウンド発生部
×
#34
FFFF74H
UART0RX
◎
#35
FFFF70H
ICR12
0000BCH
UART0TX
○
#36
FFFF6CH
485
付録
表 D-2 割込み要因と割込みベクタ・割込み制御レジスタ (2 / 2)
割込み要因
EI2OS
クリア
割込みベクタ
番号
アドレス
UART1RX
◎
#37
FFFF68H
UART1TX
○
#38
FFFF64H
UART2RX
◎
#39
FFFF60H
UART2TX
○
#40
FFFF5CH
フラッシュメモリ
×
#41
FFFF58H
遅延割込み
×
#42
FFFF54H
割込み制御レジスタ
番号
アドレス
ICR13
0000BDH
ICR14
0000BEH
ICR15
0000BFH
○ :EI2OS 割込みクリア信号または EI2OS レジスタ読出しアクセスにて , 割込み要求フラグはクリアされます。
◎ :EI2OS 割込みクリア信号または EI2OS レジスタ読出しアクセスにて , 割込み要求フラグはクリアされます。
ストップ要求はあります。
× :EI2OS 割込みクリア信号にて割込み要求フラグはクリアされません。
( 注意事項 )
・ 1 つの割込み番号に対して 2 つの割込み要因を持つ周辺モジュールについては , EI2OS 割込みクリア信
号にて , 両方の割込み要求フラグがクリアされます。
・ EI2OS の終了時には , EI2OS クリア信号が同じ割込み番号に割り当てられている複数の割り込みフラグ
に送られます。
・ EI2OS が許可されていると , 同じ割込みコントロールレジスタ (ICR) に割り当てられている 2 つの割込
みのうちのいずれか 1 つが発生すると , EI2OS を起動します。このことは , 本来各割込み要因に固有で
あるべき EI2OS ディスクリプタが , 2 つの割込みで共有されていることを意味します。したがって , 一方
の割込みが許可されているときは , 他方の割込みを不許可にしなければなりません。
486
索引
Numerics
16 ビットアウトプットコンペア
16 ビットアウトプットコンペアのレジスタ一覧
..........................................................................128
16 ビットインプットキャプチャ
16 ビットインプットキャプチャのレジスタ一覧
..........................................................................128
16 ビットタイマレジスタ
16 ビットタイマレジスタ (TMR)/16 ビットリロー
ドレジスタ (TMRLR) のレジスタ配置 ........154
16 ビット入出力タイマ
16 ビット入出力タイマのブロックダイヤグラム
..........................................................................127
16 ビットフリーランタイマ
16 ビットフリーランタイマ ................................126
16 ビットフリーランタイマのタイミング ........134
16 ビットフリーランタイマの動作 ....................133
16 ビットフリーランタイマのブロックダイヤグ
ラム ..................................................................129
16 ビットフリーランタイマのレジスタ一覧
..........................................................................128
16 ビットリロードタイマ
16 ビットリロードタイマ ( イベントカウント機
能付 ) の概要 ...................................................148
16 ビットリロードタイマのアンダフロー動作
..........................................................................157
16 ビットリロードタイマの出力端子機能 ........158
16 ビットリロードタイマの内部クロック動作
..........................................................................155
16 ビットリロードタイマの入力端子機能 ( 内部
クロックモード時 ) ........................................155
16 ビットリロードタイマのブロックダイヤグラ
ム ......................................................................149
16 ビットリロードタイマのレジスタ
16 ビットリロードタイマのレジスタ ................150
16 ビットリロードレジスタ
16 ビットタイマレジスタ (TMR)/16 ビットリロー
ドレジスタ (TMRLR) のレジスタ配置 ........154
24 ビットオペランド
24 ビットオペランド指定 ......................................23
2M/3M ビットフラッシュメモリ
2M/3M ビットフラッシュメモリのセクタ構成
..........................................................................360
2M/3M ビットフラッシュメモリの特長 ...........358
2M ビットフラッシュメモリ
2M ビットフラッシュメモリのプログラム例
..........................................................................387
8/16 ビット PPG
8/16 ビット PPG のカウントクロックの選択
..........................................................................184
8/16 ビット PPG の各ハードウェアの初期値
..........................................................................187
8/16 ビット PPG の機能 .......................................170
8/16 ビット PPG の出力動作 ...............................182
8/16 ビット PPG の動作 .......................................181
8/16 ビット PPG の動作モード ...........................181
8/16 ビット PPG のパルスの端子出力の制御
..........................................................................185
8/16 ビット PPG のブロックダイヤグラム ....... 171
8/16 ビット PPG の割込み ................................... 186
8/16 ビット PPG のリロード値とパルス幅の関係
8/16 ビット PPG のリロード値とパルス幅の関係
..........................................................................183
8/16 ビット PPG のレジスタ
8/16 ビット PPG のレジスタ ............................... 173
487
A
A
アキュムレータ (A) ................................................30
A/D コンバータ
A/D コンバータの特長 .........................................200
A/D コンバータのブロックダイヤグラム .........202
A/D コンバータのレジスタ一覧 .........................203
ADCR0,ADCR1
A/D データレジスタ 0/1(ADCR0,ADCR1) .........210
ADCS0
A/D 制御ステータスレジスタ 0(ADCS0) ..........204
ADCS1
A/D 制御ステータスレジスタ 1(ADCS1) ..........207
AMR0/AMR1
アクセプタンスマスクレジスタ0/1(AMR0/AMR1)
..........................................................................302
AMSR
アクセプタンスマスク選択レジスタ (AMSR)
..........................................................................300
B
BAP
バッファアドレスポインタ (BAP) .......................64
BTR
ビットタイミングレジスタ (BTR) .....................286
BVALR
メッセージバッファ有効レジスタ (BVALR)
..........................................................................288
C
CAN コントローラ
CAN コントローラの受信フローチャート
..........................................................................315
CAN コントローラの使用上の注意 ...................324
CAN コントローラの送信の開始 .......................310
CAN コントローラの送信の完了 .......................311
CAN コントローラの送信フローチャート
..........................................................................311
CAN コントローラの送信要求の解除 ...............310
CAN コントローラの特長 ...................................268
CAN コントローラのブロックダイヤグラム
..........................................................................269
CAN 制御ステータスレジスタ
CAN 制御ステータスレジスタ (CSR) ................279
CCR
コンディションコードレジスタ (CCR) ...............32
CDCR
シリアル I/O プリスケーラ (CDCR) ...................257
CKSCR
クロック選択レジスタ (CKSCR) ..........................89
CLK 同期
CLK 同期ボーレート ............................................235
CLK 非同期
CLK 非同期ボーレート ........................................235
CMR
コモンレジスタバンクプリフィックス (CMR)
............................................................................39
CPU
CPU の概要 ..............................................................20
488
CPU メモリ空間の概要 .......................................... 21
CPU 間欠動作
CPU 間欠動作 .......................................................... 99
CSR
CAN 制御ステータスレジスタ (CSR) ................ 279
D
DCT
データカウンタ (DCT) ...........................................63
DIRR
遅延割込み要因発生 / 解除レジスタ
(DIRR:Delayed interrupt request register) ......... 73
DIV A,Ri
「DIV A,Ri」, 「DIVW A,RWi」命令の使用上の注
意 ........................................................................41
DIVW A,RWi
「DIV A,Ri」, 「DIVW A,RWi」命令の使用上の注
意 ........................................................................41
DLCRx
DLC レジスタ x(x=0 ∼ 15)(DLCRx) .................. 307
DLC レジスタ
メッセージバッファ (DLC レジスタ ) の一覧
..........................................................................275
DLC レジスタ x
DLC レジスタ x(x=0 ∼ 15)(DLCRx) .................. 307
DQ2
トグルビット 2 フラグ (DQ2) ............................. 373
DQ3
セクタ消去タイマフラグ (DQ3) .........................372
DQ5
タイミングリミット超過フラグ (DQ5) ............. 371
DQ6
トグルビットフラグ (DQ6) ................................. 370
DQ7
データポーリングフラグ (DQ7) .........................369
DTP
DTP/ 外部割込みの使用上の注意 .......................197
DTP の動作 ............................................................ 195
DTP 要求と外部割込み要求の切換え ................ 196
DTP/ 外部割込み
DTP/ 外部割込みの概要 .......................................190
DTP/ 外部割込みのブロックダイヤグラム
..........................................................................190
DTP/ 外部割込みのレジスタ ............................... 191
DTP/ 割込み許可レジスタ
DTP/ 割込み許可レジスタ (ENIR:Interrupt request
enable register) ................................................. 192
DTP/ 割込み要因レジスタ
DTP/ 割込み要因レジスタ (EIRR:External interrupt
request register) ................................................192
DTRx
データレジスタ x(x=0 ∼ 15)(DTRx) .................. 308
E
EEPROM
EEPROM メモリマップ .......................................350
EI2OS
EI2OS( 拡張インテリジェント I/O サービス )
..........................................................................245
EI2OS を使った変換動作 .....................................214
インテリジェント I/O サービス (EI2OS) 機能と割
込み ..................................................................148
拡張インテリジェント I/O サービス (EI2OS)
............................................................................61
拡張インテリジェント I/O サービス (EI2OS)
............................................................................45
単発モード時の EI2OS の起動例 ........................215
停止モード時の EI2OS の起動例 ........................219
連続モード時の EI2OS の起動例 ........................217
2
EI OS ステータスレジスタ
EI2OS ステータスレジスタ (ISCS) .......................65
EIRR
DTP/ 割込み要因レジスタ (EIRR:External interrupt
request register) ................................................192
ELVR
要求レベル設定レジスタ (ELVR:External level
register) .............................................................193
ENIR
DTP/ 割込み許可レジスタ (ENIR:Interrupt request
enable register) ..................................................192
F
F2MC-16LX
F2MC-16LX 命令一覧表 .......................................442
FMCS
制御ステータスレジスタ (FMCS) ......................363
ISCS
EI2OS ステータスレジスタ (ISCS) .......................65
ISD
拡張インテリジェント I/O サービスディスクリプ
タ (ISD) .............................................................. 63
L
LEIR
ラストイベント表示レジスタ (LEIR) ................ 283
LPMCR
低消費電力モード制御レジスタ (LPMCR) ......... 87
M
MB90595
MB90590 シリーズ割込みベクタ一覧表 ............. 59
MB90F594A/MB90F594G/MB90F591A/MB90F591G
MB90F594A/MB90F594G/MB90F591A/
MB90F591G シリアル書込み接続の基本構成
..........................................................................394
N
NCC
フラグ変化抑止プリフィックス (NCC) ..............39
I
P
I/O レジスタアドレスポインタ
I/O レジスタアドレスポインタ (IOA) .................64
I/O ポート
I/O ポート ..............................................................110
I/O ポートのレジスタ
I/O ポートのレジスタ ..........................................111
ICR
割込み制御レジスタ (ICR) ....................................48
ID
ID の設定 ...............................................................316
IDER
IDE レジスタ (IDER) ............................................289
IDE レジスタ
IDE レジスタ (IDER) ............................................289
IDRx
ID レジスタ x(x=0 ∼ 15)(IDRx) ..........................305
ID レジスタ
メッセージバッファ (ID レジスタ ) の一覧
..........................................................................272
ID レジスタ x
ID レジスタ x(x=0 ∼ 15)(IDRx) ..........................305
ILM
インタラプトレベルマスクレジスタ (ILM) ........33
IOA
I/O レジスタアドレスポインタ (IOA) .................64
IPCP0/1
インプットキャプチャデータレジスタ (IPCP0/1)
..........................................................................143
ISC01
インプットキャプチャ制御ステータスレジスタ
(ICS0/1) ............................................................143
PACSR
プログラムアドレス検出制御ステータスレジスタ
(PACSR) ...........................................................348
PADR0/PADR1
プログラムアドレス検出レジスタ (PADR0/
PADR1) ............................................................ 347
PC
プログラムカウンタ (PC) ...................................... 35
PLL クロック
メインクロックと PLL クロックの切換え ....... 100
PPG0/1 クロック選択レジスタ
PPG0/1 クロック選択レジスタ (PPG01) ............178
PPG01
PPG0/1 クロック選択レジスタ (PPG01) ............178
PPG0 動作モード制御レジスタ
PPG0 動作モード制御レジスタ (PPGC0) ..........174
PPG1 動作モード制御レジスタ
PPG1 動作モード制御レジスタ (PPGC1) ..........176
PPGC0
PPG0 動作モード制御レジスタ (PPGC0) ..........174
PPGC1
PPG1 動作モード制御レジスタ (PPGC1) ..........176
PRLL,PRLH
リロードレジスタ (PRLL,PRLH) ........................ 180
PS
プロセッサステータス (PS) ..................................32
PWC0
PWM 制御 0 レジスタ (PWC0) ........................... 330
PWC10/PWC20
PWM1&PWM2 コンペアレジスタ (PWC10/
PWC20) ............................................................ 331
489
PWM1&PWM2 コンペアレジスタ
PWM1&PWM2 コンペアレジスタ (PWC10/
PWC20) ............................................................331
PWM1&PWM2 選択レジスタ
PWM1&PWM2 選択レジスタ (PWS10/PWS20)
..........................................................................332
PWM 制御 0 レジスタ
PWM 制御 0 レジスタ (PWC0) ............................330
R
RCR
受信完了レジスタ (RCR) .....................................296
RFWTR
リモートフレーム受信待機レジスタ (RFWTR)
..........................................................................292
RIER
受信割込み許可レジスタ (RIER) ........................299
ROMM
ROM ミラー機能選択レジスタ (ROMM) ..........355
ROM ミラー機能選択モジュール
ROM ミラー機能選択モジュールのブロックダイ
ヤグラム ..........................................................354
ROM ミラー機能選択レジスタ
ROM ミラー機能選択レジスタ (ROMM) ..........355
ROVRR
受信オーバランレジスタ (ROVRR) ...................298
RP
レジスタバンクポインタ (RP) ..............................33
RRTRR
リモート要求受信レジスタ (RRTRR) ................297
RTEC
受信エラーカウンタおよび送信エラーカウンタ
(RTEC) .............................................................285
S
SDR
シリアルシフトデータレジスタ (SDR) .............256
SGAR
振幅データレジスタ (SGAR) ..............................341
SGDR
デクリメントグレードレジスタ (SGDR) ..........342
SGFR
周波数データレジスタ (SGFR) ...........................340
SGTR
トーンカウントレジスタ (SGTR) .......................343
SMCS
シリアルモード制御ステータスレジスタ (SMCS)
..........................................................................252
SSP
ユーザスタックポインタ (USP) とシステムスタッ
クポインタ (SSP) ..............................................31
T
TIER
送信割込み許可レジスタ (TIER) ........................ 295
TMCSR
タイマ制御ステータスレジスタ (TMCSR) の配置
..........................................................................151
TMR
16 ビットタイマレジスタ (TMR)/16 ビットリロー
ドレジスタ (TMRLR) のレジスタ配置
..........................................................................154
TMRLR
16 ビットタイマレジスタ (TMR)/16 ビットリロー
ドレジスタ (TMRLR) のレジスタ配置
..........................................................................154
TREQR
送信要求レジスタ (TREQR) ................................290
TRTRR
送信 RTR レジスタ (TRTRR) ..............................291
U
UART0
UART0 の応用例 ................................................... 246
UART0 の動作モード .......................................... 234
UART0 の特長 ....................................................... 224
UART0 のブロックダイヤグラム ...................... 225
UART0 のレジスタ .............................................. 226
UIDR
シリアルインプットデータレジスタ 0(UIDR0) と
シリアルアウトプットレジスタ 0(UODR0)
..........................................................................231
UMC
シリアルモード制御レジスタ 0(UMC0) の構成
..........................................................................227
UODR
シリアルインプットデータレジスタ 0(UIDR0) と
シリアルアウトプットレジスタ 0(UODR0)
..........................................................................231
URD
レート・データレジスタ 0(URD0) の構成
..........................................................................232
USP
ユーザスタックポインタ (USP) とシステムスタッ
クポインタ (SSP) .............................................. 31
USR0
シリアルステータスレジスタ 0(USR0) の構成
..........................................................................229
W
WDTC
ウォッチドッグタイマ制御レジスタ (WDTC)
..........................................................................121
X
x
TCANR
送信解除レジスタ (TCANR) ...............................293
TCR
送信完了レジスタ (TCR) .....................................294
490
メッセージバッファ (x) による受信方法 ..........320
メッセージバッファ (x) による送信方法 ..........318
あ
アウトプットコンペア
アウトプットコンペア .........................................135
アウトプットコンペア ( モジュールごとに 2 チャ
ネル ) ................................................................126
アウトプットコンペアのコンペアレジスタ
..........................................................................136
アウトプットコンペアの制御ステータスレジスタ
(OCS0/1) ...........................................................137
アウトプットコンペアのタイミング .................141
アウトプットコンペアのブロックダイヤグラム
..........................................................................135
アウトプットコンペアレジスタ 0 値
アウトプットコンペアレジスタ 0 値とコンペア一
致したときのカウンタクリア ......................134
アキュムレータ
アキュムレータ (A) ................................................30
アクセプタンスフィルタ
アクセプタンスフィルタの設定 .........................317
アクセプタンスフィルタリング
アクセプタンスフィルタリング .........................312
アクセプタンスマスク選択レジスタ
アクセプタンスマスク選択レジスタ (AMSR)
..........................................................................300
アクセプタンスマスクレジスタ 0/1
アクセプタンスマスクレジスタ0/1(AMR0/AMR1)
..........................................................................302
アドレス
アドレス作成の方式 ...............................................21
アドレス一致検出機能
アドレス一致検出機能のシステム構成例 .........350
アドレス一致検出機能の動作 .............................349
アドレス一致検出機能のブロックダイヤグラム
..........................................................................346
アドレス指定
バンク方式によるアドレス指定 ...........................24
アドレッシング
アドレッシング .....................................................419
間接アドレッシング .............................................428
直接アドレッシング .............................................421
アナログ入力許可レジスタ
アナログ入力許可レジスタ .................................200
アナログ入力許可レジスタ (ADER) ..................114
い
イベントカウント機能
16 ビットリロードタイマ ( イベントカウント機
能付 ) の概要 ...................................................148
レジスタ
リセット入力によって初期化されないレジスタ
............................................................................78
インターバル割込み
インターバル割込み機能 .....................................118
インタラプトレベルマスクレジスタ
インタラプトレベルマスクレジスタ (ILM) ........33
インテリジェント I/O サービス
インテリジェント I/O サービス (EI2OS) 機能と割
込み ..................................................................148
インピーダンス
入力インピーダンス .............................................201
インプットキャプチャ
インプットキャプチャ ........................................ 142
インプットキャプチャ ( モジュールごとに 2 チャ
ネル ) ................................................................ 127
インプットキャプチャ入力タイミング ............146
インプットキャプチャの取り込みタイミング例
..........................................................................145
インプットキャプチャのブロックダイヤグラム
..........................................................................142
インプットキャプチャ制御ステータスレジスタ
インプットキャプチャ制御ステータスレジスタ
(ICS0/1) ............................................................ 143
インプットキャプチャデータレジスタ
インプットキャプチャデータレジスタ (IPCP0/1)
..........................................................................143
う
ウォッチドッグ
ウォッチドッグカウンタ .................................... 123
ウォッチドッグ停止 ............................................ 123
ウォッチドッグタイマ
ウォッチドッグタイマの起動方法 .................... 123
ウォッチドッグタイマのブロックダイヤグラム
..........................................................................120
ウォッチドッグタイマ制御レジスタ
ウォッチドッグタイマ制御レジスタ (WDTC)
..........................................................................121
お
オーバフロー
オーバフローによるカウンタクリア ................ 133
か
外形寸法図
パッケージ外形寸法図 ............................................ 6
外部イベントカウント
外部イベントカウント ........................................ 156
外部クロック
内部クロックおよび外部クロック .................... 238
外部シフトクロックモード
外部シフトクロックモード ................................259
外部割込み
DTP/ 外部割込みの使用上の注意 .......................197
DTP 要求と外部割込み要求の切換え ................ 196
外部割込みの動作 ................................................194
概要
製品概要 .................................................................... 2
カウンタクリア
オーバフローによるカウンタクリア ................ 133
カウンタ
カウンタの動作状態 ............................................ 159
カウントクロック
8/16 ビット PPG のカウントクロックの選択
..........................................................................184
拡張インテリジェント I/O サービス
拡張インテリジェント I/O サービス (EI2OS)
............................................................................61
491
拡張インテリジェント I/O サービス (EI2OS) の構
造 ........................................................................62
拡張インテリジェント I/O サービス
EI2OS( 拡張インテリジェント I/O サービス )
..........................................................................245
拡張インテリジェント I/O サービス (EI2OS)
............................................................................45
拡張インテリジェント I/O サービス (EI2OS) の動
作フロー ............................................................67
拡張インテリジェント I/O サービスディスクリプタ
拡張インテリジェント I/O サービスディスクリプ
タ (ISD) ..............................................................63
拡張シリアル I/O インタフェース
拡張シリアル I/O インタフェースの割込み機能
..........................................................................265
間接アドレッシング
間接アドレッシング .............................................428
く
クロック
クロック選択の状態遷移 .....................................101
内部クロックおよび外部クロック .....................238
クロック選択レジスタ
クロック選択レジスタ (CKSCR) ..........................89
クロック発生部
クロック発生部の注意 ...........................................76
こ
コマンドシーケンス
コマンドシーケンス表 .........................................365
コモンレジスタバンクプリフィックス
コモンレジスタバンクプリフィックス (CMR)
............................................................................39
コンディションコードレジスタ
コンディションコードレジスタ (CCR) ...............32
コンペア一致
アウトプットコンペアレジスタ 0 値とコンペア一
致したときのカウンタクリア ......................134
コンペアレジスタ
2 組のコンペアレジスタによる出力波形例 ( 出力
の初期値は 0 とする ) ....................................140
アウトプットコンペアのコンペアレジスタ
..........................................................................136
コンペアレジスタ 0,1 を使用したときの出力波形
例 ( 出力の初期値は 0 とする ) .....................140
さ
サウンドジェネレータ
サウンドジェネレータのブロックダイヤグラム
..........................................................................336
サウンドジェネレータのレジスタ .....................337
サウンド制御レジスタ
サウンド制御レジスタ (SGCR) ..........................338
サブ秒レジスタ
サブ秒レジスタ (WTBR) .....................................167
492
し
システムスタックポインタ
ユーザスタックポインタ (USP) とシステムスタッ
クポインタ (SSP) .............................................. 31
実効アドレス
実効アドレスフィールド .................................... 437
実効アドレスフィールド
実効アドレスフィールド .................................... 420
実行サイクル
実行サイクル数 ....................................................435
実行サイクル数計算方法 .................................... 435
シフトクロック
外部シフトクロックモード ................................259
内部シフトクロックモード ................................259
シフト動作
シフト動作のスタート / ストップタイミング
..........................................................................262
周波数データレジスタ
周波数データレジスタ (SGFR) ........................... 340
受信エラーカウンタ
受信エラーカウンタおよび送信エラーカウンタ
(RTEC) .............................................................285
受信オーバーラン
受信オーバーラン ................................................313
受信オーバランレジスタ
受信オーバランレジスタ (ROVRR) ...................298
受信完了
受信完了 ................................................................ 314
受信完了レジスタ
受信完了レジスタ (RCR) .....................................296
受信動作
受信動作時 ( モード 0, モード 1, モード 3) のフラ
グのセットタイミング ..................................242
受信動作時 ( モード 2) のフラグのセットタイミ
ング .................................................................. 243
受信メッセージ
受信メッセージの格納 ........................................ 312
受信割込み許可レジスタ
受信割込み許可レジスタ (RIER) ........................ 299
出力端子機能
16 ビットリロードタイマの出力端子機能 ....... 158
シリアル I/O
拡張シリアル I/O インタフェースの割込み機能
..........................................................................265
シリアル I/O の動作 .............................................258
シリアル I/O の動作状態 .....................................260
シリアル I/O のブロックダイヤグラム ............. 250
シリアル I/O のレジスタ .....................................251
シリアル I/O プリスケーラ
シリアル I/O プリスケーラ (CDCR) .................. 257
シリアルアウトプットレジスタ
シリアルインプットデータレジスタ 0(UIDR) と
シリアルアウトプットレジスタ 0(UODR0)
..........................................................................231
シリアルインプットデータレジスタ
シリアルインプットデータレジスタ 0(UIDR0) と
シリアルアウトプットレジスタ 0(UODR0)
..........................................................................231
シリアル書込み接続
MB90F594A/MB90F594G/MB90F591A/
MB90F591G シリアル書込み接続の基本構成
..........................................................................394
シリアル書込み接続例
シリアル書込み接続例 ( ユーザ電源使用時 )
..........................................................................397
シリアル書込み接続例 ( ライタから電源供給時 )
..........................................................................399
シリアルクロック入力周波数
発振クロック周波数とシリアルクロック入力周波
数 ......................................................................396
シリアルシフトデータレジスタ
シリアルシフトデータレジスタ (SDR) .............256
シリアルステータスレジスタ
シリアルステータスレジスタ 0(USR0) の構成
..........................................................................229
シリアルステータスレジスタ 0(USR0) の内容
..........................................................................229
シリアルモード制御ステータスレジスタ
シリアルモード制御ステータスレジスタ (SMCS)
..........................................................................252
シリアルモード制御ステータスレジスタ (SMCS)
の各ビット機能 ..............................................252
シリアルモード制御レジスタ
シリアルモード制御レジスタ 0(UMC0) の構成
..........................................................................227
シリアルモード制御レジスタ 0(UMC0) の内容
..........................................................................227
振幅データレジスタ
振幅データレジスタ (SGAR) ..............................341
す
推奨設定例
推奨設定例 .............................................................107
スタックポインタ
ユーザスタックポインタ (USP) とシステムスタッ
クポインタ (SSP) ..............................................31
ステータスフラグ
送受信動作時のステータスフラグ .....................245
ステッピングモータコントローラ
ステッピングモータコントローラのブロックダイ
ヤグラム ..........................................................328
ステッピングモータコントローラのレジスタ
..........................................................................329
ストップモード
ストップモードの解除 ...........................................96
ストップモードへの遷移 .......................................96
スリープモード
スリープモードの解除 ...........................................93
スリープモードへの遷移 .......................................93
せ
制御信号
フラッシュメモリの制御信号 .............................361
制御ステータスレジスタ
A/D 制御ステータスレジスタ 0(ADCS0) ..........204
A/D 制御ステータスレジスタ 1(ADCS1) ..........207
アウトプットコンペアの制御ステータスレジスタ
(OCS0/1) ...........................................................137
制御ステータスレジスタ (FMCS) ...................... 363
セクタ消去
フラッシュメモリのセクタ消去手順 ................ 381
フラッシュメモリのセクタ消去を一時停止する
..........................................................................383
フラッシュメモリのセクタ消去を再開する
..........................................................................384
フラッシュメモリの任意のデータを消去する ( セ
クタ消去 ) ........................................................ 381
セクタ消去タイマフラグ
セクタ消去タイマフラグ (DQ3) .........................372
セットタイミング
受信動作時 ( モード 0, モード 1, モード 3) のフラ
グのセットタイミング ..................................242
受信動作時 ( モード 2) のフラグのセットタイミ
ング .................................................................. 243
送信動作時のフラグのセットタイミング ........244
フラグのセットタイミング ................................241
全体制御レジスタ
全体制御レジスタ ................................................278
全体制御レジスタの一覧 .................................... 270
専用レジスタ
専用レジスタ .......................................................... 27
そ
送受信動作時
送受信動作時のステータスフラグ .................... 245
送信 RTR レジスタ
送信 RTR レジスタ (TRTRR) ..............................291
送信エラーカウンタ
受信エラーカウンタおよび送信エラーカウンタ
(RTEC) .............................................................285
送信解除レジスタ
送信解除レジスタ (TCANR) ............................... 293
送信完了レジスタ
送信完了レジスタ (TCR) .....................................294
送信動作
送信動作時のフラグのセットタイミング ........244
送信要求
CAN コントローラの送信要求の解除 ............... 310
送信要求レジスタ
送信要求レジスタ (TREQR) ................................290
送信割込み許可レジスタ
送信割込み許可レジスタ (TIER) ........................ 295
ソフトウェア
ソフトウェア割込み .............................................. 45
ソフトウェア割込み
ソフトウェア割込み .............................................. 59
ソフトウェア割込みの構造 ..................................59
ソフトウェア割込みの動作 ..................................59
た
タイマカウンタ制御ステータスレジスタ
タイマカウンタ制御ステータスレジスタ (TCCS)
..........................................................................131
タイマ制御ステータスレジスタ
タイマ制御ステータスレジスタ (TMCSR) の内容
..........................................................................151
タイマ制御ステータスレジスタ (TMCSR) の配置
..........................................................................151
493
タイマ制御レジスタ
タイマ制御レジスタ (WTCR) .............................165
タイミング
16 ビットフリーランタイマのタイミング
..........................................................................134
タイミングリミット超過フラグ
タイミングリミット超過フラグ (DQ5) .............371
タイムベース
タイムベースカウンタ .........................................118
タイムベースタイマ
タイムベースタイマの概要 .................................116
タイムベースタイマのブロックダイヤグラム
..........................................................................116
TBTC
タイムベースタイマ制御レジスタ (TBTC)
..........................................................................117
タイムベースタイマ制御レジスタ
タイムベースタイマ制御レジスタ (TBTC)
..........................................................................117
ブロックダイヤグラム
アウトプットコンペアのブロックダイヤグラム
..........................................................................135
多重割込み
多重割込み ...............................................................58
多バイト長データ
多バイト長データのアクセス ...............................26
メモリ空間における多バイト長データの配置
............................................................................26
端子
端子機能説明 .............................................................8
端子配列図 .................................................................7
端子出力
8/16 ビット PPG のパルスの端子出力の制御
..........................................................................185
単発モード
単発モード .............................................................212
単発モード時の EI2OS の起動例 ........................215
ち
遅延割込み
遅延割込みのブロックダイヤグラム ...................72
遅延割込み発生 .......................................................74
遅延割込み要求ロックの使用上の注意 ...............72
遅延割込み要因発生 / 解除レジスタ
遅延割込み要因発生 / 解除レジスタ
(DIRR:Delayed interrupt request register) .........73
チップ消去
フラッシュメモリの全データを消去する ( チップ
消去 ) ................................................................380
注意
CAN コントローラの使用上の注意 ...................324
DTP/ 外部割込みの使用上の注意 .......................197
クロック発生部の注意 ...........................................76
遅延割込み要求ロックの使用上の注意 ...............72
注意事項の回避について .......................................42
低消費電力モード制御レジスタアクセスの注意
............................................................................92
低消費電力モードへ移行する場合の注意 ...........92
フラッシュメモリ使用上の注意 .........................385
変換データ保護機能の使用上の注意 .................222
494
「DIV A,Ri」, 「DIVW A,RWi」命令の使用上の注
意 ........................................................................41
直接アドレッシング
直接アドレッシング ............................................ 421
て
停止モード
停止モード ............................................................ 213
停止モード時の EI2OS の起動例 ........................ 219
低消費電力回路
低消費電力回路のブロックダイヤグラム ..........85
低消費電力制御回路
低消費電力制御回路の概要 ..................................84
低消費電力制御回路のレジスタ .......................... 86
低消費電力モード
低消費電力モードの動作 ...................................... 91
低消費電力モードへ移行する場合の注意 ..........92
低消費電力モード制御レジスタ
低消費電力モード制御レジスタアクセスの注意
............................................................................92
低消費電力モード制御レジスタ (LPMCR) ......... 87
低電力消費モード
低電力消費モードの設定 .................................... 317
データカウンタ
データカウンタ (DCT) ...........................................63
データフレーム
データフレームおよびリモートフレームの受信に
対する処理 ......................................................313
データポーリングフラグ
データポーリングフラグ (DQ7) .........................369
データレジスタ
タイマカウンタデータレジスタ (TCDT) ..........130
メッセージバッファ ( データレジスタ ) の一覧
..........................................................................277
A/D データレジスタ 0/1(ADCR0,ADCR1) ........210
データレジスタ x
データレジスタ x(x=0 ∼ 15)(DTRx) .................. 308
デクリメントグレードレジスタ
デクリメントグレードレジスタ (SGDR) ..........342
デバイスの取り扱い
デバイスの取り扱い .............................................. 14
転送データ
転送データフォーマット .................................... 239
と
動作モード
UART0 の動作モード .......................................... 234
トーンカウントレジスタ
トーンカウントレジスタ (SGTR) ...................... 343
特長
特長 ............................................................................3
トグルビット 2 フラグ
トグルビット 2 フラグ (DQ2) ............................. 373
トグルビットフラグ
トグルビットフラグ (DQ6) ................................. 370
時計タイマ
時計タイマのブロックダイヤグラム ................ 162
時計タイマのレジスタ ........................................ 163
時計モード
時計モードの解除 ..................................................94
時計モードへの遷移 ...............................................94
な
内部クロック
内部クロックおよび外部クロック .....................238
内部クロック動作
16 ビットリロードタイマの内部クロック動作
..........................................................................155
内部シフトクロックモード
内部シフトクロックモード .................................259
に
入出力回路
入出力回路 ...............................................................12
入力インピーダンス
入力インピーダンス .............................................201
入力端子機能
16 ビットリロードタイマの入力端子機能 ( 内部
クロックモード時 ) ........................................155
ね
ネガティブクロック
ネガティブクロック動作 .....................................266
は
ハードウェア
8/16 ビット PPG の各ハードウェアの初期値
..........................................................................187
ハードウェア割込み ...............................................44
ハードウェアシーケンス
ハードウェアシーケンスフラグ .........................367
ハードウェアスタンバイモード
ハードウェアスタンバイモードの解除 ...............98
ハードウェアスタンバイモードへの遷移 ...........98
ハードウェア割込み
ハードウェア割込み ...............................................54
ハードウェア割込みの構造 ...................................54
ハードウェア割り込みの動作 ...............................55
ハードウェア割込みの発生と解除 .......................56
バス動作停止
バス動作停止間の状態 (HALT=1) ......................282
バス動作停止を解除する条件 (HALT=0) ..........282
バス動作停止をセットする条件 (HALT=1)
..........................................................................282
バスモード
バスモード設定ビット .........................................106
発振安定待ち時間
発振安定待ち時間設定 .....................................97, 98
発振クロック周波数
発振クロック周波数とシリアルクロック入力周波
数 ......................................................................396
バッファアドレスポインタ
バッファアドレスポインタ (BAP) .......................64
パリティビット
パリティビット .....................................................240
パルス
8/16 ビット PPG のパルスの端子出力の制御
..........................................................................185
パルス幅
8/16 ビット PPG のリロード値とパルス幅の関係
..........................................................................183
バンクセレクトプリフィックス
バンクセレクトプリフィックス .......................... 38
バンク方式
バンク方式によるアドレス指定 .......................... 24
汎用レジスタ
汎用レジスタ .......................................................... 28
ひ
ビットタイミング
ビットタイミングの設定 .................................... 316
ビットタイミングレジスタ
ビットタイミングレジスタ (BTR) .....................286
秒 / 分 / 時間レジスタ
秒 / 分 / 時間レジスタ (WTSR/WTMR/WTHR)
..........................................................................168
ふ
フォーマット
転送データフォーマット .................................... 239
フラグ
受信動作時 ( モード 0, モード 1, モード 3) のフラ
グのセットタイミング ..................................242
受信動作時 ( モード 2) のフラグのセットタイミ
ング .................................................................. 243
送信動作時のフラグのセットタイミング ........244
フラグのセットタイミング ................................241
フラグ変化抑止プリフィックス
フラグ変化抑止プリフィックス (NCC) ..............39
フラッシュマイコンプログラマ
フラッシュマイコンプログラマとの最小限の接続
例 ( ユーザ電源使用時 ) ................................401
フラッシュマイコンプログラマとの最小限の接続
例 ( ライタから電源供給時 ) ........................ 403
フラッシュメモリ
2M/3M ビットフラッシュメモリの特長 ........... 358
フラッシュメモリ書込み / 消去の詳細説明
..........................................................................375
フラッシュメモリ書込み / 消去の方法 ............. 358
フラッシュメモリ書込み手順 ............................378
フラッシュメモリ使用上の注意 ........................ 385
フラッシュメモリ全体のブロックダイヤグラム
(2M ビットフラッシュメモリの例 ) ............359
フラッシュメモリにおけるリセットベクタアドレ
ス ......................................................................386
フラッシュメモリにデータを書込む ................ 377
フラッシュメモリの制御信号 ............................361
フラッシュメモリのセクタ消去手順 ................ 381
フラッシュメモリのセクタ消去を一時停止する
..........................................................................383
フラッシュメモリのセクタ消去を再開する
..........................................................................384
フラッシュメモリの全データを消去する ( チップ
消去 ) ................................................................ 380
495
フラッシュメモリの任意のデータを消去する ( セ
クタ消去 ) ........................................................381
フラッシュメモリのレジスタ .............................358
フラッシュメモリモード .....................................361
フラッシュメモリを読出し / リセット状態にする
..........................................................................376
2M ビットフラッシュメモリのプログラム例
..........................................................................387
プリスケーラ
シリアル I/O プリスケーラ (CDCR) ...................257
プリフィックス
コモンレジスタバンクプリフィックス (CMR)
............................................................................39
バンクセレクトプリフィックス ...........................38
フラグ変化抑止プリフィックス (NCC) ...............39
プリフィックスコード
プリフィックスコードが連続している場合 .......40
プリフィックス命令
割込み抑止命令とプリフィックス命令に関する制
約 ........................................................................40
フレームフォーマット
フレームフォーマットの設定 .............................316
プログラムアドレス検出制御ステータスレジスタ
プログラムアドレス検出制御ステータスレジスタ
(PACSR) ...........................................................348
プログラムアドレス検出レジスタ
プログラムアドレス検出レジスタ (PADR0/
PADR1) ............................................................347
プログラムカウンタ
プログラムカウンタ (PC) ......................................35
プログラムパッチ
プログラムパッチ処理フロー図 .........................352
プログラムパッチ処理例 .....................................351
プロセッサステータス
プロセッサステータス (PS) ..................................32
ブロックダイヤグラム
16 ビット入出力タイマのブロックダイヤグラム
..........................................................................127
16 ビットフリーランタイマのブロックダイヤグ
ラム ..................................................................129
16 ビットリロードタイマのブロックダイヤグラ
ム ......................................................................149
8/16 ビット PPG のブロックダイヤグラム
..........................................................................171
A/D コンバータのブロックダイヤグラム .........202
CAN コントローラのブロックダイヤグラム
..........................................................................269
DTP/ 外部割込みのブロックダイヤグラム
..........................................................................190
ROM ミラー機能選択モジュールのブロックダイ
ヤグラム ..........................................................354
UART0 のブロックダイヤグラム .......................225
アドレス一致検出機能のブロックダイヤグラム
..........................................................................346
インプットキャプチャのブロックダイヤグラム
..........................................................................142
ウォッチドッグタイマのブロックダイヤグラム
..........................................................................120
サウンドジェネレータのブロックダイヤグラム
..........................................................................336
シリアル I/O のブロックダイヤグラム .............250
ステッピングモータコントローラのブロックダイ
ヤグラム ..........................................................328
496
タイムベースタイマのブロックダイヤグラム
..........................................................................116
遅延割込みのブロックダイヤグラム .................. 72
低消費電力回路のブロックダイヤグラム ..........85
時計タイマのブロックダイヤグラム ................ 162
フラッシュメモリ全体のブロックダイヤグラム
(2M ビットフラッシュメモリの例 ) ............359
ブロックダイヤグラム ............................................ 5
へ
変換データ
変換データ保護機能 ............................................ 221
変換データ保護機能
変換データ保護機能の使用上の注意 ................ 222
変換データ保護機能のフロー例 (EI2OS の場合 )
..........................................................................222
変換動作
EI2OS を使った変換動作 .....................................214
ほ
ポートデータレジスタ
ポートデータレジスタ (PDR0 ∼ PDR9) ........... 112
ポート方向レジスタ
ポート方向レジスタ (DDR0 ∼ DDR9) ..............113
ボーレート
CLK 同期ボーレート ...........................................235
CLK 非同期ボーレート .......................................235
保護機能
変換データ保護機能 ............................................ 221
変換データ保護機能の使用上の注意 ................ 222
変換データ保護機能のフロー例 (EI2OS の場合 )
..........................................................................222
ま
マシンクロック
マシンクロック初期化 ........................................ 100
マルチレベルメッセージバッファ
マルチレベルメッセージバッファの構成の決定
..........................................................................322
み
未定義命令
未定義命令の実行 ..................................................70
未定義命令の実行による例外発生 ...................... 70
め
命令
未定義命令の実行 ..................................................70
命令の種類 ............................................................ 418
命令マップの構造 ................................................456
「DIV A,Ri」, 「DIVW A,RWi」命令の使用上の注
意 ........................................................................41
命令一覧表
F2MC-16LX 命令一覧表 ...................................... 442
メインクロック
メインクロックと PLL クロックの切換え ....... 100
メッセージバッファ
マルチレベルメッセージバッファの構成の決定
..........................................................................322
メッセージバッファ .....................................278, 304
メッセージバッファ (DLC レジスタ ) の一覧
..........................................................................275
メッセージバッファ (ID レジスタ ) の一覧
..........................................................................272
メッセージバッファ (x) による受信方法 ..........320
メッセージバッファ (x) による送信方法 ..........318
メッセージバッファ ( データレジスタ ) の一覧
..........................................................................277
メッセージバッファ制御レジスタ
メッセージバッファ制御レジスタ .....................278
メッセージバッファ有効レジスタ
メッセージバッファ有効レジスタ (BVALR)
..........................................................................288
メモリアクセスモード
メモリアクセスモード .........................................104
メモリ空間
CPU メモリ空間の概要 ..........................................21
メモリ空間における多バイト長データの配置
............................................................................26
メモリ空間マップ ...................................................22
メモリマップ
EEPROM メモリマップ .......................................350
も
モード
その他モード .........................................................361
単発モード .............................................................212
停止モード .............................................................213
連続モード .............................................................212
フラッシュメモリモード .....................................361
モード 0
受信動作時 ( モード 0, モード 1, モード 3) のフラ
グのセットタイミング ..................................242
モード 1
受信動作時 ( モード 0, モード 1, モード 3) のフラ
グのセットタイミング ..................................242
モード 2
受信動作時 ( モード 2) のフラグのセットタイミ
ング ..................................................................243
モード 3
受信動作時 ( モード 0, モード 1, モード 3) のフラ
グのセットタイミング ..................................242
モード端子
モード端子 .............................................................105
モードデータ
モードデータ .........................................................106
ゆ
ユーザスタックポインタ
ユーザスタックポインタ (USP) とシステムスタッ
クポインタ (SSP) ..............................................31
ユーザ電源
シリアル書込み接続例 ( ユーザ電源使用時 )
..........................................................................397
フラッシュマイコンプログラマとの最小限の接続
例 ( ユーザ電源使用時 ) .................................401
よ
要求レベル設定レジスタ
要求レベル設定レジスタ (ELVR:External level
register) .............................................................193
要求ロック
遅延割込み要求ロックの使用上の注意 ..............72
ら
ライタ
シリアル書込み接続例 ( ライタから電源供給時 )
..........................................................................399
フラッシュマイコンプログラマとの最小限の接続
例 ( ライタから電源供給時 ) ........................ 403
ラストイベント表示レジスタ
ラストイベント表示レジスタ (LEIR) ................ 283
り
リセット
リセット解除後の動作 .......................................... 77
リセット入力によって初期化されないレジスタ
............................................................................78
リセット要因 .......................................................... 80
リセット要因の発生 .............................................. 77
リセットベクタアドレス
フラッシュメモリにおけるリセットベクタアドレ
ス ......................................................................386
リモートフレーム
データフレームおよびリモートフレームの受信に
対する処理 ......................................................313
リモートフレーム受信待機レジスタ
リモートフレーム受信待機レジスタ (RFWTR)
..........................................................................292
リモート要求受信レジスタ
リモート要求受信レジスタ (RRTRR) ................ 297
リロード値
8/16 ビット PPG のリロード値とパルス幅の関係
..........................................................................183
リロードレジスタ
リロードレジスタ (PRLL,PRLH) ........................ 180
れ
レート・データレジスタ
レート・データレジスタ 0(URD0) の構成
..........................................................................232
レート・データレジスタ 0(URD0) の内容
..........................................................................232
レジスタ一覧
全体制御レジスタの一覧 .................................... 270
PWMS10/PWS20
PWM1&PWM2 選択レジスタ (PWS10/PWS20)
..........................................................................332
レジスタ
16 ビットタイマレジスタ (TMR)/16 ビットリロー
ドレジスタ (TMRLR) のレジスタ配置 ........154
16 ビットリロードタイマのレジスタ ............... 150
8/16 ビット PPG のレジスタ ............................... 173
A/D 制御ステータスレジスタ 0(ADCS0) ..........204
497
A/D 制御ステータスレジスタ 1(ADCS1) ..........207
CAN 制御ステータスレジスタ (CSR) ................279
DTP/ 外部割込みのレジスタ ...............................191
DTP/ 割込み許可レジスタ (ENIR:Interrupt request
enable register) ..................................................192
DTP/ 割込み要因レジスタ (EIRR:External interrupt
request register) ................................................192
EI2OS ステータスレジスタ (ISCS) .......................65
IDE レジスタ (IDER) ............................................289
ID レジスタ x(x=0 ∼ 15)(IDRx) ..........................305
PPG0/1 クロック選択レジスタ (PPG01) ............178
PPG0 動作モード制御レジスタ (PPGC0) ...........174
PPG1 動作モード制御レジスタ (PPGC1) ...........176
PWM1&PWM2 コンペアレジスタ (PWC10/
PWC20) ............................................................331
PWM1&PWM2 選択レジスタ (PWS10/PWS20)
..........................................................................332
PWM 制御 0 レジスタ (PWC0) ............................330
ROM ミラー機能選択レジスタ (ROMM) ..........355
UART0 のレジスタ ...............................................226
アウトプットコンペアのコンペアレジスタ
..........................................................................136
アウトプットコンペアの制御ステータスレジスタ
(OCS0/1) ...........................................................137
アクセプタンスマスク選択レジスタ (AMSR)
..........................................................................300
アクセプタンスマスクレジスタ0/1(AMR0/AMR1)
..........................................................................302
アナログ入力許可レジスタ .................................200
アナログ入力許可レジスタ (ADER) ..................114
インタラプトレベルマスクレジスタ (ILM) ........33
インプットキャプチャ制御ステータスレジスタ
(ICS0/1) ............................................................143
インプットキャプチャデータレジスタ (IPCP0/1)
..........................................................................143
ウォッチドッグタイマ制御レジスタ (WDTC)
..........................................................................121
クロック選択レジスタ (CKSCR) ..........................89
コンディションコードレジスタ (CCR) ...............32
サウンドジェネレータのレジスタ .....................337
サブ秒レジスタ (WTBR) .....................................167
周波数データレジスタ (SGFR) ...........................340
受信オーバランレジスタ (ROVRR) ...................298
受信完了レジスタ (RCR) .....................................296
受信割込み許可レジスタ (RIER) ........................299
シリアル I/O のレジスタ .....................................251
シリアルインプットデータレジスタ 0(UIDR0) と
シリアルアウトプットレジスタ 0(UODR0)
..........................................................................231
シリアルシフトデータレジスタ (SDR) .............256
シリアルステータスレジスタ 0(USR0) の構成
..........................................................................229
シリアルモード制御ステータスレジスタ (SMCS)
..........................................................................252
シリアルモード制御レジスタ 0(UMC0) の構成
..........................................................................227
振幅データレジスタ (SGAR) ..............................341
ステッピングモータコントローラのレジスタ
..........................................................................329
制御ステータスレジスタ (FMCS) ......................363
全体制御レジスタ .................................................278
専用レジスタ ...........................................................27
送信 RTR レジスタ (TRTRR) ..............................291
498
送信解除レジスタ (TCANR) ............................... 293
送信要求レジスタ (TREQR) ................................290
送信割込み許可レジスタ (TIER) ........................ 295
タイマカウンタ制御ステータスレジスタ (TCCS)
..........................................................................131
タイマ制御ステータスレジスタ (TMCSR) の配置
..........................................................................151
タイマ制御レジスタ (WTCR) ............................. 165
タイムベースタイマ制御レジスタ (TBTC)
..........................................................................117
遅延割込み要因発生 / 解除レジスタ
(DIRR:Delayed interrupt request register) ......... 73
低消費電力制御回路のレジスタ .......................... 86
低消費電力モード制御レジスタ (LPMCR) ......... 87
デクリメントグレードレジスタ (SGDR) ..........342
トーンカウントレジスタ (SGTR) ...................... 343
時計タイマのレジスタ ........................................ 163
汎用レジスタ .......................................................... 28
ビットタイミングレジスタ (BTR) .....................286
秒 / 分 / 時間レジスタ (WTSR/WTMR/WTHR)
..........................................................................168
フラッシュメモリのレジスタ ............................358
プログラムアドレス検出制御ステータスレジスタ
(PACSR) ...........................................................348
プログラムアドレス検出レジスタ (PADR0/
PADR1) ............................................................ 347
ポートデータレジスタ (PDR0 ∼ PDR9) ........... 112
ポート方向レジスタ (DDR0 ∼ DDR9) ..............113
メッセージバッファ制御レジスタ .................... 278
メッセージバッファ有効レジスタ (BVALR)
..........................................................................288
ラストイベント表示レジスタ (LEIR) ................ 283
リモートフレーム受信待機レジスタ (RFWTR)
..........................................................................292
リモート要求受信レジスタ (RRTRR) ................ 297
リロードレジスタ (PRLL,PRLH) ........................ 180
レート・データレジスタ 0(URD0) の構成
..........................................................................232
要求レベル設定レジスタ (ELVR:External level
register) .............................................................193
レジスタバンク ......................................................36
レジスタバンクポインタ (RP) ..............................33
割込み制御レジスタ (ICR) ....................................48
A/D データレジスタ 0/1(ADCR0,ADCR1) ........210
DLC レジスタ x(x=0 ∼ 15)(DLCRx) .................. 307
I/O ポートのレジスタ .......................................... 111
データレジスタ x(x=0 ∼ 15)(DTRx) .................. 308
レジスタ一覧
16 ビットアウトプットコンペアのレジスタ一覧
..........................................................................128
16 ビットインプットキャプチャのレジスタ一覧
..........................................................................128
16 ビットフリーランタイマのレジスタ一覧
..........................................................................128
A/D コンバータのレジスタ一覧 ........................ 203
メッセージバッファ (DLC レジスタ ) の一覧
..........................................................................275
メッセージバッファ (ID レジスタ ) の一覧
..........................................................................272
メッセージバッファ ( データレジスタ ) の一覧
..........................................................................277
レジスタバンク
レジスタバンク ......................................................36
レジスタバンクポインタ
レジスタバンクポインタ (RP) ..............................33
連続モード
連続モード .............................................................212
連続モード時の EI2OS の起動例 ........................217
わ
割込み
8/16 ビット PPG の割込み ...................................186
ソフトウェア割込み .........................................45, 59
多重割込み ...............................................................58
ハードウェア割込み .........................................44, 54
割込み制御レジスタ
割込み制御レジスタ (ICR) ....................................48
割込みフロー
割込みフロー ...........................................................52
割込みベクタ
割込みベクタ ...........................................................47
割込みベクタ一覧表 ...............................................47
割込みベクタ一覧
MB90590 シリーズ割込みベクタ一覧表 .............59
割込み抑止命令
割込み抑止命令 .......................................................40
割込み抑止命令とプリフィックス命令に関する制
約 ........................................................................40
499
500
CM44-10105-6
富士通マイクロエレクトロニクス • CONTROLLER MANUAL
F2MC-16LX
16 ビット・マイクロコントローラ
MB90590 Series
ハードウェアマニュアル
2008 年 7 月 第 6 版発行
発行
富士通マイクロエレクトロニクス株式会社
編集
マーケティング統括部
ビジネス推進部