7.2MB

本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。
富士通マイクロエレクトロニクス
CONTROLLER MANUAL
CM44-10106-6
2
F MC-16LX
16 ビット・マイクロコントローラ
MB90595 Series
ハードウェアマニュアル
F2MC-16LX
16 ビット・マイクロコントローラ
MB90595 Series
ハードウェアマニュアル
富士通マイクロエレクトロニクスのマイコンを効率的に開発するための情報を下記 URL にてご紹介いたします。
ご採用を検討中 , またはご採用いただいたお客様に有益な情報を公開しています。
開発における最新の注意事項に関しては , 必ず「Check Sheet」を参照してください。
「Check Sheet」はシステム開発において , 問題を未然に防ぐことを目的として , 最低限必要と思われるチェック項目
をリストにしたものです。
http://edevice.fujitsu.com/micom/jp-support/
富士通マイクロエレクトロニクス株式会社
はじめに
■ 本書の目的と対象読者
富士通マイクロエレクトロニクス製品につきまして,平素より格別のご愛読を賜り厚
くお礼申し上げます。
MB90595 シリーズは,ASIC(Application Specific IC) 対応が可能なオリジナル 16 ビッ
ト・ワンチップマイクロコントローラである F2MC®-16LX シリーズの汎用品の 1 つと
して開発された製品です。
本書は,実際にこの半導体を使って製品を設計する技術者の方を対象に,MB90595 シ
リーズの機能や動作について記載しています。本書をご一読ください。
■ 商標
F2MC は,FUJITSU Flexible Microcontroller の略で富士通マイクロエレクトロニクス株
式会社の商標です。
Embedded Algorithm TM は,Advanced Micro Devices 社の商標です。
その他の記載されている社名および製品名などの固有名詞は,各社の商標または登録商
標です。
■ 本書の全体構成
第 1 章 概要
この章では,MB90595 シリーズの特長や基本的な仕様について説明します。
第 2 章 CPU
この章では,CPU の機能と動作について説明します。
第 3 章 割込み
この章では,MB90595 シリーズの割込みと拡張インテリジェント I/O サービス
(EI2OS) の機能と動作について説明します。
第 4 章 遅延割込み
この章では,遅延割込みの機能と動作について説明します。
第 5 章 クロックとリセット
この章では,クロックとリセットの機能と動作について説明します。
第 6 章 低消費電力制御回路
この章では,低消費電力回路の機能と動作について説明します。
第 7 章 メモリアクセスモード
この章では,メモリアクセスモードの機能と動作について説明します。
第 8 章 I/O ポート
この章では,I/O ポートの機能と動作について説明します。
第 9 章 タイムベースタイマ
この章では,タイムベースタイマの機能と動作について説明します。
i
第 10 章 ウォッチドッグタイマ
この章では,ウォッチドッグタイマの機能と動作について説明します。
第 11 章 16 ビット入出力タイマ
この章では,16 ビット入出力タイマの機能と動作について説明します。
第 12 章 16 ビットリロードタイマ (イベントカウント機能付)
この章では,16 ビットリロードタイマ(イベントカウント機能付)の機能と動作に
ついて説明します。
第 13 章 8/16 ビット PPG
この章では,8/16 ビット PPG の機能と動作について説明します。
第 14 章 DTP/ 外部割込み
この章では,DTP/ 外部割込みの機能と動作について説明します。
第 15 章 A/D コンバータ
この章では A/D コンバータの機能と動作について説明します。
第 16 章 UART0
この章では,UART0 の機能と動作について説明します。
第 17 章 UART1(SCI)
この章では,UART1 (SCI) の機能と動作について説明します。
第 18 章 シリアル I/O
この章では,シリアル I/O の機能と動作について説明します。
第 19 章 CAN コントローラ
この章では,CAN コントローラの機能と動作について説明します。
第 20 章 ステッピングモータ コントローラ
この章では,ステッピングモータコントローラの機能と動作について説明します。
第 21 章 アドレス一致検出機能
この章では,アドレス一致検出の機能と動作について説明します。
第 22 章 ROM ミラー機能選択 モジュール
この章では,ROM ミラー機能選択モジュールについて説明します。
第 23 章 1M ビットフラッシュメモリ
この章では,1M ビットフラッシュメモリの機能と動作について説明します。
第 24 章 MB90F598/F598G シリアル書き込み接続例
この章では,
横河ディジタルコンピュータ株式会社製 AF220/AF210/AF120/AF110 フ
ラッシュマイコンプログラマを用いた場合のシリアル書込み接続例について説明
します。
付録
付録では,命令,I/O マップ,フラッシュメモリモードのタイミングダイヤグラム,
MB90595 割込みベクタ一覧表を示します。
ii
•
•
•
•
•
•
•
本資料の記載内容は , 予告なしに変更することがありますので , ご用命の際は営業部門にご確認くださ
い。
本資料に記載された動作概要や応用回路例は , 半導体デバイスの標準的な動作や使い方を示したもので ,
実際に使用する機器での動作を保証するものではありません。したがいまして , これらを使用するにあ
たってはお客様の責任において機器の設計を行ってください。これらの使用に起因する損害などについ
ては , 当社はその責任を負いません。
本資料に記載された動作概要・回路図を含む技術情報は , 当社もしくは第三者の特許権 , 著作権等の知的
財産権やその他の権利の使用権または実施権の許諾を意味するものではありません。また , これらの使用
について , 第三者の知的財産権やその他の権利の実施ができることの保証を行うものではありません。し
たがって , これらの使用に起因する第三者の知的財産権やその他の権利の侵害について , 当社はその責任
を負いません。
本資料に記載された製品は , 通常の産業用 , 一般事務用 , パーソナル用 , 家庭用などの一般的用途に使用
されることを意図して設計・製造されています。極めて高度な安全性が要求され , 仮に当該安全性が確保
されない場合 , 社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途(原子力
施設における核反応制御 , 航空機自動飛行制御 , 航空交通管制 , 大量輸送システムにおける運行制御 , 生
命維持のための医療機器 , 兵器システムにおけるミサイル発射制御をいう), ならびに極めて高い信頼性
が要求される用途(海底中継器 , 宇宙衛星をいう)に使用されるよう設計・製造されたものではありませ
ん。したがって , これらの用途にご使用をお考えのお客様は , 必ず事前に営業部門までご相談ください。
ご相談なく使用されたことにより発生した損害などについては , 責任を負いかねますのでご了承くださ
い。
半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても , 結果的に人身事故 ,
火災事故 , 社会的な損害を生じさせないよう , お客様は , 装置の冗長設計 , 延焼対策設計 , 過電流防止対策
設計 , 誤動作防止設計などの安全設計をお願いします。
本資料に記載された製品を輸出または提供する場合は , 外国為替及び外国貿易法および米国輸出管理関
連法規等の規制をご確認の上 , 必要な手続きをおとりください。
本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商標です。
Copyright ©2007-2008 FUJITSU MICROELECTRONICS LIMITED All rights reserved.
iii
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
デバイスの取扱い ............................................................................................................... 15
CPU ........................................................................................................ 19
2.1 CPU の概要 ........................................................................................................................
2.2 メモリ空間 ..........................................................................................................................
2.3 メモリ空間マップ ...............................................................................................................
2.4 リニア方式によるアドレス指定 .........................................................................................
2.5 バンク方式によるアドレス指定 .........................................................................................
2.6 メモリ空間における多バイト長データ ...............................................................................
2.7 レジスタ .............................................................................................................................
2.7.1
アキュムレータ (A) ...................................................................................................
2.7.2
ユーザスタックポインタ (USP) とシステムスタックポインタ (SSP) .....................
2.7.3
プロセッサステータス (PS) .....................................................................................
2.7.4
プログラムカウンタ (PC) .........................................................................................
2.8 レジスタバンク ..................................................................................................................
2.9 プリフィックスコード ........................................................................................................
2.10 割込み抑止命令 ..................................................................................................................
2.11 「DIV A,Ri」, 「DIVW A,RWi」命令の使用上の注意 ..........................................................
第3章
20
21
22
23
24
26
27
29
30
31
34
35
37
39
40
割込み .................................................................................................... 43
3.1 割込みの概要 ......................................................................................................................
3.2 割込みベクタ ......................................................................................................................
3.3 割込み制御レジスタ (ICR) ..................................................................................................
3.4 割込みフロー ......................................................................................................................
3.5 ハードウェア割込み ...........................................................................................................
3.5.1
ハードウェア割込みの動作 ......................................................................................
3.5.2
ハードウェア割込みの発生と解除 ............................................................................
3.5.3
多重割込み ...............................................................................................................
3.6 ソフトウェア割込み ...........................................................................................................
3.7 拡張インテリジェント I/O サービス (EI2OS) .....................................................................
3.7.1
拡張インテリジェント I/O サービスディスクリプタ (ISD) ......................................
3.7.2
EI2OS ステータスレジスタ (ISCS) ..........................................................................
3.8 拡張インテリジェント I/O サービス (EI2OS) の動作フローと使用手順 .............................
3.9 例外 ....................................................................................................................................
v
44
47
48
51
52
53
54
55
56
58
60
62
64
66
第4章
4.1
4.2
4.3
遅延割込み ............................................................................................. 67
遅延割込みモジュールの概要 ............................................................................................. 68
遅延割込みのレジスタ ........................................................................................................ 69
遅延割込みの動作 ............................................................................................................... 70
第5章
5.1
5.2
5.3
クロックとリセット ............................................................................... 71
クロック発生部 .................................................................................................................. 72
リセット要因の発生 ........................................................................................................... 73
リセット要因 ...................................................................................................................... 76
第6章
低消費電力制御回路 ............................................................................... 79
6.1 低消費電力制御回路の概要 .................................................................................................
6.2 低消費電力制御回路のレジスタ .........................................................................................
6.2.1
低消費電力モード制御レジスタ (LPMCR) ...............................................................
6.2.2
クロック選択レジスタ (CKSCR) ..............................................................................
6.3 低消費電力モードの動作 ....................................................................................................
6.3.1
スリープモード ........................................................................................................
6.3.2
時計モード ...............................................................................................................
6.3.3
ストップモード ........................................................................................................
6.3.4
ハードウェアスタンバイモード ...............................................................................
6.4 CPU 間欠動作 .....................................................................................................................
6.5 マシンクロック切換え ........................................................................................................
6.6 クロック選択の状態遷移 ....................................................................................................
第7章
7.1
7.2
7.3
メモリアクセスモード ........................................................................... 99
メモリアクセスモードの概要 ........................................................................................... 100
モード端子 ........................................................................................................................ 101
モードデータ .................................................................................................................... 102
第8章
I/O ポート ............................................................................................. 105
8.1 I/O ポート .........................................................................................................................
8.2 I/O ポートのレジスタ .......................................................................................................
8.2.1
ポートデータレジスタ ...........................................................................................
8.2.2
ポート方向レジスタ ...............................................................................................
8.2.3
アナログ入力許可レジスタ ....................................................................................
第9章
9.1
9.2
9.3
80
82
83
85
87
89
90
92
94
95
96
97
106
107
108
109
110
タイムベースタイマ ............................................................................. 111
タイムベースタイマの概要 ............................................................................................... 112
タイムベースタイマ制御レジスタ .................................................................................... 113
タイムベースタイマの動作 ............................................................................................... 114
第 10 章
ウォッチドッグタイマ ......................................................................... 115
10.1 ウォッチドッグタイマの概要 ........................................................................................... 116
10.2 ウォッチドッグタイマの動作 ........................................................................................... 118
第 11 章
16 ビット入出力タイマ ........................................................................ 119
11.1 16 ビット入出力タイマの概要 .......................................................................................... 120
11.2 16 ビット入出力タイマのレジスタ .................................................................................. 122
vi
11.3 16 ビットフリーランタイマ .............................................................................................
11.3.1
データレジスタ ......................................................................................................
11.3.2
コントロールステータスレジスタ ..........................................................................
11.3.3
16 ビットフリーランタイマの動作 ........................................................................
11.4 アウトプットコンペア ......................................................................................................
11.4.1
アウトプットコンペアのレジスタ ..........................................................................
11.4.2
アウトプットコンペアのコントロールステータスレジスタ ..................................
11.4.3
16 ビットアウトプットコンペアの動作 .................................................................
11.5 インプットキャプチャ ......................................................................................................
11.5.1
インプットキャプチャのレジスタ ..........................................................................
11.5.2
16 ビットインプットキャプチャの動作 .................................................................
第 12 章
16 ビットリロードタイマ(イベントカウント機能付)....................... 141
12.1 16 ビットリロードタイマ(イベントカウント機能付)の概要 .......................................
12.2 16 ビットリロードタイマのレジスタ ...............................................................................
12.2.1
タイマコントロールステータスレジスタ (TMCSR) ...............................................
12.2.2
16 ビットタイマレジスタ (TMR) /16 ビットリロードレジスタ (TMRLR) の
レジスタ配置 ...............................................................................................................
12.3 16 ビットリロードタイマの内部クロック動作と外部クロック動作 ................................
12.4 16 ビットリロードタイマのアンダフロー動作 ................................................................
12.5 16 ビットリロードタイマの出力端子機能 ........................................................................
12.6 カウンタの動作状態 .........................................................................................................
第 13 章
14.1
14.2
14.3
14.4
14.5
148
149
151
152
153
156
157
159
160
162
165
166
167
170
171
172
173
DTP/ 外部割込み .................................................................................. 175
DTP/ 外部割込みの概要 ....................................................................................................
DTP/ 外部割込みのレジスタ .............................................................................................
DTP/ 外部割込みの動作 ....................................................................................................
DTP 要求と外部割込み要求の切換え ...............................................................................
DTP/ 外部割込みの使用上の注意 .....................................................................................
第 15 章
142
144
145
8/16 ビット PPG .................................................................................. 155
13.1 8/16 ビット PPG の概要 ...................................................................................................
13.2 8/16 ビット PPG のブロックダイヤグラム ......................................................................
13.3 8/16 ビット PPG のレジスタ ............................................................................................
13.3.1
PPG0 動作モード制御レジスタ (PPGC0) ..............................................................
13.3.2
PPG1 動作モード制御レジスタ (PPGC1) ..............................................................
13.3.3
PPG0, PPG1 出力端子制御レジスタ (PPG01) ......................................................
13.3.4
リロードレジスタ (PRLL, PRLH) ...........................................................................
13.4 8/16 ビット PPG の動作 ...................................................................................................
13.5 8/16 ビット PPG のカウントクロックの選択 ..................................................................
13.6 8/16 ビット PPG のパルスの端子出力の制御 ..................................................................
13.7 8/16 ビット PPG の割込み ...............................................................................................
13.8 8/16 ビット PPG の各ハードウェアの初期値 ..................................................................
第 14 章
123
124
125
127
129
130
131
134
136
137
139
176
177
179
181
182
A/D コンバータ .................................................................................... 185
15.1 A/D コンバータの特長 ......................................................................................................
15.2 A/D コンバータのブロックダイヤグラム .........................................................................
15.3 A/D コンバータのレジスタ一覧 ........................................................................................
15.3.1
A/D コントロールステータスレジスタ (ADCS0) ...................................................
vii
186
188
189
190
15.3.2
A/D コントロールステータスレジスタ (ADCS1) ...................................................
15.3.3
データレジスタ (ADCR0, ADCR1) .........................................................................
15.4 A/D コンバータの動作 ......................................................................................................
15.5 EI2OS を使った変換動作 ..................................................................................................
15.5.1
単発モード時の EI2OS の起動例 ............................................................................
15.5.2
連続モード時の EI2OS の起動例 ............................................................................
15.5.3
停止モード時の EI2OS の起動例 ............................................................................
15.6 変換データ保護機能 .........................................................................................................
第 16 章
UART0 ................................................................................................. 205
16.1 UART0 の特長 ..................................................................................................................
16.2 UART0 のブロックダイヤグラム .....................................................................................
16.3 UART0 のレジスタ ...........................................................................................................
16.3.1
シリアルモードコントロールレジスタ 0(UMC0) ...................................................
16.3.2
ステータスレジスタ 0(USR0) ................................................................................
16.3.3
インプットデータレジスタ 0(UIDR0) とアウトプットレジスタ 0(UODR0) ..........
16.3.4
レート・データレジスタ 0(URD0) .........................................................................
16.4 UART0 の動作 ..................................................................................................................
16.5 ボーレート ........................................................................................................................
16.6 内部クロックおよび外部クロック ....................................................................................
16.7 転送データフォーマット ..................................................................................................
16.8 パリティビット ................................................................................................................
16.9 割込み生成とフラグのセットタイミング .........................................................................
16.9.1
受信動作時(モード 0, モード 1, モード 3)のフラグのセットタイミング ..........
16.9.2
受信動作時(モード 2)のフラグのセットタイミング ..........................................
16.9.3
送信動作時のフラグのセットタイミング ...............................................................
16.9.4
送受信動作時のステータスフラグ ..........................................................................
16.10 UART0 の応用例 ...............................................................................................................
第 17 章
206
207
208
209
211
213
214
216
217
219
220
221
222
223
224
225
226
227
UART1(SCI) ......................................................................................... 229
17.1 UART1 の特長 ..................................................................................................................
17.2 UART1 のブロックダイヤグラム .....................................................................................
17.3 UART1 のレジスタ一覧 ....................................................................................................
17.3.1
シリアルモードレジスタ 1(SMR1) .........................................................................
17.3.2
シリアルコントロールレジスタ (SCR1) ................................................................
17.3.3
シリアルインプットデータレジスタ 1(SIDR1)/
シリアルアウトプットデータレジスタ 1(SODR1) ......................................................
17.3.4
シリアルステータスレジスタ 1(SSR1) ..................................................................
17.3.5
UART1 通信プリスケーラコントロールレジスタ (U1CDCR) ................................
17.4 UART1 の動作モードとクロック選択 ..............................................................................
17.4.1
非同期(調歩同期)モード ....................................................................................
17.4.2
CLK 同期モード ......................................................................................................
17.5 UART1 のフラグと割込み発生要因 ..................................................................................
17.6 UART1 の割込みとフラグのセットタイミング ................................................................
17.7 UART1 の応用例と使用上の注意 .....................................................................................
第 18 章
192
194
196
198
199
200
201
202
230
231
232
233
235
237
238
240
241
244
246
248
249
252
シリアル I/O ......................................................................................... 255
18.1 シリアル I/O の概要 .......................................................................................................... 256
18.2 シリアル I/O のレジスタ ................................................................................................... 257
viii
18.2.1
シリアルモードコントロールステータスレジスタ (SMCS) ...................................
18.2.2
シリアルシフトデータレジスタ (SDR) ..................................................................
18.3 シリアル I/O プリスケーラ (SCDCR) ...............................................................................
18.4 シリアル I/O の動作 ..........................................................................................................
18.4.1
シフトクロック ......................................................................................................
18.4.2
シリアル I/O の動作状態 ........................................................................................
18.4.3
シフト動作のスタート / ストップタイミング ........................................................
18.4.4
拡張シリアル I/O インタフェースの割込み機能 ....................................................
18.5 ネガティブクロック動作 ..................................................................................................
第 19 章
258
262
263
264
265
266
268
270
271
CAN コントローラ ............................................................................... 273
19.1 CAN コントローラの特長 .................................................................................................
19.2 CAN コントローラのブロックダイヤグラム ....................................................................
19.3 全体コントロールレジスタの一覧 ....................................................................................
19.4 メッセージバッファ (ID レジスタ ) の一覧 .......................................................................
19.5 メッセージバッファ (DLC レジスタ / データレジスタ ) の一覧 .......................................
19.6 CAN コントローラのレジスタ分類 ..................................................................................
19.6.1
制御ステータスレジスタ (CSR) .............................................................................
19.6.2
バス動作停止ビット (HALT=1) ...............................................................................
19.6.3
ラストイベント表示レジスタ (LEIR) .....................................................................
19.6.4
受信および送信エラーカウンタ (RTEC) ................................................................
19.6.5
ビットタイミングレジスタ (BTR) ..........................................................................
19.6.6
メッセージバッファ有効レジスタ (BVALR) ..........................................................
19.6.7
IDE レジスタ (IDER) ..............................................................................................
19.6.8
送信要求レジスタ (TREQR) ...................................................................................
19.6.9
送信 RTR レジスタ (TRTRR) .................................................................................
19.6.10
リモートフレーム受信待機レジスタ (RFWTR) ......................................................
19.6.11
送信解除レジスタ (TCANR) ...................................................................................
19.6.12
送信完了レジスタ (TCR) ........................................................................................
19.6.13
送信割込み許可レジスタ (TIER) ............................................................................
19.6.14
受信完了レジスタ (RCR) ........................................................................................
19.6.15
リモート要求受信レジスタ (RRTRR) ....................................................................
19.6.16
受信オーバランレジスタ (ROVRR) ........................................................................
19.6.17
受信割込み許可レジスタ (RIER) ............................................................................
19.6.18
アクセプタンスマスク選択レジスタ (AMSR) ........................................................
19.6.19
アクセプタンスマスクレジスタ 0 および 1(AMR0/AMR1) ....................................
19.6.20
メッセージバッファ ...............................................................................................
19.6.21
ID レジスタ x(x=0 ∼ 15)(IDRx) ..............................................................................
19.6.22
DLC レジスタ x(x=0 ∼ 15)(DLCRx) .......................................................................
データレジスタ x(x=0 ∼ 15)(DTRx) ......................................................................
19.6.23
19.7 CAN コントローラの送信 .................................................................................................
19.8 CAN コントローラの受信 .................................................................................................
19.9 CAN コントローラの受信フローチャート ........................................................................
19.10 CAN コントローラの使用方法 ..........................................................................................
19.11 メッセージバッファ (x) による送信方法 ..........................................................................
19.12 メッセージバッファ (x) による受信方法 ..........................................................................
19.13 マルチレベルメッセージバッファの構成の決定 ..............................................................
19.14 CAN コントローラの使用上の注意 ..................................................................................
ix
274
275
276
277
279
281
282
285
286
288
289
291
292
293
294
295
296
297
298
299
300
301
302
303
305
307
308
310
311
313
315
318
319
321
323
324
326
第 20 章
ステッピングモータコントローラ ....................................................... 329
20.1 ステッピングモータコントローラの概要 .........................................................................
20.2 ステッピングモータコントローラのレジスタ ..................................................................
20.2.1
PWM 制御 0 レジスタ ............................................................................................
20.2.2
PWM1, PWM2 コンペアレジスタ ..........................................................................
20.2.3
PWM1, PWM2 選択レジスタ .................................................................................
第 21 章
21.1
21.2
21.3
21.4
アドレス一致検出機能 ......................................................................... 335
アドレス一致検出機能の概要 ...........................................................................................
アドレス一致検出機能のレジスタ ....................................................................................
アドレス一致検出機能の動作 ...........................................................................................
アドレス一致検出機能の使用例 .......................................................................................
第 22 章
330
331
332
333
334
336
337
339
340
ROM ミラー機能選択モジュール ......................................................... 343
22.1 ROM ミラー機能選択モジュールの概要 .......................................................................... 344
22.2 ROM ミラー機能選択レジスタ (ROMM) .......................................................................... 345
第 23 章
1M ビットフラッシュメモリ ................................................................ 347
23.1 1M ビットフラッシュメモリの概要 .................................................................................
23.2 フラッシュメモリ全体のブロックダイヤグラムとセクタ構成 .........................................
23.3 書込み / 消去モード ..........................................................................................................
23.4 フラッシュメモリコントロールステータスレジスタ (FMCS) .........................................
23.5 フラッシュメモリ自動アルゴリズム起動方法 ..................................................................
23.6 自動アルゴリズム実行状態の確認 ....................................................................................
23.6.1
データポーリングフラグ (DQ7) .............................................................................
23.6.2
トグルビットフラグ (DQ6) ....................................................................................
23.6.3
タイミングリミット超過フラグ (DQ5) ..................................................................
23.6.4
セクタ消去タイマフラグ (DQ3) .............................................................................
23.6.5
トグルビット 2 フラグ (DQ2) .................................................................................
23.7 フラッシュメモリ書込み / 消去の詳細説明 ......................................................................
23.7.1
フラッシュメモリを読出し / リセット状態にする .................................................
23.7.2
フラッシュメモリへのデータの書込み ..................................................................
23.7.3
フラッシュメモリの全データの消去 ( チップ消去)...............................................
23.7.4
フラッシュメモリの任意のデータの消去 ( セクタ消去 ) ........................................
23.7.5
フラッシュメモリのセクタ消去の一時停止 ...........................................................
23.7.6
フラッシュメモリのセクタ消去の再開 ..................................................................
23.8 フラッシュメモリ使用上の注意 .......................................................................................
23.9 フラッシュメモリにおけるリセットベクタアドレス .......................................................
23.10 フラッシュセキュリティの特長 .......................................................................................
23.11 1M ビットフラッシュメモリのプログラム例 ...................................................................
第 24 章
24.1
24.2
24.3
24.4
24.5
348
349
351
353
355
357
359
360
361
362
363
365
366
367
370
371
374
375
376
378
379
380
MB90F598/F598G シリアル書き込み接続例 ....................................... 385
MB90F598/F598G シリアル書込み接続の基本構成 .........................................................
シリアル書込み接続例 ( ユーザ電源使用時 ) ....................................................................
シリアル書込み接続例 ( ライタから電源供給時 ) .............................................................
フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 ) .....................
フラッシュマイコンプログラマとの最小限の接続例 ( ライタから電源供給時 ) ..............
x
386
390
392
394
396
付録
付録 A
付録 B
B.1
B.2
B.3
B.4
B.5
B.6
B.7
B.8
B.9
付録 C
付録 D
.............................................................................................................. 399
I/O マップ ....................................................................................................................
命令 .............................................................................................................................
命令の種類 ...................................................................................................................
アドレッシング ...........................................................................................................
直接アドレッシング ....................................................................................................
間接アドレッシング ....................................................................................................
実行サイクル数 ...........................................................................................................
実効アドレスフィールド .............................................................................................
命令一覧表の読み方 ....................................................................................................
F2MC-16LX 命令一覧表 ..............................................................................................
命令マップ ...................................................................................................................
フラッシュメモリモードのタイミングダイアグラム ..................................................
MB90595 割込みベクタ一覧表 ....................................................................................
400
407
408
409
411
418
425
427
429
432
446
468
473
索引 ........................................................................................................................ 477
xi
xii
本版での主な変更内容
ページ
407
∼
467
場所
変更内容(詳細は本文を参照してください。)
付録 B 命令
「付録 B 命令」全体を変更
変更箇所は , 本文中のページ左側の│によって示しています。
< 参考 > 4 版→ 5 版での主な変更内容
ページ
場所
−
−
変更内容(詳細は本文を参照してください。)
用語を変更
( 受容 → アクセプタンス )
15
第 1 章 概要
1.8 デバイスの取扱い
● 供給電圧の安定化 を追加
74
第 5 章 クロックとリセット
5.2 リセット要因の発生
表 5.2-2 リセット入力によって初期化されないレジスタ の
MCS を変更
(×→○)
88
第 6 章 低消費電力制御回路
6.3 低消費電力モードの動作
表 6.3-2 低消費電力モードへの遷移に使用される命令の一
覧 を変更
182
● 外部割込み要求レベル を変更
183
第 14 章 DTP/ 外部割込み
14.5 DTP/ 外部割込みの使用上の
注意
199
第 15 章 A/D コンバータ
■単発モード時の EI2OS の起動例 を変更
2
200
15.5.1 単発モード時の EI OS の
起動
EI2OS の設定
ICR2 → ICR10
割込みシーケンス
RET → RETI
ICR2: 割込み制御レジスタ→ ICR10: 割込み制御レジスタ
第 15 章 A/D コンバータ
■連続モード時の EI2OS の起動例を変更
15.5.2 連続モード時の
起動例
201
EI2OS
の
284
EI2OS の設定
ICR2 → ICR10
EI2OS 終了割込みシーケンス
RET → RETI
ICR2: 割込み制御レジスタ→ ICR10: 割込み制御レジスタ
第 15 章 A/D コンバータ
2
282
図 14.5-1 レベル設定時の割込み要求フラグビット
(EIRR:ER) を変更
■停止モード時の EI2OS の起動例を変更
15.5.3 停止モード時の EI OS の
起動
EI2OS の設定
第 19 章 CAN コントローラ
19.6.1 制御ステータスレジスタ
(CSR)
19.6.1 制御ステータスレジスタ (CSR) の 要約 を変更
ICR2 → ICR10
2
EI OS 終了割込みシーケンス
RET → RETI
ICR2: 割込み制御レジスタ→ ICR10: 割込み制御レジスタ
【bit0】HALT: バス動作停止ビット を変更
xiii
< 参考 > 4 版→ 5 版での主な変更内容
ページ
場所
変更内容(詳細は本文を参照してください。)
■ バス動作停止を解除する条件 (HALT=0) の < 注意事項 >
を変更
(・バスオフ時に HALT ビットに "0" を書き込む場合は ,
HALT ビットが "1" になっていることを確認後 ,"0" を書き
込んでください。を追加 )
285
第 19 章 CAN コントローラ
19.6.2 バス動作停止ビット
(HALT=1)
373
第 23 章 1M ビットフラッシュ
図 23.7-2 フラッシュメモリのセクタ消去手順の例 を変更
メモリ
23.7.4 フラッシュメモリの任意の
データを消去する ( セクタ消去 )
432
付録 B F2MC-16LX の命令
B.8 F2MC-16LX 命令一覧表
表 B.8-1 転送系命令 ( バイト ) 41 命令 を変更
(MOV @AL,AH / MOV @A,T → MOV @AL,AH)
433
表 B.8-2 転送系命令 ( ワード・ロングワード ) 38 命令 を
変更
(MOVW @AL,AH / MOVW @A,T → MOVW @AL,AH)
444
表 B.8-17 アキュムレータ操作命令 ( バイト・ワード ) 6 命
令
(SWAPW / XCHW A,T → SWAPW)
変更箇所は , 本文中のページ左側の│によって示しています。
xiv
第1章
概要
MB90595 シリーズの特長や基本的な仕様について
説明します。
1.1 製品概要
1.2 特長
1.3 ブロックダイヤグラム
1.4 パッケージ外形寸法図
1.5 端子配列図
1.6 端子機能説明
1.7 入出力回路
1.8 デバイスの取扱い
1
第 1 章 概要
1.1
製品概要
表 1.1-1 に , MB90595 シリーズの製品概要を示します。
■ 製品概要
表 1.1-1 製品概要
MB90V595/V595G
特長
MB90F598/F598G
MB90598/598G
F2MC-16LX CPU
CPU
システムクロック
オンチップ PLL クロック逓倍方式 (× 1, × 2, × 3, × 4, PLL 停止時 1/2)
最小命令実行時間 62.5ns (4MHz 原発振 4 逓倍)
ブートブロック
フラッシュメモリ 128KB
MASK ROM 128KB
ハード・ワイヤード・リセット・
ベクタ
ROM
外部
RAM
6KB
パッケージ
PGA-256
QFP100
エミュレータ専用電源 *
無
-
4KB
4KB
*: エミュレーションポッド MB2145-507 をご使用いただく際のディップスィッチ S2 の設定です。
詳細につきましては , MB2145-507 ハードウェアマニュアル(2.7 エミュレータ専用電源)をご参照くださ
い。
< 注意事項 >
2
型格に G サフィックスの付いた製品については , CAN コントローラの機能が拡張さ
れています。
CAN コントローラの章の 「19.6.5 ビットタイミングレジスタ (BTR)」をご参照く
ださい。
第 1 章 概要
1.2
特長
表 1.2-1 に , MB90595 シリーズの特長を示します。
■ 特長
表 1.2-1 MB90595 の特長 (1 / 2)
機能
特長
UART0
全 2 重ダブルバッファ方式
非同期 / 同期転送 (スタート / ストップビット付) をサポートします。
ボーレート 4808/5208/9615/10417/19230/38460/62500/500000bps (非同期)
システムクロック =16MHz 時 500K/1M/2Mbps (同期)
UART1 (SCI)
全 2 重ダブルバッファ方式
非同期 (スタート / ストップ同期 ) および CLK 同期通信
ボーレート 1202/2404/4808/9615/31250bps(非同期)
6, 8, 10, 12, 16MHz 時 62.5K/125K/250K/500K/1Mbps(同期)
シリアル I/O
MSB または LSB から転送開始可能です。
内部クロック同期転送および外部クロック同期転送をサポートします。
ポジティブエッジとネガティブエッジクロック同期をサポートします。
ボーレート システムクロック=16MHz時31.25K/62.5K/125K/500K/1M/2Mbps
A/D コンバータ
10 ビットまたは 8 ビットの分解能
8 本の入力 ch
変換時間 :26.3 µs
16 ビットリロードタイ
マ (2ch)
動作クロック周波数 fsys/21, fsys/23, fsys/25(fsys= システムクロック周波数)
外部イベントカウント機能をサポートします。
16 ビット入出力タイマ
オーバフロー時に割込み信号を出力します。
アウトプットコンペア (ch.0) との照合時に , タイマクリアをサポートしま
す。
動作クロック周波数 fsys/22, fsys/24, fsys/26, fsys/28 (fsys= システムクロック
周波数)
16 ビットアウトプット
コンペア (4ch)
16 ビット入出力タイマとの照合時に , 割込み信号を出力します。
16 ビットキャプチャレジスタ× 4 本
1 対のコンペアレジスタを出力信号生成に使用可能です。
16 ビットインプット
キャプチャ (4ch)
立上りエッジ , 立下りエッジ , またはその両方を検出します。
16 ビットキャプチャレジスタ× 4 本
外部イベント時に割込み信号を出力します。
3
第 1 章 概要
表 1.2-1 MB90595 の特長 (2 / 2)
機能
特長
8 ビットと 16 ビットの動作モードをサポートします。
8 ビットリロードカウンタ× 12 本
L パルス幅用の 8 ビットリロードレジスタ× 12 本
H パルス幅用の 8 ビットリロードレジスタ× 12 本
1 対の 8 ビットリロードカウンタを 1 本の 16 ビットリロードカウンタとし
8/16 ビット PPG
(プログラマブルパルス て , または 8 ビットプリスケーラと 8 ビットリロードカウンタとして構成可
能です。
発生部)(6ch)
出力端子× 6 本
動作クロック周波数 fsys, fsys/21, fsys/22, fsys/23, fsys/24 または
128 µs@fosc=4MHz (fsys= システムクロック周波数 , fosc= 発振クロック周
波数)
CAN インタフェース
CAN 仕様バージョン 2.0 パート A およびパート B に準拠します。
エラー時に自動再送します。
リモートフレームに応答して自動伝送します。
データおよび ID 用の順位付けされた 16 個のメッセージバッファ
複数メッセージをサポートします。
受入れフィルタの柔軟な構成 :
全ビットコンペア / 全ビットマスク /2 個の部分ビットマスク
最高 1Mbps までサポートします。
ステッピングモータコ
ントローラ (4ch)
各 ch に対する高電流出力× 4 本
各 ch に対する同期化済 8 ビット PWM × 2 本
MB89940 設計リソースを継承します。
外部割込み (8ch)
エッジ検出とレベル検出が設定可能です。
入出力ポート
ほとんど , 全外部端子を汎用入出力として使用可能です。
すべてのプッシュプル出力とシュミットトリガ入力
入力 / 出力または周辺信号として , ビット単位でプログラム可能です。
フラッシュメモリ
自動プログラミング , Embeded AlgorithmTM*, 書込み / 消去 / 消去一時停止 /
消去再開コマンドをサポートします。
アルゴリズムの完了を示すフラグ
フラッシュメモリ中の固定ブートセクタを示すために , ハード・ワイヤー
ド・リセット・ベクタが使用可能です。
ブートブロック構成
各ブロックで消去を実行可能です。
*: Embedded AlgorithmTM は Advanced Micro Devices Inc. の商標です。
4
第 1 章 概要
ブロックダイヤグラム
1.3
図 1.3-1 に , MB90595 シリーズのブロックダイヤグラムを示します。
■ ブロックダイヤグラム
図 1.3-1 ブロックダイヤグラム
X0,X1
RST
クロック
制御回路
HST
16LX
CPU
入出力タイマ
RAM 4K
インプット
キャプチャ
×4ch
ROM/
フラッシュ
128K
プリスケーラ
IN[3:0]
アウトプット
コンペア
×4ch
OUT[3:0]
8/16-bit
PPG×6ch
PPG[5:0]
SOT0
SCK0
UART 0
SIN0
SOT1
SCK1
SIN1
UART 1
(SC1)
F2MC-16 Bus
プリスケーラ
CAN
RX
コントローラ
TX
16bit
リロードタイマ
×2ch
TIN[1:0]
TOT[1:0]
プリスケーラ
PWM1M[3:0]
SOT2
SCK2
SIN2
シリアル
I/O
PWM1P[3:0]
SMC
4ch
PWM2M[3:0]
PWM2P[3:0]
DVCC[1:0]
AVCC
DVSS[2:0]
AVSS
AN[7:0]
AVRH
AVRL
10bit
ADC×8ch
外部割込み
8ch
INT[7:0]
ADTG
5
第 1 章 概要
パッケージ外形寸法図
1.4
図 1.4-1 に , MB90595 シリーズのパッケージ外形寸法図を示します。
なお , 本外形寸法は参考用です。正式版については , 別途ご相談ください。
■ パッケージ外形寸法図
図 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
0.25(.010)
+0.35
3.00 –0.20
+.014
.118 –.008
(Mounting height)
0~8°
31
1
30
0.65(.026)
0.32±0.05
(.013±.002)
0.13(.005)
M
0.17±0.06
(.007±.002)
"A"
C
2002 FUJITSU LIMITED F100008S-c-5-5
最新の外形寸法図については , 下記の URL にてご確認ください。
http://edevice.fujitsu.com/jp/datasheet/jf-ovpklv.html
6
0.80±0.20
(.031±.008)
0.88±0.15
(.035±.006)
0.25±0.20
(.010±.008)
(Stand off)
単位:mm (inches)
注意:括弧内の値は参考値です。
P00/IN0
P01/IN1
P02/IN2
P03/IN3
P04/OUT0
P05/OUT1
P06/OUT2
P07/OUT3
P10/PPG0
P11/PPG1
P12/PPG2
P13/PPG3
P14/PPG4
P15/PPG5
P16/TIN1
P17/TOT1
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
P34
P35
P36
P37
P40/SCT0
P41/SOK0
P42/SIN0
P43/SIN1
P44/SCK1
Vcc
P45/SOT1
P46/SOT2
P47/SCK2
C
P50/SIN2
P51/INT4
P52/INT5
Vss
X0
X1
Vcc
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
QFP-100
パッケージコード (モールド)
FPT-100P-M06
MD2
HST
P92/INT0
P91/RX
P90/TX
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
RST
P95/INT3
P94/INT2
P93/INT1
1.5
P20
P21
P22
P23
P24
P25
P26
P27
P30
P31
Vss
P32
P33
第 1 章 概要
端子配列図
図 1.5-1 に , MB90595 シリーズの端子配列図を示します。
■ 端子配列図
図 1.5-1 端子配列図
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
MD1
MD0
P57/TOT0
P56/TIN0
P67/AN7
P66/AN6
P65/AN5
P64/AN4
Vss
P63/AN3
P62/AN2
P61/AN1
P60/AN0
AVss
AVRL
AVRH
AVcc
P55/ADTG
P54/INT7
P53/INT6
7
第 1 章 概要
端子機能説明
1.6
表 1.6-1 に , MB90595 シリーズの端子機能説明を示します。
■ 端子機能説明
表 1.6-1 端子機能説明 ( 1 / 4 )
端子番号
端子名
82
X0
回路形式
機能説明
発振入力端子です。
A
83
X1
77
RST
B
リセット入力端子です。
52
HST
C
ハードウェアスタンバイ入力端子です。
発振出力端子です。
P00 ∼ P03
汎用入出力ポートです。
G
85 ∼ 88
IN0 ∼ IN3
インプットキャプチャの入力端子です。
P04 ∼ P07
汎用入出力ポートです。
G
89 ∼ 92
OUT0 ∼ OUT3
アウトプットコンペアの出力端子です。
P10 ∼ P15
汎用入出力ポートです。
D
93 ∼ 98
PPG0 ∼ PPG5
プログラマブルパルス発生部の出力端子です。
P16
99
汎用入出力ポートです。
D
TIN1
16 ビットリロードタイマ 1 の TIN 入力端子です。
P17
100
汎用入出力ポートです。
D
TOT1
16 ビットリロードタイマ 1 の TOT 出力端子です。
1∼8
P20 ∼ P27
G
汎用入出力ポートです。
9, 10
P30, P31
G
汎用入出力ポートです。
12 ∼ 16
P32 ∼ P36
G
汎用入出力ポートです。
17
P37
D
汎用入出力ポートです。
P40
18
汎用入出力ポートです。
G
SOT0
UART0 の SOT 出力端子です。
P41
19
汎用入出力ポートです。
G
SCK0
UART0 の SCK 入出力端子です。
P42
20
SIN0
8
汎用入出力ポートです。
G
UART0 の SIN 入力端子です。
第 1 章 概要
表 1.6-1 端子機能説明 ( 2 / 4 )
端子番号
端子名
回路形式
P43
21
汎用入出力ポートです。
G
SIN1
UART1 の SIN 入力端子です。
P44
22
汎用入出力ポートです。
G
SCK1
UART1 の SCK 入出力端子です。
P45
24
汎用入出力ポートです。
G
SOT1
UART1 の SOT 出力端子です。
P46
25
汎用入出力ポートです。
G
SOT2
シリアル I/O の SOT 出力端子です。
P47
26
汎用入出力ポートです。
G
SCK2
シリアル I/O の SCK 入出力端子です。
P50
28
汎用入出力ポートです。
D
SIN2
シリアル I/O の SIN 入力端子です。
P51 ∼ P54
汎用入出力ポートです。
D
29 ∼ 32
INT4 ∼ INT7
INT4 ∼ INT7 の外部割込み入力端子です。
P55
33
汎用入出力ポートです。
D
ADTG
A/D コンバータの外部トリガ入力端子です。
汎用入出力ポートです。
P60 ∼ P63
E
38 ∼ 41
AN0 ∼ AN3
A/D コンバータの入力端子です。
P64 ∼ P67
汎用入出力ポートです。
E
43 ∼ 46
AN4 ∼ AN7
A/D コンバータの入力端子です。
P56
47
汎用入出力ポートです。
D
TIN0
16 ビットリロードタイマ 0 の TIN 入力端子です。
P57
48
汎用入出力ポートです。
D
TOT0
16 ビットリロードタイマ 0 の TOT 出力端子です。
P70 ∼ P73
54 ∼ 57
機能説明
PWM1P0
PWM1M0
PWM2P0
PWM2M0
汎用入出力ポートです。
F
ステッピングモータコントローラ ch.0 の出力端子
です。
9
第 1 章 概要
表 1.6-1 端子機能説明 ( 3 / 4 )
端子番号
端子名
回路形式
P74 ∼ P77
59 ∼ 62
PWM1P1
PWM1M1
PWM2P1
PWM2M1
汎用入出力ポートです。
F
P80 ∼ P83
64 ∼ 67
PWM1P2
PWM1M2
PWM2P2
PWM2M2
PWM1P3
PWM1M3
PWM2P3
PWM2M3
F
F
ステッピングモータコントローラ ch.3 の出力端子
です。
汎用入出力ポートです。
D
TX
CAN インタフェースの TX 出力端子です。
P91
75
汎用入出力ポートです。
D
RX
CAN インタフェースの RX 入力端子です。
P92
76
汎用入出力ポートです。
D
INT0
INT0 の外部割込み入力端子です。
P93 ∼ P95
汎用入出力ポートです。
D
78 ∼ 80
INT1 ∼ INT3
10
ステッピングモータコントローラ ch.2 の出力端子
です。
汎用入出力ポートです。
P90
74
ステッピングモータコントローラ ch.1 の出力端子
です。
汎用入出力ポートです。
P84 ∼ P87
69 ∼ 72
機能説明
INT1 ∼ INT3 の外部割込み入力端子です。
58, 68
DVCC
-
高電流出力バッファの専用電源入力端子です (端
子番号 54 ∼ 72)。
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
H
ださい。
テストモード用入力端子です。VSS に接続してくだ
さい。
第 1 章 概要
表 1.6-1 端子機能説明 ( 4 / 4 )
端子番号
端子名
回路形式
機能説明
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 / 3)
分類
回路
備考
発振帰還抵抗
約 1M Ω
X1
発振帰還抵抗
A
クロック入力
X0
HARD,SOFT
STANDBY
CONTROL
プルアップ抵抗付きヒステリシス入力
プルアップ抵抗 : 約 50k Ω
B
R(プルアップ)
R
ヒステリシス入力
ヒステリシス入力端子
C
R
ヒステリシス入力
12
第 1 章 概要
表 1.7-1 入出力回路 (2 / 3)
分類
回路
備考
•
•
CMOS 出力
ヒステリシス入力
•
•
•
CMOS 出力
ヒステリシス入力
アナログ入力
•
•
CMOS 高電流出力
ヒステリシス入力
P-ch
D
N-ch
R
ヒステリシス入力
P-ch
N-ch
E
P-ch
アナログ入力
R
N-ch
ヒステリシス入力
P-ch
高電流
F
N-ch
R
ヒステリシス入力
13
第 1 章 概要
表 1.7-1 入出力回路 (3 / 3)
分類
回路
備考
•
•
•
CMOS 出力
ヒステリシス入力
TTL 入力 (MB90F598/F598G のみ)
•
プルダウン抵抗付き ヒステリシス入力
プルダウン抵抗 : 約 50k Ω
Flash 品にはプルダウン抵抗はありま
せん
P-ch
N-ch
G
R
ヒステリシス入力
R
T
TTL
ヒステリシス入力
H
14
R
R(プルダウン)
•
第 1 章 概要
1.8
デバイスの取扱い
デバイスを取り扱う際には , 次の 16 の点について特にご注意ください。
• ラッチアップの防止
• 供給電圧の安定化
• 未使用端子の処理
• 外部クロックの使用
• 電源入力端子 (VCC/VSS)
• プルアップ / ダウン抵抗
• 水晶発振回路について
• A/D コンバータの電源 , アナログ入力の投入順序について
• A/D コンバータ未使用時の端子処理について
• N.C. 端子の処理について
• 電源投入時の注意点
• 初期化について
• ポート 0,1 からの出力が不定になる場合 (MB90598/F598/V595/V595G のみ )
• 「DIV A,Ri」,「DIVW A,RWi」命令を使用する場合
• REALOS を使用する場合
• PLL クロックモード動作中の注意について
■ デバイスの取り扱い
● ラッチアップの防止
CMOS IC は , 以下の条件でラッチアップ現象を生じることがあります。
• VCC を超えるか VSS に満たない電圧が , 入力または出力端子に適用された場合。
• 定格電圧を超える電圧が VCC と VSS の間に適用された場合。
• AVCC 電源入力が VCC 電圧の前に適用された場合。
ラッチアップ現象は , 電流を急激に増加させ , デバイスを傷つけることがあります。
● 供給電圧の安定化
VCC 電源電圧の動作保証内においても , 電源電圧の急激な変化があると誤動作を起こす
場合がありますので VCC 電源電圧を安定させてください。安定化の基準としては , 商用
周波数 (50Hz ∼ 60Hz) での VCC リプル変動 (peak to peak 値 ) は , 標準 VCC 電源電圧値の
10% 以下に , また電源の切換え時などの瞬時変化においては , 過渡変動率が 0.1V/ms 以
下になるように電源電圧を抑えてください。
● 未使用端子の処理
使用していない入力端子を開放のままにした場合 , 誤動作およびラッチアップによる
永久破壊の原因となることがありますので , 2K Ω 以上の抵抗を介して , プルアップま
たはプルダウンなどの処理をしてください。
また , 使用していない入出力端子がある場合は , 出力状態に設定して開放するか , また
は入力状態に設定して入力端子と同じ処置をするかしてください。
15
第 1 章 概要
● 外部クロックの使用
外部クロックを使用するには , X0 端子を駆動して , X1 端子は開放してください。
図 1.8-1 に , 外部クロックの使用方法を示します。
図 1.8-1 外部クロックの使用
MB90595 シリーズ
X0
X1
● 電源入力端子 (VCC/VSS)
図 1.8-2 に示すように , すべての VCC 電源端子は , 必ず同電位にしてください。また ,
すべての VSS 電源端子も同様に扱ってください。複数の VCC または VSS システムがあ
る場合 , デバイスは保証された動作範囲内でも正しく動作しません。
図 1.8-2 電源入力端子 (VCC/VSS)
Vcc
Vss
Vcc
Vss
Vss
Vcc
MB90595
シリーズ
Vcc
Vss
Vss
Vcc
● プルアップ / ダウン抵抗
MB90595 シリーズは , 内部プルアップ / ダウン抵抗をサポートしていません。必要で
あれば , 外部構成部品を使用してください。
● 水晶発振回路について
X0, X1 端子の近辺のノイズはこのデバイスの誤動作の元となります。X0, X1 端子およ
び水晶振動子(あるいはセラミック振動子), さらにグランドへのバイパスコンデンサ
はできる限り近くになるように , またその配線は , ほかの配線とできる限り交差しない
ようにプリント基板を設計してください。
また , X0, X1 端子の回りをグランドで囲むようなプリント基板アートワークは , 安定し
た動作を期待できますので , 強くお薦めします。
16
第 1 章 概要
● 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=DVCC=VSS に接続して
ください。
● N.C. 端子の処理について
N.C.(内部接続)端子は , 必ず開放にして使用してください。
● 電源投入時の注意点
内部に内蔵している降圧回路の誤動作を防ぐために , 電源投入時における電圧の立上
り時間は , 50 µ s(0.2V ∼ 2.7V の間)以上を確保してください。
● 初期化について
デバイス内には , パワーオンリセットによってのみ初期化される内蔵レジスタ類があ
ります。これらの初期化を期待する場合は電源の再投入を行ってください。
● ポート 0, 1 からの出力が不定になる場合(MB90598/F598/V595/V595G のみ)
電源を投入後 , 降圧回路の発振安定待ち時間(パワーオンリセット中)に RST 端子が
"H" の場合 , ポート 0, 1 から不定を出力します。RST 端子が "L" の場合 , ポート 0, 1 は
ハイ・インピーダンス状態になります。
タイミングは , 図 1.8-3 および図 1.8-4 のようになりますので注意してください。
17
第 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:降圧回路の発振安定待ち時間 2
ハイ・インピーダンス
17
/発振クロック周波数(発振クロック周波数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) が使用できま
せん。
● 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 コアは , 民生用・車載用機器等の高速リアルタイム処理が要求さ
れる用途向けに設計された 16bitCPU です。F2MC-16LX の命令セットはコントロー
ラ用途向けに設計されており , 各種制御の高速・高効率処理が可能です。
■ CPU の概要
F2MC-16LX CPU コアは 16 ビットデータ処理は勿論 , 内部に 32 ビットアキュームレー
タを塔載しているため 32 ビットデータ処理も可能です。メモリ空間は最大 16Mbyte
(拡張可能), リニア方式およびバンク方式のいずれかにてアクセス可能です。また , 命
令体系は F2MC-8L の A-T アーキテクチャをベースに , 高級言語対応命令の追加・アド
レッシングモードの拡張・乗除算命令の強化・ビット処理の充実化により命令が強化
されています。
以下に , F2MC-16LX CPU の特長を示します。
● 最小命令実行時間
62.5ns (4MHz 発振 , 4 逓倍)
● 最大メモリ空間
16Mbyte, リニア / バンク方式にてアクセス
● コントローラ用途に最適化された命令体系
• 豊富なデータタイプ ビット / バイト / ワード / ロングワード
• 拡張されたアドレッシングモード 23 種類
• 32bit アキュムレータの採用による高精度演算 (32 ビット長)の強化
● 強力な割込み機能
8 つのプライオリティレベル (プログラマブル)
● CPU に依存しない自動転送機能
最大 16ch までの拡張インテリジェント I/O サービス
● 高級言語 (C 言語)/ マルチタスクに対応した命令体系
システムスタックポイントの採用 / 命令セットの対称性 / バレルシフト命令
● 実行速度の向上
4byte のキュー
20
第 2 章 CPU
2.2
メモリ空間
F2MC-16LX CPU が管理するデータ・プログラム・I/O はすべて F2MC-16LX CPU
が持つ 16Mbyte のメモリ空間のいずれかに配置されます。CPU は 24bit のアドレス
バスでこれらのアドレスを示すことにより , 各リソースをアクセスすることができ
ます。
■ CPU メモリ空間の概要
図 2.2-1 に , F2MC-16LX システムとメモリマップの関係例を示します。
図 2.2-1 F2MC-16LX システムとメモリマップの関係例
FFFFFFH
F2 MC-16LX
CPU
プログラム
FF8000H
データ
810000H
割込み
800000H
データ領域
周辺回路
〔デバイス〕
プログラム領域
汎用ポート
0000C0H
0000B0H
000020H
000000H
割込みコントローラ
周辺回路
汎用ポート
■ アドレス作成の方式
F2MC-16LX のアドレス指定には , 以下に示す 2 つの方式があります。
● リニア方式
24bit アドレスすべてを命令により指定する方式
● バンク方式
アドレス上位 8bit を用途に応じたバンクレジスタで , アドレス下位 16bit を命令により
指定する方式
21
第 2 章 CPU
2.3
メモリ空間マップ
図 2.3-1 に , MB90595 シリーズのメモリ空間マップを示します。
■ メモリ空間マップ
図 2.3-1 に示すように , バンク 00 の上位部分は FF バンク ROM のイメージであり , C コ
ンパイラのスモールモデルを有効にします。下位 16 ビットも同様なため , ポインタ宣
言内の far 仕様を使用せずに ROM 内のテーブルを参照できます。たとえば , 00C000H
にアクセスしようとすると , ROM 内の FFC000H の値にアクセスすることになります。
バンク FF 内の ROM 領域は 48Kbyte を超え , バンク 00 内にその全体イメージを表示す
ることはできません。
FF4000H ∼ FFFFFFH の間のイメージはバンク 00 内で可視ですが , FF0000H ∼ FF3FFFH
の間のイメージはバンク FF 内でしか可視でありません。
図 2.3-1 メモリ空間マップ
MB90V595/V595G
FFFFFFH
FF0000H
FEFFFFH
ROM (FFバンク)
ROM (FEバンク)
FC0000H
00FFFFH
004000H
FF0000H
FEFFFFH
ROM (FFバンク)
ROM (FEバンク)
ROM (FDバンク)
ROM (FCバンク)
ROM (FFバンク
のイメージ)
001FFFH
001900H
0018FFH
FFFFFFH
FE0000H
FE0000H
FDFFFFH
FD0000H
FCFFFFH
MB90F598/F598G/MB90598/MB90598G
00FFFFH
004000H
ROM (FFバンク
のイメージ)
001FFFH
周辺
RAM 6K
001900H
周辺
0010FFH
RAM 4K
000100H
0000BFH
000000H
22
000100H
周辺
0000BFH
000000H
周辺
第 2 章 CPU
2.4
リニア方式によるアドレス指定
リニア方式には以下に示す 2 つの方式があります。
• 24 ビットオペランド指定……オペランドにて直接 24bit のアドレスを指定する方
式
• 32 ビットレジスタ間接指定……32bit の汎用レジスタの内容の下位 24bit をアド
レスとして引用する方式。
■ 24 ビットオペランド指定
図 2.4-1 に , 24 ビットオペランド指定の例を , 図 2.4-2 に , 32 ビットレジスタ間接指定
の例を示します。
図 2.4-1 リニア方式 (24 ビットオペランド指定)の例
JMPP
123456H
旧プログラムカウンタ
+プログラムバンク
17
17452DH
452D
123456H
新プログラムカウンタ
+プログラムバンク
12
JMPP
123456H
次の命令
3456
図 2.4-2 リニア方式 (32 ビットレジスタ間接指定)の例
MOV
A,@RL1+7
旧AL
XXXX
090700H
3A
+7
RL1
(上位8bitは無視)
新AL
240906F9
003A
23
第 2 章 CPU
2.5
バンク方式によるアドレス指定
バンク方式は 16Mbyte の空間を 64Kbyte ごとの 256 個のバンクに分割し , 以下に
示す 5 つのバンクレジスタで各空間に対応するバンクを指定します。
• プログラムバンクレジスタ (PCB)
• データバンクレジスタ (DTB)
• ユーザスタックバンクレジスタ (USB)
• システムスタックバンクレジスタ (SSB)
• アディショナルバンクレジスタ (ADB)
■ バンク方式によるアドレス指定
● プログラムバンクレジスタ (PCB) による指定
プログラムバンクレジスタ (PCB) によって指定される 64Kbyte のバンクをプログラム
(PC) 空間とよび , 主として命令コードやベクタテーブル , 即値データなどが存在しま
す。
● データバンクレジスタ (DTB) による指定
データバンクレジスタ (DTB) によって指定される 64Kbyte のバンクをデータ (DT) 空間
とよび , 主として読み書き可能なデータや内外リソースの制御 / データレジスタなどが
存在します。
● ユーザスタックバンクレジスタ (USB)・システムスタックバンクレジスタ (SSB) による指
定
ユーザスタックバンクレジスタ (USB) あるいはシステムスタックバンクレジスタ
(SSB) によって指定される 64Kbyte のバンクをスタック (SP) 空間とよび , プッシュ /
ポップ命令や割込みのレジスタ退避などの際にスタックアクセスが生じたときにアク
セスされる領域です。どちらの空間が使用されるかはコンディションコードレジスタ
中の S フラグの値に依存します。
● アディショナルバンクレジスタ (ADB) による指定
アディショナルバンクレジスタ (ADB) によって指定される 64Kbyte のバンクをアディ
ショナル (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
B3FFFFH
B30000H
92FFFFH
920000H
68FFFFH
680000H
4BFFFFH
4B0000H
プログラム空間
アディショナル空間
ユーザスタック空間
データ空間
システムスタック空間
FFH
: PCB(プログラムバンクレジスタ)
(
B3H
: ADB(アデショナルバンクレジスタ)
92H
: USB(ユーザスタックバンクレジスタ)
68H
: DTB(データバンクレジスタ)
(
4BH
: SSB(システムスタックバンクレジスタ)
000000H
25
第 2 章 CPU
2.6
メモリ空間における多バイト長データ
メモリへの書込みはアドレスの低い方から順に行われます。したがって , 32 ビット
長データであれば下位 16bit が先に転送され , 続いて上位 16bit が転送されます。
なお , 下位データの書込み直後にリセット信号を入力すると上位データが書き込ま
れないことがあります。
■ メモリ空間における多バイト長データの配置
図 2.6-1 に , メモリにおける多バイト長データの構成を示します。データは下位 8bit が
n 番地に , 以下 n+1 番地 , n+2 番地 , n+3 番地・・・の順に配置されます。
図 2.6-1 メモリにおける多バイト長データの配置の例
MSB
H
↑
01010101
LSB
11001100
11111111
00010100
01010101
11001100
11111111
n番地
00010100
↓
L
■ 多バイト長データのアクセス
アクセスはすべてバンク内を基本にして行われますので , 多バイト長のデータをアク
セスする命令では , FFFFH 番地の次のアドレスは同じバンクの 0000H 番地になります。
図 2.6-2 に , 多バイト長データのアクセス命令の例を示します。
図 2.6-2 MOVW A, 080FFFFH の実行
H
↑
80FFFFH
↓
L
26
??
??
実行後のAL
23H
01H
01H
・
・
・
800000H
実行前のAL
23H
第 2 章 CPU
2.7
レジスタ
F2MC-16LX のレジスタは大別して , 専用レジスタと , 汎用レジスタの 2 種類に分け
ることができます。
専用レジスタは , CPU の内部に専用ハードウェアとして存在し , 使用する用途が
CPU のアーキテクチャ上で限定されています。
汎用レジスタは , 通常のメモリと同じく , 使用する用途をユーザが指定することが
できるものです。CPU のアドレス空間上に RAM と共存し , アドレスを指定しない
でアクセスできるという点では専用レジスタと同じです。
■ 専用レジスタ
F2MC-16LX CPU コアの専用レジスタは以下に示す 13 本があります。
• アキュムレータ (A=AH:AL)……16bit × 2 本のアキュムレータ(合計 32bit のアキュ
ムレータとしても使用可能)。
• ユーザスタックポインタ (USP)……ユーザスタック領域を示す 16bit のポインタ
• システムスタックポインタ (SSP)……システムスタック領域を示す16bit のポインタ
• プロセッサステータス (PS)……システムの状態を示す 16bit のレジスタ
• プログラムカウンタ (PC)……プログラムが格納されているアドレスを持つ 16bit の
レジスタ
• プログラムバンクレジスタ (PCB)……PC 空間を示す 8bit のレジスタ
• データバンクレジスタ (DTB)……DT 空間を示す 8bit のレジスタ
• ユーザスタックバンクレジスタ (USB)……ユーザスタック空間を示す 8bit のレジス
タ
• システムスタックバンクレジスタ (SSB)……システムスタック空間を示す 8bit のレ
ジスタ
• アディショナルバンクレジスタ (ADB)……AD 空間を示す 8bit のレジスタ
• ダイレクトページレジスタ (DPR)……ダイレクトページを示す 8bit のレジスタ
図 2.7-1 に , 専用レジスタの構成を示します。
27
第 2 章 CPU
図 2.7-1 専用レジスタ
AH
AL
アキュムレータ
USP
ユーザスタックポインタ
SSP
システムスタックポインタ
PS
プロセッサステータス
PC
プログラムカウンタ
DPR
ダイレクトページレジスタ
PCB
プログラムバンクレジスタ
DTB
データバンクレジスタ
USB
ユーザスタックバンクレジスタ
SSB
システムスタックバンクレジスタ
ADB
アディショナルデータバンクレジスタ
8 bit
16 bit
32 bit
■ 汎用レジスタ
図 2.7-2 に示すように , F2MC-16LX の汎用レジスタは主記憶の 000180H ∼ 00037FH(最
大の場合)に存在し , レジスタバンクポインタ (RP) によって先に述べたアドレスのど
の部分が現在使用中のレジスタバンクであるかを指定します。各バンクには以下に示
す 3 種のレジスタが存在します。これらは独立ではなく , 以下に示すような関係があり
ます。
• R0 ∼ R7 : 8bit の汎用レジスタ
• RW0 ∼ RW7: 16bit の汎用レジスタ
• RL0 ∼ RL3: 32bit の汎用レジスタ
図 2.7-2 汎用レジスタ
MSB
000180H + RP*10H
汎用レジスタの
先頭アドレス
LSB
16bit
下位
RW0
RL0
RW1
RW2
RL1
RW3
上位
R1
R0
RW4
R3
R2
RW5
R5
R4
RW6
R7
R6
RW7
バイトレジスタとワードレジスタの上位 / 下位バイトの関係は ,
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]
という式で表すことができます。
28
RL2
RL3
第 2 章 CPU
2.7.1
アキュムレータ (A)
アキュムレータ (A) レジスタは , 2 つの 16bit 長の演算用レジスタ AH および AL で
構成され , 演算などを行った際の結果やデータ転送の一時記憶などに使用されます。
■ アキュムレータ (A)
アキュムレータ (A) レジスタでは , 図 2.7-3 に示すように , 32bit データ処理時は AH と
AL を連結して使用します。また , 図 2.7-4 に示すように , 16bit データ処理のワード処
理や 8bit データ処理のバイト処理のときは AL のみが使用されます。A レジスタ中の
データはメモリ / レジスタ (Ri, RWi, RLi) 中のデータと各種演算ができ , F2MC-8 のとき
と同様 , F2MC-16LX でも基本的にワード長以下のデータを AL へ転送しますと , 転送前
の AL 中のデータが自動的に AH に転送されます(データ保持機能)ので , データ保持
機能と AL -AH 間演算にて各種処理効率を上げることが可能になります。
AL へのバイト長以下のデータの転送時は , データは符号拡張またはゼロ拡張され 16bit
長となり AL へ格納されます。AL 中のデータは , ワード長としてもバイト長としても
扱えます。AL にバイト処理の算術演算命令を実行すると , 演算前の AL の上位 8bit は
無視され演算結果の上位 8bit はすべて "0" になります。A レジスタは , リセットでは初
期化されず , リセット直後は不定値になります。
図 2.7-3 32bit データ転送例
MOVL
A,@RW1+6
MSB
実行前のA
XXXXH
XXXXH
DTB
実行後のA
8F74H
2B52H
AH
AL
A6H
メモリ空間
LSB
A61540H
8FH
74H
A6153EH
2BH
52H
15H
38H
+6
RW1
図 2.7-4 AL -AH 転送例
MOVW
A,@RW1+6
MSB
実行前のA
XXXXH
1234H
DTB
実行後のA
1234H
1234H
AH
AL
A6H
メモリ空間
LSB
A61540H
8FH
74H
A6153EH
2BH
52H
15H
38H
+6
RW1
29
第 2 章 CPU
ユーザスタックポインタ (USP) とシステムスタック
ポインタ (SSP)
2.7.2
ユーザスタックポインタ (USP) およびシステムスタックポインタ (SSP) は , 16bit
のレジスタであり , プッシュ / ポップ命令およびサブルーチン実行時のデータ退避 /
復帰のメモリアドレスを示します。
■ ユーザスタックポインタ (USP) とシステムスタックポインタ (SSP)
図 2.7-5 に示すように , ユーザスタックポインタ (USP) とシステムスタックポインタ
(SSP) は , スタック系の命令により使用されますが , プロセッサステータス中の S フラグ
が "0" のときは , USP レジスタが有効になり , S フラグが "1" のときは SSP レジスタが有
効になります。また , 割込みが受付られると S フラグがセットされるため , 割込み時の
レジスタ退避は必ず SSP の示すメモリ中に行われます。割込みルーチンでのスタック
処理は SSP で , 割込みルーチン以外のスタック処理は USP が用いられます。スタック
空間を分ける必要のない場合は SSP だけをお使いください。
スタック時のアドレスの上位 8bit は , SSP → SSB, USP → USB により示されます。ま
た USP および SSP は , リセットでは初期化されず , 不定値になります。
図 2.7-5 スタック操作命令とスタックポインタ
Sフラグが"0"の時のPUSHW Aの例
実行前
AL
A624H
USP
F328H
SSB
56H?
SSP
1234H
USB
C6H
USP
F326H
SSB
56H
SSP
1234H
C6F326H
A6H
24H
A624H
USB
C6H
USP
F328H
561232H
XX
XX
1
SSB
56H
SSP
1234H
A624H
USB
C6H
USP
F328H
561232H
A6H
24H
SSB
56H
SSP
1232H
0
AL
A624H
0
Sフラグ
C6F326H
LSB
C6H
Sフラグ
実行後
MSB
USB
XX
XX
Sフラグが"0"であるため
ユーザスタックを使用
Sフラグが"1"の時のPUSHW Aの例
実行前
AL
Sフラグ
実行後
AL
Sフラグ 1
< 注意事項 >
30
Sフラグが"1"であるため
システムスタックを使用
スタックポインタに設定すべき値は, 原則として偶数アドレスを使用してください。
第 2 章 CPU
2.7.3
プロセッサステータス (PS)
プロッセッサステータス (PS) は , CPU の動作制御を行うビットと CPU の状態を示
すビットより構成されています。
■ プロセッサステータス (PS)
図 2.7-6 に示すように , プロッセサステータス (PS) の上位バイトはレジスタバンクの先
頭アドレスを示すインタラプトレベルマスクレジスタ(ILM)および, レジスタバンクポ
インタ (RP) より構成され , PS の下位バイトは命令実行結果および割込み発生などによ
りセット / リセットされる各種フラグより構成されているコンディションコードレジ
スタ (CCR) より構成されています。
図 2.7-6 プロッセサステータス ( PS) の構造
bit 15
PS
13 12
8 7
ILM
0
RP
CCR
■ コンディションコードレジスタ (CCR)
図 2.7-7 に , コンディションコードレジスタ (CCR) の構成を示します。
図 2.7-7 コンディションコードレジスタ (CCR) の構成
bit 7
6
5
4
3
2
1
0
-
I
S
T
N
Z
V
C
: CCR
-
0
1
X
X
X
X
X
X:不定値
初期値
● 割込み許可フラグ (I)
ソフトウェアインタラプト以外のすべての割込み要求に対し I が "1" のときは割込みが
許可 , "0" のときは割込みはマスク。リセット時クリア。
● スタックフラグ (S)
S が "0" のときはスタック操作用ポインタとして USP が有効 , "1" のときは SSP が有効
になります。割込み受付時およびリセット時にセット。
● スティッキィビットフラグ (T)
論理右 / 算術右シフト命令を実行後にキャリよりシフトアウトされたデータに 1 つ以
上 "1" があったら "1", それ以外は "0"。シフト量がゼロの場合も "0"。
● ネガティブフラグ (N)
演算結果の MSB が "1" なら N フラグはセット , それ以外はクリア。
● ゼロフラグ (Z)
演算結果がすべて "0" ならセット , それ以外はクリア。
31
第 2 章 CPU
● オーバフローフラグ (V)
演算の実行により符号付き数値としてオーバフローが生じるとセット , 生じないとク
リア。
● キャリーフラグ (C)
演算の実行により MSB より桁上り / 桁下りが生じるとセット , 生じないとクリア。
■ レジスタバンクポインタ (RP)
図 2.7-8 に示すように , レジスタバンクポインタ (RP) は , F2MC-16LX の持つ汎用レジ
スタとそれが存在する内部 RAM のアドレスとの関係を示すレジスタで , 現在使用中の
レジスタバンクの先頭のメモリアドレスを[ 000180H +(RP)*10H という変換式で示しま
す。RP は 5bit により構成されており 00H ∼ 1FH までの値をとることができ , 000180H
∼ 00037FH のメモリ中にレジスタバンクを配置できます。
ただし , この範囲内であっても内部 RAM でなければ汎用レジスタとして使用すること
はできません。RP はリセットによりすべて "0" に初期化されます。命令上では RP に
8bit の即値が転送できますが , 実際に使用されるのはそのデータの下位 5bit のみです。
図 2.7-8 レジスタバンクポインタ (RP)
初期値
32
B4
B3
B2
B1
B0
0
0
0
0
0
: RP
第 2 章 CPU
■ インタラプトレベルマスクレジスタ (ILM)
図 2.7-9 に示すように , インタラプトレベルマスクレジスタ (ILM) は 3bit から構成され
ており , CPU の割込みマスクのレベルを示します。この 3bit により示されるレベルよ
り強いレベルの割込み要求のみが受付られます。表 2.7-1 に示すように , レベルの強弱
は "0" が最強で , "7" が最弱と定義されています。したがって割込みが受付られるには ,
現状の ILM の保持値より小さい値の要求でなければなりません。割込みが受付られる
とその割込みのレベル値が ILM にセットされ , これ以降の同じかそれより低い優先順
位の割込みは受付られなくなります。ILM はリセットによりすべて "0" に初期化され
ます。命令上では ILM に 8bit の即値が転送できますが , 実際に使用されるのはそのデー
タの下位 3bit のみです。
図 2.7-9 インタラプトレベルマスクレジスタ (ILM)
初期値
ILM2
ILM1
ILM0
0
0
0
: ILM
表 2.7-1 インタラプトレベルマスクレジスタ (ILM) で示されるレベルの強弱
ILM2
ILM1
ILM0
レベル値
許可される割込みレベル
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
2
3
4
5
6
7
割込み禁止
0 のみ
1 より小さい値のレベル
2 より小さい値のレベル
3 より小さい値のレベル
4 より小さい値のレベル
5 より小さい値のレベル
6 より小さい値のレベル
33
第 2 章 CPU
2.7.4
プログラムカウンタ (PC)
プログラムカウンタ (PC) は , 16bit のカウンタであり , CPU が実行すべき命令コー
ドのメモリアドレスの下位 16bit を示します。上位 8bit アドレスは PCB により示さ
れます。PC は条件分岐命令 , サブルーチンコール命令 , 割込み , リセットなどによ
り内容が更新されます。
また , オペランドアクセス時のベースポインタとして使用することもできます。
■ プログラムカウンタ (PC)
図 2.7-10 に , プログラムカウンタを示します。
図 2.7-10 プログラムカウンタ
PCB
FEH
PC
ABCDH
FEABCDH
34
次に実行する命令
第 2 章 CPU
2.8
レジスタバンク
レジスタバンクは 8word で構成され , バイトレジスタ R0 ∼ R7, ワードレジスタ
RW0 ∼ RW7, ロングワードレジスタ RL0 ∼ RL3 の汎用レジスタとして各種演算 ,
ポインタとして各種命令に使用でき , RL0 ∼ RL3 は全空間を直接アクセスするリニ
アポインタとしても使用できます。
■ レジスタバンク
表 2.8-1 に , 各レジスタの機能を , 表 2.8-2 に各レジスタの関係を示します。
レジスタバンクの内容は , 通常の RAM 同様に , リセットでは初期化されず , リセット
前の状態が保持されます。ただし , パワーオン時は不定値になります。
表 2.8-1 各レジスタの機能
R0 ∼ R7
各種命令のオペランドとして使用
( 注意事項 )
R0 はバレルシフトのカウンタおよびノーマライズ命令のカウン
タとしても使用
RW0 ∼ RW7
ポインタ , 各種命令のオペランドとして使用
( 注意事項 )
RW0 はストリング命令のカウンタとしても使用
RL0 ∼ RL3
ロングポインタ , 各種命令のオペランドとして使用
表 2.8-2 各レジスタの関係
RW0
RW1
RW2
RW3
R0
R1
R2
R3
R4
R5
R6
R7
RL0
RL1
R4
RL2
RW5
RW6
RL3
RW7
35
第 2 章 CPU
● ダイレクトページレジスタ (DPR) <初期値 :01H >
ダイレクトページレジスタ (DPR) は , ダイレクトアドレッシングの命令時のオペラン
ドの addr8 ∼ addr15 を指定します。図 2.8-1 に示すように , DPR は 8bit 長であり , リセッ
トにより 01H に初期化されます。
図 2.8-1 ダイレクトアドレッシングによる物理アドレスの生成
DTBレジスタ
DPRレジスタ
命令中のダイレクトアドレス
αααααααα
ββββββββ
γγγγγγγγ
MSB
24bit 物理アドレス
LSB
ααααααααββββββββγγγγγγγγ
● プログラムカウンタバンクレジスタ (PCB) <初期値 : リセットベクタ中の値>
● データバンクレジスタ (DTB) <初期値 :00H >
● ユーザスタックバンクレジスタ (USB) <初期値 :00H >
● システムスタックバンレジスタ (SSB) <初期値 :00H >
● アディショナルデータバンクレジスタ (ADB) <初期値 :00H >
各々のバンクレジスタはそれぞれ PC 空間 , DT 空間 , SP 空間(ユーザ), SP 空間(シ
ステム)AD 空間の配置されるメモリバンクを示します。すべてのバンクレジスタはバ
イト長であり , リセットにより PCB はリセットベクタにより 00H に初期化されます。
PCB 以外のバンクレジスタは読出し / 書込みができます。PCB は読出しは可能ですが
書き込むことはできません。
16Mbyte 全空間に分岐するJMPP, CALLP, RETP, RETIQ, RETF命令実行時および割込み
時に PCB は書き換わります。各レジスタの動作は , 「2.2 メモリ空間」を参照してく
ださい。
36
第 2 章 CPU
2.9
プリフィックスコード
命令の前にプリフィックスコードを置くことで , 命令動作の一部を変更することが
可能です。プリフィックスコードには , バンクセレクトプリフィックス , コモンレジ
スタバンクプリフィックス , フラグ変化抑止プリフィックスの 3 種類があります。
■ バンクセレクトプリフィックス
データアクセスの際に使用されるメモリ空間はアドレッシングごとに定められていま
す。バンクセレクトプリフィックスを命令前に置くことで , 命令によるデータアクセス
のメモリ空間をアドレッシングモードと無関係に任意に選択することが可能となりま
す。
表 2.9-1 に , バンクセレクトプリフィックスと対応するメモリ空間を示します。
表 2.9-1 バンクセレクトプリフィックス
バンクセレクトプリフィックス
選択される空間
PCB
PC 空間
DTB
データ空間
ADB
AD 空間
SPB
そのときのスタックフラグの内容により SSP 空
間 , USP 空間のどちらかが用いられます。
ただし , 以下に示す命令に対しては注意してください。
● ストリング命令〔MOVS, MOVSW, SCEQ, SCWEQ, FILS, FILSW 〕
プリフィックスの有無に関わらず, オペランド指定されたバンクレジスタを使用する。
● スタック操作命令〔PUSHW, POPW〕
プリフィックスの有無に関わらず , S フラグに応じて SSB または USB を使用する。
● I/O アクセス命令
MOV A,io / MOV io,A /MOVX A,io / MOVW A,io / MOVW io,A / MOV io,#imm 8
MOVW io,#imm16 / MOVB A,io:bp / MOVB io:bp,A / SETB io:bp / CLRB io:bp
BBC io:bp,rel / BBS io:bp,rel / WBTC,WBTS
プリフィックスの有無に関わらず , バンクの IO 空間が使用されます。
● フラグ変更命令〔AND CCR,#imm8, OR CCR,#imm8 〕
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
● POPW PS
プリフィックスの有無に関わらず , S フラグに応じて SSB または USB が使用されます。
プリフィックスの効果が次の命令まで及びます。
37
第 2 章 CPU
● MOV ILM,#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〕
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
● MOV ILM,#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 は命令の仕様どおり変化します。
● MOV ILM,imm8
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
38
第 2 章 CPU
2.10
割込み抑止命令
以下に示す 10 種類の命令については , 割込み要求はサンプリングされません。
・MOV
・AND
ILM, #imm8
CCR, #imm8
・PCB
・ADB
・SPB
・CMR
・OR CCR, #imm8
・POPW PS
・NCC
・DTB
■ 割込み抑止命令
図 2.10-1 に示すように , この命令実行中に有効なハードウェア割込み要求が発生して
も , 割込み処理が行われるのは , この命令以降にこの種類以外の命令が実行された後に
なります。
図 2.10-1 割込み抑止命令
割込み抑止命令
(a)
・・・・・・・・
・・・
(a)普通の命令
割込み要求発生
割込み受け付け
■ 割込み抑止命令とプリフィックス命令に関する制約
図 2.10-2 に示すように , 割込み抑止命令の前にプリフィックスコードを付加した場合 ,
プリフィックスコードの効果は , プリフィックスコード後の最初の〔割込み抑止命令以
外の命令〕まで及びます。
図 2.10-2 割込み抑止命令とプリフィックスコード
割込み抑止命令
MOV A,FFH
NCC
MOV ILM,#imm8
・・・・
CCR:XXX10XX
ADD A,01H
CCR:XXX10XX
NCCにより,CCRは変化しません
■ プリフィックスコードが連続している場合
図 2.10-3 に示すように, 競合するプリフィックスコードが連続していた場合, 後方のも
のが有効になります。なお , 競合するプリフィックスコードとはここでいう PCB, ADB,
DTB, SPB のことを意味します。
図 2.10-3 プリフィックスコードの連続
プリフィックスコード
・・・・・
ADB
DTB
PCB
ADD A,01H
・・・・
↑プリフィックスコードは
PCBが有効になります。
39
第 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」命令の使用上の注意 (i=0 ∼ 7)
命令
左記命令事項時に影響を受
けるバンクレジスタ名
余りが格納されるアドレス
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 ビット)
DIV A,R7
DIVW A,RW3
USB
SSB*1
(USB*2: 上位 8 ビット)+(0180H+RP × 10H+FH: 下位 16 ビット)
(USB*2: 上位 8 ビット)+(0180H+RP × 10H+6H: 下位 16 ビット)
(USB*2: 上位 8 ビット)+(0180H+RP × 10H+EH: 下位 16 ビット)
DIVW A,RW7
*1: CCR レジスタの S ビットによる
*2: CCR レジスタの S ビットが "0" の場合
バンクレジスタ (DTB, ADB, USB, SSB) の値が "00H" の場合は , 除算結果の余りが命令
オペランドのレジスタに格納されます。バンクレジスタの値が "00H" 以外の場合は , 上
位 8 ビットアドレスは命令オペランドのレジスタに対応したバンクレジスタにより指
定され , 下位 16 ビットアドレスは命令オペランドのレジスタのアドレスと同じアドレ
スとなり , 上位 8 ビットで指定されたバンクのレジスタに余りが格納されます。
40
第 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 の命令を同等の命令列に置き換える機能を追加したものが用
意されています。MB90595 シリーズのコンパイラおよびアセンブラは , 以下のものを
使用してください。
● コンパイラ
cc907 の V02L06 以降のバージョンおよび fcc907s の V30L02 以降のバージョン
● アセンブラ
asm907a の V03L04 以降のバージョンおよび fasm907s の V03L04(Rev.300004) 以降の
バージョン
41
第 2 章 CPU
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)……内蔵リソースのイベント発生によ
る転送処理
• 例外……動作例外事項の発生による中断処理
■ ハードウェア割込み
ハードウェア割込みは , 内部リソースからの割込み要求によって起動します。ハード
ウェア割込み要求は , 内部リソース内の割込み要求フラグと割込み許可フラグがセッ
トされた場合に発生します。従って , ハードウェア要求を発生させるためには , 内部リ
ソース内に , 割込み要求フラグと割込み許可フラグを持っていなければなりません。
● 割込みレベルの指定
ハードウェア割込みは , 割込みレベルを指定することができます。割込みレベルを指定
するには , 割込みコントローラのレベル設定ビット (IL0, IL1, IL2) を使用します。
● ハードウェア割込み要求マスク
ハードウェア割込み要求は , CPU 内のプロセッサステータスレジスタ (PS) 中の I フラ
グおよび ILM ビット (IL0, IL1, IL2) を使用してマスクすることができます。マスクの
かかっていない割込み要求が発生すると , CPU は , PS, PC, PCB, DTB, ADB, DPR, A の
各レジスタからなる 12 バイトのデータを SSB と SSP レジスタが示すメモリ領域に退
避します。
図 3.1-1 ハードウェア割込みの概要
PS
レジスタファイル
F2MC-16 バス
マイクロコード
IR
⑥
F2MC-16LX CPU
許可 FF
⑦
AND
チェック
⑤
比較器
④
PS
I
ILM
IR
:
:
:
:
プロセッサステータス
割込み許可フラグ
割込みレベルマスクレジスタ
インストラクションレジスタ
③
周辺
要因 FF
①
ILM
I
②
レ
ベ
ル
比
較
器
割
込
レ
ベ
ル
IL
割込み
コントローラ
■ ソフトウェア割込み
ソフトウェア割込みは , CPU がそれまで実行していたプログラムの実行から , ユーザの
定義した割込み処理用プログラムへ制御を移行する機能です。
ソフトウェア割込みは , INT 命令実行により要求されます。INT 命令により要求される
44
第 3 章 割込み
割込みには , 割込み要求フラグと割込み許可フラグはありません。INT 命令の実行によ
り常に割込み要求が発生します。
INT 命令には , 割込みレベルの割当もありません。このため , INT 命令使用時には ILM
の更新は行われません。代わりに , I フラグをクリアして , 継続する割込み要求を保留
状態にします。
図 3.1-2 ソフトウェア割込みの概要
①
F2MC-16 バス
レジスタファイル
②
マイクロコード
PS
I
S
Bユニット
IR
キュー
F2MC-16LX CPU
フェッチ
退避
命令系バス
PS
:
I
:
S
:
IR
:
Bユニット:
RAM
プロセッサステータス
割込み許可フラグ
スタックフラグ
インストラクションレジスタ
Bus interfaceユニット
■ 拡張インテリジェント I/O サービス (EI2OS)
拡張インテリジェント I/O サービスは , 内蔵リソースとメモリの間でデータを自動的に
転送します。この種の処理には , 従来割込み処理プログラムが使用されていましたが ,
EI2OS はデータ転送を DMA (ダイレクトメモリアクセス)的に実行できます。
拡張インテリジェント I/O サービス機能を内部リソースより発生させるためには , 割込
みコントローラの割込み制御レジスタ (ICR) 中に拡張インテリジェント I/O サービス許
可フラグ (ISE) を持っていなければなりません。
拡張インテリジェント I/O サービスは ISE フラグが "1" で割込み要求が発生した場合に
起動されます。なお , ハードウェア割込み要求によって通常の割込みを発生させるには ,
ISE フラグを "0" にセットします。
図 3.1-3 拡張インテリジェント I/O サービス (EI2OS) の概要
メモリ空間
IOA
I/Oレジスタ ……………
I/Oレジスタ
周辺
割込み要求 ①
CPU
③
ISD
③
ICS
②
割込み制御レジスタ
割込みコントローラ
BAP
④
バッファ
① I/Oが転送を要求します。
② 割込みコントローラがディスクリプタ
を選択します。
③ 転送元/先をディスクリプタから
読み出します。
DCT ④ I/Oとメモリ間で転送が行われます。
45
第 3 章 割込み
■ 例外
例外処理は , 基本的には割込みと同じものであり , 命令の境目で例外事項が発生したこ
とを検出した段階で , 通常処理から離れて例外処理を行います。一般的に , 例外処理は
予想外の動作を行った結果で発生するものですので , デバッグ時だけの使用や緊急時
の復旧ソフトウェアの起動などのみに使用することをお勧め致します。
46
第 3 章 割込み
割込みベクタ
3.2
割込みベクタは , ハードウェア割込みとソフトウェア割込みについて同じ領域を使
用します。たとえば , 割込み要求番号 INT42 が , 遅延ハードウェア割込みとソフト
ウェア割込み INT #42 に使用されます。したがって , 遅延割込みと INT #42 が同じ
割込み処理ルーチンを呼び出します。割込みベクタは , 表 3.2-1 に示すようにアド
レス FFFC00H と FFFFFFH の間に配置されます。
■ 割込みベクタ
表 3.2-1 割込みベクタ
割込み要求
ベクタアドレス L
ベクタアドレス H
ベクタアドレスバンク
モードレジスタ
INT 0*1
FFFFFCH
FFFFFDH
FFFFFEH
未使用
INT 1*1
FFFFF8H
FFFFF9H
FFFFFAH
未使用
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
INT 7*1
FFFFE0H
FFFFE1H
FFFFE2H
未使用
INT 8*2
FFFFDCH
FFFFDDH
FFFFDEH
FFFFDFH
INT 9
FFFFD8H
FFFFD9H
FFFFDAH
未使用
INT 10*3
FFFFD4H
FFFFD5H
FFFFD6H
未使用
INT 11
FFFFD0H
FFFFD1H
FFFFD2H
未使用
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
INT 254
FFFC04H
FFFC05H
FFFC06H
未使用
INT 255
FFFC00H
FFFC01H
FFFC02H
未使用
*1: PCB が FFH の場合 , CALLV 命令のベクタ領域は , INT #vct8 (#0 ∼ #7) と同じです。
*2: このベクタは , リセットベクタです。
*3: このベクタは , 例外処理ベクタです。
■ 割込みベクタ一覧表
付録 D の 表 D-1 に , MB90595 の割込みベクタ一覧表を示していますので , 参照してく
ださい。
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
13/5
12/4
11/3
10/2
9/1
8/0
ICS3
ICS2
ICS1
or
S1
ICS0
or
S0
ISE
IL2
IL1
IL0
W
W
*
*
R/W
R/W
R/W
R/W
割込み制御レジスタ
リセット時 00000111 B
R/W:リード/ライト可能
W :ライトオンリ
< 注意事項 >
• ICS3 ∼ ICS0 は EI2OS を起動する場合のみ有効となります。EI2OS を起動する
場合は ISE を "1" に設定し , 起動しない場合は "0" に設定してください。EI2OS を
起動しない場合 , ICS3 ∼ ICS0 は何を設定してもかまいません。
• *"1" は常に読出しです。
ICS1 と ICS0 は書込みのみ , S1 と S0 は読出しのみ , それぞれ有効です。
[bit10 ∼ bit8][bit2 ∼ bit0] IL0 ∼ IL2(割込みレベル設定ビット)
割込みレベル設定ビットです。対応する内蔵リソースの割込みレベルを指定します。読
み書きができます。リセットによりレベル 7(割込みなし)に初期化されます。
表 3.3-1 に , 割込みレベル設定ビットと割込みレベルとの関係を示します。
表 3.3-1 割込みレベル設定ビットと割込みレベル
ILM2
ILM1
ILM0
割込みレベル値
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0(最強割込み)
1
2
3
4
5
6(最弱割込み)
7(割込みなし)
[bit11][bit3] ISE(拡張インテリジェント I/O サービスイネーブルビット)
48
第 3 章 割込み
EI2OS 許可ビットです。割込み要求の発生時にこのビットが "1" であると EI2OS が起
動され , "0" のときは割込みシーケンスが起動されます。また , EI2OS が終了(カウン
ト終了による場合と内蔵リソースからの要求による場合)したとき , ISE ビットは "0"
になります。対応する内蔵リソースに EI2OS の機能がないときには , ソフトウェアで
ISE を "0" にしておく必要があります。読み書き可能なビットです。
リセットにより "0" に初期化されます。
[bit15 ∼ bit12][bit7 ∼ bit4] ICS3 ∼ ICS0(拡張インテリジェント I/O サービスチャネル
セレクトビット)
EI2OS チャネル選択ビットです。書込み専用のビットで , このビットにより
EI2OS のチャネルを指定します。ここで設定された値によりメモリ上の拡張インテリ
ジェント I/O サービスディスクリプタのアドレスが決定します。ICS はリセットにより
"0000" に初期化されます。
表 3.3-2 に , ICS, チャネル番号 , ディスクリプタアドレスの対応関係を示します。
表 3.3-2 ICS ビット , チャネル番号 , ディスクリプタアドレス
ICS3
ICS2
ICS1
ICS0
セレクトされるチャネル
ディスクリプタアドレス
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
000100H
000108H
000110H
000118H
000120H
000128H
000130H
000138H
000140H
000148H
000150H
000158H
000160H
000168H
000170H
000178H
49
第 3 章 割込み
[bit13 ∼ bit12][bit5 ∼ bit4] S0, S1(拡張インテリジェント I/O サービスステータス)
EI2OS 終了ステータスビットです。読出し専用のビットで , EI2OS 終了時にこのビット
の値を調べることにより , 終了条件が何であったかを判別することができます。
リセットにより "00" に初期化されます。
表 3.3-3 に , S ビットと終了条件との関係を示します。
表 3.3-3 S ビットと終了条件
S1
50
S0
0
0
0
1
1
1
0
1
終了条件
2
EI OS 動作中あるいは非起動時
カウント終了による停止状態
リザーブ
内蔵リソースからの要求による停止状態
第 3 章 割込み
割込みフロー
3.4
図 3.4-1 に , 割込みフローを示します。
■ 割込みフロー
図 3.4-1 割込みフロー
I
ILM
IF
IE
ISE
IL
S
I&IF&IE=1
AND
ILM > IL
:
:
:
:
:
:
:
CCR内の割込み許可フラグ
PS内の割込みレベルマスクレジスタ
内蔵リソースの割込み要求
内蔵リソースの割込みイネーブルフラグ
EI2OSイネーブルフラグ
内蔵リソースの割込み要求レベル
CCR内のフラグ
YES
NO
NO
次の命令の取込みと
デコード
PS,PC,PCB,DTB,ADB,DPR,
AをSSPのスタックへ対比
そののち,ILM=IL
INT命令
拡張インテリジェント
I/Oサービスの処理
YES
PS,PC,PCB,DTB,ADB,DPR,
AをSSPのスタックへ退避
そののち,I=0,ILM=IL
NO
通常命令実行
NO
YES
ISE = 1
S ← 1
割込みベクタ取込み
ストリング系
命令の繰返し
完了
YES
PCの更新
図 3.4-2 割込み処理中のレジスタ退避
ワード (16bit)
H
MSB
LSB
SSP(割込み発生前のSSPの値)
AH
AL
DPR
ADB
DPB
PCB
PC
PS
L
SSP(割込み発生後のSSPの値)
51
第 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 に , MB90595 シリーズの割当を示します。
52
第 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 バイトを退避した後 , 割込みベクタを 3byte リードし PC と PCB へロード , PS 中
の ILM を , 受け付けた割込み要求のレベル値に更新 , S フラグを "1" に設定して分岐処
理を行います。その結果 , 次に実行する命令はユーザの定義した割込み処理プログラム
になります。
53
第 3 章 割込み
ハードウェア割込みの発生と解除
3.5.2
図 3.5-1 に , ハードウェア割込みの発生から割込み処理プログラムに割込み要求がな
くなるまでのフローを示します。
■ ハードウェア割込みの発生と解除
図 3.5-1 ハードウェア割込みの発生と解除まで
PS
レジスタファイル
F2MC-16 バス
マイクロコード
IR
⑥
F2MC-16LX CPU
チェック
⑤
⑦
要因 FF
①
AND
比較器
④
PS
I
ILM
IR
:
:
:
:
プロセッサステータス
割込み許可フラグ
割込みレベルマスクレジスタ
インストラクションレジスタ
③
周辺
許可 FF
ILM
I
②
レ
ベ
ル
比
較
器
割
込
レ
ベ
ル
IL
割込み
コントローラ
①周辺の内部で割込み要因が発生します。
②周辺内の割込み許可ビットを参照し割込み許可になっていれば , 周辺から割込みコ
ントローラへ割込み要求を発生します。
③割込み要求を受けとった割込みコントローラは , 同時に要求のあった割込みの優先
順位を判定した上で該当する割込みに対応する割込みレベルを CPU へ転送します。
④CPU は割込みコントローラから要求のあった割込みレベルをプロセッサステータス
レジスタ内の ILM ビットと比較します。
⑤比較の結果が現在の割込み処理レベルより優先順位が高い場合のみ , 同じプロセッ
サステータスレジスタ内の I フラグの内容をチェックします。
⑥⑤のチェックの結果 I フラグが割込み許可状態である場合のみ , ILM ビットの内容を
要求されたレベルに設定し , 現在実行中の命令の実行が終了し次第割込み処理を行い ,
制御を割込み処理ルーチンへ移します。
⑦ユーザの割込み処理ルーチン内のソフトウェアで①で発生した割込み要因をクリア
することで割込み要求が終了します。
⑥および⑦で , CPU が行う割込み処理の実行時間の計算式を以下に示します。なお , サ
イクル数の補正値は , 表 3.5-1 を参照してください。
割込み起動 : 24+6 ×サイクル数の補正値
割込み復帰 : 15+6 ×サイクル数の補正値(RETI 命令)
表 3.5-1 割込み処理時のサイクル数の補正値
スタックポインタが示しているアドレス
54
サイクル数の補正値
内部領域 偶数アドレスの場合
0
内部領域 奇数アドレスの場合
+2
第 3 章 割込み
多重割込み
3.5.3
特殊な場合として , データの入出力領域への書込み中はハードウェア割込み要求を
受け付けません。これは各リソースの割込み制御レジスタ関係の書換えを行ってい
る最中の割込み要求に対して , CPU が割込み関係で誤動作を起こすことを避けるた
めです。
また , 割込み処理の実行中に割込みが発生した場合は , 割込みレベルの強い方の処理
が優先されます。
■ 多重割込み
F2MC-16LX CPU は多重割込みをサポートしています。そのため , 割込み処理の実行中
にその割込みのもつ割込みレベルより強いレベルの割込みが発生すると , 現在実行中
の命令を終了したあとでそちらに制御が移ります。強いレベルでの割込みが終了する
と , もとの割込み処理に戻ります。割込み処理実行中に , その割込みと同等かより弱い
レベルの割込み処理が発生した場合は , ILM の内容や I フラグの命令による変更を施さ
ないかぎり現在の割込み処理の終了まで , 新しい割込み要求は保留されます。なお , 拡
張インテリジェント I/O サービスは多重に起動されることはなく , 1 つの拡張インテリ
ジェント I/O サービスの処理中は , ほかの割込み要求および拡張インテリジェント I/O
サービス要求はすべて保留されます。
図 3.5-2 に , スタック内に退避されるレジスタの順番を示します。
割込みに退避されるレジスタ
図 3.5-2 スタック内に退避されたレジスタ
ワード (16bit)
H
MSB
LSB
SSP(割込み発生前のSSPの値)
AH
AL
DPR
ADB
DPB
PCB
PC
PS
L
SSP(割込み発生後のSSPの値)
55
第 3 章 割込み
3.6
ソフトウェア割込み
ソフトウェア割込みは , 専用の命令の実行に対応して , CPU がそれまで実行してい
たプログラムの実行から , ユーザの定義した割込み処理用プログラムへ制御を移行
する機能です。ソフトウェア割込みの起動は , ソフトウェア割込み命令の実行で常
に発生します。
■ ソフトウェア割込み
ソフトウェア割込みが発生するときに CPU が行う処理は以下のものがあります。
• CPU 内部の PC, PS, AH, AL, PCB, DTB, ADB, DPR レジスタのシステムスタックへの
退避
• PS レジスタに "I" を設定。自動的に割込み禁止になる
• 対応する割込みベクタの内容の取り込みとそこへの分岐
ソフトウェア割込みである INT 命令の実行による割込み要求には割込み要求フラグお
よび許可フラグはなく , INT 命令の実行により常に割込み要求が発生します。
INT 命令には割込みレベルはありません。したがって , INT 命令では ILM の更新は行
われず , I フラグに "0" を設定して継続する割込み要求を保留状態にします。
■ ソフトウェア割込みの構造
ソフトウェア割込みに関連する機構は , すべて CPU の内部に存在します。
• CPU
………………… マイクロコード : 割込み処理用ステップ
■ MB90595 割込みベクタ一覧表
付録 D 表 D-1 に , MB90595 シリーズの割込みベクタ一覧表を示します。
付録 D 表 D-1 に示すように , ソフトウェア割込みはハードウェア割込みと同じ割込み
ベクタ領域を共有しています。たとえば , 割込み要求番号の INT13 は , ソフトウェア割
込みの INT#13 で使用されると同時にハードウェア割込みの外部割込み #0/#1 でも使用
されます。したがって , 外部割込み #0 と INT#13 は同じ割込み処理ルーチンを呼び出
します。
■ ソフトウェア割込みの動作
CPU がソフトウェア割込み命令を取り込み実行すると , ソフトウェア割込み処理用マ
イクロコードを起動します。ソフトウェア割込み処理マイクロコードでは SSB と SSP
の示すメモリ中へ PS と PC, PCB, DTB, ADB, DPR, A の 12 バイトを退避した後 , 割込み
ベクタを 3byte リードし PC と PCB へ格納 , I フラグを "0" に , S フラグを "1" にして分
岐処理を行います。その結果 , 次に実行する命令はユーザの定義した割込み処理プログ
ラムになります。
図 3.6-1 に , ソフトウェア割込みの発生から割込み処理プログラムに割込み要求がなく
なるまでのフローを示します。
56
第 3 章 割込み
図 3.6-1 ソフトウェア割込みの発生と解除まで
F2MC-16 バス
レジスタファイル
②
マイクロコード
F2MC-16LX CPU
①
IR
PS
I
S
Bユニット
キュー
フェッチ
退避
命令系バス
RAM
PS
: プロセッサステータス
I
: 割込み許可フラグ
S
: スタックフラグ
IR
: インストラクションレジスタ
Bユニット: Bus interfaceユニット
①ソフトウェア割込み命令を実行します。
②ソフトウェア割込み命令に対応したマイクロコードにしたがってレジスタファイル
中の CPU 内専用レジスタの退避を行います。
③ユーザの割込み処理ルーチン内の RETI 命令で割込み処理が終了します。
■ その他
プログラムバンクレジスタ (PCB) が FFH であるとき , CALLV 命令のベクタ領域は INT
#vct8 命令のテーブルと重なります。ソフトウェアを作成する際に同一アドレスを使用
するような CALLV 命令と INT #vct8 命令を使用しないように注意してください。
付録 D 表 D-1 に , MB90595 シリーズの割込み要因 , 割込みベクタ , 割込み制御レジス
タの関係を示します。
57
第 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 のアドレスや転送数 , バッファアドレスを保持します。
< 注意事項 >
58
REALOS を使用する場合は , 拡張インテリジェント I/O サービス (EI2OS) が使用で
きません。
第 3 章 割込み
図 3.7-1 に , EI2OS の概要を示します。
図 3.7-1 拡張インテリジェント I/O サービスの概要
メモリ空間
by IOA
I/Oレジスタ ……………
I/Oレジスタ
周辺
割込み要求 ①
CPU
③
ISD
③
by ICS
②
割込み制御レジスタ
割込みコントローラ
by BAP
④
バッファ
① I/Oが転送を要求します。
② 割込みコントローラがディスクリプタ
を選択します。
③ 転送元/先をディスクリプタから
読み出します。
by DCT ④ I/Oとメモリ間で転送が行われます。
• IOA で指定できる領域は , 000000H ∼ 00FFFFH です。
< 注意事項 >
• BAP で指定できる領域は , 000000H ∼ FFFFFFH です。
• DCT で指定できる最大転送数は , 65536 個です。
■ 拡張インテリジェント I/O サービス (EI2OS) の構造
EI2OS に関連する機構は , 以下の 4 つの部分に分かれて存在します。
● 内蔵リソース
• 割込み許可ビット , 割込み要求ビット : リソースからの割込み要求の制御
● 割込みコントローラ
• ICR: 割込みのレベル付け , 同時要求割込みの優先度判定 , EI2OS 動作の選択
● CPU
• I, ILM: 要求割込みレベルと現レベルの比較 , 割込み許可状態の識別
• マイクロコード :EI2OS 処理用ステップ
● RAM
• ディスクリプタ :EI2OS の転送情報を記述する
59
第 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 サービスディスクリプタの構成
データカウンタ上位8bit
(DCTH)
データカウンタ下位8bit
(DCTL)
H
I/Oアドレスポインタ上位8bit
(IOAH)
I/Oアドレスポインタ下位8bit
(IOAL)
EI2OSステータス (ISCS)
バッファアドレスポインタ上位8bit (BAPH)
000100H + 8 × ICS
バッファアドレスポインタ中位bit8 (BAPM)
ISD先頭アドレス
バッファアドレスポインタ下位8bit (BAPL)
L
■ データカウンタ (DCT)
データカウンタ (DCT) は , 16 ビット長のレジスタで , 転送データ数に対応したカウン
タとなります。データ転送後 , カウンタは 1 個デクリメントされます。このカウンタが
ゼロになると EI2OS は終了します。
図 3.7-3 に , データカウンタの構成を示します。
図 3.7-3 データカウンタの構成
bit 15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
DCT
B15 B14 B13 B12 B11 B10 B09 B08 B07 B06 B05 B04 B03 B02 B01 B00 (リセット時不定)
60
第 3 章 割込み
■ I/O レジスタアドレスポインタ (IOA)
I/O レジスタアドレスポインタ (IOA) は , 16 ビット長のレジスタで , I/O レジスタアド
レスポインタの 16bit によりバッファとデータ転送する I/O レジスタの下位アドレス
(A15 ∼ A0) を示します。上位アドレス (A23 ∼ A16) はすべて "0" であり , 000000H か
ら 00FFFFH 番地までの任意の I/O を指定できます。図 3.7-4 に , IOA の構成の図を示し
ます。
図 3.7-4 I/O レジスタアドレスポインタの構成
bit 15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
IOA
A15 A14 A13 A12 A11 A10 A09 A08 A07 A06 A05 A04 A03 A02 A01 A00 (リセット時不定)
■ バッファアドレスポインタ (BAP)
24bit のレジスタで次に EI2OS による転送で使用するアドレスを保持します。BAP は
EI2OS の各チャネルに対してそれぞれ独立に存在しますので , EI2OS の各チャネルは
16Mbyte の任意の空間と転送することができます。ISCS の BF ビットが "0" にセットさ
れている場合 (更新可能), BAP の下位 16bit のみ変化し , BAPH は変化しません。
61
第 3 章 割込み
3.7.2
EI2OS ステータスレジスタ (ISCS)
EI2OS ステータスレジスタ (ISCS) は , 8 ビット長のレジスタで , バッファアドレス
ポインタ , I/O レジスタアドレスポインタの更新 / 固定 , 転送データ長(バイト / ワー
ド), 転送方向を示します。
■ EI2OS ステータスレジスタ (ISCS)
図 3.7-5 に , ISCS の構成を示します。
図 3.7-5 ISCS の構成
bit
7
予約
6
予約
5
4
3
2
1
0
予約
IF
BW
BF
DIR
SE
ISCS
(リセット時不定)
* ISCSのbit7~bit5には必ず"0"を書き込んでください。
以下に各ビットの説明を示します。
[bit4] IF
I/O レジスタアドレスポインタの更新 / 固定を指定します。
0: データ転送後 I/O レジスタアドレスポインタは更新 ( インクリメント ) される。
1: データ転送後 I/O レジスタアドレスポインタは固定される。
< 注意事項 >
インクリメントのみ許可されます。
[bit3] BW
転送データ長を指定します。
0: バイト
1: ワード
[bit2] BF
バッファアドレスポインタの更新 / 固定を指定します。
0: データ転送後バッファアドレスポインタは更新 ( インクリメント ) される。
1: データ転送後バッファアドレスポインタは固定される。
< 注意事項 >
更新する場合 , バッファアドレスポインタは下位 16bit のみ変化します。
[bit1] DIR
データの転送方向を指定します。
0:I/O アドレスポインタ → バッファアドレスポインタ
1: バッファアドレスポインタ → I/O アドレスポインタ
62
第 3 章 割込み
[bit0] SE
内蔵リソースからの要求での拡張インテリジェントI/O サービスの終了を制御します。
0: 内蔵リソースからの要求により終了しない。
1: 内蔵リソースからの要求により終了する。
63
第 3 章 割込み
3.8
拡張インテリジェント I/O サービス (EI2OS) の動作フ
ローと使用手順
図 3.8-1 に , 拡張インテリジェント I/O サービス (EI2OS) の動作フローを , 図 3.8-2
に , 使用手順を示します。
■ 拡張インテリジェント I/O サービス (EI2OS) の動作フロー
図 3.8-1 拡張インテリジェント I/O サービス (EI2OS) の 動作フロー
内蔵リソースにより
割込み要求発生
NO
ISE=1
YES
ISD/ISCSリード
割込みシーケンス
YES
リソースから
の終了要求
SE=1
NO
YES
DIR=1
NO
IOAで示されるデータ
(データ転送)
BAPで示されるメモリ
IF=0
NO
BAPで示されるデータ
(データ転送)
IOAで示されるメモリ
YES
更新値は
BWによる
BF=0
IOA更新
YES
NO
BAP更新
DCTデクリメント
DCT=00
NO
S1,S0に"00"を書込み
リソース割込み
要求のクリア
CPU動作復帰
ISD :EI2OSディスクリプタ
ISCS :EI2OSステータス
DCT :データカウンタ
I/OA :I/Oアドレスポインタ
BAP :バッファアドレスポインタ
ISE :EI2OSイネーブルビット
S1,S0 :EI2OS終了ステータス
64
YES
S1,S0に"01"を書込み
S1,S0に"11"を書込み
ISEを"0"にクリア
割込みシーケンス
第 3 章 割込み
図 3.8-2 拡張インテリジェント I/O サービス (EI2OS) の使用手順フロー
EI2 OSによる処理
CPUによる処理
EI2 OSの初期化
正常終了
(割込み要求)
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 アドレスポインタ
"1" に設定
固定
更新
固定
更新
固定
32
34
33
35
更新
34
36
35
37
バッファアドレスポインタ
表 3.8-2 EI2OS の実行時間のデータ転送の補正値
内部アクセス
I/O アドレスポインタ
バッファアドレスポインタ
B: バイトデータ転送
偶 : 偶数アドレス・ワード転送
内部アクセス
B/ 偶
奇
B/ 偶
0
+2
奇
+2
+4
奇 : 奇数アドレス・ワード転送
65
第 3 章 割込み
3.9
例外
F2MC-16LX では , 以下の要因により例外が発生し , 例外処理が行われます。
■ 未定義命令の実行
例外処理は , 基本的には割込みと同じものであり , 命令の境目で例外事項が発生したこ
とを検出した段階で , 通常処理から離れて例外処理を行います。一般的に , 例外処理は
予想外の動作を行った結果で発生するものですので , デバッグ時だけの使用や緊急時
の復旧ソフトウェアの起動などのみに使用することをお勧め致します。
■ 未定義命令の実行による例外発生
F2MC-16LX では , 命令マップで定義していないコードはすべて未定義命令として扱い
ます。未定義命令を実行すると , ソフトウェア割込み命令の「INT 10」と等価な処理を
行います。すなわち , AL, AH, DPR, DTB, ADB, PCB, PC, PS の内容をシステムスタッ
クに退避した後に , フラグを "0" に設定し , S フラグを "1" に設定し , 割込み番号 10 の
ベクタで示されるルーチンへ分岐します。スタックへ退避した PC の値は未定義命令を
格納しているアドレスそのものです。2 バイト以上の命令コードでは , 未定義であるこ
とが識別できたコードを格納しているアドレスになります。このため , RETI 命令で復
帰させることは可能ですが , 再び例外を発生するため , 意味がありません。
66
第4章
遅延割込み
遅延割込みの機能と動作について説明します。
4.1 遅延割込みモジュールの概要
4.2 遅延割込みのレジスタ
4.3 遅延割込みの動作
67
第 4 章 遅延割込み
4.1
遅延割込みモジュールの概要
遅延割込み発生モジュールは , タスク切換え用の割込みを発生するためのモジュー
ルです。本モジュールを使用することで , ソフトウェアで F2MC-16LX CPU に対し
て割込み要求の発生 / 取消しを行うことができます。
■ 遅延割込みのブロックダイヤグラム
図 4.1-1 に , 遅延割込み発生モジュールのブロックダイヤグラムを示します。
図 4.1-1 遅延割込みのブロックダイヤグラム
F2MC-16LX バス
遅延割込み要因発生/解除デコーダ
要因ラッチ
■ 遅延割込み要求ロックの使用上の注意
このロックは DIRR の該当するビットに "1" を書き込むことでセットされ , 同じビット
に "0" を書き込むことでクリアされます。したがって , 割込み処理ルーチン内で要因を
クリアするようにソフトウェアを作成しておかないと割込み処理から復帰した途端に
再割込み処理を起動することになりますので注意してください。
68
第 4 章 遅延割込み
4.2
遅延割込みのレジスタ
DIRR は遅延割込み要求の発生 / 解除を制御するレジスタで , このレジスタに対して
"1" を書込み時には遅延割込みの要求を発生させ , "0" を書込み時には遅延割込みの
要求を解除します。リセット時には要因解除状態になります。
■ 遅延割込み要因発生 / 解除レジスタ (DIRR: Delayed interrupt request register)
遅延割込み要因発生 / 解除レジスタ (DIRR) では , 予約ビット領域は 0, 1 どちらの書込
みも結構ですが , 将来の拡張を考慮してこのレジスタをアクセスする際にはセット
ビット , クリアビット命令を使用することをお勧めします。
bit
15
DIRR
アドレス: 00009F H
R/W : リード / ライト可能
− : 未定義
14
13
12
11
10
9
8
初期値
RO
-------0 B
R/W
リセット時には要因解除状態になります。
69
第 4 章 遅延割込み
4.3
遅延割込みの動作
ソフトウェアにて CPU が DIRR の該当ビットに "1" を書き込むと , 遅延割込み発生
モジュールの中にある要求ラッチがセットされ , 割込みコントローラに割込み要求
を発生します。
■ 遅延割込み発生
ほかの割込み要求が本割込みより優先順位が低い , あるいは , ほかの割込み要求がない
場合に , 割込みコントローラは F2MC-16LX CPU に対して割込み要求を発生します。図
4.1-1 に示すように , F2MC-16LX CPU は自分の内部にある CCR レジスタ中の ILM ビッ
トと割込み要求を比較し , 要求レベルが ILM ビットより高かったときに現在実行中の
命令が終了し次第 , ハードウェア割込み処理マイクロプログラムを起動します。この結
果 , 本割込みに対する割込み処理ルーチンが実行されます。
図 4.3-1 遅延割込み発生
遅延割込み発生モジュール
割込みコントローラ
F2MC-16LX CPU
WRITE
ほかの要求
ICRyy
IL
CMP
DIRR
ICRxx
CMP
ILM
INTA
割込み処理ルーチン内で DIRR の該当ビットの "0" を書き込むことで本割込み要因をク
リアし , 合わせてタスクの切換えを行います。
70
第5章
クロックとリセット
クロックとリセットの機能と動作について説明し
ます。
5.1 クロック発生部
5.2 リセット要因の発生
5.3 リセット要因
71
第 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 クロック発生回路ブロックダイヤグラム
リセット
割込みHST
ストップモード
遷移
S Q
S Q
時計モード
スリープモード
R
遷移
R
マシンクロック
マシンクロック選択
S Q
1
R
2
3
4
PLL逓倍
発振安定時間選択
タイムベースタイマ
1/2
X0
1/2048
1/4
1/4
1/8
X1
ウォッチドッグ
インターバル選択
監視タイマ
ウォッチドッグリセット 72
第 5 章 クロックとリセット
リセット要因の発生
5.2
リセット要因が発生すると , F2MC-16LX はただちに現在実行中の処理を中断し , リ
セット解除待ち状態になります。
■ リセット要因の発生
リセットは以下の要因で発生します。
• パワーオンリセットの発生
• ハードウェアスタンバイ状態の解除
• ウォッチドッグタイマのオーバフロー
• RST 端子による外部リセット要求の発生
• ソフトウェアによるリセット要求の発生
■ リセット解除後の動作
リセット要因が取り除かれると , F2MC-16LX はただちにリセットベクタを格納してあ
るアドレスを出力し , リセットベクタとモードデータの取り込みを行います。リセット
ベクタとモードデータは FFFFDCH ∼ FFFFDFH の 4 バイトに割り当てられています。
リセットベクタとモードデータは , 図 5.2-1 で示すように , リセット解除後にレジスタ
にハードウェアで転送されます。
リセットベクタとモードデータを読み出した後のバスモードは , モードデータにより
指定します。
図 5.2-1 リセットベクタとモードデータの格納場所と格納先
F 2 MC-16LX CPU
モード
メモリ空間
レジスタ
FFFFDF H
モードデータ
FFFFDE H
リセットベクタ・ビット23~16
FFFFDD
H
リセットベクタ・ビット15~8
FFFFDC
H
リセットベクタ・ビット7~0
マイクロ ROM
リセットシーケンス
PCB
PC
< 注意事項 >
MB90F598/F598G については , ハードワイヤードロジックによりリセットベクタと
モードデータにあらかじめ決められた値が設定されています。詳細については ,
「23.9 フラッシュメモリにおけるリセットベクタアドレス」を参照してください。
73
第 5 章 クロックとリセット
■ リセット入力によって初期化されないレジスタ
本製品には , パワーオンリセットでしか初期化されないレジスタがあります。
表 5.2-1 に各リセット要因によって初期化されないレジスタを示します。
表 5.2-1 リセット入力によって初期化されないレジスタ
CKSCR
リセットの種類
WS1
WS0
MCS
LPMCR
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
×
×
○
×
×
○
○
○ : 初期化する
× : 初期化しない(前の状態を保持)
74
第 5 章 クロックとリセット
図 5.2-2 リセット入力による動作遷移
[リセット入力による動作遷移]
リセット入力(RST,HST+RST)
A.発振状態
状態
RSTのみ使用
(HST=H)
HST+RST
を使用
発振
発振
停止
メイン発振
安定待ち
メインラン実行可能
B.命令実行タイミング("L"停止,"H"開始)
・RSTのみを使用(HST=H)
リセット入力前に設定
した発振安定時間
・HST+RSTを使用
・パワーオンリセット時
Vcc(電源)
状態
パワーオン
リセット
発振
停止
メイン発振
安定待ち
メインラン実行可能
メイン発振の218カウント
発振安定時間
75
第 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 に , ウォッチドッグタイマ制御レジスタの
構成を示します。
76
第 5 章 クロックとリセット
図 5.3-1 リセット要因ビットブロックダイヤグラム
HST端子
RST端子
RST=L
HST=L→H
定期的なクリアなし
電源投入
RSTビットセット
ハードウェア
スタンバイ
解除検出回路
パワーオン発生
検出回路
S
F/F
R
S
F/F
Q
外部リセット要求
検出回路
R
S
S
F/F
Q
F/F
Q
ウォッチドッグタイマ
リセット発生検出回路
R
S
R
F/F
Q
Q
LPMCR:RSTビット
書込み検出回路
遅延
回路
WTCレジスタ
WTCレジスタ読出し
F2MC-16LX 内部バス
図 5.3-2 ウォッチドッグタイマ制御レジスタ
bit
アドレス: 0000A8H
リード/ライト
初期値
7
6
PONR
STBR
(R)
(X)
(R)
(X)
5
WRST
4
3
2
1
0
ERST
SRST
WTE
WT1
WT0
(R)
(X)
(R)
(X)
(W)
(1)
(W)
(1)
(W)
(1)
(R)
(X)
WDTC
リセット要因が複数発生する場合でも , ウォッチドッグタイマ制御レジスタの対応す
るそれぞれのリセット要因ビットを立てるようになっています。したがって , 外部リ
セット要求とウォッチドッグリセットが同時に発生した場合でもERSTビットとWRST
ビットの両方が "1" になります。
ただし , パワーオンリセットの場合だけは別で , PONR ビットが "1" であるときはそれ
以外のビットの内容は正常なリセット要因を示しておりません。このため , PONR ビッ
トが "1" の場合はそれ以外のリセット要因ビットの内容は無視するようにソフトウェ
アを作成してください。
表 5.3-2 リセット要因ビット
リセット要因
PONR
STBR
WRST
ERST
SRST
パワーオン
1
-
-
-
-
ハードウェアスタンバイ
*
1
*
*
*
ウォッチドッグタイマ
*
*
1
*
*
外部端子
*
*
*
1
*
RST ビット
*
*
*
*
1
*: 前の値を保持
リセット要因ビットのクリアはウォッチドッグタイマ制御レジスタの読出しだけです
ので , 一度発生したリセット要因に対応するリセット要因ビットは , それ以外のリセッ
ト要因が発生しても "1" になったままとなっています。
77
第 5 章 クロックとリセット
78
第6章
低消費電力制御回路
低消費電力制御回路の機能と動作について説明し
ます。
6.1 低消費電力制御回路の概要
6.2 低消費電力制御回路のレジスタ
6.3 低消費電力モードの動作
6.4 CPU 間欠動作
6.5 マシンクロック切換え
6.6 クロック選択の状態遷移
79
第 6 章 低消費電力制御回路
6.1
低消費電力制御回路の概要
MB90595 シリーズは , 電力消費の削減を支援する各種動作モードをサポートしてい
ます。
動作モードとして , PLL クロックモード・PLL スリープモード・時計モード・メイ
ンクロックモード・メインスリープモード・メインストップモード・ハードウェア
スタンバイモードがあり , PLL クロックモード以外の動作モードが低消費電力モー
ドに分類しています。
■ 低消費電力制御回路の概要
メインクロックモードまたはメインスリープモードでは , メインクロック (OSC 発振
クロック)が使用されます。これらのモードでは , メインクロックを 2 分周したクロッ
クを動作クロックとして発生させ, PLLクロック(VCO発振クロック)を停止させます。
PLL スリープモードまたはメインスリープモードでは , CPU の動作クロックだけが停
止します。その他のクロックはすべて動作します。
時計モードでは , タイムベースタイマだけが動作します。ストップモードまたはハード
ウェアスタンバイモードでは , 発振が停止し , 最も低い消費電力でデータを保持できま
す。
CPU 間欠動作機能は , レジスタ , 内蔵メモリ , または内蔵リソースのアクセスを行うと
きに , CPU に供給するクロックを間欠動作させる機能であり , 内蔵リソースに高速ク
ロックを供給したまま CPU の実行速度を下げることにより , 低消費電力で処理が行え
ます。
PLL クロックの逓倍率は , CS1, CS0 ビットの設定により , 1, 2, 3, 4 逓倍の中から選択す
ることができます。
WS1, WS0 ビットを使用して , ストップモードまたはハードウェアスタンバイモードの
解除時のメインクロックの発振安定待ち時間を設定することができます。
< 注意事項 >
80
クロックモードを切り替えた場合 , 切替えが完了するまでは , 他のクロックモードお
よび低消費電力モードへの切替えを行わないようにしてください。切替えの完了は
「6.2.2 クロック選択レジスタ (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間欠動作機能
サイクル数選択回路
F2MC-16LX バス
LPMCR
SLP
周辺系クロック発生
周辺クロック
スタンバイ制御回路
STP
RST
解除 HST起動
HST端子
割込み要求
またはRST
CKSCR
WS1
WS0
発振安定
待ち時間
セレクタ
210
213
215
217*
クロック入力
タイムベースタイマ
タイムベースクロック
212 214 216 219
LPMCR
SPL
LPMCR
端子ハイインピーダンス制御回路
端子 HI-Z
RST端子
内部リセット発生回路
RST
内部RST
ウォッチドッグタイマへ
WDGRST
*:電源投入時は,218となります。
81
第 6 章 低消費電力制御回路
6.2
低消費電力制御回路のレジスタ
低消費電力制御回路には , 次の 2 つのレジスタがあります。
• 低消費電力モード制御レジスタ (LPMCR)
• クロック選択レジスタ (CKSCR)
■ 低消費電力制御回路のレジスタ
低消費電力モード制御レジスタ
アドレス:
bit
0000A0H
7
STP
リード/ライト
初期値
(W)
(0)
5
4
3
2
1
0
SLP
6
SPL
RST
予約
CG1
CG0
予約
(W)
(0)
(R/W)
(0)
(W)
(1)
(-)
(1)
(R/W)
(0)
(R/W)
(0)
LPMCR
(-)
(0)
クロック選択レジスタ
15
14
13
12
11
10
9
8
0000A1H
予約
MCM
WS1
WS0
予約
MCS
CS1
CS0
リード/ライト
初期値
(-)
(1)
(R)
(1)
(R/W)
(1)
(-)
(1)
(R/W)
(1)
(R/W)
(0)
アドレス:
R/W:リード/ライト可能
W :ライトオンリ
R :リードオンリ
- :未定義
82
bit
(R/W)
(1)
(R/W)
(0)
CKSCR
第 6 章 低消費電力制御回路
低消費電力モード制御レジスタ (LPMCR)
6.2.1
低消費電力モード制御レジスタはクロック選択レジスタと共に消費電力の削減に関
する各種動作モードの設定を行います。
■ 低消費電力モード制御レジスタ (LPMCR)
7
bit
アドレス:
0000A0H
STP
リード/ライト
初期値
(W)
(0)
6
5
4
3
2
1
0
SLP
SPL
RST
予約
CG1
CG0
予約
(W)
(0)
(R/W)
(0)
(W)
(1)
(-)
(1)
(R/W)
(0)
(R/W)
(0)
LPMCR
(-)
(0)
R/W:リード/ライト可能
W :ライトオンリ
- :未定義
[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 を "1" にセットすることが推奨されます。"0" にセットされている場合 , すべて
の入力はストップモードで確定するようにしてください(ポートを出力にセットす
るか , 確定済みの入力信号を与えてください。
[bit4]RST
"0" を書き込むことにより 3 マシンサイクルの内部リセット信号を発生します。"1" の
書込みでは何の操作もしません。リード時は "1" が , 読み出されます。
[bit3] 予約
必ず "1" を設定してください。
83
第 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" を設定してください。
< 注意事項 >
84
ストップモード , 時計モード時に周辺機能とポートを兼用している端子をハイイン
ピーダンスに設定する場合は , 周辺機能の出力を禁止に設定した後 , STP ビットを
"1" に設定してください。
対象となる端子を以下に示します。
対象端子 :P04/OUT0, P05/OUT1, P06/OUT2, P07/OUT3, P10/PPG0, P11/PPG1,
P12/PPG2, P13/PPG3, P14/PPG4, P15/PPG5, P17/TOT1
第 6 章 低消費電力制御回路
6.2.2
クロック選択レジスタ (CKSCR)
クロック選択レジスタは , CPU のマシーンクロックの設定・制御を行い , 電源立ち
上げ時や発振復帰時の発振安定待ち時間の設定を行います。
■ クロック選択レジスタ (CKSCR)
14
13
12
11
10
9
8
予約
MCM
WS1
WS0
予約
MCS
CS1
CS0
(-)
(1)
R/W:リード/ライト可能
R :リードオンリ
- :未定義
(R)
(1)
(R/W)
(1)
(R/W)
(1)
(-)
(1)
(R/W)
(1)
(R/W)
(0)
アドレス:
0000A1H
bit 15
リード/ライト
初期値
CKSCR
(R/W)
(0)
[bit15] 予約
必ず "1" を設定してください。
[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.05 ms(原振 213 カウント)
1
0
約 8.19 ms(原振 215 カウント)
1
1
約 32.77ms (原振 217 カウント)パワーオンリセット時のみ , 約
65.54ms (原振 218 カウント)
発振安定待ち時間(原発振 4MHz 時)
[bit11] 予約
必ず "1" を設定してください。
85
第 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 ビット設定
< 注意事項 >
86
CS1
CS0
0
0
0
1
8MHz(動作周波数 =OSC 発振周波数 *2)
1
0
12MHz(動作周波数 =OSC 発振周波数 *3)
1
1
16MHz(動作周波数 =OSC 発振周波数 *4)
マシンクロック(原発振 4MHz 時)
4MHz(動作周波数 =OSC 発振周波数)
動作電圧が 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
動作
停止
停止
動作
動作
動作
外部リセット
割込み
PLL
スリープ
MCS=0
SLP=1
動作
動作
停止
動作
動作
動作
外部リセット
割込み
時計 (SPL=0)
MCS=0
STP=1
動作
停止
停止
動作
停止
保持
外部リセット
外部割込み
時計 (SPL=1)
MCS=0
STP=1
動作
停止
停止
動作
停止
HI-Z
外部リセット
外部割込み
ストップ
(SPL=0)
MCS=1
STP=1
停止
停止
停止
停止
停止
保持 *
外部リセット
外部割込み
ストップ
(SPL=1)
MCS=1
STP=1
停止
停止
停止
停止
停止
HI-Z
外部リセット
外部割込み
ハードウェア
スタンバイ
HST=L
停止
停止
停止
停止
停止
HI-Z
HST=H
*: ストップモードで SPL を "0" にセットしている場合 , すべての入力は安定したディジタル 値を入力
しなければなりません。そうでなければ , 入力バッファで電流が消費されます (A/D アナログ入力
は例外)
。
< 注意事項 >
ストップモード , 時計モード時に周辺機能とポートを兼用している端子をハイイン
ピーダンスに設定する場合は , 周辺機能の出力を禁止に設定した後 , STP ビットを
"1" に設定してください。
対象となる端子を以下に示します。
対象端子 :P04/OUT0, P05/OUT1, P06/OUT2, P07/OUT3, P10/PPG0, P11/PPG1,
P12/PPG2, P13/PPG3, P14/PPG4, P15/PPG5, P17/TOT1
87
第 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" を
設定します。
88
第 6 章 低消費電力制御回路
6.3.1
スリープモード
スリープモードとは , CPU に供給するクロックのみを停止するモードで , CPU は停
止し , 周辺回路は動作を続けます。
■ スリープモードへの遷移
低消費電力モード制御レジスタ中の SLP ビットに "1", STP ビットに "0" を書き込むこ
とによりスタンバイ制御回路をスリープモードに設定します。
SLP ビットに "1" を書き込んだときに割込み要求が発生していると , スタンバイ制御回
路はスリープモードへ遷移しません。そのため , CPU は割込みを受け付けない状態で
は次の命令の実行 , 受け付ける状態であれば即座に割込み処理ルーチンの分岐を行い
ます。
スリープモードでは , アキュムレータなどの専用レジスタと内部 RAM の内容を保持し
ます。
■ スリープモードの解除
スタンバイ制御回路は , リセット入力または割込みの発生によりスリープモードを解
除します。リセット要因によりスリープモードを解除した場合は , スリープモードを解
除した上でリセット状態になります。
スリープモード中に周辺回路および内蔵リソースから割込みレベルが 7 より強い割込
み要求が発生すると , スタンバイ制御回路はスリープモードを解除します。スリープ
モードの解除後は , 通常の割込み処理と同じ扱いとなり , I フラグ , ILM と割込み制御
レジスタ (ICR) の設定により割込みが受け付けられるときは , CPU はスタンバイ書込
み命令の次の割込み保留でない命令を実行後に , 割込み処理を実行し , 割込みが受け付
けられないときはスリープモードに入れた命令の次の命令から処理を続行します。
< 注意事項 >
通常 , 割込み処理はスリープモードへの遷移中に実行された命令の次の命令を実行
後に開始されます。
89
第 6 章 低消費電力制御回路
6.3.2
時計モード
時計モードとは , 原発振 , タイムベースタイマ以外の動作を止めるモードであり ,
チップのほぼ全機能が停止します。
■ 時計モードへの遷移
スタンバイ制御回路は , クロック選択レジスタの MCS ビットが "0" で , 低消費電力モー
ド制御レジスタの STP ビットに "1" が書き込まれたときに , 時計モードにセットされ
ます。
時計モード中の I/O 端子を , 直前の状態に保持するか , ハイインピーダンス状態にする
かを , 低消費電力モード制御レジスタ中の SPL ビットにより制御できます。STP ビッ
トに "1" を書き込んだときに割込み要求が発生している場合は , スタンバイ制御回は時
計モードに遷移しません。
時計モードでは , アキュムレータなどの専用レジスタと内部 RAM の内容を保持しま
す。
< 注意事項 >
90
時計モード時に周辺機能とポートを兼用している端子をハイインピーダンスに設定
する場合は , 周辺機能の出力を禁止に設定した後 , STP ビットを "1" に設定してくだ
さい。
対象となる端子を以下に示します。
対象端子 :P04/OUT0, P05/OUT1, P06/OUT2, P07/OUT3, P10/PPG0, P11/PPG1,
P12/PPG2, P13/PPG3, P14/PPG4, P15/PPG5, P17/TOT1
第 6 章 低消費電力制御回路
■ 時計モードの解除
スタンバイ制御回路は , リセット入力または割込みの発生により時計モードを解除し
ます。リセット要因により時計モードを解除した場合は , 時計モードを解除した上で ,
リセット状態になります。
時計モードからの復帰の場合 , まずスタンバイ制御回路が時計モードを解除し , PLL ク
ロック発振安定待ち状態に遷移します。MCS ビットは外部リセットによりクリアされ
ないので , リセット時間が PLL クロック発振安定待ち時間より短い場合 , リセットシー
ケンスはメインクロックを使用して行われます。PLL クロック発振安定待ち時間は , タ
イムベースタイマがクリアされていないので , その状態に応じて 213 ∼ 3 × 213 になり
ます。
時計モード中に周辺回路などから割込みレベルが 7 より強い割込み要求が発生すると ,
スタンバイ制御回路は時計モードを解除します。時計モードの解除後は , 通常の割込み
処理と同じ扱いとなり , I フラグ , ILM と割込み制御レジスタ (ICR) の設定により割込
みが受け付けられるときは , CPU はスタンバイ書込み命令の次の割込み保留でない命
令を実行後に , 割込み処理を実行し , 割込みが受け付けられないときは時計モードに入
る前の次の命令から処理を続行します。
< 注意事項 >
• 通常 , 割込み処理は時計モードへの遷移中に実行された命令の次の命令を実行後
に開始されます。
• スタンバイ制御回路は , 時計モードが解除されると PLL クロック発振安定待ち状
態に遷移します。PLL クロックを使用していない場合 , リセットまたは割込みの
直後の命令により MCS ビットに "1" を書き込んでください。
91
第 6 章 低消費電力制御回路
6.3.3
ストップモード
ストップモードとは , 原発振を止めるモードであり , チップの全機能が停止します。
したがって , もっとも低消費電力でデータを保持することができます。
■ ストップモードへの遷移
クロック選択レジスタの MCS ビットが "1" で , 低消費電力モード制御レジスタ中の STP
ビットに "1" を書き込むことによりスタンバイ制御回路をストップモードに設定しま
す。
ストップモード中の I/O 端子を , 直前の状態に保持するか , ハイインピーダンス状態に
するかを , LPMCR 中の SPL ビットにより制御できます。
< 注意事項 >
• SPL を "1" にセットすることが推奨されます。"0" にセットされている場合 , すべ
ての入力をストップモードで定義するようにしてください(ポートを出力にセッ
トするか , 定義済みの入力信号を適用します)。
• ストップモード時に周辺機能とポートを兼用している端子をハイインピーダンス
に設定する場合は , 周辺機能の出力を禁止に設定した後 , STP ビットを "1" に設定
してください。
対象となる端子を以下に示します。
対象端子 :P04/OUT0, P05/OUT1, P06/OUT2, P07/OUT3, P10/PPG0, P11/PPG1,
P12/PPG2, P13/PPG3, P14/PPG4, P15/PPG5, P17/TOT1
STP ビットに "1" を書き込んだときに割込み要求が発生している場合は , スタンバイ制
御回路はストップモードに遷移しません。
ストップモードでは , アキュムレータなどの専用レジスタと内部 RAM の内容を保持し
ます。
■ ストップモードの解除
スタンバイ制御回路は , リセット入力 , または割込みの発生によりストップモードを解
除します。リセット要因によりストップモードを解除した場合は , ストップモードを解
除した上で , リセット状態になります。
ストップモード中に周辺回路などから割込みレベルが 7 より強い割込み要求が発生す
ると , スタンバイ制御回路はストップモードを解除します。ストップモードの解除後は ,
CKSCR 中の WS1, 0 ビットで指定されたメインクロッの発振安定待ち時間を経過した
あとで, 通常の割込み処理と同じ扱いとなり, Iフラグ, ILM と割込み制御レジスタ(ICR)
の設定により割込みが受け付けられるときは , CPU はスタンバイ書込み命令の次の割
込み保留でない命令を実行後に , 割込み処理を実行し , 割込みが受け付けられないとき
はストップモードに入る前の次の命令から処理を続行します。
< 注意事項 >
92
通常 , 割込み処理はストップモードへの遷移中に実行された命令の次の命令実行後
に開始されます。
第 6 章 低消費電力制御回路
■ 発振安定待ち時間の設定
WS1, WS0 ビットを使用して , ストップモードまたはハードウェアスタンバイモードの
解除時の発振安定待ち時間の設定を行います。X0, X1 端子に接続する発振回路 , 発振
素子の種類や特性に応じて発振安定待ち時間を設定します。
パワーオンリセット以外のリセットでは , 本ビットは初期化されません。パワーオンリ
セット時は "11" に初期化されるので , 電源を最初に投入したときに , 発振安定待ち時
間は原発振の約 217 パルスカウントに設定されます。
93
第 6 章 低消費電力制御回路
6.3.4
ハードウェアスタンバイモード
ハードウェアスタンバイモードとは , リセットを含むほかの状態に関係なく HST 端
子が "L" レベルの間 , 発振を停止させ I/O 端子をすべてハイインピーダンス状態にす
るモードです。
■ ハードウェアスタンバイモードへの遷移
HST 端子を "L" レベルにすることにより , どんな状態からでもスタンバイ制御回路を
ハードウェアスタンバイモードに設定することができます。ハードウェアスタンバイ
モードでは内部 RAM の内容は保持されますが , アキュムレータなどの専用レジスタは
初期状態になります。
■ ハードウェアスタンバイモードの解除
ハードウェアスタンバイモードの解除は , HST 端子によってのみ解除することができ
ます。HST 端子を "H" レベルとなるとスタンバイ制御回路はハードウェアスタンバイ
モードを解除し , 内部リセット信号を有効にしたのち発振安定待ち状態に遷移します。
さらに , メインクロック発振安定待ち時間の経過後 , スタンバイ制御回路は内部リセッ
トを解除し , その結果は CPU はリセットシーケンスから実行を開始します。
■ 発振安定待ち時間の設定
WS1, WS0 ビットを使用して , ストップモードまたはハードウェアスタンバイモードの
解除時の発振安定待ち時間の設定を行います。X0, X1 端子に接続する発振回路 , 発振
素子の種類や特性に応じて発振安定待ち時間を設定します。
パワーオンリセット以外のリセットでは , 本ビットは初期化されません。パワーオンリ
セット時は "11" に初期化されるので , 電源を最初に投入したときに , 発振安定待ち時
間は原発振の約 217 パルスカウントに設定されます。
94
第 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命令実行
サイクル
内部バス起動
95
第 6 章 低消費電力制御回路
6.5
マシンクロック切換え
CKSCR レジスタ中の MCS ビットへの書込みにより , マシンクロックは , メインク
ロックから PLL クロックに切り換わります。
■ メインクロックと PLL クロックの切換え
MCS ビットを "1" から "0" に書き換えた場合には , PLL クロックの発振安定待ち時間
(213 マシンクロックサイクル)経過後に , マシンクロックはメインクロックから PLL
クロックに切り換わります。
MCS ビットを "0" から "1" に書き換えた場合には , PLL クロックとメインクロックの
エッジが一致する時点(1 ∼ 8PLL クロックサイクル後)で , マシンクロックは PLL ク
ロックからメインクロックに切り換わります。
MCS ビットを書き換えても即座にマシンクロックの切り換えが行われないので , マシ
ンクロックに依存するリソースを操作する場合には , MCM ビットを常に参照してマシ
ンクロックの切り換えが行われたことを確認した後 , リソースの操作を行います。
< 注意事項 >
クロックモードを切り替えた場合 , 切替えが完了するまでは , 他のクロックモードお
よび低消費電力モードへの切替えを行わないようにしてください。切替えの完了は
「6.2.2 クロック選択レジスタ (CKSCR)」の MCM ビットを参照して確認してくださ
い。
■ マシンクロックの初期化
MCS ビットは , 外部端子 (RST) によるリセット , RST ビットによるリセットでは初期
化されません。その他のリセットでは , "1" に初期化されます。
96
第 6 章 低消費電力制御回路
6.6
クロック選択の状態遷移
PLL クロックの発振安定待ち時間は , 213 メインクロックサイクル固定です ( 原発振
4MHz 時 , 発振安定待ち時間は約 2ms になります )。
■ クロック選択の状態遷移
動作電圧が 5V のとき , OSC 原発振は 3MHz ∼ 5MHz の発振が可能です。外部クロッ
ク供給の場合 , 3MHz ∼ 16MHz の発振が可能です。
図 6.6-1 に , クロック選択の状態遷移を示します。
図 6.6-1 クロック選択の状態遷移
パワーオン
①
メイン ⇒ PLLx
MCS = 0
MCM = 1
CS1/0=xx
メイン
MCS = 1
MCM = 1
CS1/0=xx
⑦
②
③
PLL1 ⇒ メイン
PLL1 逓倍
④
MCS = 1
MCM = 0
CS1/0=00
⑥
MCS = 0
MCM = 0
CS1/0=00
⑦
PLL2 逓倍
PLL2 ⇒ メイン
MCS = 1
⑦
MCS = 0
MCM = 0
CS1/0=01
⑥
MCM = 0
CS1/0=01
⑤
PLL3 逓倍
PLL3 ⇒ メイン
⑦
MCS = 1
MCM = 0
⑥
CS1/0=10
PLL4 ⇒ メイン
MCS = 1
MCM = 0
①MCS ビットクリア
⑥
②PLL クロック発振安定待ち終了 & CS1/0=00
③PLL クロック発振安定待ち終了 & CS1/0=01
CS1/0=11
④PLL クロック発振安定待ち終了 & CS1/0=10
⑤PLL クロック発振安定待ち終了 & CS1/0=11
⑥MCSビットセット (ハードウェアスタンバイ,ウォッチドッグリセットを含む)
⑦PLL クロックとメインクロック同期タイミング
MCS = 0
MCM = 0
CS1/0=10
PLL4 逓倍
MCS = 0
MCM = 0
CS1/0=11
97
第 6 章 低消費電力制御回路
< 注意事項 >
98
クロックモードを切り替えた場合 , 切替えが完了するまでは , 他のクロックモードお
よび低消費電力モードへの切替えを行わないようにしてください。切替えの完了は
「6.2.2 クロック選択レジスタ (CKSCR)」の MCM ビットを参照して確認してくださ
い。
第7章
メモリアクセスモード
メモリアクセスモードの機能と動作について説明
します。
7.1 メモリアクセスモードの概要
7.2 モード端子
7.3 モードデータ
99
第 7 章 メモリアクセスモード
7.1
メモリアクセスモードの概要
F2MC-16LX では , アクセス方式 , アクセス領域の各々について , 次の 2 種類のメモ
リアクセスモードがあります。
• 動作モード
• バスモード
■ メモリアクセスモード
図 7.1-1 メモリアクセスモード
動作モード
○ RUN
バスモード
シングルチップ
○ フラッシュメモリモード
MB90595 シリーズについては , 外部バス機能はサポートされていません。このため , 本
マニュアルの以下の部分は完全にはサポートされていません。ユーザご使用の際には ,
MB90595 シリーズをシングルチップモードで使用してください。
MB90595 シリーズをシングルチップモードに設定するには , モード入力 (MD2 ∼ MD0)
を"011"にし, モードデータの最大有効2ビット (M1, M0) を"00"にする必要があります。
● 動作モード
動作モードとは , デバイスの動作状態を制御するモードを示すもので , モード設定用端
子 (MDx) の内容で指定します。動作モードを選択することで , 通常動作 / 内部試験プ
ログラムの起動 / 特殊試験機能の起動を行うことができます。
● バスモード
バスモードとは , 内部 ROM の動作と外部アクセス機能の動作を制御するモードを示す
もので , モード設定用端子 (MDx) とモードデータ内の Mx ビットの内容で指定します。
モード設定用端子 (MDx) は , リセットベクタおよびモードデータを読み出すときのバ
スモードを指定するもので , モードデータ内の Mx ビットは , 通常動作時のバスモード
を指定するものです。
100
第 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
フラッシュメモリモード
―
―
パラレルライタ使用時のモード
(指定禁止)
内部ベクタモード
内部
(モードデータ)
リセットシーケンス以降はモード
データで制御
(指定禁止)
*: フラッシュメモリのシリアル書込みは , モード端子の設定だけでは書込みができません。他の端 子設定も必要です。
詳細はフラッシュメモリ書込み接続例を参照して下さい。
101
第 7 章 メモリアクセスモード
モードデータ
7.3
主記憶 FFFFDFH に置く , CPU の動作制御用のデータです。リセットシーケンス実
行中にこのデータを取り込み , デバイス内部のモードレジスタに格納します。モー
ドレジスタの内容を変更できるのはリセットシーケンスだけです。
本レジスタによる設定はリセットシーケンス以降に有効となります。
予約ビットは , 必ず "0" を設定してください。
■ モードデータ
図 7.3-1 に , ビットの設定を示します。
図 7.3-1 モードデータ構成
bit
モードデータ
7
6
5
4
3
2
1
M1
M0
0
0
0
0
0
0
0
機能拡張ビット(予約領域)
バスモード設定ビット
■ バスモード設定ビット
リセットシーケンス終了後の動作モードの指定を行うビットです。表 7.3-1 に , ビット
と機能との関係を示します。
表 7.3-1 バスモード設定ビットと機能
M1
M0
0
0
0
1
1
0
1
1
機能
シングルチップモード
(設定禁止)
図 7.3-2 に , 各バスモードのアクセス領域と物理アドレスとの対応関係を示します。
102
第 7 章 メモリアクセスモード
図 7.3-2 各バスモードのアクセス領域と物理アドレス
FFFFFFH
ROM
デバイス依存
#1
010000H
ROM
004000H
002000H
001900H
デバイス依存
#1
000100H
0000C0H
000000H
I/O
:アクセスなし
RAM
:内部アクセス
I/O
シングルチップ
注 (#1):「デバイス依存」とは , デバイスにより決定されるアドレスのことです。
■ 推奨設定例
表 7.3-2 に , モード端子とモードデータの推奨設定例を示します。
表 7.3-2 モード端子とモードデータの推奨設定例
設定例
シングルチップ
< 注意事項 >
MD2
MD1
MD0
M1
M0
0
1
1
0
0
フラッシュ品については , ハードワイアードロジックにより , モードデータにあらか
じめ決められた値が設定されています。詳細については , 「23.9 フラッシュメモリ
におけるリセットベクタアドレス」を参照してください。
103
第 7 章 メモリアクセスモード
104
第8章
I/O ポート
I/O ポートの機能と動作について説明します。
8.1 I/O ポート
8.2 I/O ポートのレジスタ
105
第 8 章 I/O ポート
8.1
I/O ポート
それぞれのポートの各端子は , 対応する周辺が端子を用いない設定となっている時 ,
1 本ごとに方向レジスタを設定することにより , 入力 , 出力の指定を行うことができ
ます。入力端子として指定した場合 , 端子の論理レベルが読み出され , 出力端子とし
て指定した場合 , データレジスタ値が読み出されます。これは , リードモディファイ
ライトのリード操作にも適用されます。
■ I/O ポート
I/O ポートでは , ポート 0 ∼ポート 3 についてのみは , 周辺信号の出力を許可する場合 ,
ポート方向レジスタの対応するビットを "1" に設定する必要があります。
周辺回路の出力として使用している場合にデータレジスタを読出した時は , 方向レジ
スタの値に関係なく , 制御出力として出力しているものが , 読み出されます。
一般的には , ポートを出力に設定する前に , データレジスタの設定にリードモディファ
イライト系の命令を使用しないことが推奨されます。それは , リードモディファイライ
ト系の命令によってレジスタ値ではなくポートの論理レベルが読み出されるからで
す。
図 8.1-1 に , I/O ポートのブロックダイヤグラムを示します。
図 8.1-1 入出力ポートのブロックダイヤグラム
内部データバス
データレジスタ リード
データレジスタ
データレジスタ ライト
方向レジスタ
方向レジスタ ライト
方向レジスタ リード
106
端子
第 8 章 I/O ポート
8.2
I/O ポートのレジスタ
I/O ポートのレジスタには , 次の 3 種類があります。
• ポートデータレジスタ (PDR0 ∼ PDR9)
• ポート方向レジスタ (DDR0 ∼ DDR9)
• ポートアナログ入力許可レジスタ (ADER)
■ I/O ポートのレジスタ
図 8.2-1 に , I/O ポートのレジスタを示します。
図 8.2-1 I/O ポートのレジスタ
bit
15/7 14/6
13/5 12/4
11/3 10/2
9/1
8/0
アドレス:000000H
P07
P06
P05
P04
P03
P02
P01
P00
ポート0データレジスタ(PDR0)
アドレス:000001H
P17
P16
P15
P14
P13
P12
P11
P10
ポート1データレジスタ(PDR1)
アドレス:000002H
P27
P26
P25
P24
P23
P22
P21
P20
ポート2データレジスタ(PDR2)
アドレス:000003H
P37
P36
P35
P34
P33
P32
P31
P30
ポート3データレジスタ(PDR3)
アドレス:000004H
P47
P46
P45
P44
P43
P42
P41
P40
ポート4データレジスタ(PDR4)
アドレス:000005H
P57
P56
P55
P54
P53
P52
P51
P50
ポート5データレジスタ(PDR5)
アドレス:000006H
P67
P66
P65
P64
P63
P62
P61
P60
ポート6データレジスタ(PDR6)
アドレス:000007H
P77
P76
P75
P74
P73
P72
P71
P70
ポート7データレジスタ(PDR7)
アドレス:000008H
P87
P86
P85
P84
P83
P82
P81
P80
ポート8データレジスタ(PDR8)
アドレス:000009H
-
-
P95
P94
P93
P92
P91
P90
ポート9データレジスタ(PDR9)
11/3 10/2
9/1
8/0
bit
15/7 14/6
13/5 12/4
アドレス:000010H
D07
D06
D05
D04
D03
D02
D01
D00
ポート0方向レジスタ(DDR0)
アドレス:000011H
D17
D16
D15
D14
D13
D12
D11
D10
ポート1方向レジスタ(DDR1)
アドレス:000012H
D27
D26
D25
D24
D23
D22
D21
D20
ポート2方向レジスタ(DDR2)
アドレス:000013H
D37
D36
D35
D34
D33
D32
D31
D30
ポート3方向レジスタ(DDR3)
アドレス:000014H
D47
D46
D45
D44
D43
D42
D41
D40
ポート4方向レジスタ(DDR4)
アドレス:000015H
D57
D56
D55
D54
D53
D52
D51
D50
ポート5方向レジスタ(DDR5)
アドレス:000016H
D67
D66
D65
D64
D63
D62
D61
D60
ポート6方向レジスタ(DDR6)
アドレス:000017H
D77
D76
D75
D74
D73
D72
D71
D70
ポート7方向レジスタ(DDR7)
アドレス:000018H
D87
D86
D85
D84
D83
D82
D81
D80
ポート8方向レジスタ(DDR8)
アドレス:000019H
-
-
D95
D94
D93
D92
D91
D90
ポート9方向レジスタ(DDR9)
bit
15
14
13
12
11
10
9
アドレス:00001BH
ADE7 ADE6
ADE5 ADE4
ADE3 ADE2
8
ADE1 ADE0
ポート6アナログ入力許可レジスタ(ADER)
107
第 8 章 I/O ポート
8.2.1
ポートデータレジスタ
I/O ポートの R/W は , メモリへの R/W とは多少動作が異なりますので注意してくだ
さい。
入力モード
リード時 : 対応する端子のレベルが読み出されます。
ライト時 : 出力用のラッチに書き込まれます。
出力モード
リード時 : データレジスタラッチの値が読み出されます。
ライト時 : 出力ラッチに書き込まれ , 対応する端子に出力されます。
■ ポートデータレジスタ
図 8.2-2 に , ポートデータレジスタを示します。
図 8.2-2 ポートデータレジスタ
bit
PDR0
アドレス:000000H
7
6
5
4
3
2
1
0
P07
P06
P05
P04
P03
P02
P01
P00
bit
PDR1
アドレス:000001H
15
14
13
12
11
10
9
8
P17
P16
P15
P14
P13
P12
P11
P10
7
6
5
4
3
2
1
0
P27
P26
P25
P24
P23
P22
P21
P20
14
13
12
11
10
9
8
P36
P35
P34
P33
P32
P31
P30
7
6
5
4
3
2
1
0
P47
P46
P45
P44
P43
P42
P41
P40
14
13
12
11
10
9
8
P56
P55
P54
P53
P52
P51
P50
7
6
5
4
3
2
1
0
P67
P66
P65
P64
P63
P62
P61
P60
14
13
12
11
10
9
8
P76
P75
P74
P73
P72
P71
P70
bit 7
PDR8
P87
アドレス:000008H
6
5
4
3
2
1
0
P86
P85
P84
P83
P82
P81
P80
bit 15
PDR9
アドレス:000009H
14
13
12
11
10
9
8
-
P95
P94
P93
P92
P91
P90
bit
PDR2
アドレス:000002H
bit 15
PDR3
P37
アドレス:000003H
bit
PDR4
アドレス:000004H
bit 15
PDR5
P57
アドレス:000005H
bit
PDR6
アドレス:000006H
bit 15
PDR7
アドレス:000007H
R/W : リード / ライト可能
108
P77
初期値
アクセス
不定
R/W
*1
不定
R/W
*1
不定
R/W
*1
不定
R/W
*1
不定
R/W
*1
不定
R/W
*1
不定
R/W
*1
不定
R/W
*1
不定
R/W
*1
不定
R/W
*1
第 8 章 I/O ポート
ポート方向レジスタ
8.2.2
ポート方向レジスタは , 各端子がポートとして機能しているときは , 対応する各端子
を以下のように制御します。
0: 入力モード
1: 出力モード
■ ポート方向レジスタ
図 8.2-3 に , ポート方向レジスタを示します。
図 8.2-3 ポート方向レジスタ
bit
DDR0
アドレス:000010H
6
5
4
3
2
1
D07
D06
D05
D04
D03
D02
D01
D00
14
13
12
11
10
9
8
D16
D15
D14
D13
D12
D11
D10
6
5
4
3
2
1
0
D26
D25
D24
D23
D22
D21
D20
14
13
12
11
10
9
8
D36
D35
D34
D33
D32
D31
D30
6
5
4
3
2
1
0
D46
D45
D44
D43
D42
D41
D40
14
13
12
11
10
9
8
D56
D55
D54
D53
D52
D51
D50
6
5
4
3
2
1
0
D66
D65
D64
D63
D62
D61
D60
14
13
12
11
10
9
8
D76
D75
D74
D73
D72
D71
D70
6
5
4
3
2
1
0
D86
D85
D84
D83
D82
D81
D80
14
13
12
11
10
9
8
-
D95
D94
D93
D92
D91
D90
bit 15
DDR1
アドレス:000011H
D17
bit 7
DDR2
アドレス:000012H
D27
bit 15
DDR3
アドレス:000013H
D37
bit 7
DDR4
アドレス:000014H
D47
bit 15
DDR5
アドレス:000015H
D57
bit 7
DDR6
アドレス:000016H
D67
bit 15
DDR7
D77
アドレス:000017H
bit 7
DDR8
アドレス:000018H
D87
bit 15
DDR9
アドレス:000019H
0
7
-
初期値
アクセス
00000000B
R/W
00000000B
R/W
00000000B
R/W
00000000B
R/W
00000000B
R/W
00000000B
R/W
00000000B
R/W
00000000B
R/W
00000000B
R/W
--000000B
R/W
R/W:リード/ライト可能
< 注意事項 >
端子が周辺リソースにより出力モードにセットされている場合 , DDR の対応する
ビットは , 常に "1" で読み出されます。
ポート方向レジスタ 0, 1 はパワーオンリセット中は不定であり , パワーオンリセッ
ト後は "00" に初期化されます。したがって , ポート 0, 1 の出力もパワーオンリセッ
ト中は不定となります。
109
第 8 章 I/O ポート
8.2.3
アナログ入力許可レジスタ
アナログ入力許可レジスタは , ポート 6 の各端子を以下のように制御します。
0: ポート入出力モード
1: アナログ入力モード
外部端子を A/D コンバータのアナログ入力として使用している場合 , 対応するビッ
トを "1" に設定する必要があります。
■ アナログ入力許可レジスタ
図 8.2-4 に , アナログ入力許可レジスタを示します。
図 8.2-4 アナログ入力許可レジスタ
bit
アドレス:00001BH
15
14
13
12
11
10
ADE7
ADE6
ADE5
ADE4
ADE3
R/W
R/W
R/W
R/W
R/W
R/W : リード / ライト可能
110
9
8
ADE2
ADE1
ADE0
R/W
R/W
R/W
初期値
11111111B
第9章
タイムベースタイマ
タイムベースタイマの機能と動作について説明し
ます。
9.1 タイムベースタイマの概要
9.2 タイムベースタイマ制御レジスタ
9.3 タイムベースタイマの動作
111
第 9 章 タイムベースタイマ
9.1
タイムベースタイマの概要
タイムベースタイマは , システムクロックを分周する 18 ビットのタイムベースカウ
ンタと制御レジスタにより構成されます。タイムベースタイマは , タイムベースカ
ウンタの桁上り信号により指定したインターバルで割込みを発生します。
■ タイムベースタイマの概要
パワーオン時 , タイムベースカウンタは , ストップモードを設定するか , またはソフト
ウェア (TBR ビットへの "0" の書込み)によりすべてゼロにクリアされます。原振が
入力されている間 , タイムベースカウンタはインクリメントされます。
タイムベースカウンタは , ウォッチドッグタイマのクロック供給 , 発振安定時間待ちの
ためのタイマとして使用できます。
■ タイムベースタイマのブロックダイヤグラム
図 9.1-1 に , タイムベースタイマのブロックダイヤグラムを示します。
図 9.1-1 タイムベースタイマのブロックダイヤグラム
WTE
出力許可
WT1
WT0
リセット リセット
コントロール
2bitカウンタ
セレクタ
タイムベースカウンタ
f/2
パワーオン
リセット
STOPモード
1
1
1
1
1
1
1
1
1
2
211
212
213
214
215
216
217
218
クリア
コントロール
TBOF
セレクタ
TBR
TBC1
TBC0
WS1
WS0
112
1/210 to 1/217
セレクタ
TBOF
クリア
EI2OS
タイムベース分周出力
発振安定待ち完了信号
IRQ
第 9 章 タイムベースタイマ
9.2
タイムベースタイマ制御レジスタ
タイムベースタイマ制御レジスタは , タイムベースタイマの割込みの制御を行い , タ
イムベースカウンタのクリヤを行うことができます。
■ タイムベースタイマ制御レジスタ (TBTC)
15
12
11
10
9
8
予約
TBIE
TBOF
TBR
TBC1
TBC0
W
R/W
R/W
W
R/W
R/W
bit
TBTC
アドレス:0000A9H
14
13
初期値
1--00100B
R/W:リード/ライト可能
W :ライトオンリ
[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
原振 4MHz 時のインターバル時間
0
0
1.024 ms
0
1
4.096 ms
1
0
16.384 ms
1
1
131.072 ms
113
第 9 章 タイムベースタイマ
9.3
タイムベースタイマの動作
タイムベースタイマには , ウォッチドッグタイマのクロックソース , 発振安定時間待
ちのためのタイマ , 一定周期で割込みを発生するインターバルタイマの機能があり
ます。
■ タイムベースカウンタ
タイムベースカウンタは , 原振入力を 2 分周して発生させたクロック用の 18 ビットの
カウンタにより構成されます。このクロックは , マシンクロックを発生するのに使用さ
れます。原振が入力されている間 , タイムベースカウンタはカウント動作を続けます。
タイムベースカウンタのクリアは , パワーオンリセット , ストップモードかハードウェ
アスタンバイモードへの遷移 , または TBTC レジスタ中の TBR ビットへの "0" の書込
みにより行われます。
■ インターバル割込み機能
タイムベースカウンタの桁上り信号により一定周期で割込みを発生します。TBTC レ
ジスタ中の TBC1, TBC0 ビットで設定されるインターバル時間ごとに TBOF フラグを
セットします。このフラグの書込みは , 最後にタイムベースタイマがクリアされた時間
を基準にして行われます。
ストップモード , またはハードウェアスタンバイモードに遷移すると , タイムベースタ
イマは復帰時の発振安定時間待ちのタイマとして使用されるので , TBOF フラグはモー
ド遷移と同時にクリアされます。
114
第 10 章
ウォッチドッグタイマ
ウォッチドッグタイマの機能と動作について説明
します。
10.1 ウォッチドッグタイマの概要
10.2 ウォッチドッグタイマの動作
115
第 10 章 ウォッチドッグタイマ
ウォッチドッグタイマの概要
10.1
ウォッチドッグタイマは , 18bit のタイムベースタイマの桁上り信号をクロックソー
スとする 2 ビットのウォッチドッグカウンタ , コントロールレジスタ , ウォッチドッ
グリセット制御部により構成されています。
■ ウォッチドッグタイマのブロックダイヤグラム
図 10.1-1 に , ウォッチドッグタイマのブロックダイヤグラムを示します。
図 10.1-1 ウォッチドッグタイマのブロックダイヤグラム
WTE
出力許可
WT1
WT0
セレクタ
リセット
コントロール
2bitカウンタ
タイムベースカウンタ
1
f/2
2
パワーオン
リセット
STOPモード
・・・
1
1
1
1
1
1
1
1
211
212
213
214
215
216
217
218
クリア
コントロール
TBOF
TBOF
TBR
クリア
TBC1
TBC0
EI2OS
1/210 to 1/217
WS1
セレクタ
WS0
116
タイムベース分周出力
発振安定待ち完了信号
IRQ
リセット
第 10 章 ウォッチドッグタイマ
■ ウォッチドッグタイマ制御レジスタ (WDTC)
bit
WDTC
アドレス:0000A8H
R
W
初期値
7
6
5
4
3
2
1
0
PONR
STBR
WRST
ERST
SRST
WTE
WT1
WT0
R
R
R
R
W
W
W
R
XXXXX111H
:リードオンリ
:ライトオンリ
[bit7 ∼ bit3] PONR, STBR, WRST, ERST, SRST
リセットの要因を示すフラグです。各種リセット要因が発生すると , 本ビットは 表
10.1-1 のように設定されます。これらのビットはすべて WDTC のリード動作後に "0"
にクリアされます。読出し専用のレジスタです。詳細については , 「5.2 リセット要因
の発生」を参照してください。
表 10.1-1 リセット要因レジスタ
リセット要因
パワーオン
ハードウェアスタンバイ
ウォッチドッグタイマ
外部端子
RST ビット
*: 前の値の保持を示します。
PONR
STBR
WRST
ERST
SRST
1
*
*
*
*
―
1
*
*
*
―
*
1
*
*
―
*
*
1
*
―
*
*
*
1
[bit2] WTE
ウォッチドッグタイマが停止状態のときに本ビットに "0" を書き込むことにより ,
ウォッチドッグタイマを動作状態にします。"1" の書込みは何の操作もしません。
ウォッチドッグタイマは , パワーオン , ハードウェアスタンバイ , ウォッチドッグタイ
マによるリセットにより停止状態となります。読出し時は "1" が読み出されます。
[bit1, bit0] WT1, WT0
ウォッチドッグタイマのインターバル時間を選択するビットです。ウォッチドッグタ
イマ起動時に書き込まれたデータのみが有効です。ウォッチドッグ起動時以外の書込
みデータは無視します。
表 10.1-2 に , インターバル時間の設定を示します。
書込み可能なビットです。
表 10.1-2 ウォッチドッグタイマインターバル選択ビット
WT1
WT0
インターバル時間 (原振 :4MHz)
最小
最大 *
メイン・クロック・サイク
ル・カウント
0
0
約 3.58 ms
約 4.61 ms
214 ± 211 サイクル
0
1
約 14.33 ms
約 18.43 ms
216 ± 213 サイクル
1
0
約 57.23 ms
約 73.73 ms
218 ± 215 サイクル
1
1
約 458.7 ms
221 ± 218 サイクル
*: インターバルの最大値は , ウォッチドッグ動作中にタイムベースカウンタまたは時計カウンタが
リセッ トされない場合の値です。
約 589.82 ms
117
第 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ライト
ウォッチドッグ起動
ウォッチドッグクリア
ウォッチドッグリセット
■ ウォッチドッグ停止
ウォッチドッグタイマは , 一度起動すると , パワーオン , ハードウェアスタンバイ ,
ウォッチドッグによるリセットでのみ初期化され停止状態となります。外部端子 , ソフ
トウェアによるリセットではウォッチドッグのカウンタはクリアしますがウォッチ
ドッグ機能は , 停止されません。
118
第 11 章
16 ビット入出力タイマ
16 ビット入出力タイマの機能と動作について説明
します。
11.1 16 ビット入出力タイマの概要
11.2 16 ビット入出力タイマのレジスタ
11.3 16 ビットフリーランタイマ
11.4 アウトプットコンペア
11.5 インプットキャプチャ
119
第 11 章 16 ビット入出力タイマ
11.1
16 ビット入出力タイマの概要
MB90595 シリーズは 16 ビットフリーランタイマ 1 本 , アウトプットコンペアモ
ジュール 2 本 , インプットキャプチャ 2 本のモジュールから構成され , 4 個の入力
チャネルおよび , 4 個の出力チャネルをサポートしています。ここでは , 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 本を使用して出力端子を反転する。
● 出力端子の初期値を設定することが可能
● 割込みはコンペア一致により発生可能
120
第 11 章 16 ビット入出力タイマ
■ インプットキャプチャ ( モジュールごとに 2 チャネル )
インプットキャプチャは独立した 2 本の外部入力端子と対応したキャプチャレジスタ ,
コントロールレジスタにより構成されています。外部入力端子より入力された信号の
任意エッジを検出することにより 16 ビットフリーランタイマ値をキャプチャレジスタ
に保持し , 同時に割込みを発生することができます。
● 外部入力信号のエッジを選択可能
立上りエッジ , 立下りエッジ , 両エッジから選択可能
● 2 本のインプットキャプチャは独立して動作可能
● 割込みは外部入力信号の有効エッジにより発生可能
インプットキャプチャの割込みによりインテリジェント IO サービスを起動できます。
■ 16 ビット入出力タイマのブロックダイヤグラム
図 11.1-1 に , 16 ビット入出力タイマのブロックダイヤグラムを示します。
図 11.1-1 16 ビット入出力タイマのブロックダイヤグラム
コントロールロジック
各ブロックへ
割込み
16ビットフリーランタイマ
16ビットタイマ
バス
クリア
アウトプットコンペア0
コンペアレジスタ0
アウトプットコンペア1
コンペアレジスタ1
○
○
T
Q
OUT0
T
Q
OUT1
エッジ選択
IN0
エッジ選択
IN1
インプットキャプチャ0
キャプチャレジスタ0
インプットキャプチャ1
キャプチャレジスタ1
121
第 11 章 16 ビット入出力タイマ
11.2
16 ビット入出力タイマのレジスタ
16 ビット入出力タイマのレジスタには , 次の 3 つがあります。
• 16 ビットフリーランタイマのレジスタ
• 16 ビットアウトプットコンペアのレジスタ
• 16 ビットインプットキャプチャのレジスタ
■ 16 ビットフリーランタイマのレジスタ一覧
bit 15
0
000066H
タイマデータレジスタ
TCDT
000068H
TCCS
コントロールステータスレジスタ
■ 16 ビットアウトプットコンペアのレジスタ一覧
bit 15
0
001928H
00192AH
コンペアレジスタ
OCCP0/OCCP1
000058H
OCS0
OCS1
コントロールステータスレジスタ
■ 16 ビットインプットキャプチャのレジスタ一覧
bit 15
001920H
001922H
00005CH
122
0
キャプチャレジスタ
IPCP0/IPCP1
ICS01
コントロールステータスレジスタ
第 11 章 16 ビット入出力タイマ
16 ビットフリーランタイマ
11.3
16 ビットフリーランタイマのカウント値はアウトプットコンペア , インプットキャ
プチャの基本時間 ( ベースタイマ ) として使用されます。
• カウントクロックは 4 種類から選択可能です。
• カウンタオーバフロー割込みを発生することができます。
• モード設定によりアウトプットコンペアのコンペアレジスタ 0 の値との一致によ
るカウンタの初期化が可能です。
■ 16 ビットフリーランタイマのブロックダイヤグラム
図 11.3-1 に , 16 ビットフリーランタイマのブロックダイヤグラムを示します。
図 11.3-1 16 ビットフリーランタイマのブロックダイヤグラム
φ
割込み要求
IVF
IVFE
STOP
MODE
CLR
CLK1
CLK0
分周器
ス
バ
コンパレータ0
16ビットフリーランタイマ
クロック
T15~T00
カウント値出力
123
第 11 章 16 ビット入出力タイマ
11.3.1
データレジスタ
データレジスタは , 16 ビットフリーランタイマのカウント値を読み出すことができ
るレジスタです。カウンタ値はリセット時に "0000H" にクリアされます。このレジ
スタに書き込むことで , タイマ値を設定できますが必ず停止 (STOP=1) 状態で行って
ください。このレジスタはワードアクセスしてください。
■ データレジスタ
15
14
13
12
11
10
9
8
T15
T14
T13
T12
T11
T10
T09
T08
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
T07
T06
T05
T04
T03
T02
T01
T00
R/W
0
R/W : リード / ライト可能
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
bit
アドレス:000067H
bit
アドレス:000066H
←属性
←初期値
TCDT
←属性
←初期値
16 ビットフリーランタイマの初期化は次の要因で行われます。
• リセットによる初期化
• コントロールステータスレジスタのクリアビット (CLR) による初期化
• アウトプットコンペアのコンペアレジスタ 0 とタイマカウンタ値の一致による初期
化 ( モードの設定が必要です )
124
第 11 章 16 ビット入出力タイマ
11.3.2
コントロールステータスレジスタ
コントロールステータスレジスタは , 16 ビットフリーランタイマの動作モードの設
定 , 起動・停止や割込みの制御を行います。
■ コントロールステータスレジスタ
7
6
5
4
3
2
1
0
予約
IVF
IVFE
STOP
MODE
CLR
CLK1
CLK0
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
アドレス:000068H
TCCS
←属性
←初期値
R/W : リード / ライト可能
[bit7] 予約ビット
本ビットには必ず "0" を書き込んでください。
[bit6]IVF
16 ビットフリーランタイマの割込み要求フラグです。
16 ビットフリーランタイマがオーバフローを起こしたとき , またはモード設定により
コンペアレジスタ 0 とコンペアマッチしてカウンタクリアされたときに本ビットは "1"
にセットされます。
割込み要求許可ビット (bit5:IVFE) がセットされていると割込みが発生します。
本ビットは "0" 書込みによりクリアされます。"1" 書込みは意味を持ちません。
リードモディファイ系命令では "1" が読み出せます。
0
割込み要求なし(初期値)
1
割込み要求あり
[bit5]IVFE
16 ビットフリーランタイマの割込み許可ビットです。本ビットが "1" のとき , 割込み
フラグ (bit6:IVF) が "1" にセットされると割込みが発生します。
0
割込み禁止(初期値)
1
割込み許可
125
第 11 章 16 ビット入出力タイマ
[bit4]STOP
16 ビットフリーランタイマのカウントを停止するためのビットです。
"1" 書込み時にタイマのカウント停止。"0" 書込み時にタイマのカウントを開始。
< 注意事項 >
0
カウント許可(動作)(初期値)
1
カウント禁止(停止)
16 ビットフリーランタイマのカウントが停止すると , アウトプットコンペア動作も
停止。
[bit3]MODE
16 ビットフリーランタイマの初期化条件を設定します。
"0" のときはリセットとクリアビット (bit2:CLR) でカウンタ値を初期化可能。
"1" のときはリセットとクリアビット (bit2:CLR) のほかにアウトプットコンペアのコン
ペアレジスタ 0 の値との一致によりカウンタ値を初期化することができます。
< 注意事項 >
0
リセット , クリアビットによる初期化(初期値)
1
リセット , クリアビット , コンペアレジスタ 0 による初期化
カウンタ値の初期化はカウント値の変化点で行われます。
[bit2]CLR
動作中の 16 ビットフリーランタイマ値を "0000H" に初期化するビットです。
"1" 書込み時にカウンタ値を "0000H" に初期化。"0" を書き込んでも意味を持ちません。
リード値は常に "0" です。カウンタ値の初期化はカウント値の変化点で行われます。
< 注意事項 >
0
意味を持ちません(初期値)
1
カウンタ値を "0000H" に初期化します
タイマ停止中に初期化する場合はデータレジスタに"0000H"を書き込んでください。
[bit1, bit0]CLK1, CLK0
16 ビットフリーランタイマのカウントクロックを選択します。本ビットに書込み後す
ぐにクロックは変更されますのでアウトプットコンペア , インプットキャプチャが停
止状態のときに変更してください。
CLK1
CLK0
カウントクロック分周比
φ =16MHz
φ = 8MHz
φ = 4MHz
φ = 2MHz
0
0
φ /4
0.25 µ s
0.5 µ s
1µs
2µs
0
1
φ /16
1µs
2µs
4µs
8µs
1
0
φ /64
4µs
8µs
16 µ s
32 µ s
1
1
φ /256
16 µ s
32 µ s
64 µ s
128 µ s
φ : マシンクロック
126
第 11 章 16 ビット入出力タイマ
11.3.3
16 ビットフリーランタイマの動作
16 ビットフリーランタイマはリセット解除後にカウンタ値 "0000H" よりカウントを
開始します。このカウンタ値が 16 ビットアウトプットコンペアと 16 ビットイン
プットキャプチャの基準時間となります。
■ 16 ビットフリーランタイマの動作
カウンタ値は , 次の 5 つの条件でクリアされます。
• オーバフローが発生したとき。
• アウトプットコンペアレジスタ0値とコンペアマッチしたとき(モード設定が必要)。
• 動作中に TCCS レジスタの CLR ビットに "1" を書き込んだとき。
• 停止中に TCDC レジスタに "0000H" を書き込んだとき。
• リセット時
割込みはオーバフローが発生したときと, コンペアレジスタ0値とコンペアマッチして
カウンタクリアされたときに発生することができます ( コンペアマッチ割込みはモー
ド設定が必要です )。
■ オーバフローによるカウンタクリア
カウンタ値
オーバフロー
FFFFH
BFFFH
7FFFH
3FFFH
0000H
時間
リセット
割込み
■ アウトプットコンペアレジスタ 0 値とコンペアマッチしたときのカウンタクリア
カウンタ値
FFFFH
BFFFH
一致
一致
7FFFH
3FFFH
0000H
時間
リセット
コンペア
レジスタ値
割込み
BFFFH
127
第 11 章 16 ビット入出力タイマ
■ 16 ビットフリーランタイマのタイミング
● 16 ビットフリーランタイマのクリアタイミング ( コンペアレジスタ 0 との一致 )
カウンタのクリアはリセット , ソフト , コンペアレジスタ 0 との一致で行うことができ
ます。リセットとソフトでのカウンタクリアはクリア発生とともに行われますが , コン
ペアレジスタ 0 との一致によるカウンタクリアはカウントタイミングに同期して行わ
れます。
マシンクロック(φ)
N
コンペアレジスタ値
コンペアマッチ
カウンタ値
128
N
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割込み
制御ブロック
129
第 11 章 16 ビット入出力タイマ
11.4.1
アウトプットコンペアのレジスタ
16 ビットフリーランタイマと比較する 16 ビット長のコンペアレジスタです。レジ
スタ値は初期値不定ですので設定してから起動許可してください。本レジスタは
ワードアクセスしてください。本レジスタ値と 16 ビットフリーランタイマ値が一致
した時コンペア信号が発生してアウトプットコンペア割込みフラグをセットします。
また , 出力許可をしている場合はコンペアレジスタに対応した出力レベルを反転し
ます。
■ アウトプットコンペアのコンペアレジスタ
アドレス:
bit
001929H
00192BH
アドレス:
001928H
00192AH
bit
15
14
13
12
11
10
9
8
C15
C14
C13
C12
C11
C10
C09
C08
R/W
X
7
R/W
X
6
R/W
X
5
R/W
X
4
R/W
X
3
R/W
X
2
R/W
X
1
R/W
X
0
C06
C05
C04
C03
C02
C01
C00
R/W
R/W
X
X
R/W : リード / ライト可能
X
: 不定値
R/W
X
R/W
X
R/W
X
R/W
X
R/W
X
R/W
X
130
C07
←属性
←初期値
OCCP0/OCCP1
←属性
←初期値
第 11 章 16 ビット入出力タイマ
11.4.2
アウトプットコンペアのコントロールステータスレ
ジスタ
コントロールステータスレジスタは , アウトプットコンペアの動作モードの設定 , 起
動・停止や割込みの制御 , 外部出力端子の設定を行います。
■ アウトプットコンペアのコントロールステータスレジスタ
アドレス:
bit
15
14
13
000059H
アドレス:
000058H
bit
12
11
10
9
8
CMOD
OTE1
OTE0
OTD1
OTD0
R/W
0
3
R/W
0
2
OCS1
R/W
0
1
R/W
0
0
←属性
←初期値
OCS0
←属性
←初期値
7
6
5
R/W
0
4
ICP1
ICP0
ICE1
ICE0
CST1
CST0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W : リード / ライト可能
− : 未定義
[bit15 ∼ bit13] 未使用ビット
[bit12] CMOD
端子出力を許可した場合 (OTE1=1 OR OTE0=1) のコンペア一致における端子出力レベ
ル反転動作モードを切り換えます。
• CMOD=0 のとき(初期値)はコンペアレジスタに対応した端子の出力レベルを反転
します。
- OUT0: コンペアレジスタ 0 の一致によりレベルを反転します。
- OUT1: コンペアレジスタ 1 の一致によりレベルを反転します。
• CMOD=1 のときはコンペアレジスタ 0 は CMOD=0 時と同じく出力レベルを反転し
ますが , コンペアレジスタ 1 に対応した端子 (OUT1) の出力レベルは , コンペアレジ
スタ 0 の一致とコンペアレジスタ 1 の一致の両方で出力レベルを反転します。コン
ペアレジスタ 0 と 1 が同値の時はコンペアレジスタ 1 本のときと同じ動作をします。
- OUT0: コンペアレジスタ 0 の一致によりレベルを反転します。
- OUT1: コンペアレジスタ 0 と 1 の一致によりレベルを反転します。
131
第 11 章 16 ビット入出力タイマ
[bit11, bit10] OTE1, OTE0
アウトプットコンペアの端子出力を許可するビットです。本ビットは初期値 "0" です。
< 注意事項 >
0
汎用ポートとして動作します。(初期値)
1
アウトプットコンペア端子出力になります。
OTE1: アウトプットコンペア 1(OUT1) に対応
OTE0: アウトプットコンペア 0(OUT0) に対応
[bit9, bit8]OTD1, OTD0
アウトプットコンペアの端子出力を許可した場合の端子出力レベルを変更するときに
使用します。コンペア端子出力の初期値は "0" となります。書込み時はコンペア動作
を停止してから行ってください。読出し時はアウトプットコンペア端子出力値が読み
出せます。
< 注意事項 >
0
コンペア端子出力を "0" にします(初期値)
1
コンペア端子出力を "1" にします
OTD1: アウトプットコンペア 1 に対応
OTD0: アウトプットコンペア 0 に対応
[bit7, bit6]ICP1, ICP0
アウトプットコンペアの割込みフラグです。コンペアレジスタと 16 ビットフリーラン
タイマ値が一致した場合に "1" にセットされます。割込み要求ビット (ICE1, ICE0) が許
可されているときに本ビットがセットされるとアウトプットコンペア割込みが発生し
ます。本ビットは "0" 書込みによりクリアされ , "1" 書込みでは意味をもちません。リー
ドモディファイ系命令では "1" が読み出せます。
< 注意事項 >
132
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 ビットフリーランタイマを停止させるとコンペア動作も停止します。
133
第 11 章 16 ビット入出力タイマ
11.4.3
16 ビットアウトプットコンペアの動作
16 ビットアウトプットコンペアは , 設定されたコンペアレジスタ値と 16 ビットフ
リーランタイマとの値を比較して一致したら割込み要求フラグをセットするととも
に , 出力レベルを反転することができます。
■ コンペアレジスタ 0, 1 を使用したときの出力波形例(出力の初期値は 0 とする)
図 11.4-2 コンペアレジスタ 0, 1 を使用したときの出力波形例
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
0000H
時間
リセット
コンペアレジスタ0値
BFFFH
コンペアレジスタ1値
7FFFH
OUT0
OUT1
コンペア0割込み
コンペア1割込み
2 組のコンペアレジスタを使い , 出力レベルを変えることができます(CMOD=1 の時)
。
■ 2 組のコンペアレジスタによる出力波形例(出力の初期値は 0 とする)
図 11.4-3 2 組のコンペアレジスタによる出力波形例(出力の初期値は 0 とする)
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
0000H
時間
リセット
コンペアレジスタ0値
BFFFH
コンペアレジスタ1値
7FFFH
OUT0
OUT1
コンペア0割込み
コンペア1割込み
134
コンペア0と
1に対応
第 11 章 16 ビット入出力タイマ
■ アウトプットコンペアのタイミング
アウトプットコンペアは , フリーランタイマと設定したコンペアレジスタの値が一致
したときにコンペアマッチ信号が発生して出力値を反転するとともに割込みを発生す
ることができます。コンペアマッチ時の出力反転タイミングはカウンタのカウントタ
イミングに同期して行われます。
● コンペアレジスタ書換え時のコンペア動作
コンペアレジスタ書換え時のカウンタ値とはコンペアしません。
カウンタ値
N+1
N
N+2
N+3
一致信号は発生しない。
M
コンペアレジスタ0値
N+1
コンペアレジスタ0ライト
N+3
M
コンペアレジスタ1値
コンペアレジスタ1ライト
コンペア0停止
コンペア1停止
● アウトプットコンペアの割込みタイミング
φ
N
カウンタ値
N+1
N
コンペアレジスタ値
コンペアマッチ
割込み
● アウトプットコンペアの出力端子変化タイミング
カウンタ値
コンペアレジスタ値
N
N+1
N
N+1
N
コンペアマッチ信号
端子出力
135
第 11 章 16 ビット入出力タイマ
インプットキャプチャ
11.5
インプットキャプチャは外部から入力された信号の立上りエッジ , 立下りエッジま
たは両エッジを検出して , そのときの 16 ビットフリーランタイマ値をレジスタに保
持する機能を持っています。また , エッジ検出時に割込みを発生することができま
す。インプットキャプチャは , インプットキャプチャデータレジスタ , コントロール
レジスタで構成されています。
■ インプットキャプチャ
各インプットキャプチャは , それぞれに対応した外部入力端子を持っています。
● 外部入力の有効エッジを 3 種類から選択可能です。
• 立上りエッジ ( ↑ )
• 立下りエッジ ( ↓ )
• 両エッジ ( ↑↓ )
● 外部入力の有効エッジを検出したときに割込みを発生することができます。
■ インプットキャプチャのブロックダイヤグラム
図 11.5-1 に , インプットキャプチャのブロックダイヤグラムを示します。
図 11.5-1 インプットキャプチャの全体ブロックダイヤグラム
キャプチャデータレジスタ0
バス
16ビットタイマカウンタ値
(T15~T00)
キャプチャデータレジスタ1
ICP1
エッジ検出
IN0
EG11 EG10 EG01 EG00
エッジ検出
IN1
ICP0 ICE1 ICE0
割込み
割込み
136
第 11 章 16 ビット入出力タイマ
11.5.1
インプットキャプチャのレジスタ
インプットキャプチャのレジスタは , 次の 2 つがあり , 対応した外部端子入力波形の
有効エッジを検出したとき 16 ビットフリーランタイマ値を保持するレジスタです
(ワードアクセスしてください。書込みはできません)。
• インプットキャプチャデータレジスタ
• インプットキャプチャコントロールレジスタ
■ インプットキャプチャデータレジスタ
アドレス:
001921H
001923H
アドレス:
001920H
001922H
bit
bit
15
14
13
12
11
10
9
8
CP15
CP14
CP13
CP12
CP11
CP10
CP09
CP08
R
X
R
X
R
X
R
X
R
X
R
X
R
X
R
X
7
6
5
4
3
2
1
0
CP07
CP06
CP05
CP04
CP03
CP02
CP01
CP00
R
X
R
X
R
X
R
X
R
X
R
X
R
X
R
X
←属性
←初期値
IPCP0/IPCP1
←属性
←初期値
R : リードオンリ
X : 不定値
■ インプットキャプチャコントロールステータスレジスタ
アドレス: bit
00005CH
7
6
5
4
3
2
1
0
ICP1
ICP0
ICE1
ICE0
EG11
EG10
EG01
EG00
ICS01
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
←属性
←初期値
R/W : リード / ライト可能
[bit7, bit6] ICP1, ICP0
インプットキャプチャ割込みフラグです。外部入力端子の有効エッジを検出すると本
ビットを "1" にセットします。割込み許可ビット (ICE0, ICE1) がセットされていると有
効エッジを検出することにより割込みを発生することができます。
本ビットは "0" 書込みによりクリアされます。"1" 書込みは意味を持ちません。リード
モディファイライト系命令では "1" が読み出せます。
< 注意事項 >
0
有効エッジ検出なし(初期値)
1
有効エッジ検出あり
ICP0: インプットキャプチャ 0 に対応
ICP1: インプットキャプチャ 1 に対応
137
第 11 章 16 ビット入出力タイマ
[bit5, bit4] ICE1, ICE0
インプットキャプチャ割込み許可ビットです。本ビットが "1" のとき割込みフラグ
(ICP0, ICP1) がセットされるとインプットキャプチャ割込みが発生します。
< 注意事項 >
0
割込み禁止(初期値)
1
割込み許可
ICE0: インプットキャプチャ 0 に対応
ICE1: インプットキャプチャ 1 に対応
[bit3 ∼ bit0] EG11, EG10, EG01, EG00
外部入力の有効エッジ極性を指定します。インプットキャプチャ動作許可も兼用して
います。
< 注意事項 >
138
EG11
EG01
EG10
EG00
0
0
エッジ検出なし ( 停止状態 ) ( 初期値 )
0
1
立上りエッジ検出 ↑
1
0
立下りエッジ検出 ↓
1
1
両エッジ検出 ↑↓
エッジ検出極性
EG01, EG00: インプットキャプチャ 0 に対応
EG11, EG10: インプットキャプチャ 1 に対応
第 11 章 16 ビット入出力タイマ
16 ビットインプットキャプチャの動作
11.5.2
16 ビットインプットキャプチャは設定された有効エッジを検出すると 16 ビットフ
リーランタイマの値をキャプチャレジスタに取り込んで割込みを発生することとが
できます。
■ インプットキャプチャの取り込みタイミング例
• キャプチャ 0= 立上りエッジ
• キャプチャ 1= 立下りエッジ
• キャプチャ例 = 両エッジ(例として)
図 11.5-2 インプットキャプチャの取り込みタイミング例
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
0000H
時間
リセット
IN0
IN1
IN例
キャプチャ0
不定
キャプチャ1
不定
キャプチャ例
不定
3FFFH
7FFF H
BFFFH
3FFFH
キャプチャ0割込み
キャプチャ1割込み
キャプチャ例割込み
■ インプットキャプチャ入力タイミング
● 入力信号に対するキャプチャタイミング
マシンクロック(φ)
カウンタ値
インプットキャプチャ
入力
N
N+1
有効エッジ
キャプチャ信号
キャプチャレジスタ
N+1
割込み
139
第 11 章 16 ビット入出力タイマ
140
第 12 章
16 ビットリロードタイマ
(イベントカウント機能付)
16 ビットリロードタイマ(イベントカウント機能
付)の機能と動作について説明します。
12.1 16 ビットリロードタイマ(イベントカウント機能付)
の概要
12.2 16 ビットリロードタイマのレジスタ
12.3 16 ビットリロードタイマの内部クロック動作と外部ク
ロック動作
12.4 16 ビットリロードタイマのアンダフロー動作
12.5 16 ビットリロードタイマの出力端子機能
12.6 カウンタの動作状態
141
第 12 章 16 ビットリロードタイマ (イベントカウント機能付)
12.1
16 ビットリロードタイマ(イベントカウント機能付)
の概要
16 ビットリロードタイマ 1 は , 16bit のダウンカウンタ , 16bit のリロードレジスタ ,
入力端子 1 本 (TIN), 出力端子 1 本 (TOT), コントロールレジスタで構成されていま
す。入力クロックとして内部クロック 3 種類と外部クロックを選択できます。
■ 16 ビットリロードタイマ ( イベントカウント機能付 ) の概要
出力端子 (TOT) には , リロードモード時にはトグル出力波形を出力し , ワンショット
モード時にはカウント中を示す矩形波を出力します。入力端子 (TIN) は , イベントカウ
ントモード時にイベント入力となり , 内部クロックモード時にはトリガ入力または ,
ゲート入力に使用することができます。
MB90595 シリーズの 16 ビットリロードタイマは 2 つです。
■ インテリジェント I/O サービス (EI2OS) 機能と割込み
本タイマは EI2OS 対応の回路を有しています。このため , 本タイマのアンダフローに
より EI2OS を起動させることができます。本製品では , 2 つのタイマすべてで EI2OS で
使用することができます。
142
第 12 章 16 ビットリロードタイマ (イベントカウント機能付)
■ 16 ビットリロードタイマのブロックダイヤグラム
図 12.1-1 に , 16 ビットリロードタイマのブロックダイヤグラムを示します。
図 12.1-1 16 ビットリロードタイマのブロックダイヤグラム
16
/
16ビットリロードレジスタ
/
8
リロード
RELD
16ビットダウンカウンタ
/
16
OUTL
2
/
F2MC-16BUS
OUTE
OUT
CTL.
GATE
クロックセレクタ
UF
CSL1
EXCK
φ
φ
φ
21
23
25
CSL0
ポート(TIN)
IN CTL
プリスケーラ
クリア
出力許可
/3
MOD2
MOD1
周辺クロック
IRQ
CNTE クリア
EI 2 OS CLR
TRG
リトリガ
/
2
/
INTE
MOD0
ポート(TOT)
UARTボーレート(ch.0)
A/DC(ch.1)
3
143
第 12 章 16 ビットリロードタイマ (イベントカウント機能付)
12.2
16 ビットリロードタイマのレジスタ
16 ビットリロードタイマのレジスタには , 次の 2 種類があります。
• タイマコントロールステータスレジスタ (TMCSR)
• 16 ビットタイマレジスタ /16 ビットリロードレジスタ (TMR/TMRLR)
■ 16 ビットリロードタイマのレジスタ
タイマコントロールステータスレジスタ上位
アドレス:ch.0
ch.1
⎫
000051H ⎬
000055H ⎭
リード/ライト
初期値
bit 15
000050H ⎫
000054H ⎬
⎭
リード/ライト
初期値
16ビットタイマレジスタ上位/
16ビットリロードレジスタ上位
アドレス:ch.0 000053H ⎫
ch.1 000057H ⎬
⎭
リード/ライト
初期値
16ビットタイマレジスタ下位/
16ビットリロードレジスタ下位
アドレス:ch.0 000052H ⎫
000056
H ⎬
H
ch1ch.1
00003E
⎭
リード/ライト
初期値
R/W:リード/ライト可能
X :不定値
- :未定義
144
13
12
11
10
8
9
―
―
―
―
CSL1
CSL0
MOD2
MOD1
―
―
―
―
―
―
―
―
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
bit
タイマコントロールステータスレジスタ下位
アドレス:ch.0
ch.1
14
7
6
5
4
3
2
1
0
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 15
14
13
12
11
10
9
8
(R/W)
(X)
bit
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
7
6
5
4
3
(R/W)
(X)
TMCSR
(R/W)
(X)
2
1
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) の配置
タイマコントロールステータスレジスタ上位
アドレス:ch.0 000051H ⎫
⎬
ch1
H H
ch.1 00003D
000055
⎭
リード/ライト
初期値
タイマコントロールステータスレジスタ下位
アドレス:ch.0 000050H ⎫
⎬
ch1
H H
ch.1 00003C
000054
⎭
リード/ライト
初期値
bit 15
14
13
12
11
10
9
8
―
―
―
―
CSL1
CSL0
MOD2
MOD1
―
―
―
―
―
―
―
―
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
bit
7
6
5
4
3
2
1
0
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)
TMCSR
R/W:リード/ライト可能
- :未定義
● タイマコントロールステータスレジスタ (TMCSR) の内容
[bit11, bit10]CSL1, CSL0 (Clock SeLect1, 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
外部イベントカウントモード
145
第 12 章 16 ビットリロードタイマ (イベントカウント機能付)
[bit9 ∼ bit7]MOD2 ∼ MOD0
動作モードおよび , 入出力端子の機能を設定するビットです。
MOD2 ビットは , 入出力の機能を選択するビットです。"0" の場合 , 入力端子はトリガ
入力端子となり , 有効エッジが入力されるとリロードレジスタの内容をカウンタへ
ロードし , カウント動作を継続します。"1" の場合 , ゲートカウンタモードになり , 入
力端子はゲート入力となり , 有効レベルが入力されている間のみカウントをします。
MOD1, MOD0 ビットは , 各モードにおける端子の機能の設定を行います。表 12.2-2 お
よび表 12.2-3 に , MOD2 ∼ MOD0 ビットの設定を 示します。
表 12.2-2 MOD2 ∼ MOD0 ビットの設定方法 (1)
MOD2
MOD1
MOD0
入力端子機能
有効エッジ , レベル
0
0
0
トリガ禁止
―
0
0
1
トリガ入力
立上りエッジ
0
1
0
↑
立下りエッジ
0
1
1
↑
両エッジ
1
×
0
ゲート入力
"L" レベル
1
×
1
↑
"H" レベル
内部クロックモード時 (CSL0, CSL1=00, 01, 10)
表 12.2-3 MOD2 ∼ MOD0 ビットの設定方法 (2)
MOD2
×
MOD1
MOD0
入力端子機能
有効エッジ , レベル
0
0
―
―
0
1
トリガ入力
立上りエッジ
1
0
↑
立下りエッジ
1
1
↑
両エッジ
• イベントカウントモード時 (CSL0, CSL1=11)
• 表中の×は , 任意の値
[bit6]OUTE
出力許可ビットです。"0" のとき TOT 端子は汎用ポートになり , "1" のとき TOT 端子
はタイマ出力端子になります。出力波形はリロードモード時トグル出力となり , ワン
ショットモード時はカウンタ中を示す矩形波出力になります。
146
第 12 章 16 ビットリロードタイマ (イベントカウント機能付)
[bit5]OUTL
TOT 端子の出力レベルを設定するビットです。
表 12.2-4 OUTE, RELD, OUTL の設定方法
OUTE
RELD
OUTL
0
×
×
汎用ポート
1
0
0
カウント中 "H" の矩形波
1
0
1
カウント中 "L" の矩形波
1
1
0
カウントスタート時 "L" のトグル出力
1
1
1
カウントスタート時 "H" のトグル出力
出力波形
[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 のときには , なにもおこりま
せん。
147
第 12 章 16 ビットリロードタイマ (イベントカウント機能付)
12.2.2
16 ビットタイマレジスタ (TMR) /16 ビットリロード
レジスタ (TMRLR) のレジスタ配置
○ TMR 内容(リード時)
16 ビットタイマのカウント値を読み出すことができるレジスタです。初期値は不定
です。このレジスタの読出しは , 必ずワード転送命令で行ってください。
○ TMRLR 内容(ライト時)
16 ビットリロードレジスタは , カウントの初期値を保持しておくレジスタです。初
期値は不定です。このレジスタへの書込みは , 必ずワード転送命令で行ってくださ
い。
■ 16 ビットタイマレジスタ (TMR) /16 ビットリロードレジスタ (TMRLR) のレジスタ
配置
16ビットタイマレジスタ上位/
16ビットリロードレジスタ上位
アドレス:ch.0 000053H
ch1
H H
ch.1 00003F
000057
bit
(R/W)
(X)
R/W:リード/ライト可能
X :不定値
148
(R/W)
(X)
bit
16ビットタイマレジスタ下位/
16ビットリロードレジスタ下位
リード/ライト
初期値
14
13
12
11
10
9
8
⎫
⎬
⎭
リード/ライト
初期値
アドレス:ch.0 000052H
ch1
H H
ch.1 00003E
000056
15
(R/W)
(X)
7
(R/W)
(X)
6
(R/W)
(X)
5
(R/W)
(X)
4
(R/W)
(X)
3
(R/W)
(X)
2
1
⎫
⎬
⎭
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.3
16 ビットリロードタイマの内部クロック動作と外部ク
ロック動作
内部クロックの分周クロックでタイマを動作させる場合 , クロックソースとしてマ
シンクロックの 21, 23, 25 分周のクロックから選択することができます。外部入力端
子は , レジスタの設定により , トリガ入力またはゲート入力にすることができます。
外部クロックをセレクトすると TIN 端子は , 外部イベント入力端子となりレジスタ
で設定された有効エッジをカウントします。
■ 16 ビットリロードタイマの内部クロック動作
カウント許可と同時にカウント動作を開始したい場合は , コントロールレジスタの
CNTE ビットと TRG ビットの両方に "1" を書き込んでください。TRG ビットによるト
リガ入力は , タイマが起動状態のとき (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 に ,
トリガ入力の動作を示します。
149
第 12 章 16 ビットリロードタイマ (イベントカウント機能付)
図 12.3-2 16 ビットリロードタイマのトリガ入力の動作
カウントクロック
立上りエッジ検出時
TIN
プリスケーラクリア
カウンタ
リロードデータ
C000H
-1
-1
-1
ロード
2T2.5T
ゲート入力として使用する場合 , コントロールレジスタの MOD0 ビットにより設定さ
れる有効レベルが , TIN 端子から入力されている間のみカウントをします。この時カ
ウントクロックは , 止まらずに動き続けます。ゲートモード時のソフトウェアトリガ
は , ゲートレベルに関わらず可能です。TIN 端子のパルス幅は , 2・T(T はマシンサ
イクル)以上にしてください。図 12.3-3 に , ゲート入力の動作を示します。
図 12.3-3 16 ビットリロードタイマのゲート入力の動作
カウントクロック
MOD0= 1 とした場合(入力"H"の間カウント)
TIN
カウンタ
-1
-1
-1
■ 外部イベントカウント
外部クロックをセレクトすると TIN 端子は , 外部イベント入力端子となりレジスタで
設定された有効エッジをカウントします。TIN 端子のパルス幅は , 4・T(T はマシン
サイクル)以上にしてください。
150
第 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]
151
第 12 章 16 ビットリロードタイマ (イベントカウント機能付)
16 ビットリロードタイマの出力端子機能
12.5
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]
152
第 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
ロード終了
リロードレジスタの内容を
カウンタへロード
153
第 12 章 16 ビットリロードタイマ (イベントカウント機能付)
154
第 13 章
8/16 ビット PPG
8/16 ビット PPG の機能と概要について説明しま
す。
13.1 8/16 ビット PPG の概要
13.2 8/16 ビット PPG のブロックダイヤグラム
13.3 8/16 ビット PPG のレジスタ
13.4 8/16 ビット PPG の動作
13.5 8/16 ビット PPG のカウントクロックの選択
13.6 8/16 ビット PPG のパルスの端子出力の制御
13.7 8/16 ビット PPG の割込み
13.8 8/16 ビット PPG の各ハードウェアの初期値
155
第 13 章 8/16 ビット PPG
13.1
8/16 ビット PPG の概要
8/16 ビット PPG は , ハードウェアとして , 8bit ダウンカウンタ 2 個 , 8bit リロード
レジスタ 4 個 , 16bit 制御レジスタ 1 個 , 外部パルス出力端子 2 本 , 割込み出力 2 本
を有し , これらにより以下の機能を実現します。
■ 8/16 ビット PPG の機能
● 8 ビット PPG 出力 2ch 独立動作モード
2ch の独立した PPG 出力動作が可能です。
● 16 ビット PPG 出力動作モード
1ch の 16bit の PPG 出力動作が可能です。
● 8+8 ビット PPG 出力動作モード
ch.0 の出力を ch.1 のクロック入力とすることにより , 任意周期の 8bit PPG 出力動作が
可能です。
● PPG 出力動作
任意周期・デューティ比のパルス波を出力します。外付け回路により D/A コンバータ
としても使用可能です。
MB90595 シリーズには 6 本の PPG があります。次節では PPG0/1 の機能についてのみ
記述します。残りの PPG も同じ機能を持ち , レジスタアドレスについては I/O マップ
に記しています。ch.0 の PPG の出力信号は , どの外部端子にも接続されていません。
156
第 13 章 8/16 ビット PPG
13.2
8/16 ビット PPG のブロックダイヤグラム
図 13.2-1 に , 8/16 ビット PPG(ch.0) のブロックダイヤグラムを , 図 13.2-2 に , 8/16
ビット PPG(ch.1) のブロックダイヤグラムを示します。
■ 8/16 ビット PPG のブロックダイヤグラム
図 13.2-1 8 ビット PPG (ch.0) のブロックダイヤグラム
PPG00出力許可
PPG00
周辺クロック16分周
周辺クロック8分周
周辺クロック4分周
周辺クロック2分周
周辺クロック
MB90595シリーズでは,この信号は
外部端子には接続していません。
PPG0
出力ラッチ
反転
クリア
PEN0
カウント
クロック選択
S
R Q
PCNT
(ダウンカウンタ)
IRQ
リロード
タイムベースカウンタの出力
メインクロックの512分周
L/Hセレクト
MB90595シリーズでは,このIRQ信号
はOR論理によりチャネル1のIRQ信号
とマージされます。
ch.1-ボロー
L/Hセレクタ
PRLL0
PRLBH0
PIE0
PRLH0
PUF0
L側データバス
H側データバス
PPGC0
(動作モード制御)
157
第 13 章 8/16 ビット PPG
図 13.2-2 8 ビット PPG (ch.1) のブロックダイヤグラム
PPG10 出力端子
PPG10
周辺クロック 16分周
周辺クロック 8分周
周辺クロック 4分周
周辺クロック 2分周
周辺クロック
MB90595 シリーズでは,この端子は
「PPG0」外部端子に接続しています。
PPG1
出力ラッチ
反転
カウントクロック
選択
ch.0-ボロー
タイムベースカウンタ出力
メインクロック512分周
L/H セレクト
クリア
PEN1
MB90595 シリーズでは,このIRQ信号
は,OR論理によりチャネル0のIRQ
信号とマージされます。
S
R Q
PCNT
(ダウンカウンタ)
IRQ
リロード
L/H セレクタ
PRLL1
PRLBH1
PIE1
PRLH1
PUF1
L側データバス
H側データバス
PPGC1
(動作モード制御)
図 13.2-3 PPG モジュールと外部端子の関係
PPG0
PPG2,PPG3
PPG1
PPG4,PPG5
PPG2
PPG6,PPG7
PPG3
PPG8,PPG9
PPG4
PPGA,PPGB
PPG5
⎧
⎪
⎪
⎪
⎪
⎪
⎪
⎨
⎪
⎪
⎪
⎪
⎪
⎩
158
PPG0,PPG1
外部端子
第 13 章 8/16 ビット PPG
13.3
8/16 ビット PPG のレジスタ
8/16 ビット PPG のレジスタには , 次の 5 つがあります。
• PPG0 動作モード制御レジスタ
• PPG1 動作モード制御レジスタ
• PPG0, PPG1 出力端子制御レジスタ
• リロードレジスタ H
• リロードレジスタ L
■ 8/16 ビット PPG のレジスタ
PPG0動作モード制御レジスタ
アドレス:ch.0 000038H
7
6
5
4
3
2
1
0
PEN0
―
PE00
PIE0
PUF0
―
―
予約
(R/W)
(0)
(-)
(-)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(-)
(-)
(-)
(-)
(W)
(1)
bit
PPGC0
リード/ライト
初期値
PPG1動作モード制御レジスタ
アドレス:ch.0 000039H
bit 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)
(R/W)
(0)
(W)
(1)
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)
(R/W)
(0)
(R/W)
(0)
(-)
(-)
(-)
(-)
PPGC1
リード/ライト
初期値
PPG0,1出力端子制御レジスタ
アドレス:ch.0,ch.1 00003AH
bit 7
PPG01
リード/ライト
初期値
リロードレジスタH
bit 15
14
13
12
11
10
9
8
アドレス:ch.0 001901H
ch.1 001903H
リード/ライト
初期値
リロードレジスタL
PRLH
(R/W)
(X)
bit
(R/W)
(X)
7
(R/W)
(X)
6
(R/W)
(X)
5
(R/W)
(X)
4
(R/W)
(X)
3
(R/W)
(X)
2
(R/W)
(X)
1
アドレス:ch.0 001900H
ch.1 001902H
リード/ライト
初期値
R/W:リード/ライト可能
W :ライトオンリ
X :不定値
0
PRLL
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
159
第 13 章 8/16 ビット PPG
13.3.1
PPG0 動作モード制御レジスタ (PPGC0)
動作モード制御レジスタ (PPGC0) は , 8/16 ビット PPG の動作モードの選択 , 端子
出力制御 , カウントクロック選択 , トリガの制御を行う 5bit の制御レジスタです。
■ PPG0 動作モード制御レジスタ (PPGC0)
PPG0動作モード制御レジスタ
アドレス:ch.0,000038H
bit 7
リード/ライト
初期値
6
5
4
3
2
1
0
PEN0
―
PE00
PIE0
PUF0
―
―
予約
(R/W)
(0)
(-)
(-)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(-)
(-)
(-)
(-)
(W)
(1)
PPGC0
R/W:リード/ライト可能
W :ライトオンリ
[bit7]PEN0 (PPG ENable): 動作許可ビット
PPG の動作開始および動作モードを以下の様に選択します。
PEN0
動作状態
0
動作停止("L" レベル出力保持)
1
PPG 動作イネーブル
本ビットに "1" を書き込むことで , PPG はカウントを開始します。
リセットにより , 本ビットは "0" に初期化されます。リード / ライトが可能です。
[bit5]PE00 (PPG output Enable 00):PPG00 端子出力許可ビット
パルス出力外部端子 PPG00 を以下の様に制御します。
0
汎用ポート端子(パルス出力禁止)
1
PPG00= パルス出力端子(パルス出力許可)
リセットにより , 本ビットは "0" に初期化されます。本ビットは , リード / ライトが可
能です。
MB90595 シリーズについては , 本ビットを常に "0" に設定する必要があります。
[bit4]PIE0 (PPG Interrupt Enable):PPG の割込み許可ビット
PPG の割込み許可を以下の様に制御します。
0
割込み禁止
1
割込み許可
本ビットが "1" のとき , PUF0 が "1" になると割込み要求を発生します。本ビットが "0"
のときは割込み要求を発生しません。
リセットにより , 本ビットは "0" に初期化されます。本ビットは , リード / ライトが可
能です。
160
第 13 章 8/16 ビット PPG
[bit3]PUF0 (PPG Underflow Flag):PPG カウンタアンダフロービット
PPG のカウンタアンダフロービットを以下のように制御します。
0
PPG のカウンタアンダフローが検出していません
1
PPG のカウンタアンダフローを検出しました
8 ビット PPG 2ch モードおよび 8 ビットプリスケーラ +8 ビット PPG モードのときには ,
ch.0 のカウンタの値が 00H ∼ FFH へなったときのアンダフローにより "1" にセットさ
れます。16 ビット PPG 1ch モードのときには , ch.1/ch.0 のカウンタの値が 0000H ∼ FFFFH
へなったときのアンダフローにより "1" にセットされます。"0" の書込みにより "0" に
なります。このビットへの "1" 書込みは , 意味がありません。リードモディファイライ
トのリード時には "1" が読み出せます。
リセットにより , 本ビットは "0" に初期化されます。本ビットは , リード / ライトが可
能です。
[bit0] 予約 : 予約ビット
予約ビットです。PPGC0 を設定するときは必ず "1" に設定してください。
161
第 13 章 8/16 ビット PPG
13.3.2
PPG1 動作モード制御レジスタ (PPGC1)
PPG1 動作モード制御レジスタ (PPGC1) は , 8/16 ビット PPG の動作モードの選択 ,
端子出力制御 , カウントクロック選択 , トリガの制御を行う 7bit の制御レジスタで
す。
■ PPG1 動作モード制御レジスタ (PPGC1)
PPG1動作モード制御レジスタ
bit 15
アドレス:ch.1 000039H
リード/ライト
初期値
R/W:リード/ライト可能
W :ライトオンリ
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)
(R/W)
(0)
(W)
(1)
PPGC1
[bit15]PEN1(PPG ENable): 動作許可ビット
PPG の動作開始および動作モードを以下のように選択します。
PEN1
動作状態
0
動作停止("L" レベル出力保持)
1
PPG 動作イネーブル
本ビットに "1" を書き込むことで PWM はカウントを開始します。
リセットにより , 本ビットは "0" に初期化されます。リード / ライトが可能です。
[bit13]PE10 (PPG output Enable 10):PPG10 端子出力許可ビット
パルス出力外部端子 PPG10 を以下のように制御します。
0
汎用ポート端子(パルス出力禁止)
1
PPG10= パルス出力端子(パルス出力許可)
リセットにより , 本ビットは "0" に初期化されます。本ビットは , リード / ライトが可
能です。
MB90595 シリーズについては , パルス信号は「PPG0」外部端子に出力されます。
162
第 13 章 8/16 ビット PPG
[bit12]PIE1 (PPG Interrupt Enable):PPG の割込み許可ビット
PPG の割込み許可を以下のように制御します。
0
割込み禁止
1
割込み許可
本ビットが "1" のとき , PUF1 が "1" になると割込み要求を発生します。本ビットが "0"
のときは割込み要求を発生しません。
リセットにより , 本ビットは "0" に初期化されます。本ビットは , リード / ライトが可
能です。
[bit11]PUF1 (PPG Underflow Flag):PPG カウンタアンダフロービット
PPG のカウンタアンダフロービットを以下のように制御します。
0
PPG のカウンタアンダフローを検出していません
1
PPG のカウンタアンダフローを検出しました
8 ビット PPG 2ch モードおよび 8 ビットプリスケーラ +8 ビット PPG モードのときには ,
ch.1 のカウンタの値が 00H ∼ FFH へなったときのアンダフローにより "1" にセットさ
れます。16 ビット PPG 1ch モードのときには , ch.1/ch.0 のカウンタの値が 0000H ∼ FFFFH
へなったときのアンダフローにより "1" にセットされます。"0" の書込みにより "0" に
なります。このビットへの "1" 書込みは , 意味がありません。リードモディファイライ
トのリード時には "1" が読み出されます。
リセットにより , 本ビットは "0" に初期化されます。本ビットは , リード / ライトが可
能です。
163
第 13 章 8/16 ビット PPG
[bit10, bit9]MD1, MD0 (PPG count MoDe): 動作モード選択ビット
PPG タイマの動作モードを以下のように選択します。
MD1
MD0
0
0
8 ビット PPG2ch 独立モード
0
1
8 ビットプリスケーラ +8 ビット PPG1ch モード
1
0
予約(設定禁止)
1
1
16 ビット PPG1ch モード
動作モード
リセットにより , 本ビットは "00" に初期化されます。本ビットは , リード / ライトが可
能です。
< 注意事項 >
• ビットを "10" に設定しないでください。
• ビットを "01" に設定する場合には , PPGC0 の PEN0 ビット /PPGC1 の PEN1 ビッ
トを "01" に設定しないでください。また , PEN0 ビットおよび PEN1 ビットを同
時に "11" または "00" にセットすることを推奨します。
• ビットを "11" に設定する場合には , PPGC0/PPGC1 をワード転送で書換え , PEN0
ビットおよび PEN1 ビットを同時に "11" または "00" にセットしてください。
[bit8] 予約 : 予約ビット
予約ビットです。PPGC1 を設定するときは必ず "1" に設定してください。
164
第 13 章 8/16 ビット PPG
PPG0, PPG1 出力端子制御レジスタ (PPG01)
13.3.3
PPG0, PPG1 出力端子制御レジスタ (PPG01) は , 8/16 ビット PPG の端子出力の制
御を行う 8bit の制御レジスタです。
■ PPG0, PPG1 出力端子制御レジスタ (PPG01)
PPG0,1出力制御レジスタ
アドレス:
ch.0,ch.1 00003AH
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)
(R/W)
(0)
(R/W)
(0)
(-)
(-)
(-)
(-)
bit
リード/ライト
初期値
R/W:リード/ライト可能
PPG01
[bit7 ∼ bit5]PCS2 ∼ PCS0 (PPG Count Select): カウントクロック選択ビット
ch.1 のダウンカウンタの動作クロックを , 次のように選択します。
PCS2
PCS1
PCS0
0
0
0
周辺クロック(62.5ns マシンクロック 16MHz 時)
0
0
1
周辺クロック /2(125ns マシンクロック 16MHz 時)
0
1
0
周辺クロック /4(250ns マシンクロック 16MHz 時)
0
1
1
周辺クロック /8(500ns マシンクロック 16MHz 時)
1
0
0
周辺クロック /16(1 µ s マシンクロック 16MHz 時)
1
1
1
タイムベースカウンタからの入力クロック(128 µ s 原発振 4MHz 時)
動作モード
リセットにより本ビットは "000" に初期化されます。本ビットは , リード / ライトが可
能です。
< 注意事項 >
8 ビットプリスケーラ +8 ビット PPG モードおよび 16 ビット PPG モードのときに
は , ch.1 の PPG は , ch.0 からカウントクロックを受けて動作するため , PCS2 ∼
PCS0 ビットの指定は , 無効になります。
[bit4 ∼ bit2]PCM2 ∼ PCM0 (PPG Count Mode): カウントクロック選択ビット
ch.0 のダウンカウンタの動作クロックを , 次のように選択します。
PCM2
PCM1
PCM0
0
0
0
周辺クロック(62.5ns マシンクロック 16MHz 時)
0
0
1
周辺クロック /2(125ns マシンクロック 16MHz 時)
0
1
0
周辺クロック /4(250ns マシンクロック 16MHz 時)
0
1
1
周辺クロック /8(500ns マシンクロック 16MHz 時)
1
0
0
周辺クロック /16(1 µ s マシンクロック 16MHz 時)
1
1
1
タイムベースカウンタからの入力クロック(128 µ s 原発振 4MHz 時)
動作モード
リセットにより本ビットは "000" に初期化されます。本ビットは , リード / ライトが可
能です。
165
第 13 章 8/16 ビット PPG
13.3.4
リロードレジスタ (PRLL, PRLH)
リロードレジスタ (PRLL, PRLH) は , ダウンカウンタ PCNT へのリロード値を保持
する , 各 8bit のレジスタです。PRLL, PRLH レジスタは , どちらもリード / ライト
が可能です。
■ リロードレジスタ (PRLL, PRLH)
bit 15
リロードレジスタH
14
13
12
11
10
9
8
アドレス:ch.0 001901H
ch.1 001903H
リード/ライト
初期値
PRLH
(R/W)
(X)
bit
リロードレジスタL
(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
アドレス:ch.0 001900H
ch.1 001902H
リード/ライト
初期値
R/W:リード/ライト可能
X :不定値
PRLL
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
レジスタ名
< 注意事項 >
166
0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
機能
PRLL
L 側リロード値保持
PRLH
H 側リロード値保持
8 ビットプリスケーラ +8 ビット PPG モードで使用する場合には , ch.0 の PRLL と
PRLH に異なる値を設定すると , ch.1 の PPG 波形がサイクルごとに異なる場合があ
るので , ch.0 の PRLL と PRLH は , 同じ値に設定することを推奨します。
第 13 章 8/16 ビット PPG
13.4
8/16 ビット PPG の動作
8/16 ビット PPG には , 8bit 長の PPG ユニットが 2ch あり , 2ch 独立モード以外に ,
連結動作させることにより , 8 ビットプリスケーラ +8 ビット PPG モードと , 16
ビット PPG 1ch モードの計 3 種類の動作を行うことができます。
■ 8/16 ビット PPG の動作
8bit 長の PPG ユニットそれぞれは , 8bit 長のリロードレジスタが L 側と H 側の 2 本あ
ります (PRLL, PRLH)。このレジスタに書き込まれた値が , 8 ビットダウンカウンタ
(PCNT) に L 側 /H 側交互にリロードされてカウントクロックごとにダウンカウントさ
れ , カウンタのボロー発生によるリロード時に , 端子出力 (PPG) の値を反転させます。
この動作により , 端子出力 (PPG) はリロードレジスタ値に対応した L 幅 /H 幅をもつパ
ルス出力となります。
表 13.4-1 に , リロード動作とパルス出力の関係を示します。
表 13.4-1 リロード動作とパルス出力の関係
リロード動作
端子出力変化
PRLH → PCNT
PPG00/01[0 → 1]
立上り
PRLL → PCNT
PPG00/01[1 → 0]
立下り
また , PPGC0 中の bit4(PIE0) が "1" のときおよび PPGC1 中の bit12(PIE1) が "1" のとき ,
それぞれのカウンタの 00H ∼ FFH へのボロー
(16 ビット PPG モードの場合には , 0000H ∼
FFFFH へのボロー)によって割込み要求が出力されます。
■ 8/16 ビット PPG の動作モード
8/16 ビット PPG の動作モードには , 2ch 独立モードと , 8 ビットプリスケーラ +8 ビット
PPG モードと , 16 ビット PPG 1ch モードの計 3 種類の動作モードがあります。
● 2ch 独立モード
2ch 独立モードは , 8 ビット PPG として 2ch 独立に動作させる動作モードです。PPG00
端子は , ch.0 の PPG 出力が接続され , PPG10 端子は , ch.1 の PPG 出力が接続されます。
● 8 ビットプリスケーラ +8 ビット PPG モード
8 ビットプリスケーラ +8 ビット PPG モードは , ch.0 を 8 ビットプリスケーラとして動
作させ , ch.1 を ch.0 のボロー出力でカウントすることにより , 任意周期の 8 ビット PPG
波形を出力できるようにする動作モードです。PPG00 端子は , ch.0 のプリスケーラ出力
が接続され , PPG10 端子は , ch.1 の PPG 出力が接続されます。
167
第 13 章 8/16 ビット PPG
● 16 ビット PPG 1ch モード
16 ビット PPG 1ch モードは , ch.0 と ch.1 を連結させて , 16 ビットの PPG として動作さ
せる動作モードです。PPG00 端子と PPG10 端子は , 両方とも 16 ビット PPG 出力が接
続されます。
MB90595 シリーズについては , ch.0 の PPG からの出力信号は外部端子には接続してい
ません。
■ 8/16 ビット PPG の出力動作
8/16 ビット PPG は , ch.0 の PPG については , PPGC0 (PWM 動作モード制御)レジス
タの bit7(PEN0) を , ch.1 の PPG については , PPGC1 レジスタの bit15(PEN1) を "1" に
セットすることによって起動され , カウントを開始します。MB90595 シリーズについ
ては , 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 レベルを保持します。
図 13.4-1 PPG 出力動作の出力波形
PEN
PENにより動作開始(L側から)
出力端子
PPG
T×(L+1)
(スタート)
168
T×(H+1)
L:PRLLの値
H:PRLHの値
T:周辺クロック(φ,φ/4,φ/16)または
タイマベースカウンタからの入力
(PPGCのクロックセレクトによる)
第 13 章 8/16 ビット PPG
■ 8/16 ビット PPG のリロード値とパルス幅の関係
リロードレジスタに書かれた値に +1 した値に , カウントクロックの周期を掛けた値が ,
出力されるパルスの幅となります。
8 ビット PPG 動作時のリロードレジスタ値が 00H のときおよび 16 ビット PPG 動作時
のリロードレジスタ値が 0000H のときは , カウントクロック 1 周期分のパルス幅をも
つことになりますので注意してください。また , 8 ビット PPG 動作時のリロードレジ
スタ値が FFH のとき , カウントクロック 256 周期分のパルス幅をもつことになり , 16
ビット PPG 動作時のリロードレジスタ値が FFFFH のときは , カウントクロック 65536
周期分のパルス幅をもつことになりますので注意してください。
P1=T×(L+1)
Ph=T×(H+1)
L :
H :
T :
Ph :
Pl :
PRLLの値
PRLHの値
入力クロック周期
ハイパルスの幅
ローパルスの幅
169
第 13 章 8/16 ビット PPG
13.5
8/16 ビット PPG のカウントクロックの選択
8/16 ビット PPG の動作に使用するカウントクロックは , 周辺クロックおよびタイム
ベースカウンタの入力を使用しており , 6 種類のカウントクロック入力が選択できま
す。
■ 8/16 ビット PPG のカウントクロックの選択
PPG01 レジスタの bit4 ∼ bit2 (PCM2 ∼ PCM0) で ch.0 のクロックを , bit7 ∼ bit5 (PCS2 ∼
PCS0) で ch.1 のクロックを選択します。
クロックは , マシンクロックの 1/16 ∼ 1 倍の周辺クロックとタイムベースカウンタか
らの入力クロックより選択できます。
しかし , 8 ビットプリスケーラ +8 ビット PPG モードまたは 16 ビット PPG モードのと
きには , PCS2 ∼ PCS0 の設定は意味がありません。
タイムベースカウンタの入力を使用した場合 , トリガにより起動がかかる最初および
ストップの後の最初のカウント周期がずれる可能性がありますので注意してくださ
い。また , 本モジュール動作中にタイムベースカウンタのクリアを行うと周期がずれる
ことがあります。
8 ビットプリスケーラ +8 ビット PPG モード・ch.0 が動作状態 , ch.1 が停止状態である
ときに ch.1 の起動を行うと , 最初のカウント周期がずれる可能性がありますので注意
してください。
170
第 13 章 8/16 ビット PPG
8/16 ビット PPG のパルスの端子出力の制御
13.6
本モジュールの動作によって生成されたパルス出力は , 外部端子 PPG00/PPG10 よ
り出力させることができます。
■ 8/16 ビット PPG のパルスの端子出力の制御
端子出力許可ビット (PPGC0:PE00, PPGC1:PE10) が "0" のとき ( 初期値 ) は , パルス出力
は外部端子より出力されずに , 汎用ポートとして機能します。本ビットに "1" を設定す
ると , パルス出力が外部端子より出力されます。
16 ビット PPG モードでは , PPG00, PPG10 は同じ波形が出力されるので , どちらの外部
端子出力を許可しても同じ出力を得ることができます。
8 ビットプリスケーラ +8 ビット PPG モードでは , PPG0 は 8 ビットプリスケーラのト
グル波形が出力され , PPG10 は 8 ビット PPG の波形が出力されます。図 13.6-1 に , この
モードのときの出力波形の例を示します。
MB90595 シリーズについては , ch.0 の PPG からの出力信号は外部端子には接続してい
ません。
図 13.6-1 8+8PPG 出力動作の出力波形
Ph0 Pl0
PPG00
PPG10
Ph1
Pl0 = T×(L0+1)
Ph0 = T×(L0+1)
Pl1 = T×(L0+1)×(Ll+1)
Ph1 = T×(L0+1)×(Hl+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 は , 同じ値を設定することを推奨します。
171
第 13 章 8/16 ビット PPG
13.7
8/16 ビット PPG の割込み
8/16 ビット PPG の割込みは , リロード値がカウントアウトし , ボローが発生したと
きにアクティブになります。
■ 8/16 ビット PPG の割込み
8 ビット PPG 2ch モードおよび 8 ビットプリスケーラ +8 ビット PPG モードのときには ,
それぞれのカウンタのボローにより , それぞれの割込みの要求が行われますが , 16 ビッ
ト PPG モードでは , 16 ビットカウンタのボローにより , PUF0 と PUF1 が同時にセット
されます。このため , 割込み要因を一本化するために , PIE0 または PIE1 のどちらか一
方のみを許可にすることを推奨します。また , 割込み要因のクリアも PUF0 と PUF1 を
同時に行うことを推奨します。
172
第 13 章 8/16 ビット PPG
13.8
8/16 ビット PPG の各ハードウェアの初期値
8/16 ビット PPG の各ハードウェアは , リセット時に以下のように初期化されます。
■ 8/16 ビット PPG の各ハードウェアの初期値
● レジスタ
• PPGC0 → 0X000001B
• PPGC1 → 00000001B
• PPG10 → XXXXXX00B
● パルス出力
• PPG00 → "L"
• PPG10 → "L"
• PE00 → PPG00 出力禁止
• PE10 → PPG10 出力禁止
● 割込み要求
• IRQ0 → "L"
• IRQ1 → "L"
なお , 上記以外のハードウェアは初期化されません。
< 注意事項 >
8/16 ビット PPG のリロードレジスタ (PRLL, PRLH) へのライトタイミング
16 ビット PPG モード以外のモードの場合には , リロードレジスタ (PRLL, PRLH) へ
の書込みはワード転送命令を使用することを推奨します。なお , バイト転送命令 2 回
にて書き込んだ場合 , タイミングによっては , 予想しないパルス幅の出力が発生する
可能性がありますので注意してください。
図 13.8-1 8/16 ビット PPG のリロードレジスタ (PRLL, PRLH) へのライトタイミングチャート
PPG0
A
B
B
C
A
B
C
C
D
D
①
図 13.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 への書込みが行われます。
173
第 13 章 8/16 ビット PPG
なお , 16 ビット PPG モード以外では , ch.0 と ch.1 の PRL の書込みは独立して行うこと
ができます。
図 13.8-2 PRL 書込み部分のブロックダイヤグラム
ch.0のPRLの書込みデータ
テンポラリラッチ
16ビットPPGモード以外の
ときのch.0の書込み
16ビットPPGモード時ch.1の
書込みに同期して転送
ch.1の書込み
ch.0 PRL
174
ch.1のPRLの書込みデータ
ch.1 PRL
第 14 章
DTP/ 外部割込み
DTP/ 外部割込みの機能と動作について説明しま
す。
14.1 DTP/ 外部割込みの概要
14.2 DTP/ 外部割込みのレジスタ
14.3 DTP/ 外部割込みの動作
14.4 DTP 要求と外部割込み要求の切換え
14.5 DTP/ 外部割込みの使用上の注意
175
第 14 章 DTP/ 外部割込み
DTP/ 外部割込みの概要
14.1
DTP (Data Transfer Peripheral) はデバイス外部に存在するペリフェラルと F2MC16LX CPU との間にあって , 外部ペリフェラルが発生する DMA 要求あるいは割込み
要求を受け取り , これを F2MC-16LX CPU に伝えてインテリジェント I/O サービス
あるいは割込み処理を起動させるための周辺です。
■ DTP/ 外部割込みの概要
インテリジェント I/O 機能に関しては "H" または "L" 要求レベルを使用することがで
きます。外部割込み要求に対しては 4 種類の要求レベルを使用することができます。
("H", "L" の立上りエッジおよび立下りエッジ。)
MB90595 シリーズでは , 外部バスインタフェースはサポートされていません。このた
め DTP/ 外部割込みはデータ転送ペリフェラルの役割を果たすことはできません。それ
は外部割込みとしてのみ使用することができます。
■ DTP/ 外部割込みのブロックダイヤグラム
図 14.1-1 DTP/ 外部割込みのブロックダイヤグラム
8
割込み/DTP許可レジスタ
8
ゲート
8
エッジ検出回路
要因F/F
8
要求入力
割込み/DTP要因レジスタ
16
要求レベル設定レジスタ
■ DTP/ 外部割込みのレジスタ
bit
アドレス:000030H
bit
アドレス:000031H
bit
アドレス:000032H
bit
アドレス:000033H
176
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)
第 14 章 DTP/ 外部割込み
14.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)
7
6
5
4
3
2
1
0
EN7
EN6
EN5
EN4
EN3
EN2
EN1
EN0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit
ENIR
アドレス:000030H
初期値
00000000 B
R/W : リード / ライト可能
割込み /DTP 許可レジスタ (ENIR) はデバイス端子を外部割込み /DTP 要求入力として
使用し , 割込みコントローラに対して要求を発生させる機能を動作させることを決定
するレジスタです。このレジスタの "1" を書かれたビットの対応する端子は外部割込
み /DTP 要求入力として使用され , 割込みコントローラに対して要求を発生する機能を
動作させます。"0" が書かれたビットの対応する端子は外部割込み /DTP 要求入力要因
は保持しますが , 割込みコントローラに対しては要求を発生しません。
■ 割込み /DTP 要因レジスタ (EIRR : External interrupt request register)
EIRR
アドレス:000031H
bit 15
14
13
12
11
10
9
8
ER7
ER6
ER5
ER4
ER3
ER2
ER1
ER0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W ………(ただし両者で
対象が異なる)
R/W : リード / ライト可能
初期値
XXXXXXXXB
EIRR は , このレジスタの "1" となっているビットに対応する端子において外部割込み /
DTP 要求が存在することを表します。このレジスタのビットに "0" を書き込むと対応
する要求フラグがクリアされます。"1" を書き込んでも効果はありません。リードモ
ディファイライト命令によりこのレジスタからは常に "1" が読み出されます。
< 注意事項 >
複数の外部割込み要求出力が許可 (ENIR:EN7 ∼ EN0=1) されている場合 , CPU が割
込みを受け付けたビット (ER7 ∼ ER0 の "1" にセットされているビット ) だけを "0"
にクリアするようにしてください。それ以外のビットを無条件にクリアすることは
避けてください。
177
第 14 章 DTP/ 外部割込み
■ 要求レベル設定レジスタ (ELVR : External level register)
図 14.2-1 LBx と LAx 端子の割込み要求検出要因
7
6
5
4
3
2
1
0
LB3
LA3
LB2
LA2
LB1
LA1
LB0
LA0
R/W
R/W
R/W
R/W
R/W
6
5
4
3
LA7
LB6
LA6
R/W
R/W
R/W
bit
アドレス:000032H
R/W
bit 7
LB7
アドレス:000033H
R/W
R/W
R/W
2
1
0
LB5
LA5
LB4
LA4
R/W
R/W
R/W
R/W
初期値
00000000B
初期値
00000000B
R/W : リード / ライト可能
ELVR は外部端子における要求イベントを定義するものです。図 14.2-1 に示すように ,
各端子には 2 ビットが割当てられます。入力レベルにより要求が検出されたとすれば ,
フラグがソフトウェアによりリセットされた後でも入力が指定されたレベルに在る限
り割込みフラグはセットされます。
表 14.2-1
178
LBx
LAx
0
0
L レベルが端子に入力
0
1
H レベルが端子に入力
1
0
立上りエッジが端子に入力
1
1
立下りエッジが端子に入力
割込み要求検出要因
第 14 章 DTP/ 外部割込み
14.3
DTP/ 外部割込みの動作
割込みフラグがセットされたときにこのブロックは割込みコントローラへ割込み信
号を送ります。割込みコントローラ内で同時発生した割込みの優先順位を識別した
結果 , 本リソースからの割込みが最も優先順位が高かったときに , 割込みコントロー
ラは F2MC-16LX CPU に対して割込み要求を発生します。F2MC-16LX CPU は自分
の内部にある CCR レジスタ中の ILM ビットと割込み要求を比較し , 要求レベルが
ILM ビットより高かったときに現在実行中の命令が終了し次第 , ハードウェア割込
み処理マイクロプログラムを起動します。
■ 外部割込みの動作
図 14.3-1 に示すように , ハードウェア割込み処理マイクロプログラムにおいて , CPU
は割込みコントローラからISE ビットの情報を読出し, これにより当該要求が割込み処
理であることを識別し , 割込み処理マイクロプログラムへ分岐します。割込み処理マイ
クロプログラムでは割込みべクタ領域の読出しと割込みコントローラへの割込みアク
ノリッジを発生し , ベクタから生成したマクロ命令のジャンプ先アドレスをプログラ
ムカウンタへ転送した上で , ユーザの割込み処理プログラムの実行を行います。
図 14.3-1 外部割込みの動作
割込み/DTP
F2MC-16LX CPU
割込みコントローラ
ほかの要求
ELVR
ICR yy
EIRR
ENIR
要因
IL
CMP
ICR xx
CMP
ILM
INTA
■ DTP の動作
初期化としてユーザプログラム内ではインテリジェント I/O サービスを起動するに当
たって , インテリジェント I/O サービスディスクリプタ内の I/O アドレスポインタに
000000H から 0000FFH に割りつけられているレジスタのアドレスを設定し , バッファア
ドレスポインタにメモリバッファの先頭アドレスを設定します。
DTP の動作シーケンスは外部割込みの場合とほぼ同じで , CPU がハードウェア割込み
処理マイクロプログラムを起動するまでは全く同じです。DTP の場合は CPU がハード
ウェア割込み処理マイクロプログラム内で読み出す ISE ビットの内容が DTP を示して
いるので , インテリジェント I/O サービス処理マイクロプログラムへ制御を移します。
インテリジェント I/O サービスが起動されると , アドレッシングされている外部ペリ
フェラルにリードまたはライト信号が送られ本チップとの転送が行われます。外部ペ
リフェラルはその転送が行われてから 3 マシンサイクル以内に本チップに対する割込
み要求を取り下げてください。転送が終了するとディスクリプタの更新などが行われ ,
その後転送要因をクリアする信号を割込みコントローラに発生させます。転送要因を
クリアする信号を受け取った本リソースは要因を保持しているフリップフロップをク
リアして端子からの次の要求に備えます。インテリジェント I/O 機能処理の詳細につ
いては MB90500 プログラミングマニュアルを参照してください。
179
第 14 章 DTP/ 外部割込み
図 14.3-2 DTP 動作終了時の外部割込み取下げタイミング
エッジ要求,またはHレベル要求
内部動作
* インテリジェントI/Oサービスが
I/Oレジスタ→メモリ転送のとき
ディスクリプタ
選択,読出し
割込み要因
リードアドレス
アドレスバス端子
データバス端子
ライトアドレス
リードデータ
リード信号
ライトデータ
①
ライト信号
②
3マシンサイクル以内に取り下げる
図 14.3-3 DTP と外部ペリフェラルとのインタフェース簡略例
レジスタ
外部ペリフェラル
内部バス
データ,アドレスバス
①
INT
IRQ
DTP
転送終了後,3マシンサイクル
以内に取り下げる
180
②
MB90595
CORE
MEMORY
第 14 章 DTP/ 外部割込み
14.4
DTP 要求と外部割込み要求の切換え
外部割込み要求と DTP 要求の切換えは , 割込みコントローラの中にある , 本リソー
スに対応する ICR レジスタ中の ISE ビットの設定によって行います。各端子に対応
して個々に ICR が割り当てられていますので , 対応する ICR の ISE ビットに "1" が
書かれた端子が DTP 要求として , また , "0" が書かれた場合には外部割込み要求と
して , それぞれ動作することになります。
■ DTP 要求と外部割込み要求の切換え
図 14.4-1 DTP 要求と外部割込み要求の切換え
割込みコントローラ
0
ICRxx
ICRyy
1
F2MC-16 CPU
端子
外部割込み/DTP
DTP
外部割込み
181
第 14 章 DTP/ 外部割込み
14.5
DTP/ 外部割込みの使用上の注意
DTP/ 外部割込みを使用する際には , 次の点について特に注意が必要です。
• DTP を用いたときの外部に接続するペリフェラルの条件
• スタンバイからの復帰
• DTP/ 外部割込みの動作手順
• 外部割込み要求レベル
■ DTP/ 外部割込みの使用上の注意
● DTP を用いたときの外部に接続するペリフェラルの条件
DTP がサポートできる外部ペリフェラルは , 転送が行われたことにより自動的に要求
をクリアするものでなければなりません。また , 転送動作が開始してから 3 マシンサイ
クル以内 ( 暫定値 ) で転送要求を取り下げるようになっていないと , 本リソースは次の
転送要求が発生したものとして扱ってしまいます。
● スタンバイからの復帰
ストップモードまたは時計モードのスタンバイ状態からの復帰に外部割込みを使う場
合は , 入力要求を H レベルまたは L レベル要求としてください。エッジ要求では , ス
トップモードまたは時計モードのスタンバイ状態からの復帰は行われません。
● DTP/ 外部割込みの動作手順
DTP/外部割込み内に存在するレジスタの設定を行う際, 次の手順で設定してください。
1. 許可レジスタの対象となるビットをディセーブル状態にする。
2. 要求レベル設定レジスタの対象となるビットを設定する。
3. 要因レジスタの対象となるビットをクリアする。
4. 許可レジスタの対象となるビットをイネーブル状態にする。
(ただし , 3. と 4. はワード指定による同時書込み可能)
。
本リソース内のレジスタを設定するときには必ず許可レジスタをディセーブル状態に
設定しておかなくてはなりません。また , 許可レジスタをイネーブル状態にする前に必
ず要因レジスタをクリアしておく必要があります。これは , レジスタ設定時や割込み許
可状態時に誤って割込み要因が起こってしまうことを避けるためです。
● 外部割込み要求レベル
要求レベルがエッジ要求のとき , エッジがあったことを検出するためには , パルス幅は
最小 3 マシンサイクル必要とします。
図 14.5-1 に示すように, 要求入力レベルがレベル設定のとき, 外部より要求入力が入っ
てその後取り下げられても内部に割込み要求フラグビット (EIRR:ER) が存在するので ,
割込みコントローラへの要求は active のままです。図 14.5-2 に示すように , 割込みコン
トローラへの要求を取り下げるには割込み要求フラグビット (EIRR:ER) をクリアする
必要があります。
182
第 14 章 DTP/ 外部割込み
図 14.5-1 レベル設定時の割込み要求フラグビット (EIRR:ER)
割込み要因
レベル検出
割込み要求フラグビット(EIRR:ER)
許可ゲート
割込み
コントローラへ
クリアしない限り要因を保持し続ける
図 14.5-2 割込み許可時の割込み要因と割込みコントローラへの割込み要求
割込み要因
割込みコントローラ
への割込み要求
Hレベル
割込み要求フラグビット(EIRR:ER)のクリアによってinactiveとなる
183
第 14 章 DTP/ 外部割込み
184
第 15 章
A/D コンバータ
A/D コンバータの機能と動作について説明します。
15.1 A/D コンバータの特長
15.2 A/D コンバータのブロックダイヤグラム
15.3 A/D コンバータのレジスタ一覧
15.4 A/D コンバータの動作
15.5 EI2OS を使った変換動作
15.6 変換データ保護機能
185
第 15 章 A/D コンバータ
15.1
A/D コンバータの特長
A/D コンバータは , アナログ入力電圧をディジタル値に変換するものです。A/D コン
バータの特徴は次のとおりです。
■ A/D コンバータの特長
● 変換時間
1 チャネル当たり最小 26.3 µ s (16MHz のマシンクロック )
● サンプル & ホールド回路付 RC 型逐次比較変換方式を採用
● 10 ビットまたは 8 ビットの分解能
● アナログ入力は 8 チャネルからプログラムで選択
• シングル変換モード :1 チャネルを選択変換
• スキャン変換モード : 連続した複数のチャネルを変換。最大 8ch プログラム可能
• 連続変換モード
: 指定チャネルを繰返し変換
• 停止変換モード
:1チャネルを変換したら一時停止して次の起動が掛かるまで待
機 ( 変換開始の同期が可能 )。
● 割込み要求
A/D 変換終了時には , CPU に対して A/D 変換終了の割込み要求を発生させることがで
きます。この割込み発生で EI2OS を起動することができ A/D 変換結果データをメモリ
に転送できますので連続処理に適しています。
● 起動要因を選択可能
起動要因は , ソフト , 外部トリガ ( 立下りエッジ ), タイマ ( 立上りエッジ ) の選択。
■ アナログ入力許可レジスタ
アナログ入力に使用される端子に対応する ADE ビットに常に "1" を書き込んでくださ
い。
15
14
13
12
11
10
9
8
ADE7
ADE6
ADE5
ADE4
ADE3
ADE2
ADE1
ADE0
R/W
R/W : リード / ライト可能
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit
アドレス:00001BH
ポート 6 端子は次のように制御されます。
• 0: ポート入力 / 出力モード
• 1: アナログ入力モード
• リセット時には "1" がセットされます。
186
初期値
11111111B
第 15 章 A/D コンバータ
■ 入力インピーダンス
A/D コンバータのサンプリング回路は次の等価回路で表されます。
最大3.2kΩ
アナログ入力
ADC
最大30pF
サンプリング時間が 4 µ s (16MHz のマシンクロックで ST1=0 および ST0=0)にセッ
トされたとき , アナログ入力への駆動インピーダンスは 15.5kΩ 以下でなければなりま
せん。そうしなければ変換の精度は低下します。もしそうであれば , サンプリング時間
を更に長く設定する (ST1=1 および ST0=1)か , 外部コンデンサを付加して駆動イン
ピーダンスを補償してください。
187
第 15 章 A/D コンバータ
A/D コンバータのブロックダイヤグラム
15.2
図 15.2-1 に , A/D コンバータのブロックダイヤグラムを示します
■ A/D コンバータのブロックダイヤグラム
図 15.2-1 A/D コンバータのブロックダイヤグラム
AVCC
AVRH/AVRL
AVSS
D/Aコンバータ
MPX
逐次比較レジスタ
比較器
サンプル&ホールド回路
デコーダ
データレジスタ
ADCR0, ADCR1
A/D制御レジスタ0
A/D制御レジスタ1
トリガ起動
ADCS0, ADCS1
ADTG
タイマ起動
16ビットリロードタイマ1
動作クロック
φ
188
プリスケーラ
データバス
入力回路
AN0
AN1
AN2
AN3
AN4
AN5
AN6
AN7
第 15 章 A/D コンバータ
15.3
A/D コンバータのレジスタ一覧
A/D コンバータのレジスタには次の 3 つがあります。
• コントロール
• ステータスレジスタ
• データレジスタ
■ A/D コンバータのレジスタ一覧
図 15.3-1 A/D コンバータのレジスタ配置
bit 15
bit
アドレス:000034H
bit
アドレス:000035H
bit
アドレス:000036H
bit
アドレス:000037H
8
7
0
ADCS1
ADCS0
ADCR1
ADCR0
8ビット
SSR
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
コントロールステータスレジスタ
(ADCS0およびADCS1)
データレジスタ
(ADCR0およびADCR1)
189
第 15 章 A/D コンバータ
15.3.1
A/D コントロールステータスレジスタ (ADCS0)
A/D コントロールステータスレジスタ (ADCS0) は , A/D コンバータの制御およびス
テータス表示を行います。ADCS0 は A/D 変換動作中に書換えないようにしてくだ
さい。
■ A/D コントロールステータスレジスタ (ADCS0)
7
6
5
4
3
2
1
0
MD1
MD0
ANS2
ANS1
ANS0
ANE2
ANE1
ANE0
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
ADCS0
アドレス:000034H
←ビット属性
←初期値
R/W : リード / ライト可能
[bit7, bit6] MD1, MD0 (A/D converter mode set)
MD1, MD0 ビットは , 動作モードを設定します。
MD1
MD0
0
0
1
1
0
1
0
1
動作モード
単発モード , 動作中の再起動はすべて可能
単発モード , 動作中の再起動不可能
連続モード , 動作中の再起動不可能
停止モード , 動作中の再起動不可能
● 単発モード
ANS2 ∼ ANS0 の設定チャネルから ANE2 ∼ ANE0 の設定チャネルまで A/D 変換を連
続して行い 1 回変換が終了したら停止する。
● 連続モード
ANS2 ∼ ANS0 の設定チャネルから ANE2 ∼ ANE0 の設定チャネルまで A/D 変換を繰
返し行います。
● 停止モード
ANS2 ∼ ANS0 の設定チャネルから ANE2 ∼ ANE0 の設定チャネルまで 1ch ごとに A/D
変換を行い一時停止する。変換再開は起動要因発生によって行われます。
リセット時には本ビット群は "00" に初期化されます。
< 注意事項 >
190
• 連続モード , 停止モードで A/D 変換を起動すると BUSY ビットで停止するまで変
換動作を続けます。
• 停止は BUSY ビットに "0" を書き込むことにより行われます。
• 単発 , 連続 , 停止の各モードの再起動の不可能はタイマ , 外部トリガ , ソフトすべ
ての起動に適用されます。
第 15 章 A/D コンバータ
[bit5 ∼ bit3]ANS2 ∼ ANS0 (Analog start channel set)
本ビット群より A/D 変換の開始チャネルを設定します。
A/D コンバータを起動すると , このビットで選択されたチャネルから A/D 変換を開始
します。
< 注意事項 >
ANS2
ANS1
ANS0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
開始チャネル
AN0
AN1
AN2
AN3
AN4
AN5
AN6
AN7
• リード
A/D 変換の間 , 現在の変換チャネルが本ビット群から読み出されます。もしシス
テムが停止モードで停止すれば最後の変換チャネルが読み出されます。
• リセット時には本ビット群は "000" に初期化されます。
[bit2 ∼ bit0]ANE2 ∼ ANE0 (Analog end channel set)
本ビット群より A/D 変換の終了チャネルを設定します。
< 注意事項 >
ANE2
ANE1
ANE0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
終了チャネル
AN0
AN1
AN2
AN3
AN4
AN5
AN6
AN7
• 同一のチャネルが ANE2 ∼ ANE0 および ANS2 ∼ ANS0 に書き込まれると , 変換
は 1 つのチャネルに対してのみ行われます ( シングル変換 )。
• 連続モード , 停止モードを設定している場合は本ビット群で設定されたチャネル
の変換が終わると ANS2 ∼ ANS0 で設定された開始チャネルに戻ります。
• 設定チャネルが ANS > ANE の場合は ANS より変換が始まり 7ch まで変換した
ら 0ch. に戻り ANE まで変換します。
• リセット時には本ビット群は "000" に初期化されます。
例:チャネル設定 ANS=6ch., ANE=3ch. で単発モードの時
動作 変換チャネル 6ch.→7ch.→0ch.→1ch.→2ch.→3ch.
191
第 15 章 A/D コンバータ
15.3.2
A/D コントロールステータスレジスタ (ADCS1)
A/D コントロールステータスレジスタ (ADCS1) は , A/D コンバータの制御およびス
テータス表示を行います。
■ A/D コントロールステータスレジスタ (ADCS1)
bit
ADCS1
アドレス:000035H
15
14
13
12
11
10
9
8
BUSY
INT
INTE
PAUS
STS1
STS0
STRT
予約
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
W
0
R/W
0
←ビット属性
←初期値
R/W : リード / ライト可能
W : ライトオンリ
[bit15] BUSY (busy flag and stop)
• リード時
- A/D コンバータ動作表示用のビットです。
- A/D 変換起動でセットされ終了でクリアされます。
• ライト時
- A/D 動作中に本ビットに "0" を書き込むと強制的に動作を停止します。
- 連続 , 停止モード時の強制停止に利用します。
動作表示用のビットに "1" を書き込むことはできません。RMW 系命令では "1" が読ま
れます。単発モードでは A/D 変換終了でクリアされます。
連発 , 停止モードでは "0" 書込みで停止するまでクリアされません。
リセット時に本ビットは "0" に初期化されます。
強制停止とソフト起動を同時に行わないでください (BUSY=0, STRT=1)。
[bit14]INT (interrupt)
変換データが ADCR に書き込まれるとセットされます。
bit5 (INTE) が "1" のときに本ビットがセットされると割込み要求が発生します。また
EI2OS 起動を許可している場合EI2OS が起動されます。
"1"書込みは意味を持ちません。
クリアは "0" 書込みと EI2OS 割込みクリア信号で行われます。
< 注意事項 >
本ビットの "0" 書込みクリアは A/D 停止中に行ってください。
リセット時に本ビットは "0" に初期化されます。
[bit13]INTE (Interrupt enable)
本ビットは変換終了による割込みの許可・不許可を指定します。
• 0: 割込みの禁止
• 1: 割込みの許可
EI2OS を使用するときは本ビットをセットしてください。EI2OS は割込み要求発生で起
動するようになっています
リセット時に本ビットは "0" に初期化されます。
192
第 15 章 A/D コンバータ
[bit12]PAUS (A/D converter pause)
A/D 変換動作が一時的に停止した場合にセットされます。
A/D 変換結果を格納するレジスタが 1 つのため連続で変換した場合 , 変換結果を EI2OS
で転送しなければ前データが壊れてしまいます。
これを保護するためデータレジスタの内容を EI2OS で転送しなければ次の変換データ
が格納されないようになっています。この間 A/D 変換動作は停止します。EI2OS で転
送を終了すると A/D は変換を再開します。
このビットは EI2OS を使用したときのみ有効です。
< 注意事項 >
• 変換データの保護機能に関しては 「15.6 変換データ保護機能」を参照してくだ
さい。
• リセット時に本ビットは "0" に初期化されます。
[bit11, bit10]STS1, STS0 (Start source select)
リセット時に本ビット群は "00" に初期化されます。
本ビットの設定により A/D 起動要因を選択します。
表 15.3-1
STS1
STS0
0
0
ソフト起動。
0
1
外部端子トリガでの起動とソフト起動。
1
0
タイマでの起動とソフト起動。
1
1
外部端子トリガ , タイマでの起動とソフト起動
機能
2 つ以上の起動要因が許されているモードでは最初に生じた原因により A/D 変換が起
動されます。
起動源の設定は書き換えられると直ちに変わりますので, A/D変換中に書き換えるとき
には注意してください。
< 注意事項 >
• 外部端子トリガは立下りエッジを検出します。外部トリガ入力レベルが "L" のと
きに本ビットを書き換えて外部端子トリガ起動に設定すると A/D が起動する場合
があります。
• タイマ選択時は , 16 ビットリロードタイマ 1 の出力が選択されます。
[bit9]STRT (Start)
本ビットに "1" を書き込むことにより A/D を起動します。
再起動をかけるときは , 再び書き込んでください。
リセット時に本ビットは "0" に初期化されます。
停止モード時は動作機能上再起動はかかりません。"1" を書き込む前に BUSY ビットを
チェックしてください。
強制停止とソフト起動を同時に行わないでください (BUSY=0, STRT=1)。
[bit8] 予約
これは予約ビットです。本ビットには常に "0" を書き込んでください。
193
第 15 章 A/D コンバータ
15.3.3
データレジスタ (ADCR0, ADCR1)
データレジスタ (ADCR0, ADCR1) は , 変換の結果として生成されたディジタル値を
記憶するために使用されるものです。ADCR0 は下位 8 ビットを記憶し , ADCR1 は
変換結果の最上位の 2 ビットを記憶します。これらのレジスタ値は変換が完了する
たびに書き換えられます。通常は最後の変換値が本ビット群に記憶されます。
■ データレジスタ (ADCR0, ADCR1)
7
6
5
4
3
2
1
0
初期値
D7
D6
D5
D4
D3
D2
D1
D0
XXXXXXXX
R
R
R
R
R
R
R
R
15
14
13
12
11
10
9
8
初期値
S10
ST1
ST0
CT1
CT0
━
D9
D8
00001-XX
W
W
W
W
W
━
R
R
bit
ADCR0
アドレス:000036H
ADCR1
アドレス:000037H
R
W
−
bit
: リードオンリ
: ライトオンリ
: 未定義
ADCR1 のビット 10 ∼ 15 からは常に "0" が読み出されます。
変換データの保護機能を利用することができます。「15.6 変換データ保護機能」を参
照してください。
A/D 変換の間はこれらのレジスタにデータを絶対に書き込まないでください。
[bit15]S10
本ビットは変換の分解能を指定します。"0" にセットされると 10 ビットの A/D 変換が
行われます。その他の場合には 8 ビットの A/D 変換が行われてその結果は D7 ∼ D0 に
記憶されます。
本ビットを読み出すと常に "0" が読み出されます。
[bit14, bit13]ST1, ST0 (Sampling time)
表 15.3-2
ST1
ST0
0
0
64 マシンサイクル (16MHz で 4 µ s)
0
1
予約
1
0
予約
1
1
4096 マシンサイクル (16MHz で 256 µ s)
機能
本ビット群は入力時における電圧サンプリング時間の持続時間を決定するものです。
本ビット群を読み出すと常に "00" が読み出されます。
194
第 15 章 A/D コンバータ
[bit12, bit11]CT1, CT0 (Compare time)
表 15.3-3
CT1
CT0
0
0
176 マシンサイクル (8MHz で 22 µ s)
0
1
352 マシンサイクル (16MHz で 22 µ s)
1
0
予約
1
1
予約
機能
本ビット群は比較操作時間の持続期間を決定するものです。
本ビットを "00" に設定するときはマシンクロックが 8MHz 以下のときにしてください。
8MHz より高速の場合には変換精度が保証されません。
本ビット群を読み出すと常に "00" が読み出されます。
195
第 15 章 A/D コンバータ
15.4
A/D コンバータの動作
A/D コンバータは逐次比較方式で作動し , 分解能は 10 ビットまたは 8 ビットを選択
することができます。
この A/D コンバータは変換結果記憶用のレジスタが 1 つ (16 ビット)であるため ,
変換データレジスタ (ADCR0 および ADCR1)は変換が完了するたびに書き換えら
れます。このため , A/D コンバータ単独では連続変換処理には適しませんので拡張イ
ンテリジェント I/O 機能 (EI2OS) を使って変換データをメモリに転送しながら変換
することを推奨いたします。
■ 単発モード
単発モードは , ANS ビットと ANE ビットで設定されたアナログ入力を順に変換してい
き ANE ビットで設定された終了チャネルまで変換が終わると A/D 変換 は動作を停止
します。開始チャネルと終了チャネルが同じとき (ANS=ANE) は ANS で指定したチャ
ネルのみの変換動作になります。
例:
ANS=000, ANE=011
開始 → AN0 → AN1 → AN2 → AN3 → 終了
ANS=010, ANE=010
開始 → AN2 → 終了
■ 連続モード
連続モードは , ANS ビットと ANE ビットで設定されたアナログ入力を順に変換してい
き ANE ビットで設定された終了チャネルまで変換が終わると ANS のアナログ入力に
戻り A/D 変換動作を続けます。開始チャネルと終了チャネルが同じとき (ANS=ANE)
は ANS で指定したチャネルのみの変換を続けます。
例:
ANS=000, ANE=011
開始→ AN0 → AN1 → AN2 → AN3 → AN0 - - →繰り返し
ANS=010, ANE=010
開始→ AN2 → AN2 → AN2 - - →繰り返し
連続モードで変換させると BUSY ビットに "0" を書き込むまで変換を繰り返し続けま
す(BUSY ビットに "0" を書き込む→強制動作停止)。強制動作停止を行うと変換中の
ものは途中で止まってしまうため , 注意してください(強制動作停止した場合は変換レ
ジスタは変換完了した前データが格納されています)
。
196
第 15 章 A/D コンバータ
■ 停止モード
停止モードは , ANS ビットと ANE ビットで設定されたアナログ入力を順に変換してい
きますが 1ch 変換する度に変換動作を一時停止します。一時停止を解除するにはもう
一度起動をかけることにより行われます。
ANE ビットで設定された終了チャネルまで変換が終わると ANS のアナログ入力に戻
り A/D 変換動作を続けます。開始チャネルと終了チャネルが同じ (ANS=ANE) であれ
ば変換は 1 つのチャネルに対してのみ実行されます。
例:
ANS=000, ANE=011
開始→ AN0 →停止→起動→ AN1 →停止→起動→ AN2 →停止→起動→
→ AN3 →停止→起動→ AN0 - - →繰り返し
ANS=010, ANE=010
開始→ AN2 →停止→起動→ AN2 →停止→起動→ AN2 - - →繰り返し
このときの起動要因は STS1, STS0 で設定されたものだけです。
このモードを使用することにより変換開始の同期をかけることが可能です。
197
第 15 章 A/D コンバータ
15.5
EI2OS を使った変換動作
図 15.5-1 に , A/D 変換起動から変換データ転送までのフロー例(連続モード)を示
します。
■ EI2OS を使った変換動作
図 15.5-1 A/D 変換起動から変換データ転送までのフロー例(連続モード)
A/D変換起動
サンプル&ホールド
EI2OS起動
変換
データ転送
割込み処理
変換終了
割込み発生
割込みクリア
☆は EI2OS の設定で決まります。
198
第 15 章 A/D コンバータ
15.5.1
単発モード時の EI2OS の起動例
単発モード時の EI2OS は次の手順で起動します。
• アナログ入力 AN1 ∼ AN3 の変換をして終了する。
• 変換データは 200H ∼ 205H 番地に順に転送する。
• ソフトウェアで変換を開始する。
• 最高の割込みレベルを使用する。
■ 単発モード時の EI2OS の起動例
設定項目
EI2OS の設定
プログラム例
動作説明
MOV ICR10, #08H
最強割込み設定 , 割込み時 EI2OS 起動 , ディスクリプタ
アドレスの設定。
MOV BAPL, #00H
MOV BAPM, #02H
MOV BAPH, #00H
変換データの転送先番地。
MOV ISCS, #18H
ワードデータ転送 , 転送後転送先番地をインクリメント
する。I/O からメモリへ転送。リソースからの要求で終
了しない。
MOV IOA, #36H
MOV DCT, #03H
MOV ADCS0, #0BH
A/D コンバータ設定
MOV ADCS1, #A2H
割込みシーケンス RETI
EI2OS 転送を 3 回行う。変換回数と同じにする。
単発モード , 開始チャネル AN1, 終了チャネル AN3
ソフト起動 , A/D 変換開始
割込みからの復帰
ICR10 : 割込み制御レジスタ
BAPL : バッファアドレスポインタ下位
BAPM : バッファアドレスポインタ中位
BAPH : バッファアドレスポインタ上位
ISCS
:EI2OS ステータスレジスタ
IOA
:I/O アドレスカウンタ
DCT
: データカウンタ
起動開始
AN1
割込み
EI2OS転送
AN2
割込み
EI2OS転送
AN3
割込み
EI2OS転送
終了
割込みシーケンス
平行処理
199
第 15 章 A/D コンバータ
連続モード時の EI2OS の起動例
15.5.2
連続モード時の EI2OS の起動例は次のとおりです。
• アナログ入力 AN3 ∼ AN5 の変換をして各チャネルの変換データを 2 つ取得す
る。
• 変換データは 600H ∼ 60BH 番地に順に転送する。
• 起動は外部エッジ入力で行う。
• 割込みレベル最強
■ 連続モード時の EI2OS の起動例
設定項目
EI2OS の設定
プログラム例
動作説明
MOV ICR10, #08H
最強割込み設定 , 割込み時 EI2OS 起動 , ディスクリプタ
アドレスの設定。
MOV BAPL, #00H
MOV BAPM, #06H
MOV BAPH, #00H
変換データの転送先番地
MOV ISCS, #18H
MOV IOA, #36H
MOV DCT, #06H
MOV ADCS0, #9DH
A/D コンバータ設定
MOV ADCS1, #A4H
2
EI OS 終了割込み MOV ADCS1, #00H
RETI
シーケンス
ワードデータ転送 , 転送後転送先番地をインクリメント
する。I/O からメモリへ転送。リソースからの要求で終
了しない。
転送元アドレス
EI2OS 転送を 6 回行う。3ch × 2 分のデータ転送を行う。
連続モード , 開始チャネル AN3, 終了チャネル AN5
外部エッジ起動 , A/D 変換開始
割込みからの復帰
• ICR10 : 割込み制御レジスタ
• BAPL : バッファアドレスポインタ下位
• BAPM : バッファアドレスポインタ中位
• BAPH : バッファアドレスポインタ上位
• ISCS
: EI2OS ステータスレジスタ
• IOA
: I/O アドレスカウンタ
• DCT
: データカウンタ
起動開始
AN3 → 割込み → EI2OS転送
AN4 → 割込み → EI2OS転送
AN5 → 割込み → EI2OS転送
全6回転送後
割込みシーケンス
終了
200
第 15 章 A/D コンバータ
停止モード時の EI2OS の起動例
15.5.3
停止モード時の EI2OS の起動例は , 次のとおりです。
• アナログ入力 AN3 を一定期間おいて 12 回変換する。
• 変換データは 600H ∼ 617H 番地に順に転送する。
• 起動は外部エッジ入力で行う。
• 割込みレベル最強
■ 停止モード時の EI2OS の起動例
設定項目
プログラム例
EI2OS の設定
動作説明
MOV ICR10, #08H
最強割込み設定 , 割込み時 EI2OS 起動 , ディスクリプタ
アドレスの設定。
MOV BAPL, #00H
MOV BAPM, #06H
MOV BAPH, #00H
変換データの転送先番地。
MOV ISCS, #18H
MOV IOA, #36H
MOV DCT, #0CH
ワードデータ転送 , 転送後転送先番地をインクリメント
する。I/O からメモリへ転送。リソースからの要求で終
了しない。
転送元アドレス
EI2OS 転送を 12 回行う。
停止モード , 開始チャネル AN3, 終了チャネル AN3
MOV ADCS0, #DBH
(1ch 変換)
A/D コンバータ設定
MOV ADCS1, #A4H 外部エッジ起動 , A/D 変換開始
2
EI OS 終了割込み MOV ADCS1, #00H
割込みからの復帰
RETI
シーケンス
ICR10 : 割込み制御レジスタ
BAPL : バッファアドレスポインタ下位
BAPM : バッファアドレスポインタ中位
BAPH : バッファアドレスポインタ上位
ISCS
: EI2OS ステータスレジスタ
IOA
: I/O アドレスカウンタ
DCT
: データカウンタ
起動開始
AN3 → 割込み → EI2OS転送
12回転送後
停止
外部エッジ起動
割込みシーケンス
終了
201
第 15 章 A/D コンバータ
15.6
変換データ保護機能
A/D コンバータは , 変換データ保護機能を持ち EI2OS を使って連続変換と複数の
データを確保できることを特長としています。
変換データレジスタは 1 つですので連続で A/D 変換をすると 1 回の変換終了と共に
変換データが格納されて前データが失われます。これを保護するために , 本 A/D コ
ンバータは変換が終了しても前データが EI2OS を使ってメモリへ転送されていない
と変換データはレジスタに格納されず A/D は一時停止する機能を持っています。
■ 変換データ保護機能
一時停止の解除は EI2OS でメモリへ転送された後 , 行われます。
前データが転送されていれば一時停止することなく A/D は連続して変換します。
< 注意事項 >
202
この機能は ADCS1 の INT, INTE ビットに関係しています。
データ保護機能は割込み許可( INTE =1)状態でしか動作しないようになっています。
割込み禁止 ( INTE =0) の場合は本機能は動作せず連続で A/D 変換を行った場合は
次々に変換データはレジスタに格納されて旧データは失われます。
また , 割込み許可 ( INTE =1) 状態で EI2OS を使わない場合は INT ビットはクリアさ
れないため , データ保護機能が働き A/D は変換を一時停止状態にします。この場合
は割込みシーケンスで INT ビットをクリアすると停止状態が解除されます。
EI2OS 動作中で A/D が一時停止をしているときに割込みを禁止にすると A/D が動作
し転送する前に変換データレジスタの内容が変わることがあります。
また , 一時停止中に再起動をかけると待機データが壊れます。
第 15 章 A/D コンバータ
■ データ保護機能のフロー例(EI2OS の場合)
EI2OS設定
A/D連続変換起動
1回変換終了
データレジスタに格納
EI2OS起動
2回変換終了
NO
EI2OS終了
A/D一時停止
YES
YES
データレジスタに格納
EI2OS終了
NO
EI2OS起動
3回変換終了
続く
EI2OS起動
すべて変換終了
割込みルーチン
終了
A/D停止
■ 変換データ保護機能の使用上の注意
A/D コンバータを外部トリガまたは内部タイマを使って起動する場合 ADCS1 レジス
タの A/D 起動要因ビット STS1, STS0 で設定しますが , このときに外部トリガおよび内
部タイマの入力値はインアクティブ側の状態で設定してください。アクティブ側にし
ておくと動作しはじめる場合があります。
STS1 および STS0 をセットする場合には必ず , ADTG に対して "1"(入力)を指定し内
部タイマ (タイマ 2)に対しては "0"(出力)を指定してください。
203
第 15 章 A/D コンバータ
204
第 16 章
UART0
UART0 の機能と動作について説明します。
16.1 UART0 の特長
16.2 UART0 のブロックダイヤグラム
16.3 UART0 のレジスタ
16.4 UART0 の動作
16.5 ボーレート
16.6 内部クロックおよび外部クロック
16.7 転送データフォーマット
16.8 パリティビット
16.9 割込み生成とフラグのセットタイミング
16.10 UART0 の応用例
205
第 16 章 UART0
16.1
UART0 の特長
UART0 は , 非同期 ( 調歩同期 ) 通信 , または CLK 同期通信を行うためのシリアル
I/O ポートです。
■ UART0 の特長
UART0 には以下の特長があります。
• 全二重ダブルバッファ
• CLK 同期と CLK 非同期調歩式データ転送のサポート
• マルチプロセッサモードのサポート
• 専用ボーレートジェネレータの内蔵 (12 種類 )
• 外部クロック入力または内部タイマによる自由なボーレート設定のサポート
• 可変長データ (7 ∼ 9 ビット [ パリティなし ], 6 ∼ 8 ビット [ パリティあり ])
• エラー検出機能 ( パリティ , フレーミング , オーバラン )
• 割込み機能 ( 受信割込みと送信割込み )
• NRZ 形式の転送フォーマット
206
第 16 章 UART0
UART0 のブロックダイヤグラム
16.2
図 16.2-1 に , UART0 のブロックダイヤグラムを示します。
■ UART0 のブロックダイヤグラム
図 16.2-1 UART のブロックダイヤグラム
コントロールバス
受信割込み(CPUへ)
専用ボーレートクロック
SCK0
送信クロック
16bitリロードタイマ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
コントロールバス
207
第 16 章 UART0
16.3
UART0 のレジスタ
UART0 には , 次の 4 つのレジスタがあります。
• シリアルモードコントロールレジスタ
• ステータスレジスタ
• インプットデータ / アウトプットデータレジスタ
• レート / データレジスタ
■ UART0 のレジスタ
シリアルモードコントロールレジスタ
アドレス:ch.0
000020H
bit 7
リード/ライト
初期値
ステータスレジスタ
アドレス:ch.0 000021H
リード/ライト
初期値
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)
(R/W)
(0)
(W)
(1)
(R/W)
(0)
(R/W)
(0)
bit 15
14
13
12
11
10
9
8
RDRF
ORFE
PE
TDRE
RIE
TIE
RBF
TBF
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(1)
(R/W)
(0)
(R/W)
(0)
(R)
(0)
(R)
(0)
UMC0
USR0
インプットデータレジスタ/アウトプットデータレジスタ
アドレス:ch.0
000022H
リード/ライト
初期値
レート/データレジスタ
アドレス:ch.0
000023H
リード/ライト
初期値
R/W:リード/ライト可能
W :ライトオンリ
R :リードオンリ
X :不定値
208
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)
bit
bit 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)
(1)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(X)
UIDR0(リード)
UODR0(ライト)
URD0
第 16 章 UART0
シリアルモードコントロールレジスタ 0(UMC0)
16.3.1
シリアルモードコントロールレジスタ 0(UMC0) は , UART0 の動作モードを指定し
ます。動作が停止中に動作モードを設定します。ただし , RFC ビットは動作中もア
クセス可能です。
■ シリアルモードコントロールレジスタ 0 (UMC0)
シリアルモードコントロールレジスタ0
アドレス:ch.0
000020H
bit 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)
(R/W)
(0)
(W)
(1)
(R/W)
(0)
(R/W)
(0)
UMC0
R/W:リード/ライト可能
W :ライトオンリ
● シリアルモードコントロールレジスタ 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)
転送データの長さを制御します。下表に , 本ビットで選択可能な 4 つの転送モード
(データ長)を示します。
表 16.3-1 UART 動作モード
モード
MC1
MC0
データ長 *1
0
1
0
0
1
0
1
0
7 (6)
8 (7)
8+1
2 *2
3
1
1
9 (8)
*1: 括弧内の数字は , パリティ付きのデータ長を示します。
*2: いくつものスレーブ CPU が単一ホスト CPU に接続している場合 , モード 2 が使用されます。受
信パリティチェック機能は使用不可のため , UMC0 レジスタ中の PEN を "0" に設定してくださ
い (詳細については , 「16.4 UART0 の動作」を参照)。送信データ長は 9 ビットで , パリティ
ビットは追加できません。
209
第 16 章 UART0
[bit3]SMDE (Synchro MoDe Enable)
SMDE は , 転送方法を選択します。
0: 調歩式 CLK 同期転送 (調歩ビットによるクロック選択の同期転送)
1: 調歩式 CLK 非同期転送
[bit2]RFC (Receiver Flag Clear)
"0" を書き込むと , USR0 レジスタ中の RDRF, ORFE, PE フラグがクリアされます。"1"
書込みは無効であり , 読出し値は常に "1" になります。
< 注意事項 >
受信割込みが UART0 操作中許可されている場合 , RDRF, ORFE, PE のどれかが "1"
になっていれば , RFC には "0" のみを書き込みます。
[bit1]SCKE(SCLK Enable)
CLK 同期モードで本ビットに "1" を書き込むと , ポート端子が UART0 シリアルクロッ
ク出力端子に切り換わり , 同期クロックが出力されます。CLK 同期モードまたは外部
クロックモードでゼロを設定してください。
0: 汎用入出力ポートとして機能し , シリアルクロックを出力しません。ポートが入力
モード (DDR=0) に設定され , RC3 ∼ RC0 が "1111B" に設定されている場合 , 外部ク
ロック入力端子として機能します。
1:UART0 シリアルクロック出力端子として機能します。
[bit0]SOE(Serial Output Enable)
"1" を書き込むと , ポート端子が UART0 シリアルデータ出力端子に切り換わり , シリ
アル出力が可能になります。
0: ポート端子として機能し , シリアルデータを出力しません。
1:UART0 シリアルデータ出力端子として機能します。
210
第 16 章 UART0
16.3.2
ステータスレジスタ 0(USR0)
ステータスレジスタ 0(USR0) は , UART0 ポートの現在の状態を示します。
■ ステータスレジスタ 0(USR0)
ステータスレジスタ0
アドレス:ch.0
000021H
リード/ライト
初期値
R/W:リード/ライト可能
R :リードオンリ
bit 15
14
13
12
11
10
9
8
RDRF
ORFE
PE
TDRE
RIE
TIE
RBF
TBF
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(1)
(R/W)
(0)
(R/W)
(0)
(R)
(0)
(R)
(0)
USR0
● ステータスレジスタ (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: エラーあり
表 16.3-2 に , RDRF または ORFE による受信完了後の UIDR0 の状態を示します。
表 16.3-2 受信完了後の UIDR0 の状態
RDRF
ORFE
0
0
空
0
1
フレーミングエラー
1
0
有効データ
1
1
オーバランエラー
UIDR0 データの状態
オーバランまたはフレーミングエラーが発生した場合 , UIDR0 中のデータは無効です。
次のデータはフラグクリア後に受信できます。
211
第 16 章 UART0
[bit13]PE(Parity Error)
受信パリティエラーが発生した場合にセットされるフラグです。UMC0 レジスタ中の
RFC に "0" を書き込むと , クリアされます。本フラグをセットすると , UIDR0 中のデー
タは無効になり , 受信用シフタから UIDR0 へのロードが実行されません。RIE がアク
ティブな場合 , PE がセットされていれば受信割込み要求が生成されます。
0: パリティエラーなし
1: パリティエラー発生
[bit12]TDRE(Transmitter Data Register Empty)
UODR0 (アウトプットデータレジスタ)の状態を示すフラグです。UODR0 レジスタ
に送信データを書き込むと , クリアされます。データが送信用シフタにロードされ , 転
送が開始されるとセットされます。TIE がアクティブな場合 , TDRE がセットされてい
れば受信割込み要求が生成されます。
0:UODR0 中にデータあり
1:UODR0 中にデータなし
[bit11]RIE(Receiver Interrupt Enable)
受信割込み要求を許可します。
0: 割込みを禁止します。
1: 割込みを許可します。
[bit10]TIE(Transmitter Interrupt Enable)
送信割込み要求を許可します。TDRE が "1" のとき送信割込みが許可されると , 送信割
込みが直ちに生成されます。
0: 割込みを禁止します。
1: 割込みを許可します。
[bit9]RBF (Receiver Busy Flag)
UART0 がインプットデータを受信中であることを示すフラグです。スタートビットが
検出されるとセットされ , ストップビットが検出されるとクリアされます。
0: 受信側がアイドル状態
1: 受信側がビジー状態
[bit8]TBF (Transmitter Busy Flag)
UART0 がインプットデータを送信中であることを示すフラグです。送信データが
UODR0 レジスタに書き込まれるとセットされ , 送信が完了するとクリアされます。
0: 送信側がアイドル状態
1: 送信側がビジー状態
212
第 16 章 UART0
16.3.3
インプットデータレジスタ 0(UIDR0) と
アウトプットレジスタ 0(UODR0)
インプットデータレジスタ 0(UIDR0) は , シリアル・データ・インプット・レジスタ
であり , アウトプットレジスタ 0(UODR0) は , シリアル・データ・アウトプット・
レジスタです。
データ長が 6 ビットの場合最大有効ビットの D7 と D6 が無視され , データ長が 7
ビットの場合最大有効ビットの D7 が無視されます。USR0 レジスタ中の TDRE=1
のときのみ UODR0 に書き込みし , USR0 レジスタ中の RDRF=1 のときのみ UIDR0
を読出しできます。
■ インプットデータレジスタ 0(UIDR0) とアウトプットレジスタ 0(UODR0)
インプットデータレジスタ/アウトプットデータレジスタ0
アドレス:000022H
リード/ライト
初期値
R/W:リード/ライト可能
X :不定値
bit
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(ライト)
213
第 16 章 UART0
16.3.4
レート・データレジスタ 0(URD0)
レート・データレジスタ 0(URD0) は , UART0 用のデータ転送速度を選択するレジス
タです。送信データ長が 9 ビットのとき , データの最大有効ビット (bit8) を保持し
ます。UART0 が停止中にボーレートとパリティを設定してください。
■ レート・データレジスタ 0(URD0)
レート/データレジスタ0
アドレス:ch.0
000023H
リード/ライト
初期値
bit 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)
(1)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(X)
URD0
R/W:リード/ライト可能
X :不定値
● レート・データレジスタ 0(URD0) の内容
[bit15, bit10]BCH, BCH0 (Baud rate clock change)
ボーレートクロック用のマシンサイクルを指定します (詳細については , 「16.4
UART0 の動作」を参照)。
表 16.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 を "00B" に設定しないでください。
[bit14 ∼ bit11]RC3 ∼ RC0 (Rate control)
UART0 ポート用のクロック入力を選択します ( 詳細については ,「16.4 UART0 の動
作」を参照 )。
表 16.3-4 クロック入力選択
RC3 ∼ RC0
"0000B" ∼ "1011B"
< 注意事項 >
214
クロック入力
専用ボーレートジェネレータ
"1101B"
16bit リロードタイマ 0
"1111B"
外部クロック
レートコントロールビットを "1100B", "1110B" に設定しないでください。
第 16 章 UART0
[bit9]P(Parity):
パリティがアクティブのとき , 偶数 / 奇数パリティを設定します (PEN=1)。
0: 偶数パリティ
1: 奇数パリティ
[bit8]D8
モード 2 または 3 (9bit データ長), およびパリティなしでの転送データの bit8 を保持
します。読出し時には UIDR0 レジスタの bit8 として , 書込み時には UODR0 レジスタ
の bit8 として扱われます。その他のモードでは意味を持ちません。USR0 レジスタ中で
TDRE=1 のときのみ D8 に書き込みます。
215
第 16 章 UART0
16.4
UART0 の動作
表 16.4-1 に , UART0 の動作モードを示します。モードを切り換えるには , UMC0 レ
ジスタに値を設定します。
■ UART0 の動作モード
表 16.4-1 UART0 の動作モード
モード
パリティ
データ長
On
6
Off
7
On
7
Off
8
Off
8+1
On
8
Off
9
クロックモード
ストップビット長 *
CLK 非同期または CLK 同期
1bit または 2bit
0
1
2
3
*: ストップビット長については , 送信動作のみ指定が可能です。受信動作については常に 1 ビット
長となります。UART0 は上記モード以外では動作しませんので , 設定しないでください。
< 注意事項 >
216
UART0 は , 調歩クロック同期転送を使用するので , クロック同期転送でもスタート
ビットとストップビットをデータに追加します。
第 16 章 UART0
16.5
ボーレート
専用ボーレートジェネレータ使用時には , 次の 2 種類があります。
• CLK 同期ボーレート
• CLK 非同期ボーレート
■ CLK 同期ボーレート
BCH, BCH0, RC3, RC2, RC1 の 5 つの URD0 レジスタが CLK 同期転送用のボーレート
を選択します。
最初に , BCH, BCH0 を使用してマシンクロック分周比を選択します。
BCH
BCH0
0
1
⇒
4 分周 [たとえば,16MHz 時 16/4=4MHz]
1
0
⇒
3 分周 [たとえば,12MHz 時 12/3=4MHz]
1
1
⇒
5 分周 [たとえば,10MHz 時 10/5=2MHz]
次に , 上記で選択したクロックの分周比を RC3, RC2, RC1 に設定します。CLK 同期転
送には , 以下の 3 つの設定が可能です。それ以外の設定は禁止されます。
RC3
RC2
RC1
0
1
0
⇒ 2 分周 [たとえば,4MHz 時 4/2=2.0M(bps)]
0
1
1
⇒ 4 分周 [たとえば,4MHz 時 4/4=1.0M(bps)]
1
0
0
⇒ 8 分周 [たとえば,4MHz 時 4/8=0.5M(bps)]
(2MHz 時,上記の例の半分の速度になります。)
■ CLK 非同期ボーレート
BCH, BCH0, RC3, RC2, RC1, RC0 の 6 つの URD レジスタが CLK 非同期転送用のボー
レートを選択します。
最初に , BCH, BCH0 を使用してマシンクロック分周比を選択します。
BCH
BCH0
0
1
⇒
4 分周 [たとえば,16MHz 時 16/4=4MHz]
1
0
⇒
3 分周 [たとえば,12MHz 時 12/3=4MHz]
1
1
⇒
5 分周 [たとえば,10MHz 時 10/5=2MHz]
次に , 上記で選択したクロックの非同期転送クロック分周比を RC3, RC2, RC1, RC0 に
設定します。CLK 同期転送には , 以下の設定が可能です。
217
第 16 章 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 同期ボーレートの計算方法の公式を
以下に示します。
ボーレート
=
ボーレート
=
ボーレート
=
φ/4
[bps](マシンサイクル=16 MHz)
2m-1
φ/3
[bps](マシンサイクル=12 MHz)
2m-1
φ/5
[bps](マシンサイクル=10 MHz)
2m-1
ここで , φ はマシンサイクルであり , m は RC3 ∼ RC1 の 10 進数表記です。
< 注意事項 >
m=0 または m=1 の場合 , 上記公式は計算不可です。
CLK 非同期ボーレートが -1% ∼ +1% の範囲にある場合 , データ転送が可能です。
ボーレートは , CLK 非同期ボーレートを 8 × 13, 8 × 12, 8 で割った値です。
表 16.5-1 に , マシンサイクルが 16MHz, 12MHz, 10MHz 時の例を示します。表中の
"-" でマークした設定は使用しないでください。
表 16.5-1 ボーレート
CLK 非同期 ( µ s/ ボー)
RC 3
RC 2
RC1
RC0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
16MHz
12MHz
10MHz
BCH/0=01
BCH/0=10
BCH/0=11
-
-
48/ 20833
26/ 38460 26/ 38460 52/ 19230
CLK 非同期分周比
16MHz
12MHz
10MHz
BCH/0=01
BCH/0=10
BCH/0=11
8 × 12
-
-
-
8 × 13
-
-
-
8
-
-
-
-
-
1
2/500000
2/500000
4/250000
8
-
-
-
0
48/ 20833 48/ 20833
96/10417
8 × 12
-
-
-
0
1
52/ 19230 52/ 19230 104/ 9615
8 × 13
0.5 / 2M
0.5 / 2M
1 / 1M
1
1
0
96/10417
8 × 12
-
-
-
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
1
0
1
1
218
-
-
CLK 同期 ( µ s/ ボー)
96/10417 192/ 5208
-
-
16/ 62500 16/ 62500 32/ 31250
8
-
-
-
8
-
-
-
第 16 章 UART0
内部クロックおよび外部クロック
16.6
RC3 ∼ RC0 を "1101B" に設定すると , 16bit リロードタイマからのクロック信号を
選択することになります。RC3 ∼ RC0 を "1111B" に設定すると , 外部クロックを
選択することになります。尚 , 外部クロックの最大周波数は 2MHz です。
■ 内部クロックおよび外部クロック
CLK 非同期ボーレートは , CLK 同期ボーレートを 8 で割ったものです。また , CLK 非
同期ボーレートが選択したボーレート -1% ∼ +1% の範囲にある場合 , データ転送が可
能です。表 16.6-1 に , 内部タイマをクロックとして選択した場合のボーレートを示し
ます。本表の値は , マシンサイクルを 7.3728MHz として計算しています。ただし , 表
中の "-" でマークした設定は使用しないでください。
ボーレート=
φ/X
8×2 (n+1)
[bps]
φ:マシンサイクル
X:内部タイマのカウントクロックソースの分周比
n:リロード値 (10進数)
表 16.6-1 ボーレートとリロード値
ボーレート
(bps)
リロード値
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
表中の値は , 16bit リロードタイマのリロードカウント動作のリロード値 (10 進数 ) です。
219
第 16 章 UART0
16.7
転送データフォーマット
UART0 は , NRZ (non-return-to-zero) 形式のデータのみを扱います。図 16.7-1 に ,
送受信クロックと CLK 同期モードのデータとの関係を示します。
■ 転送データフォーマット
図 16.7-1 転送データフォーマット
SCK0
SIN0,SOT0
0
起動
1
LSB
0
1
1
0
転送されたデータは01001101B(モード1)または101001101B(モード3)
1
0
0
MSB
1
1
⎫
停止
D8 停止 ⎬ モードに依存
⎭
図 16.7-1 に示すように , 転送データは必ずスタートビット("L" レベルデータ)より始
まり, LSB ファーストで指定されたデータビット長転送が行われ, ストップビット
("H"
レベルデータ)で終了します。外部クロックを選択している場合は , 常にクロックを入
力してください。
内部クロック(専用ボーレートジェネレータまたは 16bit リロードタイマ)を選択して
いる場合 , クロックは連続的に出力されます。CLK 同期転送を使用する場合 , 選択した
ボーレートクロックが安定 (2 ボーレートクロックサイクル)するまでデータ転送を
開始しないでください。
CLK 非同期転送を使用する場合 , UMC0 レジスタ中の SCKE ビットを "0" に設定し , ク
ロック出力を無効にしてください。SIN0 と SOT0 の転送データフォーマットは , 図
16.7-1 に示すものと同じです。
220
第 16 章 UART0
16.8
パリティビット
URD0 レジスタ中の P( パリティ ) ビットは , パリティが許可されている場合に偶数 /
奇数パリティのどちらを使用するかを指定します。UMC0 レジスタ中の PEN( パリ
ティイネーブル ) ビットはパリティを許可します。
■ パリティビット
偶数パリティ設定時に図 38 に示すデータを SIN0 に入力すると , 受信パリティエラー
が発生します。図 16.8-1 には, 001101B を偶数/奇数パリティで送信時に送信されるデー
タも示しています。
図 16.8-1 パリティを許可したシリアルデータ
SIN0
(受信パリティエラー発生P=0)
0
起動
1
LSB
0
1
1
0
0
0
1
停止
MSB
(パリティ)
SOT0
(偶数パリティ送信P=0)
0
起動
1
LSB
0
1
1
0
0
1
1
停止
MSB
(パリティ)
SOT0
(奇数パリティ送信P=1)
0
起動
1
LSB
0
1
1
0
0
0
1
停止
MSB
(パリティ)
221
第 16 章 UART0
16.9
割込み生成とフラグのセットタイミング
UART0 には , 2 つの割込み要因と 6 個のフラグがあります。2 つの割込み要因には ,
受信割込みと送信割込みがあります。6 個のフラグとは , RDRF, ORFE, PE, TDRE,
RBF, TBF です。受信については , RDRF, ORFE, PE フラグが割込みを要求します。
送信については , TDRE フラグが割込みを要求します。
■ 6 つのフラグのセットタイミング
● RDRF フラグ
RDRF は UIDR0 レジスタに受信データがロードされるとセットされます。UMC0 レジ
スタ中の RFC に "0" を書き込むか , UIDR0 レジスタを読み出すと , クリアされます。
● ORFE フラグ
ORFE フラグは , オーバランまたはフレーミングエラーフラグです。受信エラーが発生
した場合にセットされ, UMC0レジスタ中のRFCに"0"を書き込むと, クリアされます。
● PE フラグ
PE フラグは , 受信パリティエラーフラグです。受信パリティエラーが発生した場合に
セットされ , UMC0 レジスタ中の RFC に "0" を書き込むと , クリアされます。パリティ
検出機能はモード 2 では有効ではないので注意してください。
● TDRE フラグ
TDRE フラグは , UODR0 レジスタが空になり書込み可能になったときにセットされ ,
UODR0 レジスタに書込みを行うと , クリアされます。上記の 4 個のフラグ (RDRF,
ORFE, PE, TDRE) は , 送受信割込みを起動します。
● RBF と TBF フラグ
RBF と TBF フラグは , 受信または送信が進行中であることを示します。RBF は受信中
にアクティブになります。TBF は送信中にアクティブになります。
222
第 16 章 UART0
16.9.1
受信動作時(モード 0, モード 1, モード 3)のフラグ
のセットタイミング
RDRF, ORFE, PE フラグは , 受信転送が終了し最後のストップビットを検出すると
きにセットされ , CPU への割込み要求が発生します。ORFE, PE のどちらかのビッ
トがアクティブ時には , UIDR0 中のデータは無効となります。
■ 受信動作時(モード 0, モード 1, モード 3)のフラグのセットタイミング
図 16.9-1 , 図 16.9-2 , 図 16.9-3 に , RDRF, ORFE, PE フラグのセットタイミングを示しま
す。
図 16.9-1 RDRF のセットタイミング (モード 0, モード 1, モード 3)
データ
停止
(停止)
RDRF
受信割込み
図 16.9-2 ORFE のセットタイミング (モード 0, モード 1, モード 3)
データ
停止
データ
RDRF = 1
RDRF = 0
ORFE
ORFE
受信割込み
受信割込み
(オーバランエラー)
停止
(フレーミングエラー)
図 16.9-3 PE のセットタイミング (モード 0, モード 1, モード 3)
データ
停止
(停止)
PE
受信割込み
223
第 16 章 UART0
16.9.2
受信動作時(モード 2)のフラグのセットタイミング
RDRF フラグは , 最後のストップビットを検出し , 最後のデータビット (D8) の値が
"1" で受信転送が終了するときにセットされます。
ORFE フラグは , 最後のデータビット (D8) の値に無関係に , 最後のストップビット
を検出するときにセットされます。ORFE ビットがアクティブ時には , UIDR0 中の
データは無効となります。
どれかのフラグがセットされると , CPU への割込み要求が発生します (モード 2 の
使用法の詳細については , 「16.10 UART0 の応用例」を参照)。
■ 受信動作時(モード 2)のフラグのセットタイミング
図 16.9-4 RDRF のセットタイミング(モード 2)
データ
D6
D7
D8
停止
(停止)
RDRF
受信割込み
図 16.9-5 ORFE のセットタイミング (モード 2)
データ
D7
D8
停止
データ
RDRF=1
RDRF=0
ORFE
ORFE
受信割込み
受信割込み
(オーバランエラー)
224
D7
D8
停止
(フレーミングエラー)
第 16 章 UART0
送信動作時のフラグのセットタイミング
16.9.3
送信動作時に UODR0 フラグに書き込まれたデータは , 内部シフトレジスタに転送
されます。この時 , TDRE フラグがセットされ , CPU への割込み要求が発生して , 次
のデータを UODR0 フラグに書込みができるようになります。
■ 送信動作時のフラグのセットタイミング
図 16.9-6 TDRE のセットタイミング(モード 0)
UODR0ライト
TDRE
CPUへ割込みを要求する。
送信割込み
SOT0出力
ST
D0
D1
D2
D3
D4
D5
D6
D7
SP
SP
ST
D0
D1
D2
D3
ST:スタートビット D0~D7:データビット SP:ストップビット
225
第 16 章 UART0
送受信動作時のステータスフラグ
16.9.4
送受信動作時に , RBF フラグは , スタートビットが検出されるとセットされ , ストッ
プビットが検出されるとクリアされます。UIDR0 中の受信データは , RBF クリアタ
イミングではまだ無効状態です。UIDR0 中のデータは , RDRF セットタイミングで
有効になります。
■ 送受信動作時のステータスフラグ
図 16.9-7 に , RBF と受信割込みフラグのタイミングとの関係を示します。
図 16.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 がセットされ , 送信が完了するとクリアされ
ます。
図 16.9-8 TBF のセットタイミング (モード 0)
UODR0ライト
SOT0出力
ST
D0
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 サービス)
拡張インテリジェント I/O サービス (EI2OS) の詳細については , 「3.7 拡張インテリ
ジェント I/O サービス (EI2OS)」を参照してください。
226
第 16 章 UART0
16.10
UART0 の応用例
モード 2 は , 1 台のホスト CPU の数台のスレーブ CPU が接続されるような場合に
使用されます( 図 16.10-1 を参照)。
■ UART0 の応用例
図 16.10-1 RBF のセットタイミング(モード 0)
SIN0入力
ST
D0
D1
D2
D3
D4
D5
D6
D7
SP
RBF
RDRF, PE, ORFE
ST:スタートビット D0 ∼ D7:データビット SP:ストップビット
図 16.10-2 に示すように , 通信は , ホスト CPU がアドレスデータを転送することによっ
て始まります。アドレスデータは , 9 番目のビット (D8) が "1" にセットされています。
これにより通信先となるスレーブ CPU が選択され , ユーザが決定したプロトコルを使
用してホスト CPU との通信を行います。通常データは D8 が "0" にセットされていま
す。非選択のスレーブ CPU は , 次の通信セッションが始まるまでスタンバイ状態で待
機します。図 16.10-3 に , 本モードでの動作フローチャートを示します。
このモードにおいては , パリティチェック機能は使用できませんので , UMC0 レジスタ
の PEN ビットは "0" としてください。
図 16.10-2 モード 2 使用時のシステム構築例
SOT0
SIN0
ホストCPU
SOT0 SIN0
SOT0 SIN0
スレーブCPU#0
スレーブCPU#1
227
第 16 章 UART0
図 16.10-3 モード 2 使用時の通信フローチャート
(ホストCPU)
(スレーブCPU)
起動
起動
転送モードを3とする
転送モードを"2"にセット
D0~D7にスレーブCPU選択,
D8に"1"をセットし,1バイト
転送
1バイト受信
選択 ?
D8に"0"をセットし,通信を
実行
終了
YES
転送モードを"3"にセッし,
SOTO出力を許可
マスターCPUで通信を実行
ステータスフラグを使用し
て転送の完了を確認,転送
モードを"2"にセットして
SOTO出力を禁止
228
NO
第 17 章
UART1(SCI)
UART1(SCI) の機能と動作について説明します。
17.1 UART1 の特長
17.2 UART1 のブロックダイヤグラム
17.3 UART1 のレジスタ一覧
17.4 UART1 の動作モードとクロック選択
17.5 UART1 のフラグと割込み発生要因
17.6 UART1 の割込みとフラグのセットタイミング
17.7 UART1 の応用例と使用上の注意
229
第 17 章 UART1(SCI)
17.1
UART1 の特長
UART1 は , 非同期(調歩同期)通信 , または CLK 同期通信を行うためのシリアル
I/O ポートです。
■ UART1 の特長
UART1 には以下の特長があります。
• 全二重ダブルバッファ
• 非同期 ( 調歩同期 ), CLK 同期通信が可能
• マルチプロセッサモードのサポート
• 専用ボーレートジェネレータ内蔵
•
非同期 : 9615/31250/4808/2404/1202 bps
CLK同期: 1M/500K/250K/125K/62.5K bps
内部マシンクロック 16,12,10,8,6MHz 時 • 外部クロックによる自由なボーレートの設定が可能
• エラー検出機能 ( パリティ , フレーミング , オーバラン )
• 転送信号は NRZ 符号
• インテリジェント I/O サービスのサポート
230
第 17 章 UART1(SCI)
17.2
UART1 のブロックダイヤグラム
図 17.2-1 に , UART1 のブロックダイヤグラムを示します。
■ UART1 のブロックダイヤグラム
図 17.2-1 UART1 のブロックダイヤグラム
制御記号
受信割込み(CPUへ)
専用ボーレートジェネレータ
SCK1
送信クロック
16bitリロードタイマ0
クロック
選択回路
送信割込み(CPUへ)
受信クロック
外部クロック
SIN1
受信制御回路
送信制御回路
スタートビット
検出回路
送信スタート回路
受信ビットカウンタ
送信ビットカウンタ
受信パリティ
カウンタ
送信パリティ
カウンタ
SOT1
送信用シフタ
受信用シフタ
受信状態判定回路
受信終了
送信開始
SIDR1
SODR1
EI2OS用
受信エラー発生信号
(CPUへ)
F2MC-16 BUS
SMR1
レジスタ
MD1
MD0
CS2
CS1
CS0
SCKE
SOE
SCR1
レジスタ
PEN
P
SBL
CL
A/D
REC
RXE
TXE
SSR1
レジスタ
PE
ORE
FRE
RDRF
TDRE
RIE
TIE
制御記号
231
第 17 章 UART1(SCI)
UART1 のレジスタ一覧
17.3
図 17.3-1 に , UART1 のレジスタ一覧を示します。
■ UART1 のレジスタ一覧
図 17.3-1 UART1 のレジスタ一覧
bit
15
8 7
0
SCR1
SMR1
(R/W)
SSR1
SIDR1(R)/SODR1(W)
(R/W)
U1CDCR
–
(R/W)
8bit
8bit
bit 7
アドレス: 000024 H MD1
6
MD0
5
CS2
4
CS1
3
CS0
2
予約
1
SCKE
0
SOE
bit 15
アドレス: 000025 H PEN
14
P
13
SBL
12
CL
11
A/D
10
REC
9
RXE
8
TXE
bit 7
アドレス: 000026 H
D7
6
D6
5
D5
4
D4
3
D3
2
D2
1
D1
0
D0
bit 15
PE
14
ORE
13
FRE
12
RDRF
11
TDRE
10
–
9
RIE
8
TIE
6
–
5
–
4
–
3
DIV3
2
DIV2
1
DIV1
0
DIV0
シリアルモードレジスタ1
(SMR1)
アドレス: 000027 H
シリアルコントロール
レジスタ1(SCR1)
シリアルインプットレジスタ1
シリアルアウトプット
レジスタ1(SIDR1/SODR1)
シリアルステータスレジスタ1
(SSR1)
bit
アドレス: 000028 H
R/W:リード/ライト可能
232
7
MD
UART1通信プリスケーラ
コントロールレジスタ(U1CDCR)
第 17 章 UART1(SCI)
17.3.1
シリアルモードレジスタ 1(SMR1)
シリアルモードレジスタ 1(SMR1) は , UART1 の動作モードを指定します。動作
モードの設定は動作停止中に行い , 動作中にこのレジスタへの書込みは行わないで
ください。
■ シリアルモードレジスタ 1 (SMR1)
以下にシリアルモードレジスタ 1(SMR1) のビット構成を示します。
bit 7
SMR1
アドレス: 000024 H MD1
R/W
R/W : リード / ライト可能
6
5
4
3
2
1
0
初期値
MD0
CS2
CS1
CS0
予約
SCKE
SOE
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
[bit7, bit6]MD1, MD0 (MoDe select):
このビットでは , UART1 の動作モードを選択します。表 17.3-1 に , 動作モード選択設
定を示します。
表 17.3-1 動作モード選択設定
< 注意事項 >
モード
MD1
MD0
0
0
0
非同期(調歩同期)ノーマルモード
1
0
1
非同期(調歩同期)マルチプロセッサモード
2
1
0
CLK 同期モード
-
1
1
設定禁止
動作モード
モード 1 の CLK 非同期モード(マルチプロセッサ)とは , 1 台のホスト CPU に数台
のスレーブ CPU が接続される使用法です。本リソースでは , 受信データのデータ形
式を判別できません。したがって , マルチプロセッサモードのマスタのみをサポート
します。
また , パリティチェック機能は使用できませんので UMC1 レジスタの PEN は "0" に
設定してください。
[bit5 ∼ bit3]CS2 ∼ CS0 (Clock Select):
このビットでは , ボーレートクロックソースを選択します。専用ボーレートジェネレー
タを選択した場合には , 同時にボーレートも決定されます。表 17.3-2 に , クロック入力
選択設定を示します。
表 17.3-2 クロック入力選択設定
CS2 ∼ CS0
クロック入力
000B ∼ 100B
専用ボーレートジェネレータ
101B
予約
110B
内部タイマ *
111B
外部クロック
*: 内部タイマを選択した場合 , MB90595 シリーズではリロードタイマ 0 出力が選択されます。
233
第 17 章 UART1(SCI)
[bit2] 予約ビット
必ず "0" を書き込んでください。
[bit1]SCKE(SCLK Enable):
CLK 同期モード ( モード 2) で通信を行う場合 , SCK1 端子をクロック入力端子にする
か , クロック出力端子として使うかを指定します。
CLK 非同期モード時または外部クロックモード時では "0" に設定してください。
0: クロック入力端子として機能します。
1: クロック出力端子として機能します。
< 注意事項 >
クロック入力端子として使うには , 外部クロックソースが選択されている必要があ
ります。
[bit0]SOE(Serial Output Enable):
汎用 I/O ポート端子と兼用されている外部端子 (SOT1) を , シリアル出力端子として使
うか , I/O ポート端子として使うかを指定します。
0: 汎用 I/O ポート端子として機能します。
1: シリアルデータ出力端子 (SOT1) として機能します。
234
第 17 章 UART1(SCI)
17.3.2
シリアルコントロールレジスタ (SCR1)
シリアルコントロールレジスタ (SCR1) は , シリアル通信を行う場合の転送プロトコ
ルを制御します。
■ シリアルコントロールレジスタ (SCR1)
図 17.3-2 に , シリアルコントロールレジスタ (SCR1) のビット構成を示します。
図 17.3-2 シリアルコントロールレジスタ (SCR1) のレジスタ一覧
bit 15
SCR1
アドレス: 000025 H PEN
14
13
12
11
10
9
8
初期値
P
SBL
CL
A/D
REC
RXE
TXE
00000100B
R/W
R/W : リード / ライト可能
W :ライトオンリ
R/W
R/W
R/W
R/W
W
R/W
R/W
[bit15]PEN(Parity Enable)
シリアル通信において, パリティを付加してデータ通信を行うかどうかを指定します。
0: パリティなし
1: パリティあり
< 注意事項 >
パリティを付加できるのは , 非同期(調歩同期)通信モードのノーマルモード(モー
ド 0)のみです。マルチプロセッサモード(モード 1)および CLK 同期通信(モー
ド 2)では , パリティを付加することはできません。
[bit14]P(Parity)
パリティを付加してデータ通信を行うとき , 偶数 / 奇数パリティを指定します。
0: 偶数パリティ
1: 奇数パリティ
[bit13]SBL(Stop Bit Length)
非同期(調歩同期)通信を行うときのフレームエンドマークである , ストップビットの
ビット長を指定します。
0:1 ストップビット
1:2 ストップビット
[bit12]CL(Character Length)
送受信する 1 フレームのデータ長を指定します。
0:7 ビットデータ
1:8 ビットデータ
< 注意事項 >
7 ビットデータを扱えるのは , 非同期(調歩同期)通信のうちのノーマルモード(モー
ド 0)のみです。マルチプロセッサモード(モード 1)および CLK 同期通信(モー
ド 2)では , 8 ビットデータとしてください。
235
第 17 章 UART1(SCI)
[bit11]A/D(Address/Data)
非同期(調歩同期)通信のマルチプロセッサモード(モード 1)において , 送信するフ
レームのデータ形式を指定します。
0: データフレーム
1: アドレスフレーム
[bit10]REC(Receiver Error Clear)
SSR1 レジスタのエラーフラグ (PE, ORE, FRE) をクリアします。
"1" 書込みは無効であり , 読出し値は常に "1" になります。
[bit9]RXE(Receiver Enable)
UART1 の受信動作を制御します。
0: 受信動作を禁止します。
1: 受信動作を許可します。
< 注意事項 >
受信中(受信シフトレジスタにデータが入力されているとき)に受信動作を禁止し
た場合には , そのフレームの受信を完了し受信データバッファ SIDR1 レジスタに受
信データをストアしたところで受信動作を停止します。
[bit8]TXE (Transmitter Enable)
UART1 の送信動作を制御します。
0: 送信動作を禁止します。
1: 送信動作を許可します。
< 注意事項 >
236
送信中(送信レジスタからデータが出力されているとき)に送信動作を禁止した場
合は , 送信データバッファSODR1 レジスタにデータがなくなった後に送信動作を停
止します。
"0" の書込みは , SODR1 レジスタにデータを書き込んだ後は , 一定の期間を置いて
行ってください。一定の期間は , ブロック非同期転送モード時は , ボーレートの
1/16 時間です。クロック同期転送モード時は , ボーレートの時間です。
第 17 章 UART1(SCI)
17.3.3
シリアルインプットデータレジスタ 1(SIDR1)/ シリ
アルアウトプットデータレジスタ 1(SODR1)
シリアルインプットデータレジスタ 1(SIDR1)/ シリアルアウトプットデータレジス
タ 1(SODR1) レジスタは , 受信 / 送信用のデータバッファレジスタです。
■ シリアルインプットデータレジスタ 1(SIDR1) / シリアルアウトプットデータレジ
スタ 1(SODR1)
以下に SIDR1 と SODR1 のビット構成を示します。
SIDR1
bit
アドレス: 000026 H
SODR1
bit
アドレス: 000026 H
R
W
7
D7
6
D6
5
D5
4
D4
3
D3
2
D2
1
D1
0
D0
R
R
R
R
R
R
R
R
7
D7
6
D6
5
D5
4
D4
3
D3
2
D2
1
D1
0
D0
W
W
W
W
W
W
W
W
初期値
不定
初期値
不定
:リードオンリ
:ライトオンリ
シリアルインプットデータレジスタ 1 (SIDR1) は , シリアルデータ受信用のデータバッ
ファレジスタです。シリアルアウトプットデータレジスタ 1 (SODR1) は , シリアルデー
タ送信用のデータバッファレジスタです。データ長が 7bit の場合 , 上位 1bit(D7) は無効
データとなります。SODR1 レジスタへの書込みは , SSR1 レジスタの TDRE が "1" のと
きに行ってください。
< 注意事項 >
このアドレスへのライトは SODR1 レジスタへの書込みを , リードは SIDR1 レジス
タの読出しを意味します。
237
第 17 章 UART1(SCI)
17.3.4
シリアルステータスレジスタ 1(SSR1)
シリアルステータスレジスタ 1(SSR1) は , UART1 の動作状態を表すフラグで構成さ
れています。
■ シリアルステータスレジスタ 1(SSR1)
以下にシリアルステータスレジスタ 1(SSR1) のビット構成を示します。
bit
SSR1
アドレス: 000027 H
15
14
13
12
11
10
9
8
初期値
PE
ORE
FRE
RDRF
TDRE
–
RIE
TIE
00001-00B
R
R
R
R
–
R/W
R/W
R
R/W : リード / ライト可能
R
: リードオンリ
− : 未定義
[bit15]PE(Parity Error)
受信時にパリティエラーが発生したときにセットされる , 割込み要求フラグです。一度
セットされたフラグをクリアするには , SCR1 レジスタの REC ビット (bit10) に "0" を
書き込みます。
本ビットがセットされた場合には , SIDR1 のデータは無効データとなります。
0: パリティエラーなし
1: パリティエラー発生
[bit14]ORE(Over Run Error)
受信時にオーバランエラーが発生したときにセットされる , 割込み要求フラグです。一
度セットされたフラグをクリアするには , SCR1 レジスタの REC ビット (bit10) に "0" を
書き込みます。
本ビットがセットされた場合には , SIDR1 のデータは無効データとなります。
0: オーバランエラーなし
1: オーバランエラー発生
[bit13]FRE(Framing Error)
受信時にフレーミングエラーが発生したときにセットされる , 割込み要求フラグです。
一度セットされたフラグをクリアするには , SCR1 レジスタの REC ビット (bit10) に "0"
を書き込みます。
本ビットがセットされた場合には , SIDR1 のデータは無効データとなります。
0: フレーミングエラーなし
1: フレーミングエラー発生
[bit12]RDRF(Receiver Data Register Full)
SIDR1 レジスタに受信データがあることを示す , 割込み要求フラグです。
SIDR1 レジスタに受信データがロードされるとセットされ , SIDR1 レジスタを読み出
すと自動的にクリアされます。
0: 受信データなし
1: 受信データあり
238
第 17 章 UART1(SCI)
[bit11]TDRE(Transmitter Data Register Empty)
SODR1 に送信データを書き込めることを示す , 割込み要求フラグです。
SODR1 レジスタに送信データを書き込むとクリアされます。書き込んだデータが送信
用シフタにロードされて転送が開始されると再びセットされ , 次の送信データを書き
込めることを表します。
0: 送信データの書込み禁止
1: 送信データの書込み許可
[bit9]RIE(Receiver Interrupt Enable)
受信割込みを制御します。
0: 割込みを禁止します。
1: 割込みを許可します。
< 注意事項 >
受信割込み要因は , PE, ORE, FRE によるエラー発生のほか , RDRF による正常受信
があります。
[bit8]TIE(Transmitter Interrupt Enable)
送信割込みを制御します。
0: 割込みを禁止します。
1: 割込みを許可します。
< 注意事項 >
送信割込み要因は , TDRE による送信要求です。
239
第 17 章 UART1(SCI)
17.3.5
UART1 通信プリスケーラコントロールレジスタ
(U1CDCR)
UART1 通信プリスケーラコントロールレジスタ (U1CDCR) は , マシンクロックの分
周を制御するレジスタです。UART1 の動作クロックは , マシンクロックを分周する
ことにより得られます。この通信プリスケーラによって , 種々のマシンクロックに
対して一定のボーレートが得られるように設計されています。
本通信プリスケーラ出力は , 拡張 I/O シリアルインタフェースの動作クロックにも使
われています。
■ UART1 通信プリスケーラコントロールレジスタ (U1CDCR)
以下に U1CDCR のビット構成を示します。
7
MD
6
–
5
–
4
–
3
DIV3
2
DIV2
1
DIV1
0
DIV0
R/W
R/W : リード / ライト可能
− : 未定義
–
–
–
R/W
R/W
R/W
R/W
bit
U1CDCR
アドレス: 000028 H
初期値
0---1111B
[bit7]MD(Machine clock devide MoDe select)
通信プリスケーラの動作許可ビットです。
0: 通信プリスケーラは停止します。
1: 通信プリスケーラは動作します。
[bit3 ∼ bit0]DIV3 ∼ DIV0 (DIVide 3 ∼ DIVide0)
表 17.3-3 に示す表に従い , マシンクロックの分周比を決定します。
表 17.3-3 マシンクロックの分周比
DIV3 ∼ DIV0
分周比 *
1101B
3 分周
1100B
4 分周
1011B
5 分周
1010B
6 分周
1001B
7 分周
1000B
8 分周
*: 分周比を変えた場合はクロックの安定時間として 2 周期分の時間を置いてから通
信を行ってください。
240
第 17 章 UART1(SCI)
17.4
UART1 の動作モードとクロック選択
UART1 は , 非同期モードと CLK 同期モードの 2 種類の動作モードを持ち , SMR1 レ
ジスタ , SCR1 レジスタに値を設定する事によりモードを切換えることができます。
■ UART1 の動作モード
表 17.4-1 に , UART1 の動作モードを示します。
表 17.4-1 UART1 の動作モード
モード
パリティ
データ長
有/無
7
有/無
8
1
無
8+1
2
無
8
0
動作モード
非同期(調歩同期) ノーマルモード
ストップビット長 *
1bit または 2bit
非同期(調歩同期) マルチプロセッサモード
CLK 同期モード
無
*: 非同期(調歩同期)モードでのストップビット長については , 送信動作のみ指定が可能です。受
信動作については常に 1 ビット長となります。上記モード以外では動作しませんので , 設定しな
いでください。
241
第 17 章 UART1(SCI)
■ UART1 のクロック選択
● 専用ボーレートジェネレータ
表 17.4-2 および表 17.4-3 に , 専用ボーレートジェネレータを選択したときのボーレー
トを 示します。また , 表 17.4-4 に , 通信プリスケーラ設定値を示します。
表 17.4-2 ボーレート(非同期時)
CS2
CS1
CS0
非同期時(調歩同期)
算出式
0
0
0
9615
( φ ÷ div)/(8 × 13 × 2)
0
0
1
4808
( φ ÷ div)/(8 × 13 × 22)
0
1
0
2404
( φ ÷ div)/(8 × 13 × 23)
0
1
1
1202
( φ ÷ div)/(8 × 13 × 24)
1
0
0
31250
( φ ÷ div)/26
表 17.4-3 ボーレート(CLK 同期時)
CS2
CS1
CS0
CLK 同期時
算出式
0
0
0
1M
( φ ÷ div)/2
0
0
1
500 K
( φ ÷ div)/22
0
1
0
250 K
( φ ÷ div)/23
0
1
1
125 K
( φ ÷ div)/24
1
0
0
62.5 K
( φ ÷ div)/25
表中の φ はマシンクロックを示します。
表 17.4-4 通信プリスケーラ設定値
242
MD
DIV3
DIV2
DIV1
DIV0
div
推奨マシンクロック
1
1
1
0
1
3
6MHz
1
1
1
0
0
4
8MHz
1
1
0
1
1
5
10MHz
1
1
0
1
0
6
12MHz
1
1
0
0
0
8
16MHz
第 17 章 UART1(SCI)
● 内部タイマ
CS2 ∼ CS0 を "110" に設定して内部タイマを選択した場合は , リロードタイマ 0(16 ビッ
ト 動作時 ) をリロードモードで動作させます。このときのボーレートの算出式は , 次の
とおりです。
非同期(調歩同期):( φ ÷ N)/(16 × 2 × (n+1))
CLK 同期:( φ ÷ N)/(2 × (n+1))
N: タイマのカウントクロックソース
n: タイマのリロード値
表 17.4-5 に , マシンクロックを 7.3728MHz としたときのボーレートとリロード値 (10
進数 ) の関係を示します。
表 17.4-5 ボーレートとリロード値
リロード値
ボーレート
N=21
(マシンクロックの 2 分周)
N=23
(マシンクロックの 8 分周)
2
-
38400
19200
5
-
9600
11
2
4800
23
5
2400
47
11
1200
95
23
600
191
47
300
383
95
ボーレートクロックソースとして内部タイマ ( リロードタイマ 0) を選択した場合には ,
16 ビットタイマ 0 の出力信号 TOT0 は, 既に MB90595 コントローラに内部的に接続さ
れていることに注意してください。したがって , 16 ビットタイマ 0 の外部出力端子
TOT0 から UART1 の外部クロック入力端子 SCK1 へ外部で接続する必要はありませ
ん。また , タイマ端子をほかに使用していなければ , I/O ポート端子として使用するこ
とができます。
● 外部クロック
CS2 ∼ CS0 を "111" に設定して外部クロックを選択した場合のボーレートは , 外部ク
ロックの周波数を f とすると次のようになります。
非同期 ( 調歩同期 ) : f/16
CLK 同期 : f
f の最大値は 2MHz であることに , 注意してください。
243
第 17 章 UART1(SCI)
17.4.1
非同期(調歩同期)モード
UART1 は , NRZ (Non Return to Zero) 形式のデータのみを扱います。
■ 非同期(調歩同期)モードの転送データフォーマット
図 17.4-1 に , 転送データフォーマットを示します。
図 17.4-1 非同期(調歩同期)モードの転送データフォーマット(モード 0, モード 1)
SIN1,SOT1
0
1
0
1
1
0
0
Start LSB
1
0
1
1
........(モード 0)
MSB Stop
A/D Stop ........(モード 1)
転送されたデータは "01001101 B"
図 17.4-1 に示すように , 転送データは必ずスタートビット("L" レベルデータ)より始
まり, LSB ファーストで指定されたデータビット長転送が行われ, ストップビット
("H"
レベルデータ)で終了します。外部クロックを選択している場合は , 常にクロックを入
力してください。
ノーマルモード(モード 0)ではデータ長を 7 ビットまたは 8 ビットに設定することが
できますが , マルチプロセッサモード ( モード 1) では 8 ビットでなければなりません。
また , マルチプロセッサモードではパリティを付加することはできません。そのかわり ,
A/D ビットが必ず付加されます。
■ 非同期(調歩同期)モードの受信動作
SCR1 レジスタの RXE ビット (bit9) が "1" ならば , 常に受信動作が行われています。
受信ラインにスタートビットが現れると , SCR1 レジスタで決められたデータフォー
マットに従い 1 フレームデータの受信が行われます。1 フレームの受信が終わると ,
( エラーが発生した場合にはエラーフラグのセットが行われた後 )RDRF フラグ (SSR1
レジスタ bit12) がセットされます。このとき同じ SSR1 レジスタの RIE ビット (bit9) が
"1" にセットされていれば CPU に対して受信割込みが発生します。SSR1 レジスタの各
フラグを調べ , 正常受信なら SIDR1 レジスタをリードして , エラーが発生していれば
必要な処理を行うようにしてください。
RDRF フラグは , SIDR1 レジスタをリードするとクリアされます。
244
第 17 章 UART1(SCI)
■ 非同期(調歩同期)モードの送信動作
SSR1 レジスタの TDRE フラグ (bit11) が "1" のとき , 送信データを SODR1 レジスタに
書き込みます。
ここで, SCR1レジスタの TXEビット(bit8) が"1"なら送信が行われます。
SODR1 レジスタにセットしたデータが送信用シフトレジスタにロードされて送信が開
始されると TDRE フラグが再びセットされ , 次の送信データをセットできるようにな
ります。このとき同じ SSR1 レジスタの TIE ビット (bit8) が "1" にセットされていれば
CPU に対して送信割込みが発生して , SODR1 レジスタに送信データをセットするよう
に要求します。
TDRE フラグは , SODR1 レジスタにデータをセットするといったんクリアされます。
245
第 17 章 UART1(SCI)
17.4.2
CLK 同期モード
UART1 は , NRZ (Non Return to Zero) 形式のデータのみを扱います。
■ CLK 同期モードの転送データフォーマット
図 17.4-2 に , 送受信クロックとデータとの関係を示します。
図 17.4-2 CLK 同期モードの転送データフォーマット ( モード 2)
SODR1書込み
マーク
SCLK
RXE,TXE
SIN1,SOT1
1
LSB
0
1
1
0
0
1
0
MSB..............(モード 2)
転送されたデータは"01001101 B"
内部クロック(専用ボーレートジェネレータまたは内部タイマ)を選択している場合
は , データを送信するとデータ受信用同期クロックが自動的に生成されます。
外部クロックを選択している場合は , 送信側 UART の送信用データバッファSODR1 レ
ジスタにデータがあること(TDRE フラグが "0")を確かめた後 , 正確に 1 バイト分の
クロックを供給する必要があります。また , 送信開始前と終了後は , 必ずマークレベル
にしてください。
データは 8 ビットのみとなり , パリティを付加することはできません。また , スタート /
ストップビットがないのでオーバランエラー以外のエラー検出は行われません。
246
第 17 章 UART1(SCI)
■ CLK 同期モードを使用する場合の , 各制御レジスタの設定値
CLK 同期モードを使用する場合の , 各制御レジスタの設定値を示します。
● SMR1 レジスタ
MD1, MD0 :10
CS2, CS1, CS0: クロック入力を指定
SCKE:専用ボーレートジェネレータまたは内部タイマの場合 1,
外部クロックの場合 0
SOE:送信を行う場合 1, 受信のみの場合 0
● SCR1 レジスタ
PEN:0
P, SBL, A/D:これらのビットは意味を持ちません
CL:1
REC:0 (初期化するため)
RXE, TXE:少なくとも , どちらか一方を 1
● SSR1 レジスタ
RIE:割込みを使用する場合 1, 割込みを使用しない場合 0
TIE:0
■ CLK 同期モードの通信開始
SODR1 レジスタへの書込みによって通信を開始します。受信のみの場合でも , 必ず仮
の送信データを SODR1 レジスタに書き込む必要があります。
■ CLK 同期モードの通信終了
SSR1 レジスタの RDRF フラグが "1" に変化したことにより確認できます。SSR1 レジ
スタの ORE ビットによって , 通信が正常に行われたかを判断してください。
247
第 17 章 UART1(SCI)
17.5
UART1 のフラグと割込み発生要因
UART1 は PE/ORE/FRE/RDRF/TDRE の 5 つのフラグを持ちます。また , 割込み要
因には受信用のものと送信用のものがあります。
■ UART1 のフラグ
UART は , PE/ORE/FRE/RDRF/TDRE の 5 つのフラグを持ちます。PE はパリティエラー ,
ORE はオーバランエラー , FRE はフレーミングエラーのことで , 受信時エラーが発生
したときにセットされ , SCR1 レジスタの REC に "0" を書き込むとクリアされます。
RDRF は受信データが SIDR1 レジスタにロードされるとセットされ , SIDR1 レジスタ
を読み出すことでクリアされます。ただし , モード 1 ではパリティ検出機能 , モード 2
ではパリティ検出機能とフレーミングエラー検出機能はありません。TDRE は , SODR1
レジスタが空になり , 書込み可能な状態になるとセットされ , SODR1 レジスタへ書き
込むとクリアされます。
■ UART1 の割込み発生要因
UART1 の割込み発生要因には , 受信用のものと送信用のものがあります。受信時は ,
PE/ ORE/FRE/RDRF により割込みを要求します。送信時は , TDRE により割込みを要求
します。
各動作モード時の割込みとフラグのセットタイミングは , 「17.6 UART1 の割込みとフ
ラグのセットタイミング」に示します。参照してください。
248
第 17 章 UART1(SCI)
17.6
UART1 の割込みとフラグのセットタイミング
各動作モード時の割込みとフラグのセットタイミングを示します。
■ UART1 の割込みとフラグのセットタイミング
● モード 0 の受信動作時
PE, ORE, FRE, RDRF は受信転送が終了し , 最後のストップビットを検出するときにフ
ラグがセットされ , CPU への割込み要求が発生します。PE, ORE, FRE がアクティブ時
には , SIDR1 のデータは無効データとなります。
図 17.6-1 に , PE, ORE, FRE, RDRF のセットタイミング(モード 0)を示します。
図 17.6-1 PE, ORE, FRE, RDRF のセットタイミング(モード 0)
データ
D6
D7
Stop
PE,ORE,FRE
RDRF
受信割込み
● モード 1 の受信動作時
ORE, FRE, RDRF は受信転送が終了し , 最後のストップビットを検出するときにフラグ
がセットされ , CPU への割込み要求が発生します。また , 受信可能なデータ長は 8bit の
ため , 最後の 9bit 目のアドレス / データを示すデータは無効データとなります。ORE,
FRE がアクティブ時は , SIDR1 のデータは無効データとなります。
図 17.6-2 に , ORE, FRE, RDRF のセットタイミング(モード 1)を示します。
図 17.6-2 ORE, FRE, RDRF のセットタイミング(モード 1)
データ
D7
アドレス/
データ
Stop
ORE,FRE
RDRF
受信割込み
249
第 17 章 UART1(SCI)
● モード 2 の受信動作時
ORE, RDRF は受信転送が終了し , 最後のデータ (D7) を検出するときにフラグがセット
され , CPU への割込み要求が発生します。ORE がアクティブ時は , SIDR1 のデータは
無効データとなります。
図 17.6-3 に , OR, RDRF のセットタイミング ( モード 2) を示します。
図 17.6-3 ORE, RDRF のセットタイミング ( モード 2)
データ
D5
D6
D7
ORE
RDRF
受信割込み
● モード 0, モード 1, モード 2 の送信動作時
TDRE フラグは , SODR1 レジスタへ送信データが書き込まれるとクリアされます。ま
た , SODR1 レジスタ値が内部シフトレジスタに転送されると SODR1 レジスタが書き
込み可能な状態になるため , TDRE フラグがセットされます。このフラグがセットされ
ると CPU への割込み要求が発生します。送信動作中に SCR1 レジスタの TXE に "0"
( モード 2 の時は RXE も含む ) を書き込むと , SSR1 レジスタの TDRE が "1" となり , 送
信用のシフタが停止してから UART1 の送信動作を禁止します。送信動作中に SCR1 レ
ジスタの TXE に "0"( モード 2 のときは RXE も含む ) を書き込んだ後 , 送信が停止する
前にSODR1レジスタへ書き込まれたデータは送信されます。図 17.6-4 に, TDREのセッ
トタイミング ( モード 0, モード 1) を示します。また , 図 17.6-5 に , TDRE のセットタ
イミング ( モード 2) を示します。
250
第 17 章 UART1(SCI)
図 17.6-4 TDRE のセットタイミング ( モード 0, モード 1)
SODR1書込み
TDRE
CPUへ割込みを要求する。
SOT1割込み
SOT1出力
ST
D0
D1
D2
D3
D4
D5
D6
D7
ST:スタートビット D0~D7:データビット SP:ストップビット
SP SP
A/D
ST
D0
D1
D2
D3
A/D:アドレス/データマルチプレクサ
図 17.6-5 TDRE のセットタイミング ( モード 2)
SODR1書込み
TDRE
CPUへ割込みを要求する。
SOT1割込み
SOT1出力
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
D6
D7
D0~D7:データビット
251
第 17 章 UART1(SCI)
17.7
UART1 の応用例と使用上の注意
UART1 の応用例として , モード 1 使用時のシステム構築例と通信フローチャートを
示します。
■ UART1 の応用例 ( モード 1 使用時のシステム構築例 )
図 17.7-1 に示すように , モード 1 は , 1 台のホスト CPU に数台のスレーブ CPU が接続
されるような場合に使用されます。このリソースでは , ホスト側の通信インタフェース
のみサポートします。
図 17.7-1 モード 1 使用時のシステム構築例
SO
SI
ホストCPU
SO
SI
スレーブCPU#0
SO
SI
スレーブCPU#1
■ UART1 の通信フローチャート
通信はホスト CPU がアドレスデータを転送することによって始まります。アドレス
データとは , SCR1 レジスタの A/D が "1" のときのデータで , それにより通信先となる
スレーブ CPU が選択され , ホスト CPU との通信が可能になります。通常データは ,
SCR1 レジスタの A/D が "0" のときのデータです。図 17.7-2 に , そのフローチャートを
示します。
このモードにおいては , パリティチェック機能は使用できませんので SCR1 レジスタの
PEN ビットは "0" としてください。
252
第 17 章 UART1(SCI)
図 17.7-2 モード 1 使用時の通信フローチャート
START
転送モードを1とする
D0~D7にスレーブCPUを
選択するデータ, A/Dに"1"を
セットし1バイト転送
A/Dに"0"をセット
受信動作許可
スレーブCPUと通信
通信終了?
NO
YES
ほかの
スレーブ CPU
と通信
NO
YES
受信動作禁止
END
■ 拡張インテリジェント I/O サービス (EI2OS)
拡張インテリジェント I/O サービス (EI2OS) については , 「3.7 拡張インテリジェント
I/O サービス (EI2OS)」を参照してください。
■ UART1 の使用上の注意
通信モードの設定は , 動作停止中に行ってください。モード設定時の送受信したデータ
は保証されません。
253
第 17 章 UART1(SCI)
254
第 18 章
シリアル I/O
シリアル I/O の機能と動作について説明します。
18.1 シリアル I/O の概要
18.2 シリアル I/O のレジスタ
18.3 シリアル I/O プリスケーラ (SCDCR)
18.4 シリアル I/O の動作
18.5 ネガティブクロック動作
255
第 18 章 シリアル I/O
18.1
シリアル I/O の概要
シリアル I/O の動作モードには , 以下の 2 種類があります。
• 内部シフトクロックモード……内部クロックに同期してデータ転送を行います。
• 外部シフトクロックモード……外部端子 (SCK2) から入力されるクロックに同期
してデータ転送を行います。このモードで外部端子 (SCK2) を共有している汎用
ポートを操作することにより , CPU の命令による転送動作も可能です。
■ シリアル I/O のブロックダイヤグラム
クロック同期によるデータ転送を可能にするシリアル I/O インタフェースのブロック
ダイヤグラムを示します。このインタフェースは 8bit × 1ch 構成で , データは LSB/MSB
から転送できます。
図 18.1-1 拡張シリアル I/O インタフェースのブロックダイヤグラム
内部データバス
D7~D0(LSBファースト)
(MSBファースト)D0~D7
転送方向選択
SIN2
リード
ライト
SDR(シリアルデータレジスタ)
SOT2
SCK2
シフトクロック
カウンタ
制御回路
内部クロック
2
1
0
SMD2
SMD1
SMD0
SIE
SIR
BUSY
STOP
STRT
MODE
割込み要求
内部データバス
256
BDS
SOE
SCOE
第 18 章 シリアル I/O
18.2
シリアル I/O のレジスタ
シリアル I/O のレジスタには , 次の 2 つがあります。
• シリアルモードコントロールステータスレジスタ (SMCS)
• シリアルシフトデータレジスタ (SDR)
■ シリアル I/O のレジスタ
bit
アドレス: 00002DH
bit
アドレス: 00002CH
bit
アドレス: 00002EH
15
14
13
12
11
10
9
8
SMD2
SMD1
SMD0
SIE
SIR
BUSY
STOP
STRT
7
6
5
4
3
2
1
0
―
―
―
―
MODE
BDS
SOE
SCOE
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
シリアルモードコントロール
ステータスレジスタ(SMCS)
シリアルデータレジスタ (SDR)
257
第 18 章 シリアル I/O
18.2.1
シリアルモードコントロールステータスレジスタ
(SMCS)
シリアルモードコントロールステータスレジスタ (SMCS) は , シリアル I/O 転送モー
ドを制御するレジスタです。
■ シリアルモードコントロールステータスレジスタ (SMCS)
15
14
13
12
11
10
9
8
SMD2
SMD1
SMD0
SIE
SIR
BUSY
STOP
STRT
R/W
R/W
R/W
R/W
R/W
R
R/W
R/W
bit 7
6
5
4
*1
3
2
1
*2
0
―
―
―
―
MODE
BDS
SOE
SCOE
―
―
―
―
R/W
R/W
R/W
R/W
bit
SMCS
アドレス: 00002DH
SMCS
アドレス: 00002CH
初期値
00000010B
初期値
----0000B
R/W : リード / ライト可能
R
: リードオンリ
− : 未定義
*1:Write 動作は "0" のみ可。
*2:Write 動作は "1" のみ可 , Read 動作は常に "0"
● 各ビット機能
[bit3] シリアルモード選択ビット (MODE)
このビットにより停止状態からの起動条件の選択を行います。ただし , 動作中の書換え
は禁止します。
表 18.2-1 シリアルモード選択ビットの設定
MODE
動作
0
STRT=1 にすることにより起動します。[ 初期値 ]
1
シリアルデータレジスタのリード / ライトにより起動します。
リセットにより "0" に初期化されます。本ビットは , リード / ライトが可能です。イン
テリジェント I/O サービスを起動する際には "1" にしておいてください。
[bit2] 転送方向選択ビット (BDS:Bit Direction Select)
シリアルデータの入出力時に , 最下位ビット側から先に転送するか(LSB ファースト),
最上位ビット側から先に転送するか(MSB ファースト)を , 表 18.2-2 に示すとおりに
選択します。
258
第 18 章 シリアル I/O
表 18.2-2 転送方向選択ビットの設定
< 注意事項 >
0
LSB ファースト [ 初期値 ]
1
MSB ファースト
転送方向選択ビットは , SDR にデータを書き込む前に , 設定しておいてください。
[bit1] シリアル出力許可ビット (SOE:Serial Out Enable)
シリアル I/O 用出力外部端子 (SOT2) の出力を 表 18.2-3 に示すとおりに制御します。
表 18.2-3 シリアル出力許可ビットの設定
0
汎用ポート端子 [ 初期値 ]
1
シリアルデータ出力
リセットにより "0" に初期化されます。本ビットは , リード / ライトが可能です。
[bit0] シフトクロック出力許可ビット (SCOE : SCK2 Output Enable)
シフトクロック用入出力外部端子 (SCK2) の出力を 表 18.2-4 に示すとおりに制御しま
す。
表 18.2-4 シフトクロック出力許可ビットの設定
0
汎用ポート端子 , 命令毎転送時 [ 初期値 ]
1
シフトクロック出力端子
外部シフトクロックモードで命令ごとに転送を行うときは "0" に設定してください。リ
セットにより "0" に初期化されます。本ビットは , リード / ライトが可能です。
259
第 18 章 シリアル I/O
[bit15 ∼ bit13] シフトクロック選択ビット (SMD2 ∼ SMD0:Serial Shift Clock Mode)
シリアルシフトクロックモードを 表 18.2-5 に示すとおりに選択します。
表 18.2-5 シリアルシフトクロックモードの設定
SMD2
SMD1
SMD0
φ =16MHz
div=4
φ =8MHz
div=4
φ =4MHz
div=4
div
M1
0
0
0
2MHz
1MHz
500kHz
3
1
DIV3 DIV2 DIV1 DIV0
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 プリス
ケーラ (SCDCR)」を参照してください。
リセットにより "000" に初期化されます。本ビットの転送中の書換えは禁止します。シ
フトクロックは内部シフトクロック 5 種類と , 外部シフトクロックが選択できます。
SMD2 ∼ SMD0=110, 111 は予約ですので設定しないでください。
クロック選択で SCOE=0 とし , SCK2 端子を共有しているポートを操作することによっ
て命令ごとにシフト動作させることも可能です。
[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" が読み出されます。
260
第 18 章 シリアル I/O
[bit10] 転送状態ビット (BUSY)
シリアル転送が実行中か否かを示すビットです。
表 18.2-7 転送状態ビットの設定
BUSY
動作
0
停止またはシリアルデータレジスタ R/W 待機状態 [ 初期値 ]
1
シリアル転送状態
リセットにより "0" に初期化されます。本ビットは , リードのみ可能です。
[bit9] ストップビット (STOP)
シリアル転送を強制的に中断させるビットです。本ビットを "1" にすると STOP=1 に
よる停止状態となります。
表 18.2-8 ストップビットの設定
STOP
動作
0
動作
1
STOP=1 による転送停止 [ 初期値 ]
リセットにより "1" に初期化されます。本ビットは , リード / ライトが可能です。
[bit8] スタートビット (STRT:Start)
シリアル転送の起動を行うビットです。停止状態で "1" を書くことによって転送が開
始されます。シリアル転送動作中およびシリアルシフトレジスタ R/W 待機中の "1" の
ライトは無視され , "0" のライトは意味がありません。
リード時には常に "0" が読み出されます。
261
第 18 章 シリアル I/O
18.2.2
シリアルシフトデータレジスタ (SDR)
シリアルシフトデータレジスタ (SDR) は , シリアル I/O 転送データを格納するシリ
アルデータレジスタで , 転送中は読み書き不可です。
■ シリアルシフトデータレジスタ (SDR)
図 18.2-1 シリアルシフトデータレジスタ (SDR)
bit
SDR
アドレス: 00002EH
R/W:リード/ライト可能
262
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値 XXH
(不定)
第 18 章 シリアル I/O
18.3
シリアル I/O プリスケーラ (SCDCR)
シリアル I/O プリスケーラ (SCDCR) は , シリアル I/O のシフトクロックを提供しま
す。
シリアル I/O の動作クロックは , マシンクロックを分周することにより得られます。
シリアル I/O は , この通信プリスケーラによって種々のマシンクロックに対して一定
のボーレートが得られるように設計されています。SCDCR レジスタは , マシンク
ロックの分周を制御するレジスタです。
■ シリアル I/O プリスケーラ (SCDCR)
図 18.3-1 シリアル I/O プリスケーラ (SCDCR)
bit
SCDCR
アドレス: 00002BH
15
14
13
12
11
10
9
8
初期値
M1
DIV3
DIV2
DIV1
DIV0
0---1111B
R/W
R/W
R/W
R/W
R/W
R/W:リード/ライト可能
[bit15]MD(Machine clock devide moDe select)
通信プリスケーラの動作許可ビットです。
0: シリアル I/O プリスケーラは停止します。
1: シリアル I/O プリスケーラは動作します。
[bit11 ∼ bit8]DIV3 ∼ DIV0 (DIVide 3 ∼ DIVide 0)
マシンクロックの分周比を決定するビットです。
表 18.3-1 マシンクロックの分周比
< 注意事項 >
DIV3 ∼ DIV0
分周比
1101B
3
1100B
4
1011B
5
1010B
6
1001B
7
1000B
8
分周比を変えた場合はクロックの安定時間として 2 周期分の時間を置いてから通信
を行ってください。
263
第 18 章 シリアル I/O
18.4
シリアル I/O の動作
拡張シリアル I/O インタフェースは , シリアルモードコントロールステータスレジス
タ (SMCS), シフトレジスタ (SDR) により構成されます。8bit のシリアルデータの入
出力に使用します。
■ シリアル I/O の動作
シリアルデータの入出力は , シフトレジスタの内容がシリアルシフトクロック ( 外部ク
ロック , 内部クロック ) の立下りに同期してビット直列にシリアル出力端子 (SOT2 端
子 ) に出力され , 立上りに同期してシリアル入力端子 (SIN2 端子 ) からビット直列に
SDR( シフトレジスタ ) に入力されます。シフトの方向 (MSB からの転送または LSB か
らの転送 ) は , SMCS( シリアルモードコントロールステータスレジスタ ) の方向指定
ビット (BDS) により指定することができます。
転送が終了するとシリアルモードコントロールステータスレジスタ (SMCS) の MODE
ビットによって停止状態または , データレジスタ R/W 待機状態に入ります。各々の状
態から転送状態に移るには , それぞれ次のことを行います。
● 停止状態からの復帰のときは STOP ビットに "0", STRT ビットに "1" を書込みます(STOP と
STRT は同時設定が可能です)。
● シリアルシフトデータレジスタ R/W 待機状態からの復帰時はデータレジスタをリード , ま
たはライトします。
264
第 18 章 シリアル I/O
シフトクロック
18.4.1
シフトクロックには内部シフトクロックモード , 外部シフトクロックモードの 2 種
類があり , SMCS の設定で指定します。モードの切換えは , シリアル I/O が停止した
状態で行ってください。停止状態の確認は , BUSY ビットを読み出すことで可能で
す。
■ 内部シフトクロックモード
内部クロックにより動作し , 同期タイミング出力としてデューティ比 50% のシフトク
ロックが SCK 端子より出力可能です。データが 1 クロックごとに 1bit 転送されます。
転送の速度は以下の様になります。
転送速度(s) =
A×div
内部クロックのマシンサイクル(Hz)
A は SMCS の SMD ビットで示す分周比で , 21, 22, 24, 25, 26 です。
表 18.4-1 内部シフトクロックモードのボーレート算出式
SMD2
SMD1
SMD0
φ/div=4MHz
φ/div=2MHz
φ/div=1MHz
ボーレート算出式
0
0
0
2MHz
1 MHz
500kHz
( φ ÷ div)/21
0
0
1
1 MHz
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.25kHz
15.625kHz
( φ ÷ div)/26
div の値は , 表 17.4-4 を参照。
■ 外部シフトクロックモード
SCK2 端子から入力される外部シフトクロックに同期して , データが 1 クロックごとに
1bit 転送されます。転送速度は DC から 1/(8 マシンサイクル ) まで可能です。たとえば
, "1 マシンサイクル = 62.5ns" のとき , 2MHz まで可能です。
命令ごとに転送することもでき , 次のような設定をすることによって実現します。
外部シフトクロックモードを選択し , SMCS の SCOE ビットを "0" に設定します。さら
に , SCK2 端子を共有しているポートの方向レジスタに "1" を書込み , ポートを出力モー
ドに設定します。以上の設定をした後 , ポートのデータレジスタ (PDR) に "1", "0" を書
き込むと , SCK2 端子に出力されるポートの値を外部クロックとして取り込み , 転送動
作を行います。シフトクロックの開始は "H" からスタートさせてください。
< 注意事項 >
シリアル I/O 動作中の SMCS, SDR への書込みは禁止です。
265
第 18 章 シリアル I/O
18.4.2
シリアル I/O の動作状態
シリアル I/O の動作状態には , 次の 4 種類があります。
• STOP 状態
• 停止状態
• SDR の R/W 待機状態
• 転送状態
■ シリアル I/O の動作状態
● STOP 状態
RESET 時 , または SMCS の STOP ビットに "1" を書き込んだ時の状態でシフトカウン
タは初期化され , SIR =0 となります。
STOP 状態からの復帰は , STOP=0, STRT=1(同時設定可)とすることによって行われ
ます。STOP ビットは STRT ビットより優先ビットですので STOP=1 の時 STRT=1 とし
ても転送動作は行われません。
● 停止状態
MODE ビットが "0" のとき , 転送が終了したことによって SMCS が BUSY=0, SIR =1 と
なり , カウンタが初期化され停止状態に入ります。停止状態からの復帰は STRT=1 にす
ると転送動作が再開されます。
● シリアルデータレジスタ R/W 待機状態
SMCS の MODE ビットが "1" のとき , シリアル転送が終了すると , BUSY=0, SIR =1 と
なりシリアルデータレジスタ R/W 待機状態に入ります。割込み許可レジスタが許可状
態ならば本ブロックより割込み信号を出します。
R/W 待機状態からの復帰はシリアルデータレジスタが読み出されたり , 書き込まれた
りすると BUSY=1 となり転送動作が再開されます。
● 転送状態
BUSY=1 でシリアル転送を行っている状態です。MODE ビットによりそれぞれ停止状
態および R/W 待機状態に遷移します。
図 18.4-1 に , 動作遷移を示します。
266
第 18 章 シリアル I/O
図 18.4-1 拡張シリアル I/O インタフェース動作遷移図
リセット
STOP=0 & STRT=0
転送終了
STRT=0,BUSY=0
MODE=0
STOP=0
&
STRT=1
MODE=0
&
STOP=0
&
終了
STOP
STOP=1
STRT=0,BUSY=0
STOP=1
STOP=1
STOP=0
&
STRT=1
シリアルデータレジスタ R/W 待機
MODE=1 & 終了 & STOP=0
STRT=1,BUSY=0
MODE=1
SDRのR/W & MODE=1
転送動作
STRT=1,BUSY=1
図 18.4-2 シリアルデータレジスタへのリード , ライト概念図
シリアルデータ
SOT2
SIN2
データバス
データバス
リード
ライト
割込み出力
拡張シリアル
I/Oインタフェース
リード
ライト
②
①
割込み入力
データバス
CPU
割込みコントローラ
①MODE=1のとき, シフトクロックカウンタによって転送終了し, SIR =1となってリー
ド / ライト待機状態に入ります。SIE ビットが "1" ならば割込み信号を発生します。た
だし , SIE がインアクティブのときや STOP へ "1" を書き込むことによる転送中断のと
きは割込み信号は発生しません。
②シリアルデータレジスタがリード / ライトされると , 割込み要求はクリアされシリア
ル転送を開始します。
267
第 18 章 シリアル I/O
18.4.3
シフト動作のスタート / ストップタイミング
シフト動作をスタートする場合は , SMCS の STOP ビットを "0", STRT ビットを
"1" に設定します。シフト動作のストップタイミングについては , STOP=1 によって
停止する場合と , 転送終了によって停止する場合があります。
• STOP=1 によって停止→ MODE ビットに係わらず SIR =0 のまま停止
• 転送終了で停止→ MODE ビットに係わらず SIR =1 となり停止。
BUSY ビットは MODE ビットに係わらずシリアル転送状態の時 "1" となり , 停止状
態 , または R/W 待機状態のとき "0" となります。転送状態を確認したいときはこの
ビットをリードしてください。
■ シフト動作のスタート / ストップタイミング
● 内部シフトクロックモード(LSB ファースト)
図 18.4-3 シフト動作のスタート / ストップタイミング (内部クロック)
SCK2
"1"出力
(転送スタート)
STRT
(転送終了)
MODE=0の場合
BUSY
SOT2
DO0
DO7(データ保持)
・・・
● 外部シフトクロックモード(LSB ファースト)
図 18.4-4 シフト動作のスタート / ストップタイミング (外部クロック)
SCK2
(転送スタート)
STRT
(転送終了)
MODE=0の場合
BUSY
SOT2
268
DO0
・・・
DO7(データ保持)
第 18 章 シリアル I/O
● 外部シフトクロックモードで命令シフトを行ったとき(LSB ファースト)
図 18.4-5 シフト動作のスタート / ストップタイミング(外部シフトクロックモードで命令シフトを実行時)
PDRのSCK2ビット"0"
PDRのSCK2ビット"0"
PDRのSCK2ビット"1"
(転送終了)
MODE=0の場合
SCK2
STRT
BUSY
SOT2
・・・
DO6
DO7(データ保持)
( 注意事項 ) 命令シフトでは , PDR の SCK に対応するビットに "1" が書き込まれたとき
"H" が出力され "0" が書き込まれたとき "L" が出力されます ( ただし , 外部
シフトクロックモード選択で , SCOE=0 のとき )。
● STOP=1 による停止(LSB ファースト , 内部クロック時)
図 18.4-6 STOP ビットを "1" としたときのストップタイミング
"1" 出力
SCK2
(転送スタート)
(転送終了)
MODE=0のとき
STRT
BUSY
STOP
SOT2
DO3
・・・
DO5(データ保持)
DO4
( 注意事項 )DO7 ∼ DO0 は出力データを示します。
シリアルデータの転送中は , シフトクロックの立下りでシリアル出力端子 (SOT2) から
のデータが出力され , 立上りでシリアル入力端子 (SIN2) のデータが入力されます。
図 18.4-7 シリアルデータの入出力シフトタイミング
<LSB ファースト(BDSビットが"0"のとき)>
SCK2
SIN2入力
SIN2
DI0
DI1
SOT2
DO0
DO1
DI2
DI3
DI4
DI5
DI6
DI7
DO3
DO4
DO5
DO6
DO7
SOT2出力
DO2
<MBS ファースト(BDSビットが"1"のとき)>
SCK2
SIN2
SIN2入力
DI7
DI6
DI5
DI4
DI3
DI2
DI1
DI0
DO4
DO3
DO2
DO1
DO0
SOT2出力
SOT2
DO7
DO6
DO5
269
第 18 章 シリアル I/O
18.4.4
拡張シリアル I/O インタフェースの割込み機能
拡張シリアル I/O インタフェースは , CPU に対し割込み要求を発生することができ
ます。データの転送終了時に割込みフラグである SIR ビットがセットされ , 割込み
を許可する SMCS の SIE ビットが "1" の時 , CPU へ割込み要求を出力します
■ 拡張シリアル I/O インタフェースの割込み機能
図 18.4-8 拡張シリアル I/O インタフェースの割込み信号出力タイミング
SCK2
(転送終了)*
BUSY
SIE=1
SIR
SDR RD/WR
SOT2
DO6
*:MODE=1の場合
270
DO7(データ保持)
第 18 章 シリアル I/O
18.5
ネガティブクロック動作
MB90595 シリーズは , シリアル I/O のネガティブクロック動作をサポートします。
この動作では , シフトクロック信号はインバータにより単純に反転にされます。こ
のため , 前述のシリアル I/O のシフトクロック信号の定義は , ロジック L レベルから
ロジック H レベルへ , ネガティブエッジからポジティブエッジへ , あるいはこの逆
に反転されます。このことは , シリアルクロックの入力および出力ともに同じです。
■ ネガティブクロック動作
● SES(シリアルエッジセレクト)レジスタ
bit 7
SES
アドレス: 00002FH
―
6
5
4
3
2
1
0
―
―
―
―
―
―
NEG
―
―
―
―
―
―
―
R/W
初期値 -------0B
R/W:リード/ライト可能
表 18.5-1 NEG ビットの設定
NEG
動作
0
通常動作 (デフォルト)
1
シフトクロック信号反転
271
第 18 章 シリアル I/O
272
第 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 コントローラの使用上の注意
273
第 19 章 CAN コントローラ
19.1
CAN コントローラの特長
CAN コントローラは , 16 ビットマイクロコンピュータ (F2MC-16LX) 内に一体化さ
れたモジュールです。CAN( コントローラエリアネットワーク ) は自動車用コント
ローラ間のシリアル通信用の標準プロトコルであり工業分野で広く使用されている
ものです。
■ CAN コントローラの特長
CAN コントローラの特長は次のとおりです。
● CAN 仕様バージョン 2.0 パート A および B に適合しています。
標準フレームおよび拡張フレームフォーマットでの送信 / 受信をサポートしています。
● リモートフレームの受信によるデータフレームの送信をサポートしています。
● 16 個の送信 / 受信メッセージバッファ
29 ビットの ID および 8 バイトデータ
マルチ・レベル・メッセージ・バッファ構造
● フルビット比較 , フルビットマスクおよび部分的ビットマスクフィルタリングをサポート
しています。
標準フレームまたは拡張フレームフォーマットのいずれかで 2 個のアクセプタンスマ
スクレジスタを提供します。
● ビット速度は 10kbs ∼ 1Mbps でプログラマブルです(1Mbps でご使用の場合 , マシンクロッ
クは 8MHz 以上で動作する必要があります)
。
274
第 19 章 CAN コントローラ
CAN コントローラのブロックダイヤグラム
19.2
図 19.2-1 に , CAN コントローラのブロックダイヤグラムを示します。
■ CAN コントローラのブロックダイヤグラム
図 19.2-1 CAN コントローラのブロックダイヤグラム
TQ (動作クロック)
2
F MC-16LXバス
プリスケーラ
1~64周波数分割
クロック
SYNC, TSEG1, TSEG2
ビットタイミング発生
PSC
TS1
BTR
TS2
RSJ
TOE
TS
RS
CSR
IDLE, SUSPND,
送信,受信,
ERR, OVRLD
HALT
NIE
NT
バスステート
マシン
ノードステータス
変化割込み
ノードステータス
変化割込み発生
NS1,NS0
エラー
制御
RTEC
送信/
受信シーケンサ
BVALR
TREQR
TBFxクリア
TBFx
送信バッファx判定
エラーフレーム
発生
データ アクセプタンス
カウンタ フィルタ制御
過負荷
フレーム発生
TDLC RDLC
TBFx
IDSEL
BITER, STFER,
CRCER, FRMER,
ACKER
TCANR
出力
ドライバ
ARBLOST
TX
TRTRR
TCR
TBFx, セット,クリア
TDLC
送信完了
割込み
送信完了
割込み発生
TIER
RCR
スタッフィング
送信シフト
レジスタ
RFWTR
CRC発生
ACK発生
CRCER
RBFx, セット
RDLC
受信完了
割込み発生
RIER
受信完了
割込み
CRC発生/エラーチェック
受信シフト
レジスタ
RBFx, TBFx,セット,クリア
STFER
デスタッフィング/
スタッフィングエラーチェック
RRTRR
RBFx, セット IDSEL
ROVRR
ARBLOST
AMSR
AMR0
0
1
アクセプタンス
フィルタ
受信
バッファx判定
BITER
ビットエラー
チェック
ACKER
確認エラー
チェック
FRMER
フォームエラー
チェック
AMR1
RBFx
IDR0~IDR15,
DLCR0~DLCR15,
DTR0~DTR15,
RAM
RAMアドレス発生
アービトレション
チェック
PH1
入力
ラッチ
RX
RBFx, TBFx, RDLC, TDLC, IDSEL
LEIR
IDER
275
第 19 章 CAN コントローラ
19.3
全体コントロールレジスタの一覧
表 19.3-1 に , 全体コントロールレジスタの一覧を示します。
■ 全体コントロールレジスタ
表 19.3-1 全体コントロールレジスタの一覧
アドレス
000080H
000081H
000082H
000083H
000084H
000085H
000086H
000087H
000088H
000089H
00008AH
00008BH
00008CH
00008DH
00008EH
00008FH
001B00H
001B01H
001B02H
001B03H
001B04H
001B05H
001B06H
001B07H
001B08H
001B09H
001B0AH
001B0BH
001B0CH
001B0DH
001B0EH
001B0FH
001B10H
001B11H
001B12H
001B13H
001B14H
001B15H
001B16H
001B17H
001B18H
001B19H
001B1AH
001B1BH
276
レジスタ
略号
アクセス
初期値
メッセージバッファ有効レジスタ
BVALR
R/W
00000000 00000000
送信要求レジスタ
TREQR
R/W
00000000 00000000
送信解除レジスタ
TCANR
W
00000000 00000000
送信完了レジスタ
TCR
R/W
00000000 00000000
受信完了レジスタ
RCR
R/W
00000000 00000000
リモート要求受信レジスタ
RRTRR
R/W
00000000 00000000
受信オーバランレジスタ
ROVRR
R/W
00000000 00000000
受信割込み許可レジスタ
RIER
R/W
00000000 00000000
制御ステータスレジスタ
CSR
R/W, R
00 - --000 0 - - - -0-1
ラストイベント表示レジスタ
LEIR
R/W
- - - - - - - - 000-0000
受信 / 送信エラーカウンタ
RTEC
R
00000000 00000000
ビットタイミングレジスタ
BTR
R/W
-1111111 11111111
IDE レジスタ
IDER
R/W
XXXXXXXX XXXXXXXX
RTR 送信レジスタ
TRTRR
R/W
00000000 00000000
リモートフレーム受信待機レジスタ
RFWTR
R/W
XXXXXXXX XXXXXXXX
TIER
R/W
00000000 00000000
AMSR
R/W
送信割込み許可レジスタ
XXXXXXXX XXXXXXXX
アクセプタンスマスク選択レジスタ
XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX
アクセプタンスマスクレジスタ 0
AMR0
R/W
XXXXX - -- XXXXXXXX
XXXXXXXX XXXXXXXX
アクセプタンスマスクレジスタ 1
AMR1
R/W
XXXXX - -- XXXXXXXX
第 19 章 CAN コントローラ
19.4
メッセージバッファ (ID レジスタ ) の一覧
表 19.4-1 に , メッセージバッファ (ID レジスタ ) の一覧を示します。
■ メッセージバッファ (ID レジスタ ) の一覧
表 19.4-1 メッセージバッファ (ID レジスタ ) の一覧 (1 / 2)
アドレス
001A00H ∼
001A1FH
001A20H
001A21H
001A22H
001A23H
001A24H
001A25H
001A26H
001A27H
001A28H
001A29H
001A2AH
001A2BH
001A2CH
001A2DH
001A2EH
001A2FH
001A30H
001A31H
001A32H
001A33H
001A34H
001A35H
001A36H
001A37H
001A38H
001A39H
001A3AH
001A3BH
001A3CH
001A3DH
001A3EH
001A3FH
001A40H
001A41H
001A42H
001A43H
001A44H
001A45H
001A46H
001A47H
レジスタ
汎用 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
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
277
第 19 章 CAN コントローラ
表 19.4-1 メッセージバッファ (ID レジスタ ) の一覧 (2 / 2)
アドレス
001A48H
001A49H
001A4AH
001A4BH
001A4CH
001A4DH
001A4EH
001A4FH
001A50H
001A51H
001A52H
001A53H
001A54H
001A55H
001A56H
001A57H
001A58H
001A59H
001A5AH
001A5BH
001A5CH
001A5DH
001A5EH
001A5FH
278
レジスタ
略号
アクセス
IDR10
R/W
初期値
XXXXXXXX XXXXXXXX
ID レジスタ 10
XXXXX - --
XXXXXXXX
XXXXXXXX XXXXXXXX
ID レジスタ 11
IDR11
R/W
XXXXX - -- XXXXXXXX
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
第 19 章 CAN コントローラ
19.5
メッセージバッファ (DLC レジスタ / データレジスタ )
の一覧
表 19.5-1 に , メッセージバッファ (DLC レジスタ ) の一覧を , 表 19.5-2 に , メッ
セージバッファ ( データレジスタ ) の一覧を示します。
■ メッセージバッファ (DLC レジスタ ) の一覧
表 19.5-1 メッセージバッファ (DLC レジスタ ) の一覧
アドレス
001A60H
001A61H
001A62H
001A63H
001A64H
001A65H
001A66H
001A67H
001A68H
001A69H
001A6AH
001A6BH
001A6CH
001A6DH
001A6EH
001A6FH
001A70H
001A71H
001A72H
001A73H
001A74H
001A75H
001A76H
001A77H
001A78H
001A79H
001A7AH
001A7BH
001A7CH
001A7DH
001A7EH
001A7FH
レジスタ
略号
アクセス
初期値
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
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
279
第 19 章 CAN コントローラ
■ メッセージバッファ ( データレジスタ ) の一覧
表 19.5-2 メッセージバッファ ( データレジスタ ) の一覧
アドレス
001A80H ∼
001A87H
001A88H ∼
001A8FH
001A90H ∼
001A97H
001A98H ∼
001A9FH
001AA0H ∼
001AA7H
001AA8H ∼
001AAFH
001AB0H ∼
001AB7H
001AB8H ∼
001ABFH
001AC0H ∼
001AC7H
001AC8H ∼
001ACFH
001AD0H ∼
001AD7H
001AD8H ∼
001ADFH
001AE0H ∼
001AE7H
001AE8H ∼
001AEFH
001AF0H ∼
001AF7H
001AF8H ∼
001AFFH
280
レジスタ
略号
アクセス
初期値
データレジスタ 0 (8 バイト)
DTR0
R/W
XXXXXXXX ∼ XXXXXXXX
データレジスタ 1 (8 バイト)
DTR1
R/W
XXXXXXXX ∼ XXXXXXXX
データレジスタ 2 (8 バイト)
DTR2
R/W
XXXXXXXX ∼ XXXXXXXX
データレジスタ 3 (8 バイト)
DTR3
R/W
XXXXXXXX ∼ XXXXXXXX
データレジスタ 4 (8 バイト)
DTR4
R/W
XXXXXXXX ∼ XXXXXXXX
データレジスタ 5 (8 バイト)
DTR5
R/W
XXXXXXXX ∼ XXXXXXXX
データレジスタ 6 (8 バイト)
DTR6
R/W
XXXXXXXX ∼ XXXXXXXX
データレジスタ 7 (8 バイト)
DTR7
R/W
XXXXXXXX ∼ XXXXXXXX
データレジスタ 8 (8 バイト)
DTR8
R/W
XXXXXXXX ∼ XXXXXXXX
データレジスタ 9 (8 バイト)
DTR9
R/W
XXXXXXXX ∼ XXXXXXXX
データレジスタ 10 (8 バイト)
DTR10
R/W
XXXXXXXX ∼ XXXXXXXX
データレジスタ 11 (8 バイト)
DTR11
R/W
XXXXXXXX ∼ XXXXXXXX
データレジスタ 12 (8 バイト)
DTR12
R/W
XXXXXXXX ∼ XXXXXXXX
データレジスタ 13 (8 バイト)
DTR13
R/W
XXXXXXXX ∼ XXXXXXXX
データレジスタ 14 (8 バイト)
DTR14
R/W
XXXXXXXX ∼ XXXXXXXX
データレジスタ 15 (8 バイト)
DTR15
R/W
XXXXXXXX ∼ XXXXXXXX
第 19 章 CAN コントローラ
19.6
CAN コントローラのレジスタ分類
CAN コントローラのレジスタは , 次の 3 つに分類されます。
• 全体コントロールレジスタ
• メッセージバッファコントロールレジスタ
• メッセージバッファ
■ 全体コントロールレジスタ
全体コントロールレジスタには , 次の 4 つがあります。
• 制御ステータスレジスタ (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)
281
第 19 章 CAN コントローラ
制御ステータスレジスタ (CSR)
19.6.1
制御ステータスレジスタ (CSR) の下位 8 ビットに対しては , ビット操作命令 ( リー
ドモディファイライト ) を実行することは禁止されています。ただし , HALT ビット
が変化しないタイミング ( マクロの初期化など ) では , ビット操作命令を使用しても
問題ありません。
■ 制御ステータスレジスタ (CSR)
15
14
13
12
11
10
9
8
TS
RS
―
―
―
NT
NS1
NS0
リード/ライト:
(R)
(R)
(―)
(―)
(―)
(R/W)
(R)
(R)
初期値:
(0)
(0)
(―)
(―)
(―)
(0)
(0)
(0)
7
6
5
4
3
2
1
0
TOE
―
―
―
―
NIE
―
HALT
(R/W)
(―)
(―)
(―)
(―)
(R/W)
(―)
(R/W)
(0)
(―)
(―)
(―)
(―)
(0)
(―)
(1)
bit
アドレス: 001B01H
bit
アドレス:
001B00H
リード/ライト:
初期値:
R/W:リード/ライト可能
R :リードオンリ
- :未定義
[bit15]TS: 送信ステータスビット
本ビットはメッセージが送信中であるかどうかを示します。
0: メッセージは送信されていません。
1: メッセージが送信されています。
本ビットはエラーフレームおよび過負荷フレームが送信されている間も "0" です。
[bit14]RS: 受信ステータスビット
本ビットはメッセージが受信されているかどうかを示します。
0: メッセージは受信されていません。
1: メッセージが受信されています。
メッセージがバス上に在る間 , 本ビットは "1" になります。このため本ビットはメッ
セージが送信されている間も "1" になります。本ビットは必ずしも , 受信メッセージが
アクセプタンスフィルタを通って通過したかどうかを示すものではありません。
結果として , 本ビットが "0" であるときはバス動作は停止している (HALT=0) か , バス
はインターミッション / バスアイドルにある , または , エラー / オーバロードフレーム
がバス上にあることを意味します。
[bit10]NT: ノードステータス遷移フラグ
もしノードステータスがインクリメントに変化しまたはバスオフからエラーアクティ
ブに変化しても本ビットは "1" になります。
282
第 19 章 CAN コントローラ
すなわち NT ビットは , ノードステータスがエラーアクティブ (00) からワーニング (01)
に , ワーニング (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-1 に示され
ています。
図 19.6-1 ノードステータス遷移図
ハードウェアリセット
REC:受信エラーカウンタ
TEC:送信エラーカウンタ
エラーアクティブ
レジスタ(CSR)のHALTビットに0が書き込ま
れた後,連続的な11ビットハイレベル(リ
セッシブビット)が受信入力端子(RX)に128
回入力される。
REC≧96
または
TEC≧96
REC<96
および
TEC<96
ワーニング
REC≧128
または
TEC≧128
REC<128
および
TEC<128
バスオフ
エラーパッシブ
TEC≧256
283
第 19 章 CAN コントローラ
[bit7]TOE: 送信出力許可ビット
本ビットに "1" を書き込むと汎用ポート端子を CAN コントローラの送信端子に切り換
えます。
0: 汎用ポート端子
1:CAN コントローラの送信端子
[bit2]NIE: ノードステータス遷移割込み許可ビット
本ビットはノードステータス遷移割込み (NT=1 の場合 ) を許可または禁止します。
0: ノードステータス遷移割込みを禁止する
1: ノードステータス遷移割込みを許可する
[bit0]HALT: バス動作停止ビット
本ビットはバス動作停止をセットもしくは解除しまたはそのステートを表示します。
読出し時
0: バス動作中
1: バス動作停止
書込み時
0: バス動作停止を解除
1: バス動作停止をセット
< 注意事項 >
バスオフ時に HALT ビットに "0" を書き込む場合は , HALT ビットが "1" になってい
ることを確認後 ,"0" を書き込んでください。
参考プログラム例 :
switch (IO_CANCTO.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_CANCTO.CSR.bit.HALT==0); i++);
IO_CANCTO.CSR.word = 0x0084; /* HALT = 0 */
break:
}
※ 変数 i はフェイルセーフのために使用しています。
284
第 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) は , ハイレベル ( リセッシブビット ) を出力します。
• ほかのレジスタおよびエラーカウンタの値は変化しません。
< 注意事項 >
ビットタイミングレジスタ (BTR) はバス動作停止 (HALT=1) の間にセットしなけれ
ばなりません。
285
第 19 章 CAN コントローラ
19.6.3
ラストイベント表示レジスタ (LEIR)
本レジスタはラストイベントを示します。
NTE, TCE および RCE は排他的なものです。ラストイベントのビットが "1" にセッ
トされたときほかのビットは "0" にセットされます。
■ ラストイベント表示レジスタ (LEIR)
bit
アドレス: 001B02H
7
NTE
リード/ライト: (R/W)
初期値: (0)
R/W:リード/ライト可能
- :未定義
6
5
4
3
2
1
0
TCE
RCE
―
MBP3
MBP2
MBP1
MBP0
(R/W)
(R/W)
(―)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(―)
(0)
(0)
(0)
(0)
[bit7]NTE: ノードステータス遷移イベントビット
• 本ビットが "1" のときはノードステータス遷移がラストイベントであることを表し
ます。
• 本ビットは制御ステータスレジスタ (CSR) の NT ビットと同時に "1" にセットされ
ます。
• 本ビットはまた CSR のノードステータス遷移割込み許可ビット (NIE) のセッティン
グに無関係に "1" にセットされます。
• 本ビットに "0" を書き込むと NTE ビットは "0" にセットされます。本ビットに "1"
を書き込んでも無視されます。
• リードモディファイライト系命令が実行されたときは "1" が読み出されます。
[bit6]TCE: 送信完了イベントビット
本ビットが "1" のときは送信完了がラストイベントであることを表します。
本ビットは送信完了レジスタ (TCR) のビットのいずれか 1 つと同時に "1" にセットさ
れます。また本ビットは送信割込み許可レジスタ (TIER) のビットのセッティングに無
関係に "1" にセットされます。
"0" を書き込むと本ビットは "0" にセットされます。本ビットに "1" を書き込んでも無
視されます。
リードモディファイライト系命令が実行されたときは "1" が読み出されます。
本ビットが "1" にセットされたとき MBP3 ∼ MBP0 ビットは送信動作を完了したメッ
セージバッファの番号を示すために使用されます。
286
第 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 イベントが生ずる可能性
があります。
287
第 19 章 CAN コントローラ
19.6.4
受信および送信エラーカウンタ (RTEC)
受信および送信エラーカウンタは , CAN 仕様で定められる送信エラーカウントおよ
び受信エラーカウントを示します。このレジスタは読出し専用です。
■ 受信および送信エラーカウンタ (RTEC)
15
14
13
12
11
10
001B05H
TEC7
TEC6
TEC5
TEC4
TEC3
TEC2
TEC1
TEC0
リード/ライト:
(R)
(R)
(R)
(R)
(R)
(R)
(R)
(R)
初期値:
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
7
6
5
4
3
2
001B04H
REC7
REC6
REC5
REC4
REC3
REC2
REC1
REC0
リード/ライト:
(R)
(R)
(R)
(R)
(R)
(R)
(R)
(R)
初期値:
:リードオンリ
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
bit
アドレス:
bit
アドレス:
R
9
1
8
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)
。
288
第 19 章 CAN コントローラ
ビットタイミングレジスタ (BTR)
19.6.5
ビットタイミングレジスタ (BTR) は , プリスケーラおよびビットタイミングをセッ
トするものです。
■ ビットタイミングレジスタ (BTR)
bit
アドレス:
001B07H
15
14
―
TS2.2
リード/ライト: (―)
初期値: (―)
13
12
11
10
9
8
TS2.1
TS2.0
TS1.3
TS1.2
TS1.1
TS1.0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
4
3
2
1
0
7
6
RSJ1
RSJ0
PSC5
PSC4
PSC3
PSC2
PSC1
PSC0
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
bit
アドレス:
001B06H
初期値:
(1)
5
R/W:リード/ライト可能
- :未定義
< 注意事項 >
本レジスタはバス動作停止 (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-2
および図 19.6-3 に示されています。
289
第 19 章 CAN コントローラ
図 19.6-2 CAN 仕様におけるビット時間セグメント
ノミナルビット時間
SYNC_SEG
PROP_SEG
PHASE_SEG1
PHASE_SEG2
サンプルポイント
図 19.6-3 CAN コントローラにおけるビット時間セグメント
ノミナルビット時間
SYNC_SEG
TSEG1
TSEG2
サンプルポイント
入力クロック (CLK), 単位時間 (TQ), ビットタイム (BT), 同期セグメント (SYNC_SEG),
タイムセグメント 1 および 2(TSEG1 および TSEG2)および再同期ジャンプ幅
[(RSJ1+RSJ0)+1] 周波数分割としたときの PSC=PSC5 ∼ PSC0, TSI=TS1.3 ∼ TS1.0,
TS2=TS2.2 ∼ TS1.0 および RSJ=RSJ1 および RSJ0 の間の関係は次に示すとおりです。
TQ
BT
RSJW
=
=
=
=
=
(PSC + 1) × CLK
SYNC_SEG + TSEG1 + TSEG2
(1 + (TS1 + 1) + (TS2 + 1)) × TQ
(3 + TS1 + TS2) TQ
(RSJ + 1) × TQ
正しく動作を行うためには以下の条件を満足しなければなりません。
表 19.6-2 条件
G サフィックス付きの製品
• 1 ≦ PSC ≦ 63 の場合
TSEG1 ≧ 2TQ
TSEG1 ≧ RSJW
TSEG2 ≧ 2TQ
TSEG2 ≧ RSJW
• PSC=0 の場合
TSEG1 ≧ 5TQ
TSEG2 ≧ 2TQ
TSEG2 ≧ RSJW
< 注意事項 >
290
G サフィックスなしの製品
• 1 ≦ PSC ≦ 63 の場合
TSEG1 ≧ RSJW
TSEG2 ≧ RSJW+2TQ
• PSC=0 の場合
TSEG1 ≧ 5TQ
TSEG2 ≧ RSJW+2TQ
CAN 仕様に従ったビットタイミングの設定をするためには , 遅延時間など , ほかの
条件も考慮されなければなりません。
第 19 章 CAN コントローラ
メッセージバッファ有効レジスタ (BVALR)
19.6.6
メッセージバッファ有効レジスタ (BVALR) は , メッセージバッファ (x) の有効性を
セットし , またはそのステートを表示するものです。
■ メッセージバッファ有効レジスタ (BVALR)
15
14
13
10
9
8
BVAL15
BVAL14
BVAL13
BVAL12
BVAL11
BVAL10
BVAL9
BVAL8
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値:
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
bit
7
6
5
4
3
2
1
0
BVAL7
BVAL6
BVAL5
BVAL4
BVAL3
BVAL2
BVAL1
BVAL0
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
bit
アドレス:
アドレス:
000081H
000080H
初期値:
(0)
12
11
R/W:リード/ライト可能
0: メッセージバッファ (x) 無効
1: メッセージバッファ (x) 有効
もしメッセージバッファ(x) が無効にセットされればそれはメッセージを送信または受
信しません。
もしバッファが送信動作の間に無効にセットされればそれは送信が完了しまたはエ
ラーにより終了した後で無効 (BVALx=0) になります。
もしバッファが受信動作の間に無効にセットされればそれは直ちに無効 (BVALx=0) に
なります。もし受信メッセージがメッセージバッファ (x) にストアされていればメッ
セージバッファ (x) はメッセージをストアした後に無効となります。
< 注意事項 >
• x はメッセージバッファ番号を示します (x=0 ∼ 15)。
• ビット (BVALx) に "0" を書き込むことによりメッセージバッファ(x) を無効とした
ときにビット操作命令の実行はそのビットが "0" にセットされるまで禁止されま
す。
• CAN コントローラが CAN 通信に参加している状態(CSR:HALT ビットの読出し
値が "0" で , CAN コントローラが CAN バスの通信に参加しており送受信が可能な
状態)で , メッセージバッファを無効 (BVALR:BVAL=0) にする場合は , 「19.14
CAN コントローラの使用上の注意」に従ってください。
291
第 19 章 CAN コントローラ
IDE レジスタ (IDER)
19.6.7
本レジスタは送信 / 受信の間にメッセージバッファ (x) により使用されるフレーム
フォーマットを設定します。
■ IDE レジスタ (IDER)
15
14
13
10
9
8
IDE15
IDE14
IDE13
IDE12
IDE11
IDE10
IDE9
IDE8
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値:
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
7
6
5
4
3
1
0
IDE7
IDE6
IDE5
IDE4
IDE3
IDE2
IDE1
IDE0
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
bit
アドレス:
001B09H
bit
アドレス:
001B08H
初期値:
(X)
12
11
2
R/W:リード/ライト可能
X :不定値
0: メッセージバッファ (x) に対して標準フレームフォーマット (ID11 ビット ) が使用さ
れます。
1: メッセージバッファ (x) に対して拡張フレームフォーマット (ID29 ビット ) が使用さ
れます。
< 注意事項 >
292
• 本レジスタはメッセージバッファ (x) が無効であるとき(メッセージバッファ有
効レジスタの BVALx(BVALR)=0)に設定しなければなりません。バッファが有効
である (BVALx=1) ときに設定を行うと受信メッセージを不必要にストアする可能
性があります。
• CAN コントローラが CAN 通信に参加している状態 (CSR:HALT ビットの読出し
値が "0" で , CAN コントローラが CAN バスの通信に参加しており送受信が可能な
状態 ) で , メッセージバッファを無効 (BVALR:BVAL=0) にする場合は , 「19.14
CAN コントローラの使用上の注意」に従ってください。
第 19 章 CAN コントローラ
19.6.8
送信要求レジスタ (TREQR)
送信要求レジスタ (TREQR) は , メッセージバッファ (x) に対する送信要求を設定し
またはその状態を表示します。
■ 送信要求レジスタ (TREQR)
bit
15
14
13
12
11
10
9
8
TREQ15
TREQ14
TREQ13
TREQ12
TREQ11
TREQ10
TREQ9
TREQ8
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
6
5
4
3
1
0
TREQ7
TREQ6
TREQ5
TREQ4
TREQ3
TREQ2
TREQ1
TREQ0
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
アドレス:
アドレス:
000083H
初期値:
(0)
bit
7
000082H
初期値:
(0)
2
R/W:リード/ライト可能
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" にな
ります。
293
第 19 章 CAN コントローラ
送信 RTR レジスタ (TRTRR)
19.6.9
本レジスタはメッセージバッファ (x) による送信 RTR( リモート送信要求 ) ビットを
設定するものです。
■ 送信 RTR レジスタ (TRTRR)
15
14
13
12
11
10
9
TRTR15
TRTR14
TRTR13
TRTR12
TRTR11
TRTR10
TRTR9
TRTR8
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値:
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
bit
7
6
5
4
3
2
1
TRTR7
TRTR6
TRTR5
TRTR4
TRTR3
TRTR2
TRTR1
TRTR0
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
bit
アドレス:
アドレス:
001B0BH
001B0AH
初期値:
(0)
R/W:リード/ライト可能
0: データフレームが送信されます。
1: リモートフレームが送信されます。
294
8
0
第 19 章 CAN コントローラ
リモートフレーム受信待機レジスタ (RFWTR)
19.6.10
リモートフレーム受信待機レジスタ (RFWTR) は , データフレーム送信に対する要求
が設定された ( 送信要求レジスタ (TREQR) の TREQx が "1" であり送信 RTR レジ
スタ (TRTRR) の TRTRx が "0" である ) ときに送信を開始する条件を設定します。
0: 送信は直ちに開始します。
1: リモートフレーム受信 ( リモート要求受信レジスタ (RRTRR) が "1" になる ) まで
待機した後に送信を開始します。
■ リモートフレーム受信待機レジスタ (RFWTR)
bit
アドレス:
001B0DH
15
14
13
12
11
10
9
8
RFWT15
RFWT14
RFWT13
RFWT12
RFWT11
RFWT10
RFWT9
RFWT8
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
1
0
初期値:
bit
アドレス:
001B0CH
(X)
7
6
5
4
3
2
RFWT7
RFWT6
RFWT5
RFWT4
RFWT3
RFWT2
RFWT1
RFWT0
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
初期値:
(X)
R/W:リード/ライト可能
X :不定値
< 注意事項 >
• 送信に対する要求が設定されたときに RRTRx が既に "1" であれば送信は直ちに開
始します。
• リモートフレーム送信に対しては RFWTx を "1" にセットしないでください。
295
第 19 章 CAN コントローラ
19.6.11
送信解除レジスタ (TCANR)
TCANx に "1" が書き込まれたときに本レジスタはメッセージバッファ (x) への送信
に対する待ち状態中の要求を解除します。
解除の完了時に送信要求レジスタ (TREQR) の TREQx は "0" になります。TCANx
に "0" を書き込んでも無視されます。
これは書込み専用レジスタでありその読出し値は常に "0" です。
■ 送信解除レジスタ (TCANR)
bit
アドレス:
14
13
12
11
10
9
8
000085H
TCAN15
TCAN14
TCAN13
TCAN12
TCAN11
TCAN10
TCAN9
TCAN8
リード/ライト:
(W)
(W)
(W)
(W)
(W)
(W)
(W)
(W)
初期値:
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
1
0
bit
アドレス:
7
6
5
4
3
2
000084H
TCAN7
TCAN6
TCAN5
TCAN4
TCAN3
TCAN2
TCAN1
TCAN0
リード/ライト:
(W)
(W)
(W)
(W)
(W)
(W)
(W)
(W)
初期値:
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
W :ライトオンリ
296
15
第 19 章 CAN コントローラ
19.6.12
送信完了レジスタ (TCR)
メッセージバッファ (x) により送信の完了時に対応する TCx は "1" になります。
もし送信完了割込み許可レジスタ (TIER) の TIEx が "1" であれば割込みが生じます。
■ 送信完了レジスタ (TCR)
bit
アドレス:
000087H
15
14
13
12
11
10
9
8
TC15
TC14
TC13
TC12
TC11
TC10
TC9
TC8
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値:
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
bit
7
6
5
4
3
1
0
TC6
TC5
TC4
TC3
TC2
TC1
TC0
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値:
(0)
(0)
(0)
(0)
(0)
(0)
(0)
アドレス:
000086H
TC7
(0)
2
R/W:リード/ライト可能
● TCx=0 となる条件
• TCx に "0" を書き込む。
• 送信要求レジスタ (TREQR) の TREQx に "1" を書き込む。
送信の完了の後で TCx に "0" を書き込むとそれを "0" にセットします。TCx に "1" を書
込んでも無視されます。リードモディファイライト系命令が実行されたときは "1" が
読み出されます。
< 注意事項 >
もし送信動作の完了時の "1" への設定および "0" の書込みによるクリアが同時に生じ
たときは "1" への設定が優先します。
297
第 19 章 CAN コントローラ
19.6.13
送信割込み許可レジスタ (TIER)
本レジスタはメッセージバッファ (x) による送信割込みを許可または禁止します。送
信割込みは送信完了時 ( 送信完了レジスタ (TCR) の TCx が "1" になったとき ) に発
生します。
■ 送信割込み許可レジスタ (TIER)
15
14
13
11
10
9
TIE15
TIE14
TIE13
TIE12
TIE11
TIE10
TIE9
TIE8
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
7
6
5
1
0
TIE7
TIE6
TIE5
TIE4
TIE3
TIE2
TIE1
TIE0
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値:
(0)
(0)
(0)
(0)
(0)
(0)
(0)
bit
アドレス:
001B0FH
初期値:
bit
アドレス:
001B0EH
(0)
R/W:リード/ライト可能
0: 送信割込みは禁止されます。
1: 送信割込みは許可されます。
298
12
4
3
2
8
第 19 章 CAN コントローラ
19.6.14
受信完了レジスタ (RCR)
メッセージバッファ (x) への受信メッセージのストアの完了時に RCx は "1" になり
ます。
もし受信完了割込み許可レジスタの RIEx が "1" であれば割込みが生じます。
■ 受信完了レジスタ (RCR)
15
14
13
12
11
10
9
8
RC15
RC14
RC13
RC12
RC11
RC10
RC9
RC8
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値:
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
7
6
5
1
0
RC7
RC6
RC5
RC4
RC3
RC2
RC1
RC0
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値:
(0)
(0)
(0)
(0)
(0)
(0)
(0)
bit
アドレス:
000089H
bit
アドレス:
000088H
(0)
4
3
2
R/W:リード/ライト可能
● RCx=0 となる条件
RCx に "0" を書き込む。
受信メッセージの処理の完了の後で RCx に "0" を書き込んで "0" にセットしてくださ
い。RCx に "1" を書き込んでも無視されます。
リードモディファイライト系命令が実行されたときは "1" が読み出されます。
< 注意事項 >
もし受信動作の完了時の "1" への設定および "0" の書込みによるクリアが同時に生じ
たときは , "1" への設定が優先します。
299
第 19 章 CAN コントローラ
19.6.15
リモート要求受信レジスタ (RRTRR)
受信されたリモートフレームがメッセージバッファ (x) 内にストアされると ,
RRTRx は (RCx 設定が "1" になると同時に )"1" になります。
■ リモート要求受信レジスタ (RRTRR)
14
13
12
11
RRTR15
RRTR14
RRTR13
RRTR12
RRTR11
RRTR10
RRTR9
RRTR8
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値:
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
bit
7
6
5
4
3
2
1
RRTR7
RRTR6
RRTR5
RRTR4
RRTR3
RRTR2
RRTR1
RRTR0
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
bit
アドレス:
アドレス:
00008BH
00008AH
初期値:
15
(0)
10
9
8
0
R/W:リード/ライト可能
● RRTRx=0 となる条件
• RRTRx に "0" を書き込む。
• 受信されたデータフレームがメッセージバッファ(x) にストアされた後 (RCx 設定が
"1" になるのと同時 )。
• メッセージバッファ (x) による送信が完了した後 ( 送信完了レジスタ (TCR) の TCx
は 1)。
RRTRx に "1" を書き込んでも無視されます。
リードモディファイライト系命令が実行されたときは "1" が読み出されます。
< 注意事項 >
300
もし "1" への設定と "0" の書込みによるクリアが同時に生じたときは "1" への設定が
優先します。
第 19 章 CAN コントローラ
19.6.16
受信オーバランレジスタ (ROVRR)
もし , メッセージバッファ (x) 内への受信メッセージのストア完了時に , 受信完了レ
ジスタ (RCR) がすでに "1" であれば , ROVRx は "1" になり受信がオーバランしたこ
とを表します。
■ 受信オーバランレジスタ (ROVRR)
bit
アドレス:
00008DH
15
14
13
12
11
10
9
8
ROVR15
ROVR14
ROVR13
ROVR12
ROVR11
ROVR10
ROVR9
ROVR8
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値:
(0)
(0)
(0)
(0)
(0)
(0)
(0)
4
3
2
1
bit
アドレス:
00008CH
(0)
7
6
5
0
ROVR7
ROVR6
ROVR5
ROVR4
ROVR3
ROVR2
ROVR1
ROVR0
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
初期値:
(0)
R/W:リード/ライト可能
ROVRx に "0" を書き込むと ROVRx=0 になります。ROVRx に "1" を書込みしても無視
されます。受信がオーバランしたことをチェックした後で ROVRx に "0" を書き込むと
それを "0" に設定します。
リードモディファイライト系命令が実行されたときは "1" が読み出されます。
< 注意事項 >
もし "1" への設定と "0" の書込みによるクリアが同時に生じたときは "1" への設定が
優先します。
301
第 19 章 CAN コントローラ
19.6.17
受信割込み許可レジスタ (RIER)
本レジスタはメッセージバッファ (x) による受信割込みを許可または禁止します。
受信割込みは受信完了時 ( 受信完了レジスタ (RCR) の RCx が "1" であるとき ) に発
生します。
■ 受信割込み許可レジスタ (RIER)
15
14
13
12
11
10
9
RIE15
RIE14
RIE13
RIE12
RIE11
RIE10
RIE9
RIE8
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値:
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
bit
7
6
5
4
3
2
1
0
RIE7
RIE6
RIE5
RIE4
RIE3
RIE2
RIE1
RIE0
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値:
(0)
(0)
(0)
(0)
(0)
(0)
(0)
bit
アドレス: 00008FH
アドレス: 00008EH
(0)
R/W:リード/ライト可能
0: 受信割込みは禁止されます。
1: 受信割込みは許可されます。
302
8
第 19 章 CAN コントローラ
19.6.18
アクセプタンスマスク選択レジスタ (AMSR)
本レジスタは受信メッセージ ID とメッセージバッファ (x)ID の比較に対するマスク
( アクセプタンスマスク ) を選択します。
■ アクセプタンスマスク選択レジスタ (AMSR)
BYTE0
6
5
AMS3.1
AMS3.0
AMS2.1
AMS2.0
AMS1.1
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
15
14
AMS7.1
リード/ライト: (R/W)
アドレス:
7
bit
001B10H
初期値:
BYTE1
アドレス:
bit
001B11H
初期値:
BYTE2
アドレス:
(X)
AMS1.0
AMS0.1
AMS0.0
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
13
12
11
10
9
8
AMS7.0
AMS6.1
AMS6.0
AMS5.1
AMS5.0
AMS4.1
AMS4.0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
2
1
0
AMS11.1
AMS11.0
AMS10.1
AMS10.0
AMS9.1
AMS9.0
AMS8.1
AMS8.0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
11
10
9
8
(X)
15
bit
001B13H
0
5
初期値:
アドレス:
1
AMS15.1
リード/ライト: (R/W)
初期値:
(X)
14
4
13
3
2
6
リード/ライト: (R/W)
BYTE3
3
7
bit
001B12H
4
12
AMS15.0
AMS14.1
AMS14.0
AMS13.1
AMS13.0
AMS12.1
AMS12.0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
R/W:リード/ライト可能
X :不定値
表 19.6-3 アクセプタンスマスク選択レジスタ (AMSR)
AMSx.1
AMSx.0
0
0
フルビット比較
0
1
フルビットマスク
1
0
アクセプタンスマスクレジスタ 0(AMR0)
1
1
アクセプタンスマスクレジスタ 1(AMR1)
アクセプタンスマスク
303
第 19 章 CAN コントローラ
< 注意事項 >
304
• AMSx.1 および AMSx.0 はメッセージバッファ(x) が無効である ( メッセージバッ
ファ有効レジスタ (BVALR) の BVALx が "0" である ) ときに設定しなければなりま
せん。バッファが有効 (BVALx=1) なときに設定を行うと不要な受信メッセージが
ストアされる可能性があります。
• CAN コントローラが CAN 通信に参加している状態 (CSR:HALT ビットの読出し
値が "0" で , CAN コントローラが CAN バスの通信に参加しており送受信が可能な
状態 ) で , メッセージバッファを無効 (BVALR:BVAL=0) にする場合は , 「19.14
CAN コントローラの使用上の注意」に従ってください。
第 19 章 CAN コントローラ
19.6.19
アクセプタンスマスクレジスタ 0 および 1
(AMR0/AMR1)
AMR0 および AMR1 の 2 つのアクセプタンスマスクレジスタがありますが両者とも
に標準フレームフォーマットまたは拡張フレームフォーマットのいずれかで利用で
きます。
AM28 ∼ AM18(11 ビット ) は標準フレームフォーマットにおけるアクセプタンスマ
スクに使用され AM28 ∼ AM0(29 ビット ) は拡張フォーマットでアクセプタンスマ
スクに使用されます。
■ アクセプタンスマスクレジスタ 0 および 1(AMR0/AMR1)
AMR0 BYTE0
アドレス:
bit
001B14H
7
6
5
4
3
2
1
0
AM28
AM27
AM26
AM25
AM24
AM23
AM22
AM21
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
9
8
初期値:
AMR0 BYTE1
(X)
15
14
13
12
11
10
AM20
AM19
AM18
AM17
AM16
AM15
AM14
AM13
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
1
0
アドレス:
bit
001B15H
初期値:
(X)
(X)
(X)
(X)
(X)
bit
7
6
5
4
3
AM12
AM11
AM10
AM9
AM8
AM7
AM6
AM5
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
AMR0 BYTE2
アドレス:
001B16H
2
初期値:
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
bit
15
14
13
12
11
10
9
8
AM4
AM3
AM2
AM1
AM0
―
―
―
(R/W)
(R/W)
(R/W)
(R/W)
(―)
(―)
(―)
(X)
(X)
(X)
(X)
(X)
(―)
(―)
(―)
7
6
5
1
0
AM28
AM27
AM26
AM25
AM24
AM23
AM22
AM21
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
15
14
13
12
11
10
9
8
AMR0 BYTE3
アドレス:
001B17H
リード/ライト: (R/W)
初期値:
AMR1 BYTE0
アドレス:
bit
001B18H
初期値:
AMR1 BYTE1
アドレス:
bit
001B19H
4
3
2
AM20
AM19
AM18
AM17
AM16
AM15
AM14
AM13
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
初期値:
(X)
R/W:リード/ライト可能
X :不定値
- :未定義
( 続く )
305
第 19 章 CAN コントローラ
( 続き )
AMR1 BYTE2
7
6
5
AM12
AM11
AM10
AM9
AM8
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
初期値:
(X)
(X)
(X)
15
14
13
AM4
AM3
リード/ライト: (R/W)
初期値:
アドレス:
bit
001B1AH
AMR1 BYTE3
アドレス:
bit
001B1BH
(X)
(X)
4
3
2
1
0
AM7
AM6
AM5
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
12
11
10
9
8
AM2
AM1
AM0
―
―
―
(R/W)
(R/W)
(R/W)
(R/W)
(―)
(―)
(―)
(X)
(X)
(X)
(X)
(―)
(―)
(―)
R/W:リード/ライト可能
X :不定値
- :未定義
● 0: コンペア
本ビットに対応するアクセプタンスコード ( 受信メッセージ ID と比較する為の ID レ
ジスタ IDRx) を受信メッセージ ID のビットと比較します。マッチしなければメッセー
ジは受信されません。
● 1: マスク
本ビットに対応するアクセプタンスコード ID レジスタ (IDRx) をマスクします。受信
メッセージ ID のビットとのコンペアは行われません。
< 注意事項 >
306
• AMR0 および AMR1 は AMR0 および AMR1 を選択するメッセージバッファ (x)
のすべてが無効(メッセージバッファ有効レジスタ (BVALR) の BVALx が "0")
であるときに設定しなければなりません。バッファが有効 (BVALx=1) であると
きに設定を行うと不必要な受信メッセージがストアされる可能性があります。
• CAN コントローラが CAN 通信に参加している状態(CSR:HALT ビットの読出
し値が "0" で , CAN コントローラが CAN バスの通信に参加しており送受信が可
能な状態)で , メッセージバッファを無効 (BVALR:BVAL=0) にする場合は ,
「19.14 CAN コントローラの使用上の注意」に従ってください。
第 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.9 CAN コントローラの受信フローチャート」を参照
してください )。
● 同一のアクセプタンスフィルタが 1 つ以上のメッセージバッファ内に設定されたときに
メッセージバッファはマルチレベルメッセージバッファとして使用することができます。
これにより受信時間に対する余裕が与えられます (0 を参照してください )。
< 注意事項 >
• メッセージバッファおよび汎用 RAM 領域への書込み動作は , ワード単位でイーブ
ンアドレスに対して行わなければなりません。バイト単位で書込み動作を行うと
下位バイトへの書込み時に上位バイトに不定データを書き込んでしまいます。
• メッセージバッファ有効レジスタ (BVALR) の BVALx ビットが "0"(無効)である
ときにメッセージバッファ x(IDRx, DLCRx および DTRx)は汎用 RAM として使
用することができます。ただし , CAN コントローラが送受信動作中は , メッセー
ジバッファを使用しますので , CPU アクセスが最大で 64 マシンサイクル待たさ
れることがあります。これは汎用 RAM 領域(アドレス 001A00H ∼ 001A1FH)に
ついても同様です。
307
第 19 章 CAN コントローラ
ID レジスタ x(x=0 ∼ 15)(IDRx)
19.6.21
ID レジスタ x(x=0 ∼ 15)(IDRx) は , メッセージバッファ (x) に対する ID レジスタで
す。
■ ID レジスタ x(x=0 ∼ 15)(IDRx)
BYTE0
アドレス:
7
6
5
3
2
ID28
ID27
ID26
ID25
ID24
ID23
ID22
ID21
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
15
14
13
12
11
10
9
ID20
ID19
ID18
ID17
ID16
ID15
ID14
ID13
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
6
5
4
3
2
1
0
ID12
ID11
ID10
ID9
ID8
ID7
ID6
ID5
リード/ライト: (R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値:
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
15
14
13
12
11
10
9
8
ID4
ID3
ID2
ID1
ID0
―
―
―
(R/W)
(R/W)
(R/W)
(R/W)
(―)
(―)
(―)
(X)
(X)
(X)
(X)
(―)
(―)
(―)
bit
001A20H+4x
初期値:
BYTE1
アドレス:
bit
001A21H+4x
初期値:
(X)
bit
7
BYTE2
アドレス:
001A22H+4x
BYTE3
アドレス:
bit
001A23H+4x
リード/ライト: (R/W)
初期値:
R/W:リード/ライト可能
X :不定値
- :未定義
(X)
4
1
0
8
標準フレームフォーマット (IDE レジスタ (IDER) の IDEx=0) でメッセージバッファ(x)
を使用しているときは ID28 ∼ ID18 の 11 ビットを使用してください。拡張フレーム
フォーマット (IDEx=1) でバッファを使用しているときは ID28 ∼ ID0 の 29 ビットを使
用してください。
ID28 ∼ ID0 の機能は次のとおりです。
● アクセプタンスコード設定
受信メッセージ ID との比較用の ID
● 送信メッセージ ID の設定
● 注意
標準フレームフォーマットでは ID28 ∼ ID22 のビットのすべてに "1" をセットするこ
とは禁止されています。
308
第 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 コントローラの使用上の注意」に従ってください。
309
第 19 章 CAN コントローラ
DLC レジスタ x(x=0 ∼ 15)(DLCRx)
19.6.22
これはメッセージバッファ x に対する DLC をストアします。
■ DLC レジスタ x(x=0 ∼ 15)(DLCRx)
6
5
4
1
0
―
―
―
―
DLC3
DLC2
DLC1
DLC0
リード/ライト:
(―)
(―)
(―)
(―)
(R/W)
(R/W)
(R/W)
(R/W)
初期値:
(―)
(―)
(―)
(―)
(X)
(X)
(X)
(X)
bit
アドレス:
001A60H+2x
7
3
2
R/W:リード/ライト可能
X :不定値
- :未定義
● 送信
• データフレームが送信する(送信 RTR レジスタ (TRTRR) の TRTRx が "0")ときに
送信メッセージのデータ長(バイト単位)を設定します。
• リモートフレームが送信する (TRTRx=1) ときに要求メッセージのデータ長(バイト
単位)を設定します。
< 注意事項 >
0000 ∼ 1000(0 ∼ 8 バイト)以外の設定は禁止されています。
● 受信
• データフレームが受信された(リモートフレーム要求受信レジスタ
(RRTRR)
の
RRTRx が "0")ときに受信メッセージのデータ長(バイト単位)を記憶します。
• リモートフレームが受信された (RRTRx=1) ときに要求メッセージのデータ長(バイ
ト単位)を記憶します。
< 注意事項 >
310
本レジスタへの書込み動作はワード単位で行わなければなりません。バイト単位で
書込み動作を行うと下位バイトへの書込み時に上位バイトに不定データを書き込ん
でしまいます。上位バイトへの書込みは無視されます。
第 19 章 CAN コントローラ
データレジスタ x(x=0 ∼ 15)(DTRx)
19.6.23
データレジスタ x(x=0 ∼ 15)(DTRx) は , メッセージバッファ (x) に対するデータレ
ジスタです。
本レジスタはデータフレームの送信および受信のみ使用されるものでありリモート
フレームの送信および受信には使用されません。
■ データレジスタ x(x=0 ∼ 15)(DTRx)
BYTE0
bit
アドレス: 001A80H+8x
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
15
14
13
12
11
10
9
8
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
9
8
リード/ライト: (R/W)
初期値:
BYTE1
アドレス:
bit
001A81H+8x
リード/ライト: (R/W)
初期値:
BYTE2
アドレス:
bit
001A82H+8x
リード/ライト: (R/W)
初期値:
(X)
(X)
(X)
(X)
(X)
bit
15
14
13
12
11
BYTE3
アドレス:
001A83H+8x
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
15
14
13
12
11
10
9
8
リード/ライト: (R/W)
初期値:
BYTE4
アドレス:
bit
001A84H+8x
リード/ライト: (R/W)
初期値:
BYTE5
アドレス:
bit
001A85H+8x
D7
リード/ライト: (R/W)
初期値:
10
(X)
D6
D5
D4
D3
D2
D1
D0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
R/W:リード/ライト可能
X :不定値
( 続く )
311
第 19 章 CAN コントローラ
( 続き )
BYTE6
アドレス:
bit
001A86H+8x
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
15
14
13
12
11
10
9
8
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
リード/ライト: (R/W)
初期値:
BYTE7
アドレス:
bit
001A87H+8x
リード/ライト: (R/W)
初期値:
(X)
R/W:リード/ライト可能
X :不定値
● 送信メッセージデータ(0 ∼ 8 バイトのいずれか)の設定。
データは MSB で開始して BYTE0, BYTE1, ...BYTE7 の順で送信されます。
● 受信メッセージデータ
データは MSB で開始して BYTE0, BYTE1, ...BYTE7 の順で記憶されます。
受信メッセージデータが 8 バイトより少なくてもデータが記憶されるデータレジスタ
(DTRx) の残りのバイトは不定となります。
< 注意事項 >
312
本レジスタへの書込み動作はワード単位で行わなければなりません。バイト単位で
書込み動作を行うと下位バイトへの書込み時に上位バイトに不定データを書き込ん
でしまいます。上位バイトへの書込みは無視されます。
第 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)。
313
第 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
1
RRTRx := 0
TREQx := 0
TCx := 1
TIEx?
TREQx:=0
1
0
送信完了割込みが生ずる
送信の終了
314
0
TCANx?
第 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 に記憶されます。
315
第 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" になります。
この結果 , 送信を実行しなかったメッセージバッファへのリモートフレームの送信に
対する要求は解除されます。
< 注意事項 >
316
• データフレーム送信に対する要求は解除されません。
• 送信要求の解除に関しては 「19.7 CAN コントローラの送信」を参照してくださ
い。
第 19 章 CAN コントローラ
■ 受信完了
受信完了レジスタ (RCR) の RCx は受信メッセージを記憶した後に "1" になります。
もし受信割込みが許可されていれば ( 受信割込み許可レジスタ (RIER) の RIEx が "1")
割込みが生じます。
< 注意事項 >
この CAN コントローラはそれ自身が送信したメッセージを受信することはありませ
ん。
317
第 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
受信割込みが生じる
受信の終了
318
第 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)
のときに設定を行うと不必要な受信メッセージがストアされる可能性があります。
319
第 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) をチェックしてください。
320
第 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" に設定してください。
< 注意事項 >
もし RFWTx が "1" に設定されるとリモートフレーム送信を行うことはできません。
321
第 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 が受信したリ
モートフレームの値になることに注意してください。
322
第 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 ならば処理された受信メッセージは有効です。CRx に "0" を書き込んでそれ
を "0" に設定し(受信完了割込みも解除されます)て受信を終了します。
ROVRx=1 ならば受信オーバランが生じ , 処理された受信メッセージに新たな受信メッ
セージが上書きされている可能性があります。この場合には ROVRx ビットに "0" を書
き込んでそれを "0" に設定した後で受信メッセージを再処理しなければなりません。図
19.12-1 に , 受信割込み処理の一例を示します。
図 19.12-1 受信割込み処理の例
RCx=1で割込み
受信メッセージ読取り
A:=ROVRx
ROVRx:=0
A = 0?
NO
YES
RCx:=0
終了
323
第 19 章 CAN コントローラ
19.13
マルチレベルメッセージバッファの構成の決定
もし受信が頻繁に行われる場合 , または , 不特定多数のメッセージを受信するのであ
れば , すなわちメッセージを処理する時間が不十分であれば , 1 つ以上のメッセージ
バッファを組合せてマルチレベルメッセージバッファとすることにより CPU による
受信メッセージの処理に対する余裕を与えてください。
■ マルチレベルメッセージバッファの構成の決定
マルチレベルメッセージバッファを用意するには組合せられた各メッセージバッファ
に同じアクセプタンスフィルタを設定しなければなりません。
もしアクセプタンスマスク選択レジスタ (AMSR) の各ビットが全ビット比較 ((AMSx.1,
AMSx.0)=(0, 0)) に設定されていればメッセージバッファをマルチレベルメッセージ構
成とすることはできません。これは全ビット比較では受信完了レジスタ (RCR) の RCx
ビットの値の如何に関わらず受信メッセージが記憶されることから , 1 つ以上のメッ
セージバッファに対して全ビット比較および同一アクセプタンスコード (ID レジスタ
(IDRx)) が指定されたとしても受信メッセージが常に下位番号の ( 優先度の低い ) メッ
セージバッファに記憶されるからです。このため全ビット比較および同一アクセプタ
ンスコードを 1 つ以上のメッセージバッファに指定してはなりません。
図 19.13-1 は , マルチレベルメッセージバッファの動作例を示しています。
324
第 19 章 CAN コントローラ
図 19.13-1 マルチレベルメッセージバッファの動作例
初期化
AMS15, AMS14, AMS13
AMSR
AMR0選択
. . .
10 10 10
AM28~AM18
AMS0
0000
ID28~ID18
メッセージバッファ 13
1111
111
0101
0000
000
RC15, RC14, RC13
IDE
. . .
0
. . .
RCR
0
0
0
. . .
ROVRR
0
0
0
. . .
メッセージバッファ 14
0101
0000
000
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 に受信されます。
325
第 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" に設定してください。
326
第 19 章 CAN コントローラ
● 送信メッセージを構成する場合の操作
送信メッセージの構成を行うために , ID レジスタ (IDR) や IDE レジスタ (IDER) の設定
を行う場合は, メッセージバッファ有効レジスタのBVALビットによりメッセージバッ
ファを無効 (BVALR:BVAL=0) にする必要があります。
送信要求レジスタ (TREQR) の TREQ ビットが "0" であることを確認するか , 送信完了
レジスタ (TCR) の TC ビットが "1" であることを確認してから BVAL ビットを無効
(BVALR:BVAL=0) にしてください。
327
第 19 章 CAN コントローラ
328
第 20 章
ステッピングモータ
コントローラ
ステッピングモータコントローラの機能と動作に
ついて説明します。
20.1 ステッピングモータコントローラの概要
20.2 ステッピングモータコントローラのレジスタ
329
第 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コンペアレジスタ
330
出力許可
BS
PWM2選択レジスタ
第 20 章 ステッピングモータ コントローラ
20.2
ステッピングモータコントローラのレジスタ
ステッピングモータコントローラのレジスタには , 次の 5 種類があります。
• PWM 制御 0 レジスタ
• PWM1 コンペア 0 レジスタ
• PWM2 コンペア 0 レジスタ
• PWM1 選択レジスタ
• PWM2 選択レジスタ
■ ステッピングモータコントローラのレジスタ
PWM制御0レジスタ
アドレス: 00005EH
7
6
5
4
3
OE2
OE1
P1
P0
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
7
6
D7
(R/W)
(X)
bit
リード/ライト
初期値
2
1
0
CE
―
―
予約
(R/W)
(0)
(R/W)
(0)
―
―
―
―
(R/W)
(0)
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)
PWC0
PWM1コンペア0レジスタ
アドレス:
bit
000070H
リード/ライト
初期値
PWM2コンペア0レジスタ
アドレス: 000071H
bit
リード/ライト
初期値
14
13
12
11
10
9
8
D7
15
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)
PWC10
PWC20
PWM1選択レジスタ
アドレス:
bit
000072H
リード/ライト
初期値
PWM2選択レジスタ
アドレス: 000073H
リード/ライト
初期値
bit
7
6
5
4
3
2
1
0
―
―
P2
P1
P0
M2
M1
M0
―
―
―
―
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
15
14
―
BS
―
―
(R/W)
(0)
13
12
11
10
9
8
P2
P1
P0
M2
M1
M0
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
PWS10
PWS20
R/W:リード/ライト可能
X :不定値
- :未定義
331
第 20 章 ステッピングモータ コントローラ
20.2.1
PWM 制御 0 レジスタ
PWM 制御 0 レジスタは , ステッピングモータコントローラの起動・停止 , 割込みの
制御や外部出力端子などの設定を行います。
■ PWM 制御 0 レジスタ
PWM制御0レジスタ
アドレス: 00005EH
bit
リード/ライト
初期値
6
5
4
3
2
1
OE2
7
OE1
P1
P0
CE
―
―
予約
0
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
―
―
―
―
(R/W)
(0)
PWC0
R/W:リード/ライト可能
X :不定値
[bit7]OE2: 出力許可ビット
本ビットが "1" にセットされたとき外部端子は PWM2P0 および PWM2M0 として割り
当てられます。その他の場合にはそれらは汎用 I/O として使用することができます。
[bit6]OE1: 出力許可ビット
本ビットが "1" にセットされたとき外部端子は PWM1P0 および PWM1M0 として割り
当てられます。その他の場合にはそれらは汎用 I/O として使用することができます。
[bit5, bit4]P1, P0: 動作クロック選択ビット
本ビット群は PWM パルス発生器に対するクロック入力信号を指定します。
表 20.2-1 クロック入力
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" を書き込んできださい。
332
第 20 章 ステッピングモータ コントローラ
PWM1, PWM2 コンペアレジスタ
20.2.2
PWM1, PWM2 の 2 つの 8 ビットコンペアレジスタの内容は , PWM パルスの幅を決
定するものです。記憶された "00H" の値は PWM のデューティが 0% であることを
表し , "FFH" は 99.6% のデューティを表します。
■ PWM1, PWM2 コンペアレジスタ
PWM1 , PWM2 コンペアレジスタは , 任意の時点でアクセスすることができますが , 変
更された値は PWM2 選択レジスタの BS ビットが "1" にセットされた後における現在
の PWM サイクルの終わりにパルス幅に反映されます。
PWM1コンペア0レジスタ
アドレス:
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)
bit
000070H
リード/ライト
初期値
PWM2コンペア0レジスタ
アドレス: 000071H
リード/ライト
初期値
14
13
11
10
9
8
D7
15
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)
bit
12
PWC10
PWC20
R/W:リード/ライト可能
X :不定値
1つのPWMサイクル
256入力クロックサイクル
レジスタ値
00H
80H
128入力クロックサイクル
FFH
255入力クロックサイクル
333
第 20 章 ステッピングモータ コントローラ
PWM1, PWM2 選択レジスタ
20.2.3
PWM1, PWM2 選択レジスタは , ステッピングモータコントローラの外部端子の出力
が "0", "1", PWM パルス , ハイインピーダンスかを選択します。
■ PWM1, PWM2 選択レジスタ
PWM1選択レジスタ
アドレス:
bit
000072H
リード/ライト
初期値
PWM2選択レジスタ
アドレス: 000073H
リード/ライト
初期値
R/W:リード/ライト可能
- :未定義
bit
7
6
5
4
3
―
―
P2
P1
―
―
―
―
(R/W)
(0)
(R/W)
(0)
13
2
1
0
P0
M2
M1
M0
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
15
14
12
11
10
9
8
―
BS
P2
P1
P0
M2
M1
M0
―
―
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
PWS10
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 における出力信号を選択するものです。
[bit2 ∼ bit0]M2 ∼ M0: 出力選択ビット
本ビット群は PWM1M0 における出力信号を選択するものです。
次の表は出力レベルと選択ビットの間の関係を示すものです。
P2
0
0
0
1
334
P1
0
0
1
X
P0
0
1
X
X
PWMnP0
L
H
PWM パルス
高インピーダンス
M2
0
0
0
1
M1
0
0
1
X
M0
0
1
X
X
PWMnM0
L
H
PWM パルス
高インピーダンス
第 21 章
アドレス一致検出機能
アドレス一致検出の機能と動作について説明しま
す。
21.1 アドレス一致検出機能の概要
21.2 アドレス一致検出機能のレジスタ
21.3 アドレス一致検出機能の動作
21.4 アドレス一致検出機能の使用例
335
第 21 章 アドレス一致検出機能
21.1
アドレス一致検出機能の概要
アドレスが , アドレス検出レジスタに設定された値と等しい場合に , CPU に読み込
まれる命令コードを強制的に INT9 命令のコード (01H) に置き換えます。その結果 ,
CPU が設定された命令を実行する時に , INT9 命令を実行します。INT9 割込みルー
チンで処理を行うことにより , アドレス一致検出機能を実現することができます。
アドレス検出レジスタは 2 本用意されており , 各レジスタごとにコンペア許可ビッ
トがあります。アドレス検出レジスタに設定された値とアドレスが一致して , かつ
割込み許可ビットが "1" の場合 , CPU に読み込まれる命令コードを強制的に INT9
命令のコードに置き換えます。
■ アドレス一致検出機能のブロックダイヤグラム
図 21.1-1 アドレス一致検出機能のブロックダイヤグラム
アドレス検出レジスタ
許可ビット
F2MC-16LXバス
336
比較
アドレスラッチ
INT9
命令
F2MC-16LX
CPUコア
第 21 章 アドレス一致検出機能
21.2
アドレス一致検出機能のレジスタ
アドレス一致検出機能には , 次の 2 種類のレジスタがあります。
• プログラムアドレス検出レジスタ (PADR0/PADR1)
• プログラムアドレス検出コントロール / ステータスレジスタ (PACSR)
■ プログラムアドレス検出レジスタ (PADR0/PADR1)
プログラムアドレス検出レジスタ (PADR0/PADR1:Program Address Detect Register 0/1)
は , 各レジスタに書き込まれた値と , アドレスを比較します。一致した場合は , ADCSR
の対応する割込み許可ビットが "1" の場合 , CPU に対して INT9 命令の発生を要求しま
す。
対応する割込み許可ビットが "0" の場合は , 一致していても何も行いません。
図 21.2-1 プログラムアドレス検出レジスタ (PADR0/PADR1)
プログラムアドレス検出レジスタ
byte
byte
byte
アクセス
初期値
PADR0 1FF2H/1FF1H/1FF0H
R/W
不定
PADR1 1FF5H/1FF4H/1FF3H
R/W
不定
図 21.2-1 に , プログラムアドレス検出レジスタ (PADR0/PADR1) と PACSR との対応を
示します。
表 21.2-1 PADR0/PADR1 レジスタと PACSR との対応
アドレス検出レジスタ
割込み許可ビット
PADR0
AD0E
PADR1
AD1E
■ プログラムアドレス検出コントロール / ステータスレジスタ (PACSR)
プログラムアドレス検出コントロール / ステータスレジスタ (PACSR:Program Address
detect Control Status Register) は , アドレス検出機能の動作を制御します。
図 21.2-2 プログラムアドレス検出コントロール / ステータスレジスタ (PACSR)
プログラムアドレス検出コントロール/ステータスレジスタ
bit 7
6
5
アドレス:009EH 予約
リード/ライト
初期値
予約
予約
4
3
2
1
0
予約
AD1E
予約
AD0E
予約
(R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0) (0)
(0) (0)
PACSR
(-) (R/W) (R/W)
(0) (0)
(0)
R/W:リード/ライト可能
[bit7 ∼ bit4] 予約 : 予約ビット
bit7∼bit4は, 予約ビットです。PACSRを設定するときは, 必ず"0"を設定してください。
337
第 21 章 アドレス一致検出機能
[bit3]AD1E(Address Detect register 1 Enable)
AD1E は , PADR1 の動作許可ビットです。
このビットが "1" のとき PADR1 レジスタとアドレスの比較を行い , 一致した場合に
CPU は INT9 命令を実行します。
[bit2] 予約 : 予約ビット
bit2 は , 予約ビットです。PACSR を設定する時は , 必ず "0" を設定してください。
[bit1]AD0E(Address Detect register 0 Enable)
AD0E は , PADR0 の動作許可ビットです。
このビットが "1" のとき PADR0 レジスタとアドレスの比較を行い , 一致した場合に
CPU は INT9 命令を実行します。
[bit0] 予約 : 予約ビット
bit0 は , 予約ビットです。PACSR を設定するときは , 必ず "0" を設定してください。
338
第 21 章 アドレス一致検出機能
21.3
アドレス一致検出機能の動作
プログラムカウンタがアドレス一致検出レジスタと同じアドレスを指示している場
合は , INT9 命令を実行します。INT9 命令ルーチンを処理することによってアドレス
一致検出機能を実現することができます。
■ アドレス一致検出機能の動作
アドレス検出レジスタは2本用意されており, 各レジスタごとにコンペア許可ビットが
あります。アドレス検出レジスタに設定された値とプログラムカウンタの値が一致し
て , かつコンペア許可ビットが "1" の場合 , CPU は INT9 命令を実行します。
< 注意事項 >
アドレス検出レジスタとプログラムカウンタの値が一致した場合は , 内部データバ
スの内容が強制的に "01H" に変更されるので , INT9 命令を実行することになります。
アドレス検出レジスタの内容を変更する前には , コンペア許可ビットを必ず "0" にし
てください。コンペア許可ビットが "1" になっている間に変更すると , 誤動作を引き
起こす可能性があります。
339
第 21 章 アドレス一致検出機能
21.4
アドレス一致検出機能の使用例
図 21.4-1 に , アドレス一致検出機能のシステム構成例を , 表 21.4-1 に , E2PROM
メモリマップを示します。
■ アドレス一致検出機能のシステム構成例
図 21.4-1 アドレス一致検出機能のシステム構成例
E2PROM
MCU
F2MC-16LX
pull up 抵抗
SIN
○
コネクタ(UART)
■ E2PROM メモリマップ
表 21.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 に書き込みます。
340
第 21 章 アドレス一致検出機能
● リセットシーケンス
MCU はリセット後 E2PROM の値を読み出します。パッチプログラムのバイト数が "0"
でなかった場合は , パッチプログラムの本体が E2PROM から読み出され RAM に書き
込まれます。次に , MCU により PADR0, または PADR1 どちらか一方でパッチアドレ
スをセットし , コンペア許可ビットをセットします。再配置可能はパッチプログラムが
望まれる場合は , RAM 領域に対してパッチ済みプログラムの最初のアドレスを書き込
むことができます。この場合 , INT9 ルーチンがこのユーザ定義の RAM 領域を参照し ,
パッチ済みプログラムへ向けてジャンプします。
● INT9 命令
割込みルーチンでは , スタックプログラムのカウンタの値を調べることにより , 割込み
が発生するアドレスを知ることができます。割込みの最中にスタックへ押し込まれた
情報は破棄されます。
■ プログラムパッチ処理例
図 21.4-2 プログラムパッチ処理例
FFFFFFH
③
異常プログラム
ROM
①
P
C
∥
発
生
ア
ド
レ
ス
外付E2PROM
プログラムパッチ用
レジスタセット
○
○
○
プログラムバイト数
割込み発生アドレス
修正プログラム
UARTを使用してデータ転送
RAM
修正プログラム
②
000000H
341
第 21 章 アドレス一致検出機能
■ プログラムパッチ処理フロー図
図 21.4-3 プログラムパッチ処理フロー図
リセット
E2PROMの0000Hを読み込む
YES
INT9
0000H (E2PROM) =0
NO
パッチプログラムへ
JMP 000400H
アドレスを読み込む
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
ROM
FFFFH
0090H
FF0050H
FE0000H
パッチプログラム
0010H
001100H
プログラムアドレス 下位:00
0003H
0002H
0001H
0000H
342
異常プログラム
FF0000H
E2PROM
プログラムアドレス 中位:00
プログラムアドレス 上位:FF
パッチプログラムバイト 数:80
スタック領域
RAM領域
RAM
000480H
パッチプログラム
000400H
000100H
000000H
RAM/レジスタ領域
I/O 領域
第 22 章
ROM ミラー機能選択
モジュール
ROM ミラー機能選択モジュールについて説明しま
す。
22.1 ROM ミラー機能選択モジュールの概要
22.2 ROM ミラー機能選択レジスタ (ROMM)
343
第 22 章 ROM ミラー機能選択 モジュール
22.1
ROM ミラー機能選択モジュールの概要
ROM ミラー機能選択モジュールは , ROM が配置されている FF バンクが 00 バンク
でみることをレジスタの設定で選択することができます。
■ ROM ミラー機能選択モジュールのブロックダイヤグラム
図 22.1-1 ROM ミラー機能選択モジュールのブロック
F2MC-16LXバス
ROMミラー機能選択レジスタ
アドレス領域
FFバンク
00バンク
ROM
344
第 22 章 ROM ミラー機能選択 モジュール
22.2
ROM ミラー機能選択レジスタ (ROMM)
ROM ミラー機能選択レジスタ (ROMM) は , アドレス 004000H ∼ 00FFFFH 番地の
使用中にアクセスしないでください。
■ ROM ミラー機能選択レジスタ (ROMM)
ROMミラー機能選択レジスタ
bit 15
14
13
12
11
10
9
アドレス:00006FH
リード/ライト
初期値
8
MI
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
ROMM
(W)
(1)
W :ライトオンリ
- :未定義
[bit8]MI
"1" を書込み時には FF バンクの ROM のデータが 00 バンクでも読みだせるようになり
ます。"0" を書込み時には 00 バンクはこの機能ははたらきません。
本ビットは , 書込みのみ可能です。
< 注意事項 >
ROM ミラー機能を起動している場合 , FF4000H ∼ FFFFFFH 番地のみ 004000H ∼
00FFFFH 番地にミラーされます。このため , FF0000H ∼ FF3FFFH 番地は 00 バンク
にミラーされません。
345
第 22 章 ROM ミラー機能選択 モジュール
346
第 23 章
1M ビットフラッシュメモリ
1M ビットフラッシュメモリの機能と動作について
説明します。
フラッシュメモリへのデータ書込み / 消去の方法に
は , 下記の 3 とおりの方法があります。
1. パラレルライタ
2. シリアル専用ライタ
3. プログラム実行による書込み / 消去
ここでは , "3. プログラム実行による書込み / 消去 "
について解説します。
23.1 1M ビットフラッシュメモリの概要
23.2 フラッシュメモリ全体のブロックダイヤグラムと
セクタ構成
23.3 書込み / 消去モード
23.4 フラッシュメモリコントロールステータスレジスタ
(FMCS)
23.5 フラッシュメモリ自動アルゴリズム起動方法
23.6 自動アルゴリズム実行状態の確認
23.7 フラッシュメモリ書込み / 消去の詳細説明
23.8 フラッシュメモリ使用上の注意
23.9 フラッシュメモリにおけるリセットベクタアドレス
23.10 フラッシュセキュリティの特長
23.11 1M ビットフラッシュメモリのプログラム例
347
第 23 章 1M ビットフラッシュメモリ
23.1
1M ビットフラッシュメモリの概要
1M ビットフラッシュメモリは , CPU メモリマップ上の FE ∼ FF バンクに配置され ,
フラッシュメモリインタフェース回路の機能により , マスク ROM と同様に CPU か
らのリードアクセスおよびプログラムアクセスが可能です。フラッシュメモリへの
書込み / 消去は , フラッシュメモリインタフェース回路を介して CPU からの命令動
作で行えます。このため , 内蔵 CPU の制御による実装状態での書換えが可能となり ,
プログラムおよびデータの改善が効率よく行えます。
■ 1M ビットフラッシュメモリの特長
• 128K ワード× 8/64K ワード× 16 ビット (MB90F598:16K+512 × 2+7K+8K+32K+64K,
MB90F598G:16K+8K × 2+32K+64K) セクタ構成
• 自動プログラムアルゴリズム(Embedded AlgorithmTM: MB90F598-MBM29F400T,
MB90F598G-MBM29LV200 と同様)
• 消去一時停止 / 消去再開機能の搭載
• データポーリング , トグルビットによる書込み / 消去完了検出
• CPU 割込みによる書込み / 消去の完了検出
• セクタごとの消去が可能 ( セクタ組合せ自由 )
• 書込み / 消去回数 ( 最小 ) 10, 000 回
• フラッシュセキュリティ機能
• フラッシュ読出しサイクルタイム ( 最小 ) 2 マシンサイクル
Embedded AlgorithmTM は , Advanced Micro Devices 社の商標です。
< 注意事項 >
マニュファクチャコードとデバイスコードの読出し機能はありません。また , これら
のコードは , コマンドによってもアクセスできません。
■ フラッシュメモリ書込み / 消去の方法
フラッシュメモリは書込み / 消去と読出しを同時に行う事はできません。つまり , フ
ラッシュメモリにデータ書込み / 消去動作を行う際には , フラッシュメモリ上にあるプ
ログラムを RAM にいったんコピーし RAM 実行することで , フラッシュメモリからプ
ログラムアクセスをせず書込み動作だけを行うことが可能となります。
■ フラッシュメモリのレジスタ
● フラッシュメモリコントロールステータスレジスタ (FMCS)
7
bit
5
4
3
2
1
0
アドレス:0000AEH
INTE
RDYINT
WE
RDY
予約
LPM1
予約
LPM0
リード/ライト
(R/W)
(R/W)
(R/W)
(R)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(X)
(0)
(0)
(0)
(0)
初期値
R/W:リード/ライト可能
R :リードオンリ
X :不定値
348
6
FMCS
第 23 章 1M ビットフラッシュメモリ
23.2
フラッシュメモリ全体のブロックダイヤグラムとセク
タ構成
図 23.2-1 に , フラッシュメモリインタフェース回路付のフラッシュメモリの全体ブ
ロックダイヤグラムを , 図 23.2-2 に , フラッシュメモリのセクタ構成を示します。
■ フラッシュメモリ全体のブロックダイヤグラム
図 23.2-1 フラッシュメモリ全体のブロックダイヤグラム
フラッシュメモリ
インタフェース回路
BYTE
ポート2
ポート3
ポート4
F 2 MC-16LX
バス
1Mbitフラッシュメモリ
BYTE
CE
CE
OE
OE
WE
WE
AQ0~AQ16
AQ0~AQ15
AQ-1
DQ0~DQ15
DQ0~DQ15
INT
RY/BY
RY/BY
RESET
ライトイネーブル割込み信号
(対CPU)
外部リセット信号
RY/ BY
ライトイネーブル信号
■ 1M ビットフラッシュメモリのセクタ構成
図 23.2-2 に , 1M ビットフラッシュメモリのセクタ構成を示します。図中アドレスには ,
各セクタの上位アドレスと下位アドレスを示します。
CPU からアクセスする場合 FE バンクレジスタに SA0, FF バンクレジスタに SA1 ∼ SA4
が配置されています。
349
第 23 章 1M ビットフラッシュメモリ
図 23.2-2 1M ビットフラッシュメモリのセクタ構成
MB90F598
SA6 (16K bytes)
SA5 (512bytes)
CPUアドレス
FFFFFF H
7FFFFH
FFC000 H
FFBFFF H
7C000H
7BFFFH
FFBE00 H
FFBDFF H
7BE00H
7BDFF H
FFBC00H
7BC00 H
FFBBFFH
7BBFFH
FFA000H
FF9FFFH
7A000H
79FFF H
FF8000 H
78000H
FF7FFFH
77FFFH
FF0000H
FEFFFFH
70000H
6FFFF H
FE0000 H
60000H
SA4 (512bytes)
SA3 (7K bytes)
*
ライタアドレス
SA0 (64K bytes)
SA4 (16K bytes)
CPUアドレス
*
ライタアドレス
FFFFFF H
7FFFFH
FFC000 H
FFBFFF H
7C000H
7BFFFH
FFA000H
FF9FFFH
7A000H
79FFF H
FF8000 H
78000H
FF7FFFH
77FFFH
FF0000H
FEFFFFH
70000H
6FFFF H
FE0000 H
60000H
SA3 (8K bytes)
SA2 (8K bytes)
SA1 (32K bytes)
MB90F598G
SA2 (8K bytes)
SA1 (32K bytes)
SA0 (64K bytes)
*: ライタアドレスとは , フラッシュメモリにパラレルライタでデータ書込みを行う際 , CPU アドレスに
対して相当するアドレスです。汎用ライタを使用し書込み / 消去を行う際は , このアドレスで書込み
/ 消去を実行します。
350
第 23 章 1M ビットフラッシュメモリ
23.3
書込み / 消去モード
フラッシュメモリのアクセスは , フラッシュメモリモードとその他モードの 2 つの
異なる方法で行われます。フラッシュメモリモードでは , 外部端子から直接書込み /
消去が行え , その他モードでは , 内部バスを介して CPU から書込み / 消去が行えま
す。モードの選択はモード外部端子で行います。
■ フラッシュメモリモード
リセット信号が発生中にモード端子を "111B" にセットすると , CPU が停止します。フ
ラッシュメモリインタフェース回路は直接ポート0, 2, 3, 4に接続しているので, 外部端
子から直接制御することができます。このモードでは , MCU が外部端子中の標準フ
ラッシュメモリと同様の動作を行い , フラッシュメモリプログラマを使用して書込み /
消去が行えます。
フラッシュメモリモードでは , フラッシュメモリ自動アルゴリズムでサポートされる
すべての動作を使用できます。
■ その他モード
フラッシュメモリは , CPU メモリ空間の FE ∼ FF バンクに配置されており , 通常のマ
スク ROM と同様にフラッシュメモリインタフェース回路を介して CPU から読出しア
クセスおよびプログラムアクセスすることができます。
フラッシュメモリへの書込み / 消去は , フラッシュメモリインタフェース回路を介して
CPU からの命令で実行されます。このため , このモードでは MCU が対象ボードにはん
だ付けされていても再書込みが可能です。
これらのモードでは , セクタプロテクト動作を実行することはできません。
■ フラッシュメモリの制御信号
表 23.3-1 に , フラッシュメモリモードでのフラッシュメモリ制御信号を示します。
フラッシュメモリ制御信号と MBM29F400T/MBM29LV200 の外部端子にはほぼ 1 対 1
の対応関係が存在します。セクタプロテクト動作で必要となる VID (12V) 端子は ,
MBM29F400T/MBM29LV200 における A9, RESET, OE の代わりに , MD0, MD1, MD2 と
なります。
フラッシュメモリモードでは , 外部データバス幅は 8 ビットに制限されており , 1 バイ
トのアクセスしか許可されません。DQ15 ∼ DQ8 はサポートされていません。BYTE
端子は常に "0" にセットしてください。
351
第 23 章 1M ビットフラッシュメモリ
表 23.3-1 フラッシュ制御信号
MB90F598/MB90F598G
MBM29F400T/MBM29LV200
端子番号
通常機能
フラッシュメモリモード
1∼8
P20 ∼ P27
AQ0 ∼ AQ7
A-1, A0 ∼ A6
9
P30
AQ16
A15
10
P31
CE
CE
12
P32
OE
OE
13
P33
WE
WE
16
P36
BYTE
BYTE
17
P37
RY/BY
RY/BY
18 ∼ 22
P40 ∼ P44
AQ8 ∼ AQ12
A7 ∼ A11
24 ∼ 26
P45 ∼ P47
AQ13 ∼ AQ15
A12 ∼ A14
49
MD0
MD0
A9(VID)
50
MD1
MD1
RESET (VID)
51
MD2
MD2
OE (VID)
85 ∼ 92
P00 ∼ P07
DQ0 ∼ DQ7
DQ0 ∼ DQ7
77
RST
RESET
RESET
使用不可
352
DQ8 ∼ DQ15
第 23 章 1M ビットフラッシュメモリ
フラッシュメモリコントロールステータスレジスタ
(FMCS)
23.4
コントロールステータスレジスタ (FMCS) は , フラッシュメモリインタフェース回
路にあるレジスタで , フラッシュメモリの書込み / 消去の際に使用します。
■ コントロールステータスレジスタ (FMCS)
7
bit
6
5
4
3
2
1
0
アドレス:0000AEH
INTE
RDYINT
WE
RDY
予約
LPM1
予約
LPM0
リード/ライト
(R/W)
(R/W)
(R/W)
(R)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(X)
(0)
(0)
(0)
(0)
初期値
FMCS
R/W:リード/ライト可能
R :リードオンリ
X :不定値
● ビット内容
[bit7]INTE(INTerrupt Enable)
フラッシュメモリの書込み / 消去の終了で CPU に割込みを発生させるビットです。
INTE ビットが "1" でかつ RDYINT ビットが "1" のときに CPU へ割込みが発生します。
INTE ビットが "0" であれば割込みは発生しません。
0: 書込み / 消去終了での割込み禁止
1: 書込み / 消去終了での割込み許可
[bit6]RDYINT(ReaDY INTerrupt)
フラッシュメモリの動作状態を表すビットです。
フラッシュメモリの書込み / 消去が終わって "1" となります。フラッシュメモリ書込み /
消去後このビットが "0" の間は , フラッシュメモリへの書込み / 消去はできません。書
込み / 消去が終了して "1" になった後は , フラッシュメモリへの書込み / 消去が可能に
なります。"0" 書込みによって "0" にクリアされ , "1" の書込みは無視されます。フラッ
シュメモリ自動アルゴリズム ( 「23.5 フラッシュメモリ自動アルゴリズム起動方法」
参照 ) 終了タイミングで , "1" にセットされます。リードモディファイライト (RMW) 命
令使用時は , 必ず "1" が読み出せます。
0: 書込み / 消去動作実行中
1: 書込み / 消去動作終了 ( 割込み要求発生 )
353
第 23 章 1M ビットフラッシュメモリ
[bit5]WE(Write Enable)
フラッシュメモリ領域へのライトイネーブルビットです。
このビットが "1" のとき , FE ∼ FF バンクへのコマンドシーケンス(「23.5 フラッシュ
メモリ自動アルゴリズム起動方法」参照)発行後のライトは , フラッシュメモリ領域へ
のライトになります。本ビットが "0" のとき , 書込み / 消去の信号は発生されません。
このビットはフラッシュメモリの書込み / 消去のコマンドを起動する際に使用します。
書込み/消去を行わないときは, 誤ってフラッシュメモリにデータを書き込まないよう,
常に "0" に設定する事を推奨します。
0: フラッシュメモリ書込み / 消去禁止
1: フラッシュメモリ書込み / 消去許可
[bit4]RDY(ReadDY)
フラッシュメモリの書込み / 消去許可ビットです。
このビットが "0" の間は , フラッシュメモリへの書込み / 消去はできません。なお , こ
の状態でも読出し / リセットコマンド , セクタ消去一時停止などのサスペンドコマンド
は受け付けられます。
0: 書込み / 消去動作実行中
1: 書込み / 消去動作終了 ( 次データ書込み / 消去許可 )
[bit3, bit1] 予約ビット
試験用予約ビットです。通常使用時は必ず "0" に設定してください。
[bit2, bit0]LPM1, LPM0(Low Power Mode)
フラッシュメモリアクセス時のフラッシュメモリ本体の消費電流を制御します。ただ
し , CPU からフラッシュメモリへのアクセスタイムが設定により大きく異なりますの
で , CPU の動作周波数により設定値を選択してください。
01: 低電力消費モード ( 内部動作周波数 4MHz 以下で動作 )
10: 低電力消費モード ( 内部動作周波数 8MHz 以下で動作 )
11: 低電力消費モード ( 内部動作周波数 10MHz 以下で動作 )
00: 通常消費電力モード ( 内部動作周波数 16MHz 以下で動作 )
< 注意事項 >
RDYINT ビットと RDY ビットは同時には変化しません。どちらか片方のビットで判
定するようプログラムを作成してください。
自動アルゴリズム
終了タイミング
RDYINTビット
RDYビット
1マシンサイクル
354
第 23 章 1M ビットフラッシュメモリ
フラッシュメモリ自動アルゴリズム起動方法
23.5
フラッシュメモリの自動アルゴリズムを起動するコマンドには , 読出し / リセット , 書
込み , チップ消去の 4 種類があり , セクタ消去については一時停止と再開の制御が可
能です。
■ コマンドシーケンス表
表 23.5-1 に , フラッシュメモリの書込み / 消去時に使用するコマンドの一覧を示しま
す。コマンドレジスタにライトするデータはすべてバイトですが , ワードアクセスでラ
イトするようにしてください。このときの上位バイト分のデータは無視されます。
表 23.5-1 コマンドシーケンス表
コマンド バスラ 1stバスライトサイクル 2nd バスライトサイクル 3th バスライトサイクル 4th バスライトサイクル 5th バスライトサイクル 6thバスライトサイクル
シーケン イトア
データ
アドレス データ アドレス データ
ス
クセス アドレス データ アドレス データ アドレス データ アドレス
読出し /
リセット
1
FxXXXX
XXF0
-
-
-
-
-
-
-
-
-
-
4
FxAAAA
XXAA
Fx5554
XX55
FxAAAA
XXF0
RA
RD
-
-
-
-
4
FxAAAA
XXAA
Fx5554
XX55
FxAAAA
XXA0
PA(even)
PD(word)
-
-
-
-
6
FxAAAA
XXAA
Fx5554
XX55
FxAAAA
XX80
FxAAAA
XXAA
Fx5554
XX55
FxAAAA
XX10
6
FxAAAA
XXAA
Fx5554
XX55
FxAAAA
XX80
FxAAAA
XXAA
Fx5554
XX55
SA(even)
XX30
-
-
*1
読出し /
リセット
*1
書込みプ
ログラム
チップ
消去
セクタ
消去
セクタ消去一時停止
セクタ消去再開
Auto
Select*2
3
Address"FxXXXX"Data(xxB0H) の入力で , セクタ消去中の消去一時停止
Address"FxXXXX"Data(xx30H) の入力で , セクタ消去中の消去一時停止後 , 消去開始
FxAAAA
XXAA
Fx5554
XX55
FxAAAA
XX90
FxAAAA
-
-
-
( 注意事項 )
• 表中のアドレス Fx は , FF, FE を意味します。それぞれの操作時にはアクセス対象バンクの値としてくださ
い。
• 表中のアドレスは , CPU メモリマップ上の値です。アドレスおよびデータはすべて 16 進数表記しています。
ただし "X" は任意の値です。
• RA: 読出しアドレス
• PA: 書込みアドレス(偶数アドレスのみ指定可)
• SA: セクタアドレス ( 「第 23 章 1M ビットフラッシュメモリ」の 「23.2 フラッシュメモリ全体のブロック
ダイヤグラムとセクタ構成」を参照願います。)
• RD: 読出しデータ
• PD: 書込みデータ , ワードデータのみ指定可
*1:2 種類の読出し / リセットコマンドは , どちらもフラッシュメモリを読出しモードにリセットすることができ
ます。
*2:MB90F598G のみ
355
第 23 章 1M ビットフラッシュメモリ
表 23.5-1 における AutoSelect は , セクタ保護の状態を知るためのコマンドです。実際
には , 前記コマンドと共に下記のようにアドレスを設定する必要があります。
表 23.5-2 AutoSelect 時のアドレス設定(MB90F598G のみ)
セクタ保護
AQ13 ∼ AQ16
AQ7
AQ2
AQ1
AQ0
DQ7 ∼ DQ0
セクタアドレス
L
H
L
L
CODE *
*: 保護されたのセクタアドレスでの出力は "01H", 保護されていないセクタアドレスでの出力は
"00H"
356
第 23 章 1M ビットフラッシュメモリ
23.6
自動アルゴリズム実行状態の確認
フラッシュメモリでは , 書込み / 消去のフローを自動アルゴリズムで行うため , フ
ラッシュメモリ内部の動作状態や動作完了した事を知らせるハードウェアを持ちま
す。この自動アルゴリズムは , 下記のハードウェアシーケンスによって内蔵フラッ
シュメモリの動作状態の確認ができます。
■ ハードウェア・シーケンス・フラグ
ハードウェア・シーケンス・フラグは , DQ7, DQ6, DQ5, DQ3, DQ2 の 5 ビットの出力で
構成されます。それぞれがデータポーリングフラグ (DQ7), トグルビットフラグ (DQ6),
タイミングリミット超過フラグ (DQ5), セクタ消去タイマフラグ (DQ3), トグルビット 2
フラグ (DQ2) の機能を持ちます。これにより , 書込み / チップ・セクタ消去終了 , 消去
コードライトが有効かの確認をすることができます。なお , トグルビット 2 フラグ
(DQ2) は MB90F598 では使用できません。
ハードウェア・シーケンス・フラグを参照するには , コマンドシーケンス( 「23.5 フ
ラッシュメモリ自動アルゴリズム起動方法」の表 23.5-1 を参照)設定後にフラッシュ
メモリ内部の対象セクタのアドレスにリードアクセスすることで参照できます。表
23.6-1 に , ハードウェア・シーケンス・フラグのビット割当てを示します。
表 23.6-1 ハードウェア・シーケンス・フラグのビット割当て
ビット No.
7
6
5
4
3
2
1
0
ハードウェアシーケンスフラグ
DQ7
DQ6
DQ5
-
DQ3
DQ2
-
-
*:MB90F598G のみ
自動書込み / チップ・セクタ消去が実行中であるかの判断は , ハードウェア・シーケン
ス・フラグを確認するか , フラッシュメモリコントロールレジスタ (FMCS) の RDY ビッ
トを確認することで , 書込みが終了しているかを知る事ができ , 書込み / 消去終了後は ,
読出し / リセット状態に戻ります。実際にプログラムを作成する際には , いずれかのフ
ラグで自動書込み / 消去終了を確認後に , データの読出しなどの次処理を行って下さ
い。また , 2 回目以降のセクタ消去コードライトが有効であるかも , ハードウェア・シー
ケンス・フラグによって確認することができます。事項に各ハードウェア・シーケン
ス・フラグの説明を示します。表 23.6-2 に , ハードウェア・シーケンス・フラグ機能の
一覧を示します。
357
第 23 章 1M ビットフラッシュメモリ
表 23.6-2 ハードウェア・シーケンス・フラグ機能一覧
状態
書込み動作→書込み完了
(書込みアドレス指定時)
チップ・セクタ消去動作→消去完了
セクタ消去ウェイト→消去開始
正常動作時
の状態変化 消去動作→セクタ消去一時停止
(消去中のセクタ)
セクタ消去一時停止→消去再開
(消去中のセクタ)
セクタ消去一時停止中
(消去中でないセクタ)
書込み動作
DQ7
DQ6
DQ5
DQ3
DQ2 *2
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
*1
異常動作
チップ・セクタ消去動作
*1:DQ5 が "1" のとき(タイミングリミット超過), 書込み / 消去中セクタへの連続的な読出しに対し
ては , DQ2 はトグル動作をし , ほかのセクタへの読出しに対してはトグルしません。
*2:MB90F598G のみ
358
第 23 章 1M ビットフラッシュメモリ
データポーリングフラグ (DQ7)
23.6.1
データポーリングフラグ (DQ7) は , 自動アルゴリズム実行が進行中もしくは終了状
態であることをデータポーリング機能によって知らせるためのフラグです。
■ データポーリングフラグ (DQ7)
表 23.6-3 と表 23.6-4 に , データポーリングフラグの状態遷移を示します。
表 23.6-3 データポーリングフラグの状態遷移(正常動作時の状態変化)
動作状態
書込み動作
→完了
DQ7
DQ7 → DATA:7
チップセクタ消去 セクタ消去ウエイト
→完了
→開始
0→1
0
セクタ消去
→消去一時停止
消去中のセクタ
セクタ消去一時停止
セクタ消去
→再開
一時停止中
消去中のセクタ 消去中でないセクタ
0→1
1→0
DATA:7
表 23.6-4 データポーリングフラグの状態遷移(異常動作時の状態変化)
動作状態
書込み動作
チップ・セク
タ消去動作
DQ7
DQ7
0
● 書込み動作時
自動書込みアルゴリズム実行中にリードアクセスすると , フラッシュメモリはアドレ
スの指し示す番地によらず , 最後に書き込まれたデータの bit7 の反転データを出力し
ます。自動書込みアルゴリズム終了時にリードアクセスすると , フラッシュメモリはア
ドレスの指し示す番地の読出し値の bit7 を出力します。
● チップ / セクタ消去動作時
チップ消去 / セクタ消去アルゴリズム実行中に , セクタ消去時は現在消去しているセク
タから , チップ消去時はアドレスの指し示す番地に関係なく , リードアクセスするとフ
ラッシュメモリは "0" を出力します。同様に終了時には "1" を出力します。
● セクタ消去一時停止時
セクタ消去一時停止時にリードアクセスすると , フラッシュメモリはアドレスの指し
示す番地が消去中のセクタであれば "1" を出力し , 消去中のセクタでなければアドレス
の指し示す番地の読出し値の bit7(DATA:7) を出力します。トグルビットフラグ (DQ6)
とともに参照することで , 現在セクタ一時停止状態であるか , どのセクタが消去中であ
るかの判定が可能です。
< 注意事項 >
自動アルゴリズム起動時は指定したアドレスへのリードアクセスは無視されます。
データの読出しは , データポーリングフラグ (DQ7) の終了を受けてほかのビットの
出力が可能となります。このため自動アルゴリズム終了後のデータの読出しは , デー
タポーリング終了を確認したリードアクセスの次に行うようにしてください。
359
第 23 章 1M ビットフラッシュメモリ
23.6.2
トグルビットフラグ (DQ6)
トグルビットフラグはデータポーリングフラグ (DQ6) と同様に , 主に自動アルゴリ
ズム実行が進行中 , もしくは終了状態であることをトグルビット機能によって知ら
せる為のフラグです。
■ トグルビットフラグ (DQ6)
表 23.6-5 と表 23.6-6 に , トグルビットフラグの状態遷移を示します。
表 23.6-5 トグルビットフラグの状態遷移(正常動作時の状態変化)
動作状態
書込み動作→完了
チップセクタ消去→
完了
セクタ消去ウエイト
→開始
セクタ消去
→消去一時停止
消去中のセクタ
セクタ消去一時停止
→再開
消去中のセクタ
セクタ消去
一時停止中
消去中でないセクタ
DQ6
Toggle → DATA:6
Toggle → Stop
Toggle
Toggle → 1
1 → Toggle
DATA:6
表 23.6-6 トグルビットフラグの状態遷移(異常動作時の状態変化)
動作状態
書込み動作
チップ・セクタ消去
動作
DQ6
Toggle
Toggle
● 書込み / チップ・セクタ消去時
自動書込みアルゴリズムおよびチップ・セクタ消去アルゴリズム実行中に , 連続した
リードアクセスを行うと , フラッシュメモリはアドレスの指し示す番地によらず , リー
ドごとに "1" と "0" を交互に出力するトグル状態を出力します。自動書込みアルゴリズ
ムおよびチップ / セクタ消去アルゴリズム終了時に連続したリードアクセスを行うと
フラッシュメモリは bit6 のトグル動作を止め , アドレスの指し示す番地の読出し値の
bit6(DATA:6) を出力します。
● セクタ消去一時停止時
セクタ消去一時停止時にリードアクセスすると , フラッシュメモリはアドレスの指し
示す番地が消去中のセクタに属するならば , "1" を出力します。消去中のセクタに属さ
ないのであれば , アドレスの指し示す番地の読出し値の bit6(DATA:6) を出力します。
< 参考 >
360
書込みの際 , 書き込もうとしているセクタが書換え保護されているセクタの場合は ,
約 2 m s のトグル動作をした後 , データを書き換えることなくトグル動作を終わりま
す。
消去の際 , 選択されたすべてのセクタが書換え保護されている場合トグルビットは
約 100 m s のトグル動作をし , その後データを書き換えないで読出し / リセット状態
に戻ります。
第 23 章 1M ビットフラッシュメモリ
23.6.3
タイミングリミット超過フラグ (DQ5)
タイミングリミット超過フラグ (DQ5) は , 自動アルゴリズムの実行がフラッシュメ
モリ内部に規定された時間 ( 内部パルス回数 ) を超えてしまったことを知らせるフラ
グです。
■ タイミングリミット超過フラグ (DQ5)
表 23.6-7 と表 23.6-8 に , タイミングリミット超過フラグの状態遷移を示します。
表 23.6-7 タイミングリミット超過フラグの状態遷移(正常動作時の状態変化)
動作状態
書込み動作→完了
チップセクタ消去
→完了
セクタ消去ウエイト
→開始
セクタ消去
→消去一時停止
消去中のセクタ
セクタ消去一時停止
→再開
消去中のセクタ
セクタ消去
一時停止中
消去中でないセクタ
DQ5
0 → DATA:5
0→1
0
0
0
DATA:5
表 23.6-8 タイミングリミット超過フラグの状態遷移(異常動作時の状態変化)
動作状態
書込み動作
チップ・セクタ
消去動作
DQ5
1
1
● 書込み / チップ・セクタ消去時
書込みまたは , チップ・セクタ消去自動アルゴリズム起動後にリードアクセスすると ,
規定時間(書込み / 消去に要する時間)内であれば "0" を , 規定時間を超えてしまって
いる場合は "1" を出力します。これは , 自動アルゴリズムが実行中か終了状態にあるか
無関係ですので , 書込み / 消去が成功したか失敗したかの判定が可能です。すなわち ,
このフラグが "1" を出力したとき , データポーリング機能もしくはトグルビット機能に
より自動アルゴリズムがまだ実行中であれば , 書込みが失敗していると判断すること
ができます。
例えば , "0" が書き込まれているフラッシュメモリアドレスに "1" を書き込もうとする
とフェイルが発生します。この場合フラッシュメモリはロックされ , 自動アルゴリズム
は終了しません。したがって , データポーリングフラグ (DQ7) から有効なデータが出
力されません。またトグルビットフラグ (DQ6) はトグル動作を止めず , タイムリミッ
トを超え , タイミングリミット超過フラグ (DQ5) は "1" を出力します。この状態はフ
ラッシュメモリが不良ではなく , 正しく使用されなかったという事を表しています。こ
の状態が発生したときは , リセットコマンドを実行してください。
361
第 23 章 1M ビットフラッシュメモリ
23.6.4
セクタ消去タイマフラグ (DQ3)
セクタ消去タイマフラグは , セクタ消去コマンド起動後セクタ消去ウェイト期間中
であるか否かを知らせるフラグです。
■ セクタ消去タイマフラグ (DQ3)
表 23.6-9 と表 23.6-10 に , セクタ消去タイマフラグの状態遷移を示します。
表 23.6-9 セクタ消去タイマフラグの状態遷移(正常動作時の状態変化)
動作状態
書込み動作 →完了
チップセクタ消去
→完了
セクタ消去ウエイト
→開始
セクタ消去
→消去一時停止
消去中のセクタ
セクタ消去一時停止
→再開
消去中のセクタ
セクタ消去
一時停止中
消去中でないセクタ
DQ3
0 → DATA:3
1
0→1
1→0
0→1
DATA:3
表 23.6-10 セクタ消去タイマフラグの状態遷移(異常動作時の状態変化)
動作状態
書込み動作
チップ・セクタ消
去動作
DQ3
0
1
● セクタ消去動作時
セクタ消去コマンド起動後にリードアクセスすると , フラッシュメモリはコマンドを
発行したセクタのアドレス信号の指し示す番地によらず , セクタ消去ウェイト期間中
であれば "0" を , セクタ消去ウェイト期間を越えてしまっている場合は "1" を出力しま
す。
データポーリング機能やトグルビット機能により消去アルゴリズムが実行中を示して
いる場合 , このフラグが "1" であれば内部で制御される消去が始まっています。続けて
のセクタ消去コードのライト , または消去一時停止以外のコマンドは , 消去が終了され
るまで無視されます。
このフラグが "0" であればフラッシュメモリは , 追加のセクタ消去コードのライトを受
け付けます。この事を確認するために , 引き続くセクタ消去コードのライトに先立ちこ
のフラグの状態をチェックすることを推奨します。もし 2 回目の状態チェックで "1" で
あったなら追加セクタの消去コードは受け付けられてない可能性があります。
● セクタ消去動作時
セクタ消去一時停止中にリードアクセスすると , フラッシュメモリはアドレスの指し
示す番地が , 消去中のセクタに属するならば "1" を出力します。消去中のセクタに属さ
ないのであれば , アドレスの指し示す番地の読出し値の bit3(DATA:3) を出力します。
362
第 23 章 1M ビットフラッシュメモリ
トグルビット 2 フラグ (DQ2)
23.6.5
トグルビット 2 フラグ (DQ2) は , セクタ消去一時停止中であることをトグルビット
機能によって知らせるフラグです。
なお , トグルビット 2 フラグ (DQ2) は MB90F598 では使用できません。
■ トグルビット 2 フラグ (DQ2)
表 23.6-11 と表 23.6-12 に , トグルビット 2 フラグの状態遷移を示します。
表 23.6-11 トグルビット 2 フラグの状態遷移(正常動作時の状態変化)
動作状態
DQ2
書込み動作 →完了
チップセクタ消去
→完了
セクタ消去ウエイト
→開始
セクタ消去
→消去一時停止
消去中のセクタ
セクタ消去一時停止
→再開
消去中のセクタ
セクタ消去
一時停止中
消去中でないセクタ
1 → DATA:2
Toggle → Stop
Toggle
Toggle
Toggle
DATA:2
表 23.6-12 トグルビット 2 フラグの状態遷移(異常動作時の状態変化)
動作状態
DQ2
書込み動作
チップ・セクタ消
去動作
1
※
※ :DQ5 が "1" のとき(タイミングリミット超過), 書込み / 消去中セクタへの連続的な
読出しに対しては , DQ2 はトグル動作をし , ほかのセクタへの読出しに対してはトグル
しません。
● セクタ消去動作時
チップセクタ消去アルゴリズム実行中に連続したリードアクセスを行うと , フラッ
シュメモリはアドレスの指す番地によらず , リードごとに "1" と "0" を交互に出力する
トグル状態を出力します。
チップセクタ消去アルゴリズム終了後に連続したリードアクセスを行うと , フラッ
シュメモリは bit2 のトグル出力を止め , アドレスの指し示す番地の読出し値の
bit2(DATA:2) を出力します。
● セクタ消去一時停止時
セクタ消去一時停止中に連続したリードアクセスを行うと , フラッシュメモリはアド
レスの指し示す番地が , 消去中のセクタに属するならば "1" と "0" を交互に出力するト
グル状態を出力します。消去中のセクタに属さないのであれば , アドレスの指し示す番
地の読出し値の bit2(DATA:2) を出力します。
また , セクタ消去一時停止書込み時 , 消去一時停止していないセクタから連続したリー
ドアクセスを行うと , "1" 出力します。
DQ2 は DQ6 と共に使用し , 消去一時停止中であるかを検出するのに使用します。
(DQ2 はトグル動作するが , DQ6 はトグル動作しない。)
さらに , DQ2 は消去しているセクタの検出にも使用します。消去動作時には , DQ2 は
消去しているセクタからのリードアクセスならばトグル動作をします。
363
第 23 章 1M ビットフラッシュメモリ
< 参考 >
364
消去の際 , 選択されたすべてのセクタが書換え保護されている場合 , トグルビット 2
は約 100 m s のトグル動作をし , その後 , データを書き換えないで読出し / リセット
状態に戻ります。
第 23 章 1M ビットフラッシュメモリ
23.7
フラッシュメモリ書込み / 消去の詳細説明
自動アルゴリズムを起動するコマンドを発行し , フラッシュメモリに読出し / リセッ
ト , 書込み , チップ消去 , セクタ消去 , セクタ消去一時停止 , セクタ消去再開のそれ
ぞれの動作を行う手順を説明します。
■ フラッシュメモリ書込み / 消去の詳細説明
フラッシュメモリは読出し / リセット , 書込み , チップ消去 , セクタ消去 , セクタ消去
一時停止 , 消去再開の動作がコマンドシーケンス ( 「23.5 フラッシュメモリ自動アル
ゴリズム起動方法」の 表 23.5-1 を参照 ) のバスへのライトサイクルを行うことで自動
アルゴリズムを実行することが可能です。それぞれのバスへのライトサイクルは必ず
続けて行う必要があります。また , 自動アルゴリズムはデータ・ポーリング機能などで
終了時を知ることができます。正常終了後は読出し / リセット状態に戻ります。
各動作について , 次項より下記の順に示します。
• 読出し / リセット状態にする
• データを書き込む
• 全データを消去する(チップ全消去)
• 任意のデータを消去する(セクタ消去)
• セクタ消去を一時停止する
• セクタ消去を再開する
365
第 23 章 1M ビットフラッシュメモリ
23.7.1
フラッシュメモリを読出し / リセット状態にする
読出し / リセットコマンドを発行し , フラッシュメモリを読出し / リセット状態にす
る手順について説明します。
■ フラッシュメモリを読出し / リセット状態にする
フラッシュメモリを読出し / リセット状態にするには , コマンドシーケンス表 ( 「23.5
フラッシュメモリ自動アルゴリズム起動方法」の 表 23.5-1 を参照 ) の読出し / リセッ
トコマンドを , フラッシュメモリ内の対象セクタに続けて送ることで実行可能です。
読出し / リセットコマンドには 1 回と 3 回のバス動作を行う 2 とおりのコマンドシー
ケンスがありますが , これらの本質的な違いはありません。
読出し / リセット状態はフラッシュメモリの初期状態であり , 電源投入時 , コマンドの
正常終了時は常に読出し / リセット状態になります。読出し / リセット状態はほかのコ
マンドの入力待ち状態です。
読出し/リセット状態では通常のリードアクセスでデータを読み出せます。マスクROM
と同様に CPU からのプログラムアクセスが可能です。通常読出しでのデータ読出しに
このコマンドは必要ありません , 何らかの理由でコマンドが正常に終了しなかったと
きなど , 自動アルゴリズムを初期化する場合に主にこのコマンドを使用します。
366
第 23 章 1M ビットフラッシュメモリ
23.7.2
フラッシュメモリへのデータの書込み
書込みコマンドを発行し , フラッシュメモリへデータを書き込む手順について説明
します。
■ フラッシュメモリへのデータの書込み
フラッシュメモリの , データ書込み自動アルゴリズムを起動するには , コマンドシーケ
ンス表( 「23.5 フラッシュメモリ自動アルゴリズム起動方法」の 表 23.5-1 を参照)の
書込みコマンドを , フラッシュメモリ内の対象セクタに続けて送ることで実行可能で
す。4 サイクル目に目的のアドレスへのデータライトが終了した時点で , 自動アルゴリ
ズムが起動され自動書込みが開始します。
● アドレス指定方法
書込みデータサイクルの中で指定する書込みアドレスは , 偶数アドレスのみが可能で
す。奇数アドレスを指定すると正しく書き込む事ができません。つまり , 偶数アドレス
へのワードデータ単位での書込みが必要となります。
書込みはどのようなアドレスの順番でも , また , セクタの境界を越えても可能ですが ,
1 回の書込みコマンドによって書き込まれるデータは 1 ワードのみです。
● データ書込み上の注意
書込みによって , データ "0" をデータ "1" に戻す事はできません。データ "0" にデータ
"1" を書き込むと , データポーリングアルゴリズム (DQ7) または , トグル動作 (DQ6) が
終了せず , フラッシュメモリ素子が不良と判定され , 書込み規定時間を超えタイミング
リミット超過フラグ (DQ5) がエラーと判定するか , あるいは見かけ上データ "1" が書き
込まれたように見えるかのどちらかとなります。しかし , 読出し / リセット状態でデー
タを読み出すとデータは "0" のままです。消去動作のみが "0" データを "1" にすること
ができます。
自動書込み実行中はすべてのコマンドが無視されます。書込み中にハードウェアリ
セットが起動されると , 書き込んでいるアドレスのデータは保証されませんので注意
が必要です。
367
第 23 章 1M ビットフラッシュメモリ
■ フラッシュメモリ書込み手順
図 23.7-1 に , フラッシュメモリ書込みの手順の例を示します。ハードウェア・シーケ
ンス・フラグ( 「23.6 自動アルゴリズム実行状態の確認」を参照)を用いる事でフ
ラッシュメモリ内部の自動アルゴリズムの状態判定が可能です。ここでは , 書込み終了
の確認にデータポーリングフラグ (DQ7) を用いています。
フラグチェックのために読み込むデータは最後に書込みを行ったアドレスからの読込
みとなります。
データポーリングフラグ (DQ7) は , タイミングリミット超過フラグ (DQ5) と同時に変
わるので , たとえタイミングリミット超過フラグ (DQ5) が "1" であってもデータポーリ
ングフラグビット (DQ7) は再チェックする必要があります。
トグルビットフラグ (DQ6) でも同様にタイミングリミット超過フラグビット (DQ5) が
"1" に変わるのと同時にトグル動作を止めるので , トグルビットフラグ (DQ6) を再
チェックする必要があります。
368
第 23 章 1M ビットフラッシュメモリ
図 23.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 (bit5)
フラッシュメモリ書込み禁止
書込み完了
ハードウェア・シーケンス・
フラグによる確認
369
第 23 章 1M ビットフラッシュメモリ
23.7.3
フラッシュメモリの全データの消去 ( チップ消去)
チップ消去コマンドを発行し , フラッシュメモリの全データを消去する手順につい
て説明します。
■ フラッシュメモリのデータの消去 ( チップ消去 )
フラッシュメモリからすべてのデータを消去するには , コマンドシーケンス表(「23.5
フラッシュメモリ自動アルゴリズム起動方法」の 表 23.5-1 を参照)のチップ消去コマ
ンドを , フラッシュメモリ内の対象セクタに続けて送ることで実行可能です。
チップ消去コマンドは 6 回のバス動作で行われます , 6 サイクル目のライトが完了した
時点でチップ消去動作が開始します。チップ消去では , 消去前にユーザがフラッシュメ
モリに書込みを行う必要はありません。自動消去アルゴリズム実行中には , フラッシュ
メモリは自動的に全てのセルを消去する前に "0" を書き込んで検証します。
370
第 23 章 1M ビットフラッシュメモリ
23.7.4
フラッシュメモリの任意のデータの消去
( セクタ消去 )
セクタ消去コマンドを発行し , フラッシュメモリの任意のデータを消去する ( セクタ
消去 ) 手順について説明します。セクタごとの消去が可能であり , 複数のセクタを同
時に指定することも可能です。
■ フラッシュメモリの任意のデータの消去 ( セクタ消去 )
フラッシュメモリの任意のセクタを消去する為には , コマンドシーケンス表( 「23.5
フラッシュメモリ自動アルゴリズム起動方法」の 表 23.5-1 を参照)のセクタ消去コマ
ンドを , フラッシュメモリ内の対象セクタに続けて送ることで実行可能です。
● セクタ指定方法
セクタ消去コマンドは 6 回のバス動作で行われます。6 サイクル目に目的のセクタ内の
アクセス可能な任意の偶数の 1 アドレスへ , セクタ消去コード (30H) をライトすること
により 50 µ s のセクタ消去ウェイトが開始します。複数のセクタ消去を行う場合は , 上
記の処理に引き続き消去する目的のセクタ内のアドレスに消去コード(30H)をライトし
ます。
● 複数のセクタを指定するときの注意
最後のセクタ消去コードのライトから 50 µ s のセクタ消去ウェイト期間終了により消
去が開始します。つまり , 複数のセクタを同時に消去する場合は , 次の消去セクタのア
ドレスと消去コード ( コマンドシーケンス 6 サイクル目 ) をそれぞれ 50 µ s 以内に入力
する必要があり , それ以降では受け付けられないことがあります。引き続くセクタ消去
コードのライトが有効かどうかはセクタ消去タイマ(ハードウェア・シーケンス・フ
ラグ DQ3)によって調べることができます。なおこのとき , セクタ消去タイマをリー
ドするアドレスは , 消去しようとしているセクタを指すようにします。
371
第 23 章 1M ビットフラッシュメモリ
■ フラッシュメモリのセクタ消去手順
ハードウェア・シーケンス・フラグ( 「23.6 自動アルゴリズム実行状態の確認」を参
照)を用いる事でフラッシュメモリ内部の自動アルゴリズムの状態判定が可能です。図
23.7-2 にフラッシュメモリセクタ消去の手順の例を示します。ここでは , 消去終了の確
認にトグルビットフラグ (DQ6) を用いています。
フラグチェックの為に読み出すデータは , 消去しようとしているセクタからの読出し
となりますので , 注意が必要です。
トグルビットフラグ (DQ6) は , タイミングリミット超過フラグ (DQ5) が "1" に変わる
のと同時にトグル動作を止めるので , たとえタイミングリミット超過フラグ (DQ5) が
"1" であってもトグルビットフラグ (DQ6) は再チェックする必要があります。
データポーリングフラグ (DQ7) でも同様に , タイミングリミット超過フラグ (DQ5) と
同時に変わるので , データポーリングフラグを再チェックする必要があります。
372
第 23 章 1M ビットフラッシュメモリ
図 23.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
YES
次セクタ
内部アドレスリード 2
NO
トグルビット (DQ6)
データ1(DQ6) = データ2(DQ6)
セクタ消去終了
YES
NO
0
タイミングリミット(DQ5)
1
内部アドレスリード 1
内部アドレスリード 2
NO
トグルビット (DQ6)
データ1(DQ6) = データ2(DQ6)
YES
消去エラー
最終セクタ
NO
YES
FMCS:WE (bit5)
フラッシュメモリ消去禁止
ハードウェア・シーケンス・
フラグによる確認
消去完了
373
第 23 章 1M ビットフラッシュメモリ
23.7.5
フラッシュメモリのセクタ消去の一時停止
セクタ消去一時停止コマンドを発行し , フラッシュメモリセクタ消去の一時停止を
行う手順について説明します。消去中でないセクタから , データを読み出すことが
可能です。
■ フラッシュメモリのセクタ消去の一時停止
フラッシュメモリのセクタ消去を一時停止するには , コマンドシーケンス表( 「23.5
フラッシュメモリ自動アルゴリズム起動方法」の 表 23.5-1 を参照)のセクタ消去一時
停止コマンドを , フラッシュメモリ内に続けて送ることで実行可能です。
セクタ消去一時停止コマンドは , セクタ消去中に消去を一時停止し , 消去中でないセク
タからのデータ読出しを可能にするものです。この状態では読出しのみが可能で書込
みはできません。このコマンドは消去ウェイト時間を含むセクタ消去中のみ有効で ,
チップ消去中や書込み動作中は無視されます。
消去一時停止コード (B0H) の書込みを行う事で実施されますが , このときアドレスはフ
ラッシュメモリ内の任意のアドレスを指すようにします。消去一時停止での再度の消
去一時停止コマンドは無視されます。
セクタ消去ウェイト期間中に , セクタ消去一時停止コマンドが入力されると , 直ちにセ
クタ消去ウェイトを終了し , 消去動作を中断して消去停止状態になります。セクタ消去
ウェイト期間後のセクタ消去動作中に消去一時停止コマンドが入力されると , 最大 15
µ s の時間の後 , 消去一時停止状態に入ります。
374
第 23 章 1M ビットフラッシュメモリ
23.7.6
フラッシュメモリのセクタ消去の再開
セクタ消去再開コマンドを発行し , 一時停止したフラッシュメモリセクタ消去を再
開する手順について説明します。
■ フラッシュメモリのセクタ消去の再開
一時停止したセクタ消去を再開させるには , コマンドシーケンス表(「23.5 フラッシュ
メモリ自動アルゴリズム起動方法」の 表 23.5-1 を参照)のセクタ消去再開コマンドを ,
フラッシュメモリ内に続けて送ることで実行可能です。
セクタ消去再開コマンドは , セクタ消去一時停止コマンドによるセクタ消去一時停止
状態から , セクタ消去を再開する為のコマンドです。このコマンドは消去再開コード
(30H) の書込みを行うことで実施されますが , このときのアドレスはフラッシュメモリ
領域内の任意のアドレスを指すようにします。
なお , セクタ消去中のセクタ消去再開コマンドの発行は無視されます。
375
第 23 章 1M ビットフラッシュメモリ
23.8
フラッシュメモリ使用上の注意
以下に MB90F598/ F598G のフラッシュメモリに関する注意を示します。
■ フラッシュメモリ使用上の注意
● ハードウェアリセット (RST) の入力
読出し中で自動アルゴリズムが起動していないときに , ハードウェアリセットを入力
するには , L レベル幅として最低 500ns をとる必要があります。この場合 , ハードウェ
アリセット起動後フラッシュメモリからデータを読み出すまでに , 最低 500ns が必要と
なります。同様に , 書込み / 消去中で自動アルゴリズムが起動しているときに , ハード
ウェアリセットを入力するには , L レベル幅として最低 50ns をとる必要があります。こ
の場合 , フラッシュメモリを初期化するために実行中の動作を停止した後データを読
み出すまでに , 20 µ s が必要となります。
書込み中にハードウェアリセットすると , 書き込まれているデータは不定となります。
消去中にハードウェアリセットすると , 消去されているセクタは使用不可となる可能
性があります。
● ソフトウェアリセット , ウォッチドッグタイマリセット , ハードウェアスタンバイの取消
CPU アクセスでフラッシュメモリを書込み / 消去時に , 自動アルゴリズムがアクティブ
状態でリセット条件が発生した場合 , CPU が暴走する可能性があります。それは , これ
らのリセット条件により , フラッシュメモリユニットが初期化されずに自動アルゴリ
ズムが続行し , リセット離脱後に CPU がシーケンスを開始したときフラッシュメモリ
ユニットが読出し状態になることが妨げられる可能性があるためです。これらのリ
セット条件は , フラッシュメモリの書込み / 消去中に禁止されている必要があります。
● フラッシュメモリへのプログラムアクセス
自動アルゴリズム動作中は , フラッシュメモリへの読出しアクセスは禁止されます。
CPU のメモリアクセスモードが内蔵 ROM モードにセットされている場合 , プログラム
領域を RAM などの別の領域に切り換え後 , 書込み / 消去を開始する必要があります。
この場合 , 割込みベクタを含むセクタ (SA6/SA4) が消去されると , 書込み / 消去割込み
処理を実行できません。
同じ理由で , 自動アルゴリズム動作中は , フラッシュメモリ以外のその他すべての割込
みソースは無効となります。
● ホールド機能
CPU がホールド要求を受け付けたとき , フラッシュメモリユニットの書込み信号 WE
は歪曲され , 不正な書込みによる不正な書込み / 消去が可能になります。ホールド要求
の受付が許可(EPCR の HDE ビットが "1" をセット)されたとき , コントロールステー
タスレジスタ (FMCS) の WE ビットが必ず "0" になっているようにしてください。
● 拡張インテリジェント I/O サービス (EI2OS)
フラッシュメモリインタフェース回路から CPU に発行された書込み / 消去割込みは ,
EI2OS には受付不可能であり , 使用できません。
376
第 23 章 1M ビットフラッシュメモリ
● VID の適用
セクタプロテクト動作に必要な VID の適用は , 供給電圧がオンのとき常に開始し , 終了
する必要があります。
377
第 23 章 1M ビットフラッシュメモリ
23.9
フラッシュメモリにおけるリセットベクタアドレス
MB90F598/F598G は , ハードワイヤードリセットベクタをサポートします。
内部ベクタモードでのアドレス FFFFDCH ∼ FFFFDFH へのすべての読出しアクセ
スは , ハードワイヤードロジックにより事前に決められた値を読み出すことになり
ます。しかし , フラッシュメモリモードでは , 前節で述べたようにこれらのアドレス
のアクセスが可能です。
このため , これらのアドレスへの書込みは意味がありません。特に(フラッシュメ
モリモードではなく)CPU アクセスでフラッシュメモリをプログラミングするとき ,
ソフトウェアポーリング用にこれらのアドレスを読み出さないように注意してくだ
さい。さもなければ , フラッシュメモリはハードウェアシーケンスフラグ値の代り
に固定リセットベクタ値を返します。
■ フラッシュメモリにおけるリセットベクタアドレス
次の表に , リセットベクタとモードデータの事前に決められた値を示します。
< 注意事項 >
378
リセットベクタ
FFA000H
モードデータ
00H
リセットベクタとモードデータは事前に決められた値が設定されていますので , フ
ラッシュメモリに書き込むプログラムの中のリセットベクタ値とモードデータ値は
動作に影響を与えませんが , 同一のプログラムをマスク ROM 品で使用した場合 , 異
なる動作をする可能性がありますので , フラッシュメモリにも同一の値を書き込む
ことを推奨します。
第 23 章 1M ビットフラッシュメモリ
23.10
フラッシュセキュリティの特長
フラッシュセキュリティコントローラ機能により , フラッシュメモリの内容を外部
端子から読出されることを防止できます。
■ フラッシュセキュリティの特長
事前定義されたフラッシュメモリのアドレスが , フラッシュセキュリティコントロー
ラ(1M ビットフラッシュメモリ :FE0001, 2M ビットフラッシュメモリ :FC0001)に割
り当てられます。このアドレスに保護コード "01H" が書き込まれるとフラッシュメモ
リへのアクセスが制限されます。フラッシュメモリが一度保護されると , チップ消去を
行うまで , 機能のロックを解除することはできません。ロックを解除しない限り , いず
れの外部端子からもフラッシュメモリへの読出し / 書込みはできません。
この機能は , フラッシュメモリに格納される自己完結型プログラムやデータのセキュ
リティを必要とするアプリケーションに適しています。マイクロコントローラの外部
に位置するプログラム部分を対象アプリケーションが必要とする場合には , フラッ
シュセキュリティコントローラは , 目的の機能を提供することができません。このため ,
保護コードを設定した場合は , 外部ベクタフェッチモードは使用しません。
標準パラレルプログラマによるフラッシュマイクロコントローラのプログラミングに
は , 独特のセットアップが必要になることがあります。たとえば , ミナトエレクトロニ
クスのプログラマでは , デバイスチェックを切断する必要があります。保護コードは ,
フラッシュプログラミングの終わりにコーディングすることを推奨されます。これは ,
プログラミング中の不要な保護を回避するためです。
一度保護されたフラッシュメモリを再度プログラムするには , チップ消去操作を行う
必要があります。
詳細については , 弊社担当者にお問い合わせください。
379
第 23 章 1M ビットフラッシュメモリ
23.11
1M ビットフラッシュメモリのプログラム例
ここでは , 1M ビットフラッシュメモリのプログラム例を掲載します。
■ 1M ビットフラッシュメモリのプログラム例
NAME
FLASHWE
TITLE
FLASHWE
;-----------------------------------------------------------------------------;1Mbit-FLASH サンプルプログラム
;
;1: FLASHにあるプログラム(アドレス FFBC00H セクタ SA3/SA4)をRAM(アドレス
000700H)に転送する。
;
;2: RAM上でプログラムを実行する。
;3: PDR1の値をFLASH(アドレス FE0000H セクタ SA0)に書き込む。
;4: 書き込んだ値(アドレス FE0000H セクタ SA0)を読出しPDR2に出力する。
;5: 書き込んだセクタ(SA0)を消去する。
;6: 消去データ確認の出力
; 条件
;
・RAM転送バイト数: 100H(256B)
;
・書込み,消去の終了判定
;
DQ5(タイミングリミット超過フラグ)での判定
;
DQ6(トグルビットフラグ)での判定
;
RDY(FMCS)での判定
;
・エラー時の処理
;
P00~P07にHiを出力する
;
リセットコマンド発行
;-----------------------------------------------------------------------------;
RESOUS IOSEG
ABS=00
;"RESOUS"I/Oセグメントの定義
ORG
0000H
PDR0
RB
1
PDR1
RB
1
PDR2
RB
1
PDR3
RB
1
ORG
0010H
DDR0
RB
1
DDR1
RB
1
DDR2
RB
1
DDR3
RB
1
ORG
00A1H
CKSCR
RB
1
ORG
00AEH
FMCS
RB
1
ORG
006FH
ROMM
RB
1
RESOUS ENDS
;
SSTA
SSEG
RW
0127H
STA_T
RW
1
SSTA
ENDS
;
DATA
DSEG
ABS=0FFH
;FLASHコマンドアドレス
ORG
5554H
COMADR2 RW
1
380
第 23 章 1M ビットフラッシュメモリ
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(700H 番地)に"FLASH書込み消去プログラム(FFBCOOH)" を転送する
;//////////////////////////////////////////////////////////////
MOVW
A,#0700H
;転送先RAM領域
MOVW
A,#0BC00H
;転送元アドレス(プログラムのある位置)
MOVW
RW0,#100H
;転送するバイト数
MOVS
ADB,PCB
;FFBC00H から000700H へ100H 転送
CALLP
000700H
;転送したプログラムのあるアドレスへジャンプ
;/////////////////////////////////////////////////////
;データ出力
;/////////////////////////////////////////////////////
OUT
MOV
A,#0FEH
MOV
ADB,A
MOVW
RW2,#0000H
MOVW
A,@RW2+00
MOV
PDR2,A
END
JMP
*
CODE
ENDS
;////////////////////////////////////////////////////////////
;FLASH書込み消去プログラム(SA3/SA4)
;////////////////////////////////////////////////////////////
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,#0FEH
;ADB変更1
MOV
ADB,A
;書込みモード指定アドレス用バンク指定
MOV
PDR3,#00H
;スイッチ初期化
381
第 23 章 1M ビットフラッシュメモリ
MOV
DDR3,#00H
;
WAIT1
BBC
PDR3:0,WAIT1
;PDR3:0 Hiで書込みスタート
;
;////////////////////////////////////////////////
; 書込み(SA0)
;////////////////////////////////////////////////
MOV
A,PDR1
MOVW
@RW0+00,A
;RAMにPDR1データを確保
MOV
FMCS,#20H
;書込みモード設定
MOVW
ADB:COMADR1,#00AAH
;フラッシュ書込みコマンド1
MOVW
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タイムリミットチェック
BZ
NTOW
;タイムリミットオーバ
MOVW
A,@RW2+00
;AH
MOVW
A,@RW2+00
;AL
XORW
A
;AH ALのXOR(値が違えば1)
AND
A,#40H
;DQ6トグルビットは違っているか
BNZ
ERROR
;違えばERRORへ
;
///////////////////////////////////////
;
書込み終了チェック(FMCS-RDY)
;
///////////////////////////////////////
NTOW
MOVW
A,FMCS
AND
A,#10H
;FMCS RDYビット(4bit)抽出
BZ
WRITE
;書込み終了か ?
MOV
FMCS,#00H
;書込みモード解除
;/////////////////////////////////////////////////////
;書込みデータ出力
;/////////////////////////////////////////////////////
MOVW
RW2,#0000H
;書込みデータ出力
MOVW
A,@RW2+00
MOV
PDR2,A
;
WAIT2
BBC
PDR3:1,WAIT2
;PDR3:1 Hiでセクタ消去スタート
;
;/////////////////////////////////////////////
;セクタ消去(SA0)
;/////////////////////////////////////////////
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
382
第 23 章 1M ビットフラッシュメモリ
ELS
;
;
;
; 待ち時間チェック
///////////////////////////////////////////////////////////////////
タイムリミット超過チェック- フラグが立ちトグル動作中であるときERROR
///////////////////////////////////////////////////////////////////
MOVW
A,@RW2+00
AND
A,#20H
;DQ5タイムリミットチェック
BZ
NTOE
;タイムリミットオーバ
MOVW
A,@RW2+00
;AH
書込み動作中は,DQ6から
MOVW
A,@RW2+00
;AL
リードごとHi Lowが交互出力される
XORW
A
;AHとALのXOR(DQ6の値が違えば1 書込み動作
;
中である)
AND
A,#40H
;DQ6トグルビットはHiか
BNZ
ERROR
;HiならERRORへ
;
///////////////////////////////////////
;
消去終了チェック(FMCS-RDY)
;
///////////////////////////////////////
NTOE
MOVW
A,FMCS
;
AND
A,#10H
;FMCS RDYビット(4bit)抽出
BZ
ELS
;セクタ消去終了か?
MOV
FMCS,#00H
;FLASH消去モード解除
RETP
;メインプログラムに戻る
;//////////////////////////////////////////////
;エラー
;//////////////////////////////////////////////
ERROR MOV
ADB:COMADR1,#0F0H
;リセットコマンド(読出しが可能になる)
MOV
FMCS,#00H
;FLASHモード解除
MOV
PDR0,#0FFH
;エラー処理の確認
RETP
;メインプログラムに戻る
RAMPRG ENDS
;/////////////////////////////////////////////
VECT
CSEG
ABS=0FFH
ORG
0FFDCH
DSL
START
DB
00H
VECT
ENDS
;
END
START
383
第 23 章 1M ビットフラッシュメモリ
384
第 24 章
MB90F598/F598G シリアル
書き込み接続例
横河ディジタルコンピュータ株式会社製 AF220/
AF210/AF120/AF110 フラッシュマイコンプログラ
マを用いた場合のシリアル書込み接続例について
説明します。
24.1 MB90F598/F598G シリアル書込み接続の基本構成
24.2 シリアル書込み接続例 ( ユーザ電源使用時 )
24.3 シリアル書込み接続例 ( ライタから電源供給時 )
24.4 フラッシュマイコンプログラマとの最小限の接続例
( ユーザ電源使用時 )
24.5 フラッシュマイコンプログラマとの最小限の接続例
( ライタから電源供給時 )
385
第 24 章 MB90F598/F598G シリアル書き込み接続例
24.1
MB90F598/F598G シリアル書込み接続の基本構成
MB90F598 では , フラッシュ ROM のシリアルオンボード書込み(富士通標準)を
サポートしています。その仕様について以下に解説します。
■ MB90F598/F598G シリアル書込み接続の基本構成
富士通標準シリアルオンボード書込みには , 横河ディジタルコンピュータ株式会社製
AF220/AF210/AF120/AF110 フラッシュマイコンプログラマを使用します。
ホストインタフェースケーブル(AZ201)
汎用共通ケーブル(AZ210)
RS232C
AF220/AF210/
AF120/AF110
フラッシュ
マイコン
プログラマ
+
メモリカード
CLK同期シリアル MB90F598/F598G
ユーザシステム
スタンドアロンで動作可能
< 注意事項 >
AF220/AF210/AF120/AF110 フラッシュマイコンプログラマの機能・操作方法及び
接続用汎用共通ケーブル (AZ210), コネクタにつきましては , 横河ディジタルコン
ピュータ株式会社殿にお問い合わせください。
表 24.1-1 富士通標準シリアルオンボード書込みに使用する端子
端 子
機 能
補足説明
MD2 ∼ MD0 モード端子
フラッシュマイコンプログラマから, 書込みモードに制御します。
X0, X1
発振用端子
書込みモード時に , CPU 内部動作クロックは PLL クロック 1 逓倍
となっています。したがいまして , 発振クロック周波数が , 内部動
作クロックとなりますので , シリアル書換え時に使用する発振子
は 3MHz ∼ 5MHz となります。
P00, P01
書込みプログラム起動端子
-
RST
リセット端子
-
SIN1
シリアルデータ入力端子
SOT1
シリアルデータ出力端子
SCK1
シリアルクロック入力端子
C
C 端子
電源安定化の容量端子です。外部に 0.1 µF 程度のセラミックコン
デンサを接続してください。
VCC
電源電圧供給端子
書込み電圧 (5V ± 10%) をユーザシステムから供給する場合には
フラッシュマイコンプログラマとの接続は必要ありません。接続
時にはユーザ側の電源と短絡しないようにしてください。
VSS
GND 端子
フラッシュマイコンプログラマの GND と共通にします。
HST
ハードウェアスタンバイ端子 シリアル書込みモード中は "H" レベルを入力してください。
386
UART1 を CLK 同期モードとして使用します。
第 24 章 MB90F598/F598G シリアル書き込み接続例
P00, SIN1, SOT1, SCK1 端子をユーザシステムでも使用する場合には , 下図の制御回路
が必要となります。フラッシュマイコンプログラマの /TICS 信号により , シリアル書込
み中はユーザ回路を切り離すことができます。
AF220/AF210/AF120/AF110
書込み制御端子
MB90F598/F598G
書込み制御端子
10kΩ
AF220/AF210/
AF120/AF110
/TICS端子
ユーザ
次節以降に , 以下のシリアル書込み接続例を示しますのでご参照ください。
• シリアル書込み接続例 ( ユーザー電源使用時 )
• シリアル書込み接続例 ( ライタから電源供給時 )
• フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 )
• フラッシュマイコンプログラマとの最小限の接続例 ( ライタから電源供給時 )
387
第 24 章 MB90F598/F598G シリアル書き込み接続例
■ フラッシュマイコンプログラマのシステム構成 ( 横河ディジタルコンピュータ株式
会社製 )
表 24.1-2 フラッシュマイコンプログラマのシステム構成 ( 横河ディジタルコンピュータ株式会社製 )
型 格
本体
< 注意事項 >
388
機 能
AF220/AC4P
イーサネットインタフェース内蔵モデル /100V ∼ 220V 電源アダ
プタ
AF210/AC4P
スタンダードモデル /100V ∼ 220V 電源アダプタ
AF120/AC4P
単キー イーサネットインタフェース内蔵モデル /100V ∼ 220V 電
源アダプタ
AF110/AC4P
単キーモデル /100V ∼ 220V 電源アダプタ
AZ221
ライタ専用 PC/AT 用 RS232C ケーブル
AZ210
標準ターゲットプローブ (a) 長さ :1m
FF210
富 士 通 製 F2MC-16LX フ ラ ッ シ ュ マ イ コ ン 用 コ ン ト ロ ー ル モ
ジュール
/P2
2MB PC Card(Option) FLASH メモリ容量∼ 128KB 対応
/P4
4MB PC Card(Option) FLASH メモリ容量∼ 512KB 対応
AF200 フラッシュマイコンプログラマは終息製品ですが , コントロールモジュール
FF201 を用いることにより使用できます。シリアル書込み接続も , 次節に示します
接続例にて対応できます。
第 24 章 MB90F598/F598G シリアル書き込み接続例
■ 発振クロック周波数とシリアルクロック入力周波数について
MB90F598/F598Gの入力可能なシリアルクロック周波数は, 以下の計算式によって求め
ることができます。したがって , ご使用の発振クロック周波数に合わせて , シリアルク
ロック入力周波数をフラッシュマイコンプログラマの設定により変更してください。
入力可能なシリアルクロック周波数 = 0.125 ×発振クロック周波数
表 24.1-3 入力可能なシリアルクロック周波数の例
発振クロック周波数
マイコンの入力可能な
最大シリアルクロック
周波数
AF220/AF210/AF120/
AF110 の設定可能な
最大シリアルクロック
周波数
AF200 の設定可能な
最大シリアルクロック
周波数
4MHz 時
500kHz
500kHz
500kHz
8MHz 時
1MHz
850kHz
500kHz
16MHz 時
2MHz
1.25MHz
500kHz
389
第 24 章 MB90F598/F598G シリアル書き込み接続例
24.2
シリアル書込み接続例 ( ユーザ電源使用時 )
図 24.2-1 に , マイコンの電源電圧をユーザ電源より供給する場合の , シリアル書込
み接続例を示します。なお , モード端子 MD2, MD0 には , AF220/AF210/AF120/
AF110 の TAUX3, TMODE より , MD2=1, MD0=0 が入力されます。
シリアル書き換えモード :MD2, MD1, MD0=110
■ シリアル書込み接続例 ( ユーザ電源使用時 )
図 24.2-1 MB90F598/F598G シリアル書込み接続例 ( ユーザ電源使用時 )
AF220/AF210/AF120/AF110 ユーザシステム
フラッシュマイコン
コネクタ
プログラマ
DX10-28S
TAUX3
MB90F598/F598G
MD2
(19)
10k Ω
10k Ω
MD1
10k Ω
TMODE
MD0
X0
(12)
3MHz~5MHz
X1
TAUX
P00
(23)
10k Ω
/TICS
(10)
ユーザ
ユーザ
10k Ω
HST
10k Ω
/TRES
RST
(5)
10k Ω
ユーザ
0.1µF
TTXD
TRXD
TCK
(13)
(27)
(6)
TVcc
(2)
P01
C
SIN1
SOT1
SCK1
Vcc
ユーザ電源
GND
(7,8,
14,15.
21,22
1,28)
Vss
14ピン
3, 4, 9, 11, 16, 17, 18, 20,
24, 25, 26ピンはOPEN
DX10-28S:ライトアングルタイプ
390
1ピン
DX10-28S
28ピン
15ピン
コネクタ (ヒロセ電機製)のピン配列
第 24 章 MB90F598/F598G シリアル書き込み接続例
SIN1, SOT1, SCK1端子をユーザシステムでも使用する場合には , P00と同様下図の制御
回路が必要となります ( フラッシュマイコンプログラマの /TICS 信号により , シリアル
書き込み中はユーザ回路を切り離すことができます )。
• AF220/AF210/AF120/AF110との接続は, ユーザ電源がOFFの状態で行ってください。
AF220/AF210/AF120/AF110
書込み制御端子
MB90F598/F598G
書込み制御端子
10kΩ
AF220/AF210/
AF120/AF110
/TICS端子
ユーザ
391
第 24 章 MB90F598/F598G シリアル書き込み接続例
24.3
シリアル書込み接続例 ( ライタから電源供給時 )
図 24.3-1 に , マイコンの電源電圧をライタ電源より供給する場合の , シリアル書込
み接続例を示します。なお , モード端子 MD2, MD0 には , AF220/AF210/AF120/
AF110 の TAUX3, TMODE より , MD2=1, MD0=0 が入力されます。
シリアル書き換えモード :MD2 ∼ MD0=110
■ シリアル書込み接続例 ( ライタから電源供給時 )
図 24.3-1 MB90F598/F598G シリアル書込み接続例 ( ライタから電源供給時 )
AF220/AF210/AF120/AF110 ユーザシステム
フラッシュマイコン
コネクタ
プログラマ
DX10-28S
TAUX3
MB90F598/F598G
MD2
(19)
10kΩ
10k Ω
MD1
10kΩ
TMODE
MD0
X0
(12)
3MHz~5MHz
X1
TAUX
/TICS
P00
(23)
10kΩ
(10)
ユーザ
10kΩ
ユーザ
HST
10kΩ
/TRES
RST
(5)
10kΩ
ユーザ
0.1µF
TTXD
TRXD
TCK
TVcc
Vcc
TVPP1
(13)
(27)
(6)
(2)
(3)
(16)
P01
C
SIN1
SOT1
SCK1
Vcc
ユーザ電源
GND
(7,8,
14,15.
21,22
1,28)
4, 9, 11, 17, 18, 20,
24, 25, 26ピンはOPEN
DX10-28S: ライトアングルタイプ
Vss
14ピン
1ピン
28ピン
15ピン
DX10-28S
コネクタ(ヒロセ電機製)のピン配列
392
第 24 章 MB90F598/F598G シリアル書き込み接続例
• SIN1, SOT1, SCK1 端子をユーザシステムでも使用する場合には , P00 と同様下図の
制御回路が必要となります ( フラッシュマイコンプログラマの /TICS 信号により , シ
リアル書込み中はユーザ回路を切り離すことができます )。
• AF220/AF210/AF120/AF110との接続は, ユーザ電源がOFFの状態で行ってください。
• 書込み電源を AF220/AF210/AF120/AF110 から供給するときは , ユーザ電源と短絡し
ないでください。
AF220/AF210/AF120/AF110
書込み制御端子
MB90F598/F598G
書込み制御端子
10kΩ
AF220/AF210/
AF120/AF110
/TICS端子
ユーザ
393
第 24 章 MB90F598/F598G シリアル書き込み接続例
24.4
フラッシュマイコンプログラマとの最小限の接続例
( ユーザ電源使用時 )
図 24.4-1 に , マイコンの電源電圧をユーザ電源より供給する場合の , フラッシュマ
イコンプログラマとの最小限の接続例を示します。なお , モード端子 MD2, MD0 に
は , AF220/AF210/AF120/AF110 の TAUX3, TMODE より , MD2=1, MD0=0 が入力
されます。
シリアル書き換えモード :MD2 ∼ MD0=110
■ フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 )
フラッシュメモリ書込み時に , 各端子を下記のように設定して頂ければ , MD2 ∼ MD0,
P00 とフラッシュマイコンプログラマとの接続は必要ありません。
図 24.4-1 フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 )
AF220/AF210/AF120/AF110
フラッシュマイコン
プログラマ
ユーザシステム
シリアル書換え時1
10kΩ
MB90F598/F598G
MD2
シリアル書換え時1
10kΩ
10k Ω
10kΩ
10k Ω
MD1
MD0
シリアル書換え時0
10kΩ
X0
3MHz~5MHz
X1
P00
10kΩ
10kΩ
シリアル書換え時0
ユーザ回路
シリアル書換え時1
ユーザ回路
10k Ω
コネクタ
DX10-28S or
DX20-28S
/TRES
TTXD
TRXD
TCK
TVcc
(5)
(13)
(27)
(6)
(2)
GND
(7,8,
14,15,
21,22,
1,28)
3, 4, 9, 10, 11, 12, 16, 17, 18, 19,
20, 23, 24, 25, 26ピンはOPEN
DX10-28S:ライトアングルタイプ
0.1µ F
10kΩ
P01
HST
C
RST
SIN1
SOT1
SCK1
Vcc
ユーザ電源
DX10-28S
Vss
14ピン
1ピン
28ピン
15ピン
コネクタ(ヒロセ電機製)のピン配列
394
第 24 章 MB90F598/F598G シリアル書き込み接続例
• SIN1, SOT1, SCK1 端子をユーザシステムでも使用する場合には , 下図の制御回路が
必要となります ( フラッシュマイコンプログラマの /TICS 信号により , シリアル書
込み中はユーザ回路を切り離すことができます )。
• AF220/AF210/AF120/AF110との接続は, ユーザ電源がOFFの状態で行ってください。
AF220/AF210/AF120/AF110
書込み制御端子
MB90F598/F598G
書込み制御端子
10kΩ
AF220/AF210/
AF120/AF110
/TICS端子
ユーザ
395
第 24 章 MB90F598/F598G シリアル書き込み接続例
24.5
フラッシュマイコンプログラマとの最小限の接続例
( ライタから電源供給時 )
図 24.5-1 に , マイコンの電源電圧をライタ電源より供給する場合の , フラッシュマ
イコンプログラマとの最小限の接続例を示します。
シリアル書き換えモード :MD2 ∼ MD0=110
■ フラッシュマイコンプログラマとの最小限の接続例 ( ライタから電源供給時 )
フラッシュメモリ書込み時に各端子を下記のように設定して頂ければ , MD2 ∼ MD0,
P00 とフラッシュマイコンプログラマとの接続は必要ありません。
図 24.5-1 フラッシュマイコンプログラマとの最小限の接続例 ( ライタから電源供給時 )
AF220/AF210/AF120/AF110 ユーザシステム
フラッシュマイコン
プログラマ
シリアル書換え時1
10k Ω
MB90F598/F598G
MD2
シリアル書換え時1
10kΩ
10k Ω
MD1
10kΩ
10kΩ
MD0
シリアル書換え時0
10kΩ
X0
3MHz~5MHz
シリアル書換え時0
X1
P00
10kΩ
10k Ω
ユーザ回路
P01
シリアル書換え時1
ユーザ回路
10kΩ
コネクタ
DX10-28S
/TRES
TTXD
TRXD
TCK
TVcc
Vcc
TVPP1
GND
(5)
(13)
(27)
(6)
(2)
(3)
(16)
0.1µ F
10kΩ
RST
SIN1
SOT1
SCK1
Vcc
(7,8,
14,15,
21,22,
1,28)
4, 9, 10, 11, 12, 17, 18, 19,
20, 23, 24, 25, 26ピンはOPEN
DX10-28S:ライトアングルタイプ
HST
C
Vss
DX10-28S
14ピン
1ピン
28ピン
15ピン
コネクタ(ヒロセ電機製)のピン配列
396
第 24 章 MB90F598/F598G シリアル書き込み接続例
• SIN1, SOT1, SCK1 端子をユーザシステムでも使用する場合には , 下図の制御回路が
必要となります(フラッシュマイコンプログラマの /TICS 信号により , シリアル書
込み中はユーザ回路を切り離すことができます)
。
• AF220/AF210/AF120/AF110との接続は, ユーザ電源がOFFの状態で行ってください。
• 書込み電源を AF220/AF210/AF120/AF110 から供給するときは , ユーザ電源と短絡し
ないでください。
AF220/AF210/AF120/AF110
書込み制御端子
MB90F598/F598G
書込み制御端子
10kΩ
AF220/AF210/
AF120/AF110
/TICS端子
ユーザ
397
第 24 章 MB90F598/F598G シリアル書き込み接続例
398
付録
付録では , I/O マップ , 命令などを示します。
付録 A I/O マップ
付録 B 命令
付録 C フラッシュメモリモードのタイミングダイアグラム
付録 D MB90595 割込みベクタ一覧表
399
付録 A I/O マップ
付録 A
I/O マップ
表 A-1 と表 A-2 に , 周辺ブロック中のレジスタに割り当てられるアドレスを示しま
す。
■ I/O マップ
表 A-1 I/O マップ (1) ( 1 / 5 )
アドレス
レジスタ
アクセス
周辺
初期値
00H
ポート 0 データレジスタ
PDR0
R/W
ポート 0
XXXXXXXX
01H
ポート 1 データレジスタ
PDR1
R/W
ポート 1
XXXXXXXX
02H
ポート 2 データレジスタ
PDR2
R/W
ポート 2
XXXXXXXX
03H
ポート 3 データレジスタ
PDR3
R/W
ポート 3
XXXXXXXX
04H
ポート 4 データレジスタ
PDR4
R/W
ポート 4
XXXXXXXX
05H
ポート 5 データレジスタ
PDR5
R/W
ポート 5
XXXXXXXX
06H
ポート 6 データレジスタ
PDR6
R/W
ポート 6
XXXXXXXX
07H
ポート 7 データレジスタ
PDR7
R/W
ポート 7
XXXXXXXX
08H
ポート 8 データレジスタ
PDR8
R/W
ポート 8
XXXXXXXX
09H
ポート 9 データレジスタ
PDR9
R/W
ポート 9
- -XXXXXX
0AH ∼ 0FH
使用禁止
10H
ポート 0 方向レジスタ
DDR0
R/W
ポート 0
00000000
11H
ポート 1 方向レジスタ
DDR1
R/W
ポート 1
00000000
12H
ポート 2 方向レジスタ
DDR2
R/W
ポート 2
00000000
13H
ポート 3 方向レジスタ
DDR3
R/W
ポート 3
00000000
14H
ポート 4 方向レジスタ
DDR4
R/W
ポート 4
00000000
15H
ポート 5 方向レジスタ
DDR5
R/W
ポート 5
00000000
16H
ポート 6 方向レジスタ
DDR6
R/W
ポート 6
00000000
17H
ポート 7 方向レジスタ
DDR7
R/W
ポート 7
00000000
18H
ポート 8 方向レジスタ
DDR8
R/W
ポート 8
00000000
19 H
ポート 9 方向レジスタ
DDR9
R/W
ポート 9
- -000000
R/W
ポート 6, A/D
11111111
1AH
1BH
使用禁止
アナログ入力許可レジスタ
1CH ∼ 1FH
400
略称
ADER
使用禁止
20H
シリアル・モード・コントロール・レジスタ 0
UMC0
R/W
21H
ステータスレジスタ 0
USR0
R/W
22H
インプット / アウトプットデータレジスタ 0
UIDR0/
UODR0
R/W
23H
レート / データレジスタ 0
URD0
R/W
00000100
00010000
UART0
XXXXXXXX
0000000X
付録 A I/O マップ
表 A-1 I/O マップ (1) ( 2 / 5 )
アドレス
レジスタ
略称
アクセス
周辺
初期値
24H
シリアルモードレジスタ 1
SMR1
R/W
00000000
25H
シリアルコントロールレジスタ 1
SCR1
R/W
00000100
26H
インプット / アウトプットデータレジスタ 1
SIDR1/
SODR1
R/W
27H
シリアルステータスレジスタ 1
SSR1
R/W
00001-00
28H
UART1 プリスケーラコントロールレジスタ
U1CDCR
R/W
0 - --1111
29H ∼ 2AH
UART1(SCI)
XXXXXXXX
使用禁止
2BH
シリアル IO プリスケーラレジスタ
SCDCR
R/W
0 - --1111
2CH
シリアルモードコントロールレジスタ(下位)
SMCS
R/W
- - - -0000
2DH
シリアルモードコントロールレジスタ(上位)
SMCS
R/W
2E H
シリアルデータレジスタ
SDR
R/W
XXXXXXXX
2FH
エッジセレクタレジスタ
SES
R/W
- - - - - --0
30H
外部割込み許可レジスタ
ENIR
R/W
00000000
31H
外部割込み要求レジスタ
EIRR
R/W
32H
要求レベル設定レジスタ(下位)
ELVR
R/W
33H
要求レベル設定レジスタ(上位)
ELVR
R/W
00000000
34H
A/D コントロールステータスレジスタ 0
ADCS0
R/W
00000000
35H
A/D コントロールステータスレジスタ 1
ADCS1
R/W
36H
A/D データ 0 レジスタ
ADCR0
R
37H
A/D データ 1 レジスタ
ADCR1
R/W
38H
PPG0 動作モード制御レジスタ
PPGC0
R/W
39H
PPG1 動作モード制御レジスタ
PPGC1
R/W
3AH
PPG0, PPG1 出力端子制御レジスタ
PPG01
R/W
3BH
シリアル I/O
外部割込み
A/D コンバータ
00000010
XXXXXXXX
00000000
00000000
XXXXXXXX
00001-XX
16bit プログラマブ
ルパルス発生部
0/1
0-000 - -1
0-000001
000000 - -
使用禁止
3CH
PPG2 動作モード制御レジスタ
PPGC2
R/W
3DH
PPG3 動作モード制御レジスタ
PPGC3
R/W
3E H
PPG2, PPG3 出力端子制御レジスタ
PPG23
R/W
3FH
16bit プログラマブ
ルパルス発生部
2/3
0-000 - -1
0-000001
000000 - -
使用禁止
40H
PPG4 動作モード制御レジスタ
PPGC4
R/W
41H
PPG5 動作モード制御レジスタ
PPGC5
R/W
42H
PPG4, PPG5 出力端子制御レジスタ
PPG45
R/W
43H
16bit プログラマブ
ルパルス発生部
4/5
0-000 - -1
0-000001
000000 - -
使用禁止
44H
PPG6 動作モード制御レジスタ
PPGC6
R/W
45H
PPG7 動作モード制御レジスタ
PPGC7
R/W
46H
PPG6, PPG7 出力端子制御レジスタ
PPG67
R/W
47H
16bit プログラマブ
ルパルス発生部
6/7
0-000 - -1
0-000001
000000 - -
使用禁止
48H
PPG8 動作モード制御レジスタ
PPGC8
R/W
49H
PPG9 動作モード制御レジスタ
PPGC9
R/W
4AH
PPG8,PPG 9 出力端子制御レジスタ
PPG89
R/W
16bit プログラマブ
ルパルス発生部
8/9
0-000 - -1
0-000001
000000 - 401
付録 A I/O マップ
表 A-1 I/O マップ (1) ( 3 / 5 )
アドレス
レジスタ
4BH
アクセス
周辺
初期値
使用禁止
4CH
PPGA 動作モード制御レジスタ
PPGCA
R/W
4DH
PPGB 動作モード制御レジスタ
PPGCB
R/W
4EH
PPGA, B 出力端子制御レジスタ
PPGAB
R/W
4FH
16bit プログラマブ
ルパルス発生部
A/B
0-000 - -1
0-000001
000000 - -
使用禁止
50H
タイマコントロールステータスレジスタ 0
(下位)
TMCSR0
R/W
51H
タイマコントロールステータスレジスタ 0
(上位)
TMCSR0
R/W
00000000
- - - -0000
16bit リロードタイマ 0
52H
タイマレジスタ 0/ リロードレジスタ 0(下位)
TMR0/
TMRLR0
R/W
XXXXXXXX
53H
タイマレジスタ 0/ リロードレジスタ 0(上位)
TMR0/
TMRLR0
R/W
XXXXXXXX
00000000
54H
タイマコントロールステータスレジスタ 1
(下位)
TMCSR1
R/W
55H
タイマコントロールステータスレジスタ 1
(上位)
TMCSR1
R/W
- - - -0000
16bit リロードタイマ 1
56H
タイマレジスタ 1/ リロードレジスタ 1(下位)
TMR1/
TMRLR1
R/W
XXXXXXXX
57H
タイマレジスタ 1/ リロードレジスタ 1(上位)
TMR1/
TMRLR1
R/W
XXXXXXXX
58H
アウトプット・コンペア・コントロール・ス
テータスレジスタ 0
OCS0
R/W
59H
アウトプット・コンペア・コントロール・ス
テータスレジスタ 1
OCS1
R/W
5AH
アウトプット・コンペア・コントロール・ス
テータスレジスタ 2
OCS2
R/W
5BH
アウトプット・コンペア・コントロール・ス
テータスレジスタ 3
OCS3
R/W
5CH
インプット・キャプチャ・コントロール・ス
テータスレジスタ 0/1
ICS01
R/W
インプットキャプチャ
0/1
00000000
5DH
インプット・キャプチャ・コントロール・ス
テータスレジスタ 2/3
ICS23
R/W
インプットキャプチャ
2/3
00000000
5EH
PWM 制御レジスタ 0
PWC0
R/W
ステッピングモー
タコントローラ 0
00000 - -0
R/W
ステッピングモー
タコントローラ 1
00000 - -0
R/W
ステッピングモー
タコントローラ 2
00000 - -0
R/W
ステッピングモー
タコントローラ 3
00000 - -0
5FH
60H
62H
PWM 制御レジスタ 1
- --00000
0000 - -00
アウトプットコンペア
2/3
- --00000
PWC1
使用禁止
PWM 制御レジスタ 2
63H
64H
0000 - -00
アウトプットコンペア
0/1
使用禁止
61H
402
略称
PWC2
使用禁止
PWM 制御レジスタ 3
PWC3
付録 A I/O マップ
表 A-1 I/O マップ (1) ( 4 / 5 )
アドレス
レジスタ
65H
略称
アクセス
周辺
初期値
入出力タイマ
00000000
使用禁止
66H
タイマデータレジスタ(下位)
TCDT
R/W
67H
タイマデータレジスタ(上位)
TCDT
R/W
00000000
68H
タイマコントロールステータスレジスタ
TCCS
R/W
00000000
69H ∼ 6EH
使用禁止
6FH
ROM ミラー機能選択レジスタ
ROMM
R/W
70H
PWM1 コンペアレジスタ 0
PWC10
R/W
71H
PWM2 コンペアレジスタ 0
PWC20
R/W
72H
PWM1 選択レジスタ 0
PWS10
R/W
73H
PWM2 選択レジスタ 0
PWS20
R/W
-0000000
74H
PWM1 コンペアレジスタ 1
PWC11
R/W
XXXXXXXX
75H
PWM2 コンペアレジスタ 1
PWC21
R/W
76H
PWM1 選択レジスタ 1
PWS11
R/W
77H
PWM2 選択レジスタ 1
PWS21
R/W
-0000000
78H
PWM1 コンペアレジスタ 2
PWC12
R/W
XXXXXXXX
79H
PWM2 コンペアレジスタ 2
PWC22
R/W
7AH
PWM1 選択レジスタ 2
PWS12
R/W
7BH
PWM2 選択レジスタ 2
PWS22
R/W
-0000000
7CH
PWM1 コンペアレジスタ 3
PWC13
R/W
XXXXXXXX
7DH
PWM2 コンペアレジスタ 3
PWC23
R/W
7EH
PWM1 選択レジスタ 3
PWS13
R/W
7FH
PWM2 選択レジスタ 3
PWS23
R/W
80H ∼ 8FH
ROM ミラー
- - - - - --1
XXXXXXXX
ステッピングモー
タコントローラ 0
ステッピングモー
タコントローラ 1
ステッピングモー
タコントローラ 2
ステッピングモー
タコントローラ 3
XXXXXXXX
- -000000
XXXXXXXX
- -000000
XXXXXXXX
- -000000
XXXXXXXX
- -000000
-0000000
CAN インタフェース 0/1 用に予約済。『CAN コントローラハードウェアマニュアル』を参照。
90H ∼ 9DH
使用禁止
9EH
プログラムアドレス検出コントロール / ステー
タスレジスタ
PACSR
R/W
アドレス一致検出機能
00000000
9FH
遅延割込み要因発生 / 解除レジスタ
DIRR
R/W
遅延割込み
- - - - - --0
A0H
低消費電力モード制御レジスタ
LPMCR
R/W
低消費電力制御回路
00011000
A1H
クロック選択レジスタ
CKSCR
R/W
低消費電力制御回路
11111100
A2H ∼ A7H
使用禁止
A8H
ウォッチドッグタイマ制御レジスタ
WDTC
R/W
ウォッチドッグタイマ
XXXXX111
A9H
タイムベースタイマ制御レジスタ
TBTC
R/W
タイムベースタイマ
1 - -00100
R/W
フラッシュメモリ
000X0000
AAH ∼ ADH
AEH
AFH
使用禁止
フラッシュメモリコントロールステータスレジ
スタ(MB90F598/F598G のみ , それ以外は使用
禁止)
FMCS
使用禁止
403
付録 A I/O マップ
表 A-1 I/O マップ (1) ( 5 / 5 )
アドレス
略称
アクセス
周辺
初期値
B0H
割込み制御レジスタ 00
ICR00
R/W
00000111
B1H
割込み制御レジスタ 01
ICR01
R/W
00000111
B2H
割込み制御レジスタ 02
ICR02
R/W
00000111
B3H
割込み制御レジスタ 03
ICR03
R/W
00000111
B4H
割込み制御レジスタ 04
ICR04
R/W
00000111
B5H
割込み制御レジスタ 05
ICR05
R/W
00000111
B6H
割込み制御レジスタ 06
ICR06
R/W
00000111
B7H
割込み制御レジスタ 07
ICR07
R/W
B8H
割込み制御レジスタ 08
ICR08
R/W
B9H
割込み制御レジスタ 09
ICR09
R/W
00000111
BAH
割込み制御レジスタ 10
ICR10
R/W
00000111
BBH
割込み制御レジスタ 11
ICR11
R/W
00000111
BCH
割込み制御レジスタ 12
ICR12
R/W
00000111
BDH
割込み制御レジスタ 13
ICR13
R/W
00000111
BEH
割込み制御レジスタ 14
ICR14
R/W
00000111
BFH
割込み制御レジスタ 15
ICR15
R/W
00000111
C0H ∼ FFH
404
レジスタ
使用禁止
割込みコントローラ
00000111
00000111
付録 A I/O マップ
表 A-2 I/O マップ (2) (1 / 2)
アドレス
レジスタ
略称
アクセス
周辺
初期値
1900H
リロードレジスタ L
PRLL0
R/W
1901H
リロードレジスタ H
PRLH0
R/W
1902H
リロードレジスタ L
PRLL1
R/W
1903H
リロードレジスタ H
PRLH1
R/W
XXXXXXXX
1904H
リロードレジスタ L
PRLL2
R/W
XXXXXXXX
1905H
リロードレジスタ H
PRLH2
R/W
1906H
リロードレジスタ L
PRLL3
R/W
1907H
リロードレジスタ H
PRLH3
R/W
1908H
リロードレジスタ L
PRLL4
R/W
1909H
リロードレジスタ H
PRLH4
R/W
190AH
リロードレジスタ L
PRLL5
R/W
190BH
リロードレジスタ H
PRLH5
R/W
190CH
リロードレジスタ L
PRLL6
R/W
190DH
リロードレジスタ H
PRLH6
R/W
190EH
リロードレジスタ L
PRLL7
R/W
190FH
リロードレジスタ H
PRLH7
R/W
1910H
リロードレジスタ L
PRLL8
R/W
XXXXXXXX
16bit プログラマブ
ルパルス発生部
0/1
16bit プログラマブ
ルパルス発生部
2/3
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
16bit プログラマブ
ルパルス発生部
4/5
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
16bit プログラマブ
ルパルス発生部
6/7
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
16bit プログラマブ
ルパルス発生部
8/9
1911H
リロードレジスタ H
PRLH8
R/W
1912H
リロードレジスタ L
PRLL9
R/W
1913H
リロードレジスタ H
PRLH9
R/W
XXXXXXXX
1914H
リロードレジスタ L
PRLLA
R/W
XXXXXXXX
1915H
リロードレジスタ H
PRLHA
R/W
1916H
リロードレジスタ L
PRLLB
R/W
1917H
リロードレジスタ H
PRLHB
R/W
XXXXXXXX
XXXXXXXX
1918H ∼ 191FH
16bit プログラマブ
ルパルス発生部
A/B
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
使用禁止
1920H
インプットキャプチャレジスタ 0(下位)
IPCP0
R
1921H
インプットキャプチャレジスタ 0(上位)
IPCP0
R
1922H
インプットキャプチャレジスタ 1(下位)
IPCP1
R
1923H
インプットキャプチャレジスタ 1(上位)
IPCP1
R
XXXXXXXX
1924H
インプットキャプチャレジスタ 2(下位)
IPCP2
R
XXXXXXXX
1925H
インプットキャプチャレジスタ 2(上位)
IPCP2
R
1926H
インプットキャプチャレジスタ 3(下位)
IPCP3
R
1927H
インプットキャプチャレジスタ 3(上位)
IPCP3
R
XXXXXXXX
1928H
アウトプットコンペアレジスタ 0(下位)
OCCP0
R/W
XXXXXXXX
1929H
アウトプットコンペアレジスタ 0(上位)
OCCP0
R/W
192AH
アウトプットコンペアレジスタ 1(下位)
OCCP1
R/W
192BH
アウトプットコンペアレジスタ 1(上位)
OCCP1
R/W
インプットキャプチャ
0/1
インプットキャプチャ
2/3
アウトプットコンペア
0/1
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
405
付録 A I/O マップ
表 A-2 I/O マップ (2) (2 / 2)
アドレス
レジスタ
略称
アクセス
192CH
アウトプットコンペアレジスタ 2(下位)
OCCP2
R/W
192DH
アウトプットコンペアレジスタ 2(上位)
OCCP2
R/W
192EH
アウトプットコンペアレジスタ 3(下位)
OCCP3
R/W
192FH
アウトプットコンペアレジスタ 3(上位)
OCCP3
R/W
1930H ∼ 19FFH
周辺
初期値
XXXXXXXX
アウトプットコンペア
2/3
XXXXXXXX
XXXXXXXX
XXXXXXXX
使用禁止
1A00H ∼ 1AFFH CAN インタフェース用に予約済。『CAN コントローラハードウェアマニュアル』参照。
1B00H ∼ 1BFFH CAN インタフェース用に予約済。『CAN コントローラハードウェアマニュアル』参照。
1C00H ∼ 1EFFH
使用禁止
1FF0H
プログラムアドレス検出レジスタ 0(下位)
1FF1H
プログラムアドレス検出レジスタ 0(中位)
1FF2H
プログラムアドレス検出レジスタ 0(上位)
1FF3H
プログラムアドレス検出レジスタ 1(下位)
1FF4H
プログラムアドレス検出レジスタ 1(中位)
1FF5H
プログラムアドレス検出レジスタ 1(上位)
1FF6H ∼ 1FFFH
XXXXXXXX
PADR0
R/W
XXXXXXXX
アドレス一致検出機能
PADR1
R/W
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
使用禁止
● 初期値 "?" は未使用ビットを表し , "X" は値が不定であることを示します。
● 表にリストされていない 0000H ∼ 00FFH の範囲のアドレスは , MCU の主要機能のために予
約されています。これらの予約済アドレスへのリードアクセスの結果は "X" になり , ライ
トアクセスは禁止です。
● 読出し / 書込みについての説明
R/W: リードライト可能
R
: リードオンリ
W : ライトオンリ
● 初期値についての説明
0: このビットの初期値は "0" です。
1: このビットの初期値は "1" です。
X: このビットの初期値は不定です。
-: このビットは未使用です。初期値は不定です。
406
付録 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
407
付録 B 命令
B.1
命令の種類
F2MC-16LX には , 以下に示す 351 種類の命令があります。
■ 命令の種類
• 転送系命令 ( バイト ) 41 命令
• 転送系命令 ( ワード , ロングワード ) 38 命令
• 加減算命令 ( バイト , ワード , ロングワード ) 42 命令
• 増減算命令 ( バイト , ワード , ロングワード ) 12 命令
• 比較命令 ( バイト , ワード , ロングワード ) 11 命令
• 符号なし乗除算命令 ( ワード , ロングワード ) 11 命令
• 符号付き乗除算命令 ( ワード , ロングワード ) 11 命令
• 論理演算命令 ( バイト , ワード ) 39 命令
• 論理演算命令 ( ロングワード ) 6 命令
• 符号反転命令 ( バイト , ワード ) 6 命令
• ノーマライズ命令 ( ロングワード ) 1 命令
• シフト命令 ( バイト , ワード , ロングワード ) 18 命令
• 分岐命令 50 命令 ( 分岐命令 1: 31 命令 , 分岐命令 2: 19 命令 )
• アキュムレータ操作命令 ( バイト , ワード ) 6 命令
• その他制御命令 ( バイト , ワード , ロングワード ) 28 命令
• ビット操作命令 21 命令
• ストリング命令 10 命令
408
付録 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)
409
付録 B 命令
■ 実効アドレスフィールド
実効アドレスフィールドで指定される , アドレス形式を表 B.2-1 に示します。
表 B.2-1 実効アドレスフィールド
コード
410
表記
アドレス形式
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) は命令のオペランドには
記述されることなく指定されます。
411
付録 B 命令
図 B.3-2 に例を示します。
図 B.3-2 レジスタ直接例
MOV R0, A ( 汎用レジスタ R0 に A の下位 8 ビットを転送する命令 )
実行前
A 0716
2534
メモリ空間
R0
実行後
A 0716
2564
??
メモリ空間
R0
34
● 直接分岐アドレス (addr16)
分岐先のアドレスをディスプレースメントで直接指定します。ディスプレースメント
のデータ長は 16 ビットで , 論理空間内での分岐先を示します。無条件分岐命令 , サブ
ルーチンコール命令およびソフトウェア割込み命令に使用します。アドレスの bit23 ∼
bit16 はプログラムカウンタバンクレジスタ (PCB) で指定されます。図 B.3-3 に例を示
します。
図 B.3-3 直接分岐アドレス (addr16) 例
JMP 3B20H ( バンク内で直接分岐アドレス指定で , 無条件分岐を行う命令 )
実行前
PC 3 C 2 0
PCB 4 F
メモリ空間
4F3B20H 次の命令
実行後
412
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
413
付録 B 命令
● 短縮直接アドレス (dir)
オペランドでメモリアドレスの下位 8 ビットを直接指定します。アドレスの bit15 ∼
bit8 はダイレクトページレジスタ (DPR) により指定されます。アドレスの bit23 ∼ bit16
はデータバンクレジスタ (DTB) により指定されます。図 B.3-6 に例を示します。
図 B.3-6 短縮直接アドレス (dir) 例
MOV S : 20H, A (A の下位 8 ビットの内容を短縮直接アドレス指定方式で書き込む命令 )
A 4455
実行前
DPR 6 6
DTB 7 7
A 4455
実行後
DPR 6 6
1212
メモリ空間
776620H
1212
DTB 7 7
??
メモリ空間
776620H
12
● 直接アドレス (addr16)
オペランドで , メモリアドレス下位 16 ビットを直接指定します。アドレスの bit23 ∼
bit16 はデータバンクレジスタ (DTB) で指定されます。直接アドレスのアドレッシング
に対しては , アクセス空間指定用のプリフィックス命令は無効です。図 B.3-7 に例を示
します。
図 B.3-7 直接アドレス (addr16) 例
MOVW A, 3B20H ( 直接アドレスで読出しを行い , A に格納する命令 )
実行前
実行後
414
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
415
付録 B 命令
● 直接ビットアドレス (addr16: bp)
64K バイト内の任意のビットに対し直接指定します。アドレスの bit23 ∼ bit16 はデー
タバンクレジスタ (DTB) で指定されます。ビットの位置は ": bp" で表され , 数字の大き
い方が最上位ビット , 小さい方が最下位ビットとなります。図 B.3-10 に例を示します。
図 B.3-10 直接ビットアドレス (addr16: bp) 例
SETB 2222H : 0 ( 直接ビットアドレス指定でセットビットを行う命令 )
メモリ空間
DTB 5 5
実行前
00
552222H
メモリ空間
DTB 5 5
実行後
01
552222H
● ベクタアドレス (#vct)
分岐先のアドレスは指定されたベクタの内容となります。ベクタ番号のデータ長には
4 ビットと 8 ビットの 2 種類があります。サブルーチンコール命令 , ソフトウェア割込
み命令に使用します。図 B.3-11 に例を示します。
図 B.3-11 ベクタアドレス (#vct) 例
CALLV #15 ( オペランドで指定した割込みベクタが示すアドレスへ分岐する命令 )
実行前
PC 0 0 0 0
PCB F F
実行後
FFC000H
EF
FFFFE0H
00
FFFFE1H
D0
PC D 0 0 0
PCB F F
416
メモリ空間
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 を参照
してください )
417
付録 B 命令
B.4
間接アドレッシング
間接アドレッシングでは , 記述したオペランドが示すアドレスのデータで , 間接的に
アドレスを指定します。
■ 間接アドレッシング
● レジスタ間接 (@RWj j=0 ∼ 3)
汎用レジスタ RWj の内容をアドレスとしたメモリをアクセスするアドレッシングで
す。アドレスの bit23 ∼ bit16 は , RW0, RW1 を用いた場合はデータバンクレジスタ
(DTB) で示され , RW3 の場合はシステムスタックバンクレジスタ (SSB) またはユーザ
スタックバンクレジスタ (USB) で示され , RW2 の場合はアディショナルデータバンク
レジスタ (ADB) で示されます。図 B.4-1 に例を示します。
図 B.4-1 レジスタ間接 (@RWj j=0 ∼ 3) 例
MOVW A, @RW1 ( レジスタ間接で読出しを行い , A に格納する命令 )
実行前
A 0716
2534
メモリ空間
RW1 D 3 0 F
実行後
DTB 7 8
78D30FH
EE
78D310H
FF
A 2534 FFEE
RW1 D 3 0 F
DTB 7 8
● ポストインクリメント付レジスタ間接 (@RWj+ j=0 ∼ 3)
汎用レジスタ RWj の内容をアドレスとしたメモリをアクセスするアドレッシングで
す。
オペランド操作後RWjはオペランドデータ長 (バイトの場合は1, ワードの場合は2,
ロングワードの場合は 4) 分だけ加算されます。アドレスの bit23 ∼ bit16 は , RW0, RW1
を用いた場合はデータバンクレジスタ (DTB) で示され , RW3 の場合はシステムスタッ
クバンクレジスタ (SSB) またはユーザスタックバンクレジスタ (USB) で示され , RW2
の場合はアディショナルデータバンクレジスタ (ADB) で示されます。
ポストインクリメントした結果がインクリメント指定したレジスタ自身のアドレス
だった場合は , 参照される値はインクリメントした値となり , 命令が書込みだった場合
は命令による書込みが優先されるので , インクリメントするはずだったレジスタは書
込みデータとなります。
図 B.4-2 に例を示します。
418
付録 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
419
付録 B 命令
● ディスプレースメント付ロングレジスタ間接 (RLi+disp8 i=0 ∼ 3)
汎用レジスタ RLi の内容にディスプレースメントを加算した結果の下位 24 ビットをア
ドレスとしたメモリをアクセスするアドレッシングです。ディスプレースメントは 8
ビットで符号付数値として加算されます。図 B.4-4 に例を示します。
図 B.4-4 ディスプレースメント付ロングレジスタ間接 (@RLi+disp8 i=0 ∼ 3) 例
MOVW A, @RL2+25H (ディスプレースメント付ロングレジスタ間接で読出しを行い, Aに格納する命令)
A 0716
実行前
2534
(+25H)
RL2 F 3 8 2
4B02
メモリ空間
824B27H
EE
824B28H
FF
A 2534 FFEE
実行後
RL2 F 3 8 2
4B02
● ディスプレースメント付プログラムカウンタ間接 (@PC+disp16)
(命令のアドレス+4+disp16) で示されるアドレスのメモリをアクセスするアドレッシン
グです。ディスプレースメントはワード長です。アドレスの bit23 ∼ bit16 はプログラ
ムカウンタバンクレジスタ (PCB) により指定されます。次に示す命令のオペランドア
ドレスは , ( 次の命令のアドレス +disp16) とは , みなしませんので注意してください。
• DBNZ eam, rel
• CBNE eam, #imm8, rel
• MOV eam, #imm8
• DWBNZ eam, rel
• CWBNE eam, #imm16, rel
• MOVW eam, #imm16
図 B.4-5 に例を示します。
図 B.4-5 ディスプレースメント付プログラムカウンタ間接 (@PC+disp16) 例
MOVW A, @PC+20H ( ディスプレースメント付 PC 間接で読出しを行い , A に格納する命令 )
実行前
A 0716
2534
メモリ空間
PCB C 5 PC 4 5 5 6
実行後
A 2534
FFEE
PCB C 5 PC 4 5 5 A
420
+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
421
付録 B 命令
● レジスタリスト (rlst)
スタックに対するプッシュ / ポップの対象となるレジスタを指定します。図 B.4-8 にレ
ジスタリストの構成 , 図 B.4-9 に例を示します。
図 B.4-8 レジスタリストの構成
MSB
LSB
RW7 RW6 RW5 RW4 RW3 RW2 RW1 RW0
対応ビットが "1" の場合に設定 , "0" の場合に非設定
MSB: 最上位ビット
LSB: 最下位ビット
図 B.4-9 レジスタリスト (rlst) 例
POPW, RW0, RW4 ( レジスタリストで示された複数のワードレジスタに , SP で示されるメモリの
データを転送する命令 )
SP 3 4 F A
SP 3 4 F E
RW0
×× ××
RW0
02 01
RW1
×× ××
RW1
×× ××
RW2
×× ××
RW2
×× ××
RW3
×× ××
RW3
×× ××
RW4
×× ××
RW4
04 03
RW5
×× ××
RW5
×× ××
RW6
×× ××
RW6
×× ××
RW7
×× ××
RW7
×× ××
メモリ空間
SP
01
メモリ空間
34FAH
01
34FAH
02
34FBH
02
34FBH
03
34FCH
03
34FCH
34FDH
04
04
34FEH
実行前
422
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
423
付録 B 命令
● 間接指定分岐アドレス (@ear)
ear で示される番地のワードデータが分岐先アドレスとなります。図 B.4-12 に例を示し
ます。
図 B.4-12 間接指定分岐アドレス (@ear) 例
JMP @@RW0 ( レジスタ間接の間接で無条件分岐を行う命令 )
実行前
PC 3 C 2 0
PCB 4 F
RW0 7 F 4 8
DTB 2 1
メモリ空間
217F48H
20
217F49H
3B
4F3B20H 次の命令
実行後
PC 3 B 2 0
PCB 4 F
RW0 7 F 4 8
DTB 2 1
4F3C20H
73
4F3C21H
08
JMP @@RW0
● 間接指定分岐アドレス (@eam)
eam で示される番地のワードデータが分岐先アドレスとなります。図 B.4-13 に例を示
します。
図 B.4-13 間接指定分岐アドレス (@eam) 例
JMP @RW0 ( レジスタ間接で無条件分岐を行う命令 )
実行前
PC 3 C 2 0
PCB 4 F
RW0 3 B 2 0
実行後
PC 3 B 2 0
RW0 3 B 2 0
424
メモリ空間
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 命令一覧表の読み方」を参照
してください。
425
付録 B 命令
表 B.5-2 実サイクル数算出用サイクル数の補正値
(b) バイト *1
オペランド
(c) ワード *1
(d) ロング *1
サイクル
数
アクセス
回数
サイクル
数
アクセス
回数
サイクル
数
アクセス
回数
内部レジスタ
+0
1
+0
1
+0
2
内部メモリ
偶数アドレス
+0
1
+0
1
+0
2
内部メモリ
奇数アドレス
+0
1
+2
2
+4
4
外部データバス *2
16 ビット偶数アドレス
+1
1
+1
1
+2
2
外部データバス *2
16 ビット奇数アドレス
+1
1
+4
2
+8
4
外部データバス *2
8 ビット
+1
1
+4
2
+8
4
*1: (b), (c), (d) は「B.8 F2MC-16LX 命令一覧表」の∼ ( サイクル数 ) , B ( 補正値 ) で使用され
ています。
*2: 外部データバスを使用した場合は , レディ入力および自動レディによりウェイトしたサ
イクル数も加算する必要があります。
表 B.5-3 プログラムフェッチサイクル数算出用サイクル数の補正値
命令
バイト境界
ワード境界
内部メモリ
−
+2
外部データバス 16 ビット
−
+3
外部データバス 8 ビット
+3
−
( 注意事項 ) ・ 外部データバスを使用した場合は , レディ入力および自動レディでウェイト
したサイクル数も加算する必要があります。
・ 実際にはすべてのプログラムフェッチで , 命令実行が遅くなるわけではない
ので , この補正値は最悪ケースを算出する場合に使用してください。
426
付録 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
427
付録 B 命令
表 B.6-1 実効アドレスフィールド (1 / 2)
コード
*:
428
表記
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 命令でメモリなどからデータを読
み出し , メモリへ書き込む ) であるかどうか示します。
*: リードモディファイライト命令である。
− : リードモディファイライト命令ではない。
( 注意事項 )
読み書きで意味の異なるアドレスには使用できません。
429
付録 B 命令
表 B.7-2 命令一覧表の記号の説明 (1 / 2)
表記
A
32 ビットアキュムレータ
命令により , 使用されるビット長が変わります。
バイト : AL の下位 8 ビット
ワード : AL の 16 ビット
ロング : AL: AH の 32 ビット
AH
A の上位 16 ビット
AL
A の下位 16 ビット
SP
スタックポインタ (USP or SSP)
PC
プログラムカウンタ
PCB
プログラムカウンタバンクレジスタ
DTB
データバンクレジスタ
ADB
アディショナルデータバンクレジスタ
SSB
システムスタックバンクレジスタ
USB
ユーザスタックバンクレジスタ
SPB
カレントスタックバンクレジスタ (SSB or USB)
DPR
ダイレクトページレジスタ
brg1
DTB, ADB, SSB, USB, DPR, PCB, SPB
brg2
DTB, ADB, SSB, USB, DPR, SPB
Ri
R0, R1, R2, R3, R4, R5, R6, R7
RWi
RW0, RW1, RW2, RW3, RW4, RW5, RW6, RW7
RWj
RW0, RW1, RW2, RW3
RLi
RL0, RL1, RL2, RL3
dir
短縮直接アドレス指定
addr16
直接アドレス指定
addr24
物理直接アドレス指定
ad24 0 ∼ 15
addr24 の bit0 ∼ bit15
ad24 16 ∼ 23
addr24 の bit16 ∼ bit23
io
I/O 領域 (000000H ∼ 0000FFH)
#imm4
4 ビット即値データ
#imm8
8 ビット即値データ
#imm16
16 ビット即値データ
#imm32
32 ビット即値データ
ext (imm8)
430
意味
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
レジスタ並び
431
付録 B 命令
B.8
F2MC-16LX 命令一覧表
F2MC-16LX で使用している命令の一覧を示します。
■ F2MC-16LX 命令一覧表
表 B.8-1 転送系命令 ( バイト ) 41 命令
#
∼
RG
B
LH
AH
I
S
T
N
Z
V
C
MOV
A,dir
2
3
0
(b)
byte (A) ← (dir)
Z
*
-
-
-
*
*
-
-
-
MOV
A,addr16
3
4
0
(b)
byte (A) ← (addr16)
Z
*
-
-
-
*
*
-
-
-
MOV
A,Ri
1
2
1
0
byte (A) ← (Ri)
Z
*
-
-
-
*
*
-
-
-
MOV
A,ear
2
2
1
0
byte (A) ← (ear)
Z
*
-
-
-
*
*
-
-
-
MOV
A,eam
2+
3 + (a)
0
(b)
byte (A) ← (eam)
Z
*
-
-
-
*
*
-
-
-
MOV
A,io
2
3
0
(b)
byte (A) ← (io)
Z
*
-
-
-
*
*
-
-
-
MOV
A,#imm8
2
2
0
0
byte (A) ← imm8
Z
*
-
-
-
*
*
-
-
-
MOV
A,@A
2
3
0
(b)
byte (A) ← ((A))
Z
-
-
-
-
*
*
-
-
-
MOV
A,@RLi+disp8
3
10
2
(b)
byte (A) ← ((RLi)+disp8)
Z
*
-
-
-
*
*
-
-
-
MOVN
A,#imm4
1
1
0
0
byte (A) ← imm4
Z
*
-
-
-
R
*
-
-
-
MOVX
A,dir
2
3
0
(b)
byte (A) ← (dir)
X
*
-
-
-
*
*
-
-
-
MOVX
A,addr16
3
4
0
(b)
byte (A) ← (addr16)
X
*
-
-
-
*
*
-
-
-
MOVX
A,Ri
2
2
1
0
byte (A) ← (Ri)
X
*
-
-
-
*
*
-
-
-
MOVX
A,ear
2
2
1
0
byte (A) ← (ear)
X
*
-
-
-
*
*
-
-
-
MOVX
A,eam
2+
3 + (a)
0
(b)
byte (A) ← (eam)
X
*
-
-
-
*
*
-
-
-
MOVX
A,io
2
3
0
(b)
byte (A) ← (io)
X
*
-
-
-
*
*
-
-
-
MOVX
A,#imm8
2
2
0
0
byte (A) ← imm8
X
*
-
-
-
*
*
-
-
-
MOVX
A,@A
2
3
0
(b)
byte (A) ← ((A))
X
-
-
-
-
*
*
-
-
-
MOVX
A,@RWi+disp8
2
5
1
(b)
byte (A) ← ((RWi)+disp8)
X
*
-
-
-
*
*
-
-
-
MOVX
A,@RLi+disp8
3
10
2
(b)
byte (A) ← ((RLi)+disp8)
X
*
-
-
-
*
*
-
-
-
MOV
dir,A
2
3
0
(b)
byte (dir) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
addr16,A
3
4
0
(b)
byte (addr16) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
Ri,A
1
2
1
0
byte (Ri) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
ear,A
2
2
1
0
byte (ear) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
eam,A
2+
3 + (a)
0
(b)
byte (eam) ← (A)
-
-
-
-
-
*
*
-
-
-
ニーモニック
オペレーション
RMW
MOV
io,A
2
3
0
(b)
byte (io) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
@RLi+disp8,A
3
10
2
(b)
byte ((RLi)+disp8) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
Ri,ear
2
3
2
0
byte (Ri) ← (ear)
-
-
-
-
-
*
*
-
-
-
MOV
Ri,eam
2+
4 + (a)
1
(b)
byte (Ri) ← (eam)
-
-
-
-
-
*
*
-
-
-
MOV
ear,Ri
2
4
2
0
byte (ear) ← (Ri)
-
-
-
-
-
*
*
-
-
-
MOV
eam,Ri
2+
5 + (a)
1
(b)
byte (eam) ← (Ri)
-
-
-
-
-
*
*
-
-
-
MOV
Ri,#imm8
2
2
1
0
byte (Ri) ← imm8
-
-
-
-
-
*
*
-
-
-
MOV
io,#imm8
3
5
0
(b)
byte (io) ← imm8
-
-
-
-
-
-
-
-
-
-
MOV
dir,#imm8
3
5
0
(b)
byte (dir) ← imm8
-
-
-
-
-
-
-
-
-
-
MOV
ear,#imm8
3
2
1
0
byte (ear) ← imm8
-
-
-
-
-
*
*
-
-
-
MOV
eam,#imm8
3+
4 + (a)
0
(b)
byte (eam) ← imm8
-
-
-
-
-
-
-
-
-
-
MOV
@AL,AH
2
3
0
(b)
byte ((A)) ← (AH)
-
-
-
-
-
*
*
-
-
-
XCH
A,ear
2
4
2
0
byte (A) ←→ (ear)
Z
-
-
-
-
-
-
-
-
-
XCH
A,eam
2+
5 + (a)
0
Z
-
-
-
-
-
-
-
-
-
XCH
Ri,ear
2
7
4
-
-
-
-
-
-
-
-
-
-
XCH
Ri,eam
2+
9 + (a)
2
-
-
-
-
-
-
-
-
-
-
2 × (b) byte (A) ←→ (eam)
0
byte (Ri) ←→ (ear)
2 × (b) byte (Ri) ←→ (eam)
( 注意事項 ) 表中の (a), (b) は , 表 B.5-1 および表 B.5-2 を参照してください。
432
付録 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 を参照してください。
433
付録 B 命令
表 B.8-3 加減算命令 ( バイト・ワード・ロングワード ) 42 命令
ニーモニック
#
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
ADD
A,#imm8
2
2
0
0
byte (A) ← (A) + imm8
Z
-
-
-
-
*
*
*
*
-
ADD
A,dir
2
5
0
(b)
byte (A) ← (A) + (dir)
Z
-
-
-
-
*
*
*
*
-
ADD
A,ear
2
3
1
0
byte (A) ← (A) + (ear)
Z
-
-
-
-
*
*
*
*
-
ADD
A,eam
2+
4 + (a)
0
(b)
byte (A) ← (A) + (eam)
Z
-
-
-
-
*
*
*
*
-
ADD
ear,A
2
3
2
0
byte (ear) ← (ear) + (A)
-
-
-
-
-
*
*
*
*
-
ADD
eam,A
2+
5 + (a)
0
2 × (b)
byte (eam) ← (eam) + (A)
Z
-
-
-
-
*
*
*
*
*
ADDC
A
1
2
0
0
byte (A) ← (AH) + (AL) + (C)
Z
-
-
-
-
*
*
*
*
-
ADDC
A,ear
2
3
1
0
byte (A) ← (A) + (ear)+ (C)
Z
-
-
-
-
*
*
*
*
-
ADDC
A,eam
2+
4 + (a)
0
(b)
byte (A) ← (A) + (eam)+ (C)
Z
-
-
-
-
*
*
*
*
-
ADDDC A
1
3
0
0
byte (A) ← (AH) + (AL) + (C) (10 進数 )
Z
-
-
-
-
*
*
*
*
-
SUB
A,#imm8
2
2
0
0
byte (A) ← (A) - imm8
Z
-
-
-
-
*
*
*
*
-
SUB
A,dir
2
5
0
(b)
byte (A) ← (A) - (dir)
Z
-
-
-
-
*
*
*
*
-
SUB
A,ear
2
3
1
0
byte (A) ← (A) - (ear)
Z
-
-
-
-
*
*
*
*
-
SUB
A,eam
2+
4 + (a)
0
(b)
byte (A) ← (A) - (eam)
Z
-
-
-
-
*
*
*
*
-
SUB
ear,A
2
3
2
0
byte (ear) ← (ear) - (A)
-
-
-
-
-
*
*
*
*
-
SUB
eam,A
2+
5 + (a)
0
2 × (b)
byte (eam) ← (eam) - (A)
-
-
-
-
-
*
*
*
*
*
SUBC
A
1
2
0
0
byte (A) ← (AH) - (AL) - (C)
Z
-
-
-
-
*
*
*
*
-
SUBC
A,ear
2
3
1
0
byte (A) ← (A) - (ear) - (C)
Z
-
-
-
-
*
*
*
*
-
SUBC
A,eam
2+
4 + (a)
0
(b)
byte (A) ← (A) - (eam) - (C)
Z
-
-
-
-
*
*
*
*
-
SUBDC
A
1
3
0
0
byte (A) ← (AH) - (AL) - (C) (10 進数 )
Z
-
-
-
-
*
*
*
*
-
ADDW
A
1
2
0
0
word (A) ← (AH) + (AL)
-
-
-
-
-
*
*
*
*
-
ADDW
A,ear
2
3
1
0
word (A) ← (A) + (ear)
-
-
-
-
-
*
*
*
*
-
ADDW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) + (eam)
-
-
-
-
-
*
*
*
*
-
ADDW
A,#imm16
3
2
0
0
word (A) ← (A) + imm16
-
-
-
-
-
*
*
*
*
-
word (ear) ← (ear) + (A)
-
-
-
-
-
*
*
*
*
-
word (eam) ← (eam) + (A)
-
-
-
-
-
*
*
*
*
*
ADDW
ear,A
2
3
2
0
ADDW
eam,A
2+
5+(a)
0
2 × (c)
ADDCW A,ear
2
3
1
0
word (A) ← (A) + (ear) + (C)
-
-
-
-
-
*
*
*
*
-
ADDCW A,eam
2+
4+(a)
0
(c)
word (A) ← (A) + (eam) + (C)
-
-
-
-
-
*
*
*
*
-
SUBW
A
1
2
0
0
word (A) ← (AH) - (AL)
-
-
-
-
-
*
*
*
*
-
SUBW
A,ear
2
3
1
0
word (A) ← (A) - (ear)
-
-
-
-
-
*
*
*
*
-
SUBW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) - (eam)
-
-
-
-
-
*
*
*
*
-
SUBW
A,#imm16
3
2
0
0
word (A) ← (A) - imm16
-
-
-
-
-
*
*
*
*
-
word (ear) ← (ear) - (A)
-
-
-
-
-
*
*
*
*
-
word (eam) ← (eam) - (A)
-
-
-
-
-
*
*
*
*
*
SUBW
ear,A
2
3
2
0
SUBW
eam,A
2+
5+(a)
0
2 × (c)
SUBCW A,ear
2
3
1
0
word (A) ← (A) - (ear) - (C)
-
-
-
-
-
*
*
*
*
-
SUBCW A,eam
2+
4+(a)
0
(c)
word (A) ← (A) - (eam) - (C)
-
-
-
-
-
*
*
*
*
-
ADDL
A,ear
2
6
2
0
long (A) ← (A) + (ear)
-
-
-
-
-
*
*
*
*
-
ADDL
A,eam
2+
7+(a)
0
(d)
long (A) ← (A) + (eam)
-
-
-
-
-
*
*
*
*
-
ADDL
A,#imm32
5
4
0
0
long (A) ← (A) + imm32
-
-
-
-
-
*
*
*
*
-
SUBL
A,ear
2
6
2
0
long (A) ← (A) - (ear)
-
-
-
-
-
*
*
*
*
-
SUBL
A,eam
2+
7+(a)
0
(d)
long (A) ← (A) - (eam)
-
-
-
-
-
*
*
*
*
-
SUBL
A,#imm32
5
4
0
0
long (A) ← (A) - imm32
-
-
-
-
-
*
*
*
*
-
( 注意事項 ) 表中の (a) ∼ (d) は , 表 B.5-1 および表 B.5-2 を参照してください。
434
付録 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 を参照してください。
435
付録 B 命令
表 B.8-6 符号なし乗除算命令 ( ワード・ロングワード ) 11 命令
ニーモニック
#
∼
RG
B
LH
AH
I
S
T
N
Z
V
C RMW
DIVU
A
1
*1
0
0
word (AH) / byte (AL)
商→ byte (AL) 余り→ byte (AH)
-
-
-
-
-
-
-
*
*
-
DIVU
A,ear
2
*2
1
0
word (A) / byte (ear)
商→ byte (A) 余り→ byte (ear)
-
-
-
-
-
-
-
*
*
-
DIVU
A,eam
2+
*3
0
*6
word (A) / byte (eam)
商→ byte (A) 余り→ byte (eam)
-
-
-
-
-
-
-
*
*
-
DIVUW
A,ear
2
*4
1
0
long (A) / word (ear)
商→ word (A) 余り→ word (ear)
-
-
-
-
-
-
-
*
*
-
DIVUW
A,eam
2+
*5
0
*7
long (A) / word (eam)
商→ word (A) 余り→ word (eam)
-
-
-
-
-
-
-
*
*
-
MULU
MULU
A
1
*8
0
0
byte (AH) * byte (AL) → word (A)
-
-
-
-
-
-
-
-
-
-
A,ear
2
*9
1
0
byte (A) * byte (ear) → word (A)
-
-
-
-
-
-
-
-
-
-
MULU
A,eam
2+
*10
0
(b)
MULUW
A
1
*11
0
0
MULUW
A,ear
2
*12
1
MULUW
A,eam
2+
*13
0
オペレーション
byte (A) * byte (eam) → word (A)
-
-
-
-
-
-
-
-
-
-
word (AH) * word (AL) → Long (A)
-
-
-
-
-
-
-
-
-
-
0
word (A) * word (ear) → Long (A)
-
-
-
-
-
-
-
-
-
-
(c)
word (A) * word (eam) → Long (A)
-
-
-
-
-
-
-
-
-
-
*1:ゼロディバイトの場合 , 3 オーバフローの場合 , 7 正常の場合 , 15
*2:ゼロディバイトの場合 , 4 オーバフローの場合 , 8 正常の場合 , 16
*3:ゼロディバイトの場合 , 6+(a) オーバフローの場合 , 9+(a) 正常の場合 , 19+(a)
*4:ゼロディバイトの場合 , 4 オーバフローの場合 , 7 正常の場合 , 22
*5:ゼロディバイトの場合 , 6+(a) オーバフローの場合 , 8+(a) 正常の場合 , 26+(a)
*6:ゼロディバイト , またはオーバフローの場合 , (b) 正常の場合 , 2 × (b)
*7:ゼロディバイト , またはオーバフローの場合 , (c) 正常の場合 , 2 × (c)
*8:byte(AH) がゼロの場合 , 3 byte(AH) がゼロでない場合 , 7
*9:byte(ear) がゼロの場合 , 4 byte(ear) がゼロでない場合 , 8
*10:byte(eam) がゼロの場合 , 5+(a) byte(eam) がゼロでない場合 , 9+(a)
*11:word(AH) がゼロの場合 , 3 word(AH) がゼロでない場合 , 11
*12:word(ear) がゼロの場合 , 4 word(ear) がゼロでない場合 , 12
*13:word(eam) がゼロの場合 , 5+(a) word(eam) がゼロでない場合 , 13+(a)
( 注意事項 ) 表中の (a),(b),(c) は , 表 B.5-1 および表 B.5-2 を参照してください。
436
付録 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 を参照してください。
437
付録 B 命令
表 B.8-8 論理 1 命令 ( バイト・ワード ) 39 命令
ニーモニック
#
∼
RG
B
AND
A,#imm8
2
2
0
0
AND
A,ear
2
3
1
0
LH
AH
I
S
T
N
Z
V
C RMW
byte (A) ← (A) and imm8
-
-
-
-
-
*
*
R
-
-
byte (A) ← (A) and (ear)
-
-
-
-
-
*
*
R
-
-
オペレーション
AND
A,eam
2+
4+(a)
0
(b)
byte (A) ← (A) and (eam)
-
-
-
-
-
*
*
R
-
-
AND
ear,A
2
3
2
0
byte (ear) ← (ear) and (A)
-
-
-
-
-
*
*
R
-
-
AND
eam,A
2+
5+(a)
0
2 × (b)
byte (eam) ← (eam) and (A)
-
-
-
-
-
*
*
R
-
*
OR
A,#imm8
2
2
0
0
byte (A) ← (A) or imm8
-
-
-
-
-
*
*
R
-
-
OR
A,ear
2
3
1
0
byte (A) ← (A) or (ear)
-
-
-
-
-
*
*
R
-
-
OR
A,eam
2+
4+(a)
0
(b)
byte (A) ← (A) or (eam)
-
-
-
-
-
*
*
R
-
-
OR
ear,A
2
3
2
0
byte (ear) ← (ear) or (A)
-
-
-
-
-
*
*
R
-
-
OR
eam,A
2+
5+(a)
0
2 × (b)
byte (eam) ← (eam) or (A)
-
-
-
-
-
*
*
R
-
*
XOR
A,#imm8
2
2
0
0
byte (A) ← (A) xor imm8
-
-
-
-
-
*
*
R
-
-
XOR
A,ear
2
3
1
0
byte (A) ← (A) xor (ear)
-
-
-
-
-
*
*
R
-
-
XOR
A,eam
2+
4+(a)
0
(b)
byte (A) ← (A) xor (eam)
-
-
-
-
-
*
*
R
-
-
XOR
ear,A
2
3
2
0
byte (ear) ← (ear) xor (A)
-
-
-
-
-
*
*
R
-
-
XOR
eam,A
2+
5+(a)
0
2 × (b)
byte (eam) ← (eam) xor (A)
-
-
-
-
-
*
*
R
-
*
NOT
A
1
2
0
0
byte (A) ← not (A)
-
-
-
-
-
*
*
R
-
-
NOT
ear
2
3
2
0
byte (ear) ← not (ear)
-
-
-
-
-
*
*
R
-
-
NOT
eam
2+
5+(a)
0
2 × (b)
byte (eam) ← not (eam)
-
-
-
-
-
*
*
R
-
*
ANDW
A
1
2
0
0
word (A) ← (AH) and (A)
-
-
-
-
-
*
*
R
-
-
ANDW
A,#imm16
3
2
0
0
word (A) ← (A) and imm16
-
-
-
-
-
*
*
R
-
-
ANDW
A,ear
2
3
1
0
word (A) ← (A) and (ear)
-
-
-
-
-
*
*
R
-
-
ANDW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) and (eam)
-
-
-
-
-
*
*
R
-
-
ANDW
ear,A
2
3
2
0
word (ear) ← (ear) and (A)
-
-
-
-
-
*
*
R
-
-
ANDW
eam,A
2+
5+(a)
0
2 × (c)
word (eam) ← (eam) and (A)
-
-
-
-
-
*
*
R
-
*
ORW
A
1
2
0
0
word (A) ← (AH) or (A)
-
-
-
-
-
*
*
R
-
-
ORW
A,#imm16
3
2
0
0
word (A) ← (A) or imm16
-
-
-
-
-
*
*
R
-
-
ORW
A,ear
2
3
1
0
word (A) ← (A) or (ear)
-
-
-
-
-
*
*
R
-
-
ORW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) or (eam)
-
-
-
-
-
*
*
R
-
-
word (ear) ← (ear) or (A)
-
-
-
-
-
*
*
R
-
-
word (eam) ← (eam) or (A)
-
-
-
-
-
*
*
R
-
*
ORW
ear,A
2
3
2
0
ORW
eam,A
2+
5+(a)
0
2 × (c)
XORW
A
1
2
0
0
word (A) ← (AH) xor (A)
-
-
-
-
-
*
*
R
-
-
XORW
A,#imm16
3
2
0
0
word (A) ← (A) xor imm16
-
-
-
-
-
*
*
R
-
-
XORW
A,ear
2
3
1
0
word (A) ← (A) xor (ear)
-
-
-
-
-
*
*
R
-
-
XORW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) xor (eam)
-
-
-
-
-
*
*
R
-
-
word (ear) ← (ear) xor (A)
-
-
-
-
-
*
*
R
-
-
word (eam) ← (eam) xor (A)
-
-
-
-
-
*
*
R
-
*
-
XORW
ear,A
2
3
2
0
XORW
eam,A
2+
5+(a)
0
2 × (c)
NOTW
A
1
2
0
0
word (A) ← not (A)
-
-
-
-
-
*
*
R
-
NOTW
ear
2
3
2
0
word (ear) ← not (ear)
-
-
-
-
-
*
*
R
-
-
NOTW
eam
2+
5+(a)
0
2 × (c)
word (eam) ← not (eam)
-
-
-
-
-
*
*
R
-
*
( 注意事項 ) 表中の (a), (b), (c) は , 表 B.5-1 および表 B.5-2 を参照してください。
438
付録 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)
439
付録 B 命令
表 B.8-12 シフト命令 ( バイト・ワード・ロングワード ) 18 命令
ニーモニック
#
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
RORC
A
2
2
0
0
byte (A) ← 右ローテートキャリー付
-
-
-
-
-
*
*
-
*
-
ROLC
A
2
2
0
0
byte (A) ← 左ローテートキャリー付
-
-
-
-
-
*
*
-
*
-
RORC
ear
2
3
2
0
byte (ear) ← 右ローテートキャリー付
RORC
eam
2+
5+(a)
0
2 × (b) byte (eam) ← 右ローテートキャリー付
ROLC
ear
2
3
2
ROLC
eam
2+
5+(a)
0
0
ASR
A,R0
2
*1
1
0
LSR
A,R0
2
*1
1
0
LSL
A,R0
2
*1
1
ASRW
A
1
2
LSRW
A/SHRW A
1
LSLW
A/SHLW A
1
ASRW
A,R0
2
*1
LSRW
A,R0
2
*1
LSLW
A,R0
2
*1
ASRL
A,R0
2
*2
LSRL
A,R0
2
LSLL
A,R0
2
-
-
-
-
*
*
-
*
-
-
-
-
-
*
*
-
*
*
-
-
-
-
-
*
*
-
*
-
-
-
-
-
-
*
*
-
*
*
byte (A) ← 算術右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
byte (A) ← ロジカル右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
0
byte (A) ← ロジカル左バレルシフト (A,R0)
-
-
-
-
-
*
*
-
*
-
0
0
word (A) ← 算術右シフト (A,1 ビット )
-
-
-
-
*
*
*
-
*
-
2
0
0
word (A) ← ロジカル右シフト (A,1 ビット )
-
-
-
-
*
R
*
-
*
-
2
0
0
word (A) ← ロジカル左シフト (A,1 ビット )
-
-
-
-
-
*
*
-
*
-
1
0
word (A) ← 算術右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
1
0
word (A) ← ロジカル右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
1
0
word (A) ←ロジカル左バレルシフト (A,R0)
-
-
-
-
-
*
*
-
*
-
1
0
long (A) ← 算術右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
*2
1
0
long (A) ← ロジカル右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
*2
1
0
long (A) <-- ロジカル左バレルシフト (A,R0)
-
-
-
-
-
*
*
-
*
-
byte (ear) ← 左ローテートキャリー付
2 × (b) byte (eam) ← 左ローテートキャリー付
*1:R0 が "0" であった場合 , 6 "0" 以外であった場合は , 5+(R0)
*2:R0 が "0" であった場合 , 6 "0" 以外であった場合は , 6+(R0)
( 注意事項 ) 表中の (a),(b) は , 表 B.5-1 および表 B.5-2 を参照してください。
440
-
付録 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 を参照してください。
441
付録 B 命令
表 B.8-14 分岐命令 2 19 命令
ニーモニック
#
∼
RG
B
CBNE
A,#imm8,rel
3
*1
0
0
byte (A) ≠ imm8 で分岐
-
-
-
-
- * * * *
-
CWBNE
A,#imm16,rel
4
*1
0
0
word (A) ≠ imm16 で分岐
-
-
-
-
- * * * *
-
CBNE
ear,#imm8,rel
4
*2
1
0
byte (ear) ≠ imm8 で分岐
-
-
-
-
- * * * *
-
CBNE
eam,#imm8,rel
注 1)
4+
*3
0
(b)
byte (eam) ≠ imm8 で分岐
-
-
-
-
- * * * *
-
CWBNE
ear,#imm16,rel
5
*4
1
0
word (ear) ≠ imm16 で分岐
-
-
-
-
- * * * *
-
CWBNE
eam,#imm16,rel 注 1)
5+
*3
0
(c)
word (eam) ≠ imm16 で分岐
-
-
-
-
- * * * *
-
DBNZ
ear,rel
3
*5
2
byte (ear) = (ear) - 1, (ear) ≠ 0 で分岐
-
-
-
-
- * * * -
-
DBNZ
eam,rel
3+
*6
2
-
-
-
-
- * * * -
*
DWBNZ
ear,rel
3
*5
2
DWBNZ
eam,rel
3+
*6
2
0
オペレーション
2 × (b) byte (eam) = (eam) - 1, (eam) ≠ 0 で分岐
0
LH
AH
I S T N Z V C RMW
-
-
-
-
- * * * -
-
2 × (c) word (eam) = (eam) - 1, (eam) ≠ 0 で分岐
-
-
-
-
- * * * -
*
word (ear) = (ear) - 1, (ear) ≠ 0 で分岐
INT
#vct8
2
20
0
8 × (c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
INT
addr16
3
16
0
6 × (c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
INTP
addr24
4
17
0
6 × (c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
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 を参照してください。
442
付録 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 を参照してください。
443
付録 B 命令
表 B.8-16 ビット操作命令 21 命令
#
ニーモニック
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
MOVB
A,dir:bp
3
5
0
(b)
byte (A) ← (dir:bp)b
Z
*
-
-
-
*
*
-
-
-
MOVB
A,addr16:bp
4
5
0
(b)
byte (A) ← (addr16:bp)b
Z
*
-
-
-
*
*
-
-
-
MOVB
A,io:bp
3
4
0
(b)
byte (A) ← (io:bp)b
Z
*
-
-
-
*
*
-
-
-
MOVB
dir:bp,A
3
7
0
2 × (b) bit (dir:bp)b ← (A)
-
-
-
-
-
*
*
-
-
*
MOVB
addr16:bp,A
4
7
0
2 × (b) bit (addr16:bp)b ← (A)
-
-
-
-
-
*
*
-
-
*
MOVB
io:bp,A
3
6
0
2 × (b) bit (io:bp)b ← (A)
-
-
-
-
-
*
*
-
-
*
SETB
dir:bp
3
7
0
2 × (b) bit (dir:bp)b ← 1
-
-
-
-
-
-
-
-
-
*
SETB
addr16:bp
4
7
0
2 × (b) bit (addr16:bp)b ← 1
-
-
-
-
-
-
-
-
-
*
SETB
io:bp
3
7
0
2 × (b) bit (io:bp)b ← 1
-
-
-
-
-
-
-
-
-
*
CLRB
dir:bp
3
7
0
2 × (b) bit (dir:bp)b ← 0
-
-
-
-
-
-
-
-
-
*
CLRB
addr16:bp
4
7
0
2 × (b) bit (addr16:bp)b ← 0
-
-
-
-
-
-
-
-
-
*
CLRB
io:bp
3
7
0
2 × (b) bit (io:bp)b ← 0
-
-
-
-
-
-
-
-
-
*
BBC
dir:bp,rel
4
*1
0
(b)
(dir:bp) b = 0 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBC
addr16:bp,rel
5
*1
0
(b)
(addr16:bp) b = 0 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBC
io:bp,rel
4
*2
0
(b)
(io:bp) b = 0 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBS
dir:bp,rel
4
*1
0
(b)
(dir:bp) b = 1 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBS
addr16:bp,rel
5
*1
0
(b)
(addr16:bp) b = 1 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBS
io:bp,rel
4
*2
0
(b)
(io:bp) b = 1 の場合分岐
-
-
-
-
-
-
*
-
-
-
SBBS
addr16:bp,rel
5
*3
0
-
-
-
-
-
-
*
-
-
*
2 × (b) (addr16:bp) b = 1 で分岐 ,
bit (addr16:bp) b ← 1
WBTS
io:bp
3
*4
0
*5
WBTC
io:bp
3
*4
0
*5
(io:bp) b = 1 になるまで待つ
-
-
-
-
-
-
-
-
-
-
(io:bp) b = 0 になるまで待つ
-
-
-
-
-
-
-
-
-
-
LH
AH
I
S
T
N
Z
V
C RMW
*1:分岐が行われる場合 , 8 分岐が行われない場合 , 7
*2:分岐が行われる場合 , 7 分岐が行われない場合 , 6
*3:条件成立の場合 , 10 未成立の場合 , 9
*4:不定回数
*5:条件が成立するまで
( 注意事項 ) 表中の (b) は , 表 B.5-1 および表 B.5-2 を参照してください。
表 B.8-17 アキュムレータ操作命令 ( バイト・ワード ) 6 命令
#
∼
RG
B
SWAP
1
3
0
0
byte (A)0-7 ←→ (A)8-15
-
-
-
-
-
-
-
-
-
-
SWAPW
1
2
0
0
word (AH) ←→ (AL)
-
*
-
-
-
-
-
-
-
-
EXT
1
1
0
0
byte 符号拡張
X
-
-
-
-
*
*
-
-
-
ニーモニック
オペレーション
EXTW
1
2
0
0
word 符号拡張
-
X
-
-
-
*
*
-
-
-
ZEXT
1
1
0
0
byte ゼロ拡張
Z
-
-
-
-
R
*
-
-
-
ZEXTW
1
1
0
0
word ゼロ拡張
-
Z
-
-
-
R
*
-
-
-
444
付録 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 を参照してください。
445
付録 B 命令
B.9
命令マップ
F2MC-16LX の命令コードは , 1 ∼ 2 バイトで構成されていますので , 命令マップは
複数のページで構成されています。
F2MC-16LX の命令マップを示します。
■ 命令マップの構造
図 B.9-1 命令マップの構造
基本ページマップ
ビット操作系命令
文字列操作系命令
2 バイト系命令
:第 1 バイト
ea 系命令× 9
:第 2 バイト
1 バイトで終わる命令 (NOP 命令など ) は基本ページで完結し , 2 バイト必要とする命
令 (MOVS 命令など ) は第 1 バイトを参照した段階で第 2 バイト用のマップの存在がわ
かり , 第 2 バイト用のマップを参照して続く 1 バイトを調べることができます。
実際の命令コードと命令マップの対応を図 B.9-2 に示します。
446
付録 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
命令
447
448
A
SWAP
ADDSP
ADB
SPB
#8
CMP
A, #8
A, #8
dir, A
A, dir
io, A
A, io
JMP
BRA
60
@A
rel
MULU
DIVU
ea 系命令
その 2
B0
C0
D0
E0
ea 系命令
その 8
ea 系命令
その 7
#4
rel
rel
BNT
BT
BNV
BV
BP
BN
rel
rel
rel
rel
rel
BNC/BHS
rel
BC/BLO
BNZ/BNE
rel
BZ/BEQ
F0
+F
+E
+D
+C
+B
LSRW
ASRW
LSLW
NEGW
A
A
A
A
XORW
ORW
ANDW
ANDW
PUSHW
POPW
A, #16
A
A
A
A
PUSHW
POPW
rlst
rlst
XORW
PUSHW
POPW
A, #16
PS
PS
MOVW
RWi, ea
2 バイト XCHW
RWi, ea
系命令
文字列操 XCH
Ri, ea
作系命令
MOVW
ea, RWi
ビット操 MOV
ea, Ri
作系命令
CMPW
MOVL
MOVW
RETI
A, #16
A, #32 addr16, A
ORW
PUSHW
POPW
A
A, #16
AH
AH
A
A
ADDSP
MULUW
NOTW
#16
A
SWAPW
ZEXTW
EXTW
CMPL
CMPW
A, #32
BHI
BLS
BGT
BLE
BGE
BLT
rel
rel
rel
rel
rel
rel
A
MOVW
MOVW
RETP
A, SP
io, #16
MOVX
MOVX
CALLP
ea 系命令
A, dir
A, io
addr24
その 6
MOVW
MOVX
RET
A
SP, A A, addr16
A, #8
A0
ADDW
MOVW
MOVW
INT
MOVW
MOVW
MOV A,
MOVW
ea 系命令 MOVW
A, #16
A, dir
A, io
#vct8
A, RWi
RWi, A RWi, #16 @RWi+d8 @RWi+d8,A
その 9
NOT
XOR
A, #8
90
rel
SUBL
SUBW
A, #32
A
A
A
OR
OR
CCR, #8
80
MOV
MOV
MOV
MOVX A, MOV
CALL
ea 系命令 MOV
A, Ri
Ri, A
Ri, #8
A, Ri @RWi+d8
A, #4
その 1
70
MOV
JMP
ea 系命令
A, addr16
addr16
その 3
MOV
MOV
50
MOVX
MOV
JMPP
ea 系命令
A, #8 addr16, A
addr24
その 4
MOV
MOV
MOV
40
MOV
MOV
CBNE A, CWBNE A, MOVW
MOVW
INTP
MOV
+A
RP, #8
ILM, #8
#8, rel
#16, rel
A, #16 A,addr16
addr24
Ri, ea
+9
UNLINK
A
A
A, #8
A, #8
SUBC
SUB
ADD
30
AND
AND
MOV
MOV
CALL
ea 系命令
CCR, #8
A, #8
dir, #8
io, #8
addr16
その 5
CMP
A
A, dir
A, dir
ADDC
SUB
ADD
20
LINK
ADDL
ADDW
#imm8
A, #32
ZEXT
DTB
@A
EXT
JCTX
PCB
A
SUBDC
ADDDC
NEG
NCC
INT9
A
CMR
NOP
10
SUBW
MOVW
MOVW
INT
MOVEA
A, #16
dir, A
io, A
addr16
RWi, ea
+8
+7
+6
+5
+4
+3
+2
+1
+0
00
付録 B 命令
表 B.9-2 基本ページマップ
+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)
449
450
MOVSI
MOVSD
PCB, PCB
PCB, DTB
PCB, ADB
PCB, SPB
DTB, PCB
DTB, DTB
DTB, ADB
DTB, SPB
ADB, PCB
ADB, DTB
ADB, ADB
ADB, SPB
SPB, PCB
SPB, DTB
SPB, ADB
SPB, SPB
+1
+2
+3
+4
+5
+6
+7
+8
+9
+A
+B
+C
+D
+E
+F
10
+0
00
MOVSWI
20
MOVSWD
30
40
50
60
70
90
A0
B0
C0
SPB
ADB
DTB
SPB
ADB
DTB
SPB
ADB
DTB
SPB
ADB
DTB
SPB
ADB
DTB
SCEQI
SCEQD
SCWEQI SCWEQD FILSI
PCB
PCB
PCB
PCB
PCB
80
D0
FILSI
SPB
ADB
DTB
PCB
E0
F0
付録 B 命令
表 B.9-4 文字列操作系命令マップ ( 第 1 バイト =6EH)
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)
451
452
@PC+d16, CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
使用禁止
使用禁止
+E A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
ADDL
ADDL A, SUBL
SUBL A,
A,@RW3+
addr16 A,@RW3+
addr16
SUBL
SUBL
SUBL A,
SUBL A,
addr16, CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16
@RW1+RW7 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
使用禁止
+D A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
+F
使用禁止
@RW0+RW7 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
使用禁止
+C A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
ADDL A,
@RW3, @RW3+d16 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
ADDL
ADDL A,
SUBL
SUBL A,
A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
+B
ADDL
使用禁止
@RW2, @RW2+d16 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
ADDL
ADDL A,
SUBL
SUBL A,
A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
+A
ADDL A,
@RW1, @RW1+d16 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
ADDL
ADDL A,
SUBL
SUBL A,
A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
+9
ADDL
@RW0+RW7
,#8, rel
使用禁止
@RW0, @RW0+d16 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
ADDL
ADDL A,
SUBL
SUBL A,
A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
+8
SUBL A,
RW7, @RW7+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL3 @RW7+d8
A, RL3 @RW7+d8
A, RL3 @RW7+d8
A, RL3 @RW7+d8
ADDL
ADDL A, SUBL
SUBL A,
A, RL3 @RW7+d8
A, RL3 @RW7+d8
+7
SUBL
RW6, @RW6+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL3 @RW6+d8
A, RL3 @RW6+d8
A, RL3 @RW6+d8
A, RL3 @RW6+d8
ADDL
ADDL A, SUBL
SUBL A,
A, RL3 @RW6+d8
A, RL3 @RW6+d8
+6
ADDL A,
RW5, @RW5+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL2 @RW5+d8
A, RL2 @RW5+d8
A, RL2 @RW5+d8
A, RL2 @RW5+d8
ADDL
ADDL A, SUBL
SUBL A,
A, RL2 @RW5+d8
A, RL2 @RW5+d8
+5
ADDL
@RW3, @RW3+d16
#8, rel
,#8, rel
RW4, @RW4+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL2 @RW4+d8
A, RL2 @RW4+d8
A, RL2 @RW4+d8
A, RL2 @RW4+d8
使用禁止
addr16,
,#8, rel
@PC+d16,
,#8, rel
@RW1+RW7
,#8, rel
@RW2, @RW2+d16
#8, rel
,#8, rel
@RW1, @RW1+d16
#8, rel
,#8, rel
@RW0, @RW0+d16
#8, rel
,#8, rel
R7, @RW7+d8,
#8, rel
#8, rel
R6, @RW6+d8,
#8, rel
#8, rel
R5, @RW5+d8,
#8, rel
#8, rel
R4, @RW4+d8,
#8, rel
#8, rel
R3, @RW3+d8,
#8, rel
#8, rel
R2, @RW2+d8,
#8, rel
#8, rel
R1, @RW1+d8,
#8, rel
#8, rel
ADDL
ADDL A, SUBL
SUBL A,
A, RL2 @RW4+d8
A, RL2 @RW4+d8
CBNE↓
F0
R0, @RW0+d8,
#8, rel
#8, rel
CBNE↓
E0
+4
D0
RW3, @RW3+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL1 @RW3+d8
A, RL1 @RW3+d8
A, RL1 @RW3+d8
A, RL1 @RW3+d8
C0
ADDL
ADDL A, SUBL
SUBL A,
A, RL1 @RW3+d8
A, RL1 @RW3+d8
B0
+3
A0
RW2, @RW2+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL1 @RW2+d8
A, RL1 @RW2+d8
A, RL1 @RW2+d8
A, RL1 @RW2+d8
90
ADDL
ADDL A, SUBL
SUBL A,
A, RL1 @RW2+d8
A, RL1 @RW2+d8
80
+2
70
RW1, @RW1+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL0 @RW1+d8
A, RL0 @RW1+d8
A, RL0 @RW1+d8
A, RL0 @RW1+d8
CWBNE↓
CWBNE↓
60
ADDL
ADDL A, SUBL
SUBL A,
A, RL0 @RW1+d8
A, RL0 @RW1+d8
50
40
+1
30
+0
20
RW0, @RW0+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL0 @RW0+d8
A, RL0 @RW0+d8
A, RL0 @RW0+d8
A, RL0 @RW0+d8
10
ADDL
ADDL A, SUBL
SUBL A,
A, RL0 @RW0+d8
A, RL0 @RW0+d8
00
付録 B 命令
表 B.9-6 ea 系命令 その 1 ( 第 1 バイト =70H)
+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)
453
454
D0
E0
F0
MOVX
MOVX A,
XCH
XCH A,
A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
MOVX
MOVX A,
XCH
XCH A,
A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV A,
MOV
MOV
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 @RW0+, A @RW0+RW7,A
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV A,
MOV
MOV
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 @RW1+, A @RW1+RW7,A
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16 A,@RW2+ @PC+d16 @RW2+, A @PC+d16, A A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16 A,@RW3+
addr16 @RW3+, A
addr16, A A,@RW3+
addr16 A,@RW3+
addr16
+D
+E
+F
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R7 @RW7+d8
A, R7 @RW7+d8
R7, A @RW7+d8,A
A, R7 @RW7+d8
A, R7 @RW7+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R6 @RW6+d8
A, R6 @RW6+d8
R6, A @RW6+d8,A
A, R6 @RW6+d8
A, R6 @RW6+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R5 @RW5+d8
A, R5 @RW5+d8
R5, A @RW5+d8,A
A, R5 @RW5+d8
A, R5 @RW5+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R4 @RW4+d8
A, R4 @RW4+d8
R4, A @RW4+d8,A
A, R4 @RW4+d8
A, R4 @RW4+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R3 @RW3+d8
A, R3 @RW3+d8
R3, A @RW3+d8,A
A, R3 @RW3+d8
A, R3 @RW3+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R2 @RW2+d8
A, R2 @RW2+d8
R2, A @RW2+d8,A
A, R2 @RW2+d8
A, R2 @RW2+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R1 @RW1+d8
A, R1 @RW1+d8
R1, A @RW1+d8,A
A, R1 @RW1+d8
A, R1 @RW1+d8
+C
INC
DEC
R7 @RW7+d8
C0
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW3 @RW3+d16
@RW3 @RW3+d16
@RW3 @RW3+d16
@RW3 @RW3+d16 A,@RW3 @RW3+d16 @RW3, A @RW3+d16,A
A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
ROLC
RORC
RORC
INC
R7 @RW7+d8
R7 @RW7+d8
ROLC
INC
DEC
R6 @RW6+d8
B0
+B
ROLC
RORC
RORC
INC
R6 @RW6+d8
R6 @RW6+d8
ROLC
INC
DEC
R5 @RW5+d8
A0
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW2 @RW2+d16
@RW2 @RW2+d16
@RW2 @RW2+d16
@RW2 @RW2+d16 A,@RW2 @RW2+d16 @RW2, A @RW2+d16,A
A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
ROLC
RORC
RORC
INC
R5 @RW5+d8
R5 @RW5+d8
ROLC
INC
DEC
R4 @RW4+d8
90
+A
ROLC
RORC
RORC
INC
R4 @RW4+d8
R4 @RW4+d8
ROLC
INC
DEC
R3 @RW3+d8
INC
DEC
R2 @RW2+d8
INC
DEC
R1 @RW1+d8
80
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R0 @RW0+d8
A, R0 @RW0+d8
R0, A @RW0+d8,A
A, R0 @RW0+d8
A, R0 @RW0+d8
70
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW1 @RW1+d16
@RW1 @RW1+d16
@RW1 @RW1+d16
@RW1 @RW1+d16 A,@RW1 @RW1+d16 @RW1, A @RW1+d16,A
A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
ROLC
RORC
RORC
INC
R3 @RW3+d8
R3 @RW3+d8
ROLC
60
INC
DEC
R0 @RW0+d8
50
+9
ROLC
RORC
RORC
INC
R2 @RW2+d8
R2 @RW2+d8
ROLC
40
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW0 @RW0+d16
@RW0 @RW0+d16
@RW0 @RW0+d16
@RW0 @RW0+d16 A,@RW0 @RW0+d16 @RW0, A @RW0+d16,A
A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
ROLC
RORC
RORC
INC
R1 @RW1+d8
R1 @RW1+d8
ROLC
30
ROLC
RORC
RORC
INC
R0 @RW0+d8
R0 @RW0+d8
20
ROLC
10
+8
+7
+6
+5
+4
+3
+2
+1
+0
00
付録 B 命令
表 B.9-8 ea 系命令 その 3 ( 第 1 バイト =72H)
+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)
455
456
ADD
ADD
A, ADDC
ADDC
A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW0+ @RW0+RW7 @RW0+, r W0+RW7, r
SUB
A, ADDC
ADDC
A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW1+ @RW1+RW7 @RW1+, r W1+RW7, r
ADD
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16,
A,@RW2+ @PC+d16 @RW2+, r PC+d16, r
ADD
ADD
SUB
SUB
ADDC
ADDC
CMP
CMP
AND
AND
OR
OR
XOR
XOR
DBNZ
DBNZ
A,@RW3+ A, addr16 A,@RW3+ A, addr16 A,@RW3+ A, addr16 A,@RW3+ A, addr16 A,@RW3+ A, addr16 A,@RW3+
A, addr16 A,@RW3+ A, addr16 @RW3+, r
addr16, r
+E
+F
+D A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
A, SUB
+C A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
SUB
ADD
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
A,@RW3 @RW3+d16 @RW3, r W3+d16, r
+B
A, SUB
ADD
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
A,@RW2 @RW2+d16 @RW2, r W2+d16, r
+A
ADD
ADD
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
A,@RW1 @RW1+d16 @RW1, r W1+d16, r
+9
ADD
ADD
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
A,@RW0 @RW0+d16 @RW0, r W0+d16, r
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R7 @RW7+d8
A, R7 @RW7+d8
A, R7 @RW7+d8
A, R7 @RW7+d8
A, R7 @RW7+d8
A, R7 @RW7+d8
A, R7 @RW7+d8
R7, r RW7+d8, r
ADD
F0
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R6 @RW6+d8
A, R6 @RW6+d8
A, R6 @RW6+d8
A, R6 @RW6+d8
A, R6 @RW6+d8
A, R6 @RW6+d8
A, R6 @RW6+d8
R6, r RW6+d8, r
E0
ADD
D0
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R5 @RW5+d8
A, R5 @RW5+d8
A, R5 @RW5+d8
A, R5 @RW5+d8
A, R5 @RW5+d8
A, R5 @RW5+d8
A, R5 @RW5+d8
R5, r RW5+d8, r
C0
ADD
B0
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R4 @RW4+d8
A, R4 @RW4+d8
A, R4 @RW4+d8
A, R4 @RW4+d8
A, R4 @RW4+d8
A, R4 @RW4+d8
A, R4 @RW4+d8
R4, r RW4+d8, r
A0
ADD
90
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R3 @RW3+d8
A, R3 @RW3+d8
A, R3 @RW3+d8
A, R3 @RW3+d8
A, R3 @RW3+d8
A, R3 @RW3+d8
A, R3 @RW3+d8
R3, r RW3+d8, r
80
ADD
70
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R2 @RW2+d8
A, R2 @RW2+d8
A, R2 @RW2+d8
A, R2 @RW2+d8
A, R2 @RW2+d8
A, R2 @RW2+d8
A, R2 @RW2+d8
R2, r RW2+d8, r
60
ADD
50
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R1 @RW1+d8
A, R1 @RW1+d8
A, R1 @RW1+d8
A, R1 @RW1+d8
A, R1 @RW1+d8
A, R1 @RW1+d8
A, R1 @RW1+d8
R1, r RW1+d8, r
40
ADD
30
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R0 @RW0+d8
A, R0 @RW0+d8
A, R0 @RW0+d8
A, R0 @RW0+d8
A, R0 @RW0+d8
A, R0 @RW0+d8
A, R0 @RW0+d8
R0, r RW0+d8, r
20
ADD
10
+8
+7
+6
+5
+4
+3
+2
+1
+0
00
付録 B 命令
表 B.9-10 ea 系命令 その 5 ( 第 1 バイト =74H)
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)
457
458
ADDW A, SUBW
ADDW
ADDCW
+F
CMPW
CMPW A,
ANDW
ANDW A,
ANDW A,
ORW
ORW
ORW
ORW
A,
A,
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16, A,@RW2+ @PC+d16 @RW2+, r @PC+d16,r
ADDCW A,
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A,@RW3+
addr 16 A,@RW3+ addr 16
A,@RW3+
addr 16 A,@RW3+
addr 16 A,@RW3+
addr 16 A,@RW3+
addr16 A,@RW3+
addr 16 @RW3+, r
addr16, r
+E A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
SUBW A, ADDCW
SUBW A,
ANDW
XORW
XORW A,
DWBNZ
DWBNZ
A,@RW1+ @RW1+RW7 @RW1+, r @RW1+RW7,r
SUBW
ADDW A,
ADDW
CMPW A,
+D A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
CMPW
XORW
XORW A,
DWBNZ
DWBNZ
A,@RW0+ @RW0+RW7 @RW0+, r @RW0+RW7,r
ADDCW A,
+C A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
ADDCW
XORW
XORW A, DWBNZ
DWBNZ
A,@RW3 @RW3+d16 @RW3, r @RW3+d16,r
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A,
A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
+B
SUBW A,
XORW
XORW A, DWBNZ
DWBNZ
A,@RW2 @RW2+d16 @RW2, r @RW2+d16,r
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A,
A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
+A
SUBW
XORW
XORW A, DWBNZ
DWBNZ
A,@RW1 @RW1+d16 @RW1, r @RW1+d16,r
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A,
A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
+9
ADDW A,
XORW
XORW A, DWBNZ
DWBNZ
A,@RW0 @RW0+d16 @RW0, r @RW0+d16,r
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A,
A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
+8
ADDW
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW7 @RW7+d8
A, RW7 @RW7+d8
A, RW7 @RW7+d8
A, RW7 @RW7+d8
A, RW7 @RW7+d8
A, RW7 @RW7+d8
A, RW7 @RW7+d8
RW7, r @RW7+d8,r
F0
+7
E0
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW6 @RW6+d8
A, RW6 @RW6+d8
A, RW6 @RW6+d8
A, RW6 @RW6+d8
A, RW6 @RW6+d8
A, RW6 @RW6+d8
A, RW6 @RW6+d8
RW6, r @RW6+d8,r
D0
+6
C0
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW5 @RW5+d8
A, RW5 @RW5+d8
A, RW5 @RW5+d8
A, RW5 @RW5+d8
A, RW5 @RW5+d8
A, RW5 @RW5+d8
A, RW5 @RW5+d8
RW5, r @RW5+d8,r
B0
+5
A0
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW4 @RW4+d8
A, RW4 @RW4+d8
A, RW4 @RW4+d8
A, RW4 @RW4+d8
A, RW4 @RW4+d8
A, RW4 @RW4+d8
A, RW4 @RW4+d8
RW4, r @RW4+d8,r
90
+4
80
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW3 @RW3+d8
A, RW3 @RW3+d8
A, RW3 @RW3+d8
A, RW3 @RW3+d8
A, RW3 @RW3+d8
A, RW3 @RW3+d8
A, RW3 @RW3+d8
RW3, r @RW3+d8,r
70
+3
60
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW2 @RW2+d8
A, RW2 @RW2+d8
A, RW2 @RW2+d8
A, RW2 @RW2+d8
A, RW2 @RW2+d8
A, RW2 @RW2+d8
A, RW2 @RW2+d8
RW2, r @RW2+d8,r
50
+2
40
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW1 @RW1+d8
A, RW1 @RW1+d8
A, RW1 @RW1+d8
A, RW1 @RW1+d8
A, RW1 @RW1+d8
A, RW1 @RW1+d8
A, RW1 @RW1+d8
RW1, r @RW1+d8,r
30
+1
20
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW0 @RW0+d8
A, RW0 @RW0+d8
A, RW0 @RW0+d8
A, RW0 @RW0+d8
A, RW0 @RW0+d8
A, RW0 @RW0+d8
A, RW0 @RW0+d8
RW0, r @RW0+d8,r
10
+0
00
付録 B 命令
表 B.9-12 ea 系命令 その 7 ( 第 1 バイト =76H)
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)
459
460
A,
MULU
+F
DIV
DIV
A, DIVW
DIVW A,
A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
DIV
DIV
A, DIVW
DIVW A,
A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
DIV
DIV
A, DIVW
DIVW A,
A,@RW3 @RW3+d16
A,@RW3 @RW3+d16
DIV
DIV
A, DIVW
DIVW A,
A,@RW2 @RW2+d16
A,@RW2 @RW2+d16
DIV
DIV
A, DIVW
DIVW A,
A,@RW1 @RW1+d16
A,@RW1 @RW1+d16
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, @RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
A, DIVW
DIVW A,
addr16 A,@RW3+
addr16
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
A,@RW2+ @PC+d16
MULUW
MULUW A, MUL
MUL A,
MULW
MULW A,
DIVU
DIVU A,
DIVUW
DIVUW A,
A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
A, MULUW
@RW1+RW7
MULU
@RW0+RW7
+E A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
MULU
+D A,@RW1+
MULU
+C A,@RW0+
MULUW
MULUW A, MUL
MUL A,
MULW
MULW A,
DIVU
DIVU A,
DIVUW
DIVUW A,
A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A,
A, @RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
MULU
MULU A, MULUW
MULUW A,
A,@RW3 @RW3+d16
A,@RW3 @RW3+d16
+B
A,
MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A,
A, @RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
MULU
MULU A, MULUW
MULUW A,
A,@RW2 @RW2+d16
A,@RW2 @RW2+d16
+A
MULU
MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A,
A, @RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
MULU
MULU A, MULUW
MULUW A,
A,@RW1 @RW1+d16
A,@RW1 @RW1+d16
+9
MULU
MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A,
A, @RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
MULU
MULU A, MULUW
MULUW A,
A,@RW0 @RW0+d16
A,@RW0 @RW0+d16
+8
DIV
DIV
A, DIVW
DIVW A,
A,@RW0 @RW0+d16
A,@RW0 @RW0+d16
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R7 @RW7+d8
A, RW7 @RW7+d8
A, R7 @RW7+d8
A, RW7 @RW7+d8
A, R7 @RW7+d8
A, RW7 @RW7+d8
A, R7 @RW7+d8
A, RW7 @RW7+d8
F0
+7
E0
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R6 @RW6+d8
A, RW6 @RW6+d8
A, R6 @RW6+d8
A, RW6 @RW6+d8
A, R6 @RW6+d8
A, RW6 @RW6+d8
A, R6 @RW6+d8
A, RW6 @RW6+d8
D0
+6
C0
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R5 @RW5+d8
A, RW5 @RW5+d8
A, R5 @RW5+d8
A, RW5 @RW5+d8
A, R5 @RW5+d8
A, RW5 @RW5+d8
A, R5 @RW5+d8
A, RW5 @RW5+d8
B0
+5
A0
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R4 @RW4+d8
A, RW4 @RW4+d8
A, R4 @RW4+d8
A, RW4 @RW4+d8
A, R4 @RW4+d8
A, RW4 @RW4+d8
A, R4 @RW4+d8
A, RW4 @RW4+d8
90
+4
80
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R3 @RW3+d8
A, RW3 @RW3+d8
A, R3 @RW3+d8
A, RW3 @RW3+d8
A, R3 @RW3+d8
A, RW3 @RW3+d8
A, R3 @RW3+d8
A, RW3 @RW3+d8
70
+3
60
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R2 @RW2+d8
A, RW2 @RW2+d8
A, R2 @RW2+d8
A, RW2 @RW2+d8
A, R2 @RW2+d8
A, RW2 @RW2+d8
A, R2 @RW2+d8
A, RW2 @RW2+d8
50
+2
40
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R1 @RW1+d8
A, RW1 @RW1+d8
A, R1 @RW1+d8
A, RW1 @RW1+d8
A, R1 @RW1+d8
A, RW1 @RW1+d8
A, R1 @RW1+d8
A, RW1 @RW1+d8
30
+1
20
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R0 @RW0+d8
A, RW0 @RW0+d8
A, R0 @RW0+d8
A, RW0 @RW0+d8
A, R0 @RW0+d8
A, RW0 @RW0+d8
A, R0 @RW0+d8
A, RW0 @RW0+d8
10
+0
00
付録 B 命令
表 B.9-14 ea 系命令 その 9 ( 第 1 バイト =78H)
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)
461
462
MOV R0,
MOV
MOV R1,
MOV
MOV R2,
MOV
MOV R3,
MOV
MOV R4,
MOV
MOV R5,
MOV
MOV R6,
MOV
MOV R7,
MOV R1,
MOV
MOV R2,
MOV
MOV R3,
MOV
MOV R4,
MOV
MOV R5,
MOV
MOV R6,
MOV
MOV R7,
MOV R0, MOV R0,
MOV R1, MOV R1,
MOV R2, MOV R2,
MOV R3, MOV R3,
MOV R4, MOV R4,
MOV R5, MOV R5,
MOV R6, MOV R6,
MOV R7, MOV R7,
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
MOV R0, MOV R0,
MOV R1, MOV R1,
MOV R2, MOV R2,
MOV R3, MOV R3,
MOV R4, MOV R4,
MOV R5, MOV R5,
MOV R6, MOV R6,
MOV R7, MOV R7,
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
MOV R0, MOV R0, MOV R1, MOV R1, MOV R2, MOV R2, MOV R3, MOV R3, MOV R4, MOV R4, MOV R5, MOV R5, MOV R6, MOV R6, MOV R7, MOV R7,
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
MOV R0, MOV R0, MOV R1, MOV R1, MOV R2, MOV R2, MOV R3, MOV R3, MOV R4, MOV R4, MOV R5, MOV R5, MOV R6, MOV R6, MOV R7, MOV R7,
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
+C
+D
+E
+F
+B R0,@RW3 @RW3+d16 R1,@RW3 @RW3+d16 R2,@RW3 @RW3+d16 R3,@RW3 @RW3+d16 R4,@RW3 @RW3+d16 R5,@RW3 @RW3+d16 R6,@RW3 @RW3+d16 R7,@RW3 @RW3+d16
MOV
+A R0,@RW2 @RW2+d16 R1,@RW2 @RW2+d16 R2,@RW2 @RW2+d16 R3,@RW2 @RW2+d16 R4,@RW2 @RW2+d16 R5,@RW2 @RW2+d16 R6,@RW2 @RW2+d16 R7,@RW2 @RW2+d16
MOV
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0,@RW1 @RW1+d16 R1,@RW1 @RW1+d16 R2,@RW1 @RW1+d16 R3,@RW1 @RW1+d16 R4,@RW1 @RW1+d16 R5,@RW1 @RW1+d16 R6,@RW1 @RW1+d16 R7,@RW1 @RW1+d16
+9
MOV R0,
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0,@RW0 @RW0+d16 R1,@RW0 @RW0+d16 R2,@RW0 @RW0+d16 R3,@RW0 @RW0+d16 R4,@RW0 @RW0+d16 R5,@RW0 @RW0+d16 R6,@RW0 @RW0+d16 R7,@RW0 @RW0+d16
+8
MOV
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R7 @RW7+d8
R1, R7 @RW7+d8
R2, R7 @RW7+d8
R3, R7 @RW7+d8
R4, R7 @RW7+d8
R5, R7 @RW7+d8
R6, R7 @RW7+d8
R7, R7 @RW7+d8
F0
+7
E0
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R6 @RW6+d8
R1, R6 @RW6+d8
R2, R6 @RW6+d8
R3, R6 @RW6+d8
R4, R6 @RW6+d8
R5, R6 @RW6+d8
R6, R6 @RW6+d8
R7, R6 @RW6+d8
D0
+6
C0
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R5 @RW5+d8
R1, R5 @RW5+d8
R2, R5 @RW5+d8
R3, R5 @RW5+d8
R4, R5 @RW5+d8
R5, R5 @RW5+d8
R6, R5 @RW5+d8
R7, R5 @RW5+d8
B0
+5
A0
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R4 @RW4+d8
R1, R4 @RW4+d8
R2, R4 @RW4+d8
R3, R4 @RW4+d8
R4, R4 @RW4+d8
R5, R4 @RW4+d8
R6, R4 @RW4+d8
R7, R4 @RW4+d8
90
+4
80
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R3 @RW3+d8
R1, R3 @RW3+d8
R2, R3 @RW3+d8
R3, R3 @RW3+d8
R4, R3 @RW3+d8
R5, R3 @RW3+d8
R6, R3 @RW3+d8
R7, R3 @RW3+d8
70
+3
60
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R2 @RW2+d8
R1, R2 @RW2+d8
R2, R2 @RW2+d8
R3, R2 @RW2+d8
R4, R2 @RW2+d8
R5, R2 @RW2+d8
R6, R2 @RW2+d8
R7, R2 @RW2+d8
50
+2
40
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R1 @RW1+d8
R1, R1 @RW1+d8
R2, R1 @RW1+d8
R3, R1 @RW1+d8
R4, R1 @RW1+d8
R5, R1 @RW1+d8
R6, R1 @RW1+d8
R7, R1 @RW1+d8
30
+1
20
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R0 @RW0+d8
R1, R0 @RW0+d8
R2, R0 @RW0+d8
R3, R0 @RW0+d8
R4, R0 @RW0+d8
R5, R0 @RW0+d8
R6, R0 @RW0+d8
R7, R0 @RW0+d8
10
+0
00
付録 B 命令
表 B.9-16 MOV Ri, ea 命令 ( 第 1 バイト =7AH)
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)
463
464
+F
+E
+D
+C
+B
+A
+9
+8
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R1 @RW3+d16, R1
MOV
@RW2, R1 @RW2+d16, R1
MOV
@RW1, R1 @RW1+d16, R1
MOV
@RW0, R1 @RW0+d16, R1
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R2 @RW3+d16, R2
MOV
@RW2, R2 @RW2+d16, R2
MOV
@RW1, R2 @RW1+d16, R2
MOV
@RW0, R2 @RW0+d16, R2
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R3 @RW3+d16, R3
MOV
@RW2, R3 @RW2+d16, R3
MOV
@RW1, R3 @RW1+d16, R3
MOV
@RW0, R3 @RW0+d16, R3
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R4 @RW3+d16, R4
MOV
@RW2, R4 @RW2+d16, R4
MOV
@RW1, R4 @RW1+d16, R4
MOV
@RW0, R4 @RW0+d16, R4
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R5 @RW3+d16, R5
MOV
@RW2, R5 @RW2+d16, R5
MOV
@RW1, R5 @RW1+d16, R5
MOV
@RW0, R5 @RW0+d16, R5
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R6 @RW3+d16, R6
MOV
@RW2, R6 @RW2+d16, R6
MOV
@RW1, R6 @RW1+d16, R6
MOV
@RW0, R6 @RW0+d16, R6
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R7 @RW3+d16, R7
MOV
@RW2, R7 @RW2+d16, R7
MOV
@RW1, R7 @RW1+d16, R7
MOV
@RW0, R7 @RW0+d16, R7
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3+, R0 addr16, R0
MOV
@RW3+, R1 addr16, R1
MOV
MOV
MOV
MOV
MOV
@RW2+, R1 @PC+d16, R1
MOV
@RW2+, R0 @PC+d16, R0
MOV
MOV
MOV
@RW3+, R2 addr16, R2
MOV
@RW2+, R2 @PC+d16, R2
MOV
MOV
MOV
@RW3+, R3 addr16, R3
MOV
@RW2+, R3 @PC+d16, R3
MOV
MOV
MOV
@RW3+, R4 addr16, R4
MOV
@RW2+, R4 @PC+d16, R4
MOV
MOV
MOV
@RW3+, R5 addr16, R5
MOV
@RW2+, R5 @PC+d16, R5
MOV
MOV
MOV
@RW3+, R6 addr16, R6
MOV
@RW2+, R6 @PC+d16, R6
MOV
MOV
MOV
@RW3+, R7 addr16, R7
MOV
@RW2+, R7 @PC+d16, R7
MOV
@RW1+, R0 @RW1+RW7, R0 @RW1+, R1 @RW1+RW7, R1 @RW1+, R2 @RW1+RW7, R2 @RW1+, R3 @RW1+RW7, R3 @RW1+, R4 @RW1+RW7, R4 @RW1+, R5 @RW1+RW7, R5 @RW1+, R6 @RW1+RW7, R6 @RW1+, R7 @RW1+RW7, R7
MOV
@RW0+, R0 @RW0+RW7, R0 @RW0+, R1 @RW0+RW7, R1 @RW0+, R2 @RW0+RW7, R2 @RW0+, R3 @RW0+RW7, R3 @RW0+, R4 @RW0+RW7, R4 @RW0+, R5 @RW0+RW7, R5 @RW0+, R6 @RW0+RW7, R6 @RW0+, R7 @RW0+RW7, R7
MOV
@RW3, R0 @RW3+d16, R0
MOV
@RW2, R0 @RW2+d16, R0
MOV
@RW1, R0 @RW1+d16, R0
MOV
@RW0, R0 @RW0+d16, R0
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R7, R0 @RW7+d8, R0
R7, R1 @RW7+d8, R1
R7, R2 @RW7+d8, R2
R7, R3 @RW7+d8, R3
R7, R4 @RW7+d8, R4
R7, R5 @RW7+d8, R5
R7, R6 @RW7+d8, R6
R7, R7 @RW7+d8, R7
F0
+7
E0
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R6, R0 @RW6+d8, R0
R6, R1 @RW6+d8, R1
R6, R2 @RW6+d8, R2
R6, R3 @RW6+d8, R3
R6, R4 @RW6+d8, R4
R6, R5 @RW6+d8, R5
R6, R6 @RW6+d8, R6
R6, R7 @RW6+d8, R7
D0
+6
C0
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R5, R0 @RW5+d8, R0
R5, R1 @RW5+d8, R1
R5, R2 @RW5+d8, R2
R5, R3 @RW5+d8, R3
R5, R4 @RW5+d8, R4
R5, R5 @RW5+d8, R5
R5, R6 @RW5+d8, R6
R5, R7 @RW5+d8, R7
B0
+5
A0
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R4, R0 @RW4+d8, R0
R4, R1 @RW4+d8, R1
R4, R2 @RW4+d8, R2
R4, R3 @RW4+d8, R3
R4, R4 @RW4+d8, R4
R4, R5 @RW4+d8, R5
R4, R6 @RW4+d8, R6
R4, R7 @RW4+d8, R7
90
+4
80
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R3, R0 @RW3+d8, R0
R3, R1 @RW3+d8, R1
R3, R2 @RW3+d8, R2
R3, R3 @RW3+d8, R3
R3, R4 @RW3+d8, R4
R3, R5 @RW3+d8, R5
R3, R6 @RW3+d8, R6
R3, R7 @RW3+d8, R7
70
+3
60
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R2, R0 @RW2+d8, R0
R2, R1 @RW2+d8, R1
R2, R2 @RW2+d8, R2
R2, R3 @RW2+d8, R3
R2, R4 @RW2+d8, R4
R2, R5 @RW2+d8, R5
R2, R6 @RW2+d8, R6
R2, R7 @RW2+d8, R7
50
+2
40
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R1, R0 @RW1+d8, R0
R1, R1 @RW1+d8, R1
R1, R2 @RW1+d8, R2
R1, R3 @RW1+d8, R3
R1, R4 @RW1+d8, R4
R1, R5 @RW1+d8, R5
R1, R6 @RW1+d8, R6
R1, R7 @RW1+d8, R7
30
+1
20
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R0, R0 @RW0+d8, R0
R0, R1 @RW0+d8, R1
R0, R2 @RW0+d8, R2
R0, R3 @RW0+d8, R3
R0, R4 @RW0+d8, R4
R0, R5 @RW0+d8, R5
R0, R6 @RW0+d8, R6
R0, R7 @RW0+d8, R7
10
+0
00
付録 B 命令
表 B.9-18 MOV Ri, ea 命令 ( 第 1 バイト =7CH)
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)
465
466
XCH
XCH
XCH
XCH
R1,
XCH
XCH R1,
R1,@RW2 W2+d16, A
XCH
XCH
R2,
XCH
XCH R2,
R2,@RW2 W2+d16, A
XCH
XCH
R3,
XCH
XCH R3,
R3,@RW2 W2+d16, A
XCH
XCH
R4,
XCH
XCH R4,
R4,@RW2 W2+d16, A
XCH
XCH
R5,
XCH
XCH R5,
R5,@RW2 W2+d16, A
XCH
XCH
R6,
XCH
XCH R6,
R6,@RW2 W2+d16, A
XCH
XCH
R7,
XCH
XCH R7,
R7,@RW2 W2+d16, A
XCH
XCH
XCH
XCH
XCH
R1, XCH
XCH
R2, XCH
XCH
R3, XCH
XCH
R4, XCH
XCH
R5, XCH
XCH
R6, XCH
XCH
R7,
+F R0,@RW3+ R0, addr16
XCH
XCH
R1,@RW3+ R1, addr16
XCH
XCH
R2,@RW3+ R2, addr16
XCH
XCH
R3,@RW3+ R3, addr16
XCH
XCH
R4,@RW3+ R4, addr16
XCH
XCH
R5,@RW3+ R5, addr16
XCH
XCH
R6,@RW3+ R6, addr16
XCH
XCH
R7,@RW3+ R7, addr16
+E R0,@RW2+ @PC+d16 R1,@RW2+ @PC+d16 R2,@RW2+ @PC+d16 R3,@RW2+ @PC+d16 R4,@RW2+ @PC+d16 R5,@RW2+ @PC+d16 R6,@RW2+ @PC+d16 R7,@RW2+ @PC+d16
R0, XCH
XCH R0,
XCH
XCH R1,
XCH
XCH R2,
XCH
XCH R3,
XCH
XCH R4,
XCH
XCH R5,
XCH
XCH R6,
XCH
XCH R7,
@RW1+RW7 R1,@RW1+ @RW1+RW7 R2,@RW1+ @RW1+RW7 R3,@RW1+ @RW1+RW7 R4,@RW1+ @RW1+RW7 R5,@RW1+ @RW1+RW7 R6,@RW1+ @RW1+RW7 R7,@RW1+ @RW1+RW7
+D R0,@RW1+
XCH
XCH R0,
XCH
XCH R1,
XCH
XCH R2,
XCH
XCH R3,
XCH
XCH R4,
XCH
XCH R5,
XCH
XCH R6,
XCH
XCH R7,
@RW0+RW7 R1,@RW0+ @RW0+RW7 R2,@RW0+ @RW0+RW7 R3,@RW0+ @RW0+RW7 R4,@RW0+ @RW0+RW7 R5,@RW0+ @RW0+RW7 R6,@RW0+ @RW0+RW7 R7,@RW0+ @RW0+RW7
XCH
+C R0,@RW0+
+B R0,@RW3 @RW3+d16 R1,@RW3 @RW3+d16 R2,@RW3 @RW3+d16 R3,@RW3 @RW3+d16 R4,@RW3 @RW3+d16 R5,@RW3 @RW3+d16 R6,@RW3 @RW3+d16 R7,@RW3 @RW3+d16
R0,
+A R0,@RW2 W2+d16, A
R0,
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0,@RW1 @RW1+d16 R1,@RW1 @RW1+d16 R2,@RW1 @RW1+d16 R3,@RW1 @RW1+d16 R4,@RW1 @RW1+d16 R5,@RW1 @RW1+d16 R6,@RW1 @RW1+d16 R7,@RW1 @RW1+d16
+9
XCH
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0,@RW0 @RW0+d16 R1,@RW0 @RW0+d16 R2,@RW0 @RW0+d16 R3,@RW0 @RW0+d16 R4,@RW0 @RW0+d16 R5,@RW0 @RW0+d16 R6,@RW0 @RW0+d16 R7,@RW0 @RW0+d16
+8
XCH
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R7 @RW7+d8
R1, R7 @RW7+d8
R2, R7 @RW7+d8
R3, R7 @RW7+d8
R4, R7 @RW7+d8
R5, R7 @RW7+d8
R6, R7 @RW7+d8
R7, R7 @RW7+d8
F0
+7
E0
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R6 @RW6+d8
R1, R6 @RW6+d8
R2, R6 @RW6+d8
R3, R6 @RW6+d8
R4, R6 @RW6+d8
R5, R6 @RW6+d8
R6, R6 @RW6+d8
R7, R6 @RW6+d8
D0
+6
C0
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R5 @RW5+d8
R1, R5 @RW5+d8
R2, R5 @RW5+d8
R3, R5 @RW5+d8
R4, R5 @RW5+d8
R5, R5 @RW5+d8
R6, R5 @RW5+d8
R7, R5 @RW5+d8
B0
+5
A
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R4 @RW4+d8
R1, R4 @RW4+d8
R2, R4 @RW4+d8
R3, R4 @RW4+d8
R4, R4 @RW4+d8
R5, R4 @RW4+d8
R6, R4 @RW4+d8
R7, R4 @RW4+d8
90
+4
80
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R3 @RW3+d8
R1, R3 @RW3+d8
R2, R3 @RW3+d8
R3, R3 @RW3+d8
R4, R3 @RW3+d8
R5, R3 @RW3+d8
R6, R3 @RW3+d8
R7, R3 @RW3+d8
70
+3
60
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R2 @RW2+d8
R1, R2 @RW2+d8
R2, R2 @RW2+d8
R3, R2 @RW2+d8
R4, R2 @RW2+d8
R5, R2 @RW2+d8
R6, R2 @RW2+d8
R7, R2 @RW2+d8
50
+2
40
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R1 @RW1+d8
R1, R1 @RW1+d8
R2, R1 @RW1+d8
R3, R1 @RW1+d8
R4, R1 @RW1+d8
R5, R1 @RW1+d8
R6, R1 @RW1+d8
R7, R1 @RW1+d8
30
+1
20
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R0 @RW0+d8
R1, R0 @RW0+d8
R2, R0 @RW0+d8
R3, R0 @RW0+d8
R4, R0 @RW0+d8
R5, R0 @RW0+d8
R6, R0 @RW0+d8
R7, R0 @RW0+d8
10
+0
00
付録 B 命令
表 B.9-20 XCH Ri, ea 命令 ( 第 1 バイト =7EH)
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)
467
付録 C フラッシュメモリモードのタイミングダイアグラム
付録 C
フラッシュメモリモードのタイミングダイアグラム
以下にフラッシュメモリモードにおける MB90F598/F598G の外部端子の各タイミン
グダイアグラムを示します。
■ 読出しアクセスによるデータリード
図 C-1 読出しアクセスのタイミングダイアグラム
tRC
アドレス安定
AQ16~AQ0
tACC
CE
tOE
tDF
OE
tOEH
WE
tOH
tCE
ハイ
インピーダンス
出力定義済
ハイインピーダンス
DQ7~DQ0
■ 書込み , データポーリング , 読出し (WE コントロール )
図 C-2 書込みアクセス (WE コントロール ) のタイミングダイアグラム
3rdバスサイクル
AQ18
~
AQ0
データポーリング
PA
7AAAAH
tWC
tAS
PA
tRC
tAH
CE
tGHWL
OE
tWP
tWHWH1
WE
tOE
tWPH
tCS
DQ7
~
DQ0
tDF
tDH
A0H
PD
DQ7
DOUT
tDS
tOH
5.0V
tCE
PA
: 書込みアドレス
PD
: 書込みデータ
DQ7
: 書込みデータの反転出力
DOUT : 書込みデータの出力
( 注意事項 ) 4 つのバスサイクルの内の後最後の 2 つのバスサイクルシーケンスを記述します。
468
付録 C フラッシュメモリモードのタイミングダイアグラム
■ 書込み , データポーリング , 読出し (CE コントロール )
図 C-3 書込みアクセス (CE コントロール)のタイミングダイアグラム
3rdバスサイクル
データポーリング
PA
7AAAAH
AQ18~AQ0
tWC
tAS
PA
tAH
tWH
WE
tGHWL
OE
tCP
tWHWH1
CE
tCPH
tWS
tDH
A0H
PD
DQ7
DOUT
DQ7~DQ0
tDS
5.0V
PA
: 書込みアドレス
PD
: 書込みデータ
DQ7
: 書込みデータの反転出力
DOUT : 書込みデータの出力
( 注意事項 ) 4 つのバスサイクルの内の後最後の 2 つのバスサイクルシーケンスを記述します。
■ チップ消去 / セクタ消去コマンドシーケンス
図 C-4 書込みアクセス ( チップ消去 / セクタ消去 ) のタイミングダイアグラム
tAS
AQ18
~
AQ0
7AAAAH
tAH
75555H
7AAAAH
7AAAAH
75555H
SA*
CE
tGHWL
OE
tWP
WE
tWPH
tCS
tDH
DQ7
~
DQ0
AAH
55H
80H
AAH
55H
10H/30H
tDS
VCC
tVCS
*: SA はセクタ消去におけるセクタアドレスです。7AAAAH ( または 6AAAAH) はチップ消去における
アドレスです。
469
付録 C フラッシュメモリモードのタイミングダイアグラム
■ データポーリング
図 C-5 データポーリングのタイミングダイアグラム
tCH
CE
tDF
tOE
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=トグル停止
tOE
*: DQ7 は有効データです ( デバイスは自動動作を停止します )。
470
DQ7~DQ0
=有効
付録 C フラッシュメモリモードのタイミングダイアグラム
■ 書込み / 消去中の RY/BY タイミング
図 C-7 書込み / 消去中の RY/BY 信号出力のタイミングダイアグラム
CE
最終書込みパルスの
立上りエッジ
WE
書込みまたは消去
RY/BY
tビジー
■ RST と RY/BY タイミング
図 C-8 ハードウェアリセット時の RY/BY 信号出力のタイミングダイアグラム
CE
RY/BY
tRP
RST
tレディ
471
付録 C フラッシュメモリモードのタイミングダイアグラム
■ セクタプロテクト許可 / セクタプロテクト検証
図 C-9 セクタプロテクト許可 / セクタプロテクト検証
AQ18~AQ9
SAy
SAx
(AQ8, AQ2, AQ1)=(0, 1, 0)
AQ8,AQ2,AQ1
MD0
12V
5V
MD2
12V
5V
tVLHT
tVLHT
OE
WE
CE
tWPP
tOESP
tCSP
DQ7~DQ0
01H
tOE
SAX: 最初のセクタアドレス
SAY: 次のセクタアドレス
■ セクタプロテクト一時取消
図 C-10 セクタプロテクト一時取消
MD1
12V
5V
5V
OE
WE
tVLHT
RY/BY
472
書込み/消去コマンドシーケンス
付録 D MB90595 割込みベクタ一覧表
付録 D
MB90595 割込みベクタ一覧表
割込み処理の際に参照する割込みベクタのテーブルはメモリ領域の FFFC00H ∼
FFFFFFH に割り当ててあり , ソフトウェア割込みと共通で使用しています。
■ MB90595 割込みベクタ一覧表
表 D-1 に , MB90595 シリーズの割込みベクタ一覧表を示します。
表 D-1 MB90595 割込みベクタ一覧表 (1 / 2)
ソフトウェア
割込み命令
ベクタアドレス L ベクタアドレス M ベクタアドレス H モードレジスタ
割込み No
ハードウェア割込み
INT 0
FFFFFCH
FFFFFDH
FFFFFEH
未使用
#0
なし
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
INT 7
FFFFE0H
FFFFE1H
FFFFE2H
未使用
#7
なし
INT 8
FFFFDCH
FFFFDDH
FFFFDEH
FFFFDF
#8
(RESET ベクタ)
INT 9
FFFFD8H
FFFFD9H
FFFFDAH
未使用
#9
アドレス一致検出機能
INT 10
FFFFD4H
FFFFD5H
FFFFD6H
未使用
#10
< 例外 >
INT 11
FFFFD0H
FFFFD1H
FFFFD2H
未使用
#11
CAN RX
INT 12
FFFFCCH
FFFFCDH
FFFFCEH
未使用
#12
CAN TX/NS
INT 13
FFFFC8H
FFFFC9H
FFFFCAH
未使用
#13
外部割込み INT0/INT1
INT 14
FFFFC4H
FFFFC5H
FFFFC6H
未使用
#14
タイムベースタイマ
INT 15
FFFFC0H
FFFFC1H
FFFFC2H
未使用
#15
16bit リロードタイマ 0
INT 16
FFFFBCH
FFFFBDH
FFFFBEH
未使用
#16
A/D コンバータ
INT 17
FFFFB8H
FFFFB9H
FFFFBAH
未使用
#17
入出力タイマ
INT 18
FFFFB4H
FFFFB5H
FFFFB6H
未使用
#18
外部割込み INT2/INT3
INT 19
FFFFB0H
FFFFB1H
FFFFB2H
未使用
#19
シリアル I/O
INT 20
FFFFACH
FFFFADH
FFFFAEH
未使用
#20
外部割込み INT4/INT5
INT 21
FFFFA8H
FFFFA9H
FFFFAAH
未使用
#21
インプットキャプチャ 0
INT 22
FFFFA4H
FFFFA5H
FFFFA6H
未使用
#22
PPG 0/1
INT 23
FFFFA0H
FFFFA1H
FFFFA2H
未使用
#23
アウトプットコンペア 0
INT 24
FFFF9CH
FFFF9DH
FFFF9EH
未使用
#24
PPG 2/3
INT 25
FFFF98H
FFFF99H
FFFF9AH
未使用
#25
外部割込み INT6/INT7
INT 26
FFFF94H
FFFF95H
FFFF96H
未使用
#26
インプットキャプチャ1
INT 27
FFFF90H
FFFF91H
FFFF92H
未使用
#27
PPG 4/5
INT 28
FFFF8CH
FFFF8DH
FFFF8EH
未使用
#28
アウトプットコンペア1
INT 29
FFFF88H
FFFF89H
FFFF8AH
未使用
#29
PPG 6/7
INT 30
FFFF84H
FFFF85H
FFFF86H
未使用
#30
インプットキャプチャ2
INT 31
FFFF80H
FFFF81H
FFFF82H
未使用
#31
PPG 8/9
473
付録 D MB90595 割込みベクタ一覧表
表 D-1 MB90595 割込みベクタ一覧表 (2 / 2)
ソフトウェア
割込み命令
ベクタアドレス L ベクタアドレス M ベクタアドレス H モードレジスタ
割込み No
ハードウェア割込み
INT 32
FFFF7CH
FFFF7DH
FFFF7EH
未使用
#32
アウトプットコンペア2
INT 33
FFFF78H
FFFF79H
FFFF7AH
未使用
#33
インプットキャプチャ3
INT 34
FFFF74H
FFFF75H
FFFF76H
未使用
#34
PPG A/B
INT 35
FFFF70H
FFFF71H
FFFF72H
未使用
#35
アウトプットコンペア3
INT 36
FFFF6CH
FFFF6DH
FFFF6EH
未使用
#36
16bit リロードタイマ 1
INT 37
FFFF68H
FFFF69H
FFFF6AH
未使用
#37
UART 0 RX
INT 38
FFFF64H
FFFF65H
FFFF66H
未使用
#38
UART 0 TX
INT 39
FFFF60H
FFFF61H
FFFF62H
未使用
#39
UART 1 RX
INT 40
FFFF5CH
FFFF5DH
FFFF5EH
未使用
#40
UART 1 TX
INT 41
FFFF58H
FFFF59H
FFFF5AH
未使用
#41
フラッシュメモリ
INT 42
FFFF54H
FFFF55H
FFFF56H
未使用
#42
遅延割込み
INT 43
FFFF50H
FFFF51H
FFFF52H
未使用
#43
なし
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
INT 254
FFFC04H
FFFC05H
FFFC06H
未使用
#254
なし
INT 255
FFFC00H
FFFC01H
FFFC02H
未使用
#255
なし
■ 割込み要因と割込みベクタ・割込み制御レジスタ
付録 D 表 D-2 に , MB90595 シリーズの割込み要因 , 割込みベクタ , 割込み制御レジス
タの関係を示します。
表 D-2 割込み要因と割込みベクタ・割込み制御レジスタ (1 / 2)
割込み要因
I2OS クリア
割込みベクタ
割込み制御レジスタ
番号
アドレス
番号
アドレス
リセット
×
# 08
FFFFDCH
-
-
INT9 命令
×
# 09
FFFFD8H
-
-
例外
×
# 10
FFFFD4H
-
-
CAN RX
×
# 11
FFFFD0H
CAN TX/NS
×
# 12
FFFFCCH
ICR00
0000B0H
外部割込み INT0/INT1
○
# 13
FFFFC8H
タイムベースタイマ
×
# 14
FFFFC4H
ICR01
0000B1H
16bit リロードタイマ 0
○
# 15
FFFFC0H
A/D コンバータ
○
# 16
FFFFBCH
ICR02
0000B2H
入出力タイマ
×
# 17
FFFFB8H
外部割込み INT2/INT3
○
# 18
FFFFB4H
ICR03
0000B3H
シリアル I/O
○
# 19
FFFFB0H
外部割込み INT4/INT5
○
# 20
FFFFACH
ICR04
0000B4H
474
付録 D MB90595 割込みベクタ一覧表
表 D-2 割込み要因と割込みベクタ・割込み制御レジスタ (2 / 2)
割込み要因
I2OS クリア
割込みベクタ
番号
アドレス
インプットキャプチャ 0
○
# 21
FFFFA8H
PPG 0/1
×
# 22
FFFFA4H
アウトプットコンペア 0
○
# 23
FFFFA0H
PPG 2/3
×
# 24
FFFF9CH
外部割込み INT6/INT7
○
# 25
FFFF98H
インプットキャプチャ 1
○
# 26
FFFF94H
PPG 4/5
×
# 27
FFFF90H
アウトプットコンペア 1
○
# 28
FFFF8CH
PPG 6/7
×
# 29
FFFF88H
インプットキャプチャ 2
○
# 30
FFFF84H
PPG 8/9
×
# 31
FFFF80H
アウトプットコンペア 2
○
# 32
FFFF7CH
インプットキャプチャ 3
○
# 33
FFFF78H
PPG A/B
×
# 34
FFFF74H
アウトプットコンペア 3
○
# 35
FFFF70H
16bit リロードタイマ 1
○
# 36
FFFF6CH
UART 0 RX
◎
# 37
FFFF68H
UART 0 TX
○
# 38
FFFF64H
UART 1 RX
◎
# 39
FFFF60H
UART 1 TX
○
# 40
FFFF5CH
フラッシュメモリ
×
# 41
FFFF58H
遅延割込み
×
# 42
FFFF54H
割込み制御レジスタ
番号
アドレス
ICR05
0000B5H
ICR06
0000B6H
ICR07
0000B7H
ICR08
0000B8H
ICR09
0000B9H
ICR10
0000BAH
ICR11
0000BBH
ICR12
0000BCH
ICR13
0000BDH
ICR14
0000BEH
ICR15
0000BFH
○ : I2OS 割込みクリア信号または I2OS レジスタ読出しアクセスにて , 割込み要求フラグはクリアさ
れます。
◎ : I2OS 割込みクリア信号または I2OS レジスタ読出しアクセスにて , 割込み要求フラグはクリアさ
れます。ストップ要求はあります。
× : I2OS 割込みクリア信号にて割込み要求フラグはクリアされません。
( 注意事項 ) ・1 つの割込み番号に対して 2 つの割込み要因を持つ周辺モジュールについては , I2OS
割込みクリア信号にて , 両方の割込み要求フラグがクリアされます。
・I2OS の終了時には , I2OS クリア信号が同じ割込み番号に割り当てられている複数の割
込みフラグに送られます。
・I2OS が許可されていると , 同じ割込みコントロールレジスタ (ICR) に割当てられてい
る 2 つの 割込みの内のいずれか 1 つが発生すると , I2OS を始動します。このことは ,
本来各割込み 要因に固有であるべき I2OS ディスクルプタが , 2 つの割込みで共有され
ていることを意味し , 従って一方の割込みが許可されている時は , 他方の割込みを不許
可にしなければなりません。
475
付録 D MB90595 割込みベクタ一覧表
476
索引
Numerics
16 ビットアウトプットコンペア
16 ビットアウトプットコンペアのレジスタ一覧
..........................................................................122
16 ビットインプットキャプチャ
16 ビットインプットキャプチャのレジスタ一覧
..........................................................................122
16 ビットタイマレジスタ
16 ビットタイマレジスタ (TMR)/16 ビット
リロードレジスタ (TMRLR) のレジスタ配置
..........................................................................148
16 ビット入出力タイマ
16 ビット入出力タイマのブロックダイヤグラム
..........................................................................121
16 ビットフリーランタイマ
16 ビットフリーランタイマ ................................120
16 ビットフリーランタイマのタイミング ........128
16 ビットフリーランタイマの動作 ....................127
16 ビットフリーランタイマの
ブロックダイヤグラム ..................................123
16 ビットフリーランタイマのレジスタ一覧
..........................................................................122
16 ビットリロードタイマ
16 ビットリロードタイマ ( イベントカウント
機能付 ) の概要 ...............................................142
16 ビットリロードタイマのアンダフロー動作
..........................................................................151
16 ビットリロードタイマの出力端子機能
..........................................................................152
16 ビットリロードタイマの内部クロック動作
..........................................................................149
16 ビットリロードタイマの入力端子機能
( 内部クロックモード時 ) ..............................149
16ビットリロードタイマのブロックダイヤグラム
..........................................................................143
16 ビットリロードタイマのレジスタ ................144
16 ビットリロードレジスタ
16 ビットタイマレジスタ (TMR)/16 ビット
リロードレジスタ (TMRLR) のレジスタ配置
..........................................................................148
1M ビットフラッシュメモリ
1M ビットフラッシュメモリのセクタ構成
..........................................................................349
1M ビットフラッシュメモリの特長 ..................348
1M ビットフラッシュメモリのプログラム例
..........................................................................380
24 ビットオペランド
24 ビットオペランド指定 ......................................23
8/16 ビット PPG
8/16 ビット PPG のカウントクロックの選択
..........................................................................170
8/16 ビット PPG の各ハードウェアの初期値
..........................................................................173
8/16 ビット PPG の機能 .......................................156
8/16 ビット PPG の出力動作 ...............................168
8/16 ビット PPG の動作 .......................................167
8/16 ビット PPG の動作モード ........................... 167
8/16 ビット PPG のパルスの端子出力の制御
..........................................................................171
8/16 ビット PPG のブロックダイヤグラム
..........................................................................157
8/16 ビット PPG のリロード値とパルス幅の関係
..........................................................................169
8/16 ビット PPG のレジスタ ............................... 159
8/16 ビット PPG の割込み ................................... 172
477
A
E
A/D コントロールステータスレジスタ
A/D コントロールステータスレジスタ (ADCS0)
..........................................................................190
A/D コントロールステータスレジスタ (ADCS1)
..........................................................................192
A/D コンバータ
A/D コンバータの特長 .........................................186
A/D コンバータのブロックダイヤグラム .........188
A/D コンバータのレジスタ一覧 .........................189
EI2OS
EI2OS( 拡張インテリジェント I/O サービス )
..........................................................................226
EI2OS を使った変換動作 .....................................198
インテリジェント I/O サービス (EI2OS) 機能と
割込み .............................................................. 142
拡張インテリジェント I/O サービス (EI2OS)
..............................................................45, 58, 253
拡張インテリジェント I/O サービス (EI2OS) の
構造 .................................................................... 59
拡張インテリジェント I/O サービス (EI2OS) の
動作フロー ........................................................64
単発モード時の EI2OS の起動例 ........................ 199
停止モード時の EI2OS の起動例 ........................ 201
データ保護機能のフロー例 (EI2OS の場合 )
..........................................................................203
連続モード時の EI2OS の起動例 ........................ 200
EI2OS ステータスレジスタ
EI2OS ステータスレジスタ (ISCS) .......................62
C
CAN コントローラ
CAN コントローラの受信フローチャート
..........................................................................318
CAN コントローラの使用上の注意 ...................326
CAN コントローラの送信の開始 .......................313
CAN コントローラの送信の完了 .......................314
CAN コントローラの送信フローチャート
..........................................................................314
CAN コントローラの送信要求の解除 ...............313
CAN コントローラの特長 ...................................274
CAN コントローラのブロックダイヤグラム
..........................................................................275
CLK 同期ボーレート
CLK 同期ボーレート ............................................217
CLK 同期モード
CLK 同期モードの通信開始 ................................247
CLK 同期モードの通信終了 ................................247
CLK 同期モードの転送データフォーマット
..........................................................................246
CLK 同期モードを使用する場合の , 各制御
レジスタの設定値 ..........................................247
CLK 非同期ボーレート
CLK 非同期ボーレート ........................................217
CPU
CPU の概要 ..............................................................20
CPU メモリ空間の概要 ..........................................21
CPU 間欠動作
CPU 間欠動作 ..........................................................95
D
DLC レジスタ
メッセージバッファ (DLC レジスタ ) の一覧
..........................................................................279
DLC レジスタ x
DLC レジスタ x(x=0 ∼ 15)(DLCRx) ..................310
DTP
DTP/ 外部割込みの概要 .......................................176
DTP/ 外部割込みの使用上の注意 .......................182
DTP/ 外部割込みのブロックダイヤグラム
..........................................................................176
DTP/ 外部割込みのレジスタ ...............................176
DTP の動作 ............................................................179
DTP 要求と外部割込み要求の切換え ................181
478
F
F2MC-16LX
F2MC-16LX 命令一覧表 .......................................432
I
I/O ポート
I/O ポート .............................................................. 106
I/O ポートのレジスタ .......................................... 107
I/O マップ
I/O マップ .............................................................. 400
I/O レジスタアドレスポインタ
I/O レジスタアドレスポインタ (IOA) ................. 61
ID
ID の設定 ...............................................................319
IDE レジスタ
IDE レジスタ (IDER) ............................................ 292
ID レジスタ
メッセージバッファ (ID レジスタ ) の一覧
..........................................................................277
ID レジスタ x
ID レジスタ x(x=0 ∼ 15)(IDRx) .......................... 308
M
MB90595
MB90595 割込みベクタ一覧表 ........................... 473
MB90F598/F598G
MB90F598/F598G シリアル書込み接続の基本構成
..........................................................................386
P
PLL クロック
メインクロックと PLL クロックの切換え ......... 96
PPG0,PPG1 出力端子制御レジスタ
PPG0,PPG1 出力端子制御レジスタ
(PPG01) ............................................................ 165
PPG0 動作モード制御レジスタ
PPG0 動作モード制御レジスタ (PPGC0) ...........160
PPG1 動作モード制御レジスタ
PPG1 動作モード制御レジスタ (PPGC1) ...........162
PWM1, PWM2 コンペアレジスタ
PWM1, PWM2 コンペアレジスタ ......................333
PWM1, PWM2 選択レジスタ
PWM1, PWM2 選択レジスタ ...............................334
PWM 制御 0 レジスタ
PWM 制御 0 レジスタ ..........................................332
R
ROM ミラー機能選択モジュール
ROM ミラー機能選択モジュールの
ブロックダイヤグラム ..................................344
ROM ミラー機能選択レジスタ
ROM ミラー機能選択レジスタ (ROMM) ..........345
RST と RY/BY タイミング
RST と RY/BY タイミング ..................................471
U
UART0
UART0 の応用例 ...................................................227
UART0 の動作モード ...........................................216
UART0 の特長 .......................................................206
UART0 のブロックダイヤグラム .......................207
UART0 のレジスタ ...............................................208
UART1
UART1 の応用例 ( モード 1 使用時のシステム
構築例 ) ............................................................252
UART1 のクロック選択 .......................................242
UART1 の使用上の注意 .......................................253
UART1 の通信フローチャート ...........................252
UART1 の動作モード ...........................................241
UART1 の特長 .......................................................230
UART1 のフラグ ...................................................248
UART1 のブロックダイヤグラム .......................231
UART1 のレジスタ一覧 .......................................232
UART1 の割込みとフラグのセットタイミング
..........................................................................249
UART1 の割込み発生要因 ...................................248
UART1 通信プリスケーラコントロールレジスタ
UART1 通信プリスケーラコントロールレジスタ
(U1CDCR) ........................................................240
あ
アウトプットコンペア
アウトプットコンペア ........................................ 129
アウトプットコンペア
( モジュールごとに 2 チャネル ) ................. 120
アウトプットコンペアのコントロールステータス
レジスタ .......................................................... 131
アウトプットコンペアのコンペアレジスタ
..........................................................................130
アウトプットコンペアのタイミング ................ 135
アウトプットコンペアのブロックダイヤグラム
..........................................................................129
アウトプットコンペアレジスタ 0
アウトプットコンペアレジスタ 0 値と
コンペアマッチしたときのカウンタクリア
..........................................................................127
アウトプットレジスタ 0
インプットデータレジスタ 0(UIDR0) と
アウトプットレジスタ 0(UODR0) ............... 213
アキュムレータ
アキュムレータ (A) ................................................ 29
アクセス
読出しアクセスによるデータリード ................ 468
アクセプタンスフィルタ
アクセプタンスフィルタの設定 ........................ 320
アクセプタンスフィルタリング
アクセプタンスフィルタリング ........................ 315
アクセプタンスマスク選択レジスタ
アクセプタンスマスク選択レジスタ
(AMSR) ............................................................ 303
アクセプタンスマスクレジスタ 0 および 1
アクセプタンスマスクレジスタ 0 および 1
(AMR0/AMR1) ................................................305
アドレス
アドレス作成の方式 .............................................. 21
アドレス一致検出機能
アドレス一致検出機能のシステム構成例 ........340
アドレス一致検出機能の動作 ............................339
アドレス一致検出機能のブロックダイヤグラム
..........................................................................336
アドレス指定
バンク方式によるアドレス指定 .......................... 24
アドレッシング
アドレッシング ....................................................409
間接アドレッシング ............................................ 418
直接アドレッシング ............................................ 411
アナログ入力許可レジスタ
アナログ入力許可レジスタ ........................110, 186
アンダフロー
16 ビットリロードタイマのアンダフロー動作
..........................................................................151
い
イベントカウント
16 ビットリロードタイマ ( イベントカウント
機能付 ) の概要 ............................................... 142
インターバル割込み
インターバル割込み機能 .................................... 114
インタラプトレベルマスクレジスタ
インタラプトレベルマスクレジスタ (ILM) .......33
479
インテリジェント I/O サービス
インテリジェント I/O サービス (EI2OS) 機能と
割込み ..............................................................142
インピーダンス
入力インピーダンス .............................................187
インプットキャプチャ
インプットキャプチャ .........................................136
インプットキャプチャ
( モジュールごとに 2 チャネル ) ..................121
インプットキャプチャ入力タイミング .............139
インプットキャプチャの取り込みタイミング例
..........................................................................139
インプットキャプチャのブロックダイヤグラム
..........................................................................136
インプットキャプチャコントロールステータス
レジスタ
インプットキャプチャコントロールステータス
レジスタ ..........................................................137
インプットキャプチャデータレジスタ
インプットキャプチャデータレジスタ .............137
インプットデータレジスタ 0
インプットデータレジスタ 0(UIDR0) と
アウトプットレジスタ 0(UODR0) ...............213
う
ウォッチドッグ
ウォッチドッグカウンタ .....................................118
ウォッチドッグ停止 .............................................118
ウォッチドッグタイマ
ウォッチドッグタイマの起動方法 .....................118
ウォッチドッグタイマのブロックダイヤグラム
..........................................................................116
ウォッチドッグタイマ制御レジスタ
ウォッチドッグタイマ制御レジスタ (WDTC)
..........................................................................117
え
エラーカウンタ
受信および送信エラーカウンタ (RTEC) ...........288
お
オーバフロー
オーバフローによるカウンタクリア .................127
か
外形寸法図
パッケージ外形寸法図 .............................................6
外部イベントカウント
外部イベントカウント .........................................150
外部クロック
内部クロックおよび外部クロック .....................219
外部シフトクロックモード
外部シフトクロックモード .................................265
外部割込み
DTP/ 外部割込みの概要 .......................................176
DTP/ 外部割込みの使用上の注意 .......................182
480
DTP/ 外部割込みのブロックダイヤグラム
..........................................................................176
DTP/ 外部割込みのレジスタ ............................... 176
DTP 要求と外部割込み要求の切換え ................ 181
外部割込みの動作 ................................................179
概要
製品概要 .................................................................... 2
カウンタ
カウンタの動作状態 ............................................ 153
カウントクロック
8/16 ビット PPG のカウントクロックの選択
..........................................................................170
書込み / 消去中の RY/BY タイミング
書込み / 消去中の RY/BY タイミング ............... 471
拡張インテリジェント I/O サービス
EI2OS( 拡張インテリジェント I/O サービス )
..........................................................................226
拡張インテリジェント I/O サービス (EI2OS)
..............................................................45, 58, 253
拡張インテリジェント I/O サービス (EI2OS) の
構造 .................................................................... 59
拡張インテリジェント I/O サービス (EI2OS) の
動作フロー ........................................................64
拡張インテリジェント I/O サービスディスクリプタ
拡張インテリジェント I/O サービス
ディスクリプタ (ISD) ...................................... 60
拡張シリアル I/O インタフェース
拡張シリアル I/O インタフェースの割込み機能
..........................................................................270
間接アドレッシング
間接アドレッシング ............................................ 418
く
クロック
UART1 のクロック選択 ...................................... 242
クロック選択の状態遷移 ...................................... 97
クロック発生部の注意 .......................................... 72
内部クロックおよび外部クロック .................... 219
ネガティブクロック動作 .................................... 271
発振クロック周波数とシリアルクロック
入力周波数について ...................................... 389
クロック選択レジスタ
クロック選択レジスタ (CKSCR) .......................... 85
こ
コマンド
コマンドシーケンス表 ........................................ 355
コモンレジスタバンクプリフィックス
コモンレジスタバンクプリフィックス (CMR)
............................................................................38
コンディションコードレジスタ
コンディションコードレジスタ (CCR) ............... 31
コントロールステータスレジスタ
アウトプットコンペアのコントロールステータス
レジスタ .......................................................... 131
コントロールステータスレジスタ .................... 125
コントロールステータスレジスタ (FMCS)
..........................................................................353
コンペアマッチ
アウトプットコンペアレジスタ 0 値と
コンペアマッチしたときのカウンタクリア
..........................................................................127
コンペアレジスタ
2 組のコンペアレジスタによる出力波形例
( 出力の初期値は 0 とする ) ..........................134
アウトプットコンペアのコンペアレジスタ
..........................................................................130
コンペアレジスタ 0,1 を使用したときの出力
波形例 ( 出力の初期値は 0 とする ) .............134
し
システムスタックポインタ
ユーザスタックポインタ (USP) と
システムスタックポインタ (SSP) ..................30
実効アドレス
実効アドレスフィールド .....................................427
実効アドレスフィールド
実効アドレスフィールド .....................................410
実行サイクル
実行サイクル数 .....................................................425
実行サイクル数計算方法 .....................................425
シフト動作
シフト動作のスタート / ストップ
タイミング ......................................................268
受信
受信完了 .................................................................317
受信オーバラン
受信オーバラン .....................................................316
受信オーバランレジスタ
受信オーバランレジスタ (ROVRR) ...................301
受信および送信エラーカウンタ
受信および送信エラーカウンタ (RTEC) ...........288
受信完了レジスタ
受信完了レジスタ (RCR) .....................................299
受信動作
受信動作時 ( モード 0, モード 1, モード 3) の
フラグのセットタイミング ..........................223
非同期 ( 調歩同期 ) モードの受信動作 ..............244
受信動作時 ( モード 2) のフラグの
セットタイミング ..........................................224
受信割込み許可レジスタ
受信割込み許可レジスタ (RIER) ........................302
シリアル I/O
シリアル I/O の動作 .............................................264
シリアル I/O の動作状態 .....................................266
シリアル I/O のブロックダイヤグラム .............256
シリアル I/O のレジスタ .....................................257
シリアル I/O プリスケーラ
シリアル I/O プリスケーラ (SCDCR) ................263
シリアルアウトプットデータレジスタ 1
シリアルインプットデータレジスタ 1(SIDR1)/
シリアルアウトプットデータレジスタ 1
(SODR1) ...........................................................237
シリアルインプットデータレジスタ 1
シリアルインプットデータレジスタ 1(SIDR1)/
シリアルアウトプットデータレジスタ 1
(SODR1) ...........................................................237
シリアル書込み
MB90F598/F598G シリアル書込み接続の基本構成
..........................................................................386
シリアル書込み接続例
( ユーザ電源使用時 ) .....................................390
シリアル書込み接続例
( ライタから電源供給時 ) ............................. 392
シリアルクロック入力周波数
発振クロック周波数とシリアルクロック
入力周波数について ...................................... 389
シリアルコントロールレジスタ
シリアルコントロールレジスタ (SCR1) ........... 235
シリアルシフトデータレジスタ
シリアルシフトデータレジスタ (SDR) ............. 262
シリアルステータスレジスタ 1
シリアルステータスレジスタ 1(SSR1) ..............238
シリアルモードコントロールステータスレジスタ
シリアルモードコントロールステータスレジスタ
(SMCS) .............................................................258
シリアルモードコントロールレジスタ 0
シリアルモードコントロールレジスタ 0
(UMC0) ............................................................ 209
シリアルモードレジスタ 1
シリアルモードレジスタ 1(SMR1) .................... 233
す
推奨設定例
推奨設定例 ............................................................ 103
スタックポインタ
ユーザスタックポインタ (USP) と
システムスタックポインタ (SSP) .................. 30
ステータスフラグ
送受信動作時のステータスフラグ .................... 226
ステータスレジスタ
ステータスレジスタ 0 (USR0) ............................211
ステッピングモータコントローラ
ステッピングモータコントローラの
ブロックダイヤグラム ..................................330
ステッピングモータコントローラのレジスタ
..........................................................................331
ストップモード
ストップモードの解除 .......................................... 92
ストップモードへの遷移 ...................................... 92
スリープモード
スリープモードの解除 .......................................... 89
スリープモードへの遷移 ...................................... 89
レジスタ
シリアルステータスレジスタ 1(SSR1) ..............238
せ
制御ステータスレジスタ
制御ステータスレジスタ (CSR) .........................282
セキュリティ
フラッシュセキュリティの特長 ........................ 379
セクタ
1M ビットフラッシュメモリのセクタ構成
..........................................................................349
セクタ消去
チップ消去 / セクタ消去コマンドシーケンス
..........................................................................469
481
フラッシュメモリのセクタ消去手順 .................372
フラッシュメモリのセクタ消去の
一時停止 ..........................................................374
フラッシュメモリのセクタ消去の再開 .............375
フラッシュメモリの任意のデータの消去
( セクタ消去 ) ..................................................371
セクタ消去タイマフラグ
セクタ消去タイマフラグ (DQ3) .........................362
セクタプロテクト
セクタプロテクト一時取消 .................................472
セクタプロテクト許可 / セクタプロテクト検証
..........................................................................472
全体コントロールレジスタ
全体コントロールレジスタ .........................276, 281
専用レジスタ
専用レジスタ ...........................................................27
そ
送受信動作
送受信動作時のステータスフラグ .....................226
送信 RTR レジスタ
送信 RTR レジスタ (TRTRR) ..............................294
送信解除レジスタ
送信解除レジスタ (TCANR) ...............................296
送信完了レジスタ
送信完了レジスタ (TCR) .....................................297
送信動作
非同期 ( 調歩同期 ) モードの送信動作 ..............245
送信動作時のフラグのセットタイミング .........225
送信要求レジスタ
送信要求レジスタ (TREQR) ................................293
送信割込み許可レジスタ
送信割込み許可レジスタ (TIER) ........................298
ソフトウェア割込み
ソフトウェア割込み .........................................44, 56
ソフトウェア割込みの動作 ...................................56
ソフトウェア割込みの構造 ...................................56
た
タイマコントロールステータスレジスタ
タイマコントロールステータスレジスタ
(TMCSR) の配置 .............................................145
タイミングリミット超過フラグ
タイミングリミット超過フラグ (DQ5) .............361
タイムベースカウンタ
タイムベースカウンタ .........................................114
タイムベースタイマ
タイムベースタイマの概要 .................................112
タイムベースタイマのブロックダイヤグラム
..........................................................................112
タイムベースタイマ制御レジスタ
タイムベースタイマ制御レジスタ (TBTC)
..........................................................................113
多重割込み
多重割込み ...............................................................55
多バイト長データ
多バイト長データのアクセス ...............................26
端子
16 ビットリロードタイマの出力端子機能
..........................................................................152
482
16 ビットリロードタイマの入力端子機能
( 内部クロックモード時 ) ............................. 149
8/16 ビット PPG のパルスの端子出力の制御
..........................................................................171
端子機能説明 ............................................................ 8
端子配列図 ................................................................ 7
モード端子 ............................................................ 101
単発モード
単発モード ............................................................ 196
単発モード時の EI2OS の起動例 ........................ 199
ち
遅延割込み
遅延割込みのブロックダイヤグラム .................. 68
遅延割込み発生 ......................................................70
遅延割込み要求ロックの使用上の注意 ..............68
遅延割込み要因発生 / 解除レジスタ
遅延割込み要因発生 / 解除レジスタ (DIRR:
Delayed interrupt request register) .....................69
チップ消去
チップ消去 / セクタ消去コマンドシーケンス
..........................................................................469
フラッシュメモリのデータの消去
( チップ消去 ) ................................................. 370
チップ消去 / セクタ消去コマンドシーケンス
チップ消去 / セクタ消去コマンドシーケンス
..........................................................................469
注意事項
注意事項の回避について ...................................... 41
直接アドレッシング
直接アドレッシング ............................................ 411
て
停止モード
停止モード ............................................................ 197
停止モード時の EI2OS の起動例 ........................ 201
低消費電力制御回路
低消費電力制御回路の概要 ..................................80
低消費電力制御回路のブロックダイヤグラム
............................................................................81
低消費電力制御回路のレジスタ .......................... 82
低消費電力モード
低消費電力モードの動作 ...................................... 87
低消費電力モードへ移行する場合の注意 ..........88
低消費電力モード制御レジスタ
低消費電力モード制御レジスタアクセスの注意
............................................................................88
低消費電力モード制御レジスタ (LPMCR) ......... 83
低電力消費モード
低電力消費モードの設定 .................................... 320
データカウンタ
データカウンタ (DCT) ...........................................60
データフォーマット
CLK 同期モードの転送データフォーマット
..........................................................................246
非同期 ( 調歩同期 ) モードの転送データ
フォーマット ..................................................244
データフレーム
データフレームおよびリモートフレームの受信に
対する処理 ......................................................316
データポーリング
書込み , データポーリング , 読出し
(CE コントロール ) .........................................469
書込み , データポーリング , 読出し
(WE コントロール ) .......................................468
データポーリング .................................................470
データポーリングフラグ
データポーリングフラグ (DQ7) .........................359
データ保護機能
データ保護機能のフロー例 (EI2OS の場合 )
..........................................................................203
変換データ保護機能の使用上の注意 .................203
データレジスタ
データレジスタ .....................................................124
データレジスタ (ADCR0,ADCR1) ......................194
メッセージバッファ ( データレジスタ ) の一覧
..........................................................................280
データレジスタ x
データレジスタ x(x=0 ∼ 15)(DTRx) ..................311
デバイスの取り扱い
デバイスの取り扱い ...............................................15
転送データ
転送データフォーマット .....................................220
と
動作モード
UART0 の動作モード ...........................................216
UART1 の動作モード ...........................................241
特長
特長 .............................................................................3
トグルビット
トグルビット .........................................................470
トグルビット 2 フラグ
トグルビット 2 フラグ (DQ2) .............................363
トグルビットフラグ
トグルビットフラグ (DQ6) .................................360
時計モード
時計モードの解除 ...................................................91
時計モードへの遷移 ...............................................90
な
内部クロック
16 ビットリロードタイマの内部クロック動作
..........................................................................149
内部クロックおよび外部クロック .....................219
内部クロックモード
16 ビットリロードタイマの入力端子機能
( 内部クロックモード時 ) ..............................149
内部シフトクロックモード
内部シフトクロックモード .................................265
に
入出力回路
入出力回路 ...............................................................12
ね
ネガティブクロック
ネガティブクロック動作 .................................... 271
は
ハードウェア・シーケンス・フラグ
ハードウェア・シーケンス・フラグ ................ 357
ハードウェアスタンバイモード
ハードウェアスタンバイモードの解除 ..............94
ハードウェアスタンバイモードへの遷移 ..........94
ハードウェア割込み
ハードウェア割込み ........................................ 44, 52
ハードウェア割込みの構造 ..................................52
ハードウェア割込みの動作 ..................................53
ハードウェア割込みの発生と解除 ...................... 54
バス動作
バス動作停止間の状態 (HALT=1) ...................... 285
バス動作停止を解除する条件 (HALT=0) ..........285
バス動作停止をセットする条件 (HALT=1)
..........................................................................285
バスモード設定ビット
バスモード設定ビット ........................................ 102
発振安定待ち時間
発振安定待ち時間の設定 ................................ 93, 94
発振クロック周波数
発振クロック周波数とシリアルクロック
入力周波数について ...................................... 389
バッファアドレスポインタ
バッファアドレスポインタ (BAP) .......................61
パリティビット
パリティビット ....................................................221
パルス
8/16 ビット PPG のパルスの端子出力の制御
..........................................................................171
パルス幅
8/16 ビット PPG のリロード値とパルス幅の関係
..........................................................................169
バンクセレクトプリフィックス
バンクセレクトプリフィックス .......................... 37
バンク方式
バンク方式によるアドレス指定 .......................... 24
汎用レジスタ
汎用レジスタ .......................................................... 28
ひ
ビットタイミング
ビットタイミングの設定 .................................... 319
ビットタイミングレジスタ
ビットタイミングレジスタ (BTR) .....................289
非同期 ( 調歩同期 ) モード
非同期 ( 調歩同期 ) モードの受信動作 ..............244
非同期 ( 調歩同期 ) モードの送信動作 ..............245
非同期 ( 調歩同期 ) モードの転送データ
フォーマット ..................................................244
483
ふ
フォーマット
転送データフォーマット .....................................220
フラグ
6 つのフラグのセットタイミング ......................222
UART1 のフラグ ...................................................248
UART1 の割込みとフラグのセットタイミング
..........................................................................249
受信動作時 ( モード 0, モード 1, モード 3) の
フラグのセットタイミング ..........................223
受信動作時 ( モード 2) のフラグの
セットタイミング ..........................................224
セクタ消去タイマフラグ (DQ3) .........................362
送受信動作時のステータスフラグ .....................226
送信動作時のフラグのセットタイミング .........225
タイミングリミット超過フラグ (DQ5) .............361
データポーリングフラグ (DQ7) .........................359
トグルビット 2 フラグ (DQ2) .............................363
トグルビットフラグ (DQ6) .................................360
ハードウェア・シーケンス・フラグ .................357
フラグ変化抑止プリフィックス
フラグ変化抑止プリフィックス (NCC) ...............38
フラッシュマイコンプログラマ
フラッシュマイコンプログラマとの最小限の
接続例 ( ユーザ電源使用時 ) .........................394
フラッシュマイコンプログラマとの最小限の
接続例 ( ライタから電源供給時 ) .................396
フラッシュマイコンプログラマのシステム構成
( 横河ディジタルコンピュータ株式会社製 )
..........................................................................388
フラッシュメモリ
1M ビットフラッシュメモリのセクタ構成
..........................................................................349
1M ビットフラッシュメモリの特長 ..................348
1M ビットフラッシュメモリのプログラム例
..........................................................................380
フラッシュセキュリティの特長 .........................379
フラッシュメモリ書込み / 消去の詳細説明
..........................................................................365
フラッシュメモリ書込み / 消去の方法 .............348
フラッシュメモリ書込み手順 .............................368
フラッシュメモリ使用上の注意 .........................376
フラッシュメモリ全体のブロックダイヤグラム
..........................................................................349
フラッシュメモリにおけるリセットベクタ
アドレス ..........................................................378
フラッシュメモリの制御信号 .............................351
フラッシュメモリのセクタ消去手順 .................372
フラッシュメモリのセクタ消去の
一時停止 ..........................................................374
フラッシュメモリのセクタ消去の再開 .............375
フラッシュメモリのデータの消去
( チップ消去 ) ..................................................370
フラッシュメモリの任意のデータの消去
( セクタ消去 ) ..................................................371
フラッシュメモリのレジスタ .............................348
フラッシュメモリへのデータの書込み .............367
フラッシュメモリモード .....................................351
フラッシュメモリを読出し / リセット状態にする
..........................................................................366
484
プリスケーラ
シリアル I/O プリスケーラ (SCDCR) ................ 263
プリフィックスコード
プリフィックスコードが連続している場合
............................................................................39
プリフィックス命令
割込み抑止命令とプリフィックス命令に関する
制約 .................................................................... 39
フレームフォーマット
フレームフォーマットの設定 ............................319
フローチャート
CAN コントローラの受信フローチャート
..........................................................................318
CAN コントローラの送信フローチャート
..........................................................................314
UART1 の通信フローチャート .......................... 252
プログラム
1M ビットフラッシュメモリのプログラム例
..........................................................................380
プログラムパッチ処理フロー図 ........................ 342
プログラムパッチ処理例 .................................... 341
プログラムアドレス検出コントロール /
ステータスレジスタ
プログラムアドレス検出コントロール /
ステータスレジスタ (PACSR) ...................... 337
プログラムアドレス検出レジスタ
プログラムアドレス検出レジスタ
(PADR0/PADR1) .............................................337
プログラムカウンタ
プログラムカウンタ (PC) ...................................... 34
プロセッサステータス
プロセッサステータス (PS) ..................................31
ブロックダイヤグラム
16 ビット入出力タイマのブロックダイヤグラム
..........................................................................121
16 ビットフリーランタイマの
ブロックダイヤグラム ..................................123
16ビットリロードタイマのブロックダイヤグラム
..........................................................................143
8/16 ビット PPG のブロックダイヤグラム
..........................................................................157
A/D コンバータのブロックダイヤグラム ........188
CAN コントローラのブロックダイヤグラム
..........................................................................275
DTP/ 外部割込みのブロックダイヤグラム
..........................................................................176
ROM ミラー機能選択モジュールの
ブロックダイヤグラム ..................................344
UART0 のブロックダイヤグラム ...................... 207
UART1 のブロックダイヤグラム ...................... 231
アウトプットコンペアのブロックダイヤグラム
..........................................................................129
アドレス一致検出機能のブロックダイヤグラム
..........................................................................336
インプットキャプチャのブロックダイヤグラム
..........................................................................136
ウォッチドッグタイマのブロックダイヤグラム
..........................................................................116
シリアル I/O のブロックダイヤグラム ............. 256
ステッピングモータコントローラの
ブロックダイヤグラム ..................................330
タイムベースタイマのブロックダイヤグラム
..........................................................................112
遅延割込みのブロックダイヤグラム ...................68
低消費電力制御回路のブロックダイヤグラム
............................................................................81
フラッシュメモリ全体のブロックダイヤグラム
..........................................................................349
ブロックダイヤグラム .............................................5
へ
変換データ
変換データ保護機能 .............................................202
ほ
ポートデータレジスタ
ポートデータレジスタ .........................................108
ポート方向レジスタ
ポート方向レジスタ .............................................109
ボーレート
CLK 同期ボーレート ............................................217
CLK 非同期ボーレート ........................................217
ま
マシンクロック
マシンクロックの初期化 .......................................96
マルチレベルメッセージバッファ
マルチレベルメッセージバッファの構成の決定
..........................................................................324
め
命令
未定義命令の実行 ...................................................66
未定義命令の実行による例外発生 .......................66
命令の種類 .............................................................408
命令マップの構造 .................................................446
「DIV A,Ri」および「DIVW A,RWi」命令の使用上
の注意 ................................................................40
命令一覧表
F2MC-16LX 命令一覧表 .......................................432
メインクロック
メインクロックと PLL クロックの切換え .........96
メッセージ
受信メッセージの記憶 .........................................315
メッセージバッファ
マルチレベルメッセージバッファの構成の決定
..........................................................................324
メッセージバッファ .....................................281, 307
メッセージバッファ (DLC レジスタ ) の一覧
..........................................................................279
メッセージバッファ (ID レジスタ ) の一覧
..........................................................................277
メッセージバッファ (x) による受信方法 ..........323
メッセージバッファ (x) による送信方法 ..........321
メッセージバッファ ( データレジスタ ) の一覧
..........................................................................280
メッセージバッファコントロールレジスタ
メッセージバッファコントロールレジスタ
..........................................................................281
メッセージバッファ有効レジスタ
メッセージバッファ有効レジスタ (BVALR)
..........................................................................291
メモリアクセスモード
メモリアクセスモード ........................................ 100
メモリ空間
メモリ空間における多バイト長データの
配置 .................................................................... 26
CPU メモリ空間の概要 .......................................... 21
メモリ空間マップ ..................................................22
メモリマップ
E2PROM メモリマップ ........................................ 340
も
モード端子
モード端子 ............................................................ 101
モードデータ
モードデータ ........................................................ 102
ゆ
ユーザスタックポインタ
ユーザスタックポインタ (USP) と
システムスタックポインタ (SSP) .................. 30
よ
要求レベル設定レジスタ
要求レベル設定レジスタ (ELVR:
External level register) .....................................178
読出しアクセス
読出しアクセスによるデータリード ................ 468
ら
ラストイベント表示レジスタ
ラストイベント表示レジスタ (LEIR) ................ 286
り
リセット
フラッシュメモリを読出し / リセット状態にする
..........................................................................366
リセット解除後の動作 .......................................... 73
リセット入力によって初期化されないレジスタ
............................................................................74
リセット要因 .......................................................... 76
リセット要因の発生 .............................................. 73
リセットベクタアドレス
フラッシュメモリにおけるリセットベクタ
アドレス .......................................................... 378
リモートフレーム
データフレームおよびリモートフレームの受信に
対する処理 ......................................................316
リモートフレーム受信待機レジスタ
リモートフレーム受信待機レジスタ (RFWTR)
..........................................................................295
リモート要求受信レジスタ
リモート要求受信レジスタ (RRTRR) ................ 300
485
リロード値
8/16 ビット PPG のリロード値とパルス幅の関係
..........................................................................169
リロードレジスタ
リロードレジスタ (PRLL,PRLH) ........................166
れ
例外
例外 ...........................................................................46
未定義命令の実行による例外発生 .......................66
レート・データレジスタ 0
レート・データレジスタ 0(URD0) ....................214
レジスタ
16 ビットアウトプットコンペアのレジスタ一覧
..........................................................................122
16 ビットインプットキャプチャのレジスタ一覧
..........................................................................122
16 ビットタイマレジスタ (TMR)/16 ビット
リロードレジスタ (TMRLR) のレジスタ配置
..........................................................................148
16 ビットフリーランタイマのレジスタ一覧
..........................................................................122
16 ビットリロードタイマのレジスタ ................144
8/16 ビット PPG のレジスタ ...............................159
A/D コントロールステータスレジスタ (ADCS0)
..........................................................................190
A/D コントロールステータスレジスタ (ADCS1)
..........................................................................192
A/D コンバータのレジスタ一覧 .........................189
CLK 同期モードを使用する場合の , 各制御
レジスタの設定値 ..........................................247
DLC レジスタ x(x=0 ∼ 15)(DLCRx) ..................310
DTP/ 外部割込みのレジスタ ...............................176
EI2OS ステータスレジスタ (ISCS) .......................62
I/O ポートのレジスタ ..........................................107
I/O レジスタアドレスポインタ (IOA) .................61
IDE レジスタ (IDER) ............................................292
ID レジスタ x(x=0 ∼ 15)(IDRx) ..........................308
PPG0,PPG1 出力端子制御レジスタ
(PPG01) ............................................................165
PPG0 動作モード制御レジスタ (PPGC0) ...........160
PPG1 動作モード制御レジスタ (PPGC1) ...........162
PWM1, PWM2 コンペアレジスタ ......................333
PWM1, PWM2 選択レジスタ ...............................334
PWM 制御 0 レジスタ ..........................................332
ROM ミラー機能選択レジスタ (ROMM) ..........345
UART0 のレジスタ ...............................................208
UART1 通信プリスケーラコントロールレジスタ
(U1CDCR) ........................................................240
UART1 のレジスタ一覧 .......................................232
アウトプットコンペアのコントロールステータス
レジスタ ..........................................................131
アウトプットコンペアのコンペアレジスタ
..........................................................................130
アクセプタンスマスク選択レジスタ
(AMSR) ............................................................303
アクセプタンスマスクレジスタ 0 および 1
(AMR0/AMR1) ................................................305
アナログ入力許可レジスタ .........................110, 186
インタラプトレベルマスクレジスタ (ILM)
............................................................................33
486
インプットキャプチャコントロールステータス
レジスタ .......................................................... 137
インプットキャプチャデータレジスタ ............137
インプットデータレジスタ 0(UIDR0) と
アウトプットレジスタ 0(UODR0) ............... 213
ウォッチドッグタイマ制御レジスタ (WDTC)
..........................................................................117
クロック選択レジスタ (CKSCR) .......................... 85
コモンレジスタバンクプリフィックス (CMR)
............................................................................38
コンディションコードレジスタ (CCR) ............... 31
コントロールステータスレジスタ .................... 125
コントロールステータスレジスタ (FMCS)
..........................................................................353
受信オーバランレジスタ (ROVRR) ...................301
受信完了レジスタ (RCR) .....................................299
受信割込み許可レジスタ (RIER) ........................ 302
シリアル I/O のレジスタ .....................................257
シリアルインプットデータレジスタ 1(SIDR1)/
シリアルアウトプットデータレジスタ 1
(SODR1) ...........................................................237
シリアルコントロールレジスタ (SCR1) ........... 235
シリアルシフトデータレジスタ (SDR) ............. 262
シリアルモードコントロールステータスレジスタ
(SMCS) .............................................................258
シリアルモードコントロールレジスタ 0(UMC0)
..........................................................................209
シリアルモードレジスタ 1(SMR1) .................... 233
ステータスレジスタ 0 (USR0) ............................211
ステッピングモータコントローラのレジスタ
..........................................................................331
制御ステータスレジスタ (CSR) .........................282
全体コントロールレジスタ ........................276, 281
専用レジスタ .......................................................... 27
送信 RTR レジスタ (TRTRR) ..............................294
送信解除レジスタ (TCANR) ............................... 296
送信完了レジスタ (TCR) .....................................297
送信要求レジスタ (TREQR) ................................293
送信割込み許可レジスタ (TIER) ........................ 298
タイマコントロールステータスレジスタ
(TMCSR) の配置 .............................................145
タイムベースタイマ制御レジスタ (TBTC)
..........................................................................113
遅延割込み要因発生 / 解除レジスタ (DIRR:
Delayed interrupt request register) .....................69
低消費電力制御回路のレジスタ .......................... 82
低消費電力モード制御レジスタ (LPMCR) ......... 83
低消費電力モード制御レジスタアクセスの注意
............................................................................88
データレジスタ ....................................................124
データレジスタ (ADCR0,ADCR1) .....................194
データレジスタ x(x=0 ∼ 15)(DTRx) .................. 311
汎用レジスタ .......................................................... 28
ビットタイミングレジスタ (BTR) .....................289
フラッシュメモリのレジスタ ............................348
プログラムアドレス検出コントロール /
ステータスレジスタ (PACSR) ...................... 337
プログラムアドレス検出レジスタ
(PADR0/PADR1) .............................................337
ポートデータレジスタ ........................................ 108
ポート方向レジスタ ............................................ 109
メッセージバッファ (DLC レジスタ ) の一覧
..........................................................................279
メッセージバッファ (ID レジスタ ) の一覧
..........................................................................277
メッセージバッファ ( データレジスタ ) の一覧
..........................................................................280
メッセージバッファコントロールレジスタ
..........................................................................281
メッセージバッファ有効レジスタ (BVALR)
..........................................................................291
要求レベル設定レジスタ (ELVR:
External level register) ......................................178
ラストイベント表示レジスタ (LEIR) ................286
リセット入力によって初期化されないレジスタ
............................................................................74
リモートフレーム受信待機レジスタ (RFWTR)
..........................................................................295
リモート要求受信レジスタ (RRTRR) ................300
リロードレジスタ (PRLL,PRLH) ........................166
レート・データレジスタ 0(URD0) ....................214
レジスタバンク .......................................................35
レジスタバンクポインタ (RP) ..............................32
割込み /DTP 許可レジスタ (ENIR:
Interrupt request enable register) ......................177
割込み /DTP 要因レジスタ (EIRR:
External interrupt request register) ...................177
割込み制御レジスタ (ICR) ....................................48
レジスタバンク
レジスタバンク .......................................................35
レジスタバンクポインタ
レジスタバンクポインタ (RP) ..............................32
連続モード
連続モード .............................................................196
連続モード時の EI2OS の起動例 ........................200
わ
割込み
8/16 ビット PPG の割込み ...................................172
DTP/ 外部割込みの概要 .......................................176
DTP/ 外部割込みの使用上の注意 .......................182
DTP/ 外部割込みのブロックダイヤグラム
..........................................................................176
DTP/ 外部割込みのレジスタ ...............................176
DTP 要求と外部割込み要求の切換え ................181
UART1 の割込みとフラグのセットタイミング
..........................................................................249
UART1 の割込み発生要因 ..................................248
インターバル割込み機能 .................................... 114
インテリジェント I/O サービス (EI2OS) 機能と
割込み .............................................................. 142
外部割込みの動作 ................................................179
拡張シリアル I/O インタフェースの割込み機能
..........................................................................270
受信割込み許可レジスタ (RIER) ........................ 302
送信割込み許可レジスタ (TIER) ........................ 298
ソフトウェア割込み ........................................ 44, 56
ソフトウェア割込みの構造 ..................................56
ソフトウェア割込みの動作 ..................................56
多重割込み .............................................................. 55
遅延割込みのブロックダイヤグラム .................. 68
遅延割込み要求ロックの使用上の注意 ..............68
ハードウェア割込み ........................................ 44, 52
ハードウェア割込みの構造 ..................................52
ハードウェア割込みの動作 ..................................53
ハードウェア割込みの発生と解除 ...................... 54
割込み制御レジスタ (ICR) ....................................48
割込みフロー .......................................................... 51
割込みベクタ .......................................................... 47
割込みベクタ一覧表 .............................................. 47
割込み要因と割込みベクタ・
割込み制御レジスタ ...................................... 474
割込み抑止命令 ......................................................39
割込み抑止命令とプリフィックス命令に関する
制約 .................................................................... 39
割込み /DTP 許可レジスタ
割込み /DTP 許可レジスタ (ENIR:
Interrupt request enable register) ...................... 177
割込み /DTP 要因レジスタ
割込み /DTP 要因レジスタ (EIRR:
External interrupt request register) ...................177
割込み制御レジスタ
割込み制御レジスタ (ICR) ....................................48
割込み要因と割込みベクタ・
割込み制御レジスタ ...................................... 474
割込みベクタ
MB90595 割込みベクタ一覧表 .....................56, 473
割込み要因と割込みベクタ・
割込み制御レジスタ ...................................... 474
487
488
CM44-10106-6
富士通マイクロエレクトロニクス • CONTROLLER MANUAL
F2MC-16LX
16 ビット・マイクロコントローラ
MB90595 Series
ハードウェアマニュアル
2008 年 7 月
第 6 版発行
発行
富士通マイクロエレクトロニクス株式会社
編集
マーケティング統括部 ビジネス推進部