本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。 富士通マイクロエレクトロニクス CONTROLLER MANUAL CM44-10129-6 2 ® F MC -16LX 16 ビット・マイクロコントローラ MB90330A Series ハードウェアマニュアル F2MC®-16LX 16 ビット・マイクロコントローラ MB90330A Series ハードウェアマニュアル 富士通マイクロエレクトロニクスのマイコンを効率的に開発するための情報を下記 URL にてご紹介いたします。 ご採用を検討中 , またはご採用いただいたお客様に有益な情報を公開しています。 開発における最新の注意事項に関しては , 「デザインレビューシート」を参照してください。 「デザインレビューシート」はシステム開発において , 問題を未然に防ぐことを目的として , 最低限必要と思わ れるチェック項目をリストにしたものです。 http://edevice.fujitsu.com/micom/jp-support/ 富士通マイクロエレクトロニクス株式会社 はじめに ■ 本書の目的と対象読者 富士通マイクロエレクトロニクス製品につきまして , 平素より格別のご愛顧を賜り厚 くお礼申し上げます。 MB90330A シリーズは , パソコン周辺機器などの USB 通信が要求される用途向けに設 計された 16 ビットマイクロコントローラです。USB 機能は , 12 Mbps の Function 動作 ばかりでなく , 簡易的な Host 動作が可能です。ディスプレイやオーディオなどのパソ コン周辺機器や USB 通信対応の携帯機器制御などに適した機能を搭載しています。 本書は , 実際に MB90330A シリーズを使用して製品を開発される技術者を対象に , MB90330A シリーズの機能や動作について解説したものです。本書をご一読ください。 なお , 各種命令の詳細については , 『インストラクション・マニュアル』をご参照くだ さい。 ■ 商標 F2MCは, FUJITSU Flexible Microcontrollerの略で富士通マイクロエレクトロニクス株式 会社の登録商標です。 本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商 標です。 ■ サンプルプログラム F2MC-16LXにファミリの周辺機能を動作させるためのサンプルプログラムを無償で提 供しております。当社マイコンの動作仕様や使用方法の確認などにお役立てください。 マイコンサポート情報 http://edevice.fujitsu.com/micom/jp-support/ * サンプルプログラムについては , 予告なしに変更することがあります。本ソフトは , 標準的な動作や使い方を示したものですので , お客様のシステム上でご使用の際には 十分評価の上でご使用ください。また , これらの使用に起因し生じた損害については , 当社は一切その責任を負いません。 i ■ 本書の全体構成 このマニュアルは , 以下に示す 27 の章および付録から構成されています。 第 1 章 概要 この章では , MB90330A シリーズの特長 , ブロックダイヤグラム , 機能概要など全体を 知るための基本的なことがらについて説明します。 第 2 章 CPU この章では , MB90330A シリーズの機能を知るために , 仕様 , メモリおよびレジスタの 機能について説明します。 第 3 章 割込み この章では, MB90330Aシリーズの割込みと拡張インテリジェントI/Oサービス(EI2OS), ダイレクトメモリアクセスコントローラ (μDMAC) について説明します。 第 4 章 リセット この章では , MB90330A シリーズのリセットについて説明します。 第 5 章 クロック この章では , MB90330A シリーズのクロックについて説明します。 第 6 章 低消費電力モード この章では , MB90330A シリーズの低消費電力モードについて説明します。 第 7 章 モード設定 この章では , モード設定と外部メモリアクセスについて説明します。 第 8 章 I/O ポート この章では , I/O ポートで使用するレジスタの構成および機能について説明します。 第 9 章 タイムベースタイマ この章では , タイムベースタイマの機能と動作について説明します。 第 10 章 ウォッチドッグタイマ この章では , ウォッチドッグタイマの機能と動作について説明します。 第 11 章 時計タイマ この章では , 時計タイマの概要 , レジスタの構成 / 機能および時計タイマの動作につい て説明します。 ii 第 12 章 16 ビット入出力タイマ この章では , 16 ビット入出力タイマの概要 , レジスタの構成 / 機能および 16 ビット入 出力タイマの動作について説明します。 第 13 章 USB ファンクション この章では , USB ファンクションの機能と概要について説明します。 第 14 章 USB ホスト この章では , USB ホストの機能と動作について示します。 第 15 章 PWC タイマ この章では , PWC タイマの概要 , レジスタの構成 / 機能 , PWC タイマの動作および PWC タイマの使用上の注意について説明します。 第 16 章 16 ビットリロードタイマ この章では , 16 ビットリロードタイマの概要 , レジスタの構成 / 機能および 16 ビット リロードタイマの動作について説明します。 第 17 章 8/16 ビット PPG タイマ この章では , 8/16 ビット PPG タイマの概要 , レジスタの構成 / 機能および 8/16 ビット PPG タイマの動作について説明します。 第 18 章 DTP/ 外部割込み この章では , DTP/ 外部割込みの概要 , レジスタの構成 / 機能および DTP/ 外部割込みの 動作について説明します。 第 19 章 8/10 ビット A/D コンバータ この章では , 8/10 ビット A/D コンバータの機能と動作について説明します。 第 20 章 拡張 I/O シリアルインタフェース この章では , 拡張 I/O シリアルインタフェースの概要 , レジスタの構成 / 機能および拡 張 I/O シリアルインタフェースの動作について説明します。 第 21 章 UART この章では , UART の機能と動作について説明します。 第 22 章 I2C インタフェース この章では , I2C インタフェースの概要 , レジスタの構成 / 機能および I2C インタフェー スの動作について説明します。 iii 第 23 章 ROM ミラー機能選択モジュール この章では , ROM ミラー機能選択モジュールの機能について説明します。 第 24 章 アドレス一致検出機能 この章では , アドレス一致検出機能の機能と動作について説明します。 第 25 章 フラッシュメモリ この章では , 3M/4M ビットフラッシュメモリの機能や動作について説明します。 第 26 章 シリアル書込み接続例 ( 横河ディジタルコンピュータ株式会社製フラッシュ マイコンプログラマ ) この章では , 横河ディジタルコンピュータ株式会社製フラッシュマイコンプログラマ を用いた場合の , シリアル書込み接続例について説明します。 第 27 章 シリアル書込み接続例 ( 富士通マイクロエレクトロニクス製 シリアルプログ ラマ ) 本章では , フラッシュメモリのシリアル書込みについて , 富士通マイクロエレクトロニ クス製シリアルプログラマを用いた場合の基本構成を説明します。 付録 付録では , メモリマップおよび F2MC-16LX に使用している命令について , 説明します。 iv • • • • • • • 本資料の記載内容は , 予告なしに変更することがありますので , ご用命の際は営業部門にご確認くださ い。 本資料に記載された動作概要や応用回路例は , 半導体デバイスの標準的な動作や使い方を示したもので , 実際に使用する機器での動作を保証するものではありません。したがいまして , これらを使用するにあ たってはお客様の責任において機器の設計を行ってください。これらの使用に起因する損害などについ ては , 当社はその責任を負いません。 本資料に記載された動作概要・回路図を含む技術情報は , 当社もしくは第三者の特許権 , 著作権等の知的 財産権やその他の権利の使用権または実施権の許諾を意味するものではありません。また , これらの使用 について , 第三者の知的財産権やその他の権利の実施ができることの保証を行うものではありません。し たがって , これらの使用に起因する第三者の知的財産権やその他の権利の侵害について , 当社はその責任 を負いません。 本資料に記載された製品は , 通常の産業用 , 一般事務用 , パーソナル用 , 家庭用などの一般的用途に使用 されることを意図して設計・製造されています。極めて高度な安全性が要求され , 仮に当該安全性が確保 されない場合 , 社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途 ( 原子力 施設における核反応制御 , 航空機自動飛行制御 , 航空交通管制 , 大量輸送システムにおける運行制御 , 生 命維持のための医療機器 , 兵器システムにおけるミサイル発射制御をいう ), ならびに極めて高い信頼性 が要求される用途 ( 海底中継器 , 宇宙衛星をいう ) に使用されるよう設計・製造されたものではありませ ん。したがって , これらの用途にご使用をお考えのお客様は , 必ず事前に営業部門までご相談ください。 ご相談なく使用されたことにより発生した損害などについては , 責任を負いかねますのでご了承くださ い。 半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても , 結果的に人身事故 , 火災事故 , 社会的な損害を生じさせないよう , お客様は , 装置の冗長設計 , 延焼対策設計 , 過電流防止対策 設計 , 誤動作防止設計などの安全設計をお願いします。 本資料に記載された製品を輸出または提供する場合は , 外国為替及び外国貿易法および米国輸出管理関 連法規等の規制をご確認の上 , 必要な手続きをおとりください。 本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商標です。 Copyright ©2005-2009 FUJITSU MICROELECTRONICS LIMITED All rights reserved. v vi 目次 第1章 1.1 1.2 1.3 1.4 1.5 1.6 1.7 第2章 概要 ............................................................................................................ 1 MB90330A シリーズの特長.................................................................................................... 2 ブロックダイヤグラム............................................................................................................ 6 外形寸法図.............................................................................................................................. 8 端子配列図............................................................................................................................ 10 端子機能 ............................................................................................................................... 11 入出力回路形式 .................................................................................................................... 18 デバイス使用上の注意.......................................................................................................... 21 CPU.......................................................................................................... 25 2.1 CPU の概要 .......................................................................................................................... 26 2.2 メモリ空間............................................................................................................................ 27 2.3 リニア方式によるアドレス指定 ........................................................................................... 30 2.4 バンク方式によるアドレス指定 ........................................................................................... 31 2.5 メモリ空間における多バイト長データ................................................................................. 33 2.6 レジスタ ............................................................................................................................... 34 2.6.1 アキュムレータ (A)..................................................................................................... 37 2.6.2 ユーザスタックポインタ (USP) とシステムスタックポインタ (SSP) ....................... 38 2.6.3 プロセッサステータス (PS) ....................................................................................... 39 2.6.4 プログラムカウンタ (PC)........................................................................................... 42 2.6.5 バンクレジスタ (PCB, DTB, USB, SSB, ADB) .......................................................... 43 2.6.6 ダイレクトページレジスタ (DPR) ............................................................................. 44 2.7 レジスタバンク .................................................................................................................... 45 2.8 プリフィックスコード.......................................................................................................... 46 2.9 割込み抑止命令 .................................................................................................................... 49 第3章 割込み ...................................................................................................... 51 3.1 割込みの概要 ........................................................................................................................ 52 3.2 割込み要因と割込みベクタ................................................................................................... 55 3.3 割込み制御レジスタと周辺機能 ........................................................................................... 59 3.3.1 割込み制御レジスタ (ICR00 ∼ ICR15) ...................................................................... 61 3.3.2 割込み制御レジスタの機能 ........................................................................................ 63 3.4 ハードウェア割込み ............................................................................................................. 66 3.4.1 ハードウェア割込みの動作 ........................................................................................ 69 3.4.2 ハードウェア割込みの動作フロー.............................................................................. 71 3.4.3 ハードウェア割込みの使用手順 ................................................................................. 72 3.4.4 多重割込み ................................................................................................................. 74 3.4.5 ハードウェア割込みの処理時間 ................................................................................. 76 3.5 ソフトウェア割込み ............................................................................................................. 78 3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み................................................. 80 3.6.1 拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ (ISD).......................... 82 3.6.2 拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ (ISD) の各レジスタ ... 83 3.6.3 拡張インテリジェント I/O サービス (EI2OS) の動作 ................................................. 86 3.6.4 拡張インテリジェント I/O サービス (EI2OS) の使用手順 .......................................... 87 3.6.5 拡張インテリジェント I/O サービス (EI2OS) 処理時間.............................................. 88 vii 3.7 例外処理割込み .................................................................................................................... 91 3.8 μDMAC による割込み........................................................................................................... 92 3.8.1 μDMAC の機能 ........................................................................................................... 93 3.8.2 μDMAC のレジスタ .................................................................................................... 94 3.8.2.1 DMA ディスクリプタチャネル指定レジスタ (DCSR)........................................... 95 3.8.2.2 DMA ステータスレジスタ (DSRH/DSRL) ............................................................. 97 3.8.2.3 DMA ストップステータスレジスタ (DSSR) ......................................................... 98 3.8.2.4 DMA 許可レジスタ (DERH/DERL)...................................................................... 100 3.8.3 DMA ディスクリプタウィンドウレジスタ (DDWR)................................................. 101 3.8.3.1 DMA データカウンタ (DDCTH/DDCTL) ............................................................. 102 3.8.3.2 DMA I/O レジスタアドレスポインタ (DIOAH/DIOAL) ........................................ 103 3.8.3.3 DMA コントロールレジスタ (DMACS) ............................................................... 104 3.8.3.4 DMA バッファアドレスポインタ (DBAPH/DBAPM/DBAPL) .............................. 106 3.8.4 μDMAC の動作説明 .................................................................................................. 107 3.9 例外 .................................................................................................................................... 109 3.10 割込み処理のスタック動作................................................................................................. 110 3.11 割込み処理のプログラム例................................................................................................. 112 3.12 遅延割込み発生モジュール................................................................................................. 116 3.12.1 遅延割込み発生モジュールの動作............................................................................ 117 第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章 リセット................................................................................................. 119 リセットの概要 .................................................................................................................. 120 リセット要因と発振安定待ち時間...................................................................................... 122 外部リセット端子 ............................................................................................................... 124 リセット動作 ...................................................................................................................... 125 リセット要因ビット ........................................................................................................... 127 リセットによる各端子の状態 ............................................................................................. 129 クロック................................................................................................. 131 クロックの概要 .................................................................................................................. 132 クロック発生部のブロックダイヤグラム ........................................................................... 135 クロック選択レジスタ (CKSCR)........................................................................................ 137 クロックモード .................................................................................................................. 140 発振安定待ち時間 ............................................................................................................... 144 振動子と外部クロックの接続 ............................................................................................. 145 低消費電力モード .................................................................................. 147 6.1 低消費電力モードの概要 .................................................................................................... 148 6.2 低消費電力制御回路のブロックダイヤグラム.................................................................... 151 6.3 低消費電力モード制御レジスタ (LPMCR) ......................................................................... 153 6.4 CPU 間欠動作モード .......................................................................................................... 156 6.5 スタンバイモード ............................................................................................................... 157 6.5.1 スリープモード ........................................................................................................ 158 6.5.2 タイムベースタイマモード ...................................................................................... 160 6.5.3 時計モード ............................................................................................................... 162 6.5.4 ストップモード ........................................................................................................ 164 6.6 状態遷移図.......................................................................................................................... 166 6.7 スタンバイモード , ホールド , リセット時の端子状態....................................................... 168 6.8 低消費電力モード使用上の注意 ......................................................................................... 177 viii 第7章 モード設定 ............................................................................................. 181 7.1 モード設定.......................................................................................................................... 182 7.2 モード端子 (MD2 ∼ MD0).................................................................................................. 183 7.3 モードデータ ...................................................................................................................... 184 7.4 外部メモリアクセス ........................................................................................................... 188 7.4.1 自動レディ機能選択レジスタ (ARSR) ..................................................................... 190 7.4.2 外部アドレス出力制御レジスタ (HACR).................................................................. 191 7.4.3 バス制御信号選択レジスタ (EPCR) ......................................................................... 192 7.5 モード設定の各モードにおける動作 .................................................................................. 194 7.5.1 外部メモリアクセス制御信号................................................................................... 195 7.5.2 レディ機能 ............................................................................................................... 198 7.5.3 ホールド機能 ............................................................................................................ 201 第8章 I/O ポート............................................................................................... 205 8.1 I/O ポートの機能 ................................................................................................................ 206 8.2 I/O ポートのレジスタ ......................................................................................................... 207 8.2.1 ポートデータレジスタ (PDR0 ∼ PDRB) ................................................................. 208 8.2.2 ポート方向レジスタ (DDR0 ∼ DDRB) .................................................................... 210 8.2.3 その他のレジスタ..................................................................................................... 212 第9章 9.1 9.2 9.3 9.4 9.5 9.6 9.7 タイムベースタイマ............................................................................... 215 タイムベースタイマの概要................................................................................................. 216 タイムベースタイマの構成................................................................................................. 218 タイムベースタイマ制御レジスタ (TBTC) ......................................................................... 220 タイムベースタイマの割込み ............................................................................................. 222 タイムベースタイマの動作................................................................................................. 223 タイムベースタイマ使用上の注意...................................................................................... 225 タイムベースタイマのプログラム例 .................................................................................. 227 第 10 章 10.1 10.2 10.3 10.4 10.5 10.6 第 11 章 11.1 11.2 11.3 11.4 ウォッチドッグタイマ ........................................................................... 229 ウォッチドッグタイマの概要 ............................................................................................. 230 ウォッチドッグタイマ制御レジスタ (WDTC) .................................................................... 232 ウォッチドッグタイマの構成 ............................................................................................. 234 ウォッチドッグタイマの動作 ............................................................................................. 236 ウォッチドッグタイマ使用上の注意 .................................................................................. 238 ウォッチドッグタイマのプログラム例............................................................................... 239 時計タイマ ............................................................................................. 241 時計タイマの概要 ............................................................................................................... 242 時計タイマの構成 ............................................................................................................... 243 時計タイマ制御レジスタ (WTC)......................................................................................... 244 時計タイマの動作 ............................................................................................................... 246 第 12 章 16 ビット入出力タイマ .......................................................................... 249 12.1 16 ビット入出力タイマの概要............................................................................................ 250 12.2 16 ビット入出力タイマのレジスタ .................................................................................... 252 12.2.1 16 ビットフリーランタイマ ..................................................................................... 253 12.2.2 アウトプットコンペア ............................................................................................. 259 12.2.3 インプットキャプチャ ............................................................................................. 264 ix 12.3 16 ビット入出力タイマの動作............................................................................................ 268 12.3.1 16 ビットフリーランタイマの動作 .......................................................................... 269 12.3.2 16 ビットアウトプットコンペアの動作 ................................................................... 270 12.3.3 16 ビットインプットキャプチャの動作 ................................................................... 272 12.3.4 16 ビットフリーランタイマのタイミング ............................................................... 273 12.3.5 アウトプットコンペアのタイミング ........................................................................ 274 12.3.6 インプットキャプチャの入力タイミング................................................................. 275 第 13 章 USB ファンクション.............................................................................. 277 13.1 USB ファンクションの概要 ............................................................................................... 278 13.2 USB ファンクションのブロックダイヤグラム................................................................... 279 13.3 USB ファンクションのレジスタ ........................................................................................ 280 13.3.1 UDC 制御レジスタ (UDCC)...................................................................................... 284 13.3.2 EP0 制御レジスタ (EP0C)........................................................................................ 287 13.3.3 EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C)............................................................. 289 13.3.4 タイムスタンプレジスタ (TMSP)............................................................................. 293 13.3.5 UDC ステータスレジスタ (UDCS) ........................................................................... 294 13.3.6 UDC 割込み許可レジスタ (UDCIE) .......................................................................... 297 13.3.7 EP0I ステータスレジスタ (EP0IS) ........................................................................... 299 13.3.8 EP0O ステータスレジスタ (EP0OS) ....................................................................... 301 13.3.9 EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S) .................................................. 304 13.3.10 EP0 ∼ EP5 データレジスタ (EP0DT ∼ EP5DT)..................................................... 308 13.4 USB ファンクションの動作説明 ........................................................................................ 309 13.4.1 接続検出と切断検出 ................................................................................................. 312 13.4.2 コマンド応答時の各レジスタ動作............................................................................ 314 13.4.3 STALL 応答と解除.................................................................................................... 316 13.4.4 サスペンド機能 ........................................................................................................ 321 13.4.5 ウェイクアップ機能 ................................................................................................. 322 13.4.6 DMA 転送機能 .......................................................................................................... 323 13.4.7 NULL 転送機能 ......................................................................................................... 327 第 14 章 USB ホスト ............................................................................................ 329 14.1 USB ホストの特長.............................................................................................................. 330 14.2 USB ホストの制限事項....................................................................................................... 331 14.3 USB ホストのブロックダイヤグラム ................................................................................. 332 14.4 USB ホストのレジスタ....................................................................................................... 334 14.4.1 ホストコントロールレジスタ 0, 1(HCNT0/HCNT1) ................................................ 337 14.4.2 ホスト割込みレジスタ (HIRQ) ................................................................................. 341 14.4.3 ホストエラーステータスレジスタ (HERR) .............................................................. 344 14.4.4 ホスト状態ステータスレジスタ (HSTATE).............................................................. 346 14.4.5 SOF 割込み FRAME 比較レジスタ (HFCOMP)........................................................ 348 14.4.6 リトライタイマ設定レジスタ (HRTIMER) ............................................................... 349 14.4.7 ホストアドレスレジスタ (HADR) ............................................................................ 350 14.4.8 EOF 設定レジスタ (HEOF) ...................................................................................... 351 14.4.9 FRAME 設定レジスタ (HFRAME) ............................................................................ 352 14.4.10 ホストトークンエンドポイントレジスタ (HTOKEN) .............................................. 353 14.5 USB ホストの動作.............................................................................................................. 355 14.5.1 デバイスの接続 ........................................................................................................ 356 14.5.2 USB バスのリセット ................................................................................................ 358 x 14.5.3 トークンパケット..................................................................................................... 359 14.5.4 データパケット ........................................................................................................ 362 14.5.5 ハンドシェークパケット .......................................................................................... 363 14.5.6 リトライ機能 ............................................................................................................ 364 14.5.7 SOF 割込み .............................................................................................................. 365 14.5.8 エラーステータス..................................................................................................... 367 14.5.9 パケット終了 ............................................................................................................ 368 14.5.10 サスペンド・レジューム .......................................................................................... 369 14.5.11 デバイスの切断 ........................................................................................................ 372 14.6 USB ホストの各トークンフローチャート.......................................................................... 373 第 15 章 PWC タイマ ........................................................................................... 375 15.1 PWC タイマの概要............................................................................................................. 376 15.2 PWC タイマのレジスタ...................................................................................................... 378 15.2.1 PWC コントロールステータスレジスタ (PWCSR).................................................. 379 15.2.2 PWC データバッファレジスタ (PWCR) .................................................................. 384 15.2.3 PWC 分周比制御レジスタ (DIVR) ............................................................................ 385 15.3 PWC タイマの動作............................................................................................................. 386 15.3.1 タイマ機能の動作..................................................................................................... 387 15.3.2 パルス幅測定機能の動作 .......................................................................................... 388 15.3.3 カウントクロックおよび動作モードの選択 ............................................................. 389 15.3.4 タイマ / パルス幅測定の起動と停止......................................................................... 391 15.3.5 タイマモードの動作 ................................................................................................. 393 15.3.6 パルス幅測定モードの動作 ...................................................................................... 396 15.4 PWC タイマの使用上の注意 .............................................................................................. 401 第 16 章 16 ビットリロードタイマ ...................................................................... 403 16.1 16 ビットリロードタイマの概要 ........................................................................................ 404 16.1.1 16 ビットリロードタイマの機能.............................................................................. 405 16.1.2 16 ビットリロードタイマのブロックダイヤグラム ................................................. 407 16.2 16 ビットリロードタイマのレジスタ................................................................................. 408 16.2.1 タイマ制御ステータスレジスタ 0 ∼ 2(TMCSR0 ∼ TMCSR2) ............................... 409 16.2.2 16 ビットタイマレジスタ 0 ∼ 2(TMR0 ∼ TMR2)/ 16 ビットリロードレジスタ 0 ∼ 2(TMRLR0 ∼ TMRLR2)413 16.3 16 ビットリロードタイマの動作 ........................................................................................ 415 16.3.1 カウンタ動作の状態遷移 .......................................................................................... 416 16.3.2 内部クロックモード ( リロードモード ) の動作 ....................................................... 417 16.3.3 内部クロックモード ( ワンショットモード ) の動作 ................................................ 419 16.3.4 イベントカウントモード .......................................................................................... 421 第 17 章 8/16 ビット PPG タイマ ........................................................................ 423 17.1 8/16 ビット PPG タイマの概要 .......................................................................................... 424 17.1.1 8/16 ビット PPG タイマのブロックダイヤグラム ................................................... 425 17.2 8/16 ビット PPG タイマのレジスタ................................................................................... 427 17.2.1 PPG0/PPG2/PPG4 動作モード制御レジスタ (PPGC0/PPGC2/PPGC4) ................ 428 17.2.2 PPG1/PPG3/PPG5 動作モード制御レジスタ (PPGC1/PPGC3/PPGC5) ................ 430 17.2.3 PPG0 ∼ PPG5 出力制御レジスタ (PPG01/PPG23/PPG45) ................................... 433 17.2.4 PPG リロードレジスタ (PRLL0 ∼ PRLL5, PRLH0 ∼ PRLH5) ............................... 435 17.3 8/16 ビット PPG タイマの動作 .......................................................................................... 436 xi 第 18 章 18.1 18.2 18.3 18.4 DTP/ 外部割込み .................................................................................... 441 DTP/ 外部割込みの概要...................................................................................................... 442 DTP/ 外部割込みのレジスタ............................................................................................... 443 DTP/ 外部割込みの動作...................................................................................................... 446 DTP/ 外部割込み使用上の注意 ........................................................................................... 448 第 19 章 8/10 ビット A/D コンバータ................................................................... 451 19.1 8/10 ビット A/D コンバータの概要 .................................................................................... 452 19.2 8/10 ビット A/D コンバータの構成 .................................................................................... 453 19.3 8/10 ビット A/D コンバータのレジスタ ............................................................................. 455 19.3.1 A/D 制御ステータスレジスタ上位 (ADCS1)............................................................. 456 19.3.2 A/D 制御ステータスレジスタ下位 (ADCS0)............................................................. 459 19.3.3 A/D 変換チャネル設定レジスタ (ADMR).................................................................. 461 19.3.4 A/D データレジスタ (ADCR1/ADCR0)..................................................................... 463 19.4 8/10 ビット A/D コンバータの動作説明 ............................................................................. 465 19.4.1 μDMAC または EI2OS を使用した変換動作............................................................. 468 19.4.2 A/D 変換データ保護機能 .......................................................................................... 469 19.5 8/10 ビット A/D コンバータ使用上の注意.......................................................................... 471 19.6 8/10 ビット A/D コンバータのプログラム例 -1( 単発モードの EI2OS 起動例 ) ................. 472 19.7 8/10 ビット A/D コンバータのプログラム例 -2( 連続モードの EI2OS 起動例 ) ................. 475 19.8 8/10 ビット A/D コンバータのプログラム例 -3( 停止モードの EI2OS 起動例 ) ................. 478 第 20 章 拡張 I/O シリアルインタフェース.......................................................... 481 20.1 拡張 I/O シリアルインタフェースの概要............................................................................ 482 20.2 拡張 I/O シリアルインタフェースのレジスタ .................................................................... 483 20.2.1 シリアルモードコントロールステータスレジスタ (SMCS)..................................... 484 20.2.2 シリアルデータレジスタ (SDR) ............................................................................... 489 20.2.3 通信プリスケーラ制御レジスタ (SDCR).................................................................. 490 20.3 拡張 I/O シリアルインタフェースの動作............................................................................ 491 20.3.1 シフトクロックモード ............................................................................................. 492 20.3.2 シリアル I/O の動作状態 .......................................................................................... 493 20.3.3 シフト動作のスタート / ストップタイミングと入出力のタイミング ...................... 495 20.3.4 割込み機能 ............................................................................................................... 497 第 21 章 UART ..................................................................................................... 499 21.1 UART の概要 ...................................................................................................................... 500 21.2 UART のブロックダイヤグラム ......................................................................................... 502 21.3 UART の端子 ...................................................................................................................... 505 21.4 UART のレジスタ ............................................................................................................... 506 21.4.1 シリアル制御レジスタ 0 ∼ 3(SCR0 ∼ SCR3) ........................................................ 507 21.4.2 シリアルモードレジスタ 0 ∼ 3(SMR0 ∼ SMR3).................................................... 509 21.4.3 シリアルステータスレジスタ 0 ∼ 3(SSR0 ∼ SSR3).............................................. 511 21.4.4 シリアル入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3), シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3)........................................ 514 21.4.5 UART プリスケーラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3), UART プリスケーラリロードレジスタ 0 ∼ 3 (UTRLR0 ∼ UTRLR3) ..................... 516 21.5 UART の割込み................................................................................................................... 518 21.5.1 受信割込み発生とフラグセットのタイミング.......................................................... 520 21.5.2 送信割込み発生とフラグセットのタイミング.......................................................... 522 xii 21.6 UART のボーレート ........................................................................................................... 524 21.6.1 UART 内部クロックの専用ボーレートジェネレータによるボーレート .................. 525 21.6.2 外部クロックの専用ボーレートジェネレータによるボーレート............................. 526 21.6.3 外部クロック (1 対 1 モード ) によるボーレート ..................................................... 527 21.7 UART の動作説明 ............................................................................................................... 528 21.7.1 非同期モード ( 動作モード 0, 1) 時の動作................................................................ 530 21.7.2 同期モード ( 動作モード 2) 時の動作 ....................................................................... 533 21.7.3 双方向通信機能 ( ノーマルモード ) .......................................................................... 536 21.7.4 マスタ / スレーブ型通信機能 ( マルチプロセッサモード )....................................... 538 21.8 UART 使用上の注意 ........................................................................................................... 541 21.9 UART のプログラム例........................................................................................................ 542 第 22 章 I2C インタフェース ................................................................................ 545 22.1 I2C インタフェースの概要.................................................................................................. 546 22.2 I2C インタフェースのレジスタ .......................................................................................... 548 22.2.1 I2C バスステータスレジスタ 0 ∼ 2(IBSR0 ∼ IBSR2) ............................................. 549 22.2.2 I2C バスコントロールレジスタ 0 ∼ 2(IBCR0 ∼ IBCR2) ......................................... 551 22.2.3 I2C バスクロックコントロールレジスタ 0 ∼ 2 (ICCR0 ∼ ICCR2) ......................... 557 22.2.4 I2C バスアドレスレジスタ 0 ∼ 2(IADR0 ∼ IADR2) ................................................ 559 22.2.5 I2C バスデータレジスタ 0 ∼ 2(IDAR0 ∼ IDAR2).................................................... 560 22.3 I2C インタフェースの動作.................................................................................................. 561 22.3.1 I2C インタフェースの転送フロー............................................................................. 564 22.3.2 I2C インタフェースのモードフロー ......................................................................... 566 22.3.3 I2C インタフェースの動作フロー............................................................................. 567 第 23 章 ROM ミラー機能選択モジュール........................................................... 569 23.1 ROM ミラー機能選択モジュールの概要 ............................................................................ 570 23.2 ROM ミラー機能選択レジスタ (ROMM) ............................................................................ 571 第 24 章 アドレス一致検出機能 ........................................................................... 573 24.1 アドレス一致検出機能の概要 ............................................................................................. 574 24.2 アドレス一致検出機能のブロックダイヤグラム ................................................................ 575 24.3 アドレス一致検出機能のレジスタ構成............................................................................... 576 24.3.1 プログラムアドレス検出制御ステータスレジスタ (PACSR)................................... 577 24.3.2 プログラムアドレス検出レジスタ (PADR0, PADR1) .............................................. 579 24.4 アドレス一致検出機能の動作説明...................................................................................... 581 24.4.1 アドレス一致検出機能の使用例 ............................................................................... 582 24.5 アドレス一致検出機能のプログラム例............................................................................... 586 第 25 章 フラッシュメモリ .................................................................................. 589 25.1 フラッシュメモリの概要 .................................................................................................... 590 25.2 フラッシュメモリのセクタ構成 ......................................................................................... 591 25.3 フラッシュメモリコントロールステータスレジスタ (FMCS) ........................................... 593 25.4 フラッシュメモリの自動アルゴリズム起動方法 ................................................................ 595 25.5 自動アルゴリズム実行状態の確認...................................................................................... 597 25.5.1 データポーリングフラグ (DQ7) ............................................................................... 599 25.5.2 トグルビットフラグ (DQ6) ...................................................................................... 601 25.5.3 タイミングリミット超過フラグ (DQ5) .................................................................... 602 25.5.4 セクタ消去タイマフラグ (DQ3) ............................................................................... 603 xiii 25.6 フラッシュメモリの書込み / 消去....................................................................................... 604 25.6.1 フラッシュメモリの読出し / リセット状態 .............................................................. 605 25.6.2 フラッシュメモリのデータ書込み............................................................................ 606 25.6.3 フラッシュメモリの全データ消去 ( チップ消去 ) .................................................... 608 25.6.4 フラッシュメモリの任意のデータ消去 ( セクタ消去 ) ............................................. 609 25.6.5 フラッシュメモリのセクタ消去を一時停止 ............................................................. 611 25.6.6 フラッシュメモリのセクタ消去を再開 .................................................................... 612 第 26 章 シリアル書込み接続例 ( 横河ディジタルコンピュータ株式会社製 フラッシュマイコンプログラマ )........................................................... 613 26.1 基本構成 ............................................................................................................................. 614 26.2 発振クロック周波数とシリアルクロック入力周波数について........................................... 616 26.3 フラッシュマイコンプログラマのシステム構成 ................................................................ 617 26.4 シリアル書込み接続例........................................................................................................ 618 26.4.1 シングルチップモード時の接続例 ( ユーザ電源使用時 ).......................................... 619 26.4.2 フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 )............. 621 第 27 章 シリアル書込み接続例 ( 富士通マイクロエレクトロニクス製 シリアルプログラマ )............................................................................. 623 27.1 富士通マイクロエレクトロニクス製シリアルプログラマ.................................................. 624 27.1.1 使用する端子 ............................................................................................................ 628 付録 付録 A 付録 B B.1 B.2 B.3 B.4 B.5 B.6 B.7 B.8 B.9 索引 ............................................................................................................... 629 メモリマップ ................................................................................................................. 630 命令 ............................................................................................................................... 643 命令の種類 .................................................................................................................. 644 アドレッシング ........................................................................................................... 645 直接アドレッシング.................................................................................................... 647 間接アドレッシング.................................................................................................... 654 実行サイクル数 ........................................................................................................... 661 実効アドレスフィールド ............................................................................................ 663 命令一覧表の読み方.................................................................................................... 665 F2MC-16LX 命令一覧表.............................................................................................. 668 命令マップ .................................................................................................................. 682 ............................................................................................................... 705 xiv 本版での主な変更内容 ページ 変更内容 ( 詳細は本文を参照してください。) - - レジスタ名を統一 インタラプトレベルマスクレジスタ (ILM) → 割込みレベル マスクレジスタ (ILM) - - USB を変更 USB Mini-Host → USB ホスト 2, 4 第 1 章 概要 1.1 MB90330A シリーズの特長 23 第 1 章 概要 1.7 デバイス使用上の注 意 「● シリアル通信について」の項目を追加 26 第 2 章 CPU 2.1 CPU の概要 ■ CPU の概要 「● 最小命令実行時間」の説明を変更 ・41.7 ns / 6 MHz 原発振 4 逓倍 ( 内部動作 24 MHz / 3.3 V ± 0.3 V 時 ) ・PLL クロック逓倍方式 → ・41.7 ns ( マシンクロック 24 MHz のとき ) ・マシンクロックの周波数は , 品種によって異なります。 最小命令実行時間を訂正 41.6 ns → 41.7 ns 「● CPU に依存しない自動転送機能」の説明を変更 ・最大 16 チャネルまでの μDMAC → ・DMA 転送 (μDMAC) は , 品種により内蔵していない場合が あります。 41 43 第 2 章 CPU 2.6 レジスタ 表 2.6-1 の「許可される割込みレベル」を訂正 2.6.5 項のタイトルと内容を訂正 46 第 2 章 CPU 2.8 プリフィックス コード 表 2.8-1 の PC 空間のバンクセレクトプリフィックスを訂正 PCC → PCB 94 第 3 章 割込み 3.8.2 μDMAC のレジスタ 図 3.8-1 の DMA ストップステータスレジスタ (DSSR) を 訂正 bit8 ∼ bit15 → STP15 ∼ STP8 bit0 ∼ bit7 → STP7 ∼ STP0 99 第 3 章 割込み 3.8.2.3 DMA ストップス テータスレジスタ (DSSR) <注意事項>を訂正 bit8 ∼ bit15 → STP15 ∼ STP8 bit0 ∼ bit7 → STP7 ∼ STP0 210 第 8 章 I/O ポート 8.2.2 ポート方向 レジスタ (DDR0 ∼ DDRB) 図 8.2-2 のレジスタ名を訂正 PDR0, PDRA, PDRB → DDR0 ∼ DDR9, DDRA, DDRB 211 「● 各端子がポートとして機能している場合」の説明を訂正 xv ページ 変更内容 ( 詳細は本文を参照してください。) 331 第 14 章 USB ホスト 14.2 USB ホストの 制限事項 説明を変更 USB HOST との相違点 → USB ホストの制限事項 433 第 17 章 8/16 ビット PPG タイマ 17.2 8/16 ビット PPG タイ マのレジスタ ■ PPG0 ∼ PPG5 出力制御 レジスタ (PPG01/PPG23/ PPG45) [bit7 ∼ bit5] PCS2 ∼ PCS0 ( カウントクロック選択 ) の表の 動作モード欄を訂正 41.6 ns → 41.7 ns 434 [bit4 ∼ bit2] PCM2 ∼ PCM0 ( カウントクロック選択 ) の表の 動作モード欄を訂正 41.6 ns → 41.7 ns 597, 598, 603 第 25 章 フラッシュ メモリ 25.5 自動アルゴリズム 実行状態の確認 610 第 25 章 フラッシュ メモリ 25.6.4 フラッシュ メモリの任意のデータ 消去 ( セクタ消去 ) 図 25.6-2 のフローチャートを訂正 649 B.3 直接アドレッシング ● I/O 直接 (io) 図 B.3-5 を変更。 MOVW A, i : 0C0H → MOVW A, I:0C0H 「トグルビット 2 フラグ (DQ2)」の記述を削除 図 B.3-5 に ( 注意事項 ) を追加。 650 B.3 直接アドレッシング ● 短縮直接アドレス (dir) 図 B.3-6 に ( 注意事項 ) を追加。 651 B.3 直接アドレッシング ● I/O 直接ビットアドレ ス (io: bp) 図 B.3-8 を変更。 SETB i : 0C1H : 0 → SETB I:0C1H:0 B.3 直接アドレッシング ● 短縮直接ビットアドレ ス (dir: bp) 図 B.3-9 に ( 注意事項 ) を追加。 B.4 間接アドレッシング ● プログラムカウンタ相 対分岐アドレス (rel) 説明を変更。 ディスプレースメント → オフセット B.4 間接アドレッシング ● レジスタリスト (rlst) 図 B.4-9 を変更。 POPW, RW0, RW4 → POPW RW0, RW4 657 658 図 B.3-8 に ( 注意事項 ) を追加。 図 B.4-7 を変更。 BRA 10H → BRA 3C32H 実行後 PC : 3C20 → 3C32 xvi ページ 683 684 変更内容 ( 詳細は本文を参照してください。) B.9 命令マップ ■ 命令マップの構造 表 B.9-1 の命令欄を変更。 @RW2+d8, #8, rel → CBNE @RW2+d8, #8, rel 表 B.9-2 の E0 列 , +0 行 のオペランドを変更。 #4 → #vct4 表 B.9-2 の D0 列 , +0 行 のニーモニックを変更。 MOV → MOVN 表 B.9-2 の B0 列 , +0 行 のニーモニックを変更。 MOV → MOVX 表 B.9-2 の B0 列 , +8 行 のニーモニックを変更。 MOV → MOVW 686 表 B.9-4 の E0 列 , +0 行 のニーモニックを変更。 FILSI → FILSWI 687 表 B.9-5 の 70 列 , +A 行 のニーモニックを変更。 DIVU → DIV 688 表 B.9-6 の F0 列 , +E, +F 行 のオペランドを変更。 ,#8, rel → #8, rel 691 表 B.9-9 の 50 列 , +8 ∼ +E 行 のオペランドを変更。 @@ → @ 表 B.9-9 の 20 列 , +0 ∼ +7 行 のオペランドを変更。 RWi → @RWi 692 表 B.9-10 の E0 列 , F0 列 のオペランドを変更。 ,r → ,rel 693 表 B.9-11 の 70 列 のオペランドを変更。 NEG A, → NEG 694 表 B.9-12 の E0 列 , F0 列 のオペランドを変更。 ,r → ,rel 702 表 B.9-20 XCH Ri, ea 命令 ( 第 1 バイト =7EH) を 変更。 ( 項目「A」を「A0」に変更 , +A の行の「W2+d16,A」を「@RW2+d16」に変更 ) 変更箇所は , 本文中のページ左側の│によって示しています。 xvii xviii 第1章 概要 この章では , MB90330A シリーズの特長 , ブロッ クダイヤグラム , 機能概要など全体を知るための基 本的なことがらについて説明します。 1.1 MB90330A シリーズの特長 1.2 ブロックダイヤグラム 1.3 外形寸法図 1.4 端子配列図 1.5 端子機能 1.6 入出力回路形式 1.7 デバイス使用上の注意 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 1 第 1 章 概要 1.1 MB90330A シリーズの特長 1.1 MB90330A シリーズ MB90330A シリーズの特長 MB90330A シリーズは , パソコン周辺機器などの USB 通信が要求される用途向けに 設計された 16 ビットマイクロコントローラです。USB 機能は , 12 Mbps の Function 動作ばかりでなく , 簡易的な Host 動作が可能です。ディスプレイやオー ディオなどのパソコン周辺機器や USB 通信対応の携帯機器制御などに適した機能を 搭載しています。 ■ MB90330A シリーズの特長 MB90330A シリーズには , 以下の特長があります。 ● PLL クロック逓倍回路内蔵 • 原発振の 2 分周もしくは原発振の 1 逓倍 , 2 逓倍 , 4 逓倍 原発振 6 MHz 時 , 3 MHz ∼ 24 MHz の動作クロック (PLL クロック ) を選択可能 USB 用クロックは 48 MHz • 最小命令実行時間 : 41.7 ns ( 原発振 6 MHz, PLL クロック 4 逓倍 , Vcc=3.3 V 動作時 ) ● 最大メモリ空間 : 16 M バイト ● コントロール用途に最適化された命令体系 • 取扱い可能なデータタイプ : ビット / バイト / ワード / ロングワード • 標準アドレッシングモード : 23 種類 • 32 ビットアキュムレータの採用による高精度演算の強化 • 符号付き乗除算 , 拡張 RETI 命令 ● 高級言語 (C 言語 ) マルチタスクに対応をとった命令体系 • システムスタックポイントの採用 • 命令セットの対称性とバレルシフト命令 ● ノンマルチバス / マルチバス対応 ● 実行速度の向上 : 4 バイトのキュー ● 強力な割込み機能 ( プライオリティがプログラマブルに 8 レベル設定可能 ) : 外部割込み 8 本 ● データ転送機能 • μDMAC: 最大 16 チャネル • 拡張インテリジェント I/O サービス : 最大 16 チャネル ● 内蔵 ROM 容量と ROM タイプ • マスク ROM: 256 K バイト , 384 K バイト • フラッシュ ROM: 384 K バイト 2 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 1 章 概要 1.1 MB90330A シリーズの特長 ● 内蔵 RAM • 量産品 : 16 K バイト , 24 K バイト • フラッシュ品 : 24 K バイト , 30K バイト • エバリュエーションチップ : 28 K バイト ● プロセス :CMOS テクノロジ ● 低消費電力 ( スタンバイ ) モード • スリープモード (CPU 動作クロックを停止するモード ) • ストップモード ( 原発振を停止するモード ) • CPU 間欠動作モード ● パッケージ • LQFP-120 (FPT-120P-M24: 0.4 mm ピンピッチ ) • LQFP-120 (FPT-120P-M21: 0.5 mm ピンピッチ ) ● 動作保証温度 : − 40 ℃∼+ 85 ℃ (USB 使用時 : 0 ℃∼+ 70 ℃ ) ● 汎用ポート : 最大 94 本 汎用入出力 (CMOS) : 56 本 汎用入出力 ( 入力プルアップ抵抗設定可能 ) : 16 本 汎用入出力 ( 出力オープンドレイン / 5 V 耐圧 I/O) : 22 本 ● タイマ : タイムベースタイマ / ウォッチドッグタイマ / 時計タイマ : 1 チャネル ● 16 ビット入出力タイマ • 16 ビットフリーランタイマ : 1 チャネル • インプットキャプチャ (ICU) : 4 チャネル • アウトプットコンペア (OCU) : 4 チャネル ● 8/16 ビット PPG タイマ : 8 ビット× 6 チャネルまたは 16 ビット× 3 チャネル ● 16 ビットリロードタイマ : 3 チャネル ● 16 ビット PWC タイマ : 1 チャネル ● UART: 4 チャネル ● I/O 拡張シリアルインタフェース : 1 チャネル ● I2C インタフェース : 3 チャネル ● 8/10 ビット A/D コンバータ (RC 逐次比較型 ) : 16 チャネル ● DTP/ 外部割込み : 8 チャネル ● USB • USB ファンクション (USB Full Speed 対応 ) : 1 チャネル • USB ホスト : 1 チャネル CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 3 第 1 章 概要 1.1 MB90330A シリーズの特長 MB90330A シリーズ ■ 品種構成 表 1.1-1 MB90330A シリーズ品種構成一覧 (1 / 2) MB90V330A* 品種名 MB90F335A フラッシュメモリ品 MB90333A 分類 評価用品 ROM 容量 搭載なし 384 K バイト 512 K バイト 256 K バイト RAM 容量 28 K バイト 24 K バイト 30 K バイト 16 K バイト あり ― ― ― エミュレータ専用電源 CPU 機能 基本命令数 命令ビット長 最小命令実行時間 アドレッシング種類 最大メモリ空間 : 351 命令 : 8 ビット , 16 ビット : 41.7 ns / 24 MHz : 23 種類 : 16 M バイト ポート 入出力ポート (CMOS) : 94 本 16ビット 入出力 タイマ 4 MB90F334A マスク ROM 品 16 ビット フリーランタイマ チャネル数 : 1 オーバフロー割込み アウトプット コンペア (OCU) チャネル数 : 4 端子入力要因 : コンペアレジスタの一致信号による インプット キャプチャ (ICU) チャネル数 : 4 端子入力 ( 立上り , 立下り , 両エッジ ) によるレジスタの書換え 8/16 ビット PPG タイマ チャネル数 : 8 ビット× 6 チャネル , 16 ビット× 3 チャネル モード切換え機能付き 8 ビットまたは 16 ビットの PPG 動作 任意周期 , 任意デューティのパルス波出力可能 16 ビット リロードタイマ チャネル数 : 3 16 ビットリロードタイマ動作 イベントカウンタ付き 16 ビット PWC タイマ チャネル数 : 1 タイマ機能 (3 つの内部クロックからカウンタのクロックを選択 ) パルス幅測定機能 (3 つの内部クロックからカウンタのクロックを 選択 ) UART チャネル数 : 4 クロック同期 / 非同期の選択可能 専用ボーレートジェネレータ内蔵 クロック同期 LSB, MSB 切換え可能 I/O 拡張 シリアルインタフェース チャネル数 : 1 クロック同期転送 LSB ファースト /MSB ファースト I2C バス通信 チャネル数 : 3 Inter IC BUS をサポートするシリアル I/O 8/10 ビット A/D コンバータ 10 ビット分解能アナログ入力 16 チャネル FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 1 章 概要 1.1 MB90330A シリーズの特長 MB90330A シリーズ 表 1.1-1 MB90330A シリーズ品種構成一覧 (2 / 2) 品種名 MB90V330A* MB90F334A MB90F335A MB90333A DTP/ 外部割込み 入力本数 : 8 本 割込み要因 : 立上りエッジ / 立下りエッジ /"L" レベル /"H" レベル 選択可 USB USB ファンクション (USB Full Speed 対応 ) Full speed をサポート Endpoint を最大 6 つまで指定可能 転送タイプ : Control, Interrupt, Bulk, Isochronous 転送可能 デュアルポート RAM(FIFO モードもサポート ) USB ホスト 機能 μDMAC 対応 外部バスインタフェース あり ( マルチ / ノンマルチ対応 ) その他 5 V 耐圧 I/O 22 本 (I2C 兼用端子を含む ) パッケージ PGA299 動作電圧 3.3 V ± 0.3 V LQFP120 *: エミュレータ (MB2147-01) をご使用いただく際のジャンパスイッチ (TOOL VCC) の設定です。 詳細につきましては , MB2147-01 または MB2147-20 ハードウェアマニュアル 「3.3 ( エミュレータ専 用電源切換え」) を参照してください。 <注意事項> Flash への書込みは , 必ず , V CC=3.13 V ∼ 3.60 V 以上で行ってください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 5 第 1 章 概要 1.2 ブロックダイヤグラム 1.2 MB90330A シリーズ ブロックダイヤグラム 図 1.2-1 に , MB90330A シリーズのブロックダイヤグラムを示します。 ■ MB90330A シリーズのブロックダイヤグラム 図 1.2-1 MB90330A シリーズのブロックダイヤグラム X0,X1 X0A,X1A RST クロック 制御回路 CPU F2MC-16LXコア ポート6 RAM(28 Kバイト)* 16ビットPWC タイマ 割込みコントローラ PB6/PPG5 PB5/PPG4 PB4 PB3/SDA2 PB2/SCL2 PB1/SDA1 PB0/SCL1 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) ROM(384 Kバイト)* 拡張I/Oシリアル インタフェース ポートB 8/16ビットPPG タイマ(ch.2) I2Cインタフェース (ch.0) P57/CLK P56/RDY P55/HAK P54/HRQ P53/WRH P52/WRL P51/RD P50/ALE 2 I Cインタフェース (ch.1,ch.2) ポート5 ポートA P96/ADTG/FRCK P95/SCK3 P94/SOT3 P93/SIN3 P92/SCK2 P91/SOT2 P90/SIN2 P87~P80/ AN15~AN8 AVcc,AVss AVRH P77~P70/ AN7~AN0 DVP DVM HVP HVM HCON UTEST 16ビット インプット キャプチャ (ch.1,ch.2,ch.3) 16ビットアウト プットコンペア (ch.1,ch.2,ch.3) 16ビットフリー ランタイマ ポート4 F2MC-16LX バス PA7/OUT3 PA6/OUT2 PA5/OUT1 PA4/OUT0 PA3/IN3 PA2/IN2 PA1/IN1 PA0/IN0 P47/A15/SCK1 P46/A14/SOT1 P45/A13/SIN1 P44/A12/SCK0 P43/A11/SOT0 P42/A10/SIN0 P41/A09/TOT0 P40/A08/TIN0 UART(ch.0,ch.1) 16ビットリロード タイマ(ch.0) P37/A07 P36/A06 P35/A05 P34/A04 P33/A03/TOT2 P32/A02/TIN2 P31/A01/TOT1 P30/A00/TIN1 ポート3 UART(ch.2,ch.3) ポート9 16ビットリロード タイマ(ch.1,ch.2) ポート8 A/Dコンバータ (16チャネル) P27/A23/PPG3 P26/A22/PPG2 P25/A21/PPG1 P24/A20/PPG0 P23/A19 P22/A18 P21/A17 P20/A16 P17~P10/ AD15~AD08/ D15~D08 ポート2 8/16bit PPG (ch.0,ch.1) ポート7 USBホスト ポート1 USBファンクション P07~P00/ AD07~AD00/ D07~D00 ポート0 その他の端子 外部バス インタフェース Vss Vcc MD0 MD1 MD2 *:最大値 6 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 1 章 概要 1.2 ブロックダイヤグラム <注意事項> 図 1.2-1 において , I/O ポートは内蔵の各機能ブロックと端子を共用しています。内蔵モ ジュールの端子として使用する場合は , I/O ポートとしては使えません。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 7 第 1 章 概要 1.3 外形寸法図 1.3 MB90330A シリーズ 外形寸法図 MB90330A シリーズには , 2 種類のパッケージが用意されています。 ■ 外形寸法図 (LQFP-120) プラスチック・LQFP, 120 ピン リードピッチ 0.40 mm パッケージ幅× パッケージ長さ 14.0 mm × 14.0 mm リード形状 ガルウィング 封止方法 プラスチックモールド 取付け高さ 1.70 mm MAX コード(参考) P-L FQFP120-14×14-0.40 (FPT-120P-M24) プラスチック・LQFP, 120 ピン (FPT-120P-M24) 注 1)* 印寸法はレジン残りを含まず。 注 2)端子幅および端子厚さはメッキ厚を含む。 注 3)端子幅はタイバ切断残りを含まず。 16.00±0.20(.630±.008)SQ * 14.00±0.10(.551±.004)SQ 90 61 91 60 0.08(.003) Details of "A" part +0.20 1.50 –0.10 +.008 (Mounting height) .059 –.004 INDEX 120 31 "A" 0~8˚ LEAD No. 1 0.40(.016) 30 0.16±0.05 (.006±.002) 0.07(.003) M 0.145±0.055 (.006±.002) 0.50±0.20 (.020±.008) 0.60±0.15 (.024±.006) ©2006-2008 FUJITSU MICROELECTRONICS LIMITED F120036S-c-1-2 C 2006 FUJITSU LIMITED F120036S-c-1-1 0.10±0.10 (.004±.004) (Stand off) 0.25(.010) 単位:mm (inches) 注意:括弧内の値は参考値です。 最新の外形寸法図については , 下記 URL にてご確認ください。 http://edevice.fujitsu.com/package/jp-search/ 8 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 1 章 概要 1.3 外形寸法図 MB90330A シリーズ ■ 外形寸法図 (LQFP-120) プラスチック・LQFP, 120 ピン (FPT-120P-M21) リードピッチ 0.50mm パッケージ幅× パッケージ長さ 16.0 × 16.0mm リード形状 ガルウィング 封止方法 プラスチックモールド 取付け高さ 1.70mm MAX 質量 0.88g コード(参考) P-LFQFP120-16×16-0.50 プラスチック・LQFP, 120 ピン (FPT-120P-M21) 注 1)* 印寸法はレジン残りを含む。 レジン残りは、片側 +0.25(.010)MAX。 注 2)端子幅および端子厚さはメッキ厚を含む。 注 3)端子幅はタイバ切断残りを含まず。 18.00±0.20(.709±.008)SQ +0.40 * 16.00 –0.10 .630 +.016 –.004 SQ 90 61 60 91 0.08(.003) Details of "A" part +0.20 1.50 –0.10 +.008 (Mounting height) .059 –.004 INDEX 0~8˚ 120 LEAD No. "A" 31 1 30 0.50(.020) 0.22±0.05 (.009±.002) +0.05 0.08(.003) M 0.145 –0.03 +.002 .006 –.001 0.60±0.15 (.024±.006) ©2002-2008 FUJITSU MICROELECTRONICS LIMITED F120033S-c-4-6 C 2002 FUJITSU LIMITED F120033S-c-4-4 0.10±0.05 (.004±.002) (Stand off) 0.25(.010) 単位:mm (inches) 注意:括弧内の値は参考値です。 最新の外形寸法図については , 下記 URL にてご確認ください。 http://edevice.fujitsu.com/package/jp-search/ CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 9 第 1 章 概要 1.4 端子配列図 1.4 MB90330A シリーズ 端子配列図 図 1.4-1 に , MB90330A シリーズの端子配列図を示します。 ■ 端子配列図 (LQFP-120) 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 P27/A23/PPG3 P26/A22/PPG2 P25/A21/PPG1 P24/A20/PPG0 P23/A19 P22/A18 P21/A17 P20/A16 P17/AD15/D15 P16/AD14/D14 P15/AD13/D13 P14/AD12/D12 X0 X1 Vss Vcc P13/AD11/D11 P12/AD10/D10 P11/AD09/D09 P10/AD08/D08 P07/AD07/D07 P06/AD06/D06 P05/AD05/D05 P04/AD04/D04 P03/AD03/D03 P02/AD02/D02 P01/AD01/D01 P00/AD00/D00 P57/CLK P56/RDY 図 1.4-1 MB90330A シリーズの端子配列図 (LQFP-120) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 MB90330Aシリーズ TOP VIEW 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 RST MD0 MD1 MD2 P55/HAK P54/HRQ P53/WRH P52/WRL P51/RD P50/ALE HCON Vcc HVP HVM Vss Vcc DVP DVM Vss UTEST PB6/PPG5 PB5/PPG4 PB4 PB3/SDA2 PB2/SCL2 PB1/SDA1 PB0/SCL1 PA7/OUT3 PA6/OUT2 PA5/OUT1 P92/SCK2 P93/SIN3 P94/SOT3 P95/SCK3 P96/ADTG/FRCK AVcc AVRH AVss P70/AN0 P71/AN1 P72/AN2 P73/AN3 P74/AN4 P75/AN5 P76/AN6 P77/AN7 Vss P80/AN8 P81/AN9 P82/AN10 P83/AN11 P84/AN12 P85/AN13 P86/AN14 P87/AN15 PA0/IN0 PA1/IN1 PA2/IN2 PA3/IN3 PA4/OUT0 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 P30/A00/TIN1 P31/A01/TOT1 P32/A02/TIN2 P33/A03/TOT2 P34/A04 P35/A05 P36/A06 P37/A07 P40/A08/TIN0 P41/A09/TOT0 P42/A10/SIN0 P43/A11/SOT0 X0A X1A Vcc Vss P44/A12/SCK0 P45/A13/SIN1 P46/A14/SOT1 P47/A15/SCK1 P60/INT0 P61/INT1 P62/INT2/SIN P63/INT3/SOT P64/INT4/SCK P65/INT5/PWC P66/INT6/SCL0 P67/INT7/SDA0 P90/SIN2 P91/SOT2 10 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 1 章 概要 1.5 端子機能 MB90330A シリーズ 端子機能 1.5 表 1.5-1 に , MB90330A シリーズの端子機能について説明します。 ■ 端子機能 表 1.5-1 端子機能 (1 / 7) 端子番号 端子名 回路形式 107 X1 A 発振端子です。 108 X0 A 発振端子です。 13 X0A A 32 kHz 発振端子です。 14 X1A A 32 kHz 発振端子です。 90 RST F リセット入力端子です。 93 ∼ 100 P00 ∼ P07 H 汎用入出力ポートです。 プルアップ抵抗設定レジスタ (RDR0) により , プルアッ プ抵抗を付加 (RD00 ∼ RD07=1) に設定できます ( 出力 設定時は無効 ) 。 101 ∼ 104 109 ∼ 112 CM44-10129-6 機能説明 AD00 ∼ AD07 マルチプレクスモード時 , 外部アドレス / データバス下 位入出力端子として機能します。 D00 ∼ D07 ノンマルチプレクスモード時 , 外部データバス下位入 出力端子として機能します。 H P10 ∼ P13 汎用入出力ポートです。 プルアップ抵抗設定レジスタ (RDR1) により , プルアッ プ抵抗を付加 (RD10 ∼ RD13=1) に設定できます ( 出力 設定時は無効 ) 。 AD08 ∼ AD11 マルチプレクスモード時 , 外部アドレス / データバス上 位入出力端子として機能します。 D08 ∼ D11 ノンマルチプレクスモード時 , 外部データバス上位入 出力端子として機能します。 H P14 ∼ P17 汎用入出力ポートです。 プルアップ抵抗設定レジスタ (RDR1) により , プルアッ プ抵抗を付加 (RD14 ∼ RD17=1) に設定できます ( 出力 設定時は無効 ) 。 AD12 ∼ AD15 マルチプレクスモード時 , 外部アドレス / データバス上 位入出力端子として機能します。 D12 ∼ D15 ノンマルチプレクスモード時 , 外部データバス上位入 出力端子として機能します。 FUJITSU MICROELECTRONICS LIMITED 11 第 1 章 概要 1.5 端子機能 MB90330A シリーズ 表 1.5-1 端子機能 (2 / 7) 端子番号 端子名 回路形式 機能説明 113 ∼ 116 P20 ∼ P23 D 汎用入出力ポートです。外バスモード時は , 外部アド レス出力制御レジスタ (HACR) の対応するビットが "1" のとき , 汎用入出力ポートとして機能します。 117 ∼ 120 1 2 3 4 12 A16 ∼ A19 マルチプレクスモード時 , 外部アドレス出力制御レジ スタ (HACR) の対応するビットが "0" のとき , アドレス 上位出力端子 (A16 ∼ A19) として機能します。 A16 ∼ A19 ノンマルチプレクスモード時 , 外部アドレス出力制御 レジスタ (HACR) の対応するビットが "0" のとき , アド レス上位出力端子 (A16 ∼ A19) として機能します。 D P24 ∼ P27 汎用入出力ポートです。外バスモード時は , 外部アド レス出力制御レジスタ (HACR) の対応するビットが "1" のとき , 汎用入出力ポートとして機能します。 A20 ∼ A23 マルチプレクスモード時 , 外部アドレス出力制御レジ スタ (HACR) の対応するビットが "0" のとき , アドレス 上位出力端子 (A20 ∼ A23) として機能します。 A20 ∼ A23 ノンマルチプレクスモード時 , 外部アドレス出力制御 レジスタ (HACR) の対応するビットが "0" のとき , アド レス上位出力端子 (A20 ∼ A23) として機能します。 PPG0 ∼ PPG3 PPG タイマ ch.0 ∼ ch.3 出力端子として機能します。 P30 D 汎用入出力ポートです。 A00 ノンマルチバスモード時 , 外部アドレス端子として機 能します。 TIN1 16 ビットリロードタイマ ch.1 のイベント入力端子とし て機能します。 P31 D 汎用入出力ポートです。 A01 ノンマルチバスモード時 , 外部アドレス端子として機 能します。 TOT1 16 ビットリロードタイマ ch.1 の出力端子として機能し ます。 P32 D 汎用入出力ポートです。 A02 ノンマルチバスモード時 , 外部アドレス端子として機 能します。 TIN2 16 ビットリロードタイマ ch.2 のイベント入力端子とし て機能します。 P33 D 汎用入出力ポートです。 A03 ノンマルチバスモード時 , 外部アドレス端子として機 能します。 TOT2 16 ビットリロードタイマ ch.2 の出力端子として機能し ます。 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 1 章 概要 1.5 端子機能 MB90330A シリーズ 表 1.5-1 端子機能 (3 / 7) 端子番号 端子名 回路形式 5∼8 P34 ∼ P37 D A04 ∼ A07 9 10 11 12 P40 G ノンマルチバスモード時 , 外部アドレス端子として機 能します。 TIN0 16 ビットリロードタイマ ch.0 のイベント入力端子とし て機能します。 P41 G ノンマルチバスモード時 , 外部アドレス端子として機 能します。 TOT0 16 ビットリロードタイマ ch.0 の出力端子として機能し ます。 P42 G 汎用入出力ポートです。 A10 ノンマルチバスモード時 , 外部アドレス端子として機 能します。 SIN0 UART ch.0 データ入力端子として機能します。 P43 G P44 P45 汎用入出力ポートです。 ノンマルチバスモード時 , 外部アドレス端子として機 能します。 UART ch.0 データ出力端子として機能します。 G 汎用入出力ポートです。 ノンマルチバスモード時 , 外部アドレス端子として機 能します。 SCK0 UART ch.0 クロック入出力端子として機能します。 G 汎用入出力ポートです。 A13 ノンマルチバスモード時 , 外部アドレス端子として機 能します。 SIN1 UART ch.1 データ入力端子として機能します。 P46 A14 SOT1 CM44-10129-6 汎用入出力ポートです。 A09 A12 19 汎用入出力ポートです。 A08 SOT0 18 汎用入出力ポートです。 ノンマルチバスモード時 , 外部アドレス端子として機 能します。 A11 17 機能説明 G 汎用入出力ポートです。 ノンマルチバスモード時 , 外部アドレス端子として機 能します。 UART ch.1 データ出力端子として機能します。 FUJITSU MICROELECTRONICS LIMITED 13 第 1 章 概要 1.5 端子機能 MB90330A シリーズ 表 1.5-1 端子機能 (4 / 7) 端子番号 端子名 回路形式 20 P47 G A15 UART ch.1 クロック入出力端子として機能します。 P50 L ALE 82 P51 L P52 L P53 L P54 L P55 L P56 L P57 L 汎用入出力ポートです。 外バスモード時 , マシンサイクルクロック出力 (CLK) 端子として機能します。EPCR レジスタの CKE ビット が "0" のとき , 汎用入出力ポートとして機能します。 P60, P61 C INT0, INT1 14 汎用入出力ポートです。 外バスモード時 , 外部レディ入力 (RDY) 端子として機 能します。EPCR レジスタの RYE ビットが "0" のとき , 汎用入出力ポートとして機能します。 CLK 21, 22 汎用入出力ポートです。 外バスモード時 , ホールドアクノリッジ出力 (HAK) 端 子として機能します。EPCR レジスタの HDE ビットが "0" のとき , 汎用入出力ポートとして機能します。 RDY 92 汎用入出力ポートです。 外バスモード時 , ホールド要求入力 (HRQ) 端子として 機能します。EPCR レジスタの HDE ビットが "0" のと き , 汎用入出力ポートとして機能します。 HAK 91 汎用入出力ポートです。 バス幅 16 ビットの外バスモード時 , 上位側データライ トストローブ出力(WRH)端子として機能します。 EPCR レジスタの WRE ビットが "0" のとき , 汎用入出力ポー トとして機能します。 HRQ 86 汎用入出力ポートです。 外バスモード時 , 下位側データライトストローブ出力 (WRL) 端子として機能します。EPCR レジスタの WRE ビットが "0" のとき , 汎用入出力ポートとして機能し ます。 WRH 85 汎用入出力ポートです。 外バスモード時 , リードストローブ出力 (RD) 端子とし て機能します。 WRL 84 汎用入出力ポートです。 外バスモード時 , アドレス取込み許可信号 (ALE) 端子 として機能します。 RD 83 汎用入出力ポートです。 ノンマルチバスモード時 , 外部アドレス端子として機 能します。 SCK1 81 機能説明 汎用入出力ポートです (5 V 耐圧 ) 。 外部割込み ch.0, ch.1 入力端子として機能します。 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 1 章 概要 1.5 端子機能 MB90330A シリーズ 表 1.5-1 端子機能 (5 / 7) 端子番号 端子名 回路形式 23 P62 C 24 25 26 27 28 39 ∼ 46 外部割込み ch.2 入力端子として機能します。 SIN 拡張シリアル I/O データ入力端子です。 P63 C 外部割込み ch.3 入力端子として機能します。 SOT 拡張シリアル I/O データ出力端子です。 P64 C 外部割込み ch.4 入力端子として機能します。 SCK 拡張シリアル I/O クロック入出力端子です。 P65 C 汎用入出力ポートです (5 V 耐圧 ) 。 INT5 外部割込み ch.5 入力端子として機能します。 PWC PWC 入力端子として機能します。 P66 C 汎用入出力ポートです (5 V 耐圧 ) 。 INT6 外部割込み ch.6 入力端子として機能します。 SCL0 I2C インタフェース ch.0 クロック入出力端子として機 能します。 I2C インタフェース動作中は , ポート出力を Hi-Z とし てください。 P67 C 汎用入出力ポートです (5 V 耐圧 ) 。 INT7 外部割込み ch.7 入力端子として機能します。 SDA0 I2C インタフェース ch.0 データ入出力端子として機能 します。 I2C インタフェース動作中は , ポート出力を Hi-Z とし てください。 I P70 ∼ P77 P90 P91 汎用入出力ポートです。 アナログ ch.0 ∼ ch.7 入力端子として機能します。 I P80 ∼ P87 SOT2 CM44-10129-6 汎用入出力ポートです (5 V 耐圧 ) 。 INT4 汎用入出力ポートです。 アナログ ch.8 ∼ ch.15 入力端子として機能します。 D SIN2 30 汎用入出力ポートです (5 V 耐圧 ) 。 INT3 AN8 ∼ AN15 29 汎用入出力ポートです (5 V 耐圧 ) 。 INT2 AN0 ∼ AN7 48 ∼ 55 機能説明 汎用入出力ポートです。 UART ch.2 データ入力端子として機能します。 D 汎用入出力ポートです。 UART ch.2 データ出力端子として機能します。 FUJITSU MICROELECTRONICS LIMITED 15 第 1 章 概要 1.5 端子機能 MB90330A シリーズ 表 1.5-1 端子機能 (6 / 7) 端子番号 端子名 回路形式 31 P92 D SCK2 32 P93 D P94 D 56 ∼ 59 P95 D P96 C A/D コンバータ使用時に外部トリガ入力端子として機 能します。 FRCK フリーランタイマ使用時の外部クロック入力端子とし て機能します。 PA0 ∼ PA3 C PA4 ∼ PA7 PB0 PB1 C PB2 C PB3 SDA2 16 汎用入出力ポートです (5 V 耐圧 ) 。 I2C インタフェース ch.1 クロック入出力端子として機 能します。I2C インタフェース動作中は , ポート出力を Hi-Z としてください。 C 汎用入出力ポートです (5 V 耐圧 ) 。 I2C インタフェース ch.1 データ入出力端子として機能 します。I2C インタフェース動作中は , ポート出力を Hi-Z としてください。 C 汎用入出力ポートです (5 V 耐圧 ) 。 I2C インタフェース ch.2 クロック入出力端子として機 能します。I2C インタフェース動作中は , ポート出力を Hi-Z としてください。 SCL2 67 汎用入出力ポートです (5 V 耐圧 ) 。 アウトプットコンペア ch.0 ∼ ch.3 イベント出力端子と して機能します。 SDA1 66 汎用入出力ポートです (5 V 耐圧 ) 。 インプットキャプチャch.0 ∼ ch.3 のトリガ入力として 取り込まれます。 SCL1 65 汎用入出力ポートです (5 V 耐圧 ) 。 ADTG OUT0 ∼ OUT3 64 汎用入出力ポートです。 UART ch.3 クロック入出力端子として機能します。 IN0 ∼ IN3 60 ∼ 63 汎用入出力ポートです。 UART ch.3 データ出力端子として機能します。 SCK3 35 汎用入出力ポートです。 UART ch.3 データ入力端子として機能します。 SOT3 34 汎用入出力ポートです。 UART ch.2 クロック入出力端子として機能します。 SIN3 33 機能説明 C 汎用入出力ポートです (5 V 耐圧 ) 。 I2C インタフェース ch.2 データ入出力端子として機能 します。I2C インタフェース動作中は , ポート出力を Hi-Z としてください。 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 1 章 概要 1.5 端子機能 MB90330A シリーズ 表 1.5-1 端子機能 (7 / 7) 端子番号 端子名 回路形式 68 PB4 C 汎用入出力ポートです (5 V 耐圧 ) 。 69 PB5 D 汎用入出力ポートです。 PPG4 70 機能説明 PPG タイマ ch.4 出力端子として機能します。 PB6 D PPG5 汎用入出力ポートです。 PPG タイマ ch.5 出力端子として機能します。 71 UTEST C USB テスト用端子です。通常使用時は , プルダウン接 続願います。 73 DVM K USB ファンクション D −端子です。 74 DVP K USB ファンクション D +端子です。 77 HVM K USB ホスト D −端子です。 78 HVP K USB ホスト D +端子です。 80 HCON E 外付けプルアップ抵抗接続端子です。 36 AVcc − A/D コンバータ電源端子です。 37 AVRH J 38 AVss − A/D コンバータ電源端子です。 87 ∼ 89 MD2 ∼ MD0 B 動作モード指定用入力端子です。 15, 17, 79, 105 Vcc − 電源端子です。 16, 47, 72, 76, 106 Vss − 電源端子 (GND) です。 CM44-10129-6 A/D コンバータ外部基準電源端子です。 FUJITSU MICROELECTRONICS LIMITED 17 第 1 章 概要 1.6 入出力回路形式 1.6 MB90330A シリーズ 入出力回路形式 表 1.6-1 に , MB90330A シリーズの各端子の入出力回路形式を示します。 ■ 入出力回路形式 表 1.6-1 入出力回路形式 (1 / 3) 分類 回路 備考 ・発振帰還抵抗 : X1, X0 約 1 MΩ X1A, X0A 10 MΩ ・スタンバイコントロール付き X1,X1A クロック入力 P-ch N-ch A X0,X0A スタンバイ制御信号 ・CMOS ヒステリシス入力 CMOSヒステリシス入力 B ・CMOS ヒステリシス入力 ・N-ch オープンドレイン出力 N-ch N-chオープンドレイン出力 C CMOSヒステリシス入力 スタンバイ制御信号 ・CMOS 出力 ・CMOS ヒステリシス入力 ・スタンバイコントロール付き P-ch N-ch D CMOSヒステリシス入力 スタンバイ制御信号 18 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 1 章 概要 1.6 入出力回路形式 MB90330A シリーズ 表 1.6-1 入出力回路形式 (2 / 3) 分類 回路 備考 ・CMOS 出力 E F P-ch Pout N-ch Nout ・プルアップ付きCMOSヒステリシス 入力 ・抵抗 : 約 50 kΩ R CMOSヒステリシス入力 P-ch オープンドレイン制御信号 N-ch G ・CMOS 出力 ・CMOS ヒステリシス入力 ・オープンドレインコントロール 付き ・スタンバイコントロール付き CMOSヒステリシス入力 スタンバイ制御信号 コントロール信号 P-ch H ・CMOS 出力 ・CMOS 入力 ・入力プルアップ抵抗制御付き ・抵抗 : 約 50 kΩ ・スタンバイコントロール付き N-ch CMOS入力 スタンバイ制御信号 ・CMOS 出力 ・CMOS ヒステリシス入力 ・スタンバイコントロール付き ・アナログ入力 P-ch N-ch I アナログ入力 CMOSヒステリシス入力 スタンバイ制御信号 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 19 第 1 章 概要 1.6 入出力回路形式 MB90330A シリーズ 表 1.6-1 入出力回路形式 (3 / 3) 分類 回路 備考 ・A/D コンバータ電圧入力端子 P-ch J N-ch アナログ入力 ・USB 入出力端子 D+入力 D-入力 D+ 差動入力 D- Full D+出力 Full D-出力 K Low D+出力 Low D-出力 方向 スピード P-ch Pout N-ch Nout ・CMOS 出力 ・CMOS 入力 ( スタンバイコントロール付き ) L 入力信号 スタンバイ制御信号 20 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 1.7 第 1 章 概要 1.7 デバイス使用上の注意 デバイス使用上の注意 デバイス使用上の注意について説明します。 ■ デバイス使用上の注意 ● ラッチアップの防止 , 電源投入について CMOS IC では , 次に示すような場合にラッチアップ現象を生じることがあります。 • 入力端子や出力端子に VCC より高い電圧や VSS より低い電圧が印加された場合 • VCC 端子∼ VSS 端子間に定格を超える電圧が印加された場合 • VCC の電圧より , AVCC の電源が先に供給された場合 アナログ系の電圧印加は , 必ず VCC と同時に行うか , デジタル電源の投入後に行って ください ( 電源 OFF の場合は , アナログ系電源を先に落とすか , 同時に落としてくださ い)。 ラッチアップが起きると電源電流が激増し , 素子の熱破壊に至ることがあります。使用 に際しては , 十分に注意してください。 ● 未使用端子の処理 入力に用いる未使用端子を開放のままにしておくと,誤動作およびラッチアップによる 永久破壊の原因になることがあります。使用していない入力端子は , 2 kΩ 以上の抵抗 を介して , プルアップまたはプルダウンの処置をしてください。使用していない入出力 端子は , 出力状態に設定して開放とするか , 入力状態に設定して入力端子と同じ処理を してください。使用していない出力端子は開放としてください。 ● A/D コンバータ未使用時の端子処理 A/D コンバータを使用しない場合は , AVCC = AVRH = VCC, AVSS = VSS となるよう に接続してください。 ● 電源端子 (VCC/VSS) の取扱い VCC または VSS が複数ある場合 , デバイス設計上はラッチアップなどの誤動作を防止 するためにデバイス内部で同電位にすべきもの同士を接続してあります。不要輻射の 低減 , グランドレベルの上昇によるストローブ信号の誤動作の防止 , 総出力電流規格を 遵守などのため , 必ずすべての VCC と VSS を外部で電源およびグランドに接続してく ださい。また , 電源供給源と本デバイスの VCC 端子と VSS 端子は低インピーダンスで 接続してください。 本デバイスの近くで , VCC と VSS の間に 0.1 μF 程度のセラミックコンデンサをバイパ スコンデンサとして接続することをお勧めします。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 21 第 1 章 概要 1.7 デバイス使用上の注意 MB90330A シリーズ ● 水晶発振回路 X0/X1 端子および X0A/X1A 端子の近くにノイズがあると , デバイスの誤動作の原因と なる可能性があります。X0/X1, X0A/X1A, 水晶発振子 ( またはセラミック発振子 ) およ びグランドへのバイパスコンデンサをできるだけデバイスの近くに配置するようにプ リント板を設計してください。 グランドで X0/X1 端子および X0A/X1A 端子を取り囲むようにプリント板アートワー クを設計すると , 安定した動作が得られますので , この設計を強く推奨します。 各量産品において , ご使用される発振子メーカに発振評価依頼をしてください。 ● 外部クロック使用時の注意 外部クロックをご使用になる場合は , 外部端子を図 1.7-1 のように接続してください。 図 1.7-1 に外部クロック使用方法を示します (f=7 MHz 以下 ) 。 図 1.7-1 外部クロック使用方法 X0 開放 X1 ● 供給電源の安定化 VCC 電源電圧の動作範囲内においても , 電源電圧の急激な変化があると誤動作を生じ ることがあります。安定化の基準として , 商用周波数 (50 Hz / 60 Hz) での VCC リップ ル変動 (P-P 値 ) は , 標準 VCC 値の 10% 以下になるように , また 電源の切換え時などの 瞬時変化においては , 過渡変動率が 0.1 V/ms 以下になるように電源電圧を安定させて ください。 ● 低電圧使用時の水晶発振回路 2.0 V 以下の電圧でご使用の場合には , 電源 ON 時に外部の水晶発振子が発振しない場 合があります。このため , 外部クロックの使用を推奨致します。 ● 2 系統品を 1 系統で使用する場合 2 系統である MB90330A シリーズを 1 系統で使用する場合 , X0A=VSS : X1A= 開放とし て使用してください。 ● フラッシュメモリへの書込みについて フラッシュメモリへのシリアル書込みは , 必ず , 動作電圧 :VCC=3.13 V ∼ 3.6 V 内で行っ てください。 フラッシュメモリへの通常書込みは , 必ず , 動作電圧 :VCC=3.0 V ∼ 3.6 V 内で行ってく ださい。 ● PLL クロックモード動作中の注意について 本マイコンで PLL クロックを選択しているときに発振子が外れたり , あるいはクロッ ク入力が停止した場合 , 本マイコンは PLL 内部の自励発振回路の自走周波数で動作を 継続する場合があります。この動作は保証外の動作です。 22 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 1 章 概要 1.7 デバイス使用上の注意 ● シリアル通信について シリアル通信においては,ノイズなどにより間違ったデータを受信する可能性がありま す。そのため , ノイズを抑えるボードの設計をしてください。 また , 万が一ノイズなどの影響により誤ったデータを受信した場合を考慮し , 最後に データのチェックサムなどを付加してエラー検出を行ってください。エラーが検出さ れた場合には , 再送を行うなどの処理をしてください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 23 第 1 章 概要 1.7 デバイス使用上の注意 24 MB90330A シリーズ FUJITSU MICROELECTRONICS LIMITED CM44-10129-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 固有箇所 : 26, 26 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 25 第 2 章 CPU 2.1 CPU の概要 2.1 MB90330A シリーズ 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 バイトのキュー 26 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 2 章 CPU 2.2 メモリ空間 MB90330A シリーズ メモリ空間 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-10129-6 FUJITSU MICROELECTRONICS LIMITED 27 第 2 章 CPU 2.2 メモリ空間 MB90330A シリーズ ■ 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 ポートおよびデータの入出力を制御します。 28 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 2 章 CPU 2.2 メモリ空間 ■ アドレス作成の方式 F2MC-16LX のアドレス指定には , 以下に示す 2 つの方式があります。 ● リニア方式 24 ビットアドレスを命令により指定する方式 ● バンク方式 アドレス上位 8 ビットを用途に応じたバンクレジスタで , アドレス下位 16 ビットを命 令により指定する方式 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 29 第 2 章 CPU 2.3 リニア方式によるアドレス指定 2.3 MB90330A シリーズ リニア方式によるアドレス指定 リニア方式には以下に示す 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 30 003A FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 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-10129-6 FUJITSU MICROELECTRONICS LIMITED 31 第 2 章 CPU 2.4 バンク方式によるアドレス指定 MB90330A シリーズ 表 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 32 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 2 章 CPU 2.5 メモリ空間における多バイト長データ MB90330A シリーズ メモリ空間における多バイト長データ 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-10129-6 FUJITSU MICROELECTRONICS LIMITED 33 第 2 章 CPU 2.6 レジスタ 2.6 MB90330A シリーズ レジスタ 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 に , 専用レジスタの構成を示します。 34 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 2 章 CPU 2.6 レジスタ MB90330A シリーズ 図 2.6-1 専用レジスタ アキュムレータ AL AH USP ユーザスタックポインタ SSP システムスタックポインタ PS プロセッサステータス PC プログラムカウンタ DPR ダイレクトページレジスタ PCB プログラムカウンタバンクレジスタ DTB データバンクレジスタ USB ユーザバンクレジスタ SSB システムスタックバンクレジスタ ADB アディショナルデータバンクレジスタ 8ビット 16ビット 32ビット CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 35 第 2 章 CPU 2.6 レジスタ MB90330A シリーズ ■ 汎用レジスタ 図 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] という式で表すことができます。 36 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 2 章 CPU 2.6 レジスタ MB90330A シリーズ 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-10129-6 1234H 2B52H RW1 FUJITSU MICROELECTRONICS LIMITED 37 第 2 章 CPU 2.6 レジスタ 2.6.2 MB90330A シリーズ ユーザスタックポインタ (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" であるため システムスタックを使用 < 注意事項 > スタックポインタに設定する値は , 原則として偶数アドレスを使用してください。 38 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 2 章 CPU 2.6 レジスタ MB90330A シリーズ プロセッサステータス (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-10129-6 FUJITSU MICROELECTRONICS LIMITED 39 第 2 章 CPU 2.6 レジスタ MB90330A シリーズ ● ゼロフラグ (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) 初期値 40 ILM2 ILM1 ILM0 0 0 0 : ILM FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 2 章 CPU 2.6 レジスタ MB90330A シリーズ 表 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-10129-6 許可される割込みレベル FUJITSU MICROELECTRONICS LIMITED 41 第 2 章 CPU 2.6 レジスタ 2.6.4 MB90330A シリーズ プログラムカウンタ (PC) プログラムカウンタ (PC) は , CPU が実行すべき命令コードのメモリアドレスの下位 16 ビットを示します。 ■ プログラムカウンタ (PC) プログラムカウンタ (PC) は , 16 ビットのカウンタであり , CPU が実行すべき命令コー ドのメモリアドレスの下位 16 ビットを示します。上位 8 ビットアドレスは PCB によ り示されます。PC は条件分岐命令 , サブルーチンコール命令 , 割込み , リセットなどに より内容が更新されます。また , オペランドアクセス時のベースポインタとして使用す ることもできます。 図 2.6-10 に , プログラムカウンタを示します。 図 2.6-10 プログラムカウンタ PCB FEH PC ABCDH 次に実行する命令 FEABCDH 42 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 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-10129-6 FUJITSU MICROELECTRONICS LIMITED 43 第 2 章 CPU 2.6 レジスタ 2.6.6 MB90330A シリーズ ダイレクトページレジスタ (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ビット 物理アドレス αααααααααββββββββγγγγγγγγ 44 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 2 章 CPU 2.7 レジスタバンク MB90330A シリーズ 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 ワードレジスタ ロングワードレジスタ RW0 000180H + RP × 10H + 1 RL0 000180H + RP × 10H + 2 RW1 000180H + RP × 10H + 3 000180H + RP × 10H + 4 RW2 000180H + RP × 10H + 5 RL1 000180H + RP × 10H + 6 RW3 000180H + RP × 10H + 7 000180H + RP × 10H + 8 R0 000180H + RP × 10H + 9 R1 000180H + RP × 10H + 10 R2 000180H + RP × 10H + 11 R3 000180H + RP × 10H + 12 R4 000180H + RP × 10H + 13 R5 000180H + RP × 10H + 14 R6 000180H + RP × 10H + 15 R7 CM44-10129-6 RW4 RL2 RW5 RW6 RL3 RW7 FUJITSU MICROELECTRONICS LIMITED 45 第 2 章 CPU 2.8 プリフィックスコード 2.8 MB90330A シリーズ プリフィックスコード 命令の前にプリフィックスコードを置くことで , 命令動作の一部を変更することが できます。プリフィックスコードには , バンクセレクトプリフィックス , コモンレジ スタバンクプリフィックス , フラグ変化抑止プリフィックスの 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] 命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。 46 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 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-10129-6 FUJITSU MICROELECTRONICS LIMITED 47 第 2 章 CPU 2.8 プリフィックスコード MB90330A シリーズ ● JCTX @A プリフィックスの有無にかかわらず , CCR は命令の仕様どおり変化します。 ● MOV ILM,imm8 命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。 48 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 2 章 CPU 2.9 割込み抑止命令 MB90330A シリーズ 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-10129-6 FUJITSU MICROELECTRONICS LIMITED 49 第 2 章 CPU 2.9 割込み抑止命令 50 MB90330A シリーズ FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第3章 割込み この章では , MB90330A シリーズの割込みと拡張 インテリジェント 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-10129-6 FUJITSU MICROELECTRONICS LIMITED 51 第 3 章 割込み 3.1 割込みの概要 3.1 MB90330A シリーズ 割込みの概要 F2MC-16LX にはイベントなどが発生したとき , 現在実行中の処理を中断して , 別に 定義したプログラムへ制御を移す以下の 5 つの割込み機能があります。 • ハードウェア割込み • ソフトウェア割込み • 拡張インテリジェント I/O サービス (EI2OS) による割込み • μDMAC による割込み • 例外処理 ■ 割込みの種類と機能 ● ハードウェア割込み 周辺機能からの割込み要求に対して , ユーザの定義した割込み処理用プログラムへ制 御を移行する機能です。 図 3.1-1 ハードウェア割込みの概要 F2MC-16LX バス マイクロコード F2MC-16LX I PS レジスタファイル IR ILM チェック 比較器 PS I ILM IR : プロセッサステータス : 割込み許可フラグ : 割込みレベルマスクレジスタ : インストラクションレジスタ CPU 周辺 割 込 み レ ベ ル IL レ ベ ル 比 較 器 許可 FF AND 要因 FF 割込み コントローラ ● ソフトウェア割込み ソフトウェア割込み専用の命令 (INT 命令など ) の実行によって , ユーザの定義した割 込み処理用プログラムへ制御を移行する機能です。 F2MC-16LX バス 図 3.1-2 ソフトウェア割込みの概要 レジスタ ファイル PS S ILM B ユニット マイクロ コード F2MC-16LX I IR キュー CPU フェッチ PS : プロセッサステータス I : 割込み許可フラグ S : スタックフラグ ILM : 割込みレベルマスクレジスタ IR : インストラクションレジスタ B ユニット : Bus interface ユニット 退避 命令系バス RAM 52 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 3 章 割込み 3.1 割込みの概要 MB90330A シリーズ ● 拡張インテリジェント I/O サービス (EI2OS) による割込み EI2OS は周辺機能とメモリ間の自動データ転送機能です。従来 , 割込み処理プログラム で行っていたデータ転送を DMA( ダイレクトメモリアクセス ) のように行うことがで きます。指定回数のデータ転送処理が終了すると , 自動的に割込み処理プログラムを実 行します。 EI2OS による割込みは , ハードウェア割込みの一種です。 図 3.1-3 拡張インテリジェント I/O サービス (EI2OS) の概要 メモリ空間 IOA I/O レジスタ I/O レジスタ 周辺 割込み要求 CPU ③ ISD 割込み制御レジスタ ② ③ ① ICS 割込みコントローラ BAP ④ バッファ DCT ① I/O が転送を要求します。 ② 割込みコントローラがディスクリプタ を選択します。 ③ 転送元 / 先をディスクリプタから読み出し ます。 ④ I/O とメモリ間で転送が行われます。 ● μDMAC による割込み μDMAC は周辺機能とメモリ間の自動データ転送機能です。従来 , 割込み処理プログラ ムで行っていたデータ転送を DMA 転送で行います。指定回数のデータ転送処理が終 了すると , 自動的に割込み処理プログラムを実行します。 μDMAC による割込みはハードウェア割込みの一種です。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 53 第 3 章 割込み 3.1 割込みの概要 MB90330A シリーズ 図 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 アドレスポインタ DER:DMA 許可レジスタ BAP:バッファアドレスポインタ 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" と等価です。 54 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 3 章 割込み 3.2 割込み要因と割込みベクタ MB90330A シリーズ 割込み要因と割込みベクタ 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-10129-6 FUJITSU MICROELECTRONICS LIMITED 55 第 3 章 割込み 3.2 割込み要因と割込みベクタ MB90330A シリーズ ■ 割込み要因と割込みベクタ / 割込み制御レジスタ 表 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 0000B0H *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 *3 USB ファンクション 2 × 2∼6 USB ファンクション 3 × × #13 0DH FFFFC8H USB ファンクション 4 × × #14 0EH FFFFC4H USB ホスト 1 × × #15 0FH FFFFC0H 10H FFFFBCH 11H FFFFB8H USB ホスト 2 × × #16 I2C ch.0 × × #17 DTP/ 外部割込み ch.0/ ch.1 ○ × #18 12H FFFFB4H I2C ch.1 × × #19 13H FFFFB0H 14H FFFFACH 15H FFFFA8H DTP/ 外部割込み ch.2/ ch.3 ○ × #20 I2C ch.2 × × #21 DTP/ 外部割込み ch.4/ ch.5 ○ × #22 16H FFFFA4H PWC・リロードタイマ ch.0 △ 14 #23 17H FFFFA0H DTP/ 外部割込み ch.6/ ch.7 △ × #24 18H FFFF9CH インプットキャプチャ ch.0/ch.1 △ 7 #25 19H FFFF98H リロードタイマ ch.1 △ × #26 1AH FFFF94H インプットキャプチャ ch.2/ch.3 △ 8 #27 1BH FFFF90H リロードタイマ ch.2 56 △ × #28 1CH 高い FFFF8CH FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 3 章 割込み 3.2 割込み要因と割込みベクタ MB90330A シリーズ 表 3.2-2 割込み要因と割込みベクタ / 割込み制御レジスタ (2 / 2) 割込み要因 EI2OS 対応 番号 ○ PPG ch.0/ch.1 × × #30 1EH FFFF84H アウトプットコンペア ch.2/ch.3 ○ × #31 1FH FFFF80H PPG ch.2/ch.3 × × #32 20H FFFF7CH UART 送信完了 ch.2/ch.3 ○ 11 #33 21H FFFF78H #29 × × #34 22H FFFF74H UART 受信完了 ch.2/ch.3 ◎ 10 #35 23H FFFF70H FFFF6CH A/D 変換・フリーラン タイマ △ 15 #36 24H UART 送信完了 ch.0/ch.1 ○ 13 #37 25H FFFF68H 拡張シリアル I/O × 9 #38 26H FFFF64H UART 受信完了 ch.0/ch.1 ◎ 12 #39 27H FFFF60H タイムベースタイマ・時計 タイマ × × #40 28H FFFF5CH フラッシュメモリ書込み / 消去 × × #41 29H FFFF58H 遅延割込み発生モジュール × #42 アドレス ICR09 0000B9H *1 ICR10 0000BAH *1 ICR11 0000BBH *1 ICR12 0000BCH *1 ICR13 0000BDH *1 ICR14 0000BEH *1 ICR15 0000BFH *1 FFFF88H 1DH PPG ch.4/ch.5 × ICR アドレス アウトプットコンペア ch.0/ch.1 × 割込み制御 レジスタ 割込みベクタ μDMAC 対応 2AH FFFF54H 優先度 *2 低い ◎ : 使用可能 EI2OS 停止機能付 ( 割込みクリア信号で , 割込み要求フラグはクリアされます。ストップ 要求あり ) 。 ○ : 使用可能 ( 割込みクリア信号で , 割込み要求フラグはクリアされます )。 △ : ICR を共有する割込み要因を使用しない場合に使用可能 × : 使用不可 *1: ICR を共用している周辺機能は , 割込みレベルが同一になります。 *2: 同時に同じレベルの割込みが発生した場合の優先度です。 *3: ch.2, ch.3 は USB ホスト動作時でも使用できます。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 57 第 3 章 割込み 3.2 割込み要因と割込みベクタ MB90330A シリーズ <注意事項> • 同一割込み番号に 2 つの割込み要因があった場合は , リソースは両方の割込み要求フラ グが μDMAC 割込みクリア信号でクリアされます。したがって , 2 要因のどちらか 1 つ が μDMAC 機能を使用すると , もう 1 つの割込み機能は使用できません。該当リソース の割込み要求許可ビットを "0" にして , ソフトウェアポーリング処理で対処してくださ い。 • 同一割込み制御レジスタ (ICR) に 2 つの割込み要因がある場合は EI2OS の使用を許可 した場合 , どち らかの割込み要因を検出すると EI2OS が起動されます。EI2OS 起動中 は起動要因以外の割込みはマスク されますので , EI2OS 使用時はどちらかの割込み要 求をマスクして使用されることを推奨致します。 • 同一割込み制御レジスタ (ICR) に 2 つの割込み要因があるリソースは , 割込みフラグが EI2OS 割込みクリア信号でクリアされます。 ■ USB 割込みの種類と機能 USB 割込み要因 詳細内容 USB ファンクション 1 End Point0-IN EndPoint0-OUT USB ファンクション 2 End Point1 ∼ 5* 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 ホスト動作時でも使用できます。 58 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 3 章 割込み 3.3 割込み制御レジスタと周辺機能 MB90330A シリーズ 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 I2C ch.1, DTP 外部割込み ch.2/ch.3 0000B5H 割込み制御レジスタ 05 ICR05 I2C ch.2, DTP 外部割込み ch.4/ch.5 0000B6H 割込み制御レジスタ 06 ICR06 PWC, リロードタイマ ch.0, DTP 外部割込み ch.6/ch.7 0000B7H 割込み制御レジスタ 07 ICR07 インプットキャプチャ ch.0/ch.1, リロードタイマ ch.1 0000B8H 割込み制御レジスタ 08 ICR08 インプットキャプチャ ch.2/ch.3, リロードタイマ ch.2 0000B9H 割込み制御レジスタ 09 ICR09 アウトプットコンペアch.01, PPGch.0/ch.1 0000BAH 割込み制御レジスタ 10 ICR10 アウトプットコンペア ch.2/ch.3, PPGch.2/ch.3 0000BBH 割込み制御レジスタ 11 ICR11 UART 送信 ch.2/ch.3, PPGch.4/ch.5 0000BCH 割込み制御レジスタ 12 ICR12 UART 受信 ch.2/ch.3, AD 変換 , フリーランタイマ 0000BDH 割込み制御レジスタ 13 ICR13 UART 送信 ch.0/ch.1, 拡張シリアル I/O 0000BEH 割込み制御レジスタ 14 ICR14 UART受信ch.0/ch.1, タイマベースタイマ, 時計タイマ 0000BFH 割込み制御レジスタ 15 ICR15 フラッシュ書込み , 遅延割込み発生モジュール CM44-10129-6 対応する周辺機能 FUJITSU MICROELECTRONICS LIMITED 59 第 3 章 割込み 3.3 割込み制御レジスタと周辺機能 MB90330A シリーズ ■ 割込み制御レジスタの機能 割込み制御レジスタ (ICR) には , それぞれ次に示す 4 つの機能があります。 • 対応する周辺機能の割込みレベルの設定 • 対応する周辺機能の割込みを通常割込みにするか , 拡張インテリジェント I/O サー ビス (EI2OS) にするかの選択 • 拡張インテリジェント I/O サービス (EI2OS) のチャネルの選択 • 拡張インテリジェント I/O サービス (EI2OS) ステータスの表示 割込み制御レジスタ (ICR) は , 図 3.3-1 と図 3.3-2 に示すように , 書込み時と読出し時で 一部機能が異なります。 <注意事項> 割込み制御レジスタ (ICR) に対するリードモディファイライト (RMV) 系命令でのアクセ スは , 誤動作を引き起こしますので行わないでください。 60 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 3 章 割込み 3.3 割込み制御レジスタと周辺機能 MB90330A シリーズ 割込み制御レジスタ (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 2 EI OS許可ビット 0 割込み発生時に割込みシーケンスを起動 1 割込み発生時にEI2OSを起動 ICS3 ICS2 ICS1 ICS0 MSB : 最上位ビット LSB : 最下位ビット :初期値 CM44-10129-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 61 第 3 章 割込み 3.3 割込み制御レジスタと周辺機能 MB90330A シリーズ 図 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 - : 未定義 : 初期値 62 IL1 IL0 0 ISE 0 MSB : 最上位ビット LSB : 最下位ビット IL0 初期値 - - 000111 B 割込みレベル設定ビット 割込みレベル0(最強) 割込みレベル7(割込みなし) EI2OS許可ビット 割込み発生時に割込みシーケンスを起動 割込み発生時にEI2OSを起動 EI2OSステータス S1 S0 0 0 0 1 EI2OS動作中あるいは非起動時 カウント終了による停止状態 1 0 予約 1 1 周辺機能からの要求による停止状態 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 3 章 割込み 3.3 割込み制御レジスタと周辺機能 MB90330A シリーズ 割込み制御レジスタの機能 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 S1 S0 ISE IL2 IL1 IL0 初期値 00000111B 割込み制御レジスタ (ICR) 読出し時 アドレス 0000B0H ∼ 0000BFH MSB - LSB - IL0 初期値 --000111B MSB : 最上位ビット LSB : 最下位ビット - : 未定義 <参考> • ICS3 ∼ ICS0 ビットは , 拡張インテリジェント I/O サービス (EI2OS) を起動する場合 だけ有効となります。EI2OS を起動する場合は ISE ビットを "1" に設定し , 起動しない 場合は ISE ビットを "0" に設定してください。EI2OS を起動しない場合は , ICS3 ∼ ICS0 を設定しなくてもかまいません。 • ICS1 と ICS0 は書込み時だけ , S1 と S0 は読出し時だけ , それぞれ有効です。 <注意事項> 上位 2 ビットの読出し値は不定です。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 63 第 3 章 割込み 3.3 割込み制御レジスタと周辺機能 MB90330A シリーズ ■ 割込み制御レジスタの機能 ● 割込みレベル設定ビット (IL2 ∼ IL0) 対応する周辺機能の割込みレベルを指定します。リセットによりレベル 7( 割込みなし ) に初期化されます。割込みレベル設定ビットと各割込みレベルとの関係を , 表 3.3-2 に 示します。 表 3.3-2 割込みレベル設定ビットと割込みレベルの対応 IL2 IL1 IL0 割込みレベル 0 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 ( 割込なし ) ● 拡張インテリジェント 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 チャネル選択ビットとディスクリプタアドレスの対 応を示します。 64 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 3 章 割込み 3.3 割込み制御レジスタと周辺機能 MB90330A シリーズ 表 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-10129-6 S1 S0 0 0 EI2OS 動作中あるいは非起動時 0 1 カウント終了による停止状態 1 0 予約 1 1 周辺機能からの要求による停止状態 EI2OS ステータス FUJITSU MICROELECTRONICS LIMITED 65 第 3 章 割込み 3.4 ハードウェア割込み 3.4 MB90330A シリーズ ハードウェア割込み ハードウェア割込みは , 周辺機能からの割込み要求信号に対応して , 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 割込み要因と割込みベクタ 」を参照してください。 66 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 3 章 割込み 3.4 ハードウェア割込み MB90330A シリーズ ■ ハードウェア割込みの構造 ハードウェア割込みに関連する機構は , 表 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-10129-6 MOV A,2000H 割込みに 分岐しない FUJITSU MICROELECTRONICS LIMITED 割込み処理 割込みに 分岐する 67 第 3 章 割込み 3.4 ハードウェア割込み MB90330A シリーズ ● 割込み抑止命令のハードウェア割込み抑止 ハードウェア割込み抑止命令を表 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" にクリアするために , ほかの割込み 要求は受け付けられません。 68 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 3 章 割込み 3.4 ハードウェア割込み ハードウェア割込みの動作 3.4.1 ハードウェア割込み要求発生から , 割込み処理完了までの動作について説明します。 ■ ハードウェア割込みの起動 ● 周辺機能の動作 ( 割込み要求の発生 ) ハードウェア割込み要求の機能を持つ周辺機能は , 割込みの要求のあり / なしを示す 「割込み要求フラグ」と , CPU への割込み要求の許可 / 禁止を選択する「割込み許可フ ラグ」を持っています。割込み要求フラグは , 周辺機能固有のイベントの発生によって セットされ , 割込み許可フラグが「許可」であったときに , 割込みコントローラへ割込 み要求を発生します。 ● 割込みコントローラの動作 ( 割込み要求の制御 ) 割込みコントローラは , 同時に受け取った割込み要求の割込みレベル (IL) どうしを比 較し , 最も高いレベルの要求 (IL の値の最も小さいもの ) を採択して CPU へ通知しま す。同一レベルの要求が複数あった場合には , 割込み番号が小さいものを優先します。 ● CPU の動作 ( 割込み要求の受付けと割込み処理 ) CPU は受け取った割込みレベル (ICR の IL2 ∼ IL0) と割込みレベルマスクレジスタ (ILM) とを比較し , IL <ILM で , なおかつ割込みが許可 (CCR の I=1) されている場合に , 現在実行中の命令が終了後 , 割込み処理マイクロコードを起動し , 割込み処理を実行し ます。 割込み処理では , まず , システムスタック (SSB と SSP の示すシステムスタック空間 ) へ専用レジスタ (A, DPR, ADB, DTB, PCB, PC, PS の 12 バイト ) の内容を退避します。 次に , 割込みベクタのプログラムカウンタ (PCB, PC) へのロード , ILM の更新 , スタッ クフラグ (S) の設定 (CCR の S=1 とし , システムスタックを有効にする ) を行います。 ■ ハードウェア割込みからの復帰 割込み処理プログラムの中で , 割込み要因となった周辺機能の割込み要求フラグをク リアして , RETI 命令を実行すると , システムスタックに退避している 12 バイトデータ を専用レジスタに戻し , 割込み分岐前に実行していた処理に復帰します。割込み要求フ ラグをクリアすることで , 周辺機能が割込みコントローラへ出力していた割込み要求 は自動的に取り下げられます。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 69 第 3 章 割込み 3.4 ハードウェア割込み MB90330A シリーズ ■ ハードウェア割込みの動作 図 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 命令を実行することによって割込み処理が終了します。 70 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 3 章 割込み 3.4 ハードウェア割込み MB90330A シリーズ 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 指定回数終了か? または,周辺機能からの 終了要求があるか? YES NO ISE = 1 YES NO 次の命令の取込みとデコード PS,PC,PCB,DTB,DPR,Aを SSPのスタックへ退避 その後ILM=IL INT命令 NO 拡張インテリジェント 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-10129-6 S :コンディションコードレジスタ(CCR)の スタックフラグ ENx:DMA許可レジスタのDMA起動要求フラグ FUJITSU MICROELECTRONICS LIMITED 71 第 3 章 割込み 3.4 ハードウェア割込み MB90330A シリーズ ハードウェア割込みの使用手順 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) 割込み処理ハードウェアでレジスタの退避が行われ , 割込み処理プログラムに分岐 します。 72 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 3 章 割込み 3.4 ハードウェア割込み (8) 割込み処理プログラムで , 割込み発生に対する周辺機能への処理をします。 (9) 周辺機能の割込み要求を解除します。 (10)割込み復帰命令を実行し , 分岐前のプログラムに復帰します。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 73 第 3 章 割込み 3.4 ハードウェア割込み MB90330A シリーズ 多重割込み 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 要求はすべて保留されます。 74 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 3 章 割込み 3.4 ハードウェア割込み MB90330A シリーズ ■ 多重割込みの例 多重割込み処理の例として, A/Dコンバータよりタイマ割込みを優先させる場合を想定 し , A/D コンバータの割込みレベルを 2 に , タイマ割込みレベルを 1 に設定します。こ のとき , A/D コンバータの割込み処理中にタイマ割込みが発生すると , 図 3.4-5 のよう な処理を行います。 図 3.4-5 多重割込みの例 メインプログラム 周辺初期化 (1) A/D割込み処理 割込みレベル2 (ILM=010B) タイマ割込み処理 割込みレベル1 (ILM=001B) (3) タイマ割込み発生 (4) タイマ割込み処理 A/D割込み発生 (2) 中断 再開 メイン処理再開 (8) (6) A/D割込み処理 (5) タイマ割込み復帰 (7) A/D割込み復帰 ● A/D 割込み発生 A/D コンバータ割込み処理開始時に , 割込みレベルマスクレジスタ (ILM) が自動的に A/D コンバータの割込みレベル (ICR の IL2 ∼ IL0) と同じ値 ( 例では 2) になります。こ のとき , レベル 1 またはレベル 0 の割込み要求が発生すると , この割込み処理を優先し て行います。 ● 割込み処理の終了 割込み処理が終了して復帰命令 (RETI) を実行すると , スタック内に退避した専用レジ スタ (A, DPR, ADB, DTB, PCB, PC, PS) の値が復帰し , 割込みレベルマスクレジスタ (ILM) は中断前の値となります。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 75 第 3 章 割込み 3.4 ハードウェア割込み 3.4.5 MB90330A シリーズ ハードウェア割込みの処理時間 ハードウェア割込み要求が発生して割込み処理ルーチンが実行されるまでには , 現 在実行中の命令が終了するまでの時間と , 割込みハンドリング時間が必要です。 ■ ハードウェア割込み処理時間 割込み要求が発生してから割込みが受け付けられて , 割込み処理ルーチンが実行され るまでには , 割込み要求サンプル待ち時間と割込みハンドリング時間 ( 割込み処理準備 に要する時間 ) が必要です。図 3.4-6 に , 割込み処理時間を示します。 図 3.4-6 割込み処理時間 通常命令実行 CPUの動作 割込み待ち時間 割込み要求 サンプル待ち時間 割込みハンドリング 割込み処理ルーチン 割込みハンドリング時間 (θマシンサイクル)* 割込み要求発生 :命令最終サイクル, ここで割込み要求をサンプルする。 * :1マシンサイクルは, マシンクロック(φ)の1クロック周期に相当します。 ● 割込み要求サンプル待ち時間 割込み要求サンプル待ち時間とは , 割込み要求が発生してから現在実行中の命令が終 了するまでの時間をいいます。割込み要求が発生しているかどうかは , 各命令の最後の サイクルで割込み要求をサンプリングして判断します。そのため , 各命令の実行中は , CPU が割込み要求を認識できず , 待ち時間が発生します。 なお , 割込み要求サンプル待ち時間は , 最も実行サイクルの長い PCPW, PW0, …RW7 命 令 (45 マシンサイクル ) 開始直後に割込み要求が発生した場合 , 最大となります。 ● 割込みハンドリング時間 (θ マシンサイクル ) CPU は , 割込み要求を受付けてから , 専用レジスタのシステムスタックへの退避および 割込みベクタの取込みなどを行うため , θ マシンサイクルの割込みハンドリング時間を 必要とします。割込みハンドリング時間は , 以下の式によって求められます。 • 割込み起動時 : θ=24+6 × Z マシンサイクル • 割込み復帰時 : θ=11+6 × Z マシンサイクル (RETI 命令 ) 割込みハンドリング時間は , スタックポインタの指しているアドレスによって異なり ます。表 3.4-3 に割込みハンドリング時間の補正値 (Z) を示します。 76 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 3 章 割込み 3.4 ハードウェア割込み MB90330A シリーズ 1 マシンサイクルは , マシンクロック (φ) の 1 クロック周期に相当します。 表 3.4-3 割込みハンドリング時間の補正値 (Z) CM44-10129-6 スタックポインタが指しているアドレス 補正値 (Z) 外部 8 ビットの場合 +4 外部 偶数アドレスの場合 +1 外部 奇数アドレスの場合 +4 内部 偶数アドレスの場合 0 内部 奇数アドレスの場合 +2 FUJITSU MICROELECTRONICS LIMITED 77 第 3 章 割込み 3.5 ソフトウェア割込み 3.5 MB90330A シリーズ ソフトウェア割込み ソフトウェア割込みは , ソフトウェア割込み命令 (INT 命令 ) を実行すると , CPU が それまで実行していたプログラムからユーザの定義した割込み処理用プログラムへ 制御を移す機能です。 ソフトウェア割込みの実行中 , ハードウェア割込みは停止します。 ■ ソフトウェア割込みの起動 ● ソフトウェア割込みの起動 ソフトウェア割込みの起動には, INT命令を使用します。ソフトウェア割込み要求には, 割込み要求フラグおよび許可フラグはなく, INT命令を実行すると常に割込み要求が発 生します。 ● ハードウェア割込みの抑止 INT 命令には割込みレベルがないので , 割込みレベルマスクレジスタ (ILM) の更新は行 われません。INT 命令実行中は , コンディションコードレジスタ (CCR) の I フラグを "0" に設定し , ハードウェア割込みをマスクします。ソフトウェア割込み処理中でも ハードウェア割込みを許可するときは , ソフトウェア割込み処理ルーチンの中で I フラ グを "1" に設定してください。 ● ソフトウェア割込みの動作 CPU が INT 命令を取り込んで実行すると , ソフトウェア割込み処理用のマイクロコー ドを起動します。 このマイクロコードにより , CPU 内部のレジスタ類をシステムスタッ クに退避し , ハードウェア割込みをマスク (CCR の I=0) したあと , 対応する割込みベク タへ分岐します。 割込み番号と割込みベクタの割当てについては ,「 3.2 割込み要因と割込みベクタ 」を 参照してください。 ■ ソフトウェア割込みからの復帰 割込み処理プログラムの中で割込み復帰命令 (RETI 命令 ) を実行すると , システムス タックに退避している 12 バイトデータを専用レジスタに戻して , 割込み分岐前に実行 していた処理に復帰します。 78 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 3 章 割込み 3.5 ソフトウェア割込み MB90330A シリーズ ■ ソフトウェア割込みの動作 図 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-10129-6 FUJITSU MICROELECTRONICS LIMITED 79 第 3 章 割込み 3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み 3.6 MB90330A シリーズ 拡張インテリジェント 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) でチャネル指定します。 80 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 3 章 割込み 3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み MB90330A シリーズ <注意事項> 拡張インテリジェント I/O サービス (EI2OS) が動作しているとき , CPU のプログラム実行 は停止します。 ■ 拡張インテリジェント 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-10129-6 FUJITSU MICROELECTRONICS LIMITED 81 第 3 章 割込み 3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み 3.6.1 MB90330A シリーズ 拡張インテリジェント 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 データカウンタ上位8ビット(DCTH) H データカウンタ下位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 チャネル番号とディスクリプタアドレスの対応 チャネル 82 ディスクリプタアドレス 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-10129-6 MB90330A シリーズ 3.6.2 第 3 章 割込み 3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み 拡張インテリジェント 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-10129-6 FUJITSU MICROELECTRONICS LIMITED 83 第 3 章 割込み 3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み MB90330A シリーズ ■ 拡張インテリジェント 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:アドレスポインタは,インクリメントだけ可能です。 ■ バッファアドレスポインタ (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 構成を示します。 84 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 3 章 割込み 3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み MB90330A シリーズ 図 3.6-6 バッファアドレスポインタ (BAP) の構成 bit23 ~ BAP bit16 bit15 ~ bit8 bit7 ~ BAPH BAPM BAPL R/W R/W R/W bit0 初期値 XXXXXXXXXXXXXXXXXXXXXXXXB R/W : リード・ライト可能 X : 不定 <注意事項> I/O アドレスポインタ (IOA) で指定できる領域は , 000000H ∼ 00FFFFH です。 バッファアドレスポインタ (BAP) で指定できる領域は , 000000H ∼ FFFFFFH です。 データカウンタ (DCT) で指定できる最大転送数は , 65536 個 (64K バイト ) です。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 85 第 3 章 割込み 3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み 3.6.3 MB90330A シリーズ 拡張インテリジェント 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 BAPで示されるデータ (データ転送) IOAで示されるメモリ IOAで示されるデータ (データ転送) BAPで示されるメモリ IF=0 YES NO BF=0 DCT=00 NO 更新値は BWによる BAP更新 (-1) YES S1, S0に"00"をセット 周辺機能割込み要求の クリア CPU動作復帰 ISD :EI2OSディスクリプタ ISCS:EI2OSステータスレジスタ IF :EI2OSステータスレジスタ(ISCS)の IOA更新/固定選択ビット BW :EI2OSステータスレジスタ(ISCS)の 転送データ長指定ビット BF :EI2OSステータスレジスタ(ISCS)の BAP更新/固定選択ビット DIR :EI2OSステータスレジスタ(ISCS)の データ転送方向指定ビット SE :EI2OSステータスレジスタ(ISCS)の EI2OS終了制御ビット 86 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-10129-6 MB90330A シリーズ 第 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=01or S1, S0=11 バッファ中のデータの処理 RETI ISE :割込み制御レジスタ(ICR)のEI2OSの許可ビット S1, S0:割込み制御レジスタ(ICR)のEI2OSステータス CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 87 第 3 章 割込み 3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み 3.6.5 MB90330A シリーズ 拡張インテリジェント 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 実行時の条件によって補正が必要です。 88 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 3 章 割込み 3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み 表 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-10129-6 補正値 (Z) 外部 8 ビットのとき +4 外部 偶数アドレスのとき +1 外部 奇数アドレスのとき +4 内部 偶数アドレスのとき 0 内部 奇数アドレスのとき +2 FUJITSU MICROELECTRONICS LIMITED 89 第 3 章 割込み 3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み MB90330A シリーズ ● 周辺機能 (I/O) からの終了要求による終了時 周辺機能 (I/O) からの終了要求で , EI2OS によるデータ転送を途中で終了した場合 (ICR:S1, S0=11), データ転送は行わず , ハードウェア割込みを起動します。この場合の EI2OS 処理時間は , 次の式で算出されます。式中の Z は , 割込みハンドリング時間の補 正値 ( 表 3.6-4 を参照 ) です。 途中終了時の EI2OS 処理時間 =36+6 × Z マシンサイクル <参考> 1 マシンサイクルは , マシンクロック ( φ) の 1 クロック周期に相当します。 90 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 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-10129-6 FUJITSU MICROELECTRONICS LIMITED 91 第 3 章 割込み 3.8 μDMAC による割込み 3.8 MB90330A シリーズ μ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 の動作説明 92 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 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-10129-6 FUJITSU MICROELECTRONICS LIMITED 93 第 3 章 割込み 3.8 μDMAC による割込み MB90330A シリーズ μ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 R/W R/W R/W R/W DCSR 初期値 0000000B 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 初期値 0000000B 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 初期値 0000000B 0 STP0 R/W 初期値 0000000B DSRL 初期値 0000000B 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" のとき STP15 ∼ STP8 を , "1" のとき STP7 ∼ STP0 を使用 ) 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 初期値 0000000B DERL 初期値 0000000B R/W: リード・ライト可能 94 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 3 章 割込み 3.8 μDMAC による割込み MB90330A シリーズ 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 R/W R/W R/W R/W DCSR 初期値 0000000B R/W: リード・ライト可能 [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 インプットキャプチャ 0, 1 1000B 8 インプットキャプチャ 2, 3 1001B 9 拡張シリアル I/O 1010B 10 UART2/UART3・受信 1011B 11 UART2/UART3・送信 1100B 12 UART0/UART1・受信 1101B 13 UART0/UART1・送信 1110B 14 PWC・リロードタイマ 0 1111B 15 A/D コンバータ・変換終了・フリーランタイマ CM44-10129-6 リソース割込み要求 FUJITSU MICROELECTRONICS LIMITED 95 第 3 章 割込み 3.8 μDMAC による割込み MB90330A シリーズ DCSR の設定により , 16 チャネル中 1 チャネルのディスクリプタチャネルが選択され ます。詳細は「3.8.3 DMA ディスクリプタウィンドウレジスタ (DDWR) 」を参照して ください。 * : USB ホスト動作時でも使用できます。 [bit15] STP:STP 制御ビット STP ビット 機能 0 [ 初期値 ] DSSR として STP8 ∼ STP15 を選択します。 1 DSSR として STP0 ∼ STP7 を選択します。 [bit14 ∼ bit12] 予約 : ( 予約ビット ) bit14 ∼ bit12 の 3 ビットは予約ビットです。 これらのビットの読出し値は常に "0" です。 これらのビットには必ず "0" 書き込んでください。 <注意事項> DCSR レジスタにリードモディファイライト (RMW) 系命令を使用しないでください。 96 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 3 章 割込み 3.8 μDMAC による割込み MB90330A シリーズ 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 初期値 0000000B DSRL 初期値 0000000B 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-10129-6 FUJITSU MICROELECTRONICS LIMITED 97 第 3 章 割込み 3.8 μDMAC による割込み MB90330A シリーズ DMA ストップステータスレジスタ (DSSR) 3.8.2.3 DMA ストップステータスレジスタ (DSSR) は STOP 要求により DMA 転送が停止し たことを示すレジスタです。DMA ディスクリプタチャネル指定レジスタ (DCSR) の STP ビットによって本レジスタに示すビットの意味が異なります。 ■ DMA ストップステータスレジスタ (DSSR) 図 3.8-4 DMA ストップステータスレジスタ (DSSR) のビット構成 DCSR: STP ビット =0 のとき 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 DSSR 初期値 0000000B 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 初期値 0000000B 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 要求には以下の 2 チャネルが対応しています。 チャネル 対応する STPx ビット リソース ch.10 STP10 UART2/3・受信 ch.12 STP12 UART0/1・受信 STP10, STP12 以外のビットは意味を持ちません。 98 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 3 章 割込み 3.8 μDMAC による割込み <注意事項> • DSSR は , DCSR の最上位ビット (STP) により制御されます。STP が "0" のときは , STP15 ∼ STP8 が DSSR として選択され , "1" のときは , STP7 ∼ STP0 が DSSR とし て選択されます。STP は初期値が "0" なので , 最初は STP15 ∼ STP8 が選択されてい ます。 • DSSR に書込みを行う場合 , リードモディファイライト (RMW) 系の命令を使用してく ださい。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 99 第 3 章 割込み 3.8 μDMAC による割込み MB90330A シリーズ DMA 許可レジスタ (DERH/DERL) 3.8.2.4 DMA 許可レジスタ (DERH/DERL) は DMA 転送を許可するレジスタです。本レジス タを "1" にセットし , 対応するチャネルに割込み要求が発生すると DMA 転送要求と みなし , DMA 転送を開始します。 ■ DMA 許可レジスタ (DERH/DERL) 図 3.8-5 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 初期値 0000000B DERL 初期値 0000000B R/W: リード・ライト可能 [bit15 ∼ bit0] ENx:DMA 許可 ENx ビット 0 [ 初期値 ] 機能 DMA 転送を実行しません。 リソースからの割込み要求を DMA 起動要求とし , DMA 転送終了時点で割込み 要求を割込みコントローラに出力します。 DMA 転送バイト数が 0 となるか , リソースからの STOP 要求で DMA 転送が停止 された時点で , "0" にクリアされます。 1 <注意事項> 100 • DERH/DERL に書込みを行う場合 , リードモディファイライト (RMW) 系の命令を使用 してください。 • スタンバイモード ( スリープモード , ストップモード , 時計モード , タイムベースタイ マモード ) または CPU 間欠動作モード ( メインクロック間欠動作モード , PLL クロッ ク間欠モード , サブクロック間欠モード ) に移行する場合 , 必ず DMA 許可レジスタ (DERH/DERL) に "0" を設定してから各モードに移行してください。 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 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-10129-6 FUJITSU MICROELECTRONICS LIMITED 101 第 3 章 割込み 3.8 μDMAC による割込み MB90330A シリーズ DMA データカウンタ (DDCTH/DDCTL) 3.8.3.1 DMA データカウンタ (DDCTH/DDCTL) はデータ転送回数を設定するレジスタです。 DMA データカウンタ (DDCTH/DDCTL) が "0" になると DMA 転送は終了します。 ■ DMA データカウンタ (DDCTH/DDCTL) DMA データカウンタ (DDCTH/DDCTL) は , 16 ビット長のレジスタで , 転送回数に対応 したカウンタとなります。各データの転送後に , カウンタはワード , バイト転送に関係 なく1デクリメント(減値)します。このカウンタが"0"になるとDMA転送 は終了します。 図 3.8-7 に DDCT の構成を示します。 DDCT に "0" を設定すると , 最大データ転送数 (65536 個 ) がセットされます。 図 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 XXXXXXXXXXXXXXXXB DDCTL 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: 転送バイト数 102 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 3 章 割込み 3.8 μDMAC による割込み MB90330A シリーズ 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 XXXXXXXXXXXXXXXX B DIOAL 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-10129-6 FUJITSU MICROELECTRONICS LIMITED 103 第 3 章 割込み 3.8 μDMAC による割込み MB90330A シリーズ 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 R/W R/W R/W R/W R/W R/W R/W SE 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 :不定 104 ウェイト指示ビット(図3.8-10を参照) RDY2 RDY1 0 0 転送と転送の間にウェイトなし 0 1 転送と転送の間にウェイト長1サイクル 1 0 転送と転送の間にウェイト長2サイクル 1 1 転送と転送の間にウェイト長3サイクル FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 3 章 割込み 3.8 μDMAC による割込み MB90330A シリーズ 図 3.8-10 ウェイト指示ビット説明 source destination Wait source destination 上図のような転送におけるwait部分の長さを RDY2,RDY1で定義する。 <注意事項> μDMAC を使用して , UART へ送信データを書き込む場合 , DMACS レジスタの RDY2, RDY1 ビットを (0, 0) に設定しないでください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 105 第 3 章 割込み 3.8 μDMAC による割込み MB90330A シリーズ 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 DBAPH/ DBAPM/ DBAPL bit23 ~ bit16 bit15 ~ bit8 bit7 ~ DBAPH DBAPM DBAPL R/W R/W R/W bit0 初期値 XXXXXXXXXXXXXXXXXXXXXXXXB R/W : リード・ライト可能 X : 不定 <注意事項> 106 • DMA I/O レジスタアドレスポインタ (DIOAH/DIOAL) で指定できる領域は , 000000H ∼ 00FFFFH です。 • DMA バッファアドレスポインタ (DBAPH/DBAPM/DBAPL) で指定できる領域は , 000000H ∼ FFFFFFH です。 • DIOA と DBAP に μDMAC の内部レジスタ DCSR, DSRH, DSRL, DSSR, DERH, DERL, および DMA ディスクリプタウィンドウレジスタ DDWR のアドレスを指定しないでく ださい。 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 3 章 割込み 3.8 μDMAC による割込み MB90330A シリーズ μDMAC の動作説明 3.8.4 This section describes the μDMAC operation. ■ μDMAC の動作 図 3.8-12 に DMA の動作の説明図を示します。 μDMAC を使用したデータ転送は以下の順番で行われます。 1. 周辺リソース (I/O) が DMA 転送を要求する。 2. DMA 許可レジスタ (DERH/DERL) が "1" のとき , μDMAC が , 指定されたチャネル の転送元 , 転送先アドレスや転送回数等の転送データをディスクリプタから読み出 す。 3. I/O とメモリ間で DMA データ転送を開始する。 4. 1 バイトもしくは 1 ワードの転送を実行後 (a) 転送終了でないとき (DMA データカウンタ DDCT は "0" になっていない ) 周辺リソースに対して DMA 転送要求のクリアを要求する。 (b) 転送終了時 (DMA データカウンタ DDCT=0) DMA 転送終了後 , DMA ステータスレジスタに転送終了のフラグをセットし , 割込みコントローラへ割込み要求を出力する。 <注意事項> 内部レジスタDSRH, DSRL, DSSR, DERH, DERLへ書込みを行う場合, リードモディファ イライト (RMW) 系の命令を使用してください。 図 3.8-12 μDMAC の動作 メモリ空間 ディスクリプタ用 RAM DIOA 周辺機能 I/O レジスタ I/O レジスタ ( I/O ) (3) (4) (a) (1) (2) DMA コントローラ DMA ディスクリプタ (4) (b) バッファ CPU DBAP DDCT DIOA:DMA I/O アドレスポインタ DBAP:DMAバッファアドレスポインタ CM44-10129-6 (2) 割込み コントローラ DER:DMA 許可レジスタ DDCT:DMAデータカウンタ FUJITSU MICROELECTRONICS LIMITED 107 第 3 章 割込み 3.8 μDMAC による割込み MB90330A シリーズ ■ μ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 BW = 1 YES NO ユーザプログラムの実行 BYTEL = 0 YES NO BW = 1 YES YES NO NO BYTEL = 0 YES DCT = 0 NO NO DCT = 0 YES YES BAP = BAP+2 IOA = IOA+2 BAP = BAP+1 STPx = 1 DCT = 0 IOA = IOA+1 NO YES DTEx = 1 (割込みルーチンへジャンプ) 割込み処理 * ENx = 0 NO 他の割込み発生 YES 割込み発生 YES NO 処理終了 ENx :DMA許可レジスタの該当するビット DTEx:DMAステータスレジスタの該当するビット STPx:DMAストップステータスレジスタの該当するビット * :割込みコントローラに割込み要求を出力 108 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 3.9 第 3 章 割込み 3.9 例外 例外 F2MC-16LX では , 以下の要因により例外が発生し , 例外処理が行われます。 ■ 未定義命令の実行 例外処理は , 基本的には割込みと同じものであり , 命令の境目で例外事項が発生したこ とを検出した段階で , 通常処理から離れて例外処理を行います。一般的に , 例外処理は 予想外の動作を行った結果で発生するものですので , デバッグ時だけの使用や緊急時 の復旧ソフトウェアの起動などに使用することをお勧め致します。 ■ 未定義命令の実行による例外発生 F2MC-16LX では , 命令マップで定義していないコードはすべて未定義命令として扱い ます。未定義命令を実行すると , ソフトウェア割込み命令の「INT10」と等価な処理を 行います。すなわち , AL, AH, DPR, DTB, ADB, PCB, PC, PS の内容をシステムスタック に退避した後に , I フラグを "0" に設定し , S フラグを "1" に設定し , 割込み番号 10 の ベクタで示されるルーチンへ分岐します。スタックへ退避した PC の値は未定義命令を 格納しているアドレスそのものです。2 バイト以上の命令コードでは , 未定義であるこ とが識別できたコードを格納しているアドレスになります。このため , RETI 命令で復 帰させることは可能ですが , 再び例外を発生するため , 意味がありません。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 109 第 3 章 割込み 3.10 割込み処理のスタック動作 MB90330A シリーズ 割込み処理のスタック動作 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 00H XXH FFH L XXH 803FH 80H PC 803FH 3FH XXH PS 20E0H 08F2H XXH 20H PS 20E0H バイト 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 の値がスタックから復帰し , 専用レジスタは割 込み開始直前の状態に戻ります。 110 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 3 章 割込み 3.10 割込み処理のスタック動作 MB90330A シリーズ ■ スタック領域 ● スタック領域の確保 スタック領域は , 割込み処理の他にサブルーチンコール命令 (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) にアドレスを設定する場合 , 原則として偶数アドレスを 設定してください。 • システムスタック領域 , ユーザスタック領域 , およびデータ領域は , お互いに重なり合 わないように配置してください。 ● システムスタックとユーザスタック 割込み処理では , システムスタック領域を使用します。割込み発生時にユーザスタック 領域を使用していても , 強制的にシステムスタックに切り換えられます。このため , ユーザスタック領域を主に使用するシステムであっても , システムスタック領域を正 しく設定しておく必要があります。特に , スタック空間を分ける必要がなければ , シス テムスタックだけを使用してください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 111 第 3 章 割込み 3.11 割込み処理のプログラム例 3.11 MB90330A シリーズ 割込み処理のプログラム例 割込み処理のプログラム例を示します。 ■ 割込み処理のプログラム例 ● 処理仕様 外部割込み 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 112 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 3 章 割込み 3.11 割込み処理のプログラム例 MB90330A シリーズ BRA 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 転送終了による割込 みが発生 ● コーディング例 CM44-10129-6 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 113 第 3 章 割込み 3.11 割込み処理のプログラム例 MB90330A シリーズ 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フラグをセットして割込み許可 : 114 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 3 章 割込み 3.11 割込み処理のプログラム例 MB90330A シリーズ LOOP: BRA 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 CM44-10129-6 ; 割込み #18(12H) にベクタを設定 START FUJITSU MICROELECTRONICS LIMITED 115 第 3 章 割込み 3.12 遅延割込み発生モジュール 3.12 MB90330A シリーズ 遅延割込み発生モジュール 遅延割込み発生モジュールは , タスク切換え用の割込みを発生するためのモジュー ルです。本モジュールを使用することによってソフトウェアで F2MC-16LX CPU に 対して割込み要求の発生 / 取消しを行うことができます。 ■ 遅延割込み発生モジュールのブロックダイヤグラム 図 3.12-1 に , 遅延割込み発生モジュールのブロックダイヤグラムを示します。 図 3.12-1 遅延割込み発生モジュールのブロックダイヤグラム F2MC-16LX バス 遅延割込み要求発生/解除デコーダ 要因ラッチ ■ 遅延割込み発生モジュールのレジスタ一覧 遅延割込み発生モジュール{遅延割込み要因発生/解除レジスタ(DIRR:Delayed Interrupt Request Register)} のビット構成は下図のとおりです。 図 3.12-2 遅延割込み要因発生 / 解除レジスタ (DIRR) のビット構成 bit 00009FH 15 14 13 12 11 10 9 8 - - - - - - - R0 R/W 初期値 -------0B R/W : リード・ライト可能 遅延割込み要因発生 / 解除レジスタ (DIRR) は , 遅延割込み要因の発生 / 解除を制御す るレジスタです。このレジスタに対して "1" を書き込むときには遅延割込みの要求を 発生させ , "0" を書き込むときには遅延割込みの要求を解除します。リセット時には要 因解除状態になります。予約ビット領域は "0", "1" どちらの書込みでも結構ですが , 将 来の拡張を考慮してこのレジスタをアクセスする際には , セットビット , クリアビット 命令を使用することをお勧めいたします。 116 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 3 章 割込み 3.12 遅延割込み発生モジュール MB90330A シリーズ 遅延割込み発生モジュールの動作 3.12.1 ソフトウェアで 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 ほかの要求 ICRYY DIRR IL CMP ICRXX CMP ILM INTA ■ 遅延割込み発生モジュールの使用上の注意 ( 遅延割込み要求ラッチ ) このラッチは , DIRR の該当するビットに "1" を書き込むことによってセットされ , 同 じビットに "0" を書き込むことによってクリアされます。したがって , 割込み処理ルー チン内で , 要因をクリアするようにソフトウェアを作成しておかないと , 割込み要因処 理から復帰した途端に再割込み処理を起動することになりますので , 注意してくださ い。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 117 第 3 章 割込み 3.12 遅延割込み発生モジュール 118 MB90330A シリーズ FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第4章 リセット この章では , MB90330A シリーズのリセットにつ いて説明します。 4.1 リセットの概要 4.2 リセット要因と発振安定待ち時間 4.3 外部リセット端子 4.4 リセット動作 4.5 リセット要因ビット 4.6 リセットによる各端子の状態 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 119 第 4 章 リセット 4.1 リセットの概要 4.1 MB90330A シリーズ リセットの概要 リセット要因が発生すると , CPU は現在実行中の処理を直ちに中断し , リセット解 除待ち状態になります。リセット解除後は , リセットベクタで示されたアドレスか ら処理を開始します。 リセットには , 次の 4 種類の要因があります。 • パワーオンリセットの発生 • ウォッチドッグタイマのオーバフロー • RST 端子からの外部リセット要求の発生 • ソフトウェアリセット要求の発生 ■ リセット要因 リセットの要因について表 4.1-1 に示します。 表 4.1-1 リセット要因 リセット 発生要因 マシンクロック ウォッチドッグ タイマ 発振安定 待ち パワーオン 電源投入時 メインクロック (MCLK) 停止 あり ウォッチドッグ タイマ ウォッチドッグタイマ オーバフロー メインクロック (MCLK) 停止 なし 外部端子 RST 端子への "L" レベル入力 メインクロック (MCLK) 停止 なし ソフトウェア 低消費電力モード制御 レジスタ (LPMCR) の 内部リセット信号発生 ビット (RST) に "0" を 書き込む メインクロック (MCLK) 停止 なし メインクロック : 発振クロックの 2 分周クロック ● パワーオンリセット パワーオンリセットは , 電源投入時に発生するリセットです。評価品 / フラッシュ品の 発振安定待ち時間は 2 18/HCLK( 約 43.70 ms: 発振クロック 6 MHz 時 ), マスク品の発振 安定待ち時間は 2 17/HCLK( 約 21.85 ms: 発振クロック 6 MHz 時 ) 固定です。発振安定 待ち時間が経過した後 , リセット動作を行います。 ● ウォッチドッグリセット ウォッチドッグリセットは , ウォッチドッグタイマの起動後 , 定められた時間内に ウォッチドッグタイマ制御レジスタ (WDTC) のウォッチドッグ制御ビット (WTE) に "0" の書込みがない場合 , ウォッチドッグタイマのオーバフローによってリセットを発生 します。発振安定待ち時間はクロック選択レジスタ (CKSCR) で設定できます。 120 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 4 章 リセット 4.1 リセットの概要 ● 外部リセット 外部リセットは , 外部リセット端子 (RST 端子 ) に "L" レベルを入力することによってリ セットを発生します。RST 端子への "L" レベル入力時間は , 16 マシンサイクル (16/ φ) 以 上必要です。 外部リセット (RST 端子入力リセット ) では , 発振安定待ち時間を取りません。 <参考> RST 端子によるリセット要求が発生した場合に限り , 書込み動作中 ( 転送系命令実行中 MOV 命令など ) にリセット要因が発生した場合は , 命令の終了後にリセット解除待ち状態 になります。そのため , 書込み中にリセットが入力されても , 正常に書込みを終了します。 ただし , ストリング系命令 (MOVS 命令など ) は指定したカウンタ分の転送が完了する前 に , リセットを受け付けますので , すべてのデータが転送されることは保証されません。 また , 外部バスアクセス時に RDY 端子によるバスサイクルの延長が 16 マシンサイクル以 上続いた場合もリセットを受け付けます。 ● ソフトウェアリセット ソフトウェアリセットは , 低消費電力モード制御レジスタ (LPMCR) の内部リセット信 号発生ビット (RST) に "0" を書き込むことによって , 内部リセットを発生します。ソフ トウェアリセットでは , 発振安定待ち時間を取りません。 <参考> クロックの定義 HCLK : 発振クロック ( 高速発振端子から供給されるクロック ) MCLK : メインクロック (HCLK の 2 分周クロック ) SCLK : サブクロック ( 低速発振端子から供給されるクロックの 4 分周 ) φ : マシンクロック (CPU 動作クロック ) 1/ φ : マシンサイクル (CPU 動作クロック周期 ) マシンクロックの詳細は , 「 5.1 クロックの概要 」を参照してください。 <注意事項> ストップモードまたはサブクロックモードでリセットが発生した場合は , 2 17/HCLK( 約 21.85 ms: 発振クロック 6 MHz 時 ) の発振安定待ち時間を取ります。 クロックモードの詳細は , 「 5.4 クロックモード 」を参照してください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 121 第 4 章 リセット 4.2 リセット要因と発振安定待ち時間 4.2 MB90330A シリーズ リセット要因と発振安定待ち時間 MB90330A シリーズには , 4 種類のリセット要因があります。リセット時の発振安 定待ち時間はリセット要因によってそれぞれ異なります。 ■ リセット要因と発振安定待ち時間 表 4.2-1 に , リセット要因と発振安定待ち時間について示します。 表 4.2-1 リセット要因と発振安定待ち時間 リセット要因 発振安定待ち時間 () 内は発振クロック 6 MHz 時 パワーオンリセット 評価品 / フラッシュ品 : 2 18/HCLK( 約 43.70 ms) マスク品 : 2 17/HCLK( 約 21.85 ms) ウォッチドッグタイマ なし : ただし , WS1, WS0 ビットは "11B" に初期化されます。 RST 端子からの外部 リセット なし : ただし , WS1, WS0 ビットは "11B" に初期化されます。 ソフトウェアリセット なし : ただし , WS1, WS0 ビットは "11B" に初期化されます。 HCLK : 発振クロック WS1, WS0 : クロック選択レジスタ (CKSCR) の発振安定待ち時間選択ビット 図 4.2-1 に , パワーオンリセット時の評価品 / フラッシュ品とマスク品の発振安定待ち 時間について示します。 122 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 4 章 リセット 4.2 リセット要因と発振安定待ち時間 MB90330A シリーズ 図 4.2-1 パワーオンリセット時の評価品 / フラッシュ品とマスク品の発振安定待ち時間 評価品/フラッシュ品 Vcc 17 2 /HCLK 217/HCLK CLK CPU動作 降圧回路の 安定待ち時間 発振安定 待ち時間 MASK品 Vcc 217/HCLK CLK CPU動作 発振安定待ち時間 HCLK:発振クロック <注意事項> セラミックや水晶などの振動子は , 発振を開始してから固有の振動数に安定するまで , 一 般に数ミリ秒から十数ミリ秒の発振安定待ち時間が必要です。そのため , 使用する振動子 に合わせた値を設定してください。 詳細は , 「 5.5 発振安定待ち時間 」を参照してください。 ■ 発振安定待ちリセット状態 電源投入時のリセット , ストップモードおよびサブクロックモード中のリセットに対 するリセット動作は , タイムベースタイマによって作られる発振安定待ち時間が経過 してからとなります。この場合 , 外部リセット入力が解除されていなければ , 外部リ セット解除後にリセット動作を行います。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 123 第 4 章 リセット 4.3 外部リセット端子 4.3 MB90330A シリーズ 外部リセット端子 外部リセット端子 (RST 端子 ) は , リセット入力専用端子で , "L" レベルの入力に よって内部リセットを発生します。MB90330A シリーズは , CPU 動作クロックに同 期してリセットが発生しますが , 外部端子 ( ポートなど ) のみ非同期でリセット状態 に遷移します。 ■ 外部リセット端子のブロックダイヤグラム 図 4.3-1 に , 内部リセット発生のブロックダイヤグラムを示します。 図 4.3-1 内部リセット発生のブロックダイヤグラム CPU動作クロック (PLL逓倍回路,HCLKの2分周) RST CPU P-ch 同期化回路 端子 N-ch 入力バッファ HCLK:発振クロック 周辺機能 I/Oポート など <注意事項> 書込み動作中のリセットによるメモリ破壊を防ぐため, RST端子入力の受付けをメモリが 破壊されないサイクルで行います。 また , 内部回路の初期化には , クロックが必要です。特に外部クロックで動作させる場合 は , リセット入力時にクロックを入力する必要があります。 124 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 4 章 リセット 4.4 リセット動作 MB90330A シリーズ 4.4 リセット動作 リセットが解除されると , モード端子の設定でモードデータとリセットベクタの読 出し先を選択し , モードフェッチを行います。このモードフェッチで , CPU の動作 モードとリセット動作終了後の実行開始アドレスが決定されます。電源投入時およ びストップモードからのリセットによる復帰では , 発振安定待ち時間が経過してか らモードフェッチを行います。 ■ リセット動作の概要 図 4.4-1 に , リセット動作フローを示します。 図 4.4-1 リセット動作フロー パワーオンリセット ストップモード サブクロックモード 外部リセット ソフトウェアリセット ウォッチドッグタイマリセット リセット中 発振安定待ちリセット状態 モードフェッチ (リセット動作) モードデータ取込み 外部バスモード関連の 端子状態および機能変更 リセットベクタ取込み 通常動作 (RUN状態) リセットベクタが示す アドレスから命令コードを 取り込み,命令を実行 ■ モード端子 モード端子 (MD2 ∼ MD0) は , リセットベクタとモードデータの取込み方法を指定しま す。リセットベクタとモードデータの取込みは , リセットシーケンスで行います。モー ド端子の詳細は , 「7.2 モード端子 (MD2 ∼ MD0)」を参照してください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 125 第 4 章 リセット 4.4 リセット動作 MB90330A シリーズ ■ モードフェッチ リセットが解除されると , CPU は , リセットベクタとモードデータを CPU コア内の該 当レジスタ内にハードウェア転送します。リセットベクタとモードデータは , FFFFDCH ∼ FFFFDFH バイトに割り当てられています。CPU は , リセット解除で直ち にこれらのアドレスをバスに出力し , リセットベクタとモードデータを取り込みます。 このモードフェッチで, CPUはリセットベクタが指すアドレスから処理を開始します。 図 4.4-2 に , リセットベクタとモードデータの転送を示します。 図 4.4-2 リセットベクタとモードデータの転送 F2MC-16LX CPUコア メモリ空間 モード レジスタ FFFFDFH モードデータ FFFFDEH リセットベクタ・bit23~bit16 FFFFDDH リセットベクタ・bit15~bit8 FFFFDCH リセットベクタ・bit7~bit0 マイクロROM リセットシーケンス PCB PC <参考> リセットベクタとモードデータを , 内部 ROM または外部メモリのどちらから読み出すか は , モード端子によって指定します。モード端子で外部ベクタモードを指定すると , 内部 ROM ではなく , 外部メモリからリセットベクタとモードデータを読み出しますので , シ ングルチップモードおよび内部 ROM 外部バスモードで使用される場合には , モード端子 で内部ベクタモードを指定することを推奨します。 ● モードデータ ( アドレス :FFFFDFH) モードレジスタの内容を変更できるのはリセット動作だけで , モードレジスタの設定 はリセット動作以降に有効となります。モードデータの詳細は , 「 7.3 モードデータ 」 を参照してください。 ● リセットベクタ ( アドレス :FFFFDCH ∼ FFFFDEH) リセット動作終了後の実行開始アドレスを書き込んでおきます。この内容のアドレス から実行を開始します。 126 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 4 章 リセット 4.5 リセット要因ビット MB90330A シリーズ 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 F/F RSTビットセット LPMCR, RSTビット 書込み検出回路 R 遅延回路 Q ウォッチドッグタイマ 制御レジスタ (WDTC)読出し F2MC-16LX 内部バス S:セット R:リセット Q:出力 F/F:フリップフロップ CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 127 第 4 章 リセット 4.5 リセット要因ビット MB90330A シリーズ ■ リセット要因ビットとリセット要因の対応 ウォッチドッグタイマ制御レジスタ(WDTC)のリセット要因ビットの構成を図 4.5-2に, リセット要因ビットの内容とリセット要因の対応を表 4.5-1 に示します。 詳細は , 「 10.2 ウォッチドッグタイマ制御レジスタ (WDTC) 」のビット構成を参照し てください。 図 4.5-2 リセット要因ビットの構成 ( ウォッチドッグタイマ制御レジスタ ) ウォッチドッグタイマ制御レジスタ (WDTC) bit 0000A8H 15-8 7 6 (TBTC) PONR X R 予約 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レジスタの値は保 証されません。 128 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 4.6 第 4 章 リセット 4.6 リセットによる各端子の状態 リセットによる各端子の状態 リセットによる各端子の状態について説明します。 ■ リセット中の端子の状態 リセット中の端子の状態は , モード端子 (MD2 ∼ MD0) の設定によって決定されます。 ● 内部ベクタモード設定時 (MD2 ∼ MD0=011B) I/O 端子 ( リソース端子 ) はすべてハイインピーダンスになり , モードデータの読出し 先は内部 ROM になります。 リセット中の各端子の状態については , 「 6.7 スタンバイモード , ホールド , リセット 時の端子状態 」を参照してください。 ■ モードデータ読出し後の端子の状態 モードデータ読出し後の端子の状態は, モードデータ(M1, M0)によって決定されます。 ● シングルチップモード選択時 (M1, M0=00B) I/O 端子 ( リソース端子 ) はすべてハイインピーダンスになり , モードデータの読出し 先は内部 ROM になります。 <注意事項> リセット要因が発生した場合にハイインピーダンスとなる端子は , その端子に接続した機 器が誤動作しないように配慮してください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 129 第 4 章 リセット 4.6 リセットによる各端子の状態 130 MB90330A シリーズ FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第5章 クロック この章では , MB90330A シリーズのクロックにつ いて説明します。 5.1 クロックの概要 5.2 クロック発生部のブロックダイヤグラム 5.3 クロック選択レジスタ (CKSCR) 5.4 クロックモード 5.5 発振安定待ち時間 5.6 振動子と外部クロックの接続 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 131 第 5 章 クロック 5.1 クロックの概要 5.1 MB90330A シリーズ クロックの概要 クロック発生部は , CPU や周辺機能の動作クロックである内部クロックの動作を制 御します。本書では , クロックの種類に応じて以下のようによびます。 • マシンクロック: 内部クロックのことをいいます。 • メインクロック: 発振クロックの 2 分周クロックをいいます。 • 発振クロック : 高速発振端子から供給されるクロックをいいます。 • PLL クロック : 内部の PLL 発振によるクロックをいいます。 • サブクロック : 低速発振端子から供給されるクロックの 4 分周をいいます。 ■ クロックの概要 クロック発生部は発振回路を内蔵しており , 外部に振動子を接続することによって , 発 振クロックおよびサブクロックを発生します。外部で生成したクロックを入力して , 発 振クロックにすることもできます。また , PLL クロック逓倍回路を内蔵しており , 発振 クロックの逓倍クロックを 3 種類発生できます。クロック発生部では , 発振安定待ち時 間の制御 , PLL クロック逓倍制御およびクロックセレクタでのクロックの切換えによる , 内部クロックの動作制御を行います。 ● 発振クロック (HCLK) 高速発振端子に振動子を接続するか , 外部クロックを入力して発生させたクロックで す。 ● サブクロック (SCLK) 時計タイマを動作させるクロックです。また , 低速のマシンクロックとしても使用可能 です。 低速発振端子に振動子を接続するか , 外部クロックを入力して発生させたクロックの 4 分周です。 ● メインクロック (MCLK) 発振クロックの2分周クロックであり, タイムベースタイマとクロックセレクタへの入 力クロックとなります。 ● PLL クロック (PCLK) 発振クロックを , 内蔵の PLL クロック逓倍回路 (PLL 発振回路 ) により逓倍したクロッ クです。3 種類のクロックを選択できるようになっています。 ● マシンクロック (φ) CPU と周辺機能の動作クロックです。このクロックの 1 周期を , マシンサイクル (1/ φ) としています。メインクロック ( 発振クロックの 2 分周クロック ), サブクロックと , 3 種類の逓倍クロックの中から 1 種類を選択できるようになっています。 132 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 5 章 クロック 5.1 クロックの概要 <注意事項> • 発振クロックは 1 MHz ∼ 7 MHz の発振が可能です。CPU および周辺機能は最大動作 周波数が 24 MHz です。最大動作周波数を超える逓倍率を指定した場合 , デバイスは正 常に動作しません。例えば , 原発振が 6 MHz で発振している場合には , 最大 4 逓倍の 指定が可能です。 • USBホスト, USBファンクション使用時はこの6 MHz 4逓倍の設定が必要となります。 ■ クロック供給マップ CPU や周辺機能の動作クロックとして , クロック発生部で生成したマシンクロックを 供給しています。このため , CPU と周辺機能の動作は , メインクロックと PLL クロッ クの切換え ( クロックモード ) や PLL クロック逓倍率切換えの影響を受けます。一部 の周辺機能へは , タイムベースタイマの分周出力が供給されており , 各周辺で , その動 作クロックを選択できるようになっています。図 5.1-1 に , クロック供給マップを示し ます。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 133 第 5 章 クロック 5.1 クロックの概要 MB90330A シリーズ 図 5.1-1 クロック供給マップ 4 4 クロック発生部 周辺機能 ウォッチドッグ タイマ 16ビット PPGタイマ 0/1/2/3/4/5 端子 PPG0~PPG5 16ビット PWCタイマ 端子 PWC 8ビット 端子 SCK 時計タイマ X0A 端子 X1A 端子 タイムベースタイマ サブ クロック 発生回路 拡張シリアルI/O 1 2 4 PLL逓倍回路 X0 端子 X1 端子 4分周 システム クロック 発生回路 HCLK 2分周 SCLK PCLK 端子 SCK0~SCK3 UART0/1/2/3 クロックセレクタ 端子 SIN0~SIN3 MCLK 端子 SOT0~SOT3 16ビット リロードタイマ HCLK:発振クロック MCLK:メインクロック SCLK:サブクロック PCLK:PLLクロック 端子 SIN 端子 SOT CPU 0/1/2 外部割込み 端子 TIN0~TIN2 端子 TOT0~TOT2 端子 INT0~INT7 16ビット アウトプットコンペア 端子 OUT0~OUT3 0/1/2/3 16ビット フリーランタイマ 端子 FRCK 16ビット インプットキャプチャ 0/1/2/3 端子 IN0~IN3 8/10ビット A/Dコンバータ 端子 AN0~AN15 USBファンクション 端子 DVM 端子 ADTG 端子 DVP 端子 HCON 端子 UTEST USBホスト 端子 HVP 端子 HVM I2Cインタフェース 端子 SCL0~SCL2 端子 SDA0~SDA2 3 134 発振安定待ち制御 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 5 章 クロック 5.2 クロック発生部のブロックダイヤグラム MB90330A シリーズ 5.2 クロック発生部のブロックダイヤグラム クロック発生部は , 次の 6 つのブロックで構成されています。 • システムクロック発生回路 • サブクロック発生回路 • 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逓倍回路 SCM MCM WS1 WS0 SCS MCS CS1 CS0 クロック選択レジスタ(CKSCR) 2分周 X0 端子 発振クロック (HCLK) X1 端子 発振クロック 発振回路 2分周 1024分周 2分周 2分周 2分周 4分周 ウォッチドッグタイマへ サブクロック (SCLK) 4分周 X0A 端子 4分周 512分周 2分周 メイン クロック タイムベースタイマ 8分周 2分周 2分周 時計タイマ X1A 端子 システムクロック 発生回路 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 135 第 5 章 クロック 5.2 クロック発生部のブロックダイヤグラム MB90330A シリーズ ● システムクロック発生回路 高速発振端子に接続した振動子によって , 発振クロック (HCLK) を発生します。外部ク ロックを入力することもできます。 ● サブクロック発生回路 低速発振端子に接続した振動子によって , サブクロック (SCLK) を発生します。外部ク ロックを入力することもできます。 ● PLL 逓倍回路 PLL 発振で発振クロックを逓倍し , CPU クロックセレクタへ供給します。 ● クロックセレクタ メインクロック , サブクロックと , 3 種類の PLL クロックから , CPU 系クロック制御回 路および周辺系クロック制御回路へ供給されるクロックを選択します。 ● クロック選択レジスタ (CKSCR) 発振クロックと PLL クロックの切換え , 発振安定待ち時間の選択および PLL クロック の逓倍率の選択などを行います。 ● 発振安定待ち時間セレクタ ストップモードの解除時およびウォッチドッグリセット時の , 発振クロックの発振安 定待ち時間を選択する回路です。4 種類のタイムベースタイマ出力を選択します。 136 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 5 章 クロック 5.3 クロック選択レジスタ (CKSCR) MB90330A シリーズ 5.3 クロック選択レジスタ (CKSCR) クロック選択レジスタ (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 SCM MCM WS1 WS0 SCS MCS CS1 CS0 R R R/W 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 メインクロック選択 SCS 0 サブクロック選択ビット サブクロック選択 1 メインクロック選択 WS1 WS0 発振安定待ち時間選択ビット ( )内は発振クロック6MHz時 0 0 210/HCLK(約170.7μs) 0 1 1 0 213/HCLK(約1.36ms) 215/HCLK(約5.46ms) 1 1 217/HCLK(約21.84ms)* *:パワーオンリセット時は216/HCLK(約10.92ms)になります。 MCM マシンクロック表示ビット 0 PLLクロックで動作中 1 メインクロックで動作中 SCM サブクロック表示ビット 0 サブクロック選択 1 メインクロック選択 R/W :リード・ライト可能 R :リードオンリ :初期値 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 137 第 5 章 クロック 5.3 クロック選択レジスタ (CKSCR) MB90330A シリーズ <注意事項> マシンクロック選択ビット (MCS) は , リセットによってメインクロック選択に初期化さ れます。 表 5.3-1 クロック選択レジスタ (CKSCR) の各ビットの機能 (1 / 2) ビット名 bit15 bit14 bit13, bit12 機能 SCM: サブクロック 表示ビット ・マシンクロックとして , メインクロックまたはサブクロックの どちらが選択されているかを表示するビットです。 ・ "0" の場合 , サブクロックが選択されていることを示し , "1" の 場合 , メインクロックまたは PLL クロックが選択されているこ とを示します。 ・SCS=1 で , かつ SCM=0 ならば , メインクロック発振安定待ち時 間中であることを示します。 MCM: PLL クロック 表示ビット ・マシンクロックとして , メインクロックまたは PLL クロックの どちらが選択されているかを表示するビットです。 ・ "0" の場合 , PLL クロックが選択されていることを示し , "1" の 場合 , メインクロックまたはサブクロックが選択されているこ とを示します。 ・PLL クロック選択ビット (MCS)=0 で , かつ MCM=1 ならば , PLL クロック発振安定待ち時間中であることを示します。 WS1, WS0: 発振安定待ち 時間選択ビット ・ストップモード解除時 , サブクロックモードからメインクロッ クモードへの移行時およびサブクロックモードから PLL ク ロックモードへの移行時の発振クロックの発振安定待ち時間 を選択します。 ・すべてのリセット要因で "11B" に初期化されます。 ( 注意事項 ) 発振安定待ち時間は , 使用する振動子に合わせて適切な値を設 定する必要があります。「 4.2 リセット要因と発振安定待ち時 間 」を参照してください。"00B" の設定はメインクロックモー ド時のみ設定してください。 ( 参考 ) PLLクロック時の発振安定待ち時間は, 2 14/HCLKで固定です。 138 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 5 章 クロック 5.3 クロック選択レジスタ (CKSCR) MB90330A シリーズ 表 5.3-1 クロック選択レジスタ (CKSCR) の各ビットの機能 (2 / 2) ビット名 bit11 bit10 bit9, bit8 機能 SCS: サブクロック 選択ビット ・マシンクロックとして , メインクロックまたはサブクロックの どちらを選択するかを指定するビットです。 ・"0" のときサブクロックを選択し , "1" のときメインクロックを 選択します。 ・"0" のときに "1" を書き込むと , メインクロックの発振安定待ち 時間が発生するために , 自動的にタイムベースタイマがクリア されます。 ・サブクロック選択時の動作クロックは , サブクロックを使用し ます(低速発振32 kHz時, マシンクロックは8 kHzになります)。 ・SCS, MCS がともに "0" のときは , SCS が優先され , サブクロッ クが選択されます。 ・すべてのリセット要因で "1" に初期化されます。 MCS: PLL クロック 選択ビット ・マシンクロックとして , メインクロックまたは PLL クロックの どちらを選択するかを指定するビットです。 ・"0" の場合には PLL クロックを選択し , "1" の場合にはメインク ロックを選択します。 ・"1" の場合に "0" を書き込むと , PLL クロックの発振安定待ち時 間が発生するために , 自動的にタイムベースタイマがクリアさ れます。さらにタイムベースタイマ制御レジスタ (TBTC) の割 込み要求フラグビット (TBOF) もクリアされます。 ・PLL クロックの発振安定待ち時間は , 2 14/HCLK で固定です ( 発 振クロック 6 MHz 時 , 発振安定待ち時間は約 2.73 ms になりま す )。 ・メインクロック選択時の動作クロックは , 発振クロックを 2 分 周したクロックとなります ( 発振クロック 6 MHz 時 , 動作ク ロックは 3 MHz になります )。 ・すべてのリセット要因で "1" に初期化されます。 ( 注意事項 ) MCS ビットが "1" の場合に "0" を書き込む場合には , TBTC レ ジスタの割込み要求許可ビット (TBIE) または割込みレベルマ スクレジスタ (ILM) によって , タイムベースタイマ割込みがマ スクされている状態で行うようにしてください。 CS1, CS0: 逓倍率選択 ビット ・PLL クロックの逓倍率を選択するビットです。 ・3 種類の逓倍率から選択できます。 ・すべてのリセット要因で "00B" に初期化されます。 ( 注意事項 ) MCS ビット , または MCM ビットが "0" の場合には , 書込みが 抑止されます。一度 , MCS ビットを "1" に設定 ( メインクロッ クモード ) 後に , CS1, CS0 ビットを書き換えてください。"11B" は設定禁止です。 HCLK: 発振クロック CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 139 第 5 章 クロック 5.4 クロックモード 5.4 MB90330A シリーズ クロックモード クロックモードには , メインクロックモード , PLL クロックモード , サブクロック モードがあります。 ■ メインクロックモード , PLL クロックモード , サブクロックモード ● メインクロックモード メインクロックモードは , CPU および周辺リソースの動作クロックとして発振クロッ クを 2 分周したクロックを使用し , PLL クロックを停止させます。 ● PLL クロックモード PLL クロックモードは , CPU および周辺機能の動作クロックとして PLL クロックを使 用します。PLL クロックの逓倍率は , クロック選択レジスタ (CKSCR) によって選択で きます。 <注意事項> USB ホスト , USB ファンクション使用時は PLL クロックモードで動作させる必要があり ます。 ● サブクロックモード サブクロックモードは , CPU および周辺リソースの動作クロックとしてサブクロック を使用し , メインクロックおよび PLL クロックを停止させます。 ■ クロックモードの移行 CKSCR レジスタの PLL クロック選択ビット (MCS), サブクロック選択ビット (SCS) へ の書込み動作によって , クロックモードは , メインクロックモード , PLL クロックモー ド , サブクロックモードに移行します。 ● メインクロックモードから PLL クロックモードへの移行 メインクロックモードの状態で , CKSCR レジスタの MCS ビットを "1" から "0" に書き 換えた場合には , PLL クロックの発振安定待ち時間 (2 14/HCLK) 後に , メインクロック から PLL クロックに切り換わります。 ● PLL クロックモードからメインクロックモードへの移行 PLL クロックモードの状態で , CKSCR レジスタの MCS ビットを "0" から "1" に書き換 えた場合には , PLL クロックとメインクロックのエッジが一致するタイミング (1 ∼ 8 PLL クロック後 ) で PLL クロックからメインクロックに切り換わります。 ● メインクロックモードからサブクロックモードへの移行 メインクロックモードの状態で , CKSCR レジスタの SCS ビットを "1" から "0" に書き 換えた場合には , メインクロックからサブクロックに切り換わります。 140 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 5 章 クロック 5.4 クロックモード ● サブクロックモードからメインクロックモードへの移行 サブクロックモードの状態で , CKSCR レジスタの SCS ビットを "0" から "1" に書き換 えた場合には , メインクロックの発振安定待ち時間後に , サブクロックからメインク ロックに切り換わります。発振安定待ち時間は , CKSCR レジスタの発振安定待ち時間 選択ビット (WS1, WS0) によって選択します。 ● PLL クロックモードからサブクロックモードへの移行 PLLクロックモードの状態で, クロック選択レジスタ(CKSCR)のサブクロック選択ビッ ト (SCS) を "1" から "0" に書き換えた場合には , PLL クロックからサブクロックに切り 換わります。 ● サブクロックモードから PLL クロックモードへの移行 サブクロックモードの状態で , CKSCR レジスタの SCS ビットを "0" から "1" に書き換 えた場合には , メインクロックの発振安定待ち時間後に , サブクロックから PLL クロッ クに切り換わります。発振安定待ち時間は , CKSCR レジスタの発振安定待ち時間選択 ビット (WS1, WS0) によって選択します。 <注意事項> CKSCR レジスタの PLL クロック選択ビット (MCS), SCS ビットを書き換えても即座には マシンクロックは切り換えられません。マシンクロックに依存するリソースを操作する場 合には , CKSCR レジスタの PLL クロック表示ビット (MCM) およびサブクロック表示ビッ ト (SCM) を参照してマシンクロックの切換えが行われたことを確認した後に , リソース の操作をしてください。 SCS ビット , MCS ビットがともに "0" の場合は , SCS が優先され , サブクロックモード になります。 クロックモードを切り換えた場合 , 切換えが完了するまでは , ほかのクロックモードおよ び低消費電力モードへの切り換えを行わないでください。切換えの完了は , クロック選択 レジスタ (CKSCR) の MCM ビットおよび SCM ビットを参照して確認してください。 ■ PLL クロック逓倍率の選択 CKSCR レジスタの CS1, CS0 ビットに "00B" ∼ "10B" を書き込むことによって , 1 ∼ 4 逓倍の 3 種類の PLL クロック逓倍率を選択できます。"11B" は設定禁止です。 ■ マシンクロック PLL 逓倍回路から出力される PLL クロック , メインクロック , サブクロックが , マシン クロックとなります。このマシンクロックが CPU および周辺機能に供給されます。メ インクロック , PLL クロック , サブクロックは , CKSCR レジスタの MCS ビットまたは SCS ビットへの書込みにより , いずれかを選択できます。 図 5.4-1 に , マシンクロック選択の状態遷移図を示します。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 141 第 5 章 クロック 5.4 クロックモード MB90330A シリーズ 図 5.4-1 マシンクロック選択の状態遷移図 メイン→サブ MCS=1 MCM=1 SCS=0 SCM=1 (7) メイン MCS=1 MCM=1 SCS=1 SCM=1 (9) メイン MCS=1 (10) MCM=1 SCS=1 SCM=1 (1) CS1,CSO=xx (5) (6) (6) (6) (6) メイン→PLLx MCS=0 MCM=1 SCS=1 SCM=1 (8) (2) CS1,CSO=xx (3) (4) (7) (11) (12) (13) CS1,CSO=xx PLL1→メイン MCS=1 MCM=0 SCS=1 SCM=1 CS1,CSO=00 PLL2→メイン MCS=1 MCM=0 SCS=1 SCM=1 CS1,CSO=01 PLL4→メイン MCS=1 MCM=0 SCS=1 SCM=1 CS1,CSO=10 サブ MCS=1 MCM=1 (14) SCS=0 (9) SCM=0 CS1,CSO=xx CS1,CSO=xx (7) サブ→PLLx MCS=0 MCM=1 SCS=1 SCM=0 CS1,CSO=xx PLL1逓倍 MCS=0 MCM=0 SCS=1 (5) SCM=1 (7) CS1,CSO=00 PLL2逓倍 MCS=0 MCM=0 SCS=1 (5) SCM=1 CS1,CSO=00 (7) CS1,CSO=01 PLL4逓倍 MCS=0 MCM=0 (5) SCS=1 SCM=1 PLL1→サブ MCS=1 MCM=0 SCS=0 SCM=1 PLL2→サブ MCS=1 MCM=0 SCS=0 SCM=1 CS1,CSO=01 (7) CS1,CSO=10 PLL4→サブ MCS=1 MCM=0 SCS=0 SCM=1 CS1,CSO=10 (15) (15) (15) (15) (1)MCSビット"0"ライト (2)PLLクロック発振安定待ち終了&CS1, CS0=00 (3)PLLクロック発振安定待ち終了&CS1, CS0=01 (4)PLLクロック発振安定待ち終了&CS1, CS0=10 (5)MCSビット"1"ライト(ウォッチドッグリセットを含む) (6)PLLクロックとメインクロックの同期タイミング (7)SCSビット"0"ライト (8)サブクロック発振安定待ち終了(最大215/SCLK) (9)SCSビット"1"ライト (10)メインクロック発振安定待ち終了 (11)メインクロック発振安定待ち終了&CS1,CS0=00 (12)メインクロック発振安定待ち終了&CS1,CS0=01 (13)メインクロック発振安定待ち終了&CS1,CS0=10 (14)SCSビット"1"書込み, MCSビット"0"書込み (15)PLLクロックとサブクロックの同期タイミング MCS:クロック選択レジスタ(CKSCR)のPLLクロック選択ビット MCM:クロック選択レジスタ(CKSCR)のPLLクロック表示ビット SCS:クロック選択レジスタ(CKSCR)のサブクロック選択ビット SCM:クロック選択レジスタ(CKSCR)のサブクロック表示ビット CS1,CS0:クロック選択レジスタ(CKSCR)の逓倍率選択ビット 142 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 5 章 クロック 5.4 クロックモード <注意事項> マシンクロックの初期値はメインクロック (MCS=1, SCS=1) です。 SCS, MCS ともに "0" のときは SCS が優先され , サブクロックが選択されます。 サブクロックモードから PLL クロックモードへの切換え時は , CKSCR レジスタの発振安 定待ち時間選択ビット (WS1, WS0) は "01B", "10B", "11B" を設定してください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 143 第 5 章 クロック 5.5 発振安定待ち時間 5.5 MB90330A シリーズ 発振安定待ち時間 電源投入時 , ストップモード解除時 , サブクロックからメインクロックまたは PLL クロックへの切換え時は , 発振クロックの発振が停止しているため , 発振開始後 , 発 振安定待ち時間をとる必要があります。また , メインクロックから PLL クロックへ の切換え時も , PLL 発振開始後の発振安定待ち時間が必要となります。 ■ 発振安定待ち時間 セラミックや水晶などの振動子は , 発振を開始してから固有の振動数 ( 発振周波数 ) で 安定して発振するまでに , 一般的に数ミリ秒から数十ミリ秒の時間が必要です。このた め , 発振開始直後は CPU の動作を禁止し , 発振安定待ち時間が経過して十分発振が安 定した時点で CPU にクロックを供給するようにします。振動子の種類 ( 水晶 , セラミッ クなど ) によって発振が安定するまでの時間が異なるため , 使用する振動子に合わせて 適切な発振安定待ち時間を選択する必要があります。発振安定待ち時間は , クロック選 択レジスタ (CKSCR) の設定で選択できます。 メインクロックから PLL クロックへの切換え時は , PLL 発振安定待ち時間の間 , CPU はメインクロックで動作し , その後 , PLL クロックに切り換わります。 図 5.5-1 に , 発振開始直後の動作を示します。 図 5.5-1 発振開始直後の動作 振動子の発振時間 発振安定待ち時間 通常動作開始または PLLクロックへの切換え X1 発振開始 144 発振安定 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 5 章 クロック 5.6 振動子と外部クロックの接続 MB90330A シリーズ 5.6 振動子と外部クロックの接続 MB90330A シリーズは , システムクロック発生回路を内蔵しており , 外部に振動子 を接続してクロック発生させます。また , 外部で生成したクロックを入力すること もできます。 ■ 振動子と外部クロックの接続 ● 水晶振動子またはセラミック振動子の接続例 水晶振動子またはセラミック振動子は , 図 5.6-1 の例で示すように接続してください。 図 5.6-1 水晶振動子またはセラミック振動子の接続例 MB90330Aシリーズ X0(X0A) X1(X1A) ● 外部クロックの接続例 図 5.6-2 の例で示すように , 外部クロックは X0 端子に接続し , X1 端子はオープン ( 開 放 ) にしてください。 図 5.6-2 外部クロックの接続例 MB90330Aシリーズ X0(X0A) X1(X1A) 開放 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 145 第 5 章 クロック 5.6 振動子と外部クロックの接続 146 MB90330A シリーズ FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第6章 低消費電力モード この章では , MB90330A シリーズの低消費電力 モードについて説明します。 6.1 低消費電力モードの概要 6.2 低消費電力制御回路のブロックダイヤグラム 6.3 低消費電力モード制御レジスタ (LPMCR) 6.4 CPU 間欠動作モード 6.5 スタンバイモード 6.6 状態遷移図 6.7 スタンバイモード , ホールド , リセット時の端子状態 6.8 低消費電力モード使用上の注意 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 147 第 6 章 低消費電力モード 6.1 低消費電力モードの概要 6.1 MB90330A シリーズ 低消費電力モードの概要 MB90330A シリーズは , 動作クロックの選択とクロックの動作制御により , 次のよ うな CPU 動作モードを備えています。 • クロックモード (PLL クロックモード , メインクロックモード , サブクロックモード ) • CPU 間欠動作モード (PLL クロック間欠動作モード , メインクロック間欠動作モード , サブクロック間 欠動作モード ) • スタンバイモード ( スリープモード , タイムベースタイマモード , ストップモード , 時計モード ) ■ CPU 動作モードと消費電流 CPU 動作モードと消費電流の関係を図 6.1-1 に示します。 図 6.1-1 CPU 動作モードと消費電流 消費電流 数10mA CPU 動作モード PLLクロックモード 4逓倍クロック 2逓倍クロック 1逓倍クロック PLLクロック間欠動作モード 4逓倍クロック 2逓倍クロック 1逓倍クロック メインクロックモード(1/2 HCLK) メインクロック間欠動作モード サブクロックモード サブクロック間欠動作モード 数mA スタンバイモード スリープモード タイムベースタイマモード 時計モード ストップモード 低消費電力モード (注意事項) この図は, 各種モードのイメージを示したもので, 実際の消費電流とは異なる部分があります。 148 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 6 章 低消費電力モード 6.1 低消費電力モードの概要 ■ クロックモード ● PLL クロックモード 発振クロック (HCLK) の PLL 逓倍クロックで , CPU および周辺機能を動作させるモー ドです。 <注意事項> USB ホスト , USB ファンクション使用時には , PLL クロックモードに設定する必要があ ります。 ● メインクロックモード 発振クロック (HCLK) の 2 分周クロックで , CPU および周辺機能を動作させるモード です。メインクロックモード時には , PLL 逓倍回路が停止します。 ● サブクロックモード サブクロック (SCLK) で , CPU および周辺機能を動作させるモードです。サブクロック モード時には , メインクロックおよび PLL 逓倍回路が停止します。 <参考> クロックモードについては , 「5.4 クロックモード」を参照してください。 ■ CPU 間欠動作モード CPU 間欠動作モードとは , 周辺機能には高速クロックを供給したまま , CPU を間欠動 作させ , 消費電力を低減するモードです。CPU 間欠動作モードは , CPU がレジスタ , 内 蔵メモリ , 周辺機能および外部アクセスを行う場合 , CPU にだけ間欠クロックを入力す るモードです。 ■ スタンバイモード スタンバイモードは , 低消費電力制御回路による CPUへのクロックの供給停止 ( スリー プモード ) や , CPU と周辺機能へのクロックの供給停止 ( タイムベースタイマモード ) または発振クロックの停止 ( ストップモード ) によって消費電力を低減します。 ● PLL スリープモード PLLスリープモードは, PLLクロックモード時にCPUの動作クロックを停止させるモー ドで , CPU 以外は PLL クロックで動作します。 ● メインスリープモード メインスリープモードは , メインクロックモード時に CPU の動作クロックを停止させ るモードで , CPU 以外はメインクロックで動作します。 ● サブスリープモード サブスリープモードは , サブクロックモード時に CPU の動作クロックを停止させる モードで , CPU 以外はサブクロックで動作します。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 149 第 6 章 低消費電力モード 6.1 低消費電力モードの概要 MB90330A シリーズ ● タイムベースタイマモード タイムベースタイマモードは , 発振クロック , タイムベースタイマおよび時計タイマ以 外の動作を停止させるモードで , タイムベースタイマと時計タイマ以外の機能が停止 します。 ● 時計モード 時計モードは , 時計タイマのみを動作させるモードです。サブクロックのみ動作し , メ インクロックおよび PLL 逓倍回路が停止します。 ● ストップモード ストップモードは , 原発振を停止させるモードで , すべての機能が停止します。 <注意事項> ストップモードでは , 発振クロックが停止するため , 最も低い消費電力でデータを保持で きます。 クロックモードを切り換えた場合 , 切換えが完了するまでは , ほかのクロックモードおよ び低消費電力モードへの切換えを行わないでください。切換えの完了は , クロック選択レ ジスタ (CKSCR) の MCM ビットおよび SCM ビットを参照して確認してください。 USB 転送中はスタンバイモードへの遷移は禁止です。 150 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 6 章 低消費電力モード 6.2 低消費電力制御回路のブロックダイヤグラム MB90330A シリーズ 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逓倍回路 SCM MCM WS1 WS0 SCS MCS CS1 CS0 クロック選択レジスタ(CKSCR) 2分周 X0 端子 発振クロック (HCLK) X1 端子 発振クロック 発振回路 2分周 1024分周 2分周 2分周 2分周 4分周 ウォッチドッグタイマへ サブクロック (SCLK) 4分周 X0A 端子 4分周 512分周 2分周 メイン クロック タイムベースタイマ 8分周 2分周 2分周 時計タイマ X1A 端子 サブクロック発振回路 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 151 第 6 章 低消費電力モード 6.2 低消費電力制御回路のブロックダイヤグラム MB90330A シリーズ ● CPU 間欠動作セレクタ CPU間欠動作セレクタは, CPU間欠動作モード時の一時停止クロック数を選択します。 ● スタンバイ制御回路 スタンバイ制御回路は , CPU クロック制御回路および周辺クロック制御回路を制御し , 低消費電力モードへの移行および解除を行います。 ● CPU クロック制御回路 CPU クロック制御回路は , CPU に供給するクロックを制御する回路です。 ● 周辺クロック制御回路 周辺クロック制御回路は , 周辺機能に供給するクロックを制御する回路です。 ● 端子ハイインピーダンス制御回路 端子ハイインピーダンス制御回路は , タイムベースタイマモードおよびストップモー ド時に , 外部端子をハイインピーダンスにする回路です。プルアップオプションの選択 された端子に対しては , ストップモード時にプルアップ抵抗を切り離します。 ● 内部リセット発生回路 内部リセット発生回路は , 内部リセット信号を発生させる回路です。 ● 低消費電力モード制御レジスタ (LPMCR) 低消費電力モード制御レジスタ (LPMCR) は , スタンバイモードへの移行 / 解除および CPU 間欠動作機能の設定などを行うレジスタです。 152 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 6 章 低消費電力モード 6.3 低消費電力モード制御レジスタ (LPMCR) MB90330A シリーズ 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-10129-6 STP 0 1 内部リセット信号発生ビット 3マシンサイクルの内部リセット信号を発生 変化なし, ほかへの影響なし 端子状態指定ビット (時計・タイムベースタイマ・ストップモード時) 保持 ハイインピーダンス スリープモードビット 変化なし, ほかへの影響なし スリープモードに移行 ストップモードビット 変化なし, ほかへの影響なし ストップモードに移行 FUJITSU MICROELECTRONICS LIMITED 153 第 6 章 低消費電力モード 6.3 低消費電力モード制御レジスタ (LPMCR) MB90330A シリーズ 表 6.3-1 低消費電力モード制御レジスタ (LPMCR) の各ビットの機能 ビット名 154 機能 bit7 STP: ストップモード ビット ・ストップモードへの移行を指示するビットです。 ・"1" を書き込むことにより , ストップモードへ移行します。 ・"0" を書き込んでも動作に影響を与えません。 ・リセットまたは割込み要求発生で "0" にクリアされます。 ・常に "0" が読み出されます。 bit6 SLP: スリープモード ビット ・スリープモードへの移行を指示するビットです。 ・"1" を書き込むことにより , スリープモードに移行します。 ・"0" を書き込んでも動作に影響を与えません。 ・リセットまたは割込み要求発生で "0" にクリアされます。 ・常に "0" が読み出されます。 bit5 SPL: 端子状態指定 ビット ( 時計 , タイム ベースタイマ , ストップモード 時) bit4 RST: 内部リセット 信号発生ビット ・ "0" を書き込むと , 3 マシンサイクルの内部リセット信号を発 生します。 ・"1" を書き込んでも動作に影響を与えません。 ・常に "1" が読み出されます。 bit3 TMD: 時計 , タイム ベースタイマ モードビット ・時計モード , タイムベースタイマモードへの移行を指示する ビットです。 ・メインクロックモードまたは PLL クロックモード時に , "0" を 書き込むことにより , タイムベースタイマモードに移行しま す。 ・サブクロックモード時に, "0"を書き込むことにより, 時計モー ドに移行します。 ・リセットまたは割込み要求発生で "1" に初期化されます。 ・常に "1" が読み出されます。 bit2, bit1 CG1, CG0: CPU クロック 一時停止 サイクル数選択 ビット ・CPU 間欠動作機能の CPU クロックの一時停止サイクル数を設 定するビットです。 ・1命令ごとに, 指定サイクル数CPUクロック供給を停止します。 ・4 種類のクロック数から選択できます。 ・リセットで "00B" に初期化されます。 bit0 予約 : 予約ビット ・必ず "0" を設定してください。 ・時計モード , タイムベースタイマモード , ストップモードのと きだけ有効です。 ・"0" の場合 , 外部端子のレベルを保持します。 ・"1" の場合 , 外部端子をハイインピーダンスにします。 ・リセットで "0" に初期化されます。 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 6 章 低消費電力モード 6.3 低消費電力モード制御レジスタ (LPMCR) MB90330A シリーズ ■ 低消費電力モード制御レジスタへのアクセス 低消費電力モード制御レジスタへの書込みで , 低消費電力モード ( ストップモード , ス リープモード , タイムベースタイマモード , 時計モード ) への遷移が行われますが , こ の場合に使用する命令は , 表 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-10129-6 FUJITSU MICROELECTRONICS LIMITED 155 第 6 章 低消費電力モード 6.4 CPU 間欠動作モード 6.4 MB90330A シリーズ 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命令実行 サイクル 内部バス起動 156 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 6 章 低消費電力モード 6.5 スタンバイモード MB90330A シリーズ スタンバイモード 6.5 スタンバイモードには , スリープ (PLL スリープ , メインスリープ , サブスリープ ), 時計 , タイムベースタイマ , ストップの各モードがあります。 ■ スタンバイモード時の動作状態 表 6.5-1 に , スタンバイモード時の動作状態を示します。 表 6.5-1 スタンバイモード時の動作状態 スタンバイモード スリープ モード タイム ベース タイマ モード 時計 モード ストップ モード * 移行 条件 PLL スリープ モード SCS=1 MCS=0 SLP=1 メイン スリープ モード SCS=1 MCS=1 SLP=1 サブ スリープ モード SCS=0 SLP=1 タイムベース タイマモード (SPL=0) SCS=1 TMD=0 SCS=1 TMD=0 時計モード (SPL=0) SCS=0 TMD=0 時計モード (SPL=1) SCS=0 TMD=0 ストップ モード (SPL=0) STP=1 CPU 周辺 端子 動作 動作 解除 方法 動作 動作 停止 動作 保持 動作 タイムベース タイマモード (SPL=1) ストップ モード (SPL=1) メイン サブ マシン クロック クロック クロック 停止 停止 *1 Hi-Z リセット または 割込み 保持 停止 停止 *2 Hi-Z 停止 保持 停止 停止 STP=1 Hi-Z 1: タイムベースタイマ , 時計タイマは動作します。 時計タイマは動作します。 *2: SPL: 低消費電力モード制御レジスタ (LPMCR) の端子状態指定ビット SLP: 低消費電力モード制御レジスタ (LPMCR) のスリープモードビット STP: 低消費電力モード制御レジスタ (LPMCR) のストップモードビット TMD: 低消費電力モード制御レジスタ (LPMCR) の時計 , タイムベースタイマモードビット MCS: クロック選択レジスタ (CKSCR) のマシンクロック選択ビット SCS: クロック選択レジスタ (CKSCR) のマシンクロック選択ビット ( サブ ) Hi-Z: ハイインピーダンス RST: 外部リセット端子 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 157 第 6 章 低消費電力モード 6.5 スタンバイモード MB90330A シリーズ スリープモード 6.5.1 スリープモードは , CPU の動作クロックを停止させるモードで , CPU 以外は動作を 続行します。低消費電力モード制御レジスタ (LPMCR) でスリープモードへの移行を 指示すると , PLL クロックモードを設定している場合は PLL スリープモードへ移行 し , メインクロックモードを設定している場合はメインスリープモードへ移行し , サ ブクロックモードを設定しているときはサブスリープモードへ移行します。 ■ スリープモードへの移行 低消費電力モード制御レジスタ (LPMCR) のスリープモードビット (SLP) に "1", 時計 . タイムベースタイマモードビット (TMD) に "1", ストップモードビット (STP) に "0" を 書き込むと , スリープモードに移行します。このとき , クロック選択レジスタ (CKSCR) が PLL クロック選択ビット (MCS)=0, サブクロック選択ビット (SCS)=1 であれば PLL スリープモードに , MCS=1, SCS=1 であればメインスリープモードに , SCS=0 であれば サブスリープモードに移行します。 <注意事項> LPMCR の SLP ビットと STP ビットに同時に "1" を書き込むと , STP ビットを優先し , ス トップモードへ移行します。 低消費電力モード制御レジスタの SLP ビットに "1", TMD ビットに "0" を同時に書き込む と , TMD ビットを優先し , タイムベースタイマモード , または時計モードに移行します。 ● データ保持機能 スリープモードでは , アキュムレータなどの専用レジスタと内部 RAM の内容を保持し ます。 ● ホールド機能 スリープモード中は , 外部バスホールド機能は動作し , ホールド要求があるとホールド 状態になります。 ● 割込み要求発生中の動作 LPMCR の SLP ビットに "1" を書き込んだ場合に , 割込み要求が発生している場合はス リープモードに移行しません。そのため , CPU は割込みを受け付けない状態では次の 命令を実行し , 受け付ける状態であれば即座に割込み処理ルーチンへ分岐します。 ● 端子状態 スリープモード中は , バス入出力またはバス制御として使用されている端子以外は , 直 前の状態を保持します。 158 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 6 章 低消費電力モード 6.5 スタンバイモード MB90330A シリーズ ■ スリープモードの解除 低消費電力制御回路は , リセット入力または割込みの発生によってスリープモードを 解除します。 ● リセットによる復帰 リセットによってメインクロックモードに初期化されます。 ● 割込みによる復帰 スリープモード中に, 周辺回路などから割込みレベルが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-10129-6 FUJITSU MICROELECTRONICS LIMITED 159 第 6 章 低消費電力モード 6.5 スタンバイモード 6.5.2 MB90330A シリーズ タイムベースタイマモード タイムベースタイマモードは , 原発振とタイムベースタイマ , 時計タイマ以外の動作 を停止させるモードで , タイムベースタイマと時計タイマ以外はすべての機能が停 止します。 ■ タイムベースタイマモードへの移行 PLL クロックモードまたはメインクロックモード時 ( クロック選択レジスタ (CKSCR) のサブクロック表示ビット (SCM)=1) に , 低消費電力モード制御レジスタ (LPMCR) の 時計 , タイムベースタイマモードビット (TMD) に "0" を書き込むと , タイムベースタイ マモードに移行します。 ● データ保持機能 タイムベースタイマモードでは , アキュムレータなどの専用レジスタと内部 RAM の内 容を保持します。 ● ホールド機能 タイムベースタイマモード中は , 外部バスホールド機能は停止し , ホールド要求が入力 されてもその要求を受け付けません。タイムベースタイマモードへの移行中にホール ド要求が入力された場合 , バスをハイインピーダンスにした状態で , HAK 信号が "L" に ならないことがあります。 ● 割込み要求発生中の動作 低消費電力モード制御レジスタ (LPMCR) の TMD ビットに "0" を書き込んだ場合 , 割 込み要求が発生しているときはタイムベースタイマモードに移行しません。 ● 端子状態 タイムベースタイマモード中の外部端子を , 直前の状態に保持するか , ハイインピーダ ンス状態にするかを , 低消費電力モード制御レジスタ (LPMCR) の端子状態指定ビット (SPL) で制御できます。 ■ タイムベースタイマモードの解除 低消費電力制御回路は , リセット入力または割込み要求の発生でタイムベースタイマ モードを解除します。 ● 外部リセットによる復帰 外部リセットよって , メインクロックモードに初期化されます。 ● 割込みによる復帰 タイムベースタイマモード中に周辺回路などから割込みレベルが 7 より高い割込み要 求が発生すると ( 割込み制御レジスタ (ICR) の IL2, IL1, IL0=111B 以外の場合 ), 低消費 電力制御回路はタイムベースタイマモードを解除します。タイムベースタイマモード の解除後は , 通常の割込み処理と同じ扱いとなります。コンディションコードレジスタ (CCR) の I フラグ , 割込みレベルマスクレジスタ (ILM) および割込み制御レジスタ (ICR) の設定により割込みが受付けられる場合は , 割込み処理を実行します。割込みが受け付 けられない場合は , タイムベースタイマモードに入る前の次の命令から処理を続行し ます。 160 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 6 章 低消費電力モード 6.5 スタンバイモード <注意事項> 割込み処理を実行する場合 , 通常はタイムベースタイマモードを指定した命令の次の命令 を実行した後に , 割込み処理に移行します。ただし , タイムベースタイマモードへの移行 と外部バスホールド要求の受付けが同時であった場合 , 次の命令を実行する前に割込み処 理に移行することがあります。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 161 第 6 章 低消費電力モード 6.5 スタンバイモード 6.5.3 MB90330A シリーズ 時計モード 時計モードとは , サブクロックと時計タイマ以外の動作を止めるモードで , チップの ほぼ全機能が停止します。 ■ 時計モードへの遷移 サブクロックモード時 ( クロック選択レジスタ (CKSCR) のサブクロック表示ビット (SCS)=0), 低消費電力モード制御レジスタ (LPMCR) の時計 , タイムベースタイマモード ビット (TMD) に "0" を書き込むことによって , 時計モードに移行します。 ● データ保持機能 時計モードでは , アキュムレータなどの専用レジスタと内部 RAM の内容を保持しま す。 ● ホールド機能 時計モード中は , 外部バスホールド機能は停止し , ホールド要求が入力されても , その 要求は受け付けません。時計モードへの遷移中に , ホールド要求が入力された場合 , バ スをハイインピーダンスにした状態で , HAK 信号が "L" にならないことがあります。 ● 割込み要求発生中の動作 LPMCR の TMD ビットに "0" を設定したときに , 割込み要求が発生している場合は時 計モードに移行しません。 ● 端子状態の設定 時計モード中の外部端子を , 直前の状態に保持するか , ハイインピーダンス状態にする かを , LPMCR の端子状態指定ビット (SPL) で制御できます。 ■ 時計モードの解除 低消費電力制御回路は , リセットの入力または割込み要求の発生によって時計モード を解除します。 ● リセットによる復帰 リセット要因による時計モードの解除の場合は , 時計モードを解除した上で , 発振安定 待ちリセット状態になります。リセットシーケンスは発振安定待ち時間経過後実行さ れます。 ● 割込みによる復帰 時計モード中に周辺回路などから割込みレベルが 7 より高い割込み要求が発生すると ( 割込み制御レジスタ (ICR) の IL2, IL1, IL0 が "111B" 以外 ), 低消費電力制御回路は時計 モードを解除し , 即座にサブクロックモードに移行します。サブクロックモードに移行 後は , 通常の割込み処理と同じ扱いとなります。コンディションコードレジスタ (CCR) の I フラグ , 割込みレベルマスクレジスタ (ILM) および割込み制御レジスタ (ICR) を設 定して割込みが受け付けられる場合は , 割込み処理を実行します。割込みが受け付けら れない場合は , 時計モードに入る前の次の命令から処理を続行します。 162 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 6 章 低消費電力モード 6.5 スタンバイモード MB90330A シリーズ <注意事項> 割込み処理を実行する場合 , 通常は時計モードを指定した命令の次の命令を実行した後 に , 割込み処理に移行します。ただし , 時計モードへの移行と外部バスホールド要求の受 付けが同時であった場合 , 次の命令を実行する前に割込み処理に移行することがありま す。 図 6.5-2 に , 時計モードの解除動作を示します。 図 6.5-2 時計モードの解除 ( 外部リセット ) RST端子 時計モード 停止中 発振 PLLクロック 発振中 発振安定待ち メインクロック 停止中 サブクロック 発振中 CPUクロック 停止中 CPU動作 停止中 メインクロック 処理 リセットシーケンス リセット解除 時計モード解除 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 163 第 6 章 低消費電力モード 6.5 スタンバイモード 6.5.4 MB90330A シリーズ ストップモード ストップモードは , 原発振を停止させるモードで , すべての機能が停止します。した がって , 最も低消費電力でデータを保持できます。 ■ ストップモードへの移行 低消費電力モード制御レジスタ (LPMCR) のストップモードビット (STP) に "1" を書き 込むと , ストップモードに移行します。 ● データ保持機能 ストップモードでは , アキュムレータなどの専用レジスタと内部 RAM の内容を保持し ます。 ● ホールド機能 ストップモード中は , 外部バスホールド機能は停止し , ホールド要求が入力されても , その要求を受け付けません。ストップモードへの遷移中に , ホールド要求が入力された 場合 , バスをハイインピーダンスにした状態で , HAK 信号が "L" にならないことがあ ります。 ● 割込み要求発生中の動作 低消費電力モード制御レジスタ (LPMCR) の STP ビットに "1" を書き込んだ場合に , 割 込み要求が発生している場合はストップモードに移行しません。 ● 端子状態の設定 ストップモード中の外部端子を , 直前の状態に保持するか , ハイインピーダンス状態に するかを , 低消費電力モード制御レジスタ (LPMCR) 端子状態指定ビット (SPL) で指定 できます。 ■ ストップモードの解除 低消費電力制御回路は , リセット入力または割込みの発生によりストップモードを解 除します。 ストップモードからの復帰の場合, 動作クロックの発振が停止しているため, 低消費電力制御回路はまず発振安定待ち状態に移行し , その後ストップモードを解除 します。 ● リセットによる復帰 リセット要因によるストップモード解除の場合は , ストップモードを解除した上で , 発 振安定待ちリセット状態になります。リセットシーケンスは発振安定待ち時間経過後 実行されます。 ● 割込みによる復帰 ストップモード中に周辺回路などから割込みレベルが 7 より高い割込み要求が発生す ると ( 割込み制御レジスタ (ICR) の IL2, IL1, IL0=111B 以外の場合 ), 低消費電力制御回 路はストップモードを解除します。ストップモードの解除後は , クロック選択レジスタ (CKSCR) の発振安定待ち時間選択ビット (WS1, WS0) で指定されたメインクロックの 発振安定待ち時間を経過した後で , 通常の割込み処理と同じ扱いとなります。コンディ ションコードレジスタ (CCR) の I フラグ , 割込みレベルマスクレジスタ (ILM) および割 164 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 6 章 低消費電力モード 6.5 スタンバイモード MB90330A シリーズ 込み制御レジスタ (ICR) を設定して割込みが受け付けられる場合は , 割込み処理を実行 します。割込みが受け付けられない場合は , ストップモードに入る前の次の命令から処 理を続行します。 <注意事項> • 割込み処理を実行する場合 , 通常はストップモードを指定した命令の次の命令を実行 した後に , 割込み処理に移行します。ただし , ストップモードへの移行と外部バスホー ルド要求の受付けが同時であった場合 , 次の命令を実行する前に割込み処理に移行す ることがあります。 • PLL ストップモード中は , メインクロックおよび PLL 逓倍回路が停止しているため , PLLストップモードから復帰する場合は, メインクロック発振安定待ち時間およびPLL クロック発振安定待ち時間を確保する必要があります。この場合の発振安定待ち時間 は , クロック選択レジスタの発振安定待ち時間選択ビット (CKSCR:WS1, WS0) に設定 された値に従い , メインクロック発振安定待ち時間および PLL クロック発振安定待ち 時間を同時にカウントしますので , CKSCR:WS1, WS0 ビットは , 発振安定待ち時間の 長い方に合わせて値を設定してください。ただし , PLL クロック発振安定待ち時間は 214/HCLK 以上必要になりますので , CKSCR:WS1, WS0 ビットは "10B" または "11B" を設定してください。 図 6.5-3 に , ストップモードの解除動作を示します。 図 6.5-3 ストップモードの解除 ( 外部リセット ) RST端子 ストップモード メインクロック 発振中 発振安定待ち PLLクロック 発振 サブクロック 停止中 メインクロック CPUクロック CPU動作 停止中 処理 リセットシーケンス リセット解除 ストップモード解除 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 165 第 6 章 低消費電力モード 6.6 状態遷移図 6.6 MB90330A シリーズ 状態遷移図 MB90330A シリーズの動作状態の遷移と , 遷移条件を示します。 ■ 状態遷移図 図 6.6-1 に , MB90330A シリーズの動作状態の遷移と , 遷移条件を示します。 図 6.6-1 状態遷移と遷移条件 電源投入 外部リセット,ウォッチドッグタイマリセット,ソフトウェアリセット リセット パワーオンリセット SCS=0 発振安定待ち終了 SCS=1 メインクロックモード SLP=1 MCS=0 MCS=1 割込み メインスリープモード TMD=0 割込み PLLクロックモード SLP=1 TMD=0 割込み 割込み 発振安定 待ち終了 メインクロック発振安定待ち サブクロックモード SLP=1 割込み サブスリープモード TMD=0 PLLタイムベース タイマモード STP=1 メインストップモード TMD=0 SCS=1 割込み PLLスリープモード メインタイムベース タイマモード STP=1 SCS=0 割込み 時計モード STP=1 PLLストップモード * 割込み 発振安定 待ち終了 PLLクロック発振安定待ち サブストップモード 割込み 発振安定 待ち終了 サブクロック発振安定待ち *:割込み+USBファンクション時のUSBバス上からの割込み 166 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 6 章 低消費電力モード 6.6 状態遷移図 MB90330A シリーズ ■ 低消費電力モードの動作状態 表 6.6-1 に , 低消費電力モードの動作状態を示します。 表 6.6-1 低消費電力モードの動作状態 動作状態 メイン クロック サブ クロック PLL クロック PLL CPU 周辺 時計 タイム ベース タイマ 動作 動作 クロック ソース 動作 動作 PLL スリープ 動作 動作 動作 PLL タイムベース タイマ PLL クロック 停止 PLL ストップ 停止 停止 停止 PLL 発振安定待ち 動作 動作 動作 停止 停止 停止 動作 動作 動作 動作 動作 メイン 動作 メインスリープ 動作 動作 メインタイムベース タイマ メイン クロック 停止 停止 メインストップ 停止 停止 メイン発振安定待ち 動作 動作 停止 サブ 停止 停止 動作 動作 動作 動作 サブスリープ 時計 動作 停止 動作 停止 停止 サブ クロック 動作 メイン クロック 停止 サブストップ 停止 サブ発振安定待ち 動作 パワーオンリセット CM44-10129-6 停止 動作 停止 動作 リセット 停止 動作 停止 停止 動作 FUJITSU MICROELECTRONICS LIMITED 動作 167 第 6 章 低消費電力モード 6.7 スタンバイモード , ホールド , リセット時の端子状態 MB90330A シリーズ スタンバイモード , ホールド , リセット時の端子状態 6.7 スタンバイモード , ホールド , リセット時の端子の状態を , メモリアクセスモードご とに示します。 ■ シングルチップモード時の端子状態 表 6.7-1 に , シングルチップモード時の端子状態を示します。 表 6.7-1 シングルチップモード時の端子状態 ストップ時 端子名 スリープ時 SPL=0 SPL=1 入力遮断 / 直前の状態を保持 *2, *3 入力遮断 / 出力 Hi-Z *3 ホールド時 リセット時 本状態はない 入力不可 / 出力 Hi-Z P07 ∼ P00 P17 ∼ P10 P27 ∼ P20 P37 ∼ P30 P47 ∼ P40 直前の状態を保持 *2 P57 ∼ P50 P77 ∼ P70 P87 ∼ P80 P96 ∼ P90 PA7 ∼ PA0 PB6 ∼ PB0 P67 ∼ P60 入力可能 *1 入力可能 *1 入力不可 USB ポート入力 USB ポート入力 *4 Hi-Z DVP DVM HVP *5 HVM UTEST プルダウン接続 プルダウン接続 プルダウン接続 HCON 直前の状態を保持 直前の状態を保持 "H" 出力 *1: 出力状態として使用している場合には , ほかのポートと同じです。入力可能とは , 入力機能が使用可能な状態 であることを意味するので , プルアップ / プルダウンまたは外部からの入力が必要です。 *2: 本モードになる直前に出力していた状態をそのまま出力します。または , 入力であれば入力不可を意味します。 入力不可とは , 端子からすぐの入力ゲートの動作は許可状態であるが , 内部回路が動作していないので , 端子 の内容が内部で受け付けられない状態を意味します。 *3: 入力遮断状態では , 入力はマスクされ "L" レベルが内部に伝わります。 *4: USB 要因によるストップ時は USB ポート入力で , それ以外の要因によるストップ時は直前の状態のままです。 *5: USB 端子の動作に影響はありません。 <注意事項> USB 転送中はスタンバイモードへの遷移は禁止です。 168 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 6 章 低消費電力モード 6.7 スタンバイモード , ホールド , リセット時の端子状態 ■ 外部バス16ビットデータバスモードおよびマルチプレクス16ビット外部バスモー ドの端子状態 表 6.7-2 に , 外部バス 16 ビットデータバスモードおよびマルチプレクス 16 ビット外部 バスモードの端子状態を示します。 表 6.7-2 外部バス 16 ビットデータバスモードおよびマルチプレクス 16 ビット外部バスモードの端子 状態 ストップ時 端子名 スリープ時 SPL=0 P07 ∼ P00 (AD07 ∼ AD00) ホールド時 リセット時 SPL=1 入力不可 / 出力 Hi-Z 入力遮断 / 出力 Hi-Z 入力不可 / 出力 Hi-Z 入力不可 / 出力 Hi-Z P27 ∼ P20 (A23 ∼ A16) 出力状態 *1, *4 出力状態 *1, *4 入力不可 / 出力 Hi-Z *4 出力状態 *1 P57(CLK) 入力不可 / 出力可能 *2, *4 入力不可 / 出力状態 *1, *4 入力不可 / 出力可能 *2, *4 入力不可 / 出力可能 *2 P17 ∼ P10 (AD15 ∼ AD08) P56(RDY) P55(HAK) P54(HRQ) P53(WRH) 入力遮断 / 出力 Hi-Z *6 入力不可 *4 入力遮断 / 直前の状態を保持 直前の状態を保持 *5 *5, *6 "L" 出力 入力不可 / 出力 Hi-Z "1" 入力 P52(WRL) "H" 出力 *4 "H" 出力 *4 入力不可 / 出力 Hi-Z *4 "H" 出力 P51(RD) "H" 出力 "H" 出力 P50(ALE) "L" 出力 "L" 出力 入力不可 / 出力 Hi-Z 出力可能 *2 P37 ∼ P30 P47 ∼ P40 P77 ∼ P70 P87 ∼ P80 P96 ∼ P90 入力遮断 / 直前の状態を保持 直前の状態を保持 *5 *5 入力遮断 / 出力 Hi-Z *6 直前の状態を保持 *5 入力不可 / 出力 Hi-Z PA7 ∼ PA0 PB6 ∼ PB0 P67 ∼ P60 入力可能 *3 入力可能 *3 入力可能 *3 入力不可 DVP DVM HVP USB ポート入力 Hi-Z USB ポート入力 *7 *8 HVM UTEST プルダウン接続 プルダウン接続 プルダウン接続 HCON 直前の状態を保持 直前の状態を保持 "H" 出力 *1: 出力状態とは , 端子駆動用トランジスタは駆動許可状態ですが , 内部回路の動作が停止状態のため , "H" ないし "L" の固定値を出力することを意味します。内部周辺回路が動作中で , 出力機能を使用している場合には , リ セット時を除いて出力が変化します。リセット時の出力変化はありません。 *2: 出力可能とは , 端子駆動用トランジスタを駆動状態にしてあり , 内部回路の動作が許可状態のため , 動作内容 が端子に現れることを意味します。 *3: 出力状態として使用している場合には , ほかのポートと同じです。入力可能とは , 入力機能が使用可能な状態 であることを意味するので , プルアップ / プルダウンまたは外部からの入力が必要です。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 169 第 6 章 低消費電力モード 6.7 スタンバイモード , ホールド , リセット時の端子状態 MB90330A シリーズ *4: 出力ポートとして使用している場合は , 直前の値を保持します。 *5: 本モードになる直前に出力していた状態をそのまま出力します。または , 入力であれば入力不可を意味します。 入力不可とは , 端子からすぐの入力ゲートの動作は許可状態ですが , 内部回路が動作していないので , 端子の 内容が内部で受け付けられない状態を意味します。 *6: 入力遮断状態では , 入力はマスクされ "L" レベルが内部に伝わります。 *7: USB 要因によるストップ時は USB ポート入力で , それ以外の要因によるストップ時は直前の状態のままです。 *8: USB 端子の動作に影響はありません。 <注意事項> USB 転送中はスタンバイモードへの遷移は禁止です。 170 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 6 章 低消費電力モード 6.7 スタンバイモード , ホールド , リセット時の端子状態 ■ 外部バス 8 ビットデータバスモードおよびマルチプレクス 8 ビット外部バスモード の端子状態 表 6.7-3 に , 外部バス 8 ビットデータバスモードおよびマルチプレクス 8 ビット外部バ スモードの端子状態を示します。 表 6.7-3 外部バス 8 ビットデータバスモードおよびマルチプレクス 8 ビット外部バスモードの端子状 態 端子名 ストップ時 スリープ時 SPL=0 ホールド時 P07 ∼ P00 (AD07 ∼ AD00) 入力不可 / 出力 Hi-Z 入力遮断 / 出力 Hi-Z P17 ∼ P10 (A15 ∼ A08) 出力状態 *1 出力状態 *1 出力状態 *1, *4 出力状態 *1, *4 入力不可 / 出力 Hi-Z *4 入力不可 / 出力可能 *2, *4 入力不可 / 出力状態 *1, *4 入力不可 / 出力可能 *2, *4 P27 ∼ P20 (A23 ∼ A16) P57(CLK) 入力不可 / 出力 Hi-Z P56(RDY) 直前の状態を保持 *5 P53(WRH) P52(WRL) 入力不可 / 出力 Hi-Z 出力状態 *1 入力不可 / 出力可能 *2 入力不可 *4 P55(HAK) P54(HRQ) リセット時 SPL=1 入力遮断 / 直前の状態を 保持 *5 "L" 出力 "1" 入力 入力遮断 / 出力 Hi-Z *6 入力不可 / 出力 Hi-Z 直前の状態を 保持 *5 入力不可 / 出力 Hi-Z *4 "H" 出力 "L" 出力 入力不可 / 出力 Hi-Z "L" 出力 直前の状態を保持 *5 入力遮断 / 直前の状態を 保持 *5 直前の状態を 保持 *5 入力可能 *3 入力可能 *3 "H" 出力 *5 "H" 出力 *5 P51(RD) "H" 出力 "H" 出力 P50(ALE) "L" 出力 P37 ∼ P30 P47 ∼ P40 P77 ∼ P70 P87 ∼ P80 P96 ∼ P90 入力不可 / 出力 Hi-Z PA7 ∼ PA0 PB6 ∼ PB0 P67 ∼ P60 入力可能 *3 入力不可 DVP DVM HVP USB ポート 入力 Hi-Z USB ポート入力 *7 *8 HVM UTEST プルダウン接続 プルダウン接続 プルダウン接続 HCON 直前の状態を 保持 直前の状態を保持 "H" 出力 *1: 出力状態とは , 端子駆動用トランジスタは駆動許可状態ですが , 内部回路の動作が停止状態のため , "H" ないし "L" の固定値を出力することを意味します。内部周辺回路が動作中で , 出力機能を使用している場合には , リ セット時を除いて出力が変化します。リセット時の出力変化はありません。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 171 第 6 章 低消費電力モード 6.7 スタンバイモード , ホールド , リセット時の端子状態 MB90330A シリーズ *2: 出力可能とは , 端子駆動用トランジスタを駆動状態にしてあり , 内部回路の動作が許可状態のため , 動作内容が 端子に現れることを意味します。 *3: 出力状態として使用している場合には , ほかのポートと同じです。入力可能とは , 入力機能が使用可能な状態 であることを意味するので , プルアップ / プルダウンまたは外部からの入力が必要です。 *4: 出力ポートとして使用している場合は , 直前の値を保持します。 *5: 本モードになる直前に出力していた状態をそのまま出力します。または , 入力であれば入力不可を意味します。 入力不可とは , 端子からすぐの入力ゲートの動作は許可状態ですが , 内部回路が動作していないため , 端子の 内容が内部で受け付けられない状態を意味します。 *6: 入力遮断状態では , 入力はマスクされ "L" レベルが内部に伝わります。 *7: USB 要因によるストップ時は USB ポート入力で , それ以外の要因によるストップ時は直前の状態のままです。 *8: USB 端子の動作に影響がありません。 <注意事項> USB 転送中はスタンバイモードへの遷移は禁止です。 172 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 6 章 低消費電力モード 6.7 スタンバイモード , ホールド , リセット時の端子状態 ■ 外部バス16ビットデータバスモードおよびノンマルチプレクス16ビット外部バス モードの端子状態 表 6.7-4 に , 外部バス 16 ビットデータバスモードおよびノンマルチプレクス 16 ビット 外部バスモードの端子状態を示します。 表 6.7-4 外部バス 16 ビットデータバスモードおよびノンマルチプレクス 16 ビット外部バスモードの 端子状態 ストップ時 端子名 スリープ時 ホールド時 SPL=0 P07 ∼ P00 (D07 ∼ D00) P17 ∼ P10 (D15 ∼ D08) P37 ∼ P30 (A07 ∼ A00) P47 ∼ P40 (A15 ∼ A08) P27 ∼ P20 (A23 ∼ A16) P57(CLK) P56(RDY) P55(HAK) P54(HRQ) P53(WRH) 入力不可 / 出力 Hi-Z 入力不可 / 出力 Hi-Z 入力遮断 / 出力 Hi-Z 入力不可 / 出力 Hi-Z 出力状態 *1 出力状態 *1 出力状態 *1 出力状態 *1, *4 出力状態 *1, *4 入力不可 / 出力 Hi-Z *4 入力不可 / 出力可能 *2, *4 入力不可 / 出力可能 *1, *4 入力不可 / 出力可能 *2, *4 入力遮断 / 直前の状態を保持 直前の状態を保持 *5 *5 P52(WRL) "H" 出力 *5 "H" 出力 *5 P51(RD) "H" 出力 "H" 出力 "L" 出力 "L" 出力 P50(ALE) リセット時 SPL=1 入力遮断 / 出力 Hi-Z *6 入力不可 / 出力可能 *2 入力不可 *4 "L" 出力 入力不可 / 出力 Hi-Z "1" 入力 入力不可 / 出力 Hi-Z *4 入力不可 / 出力 Hi-Z "H" 出力 出力可能 *2 P77 ∼ P70 P87 ∼ P80 P96 ∼ P90 PA7 ∼ PA0 入力遮断 / 直前の状態を保持 直前の状態を保持 *5 *5 直前の状態を保持 *5 入力不可 / 出力 Hi-Z PB6 ∼ PB0 P67 ∼ P60 入力可能 *3 入力可能 *3 入力可能 *3 入力不可 DVP DVM HVP USB ポート入力 Hi-Z USB ポート入力 *7 *8 HVM UTEST プルダウン接続 プルダウン接続 プルダウン接続 HCON 直前の状態を保持 直前の状態を保持 "H" 出力 *1: 出力状態とは , 端子駆動用トランジスタは駆動許可状態ですが , 内部回路の動作が停止状態のため , "H" ないし "L" の固定値を出力することを意味します。内部周辺回路が動作中で , 出力機能を使用している場合には , リ セット時を除いて出力が変化します。リセット時の出力変化はありません。 *2: 出力可能とは , 端子駆動用トランジスタを駆動状態にしてあり , 内部回路の動作が許可状態のため , 動作内容が CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 173 第 6 章 低消費電力モード 6.7 スタンバイモード , ホールド , リセット時の端子状態 MB90330A シリーズ 端子に現れることを意味します。 *3: 出力状態として使用している場合には , ほかのポートと同じです。入力可能とは , 入力機能が使用可能な状態 であることを意味するので , プルアップ / プルダウンまたは外部からの入力が必要です。 *4: 出力ポートとして使用している場合は , 直前の値を保持します。 *5: 本モードになる直前に出力していた状態をそのまま出力します。または , 入力であれば入力不可を意味します。 入力不可とは , 端子からすぐの入力ゲートの動作は許可状態ですが , 内部回路が動作していないので , 端子の 内容が内部で受け付けられない状態を意味します。 *6: 入力遮断状態では , 入力はマスクされ "L" レベルが内部に伝わります。 *7: USB 要因によるストップ時は USB ポート入力で , それ以外の要因によるストップ時は直前の状態のままです。 *8: USB 端子の動作に影響はありません。 <注意事項> USB 転送中はスタンバイモードへの遷移は禁止です。 174 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 6 章 低消費電力モード 6.7 スタンバイモード , ホールド , リセット時の端子状態 ■ 外部バス 8 ビットデータバスモードおよびノンマルチプレクス 8 ビット外部バス モードの端子状態 表 6.7-5 に , 外部バス 8 ビットデータバスモードおよびノンマルチプレクス 8 ビット外 部バスモードの端子状態を示します。 表 6.7-5 外部バス 8 ビットデータバスモードおよびノンマルチプレクス 8 ビット外部バスモード ストップ時 端子名 スリープ時 ホールド時 SPL=0 P07 ∼ P00 (D07 ∼ D00) P37 ∼ P30 (A07 ∼ A00) P47 ∼ P40 (A15 ∼ A08) P27 ∼ P20 (A23 ∼ A16) P57(CLK) 入力不可 / 出力 Hi-Z 入力遮断 / 出力 Hi-Z 出力状態 *1 出力状態 *1 入力不可 / 出力 Hi-Z 入力不可 / 出力 Hi-Z 出力状態 *1 出力状態 *1, *4 出力状態 *1, *4 入力不可 / 出力 Hi-Z *4 入力不可 / 出力可能 *2, *4 入力不可 / 出力可能 *1, *4 入力不可 / 出力可能 *2, *4 P56(RDY) P55(HAK) P54(HRQ) P51(RD) P50(ALE) 入力不可 / 出力可能 *2 入力不可 *4 入力遮断 / 直前の状態を保持 直前の状態を保持 *5 *5 P53(WRH) P52(WRL) リセット時 SPL=1 "H" 出力 *4 "H" 出力 *4 "H" 出力 "H" 出力 "L" 出力 "L" 出力 "L" 出力 入力遮断 / 出力 Hi-Z *6 "1" 入力 入力不可 / 出力 Hi-Z 直前の状態を保持 *5 入力不可 / 出力 Hi-Z *4 入力不可 / 出力 Hi-Z "H" 出力 出力可能 *2 P17 ∼ P10 P77 ∼ P70 P87 ∼ P80 P96 ∼ P90 入力遮断 / 直前の状態を保持 直前の状態を保持 *5 *5 直前の状態を保持 *5 入力不可 / 出力 Hi-Z PA7 ∼ PA0 PB6 ∼ PB0 P67 ∼ P60 入力可能 *3 入力可能 *3 入力可能 *3 入力不可 DVP DVM HVP USB ポート入力 Hi-Z USB ポート入力 *7 *8 HVM UTEST プルダウン接続 プルダウン接続 プルダウン接続 HCON 直前の状態を保持 直前の状態を保持 "H" 出力 *1: 出力状態とは , 端子駆動用トランジスタは駆動許可状態にしてありますが , 内部回路の動作が停止状態のため , "H" ないし "L" の固定値を出力することを意味します。内部周辺回路が動作中で , 出力機能を使用している場 合には , リセット時を除いて出力が変化します。リセット時の出力変化はありません。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 175 第 6 章 低消費電力モード 6.7 スタンバイモード , ホールド , リセット時の端子状態 MB90330A シリーズ *2: 出力可能とは , 端子駆動用トランジスタを駆動状態にしてあり , 内部回路の動作が許可状態のため , 動作内容が 端子に現れることを意味します。 *3: 出力状態として使用している場合には , ほかのポートと同じです。入力可能とは , 入力機能が使用可能な状態 であることを意味するので , プルアップ / プルダウンまたは外部からの入力が必要です。 *4: 出力ポートとして使用している場合は , 直前の値を保持します。 *5: 本モードになる直前に出力していた状態をそのまま出力します。または , 入力であれば入力不可を意味します。 入力不可とは , 端子からすぐの入力ゲートの動作は許可状態ですが , 内部回路が動作していないので , 端子の 内容が内部で受け付けられない状態を意味します。 *6: 入力遮断状態では , 入力はマスクされ "L" レベルが内部に伝わります。 *7: USB 要因によるストップ時は USB ポート入力で , それ以外の要因によるストップ時は直前の状態のままです。 *8: USB 端子の動作に影響はありません。 <注意事項> USB 転送中はスタンバイモードへの遷移は禁止です。 176 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 6.8 第 6 章 低消費電力モード 6.8 低消費電力モード使用上の注意 低消費電力モード使用上の注意 低消費電力モード使用時には , 次に示す内容に関する注意が必要です。 • スタンバイモードへの移行と割込み • スタンバイモードの割込みによる解除 • 発振安定待ち時間 • クロックモードの切換え • スタンバイモード遷移のための低消費電力モード制御レジスタ (LPMCR) へアクセ スする際の注意事項 ■ スタンバイモードへの移行と割込み 周辺機能から CPU に対して割込み要求が発生していると , 低消費電力モード制御レジ スタ (LPMCR) のストップモードビット (STP) とスリープモードビット (SLP) を "1" ま たは時計モードまたはタイムベースタイマモードビット (TMD) を "0" としても無視さ れるため , 各スタンバイモードへは移行しません ( 割込み処理後にも , スタンバイモー ドへの移行はしません )。この場合 , 割込みレベルが 7 より高ければ , 割込み要求が CPU に受け付けられるかどうかには関係しません。 また , CPU が割込み処理中であっても , その割込み要求フラグビットがクリアされてお り , ほかに割込み要求がなければ , スタンバイモードへ移行できます。 ■ スタンバイモードの割込みによる解除 スリープ , タイムベースタイマおよびストップモード中に , 周辺機能などから割込みレ ベルが 7 より高い割込み要求が発生すると , スタンバイモードは解除されます。これは CPU が割込みを受け付けるかどうかには関係しません。 割込みによるスタンバイモードの解除後は , 通常の割込み動作として , 割込み要求に対 応する割込みレベル設定ビット (ICR レジスタの IL2, IL1, IL0 ビット ) の優先度が割込 みレベルマスクレジスタ (ILM) より高く , コンディションコードレジスタ (CCR) の I フ ラグによって割込みが許可(I=1)されている場合は, 割込み処理ルーチンへ分岐します。 割込みが受付けられない場合は , スタンバイモードを指定した命令の次の命令から動 作を再開します。 割込み処理を実行する場合 , 通常はスタンバイモードを指定した命令の次の命令を実 行した後に , 割込み処理に移行します。 ただし , スタンバイモードに移行した場合の条件によっては , 次の命令を実行する前に 割込み処理に移行することがあります。 <注意事項> 復帰直後に割込み処理ルーチンへ分岐させない場合は , スタンバイモード設定の前に割込 み禁止をするなどの対策が必要です。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 177 第 6 章 低消費電力モード 6.8 低消費電力モード使用上の注意 MB90330A シリーズ ■ 発振安定待ち時間 ● 発振クロック発振安定待ち時間 ストップモード中は , 原発振用の発振器が停止しているため , 発振安定待ち時間をとる 必要があります。発振安定待ち時間としては , クロック選択レジスタ (CKSCR) の発振 安定待ち時間選択ビット (WS1, WS0) で選択された時間をとります。 <注意事項> CKSCR レジスタの発振安定待ち時間選択ビット (WS1, WS0) に "00B" を設定する場合は , メインクロック時のみにしてください。 ● PLL クロック発振安定待ち時間 CPU がメインクロックで動作し , PLL クロックが停止している状態から , CPU または 周辺を PLL クロックで動作するモードに移行する場合は , PLL クロック発振安定待ち 状態へ移行し , 発振安定待ち中はメインクロックで動作します。 PLL クロック発振安定待ち時間は , 2 14/HCLK(HCLK: 発振クロック ) 固定です。 サブクロックモード中は , メインクロックおよび PLL 逓倍回路が停止しているため , PLL クロックモードに移行する場合は , メインクロック発振安定待ち時間および PLL クロック発振安定待ち時間を確保する必要があります。この場合の発振安定待ち時間 は , クロック選択レジスタの発振安定待ち時間選択ビット (CKSCR:WS1, WS0) に設定 された値に従い , メインクロック発振安定待ち時間および PLL クロック発振安定待ち 時間を同時にカウントしますので , CKSCR:WS1, WS0 ビットには , 発振安定待ち時間 の長いほうに合わせて値を設定してください。ただし , PLL クロック発振安定待ち時 間は 214/HCLK 以上必要ですので , CKSCR: WS1, WS0 ビットには "10B" または "11B" を 設定してください。 PLL ストップモード中は , メインクロックおよび PLL 逓倍回路が停止しているため , PLL ストップモードから復帰する場合は , メインクロック発振安定待ち時間および PLL クロック発振安定待ち時間を確保する必要があります。この場合の発振安定待ち時間 は , クロック選択レジスタの発振安定待ち時間選択ビット (CKSCR:WS1, WS0) に設定 された値に従い , メインクロック発振安定待ち時間および PLL クロック発振安定待ち 時間を同時にカウントしますので , CKSCR:WS1, WS0 ビットには , 発振安定待ち時間 の長いほうに合わせて値を設定してください。ただし , PLL クロック発振安定待ち時 間は 214/HCLK 以上必要ですので , CKSCR: WS1, WS0 ビットには "10B" または "11B" を 設定してください。 ■ クロックモードの切換え クロックモードを切り換えた場合 , 切換えが完了するまでは , 低消費電力モードおよび ほかのクロックモードへの切換えを行わないようにしてください。切換えの完了は , ク ロック選択レジスタ (CKSCR) の MCM ビットおよび SCM ビットを参照して確認して ください。切換えが完了する前に, ほかのクロックモードおよび低消費電力モードへの 切換えを行った場合 , 切り換わらない場合があります。 178 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 6 章 低消費電力モード 6.8 低消費電力モード使用上の注意 MB90330A シリーズ ■ スタンバイモード遷移のための低消費電力モード制御レジスタ (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_nop0 のビルトイン関数を 2 個挿入してください。関数内で , スタンバイ 復帰の割込みが発生する可能性がある場合は , コンパイル時に最適化を実施し , LINK/UNLINK 命令の発生を抑止してください。 例 ( 時計モードまたはタイムベースタイマモード遷移関数の場合 ) void enter_watch(){ IO_L.PMCR.byte = 0x10: _wait_nop0; _wait_nop0; } /* LPMCR の TMD ビットに 0 をセット */ (2) スタンバイモードに遷移させる命令を _asm 文で記述し , スタンバイモード遷移命 令の後に 2 個の NOP と JMP 命令を挿入してください。 例 ( スリープモード遷移の場合 ) _asm(" _asm(" _asm(" _asm(" MOV I:_IO_LPMCR, #H’58"); NOP"); NOP"); JMP $+3"); /* LPMCR の SLP ビットに 1 をセット */ /* 次の命令へのジャンプ */ (3) スタンバイモードに遷移させる命令を #pragma asm ∼ #pragma endasm 間に記述し , スタンバイモード遷移命令の後に 2 個の NOP と JMP 命令を挿入してください。 例 ( ストップモード遷移の場合 ) #pragma asm MOV I:_IO_LPMCR, #H’98 NOP NOP JMP $+3 #pragma endasm CM44-10129-6 /* LPMCR の STP ビットに 1 をセット */ /* 次の命令へのジャンプ FUJITSU MICROELECTRONICS LIMITED */ 179 第 6 章 低消費電力モード 6.8 低消費電力モード使用上の注意 180 MB90330A シリーズ FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第7章 モード設定 この章では , モード設定と外部メモリアクセスにつ いて説明します。 7.1 モード設定 7.2 モード端子 (MD2 ∼ MD0) 7.3 モードデータ 7.4 外部メモリアクセス 7.5 モード設定の各モードにおける動作 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 181 第 7 章 モード設定 7.1 モード設定 7.1 MB90330A シリーズ モード設定 F2MC-16LX には , アクセス方式 , アクセス領域および試験の各々において各種の モードがあります。リセット時のモード端子の設定と , モードフェッチされたモー ドデータによって各モードが設定されます。 ■ モード設定 F2MC-16LX では , アクセス方式 , アクセス領域および試験の各々について各種のモー ドがあり , 図 7.1-1 に示す分類になっています。 図 7.1-1 モードの分類 バスモード 動作モード シングルチップモード 内部ROM外部バスモード 外部ROM外部バスモード ○ RUN動作 ○ FLASH書込みモード ○ 各種テスト機能モード アクセスモード 外部バスデータバス長 8/16ビット アドレスデータバス ノンマルチプレクスモード マルチプレクスモード ■ 動作モード 動作モードとは , デバイスの動作状態を制御するモードを示すもので , モード設定用端 子 (MDx) とモードデータ内の Mx ビットの内容で指定します。動作モードを選択する ことによって , 通常動作 / 内部試験プログラムの起動 / 特殊試験機能の起動を行うこと ができます。 ■ バスモード バスモードとは , 内部 ROM の動作と外部アクセス機能の動作を制御するモードを示す もので , モード設定用端子 (MDx) とモードデータ内の Mx ビットの内容で指定します。 モード設定用端子 (MDx) は , リセットベクタおよびモードデータを読み出すときのバ スモードを指定するものです。モードデータ内の Mx ビットは , 通常動作時のバスモー ドを指定するものです。 ■ アクセスモード アクセスモードは , 外部データバス幅を制御するモードを示すもので , モード設定用端 子 (MDx) とモードデータ内の Sx ビットで指定します。アクセスモードを選択するこ とによって , 外部データバスを 8 ビット長または 16 ビット長のいずれかを指定します。 また , アドレスデータバスのノンマルチプレクスモードまたはマルチプレクスモード のいずれかを指定します。 182 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 7 章 モード設定 7.2 モード端子 (MD2 ∼ MD0) MB90330A シリーズ モード端子 (MD2 ∼ MD0) 7.2 モード端子は , (MD2 ∼ MD0) の 3 本の外部端子で , リセットベクタとモードデータ の取込み方法を指定します。 ■ モード端子 (MD2 ∼ MD0) の設定 モード端子 (MD2 ∼ MD0) で , リセットベクタの読出しを , 外部データバスとするか内 部データバスとするかの選択および外部データバス選択時のバス幅選択を行います。 フラッシュROM 内蔵品の場合は , 内蔵 ROM プログラムなどを書き込むための , フラッ シュ ROM 書込みモードの指定もモード端子で行います。 モード端子の設定内容を , 表 7.2-1 に示します。 表 7.2-1 モード端子の設定内容 リセットベ クタアクセ ス領域 外部データ バス幅 外部ベクタ モード 0 外部 マルチプレ クスモード リセットベクタ 8 ビットバス幅 アクセス 1 外部ベクタ モード 1 外部 マルチプレ クスモード リセットベクタ 16 ビットバス幅 アクセス 1 0 外部ベクタ モード 2 外部 ノンマルチ プ レ ク ス モード リセットベクタ 8 ビットバス幅 アクセス 0 1 1 内部ベクタ モード 内部 モード データ リセットシーケン ス以降はモード データで制御 - 1 0 0 - - 1 0 1 1 0 1 1 0 - - 1 1 1 P61 P60 MD2 MD1 MD0 - - 0 0 0 - - 0 0 - - 0 - - - モード名 備考 設定禁止 フラッシュシリアル書込み フラッシュ ライタ書込み モード - - - <注意事項> MD2 ∼ MD0:0=VSS または 1=VCC としてください。外部ベクタモード 2 は , データバス 幅も 8 ビットが初期値です。データバス幅を 16 ビットにする場合は , モードデータをノ ンマルチプレクス外部データバス 16 ビットモードにすると LMBS の領域は 16 ビットサ イズアクセスとなります。HMBS の領域を 16 ビットサイズアクセスにしたいときは , EPCR:HMBS ビットを設定し直してください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 183 第 7 章 モード設定 7.3 モードデータ MB90330A シリーズ モードデータ 7.3 モードデータは , FFFFDFH 番地のメモリ上にあり , リセットシーケンス後の動作を指 定します。モードデータは , モードフェッチで CPU に自動的に取り込まれます。 ■ モードデータ リセットシーケンス実行中に , FFFFDFH 番地のモードデータを CPU コア内のモードレ ジスタに取り込みます。CPU は , このモードデータでメモリアクセスモードを設定し ます。モードレジスタの内容を変更できるのは , リセットシーケンスだけです。また , モードデータの設定は , リセットシーケンス以降に有効となります。 モードデータの構成を , 図 7.3-1 に示します。 図 7.3-1 モードデータのビット構成 bit モードデータ 7 6 5 4 3 2 1 0 M1 M0 0 S1 S0 0 0 0 バス設定ビット 各種モード 設定ビット 機能拡張ビット ( 予約領域 ) ■ 各種モードの設定ビット (S1, S0) S1, S0ビットは, リセットシーケンス終了後のバスモードおよびアクセスモードを指定 するビットです。 表 7.3-1 に , S1, S0 ビットの設定内容を示します。 表 7.3-1 S1, S0 ビットの設定内容 S1 S0 0 0 外部データバス 8 ビットモード 0 1 外部データバス 16 ビットモード 1 0 外部データバス 8 ビットモード 1 184 機能 1 外部データバス 16 ビットモード アドレスデータバス マルチプレクス アドレスデータバス ノンマルチプレクス FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 7 章 モード設定 7.3 モードデータ MB90330A シリーズ ■ バスモードの設定ビット (M1, M0) M1, M0 ビットは , リセットシーケンス終了後の動作モードを指定するビットです。 表 7.3-2 に , M1, M0 ビットの設定内容を示します。 表 7.3-2 M1, M0 ビットの設定内容 M1 M0 機能 0 0 シングルチップモード 0 1 内 ROM 外バスモード 1 0 外 ROM 外バスモード 1 1 ( 設定禁止 ) ■ アクセス領域と物理アドレスの関係 アクセス領域と物理アドレスの対応を , 図 7.3-2 に示します。 図 7.3-2 アクセス領域と物理アドレスの関係 シングルチップ 内ROMバス (ROMミラー機能あり) (ROMミラー機能あり) 外ROM外バス FFFFFFH ROM領域 ROM領域 ROM領域 FFバンクの イメージ ROM領域 FFバンクの イメージ 拡張I/O領域 拡張I/O領域 拡張I/O領域 RAM RAM RAM アドレス#1 00FFFFH アドレス#2 007900H アドレス#3 レジスタ レジスタ レジスタ 000100H 0000FBH 周 辺 周 辺 周 辺 000000H 内部 外部 アクセス無 <注意事項> 「アドレス #X」は , 各品種に依存して決まるアドレスとなります。詳細は , 「付録 A メモ リマップ」を参照してください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 185 第 7 章 モード設定 7.3 モードデータ MB90330A シリーズ ■ モード端子とモードデータの関係 ( 推奨例 ) 表 7.3-3 に , モード端子とモードデータの関係を示します。 表 7.3-3 モード端子とモードデータの関係 MD2 MD1 MD0 M1 M0 S1 S0 シングルチップ 0 1 1 0 0 X X 内部 ROM 外部バスモード 8 ビット ( アドレスデータマルチプレクス ) 0 1 1 0 1 0 0 内部 ROM 外部バスモード 16 ビット ( アドレスデータマルチプレクス ) 0 1 1 0 1 0 1 内部 ROM 外部バスモード 8 ビット ( アドレスデータノンマルチプレクス ) 0 1 1 0 1 1 0 内部 ROM 外部バスモード 16 ビット ( アドレスデータノンマルチプレクス ) 0 1 1 0 1 1 1 外部 ROM 外部バスモード 16 ビットバス ベクタ 16 ビット幅 ( アドレスデータマルチプレクス ) 0 0 1 1 0 0 1 外部 ROM 外部バスモード 8 ビット ( アドレスデータマルチプレクス ) 0 0 0 1 0 0 0 外部 ROM 外部バスモード 8 ビット ( アドレスデータノンマルチプレクス ) 0 1 0 1 0 1 0 モード <注意事項> 上位アドレス A23 ∼ A16 の出力を抑制した場合には , アクセスできる最大は 64 K バイト になります。 186 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 7 章 モード設定 7.3 モードデータ MB90330A シリーズ ■ 各モードにおける外部端子の動作 表 7.3-4 に , ノンマルチプレクスモードおよびマルチプレクスモードにおける各外部端 子の動作関係を示します。 表 7.3-4 各モードにおける外部端子の動作関係 機能 ノンマルチプレクスモード マルチプレクスモード 外部アドレス制御 外部アドレス制御 許可 ( アドレス ) 禁止 ( アドレス ) 許可 ( アドレス ) 禁止 ( アドレス ) 外部バス拡張 外部バス拡張 外部バス拡張 外部バス拡張 8 ビット P07 ∼ P00/ D07 ∼ D00/ AD07∼AD00 P17 ∼ P10/ D15 ∼ D08/ AD15 ∼ AD08 16 ビット 8 ビット 16 ビット 8 ビット 16 ビット D07 ∼ D00 ポート D15 ∼ D08 8 ビット 16 ビット AD07 ∼ AD00 ポート D15 ∼ D08 P27 ∼ P20 A23 ∼ A16 ポート P37 ∼ P30 A07 ∼ A00 A07 ∼ A00 P47 ∼ P40 A15 ∼ A08 A15 ∼ A08 A15 ∼ A08 AD15 ∼ AD08 A15 ∼ A08 A23 ∼ A16 AD15 ∼ AD08 ポート ポート ALE ALE ALE RD RD RD WRL WRL P52/WRL P53/WRH ポート WRH ポート WRH ポート WRH ポート P54/HRQ HRQ HRQ P55/HAK HAK HAK P56/RDY RDY RDY P57/CLK CLK CLK WRH ・シングルチップモードは , すべてポートとして使用可能です。 ・アドレス上位と WRL, WRH , HAK , HRQ, RDY.CLK は , 機能選択によってポートとして使用可能で す。 ・マルチプレクス使用時は , アドレス上位 A23 ∼ A20 をポートまたは PPG3 ∼ PPG0 として使用可能 です。 ・ノンマルチプレクス使用時には , リロードタイマ ch.0/1/2, UARTch.0/1 の使用はできません。アドレ スとして機能します。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 187 第 7 章 モード設定 7.4 外部メモリアクセス 7.4 MB90330A シリーズ 外部メモリアクセス 外部メモリアクセスのブロックダイヤグラム , レジスタの構成 / 機能 , および外部メ モリアクセスの動作について説明します。 ■ 外部メモリアクセスの入出力信号端子 デバイス外部のメモリ / 周辺をアクセスするために , F2MC-16LX は以下のようなアド レス / データ / 制御信号を供給します。 • CLK(P57) : マシンサイクルクロック (KBP) を出力します。 • RDY(P56) : 外部レディ入力端子です。 • HAK(P55) : ホールドアクノリッジ出力端子です。 • HRQ(P54) : ホールドリクエスト入力端子です。 • WRH(P53) : データバス上位 8 ビットの書込み信号です。 • WRL(P52) : データバス下位 8 ビットの書込み信号です。 • RD(P51) : 読出し信号です。 • ALE(P50) : アドレスラッチ許可信号です ( マルチプレクスモード時に有効 )。 ■ ブロックダイヤグラム 図 7.4-1 に , 外部バス端子制御回路のブロックダイヤグラムを示します。 図 7.4-1 外部バス端子制御回路のブロックダイヤグラム P0 内部アドレス バス P1 P2 P3 P4 P5 P0データ P5 P0 P0方向 内部データ バス データ制御 アドレス制御 アクセス制御 188 アクセス制御 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 7 章 モード設定 7.4 外部メモリアクセス MB90330A シリーズ ■ レジスタ一覧 図 7.4-2 に , 外部バス端子制御回路のレジスタ一覧を示します。 図 7.4-2 外部バス端子制御回路のレジスタ一覧 bit 0000A5H bit 0000A6H bit 0000A7H 15 14 予約 (W) (0) 予約 (W) (0) 7 6 5 E23 (W) (*) E22 (W) (*) 15 CKE (W) (1) 14 RYE (W) (0) CM44-10129-6 13 12 11 10 9 (-) (-) (-) (-) LMR1 (W) (0) 4 3 2 1 0 E21 (W) (*) E20 (W) (*) E19 (W) (*) E18 (W) (*) E17 (W) (*) E16 (W) (*) 13 HDE (W) (0) 12 11 HMBS (W) (*) 10 WRE (W) (1) 9 LMBS (W) (0) 8 (-) (-) HMR1 HMR0 (W) (W) (1) (1) 予約 (W) (0) 8 自動レディ LMR0 機能選択レジスタ (ARSR) (W) リード / ライト (0) 初期値 FUJITSU MICROELECTRONICS LIMITED 外部アドレス 出力制御レジスタ (HACR) リード / ライト 初期値 バス制御 信号選択レジスタ (EPCR) リード / ライト 初期値 189 第 7 章 モード設定 7.4 外部メモリアクセス 7.4.1 MB90330A シリーズ 自動レディ機能選択レジスタ (ARSR) 自動レディ機能選択レジスタ (ARSR) の構成および機能について説明します。 ■ 自動レディ機能選択レジスタ (ARSR) 自動レディ機能選択レジスタ (ARSR) のビット構成を , 図 7.4-3 に示します。 図 7.4-3 自動レディ機能選択レジスタ (ARSR) のビット構成 bit 0000A5H 15 14 予約 (W) (0) 予約 (W) (0) 13 12 HMR1 HMR0 (W) (W) (1) (1) 11 10 9 (-) (-) (-) (-) LMR1 (W) (0) 8 自動レディ LMR0 機能選択レジスタ (ARSR) (W) リード / ライト (0) 初期値 以下に , 自動レディ機能選択レジスタ (ARSR) の各ビットの機能を示します。 [bit15, bit14] 予約 予約ビットです。必ず "00B" を書き込んでください。 [bit13, bit12] HMR1, HMR0 800000H ∼ FFFFFFH の領域に対する外部アクセスを行ったときの自動ウェイト機能 を選択します。設定内容は , 下表のとおりです。 HMR1 HMR0 0 0 自動ウェイト禁止 0 1 外部アクセス時 , 1 マシンサイクルの自動ウェイト 1 0 外部アクセス時 , 2 マシンサイクルの自動ウェイト 1 1 外部アクセス時 , 3 マシンサイクルの自動ウェイト [ 初期値 ] 設定 [bit11, bit10] 未定義ビット ライトは動作に影響を与えません。 [bit9, bit8] LMR1, LMR0 007100H ∼ 7FFFFFH( ただし拡張 I/O 領域 007900H ∼ 007FFFH は使用不可 ) の領域 に対する外部アクセスを行ったときの自動ウェイト機能を選択します。設定内容は , 下表のとおりです。 190 LMR1 LMR0 0 0 自動ウェイト禁止 [ 初期値 ] 0 1 外部アクセス時 , 1 マシンサイクルの自動ウェイト 1 0 外部アクセス時 , 2 マシンサイクルの自動ウェイト 1 1 外部アクセス時 , 3 マシンサイクルの自動ウェイト 設定 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 7 章 モード設定 7.4 外部メモリアクセス MB90330A シリーズ 外部アドレス出力制御レジスタ (HACR) 7.4.2 外部アドレス出力制御レジスタの構成および機能について説明します。 ■ 外部アドレス出力制御レジスタ (HACR) 外部アドレス出力制御レジスタのビット構成を , 図 7.4-4 に示します。 図 7.4-4 外部アドレス出力制御レジスタ (HACR) のビット構成 bit 0000A6H 7 E23 (W) (*) 6 E22 (W) (*) 5 E21 (W) (*) 4 E20 (W) (*) 3 E19 (W) (*) 2 E18 (W) (*) 1 E17 (W) (*) 0 E16 (W) (*) 外部アドレス 出力制御レジスタ (HACR) リード / ライト 初期値 外部アドレス出力制御レジスタは , アドレス (A23 ∼ A16) の外部への出力を制御する レジスタです。各ビットがそれぞれアドレス A23 ∼ A16 に対応し , 各アドレス出力端 子を制御します。 0 対応する端子は , アドレス出力 (AXX) になります。[ 初期値 ] 1 対応する端子は I/O ポート (PXX) になります。 HACR レジスタは , デバイスがシングルチップモード時にはアクセスできません。そ の場合 , HACR レジスタの値にかかわらず , 全ポートが I/O ポートとして機能します。 HACR レジスタの全ビットは書込み専用で , 読出し値は "1" となります。また , アドレ ス出力を選択してアドレスの出力を期待する場合は , DDR を "0" で使用してください。 初期値は , 内部ベクタモードで起動した場合のみ "1" となります。その他の場合は , "0" となります。 <注意事項> PPG 使用時は , "1"(I/O ポート設定 ) として使用してください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 191 第 7 章 モード設定 7.4 外部メモリアクセス MB90330A シリーズ バス制御信号選択レジスタ (EPCR) 7.4.3 バス制御信号選択レジスタの構成および機能について説明します。 ■ バス制御信号選択レジスタ (EPCR) バス制御信号選択レジスタは , 外部バスモード時のバス動作の制御機能を設定するレ ジスタです。 バス制御信号選択レジスタのビット構成を , 図 7.4-5 に示します。 図 7.4-5 バス制御信号選択レジスタ (EPCR) のビット構成 bit 0000A7H 15 CKE (W) (1) 14 RYE (W) (0) 13 HDE (W) (0) 12 予約 (W) (0) 11 HMBS (W) (*) 10 WRE (W) (1) 9 LMBS (W) (0) 8 (-) (-) バス制御 信号選択レジスタ (EPCR) リード / ライト 初期値 EPCR レジスタは , デバイスがシングルチップモード時には , アクセスできません。シ ングルチップモードの場合は , レジスタの値にかかわらず , 全端子が I/O ポートとして 機能します。EPCR レジスタの全ビットは書込み専用で , 読出し値は "1" となります。 以下に , バス制御信号選択レジスタの各ビットの機能を説明します。 [bit15] CKE 外部クロック (CLK) の出力を制御します。 0 I/O ポート (P57) 動作 ( クロック禁止 ) 1 クロック信号 (CLK) 出力許可 [ 初期値 ] [bit14] RYE 外部レディ (RDY) の入力を制御します。 0 I/O ポート (P56) 動作 ( 外部 RDY 入力禁止 ) [ 初期値 ] 1 外部レディ (RDY) 入力許可 [bit13] HDE ホールド関係端子の入出力許可を指定するビットです。設定によって , ホールド要求入 力 (HRQ) とホールドアクノリッジ出力 (HAK) を制御します。 192 0 I/O ポート (P55, P54) 動作 ( ホールド機能入出力禁止 ) [ 初期値 ] 1 ホールド要求 (HRQ) 入力 / ホールドアクノリッジ (HAK) 出力許可 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 7 章 モード設定 7.4 外部メモリアクセス [bit12] 予約 予約ビットです。必ず "0" を書き込んでください。 [bit11] HMBS 外部データバス 16 ビットモード時に , 800000H ∼ FFFFFFH の領域に対する外部バスを アクセスする場合のバス幅を指定します。 0 16 ビットバス幅アクセス [ 外部ベクタモード 1 の場合の初期値 ] 1 8 ビットバス幅アクセス [ 外部ベクタモード 0, 2 の場合の初期値 ] [bit10] WRE 外部書込み信号 ( 外部データバス 16 ビットモードの場合には , WRH/WRL 両端子 , 外 部データバス 8 ビットモードの場合は , WRL 端子 ) の出力を制御します。 0 I/O ポート (P53, P52) 動作 ( 書込み信号出力禁止 ) 1 書込みストローブ信号 (WRH/WRL または WRL のみ ) の出力許可 [ 初期値 ] [bit9] LMBS 外部データバス 16 ビットモード時に , 007100H ∼ 7FFFFFH( ただし拡張 I/O 領域 007900H ∼ 007FFFH は使用不可 ) の領域に対する外部バスをアクセスする場合のバス 幅を指定します。 0 16 ビットバス幅アクセス [ 初期値 ] 1 8 ビットバス幅アクセス <注意事項> 外部データバス 16 ビットモード時 , WRE ビットで WRH/WRL 機能を許可する場合は , P53/P52 を入力モードにしてください (DDR5 の bit3, bit2 は "0" にしてください )。 また , RYE, HDE ビットで RDY, HRQ 入力を許可した場合でも , そのポートの I/O ポート 機能は有効になります。そのため , DDR5 中のそのポートに対応したビットは必ず "0"( 入 力モード ) にしてください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 193 第 7 章 モード設定 7.5 モード設定の各モードにおける動作 7.5 MB90330A シリーズ モード設定の各モードにおける動作 モード設定の各モードにおける動作について , タイミングチャートを示して説明し ます。 ■ モードの種類 機能ごとに , 以下の項目の動作を説明します。 • 外部メモリアクセス制御信号 - 外部データバス 8 ビットモード ( ノンマルチプレクスモード ) - 外部データバス 8 ビットモード ( マルチプレクスモード ) - 外部データバス 16 ビットモード ( ノンマルチプレクスモード ) - 外部データバス 16 ビットモード ( マルチプレクスモード ) • レディ機能 - ノンマルチプレクスモード - マルチプレクスモード • ホールド機能 - ノンマルチプレクスモード - マルチプレクスモード 194 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 7 章 モード設定 7.5 モード設定の各モードにおける動作 MB90330A シリーズ 外部メモリアクセス制御信号 7.5.1 外部メモリへのアクセスは , レディ機能を使用しない場合に 3 サイクルで行います。 ■ 外部メモリアクセス制御信号 各モードにおける外部アクセスのタイミングチャートを , 図 7.5-1 ∼図 7.5-4 に示しま す。外部データバス 16 ビットモードでの 8 ビットバス幅アクセスは , 8 ビット幅の周 辺チップと 16 ビット幅の周辺チップを混在して外部バスに接続した場合に , 8 ビット 幅の周辺チップを読出し / 書込みをするための機能です。8 ビットバス幅アクセスは , データバスの下位 8 ビットを使用して実行されるので , 8 ビット幅の周辺チップはデー タの下位 8 ビットに接続してください。外部データバス 16 ビットモードで 16 ビット バス幅アクセスを行うか , 8 ビットバス幅アクセスを行うかは , EPCR の HMBS/LMBS ビットを指定することによります。なお , マルチプレクスモード時において , アドレス 出力と ALE のアサート出力のみを行い , RD/WRL/WRH をアサートしないことにより 実際には , バス動作を行わない場合があります。 <注意事項> ALE 信号のみで周辺チップへのアクセスを実行することがないようにしてください。 ● 外部データバス 8 ビットモード ( ノンマルチプレクスモード ) 図 7.5-1 外部メモリアクセスのタイミングチャート ( 外部データバス 8 ビット / ノンマルチプレクスモード ) リード ライト リード P57/CLK P53/WRH (ポートデータ) P52/WRL P51/RD P50/ALE A23~A16 リードアドレス ライトアドレス リードアドレス A15~A08 リードアドレス ライトアドレス リードアドレス A07~A00 リードアドレス ライトアドレス リードアドレス D15~D08/AD15~AD08 (ポートデータ) D07~D00/AD07~AD00 リードデータ CM44-10129-6 ライトデータ FUJITSU MICROELECTRONICS LIMITED 195 第 7 章 モード設定 7.5 モード設定の各モードにおける動作 MB90330A シリーズ ● 外部データバス 8 ビットモード ( 外部データバス 8 ビット / マルチプレクスモード ) 図 7.5-2 外部メモリアクセスのタイミングチャート ( マルチプレクスモード ) リード リード ライト P57/CLK P53/WRH (ポートデータ) P52/WRL P51/RD P50/ALE A23~A16 リードアドレス A15~A08 (ポートデータ) A07~A00 (ポートデータ) D15~D08/AD15~AD08 D07~D00/AD07~AD00 リードデータ ライトアドレス リードアドレス ライトアドレス リードアドレス ライトアドレス リードアドレス リードアドレス ライトデータ リードデータ ● 外部データバス 16 ビットモード ( 外部データバス 16 ビット / ノンマルチプレクスモード ) 図 7.5-3 外部メモリアクセスのタイミングチャート ( 外部データバス 16 ビット / ノンマルチプレクスモード ) 偶数アドレスワードリード 偶数アドレスワードリード A23~A16 リードアドレス ライトアドレス リードアドレス A15~A08 リードアドレス ライトアドレス リードアドレス A07~A00 リードアドレス ライトアドレス リードアドレス P57/CLK P53/WRH P52/WRL P51/RD P50/ALE D15~D08/AD15~AD08 D07~D00/AD07~AD00 リードデータ 196 ライトデータ FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 7 章 モード設定 7.5 モード設定の各モードにおける動作 MB90330A シリーズ ■ 外部 16 ビットバスモード ( 外部データバス 16 ビット / マルチプレクスモード ) 図 7.5-4 外部メモリアクセスのタイミングチャート ( 外部データバス 16 ビット / マルチプレクスモード ) リード リード ライト リードアドレス ライトアドレス P57/CLK P53/WRH P52/WRL P51/RD P50/ALE A23~A16 A15~A08 (ポートデータ) A07~A00 (ポートデータ) D15~D08/AD15~AD08 リードアドレス D07~D00/AD07~AD00 リードアドレス ライトアドレス CM44-10129-6 リードアドレス ライトアドレス リードデータ リードアドレス リードアドレス ライトデータ FUJITSU MICROELECTRONICS LIMITED 197 第 7 章 モード設定 7.5 モード設定の各モードにおける動作 MB90330A シリーズ レディ機能 7.5.2 P56/RDY 端子 , または自動レディ機能選択レジスタ (ARSR) の設定により , 低速の メモリや周辺回路へのアクセスが可能となります。バス制御信号選択レジスタ (EPCR) 中の RYE ビットが "1" に設定されている場合 , 外部領域へのアクセス時に P56/RDY 端子に "L" レベルが入力されている期間ウェイトサイクルとなり , アクセ スサイクルを延ばすことができます。 ■ レディ機能 F2MC-16LX は , 外部メモリ用のオートレディ機能を 2 種類内蔵しています。オートレ ディ機能は , アドレス 007100H ∼ 7FFFFFH( ただし拡張 I/O 領域 007900H ∼ 007FFFH は 使用不可 ) 間に配置した下位アドレス外部領域へのアクセスが発生したときと , アドレ ス 800000H ∼ FFFFFFH 間に配置した上位アドレス外部領域へのアクセスが発生したと きに , 外部回路なしで自動的に 1 ∼ 3 サイクルのウェイトサイクルを挿入し , アクセス サイクルを延ばすことができる機能です。ARSR 中の LMR1/LMR0 ビット ( 下位アド レス外部領域 ) および ARSR 中の HMR1/HMR0 ビット ( 上位アドレス外部領域 ) の設 定により起動します。 外部メモリ用 , 外部 I/O 用のオートレディどちらでも EPCR 中の RYE ビットが "1" に 設定されている場合 , 上記オートレディによるウェイトサイクル終了後に P56/RDY 端 子に "L" レベルが入力されていると , そのままウェイトサイクルを継続します。 以下に , ノンマルチプレクスモードおよびマルチプレクスモードにおけるレディ機能 のタイミングチャートを示します。どちらのモードも上の図がレディ機能を設定しな い場合 , 下の図がレディ機能を設定した場合です。 <注意事項> RDY 端子から入力する場合 , AC 規格を満たさないとき , デバイスは暴走する恐れがあり ますので , 注意してください。 198 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 7 章 モード設定 7.5 モード設定の各モードにおける動作 MB90330A シリーズ ● ノンマルチプレクスモード 図 7.5-5 レディ機能のタイミングチャート ( ノンマルチプレクスモード ) 偶数アドレスワードライト 偶数アドレスワードリード P57/CLK P53/WRH P52/WRL P51/RD P50/ALE A23~A16 リードアドレス ライトアドレス A15~A08 リードアドレス ライトアドレス A07~A00 リードアドレス ライトアドレス D15~D08/AD15~AD08 D07~D00/AD07~AD00 P56/RDY リードデータ RDY端子取込み 偶数アドレスワードリード ライトデータ 偶数アドレスワードライト P57/CLK P53/WRH P52/WRL P51/RD P50/ALE A23~A16 リードアドレス ライトアドレス A15~A08 リードアドレス ライトアドレス A07~A00 リードアドレス ライトアドレス D15~D08/AD15~AD08 D07~D00/AD07~AD00 ライトデータ CM44-10129-6 オートレディにより延びたサイクル FUJITSU MICROELECTRONICS LIMITED 199 第 7 章 モード設定 7.5 モード設定の各モードにおける動作 MB90330A シリーズ ● マルチプレクスモード 図 7.5-6 レディ機能のタイミングチャート ( ノンマルチプレクスモード ) 偶数アドレスワードリード 偶数アドレスワードライト P57/CLK P53/WRH P52/WRL P51/RD P50/ALE A23~A16 リードアドレス A15~A08 (ポートデータ) A07~A00 (ポートデータ) ライトアドレス D15~D08/AD15~AD08 リードアドレス ライトアドレス D07~D00/AD07~AD00 リードアドレス ライトアドレス P56/RDY RDY端子取込み リードデータ 偶数アドレスワードリード ライトデータ 偶数アドレスワードライト P57/CLK P53/WRH P52/WRL P51/RD P50/ALE A23~A16 ライトアドレス リードアドレス A15~A08 (ポートデータ) A07~A00 (ポートデータ) D15~D08/AD15~AD08 ライトアドレス リードアドレス D07~D00/AD07~AD00 ライトアドレス リードアドレス ライトデータ 200 オートレディにより延びたサイクル FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 7.5.3 第 7 章 モード設定 7.5 モード設定の各モードにおける動作 ホールド機能 ホールド機能の動作を , タイミングチャートを示して説明します。 ■ ホールド機能の動作 EPCR 中の HDE ビットが "1" に設定されている場合 , P54/HRQ, P55/HAK 両端子による 外部バスのホールド機能が有効となります。P54/HRQ 端子に "H" レベルを入力すると , CPU の命令終了時 ( ストリング命令の場合は 1 エレメントデータの処理の終了後 ) に ホールド状態となり , P55/HAK より "L" レベルを出力して以下の端子をハイインピー ダンス状態にします。 ● ノンマルチプレクスモード • アドレス出力 : A23 ∼ A00 • データ入出力 : D15/AD15 ∼ D00/AD00 • バス制御信号 : P51/RD, P52/WRL, P53/WRH ● マルチプレクスモード アドレス出力 : A23 ∼ A16 データ入出力 : D15/AD15 ∼ D00/AD00 バス制御信号 : P51/RD, P52/WRL, P53/WRH これにより , デバイス外部回路により外部バスを使用することが可能となります。P54/ HRQ 端子に "L" レベルを入力すると , P55/HAK 端子は "H" レベル出力となり , 外部端 子状態が復活して CPU は動作を再開します。STOP 状態においては , ホールド要求は 受付けません。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 201 第 7 章 モード設定 7.5 モード設定の各モードにおける動作 MB90330A シリーズ ■ ノンマルチプレクスモード 図 7.5-7 に , 外部データバス 16 ビットモードにおけるノンマルチプレクスモードのホー ルド機能のタイミングチャートを示します。 図 7.5-7 ホールド機能のタイミングチャート ( ノンマルチプレクスモード ) リードサイクル ホールドサイクル ライトサイクル P57/CLK P54/HRQ P55/HAK P53/WRH P52/WRL P51/RD P50/ALE A23~A16 (アドレス) (アドレス) A15~A08 (アドレス) (アドレス) A07~A00 (アドレス) (アドレス) D15~D08/AD15~AD08 D07~D00/AD07~AD00 リードアドレス ライトデータ ■ マルチプレクスモード 図 7.5-8 に , 外部データバス 16 ビットモードにおけるマルチプレクスモードのホール ド機能のタイミングチャートを示します。 図 7.5-8 ホールド機能のタイミングチャート ( マルチプレクスモード ) ホールドサイクル リードサイクル ライトサイクル P57/CLK P54/HRQ P55/HAK P53/WRH P52/WRL P51/RD P50/ALE A23~A16 (アドレス) A15~A08 (ポートデータ) A07~A00 (ポートデータ) (アドレス) D15~D08/AD15~AD08 (アドレス) D07~D00/AD07~AD00 (アドレス) リードデータ 202 FUJITSU MICROELECTRONICS LIMITED ライトデータ CM44-10129-6 MB90330A シリーズ 第 7 章 モード設定 7.5 モード設定の各モードにおける動作 <注意事項> P54/HRQ 端子に "H" レベルを入力した場合 , P55/HAK 端子が "L" レベルになるまで P54/ HRQ 端子を "H" レベルに保持してください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 203 第 7 章 モード設定 7.5 モード設定の各モードにおける動作 204 MB90330A シリーズ FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第8章 I/O ポート この章では , I/O ポートで使用するレジスタの構成 および機能について説明します。 8.1 I/O ポートの機能 8.2 I/O ポートのレジスタ CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 205 第 8 章 I/O ポート 8.1 I/O ポートの機能 8.1 MB90330A シリーズ I/O ポートの機能 I/O ポートの機能概要を示します。 ■ I/O ポートの機能 I/O ポートは , ポートデータレジスタ (PDR) によって , CPU からデータを I/O 端子に出 力したり , I/O 端子に入力された信号を CPU に取込んだりする機能をもっています。ま た , ポートはポート方向レジスタ (DDR) によって , I/O 端子の入出力の方向をビット単 位で任意に設定できます。 MB90330A シリーズには , 72 本の入出力と , 22 本のオープンドレインの出力端子があ ります。 P07 ∼ P00, P17 ∼ P10, P27 ∼ P20, P37 ∼ P30, P47 ∼ P40, P57 ∼ P50, P77 ∼ P70, P87 ∼ P80, P95 ∼ P90, PB6, PB5 が入出力ポートで , P67 ∼ P60, P96, PA7 ∼ PA0, PB4 ∼ PB0 がオープンドレイン端子となっています。 206 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 8.2 第 8 章 I/O ポート 8.2 I/O ポートのレジスタ I/O ポートのレジスタ I/O ポートで使用するレジスタの構成 , および機能について説明します。 ■ I/O ポートのレジスタ I/O ポートには以下のレジスタがあります。 • ポートデータレジスタ (PDR0 ∼ PDRB) • ポート方向レジスタ (DDR0 ∼ DDRB) • 入力抵抗レジスタ (RDR0, RDR1) • 出力端子レジスタ (ODR4) • アナログ入力許可レジスタ (ADER0, ADER1) CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 207 第 8 章 I/O ポート 8.2 I/O ポートのレジスタ 8.2.1 MB90330A シリーズ ポートデータレジスタ (PDR0 ∼ PDRB) ポートデータレジスタ (PDR0 ∼ PDRB) の構成および機能について説明します。 ■ ポートデータレジスタ (PDR0 ∼ PDRB) 図 8.2-1 に , ポートデータレジスタ (PDR0 ∼ PDRB) の一覧を示します。 図 8.2-1 ポートデータレジスタ (PDR0 ∼ PDRB) の一覧 PDR0 bit アドレス : 000000H 7 P07 PDR1 15 bit アドレス : 000001H P17 PDR2 7 bit アドレス : 000002H PDR3 bit アドレス : 000003H PDR4 bit P27 6 P06 5 P05 4 P04 3 P03 2 P02 1 P01 0 P00 14 13 12 11 10 9 8 P16 P15 P14 P13 P12 P11 P10 6 5 4 3 2 1 0 P26 P25 P24 P23 P22 P21 P20 15 14 13 12 11 10 9 8 P37 P36 P35 P34 P33 P32 P31 P30 XXXXXXXXB R/W * XXXXXXXXB R/W * XXXXXXXXB R/W * 6 5 4 3 2 1 0 アドレス : 000004H P47 P46 P45 P44 P43 P42 P41 P40 XXXXXXXXB R/W * PDR5 15 P57 14 P56 13 P55 12 P54 11 P53 10 P52 9 P51 8 P50 XXXXXXXXB R/W * XXXXXXXXB R/W * XXXXXXXXB R/W * XXXXXXXXB R/W * -XXXXXXXB R/W * XXXXXXXXB R/W * -XXXXXXXB R/W * bit アドレス : 000005H PDR6 bit 7 初期値 アクセス XXXXXXXXB R/W * 7 アドレス : 000006H P67 PDR7 15 bit アドレス : 000007H P77 PDR8 7 bit 6 5 4 3 2 1 0 P66 P65 P64 P63 P62 P61 P60 14 13 12 11 10 9 8 P76 P75 P74 P73 P72 P71 P70 6 5 4 3 2 1 0 P86 P85 P84 P83 P82 P81 P80 アドレス : 000008H P87 PDR9 bit 15 14 13 12 11 10 9 8 アドレス : 000009H - P96 P95 P94 P93 P92 P91 P90 6 5 4 3 2 1 0 アドレス : 00000AH PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 PDRB 7 6 5 4 3 2 1 0 PB6 PB5 PB4 PB3 PB2 PB1 PB0 PDRA bit bit アドレス : 00000CH 208 7 - FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 8 章 I/O ポート 8.2 I/O ポートのレジスタ *: 入出力ポートへの R/W アクセスは , メモリへの R/W アクセスとは多少動作が異なり ます。 以下のような動作をしますので , 注意してください。 • 入力モード - 読出し時 : 対応する端子のレベルが読み出されます。 - 書込み時 : 出力用のラッチに書き込まれます。 • 出力モード - 読出し時 : データレジスタラッチの値が読み出されます。 - 書込み時 : 対応する端子に出力されます。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 209 第 8 章 I/O ポート 8.2 I/O ポートのレジスタ 8.2.2 MB90330A シリーズ ポート方向レジスタ (DDR0 ∼ DDRB) ポート方向レジスタの構成および機能について説明します。 ■ ポート方向レジスタ (DDR0 ∼ DDRB) 図 8.2-2 に , ポート方向レジスタ (DDR0 ∼ DDRB) の一覧を示します。 図 8.2-2 ポート方向レジスタ (DDR0 ∼ DDRB) の一覧 DDR0 bit アドレス : 000010H DDR1 bit アドレス : 000011H DDR2 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 6 5 4 3 2 1 0 アドレス : 000012H D27 D26 D25 D24 D23 D22 D21 D20 DDR3 15 14 13 12 11 10 9 8 D37 D36 D35 D34 D33 D32 D31 D30 bit アドレス : 000013H DDR4 bit アドレス : 000014H DDR5 bit 7 7 D47 15 アドレス : 000015H D57 DDR6 7 bit アドレス : 000016H DDR7 bit アドレス : 000017H DDR8 15 D77 4 3 2 1 0 D44 D43 D42 D41 D40 14 13 12 11 10 9 8 D56 D55 D54 D53 D52 D51 D50 6 5 4 3 2 1 0 D66 D65 D64 D63 D62 D61 D60 14 13 12 11 10 9 8 D76 D75 D74 D73 D72 D71 D70 6 5 4 3 2 1 0 アドレス : 000018H D86 D85 D84 D83 D82 D81 D80 DDR9 bit 15 14 13 12 11 10 9 8 アドレス : 000019H - D96 D95 D94 D93 D92 D91 D90 bit 7 5 D45 D87 DDRA bit D67 6 D46 7 6 5 4 3 2 1 0 DA6 DA5 DA4 DA3 DA2 DA1 DA0 アドレス : 00001AH DA7 DDRB bit 15 14 13 12 11 10 9 8 アドレス : 00000DH - DB6 DB5 DB4 DB3 DB2 DB1 DB0 210 FUJITSU MICROELECTRONICS LIMITED 初期値 00000000 アクセス R/W 00000000 R/W 00000000 R/W 00000000 R/W 00000000 R/W 00000000 R/W 00000000 R/W 00000000 R/W 00000000 R/W -0000000 R/W 00000000 R/W -0000000 R/W CM44-10129-6 MB90330A シリーズ 第 8 章 I/O ポート 8.2 I/O ポートのレジスタ ● 各端子がポートとして機能している場合 各端子がポートとして機能している場合, 対応する各端子を以下のように制御します。 • 0: 入力モード • 1: 出力モード リセットで "0" になります。 <注意事項> リードモディファイライト (RMW) 系の命令 ( ビットセットなどの命令 ) を使用して DDR0 ∼ DDRB レジスタをアクセスすると , 命令で注目しているビットは所定の値になりますが , そ れ以外のビットで入力設定してあるものに対応する出力レジスタの内容は , そのときの端 子の入力値に書き換わります。このため , 入力として使用していた端子を出力に切り換え るときには , はじめに希望値を PDR に書き込んでから DDR をセットし , そのあとで出力 に切り換えるようにしてください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 211 第 8 章 I/O ポート 8.2 I/O ポートのレジスタ 8.2.3 MB90330A シリーズ その他のレジスタ ポートデータレジスタ (PDR0 ∼ PDRB), ポート方向レジスタ (DDR0 ∼ DDRB) 以外 のレジスタの構成および機能について説明します。 ■ ポート 0, 1 プルアップ抵抗レジスタ (RDR0, RDR1) プルアップ抵抗レジスタ (RDR0, RDR1) のビット構成を図 8.2-3 に示します。 図 8.2-3 プルアップ抵抗レジスタ (RDR0, RDR1) のビット構成 PDR0 bit 7 RD07 アドレス : 00001CH PDR1 bit 15 アドレス : 00001DH RD17 6 RD06 5 RD05 4 RD04 3 RD03 2 RD02 1 RD01 0 RD00 14 13 12 11 10 9 8 RD16 RD15 RD14 RD13 RD12 RD11 RD10 初期値 00000000 アクセス R/W 00000000 R/W プルアップ抵抗レジスタ (RDR0, RDR1) は , 入力モード時にプルアップ抵抗をなしとす るか , ありとするかを設定します。 • 0: 入力モード時プルアップ抵抗なし • 1: 入力モード時プルアップ抵抗あり RDR0, RDR1 レジスタは , 出力モード時には機能をもちません ( プルアップ抵抗なし )。 入出力モードは , 方向レジスタ (DDR) の設定で決まります。 ストップ時 (SPL=1) のときはプルアップ抵抗なしになります ( ハイインピーダンス )。 外部バスで使用する場合は , この機能は使用禁止です。RDR0, RDR1 レジスタへは書き 込まないようにしてください。 ■ ポート 4 出力端子レジスタ (ODR4) 出力端子レジスタ (ODR4) のビット構成を図 8.2-4 に示します。 図 8.2-4 出力端子レジスタ (ODR4) のビット構成 PDR0 bit 15 アドレス : 00001BH OD47 14 OD46 13 OD45 12 OD44 11 OD43 10 OD42 9 OD41 8 OD40 初期値 00000000 アクセス R/W 出力端子レジスタ (ODR4) は , 出力モード時のオープンドレイン制御を行います。 • 0: 出力モード時に標準出力ポートになります。 • 1: 出力モード時にオープンドレイン出力ポートになります。 出力端子レジスタ (ODR4) は , 入力モード時は機能をもちません ( 出力ハイインピーダ ンス )。 入出力モードは , 方向レジスタ (DDR) の設定で決まります。 外部バスで使用する場合は , この機能は使用禁止です。出力端子レジスタ (ODR4) へは 書き込まないようにしてください。 212 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 8 章 I/O ポート 8.2 I/O ポートのレジスタ MB90330A シリーズ ■ アナログ入力許可レジスタ (ADER0, ADER1) アナログ入力許可レジスタ (ADER0, ADER1) のビット構成を図 8.2-5 に示します。 図 8.2-5 アナログ入力許可レジスタ (ADER0, ADER1) のビット構成 PDR0 bit 7 6 5 4 3 2 1 0 アドレス : 00001EH ADE07 ADE06 ADE05 ADE04 ADE03 ADE02 ADE01 ADE00 PDR1 bit 15 14 13 12 11 10 9 初期値 11111111 アクセス R/W 11111111 R/W 8 アドレス : 00001FH ADE15 ADE14 ADE13 ADE12 ADE11 ADE10 ADE09 ADE08 アナログ入力許可レジスタ (ADER0, ADER1) は , ポート 7, 8 の各端子を以下のように 制御します。 • 0: ポート入出力モードになります。 • 1: アナログ入力モードになります。リセットで "1" になります。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 213 第 8 章 I/O ポート 8.2 I/O ポートのレジスタ 214 MB90330A シリーズ FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第9章 タイムベースタイマ この章では , タイムベースタイマの機能と動作につ いて説明します。 9.1 タイムベースタイマの概要 9.2 タイムベースタイマの構成 9.3 タイムベースタイマ制御レジスタ (TBTC) 9.4 タイムベースタイマの割込み 9.5 タイムベースタイマの動作 9.6 タイムベースタイマ使用上の注意 9.7 タイムベースタイマのプログラム例 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 215 第 9 章 タイムベースタイマ 9.1 タイムベースタイマの概要 9.1 MB90330A シリーズ タイムベースタイマの概要 タイムベースタイマは , 内部カウントクロック ( 原発振の 2 分周 ) に同期してカウン トアップする 18 ビットのフリーランカウンタ ( タイムベースカウンタ ) で , 4 種類 のインターバル時間を選択できるインターバルタイマ機能があります。また , 発振 安定待ち時間のタイマ出力やウォッチドッグタイマなどの動作クロックを供給する 機能もあります。 ■ インターバルタイマ機能 インターバルタイマ機能は, 一定時間間隔で繰り返し割込み要求を発生する機能です。 • タイムベースカウンタのインターバルタイマ用ビットがオーバフローすると割込 み要求を発生します。 • インターバルタイマ用のビット ( インターバル時間 ) は , 4 種類の中から選択できま す。 表 9.1-1 に , タイムベースタイマのインターバル時間を示します。 表 9.1-1 タイムベースタイマのインターバル時間 内部カウントクロック周期 インターバル時間 2 12/HCLK( 約 0.68 ms) 2/HCLK(0.33 μs) 2 14/HCLK( 約 2.7 ms) 2 16/HCLK( 約 10.9 ms) 2 19/HCLK( 約 87.4 ms) HCLK: 発振クロック () 内は発振クロック 6 MHz 動作時の値です。 216 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 9 章 タイムベースタイマ 9.1 タイムベースタイマの概要 MB90330A シリーズ ■ クロック供給機能 クロック供給機能は , 発振安定待ち時間用のタイマや , 一部の周辺機能に対する動作ク ロックを供給する機能です。表 9.1-2 に , タイムベースタイマから各周辺に供給される クロックの周期を示します。 表 9.1-2 タイムベースタイマから供給されるクロック周期 クロック供給先 クロック周期 2 13/HCLK( 約 1.4 ms) 発振安定待ち時間 備考 セラミック振動子用発振安定待ち時間 2 15/HCLK( 約 5.5 ms) 水晶振動子用発振安定待ち時間 2 17/HCLK( 約 21.8 ms) 2 12/HCLK( 約 0.68 ms) 2 14/HCLK( 約 2.7 ms) ウォッチドッグタイマ 2 16/HCLK( 約 10.9 ms) ウォッチドッグタイマの カウントアップクロック 2 19/HCLK( 約 87.4 ms) HCLK: 発振クロック () 内は発振クロック 6 MHz 動作時の値です。 <参考> 発振開始直後は発振周期が不安定なため , 発振安定待ち時間は目安となります。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 217 第 9 章 タイムベースタイマ 9.2 タイムベースタイマの構成 MB90330A シリーズ タイムベースタイマの構成 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*1 OF OF クロック制御部 発振安定待ち 時間セレクタへ カウンタ クリア回路 CKSCR:SCS=0→1*2 インターバル タイマセレクタ TBOF セット TBOFクリア タイムベースタイマ制御レジスタ(TBTC) 予約 TBIE TBOF TBR TBC1 TBC0 タイムベースタイマ割込み信号 - :未定義 OF :オーバフロー HCLK :発振クロック *1 :マシンクロックをメインクロックまたはサブクロックからPLLクロックへ切換え *2 :マシンクロックをサブクロックからメインクロックへ切換え ● タイムベースタイマカウンタ 発振クロック (HCLK) の 2 分周クロックをカウントクロックとする , 18 ビットのアッ プカウンタです。 218 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 9 章 タイムベースタイマ 9.2 タイムベースタイマの構成 ● カウンタクリア回路 タイムベースタイマ制御レジスタ (TBTC) のタイムベースタイマ初期化ビット (TBR) へ の "0" 書込み , パワーオンリセット , ストップモードへの移行 , メインクロックモード またはサブクロックから PLL クロックモードへの切換え , サブクロックからメインク ロックモードへの切換えでカウンタをクリアする回路です。 ● インターバルタイマセレクタ タイムベースタイマカウンタの 4 種類の出力から 1 つを選択します。選択したビット のオーバフローが割込み要因となります。 ● タイムベースタイマ制御レジスタ (TBTC) インターバル時間の選択 , カウンタのクリア , 割込み要求の制御および状態の確認をし ます。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 219 第 9 章 タイムベースタイマ 9.3 タイムベースタイマ制御レジスタ (TBTC) 9.3 MB90330A シリーズ タイムベースタイマ制御レジスタ (TBTC) タイムベースタイマ制御レジスタ (TBTC) は , インターバル時間の選択 , タイムベー スタイマカウンタのクリア , 割込み制御および状態の確認をするレジスタです。 ■ タイムベースタイマ制御レジスタ (TBTC) 図 9.3-1 タイムベースタイマ制御レジスタ (TBTC) のビット構成 アドレス 0000A9H bit15 bit14 bit13 bit12 bit11 bit10 予約 ‐ ‐ R/W ‐ ‐ bit9 bit0 bit8 bit7 TBIE TBOF TBR TBC1 TBC0 R/W R/W W R/W R/W TBC1 TBC0 (WDTC) 初期値 1--00100B インターバル時間選択ビット 0 0 212/HCLK(約0.68ms) 0 1 214/HCLK(約2.7ms) 1 0 1 216/HCLK(約10.9ms) 219/HCLK(約87.4ms) ( )内は発振クロック6MHzの値です。 1 TBR タイムベースタイマ初期化ビット リード時 ライト時 タイムベースタイマカウンタ, BOFビットをクリア 0 常に"1"が読み出され ます 1 TBOF 変化なし,ほかへの影響 なし 割込み要求フラグビット リード時 ライト時 0 指定ビットの オーバフローなし このビットのクリア 1 指定ビットの オーバフローあり 変化なし,ほかへの影響なし TBIE 割込み要求許可ビット 0 割込み要求出力の禁止 1 割込み要求出力の許可 予約 予約ビット 必ず"1"を設定してください R/W W HCLK 220 :リード・ライト可能 :ライトオンリ :未定義 :発振クロック :初期値 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 9 章 タイムベースタイマ 9.3 タイムベースタイマ制御レジスタ (TBTC) 表 9.3-1 タイムベースタイマ制御レジスタ (TBTC) の各ビットの機能 ビット名 機能 bit15 予約 : 予約ビット ( 注意事項 ) 必ず "1" を書き込んでください。 bit14, bit13 未定義 ビット ・読出し時の値は不定です。 ・書込みは動作に影響を与えません。 bit12 TBIE: 割込み要求 許可ビット ・CPU への割込み要求出力の許可 / 禁止をするビットです。 ・TBIE ビットと割込み要求フラグビット (TBOF) が "1" の場合 , 割 込み要求を出力します。 TBOF: 割込み要求 フラグビット bit11 ・タイムベースタイマカウンタ指定ビットがオーバフローすると "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-10129-6 FUJITSU MICROELECTRONICS LIMITED 221 第 9 章 タイムベースタイマ 9.4 タイムベースタイマの割込み MB90330A シリーズ タイムベースタイマの割込み 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 つの用途に使用できますが , 割込みレベルは同一になります。 222 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 9 章 タイムベースタイマ 9.5 タイムベースタイマの動作 MB90330A シリーズ 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-10129-6 FUJITSU MICROELECTRONICS LIMITED 223 第 9 章 タイムベースタイマ 9.5 タイムベースタイマの動作 MB90330A シリーズ 表 9.5-1 タイムベースタイマカウンタのクリア動作と発振安定待ち時間 動作 カウンタ クリア TBOF 発振安定待ち時間 タイムベースタイマ制御レジスタ (TBTC)のタイムベースタイマ初期 化ビット (TBR) へ "0" 書込み ○ ○ なし パワーオンリセット ○ ○ ウォッチドッグリセット × ○ メインストップモードの解除 ○ ○ PLL ストップモードの解除 ○ ○ サブストップモードの解除 × × サブクロック発振安定待ち時間 メインクロックモードから PLL クロックモードへの移行 (MCS=1 → 0) ○ ○ PLL クロック発振安定待ち時間 サブクロックモードから メインクロックモードへの移行 (MCS=1 → 1) ○ ○ メインクロック発振安定待ち時間 タイムベースタイマモードの解除 × × なし スリープモードの解除 × × なし メインクロック発振安定待ち時間 ○ : あり × : なし ■ クロック供給機能 タイムベースタイマは , ウォッチドッグタイマにクロックを供給しています。タイム ベースカウンタのクリアで , ウォッチドッグタイマは , 動作に影響を受けます。 224 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 9.6 第 9 章 タイムベースタイマ 9.6 タイムベースタイマ使用上の注意 タイムベースタイマ使用上の注意 割込み要求のクリアおよびタイムベースタイマのクリアによる周辺機能への影響な どの注意点を示します。 ■ タイムベースタイマ使用上の注意 ● 割込み要求のクリア タイムベースタイマ制御レジスタ (TBTC) の割込み要求フラグビット (TBOF) をクリア する場合には , 割込み要求許可ビット (TBIE) またはプロセッサステータス (PS) の割込 みレベルマスクレジスタ (ILM) でタイムベースタイマ割込みがマスクされている状態 で行うようにしてください。 ● タイムベースタイマのクリアによる影響 タイムベースタイマのカウンタのクリアで , 次の動作は影響を受けます。 • タイムベースタイマでインターバルタイマ機能 ( インターバル割込み ) を使用して いる場合 • ウォッチドッグタイマを使用している場合 ● 発振安定待ち時間用タイマとしての使用 電源投入時 , メインストップモード中などでは , 発振クロックが停止しているため , 発 振器が動作を開始した後 , タイムベースタイマが供給する動作クロックを使用して発 振クロックの発振安定待ち時間をとります。高速発振端子に接続する振動子の種類に よって , 適切な発振安定待ち時間を選択する必要があります。詳細については , 「5.5 発振安定待ち時間」を参照してください。 ● タイムベースタイマからクロックを供給される周辺機能に対する注意 メインクロックが停止するモードでは , カウンタはクリアされ , タイムベースタイマは 動作を停止します。また , タイムベースタイマから供給されるクロックは , タイムベー スタイマのカウンタがクリアされると , 初期状態からの供給となるため , "H" レベルが 短くまたは "L" レベルが最大で 1/2 周期長くなることがあります。ウォッチドッグタイ マ用のクロックも初期状態からの供給となりますが , ウォッチドッグタイマのカウン タが同時にクリアされるためウォッチドッグタイマは正常な周期で動作します。 ■ タイムベースタイマの動作 次の状態の動作を図 9.6-1 に示します。 • パワーオンリセットが発生した場合 • インターバルタイマ機能の動作中にスリープモードへ移行した場合 • ストップモードへ移行した場合 • カウンタクリアの要求があった場合 ストップモードへの移行でタイムベースタイマはクリアされ , 動作を停止します。ス トップモードからの復帰時にタイムベースタイマで発振安定待ち時間をカウントしま す。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 225 第 9 章 タイムベースタイマ 9.6 タイムベースタイマ使用上の注意 MB90330A シリーズ 図 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 : 発振クロック 226 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 9 章 タイムベースタイマ 9.7 タイムベースタイマのプログラム例 MB90330A シリーズ 9.7 タイムベースタイマのプログラム例 タイムベースタイマのプログラム例を示します。 ■ タイムベースタイマのプログラム例 ● 処理仕様 2 12/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 クリア ; カウンタクリア ; インターバル時間 2 12/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-10129-6 FUJITSU MICROELECTRONICS LIMITED 227 第 9 章 タイムベースタイマ 9.7 タイムベースタイマのプログラム例 VECT VECT CSEG ABS=0FFH ORG 0FF6CH DSL WARI ORG 0FFDCH DSL START DB 00H ; 割込みベクタを設定 ; リセットベクタ設定 ; シングルチップモードに設定 ENDS END 228 MB90330A シリーズ START FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 10 章 ウォッチドッグタイマ この章では , ウォッチドッグタイマの機能と動作に ついて説明します。 10.1 ウォッチドッグタイマの概要 10.2 ウォッチドッグタイマ制御レジスタ (WDTC) 10.3 ウォッチドッグタイマの構成 10.4 ウォッチドッグタイマの動作 10.5 ウォッチドッグタイマ使用上の注意 10.6 ウォッチドッグタイマのプログラム例 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 229 第 10 章 ウォッチドッグタイマ 10.1 ウォッチドッグタイマの概要 10.1 MB90330A シリーズ ウォッチドッグタイマの概要 ウォッチドッグタイマは , タイムベースタイマまたは時計タイマの出力をカウント クロックとする 2 ビットのカウンタで , 起動後 , 一定時間内にクリアされない場合 CPU をリセットします。 ■ ウォッチドッグタイマ機能 ウォッチドッグタイマは , プログラム暴走対策用のカウンタです。一度起動すると一定 時間内で定期的にクリアし続ける必要があります。プログラムが無限ループに陥るな どして , 一定時間以上クリアされない場合 , CPU に対してウォッチドッグリセットを発 生します。ウォッチドッグタイマのインターバル時間は , 表 10.1-1 に示すように , ウォッチドッグタイマ制御レジスタ (WDTC) の WT1, WT0 ビットで設定できます。 ウォッチドッグタイマがクリアされない場合 , 最小時間∼最大時間の間にウォッチ ドッグリセットが発生します。この表の最小時間内にカウンタをクリアしてください。 表 10.1-1 ウォッチドッグタイマのインターバル時間 WT1 WT0 WDCS & SCM インターバル時間 クロックサイクル数 最小 * 最大 * 0 0 1 約 2.39 ms 約 3.07 ms (2 14 ± 2 11)/ HCLK サイクル 0 1 1 約 9.56 ms 約 12.29 ms (2 16 ± 2 13)/ HCLK サイクル 1 0 1 約 38.23 ms 約 49.15 ms (2 18 ± 2 15)/ HCLK サイクル 1 1 1 約 305.83 ms 約 393.22 ms (2 21 ± 2 18)/ HCLK サイクル 0 0 0 約 0.448 s 約 0.576 s (2 12 ± 2 9)/ SCLK サイクル 0 1 0 約 3.584 s 約 4.608 s (2 15 ± 2 12)/ SCLK サイクル 1 0 0 約 7.168 s 約 9.216 s (2 16 ± 2 13)/ SCLK サイクル 1 1 0 約 14.336 s 約 18.432 s (2 17 ± 2 14)/ SCLK サイクル * : 発振クロック (HCLK) 6 MHz, サブクロック (SCLK) 32 kHz の 4 分周 (=8 kHz) 動作時の値です。 ウォッチドッグタイマインターバル時間の最大 , 最小および発振クロックサイクル数は , クリアの タイミングで決まります。インターバル時間は , カウントクロック ( タイムベースタイマの供給ク ロック ) 周期の 3.5 ∼ 4.5 倍になります。ウォッチドッグタイマインターバル時間については , 「 10.4 ウォッチドッグタイマの動作 」を参照してください。 230 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 10 章 ウォッチドッグタイマ 10.1 ウォッチドッグタイマの概要 <注意事項> ウォッチドッグカウンタは , タイムベースタイマの桁上り信号をカウントする 2 ビットカ ウンタによって構成されています。したがって , タイムベースタイマがクリアされると , ウォッチドッグリセットの発生時間が , 設定した時間より長くなることがあります。 <参考> ウォッチドッグタイマは起動されると , パワーオン , ウォッチドッグによるリセットで初 期化され , 停止状態になります。また , 外部端子によるリセット , ソフトウェアリセット , ウォッチドッグタイマ制御レジスタのウォッチドッグ制御ビット (WTE) への書込み , ス リープモードへの遷移およびストップモードへの遷移 , 時計モードへの遷移でウォッチ ドッグカウンタはクリアされますが , ウォッチドッグタイマは起動したままです。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 231 第 10 章 ウォッチドッグタイマ 10.2 ウォッチドッグタイマ制御レジスタ (WDTC) MB90330A シリーズ ウォッチドッグタイマ制御レジスタ (WDTC) 10.2 ウォッチドッグタイマ制御レジスタ (WDTC) は , ウォッチドッグタイマの起動 , クリ ア , およびリセット要因の表示を行うレジスタです。 ■ ウォッチドッグタイマ制御レジスタ (WDTC) 図 10.2-1 にウォッチドッグタイマ制御レジスタ (WDTC) を , 表 10.2-1 に WDTC レジス タの各ビットの機能について説明します。 図 10.2-1 ウォッチドッグタイマ制御レジスタ (WDTC) のビット構成 アドレス 0000A8H bit15 bit8 bit7 (TBTC) WT1 bit6 bit5 bit4 PONR ‐ WRST R ‐ R WT0 ERST bit3 bit2 SRST R R bit1 bit0 WTE WT1 WT0 W W W 初期値 X-XXX111B インターバル時間選択ビット(HCLK:6MHz,SCLK:32kHz動作時) インターバル時間 WDCS & SCM 発振クロックサイクル数 最小 最大 0 0 1 約2.39ms 約3.07ms (214±211 )/HCLKサイクル 0 1 1 1 0 1 1 1 1 約9.56ms 約38.23ms 約305.83ms 約12.29ms 約49.15ms 約393.22ms (216±213 )/HCLKサイクル (218±215 )/HCLKサイクル (221±218 )/HCLKサイクル 0 0 0 約0.448s 約0.576s 0 1 0 1 0 0 約3.584s 約7.168s 約4.608s 約9.216s (212±29 )/SCLKサイクル (215±212 )/SCLKサイクル (216±213 )/SCLKサイクル 1 1 0 約14.336s 約18.432s (217±214 )/SCLKサイクル HCLK:発振クロック SCLK:サブクロック ウォッチドッグ制御ビット 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 ウォッチドッグタイマの動作 」を参照してください。 232 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 10 章 ウォッチドッグタイマ 10.2 ウォッチドッグタイマ制御レジスタ (WDTC) MB90330A シリーズ 表 10.2-1 ウォッチドッグタイマ制御レジスタ (WDTC) の各ビットの機能 ビット名 機能 bit7 , bit5 ∼ bit3 PONR WRST ERST SRST リセット要因ビット bit6 予約 予約 bit2 bit1 , bit0 CM44-10129-6 WTE WT1 WT0 ・リセット要因を示す読出し専用ビットです。各リ セット要因が発生すると, これらのビットが"1"に セットされます。 ・PONR, WRST, ERST, SRST ビットは , WDTC レジ スタの読出し動作後に , すべて "0" にクリアされ ます。 ・パワーオン時は , PONR ビット以外のビットの内 容は保証されません。したがって, PONRビットが "1" の場合はこれ以外のビットの内容を無視する ようにしてください。 ・読出し値は不定です。 ・書込みは , 動作に影響ありません。 ウォッチドッグ 制御ビット ・"0" を書き込むと , ウォッチドッグタイマを起動 ( リセット後 1 回目の書込み ) または 2 ビットカウ ンタをクリア ( リセット後 2 回目以降の書込み ) します。 ・"1" の書込みでは , 動作に影響はありません。 インターバル時間選 択ビット ・ウォッチドッグタイマのインターバル時間を選択 するビットです。 ・クロックモードとしてサブクロックモードが選択 されている ( クロック選択レジスタ (CKSCR) のサ ブクロック表示ビット (SCM) が "0") または時計タ イマ制御レジスタ (WTC) により , ウォッチドッグ タイマのクロックソースが時計タイマになってい る場合 ( ウォッチドッグタイマクロックソース選 択ビット (WDCS) が "0") と , クロックモードとし てメインクロックモードまたは PLL クロックモー ドが選択されていて , かつ WTC の WDCS ビット が "1" の場合で , インターバル時間は図 10.2-1 の ように異なります。 ・ウォッチドッグタイマの起動時のデータのみが有 効です。ウォッチドッグタイマ起動時後の書込み データは , 無視されます。 ・WT1, WT0 ビットは , 書込み専用です。 FUJITSU MICROELECTRONICS LIMITED 233 第 10 章 ウォッチドッグタイマ 10.3 ウォッチドッグタイマの構成 10.3 MB90330A シリーズ ウォッチドッグタイマの構成 ウォッチドッグタイマは , 次の 5 つのブロックで構成されています。 • カウントクロックセレクタ • ウォッチドッグカウンタ (2 ビットカウンタ ) • ウォッチドッグリセット発生回路 • カウンタクリア制御回路 • ウォッチドッグタイマ制御レジスタ (WDTC) ■ ウォッチドッグタイマのブロックダイヤグラム 図 10.3-1 に , ウォッチドッグタイマのブロックダイヤグラムを示します。 図 10.3-1 ウォッチドッグタイマのブロックダイヤグラム ウォッチドッグタイマ制御レジスタ(WDTC) PONR WRST ERST SRST WTE WT1 WT0 時計タイマ制御レジスタ(WTC)のWDCSビット クロック選択レジスタ(CKSCR)のSCMビット 2/ リセットの発生 時計モード開始 タイムベースタイマモード開始 スリープモード開始 ホールド状態開始 μDMAC起動* ウォッチドッグタイマ カウンタ クリア 制御回路 ストップモード開始 CLR と起動 ウォッチ ドッグ カウンタ カウント クロック セレクタ CLR オーバ フロー ウォッチドッグ リセット 発生回路 内部リセット 発生回路へ CLR 4/ クリア 4/ (タイムベースタイマカウンタ) HCLKの2分周 SCLK ×21 ×22 ×28 ×29 ×210 ×211 ×212 ×213 ×214 ×215 ×216 ×217 ×218 ×21 ×22 ×28 ×29 ×210 ×211 ×212 ×213 ×214 ×215 ×216 ×217 ×218 HCLK :発振クロック SCLK :サブクロック *:ホールド状態とは,外部バス動作モード時のHRQ(ホールド要求)入力時,ツールホールド入力時(MB90V330Aのみ)となります。 ● カウントクロックセレクタ ウォッチドッグタイマのカウントクロックを , 4 種類のタイムベースタイマ出力と 4 種 類の時計タイマ出力から選択する回路です。これによりウォッチドッグリセットの発 生時間が決まります。 ● ウォッチドッグカウンタ (2 ビットカウンタ ) タイムベースタイマ出力をカウントクロックとする 2 ビットのアップカウンタです。 ● ウォッチドッグリセット発生回路 ウォッチドッグカウンタのオーバフローによってリセット信号を発生します。 234 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 10 章 ウォッチドッグタイマ 10.3 ウォッチドッグタイマの構成 MB90330A シリーズ ● カウンタクリア制御回路 ウォッチドッグカウンタのクリアと , カウンタの動作 / 停止を制御します。 表 10.3-1 ウォッチドッグタイマクリア条件 動作 モード クリア リセット WDTC レジスタ WTE=0 ストップ モード スリープ モード タイム ベース タイマ モード 時計 モード ホールド μDMAC 遷移時 書込み時 遷移時 遷移時 遷移時 遷移時 遷移時 起動時 動作 ( クリア 直後から カウント 開始 ) 動作 ( クリア 直後から カウント 開始 ) 動作 ( クリア 直後から カウント 開始 ) 停止 ( クリア状 態を保持 ) 停止 ( クリア状 態を保持 ) モード中の ウォッチ ドッグ タイマ状態 無効 − 停止 ( クリア 状態を 保持 ) モード中の ウォッチ ドッグ リセット 発生 しない − 発生 しない 発生 する 発生 する 発生 する 発生 しない 発生 しない 動作 動作 ( クリア 状態から カウント 再開 ) 動作 ( カウント を継続 ) 動作 ( カウント を継続 ) 動作 ( カウント を継続 ) 動作 ( クリア 状態から カウント 再開 ) 動作 ( クリア 状態から カウント 再開 ) モード解除 / 復帰後の ウォッチ ドッグ タイマ状態 無効 ● ウォッチドッグタイマ制御レジスタ (WDTC) ウォッチドッグタイマの起動およびクリアと , リセット発生要因の保持を行います。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 235 第 10 章 ウォッチドッグタイマ 10.4 ウォッチドッグタイマの動作 MB90330A シリーズ ウォッチドッグタイマの動作 10.4 ウォッチドッグタイマは , ウォッチドッグカウンタのオーバフローで , ウォッチドッ グリセットを発生します。 ■ ウォッチドッグタイマの動作 ウォッチドッグタイマの動作には , 図 10.4-1 に示すような設定が必要です。 図 10.4-1 ウォッチドッグタイマの設定 アドレス 0000A8H WDTC bit15 ... bit8 bit7 (TBTC) PONR bit6 - 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 倍の時間を要します。 236 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 10 章 ウォッチドッグタイマ 10.4 ウォッチドッグタイマの動作 MB90330A シリーズ ● リセット要因の確認 リセット後 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-10129-6 ウォッチドッグリセット発生 FUJITSU MICROELECTRONICS LIMITED 237 第 10 章 ウォッチドッグタイマ 10.5 ウォッチドッグタイマ使用上の注意 10.5 MB90330A シリーズ ウォッチドッグタイマ使用上の注意 ウォッチドッグタイマ使用時の注意点を示します。 ■ ウォッチドッグタイマ使用上の注意 ● ウォッチドッグタイマの停止 ウォッチドッグタイマは一度起動すると , パワーオン , ウォッチドッグ外部リセットが 発生するまで停止できません。 ● インターバル時間 インターバル時間は , タイムベースタイマの桁上り信号をカウントクロックとしてい るため , タイムベースタイマのクリアによって , ウォッチドッグタイマのインターバル 時間が設定より長くなることがあります。 ● インターバル時間の選択 インターバル時間は , ウォッチドッグタイマの起動時に設定が可能です。起動時以外の 書込みデータは無視されます。 ● プログラム作成上の注意 メインループの中で , 繰り返しウォッチドッグタイマをクリアするようなプログラム を作成する場合 , 割込み処理を含めたメインループの処理時間が , ウォッチドッグタイ マのインターバル時間の最小時間以下となる必要があります。 238 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 10 章 ウォッチドッグタイマ 10.6 ウォッチドッグタイマのプログラム例 MB90330A シリーズ 10.6 ウォッチドッグタイマのプログラム例 ウォッチドッグタイマのプログラム例を示します。 ■ ウォッチドッグタイマのプログラム例 ● 処理仕様 • メインプログラムのループの中で毎回ウォッチドッグタイマをクリアします。 • メインループは , ウォッチドッグタイマの最小インターバル時間内に 1 周する必要 があります。 ● コーディング例 WDTC EQU 0000A8H ; ウォッチドッグタイマ制御レジスタ WTE EQU WDTC:2 ; ウォッチドッグ制御ビット ;---------- メインプログラム --------------------------------------------------CODE CSEG START: ; ; スタックポインタ (SP) などは初期化済み : とする ; WDG_START: MOV WDTC, #00000011B ; ウォッチドッグタイマの起動 インターバル時間2 21±2 18サイクルを選択 ; ;---------- メインループ ------------------------------------------------------MAIN: CLRB I:WTE ; : ; ユーザ処理 ; : 定期的に 2 ビットのクリア JMP MAIN ; ウォッチドッグタイマのインターバル時間 より短い時間でループする ; CODE ; ウォッチドッグタイマのクリア ENDS ;---------- ベクタ設定 --------------------------------------------------------VECT VECT CSEG ABS=0FFH ORG 0FFDCH DSL START DB 00H ; シングルチップモードに設定 ENDS END CM44-10129-6 ; リセットベクタ設定 START FUJITSU MICROELECTRONICS LIMITED 239 第 10 章 ウォッチドッグタイマ 10.6 ウォッチドッグタイマのプログラム例 240 MB90330A シリーズ FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 11 章 時計タイマ この章では , 時計タイマの概要 , レジスタの構成 / 機能および時計タイマの動作について説明します。 11.1 時計タイマの概要 11.2 時計タイマの構成 11.3 時計タイマ制御レジスタ (WTC) 11.4 時計タイマの動作 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 241 第 11 章 時計タイマ 11.1 時計タイマの概要 11.1 MB90330A シリーズ 時計タイマの概要 時計タイマは , サブクロックを使用した 15 ビットのタイマです。インターバルな割 込みを発生させることができます。また , 設定により , ウォッチドッグタイマのク ロックソースとしても使用できます。 ■ 時計タイマの機能 時計タイマは 15 ビットのタイマと , インターバルな割込みを制御する回路から構成さ れています。 時計タイマは , クロック選択レジスタ (CKSCR) の PLL クロック選択ビット (MCS) およ びサブクロック選択ビット (SCS) と関係なく , サブクロックを使用します。 時計タイマのインターバル時間は表 11.1-1 に示すとおりです。 表 11.1-1 時計タイマのインターバル時間 WTC2 WTC1 WTC0 インターバル時間 * 0 0 0 31.25 ms 0 0 1 62.5 ms 0 1 0 125 ms 0 1 1 250 ms 1 0 0 500 ms 1 0 1 1.000 s 1 1 0 2.000 s 1 1 1 設定禁止 *: サブクロック 32 kHz の 4 分周 (=8 kHz) 242 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 11 章 時計タイマ 11.2 時計タイマの構成 MB90330A シリーズ 11.2 時計タイマの構成 時計タイマは , 次の 4 つのブロックから構成されています。 • インターバルセレクタ • 時計カウンタ • 時計タイマ割込み発生回路 • 時計タイマ制御レジスタ (WTC) ■ 時計タイマのブロックダイヤグラム 図 11.2-1 に , 時計タイマのブロックダイヤグラムを示します。 図 11.2-1 時計タイマのブロックダイヤグラム 時計タイマ制御レジスタ(WTC) WDCS SCE WTIE WTOF WTR WTC2 WTC1 WTC0 クリア 時計カウンタ サブクロック 210 213 214 215 28 29 210 211 212 213 214 インターバル セレクタ 割込み 発生回路 時計タイマ 割込み ウォッチドッグ タイマへ ● 時計カウンタ サブクロックをクロックソースとする 15 ビットのアップカウンタです。 ● インターバルセレクタ 時計タイマ割込みのインターバルを 7 種類から選択するセレクタです。 ● 割込み発生回路 時計タイマのインターバル割込みを発生させます。 ● 時計タイマ制御レジスタ (WTC) 時計タイマの動作 , 時計タイマ割込みの制御およびウォッチドッグタイマのクロック ソースを指定します。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 243 第 11 章 時計タイマ 11.3 時計タイマ制御レジスタ (WTC) 11.3 MB90330A シリーズ 時計タイマ制御レジスタ (WTC) 時計タイマ制御レジスタ (WTC) は , 時計タイマの動作を制御します。また , イン ターバル割込みの時間を制御します。 ■ 時計タイマ制御レジスタ (WTC) の構成 図 11.3-1 に時計タイマ制御レジスタ (WTC) の構成を , 表 11.3-1 に時計タイマ制御レジ スタ (WTC) の各ビットの機能について説明します。 図 11.3-1 時計タイマ制御レジスタ (WTC) のビット構成 アドレス bit15 0000AAH bit8 bit7 bit6 WDCS SCE R/W R bit5 bit4 bit3 bit2 bit1 WTIE WTOF WTR WTC2 WTC1 WTC0 R/W R/W R/W R/W WTC2 R/W 時計タイマインターバル選択ビット インターバル時間 (サブクロック32kHz時) 31.25ms 62.5ms 125ms 250ms 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 500ms 1.000s 2.000s 1 1 1 設定禁止 0 時計カウンタクリアビット 時計タイマのカウンタを全ビット"0"にクリアします。 1 影響なし 0 時計タイマ割込み要求フラグビット 割込み要求は発生していません。 1 割込み要求が発生しています。 WTOF WTIE 0 1 SCE 0 1 WDCS 244 WTC0 初期値 10001000B 0 WTR R/W :リード・ライト可能 R :リードオンリ :初期値 WTC1 R/W bit0 0 1 時計タイマインターバル割込み許可ビット 割込み禁止 割込み許可 サブクロック発振安定待ち時間終了ビット 発振安定待ち時間です。 発振安定待ち時間が終了しています。 ウォッチドッグタイマクロックソース選択ビット 時計タイマのクロックを選択します。 タイムベースタイマのクロックを選択します。 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 11 章 時計タイマ 11.3 時計タイマ制御レジスタ (WTC) MB90330A シリーズ 表 11.3-1 時計タイマ制御レジスタ (WTC) の各ビットの機能 ビット名 bit7 機能 WDCS: ウォッチドッグタイマ クロックソース 選択ビット ・ウォッチドッグタイマのクロックソースを選択する ビットです。 ・"0" のとき , 時計タイマのクロックを選択し , "1" のとき , タイムベースタイマのクロックを選択します。 ・リセットにより "1" に初期化します。 SCE: サブクロック発振安定 待ち時間終了ビット ・サブクロックの発振安定待ち時間が終了したことを示 すビットです。 ・"0" のとき , 発振安定待ち時間であることを示します。 ・サブクロックの発振安定待ち時間は , 2 14 サブクロック サイクル固定です。 ・パワーオンリセットおよびストップ時に "0" に初期化 します。 WTIE: 時計タイマ インターバル 割込み許可ビット ・時計タイマによるインターバル割込みを許可するビッ トです。 ・"1" のとき割込みを許可し , "0" のとき割込みを禁止しま す。 ・リセットにより "0" に初期化します。 WTOF: 時計タイマ割込み要求 フラグビット ・時計タイマの割込み要求が発生していることを示す ビットです。 ・WTIE ビットが "1" のときこのビットが "1" になると , 割 込み要求を発生します。 ・WTC2 ∼ WTC0 ビットで設定されたインターバルごとに "1" にセットされます。 ・ "0" の書込み , ストップモードへの遷移およびリセット により "0" にクリアされます。 ・"1" 書込みは意味をもちません。 WTR: 時計カウンタ クリアビット ・時計タイマのカウンタを全ビット "0" にクリアするビッ トです。 ・"0" を書き込むことにより , 時計タイマカウンタを "0" に クリアします。 ・"1" 書込みは意味をもちません。 ・常に "1" が読み出されます。 WTC2, WTC1, WTC0: 時計タイマ インターバル 選択ビット ・時計タイマのインターバルを設定するビットです。 ・リセットにより "000B" に初期化されます。 bit6 bit5 bit4 bit3 bit2 ∼ bit0 CM44-10129-6 ・WTC2, WTC1, WTC0 ビットを変更するときは , WTOF ビットも同時にクリアしてください。 FUJITSU MICROELECTRONICS LIMITED 245 第 11 章 時計タイマ 11.4 時計タイマの動作 11.4 MB90330A シリーズ 時計タイマの動作 時計タイマは , ウォッチドッグタイマのクロックソース , サブクロックの発振安定待 ちのためのタイマ , 一定周期で割込みを発生するインターバルタイマの機能があり ます。 ■ 時計カウンタ 時計カウンタはサブクロックをカウントする 15 ビットのカウンタにより構成され , サ ブクロックが入力されている間 , 常にカウント動作を続けます。 ● 時計カウンタのクリア 時計カウンタのクリアは , パワーオンリセット , ストップモードへの遷移および時計タ イマ制御レジスタ (WTC) の時計カウンタクリアビット (WTR) への "0" 書込みにより行 われます。 <注意事項> • 時計タイマの出力を使用している, ウォッチドッグタイマとインターバル割込みは, 時 計カウンタのクリアにより動作に影響を与えます。 • 時計タイマ制御レジスタ (WTC) の WTR ビットへの "0" 書込みにより時計タイマをク リアする場合は , WTIE ビットに "0" を設定し , 時計タイマの割込みを禁止した状態で 行ってください。また , 割込みを許可する前に , WTOF フラグへの "0" 書込みによる割 込み要求のクリアを行ってください。 ■ 時計タイマのインターバル割込み機能 時計カウンタの桁上り信号により一定周期で割込みを発生します。 ● インターバル時間の指定 WTC レジスタの (WTC2, WTC1, WTC0) ビットにより , インターバル時間を指定できま す。 ● 時計タイマ割込みの発生 WTC2, WTC1, WTC0 ビットで設定されるインターバル時間ごとに時計タイマ割込み要 求フラグビット (WTOF) をセットします。このとき , 時計タイマインターバル割込み許 可ビット (WTIE) が "1" に設定されていて , 割込みが許可されていれば , 時計タイマ割 込みを発生します。 WTOF ビットのセットは , 最後に時計タイマがクリアされた時間を基準にして行われ ます。 ストップモードに遷移すると , 時計タイマは , サブクロックの発振安定時間待ちのタイ マとして使用されるため , WTOF ビットはモード遷移と同時にクリアされます。 246 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 11 章 時計タイマ 11.4 時計タイマの動作 ■ ウォッチドッグタイマのクロックソースの指定機能 WTC レジスタのウォッチドッグタイマクロックソース選択ビット (WDCS) により , ウォッチドッグタイマのクロックソースを指定できます。ただし , クロックモードがサ ブクロックモードの場合は , WDCS ビットによらず , 時計タイマのカウンタ値が使用さ れます。 ■ サブクロックの発振安定時間待ち機能 パワーオンリセット , ストップモードからの復帰時は , 時計タイマは , サブクロックの 発振安定時間待ちタイマとして機能します。サブクロックの発振安定待ち時間はサブ クロックの 2 14 サイクル固定です。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 247 第 11 章 時計タイマ 11.4 時計タイマの動作 248 MB90330A シリーズ FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 12 章 16 ビット入出力タイマ この章では , 16 ビット入出力タイマの概要 , レジ スタの構成 / 機能および 16 ビット入出力タイマの 動作について説明します。 12.1 16 ビット入出力タイマの概要 12.2 16 ビット入出力タイマのレジスタ 12.3 16 ビット入出力タイマの動作 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 249 第 12 章 16 ビット入出力タイマ 12.1 16 ビット入出力タイマの概要 12.1 MB90330A シリーズ 16 ビット入出力タイマの概要 16 ビット入出力タイマは , 16 ビットフリーランタイマ 1 本 , アウトプットコンペア 4 本 , インプットキャプチャ 4 本のモジュールから構成されています。本機能を用い ることにより , 16 ビットフリーランタイマをベースに 4 本の独立した波形出力が可 能であり , 入力パルス幅測定 , 外部クロック周期の測定が可能となります。 ■ 16 ビット入出力タイマの構成および機能 16 ビット入出力タイマを構成している 16 ビットフリーランタイマ , アウトプットコン ペアおよびインプットキャプチャの機能は , 以下のとおりです。 ● 16 ビットフリーランタイマ ( × 1) 16 ビットフリーランタイマは 16 ビットのアップカウンタ , コントロールレジスタ , プ リスケーラから構成されています。タイマカウンタの出力値は, インプットキャプチャ, アウトプットコンペアの基本時間 ( ベースタイマ ) として使用されます。カウンタ動作 のためのクロックは , 8 種類から選択できます (φ: マシンクロック ) 。 • 内部クロック 8 種類 (φ. φ/2. φ/4. φ/8. φ/16. φ/32. φ/64. φ/128) • 基本になるマシンクロックは , 内部クロックと外部クロック (FRCK) のいずれかを 選択できます。 割込みは , カウンタ値のオーバフロー, コンペアクリアレジスタとのコンペア一致によ り発生できます ( コンペア一致はモード設定が必要です )。 カウント値は , リセット , ソフトウェアクリア , コンペアクリアレジスタとのコンペア 一致により "0000H" に初期化できます。 ● アウトプットコンペア ( × 4) アウトプットコンペアは , 4 本の 16 ビットコンペアレジスタ , コンペア出力用ラッチお よびコントロールレジスタによって構成されています。16 ビットフリーランタイマ値 とコンペアレジスタ値が一致したとき出力レベルを反転するとともに , 割込みを発生 できます。 • 4 本のコンペアレジスタを独立して動作させます。各コンペアレジスタに対応した 出力端子と割込みフラグがあります。 • 2 本のコンペアレジスタをペアにして出力端子を制御できます。 • 出力端子の初期値を設定できます。 • 割込みは , コンペア一致により発生可能です。 250 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 12 章 16 ビット入出力タイマ 12.1 16 ビット入出力タイマの概要 MB90330A シリーズ ● インプットキャプチャ ( × 4) インプットキャプチャは, 独立した4本の外部入力端子と対応したキャプチャレジスタ, コントロールレジスタから構成されています。外部入力端子より入力された信号の任 意エッジを検出することにより , 16 ビットフリーランタイマ値をキャプチャレジスタ に保持し , 同時に割込みを発生できます。 • 外部入力信号のエッジを選択可能です。立上りエッジ , 立下りエッジの両エッジか ら選択できます。 • 4 本のインプットキャプチャは独立して動作可能です。 割込みは , 外部入力信号の有効エッジにより発生可能です。インプットキャプチャは , 割込みにより μDMAC を起動できます。 ■ ブロックダイヤグラム 図 12.1-1 に , 16 ビット入出力タイマのブロックダイヤグラムを示します。 図 12.1-1 16 ビット入出力タイマのブロックダイヤグラム コントロールロジック コンペアクリアレジスタ 16ビットフリーランタイマ クリア 各ブロックへ 割込み 16ビットフリーランタイマ 16ビットタイマ アウトプットコンペア0 F2MC-16LX バス コンペアレジスタ0 TQ OUT0 TQ OUT1 TQ OUT2 TQ OUT3 アウトプットコンペア1 コンペアレジスタ1 アウトプットコンペア2 コンペアレジスタ2 アウトプットコンペア3 コンペアレジスタ3 インプットキャプチャ0 キャプチャレジスタ0 エッジ選択 INO エッジ選択 IN1 エッジ選択 IN2 エッジ選択 IN3 インプットキャプチャ1 キャプチャレジスタ1 インプットキャプチャ2 キャプチャレジスタ2 インプットキャプチャ3 キャプチャレジスタ3 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 251 第 12 章 16 ビット入出力タイマ 12.2 16 ビット入出力タイマのレジスタ 12.2 MB90330A シリーズ 16 ビット入出力タイマのレジスタ 16 ビット入出力タイマのレジスタは , 大きく以下のように分類されます。 • 16 ビットフリーランタイマ • 16 ビットアウトプットコンペア • 16 ビットインプットキャプチャ レジスタの構成および機能について説明します。 ■ 16 ビット入出力タイマのレジスタ構成 以下に , 16 ビット入出力タイマのレジスタ構成を示します。 ● 16 ビットフリーランタイマ 図 12.2-1 16 ビットフリーランタイマの構成 bit 15 00008BH, 00008AH 0 CPCLR コンペアクリアレジスタ 000087H, 000086H TCDT タイマカウンタデータレジスタ 000089H, 000088H TCCS タイマコントロールステータスレジスタ ● 16 ビットアウトプットコンペア 図 12.2-2 16 ビットアウトプットコンペアの構成 bit 15 007919H, 007918H 00791BH, 00791AH 00791DH, 00791CH 00791FH, 00791EH 000055H, 000054H 000057H, 000056H 0 OCCP0 OCCP1 OCCP2 OCCP3 OCS1 OCS3 アウトプットコンペアレジスタ OCS0 OCS2 アウトプットコンペア コントロールレジスタ ● 16 ビットインプットキャプチャ 図 12.2-3 16 ビットインプットキャプチャの構成 bit 15 007911H, 007910H 007913H, 007912H 007915H, 007914H 007917H, 007916H 000053H, 000052H 252 0 IPCP0 IPCP1 IPCP2 IPCP3 ICS23 インプットキャプチャデータレジスタ ICS01 インプットキャプチャ コントロールステータスレジスタ FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 12 章 16 ビット入出力タイマ 12.2 16 ビット入出力タイマのレジスタ MB90330A シリーズ 16 ビットフリーランタイマ 12.2.1 16 ビットフリーランタイマは , 16 ビットアップダウンカウンタ , コントロールス テータスレジスタから構成されています。 タイマのカウンタ値は , インプットキャプチャ , アウトプットコンペアの基本時間 ( ベースタイマ ) として使用されます。 • カウンタ動作のためのクロックは , 8 種類から選択可能です。 • カウンタオーバフロー割込みを発生できます。 • モード設定により , アウトコンペアのコンペアクリアレジスタの値との一致によ るカウンタの初期化が可能です。 ■ 16 ビットフリーランタイマのレジスタ一覧 図 12.2-4 に , 16 ビットフリーランタイマのレジスタ一覧を示します。 図 12.2-4 16 ビットフリーランタイマのレジスタ一覧 bit 00008BH 00008AH bit 000087H bit 000086H bit 15 14 13 12 11 10 9 CL15 CL14 CL13 CL12 CL11 CL10 CL09 R/W R/W R/W R/W R/W R/W R/W 7 6 5 4 3 2 1 CL07 CL06 CL05 CL04 CL03 CL02 CL01 R/W R/W R/W R/W R/W R/W R/W 15 14 13 12 11 10 9 8 T15 T14 T13 T12 T11 T10 T09 T08 R/W R/W R/W R/W R/W R/W R/W R/W 7 6 5 4 3 2 1 0 T07 T06 T05 T04 T03 T02 T01 T00 R/W R/W R/W R/W R/W R/W R/W R/W 15 14 13 12 11 10 9 8 - - MSI2 MSI1 MSI0 ICLR R/W R/W R/W R/W R/W R/W R/W 7 6 5 4 3 2 1 IVF IVFE CLR CLK2 CLK1 R/W R/W R/W R/W R/W 000089H ECKE bit 000088H STOP MODE R/W R/W 8 CPCLR CL08 コンペアクリアレジスタ上位 R/W 初期値 XXXXXXXXB 0 CPCLR CL00 コンペアクリアレジスタ下位 R/W 初期値 XXXXXXXXB TCDT タイマカウンタデータレジスタ 上位 初期値 00000000B TCDT タイマカウンタデータレジスタ 下位 初期値 00000000B TCCS ICRE タイマコントロールステータス レジスタ上位 R/W 初期値 0XX00000B 0 TCCS CLK0 タイマコントロールステータス レジスタ下位 R/W 初期値 00000000B R/W: リード・ライト可能 X: 不定 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 253 第 12 章 16 ビット入出力タイマ 12.2 16 ビット入出力タイマのレジスタ MB90330A シリーズ ■ 16 ビットフリーランタイマのブロックダイヤグラム 図 12.2-5 に , 16 ビットフリーランタイマのブロックダイヤグラムを示します。 図 12.2-5 16 ビットフリーランタイマのブロックダイヤグラム φ 割込み要求 #36 F2MC-16LX バス 分周器 IVF IVFE STOP MODE CLR CLK2 CLK1 CLK0 クロック 16ビットフリーランタイマ カウント値出力 T15~T00 16ビットコンペアクリアレジスタ コンペア回路 ICLR MSI2~MSI0 ICRE 割込み要求 #36 ■ コンペアクリアレジスタ (CPCLR) コンペアクリアレジスタ (CPCLR) のビット構成を , 図 12.2-6 に示します。 図 12.2-6 コンペアクリアレジスタ (CPCLR) のビット構成 bit 00008BH bit 00008AH 15 14 13 12 11 10 9 CL15 CL14 CL13 CL12 CL11 CL10 CL09 R/W R/W R/W R/W R/W R/W R/W 7 6 5 4 3 2 1 CL07 CL06 CL05 CL04 CL03 CL02 CL01 R/W R/W R/W R/W R/W R/W R/W 8 CPCLR CL08 コンペアクリアレジスタ上位 R/W 初期値 XXXXXXXXB 0 CPCLR CL00 コンペアクリアレジスタ下位 R/W 初期値 XXXXXXXXB R/W: リード・ライト可能 X: 不定 コンペアクリアレジスタ (CPCLR) は , 16 ビットフリーランタイマと比較する 16 ビッ ト長のコンペアレジスタです。CPCLR レジスタ値は初期値不定ですので , 動作許可す る場合は値を設定してから動作を許可してください。また , CPCLR レジスタは , ワー ドアクセスしてください。 タイマコントロールステータスレジスタ (TCCS) の MODE ビットに "1" を設定してい る場合は , 本レジスタ値と 16 ビットフリーランタイマ値が一致したとき , 16 ビットフ リーランタイマ値を "0000H" にクリアします。また , レジスタ値と 16 ビットフリーラ ンタイマ値が一致したとき , 16 ビットフリーランタイマ値を "0000H" に初期化してコ ンペアクリア割込みフラグをセットします。コンペアクリア割込みフラグが "1" のと き , 割込み動作を許可している場合は , CPU に対して割込み要求を行います。 254 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 12 章 16 ビット入出力タイマ 12.2 16 ビット入出力タイマのレジスタ MB90330A シリーズ ■ タイマカウンタデータレジスタ (TCDT) タイマカウンタデータレジスタ (TCDT) のビット構成を , 図 12.2-7 に示します。 図 12.2-7 タイマカウンタデータレジスタ (TCDT) のビット構成 bit 000087H bit 000086H 15 14 13 12 11 10 9 8 T15 T14 T13 T12 T11 T10 T09 T08 R/W R/W R/W R/W R/W R/W R/W R/W 7 6 5 4 3 2 1 0 T07 T06 T05 T04 T03 T02 T01 T00 R/W R/W R/W R/W R/W R/W R/W R/W TCDT タイマカウンタデータレジスタ 上位 初期値 00000000B TCDT タイマカウンタデータレジスタ 下位 初期値 00000000B R/W: リード・ライト可能 タイマカウンタデータレジスタ (TCDT) は , 16 ビットフリーランタイマのカウント値 を読み出すことができるレジスタです。カウント値はリセット時に "0000H" にクリア されます。TCDT レジスタに書き込むことによって , タイマ値を設定できますが , 必ず 停止 (STOP=1) 状態で行ってください。 TCDT レジスタは , ワードアクセスしてください。16 ビットフリーランタイマの初期 化は , 次の要因で行われます。 • リセットによる初期化 • コントロールステータスのクリアビット (CLR) による初期化 • コンペアクリアレジスタとタイマカウンタ値の一致による初期化 ( モード設定必要 です ) ■ タイマコントロールステータスレジスタ (TCCS) タイマコントロールステータスレジスタ(TCCS)のビット構成を, 図 12.2-8に示します。 図 12.2-8 タイマコントロールステータスレジスタ (TCCS) のビット構成 bit 15 14 13 12 11 10 9 - - MSI2 MSI1 MSI0 ICLR R/W R/W R/W R/W R/W R/W R/W 7 6 5 4 3 2 1 IVF IVFE CLR CLK2 CLK1 R/W R/W R/W 000089H ECKE bit 000088H STOP MODE R/W R/W R/W R/W: リード・ライト可能 X: 不定 R/W 8 TCCS ICRE タイマコントロールステータス レジスタ上位 R/W 初期値 0XX00000B 0 TCCS CLK0 タイマコントロールステータス レジスタ下位 R/W 初期値 00000000B 以下に , タイマコントロールステータスレジスタ (TCCS) の各ビットの機能を説明しま す。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 255 第 12 章 16 ビット入出力タイマ 12.2 16 ビット入出力タイマのレジスタ MB90330A シリーズ [bit15] ECKE ( 外部クロック入力許可ビット ) 16 ビットフリーランタイマのカウントクロックソースが内部か外部を選択するビッ トです。ECKE ビットに書き込んだ後すぐにクロックは変更されますので , アウト プットコンペア , インプットキャプチャが停止状態のときに変更してください。 0 内部クロックソースを選択 1 外部端子 (FRCK) よりクロックを入力します。 [ 初期値 ] [bit14, bit13] 未定義ビット 読出し値は不定です。書込みは動作に影響を与えません。 [bit12 ∼ bit10] MSI2 ∼ MSI0 ( 割込みマスク選択ビット ) コンペアクリア割込みをマスクする回数を設定するビットです。3 ビットのリロー ドカウンタで構成され , カウンタ値が "000B" になるたびにカウント値をリロードし ます。また , MSI2, MSI1, MSI0 レジスタ書込み時にもカウント値をロードします。 マスク回数 = 設定回数となります ( 例 : 2 回マスクし 3 回目で割込み処理をする場 合 "010B")。ただし , "000B" を設定すると , 割込み要因は , マスクされません。 [bit9] ICLR ( コンペアクリア割込みフラグビット ) コンペアクリアの割込み要求フラグです。コンペアクリアレジスタ値と 16 ビット フリーランタイマ値がコンペア一致したときにこのビットが"1"にセットされます。 割込み要求許可ビット (bit8 の ICRE ビット ) がセットされていると , 割込みが発生 します。ICLR ビットは , "0" を書き込むことによりクリアされます。"1" の書込み は意味を持ちません。リードモディファイライト (RMW) 系命令では , 常に "1" が読 み出されます。 0 割込み要求なし 1 割込み要求あり [ 初期値 ] [bit8] ICRE ( コンペアクリア割込み要求許可ビット ) コンペアクリアの割込み許可ビットです。"1" のとき , 割込みフラグ (bit9 の ICLR) が "1" にセットされていると割込みが発生します。 0 割込み禁止 1 割込み許可 [ 初期値 ] [bit7] IVF ( タイマオーバフロー発生フラグビット ) 16 ビットフリーランタイマの割込み要求フラグです。 16 ビットフリーランタイマがオーバフローを起こしたときまたはモード設定によ りコンペアクリアレジスタと比較結果が一致してカウンタクリアされたとき , IVF ビットが "1" にセットされます。割込み要求許可ビット (bit5 の IVFE) がセットされ ていると , 割込みが発生します。"0" 書込みによりクリアされます。"1" 書込みは意 味を持ちません。リードモディファイライト (RMW) 系命令では , "1" が読み出され ます。 256 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 0 割込み要求なし 1 割込み要求あり 第 12 章 16 ビット入出力タイマ 12.2 16 ビット入出力タイマのレジスタ [ 初期値 ] [bit6] IVFE ( タイマオーバフロー割込み許可ビット ) 16 ビットフリーランタイマの割込み許可ビットです。"1" のとき , 書込みフラグ (bit5 の IVF) が "1" にセットされると割込みが発生します。 0 割込み禁止 1 割込み許可 [ 初期値 ] [bit5] STOP ( タイマ動作ストップビット ) 16 ビットフリーランタイマのカウントを停止するためのビットです。"1" 書込み時 にタイマのカウントを停止し , "0" 書込み時にタイマのカウントを開始します。 0 カウント許可 ( 動作 ) 1 カウント禁止 ( 停止 ) [ 初期値 ] なお, 16ビットフリーランタイマのカウントが停止すると, アウトプットコンペア動作 も停止します。 [bit4] MODE ( クリア条件選択ビット ) 16 ビットフリーランタイマの初期化条件を設定します。 "0" のときは , リセットとクリアビット (bit2 の (CLR)) でカウント値を初期化できま す。 "1" のときは , リセットとクリアビット (bit2 の (CLR)) のほかにコンペアクリアレジ スタの値との一致により , カウンタ値を初期化できます。 0 リセット , クリアビットによる初期化 1 リセット , クリアビット , コンペアクリアレジスタによる初期化 [ 初期値 ] なお , カウンタ値の初期化はカウント値の変化点で行われます。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 257 第 12 章 16 ビット入出力タイマ 12.2 16 ビット入出力タイマのレジスタ MB90330A シリーズ [bit3] CLR ( タイマクリアビット ) 動作中の 16 ビットフリーランタイマ値を "0000H" に初期化するビットです。 "1" 書込み時にカウンタ値を "0000H" に初期化します。"0" を書き込んでも意味を持 ちません。読出し値は , 常に "0" です。カウンタ値の初期化は , カウンタ値の変化点 で行われます。 0 意味を持ちません。 1 カウンタ値を "0000H" に初期化します。 [ 初期値 ] なお , タイマ停止中に初期化する場合は , データレジスタに "0000H" を書き込んでくだ さい。 <注意事項> "1"を書き込んだ後, 次のカウントクロックまでに, このビットへの"0"書込みを行うと, カ ウンタ値の初期化は行われません。 [bit2, bit1, bit0] CLK2, CLK1, CLK0 ( カウントクロック周期選択ビット ) 16 ビットフリーランタイマのカウントクロックを選択します。CLK2, CLK1, CLK0 ビットに書込み後すぐにクロックは変更されますので , アウトプットコンペア , イ ンプットキャプチャが停止状態のときに変更してください。 CLK2 CLK1 CLK0 カウントクロック φ=24 MHz φ=12 MHz φ=6 MHz φ=3 MHz 0 0 0 φ 41.7 ns 83.3 ns 0.17 μs 0.33 μs 0 0 1 φ/2 83.3 ns 0.17 μs 0.33 μs 0.67 μs 0 1 0 φ/4 0.17 μs 0.33 μs 0.67 μs 1.33 μs 0 1 1 φ/8 0.33 μs 0.67 μs 1.33 μs 2.67 μs 1 0 0 φ/16 0.67 μs 1.33 μs 2.67 μs 5.33 μs 1 0 1 φ/32 1.33 μs 2.67 μs 5.33 μs 10.7 μs 1 1 0 φ/64 2.67 μs 5.33 μs 10.7 μs 21.3 μs 1 1 1 φ/128 5.33 μs 10.7 μs 21.3 μs 42.7 μs 258 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 12 章 16 ビット入出力タイマ 12.2 16 ビット入出力タイマのレジスタ MB90330A シリーズ アウトプットコンペア 12.2.2 アウトプットコンペアは , 16 ビットのコンペアレジスタ , コンペア出力端子部 , コン トロールレジスタより構成されています。コンペアレジスタに設定された値と 16 ビットフリーランタイマ値が一致すると , 端子の出力レベルを反転するとともに割 込みを発生できます。 • コンペアレジスタは全部で 4 本あり , 独立して動作させることができます。 また , 設定により 2 本のコンペアレジスタを使い出力を制御できます。 • 割込みは , コンペア一致により設定できます。 ■ アウトプットコンペアのレジスタ一覧 図 12.2-9 に , アウトプットコンペアのレジスタ一覧を示します。 図 12.2-9 アウトプットコンペアのレジスタ一覧 bit ch.0 : 007919H ch.1 : 00791BH ch.2 : 00791DH ch.3 : 00791FH bit ch.0 : 007918H ch.1 : 00791AH ch.2 : 00791CH ch.3 : 00791EH bit ch.1 : 000055H ch.3 : 000057H bit ch.0 : 000054H ch.2 : 000056H 15 14 13 12 11 10 9 8 C15 C14 C13 C12 C11 C10 C09 C08 R/W R/W R/W R/W R/W R/W R/W R/W 7 6 5 4 3 2 1 0 C07 C06 C05 C04 C03 C02 C01 C00 R/W R/W R/W R/W R/W R/W R/W R/W 15 14 13 12 11 10 9 8 - - - OTE0 OTD1 - - - R/W R/W R/W R/W 7 6 5 4 3 2 1 ICP1 ICP0 ICE1 ICE0 - - CST1 R/W R/W R/W R/W - - R/W CMOD OTE1 OCCP0 ~ OCCP3 アウトプットコンペア レジスタ上位 初期値 XXXXXXXXB OCCP0 ~ OCCP3 アウトプットコンペア レジスタ下位 初期値 XXXXXXXXB OCS1/OCS3 OTD0 アウトプットコンペアコ ントロールレジスタ上位 R/W 初期値 ---00000B 0 OCS0/OCS2 CST0 アウトプットコンペアコ ントロールレジスタ下位 R/W 初期値 0000--00B <注意事項> コンペアレジスタを書き換える場合は , コンペア割込みのルーチン内で行うか , コンペア 動作禁止の状態で行い , コンペア一致と書込みが同時に発生しないようにしてください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 259 第 12 章 16 ビット入出力タイマ 12.2 16 ビット入出力タイマのレジスタ MB90330A シリーズ ■ アウトプットコンペアのブロックダイヤグラム 図 12.2-10 に , アウトプットコンペアのブロックダイヤグラムを示します。 図 12.2-10 アウトプットコンペアのブロックダイヤグラム コンペア制御 TQ OTE0 OUTO,OUT2 OTE1 OUT1,OUT3 F2MC-16LX バス コンペアレジスタ0,2 CMOD 16ビットタイマカウンタ値(T15~T00) TQ コンペア制御 コンペアレジスタ1,3 ICP1 ICP0 ICE1 ICE0 コントロール制御部 コンペア1,3 割込み#29,#31 各制御ブロック コンペア0,2 割込み#29,#31 ■ アウトプットコンペアレジスタ (OCCP0 ∼ OCCP3) アウトプットコンペアレジスタ (OCCP0 ∼ OCCP3) のビット構成を , 図 12.2-11 に示し ます。 図 12.2-11 アウトプットコンペアレジスタ (OCCP0 ∼ OCCP3) のビット構成 bit ch.0 : 007919H ch.1 : 00791BH ch.2 : 00791DH ch.3 : 00791FH bit ch.0 : 007918H ch.1 : 00791AH ch.2 : 00791CH ch.3 : 00791EH 15 14 13 12 11 10 9 8 C15 C14 C13 C12 C11 C10 C09 C08 R/W R/W R/W R/W R/W R/W R/W R/W 7 6 5 4 3 2 1 0 C07 C06 C05 C04 C03 C02 C01 C00 R/W R/W R/W R/W R/W R/W R/W R/W OCCP0 ~ OCCP3 アウトプットコンペア レジスタ上位 初期値 XXXXXXXXB OCCP0 ~ OCCP3 アウトプットコンペア レジスタ下位 初期値 XXXXXXXXB アウトプットコンペアレジスタ (OCCP0 ∼ OCCP3) は , 16 ビットフリーランタイマと 比較する 16 ビット長のコンペアレジスタです。レジスタ値は初期値不定ですので , 設 定してから起動許可してください。OCCP0 ∼ OCCP3 レジスタは , ワードアクセスして ください。OCCP0 ∼ OCCP3 レジスタ値と 16 ビットフリーランタイマ値が一致したと き, コンペア信号が発生してアウトプットコンペア割込みフラグをセットします。また, 出力許可をしている場合は , コンペアレジスタに対応した出力レベルを反転します。 260 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 12 章 16 ビット入出力タイマ 12.2 16 ビット入出力タイマのレジスタ MB90330A シリーズ ■ アウトプットコンペアコントロールレジスタ (OCS0 ∼ OCS3) アウトプットコンペアコントロールレジスタ (OCS0 ∼ OCS3) のビット構成を , 図 12.212 に示します。 図 12.2-12 アウトプットコンペアコントロールレジスタ (OCS0 ∼ OCS3) のビット構成 bit ch.1 : 000055H ch.3 : 000057H bit ch.0 : 000054H ch.2 : 000056H 15 14 13 12 - - - - - - R/W 7 6 5 ICP1 ICP0 R/W R/W 11 10 9 OTE0 OTD1 R/W R/W R/W 4 3 2 1 ICE1 ICE0 - - CST1 R/W R/W - - R/W CMOD OTE1 8 OCS1/OCS3 OTD0 アウトプットコンペアコ ントロールレジスタ上位 R/W 初期値 ---00000B 0 OCS0/OCS2 CST0 アウトプットコンペアコ ントロールレジスタ下位 R/W 初期値 0000--00B 以下に , アウトプットコンペアコントロールレジスタ (OCS0 ∼ OCS3) の各ビットの機 能を説明します。 [bit15, bit14, bit13] 未定義ビット 読出し値は不定です。書込みは動作に影響を与えません。 [bit12] CMOD ( 出力レベル反転モードビット ) 端子出力を許可した場合 (OTE1=1 OR OTE0=1) のコンペア一致における端子出力レ ベル反転動作モードを切り換えます。 • CMOD=0 のとき ( 初期値 ) は , コンペアレジスタに対応したレベルを反転します。 - OUT0/OUT2: コンペアレジスタ 0/2 の一致によりレベルを反転します。 - OUT1/OUT3: コンペアレジスタ 1/3 の一致によりレベルを反転します。 • CMOD=1 のときは , コンペアレジスタ 0/2 は , CMOD=0 のときと同じく出力レベル を反転しますが , コンペアレジスタ 1/3 に対応した端子 (OUT1/OUT3) の出力レベル は , コンペアレジスタ 0/2 の一致とコンペアレジスタ 1/3 の一致の両方で出力レベル を反転します。コンペアレジスタ 0/2 と 1/3 が同値のときは , コンペアレジスタ 1 本 のときと同じ動作をします。 - OUT0/OUT2: コンペアレジスタ 0/2 の一致によりレベルを反転します。 - OUT1/OUT3: コンペアレジスタ 1/3 または 0/2 の一致によりレベルを反転します。 [bit11, bit10] OTE1, OTE0 ( 出力許可ビット ) アウトプットコンペアの端子出力を許可するビットです。初期値は "0" です。 0 汎用ポートとして動作します。 1 アウトプットコンペア端子出力になります。 ( 初期値 ) • OTE1: アウトプットコンペア 1/3 に対応 • OTE0: アウトプットコンペア 0/2 に対応 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 261 第 12 章 16 ビット入出力タイマ 12.2 16 ビット入出力タイマのレジスタ MB90330A シリーズ [bit9, bit8] OTD1, OTD0 ( 出力レベルビット ) アウトプットコンペアの端子出力を許可した場合の端子出力レベルを変更すると きに使用します。コンペア端子出力の初期値は "0" となります。書込み時は , コン ペア動作を停止してから行ってください。読出し時は , アウトプットコンペア端子 の出力値が読み出されます。 0 コンペア端子出力を "0" にします。 1 コンペア端子出力を "1" にします。 ( 初期値 ) • OTD1: アウトプットコンペア 1/3 に対応 • OTD0: アウトプットコンペア 0/2 に対応 [bit7, bit6] ICP1, ICP0 ( コンペア一致割込みフラグビット ) アウトプットコンペアの割込みフラグです。コンペアレジスタと 16 ビットフリー ランタイマ値が一致した場合に "1" にセットされます。割込み要求ビット (ICE1, ICE0) が許可されているとき ICP1, ICP0 ビットがセットされると , アウトプットコ ンペア割込みが発生します。"0" 書込みによりクリアされ , "1 書込みでは意味を持 ちません。リードモディファイ (RMW) 系では , "1" が読み出されます。 0 コンペア一致なし 1 コンペア一致あり ( 初期値 ) • ICP1: アウトプットコンペア 1/3 に対応 • ICP0: アウトプットコンペア 0/2 に対応 [bit5, bit4] ICE1, ICE0 ( コンペア一致割込み許可ビット ) アウトプットコンペアの割込み許可ビットです。ICE1, ICE0 ビットが "1" のとき割 込みフラグ (ICP1, ICP0) がセットされると , アウトプットコンペア割込みが発生し ます。 0 アウトプットコンペア割込み禁止 1 アウトプットコンペア割込み許可 ( 初期値 ) • ICE1: アウトプットコンペア 1/3 に対応 • ICE0: アウトプットコンペア 0/2 に対応 [bit3, bit2] 未定義ビット 読出し値は不定です。書込みは動作に影響を与えません。 262 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 12 章 16 ビット入出力タイマ 12.2 16 ビット入出力タイマのレジスタ [bit1, bit0] CST1, CST0 ( コンペア動作許可ビット ) 16 ビットフリーランタイマとの一致動作を許可するビットです。 0 コンペア動作禁止 1 コンペア動作許可 ( 初期値 ) • CST1: アウトプットコンペア 1/3 に対応 • CST0: アウトプットコンペア 0/2 に対応 コンペア動作を許可する前に , コンペアレジスタ値を設定してください。 <注意事項> アウトプットコンペアは , 16 ビットフリーランタイマのクロックと同期させているため , 16 ビットフリーランタイマを停止させるとコンペア動作も停止します。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 263 第 12 章 16 ビット入出力タイマ 12.2 16 ビット入出力タイマのレジスタ 12.2.3 MB90330A シリーズ インプットキャプチャ 本モジュールは , 外部から入力された信号の立上りエッジ , 立下りエッジまたは両 エッジを検出して , そのときの 16 ビットフリーランタイマ値をレジスタに保持する 機能を持っています。また , エッジ検出時に割込みを発生できます。 ■ インプットキャプチャ インプットキャプチャは , インプットキャプチャレジスタ , コントロールレジスタで構 成されています。各インプットキャプチャはそれぞれ対応した外部入力端子をもって います。 • 外部入力の有効エッジを 3 種類から選択可能です。 立上りエッジ / 立下りエッジ / 両エッジ • 外部入力の有効エッジを検出したときに割込みを発生できます。 ■ インプットキャプチャのブロックダイヤグラム 図 12.2-13 に , インプットキャプチャのブロックダイヤグラムを示します。 図 12.2-13 インプットキャプチャのブロックダイヤグラム 割込み#25 F2MC-16LX バス ICP1 ICP0 ICE1 ICE0 EG11 EG10 EG01 EG00 インプットキャプチャデータレジスタ0 エッジ検出 IN0 インプットキャプチャデータレジスタ1 エッジ検出 IN1 インプットキャプチャデータレジスタ2 エッジ検出 IN2 インプットキャプチャデータレジスタ3 エッジ検出 IN3 16ビットタイマカウンタ値(T15~T00) ICP3 ICP2 ICE3 ICE2 EG31 EG30 EG21 EG20 割込み#27 264 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 12 章 16 ビット入出力タイマ 12.2 16 ビット入出力タイマのレジスタ MB90330A シリーズ ■ インプットキャプチャのレジスタ一覧 図 12.2-14 に , インプットキャプチャのレジスタ一覧を示します。 図 12.2-14 インプットキャプチャのレジスタ一覧 bit 15 14 13 12 11 10 9 CP15 CP14 CP13 CP12 CP11 CP10 CP09 ch.2 : 007915H ch.3 : 007917H R R R R R R R bit 7 6 5 4 3 2 1 CP07 CP06 CP05 CP04 CP03 CP02 CP01 ch.2 : 007914H ch.3 : 007916H R R R R R R R bit 15 14 13 12 11 10 9 ICP3 ICP2 ICE3 ICE2 EG31 EG30 EG21 R/W R/W R/W R/W R/W R/W R/W 7 6 5 4 3 2 1 ICP1 ICP0 ICE1 ICE0 EG11 EG10 EG01 R/W R/W R/W R/W R/W R/W R/W ch.0 : 007911H ch.1 : 007913H ch.0 : 007910H ch.1 : 007912H 000053H bit 000052H 8 IPCP0 ~ IPCP3 CP08 インプットキャプチャ データレジスタ上位 R 初期値 XXXXXXXXB 0 IPCP0 ~ IPCP3 CP00 インプットキャプチャ データレジスタ下位 R 初期値 XXXXXXXXB 8 ICS23 インプットキャプチャ EG20 コントロールステータス レジスタ 23 R/W 初期値 00000000B 0 ICS01 インプットキャプチャ EG00 コントロールステータス レジスタ 01 R/W 初期値 00000000B ■ インプットキャプチャデータレジスタ (IPCP0 ∼ IPCP3) インプットキャプチャデータレジスタ (IPCP0 ∼ IPCP3) のビット構成を , 図 12.2-15 に 示します。 図 12.2-15 インプットキャプチャデータレジスタ (IPCP0 ∼ IPCP3) のビット構成 bit ch.0 : 007911H ch.1 : 007913H ch.2 : 007915H ch.3 : 007917H bit ch.0 : 007910H ch.1 : 007912H ch.2 : 007914H ch.3 : 007916H 15 14 13 12 11 10 9 CP15 CP14 CP13 CP12 CP11 CP10 CP09 R R R R R R R 7 6 5 4 3 2 1 CP07 CP06 CP05 CP04 CP03 CP02 CP01 R R R R R R R 8 IPCP0 ~ IPCP3 CP08 インプットキャプチャ データレジスタ上位 R 初期値 XXXXXXXXB 0 IPCP0 ~ IPCP3 CP00 インプットキャプチャ データレジスタ下位 R 初期値 XXXXXXXXB インプットキャプチャデータレジスタ (IPCP0 ∼ IPCP3) は , 対応した外部端子入力波形 の有効エッジを検出したとき 16 ビットフリーランタイマ値を保持するレジスタです。 IPCP0 ∼ IPCP3 レジスタは , ワードアクセスをしてください。IPCP0 ∼ IPCP3 レジスタ に書き込むことはできません。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 265 第 12 章 16 ビット入出力タイマ 12.2 16 ビット入出力タイマのレジスタ MB90330A シリーズ ■ インプットキャプチャコントロールステータスレジスタ (ICS01, ICS23) インプットキャプチャコントロールステータスレジスタ (ICS01, ICS23) のビット構成 を , 図 12.2-16 に示します。 図 12.2-16 インプットキャプチャコントロールステータスレジスタ (ICS01, ICS23) のビット構成 bit 000053H bit 000052H 15 14 13 12 11 10 9 8 ICP3 ICP2 ICE3 ICE2 EG31 EG30 EG21 R/W R/W R/W R/W R/W R/W R/W 7 6 5 4 3 2 1 ICP1 ICP0 ICE1 ICE0 EG11 EG10 EG01 R/W R/W R/W R/W R/W R/W R/W ICS23 インプットキャプチャ EG20 コントロールステータス レジスタ 23 R/W 初期値 00000000B 0 ICS01 インプットキャプチャ EG00 コントロールステータス レジスタ 01 R/W 初期値 00000000B 以下に , インプットキャプチャコントロールステータスレジスタ (ICS01, ICS23) の各 ビットの機能を説明します。 [bit15, bit14, bit7, bit6] ICP3, ICP2, ICP1, ICP0 ( 有効エッジ検出フラグビット ) インプットキャプチャ割込みフラグです。外部入力端子の有効エッジを検出すると , ICP3 ∼ ICP0 ビットを "1" にセットします。割込み許可ビット (ICE3, ICE2, ICE1, ICE0) がセットされていると , 有効エッジを検出することにより割込みを発生させ ることができます。 "0" 書込みによりクリアされます。"1" 書込みは意味を持ちません。リードモディ ファイライト (RMW) 系命令では , "1" が読み出されます。 0 有効エッジ検出なし 1 有効エッジ検出あり ( 初期値 ) ICPn: n の番号がインプットキャプチャのチャネル番号に対応します。 [bit13, bit12, bit5, bit4] ICE3, ICE2, ICE1, ICE0 ( キャプチャ割込み許可ビット ) インプットキャプチャ割込み許可ビットです。ICE3 ∼ ICE0 ビットが "1" のとき割 込みフラグ ICP3 ∼ ICP0 がセットされると , インプットキャプチャ割込みが発生し ます。 0 割込み禁止 1 割込み許可 ( 初期値 ) ICEn: n の番号がインプットキャプチャのチャネル番号に対応します。 266 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 12 章 16 ビット入出力タイマ 12.2 16 ビット入出力タイマのレジスタ MB90330A シリーズ [bit11 ∼ bit8, bit3 ∼ bit0] EG31, EG30, EG21, EG20, EG11, EG10, EG01, EG00 ( エッジ選択ビット ) 外部入力の有効エッジ極性を指定します。インプットキャプチャ動作許可も兼用し ています。 EGn1 EGn0 0 0 エッジ検出なし ( 停止状態 ) 0 1 立上りエッジ検出 1 0 立下りエッジ検出 1 1 両エッジ検出 エッジ検出極性 ( 初期値 ) EGn1/EGn0: n の番号がインプットキャプチャのチャネル番号に対応します。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 267 第 12 章 16 ビット入出力タイマ 12.3 16 ビット入出力タイマの動作 12.3 MB90330A シリーズ 16 ビット入出力タイマの動作 16 ビット入出力タイマの動作およびタイミングについて説明します。 ■ 16 ビット入出力タイマの動作 , タイミング 16 ビット入出力タイマの動作 , タイミングとして以下の項目について説明します。 • 16 ビットフリーランタイマの動作 • 16 ビットアウトプットコンペアの動作 • 16 ビットインプットキャプチャの動作 • 16 ビットフリーランタイマのタイミング - カウントタイミング - クリアタイミング • アウトプットコンペアのタイミング - コンペア動作のタイミング - 割込みタイミング - 出力端子の変化タイミング • インプットキャプチャの入力タイミング 入力信号に対するキャプチャタイミング 268 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 12 章 16 ビット入出力タイマ 12.3 16 ビット入出力タイマの動作 MB90330A シリーズ 16 ビットフリーランタイマの動作 12.3.1 16 ビットフリーランタイマの動作およびタイミングについて説明します。 ■ 16 ビットフリーランタイマの動作 16 ビットフリーランタイマは , リセット解除後にカウンタ値 "0000H" よりカウントを 開始します。このカウンタ値が , 16 ビットアウトプットコンペアと 16 ビットインプッ トキャプチャの基準時間となります。 カウント値は , 次の条件でクリアされます。 • オーバフローが発生したとき • コンペアクリアレジスタ値とコンペア一致したとき ( モード設定必要 ) • 動作中に TCCS レジスタの CLR ビットに "1" を書き込んだとき • 動作中に TCDT レジスタに "0000H" を書き込んだとき • リセット時 割込みはオーバフローが発生したとき , またはコンペアクリアレジスタ値と 16 ビット フリーランタイマのカウンタ値の比較結果が一致したとき発生します ( 比較結果一致 割込みは , モード設定が必要です )。 図 12.3-1 にオーバフローによるカウンタクリアのタイミングチャートを , 図 12.3-2 に 比較結果一致によるカウンタクリアのタイミングチャートを示します。 図 12.3-1 オーバフローによるカウンタクリアのタイミングチャート カウンタ値 FFFFH BFFFH 7FFFH 3FFFH 0000H 時間 リセット 割込み 図 12.3-2 比較結果一致によるカウンタクリアのタイミングチャート カウンタ値 FFFFH BFFFH 7FFFH 3FFFH 0000H 時間 リセット コンペアレジスタ値 BFFFH 割込み CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 269 第 12 章 16 ビット入出力タイマ 12.3 16 ビット入出力タイマの動作 12.3.2 MB90330A シリーズ 16 ビットアウトプットコンペアの動作 16 ビットアウトプットコンペアは , 設定されたコンペアレジスタ値と 16 ビットフ リーランタイマとの値を比較して , 一致していたら割込み要求フラグをセットする とともに , 出力レベルを反転します。 ■ 出力波形例 以下に , 出力波形例を示します。 ● コンペアレジスタ 0, 1 を使用した場合の出力波形例 出力の初期値を "0" とした場合の出力波形例を , 図 12.3-3 に示します。 図 12.3-3 コンペアレジスタ 0, 1 を使用した場合の出力波形例 ( 出力の初期値 =0, CMOD=0) カウンタ値 FFFFH BFFFH 7FFFH 3FFFH 0000H 時間 リセット コンペアレジスタ0値 コンペアレジスタ1値 BFFFH 7FFFH OUT0 コンペア0に対応 OUT1 コンペア1に対応 コンペア0割込み コンペア1割込み 2 組のコンペアレジスタを使って出力レベルを変えることができます (CMOD=1 のと き )。 270 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 12 章 16 ビット入出力タイマ 12.3 16 ビット入出力タイマの動作 ● 2 組のコンペアレジスタによる出力波形例 出力の初期値を "0" とした場合の出力波形例を , 図 12.3-4 に示します。 図 12.3-4 2 組のコンペアレジスタによる出力波形例 ( 出力の初期値 =0, CMOD=1) カウンタ値 FFFFH BFFFH 7FFFH 3FFFH 0000H 時間 リセット コンペアレジスタ0値 コンペアレジスタ1値 BFFFH 7FFFH OUT0 コンペア0に対応 OUT1 コンペア1に対応 コンペア0割込み コンペア1割込み <注意事項> コンペアレジスタを書き換える場合は コンペア割込みのルーチン内で行うか コンペア動 作禁止の状態で行い , コンペア一致と書込みが同時に発生しないようにしてください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 271 第 12 章 16 ビット入出力タイマ 12.3 16 ビット入出力タイマの動作 MB90330A シリーズ 16 ビットインプットキャプチャの動作 12.3.3 16 ビットインプットキャプチャは , 設定された有効エッジを検出すると 16 ビットフ リーランタイマの値をキャプチャレジスタに取り込んで割込みを発生できます。 ■ インプットキャプチャの取込みタイミング例 図 12.3-5 に , インプットキャプチャの取込みタイミング例を示します。 図 12.3-5 インプットキャプチャの取込みタイミング例 カウンタ値 FFFFH BFFFH 7FFFH 3FFFH 0000H 時間 リセット IN0 IN1 IN例 キャプチャ0 不定 キャプチャ1 不定 キャプチャ例 不定 3FFFH 7FFFH BFFFH 7FFFH キャプチャ0割込み キャプチャ1割込み キャプチャ例割込み 272 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 12 章 16 ビット入出力タイマ 12.3 16 ビット入出力タイマの動作 MB90330A シリーズ 16 ビットフリーランタイマのタイミング 12.3.4 16 ビットフリーランタイマは , 入力されたクロック ( 内部または外部クロック ) に よりカウントアップされます。外部クロック選択時は , 立上りエッジでカウントさ れます。 ■ フリーランタイマのカウントタイミング 図 12.3-6 に , フリーランタイマのカウントタイミングを示します。 図 12.3-6 フリーランタイマのカウントタイミング φ 外部クロック入力 カウントクロック N+1 N カウンタ値 カウンタのクリアはリセット , ソフトウェアおよびコンペアクリアレジスタとの一致 で行うことができます。リセットとソフトウェアでのカウンタクリアは , クリア発生と ともに行われます。コンペアクリアレジスタとの一致によるカウンタクリアは , カウン トタイミングに同期して行われます。 ■ フリーランタイマのクリアタイミング ( コンペアクリアレジスタとの一致 ) 図 12.3-7 に , コンペアクリアレジスタとの一致によるフリーランタイマのクリアタイ ミングを示します。 図 12.3-7 フリーランタイマのクリアタイミング ( コンペアクリアレジスタとの一致 ) φ N コンペアクリアレジスタ値 コンペアマッチ カウンタ値 CM44-10129-6 N FUJITSU MICROELECTRONICS LIMITED 0000H 273 第 12 章 16 ビット入出力タイマ 12.3 16 ビット入出力タイマの動作 MB90330A シリーズ アウトプットコンペアのタイミング 12.3.5 アウトプットコンペアは , フリーランタイマと設定したコンペアレジスタの値が一 致したときにコンペア一致信号が発生して出力値を反転するとともに割込みを発生 できます。コンペア一致時の出力反転タイミングはカウンタタイミングに同期して 行われます。 ■ 割込みタイミング 図 12.3-8 に , アウトプットコンペアの割込みタイミングを示します。 図 12.3-8 アウトプットコンペアの割込みタイミング φ カウンタ値 N+1 N N コンペアレジスタ値 コンペアマッチ コンペアマッチ ■ 出力端子の変化タイミング 図 12.3-9 に , アウトプットコンペアの出力端子の変化タイミングを示します。 図 12.3-9 アウトプットコンペアの出力端子の変化タイミング カウンタ値 コンペアレジスタ値 N N+1 N N+1 N コンペアマッチ信号 出力端子 <注意事項> コンペアレジスタを書き換える場合は , コンペア割込みのルーチン内で行うか , コンペア 動作禁止の状態で行い , コンペア一致と書込みが同時に発生しないようにしてください。 274 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 12 章 16 ビット入出力タイマ 12.3 16 ビット入出力タイマの動作 MB90330A シリーズ インプットキャプチャの入力タイミング 12.3.6 インプットキャプチャの入力信号に対するキャプチャタイミングを示します。 ■ 入力信号に対するキャプチャタイミング 図 12.3-10 に , インプットキャプチャの入力信号に対するキャプチャタイミングを示し ます。 図 12.3-10 インプットキャプチャの入力信号に対するキャプチャタイミング φ カウンタ値 インプットキャプチャ入力 N N+1 有効エッジ キャプチャ信号 N+1 キャプチャレジスタ 割込み CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 275 第 12 章 16 ビット入出力タイマ 12.3 16 ビット入出力タイマの動作 276 MB90330A シリーズ FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 13 章 USB ファンクション USB ファンクションの機能と概要について説明し ます。 13.1 USB ファンクションの概要 13.2 USB ファンクションのブロックダイヤグラム 13.3 USB ファンクションのレジスタ 13.4 USB ファンクションの動作説明 管理番号 : CM44-00104-1 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 277 第 13 章 USB ファンクション 13.1 USB ファンクションの概要 13.1 MB90330A シリーズ 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 のバッファ 以外 ) 278 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 13 章 USB ファンクション 13.2 USB ファンクションのブロックダイヤグラム MB90330A シリーズ USB ファンクションのブロックダイヤグラム 13.2 図 13.2-1 に , USB ファンクションのブロックダイヤグラムを示します。 ■ USB ファンクションのブロックダイヤグラム 図 13.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 279 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ 13.3 MB90330A シリーズ USB ファンクションのレジスタ USB ファンクションで使用するレジスタの構成 , および機能について説明します。 ■ USB ファンクションのレジスタ一覧 図 13.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 ビット 280 (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-10129-6 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ 図 13.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 281 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ ( 続き ) 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) ( 続く ) 282 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ ( 続き ) 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-10129-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 283 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ UDC 制御レジスタ (UDCC) 13.3.1 UDC 制御レジスタ (UDCC) は , UDC コア回路の制御を行います。 ■ UDC 制御レジスタ (UDCC) 図 13.3-3 に , UDC 制御レジスタ (UDCC) のビット構成を示します。 図 13.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 284 動作モード 0 USB ファンクションのリセット解除 1 USB ファンクションをリセット FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ <注意事項> 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-10129-6 動作モード 0 通常モード 1 USB 動作部のクロック停止 FUJITSU MICROELECTRONICS LIMITED 285 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ <注意事項> 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 286 動作モード 0 バス電源 1 自己電源 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ EP0 制御レジスタ (EP0C) 13.3.2 EP0 制御レジスタ (EP0C) は , エンドポイント 0 に関する制御を行います。 ■ EP0 制御レジスタ (EP0C) 図 13.3-4 に , EP0 制御レジスタ (EP0C) のビット構成を示します。 図 13.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 287 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ [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" の設定は禁止です。 288 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C) 13.3.3 EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C) は , エンドポイント 1 ∼ 5 に関する制御 を行います。 ■ EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C) 図 13.3-5 に EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C) のビット構成を示します。 図 13.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 289 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ [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 290 動作モード 0 自動バッファ転送モードの解除 1 自動バッファ転送モードのセット FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ <注意事項> 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-10129-6 FUJITSU MICROELECTRONICS LIMITED 291 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ 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 設定は禁止となります。 292 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ タイムスタンプレジスタ (TMSP) 13.3.4 タイムスタンプレジスタ (TMSP) は , SOF パケット受信時のフレーム番号の表示を 行います。 ■ タイムスタンプレジスタ (TMSP) 図 13.3-6 に , タイムスタンプレジスタ (TMSP) のビット構成を示します。 図 13.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 293 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ UDC ステータスレジスタ (UDCS) 13.3.5 UDC ステータスレジスタ (UDCS) は , USB 通信上のバスの状態や , 特定のコマンド 受信状態を示すレジスタです。SETP を除く各ビットは割込み要因となっており , 対 応する割込み許可ビットが有効指定されていれば CPU へ割込みが発生します。 ■ UDC ステータスレジスタ (UDCS) 図 13.3-7 に , UDC ステータスレジスタ (UDCS) のビット構成を示します。 図 13.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 294 動作モード 0 SOF 未受信・割込み要因クリア 1 SOF パケットを受信 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ [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-10129-6 FUJITSU MICROELECTRONICS LIMITED 295 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ [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 296 動作モード 0 SetConfig 未検出・割込み要因クリア 1 SetConfig を検出 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ 13.3.6 UDC 割込み許可レジスタ (UDCIE) UDC 割込み許可レジスタ (UDCIE) は , UDC ステータスレジスタの各割込み要因に よる割込み CONFN を除き , ビットごとに許可するレジスタです。 ■ UDC 割込み許可レジスタ (UDCIE) 図 13.3-8 に , UDC 割込み許可レジスタ (UDCIE) のビット構成を示します。 図 13.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-10129-6 動作モード 0 BRST 要因による割込み禁止 1 BRST 要因による割込み許可 FUJITSU MICROELECTRONICS LIMITED 297 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ [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 298 動作モード 0 CONF 要因による割込み禁止 1 CONF 要因による割込み許可 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ EP0I ステータスレジスタ (EP0IS) 13.3.7 EP0I ステータスレジスタ (EP0IS) は , エンドポイント 0 の In 方向転送に関するス テータス表示を行います。 ■ EP0I ステータスレジスタ (EP0IS) 図 13.3-9 に , EP0I ステータスレジスタ (EP0IS) のビット構成を示します。 図 13.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 299 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ [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] 未定義ビット 書込みは動作に影響しません。読出し時は不定です。 300 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ EP0O ステータスレジスタ (EP0OS) 13.3.8 EP0O ステータスレジスタ (EP0OS) は , エンドポイント 0 の Out 方向転送に関する ステータス表示を行います。 ■ EP0O ステータスレジスタ (EP0OS) 図 13.3-10 に , EP0O ステータスレジスタ (EP0OS) のビット構成を示します。 図 13.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 301 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ [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 応答します。 302 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ [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-10129-6 FUJITSU MICROELECTRONICS LIMITED 303 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ 13.3.9 MB90330A シリーズ EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S) EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S) は , エンドポイント 1 ∼ 5 に関す るステータス表示を行います。 ■ EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S) 図 13.3-11 に , EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S) のビット構成を示します。 図 13.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)の各ビットの機能を説明します。 304 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ [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-10129-6 FUJITSU MICROELECTRONICS LIMITED 305 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ [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" 書込みは禁止です。 306 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ MB90330A シリーズ [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-10129-6 FUJITSU MICROELECTRONICS LIMITED 307 第 13 章 USB ファンクション 13.3 USB ファンクションのレジスタ 13.3.10 MB90330A シリーズ EP0 ∼ EP5 データレジスタ (EP0DT ∼ EP5DT) EP0 ∼ EP5 データレジスタ (EP0DT ∼ EP5DT) は , エンドポイント 0 ∼ 5 に関する転 送データの送受信バッファへのリードまたはライトのアクセスレジスタになります。 ■ EP0 ∼ EP5 データレジスタ (EP0DT ∼ EP5DT) 図 13.3-12 に , EP0 ∼ EP5 データレジスタ (EP0DT ∼ EP5DT) のビット構成を示します。 図 13.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 レ ジスタへのアクセスは禁止です。 308 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 13 章 USB ファンクション 13.4 USB ファンクションの動作説明 MB90330A シリーズ 13.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 による構成セット を受信しないと動作しません。 図 13.4-1 USB ケーブル端子接続例 方向 USB バス接続検出 ホスト←デバイス 動作概要 USB バス上のプルアップをホストが検出する まで動作は行われません。 ディスクリプタ情 報の取得 ホスト←デバイス ディスクリプタのデータをホストに返します。 デバイスアドレス の設定 ホスト→デバイス ホストから任意のアドレスを割り当てられます。 ディスクリプタ情報 ホスト←デバイス の取得(デバイス) ディスクリプタのデータをホストに返します。 ディスクリプタ情報 ホスト←デバイス の取得(構成) ディスクリプタのデータをホストに返します。 構成の設定 CM44-10129-6 ホスト→デバイス ホストから構成番号を割り当てられます。 FUJITSU MICROELECTRONICS LIMITED 309 第 13 章 USB ファンクション 13.4 USB ファンクションの動作説明 MB90330A シリーズ ● 接続検出 デバイスからホスト PC に通知します。 ホストは USB バスの 2 本の信号線 (D+, D − ) を監視し , どちらかの信号が "H" レベル になることによりデバイスが接続されることを認識します。 自己電源デバイスとして使用する場合の詳細な手順は「13.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 ファンクションを初期化 ② 使用する送受信バッファ , 関係する制御レジスタを再設定 ③ ファームの制御をエニュメレーション前に戻します。 310 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 13 章 USB ファンクション 13.4 USB ファンクションの動作説明 MB90330A シリーズ ● ディスクリプタの取得 ホスト PC からデバイスに要求がありデータをホストに通知します。 詳細には以下の 3 つのステージに分かれて通信されます 。 図 13.4-2 通信ステージ セットアップステージ → データステージ → ステータスステージ セットアップステージでは , ホスト PC から正常にパケットが受信されたか確認し , そ のコマンドが何かをデコードします。また , 次のデータステージで返すディスクリプタ の情報を送信バッファに用意します。データステージでは単にホスト PC からデータが 正常に送信されたかを確認します。ステータスステージでは , ホスト PC がデータなし パケットの転送をしますので終了処理をします。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 311 第 13 章 USB ファンクション 13.4 USB ファンクションの動作説明 MB90330A シリーズ 接続検出と切断検出 13.4.1 USB ホストとの接続検出と切断検出について説明します。 ■ USB システムの接続例 外部割込み端子を USB コネクタの VBUS ピンに接続し , プルダウン抵抗を接続するこ とで USB ホストとの接続と切断を検出することができます。図 13.4-3 に ,USB コネク タの D+, D-, VBUS との接続例を示します。 図 13.4-3 USB システム接続例 USBデバイス機器 Bコネクタ 本デバイス USBホスト VBUS(5V) VBUS 外部割込み (3.3V) D+ D- D- USB D+ I/O I/O USB HCON ● 接続検出 図 13.4-4 接続検出時の動作 HOSTと接続 VBUS 外部割込み許可 ENx 要因レベルの変更 ERx {LBx,LAx} {0,1} {0,0} HCON 接続許可 VBUSが安定する期間 デバイスは以下の順序によりホスト PC との接続を認識し , 処理します。 ① VBUS に接続した外部割込みの要因レベルを "H" レベル検出に設定し , 割込み許 可します。 ② 外部割込み端子の "H" レベル検出で USB ホストが接続されたことを認識して VBUS が安定する期間を待ちます。 312 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 13 章 USB ファンクション 13.4 USB ファンクションの動作説明 MB90330A シリーズ ③ 外部割込みをいったん禁止にします。外部割込み要因レベルを "L" レベル検出に 設定変更し,割込み要因のクリアして再び外部割込みを許可します。 ④ 初期設定 (USB ファンクションレジスタを含むすべての初期化 )「レジスタ初期 設定例と動作開始手順例」参照してください。 ⑤ UDCC レジスタの HCON ビットをクリアし ,D+ のプルアップ抵抗を接続します ( プルアップ抵抗の制御をしていない場合でも HCON ビットもクリアします )。 <注意事項> 外部割込み端子にノイズフィルタを外付けした場合は上記の VBUS 安定期間をプログラ ムでとる必要はありません。 ● 切断検出 図 13.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 313 第 13 章 USB ファンクション 13.4 USB ファンクションの動作説明 13.4.2 MB90330A シリーズ コマンド応答時の各レジスタ動作 基本となるレジスタの動作および制御より USB パケットの処理方法 ( アーキテク チャ ) を説明します。CPU 割込みによるファームウェアの処理はハンドシェークご とに処理します。これは各パケットのステージ単位に処理することに等しくなります。 ■ リードコマンド応答時の各レジスタ動作 GetDescripter, SynchFrame, クラスベンダーコマンドの場合 図 13.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 で応答してください。 314 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 13 章 USB ファンクション 13.4 USB ファンクションの動作説明 MB90330A シリーズ ● コマンド終了処理 OUT 方向のステータスステージが終了すると DRQO がセットされます。DRQO がセッ トされた時点で CPU 割込みに入り , 受信データ数 0 を確認し , 次のセットアップステー ジに備え , 割込み要因である DRQO をクリアして戻ります。 ■ ライトコマンド応答時の各レジスタ動作 SetDescripter, クラスベンダーコマンドの場合 図 13.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 315 第 13 章 USB ファンクション 13.4 USB ファンクションの動作説明 13.4.3 MB90330A シリーズ STALL 応答と解除 エンドポイント 0 の場合と , エンドポイント 1 ∼エンドポイント 5 の場合それぞれ に対して STALL 応答と解除方法について説明します。 ■ エンドポイント 0 の STALL 応答 / 解除について エンドポイント 0 の STALL 応答 / 解除制御は , EP0 制御レジスタ (EP0C) の STAL ビッ トにて行います。 • STAL ビットのセットタイミング STALL応答は, コントロール転送のセットアップステージである事を示すSETPビッ ト =1 検出 (DRQO ビット =1 割込み ) にてコマンドを解釈し , STALL 応答が必要な 場合に STAL ビットをセットします ( 図 13.4-8 参照 )。STAL ビットセット後に割込 み要因 (DRQO ビット ) をクリアしてください。 図 13.4-8 STAL ビットセットのタイミング アイドル期間 データステージ セットアップステージ トークン パケット データ パケット ハンドシェイク パケット トークン パケット データ パケット ハンドシェイク パケット DRQO ビット SETP ビット STAL ビット 316 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 13 章 USB ファンクション 13.4 USB ファンクションの動作説明 MB90330A シリーズ • STAL ビットのクリアタイミング STALL 解除は , コントロール転送のセットアップステージであることを示す SETP ビット =1 検出 (DRQO ビット =1 割込み ) にて STAL ビットクリアします ( 図 13.4-9 を参照してください )。 図 13.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 317 第 13 章 USB ファンクション 13.4 USB ファンクションの動作説明 MB90330A シリーズ ■ エンドポイント 1 ∼エンドポイント 5 の STALL 応答 / 解除について エンドポイント 1 ∼エンドポイント 5 の STALL 応答 / 解除制御は , EP1 ∼ EP5 制御レ ジスタ (EP1C ∼ EP5C) の STAL ビットと内部状態ビットで行われます。 • ソフト処理にて STALL 応答したい場合 ソフト処理で STALL 応答する場合の手順を図 13.4-10 に示します。STALL 応答する 場合 , 該当するエンドポイントの STAL ビットをソフトでセットします。このとき , 内部状態ビットは変化しません。次に , ホストから STAL ビットがセットされている エンドポイントに対してトランザクションが発生したとき , ハードが自動的に該当 エンドポイントの内部状態ビットをセットし , ホストに対して STALL 応答します。 一度 , 内部状態ビットがセットされた後は , STAL ビットをクリアしても , ホストか ら Clear Feature コマンドが発行されるまで , 内部状態ビットはセットされたままとな り , STALL 応答を継続します。また , Clear Feature コマンドで内部状態ビットがクリ アされても , STAL ビットがセットされている場合は , 該当するエンドポイントに対 するトランザクションが発生するたびに内部状態ビットがセットされるため STALL 応答を継続します。したがって , STALL 応答を解除するためには , STAL ビットをク リアし , さらに Clear Feature コマンドで内部状態ビットをクリアする必要がありま す。 318 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 13 章 USB ファンクション 13.4 USB ファンクションの動作説明 MB90330A シリーズ 図 13.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-10129-6 STAL ビット 0 FUJITSU MICROELECTRONICS LIMITED 319 第 13 章 USB ファンクション 13.4 USB ファンクションの動作説明 MB90330A シリーズ • ハードが自動で STALL 応答する場合 ハードが自動で STALL 応答する場合の手順を図 13.4-11 に示します。Set Feature コ マンドで STALL 応答設定された場合 , STAL ビットに関係なく , ハードが自動的に該 当エンドポイントの内部状態ビットをセットし , STALL 応答します。一度 , 内部状態 ビットがセットされた後は , STAL ビットに関係なく , ホストから Clear Feature コマ ンドでクリアされるまで , 内部状態ビットは保持されます。Clear Feature コマンドで 該当ビットがクリアされた後は , STAL ビットを参照するようになります。したがっ て , STALL 応答を解除するには , Clear Feature コマンドで内部状態ビットをクリアす る必要があります。 図 13.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 を指定 ) 320 データ ACK ハンドシェーク 内部状態ビット STALビット 0 0 Clear Feature コマンド で EPn が指定されると, 内部状態ビットが“0”に クリアされる。 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 13 章 USB ファンクション 13.4 USB ファンクションの動作説明 MB90330A シリーズ 13.4.4 サスペンド機能 USB デバイスはバス電源の構成ではサスペンド状態において 500 μA 以下に消費電 力を落とす必要があります。ここではデバイスがサスペンド状態に移行し , STOP モードに入れるまでを説明します。 ■ サスペンド処理 USB デバイスコアがサスペンド状態を検出した場合に UDCS レジスタの SUSP が有効 にセットされます。 以下にサスペンド処理する例を示します。 図 13.4-12 サスペンド動作 1ms ホストPC →デバイス SOF SUSP 1ms SOF サスペンド状態 3ms SOF リモートウェークアップ サポートの場合 2ms STP SUSPフラグ ソフトクリア ● サスペンド処理 USB バス上に 3 ms 以上動作がない場合 , USB ファンクションはサスペンドを検出し , UDCS レジスタの SUSP 割込み要因がセットされます。リモートウェイクアップをサ ポートするデバイスの場合はここからさらに 2 ms 待ち ( これはこの時間リモートウェ イクアップさせないためです ), ストップモードに設定します。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 321 第 13 章 USB ファンクション 13.4 USB ファンクションの動作説明 MB90330A シリーズ ウェイクアップ機能 13.4.5 USB デバイスをサスペンド状態からウェイクアップ状態にするには USB プロトコ ルで 2 つの手段があります。 • デバイスからのリモートウェイクアップ • ホスト PC からのウェイクアップ 各々について説明します。 ■ リモートウェイクアップ 図 13.4-13 リモートウェイクアップ動作 サスペンド状態 20ms 1ms 1ms RESUME SOF SOF ホストPC →デバイス デバイス →ホストPC RESUME 10ms 発振安定時間 RESUM STP INT端子 RESUM ソフトセット・クリア 外部割込み デバイスは以下の順序で処理が必要です。 ① 外部割込みでデバイスをストップモードから復帰させます。 ② UDCC レジスタの RESUM をセットします。 ③ UDCC レジスタの RESUM をクリアします。 ■ ホストからウェイクアップ 図 13.4-14 ホストからのウェイクアップ動作 サスペンド状態 20ms以上 ホストPC →デバイス RESUME 発振安定時間 WKUP 1ms 1ms SOF SOF WKUPフラグ ソフトクリア STP デバイスは以下の処理が必要です。 ① 発振安定時間が 10 ms を超えないように設定 ② WKUP 要因による割込みに入り , 割込み要因である UDCS の WKUP をクリアし割 込みから復帰します。 322 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 13 章 USB ファンクション 13.4 USB ファンクションの動作説明 MB90330A シリーズ 13.4.6 DMA 転送機能 USB ファンクションで通信するデータを送受信バッファと内蔵 RAM との間で DMA 転送することが可能です。DMA 転送には 1 パケット単位ごとに転送数を設定し転送 するパケット転送モードと , 設定した転送データ数分を 1 回の設定で転送するデー タ数自動転送モードの 2 つが選択できます。各 DMA 転送モードについて説明しま す。 ■ パケット転送モード • 1 パケット単位ごとに転送数を DMA に設定し転送終了後 , 割込み要因をクリアして 転送するパケット転送モードです。転送モードは各エンドポイントに対するどの バッファへのアクセスも可能です。 • OUT方向, IN方向のそれぞれでバッファをアクセスするタイミングを次に示します。 • OUT 方向 ( ホスト PC →デバイス ) 転送 図 13.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 323 第 13 章 USB ファンクション 13.4 USB ファンクションの動作説明 MB90330A シリーズ ● IN 方向 ( ホスト PC →デバイス ) 転送 図 13.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 方向のそれぞれでバッファをアクセスするタイミングを次に示します。 324 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 13 章 USB ファンクション 13.4 USB ファンクションの動作説明 MB90330A シリーズ 図 13.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 による割込み処理に入ることになりま す。 図 13.4-18 IN 方向 ( デバイス→ホスト PC) 転送 最終データ データ ホストPC →デバイス デバイス →ホストPC IN DRQフラグ* 自動クリア IN ACK DATA0 DRQフラグ* 自動クリア ACK DATA1 DMAE DRQIE DRQ DATA0 DATA1 DER(Enx) DMA送信バッファの PKS部分の書込み CM44-10129-6 DMA送信バッファの 残り部分の書込み FUJITSU MICROELECTRONICS LIMITED 325 第 13 章 USB ファンクション 13.4 USB ファンクションの動作説明 MB90330A シリーズ デバイスは OUT 方向転送 , IN 方向転送共に以下の順序で処理が必要です。 ① 転送する総データ数を DMA のデータカウンタレジスタ DDCT に設定し DER レジ スタで DMA を許可します。 ② DMAE, DRQIE を許可設定します。 ③ 転送後 , μDMAC の DSR レジスタの該当する割込み要因による割込みで必要に応じ て μDMAC の再設定を行い , フラグをクリアして割込み処理から復帰します。 *: EP1 ∼ EP5 はダブルバッファ構成となっており , アクセスしていないバッファに既 にデータが書き込まれている状態でアクセスしているバッファにデータが書き込 まれたときにのみクリアされ , アクセスしていない方のバッファが空の場合はクリ アされません。連続して DRQ による割込み処理に入ることになります。 326 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 13 章 USB ファンクション 13.4 USB ファンクションの動作説明 MB90330A シリーズ 13.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) 転送のみ 図 13.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 327 第 13 章 USB ファンクション 13.4 USB ファンクションの動作説明 328 MB90330A シリーズ FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 14 章 USB ホスト この章では , USB ホストの機能と動作について示 します。 14.1 USB ホストの特長 14.2 USB ホストの制限事項 14.3 USB ホストのブロックダイヤグラム 14.4 USB ホストのレジスタ 14.5 USB ホストの動作 14.6 USB ホストの各トークンフローチャート 管理番号 : CM44-00102-1 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 329 第 14 章 USB ホスト 14.1 USB ホストの特長 14.1 MB90330A シリーズ 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 エラー / トグルエラー / タイムアウト ) サポート • ウェイクアップ機能サポート 330 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 14 章 USB ホスト 14.2 USB ホストの制限事項 MB90330A シリーズ 14.2 USB ホストの制限事項 USB ホストの制限事項を示します。 ■ USB ホストの制限事項 表 14.2-1 USB ホストの制限事項 ホスト ○* ハブのサポート バルク転送 ○ コントロール転送 ○ インタラプト転送 ○ アイソクロナス転送 × Low Speed ○ Full Speed ○ 転送 転送スピード PRE パケットサポート × SOF パケットサポート ○ CRC エラー ○ トグルエラー ○ タイムアウト ○ 最大パケット<受信データ ○ エラー デバイスの接続・切断検出 ○ 転送スピード検出 ○ ○ : サポートしている × : サポートしていない * : Full Speed のみ対応し , HUB は 1 段までのサポートです。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 331 第 14 章 USB ホスト 14.3 USB ホストのブロックダイヤグラム 14.3 MB90330A シリーズ USB ホストのブロックダイヤグラム 図 14.3-1 に , USB ホストのブロックダイヤグラムを示します。 ■ USB ホストのブロックダイヤグラム 図 14.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 332 : ファンクションの送信データ信号 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ CM44-10129-6 第 14 章 USB ホスト 14.3 USB ホストのブロックダイヤグラム RX : ファンクションの受信データ信号 TXENL : ファンクションの送受信方向信号 HTX : ホストの送信データ信号 HRX : ホストの受信データ信号 HTXENL : ホストの送受信方向信号 FUJITSU MICROELECTRONICS LIMITED 333 第 14 章 USB ホスト 14.4 USB ホストのレジスタ 14.4 MB90330A シリーズ 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) ( 続く ) 334 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 14 章 USB ホスト 14.4 USB ホストのレジスタ MB90330A シリーズ ( 続き ) 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-10129-6 FUJITSU MICROELECTRONICS LIMITED 335 第 14 章 USB ホスト 14.4 USB ホストのレジスタ MB90330A シリーズ ( 続き ) ホストトークンエンドポイントレジスタ bit 7 アドレス : 0000CEH TGGL リード / ライト→ (R/W) 初期値→ (0) 336 6 5 4 3 2 1 TKNEN ENDPT (R/W) (000B) (R/W) (0000B) FUJITSU MICROELECTRONICS LIMITED 0 HTOKEN CM44-10129-6 第 14 章 USB ホスト 14.4 USB ホストのレジスタ MB90330A シリーズ 14.4.1 ホストコントロールレジスタ 0, 1(HCNT0/HCNT1) ホストコントロールレジスタ 0, 1(HCNT0/HCNT1) は , USB の動作モードおよび割 込みの設定を指定します。 ■ ホストコントロールレジスタ 0, 1(HCNT0/HCNT1) 図 14.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-10129-6 動作モード 0 HFCOMP の設定により割込み発生 1 割込み発生 FUJITSU MICROELECTRONICS LIMITED 337 第 14 章 USB ホスト 14.4 USB ホストのレジスタ MB90330A シリーズ [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ビットにより初期化されません。 338 CMPIRE 動作モード 0 完了時割込み禁止 1 完了時割込み許可 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 14 章 USB ホスト 14.4 USB ホストのレジスタ MB90330A シリーズ [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-10129-6 URST 動作モード 0 USB バス状態保持 1 バスリセット FUJITSU MICROELECTRONICS LIMITED 339 第 14 章 USB ホスト 14.4 USB ホストのレジスタ MB90330A シリーズ [bit0] HOST ( ホストモード ) LSI がファンクションかホストかを設定します。UDC 制御レジスタ (UDCC) の RST ビットにより初期化されませんので UDC 制御レジスタ (UDCC) の RST ビットが "1" のときに変更してください。 また , ファンクションモードからホストモードにする場合には UDC 制御レジスタ (UDCC) の HCON ビットを "1" にしてホスト PC または HUB と切断状態にしてくだ さい。ホストモードからファンクションモードにする場合 , ホストステータスレジ スタ (HSTATE) の SOFBUSY ビットを "0" にし , ホストトークンエンドポイントレ ジスタ (HTOKEN) の TKNEN ビットが 000B になっていることを確認して変更して ください。 340 HOST 動作モード 0 ファンクションモード 1 ホストモード FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 14 章 USB ホスト 14.4 USB ホストのレジスタ MB90330A シリーズ 14.4.2 ホスト割込みレジスタ (HIRQ) ホスト割込みレジスタ (HIRQ) は , USB ホストの割込み要求フラグを示します。 TCAN ビットを除いてホストコントロールレジスタ (HCNT0/HCNT1) の割込み許可 ビットの設定により割込みを発生させることができます。 ■ ホスト割込みレジスタ (HIRQ) 図 14.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-10129-6 RWKIRQ 動作モード 0 再起動による割込み要求なし 1 再起動による割込み要求あり FUJITSU MICROELECTRONICS LIMITED 341 第 14 章 USB ホスト 14.4 USB ホストのレジスタ MB90330A シリーズ [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 ビットにより初期化されません。 342 CNNIRQ 動作モード 0 デバイス接続検出による割込み要求なし 1 デバイス接続検出による割込み要求あり FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 14 章 USB ホスト 14.4 USB ホストのレジスタ MB90330A シリーズ [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-10129-6 SOFIRQ 動作モード 0 SOF トークン開始による割込み要求なし 1 SOF トークン開始による割込み要求あり FUJITSU MICROELECTRONICS LIMITED 343 第 14 章 USB ホスト 14.4 USB ホストのレジスタ 14.4.3 MB90330A シリーズ ホストエラーステータスレジスタ (HERR) ホストエラーステータスレジスタ (HERR) は , ホストモード時のデータ送信および 受信中にエラーが発生したかどうかを示すレジスタです。 ■ ホストエラーステータスレジスタ (HERR) 図 14.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" に設定してから行ってください。 344 TOUT 動作モード 0 タイムアウトなし 1 タイムアウトあり FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 14 章 USB ホスト 14.4 USB ホストのレジスタ MB90330A シリーズ [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-10129-6 ハンドシェーク bit9 bit8 0 0 ACK 0 1 NAK 1 0 STALL 1 1 NULL FUJITSU MICROELECTRONICS LIMITED 345 第 14 章 USB ホスト 14.4 USB ホストのレジスタ 14.4.4 MB90330A シリーズ ホスト状態ステータスレジスタ (HSTATE) ホスト状態ステータスレジスタ (HSTATE) は , デバイスの接続 , 転送モード等を USB 回路の状態を示すレジスタです。CLKSEL ビットは , ファンクションモードで も有効ですので注意してください。 ■ ホスト状態ステータスレジスタ (HSTATE) 図 14.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" 設定は禁止です。 346 CLKSEL 動作モード 0 Low Speed 用クロック 1 Full Speed 用クロック FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 14 章 USB ホスト 14.4 USB ホストのレジスタ MB90330A シリーズ [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 14.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-10129-6 CSTAT 動作モード 0 デバイス切断 1 デバイス接続 FUJITSU MICROELECTRONICS LIMITED 347 第 14 章 USB ホスト 14.4 USB ホストのレジスタ 14.4.5 MB90330A シリーズ 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) 図 14.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" に設定してから行ってください。 348 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 14 章 USB ホスト 14.4 USB ホストのレジスタ MB90330A シリーズ 14.4.6 リトライタイマ設定レジスタ (HRTIMER) リトライタイマ設定レジスタ (HRTIMER) は , トークンのリトライ時間を設定するレ ジスタです。 ■ リトライタイマ設定レジスタ (HRTIMER) 図 14.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 349 第 14 章 USB ホスト 14.4 USB ホストのレジスタ 14.4.7 MB90330A シリーズ ホストアドレスレジスタ (HADR) ホストアドレスレジスタ (HADR) は , トークンを送信する際のアドレスフィールド に使用されるレジスタです。 ■ ホストアドレスレジスタ (HADR) 図 14.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" に設 定してから行ってください。 350 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 14 章 USB ホスト 14.4 USB ホストのレジスタ MB90330A シリーズ 14.4.8 EOF 設定レジスタ (HEOF) EOF 設定レジスタ (HEOF) は , SOF トークン実行前のトークン禁止時間を設定する レジスタです。SOF 用タイマと HEOF レジスタのデータを比較し , HEOF レジスタ のデータより SOF タイマが小さい時に IN トークン , OUT トークン , SETUP トーク ンのいずれか実行要求があった場合 , SOF トークン実行後要求トークンを実行しま す。これは , ハードウェアで生成する SOF トークンとほかのトークンが同時に実行 しないようにしています。HEOF レジスタの時間単位は 1 ビット転送時間です。 ■ EOF 設定レジスタ (HEOF) 図 14.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 351 第 14 章 USB ホスト 14.4 USB ホストのレジスタ 14.4.9 MB90330A シリーズ FRAME 設定レジスタ (HFRAME) FRAME 設定レジスタ (HFRAME) は , SOF トークン時の FRAME Number を設定す るレジスタです。ホストトークンエンドポイントレジスタ (HTOKEN) の TKNEN ビットに SOF 起動をセットすると SOF タイマが起動され , その後 1 ms ごとに自動 的に SOF が送信されます。SOF が終了するごとに FRAME 設定レジスタは自動的 に +1 されます。 ■ FRAME 設定レジスタ (HFRAME) 図 14.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" に設定してから行ってください。 352 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 14 章 USB ホスト 14.4 USB ホストのレジスタ MB90330A シリーズ ホストトークンエンドポイントレジスタ (HTOKEN) 14.4.10 ホストトークンエンドポイントレジスタ (HTOKEN) は , トグル , エンドポイント , トークンを設定するレジスタです。 ■ ホストトークンエンドポイントレジスタ (HTOKEN) 図 14.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 353 第 14 章 USB ホスト 14.4 USB ホストのレジスタ MB90330A シリーズ 表 14.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" に設定してから行ってください。 354 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 14.5 第 14 章 USB ホスト 14.5 USB ホストの動作 USB ホストの動作 USB ホストの動作について説明します。 ■ USB ホストの動作 ● デバイスの接続 外部の USB 装置が接続されたことをソフトウェアで検出します。 ● USB バスのリセット USB バスをリセットします。 ● トークンパケット ホストモード時 , 3 種類のトークンを選択できます。 ● データパケット データパケットの送信 , 受信を行います。 ● ハンドシェークパケット ハンドシェークパケットにより , 送受信相手に状態を通知します。 ● リトライ機能 パケット終了時 , エラー等が発生した場合 , リトライし続けます。 ● SOF 割込み 割込みを発生します。 ● エラーステータス 各種エラーを表示します。 ● パケット終了 パケット終了すると割込みを発生します。 ● サスペンド・レジューム USB 回路をサスペンド・レジューム状態にします。 ● デバイスの切断 ホスト用端子の状態検出により切断されたことの判断をします。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 355 第 14 章 USB ホスト 14.5 USB ホストの動作 14.5.1 MB90330A シリーズ デバイスの接続 外部の 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" を設定 356 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 14 章 USB ホスト 14.5 USB ホストの動作 MB90330A シリーズ 図 14.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 357 第 14 章 USB ホスト 14.5 USB ホストの動作 14.5.2 MB90330A シリーズ 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" のときに実施してください。 図 14.5-2 デバイスへのリセットタイミング例 ホスト用端子D+ ≧10ms ホスト用端子DHCNTのURSTビット HSTATEのCSTATビット HIRQのURIRQビット (HCNT URIRE=1) HCNT URSTビット への"1"ライト 358 ≧2.5 μ s FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 14.5.3 第 14 章 USB ホスト 14.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 にします (「14.5.7 SOF 割込み」参照 )。そのとき , ホストコントロールレジスタ 0 (HCNT0) の CMPIRE ビットが "1" であれば , 割込みを発生します。割込みをクリアす るにはホスト割込みレジスタ (HIRQ) の CMPIRQ ビットに "0" を書き込んでください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 359 第 14 章 USB ホスト 14.5 USB ホストの動作 MB90330A シリーズ 図 14.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 設定レジスタのデータを大きく する必要があります (「14.4.8 EOF 設定レジスタ (HEOF)」参照 )。 360 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 14 章 USB ホスト 14.5 USB ホストの動作 MB90330A シリーズ 図 14.5-4 SOF タイミング SOF開始 SOF開始 EOF設定時間 EOF設定時間 1ms CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED EOF>1パケット時間 361 第 14 章 USB ホスト 14.5 USB ホストの動作 14.5.4 MB90330A シリーズ データパケット トークンパケット送出後 , データパケットの送信の場合 , ホストトークンエンドポイ ントレジスタ (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" をセットします。 362 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 14.5.5 第 14 章 USB ホスト 14.5 USB ホストの動作 ハンドシェークパケット ハンドシェークパケットにより , 送受信相手に自分の状態を通知します。 ■ ハンドシェークパケット ハンドシェークパケットは , データ受信に対し正常に受信できる状態にあるか , またエ ンドポイントがサポートしているか等を判断して受信側が ACK, NAK, STALL のいず れかを送出します。そのとき , USB 回路はハンドシェークパケットを受信した場合は , 受信したハンドシェークパケットをホストエラーステータスレジスタ (HERR) の HS ビットにセットします。ハンドシェークパケットを送信した場合は送信したハンド シェークパケットをホストエラーステータスレジスタ (HERR) の HS ビットにセットし ます。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 363 第 14 章 USB ホスト 14.5 USB ホストの動作 14.5.6 MB90330A シリーズ リトライ機能 パケット終了時 , 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 となり , パケットが終了した時点でリトライ要 求がきてもリトライ要求はキャンセルし , パケットを終了します。 図 14.5-5 リトライタイマ動作 (HIRQ の SOFIRQ=0) トークン開始 EOF SOF リトライ トークン実行 タイマカウントダウン タイマストップ タイマリスタート リトライ発生 リトライが終了したとき , その終了パケットの終了情報が各レジスタにセットされま す。 364 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 14 章 USB ホスト 14.5 USB ホストの動作 MB90330A シリーズ SOF 割込み 14.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 番号かを選択できます。 図 14.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 365 第 14 章 USB ホスト 14.5 USB ホストの動作 MB90330A シリーズ ジスタ (HTOKEN) の TKNEN ビットに実行させたいトークンを書き込んでください。 ホストコントロールレジスタ 1(HCNT1) の CANCEL ビットを "0" にした場合には SOF 送信後 , ホストトークンエンドポイントレジスタ (HTOKEN) に設定されたトークンを 実行します。 図 14.5-7 HCNT1 の CANCEL ビット =1 のトークンキャンセル動作例 INトークンライト SOF 実行 EOF領域 HIRQのSOFIRQ ビット HTOKENのTKNENビット 000B 010B 000B HIRQのCMPIRQビット "0" 図 14.5-8 HCNT1 の CANCEL ビット =0 のトークン動作例 INトークンライト EOF領域 SOF 実行 INトークン実行 HIRQのSOFIRQ ビット HTOKENのTKNENビット 000B 010B 000B HIRQのCMPIRQ ビット 366 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 14.5.8 第 14 章 USB ホスト 14.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 367 第 14 章 USB ホスト 14.5 USB ホストの動作 MB90330A シリーズ パケット終了 14.5.9 USB ホストにおいて 1 パケット終了するとホストコントロールレジスタ 0 (HCNT0) の CMPIRE ビットが "1" のとき , 割込みが発生しホスト割込みレジスタ (HIRQ) の CMPIRQ ビットを "1" にします。 ■ パケット終了タイミング 1 パケット終了すると以下のタイミングで割込みが発生します。 • ホストトークンエンドポイントレジスタ (HTOKEN) の TKNEN ビットが 001B, 010B, 011B のとき (SETUP トークン , IN トークン , OUT トークン ) 図 14.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 トークン ) 図 14.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 368 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 14 章 USB ホスト 14.5 USB ホストの動作 MB90330A シリーズ サスペンド・レジューム 14.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" にセットされた後トークンの 発行が可能となります。各条件による動作タイミングは以下のとおりです。 図 14.5-11 レジスタによるレジューム動作 (Full Speed モード時 ) (1) ホスト状態ステータスレジスタ(HSTATE)のSUSPビットに"0"をライト HCNTのビット2に "0"ライト ホスト用端子D+ ホスト用端子D20μs* 1.33μs* 1ビット時間 HIRQのRWKIRQビット (RWKIRE=1) :USBホストからの出力 :プルアップ,プルダウン抵抗によるドライブ *:数値は保証するものではありません。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 369 第 14 章 USB ホスト 14.5 USB ホストの動作 MB90330A シリーズ 図 14.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ホストからの出力 :デバイスからの出力 :プルアップ,プルダウン抵抗によるドライブ *:数値は保証するものではありません 図 14.5-13 デバイス切断によるレジューム動作 (3) デバイスが切断されたことを検出 デバイスが切断されたことを検出 切断 ホスト用端子D+ ホスト用端子D- HIRQのRWKIRQビット (RWKIRE=1) HIRQ ビット1 (DIRE=1) 割込み発生 HSTATEのCSTATビット 2.5 μ s 以上 :プルアップ,プルダウン抵抗によるドライブ 370 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 14 章 USB ホスト 14.5 USB ホストの動作 MB90330A シリーズ 図 14.5-14 デバイス接続によるレジューム動作 (4) デバイスが接続されたことを検出 接続 ホスト用端子D+ ホスト用端子D- HIRQのRWKIRQビット (RWKIRE=1) HIRQ ビット2 (DIRE=1) 割込み発生 HSTATEのCSTATビット 2.5 μ s 以上 :プルアップ,プルダウン抵抗によるドライブ CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 371 第 14 章 USB ホスト 14.5 USB ホストの動作 14.5.11 MB90330A シリーズ デバイスの切断 ホスト用端子 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" になりません。 372 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 14 章 USB ホスト 14.6 USB ホストの各トークンフローチャート MB90330A シリーズ 14.6 USB ホストの各トークンフローチャート USB ホストの各トークンのフローチャートは以下のとおりです。 ■ IN, OUT, SETUP トークン 図 14.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 373 第 14 章 USB ホスト 14.6 USB ホストの各トークンフローチャート MB90330A シリーズ ■ SOF トークン 図 14.6-2 SOF トークン時のフローチャート SOFトークン HFRAME変更? YES NO HEOF変更? HFRAME変更 YES NO HEOF変更 トークン実行 (TGGL,ENDPTの設定は無視) HIRQのCMPIRQ=1? NO YES 終了 374 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 15 章 PWC タイマ この章では , PWC タイマの概要 , レジスタの構成 / 機能 , PWC タイマの動作および PWC タイマの使 用上の注意について説明します。 15.1 PWC タイマの概要 15.2 PWC タイマのレジスタ 15.3 PWC タイマの動作 15.4 PWC タイマの使用上の注意 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 375 第 15 章 PWC タイマ 15.1 PWC タイマの概要 15.1 MB90330A シリーズ PWC タイマの概要 PWC タイマは , 入力信号のパルス幅測定機能を持つ , 16 ビットの多機能アップカウ ントタイマです。 PWC: Pulse Width Count( パルス幅測定 ) ■ PWC タイマの機能 ハードウェアとして , 16 ビットアップカウントタイマ 1 個 , 入力パルス分周器 & 分周 比制御レジスタ 1 個 , 測定入力端子 1 本 , 16 ビット制御レジスタ 1 個を 1 チャネルとし て , 合計 1 チャネルを有し , これらによって以下の機能を実現します。 ● タイマ機能 • 設定された時間ごとに割込み要求を発生できます。 • 基準となる内部クロックは , 3 種類より選択できます。 ● パルス幅測定機能 • 外部からのパルス入力の任意イベント間の時間を測定します。 • 基準となる内部クロックは , 3 種類より選択できます。 • 各種測定モード - "H" パルス幅 ( ↑∼↓ )/"L" パルス幅 ( ↑∼↓ ) - 立上り周期 ( ↑∼↑ )/ 立下り周期 ( ↓∼↓ ) - エッジ間測定 ( ↑ or ↓∼↓ or ↑ ) • 8 ビット入力分周器で , 入力パルスを 22n 分周 (n=1, 2, 3, 4) して分周測定を行うこと ができます。 • 測定終了時に割込みを発生させることができます。 • 1 回のみの測定か , 連続測定かを選択できます。 376 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 15 章 PWC タイマ 15.1 PWC タイマの概要 MB90330A シリーズ ■ PWC タイマのブロックダイヤグラム 図 15.1-1 に , PWC タイマのブロックダイヤグラムを示します。 図 15.1-1 PWC タイマのブロックダイヤグラム PWCRリード エラー検出 ERR 内部クロック(マシンクロック/4) PWCR /16 リロード データ転送 /16 クロック オーバフロー 22 16ビットアップカウントタイマ クロック分周器 F2MC-16LXバス 23 タイマクリア カウント許可 制御ビット出力 フラグセットなど 制 御 回 路 測定開始 エッジ 開始エッジ 終了エッジ 選択 選択 分周器クリア 入力波形 比較器 PWC 測定終了 エッジ PIS0/PIS1 8ビット 分周器 測定終了割込み要求 ERR PWCSR 2 CM44-10129-6 分周ON/OFF エッジ検出 オーバフロー 割込み要求 / 15 CKS1/CKS0 / CKS0/CKS1 分周比選択 DIVR FUJITSU MICROELECTRONICS LIMITED 377 第 15 章 PWC タイマ 15.2 PWC タイマのレジスタ MB90330A シリーズ PWC タイマのレジスタ 15.2 PWC タイマで使用するレジスタの構成および機能について説明します。 ■ PWC タイマのレジスタ一覧 図 15.2-1 に , PWC タイマのレジスタ一覧を示します。 図 15.2-1 PWC タイマのレジスタ一覧 bit15 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) 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) 6 5 4 3 2 1 bit bit 00005FH bit 15 7 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 : リードオンリ - 378 : 未定義 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 15 章 PWC タイマ 15.2 PWC タイマのレジスタ MB90330A シリーズ PWC コントロールステータスレジスタ (PWCSR) 15.2.1 PWC コントロールステータスレジスタ (PWCSR) の構成および機能について説明し ます。 ■ PWC コントロールステータスレジスタ (PWCSR) 図 15.2-2に, PWCコントロールステータスレジスタ(PWCSR)のビット構成を示します。 図 15.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 ビットの機能を示します。 表 15.2-1 書込み時機能 (16 ビットアップカウントタイマの動作制御 ) STRT STOP 0 0 機能なし / 動作に影響なし 0 1 タイマ起動 / 再起動 ( カウント許可 ) * 1 0 タイマ動作強制停止 ( カウント禁止 ) * 1 1 機能なし / 動作に影響なし 動作制御機能 *: クリアビット命令使用可能 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 379 第 15 章 PWC タイマ 15.2 PWC タイマのレジスタ MB90330A シリーズ 表 15.2-2 読出し時機能 (16 ビットアップカウントタイマの動作状態表示 ) STRT STOP 状態表示機能 0 0 タイマ停止中 ( 起動されていないかまたは測定終了 ) [ 初期値 ] 1 1 タイマカウント動作中 ( 測定中 ) • リセット時 "00B" に初期化されます。 • 読出し / 書込みが可能です。ただし , 書込み時と読出し時では , 表 15.2-1, 表 15.2-2 に示すように意味が異なります。 • リードモディファイライト (RMW) 系命令における読出し値は , ビット値にかかわら ず "11B" です。 • タイマの起動 / 停止のための STRT/STOP ビットへの書込みは , それぞれのビットに 対するビット命令 ( ビットクリア ) を用いることが可能ですが , 動作状態の読出しに は , ビット命令は使用できませんので注意してください ( 読み出すと必ず動作中と なります )。 [bit13] EDIR( 測定終了割込み要求フラグ ) パルス幅測定時 , 測定が終了したことを示すフラグです。測定終了割込み要因が許 可されているとき (bit12:EDIE=1) に , このビットがセットされると , 測定終了割込み 要求が発生します。 EDIR 動作モード セット要因 パルス幅測定が終了するとセット (PWCR に測定結果が収納されて いる ) クリア要因 PWCR( 測定結果 ) を読み出すことによってクリア • リセット時 "0" に初期化されます。 • 読出しのみ可能です。 • 書き込んでもビット値は変化しません。 [bit12] EDIE( 測定終了割込み許可 ) パルス幅測定時の , 測定終了割込み要求を下表のように制御します。 EDIE 動作モード 0 測定終了割込み要求出力禁止 (EDIR がセットされていても割込み発生せず ) [ 初期値 ] 1 測定終了割込み要求出力許可 (EDIR がセットされると割込みが発生する ) • リセット時 "0" に初期化されます。 • 読出し / 書込みが可能です。 380 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 15 章 PWC タイマ 15.2 PWC タイマのレジスタ MB90330A シリーズ [bit11] OVIR( タイマオーバフロー割込み要求フラグ ) 16 ビットアップカウントタイマが FFFFH から 0000H へオーバフローしたことを示 すフラグです。タイマオーバフロー割込み要求が許可されているとき (bit10:OVIE=1 のとき ) にこのビットがセットされると , タイマオーバフロー割込み要求が発生し ます。 OVIR 動作モード セット要因 タイムオーバフローが発生するとセット (FFFFH から 0000H) クリア要因 "0" 書込み , または μDMAC によりクリア • リセット時 "0" に初期化されます。 • 読出し / 書込みが可能です。ただし , 書込みは "0" のみ可能で , "1" を書き込んでも ビット値は変化しません。 • リードモディファイライト (RMW) 系命令における読出しは , ビット値にかかわらず "1" です。 [bit10] OVIE( タイマオーバフロー割込み要求許可 ) パルス幅測定時の測定終了割込み要求を制御します。 OVIE 動作モード 0 オーバフロー割込み要求出力禁止 (OVIR がセットされていても割込 み発生せず ) [ 初期値 ] 1 オーバフロー割込み要求出力許可 (OVIR がセットされると割込みが 発生する ) • リセット時 "0" に初期化されます。 • 読出し / 書込みが可能です。 [bit9] ERR( エラーフラグ ) パルス幅測定時の連続測定モード時において , PWCR 内の測定結果を読み出さない うちに , 次の測定が終了されてしまったことを示すフラグです。この際 , PWCR の 値は新しい測定結果に更新され , 1 つ前の測定結果は消失します。測定は , ビット値 に関係なく続行されます。 ERR 動作モード セット要因 読み出していない測定結果が次の結果により消失するとセット クリア要因 PWCR( 測定結果 ) を読み出すことによりクリア • リセット時 "0" に初期化されます。 • 読出しのみ可能です。ただし , 書き込んでもビット値は変化しません。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 381 第 15 章 PWC タイマ 15.2 PWC タイマのレジスタ MB90330A シリーズ [bit8] 予約ビット 予約ビットです。必ず "0" を書き込んでください。 [bit7, bit6] CKS1, CKS0 ( カウントクロック選択 ) 内部カウントクロックは , 3 種類の中からいずれかを選択できます。 表 15.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 ( パルス幅測定入力端子選択 ) パルス幅測定入力端子を選択します。 表 15.2-4 パルス幅測定入力端子の選択 PIS1 PIS0 0 0 (PWC 端子を選択 ) [ 初期値 ] 0 1 設定禁止 1 0 設定禁止 1 1 設定禁止 ( 未定義 ) 動作モード • リセット時 , "00B" に初期化されます。 • 読出し / 書込みが可能です。ただし "01B", "10B", "11B" は設定してはいけません。 <注意事項> 起動後の書換えは , 禁止です。必ず起動前か停止後に書き込んでください。 382 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 15 章 PWC タイマ 15.2 PWC タイマのレジスタ MB90330A シリーズ [bit3] S/C( 測定モード ( 単発 / 連続 ) の選択 ) 測定モードを選択します。 表 15.2-5 16 ビットアップカウントタイマの測定モードの選択 S/C 測定モード選択 タイマモード時 パルス幅 0 単発測定モード [ 初期値 ] リロードなし ( ワンショット ) 1 回測定後停止 1 連続測定モード リロードあり ( リロードタイマ ) 連続測定 : バッファレジスタ有効 • リセット時 , "0" に初期化されます。 • 読出し / 書込みが可能です。 <注意事項> 起動後の書換えは禁止です。必ず起動前か停止後に書き込んでください。 [bit2 ∼ bit0] MOD2 ∼ MOD0( 動作モード / 測定エッジ選択 ) 動作モードおよび幅測定を行うエッジを選択します。 表 15.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 383 第 15 章 PWC タイマ 15.2 PWC タイマのレジスタ MB90330A シリーズ PWC データバッファレジスタ (PWCR) 15.2.2 PWC データバッファレジスタ (PWCR) の構成および機能について説明します。 ■ PWC データバッファレジスタ (PWCR) 図 15.2-3 に , PWC データバッファレジスタ (PWCR) のビット構成を示します。 図 15.2-3 PWC データバッファレジスタ (PWCR) のビット構成 bit 00005FH bit 00005EH 15 14 13 12 11 10 9 8 D15 D14 D13 D12 D11 D10 D9 (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 D8 PWC データバッファレジスタ (R/W) 初期値 00000000 B PWCR PWC データバッファレジスタ (R/W) 初期値 00000000 B R/W : リード・ライト可能 PWC データバッファレジスタ (PWCR) は , PWCSR の bit2 ∼ bit0(MOD2 ∼ MOD0) の設 定によるタイマモード時と , パルス幅設定モード時で機能が異なります。 ● タイマモード時 ( 読出し / 書込み可能 ) リロードタイマ動作時 (PWCSR の bit3:S/C=1) は , リロードデータを保持するリロード レジスタとなります。この場合 , 読出し / 書込みともに可能です。 ワンショットタイマ動作モード時 (PWCSR のビット 3:S/C=0) は , アップカウントタイ マを直接アクセスする窓口になります。この場合も , 読出し / 書込みともに可能ですが , 書込みはタイマ停止中に行ってください。読出しは随時可能で , カウント中のタイマ値 を読み出すことができます。 ● パルス幅測定モード時 ( 読出しのみ可能 ) 連続測定モード時 (PWCSR の bit3:S/C=1) は , 前回の測定結果を保持するバッファレジ スタとなります。 この場合は読出しのみ可能で , 書き込んでもレジスタ値は変化しません。 単発モード時 (PWCSR の bit3:S/C=0) は , アップカウントタイマを直接アクセスする窓 口となります。 この場合も読出しのみ可能で , 書き込んでもレジスタ値は変化しません。読出しは随時 可能で , カウント中のタイマ値が得られます。測定終了後は , 測定結果を保持します。 <注意事項> PWCR のアクセスは , 必ずワード転送命令で行ってください。リセット時 "00B" に初期化 されます。 384 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 15 章 PWC タイマ 15.2 PWC タイマのレジスタ MB90330A シリーズ PWC 分周比制御レジスタ (DIVR) 15.2.3 PWC 分周比制御レジスタ (DIVR) の構成および機能について説明します。 ■ PWC 分周比制御レジスタ (DIVR) 図 15.2-4 に , PWC 分周比制御レジスタ (DIVR) のビット構成を示します。 図 15.2-4 PWC 分周比制御レジスタ (DIVR) のビット構成 bit 7 6 5 4 3 2 1 000060H (-) (-) (-) (-) (-) (-) DIV1 (R/W) 0 DIVR DIV0 分周比制御レジスタ (R/W) 初期値 ------00 B R/W : リード・ライト可能 - : 未定義 [bit7 ∼ bit2] 未定義ビット 読出し値は不定です。書込みは動作に影響を与えません。 [bit1, bit0] DIV1, DIV0( 分周比選択 ) 分周周期測定モード (PWCSR の bit2 ∼ bit0:MOD2, MOD1, MOD0=001B) において使用 するレジスタで , ほかのモードでは意味をもちません。 分周周期測定モードには , DIVR によって設定された分周比だけ測定端子に入力された パルスを分周し , 分周後の 1 周期幅を測定します。 DIV1 DIV0 カウントクロック選択 0 0 4 分周 0 1 16 分周 1 0 64 分周 1 1 256 分周 [ 初期値 ] • リセット時 , "00B" に初期化されます。 • 読出し / 書込みが可能です。 <注意事項> 起動後の書換えは , 禁止です。必ず起動前か停止後に書き込んでください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 385 第 15 章 PWC タイマ 15.3 PWC タイマの動作 15.3 MB90330A シリーズ PWC タイマの動作 PWC タイマの動作について説明します。 ■ PWC タイマ動作概略 PWC タイマは , 16 ビットアップカウントタイマを基本にした多機能タイマで , 測定入 力端子と 8 ビット入力分周などを組み込んでいます。PWC タイマには , 次の 2 つの主 要機能があります。 • タイマ機能 • パルス幅カウント機能 どちらの機能でも 3 種類のカウントクロックを選択できます。以下に , 各機能における 基本性能 / 動作について説明します。 386 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 15 章 PWC タイマ 15.3 PWC タイマの動作 MB90330A シリーズ タイマ機能の動作 15.3.1 リロード動作とワンショット動作が可能なアップカウントタイマです。 ■ タイマ機能の動作 タイマ起動後 , カウントクロックごとにカウントアップを行います。0000H → FFFFH の 範囲でオーバフローが発生すると , 割込み要求が発生するおそれがあります。 オーバフロー発生した場合 , モードによって以下のように動作します。 • ワンショットモード : カウントを停止します。 • リロードモード : タイマにリロードレジスタの内容をリロードし , 再びカ ウントを開始します。 図 15.3-1 に , タイマ機能のワンショットモードおよびリロードモードの動作を示しま す。 図 15.3-1 タイマ機能の動作 〔ワンショットモード〕 (実線がタイマカウント値) オーバフロー PWCRへの書込み FFFFH オーバフロー (再起動禁止) 0000H タイマスタート OVIRフラグセット/タイマストップ タイマスタート OVIRフラグセット/タイマストップ 時間 〔リロードモード〕 タイマカウント値 オーバフロー FFFFH オーバフロー オーバフロー オーバフロー オーバフロー リロード PWCライト値 リロード リロード リロード リロード 0000H PWCRライト タイマスタート * * * リロード * リロード * タイマストップ 再起動 時間 *:OVIRフラグセット CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 387 第 15 章 PWC タイマ 15.3 PWC タイマの動作 15.3.2 MB90330A シリーズ パルス幅測定機能の動作 入力パルスの任意イベント間の時間周期をタイマで測定できます。 ■ パルス幅測定機能の動作 パルス幅測定機能は , 起動後 , 設定した測定開始エッジが入力されるまでカウントを開 始しません。開始エッジを検出するとタイマを 0000H にクリア後カウントアップを開 始し , 停止エッジを検出するとカウントを停止します。この間のカウント値がパルス幅 としてレジスタに保存されます。測定終了時に割込みを検出します。 測定終了後は , 測定モードに応じて以下のように動作します。 • 単発測定モード : 動作を中断します。 • 連続測定モード : タイマ値はバッファレジスタに転送され , 次の開始エッジが入 力されるまで測定が中断されます。 図 15.3-2 に単発測定モードの動作を , 図 15.3-3 に連続測定モードの動作を示します。 図 15.3-2 パルス幅測定動作 ( 単発測定モード /"H" 幅測定 ) PWC入力被測定パルス (実線がタイマカウント値) タイマカウント値 FFFFH タイマクリア 0000H 測定開始 タイマスタート タイマストップ 時間 EDIRフラグセット(測定終了) 図 15.3-3 パルス幅測定動作 ( 連続測定モード /"H" 幅測定 ) PWC入力被測定パルス (実線がタイマカウント値) タイマカウント値 オーバフロー FFFFH PWCRへデータ転送 タイマクリア タイマクリア 0000H 測定開始 タイマスタート タイマストップ タイマスタート 時間 EDIRフラグセット(測定終了) 388 EDIRフラグセット FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 15 章 PWC タイマ 15.3 PWC タイマの動作 MB90330A シリーズ カウントクロックおよび動作モードの選択 15.3.3 カウントクロックの選択および動作モードの選択について説明します。 ■ カウントクロックの選択 タイマのカウントクロックは , PWCSR の bit7(CKS1) および bit6(CKS0) の設定によって 内部クロックソース 3 種類から選択できます。 表 15.3-1 に , カウントクロックの選択内容を示します。 表 15.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 389 第 15 章 PWC タイマ 15.3 PWC タイマの動作 MB90330A シリーズ ■ 動作モードの選択 各動作モード / 測定モードの選択は , PWCSR ビットの設定によって行います。 • 動作モードの選択 : PWCSR の bit2 ∼ bit0(MOD2, MOD1, MOD0 ビット ) タイマモー ド / パルス幅測定モードの選択 , 測定エッジの決定など • 測定モードの設定 : PWCSR の bit3(S/C ビット ) 単発測定 / 連続測定またはリロード / ワンショットの選択 表 15.3-2 に , 動作モード / 測定モードの設定内容を示します。 表 15.3-2 動作モード / 測定モードの設定内容 S/C MOD2 MOD1 MOD0 ワンショットタイマ 0 0 0 0 リロードタイマ 1 0 0 0 ↑ or ↓∼↑ or ↓ 全エッジ間測定 単発測定 : バッファ無効 0 0 1 0 連続測定 : バッファ有効 1 0 1 0 分周周期測定 (1 ∼ 256 分周 ) 単発測定 : バッファ無効 0 0 1 1 連続測定 : バッファ有効 1 0 1 1 ↑∼↑ 立上り間周期測定 単発測定 : バッファ無効 0 1 0 0 連続測定 : バッファ有効 1 1 0 0 ↑∼↓ "H" パルス幅測定 単発測定 : バッファ無効 0 1 0 1 連続測定 : バッファ有効 1 1 0 1 ↓∼↑ "L" パルス幅測定 単発測定 : バッファ無効 0 1 1 0 連続測定 : バッファ有効 1 1 1 0 ↓∼↓ 立下り間周期測定 単発測定 : バッファ無効 0 1 1 1 連続測定 : バッファ有効 1 1 1 1 動作モード タイマ パルス幅測定 リセット後の初期設定では , ワンショットタイマが選択されています。 <注意事項> 動作モードの選択は , 必ずタイマ起動前に行ってください。 390 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 15 章 PWC タイマ 15.3 PWC タイマの動作 MB90330A シリーズ 15.3.4 タイマ / パルス幅測定の起動と停止 各動作の起動 / 再起動 / 停止 / 強制停止は , PWCSR の bit15, bit14(STRT, STOP ビット ) によって行います。 ■ タイマ / パルス幅測定の起動と停止 タイマ / パルス幅測定の起動 / 再起動は STRT ビット , 強制停止は STOP ビットと機能 が分かれており , それぞれ "0" を書き込むことによって機能します。しかし , このとき に両ビットに書き込む値が排他でないと機能しません。ビット操作命令以外の命令 ( バ イト以上の命令)で書き込む場合は, 必ず表 15.3-3に示すビットの組合せに限られます。 表 15.3-3 STRT ビットと STOP ビットの機能 STRT STOP 0 1 タイマ / パルス幅測定の起動 / 再起動 1 0 タイマ / パルス幅測定の強制停止 機能 ビット操作命令 ( クリアビット命令 ) を用いる場合 , ハードウェアによって自動的に 表 15.3-3 に示す組合せで書き込まれるため , 特に意識する必要はありません。 ■ 起動後の動作 タイマモードおよびパルス幅測定モードの起動後の動作は , 以下のとおりです。 ● タイマモード 直ちにカウント動作を開始します。 ● パルス幅測定モード 測定開始エッジが入力されるまでカウントは行いません。測定開始エッジ検出後 , 16 ビットアップカウントタイマを "0000B" にクリアし , カウントを開始します。 ■ 再起動 タイマ / パルス幅測定モード起動後 , 動作中に起動をかける (STRT ビットに "0" を書き 込む ) ことを再起動とよびます。 再起動をかけると , モードによって , 以下の動作が行われます。 ● ワンショットタイマモード 動作に影響はありません。 ● リロードタイマモード リロード動作を行い , 動作を続行します。オーバフロー発生タイミングと同時に再起動 をかけた場合 , オーバフローフラグ (OVIR) はセットされます。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 391 第 15 章 PWC タイマ 15.3 PWC タイマの動作 MB90330A シリーズ ● パルス幅測定モード 測定開始エッジ待ち状態の場合 , 動作に影響はありません。測定中の場合は , カウント を停止し再度測定開始エッジ待ち状態となります。この際 , 測定終了エッジ検出と再起 動が同時になると , 測定終了フラグ (EDIR) がセットされ , 連続測定モード時は結果が PWCR に転送されます。 ■ 停止 ワンショットタイマモード / 単発測定モードでは , タイマのオーバフローまたは測定終 了より自動的にカウントを停止しますので , 特に意識して停止する必要はありません。 ただし , ほかのモードでは , タイマを強制的に停止させる必要があります。タイマが自 動的に停止する前にタイマを停止させたい場合にも同様です。 ■ 動作状態の確認 前述の STRT, STOP ビットは , 読出し時には , 動作状態表示ビットとして機能します。 表 15.3-4 に , 動作状態表示ビットの機能を示します。 表 15.3-4 動作状態表示ビットの機能 STRT STOP 動作状態 0 0 タイマ停止 ( 測定開始エッジ待ち状態を除く ) : 起動されていないかまたは測定が終了したことを 示します。 1 1 タイマカウント動作中または測定開始エッジ状態 待ち <注意事項> STRT, STOP どちらのビットを読み出しても同じ値となります。ただし , リードモディファ イライト (RMW) 系命令 ( ビット処理命令など ) で STRT, STOP ビットを読み出すと常に "11B" になるため , これらの命令を使用して読み出さないでください。 392 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 15.3.5 第 15 章 PWC タイマ 15.3 PWC タイマの動作 タイマモードの動作 タイマモードの動作について説明します。 ■ タイマのクリア 次の場合には , 16 ビットアップカウントタイマが "0000H" にクリアされます。 • リセット時 • パルス幅測定モードで , 測定開始エッジを検出しカウントを開始する場合 ■ ワンショット動作モード ワンショット動作モードでは , タイマ起動後カウントクロックごとにカウントアップ を行い , "FFFFH" から "0000H" へカウントする際のオーバフロー発生によって自動的に 停止します。タイマ起動前に PWCR に値を設定しておくと , その値からカウントが開 始されます。この場合 , 設定した値は保持されず , PWCR の値は現行のカウント値を示 します。 ■ リロード動作モード リロード動作モードでは , タイマ起動後 PWCR 中のリロード値をタイマに設定してか らカウントクロックごとにカウントアップを行います。"FFFFH" から "0000H" へカウン トする際のオーバフロー発生によって , 再度 PWCR 中のリロード値をタイマに設定し ( リロード動作 ), カウント動作を繰り返します。PWCSR の STOP ビットへの書込みに よる強制停止されるかまたはリセットされるまで , タイマは停止しません。タイマ起動 前に PWCR に設定した値は , リロード値としてカウント中も保持され , 起動 / 再起動時 およびオーバフローが生じる際には必ずタイマに設定されます。カウント中に設定値 を変更する場合は , 次のオーバフロー発生時またはタイマの再起動の際に , 変更後の新 規リロード値を使用します。 ■ タイマ値とリロード値 ワンショット動作モードでの PWCR は , 直接アップカウントタイマにアクセスします。 PWCR に値を書き込むとそのままタイマに書き込まれ , タイマが動作中に PWCR の値 を読み出すとカウント中のタイマ値が得られます。タイマ起動前に PWCR に任意の値 を書き込んでから起動すると , この指定された値からカウントが開始されます。リロー ド動作モードでは, アップカウントタイマをアクセスすることが不可能です。 PWCRは, リロード値を保持するリロードレジスタとして機能します。タイマの起動 / 再起動 / オーバフローが生じる際には必ず , PWCR に書き込まれた値がタイマに設定されます。 PWCR を読み出すと , 格納されたリロード値が読み出されます。 PWCR の値とタイマの値が定まらないのは , リロード動作モードを強制的に中断させ た後にタイマをワンショット動作モードに設定した場合です。したがって , タイマの使 用前に , 必ず値を書き込んでから使用してください。 ■ 割込み発生要求 タイマモード動作においては , タイマのオーバフローによる割込み要求を発生するこ とが可能です。カウントアップによってオーバフローが発生するとオーバフローフラ グがセットされ , オーバフロー割込み要求が許可されていると割込み要求が発生しま す。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 393 第 15 章 PWC タイマ 15.3 PWC タイマの動作 MB90330A シリーズ ■ タイマ周期 ワンショット動作モードで PWCR に "0000H" を設定してタイマを起動すると , 65536 回 カウントアップ後にオーバフローを発生し , カウントを停止します。起動から停止まで の時間は , 次の式によって計算されます。 T 1=(65536-n 1) × t T 1: 起動から停止までの時間 [ μs] n 1: 起動時に PWCR に書き込まれていたタイマ値 t: カウントクロックの周期 [ μs] リロード動作モードで PWCR に "0000H" を設定してタイマを起動すると , 65536 回カウ ントアップごとにオーバフローを発生します。リロード周期の時間は , 次の式によって 計算されます。 T R=(65536-n R) × t T R: リロード周期 ( オーバフロー周期 )[ μs] n R: PWCR に保持されているリロード値 t: カウントクロックの周期 [ μs] ■ カウントクロックと最大周期 タイマモードの場合 , PWCR に設定する値が "0000H" のときに最大周期となります。 マシンクロック ( 以下 φ とする )=24 MHz 時のカウントクロックの周期とタイマの最大 周期を表 15.3-5 に示します。 表 15.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 394 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 15 章 PWC タイマ 15.3 PWC タイマの動作 MB90330A シリーズ ■ タイマの動作フロー 図 15.3-4 に , タイマの動作フローを示します。 図 15.3-4 タイマの動作フロー 各種設定 カウントクロック選択 動作/測定モード選択 割込みフラグクリア 割込み許可 PWCRに値を設定 再起動 リロード動作モード STRTビットにより起動 ワンショット動作モード PWCRの値をタイマにリード カウント開始 カウント開始 カウントアップ カウントアップ オーバフローの発生 →OVIRフラグセット オーバフローの発生 →OVIRフラグセット カウント停止 動作停止 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 395 第 15 章 PWC タイマ 15.3 PWC タイマの動作 MB90330A シリーズ パルス幅測定モードの動作 15.3.6 パルス幅測定モードの動作について説明します。 ■ 単発測定と連続測定 パルス幅測定モードには , 1 回のみ測定を行うモードと , 連続して測定を行うモードが あります。各モードは , PWCSR の S/C ビットによって選択します (「 15.3.3 カウント クロックおよび動作モードの選択 」を参照してください )。 ● 単発測定モード 1 回目の測定終了エッジが入力されると , タイマのカウンタが停止して PWCSR 中の測 定終了フラグ (EDIR) がセットされ , 以降は測定を行いません ( ただし , 同時に再起動 がかかった場合は , 測定開始待ちとなります ) 。 ● 連続測定モード 測定終了エッジが入力されると , タイマのカウンタが停止して PWCSR 中の測定終了フ ラグ (EDIR) がセットされ , 再度測定開始エッジが入力されるまでカウントを停止しま す。再度 , 測定開始エッジが入力されると , タイマを "0000H" にクリアした後測定を開 始します。測定終了時タイマ内の測定結果は PWCR に転送されます。 <注意事項> 測定モードの選択変更は , 必ずタイマの停止中に行ってください。 ■ 測定結果のデータ 単発測定モードと連続測定モードでは , 測定結果とタイマ値の扱い , PWCR の機能に違 いがあります。両モードにおける測定結果は以下のとおりです。 ● 単発測定モード • 動作中に PWCR を読み出すと , 測定中のタイマ値が得られます。 • 測定終了後に PWCR を読み出すと , 測定結果データが得られます。 ● 連続測定モード • 測定終了時 , タイマ内の測定結果は PWCR に転送されます。 • PWCR を読み出すと直前の測定結果が得られ , 測定動作中も前回の測定結果を保持 しています。測定中のタイマ値は読み出せません。 連続測定モードで , 測定結果を読み出さないうちに次の測定が終了してしまった場合 は , 前回の測定結果が新しい測定結果に消されてしまいます。この際 , PWCSR 中のエ ラーフラグ (ERR) がセットされます。エラーフラグ (ERR) は PWCR を読み出すと自動 的にクリアされます。 396 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 15 章 PWC タイマ 15.3 PWC タイマの動作 MB90330A シリーズ ■ 測定モードとカウンタ動作 入力されたパルスのどこを測定するかによって, 測定モードは6種類のうちから選択で きます。さらに , 高い周波数のパルスの幅を精度よく測定できるように , 入力されたパ ルスを任意分周して周期を測定するモードも用意されています。 表 15.3-6 に , 測定モー ド一覧を示します。 表 15.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 397 第 15 章 PWC タイマ 15.3 PWC タイマの動作 MB90330A シリーズ 表 15.3-6 測定モード一覧 (2 / 2) MOD2 測定モード MOD1 MOD0 測定モード測定内容 (W: 測定するパルス幅 ) W 全エッジ間 パルス幅測定 0 1 カウントスタート 0 W W カウント ストップ スタート ストップ スタート ストップ 連続して入力されるエッジ間の幅を測定しま す。 カウント ( 測定 ) 開始 : エッジ検出時 カウント ( 測定 ) 終了 : エッジ検出時 W 0 分周周期測定 1 カウントスタート (4分周の例) 1 W カウント ストップ スタート W ストップ 分周比設定レジスタ DIVR で選択した分周比だ け 入力パルスを分周してその周期を測定します。 カウント ( 測定 ) 開始 : 起動直後の立上りエッ ジ検出時 カウント ( 測定 ) 終了 : 分周後の 1 周期終了時 どのモードでも , カウントの開始からカウント開始エッジの入力までの間はタイマに よるカウントは行われません。カウント開始エッジ入力後に , タイマは "0000H" にクリ アされ , カウント終了エッジが入力されるまでは , カウントクロックのたびにタイマの カウントが行われます。カウント終了エッジの入力時には , 次の動作を実行します。 1. PWCSR 中の測定終了フラグ (EDIR) がセットされます。 2. タイマのカウント動作が停止します ( 再起動と同時であった場合を除く )。 3. 連続測定モード : タイマの値 ( 測定結果 ) は PWCR に転送され , 次の測定開始 エッジが入力されるまでカウントを中断したままとなりま す。 4. 単発測定モード : 測定を終了します ( 再起動と同時であった場合を除く )。 連続測定モードの場合で , 全エッジ間パルス幅測定や分周測定などを行った場合 , 終了 エッジが次の測定エッジとなります。 ■ 最小入力パルス幅 パルス幅測定入力端子 (PWC) に入力できるパルスには , 以下の制限があります。 パルス幅は , 4 マシンサイクル (24 MHz のマシンクロックの場合は , 0.17 μs) 以上とす ること 。 398 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 15 章 PWC タイマ 15.3 PWC タイマの動作 MB90330A シリーズ ■ パルス幅 / 周期算出方法 測定するパルスの幅 / 周期は , 次の式で算出できます。 T W=n × t ÷ D IV[ μs] T W: 被測定パルス幅 / 周期 [ μs] n: PWCR 内の測定結果データ t: カウントクロックの周期 [ μs] D IV: 分周比レジスタ DIVR で選択した分周比 ( 分周周波数測定モード以外は 1 を代入 ) ■ パルス幅 / 周期カウントの範囲 カウントクロックおよび入力分周器の分周比の選択の組合せにより , 測定可能なパル ス幅 / 周期のレンジが変化します。 表 15.3-7 に , マシンクロック ( 以下 φ とする )=24 MHz 時の測定レンジ一覧を示します。 表 15.3-7 パルス幅測定レンジ一覧 分周比 DIV1 DIV0 CKS1, CKS0= 00 (φ/4) 時 CKS1, CKS0= 01 (φ/16) 時 CKS1, CKS0= 10 (φ/32) 時 分周なし ― ― 0.17 μs ∼ 10.92 ms [0.25 μs] 0.17 μs ∼ 43.7 ms [1.6 μs] 0.17 μs ∼ 87.4 ms [3.2 μs] 4 分周 0 0 0.17 μs ∼ 2.73 ms [6.25 μs] 0.17 μs ∼ 10.92 ms [0.4 μs] 0.17 μs ∼ 21.85 ms [0.8 μs] 16 分周 0 1 0.17 μs ∼ 683 μs [15.6 ns] 0.17 μs ∼ 2.73 ms [1.6 μs] 0.17 μs ∼ 5.46 ms [0.2 μs] 64 分周 1 0 0.17 μs ∼ 170 μs [3.91 μs] 0.17 μs ∼ 683 μs [25 μs] 0.17 μs ∼ 1.36 ms [50 ns] 256 分周 1 1 0.17 μs ∼ 43 μs [0.98 μs] 0.17 μs ∼ 171 μs [6.25 μs] 0.17 μs ∼ 341 μs [12.5 ns] [ ] 内は , 1 ビット当たりの分解能を示します。 ■ 割込み要求発生 パルス幅測定モードにおいては , 以下の 2 つの割込み要求を発生できます。 ● タイマのオーバフローによる割込み要求 測定中 , カウントアップによってオーバフローが発生すると , オーバフローフラグが セットされます。オーバフロー割込み要求が許可されていると , 割込み要求が発生しま す。 ● 測定終了による割込み要求 測定終了エッジを検出すると PWCSR 中の測定終了フラグ (EDIR) がセットされ , 測定 終了割込み要求が許可されていると割込み要求が発生します。 測定終了フラグ (EDIR) は , 測定結果 PWCR を読み出すと同時に自動的にクリアされま す。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 399 第 15 章 PWC タイマ 15.3 PWC タイマの動作 MB90330A シリーズ ■ パルス幅測定の動作フロー 図 15.3-5 に , パルス幅測定の動作フローを示します。 図 15.3-5 パルス幅測定の動作フロー 各種設定 カウントクロック選択 動作/測定モード選択 割込みフラグクリア 割込み許可 再起動 STRTビットにより起動 連続測定モード 単発測定モード 測定開始エッジ検出 測定開始エッジ検出 タイマをクリア タイマをクリア カウント開始 カウント開始 カウントアップ カウントアップ オーバフローの発生 →OVIRフラグセット 測定終了エッジ検出 →EDIRフラグセット 400 オーバフローの発生 →OVIRフラグセット 測定終了エッジ検出 →EDIRフラグセット カウント停止 カウント停止 タイマ値をPWCRに転送 動作停止 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 15.4 第 15 章 PWC タイマ 15.4 PWC タイマの使用上の注意 PWC タイマの使用上の注意 PWC タイマを使用する上で注意すべきことがらについて説明します。 ■ PWC タイマの使用上の注意 ● レジスタの書換えに関する注意事項 PWCSR 中 , 以下に示すビットは動作中に書き換えることを禁止します。書換えは , 必 ず起動前か停止後に行ってください。 • [bit7, bit6] CKS1, CKS0( クロック選択 ) • [bit5, bit4] PIS1, PIS0( 入力信号選択 ) • [bit3] S/C ( 測定モード ( 単発 / 連続 ) の選択 ) • [bit2 ∼ bit0] MOD2, MOD1, MOD0( 動作モード / 測定エッジ選択 ) DIVR は , 動作中に書き換えることを禁止します。書換えは必ず起動前か停止後に行っ てください。 ● タイマモードの測定終了フラグの扱い PWCSR 中の測定終了割込み要求フラグ (EDIR) の値は , タイマモードでは , 意味があり ません。このため , PWCSR 中の測定終了割込み要求ビット (EDIE) は , タイマモードで 使用するときは必ず "0" を設定してください。 ● PWCSR 中の STRT, STOP ビットの扱い 両ビットともに , 書込み時と読出し時では , 意味が異なるので注意してください (「 15.2.1 PWC コントロールステータスレジスタ (PWCSR) 」を参照 )。また , リード モディファイライト (RMW) 系命令における読出し値は , ビット値にかかわらず "11B" です。このため , 動作状態の読出しには , ビット処理命令は使用できません ( 読み出す と必ず動作中となります ) ので注意してください。タイマの起動 / 停止のための STRT, STOP ビットへの書込みは , それぞれのビットに対するビット処理命令 ( ビットクリア 命令など ) を用いることができます。 ● タイマのクリア パルス幅測定モードの場合 , 測定開始エッジでタイマがクリアされますので , 起動前に タイマ中のデータは無効となります。 ● モード変更時の PWCR とタイマの値 • リロードタイマモードで使用した後 , タイマを強制停止してからワンショットタイ マモードにした場合 , PWCR に保持された値およびタイマの値は不定となりますの で , 必ず値を書き込んでから使用してください。 • ワンショットタイマモードで使用した場合 , PWCR の値は不定となりますので , 必 ず値を書き込んでから使用してください。 • パルス幅測定モードから , タイマモードへ切り替える場合は , 起動前に必ず PWCR に値を再設定してから起動してください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 401 第 15 章 PWC タイマ 15.4 PWC タイマの使用上の注意 MB90330A シリーズ ● 最小パルス幅 パルス幅測定入力端子に入力できるパルスには , 以下の制限があります。 • 最小パルス幅 : マシンクロックの 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" パルス幅測定モードを連続測定モー ドでご使用になる場合には , オーバフローフラグを使用しないでください。 402 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 16 章 16 ビットリロードタイマ この章では , 16 ビットリロードタイマの概要 , レ ジスタの構成 / 機能および 16 ビットリロードタイ マの動作について説明します。 16.1 16 ビットリロードタイマの概要 16.2 16 ビットリロードタイマのレジスタ 16.3 16 ビットリロードタイマの動作 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 403 第 16 章 16 ビットリロードタイマ 16.1 16 ビットリロードタイマの概要 16.1 MB90330A シリーズ 16 ビットリロードタイマの概要 16 ビットリロードタイマには , 3 種類の内部クロックに同期してカウントダウンす る内部クロックと , 外部端子に入力されたパルスの任意エッジを検出してカウント ダウンするイベントカウントモードがあり , どちらかの機能を選択できます。 ■ 16 ビットリロードタイマの概要 16 ビットリロードタイマは , カウント値が "0000H" ∼ "FFFFH" になるときをアンダフ ローと定義しています。したがって , [ リロードレジスタの設定値 +1] カウントでアン ダフローが発生します。カウント動作としては , アンダフローで , カウント設定値を再 ロードしてカウントを繰り返すリロードモードと , アンダフローでカウントを停止す るワンショットモードを選択できます。カウンタのアンダフローで割込みを発生させ ることもでき , DTC にも対応しています。 404 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 16 章 16 ビットリロードタイマ 16.1 16 ビットリロードタイマの概要 MB90330A シリーズ 16.1.1 16 ビットリロードタイマの機能 16 ビットリロードタイマの機能概要を説明します。 ■ 16 ビットリロードタイマの動作モード クロックモード カウンタ動作 16 ビットリロードタイマ動作 リロードモード ソフトウェアトリガ動作 外部トリガ動作 外部ゲート入力動作 内部クロック ワンショットモード リロードモード イベントカウントモード ( 外部クロックモード ) ソフトウェアトリガ動作 ワンショットモード ■ 内部クロックモード カウントクロックとして 3 種類の内部クロックから 1 種類を選択できます。 ● ソフトウェアトリガ動作 タイマ制御ステータスレジスタ (TMCSR0 ∼ TMCSR2) の TRG ビットに "1" を書き込む と , カウンタ動作を開始します。TRG ビットによるトリガ入力は , 外部トリガ入力時お よび外部ゲート入力時にも有効です。 ● 外部トリガ動作 選択されたエッジ ( 立上り / 立下り / 両エッジ ) が TIN0/TIN1/TIN2 端子に入力された とき , カウント動作を開始します。 ● 外部ゲート入力動作 選択された信号 ("L" または "H") が TIN0/TIN1/TIN2 に入力されている間 , カウント動 作を続行します。 ■ イベントカウントモード ( 外部クロックモード ) 選択されたエッジ ( 立上り / 立下り / 両エッジ ) が TIN0/TIN1/TIN2 端子に入力される と , そのエッジでカウントダウンする機能です。 一定周期の外部クロックを使用した場合は , インターバルタイマとしても使用できま す。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 405 第 16 章 16 ビットリロードタイマ 16.1 16 ビットリロードタイマの概要 MB90330A シリーズ ■ カウンタ動作のモード ● リロードモード カウントダウンで , アンダフロー(0000H → FFFFH) が発生すると , カウント設定値が再 ロードされてカウント動作を継続します。アンダフローで , 割込み要求を発生させるこ とができるので , インターバルタイマとして使用できます。また , アンダフローごとに , 反転するトグル波形を TOT0/TOT1/TOT2 端子から出力できます。 カウントクロック 内部クロック 外部クロック カウントクロック周期 インターバル時間 2 1/ φ (0.083 μs) 0.083 μs ∼ 5.461 ms 2 3/ φ (0.33 μs) 0.33 μs ∼ 21.845 ms 2 5/ φ (1.33 μs) 1.33 μs ∼ 87.38 ms 2 3/ φ (0.5 μs) 0.5 μs 以上 φ : マシンクロック () 内はマシンクロック 24 MHz 動作時の値です。 ● ワンショットモード カウントダウンで , アンダフロー(0000H → FFFFH) が発生すると , カウント動作を停止 します。 アンダフローで割込みを発生させることができます。また , カウントの動作中は , カウ ント中を示す短波形を TOT0/TOT1/TOT2 端子から出力できます。 406 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 16 章 16 ビットリロードタイマ 16.1 16 ビットリロードタイマの概要 MB90330A シリーズ 16 ビットリロードタイマのブロックダイヤグラム 16.1.2 16 ビットリロードタイマのブロックダイヤグラムを示します。 ■ 16 ビットリロードタイマのブロックダイヤグラム 図 16.1-1 16 ビットリロードタイマのブロックダイヤグラム F2MC-16LX BUS TMRLR0~TMRLR2 16ビットリロードレジスタ リロード信号 リロード TMR0~TMR2 制御回路 16ビットタイマレジスタ(ダウンカウンタ)UF CLK カウントクロック生成回路 3 ゲート入力 プリスケーラ / クリア 有効クロック判定回路 ウェイト信号 CLK 出力信号生成回路 反転 端子 入力制御回路 TIN0~TIN2 クロックセレクタ EN 外部クロック 機能選択 / 3 セレクト信号/ 2 端子 出力信号生成回路 OUTL TOT0~TOT2 RELD 動作制御回路 OUTE タイマ制御ステータスレジスタ(TMCSR0~TMCSR2) CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 407 第 16 章 16 ビットリロードタイマ 16.2 16 ビットリロードタイマのレジスタ 16.2 MB90330A シリーズ 16 ビットリロードタイマのレジスタ 16 ビットリロードタイマで使用するレジスタの構成および機能について説明しま す。 ■ 16 ビットリロードタイマレジスタ一覧 図 16.2-1 に , 16 ビットリロードタイマのレジスタ一覧を示します。 図 16.2-1 16 ビットリロードタイマのレジスタ一覧 bit ch.0 : 000063H ch.1 : 000067H ch.2 : 00006BH 15 14 13 12 11 - - - - CSL1 CSL0 MOD2 MOD1 (-) (X) (-) (X) (-) (X) (-) (X) (R/W) (0) (R/W) (0) (R/W) (0) 4 3 2 1 0 RELD INTE UF CNTE TRG (R/W) (0) (R/W) (0) (R/W) (0) (R/W) (0) (R/W) 読出し / 書込み (0) 初期値 bit 7 6 5 ch.0 : 000062H MOD0 OUTE OUTL ch.1 : 000066H ch.2 : 00006AH (R/W) (R/W) (R/W) (0) (0) (0) bit ch.0 : 000065H ch.1 : 000069H ch.2 : 00006DH 9 8 TMCSR0 ~ TMCSR2 タイマ制御ステータス レジスタ ( 上位 ) (R/W) 読出し / 書込み (0) 初期値 TMCSR0 ~ TMCSR2 タイマ制御ステータス レジスタ ( 下位 ) TMR0~TMR2/ TMRLR0~TMRLR2 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~TMR2) 書込み (TMRLR0~TMRLR2) 初期値 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~TMR2) 書込み (TMRLR0~TMRLR2) 初期値 bit 7 ch.0 : 000064H ch.1 : 000068H ch.2 : 00006CH 10 TMR0~TMR2/ TMRLR0~TMRLR2 * : 読出し時は 16 ビットタイマレジスタ (TMR0 ∼ TMR2) として機能し , 書込み時は 16 ビットリロードレジスタ (TMRLR0 ∼ TMRLR2) として機能します。 408 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 16 章 16 ビットリロードタイマ 16.2 16 ビットリロードタイマのレジスタ MB90330A シリーズ 16.2.1 タイマ制御ステータスレジスタ 0 ∼ 2(TMCSR0 ∼ TMCSR2) タイマ制御ステータスレジスタ 0 ∼ 2(TMCSR0 ∼ TMCSR2) の構成および機能につ いて説明します。 ■ タイマ制御ステータスレジスタ 0 ∼ 2(TMCSR0 ∼ TMCSR2) タイマ制御ステータスレジスタ 0 ∼ 2(TMCSR0 ∼ TMCSR2) は , 16 ビットリロードタ イマの動作モードおよび割込みを制御します。CNTE=0 のとき , UF/CNTE/TRG 以外の ビットをモディファイします。 図 16.2-2 に , タイマ制御ステータスレジスタ 0 ∼ 2(TMCSR0 ∼ TMCSR2) のビット構 成を示します。 図 16.2-2 タイマ制御ステータスレジスタ 0 ∼ 2(TMCSR0 ∼ TMCSR2) のビット構成 bit ch.0 : 000063H ch.1 : 000067H ch.2 : 00006BH 15 14 13 12 11 10 - - - - CSL1 CSL0 MOD2 MOD1 (-) (X) (-) (X) (-) (X) (-) (X) (R/W) (0) (R/W) (0) (R/W) (0) 5 4 3 2 1 0 OUTL RELD INTE UF CNTE TRG (R/W) (0) (R/W) (0) (R/W) (0) (R/W) (0) (R/W) (0) (R/W) 読出し / 書込み (0) 初期値 bit 7 6 ch.0 : 000062H MOD0 OUTE ch.1 : 000066H ch.2 : 00006AH (R/W) (R/W) (0) (0) 9 8 TMCSR0 ~ TMCSR2 タイマ制御ステータス レジスタ ( 上位 ) (R/W) 読出し / 書込み (0) 初期値 TMCSR0 ~ TMCSR2 タイマ制御ステータス レジスタ ( 下位 ) 以下に , タイマ制御ステータスレジスタ 0 ∼ 2(TMCSR0 ∼ TMCSR2) の各ビットの機能 を説明します。 [bit15 ∼ bit12 ] 未定義ビット 読出し値は不定です。書込みは動作に影響を与えません。 [bit11, bit10 ] CSL1, CSL0( クロック選択 ) カウントクロック選択ビットで , クロックソースを選択します。 CM44-10129-6 クロックソース ( マシンクロック φ=24 MHz 時 ) CSL1 CSL0 0 0 φ/2 1(0.083 μs) 0 1 φ/2 3(0.33 μs) 1 0 φ/2 5(1.33 μs) 1 1 イベントカウントモード [ 初期値 ] FUJITSU MICROELECTRONICS LIMITED 409 第 16 章 16 ビットリロードタイマ 16.2 16 ビットリロードタイマのレジスタ MB90330A シリーズ [bit9 ∼ bit7 ] MOD2 ∼ MOD0 動作モードと入出力端子の機能を設定するビットです。MOD2=0 のとき , 入力端子 はトリガとして機能します。アクティブエッジが入力端子に入力されカウント動作 が進行すると , リロードレジスタの内容がカウンタにロードされます。MOD2=1 の ときは , タイマはゲートカウントモードで動作し , 入力端子はゲート入力として機 能します。このモードでは , カウントはアクティブレベルが入力端子に入力されて いる間だけカウントします。 MOD2 ∼ MOD0 ビットの組合せによって , 内部クロックモードおよびイベントカウ ントモードを表 16.2-1 および表 16.2-2 に示すモードから選択します。 表 16.2-1 内部クロックモード (CSL0, CSL1=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" レベル 表 16.2-2 イベントカウントモード (CSL0, CSL1=11) MOD2 MOD1 MOD0 入力端子機能 アクティブエッジまたはレベル X 0 0 トリガ無効 - X 0 1 X 1 0 X 1 1 [ 初期値 ] 立上りエッジ 立下りエッジ トリガ入力 両エッジ [bit6] OUTE( 出力許可 ) 出力許可を制御します。 TOT0 ∼ TOT2 端子は , "0" のとき汎用ポート , "1" のときタイマ出力端子として機能 します。リロードモードでは , 出力波形はトグル波形となります。ワンショットモー ドでは , TOT0 ∼ TOT2 端子は , カウントが進行中であることを示す短形波を出力し ます。 OUTE 410 機能 0 汎用ポート [ 初期値 ] 1 タイマ出力 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 16 章 16 ビットリロードタイマ 16.2 16 ビットリロードタイマのレジスタ MB90330A シリーズ [bit5] OUTL( 出力レベルの設定 ) TOT0 ∼ TOT2 端子の出力レベルを設定するビットです。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-10129-6 UF 読出し時 0 カウンタのアンダフローなし ( 初期値 ) このビットのクリア [ 初期値 ] 1 カウンタのアンダフローあり 変化なし(ほかへの影響なし) 書込み時 FUJITSU MICROELECTRONICS LIMITED 411 第 16 章 16 ビットリロードタイマ 16.2 16 ビットリロードタイマのレジスタ MB90330A シリーズ [bit1] CNTE( タイマカウンタ許可 ) タイマカウンタを許可するビットです。 CNTE 機能 0 カウンタ停止 1 カウンタ許可 ( 起動トリガ待ち ) [ 初期値 ] [bit0] TRG( ソフトウェアトリガ ) ソフトウェアトリガビットです。TRG=1 の書込みで , ソフトウェアトリガを適用し てタイマのリロードレジスタの内容をカウンタロードさせ , カウントを開始させま す。"0" を書き込んでも何の意味ももちません。読出しは常に "0" です。CNTE=1 の ときのみ , 動作モードにかかわらず常に有効になります。 TRG 412 機能 0 変化なし ( ほかへの影響なし ) [ 初期値 ] 1 カウント動作開始 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 16 章 16 ビットリロードタイマ 16.2 16 ビットリロードタイマのレジスタ MB90330A シリーズ 16 ビットタイマレジスタ 0 ∼ 2(TMR0 ∼ TMR2)/ 16 ビットリロードレジスタ 0 ∼ 2(TMRLR0 ∼ TMRLR2) 16.2.2 16 ビットタイマレジスタ 0 ∼ 2(TMR0 ∼ TMR2)/16 ビットリロードレジスタ 0 ∼ 2 (TMRLR0 ∼ TMRLR2) の構成および機能について説明します。 ■ 16 ビットタイマレジスタ 0 ∼ 2(TMR0 ∼ TMR2)/16 ビットリロードレジスタ 0 ∼ 2 (TMRLR0 ∼ TMRLR2) 図 16.2-3 に , 16 ビットタイマレジスタ 0 ∼ 2(TMR0 ∼ TMR2)/16 ビットリロードレジ スタ (TMRLR0 ∼ TMRLR2) のビット構成を示します。 図 16.2-3 16 ビットタイマレジスタ 0 ∼ 2 (TMR0 ∼ TMR2)/ 16 ビットリロードレジスタ 0 ∼ 2 (TMRLR0 ∼ TMRLR2) のビット構成 bit 15 ch.0 : 000065H ch.1 : 000069H ch.2 : 00006DH 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~TMR2) 書込み (TMRLR0~TMRLR2) 初期値 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~TMR2) 書込み (TMRLR0~TMRLR2) 初期値 bit 7 ch.0 : 000064H ch.1 : 000068H ch.2 : 00006CH TMR0~TMR2/ TMRLR0~TMRLR2 14 TMR0~TMR2/ TMRLR0~TMRLR2 * : 読出し時は 16 ビットタイマレジスタ (TMR0 ∼ TMR2) として機能し , 書込み時は 16 ビットリロードレジスタ (TMRLR0 ∼ TMRLR2) として機能します。 ■ 16 ビットタイマレジスタ 0 ∼ 2(TMR0 ∼ TMR2) 16 ビットダウンカウンタのカウンタ値を読み出すことができるレジスタです。カウン タ動作を許可 (TMCSR0 ∼ TMCSR2 の CNTE=1) し , カウントを開始すると , 16 ビット リロードレジスタに書き込まれた値が TMR0 ∼ TMR2 にロードされ , カウントダウン が開始されます。カウント停止状態 (TMCSR0 ∼ TMCSR2 の CNTE=0) では , TMR0 ∼ TMR2 レジスタの値が保持されます。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 413 第 16 章 16 ビットリロードタイマ 16.2 16 ビットリロードタイマのレジスタ MB90330A シリーズ <注意事項> TMR0 ∼ TMR2 の読出しはカウンタ動作中にもできますが , 必ずワード転送命令 (MOVW A 003AH など ) を使用してください。 16 ビットタイマレジスタ (T M R 0 ∼ T M R 2 ) は , 機能的には , 読出し専用ですが , 書込み 専用の 16 ビットリロードレジスタ (TMRLR0 ∼ TMRLR2) と同一アドレスに配置されて います。したがって , 書込みをしても T M R 0 ∼ T M R 2 の値は影響を受けませんが , TMRLR0 ∼ TMRLR2 に対して書込みが行われます。 ■ 16 ビットリロードレジスタ 0 ∼ 2 (TMRLR0 ∼ TMRLR2) 16 ビットリロードタイマの動作に関係なく , カウンタ動作を禁止 (TMCSR0 ∼ TMCSR2 の CNTE=0) している状態で , TMRLR0 ∼ TMRLR2 にカウンタの初期値を設定します。 カウンタ動作を許可 (TMCSR0 ∼ TMCSR2 の CNTE=1) し , カウンタを起動すると , TMRLR0 ∼ TMRLR2 に書き込まれた値からカウントダウンを開始します。 TMRLR0 ∼ TMRLR2 に設定した値は , リロードモードのとき , アンダフローの発生でカウンタにリ ロードされ , カウントダウンを続行します。ワンショットモードのときは , アンダフ ローの発生でカウンタは "FFFFH" で停止します。 <注意事項> TMRLR0 ∼ TMRLR2 の書込みは , カウンタ停止 (TMCSR0 ∼ TMCSR2 の CNTE=0) の状 態で行ってください。 また , 必ずワード転送命令 (MOVW A 003AH など ) で書き込んでください。 16 ビットリロードレジスタ (TMRLR0 ∼ TMRLR2) は , 機能的には書込み専用ですが , 読 出し専用の 16 ビットタイマレジスタ (TMR0 ∼ TMR2) と同一アドレスに配置されていま す。したがって , 読出し値は TMR0 ∼ TMR2 の値となるため , INC/DEC 命令などのリー ドモディファイライト (RMW) 動作をする命令は , 使用できません。 414 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 16 章 16 ビットリロードタイマ 16.3 16 ビットリロードタイマの動作 MB90330A シリーズ 16 ビットリロードタイマの動作 16.3 16 ビットリロードタイマの設定と , カウンタ動作の状態遷移について説明します。 ■ 16 ビットリロードタイマの設定 ● 内部クロックモードの設定 インターバルタイマとして動作させるには , 図 16.3-1 に示す設定が必要です。 図 16.3-1 内部クロックモードの設定 bit TMCSR0 ∼ TMCSR2 15 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 ∼ TMRLR2 1 カウンタの初期値 ( リロード値 ) を設定 : 使用ビット 1 : "1" を設定 ● イベントカウントモードの設定 イベントカウントモードとして動作させるには , 図 16.3-2 に示す設定が必要です。 図 16.3-2 イベントカウントモードの設定 bit TMCSR0 ∼ TMCSR2 15 14 13 12 - - - - 11 9 8 7 6 5 4 3 CSL1 CSL0 MOD2 MOD1 MOD0 OUTE OUTL RELD INTE 1 TMRLR0 ∼ TMRLR2 10 2 1 0 UF CNTE TRG 1 1 カウンタの初期値 ( リロード値 ) を設定 DDR3 D37 D36 D35 D34 D33 D32 D31 D30 DDR4 D47 D46 D45 D44 D43 D42 D41 D40 : 使用ビット 1 : "1" を設定 : 使用する端子に対応するビットに "0" を設定 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 415 第 16 章 16 ビットリロードタイマ 16.3 16 ビットリロードタイマの動作 MB90330A シリーズ カウンタ動作の状態遷移 16.3.1 カウンタ動作の状態遷移を示します。 ■ カウンタ動作の状態遷移 図 16.3-3 カウンタ動作の状態遷移 リセット STOP状態 CNTE=0,WAIT=1 TIN端子:入力禁止 TOT端子:汎用入出力ポート 16ビットタイマレジスタ: 停止時の値を保持 リセット直後の値は不定 CNTE=0 CNTE=0 CNTE=1/TRG=1 CNTE=1/TRG=0 WAIT状態 CNTE=1/WAIT=1 RUN状態 TIN端子:トリガ入力のみ有効 T0T端子:16ビットリロードレジスタの 値を出力 UF=1 & RELD=0 (ワンショ ットモード) 16ビットタイマレジスタ: 停止時の値を保持 リセット直後はロードするまで値は不定 TIN端子:16ビットリロードタイマ の入力端子として機能 T0T端子:16ビットリロードタイマ の出力端子として機能 16ビットタイマレジスタ: カウンタ動作 UF=1 & RELD=1 (リロードモード) TRG=1 TRG=1 (ソフトウェアトリガ) (ソフトウェアトリガ) LOAD TINからの外部トリガ CNTE=1, WAIT=0 CNTE=1,WAIT=0 16ビットリロードレジスタの設定値を 16ビットタイマレジスタへロード ロード終了 :ハードウェアによる状態遷移 :レジスタアクセスによる状態遷移 WAIT :WAIT信号(内部信号) 416 TRG :ソフトウェアトリガビット(TMCSR) CNTE :タイマカウンタ許可ビット(TMCSR) UF :タイマ割込み要求フラグビット(TMCSR) RELD :リロード動作許可ビット(TMCSR) FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 16 章 16 ビットリロードタイマ 16.3 16 ビットリロードタイマの動作 MB90330A シリーズ 内部クロックモード ( リロードモード ) の動作 16.3.2 内部カウントクロックに同期して , 16 ビットカウンタをカウントダウンし , カウン タのアンダフローで CPU に割込み要求を発生します。また , タイマ出力端子からト グル波形を出力できます。 ■ 内部クロックモード ( リロードモード ) の動作 カウント動作を許可 (TMCSR の CNTE=1) し , ソフトウェアトリガビット (TMCSR の TRG), または外部トリガでタイマを起動すると , リロードレジスタ (TMRLR) の値をカ ウンタにロードして , カウンタ動作を開始します。 カウンタ許可ビットとソフトウェアトリガビットを同時に "1" にセットすると , カウン タ許可と同時にカウントを開始します。カウンタ値がアンダフロー("0000H"→"FFFFH") すると , 16 ビットリロードレジスタ (TMRLR) の値をカウンタにロードして , カウント 動作を継続します。このとき , アンダフロー割込み要求フラグビット (UF) を "1" にセッ トし , 割込み要求許可ビット (INTE) が "1" であれば割込み要求を発生します。また , TOT 端子からは , アンダフローごとに反転するトグル波形を出力できます。 ● ソフトウェアトリガの動作 タイマ制御ステータスレジスタ (TMCSR) の TRG ビットに "1" を書き込むと , カウンタ を起動します。 図 16.3-4 にリロード時のソフトウェアトリガの動作を示します。 図 16.3-4 リロードモード時のカウント動作 ( ソフトウェアトリガ動作 ) カウントクロック リロード データ カウンタ -1 0000H リロード データ -1 0000H リロード データ -1 0000H リロード データ -1 データロード信号 UFビット CNTEビット TRGビット T* TOT端子 T:マシンサイクル *:トリガ入力からリロードデータロードまで1T時間かかります。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 417 第 16 章 16 ビットリロードタイマ 16.3 16 ビットリロードタイマの動作 MB90330A シリーズ ● 外部トリガの動作 有効エッジ ( 立上り , 立下り , 両エッジ選択可能 ) が TIN 端子に入力されると , カウン タを起動します。 図 16.3-5 にリロードモード時の外部トリガの動作を示します。 図 16.3-5 リロードモード時のカウント動作 ( 外部トリガ動作 ) カウントクロック リロード データ カウンタ -1 0000H リロード データ -1 0000H リロード データ -1 0000H リロード データ -1 データロード信号 UFビット CNTEビット TIN端子 TOT端子 2T~2.5T* T:マシンサイクル *:トリガ入力からリロードデータロードまで2T~2.5T時間かかります。 <注意事項> TIN 端子へ入力するトリガパルス幅は , 2/ φ 以上としてください。 ● ゲート入力の動作 タイマコントロールステータスレジスタ (TMCSR) のカウント許可ビット (CNTE) に "1" を設定している場合に , ソフトウェアトリガビット (TRG) に "1" を設定すると , カウン ト動作を開始します。 動作モード設定ビット(MOD2, MOD1, MOD0)で設定しているゲート入力の有効レベル ("L", "H" から設定可能 ) が TIN 端子に入力されている間 , カウント動作を行います。 図 16.3-6 リロードモード時のカウント動作 ( ソフトトリガゲート動作 ) カウントクロック リロードデータ カウンタ -1 -1 -1 0000H リロード データ -1 -1 データロード信号 UFビット CNTEビット TRGビット T* TIN端子 TOT端子 T:マシンサイクル *:トリガ入力からリロードデータロードまで1T時間かかります。 <注意事項> TIN 端子へ入力するトリガパルス幅は , 2/ φ 以上としてください。 418 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 16 章 16 ビットリロードタイマ 16.3 16 ビットリロードタイマの動作 MB90330A シリーズ 内部クロックモード ( ワンショットモード ) の動作 16.3.3 内部カウントクロックに同期して , 16 ビットカウンタをカウントダウンし , カウン タのアンダフローで CPU に割込み要求を発生します。また , TOT 端子から , カウン ト中を示す矩形波を出力できます。 ■ 内部クロックモード ( ワンショットモード ) カウント動作を許可 (TMCSR の CNTE=1) し , ソフトウェアトリガビット (TMCSR の TRG) または外部トリガで , タイマ起動すると , カウント動作を開始します。カウント 許可ビットとソフトウェアトリガビットを同時に "1" にセットすると , カウント許可と 同時にカウントを開始します。カウンタ値がアンダフロー("0000H" → "FFFFH") すると , "FFFFH" の状態で , カウンタを停止します。このとき , アンダフロー割込み要求フラグ ビット (UF) を "1" にセットし , 割込み要求許可ビット (INTE) が "1" であれば割込み要 求を発生します。 また , TOT 端子からはカウント中を示す矩形波を出力できます。 ● ソフトウェアトリガの動作 タイマ制御ステータスレジスタ (TMCSR) の TRG ビットに "1" を書き込むことで , カウ ンタを起動します。 図 16.3-7 に , ワンショットモード時のソフトウェアトリガ動作を示します。 図 16.3-7 ワンショットモード時のカウント動作 ( ソフトウェアトリガ動作 ) カウントクロック リロード データ カウンタ -1 0000H FFFFH リロード データ -1 0000H FFFFH データロード信号 UFビット CNTEビット TRGビット T* TOT端子 起動トリガ入力待ち T:マシンサイクル *:トリガ入力からリロードデータロードまで1T時間かかります。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 419 第 16 章 16 ビットリロードタイマ 16.3 16 ビットリロードタイマの動作 MB90330A シリーズ ● 外部トリガの動作 有効エッジ ( 立上り , 立下り , 両エッジ選択可能 ) が TIN 端子に入力されると , カウン タを起動します。 図 16.3-8 に , ワンショットモード時の外部トリガ動作を示します。 図 16.3-8 ワンショットモード時のカウント動作 ( 外部トリガ動作 ) カウントクロック カウンタ リロード データ -1 0000H FFFFH リロード データ -1 0000H FFFFH データロード信号 UFビット CNTEビット TIN端子 2T~2.5T* TOT端子 起動トリガ入力待ち T:マシンサイクル *:外部トリガ入力からリロードデータロードまで2T~2.5Tの時間がかかります。 <注意事項> TIN 端子へ入力するトリガパルス幅は , 2/ φ 以上としてください。 ● ゲート入力の動作 有効レベル ("H" レベル , "L" レベル選択可能 ) が TIN 端子に入力されている間 , カウン ト動作を行います。図 16.3-9 に , ワンショットモード時のゲート入力動作を示します。 図 16.3-9 ワンショットモード時のカウント動作 ( ソフトトリガゲート入力動作 ) カウントクロック リロード データ カウンタ -1 0000H FFFFH リロード データ -1 0000H FFFFH データロード信号 UFビット CNTEビット TRGビット T* TOT端子 起動トリガ入力待ち T:マシンサイクル *:トリガ入力からリロードデータロードまで1T時間かかります。 <注意事項> TIN 端子へ入力するゲート入力のパルス幅は , 2/ φ 以上としてください。 420 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 16 章 16 ビットリロードタイマ 16.3 16 ビットリロードタイマの動作 MB90330A シリーズ イベントカウントモード 16.3.4 TIN 端子からの入力エッジをカウントして , 16 ビットカウンタをカウントダウンし , カウンタのアンダフローで , CPU に割込み要求を発生します。また , TOT 端子から , トグル波形または , 矩形波を出力できます。 ■ イベントカウントモード カウント動作を許可 (TMCSR の CNTE=1) し , カウンタを起動 (TMCSR の TRG=1) する と , 16 ビットリロードレジスタ (TMRLR) の値がカウンタにロードされ , TIN 端子に入 力されたパルス ( 外部カウントクロック ) の , 有効エッジ ( 立上り , 立下り , 両エッジ選 択可能 ) を検出するたびにカウントダウンします。カウント許可ビットとソフトウェ アトリガビットを同時に "1" にセットすれば , カウント許可と同時にカウントを開始し ます。 ● リロードモード時の動作 カウンタ値がアンダフロー ("0000H" → "FFFFH") すると , 16 ビットリロードレジスタ (TMRLR) の値をカウンタにロードして , カウント動作を継続します。このとき , アン ダフロー割込み要求フラグビット (UF) を "1" にセットし , 割込み要求許可ビット (TMCSR の INTE) が "1" であれば割込み要求を発生します。また , TOT 端子からは , ア ンダフローごとに反転するトグル波形を出力できます。 図 16.3-10 に , リロードモードのカウント動作を示します。 図 16.3-10 リロードモード時のカウント動作 ( イベントカウントモード ) TIN端子 リロード データ カウンタ -1 0000H リロード データ -1 0000H リロード データ -1 0000H リロード データ -1 データロード信号 UFビット CNTEビット TRGビット T* TOT端子 T:マシンサイクル *:トリガ入力からリロードデータロードまで1T時間かかります。 <注意事項> TIN 端子へ入力されるクロックの "H" 幅および "L" 幅は , 4/ φ 以上としてください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 421 第 16 章 16 ビットリロードタイマ 16.3 16 ビットリロードタイマの動作 MB90330A シリーズ ● ワンショットモード時の動作 カウンタ値がアンダフロー ("0000H" → "FFFFH") すると , "FFFFH" の状態で , カウンタ を停止します。このとき , アンダフロー要求フラグビット (UF) が "1" にセットされ , 割 込み要求出力許可ビット (INTE) が "1" であれば割込み要求を発生します。また , TOT 端子からは , カウント中を示す矩形波を出力できます。 図 16.3-11 に , ワンショットモードのカウンタ動作を示します。 図 16.3-11 ワンショットモード時のカウンタ動作 ( イベントカウントモード ) TIN端子 リロード データ カウンタ -1 0000H FFFFH リロード データ -1 0000H FFFFH データロード信号 UFビット CNTEビット TRGビット T* TOT端子 起動トリガ入力待ち T:マシンサイクル *:トリガ入力からリロードデータロードまで1T時間かかります。 <注意事項> TIN 端子へ入力されるクロックの "H" 幅および "L" 幅は , 4/ φ 以上としてください。 422 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 17 章 8/16 ビット PPG タイマ この章では , 8/16 ビット PPG タイマの概要 , レジ スタの構成 / 機能および 8/16 ビット PPG タイマの 動作について説明します。 17.1 8/16 ビット PPG タイマの概要 17.2 8/16 ビット PPG タイマのレジスタ 17.3 8/16 ビット PPG タイマの動作 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 423 第 17 章 8/16 ビット PPG タイマ 17.1 8/16 ビット PPG タイマの概要 MB90330A シリーズ 8/16 ビット PPG タイマの概要 17.1 8/16 ビット PPG タイマは , 8 ビットのリロードタイマモジュールで , タイマ動作に 応じたパルス出力により , PPG 出力を行います。 ハードウェアとして以下を有しています。 • 8 ビットダウンカウンタ 6 個 • 8 ビットリロードタイマ 12 個 • 16 ビット制御レジスタ 3 個 • 外部パルス出力端子 6 本 • 割込み出力 6 本 なお , MB90330A シリーズには , 8 ビット PPG として 6 チャネルあり , このうち PPG0+PPG1/PPG2+PPG3/ PPG4+PPG5 の組合せで 16 ビット PPG(3 チャネル ) と しても動作します。 ■ 8/16 ビット PPG タイマの概略仕様 以下に , 8/16 ビット PPG タイマの機能概略を示します。 ● 8 ビット PPG 出力 6 チャネル独立動作モード 6 チャネルの独立した PPG 出力動作が可能です。 ● 16 ビット PPG 出力動作モード 3 チャネルの 16 ビットの PPG 出力動作が可能です。 PPG0+PPG1, PPG2+PPG3, PPG4+PPG5 の組合せで使用します。 ● 8+8 ビット PPG 出力動作モード PPG0(PPG2/PPG4) の出力を PPG1(PPG3/PPG5) のクロック入力にすることによって , 任 意周期の 8 ビット PPG 出力が可能です。 ● PPG 出力動作 任意周期およびデューティ比のパルス波を出力します。 <参考> PPG1 のみ A/D コンバータの割込みトリガに使用できます。 424 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 17 章 8/16 ビット PPG タイマ 17.1 8/16 ビット PPG タイマの概要 MB90330A シリーズ 8/16 ビット PPG タイマのブロックダイヤグラム 17.1.1 8/16 ビット PPG タイマの ch.0/ch.2/ch.4 および ch.1/ch.3/ch.5 のブロックダイヤ グラムを示します。 ■ 8/16 ビット PPG タイマのブロックダイヤグラム 図 17.1-1 に ch.0/ch.2/ch.4 のブロックダイヤグラムを , 図 17.1-2 に ch.1/ch.3/ch.5 のブロッ クダイヤグラムを示します。 図 17.1-1 8/16 ビット PPG タイマのブロックダイヤグラム (ch.0/ch.2/ch.4) 周辺クロック16分周 周辺クロック 8分周 周辺クロック 4分周 周辺クロック 2分周 周辺クロック PPG0/PPG2/PPG4 出力許可 PPG0/PPG2/PPG4 PPG0/PPG2/PPG4 出力ラッチ PEN0 S R Q IRQ PCNT(ダウンカウンタ) ch.1/ch.3/ch.5ボロー L/Hセレクタ カウント クロック選択 PIF0 タイムベースカウンタの出力 メインクロックの512分周 PIE0 L/H 選択 PRLL PRLBH PPGCO/PPGC2/PPGC4 (動作モード制御) PRLH "L" データバス "H" データバス CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 425 第 17 章 8/16 ビット PPG タイマ 17.1 8/16 ビット PPG タイマの概要 MB90330A シリーズ 図 17.1-2 8/16 ビット PPG タイマのブロックダイヤグラム (ch.1/ch.3/ch.5) 周辺クロック16分周 周辺クロック 8分周 周辺クロック 4分周 周辺クロック 2分周 周辺クロック PPG1/PPG3/PPG5 出力許可 PPG1/PPG3/PPG5 A/Dコンバータ(PPG1のみ) PPG1/PPG3/PPG5 出力ラッチ PEN1 S R Q IRQ PCNT(ダウンカウンタ) L/Hセレクタ カウント クロック選択 PUF1 タイムベースカウンタの出力 メインクロックの512分周 PIE1 L/H 選択 PRLL PRLBH PPGC1/PPGC3/PPGC5 (動作モード制御) PRLH "L" データバス "H" データバス 426 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 17 章 8/16 ビット PPG タイマ 17.2 8/16 ビット PPG タイマのレジスタ MB90330A シリーズ 17.2 8/16 ビット PPG タイマのレジスタ 8/16 ビット PPG タイマで使用するレジスタの構成および機能について説明します。 ■ 8/16 ビット PPG タイマのレジスタ一覧 図 17.2-1 に , 8/16 ビット PPG タイマのレジスタ一覧を示します。 図 17.2-1 8/16 ビット PPG タイマのレジスタ一覧 bit 7 ch.0 : 000046H PEN0 ch.2 : 000048H ch.4 : 00704AH (R/W) (0) 6 5 4 3 2 1 - PE00 PIE0 PUF0 - - (-) (X) (R/W) (0) (R/W) (0) (R/W) (0) (-) (X) (-) (X) 14 13 12 11 10 9 - PE10 PIE1 PUF1 MD1 MD0 (-) (X) (R/W) (0) (R/W) (0) (R/W) (0) (R/W) (0) (R/W) (0) 6 5 4 3 2 1 PCS1 PCS0 PCM2 PCM1 PCM0 (R/W) (0) (R/W) (0) (R/W) (0) (R/W) (0) (R/W) (0) 予約 (R/W) (X) 7 6 5 4 3 2 1 0 D07 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) (R/W) (X) 15 14 13 12 11 10 9 8 D15 D14 D13 D12 D11 D10 D09 D08 (R/W) (X) (R/W) (X) (R/W) (X) (R/W) (X) (R/W) (X) (R/W) (X) (R/W) (X) bit 15 ch.1 : 000047H PEN1 ch.3 : 000049H ch.5 : 00004BH (R/W) (0) bit 7 ch.0,1 : 00004CH PCS2 ch.2,3 : 00004EH (R/W) ch.4,5 : 000050H (0) bit ch.0 : 007900H ch.1 : 007902H ch.2 : 007904H ch.3 : 007906H ch.4 : 007908H ch.5 : 00790AH bit ch.0 : 007901H ch.1 : 007903H ch.2 : 007905H ch.3 : 007907H ch.4 : 007909H ch.5 : 00790BH CM44-10129-6 0 PPGC0/PPGC2/PPGC4 PPG 動作モード 制御レジスタ (R/W) リード / ライト (1) 初期値 予約 8 PPGC1/PPGC3/PPGC5 PPG 動作モード 制御レジスタ (R/W) リード / ライト (1) 初期値 予約 0 PPG01/PPG23/PPG45 予約 PPG 出力制御レジスタ (R/W) リード / ライト (X) 初期値 PRLL0~PRLL5 PPG リロードレジスタ下位 (R/W) リード / ライト (X) 初期値 PRLH0~PRLH5 PPG リロードレジスタ上位 (R/W) リード / ライト (X) 初期値 FUJITSU MICROELECTRONICS LIMITED 427 第 17 章 8/16 ビット PPG タイマ 17.2 8/16 ビット PPG タイマのレジスタ 17.2.1 MB90330A シリーズ PPG0/PPG2/PPG4 動作モード制御レジスタ (PPGC0/PPGC2/PPGC4) PPG0/PPG2/PPG4 動作モード制御レジスタ (PPGC0/PPGC2/PPGC4) の構成および 機能について説明します。 ■ PPG0/PPG2/PPG4 動作モード制御レジスタ (PPGC0/PPGC2/PPGC4) PPG0/PPG2/PPG4 動作モード制御レジスタ (PPGC0/PPGC2/PPGC4) は , ch.0/ch.2/ch.4 の動 作モード選択 , 端子出力制御 , カウントクロック選択およびトリガの制御を行います。 図 17.2-2 に , PPG0/PPG2/PPG4 動作モード制御レジスタ (PPGC0/PPGC2/PPGC4) のビッ ト構成を示します。 図 17.2-2 PPG0/PPG2/PPG4 動作モード制御レジスタ (PPGC0/PPGC2/PPGC4) のビット構成 bit 7 ch.0 : 000046H PEN0 ch.2 : 000048H ch.4 : 00704AH (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/PPGC4 PPG 動作モード 制御レジスタ (R/W) リード / ライト (1) 初期値 予約 以下に , PPG0/PPG2/PPG4 動作モード制御レジスタ (PPGC0/PPGC2/PPGC4) の各ビット の機能を説明します。 [bit7] PEN0 ( 動作許可 ) PPG0/PPG2/PPG4 の動作開始および動作モードを選択します。 PEN0 動作状態 0 動作停止 ("L" レベル出力保持 ) 1 PPG 動作許可 • このビットに "1" を書き込むことによって , PPG はカウントを開始します。 • このビットは , リセットによって "0" に初期化されます。 • 読出し / 書込みが可能です。 [bit6] 未定義ビット リード値は不定です。ライトは動作に影響を与えません。 [bit5] PE00 (PPG0/PPG2/PPG4 出力端子許可 ) パルス出力外部端子 PPG0/PPG2/PPG4 へのパルス出力の禁止 / 許可を制御します。 PE00 動作状態 0 汎用ポート端子 ( パルス出力禁止 ) 1 PPG0/PPG2/PPG4 パルス出力 ( パルス出力許可 ) • このビットは , リセットによって "0" に初期化されます。 • 読出し / 書込みが可能です。 428 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 17 章 8/16 ビット PPG タイマ 17.2 8/16 ビット PPG タイマのレジスタ [bit4] PIE0 (PPG0/PPG2/PPG4 の割込み許可 ) PPG0/PPG2/PPG4 の割込みの禁止 / 許可を制御します。 PIE0 動作状態 0 割込み禁止 1 割込み許可 • このビットが "1" のとき , PUF0 が "1" になると割込み要求を発生します。このビッ トが "0" のときは , 割込みを発生しません。 • このビットは , リセットによって "0" に初期化されます。 • 読出し / 書込みが可能です。 [bit3] PUF0 (PPG0/PPG2/PPG4 カウンタアンダフロー ) PPG0/PPG2/PPG4 のカウンタアンダフローの検出結果を表示します。 PUF0 動作状態 0 PPG カウンタアンダフローが検出していません。 1 PPG カウンタアンダフローを検出しました。 8 ビット PPG6 チャネルモード (PPG0, PPG1/PPG2, PPG3/PPG4, PPG5) および 8 ビット プリスケーラ +8 ビット PPG モード時には , ch.0, ch.2, ch.4 のカウンタの値が "00H" ∼ "FFH" になったときのアンダフローにより "1" にセットされます。16 ビット PPG3 チャ ネルモード (PPG0, PPG1/PPG2, PPG3/PPG4, PPG5) 時には , ch.1, ch.3, ch.5/ch.0, ch.2, ch.4 のカウンタの値が "0000H" ∼ "FFFFH" になったときのアンダフローによって "1" にセッ トされます。"0" の書込みにより "0" になります。PUF0 ビットへの "1" 書込みは意味 がありません。リードモディファイライト (RMW) 系命令の読出しに対しては , "1" が 読み出されます。 • このビットは , リセットによって "0" に初期化されます。 • 読出し / 書込みが可能です。 [bit2, bit1] 未定義ビット 読出し値は不定です。書込みは動作に影響を与えません。 [bit0] 予約ビット 予約ビットです。必ず "1" に設定してください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 429 第 17 章 8/16 ビット PPG タイマ 17.2 8/16 ビット PPG タイマのレジスタ 17.2.2 MB90330A シリーズ PPG1/PPG3/PPG5 動作モード制御レジスタ (PPGC1/PPGC3/PPGC5) PPG1/PPG3/PPG5 動作モード制御レジスタ (PPGC1/PPGC3/PPGC5) の構成および 機能について説明します。 ■ PPG1/PPG3/PPG5 動作モード制御レジスタ (PPGC1/PPGC3/PPGC5) PPG1/PPG3/PPG5 動作モード制御レジスタ (PPGC1/PPGC3/PPGC5) は , ch.1/ch.3/ch.5 の 動作モード選択 , 端子出力制御 , カウントクロック選択およびトリガの制御を行いま す。 図 17.2-3 に , PPG1/PPG3/PPG5 動作モード制御レジスタ (PPGC1/PPGC3/PPGC5) のビッ ト構成を示します。 図 17.2-3 PPG1/PPG3/PPG5 動作モード制御レジスタ (PPGC1/PPGC3/PPGC5) のビット構成 bit ch.1 : 000047H ch.3 : 000049H ch.5 : 00004BH 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/PPGC5 PPG 動作モード 制御レジスタ (R/W) リード / ライト (1) 初期値 予約 以下に , PPG1/PPG3/PPG5 動作モード制御レジスタ (PPGC1/PPGC3/PPGC5) の各ビット の機能を説明します。 [bit15] PEN1 ( 動作許可 ) PPG1/PPG3/PPG5 の動作開始および動作モードを選択します。 PEN1 動作状態 0 動作停止 ("L" レベル出力保持 ) 1 PPG 動作許可 • このビットに "1" を書き込むことによって , PPG はカウントを開始します。 • このビットは , リセットによって "0" に初期化されます。 • 読出し / 書込みが可能です。 [bit14] 未定義ビット リード値は不定です。ライトは動作に影響を与えません。 430 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 17 章 8/16 ビット PPG タイマ 17.2 8/16 ビット PPG タイマのレジスタ [bit13] PE10 (PPG1/PPG3/PPG5 出力端子許可 ) パルス出力外部端子 PPG1/PPG3/PPG5 へのパルス出力の禁止 / 許可を制御します。 PE10 動作状態 0 汎用ポート端子 ( パルス出力禁止 ) 1 PPG1/PPG3/PPG5 パルス出力 ( パルス出力許可 ) • このビットは , リセットによって "0" に初期化されます。 • 読出し / 書込みが可能です。 [bit12] PIE1 (PPG1/PPG3/PPG5 の割込み許可 ) PPG1/PPG3/PPG5 の割込みの禁止 / 許可を制御します。 PIE1 動作状態 0 割込み禁止 1 割込み許可 • このビットが "1" のとき , PUF1 が "1" になると割込み要求を発生します。このビッ トが "0" のときは , 割込みを発生しません。 • このビットは , リセットによって "0" に初期化されます。 • 読出し / 書込みが可能です。 [bit11] PUF1 (PPG1/PPG3/PPG5 カウンタアンダフロー ) PPG1/PPG3/PPG5 のカウンタアンダフローの検出結果を表示します。 PUF1 動作状態 0 PPG カウンタアンダフローを検出していません。 1 PPG カウンタアンダフローを検出しました。 8 ビット PPG6 チャネルモード (PPG0, PPG1/PPG2, PPG3/PPG4, PPG5) および 8 ビットプ リスケーラ +8 ビット PPG モード時には , ch.1, ch.3, ch.5 のカウンタの値が "00H" ∼ "FFH" になったときのアンダフローにより "1" にセットされます。16 ビット PPG3 チャネル モード (PPG0, PPG1/PPG2, PPG3/PPG4, PPG5) 時には , ch.1, ch.3, ch.5/ch.0, ch.2, ch.4 のカ ウンタの値が "0000H" ∼ "FFFFH" になったときのアンダフローによって "1" にセットさ れます。"0" の書込みにより "0" になります。PUF1 ビットへの "1" 書込みは意味があり ません。リードモディファイライト (RMW) 系命令系の読出しに対しては , "1" が読み出 されます。 • このビットは , リセットによって "0" に初期化されます。 • 読出し / 書込みが可能です。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 431 第 17 章 8/16 ビット PPG タイマ 17.2 8/16 ビット PPG タイマのレジスタ MB90330A シリーズ [bit10, bit9] MD1, MD0 ( 動作モード選択 ) PPG タイマの動作モードを選択します。 MD1 MD0 0 0 8 ビット PPG 2 チャネル独立モード ( × 3 あり ) 0 1 8 ビットプリスケーラ +8 ビット PPG 1 チャネル 1 0 予約 ( 設定禁止 ) 1 1 16 ビット PPG 1 チャネルモード ( × 3 あり ) 動作モード • このビットは , リセットによって "0" に初期化されます。 • 読出し / 書込みが可能です。 <注意事項> • MD1, MD0 ビットを "10B" に設定しないでください。 • MD1, MD0 ビットを "01B" に設定する場合には , PPGC0 の PEN0 ビット /PPGC1 の PEN1 ビットを "01B" に設定しないでください。また , PEN0 ビットおよび PEN1 ビッ トを同時に "11" または "00B" にセットすることを推奨します。 • MD1, MD0 ビットを "11B" に設定する場合には , PPGC0/PPGC1 をワード転送で書き 換え , PEN0/PEN1 を同時に "11B" または "00B" にセットしてください。 [bit8] 予約ビット 予約ビットです。必ず "1" に設定してください。 432 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 17 章 8/16 ビット PPG タイマ 17.2 8/16 ビット PPG タイマのレジスタ MB90330A シリーズ PPG0 ∼ PPG5 出力制御レジスタ (PPG01/PPG23/ PPG45) 17.2.3 PPG0 ∼ PPG5 出力制御レジスタ (PPG01/PPG23/PPG45) の構成および機能につい て説明します。 ■ PPG0 ∼ PPG5 出力制御レジスタ (PPG01/PPG23/PPG45) 図 17.2-4 に , PPG0 ∼ PPG5 出力制御レジスタ (PPG01/PPG23/PPG45) のビット構成を示 します。 図 17.2-4 PPG0 ∼ PPG5 出力制御レジスタ (PPG01/PPG23/PPG45) bit 7 ch.0,ch.1 : 00004CH PCS2 ch.2,ch.3 : 00004EH (R/W) ch.4,ch.5 : 000050H (0) 6 5 4 3 2 PCS1 PCS0 PCM2 PCM1 PCM0 (R/W) (0) (R/W) (0) (R/W) (0) (R/W) (0) (R/W) (0) 1 0 予約 (R/W) (X) PPG01/PPG23/PPG45 予約 PPG 出力制御レジスタ (R/W) リード / ライト (X) 初期値 以下に , PPG0 ∼ PPG5 出力制御レジスタ (PPG01/PPG23/PPG45) の各ビットの機能を説 明します。 [bit7 ∼ bit5] PCS2 ∼ PCS0 ( カウントクロック選択 ) ch.1, ch.3, ch.5 のダウンカウンタの動作クロックを選択します。 PCS2 PCS1 PCS0 0 0 0 周辺クロック (41.7 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 タイムベースカウンタからの入力クロック (2 9 × 167 ns=85 μs 原発振 6 MHz 時 ) 動作モード • このビットは , リセットによって "000B" に初期化されます。 • 読出し / 書込みが可能です。 <注意事項> 8 ビットプリスケーラ +8 ビット PPG モードおよび 16 ビット PPG モード時には , ch.1, ch.3, ch.5のPPGはch.0, ch.2, ch.4からカウントクロックを受けて動作するため, PCS2∼ PCS0 ビットの指定は無効になります。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 433 第 17 章 8/16 ビット PPG タイマ 17.2 8/16 ビット PPG タイマのレジスタ MB90330A シリーズ [bit4 ∼ bit2] PCM2 ∼ PCM0 ( カウントクロック選択 ) ch.0, ch.2, ch.4 のダウンカウンタの動作クロックを選択します。 PCM2 PCM1 PCM0 動作モード 0 0 0 周辺クロック (41.7 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 タイムベースカウンタからの入力クロック (2 9 × 167 ns=85 μs 原発振 6 MHz 時 ) • このビットは , リセットによって "000B" に初期化されます。 • 読出し / 書込みが可能です。 [bit1, bit0] 予約ビット 予約ビットです。必ず "00B" に設定してください。 434 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 17 章 8/16 ビット PPG タイマ 17.2 8/16 ビット PPG タイマのレジスタ MB90330A シリーズ PPG リロードレジスタ (PRLL0 ∼ PRLL5, PRLH0 ∼ PRLH5) 17.2.4 PPG リロードレジスタ (PRLL0 ∼ PRLL5, PRLH0 ∼ PRLH5) の構成および機能に ついて説明します。 ■ PPG リロードレジスタ (PRLL0 ∼ PRLL5, PRLH0 ∼ PRLH5) 図 17.2-5 に , PPG リロードレジスタ (PRLL0 ∼ PRLL5, PRLH0 ∼ PRLH5) のビット構成 を示します。 図 17.2-5 PPG リロードレジスタ (PRLL0 ∼ PRLL5, PRLH0 ∼ PRLH5) bit ch.0 : 007900H ch.1 : 007902H ch.2 : 007904H ch.3 : 007906H ch.4 : 007908H ch.5 : 00790AH bit ch.0 : 007901H ch.1 : 007903H ch.2 : 007905H ch.3 : 007907H ch.4 : 007909H ch.5 : 00790BH 7 6 5 4 3 2 1 0 D07 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) (R/W) (X) 15 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) PPG リロードレジスタ下位 (R/W) リード / ライト (X) 初期値 8 (R/W) (X) PRLL0~PRLL5 PRLH0~PRLH5 D08 PPG リロードレジスタ上位 (R/W) リード / ライト (X) 初期値 PPG リロードレジスタ (PRLL0 ∼ PRLL5, PRLH0 ∼ PRLH5) は , ダウンカウンタ (PCNT) へのリロード値を保持する , 各 8 ビットのレジスタです。それぞれ次の役割を持ってい ます。 レジスタ名 機能 PRLL "L" 側リロード値保持 PRLH "H" 側リロード値保持 どちらのレジスタも , 読出し / 書込み可能です。 <注意事項> 8 ビットプリスケーラ +8 ビット PPG モードで使用する場合には , ch.0, ch.2, ch.4 の PRLL と PRLH に異なる値を設定すると , ch.1, ch.3, ch.5 の PPG 波形がサイクルごとに異なる場 合があります。したがって , ch.0, ch.2, ch.4 の PRLL と PRLH は , 同じ値に設定すること を推奨します。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 435 第 17 章 8/16 ビット PPG タイマ 17.3 8/16 ビット PPG タイマの動作 17.3 MB90330A シリーズ 8/16 ビット PPG タイマの動作 8/16 ビット PPG タイマには , 8 ビット長の PPG ユニットが 6 チャネル (PPG0, PPG1/PPG2, PPG3/ PPG4, PPG5) あり , それぞれが独立モード以外にも , 直結 (PPG0+PPG1/PPG2+PPG3/ PPG4+PPG5) 動作をさせることによって , 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/PPGC4 中の bit4(PIE0) が "1" のときおよび PPGC1/PPGC3/PPGC5 中の bit2(PIE1) が "1" のとき , それぞれのカウンタの "00H → FFH" へのボロー (16 ビッ ト PPG モードの場合は , "0000H" → "FFFFH" へのボロー) によって割込み要求が出力さ れます。 ■ 動作モード 8/16 ビット PPG タイマは , 2 チャネル独立モードと 8 ビットプリスケーラ +8 ビット PPG モードと , 16 ビット PPG モードの計 3 種類の動作モードがあります (MB90330A シリーズはモードごとに× 3 チャネルあります )。 2 チャネル独立モードは , 8 ビット PPG として 2 チャネル独立に動作させるモードで す。PPG0 端子には , ch.0 の PPG 出力が接続され , PPG1 には ch.1 の PPG 出力が接続さ れます (PPG2 ∼ PPG5 → ch.2 ∼ ch.5 に対応 )。 8 ビットプリスケーラ +8 ビット PPG モードは , ch.0(ch.2/ch.4) を 8 ビットプリスケーラ として動作させ , ch.1(ch.3/ch.5) を ch.0(ch.2/ch.4) のボロー出力でカウントすることに よって , 任意周期の 8 ビット PPG 波形を出力できるようにする動作モードです。 PPG0(PPG2/PPG4) 端子は , ch.0(ch.2/ch.4) のプリスケーラ出力が接続され , PPG1 端子は , ch.1(ch.3/ch.5) の PPG の出力が接続されます。 16 ビット PPG チャネルモード (MB90330A シリーズは× 3 チャネルあります ) は , ch.0 と ch.1 を直結させて (ch.2, ch.3/ch.4, ch.5 直結 ) 16 ビットの PPG として動作させる動作 モードです。PPG0, PPG1 は両方ともに 16 ビット PPG 出力が接続されます。 436 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 17 章 8/16 ビット PPG タイマ 17.3 8/16 ビット PPG タイマの動作 MB90330A シリーズ ■ PPG 出力動作 8/16 ビット PPG タイマは , ch.0(ch.2/ch.4) の PPG については , PPGC0 の bit7(PEN0) を , ch.1(ch.3/ch.5) の PPG については , PPGC1 の bit15(PEN1) を "1" にセットすることによっ て起動され , カウントを開始します。動作を開始した後は , PPGC0 の bit7(PEN0) また は PPGC1 の bit15(PEN1) に "0" を書き込むことによってカウント動作を停止し , 停止し た後にパルス出力は "L" レベルを保持します。 8 ビットプリスケーラ +8 ビット PPG モードのときには , ch.0(ch.2/ch.4) を停止状態で , ch.1(ch.3/ch.5) を動作状態に設定しないでください。 16 ビット PPG モードのときには , PPGC0 中の bit7(PEN0) と PPGC1 中の bit15(PEN1) は , 同時に開始 / 停止の制御を行ってください。 以下に , PPG 出力動作を説明します。 PPG 動作時は , 任意周期任意デューティ比 ( パルス波の "H" レベル期間と "L" レベル期 間の比 ) のパルス波出力を連続して出力します。PPG はパルス波出力を開始し , 動作停 止を設定するまで停止しません。 図 17.3-1 に , PPG 出力動作の出力波形を示します。 図 17.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 分周分のパルス幅をもつことになりま すので注意してください。パルス幅の計算式を以下に示します。 P L=T × (L+1) P H=T × (H+1) P L : "L" パルスの幅 P H : "H" パルスの幅 CM44-10129-6 T : 入力クロック周期 L : PRLL 値 H : PRLH 値 FUJITSU MICROELECTRONICS LIMITED 437 第 17 章 8/16 ビット PPG タイマ 17.3 8/16 ビット PPG タイマの動作 MB90330A シリーズ ■ カウントクロックの選択 8/16 ビット PPG タイマの動作に使用するカウントクロックは , 周辺クロックおよびタ イムベースカウンタの入力を使用しており , 6 種類のカウントクロック入力が選択でき ます。 PPG01/PPG23/PPG45 の bit4 ∼ bit2(PCM2 ∼ PCM0) で ch.0(ch.2/ch.4) のクロックを , PPG01/PPG23/PPG45 の bit7 ∼ bit5(PCS2 ∼ PCS0) で ch.1(ch.3/ch.5) のクロックを選択し ます。 クロックの選択は , マシンクロックより 1/16 ∼ 1 倍およびタイムベースカウンタの入 力を選択します。 <注意事項> • 8 ビットプリスケーラ +8 ビット PPG モードおよび 16 ビット PPG モードのときは , PPGC1 の bit14(PCS1) の値は無効となります。 • タイムベースタイマの入力を使用した場合 , トリガまたは停止後の最初のカウントサ イクルがずれる可能性があります。また , 8/16 ビット PPG タイマが動作中にタイム ベースカウンタの初期化を行うとサイクルがずれることがあります。 • 8 ビットプリスケーラ +8 ビット PPG モードで , ch.0/ch.2/ch.4 が動作状態で ch.1/ch.3/ ch.5 が停止状態のときに ch.1(ch.3/ch.5) を起動すると , 最初のカウントサイクルがず れる可能性があります。 ■ パルスの端子出力制御 8/16 ビット PPG タイマによって生成したパルスは , 外部端子 (PPG0 ∼ PPG5) から出力 させることができます。外部端子からパルスを出力するには , 各端子に対応するビット に "1" を書き込みます。PPG0/PPG2/PPG4 端子に対しては PPGC0 の bitPE0) を , PPG1/ PPG3/PPG5 に対しては PPGC1 の bit3(PE1) を使用します。このビットに "0" が書き込 まれているとき ( 初期値 ) は , パルスは外部端子から出力されずに , 汎用ポートとして 機能します。 16 ビット PPG モードでは , PPG0 ∼ PPG5 からは同じ波形が出力されるので , どちらの 外部端子を有効にしても同じ出力を得ることができます。 8 ビットプリスケーラ +8 ビット PPG モードでは , PPG0/PPG2/PPG4 からは 8 ビットプ リスケーラのトグル波形が出力され , PPG1/PPG3/PPG5 からは 8 ビット PPG の波形が 出力されます。 このモードにおける出力波形を図 17.3-2 に示します。 図 17.3-2 8+8PPG 出力動作の波形 PH0 PL0 PPG0 PPG1 PH1 438 PL1 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 17 章 8/16 ビット PPG タイマ 17.3 8/16 ビット PPG タイマの動作 MB90330A シリーズ 図 17.3-2 におけるパルス幅は , 以下の式によって計算できます。 P L0=T × (L0+1) P H0=T × (L0+1) P L1=T × (L0+1) × (L1+1) P H1=T × (L0+1) × (H1+1) L0 : ch.0 の PRLL の値および ch.1 の PRLH の値 L1 : ch.1 の PRLL の値 H1 : ch.1 の PRLH の値 T : 入力クロックサイクル P H0: PPG0 の "H" パルスの幅 P L0: PPG0 の "L" パルスの幅 P H1: PPG1 の "H" パルスの幅 P L1: PPG1 の "L" パルスの幅 <注意事項> ch.0 の PRLL と ch.1 の PRLH は同じ値を設定します。 ■ 8/16 ビット PPG タイマの割込み 8/16 ビット PPG タイマの割込みは , リロード値がカウントアウトしてボローが発生し たときにアクティブになります。8 ビット PPG2 チャネルモードまたは 8 ビットプリス ケーラ +9 ビット PPG モード (MB90330A シリーズにはそれぞれ× 3 チャネル分ありま す ) のときは , それぞれのボローによってそれぞれの割込み要求が行われます。しかし , 16 ビット PPG モードでは , 16 ビットのカウンタのボローによって PUF0 と PUF1 が同 時に設定されます。このため , 割込み要因を 1 本化するために , PIE0 または PIE1 のど ちらか一方のみを許可します。また , 割込み要因のクリアも PUF0 と PUF1 を同時に行 います。 ■ ハードウェアコンポーネントの初期値 8/16 ビット PPG タイマのハードウェアコンポーネントは , リセット時に次の値に初期 化されます。 < レジスタ > PPG0 → 0X000001B PPG1 → 00000001B PPG01 → XXXXXX00B < パルス出力 > < 割込み要求 > PPG0 → "L" PPG1 → "L" PE0 → PPG0 出力禁止 PE1 → PPG1 出力禁止 IRQ0 → "L" IRQ1 → "L" 上記以外のハードウェアコンポーネントは初期化されません。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 439 第 17 章 8/16 ビット PPG タイマ 17.3 8/16 ビット PPG タイマの動作 MB90330A シリーズ ■ リロードレジスタへの書込みタイミング 16 ビット PPG モード以外のモードでは , リロードレジスタ PRLL, PRLH へのデータ書 込みはワード転送命令を使用することを推奨します。データ項目をバイト転送命令 2 回でレジスタに書き込んだ場合 , タイミングによっては予想しないパルス幅の出力が 発生する可能性があります。 図 17.3-3 に , リロードレジスタへの書込みタイミングを示します。 図 17.3-3 リロードレジスタへの書込みタイミングチャート PPG0 A B A B C B C D C D ① 図 17.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.4 と ch.1/ch.3/ch.5 の PRL に データを書き込むには , ロングワード転送命令を使用するかまたは ch.0 → ch.1(ch.2 → ch.3/ch.4 → ch.5) の PRL に順にワード転送命令を使用します。このモードのときは , デー タは , ch.0/ch.2/ch.4 から PRL へ一時的に書き込まれ , その後 ch.1/ch.3/ch.5 の PRL に書 き込んだ時点で , 実際に ch.0 の PRL へ書き込まれます。 16 ビット PPG モード以外では , ch.0/ch.2/ch.4 と ch.1/ch.3/ch.5 の書込みは独立に行われ ます。 図 17.3-4 に , PRL 書込み動作のブロックダイヤグラムを示します。 図 17.3-4 PRL 書込み動作のブロックダイヤグラム ch.0のPRLの書込みデータ 16ビットPPG モード以外のとき ch.0の書込み テンポラリラッチ ch.0のPRL 440 ch.1のPRLの書込みデータ 16ビットPPGモード時 ch.1の書込みに同期して 転送 ch.1の書込みデータ ch.1のPRL FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 18 章 DTP/ 外部割込み この章では , DTP/ 外部割込みの概要 , レジスタの 構成 / 機能および DTP/ 外部割込みの動作について 説明します。 18.1 DTP/ 外部割込みの概要 18.2 DTP/ 外部割込みのレジスタ 18.3 DTP/ 外部割込みの動作 18.4 DTP/ 外部割込み使用上の注意 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 441 第 18 章 DTP/ 外部割込み 18.1 DTP/ 外部割込みの概要 18.1 MB90330A シリーズ DTP/ 外部割込みの概要 DTP(Data Transfer Peripheral) は , デバイス外部に存在する周辺装置と F2MC16LX CPU との間にあって , 外部周辺装置が発生する DMA 要求または割込み要求を 受け取り , これを F2MC-16LX CPU に伝えて μDMAC または割込み処理を起動させ るための周辺制御部です。 ■ DTP/ 外部割込みの概要 要求レベルとして , μDMAC の場合は "H", "L" の 2 種類が , 外部割込み要求の場合は "H", "L" のほかに立上りエッジと立下りエッジの計 4 種類が選択できます。 ■ DTP/ 外部割込みのブロックダイヤグラム 図 18.1-1 に , DTP/ 外部割込みのブロックダイヤグラムを示します。 図 18.1-1 DTP/ 外部割込みのブロックダイヤグラム F2MC-16LXバス 4 4 4 8 442 DTP/割込み許可レジスタ ゲート 要因F/F エッジ検出回路 4 要求入力 DTP/割込み要因レジスタ 要求レベル設定レジスタ FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 18 章 DTP/ 外部割込み 18.2 DTP/ 外部割込みのレジスタ MB90330A シリーズ 18.2 DTP/ 外部割込みのレジスタ DTP/ 外部割込みで使用するレジスタの構成および機能について説明します。 ■ DTP/ 外部割込みのレジスタ一覧 図 18.2-1 に , DTP/ 外部割込みのレジスタ一覧を示します。 図 18.2-1 DTP/ 外部割込みのレジスタ一覧 bit 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 7 アドレス : 00003CH EN7 bit 15 アドレス : 00003DH ER7 bit アドレス : 00003EH bit アドレス : 00003FH DTP/ 割込み許可 レジスタ (ENIR) DTP/ 割込み要因 レジスタ (EIRR) 要求レベル設定 レジスタ (ELVR) 要求レベル設定 レジスタ (ELVR) ■ DTP/ 割込み許可レジスタ (ENIR:Enable Interrupt Request Register) 図 18.2-2 に , DTP/ 割込み許可レジスタ (ENIR) のビット構成を示します。 図 18.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 443 第 18 章 DTP/ 外部割込み 18.2 DTP/ 外部割込みのレジスタ MB90330A シリーズ ■ DTP/ 割込み要因レジスタ (EIRR:External Interrupt Request Register) 図 18.2-3 に , DTP/ 割込み要因レジスタ (EIRR) のビット構成を示します。 図 18.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" を書き込んでも何の操 作も行いません。リードモディファイライト (RMW) 系命令の読出し時には "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) 図 18.2-4 に , 要求レベル設定レジスタ (ELVR) のビット構成を示します。 図 18.2-4 要求レベル設定レジスタ (ELVR) ELVR bit アドレス : 00003EH bit アドレス : 00003FH 444 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-10129-6 第 18 章 DTP/ 外部割込み 18.2 DTP/ 外部割込みのレジスタ MB90330A シリーズ 要求レベル設定レジスタ (ELVR) は , 要求検出レベルを選択するレジスタです。1 つの 端子あたり 2 ビットが割り当てられていて , 表 18.2-1 に示す対応となっています。要 求入力がレベルの場合 , クリアしても入力がアクティブならば再びセットされます。 表 18.2-1 ELVR 割当て (LA0 ∼ LA7, LB0 ∼ LB7) CM44-10129-6 LBx LAx 動作 0 0 "L" レベルで要求あり 0 1 "H" レベルで要求あり 1 0 立上りエッジで要求あり 1 1 立下りエッジで要求あり FUJITSU MICROELECTRONICS LIMITED 445 第 18 章 DTP/ 外部割込み 18.3 DTP/ 外部割込みの動作 18.3 MB90330A シリーズ DTP/ 外部割込みの動作 DTP/ 外部割込みの動作について説明します。 ■ 外部割込みの動作 外部割込み要求の設定の後 , 対応する端子に ELVR で設定された要求が入力されると , 本リソースは割込みコントローラに対して割込み要求信号を発生します。割込みコン トローラ内で同時発生した割込みの優先順位を識別した結果 , 本リソースからの割込 みが最も優先順位が高かったときに , 割込みコントローラは F2MC-16LX CPU に対して 割込み要求を発生します。F2MC-16LX CPU は , プロセッサステータス (PS) 内の割込み レベルマスクレジスタ (ILM) と割込み要求を比較し , 要求レベルが ILM ビットより高 かったときに現在実行中の命令が終了し次第 , ハードウェア割込み処理マイクロプロ グラムを起動します。 図 18.3-1 に , 外部割込み動作のフローを示します。 図 18.3-1 外部割込み動作 F2MC-16LXCPU 割込コントローラ 外部割込/DTP ほかの要求 ICRyy ELVR IL CMP CMP EIRR ICRxx ENIR ILM INTA 要因 割込み処理マイクロプログラムでは割込みベクタ領域の読出しと , 割込みコントロー ラへの割込みアクノリッジを発生し , ベクタから生成したマクロ命令のジャンプ先ア ドレスをプログラムカウンタへ転送した上で , ユーザの割込み処理プログラムを実行 します。 ■ DTP の動作 初期化としてユーザプログラム内では μDMAC を起動するにあたって , μDMAC ディス クリプタ内の I/O アドレスポインタに 000000H から 0000FFH に割り付けられているレ ジスタのアドレスを設定し , バッファアドレスポインタにメモリバッファの先頭アド レスを設定します。 DTP の動作シーケンスは外部割込みの場合とほぼ同じで , CPU がハードウェア割込み 処理マイクロプログラムを起動するまでは全く同じです。μDMAC が起動されると , ア ドレッシングされている外部周辺装置に読出しまたは書込み信号が送られ , 本チップ との間で転送が行われます。外部周辺装置は , その転送が行われてから 3 マシンサイク ル以内に本チップに対する割込み要求を取り下げてください。転送が終了するとディ スクリプタの更新などが行われ , その後転送要因をクリアする信号を割込みコント ローラに発生させます。転送要因をクリアする信号を受け取った本リソースは , 要因を 保持しているフリップフロップをクリアして , 端子からの次の要求に備えます。 図 18.3-2 に , DTP 動作終了時の外部割込み要求を取り下げるタイミングを示します。 また , 図 18.3-3 に , 外部周辺装置とのインタフェース例を示します。 446 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 18 章 DTP/ 外部割込み 18.3 DTP/ 外部割込みの動作 MB90330A シリーズ 図 18.3-2 DTP 動作終了時の外部割込み要求の取下げタイミング エッジ要求,または"H"レベル要求 割込み要因 ディスクリプタ 選択,読出し 内部動作 アドレスバス端子 メモリ転送のとき I/0レジスタ ライトアドレス リードアドレス リードデータ データバス端子 読出し信号 ライトデータ ① 書込み信号 ② 3マシンサイクル以内に取り下げる 図 18.3-3 外部周辺装置とのインタフェース例 レジスタ 外部周辺装置 ② ① INT IRQ DTP 転送終了後3マシンサイクル 以内に取り下げる CM44-10129-6 内部バス データ,アドレス,バス CORE MEMORY MB90330A FUJITSU MICROELECTRONICS LIMITED 447 第 18 章 DTP/ 外部割込み 18.4 DTP/ 外部割込み使用上の注意 18.4 MB90330A シリーズ DTP/ 外部割込み使用上の注意 DTP/ 外部割込みを使用する上での注意事項について説明します。 ■ 外部に接続する周辺装置の条件 DTP がサポートできる外部周辺装置は , 転送が行われたことにより自動的に要求をク リアするものでなければなりません。また , 転送動作を開始してから 3 マシンサイクル 以内 ( 暫定値 ) で転送要求を取り下げるようになっていないと , 本リソースは次の転送 要求が発生したものとして扱ってしまいます。 ■ DTP/ 外部割込みの動作手順 DTP/ 外部割込み内に存在するレジスタの設定は , 次の手順で行ってください。 1. 外部割込み入力として使用する端子と兼用する汎用入出力ポートを入力ポート に設定する。 2. 許可レジスタの対象となるビットを禁止状態にする。 3. 要求レベル設定レジスタの対象となるビットを設定する。 4. 要因レジスタの対象となるビットをクリアする。 5. 許可レジスタの対象となるビットを許可状態にする。 4. と 5. はワード指定による同時書込みが可能です。 本リソース内のレジスタを設定するときには , 必ず許可レジスタを禁止状態に設定し ておかなくてはなりません。また , 許可レジスタを許可状態にする前に必ず要因レジス タをクリアしておく必要があります。これは , レジスタ設定時や割込み許可状態時に 誤って割込み要因が発生してしまうことを避けるためです。 ■ 外部割込み要求レベル • 要求レベルがエッジ要求の場合 , エッジがあったことを検出するためには , パルス 幅は最小 3 マシンサイクル必要です。 • 要求入力レベルがレベル設定の場合 , 外部から要求が入力され , その後取り下げら れても , 割込み要求許可状態 (ENIR:EN=1) であれば , 割込みコントローラへの要求 はアクティブのままです。割込みコントローラへの要求を取り下げるには , 割込み 要求フラグビット (EIRR:ER) をクリアする必要があります。 図 18.4-1 レベル設定時の割込み要求フラグビット (EIRR:ER) のクリア 割込み要因 レベル検出 割込み要求フラグビット (EIRR:ER) 許可ゲート 割込み コントローラへ クリアしない限り 要因を保持し続ける 448 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 18 章 DTP/ 外部割込み 18.4 DTP/ 外部割込み使用上の注意 MB90330A シリーズ 図 18.4-2 割込み許可時の割込み要因と割込みコントローラへの割込み要求 割込み要因 ("H"レベル検出の場合) 割込みコントローラ への割込み要求 割込み要因の取下げ 割込み要求フラグビット(EIRR:ER)のクリアに よってインアクティブとなる <注意事項> 時計モードからのエッジ検出による復帰はできません。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 449 第 18 章 DTP/ 外部割込み 18.4 DTP/ 外部割込み使用上の注意 450 MB90330A シリーズ FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 19 章 8/10 ビット A/D コンバータ この章では , 8/10 ビット A/D コンバータの機能と 動作について説明します。 19.1 8/10 ビット A/D コンバータの概要 19.2 8/10 ビット A/D コンバータの構成 19.3 8/10 ビット A/D コンバータのレジスタ 19.4 8/10 ビット A/D コンバータの動作説明 19.5 8/10 ビット A/D コンバータ使用上の注意 19.6 8/10 ビット A/D コンバータのプログラム例 -1 ( 単発モードの EI2OS 起動例 ) 19.7 8/10 ビット A/D コンバータのプログラム例 -2 ( 連続モードの EI2OS 起動例 ) 19.8 8/10 ビット A/D コンバータのプログラム例 -3 ( 停止モードの EI2OS 起動例 ) CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 451 第 19 章 8/10 ビット A/D コンバータ 19.1 8/10 ビット A/D コンバータの概要 19.1 MB90330A シリーズ 8/10 ビット A/D コンバータの概要 8/10 ビット A/D コンバータには , RC 逐次比較変換方式でアナログ入力電圧を 8 ビットもしくは 10 ビットのデジタル値に変換する機能があります。入力信号は , 16 チャネルのアナログ入力端子から選択し , 変換起動は , ソフトウェア , PPG タイマ 1 出力および外部端子からのトリガ入力起動の 3 種類から選択できます。 ■ 8/10 ビット A/D コンバータの機能 アナログ入力端子に入力されたアナログ電圧 ( 入力電圧 ) をデジタル値に A/D 変換す る機能があり , 次の特長をもっています。 • 変換時間は, 最小7.16 μs(マシンクロック24 MHz時, サンプリング時間を含む)です。 • サンプリング時間は , 最小 3.33 μs( マシンクロック 6 MHz 時 ) です。 • 変換方式は , サンプルホールド回路付 RC 逐次変換比較方式です。 • アナログ入力端子は 16 チャネルからプログラムで選択可能です。 • A/D 変換終了時に割込み要求を発生でき , EI2OS を起動することもできます。 割込み許可の状態では変換データ保護機能が働くため連続変換してもデータの欠 落がありません。 • 変換の起動要因は , ソフトウェア , PPG タイマ 1 出力 ( 立上りエッジ ), 外部からの トリガ入力 ( 立下りエッジ ) から選択できます。 変換モードは , 表 19.1-1 に示すように 3 種類あります。 表 19.1-1 8/10 ビット A/D コンバータの変換モード 変換モード シングル変換動作 スキャン変換動作 単発変換モード 指定したチャネル (1 チャネルの み ) を 1 回変換して終了 連続した複数のチャネル ( 最大 16 チャネ ルまで指定可能 ) を 1 回変換して終了 連続変換モード 指定したチャネル (1 チャネルの み ) を繰り返し変換 連続した複数のチャネル ( 最大 16 チャネ ルまで指定可能 ) を繰り返し変換 指定したチャネル (1 チャネルの み ) を 1 回変換したら一時停止し , 次の起動がかかるまで待機 連続した複数のチャネル ( 最大 16 チャネ ルまで指定可能 ) を変換 ただし , 1 チャネル変換ごとに一時停止し , 次の起動がかかるまで待機 停止変換モード 452 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 19 章 8/10 ビット A/D コンバータ 19.2 8/10 ビット A/D コンバータの構成 MB90330A シリーズ 19.2 8/10 ビット A/D コンバータの構成 8/10 ビット A/D コンバータは , 次の 9 つのブロックで構成されています。 • A/D 制御ステータスレジスタ (ADCS) • A/D データレジスタ (ADCR) • A/D 変換チャネル設定レジスタ (ADMR) • デコーダ • アナログチャネルセレクタ • サンプルホールド回路 • D/A コンバータ • コンパレータ • コントロール回路 ( 逐次比較レジスタ ) ■ 8/10 ビット A/D コンバータのブロックダイヤグラム 図 19.2-1 8/10 ビット A/D コンバータのブロックダイヤグラム AVcc AVRH AVss MPX アナログチャネル セレクタ コントロール回路 コンパレータ サンプル& ホールド回路 デコーダ A/Dデータレジスタ F2MC-16LX バス P70/AN0 ~ P87/AN15 D/Aコンバータ ADCR1,ADCR0 A/D変換チャネル設定レジスタ ADMR A/D制御ステータスレジスタ上位 A/D制御ステータスレジスタ下位 PPG1出力 タイマ起動 P96/ADTG/FRCK φ CM44-10129-6 トリガ起動 ADCS1,ADCS0 動作クロック プリスケーラ FUJITSU MICROELECTRONICS LIMITED 453 第 19 章 8/10 ビット A/D コンバータ 19.2 8/10 ビット A/D コンバータの構成 MB90330A シリーズ ● A/D 制御ステータスレジスタ (ADCS) ソフトウェアによる起動 , 起動トリガの選択 , 変換モードの選択 , A/D 変換チャネルの 選択 , 割込み要求の許可 / 禁止 , 割込み要求の状態の確認 , 一時停止中および変換中の 表示をします。 ● A/D データレジスタ (ADCR) A/D 変換結果を格納するレジスタであり , A/D 変換の分解能を選択する機能もありま す。 ● A/D 変換チャネル設定レジスタ (ADMR) A/D 変換チャネルの選択をします。 ● デコーダ A/D 変換チャネル設定レジスタ (ADMR) の ANE0 ∼ ANE3, ANS0 ∼ ANS3 ビットの設 定から , 使用するアナログ入力端子を選択する回路です。 ● アナログチャネルセレクタ 16 本のアナログ入力端子の中から使用する端子を選択する回路です。 ● サンプルホールド回路 アナログチャネルセレクタで選択された入力電圧を保持する回路です。A/D 変換を起 動した直後の入力電圧をサンプルホールドすることで , A/D 変換中 ( 比較中 ) の入力電 圧の変動の影響を受けずに変換できます。 ● D/A コンバータ サンプルホールドされた入力電圧と比較するための , 基準電圧を発生します。 ● コンパレータ サンプルホールドされた入力電圧と , D/A コンバータの出力電圧を比較し , 大小を判定 します。 ● コントロール回路 ( 逐次比較レジスタ ) コンパレータからの大小信号で , A/D 変換値を決定します。A/D 変換が終了すると , 変 換結果を A/D データレジスタ (ADCR) に格納し , 割込み要求を発生します。 454 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 19 章 8/10 ビット A/D コンバータ 19.3 8/10 ビット A/D コンバータのレジスタ MB90330A シリーズ 19.3 8/10 ビット A/D コンバータのレジスタ 8/10 ビット A/D コンバータのレジスタ一覧を示します。 ■ 8/10 ビット A/D コンバータのレジスタ一覧 図 19.3-1 8/10 ビット A/D コンバータのレジスタ一覧 bit アドレス : 000040H bit 7 6 5 4 3 2 1 MD1 (R/W) MD0 (R/W) (-) (-) (-) (-) (-) 15 14 13 12 11 10 9 INT (R/W) INTE (R/W) PAUS (R/W) STS1 (R/W) STS0 (R/W) STRT (W) 6 5 4 3 2 1 0 D6 (R) D5 (R) D4 (R) D3 (R) D2 (R) D1 (R) D0 (R) 14 13 12 11 10 9 8 S10 (R/W) ST1 (W) ST0 (W) CT1 (W) CT0 (W) (-) D9 (R) D8 (R) 15 14 13 12 11 10 9 8 ANS2 (R/W) ANS1 (R/W) ANS0 (R/W) ANE3 (R/W) ANE2 (R/W) ANE1 (R/W) アドレス : 000041H BUSY (R/W) bit アドレス : 000042H 7 D7 (R) bit 15 アドレス : 000043H bit アドレス : 000045H ANS3 (R/W) CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 0 A/D 制御ステータスレ 予約 ジスタ下位 (ADCS0) (R/W) 初期値 00-----0 B 8 A/D 制御ステータスレ 予約 ジスタ上位 (ADCS1) (R/W) 初期値 00000000B A/D データレジスタ 下位 (ADCR0) 初期値 XXXXXXXXB A/D データレジスタ 上位 (ADCR1) 初期値 00101XXXB A/D 変換チャネル選択 ANE0 レジスタ (ADMR) (R/W) 初期値 00000000B 455 第 19 章 8/10 ビット A/D コンバータ 19.3 8/10 ビット A/D コンバータのレジスタ 19.3.1 MB90330A シリーズ A/D 制御ステータスレジスタ上位 (ADCS1) A/D 制御ステータスレジスタ上位 (ADCS1) は , ソフトウェアによる起動 , 起動トリ ガの選択 , 割込み要求の許可 / 禁止 , 割込み要求の状態の確認 , 一時停止中および変 換中の確認をする機能があります。 ■ A/D 制御ステータスレジスタ上位 (ADCS1) 図 19.3-2 A/D 制御ステータスレジスタ上位 (ADCS1) のビット構成 アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 000041H BUSY INT R/W R/W INTE PAUS STS1 STS0 R/W R/W R/W R/W (ADCS0) STRT 予約 W bit0 初期値 00000000B R/W 予約 予約ビット 必ず"0"を書き込んでください。 A/D変換起動ビット (ソフトウェア起動時のみ有効) STRT 0 A/D変換機能を起動しない 1 A/D変換機能を起動する STS1 STS0 A/D起動要因選択ビット 0 0 ソフトウェア起動 0 1 トリガ起動またはソフトウェア起動 1 0 タイマ起動またはソフトウェア起動 1 1 トリガ起動,タイマ起動または ソフトウェア起動 一時停止フラグビット (EI2OS使用時のみ有効) PAUS 0 A/D変換動作の一時停止は発生していない 1 A/D変換動作が一時停止中 割込み要求許可ビット INTE 0 割込み要求出力の禁止 1 割込み要求出力の許可 INT 割込み要求フラグビット リード時 ライト時 0 A/D変換未終了 このビットのクリア 1 A/D変換終了 変化なし,他への影響なし 変換中ビット BUSY リード時 ライト時 0 A/D変換停止中 A/D変換強制停止 1 A/D変換動作中 変化なし,他への影響なし R/W :リード・ライト可能 W :ライトオンリ :初期値 456 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 19 章 8/10 ビット A/D コンバータ 19.3 8/10 ビット A/D コンバータのレジスタ 表 19.3-1 A/D 制御ステータスレジスタ上位 (ADCS1) の各ビットの機能説明 (1 / 2) ビット名 機 能 BUSY : 変換中ビット ・A/D コンバータの動作表示ビットです。 ・リード時 , BUSY ビットが "0" であれば A/D 変換停止中であること を示し , "1" であれば A/D 変換動作中であることを示します。 ・ライト時 , BUSY ビットへの "0" の書込みによって A/D 変換動作は 強制的に停止されます。"1" の書込みでは , 変化せず他への影響は ありません。 ( 注意事項 ) 強制停止とソフトウェア起動 (BUSY = 0, STRT = 1) を同時にし ないでください。 bit14 INT : 割込み要求 フラグビット ・A/D 変換によって A/D データレジスタにデータがセットされれば , INT ビットは "1" にセットされます。 ・INT ビットと割込み要求許可ビット (ADCS1 : INTE) が "1" の場合 , 割込み要求を発生します。EI2OS が許可されていれば EI2OS が起 動されます。 ・書込み時は , "0" で INT ビットがクリアされ , "1" では変化せず他 への影響はありません。 ・EI2OS の起動で INT ビットはクリアされます。 ( 注意事項 ) INT ビットの "0" 書込みによるクリアは , A/D 停止中に行ってくだ さい。 bit13 INTE : 割込み要求 許可ビット ・CPU への割込み出力の許可 / 禁止をするビットです。 ・INTE ビットと , 割込み要求フラグビット (ADCS1 : INT) が "1" の 場合 , 割込み要求を発生します。 ・EI2OS 使用時は "1" にセットしてください。 PAUS : 一時停止 フラグビット ・A/D 変換動作が一時停止した場合に "1" にセットされます。 ・この A/D コンバータには , A/D データレジスタが 1 つしかないた め , 連続変換モードを使用した場合に旧変換結果の CPU による読 出しが完了していなければ , 新しい変換結果の書込みにより旧変 換データは失われてしまいます。したがって , 連続変換モードを 使用する場合は , 基本的には EI2OS を用いて変換終了ごとに変換 結果を自動的にメモリに転送するように設定しておく必要があり ます。ただし , 多重割込みなどで変換データの転送が次の変換に 間に合わない場合が想定できます。PAUS ビットはその場合の対 処として考えられた機能で , 変換終了後にデータレジスタの内容 を EI2OS で転送するまでの間 , PAUS ビットを "1" にセットし , そ の間は A/D 変換は停止し , 次の変換データを格納しないように なっています。その後 , EI2OS で転送を終了すると A/D コンバー タは自動的に変換を再開します。 ( 注意事項 ) PAUS ビットは , EI2OS を使用した場合のみ有効です。 bit15 bit12 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 457 第 19 章 8/10 ビット A/D コンバータ 19.3 8/10 ビット A/D コンバータのレジスタ MB90330A シリーズ 表 19.3-1 A/D 制御ステータスレジスタ上位 (ADCS1) の各ビットの機能説明 (2 / 2) ビット名 bit11, bit10 458 機 能 ・A/D 変換の起動要因の選択を行います。 ・起動要因が兼用になっている場合には , 最初に発生した起動要因 STS1, STS0 : で起動します。 A/D 起動要因 ( 注意事項 ) 選択ビット 起動要因は , 書換えと同時に変更されますので , A/D 変換動作中に 書き換える場合には , 目的とする起動要因がない状態で切り換え てください。 bit9 STRT : A/D 変換起動 ビット ・A/D 変換動作をソフトウェア的に起動するビットです。 ・STRT ビットに "1" を書き込むと A/D 変換が起動します。 ・停止変換モード時は , STRT ビットによる再起動はかかりません。 ( 注意事項 ) 強制停止とソフトウェア起動 (BUSY=0, STRT=1) を同時にしない でください。 bit8 予約 : 予約ビット ( 注意事項 ) 必ず "0" を書き込んでください。 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 19 章 8/10 ビット A/D コンバータ 19.3 8/10 ビット A/D コンバータのレジスタ MB90330A シリーズ 19.3.2 A/D 制御ステータスレジスタ下位 (ADCS0) A/D 制御ステータスレジスタ下位 (ADCS0) は , 変換モードの選択をする機能があり ます。 ■ A/D 制御ステータスレジスタ下位 (ADCS0) 図 19.3-3 A/D 制御ステータスレジスタ下位 (ADCS0) のビット構成 アドレス bit15 000040H bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 (ADCS1) MD1 MD0 - - - - - 予約 R/W R/W - - - - - R/W 予約 初期値 00----0B 予約ビット 必ず"0"を設定してください。 MD1 MD0 R/W :リード・ライト可能 - :未定義 :初期値 CM44-10129-6 A/D変換モード選択ビット 0 0 単発変換モード1(動作中の再起動可能) 0 1 単発変換モード2(動作中の再起動不可) 1 0 連続変換モード(動作中の再起動不可) 1 1 停止変換モード(動作中の再起動不可) FUJITSU MICROELECTRONICS LIMITED 459 第 19 章 8/10 ビット A/D コンバータ 19.3 8/10 ビット A/D コンバータのレジスタ MB90330A シリーズ 表 19.3-2 A/D 制御ステータスレジスタ下位 (ADCS0) の各ビットの機能説明 ビット名 bit7, bit6 bit5 ∼ bit1 bit0 460 MD1, MD0 : A/D 変換 モード選択 ビット 機 能 ・A/D 変換機能時の変換モードを選択するビットです。 ・MD1, MD0 の 2 ビット値によって , 単発変換モード 1, 単発変換 モード2, 連続変換モード, 停止変換モードのいずれかが選択され ます。 ・それぞれのモードの意味は , 以下のとおりです。 単発変換モード 1 : ANS3 ∼ ANS0 の設定チャネルから ANE3 ∼ ANE0 の設定チャネルまでの A/D 変換を連 続して , 1 度だけします。動作中の再起動が 可能です。 単発変換モード 2 : ANS3 ∼ ANS0 の設定チャネルから ANE3 ∼ ANE0 の設定チャネルまでの A/D 変換を連 続して , 1 度だけします。動作中の再起動は できません。 連続変換モード : ANS3 ∼ ANS0 の設定チャネルから ANE3 ∼ ANE0 の設定チャネルまでの A/D 変換を連 続して , BUSY ビットで強制停止するまで 繰り返し行います。動作中の再起動はでき ません。 停止変換モード : ANS3 ∼ ANS0 の設定チャネルから ANE3 ∼ ANE0 の設定チャネルまでの A/D 変換を 1 チャネルごとに一時停止しながら , BUSY ビットで強制停止するまで繰り返します。 動作中の再起動はできません。一時停止中 の再起動は , STS1, STS0 ビットで選択した 起動要因の発生によります。 ( 注意事項 ) 単発 , 連続 , 停止の各変換モードの再起動不可は外部トリガ , ソ フトウェアの起動に適用されます。 未定義 ビット 読出し値は不定です。書込みは動作に影響を与えません。 予約ビット 必ず "0" を設定してください。 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 19 章 8/10 ビット A/D コンバータ 19.3 8/10 ビット A/D コンバータのレジスタ MB90330A シリーズ 19.3.3 A/D 変換チャネル設定レジスタ (ADMR) A/D 変換チャネル設定レジスタ (ADMR) は , A/D 変換チャネルの選択をする機能が あります。 ■ A/D 変換チャネル設定レジスタ (ADMR) 図 19.3-4 A/D 変換チャネル設定レジスタ (ADMR) のビット構成 アドレス 000045H bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 ANS3 ANS2 ANS1 ANS0 ANE3 ANE2 R/W R/W R/W R/W R/W R/W ANE3 ANE2 ANE1 ANE0 ANE1 ANE0 R/W 初期値 00000000B R/W A/D変換終了チャネル選択ビット 0 0 0 0 0 0 0 1 AN1端子 0 0 1 0 AN2端子 0 0 0 1 1 0 1 0 AN3端子 0 1 0 1 0 0 1 1 1 1 0 1 AN5端子 AN6端子 1 0 0 0 1 0 0 1 AN8端子 AN9端子 1 0 1 0 AN10端子 1 0 1 1 AN11端子 1 1 0 0 AN12端子 1 1 0 1 AN13端子 1 1 1 0 AN14端子 1 1 1 1 AN15端子 AN0端子 AN4端子 AN7端子 A/D変換開始チャネル選択ビット ANS3 ANS2 ANS1 ANS0 R/W :リード・ライト可能 :初期値 CM44-10129-6 停止中 0 0 0 0 AN0端子 0 0 0 1 AN1端子 0 0 1 0 AN2端子 0 0 0 1 1 AN3端子 0 1 0 0 1 0 1 AN5端子 0 0 1 1 1 1 0 1 AN6端子 1 0 0 0 1 0 0 1 AN8端子 AN9端子 1 0 1 0 AN10端子 1 0 1 1 AN11端子 1 1 0 0 AN12端子 1 1 0 1 AN13端子 1 1 1 0 AN14端子 1 1 1 1 AN15端子 変換中の 読出し 停止変換モー ドで一時停止 中の読出し AN4端子 AN7端子 FUJITSU MICROELECTRONICS LIMITED 変換中の チャネル番号 直前に 変換した チャネル番号 461 第 19 章 8/10 ビット A/D コンバータ 19.3 8/10 ビット A/D コンバータのレジスタ MB90330A シリーズ 表 19.3-3 A/D 変換チャネル設定レジスタ (ADMR) の各ビットの機能説明 ビット名 bit15 ∼ bit12 bit11 ∼ bit8 機 能 ANS3, ANS2 ANS1, ANS0 : A/D 変換開始 チャネル 選択ビット ・A/D 変換の開始チャネルの設定および変換中チャネル番号の確認 を行うビットです。 ・A/D 変換を起動するとこれらのビットに書き込まれたチャネルか ら A/D 変換を開始します。 ・A/D 変換中は , 変換中のチャネル番号が読み出せます。停止変換 モードでの一時停止中は , 直前に変換したチャネルの番号が読み 出せます。 ANE3, ANE2 ANE1, ANE0 : A/D 変換終了 チャネル 選択ビット ・A/D 変換の終了チャネルの設定を行うビットです。 ・A/D 変換を起動するとこれらのビットに書き込まれたチャネルま で A/D 変換を行います。 ・ANS3 ∼ ANS0 と同じチャネルを設定すると , そのチャネルのみ 変換を行います。また , 連続変換モードまたは , 停止変換モード を設定している場合は , これらのビットで設定されたチャネルま での変換が終わると ANS3 ∼ ANS0 で設定された開始チャネルに 戻ります。 ( 注意事項 ) A/D 変換開始チャネル選択ビット (ANS3, ANS2, ANS1, ANS0) に開 始チャネルを設定したあとに , A/D 変換モード設定ビット (MD1, MD0)およびA/D変換終了チャネル選択ビット(ANE3, ANE2, ANE1, ANE0) をリードモディファイライト (RMW) 系命令で設定しないで ください。ANS3, ANS2, ANS1, ANS0 ビットは A/D 変換動作が開始 するまでは前回の変換チャネルが読み出されるため , ANS3, ANS2, ANS1, ANS0 ビットに開始チャネルを設定したあとに , MD1, MD0 ビットおよびANE3, ANE2, ANE1, ANE0ビットをリードモディファ イライト (RMW) 系命令で設定した場合 , ANE3, ANE2, ANE1, ANE0 ビットの値が書き換わる可能性があります。 <注意事項> A/D 変換終了チャネルが A/D 変換開始チャネルよりも小さい設定 (ANS >ANE) はできま せん。A/D 変換チャネル設定レジスタ (ADMR) は , バイトアクセスしてください。 462 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 19 章 8/10 ビット A/D コンバータ 19.3 8/10 ビット A/D コンバータのレジスタ MB90330A シリーズ A/D データレジスタ (ADCR1/ADCR0) 19.3.4 A/D データレジスタ (ADCR1/ADCR0) は , A/D 変換結果を格納するレジスタであり , A/D 変換の分解能を選択する機能もあります。 ■ A/D データレジスタ (ADCR1/ADCR0) 図 19.3-5 A/D データレジスタ (ADCR1/ADCR0) のビット構成 bit15 bit14 bit13 bit12 bit11 bit10 bit9 000043H/ 000042H bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 S10 ST1 ST0 CT1 CT0 - D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 00101XXXB W W W W W - R R R R R R R R R R XXXXXXXXB D0~D9 変換データ CT1 0 0 1 1 CT0 0 1 0 1 コンペア時間設定ビット ST1 0 0 1 1 ST0 0 1 0 1 サンプリング時間設定ビット S10 0 1 R W X - A/Dデータビット ADデータビット 10ビット分解能モード(D9~D0) 8ビット分解能モード(D7~D0) :リードオンリ :ライトオンリ :不定 :未定義 :初期値 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 463 第 19 章 8/10 ビット A/D コンバータ 19.3 8/10 ビット A/D コンバータのレジスタ MB90330A シリーズ 表 19.3-4 A/D データレジスタ (ADCR1/ADCR0) の各ビットの機能説明 ビット名 機 能 ・A/D 変換の分解能を選択するビットです。 ・S10 ビットに "0" を書き込むと 10 ビット分解能が選択され , "1" を書き込むと 8 ビット分解能が選択されます。 ( 注意事項 ) 分解能によって , 使用されるデータビットが異なります。 bit15 S10 : A/D 変換 分解能選択 ビット bit14, bit13 ・A/D 変換時のサンプリング時間を選択するビットです。 ・A/D が起動されると , ST1, ST0 ビットに設定された時間 , アナロ ST1, ST0 : グ入力が取り込まれます。 サンプリング ( 注意事項 ) 時間設定ビット 24 MHz 動作時に "00" 6 MHz 用の設定を行うと正常なアナログ電 圧を取り込めない場合があります。 bit12, bit11 CT1, CT0 : コンペア時間 設定ビット ・A/D 変換時のコンペア時間を選択するビットです。 ・アナログ入力が取り込まれた ( サンプリング時間経過 ) 後 , CT1, CT0 ビットに設定された時間後に変換結果のデータが確定し , こ のレジスタの bit9 ∼ bit0 に格納されます。 ( 注意事項 ) 24 MHz 動作時に "00" 6 MHz 用の設定を行うと正常なアナログ変 換値が得られない場合があります。 bit10 未定義ビット bit9 ∼ bit0 D9 ∼ D0 読出し値は不定です。書込みは動作に影響を与えません。 ・A/D 変換の結果が格納され , レジスタは 1 回の変換終了ごとに書 き換えられます。 ・通常は , 最終変換値が格納されます。 ・ADCR レジスタの初期値は不定です。 ( 注意事項 ) 変換データ保護機能があります。「19.4 ( 8/10 ビット A/D コンバー タの動作説明」を参照してください ) A/D 変換中に D9 ∼ D0 ビットにデータを書き込まないようにし てください。 <注意事項> 464 • S10 ビットの書き換えは必ず変換動作前の A/D 動作が停止の状態で行ってくだ さい。変換後の書き換えをした場合 , ADCR の内容は不定となります。 • ADCR レジスタの読出しは , 10 ビットモードを指定した場合は必ずワード転送命令 (MOVW A, 0042H など ) を使用してください。 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 19 章 8/10 ビット A/D コンバータ 19.4 8/10 ビット A/D コンバータの動作説明 MB90330A シリーズ 8/10 ビット A/D コンバータの動作説明 19.4 8/10 ビット A/D コンバータには , 単発変換モード , 連続変換モード , 停止変換モー ドの 3 種類のモードがあります。各モードでの動作説明をします。 ■ 単発変換モードの動作 単発変換モードは , ANS ビットと ANE ビットで設定されたアナログ入力を順次変換し ていき , ANE ビットで設定された終了チャネルまで変換が終わると A/D 変換は停止し ます。開始チャネルと終了チャネルが同じ (ANS=ANE) 場合は ANS ビットで指定した 1 チャネルだけの変換となります。単発変換モードで動作させるには , 図 19.4-1 の設定 が必要です。 図 19.4-1 単発変換モードでの設定 bit15 bit14 bit13 bit12 bit11 bit10 bit9 ADCS BUSY INT bit8 bit7 bit6 INTE PAUS STS1 STS0 STRT 予約 MD1 MD0 bit5 bit4 bit3 bit2 bit1 bit0 - - - - - 予約 0 ADCR S10 ST1 ST0 CT1 CT0 - 0 変換データを格納 ADMR ANS3 ANS2 ANS1 ANS0 ANE3 ANE2 ANE1 ANE0 ADER ADE15 ADE14 ADE13 ADE12 ADE11 ADE10 ADE9 ADE8 ADE7 ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 ADE0 : 使用ビット : 使用する端子の対応するビットに "1" を設定 0 : "0" を設定 単発変換モードでの変換順序の例を以下に示します。 ANS=000B, ANE=011B の場合 : AN0 → AN1 → AN2 → AN3 →終了 ANS=011B, ANE=011B の場合 : AN3 →終了 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 465 第 19 章 8/10 ビット A/D コンバータ 19.4 8/10 ビット A/D コンバータの動作説明 MB90330A シリーズ ■ 連続変換モードの動作 連続変換モードは , ANS ビットと ANE ビットで設定されたアナログ入力を順次変換し ていき , ANE ビットで設定された終了チャネルまで変換が終わると ANS ビットで設定 されたアナログ入力に戻り , A/D 変換動作を続けます。開始チャネルと終了チャネルが 同じ場合 (ANS=ANE) は ANS で指定したチャネルだけの変換を繰り返します。連続変 換モードで動作させるには , 図 19.4-2 に示す設定が必要です。 図 19.4-2 連続変換モードでの設定 bit15 bit14 bit13 bit12 bit11 bit10 bit9 ADCS BUSY INT bit8 ST1 bit6 INTE PAUS STS1 STS0 STRT 予約 MD1 MD0 0 ADCR S10 bit7 ST0 CT1 CT0 - 1 bit5 bit4 bit3 bit2 bit1 bit0 -- -- -- -- -- 予約 0 0 変換データを格納 ADMR ANS3 ANS2 ANS1 ANS0 ANE3 ANE2 ANE1 ANE0 ADER ADE15 ADE14 ADE13 ADE12 ADE11 ADE10 ADE9 ADE8 ADE7 ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 ADE0 : 使用ビット : 使用する端子の対応するビットに "1" を設定 1 : "1" を設定 0 : "0" を設定 連続変換モードでの変換順序の例を以下に示します。 ANS=000B, ANE=011B の場合 : AN0 → AN1 → AN2 → AN3 → AN0 →繰返し ANS=011B, ANE=011B の場合 : AN3 → AN3 →繰返し ■ 停止変換モードの動作 停止変換モードは , ANS ビットと ANE ビットで設定されたアナログ入力を 1 チャネル ごとに一時停止しながら変換していき , ANE ビットで設定された終了チャネルまで変 換が終わると ANS ビットで設定されたアナログ入力に戻り , A/D 変換と一時停止の動 作を続けます。開始チャネルと終了チャネルが同じ場合 (ANS=ANE) は ANS ビットで 指定したチャネルだけの変換を繰り返します。一時停止時の変換の再起動は , STS1, STS0 ビットで指定した起動要因を発生します。停止変換モードで動作させるには , 図 19.4-3 の設定が必要です。 466 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 19 章 8/10 ビット A/D コンバータ 19.4 8/10 ビット A/D コンバータの動作説明 MB90330A シリーズ 図 19.4-3 停止変換モードでの設定 bit15 bit14 bit13 bit12 bit11 bit10 bit9 ADCS BUSY INT bit8 ST1 bit6 INTE PAUS STS1 STS0 STRT 予約 MD1 MD0 0 ADCR S10 bit7 ST0 CT1 CT0 - 1 bit5 bit4 bit3 bit2 bit1 bit0 -- -- -- -- -- -- 1 0 変換データを格納 ADMR ANS3 ANS2 ANS1 ANS0 ANE3 ANE2 ANE1 ANE0 ADER ADE15 ADE14 ADE13 ADE12 ADE11 ADE10 ADE9 ADE8 ADE7 ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 ADE0 : 使用ビット : 使用する端子の対応するビットに "1" を設定 1 : "1" を設定 0 : "0" を設定 停止変換モードでの変換順序の例を以下に示します。 ANS=000B, ANE=011B の場合 : AN0 →一時停止→ AN1 →一時停止→ AN2 → 一時停止→ AN0 → 繰返し ANS=011B, ANE=011B の場合 : CM44-10129-6 AN3 →一時停止→ AN3 →一時停止→繰返し FUJITSU MICROELECTRONICS LIMITED 467 第 19 章 8/10 ビット A/D コンバータ 19.4 8/10 ビット A/D コンバータの動作説明 19.4.1 MB90330A シリーズ μDMAC または EI2OS を使用した変換動作 10 ビット A/D コンバータは , μDMAC または EI2OS を使用して , A/D 変換結果をメ モリに転送できます。 ■ μDMAC または EI2OS を使用した変換動作 μDMAC または EI2OS 使用時の動作フローを図 19.4-4 に示します。 図 19.4-4 μDMAC または EI2OS 使用時の動作フローチャート例 A/Dコンバータ起動 サンプルホールド A/D変換開始 変換データ転送 A/D変換終了 指定回数が終了か* YES 割込み処理 NO 割込み発生 割込みクリア μDMAC または EI2OS を利用すると変換データ保護機能で , 連続変換時にもデータ欠落 を起こすことなく , 複数のデータを確実にメモリに転送できます。 468 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 19.4.2 第 19 章 8/10 ビット A/D コンバータ 19.4 8/10 ビット A/D コンバータの動作説明 A/D 変換データ保護機能 割込み許可状態で A/D 変換を実行すると , 変換データ保護機能が働きます。 ■ A/D 変換データ保護機能 この A/D コンバータでは , 変換データ格納用のデータレジスタが 1 つしかないので , A/D 変換をすると , 変換終了時に , データレジスタ内の格納データを書き換えます。 そのため , 変換データのメモリへの転送が間に合わないと前回のデータが一部欠落することになり ます。この対策として , 割込み許可 (INTE=1) の場合は , 以下のようにデータ保護機能が 働くようになっています。 ● μDMAC または EI2OS を使用しない場合のデータ保護機能 変換データが A/D データレジスタ (ADCR) に格納されると A/D 制御ステータスレジス タ上位 (ADCS1) の INT ビットが "1" にセットされます。この INT ビットが "1" の間 , A/D変換は一時停止状態になります。割込みルーチン内で , A/Dデータレジスタ (ADCR) をメモリなどに転送した後 , INT ビットをクリアすると停止状態が解除されます。 ● μDMAC または EI2OS を使用する場合のデータ保護機能 μDMAC または EI2OS を使って連続変換を指示すると , 変換終了から μDMAC または EI2OS でデータレジスタの変換データをメモリに転送完了するまで , A/D 制御ステータ スレジスタ上位 (ADCS1) の PAUS ビットを "1" にセットし , この間 , A/D 変換動作は停 止し , 次の変換データを格納しないようになっています。メモリへのデータ転送が完了 すると , PAUS ビットは "0" にクリアされ , 変換動作が再開します。 図 19.4-5 に μDMAC または EI2OS 使用時のデータ保護機能フローを示します。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 469 第 19 章 8/10 ビット A/D コンバータ 19.4 8/10 ビット A/D コンバータの動作説明 MB90330A シリーズ 図 19.4-5 μDMAC または EI2OS 使用時のデータ保護機能フロー A/D連続変換起動 1回変換終了 A/Dデータレジスタに格納 2回変換終了 NO A/D一時停止 YES A/Dデータレジスタに格納 3回目変換 続く すべて変換終了 割込み処理ルーチン 続く A/Dデータレジスタに格納 A/D初期化または停止 終了 (注意事項)A/Dコンバータ動作停止時のフローは省略 <注意事項> 470 • 変換データ保護機能は , 割込み許可 (ADCS1:INTE=1) 状態でしか動作しません。 • μDMAC または EI2OS 動作中で , A/D 変換が一時停止している場合に , 割込みを禁止す ると A/D 変換が動作し , 旧データの転送前に新データが書き込まれる場合があります。 また , 一時停止中に再起動がかかった場合も , 旧データは破壊されます。 • 一時停止中に再起動をかけると待機データが壊れます。 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 19.5 第 19 章 8/10 ビット A/D コンバータ 19.5 8/10 ビット A/D コンバータ使用上の注意 8/10 ビット A/D コンバータ使用上の注意 8/10 ビット A/D コンバータを使用する場合の注意点を示します。 ■ 8/10 ビット A/D コンバータ使用上の注意 ● アナログ入力端子 A/D 入力端子はポート 7, 8 の入出力端子と兼用になっており , ポート 7, 8 方向レジスタ (DDR7, DDR8) とアナログ入力許可レジスタ (ADER) で切り替えて使用するようになっ ています。アナログ入力として使用する端子では , DDR7, DDR8 の対応するビットに "0" を書き込んでポート設定を入力にした上で , ADER でアナログ入力モード (ADEx=1) に設定して , ポート側の入力ゲートを固定してください。ポート入力モード (ADEx=0) の状態では中間レベルの信号が入力されると , ゲートに入力リーク電流が流れます。 ● 内部タイマ (16 ビットリロードタイマ 1) で使用する場合の注意 A/D コンバータを内部タイマで起動する場合 , A/D 制御ステータスレジスタ上位 (ADCS1) の STS1, STS0 ビットで設定しますが , このとき , 内部タイマの入力値は , イ ンアクティブ側 ( 内部タイマの場合は "L") にしておいてください。アクティブ側にし ておくと , ADCS1 レジスタへの書込みと同時に動作し始める場合があります。 STS1, STS0 設定時は , ADTG=1 入力 , 内部タイマ (PPG1)=0 出力の状態で行ってくださ い。 ● A/D コンバータの電源・アナログ入力の投入順序 A/D コンバータの電源 (AVcc, AVRH) および , アナログ入力 (AN0 ∼ AN15) への印加は , 必ずデジタル電源 (Vcc) の投入後かまたは同時に投入してください。 また , 電源切断時は , A/Dコンバータの電源およびアナログ入力の切断後にデジタル電源(Vcc)を切断するか または同時に切断してください。 ● A/D コンバータの電源電圧について ラッチアップ防止のため , A/D コンバータの電源 (AVcc) は , デジタル電源 (Vcc) の電圧 を超えないようにしてください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 471 第 19 章 8/10 ビット A/D コンバータ 19.6 8/10 ビット A/D コンバータのプログラム例 -1 ( 単発モー ドの EI2OS 起動例 ) 19.6 MB90330A シリーズ 8/10 ビット A/D コンバータのプログラム例 -1 ( 単発モードの EI2OS 起動例 ) 単発モードの EI2OS 起動による A/D 変換処理のプログラムを示します。 ■ 単発モードの EI2OS 起動プログラム例 ● 処理仕様 アナログ入力 AN1 ∼ AN3 まで変換して終了します。 変換データは 200H ∼ 205H 番地に順に転送します。 分解能は 10 ビットとします。 起動はソフトで行います。 図 19.6-1 に , EI2OS 起動プログラム ( 単発モード ) のフローを示します。 図 19.6-1 EI2OS 起動プログラム ( 単発モード ) のフロー 起動開始 AN1 割込み EI2OS転送 AN2 割込み EI2OS転送 AN3 割込み EI2OS転送 終了 割込みシーケンス 並行処理 ● コーディング例 472 BAPL EQU 000100H ; バッファアドレスポインタ下位 BAPM EQU 000101H ; バッファアドレスポインタ中位 BAPH EQU 000102H ; バッファアドレスポインタ上位 ISCS EQU 000103H ; EI2OS ステータスレジスタ IOAL EQU 000104H ; I/O アドレスレジスタ下位 IOAH EQU 000105H ; I/O アドレスレジスタ上位 DCTL EQU 000106H ; データカウンタ下位 DCTH EQU 000107H ; データカウンタ上位 DDR7 EQU 000017H ; ポート 7 方向レジスタ ADER0 EQU 00001EH ; アナログ入力許可レジスタ 0 ICR12 EQU 0000BCH ; A/DC 用割込み制御レジスタ ADMR EQU 000045H ; A/D 変換チャネル設定レジスタ FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 19 章 8/10 ビット A/D コンバータ 19.6 8/10 ビット A/D コンバータのプログラム例 -1 ( 単発モー ドの EI2OS 起動例 ) ADCS0 EQU 000040H ; A/D 制御ステータスレジスタ ADCS1 EQU 000041H ; ADCR0 EQU 000042H ; A/D データレジスタ ADCR1 EQU 000043H ; ;---------- メインプログラム -----------------------------------------------------------CODE CSEG ; スタックポインタ (SP) などは初期化 START: 済みとする AND CCR, #0BFH ; 割込み禁止 MOV ICR12, #00H ; 割込みレベル 0( 最強 ) MOV BAPL, #00H ; 変換データの格納先アドレスの設定 MOV BAPM, #02H ; (200H ∼ 205H を使用 ) MOV BAPH, #00H ; MOV ISCS, #18H ; ワードデータ転送 , 転送後アドレス +1, I/O →メモリに転送 MOV IOAL, #42H ; 転送元アドレスポインタとして MOV IOAH, #00H ; アナログデータレジスタのアドレスを セット MOV DCTL, #03H ; EI2OS 転送を 3 回 , 変換回数と同じに する MOV DDR7, #11110001B ; P71 ∼ P73 を入力に設定 MOV DCTH, #00H ; MOV ADER0, #00001110B ; P71/AN1 ∼ P73/AN3 をアナログ入力に 設定 LOOP: MOV ADMR, #013H ; AN1 ∼ AN3 CH を変換 MOV ADCSL, #000H ; 単発起動 MOV ADCSH, #0A2H ; ソフト起動 , A/D 変換開始 , 割込み許可 MOV ILM, #07H ; PS 内 ILM をレベル 7 に設定 OR CCR, #40H ; 割込み許可 MOV A, #00H ; 無限ループ MOV A, #01H BRA LOOP ;---------- 割込みプログラム -----------------------------------------------------------ED_INT1: MOV RETI CODE CM44-10129-6 I:ADCS1, #00H ; A/D停止, 割込みのフラグクリアと禁止 ; 割込みから復帰 ENDS FUJITSU MICROELECTRONICS LIMITED 473 第 19 章 8/10 ビット A/D コンバータ 19.6 8/10 ビット A/D コンバータのプログラム例 -1 ( 単発モー ドの EI2OS 起動例 ) MB90330A シリーズ ;---------- ベクタ設定 -----------------------------------------------------------------VECT VECT CSEG ABS=0FFH ORG 0FF6CH DSL ED_INT1 ORG 0FFDCH DSL START DB 00H ; リセットベクタ設定 ; シングルチップモードに設定 ENDS END 474 ; 割込み #36(24H) にベクタを設定 START FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 19.7 第 19 章 8/10 ビット A/D コンバータ 19.7 8/10 ビット A/D コンバータのプログラム例 -2 ( 連続モー ドの EI2OS 起動例 ) 8/10 ビット A/D コンバータのプログラム例 -2 ( 連続モードの EI2OS 起動例 ) 連続モードの EI2OS 起動による A/D 変換処理のプログラムを示します。 ■ 連続モードの EI2OS 起動プログラム例 ● 処理仕様 アナログ入力AN3∼AN5の変換を2度行い, 各チャネルの変換データを2つ取得します。 変換データは 600H ∼ 60BH 番地に順に転送します。 分解能は 10 ビットとします。 起動は 16 ビットリロードタイマ 0 で行います。 図 19.7-1 に , EI2OS 起動プログラム ( 連続モード ) のフローを示します。 図 19.7-1 EI2OS 起動プログラム ( 連続モード ) のフロー 起動開始 AN3 割込み EI2OS転送 AN4 割込み EI2OS転送 全6回転送後 割込みシーケンス AN5 割込み 2 EI OS転送 終了 ● コーディング例 CM44-10129-6 BAPL EQU 000100H ; バッファアドレスポインタ下位 BAPM EQU 000101H ; バッファアドレスポインタ中位 BAPH EQU 000102H ; バッファアドレスポインタ上位 ISCS EQU 000103H ; EI2OS ステータスレジスタ IOAL EQU 000104H ; I/O アドレスレジスタ下位 IOAH EQU 000105H ; I/O アドレスレジスタ上位 DCTL EQU 000106H ; データカウンタカウンタ下位 DCTH EQU 000107H ; データカウンタ上位 DDR7 EQU 000017H ; ポート 7 方向レジスタ ADER0 EQU 00001EH ; アナログ入力許可レジスタ 0 ICR12 EQU 0000BCH ; A/DC 用割込み制御レジスタ ADMR EQU 000045H ; A/D 変換チャネル設定レジスタ ADCS0 EQU 000040H ; A/D 制御ステータスレジスタ ADCS1 EQU 000041H ; FUJITSU MICROELECTRONICS LIMITED 475 第 19 章 8/10 ビット A/D コンバータ 19.7 8/10 ビット A/D コンバータのプログラム例 -2 ( 連続モー ドの EI2OS 起動例 ) MB90330A シリーズ ADCR0 EQU 000042H ; A/D データレジスタ ADCR1 EQU 000043H ; TMCSR1L EQU 000062H ; タイマコントロールステータスレジ スタ 0 下位 TMCSR0H EQU 000063H ; TMRLR0L EQU 000064H ; リロードレジスタ 0 TMRLR0H EQU 000065H ; ;---------- メインプログラム -----------------------------------------------------------CODE CSEG ; スタックポインタ (SP) などは初期化 START: 済みとする AND CCR, #0BFH ; 割込み禁止 MOV ICR12, #08H ; 割込みレベル 0( 最強 ), 割込み許可 MOV BAPL, #00H ; 変換データの格納先アドレスの設定 MOV BAPM, #06H ; (600H ∼ 60BH を使用 ) MOV BAPH, #00H ; MOV ISCS, #18H ; ワードデータ転送 , 転送後アドレス +1, ; I/O →メモリに転送 MOV IOAL, #42H ; 転送元アドレスポインタとして MOV IOAH, #00H ; アナログデータレジスタのアドレスを セット MOV DCTL, #06H ; EI2OS 転送を 6 回 , 3 チャネル× 2 回分 の転送 MOV DCTH, #00H MOV DDR7, #00000000B ; P70 ∼ P77 を入力に設定 MOV ADER0, #00111000B ; P73/AN3 ∼ P75/AN5 をアナログ入力に 設定 MOV ADMR, #035H ; AN3 ∼ AN5 CH を変換 MOV ADCS0, #080H ; 連続モード MOV ADCS1, #0A8H ; 16 ビットタイマ起動 , A/D 変換開始 , 割込み許可 MOVW TMRLR0L, #0320H ; タイマ値を設定 800(320H) 66 μs MOV TMCSR0H, #00H ; クロックソースを 83ns に設定 , 外部トリガ禁止 MOV TMCSR0L, #12H ; タイマ出力禁止 , 割込み禁止 , リロード 許可 476 MOV TMCSR0L, #13H ; 16 ビットタイマ起動 MOV ILM, #07H ; PS 内 ILM をレベル 7 に設定 OR CCR, #40H ; 割込み許可 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ LOOP: 第 19 章 8/10 ビット A/D コンバータ 19.7 8/10 ビット A/D コンバータのプログラム例 -2 ( 連続モー ドの EI2OS 起動例 ) MOV A, #00H MOV A, #01H BRA LOOP ; 無限ループ ;---------- 割込みプログラム -----------------------------------------------------------ED_INT1: MOV I:ADCS1, #80H ; A/Dは停止しない, 割込みのフラグクリ アと禁止 ; 割込みから復帰 RETI CODE ENDS ;---------- ベクタ設定 -----------------------------------------------------------------VECT VECT CSEG ABS=0FFH ORG 0FF7CH DSL ED_INT1 ORG 0FFDCH DSL START DB 00H ; リセットベクタ設定 ; シングルチップモードに設定 ENDS END CM44-10129-6 ; 割込み #36(24H) にベクタを設定 START FUJITSU MICROELECTRONICS LIMITED 477 第 19 章 8/10 ビット A/D コンバータ 19.8 8/10 ビット A/D コンバータのプログラム例 -3 ( 停止モー ドの EI2OS 起動例 ) 19.8 MB90330A シリーズ 8/10 ビット A/D コンバータのプログラム例 -3 ( 停止モードの EI2OS 起動例 ) 停止モードの EI2OS 起動による A/D 変換処理のプログラムを示します。 ■ 停止モードの EI2OS 起動プログラム例 ● 処理仕様 アナログ入力 AN3 を一定期間で 12 回変換します。 変換データは 600H ∼ 617H 番地に順に転送します。 分解能は 10 ビットとします。 起動は 16 ビットリロードタイマ 0 で行います。 図 19.8-1 に , EI2OS 起動プログラム ( 停止モード ) のフローを示します。 図 19.8-1 EI2OS 起動プログラム ( 停止モード ) のフロー 起動開始 AN3 割込み EI2OS転送 12回転送後 停止 割込みシーケンス 外部エッジ起動 終了 ● コーディング例 478 BAPL EQU 000100H ; バッファアドレスポインタ下位 BAPM EQU 000101H ; バッファアドレスポインタ中位 BAPH EQU 000102H ; バッファアドレスポインタ上位 ISCS EQU 000103H ; EI2OS ステータスレジスタ IOAL EQU 000104H ; I/O アドレスレジスタ下位 IOAH EQU 000105H ; I/O アドレスレジスタ上位 DCTL EQU 000106H ; データカウンタ下位 DCTH EQU 000107H ; データカウンタ上位 DDR7 EQU 000017H ; ポート 7 方向レジスタ ADER0 EQU 00001EH ; アナログ入力許可レジスタ 0 ICR12 EQU 0000BCH ; A/DC 用割込み制御レジスタ ADMR EQU 000045H ; A/D 変換チャネル設定レジスタ ADCS0 EQU 000040H ; A/D 制御ステータスレジスタ FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 19 章 8/10 ビット A/D コンバータ 19.8 8/10 ビット A/D コンバータのプログラム例 -3 ( 停止モー ドの EI2OS 起動例 ) ADCS1 EQU 000041H ; ADCR0 EQU 000042H ; A/D データレジスタ ADCR1 EQU 000043H ; TMCSR0L EQU 000062H ; タイマコントロールステータスレジ スタ 0 下位 TMCSR0H EQU 000063H ; TMRLR0L EQU 000064H ; リロードレジスタ 0 TMRLR0H EQU 000065H ; ;---------- メインプログラム -----------------------------------------------------------CODE CSEG ; スタックポインタ (SP) などは初期化 START: 済みとする ANDCCR, #0BFH; 割込み禁止 MOV ICR12, #08H ; 割込みレベル 0( 最強 ) MOV BAPL, #00H ; 変換データの格納先アドレスの設定 MOV BAPM, #06H ; (600H ∼ 617H を使用 ) MOV BAPH, #00H ; MOV ISCS, #19H ; ワードデータ転送 , 転送後アドレス +1, ; I/O →メモリに転送 , リソースの要求で 終了 MOV IOAL, #42H ; 転送元アドレスポインタとして MOV IOAH, #00H ; アナログデータレジスタのアドレスを セット MOV DCTL, #0CH ; EI2OS 転送を 12 回 , 3 チャネルのみ MOV DCTH, #00H ; MOV DDR7, #00000000B ; P70 ∼ P77 を入力に設定 MOV ADER, #00001000B ; P73/AN3 をアナログ入力に設定 MOV ADMR, #033H ; AN3 チャネルを変換 MOV ADCS0, #0C0H ; 停止モード MOV ADCS1, #0A8H ; 16 ビットタイマ起動 , A/D 変換開始 , 割込み許可 MOVW TMRLR0L, #0320H ; タイマ値を設定 800(320H) 66 μs MOV TMCSR0H, #00H ; クロックソースを 83 ns に設定 , 外部 トリガ禁止 MOV TMCSR0L, #12H ; タイマ出力禁止 , 割込み禁止 , リロード 許可 CM44-10129-6 MOV TMCSR0L, #13H ; 16 ビットタイマ起動 MOV ILM, #07H ; PS 内 ILM をレベル 7 に設定 OR CCR, #40H ; 割込み許可 FUJITSU MICROELECTRONICS LIMITED 479 第 19 章 8/10 ビット A/D コンバータ 19.8 8/10 ビット A/D コンバータのプログラム例 -3 ( 停止モー ドの EI2OS 起動例 ) LOOP: MOV A, #00H MOV A, #01H BRA LOOP MB90330A シリーズ ; 無限ループ ;---------- 割込みプログラム -----------------------------------------------------------ED_INT1: MOV I:ADCS1, #80H ; A/Dは停止しない, 割込みのフラグクリ アと禁止 ; 割込みから復帰 RETI CODE ENDS ;---------- ベクタ設定 -----------------------------------------------------------------VECT VECT CSEG ABS=0FFH ORG 0FF6CH DSL ED_INT1 ORG 0FFDCH DSL START DB 00H ; リセットベクタ設定 ; シングルチップモードに設定 ENDS END 480 ; 割込み #36(24H) にベクタを設定 START FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 20 章 拡張 I/O シリアルインタ フェース この章では , 拡張 I/O シリアルインタフェースの概 要 , レジスタの構成 / 機能および拡張 I/O シリアル インタフェースの動作について説明します。 20.1 拡張 I/O シリアルインタフェースの概要 20.2 拡張 I/O シリアルインタフェースのレジスタ 20.3 拡張 I/O シリアルインタフェースの動作 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 481 第 20 章 拡張 I/O シリアルインタフェース 20.1 拡張 I/O シリアルインタフェースの概要 20.1 MB90330A シリーズ 拡張 I/O シリアルインタフェースの概要 拡張 I/O シリアルインタフェースは , 8 ビット× 1 チャネル構成のクロック同期式に よるデータ転送可能なシリアル I/O インタフェースです。また , データ転送におい て , LSB ファースト /MSB ファーストの選択が可能です。 ■ 拡張 I/O シリアルインタフェースの概要 拡張 I/O シリアルインタフェースには , 以下の 2 種類の動作モードがあります。 • 内部シフトクロックモード : 内部クロックに同期してデータ転送を行います。 • 外部シフトクロックモード : 外部端子 (SCK) から入力されるクロックに同期して データ転送を行います。このモードで外部端子 (SCK) を共有している汎用ポートを操作することにより , CPU の命令による転送動作も可能です。 ■ 拡張 I/O シリアルインタフェースのブロックダイヤグラム 図 20.1-1 に , 拡張 I/O シリアルインタフェースのブロックダイヤグラムを示します。 図 20.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 内 部 デ ー タ バ ス 482 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 20 章 拡張 I/O シリアルインタフェース 20.2 拡張 I/O シリアルインタフェースのレジスタ MB90330A シリーズ 20.2 拡張 I/O シリアルインタフェースのレジスタ 拡張 I/O シリアルインタフェースで使用するレジスタの構成および機能について説 明します。 ■ 拡張 I/O シリアルインタフェースのレジスタ一覧 図 20.2-1 に , 拡張 I/O シリアルインタフェースのレジスタ一覧を示します。 図 20.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) 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) 8 シリアルモード コントロール STRT ステータスレジスタ (SMCS) (R/W) 初期値 00000010B SMCS 0 シリアルモード コントロール SCOE ステータスレジスタ (SMCS) (R/W) 初期値 XXXX0000B SDR bit アドレス : 00005AH 0 シリアルデータ D0 レジスタ (SDR) (R/W) 初期値 XXXXXXXXB SDCR bit アドレス : 00005BH 8 通信プリスケーラ DIV0 制御レジスタ (SDCR) (R/W) 初期値 0XXX0000B R/W : リード・ライト可能 - : 未定義 X : 不定 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 483 第 20 章 拡張 I/O シリアルインタフェース 20.2 拡張 I/O シリアルインタフェースのレジスタ 20.2.1 MB90330A シリーズ シリアルモードコントロールステータスレジスタ (SMCS) シリアルモードコントロールステータスレジスタ (SMCS) の構成および機能につい て説明します。 ■ シリアルモードコントロールステータスレジスタ (SMCS) シリアルモードコントロールステータスレジスタ (SMCS) は , シリアル I/O の転送動作 モードを制御するレジスタです。 図 20.2-2 に , シリアルモードコントロールステータスレジスタ (SMCS) のビット構成を 示します。 図 20.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/W) (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 : リード・ライト可能 - : 未定義 以下に , シリアルモードコントロールステータスレジスタ (SMCS) の各ビットの機能に ついて説明します。 484 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 20 章 拡張 I/O シリアルインタフェース 20.2 拡張 I/O シリアルインタフェースのレジスタ MB90330A シリーズ [bit15 ∼ bit13] SMD2 ∼ SMD0 ( シフトクロック選択 ) シリアルシフトクロックモードを選択します。 シリアルシフトクロックモードの設定内容を , 表 20.2-1, 表 20.2-2 に示します。 表 20.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 設定禁止 表 20.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 485 第 20 章 拡張 I/O シリアルインタフェース 20.2 拡張 I/O シリアルインタフェースのレジスタ MB90330A シリーズ [bit11] SIR ( シリアル I/O 割込み要求 ) シリアルデータの転送が終了すると "1" にセットされ , 割込み許可時 (SIE=1) にこの ビットが "1" になると , CPU へ割込み要求が発生します。クリア条件は , MODE ビッ トによって異なります。 • MODE ビットが "0" のとき , SIR ビットへの "0" 書込みによってクリアされます。 • MODE ビットが "1" のとき , SDR の読出しまたは書込み動作によってクリアされま す。 • MODE ビットの値にかかわらずリセットまたは STOP ビットへの "1" 書込み動作に よってクリアされます。 • "1" を書き込んでも意味がありません。 • リードモディファイライト(RMW)系命令の読出し時は, 常に, "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] 未定義ビット リード値は不定です。ライトは動作に影響を与えません。 486 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 20 章 拡張 I/O シリアルインタフェース 20.2 拡張 I/O シリアルインタフェースのレジスタ [bit3] MODE( シリアルモード選択 ) 停止状態からの起動条件を選択します。ただし , 動作中の書換えは禁止です。 MODE 動作 0 STRT=1 にすることにより起動します。 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-10129-6 FUJITSU MICROELECTRONICS LIMITED 487 第 20 章 拡張 I/O シリアルインタフェース 20.2 拡張 I/O シリアルインタフェースのレジスタ MB90330A シリーズ [bit0] SCOE ( シフトクロック出力許可 ) シフトクロック用入出力外部端子 (SCK1, 2) の出力を制御します。 SCOE 動作 0 汎用ポート端子 , 命令ごと転送時 1 シフトクロック出力端子 [ 初期値 ] • このリセットにより "0" に初期化されます。 • このビットは , 読出し / 書込みが可能です。 外部シフトクロックモードで命令ごとに転送を行うときは , "0" に設定してください。 488 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 20 章 拡張 I/O シリアルインタフェース 20.2 拡張 I/O シリアルインタフェースのレジスタ MB90330A シリーズ 20.2.2 シリアルデータレジスタ (SDR) シリアルデータレジスタ (SDR) の構成および機能について説明します。 ■ シリアルデータレジスタ (SDR) 図 20.2-3 に , シリアルデータレジスタ (SDR) のビット構成を示します。 図 20.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 489 第 20 章 拡張 I/O シリアルインタフェース 20.2 拡張 I/O シリアルインタフェースのレジスタ MB90330A シリーズ 通信プリスケーラ制御レジスタ (SDCR) 20.2.3 通信プリスケーラ制御レジスタ (SDCR) の構成および機能について説明します。 ■ 通信プリスケーラ制御レジスタ (SDCR) 図 20.2-4 に , 通信プリスケーラ制御レジスタ (SDCR) のビット構成を示します。 図 20.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 : リード・ライト可能 - : 未定義 以下に , 通信プリスケーラ制御レジスタ (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 分周分の時間をおいてから通信を 行ってください。 490 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 20.3 第 20 章 拡張 I/O シリアルインタフェース 20.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-10129-6 FUJITSU MICROELECTRONICS LIMITED 491 第 20 章 拡張 I/O シリアルインタフェース 20.3 拡張 I/O シリアルインタフェースの動作 MB90330A シリーズ シフトクロックモード 20.3.1 シフトクロックには , 内部シフトクロックモードおよび外部シフトクロックモード の 2 種類があり , SMCS の設定で指定します。モードの切換えは , シリアル I/O が停 止した状態で行ってください。停止状態の確認は , BUSY ビットを読み出すことに よって可能となります。 ■ 内部シフトクロックモード 内部クロックによって動作し , 同期タイミング出力としてデューティ比 50% のシフト クロックが SCK 端子より出力されます。 データが , 1 クロックごとに 1 ビット転送されます。 転送の速度は , 次式によって算出できます。 A 転送速度 (S)= 内部のクロックマシンサイクル (A) A は , SMCS の SMD ビットで示す分周比です。 (φ ÷ div)/2, (φ ÷ div)/2 2, (φ ÷ div)/2 4, (φ ÷ div)/2 5, (φ ÷ div)/2 6 ■ 外部シフトクロックモード 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 への書込みは禁止です。 492 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 20.3.2 第 20 章 拡張 I/O シリアルインタフェース 20.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 待機状態に遷移します。 図 20.3-1 に各状態の動作遷移図を , 図 20.3-2 にシリアルデータレジスタの読出し / 書込 みの概念図を示します。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 493 第 20 章 拡張 I/O シリアルインタフェース 20.3 拡張 I/O シリアルインタフェースの動作 MB90330A シリーズ 図 20.3-1 拡張 I/O シリアルインタフェースの動作遷移図 リセット 停止状態(転送終了) STOP=0 & STRT=0 STOP=1 STRT=0, BUSY=0 MODE=0 STOP=0 & STRT=1 MODE=0 & STOP=0 & 終了 STRT=0, BUSY=0 STOP=1 転送動作 STOP 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 図 20.3-2 シリアルデータレジスタの読出し / 書込みの概念図 シリアルデータ SOT SIN データバス データバス 読出し 書込み 読出し 書込み (1) 割込み出力 拡張I/0 シリアルインタフェース CPU (2) 割込み入力 データバス 割込みコントローラ (1) MODE=1 のとき , シフトクロックカウンタによって転送終了し , SIR=1 となって読 出し / 書込み待機状態に入ります。SIE ビットが "1" ならば , 割込み信号を発生しま す。ただし , SIE がインアクティブのときや STOP へ "1" を書き込むことによる転送 中断のときは , 割込み信号は発生しません。 (2) シリアルデータレジスタが読出し / 書込みされると , 割込み要求はクリアされ , シリ アル転送を開始します。 494 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 20 章 拡張 I/O シリアルインタフェース 20.3 拡張 I/O シリアルインタフェースの動作 MB90330A シリーズ シフト動作のスタート / ストップタイミングと入出力 のタイミング 20.3.3 シフト動作のスタート / ストップタイミングと入出力のタイミングについて説明しま す。 ■ シフト動作のスタート / ストップタイミングと入出力のタイミング • スタート SMCS の STOP ビットを "0", STRT ビット "1" に設定します。 • ストップ 転送終了によって停止する場合と , STOP=1 によって停止する場合があります。 - STOP=1 によって停止 : MODE ビットにかかわらず SIR=0 のまま停止します。 - 転送終了で停止 : MODE ビットにかかわらず , SIR=1 となり停止します。 BUSY ビットは , MODE ビットにかかわらずシリアル転送状態の場合 "1" となり , 停止 状態または R/W 待機状態の場合 "0" となります。転送状態を確認するときは , このビッ トを読み出してください。 以下に , 各モードの動作および停止動作におけるタイミングチャートを示します。図中 の D07 ∼ D00 は , 出力データを示します。 ● 内部シフトクロックモード (LSB ファースト ) 図 20.3-3 シフト動作のスタート / ストップタイミング ( 内部クロック ) "1"出力 SCK (転送終了) (転送スタート) STRT MODE=0のとき BUSY DO7 (データ保持) DO0 SOT ● 外部シフトクロックモード (LSB ファースト ) 図 20.3-4 シフト動作のスタート / ストップタイミング ( 外部クロック ) SCK (転送終了) (転送スタート) MODE=0のとき STRT BUSY SOT CM44-10129-6 DO0 DO7 (データ保持) FUJITSU MICROELECTRONICS LIMITED 495 第 20 章 拡張 I/O シリアルインタフェース 20.3 拡張 I/O シリアルインタフェースの動作 MB90330A シリーズ ● 外部シフトクロックモードで命令シフトを行った場合 (LSB ファースト ) 命令シフトでは , PDR の SCK に対応するビットに "1" が書き込まれたとき "H" が出力 され , "0" が書き込まれたとき "L" が出力されます ( ただし , 外部シフトクロックモー ド選択で , SCOE=0 のとき )。 図 20.3-5 外部シフトクロックモードで命令シフトを行った場合 SCK PDRのSCKビット"0" STRT PDRのSCKビット"1" PDRのSCKビット"0" (転送終了) MODE=0のとき BUSY DO7 (データ保持) DO6 SOT ● STOP=1 による停止 (LSB ファースト , 内部クロック時 ) 図 20.3-6 STOP ビットを "1" とした場合のストップタイミング "1"出力 SCK STRT (転送スタート) (転送終了) MODE=0のとき BUSY STOP DO3 SOT DO5 (データ保持) DO4 ■ シリアルデータ転送中の動作 シリアルデータの転送中は , シフトクロックの立下りでシリアル出力端子 (SOT) から のデータが出力され , 立上りでシリアル入力端子 (SIN) のデータが入力されます。 ● LSB ファースト (BDS ビットが "0" のとき ) 図 20.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" のとき ) 図 20.3-8 入出力のシフトタイミング (MSB ファースト ) SCK SIN SIN入力 DI7 DI6 DI5 DI4 DI3 DI2 DI1 DI0 DO4 DO3 DO2 DO1 DO0 SOT出力 SOT 496 DO7 DO6 DO5 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 20 章 拡張 I/O シリアルインタフェース 20.3 拡張 I/O シリアルインタフェースの動作 MB90330A シリーズ 割込み機能 20.3.4 拡張 I/O シリアルインタフェースは , CPU に対し割込み要求を発生できます。 ■ 拡張 I/O シリアルインタフェースの割込み機能 データの転送終了時に割込みフラグである SIR ビットがセットされ , 割込みを許可す る SMCS の SIE ビットが "1" のとき , CPU へ割込み要求を出力します。 図 20.3-9 に , 割込み信号の出力タイミングを示します。 図 20.3-9 割込み信号の出力タイミング SCK (転送終了) BUSY SIR MODE=1のとき SIE=1 SDRのRD/WR SOT CM44-10129-6 DO6 DO7 (データ保持) FUJITSU MICROELECTRONICS LIMITED 497 第 20 章 拡張 I/O シリアルインタフェース 20.3 拡張 I/O シリアルインタフェースの動作 498 MB90330A シリーズ FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 21 章 UART この章では , UART の機能と動作について説明しま す。 21.1 UART の概要 21.2 UART のブロックダイヤグラム 21.3 UART の端子 21.4 UART のレジスタ 21.5 UART の割込み 21.6 UART のボーレート 21.7 UART の動作説明 21.8 UART 使用上の注意 21.9 UART のプログラム例 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 499 第 21 章 UART 21.1 UART の概要 21.1 MB90330A シリーズ UART の概要 UART は , 外部装置と同期通信もしくは非同期通信 ( 調歩同期 ) をするための , 汎用 のシリアルデータ通信インタフェースです。通常の双方向通信機能 ( ノーマルモー ド ) だけではなく , マスタ / スレーブ型通信機能 ( マルチプロセッサモード : マスタ 側だけサポート ) があります。 ■ UART の機能 ● UART の機能 UART は , 他の CPU や周辺装置とシリアルデータの送受信をする汎用シリアルデータ 通信インタフェースで , 表 21.1-1 に示す機能をもっています。 表 21.1-1 UART の機能 機 能 データバッファ 全二重ダブルバッファ 転送モード ・クロック同期 ( スタート / ストップビットなし ) ・クロック非同期 ( 調歩同期 ) ボーレート ・専用ボーレートジェネレータあり ・外部クロック入力可能 データ長 ・8 ビット , または 7 ビット ( 非同期ノーマルモード時のみ ) ・1 ∼ 8 ビット ( 同期モードのみ ) 信号方式 NRZ (Non Return to Zero) 方式 ・フレーミングエラー ・オーバランエラー ・パリティエラー ( 動作モード 1 では不可 ) 受信エラー検出 ・受信割込み ( 受信完了 , 受信エラー検出 ) ・送信割込み ( 送信完了 ) ・送受信とも拡張インテリジェント I/O サービス (EI2OS) , μDMAC 転送の対応あり 割込み要求 マスタ / スレーブ型通信機能 ( マルチプロセッサモード ) 500 1 ( マスタ ) 対 n ( スレーブ ) 間の通信が可能 ( マスタとしてのみ使用できます ) FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 21 章 UART 21.1 UART の概要 MB90330A シリーズ <注意事項> クロック同期転送時にスタートビット / ストップビットは付加されず , データのみ転送さ れます。 表 21.1-2 UART の動作モード データ長 同期方式 動作モード パリティなし パリティあり ストップ ビット長 0 ノーマルモード 1 マルチプロセッサ モード 8 ビット+ 1 *1 ― 非同期 1 ビット または 2 ビット *2 2 ノーマルモード 1 ∼ 8 ビット ― 同期 なし 7 ビットまたは 8 ビット 非同期 ― : 設定不可 *1 : " + 1" は通信制御用に使用されるアドレス / データ選択ビット (A/D) です。 *2 : 受信時のストップビットは 1 ビットのみ検出 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 501 第 21 章 UART 21.2 UART のブロックダイヤグラム 21.2 MB90330A シリーズ UART のブロックダイヤグラム UART は , 次のブロックで構成されています。 ■ UART のブロックダイヤグラム 図 21.2-1 UART のブロックダイヤグラム コントロールバス マシンクロック ジェネレータ UARTプリスケーラ 制御レジスタ (UTCR0~UTCR3) UARTプリスケーラ リロードレジスタ (UTRLR0~UTRLR3) 受信割込み信号 クロックセレクタ 専用ボーレート 端子 送信クロック 送信割込み信号 受信クロック 受信制御回路 送信制御回路 スタートビット 検出回路 送信スタート 回路 受信ビット カウンタ 送信ビット カウンタ 受信パリティ カウンタ 送信パリティ カウンタ SCK0~SCK3 外部クロック 端子 SOT0~SOT3 送信用 シフトレジスタ 受信用 シフトレジスタ 端子 SIN0~SIN3 受信終了 SIDR0~SIDR3 送信開始 SODR0~SODR3 受信状態判定回路 受信エラー発生信号 (CPUへ) F2MC-16LXバス SMR0~ SMR3 レジスタ 502 MD1 MD0 SCKL M2L2 M2L1 M2L0 SCKE SOE SCR0~ SCR3 レジスタ PEN P SBL CL A/D REC RXE TXE FUJITSU MICROELECTRONICS LIMITED SSR0~ SSR3 レジスタ PE ORE FRE RDRF TDRE BDS RIE TIE CM44-10129-6 MB90330A シリーズ 第 21 章 UART 21.2 UART のブロックダイヤグラム ● クロックセレクタ 専用ボーレートジェネレータ , 外部入力クロックから送受信クロックを選択します。 ● 受信制御回路 受信制御回路は , 受信ビットカウンタ , スタートビット検出回路 , および受信パリティ カウンタで構成されています。受信ビットカウンタは受信データのカウントをして , 設 定したデータ長に応じて, 1データの受信を完了すれば, 受信割込み要求を発生します。 スタートビット検出回路は , シリアル入力信号からスタートビットを検出する回路で , スタートビットを検出すると設定された転送速度に応じてシフトしながらシリアル入 力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3) にデータを書き込みます。受信パリティカウ ンタは , 受信データのパリティを計算します。 ● 送信制御回路 送信制御回路は , 送信ビットカウンタ , 送信スタート回路 , および送信パリティカウン タで構成されています。送信ビットカウンタは送信データのカウントをして , 設定した データ長に応じて , 1 データの送信を完了すれば , 送信割込み要求を発生します。送信 スタート回路は , シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) の書込みで送 信動作を開始します。送信パリティカウンタは , パリティありの場合送信するデータの パリティビットを生成します。 ● 受信用シフトレジスタ SIN0 ∼ SIN3 端子から入力された受信データを , 1 ビットずつビットシフトしながら取 り込み , 受信終了すればシリアル入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3) に受信 データを転送します。 ● 送信用シフトレジスタ シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) に書き込まれたデータを送信用 シフトレジスタに転送し , 1 ビットずつシフトしながら SOT 端子に出力します。 ● シリアルモードレジスタ 0 ∼ 3(SMR0 ∼ SMR3) 動作モードの選択 , シリアルデータの端子への出力許可 / 禁止 , クロックの端子への出 力許可 / 禁止の設定および , 同期通信モード時に , 1 ∼ 8 ビットの任意の転送数の設定 , 非動作時のシリアルクロック出力レベル ("L" 固定 , "H" 固定 ) の設定をします。 ● シリアル制御レジスタ 0 ∼ 3(SCR0 ∼ SCR3) パリティの有無の設定 , パリティの選択 , ストップビット長の設定 , データ長の設定 , モード 1 でのフレームデータ形式の選択 , フラグのクリア , 送信の許可 / 禁止 , 受信の 許可 / 禁止の設定をします。 ● シリアルステータスレジスタ 0 ∼ 3(SSR0 ∼ SSR3) 送受信やエラーの状態の確認と送受信割込み要求の許可 / 禁止の設定をします。 ● シリアル入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3) 受信データを保持するレジスタです。シリアル入力が変換されてこのレジスタに格納 されます。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 503 第 21 章 UART 21.2 UART のブロックダイヤグラム MB90330A シリーズ ● シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) 送信データを設定するレジスタです。このレジスタに書き込まれたデータが , シリアル 変換されて出力されます。 ● UART プリスケーラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3) 通信プリスケーラの起動 / 停止 , UART 強制リセット , クロックソースの選択 , マシン クロックの分周比を設定します。 ● UART プリスケーラリロードレジスタ 0 ∼ 3(UTRLR0 ∼ UTRLR3) マシンクロックの分周比を設定します。 504 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 21 章 UART 21.3 UART の端子 MB90330A シリーズ 21.3 UART の端子 UART の端子を示します。 ■ UART の端子 UART の端子は , 汎用ポートと兼用になっています。表 21.3-1 に端子の機能 , 入出力形 式 , および UART 使用時の設定などを示します。 表 21.3-1 UART の端子 端子名 端子機能 入出力形式 プルアップ 選択 スタンバイ 制御 端子の使用に必要な設定 P42/A10/SIN0 P45/A13/SIN1 P90/SIN2 P93/SIN3 ポート 4, 9 入出力 / シリアル データ入力 入力ポートに設定 (DDR4 : bit2=0) (DDR4 : bit5=0) (DDR9 : bit0=0) (DDR9 : bit3=0) P43/A11/SOT0 P46/A14/SOT1 P91/SOT2 P94/SOT3 ポート 4, 9 入出力 / シリアル データ出力 出力許可に設定 (SMR0 ∼ SMR3 : SOE=1) P44/A12/SCK0 P47/A15/SCK1 P92/SCK2 P95/SCK3 CM44-10129-6 CMOS 出力 / CMOSヒステ リシス入力 なし あり ポート 4, 9 入出力 / シリアルク ロック入出力 FUJITSU MICROELECTRONICS LIMITED クロック入力時 入力ポートに設定 (DDR4 : bit4=0) (DDR4 : bit7=0) (DDR9 : bit2=0) (DDR9 : bit5=0) クロック出力時出力許可 に設定 (SMR0∼SMR3 : SCKE=1) 505 第 21 章 UART 21.4 UART のレジスタ 21.4 MB90330A シリーズ UART のレジスタ UART のレジスタ一覧を示します。 ■ UART のレジスタ一覧 図 21.4-1 UART のレジスタ一覧 bit15--------------------------------------bit8 bit7----------------------------------------bit0 ch.0 : 000021H, 20H ch.1 : 000027H, 26H ch.2 : 00002DH, 2CH ch.3 : 000033H, 32H SCR0~SCR3 ( シリアル制御レジスタ 0~3) SMR0~SMR3 ( シリアルモードレジスタ 0~3) ch.0 : 000023H, 22H ch.1 : 000029H, 28H ch.2 : 00002FH, 2EH ch.3 : 000035H, 34H SSR0~SSR3 ( シリアルステータスレジスタ 0~3) SIDR0~SIDR3・SODR0~SODR3 ( シリアル入力・出力データ レジスタ 0~3) ch.0 : 000025H, 24H ch.1 : 00002BH, 2AH ch.2 : 000031H, 30H ch.3 : 000037H, 36H UTCR0~UTCR3 (UART プリスケーラ制御 レジスタ 0~3) UTRLR0~UTRLR3 (UART プリスケーラリロード レジスタ 0~3) <注意事項> 通信モードの設定は , 動作停止中に行ってください。モード設定時に送受信したデータは 保証されません。 506 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 21 章 UART 21.4 UART のレジスタ MB90330A シリーズ シリアル制御レジスタ 0 ∼ 3(SCR0 ∼ SCR3) 21.4.1 シリアル制御レジスタ 0 ∼ 3(SCR0 ∼ SCR3) は , パリティの設定 , ストップビット 長やデータ長の選択 , モード 1 でのフレームデータ形式の選択 , 受信エラーフラグの クリア , 送受信動作の許可または禁止の設定を行います。 ■ シリアル制御レジスタ 0 ∼ 3(SCR0 ∼ SCR3) 図 21.4-2 シリアル制御レジスタ 0 ∼ 3(SCR0 ∼ SCR3) のビット構成 アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 ch.0:000021H PEN ch.1:000027H ch.2:00002D H R/W ch.3:000033 H P SBL CL A/D REC RXE TXE R/W R/W R/W R/W W R/W R/W TXE (SMR0~SMR3) bit0 初期値 00000100B 1 送信動作許可ビット 送信動作を禁止 送信動作を許可 RXE 0 受信動作許可ビット 受信動作を禁止 0 1 受信動作を許可 REC 受信エラーフラグクリアビット 0 FRE,ORE,PEフラグをクリア 1 変化なし,ほかへの影響なし A/D 0 1 アドレスフレーム CL 0 7ビット 1 8ビット SBL 0 1 P R/W :リード・ライト可能 W :ライトオンリー :初期値 CM44-10129-6 アドレス/データ選択ビット データフレーム データ長選択ビット ストップビット長選択ビット 1ビット長 2ビット長 パリティ選択ビット 0 パリティありのとき(PEN=1)のみ有効 偶数パリティ 1 奇数パリティ パリティ許可ビット PEN パリティなし 0 1 パリティあり FUJITSU MICROELECTRONICS LIMITED 507 第 21 章 UART 21.4 UART のレジスタ MB90330A シリーズ 表 21.4-1 シリアル制御レジスタ 0 ∼ 3(SCR0 ∼ 3) の各ビットの機能説明 ビット名 パリティビットの付加 ( 送信時 ) と検出 ( 受信時 ) を行うかどうかを 設定します。 ( 注意事項 ) 動作モード 1, 2 の場合 , パリティビットは付加できません。 必ず "0" に設定してください。 bit15 PEN : パリティ 許可ビット bit14 P: パリティ 選択ビット パリティビットあり (SCR0 ∼ SCR3 : PEN=1) に設定した場合に , 奇 数パリティか偶数パリティのいずれかに設定します。 bit13 SBL : ストップ ビット長 選択ビット 動作モード 0, 1 ( 非同期 ) の場合のストップビット ( 送信データのフ レームエンドマーク ) のビット長を設定します。 ( 注意事項 ) 受信時は , 常にストップビットの 1 ビット目だけを検出します。 bit12 CL : データ長 選択ビット 送受信データのデータ長を指定します。 ( 注意事項 ) 7 ビットを選択できるのは , 動作モード 0 の場合のみです。動作 モード 1, 2 の場合は , 必ず 8 ビットに設定してください。 bit11 A/D : アドレス / データ 選択ビット ・動作モード 1 の場合に , 送受信するフレームのデータ形式を設定 します。 ・"0" に設定した場合 : データフレームに設定されます。 ・"1" に設定した場合 : アドレスデータのフレームに設定されます。 REC : 受信エラー フラグ クリア ビット ・シ リ ア ル ス テ ー タ ス レ ジ ス タ の 受 信 エ ラ ー フ ラ グ (SSR0 ∼ SSR3:FRE, ORE, PE) を "0" にクリアします。 ・"0" に設定した場合 : FRE, ORE, PE フラグがクリアされます。 ・"1" に設定した場合 : 影響しません。 ・リードした場合 : 常に "1" が読み出されます。 ( 注意事項 ) 受信割込みを許可に設定していれば (SSR0 ∼ SSR3 : RIE=1) , FRE, ORE, PE フラグのいずれかが "1" にセットされている場合のみ , REC ビットを "0" に設定してください。 RXE : 受信動作 許可ビット ・UART の受信動作を許可または禁止します。 ・"0" に設定した場合 : 受信動作が禁止されます。 ・"1" に設定した場合 : 受信動作が許可されます。 ( 注意事項 ) 受信中に受信動作を禁止に設定した場合には , 受信中のデータを シリアル入力データレジスタに格納した後に受信動作が停止し ます。 TXE : 送信動作 許可ビット ・UART の送信動作を許可または禁止します。 ・"0" に設定した場合 : 送信動作が禁止されます。 ・"1" に設定した場合 : 送信動作が許可されます。 ( 注意事項 ) 送信中に送信動作を禁止に設定した場合は , シリアル出力データ レジスタのデータの送信が完了した後に送信動作が停止します。 bit10 bit9 bit8 508 機 能 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 21 章 UART 21.4 UART のレジスタ MB90330A シリーズ シリアルモードレジスタ 0 ∼ 3(SMR0 ∼ SMR3) 21.4.2 シリアルモードレジスタ 0 ∼ 3(SMR0 ∼ SMR3) は , 動作モードの選択 , シリアル データとクロックの端子への出力許可または禁止の設定 , および同期通信モード時 に , 1 ∼ 8 ビットの任意の転送数の設定 , 非動作時のシリアルクロック出力レベル ("L" 固定 , "H" 固定 ) の設定を行います。 ■ シリアルモードレジスタ 0 ∼ 3(SMR0 ∼ SMR3) 図 21.4-3 シリアルモードレジスタ 0 ∼ 3(SMR0 ∼ SMR3) のビット構成 アドレス ch.0:000020 H ch.1:000026 H ch.2:00002C H ch.3:000032 H bit8 bit7 bit6 bit5 bit4 bit3 bit15 (SCR0~SCR3) MD1 MD0 R/W SCKL M2L2 M2L1 M2L0 SCKE R/W R/W R/W R/W R/W 0 汎用入出力ポートとする 1 UARTのシリアルデータ出力端子とする 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-10129-6 R/W SOE 初期値 00100000B シリアルデータ出力許可ビット 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 509 第 21 章 UART 21.4 UART のレジスタ MB90330A シリーズ 表 21.4-2 シリアルモードレジスタ 0 ∼ 3(SMR0 ∼ SMR3) の各ビットの機能説明 ビット名 機 能 ・動作モードを設定します。 ( 注意事項 ) ・動作モード 1 では , マスタ・スレーブ型通信のマスタとしてのみ 使用できます。動作モード 1 は 9 ビット目のアドレス / データビッ トが受信できないのでスレーブとしては使用できません。 ・動作モード 1 ではパリティチェック機能は使用できないので , パ リティ付加許可ビットはパリティなし (SCR0 ∼ SCR3 : PEN=0) に 設定してください。 bit7, bit6 MD1, MD0 : 動作モード 選択ビット bit5 ・クロック同期モードで通信を行う場合, 非動作時のシリアルクロッ SCKL : ク出力レベルを設定します。 シリアルクロック出 ・"0" に設定した場合 : シリアルクロック出力は "L" レベルです。 力レベル設定ビット ・"1" に設定した場合 : シリアルクロック出力は "H" レベルです。 ・同期通信モード時の転送数を設定します。 ・非同期通信モード時は無効です。 ・"000B" に設定した場合 : 転送数は 8 ビットです。 ・"001B" に設定した場合 : 転送数は 1 ビットです。 bit4 ∼ bit2 M2L2 ∼ M2L0 : ・"010B" に設定した場合 : 転送数は 2 ビットです。 同期モード転送数設 ・"011 " に設定した場合 : 転送数は 3 ビットです。 B 定ビット ・"100B" に設定した場合 : 転送数は 4 ビットです。 ・"101B" に設定した場合 : 転送数は 5 ビットです。 ・"110B" に設定した場合 : 転送数は 6 ビットです。 ・"111B" に設定した場合 : 転送数は 7 ビットです。 510 bit1 SCKE : シリアル クロック 入出力許可 ビット ・シリアルクロックの入出力を切り換えます。 ・"0" に設定した場合 : 汎用入出力ポートまたはシリアルクロック 入力端子に設定されます。 ・"1" に設定した場合 : シリアルクロック出力端子に設定されます。 ( 注意事項 ) ・SCK0 ∼ SCK3 端子をシリアルクロック入力 (SCKE=0) として使用 する場合は , ポート方向レジスタ (DDR) で端子を入力ポートに設 定してください。また , クロック入力ソース選択ビットによって 外部クロックを選択 (UTCR0 ∼ UTCR3 : CKS=1B) してください。 ・シリアルクロック出力として使用する場合は , クロック入力 ソース選択ビットを専用ボーレートジェネレータ (UTCR0 ∼ UTCR3 : CKS=0B) に設定してください。 ・SCK0 ∼ SCK3 端子がシリアルクロック出力に設定されている場合 は , 汎用入出力ポートの設定にかかわらずシリアルクロック出力 端子として機能します。 bit0 SOE : シリアル データ出力 許可ビット ・シリアルデータの出力を許可または禁止します。 ・"0" に設定した場合 : 汎用入出力ポートに設定されます。 ・"1" に設定した場合 : シリアルデータ出力端子に設定されます。 ・SOT0 ∼ SOT3 端子がシリアルデータ出力に設定されている場合は , 汎用入出力ポートの設定にかかわらずシリアルデータ出力端子と して機能します。 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 21 章 UART 21.4 UART のレジスタ MB90330A シリーズ シリアルステータスレジスタ 0 ∼ 3(SSR0 ∼ SSR3) 21.4.3 シリアルステータスレジスタ 0 ∼ 3(SSR0 ∼ SSR3) は , 送受信やエラーの状態の確 認 , 割込みの許可または禁止の設定を行います。 ■ シリアルステータスレジスタ 0 ∼ 3(SSR0 ∼ SSR3) 図 21.4-4 シリアルステータスレジスタ 0 ∼ 3(SSR0 ∼ SSR3) のビット構成 bit0 アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 (SIDR0~SIDR3, ch.0:000023 H PE ORE FRE RDRF TDRE BDS RIE TIE SODR0~SODR3) ch.1:000029 H R R R R R/W R/W R/W ch.2:00002F H R ch.3:000035 H TIE 初期値 00001000B 送信割込み要求許可ビット 0 送信割込み要求出力を禁止 1 送信割込み要求出力を許可 受信割込み要求許可ビット RIE 0 受信割込み要求出力を禁止 1 受信割込み要求出力を許可 BDS 0 転送方向選択ビット LSBファースト(最下位ビットから転送) 1 MSBファースト(最下位ビットから転送) TDRE 送信データエンプティフラグビット 0 送信データあり(送信データの書込み禁止) 1 送信データなし(送信データの書込み許可) RDRF 受信データフルフラグビット 0 受信データなし 1 受信データあり フレーミングエラーフラグビット FRE フレーミングエラーなし 0 フレーミングエラーあり 1 ORE オーバランエラーなし 1 オーバランエラーあり PE R/W :リード・ライト可能 R :リードオンリ :初期値 CM44-10129-6 オーバランエラーフラグビット 0 パリティエラーフラグビット 0 パリティエラーなし 1 パリティエラーあり FUJITSU MICROELECTRONICS LIMITED 511 第 21 章 UART 21.4 UART のレジスタ MB90330A シリーズ 表 21.4-3 シリアルステータスレジスタ 0 ∼ 3 (SSR0 ∼ SSR3) の各ビットの機能説明 (1 / 2) ビット名 512 機 能 bit15 ・受信データのパリティエラーを検出します。 ・パリティエラーが発生すると "1" がセットされます。 ・受信エラーフラグクリアビット (SCR0 ∼ SCR3 : REC) に "0" を書 PE : き込むとクリアされます。 パリティ エラーフラグ ・受信割込みが許可されている場合は (SCR0 ∼ SCR3 : RIE=1) , パリ ビット ティエラーが発生すると受信割込み要求が発生します。 ・パリティエラーフラグビットがセットされた場合は (SSR0∼SSR3: PE=1) , シリアル入力データレジスタのデータは無効です。 bit14 ・受信時のオーバランエラーを検出します。 ・オーバランエラーが発生すると "1" がセットされます。 ・受信エラーフラグクリアビット (SSR0 ∼ SSR3 : REC) に "0" を書 ORE : き込むとクリアされます。 オーバラン ・受信割込みが許可されている場合は (SSR0 ∼ SSR3 : RIE=1) , オー エラーフラグ バランエラーが発生すると受信割込み要求を発生します。 ビット ・オーバランエラーフラグビットがセットされた場合は (SSR0 ∼ SSR3 : ORE=1) , シリアル入力データレジスタのデータは無効で す。 bit13 ・受信データのフレーミングエラーを検出します。 ・フレーミングエラーが発生すると "1" がセットされます。 ・受信エラーフラグクリアビット (SCR0 ∼ SCR3: REC) に "0" を書き FRE : 込むとクリアされます。 フレーミング エラーフラグ ・受信割込みが許可されている場合は (SSR0∼SSR3: RIE=1) , フレー ビット ミングエラーが発生すると受信割込み要求を発生します。 ・フレーミングエラーフラグビットがセットされた場合は (SSR0 ∼ SSR3: FRE=1) , シリアル入力データレジスタのデータは無効です。 bit12 ・シリアル入力データレジスタの状態を示します。 ・シリアル入力データレジスタ 0 ∼ 3 (SIDR0 ∼ SIDR3) に受信デー タがロードされると , "1" がセットされます。 RDRF : ・シリアル入力データレジスタ 0 ∼ 3 (SIDR0 ∼ SIDR3) のデータを 受信データ 読み出すと "0" にクリアされます。 フルフラグ ビット ・受信割込みが許可されている場合は (SSR0 ∼ SSR3: RIE=1) , 受信 データがシリアル入力データレジスタ (SIDR0 ∼ SIDR3) にロード されると受信割込み要求を発生します。 bit11 ・シリアル出力データレジスタ 0 ∼ 3 (SODR0 ∼ SODR3) の状態を 示します。 ・シリアル出力データレジスタ 0 ∼ 3 (SODR0 ∼ SODR3) に送信デー タを書き込むと , "0" にクリアされます。 ・送信用シフトレジスタにデータがロードされ送信が開始されると "1" がセットされます。 ・送信割込みが許可されている場合は (SSR0 ∼ SSR3: TIE=1) , シリ アル出力データレジスタ 0 ∼ 3 (SODR0 ∼ SODR3) に書き込まれた データが送信シフトレジスタに転送されると送信割込み要求を発 生します。 TDRE : 送信データ エンプティ フラグビット FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 21 章 UART 21.4 UART のレジスタ MB90330A シリーズ 表 21.4-3 シリアルステータスレジスタ 0 ∼ 3 (SSR0 ∼ SSR3) の各ビットの機能説明 (2 / 2) ビット名 機 能 bit10 ・シリアルデータの転送方向を設定します。 ・"0" に設定した場合 : シリアルデータを最下位ビット側から先に転 送します (LSB ファースト ) 。 ・"1" に設定した場合 : シリアルデータを最上位ビット側から先に転 BDS : 送します (MSB ファースト ) 。 転送方向選択 ( 注意事項 ) ビット シリアル入力データレジスタへの読出し時およびシリアル出力 データレジスタへの書込み時にデータの上位側と下位側を入れ替 えるため , レジスタへのアクセス完了後に BDS ビットを書き換え た場合はそのデータは無効になります。 bit9 RIE : 受信割込み 要求許可 ビット ・受信割込みを許可または禁止します。 ・"1" に設定した場合 : シリアル入力データレジスタ 0 ∼ 3 に受信 デ ー タ が ロ ー ド さ れ る か (SSR0 ∼ SSR3: RDRF=1) , 受信エラーが発生すると (SSR0 ∼ SSR3: PE=1, または ORE=1, または FRE=1) , 受信割込み要求を発生します。 bit8 TIE : 送信割込み 要求許可 ビット ・送信割込みを許可または禁止します。 ・"1" に設定した場合 : シリアル出力データレジスタ 0 ∼ 3 に書き込 まれたデータが送信用シフトレジスタに送 信されると (SSR0 ∼ SSR3 : TDRE=1) , 送信割 込み要求を発生します。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 513 第 21 章 UART 21.4 UART のレジスタ 21.4.4 MB90330A シリーズ シリアル入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3), シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) シリアル入力データとシリアル出力データレジスタは同一アドレスに配置されてい ます。リードした場合は , シリアル入力データレジスタとして機能し , ライトした場 合はシリアル出力データレジスタとして機能します。 ■ シリアル入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3) 図 21.4-5 に , シリアル入力データレジスタのビット構成を示します。 図 21.4-5 シリアル入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3) のビット構成 アドレス ch.0 : 000022H ch.1 : 000028H ch.2 : 00002EH ch.3 : 000034H 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 ∼ 3(SIDR0 ∼ SIDR3) は , シリアルデータ受信用のデー タバッファレジスタです。 ・シリアル入力端子 (SIN0 ∼ SIN3) に送られてきたシリアルデータ信号がシフトレジス タで変換されて, シリアル入力データレジスタ0∼3(SIDR0∼SIDR3)に格納されます。 ・データ長が 7 ビットの場合は , 上位 1 ビット (SIDR0 ∼ SIDR3:D7) は無効データとな ります。 ・受信データが , シリアル入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3) に格納されると , 受信データフルフラグビット (SSR0 ∼ SSR3:RDRF) が "1" にセットされます。受信割 込みが許可されている場合は (SSR0 ∼ SSR3:RIE=1), 受信割込み要求を発生します。 ・シリアル入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3) は , 受信データフルフラグビッ ト (SSR0 ∼ SSR3:RDRF) が "1" の状態で読み出してください。受信データフルフラグ ビット (SSR0 ∼ SSR3:RDRF) は , シリアル入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3) を読み出すと自動的に "0" にクリアされます。 ・受信エラーが発生 (SSR0 ∼ SSR3:PE, ORE, FRE のいずれかが "1") した場合 , シリア ル入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3) のデータは無効となります。 514 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 21 章 UART 21.4 UART のレジスタ MB90330A シリーズ ■ シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) 図 21.4-6 に , シリアル出力データレジスタのビット構成を示します。 図 21.4-6 シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) のビット構成 アドレス ch.0 : 000022H ch.1 : 000028H ch.2 : 00002EH ch.3 : 000034H 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 ∼ 3(SODR0 ∼ SODR3) は , シリアルデータ送信用のデー タバッファレジスタです。 ・送信動作が許可されている場合に (SCR0 ∼ SCR3:TXE=1), 送信するデータをシリア ル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) に書き込むと , 送信データが送信用 シフトレジスタに転送されシリアルデータに変換されて , シリアルデータ出力端子 (SOT0 ∼ SOT3) から送出されます。 ・データ長が 7 ビットの場合 , 上位 1 ビット (SODR0 ∼ SODR3:D7) は無効データとな ります。 ・送信データエンプティフラグ (SSR0 ∼ SSR3:TDRE) は , 送信データがシリアル出力 データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) に書き込まれると , "0" にクリアされます。 ・送信データエンプティフラグ (SSR0 ∼ SSR3:TDRE) は , 送信用シフトレジスタへの転 送が終了すると , "1" にセットされます。 ・送信データエンプティフラグ (SSR0 ∼ SSR3:TDRE) が "1" の場合は , 次の送信用デー タを書き込むことができます。送信割込みが許可されている場合には送信割込みが 発生します。次の送信データの書込みは , 送信データエンプティフラグ (SSR0 ∼ SSR3:TDRE) が "1" の状態で行ってください。 <注意事項> シリアル出力データレジスタは書込み専用のレジスタで , シリアル入力データレジスタは 読出し専用のレジスタです。2 つのレジスタは同一アドレスに配置されているため書込み 値と読出し値が異なります。したがって , INC/DEC 命令などリードモディファイライト (RMW) 動作をする命令は使用できません。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 515 第 21 章 UART 21.4 UART のレジスタ 21.4.5 MB90330A シリーズ UART プリスケーラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3), UART プリスケーラリロードレジスタ 0 ∼ 3 (UTRLR0 ∼ UTRLR3) UART プリスケーラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3) は , プリスケーラの起動 / 停止 , 強制リセット , クロックソース選択を設定します。また , UART プリスケー ラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3) の下位 3 ビットと UART プリスケーラリ ロードレジスタ (0 ∼ 3) との組合せでマシンクロックの分周比を設定します。 ■ UART プリスケーラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3), UART プリスケーラリ ロードレジスタ 0 ∼ 3(UTRLR0 ∼ UTRLR3) UART の動作クロックは , マシンクロックを分周することにより得られます。このプリ スケーラによって , 種々のマシンサイクルに対して一定のボーレートが得られように 設計されています。UTCR0 ∼ UTCR3 のビット構成を図 21.4-7 に示します。 図 21.4-7 UART プリスケーラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3), UART プリスケーラリロード レジスタ 0 ∼ 3 (UTRLR0 ∼ UTRLR3) のビット構成 UART プリスケーラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3) アドレス ch.0 : 000025H ch.1 : 00002BH ch.2 : 000031H ch.3 : 000037H bit 15 bit 14 bit 13 MD R/W SRST R/W CKS R/W bit 12 bit 11 bit 10 bit 9 bit 8 予約 R/W - D10 R/W D9 R/W D8 R/W 初期値 0000-000B UART プリスケーラリロードレジスタ 0 ∼ 3 (UTRLR0 ∼ UTRLR3) アドレス ch.0 : 000024H ch.1 : 00002AH ch.2 : 000030H ch.3 : 000036H 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 : リード・ライト可能 : 未定義 [bit15] MD ( プリスケーラ許可ビット ) プリスケーラの動作許可ビットです。 0: プリスケーラは停止します。 1: プリスケーラは動作します。 516 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 21 章 UART 21.4 UART のレジスタ [bit14] SRST (UART 強制リセットビット ) UART 用内部リセットビットです。強制的に UART をリセットし , 初期状態にしま す。初期化後は自動的に "0" になります。 0: 状態保持 1: 強制リセット [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) n は "00B" を設定してください。 <注意事項> • 基本周期設定ビットの D1, D0(UTRLR0 ∼ UTRLR3 のビット 1, 0) に "01B", "11B" を設 定しますとデューティ比が異なるシリアルクロックを生成しますので , クロック同期 モード時には , D1, D0(UTRLR0 ∼ UTRLR3 のビット 1, 0) を "00B", "11B" に設定して ください。 • UTCR0 ∼ UTCR3, UTRLR0 ∼ UTRLR3 へはワード転送命令でアクセスしてください。 • クロックソースの切換えはプリスケーラの動作を停止 (MD=0, CKS=0) した後 , 切り換 えてください。 • 外部クロック選択モード時にリロード値を変更する場合は , プリスケーラの動作を停 止 (MD=0, CKS=0) した後 , リロード値を変更してください。 • リロード値 n=1, 2, 3 は設定しないでください。 • 外部クロックによる , 非同期モードの設定はしないでください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 517 第 21 章 UART 21.5 UART の割込み 21.5 MB90330A シリーズ UART の割込み UART には , 受信割込みと送信割込みがあり , 次に示す要因で割込み要求を発生させ ることができます。 • 受信データがシリアル入力データレジスタ 0 ∼ 3 (SIDR0 ∼ SIDR3) にセットされ た場合 , または受信エラーが発生した場合 • 送信データがシリアル出力データレジスタ 0 ∼ 3 (SODR0 ∼ SODR3) から送信用 シフトレジスタに転送された場合 また , それぞれ拡張インテリジェント I/O サービス (EI2OS), μDMAC にも対応してい ます。 ■ UART の割込み UART の割込み制御ビットと割込み要因は表 21.5-1 のようになっています。 表 21.5-1 UART の割込み制御ビットと割込み要因 シリアルステータスレジスタ 0 ∼ 3(SSR0 ∼ SSR3) 送受信 受信 送信 割込み フラグ ビット 動作モード 0 1 2 RDRF ○ ○ ○ 受信データをバッファ (SIDR0 ∼ SIDR3) へ ロード ORE ○ ○ ○ オーバランエラー発生 FRE ○ ○ × フレーミングエラー発生 PE ○ × × パリティエラー発生 TDRE ○ ○ ○ 送信バッファ (SODR0 ∼ SODR3) が空 割込み要因 割込み 許可 ビット 割込みフラグのクリア ・受信データの読出し ・リセット RIE TIE ・ 受信エラーフラグク リアビット (SCR0 ∼ SCR3 : REC) への "0" の書込み ・ リセット ・送信データの書込み ・リセット ○ : 使用ビット × : 未使用ビット ● 受信割込み 受信割込みが許可されている場合 (SSR0 ∼ SSR3:RIE=1) に , データ受信完了 (SSR0 ∼ SSR3:RDRF=1), オーバランエラー (SSR0 ∼ SSR3:ORE=1), フレーミングエラー (SSR0 ∼ SSR3:FRE=1), パリティエラー (SSR0 ∼ SSR3:PE=1) のいずれかが発生すると受信割込 み要求を発生します。 受信データフルフラグ (SSR0 ∼ SSR3:RDRF) は , シリアル入力データレジスタ 0 ∼ 3 (SIDR0 ∼ SIDR3) を読み出すと , 自動的に "0" にクリアされます。各受信エラーフラグ (SSR0 ∼ SSR3:PE, ORE, FRE) は受信エラーフラグクリアビット (SCR0 ∼ SCR3:REC) に "0" を書き込めば , すべて "0" にクリアされます。 受信エラー ( パリティエラー , オーバランエラー , フレーミングエラー ) が発生した場 合は , 必要に応じてエラー処理を行った後 , 受信エラーフラグクリアビット (SCR0 ∼ SCR3:REC) に "0" を書き込んで , 各受信エラーフラグをクリアしてください。 518 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 21 章 UART 21.5 UART の割込み MB90330A シリーズ ● 送信割込み 送信データがシリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) から送信用シフト レジスタに送信されると , 送信データエンプティフラグビット (SSR0 ∼ SSR3:TDRE) に "1" がセットされます。送信割込みが許可されている場合は (SSR0 ∼ SSR3:TIE=1), 送 信割込み要求を発生します。 ■ UART の割込みと EI2OS および μDMAC 表 21.5-2 UART の割込みと EI2OS および μDMAC 割込み 番号 割込み要因 割込み制御レジスタ EI2OS μDMAC チャネル 番号 ベクタテーブルアドレス レジスタ名 アドレス 下位 上位 バンク UART3 受信割込み #35(23H) ICR12 0000BCH FFFF70H FFFF71H FFFF72H ◎ 10 UART3 送信割込み #33(21H) ICR11 0000BBH FFFF78H FFFF79H FFFF7AH ○ 11 UART2 受信割込み #35(23H) ICR12 0000BCH FFFF70H FFFF71H FFFF72H ◎ 10 UART2 送信割込み #33(21H) ICR11 0000BBH FFFF78H FFFF79H FFFF7AH ○ 11 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-10129-6 FUJITSU MICROELECTRONICS LIMITED 519 第 21 章 UART 21.5 UART の割込み 21.5.1 MB90330A シリーズ 受信割込み発生とフラグセットのタイミング 受信時の割込みとしては , 受信完了 (SSR0 ∼ SSR3:RDRF), および受信エラーの発 生 (SSR0 ∼ SSR3:PE, ORE, FRE) があります。 ■ 受信割込み発生とフラグセットのタイミング データを受信する場合は , ストップビットの検出 ( 動作モード 0, 1) または , データの最 終ビット (SIDR0 ∼ SIDR3:D7) の検出 ( 動作モード 2) によって , 受信データがシリアル 入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3) に格納されます。受信エラーが発生した場 合はエラーフラグ (SSR0 ∼ SSR3:PE, ORE, FRE) がセットされ , 受信データフルフラグ (SSR0 ∼ SSR3:RDRF) がセットされます。各動作モードともいずれかのエラーフラグ がセットされた場合は , 受信したシリアル入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3) 受信データは無効です。 ● 動作モード 0( 非同期ノーマルモード ) ストップビット検出時に受信データフルフラグ (SSR0 ∼ SSR3:RDRF) にセットされま す。受信エラーが発生すると , エラーフラグ (SSR0 ∼ SSR3:PE, ORE, FRE) がセットさ れます。 ● 動作モード 1( 非同期マルチプロセッサモード ) ストップビットを検出すると受信データフルフラグビット(SSR0∼SSR3:RDRF)がセッ トされます。受信エラーが発生すると , エラーフラグ (SSR0 ∼ SSR3:ORE, FRE) がセッ トされます。パリティエラー (SSR0 ∼ SSR3:PE) は検出できません。 ● 動作モード 2( クロック同期ノーマルモード ) 受信データの最終ビット (SIDR0 ∼ SIDR3:D7) を検出すると受信データフルフラグビッ ト (SSR0 ∼ SSR3:RDRF) がセットされます。受信エラーが発生すると , エラーフラグ (SSR0 ∼ SSR3:ORE) がセットされます。パリティエラー (SSR0 ∼ SSR3:PE), およびフ レーミングエラー (SSR0 ∼ SSR3:FRE) は検出できません。 図 21.5-1 に , 受信動作とフラグセットのタイミングを示します。 520 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 21 章 UART 21.5 UART の割込み MB90330A シリーズ 図 21.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(マルチプロセッサモード)のアドレス/データ選択ビット ● 受信割込み発生のタイミング 受信割込みが許可されている場合に (SSR0 ∼ SSR3:RIE=1), 受信データフルフラグ (SSR0 ∼ SSR3:RDRF), パリティエラーフラグ (SSR0 ∼ SSR3:PE), オーバランエラーフ ラグ (SSR0 ∼ SSR3:ORE), フレーミングエラーフラグ (SSR0 ∼ SSR3:FRE) のいずれか が "1" にセットされると , 受信割込み要求が発生します。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 521 第 21 章 UART 21.5 UART の割込み MB90330A シリーズ 送信割込み発生とフラグセットのタイミング 21.5.2 送信時の割込みは , シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) が空に なり , 次の送信データの書込みが可能な状態になると発生します。 ■ 送信割込み発生とフラグセットのタイミング 送信データエンプティフラグビット (SSR0 ∼ SSR3:TDRE) は , シリアル出力データレ ジスタ 0 ∼ 3(SODR0 ∼ SODR3) に書き込まれた送信データが , 送信用シフトレジスタ に転送され , 次のデータが書込み可能な状態になると "1" にセットされます。シリアル 出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) に次の送信データを書き込むと送信デー タエンプティフラグビット (SSR0 ∼ SSR3:TDRE) は "0" にクリアされます。 図 21.5-2 に送信動作とフラグセットのタイミングについて示します。 図 21.5-2 送信動作とフラグセットのタイミング [動作モード0,1] 送信割込み発生 送信割込み発生 SODR0~SODR3書込み TDRE SOT0~SOT3出力 [動作モード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~SODR3書込み TDRE SOT0~SOT3出力 ST D0~D7 SP A/D 522 : : : : D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 スタートビット データビット ストップビット アドレス/データ選択ビット FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 21 章 UART 21.5 UART の割込み ● 送信割込み要求発生のタイミング 送信割込みが許可 (SSR0 ∼ SSR3:TIE=1) されている場合に , 送信データエンプティフ ラグビット(SSR0∼SSR3:TDRE)が"1"にセットされると送信割込み要求が発生します。 <注意事項> 送信動作中に送信動作を禁止 (SCR0 ∼ SCR3:TXE=0, 動作モード 1 での場合 , 受信動作 を禁止 RXE も含む ) すると , 送信データエンプティフラグビットがセットされ (SSR0 ∼ SSR3:TDRE=1), 送信用シフトレジスタのシフト動作が停止してから UART の通信動作が 禁止されます。 送信が停止する前にシリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) に書き込まれていた送信データは送信されます。 初期状態で TDRE ビットが "1" のため , 送信割込みを許可 (TIE=1) すると送信完了割込み が発生します。TDRE ビットはリードオンリビットで , シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) に新規データを書き込むしかクリアする方法がありませんので , 送 信割込み許可のタイミングに注意してください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 523 第 21 章 UART 21.6 UART のボーレート 21.6 MB90330A シリーズ UART のボーレート UART の送受信クロックは , 次のいずれかを選択できます。 • 内部クロック ( リロードカウンタ ) • 外部クロック ( リロードカウンタ ) • 外部クロック (SCK 端子入力のクロック ) ■ UART ボーレート選択 ボーレートの選択回路は次のようになっており , ボーレートは次の 3 種類の中から 1 種 類を選択できます。 ● 内部クロックの専用ボーレートジェネレータによるボーレート UART プリスケーラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3), および UART プリスケー ラリロードレジスタ 0 ∼ 3(UTRLR0 ∼ UTRLR3) の設定で 11 ビットのリロード値を設 定することにより , ボーレートを選択できます。リロードカウンタは , 設定された値で マシンクロックを分周します。非同期モード , 同期モード時に使用します。 ● 外部クロックの専用ボーレートジェネレータによるボーレート リロードカウンタのクロックソースに外部クロックを使用します。UART プリスケー ラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3), および UART プリスケーラリロードレジス タ 0 ∼ 3(UTRLR0 ∼ UTRLR3) の設定で 11 ビットのリロード値を設定することにより , ボーレートを選択できます。リロードカウンタは , 設定された値で外部クロックを分周 します。非同期モード時に使用します。 ● 外部クロック (1 対 1 モード ) によるボーレート UART のクロック入力端子 (SCK0 ∼ SCK3) から入力されたクロックを , そのままボー レートとして使用します。同期モードに使用します。 524 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 21 章 UART 21.6 UART のボーレート UART 内部クロックの専用ボーレートジェネレータ によるボーレート 21.6.1 UART の転送クロックとして , 専用ボーレートジェネレータを選択した場合の設定 可能なボーレートを示します。 ■ 内部クロックの専用ボーレートジェネレータによるボーレート UART プリスケーラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3), および UART プリスケー ラリロードレジスタ 0 ∼ 3(UTRLR0 ∼ UTRLR3) で 11 ビットのリロード値を設定する ことにより , マシンクロックを分周します。 <非同期モード> ボーレート = φ/4n (bps) φ: マシンクロック周波数 n:D10 ∼ 0(UTCR0 ∼ UTCR3, UTRLR0 ∼ UTRLR3) の値 ただし , n=1, 2, 3 は設定しないでください。 <同期モード> ボーレート = 2φ/n (bps) φ: マシンクロック周波数 n:D10 ∼ 0(UTCR0 ∼ UTCR3, UTRLR0 ∼ UTRLR3) の値 ただし , n=16 以上 (D1, D0) には "00B" を設定してください。 <注意事項> 基本周期設定ビットの D1, D0(UTRLR0 ∼ UTRLR3 のビット 1, 0) に "01B", "10B", "11B" を設定しますとデューティ比が異なるシリアルクロックを生成しますので , クロック同期 モード時には , D1, D0(UTRLR0 ∼ UTRLR3 のビット 1, 0) を "00B" に設定してください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 525 第 21 章 UART 21.6 UART のボーレート MB90330A シリーズ 外部クロックの専用ボーレートジェネレータによる ボーレート 21.6.2 UART の転送クロックとして , 外部クロックの専用ボーレートジェネレータを選択 した場合の設定可能なボーレートを示します。非同期モード時に使用します。 ■ 外部クロックの専用ボーレートジェネレータによるボーレート UART プリスケーラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3), および UART プリスケー ラリロードレジスタ 0 ∼ 3(UTRLR0 ∼ UTRLR3) で 11 ビットのリロード値を設定する ことにより , 外部クロックを分周します。 ボーレートは外部クロックの周波数を f とすると次のようになります。 ・UTCR0 ∼ UTCR3:MD=1 に設定した場合 b= f/4n (bps) , f ≦ φ・f/4n f: 外部クロック周波数 n: D10 ∼ 0 (UTCR0 ∼ UTCR3, UTRLR0 ∼ UTRLR3) の値 b: ボーレート ただし , n=1, 2, 3 は設定しないでください。 f の最大周波数は 24 MHz です。 <注意事項> 外部クロックにより生成されたボーレートはマシンクロックで同期化されるために , ボー レートの計算値に誤差が発生します。 526 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 21.6.3 第 21 章 UART 21.6 UART のボーレート 外部クロック (1 対 1 モード ) によるボーレート UART の転送クロックとして , 外部クロックを選択する場合の設定とボーレートの 計算式を示します。クロック同期モード時に使用します。 ■ 外部クロック (1 対 1 モード ) によるボーレート 外部クロック (1 対 1 モード ) によるボーレートを選択するには , 次の 3 つの設定が必 要です。 UART プリスケーラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3) の MD ビットに "0", CKS ビットに"1"を書き込んで, 外部クロック(1対1モード)によるボーレートを選択します。 SCK0 ∼ SCK3 端子を入力に設定します (DDR4:bit4=0, bit7=0, DDR9:bit2=0, bit5=0)。 シリアルモードレジスタ 0 ∼ 3(SMR0 ∼ SMR3) の SCKE ビットに "0" を書き込んで端 子を外部クロック入力端子とします。 クロック同期モード時に使用します。 ● ボーレート計算式 外部クロック(1対1モード)によるボーレートを選択した場合(UTCR0∼UTCR3:MD=0, CKS=1) のボーレートは , 外部クロックの周波数を f とすると次のようになります。 同期 = f' (bps) f': 外部クロック周波数 ただし , f' の最大はマシンクロックの 1/8 までです。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 527 第 21 章 UART 21.7 UART の動作説明 21.7 MB90330A シリーズ UART の動作説明 UART には , 通常の双方向シリアル通信機能 ( 動作モード 0, 動作モード 2) の他に , マスタ・スレーブ型接続の通信機能 ( 動作モード 1) があります。 ■ UART の動作 ● 動作モード UART は動作モード 0 ∼動作モード 2 の 3 種類があり , 表 21.7-1 に示すように CPU 間 の接続方式やデータ転送方式で選択できます。 表 21.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 ビットに設定 してください。 ● 同期方式 非同期方式 ( 調歩同期 ) またはクロック同期方式を選択できます。 528 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 21 章 UART 21.7 UART の動作説明 ● 信号方式 NRZ(Non Return to Zero) 形式のデータだけを扱えます。 ● 送受信動作の開始 シリアル制御レジスタの送信動作許可ビット (SCR0 ∼ SCR3:TXE) を "1" に設定すると , 送信動作を開始します。 シリアル制御レジスタの受信動作許可ビット (SCR0 ∼ SCR3:RXE) を "1" に設定すると , 受信動作を開始します。 ● 送受信動作の停止 シリアル制御レジスタの送信動作許可ビット (SCR0 ∼ SCR3:TXE) を "0" に設定すると , 送信動作を停止します。 シリアル制御レジスタの受信動作許可ビット (SCR0 ∼ SCR3:RXE) を "0" に設定すると , 受信動作を停止します。 ● 送受信中の停止 受信中 ( 受信用シフトレジスタへのデータ入力中 ) に受信動作を禁止 (SCR0 ∼ SCR3:RXE=0) した場合には , 受信中のフレームの受信を完了し , シリアル入力データ レジスタ 0 ∼ 3(SIDR0 ∼ SIDR3) に受信データを格納してから受信動作を停止します。 送信中 ( 送信用シフトレジスタからデータが出力中 ) に送信動作を禁止 (SCR0 ∼ SCR3:TXE=0) した場合は , シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) から 送信用シフトレジスタに 1 フレームの転送が完了してから送信動作を停止します。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 529 第 21 章 UART 21.7 UART の動作説明 MB90330A シリーズ 非同期モード ( 動作モード 0, 1) 時の動作 21.7.1 UART を動作モード 0( ノーマルモード ), または動作モード 1( マルチプロセッサ モード ) で使用する場合 , 転送方式は非同期となります。 ■ 非同期モード時の動作 ● 送受信データフォーマット 送受信は , 必ずスタートビット ("L" レベル ) から始まり , 指定されたデータビット長の 送受信が行われ , ストップビット ("H" レベル ) で終了します。 動作モード 0 では , データ長は 7 ビットまたは 8 ビットを選択します。パリティビット は , あり / なしの選択ができます。 動作モード 1 では , データ長は 8 ビットに固定されます。パリティビットは付加されま せん。9 ビット目に , アドレス / データビット (SCR0 ∼ SCR3:A/D) が付加されます。 非同期モードの送受信データフォーマットを図 21.7-1 に示します。 図 21.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 530 D0 D0 D1 D1 D2 D3 D4 D5 D6 D7 A/D SP SP SP データ 8ビット :スタートビット :ストップビット :パリティビット :アドレス/データビット FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 21 章 UART 21.7 UART の動作説明 ● 送信動作 ・送信データは , 送信データエンプティフラグビット (SSR0 ∼ SSR3:TDRE) に "1" が セットされている状態で , シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) に 書き込みます。 ・送信データを書込み , シリアル制御レジスタの送信動作許可ビット (SCR0 ∼ SCR3: TXE) を "1" に設定すると , 送信が開始されます。 ・送信データをシリアル出力データレジスタに書き込むと , 送信データエンプティフ ラグビット (SSR0 ∼ SSR3:TDRE) は , いったん "0" にクリアされます。 ・送信データをシリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) から送信用シフ トレジスタに転送すると , 送信データエンプティフラグビット (SSR0 ∼ SSR3:TDRE) は再度 "1" にセットされます。 ・送信割込み許可ビット (SSR0 ∼ SSR3:TIE) を "1" に設定していた場合は , 送信データ エンプティフラグビット (SSR0 ∼ SSR3:TDRE) が "1" にセットされると , 送信割込み 要求が発生します。割込み処理において , 次の送信データをシリアル出力データレジ スタ 0 ∼ 3(SODR0 ∼ SODR3) に書き込めます。 ● 受信動作 ・受信動作は , 受信動作の許可が設定されている場合では (SCR0 ∼ SCR3:RXE=1), 常に 行われます。 ・受信データのスタートビットを検出すると , シリアル制御レジスタ 0 ∼ 3(SCR0 ∼ SCR3) に設定しているデータフォーマットに従って , 1 フレームのデータをシリアル 入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3) に受信します。 ・1 フレームのデータ受信が完了すると , 受信データフルフラグビット (SSR0 ∼ SSR3: RDRF) が "1" にセットされます。 ・受信データを読み出す場合は , 1 フレームデータの受信完了後に , シリアルステータ スレジスタ 0 ∼ 3(SSR0 ∼ SSR3) のエラーフラグの状態を確認し , 正常に受信が行わ れていれば , シリアル入力データレジスタから受信データを読み出してください。受 信エラーが発生している場合は , エラー処理を行ってください ・受信データの読出しを行うと , 受信データフルフラグビット (SSR0 ∼ SSR3:RDRF) は "0" にクリアされます。 ● ストップビット 1 ビットまたは 2 ビット長を選択できます。受信側では , 常に最初の 1 ビットだけを検 出します。 ● エラー検出 動作モード 0 では , パリティエラー , オーバランエラー , フレーミングエラーが検出で きます。 動作モード 1 では , オーバラン , フレーミングエラーが検出できます。パリティエラー は検出できません。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 531 第 21 章 UART 21.7 UART の動作説明 MB90330A シリーズ ● パリティビット パリティビットの付加は , 動作モード 0 の場合のみ設定できます。パリティ付加許可 ビット (SCR0 ∼ SCR3:PEN) でパリティの有無を , パリティ選択ビット (SCR0 ∼ SCR3:P) で偶数パリティ / 奇数パリティを設定できます。 動作モード 1, 動作モード 2 では , パリティの付加はできません。 パリティ有効時の送受信データを図 21.7-2 に示します。 図 21.7-2 パリティビット有効時の送受信データ SIN0~SIN3 SP ST 1 SOT0~SOT3 1 1 0 0 0 ST 1 SOT0~SOT3 0 0 1 1 0 0 0 1 1 データ 0 0 SP 偶数パリティの送信 (SCR0~SCR3:P=0) SP 奇数パリティの送信 (SCR0~SCR3:P=1) 1 ST 1 偶数パリティにて受信時 パリティエラー発生 (SCR0~SCR3:P=0) 0 パリティ ST:スタートビット SP:ストップビット (注意事項) 動作モード1,2では,パリティは使用できません。 532 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 21 章 UART 21.7 UART の動作説明 MB90330A シリーズ 21.7.2 同期モード ( 動作モード 2) 時の動作 UART 動作モード 2( ノーマルモード ) で使用する場合 , 転送方式はクロック同期と なります。 ■ 同期モード ( 動作モード 2) 時の動作 ● 送受信データフォーマット 同期モードでは , 1 ∼ 8 ビットデータを転送し , スタートビット , ストップビットは付 加されません。図 21.7-3 にクロック同期モード時の送受信データフォーマットを示し ます。 図 21.7-3 送受信データフォーマット ( 動作モード 2) シリアルクロックを出力して送信する場合 マークレベル SCK0~SCK3出力 SOT0~SOT3 (LSB) 1 0 1 1 0 0 1 (MSB) 送信データ 送信データ書込み TXE シリアルクロックを入力して送信する場合 マークレベル SCK0~SCK3出力 SIN0~SIN3 (LSB) 1 0 1 1 0 0 1 (MSB) 受信データ 受信データ書込み RXE ● クロック供給 クロック同期方式では , 送受信を行うフレームのビット数に等しい数のクロックの供 給が必要になります。 内部クロック ( 専用ボーレートジェネレータ ) を選択している場合は , データを送信す るとデータ受信用同期クロックが自動的に生成されます。 外部クロックを選択している場合は , シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) に送信データがあること (SSR0 ∼ SSR3:TDRE=0) を確認してから , 正確に 1 バ イト分のクロックを外部から供給する必要があります。また , 送信前と終了後は , 必ず マークレベル ("H") にする必要があります。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 533 第 21 章 UART 21.7 UART の動作説明 MB90330A シリーズ ● 非動作時のシリアルクロック出力レベルの指定 クロック同期モード時, 非動作時のシリアルクロック出力レベルの設定(SMR:SCKL)が できます。 図 21.7-4 非動作時のシリアルクロック出力レベルの設定 送信データ書込み 送受信クロック (SCKL=1) マークレベル 送受信クロック (SCKL=0) RXE,TXE 送信データ 1 0 1 1 0 0 1 0 ● エラー検出 オーバランエラーのみ検出できます。パリティエラー, フレーミングエラーは検出でき ません。 ● 初期化 同期モードを使用する場合の , 各制御レジスタの設定値を示します。 [ シリアルモードレジスタ 0 ∼ 3(SMR0 ∼ SMR3)] 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 534 : 送信する場合 "1", 受信だけの場合 "0" FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 21 章 UART 21.7 UART の動作説明 [ シリアル制御レジスタ 0 ∼ 3(SCR0 ∼ SCR3)] PEN :"0" P, SBL, A/D : これらのビットは意味を持ちません。 CL :"1"(8 ビットデータ ) REC :"0"( 初期化するため , エラーフラグクリア ) RXE, TXE : 少なくとも , どちらか一方を "1" [ シリアルステータスレジスタ 0 ∼ 3(SSR0 ∼ SSR3)] RIE : 割込みを使用する場合 "1", 割込みを使用しない場合 "0" TIE : 割込みを使用する場合 "1", 割込みを使用しない場合 "0" ● 通信開始 シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) に送信データを書き込むと , 通 信が開始されます。受信のみ行う場合でも通信を開始する場合は , 必ず仮の送信データ をシリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) に書き込む必要があります。 ● 通信終了 1 フレームのデータ送受信が終了すると , 受信データフルフラグビット (SSR0 ∼ SSR3:RDRF) が "1" にセットされます。データを受信した場合には , オーバランエラー フラグビット (SSR0 ∼ SSR3:ORE) をチェックし , 通信が正常に行われたかどうかを判 断してください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 535 第 21 章 UART 21.7 UART の動作説明 21.7.3 MB90330A シリーズ 双方向通信機能 ( ノーマルモード ) 動作モード 0, 2 で , 1 対 1 接続の通常のシリアル双方向通信ができます。同期方式 は , 動作モード 0 の場合は非同期 , 動作モード 2 の場合は同期となります。 ■ 双方向通信機能 UART をノーマルモード ( 動作モード 0, 2) で動作させるためには , 図 21.7-5 の設定が 必要です。 図 21.7-5 UART の動作モード 0 の設定 bit15 bit14 bit13 bit12 bit11 bit10 bit9 SCR3~SCR0, SMR3~SMR30 PEN P SBL CL モード 0 0 モード 2 SSR3~SSR0, SIDR3~SIDR0/ SODR3~SODR0 PE X X 1 A/D 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 TIE X X X X 送信データを設定 ( ライト時 ) / 受信データを保持 ( リード時 ) モード 0 X モード 2 X : 使用ビット X : 未使用ビット 1 : "1" を設定 0 : "0" を設定 DDR4 D47 D46 D45 D44 D43 D42 D41 D40 DDR9 D96 D95 D94 D93 D92 D91 D90 : 端子の入力を使用する場合 "0" を設定 ● CPU 間接続 図 21.7-6 に示すように , 2 つの CPU を相互に接続します。 図 21.7-6 UART の双方向通信の接続例 SOT SOT SIN SIN SCK 出力 入力 CPU-1 536 SCK CPU-2 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 21 章 UART 21.7 UART の動作説明 MB90330A シリーズ ● 通信手順 通信は , 送信データが準備できたときに任意のタイミングで送信側から開始します。送 信側はシリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) に送信データを設定し , シリアル制御レジスタの送信動作許可ビット (SCR0 ∼ SCR3:TXE) を "1" に設定して , 送信を開始してください。 正常に受信したことを送信側に示すために , 受信データを送信側に転送する例を 図 21.7-7 に示します。受信側で送信データを受け取ると定期的に , ANS( 例では 1 バイ トごと ) を返します。 図 21.7-7 双方向通信フローの例 (送信側) (受信側) 開始 開始 動作モード設定 (0,2いずれか) 動作モード設定 (送信側と合わす) SODRに1バイトデータを セットして通信 データ送信 受信データあり NO YES NO 受信データあり 受信データ読出しと処理 YES データ送信 受信データ読出しと処理 CM44-10129-6 (ANS) 1バイトデータ送信 FUJITSU MICROELECTRONICS LIMITED 537 第 21 章 UART 21.7 UART の動作説明 MB90330A シリーズ マスタ / スレーブ型通信機能 ( マルチプロセッサ モード ) 21.7.4 動作モード 1 では , 複数 CPU のマスタ / スレーブ型接続による通信が可能です。た だし , マスタとしてのみ使用できます。 ■ マスタ / スレーブ型通信機能 UART をマルチプロセッサモード ( 動作モード 1) で動作させるためには , 図 21.7-8 の 設定が必要です。 図 21.7-8 UART の動作モード 1 の設定 bit15 bit14 bit13 bit12 bit11 bit10 bit9 SCR3~SCR0, SMR3~SMR0 SSR3~SSR0, SIDR3~SIDR0/ SODR3~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 : 使用ビット X : 未使用ビット 1 : "1" を設定 0 : "0" を設定 DDR4 D47 D46 D45 D44 D43 D42 D41 D40 DDR9 D96 D95 D94 D93 D92 D91 D90 : 端子の入力を使用する場合 "0" を設定 ● CPU 間接続 図 21.7-9 に示すように , 2 本の共通通信ラインに 1 つのマスタ CPU と , 複数のスレー ブ CPU を接続して , 通信システムを構成します。UART はマスタ CPU としてのみ使用 できます。 図 21.7-9 UART のマスタ・スレーブ型通信の接続例 SOT0~SOT3 SIN0~SIN3 マスタCPU SOT SIN スレーブCPU #0 538 SOT SIN スレーブCPU #1 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 21 章 UART 21.7 UART の動作説明 MB90330A シリーズ ● 機能選択 マスタ / スレーブ型通信では , 表 21.7-2 のように , 動作モードとデータ転送方式を選択 してください。動作モード 1 では , パリティチェック機能は使用できないので , パリ ティ許可ビット (SCR0 ∼ SCR3:PEN) は "0" に設定してください。 表 21.7-2 マスタ / スレーブ型通信機能の選択 動作モード データ マスタ CPU パリティ 同期方式 ストップ ビット なし 非同期 1 ビット または 2 ビット スレーブ CPU AD= 1 + 8 ビット アドレス アドレス 送受信 モード 1 ― AD= 0 + 8 ビット データ データ 送受信 ● 通信手順 通信はマスタ CPU がアドレスデータを送信することで始まります。アドレスデータと は , AD ビットを "1" としたデータで , 通信先となるスレーブ CPU を選択します。各ス レーブ CPU はプログラムでアドレスデータを判断し , 割り当てられたアドレスと一致 する場合 , マスタ CPU との通信 ( 通常データ ) をします。 図 21.7-10 に , マスタ / スレーブ型通信 ( マルチプロセッサモード ) のフローチャート を示します。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 539 第 21 章 UART 21.7 UART の動作説明 MB90330A シリーズ 図 21.7-10 マスタ / スレーブ型通信フローチャート (マスタCPU) 開始 動作モードを1とする SIN端子をシリアルデータ 入力に設定 D0~D7にスレーブ CPUを選択する1バイト データ(アドレスデータ) をセットして送信(AD=1) ADに"0"をセット 受信動作許可 スレーブCPUと通信 通信終了? NO YES ほかの スレーブCPU と通信 NO YES 受信動作禁止 終了 540 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 21.8 第 21 章 UART 21.8 UART 使用上の注意 UART 使用上の注意 UART を使用する場合は以下の点に注意してください。 ■ UART 使用上の注意 ● 送受信の動作許可 ・ 送信 , 受信のそれぞれに対して送信動作許可ビット (SCR0 ∼ SCR3:TXE), 受信動作許 可ビット (SCR0 ∼ SCR3:RXE) があります。 ・ リセット後の初期状態では , 送受信とも動作禁止に設定 (SCR0 ∼ SCR3:TXE=0, RXE=0) されているので , 送受信を行う前に動作を許可する必要があります。 ・ 送受信動作を禁止 (SCR0 ∼ SCR3:TXE=0, RXE=0) して , 送受信を中止できます。 ● 動作モードの設定について 動作モードは , 送受信動作を禁止 (SCR0 ∼ SCR3:TXE=0, RXE=0) してから , 設定して ください。送受信中に動作モードを切り換えた場合 , 送受信されたデータは保証されま せん。 ● クロック同期モードについて 動作モード 2 は , クロック同期方式として設定されます。送受信データにスタートビッ ト , ストップビットは付加されません。 ● 送信割込み許可のタイミング 送信データエンプティフラグビット(SSR0∼SSR3:TDRE)は, リセット後の初期値が"1" ( 送信データなし , 送信データ書込み許可 ) にセットされているので , 送信割込みを許 可 (SSR0 ∼ SSR3:TIE=1) したと同時に , 送信割込み要求が発生します。必ず送信デー タを準備してから , 送信割込みを許可 (SSR0 ∼ SSR3:TIE=1) してください。 ● マルチプロセッサモードの受信 マルチプロセッサモードにおいては , 9 ビット受信での受信動作はできません。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 541 第 21 章 UART 21.9 UART のプログラム例 21.9 MB90330A シリーズ UART のプログラム例 UART のプログラム例を示します。 ■ UART のプログラム例 ● 処理仕様 UART の双方向通信機能 ( ノーマルモード ) を使用して , シリアル送受信をします。 動作モード 0, 非同期 , データ長 8 ビット , ストップビット長 2 ビット , パリティなしと します。 通信には , P42/A10/SIN0, P43/A11/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( 非同期 ) ; クロック出力禁止 , データ出力許可 MOVW I:UTRL0, #81A0H ; 専用ボーレートジェネレータ使用 (9615bps 選択 ) 542 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 21 章 UART 21.9 UART のプログラム例 MB90330A シリーズ MOV I:SCR0, #00110011B ; パリティなし, ストップビット2ビット ; データ長 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-10129-6 CSEG ABS=0FFH ORG 0FF60H DSL WARI ORG 0FFDCH DSL START DB 00H ; 割込み #39(27H) にベクタを設定 ; リセットベクタ設定 ; シングルチップモードに設定 ENDS FUJITSU MICROELECTRONICS LIMITED 543 第 21 章 UART 21.9 UART のプログラム例 544 MB90330A シリーズ FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 22 章 I2C インタフェース この章では , I2C インタフェースの概要 , レジスタ の構成 / 機能および I2C インタフェースの動作につ いて説明します。 22.1 I2C インタフェースの概要 22.2 I2C インタフェースのレジスタ 22.3 I2C インタフェースの動作 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 545 第 22 章 I2C インタフェース 22.1 I2C インタフェースの概要 22.1 MB90330A シリーズ I2C インタフェースの概要 I2C インタフェースは , Inter IC BUS をサポートするシリアル I/O ポートです。I2C バス上のマスタ / スレーブデバイスとして動作します。 ■ I2C インタフェースの機能 I2C インタフェースは , 以下の機能をもっています。 • マスタ / スレーブ送受信 • アービトレーション機能 • クロック同期化機能 • スレーブアドレス / ゼネラルコールアドレス検出機能 • 転送方向検出機能 • スタートコンディションの繰返し発生および検出機能 • バスエラー検出機能 546 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 22 章 I2C インタフェース 22.1 I2C インタフェースの概要 MB90330A シリーズ ■ I2C インタフェースのブロックダイヤグラム 図 22.1-1 に , I2C インタフェースのブロックダイヤグラムを示します。 図 22.1-1 I2C インタフェースのブロックダイヤグラム ICCR I2Cイネーブル EN クロック分周1 5 ICCR CS4 6 7 周辺クロック 8 クロック選択1 CS3 クロック分周2 CS2 2 4 8 16 32 CS1 CS0 64 128 256 Sync クロック選択2 シフトクロック エッジ変化 タイミング IBSR BB RSC LRB F2MC-16LXバス TRX シフトクロック発生 バスビジー リピート スタート Lastビット スタート・ストップ コンディション検出 エラー 送/受 First Byte FBT AL アービトレーションロスト検出 IBCR SCL0~ SCL2 BER BEIE 割込み要求 INTE IRQ #17,19,21 SDA0~ SDA2 INT IBCR SCC MSS ACK GCAA 終了 スタート マスタ ACK許可 スタート・ストップ コンディション発生 GC-ACK許可 IDAR IBSR AAS GCA スレーブ グローバル コール スレーブアドレス 比較 IADR CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 547 第 22 章 I2C インタフェース 22.2 I2C インタフェースのレジスタ 22.2 MB90330A シリーズ I2C インタフェースのレジスタ I2C インタフェースで使用するレジスタの構成および機能について説明します。 ■ I2C インタフェースのレジスタ一覧 図 22.2-1 I2C インタフェースのレジスタ一覧 bit ch.0 : 000070H ch.1 : 000076H ch.2 : 00007CH bit ch.0 : 000071H ch.1 : 000077H ch.2 : 00007DH bit ch.0 : 000072H ch.1 : 000078H ch.2 : 00007EH bit ch.0 : 000073H ch.1 : 000079H ch.2 : 00007FH bit ch.0 : 000074H ch.1 : 00007AH ch.2 : 000080H 548 7 6 5 4 3 2 1 0 IBSR0 ~ IBSR2 BB RSC AL LRB TRX AAS GCA FBT R R R R R R R R 読出し / 書込み 15 14 13 12 11 10 9 8 IBCR0 ~ IBCR2 I2C バスステータス レジスタ 初期値 00000000B BER BEIE SCC MSS ACK GCAA INTE INT I2C バスコントロール レジスタ 初期値 00000000B R/W R/W R/W R/W R/W R/W R/W R/W 読出し / 書込み 7 6 5 4 3 2 1 0 ICCR0 ~ ICCR2 - - EN CS4 CS3 CS2 CS1 CS0 I2C クロックコントロール レジスタ 初期値 --0XXXXXB - - R/W R/W R/W R/W R/W R/W 読出し / 書込み 7 14 13 12 11 10 9 8 IADR0 ~ IADR2 - A6 A5 A4 A3 A2 A1 A0 I2C バスアドレスレジスタ 初期値 -XXXXXXXB - R/W R/W R/W R/W R/W R/W R/W 読出し / 書込み 7 6 5 4 3 2 1 0 IDAR0 ~ IDAR2 D7 D6 D5 D4 D3 D2 D1 D0 I2C バスデータレジスタ 初期値 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W FUJITSU MICROELECTRONICS LIMITED 読出し / 書込み CM44-10129-6 第 22 章 I2C インタフェース 22.2 I C インタフェースのレジスタ MB90330A シリーズ 2 I2C バスステータスレジスタ 0 ∼ 2(IBSR0 ∼ IBSR2) 22.2.1 I2C バスステータスレジスタ 0 ∼ 2(IBSR0 ∼ IBSR2) の構成および機能について説 明します。 ■ I2C バスステータスレジスタ 0 ∼ 2(IBSR0 ∼ IBSR2) 図 22.2-2 に , I2C バスステータスレジスタ 0 ∼ 2(IBSR0 ∼ IBSR2) のビット構成を示し ます。 図 22.2-2 I2C バスステータスレジスタ 0 ∼ 2(IBSR0 ∼ IBSR2) のビット構成 bit ch.0 : 000070H ch.1 : 000076H ch.2 : 00007CH 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 ~ IBSR2 I2C バスステータス レジスタ 初期値 00000000B 読出し / 書込み 以下に , I2C バスステータスレジスタ 0 ∼ 2(IBSR0 ∼ IBSR2) の各ビットの機能を説明 します。 [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-10129-6 FUJITSU MICROELECTRONICS LIMITED 549 第 22 章 I2C インタフェース 22.2 I2C インタフェースのレジスタ MB90330A シリーズ [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" 書込みまた はスレーブ時にアドレスされなかった場合にクリアされます。 550 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 22 章 I2C インタフェース 22.2 I C インタフェースのレジスタ MB90330A シリーズ 2 I2C バスコントロールレジスタ 0 ∼ 2(IBCR0 ∼ IBCR2) 22.2.2 I2C バスコントロールレジスタ 0 ∼ 2(IBCR0 ∼ IBCR2) の構成および機能について 説明します。 ■ I2C バスコントロールレジスタ 0 ∼ 2(IBCR0 ∼ IBCR2) 図 22.2-3に, バスコントロールレジスタ0∼2(IBCR0∼IBCR2)のビット構成を示します。 図 22.2-3 I2C バスコントロールレジスタ 0 ∼ 2(IBCR0 ∼ IBCR2) のビット構成 bit ch.0 : 000071H ch.1 : 000077H ch.2 : 00007DH 15 14 13 12 11 10 9 8 IBCR0 ~IBCR 2 BER BEIE SCC MSS ACK GCAA INTE INT I2C バスコントロール レジスタ 初期値 00000000B R/W R/W R/W R/W R/W R/W R/W R/W 読出し / 書込み 以下に , バスコントロールレジスタ 0 ∼ 2(IBCR0 ∼ IBCR2) の各ビットの機能を説明し ます。 [bit15] BER: Bus Error バスエラー割込み要求フラグです。書込み時と読出し時で機能が異なります。 ( 書込み時 ) 0 バスエラー割込み要求フラグをクリアする。 1 動作に影響を与えません。 ( 読出し時 ) 0 バスエラーは検出されていない。 1 データ転送中に, 不正なスタート, ストップコンディションを検出し た。 BER ビットがセットされた場合 , ICCR の EN ビットはクリアされて I2C インタフェー スは停止状態になり , データ転送は中断されます。 [bit14] BEIE :Bus Error Interrupt Enable バスエラー割込み許可ビットです。 0 バスエラー割込み禁止。 1 バスエラー割込み許可。 "1" のとき BER ビットが "1" ならば , 割込みを発生します。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 551 第 22 章 I2C インタフェース 22.2 I2C インタフェースのレジスタ MB90330A シリーズ [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 ゼネラルコールアドレスを受信した場合のアクノリッジ発生許可ビットです。 552 0 アクノリッジ発生禁止。 1 アクノリッジ発生許可。 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 22 章 I2C インタフェース 22.2 I C インタフェースのレジスタ 2 [bit9] INTE :INTerrupt Enable 割込み許可ビットです。 0 割込み禁止。 1 割込み許可。 "1" のとき INT ビットが "1" ならば , 割込みを発生します。 [bit8] INT :INTerrupt 転送終了割込み要求フラグビットです。 ( 書込み時 ) 0 転送終了割込み要求フラグをクリアする。 1 動作に影響を与えません。 ( 読出し時 ) 0 転送が終了していない。 1 アクノリッジビットを含めた 1 バイト転送が終了したときに , 次の条 件に該当する場合にセット ・バスマスタである。 ・アドレスされたスレーブである。 ・ゼネラルコールアドレスを受信した。 ・アービトレーションロストを発生した。 ・ほかのシステムがバス使用中にスタートコンディションを発生しよ うとした。 "1" のとき , SCL ラインは "L" レベルに保たれます。"0" を書き込むことによってクリ アされ , SCL ラインを開放して次バイトの転送を行います。また , マスタ時にスタート コンディションまたはストップコンディションの発生によって "0" にリセットされま す。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 553 第 22 章 I2C インタフェース 22.2 I2C インタフェースのレジスタ MB90330A シリーズ <注意事項> 図 22.2-4 と図 22.2-5 に示したタイミングで , スタートコンディションを発生させる命令 を実行 (MSS ビットに "1" を設定 ) すると , アービトレーションロスト検出 (AL ビット =1) による割込み (INT ビット =1) が発生しません。 ・AL ビット =1 検出による割込み (INT ビット =1) が発生しない条件 1 スタートコンディション未検出 (BB ビット =0) 状態で , SDA 端子または SCL 端子レベ ルが "L" のときに , スタートコンディションを発生させる命令を実行 (IBCR レジスタの MSS ビットに "1" を設定 ) した場合。 図 22.2-4 AL ビット =1 検出による割込みが発生しないタイミング図 SCL端子またはSDA端子が"L"レベル "L" SCL端子 "L" SDA端子 1 I2C動作許可状態(ENビット=1) マスタモード設定(MSSビット=1) アービトレーションロスト検出(ALビット=1) バスビジー(BBビット) 0 割込み(INTビット) 0 ・AL ビット =1 検出による割込み (INT ビット =1) が発生しない条件 2 ほかのマスタに I2C バスが占有されている状態で , I2C 動作許可 (EN ビット =1) してス タートコンディションを発生させる命令を実行 (IBCR レジスタの MSS ビットに "1" を 設定 ) した場合。 図 22.2-5 に示したとおり , I2C が動作禁止 (EN ビット =0) の状態で , I2C バス上のほか のマスタが通信を開始すると , スタートコンディション未検出 (BB ビット =0) で I2C バ スが占有されている状態になるためです。 554 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 22 章 I2C インタフェース 22.2 I C インタフェースのレジスタ MB90330A シリーズ 2 図 22.2-5 AL ビット =1 検出による割込みが発生しないタイミング図 9クロック目でINTビット 割込みが発生しない Start Condition Stop Condition SCL端子 SDA端子 SLAVE ADDRESS ACK DATA ACK ENビット MSSビット ALビット BBビット 0 INTビット 0 上記のような現象が発生する可能性がある場合には , 以下の手順でソフト処理をお願いし ます。 1) スタートコンディションを発生させる命令を実行 (MSS ビットに "1" を設定 )。 2) タイマ機能などを用いて , ICCR レジスタに設定されている I2C 転送周波数での 3 ビットデータ送信時間を待つ。* 例 : I2C 転送周波数 100 kHz の場合 3 ビットデータ送信時間 {1/(100 × 103)} × 3=30 μs 3) IBSR レジスタの AL ビットと BB ビットを確認し , AL ビット =1, BB ビット =0 の場合には , ICCR レジスタの EN ビットを "0" にして I2C を初期化する。AL ビットと BB ビットがその他の状態のときは通常処理を行う。 以下にフロー例を示します。 マスタモード設定 バス制御レジスタ(IBCR)のMSSビットに"1"を設定 クロック制御レジスタ(ICCR)に設定されている I2C転送周波数での3ビットデータ送信時間待ち* BBビット=0でかつALビット=1 NO YES ENビットを0にしてI2Cの初期化 通常処理へ * : アービトレーションロストが検出された場合 , MSS ビット =1 設定後 I2C 転送周波数 での 3 ビットデータ送信時間後には確実に AL ビット =1 となります。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 555 第 22 章 I2C インタフェース 22.2 I2C インタフェースのレジスタ MB90330A シリーズ ・AL ビット =1 検出による割込み (INT ビット =1) が発生する例 バスビジー検出 (BB ビット =1) されている状態で , スタートコンディションを発生させる 命令を実行 (MSS ビットに "1" を設定 ) しアービトレーションロストした場合には , AL ビット =1 検出時に INT ビット割込みが発生します。 図 22.2-6 AL ビット =1 時に割込みが発生するタイミング図 9クロック目で割込み Start Condition SCL端子 SDA端子 SLAVE ADDRESS ACK DATA ENビット MSSビット ソフトでのALビットクリア ALビット BBビット ソフトでのINTビット クリアでSCL開放 INTビット ■ I2C バスコントロールレジスタ 0 ∼ 2(IBCR0 ∼ IBCR2) 使用上の注意 SCC, MSS, INT ビットの競合について , 以下の注意が必要です。 SCC, MSS, INT ビットの同時書込みにより , 次バイト転送 , スタートコンディション発 生およびストップコンディション発生の競合が起こります。この場合の優先度は , 次の ようになります。 ● 次のバイト転送とストップコンディション発生 INT ビットに "0", MSS ビットに "0" を書き込むと , MSS ビットの "0" 書込みが優先さ れ , ストップコンディションが発生します。 ● 次のバイト転送とスタートコンディション発生 INT ビットに "0", SCC ビットに "1" を書き込むと , SCC ビットの "1" 書込みが優先され , スタートコンディションが発生します。 ● スタートコンディション発生とストップコンディション発生 SCC ビットに "1", MSS ビットに "0" の同時書込みは , 禁止です。 556 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 22 章 I2C インタフェース 22.2 I C インタフェースのレジスタ MB90330A シリーズ 2 I2C バスクロックコントロールレジスタ 0 ∼ 2 (ICCR0 ∼ ICCR2) 22.2.3 I2C バスクロックコントロールレジスタ 0 ∼ 2(ICCR0 ∼ ICCR2) の構成および機能 について説明します。 ■ I2C バスクロックコントロールレジスタ 0 ∼ 2(ICCR0 ∼ ICCR2) 図 22.2-7 に , I2C バスクロックコントロールレジスタ 0 ∼ 2(ICCR0 ∼ ICCR2) のビット 構成を示します。 図 22.2-7 I2C バスクロックコントロールレジスタ 0 ∼ 2(ICCR0 ∼ ICCR2) のビット構成 bit ch.0 : 000072H ch.1 : 000078H ch.2 : 00007EH 7 6 5 4 3 2 1 0 ICCR0 ~ ICCR2 - - EN CS4 CS3 CS2 CS1 CS0 I2C クロックコントロール レジスタ 初期値 XX0XXXXXB - - R/W R/W R/W R/W R/W R/W 読出し / 書込み 以下に , I2C バスクロックコントロールレジスタ 0 ∼ 2(ICCR0 ∼ ICCR2) の機能を説明 します。 [bit7, bit6] 未定義ビット 読出し値は不定です。書込みは動作に影響を与えません。 [bit5] EN :ENable I2C インタフェースの動作許可ビットです。 0 動作禁止 1 動作許可 • "0" のとき , IBSR および IBCR(BER, BEIE ビットを除く ) の各ビットがクリアされま す。 • BER ビットがセットされると , クリアされます。 <注意事項> • I2C インタフェースの動作が禁止されると , 送受信は直ちに停止されます。 • MSS ビットに "0" を書き込んでストップコンディションを発生させた後に I2C インタ フェースの動作を禁止する場合は , ストップコンディションの発生を確認 (IBSR の BB=0) した後 , 動作を禁止 (ICCR の EN=0) してください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 557 第 22 章 I2C インタフェース 22.2 I2C インタフェースのレジスタ MB90330A シリーズ [bit4 ∼ bit0] CS4 ∼ CS0 :Clock Period Select4 ∼ Clock Period Select0 シリアルクロックの周波数を設定するビットです。シフトクロックの周波数fsckは, 次式のように設定されます。 fsck = φ φ:マシンクロック m ×n + 4 <注意事項> +4のサイクルは, SCL端子の出力レベルが変化したことをチェックするための最小のオー バヘッドです。SCL 端子の立上りのディレイが大きい場合や , スレーブデバイスでクロッ クを引き延ばしている場合には , この値より大きくなります。なお , シリアルクロックの 周波数は 100 kHz 以上に設定しないでください。 m, n は , CS4 ∼ CS0 に対して表 22.2-1 に示すようになります。 表 22.2-1 シリアルクロック周波数設定 558 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 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 22 章 I2C インタフェース 22.2 I C インタフェースのレジスタ MB90330A シリーズ 2 I2C バスアドレスレジスタ 0 ∼ 2(IADR0 ∼ IADR2) 22.2.4 I2C バスアドレスレジスタ 0 ∼ 2(IADR0 ∼ IADR2) の構成および機能について説明 します。 ■ I2C バスアドレスレジスタ 0 ∼ 2 (IADR0 ∼ IADR2) 図 22.2-8に, I2Cバスアドレスレジスタ0∼2(IADR0∼IADR2)のビット構成を示します。 図 22.2-8 I2C バスアドレスレジスタ 0 ∼ 2(IADR0 ∼ IADR2) のビット構成 bit ch.0 : 000073H ch.1 : 000079H ch.2 : 00007FH 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 ~ IADR2 I2C バスアドレスレジスタ 初期値 XXXXXXXXB 読出し / 書込み [bit14 ∼ bit8] A6 ∼ A0 スレーブアドレスビットです。スレーブアドレスを指定するレジスタです。スレー ブ時 , アドレスデータ受信後に IDAR レジスタとの比較が行われ , 一致している場 合はマスタに対してアクノリッジを送信します。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 559 第 22 章 I2C インタフェース 22.2 I2C インタフェースのレジスタ MB90330A シリーズ I2C バスデータレジスタ 0 ∼ 2(IDAR0 ∼ IDAR2) 22.2.5 I2C バスデータレジスタ 0 ∼ 2(IDAR0 ∼ IDAR2) の構成および機能について説明し ます。 ■ I2C バスデータレジスタ 0 ∼ 2(IDAR0 ∼ IDAR2) 図 22.2-9 に , I2C バスデータレジスタ 0 ∼ 2(IDAR0 ∼ IDAR2) のビット構成を示します。 図 22.2-9 I2C バスデータレジスタ 0 ∼ 2(IDAR0 ∼ IDAR2) のビット構成 bit ch.0 : 000074H ch.1 : 00007AH ch.2 : 000080H 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 ~ IDAR2 I2C バスデータレジスタ 初期値 XXXXXXXXB 読出し / 書込み [bit7 ∼ bit0] D7 ∼ D0 データビットです。 シリアル転送に使用されるデータレジスタであり , MSB から転送されます。データ 受信時 (TRX=0) は , データ出力値は "1" になります。 IDAR レジスタの書込み側はダブルバッファになっており , バスが使用中 (BB=1) で ある場合 , 書込みデータは各バイト転送時にシリアル転送用のレジスタにロードさ れます。読出し時は , シリアル転送用のレジスタを直接読み出すため , 受信データ は INT ビットがセットされている場合のみ有効です。 560 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 22.3 第 22 章 I2C インタフェース 22.3 I2C インタフェースの動作 I2C インタフェースの動作 I2C バスは , 1 本のシリアルデータライン (SDA) と 1 本のシリアルクロックライン (SCL) の 2 本の双方向バスラインによって通信が行われます。I2C インタフェースは , それに対して 2 本のオープンドレイン入出力端子 (SDA, SCL) を有し , ワイヤード論 理を可能にします。 ■ スタートコンディション バスが開放されている状態 (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にセットされ, IDAR の内容を MSB から出力します。アドレスデータ送信後 , スレーブからアクノリッジを 受信すると , 送信データの bit0( 送信後の IDAR の bit0) を反転して , TRX ビットへ格納 します。 スレーブモードでは , スタートコンディション発生後 , BB=1, TRX=0 にセットされ , マ スタからの送信データを IDAR へ受信します。アドレスデータ受信後 , IDAR と IADR との比較が行われ, 一致している場合, AAS=1にセットしてマスタに対してアクノリッ ジを送信します。その後 , 受信データの bit0( 受信後の IDAR の bit0) を TRX ビットへ 格納します。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 561 第 22 章 I2C インタフェース 22.3 I2C インタフェースの動作 MB90330A シリーズ ■ アービトレーション マスタ送信時に , ほかのマスタも同時にデータを送信している場合 , アービトレーショ ンが起こります。自分の送信データが "1", SDA ライン上のデータが "L" レベルの場合 , 自分はアービトレーションを失ったと見なし , AL=1 にセットします。また , 前述のよ うにバスが使用状態のときに , スタートコンディションを発生させようとした場合も AL=1 にセットされます。AL=1 にセットされると , MSS=0, TRX=0 となり , スレーブ受 信モードとなります。 ■ アクノリッジ アクノリッジは , 受信側が送信側に対して送信します。データ受信時は , ACK ビット によってアクノリッジの有無を選択できます。データ送信時は , 受信側からのアクノ リッジが LRB ビットに格納されます。 スレーブ送信側に , マスタ受信側からアクノリッジを受信しなかった場合 , TRX=0 と なりスレーブ受信モードになります。これによって , マスタはスレーブが SCL ライン を開放したときに , ストップコンディションを発生できます。 ■ バスエラー 以下の条件が成立した場合はバスエラーと判断され , I2C インタフェースは停止状態に なります。 • データ転送中 (ACK ビットを含む ) の I2C バス上の基本規定違反の検出 • マスタ時のストップコンディション検出 • バスアイドルにおける I2C バス上の基本規定違反の検出 ■ その他 ● アービトレーションロスト検出後の処理 アービトレーションロストした後 , 自分がアドレッシングされている場合と , アドレッ シングされていなかった場合をソフトウェアで判断しなければなりません。 アービトレーションロストするとハードウェア的にスレーブになりますが , 1 バイト転 送終了後 , CLK ライン , DATA ライン双方を "L" に引っ張ります。このため , アドレッ シングされていなければ , 即座に CLK ライン , DATA ラインを解放し , アドレッシン グされていた場合には , スレーブ送信 , またはスレーブ受信の準備をしてから , CLK ラ イン , DATA ラインを開放する必要があります ( すべてソフトウェアで処理する必要が あります ) 。 ● アービトレーションロスト検出時の割込み要因 アービトレーションロストを検出した場合 , 即時に割込み要因が立つのではなく , 1 バ イト転送終了した時点で割込み要因が立ちます。 アービトレーションロストを検出するとハードウェア的にスレーブになりますが , ス レーブになっても , 割込み要因を立てるために , トータル 9 クロック出力します。した がって , 即時に割込み要因が立たないため , アービトレーションロスト後に処理を行う ことはできません。 562 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 22 章 I2C インタフェース 22.3 I2C インタフェースの動作 ● 割込み条件 I2C バスには 1 つの割込みしかなく , 1 バイト転送終了した時点で , または割込み条件 に該当していた場合 , 割込み要因が立つ仕様になっています。 1 つの割込みで , 複数の割込み条件を判断しなければならないため , 割込みルーチン内 で , 各フラグをチェックしなければなりません。1 バイト転送終了時点での割込み条件 を下記に示します。 • バスマスタであった場合 • アドレスされたスレーブであった場合 • ゼネラルコールアドレスを受信した場合 • アービトレーションロストが生じた場合 ● 転送速度 I2C バスは , 最大でシリアルクロック周波数 100 kHz の転送までしか行えませんので , 注意してください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 563 第 22 章 I2C インタフェース 22.3 I2C インタフェースの動作 MB90330A シリーズ I2C インタフェースの転送フロー 22.3.1 図 22.3-1 に , マスタからスレーブへの 1 バイト転送フローを , 図 22.3-2 に , スレー ブからマスタへの 1 バイト転送フローを示します。 ■ I2C インタフェースの転送フロー 図 22.3-1 マスタからスレーブへの 1 バイト転送フロー マスタ スレーブ スタート IDAR:書込み MSS:1書込み スタートコンディション BB set, TRX set BB set, TRX set アドレスデータ転送 AAS set アクノリッジ LRB reset INT set,TRX set IDAR:書込み INT:0書込み 割 込 み INT set,TRX set ACK:1書込み INT:0書込み データ転送 アクノリッジ LRB reset INT set 割 込 み MSS:0書込み INT reset BB reset,TRX reset ストップコンディション INT set IDAR:読出し INT:0書込み BB reset,TRX reset AAS reset 終了 564 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 22 章 I2C インタフェース 22.3 I2C インタフェースの動作 MB90330A シリーズ 図 22.3-2 スレーブからマスタへの 1 バイト転送フロー マスタ スレーブ スタート IDAR:書込み MSS:1書込み スタートコンディション BB set,TRX set BB set,TRX set アドレスデータ転送 AAS reset アクノリッジ LRB reset INT set,TRX reset 割 込 み INT:0書込み INT set,TRX set IDAR:書込み INT:0書込み データ転送 ネガティブアクノリッジ INT set IDAR:読出し LRB set,TRX set INT set 割 込 み INT:0書込み MSS:0書込み INT reset BB reset,TRX reset ストップコンディション BB reset,TRX reset AAS reset 終了 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 565 第 22 章 I2C インタフェース 22.3 I2C インタフェースの動作 22.3.2 MB90330A シリーズ I2C インタフェースのモードフロー 図 22.3-3 に , I2C インタフェースのモードフローを示します。 ■ I2C インタフェースのモードフロー 図 22.3-3 I2C モードフロー スレーブ受信モード SSC NO YES TRX,AAS,LRB:reset FBT:set YES SSC&BB=1 RSC:set NO BB:set 8ビット受信 アドレス比較 RSC,FBT:reset 一致 AAS:set 確認応答出力 INT:set SCLライン "L"へ保持 NO TRX=1 スレーブ受信モード YES YES SSC AAS,LRB,BB,RSC :reset スレーブ送信モード NO INT:0 write FBT:reset SCLライン解放 送信/受信 YES 確認応答あり NO TRX:reset 566 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 22 章 I2C インタフェース 22.3 I2C インタフェースの動作 MB90330A シリーズ I2C インタフェースの動作フロー 22.3.3 図 22.3-4 に I2C インタフェースのマスタ送受信プログラムフロー ( 割込み使用 ) を , また , 図 22.3-5 に I2C インタフェースのスレーブプログラムフロー( 割込み使用 ) を 示します。 ■ I2C インタフェースの動作フロー 図 22.3-4 I2C マスタ送受信プログラムフローチャート ( 割込み使用 ) メインルーチン 割込みルーチン 開始 開始 スレーブアドレス を設定 バスエラー は生じたか? I2Cの動作許可 マスタ受信動作? ① ② STOPコンディション発生 バスエラー割込み 要因クリア YES ② RETI I2Cの動作許可 NO ALは 発生したか? YES YES マスタ受信 1回のデータ書込みで 送信するバイト数のセット マスタか? スレーブアドレスセット 送信 ( データ方向ビット=0) スレーブアドレスセット 受信 (データ方向ビット=1) ACKは 返ってきたか? RETI アクノリッジ発生許可 NO NO マスタ送信 1回のデータ書込みで 送信するバイト数のセット I2Cの初期設定 ③ ③ NO ③ YES スレーブプログラム の割込みルーチン へ NO ① YES YES YES BBビット=1? NO BBビット=1? データ方向ビット TRXbit=1? NO スレーブアドレス送信 スタートコンディション発生 スレーブアドレス送信 スタートコンディション発生 一定時間 WAIT 一定時間 WAIT 残り受信 バイト数=0? NO 残り受信 バイト数=1? YES ① NO BBビット=0で かつAlビット=1? NO LOOP YES I2C動作禁止 BBビット=0で かつAlビット=1? NO LOOP YES I2C動作禁止 ① NO YES 残り送信 バイト数=0? YES 送信バイト数デクリメント YES NO アクノリッジ発生許可 アクノリッジ発生許可 送信データのセット 第1バイト の受信か? 終了割込み要因クリア RETI YES NO 受信バイト数デクリメント 受信データをRAMへ格納 終了割込み要因クリア RETI CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 567 第 22 章 I2C インタフェース 22.3 I2C インタフェースの動作 MB90330A シリーズ 図 22.3-5 I2C スレーブプログラムフローチャート ( 割込み使用 ) メインルーチン 開始 スレーブアドレス を設定 I2Cの動作許可 スレーブモードに設定 LOOP 割込みルーチン 開始 バスエラー は生じたか? YES ② 転送終了割込み 要因クリア バスエラー割込み 要因クリア RETI I2Cの動作許可 ② NO アドレッシング されているか? ① I2Cの初期設定 NO ① RETI YES データ方向bit TRXビット=1? 受信データは アドレスか? NO NO YES ACKは 返ってきたか? YES 送信データセット 転送終了割込み 要因クリア YES NO ① 受信データを RAMへ格納 転送終了割込み 要因クリア RETI RETI 568 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 23 章 ROM ミラー機能選択 モジュール この章では , ROM ミラー機能選択モジュールの機 能について説明します。 23.1 ROM ミラー機能選択モジュールの概要 23.2 ROM ミラー機能選択レジスタ (ROMM) CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 569 第 23 章 ROM ミラー機能選択モジュール 23.1 ROM ミラー機能選択モジュールの概要 23.1 MB90330A シリーズ ROM ミラー機能選択モジュールの概要 ROM ミラー機能選択モジュールは , FF バンクに配置されている ROM 内のデータを , 00 バンクへのアクセスで読み出せるように設定します。 ■ ROM ミラー機能選択モジュールのブロックダイヤグラム 図 23.1-1 に , ROM ミラー機能選択モジュールのブロックダイヤグラムを示します。 図 23.1-1 ROM ミラー機能選択モジュールのブロックダイヤグラム F2MC-16LXバス ROMミラー機能選択 アドレス領域 FFバンク 00バンク ROM ■ ROM ミラー機能選択モジュールのレジスタ 図 23.1-2 に , ROM ミラー機能選択モジュールの構成を示します。 図 23.1-2 ROM ミラー機能選択モジュールの構成 bit ROMM アドレス : 00006FH 570 15 - 14 - 13 - 12 - 11 - 10 - FUJITSU MICROELECTRONICS LIMITED 9 予約 R/W 8 MI 初期値 ------11B W CM44-10129-6 第 23 章 ROM ミラー機能選択モジュール 23.2 ROM ミラー機能選択レジスタ (ROMM) MB90330A シリーズ 23.2 ROM ミラー機能選択レジスタ (ROMM) ROM ミラー機能選択レジスタ (ROMM) の構成および機能について説明します。 ■ ROMM(ROM ミラー機能選択レジスタ ) 下図に , ROM ミラー機能選択レジスタ (ROMM) のビット構成を示します。 図 23.2-1 ROM ミラー機能選択レジスタ (ROMM) のビット構成 bit 15 - ROMM アドレス : 00006FH 14 - 13 - 12 - 11 - 10 - 9 予約 R/W 8 MI 初期値 ------11B W [bit9] 予約ビット 予約ビットです。必ず "1" を書き込んでください。 [bit8] MI • "1" の書込み時には , FF バンクの ROM のデータが 00 バンクでも読み出せるように なります。 • "0" の書込み時には 00 バンクでこの機能は働きません。 • 書込みのみ可能です。 <注意事項> • ROMM レジスタは , アドレス 008000H ∼ 00FFFFH 番地の動作中にアクセスしないで ください。 • ROM ミラー機能を起動している場合 , 00 バンクの 008000H ∼ 00FFFFH 番地へ FF8000H ∼ FFFFFFH 番地がミラーされますので , FF7FFFH 番地以下の ROM アドレスでは ROM のミラー機能を設定しても 00 バンクにミラーされません。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 571 第 23 章 ROM ミラー機能選択モジュール 23.2 ROM ミラー機能選択レジスタ (ROMM) 572 MB90330A シリーズ FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 24 章 アドレス一致検出機能 この章では , アドレス一致検出機能の機能と動作に ついて説明します。 24.1 アドレス一致検出機能の概要 24.2 アドレス一致検出機能のブロックダイヤグラム 24.3 アドレス一致検出機能のレジスタ構成 24.4 アドレス一致検出機能の動作説明 24.5 アドレス一致検出機能のプログラム例 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 573 第 24 章 アドレス一致検出機能 24.1 アドレス一致検出機能の概要 24.1 MB90330A シリーズ アドレス一致検出機能の概要 アドレス一致検出機能は , プログラムが現在処理している命令の次に処理される命 令のアドレスが , プログラムアドレス検出レジスタに設定したアドレスと一致した 場合に , プログラムで次に処理される命令を強制的に INT9 命令に置き換え , 割込み 処理プログラムへ分岐する機能です。INT9 割込みを利用できるので , 本機能はプロ グラムのパッチ処理による修正に利用できます。 ■ アドレス一致検出機能の概要 • プログラムが現在処理している命令の次に処理される命令のアドレスは , 内部デー タバスを通じて常にアドレスラッチに保持されます。アドレス一致検出機能の働き により , アドレスラッチに保持されたアドレスの値と検出アドレス設定レジスタに 設定したアドレスの値は常に比較されます。比較されたアドレスの値が一致した場 合は , CPU が次に実行する命令が強制的に INT9 命令に置き換えられ , 割込み処理プ ログラムが実行されます。 • プログラムアドレス検出レジスタ (PADR0, PADR1) は 2 つあり , 各レジスタに割込 み許可ビットが用意されています。アドレスラッチに保持されたアドレスと検出ア ドレス設定レジスタに設定したアドレスの一致による割込みの発生を , レジスタご とに許可または禁止できます。 574 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 24 章 アドレス一致検出機能 24.2 アドレス一致検出機能のブロックダイヤグラム MB90330A シリーズ アドレス一致検出機能のブロックダイヤグラム 24.2 アドレス一致検出モジュールは , 以下のブロックで構成されています。 • アドレスラッチ • プログラムアドレス検出制御ステータスレジスタ (PACSR) • プログラムアドレス検出レジスタ (RADR0, RADR1) ■ アドレス一致検出機能のブロックダイヤグラム アドレス一致検出機能のブロックダイヤグラムを図 24.2-1 に示します。 図 24.2-1 アドレス一致検出機能のブロックダイヤグラム アドレスラッチ 比較器 内部データバス PADR0(24ビット) プログラムアドレス検出レジスタ0 INT9命令 (INT9割込み発生) PADR1(24ビット) プログラムアドレス検出レジスタ1 PACSR 予約 予約 予約 予約 AD1E 予約 AD0E 予約 プログラムアドレス検出制御ステータスレジスタ(PACSR) 予約:必ず"0"を設定してください。 ● アドレスラッチ 内部データバスへ出力されたアドレス値を保持します。 ● プログラムアドレス検出制御ステータスレジスタ (PACSR) アドレスが一致した場合の割込み出力の許可または禁止を設定します。 ● プログラムアドレス検出レジスタ (PADR0, PADR1) アドレスラッチの値と比較するためのアドレスを設定します。 <注意事項> プログラムアドレス検出レジスタは , 1FF0H ∼ 1FF5H にレジスタをもっているため , RAM 領域と重なりますので , 本機能をご使用の場合は , RAM アクセスを行わないようにしてく ださい。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 575 第 24 章 アドレス一致検出機能 24.3 アドレス一致検出機能のレジスタ構成 24.3 MB90330A シリーズ アドレス一致検出機能のレジスタ構成 アドレス一致検出機能で使用するレジスタの一覧と詳細を記述します。 ■ アドレス一致検出機能のレジスタと初期値の一覧 図 24.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 X 576 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 : 不定 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 24 章 アドレス一致検出機能 24.3 アドレス一致検出機能のレジスタ構成 MB90330A シリーズ プログラムアドレス検出制御ステータスレジスタ (PACSR) 24.3.1 アドレス一致による割込み出力の許可または禁止を設定します。アドレス一致によ る割込み出力を許可した場合にアドレス一致が検出されると , INT9 の割込みが出力 されます。 ■ プログラムアドレス検出制御ステータスレジスタ (PACSR) 図 24.3-2 プログラムアドレス検出制御ステータスレジスタ (PACSR) アドレス bit 7 009E H 6 5 4 3 2 1 0 初期値 予約 予約 予約 予約 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-10129-6 予約ビット 予約 0 必ず"0"を設定してください FUJITSU MICROELECTRONICS LIMITED 577 第 24 章 アドレス一致検出機能 24.3 アドレス一致検出機能のレジスタ構成 MB90330A シリーズ 表 24.3-1 プログラムアドレス検出制御ステータスレジスタ (PACSR) の機能 ビット名 bit7 ∼ bit4 578 機能 予約ビット 必ず "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-10129-6 第 24 章 アドレス一致検出機能 24.3 アドレス一致検出機能のレジスタ構成 MB90330A シリーズ 24.3.2 プログラムアドレス検出レジスタ (PADR0, PADR1) プログラムアドレス検出レジスタには , 検出するアドレス値を設定します。プログ ラムで実行されている命令のアドレスがプログラムアドレス検出レジスタに設定さ れたアドレスと一致すると , 次に実行される命令は強制的に INT9 命令に置き換えら れ , 割込み処理プログラムが実行されます。 ■ プログラムアドレス検出レジスタ (PADR0H, PADR0M, PADR0L, PADR1H, PADR1M, PADR1L) 図 24.3-3 プログラムアドレス検出レジスタ (PADR0H, PADR0M, PADR0L, PADR1H, PADR1M, PADR1L) PADR0, PADR1 : 上位 bit アドレス : 1FF2H 1FF5H 7 6 5 4 3 2 1 0 初期値 D23 D22 D21 D20 D19 D18 D17 D16 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W 15 14 13 12 11 10 9 8 初期値 XXXXXXXXB PADR0, PADR1 : 中位 bit アドレス : 1FF1H 1FF4H D15 D14 D13 D12 D11 D10 D9 D8 R/W R/W R/W R/W R/W R/W R/W R/W 7 6 5 4 3 2 1 0 初期値 XXXXXXXXB PADR0, PADR1 : 下位 bit アドレス : 1FF0H 1FF3H D7 D6 D5 D4 D3 D2 D1 D0 R/W R/W R/W R/W R/W R/W R/W R/W R/W : リード・ライト可能 X : 不定 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 579 第 24 章 アドレス一致検出機能 24.3 アドレス一致検出機能のレジスタ構成 MB90330A シリーズ ■ プログラムアドレス検出レジスタ (PADR0H, PADR0M, PADR0L, PADR1H, PADR1M, PADR1L) プ ロ グ ラ ム ア ド レ ス 検 出 レ ジ ス タ は 2 本 (PADR0H, PADR0M, PADR0L, PADR1H, PADR1M, PADR1L) 用意されており , それぞれ上位 , 中位 , 下位の 3 バイト , 合計 24 ビットで構成されています。 表 24.3-2 プログラムアドレス検出レジスタのアドレス設定 レジスタ名 割込み出力許可 プログラムアドレス検 出レジスタ 0 PACSR:ADE0 (PADR0H, PADR0M, PADR0L) プログラムアドレス検 出レジスタ 1 PACSR:ADE1 (PADR1H, PADR1M, PADR1L) アドレス設定 上位 プログラムアドレス 0 の上位 8 ビットを設定 ( バンク ) 中位 プログラムアドレス 0 の中位 8 ビットを設定 下位 プログラムアドレス 0 の下位 8 ビットを設定 上位 プログラムアドレス 1 の上位 8 ビットを設定 ( バンク ) 中位 プログラムアドレス 1 の中位 8 ビットを設定 下位 プログラムアドレス 1 の下位 8 ビットを設定 プログラムアドレス検出レジスタ (PADR0H, PADR0M, PADR0L, PADR1H, PADR1M, PADR1L) には , INT9 命令と置き換える命令の先頭アドレス (1 バイト目 ) を設定する必 要があります。 図 24.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 <注意事項> プログラムアドレス検出レジスタ (PADR0H, PADR0M, PADR0L, PADR1H, PADR1M, PADR1L) に , 1 バイト目以外のアドレスを設定した場合は , 命令コードが INT9 命令に置 き換えら れず , 割込み処理プログラムは実行されません。また , 2 バイト目以降に設定し た場合は , 命令コードで指定した番地が "01H" (INT9 命令コード ) に置き換わって しまい , 誤作動を起こす原因になる場合があるので注意してください。 プログラムアドレス検出レジスタ (PADR0H, PADR0M, PADR0L, PADR1H, PADR1M, PADR1L) は , 対 応するプログラムアドレス一致制御レジスタのアドレス一致検出動作を 禁止して から (PACSR レジスタの AD0E:bit1=0 または AD1E:bit1=0) 設定して ください。 アドレス一致検出動作を禁止せずにプログラムアドレス検出レジスタ を変更した場合 , アドレスの書込み中にアドレスが一致すると直ちにアドレス一 致検出機能が働いてしま い , 誤動作を起こす原因になります。 アドレス一致検出機能は , 内部 ROM のアドレスに対してのみ使用できます。外 部メモリ 領域のアドレスを設定してもアドレス一致検出機能は働かず , INT9 命令は実行されませ ん。 580 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 24 章 アドレス一致検出機能 24.4 アドレス一致検出機能の動作説明 MB90330A シリーズ 24.4 アドレス一致検出機能の動作説明 アドレス一致検出機能は , プログラムで実行される命令のアドレスが , プログラムア ドレス検出レジスタ (PADR0H, PADR0M, PADR0L, PADR1H, PADR1M, PADR1L) で設定したアドレスと一致した場合に , CPU で実行される先頭の命令コードを INT9 (01H) 命令に置き換え , 割込み処理プログラムへ分岐します。 ■ アドレス一致検出機能の動作 検出アドレスの設定とアドレス一致が検出された場合の動作を , 図 24.4-1 に示します。 図 24.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 (PADR0H, PADR0M, PADR0L) のアドレス一致検出動作を禁止してください (PACSR レ ジ ス タ の AD0E:bit1=0) 。 プログラムアドレス検出レジスタ 0 (PADR0H, PADR0M, PADR0L) に , 検出するアドレ スを設定します。プログラムアドレス検出レジスタ 0 (PADR0H, PADR0M, PADR0L) の 上位に "FFH", 中位に "00H", 下位に "1FH" を設定してください。 検出アドレスを設定するプログラムアドレス検出レジスタ 0 (PADR0H, PADR0M, PADR0L) のアドレス一致検出動作を許可してください (PACSR レ ジ ス タ の AD0E:bit1=1) 。 ■ プログラムの実行 プログラムで実行される命令のアドレスが , 設定した検出アドレスと一致すると , 一致 したアドレスの先頭の命令コードが INT9 命令コード ("01H") に置き換わります。 INT9 命令が実行されます。INT9 割込みが発生し , 割込み処理プログラムが実行されま す。 表 25.5-2 に , ハードウェアシーケンスフラグ機能の一覧を示します。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 581 第 24 章 アドレス一致検出機能 24.4 アドレス一致検出機能の動作説明 24.4.1 MB90330A シリーズ アドレス一致検出機能の使用例 アドレス一致検出機能を利用した , プログラム修正のパッチ処理の例を示します。 ■ システム構成と E2PROM のメモリ構成 ● システム構成 アドレス一致検出機能を利用したシステム構成例を図 24.4-2 に示します。 図 24.4-2 アドレス一致検出機能を利用したシステム構成例 MCU SIN0 シリアルE2PROM インタフェース E2PROM 修正プログラムを格納 MB90330A シリーズ ■ E2PROM のメモリマップ 修正プログラムを E2PROM に格納する場合の修正プログラムとデータの配置方法を図 24.4-3 に示します。 図 24.4-3 E2PROM 修正プログラムとデータの配置方法 E2PROM アドレス PADR0H,PADR0M,PADR0L PADR1H,PADR1M,PADR1L 582 0000H 修正プログラム バイト数 0001H 検出 アドレス0(下位) 0002H 検出 アドレス0(中位) 0003H 検出 アドレス0(上位) 0004H 修正プログラム バイト数 0005H 検出 アドレス1(下位) 0006H 検出 アドレス1(中位) 0007H 検出 アドレス1(上位) 0010H 修正プログラム0 (本体) 0020H 修正プログラム1 (本体) 修正プログラム0用 修正プログラム1用 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 24 章 アドレス一致検出機能 24.4 アドレス一致検出機能の動作説明 ● 修正プログラムバイト数 修正プログラム ( 本体 ) の総バイト数を格納します。バイト数が "00H" の場合は , " 修 正プログラムは存在しない " ことを示します。 ● 検出アドレス (24 ビット ) プログラムミスにより INT9 命令に置き換える箇所のアドレスを格納します。このアド レ ス は プ ロ グ ラ ム ア ド レ ス 検 出 レ ジ ス タ (PADR0H, PADR0M, PADR0L, PADR1H, PADR1M, PADR1L) に設定するアドレスです。 ● 修正プログラム ( 本体 ) プログラムのアドレスと検出アドレスが一致した場合の , INT9 割込みによって実行す るプログラムを格納します。修正プログラム 0 は , 任意に決めたアドレスから配置しま す。修正プログラム 1 は , <修正プログラム 0 の先頭アドレス + 修正プログラム 0 の 総バイト数>のアドレスから配置します。 ■ 設定と動作状態 ● 初期設定 E2PROM のデータはすべて "00H" にクリアします。 ● プログラムミスが発生した場合 コネクタ接続 (UART) を使用して , 外部から MCU (MB90330A シリーズ ) へ , E2PROM 修正プログラムとデータの配置方法に従って , 修正プログラムの情報を送ります。 MCU (MB90330A シリーズ ) 側では , 外部から受け取った修正プログラムの情報を E2PROM へ格納します。 ● リセットシーケンス リセット後 , MCU (MB90330A シリーズ ) は , E2PROM 修正プログラムのバイト数を読 み出して , 修正プログラムの有無を確認します。リセット後 , MCU (MB90330A シリー ズ ) は , E2PROM 修正プログラムのバイト数を読み出して , 修正プログラムの有無を確 認します。 修正プログラムのバイト数が "00H" でない場合は , 検出アドレス 0, 1 の上位 , 中位 , 下 位を読み出してプログラムアドレス検出レジスタ 0, 1 (PADR0H, PADR0M, PADR0L, PADR1H, PADR1M, PADR1L) へ読み出したデータを設定します。また , 修正プログラ ムバイト数に従って , 修正プログラム ( 本体 ) を読み出して , MCU (MB90330A シリーズ ) の RAM へ書き込みます。 修正プログラム ( 本体 ) は , アドレス一致検出機能によって INT9 割込み処理で実行す るアドレスに配置します。 アドレス一致検出動作を許可します (PACSR レジスタの ADE0:bit1=1, AD1E:bit3=1) 。 ● INT9 割込み処理 INT9 命令によって割込み処理が実行されます。MB90330A シリーズには , アドレス一 致検出による割込み要求フラグがありません。したがって , プログラムカウンタのス タック情報が破棄されると検出アドレスを確認できません。検出アドレスを確認する 場合は , 割込み処理ルーチンでスタックされているプログラムカウンタの値を確認し てください。 修正プログラムの実行後に通常のプログラムに分岐します。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 583 第 24 章 アドレス一致検出機能 24.4 アドレス一致検出機能の動作説明 MB90330A シリーズ ■ 修正プログラムを E2PROM に格納する場合のアドレス一致検出機能の動作 正プログラムを E2PROM に格納する場合のアドレス一致検出機能の動作を , 図 24.4-4 に示します。 図 24.4-4 修正プログラムを E2PROM に格納する場合のアドレス一致検出機能の動作 000000H ③ 修正プログラム RAM プログラムアドレス検出レジスタ E2PROM ① 検出アドレス設定 (リセットシーケンス) ・修正プログラムバイト数 ・アドレス検出用アドレス シリアルE2PROM ・修正プログラム インタフェース ROM ② ④ プログラムミス FFFFFFH ①リセットシーケンスの検出アドレス設定と通常プログラムの実行 ②アドレス一致検出によるINT9割込み処理でRAMに展開した修正プログラムへ分岐 ③INT9処理の分岐による修正プログラムの実行 ④修正プログラムから分岐した元の通常プログラムの実行 584 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 24 章 アドレス一致検出機能 24.4 アドレス一致検出機能の動作説明 MB90330A シリーズ ■ プログラム修正のパッチ処理フロー アドレス一致検出機能を利用したプログラム修正のパッチ処理のフローを図 24.4-5 に 示します。 図 24.4-5 プログラム修正のパッチ処理フロー E2PROM MB90330Aシリーズ 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 E2PROM:0000H=0 修正プログラムの実行 000400H~000480H NO 修正プログラム終了 JMP FF8050H 検出アドレスを読み出す E2PROM:0001H~0003H ↓ MOV MCU:PADR0へ設定 修正プログラムを読み出す E2PROM:0010H~008FH ↓ MCU:000400H~00047FH アドレス一致検出を許可 (PACSR:AD0E=1) 通常プログラム実行 NO CM44-10129-6 プログラムアドレス PC=PADR0 YES INT9 FUJITSU MICROELECTRONICS LIMITED 585 第 24 章 アドレス一致検出機能 24.5 アドレス一致検出機能のプログラム例 24.5 MB90330A シリーズ アドレス一致検出機能のプログラム例 アドレス一致検出機能のプログラム例を示します。 ■ アドレス一致検出機能のプログラム例 ● 処理仕様 プログラムで実行される命令のアドレスと , プログラムアドレス検出レジスタ (PADR0H, PADR0M, PADR0L) に設定したアドレスが一致した場合に , 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: ・ ユーザ処理 586 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 24 章 アドレス一致検出機能 24.5 アドレス一致検出機能のプログラム例 ・ ; 割込み処理からの復帰 RETI CODE ENDS ;--------- ベクタ設定 -----------------------------------------------VECT CSEG ABS=0FFH ORG 00FFDCH ; リセットベクタ設定 DSL START DB ; シングルチップモードに設定 00H VECT ENDS END START CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 587 第 24 章 アドレス一致検出機能 24.5 アドレス一致検出機能のプログラム例 588 MB90330A シリーズ FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 25 章 フラッシュメモリ この章では , 3M/4M ビットフラッシュメモリの機 能や動作について説明します。 フラッシュメモリへのデータの書込み / 消去の方法 には , 下記の 3 とおりの方法があります。 • プログラム実行による書込み / 消去 • シリアルライタによる書込み • フラッシュメモリライタ ここでは , 「プログラム実行による書込み / 消去」 について説明します。 25.1 フラッシュメモリの概要 25.2 フラッシュメモリのセクタ構成 25.3 フラッシュメモリコントロールステータスレジスタ (FMCS) 25.4 フラッシュメモリの自動アルゴリズム起動方法 25.5 自動アルゴリズム実行状態の確認 25.6 フラッシュメモリの書込み / 消去 管理番号 : CM44-00105-1 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 589 第 25 章 フラッシュメモリ 25.1 フラッシュメモリの概要 25.1 MB90330A シリーズ フラッシュメモリの概要 フラッシュメモリは , CPU メモリマップ上の F9 ∼ FF バンクに配置されています。 フラッシュメモリインタフェース回路の機能によって , マスク ROM と同様に CPU からの読出しアクセスおよびプログラムアクセスが可能です。フラッシュメモリへ の書込み / 消去は , フラッシュメモリインタフェース回路を介して , CPU からの命令 動作でできます。このため , 内蔵 CPU の制御による実装状態での書き換えが可能と なり , プログラム , およびデータの改善が効率よくできます。 ■ フラッシュメモリの特長 フラッシュメモリは , 以下の特長をもっています。 • 自動プログラムアルゴリズム (Embedded Alogrithm: MBM29LV400TC と同様 ) • 消去一時停止 / 消去再開機能の搭載 • データポーリング , トグルビットによる書込み / 消去の完了検出 • CPU 割込みによる書込み / 消去の完了検出 • セクタごとの消去が可能 ( セクタの組合せ自由 ) • 書込み / 消去回数 ( 最小 ) 10000 回 • セクタプロテクト機能 ( 推奨パラレルライタにて設定可能 ) ■ フラッシュメモリの容量と品種 フラッシュメモリは品種により , 3M ビットフラッシュメモリ , 4M ビットフラッシュ メモリのどちらかが搭載されています。 ● 3M ビットフラッシュメモリ • 搭載品種:MB90F334A • 容量:384 K バイト / 192 K ワード • セクタ構成:64 K × 5 + 32 K + 8 K × 2 + 16 K ● 4M ビットフラッシュメモリ • 搭載品種:MB90F335A • 容量:512 K バイト / 256 K ワード • セクタ構成:64 K × 6 + 32 K × 2 + 8 K × 4 + 16 K × 2 ■ フラッシュメモリの書込み / 消去の方法 フラッシュメモリは , 書込みと読出しを同時に行うことはできません。つまり , フラッ シュメモリにデータ書込み / 消去の動作をさせる際には , フラッシュメモリ上にあるプ ログラムを RAM に一度コピーし , RAM 実行することによって , フラッシュメモリか らプログラムアクセスをせずに書込み動作だけを行うことが可能となります。 590 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 25 章 フラッシュメモリ 25.2 フラッシュメモリのセクタ構成 MB90330A シリーズ 25.2 フラッシュメモリのセクタ構成 フラッシュメモリのセクタ構成を示します。 ■ セクタ構成 図 25.2-1 に , 3M ビットフラッシュメモリのセクタ構成を , 図 25.2-2 に 4M ビットフラッ シュメモリのセクタ構成を示します。図中のアドレスには , 各セクタの上位アドレスと 下位アドレスを示します。 図 25.2-1 3M ビットフラッシュメモリのセクタ構成 フラッシュメモリ SA8 (16Kバイト) CPUアドレス *ライタアドレス FFFFFFH 7FFFFH FFC000H FFBFFFH 7C000H 7BFFFH FFA000H FF9FFFH 7A000H 79FFFH FF8000H FF7FFFH 78000H 77FFFH FF0000H FEFFFFH 70000H 6FFFFH FE0000H FDFFFFH 60000H 5FFFFH FD0000H FCFFFFH 50000H 4FFFFH FC0000H FBFFFFH 40000H 3FFFFH FB0000H FAFFFFH 30000H 2FFFFH FA0000H F9FFFFH 20000H 1FFFFH F90000H F8FFFFH 10000H 0FFFFH F80000H 00000H SA7 ( 8Kバイト) SA6 ( 8Kバイト) SA5 (32Kバイト) SA4 (64Kバイト) SA3 (64Kバイト) 使用禁止 SA2 (64Kバイト) SA1 (64Kバイト) SA0 (64Kバイト) 使用禁止 CPUからアクセスする場合,F9バンクレジスタにSA0,FAバンクレジスタにSA1, FBバンクレジスタにSA2,FDバンクレジスタにSA3,FEバンクレジスタにSA4, FFバンクレジスタにSA5~SA8が配置されています。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 591 第 25 章 フラッシュメモリ 25.2 フラッシュメモリのセクタ構成 MB90330A シリーズ 図 25.2-2 4M ビットフラッシュメモリのセクタ構成 フラッシュメモリ SA13(16Kバイト) CPUアドレス *ライタアドレス FFFFFFH 7FFFFH FFC000H FFBFFFH 7C000H 7BFFFH FFA000H FF9FFFH 7A000H 79FFFH FF8000H FF7FFFH 78000H 77FFFH FF0000H FEFFFFH 70000H 6FFFFH FE0000H FDFFFFH 60000H 5FFFFH FD0000H FCFFFFH 50000H 4FFFFH FC0000H FBFFFFH 40000H 3FFFFH FBC000H FBBFFFH 3C000H 3BFFFH FBA000H FB9FFFH 3A000H 39FFFH FB8000H FB7FFFH 38000H 37FFFH FB0000H FAFFFFH 30000H 2FFFFH FA0000H F9FFFFH 20000H 1FFFFH F90000H F8FFFFH 10000H 0FFFFH F80000H 00000H SA12( 8Kバイト) SA11( 8Kバイト) SA10(32Kバイト) SA9 (64Kバイト) SA8 (64Kバイト) SA7 (64Kバイト) SA6 (16Kバイト) SA5 ( 8Kバイト) SA4 ( 8Kバイト) SA3 (32Kバイト) SA2 (64Kバイト) SA1 (64Kバイト) SA0 (64Kバイト) CPUからアクセスする場合,F8バンクレジスタにSA0,F9バンクレジスタにSA1, FAバンクレジスタにSA2,FBバンクレジスタにSA3~SA6,FCバンクレジスタにSA7, FDバンクレジスタにSA8,FE バンクレジスタにSA9,FFバンクレジスタにSA10 ~ SA13 が配置されています。 *: ライタアドレス ライタアドレスとは , フラッシュメモリにパラレルライタでデータを書き込む際 , CPU アドレスに対して相当するアドレスです。汎用ライタを使用して書込み / 消去を行う 際には , このアドレスで書込み / 消去を実行します。 592 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 25 章 フラッシュメモリ 25.3 フラッシュメモリコントロールステータスレジスタ (FMCS) MB90330A シリーズ フラッシュメモリコントロールステータスレジスタ (FMCS) 25.3 フラッシュメモリコントロールステータスレジスタ (FMCS) は , フラッシュメモリ インタフェース回路にあるレジスタで , フラッシュメモリの書込み / 消去の際に使用 します。 ■ フラッシュメモリコントロールステータスレジスタ (FMCS) 図 25.3-1 に , コントロールステータスレジスタ (FMCS) のビット構成を示します。 図 25.3-1 フラッシュメモリコントロールステータスレジスタ (FMCS) のビット構成 FMCS bit 7 アドレス : 0000AEH INTE リード / ライト R/W 6 RDYINT 5 WE 4 RDY R/W R/W R 3 2 1 0 予約 W 予約 W 予約 W 予約 W 初期値 000X0000B 以下に , コントロールステータスレジスタ (FMCS) の各ビットの機能を説明します。 [bit7] INTE フラッシュメモリの書込み / 消去の終了によって , CPU に割込みを発生させます。 INTE ビットが "1" で , かつ RDYINT ビットが "1" のときに CPU へ割込みが発生し ます。INTE ビットが "0" であれば , 割込みは発生しません。 0 書込み / 消去終了での割込み禁止 1 書込み / 消去終了での割込み許可 [bit6] RDYINT フラッシュメモリの動作状態を表すビットです。 フラッシュメモリの書込み / 消去が終わって "1" となります。フラッシュメモリ書 込み / 消去後 , RDYINT ビットが "0" の間は , フラッシュメモリへの書込み / 消去は できません。書込み / 消去が終了して "1" になった後は , フラッシュメモリへの書込 み / 消去が可能になります。 "0" の書込みによって "0" にクリアされ , "1" の書込みは無視されます。フラッシュ メモリ自動アルゴリズム (「 25.4 フラッシュメモリの自動アルゴリズム起動方法 」 参照 ) 終了タイミングで , "1" にセットされます。リードモディファイライト (RMW) 命令使用時は , 必ず "1" が読み出されます。 CM44-10129-6 0 書込み / 消去動作実行中 1 書込み / 消去動作終了 ( 割込み要求発生 ) FUJITSU MICROELECTRONICS LIMITED 593 第 25 章 フラッシュメモリ 25.3 フラッシュメモリコントロールステータスレジスタ (FMCS) [bit5] WE MB90330A シリーズ フラッシュメモリ領域への書込み許可ビットです。 "1" のとき , F9 ∼ FB, FD ∼ FF バンクへのコマンドシーケンス (「 25.4 フラッシュ メモリの自動アルゴリズム起動方法 」参照 ) 発行後の書込みは , フラッシュメモリ 領域への書込みになります。"0" のとき , 書込み / 消去の信号は発生されません。フ ラッシュメモリの書込み / 消去のコマンドを起動する際に使用します。 書込み / 消去を行わないときは , 誤ってフラッシュメモリにデータを書き込まない よう , 常に "0" に設定することを推奨します。 0 フラッシュメモリ書込み / 消去禁止 1 フラッシュメモリ書込み / 消去許可 [bit4] RDY フラッシュメモリの書込み / 消去許可ビットです。 "0" の間は , フラッシュメモリへの書込み / 消去はできません。なお , この状態でも 読出し / リセットコマンド , セクタ消去一時停止コマンドは受付けられます。 0 書込み / 消去動作実行中 1 書込み / 消去動作終了 ( 次データ書込み / 消去許可 ) [bit3 ∼ bit0] 予約ビット 予約ビットです。必ず "0" に設定してください。 <注意事項> FMCS はバイトアクセスのみ可能です。 ■ 自動アルゴリズム終了タイミング 図 25.3-2 に , 自動アルゴリズム終了タイミングと RDYINT ビットおよび RDY ビットの 関係を示します。 RDYINT ビットと RDY ビットは同時には変化しません。どちらかのビットで判定する ようプログラムを作成してください。 図 25.3-2 自動アルゴリズム終了タイミングと RDYINT ビットおよび RDY ビットの関係 自動アルゴリズム 終了タイミング RDYINTビット RDYビット 1マシンサイクル 594 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 25 章 フラッシュメモリ 25.4 フラッシュメモリの自動アルゴリズム起動方法 MB90330A シリーズ フラッシュメモリの自動アルゴリズム起動方法 25.4 フラッシュメモリの自動アルゴリズムを起動するコマンドには , 読出し / リセット , 書込み , セクタ消去 , チップ消去の 4 種類があります。セクタ消去については , 一時 停止と再開の制御が可能です。 ■ コマンドシーケンス表 表 25.4-1 に , フラッシュメモリの書込み / 消去時に使用するコマンドの一覧を示しま す。コマンドレジスタに書き込むデータはすべてバイトですが , ワードアクセスで書き 込むようにしてください。このときの上位バイト分のデータは無視されます。 表 25.4-1 コマンドシーケンス表 コマンド シーケンス バス書込み サイクル 1st バス書込み 2ndバス書込み 3rd バス書込み 4th バス書込み サイクル サイクル サイクル サイクル 5th バス書込み サイクル 6th バス書込み サイクル アドレス データ アドレス データ アドレス データ アドレス データ アドレス データ アドレス データ 1 FxXXXX XXF0 4 FxAAAA XXAA Fx5554 書込み 4 チップ消去 セクタ消去 読出し / リセット 読出し / リセット - - - - - - - - XX55 FxAAAA XXF0 RA RD - - - - FxAAAA XXAA Fx5554 XX55 FxAAAA XXA0 PA (even) PD (word) - - - - 6 FxAAAA XXAA Fx5554 XX55 FxAAAA XX80 FxAAAA XXAA Fx5554 XX55 FxAAAA XX10 6 FxAAAA XXAA Fx5554 XX55 FxAAAA XX80 FxAAAA XXAA Fx5554 XX55 * * SA (even) セクタ消去一時停止 Address "FxXXXX" データ (xxB0H) の入力で , セクタ消去中の消去一時停止 セクタ消去再開 Address "FxXXXX" データ (xx30H) の入力で , セクタ消去一時停止後 , 消去再開 AutoSelect 3 FxAAAA XXAA Fx5554 XX55 FxAAAA XX90 - - - - - XX30 - RA: 読出しアドレス PA: 書込みアドレス , 偶数アドレスのみ指定可能 SA: セクタアドレス (「 25.2 フラッシュメモリのセクタ構成」を参照してください。) RD: 読出しデータ PD: 書込みデータ , ワードデータのみ指定可能 *: 2 種類の読出し / リセットコマンドは , どちらもフラッシュメモリを読出しモードにリセットできます。 <注意事項> • 表中のアドレス Fx は , FF, FE, FD, FB, FA, F9 を意味します。それぞれの操作時には , アクセス対象バンクの値としてください。 • 表中のアドレスは , CPU メモリマップ上の値です。アドレスおよびデータはすべて 16 進数表記しています。ただし , "X" は任意の値です。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 595 第 25 章 フラッシュメモリ 25.4 フラッシュメモリの自動アルゴリズム起動方法 MB90330A シリーズ 表 25.4-1 における AutoSelect は , セクタ保護の状態を知るためのコマンドです。 実際には , 前記コマンドと共に下記のようにアドレスを設定する必要があります。 表 25.4-2 AutoSelect 時のアドレス設定 セクタ保護 *: AQ13 ∼ AQ17 AQ7 AQ2 AQ1 AQ0 DQ7 ∼ DQ0 セクタアドレス L H L L CODE * 保護されたセクタアドレスでの出力は "01H", 保護されていないセクタアドレスでの出力は "00H" 596 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 25 章 フラッシュメモリ 25.5 自動アルゴリズム実行状態の確認 MB90330A シリーズ 25.5 自動アルゴリズム実行状態の確認 フラッシュメモリでは , 書込み / 消去のフローを自動アルゴリズムで行うため , フ ラッシュメモリ内部の動作状態や動作が完了したことを知らせるハードウェアを持 ちます。この自動アルゴリズムは , 下記のハードウェアシーケンスフラグによって , 内蔵フラッシュメモリの動作状態の確認ができます。 ■ ハードウェアシーケンスフラグ ハードウェアシーケンスフラグは , DQ7, DQ6, DQ5, DQ3 の 4 ビットの出力で構成され ます。それぞれがデータポーリングフラグ (DQ7), トグルビットフラグ (DQ6), タイミン グリミット超過フラグ (DQ5), セクタ消去タイマフラグ (DQ3) の機能を持ちます。これ によって , 書込み / チップセクタ消去終了 , 消去コード書込みが有効かの確認ができま す。 ハードウェアシーケンスフラグを参照するには , コマンドシーケンス ( 表 25.4-1 を参照 ) 設定後にフラッシュメモリ内部の対象セクタのアドレスに読出しアクセスすることで参 照できます。表 25.5-1 にハードウェアシーケンスフラグのビット割当てを示します。 表 25.5-1 ハードウェアシーケンスフラグのビット割当て ビット No. ハードウェア シーケンスフラグ 7 6 5 4 3 2 1 0 DQ7 DQ6 DQ5 - DQ3 - - - 自動書込み / チップセクタ消去が実行中であるかの判断は , ハードウェアシーケンスフ ラグを確認するか , フラッシュメモリコントロールレジスタ (FMCS) の RDY ビットを 確認することで , 書込みが終了しているかを知ることができます。書込み / 消去終了後 は , 読出し / リセット状態に戻ります。実際にプログラムを作成する際には , いずれか のフラグで自動書込み / 消去終了を確認後に , データの読出しなどの次処理を行ってく ださい。また , 2 回目以降のセクタ消去コード書込みが有効であるかも , ハードウェア シーケンスフラグによって確認できます。次項に各ハードウェアシーケンスフラグに ついて説明します。 表 25.5-2 に , ハードウェアシーケンスフラグ機能の一覧を示します。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 597 第 25 章 フラッシュメモリ 25.5 自動アルゴリズム実行状態の確認 MB90330A シリーズ 表 25.5-2 ハードウェアシーケンスフラグの機能一覧 DQ7 DQ6 DQ5 DQ3 DQ7 → DATA:7 Toggle → DATA:6 0→ DATA:5 0→ DATA:3 0→1 Toggle → Stop 1 0→1 0 Toggle 0→1 0 正常動作時の 消去動作→セクタ消去一時停止 状態変化 ( 消去中のセクタ ) 0→1 Toggle → 1 1→0 0 セクタ消去一時停止→消去再開 ( 消去中のセクタ ) 1→0 1 → Toggle 0→1 0 DATA:7 DATA:6 DATA:5 DATA:3 DQ7 Toggle 0 1 0 Toggle 1 1 状態 書込み動作→書込み完了 ( 書込みアドレス指定時 ) チップセクタ消去動作→消去完了 セクタ消去ウェイト→消去開始 セクタ消去一時停止中 ( 消去中でないセクタ ) 書込み動作 異常動作 チップセクタ消去動作 598 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 25 章 フラッシュメモリ 25.5 自動アルゴリズム実行状態の確認 MB90330A シリーズ 25.5.1 データポーリングフラグ (DQ7) データポーリングフラグ (DQ7) は , 自動アルゴリズム実行が進行中または終了状態 であることをデータポーリング機能によって知らせるためのハードウェアシーケン スフラグです。 ■ データポーリングフラグ (DQ7) の状態遷移 表 25.5-3 と表 25.5-4 に , データポーリングフラグの状態遷移を示します。 表 25.5-3 データポーリングフラグの状態遷移 ( 正常動作時の状態変化 ) 動作状態 書込み動作→ 完了 チップセクタ 消去 →完了 セクタ消去 ウェイト →開 始 セクタ消去→ 消去一時停止 消去中のセク タ セクタ消去一 時停止 →再開 消去中のセク タ セクタ消去 一時停止中 消去中でない セクタ DQ7 DQ7→DATA:7 0→1 0 0→1 1→0 DATA:7 表 25.5-4 データポーリングフラグの状態遷移 ( 異常動作時の状態変化 ) 動作状態 書込み動作 チップセクタ 消去動作 DQ7 DQ7 0 ■ 書込み動作時 自動書込みアルゴリズム実行中に読出しアクセスすると , フラッシュメモリはアドレ スの指し示す番地によらず , 最後に書き込まれたデータの bit7 の反転データを出力し ます。自動書込みアルゴリズム終了時に読出しアクセスすると , フラッシュメモリはア ドレスの指し示す番地の読出し値の bit7 を出力します。 ■ チップ / セクタ消去動作時 セクタ消去の自動アルゴリズム実行中に , 現在消去しているセクタから読出しアクセ スすると , フラッシュメモリは "0" を出力します。チップ消去の自動アルゴリズム実行 中は , アドレスの指し示す番地に関係なく , 読出しアクセスするとフラッシュメモリは "0" を出力します。チップ消去 / セクタ消去が終了すると , フラッシュメモリは "1" を 出力します。 ■ セクタ消去一時停止時 セクタ消去一時停止時に読出しアクセスすると , フラッシュメモリはアドレスの指し 示す番地が消去中のセクタであれば "1" を出力し , 消去中のセクタでなければアドレス の指し示す番地の読出し値の bit7(DATA:7) を出力します。トグルビットフラグ (DQ6) とともに参照することで , 現在セクタ一時停止状態であるか , どのセクタが消去中であ るかの判定ができます。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 599 第 25 章 フラッシュメモリ 25.5 自動アルゴリズム実行状態の確認 MB90330A シリーズ <注意事項> 自動アルゴリズム起動時は , 指定したアドレスへの読出しアクセスは無視されます。デー タの読出しは , データポーリングフラグ (DQ7) の終了を受けて , ほかのビットの出力が可 能となります。このため , 自動アルゴリズム終了後のデータの読出しは , データポーリン グ終了を確認した読出しアクセスの次に行うようにしてください。 600 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 25 章 フラッシュメモリ 25.5 自動アルゴリズム実行状態の確認 MB90330A シリーズ トグルビットフラグ (DQ6) 25.5.2 トグルビットフラグ (DQ6) は , データポーリングフラグ (DQ7) と同様に , 主に自動 アルゴリズム実行が進行中または終了状態であることをトグルビット機能によって 知らせるハードウェアシーケンスフラグです。 ■ トグルビットフラグ (DQ6) の状態遷移 表 25.5-5 と表 25.5-6 に , トグルビットフラグの状態遷移を示します。 表 25.5-5 トグルビットフラグの状態遷移 ( 正常動作時の状態変化 ) 動作状態 書込み動作→ 完了 チップセクタ 消去 →完了 セクタ消去 ウェイト →開 始 セクタ消去→ 消去一時停止 消去中のセク タ セクタ消去一 時停止 →再開 消去中のセク タ セクタ消去 一時停止中 消去中でない セクタ DQ6 Toggle → DATA:6 Toggle → Stop Toggle Toggle → 1 1 → Toggle DATA:6 表 25.5-6 トグルビットフラグの状態遷移 ( 異常動作時の状態変化 ) 動作状態 書込み動作 チップセクタ 消去動作 DQ6 Toggle Toggle ■ 書込み / チップセクタ消去時 自動書込みアルゴリズムおよびチップセクタ消去の自動アルゴリズム実行中に , 連続 した読出しアクセスを行うと , フラッシュメモリはアドレスの指し示す番地によらず , 読出しごとに "1" と "0" を交互に出力するトグル状態を出力します。自動書込みアルゴ リズムおよびチップ / セクタ消去の自動アルゴリズム終了時に連続した読出しアクセ スを行うと , フラッシュメモリは bit6 のトグル動作を止め , アドレスの指し示す番地の 読出し値の bit6(DATA:6) を出力します。 ■ セクタ消去一時停止時 セクタ消去一時停止時に読出しアクセスすると , フラッシュメモリはアドレスの指し 示す番地が消去中のセクタに属するならば , "1" を出力します。消去中のセクタに属さ ないのであれば , アドレスの指し示す番地の読出し値の bit6(DATA:6) を出力します。 <参考> 書込みの際 , 書き込もうとしているセクタが書換え保護されているセクタの場合は , 約 2 μs のトグル動作をした後 , データを書き換えることなくトグル動作を終わります。 消去の際 , 選択されたすべてのセクタが書換え保護されている場合 , トグルビットは約 100 μsのトグル動作をし, その後データを書き換えないで読出し/リセット状態に戻ります。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 601 第 25 章 フラッシュメモリ 25.5 自動アルゴリズム実行状態の確認 25.5.3 MB90330A シリーズ タイミングリミット超過フラグ (DQ5) タイミングリミット超過フラグ (DQ5) は , 自動アルゴリズムの実行がフラッシュメ モリ内部に規定された時間 ( 内部パルス回数 ) を超えてしまったことを知らせるハー ドウェアシーケンスフラグです。 ■ タイミングリミット超過フラグ (DQ5) の状態遷移 表 25.5-7 と表 25.5-8 に , タイミングリミット超過フラグの状態遷移を示します。 表 25.5-7 タイミングリミット超過フラグの状態遷移 ( 正常動作時の状態変化 ) 動作状態 書込み動作 →完了 チップセクタ 消去 →完了 セクタ消去 ウェイト →開 始 セクタ消去→ 消去一時停止 消去中のセク タ セクタ消去一 時停止 →再開 消去中のセク タ セクタ消去 一時停止中 消去中でない セクタ DQ5 0 → DATA:5 0→1 0 0 0 DATA:5 表 25.5-8 タイミングリミット超過フラグの状態遷移 ( 正常動作時の状態変化 ) 動作状態 書込み動作 チップセクタ 消去動作 DQ5 1 1 ■ 書込み / チップセクタ消去時 書込みまたはチップ消去 / セクタ消去の自動アルゴリズム起動後に読出しアクセスす ると , 規定時間 ( 書込み / 消去に要する時間 ) 内であれば "0" を , 規定時間を超えてし まっている場合は "1" を出力します。これは , 自動アルゴリズムが実行中か終了状態に あるかに無関係ですので , 書込み / 消去が成功したか失敗したかの判定が可能です。す なわち , このフラグが "1" を出力したとき , データポーリング機能またはトグルビット 機能によって自動アルゴリズムがまだ実行中であれば , 書込みが失敗していると判断 できます。 例えば , "0" が書き込まれているフラッシュメモリアドレスに "1" を書き込もうとする と , フェイルが発生します。この場合 , フラッシュメモリはロックされ , 自動アルゴリ ズムは終了しません。まれに "1" が書き込めたように , 正常終了する場合もあります。 したがって , データポーリングフラグ (DQ7) から有効なデータが出力されません。ま た , トグルビットフラグ (DQ6) はトグル動作を止めず , タイムリミットを超えて , タイ ミングリミット超過フラグ (DQ5) は "1" を出力します。この状態は , フラッシュメモリ が不良ではなく , 正しく使用されなかったということを表しています。この状態が発生 したときは , リセットコマンドを実行してください。 602 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 25 章 フラッシュメモリ 25.5 自動アルゴリズム実行状態の確認 MB90330A シリーズ 25.5.4 セクタ消去タイマフラグ (DQ3) セクタ消去タイマフラグ (DQ3) は , セクタ消去コマンド起動後セクタ消去ウェイト 期間中であるか否かを知らせるハードウェアシーケンスフラグです。 ■ セクタ消去タイマフラグ (DQ3) の状態遷移 表 25.5-9 と表 25.5-10 に , セクタ消去タイマフラグの状態遷移を示します。 表 25.5-9 セクタ消去タイマフラグの状態遷移 ( 正常動作時の状態変化 ) 動作状態 書込み動作→ 完了 チップセクタ 消去 →完了 セクタ消去 ウェイト →開 始 セクタ消去→ 消去一時停止 消去中のセク タ セクタ消去一 時停止 →再開 消去中のセク タ セクタ消去 一時停止中 消去中でない セクタ DQ3 0 → DATA:3 1 0→1 1→0 0→1 DATA:3 表 25.5-10 セクタ消去タイマフラグの状態遷移 ( 異常動作時の状態変化 ) 動作状態 書込み動作 チップセクタ 消去動作 DQ3 0 1 ■ セクタ消去動作時 セクタ消去コマンド起動後に読出しアクセスすると , フラッシュメモリはコマンドを 発行したセクタのアドレス信号の指し示す番地によらずに , セクタ消去ウェイト期間 中であれば "0" を , セクタ消去ウェイト期間を超えてしまっている場合は "1" を出力し ます。 データポーリング機能やトグルビット機能によって消去アルゴリズムが実行中を示し ている場合 , このフラグが "1" であれば , 内部で制御される消去が始まっています。続 けてのセクタ消去コードの書込みまたは消去一時停止以外のコマンドは , 消去が終了 されるまで無視されます。 このフラグが "0" であれば , フラッシュメモリは , 追加のセクタ消去コードの書込みを 受け付けます。このことを確認するために , 引き続くセクタ消去コードの書込みに先 立って, このフラグの状態をチェックすることを推奨します。もし, 2回目の状態チェッ クで "1" であったら , 追加セクタの消去コードは受け付けられていない可能性がありま す。 ■ セクタ消去一時停止時 セクタ消去一時停止時に読出しアクセスすると , フラッシュメモリはアドレスの指し 示す番地が消去中のセクタであれば "1" を出力し , 消去中のセクタでなければアドレス の指し示す番地の読出し値の bit3(DATA:3) を出力します。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 603 第 25 章 フラッシュメモリ 25.6 フラッシュメモリの書込み / 消去 25.6 MB90330A シリーズ フラッシュメモリの書込み / 消去 自動アルゴリズムを起動するコマンドを発行し , フラッシュメモリに読出し / リセッ ト , 書込み , チップ消去 , セクタ消去 , セクタ消去一時停止およびセクタ消去再開の それぞれの動作手順について説明します。 ■ フラッシュメモリの書込み / 消去 フラッシュメモリは , 読出し / リセット , 書込み , チップ消去 , セクタ消去 , セクタ消去 一時停止および消去再開の動作がコマンドシーケンス ( 表 25.4-1 を参照 ) のバスへの書 込みサイクルを行うことで自動アルゴリズムを実行できます。それぞれのバスへの書 込みサイクルは , 続けて行うことが必要です。また , 自動アルゴリズムはデータポーリ ング機能などで終了時を知ることができます。正常終了後は , 読出し / リセット状態に 戻ります。 以下の項で , フラッシュメモリの書込み / 消去に関する下記項目について説明します。 • 読出し / リセット状態にする • データを書き込む • 全データを消去する ( チップ全消去 ) • 任意のデータを消去する ( セクタ消去 ) • セクタ消去を一時停止する • セクタ消去を再開する 604 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 25.6.1 第 25 章 フラッシュメモリ 25.6 フラッシュメモリの書込み / 消去 フラッシュメモリの読出し / リセット状態 読出し / リセットコマンドを発行し , フラッシュメモリを読出し / リセット状態にす る手順について説明します。 ■ フラッシュメモリを読出し / リセット状態にする フラッシュメモリを読出し / リセット状態にするには , コマンドシーケンス表 ( 表 25.41 を参照 ) の読出し / リセットコマンドを , フラッシュメモリ内の対象セクタに続けて 送ることで実行できます。 読出し / リセットコマンドには , 1 回と 3 回のバス動作を行う 2 とおりのコマンドシー ケンスがありますが , これらの本質的な違いはありません。 読出し / リセット状態は , フラッシュメモリの初期状態であり , 電源投入時 , コマンド の正常終了時は常に読出し / リセット状態になります。読出し / リセット状態は , ほか のコマンドの入力待ち状態です。 読出し / リセット状態では , 通常の読出しアクセスでデータを読み出すことができま す。マスク ROM と同様に , CPU からのプログラムアクセスが可能です。通常読出しで のデータ読出しに , このコマンドは必要ありません , 何らかの理由でコマンドが正常に 終了しなかったときなど , 自動アルゴリズムを初期化する場合に , 主にこのコマンドを 使用します。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 605 第 25 章 フラッシュメモリ 25.6 フラッシュメモリの書込み / 消去 25.6.2 MB90330A シリーズ フラッシュメモリのデータ書込み 書込みコマンドを発行し , フラッシュメモリにデータを書き込む手順について説明 します。 ■ フラッシュメモリへのデータ書込み フラッシュメモリの , データ書込み自動アルゴリズムを起動するには , コマンドシーケ ンス表 ( 表 25.4-1 を参照 ) の書込みコマンドを , フラッシュメモリ内の対象セクタに続 けて送ることで実行できます。4 サイクル目に目的のアドレスへのデータ書込みが終了 した時点で , 自動アルゴリズムが起動され自動書込みを開始します。 ● アドレス指定方法 書込みデータサイクルの中で指定する書込みアドレスは , 偶数アドレスのみが可能で す。奇数アドレスを指定すると正しく書き込むことができません。つまり , 偶数アドレ スへのワードデータ単位での書込みが必要となります。 書込みはどのようなアドレスの順番でも , また , セクタの境界を超えて可能ですが , 1 回の書込みコマンドによって書き込まれるデータは 1 ワードのみです。 ● データ書込み上の注意 書込みによって , データ 0 をデータ 1 に戻すことはできません。データ "0" にデータ "1" を書き込むと , データポーリングアルゴリズム (DQ7) またはトグル動作 (DQ6) が終 了せずに , フラッシュメモリ素子が不良と判定され , 書込み規定時間を超えタイミング リミット超過フラグ (DQ6) がエラーと判定するかまたは見かけ上データ "1" が書き込 まれたように見えるかのどちらかとなります。しかし , 読出し / リセット状態でデータ を読み出すとデータは "0" のままです。消去動作でのみ "0" のデータを "1" にすること ができます。 自動書込み実行中は , すべてのコマンドが無視されます。書込み中にハードウェアリ セットが起動されると , 書き込んでいるアドレスのデータは保証されませんので , 注意 が必要です。 ■ フラッシュメモリの書込み手順 図 25.6-1 に , フラッシュメモリ書込み手順の例を示します。ハードウェアシーケンス フラグ 「 ( 25.5 自動アルゴリズム実行状態の確認 」を参照 ) を用いることでフラッシュ メモリ内部の自動アルゴリズムの状態判定ができます。ここでは, 書込み終了の確認に, データポーリングフラグ (DQ7) を用いています。 フラグチェックのために読み込むデータは , 最後に書込みを行ったアドレスからの読 込みとなります。 データポーリングフラグ (DQ7) は , タイミングリミット超過フラグ (DQ5) と同時に変 わるので , たとえタイミングリミット超過フラグ (DQ5) が "1" であっても , データポー リングフラグビット (DQ7) は再チェックする必要があります。 トグルビットフラグ (DQ6) でも同様に , タイミングリミット超過フラグビット (DQ5) が "1" に変わるのと同時にトグル動作を止めるので , トグルビットフラグ (DQ6) を再 チェックする必要があります。 606 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 25 章 フラッシュメモリ 25.6 フラッシュメモリの書込み / 消去 MB90330A シリーズ 図 25.6-1 フラッシュメモリ書込み手順の例 書込み開始 FMCS:WE(bit5) フラッシュメモリ 書込み許可 書込みコマンドシーケンス ①FxAAAAH←XXAAH ②Fx5554H←XX55H ③FxAAAAH←XXA0H ④書込みアドレス←書込みデータ 次アドレス 内部アドレスリード データポーリング(DQ7) Data Data 0 タイミングリミット(DQ5) 内部アドレスリード Data データポーリング(DQ7) Data 書込みエラー 最終アドレス NO YES FMCS:WE(bit5) フラッシュメモリ 書込み禁止 書込み完了 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 607 第 25 章 フラッシュメモリ 25.6 フラッシュメモリの書込み / 消去 25.6.3 MB90330A シリーズ フラッシュメモリの全データ消去 ( チップ消去 ) チップ消去コマンドを発行し , フラッシュメモリの全データを消去する手順につい て説明します。 ■ フラッシュメモリの全データを消去 ( チップ消去 ) フラッシュメモリからすべてのデータを消去するには , コマンドシーケンス ( 表 25.4-1 を参照 ) のチップ消去コマンドをフラッシュメモリ内の対象セクタに送ることで実行 できます。 チップ消去コマンドは , 6 回のバス動作で行われます。6 サイクル目の書込みが完了し た時点でチップ消去動作が開始します。チップ消去では , 消去前にユーザがフラッシュ メモリに書込みを行う必要はありません。自動消去アルゴリズム実行中には , フラッ シュメモリは自動的にすべてのセルを消去する前に "0" を書き込んで検証します。 608 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 25.6.4 第 25 章 フラッシュメモリ 25.6 フラッシュメモリの書込み / 消去 フラッシュメモリの任意のデータ消去 ( セクタ消去 ) セクタ消去コマンドを発行し , フラッシュメモリの任意のセクタを消去する手順に ついて説明します。セクタごとの消去が可能であり , 複数のセクタを同時に指定す ることもできます。 ■ フラッシュメモリの任意のデータを消去 ( セクタ消去 ) フラッシュメモリの任意のセクタを消去するためには, コマンドシーケンス表(表 25.41 を参照 ) のセクタ消去コマンドをフラッシュメモリ内の対象セクタに続けて送ること で実行できます。 ● セクタ指定方法 セクタ消去コマンドは , 6 回のバス動作で行われます。6 サイクル目に目的のセクタ内 のアクセス可能な任意の偶数の 1 アドレスへ , セクタ消去コード (30H) を書き込むこと によって最小 50 μs のセクタ消去ウェイトが開始します。複数のセクタを消去する場合 は , 上記の処理に引き続き , 消去する目的のセクタ内のアドレスに消去コード (30H) を 書き込みます。 ● 複数のセクタを指定する場合の注意 最後のセクタ消去コードの書込みから最小 50 μs のセクタ消去ウェイト期間終了によ り , 消去が開始します。つまり , 複数のセクタを同時に消去する場合は , 次の消去セク タのアドレスと消去コード ( コマンドシーケンス 6 サイクル目 ) をそれぞれ 50 μs 以内 に入力する必要があり , それ以降では受付けられないことがあります。引き続くセクタ 消去コードの書込みが有効かどうかは , セクタ消去タイマ ( ハードウェアシーケンスフ ラグ : DQ3) によって調べることができます。このとき , セクタ消去タイマを読み出す アドレスは , 消去しようとしているセクタを指すようにします。 ■ セクタ消去の手順 ハードウェアシーケンスフラグ (「 25.5 自動アルゴリズム実行状態の確認 」を参照 ) を用いることによってフラッシュメモリ内部の自動アルゴリズムの状態判定ができま す。図 25.6-2 に , フラッシュメモリのセクタ消去手順の例を示します。ここでは , 消去 終了の確認にトグルビットフラグ (DQ6) を用いています。 フラグチェックのために読み込むデータは , 消去しようとしているセクタからの読込 みとなりますので , 注意が必要です。 トグルビットフラグ (DQ6) は , タイミングリミット超過フラグ (DQ5) が "1" に変わる のと同時にトグル動作を止めるので , たとえタイミングリミット超過フラグ (DQ5) が "1" であっても , トグルビットフラグ (DQ6) は再チェックする必要があります。 データポーリングフラグ (DQ7) でも同様に , タイミングリミット超過フラグ (DQ5) と 同時に変わるので , データポーリングフラグ (DQ7) を再チェックする必要があります。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 609 第 25 章 フラッシュメモリ 25.6 フラッシュメモリの書込み / 消去 MB90330A シリーズ 図 25.6-2 フラッシュメモリのセクタ消去手順の例 消去開始 FMCS:WE(bit5) フラッシュメモリ 消去許可 消去コマンドシーケンス ①FxAAAAH←XXAAH ②Fx5554H←XX55H ③FxAAAAH←XX80H ④FxAAAAH←XXAAH ⑤Fx5554H←XX55H YES ⑥消去セクタへコード入力 (30H) 消去セクタが ほかにあるか NO 内部アドレスリード 0 内部アドレスリード1 内部アドレスリード2 セクタ消去タイマ(DQ3) トグルビット(DQ6) データ1(DQ6)= データ2(DQ6) 1 消去指定の追加が50μs 以内になされなかった。 残りをやり直すフラグを 立て, 一旦消去を終える。 YES NO 0 タイミングリミット(DQ5) 1 内部アドレスリード1 内部アドレスリード2 NO トグルビット(DQ6) データ1(DQ6)= データ2(DQ6) YES 消去エラー 残りやり直し フラグ YES NO FMCS:WE(bit5) フラッシュメモリ 消去禁止 消去完了 610 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 25.6.5 第 25 章 フラッシュメモリ 25.6 フラッシュメモリの書込み / 消去 フラッシュメモリのセクタ消去を一時停止 セクタ消去一時停止コマンドを発行し , フラッシュメモリのセクタ消去を一時停止 する手順について説明します。消去中でないセクタから , データを読み出すことが できます。 ■ フラッシュメモリのセクタ消去を一時停止 フラッシュメモリのセクタ消去を一時停止するには , コマンドシーケンス表 ( 表 25.4-1 を参照 ) のセクタ消去一時停止コマンドを , フラッシュメモリ内に送ることで実行でき ます。 セクタ消去一時停止コマンドは , セクタ消去中に , 消去を一時停止し消去中でないセク タからのデータ読出しを可能にするものです。この状態では , 読出しのみが可能で書込 みはできません。このコマンドは , 消去ウェイト時間を含むセクタ消去中のみ有効で , チップ消去中や書込み動作中は無視されます。 消去一時停止コード (B0H) の書込みを行うことで実施されますが , このときアドレスは フラッシュメモリ内の任意のアドレスを指すようにします。消去一時停止での再度の 消去一時停止コマンドは無視されます。 セクタ消去ウェイト期間中に, セクタ消去一時停止コマンドが入力されると, 直ちにセク タ消去ウェイトを終了し, 消去動作を中断して消去停止状態になります。 セクタ消去ウェ イト期間後のセクタ消去動作中に消去一時停止コマンドが入力されると , 最大 20 μs の時 間の後 , 消去一時停止状態に入ります。セクタ消去一時停止コマンドは , セクタ消去コマ ンドあるいはセクタ消去再開コマンド発行後 , 20 μs 以上後に行ってください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 611 第 25 章 フラッシュメモリ 25.6 フラッシュメモリの書込み / 消去 25.6.6 MB90330A シリーズ フラッシュメモリのセクタ消去を再開 セクタ消去再開コマンドを発行し , 一時停止したフラッシュメモリセクタ消去を再 開する手順について説明します。 ■ フラッシュメモリのセクタ消去を再開 一時停止したセクタ消去を再開させるには , コマンドシーケンス表 ( 表 25.4-1 を参照 ) のセクタ消去再開コマンドを, フラッシュメモリ内に続けて送ることで実行できます。 セクタ消去再開コマンドは , セクタ消去一時停止コマンドによるセクタ消去一時停止 状態から , セクタ消去を再開するためのコマンドです。このコマンドは消去再開コード (30H) の書込みを行うことで実施されますが , このときのアドレスはフラッシュメモリ 領域内の任意のアドレスを指すようにします。 なお , セクタ消去中のセクタ消去再開コマンドの発行は無視されます。 612 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 26 章 シリアル書込み接続例 ( 横河ディジタルコンピュータ株式会社製 フラッシュマイコンプログラマ ) この章では , 横河ディジタルコンピュータ株式会社 製フラッシュマイコンプログラマを用いた場合の , シリアル書込み接続例について説明します。 26.1 基本構成 26.2 発振クロック周波数とシリアルクロック入力周波数に ついて 26.3 フラッシュマイコンプログラマのシステム構成 26.4 シリアル書込み接続例 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 613 第 26 章 シリアル書込み接続例 26.1 基本構成 26.1 MB90330A シリーズ 基本構成 MB90F334A, MB90F335A ではフラッシュ ROM のシリアルオンボード書込み ( 富士 通マイクロエレクトロニクス標準 ) をサポートしています。その仕様について以下 に解説します。 ■ シリアルオンボード書込み基本構成 富士通標準シリアルオンボード書込みには , 横河ディジタルコンピュータ株式会社製 フラッシュマイコンプログラマを使用します。シングルチップモードで動作するプロ グラムあるいは内 ROM 外バスモードで動作するプログラムのどちらかを選択して書 き込むことができます。 図 26.1-1 に , シリアル書込み接続例の基本構成を示します。 図 26.1-1 シリアル書込み接続例の基本構成 ホストインタフェースケーブル 汎用共通ケーブル フラッシュマイ コンプログラム CLK 同期シリアル + メモリカード MB90F334A/ MB90F335A ユーザシステム スタンドアロンで動作可能 <注意事項> フラッシュマイコンプログラマの機能 , 操作方法および接続用汎用共通ケーブル , コネク タにつきましては , 横河ディジタルコンピュータ株式会社殿にお問い合わせください。 614 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 26 章 シリアル書込み接続例 26.1 基本構成 MB90330A シリーズ ■ 富士通標準シリアルオンボード書込みに使用する端子 表 26.1-1 に, 富士通標準シリアルオンボード書込みに使用する端子の機能を示します。 表 26.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.3 V ± 0.3 V) VSS GND フラッシュマイコンプログラマの GND と共通にします。 図 26.1-2 端子制御回路 MB90F334A/MB90F335A 書込み制御端子 書込み制御端子 TICS端子 ユーザ <注意事項> • P60, P61, SIN0, SOT0, SCK0 端子をユーザシステムでも使用する場合には , 図 26.1-2 に示す制御回路が必要となります。 • フラッシュマイコンプログラマの /TICS 信号により , シリアル書込み中はユーザ回路 を切り離すことができます。「26.4 シリアル書込み接続例」をご参照ください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 615 第 26 章 シリアル書込み接続例 26.2 発振クロック周波数とシリアルクロック入力周波数につ いて 26.2 MB90330A シリーズ 発振クロック周波数とシリアルクロック入力周波数に ついて MB90F334A, MB90F335A の入力可能なシリアルクロック周波数は , 以下の計算式 により求まります。したがって , 使用する発振クロック周波数に対応したシリアル クロック入力周波数を , フラッシュマイコンプログラマの設定により , 変更してくだ さい。 ■ 発振クロック周波数とシリアルクロック入力周波数 入力可能なシリアルクロック周波数は以下の計算式により求まります。 入力可能なシリアルクロック周波数 = 0.125 ×発振クロック周波数 表 26.2-1 に , 入力可能なシリアルクロック周波数を示します。 表 26.2-1 入力可能なシリアルクロック周波数 616 発振クロック 周波数 マイコンの入力可能な最大 シリアルクロック周波数 設定可能な最大シリアルクロック周波数 6 MHz 時 750 kHz 500 kHz FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 26 章 シリアル書込み接続例 26.3 フラッシュマイコンプログラマのシステム構成 MB90330A シリーズ 26.3 フラッシュマイコンプログラマのシステム構成 フラッシュマイコンプログラマのシステム構成を示します。 ■ フラッシュマイコンプログラマシステム 表 26.3-1 フラッシュマイコンプログラマのシステム構成 名称 型格 仕様 AF420/AC4P ・FULL KEY モデル ・100BASE-TX ホストインタフェース付き AF620/AC4P ・FULL KEY モデル ・CAN インタフェース付き ・100BASE-TX ホストインタフェース付き AF320/AC4P ・単 KEY モデル ・100BASE-TX ホストインタフェース付き AF520/AC4P ・単 KEY モデル ・CAN インタフェース付き ・100BASE-TX ホストインタフェース付き 汎用共通ケーブル AZ410 標準ターゲットプローブ (a) 長さ:1 m コンパクトモジュール FF801 富士通マイクロエレクトロニクス製マイコン用 コントロールモジュール リモートコントローラ AZ490 リモートコントローラ フラッシュマイコン プログラマ本体 メモリカード - PC Card < 問合せ先 > 横河ディジタルコンピュータ株式会社 機器事業センター 営業部 TEL(042)333-6224 <注意事項> AF2xx/AF1xx シリーズは 2007 年 3 月末日をもって販売終了しています ( 製品の保守 ( 修 理 ) は販売終了時点より 5 年間継続 )。 今後 , 新規もしくは追加購入をご希望のお客様は , 後継機種 (AF400/300, AF600/500 シ リーズ ) のご検討をお願いいたします。 詳細は横河ディジタルコンピュータ株式会社へお問い合わせください。 なお, 後継機種におきましても, 富士通マイコンのサポートは引き続き行ってまいります。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 617 第 26 章 シリアル書込み接続例 26.4 シリアル書込み接続例 26.4 MB90330A シリーズ シリアル書込み接続例 シリアル書込み接続例を示します。 ■ シリアル書込み接続例 シリアル書込み接続例には , 以下の 2 つがあります。 • シングルチップモード時の接続例 ( ユーザ電源使用時 ) • フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 ) 618 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 26 章 シリアル書込み接続例 26.4 シリアル書込み接続例 MB90330A シリーズ シングルチップモード時の接続例 ( ユーザ電源使用時 ) 26.4.1 ユーザシステムにて , シングルチップモードに設定されているモード端子 MD2, MD0 には , フラッシュマイコンプログラマの TAUX3, TMODE より MD2=1, MD0=0 が入力され , シリアル書込みモードになります。 ( シリアル書込みモード :MD2, MD1, MD0=110) ■ シングルチップモード時の接続例 ( ユーザ電源使用時 ) 図 26.4-1 シングルチップモード時 シリアル書込み接続例 ( ユーザ電源使用時 ) ユーザシステム フラッシュマイコン プログラマ TAUX3 コネクタ DX10-28S (19) MB90F334A/MB90F335A 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-10129-6 Vcc 1ピン DX10-28S 28ピン 15ピン コネクタ(ヒロセ電機製)のピン配列 FUJITSU MICROELECTRONICS LIMITED 619 第 26 章 シリアル書込み接続例 26.4 シリアル書込み接続例 MB90330A シリーズ <注意事項> 620 • SIN0, SOT0, SCK0端子をユーザシステムでも使用する場合には, P60と同様, 図 26.12 に示す制御回路が必要となります ( フラッシュマイコンプログラマの /TICS 信号によ り , シリアル書込み中はユーザ回路を切り離すことができます )。 • フラッシュマイコンプログラマとの接続は , ユーザ電源が OFF の状態で行ってくださ い。 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 26 章 シリアル書込み接続例 26.4 シリアル書込み接続例 MB90330A シリーズ フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 ) 26.4.2 シリアル書込み時に , 各端子 (MD2, MD0, P60) を図 26.4-2 に示すように設定した場 合は , MD2, MD0, P60 とフラッシュマイコンプログラマとの接続は必要ありません。 ■ フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 ) 図 26.4-2 フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 ) ユーザシステム フラッシュマイコン プログラマ MB90F334A/MB90F335A シリアル書換え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 1ピン 14ピン 3,4,9,10,11,12,16,17, 18,19,20,23,24,25,26 ピンはOPEN DX10-28S:ライトアングルタイプ CM44-10129-6 DX10-28S 28ピン 15ピン コネクタ(ヒロセ電機製)のピン配列 FUJITSU MICROELECTRONICS LIMITED 621 第 26 章 シリアル書込み接続例 26.4 シリアル書込み接続例 MB90330A シリーズ <注意事項> 622 • SIN0, SOT0, SCK0 端子をユーザシステムでも使用する場合には , 図 26.1-2 に示す制 御回路が必要となります ( フラッシュマイコンプログラマの /TICS 信号により , シリア ル書込み中はユーザ回路を切り離すことができます )。 • フラッシュマイコンプログラマとの接続は , ユーザ電源が OFF の状態で行ってくださ い。 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 27 章 シリアル書込み接続例 ( 富士通マイクロエレクトロニ クス製シリアルプログラマ ) MB90F334A/335A は , フラッシュメモリのシリア ルオンボード書込み ( 富士通マイクロエレクトロニ クス標準 ) に対応しています。 本章では , フラッシュメモリのシリアル書込みにつ いて , 富士通マイクロエレクトロニクス製シリアル プログラマを用いた場合の基本構成を説明します。 27.1 富士通マイクロエレクトロニクス製 シリアル プログラマ CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 623 第 27 章 シリアル書込み接続例 27.1 富士通マイクロエレクトロニクス製 シリアルプログラマ 27.1 MB90330A シリーズ 富士通マイクロエレクトロニクス製 シリアルプログラマ 富士通マイクロエレクトロニクス製シリアルプログラマ ( ソフトウェア ) は , 富士通 マイクロエレクトロニクス製のフラッシュメモリ内蔵マイコン全製品を対象にした オンボードプログラミングツールです。 本シリアルプログラマは , PC との I/F (RS-232C, USB) により , 2 種類のツールを用 意していますので , 環境に合わせてご利用いただけます。 ■ FUJITSU MICROELECTRONICS MCU Programmer( クロック非同期 シリアル書込み ) の基本構成 FUJITSU MICROELECTRONICS MCU Programmer は , パソコンとマイコンを RS-232C ケーブルで接続し , クロック非同期シリアル通信によりユーザシステムに実装されて いるマイコン内蔵フラッシュメモリへデータの書込みを行います。 FUJITSU MICROELECTRONICS MCU Programmer の基本構成を , システム構成をに示 します。 図 27.1-1 FUJITSU MICROELECTRONICS MCU Programmer の基本構成 * ユーザシステム RS-232C * RS-232C のドライバ IC が別途必要です。 表 27.1-1 FUJITSU MICROELECTRONICS MCU Programmer のシステム構成 名称 FUJITSU MICROELECTRONICS MCU Programmer 型格 − 仕様 ソフト (Web よりダウンロード可能 ( 登録制 ) ) * * 登録は営業部門までお問い合わせください。 接続例を図 27.1-2 に示します。 624 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 第 27 章 シリアル書込み接続例 27.1 富士通マイクロエレクトロニクス製 シリアルプログラマ MB90330A シリーズ 図 27.1-2 FUJITSU MICROELECTRONICS MCU Programmer の接続例 ユーザシステム MB90F334A/335A シリアル書込み時 1 1 MD2 0 Vcc 1 MD1 シリアル書込み時 0 シリアル書込み時 0 1 0 MD0 1 P60 0 シリアル書込み時 0 1 0 P61 X0 6 MHz X1 RS-232C ドライバ RST SIN0 SOT0 RS-232C UARTによる通信 Vss (注意事項) プルアップ, プルダウン抵抗値は一例です。システムごとに最適な抵抗値を選択してください。 表 27.1-2 クロック非同期シリアル通信時の入力可能な発振周波数と通信ボーレート CM44-10129-6 原発振周波数 通信ボーレート 6MHz 19200bps FUJITSU MICROELECTRONICS LIMITED 625 第 27 章 シリアル書込み接続例 27.1 富士通マイクロエレクトロニクス製 シリアルプログラマ MB90330A シリーズ ■ FUJITSU MICROELECTRONICS USB Programmer ( クロック同期シリアル書込 み ) の基本構成 FUJITSU MICROELECTRONICS USB Programmer は , パソコンとマイコンをアダプタ (MB2146-09A-E) で接続し , クロック同期シリアル通信によりマイコン内蔵フラッシュ メモリへデータの書込みを行います。 FUJITSU MICROELECTRONICS USB Programmer の基本構成を図 27.1-2, システム構成 をに示します。 図 27.1-3 FUJITSU MICROELECTRONICS USB Programmer の基本構成 CLK 同期シリアル USB アダプタ (MB2146-09A-E) ユーザシステム 表 27.1-3 FUJITSU MICROELECTRONICS USB Programmer のシステム構成 名称 型格 仕様 FUJITSU MICROELECTRONICS USB Programmer − ソフト (Web よりダウンロード可能 ( 登録制 ) ) * アダプタ MB2146-09A-E F2MC ファミリ BGM アダプタ ( 付属品:USB ケーブル ) * 登録は営業部門までお問い合わせください。 接続例を図 27.1-2 に示します。 626 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 第 27 章 シリアル書込み接続例 27.1 富士通マイクロエレクトロニクス製 シリアルプログラマ 図 27.1-4 FUJITSU MICROELECTRONICS USB Programmer の接続例 MB90F334A/335A 3.3 V 3.3 V Vcc 3.3 V 山一電機製コネクタ FAP-10-08#4-0BS 3.3 V 山一電機製コネクタ FAP-10-08#4-0BS インデックスマーク 9 pin 3.3 V MOD1 1 pin 10 pin 4.7 kΩ MOD2 シリアル書込み時 1 1, 10 P60 4.7 kΩ P61 3.3 V 4.7 kΩ 4.7 kΩ 2 pin シリアル書込み時"L" (TOP VIEW) MOD0 4.7 kΩ BGM マイコン BGM コネクタ コネクタ 端子 1 Vcc 6 2 GND 7 マイコン端子 SCK0 X0 SIN0 3 RSTX 8 未接続 4 未接続 9 GND 5 SOT0 10 Vcc 6 MHz X1 3 RST 7 SIN0 5 SOT0 6 SCK0 2, 9 Vss (注意事項)プルアップ抵抗値は一例です。システムごとに最適な抵抗値を選択してください 。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 627 第 27 章 シリアル書込み接続例 27.1 富士通マイクロエレクトロニクス製 シリアルプログラマ 27.1.1 MB90330A シリーズ 使用する端子 表 27.1-4 使用する端子の機能 端子 MD2, MD1, MD0 補足説明 モード端子 MD2=1, MD1=1, MD0=0 に設定することで , シリアル書込み モードになります。 発振用端子 シリアル書込みモード時に , CPU 内部動作クロックは PLL クロック 1 逓倍となりますので , 内部動作クロック周波数 は , 発振クロック周波数と同様になります。シリアル書込 みを行う場合 , 高速発振入力端子に入力可能な周波数は 6 MHz 固定となります。 書込みプログラム起動 端子 同期シリアル書込み時は , P60 に "L" レベル , P61 に "H" レベルを入力してください。 非同期シリアル書込み時は , P60 に "L" レベル , P61 に "L" レベルを入力してください。 RST リセット - SIN0 シリアルデータ入力 SOT0 シリアルデータ出力 SCK0 シリアルクロック入力 X0, X1 P60, P61 628 機能 UART0 を CLK 同期モード , 非同期モードで使用します。 ( 注意事項 ) CLK 非同期モード時は , SCK0 は使用しません。 VCC 電源電圧供給 書込み電圧 (VCC=3.3 V ± 0.3 V) VSS GND フラッシュマイコンプログラマの GND と共通にします。 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 付録 付録では , メモリマップおよび F2MC-16LX に使用 している命令について , 説明します。 付録 A メモリマップ 付録 B 命令 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 629 付録 付録 A メモリマップ 付録 A MB90330A シリーズ メモリマップ メモリ空間は , 3 つのモードに分かれます。 ■ メモリ空間 図 A-1 MB90330A シリーズのメモリマップ シングルチップモード (ROMミラー機能あり) FF0000H FEFFFFH FE0000H FDFFFFH FD0000H FCFFFFH FC0000H FBFFFFH FB0000H FAFFFFH FA0000H F9FFFFH F90000H F8FFFFH ROM (FFバンク) ROM (FEバンク) ROM (FDバンク) ROM (FCバンク) ROM (FBバンク) ROM (FAバンク) ROM (F9バンク) ROM (F8バンク) F80000H 00FFFFH 008000H 007FFFH ROM (FF バンクのイメージ ) 周辺領域 007900H MB90F335A MB90F334A MB90V330A FFFFFFH FFFFFFH FF0000H FEFFFFH FE0000H FDFFFFH FD0000H FCFFFFH FC0000H FBFFFFH FB0000H FAFFFFH FA0000H F9FFFFH F90000H F8FFFFH F80000H 00FFFFH 008000H 007FFFH ROM (FFバンク) ROM (FEバンク) ROM (FDバンク) ROM (FBバンク) ROM (FAバンク) ROM (F9バンク) FFFFFFH FF0000H FEFFFFH FE0000H FDFFFFH FD0000H FCFFFFH FC0000H FBFFFFH FB0000H FAFFFFH FA0000H F9FFFFH F90000H F8FFFFH ROM (FFバンク) ROM (FEバンク) ROM (FDバンク) ROM (FCバンク) ROM (FBバンク) ROM (FAバンク) ROM (F9バンク) ROM (F8バンク) F80000H ROM (FF バンクのイメージ ) 周辺領域 00FFFFH 008000H 007FFFH ROM (FF バンクのイメージ ) 周辺領域 007900H 007900H MB90333A FFFFFFH FF0000H FEFFFFH FE0000H FDFFFFH FD0000H FCFFFFH FC0000H FBFFFFH FB0000H FAFFFFH FA0000H F9FFFFH F90000H F8FFFFH F80000H 00FFFFH 008000H 007FFFH ROM (FFバンク) ROM (FEバンク) ROM (FDバンク) ROM (FBバンク) ROM (FF バンクのイメージ ) 周辺領域 007900H 007100H RAM 領域 (28K バイト ) 000100H レジスタ 0000FBH 006100H 000100H 630 レジスタ 000100H 004100H RAM 領域 (16K バイト ) 000100H レジスタ 0000FBH 周辺領域 周辺領域 周辺領域 000000H レジスタ 0000FBH 0000FBH 周辺領域 000000H RAM 領域 (30K バイト ) RAM 領域 (24K バイト ) 000000H FUJITSU MICROELECTRONICS LIMITED 000000H CM44-10129-6 MB90330A シリーズ 付録 付録 A メモリマップ <注意事項> • • ROM ミラー機能の設定は , 「第 23 章 ROM ミラー機能選択モジュール」を参照してください。 ROM ミラー機能レジスタの設定を行った場合 , 00 バンクの上位側 ("008000H ∼ 00FFFFH") に FF バンクの上位側 ("FF8000H ∼ FFFFFFH") のデータがミラーイメージで見えるようになります。 • ROM ミラー機能は , C コンパイラのスモールモデルを有効に生かすことができます。 • • FF バンクの下位 16 ビットアドレスは , 00 バンクの下位 16 ビットアドレスと同じになります。た だし , FF バンクの ROM 領域は 48K バイトを超えますので , 00 バンクには , ROM 領域の全デー タをミラーイメージで見せることはできません。 C コンパイラのスモールモデルをご使用の場合は , データテーブルを "FF8000H ∼ FFFFFFH" に格 • ができます。したがって , ポインタで far 指定を宣言することなく , ROM 領域内のデータテーブ ルを参照できます。 MB90F335A は , 搭載 RAM 領域が MB90V330A よりも大きいため , 007100H より大きい領域のエ 納しておくことで , "008000H ∼ 00FFFFH" のミラーイメージとしてデータテーブルを見せること ミュレーションは , ツール側でエミュレーションメモリエリアの設定を行う必要があります。 設定については , 下記 URL より「アプリケーションノート」→「MB90330A series デバッグ環境 設定に関する注意事項」を参照してください。 http://edevice.fujitsu.com/micom/jp-support/ • エミュレーションメモリ領域 (007100H ∼ 0078FFH) へのアクセスは , 搭載 RAM 領域へのアクセ スより 1 サイクル多く , 3 サイクルとなります。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 631 付録 付録 A メモリマップ MB90330A シリーズ 図 A-2 MB90330A シリーズのメモリマップ 内ROM外バスモード (ROMミラー機能あり) FF0000H FEFFFFH FE0000H FDFFFFH FD0000H FCFFFFH FC0000H FBFFFFH FB0000H FAFFFFH FA0000H F9FFFFH F90000H F8FFFFH ROM (FFバンク) ROM (FEバンク) ROM (FDバンク) ROM (FCバンク) ROM (FBバンク) ROM (FAバンク) ROM (F9バンク) ROM (F8バンク) F80000H FFFFFFH FF0000H FEFFFFH FE0000H FDFFFFH FD0000H FCFFFFH FC0000H FBFFFFH FB0000H FAFFFFH FA0000H F9FFFFH F90000H F8FFFFH F80000H 外部領域 00FFFFH 008000H 007FFFH ROM (FF バンクのイメージ ) 周辺領域 007900H MB90F335A MB90F334A MB90V330A FFFFFFH ROM (FFバンク) ROM (FEバンク) ROM (FDバンク) *1 ROM (FBバンク) ROM (FAバンク) ROM (F9バンク) *1 FFFFFFH FF0000H FEFFFFH FE0000H FDFFFFH FD0000H FCFFFFH FC0000H FBFFFFH FB0000H FAFFFFH FA0000H F9FFFFH F90000H F8FFFFH ROM (FFバンク) ROM (FEバンク) ROM (FDバンク) ROM (FCバンク) ROM (FBバンク) ROM (FAバンク) ROM (F9バンク) ROM (F8バンク) F80000H 008000H 007FFFH ROM (FF バンクのイメージ ) 周辺領域 外部領域 00FFFFH 008000H 007FFFH ROM (FF バンクのイメージ ) 周辺領域 007900H 007900H FF0000H FEFFFFH FE0000H FDFFFFH FD0000H FCFFFFH FC0000H FBFFFFH FB0000H FAFFFFH FA0000H F9FFFFH F90000H F8FFFFH F80000H 外部領域 外部領域 00FFFFH MB90333A FFFFFFH RAM 領域 (28K バイト ) レジスタ 000100H 00FFFFH 008000H 007FFFH 0000FBH 000000H 000100H ROM (FBバンク) *2 外部領域 外部領域 ROM (FF バンクのイメージ ) 周辺領域 004100H RAM 領域 (16K バイト ) 000100H レジスタ 0000FBH 周辺領域 周辺領域 周辺領域 000000H レジスタ 0000FBH 0000FBH 周辺領域 *2 外部領域 RAM 領域 (30K バイト ) RAM 領域 (24K バイト ) レジスタ ROM (FDバンク) 007900H 外部領域 000100H ROM (FEバンク) 外部領域 007100H 006100H ROM (FFバンク) 000000H 000000H *1 : MB90F334A では , F80000H ∼ F8FFFFH, FC0000H ∼ FCFFFFH の領域のリード動作時には "1" がリードされます。 *2 : MB90333A では , FA0000H ∼ FAFFFFH, FC0000H ∼ FCFFFFH の領域のリード動作時には "1" がリードされます。 <注意事項> • ROM ミラー機能レジスタの設定を行った場合 , 00 バンクの上位側 ("008000H ∼ 00FFFFH") に FF バンクの上位側 ("FF8000H ∼ FFFFFFH") のデータがミラーイメージで見えるようになります。 • • • ROM ミラー機能は , C コンパイラのスモールモデルを有効に生かすことができます。 FF バンクの下位 16 ビットアドレスは , 00 バンクの下位 16 ビットアドレスと同じになります。た だし , FF バンクの ROM 領域は 48K バイトを超えますので , 00 バンクには , ROM 領域の全デー タをミラーイメージで見せることはできません。 C コンパイラのスモールモデルをご使用の場合は , データテーブルを "FF8000H ∼ FFFFFFH" に格 納しておくことで , "008000H ∼ 00FFFFH" のミラーイメージとしてデータテーブルを見せること • ができます。したがって , ポインタで far 指定を宣言することなく , ROM 領域内のデータテーブ ルを参照できます。 MB90F335A は , 搭載 RAM 領域が MB90V330A よりも大きいため , 007100H より大きい領域のエ ミュレーションは , ツール側でエミュレーションメモリエリアの設定を行う必要があります。 設定については , 下記 URL より「アプリケーションノート」→「MB90330A series デバッグ環境 設定に関する注意事項」を参照してください。 http://edevice.fujitsu.com/micom/jp-support/ • エミュレーションメモリ領域 (007100H ∼ 0078FFH) へのアクセスは , 搭載 RAM 領域へのアクセ スより 1 サイクル多く , 3 サイクルとなります。 632 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 付録 付録 A メモリマップ MB90330A シリーズ 図 A-3 MB90330A シリーズのメモリマップ 外ROM外バスモード FFFFFFH FFFFFFH 外部領域 008000H 007FFFH 周辺領域 007900H MB90F335A MB90F334A MB90V330A FFFFFFH 外部領域 008000H 007FFFH 周辺領域 外部領域 外部領域 008000H 007FFFH 周辺領域 007900H 007900H MB90333A FFFFFFH 外部領域 008000H 007FFFH 外部領域 外部領域 007100H RAM 領域 (28K バイト ) レジスタ 000100H 0000FBH 006100H 000100H 000100H 004100H RAM 領域 (16K バイト ) 000100H レジスタ 0000FBH 周辺領域 周辺領域 周辺領域 000000H レジスタ 0000FBH 0000FBH 周辺領域 000000H RAM 領域 (30K バイト ) RAM 領域 (24K バイト ) レジスタ 周辺領域 007900H 000000H 000000H <注意事項> • ROM ミラー機能レジスタの設定を行った場合 , 00 バンクの上位側 ("008000H ∼ 00FFFFH") に FF バンクの上位側 ("FF8000H ∼ FFFFFFH") のデータがミラーイメージで見えるようになります。 • ROM ミラー機能は , C コンパイラのスモールモデルを有効に生かすことができます。 FF バンクの下位 16 ビットアドレスは , 00 バンクの下位 16 ビットアドレスと同じになります。た だし , FF バンクの ROM 領域は 48K バイトを超えますので , 00 バンクには , ROM 領域の全デー タをミラーイメージで見せることはできません。 C コンパイラのスモールモデルをご使用の場合は , データテーブルを "FF8000H ∼ FFFFFFH" に格 • ができます。したがって , ポインタで far 指定を宣言することなく , ROM 領域内のデータテーブ ルを参照できます。 MB90F335A は , 搭載 RAM 領域が MB90V330A よりも大きいため , 007100H より大きい領域のエ • • 納しておくことで , "008000H ∼ 00FFFFH" のミラーイメージとしてデータテーブルを見せること ミュレーションは , ツール側でエミュレーションメモリエリアの設定を行う必要があります。 設定については , 下記 URL より「アプリケーションノート」→「MB90330A series デバッグ環境 設定に関する注意事項」を参照してください。 http://edevice.fujitsu.com/micom/jp-support/ • エミュレーションメモリ領域 (007100H ∼ 0078FFH) へのアクセスは , 搭載 RAM 領域へのアクセ スより 1 サイクル多く , 3 サイクルとなります。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 633 付録 付録 A メモリマップ MB90330A シリーズ ■ I/O マップ 表 A-1 に , 各周辺機能のレジスタに割り当てられるアドレスを示します。 表 A-1 I/O マップ (1 / 7) アドレス レジスタ 略称 アクセス リソース 初期値 000000H ポート 0 データレジスタ PDR0 R/W ポート 0 XXXXXXXX 000001H ポート 1 データレジスタ PDR1 R/W ポート 1 XXXXXXXX 000002H ポート 2 データレジスタ PDR2 R/W ポート 2 XXXXXXXX 000003H ポート 3 データレジスタ PDR3 R/W ポート 3 XXXXXXXX 000004H ポート 4 データレジスタ PDR4 R/W ポート 4 XXXXXXXX 000005H ポート 5 データレジスタ PDR5 R/W ポート 5 XXXXXXXX 000006H ポート 6 データレジスタ PDR6 R/W ポート 6 XXXXXXXX 000007H ポート 7 データレジスタ PDR7 R/W ポート 7 XXXXXXXX 000008H ポート 8 データレジスタ PDR8 R/W ポート 8 XXXXXXXX 000009H ポート 9 データレジスタ PDR9 R/W ポート 9 -XXXXXXX 00000AH ポート A データレジスタ PDRA R/W ポート A XXXXXXXX 00000BH 00000CH 00000DH 使用禁止 ポート B データレジスタ PDRB R/W ポート B -XXXXXXX ポート B 方向レジスタ DDRB R/W ポート B -0000000 00000EH 使用禁止 00000FH 000010H ポート 0 方向レジスタ DDR0 R/W ポート 0 00000000 000011H ポート 1 方向レジスタ DDR1 R/W ポート 1 00000000 000012H ポート 2 方向レジスタ DDR2 R/W ポート 2 00000000 000013H ポート 3 方向レジスタ DDR3 R/W ポート 3 00000000 000014H ポート 4 方向レジスタ DDR4 R/W ポート 4 00000000 000015H ポート 5 方向レジスタ DDR5 R/W ポート 5 00000000 000016H ポート 6 方向レジスタ DDR6 R/W ポート 6 00000000 000017H ポート 7 方向レジスタ DDR7 R/W ポート 7 00000000 000018H ポート 8 方向レジスタ DDR8 R/W ポート 8 00000000 000019H ポート 9 方向レジスタ DDR9 R/W ポート 9 -0000000 00001AH ポート A 方向レジスタ DDRA R/W ポート A 00000000 00001BH ポート 4 出力端子レジスタ ODR4 R/W ポート 4(OD 制御 ) 00000000 00001CH ポート 0 プルアップ抵抗レジスタ RDR0 R/W ポート 0(PULLUP) 00000000 00001DH ポート 1 プルアップ抵抗レジスタ RDR1 R/W ポート 1(PULLUP) 00000000 00001EH アナログ入力許可レジスタ 0 ADER0 R/W ポート 7, A/D 11111111 00001FH アナログ入力許可レジスタ 1 ADER1 R/W ポート 8, A/D 11111111 シリアルモードレジスタ 0 SMR0 R/W 000020H 000021H 000022H シリアル制御レジスタ 0 SCR0 R/W,W シリアル入力データレジスタ 0 SIDR0 R シリアル出力データレジスタ 0 SODR0 W 00100000 00000100 UART0 XXXXXXXX 000023H シリアルステータスレジスタ 0 SSR0 R/W,R 00001000 000024H UART プリスケーラリロードレジスタ 0 UTRLR0 R/W 00000000 000025H UART プリスケーラ制御レジスタ 0 UTCR0 R/W 000026H シリアルモードレジスタ 1 SMR1 R/W 000027H シリアル制御レジスタ 1 SCR1 R/W,W シリアル入力データレジスタ 1 SIDR1 R シリアル出力データレジスタ 1 SODR1 W シリアルステータスレジスタ 1 SSR1 R/W,R 000028H 000029H 634 通信プリスケーラ (UART0) FUJITSU MICROELECTRONICS LIMITED 0000-000 00100000 00000100 UART1 XXXXXXXX 00001000 CM44-10129-6 付録 付録 A メモリマップ MB90330A シリーズ 表 A-1 I/O マップ (2 / 7) アドレス レジスタ 略称 00002AH UART プリスケーラリロードレジスタ 1 00002BH UART プリスケーラ制御レジスタ 1 00002CH シリアルモードレジスタ 2 SMR2 R/W 00002DH シリアル制御レジスタ 2 SCR2 R/W,W シリアル入力データレジスタ 2 SIDR2 R シリアル出力データレジスタ 2 SODR2 W 00002EH アクセス リソース 初期値 UTRLR1 R/W R/W 通信プリスケーラ (UART1) 00000000 UTCR1 0000-000 00100000 00000100 UART2 XXXXXXXX 00002FH シリアルステータスレジスタ 2 SSR2 R/W,R 00001000 000030H UART プリスケーラリロードレジスタ 2 UTRLR2 R/W 00000000 000031H UART プリスケーラ制御レジスタ 2 UTCR2 R/W 000032H シリアルモードレジスタ 3 SMR3 R/W 00100000 000033H シリアル制御レジスタ 3 SCR3 R/W,W 00000100 シリアル入力データレジスタ 3 SIDR3 R シリアル出力データレジスタ 3 SODR3 W 000035H シリアルステータスレジスタ 3 SSR3 R/W,R 000036H UART プリスケーラリロードレジスタ 3 UTRLR3 R/W 000037H UART プリスケーラ制御レジスタ 3 UTCR3 R/W 000034H 000038H ∼ 00003BH 通信プリスケーラ (UART2) UART3 0000-000 XXXXXXXX 00001000 通信 プリスケーラ (UART3) 00000000 0000-000 使用禁止 00003CH DTP/ 割込み許可レジスタ ENIR 00003DH DTP/ 割込み要因レジスタ EIRR 00003EH 要求レベル設定レジスタ下位 00003FH 要求レベル設定レジスタ上位 000040H A/D 制御ステータスレジスタ下位 ADCS0 R/W 000041H A/D 制御ステータスレジスタ上位 ADCS1 R/W,W 000042H A/D データレジスタ下位 ADCR0 R 000043H A/D データレジスタ上位 ADCR1 W. R 000044H ELVR R/W R/W R/W 00000000 DTP/ 外部割込み R/W 00000000 00000000 00000000 00-----0 8/10 ビット A/D コンバータ 00000000 XXXXXXXX 00101XXX 使用禁止 R/W 8/10 ビット A/D コンバータ 00000000 PPGC0 R/W PPG ch.0 0X000XX1 PPGC1 R/W PPG ch.1 0X000001 PPG2 動作モード制御レジスタ PPGC2 R/W PPG ch.2 0X000XX1 000049H PPG3 動作モード制御レジスタ PPGC3 R/W PPG ch.3 0X000001 00004AH PPG4 動作モード制御レジスタ PPGC4 R/W PPG ch.4 0X000XX1 00004BH PPG5 動作モード制御レジスタ PPGC5 R/W PPG ch.5 0X000001 00004CH PPG0, 1 出力制御レジスタ PPG01 R/W PPG ch.0/1 000000XX R/W PPG ch.2/3 000000XX R/W PPG ch.4/5 000000XX 000045H A/D 変換チャネル選択レジスタ ADMR 000046H PPG0 動作モード制御レジスタ 000047H PPG1 動作モード制御レジスタ 000048H 00004DH 使用禁止 00004EH PPG2, 3 出力制御レジスタ 00004FH PPG23 使用禁止 000050H PPG4, 5 出力制御レジスタ 000051H PPG45 使用禁止 000052H インプットキャプチャコントロールステータス レジスタ 01 ICS01 R/W インプット キャプチャ 0/1 00000000 000053H インプットキャプチャコントロールステータス レジスタ 23 ICS23 R/W インプット キャプチャ 2/3 00000000 000054H アウトプットコンペアコントロールレジスタ ch.0 下位 OCS0 R/W 000055H アウトプットコンペアコントロールレジスタ ch.1 上位 OCS1 R/W 000056H アウトプットコンペアコントロールレジスタ ch.2 下位 OCS2 R/W 000057H アウトプットコンペアコントロールレジスタ ch.3 上位 OCS3 R/W CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED アウトプット コンペア ch.0/1 0000--00 アウトプット コンペア ch.2/3 0000--00 ---00000 ---00000 635 付録 付録 A メモリマップ MB90330A シリーズ 表 A-1 I/O マップ (3 / 7) アドレス レジスタ 略称 アクセス 000058H シリアルモードコントロール ステータスレジスタ SMCS R/W 000059H 00005AH シリアルデータレジスタ SDR R/W 00005BH 通信プリスケーラ制御レジスタ SDCR R/W PWC コントロールステータスレジスタ PWCSR R/W,R 00005CH 00005DH 00005EH 00005FH PWC データバッファレジスタ PWCR R/W PWC 分周比制御レジスタ DIVR R/W 000060H 000061H 初期値 XXXX0000 00000010 拡張シリアル I/O XXXXXXXX 0XXX0000 通信プリスケーラ 00000000 0000000X 16 ビット PWC タイマ 00000000 00000000 ------00 使用禁止 000062H 000063H 000064H 000065H 000066H 000067H 000068H 000069H 00006AH 00006BH 00006CH 00006DH 00000000 タイマ制御ステータスレジスタ 0 TMCSR0 R/W 16 ビットタイマレジスタ 0 下位 TMR0 R 16 ビットリロードレジスタ 0 下位 TMRLR0 W 16 ビットタイマレジスタ 0 上位 TMR0 R XXXXXXXX 16 ビットリロードレジスタ 0 上位 TMRLR0 W XXXXXXXX タイマ制御ステータスレジスタ 1 TMCSR1 R/W 16 ビットタイマレジスタ 1 下位 TMR1 R 16 ビットリロードレジスタ 1 下位 TMRLR1 W XXXX0000 16 ビット リロードタイマ ch.0 XXXXXXXX XXXXXXXX 00000000 XXXX0000 16 ビット リロードタイマ ch.1 XXXXXXXX XXXXXXXX 16 ビットタイマレジスタ 1 上位 TMR1 R XXXXXXXX 16 ビットリロードレジスタ 1 上位 TMRLR1 W XXXXXXXX タイマ制御ステータスレジスタ 2 TMCSR2 R/W 16 ビットタイマレジスタ 2 下位 TMR2 R 16 ビットリロードレジスタ 2 下位 TMRLR2 W 16 ビットタイマレジスタ 2 上位 TMR2 R XXXXXXXX TMRLR2 W XXXXXXXX 16 ビットリロードレジスタ 2 上位 00006EH 00000000 XXXX0000 16 ビット リロードタイマ ch.2 XXXXXXXX XXXXXXXX 使用禁止 00006FH ROM ミラー機能選択レジスタ 000070H I2C 000071H 2 000072H リソース バスステータスレジスタ 0 I C バスコントロールレジスタ 0 I2C ROMM R/W,W IBSR0 R IBCR0 R/W ------11 ROM ミラー機能 00000000 I2C バスインタフェース ch.0 00000000 ICCR0 R/W 000073H 2 I C バスアドレスレジスタ 0 IADR0 R/W 000074H I2C バスデータレジスタ 0 IDAR0 R/W XXXXXXXX 00000000 バスクロックコントロールレジスタ 0 000075H 使用禁止 000076H I2C バスステータスレジスタ 1 IBSR1 R 000077H 2 IBCR1 R/W 000078H XX0XXXXX XXXXXXXX I C バスコントロールレジスタ 1 2 I2C バスインタフェース ch.1 00000000 ICCR1 R/W 000079H 2 I C バスアドレスレジスタ 1 IADR1 R/W 00007AH I2C バスデータレジスタ 1 IDAR1 R/W XXXXXXXX 00000000 I C バスクロックコントロールレジスタ 1 00007BH 使用禁止 00007CH I2C バスステータスレジスタ 2 IBSR2 R 00007DH 2 I C バスコントロールレジスタ 2 IBCR2 R/W I C バスクロックコントロールレジスタ 2 ICCR2 R/W 00007EH 2 00007FH 2 I C バスアドレスレジスタ 2 IADR2 R/W 000080H I2C バスデータレジスタ 2 IDAR2 R/W 636 XX0XXXXX XXXXXXXX I2C バスインタフェース ch.2 FUJITSU MICROELECTRONICS LIMITED 00000000 XX0XXXXX XXXXXXXX XXXXXXXX CM44-10129-6 付録 付録 A メモリマップ MB90330A シリーズ 表 A-1 I/O マップ (4 / 7) アドレス レジスタ 000081H ∼ 000085H 略称 アクセス リソース 初期値 使用禁止 000086H タイマカウンタデータレジスタ下位 000087H タイマカウンタデータレジスタ上位 000088H タイマコントロールステータスレジスタ下位 000089H タイマコントロールステータスレジスタ上位 00008AH コンペアクリアレジスタ下位 00008BH コンペアクリアレジスタ上位 00008CH ∼ 00009AH TCDT TCCS CPCLR R/W 00000000 R/W 00000000 R/W R/W 16 ビット フリーランタイマ 00000000 0XX00000 R/W XXXXXXXX R/W XXXXXXXX R/W 00000000 使用禁止 00009BH DMA ディスクリプタチャネル指定レジスタ 00009CH DMA ステータスレジスタ下位 DSRL R/W 00009DH DMA ステータスレジスタ上位 DSRH R/W 00009EH プログラムアドレス検出 コントロール ステータスレジスタ PACSR R/W アドレス一致検出 00009FH DCSR μDMAC 00000000 00000000 00000000 遅延割込み要因発生 / 解除レジスタ DIRR R/W 遅延割込み -------0 0000A0H 低消費電力モード制御レジスタ LPMCR R/W,W 低消費電力 00011000 0000A1H クロック選択レジスタ CKSCR R/W,R クロック 11111100 DSSR R/W μDMAC 00000000 外部端子 ******** 0000A2H, 0000A3H 使用禁止 0000A4H DMA ストップステータスレジスタ 0000A5H 自動レディ機能選択レジスタ ARSR W 0000A6H 外部アドレス出力制御レジスタ HACR W 0000A7H バス制御信号選択レジスタ EPCR W 0000A8H ウォッチドッグタイマ制御レジスタ WDTC R, W ウォッチ ドッグタイマ X-XXX111 0000A9H タイムベースタイマ制御レジスタ TBTC R/W,W タイムベース タイマ 1--00100 0000AAH 時計タイマ制御レジスタ WTC R/W,R 時計タイマ 10001000 0000ABH 0011--00 1000*10- 使用禁止 0000ACH DMA 許可レジスタ下位 DERL 0000ADH DMA 許可レジスタ上位 DERH 0000AEH フラッシュメモリコントロールステータスレジスタ FMCS 0000AFH R/W μDMAC R/W R/W,R,W フラッシュメモリ I/F 00000000 00000000 000X0000 使用禁止 0000B0H 割込み制御レジスタ 00 ICR00 R/W 00000111 0000B1H 割込み制御レジスタ 01 ICR01 R/W 00000111 0000B2H 割込み制御レジスタ 02 ICR02 R/W 00000111 0000B3H 割込み制御レジスタ 03 ICR03 R/W 00000111 0000B4H 割込み制御レジスタ 04 ICR04 R/W 00000111 0000B5H 割込み制御レジスタ 05 ICR05 R/W 00000111 0000B6H 割込み制御レジスタ 06 ICR06 R/W 00000111 0000B7H 割込み制御レジスタ 07 ICR07 R/W 0000B8H 割込み制御レジスタ 08 ICR08 R/W 0000B9H 割込み制御レジスタ 09 ICR09 R/W 00000111 0000BAH 割込み制御レジスタ 10 ICR10 R/W 00000111 0000BBH 割込み制御レジスタ 11 ICR11 R/W 00000111 0000BCH 割込み制御レジスタ 12 ICR12 R/W 00000111 0000BDH 割込み制御レジスタ 13 ICR13 R/W 00000111 0000BEH 割込み制御レジスタ 14 ICR14 R/W 00000111 0000BFH 割込み制御レジスタ 15 ICR15 R/W 00000111 CM44-10129-6 割込みコントローラ FUJITSU MICROELECTRONICS LIMITED 00000111 00000111 637 付録 付録 A メモリマップ MB90330A シリーズ 表 A-1 I/O マップ (5 / 7) アドレス レジスタ 略称 アクセス リソース 初期値 0000C0H ホストコントロールレジスタ 0 HCNT0 R/W 00000000 0000C1H ホストコントロールレジスタ 1 HCNT1 R/W 00000001 0000C2H ホスト割込みレジスタ HIRQ R/W 00000000 0000C3H ホストエラーステータスレジスタ HERR R/W 00000011 0000C4H ホスト状態ステータスレジスタ HSTATE R/W,R XX010010 0000C5H SOF 割込み FRAME 比較レジスタ HFCOMP R/W 00000000 0000C6H 0000C7H 00000000 リトライタイマ設定レジスタ HRTIMER R/W 00000000 USB ホスト 0000C8H 0000C9H 0000CAH 0000CBH 0000CCH 0000CDH 0000CEH XXXXXX00 ホストアドレスレジスタ HADR R/W EOF 設定レジスタ HEOF R/W FRAME 設定レジスタ HFRAME R/W ホストトークンエンドポイントレジスタ HTOKEN R/W 0000CFH 0000D0H 0000D1H 0000D2H 0000D3H 0000D4H 0000D5H 0000D6H 0000D7H 0000D8H 0000D9H 0000DAH 0000DBH 0000DCH 0000DDH 0000DEH 0000DFH X0000000 00000000 XX000000 00000000 XXXXX000 00000000 使用禁止 UDC 制御レジスタ UDCC EP0 制御レジスタ EP0C EP1 制御レジスタ EP1C EP2 制御レジスタ EP2C EP3 制御レジスタ EP3C EP4 制御レジスタ EP4C EP5 制御レジスタ タイムスタンプレジスタ EP5C TMSP 10100000 R/W 00000000 R/W 01000000 R/W XXXX0000 R/W 00000000 R/W 01100001 R/W 01000000 R/W 01100000 R/W 01000000 R/W 01100000 R/W 01000000 R/W 01100000 R/W 01000000 R/W 01100000 R 00000000 R USB ファンクション XXXXX000 0000E0H UDC ステータスレジスタ UDCS R/W 0000E1H UDC 割込み許可レジスタ UDCIE R/W,R 00000000 R/W XXXXXXXX 0000E2H 0000E3H 0000E4H 0000E5H 0000E6H 0000E7H 0000E8H 0000E9H 0000EAH 0000EBH 0000ECH 0000EDH 0000EEH 0000EFH 638 EP0I ステータスレジスタ EP0O ステータスレジスタ EP0IS EP0OS EP1 ステータスレジスタ EP1S EP2 ステータスレジスタ EP2S EP3 ステータスレジスタ EP3S EP4 ステータスレジスタ EP4S EP5 ステータスレジスタ EP5S XX000000 R/W 10XXX1XX R/W,R 0XXXXXXX R/W 100XX000 R XXXXXXXX R/W,R 1000000X R 0XXXXXXX R/W,R 10000000 R 0XXXXXXX R/W,R 10000000 R 0XXXXXXX R/W,R 10000000 R 0XXXXXXX R/W,R 10000000 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 付録 付録 A メモリマップ MB90330A シリーズ 表 A-1 I/O マップ (6 / 7) アドレス 0000F0H 0000F1H 0000F2H 0000F3H 0000F4H 0000F5H 0000F6H レジスタ 略称 EP0 データレジスタ EP0DT EP1 データレジスタ EP1DT EP2 データレジスタ EP2DT EP3 データレジスタ 0000F7H 0000F8H 0000F9H 0000FAH 0000FBH EP3DT EP4 データレジスタ EP4DT EP5 データレジスタ EP5DT 0000FCH ∼ 0000FFH 使用禁止 000100H ∼ #H RAM 領域 アクセス R/W XXXXXXXX XXXXXXXX R/W XXXXXXXX R/W XXXXXXXX R/W XXXXXXXX R/W R/W XXXXXXXX XXXXXXXX XXXXXXXX R/W XXXXXXXX R/W XXXXXXXX R/W XXXXXXXX R/W XXXXXXXX R/W XXXXXXXX R/W XXXXXXXX 001FF1H プログラムアドレス検出レジスタ ch.0 中位 001FF2H プログラムアドレス検出レジスタ ch.0 上位 R/W 001FF3H プログラムアドレス検出レジスタ ch.1 下位 R/W 001FF4H プログラムアドレス検出レジスタ ch.1 中位 001FF5H プログラムアドレス検出レジスタ ch.1 上位 #H ∼ 0078FFH USB ファンクション R/W プログラムアドレス検出レジスタ ch.0 下位 PADR1 初期値 R/W 001FF0H PADR0 リソース アドレス一致検出 XXXXXXXX XXXXXXXX R/W XXXXXXXX R/W XXXXXXXX 未使用領域 007900H PPG リロードレジスタ下位 ch.0 PRLL0 R/W 007901H 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 PPG リロードレジスタ下位 ch.4 PRLL4 R/W 007909H PPG リロードレジスタ上位 ch.4 PRLH4 R/W 00790AH PPG リロードレジスタ下位 ch.5 PRLL5 R/W 00790BH PPG リロードレジスタ上位 ch.5 PRLH5 R/W 00790CH ∼ 00790FH PPG ch.0 PPG ch.1 PPG ch.2 PPG ch.3 PPG ch.4 PPG ch.5 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 使用禁止 007910H インプットキャプチャデータレジスタ下位 ch.0 007911H インプットキャプチャデータレジスタ上位 ch.0 007912H インプットキャプチャデータレジスタ下位 ch.1 007913H インプットキャプチャデータレジスタ上位 ch.1 007914H インプットキャプチャデータレジスタ下位 ch.2 007915H インプットキャプチャデータレジスタ上位 ch.2 007916H インプットキャプチャデータレジスタ下位 ch.3 007917H インプットキャプチャデータレジスタ上位 ch.3 CM44-10129-6 IPCP0 IPCP1 IPCP2 IPCP3 R XXXXXXXX R XXXXXXXX R インプット キャプチャ ch.0/1 XXXXXXXX R XXXXXXXX R XXXXXXXX R R インプット キャプチャ ch.2/3 R FUJITSU MICROELECTRONICS LIMITED XXXXXXXX XXXXXXXX XXXXXXXX 639 付録 付録 A メモリマップ MB90330A シリーズ 表 A-1 I/O マップ (7 / 7) アドレス レジスタ 007918H アウトプットコンペアレジスタ下位 ch.0 007919H アウトプットコンペアレジスタ上位 ch.0 00791AH アウトプットコンペアレジスタ下位 ch.1 00791BH アウトプットコンペアレジスタ上位 ch.1 00791CH アウトプットコンペアレジスタ下位 ch.2 00791DH アウトプットコンペアレジスタ上位 ch.2 00791EH アウトプットコンペアレジスタ下位 ch.3 略称 OCCP0 OCCP1 OCCP2 OCCP3 アクセス リソース 初期値 R/W XXXXXXXX R/W アウトプット コンペア ch.0/1 XXXXXXXX R/W XXXXXXXX R/W XXXXXXXX R/W XXXXXXXX R/W R/W アウトプット コンペア ch.2/3 XXXXXXXX XXXXXXXX 00791FH アウトプットコンペアレジスタ上位 ch.3 007920H DMA バッファアドレスポインタ 下位 8 ビット DBAPL R/W XXXXXXXX 007921H DMA バッファアドレスポインタ 中位 8 ビット DBAPM R/W XXXXXXXX 007922H DMA バッファアドレスポインタ 上位 8 ビット DBAPH R/W XXXXXXXX 007923H DMA コントロールレジスタ DMACS R/W 007924H DMA I/O レジスタアドレスポインタ下位 8 ビット DIOAL R/W 007925H DMA I/O レジスタアドレスポインタ上位 8 ビット DIOAH R/W XXXXXXXX 007926H DMA データカウンタ下位 8 ビット DDCTL R/W XXXXXXXX 007927H DMA データカウンタ上位 8 ビット DDCTH R/W XXXXXXXX 007928H ∼ 007FFFH R/W XXXXXXXX μDMAC XXXXXXXX XXXXXXXX 使用禁止 ・読出し / 書込みについての説明 R/W: リード・ライト可能 R: リードオンリ W: ライトオンリ ・初期値についての説明 0: 初期値は "0" です。 1: 初期値は "1" です。 X: 初期値は不定です。 -: 未定義ビットです。初期値は不定です。 *: 初期値は "1" または "0" です。 <注意事項> 7900H ∼ 7FFFH に配置されているレジスタについては , I/O 系命令は使用できません。 640 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 付録 付録 A メモリマップ MB90330A シリーズ ■ 割込み要因と割込みベクタ , 割込み制御レジスタ 表 A-2 に , 割込み要因と割込みベクタおよび割込み制御レジスタとの対応を示します。 表 A-2 割込み要因と割込みベクタおよび割込み制御レジスタとの対応 割込み要因 EI2OS クリア μDMAC チャネル番号 割込みベクタ 割込み制御レジスタ 番号 アドレス ICR アドレス FFFFDCH - - リセット × × #08 INT9 命令 × × #09 FFFFD8H - - 例外処理 × × #10 FFFFD4H - - USB ファンクション 1 × 0, 1 #11 FFFFD0H × 2∼6* #12 FFFFCCH ICR00 USB ファンクション 2 0000B0H USB ファンクション 3 × × #13 FFFFC8H × × #14 FFFFC4H ICR01 USB ファンクション 4 0000B1H USB ホスト 1 × × #15 FFFFC0H × × #16 FFFFBCH ICR02 USB ホスト 2 0000B2H I2C ch.0 × × #17 FFFFB8H ICR03 ○ × #18 FFFFB4H 0000B3H DTP/ 外部割込み ch.0/ch.1 I2C ch.1 × × #19 FFFFB0H ICR04 ○ × #20 FFFFACH 0000B4H DTP/ 外部割込み ch.2/ch.3 I2C ch.2 × × #21 FFFFA8H ICR05 ○ × #22 FFFFA4H 0000B5H DTP/ 外部割込み ch.4/ch.5 PWC/ リロードタイマ ch.0 △ 14 #23 FFFFA0H △ × #24 FFFF9CH ICR06 DTP/ 外部割込み ch.6/7 0000B6H インプットキャプチャ ch.0/ch.1 △ 7 #25 FFFF98H △ × #26 FFFF94H ICR07 リロードタイマ ch.1 0000B7H インプットキャプチャ ch.2/ch.3 △ 8 #27 FFFF90H △ × #28 FFFF8CH ICR08 リロードタイマ ch.2 0000B8H アウトプットコンペア ch.0/ch.1 ○ × #29 FFFF88H × × #30 FFFF84H ICR09 PPG ch.0/ch.1 0000B9H アウトプットコンペア ch.2/ch.3 ○ × #31 FFFF80H × × #32 FFFF7CH ICR10 PPG ch.2/ch.3 0000BAH UART 送信完了 ch.2/ch.3 ○ 11 #33 FFFF78H × × #34 FFFF74H ICR11 PPG ch.4/ch.5 0000BBH UART 受信完了 ch.2/ch.3 ◎ 10 #35 FFFF70H △ 15 #36 FFFF6CH ICR12 AD 変換 / フリーランタイマ 0000BCH UART 送信完了 ch.0/ch.1 ○ 13 #37 FFFF68H × 9 #38 FFFF64H ICR13 拡張シリアル I/O 0000BDH UART 受信完了 ch.0/ch.1 ◎ 12 #39 FFFF60H ICR14 0000BEH ICR15 0000BFH タイムベースタイマ / 時計タイマ × × #40 FFFF5CH フラッシュ書込み / 消去 × × #41 FFFF58H 遅延割込み発生モジュール × × #42 FFFF54H ◎ : 使用可能。EI2OS 停止機能付 ( 割込みクリア信号で , 割込み要求フラグはクリアされます。ストップ要求あり ) ○ : 使用可能。( 割込みクリア信号で , 割込み要求フラグはクリアされます。) △ : ICR を共有する割込み要因を使用しない場合に使用可能 × : 使用不可能 * : チャネル 2, 3 は , USB ホスト動作時でも使用できます。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 641 付録 付録 A メモリマップ MB90330A シリーズ <注意事項> • 同一割込み制御レジスタ (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-5 * USB ファンクション 3 SUP SOF BRST WKUP CONF USB ファンクション 4 SPK USB ホスト 1 DIRQ CNNIRQ URIEQ RWKIRQ USB ホスト 2 SOFIRQ CMPIRQ * : End Point 1, 2 は , USB ホスト動作時でも使用できます。 642 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ 付録 B 付録 付録 B 命令 命令 F2MC-16LX に使用している命令について説明します。 B.1 命令の種類 B.2 アドレッシング B.3 直接アドレッシング B.4 間接アドレッシング B.5 実行サイクル数 B.6 実効アドレスフィールド B.7 命令一覧表の読み方 B.8 F2MC-16LX 命令一覧表 B.9 命令マップ 管理番号 : CM44-00202-3 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 643 付録 付録 B 命令 B.1 MB90330A シリーズ 命令の種類 F2MC-16LX には , 以下に示す 351 種類の命令があります。 ■ 命令の種類 • 転送系命令 ( バイト ) 41 命令 • 転送系命令 ( ワード , ロングワード ) 38 命令 • 加減算命令 ( バイト , ワード , ロングワード ) 42 命令 • 増減算命令 ( バイト , ワード , ロングワード ) 12 命令 • 比較命令 ( バイト , ワード , ロングワード ) 11 命令 • 符号なし乗除算命令 ( ワード , ロングワード ) 11 命令 • 符号付き乗除算命令 ( ワード , ロングワード ) 11 命令 • 論理演算命令 ( バイト , ワード ) 39 命令 • 論理演算命令 ( ロングワード ) 6 命令 • 符号反転命令 ( バイト , ワード ) 6 命令 • ノーマライズ命令 ( ロングワード ) 1 命令 • シフト命令 ( バイト , ワード , ロングワード ) 18 命令 • 分岐命令 50 命令 ( 分岐命令 1: 31 命令 , 分岐命令 2: 19 命令 ) • アキュムレータ操作命令 ( バイト , ワード ) 6 命令 • その他制御命令 ( バイト , ワード , ロングワード ) 28 命令 • ビット操作命令 21 命令 • ストリング命令 10 命令 644 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 MB90330A シリーズ B.2 付録 付録 B 命令 アドレッシング 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) CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 645 付録 付録 B 命令 MB90330A シリーズ ■ 実効アドレスフィールド 実効アドレスフィールドで指定される , アドレス形式を表 B.2-1 に示します。 表 B.2-1 実効アドレスフィールド コード 646 表記 アドレス形式 00 R0 RW0 RL0 01 R1 RW1 (RL0) 02 R2 RW2 RL1 03 R3 RW3 (RL1) 04 R4 RW4 RL2 05 R5 RW5 (RL2) 06 R6 RW6 RL3 07 R7 RW7 (RL3) 08 @RW0 09 @RW1 レジスタ直接 ea は左から順に バイト ワード ロングワード の型に対応する。 デフォルトバンク なし DTB DTB レジスタ間接 0A @RW2 0B @RW3 SPB 0C @RW0+ DTB 0D @RW1+ 0E @RW2+ 0F @RW3+ SPB 10 @RW0+disp8 DTB 11 @RW1+disp8 DTB 12 @RW2+disp8 ADB 13 @RW3+disp8 14 @RW4+disp8 15 @RW5+disp8 DTB 16 @RW6+disp8 ADB 17 @RW7+disp8 SPB 18 @RW0+disp16 DTB 19 @RW1+disp16 1A @RW2+disp16 IB @RW3+disp16 1C @RW0+RW7 インデックス付レジスタ間接 DTB 1D @RW1+RW7 インデックス付レジスタ間接 DTB 1E @PC+disp16 16 ビットディスプレースメント付 PC 間接 PCB 1F addr16 直接アドレス DTB ポストインクリメント付 レジスタ間接 8 ビットディスプレースメント付 レジスタ間接 16 ビットディスプレースメント付 レジスタ間接 ADB DTB ADB SPB DTB DTB ADB SPB FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 付録 付録 B 命令 MB90330A シリーズ B.3 直接アドレッシング 直接アドレッシングでは , オペランド値 , レジスタおよびアドレスを直接指定しま す。 ■ 直接アドレッシング ● 即値 (#imm) オペランドの値を直接指定します。(#imm4/#imm8/#imm16/#imm32) 。 図 B.3-1 に例を示します。 図 B.3-1 即値 (#imm) 例 MOVW A, #01212H (A にオペランドの値を格納する命令 ) 実行前 A 2233 4455 実行後 A 4455 1 2 1 2 ( 命令によっては AL → AH に転送が行われる ) ● レジスタ直接 オペランドとして , 直接レジスタを指定します。指定できるレジスタを表 B.3-1 に示し ます。 表 B.3-1 レジスタ直接 汎用レジスタ 専用レジスタ *: CM44-10129-6 バイト 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 647 付録 付録 B 命令 MB90330A シリーズ 図 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 次の命令 実行後 648 PC 3 B 2 0 PCB 4 F 4F3C20H 62 4F3C21H 20 4F3C22H 3B FUJITSU MICROELECTRONICS LIMITED JMP 3B20H CM44-10129-6 付録 付録 B 命令 MB90330A シリーズ ● 物理直接分岐アドレス (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 直接アドレスを示すアドレス規定子です。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 649 付録 付録 B 命令 MB90330A シリーズ ● 短縮直接アドレス (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 に格納する命令 ) 実行前 実行後 650 A 2020 A AABB AABB 0123 DTB 5 5 メモリ空間 553B21H 01 553B20H 23 DTB 5 5 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 付録 付録 B 命令 MB90330A シリーズ ● 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: は , 短縮直接ビットアドレスを示すアドレス規定子です。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 651 付録 付録 B 命令 MB90330A シリーズ ● 直接ビットアドレス (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 652 メモリ空間 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 付録 付録 B 命令 MB90330A シリーズ 表 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 を参照 してください ) CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 653 付録 付録 B 命令 B.4 MB90330A シリーズ 間接アドレッシング 間接アドレッシングでは , 記述したオペランドが示すアドレスのデータで , 間接的に アドレスを指定します。 ■ 間接アドレッシング ● レジスタ間接 (@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 に例を示します。 654 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 付録 付録 B 命令 MB90330A シリーズ 図 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 CM44-10129-6 DTB 7 8 メモリ空間 DTB 7 8 FUJITSU MICROELECTRONICS LIMITED 655 付録 付録 B 命令 MB90330A シリーズ ● ディスプレースメント付ロングレジスタ間接 (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 656 +4 C54556H 73 C54557H 9E C54558H 20 C54559H 00 MOVW A, @PC+20H C5455AH ・ ・ ・ +20H C5457AH EE C5457BH FF FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 付録 付録 B 命令 MB90330A シリーズ ● ベースインデックス付レジスタ間接 (@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 次の命令 実行後 CM44-10129-6 PC 3 C 32 PCB 4 F 4F3C21H 10 4F3C20H 60 FUJITSU MICROELECTRONICS LIMITED BRA 3C32H 657 付録 付録 B 命令 MB90330A シリーズ ● レジスタリスト (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 実行前 658 SP 34FDH 34FEH 実行後 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 付録 付録 B 命令 MB90330A シリーズ ● アキュムレータ間接 (@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 CM44-10129-6 61 JMP @A PCB 4 F 3B20 FUJITSU MICROELECTRONICS LIMITED 659 付録 付録 B 命令 MB90330A シリーズ ● 間接指定分岐アドレス (@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 660 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 付録 付録 B 命令 MB90330A シリーズ B.5 実行サイクル数 命令の実行に要するサイクル数 ( 実行サイクル数 ) は , 各命令の「サイクル数」の値 と , 条件で決まる「補正値」の値およびプログラムフェッチの「サイクル数」の値 を加算することで得られます。 ■ 実行サイクル数 内蔵 ROM などの 16 ビットバスに接続されたメモリ上のプログラムをフェッチする場 合には , 実行中の命令がワード境界を越えるごとにプログラムフェッチをするため , データのアクセスなどに干渉すると実行サイクル数が増大します。 外部データバスの 8 ビットバスに接続されたメモリ上のプログラムをフェッチする場 合は , 実行中の命令の 1 バイトごとにプログラムフェッチをするため , データのアクセ スなどに干渉すると実行サイクル数が増大します。 CPU 間欠動作時は , 汎用レジスタ , 内蔵 ROM, 内蔵 RAM, 内蔵 I/O, 外部データバスの アクセスをすると , 低消費電力モード制御レジスタの CG0, CG1 ビットで指定されるサ イクル数分 CPU へ供給されるクロックが一時停止しますので , CPU 間欠動作の命令の 実行に要するサイクル数は , 通常の実行サイクル数に , 汎用レジスタ , 内蔵 ROM, 内蔵 RAM, 内蔵 I/O, 外部データバスの「アクセス回数」×一時停止の「サイクル数」の値 を「補正値」として加算してください。 ■ 実行サイクル数計算方法 表 B.5-1, 表 B.5-2, 表 B.5-3 に命令実行サイクル数および補正値のデータを示します。 表 B.5-1 各種アドレッシングに対する実行サイクル数 (a) * コード 00 ∼ 07 オペランド Ri RWi RLi 各種アドレッシングに対する 実行サイクル数 各種アドレッシングに 対するレジスタ アクセス回数 命令一覧表に記載 命令一覧表に記載 08 ∼ 0B @RWj 2 1 0C ∼ 0F @RWj+ 4 2 10 ∼ 17 @RWi+disp8 2 1 18 ∼ 1B @RWi+disp16 2 1 1C 1D 1E 1F @RW0+RW7 @RW1+RW7 @PC+disp16 addr16 4 4 2 1 2 2 0 0 *: (a) は「B.8 F2MC-16LX 命令一覧表」の∼ ( サイクル数 ) , B ( 補正値 ) で使用さ れています。" ∼ " と "B" の意味については「B.7 命令一覧表の読み方」を参照 してください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 661 付録 付録 B 命令 MB90330A シリーズ 表 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 − ( 注意事項 ) ・ 外部データバスを使用した場合は , レディ入力および自動レディでウェイト したサイクル数も加算する必要があります。 ・ 実際にはすべてのプログラムフェッチで , 命令実行が遅くなるわけではない ので , この補正値は最悪ケースを算出する場合に使用してください。 662 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 付録 付録 B 命令 MB90330A シリーズ B.6 実効アドレスフィールド 表 B.6-1 に実効アドレスフィールドを示します。 ■ 実効アドレスフィールド 表 B.6-1 実効アドレスフィールド (1 / 2) コード 表記 アドレス形式 00 R0 RW0 RL0 01 R1 RW1 (RL0) 02 R2 RW2 RL1 03 R3 RW3 (RL1) 04 R4 RW4 RL2 05 R5 RW5 (RL2) 06 R6 RW6 RL3 07 R7 RW7 (RL3) 08 @RW0 09 @RW1 0A @RW2 0B @RW3 0C @RW0+ 0D @RW1+ 0E @RW2+ 0F @RW3+ 10 @RW0+disp8 11 @RW1+disp8 12 @RW2+disp8 13 @RW3+disp8 14 @RW4+disp8 15 @RW5+disp8 16 @RW6+disp8 17 @RW7+disp8 CM44-10129-6 アドレス拡張部の バイト数 * レジスタ直接 ea は左から順に バイト ワード ロングワード の型に対応する。 − レジスタ間接 0 ポストインクリメント付 レジスタ間接 0 8 ビットディスプレースメント付 レジスタ間接 1 FUJITSU MICROELECTRONICS LIMITED 663 付録 付録 B 命令 MB90330A シリーズ 表 B.6-1 実効アドレスフィールド (1 / 2) コード *: 664 表記 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 命令一覧表の読み方」を参照してください。 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 付録 付録 B 命令 MB90330A シリーズ B.7 命令一覧表の読み方 「B.8 F2MC-16LX 命令一覧表」で使用している項目の説明を表 B.7-1 に , 記号の説 明を表 B.7-2 に示します。 ■ 命令の表示記号の説明 表 B.7-1 命令一覧表の項目の説明 項目 説明 ニーモニック 英大文字 , 記号 : アセンブラ上もそのまま表記します。 英小文字 : アセンブラ上では , 書き替えて記述します。 英小文字の後の数 : 命令中のビット幅を示します。 # バイト数を示します。 ∼ サイクル数を示します。 RG 命令実行時のレジスタアクセス回数を示します。 CPU 間欠動作時の補正値を算出するのに使用します。 命令実行時の実サイクル数の算出用補正値を示します。 命令実行時の実サイクルは∼欄の数値を加算したものとなります。 B オペレーション LH AH 命令の動作を示します。 アキュムレータの bit15 ∼ bit8 に対する特殊動作を示します。 Z: 0 を転送する。 X: 符号を拡張して転送する。 − : 転送しない。 アキュムレータの上位 16 ビットに対する特殊動作を示します。 *: AL から AH へ転送する。 − : 転送しない。 Z: AH へ 00H を転送する。 X: AL の符号拡張で AH へ 00H または FFH を転送する。 I I ( 割込み許可 ) , S ( スタック ) , T ( ステッキィビット ) , S N ( ネガティブ ) , Z ( ゼロ ) , V ( オーバフロー ) , C ( キャリー ) T の各フラグの状態を示します。 N *: 命令の実行で変化する。 Z − : 変化しない。 V S: 命令の実行でセットされる。 C R: 命令の実行でリセットされる。 RMW CM44-10129-6 リードモディファイライト命令 (1 命令でメモリなどからデータを読 み出し , メモリへ書き込む ) であるかどうか示します。 *: リードモディファイライト命令である。 − : リードモディファイライト命令ではない。 ( 注意事項 ) 読み書きで意味の異なるアドレスには使用できません。 FUJITSU MICROELECTRONICS LIMITED 665 付録 付録 B 命令 MB90330A シリーズ 表 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) 666 8 ビット即値データを符号拡張した 16 ビットデータ FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 付録 付録 B 命令 MB90330A シリーズ 表 B.7-2 命令一覧表の記号の説明 (1 / 2) 表記 CM44-10129-6 意味 disp8 8 ビットディスプレースメント disp16 16 ビットディスプレースメント bp ビットオフセット値 vct4 ベクタ番号 (0 ∼ 15) vct8 ベクタ番号 (0 ∼ 255) ()b ビットアドレス rel PC 相対分岐指定 ear 実効アドレス指定 ( コード 00H ∼ 07H) eam 実効アドレス指定 ( コード 08H ∼ 1FH) rlst レジスタ並び FUJITSU MICROELECTRONICS LIMITED 667 付録 付録 B 命令 B.8 MB90330A シリーズ 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 を参照してください。 668 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 付録 付録 B 命令 MB90330A シリーズ 表 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 を参照してください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 669 付録 付録 B 命令 MB90330A シリーズ 表 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 を参照してください。 670 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 付録 付録 B 命令 MB90330A シリーズ 表 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 を参照してください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 671 付録 付録 B 命令 MB90330A シリーズ 表 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 を参照してください。 672 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 付録 付録 B 命令 MB90330A シリーズ 表 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 を参照してください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 673 付録 付録 B 命令 MB90330A シリーズ 表 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 を参照してください。 674 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 付録 付録 B 命令 MB90330A シリーズ 表 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) CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 675 付録 付録 B 命令 MB90330A シリーズ 表 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 を参照してください。 676 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 付録 付録 B 命令 MB90330A シリーズ 表 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 を参照してください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 677 付録 付録 B 命令 MB90330A シリーズ 表 B.8-14 分岐命令 2 19 命令 ニーモニック # ∼ RG B CBNE A,#imm8,rel 3 *1 0 0 byte (A) ≠ imm8 で分岐 - - - - - * * * * - CWBNE A,#imm16,rel 4 *1 0 0 word (A) ≠ imm16 で分岐 - - - - - * * * * - CBNE ear,#imm8,rel 4 *2 1 0 byte (ear) ≠ imm8 で分岐 - - - - - * * * * - CBNE eam,#imm8,rel 注 1) 4+ *3 0 (b) byte (eam) ≠ imm8 で分岐 - - - - - * * * * - CWBNE ear,#imm16,rel 5 *4 1 0 word (ear) ≠ imm16 で分岐 - - - - - * * * * - CWBNE eam,#imm16,rel 注 1) 5+ *3 0 (c) word (eam) ≠ imm16 で分岐 - - - - - * * * * - DBNZ ear,rel 3 *5 2 byte (ear) = (ear) - 1, (ear) ≠ 0 で分岐 - - - - - * * * - - DBNZ eam,rel 3+ *6 2 - - - - - * * * - * DWBNZ ear,rel 3 *5 2 DWBNZ eam,rel 3+ *6 2 0 オペレーション 2 × (b) byte (eam) = (eam) - 1, (eam) ≠ 0 で分岐 0 LH AH I S T N Z V C RMW - - - - - * * * - - 2 × (c) word (eam) = (eam) - 1, (eam) ≠ 0 で分岐 - - - - - * * * - * word (ear) = (ear) - 1, (ear) ≠ 0 で分岐 INT #vct8 2 20 0 8 × (c) ソフトウェア割込み - - R S - - - - - - INT addr16 3 16 0 6 × (c) ソフトウェア割込み - - R S - - - - - - INTP addr24 4 17 0 6 × (c) ソフトウェア割込み - - R S - - - - - - 8 × (c) ソフトウェア割込み - - R S - - - - - - - * * * * * * * - INT9 1 20 0 RETI 1 *8 0 *7 割込みからの復帰 - 2 6 0 (c) 関数の入口で , 旧フレームポインタをスタッ クに保存し , 新フレームポインタの設定 , お よびローカルポインタの領域を確保する - - - - - - - - - - 1 5 0 (c) 関数の出口で , 旧フレームポインタをスタッ クから復帰させる - - - - - - - - - - 注 2) 1 4 0 (c) サブルーチンからの復帰 - - - - - - - - - - 注 3) 1 6 0 (d) サブルーチンからの復帰 - - - - - - - - - - LINK #imm8 UNLINK RET RETP *1:分岐が行われる場合 , 5 行われない場合 , 4 *2:分岐が行われる場合 , 13 行われない場合 , 12 *3:分岐が行われる場合 , 7+(a) 行われない場合 , 6+(a) *4:分岐が行われる場合 , 8 行われない場合 , 7 *5:分岐が行われる場合 , 7 行われない場合 , 6 *6:分岐が行われる場合 , 8+(a) 行われない場合 , 7+(a) *7:次の割込み要求へ分岐する場合 , 3 × (b)+2 × (c) 今の割込みから復帰の場合 , 6 × (c) *8:次の割込みへ分岐する場合 , 15 今の割込みから復帰する場合 , 17 注 1) CBNE / CWBNE 命令では , RWj+ のアドレッシングモードは , 使用しないでください。 注 2) スタックからの復帰 (word) 注 3) スタックからの復帰 (long) ( 注意事項 ) 表中の (a) ∼ (d) は , 表 B.5-1 および表 B.5-2 を参照してください。 678 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 付録 付録 B 命令 MB90330A シリーズ 表 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 を参照してください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 679 付録 付録 B 命令 MB90330A シリーズ 表 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 * - - - 680 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 付録 付録 B 命令 MB90330A シリーズ 表 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 を参照してください。 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 681 付録 付録 B 命令 B.9 MB90330A シリーズ 命令マップ 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 に示します。 682 FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 付録 付録 B 命令 MB90330A シリーズ 図 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 命令 CM44-10129-6 FUJITSU MICROELECTRONICS LIMITED 683 684 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 付録 付録 B 命令 MB90330A シリーズ 表 B.9-2 基本ページマップ CM44-10129-6 CM44-10129-6 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 MB90330A シリーズ 付録 付録 B 命令 表 B.9-3 ビット操作系命令マップ ( 第 1 バイト =6CH) 685 686 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 付録 付録 B 命令 MB90330A シリーズ 表 B.9-4 文字列操作系命令マップ ( 第 1 バイト =6EH) FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 CM44-10129-6 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 MB90330A シリーズ 付録 付録 B 命令 表 B.9-5 2 バイト系命令マップ ( 第 1 バイト =6FH) 687 688 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 付録 付録 B 命令 MB90330A シリーズ 表 B.9-6 ea 系命令 その 1 ( 第 1 バイト =70H) CM44-10129-6 CM44-10129-6 40 50 60 70 80 90 A0 B0 C0 D0 E0 F0 FUJITSU MICROELECTRONICS LIMITED +F @@RW3+ JMPP INCL INCL DECL DECL MOVL MOVL A, MOVL MOVL MOV MOV MOVEA MOVEA A, @RW2+ @PC+d16 @RW2+ @PC+d16 A,@RW2+ @PC+d16 @RW2+,A @PC+d16, A @RW2+, #8 @PC+d16, #8 A,@RW2+ @PC+d16 CALLP CALLP JMPP CALLP CALLP INCL INCL DECL DECL MOVL MOVL A, MOVL MOVL MOV MOV MOVEA MOVEA A, @addr16 @@RW3+ @addr16 @RW3+ addr16 @RW3+ addr16 A,@RW3+ addr16 @RW3+,A addr16, A @RW3+, #8 addr16, #8 A,@RW3+ addr16 JMPP JMPP CALLP @ +E @@RW2+ @@PC+d16 @@RW2+ @@PC+d16 CALLP INCL INCL DECL DECL MOVL MOVL A, MOVL MOVL MOV MOV MOVEA MOVEA A, @RW1+ @RW1+RW7 @RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 @RW1+,A @RW1+RW7,A @RW1+, #8 @RW1+RW7,#8 A,@RW1+ @RW1+RW7 JMPP 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 MB90330A シリーズ 付録 付録 B 命令 表 B.9-7 ea 系命令 その 2 ( 第 1 バイト =71H) 689 690 D0 E0 F0 FUJITSU MICROELECTRONICS LIMITED 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 +F 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 @RW1+ @RW1+RW7 @RW1+ @RW1+RW7 @RW1+ @RW1+RW7 @RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 @RW1+, A @RW1+RW7,A +D +E MOVX MOVX A, XCH XCH A, A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+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 DEC MOV MOV A, MOV MOV MOVX MOVX A, XCH XCH A, R7 @RW7+d8 A, R7 @RW7+d8 R7, A @RW7+d8,A A, R7 @RW7+d8 A, R7 @RW7+d8 DEC MOV MOV A, MOV MOV MOVX MOVX A, XCH XCH A, R6 @RW6+d8 A, R6 @RW6+d8 R6, A @RW6+d8,A A, R6 @RW6+d8 A, R6 @RW6+d8 DEC MOV MOV A, MOV MOV MOVX MOVX A, XCH XCH A, R5 @RW5+d8 A, R5 @RW5+d8 R5, A @RW5+d8,A A, R5 @RW5+d8 A, R5 @RW5+d8 DEC MOV MOV A, MOV MOV MOVX MOVX A, XCH XCH A, R4 @RW4+d8 A, R4 @RW4+d8 R4, A @RW4+d8,A A, R4 @RW4+d8 A, R4 @RW4+d8 DEC MOV MOV A, MOV MOV MOVX MOVX A, XCH XCH A, R3 @RW3+d8 A, R3 @RW3+d8 R3, A @RW3+d8,A A, R3 @RW3+d8 A, R3 @RW3+d8 DEC MOV MOV A, MOV MOV MOVX MOVX A, XCH XCH A, R2 @RW2+d8 A, R2 @RW2+d8 R2, A @RW2+d8,A A, R2 @RW2+d8 A, R2 @RW2+d8 DEC MOV MOV A, MOV MOV MOVX MOVX A, XCH XCH A, R1 @RW1+d8 A, R1 @RW1+d8 R1, A @RW1+d8,A A, R1 @RW1+d8 A, R1 @RW1+d8 +C INC DEC R7 @RW7+d8 C0 ROLC ROLC RORC RORC INC INC DEC DEC MOV MOV A, MOV MOV MOVX MOVX A, XCH XCH A, @RW3 @RW3+d16 @RW3 @RW3+d16 @RW3 @RW3+d16 @RW3 @RW3+d16 A,@RW3 @RW3+d16 @RW3, A @RW3+d16,A A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 ROLC RORC RORC INC R7 @RW7+d8 R7 @RW7+d8 ROLC INC DEC R6 @RW6+d8 B0 +B ROLC RORC RORC INC R6 @RW6+d8 R6 @RW6+d8 ROLC INC DEC R5 @RW5+d8 A0 ROLC ROLC RORC RORC INC INC DEC DEC MOV MOV A, MOV MOV MOVX MOVX A, XCH XCH A, @RW2 @RW2+d16 @RW2 @RW2+d16 @RW2 @RW2+d16 @RW2 @RW2+d16 A,@RW2 @RW2+d16 @RW2, A @RW2+d16,A A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 ROLC RORC RORC INC R5 @RW5+d8 R5 @RW5+d8 ROLC INC DEC R4 @RW4+d8 90 +A ROLC RORC RORC INC R4 @RW4+d8 R4 @RW4+d8 ROLC INC DEC R3 @RW3+d8 INC DEC R2 @RW2+d8 INC DEC R1 @RW1+d8 80 DEC MOV MOV A, MOV MOV MOVX MOVX A, XCH XCH A, R0 @RW0+d8 A, R0 @RW0+d8 R0, A @RW0+d8,A A, R0 @RW0+d8 A, R0 @RW0+d8 70 ROLC ROLC RORC RORC INC INC DEC DEC MOV MOV A, MOV MOV MOVX MOVX A, XCH XCH A, @RW1 @RW1+d16 @RW1 @RW1+d16 @RW1 @RW1+d16 @RW1 @RW1+d16 A,@RW1 @RW1+d16 @RW1, A @RW1+d16,A A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 ROLC RORC RORC INC R3 @RW3+d8 R3 @RW3+d8 ROLC 60 INC DEC R0 @RW0+d8 50 +9 ROLC RORC RORC INC R2 @RW2+d8 R2 @RW2+d8 ROLC 40 ROLC ROLC RORC RORC INC INC DEC DEC MOV MOV A, MOV MOV MOVX MOVX A, XCH XCH A, @RW0 @RW0+d16 @RW0 @RW0+d16 @RW0 @RW0+d16 @RW0 @RW0+d16 A,@RW0 @RW0+d16 @RW0, A @RW0+d16,A A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 ROLC RORC RORC INC R1 @RW1+d8 R1 @RW1+d8 ROLC 30 ROLC RORC RORC INC R0 @RW0+d8 R0 @RW0+d8 20 ROLC 10 +8 +7 +6 +5 +4 +3 +2 +1 +0 00 付録 付録 B 命令 MB90330A シリーズ 表 B.9-8 ea 系命令 その 3 ( 第 1 バイト =72H) CM44-10129-6 CM44-10129-6 40 50 60 70 80 90 A0 B0 C0 D0 E0 F0 FUJITSU MICROELECTRONICS LIMITED +F @@RW3+ JMP INCW INCW DECW DECW MOVW MOVW A, MOVW MOVW MOVW MOVW XCHW XCHW A, @RW2+ @PC+d16 @RW2+ @PC+d16 A,@RW2+ @PC+d16 @RW2+, A @PC+d16, A @RW2+, #16 @PC+d16, #16 A,@RW2+ @PC+d16 CALL CALL JMP CALL CALL INCW INCW DECW DECW MOVW MOVW A, MOVW MOVW MOVW MOVW XCHW XCHW A, @addr16 @@RW3+ @addr16 @RW3+ addr16 @RW3+ addr16 A,@RW3+ addr16 @RW3+, A addr16, A @RW3+, #16 addr16, #16 A,@RW3+ addr16 JMP JMP XCHW XCHW A, A,@RW1+ @RW1+RW7 +E @@RW2+ @@PC+d16 @@RW2+ @@PC+d16 CALL @ MOVW MOVW @RW1+, #16 @RW1+RW7,#16 CALL INCW INCW DECW DECW MOVW MOVW A, MOVW MOVW @RW1+ @RW1+RW7 @RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 @RW1+, A @RW1+RW7,A JMP @ JMP 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 MB90330A シリーズ 付録 付録 B 命令 表 B.9-9 ea 系命令 その 4 ( 第 1 バイト =73H) 691 692 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 付録 付録 B 命令 MB90330A シリーズ 表 B.9-10 ea 系命令 その 5 ( 第 1 バイト =74H) CM44-10129-6 CM44-10129-6 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 MB90330A シリーズ 付録 付録 B 命令 表 B.9-11 ea 系命令 その 6 ( 第 1 バイト =75H) 693 694 FUJITSU MICROELECTRONICS LIMITED +F ADDW A, SUBW SUBW A, ADDCW ADDCW CMPW CMPW A, ANDW 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, ANDW 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 ADDW SUBW A, +E A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 SUBW ANDW XORW XORW A, DWBNZ DWBNZ A,@RW1+ @RW1+RW7 @RW1+, rel @RW1+RW7,rel 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 付録 付録 B 命令 MB90330A シリーズ 表 B.9-12 ea 系命令 その 7 ( 第 1 バイト =76H) CM44-10129-6 CM44-10129-6 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 MB90330A シリーズ 付録 付録 B 命令 表 B.9-13 ea 系命令 その 8 ( 第 1 バイト =77H) 695 696 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 付録 付録 B 命令 MB90330A シリーズ 表 B.9-14 ea 系命令 その 9 ( 第 1 バイト =78H) CM44-10129-6 CM44-10129-6 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 MB90330A シリーズ 付録 付録 B 命令 表 B.9-15 MOVEA RWi, ea 命令 ( 第 1 バイト =79H) 697 698 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 付録 付録 B 命令 MB90330A シリーズ 表 B.9-16 MOV Ri, ea 命令 ( 第 1 バイト =7AH) CM44-10129-6 CM44-10129-6 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 MB90330A シリーズ 付録 付録 B 命令 表 B.9-17 MOVW RWi, ea 命令 ( 第 1 バイト =7BH) 699 700 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 付録 付録 B 命令 MB90330A シリーズ 表 B.9-18 MOV Ri, ea 命令 ( 第 1 バイト =7CH) CM44-10129-6 CM44-10129-6 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 MB90330A シリーズ 付録 付録 B 命令 表 B.9-19 MOVW RWi, ea 命令 ( 第 1 バイト =7DH) 701 702 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 付録 付録 B 命令 MB90330A シリーズ 表 B.9-20 XCH Ri, ea 命令 ( 第 1 バイト =7EH) CM44-10129-6 CM44-10129-6 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 MB90330A シリーズ 付録 付録 B 命令 表 B.9-21 XCHW RWi, ea 命令 ( 第 1 バイト =7FH) 703 付録 付録 B 命令 704 MB90330A シリーズ FUJITSU MICROELECTRONICS LIMITED CM44-10129-6 索引 Numerics 16 ビットタイマレジスタ 16 ビットタイマレジスタ 0 ∼ 2 (TMR0 ∼ TMR2) ............................................413 16 ビットタイマレジスタ 0 ∼ 2(TMR0 ∼ TMR2)/ 16 ビットリロードレジスタ 0 ∼ 2 (TMRLR0 ∼ TMRLR2) ..................................413 16 ビットデータバス 外部バス 16 ビットデータバスモードおよび ノンマルチプレクス 16 ビット外部バス モードの端子状態 ..........................................173 外部バス 16 ビットデータバスモードおよび マルチプレクス 16 ビット外部バスモードの 端子状態 ..........................................................169 16 ビット入出力タイマ 16 ビット入出力タイマの構成および機能 ........250 16 ビット入出力タイマの動作 , タイミング ..........................................................................268 16 ビット入出力タイマのレジスタ構成 ............252 16 ビットバス 外部 16 ビットバスモード ( 外部データバス 16 ビット / マルチプレクスモード ) ............197 16 ビットフリーランタイマ 16 ビットフリーランタイマの動作 ....................269 16 ビットフリーランタイマの ブロックダイヤグラム ..................................254 16 ビットフリーランタイマのレジスタ一覧 ..........................................................................253 16 ビットリロードタイマ 16 ビットリロードタイマの概要 ........................404 16 ビットリロードタイマの設定 ........................415 16 ビットリロードタイマの動作モード ............405 16 ビットリロードタイマの ブロックダイヤグラム ..................................407 16 ビットリロードタイマレジスタ一覧 ............408 16 ビットリロードレジスタ 16 ビットタイマレジスタ 0 ∼ 2(TMR0 ∼ TMR2)/ 16 ビットリロードレジスタ 0 ∼ 2 (TMRLR0 ∼ TMRLR2) ..................................413 16 ビットリロードレジスタ 0 ∼ 2 (TMRLR0 ∼ TMRLR2) ..................................414 1 対 1 モード 外部クロック (1 対 1 モード ) によるボーレート ..........................................................................527 24 ビット 24 ビットオペランド指定 ......................................30 8/10 ビット A/D コンバータ 8/10 ビット A/D コンバータ使用上の注意 ........471 8/10 ビット A/D コンバータの機能 ....................452 8/10 ビット A/D コンバータの ブロックダイヤグラム ..................................453 8/10 ビット A/D コンバータのレジスタ一覧 ..........................................................................455 8/16 ビット PPG タイマ 8/16 ビット PPG タイマの概略仕様 ...................424 8/16 ビット PPG タイマの動作概略 ...................436 8/16 ビット PPG タイマのブロックダイヤグラム ..........................................................................425 8/16 ビット PPG タイマのレジスタ一覧 ........... 427 8/16 ビット PPG タイマの割込み .......................439 8 ビットデータバス 外部バス 8 ビットデータバスモードおよび ノンマルチプレクス 8 ビット外部バスモード の端子状態 ......................................................175 外部バス 8 ビットデータバスモードおよび マルチプレクス 8 ビット外部バスモードの 端子状態 .......................................................... 171 705 A D A DBAPH DMA バッファアドレスポインタ (DBAPH/DBAPM/DBAPL) ............................106 DBAPL DMA バッファアドレスポインタ (DBAPH/DBAPM/DBAPL) ............................106 DBAPM DMA バッファアドレスポインタ (DBAPH/DBAPM/DBAPL) ............................106 DCSR DMA ディスクリプタチャネル指定レジスタ (DCSR) ...............................................................95 DCT データカウンタ (DCT) ...........................................83 DDCTH DMA データカウンタ (DDCTH/DDCTL) ..........102 DMA データカウンタ (DDCTH/DDCTL) の設定値 について .......................................................... 102 DDCTL DMA データカウンタ (DDCTH/DDCTL) ..........102 DMA データカウンタ (DDCTH/DDCTL) の設定値 について .......................................................... 102 DDR ポート方向レジスタ (DDR0 ∼ DDRB) ............. 210 DDWR DMA ディスクリプタウィンドウレジスタ (DDWR) の構成 .............................................. 101 DERH DMA イネーブルレジスタ (DERH/DERL) ........100 DERL DMA イネーブルレジスタ (DERH/DERL) ........100 DIOAH DMA I/O レジスタアドレスポインタ (DIOAH/DIOAL) .............................................103 DIOAL DMA I/O レジスタアドレスポインタ (DIOAH/DIOAL) .............................................103 DIVR PWC 分周比制御レジスタ (DIVR) .....................385 DMA I/O レジスタアドレスポインタ DMA I/O レジスタアドレスポインタ (DIOAH/DIOAL) .............................................103 DMACS DMA コントロールレジスタ (DMACS) ............104 DMA イネーブルレジスタ DMA イネーブルレジスタ (DERH/DERL) ........100 DMA コントロールレジスタ DMA コントロールレジスタ (DMACS) ............104 DMA ステータスレジスタ DMA ステータスレジスタ (DSRH/DSRL) ..........97 DMA ストップステータスレジスタ DMA ストップステータスレジスタ (DSSR) ...... 98 DMA ディスクリプタ DMA ディスクリプタの各レジスタ .................. 101 DMA ディスクリプタウィンドウレジスタ DMA ディスクリプタウィンドウレジスタ (DDWR) の構成 .............................................. 101 DMA ディスクリプタチャネル指定レジスタ DMA ディスクリプタチャネル指定レジスタ (DCSR) ...............................................................95 アキュムレータ (A) ................................................37 A/D コンバータ 8/10 ビット A/D コンバータ使用上の注意 ........471 8/10 ビット A/D コンバータの機能 ....................452 8/10 ビット A/D コンバータの ブロックダイヤグラム ..................................453 8/10 ビット A/D コンバータのレジスタ一覧 ..........................................................................455 A/D 制御ステータスレジスタ A/D 制御ステータスレジスタ下位 (ADCS0) ..........................................................................459 A/D 制御ステータスレジスタ上位 (ADCS1) ..........................................................................456 A/D データレジスタ A/D データレジスタ (ADCR1/ADCR0) ..............463 A/D 変換チャネル設定レジスタ A/D 変換チャネル設定レジスタ (ADMR) .........461 A/D 変換データ A/D 変換データ保護機能 .....................................469 ADB バンクレジスタ (PCB, DTB, USB, SSB, ADB) ............................................................................43 ADCR A/D データレジスタ (ADCR1/ADCR0) ..............463 ADCS A/D 制御ステータスレジスタ下位 (ADCS0) ..........................................................................459 A/D 制御ステータスレジスタ上位 (ADCS1) ..........................................................................456 ADER アナログ入力許可レジスタ (ADER0,ADER1) ..........................................................................213 ADMR A/D 変換チャネル設定レジスタ (ADMR) .........461 ARSR 自動レディ機能選択レジスタ (ARSR) ..............190 B BAP バッファアドレスポインタ (BAP) .......................84 C CCR コンディションコードレジスタ (CCR) ...............39 CKSCR クロック選択レジスタ (CKSCR) の構成 ...........137 CMR コモンレジスタバンクプリフィックス (CMR) .................................................................47 CPCLR コンペアクリアレジスタ (CPCLR) ....................254 CPU CPU 動作モードと消費電流 ................................148 CPU の概要 ..............................................................26 CPU メモリ空間の概要 ..........................................27 CPU 間欠動作 CPU 間欠動作モード ....................................149, 156 706 DMA データカウンタ DMA データカウンタ (DDCTH/DDCTL) ..........102 DMA データカウンタ (DDCTH/DDCTL) の設定値 について ..........................................................102 DMA バッファアドレスポインタ DMA バッファアドレスポインタ (DBAPH/DBAPM/DBAPL) .............................106 DPR ダイレクトページレジスタ (DPR)< 初期値 :01H> ............................................................................44 DQ3 セクタ消去タイマフラグ (DQ3) の状態遷移 ..........................................................................603 DQ5 タイミングリミット超過フラグ (DQ5) の 状態遷移 ..........................................................602 DQ6 トグルビットフラグ (DQ6) の状態遷移 ............601 DQ7 データポーリングフラグ (DQ7) の状態遷移 ..........................................................................599 DSRH DMA ステータスレジスタ (DSRH/DSRL) ...........97 DSRL DMA ステータスレジスタ (DSRH/DSRL) ...........97 DSSR DMA ストップステータスレジスタ (DSSR) .......98 DTB バンクレジスタ (PCB, DTB, USB, SSB, ADB) ............................................................................43 DTP DTP/ 外部割込みの概要 .......................................442 DTP/ 外部割込みの動作手順 ...............................448 DTP/ 外部割込みのブロックダイヤグラム .......442 DTP/ 外部割込みのレジスタ一覧 .......................443 DTP の動作 ............................................................446 DTP/ 割込み許可レジスタ DTP/ 割込み許可レジスタ (ENIR:Enable Interrupt Request Register) ..........................................................................443 DTP/ 割込み要因レジスタ DTP/ 割込み要因レジスタ (EIRR:External Interrupt Request Register) ..........................................................................444 E E2PROM E2PROM のメモリマップ ....................................582 システム構成と E2PROM のメモリ構成 ...........582 修正プログラムを E2PROM に格納する場合の アドレス一致検出機能の動作 ......................584 EI2OS μDMAC または EI2OS を使用した変換動作 ..........................................................................468 UART の EI2OS 機能 ............................................519 UART の割込みと EI2OS および μDMAC .........519 拡張インテリジェント I/O サービス (EI2OS) ............................................................................80 拡張インテリジェント I/O サービス (EI2OS) 処理 時間 (1 回の転送時間 ) .....................................88 拡張インテリジェント I/O サービス (EI2OS) ステータスレジスタ (ISCS) ............................ 84 拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ (ISD) の構成 .........................82 拡張インテリジェント I/O サービス (EI2OS) の 使用手順 ............................................................ 87 拡張インテリジェント I/O サービス (EI2OS) の 処理手順 ............................................................ 86 拡張インテリジェント I/O サービス (EI2OS) の 動作 .................................................................... 81 タイムベースタイマの割込みと EI2OS,μDMAC ..........................................................................222 単発モードの EI2OS 起動プログラム例 ............472 停止モードの EI2OS 起動プログラム例 ............478 連続モードの EI2OS 起動プログラム例 ............475 EIRR DTP/ 割込み要因レジスタ (EIRR:External Interrupt Request Register) ..........................................................................444 ELVR 要求レベル設定レジスタ (ELVR:External Level Register) ...................... 444 ENIR DTP/ 割込み許可レジスタ (ENIR:Enable Interrupt Request Register) ....... 443 EOF 設定レジスタ EOF 設定レジスタ (HEOF) ..................................351 EP0C EP0 制御レジスタ (EP0C) .................................... 287 EP0DT EP0 ∼ EP5 データレジスタ (EP0DT ∼ EP5DT) ..........................................................................308 EP0IS EP0I ステータスレジスタ (EP0IS) .....................299 EP0I ステータスレジスタ EP0I ステータスレジスタ (EP0IS) .....................299 EP0OS EP0O ステータスレジスタ (EP0OS) .................. 301 EP0O ステータスレジスタ EP0O ステータスレジスタ (EP0OS) .................. 301 EP0 制御レジスタ EP0 制御レジスタ (EP0C) .................................... 287 EP0 ∼ EP5 データレジスタ EP0 ∼ EP5 データレジスタ (EP0DT ∼ EP5DT) ..........................................................................308 EP1C EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C) ........289 EP1S EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S) ..........................................................................304 EP1 ∼ EP5 ステータスレジスタ EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S) ..........................................................................304 EP1 ∼ EP5 制御レジスタ EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C) ........289 EP5C EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C) ........289 EP5DT EP0 ∼ EP5 データレジスタ (EP0DT ∼ EP5DT) ..........................................................................308 EP5S EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S) ..........................................................................304 707 EPCR バス制御信号選択レジスタ (EPCR) ...................192 F F2MC-16LX F2MC-16LX 命令一覧表 .......................................668 FMCS フラッシュメモリコントロールステータス レジスタ (FMCS) ............................................593 FRAME 設定レジスタ FRAME 設定レジスタ (HFRAME) ......................352 H HACR 外部アドレス出力制御レジスタ (HACR) ..........191 HADR ホストアドレスレジスタ (HADR) ......................350 HCNT ホストコントロールレジスタ 0,1(HCNT0/HCNT1) ..........................................................................337 HEOF EOF 設定レジスタ (HEOF) ..................................351 HERR ホストエラーステータスレジスタ (HERR) ......344 HFCOMP SOF 割込み FRAME 比較レジスタ (HFCOMP) ..........................................................................348 HFRAME FRAME 設定レジスタ (HFRAME) ......................352 HIRQ ホスト割込みレジスタ (HIRQ) ...........................341 HRTIMER リトライタイマ設定レジスタ (HRTIMER) .......349 HSTATE ホスト状態ステータスレジスタ (HSTATE) ..........................................................................346 HTOKEN ホストトークンエンドポイントレジスタ (HTOKEN) .......................................................353 I I/O I/O 領域 ....................................................................28 I/O ポート I/O ポートの機能 ..................................................206 I/O ポートのレジスタ ..........................................207 I/O レジスタアドレスポインタ I/O レジスタアドレスポインタ (IOA) .................83 I2C I2C インタフェースの機能 ..................................546 I2C インタフェースの転送フロー ......................564 I2C インタフェースの動作フロー ......................567 I2C インタフェースのブロックダイヤグラム ..........................................................................547 2C インタフェースのモードフロー ..................566 I I2C インタフェースのレジスタ一覧 ..................548 I2C バスアドレスレジスタ I2C バスアドレスレジスタ 0 ∼ 2 (IADR0 ∼ IADR2) ..........................................................................559 I2C バスクロックコントロールレジスタ I2C バスクロックコントロールレジスタ 0 ∼ 2 (ICCR0 ∼ ICCR2) ...........................................557 I2C バスコントロールレジスタ I2C バスコントロールレジスタ 0 ∼ 2 (IBCR0 ∼ IBCR2) ...........................................551 I2C バスコントロールレジスタ 0 ∼ 2 (IBCR0 ∼ IBCR2) 使用上の注意 .................. 556 I2C バスステータスレジスタ I2C バスステータスレジスタ 0 ∼ 2 (IBSR0 ∼ IBSR2) ............................................ 549 I2C バスデータレジスタ I2C バスデータレジスタ 0 ∼ 2(IDAR0 ∼ IDAR2) ..........................................................................560 IADR I2C バスアドレスレジスタ 0 ∼ 2 (IADR0 ∼ IADR2) ..........................................................................559 IBCR I2C バスコントロールレジスタ 0 ∼ 2 (IBCR0 ∼ IBCR2) ...........................................551 I2C バスコントロールレジスタ 0 ∼ 2 (IBCR0 ∼ IBCR2) 使用上の注意 .................. 556 IBSR I2C バスステータスレジスタ 0 ∼ 2 (IBSR0 ∼ IBSR2) ............................................ 549 ICCR I2C バスクロックコントロールレジスタ 0 ∼ 2 (ICCR0 ∼ ICCR2) ...........................................557 ICR 割込み制御レジスタ (ICR) の構成 .......................63 割込み制御レジスタ (ICR00 ∼ ICR15) ............... 61 ICS インプットキャプチャコントロールステータス レジスタ (ICS01,ICS23) ................................. 266 IDAR I2C バスデータレジスタ 0 ∼ 2(IDAR0 ∼ IDAR2) ..........................................................................560 ILM 割込みレベルマスクレジスタ (ILM) ................... 40 IN IN,OUT,SETUP トークン .....................................373 IOA I/O レジスタアドレスポインタ (IOA) ................. 83 IPCP インプットキャプチャデータレジスタ (IPCP0 ∼ IPCP3) .............................................265 ISCS 拡張インテリジェント I/O サービス (EI2OS) ステータスレジスタ (ISCS) ............................ 84 ISD 拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ (ISD) の構成 .........................82 L LPMCR 低消費電力モード制御レジスタ (LPMCR) ....... 153 708 LQFP-120 外形寸法図 (LQFP-120) ........................................8, 9 端子配列図 (LQFP-120) ..........................................10 M M0 バスモードの設定ビット (M1,M0) .....................185 M1 バスモードの設定ビット (M1,M0) .....................185 MB90330A シリーズ MB90330A シリーズの特長 ....................................2 MB90330A シリーズのブロックダイヤグラム ..............................................................................6 MD モード端子 (MD2 ∼ MD0) の設定 .....................183 μDMAC μDMAC 使用手順 .................................................108 μDMAC の機能 .......................................................93 μDMAC の動作 .....................................................107 μDMAC または EI2OS を使用した変換動作 ..........................................................................468 μDMAC レジスタ一覧 ...........................................94 UART の割込みと EI2OS および μDMAC .........519 タイムベースタイマの割込みと EI2OS,μDMAC ..........................................................................222 N NCC フラグ変化抑止プリフィックス (NCC) ...............47 NULL NULL 転送モード .................................................327 O OCCP アウトプットコンペアレジスタ (OCCP0 ∼ OCCP3) .........................................260 OCS アウトプットコンペアコントロールレジスタ (OCS0 ∼ OCS3) ..............................................261 ODR ポート 4 出力端子レジスタ (ODR4) ..................212 OUT IN,OUT,SETUP トークン .....................................373 P PACSR プログラムアドレス検出制御ステータスレジスタ (PACSR) ...........................................................577 PADR プログラムアドレス検出レジスタ (PADR0H,PADR0M,PADR0L,PADR1H, PADR1M, PADR1L) ................................579, 580 PC プログラムカウンタ (PC) ......................................42 PCB バンクレジスタ (PCB, DTB, USB, SSB, ADB) ............................................................................43 PDR ポートデータレジスタ (PDR0 ∼ PDRB) ..........208 PLL クロック PLL クロック逓倍率の選択 ................................141 PLL クロックモード メインクロックモード ,PLL クロックモード , サブクロックモード ...................................... 140 PPG PPG0/PPG2/PPG4 動作モード制御レジスタ (PPGC0/PPGC2/PPGC4) ................................. 428 PPG0 ∼ PPG5 出力制御レジスタ (PPG01/PPG23/PPG45) ................................... 433 PPG1/PPG3/PPG5 動作モード制御レジスタ (PPGC1/PPGC3/PPGC5) ................................. 430 PPG 出力動作 ........................................................ 437 PPGC PPG0/PPG2/PPG4 動作モード制御レジスタ (PPGC0/PPGC2/PPGC4) ................................. 428 PPG1/PPG3/PPG5 動作モード制御レジスタ (PPGC1/PPGC3/PPGC5) ................................. 430 PPG タイマ 8/16 ビット PPG タイマの概略仕様 ...................424 8/16 ビット PPG タイマの動作概略 ...................436 8/16 ビット PPG タイマのブロックダイヤグラム ..........................................................................425 8/16 ビット PPG タイマのレジスタ一覧 ........... 427 8/16 ビット PPG タイマの割込み .......................439 PPG リロードレジスタ PPG リロードレジスタ (PRLL0 ∼ PRLL5,PRLH0 ∼ PRLH5) ..........435 PRLH PPG リロードレジスタ (PRLL0 ∼ PRLL5,PRLH0 ∼ PRLH5) ..........435 PRLL PPG リロードレジスタ (PRLL0 ∼ PRLL5,PRLH0 ∼ PRLH5) ..........435 PS プロセッサステータス (PS) ..................................39 PWC PWC 分周比制御レジスタ (DIVR) .....................385 PWCR PWC データバッファレジスタ (PWCR) ............384 PWCSR PWC コントロールステータスレジスタ (PWCSR) ..........................................................................379 PWC コントロールステータスレジスタ PWC コントロールステータスレジスタ (PWCSR) ..........................................................................379 PWC タイマ PWC タイマ動作概略 ...........................................386 PWC タイマの機能 ............................................... 376 PWC タイマの使用上の注意 ............................... 401 PWC タイマのブロックダイヤグラム ............... 377 PWC タイマのレジスタ一覧 ............................... 378 PWC データバッファレジスタ PWC データバッファレジスタ (PWCR) ............384 PWC 分周比制御レジスタ PWC 分周比制御レジスタ (DIVR) .....................385 709 R RAM RAM 領域 .................................................................28 RDR ポート 0,1 プルアップ抵抗レジスタ (RDR0,RDR1) ..........................................................................212 ROM ROM 領域 .................................................................28 ROMM ROMM(ROM ミラー機能選択レジスタ ) ..........571 ROM ミラー機能選択モジュール ROM ミラー機能選択モジュールの ブロックダイヤグラム ..................................570 ROM ミラー機能選択モジュールのレジスタ ..........................................................................570 ROM ミラー機能選択レジスタ ROMM(ROM ミラー機能選択レジスタ ) ..........571 RP レジスタバンクポインタ (RP) ..............................40 S S0 各種モードの設定ビット (S1,S0) .......................184 S1 各種モードの設定ビット (S1,S0) .......................184 SCR シリアル制御レジスタ 0 ∼ 3(SCR0 ∼ SCR3) ..........................................................................507 SDCR 通信プリスケーラ制御レジスタ (SDCR) ..........490 SDR シリアルデータレジスタ (SDR) .........................489 SETUP IN,OUT,SETUP トークン .....................................373 SIDR シリアル入力データレジスタ 0 ∼ 3 (SIDR0 ∼ SIDR3) ...........................................514 SLP STP,SLP,TMD ビットの優先順位 .......................155 SMCS シリアルモードコントロールステータスレジスタ (SMCS) .............................................................484 SMR シリアルモードレジスタ 0 ∼ 3(SMR0 ∼ SMR3) ..........................................................................509 SODR シリアル出力データレジスタ 0 ∼ 3 (SODR0 ∼ SODR3) ........................................515 SOF トークン SOF トークン ........................................................374 SOF 割込み SOF 割込み ............................................................365 SOF 割込み FRAME 比較レジスタ SOF 割込み FRAME 比較レジスタ (HFCOMP) ..........................................................................348 SSB バンクレジスタ (PCB, DTB, USB, SSB, ADB) ............................................................................43 710 SSP ユーザスタックポインタ (USP) とシステム スタックポインタ (SSP) ..................................38 SSR シリアルステータスレジスタ 0 ∼ 3 (SSR0 ∼ SSR3) ............................................... 511 STP STP,SLP,TMD ビットの優先順位 .......................155 T TBTC タイムベースタイマ制御レジスタ (TBTC) ...... 220 TCCS タイマコントロールステータスレジスタ (TCCS) ..........................................................................255 TCDT タイマカウンタデータレジスタ (TCDT) ..........255 TMCSR タイマ制御ステータスレジスタ 0 ∼ 2 (TMCSR0 ∼ TMCSR2) ..................................409 TMD STP,SLP,TMD ビットの優先順位 .......................155 TMR 16 ビットタイマレジスタ 0 ∼ 2 (TMR0 ∼ TMR2) ............................................ 413 16 ビットタイマレジスタ 0 ∼ 2(TMR0 ∼ TMR2)/ 16 ビットリロードレジスタ 0 ∼ 2 (TMRLR0 ∼ TMRLR2) ..................................413 TMRLR 16 ビットタイマレジスタ 0 ∼ 2(TMR0 ∼ TMR2)/ 16 ビットリロードレジスタ 0 ∼ 2 (TMRLR0 ∼ TMRLR2) ..................................413 16 ビットリロードレジスタ 0 ∼ 2 (TMRLR0 ∼ TMRLR2) ..................................414 TMSP タイムスタンプレジスタ (TMSP) ...................... 293 U UART UART 使用上の注意 ............................................ 541 UART の EI2OS 機能 ............................................ 519 UART の機能 .........................................................500 UART の端子 .........................................................505 UART の動作 .........................................................528 UART のプログラム例 ........................................ 542 UART のブロックダイヤグラム ........................ 502 UART のレジスタ一覧 ........................................ 506 UART の割込み ..................................................... 518 UART の割込みと EI2OS および μDMAC ......... 519 UART ボーレート選択 ........................................ 524 UART プリスケーラ制御レジスタ UART プリスケーラ制御レジスタ 0 ∼ 3 (UTCR0 ∼ UTCR3), UART プリスケーラリロードレジスタ 0 ∼ 3 (UTRLR0 ∼ UTRLR3) ................................... 516 UART プリスケーラリロードレジスタ UART プリスケーラ制御レジスタ 0 ∼ 3 (UTCR0 ∼ UTCR3), UART プリスケーラリロードレジスタ 0 ∼ 3 (UTRLR0 ∼ UTRLR3) ................................... 516 UDCC UDC 制御レジスタ (UDCC) ................................284 UDCIE UDC 割込み許可レジスタ (UDCIE) ...................297 UDCS UDC ステータスレジスタ (UDCS) .....................294 UDC ステータスレジスタ UDC ステータスレジスタ (UDCS) .....................294 UDC 制御レジスタ UDC 制御レジスタ (UDCC) ................................284 UDC 割込み許可レジスタ UDC 割込み許可レジスタ (UDCIE) ...................297 USB USB ホストの制限事項 ........................................331 相手先 USB 装置の転送速度の取得と クロック選択 ..................................................356 外部 USB 装置が非接続の状態 , 接続の状態 ......................................................356 外部 USB 装置の接続検出 ...................................356 バンクレジスタ (PCB, DTB, USB, SSB, ADB) ............................................................................43 USB バス USB バスのリセット前後の注意点 ....................358 USB ファンクション USB ファンクションの動作 ................................309 USB ファンクションの特長 ................................278 USB ファンクションのブロックダイヤグラム ..........................................................................279 USB ファンクションのレジスタ一覧 ................280 USB ホスト USB ホストの特長 ................................................330 USB ホストの動作 ................................................355 USB ホストのブロックダイヤグラム ................332 USB ホストのレジスタ ........................................334 USB 割込み USB 割込みの種類と機能 ..............................58, 642 USP ユーザスタックポインタ (USP) とシステム スタックポインタ (SSP) ..................................38 UTCR UART プリスケーラ制御レジスタ 0 ∼ 3 (UTCR0 ∼ UTCR3), UART プリスケーラリロードレジスタ 0 ∼ 3 (UTRLR0 ∼ UTRLR3) ...................................516 UTRLR UART プリスケーラ制御レジスタ 0 ∼ 3 (UTCR0 ∼ UTCR3), UART プリスケーラリロードレジスタ 0 ∼ 3 (UTRLR0 ∼ UTRLR3) ...................................516 W WDTC ウォッチドッグタイマ制御レジスタ (WDTC) ..........................................................................232 WTC 時計タイマ制御レジスタ (WTC) の構成 ...........244 あ アービトレーション アービトレーション ............................................ 562 相手先 USB 装置 相手先 USB 装置の転送速度の取得と クロック選択 ..................................................356 アウトプットコンペア アウトプットコンペアのブロックダイヤグラム ..........................................................................260 アウトプットコンペアのレジスタ一覧 ............259 アウトプットコンペアコントロールレジスタ アウトプットコンペアコントロールレジスタ (OCS0 ∼ OCS3) .............................................. 261 アウトプットコンペアレジスタ アウトプットコンペアレジスタ (OCCP0 ∼ OCCP3) .........................................260 アキュムレータ アキュムレータ (A) ................................................ 37 アクセスモード アクセスモード ....................................................182 アクセス領域 アクセス領域と物理アドレスの関係 ................ 185 アクノリッジ アクノリッジ ........................................................ 562 アドレス アドレス作成の方式 .............................................. 29 アドレス一致検出 アドレス一致検出機能のプログラム例 ............586 アドレス一致検出機能 アドレス一致検出機能の概要 ............................574 アドレス一致検出機能の動作 ............................581 アドレス一致検出機能のブロックダイヤグラム ..........................................................................575 アドレス一致検出機能のレジスタと 初期値の一覧 ..................................................576 修正プログラムを E2PROM に格納する場合の アドレス一致検出機能の動作 ...................... 584 アドレッシング アドレッシング ............................................561, 645 間接アドレッシング ............................................ 654 直接アドレッシング ............................................ 647 アナログ入力許可レジスタ アナログ入力許可レジスタ (ADER0,ADER1) ..........................................................................213 い 一時停止 フラッシュメモリのセクタ消去を一時停止 ..........................................................................611 イベントカウントモード イベントカウントモード .................................... 421 イベントカウントモード ( 外部クロックモード ) ..........................................................................405 インターバルタイマ インターバルタイマ機能 ( タイムベースタイマ ) の動作 .............................................................. 223 インターバルタイマ機能 インターバルタイマ機能 .................................... 216 インターバル割込み 時計タイマのインターバル割込み機能 ............246 711 インプットキャプチャ インプットキャプチャ .........................................264 インプットキャプチャの取込みタイミング例 ..........................................................................272 インプットキャプチャのブロックダイヤグラム ..........................................................................264 インプットキャプチャのレジスタ一覧 .............265 インプットキャプチャコントロールステータス レジスタ インプットキャプチャコントロールステータスレ ジスタ (ICS01,ICS23) .....................................266 インプットキャプチャデータレジスタ インプットキャプチャデータレジスタ (IPCP0 ∼ IPCP3) .............................................265 う ウェイクアップ ホストからウェイクアップ .................................322 ウォッチドッグタイマ ウォッチドッグタイマ機能 .................................230 ウォッチドッグタイマ使用上の注意 .................238 ウォッチドッグタイマのクロックソースの 指定機能 ..........................................................247 ウォッチドッグタイマの動作 .............................236 ウォッチドッグタイマのプログラム例 .............239 ウォッチドッグタイマのブロックダイヤグラム ..........................................................................234 ウォッチドッグタイマ制御レジスタ ウォッチドッグタイマ制御レジスタ (WDTC) ..........................................................................232 え エラーステータス エラーステータス .................................................367 お オペランド 24 ビットオペランド指定 ......................................30 か 外形寸法図 外形寸法図 (LQFP-120) ........................................8, 9 外部 16 ビットバス 外部 16 ビットバスモード ( 外部データバス 16 ビット / マルチプレクスモード ) ............197 外部 USB 装置 外部 USB 装置が非接続の状態 , 接続の状態 ......................................................356 外部 USB 装置の接続検出 ...................................356 外部アドレス出力制御レジスタ 外部アドレス出力制御レジスタ (HACR) ..........191 外部クロック イベントカウントモード ( 外部クロックモード ) ..........................................................................405 外部クロック (1 対 1 モード ) によるボーレート ..........................................................................527 712 外部クロックの専用ボーレートジェネレータに よるボーレート .............................................. 526 振動子と外部クロックの接続 ............................145 外部シフトクロック 外部シフトクロックモード ................................492 外部端子 各モードにおける外部端子の動作 .................... 187 外部データバス 16 ビット / マルチプレクス 外部 16 ビットバスモード ( 外部データバス 16 ビット / マルチプレクスモード ) ............197 外部バス 16 ビットデータバス 外部バス 16 ビットデータバスモードおよび ノンマルチプレクス 16 ビット外部バス モードの端子状態 .......................................... 173 外部バス 16 ビットデータバスモード 外部バス 16 ビットデータバスモードおよび マルチプレクス 16 ビット外部バスモードの 端子状態 .......................................................... 169 外部バス 8 ビットデータバス 外部バス 8 ビットデータバスモードおよび ノンマルチプレクス 8 ビット外部バスモード の端子状態 ......................................................175 外部バス 8 ビットデータバスモード 外部バス 8 ビットデータバスモードおよび マルチプレクス 8 ビット外部バスモードの 端子状態 .......................................................... 171 外部メモリ 外部メモリアクセス制御信号 ............................195 外部メモリアクセスの入出力信号端子 ............188 外部リセット端子 外部リセット端子のブロックダイヤグラム ..........................................................................124 外部割込み DTP/ 外部割込みの概要 .......................................442 DTP/ 外部割込みの動作手順 ............................... 448 DTP/ 外部割込みのブロックダイヤグラム ....... 442 DTP/ 外部割込みのレジスタ一覧 .......................443 外部割込みの動作 ................................................446 外部割込み要求レベル ........................................ 448 カウンタ動作 カウンタ動作の状態遷移 .................................... 416 カウンタ動作のモード ........................................ 406 測定モードとカウンタ動作 ................................397 カウントクロック カウントクロックと最大周期 ............................394 カウントクロックの選択 ............................389, 438 カウントタイミング フリーランタイマのカウントタイミング ........273 書込み 書込み / チップセクタ消去時 .....................601, 602 書込み動作時 ........................................................ 599 シリアルオンボード書込み基本構成 ................ 614 シリアル書込み接続例 ........................................ 618 富士通標準シリアルオンボード書込みに使用する 端子 .................................................................. 615 フラッシュメモリの書込み / 消去 .....................604 フラッシュメモリの書込み / 消去の方法 ......... 590 フラッシュメモリの書込み手順 ........................ 606 フラッシュメモリへのデータ書込み ................ 606 書込みタイミング リロードレジスタへの書込みタイミング ........440 拡張 I/O 拡張 I/O シリアルインタフェースの概要 ......... 482 拡張 I/O シリアルインタフェースの動作概要 ..........................................................................491 拡張 I/O シリアルインタフェースの ブロックダイヤグラム ..................................482 拡張 I/O シリアルインタフェースのレジスタ一覧 ..........................................................................483 拡張 I/O シリアルインタフェースの割込み機能 ..........................................................................497 拡張インテリジェント I/O サービス 拡張インテリジェント I/O サービス (EI2OS) ............................................................................80 拡張インテリジェント I/O サービス (EI2OS) 処理 時間 (1 回の転送時間 ) .....................................88 拡張インテリジェント I/O サービス (EI2OS) ステータスレジスタ (ISCS) ............................84 拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ (ISD) の構成 .........................82 拡張インテリジェント I/O サービス (EI2OS) の 使用手順 ............................................................87 拡張インテリジェント I/O サービス (EI2OS) の 処理手順 ............................................................86 拡張インテリジェント I/O サービス (EI2OS) の 動作 ....................................................................81 間接アドレッシング 間接アドレッシング .............................................654 き 起動プログラム 単発モードの EI2OS 起動プログラム例 ............472 停止モードの EI2OS 起動プログラム例 ............478 連続モードの EI2OS 起動プログラム例 ............475 キャプチャタイミング 入力信号に対するキャプチャタイミング .........275 く クリアタイミング フリーランタイマのクリアタイミング ( コンペアクリアレジスタとの一致 ) ..........273 クロック 相手先 USB 装置の転送速度の取得と クロック選択 ..................................................356 イベントカウントモード ( 外部クロックモード ) ..........................................................................405 外部クロックの専用ボーレートジェネレータに よるボーレート ..............................................526 クロック供給マップ .............................................133 クロックの概要 .....................................................132 振動子と外部クロックの接続 .............................145 内部クロックの専用ボーレートジェネレータに よるボーレート ..............................................525 内部クロックモード .............................................405 発振クロック周波数とシリアルクロック入力 周波数 ..............................................................616 クロック供給 クロック供給機能 .........................................217, 224 クロック供給マップ .............................................133 クロック選択レジスタ クロック選択レジスタ (CKSCR) の構成 ...........137 クロックソース ウォッチドッグタイマのクロックソースの 指定機能 .......................................................... 247 クロック発生部 クロック発生部のブロックダイヤグラム ........135 クロックモード クロックモード ....................................................149 クロックモードの移行 ........................................ 140 クロックモードの切替え .................................... 178 け 検出アドレス 検出アドレスの設定 ............................................ 581 こ コマンドシーケンス コマンドシーケンス表 ........................................ 595 コモン コモンレジスタバンクプリフィックス (CMR) .................................................................47 コンディションコード コンディションコードレジスタ (CCR) ............... 39 コンペアクリアレジスタ コンペアクリアレジスタ (CPCLR) .................... 254 フリーランタイマのクリアタイミング ( コンペアクリアレジスタとの一致 ) ......... 273 さ 再開 フラッシュメモリのセクタ消去を再開 ............612 再起動 再起動 ....................................................................391 最小限の接続例 フラッシュマイコンプログラマとの最小限の 接続例 ( ユーザ電源使用時 ) ........................ 621 最小入力パルス幅 最小入力パルス幅 ................................................398 最大周期 カウントクロックと最大周期 ............................394 サスペンド サスペンド処理 ....................................................321 サスペンド動作 サスペンド動作 ....................................................369 サブクロック サブクロックの発振安定時間待ち機能 ............247 サブクロックモード メインクロックモード ,PLL クロックモード , サブクロックモード ...................................... 140 し システム構成 システム構成と E2PROM のメモリ構成 ........... 582 システムスタックポインタ ユーザスタックポインタ (USP) とシステム スタックポインタ (SSP) ..................................38 実効アドレス 実効アドレスフィールド .................................... 663 713 実効アドレスフィールド 実効アドレスフィールド .....................................646 実行サイクル 実行サイクル数 .....................................................661 実行サイクル数計算方法 .....................................661 自動アルゴリズム 自動アルゴリズム終了タイミング .....................594 自動レディ機能選択レジスタ 自動レディ機能選択レジスタ (ARSR) ..............190 シフトクロック 外部シフトクロックモード .................................492 内部シフトクロックモード .................................492 シフト動作 シフト動作のスタート / ストップタイミングと 入出力のタイミング ......................................495 周期 タイマ周期 .............................................................394 周期カウント パルス幅 / 周期カウントの範囲 .........................399 周期算出方法 パルス幅 / 周期算出方法 .....................................399 修正プログラム 修正プログラムを E2PROM に格納する場合の アドレス一致検出機能の動作 ......................584 周辺装置 外部に接続する周辺装置の条件 .........................448 終了タイミング 自動アルゴリズム終了タイミング .....................594 受信割込み 受信割込み発生とフラグセットのタイミング ..........................................................................520 出力制御レジスタ PPG0 ∼ PPG5 出力制御レジスタ (PPG01/PPG23/PPG45) ...................................433 出力波形例 出力波形例 .............................................................270 消去 フラッシュメモリの書込み / 消去 .....................604 フラッシュメモリの書込み / 消去の方法 .........590 フラッシュメモリの全データを消去 ( チップ消去 ) ..................................................608 フラッシュメモリの任意のデータを消去 ( セクタ消去 ) ..................................................609 状態遷移 カウンタ動作の状態遷移 .....................................416 セクタ消去タイマフラグ (DQ3) の状態遷移 ..........................................................................603 タイミングリミット超過フラグ (DQ5) の 状態遷移 ..........................................................602 データポーリングフラグ (DQ7) の状態遷移 ..........................................................................599 トグルビットフラグ (DQ6) の状態遷移 ............601 状態遷移図 状態遷移図 .............................................................166 消費電流 CPU 動作モードと消費電流 ................................148 初期値 アドレス一致検出機能のレジスタと 初期値の一覧 ..................................................576 ハードウェアコンポーネントの初期値 .............439 処理時間 ハードウェア割込み処理時間 ...............................76 714 シリアル I/O シリアル I/O の動作状態 .....................................493 シリアルインタフェース 拡張 I/O シリアルインタフェースの概要 ......... 482 拡張 I/O シリアルインタフェースの動作概要 ..........................................................................491 拡張 I/O シリアルインタフェースの ブロックダイヤグラム ..................................482 拡張 I/O シリアルインタフェースのレジスタ一覧 ..........................................................................483 拡張 I/O シリアルインタフェースの割込み機能 ..........................................................................497 シリアルオンボード シリアルオンボード書込み基本構成 ................ 614 富士通標準シリアルオンボード書込みに使用する 端子 .................................................................. 615 シリアル書込み シリアル書込み接続例 ........................................ 618 シリアル書込み接続 富士通マイクロエレクトロニクス製シリアル プログラマ ......................................................624 シリアルクロック 発振クロック周波数とシリアルクロック入力 周波数 .............................................................. 616 シリアル出力データレジスタ シリアル出力データレジスタ 0 ∼ 3 (SODR0 ∼ SODR3) ........................................ 515 シリアルステータスレジスタ シリアルステータスレジスタ 0 ∼ 3 (SSR0 ∼ SSR3) ............................................... 511 シリアル制御レジスタ シリアル制御レジスタ 0 ∼ 3(SCR0 ∼ SCR3) ..........................................................................507 シリアルデータ シリアルデータ転送中の動作 ............................496 シリアルデータレジスタ シリアルデータレジスタ (SDR) .........................489 シリアル入力データレジスタ シリアル入力データレジスタ 0 ∼ 3 (SIDR0 ∼ SIDR3) ...........................................514 シリアルモードコントロールステータスレジスタ シリアルモードコントロールステータスレジスタ (SMCS) .............................................................484 シリアルモードレジスタ シリアルモードレジスタ 0 ∼ 3(SMR0 ∼ SMR3) ..........................................................................509 シングルチップモード シングルチップモード時の接続例 ( ユーザ電源使用時 ) .....................................619 シングルチップモード時の端子状態 ................ 168 振動子 振動子と外部クロックの接続 ............................145 す 推奨例 モード端子とモードデータの関係 ( 推奨例 ) ..........................................................................186 スタート / ストップタイミング シフト動作のスタート / ストップタイミングと 入出力のタイミング ...................................... 495 スタートコンディション スタートコンディション .....................................561 スタック スタック領域 .........................................................111 割込み処理開始時のスタック動作 .....................110 割込み処理復帰時のスタック動作 .....................110 スタンバイモード スタンバイモード .................................................149 スタンバイモード時の動作状態 .........................157 スタンバイモードの割込みによる解除 .............177 スタンバイモードへの移行と割込み .................177 ステータスレジスタ 拡張インテリジェント I/O サービス (EI2OS) ステータスレジスタ (ISCS) ............................84 ストップコンディション ストップコンディション .....................................561 ストップモード ストップモードの解除 .........................................164 ストップモードへの移行 .....................................164 スリープモード スリープモードの解除 .........................................159 スリープモードへの移行 .....................................158 せ 制限事項 USB ホストの制限事項 ........................................331 セクタ セクタ消去一時停止時 .........................599, 601, 603 セクタ消去動作時 .................................................603 チップ / セクタ消去動作時 .................................599 セクタ構成 セクタ構成 .............................................................591 セクタ消去 セクタ消去の手順 .................................................609 フラッシュメモリのセクタ消去を一時停止 ..........................................................................611 フラッシュメモリのセクタ消去を再開 .............612 フラッシュメモリの任意のデータを消去 ( セクタ消去 ) ..................................................609 セクタ消去タイマフラグ セクタ消去タイマフラグ (DQ3) の状態遷移 ..........................................................................603 接続 外部 USB 装置が非接続の状態 , 接続の状態 ..........................................................................356 接続検出 外部 USB 装置の接続検出 ...................................356 接続例 シリアル書込み接続例 .........................................618 シングルチップモード時の接続例 ( ユーザ電源使用時 ) ......................................619 フラッシュマイコンプログラマとの最小限の 接続例 ( ユーザ電源使用時 ) .........................621 設定ビット 各種モードの設定ビット (S1,S0) .......................184 バスモードの設定ビット (M1,M0) .....................185 専用ボーレートジェネレータ 外部クロックの専用ボーレートジェネレータに よるボーレート ..............................................526 内部クロックの専用ボーレートジェネレータに よるボーレート ..............................................525 専用レジスタ 専用レジスタ .......................................................... 34 そ 送信割込み 送信割込み発生とフラグセットのタイミング ..........................................................................522 双方向通信 双方向通信機能 ....................................................536 測定結果 測定結果のデータ ................................................396 測定モード 測定モードとカウンタ動作 ................................397 ソフトウェア割込み ソフトウェア割込みからの復帰 .......................... 78 ソフトウェア割込みに関する注意事項 ..............79 ソフトウェア割込みの起動 ..................................78 ソフトウェア割込みの動作 ..................................79 た タイマ タイマ / パルス幅測定の起動と停止 ................. 391 タイマ周期 ............................................................ 394 タイマのクリア ....................................................393 タイマの動作フロー ............................................ 395 タイマカウンタデータレジスタ タイマカウンタデータレジスタ (TCDT) ..........255 タイマ機能 タイマ機能の動作 ................................................387 発振安定待ち時間用タイマ機能 ........................ 223 タイマコントロールステータスレジスタ タイマコントロールステータスレジスタ (TCCS) ..........................................................................255 タイマ制御ステータスレジスタ タイマ制御ステータスレジスタ 0 ∼ 2 (TMCSR0 ∼ TMCSR2) ..................................409 タイマ値 タイマ値とリロード値 ........................................ 393 タイマレジスタ 16 ビットタイマレジスタ 0 ∼ 2 (TMR0 ∼ TMR2) ............................................ 413 タイミングリミット超過フラグ タイミングリミット超過フラグ (DQ5) の 状態遷移 .......................................................... 602 タイムスタンプレジスタ タイムスタンプレジスタ (TMSP) ...................... 293 タイムベースタイマ インターバルタイマ機能 ( タイムベースタイマ ) の動作 .............................................................. 223 タイムベースタイマ使用上の注意 .................... 225 タイムベースタイマの動作 ................................225 タイムベースタイマのプログラム例 ................ 227 タイムベースタイマのブロックダイヤグラム ..........................................................................218 タイムベースタイマの割込み ............................222 タイムベースタイマの割込みと EI2OS,μDMAC ..........................................................................222 タイムベースタイマ制御レジスタ タイムベースタイマ制御レジスタ (TBTC) ...... 220 715 タイムベースタイマモード タイムベースタイマモードの解除 .....................160 タイムベースタイマモードへの移行 .................160 ダイレクトページレジスタ ダイレクトページレジスタ (DPR)< 初期値 :01H> ............................................................................44 多重割込み 多重割込み動作 .......................................................74 多重割込みの例 .......................................................74 多バイト長 多バイト長データのアクセス ...............................33 メモリ空間における多バイト長データの 配置 ....................................................................33 端子 端子機能 ...................................................................11 端子状態 シングルチップモード時の端子状態 .................168 端子配列図 端子配列図 (LQFP-120) ..........................................10 単発測定 単発測定と連続測定 .............................................396 単発変換 単発変換モードの動作 .........................................465 単発モード 単発モードの EI2OS 起動プログラム例 ............472 ち 遅延割込み発生モジュール 遅延割込み発生モジュールの使用上の注意 ( 遅延割込み要求ラッチ ) ..............................117 遅延割込み発生モジュールの動作 .....................117 遅延割込み発生モジュールの ブロックダイヤグラム ..................................116 遅延割込み発生モジュールのレジスタ一覧 ..........................................................................116 遅延割込み要求ラッチ 遅延割込み発生モジュールの使用上の注意 ( 遅延割込み要求ラッチ ) ..............................117 チップ チップ / セクタ消去動作時 .................................599 チップ消去 フラッシュメモリの全データを消去 ( チップ消去 ) ..................................................608 チップセクタ 書込み / チップセクタ消去時 .....................601, 602 注意事項 スタンバイモード遷移のための低消費電力モード 制御レジスタ (LPCMR) へアクセスする際の 注意事項 ..........................................................179 直接アドレッシング 直接アドレッシング .............................................647 つ 通信プリスケーラ制御レジスタ 通信プリスケーラ制御レジスタ (SDCR) ..........490 て 停止 停止 ........................................................................392 停止変換 停止変換モードの動作 ........................................ 466 停止モード 停止モードの EI2OS 起動プログラム例 ............478 低消費電力制御回路 低消費電力制御回路のブロックダイヤグラム ..........................................................................151 低消費電力モード 低消費電力モードの動作状態 ............................167 低消費電力モード制御レジスタ 低消費電力モード制御レジスタ (LPMCR) ....... 153 低消費電力モード制御レジスタへのアクセス ..........................................................................155 ディスクリプタ DMA ディスクリプタの各レジスタ .................. 101 拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ (ISD) の構成 .........................82 逓倍率 PLL クロック逓倍率の選択 ................................141 データカウンタ データカウンタ (DCT) ...........................................83 データ数自動転送モード データ数自動転送モード .................................... 324 データパケット データパケット ....................................................362 データバス 外部バス 16 ビットデータバスモードおよび ノンマルチプレクス 16 ビット外部バス モードの端子状態 .......................................... 173 外部バス 16 ビットデータバスモードおよび マルチプレクス 16 ビット外部バスモードの 端子状態 .......................................................... 169 外部バス 8 ビットデータバスモードおよび ノンマルチプレクス 8 ビット外部バスモード の端子状態 ......................................................175 外部バス 8 ビットデータバスモードおよび マルチプレクス 8 ビット外部バスモードの 端子状態 .......................................................... 171 データポーリングフラグ データポーリングフラグ (DQ7) の状態遷移 ..........................................................................599 デバイス デバイス使用上の注意 .......................................... 21 デバイスの切断 ....................................................372 転送時間 拡張インテリジェント I/O サービス (EI2OS) 処理 時間 (1 回の転送時間 ) ....................................88 転送速度 相手先 USB 装置の転送速度の取得と クロック選択 ..................................................356 転送モード NULL 転送モード ................................................. 327 パケット転送モード ............................................ 323 と 同期モード 同期モード ( 動作モード 2) 時の動作 ................ 533 716 動作状態 シリアル I/O の動作状態 .....................................493 設定と動作状態 .....................................................583 低消費電力モードの動作状態 .............................167 動作状態の確認 .....................................................392 動作モード 16 ビットリロードタイマの動作モード ............405 CPU 動作モードと消費電流 ................................148 同期モード ( 動作モード 2) 時の動作 ................533 動作モード .....................................................182, 436 動作モードの選択 .................................................390 動作モード制御レジスタ PPG0/PPG2/PPG4 動作モード制御レジスタ (PPGC0/PPGC2/PPGC4) .................................428 PPG1/PPG3/PPG5 動作モード制御レジスタ (PPGC1/PPGC3/PPGC5) .................................430 トークン IN,OUT,SETUP トークン .....................................373 SOF トークン ........................................................374 トークンパケット トークンパケットの設定 .....................................359 トグルビットフラグ トグルビットフラグ (DQ6) の状態遷移 ............601 時計カウンタ 時計カウンタ .........................................................246 時計タイマ 時計タイマのインターバル割込み機能 .............246 時計タイマの機能 .................................................242 時計タイマのブロックダイヤグラム .................243 時計タイマ制御レジスタ 時計タイマ制御レジスタ (WTC) の構成 ...........244 時計モード 時計モードの解除 .................................................162 時計モードへの遷移 .............................................162 な 内部クロック 内部クロックの専用ボーレートジェネレータに よるボーレート ..............................................525 内部クロックモード .............................................405 内部クロックモード ( リロードモード ) の動作 ..........................................................................417 内部クロックモード ( ワンショットモード ) ..........................................................................419 内部シフトクロック 内部シフトクロックモード .................................492 に 入出力回路形式 入出力回路形式 .......................................................18 入出力タイマ 16 ビット入出力タイマの構成および機能 ........250 16 ビット入出力タイマの動作 , タイミング ..........................................................................268 16 ビット入出力タイマのレジスタ構成 ............252 入出力のタイミング シフト動作のスタート / ストップタイミングと 入出力のタイミング ......................................495 の ノンマルチプレクス 外部バス 16 ビットデータバスモードおよび ノンマルチプレクス 16 ビット外部バス モードの端子状態 .......................................... 173 外部バス 8 ビットデータバスモードおよび ノンマルチプレクス 8 ビット外部バスモード の端子状態 ......................................................175 ノンマルチプレクスモード ................................202 は ハードウェアコンポーネント ハードウェアコンポーネントの初期値 ............439 ハードウェアシーケンスフラグ ハードウェアシーケンスフラグ ........................ 597 ハードウェア割込み ハードウェア割込みからの復帰 .......................... 69 ハードウェア割込み処理時間 ..............................76 ハードウェア割込みの起動 ..................................69 ハードウェア割込みの機能 ..................................66 ハードウェア割込みの構造 ..................................67 ハードウェア割込みの使用手順 .......................... 72 ハードウェア割込みの動作 ..................................70 ハードウェア割込みの動作フロー ...................... 71 ハードウェア割込み抑止 ...................................... 67 パケット パケット転送モード ............................................ 323 パケット終了 パケット終了タイミング .................................... 368 バスエラー バスエラー ............................................................ 562 バス制御信号選択レジスタ バス制御信号選択レジスタ (EPCR) ...................192 バスモード バスモード ............................................................ 182 バスモードの設定ビット (M1,M0) .....................185 発振安定時間 サブクロックの発振安定時間待ち機能 ............247 発振安定待ち 発振安定待ち時間用タイマ機能 ........................ 223 発振安定待ちリセット状態 ................................123 発振安定待ち時間 発振安定待ち時間 ........................................144, 178 リセット要因と発振安定待ち時間 .................... 122 発振クロック 発振クロック周波数とシリアルクロック入力 周波数 .............................................................. 616 パッチ処理 プログラム修正のパッチ処理フロー ................ 585 バッファアドレスポインタ バッファアドレスポインタ (BAP) .......................84 パルス パルスの端子出力制御 ........................................ 438 パルス幅 最小入力パルス幅 ................................................398 パルス幅 / 周期カウントの範囲 .........................399 パルス幅 / 周期算出方法 .....................................399 リロード値とパルス幅の関係 ............................437 パルス幅測定 タイマ / パルス幅測定の起動と停止 ................. 391 717 パルス幅測定機能の動作 .....................................388 パルス幅測定の動作フロー .................................400 バンクセレクトプリフィックス バンクセレクトプリフィックス ...........................46 バンク方式 バンク方式によるアドレス指定 ...........................31 バンクレジスタ バンクレジスタ (PCB, DTB, USB, SSB, ADB) ............................................................................43 ハンドシェークパケット ハンドシェークパケット .....................................363 汎用レジスタ 汎用レジスタ ...........................................................36 ひ 非接続 外部 USB 装置が非接続の状態 , 接続の状態 ......................................................356 非同期モード 非同期モード時の動作 .........................................530 品種 品種構成 .....................................................................4 ふ 富士通標準 富士通標準シリアルオンボード書込みに使用する 端子 ..................................................................615 復帰 ソフトウェア割込みからの復帰 ...........................78 ハードウェア割込みからの復帰 ...........................69 物理アドレス アクセス領域と物理アドレスの関係 .................185 フラグ フラグ変化抑止プリフィックス (NCC) ...............47 フラグセット 受信割込み発生とフラグセットのタイミング ..........................................................................520 送信割込み発生とフラグセットのタイミング ..........................................................................522 フラッシュマイコンプログラマ フラッシュマイコンプログラマとの最小限の 接続例 ( ユーザ電源使用時 ) .........................621 フラッシュマイコンプログラマシステム フラッシュマイコンプログラマシステム .........617 フラッシュメモリ フラッシュメモリの書込み / 消去 .....................604 フラッシュメモリの書込み / 消去の方法 .........590 フラッシュメモリの書込み手順 .........................606 フラッシュメモリのセクタ消去を一時停止 ..........................................................................611 フラッシュメモリのセクタ消去を再開 .............612 フラッシュメモリの全データを消去 ( チップ消去 ) ..................................................608 フラッシュメモリの特長 .....................................590 フラッシュメモリの任意のデータを消去 ( セクタ消去 ) ..................................................609 フラッシュメモリの容量と品種 .........................590 フラッシュメモリへのデータ書込み .................606 フラッシュメモリを読出し / リセット状態にする ..........................................................................605 718 フラッシュメモリコントロールステータスレジスタ フラッシュメモリコントロールステータス レジスタ (FMCS) ............................................ 593 フリーランタイマ 16 ビットフリーランタイマの動作 ...................269 16 ビットフリーランタイマのブロック ダイヤグラム ..................................................254 16 ビットフリーランタイマのレジスタ一覧 ..........................................................................253 フリーランタイマのカウントタイミング ........273 フリーランタイマのクリアタイミング ( コンペアクリアレジスタとの一致 ) ......... 273 プリフィックス 割込み抑止命令とプリフィックス命令に関する 制約 .................................................................... 49 プリフィックスコード プリフィックスコードが連続している場合 ...... 49 プログラムアドレス検出制御ステータスレジスタ プログラムアドレス検出制御ステータスレジスタ (PACSR) ...........................................................577 プログラムアドレス検出レジスタ プログラムアドレス検出レジスタ (PADR0H,PADR0M,PADR0L,PADR1H, PADR1M, PADR1L) ...............................579, 580 プログラムカウンタ プログラムカウンタ (PC) ...................................... 42 プログラム修正 プログラム修正のパッチ処理フロー ................ 585 プログラムの実行 プログラムの実行 ................................................581 プログラム例 UART のプログラム例 ........................................ 542 アドレス一致検出機能のプログラム例 ............586 ウォッチドッグタイマのプログラム例 ............239 タイムベースタイマのプログラム例 ................ 227 割込み処理のプログラム例 ................................112 プロセッサステータス プロセッサステータス (PS) ..................................39 ブロックダイヤグラム 16 ビットフリーランタイマの ブロックダイヤグラム ..................................254 16 ビットリロードタイマの ブロックダイヤグラム ..................................407 8/10 ビット A/D コンバータの ブロックダイヤグラム ..................................453 8/16 ビット PPG タイマのブロックダイヤグラム ..........................................................................425 DTP/ 外部割込みのブロックダイヤグラム ....... 442 I2C インタフェースのブロックダイヤグラム ..........................................................................547 MB90330A シリーズのブロックダイヤグラム ..............................................................................6 PWC タイマのブロックダイヤグラム ............... 377 ROM ミラー機能選択モジュールの ブロックダイヤグラム ..................................570 UART のブロックダイヤグラム ........................ 502 USB ファンクションのブロックダイヤグラム ..........................................................................279 USB ホストのブロックダイヤグラム ................ 332 アウトプットコンペアのブロックダイヤグラム ..........................................................................260 アドレス一致検出機能のブロックダイヤグラム ..........................................................................575 インプットキャプチャのブロックダイヤグラム ..........................................................................264 ウォッチドッグタイマのブロックダイヤグラム ..........................................................................234 外部リセット端子のブロックダイヤグラム ..........................................................................124 拡張 I/O シリアルインタフェースの ブロックダイヤグラム ..................................482 クロック発生部のブロックダイヤグラム .........135 タイムベースタイマのブロックダイヤグラム ..........................................................................218 遅延割込み発生モジュールの ブロックダイヤグラム ..................................116 低消費電力制御回路のブロックダイヤグラム ..........................................................................151 時計タイマのブロックダイヤグラム .................243 ブロックダイヤグラム .................................188, 251 へ 変化タイミング 出力端子の変化タイミング .................................274 変換動作 μDMAC または EI2OS を使用した変換動作 ..........................................................................468 ほ ポート 0 ポート 0,1 プルアップ抵抗レジスタ (RDR0,RDR1) ..........................................................................212 ポート 0 プルアップ抵抗レジスタ ポート 0,1 プルアップ抵抗レジスタ (RDR0,RDR1) ..........................................................................212 ポート 1 ポート 0,1 プルアップ抵抗レジスタ (RDR0,RDR1) ..........................................................................212 ポート 1 プルアップ抵抗レジスタ ポート 0,1 プルアップ抵抗レジスタ (RDR0,RDR1) ..........................................................................212 ポート 4 ポート 4 出力端子レジスタ (ODR4) ..................212 ポート 4 出力端子レジスタ ポート 4 出力端子レジスタ (ODR4) ..................212 ポートデータレジスタ ポートデータレジスタ (PDR0 ∼ PDRB) ...........208 ポート方向レジスタ ポート方向レジスタ (DDR0 ∼ DDRB) .............210 ホールド機能 ホールド機能の動作 .............................................201 ボーレート UART ボーレート選択 .........................................524 外部クロック (1 対 1 モード ) によるボーレート ..........................................................................527 外部クロックの専用ボーレートジェネレータに よるボーレート ..............................................526 内部クロックの専用ボーレートジェネレータに よるボーレート ..............................................525 ボーレートジェネレータ 外部クロックの専用ボーレートジェネレータに よるボーレート ..............................................526 内部クロックの専用ボーレートジェネレータに よるボーレート .............................................. 525 保護機能 A/D 変換データ保護機能 .................................... 469 ホスト USB ホストの特長 ................................................330 USB ホストのブロックダイヤグラム ................ 332 USB ホストの制限事項 ........................................ 331 USB ホストの動作 ................................................355 USB ホストのレジスタ ........................................ 334 ホストからウェイクアップ ................................322 ホスト機能の設定 ................................................356 ホストアドレスレジスタ ホストアドレスレジスタ (HADR) .....................350 ホストエラーステータスレジスタ ホストエラーステータスレジスタ (HERR) ...... 344 ホストコントロールレジスタ ホストコントロールレジスタ 0,1(HCNT0/HCNT1) ..........................................................................337 ホスト状態ステータスレジスタ ホスト状態ステータスレジスタ (HSTATE) ..........................................................................346 ホストトークンエンドポイントレジスタ ホストトークンエンドポイントレジスタ (HTOKEN) ....................................................... 353 ホスト割込みレジスタ ホスト割込みレジスタ (HIRQ) ........................... 341 ま マシンクロック マシンクロック ....................................................141 マスタ / スレーブ型通信 マスタ / スレーブ型通信機能 ............................. 538 マルチプレクス 外部 16 ビットバスモード ( 外部データバス 16 ビット / マルチプレクスモード ) ............197 外部バス 16 ビットデータバスモードおよび マルチプレクス 16 ビット外部バスモードの 端子状態 .......................................................... 169 外部バス 8 ビットデータバスモードおよび マルチプレクス 8 ビット外部バスモードの 端子状態 .......................................................... 171 マルチプレクスモード ........................................ 202 み 未定義命令 未定義命令の実行 ................................................109 未定義命令の実行による例外発生 .................... 109 め 命令 未定義命令の実行 ................................................109 未定義命令の実行による例外発生 .................... 109 命令の種類 ............................................................ 644 命令マップの構造 ................................................682 命令一覧表 F2MC-16LX 命令一覧表 .......................................668 719 メインクロックモード メインクロックモード ,PLL クロックモード , サブクロックモード ......................................140 メモリ空間 CPU メモリ空間の概要 ..........................................27 メモリ空間 .............................................................630 メモリ空間における多バイト長データの 配置 ....................................................................33 メモリ構成 システム構成と E2PROM のメモリ構成 ...........582 メモリマップ E2PROM のメモリマップ ....................................582 も モード 外部バス 8 ビットデータバスモードおよび ノンマルチプレクス 8 ビット外部バスモード の端子状態 ......................................................175 モード設定 モード設定 .............................................................182 モード端子 モード端子 .............................................................125 モード端子 (MD2 ∼ MD0) の設定 .....................183 モード端子とモードデータの関係 ( 推奨例 ) ..........................................................................186 モードデータ モード端子とモードデータの関係 ( 推奨例 ) ..........................................................................186 モードデータ .........................................................184 モードデータ読出し後の端子の状態 .................129 モードの種類 モードの種類 .........................................................194 モードフェッチ モードフェッチ .....................................................126 ゆ ユーザスタックポインタ ユーザスタックポインタ (USP) とシステム スタックポインタ (SSP) ..................................38 ユーザ電源使用時 シングルチップモード時の接続例 ( ユーザ電源使用時 ) ......................................619 フラッシュマイコンプログラマとの最小限の 接続例 ( ユーザ電源使用時 ) .........................621 優先順位 STP,SLP,TMD ビットの優先順位 .......................155 よ 要求レベル設定レジスタ 要求レベル設定レジスタ (ELVR:External Level Register) ......................444 読出し フラッシュメモリを読出し / リセット状態にする ..........................................................................605 ら ライトコマンド ライトコマンド応答時の各レジスタ動作 ........315 り リードコマンド リードコマンド応答時の各レジスタ動作 ........314 リセット USB バスのリセット前後の注意点 .................... 358 外部リセット端子のブロックダイヤグラム ..........................................................................124 発振安定待ちリセット状態 ................................123 フラッシュメモリを読出し / リセット状態にする ..........................................................................605 リセット中の端子の状態 .................................... 129 リセット動作 リセット動作の概要 ............................................ 125 リセット要因 リセット要因 ........................................................ 120 リセット要因と発振安定待ち時間 .................... 122 リセット要因ビット ............................................ 127 リセット要因ビットとリセット要因の対応 ..........................................................................128 リセット要因ビットの注意事項 ........................ 128 リトライ リトライ機能 ........................................................ 364 リトライタイマ設定レジスタ リトライタイマ設定レジスタ (HRTIMER) ....... 349 リモートウェイクアップ リモートウェイクアップ .................................... 322 リロードタイマ 16 ビットリロードタイマの概要 .......................404 16 ビットリロードタイマの設定 .......................415 16 ビットリロードタイマの動作モード ........... 405 16 ビットリロードタイマの ブロックダイヤグラム ..................................407 16 ビットリロードタイマレジスタ一覧 ........... 408 リロード値 タイマ値とリロード値 ........................................ 393 リロード値とパルス幅の関係 ............................437 リロード動作 リロード動作モード ............................................ 393 リロードモード 内部クロックモード ( リロードモード ) の動作 ..........................................................................417 リロードレジスタ 16 ビットタイマレジスタ 0 ∼ 2(TMR0 ∼ TMR2)/ 16 ビットリロードレジスタ 0 ∼ 2 (TMRLR0 ∼ TMRLR2) ..................................413 16 ビットリロードレジスタ 0 ∼ 2 (TMRLR0 ∼ TMRLR2) ..................................414 リロードレジスタへの書込みタイミング ........440 れ 例外処理割込み 例外処理割込み ......................................................91 例外発生 未定義命令の実行による例外発生 .................... 109 720 レジスタバンク レジスタバンク .......................................................45 レジスタバンクポインタ (RP) ..............................40 レジューム動作 レジューム動作 .....................................................369 レディ機能 レディ機能 .............................................................198 連続測定 単発測定と連続測定 .............................................396 連続変換 連続変換モードの動作 .........................................466 連続モード 連続モードの EI2OS 起動プログラム例 ............475 わ 割込み 8/16 ビット PPG タイマの割込み .......................439 DTP/ 外部割込みの概要 .......................................442 DTP/ 外部割込みの動作手順 ...............................448 DTP/ 外部割込みのブロックダイヤグラム .......442 SOF 割込み ............................................................365 UART の割込み .....................................................518 UART の割込みと EI2OS および μDMAC .........519 USB 割込みの種類と機能 ......................................58 外部割込みの動作 .................................................446 外部割込み要求レベル .........................................448 拡張 I/O シリアルインタフェースの割込み機能 ..........................................................................497 受信割込み発生とフラグセットのタイミング ..........................................................................520 スタンバイモードの割込みによる解除 .............177 スタンバイモードへの移行と割込み .................177 送信割込み発生とフラグセットのタイミング ..........................................................................522 ソフトウェア割込みからの復帰 ...........................78 ソフトウェア割込みに関する注意事項 ...............79 ソフトウェア割込みの起動 ...................................78 ソフトウェア割込みの動作 ...................................79 タイムベースタイマの割込み .............................222 タイムベースタイマの割込みと EI2OS,μDMAC ..........................................................................222 多重割込み動作 .......................................................74 多重割込みの例 .......................................................74 時計タイマのインターバル割込み機能 .............246 ハードウェア割込みからの復帰 ...........................69 ハードウェア割込み処理時間 ...............................76 ハードウェア割込みの起動 ...................................69 ハードウェア割込みの機能 ...................................66 ハードウェア割込みの構造 ..................................67 ハードウェア割込みの使用手順 .......................... 72 ハードウェア割込みの動作 ..................................70 ハードウェア割込みの動作フロー ...................... 71 ハードウェア割込み抑止 ...................................... 67 例外処理割込み ......................................................91 割込み処理開始時のスタック動作 .................... 110 割込み処理のプログラム例 ................................112 割込み処理復帰時のスタック動作 .................... 110 割込みタイミング ................................................274 割込みの種類と機能 .............................................. 52 割込み発生要求 ....................................................393 割込み要因と割込みベクタ , 割込み制御レジスタ ..........................................................................641 割込み要求発生 ....................................................399 割込みレベルマスクレジスタ (ILM) ................... 40 割込み制御レジスタ 割込み制御レジスタ (ICR) の構成 .......................63 割込み制御レジスタ (ICR00 ∼ ICR15) ............... 61 割込み制御レジスタ一覧 ...................................... 59 割込み制御レジスタの機能 ............................60, 64 割込み要因と割込みベクタ , 割込み制御レジスタ ..........................................................................641 割込み要因と割込みベクタ / 割込み制御レジスタ ............................................................................56 割込みベクタ 割込みベクタ .......................................................... 55 割込み要因と割込みベクタ , 割込み制御レジスタ ..........................................................................641 割込み要因と割込みベクタ / 割込み制御レジスタ ............................................................................56 割込み要因 割込み要因と割込みベクタ , 割込み制御レジスタ ..........................................................................641 割込み要因と割込みベクタ / 割込み制御レジスタ ............................................................................56 割込み要求 外部割込み要求レベル ........................................ 448 割込み抑止 ハードウェア割込み抑止 ...................................... 67 割込み抑止命令 ......................................................49 割込み抑止命令とプリフィックス命令に関する 制約 .................................................................... 49 ワンショット動作 ワンショット動作モード .................................... 393 ワンショットモード 内部クロックモード ( ワンショットモード ) ..........................................................................419 721 722 CM44-10129-6 富士通マイクロエレクトロニクス • CONTROLLER MANUAL F2MC®-16LX 16 ビット・マイクロコントローラ MB90330A Series ハードウェアマニュアル 2009 年 10 月 第 6 版発行 発行 富士通マイクロエレクトロニクス株式会社 編集 マーケティング統括部 プロモーション推進部