6.5MB

本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。
富士通マイクロエレクトロニクス
CONTROLLER MANUAL
CM44-10137-6
F2MC®-16LX
16 ビット・マイクロコントローラ
MB90335 Series
ハードウェアマニュアル
F2MC®-16LX
16 ビット・マイクロコントローラ
MB90335 Series
ハードウェアマニュアル
富士通マイクロエレクトロニクスのマイコンを効率的に開発するための情報を下記 URL にてご紹介いたします。
ご採用を検討中 , またはご採用いただいたお客様に有益な情報を公開しています。
http://edevice.fujitsu.com/micom/jp-support/
富士通マイクロエレクトロニクス株式会社
はじめに
■ 本書の目的と対象読者
富士通マイクロエレクトロニクス製品につきまして , 平素より格別のご愛顧を賜り厚
くお礼申し上げます。
MB90335 シリーズは , パソコン周辺機器などの USB 通信が要求される用途向けに設計
された 16 ビットマイクロコントローラです。USB 機能は , 12Mbps の Function 動作ば
かりでなく , 簡易的な Host 動作が可能です。ディスプレイやオーディオなどのパソコ
ン周辺機器や USB 通信対応の携帯機器制御などに適した機能を搭載しています。
本書は , 実際に MB90335 シリーズを使用して製品を開発される技術者を対象に ,
MB90335 シリーズの機能や動作について解説したものです。本書をご一読ください。
なお , 各種命令の詳細については , 『インストラクション・マニュアル』をご参照くだ
さい。
■ 商標
F2MCは, FUJITSU Flexible Microcontrollerの略で富士通マイクロエレクトロニクス株式
会社の商標です。
本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商
標です。
■ 本書の全体構成
このマニュアルは , 以下に示す 23 の章および付録から構成されています。
第 1 章 概要
この章では , MB90335 シリーズの特長 , ブロックダイヤグラム , 機能概要など全体
を知るための基本的なことがらについて説明します。
第 2 章 CPU
この章では , CPU の機能と動作について説明します。
第 3 章 割込み
この章では , 割込みの概要 , 割込みベクタと割込み要因 , レジスタの構成 / 機能およ
び割込み処理の動作などについて説明します。
第 4 章 リセット
この章では , リセットの概要 , リセット要因と発振安定待ち時間およびリセットの
動作について説明します。
i
第 5 章 クロック
この章では , クロックの概要 , レジスタの構成 / 機能 , クロックモードおよび発振安
定待ち時間について説明します。
第 6 章 低消費電力モード
この章では , 低消費電力モードの概要 , レジスタの構成 / 機能および低消費電力モー
ドの動作について説明します。
第 7 章 モード設定
この章では , モード設定の概要 , モード端子 , モードデータおよびモード設定の各
モードにおける動作について説明します。
第 8 章 I/O ポート
この章では , I/O ポートの概要および I/O ポートで使用するレジスタの構成 / 機能に
ついて説明します。
第 9 章 タイムベースタイマ
この章では , タイムベースタイマの概要 , レジスタの構成 / 機能 , タイムベースタイ
マの割込みおよびタイムベースタイマの動作について説明します。
第 10 章 ウォッチドッグタイマ
この章では , ウォッチドッグタイマの概要 , レジスタの構成 / 機能およびウォッチ
ドッグタイマの動作について説明します。
第 11 章 USB ファンクション
この章では , USB ファンクションの機能と概要について説明します。
第 12 章 USB ホスト
この章では , USB ホストの機能と動作について示します。
第 13 章 PWC タイマ
この章では , PWC タイマの概要 , レジスタの構成 / 機能 , PWC タイマの動作および
PWC タイマの使用上の注意について説明します。
第 14 章 16 ビットリロードタイマ
この章では , 16 ビットリロードタイマの概要 , レジスタの構成 / 機能および 16 ビッ
トリロードタイマの動作について説明します。
第 15 章 8/16 ビット PPG タイマ
この章では , 8/16 ビット PPG タイマの概要 , レジスタの構成 / 機能および 8/16 ビッ
ト PPG タイマの動作について説明します。
ii
第 16 章 DTP/ 外部割込み
この章では , DTP/ 外部割込みの概要 , レジスタの構成 / 機能および DTP/ 外部割込
みの動作について説明します。
第 17 章 拡張 I/O シリアルインタフェース
この章では , 拡張 I/O シリアルインタフェースの概要 , レジスタの構成 / 機能および
拡張 I/O シリアルインタフェースの動作について説明します。
第 18 章 UART
この章では , UART の概要 , レジスタの構成 / 機能 , UART の動作 , UART の使用上
の注意および UART プログラム例ついて説明します。
第 19 章 I2C インタフェース
この章では , I2C インタフェースの概要 , レジスタの構成 / 機能および I2C インタ
フェースの動作について説明します。
第 20 章 ROM ミラー機能選択モジュール
この章では , ROM ミラー機能選択モジュールの機能およびレジスタの構成 / 機能に
ついて説明します。
第 21 章 アドレス一致検出機能
この章では , アドレス一致検出機能の機能と動作について説明します。
第 22 章 デュアルオペレーションフラッシュメモリ
この章では , デュアルオペレーションフラッシュメモリの機能
および動作について説明します。
第 23 章 シリアル書込み接続例
この章では , フラッシュROM のシリアルオンボード書込み ( 富士通標準 ) について
説明します。
付 録
付録として , I/O マップ , 割込みベクタおよび命令一覧について , 本文に記載できな
かった細かいところや , プログラミングするときに参照することがらを記載してい
ます。
iii
•
•
•
•
•
•
•
本資料の記載内容は , 予告なしに変更することがありますので , ご用命の際は営業部門にご確認くださ
い。
本資料に記載された動作概要や応用回路例は , 半導体デバイスの標準的な動作や使い方を示したもので ,
実際に使用する機器での動作を保証するものではありません。したがいまして , これらを使用するにあ
たってはお客様の責任において機器の設計を行ってください。これらの使用に起因する損害などについ
ては , 当社はその責任を負いません。
本資料に記載された動作概要・回路図を含む技術情報は , 当社もしくは第三者の特許権 , 著作権等の知的
財産権やその他の権利の使用権または実施権の許諾を意味するものではありません。また , これらの使用
について , 第三者の知的財産権やその他の権利の実施ができることの保証を行うものではありません。し
たがって , これらの使用に起因する第三者の知的財産権やその他の権利の侵害について , 当社はその責任
を負いません。
本資料に記載された製品は , 通常の産業用 , 一般事務用 , パーソナル用 , 家庭用などの一般的用途に使用
されることを意図して設計・製造されています。極めて高度な安全性が要求され , 仮に当該安全性が確保
されない場合 , 社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途(原子力
施設における核反応制御 , 航空機自動飛行制御 , 航空交通管制 , 大量輸送システムにおける運行制御 , 生
命維持のための医療機器 , 兵器システムにおけるミサイル発射制御をいう), ならびに極めて高い信頼性
が要求される用途(海底中継器 , 宇宙衛星をいう)に使用されるよう設計・製造されたものではありませ
ん。したがって , これらの用途にご使用をお考えのお客様は , 必ず事前に営業部門までご相談ください。
ご相談なく使用されたことにより発生した損害などについては , 責任を負いかねますのでご了承くださ
い。
半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても , 結果的に人身事故 ,
火災事故 , 社会的な損害を生じさせないよう , お客様は , 装置の冗長設計 , 延焼対策設計 , 過電流防止対策
設計 , 誤動作防止設計などの安全設計をお願いします。
本資料に記載された製品を輸出または提供する場合は , 外国為替及び外国貿易法および米国輸出管理関
連法規等の規制をご確認の上 , 必要な手続きをおとりください。
本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商標です。
Copyright ©2005-2009 FUJITSU MICROELECTRONICS LIMITED All right reserved.
iv
目次
第1章
1.1
1.2
1.3
1.4
1.5
1.6
1.7
概要 ............................................................................................................ 1
MB90335 シリーズの特長 ...................................................................................................... 2
ブロックダイヤグラム............................................................................................................ 6
外形寸法図.............................................................................................................................. 7
端子配列図.............................................................................................................................. 8
端子機能 ................................................................................................................................. 9
入出力回路形式 .................................................................................................................... 12
デバイスの取扱い ................................................................................................................. 15
第2章
CPU.......................................................................................................... 17
2.1 CPU の概要 .......................................................................................................................... 18
2.2 メモリ空間............................................................................................................................ 19
2.3 リニア方式によるアドレス指定 ........................................................................................... 22
2.4 バンク方式によるアドレス指定 ........................................................................................... 23
2.5 メモリ空間における多バイト長データ................................................................................. 25
2.6 レジスタ ............................................................................................................................... 26
2.6.1
アキュムレータ (A)..................................................................................................... 29
2.6.2
ユーザスタックポインタ (USP) とシステムスタックポインタ (SSP) ....................... 30
2.6.3
プロセッサステータス (PS) ....................................................................................... 31
2.6.4
プログラムカウンタ (PC)........................................................................................... 34
2.6.5
バンクレジスタ (PCB, DTB, USB, SSB, ADB) .......................................................... 35
2.6.6
ダイレクトページレジスタ (DPR) ............................................................................. 36
2.7 レジスタバンク .................................................................................................................... 37
2.8 プリフィックスコード.......................................................................................................... 38
2.9 割込み抑止命令 .................................................................................................................... 41
第3章
割込み ...................................................................................................... 43
3.1 割込みの概要 ........................................................................................................................ 44
3.2 割込み要因と割込みベクタ................................................................................................... 47
3.3 割込み制御レジスタと周辺機能 ........................................................................................... 51
3.3.1
割込み制御レジスタ (ICR00 ∼ ICR15) ...................................................................... 53
3.3.2
割込み制御レジスタの機能 ........................................................................................ 55
3.4 ハードウェア割込み ............................................................................................................. 58
3.4.1
ハードウェア割込みの動作 ........................................................................................ 61
3.4.2
ハードウェア割込みの動作フロー.............................................................................. 63
3.4.3
ハードウェア割込みの使用手順 ................................................................................. 64
3.4.4
多重割込み ................................................................................................................. 66
3.4.5
ハードウェア割込みの処理時間 ................................................................................. 68
3.5 ソフトウェア割込み ............................................................................................................. 70
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み................................................. 72
3.6.1
拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ (ISD).......................... 74
3.6.2
拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ (ISD) の各レジスタ
................................................................................................................................... 75
3.6.3
3.6.4
拡張インテリジェント I/O サービス (EI2OS) の動作 ................................................. 78
拡張インテリジェント I/O サービス (EI2OS) の使用手順 .......................................... 79
v
3.6.5
拡張インテリジェント I/O サービス (EI2OS) 処理時間.............................................. 80
3.7 例外処理割込み .................................................................................................................... 83
3.8 μDMAC による割込み........................................................................................................... 84
3.8.1
μDMAC の機能 ........................................................................................................... 85
3.8.2
μDMAC のレジスタ .................................................................................................... 86
3.8.3
DMA ディスクリプタウィンドウレジスタ (DDWR)................................................... 93
3.8.4
μDMAC の動作説明 .................................................................................................... 99
3.9 例外 .................................................................................................................................... 102
3.10 割込み処理のスタック動作................................................................................................. 103
3.11 割込み処理のプログラム例................................................................................................. 105
3.12 遅延割込み発生モジュール................................................................................................. 109
3.12.1
遅延割込み発生モジュールの動作............................................................................ 110
第4章
4.1
4.2
4.3
4.4
4.5
4.6
第5章
5.1
5.2
5.3
5.4
5.5
5.6
第6章
リセット................................................................................................. 111
リセットの概要 .................................................................................................................. 112
リセット要因と発振安定待ち時間...................................................................................... 114
外部リセット端子 ............................................................................................................... 116
リセット動作 ...................................................................................................................... 117
リセット要因ビット ........................................................................................................... 119
リセットによる各端子の状態 ............................................................................................. 121
クロック................................................................................................. 123
クロックの概要 .................................................................................................................. 124
クロック発生部のブロックダイヤグラム ........................................................................... 126
クロック選択レジスタ (CKSCR)........................................................................................ 128
クロックモード .................................................................................................................. 131
発振安定待ち時間 ............................................................................................................... 134
振動子と外部クロックの接続 ............................................................................................. 135
低消費電力モード .................................................................................. 137
6.1 低消費電力モードの概要 .................................................................................................... 138
6.2 低消費電力制御回路のブロックダイヤグラム.................................................................... 141
6.3 低消費電力モード制御レジスタ (LPMCR) ......................................................................... 143
6.4 CPU 間欠動作モード .......................................................................................................... 146
6.5 スタンバイモード ............................................................................................................... 147
6.5.1
スリープモード ........................................................................................................ 148
6.5.2
タイムベースタイマモード ...................................................................................... 150
6.5.3
ストップモード ........................................................................................................ 151
6.6 状態遷移図.......................................................................................................................... 153
6.7 スタンバイモード , リセット時の端子状態 ........................................................................ 155
6.8 低消費電力モード使用上の注意 ......................................................................................... 156
第7章
7.1
7.2
7.3
モード設定 ............................................................................................. 159
モード設定.......................................................................................................................... 160
モード端子 (MD2 ∼ MD0).................................................................................................. 161
モードデータ ...................................................................................................................... 162
vi
第8章
I/O ポート............................................................................................... 165
8.1 I/O ポートの機能 ................................................................................................................ 166
8.2 I/O ポートのレジスタ ......................................................................................................... 167
8.2.1
ポートデータレジスタ (PDR0 ∼ PDR2, PDR4 ∼ PDR6) ....................................... 168
8.2.2
ポート方向レジスタ (DDR0 ∼ DDR2, DDR4 ∼ DDR6).......................................... 169
8.2.3
その他のレジスタ..................................................................................................... 170
第9章
9.1
9.2
9.3
9.4
9.5
9.6
9.7
タイムベースタイマ............................................................................... 171
タイムベースタイマの概要................................................................................................. 172
タイムベースタイマの構成................................................................................................. 174
タイムベースタイマ制御レジスタ (TBTC) ......................................................................... 176
タイムベースタイマの割込み ............................................................................................. 178
タイムベースタイマの動作................................................................................................. 179
タイムベースタイマ使用上の注意...................................................................................... 181
タイムベースタイマのプログラム例 .................................................................................. 183
第 10 章
10.1
10.2
10.3
10.4
10.5
10.6
ウォッチドッグタイマ ........................................................................... 185
ウォッチドッグタイマの概要 ............................................................................................. 186
ウォッチドッグタイマ制御レジスタ (WDTC) .................................................................... 187
ウォッチドッグタイマの構成 ............................................................................................. 189
ウォッチドッグタイマの動作 ............................................................................................. 190
ウォッチドッグタイマ使用上の注意 .................................................................................. 192
ウォッチドッグタイマのプログラム例............................................................................... 193
第 11 章
USB ファンクション.............................................................................. 195
11.1 USB ファンクションの概要 ............................................................................................... 196
11.2 USB ファンクションのブロックダイヤグラム................................................................... 197
11.3 USB ファンクションのレジスタ ........................................................................................ 198
11.3.1
UDC 制御レジスタ (UDCC)...................................................................................... 202
11.3.2
EP0 制御レジスタ (EP0C)........................................................................................ 205
11.3.3
EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C)............................................................. 207
11.3.4
タイムスタンプレジスタ (TMSP)............................................................................. 211
11.3.5
UDC ステータスレジスタ (UDCS) ........................................................................... 212
11.3.6
UDC 割込み許可レジスタ (UDCIE) .......................................................................... 215
11.3.7
EP0I ステータスレジスタ (EP0IS) ........................................................................... 217
11.3.8
EP0O ステータスレジスタ (EP0OS) ....................................................................... 219
11.3.9
EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S) .................................................. 222
11.3.10
EP0 ∼ EP5 データレジスタ (EP0DT ∼ EP5DT)..................................................... 226
11.4 USB ファンクションの動作説明 ........................................................................................ 227
11.4.1
接続検出と切断検出 ................................................................................................. 230
11.4.2
コマンド応答時の各レジスタ動作............................................................................ 232
11.4.3
STALL 応答と解除.................................................................................................... 234
11.4.4
サスペンド機能 ........................................................................................................ 239
11.4.5
ウェイクアップ機能 ................................................................................................. 240
11.4.6
DMA 転送機能 .......................................................................................................... 241
11.4.7
NULL 転送機能 ......................................................................................................... 245
vii
第 12 章
USB ホスト ............................................................................................ 247
12.1 USB ホストの特長.............................................................................................................. 248
12.2 USB ホストの制限事項....................................................................................................... 249
12.3 USB ホストのブロックダイヤグラム ................................................................................. 250
12.4 USB ホストのレジスタ....................................................................................................... 252
12.4.1
ホストコントロールレジスタ 0, 1(HCNT0/HCNT1) ................................................ 255
12.4.2
ホスト割込みレジスタ (HIRQ) ................................................................................. 259
12.4.3
ホストエラーステータスレジスタ (HERR) .............................................................. 262
12.4.4
ホスト状態ステータスレジスタ (HSTATE).............................................................. 264
12.4.5
SOF 割込み FRAME 比較レジスタ (HFCOMP)........................................................ 266
12.4.6
リトライタイマ設定レジスタ (HRTIMER) ............................................................... 267
12.4.7
ホストアドレスレジスタ (HADR) ............................................................................ 268
12.4.8
EOF 設定レジスタ (HEOF) ...................................................................................... 269
12.4.9
FRAME 設定レジスタ (HFRAME) ............................................................................ 270
12.4.10
ホストトークンエンドポイントレジスタ (HTOKEN) .............................................. 271
12.5 USB ホストの動作.............................................................................................................. 273
12.5.1
デバイスの接続 ........................................................................................................ 274
12.5.2
USB バスのリセット ................................................................................................ 276
12.5.3
トークンパケット..................................................................................................... 277
12.5.4
データパケット ........................................................................................................ 280
12.5.5
ハンドシェークパケット .......................................................................................... 281
12.5.6
リトライ機能 ............................................................................................................ 282
12.5.7
SOF 割込み .............................................................................................................. 283
12.5.8
エラーステータス..................................................................................................... 285
12.5.9
パケット終了 ............................................................................................................ 286
12.5.10
サスペンド・レジューム .......................................................................................... 287
12.5.11
デバイスの切断 ........................................................................................................ 290
12.6 USB ホストの各トークンフローチャート.......................................................................... 291
第 13 章
PWC タイマ ........................................................................................... 293
13.1 PWC タイマの概要............................................................................................................. 294
13.2 PWC タイマのレジスタ...................................................................................................... 296
13.2.1
PWC コントロールステータスレジスタ (PWCSR).................................................. 297
13.2.2
PWC データバッファレジスタ (PWCR) .................................................................. 302
13.2.3
PWC 分周比制御レジスタ (DIVR) ............................................................................ 303
13.3 PWC タイマの動作............................................................................................................. 304
13.3.1
タイマ機能の動作..................................................................................................... 305
13.3.2
パルス幅測定機能の動作 .......................................................................................... 306
13.3.3
カウントクロックおよび動作モードの選択 ............................................................. 307
13.3.4
タイマ / パルス幅測定の起動と停止......................................................................... 309
13.3.5
タイマモードの動作 ................................................................................................. 311
13.3.6
パルス幅測定モードの動作 ...................................................................................... 314
13.4 PWC タイマの使用上の注意 .............................................................................................. 319
第 14 章
16 ビットリロードタイマ ...................................................................... 321
14.1 16 ビットリロードタイマの概要 ........................................................................................ 322
14.1.1
16 ビットリロードタイマの機能.............................................................................. 323
14.1.2
16 ビットリロードタイマのブロックダイヤグラム ................................................. 325
14.2 16 ビットリロードタイマのレジスタ................................................................................. 326
viii
14.2.1
14.2.2
タイマ制御ステータスレジスタ 0 (TMCSR0) .......................................................... 327
16 ビットタイマレジスタ 0 (TMR0)/16 ビットリロードレジスタ 0 (TMRLR0)
................................................................................................................................. 331
14.3 16 ビットリロードタイマの動作 ........................................................................................ 333
14.3.1
カウンタ動作の状態遷移 .......................................................................................... 334
14.3.2
内部クロックモード ( リロードモード ) の動作 ....................................................... 335
14.3.3
内部クロックモード ( ワンショットモード ) の動作 ................................................ 338
14.3.4
イベントカウントモード .......................................................................................... 341
第 15 章
8/16 ビット PPG タイマ ........................................................................ 343
15.1 8/16 ビット PPG タイマの概要 .......................................................................................... 344
15.1.1
8/16 ビット PPG タイマのブロックダイヤグラム ................................................... 345
15.2 8/16 ビット PPG タイマのレジスタ................................................................................... 347
15.2.1
PPG0/PPG2 動作モード制御レジスタ (PPGC0/PPGC2) ........................................ 348
15.2.2
PPG1/PPG3 動作モード制御レジスタ (PPGC1/PPGC3) ........................................ 350
15.2.3
PPG0 ∼ PPG3 出力制御レジスタ (PPG01/PPG23)................................................ 353
15.2.4
PPG リロードレジスタ (PRLL0 ∼ PRLL3, PRLH0 ∼ PRLH3) ............................... 355
15.3 8/16 ビット PPG タイマの動作 .......................................................................................... 356
第 16 章
16.1
16.2
16.3
16.4
DTP/ 外部割込み .................................................................................... 361
DTP/ 外部割込みの概要...................................................................................................... 362
DTP/ 外部割込みのレジスタ............................................................................................... 363
DTP/ 外部割込みの動作...................................................................................................... 366
DTP/ 外部割込み使用上の注意 ........................................................................................... 368
第 17 章
拡張 I/O シリアルインタフェース.......................................................... 369
17.1 拡張 I/O シリアルインタフェースの概要............................................................................ 370
17.2 拡張 I/O シリアルインタフェースのレジスタ .................................................................... 371
17.2.1
シリアルモードコントロールステータスレジスタ (SMCS)..................................... 372
17.2.2
シリアルデータレジスタ (SDR) ............................................................................... 377
17.2.3
通信プリスケーラ制御レジスタ (SDCR).................................................................. 378
17.3 拡張 I/O シリアルインタフェースの動作............................................................................ 379
17.3.1
シフトクロックモード ............................................................................................. 380
17.3.2
シリアル I/O の動作状態 .......................................................................................... 381
17.3.3
シフト動作のスタート / ストップタイミングと入出力のタイミング ...................... 383
17.3.4
割込み機能 ............................................................................................................... 385
第 18 章
UART ..................................................................................................... 387
18.1 UART の概要 ...................................................................................................................... 388
18.2 UART のブロックダイヤグラム ......................................................................................... 390
18.3 UART の端子 ...................................................................................................................... 393
18.4 UART のレジスタ ............................................................................................................... 394
18.4.1
シリアル制御レジスタ 0, 1(SCR0, SCR1) ............................................................... 395
18.4.2
シリアルモードレジスタ 0, 1(SMR0, SMR1)........................................................... 397
18.4.3
シリアルステータスレジスタ 0, 1(SSR0, SSR1)..................................................... 399
18.4.4
シリアル入力データレジスタ 0, 1(SIDR0, SIDR1),
シリアル出力データレジスタ 0, 1(SODR0, SODR1).................................................... 402
18.4.5
UART プリスケーラ制御レジスタ 0, 1 (UTCR0, UTCR1) ,
UART プリスケーラリロードレジスタ 0, 1 (UTRLR0, UTRLR1) ................................. 404
ix
18.5 UART の割込み................................................................................................................... 406
18.5.1
受信割込み発生とフラグセットのタイミング.......................................................... 408
18.5.2
送信割込み発生とフラグセットのタイミング.......................................................... 410
18.6 UART のボーレート ........................................................................................................... 412
18.6.1
UART 内部クロックの専用ボーレートジェネレータによるボーレート .................. 413
18.6.2
外部クロックの専用ボーレートジェネレータによるボーレート............................. 414
18.6.3
外部クロック (1 対 1 モード ) によるボーレート ..................................................... 415
18.7 UART の動作説明 ............................................................................................................... 416
18.7.1
非同期モード ( 動作モード 0, 1) 時の動作................................................................ 418
18.7.2
同期モード ( 動作モード 2) 時の動作 ....................................................................... 421
18.7.3
双方向通信機能 ( ノーマルモード ) .......................................................................... 424
18.7.4
マスタ / スレーブ型通信機能 ( マルチプロセッサモード )....................................... 426
18.8 UART 使用上の注意 ........................................................................................................... 429
18.9 UART のプログラム例........................................................................................................ 430
第 19 章
I2C インタフェース ................................................................................ 433
19.1 I2C インタフェースの概要.................................................................................................. 434
19.2 I2C インタフェースのレジスタ .......................................................................................... 436
19.2.1
I2C バスステータスレジスタ 0 (IBSR0) ................................................................... 437
19.2.2
I2C バスコントロールレジスタ 0 (IBCR0) ............................................................... 439
19.2.3
I2C バスクロックコントロールレジスタ 0 (ICCR0)................................................. 446
19.2.4
I2C バスアドレスレジスタ 0 (IADR0)....................................................................... 448
19.2.5
I2C バスデータレジスタ 0 (IDAR0) .......................................................................... 449
2
19.3 I C インタフェースの動作.................................................................................................. 450
19.3.1
I2C インタフェースの転送フロー............................................................................. 453
19.3.2
I2C インタフェースのモードフロー ......................................................................... 455
19.3.3
I2C インタフェースの動作フロー............................................................................. 456
第 20 章
ROM ミラー機能選択モジュール........................................................... 459
20.1 ROM ミラー機能選択モジュールの概要 ............................................................................ 460
20.2 ROM ミラー機能選択レジスタ (ROMM) ............................................................................ 461
第 21 章
アドレス一致検出機能 ........................................................................... 463
21.1 アドレス一致検出機能の概要 ............................................................................................. 464
21.2 アドレス一致検出機能のブロックダイヤグラム ................................................................ 465
21.3 アドレス一致検出機能のレジスタ構成............................................................................... 466
21.3.1
プログラムアドレス検出制御ステータスレジスタ (PACSR)................................... 467
21.3.2
プログラムアドレス検出レジスタ (PADR0, PADR1) ............................................. 469
21.4 アドレス一致検出機能の動作説明...................................................................................... 471
21.4.1
アドレス一致検出機能の使用例 ............................................................................... 472
21.5 アドレス一致検出機能のプログラム例............................................................................... 476
第 22 章
デュアルオペレーションフラッシュメモリ ........................................... 479
22.1 デュアルオペレーションフラッシュメモリの概要............................................................. 480
22.2 フラッシュメモリのセクタ / バンク構成............................................................................ 482
22.3 フラッシュメモリのレジスタ ............................................................................................. 483
22.3.1
フラッシュメモリコントロールステータスレジスタ (FMCS) ................................. 484
22.3.2
フラッシュメモリ書込みコントロールレジスタ (FWR0/FWR1) ............................. 487
22.3.3
セクタ変換設定レジスタ (SSR0) ............................................................................. 492
x
22.4 フラッシュメモリ自動アルゴリズム起動方法.................................................................... 494
22.5 フラッシュメモリにおけるリセットベクタアドレス ......................................................... 496
22.6 自動アルゴリズム実行状態の確認...................................................................................... 497
22.6.1
データポーリングフラグ (DQ7) ............................................................................... 499
22.6.2
トグルビットフラグ (DQ6) ...................................................................................... 501
22.6.3
タイミングリミット超過フラグ (DQ5) .................................................................... 502
22.6.4
セクタ消去タイマフラグ (DQ3) ............................................................................... 503
22.7 フラッシュメモリ書込み / 消去の詳細説明 ........................................................................ 504
22.7.1
フラッシュメモリを読出し / リセット状態にする ................................................... 505
22.7.2
フラッシュメモリへデータを書き込む .................................................................... 506
22.7.3
フラッシュメモリの全データを消去する ( チップ消去 ).......................................... 508
22.7.4
フラッシュメモリの任意のデータを消去する ( セクタ消去 ) .................................. 509
22.7.5
フラッシュメモリのセクタ消去を一時停止する ...................................................... 511
22.7.6
フラッシュメモリのセクタ消去を再開する ............................................................. 512
22.8 デュアルオペレーションフラッシュメモリの動作............................................................. 513
第 23 章
シリアル書込み接続例 ........................................................................... 515
23.1 基本構成 ............................................................................................................................. 516
23.2 発振クロック周波数とシリアルクロック入力周波数について........................................... 518
23.3 フラッシュマイコンプログラマのシステム構成 ................................................................ 519
23.4 シリアル書込み接続例........................................................................................................ 520
23.4.1
シングルチップモード時の接続例 ( ユーザ電源使用時 ).......................................... 521
23.4.2
フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 )............. 523
付録
付録 A
付録 B
B.1
B.2
B.3
B.4
B.5
B.6
B.7
B.8
B.9
索引
............................................................................................................... 525
メモリマップ ................................................................................................................. 526
命令 ............................................................................................................................... 534
命令の種類 .................................................................................................................. 535
アドレッシング ........................................................................................................... 536
直接アドレッシング.................................................................................................... 538
間接アドレッシング.................................................................................................... 545
実行サイクル数 ........................................................................................................... 552
実効アドレスフィールド ............................................................................................ 554
命令一覧表の読み方.................................................................................................... 556
F2MC-16LX 命令一覧表 .............................................................................................. 559
命令マップ .................................................................................................................. 573
............................................................................................................... 595
xi
xii
本版での主な変更内容
ページ
変更内容(詳細は本文を参照してください。)
−
−
レジスタ名を統一
インタラプトレベルマスクレジスタ (ILM) →
割込みレベルマスクレジスタ (ILM)
−
−
USB を変更
USB Mini-Host → USB ホスト
7
第 1 章 概要
1.3 外形寸法図
パッケージを変更
FPT-64P-M09 → FPT-64P-M23
8
第 1 章 概要
1.4 端子配列図
パッケージを変更
FPT-64P-M09 → FPT-64P-M23
33
第 2 章 CPU
2.6 レジスタ
2.6.3 プロセッサステータス
(PS)
■ 割込みレベルマスク
レジスタ (ILM)
表 2.6-1
35
2.6.5 バンクレジスタ (PCB,
DTB, USB, SSB, ADB)
項タイトルと内容を訂正
38
2.8 プリフィックスコード
■ バンクセレクトプリ
フィックス
表 2.8-1
PC 空間のバンクセレクトプリフィックスを訂正
PCC → PCB
249
第 12 章 USB ホスト
12.2 USB ホストの制限事項
■ USB ホストの制限事項
表 12.2-1
項タイトル , 表タイトル , および表全体を変更
USB HOST との相違点 → USB ホストの制限事項
479
第 22 章 デュアルオペレー
ション フラッシュメモリ
497
22.6 自動アルゴリズム実行
状態の確認
■ ハードウェアシーケンス
フラグ
説明文を変更
トグルビット 2 フラグ (DQ2) に関する記述を削除
表 22.6-1
ビット No.2 を変更
DQ2 → −
498
表 22.6-2
表を訂正
行を変更
DQ2 の列を削除
値を訂正
* 注釈を削除
503
22.6 自動アルゴリズム実行
状態の確認
「許可される割込みレベル」の列を訂正
第 5 版の「第 22 章 512K ビットフラッシュ メモリ」と
「第 23 章デュアルオペレーション フラッシュ」の章をま
とめて , 1 つの章に変更
「22.7.5 トグルビット 2 フラグ (DQ2)」の項を削除
( 項番号は第 5 版時のもの )
xiii
ページ
変更内容(詳細は本文を参照してください。)
510
第 22 章 デュアルオペレー
ション フラッシュメモリ
22.7 フラッシュメモリ書込
み / 消去の詳細説明
22.7.4 フラッシュメモリの
任意のデータを消去す
る ( セクタ消去 )
図 22.7-2
図を変更
フローチャートを訂正
540
付録 B 命令
B.3 直接アドレッシング
● I/O 直接 (io)
図 B.3-5 を変更。
MOVW A, i : 0C0H → MOVW A, I:0C0H
541
付録 B 命令
B.3 直接アドレッシング
● 短縮直接アドレス (dir)
図 B.3-6 に ( 注意事項 ) を追加。
542
付録 B 命令
B.3 直接アドレッシング
● I/O 直接ビットアドレス
(io: bp)
図 B.3-8 を変更。
SETB i : 0C1H : 0 → SETB I:0C1H:0
付録 B 命令
B.3 直接アドレッシング
● 短縮直接ビットアドレス
(dir: bp)
図 B.3-9 に ( 注意事項 ) を追加。
付録 B 命令
B.4 間接アドレッシング
● プログラムカウンタ相対
分岐アドレス (rel)
説明を変更。
ディスプレースメント → オフセット
549
付録 B 命令
B.4 間接アドレッシング
● レジスタリスト (rlst)
図 B.4-9 を変更。
POPW, RW0, RW4 → POPW RW0, RW4
574
付録 B 命令
B.9 命令マップ
■ 命令マップの構造
表 B.9-1 の命令欄を変更。
@RW2+d8, #8, rel → CBNE @RW2+d8, #8, rel
575
付録 B 命令
B.9 命令マップ
表 B.9-2 の E0 列 , +0 行 のオペランドを変更。
#4 → #vct4
548
図 B.3-5 に ( 注意事項 ) を追加。
図 B.3-8 に ( 注意事項 ) を追加。
図 B.4-7 を変更。
BRA 10H → BRA 3C32H
実行後 PC : 3C20 → 3C32
表 B.9-2 の D0 列 , +0 行 のニーモニックを変更。
MOV → MOVN
表 B.9-2 の B0 列 , +0 行 のニーモニックを変更。
MOV → MOVX
表 B.9-2 の B0 列 , +8 行 のニーモニックを変更。
MOV → MOVW
xiv
ページ
577
変更内容(詳細は本文を参照してください。)
付録 B 命令
B.9 命令マップ
表 B.9-4 の E0 列 , +0 行 のニーモニックを変更。
FILSI → FILSWI
578
表 B.9-5 の 70 列 , +A 行 のニーモニックを変更。
DIVU → DIV
579
表 B.9-6 の F0 列 , +E, +F 行 のオペランドを変更。
,#8, rel → #8, rel
582
表 B.9-9 の 50 列 , +8 ∼ +E 行 のオペランドを変更。
@@ → @
表 B.9-9 の 20 列 , +0 ∼ +7 行 のオペランドを変更。
RWi → @RWi
583
表 B.9-10 の E0 列 , F0 列 のオペランドを変更。
,r → ,rel
584
表 B.9-11 の 70 列 のオペランドを変更。
NEG A, → NEG
585
表 B.9-12 の E0 列 , F0 列 のオペランドを変更。
,r → ,rel
593
表 B.9-20 XCH Ri, ea 命令 ( 第 1 バイト =7EH) を変更。
( 項目「A」を「A0」に変更 ,
+A の行の「W2+d16,[email protected]+d16」に変更 )
変更箇所は , 本文中のページ左側の│によって示しています。
xv
xvi
第1章
概要
MB90335 シリーズの特長 , ブロックダイヤグラム ,
機能概要など全体を知るための基本的なことがら
について説明します。
1.1 MB90335 シリーズの特長
1.2 ブロックダイヤグラム
1.3 外形寸法図
1.4 端子配列図
1.5 端子機能
1.6 入出力回路形式
1.7 デバイスの取扱い
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
1
第 1 章 概要
1.1 MB90335 シリーズの特長
1.1
MB90335 シリーズ
MB90335 シリーズの特長
MB90335 シリーズは , パソコン周辺機器などの USB 通信が要求される用途向けに
設計された 16 ビットマイクロコントローラです。USB 機能は , 12Mbps の
Function 動作ばかりでなく , 簡易的な Host 動作が可能です。ディスプレイやオー
ディオなどのパソコン周辺機器や USB 通信対応の携帯機器制御などに適した機能を
搭載しています。
■ MB90335 シリーズの特長
MB90335 シリーズには , 以下の特長があります。
● PLL クロック逓倍回路内蔵
• 原発振の 2 分周もしくは原発振の 1 逓倍 , 2 逓倍 , 4 逓倍
原発振 6 MHz 時 , 3 MHz ∼ 24 MHz の動作クロック (PLL クロック ) を選択可能
USB 用クロックは 48 MHz
• 最小命令実行時間 , 41.6 ns( 原発振 6 MHz, PLL クロック 4 逓倍 , Vcc=3.3 V 動作時 )
● 最大メモリ空間 : 16M バイト
● コントロール用途に最適化された命令体系
• 取扱い可能なデータタイプ : ビット / バイト / ワード / ロングワード
• 標準アドレッシングモード : 23 種類
• 32 ビットアキュムレータの採用による高精度演算の強化
• 符号付き乗除算 , 拡張 RETI 命令
● 高級言語 (C 言語 ) マルチタスクに対応をとった命令体系
• システムスタックポイントの採用
• 命令セットの対称性とバレルシフト命令
● 実行速度の向上 : 4 バイトのキュー
● 強力な割込み機能 ( プライオリティがプログラマブルに 8 レベル設定可能 ) : 外部割込み 8 本
● データ転送機能
• μDMAC
: 最大 16 チャネル
• 拡張インテリジェント I/O サービス : 最大 16 チャネル
● 内蔵 ROM 容量と ROM タイプ
• マスク ROM
: 64K バイト
• フラッシュ ROM : 64K バイト
2
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 1 章 概要
1.1 MB90335 シリーズの特長
MB90335 シリーズ
● 内蔵 RAM
• 量産品
: 4K バイト
• フラッシュ品
: 4K バイト
• エバリュエーションチップ : 28K バイト
● プロセス : CMOS テクノロジ
● 低消費電力 ( スタンバイ ) モード
• スリープモード (CPU 動作クロックを停止するモード )
• ストップモード ( 原発振を停止するモード )
• CPU 間欠動作モード
● パッケージ
LQFP-64 (FPT-64P-M23 : 0.65mm ピンピッチ )
● 動作保証温度 : − 40 ℃∼+ 85 ℃ (USB 使用時 : 0 ℃∼+ 70 ℃ )
● 汎用ポート : 最大 45 本
汎用入出力 (CMOS)
: 21 本
汎用入出力 ( 入力プルアップ抵抗設定可能 )
: 16 本
汎用入出力 ( 出力オープンドレイン / 5 V 耐圧 I/O) : 8 本
● タイマ : タイムベースタイマ / ウォッチドッグタイマ : 1 チャネル
● 8/16 ビット PPG タイマ : 8 ビット× 4 チャネルまたは 16 ビット× 2 チャネル
● 16 ビットリロードタイマ : 1 チャネル
● 16 ビット PWC タイマ : 1 チャネル
● UART: 2 チャネル
● I/O 拡張シリアルインタフェース : 1 チャネル
● I2C インタフェース : 1 チャネル
● DTP/ 外部割込み : 8 チャネル
● USB
CM44-10137-6
• USB ファンクション (USB Full Speed 対応 )
: 1 チャネル
• USB ホスト
: 1 チャネル
FUJITSU MICROELECTRONICS LIMITED
3
第 1 章 概要
1.1 MB90335 シリーズの特長
MB90335 シリーズ
■ 品種構成
表 1.1-1 MB90335 シリーズ品種構成一覧 (1 / 2)
MB90V330A*
MB90F337
MB90337
分類
評価用品
フラッシュメモリ品
マスク ROM 品
ROM 容量
搭載なし
64K バイト
64K バイト
RAM 容量
28K バイト
4K バイト
4K バイト
あり
―
―
品種名
エミュレータ専用電源
4
CPU 機能
基本命令数 : 351 命令
命令ビット長 : 8 ビット , 16 ビット
最小命令実行時間 : 41.7 ns/24 MHz
アドレッシング種類 : 23 種類
最大メモリ空間 : 16M バイト
ポート
入出力ポート (CMOS) : 45 本
8/16 ビット PPG タイマ
チャネル数 : 8 ビット× 4 チャネル , 16 ビット× 2 チャネル
モード切換え機能付き
8 ビットまたは 16 ビットの PPG 動作
任意周期 , 任意デューティのパルス波出力可能
16 ビットリロードタイマ
チャネル数 : 1
16 ビットリロードタイマ動作
イベントカウンタ付き
16 ビット PWC タイマ
チャネル数 : 1
タイマ機能 (3 つの内部クロックからカウンタのクロックを選択 )
パルス幅測定機能 (3 つの内部クロックからカウンタのクロックを
選択 )
UART
チャネル数 : 2
クロック同期 / 非同期の選択可能
専用ボーレートジェネレータ内蔵
クロック同期 LSB, MSB 切換え可能
I/O 拡張シリアル
インタフェース
チャネル数 : 1
クロック同期転送
LSB ファースト /MSB ファースト
I2C バス通信
チャネル数 : 1
Inter IC BUS をサポートするシリアル I/O
DTP/ 外部割込み
入力本数 : 8 本
割込み要因 : 立上りエッジ / 立下りエッジ /"L" レベル /"H" レベル
選択可
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 1 章 概要
1.1 MB90335 シリーズの特長
MB90335 シリーズ
表 1.1-1 MB90335 シリーズ品種構成一覧 (2 / 2)
品種名
MB90V330A*
MB90F337
MB90337
USB
USB ファンクション (USB Full Speed 対応 )
Full speed をサポート
Endpoint を最大 6 つまで指定可能
転送タイプ : Control, Interrupt, Bulk, Isochronous 転送可能
デュアルポート RAM(FIFO モードもサポート )
USB ホスト機能
μDMAC
対応
外部バスインタフェ−ス
あり ( マルチ /
ノンマルチ対応 )
その他
5 V 耐圧 I/O 9 本 (I2C 兼用端子含む )
パッケージ
PGA299
動作電圧
3.3 V ± 0.3 V
なし
LQFP64
*: エミュレータ (MB2147-01) をご使用いただく際のジャンパスイッチ (TOOL VCC) の設定です。
詳細につきましては , MB2147-01 または MB2147-20 ハードウェアマニュアル 「
( 3.3 エミュレータ専
用電源切換え」) を参照してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
5
第 1 章 概要
1.2 ブロックダイヤグラム
1.2
MB90335 シリーズ
ブロックダイヤグラム
図 1.2-1 に , MB90335 シリーズのブロックダイヤグラムを示します。
■ MB90335 シリーズのブロックダイヤグラム
図 1.2-1 MB90335 シリーズのブロックダイヤグラム
クロック
制御回路
X0,X1
RST
CPU
F2MC-16LXコア
ポート6
RAM(4 Kバイト)*
割込みコントローラ
DVP
DVM
HVP
HVM
HCON
UTEST
USBホスト
USBファンクション
F2MC-16LX バス
ROM(64 Kバイト)*
P67/INT7/SDA0
P66/INT6/SCL0
P65/INT5/PWC
P64/INT4/SCK
P63/INT3/SOT
P62/INT2/SIN
P61/INT1
P60/INT0
外部割込み
(ch.0~ch.7)
16ビットPWC
タイマ
拡張I/Oシリアル
インタフェース
I2Cインタフェース
(ch.0)
ポート5
P27/PPG3
P26/PPG2
P25/PPG1
P24/PPG0
P23
P22
P21
P20
P55 ~ P50
ポート2
ポート4
8/16ビットPPG
8/16bit PPG
(ch.0,ch.1)
(ch0,ch1)
P17~P10
ポート1
P07~P00
ポート0
P47/SCK1
P46/SOT1
P45/SIN1
P44/SCK0
P43/SOT0
P42/SIN0
P41/TOT0
P40/TIN0
UART(ch.0,ch.1)
16ビットリロード
タイマ(ch.0)
その他の端子
Vss
Vcc
MD0
MD1
MD2
*:最大値
<注意事項>
図 1.2-1 において , I/O ポートは内蔵の各機能ブロックと端子を共用しています。内蔵モ
ジュールの端子として使用する場合は , I/O ポートとしては使えません。
6
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 1 章 概要
1.3 外形寸法図
MB90335 シリーズ
外形寸法図
1.3
MB90335 シリーズには , 1 種類のパッケージが用意されています。
■ 外形寸法図 (LQFP-64)
プラスチック・LQFP, 64 ピン
リードピッチ
0.65mm
パッケージ幅×
パッケージ長さ
12.0 × 12.0mm
リード形状
ガルウィング
封止方法
プラスチックモールド
取付け高さ
1.70mm MAX
コード(参考)
P-LFQFP64-12×12-0.65
(FPT-64P-M23)
プラスチック・LQFP, 64 ピン
(FPT-64P-M23)
注 1)* 印寸法はレジン残りを含まず。
注 2)端子幅および端子厚さはメッキ厚を含む。
注 3)端子幅はタイバ切断残りを含まず。
14.00±0.20(.551±.008)SQ
*12.00±0.10(.472±.004)SQ
48
0.145±0.055
(.0057±.0022)
33
49
32
0.10(.004)
Details of "A" part
+0.20
1.50 –0.10
+.008
(Mounting height)
.059 –.004
0.25(.010)
INDEX
0~8˚
64
17
1
"A"
16
0.65(.026)
0.32±0.05
(.013±.002)
0.13(.005)
0.50±0.20
(.020±.008)
0.60±0.15
(.024±.006)
0.10±0.10
(.004±.004)
(Stand off)
M
©2003-2008
FUJITSU MICROELECTRONICS LIMITED F64034S-c-1-2
C
2003 FUJITSU LIMITED F64034S-c-1-1
単位:mm (inches)
注意:括弧内の値は参考値です。
最新の外形寸法図については , 下記の URL にてご確認ください。
http://edevice.fujitsu.com/package/jp-search/
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
7
第 1 章 概要
1.4 端子配列図
1.4
MB90335 シリーズ
端子配列図
図 1.4-1 に , MB90335 シリーズの端子配列図を示します。
■ 端子配列図 (FPT-64P-M23)
64
63
62
61
60
59
58
57
56
55
54
53
52
51
50
49
P51
P41/TOT0
P40/TIN0
P67/INT7/SDA0
P66/INT6/SCL0
P65/INT5/PWC
P64/INT4/SCK
P63/INT3/SOT
P62/INT2/SIN
P61/INT1
P60/INT0
P27/PPG3
P26/PPG2
P25/PPG1
P50
Vcc
図 1.4-1 MB90335 シリーズの端子配列図 (FPT-64P-M23)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
MB90335 シリーズ
TOP VIEW
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
Vss
X1
X0
P24/PPG0
P23
P22
P21
P20
P17
P16
P15
P14
P13
P12
P11
P10
P52
P53
Vss
MD2
MD1
MD0
RST
P54
P00
P01
P02
P03
P04
P05
P06
P07
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
UTEST
Vss
DVM
DVP
Vcc
Vss
HVM
HVP
Vcc
HCON
P42/SIN0
P43/SOT0
P44/SCK0
P45/SIN1
P46/SOT1
P47/SCK1
(FPT-64P-M23)
8
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 1 章 概要
1.5 端子機能
MB90335 シリーズ
1.5
端子機能
表 1.5-1 に , MB90335 シリーズの端子機能について説明します。
■ 端子機能
表 1.5-1 端子機能 (1 / 3)
端子番号
端子名
回路形式
機能説明
47
X1
A
発振端子です。
46
X0
A
発振端子です。
23
RST
F
リセット入力端子です。
I
汎用の入出力ポートです。
プルアップ抵抗設定レジスタ (RDR0) により , プルアッ
プ抵抗を付加 (RD00 ∼ RD07=1) に設定できます
( 出力設定時は無効 ) 。
I
汎用の入出力ポートです。
プルアップ抵抗設定レジスタ (RDR1) により , プルアッ
プ抵抗を付加 (RD10 ∼ RD13=1) に設定できます
( 出力設定時は無効 ) 。
25 ∼ 32
33 ∼ 36
P00 ∼ P07
P10 ∼ P13
37 ∼ 40
P14 ∼ P17
I
汎用の入出力ポートです。
プルアップ抵抗設定レジスタ (RDR1) により , プルアッ
プ抵抗を付加 (RD14 ∼ RD17=1) に設定できます
( 出力設定時は無効 ) 。
41 ∼ 44
P20 ∼ P23
D
汎用の入出力ポートです。
P24 ∼ P27
D
45, 51 ∼ 53
PPG0 ∼ PPG3
PPG タイマ ch.0 ∼ ch.3 出力端子として機能します。
P40
汎用の入出力ポートです。
62
H
TIN0
16 ビットリロードタイマ ch.0 のイベント入力端子とし
て機能します。
P41
汎用の入出力ポートです。
63
H
TOT0
P42
11
16 ビットリロードタイマ ch.0 の出力端子として機能し
ます。
汎用の入出力ポートです。
H
SIN0
UART ch.0 データ入力端子として機能します。
P43
12
汎用の入出力ポートです。
H
SOT0
UART ch.0 データ出力端子として機能します。
P44
13
汎用の入出力ポートです。
H
SCK0
CM44-10137-6
汎用の入出力ポートです。
UART ch.0 クロック入出力端子として機能します。
FUJITSU MICROELECTRONICS LIMITED
9
第 1 章 概要
1.5 端子機能
MB90335 シリーズ
表 1.5-1 端子機能 (2 / 3)
端子番号
端子名
回路形式
P45
14
機能説明
汎用の入出力ポートです。
H
SIN1
UART ch.1 データ入力端子として機能します。
P46
15
汎用の入出力ポートです。
H
SOT1
UART ch.1 データ出力端子として機能します。
P47
16
汎用の入出力ポートです。
H
SCK1
UART ch.1 クロック入出力端子として機能します。
50
P50
K
汎用入出力ポートです。
64
P51
K
汎用入出力ポートです。
17
P52
K
汎用入出力ポートです。
18
P53
K
汎用入出力ポートです。
24
P54
K
汎用入出力ポートです。
P60, P61
54, 55
56
57
58
59
INT0, INT1
外部割込み ch.0, ch.1 入力端子として機能します。
P62
汎用の入出力ポートです (5 V 耐圧 ) 。
INT2
C
外部割込み ch.2 入力端子として機能します。
SIN
単純シリアル I/O データ入力端子です。
P63
汎用の入出力ポートです (5 V 耐圧 ) 。
INT3
C
外部割込み ch.3 入力端子として機能します。
SOT
単純シリアル I/O データ出力端子です。
P64
汎用の入出力ポートです (5 V 耐圧 ) 。
INT4
C
外部割込み ch.4 入力端子として機能します。
SCK
単純シリアル I/O クロック入出力端子です。
P65
汎用の入出力ポートです (5 V 耐圧 ) 。
INT5
C
外部割込み ch.5 入力端子として機能します。
PWC
PWC 入力端子として機能します。
P66
汎用の入出力ポートです (5 V 耐圧 ) 。
INT6
外部割込み ch.6 入力端子として機能します。
60
C
SCL0
10
汎用の入出力ポートです (5 V 耐圧 ) 。
C
I2C インタフェース ch.0 クロック入出力端子として機
能します。
I2C インタフェース動作中は , ポート出力を Hi-Z とし
てください。
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 1 章 概要
1.5 端子機能
MB90335 シリーズ
表 1.5-1 端子機能 (3 / 3)
端子番号
端子名
回路形式
機能説明
P67
汎用の入出力ポートです (5 V 耐圧 ) 。
INT7
外部割込み ch.7 入力端子として機能します。
61
C
SDA0
I2C インタフェース ch.0 データ入出力端子として機能
します。
I2C インタフェース動作中は , ポート出力を Hi-Z とし
てください。
1
UTEST
C
USB テスト用端子です 。
通常使用時は , プルダウン接続願います。
3
DVM
J
USB ファンクション D −端子です。
4
DVP
J
USB ファンクション D +端子です。
7
HVM
J
USB ホスト D −端子です。
8
HVP
J
USB ホスト D +端子です。
10
HCON
E
外付けプルアップ抵抗接続端子です。
21, 22
MD1, MD0
B
20
MD2
G
5
Vcc
−
電源端子です。
9
Vcc
−
電源端子です。
49
Vcc
−
電源端子です。
2
Vss
−
電源端子 (GND) です。
6
Vss
−
電源端子 (GND) です。
19
Vss
−
電源端子 (GND) です。
49
Vss
−
電源端子 (GND) です。
CM44-10137-6
動作モード指定用入力端子です。
FUJITSU MICROELECTRONICS LIMITED
11
第 1 章 概要
1.6 入出力回路形式
1.6
MB90335 シリーズ
入出力回路形式
表 1.6-1 に , MB90335 シリーズの各端子の入出力回路形式を示します。
■ 入出力回路形式
表 1.6-1 入出力回路形式 (1 / 3)
分類
回 路
備 考
A
・発振帰還抵抗 : X1, X0 約 1MΩ
・スタンバイコントロール付き
X1
P-ch N-ch
クロック入力
X0
スタンバイ制御信号
B
CMOS ヒステリシス入力
CMOSヒステリシス入力
C
N-ch
N-chオープンドレイン出力
・CMOS ヒステリシス入力
・N-ch オープンドレイン出力
CMOSヒステリシス入力
スタンバイ制御信号
D
・CMOS 出力
・CMOS ヒステリシス入力
・スタンバイコントロール付き
P-ch
N-ch
CMOSヒステリシス入力
スタンバイ制御信号
12
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 1 章 概要
1.6 入出力回路形式
MB90335 シリーズ
表 1.6-1 入出力回路形式 (2 / 3)
分類
回 路
E
備 考
CMOS 出力
P-ch
Pout
N-ch
Nout
F
・プルアップ付きCMOSヒステリシス
入力
・抵抗 : 約 50kΩ
R
CMOSヒステリシス入力
G
CMOSヒステリシス入力
R
H
P-ch
オープンドレイン制御信号
N-ch
・プルダウン付きCMOSヒステリシス
入力
・抵抗 : 約 50kΩ
・フラッシュ品にはプルダウン抵抗
はありません。
・CMOS 出力
・CMOS ヒステリシス入力
・オープンドレインコントロール
付き
・スタンバイコントロール付き
CMOSヒステリシス入力
スタンバイ制御信号
I
コントロール信号
P-ch
・CMOS 出力
・CMOS 入力
・入力プルアップ抵抗制御付き
・抵抗 : 約 50kΩ
・スタンバイコントロール付き
N-ch
CMOS入力
スタンバイ制御信号
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
13
第 1 章 概要
1.6 入出力回路形式
MB90335 シリーズ
表 1.6-1 入出力回路形式 (3 / 3)
分類
回 路
備 考
J
USB 入出力端子
D+入力
D-入力
D+
差動入力
D-
Full D+出力
Full D-出力
Low D+出力
Low D-出力
方向
スピード
K
P-ch
Pout
N-ch
Nout
・CMOS 出力
・CMOS 入力
・スタンバイコントロール付き
入力信号
スタンバイ制御信号
14
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
1.7
第 1 章 概要
1.7 デバイスの取扱い
デバイスの取扱い
デバイスの取扱い上の注意について説明します。
■ デバイス取扱い上の注意
● ラッチアップの防止 , 電源投入について
CMOS IC では , 次に示すような場合にラッチアップ現象を生じることがあります。
• 入力端子や出力端子に VCC より高い電圧や VSS より低い電圧が印加された場合
• VCC 端子∼ VSS 端子間に定格を超える電圧が印加された場合
• VCC の電圧より , AVCC の電源が先に供給された場合
アナログ系の電圧印加は , 必ず VCC と同時に行うか , デジタル電源の投入後に行って
ください ( 電源 OFF の場合は , アナログ系電源を先に落とすか , 同時に落としてくださ
い)。
ラッチアップが起きると電源電流が激増し , 素子の熱破壊に至ることがあります。使用
に際しては , 十分に注意してください。
● 未使用端子の処理
入力に用いる未使用端子を開放のままにしておくと,誤動作およびラッチアップによる
永久破壊の原因になることがあります。使用していない入力端子は , 2 kΩ 以上の抵抗
を介して , プルアップまたはプルダウンの処置をしてください。使用していない入出力
端子は , 出力状態に設定して開放とするか , 入力状態に設定して入力端子と同じ処理を
してください。使用していない出力端子は開放としてください。
● 電源端子 (VCC/VSS) の取扱い
VCC または VSS が複数ある場合 , デバイス設計上はラッチアップなどの誤動作を防止
するためにデバイス内部で同電位にすべきものどうしを接続してあります。不要輻射
の低減 , グランドレベルの上昇によるストローブ信号の誤動作の防止 , 総出力電流規格
を遵守などのため , 必ずすべての VCC と VSS を外部で電源およびグランドに接続して
ください。また , 電源供給源と本デバイスの VCC 端子と VSS 端子は低インピーダンス
で接続してください。
本デバイスの近くで , VCC と VSS の間に 0.1 μF 程度のセラミックコンデンサをバイパ
スコンデンサとして接続することをお勧めします。
● 水晶発振回路
X0/X1 端子の近くにノイズがあると , デバイスの誤動作の原因となる可能性がありま
す。X0/X1 および水晶発振子 ( またはセラミック発振子 ) およびグランドへのバイパス
コンデンサをできるだけデバイスの近くに配置するようにプリント板を設計してくだ
さい。
グランドで X0/X1 端子を取り囲むようにプリント板アートワークを設計すると , 安定
した動作が得られますので , この設計を強く推奨します。
各量産品において , ご使用される発振子メーカに発振評価依頼をしてください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
15
第 1 章 概要
1.7 デバイスの取扱い
MB90335 シリーズ
● 外部クロック使用時の注意
外部クロックをご使用になる場合は , 外部端子を図 1.7-1 のように接続してください。
図 1.7-1 に外部クロック使用方法を示します (f=7 MHz 以下 ) 。
図 1.7-1 外部クロック使用方法
X0
開放
X1
● 供給電源の安定化
VCC 電源電圧の動作範囲内においても , 電源電圧の急激な変化があると誤動作を生じ
ることがあります。安定化の基準として , 商用周波数 (50 MHz/60 MHz) での VCC リッ
プル変動 (P-P 値 ) は , 標準 VCC 値の 10% 以下になるように , また 電源の切換え時など
の瞬時変化においては , 過渡変動率が 0.1 V/ms 以下になるように電源電圧を安定させ
てください。
● 低電圧使用時の水晶発振回路
2.0 V 以下の電圧でご使用の場合には , 電源 ON 時に外部の水晶発振子が発振しない場
合があります。このため , 外部クロックの使用を推奨致します。
● フラッシュメモリへの書込みについて
フラッシュメモリへのシリアル書込みは , 必ず , 動作電圧 : VCC=3.13 V ∼ 3.6 V 内で
行ってください。
フラッシュメモリへの通常書込みは , 必ず , 動作電圧 : VCC=3.0 V ∼ 3.6 V 内で行って
ください。
● PLL クロックモード動作中の注意について
MB90335 シリーズで PLL クロックを選択している時に発振子が外れたり , あるいはク
ロック入力が停止した場合 , 本マイコンは PLL 内部の自励発振回路の自走周波数で動
作を継続する場合があります。この動作は保証外の動作です。
16
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第2章
CPU
CPU の機能と動作について説明します。
2.1 CPU の概要
2.2 メモリ空間
2.3 リニア方式によるアドレス指定
2.4 バンク方式によるアドレス指定
2.5 メモリ空間における多バイト長データ
2.6 レジスタ
2.7 レジスタバンク
2.8 プリフィックスコード
2.9 割込み抑止命令
管理番号 : CM44-00101-2
固有箇所 : 18, 18
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
17
第 2 章 CPU
2.1 CPU の概要
2.1
MB90335 シリーズ
CPU の概要
F2MC-16LX CPU コアは , 民生用・車載用機器などの高速リアルタイム処理が要求さ
れる用途向けに設計された 16 ビット CPU です。F2MC-16LX の命令セットはコン
トローラ用途向けに設計されており , 各種制御の高速・高効率処理が可能です。
■ CPU の概要
F2MC-16LX CPU コアは 16 ビットデータ処理はもちろん , 内部に 32 ビットアキュム
レータを塔載しているため 32 ビットデータ処理も可能です。メモリ空間は最大 16M バ
イト ( 拡張可能 ) , リニア方式およびバンク方式のいずれかにてアクセス可能です。ま
た , 命令体系は F2MC-8L の A-T アーキテクチャをベースに , 高級言語対応命令の追加・
アドレッシングモードの拡張・乗除算命令の強化・ビット処理の充実化により命令が
強化されています。
以下に , F2MC-16LX CPU の特長を示します。
● 最小命令実行時間
• 41.7 ns ( マシンクロック 24 MHz のとき )
• マシンクロックの周波数は , 品種によって異なります。
● 最大メモリ空間
16M バイト , リニア / バンク方式にてアクセス
● コントローラ用途に最適化された命令体系
• 豊富なデータタイプビット / バイト / ワード / ロングワード
• 拡張されたアドレッシングモード 23 種類
• 32 ビットアキュムレータの採用による高精度演算 (32 ビット長 ) の強化
● 強力な割込み機能
8 つの優先順位 ( プログラマブル )
● CPU に依存しない自動転送機能
• 最大 16 チャネルまでの拡張インテリジェント I/O サービス (EI2OS)
• 最大 16 チャネルまでの DMA 転送 (μDMAC)
• DMA 転送 (μDMAC) は , 品種により内蔵していない場合があります。
● 高級言語 (C 言語 ) / マルチタスクに対応した命令体系
システムスタックポイントの採用 / 命令セットの対称性 / バレルシフト命令
● 実行速度の向上
4 バイトのキュー
18
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 2 章 CPU
2.2 メモリ空間
MB90335 シリーズ
メモリ空間
2.2
F2MC-16LX CPU は , 16M バイトのメモリ空間を持ちます。
■ CPU メモリ空間の概要
F2MC-16LX CPU が管理するデータ・プログラム・I/O はすべて F2MC-16LX CPU の 16M
バイトのメモリ空間のいずれかに配置されます。CPU は 24 ビットのアドレスバスでこ
れらのアドレスを示すことにより , 各リソースにアクセスできます。
図 2.2-1 に , F2MC-16LX システムとメモリマップの関係例を示します。
図 2.2-1 F2MC-16LX システムとメモリマップの関係例
F2MC-16LXデバイス
FFFFFFH
FFFC00H
プログラム
FF0000H*1
ベクタテーブル領域
プログラム領域
ROM 領域
100000H
外部領域*3
010000H
周辺回路
008000H
2
F MC-16LX
CPU
内部データバス
007900H
001900H*2
データ
EI2OS
000380H
000180H
000100H
ROM領域
(FFバンクのイメージ)
周辺機能制御
レジスタ領域
データ領域
汎用レジスタ
EI2OS
ディスクリプタ領域
I/O 領域
RAM 領域
外部領域*3
周辺回路
割込み
周辺回路
0000F0H
0000C0H
0000B0H
000020H
汎用ポート
000000H
周辺機能制御
レジスタ領域
割込み制御
レジスタ領域
周辺機能制御
レジスタ領域
I/Oポート制御
レジスタ領域
I/O 領域
*1: 品種によって , 内蔵 ROM の容量が異なります。
*2: 品種によって , 内蔵 RAM の容量が異なります。
*3: シングルチップモードの場合には , アクセスなしとします。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
19
第 2 章 CPU
2.2 メモリ空間
MB90335 シリーズ
■ ROM 領域
● ベクタテーブル領域 ( アドレス : FFFC00H ∼ FFFFFFH)
• リセットと割込みおよび CALLV ベクタに対応したベクタテーブルです。
• ROM 領域の最上位に割り当てられており , それぞれのベクタテーブルのアドレス
に , 対応する処理ルーチンの開始アドレスをデータとして設定します。
● プログラム領域 ( アドレス : ∼ FFFBFFH)
• 内部プログラム領域として ROM が内蔵されています。
• 内部 ROM 容量は , 品種によって異なります。
■ RAM 領域
● データ領域 ( アドレス : 000100H ∼ 0018FFH (6 K バイトの場合 ) )
• 内部データ領域として , スタティック RAM が内蔵されています。
• 内部 RAM 容量は , 品種によって異なります。
● 汎用レジスタ領域 ( アドレス : 000180H ∼ 00037FH)
• 8 ビット , 16 ビット , 32 ビットの演算や転送に使用する補助的なレジスタを配置し
ます。
• RAM 領域の一部に割り当てられており , 通常の RAM として使用することもできま
す。
• 汎用レジスタとして使用すると , 汎用レジスタアドレッシングによって短い命令で
高速にアクセスできます。
● 拡張インテリジェント I/O サービス (El2OS) ディスクリプタ領域
( アドレス 0000100H ∼ 00017FH)
• 転送モード , I/O のアドレス , 転送数およびバッファアドレスを保持します。
• RAM 領域の一部に割り当てられており , 通常の RAM として使用することもできま
す。
■ I/O 領域
● 割込み制御レジスタ領域 ( アドレス : 0000B0H ∼ 0000BFH)
割込み制御レジスタ (ICR00∼ICR15) は, 割込み機能を持つすべての周辺機能に対応し,
割込みレベルの設定 , および拡張インテリジェント I/O サービス (EI2OS) の制御を行い
ます。
● 周辺機能制御レジスタ領域
( アドレス : 000020H ∼ 0000AFH, 0000C0H ∼ 0000EFH, 007900H ∼ 007FFFH)
周辺機能およびデータの入出力を制御します。
● I/O ポート制御レジスタ領域 ( アドレス : 000000H ∼ 00001FH)
I/O ポートおよびデータの入出力を制御します。
20
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 2 章 CPU
2.2 メモリ空間
■ アドレス作成の方式
F2MC-16LX のアドレス指定には , 以下に示す 2 つの方式があります。
● リニア方式
24 ビットアドレスを命令により指定する方式
● バンク方式
アドレス上位 8 ビットを用途に応じたバンクレジスタで , アドレス下位 16 ビットを命
令により指定する方式
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
21
第 2 章 CPU
2.3 リニア方式によるアドレス指定
2.3
MB90335 シリーズ
リニア方式によるアドレス指定
リニア方式には以下に示す 2 つの方式があります。
• 24 ビットオペランド指定………オペランドにて直接 24 ビットのアドレスを指定
する方式
• 32 ビットレジスタ間接指定……32 ビットの汎用レジスタの内容の下位 24 ビット
をアドレスとして使用する方式
■ 24 ビットオペランド指定
図 2.3-1 にリニア方式 (24 ビットオペランド指定 ) の例を , 図 2.3-2 にリニア方式 (32
ビットレジスタ間接指定 ) の例を示します。
図 2.3-1 リニア方式 (24 ビットオペランド指定 ) の例
JMPP 123456H
17452DH
旧プログラムカウンタ
17
+ プログラムバンク
452D
JMPP 123456H
123456H
次の命令
新プログラムカウンタ
12
+ プログラムバンク
3456
図 2.3-2 リニア方式 (32 ビットレジスタ間接指定 ) の例
MOV A,@RL1+7
旧 AL
090700H
XXXX
3AH
7
RL1
240906F9H
( 上位 8 ビットは無視 )
新 AL
22
003A
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
2.4
第 2 章 CPU
2.4 バンク方式によるアドレス指定
バンク方式によるアドレス指定
バンク方式は 16M バイトの空間を 64 K バイトごとの 256 個のバンクに分割し , 以
下に示す 5 つのバンクレジスタで各空間に対応するバンクを指定します。
• プログラムカウンタバンクレジスタ (PCB)
• データバンクレジスタ (DTB)
• ユーザスタックバンクレジスタ (USB)
• システムスタックバンクレジスタ (SSB)
• アディショナルデータバンクレジスタ (ADB)
■ バンク方式によるアドレス指定
● プログラムカウンタバンクレジスタ (PCB) による指定
プログラムカウンタバンクレジスタ (PCB) によって指定される 64 K バイトのバンクを
プログラム (PC) 空間とよび , 主として命令コードやベクタテーブル , 即値データなど
が存在します。
● データバンクレジスタ (DTB) による指定
データバンクレジスタ (DTB) によって指定される 64 K バイトのバンクをデータ (DT)
空間とよび , 主として読み書き可能なデータや内外リソースの制御 / データレジスタな
どが存在します。
● ユーザスタックバンクレジスタ (USB)・システムスタックバンクレジスタ (SSB) による指定
ユーザスタックバンクレジスタ (USB) またはシステムスタックバンクレジスタ (SSB)
によって指定される 64 K バイトのバンクをスタック (SP) 空間とよび , プッシュ / ポッ
プ命令や割込みのレジスタ退避などのときにスタックアクセスが発生したときにアク
セスされる領域です。どちらの空間が使用されるかはコンディションコードレジスタ
中の S フラグの値に依存します。
● アディショナルデータバンクレジスタ (ADB) による指定
アディショナルデータバンクレジスタ (ADB) によって指定される 64 K バイトのバンク
をアディショナル (AD) 空間とよび , 主として DT 空間に入りきらなかったデータなど
が存在します。
表 2.4-1 に示すように , 命令のコード効率を向上させるために各アドレッシングモード
で使用されるデフォルト空間が事前に決められています。また , あるアドレッシングを
使用したときにデフォルト以外の空間を使用したいときは , 各バンクに対応している
プリフィックスコードを命令に先行して指定することにより , そのプリフィックス
コードに対応した任意のバンク空間をアクセスできます。
DTB, USB, SSB, ADB はリセットにより "00H" に初期化され , PCB はリセットベクタに
より指定された値に初期化されます。リセット後 , DT, SP, AD の各空間はバンク "00H"
(000000H ∼ 00FFFFH) に配置され , PC 空間はリセットベクタにより指定されたバンク
に配置されます。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
23
第 2 章 CPU
2.4 バンク方式によるアドレス指定
MB90335 シリーズ
表 2.4-1 デフォルト空間
デフォルト空間
プログラム空間
アドレッシング
PC 間接 , プログラムアクセス , 分岐系
データ空間
@RW0,@RW1,@RW4,@RW5 を使用したアドレッシング ,
@A,addr16,dir
スタック空間
PUSHW, POPW,@RW3,@RW7 を使用したアドレッシング
アディショナル空間
@RW2,@RW6 を使用したアドレッシング
図 2.4-1 に , レジスタバンクに分割されたメモリ空間の物理アドレス例を示します。
図 2.4-1 各空間の物理アドレス例
FFFFFFH
プログラム空間
FF0000H
FFH
:PCB( プログラムカウンタバンクレジスタ )
B3H
:ADB( アディショナルデータバンクレジスタ )
92H
:USB ( ユーザスタックバンクレジスタ )
68H
:DTB ( データバンクレジスタ )
4BH
:SSB ( システムスタックバンクレジスタ )
B3FFFFH
アディショナル空間
B30000H
物
理
ア
ド
レ
ス
92FFFFH
ユーザスタック空間
920000H
68FFFFH
データ空間
680000H
4BFFFFH
システムスタック空間
4B0000H
000000H
24
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 2 章 CPU
2.5 メモリ空間における多バイト長データ
MB90335 シリーズ
メモリ空間における多バイト長データ
2.5
多バイト長のデータは , データの LSB 側のバイトから MSB 側のバイトの順番で ,
メモリ空間の下位アドレスから上位アドレスに配置されます。
■ メモリ空間における多バイト長データの配置
メモリへの書込みはアドレスの低い方から順に行われます。したがって , 32 ビット長
データの場合には下位 16 ビットが先に転送され , 続いて上位 16 ビットが転送されま
す。
なお , 下位データの書込み直後にリセット信号を入力すると上位データが書き込まれ
ないことがあります。
図 2.5-1 に , メモリにおける多バイト長データの構成を示します。データは下位 8 ビッ
トが n 番地に , 以下 n+1 番地 , n+2 番地 , n+3 番地・・・の順に配置されます。
図 2.5-1 メモリにおける多バイト長データの配置の例
MSB
"H"
LSB
01010101B
11001100B
11111111B
00010100B
01010101B
11001100B
11111111B
00010100B
n 番地
"L"
■ 多バイト長データのアクセス
アクセスはすべてバンク内を基本にして行われますので , 多バイト長のデータをアク
セスする命令では , FFFFH 番地の次のアドレスは同じバンクの 0000H 番地になります。
図 2.5-2 に , 多バイト長データのアクセス命令の例を示します。
図 2.5-2 MOVW A, FFFFH の実行
"H"
80FFFFH
実行前の AL
??
??
実行後のAL
23H
01H
01H
·
·
·
800000H
23H
"L"
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
25
第 2 章 CPU
2.6 レジスタ
2.6
MB90335 シリーズ
レジスタ
F2MC-16LX のレジスタは大別して , 専用レジスタと汎用レジスタの 2 種類に分ける
ことができます。
専用レジスタは , CPU の内部に専用ハードウェアとして存在し , 使用する用途が
CPU のアーキテクチャ上で限定されています。
汎用レジスタは , 通常のメモリと同じく , 使用する用途をユーザが指定することがで
きます。CPU のアドレス空間上に RAM と共存し , アドレスを指定しないでアクセ
スできるという点では専用レジスタと同じです。
■ 専用レジスタ
F2MC-16LX CPU コアの専用レジスタは以下に示す 11 本があります。
• アキュムレータ (A=AH:AL).................................... 16 ビット× 2 本のアキュムレータ
(合計32ビットのアキュムレータと
しても使用可能 )
• ユーザスタックポインタ (USP).............................. ユーザスタック領域を示す 16 ビッ
トのポインタ
• システムスタックポインタ (SSP) .......................... システムスタック領域を示す16ビッ
トのポインタ
• プロセッサステータス (PS)..................................... システムの状態を示す 16 ビットの
レジスタ
• プログラムカウンタ (PC) ........................................ プログラムが格納されているアド
レスを持つ 16 ビットのレジスタ
• プログラムカウンタバンクレジスタ (PCB) ......... PC 空間を示す 8 ビットのレジスタ
• データバンクレジスタ (DTB) ................................. DT 空間を示す 8 ビットのレジスタ
• ユーザスタックバンクレジスタ (USB) ................. ユーザスタック空間を示す8ビット
のレジスタ
• システムスタックバンクレジスタ (SSB).............. システムスタック空間を示す8ビッ
トのレジスタ
• アディショナルデータバンクレジスタ (ADB)..... AD 空間を示す 8 ビットのレジスタ
• ダイレクトページレジスタ (DPR) ......................... ダイレクトページを示す8ビットの
レジスタ
図 2.6-1 に , 専用レジスタの構成を示します。
26
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 2 章 CPU
2.6 レジスタ
MB90335 シリーズ
図 2.6-1 専用レジスタ
アキュムレータ
AL
AH
USP
ユーザスタックポインタ
SSP
システムスタックポインタ
PS
プロセッサステータス
PC
プログラムカウンタ
DPR
ダイレクトページレジスタ
PCB
プログラムカウンタバンクレジスタ
DTB
データバンクレジスタ
USB
ユーザバンクレジスタ
SSB
システムスタックバンクレジスタ
ADB
アディショナルデータバンクレジスタ
8ビット
16ビット
32ビット
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
27
第 2 章 CPU
2.6 レジスタ
MB90335 シリーズ
■ 汎用レジスタ
図 2.6-2 に示すように , F2MC-16LX の汎用レジスタは主記憶の 000180H ∼ 00037FH ( 最大
の場合 ) に存在し , レジスタバンクポインタ (RP) によって先に述べたアドレスのどの部分
が現在使用中のレジスタバンクであるかを指定します。各バンクには以下に示す 3 種類の
レジスタが存在します。これらは独立ではなく , 以下に示すような関係があります。
• R0 ∼ R7
:8 ビットの汎用レジスタ
• RW0 ∼ RW7 :16 ビットの汎用レジスタ
• RL0 ∼ RL3
:32 ビットの汎用レジスタ
図 2.6-2 汎用レジスタ
MSB
LSB
16 ビット
000180H RP × 10 H
RW0
下位
RL0
汎用レジスタの先頭アドレス
RW1
RW2
RL1
RW3
R1
R0
RW4
R3
R2
RW5
R5
R4
RW6
R7
R6
RW7
RL2
RL3
上位
バイトレジスタとワードレジスタの上位 / 下位バイトの関係は ,
RW(i+4)=R(i × 2+1) × 256 + R(i × 2) [i=0 ∼ 3]
という式で表すことができ , RLi の上位・下位と RW の関係は
RL(i)=RW(i × 2+1) × 65536 + RW(i × 2) [i=0 ∼ 3]
という式で表すことができます。
28
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 2 章 CPU
2.6 レジスタ
MB90335 シリーズ
2.6.1
アキュムレータ (A)
アキュムレータ (A) レジスタは , 2 つの 16 ビット長の演算用レジスタ AH および AL
で構成され , 演算などを行ったときの結果やデータ転送の一時記憶などに使用され
ます。
■ アキュムレータ (A)
アキュムレータ (A) レジスタでは , 図 2.6-3 に示すように , 32 ビットデータ処理時は AH
と AL を連結して使用します。また , 図 2.6-4 に示すように , 16 ビットデータ処理のワー
ド処理や 8 ビットデータ処理のバイト処理のときは AL のみが使用されます。A レジ
スタ中のデータはメモリ / レジスタ (Ri, RWi, RLi) 中のデータと各種演算ができ , F2MC8L と同様 , F2MC-16LX でも基本的にワード長以下のデータを AL へ転送すると , 転送
前の AL 中のデータが自動的に AH に転送されます ( データ保持機能 ) 。したがって ,
データ保持機能と AL-AH 間演算において各種処理効率を上げることが可能になりま
す。
AL へのバイト長以下のデータの転送時は , データは符号拡張またはゼロ拡張され 16
ビット長となり AL へ格納されます。AL 中のデータは , ワード長としてもバイト長と
しても扱えます。AL にバイト処理の算術演算命令を実行すると , 演算前の AL の上位
8 ビットは無視されて演算結果の上位 8 ビットがすべて "0" になります。A レジスタは ,
リセットでは初期化されず , リセット直後は不定値になります。
図 2.6-3 32 ビットデータ転送例
MOVL A,@RW1+6
実行前の A
XXXXH
MSB
XXXXH
DTB
実行後の A
A6H
8F74H
2B52H
AH
AL
LSB
A61540H
8FH
74H
A6153EH
2BH
52H
15H
38H
+6
RW1
図 2.6-4 AL-AH 転送例
MSB
MOVW A,@RW1+6
実行前の A
XXXXH
1234H
DTB
LSB
A61540H
8FH
74H
A6153EH
2BH
52H
15H
38H
A6H
+6
実行後の A
CM44-10137-6
1234H
2B52H
RW1
FUJITSU MICROELECTRONICS LIMITED
29
第 2 章 CPU
2.6 レジスタ
2.6.2
MB90335 シリーズ
ユーザスタックポインタ (USP) とシステムスタック
ポインタ (SSP)
ユーザスタックポインタ (USP) およびシステムスタックポインタ (SSP) は , 16 ビッ
トのレジスタであり , プッシュ / ポップ命令およびサブルーチン実行時のデータ退避 /
復帰のメモリアドレスを示します。
■ ユーザスタックポインタ (USP) とシステムスタックポインタ (SSP)
図 2.6-5 に示すように , ユーザスタックポインタ (USP) とシステムスタックポインタ
(SSP) は , スタック系の命令により使用されますが , プロセッサステータス中の S フラ
グが "0" のときは USP レジスタが有効になり , S フラグが "1" のときは SSP レジスタが
有効になります。また , 割込みが受け付けられると S フラグがセットされるため , 割込
み時のレジスタ退避は必ず SSP の示すメモリ中に行われます。割込みルーチンでのス
タック処理は SSP で , 割込みルーチン以外のスタック処理には USP が使用されます。
スタック空間を分ける必要のない場合には SSP だけを使用してください。
スタック時のアドレスの上位 8 ビットは , SSP → SSB, USP → USB により示されます。
また , USP および SSP は , リセットでは初期化されず , 不定値になります。
図 2.6-5 スタック操作命令とスタックポインタ
S フラグが "0" のときの PUSHW A の例
実行前
AL
S フラグ
実行後
AL
S フラグ
MSB
C6F326H
LSB
A624H
USB
C6H
USP
F328H
0
SSB
56H
SSP
1234H
A624H
USB
C6H
USP
F326H
0
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
1
SSB
56H
SSP
1232H
XX
XX
S フラグが "0" であるため
システムスタックを使用
S フラグが "1" のときの PUSHW A の例
AL
S フラグ
AL
S フラグ
S フラグが "1" であるため
システムスタックを使用
< 注意事項 >
スタックポインタに設定する値は , 原則として偶数アドレスを使用してください。
30
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 2 章 CPU
2.6 レジスタ
MB90335 シリーズ
プロセッサステータス (PS)
2.6.3
プロセッサステータス (PS) は , CPU の動作を制御するビットと CPU の状態を示す
ビットより構成されています。
■ プロセッサステータス (PS)
図 2.6-6 に示すように , プロセッサステータス (PS) の上位バイトはレジスタバンクの先
頭アドレスを示す割込みレベルマスクレジスタ (ILM) およびレジスタバンクポインタ
(RP) より構成されます。PS の下位バイトは命令実行結果および割込み発生などにより
セット / リセットされる各種フラグで構成されているコンディションコードレジスタ
(CCR) となります。
図 2.6-6 プロセッサステータス (PS) の構造
bit
15
13
PS
12
8
ILM
7
0
RP
CCR
■ コンディションコードレジスタ (CCR)
図 2.6-7 に , コンディションコードレジスタ (CCR) の構造を示します。
図 2.6-7 コンディションコードレジスタ (CCR) の構成
bit
初期値
7
6
5
4
3
2
1
0
-
I
S
T
N
Z
V
C
: CCR
-
0
1
*
*
*
*
*
* : 不定値
● 割込み許可フラグ (I)
ソフトウェア割込み以外のすべての割込み要求に対して I が "1" のときには割込みが許
可され, "0"のときには割込みが禁止されます。リセットによって"0"にクリアされます。
● スタックフラグ (S)
S が "0" のときはスタック操作用ポインタとして USP が有効 , "1" のときは SSP が有効
になります。割込み受付け時およびリセット時には "1" にセットされます。
● スティッキィビットフラグ (T)
論理右 / 算術右シフト命令を実行後にキャリによってシフトアウトされたデータに 1 つ
以上 "1" がある場合には "1", それ以外は "0" となります。シフト量がゼロの場合も "0"
となります。
● ネガティブフラグ (N)
演算結果の MSB が "1" の場合には N フラグは "1" にセットされ , それ以外は "0" にク
リアされます。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
31
第 2 章 CPU
2.6 レジスタ
MB90335 シリーズ
● ゼロフラグ (Z)
演算結果がすべて "0" の場合には "1" にセットされ , それ以外は "0" にクリアされます。
● オーバフローフラグ (V)
演算の実行により符号付き数値としてオーバフローが発生すると "1" にセットされ , 発
生しないと "0" にクリアされます。
● キャリフラグ (C)
演算の実行により MSB より桁上り / 桁下りが発生すると "1" にセットされ , 発生しな
いと "0" にクリアされます。
■ レジスタバンクポインタ (RP)
図 2.6-8 に示すように , レジスタバンクポインタ (RP) は , F2MC-16LX の汎用レジスタ
とそれが存在する内部 RAM のアドレスとの関係を示すレジスタで , 現在使用中のレジ
スタバンクの先頭のメモリアドレスを [000180H+(RP)× 10H] という変換式で示します。
RP は 5 ビットにより構成されており "00H" ∼ "1FH" までの値をとることができ , 000180H ∼
00037FH のメモリ中にレジスタバンクを配置できます。ただし , この範囲内であっても
内部RAM以外の場合には汎用レジスタとして使用することはできません。
RPはリセッ
トによりすべて "0" に初期化されます。命令上では RP に 8 ビットの即値を転送できま
すが , 実際に使用されるのはそのデータの下位 5 ビットのみです。
図 2.6-8 レジスタバンクポインタ (RP)
初期値
B4
B3
B2
B1
B0
0
0
0
0
0
: RP
■ 割込みレベルマスクレジスタ (ILM)
図 2.6-9 に示すように , 割込みレベルマスクレジスタ (ILM) は 3 ビットから構成されて
おり , CPU の割込みマスクのレベルを示します。この 3 ビットにより示されるレベル
より強いレベルの割込み要求のみが受け付けられます。図 2.6-1 に示すように , レベル
の強弱は "0" が最強で , "7" が最弱と定義されています。したがって , 割込みが受け付
けられるためには , 現状の ILM の保持値より小さい値の要求でなければなりません。
割込みが受け付けられるとその割込みのレベル値が ILM に設定され , これ以降の同じ
かそれより低い優先順位の割込みは受け付けられなくなります。ILM はリセットによ
りすべて "0" に初期化されます。命令上では ILM に 8 ビットの即値を転送できますが
, 実際に使用されるのはそのデータの下位 3 ビットのみです。
図 2.6-9 割込みレベルマスクレジスタ (ILM)
初期値
32
ILM2
ILM1
ILM0
0
0
0
: ILM
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 2 章 CPU
2.6 レジスタ
MB90335 シリーズ
表 2.6-1 割込みレベルマスクレジスタ (ILM) で示されるレベルの強弱
ILM2
ILM1
ILM0
レベル値
0
0
0
0
割込み禁止
0
0
1
1
1 より小さい値のレベル (0 のみ )
0
1
0
2
2 より小さい値のレベル (0, 1)
0
1
1
3
3 より小さい値のレベル (0, 1, 2)
1
0
0
4
4 より小さい値のレベル (0, 1, 2, 3)
1
0
1
5
5 より小さい値のレベル (0, 1, 2, 3, 4)
1
1
0
6
6 より小さい値のレベル (0, 1, 2, 3, 4, 5)
1
1
1
7
7 より小さい値のレベル (0, 1, 2, 3, 4, 5, 6)
CM44-10137-6
許可される割込みレベル
FUJITSU MICROELECTRONICS LIMITED
33
第 2 章 CPU
2.6 レジスタ
2.6.4
MB90335 シリーズ
プログラムカウンタ (PC)
プログラムカウンタ (PC) は , CPU が実行すべき命令コードのメモリアドレスの下位
16 ビットを示します。
■ プログラムカウンタ (PC)
プログラムカウンタ (PC) は , 16 ビットのカウンタであり , CPU が実行すべき命令コー
ドのメモリアドレスの下位 16 ビットを示します。上位 8 ビットアドレスは PCB によ
り示されます。PC は条件分岐命令 , サブルーチンコール命令 , 割込み , リセットなどに
より内容が更新されます。また , オペランドアクセス時のベースポインタとして使用す
ることもできます。
図 2.6-10 に , プログラムカウンタを示します。
図 2.6-10 プログラムカウンタ
PCB
FEH
PC
ABCDH
次に実行する命令
FEABCDH
34
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
2.6.5
第 2 章 CPU
2.6 レジスタ
バンクレジスタ (PCB, DTB, USB, SSB, ADB)
バンクレジスタは , プログラム空間 , データ空間 , ユーザスタック空間 , システムス
タック空間 , アディショナル空間の配置されるメモリバンクを示します。
■ バンクレジスタ (PCB, DTB, USB, SSB, ADB)
バンクレジスタには , 以下に示す 5 つのレジスタがあります。
• プログラムカウンタバンクレジスタ (PCB) < 初期値 : リセットベクタ中の値 >
• データバンクレジスタ (DTB) < 初期値 :00H>
• ユーザスタックバンクレジスタ (USB) < 初期値 :00H>
• システムスタックバンクレジスタ (SSB) < 初期値 :00H>
• アディショナルデータバンクレジスタ (ADB)< 初期値 :00H>
各バンクレジスタは , PC, DT, SP( ユーザ ), SP( システム ), AD の各空間が配置されるメ
モリバンクを示します。
すべてのバンクレジスタは 1 バイト長であり , リセットにより PCB は "00H" に初期化
されます。PCB 以外のバンクレジスタは読出しのみができます。PCB も読出しできま
すが , 書込みはできません。
16M バイト全空間に分岐する JMPP, CALLP, RETP, RETI, RETF 命令実行中 , または割
込み発生時に PCB は更新されます。各レジスタの動作は ,「2.2 メモリ空間」を参照し
てください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
35
第 2 章 CPU
2.6 レジスタ
2.6.6
MB90335 シリーズ
ダイレクトページレジスタ (DPR)
ダイレクトページレジスタ (DPR) は , ダイレクトアドレッシングモードのアドレス
8 ∼アドレス 15 を指定します。
■ ダイレクトページレジスタ (DPR) < 初期値 :01H>
ダイレクトページレジスタ (DPR) は , 図 2.6-11 に示すように , ダイレクトアドレッシン
グモードでの命令オペランドのアドレス 8 ∼アドレス 15 を指定します。DPR は 8 ビッ
ト長であり , リセットにより "01H" に初期化されます。また , 命令により読出し / 書込
みができます。
図 2.6-11 に , ダイレクトアドレッシングモードにおける物理アドレスの生成を示しま
す。
図 2.6-11 ダイレクトアドレッシングモードにおける物理アドレスの生成
DTBレジスタ
ααααααααα
DPRレジスタ
ββββββββ
命令中のダイレクトアドレス
γγγγγγγγ
MSB
LSB
24ビット
物理アドレス
αααααααααββββββββγγγγγγγγ
36
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 2 章 CPU
2.7 レジスタバンク
MB90335 シリーズ
2.7
レジスタバンク
レジスタバンクは 8 ワードで構成され , バイトレジスタ (R0 ∼ R7), ワードレジスタ
(RW0 ∼ RW7), ロングワードレジスタ (RL0 ∼ RL3) の汎用レジスタとして各種演算 ,
ポインタとして各種命令に使用できます。(RL0 ∼ RL3) は , メモリ空間の全空間を直
接アクセスするリニアポインタとしても使用できます。
■ レジスタバンク
表 2.7-1 に , 各レジスタの機能を , 表 2.7-2 に各レジスタの関係を示します。
レジスタバンクの内容は , 通常の RAM 同様にリセットでは初期化されず , リセット前
の状態が保持されます。ただし , パワーオン時は不定値になります。
表 2.7-1 各レジスタの機能
R0 ∼ R7
各種命令のオペランドとして使用
( 注意事項 ) R0 はバレルシフトのカウンタおよびノーマライズ命
令のカウンタとしても使用
RW0 ∼ RW7
ポインタ , 各種命令のオペランドとして使用
( 注意事項 ) RW0 はストリング命令のカウンタとしても使用
RL0 ∼ RL3
ロングポインタ , 各種命令のオペランドとして使用
表 2.7-2 各レジスタの関係
アドレス
バイトレジスタ
000180H + RP × 10H + 0
ワードレジスタ
ロングワードレジスタ
RW7
000180H + RP × 10H + 1
RL3
000180H + RP × 10H + 2
RW6
000180H + RP × 10H + 3
000180H + RP × 10H + 4
RW5
000180H + RP × 10H + 5
RL2
000180H + RP × 10H + 6
RW4
000180H + RP × 10H + 7
000180H + RP × 10H + 8
R7
000180H + RP × 10H + 9
R6
000180H + RP × 10H + 10
R5
000180H + RP × 10H + 11
R4
000180H + RP × 10H + 12
R3
000180H + RP × 10H + 13
R2
000180H + RP × 10H + 14
R1
000180H + RP × 10H + 15
R0
CM44-10137-6
RW3
RL1
RW2
RW1
RL0
RW0
FUJITSU MICROELECTRONICS LIMITED
37
第 2 章 CPU
2.8 プリフィックスコード
2.8
MB90335 シリーズ
プリフィックスコード
命令の前にプリフィックスコードを置くことで , 命令動作の一部を変更することが
できます。プリフィックスコードには , バンクセレクトプリフィックス , コモンレジ
スタバンクプリフィックス , フラグ変化抑止プリフィックスの 3 種類があります。
■ バンクセレクトプリフィックス
データアクセスのときに使用されるメモリ空間はアドレッシングごとに定められてい
ます。バンクセレクトプリフィックスを命令の前に置くことで , 命令によるデータアク
セスのメモリ空間をアドレッシングモードとは無関係に任意に選択することができま
す。
表 2.8-1 に , バンクセレクトプリフィックスと選択されるメモリ空間を示します。
表 2.8-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
MOVW io,A
MOVB io:bp,A
BBS io:bp,rel
MOV io,A
MOV io,#imm8
SETB io:bp
WBTC
MOVX A,io
MOVW io,#imm16
CLRB io:bp
WBTS
MOVW A,io
MOVB A,io:bp
BBC io:bp,rel
プリフィックスの有無にかかわらず , バンクの I/O 空間を使用します。
● フラグ変更命令 [AND CCR,#imm8 / OR CCR,#imm8]
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
38
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 2 章 CPU
2.8 プリフィックスコード
● POPW PS
プリフィックスの有無にかかわらず , S フラグに応じて SSB または USB を使用します。
プリフィックスの効果が次の命令まで及びます。
● 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 は命令の仕様どおり変化します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
39
第 2 章 CPU
2.8 プリフィックスコード
MB90335 シリーズ
● JCTX @A
プリフィックスの有無にかかわらず , CCR は命令の仕様どおり変化します。
● MOV ILM,imm8
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
40
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 2 章 CPU
2.9 割込み抑止命令
MB90335 シリーズ
2.9
割込み抑止命令
以下に示す 10 種類の命令については , 割込み要求が受け付けられません。
MOV ILM, #imm8
AND CCR, #imm8
PCB
ADB
SPB
CMR
OR CCR, #imm8
POPW PS
NCC
DTB
■ 割込み抑止命令
図 2.9-1 に示すように,この命令実行中に有効なハードウェア割込み要求が発生しても,
割込み処理が行われるのは , この命令以降にこの種類以外の命令が実行された後にな
ります。
図 2.9-1 割込み抑止命令
割込み抑止命令
••••••••
•••
(a)
(a) 普通の命令
割込み要求発生
割込み受付け
■ 割込み抑止命令とプリフィックス命令に関する制約
図 2.9-2 に示すように , 割込み抑止命令の前にプリフィックスコードを付加した場合 ,
プリフィックスコードの効果は , プリフィックスコード後の最初の〔割込み抑止命令以
外の命令〕まで及びます。
図 2.9-2 割込み抑止命令とプリフィックスコード
割込み抑止命令
MOV A, FFH
NCC
••••
MOV ILM,#imm8
ADD A,01H
CCR:XXX10XXB
CCR:XXX10XXB
NCC により CCR は変化しません。
■ プリフィックスコードが連続している場合
図 2.9-3 に示すように , 競合するプリフィックスコードが連続していた場合には後方の
ものが有効になります。
競合するプリフィックスコードとは PCB, ADB, DTB, SPB のことを意味します。
図 2.9-3 プリフィックスコードの連続
プリフィックスコード
•••••
ADB
DTB
PCB
ADD A,01H
•••••
プリフィックスコードは
PCB が有効になります。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
41
第 2 章 CPU
2.9 割込み抑止命令
42
MB90335 シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第3章
割込み
MB90335 シリーズの割込みと拡張インテリジェン
ト I/O サービス (EI2OS), ダイレクトメモリアクセ
スコントローラ (μDMAC) について説明します。
3.1 割込みの概要
3.2 割込み要因と割込みベクタ
3.3 割込み制御レジスタと周辺機能
3.4 ハードウェア割込み
3.5 ソフトウェア割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による
割込み
3.7 例外処理割込み
3.8 μDMAC による割込み
3.9 例外
3.10 割込み処理のスタック動作
3.11 割込み処理のプログラム例
3.12 遅延割込み発生モジュール
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
43
第 3 章 割込み
3.1 割込みの概要
3.1
MB90335 シリーズ
割込みの概要
F2MC-16LX にはイベントなどが発生したとき , 現在実行中の処理を中断して , 別に
定義したプログラムへ制御を移す以下の 5 つの割込み機能があります。
• ハードウェア割込み
• ソフトウェア割込み
• 拡張インテリジェント I/O サービス (EI2OS) による割込み
• μDMAC による割込み
• 例外処理
■ 割込みの種類と機能
● ハードウェア割込み
周辺機能からの割込み要求に対して , ユーザの定義した割込み処理用プログラムへ制
御を移行する機能です。
図 3.1-1 ハードウェア割込みの概要
PS
バス
レジスタファイル
F2MC-16LX
マイクロコード
F2MC-16LX
ILM
I
IR
比較器
チェック
PS
I
ILM
IR
: プロセッサステータス
: 割込み許可フラグ
: 割込みレベルマスクレジスタ
: インストラクションレジスタ
CPU
周辺
割
込
み
レ
ベ
ル
IL
レ
ベ
ル
比
較
器
許可 FF
AND
要因 FF
割込み
コントローラ
● ソフトウェア割込み
ソフトウェア割込み専用の命令 (INT 命令など ) の実行によって , ユーザの定義した割
込み処理用プログラムへ制御を移行する機能です。
F2MC-16LX
バス
図 3.1-2 ソフトウェア割込みの概要
レジスタ
ファイル
PS
マイクロ
コード
F2MC-16LX
I
S
ILM
B ユニット
IR
キュー
フェッチ
CPU
PS
: プロセッサステータス
I
: 割込み許可フラグ
S
: スタックフラグ
ILM : 割込みレベルマスクレジスタ
IR
: インストラクションレジスタ
B ユニット : Bus interface ユニット
退避
命令系バス
RAM
44
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.1 割込みの概要
MB90335 シリーズ
● 拡張インテリジェント I/O サービス (EI2OS) による割込み
EI2OS は周辺機能とメモリ間の自動データ転送機能です。従来 , 割込み処理プログラム
で行っていたデータ転送を DMA( ダイレクトメモリアクセス ) のように行うことがで
きます。指定回数のデータ転送処理が終了すると , 自動的に割込み処理プログラムを実
行します。
EI2OS による割込みは , ハードウェア割込みの一種です。
図 3.1-3 拡張インテリジェント I/O サービス (EI2OS) の概要
IOA
メモリ空間
I/O レジスタ
I/O レジスタ
CPU
周辺
①
割込み要求
③
ISD
ICS
割込み制御レジスタ
②
③
割込みコントローラ
BAP
④
CM44-10137-6
バッファ
DCT
① I/O が転送を要求します。
② 割込みコントローラがディスクリプタ
を選択します。
③ 転送元 / 先をディスクリプタから読み出
します。
④ I/O とメモリ間で転送が行われます。
FUJITSU MICROELECTRONICS LIMITED
45
第 3 章 割込み
3.1 割込みの概要
MB90335 シリーズ
● μDMAC による割込み
μDMAC は周辺機能とメモリ間の自動データ転送機能です。従来 , 割込み処理プログラ
ムで行っていたデータ転送を DMA 転送で行います。指定回数のデータ転送処理が終
了すると , 自動的に割込み処理プログラムを実行します。
μDMAC による割込みは , ハードウェア割込みの一種です。
図 3.1-4 ダイレクト・メモリアクセス (DMA) の概要
メモリ空間
IOA
I/O レジスタ
I/O レジスタ
(4)(a)
周辺機能
ディスクリプタ用
RAM
( I/O )
(1)
(2)
(3)
DMA コントローラ
(2)
(4)(b)
BAP
バッファ
CPU
DMA
ディスクリプタ
割込み
コントローラ
DCT
IOA:I/O アドレスポインタ
BAP:バッファアドレスポインタ
DER:DMA許可レジスタ
DCT:データカウンタ
(1) 周辺リソース (I/O) が DMA 転送を要求します。
(2) DMA 許可レジスタ (DER) の対応するビットが "1" の場合に , DMAC コントローラ
は転送データ ( 転送元アドレス・転送先アドレス・転送チャネル ) をディスクリプタから読み出します。
(3) I/O とメモリ空間で DMA データ転送を開始する。
(4) 1 つのアイテム ( バイト・データまたはワード・データのいずれかの ) 転送後に
(a) 転送終了でないとき (DCT=0 でない ) : 周辺リソースへ DMA 転送要求をクリアすることを要求します。
(b) 転送終了時 (DCT=0 のとき ) :
DMA 転送終了後 , DMA ステータスレジスタに転送終了のフラグを
セットし , 割込み要求を割込みコントローラへ出力します。
( 注意事項 ) 内部レジスタ (DSRH, DSRL, DSSR, DERH, DERL) への書き込みを行う場合 , RMW ( リードモディファ
イライト ) 系の命令を使用してください。
● 例外処理
例外処理は , 基本的には割込みと同じものであり , 命令の境目で例外事項 ( 未定義命令
の実行 ) が発生したことを検出した段階で , 通常処理を中断して行われます。ソフト
ウェア割込み命令の "INT10" と等価です。
46
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.2 割込み要因と割込みベクタ
MB90335 シリーズ
割込み要因と割込みベクタ
3.2
F2MC-16LX には , 256 種類の割込み要因に対応する機能があり , メモリの最上位ア
ドレスに 256 組の割込みベクタテーブルを割り当てています。この割込みベクタは ,
すべての割込みで共有します。
ソフトウェア割込みは , このすべての割込み (INT0 ∼ INT255) を使用できますが , 一
部の割込みベクタはハードウェア割込みや例外処理割込みで共有されています。ま
た , ハードウェア割込みでは , 各周辺機能に対し , 割込みベクタと割込み制御レジス
タ (ICR) が固定されています。
■ 割込みベクタ
割込み処理の際に参照する割込みベクタテーブルは , メモリ領域の最上位アドレス
(FFFC00H ∼FFFFFFH)に割り当てられています。また, 割込みベクタは, EI2OS, μDMAC,
ハードウェア割込み , ソフトウェア割込みおよび例外処理で同じ領域を共有していま
す。割込み番号と割込みベクタの割当てを表 3.2-1 に示します。
表 3.2-1 割込みベクタ一覧表
ソフトウェア
割込み命令
ベクタ
アドレス L
ベクタ
アドレス M
ベクタ
アドレス H
モードデータ
割込み No
ハードウェア
割込み
INT0
FFFFFCH
FFFFFDH
FFFFFEH
未使用
#0
なし
:
:
:
:
:
:
:
INT7
FFFFE0H
FFFFE1H
FFFFE2H
未使用
#7
なし
INT8
FFFFDCH
FFFFDDH
FFFFDEH
FFFFDFH
#8
RESET ベクタ
INT9
FFFFD8H
FFFFD9H
FFFFDAH
未使用
#9
なし
INT10
FFFFD4H
FFFFD5H
FFFFD6H
未使用
#10
< 例外処理 >
INT11
FFFFD0H
FFFFD1H
FFFFD2H
未使用
#11
ハードウェア
割込み #0
INT12
FFFFCCH
FFFFCDH
FFFFCEH
未使用
#12
ハードウェア
割込み #1
INT13
FFFFC8H
FFFFC9H
FFFFCAH
未使用
#13
ハードウェア
割込み #2
INT14
FFFFC4H
FFFFC5H
FFFFC6H
未使用
#14
ハードウェア
割込み #3
:
:
:
:
:
:
:
INT254
FFFC04H
FFFC05H
FFFC06H
未使用
#254
なし
INT255
FFFC00H
FFFC01H
FFFC02H
未使用
#255
なし
<参考>
使われない割込みベクタも , 例外処理などのアドレスに設定することを推奨します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
47
第 3 章 割込み
3.2 割込み要因と割込みベクタ
MB90335 シリーズ
■ 割込み要因と割込みベクタ / 割込み制御レジスタ
表 3.2-2 に , ソフトウェア割込みを除く割込み要因と割込みベクタおよび割込み制御レ
ジスタの関係を示します。
表 3.2-2 割込み要因と割込みベクタ / 割込み制御レジスタ (1 / 2)
割込み要因
EI2OS
対応
割込み制御
レジスタ
割込みベクタ
μDMAC
対応
番号
優先度 *2
アドレス
ICR
アドレス
リセット
×
×
#08
08H
FFFFDCH
―
―
INT9 命令
×
×
#09
09H
FFFFD8H
―
―
例外処理
×
×
#10
0AH
FFFFD4H
―
―
USB ファンクション 1
×
0, 1
#11
0BH
FFFFD0H
ICR00
#12
0CH
FFFFCCH
000B0H*1
ICR01
0000B1H*1
ICR02
0000B2H*1
ICR03
0000B3H*1
ICR04
0000B4H*1
ICR05
0000B5H*1
ICR06
0000B6H*1
ICR07
0000B7H*1
ICR08
0000B8H*1
ICR09
0000B9H*1
ICR10
0000BAH*1
ICR11
0000BBH*1
*3
USB ファンクション 2
×
USB ファンクション 3
×
×
#13
0DH
FFFFC8H
USB ファンクション 4
×
×
#14
0EH
FFFFC4H
USB ホスト 1
×
×
#15
0FH
FFFFC0H
10H
FFFFBCH
11H
FFFFB8H
2∼6
USB ホスト 2
×
×
#16
I2C ch.0
×
×
#17
DTP/ 外部割込み ch.0/ch.1
○
×
#18
12H
FFFFB4H
なし
−
−
#19
13H
FFFFB0H
DTP/ 外部割込み ch.2/ch.3
○
×
#20
14H
FFFFACH
なし
−
−
#21
15H
FFFFA8H
FFFFA4H
DTP/ 外部割込み ch.4/ch.5
○
×
#22
16H
PWC・リロードタイマ ch.0
△
14
#23
17H
FFFFA0H
DTP/ 外部割込み ch.6/ch.7
△
×
#24
18H
FFFF9CH
なし
−
−
#25
19H
FFFF98H
なし
−
−
#26
1AH
FFFF94H
なし
−
−
#27
1BH
FFFF90H
FFFF8CH
なし
−
−
#28
1CH
なし
−
−
#29
1DH
FFFF88H
PPG ch.0/ch.1
×
×
#30
1EH
FFFF84H
なし
−
−
#31
1FH
FFFF80H
PPG ch.2/ch.3
×
×
#32
20H
FFFF7CH
なし
−
−
#33
21H
FFFF78H
#34
22H
FFFF74H
なし
48
−
−
FUJITSU MICROELECTRONICS LIMITED
強
CM44-10137-6
第 3 章 割込み
3.2 割込み要因と割込みベクタ
MB90335 シリーズ
表 3.2-2 割込み要因と割込みベクタ / 割込み制御レジスタ (2 / 2)
割込み要因
番号
−
なし
−
#35
23H
−
#36
24H
FFFF6CH
UART 送信完了 ch.0/ch.1
○
13
#37
25H
FFFF68H
拡張シリアル I/O
×
9
#38
26H
FFFF64H
UART 受信完了 ch.0/ch.1
◎
12
#39
27H
FFFF60H
28H
FFFF5CH
29H
FFFF58H
タイムベースタイマ
×
×
フラッシュメモリ書込み / 消去
×
×
#41
×
×
#42
2AH
アドレス
ICR12
0000BCH*1
ICR13
0000BDH*1
ICR14
0000BEH*1
ICR15
0000BFH*1
FFFF70H
−
#40
ICR
アドレス
なし
遅延割込み発生モジュール
割込み制御
レジスタ
割込みベクタ
EI2OS μDMAC
対応
対応
FFFF54H
優先度 *2
弱
◎ : 使用可能 EI2OS 停止機能付 ( 割込みクリア信号で , 割込み要求フラグはクリアされます。ストップ
要求あり。)
○ : 使用可能 ( 割込みクリア信号で , 割込み要求フラグはクリアされます。)
△ : ICR を共有する割込み要因を使用しない場合に使用可能
× : 使用不可
*1: ICR を共用している周辺機能は , 割込みレベルが同一になります。
*2: 同時に同じレベルの割込みが発生した場合の優先度です。
*3: ch.2, ch.3 は USB ホスト動作時でも使用できます。
<注意事項>
• 同一割込み番号に 2 つの割込み要因があった場合は , リソースは両方の割込み要求フラ
グが μDMAC 割込みクリア信号でクリアされます。したがって , 2 要因のどちらか 1 つ
が μDMAC 機能を使用すると , もう 1 つの割込み機能は使用できません。該当リソース
の割込み要求許可ビットを "0" にして , ソフトウェアポーリング処理で対処してくださ
い。
• 同一割込み制御レジスタ (ICR) に 2 つの割込み要因がある場合は EI2OS の使用を許可
した場合 , どちらかの割込み要因を検出すると EI2OS が起動されます。EI2OS 起動中
は起動要因以外の割込みはマスク されますので , EI2OS 使用時はどちらかの割込み要
求をマスクして使用されることを推奨致します。
• 同一割込み制御レジスタ (ICR) に 2 つの割込み要因があるリソースは , 割込みフラグが
EI2OS 割込みクリア信号でクリアされます。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
49
第 3 章 割込み
3.2 割込み要因と割込みベクタ
MB90335 シリーズ
■ USB 割込みの種類と機能
USB 割込み要因
詳細内容
USB ファンクション 1
End Point0-IN EndPoint0-OUT
USB ファンクション 2
End Point1-End Point5 *
USB ファンクション 3
SUSP SOF BRST WKUP CONF
USB ファンクション 4
SPK
USB ホスト 1
DIRQ CNNIRQ URIRQ RWKIRQ
USB ホスト 2
SOFIRQ CMPIRQ
*: End Point 1, 2 は USB ホスト動作時でも使用できます。
50
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.3 割込み制御レジスタと周辺機能
MB90335 シリーズ
3.3
割込み制御レジスタと周辺機能
割込み制御レジスタ (ICR00 ∼ ICR15) は , 割込みコントローラ内にあり , 割込み機
能を持つすべての周辺機能に対応して存在します。このレジスタは , 割込みと拡張
インテリジェント I/O サービス (EI2OS) の制御を行います。
■ 割込み制御レジスタ一覧
表 3.3-1 に , 割込み制御レジスタと対応する周辺機能の一覧を示します。
表 3.3-1 割込み制御レジスタ一覧
アドレス
レジスタ
略称
0000B0H
割込み制御レジスタ 00
ICR00
USB ファンクション 1,
USB ファンクション 2
0000B1H
割込み制御レジスタ 01
ICR01
USB ファンクション 3,
USB ファンクション 4
0000B2H
割込み制御レジスタ 02
ICR02
USB ホスト 1, USB ホスト 2
0000B3H
割込み制御レジスタ 03
ICR03
I2C ch.0, DTP 外部割込み ch.0/ch.1
0000B4H
割込み制御レジスタ 04
ICR04
DTP 外部割込み ch.2/ch.3
0000B5H
割込み制御レジスタ 05
ICR05
DTP 外部割込み ch.4/ch.5
0000B6H
割込み制御レジスタ 06
ICR06
PWC, リロードタイマ ch.0,
DTP 外部割込み ch.6/ch.7
0000B7H
割込み制御レジスタ 07
ICR07
―
0000B8H
割込み制御レジスタ 08
ICR08
―
0000B9H
割込み制御レジスタ 09
ICR09
PPG ch.0/ch.1
0000BAH
割込み制御レジスタ 10
ICR10
PPG ch.2/ch.3
0000BBH
割込み制御レジスタ 11
ICR11
―
0000BCH
割込み制御レジスタ 12
ICR12
―
0000BDH
割込み制御レジスタ 13
ICR13
UART 送信 ch.0/ch.1, 拡張シリアル I/O
0000BEH
割込み制御レジスタ 14
ICR14
UART 受信 ch.0/ch.1, タイマベースタイマ
0000BFH
割込み制御レジスタ 15
ICR15
フラッシュ書込み ,
遅延割込み発生モジュール
CM44-10137-6
対応する周辺機能
FUJITSU MICROELECTRONICS LIMITED
51
第 3 章 割込み
3.3 割込み制御レジスタと周辺機能
MB90335 シリーズ
■ 割込み制御レジスタの機能
割込み制御レジスタ (ICR) には , それぞれ次に示す 4 つの機能があります。
• 対応する周辺機能の割込みレベルの設定
• 対応する周辺機能の割込みを通常割込みにするか , 拡張インテリジェント I/O サー
ビス (EI2OS) にするかの選択
•
拡張インテリジェント I/O サービス (EI2OS) のチャネルの選択
• 拡張インテリジェント I/O サービス (EI2OS) ステータスの表示
割込み制御レジスタ (ICR) は , 図 3.3-1 と図 3.3-2 に示すように , 書込み時と読出し
時で一部機能が異なります。
<注意事項>
割込み制御レジスタ (ICR) に対するリードモディファイライト系命令でのアクセスは , 誤
動作を引き起こしますので行わないでください。
52
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.3 割込み制御レジスタと周辺機能
MB90335 シリーズ
割込み制御レジスタ (ICR00 ∼ ICR15)
3.3.1
割込み制御レジスタ (ICR00 ∼ ICR15) は , 割込み機能を持つすべての周辺機能に対
応し , 割込み要求発生時の処理を制御します。このレジスタは , 書込み時と読出し時
では , 一部の機能が異なります。
■ 割込み制御レジスタ (ICR00 ∼ ICR15)
図 3.3-1 割込み制御レジスタ (ICR00 ∼ ICR15) 書込み時
書込み時
アドレス
0000B0H
~
0000BFH
MSB
ICS3 ICS2 ICS1 ICS0
ISE
IL2
IL1
IL2
0
LSB
初期値
IL0
00000111B
割込みレベル設定ビット
割込みレベル0(最強)
IL1 IL0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
割込みレベル7(割込みなし)
ISE
EI2OS許可ビット
0
割込み発生時に割込みシーケンスを起動
1
割込み発生時にEI2OSを起動
ICS3 ICS2 ICS1 ICS0
MSB : 最上位ビット
LSB : 最下位ビット
:初期値
CM44-10137-6
EI2OSチャネル選択ビット
チャネル ディスクリプタアドレス
0
0
0
0
0
0
0
1
0
000100H
1
0
0
1
0
2
000108H
000110H
0
0
1
1
3
000118H
0
1
0
0
4
000120H
0
1
0
1
5
000128H
0
1
1
0
6
000130H
0
1
1
1
7
000138H
1
0
0
0
8
000140H
1
0
0
1
9
000148H
1
0
1
0
10
000150H
1
0
1
1
11
000158H
1
1
0
0
12
1
1
0
1
13
000160H
000168H
1
1
1
0
14
000170H
1
1
1
1
15
000178H
FUJITSU MICROELECTRONICS LIMITED
53
第 3 章 割込み
3.3 割込み制御レジスタと周辺機能
MB90335 シリーズ
図 3.3-2 割込み制御レジスタ (ICR00 ∼ ICR15) 読出し時
読出し時
アドレス
0000B0H
~
0000BFH
MSB
-
LSB
-
S1
S0
ISE
IL2
IL1
IL2
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
- : 未定義
: 初期値
54
- - 000111 B
IL1 IL0
0
ISE
0
MSB : 最上位ビット
LSB : 最下位ビット
IL0
初期値
割込みレベル設定ビット
割込みレベル0(最強)
割込みレベル7(割込みなし)
EI2OS許可ビット
割込み発生時に割込みシーケンスを起動
割込み発生時にEI2OSを起動
EI2OSステータス
S1
S0
0
0
0
1
EI2OS動作中あるいは非起動時
カウント終了による停止状態
1
0
予約
1
1
周辺機能からの要求による停止状態
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.3 割込み制御レジスタと周辺機能
MB90335 シリーズ
割込み制御レジスタの機能
3.3.2
割込み制御レジスタ (ICR00 ∼ ICR15) は , 次に示す 4 つの機能を持つビットで構成
されています。
• 割込みレベル設定ビット (IL2 ∼ IL0)
• 拡張インテリジェント I/O サービス (EI2OS) 許可ビット (ISE)
• 拡張インテリジェント I/O サービス (EI2OS) チャネル選択ビット (ICS3 ∼ ICS0)
• 拡張インテリジェント I/O サービス (EI2OS) ステータス (S1, S0)
■ 割込み制御レジスタ (ICR) の構成
図 3.3-3 に , 割込み制御レジスタ (ICR) のビット構成図を示します。
図 3.3-3 割込み制御レジスタ (ICR) の構成
割込み制御レジスタ (ICR) 書込み時
アドレス
0000B0H ∼ 0000BFH
MSB
ICS3
LSB
ICS2
ICS1
ICS0
ISE
IL2
IL1
IL0
初期値
00000111B
S1
S0
ISE
IL2
IL1
LSB
IL0
初期値
--000111B
割込み制御レジスタ (ICR) 読出し時
アドレス
0000B0H ∼ 0000BFH
MSB
-
-
MSB : 最上位ビット
LSB : 最下位ビット
- : 未定義
<参考>
•
ICS3 ∼ ICS0 ビットは , 拡張インテリジェント I/O サービス (EI2OS) を起動する場合
だけ有効となります。EI2OS を起動する場合は ISE ビットを "1" に設定し , 起動しない
場合は ISE ビットを "0" に設定してください。EI2OS を起動しない場合は , ICS3 ∼
ICS0 を設定しなくても構いません。
•
ICS1 と ICS0 は書込み時だけ , S1 と S0 は読出し時だけ , それぞれ有効です。
<注意事項>
上位 2 ビットの読出し値は不定です。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
55
第 3 章 割込み
3.3 割込み制御レジスタと周辺機能
MB90335 シリーズ
■ 割込み制御レジスタの機能
● 割込みレベル設定ビット (IL2 ∼ IL0)
対応する周辺機能の割込みレベルを指定します。リセットによりレベル 7( 割込みなし )
に初期化されます。割込みレベル設定ビットと各割込みレベルとの関係を , 表 3.3-2 に
示します。
表 3.3-2 割込みレベル設定ビットと割込みレベルの対応
IL2
IL1
IL0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
6 ( 最弱割込み )
1
1
1
7( 割込みなし )
割込みレベル
0 ( 最強割込み )
● 拡張インテリジェント I/O サービス (EI2OS) 許可ビット (ISE)
割込み要求の発生時に ISE ビットが "1" であると EI2OS が起動され , "0" のときは割込
みシーケンスが起動されます。また , EI2OS の終了条件が成立 (S1, S0 ビットが "00B" 以
外 ) したとき , ISE ビットはクリアされます。対応する周辺機能に EI2OS の機能がない
ときには , ソフトウェアで ISE ビットを "0" にしておく必要があります。ISE ビットは
リセットで "0" に初期化されます。
● 拡張インテリジェント I/O サービス (EI2OS) チャネル選択ビット (ICS3 ∼ ICS0)
書込み専用のビットで, EI2OSのチャネルを指定します。ここで設定された値によって,
EI2OS ディスクリプタのアドレスが決定します。ICS ビットはリセットで , "0000B" に
初期化されます。表 3.3-3 に EI2OS チャネル選択ビットとディスクリプタアドレスの対
応を示します。
56
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.3 割込み制御レジスタと周辺機能
MB90335 シリーズ
表 3.3-3 EI2OS チャネル選択ビットとディスクリプタアドレスの対応
ICS3
ICS2
ICS1
ICS0
セレクトされる
チャネル
ディスクリプタ
アドレス
0
0
0
0
0
000100H
0
0
0
1
1
000108H
0
0
1
0
2
000110H
0
0
1
1
3
000118H
0
1
0
0
4
000120H
0
1
0
1
5
000128H
0
1
1
0
6
000130H
0
1
1
1
7
000138H
1
0
0
0
8
000140H
1
0
0
1
9
000148H
1
0
1
0
10
000150H
1
0
1
1
11
000158H
1
1
0
0
12
000160H
1
1
0
1
13
000168H
1
1
1
0
14
000170H
1
1
1
1
15
000178H
● 拡張インテリジェント I/O サービス (EI2OS) ステータスビット (S1, S0)
読出し専用のビットです。EI2OS 終了時にこの値を調べると , 動作状態や終了状態を判
別できます。リセットで "00B" に初期化されます。表 3.3-4 に , S0, S1 ビットと EI2OS
ステータスの関係について示します。
表 3.3-4 EI2OS ステータスビットと EI2OS ステータスの関係
CM44-10137-6
S1
S0
0
0
EI2OS 動作中あるいは非起動時
0
1
カウント終了による停止状態
1
0
予約
1
1
周辺機能からの要求による停止状態
EI2OS ステータス
FUJITSU MICROELECTRONICS LIMITED
57
第 3 章 割込み
3.4 ハードウェア割込み
3.4
MB90335 シリーズ
ハードウェア割込み
ハードウェア割込みは , 周辺機能からの割込み要求信号に対応して , CPU がそれま
で実行していたプログラムの実行を一時中断し , ユーザの定義した割込み処理用プ
ログラムに制御を移行する機能です。また , 拡張インテリジェント I/O サービス
(EI2OS) や μDMAC, 外部割込みなどもハードウェア割込みの一種として実行されま
す。
■ ハードウェア割込みの機能
● ハードウェア割込みの機能
ハードウェア割込みは , 周辺機能が出力する割込み要求信号の割込みレベルと , CPU の
プロセッサステータス (PS) 内の割込みレベルマスクレジスタ (ILM) の比較およびプロ
セッサステータス (PS) 内の I フラグの内容をハードウェアで参照し , 割込みが受け付
けられるかどうかを判定します。
ハードウェア割込みが受け付けられると , 自動的に CPU 内部のレジスタ類をシステム
スタックへ退避し, 割込みレベルマスクレジスタ(ILM)に現在要求している割込みレベ
ルを格納したあと , 対応する割込みベクタへ分岐します。
● 多重割込み
ハードウェア割込みは , 多重に起動できます。
● 拡張インテリジェント I/O サービス (EI2OS)
EI2OS, メモリと I/O 間の自動転送機能ですが , 転送完了時に , ハードウェア割込みが起
動されます。なお , EI2OS は多重に起動されることはなく , ある EI2OS の処理中は , ほ
かの割込み要求および μDMAC 要求はすべて保留されます。
● μDMAC
μDMAC は , メモリと I/O 間の自動転送機能ですが , 転送完了時に , ハードウェア割込み
が起動されます。なお , μDMAC は多重に起動されることはなく , ある μDMAC の処理
中は , ほかの割込み要求および EI2OS 要求はすべて保留されます。
● 外部割込み
外部割込み ( ウェイクアップ割込みを含む ) は , 周辺機能 ( 割込み要求検出回路 ) を通
じて , ハードウェア割込みとして受け付けられます。
● 割込みベクタ
割込み処理の際に参照する割込みベクタテーブルは , メモリ FFFC00H ∼ FFFFFFH に割
り当ててあり , ソフトウェア割込みと共用しています。割込み番号と割込みベクタの割
当てについては , 「3.2 割込み要因と割込みベクタ」を参照してください。
58
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.4 ハードウェア割込み
MB90335 シリーズ
■ ハードウェア割込みの構造
ハードウェア割込みに関連する機構は , 表 3.4-1 に示す 4 つの部分に分かれて存在しま
す。ハードウェア割込みを使用する場合はあらかじめ , プログラムでこの 4 箇所を設定
する必要があります。
表 3.4-1 ハードウェア割込みに関連する機構
ハードウェア割込みに関する
機構
周辺機能
割込みコントローラ
CPU
メモリ上の
FFFC00H ∼ FFFFFFH
機 能
割込み許可ビット , 割込み要求
ビット
周辺機能からの割込み要求の制御
割込み制御レジスタ (ICR)
割込みレベルの設定
割込み許可フラグ (I)
割込み許可状態の識別
割込みレベルマスクレジスタ
(ILM)
要求割込みレベルと現割込みレベルの
比較
マイクロコード
割込み処理ルーチンの実行
割込みベクタテーブル
割込み処理時の分岐先アドレスを格納
■ ハードウェア割込み抑止
ハードウェア割込みは , 以下の条件のとき割込み要求の受付けが抑止されます。
● 周辺機能制御レジスタ領域への書込み中のハードウェア割込み抑止
周辺機能制御レジスタ領域への書込み中は , ハードウェア割込み要求を受け付けませ
ん。これは各リソースの割込み制御レジスタ関係の書換えを行っている最中の割込み
要求に対して , CPU が割込み関係で誤動作を起こすことを避けるためです。周辺機能
制御レジスタ領域とは , 000000H ∼ 0000FFH の I/O アドレッシング領域のことではなく ,
周辺機能制御レジスタの制御レジスタおよびデータレジスタに割り当てられている領
域のことを示します。
図 3.4-1 に , 周辺機能制御レジスタ領域へ書込み中のハードウェア割込み動作について
示します。
図 3.4-1 周辺機能制御レジスタ領域へ書込み中のハードウェア割込み要求
周辺機能制御レジスタ領域への書込み命令
MOV
A,#08
MOV
io,A
ここで割込み
要求発生
CM44-10137-6
MOV A,2000H
割込みに
分岐しない
FUJITSU MICROELECTRONICS LIMITED
割込み処理
割込みに
分岐する
59
第 3 章 割込み
3.4 ハードウェア割込み
MB90335 シリーズ
● 割込み抑止命令のハードウェア割込み抑止
ハードウェア割込み抑止命令を表 3.4-2 に示します。ハードウェア割込み抑止命令を実
行中にハードウェア割込み要求が発生した場合は , ハードウェア割込み抑止命令処理
後 , ほかの命令が実行された後に割込み処理が行われます。
表 3.4-2 ハードウェア割込み抑止命令
プリフィッ
クスコード
割込みやホールド要求
を受け付けない命令
PCB
DTB
ADB
SPB
CMR
NCC
割込み / ホールド抑止命令
( プリフィックスコードの効果を遅延させる命令 )
MOV ILM, #imm8
OR CCR, #imm8
AND CCR, #imm8
POPW PS
● ソフトウェア割込み実行中のハードウェア割込み抑止
ソフトウェア割込みを起動すると , I フラグを "0" にクリアするために , ほかの割込み
要求は受け付けられません。
60
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 3 章 割込み
3.4 ハードウェア割込み
ハードウェア割込みの動作
3.4.1
ハードウェア割込み要求発生から , 割込み処理完了までの動作について説明します。
■ ハードウェア割込みの起動
● 周辺機能の動作 ( 割込み要求の発生 )
ハードウェア割込み要求の機能を持つ周辺機能は , 割込みの要求のあり / なしを示す
「割込み要求フラグ」と , CPU への割込み要求の許可 / 禁止を選択する「割込み許可フ
ラグ」を持っています。割込み要求フラグは , 周辺機能固有のイベントの発生によって
セットされ , 割込み許可フラグが「許可」であったときに , 割込みコントローラへ割込
み要求を発生します。
● 割込みコントローラの動作 ( 割込み要求の制御 )
割込みコントローラは , 同時に受け取った割込み要求の割込みレベル (IL) どうしを比
較し , 最も高いレベルの要求 (IL の値の最も小さいもの ) を採択して CPU へ通知しま
す。同一レベルの要求が複数あった場合には , 割込み番号が小さいものを優先します。
● CPU の動作 ( 割込み要求の受付けと割込み処理 )
CPU は受け取った割込みレベル (ICR の IL2 ∼ IL0) と割込みレベルマスクレジスタ
(ILM) とを比較し , IL <ILM で , なおかつ割込みが許可 (PS の CCR の I=1) されている場
合に , 現在実行中の命令が終了後 , 割込み処理マイクロコードを起動し , 割込み処理を
実行します。
割込み処理では , まず , システムスタック (SSB と SSP の示すシステムスタック空間 )
へ専用レジスタ (A, DPR, ADB, DTB, PCB, PC, PS の 12 バイト ) の内容を退避します。
次に , 割込みベクタのプログラムカウンタ (PCB, PC) へのロード , ILM の更新 , スタッ
クフラグ (S) の設定 (CCR の S=1 とし , システムスタックを有効にする ) を行います。
■ ハードウェア割込みからの復帰
割込み処理プログラムの中で , 割込み要因となった周辺機能の割込み要求フラグをク
リアして , RETI 命令を実行すると , システムスタックに退避している 12 バイトデータ
を専用レジスタに戻し , 割込み分岐前に実行していた処理に復帰します。割込み要求フ
ラグをクリアすることで , 周辺機能が割込みコントローラへ出力していた割込み要求
は自動的に取り下げられます。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
61
第 3 章 割込み
3.4 ハードウェア割込み
MB90335 シリーズ
■ ハードウェア割込みの動作
図 3.4-2 に , ハードウェア割込みの発生から割込み処理完了までの動作を示します。
図 3.4-2 ハードウェア割込みの動作
内部バス
PS,PC
PS
(7)
I
ILM
IR
マイクロコード
(6)
チェック
F2MC-16LX CPU
比較器
(5)
(4)
(3)
ほかの周辺機能
割込み要求を発生した周辺機能
レベル
比較器
許可FF
割込み
レベルIL
AND
要因FF
(8)
(2)
(1)
割込みコントローラ
RAM
IL :割込み制御レジスタ(ICR)の割込みレベル設定ビット
PS :プロセッサステータス
I :割込み許可フラグ
ILM:割込みレベルマスクレジスタ
IR :インストラクションレジスタ
FF :フリップフロップ
(1) 周辺機能の内部で割込み要因が発生します。
(2) 周辺機能の割込み許可ビットを参照し , 割込み許可になっていれば , 周辺から割込
みコントローラへ割込み要求を出力します。
(3) 割込み要求を受け取った割込みコントローラは , 同時に要求のあった割込みの優先
順位を判定したうえで , 該当する割込み要求に対応する割込みレベル (IL) を CPU へ
転送します。
(4) CPU は , 割込みコントローラから要求のあった割込みレベル (IL) を , 割込みレベル
マスクレジスタ (ILM) と比較します。
(5) 比較の結果が現在の割込み処理レベルより優先順位が高い場合 , コンディション
コードレジスタ (CCR) の I フラグの内容をチェックします。
(6) 5 のチェックの結果 , I フラグが割込み許可 (I=1) の場合 , 現在実行中の命令の実行
が終了するまで待ち , 終了時点で ILM に要求されたレベル (IL) を設定します。
(7) レジスタを退避し , 割込み処理ルーチンへ分岐します。
(8) 割込み処理ルーチン内のソフトウェアによって, (1)で発生した割込み要因をクリア
し , RETI 命令を実行することによって割込み処理が終了します。
62
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.4 ハードウェア割込み
MB90335 シリーズ
ハードウェア割込みの動作フロー
3.4.2
周辺機能から割込み要求が発生すると , 割込みコントローラは割込みレベルを CPU
に伝達し , CPU が割込みを受け付けられる状態であれば , 現在実行中の命令を一時
中断して割込み処理ルーチンの実行または 拡張インテリジェント I/O サービス
(EI2OS) μDMAC の起動を行います。また , INT 命令によるソフトウェア割込みが発
生した場合は , CPU の状態にかかわらず割込み処理ルーチンを実行します。このと
き , ハードウェア割込みは禁止されます。
■ ハードウェア割込みの動作フロー
図 3.4-3 に , 割込み動作時の処理フローを示します。
図 3.4-3 割込み動作時の処理フロー
START
NO
ENx = 1
YES
指定回数終了か?
または,周辺機能からの
終了要求があるか?
YES
I & IF & IE = 1
AND
ILM > IL
NO
YES
YES
ISE = 1
NO
次の命令の取込みとデコード
NO
PS,PC,PCB,DTB,DPR,Aを
SSPのスタックへ退避
その後ILM=IL
INT命令
拡張インテリジェント
I/Oサービス処理
2
(EI OS処理)
YES
NO
通常命令実行
NO
PS,PC,PCB,DTB,ADB,DPR,A,
をSSPのスタックへ退避
その後,I=O,ILM=IL
ストリング系
命令の繰返し完了
YES
PCの更新
S←1
割込みベクタ取込み
I :コンディションコードレジスタ(CCR)の割込み許可フラグ
IF :周辺機能の割込み要求フラグ
IE :周辺機能の割込み許可フラグ
ILM:CPUレジスタレベル
2
ISE:割込み制御レジスタ(ICR)のEI OS許可フラグ
IL :割込み制御レジスタ(ICR)の割込みレベル設定ビット
CM44-10137-6
S :コンディションコードレジスタ(CCR)の
スタックフラグ
ENx:DMA許可レジスタのDMA起動要求フラグ
FUJITSU MICROELECTRONICS LIMITED
63
第 3 章 割込み
3.4 ハードウェア割込み
MB90335 シリーズ
ハードウェア割込みの使用手順
3.4.3
ハードウェア割込みを使用するには , システムスタック領域 , 周辺機能および割込み
制御レジスタ (ICR) などの設定が必要です。
■ ハードウェア割込みの使用手順
ハードウェア割込みの使用手順の一例を , 図 3.4-4 に示します。
図 3.4-4 ハードウェア割込みの使用手順例
スタート
(1)
システムスタック領域の設定
(2)
周辺機能の初期設定
(3)
割込みコントローラ内の
ICRの設定
周辺機能の動作開始
(4) 設定割込み許可ビット
を許可に設定
(5)
割込み処理プログラム
スタック処理
割込みベクタへ分岐
(7)
ハードウェア
による処理
PS内のILM,Iの設定
周辺機能への割込み
(8) に対する処理(割込み
処理ルーチンの実行)
(9)
割込み要因のクリア
(10) 割込み復帰命令(RETI)
メインプログラム
(6)
割込み要求発生
メインプログラム
(1) システムスタック領域を設定します。
(2) 割込み要求を発生可能な周辺機能の初期設定をします。
(3) 割込みコントローラ内の割込み制御レジスタ (ICR) を設定します。
(4) 周辺機能を動作開始状態にし , 割込み許可ビットを許可に設定します。
(5) 割込みレベルマスクレジスタ (ILM) および割込み許可フラグ (I) を割込み受付け可
能に設定します。
(6) 周辺機能の割込み発生で , ハードウェア割込み要求が発生します。
(7) 割込み処理ハードウェアでレジスタの退避が行われ , 割込み処理プログラムに分岐
します。
64
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 3 章 割込み
3.4 ハードウェア割込み
(8) 割込み処理プログラムで , 割込み発生に対する周辺機能への処理をします。
(9) 周辺機能の割込み要求を解除します。
(10) 割込み復帰命令を実行し , 分岐前のプログラムに復帰します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
65
第 3 章 割込み
3.4 ハードウェア割込み
MB90335 シリーズ
多重割込み
3.4.4
ハードウェア割込みでは , 周辺機能からの複数の割込み要求に対して , 割込み制御レ
ジスタ (ICR) の割込みレベル設定ビット (IL0 ∼ IL2) に異なる割込みレベルを設定す
ることによって , 多重割込みを実現できます。ただし , 拡張インテリジェント I/O
サービス (EI2OS), μDMAC の多重起動はできません。
■ 多重割込み動作
割込み処理ルーチン実行中に , より高い割込みレベルの割込み要求が発生すると , 現在
の割込み処理を中断してより高い割込み要求を受け付けます。高いレベルの割込みが
終了すると , 元の割込み処理に戻ります。割込みレベルは 0 ∼ 7 まで設定できますが ,
レベル 7 に設定した場合は , CPU は割込み要求を受け付けません。
割込み処理実行中にその割込みと同等かより低いレベルの割込みが発生した場合 , I フ
ラグが ILM を変更しない限り , 現在の割込み終了するまで新しい割込み要求は保留さ
れます。また , 割込み処理ルーチン内でコンディションコードレジスタ (CCR) の I フラ
グを割込み禁止 (CCR の I=0) にするか , 割込みレベルマスクレジスタ (ILM) を割込み
禁止(ILM=000B)に設定すると, 割込み中の多重割込みの起動を一部的に禁止できます。
<注意事項>
拡張インテリジェント I/O サービス (EI2OS), μDMAC は多重起動できません。拡張インテ
リジェント I/O サービス (EI2OS), μDMAC の処理中は , ほかの割込み要求および拡張イン
テリジェント I/O サービス (EI2OS), μDMAC 要求はすべて保留されます。
66
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.4 ハードウェア割込み
MB90335 シリーズ
■ 多重割込みの例
多重割込み処理の例として , 8/16 ビット PPG タイマよりタイマ割込みを優先させる場
合を想定し , 8/16 ビット PPG タイマの割込みレベルを 2 に , タイマ割込みレベルを 1 に
設定します。このとき , 8/16 ビット PPG タイマの割込み処理中にタイマ割込みが発生
すると , 図 3.4-5 のような処理を行います。
図 3.4-5 多重割込みの例
PPGタイマ
割込み処理
メインプログラム
割込みレベル2
(ILM=010B)
周辺初期化 (1)
タイマ割込み処理
割込みレベル1
(ILM=001B)
(3) タイマ割込み発生
(4) タイマ割込み処理
PPGタイマ割込み発生 (2)
中断
再開
メイン処理再開 (8)
(6) PPGタイマ
割込み処理
(5) タイマ割込み復帰
(7) PPGタイマ割込み復帰
● PPG タイマ割込み発生
PPG タイマ割込み処理開始時に , 割込みレベルマスクレジスタ (ILM) が自動的に PPG
タイマの割込みレベル (ICR の IL2 ∼ IL0) と同じ値 ( 例では 2) になります。このとき ,
レベル 1 またはレベル 0 の割込み要求が発生すると , この割込み処理を優先して行いま
す。
● 割込み処理の終了
割込み処理が終了して復帰命令 (RETI) を実行すると , スタック内に退避した専用レジ
スタ (A, DPR, ADB, DTB, PCB, PC, PS) の値が復帰し , 割込みレベルマスクレジスタ
(ILM) は中断前の値となります。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
67
第 3 章 割込み
3.4 ハードウェア割込み
3.4.5
MB90335 シリーズ
ハードウェア割込みの処理時間
ハードウェア割込み要求が発生して割込み処理ルーチンが実行されるまでには , 現
在実行中の命令が終了するまでの時間と , 割込みハンドリング時間が必要です。
■ ハードウェア割込み処理時間
割込み要求が発生してから割込みが受け付けられて , 割込み処理ルーチンが実行され
るまでには , 割込み要求サンプル待ち時間と割込みハンドリング時間 ( 割込み処理準備
に要する時間 ) が必要です。図 3.4-6 に , 割込み処理時間を示します。
図 3.4-6 割込み処理時間
通常命令実行
CPUの動作
割込み待ち時間
割込みハンドリング
割込み処理ルーチン
割込み要求
サンプル待ち時間
割込み要求発生
● 割込み要求サンプル待ち時間
割込み要求サンプル待ち時間とは , 割込み要求が発生してから現在実行中の命令が終
了するまでの時間をいいます。割込み要求が発生しているかどうかは , 各命令の最後の
サイクルで割込み要求をサンプリングして判断します。そのため , 各命令の実行中は ,
CPU が割込み要求を認識できず , 待ち時間が発生します。
なお , 割込み要求サンプル待ち時間は , 最も実行サイクルの長い PCPW, PW0, …RW7 命
令 (45 マシンサイクル ) 開始直後に割込み要求が発生した場合 , 最大となります。
68
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.4 ハードウェア割込み
MB90335 シリーズ
● 割込みハンドリング時間 (θ マシンサイクル )
CPU は , 割込み要求を受け付けてから , 専用レジスタのシステムスタックへの退避およ
び割込みベクタの取込みなどを行うため , θ マシンサイクルの割込みハンドリング時間
を必要とします。割込みハンドリング時間は , 以下の式によって求められます。
• 割込み起動時 : θ=24+6 × Z マシンサイクル
• 割込み復帰時 : θ=11+6 × Z マシンサイクル (RETI 命令 )
割込みハンドリング時間は , スタックポインタの指しているアドレスによって異なり
ます。表 3.4-3 に割込みハンドリング時間の補正値 (Z) を示します。
1 マシンサイクルは , マシンクロック (φ) の 1 クロック周期に相当します。
表 3.4-3 割込みハンドリング時間の補正値 (Z)
CM44-10137-6
スタックポインタが指しているアドレス
補正値 (Z)
内部 偶数アドレスの場合
0
内部 奇数アドレスの場合
+2
FUJITSU MICROELECTRONICS LIMITED
69
第 3 章 割込み
3.5 ソフトウェア割込み
3.5
MB90335 シリーズ
ソフトウェア割込み
ソフトウェア割込みは , ソフトウェア割込み命令 (INT 命令 ) を実行すると , CPU が
それまで実行していたプログラムからユーザの定義した割込み処理用プログラムへ
制御を移す機能です。
ソフトウェア割込みの実行中 , ハードウェア割込みは停止します。
■ ソフトウェア割込みの起動
● ソフトウェア割込みの起動
ソフトウェア割込みの起動には, INT命令を使用します。ソフトウェア割込み要求には,
割込み要求フラグおよび許可フラグはなく, INT命令を実行すると常に割込み要求が発
生します。
● ハードウェア割込みの抑止
INT 命令には割込みレベルがないので , 割込みレベルマスクレジスタ (ILM) の更新は行
われません。INT 命令実行中は , コンディションコードレジスタ (CCR) の I フラグを
"0" に設定し , ハードウェア割込みをマスクします。ソフトウェア割込み処理中でも
ハードウェア割込みを許可するときは , ソフトウェア割込み処理ルーチンの中で I フラ
グを "1" に設定してください。
● ソフトウェア割込みの動作
CPU が INT 命令を取り込んで実行すると , ソフトウェア割込み処理用のマイクロコー
ドを起動します。
このマイクロコードにより , CPU 内部のレジスタ類をシステムスタッ
クに退避し , ハードウェア割込みをマスク (CCR の I=0) した後 , 対応する割込みベクタ
へ分岐します。
割込み番号と割込みベクタの割当てについては , 「3.2 割込み要因と割込みベクタ」を
参照してください。
■ ソフトウェア割込みからの復帰
割込み処理プログラムの中で割込み復帰命令 (RETI 命令 ) を実行すると , システムス
タックに退避している 12 バイトデータを専用レジスタに戻して , 割込み分岐前に実行
していた処理に復帰します。
70
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.5 ソフトウェア割込み
MB90335 シリーズ
■ ソフトウェア割込みの動作
図 3.5-1 に , ソフトウェア割込みの発生から割込み処理完了までの動作を示します。
図 3.5-1 ソフトウェア割込みの動作
内部バス
PS,PC
(2) マイクロコード
(1)
PS
I
S
IR
キュー
フェッチ
RAM
PS
I
S
IR
:プロセッサステータス
:割込み許可フラグ
:スタックフラグ
:インストラクションレジスタ
(1) ソフトウェア割込み命令を実行します。
(2) ソフトウェア割込み命令に対応したマイクロコードに従って専用レジスタを退避
するなどの必要な処理を行った後 , 分岐処理を行います。
(3) ユーザの割込み処理ルーチン内の RETI 命令で割込み処理が終了します。
■ ソフトウェア割込みに関する注意事項
プログラムカウンタバンクレジスタ (PCB) が "FFH" であるとき , CALLV 命令のベクタ
領域は INT#vct8 命令のテーブルと重なります。ソフトウェアを作成する際に , CALLV
命令と INT#vct8 命令のアドレスの重複に注意してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
71
第 3 章 割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み
3.6
MB90335 シリーズ
拡張インテリジェント I/O サービス (EI2OS) による割
込み
拡張インテリジェント I/O サービス (EI2OS) は , 周辺機能 (I/O) とメモリとの間で自
動データ転送を行う機能で , データ転送終了時にハードウェア割込みが発生します。
■ 拡張インテリジェント I/O サービス (EI2OS)
拡張インテリジェント I/O サービスは , ハードウェア割込みの一種です。これは , 周辺
機能 (I/O) とメモリとの間で自動データ転送を行う機能で , 従来は割込み処理プログラ
ムで行っていた周辺機能 (I/O) とのデータのやりとりを DMA( ダイレクト メモリ アク
セス ) のように行い , 終了時に終了条件を設定した後 , 自動的に割込み処理ルーチンへ
分岐します。ユーザは , EI2OS 起動時と終了時のみプログラムを作成することになり ,
途中のデータ転送プログラムは不要です。
● 拡張インテリジェント I/O サービス (EI2OS) の利点
割込み処理ルーチンで行っていたデータ転送と比べると, 次のような利点があります。
• 転送のためのプログラムを記述する必要がないため , プログラムサイズを小さくで
きる。
• 周辺機能 (I/O) の状態によって転送を停止できるので , 不要なデータの転送の必要が
ない。
• バッファアドレスのインクリメント , および更新なしを選択可能。
• I/O レジスタアドレスのインクリメント , および更新なしを選択可能。
● 拡張インテリジェント I/O サービス (EI2OS) の終了割込み
EI2OS による , データ転送が終了すると , 終了条件を割込み制御レジスタ (ICR) の S1,
S0 ビットに設定し自動的に割込み処理ルーチンへ分岐します。
割込み処理プログラムで, EI2OSステータス(ICR:S1, S0)をチェックすることによって,
EI2OS の終了要因を判断できます。
割込み番号や割込みベクタは , 各周辺で固定されています。詳細は「3.2 割込み要因と
割込みベクタ」を参照してください。
● 割込み制御レジスタ (ICR)
割込みコントローラ内にあり , EI2OS の起動 , EI2OS のチャネル指定 , および EI2OS 終
了時の状態表示を行います。
● 拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ (ISD)
RAM 上の 000100H ∼ 00017FH にあり , 転送モード , I/O のアドレスや転送数 , バッファ
アドレスを保持する 8 バイトデータで , 16 チャネル分あります。割込み制御レジスタ
(ICR) でチャネル指定します。
<注意事項>
拡張インテリジェント I/O サービス (EI2OS) が動作しているとき , CPU のプログラム実行
は停止します。
72
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み
MB90335 シリーズ
■ 拡張インテリジェント I/O サービス (EI2OS) の動作
図 3.6-1 に , EI2OS の動作を示します。
図 3.6-1 拡張インテリジェント I/O サービス (EI2OS) の動作
メモリ空間
by IOA
I/Oレジスタ
I/O
レジスタ
CPU
周辺機能(I/O)
割込み要求
(3)
ISD
by ICS
(2)
(3)
(5)
(1)
割込み制御レジスタ(ICR)
割込みコントローラ
by BAP
(4)
ISD
IOA
BAP
ICS
DCT
バッファ
by DCT
: EI2OSディスクリプタ
: I/Oアドレスポインタ
: バッファアドレスポインタ
: 割込み制御レジスタ(ICR)のEI2OSチャネル選択ビット
: データカウンタ
(1) I/O が転送を要求
(2) 割込みコントローラがディスクリプタを選択
(3) 転送元や転送先をディスクリプタから読み出す
(4) I/O とメモリ間での転送を実行
(5) 割込み要因は自動的にクリア
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
73
第 3 章 割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み
3.6.1
MB90335 シリーズ
拡張インテリジェント I/O サービス (EI2OS) ディスク
リプタ (ISD)
拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ (ISD) は , 内部 RAM の
000100H ∼ 00017FH に存在し , 8 バイト× 16 チャネルで構成されています。
■ 拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ (ISD) の構成
ISD は , 8 バイト× 16 チャネルで構成されており , 各 ISD は図 3.6-2 のような構造に
なっています。チャネル番号と ISD のアドレスの対応は , 表 3.6-1 のとおりです。
図 3.6-2 EI2OS ディスクリプタ (ISD) の構成
MSB
LSB
H
データカウンタ上位8ビット(DCTH)
データカウンタ下位8ビット(DCTL)
I/Oレジスタアドレスポインタ上位8ビット(IOAH)
I/Oレジスタアドレスポインタ下位8ビット(IOAL)
EI2OSステータスレジスタ(ISCS)
バッファアドレスポインタ上位8ビット(BAPH)
バッファアドレスポインタ中位8ビット(BAPM)
ISD先頭アドレス
(000100H+8×ICS)
バッファアドレスポインタ下位8ビット(BAPL)
L
表 3.6-1 チャネル番号とディスクリプタアドレスの対応
チャネル
74
ディスクリプタアドレス
0
000100H
1
000108H
2
000110H
3
000118H
4
000120H
5
000128H
6
000130H
7
000138H
8
000140H
9
000148H
10
000150H
11
000158H
12
000160H
13
000168H
14
000170H
15
000178H
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み
MB90335 シリーズ
3.6.2
拡張インテリジェント I/O サービス (EI2OS) ディスク
リプタ (ISD) の各レジスタ
拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ (ISD) は , 次のレジスタ
から構成されています。
• データカウンタ (DCT)
• I/O レジスタアドレスポインタ (IOA)
• EI2OS ステータスレジスタ (ISCS)
• バッファアドレスポインタ (BAP)
各レジスタの初期値は , リセット時には不定となるので注意してください。
■ データカウンタ (DCT)
データカウンタ (DCT) は , 16 ビット長のレジスタで , 転送データ数に対応したカウン
タとなります。各データの転送後に , カウンタは 1 デクリメント ( 減値 ) します。この
カウンタが "0" になると EI2OS は終了します。図 3.6-3 に , DCT の構成を示します。
図 3.6-3 データカウンタ (DCT) の構成
DCTH
DCTL
bit15 bit14 bit13 bit12 bit11 bit10 bit9
bit8
bit7 bit6
bit5
bit4 bit3
bit2
bit1 bit0
初期値
DCT B15 B14 B13 B12 B11 B10 B09 B08 B07 B06 B05 B04 B03 B02 B01 B00 XXXXXXXXXXXXXXXXB
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
R/W : リード・ライト可能
X : 不定
■ I/O レジスタアドレスポインタ (IOA)
I/O レジスタアドレスポインタ (IOA) は , 16 ビット長のレジスタで , バッファとのデー
タ転送を行う I/O レジスタの下位アドレス (A15 ∼ A00) を示します。上位アドレス
(A23 ∼ A16) はすべて "0" であり , 000000H から 00FFFFH 番地までの任意の I/O をアド
レスで指定できます。図 3.6-4 に , IOA の構成を示します。
図 3.6-4 I/O レジスタアドレスポインタ (IOA) の構成
IOAH
IOAL
bit15 bit14 bit13 bit12 bit11 bit10 bit9
bit8
bit7 bit6
bit5
bit4 bit3
bit2
bit1 bit0
初期値
IOA A15 A14 A13 A12 A11 A10 A09 A08 A07 A06 A05 A04 A03 A02 A01 A00 XXXXXXXXXXXXXXXXB
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
R/W : リード・ライト可能
X : 不定
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
75
第 3 章 割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み
MB90335 シリーズ
■ 拡張インテリジェント I/O サービス (EI2OS) ステータスレジスタ (ISCS)
拡張インテリジェント I/O サービスステータスレジスタ (ISCS) は , 8 ビット長で , バッ
ファアドレスポインタと I/O レジスタアドレスポインタの更新 / 固定 , 転送データ形式
( バイト / ワード ), 転送方向を示します。図 3.6-5 に , ISCS の構成を示します。
図 3.6-5 EI2OS ステータスレジスタ (ISCS) の構成
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
予約 予約 予約
R/W
R/W
R/W
IF
BW
BF
DIR
SE
R/W
R/W
R/W
R/W
R/W
初期値
XXXXXXXXB
EI2OS終了制御ビット
SE
0
周辺機能からの要求で終了しない
1
周辺機能からの要求で終了する
データ転送方向指定ビット
DIR
0
I/Oレジスタアドレスポインタ→バッファアドレスポインタ
1
バッファアドレスポインタ→I/Oレジスタアドレスポインタ
BAP更新/固定選択ビット
BF
0
データ転送後バッファアドレスポインタは更新されます。*1
1
データ転送後バッファアドレスポインタは更新されません。
BW
転送データ長指定ビット
0
バイト
1
ワード
IF
0
1
IOA更新/固定選択ビット
データ転送後I/Oレジスタアドレスポインタは更新されます。*2
データ転送後I/Oレジスタアドレスポインタは更新されません。
予約
予約ビット
必ず"0"を書き込んでください
R/W:リード・ライト可能
X :不定
*1:バッファアドレスポインタは,下位16ビットだけ変化し,インクリメントだけ可能です。
*2:アドレスポインタは,インクリメントだけ可能です。
76
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み
MB90335 シリーズ
■ バッファアドレスポインタ (BAP)
バッファアドレスポインタ (BAP) は , 24 ビットのレジスタで , EI2OS による次回の転送
で使用するアドレスを保持します。BAP は , EI2OS の各チャネルに対してそれぞれ独
立に存在するので , EI2OS の各チャネルは , 16M バイトの任意のアドレスと I/O の間で
データを転送できます。EI2OS ステータスレジスタ (ISCS) の BF ビット (EI2OS ステー
タスレジスタの BAP 更新 / 固定選択ビット ) で " 更新あり " とした場合 , BAP は下位
16 ビット (BAPM, BAPL) だけ変化し , 上位 8 ビット (BAPH) は変化しません。図 3.6-6
に , バッファアドレスポインタ (BAP) の BAP 構成を示します。
図 3.6-6 バッファアドレスポインタ (BAP) の構成
bit23
~
BAP
bit16 bit15
~
bit8 bit7
~
BAPH
BAPM
BAPL
R/W
R/W
R/W
bit0
初期値
XXXXXXH
R/W : リード・ライト可能
X : 不定
<注意事項>
I/O アドレスポインタ (IOA) で指定できる領域は , 000000H ∼ 00FFFFH です。
バッファアドレスポインタ (BAP) で指定できる領域は , 000000H ∼ FFFFFFH です。
データカウンタ (DCT) で指定できる最大転送数は , 65536 個 (64K バイト ) です。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
77
第 3 章 割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み
3.6.3
MB90335 シリーズ
拡張インテリジェント I/O サービス (EI2OS) の動作
周辺機能から割込み要求が発生し , 対応する割込み制御レジスタ (ICR) で EI2OS の
起動が設定されていれば , CPU は EI2OS によるデータ転送を行います。指定回数の
データ転送が終了すれば , 自動的にハードウェア割込み処理を行います。
■ 拡張インテリジェント I/O サービス (EI2OS) の処理手順
図 3.6-7 に , CPU 内部のマイクロコードによる , EI2OS の動作フローを示します。
図 3.6-7 拡張インテリジェント I/O サービス (EI2OS) の動作フロー
周辺機能より
割込み要求発生
NO
ISE=1
YES
ISD/ISCSリード
割込みシーケンス
YES
周辺機能から
の終了要求
YES
SE=1
NO
NO
YES
DIR=1
NO
IOAで示されるデータ
(データ転送)
BAPで示されるメモリ
IF=0
BAPで示されるデータ
(データ転送)
IOAで示されるメモリ
YES
NO
BF=0
DCT=00
NO
YES
周辺機能割込み要求の
クリア
CPU動作復帰
ISD :EI OSディスクリプタ
ISCS:EI2OSステータスレジスタ
IF :EI2OSステータスレジスタ(ISCS)の
IOA更新/固定選択ビット
BW :EI2OSステータスレジスタ(ISCS)の
転送データ長指定ビット
BF :EI2OSステータスレジスタ(ISCS)の
BAP更新/固定選択ビット
DIR :EI2OSステータスレジスタ(ISCS)の
データ転送方向指定ビット
SE :EI2OSステータスレジスタ(ISCS)の
EI2OS終了制御ビット
78
更新値は
BWによる
BAP更新
(-1)
S1, S0に"00"をセット
2
IOA更新
YES
NO
DCTデクリメント
更新値は
BWによる
EI2OS終了処理
S1, S0に"01"をセット
S1, S0に"11"をセット
ISEを"0"にクリア
割込みシーケンス
DCT :データカウンタ
IOA :I/Oレジスタアドレスポインタ
BAP :バッファアドレスポインタ
ISE
:割込み制御レジスタ(ICR)のEI2OS許可ビット
S1, S0:割込み制御レジスタ(ICR)のEI2OSステータス
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 3 章 割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み
拡張インテリジェント I/O サービス (EI2OS) の使用手
順
3.6.4
拡張インテリジェント I/O サービス (EI2OS) を使用するには , システムスタック領域 ,
拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ , 周辺機能 , および割込
み制御レジスタ (ICR) などの設定が必要です。
■ 拡張インテリジェント I/O サービス (EI2OS) の使用手順
図 3.6-8 に , EI2OS のソフトウェアとハードウェアによる処理を示します。
図 3.6-8 拡張インテリジェント I/O サービス (EI2OS) 使用手順
ソフトウェアによる処理
ハードウェアによる処理
開 始
システムスタック領域の設定
初期設定
EI2OSディスクリプタの設定
周辺機能の初期設定
割込み制御レジスタ(ICR)
の設定
内蔵リソースの動作開始
設定割込み許可ビットの
設定
PS内のILM, Iの設定
S1, S0=00
(割込み要求)and(ISE=1)
ユーザプログラムの実行
データ転送
カウントアウトorリソース
からの終了要求による
割込みへ分岐の判定
(割込みベクタへ分岐)
拡張インテリジェント
I/Oサービスの再設定
(チャネルの切換えなど)
NO
YES
S1, S0=01 または
S1, S0=11
バッファ中のデータの処理
RETI
ISE :割込み制御レジスタ(ICR)のEI2OSの許可ビット
S1, S0:割込み制御レジスタ(ICR)のEI2OSステータス
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
79
第 3 章 割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み
3.6.5
MB90335 シリーズ
拡張インテリジェント I/O サービス (EI2OS)
処理時間
拡張インテリジェント I/O サービス (EI2OS) の処理に必要な時間は次の要因によっ
て変化します。
•
•
•
•
•
EI2OS ステータスレジスタ (ISCS) の設定
I/O レジスタアドレスポインタ (IOA) の示すアドレス ( 領域 )
バッファアドレスポインタ (BAP) の示すアドレス ( 領域 )
外部アクセス時の外部データバス幅
転送データのデータ長
また , EI2OS によるデータ転送終了時には , ハードウェア割込みが起動するため , 割
込みハンドリング時間が加算されます。
■ 拡張インテリジェント I/O サービス (EI2OS) 処理時間 (1 回の転送時間 )
● データ転送継続時
データ転送継続時の EI2OS 処理時間は , EI2OS ステータスレジスタ (ISCS) の設定によっ
て , 表 3.6-2 のようになります。
表 3.6-2 拡張インテリジェント I/O サービス実行時間
EI2OS 終了制御ビット (SE) の設定
IOA 更新 / 固定選択ビット (IF) の設定
BAP アドレス更新 / 固定
選択ビット (BF) の設定
周辺からの終了要求により終了 周辺からの終了要求を無視
固定
更新
固定
更新
固定
32
34
33
35
更新
34
36
35
37
単位 : マシンサイクル (1 マシンサイクルは , マシンクロック (φ) の 1 クロック周期に相当します。)
さらに , 表 3.6-3 に示すように , EI2OS 実行時の条件によって補正が必要です。
80
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み
MB90335 シリーズ
表 3.6-3 EI2OS 実行時間のデータ転送の補正値
内部アクセス
外部アクセス
I/O レジスタアドレスポインタ
B/ 偶
奇
B/ 偶
8/ 奇
B/ 偶
0
+2
+1
+4
奇
+2
+4
+3
+6
B/ 偶
+1
+3
+2
+5
8/ 奇
+4
+6
+5
+8
内部アクセス
バッファアドレス
ポインタ
外部アクセス
B
8
偶
奇
: バイトデータ転送
: 外部バス幅 8 ビット・ワード転送
: 偶数アドレス・ワード転送
: 奇数アドレス・ワード転送
● データカウンタ (DCT) のカウント終了時 ( 最終回のデータ転送時 )
EI2OS によるデータ転送終了時には , ハードウェア割込みが起動するため , 割込みハン
ドリング時間が加算されます。カウント終了時の EI2OS の処理時間は , 次の式で算出
されます。
カウント終了時の EI2OS 処理時間 =
データ転送時の EI2OS 処理時間 + (21+6 × Z) マシンサイクル
↑
割込みハンドリング時間
割込みハンドリング時間は , スタックポインタの指しているアドレスによって異なり
ます。表 3.6-4 に , 割込みハンドリング時間の補正値 (Z) を示します。
表 3.6-4 割込みハンドリング時間の補正値 (Z)
CM44-10137-6
スタックポインタが指しているアドレス
補正値 (Z)
内部 偶数アドレスのとき
0
内部 奇数アドレスのとき
+2
FUJITSU MICROELECTRONICS LIMITED
81
第 3 章 割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み
MB90335 シリーズ
● 周辺機能 (I/O) からの終了要求による終了時
周辺機能 (I/O) からの終了要求で , EI2OS によるデータ転送を途中で終了した場合
(ICR:S1, S0=11), データ転送は行わず , ハードウェア割込みを起動します。この場合の
EI2OS 処理時間は , 次の式で算出されます。式中の Z は , 割込みハンドリング時間の補
正値 ( 表 3.6-4 を参照 ) です。
途中終了時の EI2OS 処理時間 =36+6 × Z マシンサイクル
<参考>
1 マシンサイクルは , マシンクロック (φ) の 1 クロック周期に相当します。
82
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
3.7
第 3 章 割込み
3.7 例外処理割込み
例外処理割込み
F2MC-16LX では , 未定義命令の実行で例外処理が行われます。例外処理は , 基本的
には割込みと同じものであり , 命令の境目で例外事項が発生したことを検出した段
階で , 通常処理を中断して例外処理を行います。
一般的に , 例外処理は予想外の動作を行った結果によって発生するものであり , デ
バッグ時や緊急時の復旧ソフトウェアの起動などだけに使用することを推奨します。
■ 例外処理割込み
● 例外処理の動作
F2MC-16LX では , 命令マップで定義していないコードはすべて未定義命令として扱い
ます。未定義命令を実行すると , ソフトウェア割込み命令の "INT #10" と等価な処理を
行います。
例外処理では , 割込みルーチンへ分岐する前に , 次の処理が行われます。
1. システムスタックへ A, DPR, ADB, DTB, PCB, PC, PS レジスタを退避
2. コンディションコードレジスタ (CCR) の I フラグを "0" にクリアし , ハードウェア割
込みをマスク
3. コンディションコードレジスタ (CCR) の S フラグを "1" にセットし , システムスタッ
クを有効にする。
スタックへ退避したプログラムカウンタ (PC) の値は , 未定義命令を格納しているアド
レスそのものです。2 バイト以上の命令コードでは , 未定義であることが識別できた
コードを格納しているアドレスになります。例外処理ルーチン内で , 例外要因の種類を
判定する必要がある場合は , この PC 値を使用してください。
● 例外処理からの復帰
例外処理から RETI 命令で復帰させると , PC が未定義命令を指しているために , 再度 ,
例外処理に入ります。ソフトウェアリセットするなどの対策をしてください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
83
第 3 章 割込み
3.8 μDMAC による割込み
3.8
MB90335 シリーズ
μDMAC による割込み
μDMAC は , EI2OS と同等の機能を持った簡易 DMA です。
3.8.1 μDMAC の機能
3.8.2 μDMAC のレジスタ
3.8.2.1 DMA ディスクリプタチャネル指定レジスタ (DCSR)
3.8.2.2 DMA ステータスレジスタ (DSRH/DSRL)
3.8.2.3 DMA ストップステータスレジスタ (DSSR)
3.8.2.4 DMA 許可レジスタ (DERH/DERL)
3.8.3 DMA ディスクリプタウィンドウレジスタ (DDWR)
3.8.3.1 DMA データカウンタ (DDCTH/DDCTL)
3.8.3.2 DMA I/O レジスタアドレスポインタ (DIOAH/DIOAL)
3.8.3.3 DMA コントロールレジスタ (DMACS)
3.8.3.4 DMA バッファアドレスポインタ (DBAPH/DBAPM/DBAPL)
3.8.4 μDMAC の動作説明
84
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
3.8.1
第 3 章 割込み
3.8 μDMAC による割込み
μDMAC の機能
μDMAC はディスクリプタ用レジスタを持つことによって , EI2OS に比べて高速に
データ転送を行うことを可能にしています。
■ μDMAC の機能
μDMAC は , 以下の機能をもっています。
• 周辺リソース (I/O) とメモリ間で自動データ転送を行います。
• DMA 起動中は , CPU のプログラム実行は停止します。
• DMA 転送チャネルは 16 チャネルです ( チャネルの番号の小さい方が DMA 転送の
優先順位が高い ) 。
• 転送元 , 転送先アドレスのインクリメントあり , またはインクリメントなしを選択
可能です。
• DMA 転送は , 周辺リソース (I/O) の割込み要因により起動します。
• DMA 転送の制御は , (a) DMA 許可レジスタ (DERH/DERL), (b) DMA ストップステー
タスレジスタ (DSSR), (c) DMA ステータスレジスタ (DSRH/DSRL), (d) DMA ディス
クリプタチャネル指定レジスタ (DCSR), (e) ディスクリプタ (DMACS) で行います。
• リソースから DMA 転送を停止させる手段として STOP 要求があります。
• DMA 転送終了後 , DMA ステータスレジスタ (DSRH/DSRL) の該当するビットにフ
ラグがセットされ , 割込みコントローラへ割込みが出力されます。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
85
第 3 章 割込み
3.8 μDMAC による割込み
MB90335 シリーズ
μDMAC のレジスタ
3.8.2
μDMAC は , DCSR, DSR, DSSR, DER という 4 つのレジスタを持っています。DMA 転
送の設定に使用される DMA ディスクリプタについては「3.8.3 DMA ディスクリプ
タウィンドウレジスタ (DDWR)」で説明しています。
■ μDMAC レジスタ一覧
図 3.8-1 μDMAC レジスタ一覧
DMA ディスクリプタチャネル指定レジスタ (DCSR)
bit
00009BH
15
STP
R/W
14
13
12
予約
R/W
予約
R/W
予約
R/W
11
10
9
8
DCSR3 DCSR2 DCSR1 DCSR0
DCSR
R/W
R/W
R/W
R/W 初期値 00000000B
DMA ステータスレジスタ (DSRH/DSRL)
bit
00009DH
15
14
13
12
11
10
9
DTE15 DTE14 DTE13 DTE12 DTE11 DTE10 DTE9
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit
7
00009CH DTE7
R/W
6
DTE6
R/W
5
DTE5
R/W
4
DTE4
R/W
3
DTE3
R/W
2
DTE2
R/W
8
DTE8
R/W
DSRH
初期値 00000000B
1
DTE1
R/W
0
DTE0
R/W
bit
7
6
5
4
3
2
1
0000A4H STP15 STP14 STP13 STP12 STP11 STP10 STP9
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
STP8
R/W
初期値 00000000B
0
STP0
R/W
初期値 00000000B
DSRL
初期値 00000000B
DMA ストップステータスレジスタ (DSSR)
bit
0000A4H
7
STP7
R/W
6
STP6
R/W
5
STP5
R/W
4
STP4
R/W
3
STP3
R/W
2
STP2
R/W
1
STP1
R/W
DSSR
DSSR
(DSSR は DCSR の STP ビットが "0" の時 STP8 ∼ STP15 を , "1" の時 STP0 ∼ STP7 を使用 )
DMA 許可レジスタ (DERH/DERL)
bit
0000ADH
bit
0000ACH
15
EN15
R/W
14
EN14
R/W
13
EN13
R/W
12
EN12
R/W
11
EN11
R/W
10
EN10
R/W
9
EN9
R/W
8
EN8
R/W
7
EN7
R/W
6
EN6
R/W
5
EN5
R/W
4
EN4
R/W
3
EN3
R/W
2
EN2
R/W
1
EN1
R/W
0
EN0
R/W
DERH
初期値 00000000B
DERL
初期値 00000000B
R/W: リード・ライト可能
86
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.8 μDMAC による割込み
MB90335 シリーズ
DMA ディスクリプタチャネル指定レジスタ
(DCSR)
3.8.2.1
DMA ディスクリプタチャネル指定レジスタ (DCSR) は , 各チャネルのディスクリプ
タを切り換えるレジスタです。本レジスタでチャネルを指定してからディスクリプタ
を設定してください。
■ DMA ディスクリプタチャネル指定レジスタ (DCSR)
図 3.8-2 DMA ディスクリプタチャネル指定レジスタ (DCSR) のビット構成
bit
00009BH
15
STP
R/W
14
13
12
予約
R/W
予約
R/W
予約
R/W
11
10
9
8
DCSR3 DCSR2 DCSR1 DCSR0
DCSR
R/W
R/W
R/W
R/W 初期値 00000000B
R/W: リード・ライト可能
[bit15] STP: STP 制御ビット
STP ビット
機能
0 [ 初期値 ]
DSSR として STP8 ∼ STP15 を選択します。
1
DSSR として STP0 ∼ STP7 を選択します。
[bit14 ∼ bit12] 予約 : ( 予約ビット )
これらは予約ビットです。
これらのビットの読出し値は常に "000B" です。
これらのビットには必ず "000B" を書き込んでください。
<注意事項>
DCSR レジスタへはリードモディファイライト (RMW) 系命令を使用しないでください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
87
第 3 章 割込み
3.8 μDMAC による割込み
MB90335 シリーズ
[bit11 ∼ bit8] DCSRx : DMA ディスクリプタチャネル指定
表 3.8-1 DCSR と選択チャネルの関係
DCSR3 ∼ DCSR0
選択チャネル
リソース割込み要求
0000B
0
USB ファンクション 1 (End Point 0-IN)
0001B
1
USB ファンクション 1 (End Point 0-OUT)
0010B
2
USB ファンクション 2 (End Point 1) *
0011B
3
USB ファンクション 2 (End Point 2) *
0100B
4
USB ファンクション 2 (End Point 3)
0101B
5
USB ファンクション 2 (End Point 4)
0110B
6
USB ファンクション 2 (End Point 5)
0111B
7
予約
1000B
8
予約
1001B
9
拡張 I/O シリアル
1010B
10
予約
1011B
11
予約
1100B
12
UART0/UART1・受信
1101B
13
UART0/UART1・送信
1110B
14
PWC・リロードタイマ 0
1111B
15
予約
DCSR の設定により , 16 チャネル中 1 チャネルのディスクリプタチャネルが選択されます。詳細は
「3.8.3 DMA ディスクリプタウィンドウレジスタ (DDWR)」を参照してください。
*: USB ホスト動作時でも使用できます。
88
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.8 μDMAC による割込み
MB90335 シリーズ
DMA ステータスレジスタ (DSRH/DSRL)
3.8.2.2
DMA ステータスレジスタ (DSRH/DSRL) は , DMA 転送が終了したことを示すレジ
スタです。本レジスタに "1" がセットされると同時に割込みが発生します。
■ DMA ステータスレジスタ (DSRH/DSRL)
図 3.8-3
DMA ステータスレジスタ (DSRH/DSRL) のビット構成
bit 15
14
13
12
11
10
9
00009DH DTE15 DTE14 DTE13 DTE12 DTE11 DTE10 DTE9
R/W
R/W
R/W
R/W
R/W
R/W
R/W
8
DTE8
R/W
bit
7
00009CH DTE7
R/W
0
DTE0
R/W
6
DTE6
R/W
5
DTE5
R/W
4
DTE4
R/W
3
DTE3
R/W
2
DTE2
R/W
1
DTE1
R/W
DSRH
初期値 00000000B
DSRL
初期値 00000000B
R/W: リード・ライト可能
[bit15 ∼ bit0] DTEx : DMA ステータス
DTEx ビット
0 [ 初期値 ]
機能
DMA 転送の終了による割込みは発生していません。
DTEx が "0" のとき , 必ず "0" を書き込んでください。
DMA 転送が終了して , 割込みを要求していることを示しています。最終転送を除
いて STOP 要求による DMA 転送の停止では "1" にセットされません。
DTEx が "1" のとき , "0" を書き込むと "0" にクリアされ , "1" を 書き込むと前の
データを保持します。
1
<注意事項>
DSRH/DSRL に書込みを行う場合 , リードモディファイライト (RMW) 系の命令を使用し
てください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
89
第 3 章 割込み
3.8 μDMAC による割込み
MB90335 シリーズ
DMA ストップステータスレジスタ (DSSR)
3.8.2.3
DMA ストップステータスレジスタ (DSSR) は STOP 要求により DMA 転送が停止し
たことを示すレジスタです。DMA ディスクリプタチャネル指定レジスタ (DCSR) の
STP ビットによって本レジスタに示すビットの意味が異なります。
■ DMA ストップステータスレジスタ (DSSR)
図 3.8-4
DMA ストップステータスレジスタ (DSSR) のビット構成
DCSR:STP=0 のとき
bit 15
14
13
12
11
10
9
0000A4H STP15 STP14 STP13 STP12 STP11 STP10 STP9
R/W
R/W
R/W
R/W
R/W
R/W
R/W
8
STP8
R/W
DSSR
初期値 00000000B
DCSR:STP=1 のとき
bit
0000A4H
7
6
5
4
3
2
1
0
STP7
R/W
STP6
R/W
STP5
R/W
STP4
R/W
STP3
R/W
STP2
R/W
STP1
R/W
STP0
R/W
DSSR
初期値 00000000B
R/W: リード・ライト可能
[bit15 ∼ bit0] STPx : DMA ストップステータス
STPx ビット
0 [ 初期値 ]
1
機能
DMA 転送中にリソースからの STOP 要求を受け付けていません。
STPx=0 のときは必ず "0" を書き込んでください。
DMA 転送中にリソースからの STOP 要求を受けて DMA 転送 を停止したことを
示しています。ただし , 最終転送時に STOP 要求を受けても STPx ビットに "1"
は設定されません。DMA コントロールレジスタ の SE ビットが "1" で , 対応し
たチャネルにSTOP要求が受け付けられると, DMA許可レジスタの対応するビッ
トが "0" に クリアされます。
STPx=1 のときに "0" を書き込むと "0" にクリアされ , "1" を 書き込むと前のデー
タを保持します。
STOP 要求には以下の 1 チャネルが対応しています。
チャネル
対応する STPx ビット
ch.12
STP12
リソース
UART0/UART1・受信
STP12 以外のビットは意味を持ちません。
90
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 3 章 割込み
3.8 μDMAC による割込み
<注意事項>
•
DSSRは, DCSRの最上位ビット(STP)により制御されます。STPが"0"のときは, STP8∼
STP15 が DSSR として選択され , "1" のときは , STP0 ∼ STP7 が DSSR として選択さ
れます。STP は初期値が "0" なので , 最初は STP8 ∼ STP15 が選択されています。
•
DSSR に書込みを行う場合 , リードモディファイライト (RMW) 系の命令を使用してく
ださい。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
91
第 3 章 割込み
3.8 μDMAC による割込み
MB90335 シリーズ
DMA 許可レジスタ (DERH/DERL)
3.8.2.4
DMA 許可レジスタ (DERH/DERL) は DMA 転送を許可するレジスタです。本レジス
タを "1" にセットし , 対応するチャネルに割込み要求が発生すると DMA 転送要求と
みなし , DMA 転送を開始します。
■ DMA 許可レジスタ
図 3.8-5
bit
0000ADH
bit
0000ACH
DMA 許可レジスタ (DERH/DERL) のビット構成
15
EN15
R/W
14
EN14
R/W
13
EN13
R/W
12
EN12
R/W
11
EN11
R/W
10
EN10
R/W
9
EN9
R/W
8
EN8
R/W
7
EN7
R/W
6
EN6
R/W
5
EN5
R/W
4
EN4
R/W
3
EN3
R/W
2
EN2
R/W
1
EN1
R/W
0
EN0
R/W
DERH
初期値 00000000B
DERL
初期値 00000000B
R/W: リード・ライト可能
[bit15 ∼ bit0] ENx: DMA 許可
ENx ビット
0 [ 初期値 ]
機能
DMA 転送を実行しません。
リソースからの割込み要求を DMA 起動要求とし , DMA 転送終了 時点で割込み
要求を割込みコントローラへ出力します。
DMA 転送バイト数が 0 となるか , リソースからの STOP 要求で DMA 転送が停止
された時点で , "0" にクリアされます。
1
<注意事項>
92
•
DERH/DERL に書込みを行う場合 , リードモディファイライト (RMW) 系の命令を使用
してください。
•
スタンバイモード ( スリープモード , ストップモード , 時計モード , タイムベースタイ
マモード ) または CPU 間欠動作モード ( メインクロック間欠動作モード , PLL クロッ
ク間欠モード ) ヘ移行する場合 , 必ず DMA 許可レジスタ (DERH/DERL) を "0" に設定
してから , 各モードへ移行してください。
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 3 章 割込み
3.8 μDMAC による割込み
DMA ディスクリプタウィンドウレジスタ (DDWR)
3.8.3
DMA ディスクリプタは 8 バイト× 16 チャネルで構成されており , DMA 転送の設定
に使用されます。16 チャネル中から指定された 1 チャネルが DMA ディスクリプタ
ウィンドウレジスタ (DDWR) にマッピングされアクセス可能となります。
DDWR のアドレスは 007920H ∼ 007927H です。
■ DMA ディスクリプタウィンドウレジスタ (DDWR) の構成
DMA ディスクリプタは , 8 バイト× 16 チャネルで構成されており , 各チャネルは図 3.86 に示す構造になっています。DMA ディスクリプタチャネル指定レジスタ (DCSR) また
は割込み要求チャネル番号によって選択されたチャネルのディスクリプタが , DMA
ディスクリプタウィンドウレジスタ (DDWR) 上にマッピングされます。DMA ディス
クリプタチャネル指定レジスタ (DCSR) と選択チャネルの関係は , 表 3.8-1 を参照して
ください。
図 3.8-6 DMA ディスクリプタウィンドウレジスタ (DDWR) の構成
アドレス
007927H
007926H
007925H
007924H
007923H
007922H
007921H
007920H
DMA データカウンタ上位 8 ビット (DDCTH)
DMA データカウンタ下位 8 ビット (DDCTL)
DMA I/O レジスタアドレスポインタ上位 8 ビット (DIOAH)
DMA I/O レジスタアドレスポインタ下位 8 ビット (DIOAL)
DMA コントロールレジスタ (DMACS)
DMA バッファアドレスポインタ上位 8 ビット (DBAPH)
DMA バッファアドレスポインタ中位 8 ビット (DBAPM)
DMA バッファアドレスポインタ下位 8 ビット (DBAPL)
■ DMA ディスクリプタの各レジスタ
DMA ディスクリプタを構成する各レジスタについて次ページ以降に説明します。各レ
ジスタの初期値は , リセット時には不定となるので必ず ENx に "1" を設定する前まで
に初期化してください。
<注意事項>
DMA ディスクリプタチャネル指定レジスタ (DCSR) によって , チャネルのディスクリプ
タを切り換えた場合 , 2 マシンサイクル以内は DMA ディスクリプタウィンドウレジスタ
(DDWR) へのアクセスは禁止です。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
93
第 3 章 割込み
3.8 μDMAC による割込み
MB90335 シリーズ
DMA データカウンタ (DDCTH/DDCTL)
3.8.3.1
DMA データカウンタ (DDCTH/DDCTL) はデータ転送回数を設定するレジスタです。
DMA データカウンタ (DDCTH/DDCTL) が 0000H になると DMA 転送は終了します。
■ DMA データカウンタ (DDCTH/DDCTL)
DMA データカウンタ (DDCTH/DDCTL) は , 16 ビット長のレジスタで , 転送回数に対応
したカウンタとなります。各データの転送後に , カウンタはワード , バイト転送に関係
なく 1 デクリメント ( 減値 ) します。このカウンタが 0000H になると DMA 転送 は終
了します。
図 3.8-7 に DDCT の構成を示します。
DDCT に 0000H を設定すると , 最大データ転送数 (65,536 個 ) がセットされます。
図 3.8-7 DMA データカウンタ (DDCTH/DDCTL) のビット構成
007927H/007926H
DDCTH
DDCTL
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8
bit7
bit6 bit5
bit4
bit3 bit2
bit1
bit0
初期値
DDCTH/ B15 B14 B13 B12 B11 B10 B09 B08 B07 B06 B05 B04 B03 B02 B01 B00
DDCTL
XXXXH
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
R/W : リード・ライト可能
X : 不定
■ DMA データカウンタ (DDCTH/DDCTL) の設定値について
転送バイト数と DMA データカウンタ (DDCTH/DDCTL) の関係は , 表 3.8-2 のようにな
ります。
表 3.8-2 DMA データカウンタ (DDCTH/DDCTL) の設定値
DMACS
DDCT
BW ビット
BYTEL ビット
0
−
N
1
0
N/2
1
1
(N+1)/2
N: 転送バイト数
94
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.8 μDMAC による割込み
MB90335 シリーズ
DMA I/O レジスタアドレスポインタ (DIOAH/
DIOAL)
3.8.3.2
DMA I/O レジスタアドレスポインタ (DIOAH/DIOAL) は I/O アドレスポインタを設定
するレジスタです。上位アドレス A23 ∼ A16 は "00H" 固定です。
■ DMA I/O レジスタアドレスポインタ (DIOAH/DIOAL)
DMA I/O レジスタアドレスポインタ (DIOAH/DIOAL) は , 16 ビット長のレジスタで ,
DMA I/O レジスタアドレスの下位 16 ビット (A15 ∼ A00) を示します。上位アドレス
(A23 ∼ A16) はすべて "0" であり , 000000H から 00FFFFH 番地までの任意の I/O アドレ
ス空間が指定できます。DMA コントロールレジスタ (DMACS) の IF ビット (DIOA 更新 /
固定選択ビット ) で " 更新あり " とした場合 , DIOAH/DIOAL はバイト転送時には +1,
ワード転送時には +2 変化し , " 更新なし " とした場合 , DIOAH/DIOAL は固定です。図
3.8-8 に DIOA の構成を示します。
図 3.8-8 DMA I/O アドレスレジスタポインタ (DIOAH/DIOAL) のビット構成
007925H/007924H
DIOAH
DIOAL
bit15 bit14 bit13 bit12 bit11 bit10 bit9
bit8
bit7 bit6
bit5
bit4 bit3
bit2
bit1 bit0
初期値
DIOAH/ A15 A14 A13 A12 A11 A10 A09 A08 A07 A06 A05 A04 A03 A02 A01 A00
DIOAL
XXXXH
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
R/W : リード・ライト可能
X : 不定
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
95
第 3 章 割込み
3.8 μDMAC による割込み
MB90335 シリーズ
DMA コントロールレジスタ (DMACS)
3.8.3.3
DMA コントロールレジスタ (DMACS) は DMA 転送を制御するレジスタです。
DMA コントロールレジスタ (DMACS) によって
• 方向制御 (IOA → BAP, BAP → IOA)
• 転送ビット長 ( バイト , ワード )
• アドレス更新 ( あり , なし )
• 転送間隔
• ワード転送時の奇数バイト制御
を制御できます。
■ DMA コントロールレジスタ (DMACS)
DMA コントロールレジスタ (DMACS) は , 8 ビット長で , DMA バッファアドレスポイ
ンタと DMA I/O レジスタアドレスポインタの更新・固定 , 転送データ形式 ( バイト /
ワード ), 転送方向 , バイト転送指定 , ウェイト指示を出します。図 3.8-9 に DMACS の
構成を示します。
図 3.8-9 DMA コントロールレジスタ (DMACS) のビット構成
アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
007923H
RDY2 RDY1 BYTEL
IF
BW
BF
DIR
SE
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
SE
初期値
XXXXXXXXB
DMA転送終了制御ビット
0
周辺機器からの要求で終了しない
1
周辺機器からの要求で終了する
DIR
データ転送方向指定ビット
0
DMA I/Oレジスタアドレスポインタ→DMAバッファアドレスポインタ
1
DMAバッファアドレスポインタ→DMA I/Oレジスタアドレスポインタ
BF
DBAP更新/固定選択ビット
0
データ転送後 DMAバッファアドレスポインタ更新されます
1
データ転送後 DMAバッファアドレスポインタ更新されません
BW
0
転送データ長指定ビット
バイト転送
1
ワード転送
IF
DIOA更新/固定選択ビット
0
データ転送後 I/Oレジスタアドレスポインタ更新されます
1
データ転送後 I/Oレジスタアドレスポインタ更新されません
BYTEL バイト転送指定ビット(ワード転送のみ有効)
0
偶数バイト
1
奇数バイト
R/W:リード・ライト可能
X :不定
96
ウェイト指示ビット(図3.8-10を参照)
RDY2
RDY1
0
0
転送と転送の間にウェイトなし
0
1
転送と転送の間にウェイト長1サイクル
1
0
転送と転送の間にウェイト長2サイクル
1
1
転送と転送の間にウェイト長3サイクル
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.8 μDMAC による割込み
MB90335 シリーズ
図 3.8-10 ウェイト指示ビット説明
source
destination
ウェイト
source
destination
上図のような転送におけるウェイト部分の長さを
RDY2, RDY1で定義する。
<注意事項>
μDMAC を使用して , UART へ送信データを書込む場合 , DMACS レジスタの RDY2, RDY1
ビットを (0, 0) に設定しないでください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
97
第 3 章 割込み
3.8 μDMAC による割込み
MB90335 シリーズ
DMA バッファアドレスポインタ (DBAPH/DBAPM/
DBAPL)
3.8.3.4
DMA バッファアドレスポインタ (DBAPH/DBAPM/DBAPL) はバッファアドレスポ
インタを設定するレジスタです。DMA バッファアドレスポインタ (DBAPH/
DBAPM/DBAPL) は A23 ∼ A00 まで設定可能です。
■ DMA バッファアドレスポインタ (DBAPH/DBAPM/DBAPL)
DMA バッファアドレスポインタ (DBAPH/DBAPM/DBAPL) は , 24 ビットのレジスタで , DMA
転送で使用するアドレスを保管します。DBAP は , DMA の各チャネルに対してそれぞれ独立
に存在するので , DMA の各チャネルは , 16 M バイトの任意のアドレスと I/O の間でデータ転
送できます。DMA コントロールレジスタ (DMACS) の BF ビット (DBAP 更新 / 固定選択ビッ
ト ) を " 更新あり " と設定した場合 , DBAP は下位 16 ビット (DBAPM, DBAPL) がバイト転送
時には +1, ワード転送時には +2 変化し , 上位 8 ビット (DBAPH) は変化しません。
図 3.8-11 に ,
DMA バッファアドレスポインタ (DBAP) の構成を示します。
図 3.8-11 DMA バッファアドレスポインタ (DBAPH/DBAPM/DBAPL) のビット構成
007922H, 007921H, 007920H
bit23
DBAPH/
DBAPM/
DBAPL
~
bit16 bit15
~
bit8 bit7
~
DBAPH
DBAPM
DBAPL
R/W
R/W
R/W
bit0
初期値
XXXXXXH
R/W : リード・ライト可能
X : 不定
<注意事項>
•
DMA I/O レジスタアドレスポインタ (DIOAH/DIOAL) で指定できる領域は , 000000H ∼
00FFFFH です。
98
•
DMA バッファアドレスポインタ (DBAPH/DBAPM/DBAPL) で指定できる領域は ,
000000H ∼ FFFFFFH です。
•
DIOA と DBAP に μDMAC の内部レジスタ DCSR, DSRH, DSRL, DSSR, DERH, DERL,
および DMA ディスクリプタウィンドウレジスタ DDWR のアドレスを指定しないでく
ださい。
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 3 章 割込み
3.8 μDMAC による割込み
μDMAC の動作説明
3.8.4
図 3.8-12 に μDMA の動作の説明図を示します。
■ μDMAC の動作
μDMAC を使用したデータ転送は以下の順番で行われます。
1. 周辺リソース (I/O) が DMA 転送を要求する。
2. DMA 許可レジスタ (DERH/DERL) が "1" のとき , μDMAC が , 指定されたチャネル
の転送元 , 転送先アドレスや転送回数などの転送データをディスクリプタから読み
出す。
3. I/O とメモリ間で DMA データ転送を開始する。
4. 1 バイトもしくは 1 ワードの転送を実行後
(a) 転送終了でないとき (DMA データカウンタ DDCT は 0000H になっていない )
周辺リソースに対して DMA 転送要求のクリアを要求する。
(b) 転送終了時 (DMA データカウンタ DDCT=0000H)
DMA 転送終了後 , DMA ステータスレジスタに転送終了のフラグをセットし ,
割込みコントローラへ割込み要求を出力する。
<注意事項>
内部レジスタ DSRH, DSRL, DSSR, DERH, DERL へ書込みを行う場合 , RMW ( リードモ
ディファイライト ) 系の命令を使用してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
99
第 3 章 割込み
3.8 μDMAC による割込み
MB90335 シリーズ
図 3.8-12 μDMAC の動作
メモリ空間
ディスクリプタ用
RAM
DIOA
周辺機能
I/O レジスタ
I/O レジスタ
( I/O )
(3)
(4) (a)
(1)
(2)
DMA コントローラ
DMA
ディスクリプタ
(4) (b)
バッファ
CPU
DDCT
DBAP
DIOA:DMA I/O アドレスポインタ
DBAP:DMAバッファアドレスポインタ
100
(2)
割込み
コントローラ
DER:DMA 許可レジスタ
DDCT:DMAデータカウンタ
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.8 μDMAC による割込み
MB90335 シリーズ
■ μDMAC 使用手順
図 3.8-13 に μDMAC の使用手順を示します。
図 3.8-13 μDMAC の使用手順
ハード的処理
ソフト的処理
(割込み発生)
開始
NO
該当chのENx=1
システムスタック領域の設定
YES
初期設定
周辺機能の初期設定
YES
STOP要求 and SE=1
NO
DMA転送
割込み制御レジスタの設定
(DBAP)
BF = 0
(DIOA)
NO
NO
IF = 0
YES
YES
BW = 1
ユーザプログラムの実行
NO
YES
YES
BYTEL = 0
YES
BAP = BAP+2
NO
BW = 1
NO
NO
NO
BYTEL = 0
YES
IOA = IOA+2
BAP = BAP+1
STPx = 1
NO
YES
DDCT=0000H
DDCT=0000H
DDCT=0000H
YES
IOA = IOA+1
NO
YES
DTEx = 1
(割込みルーチンへジャンプ)
割込み処理
*
ENx = 0
NO
ほかの割込み発生
YES
割込み発生
YES
NO
処理終了
ENx :DMA許可レジスタの該当するビット
DTEx:DMAステータスレジスタの該当するビット
STPx:DMAストップステータスレジスタの該当するビット
*
:割込みコントローラに割込み要求を出力
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
101
第 3 章 割込み
3.9 例外
3.9
MB90335 シリーズ
例外
F2MC-16LX では , 以下の要因により例外が発生し , 例外処理が行われます。
■ 未定義命令の実行
例外処理は , 基本的には割込みと同じものであり , 命令の境目で例外事項が発生したこ
とを検出した段階で , 通常処理から離れて例外処理を行います。一般的に , 例外処理は
予想外の動作を行った結果で発生するものですので , デバッグ時だけの使用や緊急時
の復旧ソフトウェアの起動などに使用することをお勧め致します。
■ 未定義命令の実行による例外発生
F2MC-16LX では , 命令マップで定義していないコードはすべて未定義命令として扱い
ます。未定義命令を実行すると , ソフトウェア割込み命令の「INT10」と等価な処理を
行います。すなわち , AL, AH, DPR, DTB, ADB, PCB, PC, PS の内容をシステムスタック
に退避した後に , I フラグを "0" に設定し , S フラグを "1" に設定し , 割込み番号 10 の
ベクタで示されるルーチンへ分岐します。スタックへ退避した PC の値は未定義命令を
格納しているアドレスそのものです。2 バイト以上の命令コードでは , 未定義であるこ
とが識別できたコードを格納しているアドレスになります。このため , RETI 命令で復
帰させることは可能ですが , 再び例外を発生するため , 意味がありません。
102
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.10 割込み処理のスタック動作
MB90335 シリーズ
割込み処理のスタック動作
3.10
割込みが受け付けられると , 割込み処理に分岐する前に , 専用レジスタの内容を自動
的にシステムスタックに退避します。割込み処理終了時のスタックからの復帰も自
動的に行われます。
■ 割込み処理開始時のスタック動作
割込みが受け付けられると , CPU は現在の専用レジスタ類の内容を , 次に示す順番で自
動的にシステムスタックに退避させます。
1. アキュムレータ (A)
2. ダイレクトページレジスタ (DPR)
3. アディショナルデータバンクレジスタ (ADB)
4. データバンクレジスタ (DTB)
5. プログラムカウンタバンクレジスタ (PCB)
6. プログラムカウンタ (PC)
7. プロセッサステータス (PS)
図 3.10-1 に , 割込み処理開始時のスタック動作を示します。
図 3.10-1 割込み処理開始時のスタック動作
割込み直前
SSB
アドレス
00H
割込み直後
メモリ
SSB
08FF H
08FEH
A
0000H
00H
XXH
H
AH
08F2H
A
0000H
00H
08FEH
AH
XXH
08H
AL
01H
ADB
00H
DTB
00H
PCB
FFH
01H
XXH
DPR
01H
ADB
00H
DTB
00H
PCB
FFH
00H
XXH
XXH
PC
803FH
PS
20E0H
00H
XXH
FFH
L
XXH
80H
PC
803FH
PS
20E0H
3FH
XXH
08F2H
XXH
20H
バイト
AL
FEH
XXH
DPR
AH
00H
XXH
AL
SP
08FEH
SSP
XXH
08FEH
メモリ
08FFH
SP
08FE H
SSP
アドレス
08F2H
E0H
バイト
DPR
ADB
DTB
PCB
PC
PS
更新後
のSP
■ 割込み処理復帰時のスタック動作
割込み処理終了時に割込み復帰命令 (RETI) を実行すると , 割込み処理開始時と反対の
順番で PS, PC, PCB, DTB, ADB, DPR, A の値がスタックから復帰し , 専用レジスタは割
込み開始直前の状態に戻ります。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
103
第 3 章 割込み
3.10 割込み処理のスタック動作
MB90335 シリーズ
■ スタック領域
● スタック領域の確保
スタック領域は , 割込み処理のほかにサブルーチンコール命令 (CALL) やベクタコール
命令 (CALLV) を実行するときのプログラムカウンタ (PC) の退避 / 復帰や , PUSHW,
POPW 命令による一時的なレジスタ類の退避 / 復帰にも使われます。スタック領域は ,
データ領域とともに RAM 上に確保します。
図 3.10-2 にスタック領域を示します。
図 3.10-2 スタック領域
ベクタテーブル
(リセット・割込み
ベクタコール命令)
FFFFFFH
FFFC00H
ROM領域
FC0000H*1
0040FFH*2
内蔵RAM領域
スタック領域
000380H
汎用レジスタ
バンク領域
000180H
000100H
0000FBH
000000H
内蔵I/O領域
*1:品種によって, 内蔵ROM容量が異なります。
*2:品種によって, 内蔵RAM容量が異なります。
<注意事項>
•
スタックポインタ (SSP, USP) にアドレスを設定する場合 , 原則として偶数アドレスを
設定してください。
•
システムスタック領域 , ユーザスタック領域 , およびデータ領域は , お互いに重なり合
わないように配置してください。
● システムスタックとユーザスタック
割込み処理では , システムスタック領域を使用します。割込み発生時にユーザスタック
領域を使用していても , 強制的にシステムスタックに切り換えられます。このため ,
ユーザスタック領域を主に使用するシステムであっても , システムスタック領域を正
しく設定しておく必要があります。特に , スタック空間を分ける必要がなければ , シス
テムスタックだけを使用してください。
104
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.11 割込み処理のプログラム例
MB90335 シリーズ
3.11
割込み処理のプログラム例
割込み処理のプログラム例を示します。
■ 割込み処理のプログラム例
● 処理仕様
外部割込み 0(INT0) を利用した割込みプログラムの一例です。
● コーディング例
DDR6
EQU
000016H
; ポート 6 方向レジスタ
ENIR
EQU
00003CH
; 割込み /DTP 許可レジスタ
EIRR
EQU
00003DH
; 割込み /DTP 要因レジスタ
ELVR
EQU
00003EH
; 要求レベル設定レジスタ
ICR03
EQU
0000B3H
; 割込み制御レジスタ 03
STACK
SSEG
RW
100
STACK_T RW
STACK
; スタック
1
ENDS
;---------- メインプログラム -----------------------------------------------------------CODE
CSEG
;
START:
MOV
RP, #0
; 汎用レジスタは先頭バンクを使用
MOV
ILM, #07H
; PS 内 ILM をレベル 7 に設定
MOV
A, #!STACK_T
; システムスタックの設定
MOV
SSB, A
MOVW A, #STACK_T
; スタックポインタの設定 , このときは
MOVW SP, A
; S フラグ =1 のため SSP にセットされる
MOV
DDR6, #00000000B ; P60/INT0 端子を入力に設定
OR
CCR, #40H
; PS内CCRのIフラグをセットして割込み許可
MOV
I:ICR03, #00H
; 割込みレベル 0( 最強 ) とする
MOV
I:ELVR, #00000001B ; INT0 を "H" レベル要求とする
MOV
I:EIRR, #00H
; INT0 の割込み要因をクリア
MOV
I:ENIR, #01H
; INT0 の入力許可
:
LOOP:
NOP
; ダミーループ
NOP
NOP
NOP
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
105
第 3 章 割込み
3.11 割込み処理のプログラム例
BRA
MB90335 シリーズ
LOOP
; 無条件ジャンプ
;---------- 割込みプログラム -----------------------------------------------------------ED_INT1:
MOV
I:EIRR, #00H
; INT0 の新規受付禁止
NOP
NOP
NOP
NOP
NOP
NOP
; 割込みから復帰
RETI
CODE
ENDS
;---------- ベクタ設定 -----------------------------------------------------------------VECT
VECT
CSEG
ABS=0FFH
ORG
0FFB4H
DSL
ED_INT1
ORG
0FFDCH
DSL
START
DB
00H
; 割込み #18(12H) にベクタを設定
; リセットベクタ設定
; シングルチップモードに設定
ENDS
END
START
● 拡張インテリジェント I/O サービス (EI2OS) のプログラム例処理仕様
1. INT0端子に入力される, 信号の"H"レベルを検出して拡張インテリジェントI/Oサー
ビス (EI2OS) を起動
2. INT0 端子に "H" レベルが入力されると , EI2OS が起動されポート 0 のデータをメモ
リの "3000H" 番地に転送
3. 転送データバイト数は 100 バイトで , 100 バイト転送後 , EI2OS 転送終了による割込
みが発生
● コーディング例
106
DDR6
EQU
000016H
; ポート 6 方向レジスタ
ENIR
EQU
00003CH
; 割込み /DTP 許可レジスタ
EIRR
EQU
00003DH
; 割込み /DTP 要因レジスタ
ELVR
EQU
00003EH
; 要求レベル設定レジスタ
ICR03
EQU
0000B3H
; 割込み制御レジスタ 03
BAPL
EQU
000100H
; バッファアドレスポインタ下位
BAPM
EQU
000101H
; バッファアドレスポインタ中位
BAPH
EQU
000102H
; バッファアドレスポインタ上位
ISCS
EQU
000103H
; EI2OS ステータス
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.11 割込み処理のプログラム例
MB90335 シリーズ
IOAL
EQU
000104H
; I/O アドレスポインタ下位
IOAH
EQU
000105H
; I/O アドレスポインタ上位
DCTL
EQU
000106H
; データカウンタ下位
DCTH
EQU
000107H
; データカウンタ上位
ER0
EQU
EIRR:0
; 外部割込み要求フラグビットの定義
STACK
SSEG
RW
STACK_T RW
STACK
; スタック
100
1
ENDS
;---------- メインプログラム -----------------------------------------------------------CODE
CSEG
START:
AND
CCR, #0BFH
; PS内CCRのIフラグをクリアして割込み禁止
MOV
RP, #00
; レジスタバンクポインタを設定
MOV
A, #!STACK_T
; システムスタックの設定
MOV
SSB, A
MOVW A, #STACK_T
; スタックポインタの設定 , このときは
MOVW SP, A
; S フラグ =1 のため SSP にセットされる
MOV
I:DDR6, #00000000B ; P60/INT0 端子を入力に設定
MOV
BAPL, #00H
MOV
BAPM, #30H
MOV
BAPH, #00H
MOV
ISCS, #00010001B
; バッファアドレスをセット (003000H)
; I/O アドレス更新なし , バイト転送 ,
バッファアドレス更新あり
; I/O →バッファへ転送 , 周辺機能による終了
あり
; 転送元アドレスをセット(ポート0:000000H)
MOV
IOAL, #00H
MOV
IOAH, #00H
MOV
DCTL, #64H
MOV
DCTH, #00H
MOV
I:ICR00, #00001000B ; EI2OS ch.0, EI2OS 許可 , 割込み
; 転送バイト数をセット (100 バイト )
レベル 0 ( 最強 )
MOV
I:ELVR, #00000001B ; INT0 を "H" レベル要求とする
MOV
I:EIRR, #00H
; INT0 の割込み要因クリア
MOV
I:ENIR, #01H
; INT0 の割込み許可
MOV
ILM, #07H
; PS 内 ILM をレベル 7 に設定
OR
CCR, #40H
; PS内CCRのIフラグをセットして割込み許可
:
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
107
第 3 章 割込み
3.11 割込み処理のプログラム例
LOOP:
BRA
MB90335 シリーズ
LOOP
; 無限ループ
;---------- 割込みプログラム -----------------------------------------------------------WARI
CLRB
ER0
; 割込み /DTP 要求フラグのクリア
:
ユーザ処理
; EI2OS の終了要因をチェック ,
; バッファ中のデータの処理 , EI2OS の再設定
:
など
RETI
CODE
ENDS
---------- ベクタ設定 ------------------------------------------------------------------VECT
VECT
CSEG
ABS=0FFH
ORG
0FFB4H
DSL
WARI
ORG
0FFDCH
DSL
START
DB
00H
; リセットベクタ設定
; シングルチップモードに設定
ENDS
END
108
; 割込み #18(12H) にベクタを設定
START
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 3 章 割込み
3.12 遅延割込み発生モジュール
MB90335 シリーズ
3.12
遅延割込み発生モジュール
遅延割込み発生モジュールは , タスク切換え用の割込みを発生するためのモジュー
ルです。本モジュールを使用することによってソフトウェアで F2MC-16LX CPU に
対して割込み要求の発生 / 取消しを行うことができます。
■ 遅延割込み発生モジュールのブロックダイヤグラム
図 3.12-1 に , 遅延割込み発生モジュールのブロックダイヤグラムを示します。
図 3.12-1 遅延割込み発生モジュールのブロックダイヤグラム
F2MC-16LX バス
遅延割込み要求発生・解除デコーダ
要因ラッチ
■ 遅延割込み発生モジュールのレジスタ一覧
遅延割込み発生モジュール{遅延割込み要因発生/解除レジスタ(DIRR:Delayed Interrupt
Request Register)} のビット構成は下図のとおりです。
図 3.12-2
bit
00009FH
遅延割込み要因発生 / 解除レジスタ (DIRR) のビット構成
15
14
13
12
11
10
9
8
-
-
-
-
-
-
-
R0
R/W
初期値
-------0B
R/W : リード・ライト可能
遅延割込み要因発生 / 解除レジスタ (DIRR) は , 遅延割込み要因の発生 / 解除を制御す
るレジスタです。このレジスタに対して "1" を書き込むときには遅延割込みの要求を
発生させ , "0" を書き込むときには遅延割込みの要求を解除します。リセット時には要
因解除状態になります。予約ビット領域は "0", "1" どちらの書込みでも結構ですが , 将
来の拡張を考慮してこのレジスタをアクセスする際には , セットビット , クリアビット
命令を使用することをお勧め致します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
109
第 3 章 割込み
3.12 遅延割込み発生モジュール
3.12.1
MB90335 シリーズ
遅延割込み発生モジュールの動作
ソフトウェアで CPU が DIRR の該当ビットに "1" を書き込むと , 遅延割込み発生モ
ジュールの中にある要求ラッチがセットされ , 割込みコントローラに割込み要求を
発生します。
■ 遅延割込み発生モジュールの動作
ソフトウェアで CPU が DIRR の該当ビットに "1" を書き込むと , 遅延割込み発生モ
ジュールの中にある要求ラッチがセットされ , 割込みコントローラに割込み要求を発
生します。ほかの割込み要求が本割込みより優先順位が低いまたはほかの割込み要求
がない場合に , 割込みコントローラは F2MC-16LX CPU に対して割込みを発生します。
F2MC-16LX CPU は自分の内部にある CCR レジスタ中の ILM ビットと割込み要求を比
較し , 要求レベルが ILM ビットより高かったときに現在実行中の命令が終了し次第 ,
ハードウェア割込み処理マイクロプログラムを起動します。この結果 , 本割込みに対す
る割込みルーチンが実行されます。割込み処理ルーチン内で DIRR の該当ビットに "0"
を書き込むことによって本割込み要因をクリアし, 併せてタスクの切換えを行います。
以上の動作の流れを , 図 3.12-3 に示します。
図 3.12-3 遅延割込み発生モジュールの動作
遅延割込み発生モジュール
割込みコントローラ
F2MC-16LX CPU
ほかの要求
IL
ICRYY
DIRR
CMP
ICRXX
CMP
ILM
INTA
■ 遅延割込み発生モジュールの使用上の注意 ( 遅延割込み要求ラッチ )
このラッチは , DIRR の該当するビットに "1" を書き込むことによってセットされ , 同
じビットに "0" を書き込むことによってクリアされます。したがって , 割込み処理ルー
チン内で , 要因をクリアするようにソフトウェアを作成しておかないと , 割込み要因処
理から復帰した途端に再割込み処理を起動することになりますので , 注意してくださ
い。
110
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第4章
リセット
MB90335 シリーズのリセットについて説明しま
す。
4.1 リセットの概要
4.2 リセット要因と発振安定待ち時間
4.3 外部リセット端子
4.4 リセット動作
4.5 リセット要因ビット
4.6 リセットによる各端子の状態
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
111
第 4 章 リセット
4.1 リセットの概要
MB90335 シリーズ
リセットの概要
4.1
リセット要因が発生すると , CPU は現在実行中の処理を直ちに中断し , リセット解
除待ち状態になります。リセット解除後は , リセットベクタで示されたアドレスか
ら処理を開始します。
リセットには , 次の 4 種類の要因があります。
• パワーオンリセットの発生
• ウォッチドッグタイマのオーバフロー
• RST 端子からの外部リセット要求の発生
• ソフトウェアリセット要求の発生
■ リセット要因
リセットの要因について表 4.1-1 に示します。
表 4.1-1 リセット要因
リセット
発生要因
マシンクロック
ウォッチドッグ
タイマ
発振安定待ち
パワーオン
電源投入時
メインクロック
(MCLK)
停止
あり
ウォッチドッグ
タイマ
ウォッチドッグタイマ
オーバフロー
メインクロック
(MCLK)
停止
なし
外部端子
RST 端子への "L" レベ
ル入力
メインクロック
(MCLK)
停止
なし
ソフトウェア
低消費電力モード制御
レジスタ(LPMCR)の内
部リセット信号発生
ビット (RST) に "0" を
書き込む
メインクロック
(MCLK)
停止
なし
メインクロック : 発振クロックの 2 分周クロック
● パワーオンリセット
パワーオンリセットは , 電源投入時に発生するリセットです。評価品 / フラッシュ品 /
マスク品の発振安定待ち時間は 217/HCLK( 約 21.85 ms: 発振クロック 6 MHz 時 ) 固定で
す。発振安定待ち時間が経過した後 , リセット動作を行います。
● ウォッチドッグリセット
ウォッチドッグリセットは , ウォッチドッグタイマの起動後 , 定められた時間内に
ウォッチドッグタイマ制御レジスタ (WDTC) のウォッチドッグ制御ビット (WTE) に "0"
の書込みがない場合 , ウォッチドッグタイマのオーバフローによってリセットを発生
します。発振安定待ち時間はクロック選択レジスタ (CKSCR) で設定できます。
112
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 4 章 リセット
4.1 リセットの概要
● 外部リセット
外部リセットは , 外部リセット端子 (RST 端子 ) に "L" レベルを入力することによって
リセットを発生します。RST 端子への "L" レベル入力時間は ,16 マシンサイクル (16/ φ)
以上必要です。
外部リセット (RST 端子入力リセット ) では , 発振安定待ち時間をとりません。
<参考>
RST 端子によるリセット要求が発生した場合に限り , 書込み動作中 ( 転送系命令実行中
MOV 命令など ) にリセット要因が発生した場合は , 命令の終了後にリセット解除待ち状態
になります。そのため , 書込み中にリセットが入力されても , 正常に書込みを終了します。
ただし , ストリング系命令 (MOVS 命令など ) は指定したカウンタ分の転送が完了する前
に , リセットを受け付けますので , すべてのデータが転送されることは保証されません。
また , 外部バスアクセス時に RDY 端子によるバスサイクルの延長が 16 マシンサイクル以
上続いた場合もリセットを受け付けます。
● ソフトウェアリセット
ソフトウェアリセットは , 低消費電力モード制御レジスタ (LPMCR) の内部リセット信
号発生ビット (RST) に "0" を書き込むことによって , 内部リセットを発生します。ソフ
トウェアリセットでは , 発振安定待ち時間をとりません。
<参考>
クロックの定義
HCLK : 発振クロック ( 高速発振端子から供給されるクロック )
MCLK : メインクロック (HCLK の 2 分周クロック )
φ
: マシンクロック (CPU 動作クロック )
1/ φ
: マシンサイクル (CPU 動作クロック周期 )
マシンクロックの詳細は , 「5.1 クロックの概要」を参照してください。
<注意事項>
ストップモードでリセットが発生した場合は, 217/HCLK(約21.85 ms:発振クロック6 MHz
時 ) の発振安定待ち時間をとります。
クロックモードの詳細は , 「5.4 クロックモード」を参照してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
113
第 4 章 リセット
4.2 リセット要因と発振安定待ち時間
4.2
MB90335 シリーズ
リセット要因と発振安定待ち時間
MB90335 シリーズには , 4 種類のリセット要因があります。リセット時の発振安定
待ち時間はリセット要因によってそれぞれ異なります。
■ リセット要因と発振安定待ち時間
表 4.2-1 に , リセット要因と発振安定待ち時間について示します。
表 4.2-1 リセット要因と発振安定待ち時間
発振安定待ち時間
() 内は発振クロック 6 MHz 時
リセット要因
パワーオンリセット
評価品 / フラッシュ品 / マスク品 : 217/HCLK( 約 21.85 ms)
ウォッチドッグタイマ
なし : ただし , WS1, WS0 ビットは "11B" に初期化されます。
RST端子からの外部リセット
なし : ただし , WS1, WS0 ビットは "11B" に初期化されます。
ソフトウェアリセット
なし : ただし , WS1, WS0 ビットは "11B" に初期化されます。
HCLK
: 発振クロック
WS1, WS0 : クロック選択レジスタ (CKSCR) の発振安定待ち時間選択ビット
図 4.2-1 に , パワーオンリセット時の評価品 / フラッシュ品とマスク品の発振安定待ち
時間について示します。
図 4.2-1 パワーオンリセット時の評価品 / フラッシュ品とマスク品の発振安定待ち時間
評価品/フラッシュ品
Vcc
17
2 /HCLK
17
2 /HCLK
CLK
CPU動作
降圧回路の
安定待ち時間
発振安定
待ち時間
マスク品
Vcc
217/HCLK
CLK
CPU動作
発振安定待ち時間
HCLK:発振クロック
114
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 4 章 リセット
4.2 リセット要因と発振安定待ち時間
<注意事項>
セラミックや水晶などの振動子は , 発振を開始してから固有の振動数に安定するまで , 一
般に数ミリ秒から十数ミリ秒の発振安定待ち時間が必要です。そのため , 使用する振動子
に合わせた値を設定してください。
詳細は , 「5.5 発振安定待ち時間」を参照してください。
■ 発振安定待ちリセット状態
電源投入時のリセット , ストップモード中のリセットに対するリセット動作は , タイム
ベースタイマによって作られる発振安定待ち時間が経過してからとなります。この場
合 , 外部リセット入力が解除されていなければ , 外部リセット解除後にリセット動作を
行います。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
115
第 4 章 リセット
4.3 外部リセット端子
4.3
MB90335 シリーズ
外部リセット端子
外部リセット端子 (RST 端子 ) は , リセット入力専用端子で , "L" レベルの入力に
よって内部リセットを発生します。MB90335 シリーズは , CPU 動作クロックに同期
してリセットが発生しますが , 外部端子 ( ポートなど ) のみ非同期でリセット状態に
遷移します。
■ 外部リセット端子のブロックダイヤグラム
図 4.3-1 に , 内部リセット発生のブロックダイヤグラムを示します。
図 4.3-1 内部リセット発生のブロックダイヤグラム
CPU動作クロック
(PLL逓倍回路,HCLKの2分周)
RST
CPU
P-ch
同期化回路
端子
N-ch
入力バッファ
HCLK:発振クロック
周辺機能
I/Oポート
など
<注意事項>
書込み動作中のリセットによるメモリ破壊を防ぐため, RST端子入力の受付けをメモリが
破壊されないサイクルで行います。
また , 内部回路の初期化には , クロックが必要です。特に外部クロックで動作させる場合
は , リセット入力時にクロックを入力する必要があります。
116
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 4 章 リセット
4.4 リセット動作
MB90335 シリーズ
4.4
リセット動作
リセットが解除されると , モード端子の設定でモードデータとリセットベクタの読
出し先を選択し , モードフェッチを行います。このモードフェッチで , CPU の動作
モードとリセット動作終了後の実行開始アドレスが決定されます。電源投入時およ
びストップモードからのリセットによる復帰では , 発振安定待ち時間が経過してか
らモードフェッチを行います。
■ リセット動作の概要
図 4.4-1 に , リセット動作フローを示します。
図 4.4-1 リセット動作フロー
パワーオンリセット
ストップモード
外部リセット
ソフトウェアリセット
ウォッチドッグタイマリセット
リセット中
発振安定待ちリセット状態
モードフェッチ
(リセット動作)
モードデータ取込み
外部バスモード関連の
端子状態および機能変更
リセットベクタ取込み
通常動作
(RUN状態)
リセットベクタが示す
アドレスから命令コードを
取り込み,命令を実行
■ モード端子
モード端子 (MD2 ∼ MD0) は , リセットベクタとモードデータの取込み方法を指定しま
す。リセットベクタとモードデータの取込みは , リセットシーケンスで行います。モー
ド端子の詳細は , 「7.2 モード端子 (MD2 ∼ MD0)」を参照してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
117
第 4 章 リセット
4.4 リセット動作
MB90335 シリーズ
■ モードフェッチ
リセットが解除されると , CPU は , リセットベクタとモードデータを CPU コア内の該
当レジスタ内にハードウェア転送します。リセットベクタとモードデータは ,
FFFFDCH ∼ FFFFDFH の 4 バイトに割り当てられています。CPU は , リセット解除で
直ちにこれらのアドレスをバスに出力し , リセットベクタとモードデータを取り込み
ます。このモードフェッチで , CPU はリセットベクタが指すアドレスから処理を開始
します。
図 4.4-2 に , リセットベクタとモードデータの転送を示します。
図 4.4-2 リセットベクタとモードデータの転送
F2MC-16LX CPUコア
メモリ空間
モード
レジスタ
FFFFDF H
モードデータ
FFFFDE H
リセットベクタ・bit23~bit16
FFFFDD H
リセットベクタ・bit15~bit8
FFFFDC H
リセットベクタ・bit7~bit0
マイクロROM
リセットシーケンス
PCB
PC
<参考>
リセットベクタとモードデータを , 内部 ROM または外部メモリのどちらから読み出すか
は , モード端子によって指定します。モード端子で外部ベクタモードを指定すると , 内部
ROM ではなく , 外部メモリからリセットベクタとモードデータを読み出しますので , シ
ングルチップモードおよび内部 ROM 外部バスモードで使用される場合には , モード端子
で内部ベクタモードを指定することを推奨します。
● モードデータ ( アドレス : FFFFDFH)
モードレジスタの内容を変更できるのはリセット動作だけで , モードレジスタの設定
はリセット動作以降に有効となります。モードデータの詳細は , 「7.3 モードデータ」
を参照してください。
● リセットベクタ ( アドレス : FFFFDCH ∼ FFFFDEH)
リセット動作終了後の実行開始アドレスを書き込んでおきます。この内容のアドレス
から実行を開始します。
118
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 4 章 リセット
4.5 リセット要因ビット
MB90335 シリーズ
4.5
リセット要因ビット
リセット発生要因は , ウォッチドッグタイマ制御レジスタ (WDTC) を読み出すこと
によって識別できます。
■ リセット要因ビット
図 4.5-1 に示すように , それぞれのリセット要因には対応したフリップフロップがあり
ます。これらの内容は , ウォッチドッグタイマ制御レジスタ (WDTC) を読み出すと得
られます。リセット解除後にリセット発生要因を識別する必要がある場合には , WDTC
レジスタの読出し値をソフトウェアで処理した上で , 適切なプログラムへ分岐するよ
うにしてください。
図 4.5-1 リセット要因ビットブロックダイヤグラム
RST端子
RST=L
電源投入
パワーオン発生
検出回路
定期的なクリアなし
外部リセット
要求検出回路
ウォッチドッグ
タイマ制御
レジスタ
(WDTC)
S
F/F
Q
R
S
F/F
Q
R
S
ウォッチドッグ
タイマリセット
発生検出回路
R
F/F
Q
S
RSTビットセット
LPMCR:RSTビット
書込み検出回路
R
F/F
遅延回路
Q
ウォッチドッグタイマ
制御レジスタ
(WDTC)読出し
F2MC-16LX 内部バス
S:セット R:リセット Q:出力 F/F:フリップフロップ
■ リセット要因ビットとリセット要因の対応
ウォッチドッグタイマ制御レジスタ(WDTC)のリセット要因ビットの構成を図 4.5-2に,
リセット要因ビットの内容とリセット要因の対応を表 4.5-1 に示します。
詳細は , 「10.2 ウォッチドッグタイマ制御レジスタ (WDTC)」のビット構成を参照し
てください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
119
第 4 章 リセット
4.5 リセット要因ビット
MB90335 シリーズ
図 4.5-2 リセット要因ビットの構成 ( ウォッチドッグタイマ制御レジスタ )
ウォッチドッグタイマ制御レジスタ (WDTC)
bit
0000A8H
15 ∼ 8
7
(TBTC)
PONR
X
R
6
予約
X
-
5
4
WRST ERST
X
X
R
R
3
2
1
0
SRST
X
R
WTE
1
W
WT1
1
W
WT0
1
W
初期値
R/W
R : リードオンリ
W : ライトオンリ
X : 不定
表 4.5-1 リセット要因ビットの内容とリセット要因の対応
PONR
WRST
ERST
SRST
パワーオンリセットの発生
1
X
X
X
ウォッチドッグタイマのオーバフロー発生
*
1
*
*
RST 端子からの外部リセット要求発生
*
*
1
*
ソフトウェアリセット要求の発生
*
*
*
1
リセット要因
* : 前の状態を保持
X : 不定
■ リセット要因ビットの注意事項
● 複数のリセット要因が発生した場合
リセット要因が複数発生する場合は , WDTC レジスタの対応するそれぞれのリセット
要因ビットが "1" にセットされます。例えば , RST 端子からの外部リセット要求の発生
とウォッチドッグタイマのオーバフローが同時に発生した場合 , リセット要因ビット
のうち ERST ビットと WRST ビットが "1" になります。
● パワーオンリセットの場合
パワーオンリセット時には , リセット要因ビットのうち PONR ビットが "1" にセットさ
れますが , PONR ビット以外のリセット要因ビットは不定となります。このため , PONR
ビットが "1" の場合は , PONR ビット以外のリセット要因ビットを無視するようにソフ
トウェアを作成してください。
● リセット要因ビットのクリア
リセット要因ビットは , WDTC レジスタを読み出した場合のみクリアされます。一度
発生したリセット要因に対応するビットは , リセットが発生してもクリアされません
("1" のままです )。
<注意事項>
パワーオンリセットが発生しない条件で電源を立ち上げた場合, WDTCレジスタの値は保
証されません。
120
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
4.6
第 4 章 リセット
4.6 リセットによる各端子の状態
リセットによる各端子の状態
リセットによる各端子の状態について説明します。
■ リセット中の端子の状態
リセット中の端子の状態は , モード端子 (MD2 ∼ MD0) の設定によって決定されます。
● 内部ベクタモード設定時 (MD2 ∼ MD0=011B)
I/O 端子 ( リソース端子 ) はすべてハイインピーダンスになり , モードデータの読出し
先は内部 ROM になります。
リセット中の各端子の状態については , 「6.7 スタンバイモード , リセット時の端子状
態」を参照してください。
■ モードデータ読出し後の端子の状態
モードデータ読出し後の端子の状態は, モードデータ(M1, M0)によって決定されます。
● シングルチップモード選択時 (M1, M0=00B)
I/O 端子 ( リソース端子 ) はすべてハイインピーダンスになり , モードデータの読出し
先は内部 ROM になります。
<注意事項>
リセット要因が発生した場合にハイインピーダンスとなる端子は , その端子に接続した機
器が誤動作しないように配慮してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
121
第 4 章 リセット
4.6 リセットによる各端子の状態
122
MB90335 シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第5章
クロック
MB90335 シリーズのクロックについて説明しま
す。
5.1 クロックの概要
5.2 クロック発生部のブロックダイヤグラム
5.3 クロック選択レジスタ (CKSCR)
5.4 クロックモード
5.5 発振安定待ち時間
5.6 振動子と外部クロックの接続
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
123
第 5 章 クロック
5.1 クロックの概要
5.1
MB90335 シリーズ
クロックの概要
クロック発生部は , CPU や周辺機能の動作クロックである内部クロックの動作を制
御します。クロックは下記の 4 種類があります。
• マシンクロック : 内部クロックのことをいいます。
• マシンサイクル : マシンクロックの 1 周期をいいます。
• 発振クロック
: 高速発振端子から供給されるクロックをいいます。
• PLL クロック
: 内部の PLL 発振によるクロックをいいます。
■ クロックの概要
クロック発生部は発振回路を内蔵しており , 外部に振動子を接続することによって , 発
振クロックを発生します。外部で生成したクロックを入力して , 発振クロックにするこ
ともできます。また , PLL クロック逓倍回路を内蔵しており , 発振クロックの逓倍ク
ロックを 3 種類発生できます。クロック発生部では , 発振安定待ち時間の制御 , PLL ク
ロック逓倍制御およびクロックセレクタでのクロックの切換えによる , 内部クロックの
動作制御を行います。
● 発振クロック (HCLK)
高速発振端子に振動子を接続するか , 外部クロックを入力して発生させたクロックで
す。
● メインクロック (MCLK)
発振クロックの2分周クロックであり, タイムベースタイマとクロックセレクタへの入
力クロックとなります。
● PLL クロック (PCLK)
発振クロックを , 内蔵の PLL クロック逓倍回路 (PLL 発振回路 ) により逓倍したクロッ
クです。3 種類のクロックを選択できるようになっています。
● マシンクロック (φ)
CPU と周辺機能の動作クロックです。このクロックの 1 周期を , マシンサイクル (1/ φ)
としています。メインクロック ( 発振クロックの 2 分周クロック ) と , 3 種類の逓倍ク
ロックの中から 1 種類を選択できるようになっています。
<注意事項>
• 発振クロックは 1 MHz ∼ 7 MHz の発振が可能です。CPU および周辺機能は最大動作
周波数が 24 MHz です。最大動作周波数を超える逓倍率を指定した場合 , デバイスは正
常に動作しません。例えば , 原発振が 6 MHz で発振している場合には , 最大 4 逓倍の
指定が可能です。
• USBホスト, USBファンクション使用時はこの6 MHz 4逓倍の設定が必要となります。
124
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 5 章 クロック
5.1 クロックの概要
MB90335 シリーズ
■ クロック供給マップ
CPU や周辺機能の動作クロックとして , クロック発生部で生成したマシンクロックを
供給しています。このため , CPU と周辺機能の動作は , メインクロックと PLL クロッ
クの切換え ( クロックモード ) や PLL クロック逓倍率切換えの影響を受けます。一部
の周辺機能へは , タイムベースタイマの分周出力が供給されており , 各周辺で , その動
作クロックを選択できるようになっています。図 5.1-1 に , クロック供給マップを示し
ます。
図 5.1-1 クロック供給マップ
周辺機能
4
クロック発生部
タイムベースタイマ
ウォッチドッグ
タイマ
16ビット
PPGタイマ
0/1/2/3
端子 PPG0~PPG3
16ビット
PWCタイマ
端子 PWC
8ビット
拡張シリアルI/O
1 2 4
X1
端子
PCLK
システム
クロック
発生回路
HCLK
2分周
端子 SIN
端子
PLL逓倍回路
X0
端子
端子 SCK
SOT
端子 SCK0,SCK1
UART0/1
クロックセレクタ
端子 SIN0,SIN1
MCLK
端子 SOT0,SOT1
16ビット
リロードタイマ 0
端子 TIN0
端子 TOT0
CPU
外部割込み
端子 INT0~INT7
端子 DVP
USBファンクション
端子 DVM
端子 HCON
端子 UTEST
USBホスト
端子 HVP
端子 HVM
I2Cインタフェース
端子 SCL0
端子 SDA0
3
CM44-10137-6
発振安定待ち制御
FUJITSU MICROELECTRONICS LIMITED
125
第 5 章 クロック
5.2 クロック発生部のブロックダイヤグラム
5.2
MB90335 シリーズ
クロック発生部のブロックダイヤグラム
クロック発生部は , 次の 5 つのブロックで構成されています。
• システムクロック発生回路
• PLL 逓倍回路
• クロックセレクタ
• クロック選択レジスタ (CKSCR)
• 発振安定待ち時間セレクタ
■ クロック発生部のブロックダイヤグラム
図 5.2-1 に , クロック発生部のブロックダイヤグラムを示します。
なお, 図 5.2-1には, スタンバイ制御回路, タイムベースタイマの回路も含まれています。
図 5.2-1 クロック発生部のブロックダイヤグラム
低消費電力モード制御レジスタ(LPMCR)
STP
SLP
SPL
RST
TMD
CG1
CG0 予約
RST 端子
端子ハイインピー
ダンス制御回路
端子Hi-Z制御
内部リセット
発生回路
内部リセット
CPU間欠動作
サイクルセレクタ
間欠サイクル選択
CPUクロック
制御回路
リセット(解除)
スリープ,ストップ信号
スタンバイ
制御回路
2
CPU動作
クロック
ストップ信号
割込み(解除)
周辺クロック
制御回路
クロック
発生部
周辺機能
動作クロック
メインクロック発振安定待ち解除
動作クロック
セレクタ
マシン
クロック
2
発振安定
待ち時間
セレクタ
2
PLL逓倍回路
-
MCM
WS1
WS0
-
MCS
CS1
CS0
クロック選択レジスタ(CKSCR)
X0 端子
X1 端子
126
2分周
発振クロック
(HCLK)
システムクロック
発生回路
4分周
512分周
2分周
メイン
クロック
タイムベースタイマ
2分周
2分周
2分周
2分周
4分周
ウォッチドッグタイマへ
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 5 章 クロック
5.2 クロック発生部のブロックダイヤグラム
● システムクロック発生回路
高速発振端子に接続した振動子によって , 発振クロック (HCLK) を発生します。外部ク
ロックを入力することもできます。
● PLL 逓倍回路
PLL 発振で発振クロックを逓倍し , CPU クロックセレクタへ供給します。
● クロックセレクタ
メインクロックと , 3 種類の PLL クロックから , CPU 系クロック制御回路および周辺系
クロック制御回路へ供給されるクロックを選択します。
● クロック選択レジスタ (CKSCR)
発振クロックと PLL クロックの切換え , 発振安定待ち時間の選択および PLL クロック
の逓倍率の選択などを行います。
● 発振安定待ち時間セレクタ
ストップモードの解除時およびウォッチドッグリセット時の , 発振クロックの発振安
定待ち時間を選択する回路です。4 種類のタイムベースタイマ出力を選択します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
127
第 5 章 クロック
5.3 クロック選択レジスタ (CKSCR)
MB90335 シリーズ
クロック選択レジスタ (CKSCR)
5.3
クロック選択レジスタ (CKSCR) は , メインクロックと PLL クロックの切換え , 発振
安定待ち時間の選択および PLL クロックの逓倍率の選択などを行います。
■ クロック選択レジスタ (CKSCR) の構成
図 5.3-1 にクロック選択レジスタ (CKSCR) のビット構成を , 表 5.3-1 にクロック選択レ
ジスタの各ビットの機能について説明します。
図 5.3-1 クロック選択レジスタ (CKSCR) のビット構成
アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7
0000A1H
予約
MCM
WS1
WS0
予約
MCS
CS1
CS0
-
R
R/W
R/W
-
R/W
R/W
R/W
CS1 CS0
bit0
(LPMCR)
11111100B
逓倍率選択ビット
( )内は発振クロック6MHz時
0
0
0
1
2×HCLK(12MHz)
1
0
4×HCLK(24MHz)
1
1
設定禁止
MCS
初期値
1×HCLK(6MHz)
0
マシンクロック選択ビット
PLLクロック選択
1
メインクロック選択
WS1 WS0
発振安定待ち時間選択ビット
( )内は発振クロック6MHz時
0
0
0
1
213/HCLK(約1.36ms)
1
0
215/HCLK(約5.46ms)
1
1
217/HCLK(約21.84ms)*
*:パワーオンリセット時は217/HCLK(約21.85ms)になります。
MCM
PLLクロックで動作中
1
メインクロックで動作中
予約
R/W :リード・ライト可能
R :リードオンリ
:初期値
マシンクロック表示ビット
0
予約ビット
必ず"1"を設定してください。
<注意事項>
マシンクロック選択ビット (MCS) は , リセットによってメインクロック選択に初期化さ
れます。
128
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 5 章 クロック
5.3 クロック選択レジスタ (CKSCR)
MB90335 シリーズ
表 5.3-1 クロック選択レジスタ (CKSCR) の各ビットの機能 (1 / 2)
ビット名
bit15
bit14
機 能
予約 :
予約ビット
必ず "1" が表示されます。
MCM:
PLL クロック
表示ビット
• マシンクロックとして , メインクロックまたは PLL クロックの
どちらが選択されているかを表示するビットです。
• "0" の場合 , PLL クロックが選択されていることを示し , "1" の
場合 , メインクロックが選択されていることを示します。
• PLL クロック選択ビット (MCS)=0 で , かつ MCM=1 ならば , PLL
クロック発振安定待ち時間中であることを示します。
• 書込みは , 動作に影響しません。
• ストップモード解除時の発振安定待ち時間を選択します。
• すべてのリセット要因で "11B" に初期化されます。
bit13,
bit12
WS1, WS0:
発振安定待ち
時間選択ビット
( 注意事項 )
発振安定待ち時間は , 使用する振動子に合わせて適切な値を設
定する必要があります。「4.2 リセット要因と発振安定待ち時
間」を参照してください。"00B" の設定はメインクロックモー
ド時のみ設定してください。
( 参考 )
PLL クロック時の発振安定待ち時間は , 214/HCLK で固定です。
bit11
bit10
CM44-10137-6
予約 :
予約ビット
必ず "1" を設定してください。
MCS:
PLL クロック
選択ビット
• マシンクロックとして , メインクロックまたは PLL クロックの
どちらを選択するかを指定するビットです。
• "0" の場合には PLL クロックを選択し , "1" の場合にはメインク
ロックを選択します。
• "1" の場合に "0" を書き込むと , PLL クロックの発振安定待ち時
間が発生するために , 自動的にタイムベースタイマがクリアさ
れます。さらにタイムベースタイマ制御レジスタ (TBTC) の割
込み要求フラグビット (TBOF) もクリアされます。
• PLL クロックの発振安定待ち時間は , 214/HCLK で固定です ( 発
振クロック 6 MHz 時 , 発振安定待ち時間は約 2.73 ms になりま
す )。
• メインクロック選択時の動作クロックは , 発振クロックを 2 分
周したクロックとなります ( 発振クロック 6 MHz 時 , 動作ク
ロックは 3 MHz になります )。
• すべてのリセット要因で "1" に初期化されます。
( 注意事項 )
MCS ビットが "1" の場合に "0" を書き込む場合には , TBTC レ
ジスタの割込み要求許可ビット (TBIE) または割込みレベルマ
スクレジスタ (ILM) によって , タイムベースタイマ割込みがマ
スクされている状態で行うようにしてください。
FUJITSU MICROELECTRONICS LIMITED
129
第 5 章 クロック
5.3 クロック選択レジスタ (CKSCR)
MB90335 シリーズ
表 5.3-1 クロック選択レジスタ (CKSCR) の各ビットの機能 (2 / 2)
ビット名
bit9,
bit8
CS1, CS0:
逓倍率選択
ビット
機 能
• PLL クロックの逓倍率を選択するビットです。
• 3 種類の逓倍率から選択できます。
• すべてのリセット要因で "00B" に初期化されます。
( 注意事項 )
MCS ビット , または MCM ビットが "0" の場合には , 書込みが
抑止されます。一度 , MCS ビットを "1" に設定 ( メインクロッ
クモード ) 後に , CS1, CS0 ビットを書き換えてください。"11B"
は設定禁止です。
HCLK: 発振クロック
130
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
5.4
第 5 章 クロック
5.4 クロックモード
クロックモード
クロックモードには , メインクロックモード, PLL クロックモードがあります。
■ メインクロックモード , PLL クロックモード
● メインクロックモード
メインクロックモードは , CPU および周辺リソースの動作クロックとして発振クロッ
クを 2 分周したクロックを使用し , PLL クロックを停止させます。
● PLL クロックモード
PLL クロックモードは , CPU および周辺機能の動作クロックとして PLL クロックを使
用します。PLL クロックの逓倍率は , クロック選択レジスタ (CKSCR) によって選択で
きます。
<注意事項>
USB ホスト , USB ファンクション使用時は PLL クロックモードで動作させる必要があり
ます。
■ クロックモードの移行
CKSCR レジスタの PLL クロック選択ビット (MCS) への書込み動作によって , クロッ
クモードは , メインクロックモード , PLL クロックモードに移行します。
● メインクロックモードから PLL クロックモードへの移行
メインクロックモードの状態で , CKSCR レジスタの MCS ビットを "1" から "0" に書き
換えた場合には , PLL クロックの発振安定待ち時間 (214/HCLK) 後に , メインクロック
から PLL クロックに切り換わります。
● PLL クロックモードからメインクロックモードへの移行
PLL クロックモードの状態で , CKSCR レジスタの MCS ビットを "0" から "1" に書き換
えた場合には , PLL クロックとメインクロックのエッジが一致するタイミング (1 ∼
8PLL クロック後 ) で PLL クロックからメインクロックに切り換わります。
<注意事項>
CKSCR レジスタの PLL クロック選択ビット (MCS) を書き換えても即座にはマシンクロッ
クは切り換えられません。マシンクロックに依存するリソースを操作する場合には ,
CKSCR レジスタの PLL クロック表示ビット (MCM) を参照してマシンクロックの切換え
が行われたことを確認した後に , リソースの操作をしてください。
クロックモードを切り換えた場合 , 切換えが完了するまでは , ほかのクロックモードおよ
び低消費電力モードへの切換えを行わないでください。切換えの完了は , クロック選択レ
ジスタ (CKSCR) の MCM ビットを参照して確認してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
131
第 5 章 クロック
5.4 クロックモード
MB90335 シリーズ
■ PLL クロック逓倍率の選択
CKSCR レジスタの CS1, CS0 ビットに "00B" ∼ "10B" を書き込むことによって , 1 ∼ 4
逓倍の 3 種類の PLL クロック逓倍率を選択できます。"11B" は設定禁止です。
■ マシンクロック
PLL 逓倍回路から出力される PLL クロック , メインクロックが , マシンクロックとな
ります。このマシンクロックが CPU および周辺機能に供給されます。メインクロック ,
PLL クロックは , CKSCR レジスタの MCS ビットへの書込みにより , いずれかを選択で
きます。
図 5.4-1 に , マシンクロック選択の状態遷移図を示します。
132
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 5 章 クロック
5.4 クロックモード
MB90335 シリーズ
図 5.4-1 マシンクロック選択の状態遷移図
メイン
MCS=1
MCM=1
(1)
CS1,CSO=xx
(6)
メイン→PLLx
MCS=0
MCM=1
(2)
(3)
(4)
(6) CS1,CSO=xx
PLL1→メイン
MCS=1
MCM=0
(5)
(6) CS1,CSO=00
PLL2→メイン
MCS=1
MCM=0
CS1,CSO=00
(5)
PLL2逓倍
MCS=0
MCM=0
CS1,CSO=01
(6) CS1,CSO=01
PLL4→メイン
MCS=1
MCM=0
PLL1逓倍
MCS=0
MCM=0
(5)
(6) CS1,CSO=10
PLL4逓倍
MCS=0
MCM=0
CS1,CSO=10
(1)MCSビット"0"ライト
(2)PLLクロック発振安定待ち終了&CS1, CS0=00
(3)PLLクロック発振安定待ち終了&CS1, CS0=01
(4)PLLクロック発振安定待ち終了&CS1, CS0=10
(5)MCSビット"1"ライト(ウォッチドッグリセットを含む)
(6)PLLクロックとメインクロックの同期タイミング
MCS
:クロック選択レジスタ(CKSCR)のPLLクロック選択ビット
MCM
:クロック選択レジスタ(CKSCR)のPLLクロック表示ビット
CS1,CS0:クロック選択レジスタ(CKSCR)の逓倍率選択ビット
<注意事項>
マシンクロックの初期値はメインクロック (MCS=1) です。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
133
第 5 章 クロック
5.5 発振安定待ち時間
5.5
MB90335 シリーズ
発振安定待ち時間
電源投入時 , ストップモード解除時 , 発振クロックの発振が停止しているため , 発振
開始後 , 発振安定待ち時間をとる必要があります。また , メインクロックから PLL
クロックへの切換え時も , PLL 発振開始後の発振安定待ち時間が必要となります。
■ 発振安定待ち時間
セラミックや水晶などの振動子は , 発振を開始してから固有の振動数 ( 発振周波数 ) で
安定して発振するまでに , 一般的に数ミリ秒から数十ミリ秒の時間が必要です。このた
め , 発振開始直後は CPU の動作を禁止し , 発振安定待ち時間が経過して十分発振が安
定した時点で CPU にクロックを供給するようにします。振動子の種類 ( 水晶 , セラミッ
クなど ) によって発振が安定するまでの時間が異なるため , 使用する振動子に合わせて
適切な発振安定待ち時間を選択する必要があります。発振安定待ち時間は , クロック選
択レジスタ (CKSCR) の設定で選択できます。
メインクロックから PLL クロックへの切換え時は , PLL 発振安定待ち時間の間 , CPU
はメインクロックで動作し , その後 , PLL クロックに切り換わります。
図 5.5-1 に , 発振開始直後の動作を示します。
図 5.5-1 発振開始直後の動作
振動子の発振時間 発振安定待ち時間
通常動作開始または
PLLクロックへの切換え
X1
発振開始
134
発振安定
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 5 章 クロック
5.6 振動子と外部クロックの接続
MB90335 シリーズ
5.6
振動子と外部クロックの接続
MB90335 シリーズは , システムクロック発生回路を内蔵しており , 外部に振動子を
接続してクロック発生させます。また , 外部で生成したクロックを入力することも
できます。
■ 振動子と外部クロックの接続
● 水晶振動子またはセラミック振動子の接続例
水晶振動子またはセラミック振動子は , 図 5.6-1 の例で示すように接続してください。
図 5.6-1 水晶振動子またはセラミック振動子の接続例
MB90335シリーズ
X0
X1
● 外部クロックの接続例
図 5.6-2 の例で示すように , 外部クロックは X0 端子に接続し , X1 端子は開放にしてく
ださい。
図 5.6-2 外部クロックの接続例
MB90335シリーズ
X0
X1
開放
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
135
第 5 章 クロック
5.6 振動子と外部クロックの接続
136
MB90335 シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第6章
低消費電力モード
MB90335 シリーズの低消費電力モードについて説
明します。
6.1 低消費電力モードの概要
6.2 低消費電力制御回路のブロックダイヤグラム
6.3 低消費電力モード制御レジスタ (LPMCR)
6.4 CPU 間欠動作モード
6.5 スタンバイモード
6.6 状態遷移図
6.7 スタンバイモード , リセット時の端子状態
6.8 低消費電力モード使用上の注意
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
137
第 6 章 低消費電力モード
6.1 低消費電力モードの概要
MB90335 シリーズ
低消費電力モードの概要
6.1
MB90335 シリーズは , 動作クロックの選択とクロックの動作制御により , 次のよう
な CPU 動作モードを備えています。
• クロックモード
(PLL クロックモード , メインクロックモード )
• CPU 間欠動作モード
(PLL クロック間欠動作モード , メインクロック間欠動作モード )
• スタンバイモード
( スリープモード , タイムベースタイマモード , ストップモード )
■ CPU 動作モードと消費電流
CPU 動作モードと消費電流の関係を図 6.1-1 に示します。
図 6.1-1 CPU 動作モードと消費電流
消費電流
数10mA
CPU
動作モード
PLLクロックモード
4逓倍クロック
2逓倍クロック
1逓倍クロック
PLLクロック間欠動作モード
4逓倍クロック
2逓倍クロック
1逓倍クロック
数mA
メインクロックモード(1/2 HCLK)
メインクロック間欠動作モード
スタンバイモード
スリープモード
タイムベースタイマモード
ストップモード
低消費電力モード
(注意事項)この図は, 各種モードのイメージを示したもので, 実際の消費電流とは異なる部分があります。
138
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 6 章 低消費電力モード
6.1 低消費電力モードの概要
■ クロックモード
● PLL クロックモード
発振クロック (HCLK) の PLL 逓倍クロックで , CPU および周辺機能を動作させるモー
ドです。
<注意事項>
USB ホスト , USB ファンクション使用時には , PLL クロックモードに設定する必要があ
ります。
● メインクロックモード
発振クロック (HCLK) の 2 分周クロックで , CPU および周辺機能を動作させるモード
です。メインクロックモード時には , PLL 逓倍回路が停止します。
<参考>
クロックモードについては , 「5.4 クロックモード」を参照してください。
■ CPU 間欠動作モード
CPU 間欠動作モードとは , 周辺機能には高速クロックを供給したまま , CPU を間欠動
作させ , 消費電力を低減するモードです。CPU 間欠動作モードは , CPU がレジスタ , 内
蔵メモリ , 周辺機能および外部アクセスを行う場合 , CPU にだけ間欠クロックを入力す
るモードです。
■ スタンバイモード
スタンバイモードは , 低消費電力制御回路による CPUへのクロックの供給停止 ( スリー
プモード ) や , CPU と周辺機能へのクロックの供給停止 ( タイムベースタイマモード )
または発振クロックの停止 ( ストップモード ) によって消費電力を低減します。
● PLL スリープモード
PLLスリープモードは, PLLクロックモード時にCPUの動作クロックを停止させるモー
ドで , CPU 以外は PLL クロックで動作します。
● メインスリープモード
メインスリープモードは , メインクロックモード時に CPU の動作クロックを停止させ
るモードで , CPU 以外はメインクロックで動作します。
● タイムベースタイマモード
タイムベースタイマモードは , 発振クロック , タイムベースタイマおよび時計タイマ以
外の動作を停止させるモードで , タイムベースタイマと時計タイマ以外の機能が停止
します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
139
第 6 章 低消費電力モード
6.1 低消費電力モードの概要
MB90335 シリーズ
● ストップモード
ストップモードは , 原発振を停止させるモードで , すべての機能が停止します。
<注意事項>
ストップモードでは , 発振クロックが停止するため , 最も低い消費電力でデータを保持で
きます。
クロックモードを切り換えた場合 , 切換えが完了するまでは , ほかのクロックモードおよ
び低消費電力モードへの切換えを行わないでください。切換えの完了は , クロック選択レ
ジスタ (CKSCR) の MCM ビットを参照して確認してください。
USB 転送中は , スタンバイモードへの遷移は禁止です。
140
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 6 章 低消費電力モード
6.2 低消費電力制御回路のブロックダイヤグラム
MB90335 シリーズ
6.2
低消費電力制御回路のブロックダイヤグラム
低消費電力制御回路は , 次の 7 つのブロックで構成されています。
• CPU 間欠動作セレクタ
• スタンバイ制御回路
• CPU クロック制御回路
• 周辺クロック制御回路
• 端子ハイインピーダンス制御回路
• 内部リセット発生回路
• 低消費電力モード制御レジスタ (LPMCR)
■ 低消費電力制御回路のブロックダイヤグラム
図 6.2-1 に , 低消費電力制御回路のブロックダイヤグラムを示します。
図 6.2-1 低消費電力制御回路のブロックダイヤグラム
低消費電力モード制御レジスタ(LPMCR)
STP
SLP
SPL
RST
TMD
CG1
CG0 予約
RST 端子
端子ハイインピー
ダンス制御回路
端子Hi-Z制御
内部リセット
発生回路
内部リセット
CPU間欠動作
サイクルセレクタ
間欠サイクル選択
CPUクロック
制御回路
リセット(解除)
スリープ,ストップ信号
スタンバイ
制御回路
2
CPU動作
クロック
ストップ信号
割込み(解除)
周辺クロック
制御回路
クロック
発生部
周辺機能
動作クロック
メインクロック発振安定待ち解除
動作クロック
セレクタ
マシン
クロック
2
発振安定
待ち時間
セレクタ
2
PLL逓倍回路
-
MCM
WS1
WS0
-
MCS
CS1
CS0
クロック選択レジスタ(CKSCR)
2分周
X0 端子
発振クロック
(HCLK)
X1 端子
発振クロック
発振回路
CM44-10137-6
4分周
512分周
2分周
メイン
クロック
タイムベースタイマ
2分周
2分周
2分周
2分周
4分周
ウォッチドッグタイマへ
FUJITSU MICROELECTRONICS LIMITED
141
第 6 章 低消費電力モード
6.2 低消費電力制御回路のブロックダイヤグラム
MB90335 シリーズ
● CPU 間欠動作セレクタ
CPU間欠動作セレクタは, CPU間欠動作モード時の一時停止クロック数を選択します。
● スタンバイ制御回路
スタンバイ制御回路は , CPU クロック制御回路および周辺クロック制御回路を制御し ,
低消費電力モードへの移行および解除を行います。
● CPU クロック制御回路
CPU クロック制御回路は , CPU に供給するクロックを制御する回路です。
● 周辺クロック制御回路
周辺クロック制御回路は , 周辺機能に供給するクロックを制御する回路です。
● 端子ハイインピーダンス制御回路
端子ハイインピーダンス制御回路は , タイムベースタイマモードおよびストップモー
ド時に , 外部端子をハイインピーダンスにする回路です。プルアップオプションの選択
された端子に対しては , ストップモード時にプルアップ抵抗を切り離します。
● 内部リセット発生回路
内部リセット発生回路は , 内部リセット信号を発生させる回路です。
● 低消費電力モード制御レジスタ (LPMCR)
低消費電力モード制御レジスタ (LPMCR) は , スタンバイモードへの移行 / 解除および
CPU 間欠動作機能の設定などを行うレジスタです。
142
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 6 章 低消費電力モード
6.3 低消費電力モード制御レジスタ (LPMCR)
MB90335 シリーズ
6.3
低消費電力モード制御レジスタ (LPMCR)
低消費電力モード制御レジスタ (LPMCR) は , 低消費電力モードへの移行 / 解除およ
び CPU 間欠動作モード時の CPU クロック一時停止サイクル数の設定などを行うレ
ジスタです。
■ 低消費電力モード制御レジスタ (LPMCR)
図 6.3-1 に , 低消費電力モード制御レジスタ (LPMCR) の構成を示します。
図 6.3-1 低消費電力モード制御レジスタ (LPMCR) のビット構成
アドレス
0000A0H
bit15
bit8bit7 bit6
(CKSCR)
bit5
bit4
bit3
STP
SLP
SPL
RST
TMD
CG1
CG0
予約
W
W
R/W
W
R/W
R/W
R/W
R/W
予約
bit2 bit1 bit0
初期値
00011000B
予約ビット
必ず"0"を設定してください。
CG1 CG0
0
0
1
1
0
1
CPUクロック一時停止サイクル数ビット
0サイクル(CPUクロック=リソースクロック)
8サイクル(CPUクロック:リソースクロック=1:約3~4)
0 16サイクル(CPUクロック:リソースクロック=1:約5~6)
1 32サイクル(CPUクロック:リソースクロック=1:約9~10)
タイムベースタイマモードビット
TMD
0 タイムベースタイマモードへ移行
変化なし, ほかへの影響なし
1
RST
0
1
SPL
0
1
SLP
0
1
R/W :リード・ライト可能
W :ライトオンリ
:初期値
CM44-10137-6
STP
0
1
内部リセット信号発生ビット
3マシンサイクルの内部リセット信号を発生
変化なし, ほかへの影響なし
端子状態指定ビット
(タイムベースタイマ・ストップモード時)
保持
ハイインピーダンス
スリープモードビット
変化なし, ほかへの影響なし
スリープモードに移行
ストップモードビット
変化なし, ほかへの影響なし
ストップモードに移行
FUJITSU MICROELECTRONICS LIMITED
143
第 6 章 低消費電力モード
6.3 低消費電力モード制御レジスタ (LPMCR)
MB90335 シリーズ
表 6.3-1 低消費電力モード制御レジスタ (LPMCR) の各ビットの機能
ビット名
機 能
bit7
STP:
ストップモード
ビット
•
•
•
•
•
ストップモードへの移行を指示するビットです。
"1" を書き込むことにより , ストップモードへ移行します。
"0" を書き込んでも動作に影響を与えません。
リセットまたは割込み要求発生で "0" にクリアされます。
常に "0" が読み出されます。
bit6
SLP:
スリープモード
ビット
•
•
•
•
•
スリープモードへの移行を指示するビットです。
"1" を書き込むことにより , スリープモードに移行します。
"0" を書き込んでも動作に影響を与えません。
リセットまたは割込み要求発生で "0" にクリアされます。
常に "0" が読み出されます。
bit5
SPL:
端子状態指定
ビット
( タイムベース
タイマ , ストップ
モード時 )
•
•
•
•
タイムベースタイマモード , ストップモードのときだけ有効です。
"0" の場合 , 外部端子のレベルを保持します。
"1" の場合 , 外部端子をハイインピーダンスにします。
リセットで "0" に初期化されます。
bit4
RST:
内部リセット
信号発生ビット
• "0"を書き込むと, 3マシンサイクルの内部リセット信号を発生します。
• "1" を書き込んでも動作に影響を与えません。
• 常に "1" が読み出されます。
bit3
TMD:
タイムベース
タイマモード
ビット
• タイムベースタイマモードへの移行を指示するビットです。
• メインクロックモードまたは PLL クロックモード時に , "0" を書き込
むことにより , タイムベースタイマモードに移行します。
• リセットまたは割込み要求発生で "1" に初期化されます。
• 常に "1" が読み出されます。
bit2,
bit1
CG1, CG0:
CPU クロック
一時停止
サイクル数選択
ビット
• CPU 間欠動作機能の CPU クロックの一時停止サイクル数を設定する
ビットです。
• 1 命令ごとに , 指定サイクル数 CPU クロック供給を停止します。
• 4 種類のクロック数から選択できます。
• リセットで "00B" に初期化されます。
bit0
予約 :
予約ビット
必ず "0" を設定してください。
144
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 6 章 低消費電力モード
6.3 低消費電力モード制御レジスタ (LPMCR)
MB90335 シリーズ
■ 低消費電力モード制御レジスタへのアクセス
低消費電力モード制御レジスタへの書込みで , 低消費電力モード ( ストップモード , ス
リープモード , タイムベースタイマモード ) への遷移が行われますが , この場合に使用
する命令は , 表 6.3-2 の命令を使用するようにしてください。
表 6.3-2 の命令による低消費電力モード遷移命令の直後には必ず下記
内の命令列
を配置してください。
MOV LPMCR,#H’xx
NOP
NOP
JMP $+3
MOV A,#H’10
; 表 6.3-2 の低消費電力モード遷移命令
; 次の命令へのジャンプ
; 任意の命令
内の命令以外が配置されると低消費電力モード解除後の動作は保証されません。
C 言語を使用して低消費電力モード制御レジスタをアクセスする場合は , 「6.8 低消費
電力モード使用上の注意」の「スタンバイモード遷移のための低消費電力モード制御
レジスタ (LPMCR) へアクセスする際の注意事項」を参照してください。
ワード長で低消費電力モード制御レジスタ (LPMCR) への書込みを行う場合には , 偶数
アドレスで書込みが行われるようにしてください。奇数アドレスの書込みで低消費電
力モードへ遷移された場合には , 誤動作の原因となる場合があります。
表 6.3-1 に示す以外の機能を制御する場合には , どの命令を使用しても構いません。
表 6.3-2 低消費電力モードへ遷移する場合に使用する命令一覧
MOV io, #imm8
MOV io, A
MOV @RLi+disp8, A
MOVW io, #imm16
MOVW io, A
MOVW @ RLi+disp8, A
SETB io:bp
CLRB io:bp
MOV dir, #imm8
MOV dir, A
MOV eam, #imm8
MOV addr16, A
MOV eam, Ri
MOV eam, A
MOVW dir, #imm16
MOVW dir, A
MOVW eam, #imm16
MOVW addr16, A
MOVW eam, RWi
MOVW eam, A
SETB dir:bp
CLRB dir:bp
SETB addr16:bp
CLRB addr16:bp
■ STP, SLP, TMD ビットの優先順位
ストップモード要求 , スリープモード要求およびタイムベースタイマモード要求を同
時に行った場合は , 以下の優先順位で要求を処理します。
ストップモード要求 > タイムベースタイマモード要求 > スリープモード要求
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
145
第 6 章 低消費電力モード
6.4 CPU 間欠動作モード
6.4
MB90335 シリーズ
CPU 間欠動作モード
CPU 間欠動作モードは , 外部バスや周辺機能を高速動作させたまま CPU を間欠動作
させることで , 消費電力を低減するモードです。
■ CPU 間欠動作モード
CPU 間欠動作モードは , レジスタ , 内蔵メモリ (ROM, RAM), I/O, 周辺機能および外部
バスアクセスを行う場合 , CPU に供給するクロックを 1 命令実行ごとに一定期間停止
させ , 内部バスサイクルの起動を遅らせるモードです。周辺機能に高速の周辺クロック
を供給したまま , CPU の実行速度を下げると , 低消費電力で処理が行えます。
• 低消費電力モード制御レジスタ (LPMCR) の CPU クロック一時停止サイクル数選択
ビット(CG1, CG0)で, CPUに供給するクロックの一時停止サイクル数を選択します。
• 外部バス動作そのものは , 周辺機能と同じクロックを使用します。
• CPU 間欠動作モードを使用した場合の命令実行時間の算出は , レジスタ , 内蔵メモ
リ , 内蔵周辺機能および外部バスアクセスを行う場合の命令実行回数に , 一時停止
サイクル数をかけた補正値を通常の実行時間に加えることで , 求めることができま
す。図 6.4-1 に CPU 間欠動作モード時の動作クロックを示します。
図 6.4-1 CPU 間欠動作時のクロック
周辺クロック
CPUクロック
一時停止サイクル
1命令実行
サイクル
内部バス起動
146
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 6 章 低消費電力モード
6.5 スタンバイモード
MB90335 シリーズ
スタンバイモード
6.5
スタンバイモードには , スリープ (PLL スリープ , メインスリープ ), タイムベースタ
イマ , ストップの各モードがあります。
■ スタンバイモード時の動作状態
表 6.5-1 に , スタンバイモード時の動作状態を示します。
表 6.5-1 スタンバイモード時の動作状態
移行
条件
スタンバイモード
スリープ モード
タイムベース
タイマモード
ストップモード
PLL スリープモード
MCS=0
SLP=1
メイン
スリープモード
MCS=1
SLP=1
タイムベースタイマ
TMD=0
モード
(SPL=0)
メイン
マシン
クロック クロック
動作
STP=1
ストップモード
(SPL=1)
STP=1
周辺
端子
動作
動作
動作
解除
方法
保持
停止
タイムベースタイマ
TMD=0
モード
(SPL=1)
ストップモード
(SPL=0)
CPU
停止 *
Hi-Z
リセット
または
割込み
停止
保持
停止
停止
Hi-Z
*:
タイムベースタイマは動作します。
SPL : 低消費電力モード制御レジスタ (LPMCR) の端子状態指定ビット
SLP : 低消費電力モード制御レジスタ (LPMCR) のスリープモードビット
STP : 低消費電力モード制御レジスタ (LPMCR) のストップモードビット
TMD : 低消費電力モード制御レジスタ (LPMCR) のタイムベースタイマモードビット
MCS : クロック選択レジスタ (CKSCR) のマシンクロック選択ビット
Hi-Z : ハイインピーダンス
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
147
第 6 章 低消費電力モード
6.5 スタンバイモード
MB90335 シリーズ
スリープモード
6.5.1
スリープモードは , CPU の動作クロックを停止させるモードで , CPU 以外は動作を
続行します。低消費電力モード制御レジスタ (LPMCR) でスリープモードへの移行を
指示すると , PLL クロックモードを設定している場合は PLL スリープモードへ移行
し , メインクロックモードを設定している場合はメインスリープモードへ移行しま
す。
■ スリープモードへの移行
低消費電力モード制御レジスタ (LPMCR) のスリープモードビット (SLP) に "1", タイム
ベースタイマモードビット (TMD) に "1", ストップモードビット (STP) に "0" を書き込
むと , スリープモードに移行します。このとき , クロック選択レジスタ (CKSCR) が PLL
クロック選択ビット (MCS)=0 であれば PLL スリープモードに , MCS=1 であればメイ
ンスリープモードに移行します。
<注意事項>
LPMCR の SLP ビットと STP ビットに同時に "1" を書き込むと , STP ビットを優先し , ス
トップモードへ移行します。
低消費電力モード制御レジスタの SLP ビットに "1", TMD ビットに "0" を同時に書き込む
と , TMD ビットを優先し , タイムベースタイマモードに移行します。
● データ保持機能
スリープモードでは , アキュムレータなどの専用レジスタと内部 RAM の内容を保持し
ます。
● 割込み要求発生中の動作
LPMCR の SLP ビットに "1" を書き込んだ場合に , 割込み要求が発生している場合はス
リープモードに移行しません。そのため , CPU は割込みを受け付けない状態では次の
命令を実行し , 受け付ける状態であれば即座に割込み処理ルーチンへ分岐します。
● 端子状態
スリープモード中は , バス入出力またはバス制御として使用されている端子以外は , 直
前の状態を保持します。
148
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 6 章 低消費電力モード
6.5 スタンバイモード
MB90335 シリーズ
■ スリープモードの解除
低消費電力制御回路は , リセット入力または割込みの発生によってスリープモードを
解除します。
● リセットによる復帰
リセットによってメインクロックモードに初期化されます。
● 割込みによる復帰
スリープモード中に, 周辺回路などから割込みレベルが7より高い割込み要求が発生す
ると , スリープモードを解除します。スリープモードの解除後は , 通常の割込み処理と
同じ扱いとなります。コンディションコードレジスタ (CCR) の I フラグ , 割込みレベル
マスクレジスタ (ILM) および割込み制御レジスタ (ICR) の設定によって , 割込みが受け
付けられる場合は , CPU は割込み処理を実行します。割込みが受け付けられない場合
は , スリープモードを指定した命令の次の命令から処理を続行します。
図 6.5-1 に , 割込み発生によるスリープモードの解除を示します。
図 6.5-1 割込み発生によるスリープモードの解除
周辺機能の割込み
イネーブルフラグ設定
INT発生(IL<7)
NO
スリープ解除しない
スリープ解除しない
YES
ILM=0
YES
次の命令実行
スリープ解除する
NO
ILM<IL
YES
次の命令実行
NO
割込み実行
<注意事項>
割込み処理を実行する場合 , 通常はスリープモードを指定した命令の次の命令を実行した
後に , 割込み処理に移行します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
149
第 6 章 低消費電力モード
6.5 スタンバイモード
MB90335 シリーズ
タイムベースタイマモード
6.5.2
タイムベースタイマモードは , 原発振とタイムベースタイマ , 時計タイマ以外の動作
を停止させるモードで , タイムベースタイマと時計タイマ以外はすべての機能が停
止します。
■ タイムベースタイマモードへの移行
PLL クロックモードまたはメインクロックモード時に , 低消費電力モード制御レジス
タ (LPMCR) のタイムベースタイマモードビット (TMD) に "0" を書き込むと , タイム
ベースタイマモードに移行します。
● データ保持機能
タイムベースタイマモードでは , アキュムレータなどの専用レジスタと内部 RAM の内
容を保持します。
● 割込み要求発生中の動作
低消費電力モード制御レジスタ (LPMCR) の TMD ビットに "0" を書き込んだ場合 , 割
込み要求が発生しているときはタイムベースタイマモードに移行しません。
● 端子状態
タイムベースタイマモード中の外部端子を , 直前の状態に保持するか , ハイインピーダ
ンス状態にするかを , 低消費電力モード制御レジスタ (LPMCR) の端子状態指定ビット
(SPL) で制御できます。
■ タイムベースタイマモードの解除
低消費電力制御回路は , リセット入力または割込み要求の発生でタイムベースタイマ
モードを解除します。
● 外部リセットによる復帰
外部リセットよって , メインクロックモードに初期化されます。
● 割込みによる復帰
タイムベースタイマモード中に周辺回路などから割込みレベルが 7 より高い割込み要
求が発生すると ( 割込み制御レジスタ (ICR) の IL2, IL1, IL0=111B 以外の場合 ), 低消費
電力制御回路はタイムベースタイマモードを解除します。タイムベースタイマモード
の解除後は , 通常の割込み処理と同じ扱いとなります。コンディションコードレジスタ
(CCR) の I フラグ , 割込みレベルマスクレジスタ (ILM) および割込み制御レジスタ (ICR)
の設定により割込みが受け付けられる場合は , 割込み処理を実行します。割込みが受け
付けられない場合は , タイムベースタイマモードに入る前の次の命令から処理を続行
します。
<注意事項>
割込み処理を実行する場合 , 通常はタイムベースタイマモードを指定した命令の次の命令
を実行した後に , 割込み処理に移行します。
150
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
6.5.3
第 6 章 低消費電力モード
6.5 スタンバイモード
ストップモード
ストップモードは , 原発振を停止させるモードで , すべての機能が停止します。した
がって , 最も低消費電力でデータを保持できます。
■ ストップモードへの移行
低消費電力モード制御レジスタ (LPMCR) のストップモードビット (STP) に "1" を書き
込むと , ストップモードに移行します。
● データ保持機能
ストップモードでは , アキュムレータなどの専用レジスタと内部 RAM の内容を保持し
ます。
● 割込み要求発生中の動作
低消費電力モード制御レジスタ (LPMCR) の STP ビットに "1" を書き込んだ場合に , 割
込み要求が発生している場合はストップモードに移行しません。
● 端子状態の設定
ストップモード中の外部端子を , 直前の状態に保持するか , ハイインピーダンス状態に
するかを , 低消費電力モード制御レジスタ (LPMCR) 端子状態指定ビット (SPL) で指定
できます。
■ ストップモードの解除
低消費電力制御回路は , リセット入力または割込みの発生によりストップモードを解
除します。
ストップモードからの復帰の場合, 動作クロックの発振が停止しているため,
低消費電力制御回路はまず発振安定待ち状態に移行し , その後ストップモードを解除
します。
● リセットによる復帰
リセット要因によるストップモード解除の場合は , ストップモードを解除した上で , 発
振安定待ちリセット状態になります。リセットシーケンスは発振安定待ち時間経過後
実行されます。
● 割込みによる復帰
ストップモード中に周辺回路などから割込みレベルが 7 より高い割込み要求が発生す
ると ( 割込み制御レジスタ (ICR) の IL2, IL1, IL0=111B 以外の場合 ), 低消費電力制御回
路はストップモードを解除します。ストップモードの解除後は , クロック選択レジスタ
(CKSCR) の発振安定待ち時間選択ビット (WS1, WS0) で指定されたメインクロックの
発振安定待ち時間を経過した後で , 通常の割込み処理と同じ扱いとなります。コンディ
ションコードレジスタ (CCR) の I フラグ , 割込みレベルマスクレジスタ (ILM) および割
込み制御レジスタ (ICR) を設定して割込みが受け付けられる場合は , 割込み処理を実行
します。割込みが受け付けられない場合は , ストップモードに入る前の次の命令から処
理を続行します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
151
第 6 章 低消費電力モード
6.5 スタンバイモード
MB90335 シリーズ
<注意事項>
•
割込み処理を実行する場合 , 通常はストップモードを指定した命令の次の命令を実行
した後に , 割込み処理に移行します。
•
PLL ストップモード中は , メインクロックおよび PLL 逓倍回路が停止しているため ,
PLLストップモードから復帰する場合は, メインクロック発振安定待ち時間およびPLL
クロック発振安定待ち時間を確保する必要があります。この場合の発振安定待ち時間
は , クロック選択レジスタの発振安定待ち時間選択ビット (CKSCR:WS1, WS0) に設定
された値に従い , メインクロック発振安定待ち時間および PLL クロック発振安定待ち
時間を同時にカウントしますので , CKSCR:WS1, WS0 ビットは , 発振安定待ち時間の
長い方に合わせて値を設定してください。ただし , PLL クロック発振安定待ち時間は
214/HCLK 以上必要になりますので , CKSCR:WS1, WS0 ビットは "10B" または "11B"
を設定してください。
図 6.5-2 に , ストップモードの解除動作を示します。
図 6.5-2 ストップモードの解除 ( 外部リセット )
RST端子
ストップモード
メインクロック
発振中
発振安定待ち
発振
PLLクロック
メインクロック
CPUクロック
CPU動作
停止中
処理
リセットシーケンス
リセット解除
ストップモード解除
152
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 6 章 低消費電力モード
6.6 状態遷移図
MB90335 シリーズ
6.6
状態遷移図
MB90335 シリーズの動作状態の遷移と , 遷移条件を示します。
■ 状態遷移図
図 6.6-1 に , MB90335 シリーズの動作状態の遷移と , 遷移条件を示します。
図 6.6-1 状態遷移と遷移条件
外部リセット, ウォッチドッグタイマリセット, ソフトウェアリセット
電源投入
リセット
パワーオンリセット
発振安定待ち
メインモード
SLP=1
MCS=0
MCS=1
割込み
PLLモード
SLP=1
メインスリープ
TMD=0
割込み
PLLスリープ
TMD=0
メインタイムベース
タイマモード
割込み
PLLタイムベース
タイマモード
STP=1
STP=1
PLLストップ
メインストップ
外部割込み
割込み
発振安定待ち
メイン発振安定待ち
*
外部割込み
発振安定待ち
PLL発振安定待ち
*:割込み+USBファンクション時のUSBバス上からの割込み
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
153
第 6 章 低消費電力モード
6.6 状態遷移図
MB90335 シリーズ
■ 低消費電力モードの動作状態
表 6.6-1 に , 低消費電力モードの動作状態を示します。
表 6.6-1 低消費電力モードの動作状態
動作状態
メイン
クロック
PLL
クロック
PLL
CPU
周辺
時計
タイムベース
タイマ
動作
動作
クロック
ソース
動作
動作
PLL スリープ
動作
動作
PLL
クロック
PLL タイムベースタイマ
停止
PLL ストップ
停止
停止
PLL 発振安定待ち
動作
動作
メイン
停止
停止
停止
動作
動作
動作
動作
動作
動作
メインスリープ
動作
メイン
クロック
停止
メインタイムベースタイマ
停止
メインストップ
停止
メイン発振安定待ち
動作
パワーオンリセット
停止
154
停止
動作
動作
動作
動作
停止
動作
リセット
停止
停止
停止
動作
FUJITSU MICROELECTRONICS LIMITED
メイン
クロック
CM44-10137-6
第 6 章 低消費電力モード
6.7 スタンバイモード , リセット時の端子状態
MB90335 シリーズ
スタンバイモード , リセット時の端子状態
6.7
スタンバイモード , リセット時の端子の状態を , メモリアクセスモードごとに示しま
す。
■ シングルチップモード時の端子状態
表 6.7-1 に , シングルチップモード時の端子状態を示します。
表 6.7-1 シングルチップモード時の端子状態
ストップ時
端子名
スリープ時
リセット時
SPL=0
SPL=1
P07 ∼ P00
P17 ∼ P10
P27 ∼ P20
直前の状態を保持 *2
入力遮断 /
入力遮断 /
直前の状態を保持 *2, *3
出力 Hi-Z *3
入力不可 /
出力 Hi-Z
P47 ∼ P40
P54 ∼ P50
P67 ∼ P60
入力可能 *1
入力可能 *1
入力不可
USB ポート入力
USB ポート入力 *4
Hi-Z
DVP
DVM
HVP
HVM
UTEST
入力状態
入力遮断
入力状態
HCON
直前の状態を保持
直前の状態を保持
"H" 出力
*1: 出力状態として使用している場合には , ほかのポートと同じです。入力可能とは , 入力機能が使用可能な状態
であることを意味するので , プルアップ / プルダウンまたは外部からの入力が必要です。
*2: 本モードになる直前に出力していた状態をそのまま出力します。または , 入力であれば入力不可を意味します。
入力不可とは , 端子からすぐの入力ゲートの動作は許可状態であるが , 内部回路が動作していないので , 端子
の内容が内部で受け付けられない状態を意味します。
*3: 入力遮断状態では , 入力はマスクされ , "L" レベルが内部に伝わります。
*4: USB 要因によるストップ時は USB ポート入力で , それ以外の要因によるストップ時は直前の状態のままです。
<注意事項>
USB 転送中はスタンバイモードへの遷移は禁止です。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
155
第 6 章 低消費電力モード
6.8 低消費電力モード使用上の注意
6.8
MB90335 シリーズ
低消費電力モード使用上の注意
低消費電力モード使用時には , 次に示す内容に関する注意が必要です。
• スタンバイモードへの移行と割込み
• スタンバイモードの割込みによる解除
• 発振安定待ち時間
• クロックモードの切換え
• スタンバイモード遷移のための低消費電力モード制御レジスタ (LPMCR) へアク
セスする際の注意事項
■ スタンバイモードへの移行と割込み
周辺機能から CPU に対して割込み要求が発生していると , 低消費電力モード制御レジ
スタ (LPMCR) のストップモードビット (STP) とスリープモードビット (SLP) を "1" ま
たは時計モードまたはタイムベースタイマモードビット (TMD) を "0" としても無視さ
れるため , 各スタンバイモードへは移行しません ( 割込み処理後にも , スタンバイモー
ドへの移行はしません )。この場合 , 割込みレベルが 7 より高ければ , 割込み要求が CPU
に受け付けられるかどうかには関係しません。
また , CPU が割込み処理中であっても , その割込み要求フラグビットがクリアされてお
り , ほかに割込み要求がなければ , スタンバイモードへ移行できます。
■ スタンバイモードの割込みによる解除
スリープ , タイムベースタイマおよびストップモード中に , 周辺機能などから割込みレ
ベルが 7 より高い割込み要求が発生すると , スタンバイモードは解除されます。これは
CPU が割込みを受け付けるかどうかには関係しません。
割込みによるスタンバイモードの解除後は , 通常の割込み動作として , 割込み要求に対
応する割込みレベル設定ビット (ICR レジスタの IL2, IL1, IL0 ビット ) の優先度が割込
みレベルマスクレジスタ (ILM) より高く , コンディションコードレジスタ (CCR) の I フ
ラグによって割込みが許可(I=1)されている場合は, 割込み処理ルーチンへ分岐します。
割込みが受け付けられない場合は , スタンバイモードを指定した命令の次の命令から
動作を再開します。
割込み処理を実行する場合 , 通常はスタンバイモードを指定した命令の次の命令を実
行した後に , 割込み処理に移行します。
ただし , スタンバイモードに移行した場合の条件によっては , 次の命令を実行する前に
割込み処理に移行することがあります。
<注意事項>
復帰直後に割込み処理ルーチンへ分岐させない場合は , スタンバイモード設定の前に割込
み禁止をするなどの対策が必要です。
156
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 6 章 低消費電力モード
6.8 低消費電力モード使用上の注意
■ 発振安定待ち時間
● 発振クロック発振安定待ち時間
ストップモード中は , 原発振用の発振器が停止しているため , 発振安定待ち時間をとる
必要があります。発振安定待ち時間としては , クロック選択レジスタ (CKSCR) の発振
安定待ち時間選択ビット (WS1, WS0) で選択された時間をとります。
<注意事項>
CKSCR レジスタの発振安定待ち時間選択ビット (WS1, WS0) に "00B" を設定する場合は ,
メインクロック時のみにしてください。
● PLL クロック発振安定待ち時間
CPU がメインクロックで動作し , PLL クロックが停止している状態から , CPU または
周辺を PLL クロックで動作するモードに移行する場合は , PLL クロック発振安定待ち
状態へ移行し , 発振安定待ち中はメインクロックで動作します。
PLL クロック発振安定待ち時間は , 214/HCLK(HCLK: 発振クロック ) 固定です。
PLL ストップモード中は , メインクロックおよび PLL 逓倍回路が停止しているため ,
PLL ストップモードから復帰する場合は , メインクロック発振安定待ち時間および PLL
クロック発振安定待ち時間を確保する必要があります。この場合の発振安定待ち時間
は , クロック選択レジスタの発振安定待ち時間選択ビット (CKSCR:WS1, WS0) に設定
された値に従い , メインクロック発振安定待ち時間および PLL クロック発振安定待ち
時間を同時にカウントしますので , CKSCR:WS1, WS0 ビットには , 発振安定待ち時間
の長い方に合わせて値を設定してください。ただし , PLL クロック発振安定待ち時間
は 214/HCLK 以上必要ですので , CKSCR: WS1, WS0 ビットには "10B" または "11B" を
設定してください。
■ クロックモードの切換え
クロックモードを切り換えた場合 , 切換えが完了するまでは , 低消費電力モードおよび
ほかのクロックモードへの切換えを行わないようにしてください。切換えの完了は , ク
ロック選択レジスタ (CKSCR) の MCM ビットを参照して確認してください。切換えが
完了する前に , ほかのクロックモードおよび低消費電力モードへの切換えを行った場
合 , 切り換わらない場合があります。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
157
第 6 章 低消費電力モード
6.8 低消費電力モード使用上の注意
MB90335 シリーズ
■ スタンバイモード遷移のための低消費電力モード制御レジスタ (LPMCR) へアクセ
スする際の注意事項
● アセンブラ言語を使用して低消費電力モード制御レジスタ (LPMCR) へアクセスする場合
•
低消費電力モード制御レジスタ (LPMCR) において低消費電力モードに移行する設定
を行う場合は , 表 6.3-2 の命令を使用してください。
表 6.3-2 の命令による低消費電力モード遷移命令の直後には必ず下記 内の命令
列を配置してください。
MOV LPMCR,#H’xx
NOP
NOP
JMP $+3
MOV A,#H’10
; 表 6.3-2 の低消費電力モード遷移命令
; 次の命令へのジャンプ
; 任意の命令
内の命令以外が配置されると低消費電力モード解除後の動作は保証されません。
● C 言語を使用して低消費電力モード制御レジスタにアクセスする場合
低消費電力モード制御レジスタ (LPMCR) においてスタンバイモードに移行する設定を
行う場合は , 以下の (1) から (3) のいずれかの方法でアクセスしてください。
(1) スタンバイモードに遷移させる命令を関数化し , スタンバイモード遷移命令の後
に _wait_ nop() のビルトイン関数を 2 個挿入してください。関数内で , スタンバイ
復帰の割込みが発生する可能性がある場合は , コンパイル時に最適化を実施し ,
LINK/UNLINK 命令の発生を抑止してください。
例 ( 時計モードまたはタイムベースタイマモード遷移関数の場合 )
void enter_watch(){
IO_L.PMCR.byte = 0x10:
_wait_nop();
_wait_nop();
}
/* LPMCR の TMD ビットに "0" をセット */
(2) スタンバイモードに遷移させる命令を _asm 文で記述し , スタンバイモード遷移命
令の後に 2 個の NOP と JMP 命令を挿入してください。
例 ( スリープモード遷移の場合 )
_asm("
_asm("
_asm("
_asm("
MOV I:_IO_LPMCR, #H’58"); /* LPMCR の SLP ビットに "1" をセット */
NOP");
NOP");
JMP $+3");
/* 次の命令へのジャンプ
*/
(3) スタンバイモードに遷移させる命令を #pragma asm ∼ #pragma endasm 間に記述し ,
スタンバイモード遷移命令の後に 2 個の NOP と JMP 命令を挿入してください。
例 ( ストップモード遷移の場合 )
#pragma asm
MOV I:_IO_LPMCR, #H’98
NOP
NOP
JMP $+3
#pragma endasm
158
/* LPMCR の STP ビットに "1" をセット */
/* 次の命令へのジャンプ
FUJITSU MICROELECTRONICS LIMITED
*/
CM44-10137-6
第7章
モード設定
モード設定と外部メモリアクセスについて説明し
ます。
7.1 モード設定
7.2 モード端子 (MD2 ∼ MD0)
7.3 モードデータ
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
159
第 7 章 モード設定
7.1 モード設定
7.1
MB90335 シリーズ
モード設定
F2MC-16LX には , アクセス方式 , アクセス領域および試験の各々において各種の
モードがあります。リセット時のモード端子の設定と , モードフェッチされたモー
ドデータによって各モードが設定されます。
■ モード設定
F2MC-16LX では , アクセス方式 , アクセス領域および試験の各々について各種のモー
ドがあり , 図 7.1-1 に示す分類になっています。
図 7.1-1 モードの分類
動作モード
○ RUN動作
バスモード
シングルチップモード
○ フラッシュ書込みモード
○ 各種テスト機能モード
■ 動作モード
動作モードとは , デバイスの動作状態を制御するモードを示すもので , モード設定用端
子 (MDx) とモードデータ内の Mx ビットの内容で指定します。動作モードを選択する
ことによって , 通常動作 / 内部試験プログラムの起動 / 特殊試験機能の起動を行うこと
ができます。
■ バスモード
バスモードとは , 内部 ROM の動作と外部アクセス機能の動作を制御するモードを示す
もので , モード設定用端子 (MDx) とモードデータ内の Mx ビットの内容で指定します。
モード設定用端子 (MDx) は , リセットベクタおよびモードデータを読み出すときのバ
スモードを指定するものです。モードデータ内の Mx ビットは , 通常動作時のバスモー
ドを指定するものです。
160
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 7 章 モード設定
7.2 モード端子 (MD2 ∼ MD0)
MB90335 シリーズ
モード端子 (MD2 ∼ MD0)
7.2
モード端子は , (MD2 ∼ MD0) の 3 本の外部端子で , リセットベクタとモードデータ
の取込み方法を指定します。
■ モード端子 (MD2 ∼ MD0) の設定
モード端子 (MD2 ∼ MD0) で , リセットベクタの読出しを , 外部データバスとするか内
部データバスとするかの選択および外部データバス選択時のバス幅選択を行います。
フラッシュ ROM内蔵品の場合は , 内蔵 ROMプログラムなどを書き込むための, フラッ
シュ ROM 書込みモードの指定もモード端子で行います。
モード端子の設定内容を , 表 7.2-1 に示します。
表 7.2-1 モード端子の設定内容
P61
P60
MD2
MD1
MD0
-
-
0
0
0
-
-
0
0
1
-
-
0
1
0
-
-
0
1
1
-
-
1
0
0
-
-
1
0
1
1
0
1
1
0
-
-
1
1
1
モード名
リセット
ベクタ
アクセス領域
外部データ
バス幅
備考
設定禁止
内部ベクタ
モード
内部
モード
データ
リセットシーケン
ス以降はモード
データで制御
設定禁止
フラッシュシリアル書込み
フラッシュ
ライタ書込み
モード
-
-
-
<注意事項>
MB90335 シリーズでは , シングルチップモードのみでの使用になりますので , MD2:0=VSS,
MD1, MD0:1=VCC に設定してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
161
第 7 章 モード設定
7.3 モードデータ
7.3
MB90335 シリーズ
モードデータ
モードデータは , FFFFDFH 番地のメモリ上にあり , リセットシーケンス後の動作を指
定します。モードデータは , モードフェッチで CPU に自動的に取り込まれます。
■ モードデータ
リセットシーケンス実行中に , FFFFDFH 番地のモードデータを CPU コア内のモードレ
ジスタに取り込みます。CPU は , このモードデータでメモリアクセスモードを設定し
ます。モードレジスタの内容を変更できるのは , リセットシーケンスだけです。また ,
モードデータの設定は , リセットシーケンス以降に有効となります。
モードデータの構成を , 図 7.3-1 に示します。
図 7.3-1 モードデータのビット構成
bit
モードデータ
7
6
5
4
3
2
1
0
M1
M0
0
0
0
0
0
0
バス設定ビット
機能拡張ビット
( 予約領域 )
■ バスモードの設定ビット (M1, M0)
M1, M0 ビットは , リセットシーケンス終了後の動作モードを指定するビットです。
表 7.3-1 に , M1, M0 ビットの設定内容を示します。
表 7.3-1 M1, M0 ビットの設定内容
M1
M0
機能
0
0
シングルチップモード
0
1
( 設定禁止 )
1
0
( 設定禁止 )
1
1
( 設定禁止 )
<注意事項>
MB90335 シリーズでは , シングルチップモードのみで使用となりますので , M1, M0 は
"00B" に設定してください。
162
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 7 章 モード設定
7.3 モードデータ
MB90335 シリーズ
■ アクセス領域と物理アドレスの関係
アクセス領域と物理アドレスの対応を , 図 7.3-2 に示します。
図 7.3-2 アクセス領域と物理アドレスの関係
シングルチップモード (ROMミラー機能あり)
MB90F337
MB90V330A
FFFFFFH
ROM(FFバンク)
FF0000H
00FFFFH
008000H
007FFFH
007900H
FFFFFFH
MB90337
FFFFFFH
ROM(FFバンク)
FF0000H
ROM
(FFバンクのイメージ)
周辺領域
00FFFFH
008000H
007FFFH
007900H
ROM(FFバンク)
FF0000H
00FFFFH
ROM
ROM
008000H
007FFFH
(FFバンクのイメージ)
周辺領域
(FFバンクのイメージ)
周辺領域
007900H
007100H
RAM領域
(28Kバイト)
001100H
レジスタ
000100H
001100H
RAM領域
(4Kバイト)
レジスタ
レジスタ
000100H
0000FBH
000100H
0000FBH
周辺領域
000000H
RAM領域
(4Kバイト)
0000FBH
周辺領域
周辺領域
000000H
000000H
■ モード端子とモードデータの関係 ( 推奨例 )
表 7.3-2 に , モード端子とモードデータの関係を示します。
表 7.3-2 モード端子とモードデータの関係
モード
MD2
MD1
MD0
M1
M0
シングルチップ
0
1
1
0
0
<注意事項>
MB90335 シリーズでは , シングルチップモードのみでの使用となります。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
163
第 7 章 モード設定
7.3 モードデータ
164
MB90335 シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第8章
I/O ポート
I/O ポートで使用するレジスタの構成および機能に
ついて説明します。
8.1 I/O ポートの機能
8.2 I/O ポートのレジスタ
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
165
第 8 章 I/O ポート
8.1 I/O ポートの機能
8.1
MB90335 シリーズ
I/O ポートの機能
I/O ポートの機能概要を示します。
■ I/O ポートの機能
I/O ポートは , ポートデータレジスタ (PDR) によって , CPU からデータを I/O 端子に出
力したり , I/O 端子に入力された信号を CPU に取り込んだりする機能をもっています。
また , ポートはポート方向レジスタ (DDR) によって , I/O 端子の入出力の方向をビット
単位で任意に設定できます。
MB90335 シリーズには , 37 本の入出力と , 8 本のオープンドレインの出力端子があり
ます。
P07 ∼ P00, P17 ∼ P10, P27 ∼ P20, P47 ∼ P40, P54 ∼ P50 が入出力ポートで , P67 ∼ P60
が N-ch オープンドレイン端子となっています。
166
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
8.2
第 8 章 I/O ポート
8.2 I/O ポートのレジスタ
I/O ポートのレジスタ
I/O ポートで使用するレジスタの構成 , および機能について説明します。
■ I/O ポートのレジスタ
I/O ポートには以下のレジスタがあります。
• ポートデータレジスタ (PDR0 ∼ PDR2, PDR4 ∼ PDR6)
• ポート方向レジスタ (DDR0 ∼ DDR2, DDR4 ∼ DDR6)
• 入力抵抗レジスタ (RDR0, RDR1)
• 出力端子レジスタ (ODR4)
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
167
第 8 章 I/O ポート
8.2 I/O ポートのレジスタ
8.2.1
MB90335 シリーズ
ポートデータレジスタ
(PDR0 ∼ PDR2, PDR4 ∼ PDR6)
ポートデータレジスタ (PDR0 ∼ PDR2, PDR4 ∼ PDR6) の構成および機能について
説明します。
■ ポートデータレジスタ (PDR0 ∼ PDR2, PDR4 ∼ PDR6)
図 8.2-1 に , ポートデータレジスタ (PDR0 ∼ PDR2, PDR4 ∼ PDR6) の一覧を示します。
図 8.2-1 ポートデータレジスタ (PDR0 ∼ PDR2, PDR4 ∼ PDR6) の一覧
PDR0
bit
7
6
5
4
3
2
1
0
P07
P06
P05
P04
P03
P02
P01
P00
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
7
6
5
4
3
2
1
0
P47
P46
P45
P44
P43
P42
P41
P40
bit
15
14
13
12
11
10
9
8
アドレス : 000005H
−
−
−
P54
P53
P52
P51
P50
PDR6
7
6
5
4
3
2
1
0
P67
P66
P65
P64
P63
P62
P61
P60
アドレス : 000000H
PDR1
bit
アドレス : 000001H
PDR2
bit
アドレス : 000002H
PDR4
bit
アドレス : 000004H
PDR5
bit
アドレス : 000006H
初期値
アクセス
XXXXXXXXB R/W *
XXXXXXXXB
R/W *
XXXXXXXXB
R/W *
XXXXXXXXB
R/W *
---XXXXXB
R/W *
XXXXXXXXB
R/W *
*: 入出力ポートへの R/W アクセスは , メモリへの R/W アクセスとは多少動作が異なります。
以下のような動作をしますので , 注意してください。
• 入力モード
- 読出し時 : 対応する端子のレベルが読み出されます。
- 書込み時 : 出力用のラッチに書き込まれます。
• 出力モード
- 読出し時 : データレジスタラッチの値が読み出されます。
- 書込み時 : 対応する端子に出力されます。
168
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 8 章 I/O ポート
8.2 I/O ポートのレジスタ
MB90335 シリーズ
ポート方向レジスタ
(DDR0 ∼ DDR2, DDR4 ∼ DDR6)
8.2.2
ポート方向レジスタの構成および機能について説明します。
■ ポート方向レジスタ (DDR0 ∼ DDR2, DDR4 ∼ DDR6)
図 8.2-2 に , ポート方向レジスタ (DDR0 ∼ DDR2, DDR4 ∼ DDR6) の一覧を示します。
図 8.2-2 ポート方向レジスタ (DDR0 ∼ DDR2, DDR4 ∼ DDR6) の一覧
DDR0
bit
アドレス : 000010H
DDR1
bit
アドレス : 000011H
DDR2
bit
アドレス : 000012H
DDR4
bit
7
D07
6
D06
5
D05
4
D04
3
D03
2
D02
1
D01
0
D00
15
14
13
12
11
10
9
8
D17
D16
D15
D14
D13
D12
D11
D10
7
6
5
4
3
2
1
0
D27
D26
D25
D24
D23
D22
D21
D20
7
6
5
4
3
2
1
0
D47
D46
D45
D44
D43
D42
D41
D40
bit
15
14
13
12
11
10
9
8
アドレス : 000015H
−
−
−
D54
D53
D52
D51
D50
アドレス : 000014H
DDR5
DDR6
bit
アドレス : 000016H
7
6
5
4
3
2
1
0
D67
D66
D65
D64
D63
D62
D61
D60
初期値
アクセス
00000000B
R/W
00000000B
R/W
00000000B
R/W
00000000B
R/W
---00000B
R/W
00000000B
R/W
● 各端子がポートとして機能している場合
各端子がポートとして機能している場合, 対応する各端子を以下のように制御します。
• 0: 入力モード
• 1: 出力モードリセットで "0" になります。
<注意事項>
リードモディファイライト系の命令(ビットセットなどの命令)を使用してDDR0∼DDR2,
DDR4 ∼ DDR6 レジスタをアクセスすると , 命令で注目しているビットは所定の値になり
ますが , それ以外のビットで入力設定してあるものに対応する出力レジスタの内容は , そ
のときの端子の入力値に書き換わります。このため , 入力として使用していた端子を出力
に切り換えるときには , 始めに希望値を PDR に書き込んでから DDR をセットし , その後
で出力に切り換えるようにしてください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
169
第 8 章 I/O ポート
8.2 I/O ポートのレジスタ
8.2.3
MB90335 シリーズ
その他のレジスタ
ポートデータレジスタ (PDR0 ∼ PDR2, PDR4 ∼ PDR6), ポート方向レジスタ
(DDR0 ∼ DDR2, DDR4 ∼ DDR6) 以外のレジスタの構成および機能について説明し
ます。
■ ポート 0,1 プルアップ抵抗レジスタ (RDR0, RDR1)
プルアップ抵抗レジスタ (RDR0, RDR1) のビット構成を図 8.2-3 に示します。
図 8.2-3 プルアップ抵抗レジスタ (RDR0, RDR1) のビット構成
RDR0
bit
7
アドレス : 00001CH RD07
RDR1
bit
15
アドレス : 00001DH RD17
6
5
4
3
2
1
0
RD06
RD05
RD04
RD03
RD02
RD01
RD00
14
13
12
11
10
9
8
RD16
RD15
RD14
RD13
RD12
RD11
RD10
初期値
アクセス
00000000B
R/W
00000000B
R/W
プルアップ抵抗レジスタ (RDR0, RDR1) は , 入力モード時にプルアップ抵抗をなしとす
るか , ありとするかを設定します。
• 0: 入力モード時プルアップ抵抗なし
• 1: 入力モード時プルアップ抵抗あり
RDR0, RDR1 レジスタは , 出力モード時には機能をもちません ( プルアップ抵抗なし )。
入出力モードは , 方向レジスタ (DDR) の設定で決まります。
ストップ時 (SPL=1) のときはプルアップ抵抗なしになります ( ハイインピーダンス )。
外部バスで使用する場合は , この機能は使用禁止です。RDR0, RDR1 レジスタへは書き
込まないようにしてください。
■ ポート 4 出力端子レジスタ (ODR4)
出力端子レジスタ (ODR4) のビット構成を図 8.2-4 に示します。
図 8.2-4 出力端子レジスタ (ODR4) のビット構成
ODR4
bit
15
アドレス : 00001BH OD47
14
13
12
11
10
9
8
OD46
OD45
OD44
OD43
OD42
OD41
OD40
初期値
アクセス
00000000B
R/W
出力端子レジスタ (ODR4) は , 出力モード時のオープンドレイン制御を行います。
• 0: 出力モード時に標準出力ポートになります。
• 1: 出力モード時にオープンドレイン出力ポートになります。
出力端子レジスタ (ODR4) は , 入力モード時は機能をもちません ( 出力ハイインピーダ
ンス )。
入出力モードは , 方向レジスタ (DDR) の設定で決まります。
外部バスで使用する場合は , この機能は使用禁止です。出力端子レジスタ (ODR4) へは
書き込まないようにしてください。
170
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第9章
タイムベースタイマ
タイムベースタイマの機能と動作について説明し
ます。
9.1 タイムベースタイマの概要
9.2 タイムベースタイマの構成
9.3 タイムベースタイマ制御レジスタ (TBTC)
9.4 タイムベースタイマの割込み
9.5 タイムベースタイマの動作
9.6 タイムベースタイマ使用上の注意
9.7 タイムベースタイマのプログラム例
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
171
第 9 章 タイムベースタイマ
9.1 タイムベースタイマの概要
9.1
MB90335 シリーズ
タイムベースタイマの概要
タイムベースタイマは , 内部カウントクロック ( 原発振の 2 分周 ) に同期してカウン
トアップする 18 ビットのフリーランカウンタ ( タイムベースカウンタ ) で , 4 種類
のインターバル時間を選択できるインターバルタイマ機能があります。また , 発振
安定待ち時間のタイマ出力やウォッチドッグタイマなどの動作クロックを供給する
機能もあります。
■ インターバルタイマ機能
インターバルタイマ機能は, 一定時間間隔で繰り返し割込み要求を発生する機能です。
• タイムベースカウンタのインターバルタイマ用ビットがオーバフローすると割込
み要求を発生します。
• インターバルタイマ用のビット ( インターバル時間 ) は , 4 種類の中から選択できま
す。
表 9.1-1 に , タイムベースタイマのインターバル時間を示します。
表 9.1-1 タイムベースタイマのインターバル時間
内部カウントクロック周期
インターバル時間
212/HCLK( 約 0.68 ms)
2/HCLK(0.33 μs)
214/HCLK( 約 2.7 ms)
216/HCLK( 約 10.9 ms)
219/HCLK( 約 87.4 ms)
HCLK: 発振クロック
() 内は発振クロック 6 MHz 動作時の値です。
172
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 9 章 タイムベースタイマ
9.1 タイムベースタイマの概要
MB90335 シリーズ
■ クロック供給機能
クロック供給機能は , 発振安定待ち時間用のタイマや , 一部の周辺機能に対する動作ク
ロックを供給する機能です。表 9.1-2 に , タイムベースタイマから各周辺に供給される
クロックの周期を示します。
表 9.1-2 タイムベースタイマから供給されるクロック周期
クロック供給先
クロック周期
213/HCLK( 約 1.4 ms)
発振安定待ち時間
備 考
セラミック振動子用発振安定待ち時間
215/HCLK( 約 5.5 ms)
水晶振動子用発振安定待ち時間
217/HCLK( 約 21.8 ms)
212/HCLK( 約 0.68 ms)
214/HCLK( 約 2.7 ms)
ウォッチドッグタイマ
216/HCLK( 約 10.9 ms)
ウォッチドッグタイマのカウント
アップクロック
219/HCLK( 約 87.4 ms)
HCLK: 発振クロック
() 内は発振クロック 6 MHz 動作時の値です。
<参考>
発振開始直後は発振周期が不安定なため , 発振安定待ち時間は目安となります。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
173
第 9 章 タイムベースタイマ
9.2 タイムベースタイマの構成
MB90335 シリーズ
タイムベースタイマの構成
9.2
タイムベースタイマは , 次の 4 つのブロックで構成されています。
• タイムベースタイマカウンタ
• カウンタクリア回路
• インターバルタイマセレクタ
• タイムベースタイマ制御レジスタ (TBTC)
■ タイムベースタイマのブロックダイヤグラム
図 9.2-1 に , タイムベースタイマのブロックダイヤグラムを示します。
図 9.2-1 タイムベースタイマのブロックダイヤグラム
ウォッチドッグ
タイマへ
PPGタイマヘ
タイムベースタイマカウンタ
HCLKの
2分周
×21 ×22 ×23
×28 ×29 ×210 ×211 ×212 ×213 ×214 ×215 ×216 ×217 ×218
OF
OF
パワーオンリセット
ストップモード開始
CKSCR:MCS=1→0*
OF
OF
クロック制御部
発振安定待ち
時間セレクタへ
カウンタ
クリア回路
インターバル
タイマセレクタ
TBOF
セット
TBOFクリア
タイムベースタイマ制御レジスタ(TBTC)
予約
TBIE
TBOF TBR
TBC1 TBC0
タイムベースタイマ割込み信号
- :未定義
OF :オーバフロー
HCLK :発振クロック
*
:マシンクロックをメインクロックからPLLクロックへ切換え
● タイムベースタイマカウンタ
発振クロック (HCLK) の 2 分周クロックをカウントクロックとする , 18 ビットのアッ
プカウンタです。
174
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 9 章 タイムベースタイマ
9.2 タイムベースタイマの構成
● カウンタクリア回路
タイムベースタイマ制御レジスタ (TBTC) のタイムベースタイマ初期化ビット (TBR) へ
の "0" 書込み , パワーオンリセット , ストップモードへの移行 , メインクロックモード
から PLL クロックモードへの切換えでカウンタをクリアする回路です。
● インターバルタイマセレクタ
タイムベースタイマカウンタの 4 種類の出力から 1 つを選択します。選択したビット
のオーバフローが割込み要因となります。
● タイムベースタイマ制御レジスタ (TBTC)
インターバル時間の選択 , カウンタのクリア , 割込み要求の制御および状態の確認をし
ます。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
175
第 9 章 タイムベースタイマ
9.3 タイムベースタイマ制御レジスタ (TBTC)
9.3
MB90335 シリーズ
タイムベースタイマ制御レジスタ (TBTC)
タイムベースタイマ制御レジスタ (TBTC) は , インターバル時間の選択 , タイムベー
スタイマカウンタのクリア , 割込み制御および状態の確認をするレジスタです。
■ タイムベースタイマ制御レジスタ (TBTC)
図 9.3-1 タイムベースタイマ制御レジスタ (TBTC) のビット構成
アドレス
0000A9H
bit15
bit14 bit13 bit12 bit11 bit10
bit9
bit0
bit8 bit7
予約
‐
‐
TBIE
TBOF
TBR
TBC1
TBC0
R/W
‐
‐
R/W
R/W
W
R/W
R/W
TBC1 TBC0
(WDTC)
インターバル時間選択ビット
0
0
0
1
214/HCLK(約2.7ms)
0
216/HCLK(約10.9ms)
1
初期値
1--00100B
212/HCLK(約0.68ms)
1
1
219/HCLK(約87.4ms)
( )内は発振クロック6MHzの値です。
TBR
タイムベースタイマ初期化ビット
ライト時
リード時
タイムベースタイマカウンタ,
BOFビットをクリア
0
1
TBOF
176
割込み要求フラグビット
ライト時
リード時
0
このビットのクリア
1
指定ビットの
オーバフローあり
変化なし,ほかへの影響なし
割込み要求許可ビット
0
割込み要求出力の禁止
1
割込み要求出力の許可
予約
:リード・ライト可能
:ライトオンリ
:未使用
:発振クロック
:初期値
変化なし,ほかへの影響
なし
指定ビットの
オーバフローなし
TBIE
R/W
W
HCLK
常に"1"が読み出され
ます
予約ビット
必ず"1"を設定してください
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 9 章 タイムベースタイマ
9.3 タイムベースタイマ制御レジスタ (TBTC)
表 9.3-1 タイムベースタイマ制御レジスタ (TBTC) の各ビットの機能
ビット名
機 能
bit15
予約 :
予約ビット
( 注意事項 )
必ず "1" を書込んでください。
bit14,
bit13
未使用
ビット
• 読出し時の値は不定です。
• 書込みは動作に影響を与えません。
bit12
TBIE:
割込み要求
許可ビット
• CPU への割込み要求出力の許可 / 禁止をするビットです。
• TBIE ビットと割込み要求フラグビット (TBOF) が "1" の場合 , 割込み要求
を出力します。
bit11
TBOF:
割込み要求
フラグビット
• タイムベースタイマカウンタ指定ビットがオーバフローすると"1"にセッ
トされます。
• TBOF ビットと割込み要求許可ビット (TBIE) が "1" の場合 , 割込み要求を
出力します。
• 書込み時は "0" でクリアされ , "1" では変化せず , ほかへの影響はありませ
ん。
( 注意事項 )
• TBOF ビットをクリアする場合には , 割込み要求許可ビット (TBIE) または
プロセッサステータス (PS) の割込みレベルマスクレジスタ (ILM) の指定
で , タイムベースタイマ割込みが禁止されている状態にしてください。
• "0" の書込み , ストップモードへの遷移 , メインクロックモードから PLL
クロックモードへの遷移およびタイムベースタイマ初期化ビット (TBR)
への "0" 書込みおよびリセットにより "0" にクリアされます。
bit10
TBR:
タイムベース
タイマ
初期化ビット
• タイムベースタイマカウンタをクリアするビットです。
• "0" を書き込むとカウンタがクリアされ , さらに TBOF ビットをクリアし
ます。"1" では変化せず , ほかへの影響はありません。
( 参考 )
読出し値は , 常に "1" です。
bit9,
bit8
TBC1, TBC0:
インターバル
時間選択
ビット
• インターバルタイマの周期を選択するビットです。
• タイムベースタイマカウンタのインターバルタイマ用のビットが指定さ
れます。
• 4 種類のインターバル時間が選択できます。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
177
第 9 章 タイムベースタイマ
9.4 タイムベースタイマの割込み
MB90335 シリーズ
タイムベースタイマの割込み
9.4
タイムベースタイマは , タイムベースタイマカウンタの指定ビットのオーバフロー
で割込み要求を発生できます ( インターバルタイマ機能 )。
■ タイムベースタイマの割込み
タイムベースタイマカウンタが内部カウントクロックでカウントアップし , 選択され
たインターバルタイマ用のビットがオーバフローすると , タイムベースタイマ制御レ
ジスタ (TBTC) の割込み要求フラグビット (TBOF) が "1" にセットされます。その場合 ,
割込み要求許可ビット (TBIE) を "1" にして割込み要求を許可していると , CPU に割込
み要求が発生します。割込み処理ルーチンで TBOF ビットに "0" を書き込んで , 割込み
要求をクリアしてください。なお , TBOF ビットは , 割込み要求許可ビット (TBIE) の値
に関係なく , 指定したビットがオーバフローするとセットされます。
<注意事項>
タイムベースタイマ制御レジスタ (TBTC) の割込み要求フラグビット (TBOF) をクリアす
る場合には , 割込み要求許可ビット (TBIE) またはプロセッサステータス (PS) の割込みレ
ベルマスクレジスタ (ILM) の設定で , タイムベースタイマ割込みが禁止されている状態で
行ってください。
<参考>
•
TBOF ビットが "1" の場合に , TBIE ビットを禁止から許可 (0 → 1) にすると直ちに割込
み要求が発生します。
•
EI2OS, μDMAC は使用できません。
■ タイムベースタイマの割込みと EI2OS, μDMAC
表 9.4-1 に , タイムベースタイマの割込みと EI2OS, μDMAC を示します。
表 9.4-1 タイムベースタイマの割込みと EI2OS, μDMAC
割込みレベル設定レジスタ
割込み番号
#40
ベクタテーブルのアドレス
レジスタ名
アドレス
下位
上位
バンク
ICR14
0000BEH
FFFF5CH
FFFF5DH
FFFF5EH
EI2OS
μDMAC
×
×
× : 使用不可
<注意事項>
ICR14 は , タイムベースタイマ割込みと時計タイマ割込みと UART 受信完了 ch.0/ch.1 割
込みの 3 つの用途に使用できますが , 割込みレベルは同一になります。
178
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 9 章 タイムベースタイマ
9.5 タイムベースタイマの動作
MB90335 シリーズ
9.5
タイムベースタイマの動作
タイムベースタイマには , インターバルタイマ機能および一部の周辺機能へのク
ロック供給機能があります。
■ インターバルタイマ機能 ( タイムベースタイマ ) の動作
インターバルタイマ機能は , 任意のインターバル時間ごとに割込み要求を発生します。
インターバルタイマとして動作させるには , 図 9.5-1 の設定が必要です。
図 9.5-1 タイムベースタイマの設定
アドレス
0000A9H
◎
0
1
TBTC
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
予約
1
-
-
TBIE
TBOF
0
TBR
0
TBC1
TBC0
◎
◎
◎
bit7
bit0
(WDTC)
: 使用ビット
: 未使用ビット
: "0" を設定
: "1" を設定
• タイムベースタイマカウンタは , クロックが発振している限り , 内部カウントク
ロック ( 発振クロックの 2 分周 ) に同期して , カウントアップを続けます。
• カウンタがクリアされると "0" からカウントアップを行い , インターバルタイマ用
のビットがオーバフローすると , 割込み要求フラグビット (TBOF) を "1" にセットし
ます。この場合 , 割込み要求出力を許可 (TBIE=1) しているとクリアされた時間を基
準にして , 選択されたインターバル時間ごとに割込みを発生することになります。
• インターバル時間は , タイムベースタイマのクリア動作で , 設定時間よりも長くな
ることがあります。
■ 発振安定待ち時間用タイマ機能
タイムベースタイマは , 発振クロックおよび PLL クロックの発振安定待ち時間用のタ
イマとしても使用されます。発振安定待ち時間は , カウンタが "0"( カウントクリア ) か
らカウントアップし , 発振安定待ち時間用のビットがオーバフローするまでの時間と
なります。ただし , タイムベースタイマモードから PLL クロックモードまたはメイン
クロックモード復帰時には , タイムベースタイマカウンタがクリアされないため , カウ
ント途中からの時間になります。表 9.5-1 に , タイムベースカウンタのクリアと発振安
定待ち時間について示します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
179
第 9 章 タイムベースタイマ
9.5 タイムベースタイマの動作
MB90335 シリーズ
表 9.5-1 タイムベースタイマカウンタのクリア動作と発振安定待ち時間
動 作
カウンタ
クリア
TBOF
発振安定待ち時間
タイムベースタイマ制御レジスタ
(TBTC)のタイムベースタイマ初期
化ビット (TBR) へ "0" 書込み
○
○
なし
パワーオンリセット
○
○
ウォッチドッグリセット
×
○
メインストップモードの解除
○
○
PLL ストップモードの解除
○
○
メインクロックモードから
PLL クロックモードへの移行
(MCS=1 → 0)
○
○
タイムベースタイマモードの解除
×
×
なし
スリープモードの解除
×
×
なし
メインクロック発振安定待ち時間
PLL クロック発振安定待ち時間
○ : あり
× : なし
■ クロック供給機能
タイムベースタイマは , ウォッチドッグタイマにクロックを供給しています。タイム
ベースカウンタのクリアで , ウォッチドッグタイマは , 動作に影響を受けます。
180
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
9.6
第 9 章 タイムベースタイマ
9.6 タイムベースタイマ使用上の注意
タイムベースタイマ使用上の注意
割込み要求のクリアおよびタイムベースタイマのクリアによる周辺機能への影響な
どの注意点を示します。
■ タイムベースタイマ使用上の注意
● 割込み要求のクリア
タイムベースタイマ制御レジスタ (TBTC) の割込み要求フラグビット (TBOF) をクリア
する場合には , 割込み要求許可ビット (TBIE) またはプロセッサステータス (PS) の割込
みレベルマスクレジスタ (ILM) でタイムベースタイマ割込みがマスクされている状態
で行うようにしてください。
● タイムベースタイマのクリアによる影響
タイムベースタイマのカウンタのクリアで , 次の動作は影響を受けます。
• タイムベースタイマでインターバルタイマ機能 ( インターバル割込み ) を使用して
いる場合
• ウォッチドッグタイマを使用している場合
● 発振安定待ち時間用タイマとしての使用
電源投入時 , メインストップモード中などでは , 発振クロックが停止しているため , 発
振器が動作を開始した後 , タイムベースタイマが供給する動作クロックを使用して発
振クロックの発振安定待ち時間をとります。高速発振端子に接続する振動子の種類に
よって , 適切な発振安定待ち時間を選択する必要があります。詳細については , 「5.5
発振安定待ち時間」を参照してください。
● タイムベースタイマからクロックを供給される周辺機能に対する注意
メインクロックが停止するモードでは , カウンタはクリアされ , タイムベースタイマは
動作を停止します。また , タイムベースタイマから供給されるクロックは , タイムベー
スタイマのカウンタがクリアされると , 初期状態からの供給となるため , "H" レベルが
短くまたは "L" レベルが最大で 1/2 周期長くなることがあります。ウォッチドッグタイ
マ用のクロックも初期状態からの供給となりますが , ウォッチドッグタイマのカウン
タが同時にクリアされるためウォッチドッグタイマは正常な周期で動作します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
181
第 9 章 タイムベースタイマ
9.6 タイムベースタイマ使用上の注意
MB90335 シリーズ
■ タイムベースタイマの動作
次の状態の動作を図 9.6-1 に示します。
• パワーオンリセットが発生した場合
• インターバルタイマ機能の動作中にスリープモードへ移行した場合
• ストップモードへ移行した場合
• カウンタクリアの要求があった場合
ストップモードへの移行でタイムベースタイマはクリアされ , 動作を停止します。ス
トップモードからの復帰時にタイムベースタイマで発振安定待ち時間をカウントしま
す。
図 9.6-1 タイムベースタイマの動作
カウンタ値
3FFFFH
ストップモードへの
移行によるクリア
発振安定待ち
オーバフロー
00000H
CPU動作開始
パワーオンリセット
(オプション)
インターバル周期
(TBTC:TBC1,TBC0=11B)
カウンタクリア
(TBTC:TBR=0)
割込み処理ルーチンでクリア
TBOFビット
TBIEビット
スリープ
SLPビット
(LPMCRレジスタ)
インターバル割込みスリープ解除
ストップ
STPビット
(LPMCRレジスタ)
外部割込みによるストップ解除
タイムベースタイマ制御レジスタのインターバル時間選択ビット(TBTC:TBC1,TBC0)に
"11B"を設定した場合(219/HCLK)。
: 発振安定待ち時間
HCLK : 発振クロック
182
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 9 章 タイムベースタイマ
9.7 タイムベースタイマのプログラム例
MB90335 シリーズ
9.7
タイムベースタイマのプログラム例
タイムベースタイマのプログラム例を示します。
■ タイムベースタイマのプログラム例
● 処理仕様
212/HCLK( 発振クロック ) のインターバル割込みを繰り返し発生します。この場合のイ
ンターバル時間は , 約 0.68 ms(6 MHz 動作時 ) となります。
● コーディング例
ICR14
EQU
0000BEH
; タイムベースタイマ用割込み制御レジスタ
TBTC
EQU
0000A9H
; タイマベースタイマ制御レジスタ
TBOF
EQU
TBTC:3
; 割込み要求フラグビット
;---------- メインプログラム ---------------------------------------------------CODE
CSEG
START:
;
; スタックポインタ (SP) などは初期化済み
:
; とする
AND
CCR,
#0BFH
; 割込み禁止
MOV
I:ICR14,
#00H
; 割込みレベル 0( 最も高い )
MOV
I:TBTC,
#10010000B
; 上位 3 ビットは固定
; 割込み許可 , TBOF クリア
; カウンタクリア
; インターバル時間 212/HCLK 選択
MOV
ILM,
#07H
; PS 内 ILM をレベル 7 に設定
OR
CCR,
#40H
; 割込み許可
LOOP:
MOV
A, #00H
; 無限ループ
MOV
A, #01H
BRA
LOOP
;---------- 割込みプログラム ---------------------------------------------------WARI:
CLR ビット BOF
;
:
;
ユーザ処理
;
:
RETI
CODE
; 割込み要求フラグをクリア
; 割込みから復帰
ENDS
;---------- ベクタ設定 ----------------------------------------------------------
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
183
第 9 章 タイムベースタイマ
9.7 タイムベースタイマのプログラム例
VECT
VECT
CSEG
ABS=0FFH
ORG
0FF6CH
DSL
WARI
ORG
0FFDCH
DSL
START
DB
00H
; 割込みベクタを設定
; リセットベクタ設定
; シングルチップモードに設定
ENDS
END
184
MB90335 シリーズ
START
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 10 章
ウォッチドッグタイマ
ウォッチドッグタイマの機能と動作について説明
します。
10.1 ウォッチドッグタイマの概要
10.2 ウォッチドッグタイマ制御レジスタ (WDTC)
10.3 ウォッチドッグタイマの構成
10.4 ウォッチドッグタイマの動作
10.5 ウォッチドッグタイマ使用上の注意
10.6 ウォッチドッグタイマのプログラム例
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
185
第 10 章 ウォッチドッグタイマ
10.1 ウォッチドッグタイマの概要
10.1
MB90335 シリーズ
ウォッチドッグタイマの概要
ウォッチドッグタイマは , タイムベースタイマまたは時計タイマの出力をカウント
クロックとする 2 ビットのカウンタで , 起動後 , 一定時間内にクリアされない場合
CPU をリセットします。
■ ウォッチドッグタイマ機能
ウォッチドッグタイマは , プログラム暴走対策用のカウンタです。一度起動すると一定
時間内で定期的にクリアし続ける必要があります。プログラムが無限ループに陥るな
どして , 一定時間以上クリアされない場合 , CPU に対してウォッチドッグリセットを発
生します。ウォッチドッグタイマのインターバル時間は , 表 10.1-1 に示すように ,
ウォッチドッグタイマ制御レジスタ (WDTC) の WT1, WT0 ビットで設定できます。
ウォッチドッグタイマがクリアされない場合 , 最小時間∼最大時間の間にウォッチ
ドッグリセットが発生します。この表の最小時間内にカウンタをクリアしてください。
表 10.1-1 ウォッチドッグタイマのインターバル時間
インターバル時間
WT1
*
WT0
最小 *
最大 *
クロックサイクル
0
0
約 2.39 ms
約 3.07 ms
(214 ± 211) / HCLK
0
1
約 9.56 ms
約 12.29 ms
(216 ± 213) / HCLK
1
0
約 38.23 ms
約 49.15 ms
(218 ± 215) / HCLK
1
1
約 305.83 ms
約 393.22 ms
(221 ± 218) / HCLK
: 発振クロック (HCLK) 6 MHz 動作時の値です。ウォッチドッグタイマインターバル時間の最大 , 最
小および発振クロックサイクル数は , クリアのタイミングで決まります。インターバル時間は , カ
ウントクロック ( タイムベースタイマの供給クロック ) 周期の 3.5 ∼ 4.5 倍になります。ウォッチ
ドッグタイマインターバル時間については , 「10.4 ウォッチドッグタイマの動作」を参照してく
ださい。
<注意事項>
ウォッチドッグカウンタは , タイムベースタイマの桁上り信号をカウントする 2 ビットカ
ウンタによって構成されています。したがって , タイムベースタイマがクリアされると ,
ウォッチドッグリセットの発生時間が , 設定した時間より長くなることがあります。
<参考>
ウォッチドッグタイマは起動されると , パワーオン , ウォッチドッグによるリセットで初
期化され , 停止状態になります。また , 外部端子によるリセット , ソフトウェアリセット ,
ウォッチドッグタイマ制御レジスタのウォッチドッグ制御ビット (WTE) への書込み , ス
リープモードへの遷移およびストップモードへの遷移でウォッチドッグカウンタはクリ
アされますが , ウォッチドッグタイマは起動したままです。
186
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 10 章 ウォッチドッグタイマ
10.2 ウォッチドッグタイマ制御レジスタ (WDTC)
MB90335 シリーズ
ウォッチドッグタイマ制御レジスタ (WDTC)
10.2
ウォッチドッグタイマ制御レジスタ (WDTC) は , ウォッチドッグタイマの起動 , クリ
ア , およびリセット要因の表示を行うレジスタです。
■ ウォッチドッグタイマ制御レジスタ (WDTC)
図 10.2-1 にウォッチドッグタイマ制御レジスタ (WDTC) を , 表 10.2-1 に WDTC レジス
タの各ビットの機能について説明します。
図 10.2-1 ウォッチドッグタイマ制御レジスタ (WDTC) のビット構成
アドレス
0000A8H
bit15
bit8 bit7
(TBTC)
bit6
bit5
PONR
‐
WRST
R
‐
R
bit4
bit3
ERST
SRST
R
R
bit2
bit1
bit0
WTE
WT1
WT0
W
W
W
初期値
X-XXX111B
インターバル時間選択ビット(HCLK:6MHz動作時)
WT1
WT0
0
0
約2.39ms
約3.07ms
( 214±211)/HCLK
0
1
0
1
1
約9.56ms
約38.23ms
約305.83ms
約12.29ms
約49.15ms
約393.22ms
( 216±213)/HCLK
1
インターバル時間
最小
最大
発振クロックサイクル
( 218±215)/HCLK
( 221±218)/HCLK
HCLK:発振クロック
ウォッチドッグ制御ビット
WTE
・ウォッチドッグタイマを起動
(リセット後1回目の書込みのとき)
・ウォッチドッグタイマをクリア
(リセット後2回目以降の書込みのとき)
動作なし
0
1
リセット要因ビット
R
W
X
*
:リードオンリ
:ライトオンリ
:不定
:予約
:前の状態を保持
:初期値
リセット要因
PONR
WRST
ERST
SRST
1
X
X
X
パワーオン
*
1
*
*
ウォッチドッグタイマ
*
*
1
*
外部端子(RST="L"入力)
*
*
*
1
RSTビット(ソフトウェアリセット)
インターバル時間はカウントクロック ( タイムベースタイマの出力値 ) 周期の 3.5 ∼ 4.5
倍となります。詳細は「10.4 ウォッチドッグタイマの動作」を参照してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
187
第 10 章 ウォッチドッグタイマ
10.2 ウォッチドッグタイマ制御レジスタ (WDTC)
MB90335 シリーズ
表 10.2-1 ウォッチドッグタイマ制御レジスタ (WDTC) の各ビットの機能
ビット名
bit7,
bit5
∼
bit3
PONR
WRST
ERST
SRST
リセット要因
ビット
bit6
予約
予約
bit2
bit1,
bit0
188
機 能
WTE
WT1
WT0
• リセット要因を示す読出し専用ビットです。各リ
セット要因が発生すると, これらのビットが "1"に
セットされます。
• PONR, WRST, ERST, SRST ビットは , WDTC レジ
スタの読出し動作後に , すべて "0" にクリアされ
ます。
• パワーオン時は , PONR ビット以外のビットの内
容は保証されません。したがって, PONRビットが
"1" の場合はこれ以外のビットの内容を無視する
ようにしてください。
• 読出し値は不定です。
• 書込みは , 動作に影響ありません。
ウォッチドッグ
制御ビット
• "0" を書き込むと , ウォッチドッグタイマを起動
( リセット後 1 回目の書込み ) または 2 ビットカウ
ンタをクリア ( リセット後 2 回目以降の書込み ) し
ます。
• "1" の書込みでは , 動作に影響はありません。
インターバル時間
選択ビット
• ウォッチドッグタイマのインターバル時間を選択
するビットです。
• ウォッチドッグタイマの起動時のデータのみが有
効です。ウォッチドッグタイマ起動時後の書込み
データは , 無視されます。
• WT1, WT0 ビットは , 書込み専用です。
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 10 章 ウォッチドッグタイマ
10.3 ウォッチドッグタイマの構成
MB90335 シリーズ
10.3
ウォッチドッグタイマの構成
ウォッチドッグタイマは , 次の 5 つのブロックで構成されています。
• カウントクロックセレクタ
• ウォッチドッグカウンタ (2 ビットカウンタ )
• ウォッチドッグリセット発生回路
• カウンタクリア制御回路
• ウォッチドッグタイマ制御レジスタ (WDTC)
■ ウォッチドッグタイマのブロックダイヤグラム
図 10.3-1 に , ウォッチドッグタイマのブロックダイヤグラムを示します。
図 10.3-1 ウォッチドッグタイマのブロックダイヤグラム
ウォッチドッグタイマ制御レジスタ(WDTC)
PONR
WRST ERST SRST WTE
ストップモード開始
WT0
2/
ウォッチドッグタイマ
タイムベースタイマモード開始
スリープモード開始
カウンタ
クリア
制御回路
WT1
CLR
と起動
ウォッチ
ドッグ
カウンタ
カウント
クロック
セレクタ
CLR
オーバ
フロー ウォッチドッグ
リセット
発生回路
内部リセット
発生回路へ
CLR
4/
クリア
(タイムベースタイマカウンタ)
HCLKの2分周
×21 ×22
×28 ×29 ×210 ×211 ×212 ×213 ×214 ×215 ×216 ×217 ×218
HCLK :発振クロック
● カウントクロックセレクタ
ウォッチドッグタイマのカウントクロックを , 4 種類のタイムベースタイマ出力と 4 種
類の時計タイマ出力から選択する回路です。これによりウォッチドッグリセットの発
生時間が決まります。
● ウォッチドッグカウンタ (2 ビットカウンタ )
タイムベースタイマ出力をカウントクロックとする 2 ビットのアップカウンタです。
● ウォッチドッグリセット発生回路
ウォッチドッグカウンタのオーバフローによってリセット信号を発生します。
● カウンタクリア制御回路
ウォッチドッグカウンタのクリアと , カウンタの動作 / 停止を制御します。
● ウォッチドッグタイマ制御レジスタ (WDTC)
ウォッチドッグタイマの起動およびクリアと , リセット発生要因の保持を行います。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
189
第 10 章 ウォッチドッグタイマ
10.4 ウォッチドッグタイマの動作
10.4
MB90335 シリーズ
ウォッチドッグタイマの動作
ウォッチドッグタイマは , ウォッチドッグカウンタのオーバフローで , ウォッチドッ
グリセットを発生します。
■ ウォッチドッグタイマの動作
ウォッチドッグタイマの動作には , 図 10.4-1 に示すような設定が必要です。
図 10.4-1 ウォッチドッグタイマの設定
アドレス
0000A8H
WDTC
bit15 ... bit8
bit7
bit6
(TBTC)
PONR
-
bit5
bit4
WRST ERST
bit3
bit2
bit1
bit0
SRST
WTE
0
WT1
WT0
◎
◎
◎ : 使用ビット
- : 未使用ビット
0 : "0" を設定
● ウォッチドッグタイマの起動
• ウォッチドッグタイマ制御レジスタ(WDTC)のウォッチドッグ制御ビット(WTE)に,
リセット後1回目の"0"を書き込むとウォッチドッグタイマは起動します。この場合,
WDTC レジスタのインターバル時間選択ビット (WT1, WT0) でインターバル時間を
同時に指定します。
• ウォッチドッグタイマは起動を開始すると , パワーオン , ウォッチドッグによるリ
セット以外に止める方法はありません。
● ウォッチドッグタイマのクリア
• WTE ビットへの , 2 回目以降の "0" の書込みで , ウォッチドッグタイマの 2 ビットカ
ウンタをクリアします。インターバル時間内にカウンタがクリアされない場合 , カ
ウンタがオーバフローし , ウォッチドッグリセットが発生します。
• リセットの発生 , スリープモード , ストップモード , タイムベースタイマモードへの
遷移によって , ウォッチドッグカウンタはクリアされます。
• タイムベースタイマモードへ遷移したときに , 一度ウォッチドッグカウンタをクリ
アしますが , クリア後ウォッチドッグカウンタは停止しませんので注意してくださ
い。
● ウォッチドッグタイマのインターバル時間
図 10.4-2 に , ウォッチドッグタイマのクリアのタイミングとインターバル時間の関係
を示します。インターバル時間は , ウォッチドッグタイマをクリアするタイミングに
よって変化し , カウントクロック周期の 3.5 ∼ 4.5 倍の時間を要します。
190
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 10 章 ウォッチドッグタイマ
10.4 ウォッチドッグタイマの動作
MB90335 シリーズ
● リセット要因の確認
リセット後 WDTC レジスタのリセット要因ビット (PONR, WRST, ERST, SRST) を
チェックすることで , リセット要因を知ることができます。
図 10.4-2 ウォッチドッグタイマのクリアタイミングとインターバル時間
[ウォッチドッグタイマブロック図]
2ビットカウンタ
クロック a
セレクタ
2分周回路
b
2分周回路
c
リセット回路
d
リセット
信号
カウント許可とクリア
WTEビット
カウント許可
出力回路
[最大インターバル時間]カウントクロックの立上り直前にWTEビットをクリアした場合
カウントスタート
カウンタクリア
カウントクロックa
2分周値b
2分周値c
カウント許可
リセット信号d
7×(カウントクロック周期/2)
ウォッチドッグリセット発生
WTEビットクリア
[最大インターバル時間]カウントクロックの立上り直後にWTEビットをクリアした場合
カウントスタート
カウンタクリア
カウントクロックa
2分周値b
2分周値c
カウント許可
リセット信号d
9×(カウントクロック周期/2)
WTEビットクリア
CM44-10137-6
ウォッチドッグリセット発生
FUJITSU MICROELECTRONICS LIMITED
191
第 10 章 ウォッチドッグタイマ
10.5 ウォッチドッグタイマ使用上の注意
10.5
MB90335 シリーズ
ウォッチドッグタイマ使用上の注意
ウォッチドッグタイマ使用時の注意点を示します。
■ ウォッチドッグタイマ使用上の注意
● ウォッチドッグタイマの停止
ウォッチドッグタイマは一度起動すると , パワーオン , ウォッチドッグ外部リセットが
発生するまで停止できません。
● インターバル時間
インターバル時間は , タイムベースタイマの桁上り信号をカウントクロックとしてい
るため , タイムベースタイマのクリアによって , ウォッチドッグタイマのインターバル
時間が設定より長くなることがあります。
● インターバル時間の選択
インターバル時間は , ウォッチドッグタイマの起動時に設定が可能です。起動時以外の
書込みデータは無視されます。
● プログラム作成上の注意
メインループの中で , 繰り返しウォッチドッグタイマをクリアするようなプログラム
を作成する場合 , 割込み処理を含めたメインループの処理時間が , ウォッチドッグタイ
マのインターバル時間の最小時間以下となる必要があります。
192
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 10 章 ウォッチドッグタイマ
10.6 ウォッチドッグタイマのプログラム例
MB90335 シリーズ
10.6
ウォッチドッグタイマのプログラム例
ウォッチドッグタイマのプログラム例を示します。
■ ウォッチドッグタイマのプログラム例
● 処理仕様
• メインプログラムのループの中で毎回ウォッチドッグタイマをクリアします。
• メインループは , ウォッチドッグタイマの最小インターバル時間内に 1 周する必要
があります。
● コーディング例
WDTC
EQU
0000A8H
; ウォッチドッグタイマ制御レジスタ
WTE
EQU
WDTC:2
; ウォッチドッグ制御ビット
;---------- メインプログラム --------------------------------------------------CODE
CSEG
START:
;
; スタックポインタ (SP) などは初期化済み
:
; とする
WDG_START:
MOV
WDTC, #00000011B ; ウォッチドッグタイマの起動
; インターバル時間 221 ± 218 サイクルを選択
;---------- メインループ ------------------------------------------------------MAIN:
CLRB
I:WTE
;
:
;
ユーザ処理
;
:
; ウォッチドッグタイマのクリア
定期的に 2 ビットのクリア
JMP
MAIN
; ウォッチドッグタイマのインターバル時間
; より短い時間でループする
CODE
ENDS
;---------- ベクタ設定 --------------------------------------------------------VECT
VECT
CSEG
ABS=0FFH
ORG
0FFDCH
DSL
START
DB
00H
; シングルチップモードに設定
ENDS
END
CM44-10137-6
; リセットベクタ設定
START
FUJITSU MICROELECTRONICS LIMITED
193
第 10 章 ウォッチドッグタイマ
10.6 ウォッチドッグタイマのプログラム例
194
MB90335 シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章
USB ファンクション
USB ファンクションの機能と概要について説明し
ます。
11.1 USB ファンクションの概要
11.2 USB ファンクションのブロックダイヤグラム
11.3 USB ファンクションのレジスタ
11.4 USB ファンクションの動作説明
管理番号 : CM44-00104-1
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
195
第 11 章 USB ファンクション
11.1 USB ファンクションの概要
11.1
MB90335 シリーズ
USB ファンクションの概要
USB ファンクションは , USB(Universal Serial Bus) 通信プロトコルをサポートす
るインタフェースです。転送スピードは FULL(12Mbps) に対応して動作し , 以下の
特長があります。
■ USB ファンクションの特長
• FULL スピード (12Mbps) をサポート (USB Full Speed 対応 )
• デバイスステータスは自動応答
• Bit Stripping, Bit Stuffing, CRC5, CRC16 の自動生成とチェック
• データ同期ビットによるトグルチェック
• Get/SetDescriptor, SynchFrame コマンドを除くすべての標準コマンドに自動応答
( 前記 3 コマンドはクラス・ベンダーコマンドと同様の処理が可能 )
• クラス・ベンダーコマンドはデータとして受信し , ファームによる応答が可能
• 最大 6 本のエンドポイントをサポート ( エンドポイント 0 は control 転送に固定 )
• 転送データバッファに各エンドポイントでバッファを 2 本ずつ内蔵 ( エンドポイン
ト 0 の場合は IN と OUT それぞれ専用に 1 本ずつ内蔵 )
• DMA による転送データの自動転送モードをサポート ( エンドポイント 0 のバッファ
以外 )
196
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.2 USB ファンクションのブロックダイヤグラム
MB90335 シリーズ
USB ファンクションのブロックダイヤグラム
11.2
図 11.2-1 に , USB ファンクションのブロックダイヤグラムを示します。
■ USB ファンクションのブロックダイヤグラム
図 11.2-1 USB ファンクションのブロックダイヤグラム
エンドポイント0
Inバッファ
内部
データバス
エンドポイント0
Outバッファ
エンドポイント1
バッファ
CLK(48MHz)
UDC
インタ
フェース
UDC
エンドポイント2
バッファ
割込み
#11,12
エンドポイント3
バッファ
エンドポイント4
バッファ
端子
DVM
DRV USB
DVP
エンドポイント5
バッファ
SUSP
SPT
CPUインタ
フェース
UDCCレジスタ
UDCSレジスタ
割込み#13
タイム
スタンプ
割込み#14
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
197
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
11.3
MB90335 シリーズ
USB ファンクションのレジスタ
USB ファンクションで使用するレジスタの構成 , および機能について説明します。
■ USB ファンクションのレジスタ一覧
図 11.3-1 USB ファンクションのレジスタ一覧
bit 15
8 7
UDCC
EP0C
EP1C
EP2C
EP3C
EP4C
EP5C
TMSP
UDCIE
0
UDCS
EP0IS
EP0OS
EP1S
EP2S
EP3S
EP4S
EP5S
EP0DT
EP1DT
EP2DT
EP3DT
EP4DT
EP5DT
8 ビット
198
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
8 ビット
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
図 11.3-2 USB ファンクションレジスタのビット構成
bit
アドレス :0000D0H
7
RST
6
5
4
RESUM HCON USTP
bit
アドレス :0000D1H
15
14
13
12
11
10
9
8
予約
予約
予約
予約
予約
予約
予約
予約
bit
アドレス :0000D2H
7
6
5
4
3
PKS0
2
1
0
予約
bit
アドレス :0000D3H
15
-
14
-
13
-
12
-
bit
アドレス :0000D4H
7
6
5
4
2
予約
予約
1
RFBK
0
PWC
14
bit
アドレス :0000D6H
6
7
13
12
DIR
5
4
TYPE
11
10
予約
予約
9
STAL
予約
3
2
1
0
8
bit
15
アドレス :0000D7H EPEN
14
bit
アドレス :0000D8H
6
7
13
TYPE
5
12
DIR
4
14
bit
アドレス :0000DAH
6
7
13
TYPE
5
12
DIR
4
14
bit
アドレス :0000DCH
6
7
13
TYPE
5
12
DIR
4
bit
15
アドレス :0000DDH EPEN
7
14
13
TYPE
6
5
12
DIR
アドレス :0000DEH
2
2
1
0
9
STAL
8
予約
1
0
9
STAL
8
予約
1
0
EP4 制御レジスタ (EP4C)
2
9
STAL
8
予約
1
0
EP5 制御レジスタ (EP5C)
11
10
DMAE NULE
3
8
PKS1
EP3 制御レジスタ (EP3C)
11
10
DMAE NULE
4
9
STAL
EP2 制御レジスタ (EP2C)
11
10
DMAE NULE
3
PKS5
予約
2
11
10
DMAE NULE
3
PKS4
予約
bit
15
アドレス :0000DBH EPEN
11
10
DMAE NULE
3
PKS3
予約
bit
15
アドレス :0000D9H EPEN
EP1 制御レジスタ (EP1C)
3
PKS2
予約
UDC 制御レジスタ (UDCC)
EP0 制御レジスタ (EP0C)
PKS1
bit
15
アドレス :0000D5H EPEN
bit
3
2
9
STAL
予約
8
1
0
タイムスタンプレジスタ
(TMSP)
TMSP
bit
アドレス :0000DFH
15
-
14
-
13
-
12
-
11
-
10
9
TMSP
8
bit
7
6
5
4
3
2
1
0
アドレス :0000E0H
-
-
SUSP
SOF
BRST WKUP SETP CONF
UDC ステータスレジスタ
(UPCS)
( 続く )
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
199
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
( 続き )
bit
アドレス :0000E1H
15
14
予約
予約
bit
アドレス :0000E2H
7
-
6
-
5
-
4
-
3
-
2
-
1
-
0
-
14
DRQIIE
13
-
12
-
11
-
10
DRQI
9
-
8
-
6
5
4
3
SIZE
2
1
0
11
-
10
DRQO
9
SPK
予約
3
2
1
0
bit
15
アドレス :0000E3H BFINI
bit
アドレス :0000E4H
7
予約
bit
15
アドレス :0000E5H BFINI
bit
アドレス :0000E6H
7
7
7
7
5
4
14
13
DRQIE SPKIE
6
5
12
8
14
13
DRQIE SPKIE
6
5
14
13
DRQIE SPKIE
6
5
7
14
13
DRQIE SPKIE
6
5
10
DRQ
9
SPK
8
SIZE
3
SIZE
2
1
0
11
BUSY
10
DRQ
9
SPK
予約
3
SIZE
2
1
0
11
BUSY
10
DRQ
9
SPK
予約
3
SIZE
2
1
0
11
BUSY
10
DRQ
9
SPK
予約
3
SIZE
2
1
0
予約
11
BUSY
10
DRQ
9
SPK
予約
4
3
2
1
0
4
12
予約
4
12
予約
4
12
予約
4
予約
bit
15
アドレス :0000EFH BFINI
14
13
DRQIE SPKIE
6
5
EP1 ステータスレジスタ (EP1S)
11
BUSY
予約
予約
bit
15
アドレス :0000EDH BFINI
bit
アドレス :0000EEH
6
12
-
予約
bit
15
アドレス :0000EBH BFINI
bit
アドレス :0000ECH
13
予約
bit
15
アドレス :0000E9H BFINI
bit
アドレス :0000EAH
14
DRQOIE SPKIE
12
EP0I ステータスレジスタ (EP0IS)
EP0O ステータスレジスタ (EP0OS)
SIZE
bit
15
アドレス :0000E7H BFINI
bit
アドレス :0000E8H
13
12
11
10
9
8
SUSPIE SOFIE BRSTIE WKUPIE CONFN CONFIE UDC 割込み許可レジスタ (UPCIE)
EP2 ステータスレジスタ (EP2S)
8
EP3 ステータスレジスタ (EP3S)
8
EP4 ステータスレジスタ (EP4S)
8
EP5 ステータスレジスタ (EP5S)
8
bit
アドレス :0000F0H
7
bit
アドレス :0000F1H
15
14
13
12
11
BFDT
10
9
8
bit
アドレス :0000F2H
7
6
5
4
2
1
0
BFDT
EP0 データレジスタ (EP0DT)
3
BFDT
EP1 データレジスタ (EP1DT)
( 続く )
200
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
( 続き )
bit
アドレス :0000F3H
15
14
13
12
11
BFDT
10
9
8
bit
アドレス :0000F4H
7
6
5
4
2
1
0
bit
アドレス :0000F5H
15
14
13
12
11
BFDT
10
9
8
bit
アドレス :0000F6H
7
6
5
4
2
1
0
bit
アドレス :0000F7H
15
14
13
12
11
BFDT
10
9
8
bit
アドレス :0000F8H
7
6
5
4
2
1
0
bit
アドレス :0000F9H
15
14
13
12
11
BFDT
10
9
8
bit
アドレス :0000FAH
7
6
5
4
2
1
0
bit
アドレス :0000FBH
15
CM44-10137-6
3
BFDT
EP2 データレジスタ (EP2DT)
3
BFDT
EP3 データレジスタ (EP3DT)
3
BFDT
EP4 データレジスタ (EP4DT)
3
BFDT
14
13
12
11
BFDT
EP5 データレジスタ (EP5DT)
10
9
FUJITSU MICROELECTRONICS LIMITED
8
201
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
UDC 制御レジスタ (UDCC)
11.3.1
UDC 制御レジスタ (UDCC) は , UDC コア回路の制御を行います。
■ UDC 制御レジスタ (UDCC)
図 11.3-3 に , UDC 制御レジスタ (UDCC) のビット構成を示します。
図 11.3-3 UDC 制御レジスタ (UDCC) のビット構成
アドレス
bit
0000D0H
7
RST
1
R/W
アドレス
bit
0000D1H
6
5
4
RESUM HCON USTP
0
1
0
R/W
R/W
R/W
3
2
1
0
予約
0
-
予約
0
-
RFBK
PWC
UDC 制御レジスタ
0
R/W
0
R/W
←初期値
←アクセス
15
14
13
12
11
10
9
8
予約
0
-
予約
0
-
予約
0
-
予約
0
-
予約
0
-
予約
0
-
予約
0
-
予約
0
-
←初期値
←アクセス
<注意事項>
UDC 制御レジスタ (UDCC) は , bit7 の RST=1 のときに設定し , USB 動作中に書き換えな
いようにしてください。ただし , bit6 の RESUM と bit4 の USTP は除きます。bit6 の
RESUM は, USBのサスペンド状態において下記のコマンドによるリモートウェイクアッ
プ許可状態でのみセット , リセットを行ってください。
ストップモード時は , ストップモード状態に入る前に bit4 の USTP へ "1" をセットしてく
ださい。
またストップモード解除時は UDCS の SUSP, UDCC の USTP の順に "0" に設定してくだ
さい。
以下に , UDC 制御レジスタ (UDCC) の各ビットの機能を説明します。
[bit15 ∼ bit8] 予約ビット
予約ビットです。必ず "0" を書き込んでください。常に "0" が読み出されます。
[bit7] RST ( ファンクションリセットビット )
USB ファンクションにチップのシステムリセット相当の個別リセットを行います。
HOST PC とのケーブル接続時に RST ビットにより USB ファンクションにリセット
を行います。初期値は "1" でリセット状態ですので "0" ライトで解除を行ってくだ
さい。
RST
202
動作モード
0
USB ファンクションのリセット解除
1
USB ファンクションをリセット
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
<注意事項>
RST ビットはタイムスタンプレジスタ , UDC ステータスレジスタ , 割込み許可レジスタ
の該当ビットを同時に初期化します。また , EP0I, EP0O, EP1 ∼ EP5 ステータスレジス
タの BFINI も同時にセットしますので , 初期設定の後 , RST ビットのクリアを行い (BFINI
はクリアされません ), 使用するエンドポイントの BFINI クリアの順で行ってください。
[bit6] RESUM ( リジューム設定ビット )
リモートウェイクアップ許可状態のとき ( ホストより SET_FEATURE コマンドで
DEVICE_REMOTE_WAKEUP ビットがセットされている ), かつサスペンド状態の
とき , RESUM ビットに "1" ライトでリジュームの開始となります。リジューム指示
は RESUM ビットに "1" 設定後 "0" ライトでクリアしてください。
RESUM
動作モード
0
USB リジューム 開始指示ビット解除
1
USB リジューム 開始指示
[bit5] HCON ( ホスト接続ビット )
外付けプルアップ抵抗と USB データラインとの間のスイッチを制御し , HOST PC
またはハブとの接続を認識させます。
HCON
動作モード
0
HOST PC または HUB と接続
1
HOST PC または HUB と切断状態
<注意事項>
外付けプルアップ抵抗が ON 状態で HOST, または HUB から接続を認識された場合でも ,
HCON ビットが "1" の間は USB バスのバスリセット , コマンドは無視します。
[bit4] USTP (USB 動作クロック停止ビット )
USTP ビットのセットにより USB 動作部のクロックを停止させます。USB を動作さ
せない場合に USTP ビットのセットにより消費電力を低減できます。
USTP
CM44-10137-6
動作モード
0
通常モード
1
USB 動作部のクロック停止
FUJITSU MICROELECTRONICS LIMITED
203
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
<注意事項>
USTP ビットのセットはストップモードにしない場合 , RST=1 にした後 , リセットが確実
にかかるように FULL スピード時には 3 サイクル後 , LOW スピード ( ホストモードの場合
のみ対応 ) 時には 43 サイクル待った後に行ってください。USTP ビットのクリアは RST
のクリアと同時でも構いません。
[bit3, bit2] 予約ビット
予約ビットです。必ず "0" を書き込んでください。常に "0" が読み出されます。
[bit1] RFBK: データトグルモード選択ビット ( レートフィードバックモード )
USB の割込み転送時のデータトグルモードの選択ビットです。
RFBK
動作モード
0
交代データトグルモードの選択
転送が問題なく完了したときにデータ PID をトグル
1
データトグルモードの選択
無条件にデータ PID をトグル
データトグルモードの選択は ISO 転送においてレートフィードバック情報に使用する
ことができます。
[bit0] PWC ( 電源制御ビット )
USB ファンクションの動作電源モード ( 自己電源 , バス電源 ) を指定します。
(PWC ビットの設定は標準コマンド GetStatus に反映します )
PWC
204
動作モード
0
バス電源
1
自己電源
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
EP0 制御レジスタ (EP0C)
11.3.2
EP0 制御レジスタ (EP0C) は , エンドポイント 0 に関する制御を行います。
■ EP0 制御レジスタ (EP0C)
図 11.3-4 に , EP0 制御レジスタ (EP0C) のビット構成を示します。
図 11.3-4 EP0 制御レジスタ (EP0C) のビット構成
アドレス
bit
0000D2H
アドレス
bit
0000D3H
7
6
5
4
予約
0
-
1
R/W
0
R/W
0
R/W
15
14
13
3
2
1
0
0
R/W
0
R/W
0
R/W
0
R/W
12
11
10
9
8
予約
0
-
予約
0
-
STAL
予約
0
-
PKS0
-
-
-
-
×
-
×
-
×
-
×
-
EP0 制御レジスタ
0
R/W
←初期値
←アクセス
←初期値
←アクセス
<注意事項>
EP0 制御レジスタ (EP0C) は , bit9 の STAL を除き UDC 制御レジスタ (UDCC)bit7 の RST,
EP0I/EP0O ステータスレジスタ (EP0IS/EP0OS)bit7 の BFINI が共に "1" のときに設定して ,
USB 動作中に書き換えないようにしてください。
以下に , EP0 制御レジスタ (EP0C) の各ビットの機能を説明します。
[bit15 ∼ bit12] 未定義ビット
書込みは動作に影響しません。読出し時は不定です。
[bit11, bit10] 予約ビット
予約ビットです。必ず "00B" を書き込んでください。
常に "00B" が読み出されます。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
205
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
[bit9] STAL (STALL エンドポイント 0 設定ビット )
STAL ビットのセットによりエンドポイント 0 を STALL 状態 (STALL 応答 ) にでき
ます。
STAL
動作モード
0
STALL 状態の解除
1
STALL 状態 (STALL 応答 ) のセット
<注意事項>
STAL ビットのセット中はホストに対し , STALL 応答し続けます。STAL ビットの解除の
後 , 正常な SETUP パケットを受信した時に STALL 状態から復帰します。
[bit8, bit7] 予約ビット
予約ビットです。必ず "00B" を書き込んでください。
常に "00B" が読み出されます。
[bit6 ∼ bit0] PKS0 ( パケットサイズ エンドポイント 0 設定ビット )
1 パケットでの最大転送バイト数を指定します。エンドポイント 0 の指定可能なパ
ケットの最大転送バイトは 64 バイトで , IN, OUT 共通の設定となります。
< 例 >"08H" ⇒ 8 バイト , "40H" ⇒ 64 バイト ( 最大指定値 )
<注意事項>
最大転送バイト数 (40H) 以上の設定と "00H" の設定は禁止です。
206
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C)
11.3.3
EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C) は , エンドポイント 1 ∼ 5 に関する制御
を行います。
■ EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C)
図 11.3-5 に EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C) のビット構成を示します。
図 11.3-5 EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C) のビット構成
アドレス
bit
7
6
5
0
R/W
0
R/W
0
R/W
7
6
5
予約
0
-
1
R/W
0
R/W
15
14
13
EP1C 0000D4H
アドレス
bit
EP2C 0000D6H
EP3C 0000D8H
EP4C 0000DAH
EP5C 0000DCH
アドレス
EP1C 0000D5H
bit
EPEN
0
R/W
15
アドレス
bit
EP2C 0000D7H
EPEN
EP3C 0000D9H
0
EP4C 0000DBH
R/W
EP5C 0000DDH
TYPE
1
1
R/W
R/W
14
13
TYPE
1
R/W
1
R/W
4
3
PKS1
0
0
R/W
R/W
4
3
2
1
0
0
R/W
0
R/W
0
R/W
2
1
0
0
R/W
0
R/W
9
8
PKS5 ∼ PKS2
0
0
0
R/W
R/W
R/W
12
DIR
0
R/W
12
DIR
0
R/W
11
10
DMAE NULE
0
0
R/W
R/W
11
STAL
0
R/W
10
DMAE NULE
0
0
R/W
R/W
←初期値
←アクセス
←初期値
←アクセス
PKS1
1
←初期値
R/W ←アクセス
9
8
STAL
0
R/W
予約
0
-
←初期値
←アクセス
<注意事項>
EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C) は , DMAE, NULE, STAL を除き UDC 制御レ
ジスタ (UDCC)bit7 の RST, EP0 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S)bit15 の BFINI
が共に "1" のときに設定して , USB 動作中に書き換えないようにしてください。
以下に , EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C) の各ビットの機能を説明します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
207
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
[bit15] EPEN ( エンドポイント 1 ∼ 5 許可ビット )
エンドポイントを有効にします。EPEN ビットの設定によりファンクションで使用
するエンドポイントとしてホストから構成されます。EP1 ∼ EP5 制御レジスタの
TYPE, DIR, PKS が構成情報として有効となります。
EPEN
動作モード
0
エンドポイントは無効
1
エンドポイントを有効とする
[bit14, bit13] TYPE ( エンドポイント転送タイプ選択ビット )
エンドポイントがサポートする転送タイプを指定します。
TYPE
動作モード
00
指定禁止
01
Isochronous 転送
10
Bulk 転送
11
Interrupt 転送
<注意事項>
USB2.0 の Isochronous 転送では , Alternate 値が "0" でかつ , 最大パケット数が "0" の状態
を初期設定とすることが仕様に追加されました。本 USB ファンクションの場合 , ホスト
から Alternate interface setting コマンドで Alternate 値を "0" 以外に設定すると , ホストに
対し自動的にSTALL応答してしまい, Alternate値を変更できません。したがって, Alternate
値の変更による最大パケット数の設定変更には対応できません。
[bit12] DIR ( エンドポイント転送方向選択ビット )
エンドポイントがサポートする転送方向を指定します。
DIR
ファンクション動作モード
HOST 動作モード (EP1, EP2 のみ )
0
OUT エンドポイント
IN エンドポイント
1
IN エンドポイント
OUT エンドポイント
[bit11] DMAE (DMA 自動転送許可ビット )
転送データの送受信バッファへの書込みあるいは , 読出しに DMA を使用し , DMA
に設定したデータ転送数までホストからの IN, OUT データ要求に同期して自動で送
受信データを転送するモード設定です。
DMAE
208
動作モード
0
自動バッファ転送モードの解除
1
自動バッファ転送モードのセット
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
<注意事項>
DMAE ビットのセット中は , CPU による送受信バッファへのアクセスは禁止です。OUT
方向のデータ転送時にはDMAの転送数の設定はEP1∼EP5制御レジスタ(EP1C∼EP5C)
の PKS 設定数の倍数としてください。
[bit10] NULE (NULL 自動転送許可ビット )
自動バッファ転送モードがセットされている状態 (DMAE=1) で , IN 方向のデータ転
送要求がきたときに , 最後のパケット転送を検出し , 0 バイトのデータ転送を自動で
送信するモードの設定を行います。
NULE
動作モード
0
NULL 自動転送モードの解除
1
NULL 自動転送モードのセット
<注意事項>
OUT 方向のデータ転送時や自動バッファ転送モードがセットされていないときには
NULE ビットの設定は通信に影響しません。
[bit9] STAL (STALL 設定ビット )
STAL ビットのセットによりエンドポイントを STALL 状態 (STALL 応答 ) にできま
す。
STAL
動作モード
0
STALL 状態の解除
1
STALL 状態 (STALL 応答 ) のセット
<注意事項>
STAL ビットのセット中は HOST に対し , STALL 応答し続けます。STALL 状態からの復
帰は STAL ビットの解除の後 , ホストからの ClearFutcher コマンドにより可能です。
EP2 ∼ EP5:[bit8, bit7] 予約ビット
このビットは , EP2 ∼ EP5 の場合 , 予約ビットです。必ず , "0" を書き込んでくださ
い。常に "0" が読み出されます。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
209
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
EP1:[bit8 ∼ bit0] PKS ( パケットサイズ設定ビット )
EP2 ∼ EP5:[bit6 ∼ bit0] PKS ( パケットサイズ設定ビット )
1 パケットでの最大転送数を指定します。エンドポイント 1 ∼ 5 の指定可能なパケッ
トの最大転送数は下記になります。
EndPoint
最大転送数
設定可能範囲
1
256 バイト ( 奇数設定可能 )
001H ∼ 100H
2∼5
64 バイト ( 奇数設定可能 )
01H ∼ 40H
<注意事項>
最大転送数 (100H, 40H) 以上の設定と "00H" の設定は禁止です。エンドポイント 2 ∼ 5 は
bit8, bit7 に "00" 書込みをしてください。さらに , 自動バッファ転送モード (DMAE=1) を
使用する場合は該当するエンドポイントでの 0 ∼ 2 設定は禁止となります。
210
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
タイムスタンプレジスタ (TMSP)
11.3.4
タイムスタンプレジスタ (TMSP) は , SOF パケット受信時のフレーム番号の表示を
行います。
■ タイムスタンプレジスタ (TMSP)
図 11.3-6 に , タイムスタンプレジスタ (TMSP) のビット構成を示します。
図 11.3-6 タイムスタンプレジスタ (TMSP) のビット構成
アドレス
bit
7
6
5
4
0000DEH
アドレス
bit
0000DFH
3
2
1
0
TMSP
タイムスタンプレジスタ
0
0
R
0
0
R
0
0
R
0
0
R
0
0
R
0
0
R
0
0
R
0
0
R
15
14
13
12
11
10
9
8
-
-
-
-
-
X
X
-
X
X
-
X
X
-
X
X
-
X
X
-
TMSP
0
0
R
0
0
R
←初期値
← RST リセット
←アクセス
タイムスタンプレジスタ
0
0
R
←初期値
← RST リセット
←アクセス
以下に , タイムスタンプレジスタ (TMSP) の各ビットの機能を説明します。
[bit15 ∼ bit11] 未定義ビット
書込みは動作に影響しません。読出し時は不定です。
[bit10 ∼ bit0] TMSP ( タイムスタンプビット )
SOF パケットの受信によるフレーム番号を示します。フレーム番号は SOF パケッ
トの受信時に更新されます。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
211
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
UDC ステータスレジスタ (UDCS)
11.3.5
UDC ステータスレジスタ (UDCS) は , USB 通信上のバスの状態や , 特定のコマンド
受信状態を示すレジスタです。SETP を除く各ビットは割込み要因となっており , 対
応する割込み許可ビットが有効指定されていれば CPU へ割込みが発生します。
■ UDC ステータスレジスタ (UDCS)
図 11.3-7 に , UDC ステータスレジスタ (UDCS) のビット構成を示します。
図 11.3-7 UDC ステータスレジスタ (UDCS) のビット構成
アドレス
0000E0H
bit
7
6
5
4
-
-
SUSP
SOF
X
X
-
X
X
-
0
0
R/W
0
0
R/W
3
2
1
0
BRST WKUP SETP CONF
0
0
R/W
0
0
R/W
0
0
R/W
0
0
R/W
UDC ステータスレジスタ
←初期値
← RST リセット
←アクセス
以下に , UDC ステータスレジスタ (UDCS) の各ビットの機能を説明します。
[bit7, bit6] 未定義ビット
書込みは動作に影響しません。読出し時は不定です。
[bit5] SUSP ( サスペンド検出ビット )
USB ファンクションがサスペンド状態に移行したことを表示します。SUSP ビット
は割込み要因であり , "1" 書込みは無視します。"0" 書込みでクリアしてください。
リードモディファイライト時は "1" が読み出されます。
SUSP
動作モード
0
Suspend 未検出・割込み要因クリア
1
Suspend 検出
[bit4] SOF (SOF 受信検出ビット )
SOFパケットを受信したことを示し, タイムスタンプレジスタの値が更新されます。
SOF ビットは割込み要因であり , "1" 書込みは無視します。"0" 書込みでクリアして
ください。リードモディファイライト時は "1" が読み出されます。
SOF
212
動作モード
0
SOF 未受信・割込み要因クリア
1
SOF パケットを受信
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
[bit3] BRST ( バスリセット検出ビット )
USB バスリセットの検出を表示します。BRST ビットは割込み要因であり , "1" 書込
みは無視します。"0" 書込みでクリアしてください。リードモディファイライト時
は "1" が読み出されます。
BRST
動作モード
0
USB バスリセットを未検出・割込み要因クリア
1
USB バスリセットを検出
<注意事項>
BRST ビットの検出時には UDCC レジスタの RST により USB ファンクションの初期化
をして , レジスタの再設定を行ってください。
[bit2] WKUP (WakeUp 検出ビット )
USB ファンクションがサスペンド状態から復帰したことを表示します。復帰要因は
RESUM ビットのセットによるリモートウェイクアップとホストからの要求による
ウェイクアップがありますが , WKUP ビットはホストからの復帰要求のみで自動
セットされます。WKUP ビットは割込み要因であり , "1" 書込みは無視します。
"0" 書込みでクリアしてください。リードモディファイライト時は "1" が読み出さ
れます。
WKUP
動作モード
0
HOST 要因 RESUME を未検出・割込み要因クリア
1
HOST 要因 RESUME を検出
<注意事項>
ホスト要求によるウェイクアップ時でも UDCC レジスタの RESUM ビットがセットされ
ている場合 , WKUP ビットはセットされません。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
213
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
[bit1] SETP (SETUP ステージ検出ビット )
受信したデータが USB コントロール転送の Setup ステージであることを示します。
"1" 書込みは無視します。"0" 書込みでクリアしてください。リードモディファイラ
イト時は "1" が読み出されます。
SETP
動作モード
0
SETUP 未受信・要因クリア
1
コントロール転送 SETUP ステージを受信
<注意事項>
標準コマンドの自動応答時にはセットされません。SETP ビットは割込み要因ではありま
せん。
[bit0] CONF ( コンフィグレーション検出ビット )
USB ファンクションがコンフィグレーション済みであることを表示します。CONF
ビットは USB コマンドの SetConfig を正常受信したときにセットされます。CONF
ビットは割込み要因であり , "1" 書込みは無視します。"0" 書込みでクリアしてくだ
さい。リードモディファイライト時は "1" が読み出されます。
CONF
214
動作モード
0
SetConfig 未検出・割込み要因クリア
1
SetConfig を検出
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
11.3.6
UDC 割込み許可レジスタ (UDCIE)
UDC 割込み許可レジスタ (UDCIE) は , UDC ステータスレジスタの各割込み要因に
よる割込み CONFN を除き , ビットごとに許可するレジスタです。
■ UDC 割込み許可レジスタ (UDCIE)
図 11.3-8 に , UDC 割込み許可レジスタ (UDCIE) のビット構成を示します。
図 11.3-8 UDC 割込み許可レジスタ (UDCIE) のビット構成
アドレス bit
15
14
0000E1H
予約
0
0
-
予約
0
0
-
13
12
11
10
9
8
SUSPIE SOFIE BRSTIE WKUPIE CONFN CONFIE UDC 割込み許可レジスタ
0
0
0
0
0
0
←初期値
0
0
0
0
0
0
← RST リセット
R/W
R/W
R/W
R/W
R
R/W ←アクセス
以下に , UDC 割込み許可レジスタ (UDCIE) の各ビットの機能を説明します。
[bit15, bit14] 予約ビット
予約ビットです。必ず "00B" を書き込んでください。常に "00B" が読み出されます。
[bit13] SUSPIE ( サスペンド割込み許可ビット )
UDC ステータスレジスタ "SUSP" の割込み要因による割込みを許可します。
SUSPIE
動作モード
0
SUSP 要因による割込み禁止
1
SUSP 要因による割込み許可
[bit12] SOFIE (SOF 受信割込み許可ビット )
UDC ステータスレジスタ "SOF" の割込み要因による割込みを許可します。
SOFIE
動作モード
0
SOF 要因による割込み禁止
1
SOF 要因による割込み許可
[bit11] BRSTIE ( バスリセット割込み許可ビット )
UDC ステータスレジスタ "BRST" の割込み要因による割込みを許可します。
BRSTIE
CM44-10137-6
動作モード
0
BRST 要因による割込み禁止
1
BRST 要因による割込み許可
FUJITSU MICROELECTRONICS LIMITED
215
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
[bit10] WKUPIE (WakeUp 割込み許可ビット )
UDC ステータスレジスタ "WKUP" の割込み要因による割込みを許可します。
WKUPIE
動作モード
0
WKUP 要因による割込み禁止
1
WKUP 要因による割込み許可
[bit9] CONFN ( コンフィグレーション番号表示ビット )
コンフィグレーション番号を表示します。UDC ステータスレジスタ "CONF" の割込
み要因セット時に更新します。
CONFN
動作モード
0
CONFIG 番号 0
1
CONFIG 番号 1
[bit8] CONFIE ( コンフィグレーション割込み許可ビット )
UDC ステータスレジスタ "CONF" の割込み要因による割込みを許可します。
CONFIE
216
動作モード
0
CONF 要因による割込み禁止
1
CONF 要因による割込み許可
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
EP0I ステータスレジスタ (EP0IS)
11.3.7
EP0I ステータスレジスタ (EP0IS) は , エンドポイント 0 の In 方向転送に関するス
テータス表示を行います。
■ EP0I ステータスレジスタ (EP0IS)
図 11.3-9 に , EP0I ステータスレジスタ (EP0IS) のビット構成を示します。
図 11.3-9 EP0I ステータスレジスタ (EP0IS) のビット構成
アドレス bit
7
6
5
4
3
2
1
0
0000E2H
-
-
-
-
-
-
-
-
X
X
-
X
X
-
X
X
-
X
X
-
X
X
-
X
X
-
X
X
-
X
X
-
15
14
13
12
11
10
9
8
X
X
-
X
X
-
X
X
-
DRQI
1
1
R/W
X
X
-
X
X
-
アドレス bit
0000E3H
BFINI DRQIIE
1
0
1
無関係
R/W
R/W
EP0I ステータスレジスタ
←初期値
← BFINI リセット
←アクセス
←初期値
← BFINI リセット
←アクセス
以下に , EP0I ステータスレジスタ (EP0IS) の各ビットの機能を説明します。
[bit15] BFINI ( 送信バッファ初期化ビット )
転送データの送信バッファの初期化をします。また , BFINI ビットは UDC 制御レジ
スタ (UDCC) RST ビットのセットでも自動でセットされるようになっています。し
たがって, RST ビットでリセットされている場合 , BFINIビットのクリアは RSTビッ
トのクリア後に行ってください。
BFINI
動作モード
0
初期化の解除
1
送信バッファの初期化
<注意事項>
BFINI ビットによる初期化ではバッファ , DRQI ビットが初期化されます。バッファの初
期化をする場合 , DRQI または DRQO ビットがセットされ HOST からのアクセスがない
ことを確認した後, 必要に応じてSTALビットをセットしてから初期化を行ってください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
217
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
[bit14] DRQIIE ( 送信データ割込み許可ビット )
EP0I ステータスレジスタ "DRQI" の割込み要因による割込みを許可します。
DRQIIE
動作モード
0
DRQI 要因による割込み禁止
1
DRQI 要因による割込み許可
[bit13 ∼ bit11] 未定義ビット
書込みは動作に影響しません。読出し時は不定です。
[bit10] DRQI ( 送信データ割込み要求ビット )
EP0 のホストからの IN パケット転送が正常に終了し , 送信バッファからデータが読
み出され次の送信データの書込みが可能であることを示します。DRQI ビットは割
込み要因であり , "1" 書込みは無視します。"0" 書込みでクリアしてください。リー
ドモディファイライト時は "1" が読み出されます。
DRQI
動作モード
0
割込み要因クリア
1
送信データの書込み可能状態
<注意事項>
送信バッファのデータライト処理の完了後 , DRQI をクリアする必要があります。また ,
DRQI がセットされていないときの "0" 書込みは禁止です。DRQI が "1" のとき , 送信バッ
ファにデータ書込みが可能です。また , クリアした時点で送信バッファにデータ設定が完
了したことを意味します。したがって , DRQI ビットが "1" の状態で IN パケット要求が
あった場合は , 自動で HOST に NAK 応答します。
[bit9 ∼ bit0] 未定義ビット
書込みは動作に影響しません。読出し時は不定です。
218
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
EP0O ステータスレジスタ (EP0OS)
11.3.8
EP0O ステータスレジスタ (EP0OS) は , エンドポイント 0 の Out 方向転送に関する
ステータス表示を行います。
■ EP0O ステータスレジスタ (EP0OS)
図 11.3-10 に , EP0O ステータスレジスタ (EP0OS) のビット構成を示します。
図 11.3-10 EP0O ステータスレジスタ (EP0OS) のビット構成
アドレス bit
7
0000E4H
予約
0
0
-
X
X
R
X
X
R
X
X
R
X
X
R
X
X
R
X
X
R
X
X
R
15
14
13
12
11
10
9
8
X
X
-
X
X
-
DRQO
0
0
R/W
SPK
0
0
R/W
アドレス bit
0000E5H
6
5
4
3
2
1
0
SIZE
BFINI DRQOIE SPKIE
1
0
0
1
無関係 無関係
R/W
R/W
R/W
EP0O ステータスレジスタ
←初期値
← BFINI リセット
←アクセス
予約
0
←初期値
0
← BFINI リセット
←アクセス
以下に , EP0O ステータスレジスタ (EP0OS) の各ビットの機能を説明します。
[bit15] BFINI ( 受信バッファ初期化ビット )
転送データの受信バッファの初期化をします。また , BFINI ビットは UDC 制御レジ
スタ (UDCC) RST ビットのセットでも自動でセットされるようになっています。し
たがって, RST ビットでリセットされている場合 , BFINIビットのクリアは RSTビッ
トのクリア後に行ってください。
BFINI
動作モード
0
初期化の解除
1
受信バッファの初期化
<注意事項>
BFINI ビットによる初期化ではバッファ, DRQO, SPK ビットが初期化されます。バッファ
の初期化をする場合 , DRQI または DRQO ビットがセットされ HOST からのアクセスが
ないことを確認した後 , 必要に応じて STAL ビットをセットしてから初期化を行ってくだ
さい。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
219
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
[bit14] DRQOIE ( 受信データ割込み許可ビット )
EP0O ステータスレジスタ "DRQO" の割込み要因による割込みを許可します。
DRQOIE
動作モード
0
DRQO 要因による割込み禁止
1
DRQO 要因による割込み許可
[bit13] SPKIE ( ショートパケット割込み許可ビット )
EP0O ステータスレジスタ "SPK" の割込み要因による割込みを許可します。
SPKIE
動作モード
0
SPK 要因による割込み禁止
1
SPK 要因による割込み許可
[bit12, bit11] 未定義ビット
書込みは動作に影響しません。読出し時は不定です。
[bit10] DRQO ( 受信データ割込み要求ビット )
EP0 のホストからの OUT パケット転送が正常に終了し , 受信バッファにデータが書
き込まれ受信データを読み出すことが可能であることを示します。DRQO ビットは
割込み要因であり , "1" 書込みは無視します。
"0" 書込みでクリアしてください。リー
ドモディファイライト時は "1" が読み出されます。
DRQO
動作モード
0
割込み要因クリア
1
受信データの読出し可能状態
<注意事項>
受信バッファのデータリード処理完了後 , DRQO をクリアする必要があります。また ,
DRQO がセットされていないときの "0" 書込みは禁止です。DRQO が "1" のとき , 受信
バッファは更新されません。クリアした時点で更新許可となります。DRQO が "1" の状態
で OUT パケット要求があった場合は , 自動で HOST に NAK 応答します。
220
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
[bit9] SPK ( ショートパケット割込み要求ビット )
ホストからの転送データ数が正常受信時に EP0 制御レジスタ (EP0C) の PKS で設定
したマックスパケット数に満たない場合 (0 バイトを含みます ) を示します。SPK
ビットは割込み要因であり , "1" 書込みは無視します。"0" 書込みでクリアしてくだ
さい。リードモディファイライト時は "1" が読み出されます。
SPK
動作モード
0
マックスパケット転送数分を受信
1
マックスパケット転送数未満を受信
[bit8, bit7] 予約ビット
これらのビットは , 予約ビットです。書込みは動作に影響しません。読出し時には
"0" が読み出せます。
[bit6 ∼ bit0] SIZE ( パケットサイズ表示ビット )
EP0 の OUT パケット転送終了後に受信バッファに書き込まれたデータバイト数が
表示されます。SIZE ビットは EP0O ステータスレジスタ (EP0OS) の DRQO の割込
み要因がセットされたときに有効な値に更新されます。
< 例 >8 バイト⇒ "08H", 64 バイト⇒ "40H"( 最大値 )
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
221
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
11.3.9
MB90335 シリーズ
EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S)
EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S) は , エンドポイント 1 ∼ 5 に関す
るステータス表示を行います。
■ EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S)
図 11.3-11 に , EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S) のビット構成を示します。
図 11.3-11 EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S) のビット構成
アドレス bit
7
6
5
4
3
2
1
0
X
X
R
X
X
R
X
X
R
X
X
R
X
X
R
X
X
R
X
X
R
X
X
R
EP1S 0000E6H
SIZE
アドレス bit
7
6
5
4
3
2
1
0
EP2S 0000E8H
EP3S 0000EAH
EP4S 0000ECH
EP5S 0000EEH
予約
0
0
-
X
X
R
X
X
R
X
X
R
SIZE
X
X
R
X
X
R
X
X
R
X
X
R
アドレス bit
15
14
13
12
11
10
9
8
予約
-
BUSY
0
無関係
R
DRQ
0
0
R/W
SPK
0
0
R/W
12
11
10
9
予約
-
BUSY
0
無関係
R
DRQ
0
0
R/W
SPK
0
0
R/W
EP1S 0000E7H
アドレス bit
EP2S 0000E9H
EP3S 0000EBH
EP4S 0000EDH
EP5S 0000EFH
BFINI DRQIE SPKIE
1
0
0
1
無関係 無関係
R/W
R/W
R/W
15
14
13
BFINI DRQIE SPKIE
1
0
0
1
無関係 無関係
R/W
R/W
R/W
←初期値
← BFINI リセット
←アクセス
←初期値
← BFINI リセット
←アクセス
SIZE
X
←初期値
X
← BFINI リセット
R
←アクセス
8
予約
0
←初期値
0
← BFINI リセット
←アクセス
以下に, EP1∼EP5ステータスレジスタ(EP1S∼EP5S)の各ビットの機能を説明します。
222
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
[bit15] BFINI ( 送受信バッファ初期化ビット )
転送データの送受信バッファの初期化をします。また , BFINI ビットは UDC 制御レ
ジスタ (UDCC) RST ビットのセットでも自動でセットされるようになっています。
したがって , RST ビットでリセットされている場合 , BFINI ビットのクリアは RST
ビットのクリア後に行ってください。
BFINI
動作モード
0
初期化の解除
1
送受信バッファの初期化
<注意事項>
EP1 ∼ EP5 の送受信バッファはダブルバッファ構成で , BFINI ビットによる初期化ではダ
ブルバッファ同時に初期化が行われ , DRQ, SPK ビットも初期化されます。バッファの初
期化をする場合 , DRQ ビットがセットされ BUSY ビットにより HOST からのアクセスが
ないことを確認した後 , STAL ビットをセットしてから初期化を行ってください。
[bit14] DRQIE ( パケット転送割込み許可ビット )
EP1 ∼ EP5 ステータスレジスタ "DRQ" の割込み要因による割込みを許可します。
DRQIE
動作モード
0
DRQ 要因による割込み禁止
1
DRQ 要因による割込み許可
<注意事項>
自動バッファ転送モード (DMAE=1) を使用する場合は DMA の設定 , 転送を許可してから
DRQIE ビットの許可をするようにしてください。
[bit13] SPKIE ( ショートパケット割込み許可ビット )
EP1 ∼ EP5 ステータスレジスタ "SPK" の割込み要因による割込みを許可します。
SPKIE
動作モード
0
SPK 要因による割込み禁止
1
SPK 要因による割込み許可
[bit12] 予約ビット
このビットは , 予約ビットです。書込みは動作に影響しません。読出し時は不定で
す。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
223
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
[bit11] BUSY ( ビジーフラグビット )
HOST から送受信バッファへの書込み , または読出しアクセス中であることを示し
ます。BUSY ビットは自動でセット , リセットされます。
BUSY
動作モード
0
HOST からのアクセスなし
1
HOST からの書込みまたは読出し動作中
<注意事項>
DRQビットがセットされた状態でBUSYビットもセットされている場合, ダブルバッファ
のうち CPU または DMA アクセスしているバッファとは別のバッファが HOST からのア
クセス中であることを意味します。また , 通常であれば BUSY ビットによる制御は必要あ
りませんが , BFINI のセットによるバッファの初期化をする場合 , DRQ ビットがセットさ
れ BUSY ビットにより HOST からのアクセスがないことを確認した後 , STAL ビットを
セットしてから初期化を行ってください。
[bit10] DRQ ( パケット転送割込み要求ビット )
EP1 ∼ EP5 のパケット転送が正常に終了し , データ処理が必要であることを示しま
す。DRQ ビットは割込み要因であり , "1" 書込みは無視します。"0" 書込みでクリア
してください。リードモディファイライト時は "1" が読み出されます。
DRQ
動作モード
0
割込み要因クリア
1
パケット転送が正常に終了
<注意事項>
自動バッファ転送モード (DMAE=1) を使用しない場合は , 送受信バッファのデータリード
またはデータライト処理が済んだら DRQ ビットに "0" 書込みする必要があります。DRQ
ビットをクリアした時点でアクセスバッファを切り換えます。転送方向が IN 方向の設定の
場合 , DRQ ビットが "1" でバッファにデータ書込みせずにクリアした場合 , 0 バイトデー
タを設定したことになります。初期設定において EP1 ∼ EP5 制御レジスタ (EP1C ∼
EP5C) の DIR を "1" にセットした場合 , 対応するエンドポイントの DRQ ビットも同時に
セットされます。また , DRQ ビットがセットされていないときの "0" 書込みは禁止です。
224
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
MB90335 シリーズ
[bit9] SPK ( ショートパケット割込み要求ビット )
ホストからの転送データ数が正常受信時に EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C)
の PKS で設定したマックスパケット数に満たない場合 (0 バイトを含みます ) を示
します。SPK ビットは割込み要因であり , "1" 書込みは無視します。"0" 書込みでク
リアしてください。リードモディファイライト時は "1" が読み出されます。
SPK
動作モード
0
マックスパケット転送数分を受信
1
マックスパケット転送数未満を受信
<注意事項>
IN 方向のデータ転送時に SPK ビットはセットされません。
EP2 ∼ EP5:[bit8, bit7] 予約ビット
EP2 ∼ EP5 の場合 , これらのビットは , 予約ビットです。書込みは動作に影響しま
せん。読出し時には "0" が読み出せます。
EP1:[bit8 ∼ bit0]SIZE ( パケットサイズ表示ビット )
EP2 ∼ EP5:[bit6 ∼ bit0] SIZE ( パケットサイズ表示ビット )
EP1 ∼ EP5 の OUT パケット転送終了時に受信バッファに書き込まれたデータバイ
ト数が表示されます。SIZE ビットは EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S)
の DRQ の割込み要因がセットされたときに有効な値に更新されます。
EndPoint1 ∼ EndPoint5 の最大転送数は下記のとおりになります。
EndPoint
最大転送数
表示範囲
1
256 バイト
000H ∼ 100H
2∼5
64 バイト
00H ∼ 40H
<注意事項>
SIZE ビットは OUT 方向転送時での HOST からのバッファ書込みデータ数がセットされ
るので , IN 方向時に読み出された値は意味をもちません。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
225
第 11 章 USB ファンクション
11.3 USB ファンクションのレジスタ
11.3.10
MB90335 シリーズ
EP0 ∼ EP5 データレジスタ (EP0DT ∼ EP5DT)
EP0 ∼ EP5 データレジスタ (EP0DT ∼ EP5DT) は , エンドポイント 0 ∼ 5 に関する転
送データの送受信バッファへのリードまたはライトのアクセスレジスタになります。
■ EP0 ∼ EP5 データレジスタ (EP0DT ∼ EP5DT)
図 11.3-12 に , EP0 ∼ EP5 データレジスタ (EP0DT ∼ EP5DT) のビット構成を示します。
図 11.3-12 EO0~5 データレジスタ (EP0DT ∼ EP5DT) のビット構成
アドレス bit
EP0DT 0000F0H
EP1DT 0000F2H
EP2DT 0000F4H
EP3DT 0000F6H
EP4DT 0000F8H
EP5DT 0000FAH
アドレス bit
EP0DT 0000F1H
EP1DT 0000F3H
EP2DT 0000F5H
EP3DT 0000F7H
EP4DT 0000F9H
EP5DT 0000FBH
7
6
5
X
R/W
X
R/W
X
R/W
15
14
13
X
R/W
X
R/W
X
R/W
4
3
BFDT
X
X
R/W
R/W
12
11
BFDT
X
X
R/W
R/W
2
1
X
R/W
X
R/W
10
9
X
R/W
X
R/W
0
X
←初期値
R/W ←アクセス
8
X
←初期値
R/W ←アクセス
以下に , EP0∼ EP5 データレジスタ (EP0DT∼ EP5DT) の各ビットの機能を説明します。
[bit15 ∼ bit0] BFDT: エンドポイント用送受信バッファデータビット
各エンドポイント用送受信バッファへのデータリード , ライトレジスタです。DMA
転送による BFDT レジスタへのアクセスはワードアクセスのみ対応しています。奇
数分のデータ数を転送する場合で DMA 転送の場合 , 最後のデータ転送をバイト転
送に設定することで奇数分の DMA 転送が可能です。CPU アクセスでのワード転送
の場合でも , DMA 転送と同様に最後にバイト転送を行います。
<注意事項>
EP0DT ∼ EP5DT レジスタへの CPU アクセスはバイト , ワード共に可能で , バイトの場
合は最初に bit7 ∼ bit0 へのアクセスとし , 次は bit15 ∼ bit8 へのアクセスとして , 以後上
位 , 下位を交互にアクセスしていってください。ビット命令による EP0DT ∼ EP5DT レ
ジスタへのアクセスは禁止です。
226
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.4 USB ファンクションの動作説明
MB90335 シリーズ
11.4
USB ファンクションの動作説明
USB ファンクションは , USB(Universal Serial Bus) 通信プロトコルに対応し , 基本
的なプロトコル動作 ( ハンドシェーク ) をハードウェアがサポートしています。した
がって , 通信データのみを処理することで USB 通信が実現できます。
■ USB ファンクションの動作
USB ファンクションは USB プロトコルをサポートするホストコントローラと双方向の
パケット転送を行います。ホスト PC とデバイスの接続 , 構成はエニュメレーションに
より実施されます。そのあとにデバイスドライバを使用した各種の転送タイプでの通
信が行われます。
エニュメレーションを例にホスト PC とデバイスの USB 通信の動作について説明しま
す。
全体の処理内容を理解するためのレジスタおよび USB パケットの動きを示します。
● エニュメレーション処理
USB が動作する上で一番初めにホスト PC とデバイスとの接続を確立する処理です。
USB のバス上にどのようなデバイスが接続されているかホスト PC が USB コントロー
ル転送 (USB の転送タイプ ) を使って調査します。(USB 仕様で規定 ) これは 6 本あるエ
ンドポイントのうち EP0(EndPoint0) を使用します (USB 仕様 ) 。
EP1 ∼ EP5 を使用するためには USB バス上で
① USB バスリセット
② SET_Address によるアドレスセット
③ SET_Config による構成セット
を受信しないと動作しません。
図 11.4-1 USB ケーブル端子接続例
方向
USB バス接続検出
ホスト←デバイス
動作概要
USB バス上のプルアップをホストが検出する
まで動作は行われません。
ディスクリプタ情
報の取得
ホスト←デバイス
ディスクリプタのデータをホストに返します。
デバイスアドレス
の設定
ホスト→デバイス
ホストから任意のアドレスを割り当てられます。
ディスクリプタ情報 ホスト←デバイス
の取得(デバイス)
ディスクリプタのデータをホストに返します。
ディスクリプタ情報 ホスト←デバイス
の取得(構成)
ディスクリプタのデータをホストに返します。
構成の設定
CM44-10137-6
ホスト→デバイス
ホストから構成番号を割り当てられます。
FUJITSU MICROELECTRONICS LIMITED
227
第 11 章 USB ファンクション
11.4 USB ファンクションの動作説明
MB90335 シリーズ
● 接続検出
デバイスからホスト PC に通知します。
ホストは USB バスの 2 本の信号線 (D+, D − ) を監視し , どちらかの信号が "H" レベル
になることによりデバイスが接続されることを認識します。
自己電源デバイスとして使用する場合の詳細な手順は「11.4.1 接続検出と切断検出」を
参照してください。バス電源デバイスとして使用する場合は「● レジスタ初期設定例
と動作開始手順例」にしたがって処理してください。
● レジスタ初期設定と動作開始手順例
USB ファンクションのレジスタ初期設定例を示します。
① EP0C レジスタによる EP0 の設定 ( パケットサイズなど )
② EP1C ∼ EP5C レジスタによる各 EP の EPEN, DIR, TYPE などを設定
③ UDCC レジスタの RST ビットのクリア
④ EP0IS, EP0OS, EP1S ∼ EP5S レジスタの BFINI をクリア
⑤ UDCC レジスタの HCON ビットのクリア
● USB バスリセット
ホストPCからデバイスにバスリセットがかかりUSBデバイスコアが初期化されます。
デバイスは以下の順序で処理が必要です (USB 接続後の最初のバスリセットでは処理
の必要はありません ) 。
① UDCC レジスタの RST で USB ファンクションを初期化
② 使用する送受信バッファ , 関係する制御レジスタを再設定
③ ファームの制御をエニュメレーション前に戻します。
228
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.4 USB ファンクションの動作説明
MB90335 シリーズ
● ディスクリプタの取得
ホスト PC からデバイスに要求がありデータをホストに通知します。
詳細には以下の 3 つのステージに分かれて通信されます 。
図 11.4-2 通信ステージ
セットアップステージ
→
データステージ
→
ステータスステージ
セットアップステージでは , ホスト PC から正常にパケットが受信されたか確認し , そ
のコマンドが何かをデコードします。また , 次のデータステージで返すディスクリプタ
の情報を送信バッファに用意します。データステージでは単にホスト PC からデータが
正常に送信されたかを確認します。ステータスステージでは , ホスト PC がデータなし
パケットの転送をしますので終了処理をします。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
229
第 11 章 USB ファンクション
11.4 USB ファンクションの動作説明
MB90335 シリーズ
接続検出と切断検出
11.4.1
USB ホストとの接続検出と切断検出について説明します。
■ USB システムの接続例
外部割込み端子を USB コネクタの VBUS ピンに接続し , プルダウン抵抗を接続するこ
とで USB ホストとの接続と切断を検出することができます。図 11.4-3 に ,USB コネク
タの D+, D-, VBUS との接続例を示します。
図 11.4-3 USB システム接続例
USBデバイス機器
Bコネクタ
本デバイス
USBホスト
VBUS(5V)
VBUS
外部割込み
(3.3V)
D+
D-
D-
USB
D+
I/O
I/O
USB
HCON
● 接続検出
図 11.4-4 接続検出時の動作
HOSTと接続
VBUS
外部割込み許可
ENx
要因レベルの変更
ERx
{LBx,LAx}
{0,1}
{0,0}
HCON
接続許可
VBUSが安定する期間
デバイスは以下の順序によりホスト PC との接続を認識し , 処理します。
① VBUS に接続した外部割込みの要因レベルを "H" レベル検出に設定し , 割込み許
可します。
② 外部割込み端子の "H" レベル検出で USB ホストが接続されたことを認識して
VBUS が安定する期間を待ちます。
230
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.4 USB ファンクションの動作説明
MB90335 シリーズ
③ 外部割込みをいったん禁止にします。外部割込み要因レベルを "L" レベル検出に
設定変更し,割込み要因のクリアして再び外部割込みを許可します。
④ 初期設定 (USB ファンクションレジスタを含むすべての初期化 )「レジスタ初期
設定例と動作開始手順例」参照してください。
⑤ UDCC レジスタの HCON ビットをクリアし ,D+ のプルアップ抵抗を接続します
( プルアップ抵抗の制御をしていない場合でも HCON ビットもクリアします )。
<注意事項>
外部割込み端子にノイズフィルタを外付けした場合は上記の VBUS 安定期間をプログラ
ムでとる必要はありません。
● 切断検出
図 11.4-5 切断検出時の動作
VBUS
HOSTと切断
ENx
要因レベルの変更
ERx
{LBx,LAx}
{0,0}
{0,1}
ストップモードからの復帰時
SUSP
USTP
HCON
VBUS安定期間または
発振安定待ち時間
切断設定
デバイスは以下の順序によりホスト PC との切断を認識し , 処理します。
① VBUS に接続の外部割込み端子の "L" レベル検出で USB ホストが切断されたこ
とを認識します。
② ストップモードからの復帰時:
発振安定待ち時間後に UDCS レジスタ SUSP, UDCC レジスタ USTP の順にク
リアします。
ストップモード以外のとき:
VBUS が安定する期間を待ちます。
③ いったん外部割込みを禁止します。外部割込み要因レベルを "H" レベル検出に設
定変更し,外部割込み要因のクリアして再び外部割込みを許可します。
④ UDCC レジスタの HCON ビットをセットして ,D+ のプルアップ抵抗を切断しま
す。( プルアップ抵抗の制御をしてない場合でも UDCC レジスタの HCON ビッ
トをセットします。)
<注意事項>
外部割込み端子にノイズフィルタを外付けした場合は上記の VBUS 安定期間をプログラ
ムでとる必要はありません。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
231
第 11 章 USB ファンクション
11.4 USB ファンクションの動作説明
11.4.2
MB90335 シリーズ
コマンド応答時の各レジスタ動作
基本となるレジスタの動作および制御より USB パケットの処理方法 ( アーキテク
チャ ) を説明します。CPU 割込みによるファームウェアの処理はハンドシェークご
とに処理します。これは各パケットのステージ単位に処理することに等しくなります。
■ リードコマンド応答時の各レジスタ動作
GetDescripter, SynchFrame, クラスベンダーコマンドの場合
図 11.4-6 リードコマンド応答時の各レジスタ動作
ホストPC
→デバイス
セットアップ
ステージ
SET DATA
UP
0
デバイス
ACK
IN
ACK
DATA0
ライト
→ホストPC
DRQIIE
DRQI
IN
DRQO
ACK
DATA 1
DATA 0
コマンド
リード
DRQOIE
ステータス
ステージ
データステージ
OUT
DATA 1
ACK
DATA1
ライト
ソフト
クリア
DATA1
リード
ソフト
クリア
SETP
①セットアップ
処理
②データステージ処理
③コマンド
終了処理
● セットアップ処理
セットアップステージを受信したときに DRQO がセットされます。DRQO がセットさ
れた時点で CPU 割込みに入り SETP フラグを確認します。セットされていれば受信
バッファにあるコマンドを必要な分読み出して ( 必ずしも 8 バイトすべて読み出す必
要はありません ) コマンドをデコードして各種設定処理し , SETP フラグ , DRQO 割込
み要因をクリアし戻ります。
● データステージ処理
コマンドデコードの結果 , データステージが IN 方向の場合 , DRQIIE を許可し ( 割込み
要因 DRQI は初期値 "1" なので割込み許可をセットするだけ ), CPU 割込みにて送信デー
タを送信バッファに転送します。転送終了後 , 割込み要因 DRQI をクリアしてから戻り
ます。
IN 方向のデータパケットが終了すると DRQI がセットされます。DRQI がセットされ
た時点で CPU 割込みに入り , 次のデータパケットに備え送信データを送信バッファに
転送します。転送終了後 , 割込み要因である DRQI をクリアして戻ります。
<注意事項>
この USB ファンクションは , USB 2.0 で新たに追加されたコマンドには対応していない
ため , Get Descripter コマンドに対して USB リビジョンは 1.1 で応答してください。
232
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.4 USB ファンクションの動作説明
MB90335 シリーズ
● コマンド終了処理
OUT 方向のステータスステージが終了すると DRQO がセットされます。DRQO がセッ
トされた時点で CPU 割込みに入り , 受信データ数 0 を確認し , 次のセットアップステー
ジに備え , 割込み要因である DRQO をクリアして戻ります。
■ ライトコマンド応答時の各レジスタ動作
SetDescripter, クラスベンダーコマンドの場合
図 11.4-7 ライトコマンド応答時の各レジスタ動作
セットアップ
ステージ
ホストPC
→デバイス
SETUP DATA0
デバイス
→ホストPC
ステータス
ステージ
データステージ
OUT
ACK
DATA0
OUT
ACK
DRQIIE
IN
DATA1
ACK
ACK
DATA1
ソフト
クリア
DRQI
コマンド
リード
DRQOIE
DRQO
DATA0
リード
ソフト
クリア
DATA1
リード
ソフト
クリア
SETP
①セットアップ処理
②データステージ処理
③コマンド
終了処理
● セットアップ処理
セットアップステージを受信したときに DRQO がセットされます。DRQO がセットさ
れた時点で CPU 割込みに入り SETP フラグを確認します。セットされていれば受信
バッファにあるコマンドを必要な分読み出して ( 必ずしも 8 バイトすべて読み出す必
要はありません ) デコードし各種設定処理をします。ステータスステージの 0 バイト
応答に備え , 送信バッファへデータをライトせずに , DRQI( 割込み要因 DRQI は初期値
"1" のため ) をクリアし , ステータスステージの正常終了確認用に DRQIIE をセットし
ておきます。また SETP フラグ , DRQO 割込み要因をクリアし割込みから復帰します。
● データステージ処理
OUT 方向のデータステージが終了すると DRQO がセットされます。DRQO がセットさ
れた時点で CPU 割込みに入ります。EP0 ステータスレジスタの SIZE を確認し , 受信し
たデータ数分だけ DMA を起動するか , CPU リードにより受信バッファからデータを
読み出します。
その後 , 割込み要因である DRQO をクリアして割込みから復帰します。
● コマンド終了処理
IN 方向のステータスステージが終了すると DRQI がセットされます。DRQI がセット
された時点で CPU 割込みに入りステータスステージが正常終了したことを確認できま
す。その後 , 割込み許可である DRQIIE をクリアして戻ります。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
233
第 11 章 USB ファンクション
11.4 USB ファンクションの動作説明
11.4.3
MB90335 シリーズ
STALL 応答と解除
エンドポイント 0 の場合と , エンドポイント 1 ∼エンドポイント 5 の場合それぞれ
に対して STALL 応答と解除方法について説明します。
■ エンドポイント 0 の STALL 応答 / 解除について
エンドポイント 0 の STALL 応答 / 解除制御は , EP0 制御レジスタ (EP0C) の STAL ビッ
トにて行います。
• STAL ビットのセットタイミング
STALL応答は, コントロール転送のセットアップステージである事を示すSETPビッ
ト =1 検出 (DRQO ビット =1 割込み ) にてコマンドを解釈し , STALL 応答が必要な
場合に STAL ビットをセットします ( 図 11.4-8 参照 )。STAL ビットセット後に割込
み要因 (DRQO ビット ) をクリアしてください。
図 11.4-8 STAL ビットセットのタイミング
アイドル期間
データステージ
セットアップステージ
トークン
パケット
データ
パケット
ハンドシェイク
パケット
トークン
パケット
データ
パケット
ハンドシェイク
パケット
DRQO ビット
SETP ビット
STAL ビット
234
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.4 USB ファンクションの動作説明
MB90335 シリーズ
• STAL ビットのクリアタイミング
STALL 解除は , コントロール転送のセットアップステージであることを示す SETP
ビット =1 検出 (DRQO ビット =1 割込み ) にて STAL ビットクリアします ( 図 11.4-9
を参照してください )。
図 11.4-9 STAL ビットクリアのタイミング
アイドル期間
データステージ
セットアップステージ
トークン
パケット
DRQO
SETP
データ
パケット
ハンドシェイク
パケット
トークン
パケット
データ
パケット
ハンドシェイク
パケット
ビット
ビット
STAL ビット
クリアタイミング
STAL
ビット
アイドル時間+2.75 µ s 以内
STALL 応答解除 (STAL ビットクリア ) は , SETP ビット =1 (DRQO ビット =1 割込み )
を検出してから , 次のデータステージのデータパケット送受信開始前に , STAL ビッ
トクリアしてください。DRQO ビット =1 から , STAL ビットクリアまでの時間は下
記のとおりです ( 転送速度:Full Speed 12Mbps 時 )。下記時間内に STAL ビットがク
リアされない場合 , データステージのハンドシェイクパケットにて STAL 応答しま
す。
DRQO ビット =1検出から STAL ビットクリアまでの時間: アイドル時間+2.75μs以内
※ アイドル期間が最小の 2 ビット転送時間である場合は約 2.9μs 以内となります。
STAL ビットクリアが , 上記時間内で対応できない場合には , USB ホスト側のドライ
バソフトでアイドル時間を長くする等の対応を行ってください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
235
第 11 章 USB ファンクション
11.4 USB ファンクションの動作説明
MB90335 シリーズ
■ エンドポイント 1 ∼エンドポイント 5 の STALL 応答 / 解除について
エンドポイント 1 ∼エンドポイント 5 の STALL 応答 / 解除制御は , EP1 ∼ EP5 制御レ
ジスタ (EP1C ∼ EP5C) の STAL ビットと内部状態ビットで行われます。
• ソフト処理にて STALL 応答したい場合
ソフト処理で STALL 応答する場合の手順を図 11.4-10 に示します。STALL 応答する
場合 , 該当するエンドポイントの STAL ビットをソフトでセットします。このとき ,
内部状態ビットは変化しません。次に , ホストから STAL ビットがセットされている
エンドポイントに対してトランザクションが発生したとき , ハードが自動的に該当
エンドポイントの内部状態ビットをセットし , ホストに対して STALL 応答します。
一度 , 内部状態ビットがセットされた後は , STAL ビットをクリアしても , ホストか
ら Clear Feature コマンドが発行されるまで , 内部状態ビットはセットされたままとな
り , STALL 応答を継続します。また , Clear Feature コマンドで内部状態ビットがクリ
アされても , STAL ビットがセットされている場合は , 該当するエンドポイントに対
するトランザクションが発生するたびに内部状態ビットがセットされるため STALL
応答を継続します。したがって , STALL 応答を解除するためには , STAL ビットをク
リアし , さらに Clear Feature コマンドで内部状態ビットをクリアする必要がありま
す。
236
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.4 USB ファンクションの動作説明
MB90335 シリーズ
図 11.4-10 ソフト処理にて STALL 応答したい場合
ホスト または ハブ
ファンクション
Function マクロの
ソフトウェア
EPn (End Point n)
内部状態ビット STAL ビット
0
0
内部状態ビット STALビット
0
1
STAL ビットを
“1”にセット
IN/OUT トークン
データ( OUT の場合)
内部状態ビット STALビット
1
1
STAL ビットが“1”であるとき,
STALL ハンドシェーク トランザクションが発生すると
内部状態ビットが “1” にセット
される
IN/OUT トークン
データ( OUT の場合)
EPn に対する
トランザクション
内部状態ビットが “1”であると
き, トランザクションに対する
STALL 応答を継続する。
STALL ハンドシェーク
内部状態ビット
IN/OUT トークン
1
STAL ビット
0
STAL ビットを
“0”にクリア
内部状態ビットが “1”であると
き, トランザクションに対する
STALL 応答を継続する。
STAL ビットが“0”であっても
STALL ハンドシェーク
内部状態ビットに影響しない。
データ( OUT の場合)
Setup トークン
EP0 に対する
Clear Feature
コマンド
( EPn を指定)
データ
ACK ハンドシェーク
Clear Feature コマンド
で EPn が指定されると,
内部状態ビットが“0”に
クリアされる。
内部状態ビット
0
CM44-10137-6
STAL ビット
0
FUJITSU MICROELECTRONICS LIMITED
237
第 11 章 USB ファンクション
11.4 USB ファンクションの動作説明
MB90335 シリーズ
• ハードが自動で STALL 応答する場合
ハードが自動で STALL 応答する場合の手順を図 11.4-11 に示します。Set Feature コ
マンドで STALL 応答設定された場合 , STAL ビットに関係なく , ハードが自動的に該
当エンドポイントの内部状態ビットをセットし , STALL 応答します。一度 , 内部状態
ビットがセットされた後は , STAL ビットに関係なく , ホストから Clear Feature コマ
ンドでクリアされるまで , 内部状態ビットは保持されます。Clear Feature コマンドで
該当ビットがクリアされた後は , STAL ビットを参照するようになります。したがっ
て , STALL 応答を解除するには , Clear Feature コマンドで内部状態ビットをクリアす
る必要があります。
図 11.4-11 ハードが自動で STALL 応答する場合
ファンクション
Function マクロの
ソフトウェア
EPn (End Point n)
ホスト または ハブ
内部状態ビット STALビット
0
0
Setup トークン
EP0 に対する
Set Feature
コマンド
(EPn を指定 )
データ( OUT の場合)
ACK ハンドシェーク
Set Feature コマンドで
EPn が指定された場合,
内部状態ビットが “1”に
セットされる。
内部状態ビット STALビット
1
0
IN/OUT トークン
データ( OUT の場合)
EPn に対する
トランザクション
STALL ハンドシェーク
内部状態が“1”であるとき,
トランザクションに対する
STALL 応答を継続する。
STAL ビットが“0”であって
も内部状態ビットに影響
しない。
Setup トークン
EP0 に対する
Clear Feature
コマンド
(EPn を指定 )
238
データ
ACK ハンドシェーク
内部状態ビット STALビット
0
0
Clear Feature コマンド
で EPn が指定されると,
内部状態ビットが“0”に
クリアされる。
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.4 USB ファンクションの動作説明
MB90335 シリーズ
11.4.4
サスペンド機能
USB デバイスはバス電源の構成ではサスペンド状態において 500 μA 以下に消費電
力を落とす必要があります。ここではデバイスがサスペンド状態に移行し , STOP
モードに入れるまでを説明します。
■ サスペンド処理
USB デバイスコアがサスペンド状態を検出した場合に UDCS レジスタの SUSP が有効
にセットされます。
以下にサスペンド処理する例を示します。
図 11.4-12 サスペンド動作
1ms
ホストPC
→デバイス
SOF
SUSP
1ms
SOF
サスペンド状態
3ms
SOF
リモートウェークアップ
サポートの場合
2ms
STP
SUSPフラグ
ソフトクリア
● サスペンド処理
USB バス上に 3 ms 以上動作がない場合 , USB ファンクションはサスペンドを検出し ,
UDCS レジスタの SUSP 割込み要因がセットされます。リモートウェイクアップをサ
ポートするデバイスの場合はここからさらに 2 ms 待ち ( これはこの時間リモートウェ
イクアップさせないためです ), ストップモードに設定します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
239
第 11 章 USB ファンクション
11.4 USB ファンクションの動作説明
MB90335 シリーズ
ウェイクアップ機能
11.4.5
USB デバイスをサスペンド状態からウェイクアップ状態にするには USB プロトコ
ルで 2 つの手段があります。
• デバイスからのリモートウェイクアップ
• ホスト PC からのウェイクアップ
各々について説明します。
■ リモートウェイクアップ
図 11.4-13 リモートウェイクアップ動作
サスペンド状態
20ms
1ms
1ms
RESUME
SOF
SOF
ホストPC
→デバイス
デバイス
→ホストPC
RESUME
10ms
発振安定時間
RESUM
STP
INT端子
RESUM
ソフトセット・クリア
外部割込み
デバイスは以下の順序で処理が必要です。
① 外部割込みでデバイスをストップモードから復帰させます。
② UDCC レジスタの RESUM をセットします。
③ UDCC レジスタの RESUM をクリアします。
■ ホストからウェイクアップ
図 11.4-14 ホストからのウェイクアップ動作
サスペンド状態
20ms以上
ホストPC
→デバイス
RESUME
発振安定時間
WKUP
1ms
1ms
SOF
SOF
WKUPフラグ
ソフトクリア
STP
デバイスは以下の処理が必要です。
① 発振安定時間が 10 ms を超えないように設定
② WKUP 要因による割込みに入り , 割込み要因である UDCS の WKUP をクリアし割
込みから復帰します。
240
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.4 USB ファンクションの動作説明
MB90335 シリーズ
11.4.6
DMA 転送機能
USB ファンクションで通信するデータを送受信バッファと内蔵 RAM との間で DMA
転送することが可能です。DMA 転送には 1 パケット単位ごとに転送数を設定し転送
するパケット転送モードと , 設定した転送データ数分を 1 回の設定で転送するデー
タ数自動転送モードの 2 つが選択できます。各 DMA 転送モードについて説明しま
す。
■ パケット転送モード
• 1 パケット単位ごとに転送数を DMA に設定し転送終了後 , 割込み要因をクリアして
転送するパケット転送モードです。転送モードは各エンドポイントに対するどの
バッファへのアクセスも可能です。
• OUT方向, IN方向のそれぞれでバッファをアクセスするタイミングを次に示します。
• OUT 方向 ( ホスト PC →デバイス ) 転送
図 11.4-15 OUT パケット転送
OUTパケット
ホストPC
→デバイス
デバイス
→ホストPC
OUT
OUTパケット
OUT
DATA0
DATA1
ACK
ACK
DMAE
DRQフラグ*
DRQフラグ*
CPUクリア
CPUクリア
DRQIE
DRQ
SIZE
DER(ENx)
DMA受信バッファ読出し
(DATA0)
DMA受信バッファ読出し
(DATA1)
OUT 方向転送ではデバイスは以下の順序で処理が必要です。
① DRQ フラグがセットされ , 割込み処理に入ったら転送データ数を確認します。
② 転送データ数を DMA のデータカウンタレジスタ DDCT に設定し DER レジスタで
DMA を許可して転送開始します。
③ 転送後 , EP1S ∼ EP5S レジスタの該当する DRQ フラグと μDMAC の DSR レジスタ
の該当する割込み要因フラグをクリアして割込み処理から復帰します。
*: EP1 ∼ EP5 はダブルバッファ構成となっており , アクセスしていないバッファが空
の状態でアクセスしているバッファが読み出されたときにのみクリアでき , アクセ
スしていない方のバッファに読み出されていないデータが残っていた場合は "0" を
ライトしてもクリアされません ( 破線状態 )。連続して DRQ による割込み処理に入
ることになります。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
241
第 11 章 USB ファンクション
11.4 USB ファンクションの動作説明
MB90335 シリーズ
● IN 方向 ( ホスト PC →デバイス ) 転送
図 11.4-16 IN パケット転送
INパケット
INパケット
ホストPC
→デバイス
デバイス
→ホストPC
IN
ACK
DATA0
DRQフラグ*
CPUクリア
IN
DRQフラグ*
CPUクリア
ACK
DATA1
DMAE
DRQIE
DRQ
DER(Enx)
DMA送信バッファ書込み
DMA送信バッファ書込み
(DATA1)
(DATA0)
IN 方向転送ではデバイスは以下の順序で処理が必要です。
① DRQ フラグがセットされ , 割込み処理に入ったら , 次 IN パケットで転送する転送
データ数を DMA のデータカウンタレジスタ DDCT に設定し DER レジスタで DMA
を許可して転送開始します。
② DMA 転送後 , EP1S ∼ EP5S レジスタの該当する DRQ フラグと μDMAC の DSR レ
ジスタの該当する割込み要因フラグをクリアして割込み処理から復帰します。
*: EP1 ∼ EP5 はダブルバッファ構成となっており , アクセスしていないバッファに既
にデータが書き込まれている状態で , アクセスしているバッファにデータが書き込
まれたときにのみクリアでき , アクセスしていない方のバッファが空の場合は "0"
をライトしてもクリアされません ( 破線状態 )。連続して DRQ による割込み処理に
入ることになります。
■ データ数自動転送モード
DMA にあらかじめ転送する総データ数を設定し転送許可ビットもセットしておきま
す。DMAE が許可されていてホストからの転送後 DRQ がセットされると , EP1 ∼ EP5
制御レジスタ (EPxC) レジスタの PKS 分のデータ数を転送した後に自動で割込み要因
をクリアします (DRQ フラグが実際にクリアされるかはダブルバッファが共に空にな
るか , フルになるかによります )。以後 , ホストからの転送後に同様の処理をあらかじ
め DMA に設定した転送データ数分まで繰り返し行います。その間 CPU による設定は
一切必要なく 1 回の設定で転送する自動転送モードです。次の転送を行う場合は , ラス
トデータ転送後に CPU 割込みに入るのでそこで μDMAC の再設定を行い , DMA を許
可して割込み復帰します。データ数自動転送モードは DMAE=1 として使用するのでエ
ンドポイント 1 から 5 に対するバッファアクセスのみ有効となります。OUT 方向 , IN
方向のそれぞれでバッファをアクセスするタイミングを次に示します。
242
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.4 USB ファンクションの動作説明
MB90335 シリーズ
図 11.4-17 OUT 方向 ( ホスト PC →デバイス ) 転送
最終OUTパケット
OUTパケット
ホストPC
→デバイス
デバイス
→ホストPC
OUT
OUT
DATA0
ACK
DATA1
DRQフラグ*
自動クリア
ACK
DRQフラグ*
自動クリア
DMAE
DRQIE
DATA0
DATA1
DMA受信バッファの
PKS部分の読出し
DMA受信バッファの
残り部分の読出し
DRQ
SIZE
DER(Enx)
デバイスは OUT 方向転送 , IN 方向転送共に以下の順序で処理が必要です。
① 転送する総データ数を DMA のデータカウンタレジスタ DDCT に設定し , DER レジ
スタで DMA を許可します。
② DMAE, DRQIE を許可設定します。
③ 転送後 , μDMAC の DSR レジスタの該当する割込み要因による割込みで必要に応じ
て μDMAC の再設定を行い , フラグをクリアして割込み処理から復帰します。
*: EP1 ∼ EP5 はダブルバッファ構成となっており , アクセスしていないバッファが空
の状態でアクセスしているバッファが読み出されたときにのみクリアされ ( 自動リ
セット), アクセスしていない方のバッファに読み出されていないデータが残ってい
た場合はクリアされません。連続して DRQ による割込み処理に入ることになりま
す。
図 11.4-18 IN 方向 ( デバイス→ホスト PC) 転送
最終データ
データ
ホストPC
→デバイス
デバイス
→ホストPC
IN
DRQフラグ*
自動クリア
IN
ACK
DATA0
DRQフラグ*
自動クリア
ACK
DATA1
DMAE
DRQIE
DRQ
DATA0
DATA1
DER(Enx)
DMA送信バッファの
PKS部分の書込み
CM44-10137-6
DMA送信バッファの
残り部分の書込み
FUJITSU MICROELECTRONICS LIMITED
243
第 11 章 USB ファンクション
11.4 USB ファンクションの動作説明
MB90335 シリーズ
デバイスは OUT 方向転送 , IN 方向転送共に以下の順序で処理が必要です。
① 転送する総データ数を DMA のデータカウンタレジスタ DDCT に設定し DER レジ
スタで DMA を許可します。
② DMAE, DRQIE を許可設定します。
③ 転送後 , μDMAC の DSR レジスタの該当する割込み要因による割込みで必要に応じ
て μDMAC の再設定を行い , フラグをクリアして割込み処理から復帰します。
*: EP1 ∼ EP5 はダブルバッファ構成となっており , アクセスしていないバッファに既
にデータが書き込まれている状態でアクセスしているバッファにデータが書き込
まれたときにのみクリアされ , アクセスしていない方のバッファが空の場合はクリ
アされません。連続して DRQ による割込み処理に入ることになります。
244
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 11 章 USB ファンクション
11.4 USB ファンクションの動作説明
MB90335 シリーズ
11.4.7
NULL 転送機能
USB ファンクションから送信するデータがラストパケットで最大パケット数のと
き , 次パケットの転送で 0 バイトの転送を自動送信することが可能です。NULL 転送
機能は DMAE を許可する必要があり , IN 転送時のみ有効な機能です。
■ NULL 転送モード
自動バッファ転送モードがセットされている状態 (DMAE=1) で , IN 方向のデータ転送
要求がきたときに , 最大パケット数の DMA 書込みが行われ , かつ最後のデータ書込み
で DMA カウントデータ数が 0 になる場合 , HOST から IN 方向のラストのデータ転送
要求がきたときに 0 バイトのデータ転送を自動で設定し , 次の IN 方向のデータ転送要
求で 0 バイト送信するモードです。DMA でラストのデータがバッファに書き込まれた
後 , HOST から 0 バイトのデータが読み出されるまで DRQ の割込みフラグはセットさ
れません。バッファをアクセスするタイミングを次に示します。
● IN 方向 ( デバイス→ホスト PC) 転送のみ
図 11.4-19 NULL データ転送動作
最終直前データ
ホストPC
→デバイス
DRQフラグ*
デバイス
自動クリア
→ホストPC
IN
ACK
最終データ
IN
ACK
DATA1
DATA0
0バイトデータ
ACK
IN
DATA0
DMAE
DRQIE
DRQ
NULE
最終データ
DATA1
DER(ENx)
DMA送信バッファ
MAXパケットの書込み
割込み要因設定なし
デバイスは以下の処理が必要です。
DMAE, DRQIE, NULE を許可設定します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
245
第 11 章 USB ファンクション
11.4 USB ファンクションの動作説明
246
MB90335 シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 12 章
USB ホスト
この章では , USB ホストの機能と動作について示
します。
12.1 USB ホストの特長
12.2 USB ホストの制限事項
12.3 USB ホストのブロックダイヤグラム
12.4 USB ホストのレジスタ
12.5 USB ホストの動作
12.6 USB ホストの各トークンフローチャート
管理番号 : CM44-00102-1
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
247
第 12 章 USB ホスト
12.1 USB ホストの特長
12.1
MB90335 シリーズ
USB ホストの特長
USB ホストは , 必要最低限のホスト動作を実現し , PC が介在することなくデバイス
とのデータ転送ができる機能です。
■ USB ホストの特長
USB ホストは , オリジナルの USB ホスト機能です。動作モードを切り替えることで ,
USB ファンクションとしても動作可能です。
USB ホストには以下の特長があります。
• Low Speed/Full Speed 転送の自動検出
• Low Speed/Full Speed 転送サポート
• デバイスの接続および切断の自動検出
• USB バスへのリセット送出機能サポート
• IN/OUT/SETUP/SOF トークンのサポート
• IN トークン時のハンドシェークパケット自動送出 (STALL は除く )
• OUT トークン時のハンドシェークパケット自動検出
• 最大パケット長 256 バイトまでサポート
• 各種エラー (CRC エラー / トグルエラー / タイムアウト ) サポート
• ウェイクアップ機能サポート
248
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 12 章 USB ホスト
12.2 USB ホストの制限事項
MB90335 シリーズ
12.2
USB ホストの制限事項
USB ホストの制限事項を示します。
■ USB ホストの制限事項
表 12.2-1 USB ホストの制限事項
ホスト
○*
ハブのサポート
バルク転送
○
コントロール転送
○
インタラプト転送
○
アイソクロナス転送
×
Low Speed
○
Full Speed
○
転送
転送スピード
PRE パケットサポート
×
SOF パケットサポート
○
CRC エラー
○
トグルエラー
○
タイムアウト
○
最大パケット<受信データ
○
エラー
デバイスの接続・切断検出
○
転送スピード検出
○
○ : サポートしている
× : サポートしていない
* : Full Speed のみ対応し , HUB は 1 段までのサポートです。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
249
第 12 章 USB ホスト
12.3 USB ホストのブロックダイヤグラム
12.3
MB90335 シリーズ
USB ホストのブロックダイヤグラム
図 12.3-1 に , USB ホストのブロックダイヤグラムを示します。
■ USB ホストのブロックダイヤグラム
図 12.3-1 USB ホストのブロックダイヤグラム
セレクタ
バッファ
RX
HRX
受信制御部
CPU I/F
UDC I/F
TX
TXENL
送信制御部
USBバス
リセット
制御部
HTX
ホスト送信
制御部
HTXENL
ブロックの説明
CPU I/F
: CPU とのインタフェース回路ブロック
バッファ
: バッファおよびバッファコントロール回路ブロック
UDC I/F
: USB とのインタフェース回路ブロック
USB バスリセット制御部 : USB バスリセット・接続制御ブロック
受信制御部
: 受信データのシリアル・パラレル変換回路および受信制御
回路ブロック
送信制御部
: ファンクション時の送信データのパラレル・シリアル変換
回路および送信制御回路ブロック
ホスト送信制御部
: ホスト時の送信データのパラレル・シリアル変換回路
および送信制御回路ブロック
TX
250
: ファンクションの送信データ信号
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
CM44-10137-6
第 12 章 USB ホスト
12.3 USB ホストのブロックダイヤグラム
RX
: ファンクションの受信データ信号
TXENL
: ファンクションの送受信方向信号
HTX
: ホストの送信データ信号
HRX
: ホストの受信データ信号
HTXENL
: ホストの送受信方向信号
FUJITSU MICROELECTRONICS LIMITED
251
第 12 章 USB ホスト
12.4 USB ホストのレジスタ
12.4
MB90335 シリーズ
USB ホストのレジスタ
USB ホストには , 次の 10 種類のレジスタがあります。
• ホストコントロールレジスタ 0, 1(HCNT0/HCNT1)
• ホスト割込みレジスタ (HIRQ)
• ホストエラーステータスレジスタ (HERR)
• ホスト状態ステータスレジスタ (HSTATE)
• SOF 割込み FRAME 比較レジスタ (HFCOMP)
• リトライタイマ設定レジスタ (HRTIMER)
• ホストアドレスレジスタ (HADR)
• EOF 設定レジスタ (HEOF)
• FRAME 設定レジスタ (HFRAME)
• ホストトークンエンドポイントレジスタ (HTOKEN)
■ USB ホストのレジスタ
ホストコントロールレジスタ 0
bit
7
6
5
4
3
2
1
0
アドレス : 0000C0H RWKIRE URIRE CMPIRE CNNIRE DIRE SOFIRE URST HOST
リード / ライト→ (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
初期値→ (0)
HCNT0
ホストコントロールレジスタ 1
bit
15
14
予約
(R/W)
リード / ライト→
初期値→ (0)
予約
(R/W)
(0)
アドレス : 0000C1H
13
予約
(R/W)
(0)
12
予約
(R/W)
(0)
11
予約
(R/W)
(0)
10
9
8
SOFSTEP CANCEL RETRY
(R/W)
(0)
(R/W)
(0)
HCNT1
(R/W)
(1)
ホスト割込みレジスタ
bit
アドレス : 0000C2H
7
TCAN
6
5
4
3
2
1
0
予約 RWKIRQ URIRQ CMPIRQ CNNIRQ DIRQ SOFIRQ
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
リード / ライト→ (R/W)
初期値→ (0)
HIRQ
ホストエラーステータスレジスタ
bit 15
14
13
アドレス : 0000C3H LSTSOF RERR TOUT
リード / ライト→ (R/W) (R/W) (R/W)
(0)
(0)
初期値→ (0)
12
11
10
CRC TGERR STUFF
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
4
3
2
9
8
HS
HERR
(R/W)
(11B)
ホスト状態ステータスレジスタ
bit
アドレス : 0000C4H
リード / ライト→
初期値→
7
6
予約
(-)
(X)
5
1
0
ALIVE CLKSEL SOFBUSY SUSP TMODE CSTAT
(R/W)
(0)
(R/W)
(1)
(R/W)
(0)
(R/W)
(0)
(R)
(1)
HSTATE
(R)
(0)
( 続く )
252
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 12 章 USB ホスト
12.4 USB ホストのレジスタ
MB90335 シリーズ
( 続き )
SOF 割込み FRAME 比較レジスタ
bit
15
14
13
12
11
10
9
8
FRAMECOMP
(R/W)
(00000000B)
アドレス : 0000C5H
リード / ライト→
初期値→
HFCOMP
リトライタイマ設定レジスタ
bit
7
6
5
アドレス : 0000C6H
リード / ライト→
初期値→
bit
アドレス : 0000C7H
リード / ライト→
初期値→
15
14
bit 7(23)
6(22)
13
5(21)
アドレス : 0000C8H
リード / ライト→
初期値→
4
3
RTIMER0
(R/W)
(00000000B)
2
12
11
RTIMER1
(R/W)
(00000000B)
10
4(20)
3(19)
1
0
HRTIMER
9
8
HRTIMER
2(18)
1(17)
0(16)
RTIMER2
(R/W)
(00B)
予約
(-)
(X)
HRTIMER
ホストアドレスレジスタ
bit
15
14
13
12
11
10
9
8
Address
(R/W)
(0000000B)
アドレス : 0000C9H 予約
リード / ライト→ (-)
初期値→ (X)
HADR
EOF 設定レジスタ
bit
7
6
5
3
2
1
0
EOF0
(R/W)
(00000000B)
アドレス : 0000CAH
リード / ライト→
初期値→
bit
4
15
アドレス : 0000CBH
リード / ライト→
初期値→
14
13
12
11
HEOF
10
9
8
EOF1
(R/W)
(000000B)
予約
(-)
(X)
HEOF
FRAME 設定レジスタ
bit
7
6
5
アドレス : 0000CCH
リード / ライト→
初期値→
bit
アドレス : 0000CDH
リード / ライト→
初期値→
15
14
13
予約
(-)
(X)
4
3
FRAME0
(R/W)
(00000000B)
12
11
2
1
0
HFRAME
10
9
FRAME1
(R/W)
(000B)
8
HFRAME
( 続く )
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
253
第 12 章 USB ホスト
12.4 USB ホストのレジスタ
MB90335 シリーズ
( 続き )
ホストトークンエンドポイントレジスタ
bit
7
アドレス : 0000CEH TGGL
リード / ライト→ (R/W)
初期値→ (0)
254
6
5
4
3
2
1
TKNEN
ENDPT
(R/W)
(000B)
(R/W)
(0000B)
FUJITSU MICROELECTRONICS LIMITED
0
HTOKEN
CM44-10137-6
第 12 章 USB ホスト
12.4 USB ホストのレジスタ
MB90335 シリーズ
12.4.1
ホストコントロールレジスタ 0, 1(HCNT0/HCNT1)
ホストコントロールレジスタ 0, 1(HCNT0/HCNT1) は , USB の動作モードおよび割
込みの設定を指定します。
■ ホストコントロールレジスタ 0, 1(HCNT0/HCNT1)
図 12.4-1 ホストコントロールレジスタ 0, 1 (HCNT0/1) のビット構成
ホストコントロールレジスタ 0
bit
7
6
5
4
3
2
1
0
アドレス : 0000C0H RWKIRE URIRE CMPIRE CNNIRE DIRE SOFIRE URST HOST
リード / ライト→ (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
初期値→ (0)
(X)
(X)
(X)
(X)
(X)
(X)
(○)
UDCC RST ビット→ (X)
でのリセット可否
HCNT0
ホストコントロールレジスタ 1
bit
15
アドレス : 0000C1H
予約
(R/W)
リード / ライト→
初期値→ (0)
UDCC RST ビット→ (X)
でのリセット可否
14
13
12
予約
(R/W)
(0)
(X)
予約
(R/W)
(0)
(X)
予約
(R/W)
(0)
(X)
11
10
9
8
予約 SOFSTEP CANCEL RETRY
(R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(1)
(X)
(X)
(X)
(X)
HCNT1
[bit15 ∼ bit11] 予約
予約ビットです。
必ず "0" を設定してください。
[bit10] SOFSTEP (SOF 割込み条件選択 )
SOF 実行ごとに SOF による割込みを発生するかどうかを設定します。ホストコン
トロールレジスタ 0(HCNT0) の SOFIRE ビットが "1" のとき有効となります。
"0" の時 , SOF 割込み FRAME 比較レジスタ (HFCOMP) の設定により , 割込みを発
生し , "1" のときは無条件で SOF 実行時に割込みが発生します。ただし , 最初の SOF
トークン時 , 割込みは発生しません。UDC 制御レジスタ (UDCC) の RST ビットで
初期化されません。
SOFSTEP
CM44-10137-6
動作モード
0
HFCOMP の設定により割込み発生
1
割込み発生
FUJITSU MICROELECTRONICS LIMITED
255
第 12 章 USB ホスト
12.4 USB ホストのレジスタ
MB90335 シリーズ
[bit9] CANCEL ( トークンキャンセル許可 )
ホスト割込みレジスタ (HIRQ) の SOFIRQ ビットが "1" になるとき , 一度もトークン
が実行されずにトークンが待ち状態であるとき (EOF 領域でトークンを発行 ), その
トークンを中止するかどうかを設定するビットです。UDC 制御レジスタ (UDCC) の
RST ビットで初期化されません。
CANCEL
動作モード
0
トークン継続
1
トークン中止
[bit8] RETRY ( リトライ許可 )
NAK および CRC エラー等が発生した場合 , リトライするかどうかを設定するビッ
トです。UDC 制御レジスタ (UDCC) の RST ビットにより初期化されません。
RETRY
動作モード
0
リトライする
1
リトライしない
[bit7] RWKIRE ( 再起動割込み要求許可 )
レジューム終了後 , ホスト機能の動作が可能となったときに割込みを発生するかど
うかを設定するビットです。ホストモード時 , サスペンド状態にするにはホスト状
態ステータスレジスタの SUSP ビットに "1" をライトしてください。ホストモード
時のみ有効です。UDC制御レジスタ(UDCC)のRSTビットにより初期化されません。
RWKIRE
動作モード
0
再起動後割込み禁止
1
再起動後割込み許可
[bit6] URIRE (USB バスリセット時割込み要求許可 )
USB バスへのリセット動作が終了したときに割込みを発生するかどうかを設定す
るビットです。ホストモード時のみ有効です。UDC 制御レジスタ (UDCC) の RST
ビットにより初期化されません。
URIRE
動作モード
0
USB バスリセット後割込み禁止
1
USB バスリセット後割込み許可
[bit5] CMPIRE ( 完了時割込み要求許可 )
トークンが完了したときに割込みを発生するかどうかを設定します。ホストモード
時のみ有効です。UDC制御レジスタ(UDCC)のRSTビットにより初期化されません。
256
CMPIRE
動作モード
0
完了時割込み禁止
1
完了時割込み許可
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 12 章 USB ホスト
12.4 USB ホストのレジスタ
MB90335 シリーズ
[bit4] CNNIRE ( 接続時割込み要求許可 )
デバイスの接続時に割込みを発生するかどうかを設定するビットです。ホストモー
ド時のみ有効です。UDC 制御レジスタ (UDCC) の RST ビットにより初期化されま
せん。
CNNIRE
動作モード
0
デバイス接続時割込み禁止
1
デバイス接続時割込み許可
[bit3] DIRE ( 切断時割込み要求許可 )
デバイスの切断時に割込みを発生するかどうかを設定するビットです。ホストモー
ド時のみ有効です。UDC 制御レジスタ (UDCC) の RST ビットにより初期化されま
せん。
DIRE
動作モード
0
デバイス切断時割込み禁止
1
デバイス切断時割込み許可
[bit2] SOFIRE (SOF 割込み要求許可 )
SOF 送信時に割込みを発生するかどうかを設定するビットです。ホストモード時の
み有効です。UDC 制御レジスタ (UDCC) の RST ビットにより初期化されません。
SOFIRE
動作モード
0
SOF 送信時に割込み禁止
1
SOF 送信時に割込み許可
[bit1] URST (USB バスリセット )
USB バスに対し , リセットを発生するかどうかを設定します。USB バスへのリセッ
ト動作中は "1" を示し , リセットが終了すると "0" になります。ホスト状態ステー
タスレジスタ (HSTATE) の SUSP ビットが "1" またはトークン実行中に "1" を設定
することは禁止です。また , "1" の間 , ホストコントロールレジスタ (HCNT0, HCNT1)
の更新は禁止です。
ホストモード時のみ有効です。更新は UDC 制御レジスタ (UDCC)
の RST ビットを "0" に設定してから行ってください。
CM44-10137-6
URST
動作モード
0
USB バス状態保持
1
バスリセット
FUJITSU MICROELECTRONICS LIMITED
257
第 12 章 USB ホスト
12.4 USB ホストのレジスタ
MB90335 シリーズ
[bit0] HOST ( ホストモード )
LSI がファンクションかホストかを設定します。UDC 制御レジスタ (UDCC) の RST
ビットにより初期化されませんので UDC 制御レジスタ (UDCC) の RST ビットが "1"
のときに変更してください。
また , ファンクションモードからホストモードにする場合には UDC 制御レジスタ
(UDCC) の HCON ビットを "1" にしてホスト PC または HUB と切断状態にしてくだ
さい。ホストモードからファンクションモードにする場合 , ホストステータスレジ
スタ (HSTATE) の SOFBUSY ビットを "0" にし , ホストトークンエンドポイントレ
ジスタ (HTOKEN) の TKNEN ビットが 000B になっていることを確認して変更して
ください。
258
HOST
動作モード
0
ファンクションモード
1
ホストモード
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 12 章 USB ホスト
12.4 USB ホストのレジスタ
MB90335 シリーズ
12.4.2
ホスト割込みレジスタ (HIRQ)
ホスト割込みレジスタ (HIRQ) は , USB ホストの割込み要求フラグを示します。
TCAN ビットを除いてホストコントロールレジスタ (HCNT0/HCNT1) の割込み許可
ビットの設定により割込みを発生させることができます。
■ ホスト割込みレジスタ (HIRQ)
図 12.4-2 ホスト割込みレジスタ (HIRQ) のビット構成
ホスト割込みレジスタ
bit
7
アドレス : 0000C2H TCAN
リード / ライト→ (R/W)
初期値→ (0)
UDCC RST ビット→ ( ○ )
でのリセット可否
6
5
4
3
2
1
予約 RWKIRQ URIRQ CMPIRQ CNNIRQ DIRQ
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(X)
(X)
(○)
(○)
(○)
(○)
0
SOFIRQ
HIRQ
(R/W)
(0)
(○)
[bit7] TCAN ( トークンキャンセルフラグ )
ホスト割込みレジスタ (HIRQ) の SOFIRQ ビットが "1" になるとき , 一度もトークン
が実行されずにトークンが中止されたことを示します。SOF による割込みと組み合
わせて使用するために割込みは発生しません。"0" にするためには "0" を書き込ん
でください。
更新は UDC 制御レジスタ (UDCC) の RST ビットを "0" に設定してから行ってくだ
さい。
TCAN
動作モード
0
トークン中止なし
1
トークン中止あり
[bit6] 予約
予約ビットです。
必ず "0" を設定してください。
[bit5] RWKIRQ ( 再起動割込み要求 )
レジュームが終了したことを示します。"1" となった場合 , "0" を書き込むと "0" と
なります。"1" を書き込んだ場合には , 現在の状態を保持します。ホストコントロー
ルレジスタ 0(HCNT0) の RWKIRE ビットが "1" の場合 , "1" になると割込みが発生
し , "0" にクリアすると割込み信号もクリアされます。
更新は UDC 制御レジスタ (UDCC) の RST ビットを "0" に設定してから行ってくだ
さい。
CM44-10137-6
RWKIRQ
動作モード
0
再起動による割込み要求なし
1
再起動による割込み要求あり
FUJITSU MICROELECTRONICS LIMITED
259
第 12 章 USB ホスト
12.4 USB ホストのレジスタ
MB90335 シリーズ
[bit4] URIRQ (USB バス割込み要求 )
USB バスへのリセットが終了したことを示します。"1" となった場合 , "0" を書き込
むと "0" となります。"1" を書き込んだ場合には , 現在の状態を保持します。ホスト
コントロールレジスタ 0(HCNT0) の URIRE ビットが "1" の場合 , "1" になると割込
みが発生し , "0" をクリアすると割込み信号もクリアされます。
更新は UDC 制御レジスタ (UDCC) の RST ビットを "0" に設定してから行ってくだ
さい。
URIRQ
動作モード
0
USB バスリセットによる割込み要求なし
1
USB バスリセットによる割込み要求あり
[bit3] CMPIRQ ( 完了割込み要求 )
トークンが完了したことを示します。ホスト割込みレジスタ (HIRQ) の TCAN ビッ
トが "1" となる場合には , "1" にセットされません。"1" となった場合 , "0" を書き込
むと "0" となります。"1" を書き込んだ場合には , 現在の状態を保持します。ホスト
コントロールレジスタ 0(HCNT0) の CMPIRE ビットが "1" の場合 , "1" になると割込
みが発生し , "0" にクリアすると割込み信号もクリアされます。
更新は UDC 制御レジスタ (UDCC) の RST ビットを "0" に設定してから行ってくだ
さい。
CMPIRQ
動作モード
0
トークン完了による割込み要求なし
1
トークン完了による割込み要求あり
[bit2] CNNIRQ ( 接続割込み要求 )
デバイスの接続を検出したことを示します。
"1" となった場合 , "0" を書き込むと "0"
となります。"1" を書き込んだ場合には , 現在の状態を保持します。ホストコント
ロールレジスタ 0(HCNT0) の CNNIRE ビットが "1" の場合 , "1" になると割込みが発
生し , "0" にクリアすると割込み信号もクリアされます。
UDC 制御レジスタ (UDCC) の RST ビットにより初期化されません。
260
CNNIRQ
動作モード
0
デバイス接続検出による割込み要求なし
1
デバイス接続検出による割込み要求あり
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 12 章 USB ホスト
12.4 USB ホストのレジスタ
MB90335 シリーズ
[bit1] DIRQ ( 切断割込み要求 )
デバイスの切断を検出したことを示します。
"1" となった場合 , "0" を書き込むと "0"
となります。"1" をライトした場合には , 現在の状態を保持します。ホストコント
ロールレジスタ 0(HCNT0) の DIRE ビットが "1" の場合 , "1" になると割込みが発生
し , "0" にクリアすると割込み信号もクリアされます。
UDC 制御レジスタ (UDCC) の RST ビットにより初期化されません。
DIRQ
動作モード
0
デバイス切断検出による割込み要求なし
1
デバイス切断検出による割込み要求あり
[bit0] SOFIRQ (SOF 割込み要求 )
SOF トークンを開始したかを示します。"1" となった場合 , "0" をライトすると "0"
となります。"1" を書き込んだ場合には , 現在の状態を保持します。ホストコント
ロールレジスタ 0(HCNT0) の SOFIRE ビットが "1" の場合 , "1" になると割込みが発
生し , "0" にクリアすると割込み信号もクリアされます。
更新は UDC 制御レジスタ (UDCC) の RST ビットを "0" に設定してから行ってくだ
さい。
CM44-10137-6
SOFIRQ
動作モード
0
SOF トークン開始による割込み要求なし
1
SOF トークン開始による割込み要求あり
FUJITSU MICROELECTRONICS LIMITED
261
第 12 章 USB ホスト
12.4 USB ホストのレジスタ
12.4.3
MB90335 シリーズ
ホストエラーステータスレジスタ (HERR)
ホストエラーステータスレジスタ (HERR) は , ホストモード時のデータ送信および
受信中にエラーが発生したかどうかを示すレジスタです。
■ ホストエラーステータスレジスタ (HERR)
図 12.4-3 ホストエラーステータスレジスタ (HERR) のビット構成
ホストエラーステータスレジスタ
bit
アドレス : 0000C3H
15
14
13
TOUT
12
11
10
CRC TGERR STUFF
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(11B)
(○)
(○)
(○)
(○)
(○)
(○)
LSTSOF RERR
リード / ライト→ (R/W)
初期値→ (0)
UDCC RST ビット→ ( ○ )
でのリセット可否
9
8
HS
HERR
[bit15] LSTSOF (SOF 実行エラー )
ホストモードで SOF トークンを実行しようとしたとき , 他のトークンを実行してい
て SOF トークンが実行できなかったことを示します。"1" をクリアするには "0" を
書き込んでください。更新は UDC 制御レジスタ (UDCC) の RST ビットを "0" に設
定してから行ってください。
LSTSOF
動作モード
0
SOF 実行
1
SOF 実行エラー
[bit14] RERR ( 受信エラー )
ホストモード時 , 設定された最大パケット数より多いデータを受信したかどうかを
示します。受信エラーが発生した場合には , TOUT も "1" にセットされます。
"1" をクリアするには "0" を書き込んでください。更新は UDC 制御レジスタ (UDCC)
の RST ビットを "0" に設定してから行ってください。
RERR
動作モード
0
受信エラーなし
1
最大パケット受信エラー
[bit13] TOUT ( タイムアウト )
ホストモード時 , トークンに対し , 所定時間内に応答がないとき , タイムアウトを検
出します。そのタイムアウトが発生したかどうかを示します。"1" をクリアするに
は "0" を書き込んでください。更新は UDC 制御レジスタ (UDCC) の RST ビットを
"0" に設定してから行ってください。
262
TOUT
動作モード
0
タイムアウトなし
1
タイムアウトあり
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 12 章 USB ホスト
12.4 USB ホストのレジスタ
MB90335 シリーズ
[bit12] CRC (CRC エラー )
ホストモード時 , CRC エラーが発生したかどうかを示します。CRC エラーが発生し
た場合には , TOUT も "1" にセットされます。
"1" をクリアするには "0" を書き込んでください。
更新は UDC 制御レジスタ (UDCC) の RST ビットを "0" に設定してから行ってくだ
さい。
CRC
動作モード
0
CRC エラーなし
1
CRC エラーあり
[bit11] TGERR ( トグルエラー )
ホストモード時 , トグルエラーが発生したかどうかを示します。"1" をクリアするに
は "0" を書き込んでください。更新は UDC 制御レジスタ (UDCC) の RST ビットを
"0" に設定してから行ってください。
TGERR
動作モード
0
トグルエラーなし
1
トグルエラーあり
[bit10] STUFF ( スタッフィングエラー )
ホストモード時 , スタッフィングエラーが発生したかどうかを示します。スタッ
フィングエラーが発生した場合には , TOUT も "1" にセットされます。
"1" をクリアするには "0" を書き込んでください。更新は UDC 制御レジスタ (UDCC)
の RST ビットを "0" にしてから行ってください。
[bit9, bit8] HS ( ハンドシェークステータス )
ホストモード時 , 送受信のハンドシェーク状態を示します。エラー等でハンド
シェークが発生しない場合および SOF トークンを終了した場合には NULL を示し
ます。送受信終了時に更新します。更新は UDC 制御レジスタ (UDCC) の RST ビッ
トを "0" に設定してから行ってください。
HS
CM44-10137-6
ハンドシェーク
bit9
bit8
0
0
ACK
0
1
NAK
1
0
STALL
1
1
NULL
FUJITSU MICROELECTRONICS LIMITED
263
第 12 章 USB ホスト
12.4 USB ホストのレジスタ
12.4.4
MB90335 シリーズ
ホスト状態ステータスレジスタ (HSTATE)
ホスト状態ステータスレジスタ (HSTATE) は , デバイスの接続 , 転送モード等を
USB 回路の状態を示すレジスタです。CLKSEL ビットは , ファンクションモードで
も有効ですので注意してください。
■ ホスト状態ステータスレジスタ (HSTATE)
図 12.4-4 ホスト状態ステータスレジスタ (HSTATE) のビット構成
ホスト状態ステータスレジスタ
bit
アドレス : 0000C4H
リード / ライト→
初期値→
UDCC RST ビット→
でのリセット可否
7
6
予約
(-)
(X)
(-)
予約
(-)
(X)
(-)
5
4
3
2
1
0
ALIVE CLKSEL SOFBUSY SUSP TMODE CSTAT
(R/W)
(0)
(X)
(R/W)
(1)
(X)
(R/W)
(0)
(○)
(R/W)
(0)
(○)
(R)
(1)
(X)
HSTATE
(R)
(0)
(X)
[bit7, bit6] 予約
予約ビットです。リードは不定です。ライトは動作に影響しません。
[bit5] ALIVE (Keep-Alive 機能設定 )
Low Speed 時 , Keep-Alive 機能を設定するビットです。ホスト状態ステータスレジ
スタ (HSTATE) の CLKSEL ビットが "0" のとき , "1" に設定すると SOF の代わりに
SE0 を出力します。ホスト状態レジスタの CLKSEL ビットが "0" のとき有効で ,
CLKSELビットが"1"の場合にはALIVEビットの設定に関係なくSOFを出力します。
ALIVE
動作モード
0
SOF 出力
1
SE0 出力 (Keep-Alive)
[bit4] CLKSEL ( クロック選択 )
USB の動作クロックを選択します。Full Speed 時には "1", Low Speed 時には "0" を
設定しなければなりません。
ファンクションモード , ホストモードともに有効で , クロックの切換えは UDC 制御
レジスタ (UDCC) の RST ビットが "1" のときに実施してください。ファンクション
モード時の "0" 設定は禁止です。
264
CLKSEL
動作モード
0
Low Speed 用クロック
1
Full Speed 用クロック
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 12 章 USB ホスト
12.4 USB ホストのレジスタ
MB90335 シリーズ
[bit3] SOFBUSY (SOF タイマ動作 )
ホストモード時 , SOF タイマが動作中かどうかを示します。"0" を書き込むと SOF
の送出は停止します。更新は UDC 制御レジスタ (UDCC) の RST ビットを "0" に設
定してから行ってください。
SOFBUSY
動作モード
0
SOF タイマ停止
1
SOF タイマ動作中
[bit2] SUSP ( サスペンド )
ホストモード時 , サスペンド状態を設定するビットです。"1" を書き込むとサスペン
ド状態にします。"1" の状態から "0" を書き込んだ場合 , または USB バスが k-state
状態に変化するとサスペンド状態を解除し , ホスト割込みレジスタ (HIRQ) の
RWKIRQ ビットが "1" となります。USB が動作中 (USB バスへのリセット , データ
の送受信 ), "1" を設定することは禁止です。
ホストモード時 , サスペンド状態でも USB 用クロックを停止することは禁止です。
更新は UDC 制御レジスタ (UDCC) の RST ビットを "0" に設定してから行い , ファ
ンクションモードで "1" をセットすることは禁止です。また , ホストモード時から
ファンクションモードに変更する時に "1" の場合は "0" を書込みサスペンド状態か
ら抜けた状態で変更してください。
Table 12.4-1 サスペンドの設定
SUSP
動作モード
"1" 書込み
サスペンド
"1" 状態で "0" 書込み
レジューム
その他
状態保持
[bit1] TMODE ( 転送モード )
ホストモード時の転送モードを示します。書き込んだ時は "1" を書き込んでくださ
い。UDC 制御レジスタ (UDCC) の RST ビットにより初期化されません。CPU クロッ
クは 24 MHz で使用してください。
TMODE
0
動作モード
Low Speed
1
Full Speed
[bit0] CSTAT ( 接続状態 )
デバイスが接続されているかを示します。ホスト用端子が対象となります。UDC 制
御レジスタ (UDCC) の RST ビットにより初期化されません。
CM44-10137-6
CSTAT
動作モード
0
デバイス切断
1
デバイス接続
FUJITSU MICROELECTRONICS LIMITED
265
第 12 章 USB ホスト
12.4 USB ホストのレジスタ
12.4.5
MB90335 シリーズ
SOF 割込み FRAME 比較レジスタ (HFCOMP)
SOF 割込み FRAME 比較レジスタ (HFCOMP) は , SOF トークン時の FRAME
Number の下位 8 ビットと比較するデータを設定するレジスタです。HFCOMP レジ
スタと FRAME Number の下位 8 ビットを比較し , ホストコントロールレジスタ 0
(HCNT0) の SOFIRE ビットが "1" で比較結果が一致した場合には , SOF 送信開始時
にホスト割込みレジスタ (HIRQ) の SOFIRQ ビットを "1" にして割込みが発生しま
す。
■ SOF 割込み FRAME 比較レジスタ (HFCOMP)
図 12.4-5 SOF 割込み FRAME 比較レジスタ (HFCOMP) のビット構成
SOF 割込み FRAME 比較レジスタ
bit
15
14
13
アドレス : 0000C5H
12
11
FRAMECOMP
10
9
8
HFCOMP
(R/W)
(00000000B)
(X)
リード / ライト→
初期値→
UDCC RST ビット→
でのリセット可否
[bit15 ∼ bit8] FRAMECOMP
Frame Number の下位 8 ビットと比較するデータを設定します。UDC 制御レジスタ
(UDCC) の RST ビットにより初期化されません。更新は UDC 制御レジスタ (UDCC)
の RST ビットを "0" に設定してから行ってください。
266
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 12 章 USB ホスト
12.4 USB ホストのレジスタ
MB90335 シリーズ
12.4.6
リトライタイマ設定レジスタ (HRTIMER)
リトライタイマ設定レジスタ (HRTIMER) は , トークンのリトライ時間を設定するレ
ジスタです。
■ リトライタイマ設定レジスタ (HRTIMER)
図 12.4-6 リトライタイマ設定レジスタ (HRTIMER) のビット構成
リトライタイマ設定レジスタ
bit
7
6
5
4
3
RTIMER0
アドレス : 0000C6H
1
0
HRTIMER
(R/W)
(00000000B)
(X)
リード / ライト→
初期値→
UDCC RST ビット→
でのリセット可否
bit
2
15
14
13
12
11
アドレス : 0000C7H
RTIMER1
リード / ライト→
初期値→
UDCC RST ビット→
でのリセット可否
(R/W)
(00000000B)
(X)
bit 7(23)
6(22)
アドレス : 0000C8H
5(21)
4(20)
3(19)
10
8
HRTIMER
2(18)
予約
(-)
(X)
(-)
リード / ライト→
初期値→
UDCC RST ビット→
でのリセット可否
9
1(17)
0(16)
RTIMER2
HRTIMER
(R/W)
(00B)
(X)
[bit23 ∼ bit18] 予約
予約ビットです。
読出しは不定です。書込みは動作に影響しません。
[bit17 ∼ bit0] RTIMER0, HRTIMER1, HRTIMER2
トークンをリトライする時間を設定します。ホストコントロールレジスタ (HCNT1)
の RETRY ビットが 1 のとき , トークンの実行が開始するとリトライタイマが起動
され , 1 ビットの転送クロック (Full Speed の場合 , 12 MHz) によりタイマ値が -1 さ
れます。リトライタイマが "0" になったときにトークンのリトライは実施しません。
トークンのリトライが EOF 領域で発生した場合には SOF の実行が終了するまでリ
トライタイマは停止します。SOF の実行終了後 , 停止したタイマ値から -1 します。
UDC 制御レジスタ (UDCC) の RST ビットにより初期化されません。更新は UDC 制
御レジスタ (UDCC) の RST ビットを "0" に設定してから行ってください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
267
第 12 章 USB ホスト
12.4 USB ホストのレジスタ
12.4.7
MB90335 シリーズ
ホストアドレスレジスタ (HADR)
ホストアドレスレジスタ (HADR) は , トークンを送信する際のアドレスフィールド
に使用されるレジスタです。
■ ホストアドレスレジスタ (HADR)
図 12.4-7 ホストアドレスレジスタ (HADR) のビット構成
ホストアドレスレジスタ
bit
15
14
13
12
予約
リード / ライト→ (-)
初期値→ (X)
UDCC RST ビット→ (-)
でのリセット可否
11
Address
アドレス : 0000C9H
10
9
8
HADR
(R/W)
(0000000B)
(X)
[bit15] 予約
予約ビットです。読出しは不定です。書込みは動作に影響しません。
[bit14 ∼ bit8] Address ( アドレス )
トークンのアドレスを設定します。UDC 制御レジスタ (UDCC) の RST ビットによ
り初期化されません。更新は UDC 制御レジスタ (UDCC) の RST ビットを "0" に設
定してから行ってください。
268
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 12 章 USB ホスト
12.4 USB ホストのレジスタ
MB90335 シリーズ
12.4.8
EOF 設定レジスタ (HEOF)
EOF 設定レジスタ (HEOF) は , SOF トークン実行前のトークン禁止時間を設定する
レジスタです。SOF 用タイマと HEOF レジスタのデータを比較し , HEOF レジスタ
のデータより SOF タイマが小さい時に IN トークン , OUT トークン , SETUP トーク
ンのいずれか実行要求があった場合 , SOF トークン実行後要求トークンを実行しま
す。これは , ハードウェアで生成する SOF トークンとほかのトークンが同時に実行
しないようにしています。HEOF レジスタの時間単位は 1 ビット転送時間です。
■ EOF 設定レジスタ (HEOF)
図 12.4-8 EOF 設定レジスタ (HEOF) のビット構成
EOF 設定レジスタ
bit
7
6
5
4
3
2
アドレス : 0000CAH
EOF0
リード / ライト→
初期値→
UDCC RST ビット→
でのリセット可否
(R/W)
(00000000B)
(X)
bit
アドレス : 0000CBH
リード / ライト→
初期値→
UDCC RST ビット→
でのリセット可否
15
14
13
12
予約
(-)
(X)
(-)
1
0
HEOF
11
10
9
8
EOF1
HEOF
(R/W)
(000000B)
(X)
[bit15, bit14] 予約
予約ビットです。読出しは不定です。書込みは動作に影響しません。
[bit13 ∼ bit0] EOF1, EOF0 (EOF)
SOF実行前のトークン実行禁止時間を設定します。
1パケット長よりマージンを持っ
て設定してください。単位は , 1 ビット転送時間です。UDC 制御レジスタ (UDCC)
の RST ビットにより初期化されません。更新は UDC 制御レジスタ (UDCC) の RST
ビットを "0" に設定してから行ってください。
・設定例 ) 最大 PKT=64 バイト , Full Speed の場合 ,
(Token_length + packet_length + header + CRC) × 7/6 + Turn_around_time
=(34bit + 546bit) × 7/6 + 36bit = 712.7bit
となり , 2C9H を設定します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
269
第 12 章 USB ホスト
12.4 USB ホストのレジスタ
12.4.9
MB90335 シリーズ
FRAME 設定レジスタ (HFRAME)
FRAME 設定レジスタ (HFRAME) は , SOF トークン時の FRAME Number を設定す
るレジスタです。ホストトークンエンドポイントレジスタ (HTOKEN) の TKNEN
ビットに SOF 起動をセットすると SOF タイマが起動され , その後 1 ms ごとに自動
的に SOF が送信されます。SOF が終了するごとに FRAME 設定レジスタは自動的
に +1 されます。
■ FRAME 設定レジスタ (HFRAME)
図 12.4-9 FRAME 設定レジスタ (HFRAME) のビット構成
リトライタイマ設定レジスタ
bit
7
6
5
アドレス : 0000CCH
2
1
0
HFRAME
(R/W)
(00000000B)
リード / ライト→
初期値→
UDCC RST ビット→
でのリセット可否
bit
4
3
FRAME0
(○)
15
14
アドレス : 0000CDH
13
12
11
予約
(-)
(X)
(-)
リード / ライト→
初期値→
UDCC RST ビット→
でのリセット可否
10
9
FRAME1
8
HFRAME
(R/W)
(000B)
(○)
[bit15 ∼ bit11] 予約
予約ビットです。読出しは不定です。書込みは動作に影響しません。
[bit10 ∼ bit0] FRAME1, FRAME0
Frame Number を設定します。ホストトークンエンドポイントレジスタ (HTOKEN)
の TKNEN ビットに SOF を設定する前に Frame Number を設定してください。また ,
ホストステータスレジスタ (HSTATE) の SOFBUSY ビットが "1" および SOF トーク
ン実行中の書込みは禁止です。更新は UDC 制御レジスタ (UDCC) の RST ビットを
"0" に設定してから行ってください。
270
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 12 章 USB ホスト
12.4 USB ホストのレジスタ
MB90335 シリーズ
ホストトークンエンドポイントレジスタ (HTOKEN)
12.4.10
ホストトークンエンドポイントレジスタ (HTOKEN) は , トグル , エンドポイント ,
トークンを設定するレジスタです。
■ ホストトークンエンドポイントレジスタ (HTOKEN)
図 12.4-10 ホストトークンエンドポイントレジスタ (HTOKEN) のビット構成
ホストトークンエンドポイントレジスタ
bit
7
アドレス : 0000CEH TGGL
リード / ライト→ (R/W)
初期値→ (0)
UDCC RST ビット→ ( ○ )
でのリセット可否
6
5
TKNEN
4
3
2
1
ENDPT
(R/W)
(000B)
(R/W)
(0000B)
(○)
(○)
0
HTOKEN
[bit7] TGGL: トグル
データのトグルを設定します。送信時は TGGL ビットに従ってトグルデータを送出
し , 受信時は受信したトグルデータと TGGL ビットが示すトグルデータを比較し ,
エラー検出に使用します。更新は UDC 制御レジスタ (UDCC) の RST ビットを "0"
で , TKNEN ビットが 000B のときに設定してから行ってください。
TGGL
動作モード
0
データ 0
1
データ 1
[bit6 ∼ bit4] TKNEN ( トークン許可 )
設定に従ってトークンを送出します。動作終了後 TKNEN = 000B になり , ホスト割
込みレジスタ (HIRQ) の CMPIRQ ビットを "1" にします。そのとき , ホストコント
ロールレジスタ 0(HCNT0) の CMPIRE ビットが "1" であれば , 割込みが発生します。
SOF トークン時 , TGGL ビット , ENDPT ビットは無視します。TKNEN ビットは UDC
制御レジスタ (UDCC) の RST ビットを "0" にし , ホストモードにしてから書込みを
行ってください。また , トークンによる割込みが発生して再度トークンを発行する
場合には USB 転送クロック (Full Speed 時 : 12 MHz, Low Speed 時 : 1.5 MHz) で 3 サ
イクル以上待って TKNEN ビットに書き込んでください。切断状態 (HSTATE の
CSTAT=0) では , TKNEN ビットに書き込んでもトークンは実行されませんので注意
してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
271
第 12 章 USB ホスト
12.4 USB ホストのレジスタ
MB90335 シリーズ
表 12.4-2 トークン設定
TKNEN
動作モード
bit6
bit5
bit4
0
0
0
送出しない
0
0
1
SETUP を送出
0
1
0
IN を送出
0
1
1
OUT を送出
1
0
0
SOF を送出
1
0
1
予約 ( 設定禁止 )
1
1
0
予約 ( 設定禁止 )
1
1
1
予約 ( 設定禁止 )
<注意事項>
PRE パケットについてはサポートしていません。
ホスト状態ステータスレジスタ (HSTATE) の SOFBUSY ビットが "1" のときに TKNEN =
100B の設定は禁止です。
[bit3 ∼ bit0] ENDPT ( エンドポイント )
デバイスへの送受信するエンドポイントを設定します。更新は UDC 制御レジスタ
(UDCC) の RST ビットを "0" に設定してから行ってください。
272
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
12.5
第 12 章 USB ホスト
12.5 USB ホストの動作
USB ホストの動作
USB ホストの動作について説明します。
■ USB ホストの動作
● デバイスの接続
外部の USB 装置が接続されたことをソフトウェアで検出します。
● USB バスのリセット
USB バスをリセットします。
● トークンパケット
ホストモード時 , 3 種類のトークンを選択できます。
● データパケット
データパケットの送信 , 受信を行います。
● ハンドシェークパケット
ハンドシェークパケットにより , 送受信相手に状態を通知します。
● リトライ機能
パケット終了時 , エラー等が発生した場合 , リトライし続けます。
● SOF 割込み
割込みを発生します。
● エラーステータス
各種エラーを表示します。
● パケット終了
パケット終了すると割込みを発生します。
● サスペンド・レジューム
USB 回路をサスペンド・レジューム状態にします。
● デバイスの切断
ホスト用端子の状態検出により切断されたことの判断をします。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
273
第 12 章 USB ホスト
12.5 USB ホストの動作
12.5.1
MB90335 シリーズ
デバイスの接続
外部の USB 装置が接続されたことをソフトウェアで検出する方法を示します。
■ ホスト機能の設定
USB 装置のホストとして動作させるためには , ホストコントロールレジスタ 0(HCNT0)
の HOST ビットを "1" に設定します。
■ 外部 USB 装置が非接続の状態 , 接続の状態
外部 USB 装置が接続されていないときはプルダウン抵抗によりホスト用端子 D+, D- と
もに "L" になっています。このとき , ホスト状態ステータスレジスタ (HSTATE) の
CSTAT ビットは "0", TMODE ビットは不定となります。外部 USB 装置が接続されると ,
ホスト状態ステータスレジスタ (HSTATE) の CSTAT ビットは "1" になります。
■ 外部 USB 装置の接続検出
外部 USB 装置が接続されたことを検出するためには , ホストコントロールレジスタ 0
(HCNT0) の CNNIRE ビットを "1" に設定します。ホスト割込みレジスタ (HIRQ) の
CNNIRQ ビットが "1" となり , デバイス接続割込みが発生します。本割込みをクリアす
る場合には , ホスト割込みレジスタ (HIRQ) の CNNIRQ ビットに "0" を書き込んでくだ
さい。割込みではなくポーリングでデバイスの接続を検出する場合は , ホストコント
ロールレジスタ 0(HCNT0) の CNNIRE ビットを "0" にし , ホスト割込みレジスタ (HIRQ)
の CNNIRQ が "1" になることを確認するようにプログラムを作成してください。
■ 相手先 USB 装置の転送速度の取得とクロック選択
接続が検出された後 , 相手先 USB の転送可能速度を取得するためには , ホスト状態ス
テータスレジスタ (HSTATE) の TMODE の値を参照します。転送速度とホスト状態ス
テータスレジスタ (HSTATE) の TMODE ビットの関係は以下のようになります。
・接続先が Full Speed 対応装置 → TMODE=1
・接続先が Low Speed 対応装置 → TMODE=0
外部 USB 装置の転送速度を取得した後 , UDC 制御レジスタ (UDCC) の RST ビットが
"1" のとき , 取得した転送速度に従ってホスト状態ステータスレジスタ (HSTATE) の
CLKSEL ビットを更新してください。ホストステータスレジスタ (HSTATE) の TMODE
ビットと CLKSEL ビットの関係は以下のとおりです。
・TMODE=1 → CLKSEL ビットに "1" を設定
・TMODE=0 → CLKSEL ビットに "0" を設定
274
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 12 章 USB ホスト
12.5 USB ホストの動作
MB90335 シリーズ
図 12.5-1 Full Speed デバイスの接続検出タイミング例 (HCNT0 bit0=0)
デバイス接続
ホスト用端子D+
ホスト用端子D≧2.5 µ s
HSTATEのCSTATビット
HSTATEのTMODEビット
不定
HIRQのCNNIRQビット
"0"
HCNTのHOSTビット
<注意事項>
外部の USB 装置が接続されてから 2.5μs 後ホスト状態ステータスレジスタ (HSTATE) の
CSTAT ビットが "1" になります。
ホスト状態ステータスレジスタ (HSTATE) の TMODE ビット , CSTAT ビットはホストコ
ントロールレジスタ 0(HCNT0) の HOST ビットの設定にかかわらず更新されます。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
275
第 12 章 USB ホスト
12.5 USB ホストの動作
12.5.2
MB90335 シリーズ
USB バスのリセット
ホストモード時 , ホストコントロールレジスタ 0(HCNT0) の URST ビットに "1" を
設定すると , 10 ms 以上の SE0 を送出し , USB バスをリセットします。USB バス
のリセットが完了するとホストコントロールレジスタ 0(HCNT0) の URST ビットを
"0" にしてホストコントロールレジスタ 0(HCNT0) の URIRE ビットが "1" ならば割
込みを発生してホスト割込みレジスタ (HIRQ) の URIRQ ビットが "1" になります。
割込みをクリアする場合にはホスト割込みレジスタ (HIRQ) の URIRQ ビットに "0"
を書き込んでください。
■ USB バスのリセット前後の注意点
USB バスのリセットについて以下の点に注意してください。
1. USBバスへのリセット前にデバイスが接続されていることをホスト状態ステータス
レジスタ (HSTATE) の CSTAT ビットが "1" になっていることで確認。
2. USB バスのリセットを実行するとホスト状態ステータスレジスタ (HSTATE) の
CSTAT ビットは "0" になり , 切断状態になります。そのとき , ホスト割込みレジス
タ (HIRQ) の DIRQ ビットは "1" になりません。
3. USB バスへのリセットが終了後 ,
ホスト状態ステータスレジスタ (HSTATE) の
CLKSELビットとTMODEビットを比較し, 不一致であれば一致するようにCLKSEL
ビットを更新してください。更新するときには UDC 制御レジスタ (UDCC) の RST
ビットが "1" のときに実施してください。
図 12.5-2 デバイスへのリセットタイミング例
ホスト用端子D+
≧10ms
ホスト用端子DHCNTのURSTビット
HSTATEのCSTATビット
HIRQのURIRQビット
(HCNT URIRE=1)
HCNT URSTビット
への"1"ライト
276
≧2.5 µ s
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
12.5.3
第 12 章 USB ホスト
12.5 USB ホストの動作
トークンパケット
ホストモード時 , IN トークン , OUT トークン , SETUP トークンのいずれかを実行す
る場合 , ホストアドレスレジスタ (HADR), EP1 制御レジスタの DIR ビットに従って
EP1 制御レジスタ (EP1C) または EP2 制御レジスタ (EP2C) の PKS ビットを設定後 ,
ホストトークンレジスタ (HTOKEN) に必要データを設定するとトークンパケットか
ら開始します。SOF トークン時は , FRAME 設定レジスタ (HFRAME), EOF 設定レ
ジスタ (HEOF) 設定後 , ホストトークンレジスタ (HTOKEN) に必要データを設定し
てください。各種レジスタ (HADR, EP1C, EP2C, HFRAME, HEOF) に変更がない場
合には , 設定は不要です。
■ トークンパケットの設定
IN トークン , OUT トークン , SETUP トークンの場合 , 目的のアドレスをホストアドレ
スレジスタ (HADR) に , 1 パケットの最大バイト数を実行しようとするトークンおよび
EP1 制御レジスタの DIR ビットに従って EP1 制御レジスタ (EP1C) または EP2 制御レ
ジスタの PKS ビットにセットします。
EP1 制御レジスタ (EP1C) の DIR ビットが "1" であれば , エンドポイント 1 のバッファ
が OUT 方向のバッファとして使用され , エンドポイント 2 のバッファが IN 方向のバッ
ファとして使用されます。このとき , EP2 制御レジスタ (EP2C) の DIR ビットに "0" を
セットしてください。
EP1 制御レジスタ (EP1C) の DIR ビットが "0" であれば , エンドポイント 1 のバッファ
が IN 方向のバッファとして使用され , エンドポイント 2 のバッファが OUT 方向のバッ
ファとして使用されます。このとき , EP2 制御レジスタ (EP2C) の DIR ビットに "1" を
セットしてください。
エンドポイント 1 のバッファを使用する場合 , EP1 ステータスレジスタ (EP1S) の DRQ
ビットに "0", エンドポイント 2 のバッファを使用する場合 , EP2 ステータスレジスタ
(EP2S) の DRQ ビットに "0" がセットされていることを確認してからホストトークンエ
ンドポイントレジスタ (HTOKEN) に目的のエンドポイント , トークンおよびトグル
データを設定します。USB 回路はその設定されたトークンに従って Sync, トークン , ア
ドレス , エンドポイント , CRC5, EOP の順でトークンパケットを送出します (Sync,
CRC5, EOP は自動 )。1 パケット終了後 , ホスト割込みレジスタ (HIRQ) の CMPIRQ ビッ
トが "1" となり , ホストトークンエンドポイントレジスタ (HTOKEN) の TKNEN を 000B
にします (「12.5.7 SOF 割込み」参照 )。そのとき , ホストコントロールレジスタ 0
(HCNT0) の CMPIRE ビットが "1" であれば , 割込みを発生します。割込みをクリアす
るにはホスト割込みレジスタ (HIRQ) の CMPIRQ ビットに "0" を書き込んでください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
277
第 12 章 USB ホスト
12.5 USB ホストの動作
MB90335 シリーズ
図 12.5-3 IN/OUT/SETUP トークン実行までのレジスタ設定例
HADRにライト
(変更が必要な場合)
EP1CまたはEP2Cにライト
(変更が必要な場合)
HTOKENにライト
レジスタライト信号
エンドポイント1 /エンドポイント2のバッファ状態を確認
SOFトークンの場合, EOF設定レジスタ(HEOF)およびFRAME設定レジスタ(HFRAME)
に EOF 時間および FRAME 番号をセットし , ホストトークンエンドポイントレジスタ
(HTOKEN) の TKNEN ビットに SOF トークンのコードを書き込むと Sync, SOF トーク
ン , FRAME 番号 , CRC5, EOP を送出し , ホスト状態ステータスレジスタ (HSTATE) の
SOFBUSY ビットを "1" にし , FRAME 設定レジスタ (HFRAME) を +1 します。このと
き , ホスト割込みレジスタ (HIRQ) の CMPIRQ も "1" にセットされ , ホストトークンエ
ンドポイントレジスタ (HTOKEN) の TKNEN ビットが 000B にクリアされます。ホスト
コントロールレジスタ 0 (HCNT0) の CMPIRQ による割込みは発生しません。その後 ,
自動的に発生する SOF の場合には , CMPIRQ による割込みは発生しません。トークン
完了の割込みをクリアするにはホスト割込みレジスタ (HIRQ) の CMPIRQ に "0" を書き
込んでください。
ホスト状態ステータスレジスタ (HSTATE) の SOFBUSY ビットが "1" の間 , SOF は 1 ms
ごとに自動的に送出されます。ホスト状態ステータスレジスタ (HSTATE) の SOFBUSY
ビットが "0" となる条件 (SOF の停止条件 ) は , 以下のとおりです。
・ホスト状態レジスタ (HSTATE) の SOFBUSY ビットへの "0" 書込み
・USB バスへのリセット (HCNT の URST ビットへの "1" 書込み )
・ホスト状態ステータスレジスタ (HSTATE) の SUSP ビットへの "1" 書込み
・デバイスの切断 (HSTATE の CSTAT ビットが "0" の場合 )
ホストモードからファンクションモードへ切り換える場合には , ホスト状態レジスタ
(HSTATE) の SOFBUSY ビットへ "0" を書き込み , ホスト状態レジスタ (HSTATE) の
SOFBUSY ビットが "0" になったことを確認してから切り換えてください。
ホスト状態ステータスレジスタ (HSTATE) の SOFBUSY ビットを再び "1" にするには
SOF トークンをもう 1 度実行する必要があります。
EOF 設定レジスタは , SOF と他のトークンの同時実行を防止します。EOF 設定時間か
ら SOF 開始時間までの間にホストトークンエンドポイントレジスタ (HTOKEN) の
TKNEN ビットに書き込んだ場合 , 設定したトークンをウェイトされ , SOF 実行後にウェイ
トしているトークンを実行します。EOF 設定レジスタの時間単位は 1 ビット時間で , 例え
ばEOF設定レジスタに10H と設定した場合,Full Speedモードでは16×1/12 MHz =1333.3 ns,
Low Speed モードでは 16 × 1/1.5 MHz = 10666.6 ns という時間になります。EOF 設定時
間の設定が 1 パケット時間より短く設定すると , 他のトークン実行中に SOF 実行が重
なる場合があります。この場合 , ホストエラーステータスレジスタ (HERR) の LSTSOF
ビットが "1" にセットされ SOF は実行されません。ホストエラーステータスレジスタ
(HERR) の LSTSOF に "1" が設定された場合には , EOF 設定レジスタのデータを大きく
する必要があります (「12.4.8 EOF 設定レジスタ (HEOF)」参照 )。
278
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 12 章 USB ホスト
12.5 USB ホストの動作
MB90335 シリーズ
図 12.5-4 SOF タイミング
SOF開始
SOF開始
EOF設定時間
EOF設定時間
1ms
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
EOF>1パケット時間
279
第 12 章 USB ホスト
12.5 USB ホストの動作
12.5.4
MB90335 シリーズ
データパケット
トークンパケット送出後 , データパケットの送信の場合 , ホストトークンエンドポイ
ントレジスタ (HTOKEN) の TGGL ビットに従ってトグルデータを送出し , EP1 制御
レジスタ (EP1C) の DIR ビットによってエンドポイント 1 またはエンドポイント 2
のバッファデータ , CRC16 データ , EOP を送出します。データパケットの受信の場
合 , ホストトークンエンドポイントレジスタ (HTOKEN) の TGGL ビットと受信した
トグルデータを比較し , 一致した場合には受信データを EP1 制御レジスタ (EP1C)
の DIR ビットによってエンドポイント 1 またはエンドポイント 2 のバッファに書き
込み , CRC16 のエラーを検査します。
■ データパケット
トークンパケット送出後 , データパケットを以下の手順で実行します。
● 送信の場合
(1) Sync の自動送出
(2) ホストトークンエンドポイントレジスタ (HTOKEN) の TGGL ビットが "0" であれば
DATA0, TGGL ビットが "1" であれば DATA1 を送出
(3) EP1 制御レジスタ (EP1C) の DIR ビットが "1" であればエンドポイント 1 のバッファ,
EP1 制御レジスタ (EP1C) の DIR ビットが "0" であればエンドポイント 2 のバッファ
を選択し , 送信データをすべて送出
(4) CRC 16 ビットを送出
(5) EOP 2 ビットを送出
(6) J State 1 ビットを送出
●受信の場合
(1) Sync の受信
(2)トグルデータを受信し, ホストトークンエンドポイントレジスタ(HTOKEN)のTGGL
ビットと比較します。
(3)トグルデータを比較した結果 , 一致すれば EP1 制御レジスタ (EP1C) の DIR ビット
が "1" であればエンドポイント 2 のバッファ, EP1 制御レジスタ (EP1C) の DIR ビッ
トが "0" であればエンドポイント 1 のバッファを選択し , 受信データをライトして
いきます。
(4) EOF を受信したとき , CRC 16 ビットを検査します。
ホストコントロールレジスタ 0(HCNT0) の HOST ビットが "1" のときには , EP1 制御レ
ジスタ (EP1C) の DIR ビットと EP2 制御レジスタ (EP2C) の DIR ビットは反転させた
データをセットしてください。例えば , EP1 制御レジスタ (EP1C) の DIR ビットが "0"
であれば , EP2 制御レジスタ (EP2C) の DIR ビットには "1" をセットします。
280
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
12.5.5
第 12 章 USB ホスト
12.5 USB ホストの動作
ハンドシェークパケット
ハンドシェークパケットにより , 送受信相手に自分の状態を通知します。
■ ハンドシェークパケット
ハンドシェークパケットは , データ受信に対し正常に受信できる状態にあるか , またエ
ンドポイントがサポートしているか等を判断して受信側が ACK, NAK, STALL のいず
れかを送出します。そのとき , USB 回路はハンドシェークパケットを受信した場合は ,
受信したハンドシェークパケットをホストエラーステータスレジスタ (HERR) の HS
ビットにセットします。ハンドシェークパケットを送信した場合は送信したハンド
シェークパケットをホストエラーステータスレジスタ (HERR) の HS ビットにセットし
ます。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
281
第 12 章 USB ホスト
12.5 USB ホストの動作
12.5.6
MB90335 シリーズ
リトライ機能
パケット終了時 , NAK および CRC エラー等のエラーが発生し , ホストコントロール
レジスタ 1(HCNT1) の RETRY ビットが "1" のとき , リトライタイマレジスタ
(HRTIMER) で設定された時間 , リトライし続けます。
■ リトライ機能
STALL およびデバイスの切断以外のエラーが発生した場合 , ホストコントロールレジ
スタ 1(HCNT1) の RETRY ビットが "1" であれば , そのトークンをリトライします。リ
トライの終了条件は , 以下のとおりです。
・ ホストコントロールレジスタ 1(HCNT1) の RETRY ビットの "0" 設定
・ リトライタイマの 0 検出
・ SOF による割込みの発生 (HCNT0 の SOFIRE=1, HIRQ の SOFIRQ=1)
・ ACK の検出
・ デバイスが切断されたことの検出
リトライタイマはトークン開始時に起動され , 1 ビットの転送クロックにてカウントダ
ウンされますが , EOF 領域内でリトライが発生した場合にはカウントは停止します。
HIRQ の SOFIRQ ビットが "0" で SOF トークンが終了した場合には , 停止したタイマ値
からリスタートし , リトライタイマが 0 となり , パケットが終了した時点でリトライ要
求がきてもリトライ要求はキャンセルし , パケットを終了します。
図 12.5-5 リトライタイマ動作 (HIRQ の SOFIRQ=0)
トークン開始
EOF
SOF
リトライ
トークン実行
タイマカウントダウン
タイマストップ
タイマリスタート
リトライ発生
リトライが終了したとき , その終了パケットの終了情報が各レジスタにセットされま
す。
282
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 12 章 USB ホスト
12.5 USB ホストの動作
MB90335 シリーズ
SOF 割込み
12.5.7
ホストコントロールレジスタ 0(HCNT0) の SOFIRE ビットに "1" を設定するとホス
トコントロールレジスタ 1(HCNT1) の SOFSTEP ビットおよび SOF 割込み FRAME
比較レジスタ (HFCOMP) によって SOF 開始時 , ホスト割込みレジスタ (HIRQ) の
SOFIRQ ビットを "1" にし , 割込みを発生します。ホストトークンエンドポイント
レジスタ (HTOKEN) による SOF 実行ではホスト割込みレジスタ (HIRQ) の SOFIRQ
ビットは "1" になりません。
■ SOF 割込み
ホストコントロールレジスタ 0(HCNT0) の SOFIRE ビットに "1" を設定すると SOF を
送出する時に割込みを発生し , ホスト割込みレジスタ (HIRQ) の SOFIRQ ビットに "1"
をセットします。SOF による割込み条件には , ホストコントロールレジスタ 1(HCNT1)
の SOFSTEP ビットの設定によって SOF が送出されるごとか , SOF 割込み FRAME 比
較レジスタ (HFCOMP) の示す下位 8 ビットの Frame 番号かを選択できます。
図 12.5-6 SOF 割込み
ホストコントロールレジスタ1(HCNT1)のSOFSTEPビットが"1"の場合
次SOF送信
SOF送信
HIRQのSOFIRQビット
ソフトクリア
ソフトクリア
ホストコントロールレジスタ1(HCNT1)のSOFSTEPビットが"0"の場合
次SOF送信
SOF送信
011H
010H
HFRAME
011H
HFCOMP
HIRQのSOFIRQビット
HFRAME下位8ビットと
HFCOMPが一致
ホストコントロールレジスタ 1(HCNT1) の CANCEL ビットを "1" に設定すると , EOF
領域内でホストトークンエンドポイントレジスタ (HTOKEN) に SOF トークン以外の
トークンを設定し , 次の SOF でホスト割込みレジスタ (HIRQ) の SOFIRQ ビットが "1"
になる場合 , そのトークンは実行せずにホストトークンエンドポイントレジスタ
(HTOKEN) の TKNEN ビットは 000B にクリアされません。そのとき , ホスト割込みレ
ジスタ (HIRQ) の CMPIRQ ビットは "1" になりません。トークンがキャンセルされたこ
とは , SOFIRQ ビットが "1" になったときにホスト割込みレジスタ (HIRQ) の TCAN ビッ
トによって知ることができます。再度 , トークンを実行したい場合には , ホスト割込み
レジスタ (HIRQ) の TCAN ビットに "0" を書き込み , ホストトークンエンドポイントレ
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
283
第 12 章 USB ホスト
12.5 USB ホストの動作
MB90335 シリーズ
ジスタ (HTOKEN) の TKNEN ビットに実行させたいトークンを書き込んでください。
ホストコントロールレジスタ 1(HCNT1) の CANCEL ビットを "0" にした場合には SOF
送信後 , ホストトークンエンドポイントレジスタ (HTOKEN) に設定されたトークンを
実行します。
図 12.5-7 HCNT1 の CANCEL ビット =1 のトークンキャンセル動作例
INトークンライト
SOF 実行
EOF領域
HIRQのSOFIRQ ビット
HTOKENのTKNENビット
000B
010B
000B
HIRQのCMPIRQビット
"0"
図 12.5-8 HCNT1 の CANCEL ビット =0 のトークン動作例
INトークンライト
EOF領域
SOF 実行
INトークン実行
HIRQのSOFIRQ ビット
HTOKENのTKNENビット
000B
010B
000B
HIRQのCMPIRQ ビット
284
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
12.5.8
第 12 章 USB ホスト
12.5 USB ホストの動作
エラーステータス
USB ホストは各種エラー情報をサポートしています。
■ エラーステータス
● スタッフィングエラー
6 ビット連続 "1" が発生した場合 , "0" を 1 ビット挿入することになっていますが , 7 ビッ
ト連続 "1" を検出するとスタッフィングエラーとしてホストエラーステータスレジス
タ (HERR) の STUFF ビットを "1" にセットします。これをクリアするには STUFF ビッ
トに "0" を書き込んでください。STUFF ビットをクリアせずに次のトークンを実行し
た場合には次のトークンの終了時に更新されます。
● トグルエラー
IN トークン時 , データパケットのトグルデータとホストトークンエンドポイントレジ
スタ (HTOKEN) の TGGL ビットを比較し , 一致しなかった場合ホストエラーレジスタ
(HERR) の TGERR ビットに "1" をセットします。TGERR ビットをクリアするには , ホ
ストエラーレジスタ (HERR) の TGERR ビットに "0" を書き込んでください。TGERR
ビットをクリアせずに次のトークンを実行した場合には次のトークンの終了時に更新
されます。
● CRC エラー
IN トークン時 , 受信したデータパケットのデータおよび CRC を CRC の多項式
G(X)=X 16+X 15+X2+1 で計算し , 剰余が 800DH でなければ CRC エラーが発生したこと
になり , ホストエラーレジスタ (HERR) の CRC ビットに "1" をセットします。CRC ビッ
トをクリアするには , ホストエラーレジスタ (HERR) の CRC ビットに "0" を書き込ん
でください。CRC ビットをクリアせずに次のトークンを実行した場合には次のトーク
ンの終了時に更新されます。
● タイムアウトエラー
所定時間内にデータパケットやハンドシェークが入力されなかった , 受信データ中に
SE0 が検出された , スタッフィングエラーが検出された場合等 , ホストエラーステータ
スレジスタ (HERR) の TOUT ビットに "1" がセットされます。TOUT ビットをクリアす
るには , ホストエラーレジスタ (HERR) の TOUT ビットに "0" を書き込んでください。
TOUT ビットをクリアせずに次のトークンを実行した場合には次のトークンの終了時
に更新されます。
● 受信エラー
受信バッファとして EP1 が使用されている場合 , EP1 制御レジスタ (EP1C) の PKS ビッ
ト , EP2 が使用されている場合 , EP2 制御レジスタ (EP2C) の PKS ビットが受信パケッ
トサイズとなります。その受信パケットサイズより多く受信データを受信した場合 , ホ
ストエラーステータスレジスタ (HERR) の RERR ビットに "1" がセットされます。
RERR
ビットをクリアするには , ホストエラーレジスタ (HERR) の RERR ビットに "0" を書き
込んでください。RERR ビットをクリアせずに次のトークンを実行した場合には次の
トークンの終了時に更新されます。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
285
第 12 章 USB ホスト
12.5 USB ホストの動作
MB90335 シリーズ
パケット終了
12.5.9
USB ホストにおいて 1 パケット終了するとホストコントロールレジスタ 0 (HCNT0)
の CMPIRE ビットが "1" のとき , 割込みが発生しホスト割込みレジスタ (HIRQ) の
CMPIRQ ビットを "1" にします。
■ パケット終了タイミング
1 パケット終了すると以下のタイミングで割込みが発生します。
•
ホストトークンエンドポイントレジスタ (HTOKEN) の TKNEN ビットが 001B, 010B,
011B のとき (SETUP トークン , IN トークン , OUT トークン )
図 12.5-9 ホスト割込みレジスタ (HIRQ) の CMPIRQ ビットセットタイミング例 1
HTOKENのTKNENビットに
ライト
トークンパケット
J-ST
データパケット
ハンドシェ-クパケット
Sync TKN ADR ENDPT CRC5 EOP J-ST Sync TGGL DATA CRC16 EOP J-ST Sync ACK EOP J-ST
CMPIRQビット
(HIRQ)
J-ST :J State
TKN :Token
ADR :Address
ENDPT:Endpoint
TGGL :Toggle
•
ホストトークンエンドポイントレジスタ (HTOKEN) の TKNEN ビットが 100B のとき
(SOF トークン )
図 12.5-10 ホスト割込みレジスタ (HIRQ) の CMPIRQ ビットセットタイミング例 2 (SOF トークン )
HTOKENのTKNENビットに
ライト
J-ST
Sync TKN
FRAME CRC5
EOP
J-ST
CMPIRQビット
(HIRQ)
J-ST :J State
TKN :Token
FRAME:Frame Number
286
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 12 章 USB ホスト
12.5 USB ホストの動作
MB90335 シリーズ
サスペンド・レジューム
12.5.10
USB ホストにおいてサスペンドおよびレジュームをサポートしています。
■ サスペンド動作
ホスト状態ステータスレジスタ (HSTATE) の SUSP ビットに "1" を書き込むと ,
・USB バスのハイインピーダンス状態
・クロックが必要ない回路ブロックの停止
の順に実行し, USB回路をサスペンド状態にします。サスペンド状態になった場合には,
ホスト状態ステータスレジスタ (HSTATE) の SUSP ビットを "1" にします。
USB バスへのリセット中 , HSTATE の SOFBUSY が "1" のとき , およびデータの送受信
中にサスペンドに設定したり , サスペンド中 USB へ供給しているクロックを停止した
りすることは禁止です。
■ レジューム動作
サスペンド状態からレジュームの動作を開始するには , 以下のいずれかの条件が成立
したときです。
(1)ホスト状態ステータスレジスタ (HSTATE) の SUSP ビットに "0" を書き込む
(2) 簡易ホスト用端子 D+, 簡易ホスト用端子 D- が k-state になったことを検出
(3) デバイスが切断されたことを検出
(4) デバイスが接続されたことを検出
ホスト割込みレジスタ (HIRQ) の RWKIRQ ビットが "1" にセットされた後トークンの
発行が可能となります。各条件による動作タイミングは以下のとおりです。
図 12.5-11 レジスタによるレジューム動作 (Full Speed モード時 )
(1) ホスト状態ステータスレジスタ(HSTATE)のSUSPビットに"0"をライト
HCNTのビット2に
"0"ライト
ホスト用端子D+
ホスト用端子D20µs*
1.33µs*
1ビット時間
HIRQのRWKIRQビット
(RWKIRE=1)
:USBホストからの出力
:プルアップ,プルダウン抵抗によるドライブ
*:数値は保証するものではありません。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
287
第 12 章 USB ホスト
12.5 USB ホストの動作
MB90335 シリーズ
図 12.5-12 デバイスからのレジューム動作 (Full Speed モード )
(2)ホスト用端子D+,ホスト用端子D-がK Stateになったことを検出
ホスト用端子D+,ホスト用端子D-がK Stateになったことを検出
ホスト用端子D+
ホスト用端子D20µs *
1.33µs
1ビット時間
HIRQのRWIRQビット
(RWKIRE=1)
:USBホストからの出力
:デバイスからの出力
:プルアップ,プルダウン抵抗によるドライブ
*:数値は保証するものではありません
図 12.5-13 デバイス切断によるレジューム動作
(3) デバイスが切断されたことを検出
デバイスが切断されたことを検出
切断
ホスト用端子D+
ホスト用端子D-
HIRQのRWKIRQビット
(RWKIRE=1)
HIRQ ビット1
(DIRE=1)
割込み発生
HSTATEのCSTATビット
2.5 µ s 以上
:プルアップ,プルダウン抵抗によるドライブ
288
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 12 章 USB ホスト
12.5 USB ホストの動作
MB90335 シリーズ
図 12.5-14 デバイス接続によるレジューム動作
(4) デバイスが接続されたことを検出
接続
ホスト用端子D+
ホスト用端子D-
HIRQのRWKIRQビット
(RWKIRE=1)
HIRQ ビット2
(DIRE=1)
割込み発生
HSTATEのCSTATビット
2.5 µ s 以上
:プルアップ,プルダウン抵抗によるドライブ
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
289
第 12 章 USB ホスト
12.5 USB ホストの動作
12.5.11
MB90335 シリーズ
デバイスの切断
ホスト用端子 D+, D- ともに "L" になると切断タイマが起動され , 2.5 μs 以上 "L" を
検出した場合 , ホスト状態ステータスレジスタ (HSTATE) の CSTAT ビットを "0" に
します。
■ デバイスの切断
ホストモード , ファンクションモードに関係なくホスト用端子 D+, ホスト用端子 D- が
両方とも 2.5μs 以上 "L" を検出するとデバイスが切断されたと判断し , ホスト状態ス
テータスレジスタ (HSTATE) の CSTAT ビットが "0" となり , ホスト割込みレジスタ
(HIRQ)のDIRQビットは"1"にセットされます。ホストコントロールレジスタ0(HCNT0)
の DIRE ビットが "1" であれば割込みが発生します。その割込みをクリアしたい場合に
は , ホスト割込みレジスタ (HIRQ) の DIRQ ビットに "0" をライトしてください。
USB バスへのリセットを実行すると切断されたと判断し , ホスト状態レジスタ
(HSTATE) の CSTAT ビットを "0" にしますが , ホスト割込みレジスタ (HIRQ) の DIRQ
ビットは "1" になりません。
290
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 12 章 USB ホスト
12.6 USB ホストの各トークンフローチャート
MB90335 シリーズ
12.6
USB ホストの各トークンフローチャート
USB ホストの各トークンのフローチャートは以下のとおりです。
■ IN, OUT, SETUP トークン
図 12.6-1 IN, OUT, SETUP トークン時のフローチャート
IN,OUT,SETUP
トークン
HADR変更?
YES
NO
INトークン
HADR変更
YES
NO
EP1 DIR=1?
YES
YES
EP1 DIR=1?
NO
EP2C PKS変更?
YES
NO
NO
NO
EP1PKS変更?
YES
PKS変更
バッファ方向OK?
NO
バッファ方向変更
YES
バッファ使用可?
NO
YES
バッファ使用可にする
トグル,Endpointを設定し,
トークン実行
HIRQのCMPIRQ=1?
NO
YES
終了
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
291
第 12 章 USB ホスト
12.6 USB ホストの各トークンフローチャート
MB90335 シリーズ
■ SOF トークン
図 12.6-2 SOF トークン時のフローチャート
SOFトークン
HFRAME変更?
YES
NO
HEOF変更?
HFRAME変更
YES
NO
HEOF変更
トークン実行
(TGGL,ENDPTの設定は無視)
HIRQのCMPIRQ=1?
NO
YES
終了
292
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 13 章
PWC タイマ
PWC タイマの概要 , レジスタの構成 / 機能 , PWC
タイマの動作および PWC タイマの使用上の注意に
ついて説明します。
13.1 PWC タイマの概要
13.2 PWC タイマのレジスタ
13.3 PWC タイマの動作
13.4 PWC タイマの使用上の注意
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
293
第 13 章 PWC タイマ
13.1 PWC タイマの概要
13.1
MB90335 シリーズ
PWC タイマの概要
PWC タイマは , 入力信号のパルス幅測定機能を持つ , 16 ビットの多機能アップカウ
ントタイマです。
PWC: Pulse Width Count( パルス幅測定 )
■ PWC タイマの機能
ハードウェアとして , 16 ビットアップカウントタイマ 1 個 , 入力パルス分周器 & 分周
比制御レジスタ 1 個 , 測定入力端子 1 本 , 16 ビット制御レジスタ 1 個を 1 チャネルとし
て , 合計 1 チャネルを有し , これらによって以下の機能を実現します。
● タイマ機能
• 設定された時間ごとに割込み要求を発生できます。
• 基準となる内部クロックは , 3 種類より選択できます。
● パルス幅測定機能
• 外部からのパルス入力の任意イベント間の時間を測定します。
• 基準となる内部クロックは , 3 種類より選択できます。
• 各種測定モード
- "H" パルス幅 ( ↑∼↓ )/"L" パルス幅 ( ↓∼↑ )
- 立上り周期 ( ↑∼↑ )/ 立下り周期 ( ↓∼↓ )
- エッジ間測定 ( ↑ or ↓∼↓ or ↑ )
• 8 ビット入力分周器で , 入力パルスを 2 × 2n 分周 (n=1, 2, 3, 4) して分周測定を行う
ことができます。
• 測定終了時に割込みを発生させることができます。
• 1 回のみの測定か , 連続測定かを選択できます。
294
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 13 章 PWC タイマ
13.1 PWC タイマの概要
MB90335 シリーズ
■ PWC タイマのブロックダイヤグラム
図 13.1-1 に , PWC タイマのブロックダイヤグラムを示します。
図 13.1-1 PWC タイマのブロックダイヤグラム
PWCRリード
エラー検出
ERR
内部クロック(マシンクロック/4)
PWCR
/16
リロード
データ転送
/16
クロック
オーバフロー
22
16ビットアップカウントタイマ
クロック分周器
23
タイマクリア
カウント許可
制御ビット出力
フラグセットなど
F2MC-16LXバス
制 御 回 路
測定開始
エッジ
開始エッジ
選択
分周ON/OFF
分周器クリア
入力波形
比較器
PWC
測定終了
エッジ
PIS0/PIS1
8ビット
分周器
測定終了割込み要求
ERR
PWCSR
2
CM44-10137-6
終了エッジ
選択
エッジ検出
オーバフロー
割込み要求
/
15
CKS1/CKS0
/
CKS0/CKS1
分周比選択
DIVR
FUJITSU MICROELECTRONICS LIMITED
295
第 13 章 PWC タイマ
13.2 PWC タイマのレジスタ
MB90335 シリーズ
PWC タイマのレジスタ
13.2
PWC タイマで使用するレジスタの構成および機能について説明します。
■ PWC タイマのレジスタ一覧
図 13.2-1 に , PWC タイマのレジスタ一覧を示します。
図 13.2-1 PWC タイマのレジスタ一覧
bit 15
8 7
PWCSR
0
(R/W)
PWCR
(R/W)
DIVR
bit
15
(R/W)
14
13
12
11
10
9
8
00005DH STRT
STOP
EDIR
EDIE
OVIR
OVIE
ERR
予約
(R/W)
(R/W)
(R)
(R/W)
(R/W)
(R/W)
(R)
7
6
5
4
3
2
1
00005CH CKS1
CKS0
PIS1
PIS0
S/C
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
15
14
13
12
11
10
9
8
D15
D14
D13
D12
D11
D10
D9
D8
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
7
6
5
4
3
2
1
bit
bit
00005FH
bit
00005EH
PWCSR
PWC コントロール
ステータスレジスタ
(R/W) 初期値 0000000X
B
0
MOD2 MOD1 MOD0
PWCSR
PWC コントロール
ステータスレジスタ
(R/W) 初期値 00000000
B
PWCR
PWC データバッファレジスタ
(R/W) 初期値 00000000
B
0
PWCR
D7
D6
D5
D4
D3
D2
D1
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
D0
PWC データバッファレジスタ
(R/W) 初期値 00000000
B
bit
7
6
5
4
3
2
1
0
000060H
-
-
-
-
-
-
DIV1
DIV0
(-)
(-)
(-)
(-)
(-)
(-)
(R/W)
(R/W) 初期値 ------00
B
DIVR
PWC 分周比制御レジスタ
R/W : リード・ライト可能
R : リードオンリ
-
296
: 未定義
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 13 章 PWC タイマ
13.2 PWC タイマのレジスタ
MB90335 シリーズ
PWC コントロールステータスレジスタ (PWCSR)
13.2.1
PWC コントロールステータスレジスタ (PWCSR) の構成および機能について説明し
ます。
■ PWC コントロールステータスレジスタ (PWCSR)
図 13.2-2に, PWCコントロールステータスレジスタ(PWCSR)のビット構成を示します。
図 13.2-2 PWC コントロールステータスレジスタ (PWCSR) のビット構成
bit
14
13
12
11
10
9
8
00005DH STRT
STOP
EDIR
EDIE
OVIR
OVIE
ERR
予約
(R/W)
(R/W)
(R)
(R/W)
(R/W)
(R/W)
(R)
7
6
5
4
3
2
1
00005CH CKS1
CKS0
PIS1
PIS0
S/C
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
bit
15
(R/W)
PWC コントロール
ステータスレジスタ
(R/W) 初期値 0000000X
B
0
MOD2 MOD1 MOD0
(R/W)
PWCSR
PWCSR
PWC コントロール
ステータスレジスタ
(R/W) 初期値 00000000
B
R/W : リード・ライト可能
R : リードオンリ
以下に , PWC コントロールステータスレジスタ (PWCSR) の各ビットの機能を説明しま
す。
[bit15, bit14] STRT, STOP( タイマスタートビット , タイマストップビット )
16 ビットアップカウントタイマの起動 / 再起動 / 停止を制御するビットです。読出
し時には , タイマの動作状態を表示します。
STRT および STOP ビットの機能を示します。
表 13.2-1 書込み時機能 (16 ビットアップカウントタイマの動作制御 )
STRT
STOP
0
0
機能なし / 動作に影響なし
0
1
タイマ起動 / 再起動 ( カウント許可 ) *
1
0
タイマ動作強制停止 ( カウント禁止 ) *
1
1
機能なし / 動作に影響なし
動作制御機能
*: クリアビット命令使用可能
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
297
第 13 章 PWC タイマ
13.2 PWC タイマのレジスタ
MB90335 シリーズ
表 13.2-2 読出し時機能 (16 ビットアップカウントタイマの動作状態表示 )
STRT
STOP
0
0
タイマ停止中
( 起動されていないかまたは測定終了 ) [ 初期値 ]
1
1
タイマカウント動作中 ( 測定中 )
状態表示機能
• リセット時 "00B" に初期化されます。
• 読出し / 書込みが可能です。ただし , 書込み時と読出し時では , 表 13.2-1, 表 13.2-2
に示すように意味が異なります。
• リードモディファイライト系命令における読出し値は, ビット値にかかわらず"11B"
です。
• タイマの起動 / 停止のための STRT/STOP ビットへの書込みは , それぞれのビットに
対するビット命令 ( ビットクリア ) を用いることが可能ですが , 動作状態の読出しに
は , ビット命令は使用できませんので注意してください ( 読み出すと必ず動作中と
なります )。
[bit13] EDIR( 測定終了割込み要求フラグ )
パルス幅測定時 , 測定が終了したことを示すフラグです。測定終了割込み要因が許
可されているとき (bit12:EDIE=1) に , このビットがセットされると , 測定終了割込み
要求が発生します。
EDIR
動作モード
セット要因
パルス幅測定が終了するとセット (PWCR に測定結果が収納されて
いる )
クリア要因
PWCR( 測定結果 ) を読み出すことによってクリア
• リセット時 "0" に初期化されます。
• 読出しのみ可能です。
• 書き込んでもビット値は変化しません。
[bit12] EDIE( 測定終了割込み許可 )
パルス幅測定時の , 測定終了割込み要求を下表のように制御します。
EDIE
動作モード
0
測定終了割込み要求出力禁止
(EDIR がセットされていても割込み発生せず ) [ 初期値 ]
1
測定終了割込み要求出力許可
(EDIR がセットされると割込みが発生する )
• リセット時 "0" に初期化されます。
• 読出し / 書込みが可能です。
298
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 13 章 PWC タイマ
13.2 PWC タイマのレジスタ
MB90335 シリーズ
[bit11] OVIR( タイマオーバフロー割込み要求フラグ )
16 ビットアップカウントタイマが FFFFH から 0000H へオーバフローしたことを示
す フ ラグ で す。タ イマ オー バ フロ ー 割込 み 要求 が 許可 さ れて い ると き (bit10:
OVIE=1 のとき ) にこのビットがセットされると , タイマオーバフロー割込み要求が
発生します。
OVIR
動作モード
セット要因
タイムオーバフローが発生するとセット (FFFFH から 0000H)
クリア要因
"0" 書込み , または μDMAC によりクリア
• リセット時 "0" に初期化されます。
• 読出し / 書込みが可能です。ただし , 書込みは "0" のみ可能で , "1" を書き込んでも
ビット値は変化しません。
• リードモディファイライト系命令における読出しは , ビット値にかかわらず "1" で
す。
[bit10] OVIE( タイマオーバフロー割込み要求許可 )
パルス幅測定時の測定終了割込み要求を制御します。
OVIE
動作モード
0
オーバフロー割込み要求出力禁止
(OVIR がセットされていても割込み発生せず ) [ 初期値 ]
1
オーバフロー割込み要求出力許可
(OVIR がセットされると割込みが発生する )
• リセット時 "0" に初期化されます。
• 読出し / 書込みが可能です。
[bit9] ERR( エラーフラグ )
パルス幅測定時の連続測定モード時において , PWCR 内の測定結果を読み出さない
うちに , 次の測定が終了されてしまったことを示すフラグです。この際 , PWCR の
値は新しい測定結果に更新され , 1 つ前の測定結果は消失します。測定は , ビット値
に関係なく続行されます。
ERR
動作モード
セット要因
読み出していない測定結果が次の結果により消失するとセット
クリア要因
PWCR( 測定結果 ) を読み出すことによりクリア
• リセット時 "0" に初期化されます。
• 読出しのみ可能です。ただし , 書き込んでもビット値は変化しません。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
299
第 13 章 PWC タイマ
13.2 PWC タイマのレジスタ
MB90335 シリーズ
[bit8] 予約ビット
予約ビットです。必ず "0" を書込んでください。
[bit7, bit6] CKS1, CKS0 ( カウントクロック選択 )
内部カウントクロックは , 3 種類の中からいずれかを選択できます。
表 13.2-3 16 ビットアップカウントタイマのカウントクロック
CKS1
CKS0
0
0
マシンクロックの 4 分周クロック
( マシンクロック =24 MHz 時 0.17 μs) [ 初期値 ]
0
1
マシンクロックの 16 分周クロック
( マシンクロック =24 MHz 時 0.67 μs)
1
0
マシンクロックの 32 分周クロック
( マシンクロック =24 MHz 時 1.33 μs)
1
1
設定禁止 ( 未定義 )
動作モード
• リセット時 , "00B" に初期化されます。
• 読出し / 書込みが可能です。ただし , "11B" の設定は禁止です。
<注意事項>
起動後の書換えは , 禁止です。必ず起動前か停止後に書き込んでください。
[bit5, bit4] PIS1, PIS0( パルス幅測定入力端子選択 )
パルス幅測定入力端子を選択します。
表 13.2-4 パルス幅測定入力端子の選択
PIS1
PIS0
0
0
(PWC 端子を選択 ) [ 初期値 ]
0
1
設定禁止
1
0
設定禁止
1
1
設定禁止 ( 未定義 )
動作モード
• リセット時 , "00B" に初期化されます。
• 読出し / 書込みが可能です。ただし "01B", "10B", "11B" は設定してはいけません。
<注意事項>
起動後の書換えは , 禁止です。必ず起動前か停止後に書き込んでください。
300
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 13 章 PWC タイマ
13.2 PWC タイマのレジスタ
MB90335 シリーズ
[bit3] S/C( 測定モード ( 単発 / 連続 ) の選択 )
測定モードを選択します。
表 13.2-5 16 ビットアップカウントタイマの測定モードの選択
S/C
測定モード選択
0
1
タイマモード時
パルス幅
単発測定モード
[ 初期値 ]
リロードなし
( ワンショット )
1 回測定後停止
連続測定モード
リロードあり
( リロードタイマ )
連続測定 :
バッファレジスタ有効
• リセット時 , "0" に初期化されます。
• 読出し / 書込みが可能です。
<注意事項>
起動後の書換えは , 禁止です。必ず起動前か停止後に書き込んでください。
[bit2, bit1, bit0] MOD2, MOD1, MOD0( 動作モード / 測定エッジ選択 )
動作モードおよび幅測定を行うエッジを選択します。
表 13.2-6 16 ビットアップカウントタイマの動作モード / 測定エッジの選択
MOD2
MOD1
MOD0
0
0
0
タイマモード [ 初期値 ]
0
0
1
タイマモード ( リロードモードのみ )
0
1
0
全エッジ間パルス幅測定モード(↑ or↓∼↓ or↑ )
0
1
1
分周周期測定モード ( 入力分周有効 )
1
0
0
立上りエッジ間周期測定モード ( ↑∼↑ )
1
0
1
"H" パルス幅測定モード ( ↑∼↓ )
1
1
0
"L" パルス幅測定モード ( ↓∼↑ )
1
1
1
立下りエッジ間周期測定モード ( ↓∼↓ )
動作モード / 測定エッジ選択
• リセット時 , "00B" に初期化されます。
• 読出し / 書込みが可能です。
<注意事項>
起動後の書換えは , 禁止です。必ず起動前か停止後に書き込んでください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
301
第 13 章 PWC タイマ
13.2 PWC タイマのレジスタ
MB90335 シリーズ
PWC データバッファレジスタ (PWCR)
13.2.2
PWC データバッファレジスタ (PWCR) の構成および機能について説明します。
■ PWC データバッファレジスタ (PWCR)
図 13.2-3 に , PWC データバッファレジスタ (PWCR) のビット構成を示します。
図 13.2-3 PWC データバッファレジスタ (PWCR) のビット構成
bit
00005FH
bit
00005EH
15
14
13
12
11
10
9
8
D15
D14
D13
D12
D11
D10
D9
D8
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
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)
PWCR
PWC データバッファレジスタ
(R/W) 初期値 00000000B
PWCR
PWC データバッファレジスタ
(R/W) 初期値 00000000B
R/W : リード・ライト可能
PWC データバッファレジスタ (PWCR) は , PWCSR の bit2 ∼ bit0(MOD2 ∼ MOD0) の設
定によるタイマモード時と , パルス幅設定モード時で機能が異なります。
● タイマモード時 ( 読出し / 書込み可能 )
リロードタイマ動作時 (PWCSR の bit3:S/C=1) は , リロードデータを保持するリロード
レジスタとなります。この場合 , 読出し / 書込みともに可能です。
ワンショットタイマ動作モード時 (PWCSR の bit3:S/C=0) は , アップカウントタイマを
直接アクセスする窓口になります。この場合も , 読出し / 書込みともに可能ですが ,
書込みはタイマ停止中に行ってください。読出しは随時可能で , カウント中のタイマ値
を読み出すことができます。
● パルス幅測定モード時 ( 読出しのみ可能 )
連続測定モード時 (PWCSR の bit3:S/C=1) は , 前回の測定結果を保持するバッファレジ
スタとなります。
この場合は読出しのみ可能で , 書き込んでもレジスタ値は変化しません。
単発モード時 (PWCSR の bit3:S/C=0) は , アップカウントタイマを直接アクセスする窓
口となります。
この場合も読出しのみ可能で , 書き込んでもレジスタ値は変化しません。読出しは随時
可能で , カウント中のタイマ値が得られます。測定終了後は , 測定結果を保持します。
<注意事項>
PWCR のアクセスは , 必ずワード転送命令で行ってください。リセット時 "00B" に初期化
されます。
302
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 13 章 PWC タイマ
13.2 PWC タイマのレジスタ
MB90335 シリーズ
PWC 分周比制御レジスタ (DIVR)
13.2.3
PWC 分周比制御レジスタ (DIVR) の構成および機能について説明します。
■ PWC 分周比制御レジスタ (DIVR)
図 13.2-4 に , PWC 分周比制御レジスタ (DIVR) のビット構成を示します。
図 13.2-4 PWC 分周比制御レジスタ (DIVR) のビット構成
bit
7
6
5
4
3
2
1
0
000060H
DIVR
-
-
-
-
-
-
DIV1
DIV0
(-)
(-)
(-)
(-)
(-)
(-)
(R/W)
(R/W) 初期値 ------00B
PWC 分周比制御レジスタ
R/W : リード・ライト可能
-
: 未定義
[bit7 ∼ bit2] 未定義ビット
読出し値は不定です。書込みは動作に影響を与えません。
[bit1, bit0] DIV1, DIV0( 分周比選択 )
分周周期測定モード (PWCSR の bit2, bit1, bit0:MOD2, MOD1, MOD0=001B) において使
用するレジスタで , ほかのモードでは意味をもちません。
分周周期測定モードには , DIVR によって設定された分周比だけ測定端子に入力された
パルスを分周し , 分周後の 1 周期幅を測定します。
表 13.2-7 分周比選択
DIV1
DIV0
0
0
4 分周
0
1
16 分周
1
0
64 分周
1
1
256 分周
カウントクロック選択
[ 初期値 ]
• リセット時 , "00B" に初期化されます。
• 読出し / 書込みが可能です。
<注意事項>
起動後の書換えは , 禁止です。必ず起動前か停止後に書き込んでください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
303
第 13 章 PWC タイマ
13.3 PWC タイマの動作
13.3
MB90335 シリーズ
PWC タイマの動作
PWC タイマの動作について説明します。
■ PWC タイマ動作概略
PWC タイマは , 16 ビットアップカウントタイマを基本にした多機能タイマで , 測定入
力端子と 8 ビット入力分周などを組み込んでいます。PWC タイマには , 次の 2 つの主
要機能があります。
• タイマ機能
• パルス幅カウント機能
どちらの機能でも 3 種類のカウントクロックを選択できます。以下に , 各機能における
基本性能 / 動作について説明します。
304
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 13 章 PWC タイマ
13.3 PWC タイマの動作
MB90335 シリーズ
13.3.1
タイマ機能の動作
リロード動作とワンショット動作が可能なアップカウントタイマです。
■ タイマ機能の動作
タイマ起動後 , カウントクロックごとにカウントアップを行います。0000H → FFFFH の
範囲でオーバフローが発生すると , 割込み要求が発生するおそれがあります。
オーバフロー発生した場合 , モードによって以下のように動作します。
• ワンショットモード : カウントを停止します。
• リロードモード
: タイマにリロードレジスタの内容をリロードし , 再びカ
ウントを開始します。
図 13.3-1 に , タイマ機能のワンショットモードおよびリロードモードの動作を示しま
す。
図 13.3-1 タイマ機能の動作
〔ワンショットモード〕
(実線がタイマカウント値)
オーバフロー
PWCRへの書込み
FFFFH
オーバフロー
(再起動禁止)
0000H
タイマスタート OVIRフラグセット/タイマストップ
タイマスタート
OVIRフラグセット/タイマストップ
時間
〔リロードモード〕
タイマカウント値
FFFFH
オーバフロー
オーバフロー
オーバフロー
オーバフロー
オーバフロー
リロード
PWCライト値
0000H
リロード
PWCRライト タイマスタート ※
リロード リロード リロード
※
※
リロード
リロード
※
※
タイマストップ
再起動
時間
※:OVIRフラグセット
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
305
第 13 章 PWC タイマ
13.3 PWC タイマの動作
13.3.2
MB90335 シリーズ
パルス幅測定機能の動作
入力パルスの任意イベント間の時間周期をタイマで測定できます。
■ パルス幅測定機能の動作
パルス幅測定機能は , 起動後 , 設定した測定開始エッジが入力されるまでカウントを開
始しません。開始エッジを検出するとタイマを 0000H にクリア後カウントアップを開
始し , 停止エッジを検出するとカウントを停止します。この間のカウント値がパルス幅
としてレジスタに保存されます。測定終了時に割込みを検出します。
測定終了後は , 測定モードに応じて以下のように動作します。
• 単発測定モード : 動作を中断します。
• 連続測定モード : タイマ値はバッファレジスタに転送され , 次の開始エッジが
入力されるまで測定が中断されます。
図 13.3-2 に単発測定モードの動作を , 図 13.3-3 に連続測定モードの動作を示します。
図 13.3-2 パルス幅測定動作 ( 単発測定モード /"H" 幅測定 )
PWC入力被測定パルス
(実線がタイマカウント値)
タイマカウント値
FFFFH
タイマクリア
0000H
測定開始
タイマスタート
タイマストップ
時間
EDIRフラグセット(測定終了)
図 13.3-3 パルス幅測定動作 ( 連続測定モード /"H" 幅測定 )
PWC入力被測定パルス
(実線がタイマカウント値)
タイマカウント値
オーバフロー
FFFFH
PWCRへデータ転送
タイマクリア
タイマクリア
0000H
測定開始
タイマスタート
タイマストップ
タイマスタート
時間
EDIRフラグセット(測定終了)
306
EDIRフラグセット
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 13 章 PWC タイマ
13.3 PWC タイマの動作
MB90335 シリーズ
カウントクロックおよび動作モードの選択
13.3.3
カウントクロックの選択および動作モードの選択について説明します。
■ カウントクロックの選択
タイマのカウントクロックは , PWCSR の bit7(CKS1) および bit6(CKS0) の設定によって
内部クロックソース 3 種類から選択できます。
表 13.3-1 に , カウントクロックの選択内容を示します。
表 13.3-1 カウントクロックの選択内容
PWCSR/
bit7, bit6: CKS1, CKS0
選択される内部カウントクロック
00B
マシンクロックの 4 分の 1
(24 MHz のマシンクロックの場合は 0.17 μs) [ 初期値 ]
01B
マシンクロックの 16 分の 1
(24 MHz のマシンクロックの場合は 0.67 μs)
10B
マシンクロックの 32 分の 1
(24 MHz のマシンクロックの場合は 1.33 μs)
• リセット後の初期値では , マシンクロックの 4 分周クロックが選択されます。
<注意事項>
カウントクロックの選択は , 必ずタイマ起動前に行ってください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
307
第 13 章 PWC タイマ
13.3 PWC タイマの動作
MB90335 シリーズ
■ 動作モードの選択
各動作モード / 測定モードの選択は , PWCSR ビットの設定によって行います。
• 動作モードの選択 : PWCSR の bit2, bit1, bit0(MOD2, MOD1, MOD0 ビット ) タイマ
モード / パルス幅測定モードの選択 , 測定エッジの決定など
• 測定モードの設定 : PWCSR の bit3(S/C ビット ) 単発測定 / 連続測定または
リロード / ワンショットの選択
表 13.3-2 に , 動作モード / 測定モードの設定内容を示します。
表 13.3-2 動作モード / 測定モードの設定内容
S/C
MOD2
MOD1
MOD0
ワンショットタイマ
0
0
0
0
リロードタイマ
1
0
0
0
単発測定 : バッファ無効
0
0
1
0
連続測定 : バッファ有効
1
0
1
0
単発測定 : バッファ無効
0
0
1
1
連続測定 : バッファ有効
1
0
1
1
単発測定 : バッファ無効
0
1
0
0
連続測定 : バッファ有効
1
1
0
0
単発測定 : バッファ無効
0
1
0
1
連続測定 : バッファ有効
1
1
0
1
単発測定 : バッファ無効
0
1
1
0
連続測定 : バッファ有効
1
1
1
0
単発測定 : バッファ無効
0
1
1
1
連続測定 : バッファ有効
1
1
1
1
動作モード
タイマ
↑ or ↓∼↑ or ↓
全エッジ間測定
分周周期測定
(1 ∼ 256 分周 )
↑∼↑
立上り間周期測定
パルス幅測定
↑∼↓
"H" パルス幅測定
↓∼↑
"L" パルス幅測定
↓∼↓
立下り間周期測定
• リセット後の初期設定では , ワンショットタイマが選択されています。
<注意事項>
動作モードの選択は , 必ずタイマ起動前に行ってください。
308
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 13 章 PWC タイマ
13.3 PWC タイマの動作
MB90335 シリーズ
13.3.4
タイマ / パルス幅測定の起動と停止
各動作の起動 / 再起動 / 停止 / 強制停止は , PWCSR の bit15, bit14(STRT, STOP
ビット ) によって行います。
■ タイマ / パルス幅測定の起動と停止
タイマ / パルス幅測定の起動 / 再起動は STRT ビット , 強制停止は STOP ビットと機能
が分かれており , それぞれ "0" を書き込むことによって機能します。しかし , このとき
に両ビットに書き込む値が排他でないと機能しません。ビット操作命令以外の命令 ( バ
イト以上の命令)で書き込む場合は, 必ず表 13.3-3に示すビットの組合せに限られます。
表 13.3-3 STRT ビットと STOP ビットの機能
STRT
STOP
0
1
タイマ / パルス幅測定の起動 / 再起動
1
0
タイマ / パルス幅測定の強制停止
機能
ビット操作命令 ( クリアビット命令 ) を用いる場合 , ハードウェアによって自動的に
表 13.3-3 に示す組合せで書き込まれるため , 特に意識する必要はありません。
■ 起動後の動作
タイマモードおよびパルス幅測定モードの起動後の動作は , 以下のとおりです。
● タイマモード
直ちにカウント動作を開始します。
● パルス幅測定モード
測定開始エッジが入力されるまでカウントは行いません。測定開始エッジ検出後 , 16
ビットアップカウントタイマを 0000H にクリアし , カウントを開始します。
■ 再起動
タイマ / パルス幅測定モード起動後 , 動作中に起動をかける (STRT ビットに "0" を書き
込む ) ことを再起動とよびます。
再起動をかけると , モードによって , 以下の動作が行われます。
● ワンショットタイマモード
動作に影響はありません。
● リロードタイマモード
リロード動作を行い , 動作を続行します。オーバフロー発生タイミングと同時に再起動
をかけた場合 , オーバフローフラグ (OVIR) はセットされます。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
309
第 13 章 PWC タイマ
13.3 PWC タイマの動作
MB90335 シリーズ
● パルス幅測定モード
測定開始エッジ待ち状態の場合 , 動作に影響はありません。測定中の場合は , カウント
を停止し再度測定開始エッジ待ち状態となります。この際 , 測定終了エッジ検出と再起
動が同時になると , 測定終了フラグ (EDIR) がセットされ , 連続測定モード時は結果が
PWCR に転送されます。
■ 停止
ワンショットタイマモード / 単発測定モードでは , タイマのオーバフローまたは測定終
了より自動的にカウントを停止しますので , 特に意識して停止する必要はありません。
ただし , ほかのモードでは , タイマを強制的に停止させる必要があります。タイマが自
動的に停止する前にタイマを停止させたい場合にも同様です。
■ 動作状態の確認
前述の STRT, STOP ビットは , 読出し時には , 動作状態表示ビットとして機能します。
表 13.3-4 に , 動作状態表示ビットの機能を示します。
表 13.3-4 動作状態表示ビットの機能
STRT
STOP
動作状態
0
0
タイマ停止 ( 測定開始エッジ待ち状態を除く ) :
起動されていないかまたは測定が終了したことを
示します。
1
1
タイマカウント動作中または測定開始エッジ状態
待ち
<注意事項>
STRT, STOP どちらのビットを読み出しても同じ値となります。ただし , リードモディ
ファイライト系命令 ( ビット処理命令など ) で STRT, STOP ビットを読み出すと常に "11B"
になるため , これらの命令を使用して読み出さないでください。
310
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
13.3.5
第 13 章 PWC タイマ
13.3 PWC タイマの動作
タイマモードの動作
タイマモードの動作について説明します。
■ タイマのクリア
次の場合には , 16 ビットアップカウントタイマが 0000H にクリアされます。
• リセット時
• パルス幅測定モードで , 測定開始エッジを検出しカウントを開始する場合
■ ワンショット動作モード
ワンショット動作モードでは , タイマ起動後カウントクロックごとにカウントアップ
を行い , FFFFH から 0000H へカウントする際のオーバフロー発生によって自動的に停
止します。タイマ起動前に PWCR に値を設定しておくと , その値からカウントが開始
されます。この場合 , 設定した値は保持されず , PWCR の値は現行のカウント値を示し
ます。
■ リロード動作モード
リロード動作モードでは , タイマ起動後 PWCR 中のリロード値をタイマに設定してか
らカウントクロックごとにカウントアップを行います。FFFFH から 0000H へカウント
する際のオーバフロー発生によって , 再度 PWCR 中のリロード値をタイマに設定し
( リロード動作 ), カウント動作を繰り返します。PWCSR の STOP ビットへの書込みに
よる強制停止されるかまたはリセットされるまで , タイマは停止しません。タイマ起動
前に PWCR に設定した値は , リロード値としてカウント中も保持され , 起動 / 再起動時
およびオーバフローが生じる際には必ずタイマに設定されます。カウント中に設定値
を変更する場合は , 次のオーバフロー発生時またはタイマの再起動の際に , 変更後の新
規リロード値を使用します。
■ タイマ値とリロード値
ワンショット動作モードでの PWCR は , 直接アップカウントタイマにアクセスします。
PWCR に値を書き込むとそのままタイマに書き込まれ , タイマが動作中に PWCR の値
を読み出すとカウント中のタイマ値が得られます。タイマ起動前に PWCR に任意の値
を書き込んでから起動すると , この指定された値からカウントが開始されます。リロー
ド動作モードでは, アップカウントタイマをアクセスすることが不可能です。
PWCRは,
リロード値を保持するリロードレジスタとして機能します。タイマの起動 / 再起動 /
オーバフローが生じる際には必ず , PWCR に書き込まれた値がタイマに設定されます。
PWCR を読み出すと , 格納されたリロード値が読み出されます。
PWCR の値とタイマの値が定まらないのは , リロード動作モードを強制的に中断させ
た後にタイマをワンショット動作モードに設定した場合です。したがって , タイマの使
用前に , 必ず値を書き込んでから使用してください。
■ 割込み発生要求
タイマモード動作においては , タイマのオーバフローによる割込み要求を発生するこ
とが可能です。カウントアップによってオーバフローが発生するとオーバフローフラ
グがセットされ , オーバフロー割込み要求が許可されていると割込み要求が発生しま
す。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
311
第 13 章 PWC タイマ
13.3 PWC タイマの動作
MB90335 シリーズ
■ タイマ周期
ワンショット動作モードで PWCR に 0000H を設定してタイマを起動すると , 65536 回
カウントアップ後にオーバフローを発生し , カウントを停止します。起動から停止まで
の時間は , 次の式によって計算されます。
T1=(65536-n1) × t
T1: 起動から停止までの時間 [ μs]
n1: 起動時に PWCR に書き込まれていたタイマ値
t: カウントクロックの周期 [ μs]
リロード動作モードで PWCR に 0000H を設定してタイマを起動すると , 65536 回カウ
ントアップごとにオーバフローを発生します。リロード周期の時間は , 次の式によって
計算されます。
TR=(65536-nR) × t
TR: リロード周期 ( オーバフロー周期 )[ μs]
nR: PWCR に保持されているリロード値
t: カウントクロックの周期 [ μs]
■ カウントクロックと最大周期
タイマモードの場合 , PWCR に設定する値が 0000H のときに最大周期となります。
マシンクロック ( 以下 φ とする )=24 MHz 時のカウントクロックの周期とタイマの最大
周期を表 13.3-5 に示します。
表 13.3-5 カウントクロックと周期
カウントクロック選択
CSK1, CSK0=
00: (φ/4) 時
CSK1, CSK0=
00: (φ/16) 時
CSK1, CSK0=
00: (φ/32) 時
カウントクロック周期
0.17 μs
0.67 μs
1.33 μs
10.92 ms
43.7 ms
87.4 ms
タイマ最大周期
312
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 13 章 PWC タイマ
13.3 PWC タイマの動作
MB90335 シリーズ
■ タイマの動作フロー
図 13.3-4 に , タイマの動作フローを示します。
図 13.3-4 タイマの動作フロー
各種設定
カウントクロック選択
動作/測定モード選択
割込みフラグクリア
割込み許可
PWCRに値を設定
再起動
リロード動作モード
STRTビットにより起動
ワンショット動作モード
PWCRの値をタイマにリード
カウント開始
カウント開始
カウントアップ
カウントアップ
オーバフローの発生
→OVIRフラグセット
オーバフローの発生
→OVIRフラグセット
カウント停止
動作停止
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
313
第 13 章 PWC タイマ
13.3 PWC タイマの動作
MB90335 シリーズ
パルス幅測定モードの動作
13.3.6
パルス幅測定モードの動作について説明します。
■ 単発測定と連続測定
パルス幅測定モードには , 1 回のみ測定を行うモードと , 連続して測定を行うモードが
あります。各モードは , PWCSR の S/C ビットによって選択します (「13.3.3 カウント
クロックおよび動作モードの選択」を参照してください )。
● 単発測定モード
1 回目の測定終了エッジが入力されると , タイマのカウンタが停止して PWCSR 中の測
定終了フラグ (EDIR) がセットされ , 以降は測定を行いません ( ただし , 同時に再起動
がかかった場合は , 測定開始待ちとなります ) 。
● 連続測定モード
測定終了エッジが入力されると , タイマのカウンタが停止して PWCSR 中の測定終了フ
ラグ (EDIR) がセットされ , 再度測定開始エッジが入力されるまでカウントを停止しま
す。再度 , 測定開始エッジが入力されると , タイマを 0000H にクリアした後測定を開始
します。測定終了時タイマ内の測定結果は PWCR に転送されます。
<注意事項>
測定モードの選択変更は , 必ずタイマの停止中に行ってください。
■ 測定結果のデータ
単発測定モードと連続測定モードでは , 測定結果とタイマ値の扱い , PWCR の機能に違
いがあります。両モードにおける測定結果は以下のとおりです。
● 単発測定モード
• 動作中に PWCR を読み出すと , 測定中のタイマ値が得られます。
• 測定終了後に PWCR を読み出すと , 測定結果データが得られます。
● 連続測定モード
• 測定終了時 , タイマ内の測定結果は PWCR に転送されます。
• PWCR を読み出すと直前の測定結果が得られ , 測定動作中も前回の測定結果を保持
しています。測定中のタイマ値は読み出せません。
連続測定モードで , 測定結果を読み出さないうちに次の測定が終了してしまった場合
は , 前回の測定結果が新しい測定結果に消されてしまいます。この際 , PWCSR 中のエ
ラ―フラグ (ERR) がセットされます。エラーフラグ (ERR) は PWCR を読み出すと自動
的にクリアされます。
314
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 13 章 PWC タイマ
13.3 PWC タイマの動作
MB90335 シリーズ
■ 測定モードとカウンタ動作
入力されたパルスのどこを測定するかによって, 測定モードは6種類のうちから選択で
きます。さらに , 高い周波数のパルスの幅を精度よく測定できるように , 入力されたパ
ルスを任意分周して周期を測定するモードも用意されています。
表 13.3-6 に , 測定モー
ド一覧を示します。
表 13.3-6 測定モード一覧 ( 1 / 2 )
測定モード
MOD2
MOD1
MOD0
測定モード測定内容 (W: 測定するパルス幅 )
W
W
"H" パルス幅
測定
1
0
1
カウントスタート カウントストップ
スタート
ストップ
"H" 期間の幅を測定します。
カウント ( 測定 ) 開始 : 立上りエッジ検出時
カウント ( 測定 ) 終了 : 立下りエッジ検出時
W
W
"L" パルス幅
測定
1
1
0
カウントスタート カウントストップ
スタート
ストップ
"L" 期間の幅を測定します。
カウント ( 測定 ) 開始 : 立下りエッジ検出時
カウント ( 測定 ) 終了 : 立上りエッジ検出時
W
立上り
エッジ間
周期測定
1
0
0
カウントスタート
W
W
カウント
ストップ
スタート
ストップ
スタート
ストップ
立上りエッジ間の周期を測定します。
カウント ( 測定 ) 開始 : 立上りエッジ検出時
カウント ( 測定 ) 終了 : 立上りエッジ検出時
W
立下り
エッジ間
周期測定
1
1
1
カウントスタート
W
W
カウント
ストップ
スタート
ストップ
スタート
ストップ
立下りエッジ間の周期を測定します。
カウント ( 測定 ) 開始 : 立下りエッジ検出時
カウント ( 測定 ) 終了 : 立下りエッジ検出時
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
315
第 13 章 PWC タイマ
13.3 PWC タイマの動作
MB90335 シリーズ
表 13.3-6 測定モード一覧 ( 2 / 2 )
MOD2
測定モード
MOD1
MOD0
測定モード測定内容 (W: 測定するパルス幅 )
W
全エッジ間
パルス幅測定
0
1
0
カウントスタート
W
W
カウント
ストップ
スタート
ストップ
スタート
ストップ
連続して入力されるエッジ間の幅を測定します。
カウント ( 測定 ) 開始 : エッジ検出時
カウント ( 測定 ) 終了 : エッジ検出時
W
分周周期測定
0
1
1
カウントスタート
(4分周の例)
W
カウント
ストップ
スタート
W
ストップ
分周比設定レジスタ DIVR で選択した分周比だけ
入力パルスを分周してその周期を測定します。
カウント(測定)開始:起動直後の立上りエッジ検出時
カウント ( 測定 ) 終了 : 分周後の 1 周期終了時
どのモードでも , カウントの開始からカウント開始エッジの入力までの間はタイマに
よるカウントは行われません。カウント開始エッジ入力後に , タイマは 0000H にクリ
アされ , カウント終了エッジが入力されるまでは , カウントクロックのたびにタイマの
カウントが行われます。カウント終了エッジの入力時には , 次の動作を実行します。
1. PWCSR 中の測定終了フラグ (EDIR) がセットされます。
2. タイマのカウント動作が停止します ( 再起動と同時であった場合を除く )。
3. 連続測定モード :
タイマの値 ( 測定結果 ) は PWCR に転送され , 次の測定開
始エッジが入力されるまでカウントを中断したままとな
ります。
4. 単発測定モード :
測定を終了します ( 再起動と同時であった場合を除く )。
連続測定モードの場合で , 全エッジ間パルス幅測定や分周測定などを行った場合 , 終了
エッジが次の測定エッジとなります。
■ 最小入力パルス幅
パルス幅測定入力端子 (PWC) に入力できるパルスには , 以下の制限があります。
パルス幅は , 4 マシンサイクル (24 MHz のマシンクロックの場合は , 0.17 μs) 以上とす
ること 。
316
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 13 章 PWC タイマ
13.3 PWC タイマの動作
MB90335 シリーズ
■ パルス幅 / 周期算出方法
測定するパルスの幅 / 周期は , 次の式で算出できます。
TW=n × t ÷ DIV[ μs]
TW: 被測定パルス幅 / 周期 [ μs]
n: PWCR 内の測定結果データ
t: カウントクロックの周期 [ μs]
DIV: 分周比レジスタ DIVR で選択した分周比
( 分周周波数測定モード以外は 1 を代入 )
■ パルス幅 / 周期カウントの範囲
カウントクロックおよび入力分周器の分周比の選択の組合せにより , 測定可能なパル
ス幅 / 周期のレンジが変化します。
表 13.3-7 に , マシンクロック ( 以下 φ とする )=16 MHz 時の測定レンジ一覧を示します。
表 13.3-7 パルス幅測定レンジ一覧
CKS1, CKS0
=01(φ/16) 時
CKS1, CKS0
=10(φ/32) 時
0.17 μs ∼ 10.92 ms
[0.17 μs]
0.17 μs ∼ 43.7 ms
[0.67 μs]
0.17 μs ∼ 87.4 ms
[1.33 μs]
0
0.17 μs ∼ 2.73 ms
[ 41.7 ns]
0.17 μs ∼ 10.92 ms
[0.17 μs]
0.17 μs ∼ 21.85 ms
[0.67 μs]
0
1
0.17 μs ∼ 683 μs
[10.4 ns]
0.17 μs ∼ 2.73 ms
[41.7 ns]
0.17 μs ∼ 5.46 ms
[0.17 μs]
64 分周
1
0
0.17 μs ∼ 170 μs
[2.6 ns]
0.17 μs ∼ 683 μs
[10.4 ns]
0.17 μs ∼ 1.36 ms
[41.7 ns]
256 分周
1
1
0.17 μs ∼ 43 μs
[1.56 ns]
0.17 μs ∼ 171 μs
[6.25 ns]
0.17 μs ∼ 341 μs
[12.5 ns]
分周比
DIV1
DIV0
分周なし
―
―
4 分周
0
16 分周
CKS1, CKS0
=00(φ/4) 時
[ ] 内は , 1 ビットあたりの分解能を示します。
■ 割込み要求発生
パルス幅測定モードにおいては , 以下の 2 つの割込み要求を発生できます。
● タイマのオーバフローによる割込み要求
測定中 , カウントアップによってオーバフローが発生すると , オーバフローフラグが
セットされます。オーバフロー割込み要求が許可されていると , 割込み要求が発生しま
す。
● 測定終了による割込み要求
測定終了エッジを検出すると PWCSR 中の測定終了フラグ (EDIR) がセットされ , 測定
終了割込み要求が許可されていると割込み要求が発生します。
測定終了フラグ (EDIR) は , 測定結果 PWCR を読み出すと同時に自動的にクリアされま
す。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
317
第 13 章 PWC タイマ
13.3 PWC タイマの動作
MB90335 シリーズ
■ パルス幅測定の動作フロー
図 13.3-5 に , パルス幅測定の動作フローを示します。
図 13.3-5 パルス幅測定の動作フロー
各種設定
カウントクロック選択
動作/測定モード選択
割込みフラグクリア
割込み許可
再起動
STRTビットにより起動
連続測定モード
単発測定モード
測定開始エッジ検出
測定開始エッジ検出
タイマをクリア
タイマをクリア
カウント開始
カウント開始
カウントアップ
カウントアップ
オーバフローの発生
→OVIRフラグセット
測定終了エッジ検出
→EDIRフラグセット
318
オーバフローの発生
→OVIRフラグセット
測定終了エッジ検出
→EDIRフラグセット
カウント停止
カウント停止
タイマ値をPWCRに転送
動作停止
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
13.4
第 13 章 PWC タイマ
13.4 PWC タイマの使用上の注意
PWC タイマの使用上の注意
PWC タイマを使用する上で注意すべきことがらについて説明します。
■ PWC タイマの使用上の注意
● レジスタの書換えに関する注意事項
PWCSR 中 , 以下に示すビットは動作中に書き換えることを禁止します。書換えは , 必
ず起動前か停止後に行ってください。
• [bit7, bit6] CKS1, CKS0( クロック選択 )
• [bit5, bit4] PIS1, PIS0( 入力信号選択 )
• [bit3] S/C ( 測定モード ( 単発 / 連続 ) の選択 )
• [bit2, bit1, bit0] MOD2, MOD1, MOD0( 動作モード / 測定エッジ選択 )
DIVR は , 動作中に書き換えることを禁止します。書換えは必ず起動前か停止後に行っ
てください。
● タイマモードの測定終了フラグの扱い
PWCSR 中の測定終了割込み要求フラグ (EDIR) の値は , タイマモードでは , 意味があり
ません。このため , PWCSR 中の測定終了割込み要求ビット (EDIE) は , タイマモードで
使用するときは必ず "0" を設定してください。
● PWCSR 中の STRT, STOP ビットの扱い
両ビットともに , 書込み時と読出し時では , 意味が異なるので注意してください
(「13.2.1 PWC コントロールステータスレジスタ (PWCSR)」を参照 )。また , リードモ
ディファイライト系命令における読出し値は , ビット値にかかわらず "11B" です。この
ため , 動作状態の読出しには , ビット処理命令は使用できません ( 読み出すと必ず動作
中となります ) ので注意してください。タイマの起動 / 停止のための STRT, STOP ビッ
トへの書込みは , それぞれのビットに対するビット処理命令 ( ビットクリア命令など )
を用いることができます。
● タイマのクリア
パルス幅測定モードの場合 , 測定開始エッジでタイマがクリアされますので , 起動前に
タイマ中のデータは無効となります。
● モード変更時の PWCR とタイマの値
• リロードタイマモードで使用した後 , タイマを強制停止してからワンショットタイ
マモードにした場合 , PWCR に保持された値およびタイマの値は不定となりますの
で , 必ず値を書き込んでから使用してください。
• ワンショットタイマモードで使用した場合 , PWCR の値は不定となりますので , 必
ず値を書き込んでから使用してください。
• パルス幅測定モードから , タイマモードへ切り換える場合は , 起動前に必ず PWCR
に値を再設定してから起動してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
319
第 13 章 PWC タイマ
13.4 PWC タイマの使用上の注意
MB90335 シリーズ
● 最小パルス幅
パルス幅測定入力端子に入力できるパルスには , 以下の制限があります。
• 最小パルス幅 : マシンクロックの 2 分周 (16 MHz マシンクロック時 , 0.25 μs 以上 )
• 最小入力周波数 : マシンクロックの 4 分周 (16 MHz マシンクロック時 , 4 MHz 以下 )
上記パルスより小さい幅や高い周波数のパルスを入力した場合 , 動作は保証できませ
ん。入力信号にそのようなノイズがのる可能性がある場合は , チップ外部でフィルタな
どを通して除去してから入力してください。
● 分周周波数測定モード
パルス幅測定モードのうちの分周周期測定モードでは , 入力パルスを分周するため , 測
定結果より算出して得られるパルス幅は , 平均値となりますので注意してください。
● クロック選択ビットの扱い
PWCSR 中の [bit7, bit6] CKS1, CKS0( クロック選択 ) には , "11B" は設定しないでくださ
い。
● 動作中の再起動
カウント動作を開始した後に再起動をする場合は , そのタイミングによっては以下に
示すようなことが起こり得ます。
• リロードタイマモード時 , オーバフロー発生と同時タイミングであった場合 , 再起
動を行いますが , オーバフローフラグ (OVIR) はセットされます。
• パルス幅単発測定モードにおいて , 測定終了エッジと同時であった場合再起動を行
い測定開始エッジ待ち状態となりますが , 測定終了エッジ (EDIR) はセットされま
す。
• パルス幅連続測定モードにおいて , 測定終了エッジと同時であった場合再起動を行
い測定開始エッジ待ち状態となりますが , 測定終了エッジ (EDIR) はセットされ , そ
の時点での測定結果は PWCR に転送されます。
● PWC タイマを「"H" パルス幅または "L" パルス幅測定モードを連続測定モード」で使用して
いる場合
パルス幅測定が完了し , 次のパルス幅測定開始待ち状態になっている間 , 本来停止する
べきタイマが動作し続け , 次のパルス幅測定開始前にタイマのオーバフローフラグ
(OVIR) がセットされてしまうことがあるため , 次回パルス幅測定終了時にオーバフ
ローしていない場合でもオーバフローフラグがセットされている場合があります。し
たがって , PWC タイマを "H" パルス幅または "L" パルス幅測定モードを連続測定モー
ドでご使用になる場合には , オーバフローフラグを使用しないでください。
320
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 14 章
16 ビットリロードタイマ
16 ビットリロードタイマの概要 , レジスタの構成 /
機能および 16 ビットリロードタイマの動作につい
て説明します。
14.1 16 ビットリロードタイマの概要
14.2 16 ビットリロードタイマのレジスタ
14.3 16 ビットリロードタイマの動作
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
321
第 14 章 16 ビットリロードタイマ
14.1 16 ビットリロードタイマの概要
14.1
MB90335 シリーズ
16 ビットリロードタイマの概要
16 ビットリロードタイマには , 3 種類の内部クロックに同期してカウントダウンす
る内部クロックと , 外部端子に入力されたパルスの任意エッジを検出してカウント
ダウンするイベントカウントモードがあり , どちらかの機能を選択できます。
■ 16 ビットリロードタイマの概要
16 ビットリロードタイマは , カウント値が 0000H ∼ FFFFH になるときをアンダフロー
と定義しています。したがって , [ リロードレジスタの設定値 +1] カウントでアンダフ
ローが発生します。カウント動作としては , アンダフローで , カウント設定値を再ロー
ドしてカウントを繰り返すリロードモードと , アンダフローでカウントを停止するワ
ンショットモードを選択できます。カウンタのアンダフローで割込みを発生させるこ
ともでき , DTC にも対応しています。
322
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 14 章 16 ビットリロードタイマ
14.1 16 ビットリロードタイマの概要
MB90335 シリーズ
14.1.1
16 ビットリロードタイマの機能
16 ビットリロードタイマの機能概要を説明します。
■ 16 ビットリロードタイマの動作モード
クロックモード
カウンタ動作
16 ビットリロードタイマ動作
リロードモード
ソフトウェアトリガ動作
外部トリガ動作
外部ゲート入力動作
内部クロック
ワンショットモード
リロードモード
イベントカウントモード
( 外部クロックモード )
ソフトウェアトリガ動作
ワンショットモード
■ 内部クロックモード
カウントクロックとして 3 種類の内部クロックから 1 種類を選択できます。
● ソフトウェアトリガ動作
タイマ制御ステータスレジスタ (TMCSR0) の TRG ビットに "1" を書き込むと , カウン
タ動作を開始します。TRG ビットによるトリガ入力は , 外部トリガ入力時および外部
ゲート入力時にも有効です。
● 外部トリガ動作
選択されたエッジ ( 立上り / 立下り / 両エッジ ) が TIN0 端子に入力されたとき , カウン
ト動作を開始します。
● 外部ゲート入力動作
選択された信号 ("L" または "H") が TIN0 に入力されている間 , カウント動作を続行し
ます。
■ イベントカウントモード ( 外部クロックモード )
選択されたエッジ ( 立上り / 立下り / 両エッジ ) が TIN0 端子に入力されると , そのエッ
ジでカウントダウンする機能です。
一定周期の外部クロックを使用した場合は , インターバルタイマとしても使用できま
す。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
323
第 14 章 16 ビットリロードタイマ
14.1 16 ビットリロードタイマの概要
MB90335 シリーズ
■ カウンタ動作のモード
● リロードモード
カウントダウンで , アンダフロー(0000H → FFFFH) が発生すると , カウント設定値が再
ロードされてカウント動作を継続します。アンダフローで , 割込み要求を発生させるこ
とができるので , インターバルタイマとして使用できます。また , アンダフローごとに ,
反転するトグル波形を TOT0 端子から出力できます。
カウントクロック
内部クロック
外部クロック
カウントクロック周期
インターバル時間
21/ φ(0.083 μs)
0.083 μs ∼ 5.461 ms
23/ φ(0.33 μs)
0.33 μs ∼ 21.845 ms
25/ φ(1.33 μs)
1.33 μs ∼ 87.38 ms
23/ φ(0.5 μs)
0.5 μs 以上
φ : マシンクロック () 内はマシンクロック 24 MHz 動作時の値です。
● ワンショットモード
カウントダウンで , アンダフロー(0000H → FFFFH) が発生すると , カウント動作を停止
します。
アンダフローで割込みを発生させることができます。また , カウントの動作中は , カウ
ント中を示す短波形を TOT0 端子から出力できます。
324
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 14 章 16 ビットリロードタイマ
14.1 16 ビットリロードタイマの概要
MB90335 シリーズ
16 ビットリロードタイマのブロックダイヤグラム
14.1.2
16 ビットリロードタイマのブロックダイヤグラムを示します。
■ 16 ビットリロードタイマのブロックダイヤグラム
図 14.1-1 16 ビットリロードタイマのブロックダイヤグラム
F2MC-16LX BUS
TMRLR0
16ビットリロードレジスタ
リロード信号
リロード
TMR0
制御回路
16ビットタイマレジスタ(ダウンカウンタ)UF
CLK
カウントクロック生成回路
3 ゲート入力
プリスケーラ /
クリア
有効クロック判定回路
ウェイト信号
CLK
出力信号生成回路
反転
端子
入力制御回路
TIN0
クロックセレクタ
EN
外部クロック
機能選択 / 3
セレクト信号/ 2
端子
出力信号生成回路
OUTL
TOT0
RELD 動作制御回路
OUTE
タイマ制御ステータスレジスタ(TMCSR0)
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
325
第 14 章 16 ビットリロードタイマ
14.2 16 ビットリロードタイマのレジスタ
14.2
MB90335 シリーズ
16 ビットリロードタイマのレジスタ
16 ビットリロードタイマで使用するレジスタの構成および機能について説明しま
す。
■ 16 ビットリロードタイマレジスタ一覧
図 14.2-1 に , 16 ビットリロードタイマのレジスタ一覧を示します。
図 14.2-1 16 ビットリロードタイマのレジスタ一覧
bit
15
14
13
12
11
10
-
-
-
-
CSL1
CSL0
MOD2 MOD1
(-)
(X)
(-)
(X)
(-)
(X)
(-)
(X)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
7
6
5
4
3
2
1
0
ch.0 : 000062H 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) 初期値
15
14
13
12
11
10
9
8
D15
D14
D13
D12
D11
D10
D09
D08
16 ビットタイマレジスタ /16 ビッ
トリロードレジスタ ( 上位 )*
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
読出し (TMR0)
書込み (TMRLR0)
初期値
7
6
5
4
3
2
1
0
D07
D06
D05
D04
D03
D02
D01
D00
16 ビットタイマレジスタ /16 ビッ
トリロードレジスタ ( 下位 )*
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
読出し (TMR0)
書込み (TMRLR0)
初期値
ch.0 : 000063H
bit
bit
ch.0 : 000065H
bit
ch.0 : 000064H
9
8
TMCSR0
タイマ制御ステータス
レジスタ ( 上位 )
(R/W) 読出し / 書込み
(0) 初期値
TMCSR0
タイマ制御ステータス
レジスタ ( 下位 )
TMR0/TMRLR0
TMR0/TMRLR0
* : 読出し時は 16 ビットタイマレジスタ (TMR0) として機能し ,
書込み時は 16 ビットリロードレジスタ (TMRLR0) として機能します。
326
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 14 章 16 ビットリロードタイマ
14.2 16 ビットリロードタイマのレジスタ
MB90335 シリーズ
タイマ制御ステータスレジスタ 0 (TMCSR0)
14.2.1
タイマ制御ステータスレジスタ 0 (TMCSR0) の構成および機能について説明します。
■ タイマ制御ステータスレジスタ 0 (TMCSR0)
タイマ制御ステータスレジスタ 0 (TMCSR0) は , 16 ビットリロードタイマの動作モー
ドおよび割込みを制御します。CNTE=0 のとき , UF/CNTE/TRG 以外のビットをモディ
ファイします。
図 14.2-2 に , タイマ制御ステータスレジスタ 0 (TMCSR0) のビット構成を示します。
図 14.2-2 タイマ制御ステータスレジスタ 0 (TMCSR0) のビット構成
bit
15
14
13
12
11
10
-
-
-
-
CSL1
CSL0
MOD2 MOD1
(-)
(X)
(-)
(X)
(-)
(X)
(-)
(X)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
7
6
5
4
3
2
1
0
ch.0 : 000062H 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) 初期値
ch.0 : 000063H
bit
(R/W)
(0)
(R/W)
(0)
9
8
TMCSR0
タイマ制御ステータス
レジスタ ( 上位 )
(R/W) 読出し / 書込み
(0) 初期値
TMCSR0
タイマ制御ステータス
レジスタ ( 下位 )
R/W : リード / ライト可能
X
: 不定値
: 未定義
以下に , タイマ制御ステータスレジスタ 0 (TMCSR0) の各ビットの機能を説明します。
[bit15 ∼ bit12] 未定義ビット
読出し値は不定です。書込みは動作に影響を与えません。
[bit11, bit10] CSL1, CSL0( クロック選択 )
カウントクロック選択ビットで , クロックソースを選択します。
CM44-10137-6
クロックソース ( マシンクロック φ=24 MHz 時 )
CSL1
CSL0
0
0
φ/21(0.083 μs)
0
1
φ/23(0.33 μs)
1
0
φ/25(1.33 μs)
1
1
イベントカウントモード
[ 初期値 ]
FUJITSU MICROELECTRONICS LIMITED
327
第 14 章 16 ビットリロードタイマ
14.2 16 ビットリロードタイマのレジスタ
MB90335 シリーズ
[bit9, bit8, bit7] MOD2, MOD1, MOD0
動作モードと入出力端子の機能を設定するビットです。MOD2=0 のとき , 入力端子
はトリガとして機能します。アクティブエッジが入力端子に入力されカウント動作
が進行すると , リロードレジスタの内容がカウンタにロードされます。MOD2=1 の
ときは , タイマはゲートカウントモードで動作し , 入力端子はゲート入力として機
能します。このモードでは , カウントはアクティブレベルが入力端子に入力されて
いる間だけカウントします。
MOD2 ∼ MOD0 ビットの組合せによって , 内部クロックモードおよびイベントカウ
ントモードを表 14.2-1 および表 14.2-2 に示すモードから選択します。
表 14.2-1 内部クロックモード (CSL1, CSL0=00, 01 または 10)
MOD2
MOD1
MOD0
0
0
0
0
0
1
0
1
0
0
1
1
1
X
0
入力端子機能
アクティブエッジまたはレベル
トリガ無効
[ 初期値 ]
-
立上りエッジ
立下りエッジ
トリガ入力
両エッジ
"L" レベル
ゲート入力
1
X
1
"H" レベル
表 14.2-2 イベントカウントモード (CSL1, CSL0=11)
MOD2
MOD1
MOD0
入力端子機能
アクティブエッジまたはレベル
X
0
0
トリガ無効
-
X
0
1
X
1
0
X
1
1
[ 初期値 ]
立上りエッジ
立下りエッジ
トリガ入力
両エッジ
[bit6] OUTE( 出力許可 )
出力許可を制御します。
TOT0 端子は , "0" のとき汎用ポート , "1" のときタイマ出力端子として機能します。
リロードモードでは , 出力波形はトグル波形となります。ワンショットモードでは ,
TOT0 端子は , カウントが進行中であることを示す矩形波を出力します。
328
OUTE
機能
0
汎用ポート
1
タイマ出力
FUJITSU MICROELECTRONICS LIMITED
[ 初期値 ]
CM44-10137-6
第 14 章 16 ビットリロードタイマ
14.2 16 ビットリロードタイマのレジスタ
MB90335 シリーズ
[bit5] OUTL( 出力レベルの設定 )
TOT0 端子の出力レベルを設定するビットです。OUTL が , 0/1 では出力端子レベル
は逆になります。
OUTL
ワンショットモード時(RELD=0)
リロードモード時 (RELD=1)
0
カウント中 "H" の矩形波
0
1
カウント中 "L" の矩形波
1
X
1
0
X
1
1
[ 初期値 ]
[bit4] RELD( リロード動作許可 )
リロード動作を許可するビットです。RELD が "1" のときは , タイマはリロードモー
ド動作で動作します。このモードでは , タイマは , リロードレジスタの内容をカウ
ンタにロードし , アンダフローが発生しても ( カウンタ値 0000H ∼ FFFFH に変化す
るとき ) カウンタを継続します。RELD が "0" のときは , タイマはワンショットモー
ドで動作します。このモードでは , カウンタ値が 0000H ∼ FFFFH に変化するときに
アンダフローが発生するとカウンタ動作を停止します。
RELD
機能
0
ワンショットモード
1
[ 初期値 ]
リロードモード
[bit3] INTE( タイマ割込み要求許可 )
タイマ割込み要求を許可するビットです。INTE=0 のときは , UF が "1" になっても ,
割込み要求を発生しません。
INTE
機能
0
割込み要求出力禁止
1
割込み要求出力許可
[ 初期値 ]
[bit2] UF( タイマ割込み要求フラグ )
タイマ割込み要求フラグです。アンダフローが発生すると UF は "1" に設定されま
す。"0" を書き込むか , μDMAC によってクリアされます。"1" を書き込んでも意味
をもちません。リードモディファイライト命令での読出し値は "1" です。
CM44-10137-6
UF
読出し時
書込み時
0
カウンタのアンダフローなし ( 初期値 )
このビットのクリア [ 初期値 ]
1
カウンタのアンダフローあり
変化なし(ほかへの影響なし)
FUJITSU MICROELECTRONICS LIMITED
329
第 14 章 16 ビットリロードタイマ
14.2 16 ビットリロードタイマのレジスタ
MB90335 シリーズ
[bit1] CNTE( タイマカウンタ許可 )
タイマカウンタを許可するビットです。
CNTE
機能
0
カウンタ停止
1
カウンタ許可 ( 起動トリガ待ち )
[ 初期値 ]
[bit0] TRG( ソフトウェアトリガ )
ソフトウェアトリガビットです。TRG=1 の書込みで , ソフトウェアトリガを適用し
てタイマのリロードレジスタの内容をカウンタロードさせ , カウントを開始させま
す。"0" を書き込んでも何の意味ももちません。読出しは常に "0" です。CNTE=1 の
ときのみ , 動作モードにかかわらず常に有効になります。
TRG
330
機能
0
変化なし ( ほかへの影響なし ) [ 初期値 ]
1
カウント動作開始
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 14 章 16 ビットリロードタイマ
14.2 16 ビットリロードタイマのレジスタ
MB90335 シリーズ
16 ビットタイマレジスタ 0 (TMR0)/16 ビットリロー
ドレジスタ 0 (TMRLR0)
14.2.2
16 ビットタイマレジスタ 0 (TMR0)/16 ビットリロードレジスタ 0 (TMRLR0) の構成
および機能について説明します。
■ 16 ビットタイマレジスタ 0 (TMR0)/16 ビットリロードレジスタ 0 (TMRLR0)
図 14.2-3に, 16ビットタイマレジスタ0 (TMR0)/16ビットリロードレジスタ0 (TMRLR0)
のビット構成を示します。
図 14.2-3 16 ビットタイマレジスタ 0 (TMR0)/16 ビットリロードレジスタ 0 (TMRLR0) のビット構成
bit
ch.0 : 000065H
bit
ch.0 : 000064H
15
14
13
12
11
10
9
8
TMR0/TMRLR0
D15
D14
D13
D12
D11
D10
D09
D08
16 ビットタイマレジスタ /16 ビッ
トリロードレジスタ ( 上位 )*
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
読出し (TMR0)
書込み (TMRLR0)
初期値
7
6
5
4
3
2
1
0
D07
D06
D05
D04
D03
D02
D01
D00
16 ビットタイマレジスタ /16 ビッ
トリロードレジスタ ( 下位 )*
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
読出し (TMR0)
書込み (TMRLR0)
初期値
TMR0/TMRLR0
* : 読出し時は 16 ビットタイマレジスタ (TMR0) として機能し ,
書込み時は 16 ビットリロードレジスタ (TMRLR0) として機能します。
■ 16 ビットタイマレジスタ 0 (TMR0)
16 ビットダウンカウンタのカウンタ値を読み出すことができるレジスタです。カウン
タ動作を許可 (TMCSR0 の CNTE=1) し , カウントを開始すると , 16 ビットリロードレ
ジスタに書き込まれた値が TMR0 にロードされ , カウントダウンが開始されます。カ
ウント停止状態 (TMCSR0 の CNTE=0) では , TMR0 レジスタの値が保持されます。
<注意事項>
TMR0の読出しはカウンタ動作中にもできますが, 必ずワード転送命令(MOVW A, 003AH
など ) を使用してください。
16 ビットタイマレジスタ (TMR0) は , 機能的には , 読出し専用ですが , 書込み専用の 16
ビットリロードレジスタ (TMRLR0) と同一アドレスに配置されています。したがって , 書
込みをしても TMR0 の値は影響を受けませんが , TMRLR0 に対して書込みが行われます。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
331
第 14 章 16 ビットリロードタイマ
14.2 16 ビットリロードタイマのレジスタ
MB90335 シリーズ
■ 16 ビットリロードレジスタ 0 (TMRLR0)
16 ビットリロードタイマの動作に関係なく , カウンタ動作を禁止 (TMCSR0 の CNTE=0)
している状態で , TMRLR0 にカウンタの初期値を設定します。カウンタ動作を許可
(TMCSR0 の CNTE=1) し , カウンタを起動すると , TMRLR0 に書き込まれた値からカウ
ントダウンを開始します。TMRLR0 に設定した値は , リロードモードのとき , アンダフ
ローの発生でカウンタにリロードされ , カウントダウンを続行します。ワンショット
モードのときは , アンダフローの発生でカウンタは FFFFH で停止します。
<注意事項>
TMRLR0 の書込みは , カウンタ停止 (TMCSR0 の CNTE=0) の状態で行ってください。
また , 必ずワード転送命令 (MOVW A, 003AH など ) で書き込んでください。
16 ビットリロードレジスタ (TMRLR0) は , 機能的には書込み専用ですが , 読出し専用の
16 ビットタイマレジスタ (TMR0) と同一アドレスに配置されています。したがって , 読出
し値は TMR0 の値となるため , INC/DEC 命令などのリードモディファイライト (RMW) 動
作をする命令は , 使用できません。
332
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 14 章 16 ビットリロードタイマ
14.3 16 ビットリロードタイマの動作
MB90335 シリーズ
16 ビットリロードタイマの動作
14.3
16 ビットリロードタイマの設定と , カウンタ動作の状態遷移について説明します。
■ 16 ビットリロードタイマの設定
● 内部クロックモードの設定
インターバルタイマとして動作させるには , 図 14.3-1 に示す設定が必要です。
図 14.3-1 内部クロックモードの設定
bit 15
TMCSR0
-
14
13
12
-
-
-
11
10
9
8
7
6
5
4
3
CSL1 CSL0 MOD2 MOD1 MOD0 OUTE OUTL RELD INTE
2
0
UF CNTE TRG
1
"11" 以外
TMRLR0
1
カウンタの初期値 ( リロード値 ) を設定
: 使用ビット
1 : "1" を設定
● イベントカウントモードの設定
イベントカウントモードとして動作させるには , 図 14.3-2 に示す設定が必要です。
図 14.3-2 イベントカウントモードの設定
bit 15
TMCSR0
-
14
13
12
-
-
-
11
9
8
7
6
5
4
3
CSL1 CSL0 MOD2 MOD1 MOD0 OUTE OUTL RELD INTE
1
TMRLR0
10
2
1
0
UF CNTE TRG
1
1
カウンタの初期値 ( リロード値 ) を設定
DDR4
D47
D46
D45
D44
D43
D42
D41
D40
: 使用ビット
1 : "1" を設定
: 使用する端子に対応するビットに "0" を設定
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
333
第 14 章 16 ビットリロードタイマ
14.3 16 ビットリロードタイマの動作
MB90335 シリーズ
カウンタ動作の状態遷移
14.3.1
カウンタ動作の状態遷移を示します。
■ カウンタ動作の状態遷移
図 14.3-3 カウンタ動作の状態遷移
リセット
STOP状態
CNTE=0,WAIT=1
TIN0端子:入力禁止
TOT0端子:汎用入出力ポート
16ビットタイマレジスタ:
停止時の値を保持
リセット直後の値は不定
CNTE=0
CNTE=0
CNTE=1/TRG=1
CNTE=1/TRG=0
WAIT状態
CNTE=1/WAIT=1
RUN状態
TIN0端子:トリガ入力のみ有効
T0T0端子:16ビットリロードレジスタの
値を出力
16ビットタイマレジスタ:
停止時の値を保持
リセット直後はロードするまで値は不定
UF=1 &
RELD=0
(ワンショ
ットモード)
T0T0端子:16ビットリロードタイマ
の出力端子として機能
16ビットタイマレジスタ:
カウンタ動作
UF=1 &
RELD=1
(リロードモード)
TRG=1
TRG=1
(ソフトウェアトリガ)
(ソフトウェアトリガ)
LOAD
TIN0からの外部トリガ
CNTE=1, WAIT=0
TIN0端子:16ビットリロードタイマ
の入力端子として機能
CNTE=1,WAIT=0
16ビットリロードレジスタの設定値を
16ビットタイマレジスタへロード
ロード終了
:ハードウェアによる状態遷移
:レジスタアクセスによる状態遷移
WAIT :WAIT信号(内部信号)
TRG
334
:ソフトウェアトリガビット(TMCSR0)
CNTE
:タイマカウンタ許可ビット(TMCSR0)
UF
:タイマ割込み要求フラグビット(TMCSR0)
RELD
:リロード動作許可ビット(TMCSR0)
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 14 章 16 ビットリロードタイマ
14.3 16 ビットリロードタイマの動作
MB90335 シリーズ
内部クロックモード ( リロードモード ) の動作
14.3.2
内部カウントクロックに同期して , 16 ビットカウンタをカウントダウンし , カウン
タのアンダフローで CPU に割込み要求を発生します。また , タイマ出力端子からト
グル波形を出力できます。
■ 内部クロックモード ( リロードモード ) の動作
カウント動作を許可 (TMCSR0 の CNTE=1) し , ソフトウェアトリガビット (TMCSR0 の
TRG), または外部トリガでタイマを起動すると , リロードレジスタ (TMRLR0) の値をカ
ウンタにロードして , カウンタ動作を開始します。
カウンタ許可ビットとソフトウェアトリガビットを同時に "1" にセットすると , カウン
タ許可と同時にカウントを開始します。カウンタ値がアンダフロー (0000H → FFFFH)
すると , 16 ビットリロードレジスタ (TMRLR0) の値をカウンタにロードして , カウン
ト動作を継続します。このとき , アンダフロー割込み要求フラグビット (UF) を "1" に
セットし , 割込み要求許可ビット (INTE) が "1" であれば割込み要求を発生します。ま
た , TOT0 端子からは , アンダフローごとに反転するトグル波形を出力できます。
● ソフトウェアトリガの動作
タイマ制御ステータスレジスタ (TMCSR0) の TRG ビットに "1" を書き込むと , カウン
タを起動します。
図 14.3-4 にリロード時のソフトウェアトリガの動作を示します。
図 14.3-4 リロードモード時のカウント動作 ( ソフトウェアトリガ動作 )
カウントクロック
リロード
データ
カウンタ
-1
0000H
リロード
データ
-1
0000H
リロード
データ
-1
0000H
リロード
データ
-1
データロード信号
UFビット
CNTEビット
TRGビット
T*
TOT0端子
T:マシンサイクル *:トリガ入力からリロードデータロードまで1T時間かかります。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
335
第 14 章 16 ビットリロードタイマ
14.3 16 ビットリロードタイマの動作
MB90335 シリーズ
● 外部トリガの動作
有効エッジ ( 立上り , 立下り , 両エッジ選択可能 ) が TIN0 端子に入力されると , カウン
タを起動します。
図 14.3-5 にリロードモード時の外部トリガの動作を示します。
図 14.3-5 リロードモード時のカウント動作 ( 外部トリガ動作 )
カウントクロック
カウンタ
リロード
データ
-1
0000H
リロード
データ
-1
0000H
リロード
データ
-1
0000H
リロード
データ
-1
データロード信号
UFビット
CNTEビット
TIN0端子
TOT0端子
2T~2.5T*
T:マシンサイクル *:トリガ入力からリロードデータロードまで2T~2.5T時間かかります。
<注意事項>
TIN0 端子へ入力するトリガパルス幅は , 2/ φ 以上としてください。
336
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 14 章 16 ビットリロードタイマ
14.3 16 ビットリロードタイマの動作
MB90335 シリーズ
● ゲート入力の動作
タイマコントロールステータスレジスタ (TMCSR0) のカウント許可ビット (CNTE) に
"1" を設定している場合に , ソフトウェアトリガビット (TRG) に "1" を設定すると , カ
ウント動作を開始します。
動作モード設定ビット(MOD2, MOD1, MOD0)で設定しているゲート入力の有効レベル
("L", "H" から設定可能 ) が TIN0 端子に入力されている間 , カウント動作を行います。
図 14.3-6 リロードモード時のカウント動作 ( ソフトトリガゲート動作 )
カウントクロック
リロードデータ
カウンタ
-1
-1
-1
0000H
リロード
データ
-1
-1
データロード信号
UFビット
CNTEビット
TRGビット
T*
TIN0端子
TOT0端子
T:マシンサイクル *:トリガ入力からリロードデータロードまで1T時間かかります。
<注意事項>
TIN0 端子へ入力するトリガパルス幅は , 2/ φ 以上としてください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
337
第 14 章 16 ビットリロードタイマ
14.3 16 ビットリロードタイマの動作
14.3.3
MB90335 シリーズ
内部クロックモード ( ワンショットモード ) の動作
内部カウントクロックに同期して , 16 ビットカウンタをカウントダウンし , カウン
タのアンダフローで CPU に割込み要求を発生します。また , TOT0 端子から , カウ
ント中を示す矩形波を出力できます。
■ 内部クロックモード ( ワンショットモード )
カウント動作を許可 (TMCSR0 の CNTE=1) し , ソフトウェアトリガビット (TMCSR0 の
TRG) または外部トリガで , タイマ起動すると , カウント動作を開始します。カウント
許可ビットとソフトウェアトリガビットを同時に "1" にセットすると , カウント許可と
同時にカウントを開始します。カウンタ値がアンダフロー("0000H" → "FFFFH") すると ,
"FFFFH" の状態で , カウンタを停止します。このとき , アンダフロー割込み要求フラグ
ビット (UF) を "1" にセットし , 割込み要求許可ビット (INTE) が "1" であれば割込み要
求を発生します。
また , TOT0 端子からはカウント中を示す矩形波を出力できます。
● ソフトウェアトリガの動作
タイマ制御ステータスレジスタ (TMCSR0) の TRG ビットに "1" を書き込むことで , カ
ウンタを起動します。
図 14.3-7 に , ワンショットモード時のソフトウェアトリガ動作を示します。
図 14.3-7 ワンショットモード時のカウント動作 ( ソフトウェアトリガ動作 )
カウントクロック
リロード
データ
カウンタ
-1
0000H
FFFFH
リロード
データ
-1
0000H
FFFFH
データロード信号
UFビット
CNTEビット
TRGビット
T*
TOT0端子
起動トリガ入力待ち
T:マシンサイクル *:トリガ入力からリロードデータロードまで1T時間かかります。
338
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 14 章 16 ビットリロードタイマ
14.3 16 ビットリロードタイマの動作
MB90335 シリーズ
● 外部トリガの動作
有効エッジ ( 立上り , 立下り , 両エッジ選択可能 ) が TIN0 端子に入力されると , カウン
タを起動します。
図 14.3-8 に , ワンショットモード時の外部トリガ動作を示します。
図 14.3-8 ワンショットモード時のカウント動作 ( 外部トリガ動作 )
カウントクロック
カウンタ
リロード
データ
-1
0000H FFFFH
リロード
データ
-1
0000H
FFFFH
データロード信号
UFビット
CNTEビット
TIN0端子
2T~2.5T*
TOT0端子
起動トリガ入力待ち
T:マシンサイクル *:外部トリガ入力からリロードデータロードまで2T~2.5Tの時間がかかります。
<注意事項>
TIN0 端子へ入力するトリガパルス幅は , 2/ φ 以上としてください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
339
第 14 章 16 ビットリロードタイマ
14.3 16 ビットリロードタイマの動作
MB90335 シリーズ
● ゲート入力の動作
有効レベル ("H" レベル , "L" レベル選択可能 ) が TIN0 端子に入力されている間 , カウ
ント動作を行います。図 14.3-9 に , ワンショットモード時のゲート入力動作を示しま
す。
図 14.3-9 ワンショットモード時のカウント動作 ( ソフトウェアトリガゲート入力動作 )
カウントクロック
リロード
データ
カウンタ
-1
0000H FFFFH
リロード
データ
-1
0000H FFFFH
データロード信号
UFビット
CNTEビット
TRGビット
T*
TOT0端子
起動トリガ入力待ち
T:マシンサイクル *:トリガ入力からリロードデータロードまで1T時間かかります。
<注意事項>
TIN0 端子へ入力するゲート入力のパルス幅は , 2/ φ 以上としてください。
340
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 14 章 16 ビットリロードタイマ
14.3 16 ビットリロードタイマの動作
MB90335 シリーズ
イベントカウントモード
14.3.4
TIN0 端子からの入力エッジをカウントして , 16 ビットカウンタをカウントダウンし ,
カウンタのアンダフローで , CPU に割込み要求を発生します。また , TOT0 端子から ,
トグル波形または , 矩形波を出力できます。
■ イベントカウントモード
カウント動作を許可 (TMCSR0 の CNTE=1) し , カウンタを起動 (TMCSR0 の TRG=1) す
ると , 16 ビットリロードレジスタ (TMRLR0) の値がカウンタにロードされ , TIN0 端子
に入力されたパルス ( 外部カウントクロック ) の , 有効エッジ ( 立上り , 立下り , 両エッ
ジ選択可能 ) を検出するたびにカウントダウンします。カウント許可ビットとソフト
ウェアトリガビットを同時に "1" にセットすれば , カウント許可と同時にカウントを開
始します。
● リロードモード時の動作
カウンタ値がアンダフロー ("0000H" → "FFFFH") すると , 16 ビットリロードレジスタ
(TMRLR0) の値をカウンタにロードして , カウント動作を継続します。このとき , アン
ダフロー割込み要求フラグビット (UF) を "1" にセットし , 割込み要求許可ビット
(TMCSR0 の INTE) が "1" であれば割込み要求を発生します。また , TOT0 端子からは ,
アンダフローごとに反転するトグル波形を出力できます。
図 14.3-10 に , リロードモードのカウント動作を示します。
図 14.3-10 リロードモード時のカウント動作 ( イベントカウントモード )
TIN0端子
リロード
データ
カウンタ
-1
0000H
リロード
データ
-1
0000H
リロード
データ
-1
0000H
リロード
データ
-1
データロード信号
UFビット
CNTEビット
TRGビット
T*
TOT0端子
T:マシンサイクル *:トリガ入力からリロードデータロードまで1T時間かかります。
<注意事項>
TIN0 端子へ入力されるクロックの "H" 幅および "L" 幅は , 4/ φ 以上としてください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
341
第 14 章 16 ビットリロードタイマ
14.3 16 ビットリロードタイマの動作
MB90335 シリーズ
● ワンショットモード時の動作
カウンタ値がアンダフロー ("0000H" → "FFFFH") すると , "FFFFH" の状態で , カウンタ
を停止します。このとき , アンダフロー要求フラグビット (UF) が "1" にセットされ , 割
込み要求出力許可ビット (INTE) が "1" であれば割込み要求を発生します。また , TOT0
端子からは , カウント中を示す矩形波を出力できます。
図 14.3-11 に , ワンショットモードのカウンタ動作を示します。
図 14.3-11 ワンショットモード時のカウンタ動作 ( イベントカウントモード )
TIN0端子
リロード
データ
カウンタ
-1
0000H FFFFH
リロード
データ
-1
0000H
FFFFH
データロード信号
UFビット
CNTEビット
TRGビット
T*
TOT0端子
起動トリガ入力待ち
T:マシンサイクル *:トリガ入力からリロードデータロードまで1T時間かかります。
<注意事項>
TIN0 端子へ入力されるクロックの "H" 幅および "L" 幅は , 4/ φ 以上としてください。
342
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 15 章
8/16 ビット PPG タイマ
8/16 ビット PPG タイマの概要 , レジスタの構成 /
機能および 8/16 ビット PPG タイマの動作につい
て説明します。
15.1 8/16 ビット PPG タイマの概要
15.2 8/16 ビット PPG タイマのレジスタ
15.3 8/16 ビット PPG タイマの動作
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
343
第 15 章 8/16 ビット PPG タイマ
15.1 8/16 ビット PPG タイマの概要
15.1
MB90335 シリーズ
8/16 ビット PPG タイマの概要
8/16 ビット PPG タイマは , 8 ビットのリロードタイマモジュールで , タイマ動作に
応じたパルス出力により , PPG 出力を行います。
ハードウェアとして以下を有しています。
• 8 ビットダウンカウンタ 4 個
• 8 ビットリロードタイマ 8 個
• 16 ビット制御レジスタ 2 個
• 外部パルス出力端子 4 本
• 割込み出力 4 本
なお , MB90335 シリーズには , 8 ビット PPG として 4 チャネルあり , このうち
PPG0+PPG1/PPG2+PPG3 の組合せで 16 ビット PPG(2 チャネル ) としても動作し
ます。
■ 8/16 ビット PPG タイマの概略仕様
以下に , 8/16 ビット PPG タイマの機能概略を示します。
● 8 ビット PPG 出力 4 チャネル独立動作モード
4 チャネルの独立した PPG 出力動作が可能です。
● 16 ビット PPG 出力動作モード
2 チャネルの 16 ビットの PPG 出力動作が可能です。
PPG0+PPG1, PPG2+PPG3 の組合せで使用します。
● 8+8 ビット PPG 出力動作モード
PPG0(PPG2) の出力を PPG1(PPG3) のクロック入力にすることによって , 任意周期の 8
ビット PPG 出力が可能です。
● PPG 出力動作
任意周期およびデューティ比のパルス波を出力します。
344
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 15 章 8/16 ビット PPG タイマ
15.1 8/16 ビット PPG タイマの概要
MB90335 シリーズ
15.1.1
8/16 ビット PPG タイマのブロックダイヤグラム
8/16 ビット PPG タイマの ch.0/ch.2 および ch.1/ch.3 のブロックダイヤグラムを示
します。
■ 8/16 ビット PPG タイマのブロックダイヤグラム
図 15.1-1 に ch.0/ch.2 のブロックダイヤグラムを , 図 15.1-2 に ch.1/ch.3 のブロックダイ
ヤグラムを示します。
図 15.1-1 8/16 ビット PPG タイマのブロックダイヤグラム (ch.0/ch.2)
PPG0/PPG2出力許可
周辺クロック16分周
周辺クロック 8分周
周辺クロック 4分周
周辺クロック 2分周
周辺クロック
PPG0/PPG2
PPG0/PPG2
出力ラッチ
PEN0
S
R
Q
IRQ
PCNT(ダウンカウンタ)
ch.1/ch.3ボロー
L/Hセレクタ
カウント
クロック選択
PIF0
タイムベースカウンタの出力
メインクロックの512分周
PIE0
L/H 選択
PRLL
PRLBH
PPGCO/PPGC2
(動作モード制御)
PRLH
"L" データバス
"H" データバス
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
345
第 15 章 8/16 ビット PPG タイマ
15.1 8/16 ビット PPG タイマの概要
MB90335 シリーズ
図 15.1-2 8/16 ビット PPG タイマのブロックダイヤグラム (ch.1/ch.3)
PPG1/PPG3出力許可
周辺クロック16分周
周辺クロック 8分周
周辺クロック 4分周
周辺クロック 2分周
周辺クロック
PPG1/PPG3
PPG1/PPG3
出力ラッチ
PEN1
S
R
Q
IRQ
PCNT(ダウンカウンタ)
L/Hセレクタ
カウント
クロック選択
PUF1
タイムベースカウンタの出力
メインクロックの512分周
PIE1
L/H 選択
PRLL
PRLBH
PPGC1/PPGC3
(動作モード制御)
PRLH
"L" データバス
"H" データバス
346
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 15 章 8/16 ビット PPG タイマ
15.2 8/16 ビット PPG タイマのレジスタ
MB90335 シリーズ
15.2
8/16 ビット PPG タイマのレジスタ
8/16 ビット PPG タイマで使用するレジスタの構成および機能について説明します。
■ 8/16 ビット PPG タイマのレジスタ一覧
図 15.2-1 に , 8/16 ビット PPG タイマのレジスタ一覧を示します。
図 15.2-1 8/16 ビット PPG タイマのレジスタ一覧
bit
7
ch.0 : 000046H
PEN0
ch.2 : 000048H
6
5
4
3
2
1
-
PE00
PIE0
PUF0
-
-
(R/W)
(0)
(-)
(X)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(-)
(X)
(-)
(X)
bit 15
ch.1 : 000047H
PEN1
ch.3 : 000049H
14
13
12
11
10
9
-
PE10
PIE1
PUF1
MD1
MD0
(R/W)
(0)
(-)
(X)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
7
6
5
4
3
2
1
PCS2
PCS1
PCS0
PCM2 PCM1 PCM0
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
予約
(R/W)
(X)
6
5
4
3
2
1
0
D06
D05
D04
D03
D02
D01
D00
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
14
13
12
11
10
9
bit
ch.0, ch.1 :
00004CH
ch.2, ch.3 :
00004EH
bit
7
ch.0 : 007900H
D07
ch.1 : 007902H
(R/W)
ch.2 : 007904H
(X)
ch.3 : 007906H
bit 15
ch.0 : 007901H
D15
ch.1 : 007903H
(R/W)
ch.2 : 007905H
(X)
ch.3 : 007907H
D14
D13
D12
D11
D10
D09
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
0
PPGC0/PPGC2
PPG 動作モード
制御レジスタ
(R/W) リード / ライト
(1) 初期値
予約
8
PPGC1/PPGC3
PPG 動作モード
制御レジスタ
(R/W) リード / ライト
(1) 初期値
予約
0
PPG01/PPG23
予約 PPG 出力制御レジスタ
(R/W) リード / ライト
(X) 初期値
PRLL0~PRLL3
PPG リロードレジスタ下位
(R/W) リード / ライト
(X) 初期値
8
PRLH0~PRLH3
D08 PPG リロードレジスタ上位
(R/W) リード / ライト
(X) 初期値
R/W : リード / ライト可能
: 未定義
X
: 不定値
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
347
第 15 章 8/16 ビット PPG タイマ
15.2 8/16 ビット PPG タイマのレジスタ
15.2.1
MB90335 シリーズ
PPG0/PPG2 動作モード制御レジスタ (PPGC0/
PPGC2)
PPG0/PPG2 動作モード制御レジスタ (PPGC0/PPGC2) の構成および機能について
説明します。
■ PPG0/PPG2 動作モード制御レジスタ (PPGC0/PPGC2)
PPG0/PPG2 動作モード制御レジスタ (PPGC0/PPGC2) は , ch.0/ch.2 の動作モード選択 ,
端子出力制御 , カウントクロック選択およびトリガの制御を行います。
図 15.2-2 に , PPG0/PPG2 動作モード制御レジスタ (PPGC0/PPGC2) のビット構成を示し
ます。
図 15.2-2 PPG0/PPG2 動作モード制御レジスタ (PPGC0/PPGC2) のビット構成
bit
7
ch.0 : 000046H
PEN0
ch.2 : 000048H
(R/W)
(0)
6
5
4
3
2
1
-
PE00
PIE0
PUF0
-
-
(-)
(X)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(-)
(X)
(-)
(X)
0
PPGC0/PPGC2
PPG 動作モード
制御レジスタ
(R/W) リード / ライト
(1) 初期値
予約
R/W : リード / ライト可能
: 未定義
X
: 不定値
以下に , PPG0/PPG2 動作モード制御レジスタ (PPGC0/PPGC2) の各ビットの機能を説明
します。
[bit7] PEN0 ( 動作許可 )
PPG0/PPG2 の動作開始および動作モードを選択します。
PEN0
動作状態
0
動作停止 ("L" レベル出力保持 )
1
PPG 動作許可
• このビットに "1" を書き込むことによって , PPG はカウントを開始します。
• このビットは , リセットによって "0" に初期化されます。
• 読出し / 書込みが可能です。
[bit6] 未定義ビット
リード値は不定です。ライトは動作に影響を与えません。
348
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 15 章 8/16 ビット PPG タイマ
15.2 8/16 ビット PPG タイマのレジスタ
MB90335 シリーズ
[bit5] PE00 (PPG0/PPG2 出力端子許可 )
パルス出力外部端子 PPG0/PPG2 へのパルス出力の禁止 / 許可を制御します。
PE00
動作状態
0
汎用ポート端子 ( パルス出力禁止 )
1
PPG0/PPG2 パルス出力 ( パルス出力許可 )
• このビットは , リセットによって "0" に初期化されます。
• 読出し / 書込みが可能です。
[bit4] PIE0 (PPG0/PPG2 の割込み許可 )
PPG0/PPG2 の割込みの禁止 / 許可を制御します。
PIE0
動作状態
0
割込み禁止
1
割込み許可
• このビットが "1" のとき , PUF0 が "1" になると割込み要求を発生します。このビッ
トが "0" のときは , 割込みを発生しません。
• このビットは , リセットによって "0" に初期化されます。
• 読出し / 書込みが可能です。
[bit3] PUF0 (PPG0/PPG2 カウンタアンダフロー )
PPG0/PPG2 のカウンタアンダフローの検出結果を表示します。
PUF0
動作状態
0
PPG カウンタアンダフローを検出していません。
1
PPG カウンタアンダフローを検出しました。
8 ビット PPG 4 チャネルモード (PPG0, PPG1/PPG2, PPG3) および 8 ビットプリスケーラ
+8 ビット PPG モード時には , ch.0, ch.2 のカウンタの値が 00H ∼ FFH になったときの
アンダフローにより "1" にセットされます。16 ビット PPG 2 チャネルモード (PPG0,
PPG1/PPG2, PPG3) 時には , ch.1, ch.3/ch.0, ch.2 のカウンタの値が 0000H ∼ FFFFH になっ
たときのアンダフローによって "1" にセットされます。"0" の書込みにより "0" になり
ます。PUF0 ビットへの "1" 書込みは意味がありません。リードモディファイライト系
命令の読出しに対しては , "1" が読み出されます。
• このビットは , リセットによって "0" に初期化されます。
• 読出し / 書込みが可能です。
[bit2, bit1] 未定義ビット
リード値は不定です。ライトは動作に影響を与えません。
[bit0] 予約ビット
予約ビットです。必ず "1" に設定してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
349
第 15 章 8/16 ビット PPG タイマ
15.2 8/16 ビット PPG タイマのレジスタ
15.2.2
MB90335 シリーズ
PPG1/PPG3 動作モード制御レジスタ (PPGC1/
PPGC3)
PPG1/PPG3 動作モード制御レジスタ (PPGC1/PPGC3) の構成および機能について
説明します。
■ PPG1/PPG3 動作モード制御レジスタ (PPGC1/PPGC3)
PPG1/PPG3 動作モード制御レジスタ (PPGC1/PPGC3) は , ch.1/ch.3 の動作モード選択 ,
端子出力制御 , カウントクロック選択およびトリガの制御を行います。
図 15.2-3 に , PPG1/PPG3 動作モード制御レジスタ (PPGC1/PPGC3) のビット構成を示し
ます。
図 15.2-3 PPG1/PPG3 動作モード制御レジスタ (PPGC1/PPG3) のビット構成
bit
ch.1 : 000047H
ch.3 : 000049H
15
14
13
12
11
10
9
PEN1
-
PE10
PIE1
PUF1
MD1
MD0
(R/W)
(0)
(-)
(X)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
8
PPGC1/PPGC3
PPG 動作モード
制御レジスタ
(R/W) リード / ライト
(1) 初期値
予約
R/W : リード / ライト可能
: 未定義
X
: 不定値
以下に , PPG1/PPG3 動作モード制御レジスタ (PPGC1/PPGC3) の各ビットの機能を説明
します。
[bit15] PEN1 ( 動作許可 )
PPG1/PPG3 の動作開始および動作モードを選択します。
PEN1
動作状態
0
動作停止 ("L" レベル出力保持 )
1
PPG 動作許可
• このビットに "1" を書き込むことによって , PPG はカウントを開始します。
• このビットは , リセットによって "0" に初期化されます。
• 読出し / 書込みが可能です。
[bit14] 未定義ビット
リード値は不定です。ライトは動作に影響を与えません。
350
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 15 章 8/16 ビット PPG タイマ
15.2 8/16 ビット PPG タイマのレジスタ
MB90335 シリーズ
[bit13] PE10 (PPG1/PPG3 出力端子許可 )
パルス出力外部端子 PPG1/PPG3 へのパルス出力の禁止 / 許可を制御します。
PE10
動作状態
0
汎用ポート端子 ( パルス出力禁止 )
1
PPG1/PPG3 パルス出力 ( パルス出力許可 )
• このビットは , リセットによって "0" に初期化されます。
• 読出し / 書込みが可能です。
[bit12] PIE1 (PPG1/PPG3 の割込み許可 )
PPG1/PPG3 の割込みの禁止 / 許可を制御します。
PIE1
動作状態
0
割込み禁止
1
割込み許可
• このビットが "1" のとき , PUF1 が "1" になると割込み要求を発生します。このビッ
トが "0" のときは , 割込みを発生しません。
• このビットは , リセットによって "0" に初期化されます。
• 読出し / 書込みが可能です。
[bit11] PUF1 (PPG1/PPG3 カウンタアンダフロー )
PPG1/PPG3 のカウンタアンダフローの検出結果を表示します。
PUF1
動作状態
0
PPG カウンタアンダフローを検出していません。
1
PPG カウンタアンダフローを検出しました。
8 ビット PPG 4 チャネルモード (PPG0, PPG1/PPG2, PPG3) および 8 ビットプリスケーラ
+8 ビット PPG モード時には , ch.1, ch.3 のカウンタの値が 00H ∼ FFH になったときのア
ンダフローにより "1" にセットされます。16 ビット PPG 2 チャネルモード (PPG0, PPG1/
PPG2, PPG3) 時には , ch.1, ch.3/ch.0, ch.2 のカウンタの値が 0000H ∼ FFFFH になったとき
のアンダフローによって "1" にセットされます。"0" の書込みにより "0" になります。
PUF1 ビットへの "1" 書込みは意味がありません。リードモディファイライト系命令系
の読出しに対しては , "1" が読み出されます。
• このビットは , リセットによって "0" に初期化されます。
• 読出し / 書込みが可能です。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
351
第 15 章 8/16 ビット PPG タイマ
15.2 8/16 ビット PPG タイマのレジスタ
MB90335 シリーズ
[bit10, bit9] MD1, MD0 ( 動作モード選択 )
PPG タイマの動作モードを選択します。
MD1
MD0
0
0
8 ビット PPG 2 チャネル独立モード ( × 2 あり )
0
1
8 ビットプリスケーラ +8 ビット PPG 1 チャネル
1
0
予約 ( 設定禁止 )
1
1
16 ビット PPG 1 チャネルモード ( × 2 あり )
動作モード
• これらのビットは , リセットによって "00B" に初期化されます。
• 読出し / 書込みが可能です。
<注意事項>
• MD1, MD0 ビットを "10B" に設定しないでください。
• MD1, MD0 ビットを "01B" に設定する場合には , PPGC0 の PEN0 ビット /PPGC1 の
PEN1 ビットを "01B" に設定しないでください。また , PEN0 ビットおよび PEN1 ビッ
トを同時に "11B" または "00B" にセットすることを推奨します。
• MD1, MD0 ビットを "11B" に設定する場合には , PPGC0/PPGC1 をワード転送で書き
換え , PEN0/PEN1 を同時に "11B" または "00B" にセットしてください。
[bit8] 予約ビット
予約ビットです。必ず "1" に設定してください。
352
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 15 章 8/16 ビット PPG タイマ
15.2 8/16 ビット PPG タイマのレジスタ
MB90335 シリーズ
PPG0 ∼ PPG3 出力制御レジスタ (PPG01/PPG23)
15.2.3
PPG0 ∼ PPG3 出力制御レジスタ (PPG01/PPG23) の構成および機能について説明
します。
■ PPG0 ∼ PPG3 出力制御レジスタ (PPG01/PPG23)
図 15.2-4 に , PPG0 ∼ PPG3 出力制御レジスタ (PPG01/PPG23) のビット構成を示します。
図 15.2-4 PPG0 ∼ PPG3 出力制御レジスタ (PPG01/PPG23)
bit
ch.0, ch.1 :
00004CH
ch.2, ch.3 :
00004EH
7
6
5
4
3
2
PCS2
PCS1
PCS0
PCM2 PCM1 PCM0
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
1
0
PPG01/PPG23
予約 PPG 出力制御レジスタ
(R/W) リード / ライト
(X) 初期値
予約
(R/W)
(X)
R/W : リード / ライト可能
X
: 不定値
以下に , PPG0 ∼ PPG3 出力制御レジスタ (PPG01/PPG23) の各ビットの機能を説明しま
す。
[bit7 ∼ bit5] PCS2 ∼ PCS0 ( カウントクロック選択 )
ch.1, ch.3 のダウンカウンタの動作クロックを選択します。
PCS2
PCS1
PCS0
0
0
0
周辺クロック (41.6 ns マシンクロック 24 MHz 時 )
0
0
1
周辺クロック /2(83.3 ns マシンクロック 24 MHz 時 )
0
1
0
周辺クロック /4(167 ns マシンクロック 24 MHz 時 )
0
1
1
周辺クロック /8(333 ns マシンクロック 24 MHz 時 )
1
0
0
周辺クロック /16(667 ns マシンクロック 24 MHz 時 )
1
1
1
タイムベースカウンタからの入力クロック
(29 × 167 ns=85 μs 原発振 6 MHz 時 )
動作モード
• このビットは , リセットによって "000B" に初期化されます。
• 読出し / 書込みが可能です。
<注意事項>
8 ビットプリスケーラ +8 ビット PPG モードおよび 16 ビット PPG モード時には , ch.1,
ch.3 の PPG は ch.0, ch.2 からカウントクロックを受けて動作するため , PCS2 ∼ PCS0
ビットの指定は無効になります。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
353
第 15 章 8/16 ビット PPG タイマ
15.2 8/16 ビット PPG タイマのレジスタ
MB90335 シリーズ
[bit4 ∼ bit2] PCM2 ∼ PCM0 ( カウントクロック選択 )
ch.0, ch.2 のダウンカウンタの動作クロックを選択します。
PCM2
PCM1
PCM0
動作モード
0
0
0
周辺クロック (41.6 ns マシンクロック 24 MHz 時 )
0
0
1
周辺クロック /2(83.3 ns マシンクロック 24 MHz 時 )
0
1
0
周辺クロック /4(167 ns マシンクロック 24 MHz 時 )
0
1
1
周辺クロック /8(333 ns マシンクロック 24 MHz 時 )
1
0
0
周辺クロック/16(667 nsマシンクロック24 MHz時)
1
1
1
タイムベースカウンタからの入力クロック
(29 × 167 ns=85 μs 原発振 6 MHz 時 )
• このビットは , リセットによって "000B" に初期化されます。
• 読出し / 書込みが可能です。
[bit1, bit0] 予約ビット
予約ビットです。必ず "00B" に設定してください。
354
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 15 章 8/16 ビット PPG タイマ
15.2 8/16 ビット PPG タイマのレジスタ
MB90335 シリーズ
PPG リロードレジスタ (PRLL0 ∼ PRLL3, PRLH0 ∼
PRLH3)
15.2.4
PPG リロードレジスタ (PRLL0 ∼ PRLL3, PRLH0 ∼ PRLH3) の構成および機能に
ついて説明します。
■ PPG リロードレジスタ (PRLL0 ∼ PRLL3, PRLH0 ∼ PRLH3)
図 15.2-5 に , PPG リロードレジスタ (PRLL0 ∼ PRLL3, PRLH0 ∼ PRLH3) のビット構成
を示します。
図 15.2-5 PPG リロードレジスタ (PRLL0 ∼ PRLL3, PRLH0 ∼ PRLH3)
bit
7
ch.0 : 007900H
D07
ch.1 : 007902H
(R/W)
ch.2 : 007904H
(X)
ch.3 : 007906H
bit
ch.0 : 007901H
ch.1 : 007903H
ch.2 : 007905H
ch.3 : 007907H
15
6
5
4
3
2
1
0
D06
D05
D04
D03
D02
D01
D00
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
14
13
12
11
10
9
D15
D14
D13
D12
D11
D10
D09
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
PRLL0~PRLL3
PPG リロードレジスタ下位
(R/W) リード / ライト
(X) 初期値
8
PRLH0~PRLH3
D08 PPG リロードレジスタ上位
(R/W) リード / ライト
(X) 初期値
PPG リロードレジスタ (PRLL0 ∼ PRLL3, PRLH0 ∼ PRLH3) は , ダウンカウンタ (PCNT)
へのリロード値を保持する , 各 8 ビットのレジスタです。それぞれ次の役割を持ってい
ます。
レジスタ名
機能
PRLL
L 側リロード値保持
PRLH
H 側リロード値保持
• どちらのレジスタも , 読出し / 書込み可能です。
<注意事項>
8 ビットプリスケーラ +8 ビット PPG モードで使用する場合には , ch.0, ch.2 の PRLL と
PRLH に異なる値を設定すると , ch.1, ch.3 の PPG 波形がサイクルごとに異なる場合があ
ります。
したがって , ch.0, ch.2 の PRLL と PRLH は , 同じ値に設定することを推奨します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
355
第 15 章 8/16 ビット PPG タイマ
15.3 8/16 ビット PPG タイマの動作
15.3
MB90335 シリーズ
8/16 ビット PPG タイマの動作
8/16 ビット PPG タイマには , 8 ビット長の PPG ユニットが 4 チャネル (PPG0,
PPG1/PPG2, PPG3) あり , それぞれが独立モード以外にも , 直結 (PPG0+PPG1/
PPG2+PPG3) 動作をさせることによって , 8 ビットプリスケーラ +8 ビット PPG
モードと , 16 ビット PPG モードの計 3 種類の動作を行うことができます。
■ 8/16 ビット PPG タイマの動作概略
8 ビット長の PPG ユニットそれぞれは , 8 ビット長のリロードレジスタが "L" 側と "H"
側の 2 本あります (PRLL, PRLH)。
PRLL, PRLH レジスタに書き込まれた値が , 8 ビットダウンカウンタ (PCNT) に "L" 側 /
"H" 側交互にリロードされてカウントクロックごとにダウンカウントされ , カウントの
ボロー発生によるリロード時に , 出力端子の値を反転させます。この動作によって , 端
子出力はリロードレジスタ値に対応した "L" 幅 /"H" 幅をもつパルス出力となります。
動作開始 / 再スタートは , レジスタのビット書込みによります。
リロード動作とパルス出力の関係を示します。
リロード動作
端子出力変化
PRLH → PCNT
PPG0/PPG1[0 → 1] 立上り
また , PPGC0/PPGC2 中の bit4(PIE0) が "1" のときおよび PPGC1/PPGC3 中の bit2(PIE1)
が "1" のとき , それぞれのカウンタの 00H → FFH へのボロー (16 ビット PPG モードの
場合は , 0000H → FFFFH へのボロー ) によって割込み要求が出力されます。
■ 動作モード
8/16 ビット PPG タイマは , 2 チャネル独立モードと 8 ビットプリスケーラ +8 ビット
PPG モードと , 16 ビット PPG モードの計 3 種類の動作モードがあります (MB90335 シ
リーズはモードごとに× 2 チャネルあります )。
2 チャネル独立モードは , 8 ビット PPG として 2 チャネル独立に動作させるモードで
す。PPG0 端子には , ch.0 の PPG 出力が接続され , PPG1 には ch.1 の PPG 出力が接続さ
れます (PPG2, PPG3 → ch.2, ch.3 に対応 )。
8 ビットプリスケーラ +8 ビット PPG モードは , ch.0(ch.2) を 8 ビットプリスケーラとし
て動作させ , ch.1(ch.3) を ch.0(ch.2) のボロー出力でカウントすることによって , 任意周
期の 8 ビット PPG 波形を出力できるようにする動作モードです。PPG0(PPG2) 端子は ,
ch.0(ch.2) のプリスケーラ出力が接続され , PPG1 端子は , ch.1(ch.3) の PPG の出力が接
続されます。
16 ビット PPG チャネルモード (MB90335 シリーズは× 2 チャネルあります ) は , ch.0
と ch.1 を直結させて (ch.2, ch.3 直結 ) 16 ビットの PPG として動作させる動作モードで
す。PPG0, PPG1 は両方ともに 16 ビット PPG 出力が接続されます。
356
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 15 章 8/16 ビット PPG タイマ
15.3 8/16 ビット PPG タイマの動作
MB90335 シリーズ
■ PPG 出力動作
8/16 ビット PPG タイマは , ch.0(ch.2) の PPG については , PPGC0 の bit7(PEN0) を ,
ch.1(ch.3) の PPG については , PPGC1 の bit15(PEN1) を "1" にセットすることによって
起動され , カウントを開始します。動作を開始した後は , PPGC0 の bit7(PEN0) または
PPGC1 の bit15(PEN1) に "0" を書き込むことによってカウント動作を停止し , 停止した
後にパルス出力は "L" レベルを保持します。
8 ビットプリスケーラ +8 ビット PPG モードのときには , ch.0(ch.2) を停止状態で , ch.1
(ch.3) を動作状態に設定しないでください。
16 ビット PPG モードのときには , PPGC0 中の bit7(PEN0) と PPGC1 中の bit15(PEN1) は ,
同時に開始 / 停止の制御を行ってください。
以下に , PPG 出力動作を説明します。
PPG 動作時は , 任意周期任意デューティ比 ( パルス波の "H" レベル期間と "L" レベル期
間の比 ) のパルス波出力を連続して出力します。PPG はパルス波出力を開始し , 動作停
止を設定するまで停止しません。
図 15.3-1 に , PPG 出力動作の出力波形を示します。
図 15.3-1 PPG 出力動作の出力波形
PEN
PENにより動作開始("L"側から)
出力端子PPG
L:PRLLの値
T×(L+1)
T×(H+1)
H:PRLHの値
T:周辺クロック
(スタート)
(PPGCのクロックセレクトによる)
■ リロード値とパルス幅の関係
リロードレジスタに書かれた値に+1した値に, カウントクロックの周期を掛けた値が,
出力されるパルスの幅となります。つまり , 8 ビット PPG 動作時のリロードレジスタ
値は 00H のときおよび 16 ビット PPG 動作時のリロードレジスタ値が 0000H のときは ,
カウントクロック 1 周期分のパルス幅を持つことになりますので注意してください。ま
た , 8 ビット PPG 動作時のリロードレジスタ値が FFH のときは , カウントクロック 256
周期分のパルス幅をもつことになり , 16 ビット PPG 動作時のリロードレジスタ値が
FFFFH のときは , カウントクロック 65536 分周分のパルス幅をもつことになりますの
で注意してください。パルス幅の計算式を以下に示します。
PL=T × (L+1)
PH=T × (H+1)
PL : "L" パルスの幅
PH : "H" パルスの幅
T
: 入力クロック周期
L
: PRLL 値
H : PRLH 値
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
357
第 15 章 8/16 ビット PPG タイマ
15.3 8/16 ビット PPG タイマの動作
MB90335 シリーズ
■ カウントクロックの選択
8/16 ビット PPG タイマの動作に使用するカウントクロックは , 周辺クロックおよびタ
イムベースカウンタの入力を使用しており , 6 種類のカウントクロック入力が選択でき
ます。
PPG01/PPG23 の bit4 ∼ bit2(PCM2 ∼ PCM0) で ch.0(ch.2) のクロックを , PPG01/PPG23
の bit7 ∼ bit5(PCS2 ∼ PCS0) で ch.1(ch.3) のクロックを選択します。
クロックの選択は , マシンクロックより 1/16 ∼ 1 倍およびタイムベースカウンタの入
力を選択します。
<注意事項>
•
8 ビットプリスケーラ +8 ビット PPG モードおよび 16 ビット PPG モードのときは ,
PPG01/PPG23 の PCS2 ∼ PCS0 の値は無効となります。
•
タイムベースタイマの入力を使用した場合 , トリガまたは停止後の最初のカウントサ
イクルがずれる可能性があります。また , 8/16 ビット PPG タイマが動作中にタイム
ベースカウンタの初期化を行うとサイクルがずれることがあります。
•
8 ビットプリスケーラ +8 ビット PPG モードで , ch.0/ch.2 が動作状態で ch.1/ch.3 が停
止状態のときにch.1(ch.3)を起動すると, 最初のカウントサイクルがずれる可能性があ
ります。
■ パルスの端子出力制御
8/16 ビット PPG タイマによって生成したパルスは , 外部端子 (PPG0 ∼ PPG3) から出力
させることができます。外部端子からパルスを出力するには , 各端子に対応するビット
に "1" を書き込みます。PPG0/PPG2 端子に対しては PPGC0 の bit5(PE00) を , PPG1/PPG3
に対しては PPGC1 の bit13(PE10) を使用します。このビットに "0" が書き込まれている
とき ( 初期値 ) は , パルスは外部端子から出力されずに , 汎用ポートとして機能します。
16 ビット PPG モードでは , PPG0 ∼ PPG3 からは同じ波形が出力されるので , どちらの
外部端子を有効にしても同じ出力を得ることができます。
8 ビットプリスケーラ +8 ビット PPG モードでは , PPG0/PPG2 からは 8 ビットプリス
ケーラのトグル波形が出力され , PPG1/PPG3 からは 8 ビット PPG の波形が出力されま
す。
このモードにおける出力波形を図 15.3-2 に示します。
図 15.3-2
PH0
8 ビットプリスケーラ +8 ビット PPG モードの出力動作の波形
PL0
PPG0
PPG1
P H1
358
PL1
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 15 章 8/16 ビット PPG タイマ
15.3 8/16 ビット PPG タイマの動作
MB90335 シリーズ
図 15.3-2 におけるパルス幅は , 以下の式によって計算できます。
PL0=T × (L0+1)
PH0=T × (L0+1)
PL1=T × (L0+1) × (L1+1)
PH1=T × (L0+1) × (H1+1)
L0
: ch.0 の PRLL の値および ch.1 の PRLH の値
L1
: ch.1 の PRLL の値
H1
: ch.1 の PRLH の値
T
: 入力クロックサイクル
PH0 : PPG0 の "H" パルスの幅
PL0 : PPG0 の "L" パルスの幅
PH1 : PPG1 の "H" パルスの幅
PL1 : PPG1 の "L" パルスの幅
<注意事項>
ch.0 の PRLL と ch.1 の PRLH は同じ値を設定します。
■ 8/16 ビット PPG タイマの割込み
8/16 ビット PPG タイマの割込みは , リロード値がカウントアウトしてボローが発生し
たときにアクティブになります。8 ビット PPG 2 チャネルモードまたは 8 ビットプリ
スケーラ +8 ビット PPG モード (MB90335 シリーズにはそれぞれ× 2 チャネル分あり
ます ) のときは , それぞれのボローによってそれぞれの割込み要求が行われます。しか
し , 16 ビット PPG モードでは , 16 ビットのカウンタのボローによって PUF0 と PUF1
が同時に設定されます。このため , 割込み要因を 1 本化するために , PIE0 または PIE1
のどちらか一方のみを許可します。また , 割込み要因のクリアも PUF0 と PUF1 を同時
に行います。
■ ハードウェアコンポーネントの初期値
8/16 ビット PPG タイマのハードウェアコンポーネントは , リセット時に次の値に初期
化されます。
< レジスタ >
PPG0
→ 0X000001B
PPG1
→ 00000001B
PPG01 → XXXXXX00B
< パルス出力 >
< 割込み要求 >
PPG0
→ "L"
PPG1
→ "L"
PE00
→ PPG0 出力禁止
PE10
→ PPG1 出力禁止
IRQ0
→ "L"
IRQ1
→ "L"
上記以外のハードウェアコンポーネントは初期化されません。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
359
第 15 章 8/16 ビット PPG タイマ
15.3 8/16 ビット PPG タイマの動作
MB90335 シリーズ
■ リロードレジスタへの書込みタイミング
16 ビット PPG モード以外のモードでは , リロードレジスタ PRLL, PRLH へのデータ書
込みはワード転送命令を使用することを推奨します。データ項目をバイト転送命令 2
回でレジスタに書き込んだ場合 , タイミングによっては予想しないパルス幅の出力が
発生する可能性があります。
図 15.3-3 に , リロードレジスタへの書込みタイミングを示します。
図 15.3-3 リロードレジスタへの書込みタイミングチャート
PPG0
A
B
A
B
C
B
C
D
C
D
①
図 15.3-3 において , ①のタイミングの前で PRLL を A から C に書き換えて , ①の後に
PRLH の値を B から D に書き換えたとすると , ①のタイミングにおける PRL の値は ,
PRLL=C, PRLH=B のため 1 回だけ L 側のカウント数 C, H 側のカウント数 B のパルス
が発生します。同様に 16 ビット PPG モードで ch.0/ch.2 と ch.1/ch.3 の PRL にデータを
書き込むには , ロングワード転送命令を使用するかまたは ch.0 → ch.1(ch.2 → ch.3) の
PRL に順にワード転送命令を使用します。このモードのときは , データは , ch.0/ch.2 か
ら PRL へ一時的に書き込まれ , その後 ch.1/ch.3 の PRL に書込んだ時点で , 実際に ch.0
の PRL へ書き込まれます。
16 ビット PPG モード以外では , ch.0/ch.2 と ch.1/ch.3 の書込みは独立に行われます。
図 15.3-4 に , PRL 書込み動作のブロックダイヤグラムを示します。
図 15.3-4 PRL 書込み動作のブロックダイヤグラム
ch.0のPRLの書込みデータ
16ビットPPG
モード以外のとき
ch.0の書込み
テンポラリラッチ
ch.0のPRL
360
ch.1のPRLの書込みデータ
16ビットPPGモード時
ch.1の書込みに同期して
転送
ch.1の書込みデータ
ch.1のPRL
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 16 章
DTP/ 外部割込み
DTP/ 外部割込みの概要 , レジスタの構成 / 機能お
よび DTP/ 外部割込みの動作について説明します。
16.1 DTP/ 外部割込みの概要
16.2 DTP/ 外部割込みのレジスタ
16.3 DTP/ 外部割込みの動作
16.4 DTP/ 外部割込み使用上の注意
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
361
第 16 章 DTP/ 外部割込み
16.1 DTP/ 外部割込みの概要
16.1
MB90335 シリーズ
DTP/ 外部割込みの概要
DTP(Data Transfer Peripheral) は , デバイス外部に存在する周辺装置と F2MC-16LX
CPU との間にあって , 外部周辺装置が発生する DMA 要求または割込み要求を受け
取り , これを F2MC-16LX CPU に伝えて μDMAC または割込み処理を起動させるた
めの周辺制御部です。
■ DTP/ 外部割込みの概要
要求レベルとして , μDMAC の場合は "H", "L" の 2 種類が , 外部割込み要求の場合は
"H", "L" のほか立上りエッジと立下りエッジの計 4 種類が選択できます。
■ DTP/ 外部割込みのブロックダイヤグラム
図 16.1-1 に , DTP/ 外部割込みのブロックダイヤグラムを示します。
図 16.1-1 DTP/ 外部割込みのブロックダイヤグラム
F2MC-16LXバス
8
8
8
16
362
DTP/割込み許可レジスタ
ゲート
要因F/F
エッジ検出回路
8
要求入力
DTP/割込み要因レジスタ
要求レベル設定レジスタ
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 16 章 DTP/ 外部割込み
16.2 DTP/ 外部割込みのレジスタ
MB90335 シリーズ
16.2
DTP/ 外部割込みのレジスタ
DTP/ 外部割込みで使用するレジスタの構成および機能について説明します。
■ DTP/ 外部割込みのレジスタ一覧
図 16.2-1 に , DTP/ 外部割込みのレジスタ一覧を示します。
図 16.2-1 DTP/ 外部割込みのレジスタ一覧
bit
7
6
5
4
3
2
1
0
EN6
EN5
EN4
EN3
EN2
EN1
EN0
14
13
12
11
10
9
8
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
アドレス : 00003CH EN7
bit
15
アドレス : 00003DH ER7
bit
アドレス : 00003EH
bit
アドレス : 00003FH
DTP/ 割込み許可
レジスタ (ENIR)
DTP/ 割込み要因
レジスタ (EIRR)
要求レベル設定
レジスタ (ELVR)
要求レベル設定
レジスタ (ELVR)
■ DTP/ 割込み許可レジスタ (ENIR: Enable Interrupt Request Register)
図 16.2-2 に , DTP/ 割込み許可レジスタ (ENIR) のビット構成を示します。
図 16.2-2 DTP/ 割込み許可レジスタ (ENIR) のビット構成
ENIR
bit
7
アドレス : 00003CH EN7
R/W
6
5
4
3
2
1
0
EN6
R/W
EN5
R/W
EN4
R/W
EN3
R/W
EN2
R/W
EN1
R/W
EN0
R/W
初期値
00000000B
DTP/ 割込み許可レジスタ (ENIR) は , デバイス端子を外部 DTP/ 割込み要求入力として
使用し , 割込みコントローラに対して要求を発生させる機能を動作させることを決定
するレジスタです。ENIR レジスタに "1" が書かれたビットに対応する端子は , 外部
DTP/ 割込み要求入力として使用され , 割込みコントローラに対して要求を発生する機
能を動作させます。"0" が書き込まれたビットに対応する端子は , DTP/ 外部割込み要求
入力要因は保持しますが , 割込みコントローラに対しては要求を発生しません。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
363
第 16 章 DTP/ 外部割込み
16.2 DTP/ 外部割込みのレジスタ
MB90335 シリーズ
■ DTP/ 割込み要因レジスタ (EIRR: External Interrupt Request Register)
図 16.2-3 に , DTP/ 割込み要因レジスタ (EIRR) のビット構成を示します。
図 16.2-3 DTP/ 割込み要因レジスタ (EIRR) のビット構成
EIRR
bit
15
アドレス : 00003DH ER7
R/W
14
13
12
11
10
9
ER6
R/W
ER5
R/W
ER4
R/W
ER3
R/W
ER2
R/W
ER1
R/W
8
初期値
00000000B
ER0
R/W ( ただし両者で
対象が異なる )
DTP/ 割込み要因レジスタ (EIRR) は , 読出し時には対応する DTP/ 外部割込み要求があ
ることを示し , 書込み時にはこの要求を示すフリップフロップの内容をクリアします。
EIRR レジスタを読み出したときに "1" であった場合は , ERx ビットに対応する端子に
外部割込み /DTP 要求があることを示します。また , EIRR レジスタに "0" を書き込むと
対応するビットの要求フリップフロップはクリアされます。"1" を書き込んでも何の操
作も行いません。リードモディファイライト系命令の読出し時には "1" が読み出され
ます。
<注意事項>
•
初期値は "00H" ですが , 外部割込み兼用端子の状態によってリセット解除後の値は変化
します。
•
複数の外部割込み要求出力が許可 (ENIR:EN7 ∼ EN0=1) されている場合 , CPU が割込
みを受け付けたビット (ER7 ∼ ER0 の "1" にセットされているビット ) だけを "0" にク
リアするようにしてください。それ以外のビットを無条件にクリアすることは避けて
ください。
•
DTP/ 外部割込み要因ビット (EIRR:ER) の値は , 対応する DTP/ 外部割込み許可ビット
(ENIR:EN) が "1" に設定されているときのみ有効です。
DTP/ 外部割込みが許可されていない状態 (ENIR:EN=0) では , DTP/ 外部割込み要因の
有無にかかわらず DTP/ 外部割込み要因ビットがセットされる可能性があります。
•
DTP/ 外部割込みを許可 (ENIR:EN=1) する直前に , 対応する DTP/ 外部割込み要因ビッ
ト (EIRR:ER) をクリアしてください。
■ 要求レベル設定レジスタ (ELVR: External Level Register)
図 16.2-4 に , 要求レベル設定レジスタ (ELVR) のビット構成を示します。
図 16.2-4 要求レベル設定レジスタ (ELVR)
ELVR
bit
アドレス : 00003EH
bit
アドレス : 00003FH
364
7
6
5
4
3
2
1
0
LB3
R/W
LA3
R/W
LB2
R/W
LA2
R/W
LB1
R/W
LA1
R/W
LB0
R/W
LA0
R/W
15
14
13
12
11
10
9
8
LB7
R/W
LA7
R/W
LB6
R/W
LA6
R/W
LB5
R/W
LA5
R/W
LB4
R/W
LA4
R/W
FUJITSU MICROELECTRONICS LIMITED
初期値
00000000B
初期値
00000000B
CM44-10137-6
第 16 章 DTP/ 外部割込み
16.2 DTP/ 外部割込みのレジスタ
MB90335 シリーズ
要求レベル設定レジスタ (ELVR) は , 要求検出レベルを選択するレジスタです。1 つの
端子あたり 2 ビットが割り当てられていて , 表 16.2-1 に示す対応となっています。要
求入力がレベルの場合 , クリアしても入力がアクティブならば再びセットされます。
表 16.2-1 ELVR 割当て (LA0 ∼ LA7, LB0 ∼ LB7)
CM44-10137-6
LBx
LAx
動作
0
0
"L" レベルで要求あり
0
1
"H" レベルで要求あり
1
0
立上りエッジで要求あり
1
1
立下りエッジで要求あり
FUJITSU MICROELECTRONICS LIMITED
365
第 16 章 DTP/ 外部割込み
16.3 DTP/ 外部割込みの動作
16.3
MB90335 シリーズ
DTP/ 外部割込みの動作
DTP/ 外部割込みの動作について説明します。
■ 外部割込みの動作
外部割込み要求の設定の後 , 対応する端子に ELVR で設定された要求が入力されると ,
本リソースは割込みコントローラに対して割込み要求信号を発生します。割込みコン
トローラ内で同時発生した割込みの優先順位を識別した結果 , 本リソースからの割込
みが最も優先順位が高かったときに , 割込みコントローラは F2MC-16LX CPU に対して
割込み要求を発生します。F2MC-16LX CPU は , プロセッサステータス (PS) 内の割込み
レベルマスクレジスタ (ILM) と割込み要求を比較し , 要求レベルが ILM ビットより高
かったときに現在実行中の命令が終了し次第 , ハードウェア割込み処理マイクロプロ
グラムを起動します。
図 16.3-1 に , 外部割込み動作のフローを示します。
図 16.3-1 外部割込み動作
F2MC-16LX CPU
割込みコントローラ
外部割込み/DTP
ほかの要求
IL
ICRyy
ELVR
CMP
CMP
EIRR
ICRxx
ENIR
ILM
INTA
要因
割込み処理マイクロプログラムでは割込みベクタ領域の読出しと , 割込みコントロー
ラへの割込みアクノリッジを発生し , ベクタから生成したマクロ命令のジャンプ先ア
ドレスをプログラムカウンタへ転送した上で , ユーザの割込み処理プログラムを実行
します。
■ DTP の動作
初期化としてユーザプログラム内では μDMAC を起動するにあたって , μDMAC ディス
クリプタ内の I/O アドレスポインタに 000000H から 0000FFH に割り付けられているレ
ジスタのアドレスを設定し , バッファアドレスポインタにメモリバッファの先頭アド
レスを設定します。
DTP の動作シーケンスは外部割込みの場合とほぼ同じで , CPU がハードウェア割込み
処理マイクロプログラムを起動するまでは全く同じです。μDMAC が起動されると , ア
ドレッシングされている外部周辺装置に読出しまたは書込み信号が送られ , 本チップ
との間で転送が行われます。外部周辺装置は , その転送が行われてから 3 マシンサイク
ル以内に本チップに対する割込み要求を取り下げてください。転送が終了するとディ
スクリプタの更新などが行われ , その後転送要因をクリアする信号を割込みコント
ローラに発生させます。転送要因をクリアする信号を受け取った本リソースは , 要因を
保持しているフリップフロップをクリアして , 端子からの次の要求に備えます。
図 16.3-2 に , DTP 動作終了時の外部割込み要求を取り下げるタイミングを示します。
また , 図 16.3-3 に , 外部周辺装置とのインタフェース例を示します。
366
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 16 章 DTP/ 外部割込み
16.3 DTP/ 外部割込みの動作
MB90335 シリーズ
図 16.3-2 DTP 動作終了時の外部割込み要求の取下げタイミング
エッジ要求,または"H"レベル要求
割込み要因
ディスクリプタ
選択,読出し
内部動作
アドレスバス端子
I/0レジスタ
リードアドレス
メモリ転送のとき
ライトアドレス
ライトデータ
リードデータ
データバス端子
読出し信号
①
書込み信号
②
3マシンサイクル以内に取り下げる
図 16.3-3 外部周辺装置とのインタフェース例
レジスタ
外部周辺装置
②
①
INT
IRQ
DTP
転送終了後3マシンサイクル
以内に取り下げる
CM44-10137-6
内部バス
データ,アドレス,バス
CORE
MEMORY
MB90335
FUJITSU MICROELECTRONICS LIMITED
367
第 16 章 DTP/ 外部割込み
16.4 DTP/ 外部割込み使用上の注意
16.4
MB90335 シリーズ
DTP/ 外部割込み使用上の注意
DTP/ 外部割込みを使用する上での注意事項について説明します。
■ 外部に接続する周辺装置の条件
DTP がサポートできる外部周辺装置は , 転送が行われたことにより自動的に要求をク
リアするものでなければなりません。また , 転送動作を開始してから 3 マシンサイクル
以内 ( 暫定値 ) で転送要求を取り下げるようになっていないと , 本リソースは次の転送
要求が発生したものとして扱ってしまいます。
■ DTP/ 外部割込みの動作手順
DTP/ 外部割込み内に存在するレジスタの設定は , 次の手順で行ってください。
1. 外部割込み入力として使用する端子と兼用する汎用入出力ポートを入力ポート
に設定する。
2. 許可レジスタの対象となるビットを禁止状態にする。
3. 要求レベル設定レジスタの対象となるビットを設定する。
4. 要因レジスタの対象となるビットをクリアする。
5. 許可レジスタの対象となるビットを許可状態にする。
4. と 5. はワード指定による同時書込みが可能です。
本リソース内のレジスタを設定するときには , 必ず許可レジスタを禁止状態に設定し
ておかなくてはなりません。また , 許可レジスタを許可状態にする前に必ず要因レジス
タをクリアしておく必要があります。これは , レジスタ設定時や割込み許可状態時に
誤って割込み要因が発生してしまうことを避けるためです。
■ 外部割込み要求レベル
• 要求レベルがエッジ要求の場合 , エッジがあったことを検出するためには , パルス
幅は最小 3 マシンサイクル必要です。
• 要求入力レベルがレベル設定の場合 , 外部から要求が入力され , その後取り下げら
れても , 割込み要求許可状態 (ENIR : EN = 1) であれば , 割込みコントローラへの要
求はアクティブのままです。割込みコントローラへの要求を取り下げるには , 割込
み要求フラグビット (EIRR : ER) をクリアする必要があります。
図 16.4-1 レベル設定時の割込み要求フラグビット (EIRR : ER) のクリア
割込み要因
レベル検出
割込み要求フラグビット
(EIRR : ER)
許可ゲート
割込み
コントローラへ
クリアしない限り
要因を保持し続ける
図 16.4-2 割込み許可時の割込み要因と割込みコントローラへの割込み要求
割込み要因
("H"レベル検出の場合)
割込みコントローラ
への割込み要求
割込み要因の取下げ
割込み要求フラグビット (EIRR : ER) のクリアに
よってインアクティブとなる
368
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 17 章
拡張 I/O シリアルインタ
フェース
拡張 I/O シリアルインタフェースの概要 , レジスタ
の構成 / 機能および拡張 I/O シリアルインタフェー
スの動作について説明します。
17.1 拡張 I/O シリアルインタフェースの概要
17.2 拡張 I/O シリアルインタフェースのレジスタ
17.3 拡張 I/O シリアルインタフェースの動作
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
369
第 17 章 拡張 I/O シリアルインタフェース
17.1 拡張 I/O シリアルインタフェースの概要
17.1
MB90335 シリーズ
拡張 I/O シリアルインタフェースの概要
拡張 I/O シリアルインタフェースは , 8 ビット× 1 チャネル構成のクロック同期式に
よるデータ転送可能なシリアル I/O インタフェースです。また , データ転送において ,
LSB ファースト /MSB ファーストの選択が可能です。
■ 拡張 I/O シリアルインタフェースの概要
拡張 I/O シリアルインタフェースには , 以下の 2 種類の動作モードがあります。
• 内部シフトクロックモード : 内部クロックに同期してデータ転送を行います。
• 外部シフトクロックモード : 外部端子 (SCK) から入力されるクロックに同期して
データ転送を行います。このモードで外部端子 (SCK)
を共有している汎用ポートを操作することにより ,
CPU の命令による転送動作も可能です。
■ 拡張 I/O シリアルインタフェースのブロックダイヤグラム
図 17.1-1 に , 拡張 I/O シリアルインタフェースのブロックダイヤグラムを示します。
図 17.1-1 拡張 I/O シリアルインタフェースのブロックダイヤグラム
内 部 デ ー タ バ ス
初期値
D7~D0(LSBファースト)
転送方向選択
(MSBファースト)D0~D7
SIN
読出し
書込み
SDR(シリアルデータレジスタ)
SOT
SCK
シフトクロック
カウンタ
制御回路
内部クロック
2
1
0
SMD2 SMD1 SMD0 SIE
SIR BUSY STOP STRT MODE BDS
SOE SCOE
割込み
要求#38
SMCS
内 部 デ ー タ バ ス
370
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 17 章 拡張 I/O シリアルインタフェース
17.2 拡張 I/O シリアルインタフェースのレジスタ
MB90335 シリーズ
17.2
拡張 I/O シリアルインタフェースのレジスタ
拡張 I/O シリアルインタフェースで使用するレジスタの構成および機能について説
明します。
■ 拡張 I/O シリアルインタフェースのレジスタ一覧
図 17.2-1 に , 拡張 I/O シリアルインタフェースのレジスタ一覧を示します。
図 17.2-1 拡張 I/O シリアルインタフェースのレジスタ一覧
SMCS
bit
15
14
13
アドレス : 000059H SMD2 SMD1 SMD0
12
11
10
9
SIE
SIR
BUSY
STOP
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R)
(R/W)
bit
7
6
5
4
3
2
1
アドレス : 000058H
-
-
-
-
MODE
BDS
SOE
(-)
(-)
(-)
(-)
(R/W)
(R/W)
(R/W)
8
シリアルモード
コントロール
STRT ステータスレジスタ
(R/W) (SMCS)
初期値 00000010B
SMCS
0
シリアルモード
コントロール
SCOE ステータスレジスタ
(R/W) (SMCS)
初期値 XXXX0000B
SDR
bit
アドレス : 00005AH
7
6
5
4
3
2
1
D7
(R/W)
D6
(R/W)
D5
(R/W)
D4
(R/W)
D3
(R/W)
D2
(R/W)
D1
(R/W)
15
14
13
12
11
10
9
MD
(R/W)
(-)
(-)
(-)
DIV3
(R/W)
DIV2
(R/W)
DIV1
(R/W)
0
シリアルデータ
D0 レジスタ (SDR)
(R/W) 初期値 XXXXXXXXB
SDCR
bit
アドレス : 00005BH
8
通信プリスケーラ
DIV0 制御レジスタ (SDCR)
(R/W) 初期値 0XXX0000B
R/W : リード・ライト可能
R : リードオンリ
- : 未定義
X : 不定
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
371
第 17 章 拡張 I/O シリアルインタフェース
17.2 拡張 I/O シリアルインタフェースのレジスタ
17.2.1
MB90335 シリーズ
シリアルモードコントロールステータスレジスタ
(SMCS)
シリアルモードコントロールステータスレジスタ (SMCS) の構成および機能につい
て説明します。
■ シリアルモードコントロールステータスレジスタ (SMCS)
シリアルモードコントロールステータスレジスタ (SMCS) は , シリアル I/O の転送動作
モードを制御するレジスタです。
図 17.2-2 に , シリアルモードコントロールステータスレジスタ (SMCS) のビット構成を
示します。
図 17.2-2 シリアルモードコントロールステータスレジスタ (SMCS) のビット構成
SMCS
bit
15
14
13
アドレス : 000059H SMD2 SMD1 SMD0
12
11
10
9
SIE
SIR
BUSY
STOP
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R)
(R/W)
bit
7
6
5
4
3
2
1
アドレス : 000058H
-
-
-
-
MODE
BDS
SOE
(-)
(-)
(-)
(-)
(R/W)
(R/W)
(R/W)
8
シリアルモード
コントロール
STRT ステータスレジスタ
(R/W) 初期値 00000010B
SMCS
0
シリアルモード
コントロール
SCOE ステータスレジスタ
(R/W) 初期値 XXXX0000B
R/W : リード・ライト可能
R : リードオンリ
- : 未定義
X : 不定
以下に , シリアルモードコントロールステータスレジスタ (SMCS) の各ビットの機能に
ついて説明します。
372
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 17 章 拡張 I/O シリアルインタフェース
17.2 拡張 I/O シリアルインタフェースのレジスタ
MB90335 シリーズ
[bit15 ∼ bit13] SMD2 ∼ SMD0 ( シフトクロック選択 )
シリアルシフトクロックモードを選択します。
シリアルシフトクロックモードの設定内容を , 表 17.2-1, 表 17.2-2 に示します。
表 17.2-1 シリアルシフトクロックモードの選択
SMD2
SMD1
SMD0
φ=24 MHz
div=8
φ=12 MHz
div=4
φ=6 MHz
div=6
分周値
0
0
0
1.5 MHz
1.5 MHz
500 kHz
2
0
0
1
750 kHz
750 kHz
250 kHz
4
0
1
0
188 kHz
188 kHz
62.5 kHz
16
0
1
1
93.4 kHz
93.4 kHz
31.2 kHz
32
1
0
0
46.9 kHz
46.9 kHz
15.6 kHz
64
1
0
1
外部シフトクロックモード
1
1
0
設定禁止
1
1
1
設定禁止
表 17.2-2 通信プリスケーラ (SDCR) の設定例
( マシンクロック )
MD
DIV3
DIV2
DIV1
DIV0
マシンサイクル
( 推奨設定 )
1
1
0
0
0
0
3 MHz
2
1
0
0
0
1
6 MHz
4
1
0
0
1
1
12 MHz
8
1
0
1
1
1
24 MHz
Div
リセットにより "000B" に初期化されます。転送中の書換えは禁止です。
シフトクロックは, 内部シフトクロック5種類と, 外部シフトクロックが選択できます。
外部シフトします。SMD2, SMD1, SMD0=110B, 111B は設定しないでください。
クロック選択で SCOE=0 とし , SCK 端子を共有しているポートを操作することによっ
て , 命令ごとにシフト動作させることもできます。
[bit12] SIE ( シリアル I/O 割込み許可 )
シリアル I/O の割込み要求を制御します。
SIE
動作
0
シリアル I/O 割込み禁止
1
シリアル I/O 割込み許可
[ 初期値 ]
• このリセットにより "0" に初期化されます。
• このビットは , 読出し / 書込みが可能です。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
373
第 17 章 拡張 I/O シリアルインタフェース
17.2 拡張 I/O シリアルインタフェースのレジスタ
MB90335 シリーズ
[bit11] SIR ( シリアル I/O 割込み要求 )
シリアルデータの転送が終了すると "1" にセットされ , 割込み許可時 (SIE=1) にこの
ビットが "1" になると , CPU へ割込み要求が発生します。クリア条件は , MODE ビッ
トによって異なります。
• MODE ビットが "0" のとき , SIR ビットへの "0" 書込みによってクリアされます。
• MODE ビットが "1" のとき , SDR の読出しまたは書込み動作によってクリアされま
す。
• MODE ビットの値にかかわらずリセットまたは STOP ビットへの "1" 書込み動作に
よってクリアされます。
• "1" を書き込んでも意味がありません。
• リードモディファイライト系命令の読出し時は , 常に , "1" が読み出されます。
[bit10] BUSY( 転送状態表示 )
シリアル転送が実行中か否かを示すビットです。
BUSY
動作
0
停止 , またはシリアルデータレジスタリード / ライト待機状態 [ 初期値 ]
1
シリアル転送状態
• このリセットにより "0" に初期化されます。
• このビットは , 読出しのみ可能です。
[bit9] STOP( ストップビット )
シリアル転送を強制的に中断させるビットです。"1" にすると , STOP=1 による停止
状態になります。
STOP
動作
0
通常動作
1
STOP=1 による転送停止
[ 初期値 ]
• このリセットにより "1" に初期化されます。
• このビットは , 読出し / 書込みが可能です。
[bit8] STRT ( スタートビット )
シリアル転送を起動するビットです。停止状態で "1" を書き込むことによって転送
が開始されます。シリアル転送動作中およびシリアルシフトレジスタ R/W 待機中
の "1" のラインは無視されます。
• "0" の書込みは意味がありません。
• 常に "0" が読み出されます。
[bit7 ∼ bit4] 未定義ビット
リード値は不定です。ライトは動作に影響を与えません。
374
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 17 章 拡張 I/O シリアルインタフェース
17.2 拡張 I/O シリアルインタフェースのレジスタ
MB90335 シリーズ
[bit3] MODE( シリアルモード選択 )
停止状態からの起動条件を選択します。ただし , 動作中の書換えは禁止です。
MODE
動作
0
1
STRT=1 にすることにより起動します。
[ 初期値 ]
シリアルデータレジスタの読出し / 書込みにより起動します。
• このリセットにより "0" に初期化されます。
• このビットは , 読出し / 書込みが可能です。
• μDMAC を起動する際には , "1" にしておいてください。
[bit2] BDS ( 転送方向選択 )
シリアルデータ入出力時に , 最下位ビット側から先に転送するか (LSB ファースト ),
最上位ビット側から先に転送するか (MSB ファースト ) を選択します。
BDS
動作
0
LSB ファースト
1
MSB ファースト
[ 初期値 ]
• このリセットにより "0" に初期化されます。
• このビットは , 読出し / 書込みが可能です。
<注意事項>
転送方向の選択は , SDR にデータを書き込む前に , 設定しておいてください。
[bit1] SOE ( シリアル出力許可 )
シリアル I/O 用出力外部端子 (SOT) の出力を制御します。
SOE
0
1
動作
汎用ポート端子
[ 初期値 ]
シリアルデータ出力
• このリセットにより "0" に初期化されます。
• このビットは , 読出し / 書込みが可能です。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
375
第 17 章 拡張 I/O シリアルインタフェース
17.2 拡張 I/O シリアルインタフェースのレジスタ
MB90335 シリーズ
[bit0] SCOE ( シフトクロック出力許可 )
シフトクロック用入出力外部端子 (SCK1, SCK2) の出力を制御します。
SCOE
0
1
動作
汎用ポート端子 , 命令ごと転送時
[ 初期値 ]
シフトクロック出力端子
• このリセットにより "0" に初期化されます。
• このビットは , 読出し / 書込みが可能です。
外部シフトクロックモードで命令ごとに転送を行うときは , "0" に設定してください。
376
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 17 章 拡張 I/O シリアルインタフェース
17.2 拡張 I/O シリアルインタフェースのレジスタ
MB90335 シリーズ
17.2.2
シリアルデータレジスタ (SDR)
シリアルデータレジスタ (SDR) の構成および機能について説明します。
■ シリアルデータレジスタ (SDR)
図 17.2-3 に , シリアルデータレジスタ (SDR) のビット構成を示します。
図 17.2-3 シリアルデータレジスタ (SDR) のビット構成
SDR
bit
アドレス : 00005AH
7
6
5
4
3
2
1
D7
(R/W)
D6
(R/W)
D5
(R/W)
D4
(R/W)
D3
(R/W)
D2
(R/W)
D1
(R/W)
0
シリアルデータ
D0 レジスタ
(R/W) 初期値 XXXXXXXXB
R/W : リード・ライト可能
X : 不定
シリアルデータレジスタ (SDR) は , シリアル I/O の転送データを保持するシリアルデー
タレジスタです。
転送中の SDR への書込みおよび読出しは禁止です。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
377
第 17 章 拡張 I/O シリアルインタフェース
17.2 拡張 I/O シリアルインタフェースのレジスタ
MB90335 シリーズ
通信プリスケーラ制御レジスタ (SDCR)
17.2.3
通信プリスケーラ制御レジスタ (SDCR) の構成および機能について説明します。
■ 通信プリスケーラ制御レジスタ (SDCR)
図 17.2-4 に , 通信プリスケーラ制御レジスタ (SDCR) のビット構成を示します。
図 17.2-4 通信プリスケーラ制御レジスタ (SDCR) のビット構成
SDCR
bit
アドレス : 00005BH
15
14
13
12
11
10
9
MD
(R/W)
(-)
(-)
(-)
DIV3
(R/W)
DIV2
(R/W)
DIV1
(R/W)
8
通信プリスケーラ
DIV0 制御レジスタ
(R/W) 初期値 0XXX0000B
R/W : リード・ライト可能
- : 未定義
X : 不定
以下に , 通信プリスケーラ制御レジスタ (SDCR) の各ビットの機能を説明します。
[bit15] MD
通信プリスケーラの動作を許可するビットです。
MD
動作
0
通信プリスケーラは停止します。
1
通信プリスケーラは動作します。
[bit11 ∼ bit8] DIV3 ∼ DIV0: DIVide3 ∼ DIVide0
マシンクロックの分周比を決定します
DIV3 ∼ DIV0
分周比
0000B
1 分周
0001B
2 分周
0010B
3 分周
0011B
4 分周
0100B
5 分周
0101B
6 分周
0110B
7 分周
0111B
8 分周
<注意事項>
分周比を変えた場合には , クロックの安定時間として 2 分周分の時間をおいてから通信を
行ってください。
378
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
17.3
第 17 章 拡張 I/O シリアルインタフェース
17.3 拡張 I/O シリアルインタフェースの動作
拡張 I/O シリアルインタフェースの動作
拡張 I/O シリアルインタフェースは , シリアルモードコントロールステータスレジス
タ (SMCS) およびシリアルデータレジスタ (SDR) によって構成され , 8 ビットのシ
リアルデータの入出力に使用します。
拡張 I/O シリアルインタフェースの動作について説明します。
■ 拡張 I/O シリアルインタフェースの動作概要
シリアルデータの入出力は , 入力 , 出力それぞれが以下のように動作します。
● シリアルデータの入力
シリアルデータレジスタの内容がシリアルシフトクロック ( 外部クロック , 内部クロッ
ク ) の立下りに同期してビット直列にシリアル出力端子 (SOT 端子 ) に出力されます。
● シリアルデータの出力
シリアルシフトクロック ( 外部クロック , 内部クロック ) の立上りに同期してシリアル
入力端子(SIN端子)からビット直列にSDR(シリアルデータレジスタ)に入力されます。
シフトの方向 (MSB からの転送または LSB からの転送 ) は , シリアルモードコントロー
ルステータスレジスタ (SMCS) の方向指定ビット (BDS) により指定できます。
転送が終了すると , シリアルモードコントロールステータスレジスタ (SMCS) の MODE
ビットによって停止状態またはシリアルデータレジスタ R/W 待機状態に入ります。
各々の状態から転送状態に移るには , それぞれ次のことを行います。
• 停止状態から復帰するときは , STOP ビットに "0", STRT ビットに "1" を書き込みま
す (STOP と STRT は同時設定が可能です )。
• シリアルデータレジスタ R/W 待機状態から復帰するときは , データレジスタを読出
しまたは書込みをします。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
379
第 17 章 拡張 I/O シリアルインタフェース
17.3 拡張 I/O シリアルインタフェースの動作
MB90335 シリーズ
シフトクロックモード
17.3.1
シフトクロックには , 内部シフトクロックモードおよび外部シフトクロックモード
の 2 種類があり , SMCS の設定で指定します。モードの切換えは , シリアル I/O が停
止した状態で行ってください。停止状態の確認は , BUSY ビットを読み出すことに
よって可能となります。
■ 内部シフトクロックモード
内部クロックによって動作し , 同期タイミング出力としてデューティ比 50% のシフト
クロックが SCK 端子より出力されます。
データが , 1 クロックごとに 1 ビット転送されます。
転送の速度は , 次式によって算出できます。
A
転送速度 (s)=
内部クロックのマシンサイクル
A は , SMCS の SMD ビットで示す分周比です。
(φ ÷ div)/2, (φ ÷ div)/22, (φ ÷ div)/24, (φ ÷ div)/25, (φ ÷ div)/26
■ 外部シフトクロックモード
SCK 端子から入力される外部シフトクロックに同期して , データが 1 クロックごとに
1 ビット転送されます。
転送速度は , DC から 1/(8 マシンサイクル ) まで可能です。例えば , 1 マシンサイクル =
62.5 ns のとき , 2 MHz まで可能です。
命令ごとに転送することもでき , 以下の設定をすることによって実現します。
• 外部シフトクロックモードを選択し , SMCS の SCOE ビットを "0" に設定します。
• SCK端子を共有しているポートの方向レジスタに"1"を書き込み, ポートを出力モー
ドに設定します。
以上の設定をした後 , ポートのデータレジスタ (PDR) に "1", "0" を書き込むと , SCK 端
子に出力されるポートの値を外部クロックとして取り込み , 転送動作を行います。シフ
トクロックは , "H" から開始させてください。
<注意事項>
シリアル I/O 動作中の SMCS,SDR への書込みは禁止です。
380
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
17.3.2
第 17 章 拡張 I/O シリアルインタフェース
17.3 拡張 I/O シリアルインタフェースの動作
シリアル I/O の動作状態
シリアル I/O の動作状態として , STOP 状態 , 停止状態 , SDR の R/W 待機状態およ
び転送状態の 4 種類の状態があります。
■ シリアル I/O の動作状態
● STOP 状態
リセット時または 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 待機状態に遷移します。
図 17.3-1 に各状態の動作遷移図を , 図 17.3-2 にシリアルデータレジスタの読出し / 書込
みの概念図を示します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
381
第 17 章 拡張 I/O シリアルインタフェース
17.3 拡張 I/O シリアルインタフェースの動作
MB90335 シリーズ
図 17.3-1 拡張 I/O シリアルインタフェースの動作遷移図
リセット
停止状態(転送終了)
STOP=0 & STRT=0
STRT=0, BUSY=0
MODE=0
STOP=0
&
STRT=1
STOP
STOP=1
MODE=0
&
STOP=0
&
終了
STOP=1
転送動作
STRT=0, BUSY=0
STOP=0
&
STRT=1
STOP=1
シリアルデータレジスタR/W待機
MODE=1 & 終了& STOP=0
STRT=1, BUSY=1
STRT=1, BUSY=0
MODE=1
SDRのR/W & MODE=1
図 17.3-2 シリアルデータレジスタの読出し / 書込みの概念図
シリアルデータ
データバス
データバス
SOT
読出し
書込み
読出し
SIN
書込み
(1)
割込み出力
拡張I/0
シリアルインタフェース
CPU
(2)
割込み入力
データバス 割込みコントローラ
(1) MODE=1 のとき , シフトクロックカウンタによって転送終了し , SIR=1 となって読
出し / 書込み待機状態に入ります。SIE ビットが "1" ならば , 割込み信号を発生しま
す。ただし , SIE がインアクティブのときや STOP へ "1" を書き込むことによる転
送中断のときは , 割込み信号は発生しません。
(2) シリアルデータレジスタが読出し / 書込みされると , 割込み要求はクリアされ , シ
リアル転送を開始します。
382
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 17 章 拡張 I/O シリアルインタフェース
17.3 拡張 I/O シリアルインタフェースの動作
MB90335 シリーズ
シフト動作のスタート / ストップタイミングと入出力
のタイミング
17.3.3
シフト動作のスタート / ストップタイミングと入出力のタイミングについて説明しま
す。
■ シフト動作のスタート / ストップタイミングと入出力のタイミング
• スタート
SMCS の STOP ビットを "0", STRT ビット "1" に設定します。
• ストップ
転送終了によって停止する場合と , STOP=1 によって停止する場合があります。
- STOP=1 によって停止 : MODE ビットにかかわらず SIR=0 のまま停止します。
- 転送終了で停止 : MODE ビットにかかわらず , SIR=1 となり停止します。
BUSY ビットは , MODE ビットにかかわらずシリアル転送状態の場合 "1" となり , 停止
状態または R/W 待機状態の場合 "0" となります。転送状態を確認するときは , このビッ
トを読み出してください。
以下に , 各モードの動作および停止動作におけるタイミングチャートを示します。図中
の DO0 ∼ DO7 は , 出力データを示します。
● 内部シフトクロックモード (LSB ファースト )
図 17.3-3 シフト動作のスタート / ストップタイミング ( 内部クロック )
"1"出力
SCK
(転送スタート)
STRT
(転送終了)
MODE=0のとき
BUSY
DO7 (データ保持)
DO0
SOT
● 外部シフトクロックモード (LSB ファースト )
図 17.3-4 シフト動作のスタート / ストップタイミング ( 外部クロック )
SCK
STRT
(転送スタート)
(転送終了)
MODE=0のとき
BUSY
SOT
CM44-10137-6
DO0
DO7 (データ保持)
FUJITSU MICROELECTRONICS LIMITED
383
第 17 章 拡張 I/O シリアルインタフェース
17.3 拡張 I/O シリアルインタフェースの動作
MB90335 シリーズ
● 外部シフトクロックモードで命令シフトを行った場合 (LSB ファースト )
命令シフトでは , PDR6:P64 に "1" が書き込まれたとき "H" が出力され , "0" が書き込ま
れたとき "L" が出力されます ( ただし , 外部シフトクロックモード選択で , SCOE=0 の
とき )。
図 17.3-5 外部シフトクロックモードで命令シフトを行った場合
PDR6:P64=0
SCK
STRT
PDR6:P64=1
PDR6:P64=0
(転送終了)
MODE=0のとき
BUSY
DO7 (データ保持)
DO6
SOT
● STOP=1 による停止 (LSB ファースト , 内部クロック時 )
図 17.3-6 STOP ビットを "1" とした場合のストップタイミング
"1"出力
SCK
STRT
(転送スタート)
(転送終了)
MODE=0のとき
BUSY
STOP
DO3
SOT
DO4
DO5 (データ保持)
■ シリアルデータ転送中の動作
シリアルデータの転送中は , シフトクロックの立下りでシリアル出力端子 (SOT) から
のデータが出力され , 立上りでシリアル入力端子 (SIN) のデータが入力されます。
● LSB ファースト (BDS ビットが "0" のとき )
図 17.3-7 入出力のシフトタイミング (LSB ファースト )
SCK
SIN入力
SIN
DI0
DI1
DI2
DI3
DI4
DI5
DI6
DI7
DO3
DO4
DO5
DO6
DO7
SOT出力
SOT
DO0
DO1
DO2
● MSB ファースト (BDS ビットが "1" のとき )
図 17.3-8 入出力のシフトタイミング (MSB ファースト )
SCK
SIN
SIN入力
DI7
DI6
DI5
DI4
DI3
DI2
DI1
DI0
DO4
DO3
DO2
DO1
DO0
SOT出力
SOT
384
DO7
DO6
DO5
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 17 章 拡張 I/O シリアルインタフェース
17.3 拡張 I/O シリアルインタフェースの動作
MB90335 シリーズ
割込み機能
17.3.4
拡張 I/O シリアルインタフェースは , CPU に対し割込み要求を発生できます。
■ 拡張 I/O シリアルインタフェースの割込み機能
データの転送終了時に割込みフラグである SIR ビットがセットされ , 割込みを許可す
る SMCS の SIE ビットが "1" のとき , CPU へ割込み要求を出力します。
図 17.3-9 に , 割込み信号の出力タイミングを示します。
図 17.3-9 割込み信号の出力タイミング
SCK
(転送終了)
BUSY
SIR
MODE=1のとき
SIE=1
SDRのRD/WR
SOT
CM44-10137-6
DO6
DO7(データ保持)
FUJITSU MICROELECTRONICS LIMITED
385
第 17 章 拡張 I/O シリアルインタフェース
17.3 拡張 I/O シリアルインタフェースの動作
386
MB90335 シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 18 章
UART
UART の機能と動作について説明します。
18.1 UART の概要
18.2 UART のブロックダイヤグラム
18.3 UART の端子
18.4 UART のレジスタ
18.5 UART の割込み
18.6 UART のボーレート
18.7 UART の動作説明
18.8 UART 使用上の注意
18.9 UART のプログラム例
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
387
第 18 章 UART
18.1 UART の概要
MB90335 シリーズ
UART の概要
18.1
UART は , 外部装置と同期通信もしくは非同期通信 ( 調歩同期 ) をするための , 汎用
のシリアルデータ通信インタフェースです。通常の双方向通信機能 ( ノーマルモー
ド ) だけではなく , マスタ / スレーブ型通信機能 ( マルチプロセッサモード : マスタ
側だけサポート ) があります。
■ UART の機能
● UART の機能
UART は , ほかの CPU や周辺装置とシリアルデータの送受信をする汎用シリアルデー
タ通信インタフェースで , 表 18.1-1 に示す機能をもっています。
表 18.1-1 UART の機能
機 能
データバッファ
全二重ダブルバッファ
転送モード
・クロック同期 ( スタート / ストップビットなし )
・クロック非同期 ( 調歩同期 )
ボーレート
・専用ボーレートジェネレータあり
・外部クロック入力可能
データ長
・8 ビットまたは , 7 ビット ( 非同期ノーマルモード時のみ )
・1 ∼ 8 ビット ( 同期モードのみ )
信号方式
NRZ (Non Return to Zero) 方式
受信エラー検出
・フレーミングエラー
・オーバランエラー
・パリティエラー ( 動作モード 1 では不可 )
割込み要求
・受信割込み ( 受信完了 , 受信エラー検出 )
・送信割込み ( 送信完了 )
・送受信とも拡張インテリジェント I/O サービス
(EI2OS), μDMAC 転送の対応あり
マスタ / スレーブ
型通信機能 ( マル
チプロセッサ
モード )
1 ( マスタ ) 対 n ( スレーブ ) 間の通信が可能
( マスタとしてのみ使用できます )
<注意事項>
クロック同期転送時にスタートビット / ストップビットは付加されず , データのみ転送さ
れます。
388
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 18 章 UART
18.1 UART の概要
MB90335 シリーズ
表 18.1-2 UART の動作モード
データ長
同期方式
動作モード
パリティなし
パリティあり
ストップ
ビット長
0
ノーマルモード
7 ビットまたは 8 ビット
非同期
1
マルチプロセッサ
モード
8ビット+1 *1
―
非同期
1 ビット
または
2 ビット *2
2
ノーマルモード
1 ∼ 8 ビット
―
同期
なし
― : 設定不可
*1 : " + 1" は通信制御用に使用されるアドレス / データ選択ビット (A/D) です。
*2 : 受信時のストップビットは 1 ビットのみ検出
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
389
第 18 章 UART
18.2 UART のブロックダイヤグラム
18.2
MB90335 シリーズ
UART のブロックダイヤグラム
UART は , 次のブロックで構成されています。
■ UART のブロックダイヤグラム
図 18.2-1 UART のブロックダイヤグラム
コントロールバス
マシンクロック
ジェネレータ
UARTプリスケーラ
制御レジスタ
(UTCR0,UTCR1)
UARTプリスケーラ
リロードレジスタ
(UTRLR0,UTRLR1)
受信割込み信号
クロックセレクタ
専用ボーレート
端子
送信クロック
送信割込み信号
受信クロック
受信制御回路
送信制御回路
スタートビット
検出回路
送信スタート
回路
受信ビット
カウンタ
送信ビット
カウンタ
受信パリティ
カウンタ
送信パリティ
カウンタ
SCK0,SCK1
外部クロック
端子
SOT0,SOT1
送信用
シフトレジスタ
受信用
シフトレジスタ
端子
SIN0,SIN1
受信終了
SIDR0,SIDR1
送信開始
SODR0,SODR1
受信状態判定回路
受信エラー発生信号
(CPUへ)
F2MC-16LXバス
SMR0,
SMR1
レジスタ
390
MD1
MD0
SCKL
M2L2
M2L1
M2L0
SCKE
SOE
SCR0,
SCR1
レジスタ
PEN
P
SBL
CL
A/D
REC
RXE
TXE
SSR0,
SSR1
レジスタ
FUJITSU MICROELECTRONICS LIMITED
PE
ORE
FRE
RDRF
TDRE
BDS
RIE
TIE
CM44-10137-6
MB90335 シリーズ
第 18 章 UART
18.2 UART のブロックダイヤグラム
● クロックセレクタ
専用ボーレートジェネレータ , 外部入力クロックから送受信クロックを選択します。
● 受信制御回路
受信制御回路は , 受信ビットカウンタ , スタートビット検出回路 , および受信パリティ
カウンタで構成されています。受信ビットカウンタは受信データのカウントをして , 設
定したデータ長に応じて, 1データの受信を完了すれば, 受信割込み要求を発生します。
スタートビット検出回路は , シリアル入力信号からスタートビットを検出する回路で ,
スタートビットを検出すると設定された転送速度に応じてシフトしながらシリアル入
力データレジスタ 0, 1(SIDR0, SIDR1) にデータを書き込みます。受信パリティカウンタ
は , 受信データのパリティを計算します。
● 送信制御回路
送信制御回路は , 送信ビットカウンタ , 送信スタート回路 , および送信パリティカウン
タで構成されています。送信ビットカウンタは送信データのカウントをして , 設定した
データ長に応じて , 1 データの送信を完了すれば , 送信割込み要求を発生します。送信
スタート回路は , シリアル出力データレジスタ 0, 1(SODR0, SODR1) の書込みで送信動
作を開始します。送信パリティカウンタは , パリティありの場合送信するデータのパリ
ティビットを生成します。
● 受信用シフトレジスタ
SIN0, SIN1 端子から入力された受信データを , 1 ビットずつビットシフトしながら取り
込み , 受信終了すればシリアル入力データレジスタ 0, 1(SIDR0, SIDR1) に受信データを
転送します。
● 送信用シフトレジスタ
シリアル出力データレジスタ 0, 1(SODR0, SODR1) に書き込まれたデータを送信用シフ
トレジスタに転送し , 1 ビットずつシフトしながら SOT0, SOT1 端子に出力します。
● シリアルモードレジスタ 0, 1(SMR0, SMR1)
動作モードの選択 , シリアルデータの端子への出力許可 / 禁止 , クロックの端子への出
力許可 / 禁止の設定および , 同期通信モード時に , 1 ∼ 8 ビットの任意の転送数の設定 ,
非動作時のシリアルクロック出力レベル ("L" 固定 , "H" 固定 ) の設定をします。
● シリアル制御レジスタ 0, 1(SCR0, SCR1)
パリティの有無の設定 , パリティの選択 , ストップビット長の設定 , データ長の設定 ,
モード 1 でのフレームデータ形式の選択 , フラグのクリア , 送信の許可 / 禁止 , 受信の
許可 / 禁止の設定をします。
● シリアルステータスレジスタ 0, 1(SSR0, SSR1)
送受信やエラーの状態の確認と送受信割込み要求の許可 / 禁止の設定をします。
● シリアル入力データレジスタ 0, 1(SIDR0, SIDR1)
受信データを保持するレジスタです。シリアル入力が変換されてこのレジスタに格納
されます。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
391
第 18 章 UART
18.2 UART のブロックダイヤグラム
MB90335 シリーズ
● シリアル出力データレジスタ 0, 1(SODR0, SODR1)
送信データを設定するレジスタです。このレジスタに書き込まれたデータが , シリアル
変換されて出力されます。
● UART プリスケーラ制御レジスタ 0, 1(UTCR0, UTCR1)
通信プリスケーラの起動 / 停止 , UART 強制リセット , クロックソースの選択 , マシン
クロックの分周比を設定します。
● UART プリスケーラリロードレジスタ 0, 1(UTRLR0, UTRLR1)
マシンクロックの分周比を設定します。
392
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 18 章 UART
18.3 UART の端子
MB90335 シリーズ
18.3
UART の端子
UART の端子を示します。
■ UART の端子
UART の端子は , 汎用ポートと兼用になっています。表 18.3-1 に端子の機能 , 入出力形
式 , および UART 使用時の設定などを示します。
表 18.3-1 UART の端子
端子名
端子機能
入出力形式
プルアップ
選択
スタンバイ
制御
端子の使用に必要な設定
P42/SIN0,
P45/SIN1
ポート 4 入出力 /
シリアルデータ入力
入力ポートに設定
(DDR4 : bit2=0)
(DDR4 : bit5=0)
P43/SOT0,
P46/SOT1
ポート 4 入出力 /
シリアルデータ出力
出力許可に設定
(SMR0, SMR1 : SOE=1)
P44/SCK0,
P47/SCK1
CMOS 出力 /
CMOS ヒステリ
シス入力
なし
あり
ポート 4 入出力 /
シリアルクロック入
出力
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
クロック入力時
入力ポートに設定
(DDR4 : bit4=0)
(DDR4 : bit7=0)
クロック出力時出力許可に
設定
(SMR0, SMR1 : SCKE=1)
393
第 18 章 UART
18.4 UART のレジスタ
18.4
MB90335 シリーズ
UART のレジスタ
UART のレジスタ一覧を示します。
■ UART のレジスタ一覧
図 18.4-1 UART のレジスタ一覧
bit15------------------------------------------bit8
bit7--------------------------------------------bit0
ch.0 : 000021H, 20H
ch.1 : 000027H, 26H
SCR0, SCR1
( シリアル制御レジスタ 0, 1)
SMR0, SMR1
( シリアルモードレジスタ 0, 1)
ch.0 : 000023H, 22H
ch.1 : 000029H, 28H
SSR0, SSR1
( シリアルステータスレジスタ 0, 1)
SIDR0, SIDR1・SODR0, SODR1
( シリアル入力・出力データレジスタ 0, 1)
ch.0 : 000025H, 24H
ch.1 : 00002BH, 2AH
UTCR0, UTCR1
UTRLR0, UTRLR1
(UART プリスケーラ制御レジスタ 0, 1) (UART プリスケーラリロードレジスタ 0, 1)
<注意事項>
通信モードの設定は , 動作停止中に行ってください。モード設定時に送受信したデータは
保証されません。
394
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 18 章 UART
18.4 UART のレジスタ
MB90335 シリーズ
18.4.1
シリアル制御レジスタ 0, 1(SCR0, SCR1)
シリアル制御レジスタ 0, 1(SCR0, SCR1) は , パリティの設定 , ストップビット長や
データ長の選択 , モード 1 でのフレームデータ形式の選択 , 受信エラーフラグのクリ
ア , 送受信動作の許可または禁止の設定を行います。
■ シリアル制御レジスタ 0, 1(SCR0, SCR1)
図 18.4-2 シリアル制御レジスタ 0, 1(SCR0, SCR1) のビット構成
アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7
ch.0:000021H PEN
ch.1:000027H
R/W
P
SBL
CL
A/D
REC
RXE
TXE
R/W
R/W
R/W
R/W
W
R/W
R/W
TXE
(SMR0, SMR1)
bit0 初期値
00000100B
1
送信動作許可ビット
送信動作を禁止
送信動作を許可
RXE
0
受信動作許可ビット
受信動作を禁止
0
1
受信動作を許可
REC
受信エラーフラグクリアビット
0
FRE,ORE,PEフラグをクリア
1
変化なし,ほかへの影響なし
A/D
0
アドレスフレーム
CL
0
7ビット
1
8ビット
1
P
CM44-10137-6
データフレーム
1
SBL
0
R/W :リード・ライト可能
W :ライトオンリ
:初期値
アドレス/データ選択ビット
データ長選択ビット
ストップビット長選択ビット
1ビット長
2ビット長
パリティ選択ビット
0
パリティありのとき(PEN=1)のみ有効
偶数パリティ
1
奇数パリティ
パリティ許可ビット
PEN
パリティなし
0
1
パリティあり
FUJITSU MICROELECTRONICS LIMITED
395
第 18 章 UART
18.4 UART のレジスタ
MB90335 シリーズ
表 18.4-1 シリアル制御レジスタ 0, 1(SCR0, SCR1) の各ビットの機能説明
ビット名
機 能
bit15
PEN :
パリティ
許可ビット
パリティビットの付加 ( 送信時 ) と検出 ( 受信時 ) を行うかどうかを設定し
ます。
( 注意事項 )
動作モード 1, 2 の場合 , パリティビットは付加できません。
必ず "0" に設定してください。
bit14
P:
パリティ
選択ビット
パリティビットあり (SCR0, SCR1 : PEN=1) に設定した場合に, 奇数パリティ
か偶数パリティのいずれかに設定します。
bit13
SBL :
ストップ
ビット長
選択ビット
動作モード 0, 1 ( 非同期 ) の場合のストップビット ( 送信データのフレーム
エンドマーク ) のビット長を設定します。
( 注意事項 )
受信時は , 常にストップビットの 1 ビット目だけを検出します。
bit12
CL :
データ長
選択ビット
送受信データのデータ長を指定します。
( 注意事項 )
7 ビットを選択できるのは , 動作モード 0 の場合のみです。動作モード 1,
2 の場合は , 必ず 8 ビットに設定してください。
bit11
A/D :
アドレス /
データ
選択ビット
・動作モード 1 の場合に , 送受信するフレームのデータ形式を設定します。
・"0" に設定した場合 : データフレームに設定されます。
・"1" に設定した場合 : アドレスデータのフレームに設定されます。
REC :
受信エラー
フラグ
クリア
ビット
・シリアルステータスレジスタの受信エラーフラグ (SSR0, SSR1: FRE, ORE,
PE) を "0" にクリアします。
・"0" に設定した場合 : FRE, ORE, PE フラグがクリアされます。
・"1" に設定した場合 : 影響しません。
・リードした場合 : 常に "1" が読み出されます。
( 注意事項 )
受信割込みを許可に設定していれば (SSR0, SSR1 : RIE=1) , FRE, ORE, PE
フラグのいずれかが "1" にセットされている場合のみ , REC ビットを "0"
に設定してください。
RXE :
受信動作
許可ビット
・UART の受信動作を許可または禁止します。
・"0" に設定した場合 : 受信動作が禁止されます。
・"1" に設定した場合 : 受信動作が許可されます。
( 注意事項 )
受信中に受信動作を禁止に設定した場合には , 受信中のデータをシリアル
入力データレジスタに格納した後に受信動作が停止します。
TXE :
送信動作
許可ビット
・UART の送信動作を許可または禁止します。
・"0" に設定した場合 : 送信動作が禁止されます。
・"1" に設定した場合 : 送信動作が許可されます。
( 注意事項 )
送信中に送信動作を禁止に設定した場合は , シリアル出力データレジスタ
のデータの送信が完了した後に送信動作が停止します。
bit10
bit9
bit8
396
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 18 章 UART
18.4 UART のレジスタ
MB90335 シリーズ
18.4.2
シリアルモードレジスタ 0, 1(SMR0, SMR1)
シリアルモードレジスタ 0, 1 (SMR0, SMR1) は , 動作モードの選択 , シリアルデー
タとクロックの端子への出力許可または禁止の設定 , および同期通信モード時に , 1 ∼
8 ビットの任意の転送数の設定 , 非動作時のシリアルクロック出力レベル ("L" 固定 ,
"H" 固定 ) の設定を行います。
■ シリアルモードレジスタ 0, 1(SMR0, SMR1)
図 18.4-3 シリアルモードレジスタ 0, 1 (SMR0, SMR1) のビット構成
アドレス
ch.0:000020 H
ch.1:000026 H
bit8 bit7 bit6 bit5 bit4 bit3
bit15
(SCR0,SCR1)
MD1
MD0
R/W
R/W
SCKL M2L2 M2L1 M2L0 SCKE
R/W
R/W
R/W
R/W
0
汎用入出力ポートとする
1
UARTのシリアルデータ出力端子とする
00100000B
R/W
シリアルクロック入出力許可ビット
SCKE
0
汎用入出力ポートまたはUART0/1のクロック入力端子とする
1
UARTのクロック出力端子とする
M2L2~M2L0
同期モード転送数設定ビット
"000B"
転送数8ビット
"001B"
転送数1ビット
"010B"
転送数2ビット
"011B"
転送数3ビット
"100B"
転送数4ビット
"101B"
転送数5ビット
"110B"
転送数6ビット
"111B"
転送数7ビット
シリアルクロック出力レベル設定ビット
SCKL
CM44-10137-6
R/W
SOE
初期値
シリアルデータ出力許可ビット
SOE
R/W :リード・ライト可能
:初期値
bit2 bit1 bit0
0
非動作時、シリアルクロック出力"L"レベル
1
非動作時、シリアルクロック出力"H"レベル
動作モード選択ビット
MD1
MD0
0
0
0
非同期(ノーマルモード)
0
1
1
非同期(マルチプロセッサモード)
1
0
2
同期(ノーマルモード)
1
1
-
設定禁止
動作モード
FUJITSU MICROELECTRONICS LIMITED
397
第 18 章 UART
18.4 UART のレジスタ
MB90335 シリーズ
表 18.4-2 シリアルモードレジスタ 0, 1(SMR0, SMR1) の各ビットの機能説明
ビット名
機 能
bit7,
bit6
MD1, MD0 :
動作モード
選択ビット
動作モードを設定します。
( 注意事項 )
・動作モード 1 では , マスタ・スレーブ型通信のマスタとしてのみ使用
できます。動作モード 1 は 9 ビット目のアドレス / データビットが受
信できないのでスレーブとしては使用できません。
・動作モード1ではパリティチェック機能は使用できないので, パリティ
付加許可ビットはパリティなし (SCR0, SCR1 : PEN=0) に設定してく
ださい。
bit5
SCKL :
シリアルクロック
出力レベル設定
ビット
・クロック同期モードで通信を行う場合 , 非動作時のシリアルクロック
出力レベルを設定します。
・"0" に設定した場合 : シリアルクロック出力は "L" レベルです。
・"1" に設定した場合 : シリアルクロック出力は "H" レベルです。
・同期通信モード時の転送数を設定します。
・非同期通信モード時は無効です。
・"000B" に設定した場合 : 転送数は 8 ビットです。
bit4
∼
bit2
M2L2 ∼ M2L0 :
同期モード
転送数設定
ビット
・"001B" に設定した場合 : 転送数は 1 ビットです。
・"010B" に設定した場合 : 転送数は 2 ビットです。
・"011B" に設定した場合 : 転送数は 3 ビットです。
・"100B" に設定した場合 : 転送数は 4 ビットです。
・"101B" に設定した場合 : 転送数は 5 ビットです。
・"110B" に設定した場合 : 転送数は 6 ビットです。
・"111B" に設定した場合 : 転送数は 7 ビットです。
bit1
SCKE :
シリアル
クロック
入出力許可
ビット
・シリアルクロックの入出力を切り換えます。
・"0" に設定した場合 : 汎用入出力ポートまたはシリアルクロック入力
端子に設定されます。
・"1" に設定した場合 : シリアルクロック出力端子に設定されます。
( 注意事項 )
・SCK0, SCK1 端子をシリアルクロック入力 (SCKE=0) として使用する場
合は, ポート方向レジスタ (DDR) で端子を入力ポートに設定してくだ
さい。また , クロック入力ソース選択ビットによって外部クロックを
選択 (UTCR0, UTCR1 : CKS=1) してください。
・シリアルクロック出力として使用する場合は , クロック入力ソース選
択ビットを専用ボーレートジェネレータ (UTCR0, UTCR1 : CKS=0) に
設定してください。
・SCK0, SCK1端子がシリアルクロック出力に設定されている場合は, 汎
用入出力ポートの設定にかかわらずシリアルクロック出力端子とし
て機能します。
bit0
SOE :
シリアル
データ出力
許可ビット
・シリアルデータの出力を許可または禁止します。
・"0" に設定した場合 : 汎用入出力ポートに設定されます。
・"1" に設定した場合 : シリアルデータ出力端子に設定されます。
・SOT0, SOT1 端子がシリアルデータ出力に設定されている場合は , 汎用
入出力ポートの設定にかかわらずシリアルデータ出力端子として機
能します。
398
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 18 章 UART
18.4 UART のレジスタ
MB90335 シリーズ
シリアルステータスレジスタ 0, 1(SSR0, SSR1)
18.4.3
シリアルステータスレジスタ 0, 1(SSR0, SSR1) は , 送受信やエラーの状態の確認 ,
割込みの許可または禁止の設定を行います。
■ シリアルステータスレジスタ 0, 1(SSR0, SSR1)
図 18.4-4 シリアルステータスレジスタ 0, 1(SSR0, SSR1) のビット構成
bit0
アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7
(SIDR0,SIDR1,
ch.0:000023 H PE
ORE FRE RDRF TDRE BDS
RIE TIE
SODR0,SODR1)
ch.1:000029 H
R
R
R
R
R
R/W
R/W R/W
TIE
初期値
00001000 B
送信割込み要求許可ビット
0
送信割込み要求出力を禁止
1
送信割込み要求出力を許可
受信割込み要求許可ビット
RIE
0
受信割込み要求出力を禁止
1
受信割込み要求出力を許可
BDS
0
転送方向選択ビット
LSBファースト(最下位ビットから転送)
1
MSBファースト(最上位ビットから転送)
TDRE
送信データエンプティフラグビット
0
送信データあり(送信データの書込み禁止)
1
送信データなし(送信データの書込み許可)
RDRF
受信データフルフラグビット
0
受信データなし
1
受信データあり
フレーミングエラーフラグビット
FRE
フレーミングエラーなし
0
フレーミングエラーあり
1
ORE
0
オーバランエラーなし
1
オーバランエラーあり
PE
R/W :リード・ライト可能
R :リードオンリ
:初期値
CM44-10137-6
オーバランエラーフラグビット
パリティエラーフラグビット
0
パリティエラーなし
1
パリティエラーあり
FUJITSU MICROELECTRONICS LIMITED
399
第 18 章 UART
18.4 UART のレジスタ
MB90335 シリーズ
表 18.4-3 シリアルステータスレジスタ 0, 1 (SSR0, SSR1) の各ビットの機能説明 (1 / 2)
ビット名
機 能
bit15
・受信データのパリティエラーを検出します。
・パリティエラーが発生すると "1" がセットされます。
・受信エラーフラグクリアビット (SCR0, SCR1 : REC) に "0" を書き込むとク
PE :
リアされます。
パリティ
エラーフラグ ・受信割込みが許可されている場合は (SCR0, SCR1 : RIE=1) , パリティエ
ビット
ラーが発生すると受信割込み要求が発生します。
・パリティエラーフラグビットがセットされた場合は (SSR0, SSR1 : PE=1) ,
シリアル入力データレジスタのデータは無効です。
bit14
・受信時のオーバランエラーを検出します。
・オーバランエラーが発生すると "1" がセットされます。
・受信エラーフラグクリアビット (SCR0, SCR1 : REC) に "0" を書き込むとク
ORE :
リアされます。
オーバラン
・受信割込みが許可されている場合は
(SSR0, SSR1 : RIE=1) , オーバランエ
エラーフラグ
ビット
ラーが発生すると受信割込み要求を発生します。
・オ ー バ ラ ン エ ラ ー フ ラ グ ビ ッ ト が セ ッ ト さ れ た 場 合 は (SSR0, SSR1 :
ORE=1) , シリアル入力データレジスタのデータは無効です。
bit13
・受信データのフレーミングエラーを検出します。
・フレーミングエラーが発生すると "1" がセットされます。
・
受信エラーフラグクリアビット (SCR0, SCR1 : REC) に "0" を書き込むとク
FRE :
リアされます。
フレーミング
エラーフラグ ・受信割込みが許可されている場合は (SSR0, SSR1 : RIE=1) , フレーミング
ビット
エラーが発生すると受信割込み要求を発生します。
・フレーミングエラーフラグビットがセットされた場合は (SSR0, SSR1 :
FRE=1) , シリアル入力データレジスタのデータは無効です。
bit12
・シリアル入力データレジスタの状態を示します。
・シリアル入力データレジスタ 0, 1 (SIDR0, SIDR1) に受信データがロードさ
れると , "1" がセットされます。
RDRF :
・シリアル入力データレジスタ
0, 1 (SIDR0, SIDR1) のデータを読み出すと
受信データ
"0" にクリアされます。
フルフラグ
ビット
・受信割込みが許可されている場合は (SSR0, SSR1 : RIE=1) , 受信データが
シリアル入力データレジスタ (SIDR0, SIDR1) にロードされると受信割込
み要求を発生します。
bit11
・シリアル出力データレジスタ 0, 1 (SODR0, SODR1) の状態を示します。
・シリアル出力データレジスタ 0, 1 (SODR0, SODR1) に送信データを書き込
むと , "0" にクリアされます。
・送信用シフトレジスタにデータがロードされ送信が開始されると "1" が
セットされます。
・送信割込みが許可されている場合は (SSR0, SSR1 : TIE=1) , シリアル出力
データレジスタ 0, 1 (SODR0, SODR1) に書き込まれたデータが送信シフト
レジスタに転送されると送信割込み要求を発生します。
400
TDRE :
送信データ
エンプティ
フラグビット
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 18 章 UART
18.4 UART のレジスタ
MB90335 シリーズ
表 18.4-3 シリアルステータスレジスタ 0, 1 (SSR0, SSR1) の各ビットの機能説明 (2 / 2)
ビット名
機 能
bit10
・シリアルデータの転送方向を設定します。
・"0" に設定した場合 : シリアルデータを最下位ビット側から先に転送しま
す (LSB ファースト ) 。
・"1" に設定した場合 : シリアルデータを最上位ビット側から先に転送しま
BDS :
す (MSB ファースト ) 。
転送方向選択
( 注意事項 )
ビット
シリアル入力データレジスタへの読出し時およびシリアル出力データレ
ジスタへの書込み時にデータの上位側と下位側を入れ替えるため , レジ
スタへのアクセス完了後に BDS ビットを書き換えた場合はそのデータは
無効になります。
bit9
RIE :
受信割込み
要求許可
ビット
・受信割込みを許可または禁止します。
・"1" に設定した場合 : シリアル入力データレジスタ 0, 1 に受信データが
ロードされるか (SSR0, SSR1 : RDRF=1) , 受信エラー
が発生すると (SSR0, SSR1 : PE=1, または ORE=1, ま
たは FRE=1) , 受信割込み要求を発生します。
bit8
TIE :
送信割込み
要求許可
ビット
・送信割込みを許可または禁止します。
・"1" に設定した場合 : シリアル出力データレジスタ 0, 1 に書き込まれた
データが送信用シフトレジスタに送信されると
(SSR0, SSR1 : TDRE=1) , 送信割込み要求を発生しま
す。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
401
第 18 章 UART
18.4 UART のレジスタ
18.4.4
MB90335 シリーズ
シリアル入力データレジスタ 0, 1(SIDR0, SIDR1),
シリアル出力データレジスタ 0, 1(SODR0, SODR1)
シリアル入力データとシリアル出力データレジスタは同一アドレスに配置されてい
ます。リードした場合は , シリアル入力データレジスタとして機能し , ライトした場
合はシリアル出力データレジスタとして機能します。
■ シリアル入力データレジスタ 0, 1(SIDR0, SIDR1)
図 18.4-5 に , シリアル入力データレジスタのビット構成を示します。
図 18.4-5 シリアル入力データレジスタ 0, 1(SIDR0, SIDR1) のビット構成
アドレス
ch.0 : 000022H
ch.1 : 000028H
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
D7
R
D6
R
D5
R
D4
R
D3
R
D2
R
D1
R
D0
R
初期値
XXXXXXXXB
R : リードオンリ
X : 不定
シリアル入力データレジスタ 0, 1(SIDR0, SIDR1) は , シリアルデータ受信用のデータ
バッファレジスタです。
•
シリアル入力端子 (SIN0, SIN1) に送られてきたシリアルデータ信号がシフトレジス
タで変換されて, シリアル入力データレジスタ0, 1 (SIDR0, SIDR1)に格納されます。
•
データ長が 7 ビットの場合は , 上位 1 ビット (SIDR0, SIDR1:D7) は無効データとな
ります。
•
受信データが, シリアル入力データレジスタ 0, 1 (SIDR0, SIDR1)に格納されると , 受
信データフルフラグビット (SSR0, SSR1:RDRF) が "1" にセットされます。受信割込
みが許可されている場合は (SSR0, SSR1:RIE=1), 受信割込み要求を発生します。
•
シリアル入力データレジスタ 0, 1(SIDR0, SIDR1) は , 受信データフルフラグビット
(SSR0, SSR1:RDRF) が "1" の状態で読み出してください。受信データフルフラグビッ
ト (SSR0, SSR1:RDRF) は , シリアル入力データレジスタ 0, 1 (SIDR0, SIDR1) を読み
出すと自動的に "0" にクリアされます。
•
受信エラーが発生 (SSR0, SSR1: PE, ORE, FRE のいずれかが "1") した場合 , シリアル
入力データレジスタ 0, 1 (SIDR0, SIDR1) のデータは無効となります。
402
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 18 章 UART
18.4 UART のレジスタ
MB90335 シリーズ
■ シリアル出力データレジスタ 0, 1(SODR0, SODR1)
図 18.4-6 に , シリアル出力データレジスタのビット構成を示します。
図 18.4-6 シリアル出力データレジスタ 0, 1(SODR0, SODR1) のビット構成
アドレス
ch.0 : 000022H
ch.1 : 000028H
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
D7
W
D6
W
D5
W
D4
W
D3
W
D2
W
D1
W
D0
W
初期値
XXXXXXXXB
W : ライトオンリ
X : 不定
シリアル出力データレジスタ 0, 1(SODR0, SODR1) は , シリアルデータ送信用のデータ
バッファレジスタです。
•
送信動作が許可されている場合に (SCR0, SCR1:TXE=1), 送信するデータをシリアル
出力データレジスタ 0, 1 (SODR0, SODR1) に書き込むと , 送信データが送信用シフ
トレジスタに転送されシリアルデータに変換されて , シリアルデータ出力端子
(SOT0, SOT1) から送出されます。
•
データ長が 7 ビットの場合 , 上位 1 ビット (SODR0, SODR1:D7) は無効データとなり
ます。
•
送信データエンプティフラグ (SSR0, SSR1:TDRE) は , 送信データがシリアル出力
データレジスタ 0, 1 (SODR0, SODR1) に書き込まれると , "0" にクリアされます。
•
送信データエンプティフラグ (SSR0, SSR1:TDRE) は , 送信用シフトレジスタへの転
送が終了すると , "1" にセットされます。
•
送信データエンプティフラグ (SSR0, SSR1:TDRE) が "1" の場合は , 次の送信用デー
タを書き込むことができます。送信割込みが許可されている場合には送信割込みが
発生します。次の送信データの書込みは , 送信データエンプティフラグ (SSR0,
SSR1:TDRE) が "1" の状態で行ってください。
<注意事項>
シリアル出力データレジスタは書込み専用のレジスタで , シリアル入力データレジスタは
読込み専用のレジスタです。2 つのレジスタは同一アドレスに配置されているため書込み
値と読出し値が異なります。したがって , INC/DEC 命令などリードモディファイライト
(RMW) 動作をする命令は使用できません。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
403
第 18 章 UART
18.4 UART のレジスタ
18.4.5
MB90335 シリーズ
UART プリスケーラ制御レジスタ 0, 1 (UTCR0, UTCR1) ,
UART プリスケーラリロードレジスタ 0, 1 (UTRLR0,
UTRLR1)
UART プリスケーラ制御レジスタ 0, 1 (UTCR0, UTCR1) は , プリスケーラの起動 /
停止 , 強制リセット , クロックソース選択を設定します。また , UART プリスケーラ
制御レジスタ 0, 1 (UTCR0, UTCR1) の下位 3 ビットと UART プリスケーラリロード
レジスタ 0, 1 (UTRLR0, UTRLR1) との組合せでマシンクロックの分周比を設定します。
■ UART プリスケーラ制御レジスタ 0, 1 (UTCR0, UTCR1) , UART プリスケーラリ
ロードレジスタ 0, 1 (UTRLR0, UTRLR1)
UART の動作クロックは , マシンクロックを分周することにより得られます。このプリ
スケーラによって , 種々のマシンサイクルに対して一定のボーレートが得られように
設計されています。UTCR0, UTCR1, UTRLR0, UTRLR1 のビット構成を図 18.4-7 に示し
ます。
図 18.4-7 UART プリスケーラ制御レジスタ 0, 1 (UTCR0, UTCR1) , UART プリスケーラリロード
レジスタ 0, 1 (UTRLR0, UTRLR1) のビット構成
UART プリスケーラ制御レジスタ 0, 1(UTCR0, UTCR1)
アドレス
ch.0 : 000025H
ch.1 : 00002BH
bit 15
bit 14
bit 13
bit 12
bit 11
bit 10
bit 9
bit 8
MD
R/W
SRST
R/W
CKS
R/W
予約
R/W
-
D10
R/W
D9
R/W
D8
R/W
初期値
0000X000B
UART プリスケーラリロードレジスタ 0, 1 (UTRLR0, UTRLR1)
アドレス
ch.0 : 000024H
ch.1 : 00002AH
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
D7
R/W
D6
R/W
D5
R/W
D4
R/W
D3
R/W
D2
R/W
D1
R/W
D0
R/W
初期値
00000000B
R/W : リード・ライト可能
: 未定義
X
: 不定
[bit15] MD ( プリスケーラ許可ビット )
プリスケーラの動作許可ビットです。
0 : プリスケーラは停止します。
1 : プリスケーラは動作します。
[bit14] SRST (UART 強制リセットビット )
UART 用内部リセットビットです。強制的に UART をリセットし , 初期状態にしま
す。初期化後は自動的に "0" になります。
0 : 状態保持
1 : 強制リセット
404
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 18 章 UART
18.4 UART のレジスタ
[bit13] CKS ( クロックソース選択ビット )
クロックソースを選択します。
0 : 専用ボーレートジェネレータ
1 : 外部クロック
[bit12] 予約 ( 予約ビット )
予約ビットです。
必ず "0" を設定してください。
[bit11] 未定義ビット
リード時の値は不定です。ライトは動作に影響を与えません。
[bit10 ∼ bit0] D10 ∼ D0 ( 基本周期設定ビット )
< 非同期モード >
シリアルクロックの 2 サイクル分の周期を決定します。
UART 側でシリアルクロックを 8 分周しますので , ボーレートは以下のようになり
ます。
ボーレート = φ/4n(bps)
φ: マシンクロック n: D10 ∼ D0( 基本周期設定ビット )
ただし , n=1, 2, 3 は設定しないでください。
< クロック同期モード >
ボーレート 2φ/n (bps)
φ : マシンクロック
n : D10 ∼ D0 ( 基本同期設定ビット )
ただし , n=16 以上 , (D1, D0) には "00B" を設定してください。
<注意事項>
•
基本周期設定ビットの D1, D0(UTRLR0, UTRLR1 の bit1, bit0) に "01B", "10B", "11B" を
設定しますとデューティ比が異なるシリアルクロックを生成しますので , クロック同
期モード時には , D1, D0(UTRLR0, UTRLR1 の bit1, bit0) を "00B" に設定してください。
•
UTCR0, UTCR1, UTRLR0, UTRLR1 へはワード転送命令でアクセスしてください。
•
クロックソースの切換えはプリスケーラの動作を停止 (MD=0, CKS=0) した後 , 切り換
えてください。
•
外部クロック選択モード時にリロード値を変更する場合は , プリスケーラの動作を停
止 (MD=0, CKS=0) した後 , リロード値を変更してください。
•
リロード値 n=1, 2, 3 は設定しないでください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
405
第 18 章 UART
18.5 UART の割込み
18.5
MB90335 シリーズ
UART の割込み
UART には , 受信割込みと送信割込みがあり , 次に示す要因で割込み要求を発生させ
ることができます。
• 受信データがシリアル入力データレジスタ 0, 1 (SIDR0, SIDR1) にセットされた場
合 , または受信エラーが発生した場合
• 送信データがシリアル出力データレジスタ 0, 1 (SODR0, SODR1) から送信用シフ
トレジスタに転送された場合
また , それぞれ拡張インテリジェント I/O サービス (EI2OS), μDMAC にも対応してい
ます。
■ UART の割込み
UART の割込み制御ビットと割込み要因は表 18.5-1 のようになっています。
表 18.5-1 UART の割込み制御ビットと割込み要因
シリアルステータスレジスタ 0, 1 (SSR0, SSR1)
送受信
受信
送信
動作モード
割込み
フラグ
ビット
0
1
2
RDRF
○
○
○
受信データを バッファ
(SIDR0, SIDR1) へロード
ORE
○
○
○
オーバランエラー発生
FRE
○
○
×
フレーミングエラー発生
PE
○
×
×
パリティエラー発生
TDRE
○
○
○
送 信 バ ッ フ ァ (SODR0,
SODR1) が空
割込み要因
割込み
許可
ビット
割込みフラグのクリア
・受信データの読出し
・リセット
RIE
TIE
・受信エラーフラグクリアビット
(SCR0, SCR1: REC) への "0" の
書込み
・リセット
・送信データの書込み
・リセット
○ : 使用ビット
× : 未使用ビット
● 受信割込み
受信割込みが許可されている場合 (SSR0, SSR1:RIE=1) に , データ受信完了 (SSR0,
SSR1:RDRF=1), オーバランエラー (SSR0, SSR1:ORE=1), フレーミングエラー (SSR0,
SSR1:FRE=1), パリティエラー (SSR0, SSR1:PE=1) のいずれかが発生すると受信割込み
要求を発生します。
受信データフルフラグ(SSR0, SSR1:RDRF)は, シリアル入力データレジスタ0, 1(SIDR0,
SIDR1) を読み出すと , 自動的に "0" にクリアされます。各受信エラーフラグ (SSR0,
SSR1:PE, ORE, FRE) は受信エラーフラグクリアビット (SCR0, SCR1:REC) に "0" を書き
込めば , すべて "0" にクリアされます。
受信エラー ( パリティエラー , オーバランエラー , フレーミングエラー ) が発生した場
合は , 必要に応じてエラー処理を行った後 , 受信エラーフラグクリアビット (SCR0,
SCR1:REC) に "0" を書き込んで , 各受信エラーフラグをクリアしてください。
406
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 18 章 UART
18.5 UART の割込み
MB90335 シリーズ
● 送信割込み
送信データがシリアル出力データレジスタ0, 1 (SODR0, SODR1)から送信用シフトレジ
スタに送信されると , 送信データエンプティフラグビット (SSR0, SSR1:TDRE) に "1" が
セットされます。送信割込みが許可されている場合は (SSR0, SSR1:TIE=1), 送信割込み
要求を発生します。
■ UART の割込みと EI2OS および μDMAC
表 18.5-2 UART の割込みと EI2OS および μDMAC
割込み
番号
割込み要因
割込み制御レジスタ
EI2OS
μDMAC
チャネル
番号
ベクタテーブルアドレス
レジスタ名
アドレス
下位
上位
バンク
UART1
受信割込み
#39(27H)
ICR14
0000BEH
FFFF60H
FFFF61H
FFFF62H
◎
12
UART1
送信割込み
#37(25H)
ICR13
0000BDH
FFFF68H
FFFF69H
FFFF6AH
○
13
UART0
受信割込み
#39(27H)
ICR14
0000BEH
FFFF60H
FFFF61H
FFFF62H
◎
12
UART0
送信割込み
#37(25H)
ICR13
0000BDH
FFFF68H
FFFF69H
FFFF6AH
○
13
◎ : 使用可能。UART の受信エラー検出による EI2OS 停止機能付
○ : 使用可能
■ UART の EI2OS 機能
UART は EI2OS 対応の回路を有しています。このため受信 / 送信の各割込みで別々に
EI2OS を起動できます。
● 送受信時
送受信時は , ほかの周辺機能の状態に関係なく , EI2OS を使用できます。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
407
第 18 章 UART
18.5 UART の割込み
MB90335 シリーズ
受信割込み発生とフラグセットのタイミング
18.5.1
受信時の割込みとしては , 受信完了 (SSR0, SSR1:RDRF), および受信エラーの発生
(SSR0, SSR1:PE, ORE, FRE) があります。
■ 受信割込み発生とフラグセットのタイミング
データを受信する場合は , ストップビットの検出 ( 動作モード 0, 1) または , データの最
終ビット (SIDR0, SIDR1:D7) の検出 ( 動作モード 2) によって , 受信データがシリアル入
力データレジスタ 0, 1(SIDR0, SIDR1) に格納されます。受信エラーが発生した場合はエ
ラーフラグ (SSR0, SSR1:PE, ORE, FRE) がセットされ , 受信データフルフラグ (SSR0,
SSR1:RDRF) がセットされます。各動作モードともいずれかのエラーフラグがセットさ
れた場合は , 受信したシリアル入力データレジスタ 0, 1(SIDR0, SIDR1) 受信データは無
効です。
● 動作モード 0( 非同期ノーマルモード )
ストップビット検出時に受信データフルフラグ(SSR0, SSR1:RDRF)にセットされます。
受信エラーが発生すると, エラーフラグ(SSR0, SSR1:PE, ORE, FRE)がセットされます。
● 動作モード 1( 非同期マルチプロセッサモード )
ストップビットを検出すると受信データフルフラグビット (SSR0, SSR1:RDRF) がセッ
トされます。受信エラーが発生すると , エラーフラグ (SSR0, SSR1:ORE, FRE) がセット
されます。パリティエラー (SSR0, SSR1:PE) は検出できません。
● 動作モード 2( クロック同期ノーマルモード )
受信データの最終ビット(SIDR0, SIDR1:D7)を検出すると受信データフルフラグビット
(SSR0, SSR1:RDRF) がセットされます。受信エラーが発生すると , エラーフラグ (SSR0,
SSR1:ORE) がセットされます。パリティエラー (SSR0, SSR1:PE), およびフレーミング
エラー (SSR0, SSR1:FRE) は検出できません。
図 18.5-1 に , 受信動作とフラグセットのタイミングを示します。
図 18.5-1 受信動作とフラグセットのタイミング
受信データ
(動作モード0)
ST
D0
D1
D5
D6
D7/P
SP
受信データ
(動作モード1)
ST
D0
D1
D6
D7
A/D
SP
D0
D1
D4
D5
D6
D7
受信データ
(動作モード2)
PE,ORE,FRE*
RDRF
受信割込み発生
*
: PEフラグはモード1では使用できません。
PE,FREフラグはモード2では使用できません。
ST : スタートビット
SP : ストップビット
A/D : モード1(マルチプロセッサモード)のアドレス/データ選択ビット
408
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 18 章 UART
18.5 UART の割込み
● 受信割込み発生のタイミング
受信割込みが許可されている場合に (SSR0, SSR1:RIE=1), 受信データフルフラグ (SSR0,
SSR1:RDRF), パリティエラーフラグ (SSR0, SSR1:PE), オーバランエラーフラグ (SSR0,
SSR1:ORE), フレーミングエラーフラグ (SSR0, SSR1:FRE) のいずれかが "1" にセットさ
れると , 受信割込み要求が発生します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
409
第 18 章 UART
18.5 UART の割込み
MB90335 シリーズ
送信割込み発生とフラグセットのタイミング
18.5.2
送信時の割込みは , シリアル出力データレジスタ 0, 1(SODR0, SODR1) が空になり ,
次の送信データの書込みが可能な状態になると発生します。
■ 送信割込み発生とフラグセットのタイミング
送信データエンプティフラグビット (SSR0, SSR1:TDRE) は , シリアル出力データレジ
スタ 0, 1(SODR0, SODR1) に書き込まれた送信データが , 送信用シフトレジスタに転送
され , 次のデータが書込み可能な状態になると "1" にセットされます。シリアル出力
データレジスタ 0, 1(SODR0, SODR1) に次の送信データを書き込むと送信データエンプ
ティフラグビット (SSR0, SSR1:TDRE) は "0" にクリアされます。
図 18.5-2 に送信動作とフラグセットのタイミングについて示します。
図 18.5-2 送信動作とフラグセットのタイミング
[動作モード0,1]
送信割込み発生
送信割込み発生
SODR0,SODR1書込み
TDRE
SOT0,SOT1出力
[動作モード2]
ST
D0
D1
D2
D3
D4
D5
D6
D7
SP SP
A/D
ST
D0
D1
D2
D3
D3
D4
D5
D6
D7
送信割込み発生
送信割込み発生
SODR0,SODR1書込み
TDRE
SOT0,SOT1出力
ST
D0~D7
SP
A/D
410
:
:
:
:
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
スタートビット
データビット
ストップビット
アドレス/データ選択ビット
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 18 章 UART
18.5 UART の割込み
● 送信割込み要求発生のタイミング
送信割込みが許可 (SSR0, SSR1:TIE=1) されている場合に , 送信データエンプティフラ
グビット (SSR0, SSR1:TDRE) が "1" にセットされると送信割込み要求が発生します。
<注意事項>
送信動作中に送信動作を禁止 (SCR0, SCR1:TXE=0, 動作モード 1 での場合 , 受信動作を
禁止 RXE も含む ) すると , 送信データエンプティフラグビットがセットされ (SSR0,
SSR1:TDRE=1), 送信用シフトレジスタのシフト動作が停止してから UART の通信動作が
禁止されます。
送信が停止する前にシリアル出力データレジスタ 0, 1(SODR0, SODR1) に
書き込まれていた送信データは送信されます。
初期状態で TDRE ビットが "1" のため , 送信割込みを許可 (TIE=1) すると送信完了割込み
が発生します。TDRE ビットはリードオンリビットで , シリアル出力データレジスタ 0, 1
(SODR0, SODR1)に新規データを書き込むしかクリアする方法がありませんので, 送信割
込み許可のタイミングに注意してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
411
第 18 章 UART
18.6 UART のボーレート
18.6
MB90335 シリーズ
UART のボーレート
UART の送受信クロックは , 次のいずれかを選択できます。
• 内部クロック ( リロードカウンタ )
• 外部クロック ( リロードカウンタ )
• 外部クロック (SCK 端子入力のクロック )
■ UART ボーレート選択
ボーレートの選択回路は次のようになっており , ボーレートは次の 3 種類の中から 1 種
類を選択できます。
● 内部クロックの専用ボーレートジェネレータによるボーレート
UART プリスケーラ制御レジスタ 0, 1 (UTCR0, UTCR1) , および UART プリスケーラリ
ロードレジスタ 0, 1 (UTRLR0, UTRLR1) の設定で 11 ビットのリロード値を設定するこ
とにより , ボーレートを選択できます。リロードカウンタは , 設定された値でマシンク
ロックを分周します。非同期モード , 同期モード時に使用します。
● 外部クロックの専用ボーレートジェネレータによるボーレート
リロードカウンタのクロックソースに外部クロックを使用します。UART プリスケー
ラ制御レジスタ 0, 1 (UTCR0, UTCR1) , および UART プリスケーラリロードレジスタ 0, 1
(UTRLR0, UTRLR1) の設定で 11 ビットのリロード値を設定することにより , ボーレー
トを選択できます。リロードカウンタは , 設定された値で外部クロックを分周します。
非同期モード時に使用します。
● 外部クロック (1 対 1 モード ) によるボーレート
UART のクロック入力端子 (SCK0, SCK1) から入力されたクロックを , そのままボー
レートとして使用します。同期モードに使用します。
412
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 18 章 UART
18.6 UART のボーレート
UART 内部クロックの専用ボーレートジェネレータ
によるボーレート
18.6.1
UART の転送クロックとして , 専用ボーレートジェネレータを選択した場合の設定可
能なボーレートを示します。
■ 内部クロックの専用ボーレートジェネレータによるボーレート
UART プリスケーラ制御レジスタ 0, 1 (UTCR0, UTCR1) , および UART プリスケーラリ
ロードレジスタ 0, 1 (UTRLR0, UTRLR1) で 11 ビットのリロード値を設定することによ
り , マシンクロックを分周します。
< 非同期モード >
ボーレート = φ/4n (bps)
φ: マシンクロック周波数 n: D10 ∼ D0 (UTCR0, UTCR1, UTRLR0, UTRLR1) の値
ただし , n=1, 2, 3 は設定しないでください。
< 同期モード >
ボーレート = 2φ/n (bps)
φ: マシンクロック周波数 n: D10 ∼ D0 (UTCR0, UTCR1, UTRLR0, UTRLR1) の値
ただし , n=16 以上 , (D1, D0) には "00B" を設定してください。
<注意事項>
基本周期設定ビットの D1, D0(UTRLR0, UTRLR1 の bit1, bit0) に "01B", "10B", "11B" を設
定しますとデューティ比が異なるシリアルクロックを生成しますので , クロック同期モー
ド時には , D1, D0(UTRLR0, UTRLR1 の bit1, bit0) を "00B" に設定してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
413
第 18 章 UART
18.6 UART のボーレート
MB90335 シリーズ
外部クロックの専用ボーレートジェネレータによる
ボーレート
18.6.2
UART の転送クロックとして , 外部クロックの専用ボーレートジェネレータを選択し
た場合の設定可能なボーレートを示します。非同期モード時に使用します。
■ 外部クロックの専用ボーレートジェネレータによるボーレート
UART プリスケーラ制御レジスタ 0, 1 (UTCR0, UTCR1) , および UART プリスケーラリ
ロードレジスタ 0, 1 (UTRLR0, UTRLR1) で 11 ビットのリロード値を設定することによ
り , 外部クロックを分周します。
ボーレートは外部クロックの周波数を f とすると次のようになります。
・UTCR0, UTCR1:MD=1 に設定した場合
b= f/4n (bps), f ≦ φ × n/4
f: 外部クロック周波数
n: D10 ∼ D0 (UTCR0, UTCR1, UTRLR0, UTRLR1) の値
b: ボーレート
ただし , n=1, 2, 3 は設定しないでください。
f の最大周波数は 24 MHz です。
<注意事項>
外部クロックにより生成されたボーレートはマシンクロックで同期化されるためにボー
レートの計算値に対し誤差が発生します。
414
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
18.6.3
第 18 章 UART
18.6 UART のボーレート
外部クロック (1 対 1 モード ) によるボーレート
UART の転送クロックとして , 外部クロックを選択する場合の設定とボーレートの計
算式を示します。クロック同期モード時に使用します。
■ 外部クロック (1 対 1 モード ) によるボーレート
外部クロック (1 対 1 モード ) によるボーレートを選択するには , 次の 3 つの設定が必
要です。
UART プリスケーラ制御レジスタ 0, 1(UTCR0, UTCR1) の MD ビットに "0", CKS ビッ
トに "1" を書き込んで , 外部クロック (1 対 1 モード ) によるボーレートを選択します。
SCK0, SCK1 端子を入力に設定します (DDR4:bit4=0, bit7=0)。
シリアルモードレジスタ 0, 1(SMR0, SMR1) の SCKE ビットに "0" を書き込んで端子を
外部クロック入力端子とします。
クロック同期モード時に使用します。
● ボーレート計算式
外部クロック (1 対 1 モード ) によるボーレートを選択した場合 (UTCR0, UTCR1:MD=0,
CKS=1) のボーレートは , 外部クロックの周波数を f とすると次のようになります。
同期
= f (bps)
f : 外部クロック周波数
ただし , f の最大はマシンクロックの 1/8 までです。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
415
第 18 章 UART
18.7 UART の動作説明
18.7
MB90335 シリーズ
UART の動作説明
UART には , 通常の双方向シリアル通信機能 ( 動作モード 0, 動作モード 2) のほかに ,
マスタ・スレーブ型接続の通信機能 ( 動作モード 1) があります。
■ UART の動作
● 動作モード
UART は動作モード 0 ∼動作モード 2 の 3 種類があり , 表 18.7-1 に示すように CPU 間
の接続方式やデータ転送方式で選択できます。
表 18.7-1 UART の動作モード
データ長
動作モード
同期方式
パリティなし
ストップビット長
パリティあり
0
ノーマルモード
7 ビットまたは 8 ビット
1
マルチプロセッサ
モード
8 + 1 *1 ビット
―
非同期
2
ノーマルモード
8 ビット
―
同期
非同期
1 ビット
または
2 ビット *2
なし
― : 設定不可
*1 : " + 1" は通信制御用に使用されるアドレス / データ選択ビット (A/D) です。
*2 : 受信時のストップビットは 1 ビットのみ検出可能
<注意事項>
UART の動作モード 1 は , マスタ・スレーブ型接続時のマスタ時だけに使用されます。
● CPU 間接続方式
1 対 1 接続とマスタ・スレーブ型接続のどちらかを選択できます。いずれの方式でも ,
データ長 , パリティ有無 , 同期方式は , すべての CPU 間で統一しておく必要がありま
す。動作モードは次のように選択します。
1 対 1 接続の場合 : 2 つの CPU で動作モード 0, 動作モード 2 のいずれかの同じ方式を
採用する必要があります。非同期方式では動作モード 0 を , 同期方
式では動作モード 2 を選択してください。
マスタ / スレーブ型接続の場合 :
動作モード 1 を設定します。動作モード 1 を選択し
た場合は , マスタとして使用してください。なお ,
この接続ではパリティなし , データ長 8 ビットに設
定してください。
● 同期方式
非同期方式 ( 調歩同期 ) またはクロック同期方式を選択できます。
416
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 18 章 UART
18.7 UART の動作説明
● 信号方式
NRZ(Non Return to Zero) 形式のデータだけを扱えます。
● 送受信動作の開始
シリアル制御レジスタの送信動作許可ビット (SCR0, SCR1:TXE) を "1" に設定すると ,
送信動作を開始します。
シリアル制御レジスタの受信動作許可ビット (SCR0, SCR1:RXE) を "1" に設定すると ,
受信動作を開始します。
● 送受信動作の停止
シリアル制御レジスタの送信動作許可ビット (SCR0, SCR1:TXE) を "0" に設定すると ,
送信動作を停止します。
シリアル制御レジスタの受信動作許可ビット (SCR0, SCR1:RXE) を "0" に設定すると ,
受信動作を停止します。
● 送受信中の停止
受 信 中 ( 受 信 用 シ フ ト レ ジ ス タ へ の デ ー タ 入 力 中 ) に 受 信 動 作 を 禁 止 (SCR0,
SCR1:RXE=0) した場合には , 受信中のフレームの受信を完了し , シリアル入力データ
レジスタ 0, 1 (SIDR0, SIDR1) に受信データを格納してから受信動作を停止します。
送信中 ( 送信用シフトレジスタからデータが出力中 ) に送信動作を禁止 (SCR0,
SCR1:TXE=0) した場合は , シリアル出力データレジスタ 0, 1 (SODR0, SODR1) から送信
用シフトレジスタに 1 フレームの転送が完了してから送信動作を停止します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
417
第 18 章 UART
18.7 UART の動作説明
MB90335 シリーズ
非同期モード ( 動作モード 0, 1) 時の動作
18.7.1
UART を動作モード 0( ノーマルモード ), または動作モード 1( マルチプロセッサ
モード ) で使用する場合 , 転送方式は非同期となります。
■ 非同期モード時の動作
● 送受信データフォーマット
送受信は , 必ずスタートビット ("L" レベル ) から始まり , 指定されたデータビット長の
送受信が行われ , ストップビット ("H" レベル ) で終了します。
動作モード 0 では , データ長は 7 ビットまたは 8 ビットを選択します。パリティビット
は , あり / なしの選択ができます。
動作モード 1 では , データ長は 8 ビットに固定されます。パリティビットは付加されま
せん。9 ビット目に , アドレス / データビット (SCR0, SCR1:A/D) が付加されます。
非同期モードの送受信データフォーマットを図 18.7-1 に示します。
図 18.7-1 送受信データフォーマット ( 動作モード 0, 1)
[動作モード0]
ST
D0
D1
D2
D3
D4
D5
D6
D7
SP
ST
D0
D1
D2
D3
D4
D5
D6
D7
SP
SP
Pなし
ST
D0
D1
D2
D3
D4
D5
D6
D7
P
SP
ST
D0
D1
D2
D3
D4
D5
D6
D7
P
SP
ST
D0
D1
D2
D3
D4
D5
D6
SP
ST
D0
D1
D2
D3
D4
D5
D6
SP
データ
8ビット
SP
Pあり
SP
Pなし
ST
D0
D1
D2
D3
D4
D5
D6
P
SP
ST
D0
D1
D2
D3
D4
D5
D6
P
SP
D2
D3
D4
D5
D6
D7
A/D
データ
7ビット
SP
Pあり
[動作モード1]
ST
ST
ST
SP
P
A/D
418
D0
D0
D1
D1
D2
D3
D4
D5
D6
D7
A/D
SP
SP
SP
データ
8ビット
:スタートビット
:ストップビット
:パリティビット
:アドレス/データビット
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 18 章 UART
18.7 UART の動作説明
● 送信動作
•
送信データは, 送信データエンプティフラグビット(SSR0, SSR1:TDRE)に"1"がセッ
トされている状態で , シリアル出力データレジスタ 0, 1(SODR0, SODR1) に書き込み
ます。
•
送信データを書き込み , シリアル制御レジスタの送信動作許可ビット (SCR0, SCR1:
TXE) を "1" に設定すると , 送信が開始されます。
•
送信データをシリアル出力データレジスタに書き込むと , 送信データエンプティフ
ラグビット (SSR0, SSR1:TDRE) は , いったん "0" にクリアされます。
•
送信データをシリアル出力データレジスタ 0, 1 (SODR0, SODR1) から送信用シフト
レジスタに転送すると , 送信データエンプティフラグビット (SSR0, SSR1:TDRE) は
再度 "1" にセットされます。
•
送信割込み許可ビット (SSR0, SSR1:TIE) を "1" に設定していた場合は , 送信データ
エンプティフラグビット (SSR0, SSR1:TDRE) が "1" にセットされると , 送信割込み
要求が発生します。割込み処理において , 次の送信データをシリアル出力データレ
ジスタ 0, 1(SODR0, SODR1) に書き込めます。
● 受信動作
•
受信動作は , 受信動作の許可が設定されている場合では (SCR0, SCR1:RXE=1), 常に
行われます。
•
受信データのスタートビットを検出すると , シリアル制御レジスタ 0, 1 (SCR0,
SCR1) に設定しているデータフォーマットに従って , 1 フレームのデータをシリア
ル入力データレジスタ 0, 1 (SIDR0, SIDR1) に受信します。
•
1 フレームのデータ受信が完了すると , 受信データフルフラグビット (SSR0, SSR1:
RDRF) が "1" にセットされます。
•
受信データを読み出す場合は , 1 フレームデータの受信完了後に , シリアルステータ
スレジスタ 0, 1 (SSR0, SSR1) のエラーフラグの状態を確認し , 正常に受信が行われ
ていれば , シリアル入力データレジスタから受信データを読み出してください。受
信エラーが発生している場合は , エラー処理を行ってください
•
受信データの読出しを行うと , 受信データフルフラグビット (SSR0, SSR1:RDRF) は
"0" にクリアされます。
● ストップビット
1 ビットまたは 2 ビット長を選択できます。受信側では , 常に最初の 1 ビットだけを検
出します。
● エラー検出
動作モード 0 では , パリティエラー , オーバランエラー , フレーミングエラーが検出で
きます。
動作モード 1 では , オーバラン , フレーミングエラーが検出できます。パリティエラー
は検出できません。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
419
第 18 章 UART
18.7 UART の動作説明
MB90335 シリーズ
● パリティビット
パリティビットの付加は , 動作モード 0 の場合のみ設定できます。パリティ付加許可
ビット (SCR0, SCR1:PEN) でパリティの有無を , パリティ選択ビット (SCR0, SCR1:P) で
偶数パリティ / 奇数パリティを設定できます。
動作モード 1, 動作モード 2 では , パリティの付加はできません。
パリティ有効時の送受信データを図 18.7-2 に示します。
図 18.7-2 パリティビット有効時の送受信データ
SIN0,SIN1
SP
ST
1
SOT0,SOT1
1
1
0
0
0
0
ST
1
SOT0,SOT1
0
0
1
1
0
0
1
0
1
1
データ
0
0
0
SP
偶数パリティの送信
(SCR0,SCR1:P=0)
SP
奇数パリティの送信
(SCR0,SCR1:P=1)
0
ST
1
偶数パリティにて受信時
パリティエラー発生
(SCR0,SCR1:P=0)
0
パリティ
ST:スタートビット
SP:ストップビット
(注意事項)
動作モード1,2では、パリティは使用できません。
420
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 18 章 UART
18.7 UART の動作説明
MB90335 シリーズ
18.7.2
同期モード ( 動作モード 2) 時の動作
UART 動作モード 2( ノーマルモード ) で使用する場合 , 転送方式はクロック同期と
なります。
■ 同期モード ( 動作モード 2) 時の動作
● 送受信データフォーマット
同期モードでは , 1 ∼ 8 ビットデータを転送し , スタートビット , ストップビットは付
加されません。図 18.7-3 にクロック同期モード時の送受信データフォーマットを示し
ます。
図 18.7-3 送受信データフォーマット ( 動作モード 2)
シリアルクロックを出力して送信する場合(7ビット長LSBファーストの場合)
マークレベル
SCK0,SCK1出力
SOT0,SOT1
(LSB)
1
0
1
1
0
0
1
(MSB)
送信データ
送信データ書込み
TXE
シリアルクロックを入力して送信する場合(7ビット長LSBファーストの場合)マークレベル
SCK0,SCK1出力
SIN0,SIN1
(LSB)
1
0
1
1
0
0
1
(MSB)
受信データ
受信データ書込み
RXE
● クロック供給
クロック同期方式では , 送受信を行うフレームのビット数に等しい数のクロックの供
給が必要になります。
内部クロック ( 専用ボーレートジェネレータ ) を選択している場合は , データを送信す
るとデータ受信用同期クロックが自動的に生成されます。
外部クロックを選択している場合は , シリアル出力データレジスタ 0, 1(SODR0,
SODR1) に送信データがあること (SSR0, SSR1:TDRE=0) を確認してから , 正確に 1 バイ
ト分のクロックを外部から供給する必要があります。また , 送信前と終了後は , 必ず
マークレベル ("H") にする必要があります。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
421
第 18 章 UART
18.7 UART の動作説明
MB90335 シリーズ
● 非動作時のシリアルクロック出力レベルの指定
クロック同期モード時, 非動作時のシリアルクロック出力レベルの設定(SMR:SCKL)が
できます。
図 18.7-4 非動作時のシリアルクロック出力レベルの設定
送信データ書込み
送受信クロック
(SCKL=1)
マークレベル
送受信クロック
(SCKL=0)
RXE,TXE
送信データ
1
0
1
1
0
0
1
0
● エラー検出
オーバランエラーのみ検出できます。パリティエラー, フレーミングエラーは検出でき
ません。
● 初期化
同期モードを使用する場合の , 各制御レジスタの設定値を示します。
[ シリアルモードレジスタ 0, 1(SMR0, SMR1)]
MD1, MD0
:"10B"
SCKL
: 非動作時のシリアルクロック出力レベルを "H" にする場合は "1" に
設定
: 非動作時のシリアルクロック出力レベルを "L" にする場合は "0" に
設定
M2L2 ∼ M2L0 : 転送数 8 ビットの場合は , "000B" に設定
: 転送数 7 ビットの場合は , "111B" に設定
: 転送数 6 ビットの場合は , "110B" に設定
: 転送数 5 ビットの場合は , "101B" に設定
: 転送数 4 ビットの場合は , "100B" に設定
: 転送数 3 ビットの場合は , "011B" に設定
: 転送数 2 ビットの場合は , "010B" に設定
: 転送数 1 ビットの場合は , "001B" に設定
SCKE
: 専用ボーレートジェネレータの場合 "1", クロック出力 , 外部クロック
( クロック入力 ) の場合 "0"
SOE
422
: 送信する場合 "1", 受信だけの場合 "0"
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 18 章 UART
18.7 UART の動作説明
MB90335 シリーズ
[ シリアル制御レジスタ 0, 1(SCR0, SCR1)]
PEN
:"0"
P, SBL, A/D
: これらのビットは意味を持ちません。
CL
:"1"(8 ビットデータ )
REC
:"0"( 初期化するため , エラーフラグクリア )
RXE, TXE
: 少なくとも , どちらか一方を "1"
[ シリアルステータスレジスタ 0, 1(SSR0, SSR1)]
RIE
: 割込みを使用する場合 "1", 割込みを使用しない場合 "0"
TIE
: 割込みを使用する場合 "1", 割込みを使用しない場合 "0"
● 通信開始
シリアル出力データレジスタ 0, 1(SODR0, SODR1) に送信データを書き込むと , 通信が
開始されます。受信のみ行う場合でも通信を開始する場合は , 必ず仮の送信データをシ
リアル出力データレジスタ 0, 1(SODR0, SODR1) に書き込む必要があります。
● 通信終了
1 フ レー ム の デ ー タ送 受 信 が 終 了す る と , 受信 デ ー タ フ ルフ ラ グ ビ ット (SSR0,
SSR1:RDRF) が "1" にセットされます。データを受信した場合には , オーバランエラー
フラグビット (SSR0, SSR1:ORE) をチェックし , 通信が正常に行われたかどうかを判断
してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
423
第 18 章 UART
18.7 UART の動作説明
18.7.3
MB90335 シリーズ
双方向通信機能 ( ノーマルモード )
動作モード 0, 2 で , 1 対 1 接続の通常のシリアル双方向通信ができます。同期方式
は , 動作モード 0 の場合は非同期 , 動作モード 2 の場合は同期となります。
■ 双方向通信機能
UART をノーマルモード ( 動作モード 0, 2) で動作させるためには , 図 18.7-5 の設定が
必要です。
図 18.7-5 UART の動作モード 0 の設定
bit15 bit14 bit13 bit12 bit11 bit10 bit9
SCR1, SCR0,
SMR1, SMR0
PEN
P
SBL
CL
A/D
モード 0
0
モード 2
SSR1, SSR0,
SIDR1, SIDR0/
SODR1, SODR0
PE
X
X
1
bit8
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
REC RXE TXE MD1 MD0 SCKL M2L2 M2L1 M2L0 SCKE SOE
X
0
0
0
X
0
1
0
ORE FRE RDRF TDRE BDS
RIE
X
X
X
X
送信データを設定 ( ライト時 )/
受信データを保持 ( リード時 )
TIE
モード 0
X
モード 2
X
DDR4
D47
D46
D45
D44
D43
D42
D41
D40
: 使用ビット
X : 未使用ビット
1 : "1" を設定
0 : "0" を設定
: 端子の入力を使用する場合 "0" を設定
● CPU 間接続
図 18.7-6 に示すように , 2 つの CPU を相互に接続します。
図 18.7-6 UART の双方向通信の接続例
SOT
SOT
SIN
SIN
SCK
出力
入力
CPU-1
424
SCK
CPU-2
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 18 章 UART
18.7 UART の動作説明
MB90335 シリーズ
● 通信手順
通信は , 送信データが準備できたときに任意のタイミングで送信側から開始します。送
信側はシリアル出力データレジスタ 0, 1 (SODR0, SODR1) に送信データを設定し , シリ
アル制御レジスタの送信動作許可ビット (SCR0, SCR1:TXE) を "1" に設定して , 送信を
開始してください。
正常に受信したことを送信側に示すために , 受信データを送信側に転送する例を図
18.7-7 に示します。受信側で送信データを受け取ると定期的に , ANS( 例では 1 バイト
ごと ) を返します。
図 18.7-7 双方向通信フローの例
(送信側)
(受信側)
開始
開始
動作モード設定
(0,2いずれか)
動作モード設定
(送信側と合わす)
SODRに1バイトデータを
セットして通信
データ送信
受信データあり
NO
YES
NO
受信データあり
受信データ読出しと処理
YES
データ送信
受信データ読出しと処理
CM44-10137-6
(ANS)
1バイトデータ送信
FUJITSU MICROELECTRONICS LIMITED
425
第 18 章 UART
18.7 UART の動作説明
MB90335 シリーズ
マスタ / スレーブ型通信機能 ( マルチプロセッサ
モード )
18.7.4
動作モード 1 では , 複数 CPU のマスタ / スレーブ型接続による通信が可能です。
ただし , マスタとしてのみ使用できます。
■ マスタ / スレーブ型通信機能
UART をマルチプロセッサモード ( 動作モード 1) で動作させるためには , 図 18.7-8 の
設定が必要です。
図 18.7-8 UART の動作モード 1 の設定
bit15 bit14 bit13 bit12 bit11 bit10 bit9
SCR1, SCR0,
SMR1, SMR0
SSR1, SSR0,
SIDR1, SIDR0/
SODR1, SODR0
PEN
P
0
X
PE
SBL
CL
bit8 bit7
bit6 bit5
bit4 bit3
bit2 bit1
bit0
A/D REC RXE TXE MD1 MD0 SCKL M2L2 M2L1 M2L0 SCKE SOE
1
0
ORE FRE RDRF TDRE BDS
0
RIE
1
X
X
X
X
送信データを設定 ( ライト時 )/
受信データを保持 ( リード時 )
TIE
X
DDR4
D47
D46
D45
D44
D43
D42
D41
D40
: 使用ビット
X : 未使用ビット
1 : "1" を設定
0 : "0" を設定
: 端子の入力を使用する場合 "0" を設定
● CPU 間接続
図 18.7-9 に示すように , 2 本の共通通信ラインに 1 つのマスタ CPU と , 複数のスレー
ブ CPU を接続して , 通信システムを構成します。UART はマスタ CPU としてのみ使用
できます。
図 18.7-9 UART のマスタ・スレーブ型通信の接続例
SOT0,SOT1
SIN0,SIN1
マスタCPU
SOT
SIN
スレーブCPU #0
426
SOT
SIN
スレーブCPU #1
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 18 章 UART
18.7 UART の動作説明
MB90335 シリーズ
● 機能選択
マスタ / スレーブ型通信では , 表 18.7-2 のように , 動作モードとデータ転送方式を選択
してください。動作モード 1 では , パリティチェック機能は使用できないので , パリ
ティ許可ビット (SCR0, SCR1:PEN) は "0" に設定してください。
表 18.7-2 マスタ / スレーブ型通信機能の選択
動作モード
データ
マスタ CPU
ストップ
ビット
なし
非同期
1 ビット
または
2 ビット
A/D= 1
+
8 ビット
アドレス
モード 1
CM44-10137-6
同期方式
スレーブ CPU
アドレス
送受信
データ
送受信
パリティ
―
A/D= 0
+
8 ビット
データ
FUJITSU MICROELECTRONICS LIMITED
427
第 18 章 UART
18.7 UART の動作説明
MB90335 シリーズ
● 通信手順
通信はマスタ CPU がアドレスデータを送信することで始まります。アドレスデータと
は , A/D ビットを "1" としたデータで , 通信先となるスレーブ CPU を選択します。各ス
レーブ CPU はプログラムでアドレスデータを判断し , 割り当てられたアドレスと一致
する場合 , マスタ CPU との通信 ( 通常データ ) をします。
図 18.7-10 に , マスタ / スレーブ型通信 ( マルチプロセッサモード ) のフローチャート
を示します。
図 18.7-10 マスタ / スレーブ型通信フローチャート
(マスタCPU)
開始
動作モードを1とする
SIN端子をシリアルデータ
入力に設定
D0~D7にスレーブ
CPUを選択する1バイト
データ(アドレスデータ)
をセットして送信(A/D=1)
A/Dに"0"をセット
受信動作許可
スレーブCPUと通信
通信終了?
NO
YES
ほかの
スレーブCPU
と通信
NO
YES
受信動作禁止
終了
428
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
18.8
第 18 章 UART
18.8 UART 使用上の注意
UART 使用上の注意
UART を使用する場合は以下の点に注意してください。
■ UART 使用上の注意
● 送受信の動作許可
•
送信 , 受信のそれぞれに対して送信動作許可ビット (SCR0, SCR1:TXE), 受信動作許
可ビット (SCR0, SCR1:RXE) があります。
•
リセット後の初期状態では , 送受信とも動作禁止に設定 (SCR0, SCR1:TXE=0,
RXE=0) されているので , 送受信を行う前に動作を許可する必要があります。
•
送受信動作を禁止 (SCR0, SCR1:TXE=0, RXE=0) して , 送受信を中止できます。
● 動作モードの設定について
動作モードは , 送受信動作を禁止 (SCR0, SCR1:TXE=0, RXE=0) してから , 設定してく
ださい。送受信中に動作モードを切り換えた場合 , 送受信されたデータは保証されませ
ん。
● クロック同期モードについて
動作モード 2 は , クロック同期方式として設定されます。送受信データにスタートビッ
ト , ストップビットは付加されません。
● 送信割込み許可のタイミング
送信データエンプティフラグビット (SSR0, SSR1:TDRE) は , リセット後の初期値が "1"
( 送信データなし , 送信データ書込み許可 ) にセットされているので , 送信割込みを許
可 (SSR0, SSR1:TIE=1) したと同時に , 送信割込み要求が発生します。必ず送信データ
を準備してから , 送信割込みを許可 (SSR0, SSR1:TIE=1) してください。
● マルチプロセッサモードの受信
マルチプロセッサモードにおいては , 9 ビット受信での受信動作はできません。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
429
第 18 章 UART
18.9 UART のプログラム例
18.9
MB90335 シリーズ
UART のプログラム例
UART のプログラム例を示します。
■ UART のプログラム例
● 処理仕様
UART の双方向通信機能 ( ノーマルモード ) を使用して , シリアル送受信をします。
動作モード 0, 非同期 , データ長 8 ビット , ストップビット長 2 ビット , パリティなしと
します。
通信には , P42/SIN0, P43/SOT0 端子を使用します。
専用ボーレートジェネレータを使用し , ボーレートの設定は , 約 9600bps にします。
SOT0 端子からキャラクタ "13H" を送出し , 割込みで受信します。
マシンクロック (φ) は , 16 MHz とします。
● コーディング例
ICR14
EQU
0000BEH
; UART 送受信割込み用制御レジスタ
DDR4
EQU
000014H
; ポート 4 方向レジスタ
SMR0
EQU
000020H
; シリアルモードレジスタ 0
SCR0
EQU
000021H
; シリアル制御レジスタ 0
SIDR0
EQU
000022H
; シリアル入力データレジスタ 0
SODR0
EQU
000022H
; シリアル出力データレジスタ 0
SSR0
EQU
000023H
; シリアルステータスレジスタ 0
UTCR0
EQU
000025H
; UART プリスケーラ制御レジスタ 0
UTRLR0
EQU
000024H
; UARTプリスケーラリロードレジスタ0
REC
EQU
SCR:2
; 受信エラーフラグクリアビット
;---------- メインプログラム -----------------------------------------------------------CODE
CSEG
ABS = 0FFH
START:
;
; スタックポインタ (SP) などは初期化
:
済みとする
AND
CCR, #0BFH
; 割込み禁止
MOV
I:ICR14, #00H
; 割込みレベル 0( 最強 )
MOV
I:DDR4, #00000000B
; SIN0 端子を入力に設定
MOV
I:SMR0, #00000001B
; 動作モード 0( 非同期 )
; クロック出力禁止 , データ出力許可
MOV
I:UTRL0, #81A0H
; 専用ボーレートジェネレータ使用
(9615bps 選択 )
430
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 18 章 UART
18.9 UART のプログラム例
MB90335 シリーズ
MOV
I:SCR0, #00110011B
; パリティなし , ストップ bit2 ビット
; データ長 8 ビット , 受信エラーフラグク
リア
; 送受信動作許可
LOOP:
MOV
I:SSR0, #00000010B
; 送信割込み禁止 , 受信割込み許可
MOV
I:SODR0, #13H
; 送信データ書込み
MOV
ILM, #07H
; PS 内 ILM をレベル 7 に設定
OR
CCR, #40H
; 割込み許可
MOV
A, #00H
; 無限ループ
MOV
A, #01H
BRA
LOOP
;---------- 割込みプログラム -----------------------------------------------------------WARI:
MOV
A, SIDR0
; 受信データの読出し
CLRB
I:REC
; 受信割込み要求フラグをクリア
;
:
;
ユーザ処理
;
:
; 割込みから復帰
RETI
CODE
ENDS
;---------- ベクタ設定 -----------------------------------------------------------------VECT
VECT
CM44-10137-6
CSEG
ABS=0FFH
ORG
0FF60H
DSL
WARI
ORG
0FFDCH
DSL
START
DB
00H
; 割込み #39(27H) にベクタを設定
; リセットベクタ設定
; シングルチップモードに設定
ENDS
FUJITSU MICROELECTRONICS LIMITED
431
第 18 章 UART
18.9 UART のプログラム例
432
MB90335 シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 19 章
I2C インタフェース
I2C インタフェースの概要 , レジスタの構成 / 機能
および I2C インタフェースの動作について説明し
ます。
19.1 I2C インタフェースの概要
19.2 I2C インタフェースのレジスタ
19.3 I2C インタフェースの動作
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
433
第 19 章 I2C インタフェース
19.1 I2C インタフェースの概要
19.1
MB90335 シリーズ
I2C インタフェースの概要
I2C インタフェースは , Inter IC BUS をサポートするシリアル I/O ポートです。I2C
バス上のマスタ / スレーブデバイスとして動作します。
■ I2C インタフェースの機能
I2C インタフェースは , 以下の機能をもっています。
• マスタ / スレーブ送受信
• アービトレーション機能
• クロック同期化機能
• スレーブアドレス / ゼネラルコールアドレス検出機能
• 転送方向検出機能
• スタートコンディションの繰返し発生および検出機能
• バスエラー検出機能
434
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 19 章 I2C インタフェース
19.1 I2C インタフェースの概要
MB90335 シリーズ
■ I2C インタフェースのブロックダイヤグラム
図 19.1-1 に , I2C インタフェースのブロックダイヤグラムを示します。
図 19.1-1 I2C インタフェースのブロックダイヤグラム
ICCR0
I2Cイネーブル
EN
クロック分周1
5
ICCR0
CS4
6
7
周辺クロック
8
クロック選択1
CS3
クロック分周2
CS2
2 4 8 16 32
CS1
CS0
64
128
256
Sync
クロック選択2
シフトクロック
エッジ変化
タイミング
IBSR0
BB
RSC
LRB
F2MC-16Lバス
TRX
シフトクロック発生
バスビジー
リピート
スタート
Lastビット
スタート・ストップ
コンディション検出
エラー
送/受
First Byte
FBT
AL
アービトレーションロスト検出
IBCR0
SCL0
BER
BEIE
割込み要求
INTE
IRQ #17
SDA0
INT
IBCR0
SCC
MSS
ACK
GCAA
終了
スタート
マスタ
ACK許可
スタート・ストップ
コンディション発生
GC-ACK許可
IDAR0
IBSR0
AAS
GCA
スレーブ
グローバル
コール
スレーブアドレス
比較
IADR0
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
435
第 19 章 I2C インタフェース
19.2 I2C インタフェースのレジスタ
19.2
MB90335 シリーズ
I2C インタフェースのレジスタ
I2C インタフェースで使用するレジスタの構成および機能について説明します。
■ I2C インタフェースのレジスタ一覧
図 19.2-1 I2C インタフェースのレジスタ一覧
bit
ch.0 :
000070H
BB
ch.0 :
000071H
AL
4
LRB
3
TRX
2
AAS
1
GCA
0
FBT
IBSR0
I2C バスステータス
レジスタ 0
R
R
R
R
R
R
R
読出し / 書込み
15
14
13
12
11
10
9
8
IBCR0
BEIE
SCC
MSS
ACK
GCAA
INTE
INT
I2C バスコントロール
レジスタ 0
初期値 00000000B
ch.0 :
000072H
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
-
-
EN
CS4
CS3
CS2
CS1
CS0
読出し / 書込み
ICCR0
I2C クロックコントロール
レジスタ 0
初期値 --0XXXXXB
bit
ch.0 :
000073H
-
-
R/W
R/W
R/W
R/W
R/W
R/W
15
14
13
12
11
10
9
8
-
A6
A5
A4
A3
A2
A1
A0
読出し / 書込み
IADR0
I2C バスアドレスレジスタ 0
初期値 -XXXXXXXB
bit
-
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
読出し / 書込み
IDAR0
I2C バスデータレジスタ 0
初期値 XXXXXXXXB
R/W
436
RSC
5
R
BER
bit
R/W
R
X
6
初期値 00000000B
bit
ch.0 :
000074H
7
R/W
R/W
R/W
R/W
R/W
R/W
R/W
読出し / 書込み
: リード・ライト可能
: リードオンリ
: 未定義
: 不定
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 19 章 I2C インタフェース
19.2 I C インタフェースのレジスタ
MB90335 シリーズ
19.2.1
2
I2C バスステータスレジスタ 0 (IBSR0)
I2C バスステータスレジスタ 0 (IBSR0) の構成および機能について説明します。
■ I2C バスステータスレジスタ 0 (IBSR0)
図 19.2-2 に , I2C バスステータスレジスタ 0 (IBSR0) のビット構成を示します。
図 19.2-2 I2C バスステータスレジスタ 0 (IBSR0) のビット構成
bit
ch.0 : 000070H
R
7
6
5
4
3
2
1
0
BB
RSC
AL
LRB
TRX
AAS
GCA
FBT
R
R
R
R
R
R
R
R
IBSR0
I2C バスステータス
レジスタ 0
初期値 00000000B
読出し / 書込み
: リードオンリ
以下に , I2C バスステータスレジスタ 0 (IBSR0) の各ビットの機能を説明します。
[bit7] BB: Bus Busy
I2C バスの状態を示すビットです。
0
ストップコンディションを検出した。
1
スタートコンディションを検出した ( バスは使用されている )。
[bit6] RSC : Repeated Start Condition
繰返しスタートコンディション検出ビットです。
0
繰返しスタートコンディションが検出されていない。
1
バス使用中に , スタートコンディションを検出した。
INT ビットへの "0" 書込み , スレーブ時にアドレスされなかった場合 , バス停止中のス
タートコンディション検出またはストップコンディション検出でクリアされます。
[bit5] AL : Arbitration Lost
アービトレーションロスト検出ビットです。
0
アービトレーションロストが検出されていない。
1
マスタ送信中にアービトレーションロストが発生 , またはほかのシ
ステムがバスを使用中 , MSS ビットに "1" を書き込んだ。
INT ビットへの "0" 書込みによってクリアされます。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
437
第 19 章 I2C インタフェース
19.2 I2C インタフェースのレジスタ
MB90335 シリーズ
[bit4] LRB : Last Recieved Bit
アクノリッジ格納ビットです。受信側からのアクノリッジを格納します。
0
受信を確認した。
1
受信が確認されない。
スタートコンディションまたはストップコンディションの検出によってクリアさ
れます。
[bit3] TRX : Transfer/Recieve
データ転送の送受信を示すビットです。
0
受信状態。
1
送信状態。
[bit2] AAS : Addressed As Slave
アドレッシング検出ビットです。
0
スレーブ時に , アドレッシングされていない。
1
スレーブ時に , アドレッシングされた。
スタートコンディションまたはストップコンディションの検出でクリアされます。
[bit1] GCA : General Call Address
ゼネラルコールアドレス (00H) 検出ビットです。
0
スレーブ時に , ゼネラルコールアドレスは受信されていない。
1
スレーブ時に , ゼネラルコールアドレスを受信した。
スタートコンディションまたはストップコンディションの検出でクリアされます。
[bit0] FBT: First Byte Transfer
第 1 バイト検出ビットです。
0
受信データは第 1 バイト以外である。
1
受信データが第 1 バイト ( アドレスデータ ) である。
スタートコンディションの検出で "1" にセットされても , INT ビットの "0" 書込みまた
はスレーブ時にアドレスされなかった場合にクリアされます。
438
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 19 章 I2C インタフェース
19.2 I C インタフェースのレジスタ
MB90335 シリーズ
2
I2C バスコントロールレジスタ 0 (IBCR0)
19.2.2
I2C バスコントロールレジスタ 0 (IBCR0) の構成および機能について説明します。
■ I2C バスコントロールレジスタ 0 (IBCR0)
図 19.2-3 に , バスコントロールレジスタ 0 (IBCR0) のビット構成を示します。
図 19.2-3 I2C バスコントロールレジスタ 0 (IBCR0) のビット構成
bit
ch.0 : 000071H
15
14
13
12
11
10
9
8
IBCR0
BER
BEIE
SCC
MSS
ACK
GCAA
INTE
INT
I2C バスコントロール
レジスタ 0
初期値 00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
読出し / 書込み
R/W : リード・ライト可能
以下に , バスコントロールレジスタ 0 (IBCR0) の各ビットの機能を説明します。
[bit15] BER: Bus Error
バスエラー割込み要求フラグです。書込み時と読出し時で機能が異なります。
( 書込み時 )
0
バスエラー割込み要求フラグをクリアする。
1
動作に影響を与えません。
( 読出し時 )
0
バスエラーは検出されていない。
1
データ転送中に, 不正なスタート, ストップコンディションを検出し
た。
BER ビットがセットされた場合 , ICCR0 の EN ビットはクリアされて I2C インタフェー
スは停止状態になり , データ転送は中断されます。
[bit14] BEIE :Bus Error Interrupt Enable
バスエラー割込み許可ビットです。
0
バスエラー割込み禁止。
1
バスエラー割込み許可。
"1" のとき BER ビットが "1" ならば , 割込みを発生します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
439
第 19 章 I2C インタフェース
19.2 I2C インタフェースのレジスタ
MB90335 シリーズ
[bit13] SCC : Start Condition Continue
スタートコンディション発生ビットです。
( 書込み時 )
0
動作に影響を与えません。
1
マスタ転送時に再びスタートコンディションを発生させる。
読出し値は , 常に "0" です。
[bit12] MSS : Master Slave Select
マスタ / スレーブの選択ビットです。
0
ストップコンディションを発生し , 転送終了後スレーブモードとな
る。
1
マスタモードとなり , スタートコンディションを発生し転送を開始
する。
マスタ送信中にアービトレーションロストが発生した場合にクリアされ , スレーブ
モードになります。
<注意事項>
下記の条件で使用する場合 , スレーブとして受信できませんのでゼネラルコールアド
レスの送信は禁止です。
・ 本 LSI のほかにマスタモードとなるほかの LSI がバス上に存在し , 本 LSI がマスタと
してゼネラルコールアドレスを送信し, 第2バイト以降でアービトレーションロスト
が発生する場合
[bit11] ACK : Acknowledge
データを受信した場合のアクノリッジ発生許可ビットです。
0
アクノリッジ発生禁止。
1
アクノリッジ発生許可。
スレーブにおけるアドレスデータ受信時には , 無効となります。
[bit10] GCAA : General Call Address Acknowledge
ゼネラルコールアドレスを受信した場合のアクノリッジ発生許可ビットです。
440
0
アクノリッジ発生禁止。
1
アクノリッジ発生許可。
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 19 章 I2C インタフェース
19.2 I C インタフェースのレジスタ
MB90335 シリーズ
2
[bit9] INTE : INTerrupt Enable
割込み許可ビットです。
0
割込み禁止。
1
割込み許可。
"1" のとき INT ビットが "1" ならば , 割込みを発生します。
[bit8] INT : INTerrupt
転送終了割込み要求フラグビットです。
( 書込み時 )
0
転送終了割込み要求フラグをクリアする。
1
動作に影響を与えません。
( 読出し時 )
0
転送が終了していない。
1
アクノリッジビットを含めた 1 バイト転送が終了したときに , 次の条
件に該当する場合にセット
・バスマスタである。
・アドレスされたスレーブである。
・ゼネラルコールアドレスを受信した。
・アービトレーションロストを発生した。
・ほかのシステムがバス使用中にスタートコンディションを発生しよ
うとした。
"1" のとき , SCL0 ラインは "L" レベルに保たれます。"0" を書き込むことによってクリ
アされ , SCL0 ラインを開放して次バイトの転送を行います。また , マスタ時にスター
トコンディションまたはストップコンディションの発生によって "0" にリセットされ
ます。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
441
第 19 章 I2C インタフェース
19.2 I2C インタフェースのレジスタ
MB90335 シリーズ
<注意事項>
図 19.2-4 と図 19.2-5 に示したタイミングで , スタートコンディションを発生させる命令
を実行 (MSS ビットに "1" を設定 ) すると , アービトレーションロスト検出 (AL ビット =1)
による割込み (INT ビット =1) が発生しません。
・AL ビット =1 検出による割込み (INT ビット =1) が発生しない条件 1
スタートコンディション未検出 (BB ビット =0) 状態で , SDA0 端子または SCL0 端子レ
ベルが "L" のときに , スタートコンディションを発生させる命令を実行 (IBCR0 レジス
タの MSS ビットに "1" を設定 ) した場合。
図 19.2-4
AL ビット =1 検出による割込みが発生しないタイミング図
SCL0端子またはSDA0端子が"L"レベル
"L"
SCL0端子
"L"
SDA0端子
1
I2C動作許可状態(ENビット=1)
マスタモード設定(MSSビット=1)
アービトレーションロスト検出(ALビット=1)
442
バスビジー(BBビット)
0
割込み(INTビット)
0
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 19 章 I2C インタフェース
19.2 I C インタフェースのレジスタ
MB90335 シリーズ
2
・AL ビット =1 検出による割込み (INT ビット =1) が発生しない条件 2
ほかのマスタに I2C バスが占有されている状態で , I2C 動作許可 (EN ビット =1) してス
タートコンディションを発生させる命令を実行 (IBCR0 レジスタの MSS ビットに "1" を
設定 ) した場合。
図 19.2-5 に示したとおり , I2C が動作禁止 (EN ビット =0) の状態で , I2C バス上の他の
マスタが通信を開始すると , スタートコンディション未検出 (BB ビット =0) で I2C バス
が占有されている状態になるためです。
図 19.2-5 AL ビット =1 検出による割込みが発生しないタイミング図
Start Condition
9クロック目でINTビット
割込みが発生しない
Stop Condition
SCL0端子
SDA0端子
SLAVE ADDRESS
ACK
DATA
ACK
ENビット
MSSビット
ALビット
BBビット
0
INTビット
0
上記のような現象が発生する可能性がある場合には , 以下の手順でソフト処理をお願いし
ます。
1) スタートコンディションを発生させる命令を実行 (MSS ビットに "1" を設定 )。
2) タイマ機能などを用いて , ICCR0 レジスタに設定されている I2C 転送周波数での
3 ビットデータ送信時間を待つ。*
例 : I2C 転送周波数 100 kHz の場合
3 ビットデータ送信時間 {1/(100 × 103)} × 3=30 μs
3) IBSR0 レジスタの AL ビットと BB ビットを確認し , AL ビット =1, BB ビット =0
の場合には , ICCR0 レジスタの EN ビットを "0" にして I2C を初期化する。AL
ビットと BB ビットがその他の状態のときは通常処理を行う。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
443
第 19 章 I2C インタフェース
19.2 I2C インタフェースのレジスタ
MB90335 シリーズ
以下にフロー例を示します。
マスタモード設定
バス制御レジスタ(IBCR0)のMSSビットに"1"を設定
クロック制御レジスタ(ICCR0)に設定されている
I2C転送周波数での3ビットデータ送信時間待ち*
NO
BBビット=0でかつALビット=1
YES
ENビットを"0"にしてI2Cの初期化
通常処理へ
* : アービトレーションロストが検出された場合 , MSS ビット =1 設定後 I2C 転送周波数
での 3 ビットデータ送信時間後には確実に AL ビット =1 となります。
・AL ビット =1 検出による割込み (INT ビット =1) が発生する例
バスビジー検出 (BB ビット =1) されている状態で , スタートコンディションを発生させる
命令を実行 (MSS ビットに "1" を設定 ) しアービトレーションロストした場合には , AL
ビット =1 検出時に INT ビット割込みが発生します。
図 19.2-6 AL ビット =1 時に割込みが発生するタイミング図
9クロック目で割込み
Start Condition
SCL0端子
SDA0端子
SLAVE ADDRESS
ACK
DATA
ENビット
MSSビット
ALビット
ソフトウェアでのALビットクリア
BBビット
INTビット
444
ソフトウェアでのINTビット
クリアでSCL0開放
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 19 章 I2C インタフェース
19.2 I C インタフェースのレジスタ
2
■ I2C バスコントロールレジスタ 0 (IBCR0) 使用上の注意
SCC, MSS, INT ビットの競合について , 以下の注意が必要です。
SCC, MSS, INT ビットの同時書込みにより , 次バイト転送 , スタートコンディション発
生およびストップコンディション発生の競合が起こります。この場合の優先度は , 次の
ようになります。
● 次のバイト転送とストップコンディション発生
INT ビットに "0", MSS ビットに "0" を書き込むと , MSS ビットの "0" 書込みが優先さ
れ , ストップコンディションが発生します。
● 次のバイト転送とスタートコンディション発生
INT ビットに "0", SCC ビットに "1" を書き込むと , SCC ビットの "1" 書込みが優先され ,
スタートコンディションが発生します。
● スタートコンディション発生とストップコンディション発生
SCC ビットに "1", MSS ビットに "0" の同時書込みは , 禁止です。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
445
第 19 章 I2C インタフェース
19.2 I2C インタフェースのレジスタ
19.2.3
MB90335 シリーズ
I2C バスクロックコントロールレジスタ 0 (ICCR0)
I2C バスクロックコントロールレジスタ 0 (ICCR0) の構成および機能について説明し
ます。
■ I2C バスクロックコントロールレジスタ 0 (ICCR0)
図 19.2-7に, I2Cバスクロックコントロールレジスタ0 (ICCR0)のビット構成を示します。
図 19.2-7 I2C バスクロックコントロールレジスタ 0 (ICCR0) のビット構成
bit
7
6
5
4
3
2
1
0
ICCR0
ch.0 : 000072H
-
-
EN
CS4
CS3
CS2
CS1
CS0
I2C バスクロック
コントロールレジスタ 0
初期値 XX0XXXXXB
-
-
R/W
R/W
R/W
R/W
R/W
R/W
読出し / 書込み
R/W : リード・ライト可能
: 未定義
X
: 不定
以下に , I2C バスクロックコントロールレジスタ 0 (ICCR0) の機能を説明します。
[bit7, bit6] 未定義ビット
リード値は不定です。ライトは動作に影響を与えません。
[bit5] EN : ENable
I2C インタフェースの動作許可ビットです。
0
動作禁止
1
動作許可
• "0" のとき , IBSR0 および IBCR0 (BER, BEIE ビットを除く ) の各ビットがクリアされ
ます。
• BER ビットがセットされると , クリアされます。
[bit4 ∼ bit0] CS4 ∼ CS0 : Clock Period Select4 ∼ Clock Period Select0
シリアルクロックの周波数を設定するビットです。シフトクロックの周波数fsckは,
次式のように設定されます。
fsck =
446
m ×n + 4
:マシンクロック
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 19 章 I2C インタフェース
19.2 I C インタフェースのレジスタ
MB90335 シリーズ
2
<注意事項>
+4 のサイクルは , SCL0 端子の出力レベルが変化したことをチェックするための最小の
オーバヘッドです。SCL0 端子の立上りのディレイが大きい場合や , スレーブデバイスで
クロックを引き延ばしている場合には, この値より大きくなります。なお, シリアルクロッ
クの周波数は 100 kHz 以上に設定しないでください。
m, n は , CS4 ∼ CS0 に対して表 19.2-1 に示すようになります。
表 19.2-1 シリアルクロック周波数設定
m
CS4
CS3
n
CS2
CS1
CS0
5
0
0
4
0
0
0
6
0
1
8
0
0
1
7
1
0
16
0
1
0
8
1
1
32
0
1
1
64
1
0
0
128
1
0
1
256
1
1
0
512
1
1
1
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
447
第 19 章 I2C インタフェース
19.2 I2C インタフェースのレジスタ
19.2.4
MB90335 シリーズ
I2C バスアドレスレジスタ 0 (IADR0)
I2C バスアドレスレジスタ 0 (IADR0) の構成および機能について説明します。
■ I2C バスアドレスレジスタ 0 (IADR0)
図 19.2-8 に , I2C バスアドレスレジスタ 0 (IADR0) のビット構成を示します。
図 19.2-8 I2C バスアドレスレジスタ 0 (IADR0) のビット構成
bit
ch.0 : 000073H
15
14
13
12
11
10
9
8
-
A6
A5
A4
A3
A2
A1
A0
-
R/W
R/W
R/W
R/W
R/W
R/W
R/W
IADR0
I2C バスアドレス
レジスタ 0
初期値 XXXXXXXXB
読出し / 書込み
R/W : リード・ライト可能
: 未定義
X
: 不定
[bit14 ∼ bit8] A6 ∼ A0
スレーブアドレスビットです。スレーブアドレスを指定するレジスタです。スレー
ブ時 , アドレスデータ受信後に IDAR0 レジスタとの比較が行われ , 一致している場
合はマスタに対してアクノリッジを送信します。
448
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 19 章 I2C インタフェース
19.2 I C インタフェースのレジスタ
MB90335 シリーズ
2
I2C バスデータレジスタ 0 (IDAR0)
19.2.5
I2C バスデータレジスタ 0 (IDAR0) の構成および機能について説明します。
■ I2C バスデータレジスタ 0 (IDAR0)
図 19.2-9 に , I2C バスデータレジスタ 0 (IDAR0) のビット構成を示します。
図 19.2-9 I2C バスデータレジスタ 0 (IDAR0) のビット構成
bit
ch.0 : 000074H
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
IDAR0
I2C バスデータレジスタ 0
初期値 XXXXXXXXB
読出し / 書込み
R/W : リード・ライト可能
X
: 不定
[bit7 ∼ bit0] D7 ∼ D0
データビットです。
シリアル転送に使用されるデータレジスタであり , MSB から転送されます。データ
受信時 (TRX=0) は , データ出力値は "1" になります。
IDAR0 レジスタの書込み側はダブルバッファになっており , バスが使用中 (BB=1)
である場合 , 書込みデータは各バイト転送時にシリアル転送用のレジスタにロード
されます。読出し時は , シリアル転送用のレジスタを直接読み出すため , 受信デー
タは INT ビットがセットされている場合のみ有効です。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
449
第 19 章 I2C インタフェース
19.3 I2C インタフェースの動作
19.3
MB90335 シリーズ
I2C インタフェースの動作
I2C バスは , 1 本のシリアルデータライン (SDA0) と 1 本のシリアルクロックライン
(SCL0) の 2 本の双方向バスラインによって通信が行われます。I2C インタフェース
は , それに対して 2 本のオープンドレイン入出力端子 (SDA0, SCL0) を有し , ワイ
ヤード論理を可能にします。
■ スタートコンディション
バスが開放されている状態 (BB=0, MSS=0) で MSS ビットに "1" を書き込むと , I2C イ
ンタフェースはマスタモードとなり , 同時にスタートコンディションを発生します。マ
スタモードでは , バスが使用状態 (BB=1) であっても , SCC ビットに "1" を書き込むこ
とによって , 再びスタートコンディションを発生させることができます。スタートコン
ディションを発生させる条件として , 次の 2 とおりがあります。
• バスが使用されていない状態 (MSS=0 , BB=0 , INT=0 , AL=0) での MSS ビットへの
"1" 書込み
• バスマスタ時の割込み状態 (MSS=1 , BB=1 , INT=1 , AL=0) での SCC ビットへの "1"
書込み
ほかのシステム ( アイドル状態中 ) がバス使用中に , MSS ビットへ "1" を書き込むと ,
AL ビットが "1" にセットされます。上記以外での MSS ビット , SCC ビットへの "1" の
書込みは無視されます。
■ ストップコンディション
マスタモード (MSS=1) 時に , MSS ビットに "0" を書き込むと , ストップコンディショ
ンを発生し , スレーブモードになります。ストップコンディションを発生させる条件は ,
次のとおりです。
• バスマスタ時の割込み状態 (MSS=1 , BB=1 , INT=1 , AL=0) での MSS ビットへの
"0" 書込み
これ以外での , MSS ビットへの "0" の書込みは無視されます。
■ アドレッシング
マスタモードでは , スタートコンディション発生後 , BB=1, TRX=1 にセットされ ,
IDAR0 の内容を MSB から出力します。アドレスデータ送信後 , スレーブからアクノ
リッジを受信すると , 送信データの bit0 ( 送信後の IDAR0 の bit0) を反転して , TRX ビッ
トへ格納します。
スレーブモードでは , スタートコンディション発生後 , BB=1, TRX=0 にセットされ , マ
スタからの送信データをIDAR0へ受信します。アドレスデータ受信後, IDAR0とIADR0
との比較が行われ, 一致している場合, AAS=1にセットしてマスタに対してアクノリッ
ジを送信します。その後 , 受信データの bit0 ( 受信後の IDAR0 の bit0) を TRX ビットへ
格納します。
450
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 19 章 I2C インタフェース
19.3 I2C インタフェースの動作
■ アービトレーション
マスタ送信時に , ほかのマスタも同時にデータを送信している場合 , アービトレーショ
ンが起こります。自分の送信データが "1", SDA0 ライン上のデータが "L" レベルの場合 ,
自分はアービトレーションを失ったとみなし , AL=1 にセットします。また , 前述のよ
うにバスが使用状態のときに , スタートコンディションを発生させようとした場合も
AL=1 にセットされます。AL=1 にセットされると , MSS=0, TRX=0 となり , スレーブ受
信モードとなります。
■ アクノリッジ
アクノリッジは , 受信側が送信側に対して送信します。データ受信時は , ACK ビット
によってアクノリッジの有無を選択できます。データ送信時は , 受信側からのアクノ
リッジが LRB ビットに格納されます。
スレーブ送信側に , マスタ受信側からアクノリッジを受信しなかった場合 , TRX=0 と
なりスレーブ受信モードになります。これによって , マスタはスレーブが SCL0 ライン
を開放したときに , ストップコンディションを発生できます。
■ バスエラー
以下の条件が成立した場合はバスエラーと判断され , I2C インタフェースは停止状態に
なります。
• データ転送中 (ACK ビット含む ) の I2C バス上の基本規定違反の検出
• マスタ時のストップコンディション検出
• バスアイドルにおける I2C バス上の基本規定違反の検出
■ その他
● アービトレーションロスト検出後の処理
アービトレーションロストした後 , 自分がアドレッシングされている場合と , アドレッ
シングされていなかった場合をソフトウェアで判断しなければなりません。
アービトレーションロストするとハードウェア的にスレーブになりますが , 1 バイト転
送終了後 , CLK ライン , DATA ライン双方を "L" に引っ張ります。このため , アドレッ
シングされていなければ , 即座に CLK ライン , DATA ラインを開放し , アドレッシン
グされていた場合には , スレーブ送信 , またはスレーブ受信の準備をしてから , CLK ラ
イン , DATA ラインを開放する必要があります ( すべてソフトウェアで処理する必要が
あります ) 。
● アービトレーションロスト検出時の割込み要因
アービトレーションロストを検出した場合 , 即時に割込み要因が立つのではなく , 1 バ
イト転送終了した時点で割込み要因が立ちます。
アービトレーションロストを検出するとハードウェア的にスレーブになりますが , ス
レーブになっても , 割込み要因を立てるために , トータル 9 クロック出力します。した
がって , 即時に割込み要因が立たないため , アービトレーションロスト後に処理を行う
ことはできません。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
451
第 19 章 I2C インタフェース
19.3 I2C インタフェースの動作
MB90335 シリーズ
● 割込み条件
I2C バスには 1 つの割込みしかなく , 1 バイト転送終了した時点で , または割込み条件
に該当していた場合 , 割込み要因が立つ仕様になっています。
1 つの割込みで , 複数の割込み条件を判断しなければならないため , 割込みルーチン内
で , 各フラグをチェックしなければなりません。1 バイト転送終了時点での割込み条件
を下記に示します。
• バスマスタであった場合
• アドレスされたスレーブであった場合
• ゼネラルコールアドレスを受信した場合
• アービトレーションロストが生じた場合
● 転送速度
I2C バスは , 最大でシリアルクロック周波数 100 kHz の転送までしか行えませんので ,
注意してください。
452
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 19 章 I2C インタフェース
19.3 I2C インタフェースの動作
MB90335 シリーズ
I2C インタフェースの転送フロー
19.3.1
図 19.3-1 に , マスタからスレーブへの 1 バイト転送フローを , 図 19.3-2 に , スレー
ブからマスタへの 1 バイト転送フローを示します。
■ I2C インタフェースの転送フロー
図 19.3-1 マスタからスレーブへの 1 バイト転送フロー
マスタ
スレーブ
スタート
IDAR0:書込み
MSS:"1"書込み
スタートコンディション
BB set, TRX set
BB set, TRX set
アドレスデータ転送
AAS set
アクノリッジ
LRB reset
INT set,TRX set
IDAR0:書込み
INT:"0"書込み
割 込 み
INT set,TRX set
ACK:"1"書込み
INT:"0"書込み
データ転送
アクノリッジ
LRB reset
INT set
割 込 み
MSS:"0"書込み
INT reset
BB reset,TRX reset
ストップコンディション
INT set
IDAR0:読出し
INT:"0"書込み
BB reset,TRX reset
AAS reset
終了
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
453
第 19 章 I2C インタフェース
19.3 I2C インタフェースの動作
MB90335 シリーズ
図 19.3-2 スレーブからマスタへの 1 バイト転送フロー
マスタ
スレーブ
スタート
IDAR0:書込み
MSS:"1"書込み
スタートコンディション
BB set,TRX set
BB set,TRX set
アドレスデータ転送
AAS reset
アクノリッジ
LRB reset
INT set,TRX reset
割
込
み
INT:"0"書込み
INT set,TRX set
IDAR0:書込み
INT:"0"書込み
データ転送
ネガティブアクノリッジ
INT set
IDAR0:読出し
LRB set,TRX set
INT set
割
込
み
INT:"0"書込み
MSS:"0"書込み
INT reset
BB reset,TRX reset
ストップコンディション
BB reset,TRX reset
AAS reset
終了
454
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 19 章 I2C インタフェース
19.3 I2C インタフェースの動作
MB90335 シリーズ
19.3.2
I2C インタフェースのモードフロー
図 19.3-3 に , I2C インタフェースのモードフローを示します。
■ I2C インタフェースのモードフロー
図 19.3-3 I2C モードフロー
スレーブ受信モード
SCC
NO
YES
TRX,AAS,LRB:reset
FBT:set
YES
SCC&BB=1
RSC:set
NO
BB:set
8ビット受信
アドレス比較
RSC,FBT:reset
一致
AAS:set
確認応答出力
INT:set
SCL0ライン
"L"へ保持
NO
TRX=1
スレーブ受信モード
YES
YES
SCC
AAS,LRB,BB,RSC
:reset
スレーブ送信モード
NO
INT:0 write
FBT:reset
SCL0ライン開放
送信/受信
YES
確認応答あり
NO
TRX:reset
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
455
第 19 章 I2C インタフェース
19.3 I2C インタフェースの動作
MB90335 シリーズ
I2C インタフェースの動作フロー
19.3.3
図 19.3-4 に I2C インタフェースのマスタ送受信プログラムフロー( 割込み使用 ) を ,
また , 図 19.3-5 に I2C インタフェースのスレーブプログラムフロー( 割込み使用 ) を
示します。
■ I2C インタフェースの動作フロー
図 19.3-4 I2C マスタ送受信プログラムフローチャート ( 割込み使用 )
メインルーチン
割込みルーチン
開始
開始
スレーブアドレス
を設定
バスエラー
は生じたか?
I2Cの動作許可
RETI
I2Cの動作許可
マスタか?
スレーブアドレスセット
送信
( データ方向ビット=0)
スレーブアドレスセット
受信
(データ方向ビット=1)
ACKは
返ってきたか?
YES
BBビット=1?
RETI
アクノリッジ発生許可
NO
③
YES
スレーブプログラム
の割込みルーチン
へ
NO
①
YES
BBビット=1?
NO
スレーブアドレス送信
スタートコンディション発生
NO
スレーブアドレス送信
スタートコンディション発生
一定時間 WAIT
一定時間 WAIT
YES
BBビット=0で
かつAlビット=1?
YES
BBビット=0で
かつAlビット=1?
I2C動作禁止
I2Cの初期設定
③
③
NO
マスタ受信
1回のデータ書込みで
送信するバイト数のセット
LOOP
②
ALは
発生したか?
NO
マスタ送信
1回のデータ書込みで
送信するバイト数のセット
NO
②
バスエラー割込み
要因クリア
NO
マスタ受信動作?
YES
YES
①
STOPコンディション発生
I2C動作禁止
NO
LOOP
NO
データ方向ビット
TRXbit=1?
残り受信
バイト数=0?
①
NO
YES
残り送信
バイト数=0?
YES
YES
NO
送信バイト数デクリメント
残り受信
バイト数=1?
①
YES
NO
アクノリッジ発生許可
アクノリッジ発生許可
送信データのセット
YES
終了割込み要因クリア
第1バイト
の受信か?
RETI
NO
受信バイト数デクリメント
受信データをRAMへ格納
終了割込み要因クリア
RETI
456
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 19 章 I2C インタフェース
19.3 I2C インタフェースの動作
MB90335 シリーズ
図 19.3-5 I2C スレーブプログラムフローチャート ( 割込み使用 )
メインルーチン
割込みルーチン
開始
開始
スレーブアドレス
を設定
I2Cの動作許可
スレーブモードに設定
LOOP
バスエラー
は生じたか?
YES
②
NO
アドレッシング
されているか?
NO
①
②
転送終了割込み
要因クリア
バスエラー割込み
要因クリア
RETI
I2Cの動作許可
I2Cの初期設定
①
RETI
YES
データ方向bit
TRXビット=1?
NO
受信データは
アドレスか?
YES
ACKは
返ってきたか?
NO
①
YES
NO
受信データを
RAMへ格納
YES
送信データセット
転送終了割込み
要因クリア
転送終了割込み
要因クリア
RETI
RETI
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
457
第 19 章 I2C インタフェース
19.3 I2C インタフェースの動作
458
MB90335 シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 20 章
ROM ミラー機能選択
モジュール
ROM ミラー機能選択モジュールの機能について説
明します。
20.1 ROM ミラー機能選択モジュールの概要
20.2 ROM ミラー機能選択レジスタ (ROMM)
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
459
第 20 章 ROM ミラー機能選択モジュール
20.1 ROM ミラー機能選択モジュールの概要
20.1
MB90335 シリーズ
ROM ミラー機能選択モジュールの概要
ROM ミラー機能選択モジュールは , FF バンクに配置されている ROM 内のデータを ,
00 バンクへのアクセスで読み出せるように設定します。
■ ROM ミラー機能選択モジュールのブロックダイヤグラム
図 20.1-1 に , ROM ミラー機能選択モジュールのブロックダイヤグラムを示します。
図 20.1-1 ROM ミラー機能選択モジュールのブロックダイヤグラム
F2MC-16LXバス
ROMミラー機能選択
アドレス領域
FFバンク
00バンク
ROM
■ ROM ミラー機能選択モジュールのレジスタ
図 20.1-2 に , ROM ミラー機能選択モジュールの構成を示します。
図 20.1-2 ROM ミラー機能選択モジュールの構成
bit
ROMM アドレス : 00006FH
460
15
14
13
12
11
10
9
8
-
-
-
-
-
-
予約
R/W
MI
W
FUJITSU MICROELECTRONICS LIMITED
初期値
------11B
CM44-10137-6
第 20 章 ROM ミラー機能選択モジュール
20.2 ROM ミラー機能選択レジスタ (ROMM)
MB90335 シリーズ
20.2
ROM ミラー機能選択レジスタ (ROMM)
ROM ミラー機能選択レジスタ (ROMM) の構成および機能について説明します。
■ ROMM(ROM ミラー機能選択レジスタ )
下図に , ROM ミラー機能選択レジスタ (ROMM) のビット構成を示します。
図 20.2-1 ROM ミラー機能選択レジスタ (ROMM) のビット構成
bit
ROMM アドレス : 00006FH
15
14
13
12
11
10
9
8
-
-
-
-
-
-
予約
R/W
MI
W
初期値
------11B
[bit9] 予約ビット
予約ビットです。必ず "1" を書き込んでください。
[bit8] MI
• "1" の書込み時には , FF バンクの ROM のデータが 00 バンクでも読み出せるように
なります。
• "0" の書込み時には 00 バンクでこの機能は働きません。
• 書込みのみ可能です。
<注意事項>
•
ROMM レジスタは , アドレス 008000H ∼ 00FFFFH 番地の動作中にアクセスしないで
ください。
•
ROM ミラー機能を起動している場合 , 00 バンクの 008000H ∼ 00FFFFH 番地へ FF8000H ∼
FFFFFFH 番地がミラーされますので , FF7FFFH 番地以下の ROM アドレスでは ROM
のミラー機能を設定しても 00 バンクにミラーされません。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
461
第 20 章 ROM ミラー機能選択モジュール
20.2 ROM ミラー機能選択レジスタ (ROMM)
462
MB90335 シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 21 章
アドレス一致検出機能
アドレス一致検出機能の機能と動作について説明
します。
21.1 アドレス一致検出機能の概要
21.2 アドレス一致検出機能のブロックダイヤグラム
21.3 アドレス一致検出機能のレジスタ構成
21.4 アドレス一致検出機能の動作説明
21.5 アドレス一致検出機能のプログラム例
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
463
第 21 章 アドレス一致検出機能
21.1 アドレス一致検出機能の概要
21.1
MB90335 シリーズ
アドレス一致検出機能の概要
アドレス一致検出機能は , プログラムが現在処理している命令の次に処理される命
令のアドレスが , プログラムアドレス検出レジスタに設定したアドレスと一致した
場合に , プログラムで次に処理される命令を強制的に INT9 命令に置き換え , 割込み
処理プログラムへ分岐する機能です。INT9 割込みを利用できるので , 本機能はプロ
グラムのパッチ処理による修正に利用できます。
■ アドレス一致検出機能の概要
• プログラムが現在処理している命令の次に処理される命令のアドレスは内部デー
タバスを通じて常にアドレスラッチに保持されます。アドレス一致検出機能の働き
により , アドレスラッチに保持されたアドレスの値と検出アドレス設定レジスタに
設定したアドレスの値は常に比較されます。比較されたアドレスの値が一致した場
合は , CPU が次に実行する命令が強制的に , INT9 命令に置き換えられ , 割込み処理
プログラムが実行されます。
• プログラムアドレス検出レジスタ (PADR0, PADR1) は2つあり , レジスタごとに割込
み許可ビットが用意されています。アドレスラッチに保持されたアドレスと検出ア
ドレス設定レジスタに設定したアドレスの一致による割込みの発生を , レジスタご
とに許可または禁止できます。
464
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 21 章 アドレス一致検出機能
21.2 アドレス一致検出機能のブロックダイヤグラム
MB90335 シリーズ
21.2
アドレス一致検出機能のブロックダイヤグラム
アドレス一致検出モジュールは , 以下のブロックで構成されています。
• アドレスラッチ
• プログラムアドレス検出制御ステータスレジスタ (PACSR)
• プログラムアドレス検出レジスタ (PADR0/PADR1)
■ アドレス一致検出機能のブロックダイヤグラム
アドレス一致検出機能のブロックダイヤグラムを図 21.2-1 に示します。
図 21.2-1 アドレス一致検出機能のブロックダイヤグラム
アドレスラッチ
比較器
内部データバス
PADR0(24ビット)
プログラムアドレス検出レジスタ0
INT9命令
(INT9割込み発生)
PADR1(24ビット)
プログラムアドレス検出レジスタ1
PACSR
予約
予約
予約
予約
AD1E
予約
AD0E
予約
プログラムアドレス検出制御ステータスレジスタ(PACSR)
予約:必ず"0"を設定してください。
● アドレスラッチ
内部データバスへ出力されたアドレス値を保持します。
● プログラムアドレス検出制御ステータスレジスタ (PACSR)
アドレスが一致した場合の割込み出力の許可または禁止を設定します。
● プログラムアドレス検出レジスタ (PADR0, PADR1)
アドレスラッチの値と比較するためのアドレスを設定します。
<注意事項>
プログラムアドレス検出レジスタは , 1FF0H ∼ 1FF5H にレジスタをもっているため , RAM
領域と重なりますので , 本機能をご使用の場合は , RAM アクセスを行わないようにしてく
ださい (MB90V330A のみ )。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
465
第 21 章 アドレス一致検出機能
21.3 アドレス一致検出機能のレジスタ構成
21.3
MB90335 シリーズ
アドレス一致検出機能のレジスタ構成
アドレス一致検出機能で使用するレジスタの一覧と詳細を記述します。
■ アドレス一致検出機能のレジスタと初期値の一覧
図 21.3-1 アドレス一致検出機能のレジスタと初期値の一覧
プログラムアドレス検出制御ステータスレジスタ (PACSR)
bit
7
6
5
4
3
2
1
0
アドレス : 009EH
0
0
0
0
プログラムアドレス検出レジスタ 0 (PADR0): 上位
bit
7
6
5
4
3
2
1
0
アドレス : 1FF2H
X
X
X
X
プログラムアドレス検出レジスタ 0 (PADR0): 中位
bit
15
14
13
12
11
10
9
8
アドレス : 1FF1H
X
X
X
X
プログラムアドレス検出レジスタ 0 (PADR0): 下位
bit
7
6
5
4
3
2
1
0
アドレス : 1FF0H
X
X
X
X
プログラムアドレス検出レジスタ 1 (PADR1): 上位
bit
7
6
5
4
3
2
1
0
アドレス : 1FF5H
X
X
X
X
プログラムアドレス検出レジスタ 1 (PADR1): 中位
bit
15
14
13
12
11
10
9
8
アドレス : 1FF4H
X
X
X
X
プログラムアドレス検出レジスタ 1 (PADR1): 下位
bit
7
6
5
4
3
2
1
0
アドレス : 1FF3H
X
X
X
X
0
X
X
X
X
X
X
0
X
X
X
X
X
X
0
X
X
X
X
X
X
0
X
X
X
X
X
X
X : 不定
466
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 21 章 アドレス一致検出機能
21.3 アドレス一致検出機能のレジスタ構成
MB90335 シリーズ
プログラムアドレス検出制御ステータスレジスタ
(PACSR)
21.3.1
アドレス一致による割込み出力の許可または禁止を設定します。アドレス一致によ
る割込み出力を許可した場合にアドレス一致が検出されると , INT9 の割込みが出力
されます。
■ プログラムアドレス検出制御ステータスレジスタ (PACSR)
図 21.3-2 プログラムアドレス検出制御ステータスレジスタ (PACSR)
6
bit 7
5
4
3
2
1
0
アドレス
009EH 予約 予約 予約 予約 AD1E 予約 AD0E 予約
初期値
00000000B
R/W R/W R/W R/W R/W R/W R/W R/W
bit0
予約ビット
予約
0
必ず"0"を設定してください
bit1
アドレス一致検出許可ビット0
AD0E
0
PADR0でのアドレス一致検出を禁止する
1
PADR0でのアドレス一致検出を許可する
bit2
予約ビット
予約
0
必ず"0"を設定してください
bit3
アドレス一致検出許可ビット1
AD1E
0
PADR1でのアドレス一致検出を禁止する
1
PADR1でのアドレス一致検出を許可する
bit4
予約ビット
予約
0
必ず"0"を設定してください
bit5
予約ビット
予約
0
必ず"0"を設定してください
bit6
予約ビット
予約
0
必ず"0"を設定してください
bit7
予約ビット
予約
R/W :リード・ライト可能
:初期値
CM44-10137-6
0
必ず"0"を設定してください
FUJITSU MICROELECTRONICS LIMITED
467
第 21 章 アドレス一致検出機能
21.3 アドレス一致検出機能のレジスタ構成
MB90335 シリーズ
表 21.3-1 プログラムアドレス検出制御ステータスレジスタ (PACSR) の機能
ビット名
bit7
∼
bit4
468
機能
予約ビット
必ず "0" を設定してください。
bit3
AD1E:
アドレス一致
検出許可ビット 1
プログラムアドレス検出レジスタ 1 (PADR1) とのアドレス一
致検出 動作を許可または禁止します。
このビットに "0" を設定した場合 : アドレス一致検出動作を
禁止します。
このビットに "1" を設定した場合 : アドレス一致検出動作を
許可します。
アドレス一致検出動作を許可した場合に (AD1E=1) , アドレス
ラッチの値とプログラムアドレス検出レジスタ 1 (PADR1) の
値が一致した場 合は , 直ちに INT9 命令が実行されます。
bit2
予約ビット
必ず "0" を設定してください
bit1
AD0E:
アドレス一致
検出許可ビット 0
プログラムアドレス検出レジスタ 0 (PADR0) とのアドレス一
致検出 動作を許可または禁止します。
このビットに "0" を設定した場合 : アドレス一致検出動作を
禁止します。
このビットに "1" を設定した場合 : アドレス一致検出動作を
許可します。
アドレス一致検出動作を許可した場合に (AD0E=1) , アドレス
ラッチの値とプログラムアドレス検出レジスタ 0 (PADR0) の
値が一致した場 合は , 直ちに INT9 命令が実行されます。
bit0
予約ビット
必ず "0" を設定してください。
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 21 章 アドレス一致検出機能
21.3 アドレス一致検出機能のレジスタ構成
MB90335 シリーズ
21.3.2
プログラムアドレス検出レジスタ (PADR0, PADR1)
プログラムアドレス検出レジスタには , 検出するアドレス値を設定します。プログ
ラムで実行されている命令のアドレスがプログラムアドレス検出レジスタに設定さ
れたアドレスと一致すると , 次に実行される命令は強制的に INT9 命令に置き換えら
れ , 割込み処理プログラムが実行されます。
■ プログラムアドレス検出レジスタ (PADR0, PADR1)
図 21.3-3 プログラムアドレス検出レジスタ (PADR0, PADR1)
PADR0, PADR1 : 上位
bit
アドレス : 1FF2H 1FF5H
7
6
5
4
3
2
1
0
初期値
XXXXXXXXB
D23
D22
D21
D20
D19
D18
D17
D16
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
15
14
13
12
11
10
9
8
初期値
D15
D14
D13
D12
D11
D10
D9
D8
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
初期値
D7
D6
D5
D4
D3
D2
D1
D0
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
PADR0, PADR1 : 中位
bit
アドレス : 1FF1H 1FF4H
PADR0, PADR1 : 下位
bit
アドレス : 1FF0H 1FF3H
R/W : リード・ライト可能
X : 不定
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
469
第 21 章 アドレス一致検出機能
21.3 アドレス一致検出機能のレジスタ構成
MB90335 シリーズ
■ プログラムアドレス検出レジスタ (PADR0, PADR1)
プログラムアドレス検出レジスタは2本 (PADR0, PADR1) 用意されており, それぞれ上
位 , 中位 , 下位の 3 バイト , 合計 24 ビットで構成されています。
表 21.3-2 プログラムアドレス検出レジスタのアドレス設定
レジスタ名
割込み出力許可
プログラムアドレス検
PACSR:AD0E
出レジスタ 0 (PADR0)
プログラムアドレス検
PACSR:AD1E
出レジスタ 1 (PADR1)
アドレス設定
上位
プログラムアドレス 0 の上位 8 ビットを設定 ( バンク )
中位
プログラムアドレス 0 の中位 8 ビットを設定
下位
プログラムアドレス 0 の下位 8 ビットを設定
上位
プログラムアドレス 1 の上位 8 ビットを設定 ( バンク )
中位
プログラムアドレス 1 の中位 8 ビットを設定
下位
プログラムアドレス 1 の下位 8 ビットを設定
プログラムアドレス検出レジスタ (PADR0, PADR1) には , INT9 命令と置き換える命令
の先頭アドレス (1 バイト目 ) を設定する必要があります。
図 21.3-4 INT9 命令と置き換える命令コードの先頭アドレスの設定
検出アドレスに設定(上位:FFH,中位:00H,下位:1FH)
アドレス
FF001C:
FF001F:
FF0022:
命令コード
ニーモニック
A8
4A
4A
MOVW
MOVW
MOVW
00
00
80
00
00
08
RW0,#0000
A,#0000
A,#0880
<注意事項>
プログラムアドレス検出レジスタ (PADR0, PADR1) に, 1バイト目以外のアドレスを設定
した場合は , 命令コードが INT9 命令に置き換えられず , 割込み処理プログラムは実行さ
れません。また , 2 バイト目以降に設定した場合は , 命令コードで指定した番地が "01H"
(INT9 命令コード ) に置き換わってしまい , 誤作動を起こす原因になる場合があるので注
意してください。
プログラムアドレス検出レジスタ (PADR0, PADR1) は , 対 応するプログラムアドレス一
致制御レジスタのアドレス一致検出動作を禁止してから (PACSR レジスタの AD0E:bit1=0
または AD1E:bit1=0) 設定してください。アドレス一致検出動作を禁止せずにプログラム
アドレス検出レジスタを変更した場合 , アドレスの書込み中にアドレスが一致すると直ち
にアドレス一致検出機能が働いてしまい , 誤動作を起こす原因になります。
アドレス一致検出機能は , 内部 ROM のアドレスに対してのみ使用できます。外部メモリ
領域のアドレスを設定してもアドレス一致検出機能は働かず , INT9 命令は実行されませ
ん。
470
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 21 章 アドレス一致検出機能
21.4 アドレス一致検出機能の動作説明
MB90335 シリーズ
21.4
アドレス一致検出機能の動作説明
アドレス一致検出機能は , プログラムで実行される命令のアドレスが , プログラムア
ドレス検出レジスタ (PADR0, PADR1) で設定したアドレスと一致した場合に , CPU
で実行される先頭の命令コードを INT9 (01H) 命令に置き換え , 割込み処理プログラ
ムへ分岐します。
■ アドレス一致検出機能の動作
検出アドレスの設定とアドレス一致が検出された場合の動作を , 図 21.4-1 に示します。
図 21.4-1 アドレス一致検出機能の動作
プログラム実行
アドレス
プログラムで実行される命令
のアドレスがプログラムアド
レス検出レジスタ0H,M,Lと
一致
FF001C:
FF001F:
FF0022:
命令コード
ニーモニック
A8
4A
4A
MOVW
MOVW
MOVW
00
00
80
00
00
08
RW0,#0000
A,#0000
A,#0880
INT9命令(01H)に置き換わる
■ 検出アドレスの設定
検出アドレスを設定するプログラムアドレス検出レジスタ 0 (PADR0) のアドレス一致
検出動作を禁止してください (PACSR:AD0E=0)。
プログラムアドレス検出レジスタ 0 (PADR0) に , 検出するアドレスを設定します。プ
ログラムアドレス検出レジスタ 0 (PADR0) の上位に "FFH", 中位に "00H", 下位に "1FH"
を設定してください。
検出アドレスを設定するプログラムアドレス検出レジスタ 0 (PADR0) のアドレス一致
検出動作を許可してください (PACSR:AD0E=1) 。
■ プログラムの実行
プログラムで実行される命令のアドレスが , 設定した検出アドレスと一致すると , 一致
したアドレスの先頭の命令コードが INT9 命令コード ("01H") に置き換わります。
INT9 命令が実行されます。INT9 割込みが発生し , 割込み処理プログラムが実行され
ます。
表 25.5-2 に , ハードウェアシーケンスフラグ機能の一覧を示します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
471
第 21 章 アドレス一致検出機能
21.4 アドレス一致検出機能の動作説明
21.4.1
MB90335 シリーズ
アドレス一致検出機能の使用例
アドレス一致検出機能を利用した , プログラム修正のパッチ処理の例を示します。
■ システム構成と E2PROM のメモリ構成
● システム構成
アドレス一致検出機能を利用したシステム構成例を図 21.4-2 に示します。
図 21.4-2 アドレス一致検出機能を利用したシステム構成例
シリアルE2PROM
インタフェース
MCU
MB90335
シリーズ
E2PROM
修正プログラムを格納
SIN0
■ E2PROM のメモリマップ
修正プログラムを E2PROM に格納する場合の修正プログラムとデータの配置方法を図
21.4-3 に示します。
図 21.4-3 E2PROM 修正プログラムとデータの配置方法
E2PROM
アドレス
PADR0
PADR1
472
0000H
修正プログラム バイト数
0001H
検出 アドレス0(下位)
0002H
検出 アドレス0(中位)
0003H
検出 アドレス0(上位)
0004H
修正プログラム バイト数
0005H
検出 アドレス1(下位)
0006H
検出 アドレス1(中位)
0007H
検出 アドレス1(上位)
0010H
修正プログラム0
(本体)
0020H
修正プログラム1
(本体)
修正プログラム0用
修正プログラム1用
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 21 章 アドレス一致検出機能
21.4 アドレス一致検出機能の動作説明
● 修正プログラムバイト数
修正プログラム ( 本体 ) の総バイト数を格納します。バイト数が "00H" の場合は , " 修
正プログラムは存在しない " ことを示します。
● 検出アドレス (24 ビット )
プログラムミスにより INT9 命令に置き換える箇所のアドレスを格納します。このアド
レスはプログラムアドレス検出レジスタ (PADR0, PADR1) に設定するアドレスです。
● 修正プログラム ( 本体 )
プログラムのアドレスと検出アドレスが一致した場合の , INT9 割込みによって実行す
るプログラムを格納します。修正プログラム 0 は , 任意に決めたアドレスから配置しま
す。修正プログラム 1 は , <修正プログラム 0 の先頭アドレス + 修正プログラム 0 の
総バイト数>のアドレスから配置します。
■ 設定と動作状態
● 初期設定
E2PROM のデータはすべて "00H" にクリアします。
● プログラムミスが発生した場合
コネクタ接続 (UART) を使用して , 外部から MCU (MB90335 シリーズ ) へ , E2PROM 修
正プログラムとデータの配置方法に従って , 修正プログラムの情報を送ります。
MCU (MB90335 シリーズ ) 側では , 外部から受け取った修正プログラムの情報を
E2PROM へ格納します。
● リセットシーケンス
リセット後 , MCU (MB90335 シリーズ ) は , E2PROM 修正プログラムのバイト数を読み
出して , 修正プログラムの有無を確認します。リセット後 , MCU (MB90335 シリーズ )
は , E2PROM 修正プログラムのバイト数を読み出して , 修正プログラムの有無を確認し
ます。
修正プログラムのバイト数が "00H" でない場合は , 検出アドレス 0, 1 の上位 , 中位 , 下
位を読み出してプログラムアドレス検出レジスタ 0, 1 (PADR0, PADR1) へ読み出した
データを設定します。また , 修正プログラムバイト数に従って , 修正プログラム ( 本
体 ) を読み出して , MCU (MB90335 シリーズ ) の RAM へ書き込みます。
修正プログラム ( 本体 ) は , アドレス一致検出機能によって INT9 割込み処理で実行す
るアドレスに配置します。
アドレス一致検出動作を許可します (PACSR レジスタの AD0E:bit1=1, AD1E:bit3=1) 。
● INT9 割込み処理
INT9 命令によって割込み処理が実行されます。MB90335 シリーズには , アドレス一致
検出による割込み要求フラグがありません。したがって , プログラムカウンタのスタッ
ク情報が破棄されると検出アドレスを確認できません。検出アドレスを確認する場合
は , 割込み処理ルーチンでスタックされているプログラムカウンタの値を確認してく
ださい。
修正プログラムの実行後に通常のプログラムに分岐します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
473
第 21 章 アドレス一致検出機能
21.4 アドレス一致検出機能の動作説明
MB90335 シリーズ
■ 修正プログラムを E2PROM に格納する場合のアドレス一致検出機能の動作
修正プログラムを E2PROM に格納する場合のアドレス一致検出機能の動作を , 図 21.44 に示します。
図 21.4-4 修正プログラムを E2PROM に格納する場合のアドレス一致検出機能の動作
000000H
③
修正プログラム
RAM
プログラムアドレス検出レジスタ
E2PROM
①
検出アドレス設定
(リセットシーケンス)
・修正プログラムバイト数
・アドレス検出用アドレス
シリアルE2PROM ・修正プログラム
インタフェース
ROM
②
④
プログラムミス
FFFFFFH
①リセットシーケンスの検出アドレス設定と通常プログラムの実行
②アドレス一致検出によるINT9割込み処理でRAMに展開した修正プログラムへ分岐
③INT9処理の分岐による修正プログラムの実行
④修正プログラムから分岐した元の通常プログラムの実行
474
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 21 章 アドレス一致検出機能
21.4 アドレス一致検出機能の動作説明
MB90335 シリーズ
■ プログラム修正のパッチ処理フロー
アドレス一致検出機能を利用したプログラム修正のパッチ処理のフローを図 21.4-5 に
示します。
図 21.4-5 プログラム修正のパッチ処理フロー
E2PROM
MB90335シリーズ
I/O領域
0000H
修正プログラムバイト数:80H
000100H
レジスタ/RAM領域
0001H
検出アドレス(下位):00H
000400H
修正プログラム
0002H
検出アドレス(中位):80H
0003H
検出アドレス(上位):FFH
000000H
000480H
RAM領域
RAM
スタック領域
0010H
000900 H
検出アドレス設定
修正プログラム
0090H
FFFFH
FF0000H
FF8000H
ROM
プログラムミス
FF8050H
FFFFFFH
YES
リセット
INT9
E2PROM:00H
を読み出す
修正プログラムへ分岐
JMP 000400H
修正プログラムの実行
000400H~000480H
E2PROM:0000H
=0
NO
修正プログラム終了
JMP FF8050H
検出アドレスを読み出す
E2PROM:0001H~0003H
↓ MOV
MCU:PADR0へ設定
修正プログラムを読み出す
E2PROM:0010H~008FH
↓
MCU:000400H~00047FH
アドレス一致検出を許可
(PACSR:AD0E=1)
通常プログラム実行
NO
CM44-10137-6
プログラムアドレス
PC=PADR0
YES
INT9
FUJITSU MICROELECTRONICS LIMITED
475
第 21 章 アドレス一致検出機能
21.5 アドレス一致検出機能のプログラム例
21.5
MB90335 シリーズ
アドレス一致検出機能のプログラム例
アドレス一致検出機能のプログラム例を示します。
■ アドレス一致検出機能のプログラム例
● 処理仕様
プログラムで実行される命令のアドレスと , プログラムアドレス検出レジスタ
(PADR0) に設定したアドレスが一致した場合に , INT9 命令が実行されます。
● コーディング例
PACSR EQU 00009EH
; プログラムアドレス検出制御
ステータスレジスタ
PADRL EQU 000001H
; プログラムアドレス検出レジスタ 0 下位
PADRM EQU 000002H
; プログラムアドレス検出レジスタ 0 中位
PADRH EQU 000003H
; プログラムアドレス検出レジスタ 0 上位
;
;--------- メインプログラム ------------------------------------------CODE CSEG
START:
; スタックポインタ (SP) などは
; 初期化済みとする
MOV PADRL, #00H
; プログラムアドレス検出レジスタ 0 下位設定
MOV PADRM, #00H
; プログラムアドレス検出レジスタ 0 中位設定
MOV PADRH, #00H
; プログラムアドレス検出レジスタ 0 上位設定
;
MOV I:PACSR, #00000010B ; アドレス一致検出の許可
・
ユーザ処理
・
LOOP:
・
ユーザ処理
・
BRA LOOP
;--------- 割込みプログラム ------------------------------------------WARI:
・
ユーザ処理
476
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 21 章 アドレス一致検出機能
21.5 アドレス一致検出機能のプログラム例
・
; 割込み処理からの復帰
RETI
CODE ENDS
;--------- ベクタ設定 -----------------------------------------------VECT CSEG ABS=0FFH
ORG 00FFDCH
DSL WARI
ORG 00FFDCH
; リセットベクタ設定
DSL START
DB
00H
; シングルチップモードに設定
VECT ENDS
END START
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
477
第 21 章 アドレス一致検出機能
21.5 アドレス一致検出機能のプログラム例
478
MB90335 シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 22 章
デュアルオペレーション
フラッシュメモリ
デュアルオペレーションフラッシュメモリの機能
および動作について説明します。
22.1 デュアルオペレーションフラッシュメモリの概要
22.2 フラッシュメモリのセクタ / バンク構成
22.3 フラッシュメモリのレジスタ
22.4 フラッシュメモリ自動アルゴリズム起動方法
22.5 フラッシュメモリにおけるリセットベクタアドレス
22.6 自動アルゴリズム実行状態の確認
22.7 フラッシュメモリ書込み / 消去の詳細説明
22.8 デュアルオペレーションフラッシュメモリの動作
管理番号 : CM44-00103-1
固有箇所 : 484, 487, 492
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
479
第 22 章 デュアルオペレーション フラッシュメモリ
22.1 デュアルオペレーションフラッシュメモリの概要
22.1
MB90335 シリーズ
デュアルオペレーションフラッシュメモリの概要
デュアルオペレーションフラッシュメモリは , CPU メモリマップ上の FF バンクに
配置されています。フラッシュメモリインタフェース回路の機能により , CPU から
のリードアクセスおよびプログラムアクセスができます。
デュアルオペレーションフラッシュは , 上位バンク (16K バイト× 2 + 4K バイト× 4)
と下位バンク (4K バイト× 4) で構成されており , 従来のフラッシュ品では行えなかっ
たバンクごとの消去 / 書込みと読出しの同時実行が可能です。
■ デュアルオペレーションフラッシュメモリの概要
フラッシュメモリへのデータ書込み / 消去の方法には , 下記の 3 とおりの方法がありま
す。
1. パラレルライタ
2. シリアル専用ライタ
3. プログラム実行による書込み / 消去
フラッシュメモリへの書込み / 消去は , フラッシュメモリインタフェース回路を介して
CPU からの命令で行えるため , 実装状態でプログラムやデータの書換えを効率よく行
うことができます。
セクタ構成も最小 4K バイトと小セクタで , プログラム / データ領域として扱いやすい
構成になっています。
データの書換え方法は , RAM 上でのプログラム実行だけでなく , デュアルオペレー
ションによりフラッシュメモリ上でもプログラム実行ができます。また , 異なるバンク
( 上位バンク / 下位バンク ) での消去 / 書込みと読出しの同時実行が可能です。
上位バンク
下位バンク
読出し
読出し
書込み / セクタ消去
書込み / セクタ消去
読出し
チップ消去
一方のバンク書込み / セクタ消去中に , 他方のバンクへの書込み / 消去はできません。
480
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 22 章 デュアルオペレーション フラッシュメモリ
22.1 デュアルオペレーションフラッシュメモリの概要
■ デュアルオペレーションフラッシュメモリの特長
• 64K ワード× 8 ビット /32K ワード× 16 ビット (4K × 4+16K × 2+4K × 4) セクタ構成
• 2 バンク構成による消去 / 書込みと読出しの同時実行
• 自動プログラムアルゴリズム (Embedded Alogrithm)
• 消去一時停止 / 消去再開機能の搭載
• データポーリング , トグルビットによる書込み / 消去完了検出
• CPU 割込みによる書込み / 消去の完了検出
• セクタごとの消去が可能 ( セクタ組合せ自由 )
• 書込み / 消去回数 ( 最小 ) 10,000 回
• フラッシュ読出しサイクルタイム ( 最小 ) 2 マシンサイクル
<注意事項>
マニュファクチャコードとデバイスコードの読出し機能はありません。
また , これらのコードは , コマンドによってもアクセスできません。
■ フラッシュメモリ書込み / 消去
• フラッシュメモリは , 同一バンクによる書込みと読出しを同時に行うことはできま
せん。
• フラッシュメモリにデータ書込み / 消去動作を行う際には , フラッシュメモリ上に
あるプログラムをいったん RAM にコピーし , RAM にコピーしたプログラムを実行
することにより , フラッシュメモリへの書込みを行うことができます。
• デュアルオペレーションフラッシュメモリにより、フラッシュメモリ上でのプログ
ラム実行および割込みを用いた書込み制御が可能となります。また , 書込みの際に
プログラムを RAM 上へダウンロードして実行する必要もなく , ダウンロードの時
間削減および RAM データの電源瞬断のケアも不要となります。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
481
第 22 章 デュアルオペレーション フラッシュメモリ
22.2 フラッシュメモリのセクタ / バンク構成
22.2
MB90335 シリーズ
フラッシュメモリのセクタ / バンク構成
フラッシュメモリのセクタとバンクの構成を示します。
■ デュアルオペレーションフラッシュメモリのセクタおよびバンク構成
図 22.2-1 にデュアルオペレーションフラッシュメモリのセクタ構成を示します。図中
アドレスは , 各セクタの上位アドレスと下位アドレスを示します。
● セクタ構成
CPU からアクセスする場合 , FF バンクレジスタに SA0 ∼ SA9 が配置されています。
● バンク構成
上位バンク / 下位バンクの 2 つで構成され , それぞれ下位バンク :SA0 ∼ SA3, 上位バン
ク :SA4 ∼ SA9 となります。
図 22.2-1 デュアルオペレーションフラッシュメモリのセクタ構成
フラッシュメモリ
CPUアドレス
ライタアドレス*
FF0000H
70000H
FF0FFFH
70FFFH
FF1000H
71000H
FF1FFFH
71FFFH
FF2000H
72000H
FF2FFFH
72FFFH
FF3000H
73000H
FF3FFFH
73FFFH
FF4000H
74000H
FF7FFFH
77FFFH
FF8000H
78000H
FFBFFFH
7BFFFH
FFC000H
7C000H
FFCFFFH
7CFFFH
FFD000H
7D000H
SA1(4Kバイト)
SA2(4Kバイト)
下位バンク
SA0(4Kバイト)
SA3(4Kバイト)
SA4(16Kバイト)
SA6(4Kバイト)
SA7(4Kバイト)
FFDFFFH
7DFFFH
FFE000H
7E000H
FFEFFFH
7EFFFH
FFF000H
7F000H
FFFFFFH
7FFFFH
上位バンク
SA5(16Kバイト)
SA8(4Kバイト)
SA9(4Kバイト)
*:ライタアドレスとは,フラッシュメモリにパラレルライタでデータ
書込みを行う場合,CPUアドレスに相当するアドレスです。
汎用ライタを使用し書込み/消去を行う場合は,このライタアドレ
スで書込み/消去を行います。
482
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 22 章 デュアルオペレーション フラッシュメモリ
22.3 フラッシュメモリのレジスタ
MB90335 シリーズ
22.3
フラッシュメモリのレジスタ
フラッシュメモリのレジスタを示します。
■ フラッシュメモリのレジスタとリセット値の一覧
図 22.3-1 フラッシュメモリのレジスタとリセット値の一覧
bit
フラッシュメモリコントロール
ステータスレジスタ(FMCS)
bit
フラッシュメモリ書込み
コントロールレジスタ0(FWR0)
bit
フラッシュメモリ書込み
コントロールレジスタ1(FWR1)
bit
セクタ変換設定レジスタ (SSR0)
7
6
5
4
3
2
1
0
0
0
0
×
0
0
0
0
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
0
15
14
13
12
11
10
9
8
0
0
0
0
0
0
0
0
7
6
5
4
3
2
1
0
0
0
×
×
×
×
×
0
× :不定
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
483
第 22 章 デュアルオペレーション フラッシュメモリ
22.3 フラッシュメモリのレジスタ
MB90335 シリーズ
22.3.1 フラッシュメモリコントロールステータスレジスタ (FMCS)
フラッシュメモリコントロールステータスレジスタ (FMCS) は , フラッシュメモリ
の制御と状態の読出しを行います。
■ フラッシュメモリコントロールステータスレジスタ (FMCS)
図 22.3-2 に , フラッシュメモリコントロールステータスレジスタ (FMCS) の構成を示
します。
図 22.3-2 フラッシュメモリコントロールステータスレジスタ (FMCS)
アドレス
0000AEH
bit 7
6
5
4
3
2
1
0
リセット値
000X0000B
R/W R/W R/W
R
W
W
W
W
bit0
予約ビット
予約
0
必ず"0"に設定してください
bit1
予約ビット
予約
0
必ず"0"に設定してください
bit2
予約ビット
予約
0
必ず"0"に設定してください
bit3
予約ビット
予約
0
必ず"0"に設定してください
bit4
RDY
0
1
フラッシュメモリ書込み/消去ステータスビット
書込み/消去の実行中(次データ書込み/消去不可)
書込み/消去の終了(次データ書込み/消去許可)
bit5
フラッシュメモリ書込み/消去許可ビット
WE
0
フラッシュメモリ領域の書込み/消去禁止
1
フラッシュメモリ領域の書込み/消去許可
bit6
RDYINT
フラッシュメモリ動作フラグビット
リードした場合 ライトした場合
0
書込み/消去の実行中
このRDYINTビットのクリア
1
書込み/消去の終了
影響なし
bit7
INTE
R/W
R
W
X
484
:リード・ライト可能
:リードオンリ
:ライトオンリ
:不定
:リセット値
0
1
フラッシュメモリ書込み/消去割込み許可ビット
書込み/消去の終了による割込み禁止
書込み/消去の終了による割込み許可
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 22 章 デュアルオペレーション フラッシュメモリ
22.3 フラッシュメモリのレジスタ
表 22.3-1 コントロールステータスレジスタ (FMCS) の機能
ビット名
機 能
INTE:
フラッシュメモリ
書込み / 消去割込み
許可ビット
フラッシュメモリの書込み / 消去の終了による割込み要求発生を許可ま
たは禁止します。
"1" に設定した場合 : フラッシュメモリ動作フラグビットを "1" に設定
した場合に (FMCS: RDYINT=1), 割込み要求が発生
します。
RDYINT:
フラッシュメモリ
動作フラグビット
フラッシュメモリの動作状態を示します。
フラッシュメモリの書込み / 消去が終了した場合に , フラッシュメモリ
自動アルゴリズム終了のタイミングで , この RDYINT ビットに "1" が
セットされます。
• フラッシュメモリ書込み / 消去の終了による割込みを許可に設定し
ている場合は (FMCS: INTE=1), この RDYINT ビットに "1" がセット
されると割込み要求が発生します。
• この RDYINT ビットが "0" の場合は , フラッシュメモリへの書込み /
消去はできません。
"0" に設定した場合 : クリアされます。
"1" に設定した場合 : 影響しません。
リードモディファイライト (RMW) 命令を使用した場合は , 必ず "1" が
読み出されます。
bit5
WE:
フラッシュメモリ
書込み / 消去
許可ビット
フラッシュメモリ領域への書込み / 消去を許可または禁止します。
この WE ビットはフラッシュメモリの書込み / 消去のコマンドを起動す
る前に設定してください。
"0" に設定した場合 : FF バンクへの書込み / 消去コマンドを入力して
も , 書込み / 消去の信号は発生しません。
"1" に設定した場合 : FF バンクへの書込み / 消去コマンド入力後 , フ
ラッシュメモリへの書込み / 消去ができます。
• 書込み / 消去を行わない場合は , 誤ってフラッシュメモリに書き込ん
だり , 消去を行わないように , この WE ビットを "0" に設定してくだ
さい。
• フラッシュメモリに書き込む際には , FMCS:WE に "1" を設定し書込
み許可にしてからフラッシュメモリ書込みコントロールレジスタ
(FWR0/FWR1) の設定を行ってください。FMCS:WE が書込み禁止
("0") の場合 , フラッシュメモリ書込みコントロールレジスタ (FWR0/
FWR1) を書込み許可としても , フラッシュメモリに書込み動作が行
われません。
bit4
RDY:
フラッシュメモリ
書込み / 消去
ステータスビット
フラッシュメモリの書込み / 消去の状態を示します。
• この RDY ビットが "0" の場合は , フラッシュメモリへの書込み / 消
去はできません。
• この RDY ビットが "0" の場合でも , 読出し / リセットコマンド , セク
タ消去一時停止コマンドは受け付けることができます。書込み / 消
去動作を終了すると , この RDY ビットは "1" にセットされます。
bit3
∼
bit0
予約 :
予約ビット
必ず "0" に設定してください。
bit7
bit6
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
485
第 22 章 デュアルオペレーション フラッシュメモリ
22.3 フラッシュメモリのレジスタ
MB90335 シリーズ
<注意事項>
フラッシュメモリ動作フラグビット (RDYINT) とフラッシュメモリ書込み / 消去ステータ
スビット (RDY) は同時には変化しません。どちらかのビットで書込み / 消去の終了を判定
するようにプログラムを作成してください。
自動アルゴリズム
終了タイミング
RDYINTビット
RDYビット
1マシンサイクル
486
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 22 章 デュアルオペレーション フラッシュメモリ
22.3 フラッシュメモリのレジスタ
MB90335 シリーズ
フラッシュメモリ書込みコントロールレジスタ
(FWR0/FWR1)
22.3.2
フラッシュメモリ書込みコントロールレジスタ (FWR0/FWR1) は , フラッシュメモ
リインタフェースにあるレジスタで , フラッシュメモリの誤書込み防止機能の設定
を行う際に使用します。
■ フラッシュメモリ書込みコントロールレジスタ (FWR0/FWR1)
フラッシュメモリ書込みコントロールレジスタ (FWR0/FWR1) は , 各セクタ (SA0 ∼
SA9) に対応した書込み許可 / 禁止設定ビットです。初期値は "0" を示し , 書込み禁止と
なります。"1" を書き込むことにより対応するセクタの書込みを許可します。また , "0"
を書き込むことにより , 誤書込み防止が機能します。よって "0" を書き込んでから "1"
の書込みを行ってもそのセクタに書き込みを行うことはできません。再度書き込む必
要がある場合はリセットをかける必要があります。
図 22.3-3 フラッシュメモリ書込みコントロールレジスタ (FWR0/FWR1)
FWR0
6
5
4
3
2
1
0
SA6E
SA5E
SA4E
SA3E
SA2E
SA1E
SA0E
(0) (0) (0) (0) (0) (0) (0)
R/W
R/W
R/W
R/W
R/W
R/W
R/W
(0)
R/W
bit 7
アドレス
00790CH
FWR1
SA7E
bit 15
アドレス
00790DH
-
14
13
12
11
10
9
8
-
-
-
-
-
SA9E
SA8E
(0) (0) (0) (0) (0) (0) (0)
R/W
R/W
R/W
R/W
R/W
R/W
R/W
(0)
R/W
R/W:リード・ライト可能
0 :書込み禁止[初期値]
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
487
第 22 章 デュアルオペレーション フラッシュメモリ
22.3 フラッシュメモリのレジスタ
MB90335 シリーズ
図 22.3-4 フラッシュメモリ書込みコントロールレジスタ (FWR0/FWR1) における
フラッシュメモリへの書込み禁止 / 許可 / 誤書込み防止状態の例
初期化
レジスタ
書込み
レジスタ
書込み
初期化
RST
書込み禁止
書込み許可
誤書込み防止
書込み禁止
SA0E
書込み禁止
誤書込み防止
書込み禁止
書込み禁止
誤書込み防止
書込み禁止
書込み禁止
書込み許可
書込み禁止
SA1E
SA2E
SA3E
書込み禁止 :
"0" 状態。フラッシュメモリ書込みコントロールレジスタ (FWR0/FWR1) に "0" を書
いてない状態で各セクタに対応したレジスタを書込み許可 ("1") にすることが可能
です ( リセット後の状態 )。
書込み許可 :
"1" の状態。対応したセクタにデータを書き込むことが可能です。
誤書込み防止 :
"0" の状態。フラッシュメモリ書込みコントロールレジスタ (FWR0/FWR1) に "0" を
書いた状態で各セクタに対応したレジスタに"1"を書き込んでも書込み許可 ("1") に
することはできません。
488
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 22 章 デュアルオペレーション フラッシュメモリ
22.3 フラッシュメモリのレジスタ
MB90335 シリーズ
表 22.3-2 フラッシュメモリ書込みコントロールレジスタ (FWR0/FWR1) の機能
ビット名
bit15
∼
bit10
予約 :
予約ビット
機 能
書込み時は , 必ず "0" を書き込んでください。また , 読出し値は不定で
す。
フラッシュメモリの各セクタに対応した誤書込み機能設定ビットです。
"1" を書き込むことにより対応したセクタに書込みが許可されます。ま
た , "0" を書き込むことにより対応したセクタは誤書込み防止機能が働
きます。
また , リセットにより初期化され "0" ( 書込み禁止 ) となります。
誤書込み機能設定ビットのフラッシュセクタ対応表
bit9
∼
bit0
SA9E ∼ SA0E:
誤書込み機能設定
ビット
ビット
9
8
7
6
5
4
3
2
1
0
ビット名
SA9E
SA8E
SA7E
SA6E
SA5E
SA4E
SA3E
SA2E
SA1E
SA0E
フラッシュ対応セクタ
SA9
SA8
SA7
SA6
SA5
SA4
SA3
SA2
SA1
SA0
書込み禁止
: "0" 状態。フラッシュメモリ書込みコントロールレジ
スタ (FWR0/FWR1) に "0" を書いてない状態で各セク
タに対応したレジスタを書込み許可 ("1") にすること
が可能です ( リセット後の状態 )。
書込み許可
: "1" の状態。対応したセクタにデータを書き込むこと
が可能です。
誤書込み防止 : "0" の状態。フラッシュメモリ書込みコントロールレ
ジスタ (FWR0/FWR1) に "0" を書いた状態で各セクタ
に対応したレジスタに "1" を書き込んでも書込み許可
("1") にすることはできません。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
489
第 22 章 デュアルオペレーション フラッシュメモリ
22.3 フラッシュメモリのレジスタ
MB90335 シリーズ
■ フラッシュメモリ書込みコントロールレジスタ (FWR0/FWR1) 設定フロー
FMCS:WE ビットを設定し , 書込みをするセクタには "1" を , 誤書込み防止セクタには
"0" をそれぞれフラッシュメモリ書込みコントロールレジスタ (FWR0/FWR1) に設定し
てください。また書込みは , 必ずワード書込みで行ってください。ビット操作命令での
設定は禁止となります。
図 22.3-5 フラッシュメモリ誤書込み設定および書込み手順例
書込み開始
FMCS:WE(bit5)
フラッシュメモリ書込み許可
FWR0/FWR1
フラッシュメモリ誤書込み
防止設定
(誤書込み防止セクタは0,
書込みセクタは1)
書込みコマンドシーケンス
①FFUAAAH←XXAAH
②FFU554H←XX55H
③FFUAAAH←XXA0H
④書込みアドレス←書込みデータ
内部アドレスリード
データポーリング
(DQ7)
次アドレス
Data
Data
0
タイミングリミット
(DQ5)
1
内部アドレスリード
Data
データポーリング
(DQ7)
Data
書込みエラー
最終アドレス
NO
YES
FMCS:WE(bit5)
フラッシュメモリ書込み禁止
書込み完了
490
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 22 章 デュアルオペレーション フラッシュメモリ
22.3 フラッシュメモリのレジスタ
■ FMCS:WE の設定について
フラッシュメモリに書き込む際には , FMCS:WE に "1" を設定し , 書込み許可にしてか
らフラッシュメモリ書込みコントロールレジスタ (FWR0/FWR1) の設定を行ってくだ
さい。FMCS:WE が書込み禁止 ("0") の場合 , フラッシュメモリ書込みコントロールレ
ジスタ (FWR0/FWR1) で書込み許可としても , フラッシュメモリに書込み動作が行わ
れません。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
491
第 22 章 デュアルオペレーション フラッシュメモリ
22.3 フラッシュメモリのレジスタ
22.3.3
MB90335 シリーズ
セクタ変換設定レジスタ (SSR0)
セクタ変換設定レジスタ (SSR0) は , デュアルオペレーションフラッシュ動作時に
SA3 と SA9 のセクタ変換を指定します。
■ セクタ変換設定レジスタ (SSR0)
図 22.3-6 にセクタ変換設定レジスタ (SSR0) の構成を示します。
セクタ変換設定レジスタ(SSR0)の書込み/読出しは,バイトアクセスで行ってください。
図 22.3-6 セクタ変換設定レジスタ (SSR0)
SSR0
アドレス
bit 7
00790EH
予約
6
5
4
3
2
1
0
予約
-
-
-
-
-
SEN0
(0) (0) (X) (X) (X) (X) (X)
R/W
R/W
(0)
R/W
bit0
セクタ変換許可ビット
SEN0
0
セクタ変換を行わない
1
セクタ変換を行う (SA3, SA9を変換)
R/W :リード・ライト可能
X
:不定
:リセット値
表 22.3-3 セクタ変換設定レジスタ (SSR0) の機能
ビット名
bit7,
bit6
機 能
予約 : 予約ビット
必ず "0" に設定してください。
未定義ビット
リードした場合 : 値は不定です。
ライトした場合 : 動作に影響しません。
SEN0:
セクタ変換許可ビット
SEN0 ビットは上位バンク書換えの際に CPU からのアクセスを割込み
ベクタの存在する SA9 から下位バンクの SA3 へ入替えを行う設定
ビットです。
"0" に設定した場合 : セクタ変換を行いません。SA9 に割込みベクタ
が位置します。
"1" に設定した場合 : セクタ変換を行い , SA3 と SA9 を入替えます。
SA3 に割込みベクタが位置します。
bit5
∼
bit1
bit0
492
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 22 章 デュアルオペレーション フラッシュメモリ
22.3 フラッシュメモリのレジスタ
■ SEN0 ビットによるアクセスセクタマップ
図 22.3-7 に , SEN0 設定値におけるアクセスセクタマップを示します。
図 22.3-7 SEN0 設定値におけるアクセスセクタマップ
CPUアドレス
FF0FFFH
FF1000H
FF1FFFH
FF2000H
FF2FFFH
FF3000H
FF3FFFH
FF4000H
SA0:4Kバイト
SA0:4Kバイト
SA1:4Kバイト
SA1:4Kバイト
SA2:4Kバイト
SA2:4Kバイト
SA3:4Kバイト
SA9:4Kバイト
SA4:16Kバイト
SA4:16Kバイト
SA5:16Kバイト
SA5:16Kバイト
SA6:4Kバイト
SA6:4Kバイト
SA7:4Kバイト
SA7:4Kバイト
SA8:4Kバイト
SA8:4Kバイト
SA9:4Kバイト
SA3:4Kバイト
下位バンク
FF0000H
FFBFFFH
FFC000H
FFCFFFH
FFD000H
FFDFFFH
FFE000H
割込みベクタ
FFEFFFH
FFF000H
上位バンク
FF7FFFH
FF8000H
ハードワイヤード
リセットベクタ
(FFE000H)
割込みベクタ
FFFFFFH
SEN0=0
CM44-10137-6
SEN0=1
FUJITSU MICROELECTRONICS LIMITED
493
第 22 章 デュアルオペレーション フラッシュメモリ
22.4 フラッシュメモリ自動アルゴリズム起動方法
22.4
MB90335 シリーズ
フラッシュメモリ自動アルゴリズム起動方法
フラッシュメモリの自動アルゴリズムを起動するコマンドには , 読出し / リセット ,
書込み , チップ消去 , セクタ消去の 4 種類があり , セクタ消去については一時停止と
再開の制御ができます。
■ コマンドシーケンス表
表 22.4-1 に , フラッシュメモリの書込み / 消去時に使用するコマンドの一覧を示しま
す。コマンドレジスタへの書込みはバイト / ワードともに可能です。ワードアクセス
で書き込んだ場合の上位バイトは無視されます。
表 22.4-1 コマンドシーケンス表
コマンド
シーケンス
1st バス
2nd バス
3rd バス
4th バス
5th バス
6th バス
バス
ライト ライトサイクル ライトサイクル ライトサイクル ライトサイクル ライトサイクル ライトサイクル
アクセス アドレス データ アドレス データ アドレス データ アドレス データ アドレス データ アドレス データ
読出し /
リセット *
1
FFXXXXH
XXF0H
−
−
−
−
−
−
−
−
−
−
読出し /
リセット *
4
FFUAAAH
XXAAH
FFU554H
XX55H
FFUAAAH
XXF0H
RA
RD
−
−
−
−
書込み
4
FFUAAAH
XXAAH
FFU554H
XX55H
FFUAAAH
XXA0H
PA
PD
−
−
−
−
チップ消去
6
FFXAAAH
XXAAH
FFX554H
XX55H
FFXAAAH
XX80H
FFXAAAH
XXAAH
FFX554H
XX55H
FFXAAAH
XX10H
セクタ消去
6
FFUAAAH
XXAAH
FFU554H
XX55H
FFUAAAH
XX80H
FFUAAAH
XXAAH
FFU554H
XX55H
SA
XX30H
セクタ消去一時停止
アドレス "FFUXXXH", データ "XXB0H" 入力で , セクタ消去中の消去一時停止
セクタ消去再開
アドレス "FFUXXXH", データ "XX30H" 入力で , セクタ消去一時停止後 , 消去開始
RA: 読出しアドレス
PA: 書込みアドレス
SA: セクタアドレス ( セクタ内の任意の 1 アドレスを指定 )
RD: 読出しデータ
PD: 書込みデータ
U : RA, PA, SA と同じ上位 4 ビット
* : 2 種類の読出し / リセットコマンドはどちらもフラッシュメモリを読出しモードにリセットすることができます。
<注意事項>
•
•
表中のアドレスは , CPU メモリマップ上の値です。アドレスおよびデータはすべて 16
進数で表記しています。ただし "X" は任意の値です。
表中のアドレス "U" 表記は任意ではなく , アドレス (bit15 ∼ bit12) の 4 ビットは RA,
PA, SA と同じ値にしてください。
例 : RA=FFC48EH の場合 U=C,
SA=FF3000H の場合 U=3,
PA=FF1024H の場合 U=1
•
494
チップ消去コマンドが受け付けられるのは , 全セクタを書込み許可している場合のみ
です。フラッシュメモリ書込みコントロールレジスタ (FWR0/FWR1) に 1 セクタでも
"0" 設定 ( 書込み禁止 / 誤書込み防止 ) している場合 , チップ消去コマンドは無視され
ます。
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
第 22 章 デュアルオペレーション フラッシュメモリ
22.4 フラッシュメモリ自動アルゴリズム起動方法
■ コマンド発行時の注意点
コマンドシーケンス表のコマンドを発行する際には下記の点に注意してください。
• 各セクタの書込み許可の設定は 1st コマンド発行前に行ってください。
• コマンドを発行する際のアドレス上位 U (bit15 ∼ bit12) は , 1st コマンド発行時から
RA, PA, SA と同じにしてください。
上記の対策が行われない場合 , 正常にコマンドが認識されず , リセットにてフラッシュ
メモリ内のコマンドシーケンサを初期化する必要があります。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
495
第 22 章 デュアルオペレーション フラッシュメモリ
22.5 フラッシュメモリにおけるリセットベクタアドレス
22.5
MB90335 シリーズ
フラッシュメモリにおけるリセットベクタアドレス
本シリーズのフラッシュメモリ品はハードワイヤードリセットベクタとなります。
CPU モードにおいてアドレス FFFFDCH ∼ FFFFDFH へのすべての読出しアクセス
は , ハード的に決められた値を読み出すことになります。しかし , フラシュメモリ
モードでは , これらのアドレスにアクセスが可能です。
このため , これらのアドレスへの書込みは意味がなく , 特に CPU アクセスでフラッ
シュメモリをプログラミングするとき , ソフトウェアポーリングでこれらのアドレ
スを読み出さないようにしてください。その場合 , フラッシュメモリの状態フラグ
の値でなく , 固定のリセットベクタの値が読み出されます。
■ ハードワイヤードリセットベクタアドレス
表 22.5-1 に , リセットベクタとモードデータの固定値を示します。
表 22.5-1 リセットベクタとモードデータの固定値
リセットベクタ
モードデータ
アドレス
データ ( 固定値 )
FFFFDCH
00H
FFFFDDH
E0H
FFFFDEH
FFH
FFFFDFH
00H
<注意事項>
リセットベクタとモードデータは上記に示した値が設定されていますので , フラッシュメ
モリに書き込むプログラムの中のリセットベクタ値とモードデータの値は動作に影響あ
りませんが , 同一のプログラムをマスク ROM 品で使用した場合 , 異なる動作をする可能
性がありますので , フラッシュメモリにも同一の値を書き込むようにしてください。
496
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
22.6
第 22 章 デュアルオペレーション フラッシュメモリ
22.6 自動アルゴリズム実行状態の確認
自動アルゴリズム実行状態の確認
フラッシュメモリでは , 書込み / 消去のフローを自動アルゴリズムで行うため , フ
ラッシュメモリ内部の動作状態をハードウェアシーケンスフラグによって確認がで
きます。
■ ハードウェアシーケンスフラグ
● ハードウェアシーケンスフラグの概要
ハードウェアシーケンスフラグは , 次の 4 ビットの出力で構成されます。
• データポーリングフラグ (DQ7)
• トグルビットフラグ (DQ6)
• タイミングリミット超過フラグ (DQ5)
• セクタ消去タイマフラグ (DQ3)
ハードウェアシーケンスフラグにより , 書込み / チップ・セクタ消去の終了 , 消去コー
ドライトができるかを確認することができます。
ハードウェアシーケンスフラグを参照するには , コマンドシーケンス設定後にフラッ
シュメモリ内部の対象セクタのアドレスにリードアクセスすることで参照できます。
ただし,ハードウェアシーケンスフラグはコマンド発行された側のバンクのみ出力され
ます。表 22.6-1 にハードウェアシーケンスフラグのビット割当てを示します。
表 22.6-1 ハードウェアシーケンスフラグのビット割当て
ビット No.
ハードウェアシーケンスフラグ
7
6
5
4
3
2
1
0
DQ7
DQ6
DQ5
−
DQ3
−
−
−
• 自動書込み / チップ・セクタ消去が実行中か , 終了しているか判断するためには ,
ハードウェアシーケンスフラグを確認するかまたはフラッシュメモリ制御ステー
タスレジスタのフラッシュメモリ書込み / 消去ステータスビット (FMCS: RDY) を確
認してください。書込み / 消去の終了後は , 読出し / リセット状態に戻ります。
• 書込み / 消去プログラムを作成する場合には , DQ7, DQ6, DQ5, DQ3 のフラグで自動
書込み / 消去の終了を確認後に , データの読出しの処理を行ってください。
• 2 回目以降のセクタ消去コードライトが有効であるかについても , ハードウェア
シーケンスフラグによって確認できます。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
497
第 22 章 デュアルオペレーション フラッシュメモリ
22.6 自動アルゴリズム実行状態の確認
MB90335 シリーズ
● ハードウェアシーケンスフラグの説明
表 22.6-2 に , ハードウェアシーケンスフラグ機能の一覧を示します。
表 22.6-2 ハードウェアシーケンスフラグ機能の一覧
DQ7
DQ6
DQ5
DQ3
DQ7 →
DATA: 7
Toggle →
DATA: 6
0→
DATA: 5
0→
DATA: 3
チップ・セクタ消去
→消去完了
0→1
Toggle →
Stop
0→1
1
セクタ消去ウェイト
→消去開始
0
Toggle
0
0→1
消去→セクタ消去一時停止
( 消去中のセクタ )
0→1
Toggle → 1
0
1→0
セクタ消去一時停止→消去再開
( 消去中のセクタ )
1→0
1 → Toggle
0
0→1
DATA: 7
DATA: 6
DATA: 5
DATA: 3
DQ7
Toggle
1
0
0
Toggle
1
1
状 態
書込み→書込み完了
( 書込みアドレス指定時 )
正常動作時の
状態変化
セクタ消去一時停止中
( 消去中ではないセクタ )
書込み
異常動作
チップ・セクタ消去
498
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 22 章 デュアルオペレーション フラッシュメモリ
22.6 自動アルゴリズム実行状態の確認
MB90335 シリーズ
データポーリングフラグ (DQ7)
22.6.1
データポーリングフラグ (DQ7) は , 自動アルゴリズム実行が進行中もしくは終了状
態であることをデータポーリング機能によって知らせるハードウェアシーケンスフ
ラグです。
■ データポーリングフラグ (DQ7)
表 22.6-3 と表 22.6-4 に , データポーリングフラグの状態遷移を示します。
表 22.6-3 データポーリングフラグの状態遷移 ( 正常動作時の状態変化 )
動作状態
書込み→
書込み完了
チップ・
セクタ消去
→
消去完了
セクタ消去
ウェイト→
消去開始
セクタ消去→
セクタ消去
一時停止
( 消去中の
セクタ )
セクタ消去
一時停止→
消去再開
( 消去中の
セクタ )
セクタ消去
一時停止中
( 消去中では
ないセクタ )
DQ7
DQ7 → DATA: 7
0→1
0
0→1
1→0
DATA: 7
表 22.6-4 データポーリングフラグの状態遷移 ( 異常動作時の状態変化 )
動作状態
書込み
チップ・セクタ
消去
DQ7
DQ7
0
● 書込みの場合
• 自動書込みアルゴリズム実行中にリードアクセスした場合 ,
最後に書き込まれた
データの bit7 を反転させた値を出力します。
• 自動書込みアルゴリズム終了時にリードアクセスを行った場合 , フラッシュメモリ
はリードアクセスを行ったアドレスの読出し値の bit7 を出力します。
● チップ消去 / セクタ消去の場合
チップ消去 / セクタ消去の自動アルゴリズム実行中に現在消去しているセクタをリー
ドアクセスすると , フラッシュメモリの bit7 は "0" を出力します。チップ消去 / セクタ
消去が終了すると , フラッシュメモリの bit7 は "1" を出力します。
● セクタ消去一時停止の場合
• セクタ消去一時停止状態でリードアクセスを行った場合 , フラッシュメモリは ,
リードアドレスが消去中のセクタであれば , "1" を出力します。消去中のセクタでな
ければ , リードアドレスの読出し値の bit7 (DATA: 7) を出力します。
• データポーリングフラグ (DQ7) をトグルビットフラグ (DQ6) とともに参照するこ
とで , セクタ一時停止状態であるか , どのセクタが消去中であるかを判定すること
ができます。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
499
第 22 章 デュアルオペレーション フラッシュメモリ
22.6 自動アルゴリズム実行状態の確認
MB90335 シリーズ
<注意事項>
自動アルゴリズムを起動した場合は , 指定したアドレスへのリードアクセスは無視されま
す。データの読出しは , データポーリングフラグ (DQ7) が "1" にセットされた後 , 可能に
なります。自動アルゴリズム終了後のデータの読出しは , データポーリング終了を確認し
たリードアクセスのあとに行ってください。
500
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 22 章 デュアルオペレーション フラッシュメモリ
22.6 自動アルゴリズム実行状態の確認
MB90335 シリーズ
トグルビットフラグ (DQ6)
22.6.2
トグルビットフラグ (DQ6) は , 自動アルゴリズム実行が進行中 , もしくは終了状態
であることをトグルビット機能によって知らせるハードウェアシーケンスフラグで
す。
■ トグルビットフラグ (DQ6)
表 22.6-5 と表 22.6-6 に , トグルビットフラグの状態遷移を示します。
表 22.6-5 トグルビットフラグの状態遷移 ( 正常動作時の状態変化 )
動作状態
書込み→
書込み完了
チップ・
セクタ消去
→
消去完了
セクタ消去
ウェイト→
消去開始
セクタ消去→
セクタ消去
一時停止
( 消去中の
セクタ )
セクタ消去
一時停止→
消去再開
( 消去中の
セクタ )
セクタ消去
一時停止中
( 消去中では
ないセクタ )
DQ6
Toggle →
DATA: 6
Toggle → Stop
Toggle
Toggle → 1
1 → Toggle
DATA: 6
表 22.6-6 トグルビットフラグの状態遷移 ( 異常動作時の状態変化 )
動作状態
書込み
DQ6
Toggle
チップ・セクタ消去
Toggle
● 書込みとチップ消去 / セクタ消去の場合
• 自動書込みアルゴリズムおよびチップ消去 / セクタ消去の自動アルゴリズム実行中
に , リードアクセスを連続して行った場合 , フラッシュメモリは , リードを行うごと
に "1" と "0" を交互にトグル出力します。
• 自動書込みアルゴリズムおよびチップ消去 / セクタ消去の自動アルゴリズムが終了
したあとに , リードアクセスを連続して行った場合 , フラッシュメモリはリードを
行うごとにリードアドレスの読出し値の bit6 (DATA: 6) を出力します。
● セクタ消去一時停止の場合
セクタ消去一時停止状態でリードアクセスを行った場合 , フラッシュメモリは , リード
アドレスが消去中のセクタであるならば , "1" を出力します。消去中のセクタでなけれ
ば , リードアドレスの読出し値の bit6 (DATA: 6) を出力します。
<注意事項>
デュアルオペレーションフラッシュメモリの機能を使用して , フラッシュメモリ書込み制
御プログラムをフラッシュメモリ上で実行する場合, トグルビットフラグ(DQ6) を使用し
て書込み / 消去中の状態を確認することができません。
なお , フラッシュメモリ書込み制御プログラムを RAM 上で実行する場合は , 本注意事項
は該当しません。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
501
第 22 章 デュアルオペレーション フラッシュメモリ
22.6 自動アルゴリズム実行状態の確認
22.6.3
MB90335 シリーズ
タイミングリミット超過フラグ (DQ5)
タイミングリミット超過フラグ (DQ5) は , 自動アルゴリズムの実行がフラッシュメ
モリ内部の規定時間 ( 書込み / 消去に要する時間 ) を超えてしまったことを知らせる
ハードウェアシーケンスフラグです。
■ タイミングリミット超過フラグ (DQ5)
表 22.6-7 と表 22.6-8 に , タイミングリミット超過フラグの状態遷移を示します。
表 22.6-7 タイミングリミット超過フラグの状態遷移 ( 正常動作時の状態変化 )
動作状態
書込み→
書込み完了
チップ・
セクタ消去
→
消去完了
セクタ消去
ウェイト→
消去開始
セクタ消去→
セクタ消去
一時停止
( 消去中の
セクタ )
セクタ消去
一時停止→
消去再開
( 消去中の
セクタ )
セクタ消去
一時停止中
( 消去中では
ないセクタ )
DQ5
0 → DATA: 5
0→1
0
0
0
DATA: 5
表 22.6-8 タイミングリミット超過フラグの状態遷移 ( 異常動作時の状態変化 )
動作状態
書込み
チップ・セクタ消去
DQ5
1
1
● 書込みとチップ消去 / セクタ消去の場合
• 書込みまたはチップ消去 / セクタ消去の自動アルゴリズム起動後にリードアクセス
を行った場合 , 規定時間 ( 書込み / 消去に要する時間 ) 内であれば "0" を , 規定時間
を超えている場合は "1" を出力します。
• タイミングリミット超過フラグ (DQ5) は , 自動アルゴリズムが実行中か終了状態か
にかかわらず , 書込み / 消去の成功または , 失敗の判定を行うことができます。タイ
ミングリミット超過フラグ (DQ5) が "1" を出力した場合 , データポーリング機能ま
たはトグルビット機能により自動アルゴリズムが実行中であれば , 書込みが失敗し
ていると判断することができます。
• 例えば "0" が書き込まれているフラッシュメモリアドレスに "1" を書き込もうとし
た場合は , フラッシュメモリはロックされ , 自動アルゴリズムは終了せず , データ
ポーリングフラグ (DQ7) から有効なデータが出力されません。またトグルビットフ
ラグ (DQ6) はトグル動作を終了せず , タイムリミットを超えてしまい , タイミング
リミット超過フラグ (DQ5) は "1" を出力します。タイミングリミット超過フラグ
(DQ5) が "1" を出力した場合は , フラッシュメモリが不良ではなく , 正しく使用され
なかったことを示していますので , リセットコマンドを実行してください。
502
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 22 章 デュアルオペレーション フラッシュメモリ
22.6 自動アルゴリズム実行状態の確認
MB90335 シリーズ
セクタ消去タイマフラグ (DQ3)
22.6.4
セクタ消去タイマフラグ (DQ3) は , セクタ消去コマンド起動後セクタ消去ウェイト
期間中であるか否かを知らせるハードウェアシーケンスフラグです。
■ セクタ消去タイマフラグ (DQ3)
表 22.6-9 と表 22.6-10 に , セクタ消去タイマフラグの状態遷移を示します。
表 22.6-9 セクタ消去タイマフラグの状態遷移 ( 正常動作時の状態変化 )
動作状態
書込み→
書込み完了
チップ・
セクタ消去
→
消去完了
セクタ消去
ウェイト→
消去開始
セクタ消去→
セクタ消去
一時停止
( 消去中の
セクタ )
セクタ消去
一時停止→
消去再開
( 消去中の
セクタ )
セクタ消去
一時停止中
( 消去中では
ないセクタ )
DQ3
0 → DATA: 3
1
0→1
1→0
0→1
DATA: 3
表 22.6-10 セクタ消去タイマフラグの状態遷移 ( 異常動作時の状態変化 )
動作状態
書込み
チップ・セクタ消去
DQ3
0
1
● セクタ消去の場合
• セクタ消去コマンド起動後にリードアクセスを行った場合に , セクタ消去ウェイト
期間中であれば "0" を出力します。セクタ消去ウェイト期間を超えている場合は "1"
を出力します。
• データポーリング機能やトグルビット機能により消去アルゴリズムが実行中を示
している場合 (DQ7=0, DQ6 がトグル出力 ), セクタ消去タイマフラグ (DQ3) が "1" で
あれば , セクタ消去を行っています。続けて消去一時停止以外のコマンドを設定し
た場合は , 消去が終了されるまで無視されます。
• セクタ消去タイマフラグ (DQ3) が "0" であった場合 , フラッシュメモリはセクタ消
去コマンドを受け付けることができます。セクタ消去コマンドを書き込む場合は ,
セクタ消去タイマフラグ (DQ3) が "0" であることを確認してください。セクタ消去
タイマ (DQ3) が "1" であった場合 , 一時停止のセクタ消去コマンドが受け付けられ
ない場合があります。
● セクタ消去一時停止の場合
セクタ消去一時停止状態でリードアクセスを行った場合 , フラッシュメモリは , リード
アドレスが消去中のセクタであるならば , "1" を出力します。消去中のセクタでなけれ
ば , リードアドレスの読出し値の bit3 (DATA: 3) を出力します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
503
第 22 章 デュアルオペレーション フラッシュメモリ
22.7 フラッシュメモリ書込み / 消去の詳細説明
22.7
MB90335 シリーズ
フラッシュメモリ書込み / 消去の詳細説明
自動アルゴリズムを起動するコマンドを入力し , フラッシュメモリに読出し / リセッ
ト , 書込み , チップ消去 , セクタ消去 , セクタ消去一時停止 , セクタ消去再開のそれ
ぞれの動作を行う手順を説明します。
■ フラッシュメモリ書込み / 消去の詳細説明
自動アルゴリズムは , 読出し / リセット , 書込み , チップ消去 , セクタ消去 , セクタ消去
一時停止 , 消去再開のコマンドシーケンスを CPU からフラッシュメモリに書き込むこ
とにより起動することができます。CPU からフラッシュメモリへの書込みは , 必ず連
続して行ってください。また , 自動アルゴリズムはデータポーリング機能により終了状
態を確認することができます。正常終了後は読出し / リセット状態に戻ります。
各動作について , 下記の順に説明します。
• 読出し / リセット状態にする
• データを書き込む
• 全データを消去する ( チップ全消去 )
• 任意のデータを消去する ( セクタ消去 )
• セクタ消去を一時停止する
• セクタ消去を再開する
504
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
22.7.1
第 22 章 デュアルオペレーション フラッシュメモリ
22.7 フラッシュメモリ書込み / 消去の詳細説明
フラッシュメモリを読出し / リセット状態にする
読出し / リセットコマンドを入力し , フラッシュメモリを読出し / リセット状態にす
る手順について説明します。
■ フラッシュメモリを読出し / リセット状態にする
• フラッシュメモリを読出し / リセット状態にするには , コマンドシーケンス表の読
出し / リセットコマンドを CPU からフラッシュメモリへ連続してコードを送ってく
ださい。
• 読出し / リセットコマンドには 1 回と 4 回のバス動作を行う 2 とおりのコマンドシー
ケンスがありますが , 違いはありません。
• 読出し / リセット状態はフラッシュメモリの初期状態ですので , 電源投入後 , コマン
ドの正常終了後は常に読出し / リセット状態になります。読出し / リセット状態は ,
コマンドの入力待ち状態でもあります。
• 読出し / リセット状態では , フラッシュメモリへ , リードアクセスを行うことにより
データを読み出すことができます。マスク ROM と同様に CPU からのプログラムア
クセスができます。
• フラッシュメモリへ , リードアクセスを行う場合は , 読出し / リセットコマンドは必
要ありません。コマンドが正常に終了しなかった場合は , 自動アルゴリズムを初期
化するために , 読出し / リセットコマンドを使用してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
505
第 22 章 デュアルオペレーション フラッシュメモリ
22.7 フラッシュメモリ書込み / 消去の詳細説明
22.7.2
MB90335 シリーズ
フラッシュメモリへデータを書き込む
書込みコマンドを入力し , フラッシュメモリへデータを書き込む手順について説明
します。
■ フラッシュメモリへデータの書込み
• フラッシュメモリのデータ書込み自動アルゴリズムを起動するためには , コマンド
シーケンス表の書込みコマンドをCPUからフラッシュメモリへ連続して送ってくだ
さい。
• 4 サイクル目に目的のアドレスへのデータ書込みが終了した場合 , 自動アルゴリズ
ムが起動され自動書込みを開始します。
● アドレス指定方法
• 書込みデータサイクルで指定する書込みアドレスは , 偶数アドレスのみ設定できま
す。奇数アドレスを設定した場合は , 正しく書き込むことができません。偶数アド
レスへワードデータ単位で書込みを行ってください。
• 書込みはどのようなアドレスの順番でも , セクタの境界を越えても行えます。1 回
の書込みコマンドによって書き込まれるデータは 1 ワードのみです。
● データ書込み上の注意
• 書込みによって , ビットデータを "0" から "1" に戻すことはできません。ビットデー
タ "0" にビットデータ "1" を書き込むと , データポーリングフラグ (DQ7) または , ト
グル動作 (DQ6) が終了せず , フラッシュメモリ素子が不良と判定され , 書込み規定
時間を超えてタイミングリミット超過フラグ (DQ5) がエラーと判定します。
• 読出し / リセット状態でデータを読み出した場合 , ビットデータは "0" のままです。
ビットデータを"0"から"1"に戻すには, フラッシュメモリの消去を行ってください。
• 自動書込み実行中は , すべてのコマンドが無視されます。
• 書込み中にハードウェアリセットが起動された場合は , 書込みアドレスのデータは
保証されません。チップ消去あるいはセクタ消去からやり直してください。
■ フラッシュメモリ書込み手順
• 図 22.7-1 にフラッシュメモリ書込み手順の例を示します。ハードウェアシーケンス
フラグを用いることでフラッシュメモリ内部の自動アルゴリズムの状態を判定す
ることができます。ここでは , フラッシュメモリへの書込み終了の確認にデータ
ポーリングフラグ (DQ7) を用いています。
• フラグチェックのために読み込むデータは , 最後に書込みを行ったアドレスからの
読込みとなります。
• データポーリングフラグ (DQ7) は , タイミングリミット超過フラグ (DQ5) と同時に
変化するので , タイミングリミット超過フラグ (DQ5) が "1" であった場合でもデー
タポーリングフラグ (DQ7) を確認してください。
• トグルビットフラグ (DQ6) も , タイミングリミット超過フラグ (DQ5) が "1" に変化
するのと同時にトグル動作を止めますので , トグルビットフラグ (DQ6) を確認して
ください。
506
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 22 章 デュアルオペレーション フラッシュメモリ
22.7 フラッシュメモリ書込み / 消去の詳細説明
MB90335 シリーズ
図 22.7-1 フラッシュメモリ書込み手順の例
書込み開始
FMCS:WE(bit5)
フラッシュメモリ書込み許可
FWR0/FWR1
フラッシュメモリ誤書込み
防止設定
(誤書込み防止セクタは0,
書込みセクタは1 )
書込みコマンドシーケンス
①FFUAAAH←XXAAH
②FFU554H←XX55H
③FFUAAAH←XXA0H
④書込みアドレス←書込みデータ
内部アドレスリード
データポーリング
(DQ7)
次アドレス
Data
Data
0
タイミングリミット
(DQ5)
1
内部アドレスリード
Data
データポーリング
(DQ7)
Data
書込みエラー
最終アドレス
NO
YES
FMCS:WE(bit5)
フラッシュメモリ書込み禁止
書込み完了
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
507
第 22 章 デュアルオペレーション フラッシュメモリ
22.7 フラッシュメモリ書込み / 消去の詳細説明
22.7.3
MB90335 シリーズ
フラッシュメモリの全データを消去する ( チップ消去 )
チップ消去コマンドを発行し , フラッシュメモリの全データを消去する手順につい
て説明します。
■ フラッシュメモリのデータを消去する ( チップ消去 )
• フラッシュメモリからすべてのデータを消去するためには , コマンドシーケンス表
のチップ消去コマンドを CPU からフラッシュメモリへ連続して送ってください。
• チップ消去コマンドは 6 回のバス動作で行われ , 6 サイクル目の書込みが完了した
時点でチップ消去動作を開始します。
• チップ消去では , 消去前にユーザがフラッシュメモリに書込みを行う必要はありま
せん。自動消去アルゴリズム実行中には , フラッシュメモリは自動的にすべてのセ
ルを消去する前に "0" を自動的に書き込んでから消去します。
■ チップ消去の際の注意点
• チップ消去コマンドが受け付けられるのは , 全セクタを書込み許可にしている場合
のみです。フラッシュ書込みコントロールレジスタ (FWR0/FWR1) に 1 セクタでも
"0" 設定 ( 書込み禁止 / 誤書込み防止 ) している場合 , チップ消去コマンドは無視さ
れます。
• 消去中にハードウェアリセットが発生したフラッシュメモリのデータは保証され
ません。
508
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
22.7.4
第 22 章 デュアルオペレーション フラッシュメモリ
22.7 フラッシュメモリ書込み / 消去の詳細説明
フラッシュメモリの任意のデータを消去する
( セクタ消去 )
セクタ消去コマンドを入力し , フラッシュメモリの任意のセクタ消去を行う手順に
ついて説明します。セクタごとの消去が可能であり , 複数のセクタを同時に指定す
ることもできます。
■ フラッシュメモリの任意のデータを消去する ( セクタ消去 )
フラッシュメモリの任意のセクタを消去するためには , コマンドシーケンス表のセク
タ消去コマンドを CPU からフラッシュメモリへ連続して送ってください。
● セクタ指定方法
• セクタ消去コマンドは 6 回のバス動作で行われます。6 サイクル目のアドレスを目
的のセクタ内の偶数アドレスに設定し, データにセクタ消去コード (30H)を書き込む
ことにより最小 50μs のセクタ消去ウェイトが開始します。
• 複数のセクタ消去を行う場合は , 上記に続き消去する目的のセクタ内のアドレスに
消去コード (30H) を書き込みます。
● 複数のセクタを指定する場合の注意
• 最後のセクタ消去コードの書込みから最小50μsのセクタ消去ウェイト期間終了によ
り消去が開始します。
• 複数のセクタを同時に消去する場合は , 消去セクタのアドレスと消去コード ( コマ
ンドシーケンス 6 サイクル目 ) を 50μs 以内に入力してください。50μs 以降に消去
コードを入力した場合は , セクタ消去ウェイト期間終了により受け付けられません。
• 連続したセクタ消去コードの書込みが有効であるかは , セクタ消去タイマフラグ
(DQ3) によって確認することができます。
• セクタ消去タイマフラグ (DQ3) をリードする場合のアドレスは , 消去しようとして
いるセクタを指定してください。
■ フラッシュメモリのセクタ消去手順
• ハードウェアシーケンスフラグを用いることでフラッシュメモリ内部の自動アル
ゴリズムの状態を判定することができます。図 22.7-2 にフラッシュメモリセクタ消
去手順の例を示します。ここでは , 消去終了の確認にトグルビットフラグ (DQ6) を
用いています。
• トグルビットフラグ (DQ6) は , タイミングリミット超過フラグ (DQ5) が "1" に変化
するのと同時にトグル動作を終了します。タイミングリミット超過フラグ (DQ5) が
"1" の場合でも , トグルビットフラグ (DQ6) を確認してください。
• データポーリングフラグ (DQ7) は , タイミングリミット超過フラグ (DQ5) と同時に
変化するので , データポーリングフラグ (DQ7) を確認してください。
■ セクタ消去の際の注意点
消去中にハードウェアリセットが発生した場合,消去されたセクタのデータは保証され
ません。再度 , セクタ消去を行ってください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
509
第 22 章 デュアルオペレーション フラッシュメモリ
22.7 フラッシュメモリ書込み / 消去の詳細説明
MB90335 シリーズ
図 22.7-2 フラッシュメモリのセクタ消去手順の例
消去開始
FMCS:WE(bit5)
フラッシュメモリ消去許可
FWR0/FWR1
フラッシュメモリ誤書込み
防止設定
(誤書込み防止セクタは0,
書込みセクタは1 )
消去コマンドシーケンス
①FFUAAAH←XXAAH
②FFU554H←XX55H
③FFUAAAH←XX80H
④FFUAAAH←XXAAH
⑤FFU554H←XX55H
⑥消去セクタへコード入力(30H)
YES
消去セクタがほかに
あるか
NO
内部アドレスリード
0
内部アドレスリード1
セクタ消去タイマ
(DQ3)
内部アドレスリード2
1
消去指定の追加が50µs
以内になされなかった。
残りをやり直すフラグを
立て, 一旦消去を終える。
トグルビット(DQ6)
データ1=データ2
YES
NO
0
タイミングリミット
(DQ5)
1
内部アドレスリード 1
内部アドレスリード 2
NO
トグルビット(DQ6)
データ1=データ2
YES
消去エラー
残りやり直し
フラグ?
YES
NO
FMCS:WE(bit5)
フラッシュメモリ消去禁止
消去完了
510
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
22.7.5
第 22 章 デュアルオペレーション フラッシュメモリ
22.7 フラッシュメモリ書込み / 消去の詳細説明
フラッシュメモリのセクタ消去を一時停止する
セクタ消去一時停止コマンドを入力し , フラッシュメモリセクタ消去の一時停止を
行う手順について説明します。消去中でないセクタから , データを読み出すことが
可能です。
■ フラッシュメモリのセクタ消去を一時停止する
• フラッシュメモリのセクタ消去を一時停止するためには , コマンドシーケンス表の
セクタ消去一時停止コマンドを CPU からフラッシュメモリへ送ってください。
• セクタ消去一時停止コマンドは , セクタ消去中に消去を一時停止し , 消去中でない
セクタからデータを読み出すことができます。
• セクタ消去一時停止コマンドは , 消去ウェイト時間を含むセクタ消去中のみ有効で ,
チップ消去中や書込み中は無視されます。
• セクタ消去一時停止コマンドは , 消去一時停止コード (B0H) を書き込むことで実行
されます。このときのアドレスは , 消去指定したセクタ内の任意の偶数アドレスを
設定してください。消去一時停止中に再度 , 消去一時停止コマンドを実行した場合 ,
再度入力したコマンドは無視されます。
• セクタ消去ウェイト期間中に , セクタ消去一時停止コマンドを入力した場合 , 直ち
にセクタ消去ウェイトを終了し , 消去動作を中断して消去停止状態になります。
• セクタ消去ウェイト期間後のセクタ消去中に消去一時停止コマンドを入力した場
合 , 最大 20μs 後に , 消去一時停止状態になります。
■ 注意
一時停止コマンドを発行する場合は , セクタ消去コマンド発行後 20μs 以上たってから
発行するか , あるいは , セクタ消去再開コマンドの発行後 20μs 以上たってから発行し
てください。ただし , 発行回数は数回にとどめてください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
511
第 22 章 デュアルオペレーション フラッシュメモリ
22.7 フラッシュメモリ書込み / 消去の詳細説明
22.7.6
MB90335 シリーズ
フラッシュメモリのセクタ消去を再開する
セクタ消去再開コマンドを入力し , 一時停止したフラッシュメモリセクタ消去を再
開する手順について説明します。
■ フラッシュメモリのセクタ消去を再開する
• 一時停止したセクタ消去を再開させるためには , コマンドシーケンス表のセクタ消
去再開コマンドを CPU からフラッシュメモリへ送ってください。
• セクタ消去再開コマンドは , セクタ消去一時停止コマンドによるセクタ消去一時停
止状態から , セクタ消去を再開するためのコマンドです。セクタ消去再開コマンド
は消去再開コード (30H) の書込みを行うことで実行されますが , アドレスは消去指
定したセクタ内の任意の偶数アドレスを指定します。
• セクタ消去中のセクタ消去再開コマンドの入力は無視されます。
512
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
22.8
第 22 章 デュアルオペレーション フラッシュメモリ
22.8 デュアルオペレーションフラッシュメモリの動作
デュアルオペレーションフラッシュメモリの動作
デュアルオペレーションフラッシュを使用する際には , 次の点について特に注意が
必要です。
• 上位バンクの書換え時における割込み発生
• セクタ変換設定レジスタ (SSR0) の設定手順
■ 上位バンクの書換え時における割込み発生
デュアルオペレーションフラッシュは , 2 つのバンクで構成していますが , 従来のフ
ラッシュ同様 , 同一バンクでの消去 / 書込みと読出しの実行は行えません。
SA9 には割込みベクタがあるため , 上位バンク書込み時に割込みが発生した場合 CPU
からの割込みベクタが正常に読み出せません。上位バンクの書換えを行う際には
SSR0:SEN0=1 とする必要があります。そのため , 割込み発生時は , SA3 に割込みベク
タのデータを読みにいきますので , セクタ変換設定レジスタ (SSR0) 設定前に SA3 と
SA9 に同じデータをコピーしておく必要があります。
■ セクタ変換設定レジスタ (SSR0) の設定手順
図 22.8-1 に , セクタ変換設定レジスタ (SSR0) の設定手順例を示します。
上位バンクのデータを書き換える際には , SEN0 ビットを "1" に設定する必要がありま
す。またフラッシュメモリへの書込み中にセクタ変換設定レジスタ (SSR0) の設定変更
は禁止です。セクタ変換設定レジスタ (SSR0) の設定は必ずフラッシュメモリへの書込
み開始前または終了後に行ってください。
また , 本レジスタを設定する際には , 割込み許可を禁止とし , SEN0 ビット設定後 , 割込
みを許可するようにしてください。
図 22.8-1 セクタ変換設定レジスタ (SSR0) の設定手順例
フラッシュデータ書換え開始
書込み作業開始
SA9のデータをSA3にコピー
SSR0:SEN0を設定("1")
書込み作業開始
フラッシュデータ
書換え終了
フラッシュデータ
書換え終了
SSR0:SEN0を設定("0")
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
513
第 22 章 デュアルオペレーション フラッシュメモリ
22.8 デュアルオペレーションフラッシュメモリの動作
MB90335 シリーズ
■ 書込み / 消去中の動作について
• フラッシュメモリへ書込み / 消去中に割込みが発生した場合 , 割込みルーチン内で
フラッシュメモリに書込みは禁止です。
書込み / 消去ルーチンが複数存在する場合 , その書込み / 消去ルーチンが完了してか
ら , ほかの書込み / 消去ルーチンを実行するようにしてください。
• フラッシュメモリへ書込み / 消去中に , 書込み / 消去中のモード ( メインクロック
モード , PLL クロックモード ) から状態遷移させることは禁止です。書込み / 消去終
了後に状態遷移させるようにしてください。
514
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 23 章
シリアル書込み接続例
横河デジタルコンピュータ株式会社製 AF220/
AF210/AF120/AF110 フラッシュマイコンプログラ
マを用いた場合の , シリアル書込み接続例について
説明します。
23.1 基本構成
23.2 発振クロック周波数とシリアルクロック入力周波数に
ついて
23.3 フラッシュマイコンプログラマのシステム構成
23.4 シリアル書込み接続例
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
515
第 23 章 シリアル書込み接続例
23.1 基本構成
23.1
MB90335 シリーズ
基本構成
MB90F337 ではフラッシュ ROM のシリアルオンボード書込み ( 富士通標準 ) をサ
ポートしています。その仕様について以下に解説します。
■ シリアルオンボード書込み基本構成
富士通標準シリアルオンボード書込みには , 横河ディジタルコンピュータ株式会社製
フラッシュマイコンプログラマを使用します。
図 23.1-1 に , シリアル書込み接続例の基本構成を示します。
図 23.1-1 シリアル書込み接続例の基本構成
ホストインタフェースケーブル(AZ201)
汎用共通ケーブル(AZ210)
RS232C
フラッシュマイ
コンプログラム CLK 同期シリアル
+
メモリカード
MB90F337
ユーザシステム
スタンドアロンで動作可能
<注意事項>
フラッシュマイコンプログラマ (AF220/AF210/AF120/AF110) の機能 , 操作方法および接
続用汎用共通ケーブル (AZ210), コネクタにつきましては , 横河ディジタルコンピュータ
株式会社殿にお問い合わせください。
516
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 23 章 シリアル書込み接続例
23.1 基本構成
MB90335 シリーズ
■ 富士通標準シリアルオンボード書込みに使用する端子
表 23.1-1 に, 富士通標準シリアルオンボード書込みに使用する端子の機能を示します。
表 23.1-1 使用する端子の機能
端子
機能
補足説明
MD2=1, MD1=1, MD0=0 に設定することで , シリアル書込みモードになりま
す。
MD2, MD1, MD0 モード端子
X0, X1
P60, P61
発振用端子
シリアル書込みモード時に , CPU 内部動作クロックは PLL クロック 1 逓倍と
なりますので , 内部動作クロック周波数は , 発振クロック周波数と同様にな
ります。シリアル書込みを行う場合 , 高速発振入力端子に入力可能な周波数
は 6 MHz 固定となります。
書込みプログラム起動端子
P60 に "L" レベル , P61 に "H" レベルを入力してください。
RST
リセット
SIN0
シリアルデータ入力
SOT0
シリアルデータ出力
SCK0
シリアルクロック入力
-
UART0 を CLK 同期モードとして使用します。
VCC
電源電圧供給
書込み電圧 (VCC=3.13 V ∼ 3.6 V)
VSS
GND
フラッシュマイコンプログラマの GND と共通にします。
図 23.1-2 端子制御回路
AF220/AF210/AF120/AF110
書込み制御端子
MB90F337
書込み制御端子
AF220/AF210/AF120/AF110
/TICS端子
ユーザ
<注意事項>
•
P60, P61, SIN0, SOT0, SCK0 端子をユーザシステムでも使用する場合には , 図 23.1-2
に示す制御回路が必要となります。
•
フラッシュマイコンプログラマの /TICS 信号により , シリアル書込み中はユーザ回路
を切り離すことができます。「23.4 シリアル書込み接続例」をご参照ください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
517
第 23 章 シリアル書込み接続例
23.2 発振クロック周波数とシリアルクロック入力周波数につ
23.2
MB90335 シリーズ
発振クロック周波数とシリアルクロック入力周波数に
ついて
MB90F337 の入力可能なシリアルクロック周波数は , 以下の計算式により求まりま
す。したがって , 使用する発振クロック周波数に対応したシリアルクロック入力周
波数を , フラッシュマイコンプログラマの設定により , 変更してください。
■ 発振クロック周波数とシリアルクロック入力周波数
入力可能なシリアルクロック周波数は以下の計算式により求まります。
入力可能なシリアルクロック周波数 = 0.125 ×発振クロック周波数
表 23.2-1 に , 入力可能なシリアルクロック周波数を示します。
表 23.2-1 入力可能なシリアルクロック周波数
発振クロック
周波数
6 MHz 時
518
マイコンの入力可能な最大 AF220/AF210/AF120/AF110 の設定 AF200 の設定可能な最大
シリアルクロック周波数 可能な最大シリアルクロック周波数 シリアルクロック周波数
750 kHz
500 kHz
FUJITSU MICROELECTRONICS LIMITED
500 kHz
CM44-10137-6
MB90335 シリーズ
23.3
第 23 章 シリアル書込み接続例
23.3 フラッシュマイコンプログラマのシステム構成
フラッシュマイコンプログラマのシステム構成
フラッシュマイコンプログラマのシステム構成を示します。
■ フラッシュマイコンプログラマシステム
表 23.3-1 フラッシュマイコンプログラマのシステム構成
型 格
機 能
AF220/AC4P
イーサネットインタフェース内蔵モデル
/100 V ∼ 220 V 電源アダプタ
AF210/AC4P
スタンダードモデル
/100 V ∼ 220 V 電源アダプタ
AF120/AC4P
単キー イーサネットインタフェース内蔵モデル
/100 V ∼ 220 V 電源アダプタ
AF110/AC4P
単キーモデル
/100 V ∼ 220 V 電源アダプタ
本体
AZ221
ライタ用 PC/AT 用 RS232C ケーブル
AZ210
標準ターゲットプローブ (a) 長さ : 1m
FF201
富士通 F2MC-16LX フラッシュマイコン用コントロールモジュール
AZ290
リモートコントローラ
/P4
4M バイト PC Card(Option) フラッシュメモリ容量 ∼ 512K バイト対応
*: 問い合せ先 : 横河ディジタルコンピュータ株式会社 電話 : 042-333-6224
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
519
第 23 章 シリアル書込み接続例
23.4 シリアル書込み接続例
23.4
MB90335 シリーズ
シリアル書込み接続例
以下に , シリアル書込み接続例を示します。
■ シリアル書込み接続例
シリアル書込み接続例には , 以下の 2 つがあります。
• シングルチップモード時の接続例 ( ユーザ電源使用時 )
• フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 )
520
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 23 章 シリアル書込み接続例
23.4 シリアル書込み接続例
MB90335 シリーズ
シングルチップモード時の接続例
( ユーザ電源使用時 )
23.4.1
ユーザシステムにて , シングルチップモードに設定されているモード端子 MD2,
MD0 には , AF220/AF210/AF120/AF110 の TAUX3, TMODE より MD2=1, MD0=0 が
入力され , シリアル書込みモードになります。
( シリアル書込みモード : MD2, MD1, MD0=110)
■ シングルチップモード時の接続例 ( ユーザ電源使用時 )
図 23.4-1 シングルチップモード時 シリアル書込み接続例 ( ユーザ電源使用時 )
AF220/AF210/AF120/AF110
フラッシュマイコン
プログラマ
TAUX3
ユーザシステム
コネクタ
DX10-28S
(19)
MB90F337
MD2
MD1
TMODE
(12)
6MHz
MD0
X0
X1
TAUX
/TICS
(23)
P60
(10)
ユーザ
/TRES
RST
(5)
P61
ユーザ
TTXD
(13)
SIN0
TRXD
TCK
(27)
(6)
SOT0
TVcc
(2)
GND
(7,8,
14,15,
21,22,
SCK0
Vcc
ユーザ電源
14ピン
3,4,9,11,16,17,18,
20,24,25,26ピンは
OPEN
DX10-28S:ライトアングルタイプ
CM44-10137-6
Vss
1ピン
DX10-28S
28ピン
15ピン
コネクタ(ヒロセ電機製)のピン配列
FUJITSU MICROELECTRONICS LIMITED
521
第 23 章 シリアル書込み接続例
23.4 シリアル書込み接続例
MB90335 シリーズ
<注意事項>
522
•
SIN0, SOT0, SCK0端子をユーザシステムでも使用する場合には, P60と同様, 図 23.12 に示す制御回路が必要となります ( フラッシュマイコンプログラマの /TICS 信号によ
り , シリアル書込み中はユーザ回路を切り離すことができます )。
•
AF220/AF210/AF120/AF110との接続は, ユーザ電源がOFFの状態で行ってください。
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
第 23 章 シリアル書込み接続例
23.4 シリアル書込み接続例
MB90335 シリーズ
23.4.2
フラッシュマイコンプログラマとの最小限の接続例
( ユーザ電源使用時 )
シリアル書込み時に , 各端子 (MD2, MD0, P60) を図 23.4-2 に示すように設定した場
合は , MD2, MD0, P60 とフラッシュマイコンプログラマとの接続は必要ありません。
■ フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 )
図 23.4-2 フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 )
AF220/AF210/AF120/AF110
フラッシュマイコン
プログラマ
ユーザシステム
MB90F337
シリアル書換え1
MD2
シリアル書換え1
MD1
MD0
シリアル書換え0
X0
6MHz
X1
P60
シリアル書換え0
ユーザ回路
P61
シリアル書換え1
ユーザ回路
コネクタ
DX10-28S
/TRES
TTXD
TRXD
(5)
RST
(13)
SIN0
SOT0
SCK0
TCK
TVcc
(27)
(6)
(2)
GND
(7,8,
14,15,
21,22,
Vcc
ユーザ電源
Vss
14ピン
3,4,9,10,11,12,16,17,
18,19,20,23,24,25,26
ピンはOPEN
DX10-28S:ライトアングルタイプ
CM44-10137-6
1ピン
DX10-28S
28ピン
15ピン
コネクタ(ヒロセ電機製)のピン配列
FUJITSU MICROELECTRONICS LIMITED
523
第 23 章 シリアル書込み接続例
23.4 シリアル書込み接続例
MB90335 シリーズ
<注意事項>
524
•
SIN0, SOT0, SCK0 端子をユーザシステムでも使用する場合には , 図 23.1-2 に示す制
御回路が必要となります ( フラッシュマイコンプログラマの /TICS 信号により , シリア
ル書込み中はユーザ回路を切り離すことができます )。
•
AF220/AF210/AF120/AF110との接続は, ユーザ電源がOFFの状態で行ってください。
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
付録
メモリマップおよび F2MC-16LX に使用している命
令について , 説明します。
付録 A メモリマップ
付録 B 命令
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
525
付録
MB90335 シリーズ
付録 A
メモリマップ
メモリ空間は , 3 つのモードに分かれます。
■ メモリ空間
図 A-1 MB90335 シリーズのメモリマップ
シングルチップモード (ROM ミラー機能あり )
MB90F337
MB90V330A
FFFFFFH
ROM(FFバンク)
FF0000H
00FFFFH
008000H
007FFFH
007900H
FFFFFFH
ROM(FFバンク)
FF0000H
ROM
(FFバンクのイメージ)
周辺領域
00FFFFH
008000H
007FFFH
007900H
MB90337
FFFFFFH
ROM(FFバンク)
FF0000H
ROM
(FFバンクのイメージ)
周辺領域
00FFFFH
008000H
007FFFH
007900H
ROM
(FFバンクのイメージ)
周辺領域
007100H
RAM領域
(28Kバイト)
000100H
レジスタ
0000FBH
001100H
000100H
レジスタ
0000FBH
周辺領域
000000H
RAM領域
(4Kバイト)
001100H
000100H
レジスタ
0000FBH
周辺領域
000000H
RAM領域
(4Kバイト)
周辺領域
000000H
<注意事項>
• ROM ミラー機能レジスタの設定を行った場合 , 00 バンクの上位側 ("008000H ∼ 00FFFFH") に
FF バンクの上位側 ("FF8000H ∼ FFFFFFH") のデータがミラーイメージで見えるようになりま
•
す。
ROM ミラー機能の設定は , 「20 章 ROM ミラー機能選択モジュール」を参照してください。
<参考>
•
•
ROM ミラー機能は , C コンパイラのスモールモデルを使用するためのものです。
FF バンクの下位 16 ビットアドレスは , 00 バンクの下位 16 ビットアドレスと同じになります。
ただし , FF バンクの ROM 領域は 48 K バイトを超えますので , 00 バンクには , ROM 領域の全
データをミラーイメージで見せることはできません。
• C コンパイラのスモールモデルをご使用の場合は , データテーブルを "FF8000H ∼ FFFFFFH" に
格納しておくことで , "008000H ∼ 00FFFFH" にミラーイメージでデータテーブルを見せること
ができます。したがって , ポインタで far 指定を宣言することなく , ROM 領域内のデータテーブ
ルを参照することができます。
526
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
付録
MB90335 シリーズ
■ I/O マップ
表 A-1 に , 各周辺機能のレジスタに割り当てられるアドレスを示します。
表 A-1 I/O マップ (1 / 5)
アドレス
レジスタ
略称
アクセス
リソース
初期値
000000H
ポート 0 データレジスタ
PDR0
R/W
ポート 0
XXXXXXXXB
000001H
ポート 1 データレジスタ
PDR1
R/W
ポート 1
XXXXXXXXB
ポート 2 データレジスタ
PDR2
R/W
ポート 2
XXXXXXXXB
000002H
000003H
使用禁止
000004H
ポート 4 データレジスタ
PDR4
R/W
ポート 4
XXXXXXXXB
000005H
ポート 5 データレジスタ
PDR5
R/W
ポート 5
---XXXXXB
000006H
ポート 6 データレジスタ
PDR6
R/W
ポート 6
XXXXXXXXB
000007H ∼
00000FH
使用禁止
000010H
ポート 0 方向レジスタ
DDR0
R/W
ポート 0
00000000B
000011H
ポート 1 方向レジスタ
DDR1
R/W
ポート 1
00000000B
ポート 2 方向レジスタ
DDR2
R/W
ポート 2
00000000B
000012H
000013H
使用禁止
000014H
ポート 4 方向レジスタ
DDR4
R/W
ポート 4
00000000B
000015H
ポート 5 方向レジスタ
DDR5
R/W
ポート 5
---00000B
000016H
ポート 6 方向レジスタ
DDR6
R/W
ポート 6
00000000B
000017H ∼
00001AH
使用禁止
00001BH
ポート 4 出力端子レジスタ
ODR4
R/W
ポート 4(OD 制御 )
00000000B
00001CH
ポート 0 プルアップ抵抗レジスタ
RDR0
R/W
ポート 0(PULLUP)
00000000B
00001DH
ポート 1 プルアップ抵抗レジスタ
RDR1
R/W
ポート 1(PULLUP)
00000000B
00001EH
使用禁止
00001FH
000020H
000021H
000022H
シリアルモードレジスタ 0
SMR0
R/W
シリアル制御レジスタ 0
SCR0
R/W, W
シリアル入力データレジスタ 0
SIDR0
R
シリアル出力データレジスタ 0
SODR0
W
00100000B
00000100B
UART0
XXXXXXXXB
000023H
シリアルステータスレジスタ 0
SSR0
R/W, R
000024H
UART プリスケーラリロードレジスタ 0
UTRLR0
R/W
000025H
UART プリスケーラ制御レジスタ 0
UTCR0
R/W
000026H
シリアルモードレジスタ 1
SMR1
R/W
00100000B
シリアル制御レジスタ 1
SCR1
R/W, W
00000100B
000027H
000028H
シリアル入力データレジスタ 1
SIDR1
R
シリアル出力データレジスタ 1
SODR1
W
000029H
シリアルステータスレジスタ 1
SSR1
R/W, R
00002AH
UART プリスケーラリロードレジスタ 1
UTRLR1
R/W
00002BH
UART プリスケーラ制御レジスタ 1
UTCR1
R/W
00002CH ∼
00003BH
00001000B
通信プリスケーラ
(UART0)
UART1
00000000B
0000-000B
XXXXXXXXB
00001000B
通信プリスケーラ
(UART1)
00000000B
DTP/
外部割込み
0000-000B
使用禁止
00003CH
DTP/ 割込み許可レジスタ
ENIR
R/W
00000000B
00003DH
DTP/ 割込み要因レジスタ
EIRR
R/W
00000000B
00003EH
要求レベル設定レジスタ下位
00003FH
要求レベル設定レジスタ上位
000040H ∼
000045H
CM44-10137-6
ELVR
R/W
R/W
00000000B
00000000B
使用禁止
FUJITSU MICROELECTRONICS LIMITED
527
付録
MB90335 シリーズ
表 A-1 I/O マップ (2 / 5)
アドレス
レジスタ
略称
アクセス
リソース
初期値
000046H
PPG0 動作モード制御レジスタ
PPGC0
R/W
PPG ch.0
0X000XX1B
000047H
PPG1 動作モード制御レジスタ
PPGC1
R/W
PPG ch.1
0X000001B
000048H
PPG2 動作モード制御レジスタ
PPGC2
R/W
PPG ch.2
0X000XX1B
000049H
PPG3 動作モード制御レジスタ
PPGC3
R/W
PPG ch.3
0X000001B
R/W
PPG ch.0/ch.1
000000XXB
R/W
PPG ch.2/ch.3
000000XXB
00004AH
使用禁止
00004BH
00004CH
PPG0, PPG1 出力制御レジスタ
00004DH
PPG01
使用禁止
00004EH
PPG2, PPG3 出力制御レジスタ
00004FH ∼
000057H
PPG23
使用禁止
000058H
シリアルモードコントロール
ステータスレジスタ
SMCS
R/W
00005AH
シリアルデータレジスタ
SDR
R/W
00005BH
通信プリスケーラ制御レジスタ
SDCR
R/W
PWC コントロールステータスレジスタ
PWCSR
R/W, R
PWC データバッファレジスタ
PWCR
R/W
DIVR
R/W
000059H
00005CH
00005DH
00005EH
00005FH
000060H
PWC 分周比制御レジスタ
000061H
000063H
000064H
000065H
タイマ制御ステータスレジスタ 0
TMCSR0
R/W
16 ビットタイマレジスタ 0 下位
TMR0
R
16 ビットリロードレジスタ 0 下位
TMRLR0
W
00000000B
0000000XB
16 ビット
PWC タイマ
00000000B
00000000B
------00B
00000000B
XXXX0000B
16 ビット
リロード
タイマ ch.0
XXXXXXXXB
XXXXXXXXB
16 ビットタイマレジスタ 0 上位
TMR0
R
XXXXXXXXB
TMRLR0
W
XXXXXXXXB
使用禁止
00006FH
ROM ミラー機能選択レジスタ
2
ROMM
R/W, W
000070H
I C バスステータスレジスタ 0
IBSR0
R
000071H
I2C バスコントロールレジスタ 0
IBCR0
R/W
000074H
0XXX0000B
通信プリスケーラ
16 ビットリロードレジスタ 0 上位
000066H ∼
00006EH
000073H
00000010B
XXXXXXXXB
使用禁止
000062H
000072H
XXXX0000B
拡張 I/O シリアル
I2C
バスクロックコントロールレジスタ 0
I2C バスアドレスレジスタ 0
2
I C バスデータレジスタ 0
000075H ∼
00009AH
------11B
ROM ミラー機能
00000000B
I2C バス
インタフェース ch.0
00000000B
XX0XXXXXB
ICCR0
R/W
IADR0
R/W
XXXXXXXXB
IDAR0
R/W
XXXXXXXXB
R/W
00000000B
使用禁止
00009BH
DMA ディスクリプタチャネル指定レジスタ
00009CH
DCSR
μDMAC
00000000B
DMA ステータスレジスタ下位
DSRL
R/W
00009DH
DMA ステータスレジスタ上位
DSRH
R/W
00009EH
プログラムアドレス検出
制御ステータスレジスタ
PACSR
R/W
アドレス一致検出
00000000B
00009FH
遅延割込み要因発生 / 解除レジスタ
DIRR
R/W
遅延割込み
-------0B
0000A0H
低消費電力モード制御レジスタ
LPMCR
R/W, W
低消費電力
00011000B
0000A1H
クロック選択レジスタ
CKSCR
R/W, R
クロック
11111100B
R/W
μDMAC
00000000B
0000A2H,
0000A3H
0000A4H
528
00000000B
使用禁止
DMA ストップステータスレジスタ
DSSR
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
付録
MB90335 シリーズ
表 A-1 I/O マップ (3 / 5)
アドレス
レジスタ
0000A5H ∼
0000A7H
略称
アクセス
リソース
初期値
使用禁止
0000A8H
ウォッチドッグタイマ制御レジスタ
WDTC
R, W
ウォッチ
ドッグタイマ
X-XXX111B
0000A9H
タイムベースタイマ制御レジスタ
TBTC
R/W, W
タイムベース
タイマ
1--00100B
0000AAH
使用禁止
0000ABH
0000ACH
DMA 許可レジスタ下位
DERL
R/W
0000ADH
DMA 許可レジスタ上位
DERH
R/W
0000AEH
フラッシュメモリコントロールステータスレジスタ
0000AFH
FMCS
μDMAC
R/W,R,W フラッシュメモリ I/F
00000000B
00000000B
000X0000B
使用禁止
0000B0H
割込み制御レジスタ 00
ICR00
R/W
00000111B
0000B1H
割込み制御レジスタ 01
ICR01
R/W
00000111B
0000B2H
割込み制御レジスタ 02
ICR02
R/W
00000111B
0000B3H
割込み制御レジスタ 03
ICR03
R/W
00000111B
0000B4H
割込み制御レジスタ 04
ICR04
R/W
00000111B
0000B5H
割込み制御レジスタ 05
ICR05
R/W
00000111B
0000B6H
割込み制御レジスタ 06
ICR06
R/W
00000111B
0000B7H
00000111B
割込み制御レジスタ 07
ICR07
R/W
0000B8H
割込み制御レジスタ 08
ICR08
R/W
0000B9H
割込み制御レジスタ 09
ICR09
R/W
00000111B
0000BAH
割込み制御レジスタ 10
ICR10
R/W
00000111B
0000BBH
割込み制御レジスタ 11
ICR11
R/W
00000111B
割込みコントローラ
00000111B
0000BCH
割込み制御レジスタ 12
ICR12
R/W
00000111B
0000BDH
割込み制御レジスタ 13
ICR13
R/W
00000111B
0000BEH
割込み制御レジスタ 14
ICR14
R/W
00000111B
0000BFH
割込み制御レジスタ 15
ICR15
R/W
00000111B
0000C0H
ホストコントロールレジスタ 0
HCNT0
R/W
00000000B
0000C1H
ホストコントロールレジスタ 1
HCNT1
R/W
00000001B
0000C2H
ホスト割込みレジスタ
HIRQ
R/W
00000000B
0000C3H
ホストエラーステータスレジスタ
HERR
R/W
00000011B
0000C4H
ホスト状態ステータスレジスタ
HSTATE
R/W, R
XX010010B
0000C5H
SOF 割込み FRAME 比較レジスタ
HFCOMP
R/W
00000000B
0000C6H
0000C7H
00000000B
リトライタイマ設定レジスタ
HRTIMER
R/W
USB ホスト
0000C8H
0000C9H
0000CAH
0000CBH
0000CCH
0000CDH
0000CEH
ホストアドレスレジスタ
HADR
R/W
EOF 設定レジスタ
HEOF
R/W
FRAME 設定レジスタ
HFRAME
R/W
ホストトークンエンドポイントレジスタ
HTOKEN
R/W
0000CFH
0000D0H
0000D1H
CM44-10137-6
00000000B
XXXXXX00B
X0000000B
00000000B
XX000000B
00000000B
XXXXX000B
00000000B
使用禁止
UDC 制御レジスタ
UDCC
R/W
USB ファンクション
FUJITSU MICROELECTRONICS LIMITED
10100000B
00000000B
529
付録
MB90335 シリーズ
表 A-1 I/O マップ (4 / 5)
アドレス
0000D2H
0000D3H
0000D4H
0000D5H
0000D6H
0000D7H
0000D8H
0000D9H
0000DAH
0000DBH
0000DCH
0000DDH
0000DEH
0000DFH
0000E0H
0000E1H
0000E2H
0000E3H
0000E4H
0000E5H
0000E6H
0000E7H
0000E8H
0000E9H
0000EAH
0000EBH
0000ECH
0000EDH
0000EEH
0000EFH
0000F0H
0000F1H
0000F2H
0000F3H
0000F4H
0000F5H
0000F6H
0000F7H
0000F8H
0000F9H
0000FAH
0000FBH
レジスタ
略称
EP0 制御レジスタ
EP0C
EP1 制御レジスタ
EP1C
EP2 制御レジスタ
EP2C
EP3 制御レジスタ
EP3C
EP4 制御レジスタ
EP4C
EP5 制御レジスタ
EP5C
リソース
初期値
R/W
01000000B
R/W
XXXX0000B
R/W
00000000B
R/W
01100001B
R/W
01000000B
R/W
01100000B
R/W
01000000B
R/W
01100000B
R/W
01000000B
R/W
01100000B
R/W
01000000B
R/W
01100000B
R
00000000B
タイムスタンプレジスタ
TMSP
R
XXXXX000B
UDC ステータスレジスタ
UDCS
R/W
XX000000B
UDC 割込み許可レジスタ
UDCIE
R/W, R
00000000B
EP0I ステータスレジスタ
EP0IS
R/W
XXXXXXXXB
EP0O ステータスレジスタ
EP0OS
EP1 ステータスレジスタ
EP1S
EP2 ステータスレジスタ
EP2S
EP3 ステータスレジスタ
EP3S
EP4 ステータスレジスタ
EP4S
EP5 ステータスレジスタ
EP5S
EP0 データレジスタ
EP0DT
EP1 データレジスタ
EP1DT
EP2 データレジスタ
EP2DT
EP3 データレジスタ
EP3DT
EP4 データレジスタ
EP4DT
EP5 データレジスタ
EP5DT
0000FCH ∼
0000FFH
使用禁止
000100H ∼
#H
RAM 領域
530
アクセス
R/W
10XXX1XXB
R/W, R
0XXXXXXXB
R/W
100XX000B
R
XXXXXXXXB
R/W, R
USB ファンクション
1000000XB
R
0XXXXXXXB
R/W, R
10000000B
R
0XXXXXXXB
R/W, R
10000000B
R
0XXXXXXXB
R/W, R
10000000B
R
0XXXXXXXB
R/W, R
10000000B
R/W
XXXXXXXXB
R/W
XXXXXXXXB
R/W
XXXXXXXXB
R/W
XXXXXXXXB
R/W
XXXXXXXXB
R/W
XXXXXXXXB
R/W
XXXXXXXXB
R/W
XXXXXXXXB
R/W
XXXXXXXXB
R/W
XXXXXXXXB
R/W
XXXXXXXXB
R/W
XXXXXXXXB
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
付録
MB90335 シリーズ
表 A-1 I/O マップ (5 / 5)
アドレス
レジスタ
001FF0H
プログラムアドレス検出レジスタ ch.0 下位
001FF1H
プログラムアドレス検出レジスタ ch.0 中位
001FF2H
プログラムアドレス検出レジスタ ch.0 上位
R/W
001FF3H
プログラムアドレス検出レジスタ ch.1 下位
R/W
001FF4H
プログラムアドレス検出レジスタ ch.1 中位
001FF5H
プログラムアドレス検出レジスタ ch.1 上位
#H∼
0078FFH
略称
PADR0
PADR1
アクセス
初期値
R/W
XXXXXXXXB
R/W
XXXXXXXXB
アドレス一致検出
XXXXXXXXB
XXXXXXXXB
R/W
XXXXXXXXB
R/W
XXXXXXXXB
未使用領域
007900H
PPG リロードレジスタ下位 ch.0
PRLL0
007901H
R/W
PPG リロードレジスタ上位 ch.0
PRLH0
R/W
007902H
PPG リロードレジスタ下位 ch.1
PRLL1
R/W
007903H
PPG リロードレジスタ上位 ch.1
PRLH1
R/W
007904H
PPG リロードレジスタ下位 ch.2
PRLL2
R/W
007905H
PPG リロードレジスタ上位 ch.2
PRLH2
R/W
007906H
PPG リロードレジスタ下位 ch.3
PRLL3
R/W
007907H
PPG リロードレジスタ上位 ch.3
PRLH3
R/W
007908H ∼
00790BH
00790CH
リソース
PPG ch.0
PPG ch.1
PPG ch.2
PPG ch.3
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
使用禁止
フラッシュメモリ書込みコントロールレジスタ 0
FWR0
R/W
フラッシュメモリ
00000000B
00790DH
フラッシュメモリ書込みコントロールレジスタ 1
FWR1
R/W
フラッシュメモリ
00000000B
00790EH
セクタ変換設定レジスタ
SSR0
R/W
フラッシュ メモリ
00XXXXX0B
00790FH ∼
00791FH
使用禁止
007920H
DMA バッファアドレスポインタ 下位 8 ビット
DBAPL
R/W
XXXXXXXXB
007921H
DMA バッファアドレスポインタ 中位 8 ビット
DBAPM
R/W
XXXXXXXXB
007922H
DMA バッファアドレスポインタ 上位 8 ビット
DBAPH
R/W
XXXXXXXXB
007923H
DMA コントロールレジスタ
DMACS
R/W
007924H
DMA I/O レジスタアドレスポインタ下位 8 ビット
DIOAL
R/W
007925H
DMA I/O レジスタアドレスポインタ上位 8 ビット
DIOAH
R/W
XXXXXXXXB
007926H
DMA データカウンタ下位 8 ビット
DDCTL
R/W
XXXXXXXXB
007927H
DMA データカウンタ上位 8 ビット
DDCTH
R/W
XXXXXXXXB
007928H ∼
007FFFH
μDMAC
XXXXXXXXB
XXXXXXXXB
使用禁止
・読出し / 書込みについての説明
R/W: リード・ライト可能
R: リードオンリ
W: ライトオンリ
・初期値についての説明
0: 初期値は "0" です。
1: 初期値は "1" です。
X: 初期値は不定です。
-: 未定義ビットです。初期値は不定です。
*: 初期値は "1" または "0" です。
<注意事項>
7900H ∼ 7FFFH に配置されているレジスタについては , I/O 系命令は使用できません。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
531
付録
MB90335 シリーズ
■ 割込み要因と割込みベクタ , 割込み制御レジスタ
表 A-2 に , 割込み要因と割込みベクタおよび割込み制御レジスタとの対応を示します。
表 A-2 割込み要因と割込みベクタおよび割込み制御レジスタとの対応
EI2OS
クリア
μDMAC
チャネル番号
リセット
×
INT9 命令
×
割込み要因
割込みベクタ
番号
アドレス
ICR
アドレス
×
#08
FFFFDCH
-
-
×
#09
FFFFD8H
-
-
-
-
ICR00
0000B0H
ICR01
0000B1H
ICR02
0000B2H
ICR03
0000B3H
ICR04
0000B4H
ICR05
0000B5H
ICR06
0000B6H
ICR07
0000B7H
ICR08
0000B8H
ICR09
0000B9H
ICR10
0000BAH
ICR11
0000BBH
ICR12
0000BCH
ICR13
0000BDH
ICR14
0000BEH
ICR15
0000BFH
×
×
#10
FFFFD4H
USB ファンクション 1
×
0, 1
#11
FFFFD0H
USB ファンクション 2
×
2∼6*
#12
FFFFCCH
USB ファンクション 3
×
×
#13
FFFFC8H
USB ファンクション 4
×
×
#14
FFFFC4H
USB ホスト 1
×
×
#15
FFFFC0H
USB ホスト 2
×
×
#16
FFFFBCH
I2C ch.0
×
×
#17
FFFFB8H
DTP/ 外部割込み ch.0/ch.1
○
×
#18
FFFFB4H
−
−
−
#19
FFFFB0H
DTP/ 外部割込み ch.2/ch.3
○
×
#20
FFFFACH
例外処理
割込み制御レジスタ
−
−
−
#21
FFFFA8H
DTP/ 外部割込み ch.4/ch.5
○
×
#22
FFFFA4H
PWC/ リロードタイマ ch.0
△
14
#23
FFFFA0H
DTP/ 外部割込み ch.6/ch.7
△
×
#24
FFFF9CH
−
−
−
#25
FFFF98H
−
−
−
#26
FFFF94H
−
−
−
#27
FFFF90H
−
−
−
#28
FFFF8CH
−
−
−
#29
FFFF88H
PPG ch.0/ch.1
×
×
#30
FFFF84H
−
−
−
#31
FFFF80H
PPG ch.2/ch.3
×
×
#32
FFFF7CH
−
−
−
#33
FFFF78H
−
−
−
#34
FFFF74H
−
−
−
#35
FFFF70H
−
−
−
#36
FFFF6CH
UART 送信完了 ch.0/ch.1
○
13
#37
FFFF68H
拡張シリアル I/O
×
9
#38
FFFF64H
UART 受信完了 ch.0/ch.1
◎
12
#39
FFFF60H
タイムベースタイマ
×
×
#40
FFFF5CH
フラッシュ書込み / 消去
×
×
#41
FFFF58H
遅延割込み発生モジュール
×
×
#42
FFFF54H
◎ : 使用可能。EI2OS 停止機能付 ( 割込みクリア信号で , 割込み要求フラグはクリアされます。ストップ要求あり )
○ : 使用可能。( 割込みクリア信号で , 割込み要求フラグはクリアされます。)
△ : ICR を共有する割込み要因を使用しない場合に使用可能
× : 使用不可能
* : ch.2, ch.3 は USB ホスト動作時でも使用できます。
532
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
付録
MB90335 シリーズ
<注意事項>
• 同一割込み制御レジスタ (ICR) に 2 つの割込み要因がある場合は EI2OS の使用を許可
した場合 , どちらかの割込み要因を検出すると EI2OS が起動されます。EI2OS 起動中
は起動要因以外の割込みはマスクされますので , EI2OS 使用時は , どちらかの割込み要
求をマスクして使用されることを推奨します。
• 同一割込み制御レジスタ (ICR) に 2 つの割込み要因があるリソースは , 割込みフラグが
EI2OS 割込みクリア信号でクリアされます。
• 同一割込み番号に 2 つの割込み要因があった場合は , リソースは両方の割込み要求フラ
グが μDMAC 割込みクリア信号でクリアされます。したがって , 2 つの要因のどちらか
1 つを DMAC 機能に使用すると , もう 1 つの割込み機能は使用できません。該当リソー
スの割込み要求許可ビットを "0" にして , ソフトウェアポーリング処理で対処してくだ
さい。
■ USB 割込みの種類と機能
USB 割込み要因
詳細内容
USB ファンクション 1
End Point0-IN EndPoint0-OUT
USB ファンクション 2
End Point1-End Point5 *
USB ファンクション 3
SUSP SOF BRST WKUP CONF
USB ファンクション 4
SPK
USB ホスト 1
DIRQ CNNIRQ URIEQ RWKIRQ
USB ホスト 2
SOFIRQ CMPIRQ
* : End Point 1, 2 は , USB ホスト動作時でも使用できます。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
533
付録
付録 B
MB90335 シリーズ
命令
F2MC-16LX に使用している命令について説明します。
B.1 命令の種類
B.2 アドレッシング
B.3 直接アドレッシング
B.4 間接アドレッシング
B.5 実行サイクル数
B.6 実効アドレスフィールド
B.7 命令一覧表の読み方
B.8 F2MC-16LX 命令一覧表
B.9 命令マップ
管理番号 : CM44-00202-3
534
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
MB90335 シリーズ
B.1
付録
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 命令
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
535
付録
B.2 アドレッシング
B.2
MB90335 シリーズ
アドレッシング
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)
536
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
付録
B.2 アドレッシング
MB90335 シリーズ
■ 実効アドレスフィールド
実効アドレスフィールドで指定される , アドレス形式を表 B.2-1 に示します。
表 B.2-1 実効アドレスフィールド
コード
表記
アドレス形式
00
R0
RW0
RL0
01
R1
RW1
(RL0)
02
R2
RW2
RL1
03
R3
RW3
(RL1)
04
R4
RW4
RL2
05
R5
RW5
(RL2)
06
R6
RW6
RL3
07
R7
RW7
(RL3)
08
@RW0
09
@RW1
レジスタ直接
ea は左から順に
バイト
ワード
ロングワード
の型に対応する。
デフォルトバンク
なし
DTB
DTB
レジスタ間接
0A
@RW2
0B
@RW3
SPB
0C
@RW0+
DTB
0D
@RW1+
0E
@RW2+
0F
@RW3+
SPB
10
@RW0+disp8
DTB
11
@RW1+disp8
DTB
12
@RW2+disp8
ADB
13
@RW3+disp8
14
@RW4+disp8
15
@RW5+disp8
DTB
16
@RW6+disp8
ADB
17
@RW7+disp8
SPB
18
@RW0+disp16
DTB
19
@RW1+disp16
1A
@RW2+disp16
IB
@RW3+disp16
1C
@RW0+RW7
インデックス付レジスタ間接
DTB
1D
@RW1+RW7
インデックス付レジスタ間接
DTB
1E
@PC+disp16
16 ビットディスプレースメント付 PC 間接
PCB
1F
addr16
直接アドレス
DTB
CM44-10137-6
ポストインクリメント付
レジスタ間接
8 ビットディスプレースメント付
レジスタ間接
16 ビットディスプレースメント付
レジスタ間接
ADB
DTB
ADB
SPB
DTB
DTB
ADB
SPB
FUJITSU MICROELECTRONICS LIMITED
537
付録
B.3 直接アドレッシング
B.3
MB90335 シリーズ
直接アドレッシング
直接アドレッシングでは , オペランド値 , レジスタおよびアドレスを直接指定しま
す。
■ 直接アドレッシング
● 即値 (#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 レジスタ直接
汎用レジスタ
専用レジスタ
*:
538
バイト
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) は命令のオペランドには
記述されることなく指定されます。
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
付録
B.3 直接アドレッシング
MB90335 シリーズ
図 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 次の命令
実行後
CM44-10137-6
PC 3 B 2 0
PCB 4 F
4F3C20H
62
4F3C21H
20
4F3C22H
3B
FUJITSU MICROELECTRONICS LIMITED
JMP 3B20H
539
付録
B.3 直接アドレッシング
MB90335 シリーズ
● 物理直接分岐アドレス (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
( 注意事項 ) I: は , I/O 直接アドレスを示すアドレス規定子です。
540
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
付録
B.3 直接アドレッシング
MB90335 シリーズ
● 短縮直接アドレス (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
( 注意事項 ) S: は , 短縮直接アドレスを示すアドレス規定子です。
● 直接アドレス (addr16)
オペランドで , メモリアドレス下位 16 ビットを直接指定します。アドレスの bit23 ∼
bit16 はデータバンクレジスタ (DTB) で指定されます。直接アドレスのアドレッシング
に対しては , アクセス空間指定用のプリフィックス命令は無効です。図 B.3-7 に例を示
します。
図 B.3-7 直接アドレス (addr16) 例
MOVW A, 3B20H ( 直接アドレスで読出しを行い , A に格納する命令 )
実行前
実行後
CM44-10137-6
A 2020
A AABB
AABB
0123
DTB 5 5
メモリ空間
553B21H
01
553B20H
23
DTB 5 5
FUJITSU MICROELECTRONICS LIMITED
541
付録
B.3 直接アドレッシング
MB90335 シリーズ
● 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
( 注意事項 ) I: は , I/O 直接ビットアドレスを示すアドレス規定子です。
● 短縮直接ビットアドレス (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
( 注意事項 ) S: は , 短縮直接ビットアドレスを示すアドレス規定子です。
542
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
付録
B.3 直接アドレッシング
MB90335 シリーズ
● 直接ビットアドレス (addr16: bp)
64K バイト内の任意のビットに対し直接指定します。アドレスの bit23 ∼ bit16 はデー
タバンクレジスタ (DTB) で指定されます。ビットの位置は ": bp" で表され , 数字の大き
い方が最上位ビット , 小さい方が最下位ビットとなります。図 B.3-10 に例を示します。
図 B.3-10 直接ビットアドレス (addr16: bp) 例
SETB 2222H : 0 ( 直接ビットアドレス指定でセットビットを行う命令 )
メモリ空間
DTB 5 5
実行前
00
552222H
メモリ空間
DTB 5 5
実行後
01
552222H
● ベクタアドレス (#vct)
分岐先のアドレスは指定されたベクタの内容となります。ベクタ番号のデータ長には
4 ビットと 8 ビットの 2 種類があります。サブルーチンコール命令 , ソフトウェア割込
み命令に使用します。図 B.3-11 に例を示します。
図 B.3-11 ベクタアドレス (#vct) 例
CALLV #15 ( オペランドで指定した割込みベクタが示すアドレスへ分岐する命令 )
実行前
PC 0 0 0 0
PCB F F
実行後
FFC000H
EF
FFFFE0H
00
FFFFE1H
D0
CALLV #15
PC D 0 0 0
PCB F F
CM44-10137-6
メモリ空間
FUJITSU MICROELECTRONICS LIMITED
543
付録
B.3 直接アドレッシング
MB90335 シリーズ
表 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 を参照
してください )
544
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
付録
B.4 間接アドレッシング
MB90335 シリーズ
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 に例を示します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
545
付録
B.4 間接アドレッシング
MB90335 シリーズ
図 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
実行後
78D31FH
EE
78D320H
FF
A 2534 FFEE
RW1 D 3 0 F
546
DTB 7 8
メモリ空間
DTB 7 8
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
付録
B.4 間接アドレッシング
MB90335 シリーズ
● ディスプレースメント付ロングレジスタ間接 (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
CM44-10137-6
+4
C54556H
73
C54557H
9E
C54558H
20
C54559H
00
MOVW
A, @PC+20H
C5455AH
・
・
・
+20H
C5457AH
EE
C5457BH
FF
FUJITSU MICROELECTRONICS LIMITED
547
付録
B.4 間接アドレッシング
MB90335 シリーズ
● ベースインデックス付レジスタ間接 (@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 3C32H ( 無条件相対分岐を行う命令 )
実行前
PC 3 C 2 0
PCB 4 F
メモリ空間
4F3C32H 次の命令
実行後
548
PC
3 C 32
PCB 4 F
4F3C21H
10
4F3C20H
60
FUJITSU MICROELECTRONICS LIMITED
BRA 3C32H
CM44-10137-6
付録
B.4 間接アドレッシング
MB90335 シリーズ
● レジスタリスト (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
実行前
CM44-10137-6
SP
34FDH
34FEH
実行後
FUJITSU MICROELECTRONICS LIMITED
549
付録
B.4 間接アドレッシング
MB90335 シリーズ
● アキュムレータ間接 (@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
550
61
JMP @A
PCB 4 F
3B20
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
付録
B.4 間接アドレッシング
MB90335 シリーズ
● 間接指定分岐アドレス (@ear)
ear で示される番地のワードデータが分岐先アドレスとなります。図 B.4-12 に例を示し
ます。
図 B.4-12 間接指定分岐アドレス (@ear) 例
JMP @@RW0 ( レジスタ間接の間接で無条件分岐を行う命令 )
実行前
PC 3 C 2 0
PCB 4 F
RW0 7 F 4 8
DTB 2 1
メモリ空間
217F48H
20
217F49H
3B
4F3B20H 次の命令
実行後
PC 3 B 2 0
PCB 4 F
RW0 7 F 4 8
DTB 2 1
4F3C20H
73
4F3C21H
08
JMP @@RW0
● 間接指定分岐アドレス (@eam)
eam で示される番地のワードデータが分岐先アドレスとなります。図 B.4-13 に例を示
します。
図 B.4-13 間接指定分岐アドレス (@eam) 例
JMP @RW0 ( レジスタ間接で無条件分岐を行う命令 )
実行前
PC 3 C 2 0
PCB 4 F
RW0 3 B 2 0
実行後
PC 3 B 2 0
メモリ空間
4F3B20H 次の命令
PCB 4 F
4F3C20H
73
4F3C21H
00
JMP @RW0
RW0 3 B 2 0
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
551
付録
B.5 実行サイクル数
B.5
MB90335 シリーズ
実行サイクル数
命令の実行に要するサイクル数 ( 実行サイクル数 ) は , 各命令の「サイクル数」の値
と , 条件で決まる「補正値」の値およびプログラムフェッチの「サイクル数」の値
を加算することで得られます。
■ 実行サイクル数
内蔵 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 命令一覧表の読み方」を参照
してください。
552
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
付録
B.5 実行サイクル数
MB90335 シリーズ
表 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
−
( 注意事項 ) ・ 外部データバスを使用した場合は , レディ入力および自動レディでウェイト
したサイクル数も加算する必要があります。
・ 実際にはすべてのプログラムフェッチで , 命令実行が遅くなるわけではない
ので , この補正値は最悪ケースを算出する場合に使用してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
553
付録
B.6 実効アドレスフィールド
B.6
MB90335 シリーズ
実効アドレスフィールド
表 B.6-1 に実効アドレスフィールドを示します。
■ 実効アドレスフィールド
表 B.6-1 実効アドレスフィールド (1 / 2)
コード
554
表記
アドレス形式
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
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
付録
B.6 実効アドレスフィールド
MB90335 シリーズ
表 B.6-1 実効アドレスフィールド (1 / 2)
コード
*:
表記
18
@RW0+disp16
19
@RW1+disp16
1A
@RW2+disp16
IB
@RW3+disp16
1C
アドレス形式
アドレス拡張部の
バイト数 *
16 ビットディスプレースメント付
レジスタ間接
2
@RW0+RW7
インデックス付レジスタ間接
0
1D
@RW1+RW7
インデックス付レジスタ間接
0
1E
@PC+disp16
16 ビットディスプレースメント付 PC 間接
2
1F
addr16
直接アドレス
2
アドレス拡張部のバイト数は , 「B.8 F2MC-16LX 命令一覧表」の # ( バイト数 ) の "+" に当てはまります。
"#" の意味については「B.7 命令一覧表の読み方」を参照してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
555
付録
B.7 命令一覧表の読み方
B.7
MB90335 シリーズ
命令一覧表の読み方
「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
556
リードモディファイライト命令 (1 命令でメモリなどからデータを読
み出し , メモリへ書き込む ) であるかどうか示します。
*: リードモディファイライト命令である。
− : リードモディファイライト命令ではない。
( 注意事項 )
読み書きで意味の異なるアドレスには使用できません。
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
付録
B.7 命令一覧表の読み方
MB90335 シリーズ
表 B.7-2 命令一覧表の記号の説明 (1 / 2)
表記
意味
32 ビットアキュムレータ
命令により , 使用されるビット長が変わります。
バイト : AL の下位 8 ビット
ワード : AL の 16 ビット
ロング : AL: AH の 32 ビット
A
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)
CM44-10137-6
8 ビット即値データを符号拡張した 16 ビットデータ
FUJITSU MICROELECTRONICS LIMITED
557
付録
B.7 命令一覧表の読み方
MB90335 シリーズ
表 B.7-2 命令一覧表の記号の説明 (1 / 2)
表記
558
意味
disp8
8 ビットディスプレースメント
disp16
16 ビットディスプレースメント
bp
ビットオフセット値
vct4
ベクタ番号 (0 ∼ 15)
vct8
ベクタ番号 (0 ∼ 255)
()b
ビットアドレス
rel
PC 相対分岐指定
ear
実効アドレス指定 ( コード 00H ∼ 07H)
eam
実効アドレス指定 ( コード 08H ∼ 1FH)
rlst
レジスタ並び
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
付録
B.8 F2MC-16LX 命令一覧表
MB90335 シリーズ
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 を参照してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
559
付録
B.8 F2MC-16LX 命令一覧表
MB90335 シリーズ
表 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 を参照してください。
560
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
付録
B.8 F2MC-16LX 命令一覧表
MB90335 シリーズ
表 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 を参照してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
561
付録
B.8 F2MC-16LX 命令一覧表
MB90335 シリーズ
表 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 を参照してください。
562
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
付録
B.8 F2MC-16LX 命令一覧表
MB90335 シリーズ
表 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 を参照してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
563
付録
B.8 F2MC-16LX 命令一覧表
MB90335 シリーズ
表 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 を参照してください。
564
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
付録
B.8 F2MC-16LX 命令一覧表
MB90335 シリーズ
表 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 を参照してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
565
付録
B.8 F2MC-16LX 命令一覧表
MB90335 シリーズ
表 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)
566
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
付録
B.8 F2MC-16LX 命令一覧表
MB90335 シリーズ
表 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 を参照してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
567
付録
B.8 F2MC-16LX 命令一覧表
MB90335 シリーズ
表 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 を参照してください。
568
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
付録
B.8 F2MC-16LX 命令一覧表
MB90335 シリーズ
表 B.8-14 分岐命令 2 19 命令
ニーモニック
#
∼
RG
B
CBNE
A,#imm8,rel
3
*1
0
0
byte (A) ≠ imm8 で分岐
-
-
-
-
- * * * *
-
CWBNE
A,#imm16,rel
4
*1
0
0
word (A) ≠ imm16 で分岐
-
-
-
-
- * * * *
-
CBNE
ear,#imm8,rel
4
*2
1
0
byte (ear) ≠ imm8 で分岐
-
-
-
-
- * * * *
-
CBNE
eam,#imm8,rel
注 1)
4+
*3
0
(b)
byte (eam) ≠ imm8 で分岐
-
-
-
-
- * * * *
-
CWBNE
ear,#imm16,rel
5
*4
1
0
word (ear) ≠ imm16 で分岐
-
-
-
-
- * * * *
-
CWBNE
eam,#imm16,rel 注 1)
5+
*3
0
(c)
word (eam) ≠ imm16 で分岐
-
-
-
-
- * * * *
-
DBNZ
ear,rel
3
*5
2
byte (ear) = (ear) - 1, (ear) ≠ 0 で分岐
-
-
-
-
- * * * -
-
DBNZ
eam,rel
3+
*6
2
-
-
-
-
- * * * -
*
DWBNZ
ear,rel
3
*5
2
DWBNZ
eam,rel
3+
*6
2
0
オペレーション
2 × (b) byte (eam) = (eam) - 1, (eam) ≠ 0 で分岐
0
LH
AH
I S T N Z V C RMW
-
-
-
-
- * * * -
-
2 × (c) word (eam) = (eam) - 1, (eam) ≠ 0 で分岐
-
-
-
-
- * * * -
*
word (ear) = (ear) - 1, (ear) ≠ 0 で分岐
INT
#vct8
2
20
0
8 × (c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
INT
addr16
3
16
0
6 × (c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
INTP
addr24
4
17
0
6 × (c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
INT9
1
20
0
8 × (c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
RETI
1
*8
0
*7
割込みからの復帰
-
-
* * * * * * *
-
2
6
0
(c)
関数の入口で , 旧フレームポインタをスタッ
クに保存し , 新フレームポインタの設定 , お
よびローカルポインタの領域を確保する
-
-
-
-
-
-
-
-
-
-
1
5
0
(c)
関数の出口で , 旧フレームポインタをスタッ
クから復帰させる
-
-
-
-
-
-
-
-
-
-
注 2)
1
4
0
(c)
サブルーチンからの復帰
-
-
-
-
-
-
-
-
-
-
注 3)
1
6
0
(d)
サブルーチンからの復帰
-
-
-
-
-
-
-
-
-
-
LINK
#imm8
UNLINK
RET
RETP
*1:分岐が行われる場合 , 5 行われない場合 , 4
*2:分岐が行われる場合 , 13 行われない場合 , 12
*3:分岐が行われる場合 , 7+(a) 行われない場合 , 6+(a)
*4:分岐が行われる場合 , 8 行われない場合 , 7
*5:分岐が行われる場合 , 7 行われない場合 , 6
*6:分岐が行われる場合 , 8+(a) 行われない場合 , 7+(a) *7:次の割込み要求へ分岐する場合 , 3 × (b)+2 × (c) 今の割込みから復帰の場合 , 6 × (c)
*8:次の割込みへ分岐する場合 , 15 今の割込みから復帰する場合 , 17
注 1) CBNE / CWBNE 命令では , RWj+ のアドレッシングモードは , 使用しないでください。
注 2) スタックからの復帰 (word)
注 3) スタックからの復帰 (long)
( 注意事項 ) 表中の (a) ∼ (d) は , 表 B.5-1 および表 B.5-2 を参照してください。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
569
付録
B.8 F2MC-16LX 命令一覧表
MB90335 シリーズ
表 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 を参照してください。
570
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
付録
B.8 F2MC-16LX 命令一覧表
MB90335 シリーズ
表 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
*
-
-
-
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
571
付録
B.8 F2MC-16LX 命令一覧表
MB90335 シリーズ
表 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 を参照してください。
572
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
付録
B.9 命令マップ
MB90335 シリーズ
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 に示します。
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
573
付録
B.9 命令マップ
MB90335 シリーズ
図 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
CBNE @RW2+d8, #8, rel
70 + 0=70
F0 + 2=F2
命令
574
FUJITSU MICROELECTRONICS LIMITED
CM44-10137-6
CM44-10137-6
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
F0
ea 系命令
その 8
ea 系命令
その 7
rel
BNT
BT
BNV
BV
BP
BN
rel
rel
rel
rel
rel
BNC/BHS
rel
BC/BLO
BNZ/BNE
rel
FUJITSU MICROELECTRONICS LIMITED
+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
MOVW 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
MOVX
MOVX A, MOVN
CALL
BZ/BEQ
ea 系命令 MOV
A, Ri
Ri, A
Ri, #8
A, Ri @RWi+d8
A, #4
#vct4
rel
その 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
MB90335 シリーズ
付録
B.9 命令マップ
表 B.9-2 基本ページマップ
575
576
FUJITSU MICROELECTRONICS LIMITED
+F
+E
+D
+C
+B
+A
+9
+8
+7
+6
+5
+4
+3
+2
+1
+0
10
MOVB
io:bp, A
20
30
CLRB
io:bp
40
50
SETB
io:bp
60
70
BBC
io;bp, rel
80
90
BBS
io:bp, rel
A0
B0
MOVB
MOVB A, MOVB
MOVB
CLRB
CLRB
SETB
SETB
BBC
BBC
BBS
BBS
A, dir:bp addr16:bp
dir:bp, A addr16:bp,A
dir:bp addr16:bp
dir:bp addr16:bp dir:bp, rel addr16:bp,rel dir:bp, rel addr16:bp,rel
MOVB
A, io:bp
00
WBTS
io:bp
C0
D0
WBTC
io:bp
E0
SBBS
addr16:bp
F0
付録
B.9 命令マップ
MB90335 シリーズ
表 B.9-3 ビット操作系命令マップ ( 第 1 バイト =6CH)
CM44-10137-6
CM44-10137-6
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
+3
+4
+5
+6
+7
+8
+9
+A
+B
+C
+D
+E
+F
PCB, DTB
+1
+2
MOVSI
MOVSD
PCB, PCB
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
SPB
ADB
DTB
FILSWI
PCB
E0
F0
MB90335 シリーズ
付録
B.9 命令マップ
表 B.9-4 文字列操作系命令マップ ( 第 1 バイト =6EH)
FUJITSU MICROELECTRONICS LIMITED
577
578
40
FUJITSU MICROELECTRONICS LIMITED
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
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
DIV
MULW
MUL
70
A
A
A
80
90
A0
B0
C0
D0
E0
F0
付録
B.9 命令マップ
MB90335 シリーズ
表 B.9-5 2 バイト系命令マップ ( 第 1 バイト =6FH)
CM44-10137-6
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
@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
MB90335 シリーズ
付録
B.9 命令マップ
表 B.9-6 ea 系命令 その 1 ( 第 1 バイト =70H)
579
580
40
50
60
70
80
90
A0
B0
C0
D0
E0
F0
FUJITSU MICROELECTRONICS LIMITED
JMPP
+F @@RW3+
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
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
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
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
JMPP @
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
+D @@RW1+ @RW1+RW7 @@RW1+ @RW1+RW7
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
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
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
+7
CALLP @
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
+6
CALLP
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
+5
JMPP @
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
+4
JMPP
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
+3
+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,
@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
+2
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL0 @@RW1+d8
@RL0 @@RW1+d8
RL0 @RW1+d8
RL0 @RW1+d8
A, RL0 @RW1+d8
RL0, A @RW1+d8,A
R1, #8 @RW1+d8,#8
A, RW1 @RW1+d8
30
+1
20
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL0 @@RW0+d8
@RL0 @@RW0+d8
RL0 @RW0+d8
RL0 @RW0+d8
A, RL0 @RW0+d8
RL0, A @RW0+d8,A
R0, #8 @RW0+d8,#8
A, RW0 @RW0+d8
10
+0
00
付録
B.9 命令マップ
MB90335 シリーズ
表 B.9-7 ea 系命令 その 2 ( 第 1 バイト =71H)
CM44-10137-6
CM44-10137-6
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
MB90335 シリーズ
付録
B.9 命令マップ
表 B.9-8 ea 系命令 その 3 ( 第 1 バイト =72H)
FUJITSU MICROELECTRONICS LIMITED
581
582
40
50
60
70
80
90
A0
B0
C0
D0
E0
F0
FUJITSU MICROELECTRONICS LIMITED
JMP
+F @@RW3+
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
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
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
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
+D @@RW1+ @RW1+RW7 @@RW1+ @RW1+RW7
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
XCHW
XCHW A,
A,@RW0+ @RW0+RW7
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
MOVW
MOVW
@RW0+, #16 @RW0+RW7,#16
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
INCW
INCW
DECW
DECW
MOVW
MOVW A,
MOVW
MOVW
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 @RW0+, A @RW0+RW7,A
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
+7
CALL @
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
+6
CALL
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
+5
JMP @
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
+4
JMP
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
+3
+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,
@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
+2
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW1 @@RW1+d8
@RW1 @@RW1+d8
RW1 @RW1+d8
RW1 @RW1+d8
A, RW1 @RW1+d8
RW1, A @RW1+d8,A
RW1, #16 @RW1+d8,#16
A, RW1 @RW1+d8
30
+1
20
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW0 @@RW0+d8
@RW0 @@RW0+d8
RW0 @RW0+d8
RW0 @RW0+d8
A, RW0 @RW0+d8
RW0, A @RW0+d8,A
RW0, #16 @RW0+d8,#16
A, RW0 @RW0+d8
10
+0
00
付録
B.9 命令マップ
MB90335 シリーズ
表 B.9-9 ea 系命令 その 4 ( 第 1 バイト =73H)
CM44-10137-6
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
ADD
ADD
A, ADDC
ADDC
A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @RW0
+RW7, rel
A,@RW0+ @RW0+RW7 @RW0+, rel
SUB
A, ADDC
ADDC
A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @RW1
+RW7, rel
A,@RW1+ @RW1+RW7 @RW1+, rel
ADD
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @PC
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+, rel
+d16, rel
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+, rel addr16, rel
+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 @RW3
+d16, rel
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, rel
+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 @RW2
+d16, rel
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, rel
+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 @RW1
+d16, rel
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, rel
+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 @RW0
+d16, rel
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, rel
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @RW7
+d8, rel
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, rel
ADD
F0
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @RW6
+d8, rel
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, rel
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 @RW5
+d8, rel
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, rel
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 @RW4
+d8, rel
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, rel
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 @RW3
+d8, rel
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, rel
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 @RW2
+d8, rel
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, rel
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 @RW1
+d8, rel
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, rel
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 @RW0
+d8, rel
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, rel
20
ADD
10
+8
+7
+6
+5
+4
+3
+2
+1
+0
00
MB90335 シリーズ
付録
B.9 命令マップ
表 B.9-10 ea 系命令 その 5 ( 第 1 バイト =74H)
583
584
FUJITSU MICROELECTRONICS LIMITED
NOT
NOT
@RW1+ @RW1+RW7
ADD
ADD @R
SUB
SUB
SUBC
SUBC A,
NEG
NEG
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
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
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
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
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
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
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
AND
AND
OR
OR
R6 @RW6+d8
R6, A @RW6+d8, A
R6, A @RW6+d8, A
NEG
AND
AND
OR
OR
R5 @RW5+d8
R5, A @RW5+d8, A
R5, A @RW5+d8, A
NEG
AND
AND
OR
OR
R4 @RW4+d8
R4, A @RW4+d8, A
R4, A @RW4+d8, A
NEG
AND
AND
OR
OR
R3 @RW3+d8
R3, A @RW3+d8, A
R3, A @RW3+d8, A
NEG
AND
AND
OR
OR
R2 @RW2+d8
R2, A @RW2+d8,A
R2, A @RW2+d8,A
NEG
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
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
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
AND
AND
OR
OR
XOR
XOR
@RW0, A @RW0+d16,A @RW0, A @RW0+d16,A A, @RW0 @RW0+d16
@RW0 @RW0+d16 @RW0, A @RW0+d16,A @RW0, A @RW0+d16,A @RW0, A @RW0+d16,A
ADD
SUB
SUB
SUBC
SUBC A, NEG
R2, A @RW2+d8,A
R2, A @RW2+d8,A
A, R2 @RW2+d8
60
ADD
50
ADD
SUB
SUB
SUBC
SUBC A, NEG
R1, A @RW1+d8, A
R1, A @RW1+d8, A
A, R1 @RW1+d8
40
ADD
30
ADD
SUB
SUB
SUBC
SUBC A, NEG
R0, A @RW0+d8, A
R0, A @RW0+d8, A
A, R0 @RW0+d8
20
ADD
10
+8
+7
+6
+5
+4
+3
+2
+1
+0
00
付録
B.9 命令マップ
MB90335 シリーズ
表 B.9-11 ea 系命令 その 6 ( 第 1 バイト =75H)
CM44-10137-6
CM44-10137-6
FUJITSU MICROELECTRONICS LIMITED
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+, rel @PC+d16,rel
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+
addr16 A,@RW3+ addr16
A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16 @RW3+, rel addr16, rel
+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+, rel @RW1+RW7,rel
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+, rel @RW0+RW7,rel
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, rel @RW3+d16,rel
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, rel @RW2+d16,rel
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, rel @RW1+d16,rel
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, rel @RW0+d16,rel
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, rel @RW7+d8,rel
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, rel @RW6+d8,rel
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, rel @RW5+d8,rel
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, rel @RW4+d8,rel
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, rel @RW3+d8,rel
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, rel @RW2+d8,rel
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, rel @RW1+d8,rel
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, rel @RW0+d8,rel
10
+0
00
MB90335 シリーズ
付録
B.9 命令マップ
表 B.9-12 ea 系命令 その 7 ( 第 1 バイト =76H)
585
586
FUJITSU MICROELECTRONICS LIMITED
ORW
ORW
XORW
XORW
NOTW
NOTW
RW6, A @RW6+d8, A
RW6, A @RW6+d8, A
RW6 @RW6+d8
ORW
ORW
XORW
XORW
NOTW
NOTW
RW7, A @RW7+d8, A
RW7, A @RW7+d8, A
RW7 @RW7+d8
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW6, A @RW6+d8, A
RW6, A @RW6+d8, A
A, RW6 @RW6+d8
RW6 @RW6+d8
RW6, A @RW6+d8, A
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW7, A @RW7+d8, A
RW7, A @RW7+d8, A
A, RW7 @RW7+d8
RW7 @RW7+d8
RW7, A @RW7+d8, A
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW0, A @RW0+d16,A @RW0, A @RW0+d16,A A, @RW0 @RW0+d16
@RW0 @RW0+d16 @RW0, A @RW0+d16,A @RW0, A @RW0+d16,A @RW0, A @RW0+d16,A
@RW0 @RW0+d16
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW1, A @RW1+d16,A @RW1, A @RW1+d16,A A, @RW1 @RW1+d16
@RW1 @RW1+d16 @RW1, A @RW1+d16,A @RW1, A @RW1+d16,A @RW1, A @RW1+d16,A
@RW1 @RW1+d16
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW2, A @RW2+d16,A @RW2, A @RW2+d16,A A, @RW2 @RW2+d16
@RW2 @RW2+d16 @RW2, A @RW2+d16,A @RW2, A @RW2+d16,A @RW2, A @RW2+d16,A
@RW2 @RW2+d16
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW3, A @RW3+d16,A @RW3, A @RW3+d16,A A, @RW3 @RW3+d16
@RW3 @RW3+d16 @RW3, A @RW3+d16,A @RW3, A @RW3+d16,A @RW3, A @RW3+d16,A
@RW3 @RW3+d16
ADDW
ADDW
SUBW
SUBW
SUBCW
SUBCW A,
NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW0+, A @RW0+RW7,A @RW0+, A @RW0+RW7,A A,@RW0+ @RW0+RW7
@RW0+ @RW0+RW7 @RW0+, A @RW0+RW7,A @RW0+, A @RW0+RW7,A @RW0+, A @RW0+RW7,A
@RW0+ @RW0+RW7
ADDW
ADDW
SUBW
SUBW
SUBCW
SUBCW A,
NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW1+, A @RW1+RW7,A @RW1+, A @RW1+RW7,A A,@RW1+ @RW1+RW7
@RW1+ @RW1+RW7 @RW1+, A @RW1+RW7,A @RW1+, A @RW1+RW7,A @RW1+, A @RW1+RW7,A
@RW1+ @RW1+RW7
SUBW
SUBW
@RW2+, A @PC+d16,A
SUBW
SUBW
@RW3+, A addr16, A
ADDW
ADDW
@RW2+, A @PC+d16,A
ADDW
ADDW
@RW3+, A addr16, A
+6
+7
+8
+9
+A
+B
+C
+D
+E
+F
SUBCW
SUBCW A, NEGW
NEGW
ANDW
ANDW
A,@RW3+
addr16 @RW3+
addr16 @RW3+, A addr16, A
ORW
ORW
@RW3+, A addr16, A
XORW
XORW
@RW3+, A addr16, A
NOTW
NOTW
@RW3+
addr16
SUBCW
SUBCW A, NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
A,@RW2+ @PC+d16
@RW2+ @PC+d16 @RW2+, A @PC+d16,A @RW2+, A @PC+d16,A @RW2+, A @PC+d16,A
@RW2+ @PC+d16
ORW
ORW
XORW
XORW
NOTW
NOTW
RW5, A @RW5+d8, A
RW5, A @RW5+d8, A
RW5 @RW5+d8
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW5, A @RW5+d8, A
RW5, A @RW5+d8, A
A, RW5 @RW5+d8
RW5 @RW5+d8
RW5, A @RW5+d8, A
+5
F0
ORW
ORW
XORW
XORW
NOTW
NOTW
RW4, A @RW4+d8, A
RW4, A @RW4+d8, A
RW4 @RW4+d8
E0
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW4, A @RW4+d8, A
RW4, A @RW4+d8, A
A, RW4 @RW4+d8
RW4 @RW4+d8
RW4, A @RW4+d8, A
D0
+4
C0
ORW
ORW
XORW
XORW
NOTW
NOTW
RW3, A @RW3+d8, A
RW3, A @RW3+d8, A
RW3 @RW3+d8
B0
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW3, A @RW3+d8, A
RW3, A @RW3+d8, A
A, RW3 @RW3+d8
RW3 @RW3+d8
RW3, A @RW3+d8, A
A0
+3
90
ORW
ORW
XORW
XORW
NOTW
NOTW
RW2, A @RW2+d8, A
RW2, A @RW2+d8, A
RW2 @RW2+d8
80
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW2, A @RW2+d8, A
RW2, A @RW2+d8, A
A, RW2 @RW2+d8
RW2 @RW2+d8
RW2, A @RW2+d8, A
70
+2
60
ORW
ORW
XORW
XORW
NOTW
NOTW
RW1, A @RW1+d8, A
RW1, A @RW1+d8, A
RW1 @RW1+d8
50
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW1, A @RW1+d8, A
RW1, A @RW1+d8, A
A, RW1 @RW1+d8
RW1 @RW1+d8
RW1, A @RW1+d8, A
40
+1
30
ORW
ORW
XORW
XORW
NOTW
NOTW
RW0, A @RW0+d8, A
RW0, A @RW0+d8, A
RW0 @RW0+d8
20
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW0, A @RW0+d8, A
RW0, A @RW0+d8, A
A, RW0 @RW0+d8
RW0 @RW0+d8
RW0, A @RW0+d8, A
10
+0
00
付録
B.9 命令マップ
MB90335 シリーズ
表 B.9-13 ea 系命令 その 8 ( 第 1 バイト =77H)
CM44-10137-6
CM44-10137-6
40
50
60
70
80
90
A0
B0
C0
D0
E0
F0
FUJITSU MICROELECTRONICS LIMITED
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
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
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
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
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,@RW0 @RW0+d16
A,@RW0 @RW0+d16
MULU
MULU A, MULUW
MULUW A,
A,@RW1 @RW1+d16
A,@RW1 @RW1+d16
MULU
MULU A, MULUW
MULUW A,
A,@RW2 @RW2+d16
A,@RW