本ドキュメントは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,A」を「@RW2+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,@RW2 @RW2+d16 MULU MULU A, MULUW MULUW A, A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 +7 +8 +9 +A +B A, MULU +F DIV DIV A, DIVW DIVW A, A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 DIV DIV A, DIVW DIVW A, A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 DIV DIV A, DIVW DIVW A, A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 DIV DIV A, DIVW DIVW A, A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 DIV DIV A, DIVW DIVW A, A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 MULU MULU A, MULUW MULUW A, MUL MUL A, MULW MULW A, DIVU DIVU A, DIVUW DIVUW A, DIV DIV A, @RW3+ addr16 A,@RW3+ addr16 A,@RW3+ addr16 A,@RW3+ addr16 A,@RW3+ addr16 A,@RW3+ addr16 A,@RW3+ A, DIVW DIVW A, addr16 A,@RW3+ addr16 MULUW A, MUL MUL A, MULW MULW A, DIVU DIVU A, DIVUW DIVUW A, DIV DIV A, DIVW DIVW A, A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 MULUW MULUW A, MUL MUL A, MULW MULW A, DIVU DIVU A, DIVUW DIVUW A, A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A, MULUW @RW1+RW7 MULU @RW0+RW7 +E A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 MULU +D A,@RW1+ MULU +C A,@RW0+ MULUW MULUW A, MUL MUL A, MULW MULW A, DIVU DIVU A, DIVUW DIVUW A, A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 MULU MULU A, MULUW MULUW A, MUL MUL A, MULW MULW A, DIVU DIVU A, DIVUW DIVUW A, DIV DIV A, DIVW DIVW A, A, R6 @RW6+d8 A, RW6 @RW6+d8 A, R6 @RW6+d8 A, RW6 @RW6+d8 A, R6 @RW6+d8 A, RW6 @RW6+d8 A, R6 @RW6+d8 A, RW6 @RW6+d8 +6 A, MULU MULU A, MULUW MULUW A, MUL MUL A, MULW MULW A, DIVU DIVU A, DIVUW DIVUW A, DIV DIV A, DIVW DIVW A, A, R5 @RW5+d8 A, RW5 @RW5+d8 A, R5 @RW5+d8 A, RW5 @RW5+d8 A, R5 @RW5+d8 A, RW5 @RW5+d8 A, R5 @RW5+d8 A, RW5 @RW5+d8 +5 MULU MULU MULU A, MULUW MULUW A, MUL MUL A, MULW MULW A, DIVU DIVU A, DIVUW DIVUW A, DIV DIV A, DIVW DIVW A, A, R4 @RW4+d8 A, RW4 @RW4+d8 A, R4 @RW4+d8 A, RW4 @RW4+d8 A, R4 @RW4+d8 A, RW4 @RW4+d8 A, R4 @RW4+d8 A, RW4 @RW4+d8 +4 MULU MULU MULU A, MULUW MULUW A, MUL MUL A, MULW MULW A, DIVU DIVU A, DIVUW DIVUW A, DIV DIV A, DIVW DIVW A, A, R3 @RW3+d8 A, RW3 @RW3+d8 A, R3 @RW3+d8 A, RW3 @RW3+d8 A, R3 @RW3+d8 A, RW3 @RW3+d8 A, R3 @RW3+d8 A, RW3 @RW3+d8 +3 DIV DIV A, DIVW DIVW A, A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 MULU MULU A, MULUW MULUW A, MUL MUL A, MULW MULW A, DIVU DIVU A, DIVUW DIVUW A, DIV DIV A, DIVW DIVW A, A, R2 @RW2+d8 A, RW2 @RW2+d8 A, R2 @RW2+d8 A, RW2 @RW2+d8 A, R2 @RW2+d8 A, RW2 @RW2+d8 A, R2 @RW2+d8 A, RW2 @RW2+d8 +2 MULU MULU A, MULUW MULUW A, MUL MUL A, MULW MULW A, DIVU DIVU A, DIVUW DIVUW A, DIV DIV A, DIVW DIVW A, A, R1 @RW1+d8 A, RW1 @RW1+d8 A, R1 @RW1+d8 A, RW1 @RW1+d8 A, R1 @RW1+d8 A, RW1 @RW1+d8 A, R1 @RW1+d8 A, RW1 @RW1+d8 30 +1 20 MULU MULU A, MULUW MULUW A, MUL MUL A, MULW MULW A, DIVU DIVU A, DIVUW DIVUW A, DIV DIV A, DIVW DIVW A, A, R0 @RW0+d8 A, RW0 @RW0+d8 A, R0 @RW0+d8 A, RW0 @RW0+d8 A, R0 @RW0+d8 A, RW0 @RW0+d8 A, R0 @RW0+d8 A, RW0 @RW0+d8 10 +0 00 MB90335 シリーズ 付録 B.9 命令マップ 表 B.9-14 ea 系命令 その 9 ( 第 1 バイト =78H) 587 588 40 50 60 70 80 90 A0 B0 C0 D0 E0 F0 MOVEA MOVEA RW0, MOVEA MOVEA RW1, MOVEA MOVEA RW2, MOVEA MOVEA RW3, MOVEA MOVEA RW4, MOVEA MOVEA RW5 MOVEA MOVEA RW6, MOVEA MOVEA RW7, RW0,RW6 @RW6+d8 RW1,RW6 @RW6+d8 RW2,RW6 @RW6+d8 RW3,RW6 @RW6+d8 RW4,RW6 @RW6+d8 RW5,RW6 ,@RW6+d8 RW6,RW6 @RW6+d8 RW7,RW6 @RW6+d8 MOVEA MOVEA RW0, MOVEA MOVEA RW1, MOVEA MOVEA RW2, MOVEA MOVEA RW3, MOVEA MOVEA RW4, MOVEA MOVEA RW5, MOVEA MOVEA RW6, MOVEA MOVEA RW7, RW0,RW7 @RW7+d8 RW1,RW7 @RW7+d8 RW2,RW7 @RW7+d8 RW3,RW7 @RW7+d8 RW4,RW7 @RW7+d8 RW5,RW7 @RW7+d8 RW6,RW7 @RW7+d8 RW7,RW7 @RW7+d8 MOVEA MOVEA RW0, MOVEA MOVEA RW1, MOVEA MOVEA RW2, MOVEA MOVEA RW3, MOVEA MOVEA RW4, MOVEA MOVEA RW5, MOVEA MOVEA RW6, MOVEA MOVEA RW7, RW0,@RW0 @RW0+d16 RW1,@RW0 @RW0+d16 RW2,@RW0 @RW0+d16 RW3,@RW0 @RW0+d16 RW4,@RW0 @RW0+d16 RW5,@RW0 @RW0+d16 RW6,@RW0 @RW0+d16 RW7,@RW0 @RW0+d16 MOVEA MOVEA RW0, MOVEA MOVEA RW1, MOVEA MOVEA RW2, MOVEA MOVEA RW3, MOVEA MOVEA RW4, MOVEA MOVEA RW5, MOVEA MOVEA RW6, MOVEA MOVEA RW7, RW0,@RW1 @RW1+d16 RW1,@RW1 @RW1+d16 RW2,@RW1 @RW1+d16 RW3,@RW1 @RW1+d16 RW4,@RW1 @RW1+d16 RW5,@RW1 @RW1+d16 RW6,@RW1 @RW1+d16 RW7,@RW1 @RW1+d16 +6 +7 +8 +9 FUJITSU MICROELECTRONICS LIMITED MOVEA MOVEA RW0, MOVEA MOVEA RW1, MOVEA MOVEA RW2, MOVEA MOVEA RW3, MOVEA MOVEA RW4, MOVEA MOVEA RW5, MOVEA MOVEA RW6, MOVEA MOVEA RW7, RW0,@RW2+ @PC+d16 RW1,@RW2+ @PC+d16 RW2,@RW2+ @PC+d16 RW3,@RW2+ @PC+d16 RW4,@RW2+ @PC+d16 RW5,@RW2+ @PC+d16 RW6,@RW2+ @PC+d16 RW7,@RW2+ @PC+d16 MOVEA MOVEA MOVEA MOVEA MOVEA MOVEA MOVEA MOVEA MOVEA MOVEA MOVEA MOVEA RW0,@RW3+ RW0, addr16 RW1,@RW3+ RW1, addr16 RW2,@RW3+ RW2, addr16 RW3,@RW3+ RW3, addr16 RW4,@RW3+ RW4, addr16 RW5,@RW3+ RW5, addr16 +E +F MOVEA MOVEA RW7@RW3+ RW7, addr16 MOVEA MOVEA RW7, RW7,@RW1+ @RW1+RW7 MOVEA MOVEA RW0, MOVEA MOVEA RW1, MOVEA MOVEA RW2, MOVEA MOVEA RW3, MOVEA MOVEA RW4, MOVEA MOVEA RW5, MOVEA MOVEA RW6, RW0,@RW1+ @RW1+RW7 RW1,@RW1+ @RW1+RW7 RW2,@RW1+ @RW1+RW7 RW3,@RW1+ @RW1+RW7 RW4,@RW1+ @RW1+RW7 RW5,@RW1+ @RW1+RW7 RW6,@RW1+ @RW1+RW7 +D MOVEA MOVEA RW6,@RW3+ RW6, addr16 MOVEA MOVEA RW7, RW7,@RW0+ @RW0+RW7 MOVEA MOVEA RW0, MOVEA MOVEA RW1, MOVEA MOVEA RW2, MOVEA MOVEA RW3, MOVEA MOVEA RW4, MOVEA MOVEA RW5, MOVEA MOVEA RW6, RW0,@RW0+ @RW0+RW7 RW1,@RW0+ @RW0+RW7 RW2,@RW0+ @RW0+RW7 RW3,@RW0+ @RW0+RW7 RW4,@RW0+ @RW0+RW7 RW5,@RW0+ @RW0+RW7 RW6,@RW0+ @RW0+RW7 +C +B RW0,@RW3 @RW3+d16 +A RW0,@RW2 @RW2+d16 MOVEA RW0, MOVEA MOVEA RW1, MOVEA MOVEA RW2, MOVEA MOVEA RW3, MOVEA MOVEA RW4, MOVEA MOVEA RW5, MOVEA MOVEA RW6, MOVEA MOVEA RW7, RW1,@RW3 @RW3+d16 RW2,@RW3 @RW3+d16 RW3,@RW3 @RW3+d16 RW4,@RW3 @RW3+d16 RW5,@RW3 @RW3+d16 RW6,@RW3 @RW3+d16 RW7,@RW3 @RW3+d16 MOVEA MOVEA RW0, MOVEA MOVEA RW1, MOVEA MOVEA RW2, MOVEA MOVEA RW3, MOVEA MOVEA RW4, MOVEA MOVEA RW5, MOVEA MOVEA RW6, MOVEA MOVEA RW7, RW0,RW5 @RW5+d8 RW1,RW5 @RW5+d8 RW2,RW5 @RW5+d8 RW3,RW5 @RW5+d8 RW4,RW5 @RW5+d8 RW5,RW5 @RW5+d8 RW6,RW5 @RW5+d8 RW7,RW5 @RW5+d8 +5 MOVEA MOVEA MOVEA RW0, MOVEA MOVEA RW1, MOVEA MOVEA RW2, MOVEA MOVEA RW3, MOVEA MOVEA RW4, MOVEA MOVEA RW5, MOVEA MOVEA RW6, MOVEA MOVEA RW7, RW0,RW4 @RW4+d8 RW1,RW4 @RW4+d8 RW2,RW4 @RW4+d8 RW3,RW4 @RW4+d8 RW4,RW4 @RW4+d8 RW5,RW4 @RW4+d8 RW6,RW4 @RW4+d8 RW7,RW4 @RW4+d8 +4 MOVEA RW0, MOVEA MOVEA RW1, MOVEA MOVEA RW2, MOVEA MOVEA RW3, MOVEA MOVEA RW4, MOVEA MOVEA RW5, MOVEA MOVEA RW6, MOVEA MOVEA RW7, RW1,@RW2 @RW2+d16 RW2,@RW2 @RW2+d16 RW3,@RW2 @RW2+d16 RW4,@RW2 @RW2+d16 RW5,@RW2 @RW2+d16 RW6,@RW2 @RW2+d16 RW7,@RW2 @RW2+d16 MOVEA MOVEA RW0, MOVEA MOVEA RW1, MOVEA MOVEA RW2, MOVEA MOVEA RW3, MOVEA MOVEA RW4, MOVEA MOVEA RW5, MOVEA MOVEA RW6, MOVEA MOVEA RW7, RW0,RW3 @RW3+d8 RW1,RW3 @RW3+d8 RW2,RW3 @RW3+d8 RW3,RW3 @RW3+d8 RW4,RW3 @RW3+d8 RW5,RW3 @RW3+d8 RW6,RW3 @RW3+d8 RW7,RW3 @RW3+d8 +3 MOVEA MOVEA MOVEA RW0, MOVEA MOVEA RW1, MOVEA MOVEA RW2, MOVEA MOVEA RW3, MOVEA MOVEA RW4, MOVEA MOVEA RW5, MOVEA MOVEA RW6, MOVEA MOVEA RW7, RW0,RW2 @RW2+d8 RW1,RW2 @RW2+d8 RW2,RW2 @RW2+d8 RW3,RW2 @RW2+d8 RW4,RW2 @RW2+d8 RW5,RW2 @RW2+d8 RW6,RW2 @RW2+d8 RW7,RW2 @RW2+d8 +2 MOVEA MOVEA RW0, MOVEA MOVEA RW1, MOVEA MOVEA RW2, MOVEA MOVEA RW3, MOVEA MOVEA RW4, MOVEA MOVEA RW5, MOVEA MOVEA RW6, MOVEA MOVEA RW7, RW0,RW1 @RW1+d8 RW1,RW1 @RW1+d8 RW2,RW1 @RW1+d8 RW3,RW1 @RW1+d8 RW4,RW1 @RW1+d8 RW5,RW1 @RW1+d8 RW6,RW1 @RW1+d8 RW7,RW1 @RW1+d8 30 +1 20 MOVEA MOVEA RW0, MOVEA MOVEA RW1, MOVEA MOVEA RW2, MOVEA MOVEA RW3, MOVEA MOVEA RW4, MOVEA MOVEA RW5, MOVEA MOVEA RW6, MOVEA MOVEA RW7, RW0,RW0 @RW0+d8 RW1,RW0 @RW0+d8 RW2,RW0 @RW0+d8 RW3,RW0 @RW0+d8 RW4,RW0 @RW0+d8 RW5,RW0 @RW0+d8 RW6,RW0 @RW0+d8 RW7,RW0 @RW0+d8 10 +0 00 付録 B.9 命令マップ MB90335 シリーズ 表 B.9-15 MOVEA RWi, ea 命令 ( 第 1 バイト =79H) CM44-10137-6 CM44-10137-6 40 50 60 70 80 90 A0 B0 C0 D0 E0 F0 MOV R0, MOV MOV MOV R4, MOV MOV R5, MOV MOV R6, MOV MOV R7, FUJITSU MICROELECTRONICS LIMITED MOV R1, MOV MOV R2, MOV MOV R3, MOV MOV R4, MOV MOV R5, MOV MOV R6, MOV MOV R7, MOV R0, MOV R0, MOV R1, MOV R1, MOV R2, MOV R2, MOV R3, MOV R3, MOV R4, MOV R4, MOV R5, MOV R5, MOV R6, MOV R6, MOV R7, MOV R7, @RW0+ @RW0+RW7 @RW0+ @RW0+RW7 @RW0+ @RW0+RW7 @RW0+ @RW0+RW7 @RW0+ @RW0+RW7 @RW0+ @RW0+RW7 @RW0+ @RW0+RW7 @RW0+ @RW0+RW7 MOV R0, MOV R0, MOV R1, MOV R1, MOV R2, MOV R2, MOV R3, MOV R3, MOV R4, MOV R4, MOV R5, MOV R5, MOV R6, MOV R6, MOV R7, MOV R7, @RW1+ @RW1+RW7 @RW1+ @RW1+RW7 @RW1+ @RW1+RW7 @RW1+ @RW1+RW7 @RW1+ @RW1+RW7 @RW1+ @RW1+RW7 @RW1+ @RW1+RW7 @RW1+ @RW1+RW7 MOV R0, MOV R0, MOV R1, MOV R1, MOV R2, MOV R2, MOV R3, MOV R3, MOV R4, MOV R4, MOV R5, MOV R5, MOV R6, MOV R6, MOV R7, MOV R7, @RW2+ @PC+d16 @RW2+ @PC+d16 @RW2+ @PC+d16 @RW2+ @PC+d16 @RW2+ @PC+d16 @RW2+ @PC+d16 @RW2+ @PC+d16 @RW2+ @PC+d16 MOV R0, MOV R0, MOV R1, MOV R1, MOV R2, MOV R2, MOV R3, MOV R3, MOV R4, MOV R4, MOV R5, MOV R5, MOV R6, MOV R6, MOV R7, MOV R7, @RW3+ addr16 @RW3+ addr16 @RW3+ addr16 @RW3+ addr16 @RW3+ addr16 @RW3+ addr16 @RW3+ addr16 @RW3+ addr16 +C +D +E +F +B R0,@RW3 @RW3+d16 R1,@RW3 @RW3+d16 R2,@RW3 @RW3+d16 R3,@RW3 @RW3+d16 R4,@RW3 @RW3+d16 R5,@RW3 @RW3+d16 R6,@RW3 @RW3+d16 R7,@RW3 @RW3+d16 MOV +A R0,@RW2 @RW2+d16 R1,@RW2 @RW2+d16 R2,@RW2 @RW2+d16 R3,@RW2 @RW2+d16 R4,@RW2 @RW2+d16 R5,@RW2 @RW2+d16 R6,@RW2 @RW2+d16 R7,@RW2 @RW2+d16 MOV R3, MOV MOV R0, MOV MOV R1, MOV MOV R2, MOV MOV R3, MOV MOV R4, MOV MOV R5, MOV MOV R6, MOV MOV R7, R0,@RW1 @RW1+d16 R1,@RW1 @RW1+d16 R2,@RW1 @RW1+d16 R3,@RW1 @RW1+d16 R4,@RW1 @RW1+d16 R5,@RW1 @RW1+d16 R6,@RW1 @RW1+d16 R7,@RW1 @RW1+d16 +9 MOV MOV MOV R0, MOV MOV R1, MOV MOV R2, MOV MOV R3, MOV MOV R4, MOV MOV R5, MOV MOV R6, MOV MOV R7, R0,@RW0 @RW0+d16 R1,@RW0 @RW0+d16 R2,@RW0 @RW0+d16 R3,@RW0 @RW0+d16 R4,@RW0 @RW0+d16 R5,@RW0 @RW0+d16 R6,@RW0 @RW0+d16 R7,@RW0 @RW0+d16 +8 MOV R2, MOV MOV R0, MOV MOV R1, MOV MOV R2, MOV MOV R3, MOV MOV R4, MOV MOV R5, MOV MOV R6, MOV MOV R7, R0, R7 @RW7+d8 R1, R7 @RW7+d8 R2, R7 @RW7+d8 R3, R7 @RW7+d8 R4, R7 @RW7+d8 R5, R7 @RW7+d8 R6, R7 @RW7+d8 R7, R7 @RW7+d8 +7 MOV MOV MOV R0, MOV MOV R1, MOV MOV R2, MOV MOV R3, MOV MOV R4, MOV MOV R5, MOV MOV R6, MOV MOV R7, R0, R6 @RW6+d8 R1, R6 @RW6+d8 R2, R6 @RW6+d8 R3, R6 @RW6+d8 R4, R6 @RW6+d8 R5, R6 @RW6+d8 R6, R6 @RW6+d8 R7, R6 @RW6+d8 +6 MOV R1, MOV MOV R0, MOV MOV R1, MOV MOV R2, MOV MOV R3, MOV MOV R4, MOV MOV R5, MOV MOV R6, MOV MOV R7, R0, R5 @RW5+d8 R1, R5 @RW5+d8 R2, R5 @RW5+d8 R3, R5 @RW5+d8 R4, R5 @RW5+d8 R5, R5 @RW5+d8 R6, R5 @RW5+d8 R7, R5 @RW5+d8 +5 MOV MOV MOV R0, MOV MOV R1, MOV MOV R2, MOV MOV R3, MOV MOV R4, MOV MOV R5, MOV MOV R6, MOV MOV R7, R0, R4 @RW4+d8 R1, R4 @RW4+d8 R2, R4 @RW4+d8 R3, R4 @RW4+d8 R4, R4 @RW4+d8 R5, R4 @RW4+d8 R6, R4 @RW4+d8 R7, R4 @RW4+d8 +4 MOV R0, MOV MOV R0, MOV MOV R1, MOV MOV R2, MOV MOV R3, MOV MOV R4, MOV MOV R5, MOV MOV R6, MOV MOV R7, R0, R3 @RW3+d8 R1, R3 @RW3+d8 R2, R3 @RW3+d8 R3, R3 @RW3+d8 R4, R3 @RW3+d8 R5, R3 @RW3+d8 R6, R3 @RW3+d8 R7, R3 @RW3+d8 +3 MOV MOV MOV R0, MOV MOV R1, MOV MOV R2, MOV MOV R3, MOV MOV R4, MOV MOV R5, MOV MOV R6, MOV MOV R7, R0, R2 @RW2+d8 R1, R2 @RW2+d8 R2, R2 @RW2+d8 R3, R2 @RW2+d8 R4, R2 @RW2+d8 R5, R2 @RW2+d8 R6, R2 @RW2+d8 R7, R2 @RW2+d8 +2 MOV MOV R0, MOV MOV R1, MOV MOV R2, MOV MOV R3, MOV MOV R4, MOV MOV R5, MOV MOV R6, MOV MOV R7, R0, R1 @RW1+d8 R1, R1 @RW1+d8 R2, R1 @RW1+d8 R3, R1 @RW1+d8 R4, R1 @RW1+d8 R5, R1 @RW1+d8 R6, R1 @RW1+d8 R7, R1 @RW1+d8 30 +1 20 MOV MOV R0, MOV MOV R1, MOV MOV R2, MOV MOV R3, MOV MOV R4, MOV MOV R5, MOV MOV R6, MOV MOV R7, R0, R0 @RW0+d8 R1, R0 @RW0+d8 R2, R0 @RW0+d8 R3, R0 @RW0+d8 R4, R0 @RW0+d8 R5, R0 @RW0+d8 R6, R0 @RW0+d8 R7, R0 @RW0+d8 10 +0 00 MB90335 シリーズ 付録 B.9 命令マップ 表 B.9-16 MOV Ri, ea 命令 ( 第 1 バイト =7AH) 589 590 FUJITSU MICROELECTRONICS LIMITED MOVW MOVW RW2, RW2,@RW0 @RW0+d16 MOVW MOVW RW2, RW2,@RW1 @RW1+d16 MOVW MOVW RW2, RW2,@RW2 @RW2+d16 MOVW MOVW RW2, RW2,@RW3 @RW3+d16 MOVW MOVW RW1, RW1, RW6 @RW6+d8 MOVW MOVW RW1, RW1, RW7 @RW7+d8 MOVW MOVW MOVW MOVW RW1, RW0,@RW1 @RW1+d16 RW1,@RW1 @RW1+d16 MOVW MOVW MOVW MOVW RW1, RW0,@RW2 @RW2+d16 RW1,@RW2 @RW2+d16 MOVW MOVW MOVW MOVW RW1, RW0,@RW3 @RW3+d16 RW1,@RW3 @RW3+d16 MOVW MOVW MOVW MOVW RW1, MOVW MOVW RW2, MOVW MOVW RW3, MOVW MOVW RW4, MOVW MOVW RW5, MOVW MOVW RW6, MOVW MOVW RW7, RW0,@RW0+ @RW0+RW7 RW1,@RW0+ @RW0+RW7 RW2,@RW0+ @RW0+RW7 RW3,@RW0+ @RW0+RW7 RW4,@RW0+ @RW0+RW7 RW5,@RW0+ @RW0+RW7 RW6,@RW0+ @RW0+RW7 RW7,@RW0+ @RW0+RW7 MOVW MOVW RW1, @RW3+ RW1, addr16 MOVW MOVW RW0, RW7 @RW7+d8 MOVW MOVW MOVW MOVW RW1, RW0,@RW0 @RW0+d16 RW1,@RW0 @RW0+d16 MOVW MOVW RW1, RW1, @RW2+ @PC+d16 MOVW MOVW RW0, RW6 @RW6+d8 MOVW RW0, @RW1+ MOVW MOVW RW0, @RW2+ @PC+d16 MOVW MOVW RW0, @RW3+ RW0, addr16 +6 +7 +8 +9 +A +B +C +D +E +F MOVW MOVW @RW1+RW7 RW1, @RW1+ MOVW MOVW RW2, RW2, RW7 @RW7+d8 MOVW MOVW RW1, RW1, RW5 @RW5+d8 MOVW MOVW RW0, RW5 @RW5+d8 +5 MOVW MOVW RW2, @RW3+ RW2, addr16 MOVW MOVW RW3, @RW3+ RW3, addr16 MOVW MOVW RW3, RW3, @RW2+ @PC+d16 MOVW MOVW RW4, @RW3+ RW4, addr16 MOVW MOVW RW4, RW4, @RW2+ @PC+d16 MOVW MOVW RW5, @RW3+ RW5, addr16 MOVW MOVW RW5, @RW2+ @PC+d16 MOVW MOVW RW6, @RW3+ RW6, addr16 MOVW MOVW RW6, RW6, @RW2+ @PC+d16 MOVW MOVW RW7, @RW3+ RW7, addr16 MOVW MOVW RW7, RW7, @RW2+ @PC+d16 MOVW RW7, @RW1+RW7 MOVW MOVW RW7, RW7,@RW3 @RW3+d16 MOVW MOVW RW7, RW7,@RW2 @RW2+d16 MOVW MOVW RW7, RW7,@RW1 @RW1+d16 MOVW MOVW RW7, RW7,@RW0 @RW0+d16 MOVW MOVW RW7, RW7, RW7 @RW7+d8 MOVW MOVW RW7, RW7, RW6 @RW6+d8 MOVW MOVW RW7, RW7, RW5 @RW5+d8 MOVW MOVW RW7, RW7, RW4 @RW4+d8 MOVW MOVW RW7, RW7, RW3 @RW3+d8 MOVW RW6, MOVW @RW1+RW7 RW7, @RW1+ MOVW MOVW RW6, RW6,@RW3 @RW3+d16 MOVW MOVW RW6, RW6,@RW2 @RW2+d16 MOVW MOVW RW6, RW6,@RW1 @RW1+d16 MOVW MOVW RW6, RW6,@RW0 @RW0+d16 MOVW MOVW RW6, RW6, RW7 @RW7+d8 MOVW MOVW RW6, RW6, RW6 @RW6+d8 MOVW MOVW RW6, RW6, RW5 @RW5+d8 MOVW MOVW RW6, RW6, RW4 @RW4+d8 MOVW MOVW RW6, RW6, RW3 @RW3+d8 MOVW MOVW @RW1+RW7 RW6, @RW1+ MOVW MOVW RW5, RW5,@RW3 @RW3+d16 MOVW MOVW RW5, RW5,@RW2 @RW2+d16 MOVW MOVW RW5, RW5,@RW1 @RW1+d16 MOVW MOVW RW5, RW5,@RW0 @RW0+d16 MOVW MOVW RW5, RW5, RW7 @RW7+d8 MOVW MOVW RW5, RW5, RW6 @RW6+d8 MOVW MOVW RW5, RW5, RW5 @RW5+d8 MOVW MOVW RW5, RW5, RW4 @RW4+d8 MOVW RW4, MOVW @RW1+RW7 RW5, @RW1+ MOVW MOVW RW4, RW4,@RW3 @RW3+d16 MOVW MOVW RW4, RW4,@RW2 @RW2+d16 MOVW MOVW RW4, RW4,@RW1 @RW1+d16 MOVW MOVW RW4, RW4,@RW0 @RW0+d16 MOVW MOVW RW4, RW4, RW7 @RW7+d8 MOVW MOVW RW4, RW4, RW6 @RW6+d8 MOVW MOVW RW4, RW4, RW5 @RW5+d8 MOVW MOVW RW4, RW4, RW4 @RW4+d8 MOVW RW3, MOVW @RW1+RW7 RW4, @RW1+ MOVW MOVW RW3, RW3,@RW3 @RW3+d16 MOVW MOVW RW3, RW3,@RW2 @RW2+d16 MOVW MOVW RW3, RW3,@RW1 @RW1+d16 MOVW MOVW RW3, RW3,@RW0 @RW0+d16 MOVW MOVW RW3, RW3, RW7 @RW7+d8 MOVW MOVW RW3, RW3, RW6 @RW6+d8 MOVW MOVW RW3, RW3, RW5 @RW5+d8 MOVW MOVW RW3, RW3, RW4 @RW4+d8 MOVW RW2, MOVW @RW1+RW7 RW3, @RW1+ MOVW MOVW RW2, RW2, @RW2+ @PC+d16 MOVW RW1, MOVW @RW1+RW7 RW2, @RW1+ MOVW MOVW RW2, RW2, RW6 @RW6+d8 MOVW MOVW RW2, RW2, RW5 @RW5+d8 MOVW MOVW RW2, RW2, RW4 @RW4+d8 MOVW MOVW RW5, RW5, RW3 @RW3+d8 MOVW MOVW RW7, RW7, RW2 @RW2+d8 MOVW MOVW RW7, RW7, RW1 @RW1+d8 MOVW MOVW RW1, RW1, RW4 @RW4+d8 MOVW MOVW RW4, RW4, RW3 @RW3+d8 MOVW MOVW RW6, RW6, RW2 @RW2+d8 MOVW MOVW RW6, RW6, RW1 @RW1+d8 MOVW MOVW RW0, RW4 @RW4+d8 MOVW MOVW RW3, RW3, RW3 @RW3+d8 MOVW MOVW RW5, RW5, RW2 @RW2+d8 MOVW MOVW RW5, RW5, RW1 @RW1+d8 +4 MOVW MOVW RW2, RW2, RW3 @RW3+d8 MOVW MOVW RW4, RW4, RW2 @RW2+d8 MOVW MOVW RW4, RW4, RW1 @RW1+d8 MOVW MOVW RW1, RW1, RW3 @RW3+d8 MOVW MOVW RW3, RW3, RW2 @RW2+d8 MOVW MOVW RW3, RW3, RW1 @RW1+d8 MOVW MOVW RW0, RW3 @RW3+d8 MOVW MOVW RW2, RW2, RW2 @RW2+d8 MOVW MOVW RW2, RW2, RW1 @RW1+d8 +3 F0 MOVW MOVW RW7, RW7, RW0 @RW0+d8 E0 MOVW MOVW RW1, RW1, RW2 @RW2+d8 D0 MOVW MOVW RW6, RW6, RW0 @RW0+d8 C0 MOVW MOVW RW0, RW2 @RW2+d8 B0 MOVW MOVW RW5, RW5, RW0 @RW0+d8 A0 +2 90 MOVW MOVW RW4, RW4, RW0 @RW0+d8 80 MOVW MOVW RW1, RW1, RW1 @RW1+d8 70 MOVW MOVW RW3, RW3, RW0 @RW0+d8 60 MOVW MOVW RW0, RW1 @RW1+d8 50 MOVW MOVW RW2, RW2, RW0 @RW0+d8 40 +1 30 MOVW MOVW RW1, RW1, RW0 @RW0+d8 20 MOVW MOVW RW0, RW0 @RW0+d8 10 +0 00 付録 B.9 命令マップ MB90335 シリーズ 表 B.9-17 MOVW RWi, ea 命令 ( 第 1 バイト =7BH) CM44-10137-6 CM44-10137-6 40 50 60 70 80 90 A0 B0 C0 D0 E0 F0 FUJITSU MICROELECTRONICS LIMITED +F +E +D +C +B +A +9 MOV MOV MOV MOV MOV MOV MOV MOV MOV @RW3, R1 @RW3+d16, R1 MOV @RW2, R1 @RW2+d16, R1 MOV @RW1, R1 @RW1+d16, R1 MOV @RW0, R1 @RW0+d16, R1 MOV MOV MOV MOV MOV MOV @RW3, R2 @RW3+d16, R2 MOV @RW2, R2 @RW2+d16, R2 MOV @RW1, R2 @RW1+d16, R2 MOV @RW0, R2 @RW0+d16, R2 MOV MOV MOV MOV MOV MOV @RW3, R3 @RW3+d16, R3 MOV @RW2, R3 @RW2+d16, R3 MOV @RW1, R3 @RW1+d16, R3 MOV @RW0, R3 @RW0+d16, R3 MOV MOV MOV MOV MOV MOV MOV @RW3, R4 @RW3+d16, R4 MOV @RW2, R4 @RW2+d16, R4 MOV @RW1, R4 @RW1+d16, R4 MOV @RW0, R4 @RW0+d16, R4 MOV MOV MOV MOV MOV MOV MOV @RW3, R5 @RW3+d16, R5 MOV @RW2, R5 @RW2+d16, R5 MOV @RW1, R5 @RW1+d16, R5 MOV @RW0, R5 @RW0+d16, R5 MOV MOV MOV MOV MOV MOV MOV @RW3, R6 @RW3+d16, R6 MOV @RW2, R6 @RW2+d16, R6 MOV @RW1, R6 @RW1+d16, R6 MOV @RW0, R6 @RW0+d16, R6 MOV MOV MOV MOV MOV MOV MOV @RW3, R7 @RW3+d16, R7 MOV @RW2, R7 @RW2+d16, R7 MOV @RW1, R7 @RW1+d16, R7 MOV @RW0, R7 @RW0+d16, R7 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV @RW3+, R0 addr16, R0 MOV @RW3+, R1 addr16, R1 MOV MOV MOV MOV MOV @RW2+, R1 @PC+d16, R1 MOV @RW2+, R0 @PC+d16, R0 MOV MOV MOV @RW3+, R2 addr16, R2 MOV @RW2+, R2 @PC+d16, R2 MOV MOV MOV @RW3+, R3 addr16, R3 MOV @RW2+, R3 @PC+d16, R3 MOV MOV MOV @RW3+, R4 addr16, R4 MOV @RW2+, R4 @PC+d16, R4 MOV MOV MOV @RW3+, R5 addr16, R5 MOV @RW2+, R5 @PC+d16, R5 MOV MOV MOV @RW3+, R6 addr16, R6 MOV @RW2+, R6 @PC+d16, R6 MOV MOV MOV @RW3+, R7 addr16, R7 MOV @RW2+, R7 @PC+d16, R7 MOV @RW1+, R0 @RW1+RW7, R0 @RW1+, R1 @RW1+RW7, R1 @RW1+, R2 @RW1+RW7, R2 @RW1+, R3 @RW1+RW7, R3 @RW1+, R4 @RW1+RW7, R4 @RW1+, R5 @RW1+RW7, R5 @RW1+, R6 @RW1+RW7, R6 @RW1+, R7 @RW1+RW7, R7 MOV @RW0+, R0 @RW0+RW7, R0 @RW0+, R1 @RW0+RW7, R1 @RW0+, R2 @RW0+RW7, R2 @RW0+, R3 @RW0+RW7, R3 @RW0+, R4 @RW0+RW7, R4 @RW0+, R5 @RW0+RW7, R5 @RW0+, R6 @RW0+RW7, R6 @RW0+, R7 @RW0+RW7, R7 MOV @RW3, R0 @RW3+d16, R0 MOV @RW2, R0 @RW2+d16, R0 MOV @RW1, R0 @RW1+d16, R0 MOV @RW0, R0 @RW0+d16, R0 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV R7, R0 @RW7+d8, R0 R7, R1 @RW7+d8, R1 R7, R2 @RW7+d8, R2 R7, R3 @RW7+d8, R3 R7, R4 @RW7+d8, R4 R7, R5 @RW7+d8, R5 R7, R6 @RW7+d8, R6 R7, R7 @RW7+d8, R7 +7 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV R6, R0 @RW6+d8, R0 R6, R1 @RW6+d8, R1 R6, R2 @RW6+d8, R2 R6, R3 @RW6+d8, R3 R6, R4 @RW6+d8, R4 R6, R5 @RW6+d8, R5 R6, R6 @RW6+d8, R6 R6, R7 @RW6+d8, R7 +6 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV R5, R0 @RW5+d8, R0 R5, R1 @RW5+d8, R1 R5, R2 @RW5+d8, R2 R5, R3 @RW5+d8, R3 R5, R4 @RW5+d8, R4 R5, R5 @RW5+d8, R5 R5, R6 @RW5+d8, R6 R5, R7 @RW5+d8, R7 +5 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV R4, R0 @RW4+d8, R0 R4, R1 @RW4+d8, R1 R4, R2 @RW4+d8, R2 R4, R3 @RW4+d8, R3 R4, R4 @RW4+d8, R4 R4, R5 @RW4+d8, R5 R4, R6 @RW4+d8, R6 R4, R7 @RW4+d8, R7 +4 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV R3, R0 @RW3+d8, R0 R3, R1 @RW3+d8, R1 R3, R2 @RW3+d8, R2 R3, R3 @RW3+d8, R3 R3, R4 @RW3+d8, R4 R3, R5 @RW3+d8, R5 R3, R6 @RW3+d8, R6 R3, R7 @RW3+d8, R7 +3 +8 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV R2, R0 @RW2+d8, R0 R2, R1 @RW2+d8, R1 R2, R2 @RW2+d8, R2 R2, R3 @RW2+d8, R3 R2, R4 @RW2+d8, R4 R2, R5 @RW2+d8, R5 R2, R6 @RW2+d8, R6 R2, R7 @RW2+d8, R7 +2 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV R1, R0 @RW1+d8, R0 R1, R1 @RW1+d8, R1 R1, R2 @RW1+d8, R2 R1, R3 @RW1+d8, R3 R1, R4 @RW1+d8, R4 R1, R5 @RW1+d8, R5 R1, R6 @RW1+d8, R6 R1, R7 @RW1+d8, R7 30 +1 20 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV R0, R0 @RW0+d8, R0 R0, R1 @RW0+d8, R1 R0, R2 @RW0+d8, R2 R0, R3 @RW0+d8, R3 R0, R4 @RW0+d8, R4 R0, R5 @RW0+d8, R5 R0, R6 @RW0+d8, R6 R0, R7 @RW0+d8, R7 10 +0 00 MB90335 シリーズ 付録 B.9 命令マップ 表 B.9-18 MOV Ri, ea 命令 ( 第 1 バイト =7CH) 591 592 40 50 60 70 80 90 A0 B0 C0 D0 E0 F0 MOVW MOVW@RW0 @RW0, RW1 +d16, RW1 MOVW MOVW@RW1 @RW1, RW1 +d16, RW1 MOVW MOVW@RW2 @RW2, RW1 +d16, RW1 MOVW MOVW@RW3 @RW3, RW1 +d16, RW1 MOVW MOVW@RW0 @RW0+, RW1 +RW7,RW1 MOVW MOVW@RW1 @RW1+, RW1 +RW7,RW1 MOVW MOVW@PC @RW2+, RW1 +d16, RW1 MOVW MOVW @RW3+, RW1 addr16, RW1 MOVW MOVW@RW0 @RW0, RW0 +d16, RW0 MOVW MOVW@RW1 @RW1, RW0 +d16, RW0 MOVW MOVW@RW2 @RW2, RW0 +d16, RW0 MOVW MOVW@RW3 @RW3, RW0 +d16, RW0 MOVW MOVW@RW0 @RW0+, RW0 +RW7,RW0 MOVW MOVW@RW1 @RW1+, RW0 +RW7,RW0 MOVW MOVW@PC @RW2+, RW0 +d16, RW0 MOVW MOVW @RW3+, RW0 addr16, RW0 +8 +9 +A +B FUJITSU MICROELECTRONICS LIMITED +C +D +E +F MOVW MOVW @RW3+, RW2 addr16, RW2 MOVW MOVW@PC @RW2+, RW2 +d16, RW2 MOVW MOVW@RW1 @RW1+, RW2 +RW7,RW2 MOVW MOVW@RW0 @RW0+, RW2 +RW7,RW2 MOVW MOVW@RW3 @RW3, RW2 +d16, RW2 MOVW MOVW@RW2 @RW2, RW2 +d16, RW2 MOVW MOVW@RW1 @RW1, RW2 +d16, RW2 MOVW MOVW @RW3+, RW3 addr16, RW3 MOVW MOVW@PC @RW2+, RW3 +d16, RW3 MOVW MOVW@RW1 @RW1+, RW3 -+RW7,RW3 MOVW MOVW@RW0 @RW0+, RW3 +RW7,RW3 MOVW MOVW@RW3 @RW3, RW3 +d16, RW3 MOVW MOVW@RW2 @RW2, RW3 +d16, RW3 MOVW MOVW@RW1 @RW1, RW3 +d16, RW3 MOVW MOVW @RW3+, RW4 addr16, RW4 MOVW MOVW@PC @RW2+, RW4 +d16, RW4 MOVW MOVW@RW1 @RW1+, RW4 +RW7,RW4 MOVW MOVW@RW0 @RW0+, RW4 +RW7,RW4 MOVW MOVW@RW3 @RW3, RW4 +d16, RW4 MOVW MOVW@RW2 @RW2, RW4 +d16, RW4 MOVW MOVW@RW1 @RW1, RW4 +d16, RW4 MOVW MOVW @RW3+, RW5 addr16, RW5 MOVW MOVW@PC @RW2+, RW5 +d16, RW5 MOVW MOVW@RW1 @RW1+, RW5 +RW7,RW5 MOVW MOVW@RW0 @RW0+, RW5 +RW7,RW5 MOVW MOVW@RW3 @RW3, RW5 +d16, RW5 MOVW MOVW@RW2 @RW2, RW5 +d16, RW5 MOVW MOVW@RW1 @RW1, RW5 +d16, RW5 MOVW MOVW @RW3+, RW6 addr16, RW6 MOVW MOVW @PC @RW2+, RW6 +d16, RW6 MOVW MOVW@RW1 @RW1+, RW6 +RW7,RW6 MOVW MOVW@RW0 @RW0+, RW6 +RW7,RW6 MOVW MOVW@RW3 @RW3, RW6 +d16, RW6 MOVW MOVW@RW2 @RW2, RW6 +d16, RW6 MOVW MOVW@RW1 @RW1, RW6 +d16, RW6 MOVW MOVW @RW3+, RW7 addr16, RW7 MOVW MOVW@PC @RW2+, RW7 +d16, RW7 MOVW MOVW@RW1 @RW1+, RW7 +RW7,RW7 MOVW MOVW@RW0 @RW0+, RW7 +RW7,RW7 MOVW MOVW@RW3 @RW3, RW7 +d16, RW7 MOVW MOVW@RW2 @RW2, RW7 +d16, RW7 MOVW MOVW@RW1 @RW1, RW7 +d16, RW7 MOVW MOVW@RW0 @RW0, RW7 +d16, RW7 MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW RW7, RW0 @RW7+d8, RW0 RW7, RW1 @RW7+d8, RW1 RW7, RW2 @RW7+d8, RW2 RW7, RW3 @RW7+d8, RW3 RW7, RW4 @RW7+d8, RW4 RW7, RW5 @RW7+d8, RW5 RW7, RW6 @RW7+d8, RW6 RW7, RW7 @RW7+d8, RW7 +7 MOVW MOVW@RW0 @RW0, RW6 +d16, RW6 MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW RW6, RW0 @RW6+d8, RW0 RW6, RW1 @RW6+d8, RW1 RW6, RW2 @RW6+d8, RW2 RW6, RW3 @RW6+d8, RW3 RW6, RW4 @RW6+d8, RW4 RW6, RW5 @RW6+d8, RW5 RW6, RW6 @RW6+d8, RW6 RW6, RW7 @RW6+d8, RW7 +6 MOVW MOVW@RW0 @RW0, RW5 +d16, RW5 MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW RW5, RW0 @RW5+d8, RW0 RW5, RW1 @RW5+d8, RW1 RW5, RW2 @RW5+d8, RW2 RW5, RW3 @RW5+d8, RW3 RW5, RW4 @RW5+d8, RW4 RW5, RW5 @RW5+d8, RW5 RW5, RW6 @RW5+d8, RW6 RW5, RW7 @RW5+d8, RW7 +5 MOVW MOVW@RW0 @RW0, RW4 +d16, RW4 MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW RW4, RW0 @RW4+d8, RW0 RW4, RW1 @RW4+d8, RW1 RW4, RW2 @RW4+d8, RW2 RW4, RW3 @RW4+d8, RW3 RW4, RW4 @RW4+d8, RW4 RW4, RW5 @RW4+d8, RW5 RW4, RW6 @RW4+d8, RW6 RW4, RW7 @RW4+d8, RW7 +4 MOVW MOVW@RW0 @RW0, RW3 +d16, RW3 MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW RW3, RW0 @RW3+d8, RW0 RW3, RW1 @RW3+d8, RW1 RW3, RW2 @RW3+d8, RW2 RW3, RW3 @RW3+d8, RW3 RW3, RW4 @RW3+d8, RW4 RW3, RW5 @RW3+d8, RW5 RW3, RW6 @RW3+d8, RW6 RW3, RW7 @RW3+d8, RW7 +3 MOVW MOVW@RW0 @RW0, RW2 +d16, RW2 MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW RW2, RW0 @RW2+d8, RW0 RW2, RW1 @RW2+d8, RW1 RW2, RW2 @RW2+d8, RW2 RW2, RW3 @RW2+d8, RW3 RW2, RW4 @RW2+d8, RW4 RW2, RW5 @RW2+d8, RW5 RW2, RW6 @RW2+d8, RW6 RW2, RW7 @RW2+d8, RW7 +2 MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW RW1, RW0 @RW1+d8, RW0 RW1, RW1 @RW1+d8, RW1 RW1, RW2 @RW1+d8, RW2 RW1, RW3 @RW1+d8, RW3 RW1, RW4 @RW1+d8, RW4 RW1, RW5 @RW1+d8, RW5 RW1, RW6 @RW1+d8, RW6 RW1, RW7 @RW1+d8, RW7 30 +1 20 MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW MOVW RW0, RW0 @RW0+d8, RW0 RW0, RW1 @RW0+d8, RW1 RW0, RW2 @RW0+d8, RW2 RW0, RW3 @RW0+d8, RW3 RW0, RW4 @RW0+d8, RW4 RW0, RW5 @RW0+d8, RW5 RW0, RW6 @RW0+d8, RW6 RW0, RW7 @RW0+d8, RW7 10 +0 00 付録 B.9 命令マップ MB90335 シリーズ 表 B.9-19 MOVW RWi, ea 命令 ( 第 1 バイト =7DH) CM44-10137-6 CM44-10137-6 60 70 80 90 A0 B0 C0 D0 E0 F0 XCH XCH XCH R2, XCH XCH R3, XCH XCH R4, XCH XCH R5, XCH XCH R6, XCH XCH R7, FUJITSU MICROELECTRONICS LIMITED XCH XCH R1, XCH XCH R2, XCH XCH R3, XCH XCH R4, XCH XCH R5, XCH XCH R6, XCH XCH R7, XCH XCH XCH XCH XCH R1, XCH XCH R2, XCH XCH R3, XCH XCH R4, XCH XCH R5, XCH XCH R6, XCH XCH R7, +F R0,@RW3+ R0, addr16 XCH XCH R1,@RW3+ R1, addr16 XCH XCH R2,@RW3+ R2, addr16 XCH XCH R3,@RW3+ R3, addr16 XCH XCH R4,@RW3+ R4, addr16 XCH XCH R5,@RW3+ R5, addr16 XCH XCH R6,@RW3+ R6, addr16 XCH XCH R7,@RW3+ R7, addr16 +E R0,@RW2+ @PC+d16 R1,@RW2+ @PC+d16 R2,@RW2+ @PC+d16 R3,@RW2+ @PC+d16 R4,@RW2+ @PC+d16 R5,@RW2+ @PC+d16 R6,@RW2+ @PC+d16 R7,@RW2+ @PC+d16 R0, XCH XCH R0, XCH XCH R1, XCH XCH R2, XCH XCH R3, XCH XCH R4, XCH XCH R5, XCH XCH R6, XCH XCH R7, @RW1+RW7 R1,@RW1+ @RW1+RW7 R2,@RW1+ @RW1+RW7 R3,@RW1+ @RW1+RW7 R4,@RW1+ @RW1+RW7 R5,@RW1+ @RW1+RW7 R6,@RW1+ @RW1+RW7 R7,@RW1+ @RW1+RW7 +D R0,@RW1+ XCH XCH R0, XCH XCH R1, XCH XCH R2, XCH XCH R3, XCH XCH R4, XCH XCH R5, XCH XCH R6, XCH XCH R7, @RW0+RW7 R1,@RW0+ @RW0+RW7 R2,@RW0+ @RW0+RW7 R3,@RW0+ @RW0+RW7 R4,@RW0+ @RW0+RW7 R5,@RW0+ @RW0+RW7 R6,@RW0+ @RW0+RW7 R7,@RW0+ @RW0+RW7 XCH +C R0,@RW0+ +B R0,@RW3 @RW3+d16 R1,@RW3 @RW3+d16 R2,@RW3 @RW3+d16 R3,@RW3 @RW3+d16 R4,@RW3 @RW3+d16 R5,@RW3 @RW3+d16 R6,@RW3 @RW3+d16 R7,@RW3 @RW3+d16 R0, +A R0,@RW2 @RW2+d16 R1,@RW2 @RW2+d16 R2,@RW2 @RW2+d16 R3,@RW2 @RW2+d16 R4,@RW2 @RW2+d16 R5,@RW2 @RW2+d16 R6,@RW2 @RW2+d16 R7,@RW2 @RW2+d16 XCH XCH XCH R0, XCH XCH R1, XCH XCH R2, XCH XCH R3, XCH XCH R4, XCH XCH R5, XCH XCH R6, XCH XCH R7, R0,@RW1 @RW1+d16 R1,@RW1 @RW1+d16 R2,@RW1 @RW1+d16 R3,@RW1 @RW1+d16 R4,@RW1 @RW1+d16 R5,@RW1 @RW1+d16 R6,@RW1 @RW1+d16 R7,@RW1 @RW1+d16 +9 R1, XCH XCH R0, XCH XCH R1, XCH XCH R2, XCH XCH R3, XCH XCH R4, XCH XCH R5, XCH XCH R6, XCH XCH R7, R0,@RW0 @RW0+d16 R1,@RW0 @RW0+d16 R2,@RW0 @RW0+d16 R3,@RW0 @RW0+d16 R4,@RW0 @RW0+d16 R5,@RW0 @RW0+d16 R6,@RW0 @RW0+d16 R7,@RW0 @RW0+d16 +8 XCH XCH XCH R0, XCH XCH R1, XCH XCH R2, XCH XCH R3, XCH XCH R4, XCH XCH R5, XCH XCH R6, XCH XCH R7, R0, R7 @RW7+d8 R1, R7 @RW7+d8 R2, R7 @RW7+d8 R3, R7 @RW7+d8 R4, R7 @RW7+d8 R5, R7 @RW7+d8 R6, R7 @RW7+d8 R7, R7 @RW7+d8 +7 XCH XCH XCH R0, XCH XCH R1, XCH XCH R2, XCH XCH R3, XCH XCH R4, XCH XCH R5, XCH XCH R6, XCH XCH R7, R0, R6 @RW6+d8 R1, R6 @RW6+d8 R2, R6 @RW6+d8 R3, R6 @RW6+d8 R4, R6 @RW6+d8 R5, R6 @RW6+d8 R6, R6 @RW6+d8 R7, R6 @RW6+d8 +6 R0, XCH XCH R0, XCH XCH R1, XCH XCH R2, XCH XCH R3, XCH XCH R4, XCH XCH R5, XCH XCH R6, XCH XCH R7, R0, R5 @RW5+d8 R1, R5 @RW5+d8 R2, R5 @RW5+d8 R3, R5 @RW5+d8 R4, R5 @RW5+d8 R5, R5 @RW5+d8 R6, R5 @RW5+d8 R7, R5 @RW5+d8 +5 XCH XCH XCH R0, XCH XCH R1, XCH XCH R2, XCH XCH R3, XCH XCH R4, XCH XCH R5, XCH XCH R6, XCH XCH R7, R0, R4 @RW4+d8 R1, R4 @RW4+d8 R2, R4 @RW4+d8 R3, R4 @RW4+d8 R4, R4 @RW4+d8 R5, R4 @RW4+d8 R6, R4 @RW4+d8 R7, R4 @RW4+d8 +4 XCH XCH XCH R0, XCH XCH R1, XCH XCH R2, XCH XCH R3, XCH XCH R4, XCH XCH R5, XCH XCH R6, XCH XCH R7, R0, R3 @RW3+d8 R1, R3 @RW3+d8 R2, R3 @RW3+d8 R3, R3 @RW3+d8 R4, R3 @RW3+d8 R5, R3 @RW3+d8 R6, R3 @RW3+d8 R7, R3 @RW3+d8 +3 XCH XCH R0, XCH XCH R1, XCH XCH R2, XCH XCH R3, XCH XCH R4, XCH XCH R5, XCH XCH R6, XCH XCH R7, R0, R2 @RW2+d8 R1, R2 @RW2+d8 R2, R2 @RW2+d8 R3, R2 @RW2+d8 R4, R2 @RW2+d8 R5, R2 @RW2+d8 R6, R2 @RW2+d8 R7, R2 @RW2+d8 50 +2 40 XCH XCH R0, XCH XCH R1, XCH XCH R2, XCH XCH R3, XCH XCH R4, XCH XCH R5, XCH XCH R6, XCH XCH R7, R0, R1 @RW1+d8 R1, R1 @RW1+d8 R2, R1 @RW1+d8 R3, R1 @RW1+d8 R4, R1 @RW1+d8 R5, R1 @RW1+d8 R6, R1 @RW1+d8 R7, R1 @RW1+d8 30 +1 20 XCH XCH R0, XCH XCH R1, XCH XCH R2, XCH XCH R3, XCH XCH R4, XCH XCH R5, XCH XCH R6, XCH XCH R7, R0, R0 @RW0+d8 R1, R0 @RW0+d8 R2, R0 @RW0+d8 R3, R0 @RW0+d8 R4, R0 @RW0+d8 R5, R0 @RW0+d8 R6, R0 @RW0+d8 R7, R0 @RW0+d8 10 +0 00 MB90335 シリーズ 付録 B.9 命令マップ 表 B.9-20 XCH Ri, ea 命令 ( 第 1 バイト =7EH) 593 594 40 50 60 70 80 90 A0 B0 C0 D0 E0 F0 FUJITSU MICROELECTRONICS LIMITED XCHW XCHW RW0, XCHW XCHW RW1, XCHW XCHW RW2, XCHW XCHW RW3, XCHW XCHW RW4, XCHW XCHW RW5, XCHW XCHW RW6, XCHW XCHW RW7, RW0,@RW1 @RW1+d16 RW1,@RW1 @RW1+d16 RW2,@RW1 @RW1+d16 RW3,@RW1 @RW1+d16 RW4,@RW1 @RW1+d16 RW5,@RW1 @RW1+d16 RW6,@RW1 @RW1+d16 RW7,@RW1 @RW1+d16 XCHW XCHW RW0, XCHW XCHW RW1, XCHW XCHW RW2, XCHW XCHW RW3, XCHW XCHW RW4, XCHW XCHW RW5, XCHW XCHW RW6, XCHW XCHW RW7, RW0,@RW2 @RW2+d16 RW1,@RW2 @RW2+d16 RW2,@RW2 @RW2+d16 RW3,@RW2 @RW2+d16 RW4,@RW2 @RW2+d16 RW5,@RW2 @RW2+d16 RW6,@RW2 @RW2+d16 RW7,@RW2 @RW2+d16 XCHW XCHW RW0, XCHW XCHW RW1, XCHW XCHW RW2, XCHW XCHW RW3, XCHW XCHW RW4, XCHW XCHW RW5, XCHW XCHW RW6, XCHW XCHW RW7, RW0,@RW3 @RW3+d16 RW1,@RW3 @RW3+d16 RW2,@RW3 @RW3+d16 RW3,@RW3 @RW3+d16 RW4,@RW3 @RW3+d16 RW5,@RW3 @RW3+d16 RW6,@RW3 @RW3+d16 RW7,@RW3 @RW3+d16 XCHW XCHW RW0, XCHW XCHW RW1, XCHW XCHW RW2, XCHW XCHW RW3, XCHW XCHW RW4, XCHW XCHW RW5, XCHW XCHW RW6, XCHW XCHW RW7, RW0,@RW0+ @RW0+RW7 RW1,@RW0+ @RW0+RW7 RW2,@RW0+ @RW0+RW7 RW3,@RW0+ @RW0+RW7 RW4,@RW0+ @RW0+RW7 RW5,@RW0+ @RW0+RW7 RW6,@RW0+ @RW0+RW7 RW7,@RW0+ @RW0+RW7 XCHW XCHW RW0, XCHW XCHW RW1, XCHW XCHW RW2, XCHW XCHW RW3, XCHW XCHW RW4, XCHW XCHW RW5, XCHW XCHW RW6, XCHW XCHW RW7, RW0,@RW1+ @RW1+RW7 RW1,@RW1+ @RW1+RW7 RW2,@RW1+ @RW1+RW7 RW3,@RW1+ @RW1+RW7 RW4,@RW1+ @RW1+RW7 RW5,@RW1+ @RW1+RW7 RW6,@RW1+ @RW1+RW7 RW7,@RW1+ @RW1+RW7 XCHW XCHW RW0, XCHW XCHW RW1, XCHW XCHW RW2, XCHW XCHW RW3, XCHW XCHW RW4, XCHW XCHW RW5, XCHW XCHW RW6, XCHW XCHW RW7, RW0,@RW2+ @PC+d16 RW1,@RW2+ @PC+d16 RW2,@RW2+ @PC+d16 RW3,@RW2+ @PC+d16 RW4,@RW2+ @PC+d16 RW5,@RW2+ @PC+d16 RW6,@RW2+ @PC+d16 RW7,@RW2+ @PC+d16 XCHW XCHW RW0,@RW3+ RW0, addr16 +9 +A +B +C +D +E +F XCHW XCHW RW7,@RW3+ RW7, addr16 XCHW XCHW RW0, XCHW XCHW RW1, XCHW XCHW RW2, XCHW XCHW RW3, XCHW XCHW RW4, XCHW XCHW RW5, XCHW XCHW RW6, XCHW XCHW RW7, RW0,@RW0 @RW0+d16 RW1,@RW0 @RW0+d16 RW2,@RW0 @RW0+d16 RW3,@RW0 @RW0+d16 RW4,@RW0 @RW0+d16 RW5,@RW0 @RW0+d16 RW6,@RW0 @RW0+d16 RW7,@RW0 @RW0+d16 +8 XCHW XCHW RW6,@RW3+ RW6, addr16 XCHW XCHW RW0, XCHW XCHW RW1, XCHW XCHW RW2, XCHW XCHW RW3, XCHW XCHW RW4, XCHW XCHW RW5, XCHW XCHW RW6, XCHW XCHW RW7, RW0, RW7 @RW7+d8 RW1, RW7 @RW7+d8 RW2, RW7 @RW7+d8 RW3, RW7 @RW7+d8 RW4, RW7 @RW7+d8 RW5, RW7 @RW7+d8 RW6, RW7 @RW7+d8 RW7, RW7 @RW7+d8 +7 XCHW XCHW RW5,@RW3+ RW5, addr16 XCHW XCHW RW0, XCHW XCHW RW1, XCHW XCHW RW2, XCHW XCHW RW3, XCHW XCHW RW4, XCHW XCHW RW5, XCHW XCHW RW6, XCHW XCHW RW7, RW0, RW6 @RW6+d8 RW1, RW6 @RW6+d8 RW2, RW6 @RW6+d8 RW3, RW6 @RW6+d8 RW4, RW6 @RW6+d8 RW5, RW6 @RW6+d8 RW6, RW6 @RW6+d8 RW7, RW6 @RW6+d8 +6 XCHW XCHW RW4,@RW3+ RW4, addr16 XCHW XCHW RW0, XCHW XCHW RW1, XCHW XCHW RW2, XCHW XCHW RW3, XCHW XCHW RW4, XCHW XCHW RW5, XCHW XCHW RW6, XCHW XCHW RW7, RW0, RW5 @RW5+d8 RW1, RW5 @RW5+d8 RW2, RW5 @RW5+d8 RW3, RW5 @RW5+d8 RW4, RW5 @RW5+d8 RW5, RW5 @RW5+d8 RW6, RW5 @RW5+d8 RW7, RW5 @RW5+d8 +5 XCHW XCHW RW3,@RW3+ RW3, addr16 XCHW XCHW RW0, XCHW XCHW RW1, XCHW XCHW RW2, XCHW XCHW RW3, XCHW XCHW RW4, XCHW XCHW RW5, XCHW XCHW RW6, XCHW XCHW RW7, RW0, RW4 @RW4+d8 RW1, RW4 @RW4+d8 RW2, RW4 @RW4+d8 RW3, RW4 @RW4+d8 RW4, RW4 @RW4+d8 RW5, RW4 @RW4+d8 RW6, RW4 @RW4+d8 RW7, RW4 @RW4+d8 +4 XCHW XCHW RW2,@RW3+ RW2, addr16 XCHW XCHW RW0, XCHW XCHW RW1, XCHW XCHW RW2, XCHW XCHW RW3, XCHW XCHW RW4, XCHW XCHW RW5, XCHW XCHW RW6, XCHW XCHW RW7, RW0, RW3 @RW3+d8 RW1, RW3 @RW3+d8 RW2, RW3 @RW3+d8 RW3, RW3 @RW3+d8 RW4, RW3 @RW3+d8 RW5, RW3 @RW3+d8 RW6, RW3 @RW3+d8 RW7, RW3 @RW3+d8 +3 XCHW XCHW RW1,@RW3+ RW1, addr16 XCHW XCHW RW0, XCHW XCHW RW1, XCHW XCHW RW2, XCHW XCHW RW3, XCHW XCHW RW4, XCHW XCHW RW5, XCHW XCHW RW6, XCHW XCHW RW7, RW0, RW2 @RW2+d8 RW1, RW2 @RW2+d8 RW2, RW2 @RW2+d8 RW3, RW2 @RW2+d8 RW4, RW2 @RW2+d8 RW5, RW2 @RW2+d8 RW6, RW2 @RW2+d8 RW7, RW2 @RW2+d8 +2 XCHW XCHW RW0, XCHW XCHW RW1, XCHW XCHW RW2, XCHW XCHW RW3, XCHW XCHW RW4, XCHW XCHW RW5, XCHW XCHW RW6, XCHW XCHW RW7, RW0, RW1 @RW1+d8 RW1, RW1 @RW1+d8 RW2, RW1 @RW1+d8 RW3, RW1 @RW1+d8 RW4, RW1 @RW1+d8 RW5, RW1 @RW1+d8 RW6, RW1 @RW1+d8 RW7, RW1 @RW1+d8 30 +1 20 XCHW XCHW RW0, XCHW XCHW RW1, XCHW XCHW RW2, XCHW XCHW RW3, XCHW XCHW RW4, XCHW XCHW RW5, XCHW XCHW RW6, XCHW XCHW RW7, RW0, RW0 @RW0+d8 RW1, RW0 @RW0+d8 RW2, RW0 @RW0+d8 RW3, RW0 @RW0+d8 RW4, RW0 @RW0+d8 RW5, RW0 @RW0+d8 RW6, RW0 @RW0+d8 RW7, RW0 @RW0+d8 10 +0 00 付録 B.9 命令マップ MB90335 シリーズ 表 B.9-21 XCHW RWi, ea 命令 ( 第 1 バイト =7FH) CM44-10137-6 MB90335 シリーズ 索引 Numerics A 16 ビットタイマレジスタ 16 ビットタイマレジスタ 0(TMR0) ...................331 16 ビットタイマレジスタ 0(TMR0)/ 16 ビットリロードレジスタ 0(TMRLR0) ..........................................................................331 16 ビットリロードタイマ 16 ビットリロードタイマの概要 ........................322 16 ビットリロードタイマの設定 ........................333 16 ビットリロードタイマの動作モード ............323 16 ビットリロードタイマの ブロックダイヤグラム ..................................325 16 ビットリロードタイマレジスタ一覧 ............326 16 ビットリロードレジスタ 16 ビットタイマレジスタ 0(TMR0)/ 16 ビットリロードレジスタ 0(TMRLR0) ..........................................................................331 16 ビットリロードレジスタ 0(TMRLR0) ..........332 1 対 1 モード 外部クロック (1 対 1 モード ) によるボーレート ..........................................................................415 24 ビット 24 ビットオペランド指定 ......................................22 8/16 ビット PPG 8/16 ビット PPG タイマのレジスタ一覧 ...........347 8/16 ビット PPG タイマ 8/16 ビット PPG タイマの概略仕様 ...................344 8/16 ビット PPG タイマの動作概略 ...................356 8/16 ビット PPG タイマのブロックダイヤグラム ..........................................................................345 8/16 ビット PPG タイマの割込み .......................359 A CM44-10137-6 アキュムレータ (A) ................................................29 ADB バンクレジスタ (PCB, DTB, USB, SSB, ADB) ............................................................................35 B BAP バッファアドレスポインタ (BAP) .......................77 C CCR コンディションコードレジスタ (CCR) ...............31 CKSCR クロック選択レジスタ (CKSCR) の構成 ...........128 CMR コモンレジスタバンクプリフィックス (CMR) .................................................................39 CPU CPU 間欠動作モード ....................................139, 146 CPU 動作モードと消費電流 ................................138 CPU の概要 ..............................................................18 CPU メモリ空間の概要 ..........................................19 D DBAPH DMA バッファアドレスポインタ (DBAPH/DBAPM/DBAPL) ...............................98 DBAPL DMA バッファアドレスポインタ (DBAPH/DBAPM/DBAPL) ...............................98 DBAPM DMA バッファアドレスポインタ (DBAPH/DBAPM/DBAPL) ...............................98 DCSR DMA ディスクリプタチャネル指定レジスタ (DCSR) ............................................................................87 DCT データカウンタ (DCT) ...........................................75 DDCTH DMA データカウンタ (DDCTH/DDCTL) ............94 DMA データカウンタ (DDCTH/DDCTL) の設定値に ついて ................................................................94 DDCTL DMA データカウンタ (DDCTH/DDCTL) ............94 DMA データカウンタ (DDCTH/DDCTL) の設定値に ついて ................................................................94 DDR ポート方向レジスタ (DDR0 ∼ DDR2,DDR4 ∼ DDR6) .................169 FUJITSU MICROELECTRONICS LIMITED 595 MB90335 シリーズ DDWR DMA ディスクリプタウィンドウレジスタ (DDWR) の構成 ................................................................93 DIOAH DMA I/O レジスタアドレスポインタ (DIOAH/DIOAL) ...............................................95 DIOAL DMA I/O レジスタアドレスポインタ (DIOAH/DIOAL) ...............................................95 DIVR PWC 分周比制御レジスタ (DIVR) .....................303 DMA DMA I/O レジスタアドレスポインタ (DIOAH/DIOAL) ...............................................95 DMACS DMA コントロールレジスタ (DMACS) ..............96 DMA 許可レジスタ DMA 許可レジスタ ................................................92 DMA コントロールレジスタ DMA コントロールレジスタ (DMACS) ..............96 DMA ステータスレジスタ DMA ステータスレジスタ (DSRH/DSRL) ...........89 DMA ストップステータスレジスタ DMA ストップステータスレジスタ (DSSR) ............................................................................90 DMA ディスクリプタ DMA ディスクリプタの各レジスタ ....................93 DMA ディスクリプタウィンドウレジスタ DMA ディスクリプタウィンドウレジスタ (DDWR) の構成 ................................................................93 DMA ディスクリプタチャネル指定レジスタ DMA ディスクリプタチャネル指定レジスタ (DCSR) ............................................................................87 DMA データカウンタ DMA データカウンタ (DDCTH/DDCTL) ............94 DMA データカウンタ (DDCTH/DDCTL) の設定値に ついて ................................................................94 DMA バッファアドレスポインタ DMA バッファアドレスポインタ (DBAPH/DBAPM/DBAPL) ...............................98 DPR ダイレクトページレジスタ (DPR)< 初期値 :01H> ............................................................................36 DQ3 セクタ消去タイマフラグ (DQ3) .........................503 DQ5 タイミングリミット超過フラグ (DQ5) .............502 DQ6 トグルビットフラグ (DQ6) .................................501 DQ7 データポーリングフラグ (DQ7) .........................499 DSRH DMA ステータスレジスタ (DSRH/DSRL) ...........89 DSRL DMA ステータスレジスタ (DSRH/DSRL) ...........89 DSSR DMA ストップステータスレジスタ (DSSR) ............................................................................90 DTB バンクレジスタ (PCB, DTB, USB, SSB, ADB) ............................................................................35 DTP DTP の動作 ............................................................366 596 DTP/ 外部割込み DTP/ 外部割込みの概要 .......................................362 DTP/ 外部割込みの動作手順 ...............................368 DTP/ 外部割込みのブロックダイヤグラム ..........................................................................362 DTP/ 外部割込みのレジスタ一覧 .......................363 DTP/ 割込み許可レジスタ DTP/ 割込み許可レジスタ (ENIR:Enable Interrupt Request Register) ..........................................................................363 DTP/ 割込み要因レジスタ DTP/ 割込み要因レジスタ (EIRR:External Interrupt Request Register) ..........................................................................364 E E2PROM E2PROM のメモリマップ ....................................472 システム構成と E2PROM のメモリ構成 ...........472 修正プログラムを E2PROM に格納する場合の アドレス一致検出機能の動作 ......................474 EI2OS UART の EI2OS 機能 ............................................407 UART の割込みと EI2OS および μDMAC .........407 拡張インテリジェント I/O サービス (EI2OS) ............................................................................72 拡張インテリジェント I/O サービス (EI2OS) 処理時間 (1 回の転送時間 ) .............................80 拡張インテリジェント I/O サービス (EI2OS) ステータスレジスタ (ISCS) ............................76 拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ (ISD) の構成 .........................74 拡張インテリジェント I/O サービス (EI2OS) の 使用手順 ............................................................79 拡張インテリジェント I/O サービス (EI2OS) の 処理手順 ............................................................78 拡張インテリジェント I/O サービス (EI2OS) の 動作 ....................................................................73 タイムベースタイマの割込みと EI2OS,μDMAC ..........................................................................178 EIRR DTP/ 割込み要因レジスタ (EIRR:External Interrupt Request Register) ..........................................................................364 ELVR 要求レベル設定レジスタ (ELVR:External Level Register) ......................364 ENIR DTP/ 割込み許可レジスタ (ENIR:Enable Interrupt Request Register) ..........................................................................363 EOF 設定レジスタ EOF 設定レジスタ (HEOF) ..................................269 EP0C EP0 制御レジスタ (EP0C) ....................................205 EP0DT EP0 ∼ EP5 データレジスタ (EP0DT ∼ EP5DT) ..........................................................................226 EP0IS EP0I ステータスレジスタ (EP0IS) ......................217 FUJITSU MICROELECTRONICS LIMITED CM44-10137-6 MB90335 シリーズ EP0I ステータスレジスタ EP0I ステータスレジスタ (EP0IS) ......................217 EP0OS EP0O ステータスレジスタ (EP0OS) ...................219 EP0O ステータスレジスタ EP0O ステータスレジスタ (EP0OS) ...................219 EP0 制御レジスタ EP0 制御レジスタ (EP0C) ....................................205 EP0 ∼ EP5 データレジスタ EP0 ∼ EP5 データレジスタ (EP0DT ∼ EP5DT) ..........................................................................226 EP1C EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C) ........207 EP1S EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S) ..........................................................................222 EP1 ∼ EP5 ステータスレジスタ EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S) ..........................................................................222 EP1 ∼ EP5 制御レジスタ EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C) ........207 EP5C EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C) ........207 EP5DT EP0 ∼ EP5 データレジスタ (EP0DT ∼ EP5DT) ..........................................................................226 EP5S EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S) ..........................................................................222 F F2MC-16LX F2MC-16LX 命令一覧表 .......................................559 FMCS FMCS:WE の設定について ..................................491 フラッシュメモリコントロールステータス レジスタ (FMCS) ............................................484 FPT-64P-M23 端子配列図 (FPT-64P-M23) ......................................8 FRAME 設定レジスタ FRAME 設定レジスタ (HFRAME) ......................270 FWR フラッシュメモリ書込みコントロールレジスタ (FWR0/FWR1) .................................................487 フラッシュメモリ書込みコントロールレジスタ (FWR0/FWR1) 設定フロー ............................490 H HADR ホストアドレスレジスタ (HADR) ......................268 HCNT ホストコントロールレジスタ 0,1(HCNT0/HCNT1) ..........................................................................255 HEOF EOF 設定レジスタ (HEOF) ..................................269 HERR ホストエラーステータスレジスタ (HERR) ......262 HFCOMP SOF 割込み FRAME 比較レジスタ (HFCOMP) ..........................................................................266 CM44-10137-6 HFRAME FRAME 設定レジスタ (HFRAME) ......................270 HIRQ ホスト割込みレジスタ (HIRQ) ...........................259 HRTIMER リトライタイマ設定レジスタ (HRTIMER) ..........................................................................267 HSTATE ホスト状態ステータスレジスタ (HSTATE) ..........................................................................264 HTOKEN ホストトークンエンドポイントレジスタ (HTOKEN) ..........................................................................271 I I/O I/O 領域 ....................................................................20 I/O ポート I/O ポートの機能 ..................................................166 I/O ポートのレジスタ ..........................................167 I/O マップ I/O マップ ..............................................................527 I/O レジスタアドレスポインタ DMA I/O レジスタアドレスポインタ (DIOAH/DIOAL) ...............................................95 I/O レジスタアドレスポインタ (IOA) ..................75 I2C インタフェース I2C インタフェースの機能 ..................................434 I2C インタフェースの転送フロー ......................453 I2C インタフェースの動作フロー ......................456 I2C インタフェースのブロックダイヤグラム ..........................................................................435 I2C インタフェースのモードフロー ..................455 I2C インタフェースのレジスタ一覧 ..................436 I2C バスアドレスレジスタ I2C バスアドレスレジスタ 0 (IADR0) ................448 2C バスクロックコントロールレジスタ I I2C バスクロックコントロールレジスタ 0 (ICCR0) ..........................................................................446 I2C バスコントロールレジスタ I2C バスコントロールレジスタ 0 (IBCR0) ........439 I2C バスコントロールレジスタ 0 (IBCR0) 使用上の注意 ..................................................445 I2C バスステータスレジスタ I2C バスステータスレジスタ 0 (IBSR0) .............437 2 I C バスデータレジスタ I2C バスデータレジスタ 0(IDAR0) .....................449 IADR I2C バスアドレスレジスタ 0 (IADR0) ................448 IBCR I2C バスコントロールレジスタ 0 (IBCR0) ........439 I2C バスコントロールレジスタ 0 (IBCR0) 使用上の注意 ..................................................445 IBSR I2C バスステータスレジスタ 0 (IBSR0) .............437 ICCR I2C バスクロックコントロールレジスタ 0 (ICCR0) ..........................................................................446 ICR 割込み制御レジスタ (ICR) の構成 .......................55 割込み制御レジスタ (ICR00 ∼ ICR15) ................53 FUJITSU MICROELECTRONICS LIMITED 597 MB90335 シリーズ IDAR I2C バスデータレジスタ 0(IDAR0) .....................449 ILM 割込みレベルマスクレジスタ (ILM) ....................32 IN IN,OUT,SETUP トークン .....................................291 IOA I/O レジスタアドレスポインタ (IOA) .................75 ISCS 拡張インテリジェント I/O サービス (EI2OS) ステータスレジスタ (ISCS) ............................76 ISD 拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ (ISD) の構成 .........................74 L LPMCR 低消費電力モード制御レジスタ (LPMCR) ..........................................................................143 LQFP-64 外形寸法図 (LQFP-64) ..............................................7 M MB90335 シリーズ MB90335 シリーズの特長 .......................................2 MB90335 シリーズのブロックダイヤグラム .......6 MD モード端子 (MD2 ∼ MD0) の設定 .....................161 μDMAC μDMAC 使用手順 .................................................101 μDMAC の機能 .......................................................85 μDMAC の動作 .......................................................99 μDMAC レジスタ一覧 ...........................................86 UART の割込みと EI2OS および μDMAC .........407 タイムベースタイマの割込みと EI2OS,μDMAC ..........................................................................178 N NCC フラグ変化抑止プリフィックス (NCC) ...............39 NULL NULL 転送モード .................................................245 O ODR ポート 4 出力端子レジスタ (ODR4) ..................170 OUT IN,OUT,SETUP トークン .....................................291 P PACSR プログラムアドレス検出制御ステータスレジスタ (PACSR) ...........................................................467 PADR プログラムアドレス検出レジスタ (PADR0,PADR1) ..................................................................469, 470 598 PC プログラムカウンタ (PC) ......................................34 PCB バンクレジスタ (PCB, DTB, USB, SSB, ADB) ............................................................................35 PDR ポートデータレジスタ (PDR0 ∼ PDR2, PDR4 ∼ PDR6) ................................................168 PLL クロック PLL クロック逓倍率の選択 .................................132 PLL クロックモード メインクロックモード ,PLL クロックモード ..........................................................................131 PPG PPG0 ∼ PPG3 出力制御レジスタ (PPG01/PPG23) ..........................................................................353 PPG 出力動作 ........................................................357 PPG0/PPG2 動作モード制御レジスタ PPG0/PPG2 動作モード制御レジスタ (PPGC0/PPGC2) ...............................................348 PPG0 ∼ PPG3 出力制御レジスタ PPG0 ∼ PPG3 出力制御レジスタ (PPG01/PPG23) ..........................................................................353 PPG1/PPG3 動作モード制御レジスタ PPG1/PPG3 動作モード制御レジスタ (PPGC1/PPGC3) ...............................................350 PPGC PPG0/PPG2 動作モード制御レジスタ (PPGC0/PPGC2) ...............................................348 PPG1/PPG3 動作モード制御レジスタ (PPGC1/PPGC3) ...............................................350 PPG タイマ 8/16 ビット PPG タイマの概略仕様 ...................344 8/16 ビット PPG タイマの動作概略 ...................356 8/16 ビット PPG タイマのブロックダイヤグラム ..........................................................................345 8/16 ビット PPG タイマの割込み .......................359 PPG リロードレジスタ PPG リロードレジスタ (PRLL0 ∼ PRLL3, PRLH0 ∼ PRLH3) ..........355 PRLH PPG リロードレジスタ (PRLL0 ∼ PRLL3, PRLH0 ∼ PRLH3) ..........355 PRLL PPG リロードレジスタ (PRLL0 ∼ PRLL3, PRLH0 ∼ PRLH3) ..........355 PS プロセッサステータス (PS) ...................................31 PWCR PWC データバッファレジスタ (PWCR) ............302 PWCSR PWC コントロールステータスレジスタ (PWCSR) ..........................................................................297 PWC コントロールステータスレジスタ PWC コントロールステータスレジスタ (PWCSR) ..........................................................................297 PWC タイマ PWC タイマ動作概略 ...........................................304 PWC タイマの機能 ...............................................294 PWC タイマの使用上の注意 ...............................319 PWC タイマのブロックダイヤグラム ...............295 PWC タイマのレジスタ一覧 ...............................296 FUJITSU MICROELECTRONICS LIMITED CM44-10137-6 MB90335 シリーズ PWC データバッファレジスタ PWC データバッファレジスタ (PWCR) ............302 PWC 分周比制御レジスタ PWC 分周比制御レジスタ (DIVR) .....................303 R RAM RAM 領域 .................................................................20 RDR ポート 0, 1 プルアップ抵抗レジスタ (RDR0,RDR1) ..........................................................................170 ROM ROM 領域 .................................................................20 ROMM ROMM(ROM ミラー機能選択レジスタ ) ..........461 ROM ミラー ROM ミラー機能選択モジュールの ブロックダイヤグラム ..................................460 ROM ミラー機能選択モジュールのレジスタ ..........................................................................460 ROM ミラー機能選択レジスタ ROMM(ROM ミラー機能選択レジスタ ) ..........461 RP レジスタバンクポインタ (RP) ..............................32 S SCR シリアル制御レジスタ 0,1(SCR0,SCR1) ............395 SDCR 通信プリスケーラ制御レジスタ (SDCR) ..........378 SDR シリアルデータレジスタ (SDR) .........................377 SEN SEN0 ビットによるアクセスセクタマップ ......493 SETUP IN,OUT,SETUP トークン .....................................291 SIDR シリアル入力データレジスタ 0,1(SIDR0,SIDR1) ..........................................................................402 SLP STP,SLP,TMD ビットの優先順位 .......................145 SMCS シリアルモードコントロールステータスレジスタ (SMCS) .............................................................372 SMR シリアルモードレジスタ 0,1(SMR0,SMR1) ..........................................................................397 SODR シリアル出力データレジスタ 0,1(SODR0,SODR1) ..........................................................................403 SOF トークン SOF トークン ........................................................292 SOF 割込み SOF 割込み ............................................................283 SOF 割込み FRAME 比較レジスタ SOF 割込み FRAME 比較レジスタ (HFCOMP) ..........................................................................266 SSB バンクレジスタ (PCB, DTB, USB, SSB, ADB) ............................................................................35 CM44-10137-6 SSP ユーザスタックポインタ (USP) とシステム スタックポインタ (SSP) ..................................30 SSR シリアルステータスレジスタ 0,1(SSR0,SSR1) ..........................................................................399 セクタ変換設定レジスタ (SSR0) ........................492 セクタ変換設定レジスタ (SSR0) の設定手順 ..........................................................................513 STP STP,SLP,TMD ビットの優先順位 .......................145 T TBTC タイムベースタイマ制御レジスタ (TBTC) ..........................................................................176 TMCSR タイマ制御ステータスレジスタ 0(TMCSR0) ..........................................................................327 TMD STP,SLP,TMD ビットの優先順位 .......................145 TMR 16 ビットタイマレジスタ 0(TMR0) ...................331 16 ビットタイマレジスタ 0(TMR0)/ 16 ビットリロードレジスタ 0(TMRLR0) ..........................................................................331 TMRLR 16 ビットタイマレジスタ 0(TMR0)/ 16 ビットリロードレジスタ 0(TMRLR0) ..........................................................................331 16 ビットリロードレジスタ 0(TMRLR0) ..........332 TMSP タイムスタンプレジスタ (TMSP) .......................211 U UART UART 使用上の注意 .............................................429 UART の EI2OS 機能 ............................................407 UART の機能 .........................................................388 UART の端子 .........................................................393 UART の動作 .........................................................416 UART のプログラム例 .........................................430 UART のブロックダイヤグラム .........................390 UART のレジスタ一覧 .........................................394 UART の割込み .....................................................406 UART の割込みと EI2OS および μDMAC .........407 UART ボーレート選択 .........................................412 UART プリスケーラ制御レジスタ UART プリスケーラ制御レジスタ 0,1 (UTCR0,UTCR1), UART プリスケーラリロード レジスタ 0,1 (UTRLR0,UTRLR1) ..................404 UDCC UDC 制御レジスタ (UDCC) ................................202 UDCIE UDC 割込み許可レジスタ (UDCIE) ...................215 UDCS UDC ステータスレジスタ (UDCS) .....................212 UDC ステータスレジスタ UDC ステータスレジスタ (UDCS) .....................212 FUJITSU MICROELECTRONICS LIMITED 599 MB90335 シリーズ UDC 制御レジスタ UDC 制御レジスタ (UDCC) ................................202 UDC 割込み許可レジスタ UDC 割込み許可レジスタ (UDCIE) ...................215 USB USB ホストの制限事項 ........................................249 相手先 USB 装置の転送速度の取得とクロック選択 ..........................................................................274 外部 USB 装置が非接続の状態 , 接続の状態 ..........................................................................274 外部 USB 装置の接続検出 ...................................274 バンクレジスタ (PCB, DTB, USB, SSB, ADB) ............................................................................35 USB バス USB バスのリセット前後の注意点 ....................276 USB ファンクション USB ファンクションの動作 ................................227 USB ファンクションの特長 ................................196 USB ファンクションのブロックダイヤグラム ..........................................................................197 USB ファンクションのレジスタ一覧 ................198 USB ホスト USB ホストの特長 ................................................248 USB ホストの動作 ................................................273 USB ホストのブロックダイヤグラム ................250 USB ホストのレジスタ ........................................252 USB 割込み USB 割込みの種類と機能 ..............................50, 533 USP ユーザスタックポインタ (USP) と システムスタックポインタ (SSP) ..................30 UTCR UART プリスケーラ制御レジスタ 0,1 (UTCR0,UTCR1), UART プリスケーラリロード レジスタ 0,1 (UTRLR0,UTRLR1) .................404 UTRLR UART プリスケーラ制御レジスタ 0,1 (UTCR0,UTCR1), UART プリスケーラリロード レジスタ 0,1 (UTRLR0,UTRLR1) .................404 W WDTC ウォッチドッグタイマ制御レジスタ (WDTC) ..........................................................................187 WE FMCS:WE の設定について ..................................491 600 あ アービトレーション アービトレーション .............................................451 相手先 USB 装置 相手先 USB 装置の転送速度の取得とクロック選択 ..........................................................................274 アキュムレータ アキュムレータ (A) ................................................29 アクセス アクセス領域と物理アドレスの関係 .................163 アクセスセクタマップ SEN0 ビットによるアクセスセクタマップ ..........................................................................493 アクノリッジ アクノリッジ .........................................................451 アドレス アドレス作成の方式 ...............................................21 アドレス一致検出 アドレス一致検出機能の概要 .............................464 アドレス一致検出機能の動作 .............................471 アドレス一致検出機能のプログラム例 .............476 アドレス一致検出機能のブロックダイヤグラム ..........................................................................465 アドレス一致検出機能のレジスタと初期値の一覧 ..........................................................................466 修正プログラムを E2PROM に格納する場合の アドレス一致検出機能の動作 ......................474 アドレッシング アドレッシング .............................................450, 536 間接アドレッシング .............................................545 直接アドレッシング .............................................538 い 一時停止 フラッシュメモリのセクタ消去を一時停止する ..........................................................................511 イベントカウントモード イベントカウントモード .....................................341 イベントカウントモード ( 外部クロックモード ) ..........................................................................323 インターバルタイマ インターバルタイマ機能 .....................................172 インターバルタイマ機能 ( タイムベースタイマ ) の 動作 ..................................................................179 インタフェース I2C インタフェースの機能 ..................................434 I2C インタフェースの転送フロー ......................453 I2C インタフェースの動作フロー ......................456 I2C インタフェースのブロックダイヤグラム ..........................................................................435 I2C インタフェースのモードフロー ..................455 I2C インタフェースのレジスタ一覧 ..................436 拡張 I/O シリアルインタフェースの概要 .........370 拡張 I/O シリアルインタフェースの ブロックダイヤグラム ..................................370 拡張 I/O シリアルインタフェースのレジスタ一覧 ..........................................................................371 拡張 I/O シリアルインタフェースの割込み機能 ..........................................................................385 FUJITSU MICROELECTRONICS LIMITED CM44-10137-6 MB90335 シリーズ う ウェイクアップ ホストからウェイクアップ .................................240 ウォッチドッグタイマ ウォッチドッグタイマ機能 .................................186 ウォッチドッグタイマ使用上の注意 .................192 ウォッチドッグタイマの動作 .............................190 ウォッチドッグタイマのプログラム例 .............193 ウォッチドッグタイマのブロックダイヤグラム ..........................................................................189 ウォッチドッグタイマ制御レジスタ ウォッチドッグタイマ制御レジスタ (WDTC) ..........................................................................187 え エラーステータス エラーステータス .................................................285 お オペランド 24 ビットオペランド指定 ......................................22 か 外形寸法図 外形寸法図 (LQFP-64) ..............................................7 外部 USB 装置 外部 USB 装置が非接続の状態 , 接続の状態 ..........................................................................274 外部 USB 装置の接続検出 ...................................274 外部クロック 外部クロック (1 対 1 モード ) によるボーレート ..........................................................................415 外部クロックの専用ボーレートジェネレータに よるボーレート ..............................................414 振動子と外部クロックの接続 .............................135 外部クロックモード イベントカウントモード ( 外部クロックモード ) ..........................................................................323 外部シフトクロックモード 外部シフトクロックモード .................................380 外部リセット端子 外部リセット端子のブロックダイヤグラム ..........................................................................116 外部割込み DTP/ 外部割込みの概要 .......................................362 DTP/ 外部割込みの動作手順 ...............................368 DTP/ 外部割込みのブロックダイヤグラム ..........................................................................362 DTP/ 外部割込みのレジスタ一覧 .......................363 外部割込みの動作 .................................................366 外部割込み要求レベル .........................................368 カウンタ カウンタ動作の状態遷移 .....................................334 カウンタ動作のモード .........................................324 カウンタ動作 測定モードとカウンタ動作 .................................315 CM44-10137-6 カウントクロック カウントクロックと最大周期 .............................312 カウントクロックの選択 .............................307, 358 書換え 上位バンクの書換え時における割込み発生 ..........................................................................513 書込み 書込み / 消去中の動作について ..........................514 シリアルオンボード書込み基本構成 .................516 富士通標準シリアルオンボード書込みに使用する 端子 ..................................................................517 フラッシュメモリ書込み / 消去 ..........................481 フラッシュメモリ書込み / 消去の詳細説明 ..........................................................................504 フラッシュメモリへデータの書込み .................506 書込みタイミング リロードレジスタへの書込みタイミング .........360 書込み手順 フラッシュメモリ書込み手順 .............................506 拡張 I/O シリアルインタフェース 拡張 I/O シリアルインタフェースの概要 .........370 拡張 I/O シリアルインタフェースの動作概要 ..........................................................................379 拡張 I/O シリアルインタフェースの ブロックダイヤグラム ..................................370 拡張 I/O シリアルインタフェースのレジスタ一覧 ..........................................................................371 拡張 I/O シリアルインタフェースの割込み機能 ..........................................................................385 拡張インテリジェント I/O サービス 拡張インテリジェント I/O サービス (EI2OS) ............................................................................72 拡張インテリジェント I/O サービス (EI2OS) 処理時間 (1 回の転送時間 ) .............................80 拡張インテリジェント I/O サービス (EI2OS) ステータスレジスタ (ISCS) ............................76 拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ (ISD) の構成 .........................74 拡張インテリジェント I/O サービス (EI2OS) の 使用手順 ............................................................79 拡張インテリジェント I/O サービス (EI2OS) の 処理手順 ............................................................78 拡張インテリジェント I/O サービス (EI2OS) の 動作 ....................................................................73 間欠動作モード CPU 間欠動作モード ....................................139, 146 間接アドレッシング 間接アドレッシング .............................................545 き 起動後の動作 起動後の動作 .........................................................309 供給マップ クロック供給マップ .............................................125 く クロック PLL クロック逓倍率の選択 .................................132 相手先 USB 装置の転送速度の取得とクロック選択 ..........................................................................274 FUJITSU MICROELECTRONICS LIMITED 601 MB90335 シリーズ 外部クロックの専用ボーレートジェネレータに よるボーレート ..............................................414 クロック供給機能 .........................................173, 180 クロック供給マップ .............................................125 クロックの概要 .....................................................124 クロック発生部のブロックダイヤグラム .........126 振動子と外部クロックの接続 .............................135 内部クロックの専用ボーレートジェネレータに よるボーレート ..............................................413 クロック周波数 発振クロック周波数とシリアルクロック 入力周波数 ......................................................518 クロック選択レジスタ クロック選択レジスタ (CKSCR) の構成 ...........128 クロックモード イベントカウントモード ( 外部クロックモード ) ..........................................................................323 クロックモード .....................................................139 クロックモードの移行 .........................................131 クロックモードの切替え .....................................157 内部クロックモード .............................................323 内部クロックモード ( リロードモード ) の動作 ..........................................................................335 内部クロックモード ( ワンショットモード ) ..........................................................................338 メインクロックモード ,PLL クロックモード ..........................................................................131 け 検出アドレス 検出アドレスの設定 .............................................471 こ コマンド コマンド発行時の注意点 .....................................495 コマンドシーケンス コマンドシーケンス表 .........................................494 コモン コモンレジスタバンクプリフィックス (CMR) ............................................................................39 コンディションコード コンディションコードレジスタ (CCR) ...............31 さ 再開 フラッシュメモリのセクタ消去を再開する ..........................................................................512 再起動 再起動 .....................................................................309 最小限 フラッシュマイコンプログラマとの最小限の 接続例 ( ユーザ電源使用時 ) .........................523 最小入力パルス 最小入力パルス幅 .................................................316 最大周期 カウントクロックと最大周期 .............................312 サスペンド サスペンド処理 .....................................................239 602 サスペンド動作 サスペンド動作 .....................................................287 し システム構成 システム構成と E2PROM のメモリ構成 ...........472 システムスタックポインタ ユーザスタックポインタ (USP) と システムスタックポインタ (SSP) ..................30 実効アドレス 実効アドレスフィールド .....................................554 実効アドレスフィールド 実効アドレスフィールド .....................................537 実行サイクル 実行サイクル数 .....................................................552 実行サイクル数計算方法 .....................................552 シフトクロックモード 外部シフトクロックモード .................................380 内部シフトクロックモード .................................380 シフト動作 シフト動作のスタート / ストップタイミングと 入出力のタイミング ......................................383 周期カウント パルス幅 / 周期カウントの範囲 ..........................317 周期算出方法 パルス幅 / 周期算出方法 ......................................317 修正プログラム 修正プログラムを E2PROM に格納する場合の アドレス一致検出機能の動作 ......................474 周辺装置 外部に接続する周辺装置の条件 .........................368 受信割込み 受信割込み発生とフラグセットのタイミング ..........................................................................408 上位バンク 上位バンクの書換え時における割込み発生 ..........................................................................513 消去 書込み / 消去中の動作について ..........................514 セクタ消去の際の注意点 .....................................509 チップ消去の際の注意点 .....................................508 フラッシュメモリ書込み / 消去 ..........................481 フラッシュメモリ書込み / 消去の詳細説明 ..........................................................................504 フラッシュメモリのセクタ消去を一時停止する ..........................................................................511 フラッシュメモリのセクタ消去を再開する ..........................................................................512 フラッシュメモリのデータを消去する ( チップ消去 ) ..........................................................................508 フラッシュメモリの任意のデータを消去する ( セクタ消去 ) ..................................................509 消去手順 フラッシュメモリのセクタ消去手順 .................509 状態遷移図 状態遷移図 .............................................................153 消費電流 CPU 動作モードと消費電流 ................................138 シリアル I/O シリアル I/O の動作状態 .....................................381 FUJITSU MICROELECTRONICS LIMITED CM44-10137-6 MB90335 シリーズ シリアルインタフェース 拡張 I/O シリアルインタフェースの概要 .........370 拡張 I/O シリアルインタフェースの ブロックダイヤグラム ..................................370 拡張 I/O シリアルインタフェースのレジスタ一覧 ..........................................................................371 拡張 I/O シリアルインタフェースの割込み機能 ..........................................................................385 シリアルオンボード シリアルオンボード書込み基本構成 .................516 富士通標準シリアルオンボード書込みに使用する 端子 ..................................................................517 シリアル書込み シリアル書込み接続例 .........................................520 シリアルクロック入力周波数 発振クロック周波数とシリアルクロック 入力周波数 ......................................................518 シリアル出力データレジスタ シリアル出力データレジスタ 0,1(SODR0,SODR1) ..........................................................................403 シリアルステータスレジスタ シリアルステータスレジスタ 0,1(SSR0,SSR1) ..........................................................................399 シリアル制御レジスタ シリアル制御レジスタ 0,1(SCR0,SCR1) ............395 シリアルデータ シリアルデータ転送中の動作 .............................384 シリアルデータレジスタ シリアルデータレジスタ (SDR) .........................377 シリアル入力データレジスタ シリアル入力データレジスタ 0,1(SIDR0,SIDR1) ..........................................................................402 シリアルモードコントロールステータスレジスタ シリアルモードコントロールステータスレジスタ (SMCS) .............................................................372 シリアルモードレジスタ シリアルモードレジスタ 0,1(SMR0,SMR1) ..........................................................................397 シングルチップモード シングルチップモード時の接続例 ( ユーザ電源使用時 ) ......................................521 シングルチップモード時の端子状態 .................155 振動子 振動子と外部クロックの接続 .............................135 す 推奨例 モード端子とモードデータの関係 ( 推奨例 ) ..........................................................................163 スタートコンディション スタートコンディション .....................................450 スタック スタック領域 .........................................................104 スタック動作 割込み処理開始時のスタック動作 .....................103 割込み処理復帰時のスタック動作 .....................103 スタンバイモード スタンバイモード .................................................139 スタンバイモード時の動作状態 .........................147 スタンバイモードの割込みによる解除 .............156 スタンバイモードへの移行と割込み .................156 CM44-10137-6 ステータスレジスタ 拡張インテリジェント I/O サービス (EI2OS) ステータスレジスタ (ISCS) ............................76 ストップコンディション ストップコンディション .....................................450 ストップモード ストップモードの解除 .........................................151 ストップモードへの移行 .....................................151 スリープモード スリープモードの解除 .........................................149 スリープモードへの移行 .....................................148 スレーブ マスタ / スレーブ型通信機能 ..............................426 せ 制限事項 USB ホストの制限事項 ........................................249 セクタ デュアルオペレーションフラッシュメモリの セクタおよびバンク構成 ..............................482 セクタ消去 セクタ消去の際の注意点 .....................................509 フラッシュメモリのセクタ消去手順 .................509 フラッシュメモリのセクタ消去を一時停止する ..........................................................................511 フラッシュメモリのセクタ消去を再開する ..........................................................................512 フラッシュメモリの任意のデータを消去する ( セクタ消去 ) ..................................................509 セクタ消去タイマフラグ セクタ消去タイマフラグ (DQ3) .........................503 セクタ変換設定レジスタ セクタ変換設定レジスタ (SSR0) ........................492 セクタ変換設定レジスタ (SSR0) の設定手順 ..........................................................................513 接続 外部 USB 装置が非接続の状態 , 接続の状態 ..........................................................................274 接続検出 外部 USB 装置の接続検出 ...................................274 設定 設定と動作状態 .....................................................473 設定手順 セクタ変換設定レジスタ (SSR0) の設定手順 ..........................................................................513 設定フロー フラッシュメモリ書込みコントロールレジスタ (FWR0/FWR1) 設定フロー ............................490 専用ボーレートジェネレータ 外部クロックの専用ボーレートジェネレータに よるボーレート ..............................................414 内部クロックの専用ボーレートジェネレータに よるボーレート ..............................................413 専用レジスタ 専用レジスタ ...........................................................26 そ 送信割込み 送信割込み発生とフラグセットのタイミング ..........................................................................410 FUJITSU MICROELECTRONICS LIMITED 603 MB90335 シリーズ 双方向通信 双方向通信機能 .....................................................424 測定結果 測定結果のデータ .................................................314 測定モード 測定モードとカウンタ動作 .................................315 ソフトウェア割込み ソフトウェア割込みからの復帰 ...........................70 ソフトウェア割込みに関する注意事項 ...............71 ソフトウェア割込みの起動 ...................................70 ソフトウェア割込みの動作 ...................................71 た タイマ タイマ周期 .............................................................312 タイマのクリア .....................................................311 タイマの動作フロー .............................................313 発振安定待ち時間用タイマ機能 .........................179 タイマ / パルス幅測定 タイマ / パルス幅測定の起動と停止 .................309 タイマ機能 タイマ機能の動作 .................................................305 タイマ制御ステータスレジスタ タイマ制御ステータスレジスタ 0(TMCSR0) ..........................................................................327 タイマ値 タイマ値とリロード値 .........................................311 タイマレジスタ 16 ビットタイマレジスタ 0(TMR0) ...................331 タイミングリミット超過フラグ タイミングリミット超過フラグ (DQ5) .............502 タイムスタンプレジスタ タイムスタンプレジスタ (TMSP) ......................211 タイムベースタイマ インターバルタイマ機能 ( タイムベースタイマ ) の 動作 ..................................................................179 タイムベースタイマ使用上の注意 .....................181 タイムベースタイマの動作 .................................182 タイムベースタイマのプログラム例 .................183 タイムベースタイマのブロックダイヤグラム ..........................................................................174 タイムベースタイマの割込み .............................178 タイムベースタイマの割込みと EI2OS,μDMAC ..........................................................................178 タイムベースタイマ制御レジスタ タイムベースタイマ制御レジスタ (TBTC) ..........................................................................176 タイムベースタイマモード タイムベースタイマモードの解除 .....................150 タイムベースタイマモードへの移行 .................150 ダイレクトページレジスタ ダイレクトページレジスタ (DPR)< 初期値 :01H> ............................................................................36 多重割込み 多重割込み動作 .......................................................66 多重割込みの例 .......................................................67 多バイト長 多バイト長データのアクセス ...............................25 メモリ空間における多バイト長データの配置 ............................................................................25 604 端子 端子機能 .....................................................................9 端子出力制御 パルスの端子出力制御 .........................................358 端子配列図 端子配列図 (FPT-64P-M23) ......................................8 単発測定 単発測定と連続測定 .............................................314 ち 遅延割込み発生モジュール 遅延割込み発生モジュールの使用上の注意 ( 遅延割込み要求ラッチ ) ..............................110 遅延割込み発生モジュールの動作 .....................110 遅延割込み発生モジュールのブロックダイヤグラム ..........................................................................109 遅延割込み発生モジュールのレジスタ一覧 ..........................................................................109 遅延割込み要求ラッチ 遅延割込み発生モジュールの使用上の注意 ( 遅延割込み要求ラッチ ) ..............................110 チップ消去 チップ消去の際の注意点 .....................................508 フラッシュメモリのデータを消去する ( チップ消去 ) ..........................................................................508 注意 注意 .........................................................................511 注意事項 スタンバイモード遷移のための低消費電力モード 制御レジスタ (LPCMR) へアクセスする際の 注意事項 ..........................................................158 直接アドレッシング 直接アドレッシング .............................................538 つ 通信プリスケーラ制御レジスタ 通信プリスケーラ制御レジスタ (SDCR) ...........378 て 停止 停止 .........................................................................310 低消費電力制御回路 低消費電力制御回路のブロック ダイヤグラム ..................................................141 低消費電力モード 低消費電力モードの動作状態 .............................154 低消費電力モード制御レジスタ 低消費電力モード制御レジスタ (LPMCR) .......143 低消費電力モード制御レジスタへの アクセス ..........................................................145 ディスクリプタ DMA ディスクリプタの各レジスタ ....................93 拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ (ISD) の構成 .........................74 逓倍率 PLL クロック逓倍率の選択 .................................132 データカウンタ データカウンタ (DCT) ...........................................75 FUJITSU MICROELECTRONICS LIMITED CM44-10137-6 MB90335 シリーズ データ数自動転送モード データ数自動転送モード .....................................242 データパケット データパケット .....................................................280 データポーリングフラグ データポーリングフラグ (DQ7) .........................499 デバイス デバイス取扱い上の注意 .......................................15 デバイスの切断 .....................................................290 デュアルオペレーション デュアルオペレーションフラッシュメモリの概要 ..........................................................................480 デュアルオペレーションフラッシュメモリの セクタおよびバンク構成 ..............................482 デュアルオペレーションフラッシュメモリの特長 ..........................................................................481 転送時間 拡張インテリジェント I/O サービス (EI2OS) 処理時間 (1 回の転送時間 ) .............................80 転送速度 相手先 USB 装置の転送速度の取得とクロック選択 ..........................................................................274 転送モード NULL 転送モード .................................................245 パケット転送モード .............................................241 と 同期モード 同期モード ( 動作モード 2) 時の動作 ................421 動作状態 設定と動作状態 .....................................................473 動作状態の確認 動作状態の確認 .....................................................310 動作モード CPU 動作モードと消費電流 ................................138 同期モード ( 動作モード 2) 時の動作 ................421 動作モード .....................................................160, 356 動作モードの選択 .................................................308 リロード動作モード .............................................311 ワンショット動作モード .....................................311 トークン IN,OUT,SETUP トークン .....................................291 SOF トークン ........................................................292 トークンパケット トークンパケットの設定 .....................................277 トグルビットフラグ トグルビットフラグ (DQ6) .................................501 な 内部クロック 内部クロックの専用ボーレートジェネレータに よるボーレート ..............................................413 内部クロックモード 内部クロックモード .............................................323 内部クロックモード ( リロードモード ) の動作 ..........................................................................335 内部クロックモード ( ワンショットモード ) ..........................................................................338 内部シフトクロックモード 内部シフトクロックモード .................................380 CM44-10137-6 に 入出力回路形式 入出力回路形式 .......................................................12 入力周波数 発振クロック周波数とシリアルクロック 入力周波数 ......................................................518 は ハードウェアコンポーネント ハードウェアコンポーネントの初期値 .............359 ハードウェアシーケンスフラグ ハードウェアシーケンスフラグ .........................497 ハードウェア割込み ハードウェア割込みからの復帰 ...........................61 ハードウェア割込み処理時間 ...............................68 ハードウェア割込みの起動 ...................................61 ハードウェア割込みの機能 ...................................58 ハードウェア割込みの構造 ...................................59 ハードウェア割込みの使用手順 ...........................64 ハードウェア割込みの動作 ...................................62 ハードウェア割込みの動作フロー .......................63 ハードウェア割込み抑止 .......................................59 ハードワイヤード ハードワイヤードリセットベクタアドレス ..........................................................................496 パケット パケット転送モード .............................................241 パケット終了 パケット終了タイミング .....................................286 バスエラー バスエラー .............................................................451 バスモード バスモード .............................................................160 バスモードの設定ビット (M1,M0) .....................162 発振安定待ち 発振安定待ち時間用タイマ機能 .........................179 発振安定待ちリセット状態 .................................115 発振安定待ち時間 発振安定待ち時間 .........................................134, 157 リセット要因と発振安定待ち時間 .....................114 発振クロック周波数 発振クロック周波数とシリアルクロック 入力周波数 ......................................................518 パッチ処理 プログラム修正のパッチ処理フロー .................475 バッファアドレスポインタ バッファアドレスポインタ (BAP) .......................77 パルス パルスの端子出力制御 .........................................358 パルス幅 パルス幅 / 周期カウントの範囲 ..........................317 パルス幅 / 周期算出方法 ......................................317 リロード値とパルス幅の関係 .............................357 パルス幅測定 タイマ / パルス幅測定の起動と停止 ..................309 パルス幅測定機能の動作 .....................................306 パルス幅測定の動作フロー .................................318 バンク 上位バンクの書換え時における割込み発生 ..........................................................................513 FUJITSU MICROELECTRONICS LIMITED 605 MB90335 シリーズ デュアルオペレーションフラッシュメモリの セクタおよびバンク構成 ..............................482 バンクセレクトプリフィックス バンクセレクトプリフィックス ...........................38 バンク方式 バンク方式によるアドレス指定 ...........................23 バンクレジスタ バンクレジスタ (PCB, DTB, USB, SSB, ADB) ............................................................................35 ハンドシェークパケット ハンドシェークパケット .....................................281 汎用レジスタ 汎用レジスタ ...........................................................28 ひ 非接続 外部 USB 装置が非接続の状態 , 接続の状態 ......................................................274 ビット PPG 8/16 ビット PPG タイマのレジスタ一覧 ...........347 非同期モード 非同期モード時の動作 .........................................418 品種 品種構成 .....................................................................4 ふ 富士通標準 富士通標準シリアルオンボード書込みに使用する 端子 ..................................................................517 復帰 ソフトウェア割込みからの復帰 ...........................70 ハードウェア割込みからの復帰 ...........................61 物理アドレス アクセス領域と物理アドレスの関係 .................163 フラグ フラグ変化抑止プリフィックス (NCC) ...............39 フラグセット 受信割込み発生とフラグセットのタイミング ..........................................................................408 送信割込み発生とフラグセットのタイミング ..........................................................................410 フラッシュマイコンプログラマ フラッシュマイコンプログラマとの最小限の 接続例 ( ユーザ電源使用時 ) .........................523 フラッシュマイコンプログラマシステム フラッシュマイコンプログラマシステム .........519 フラッシュメモリ デュアルオペレーションフラッシュメモリの概要 ..........................................................................480 デュアルオペレーションフラッシュメモリの セクタおよびバンク構成 ..............................482 デュアルオペレーションフラッシュメモリの特長 ..........................................................................481 フラッシュメモリ書込み / 消去 .........................481 フラッシュメモリ書込み / 消去の詳細説明 ..........................................................................504 フラッシュメモリ書込み手順 .............................506 フラッシュメモリのセクタ消去手順 .................509 フラッシュメモリのセクタ消去を一時停止する ..........................................................................511 606 フラッシュメモリのセクタ消去を再開する ..........................................................................512 フラッシュメモリのデータを消去する ( チップ消去 ) ..........................................................................508 フラッシュメモリの任意のデータを消去する ( セクタ消去 ) ..................................................509 フラッシュメモリのレジスタとリセット値の一覧 ..........................................................................483 フラッシュメモリへデータの書込み .................506 フラッシュメモリを読出し / リセット状態にする ..........................................................................505 フラッシュメモリ書込みコントロールレジスタ フラッシュメモリ書込みコントロールレジスタ (FWR0/FWR1) .................................................487 フラッシュメモリ書込みコントロールレジスタ (FWR0/FWR1) 設定フロー ............................490 フラッシュメモリコントロールステータスレジスタ フラッシュメモリコントロールステータス レジスタ (FMCS) ............................................484 プリフィックス 割込み抑止命令とプリフィックス命令に関する 制約 ....................................................................41 プリフィックスコード プリフィックスコードが連続している場合 ............................................................................41 プログラム 修正プログラムを E2PROM に格納する場合の アドレス一致検出機能の動作 ......................474 プログラム修正のパッチ処理フロー .................475 プログラムの実行 .................................................471 割込み処理のプログラム例 .................................105 プログラムアドレス検出制御ステータスレジスタ プログラムアドレス検出制御ステータスレジスタ (PACSR) ...........................................................467 プログラムアドレス検出レジスタ プログラムアドレス検出レジスタ (PADR0,PADR1) ..................................................................469, 470 プログラムカウンタ プログラムカウンタ (PC) ......................................34 プログラム例 UART のプログラム例 .........................................430 アドレス一致検出機能のプログラム例 .............476 ウォッチドッグタイマのプログラム例 .............193 タイムベースタイマのプログラム例 .................183 プロセッサステータス プロセッサステータス (PS) ...................................31 ブロックダイヤグラム 16 ビットリロードタイマの ブロックダイヤグラム ..................................325 8/16 ビット PPG タイマのブロックダイヤグラム ..........................................................................345 DTP/ 外部割込みのブロックダイヤグラム .......362 I2C インタフェースのブロックダイヤグラム ..........................................................................435 MB90335 シリーズのブロックダイヤグラム ..............................................................................6 PWC タイマのブロックダイヤグラム ...............295 ROM ミラー機能選択モジュールの ブロックダイヤグラム ..................................460 UART のブロックダイヤグラム .........................390 USB ファンクションのブロックダイヤグラム ..........................................................................197 USB ホストのブロックダイヤグラム ................250 FUJITSU MICROELECTRONICS LIMITED CM44-10137-6 MB90335 シリーズ アドレス一致検出機能のブロックダイヤグラム ..........................................................................465 ウォッチドッグタイマのブロックダイヤグラム ..........................................................................189 外部リセット端子のブロックダイヤグラム ..........................................................................116 拡張 I/O シリアルインタフェースの ブロックダイヤグラム ..................................370 クロック発生部のブロックダイヤグラム .........126 タイムベースタイマのブロックダイヤグラム ..........................................................................174 遅延割込み発生モジュールのブロックダイヤグラム ..........................................................................109 低消費電力制御回路のブロックダイヤグラム ..........................................................................141 分周比制御レジスタ PWC 分周比制御レジスタ (DIVR) .....................303 ほ ポート 0, 1 プルアップ抵抗レジスタ ポート 0, 1 プルアップ抵抗レジスタ (RDR0,RDR1) ..........................................................................170 ポート 4 出力端子レジスタ ポート 4 出力端子レジスタ (ODR4) ..................170 ポートデータレジスタ ポートデータレジスタ (PDR0 ∼ PDR2, PDR4 ∼ PDR6) ...................168 ポート方向レジスタ ポート方向レジスタ (DDR0 ∼ DDR2, DDR4 ∼ DDR6) ................169 ボーレート UART ボーレート選択 .........................................412 外部クロック (1 対 1 モード ) によるボーレート ..........................................................................415 外部クロックの専用ボーレートジェネレータに よるボーレート ..............................................414 内部クロックの専用ボーレートジェネレータに よるボーレート ..............................................413 ボーレートジェネレータ 外部クロックの専用ボーレートジェネレータに よるボーレート ..............................................414 内部クロックの専用ボーレートジェネレータに よるボーレート ..............................................413 ホスト USB ホストの特長 ................................................248 USB ホストのブロックダイヤグラム ................250 USB ホストの制限事項 ........................................249 USB ホストの動作 ................................................273 USB ホストのレジスタ ........................................252 ホストからウェイクアップ .................................240 ホスト機能の設定 .................................................274 ホストアドレスレジスタ ホストアドレスレジスタ (HADR) ......................268 ホストエラーステータスレジスタ ホストエラーステータスレジスタ (HERR) ..........................................................................262 ホストコントロールレジスタ ホストコントロールレジスタ 0,1(HCNT0/HCNT1) ..........................................................................255 CM44-10137-6 ホスト状態ステータスレジスタ ホスト状態ステータスレジスタ (HSTATE) ..........................................................................264 ホストトークンエンドポイントレジスタ ホストトークンエンドポイントレジスタ (HTOKEN) ..........................................................................271 ホスト割込みレジスタ ホスト割込みレジスタ (HIRQ) ...........................259 ま マシンクロック マシンクロック .....................................................132 マスタ / スレーブ マスタ / スレーブ型通信機能 ..............................426 み 未定義命令 未定義命令の実行 .................................................102 未定義命令の実行による例外発生 .....................102 め 命令 未定義命令の実行 .................................................102 未定義命令の実行による例外発生 .....................102 命令の種類 .............................................................535 命令マップの構造 .................................................573 命令一覧表 F2MC-16LX 命令一覧表 .......................................559 メインクロックモード メインクロックモード ,PLL クロックモード ..........................................................................131 メモリ空間 CPU メモリ空間の概要 ..........................................19 メモリ空間 .............................................................526 メモリ空間における多バイト長データの配置 ............................................................................25 メモリマップ E2PROM のメモリマップ ....................................472 も モード設定 モード設定 .............................................................160 モード端子 モード端子 .............................................................117 モード端子 (MD2 ∼ MD0) の設定 .....................161 モード端子とモードデータの関係 ( 推奨例 ) ..........................................................................163 モードデータ モード端子とモードデータの関係 ( 推奨例 ) ..........................................................................163 モードデータ .........................................................162 モードデータ読出し後の端子の状態 .................121 モードフェッチ モードフェッチ .....................................................118 モジュール ROM ミラー機能選択モジュールの ブロックダイヤグラム ..................................460 FUJITSU MICROELECTRONICS LIMITED 607 MB90335 シリーズ ROM ミラー機能選択モジュールのレジスタ ..........................................................................460 ゆ ユーザスタックポインタ ユーザスタックポインタ (USP) と システムスタックポインタ (SSP) ..................30 ユーザ電源使用時 シングルチップモード時の接続例 ( ユーザ電源使用時 ) ......................................521 フラッシュマイコンプログラマとの最小限の 接続例 ( ユーザ電源使用時 ) .........................523 優先順位 STP,SLP,TMD ビットの優先順位 .......................145 よ 要求レベル 外部割込み要求レベル .........................................368 要求レベル設定レジスタ 要求レベル設定レジスタ (ELVR:External Level Register) ......................364 読出し フラッシュメモリを読出し / リセット状態にする ..........................................................................505 れ ら ライトコマンド ライトコマンド応答時の各レジスタ動作 ..........................................................................233 り リードコマンド リードコマンド応答時の各レジスタ動作 .........232 リセット USB バスのリセット前後の注意点 ....................276 発振安定待ちリセット状態 .................................115 フラッシュメモリのレジスタとリセット値の一覧 ..........................................................................483 フラッシュメモリを読出し / リセット状態にする ..........................................................................505 リセット中の端子の状態 .....................................121 リセット動作の概要 .............................................117 リセット要因 .........................................................112 リセット要因と発振安定待ち時間 .....................114 リセット端子 外部リセット端子のブロックダイヤグラム ..........................................................................116 リセットベクタ ハードワイヤードリセットベクタアドレス ..........................................................................496 リセット要因 リセット要因ビット .............................................119 リセット要因ビットとリセット要因の対応 ..........................................................................119 リセット要因ビットの注意事項 .........................120 リトライ リトライ機能 .........................................................282 608 リトライタイマ設定レジスタ リトライタイマ設定レジスタ (HRTIMER) ..........................................................................267 リモートウェイクアップ リモートウェイクアップ .....................................240 リロード リロード動作モード .............................................311 リロードタイマ 16 ビットリロードタイマの概要 ........................322 16 ビットリロードタイマの設定 ........................333 16 ビットリロードタイマの動作モード ............323 16 ビットリロードタイマのブロックダイヤグラム ..........................................................................325 16 ビットリロードタイマレジスタ一覧 ............326 リロード値 タイマ値とリロード値 .........................................311 リロード値とパルス幅の関係 .............................357 リロードモード 内部クロックモード ( リロードモード ) の動作 ..........................................................................335 リロードレジスタ 16 ビットタイマレジスタ 0(TMR0)/ 16 ビットリロードレジスタ 0(TMRLR0) ..........................................................................331 16 ビットリロードレジスタ 0(TMRLR0) ..........332 リロードレジスタへの書込みタイミング .........360 例外処理 例外処理割込み .......................................................83 例外発生 未定義命令の実行による例外発生 .....................102 レジスタ DMA ディスクリプタの各レジスタ ....................93 レジスタバンク レジスタバンク .......................................................37 レジスタバンクポインタ (RP) ..............................32 レジューム動作 レジューム動作 .....................................................287 連続測定 単発測定と連続測定 .............................................314 わ 割込み 8/16 ビット PPG タイマの割込み .......................359 DTP/ 外部割込みの概要 .......................................362 DTP/ 外部割込みの動作手順 ...............................368 DTP/ 外部割込みのブロックダイヤグラム ..........................................................................362 DTP/ 外部割込みのレジスタ一覧 .......................363 SOF 割込み ............................................................283 UART の割込み .....................................................406 UART の割込みと EI2OS および μDMAC .........407 USB 割込みの種類と機能 ....................................533 外部割込みの動作 .................................................366 外部割込み要求レベル .........................................368 拡張 I/O シリアルインタフェースの割込み機能 ..........................................................................385 受信割込み発生とフラグセットのタイミング ..........................................................................408 FUJITSU MICROELECTRONICS LIMITED CM44-10137-6 MB90335 シリーズ 上位バンクの書換え時における割込み発生 ..........................................................................513 スタンバイモードの割込みによる解除 .............156 スタンバイモードへの移行と割込み .................156 送信割込み発生とフラグセットのタイミング ..........................................................................410 ソフトウェア割込みからの復帰 ...........................70 ソフトウェア割込みに関する注意事項 ...............71 ソフトウェア割込みの起動 ...................................70 ソフトウェア割込みの動作 ...................................71 タイムベースタイマの割込み .............................178 タイムベースタイマの割込みと EI2OS,μDMAC ..........................................................................178 多重割込み動作 .......................................................66 多重割込みの例 .......................................................67 ハードウェア割込みからの復帰 ...........................61 ハードウェア割込み処理時間 ...............................68 ハードウェア割込みの起動 ...................................61 ハードウェア割込みの機能 ...................................58 ハードウェア割込みの構造 ...................................59 ハードウェア割込みの使用手順 ...........................64 ハードウェア割込みの動作 ...................................62 ハードウェア割込みの動作フロー .......................63 ハードウェア割込み抑止 .......................................59 例外処理割込み .......................................................83 割込み処理開始時のスタック動作 .....................103 割込み処理のプログラム例 .................................105 割込み処理復帰時のスタック動作 .....................103 割込みの種類と機能 ...............................................44 割込み発生要求 .....................................................311 割込み要因と割込みベクタ , 割込み制御レジスタ ..........................................................................532 CM44-10137-6 割込み要求発生 .....................................................317 割込みレベルマスクレジスタ (ILM) ....................32 割込み制御レジスタ 割込み制御レジスタ (ICR) の構成 .......................55 割込み制御レジスタ (ICR00 ∼ ICR15) ................53 割込み制御レジスタ一覧 .......................................51 割込み制御レジスタの機能 .............................52, 56 割込み要因と割込みベクタ , 割込み制御レジスタ ..........................................................................532 割込み要因と割込みベクタ / 割込み制御レジスタ ............................................................................48 割込みベクタ 割込みベクタ ...........................................................47 割込み要因と割込みベクタ , 割込み制御レジスタ ..........................................................................532 割込み要因と割込みベクタ / 割込み制御レジスタ ............................................................................48 割込み要因 割込み要因と割込みベクタ , 割込み制御レジスタ ..........................................................................532 割込み要因と割込みベクタ / 割込み制御レジスタ ............................................................................48 割込み抑止 ハードウェア割込み抑止 .......................................59 割込み抑止命令 .......................................................41 割込み抑止命令とプリフィックス命令に関する 制約 ....................................................................41 ワンショット ワンショット動作モード .....................................311 ワンショットモード 内部クロックモード ( ワンショットモード ) ..........................................................................338 FUJITSU MICROELECTRONICS LIMITED 609 MB90335 シリーズ 610 FUJITSU MICROELECTRONICS LIMITED CM44-10137-6 CM44-10137-6 富士通マイクロエレクトロニクス • CONTROLLER MANUAL F2MC®-16LX 16 ビット・マイクロコントローラ MB90335 Series ハードウェアマニュアル 2009 年 8 月 第 6 版発行 発行 富士通マイクロエレクトロニクス株式会社 編集 マーケティング統括部 プロモーション推進部